Andrei Popov wrote:
> I'm not happy with this either.

I liked that proposal.

The spec already says:
> 
> "If the client supports only the default hash and signature algorithms
>  (listed in this section), it MAY omit the signature_algorithms
>  extension.  If the client does not support the default algorithms, or
>  supports other hash and signature algorithms (and it is willing to
>  use them for verifying messages sent by the server, i.e., server
>  certificates and server key exchange), it MUST send the
>  signature_algorithms extension, listing the algorithms it is willing
>  to accept."
> 
> This seems to be pretty clear: if the client properly advertises the
> algorithms it supports, then the handshake has a deterministic outcome.


While this may seem true, the problem that you're ignoring here is
that it changes the original meaning&semantics of ClientHello in
a backwards-incompatible and undesirable fashion, which creates either
an interop failure or a security problem or both.

In TLS up to TLSv1.1, the absence of a TLS signature_algorithms
extensions indicates *ONLY* the algorithm that has to be used
a the TLS protocol layer (for digitally-signed), and it says
*NOTHING* at all about the algorithms that may be used within
certificates.

As you might know, support for server certificates signed with
sha256WithRsaEncryption was added to Windows XP with Service Pack 3
(21-Apr-2008) and into Windows 2003 with KB938397.

So the lack of a TLS signature_algorithm extension ought to apply
semantics exclusively to "digitally-signed".  Applying any restrictive
semantics to server certifcates is a backwards-incompatible dumb idea
(in rfc5246) that needs to be fixed.


-Martin

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to