Subject: [pkix] resolving an outstanding issue for 5280bis

From: Stephen Kent <[email-masked]>
Date: Sun, 29 Jul 2012 14:20:38 -0400

Folks,

The debate on section 2 of 5280bis has dragged on for several weeks.  I 
have reviewed the message exchanges and I suggest the following 
replacement text for this contentions section, based on a message from 
Martin Rex, who pointed out that X.509 seems to contain appropriate text 
that is not included in 5280:

*2.Update to RFC 5280, Section 3.2: Certification Paths and Trust*

**

*Add the following paragraph to the end of RFC 5280, Section 3.2:*

**

*In some cases, a self-signed certificate that does not contain 
aBasicConstraints extension is used to convey a public key. Consistent 
with Section 3.4.61 of X.509 (11/2008) we note that **use of self-issued 
certificates and self-signed certificates issued by other than CAs are 
outside the scope of this specification. Thus, for example, a web server 
that issues a self-signed certificate for use with TLS [RFC4346] and/or 
DANE [RFC6394] is not inconsistent with RFC 5280.***

I want to hear from Paul, in particular, to see if he feels that this 
text will address his concerns.

Steve

---

From: Paul Hoffman <[email-masked]>
Date: Mon, 30 Jul 2012 07:11:46 -0700

> 2.  Update to RFC 5280, Section 3.2: Certification Paths and Trust
>  
> Add the following paragraph to the end of RFC 5280, Section 3.2:
>  
> In some cases, a self-signed certificate that does not contain a BasicConstraints extension is used to convey a public key. Consistent with Section 3.4.61 of X.509 (11/2008) we note that use of self-issued certificates and self-signed certificates issued by other than CAs are outside the scope of this specification. Thus, for example, a web server that issues a self-signed certificate for use with TLS [RFC4346] and/or DANE [RFC6394] is not inconsistent with RFC 5280.
> 
> I want to hear from Paul, in particular, to see if he feels that this text will address his concerns.

I definitely like the new wording other than the references in the last sentence and "issues" in that sentence. The sentence applies to all versions of TLS and to more than just the requirements document for DANE. Also, a web server generally doesn't "issue" a self-signed cert: it uses one that was generated for it by some human. Counter-proposal for the last sentence:

Thus, for example, a web server that uses a self-signed certificate for identifying itself is not inconsistent with RFC 5280.

--Paul Hoffman

---

From: Peter Sylvester <[email-masked]>
Date: Mon, 30 Jul 2012 16:24:05 +0200

On 07/30/2012 04:11 PM, Paul Hoffman wrote:
> -
This sentence is better than the one from Steven, but I think it is not 
good at
all to give an example that treats a situation that is out of scope.
Saying that it is not inconsistent means there is an opinion about
something that is out of scope.

Developers using crypto certificate validation
libraries will ask for general support of self signed certs.

Maybe: "For example, a web server that wants to use a self-signed
certificate is out of scope."

/P

---

From: Stephen Kent <[email-masked]>
Date: Mon, 30 Jul 2012 12:29:42 -0400

Peter,

I think an example here is important, especially because the example is 
what has motivated
this change. I have reworded the text to say that the example is out of 
scope rather than
"not inconsistent ..." (But, if something is out of scope, then it is 
not inconsistent with
the spec :-) , logically.)
Y
our suggested wording is not attractive to me, since it 
anthropomorphizes the web server,
and says nothing about RP behavior.

I hope the new wording (see my reply to Paul) is more acceptable.

Steve

---

From: Stephen Kent <[email-masked]>
Date: Mon, 30 Jul 2012 12:29:39 -0400

Paul,

Thanks for the feedback.

I'm comfortable with revising the last sentence to avoid an example that 
might be unduly restrictive.
I assume you prefer to not use the word "issue" a it might connote a CA, 
when we are saying that the
signer of the cert is not a CA. I'm not happy with "uses" as it's an 
ambiguous term. How about:

*In some cases, a self-signed certificate that does not contain a BasicConstraints extension is used to convey a public key. Consistent with Section 3.4.61 of X.509 (11/2008) we note that use of self-issued certificates and self-signed certificates issued by other than CAs are outside the scope of this specification. Thus, for example, a web server might generate a self-signed certificate to identity itself, and relying parties might accept this certificate. Such behavior is outside the scope of RFC 5280.*

How about this text?

Steve

---

From: Peter Sylvester <[email-masked]>
Date: Mon, 30 Jul 2012 18:56:26 +0200

On 07/30/2012 06:29 PM, Stephen Kent wrote:
> Peter,
>
> I think an example here is important, especially because the example 
> is what has motivated
> this change. 
I am not against an example.

> I have reworded the text to say that the example is out of scope 
> rather than
Making a consistency statement about something outside your theory is 
not always
possible, in fact, in general, it is impossible. If you declare 
something out of scope,
then you don't want to make any statement, if you say it is not 
inconsistent,
you have enlarged the scope.

> and says nothing about RP behavior.
What about

"For example a web server or client may use a self-signed certificate
   as a means to identify itself. It is out of scope how an RP
   authenticates information presented in this form."

> I hope the new wording (see my reply to Paul) is more acceptable.

There was a word 'identity' instead of 'identify', but the server wants
to have its identity authenticated.
/P

---

From: Stephen Kent <[email-masked]>
Date: Mon, 30 Jul 2012 13:07:25 -0400

Peter,
> you have enlarged the scope.
we have different understandings of logic here, but it's not relevant to 
the new text
so we ought to move on.
>   authenticates information presented in this form."
I like some aspects of your text. I'll think about it.
> to have its identity authenticated.
The server doesn't "want" anything. The people operating the server want 
something :-) .

Steve