The use of the same RSA key for decryption and signature has always been 
problematic from a cryptographic point of view. As far as I am aware, all
current security theorems for TLS assume that the same RSA certificate (public 
key) 
is not used in both RSA and DHE ciphersuites. 

In theory this should be enforced by KeyUsage, there are distinct KeyUsages
for public key encryption and digital signatures and we may require that 
DHE/ECDHE
ciphersuites must use certificates that *do not* enable public key encryption,
and that clients must enforce this behavior.

Of course, the current practice is that KeyUsage is ignored. OpenSSL will
take a certificate that only specified Public Key Encryption and happily use
and accept it for digital signature. Similar flexibility allows ECDSA certs that
should only be used for signing to be used for static ECDH key exchange (leading
to other vulnerabilities). Do we (as in the TLS working group) have the 
necessary
influence to make sure that KeyUsage is respected?

> On 04 Dec 2015, at 02:11, Fabrice Gautier <fabrice.gaut...@gmail.com> wrote:
> 
>> 
>> On Dec 3, 2015, at 12:47, Yoav Nir <ynir.i...@gmail.com> wrote:
>> 
>> 
>>> On 3 Dec 2015, at 8:40 PM, Fabrice Gautier <fabrice.gaut...@gmail.com> 
>>> wrote:
>>> 
>>> On Wed, Dec 2, 2015 at 2:14 AM, Nikos Mavrogiannopoulos <n...@redhat.com> 
>>> wrote:
>>>>> On Tue, 2015-12-01 at 21:02 +0100, Hanno Böck wrote:
>>>>> On Tue, 1 Dec 2015 14:28:49 -0500
>>>>> Watson Ladd <watsonbl...@gmail.com> wrote:
>>>>> 
>>>>>> https://www.nds.rub.de/media/nds/veroeffentlichungen/2015/08/21/Tls
>>>>>> 13QuicAttacks.pdf
>>>>>> 
>>>>>> This one looks very nasty to fix. Short of disallowing the use of
>>>>>> RSA
>>>>>> certificates for TLS 1.2 with the RSA handshake and in TLS 1.3, I
>>>>>> don't see a good fix. I haven't read this paper in detail yet.
>>>>>> 
>>>>>> Cross-protocol attacks are the gift that keeps giving.
>>>>> 
>>>>> Correct me if I'm wrong, but as I understand the result (and I had
>>>>> one
>>>>> of the authors explaining it to me a few days ago) the problem
>>>>> appears
>>>>> only if you have a TLS 1.2 implementation with an RSA keyexchange
>>>>> that
>>>>> is vulnerable to a bleichenbacher attack. If it is not then you're
>>>>> fine.
>>>> 
>>>> The interesting result of the paper is:
>>>> "Even though this limits the
>>>> practical  impact  of  this  attack,  it  demonstrates  that  simply
>>>> removing a legacy algorithm from a standard is not necessarily
>>>> sufficient to protect against its weaknesses."
>>>> 
>>>> Even though the attack does not work for current implementations it
>>>> underlines that if you reuse keys from TLS 1.2 to TLS 1.3 you don't get
>>>> any advantage from the better algorithms in TLS 1.3. You are as safe,
>>>> as if you'd be using TLS 1.2.
>>>> 
>>>> That can be claimed to be trivial result given that it is underlined on
>>>> almost every paper that describes a cross-protocol attack, but it is
>>>> not still grasped by the engineering community. There have been
>>>> described quite some cross protocol attacks (Kerberos 4 -> Kerberos 5
>>>> by Yu et al., TLS between ciphersuites starting by Wagner and
>>>> Schneier), but still we reuse keys between protocols.
>>> 
>>> Can we solve that problem generically by having TLS implementations
>>> use different certs for different TLS version, and have an indicator
>>> in the certs to indicate which version(s) they are for ?
>> 
>> That’s a heavy-handed approach that requires servers to have multiple 
>> certificates and new selection logic.
> 
> Implementations already should have logic to select certificates based on 
> SNI, so that doesn't seem so far fetched especially in the context of 
> adopting TLS1.3.
> 
>> 
>> Wouldn’t it be better to mandate that if your TLS implementation supports 
>> both TLS 1.2 and TLS 1.3 it should take actions necessary to mitigate the 
>> bleichenbacher attack?
>> 
>> In fact, if you don’t care much about very old browsers, isn’t it possible 
>> today to mandate that the TLS implementation not use RSA keying? That way 
>> the oracle is gone.
> 
> Seems fine, for this specific attack, assuming you can ignore old clients and 
> that your countermeasures are fully efficient.
> 
> On the other hand, having two keys seems like it would counter any current 
> and future cross protocol attacks.
> 
>> 
>> Seems better than requiring web server administrators to acquire two 
>> certificates.
>> 
>> Yoav
>> 
> 
> _______________________________________________
> TLS mailing list
> TLS@ietf.org <mailto:TLS@ietf.org>
> https://www.ietf.org/mailman/listinfo/tls 
> <https://www.ietf.org/mailman/listinfo/tls>
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to