Re: [TLS] Review of draft-ietf-tls-rfc4366-bis-04
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [TLS] Review of draft-ietf-tls-rfc4366-bis-04



At Sat, 25 Apr 2009 00:46:58 +0200,
Simon Josefsson wrote:
> 
> "Joseph Salowey (jsalowey)" <jsalowey at cisco.com> writes:
> 
> > This is a working group last call for comments on
> > draft-ietf-tls-rfc4366-bis-04 prior to sending this document on to the
> > IESG for publication as a proposed standard RFC.  The document and
> > revision history can be found here:
> >
> > http://tools.ietf.org/html/draft-ietf-tls-rfc4366-bis-04
> >
> >
> > Please send any comments to the list by May 15, 2009.  
> 
> Hi.  The document looks good in general, however I have two comments:
> 
> 1)
> 
> RFC 4366 contains:
> 
>       struct {
>           opaque url<1..2^16-1>;
>           Boolean hash_present;
>           select (hash_present) {
>               case false: struct {};
>               case true: SHA1Hash;
>           } hash;
>       } URLAndOptionalHash;
> 
> The draft changes the struct to:
> 
>       struct {
>           opaque url<1..2^16-1>;
>           opaque SHA1Hash[20];
>       } URLAndHash;
> 
> An RFC 4366 implementation that receives a RFC4366bis struct will reject
> the encoding as corrupt, and possibly refuse the connection.
> 
> Likewise, an RFC 4366bis implementations will reject a RFC4366 struct.
> 
> It is possible to implement a parser that will accept both structs, but
> this is not discussed nor suggested by the document.
> 
> I suggest that a padding byte is inserted as follows:
> 
>       struct {
>           opaque url<1..2^16-1>;
>           opaque padding<1>;
>           opaque SHA1Hash[20];
>       } URLAndHash;
> 
> And some text is added:
> 
>    The "padding" byte MUST be 0x01.  It is present to make the structure
>    backwards compatible.
> 
> TLS 1.2 also changed old structs, let's not make the same mistake again.

Oh, good catch.

I would leave it as-is in 4366 and simply say // Must be true...

-Ekr


Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.