3

RFC3647 describes the difference between a CPS and a CP as follows:

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

  • 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.
  • A CP facilitates interoperation through cross-certification, unilateral certification, or other means. Therefore, it is intended to cover multiple CAs. By contrast, a CPS is a statement of a single CA or organization. Its purpose is not to facilitate interoperation (since doing so is the function of a CP).
  • A CPS is generally more detailed than a CP and specifies how the CA meets the requirements specified in the one or more CPs under which it issues certificates.

There's one sentence that makes sense to me in the above explanation:

A single CA or organization can use a CPS to disclose how it meets the requirements of a CP

If I understand that correctly, the CP sets the general requirements (e.g. you should validate domain ownership before issuing a certificate), and the CPS mentions how it does that in practice (e.g. by checking the DNS records for a token). The CP might have even given that practice as an example already.

So, as a CP and a CPS are mostly written by the same CA, it makes little sense to me to split these up. If I mention in the CP that the ownership must be validated and that this could be done by checking the DNS records for a token, then the CPS will most likely contain exactly the same information. I might be able to understand the use of having both a CPS and a CP in case a CA has separate roots which each might have a different CPS, based on the same CP.

I compared the CPS of Let's Encrypt with its CP, and I found that the CP is a little bit more generic, and addresses some topics which are not addressed in the CPS, but also the other way around.

  • Can someone explain what the real value of having both a CPS and a CP is, when they are written by the same CA, and whether or not it would be good practice to only write a CPS in that case?
  • Shouldn't there be a global standard CP, which can be used by all CAs to base their CPS on?
3
+50

The CP describes what the requirements are. The CPS describes how those requirements are met.

For instance, the CP can require that the root CA must be configured so that it requires the presence of two persons from separate departments in order to bring it online. The CPS must then describe how this is achieved - by keeping it in a secure facility that requires two separate keys, or by requiring two separate passphrases to be entered, or by requiring two separate smartcards. If you need to change how the CA is operated, e.g. when you need to move to a new facility with different access rules, or when you change to a new operating system, you might need to rewrite the CPS but you shouldn't need to alter the CP.

Also, while both documents may be written by the same organization, i.e. the entity that runs the CA, I strongly recommend that they be written by separate parts of the organization. For a trustworthy PKI system, separation of duties is essential - and not only in operations, but also in oversight. The people who run the CA should be overseen by another department, whose job it is to set the standards and to verify that the operations follow those standards. If the same persons do both, they are effectively overseeing themselves - in other words, they have no oversight at all. As a consultant, I have sometimes been asked to write both documents, and I always recommend strongly against it. I would rather have my client bring in a competitor to do one of them, or at the very least, to verify my work, rather than risking that I be the one to write the conditions as well as fulfill them.

2

Let me begin by restating what is already known:

CP sets out the Policy and CPS describes the Practice (how the Policy is implemented)

Per the RFC, the Policy (CP) should state a) what requirements are being met and b) what rules will be applied to meet those. It is intended to be high level. To determine whether a particular certificate will meet certain business requirements and whether it can "interoperate" with another certificate whose CP is similar/same.

The Practice Statement (CPS) must go into details, expanding on how it is implemented. It cannot deviate from CP, but can clarify any potential ambiguities - especially w.r.t. implementation.

Can someone explain what the real value of having both a CPS and a CP is, when they are written by the same CA, and whether or not it would be good practice to only write a CPS in that case?

If I were trying to choose a certificate (PKI to be precise) for my business needs, the CP would be the most suitable document to refer to - as it deals with applicability to purpose.

If I were a new CA trying to get as much acceptance as possible quickly, identifying common purpose and compatible PKI would be important - and for this CP is the most suitable document to refer to.

I could infer these from the CPS too, but that would be most cumbersome and if the CPS doesn't make explicit mention of a rule or purpose, it will likely be inaccurate.

So my take is: Yes, a CPS alone could suffice, but only if it makes explicit mention of the purpose, applicability and rules - thus taking out the guess work. If it does that, perhaps that section could also be referred to as CP Section, and that means we are back to where we are.

Shouldn't there be a global standard CP, which can be used by all CAs to base their CPS on?

Horses for courses. After the standard was written, several common purposes evolved. So in hindsight, we could have some global standard CP sets, without ruling out new types of PKI.

Standards bodies are always struggling how tight the standards should be, lest they stifle innovation. Tighter standards = more interoperability, but also more pressure for compliance because every potential innovation can also be seen as a deviation from standard. It won't stop innovation altogether, but will surely make it difficult. For this reason, I think it was okay when the standard was written. Perhaps the lack of a global standard in this area is not hurting so much even now. But that's just my opinion.

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.