Hi Rob, all,

last consideration about the I-D - there are a bunch of OID values that are used throughout the document that are using PRIVATE (Google) OIDs in the document - this is *completely wrong*! Private OIDs should not be used for I-Ds.

The authors should request a new OID assigned for trans under (most probably) the id-pkix OID and then define the required OIDs in that space. This should also be reflected, I think, in the IANA consideration section.

For example:

    id-trans             OBJECT IDENTIFIER ::= { id-pkix  XX }
    id-trans-xxxx   OBJECT IDENTIFIER ::= { id-trans   1 }
    ...

Cheers,
Max

P.S.: Cross posting this message to the TRANS ml so that the WG can consider these issues in the I-D.


On 3/27/15 12:44 PM, Massimiliano Pala wrote:
Hi Rob, all,

coming to your question: the extension /*will not break compatibility as long as it is not marked critical*/. However, there might be some aspects you want to think a bit more deeply about before taking a decision.

This said, I think that the text written in section 3.4.2 is wrong and needs to be replaced.

In particular, the argument about the encoding is weird - from the I-D:

       One or more SCTs can be embedded in an X.509v3 extension that is
       included in a certificate or an OCSP response.  Since RFC5280
       requires the "extnValue" field (an OCTET STRING) of each X.509v3
       extension to include the DER encoding of an ASN.1 value, we cannot
       embed a "SignedCertificateTimestampList" directly.  Instead, we
    have
       to wrap it inside an additional OCTET STRING (see below), which we
       then put into the "extnValue" field.

In my opinion, this text should be removed (trying to justify the use of a data type in the encoding because you do not want to define the required structure in ASN.1 does not really look.. good in an I-D, I am surprised it is even there).

However, more considerations are required here. If you want the extension to have a non-ASN.1 structure it is fine, but that will have implication over the (format) compliance of data in the certificate. This was marginally mentioned in previous posts, but it seems it requires a more explicit explanation since it was not well understood.

In particular, from a parsing perspective, when using the proposed encoding, the client will not perform any validation over the contents of the extension since this is just a blob. Usually this type of encoding is used for binary contents that have no internal structure (e.g., a value of a key or a digest), but it is usually avoided for complex types (again, to provide format validation of the contents).

The real question here is: are you willing to live with not validating the format of the content of the extension when the extension is actually parsed? Are you considering the possible attack vectors that can derive from that (i.e. allowing custom contents in the extension)? I hope you already discussed these aspects before proposing the extension. If not, my suggestion is to go back to the drawing board and seriously considering these aspects. If you go ahead with the current choice, I would suggest to remove the 3.4.2 text and add some considerations about it in the security considerations section (although, in that case I would STRONGLY suggest to revisit your choice).

This is usually a good rule of thumb when it comes to adding extensions.

Another operational consideration that was pointed out is about debugging the bits on the wire. If you use ASN.1 structures, standard network tools can parse the extension properly - however, again, this will not be the case for OCTET STRING blobs. Thus, debugging of the extension (in case of issues) can only happen at the end points (where the extension parser is available), not on the wire.

I hope this helps clarifying the issues with the current proposal.

Just my 2 cents.

Cheers,
Max


On 3/25/15 9:44 AM, Rob Stradling wrote:
On 25/03/15 14:20, Sean Leonard wrote:
On Mar 18, 2015, at 2:10 AM, Peter Gutmann <[email protected]> wrote:

Melinda Shore <[email protected]> writes:

it's what's in the document until someone can either point to some normative specification that it violates or can point to something that actually would
break.

This isn't a case of standards rules-lawyering though (in any case the PKIX
spec is flexible enough that you can stuff anything you want into a
certificate if you interpret things just right, see the famous MPEG-of-cat quote), it's that this is creating a situation where an *X.509 standards- compliant certificate* contains data that can't be processed by an *X.509
standards-compliant certificate application*.

I agree with Peter. Keep the encoding as ASN.1 for this extension. It is not particularly onerous, and it preserves compatibility for other applications.

How exactly might the certificate extension we're talking about [1] break compatibility with other applications?

The Subject Key Identifier extension uses the exact same ASN.1 syntax (the content of the extension is a plain OCTET STRING). RFC5280 does not require applications to recognize this extension.

I'm not aware of any applications that choke on the Subject Key Identifier extension, so why should we expect any to choke on the 6962-bis extension?


[1] https://datatracker.ietf.org/doc/draft-ietf-trans-rfc6962-bis/?include_text=1
  Sections 3.4.2 and 3.4.2.2




_______________________________________________
pkix mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/pkix

_______________________________________________
Trans mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/trans

Reply via email to