This previous question discussed differences between a CP and CPS.

According to the RFC:

The main differences between CPs and CPSs can therefore be summarized as follows:

(a) A PKI uses a CP to establish requirements that state what participants within it must do. A single CA or organization can use a CPS to disclose how it meets the requirements of a CP or how it implements its practices and controls.

As such, a CP sets requirements and a CPS is demonstrates how these requirements are met. Certificates have CPs specified as OIDs in the proper certificate extension. Every CP should have a CPS demonstrating how the CA satisfies a particular CP. Also, according to the RFC, CPs are basis for third-party CA audits.

Given all this, does it make any sense to have a CPS and no CP?

This question when building an internal PKI. A natural step is writing a CPS, but reading the RFC leads to realization that the CPS is basically demonstrating CP enforcement. Is a CP needed?


Your other question seems to suggest that a CA writes the CP, but this isn't the case.

A CP is written by the authority responsible for the PKI as a whole - usually called the PKI Management Authority (PMA). It is the PMA that owns the trust relationships between the entities within the PKI and it is the PMA which therefore does everything it can to ensure that trust isn't lost. As part of this it sets down rules (policies) which any Certification Authority has to follow if it is to be part of the PKI.

Once the PMA has written the CP, any Certification Authorities that hopes to issue certificates on behalf of that PMA must design the CA in line with the CP. Once that's done it must write a Certification Practice Statement that demonstrates how it is following the CP. Note that a well written CP will have audit policies that allow CAs to be checked for amongst other things, CP compliance.

A CPS without a CP is pointless. Without a CP the content of the CPS could be absolutely anything and it wouldn't be breaking any policies.

For example, section 6.2 covers the protection of private keys. Without a CP your CPS could say something to the effect of:

the Root CA private key is held on a USB stick stored in the stationary cupboard

The statement is irresponsible; but it doesn't break any laws, or policies.

However, if your management deem the above unacceptable and that the private key should be stored in a FIPS-140-2 Level 3 Hardware Security Module, then that what should be in section 6.2 of your CP. Once that's there, the previous CPS statement breaks policy and isn't acceptable. Attempting to submit a CPS with the above statement would result in rejection by the PMA and consequently the CA wouldn't be allowed to join the PKI.

It may be tempting to only write a CPS and submit it for review by either peers or management.

If your CPS is returned without any comments and accepted, you have to ask yourself whether the reviewers know their subject, or whether you've over engineered your CA thereby wasting time and money.

If your CPS is returned with comments (maybe suggesting how the private key should be stored amongst other things?) then these comments are the beginning of a CP. However, instead of many iterations of this review process and maybe heated discussions/arguments/firings, it would be much simpler if a senior authority (the PMA?) writes down the rules of running the PKI which all CAs must follow. In the long run, a CP will make the process of writing a CPS much simpler - after all, all the subjects need to be discussed at some point, so do it before designing your CA.

Finally, remember that there is only one CP covering all the authorities (CAs, RAs, VAs) in the PKI. Each CA (and possibly RA and VA if they're separate entities to the CA) writes a CPS to state how they're following policies.

As a minimum, Acme Inc will have a single Acme CP (written by the PMA), followed by the Acme Root CA CPS (written by the operators of the Root CA) and the Acme Issuing CA CPS (written by the Issuing CA operators).

  • thanks for a great answer! just one comment. >If your CPS is returned without any comments and accepted, you have to ask yourself whether the reviewers know their subject, or whether you've over engineered your CA thereby wasting time and money. <----- In fact, I'd say the over-engineering happens the moment it's decided a CA is necessary in the particular use-case. Once a CA is deemed necessary, CP, CPS, PMA follow without exception. There shouldn't be a CA without CP, CPS, PMA. Do you agree? – bgd223 Jan 18 '18 at 20:34
  • 1
    Absolutely. Building a CA is easy - quite often (especially in the Microsoft world) a case of clicking Next, Next, Next etc. However, PKI is far more of a challenge. It involves understanding security and bringing together all key players to develop a secure trustworthy infrastructure. Start with a PMA, write the CP, build your Root CA to align with the CP and document your CA in the CPS. Build subordinate CAs and document in another CPS. Review all policies and processes regularly. Audit often (because humans will try and find a way around policies!). – garethTheRed Jan 18 '18 at 21:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.