Re: [TLS] Clarifications and questions: TLS1.3 - Static RSA and AEAD

"Blumenthal, Uri - 0558 - MITLL" <uri@ll.mit.edu> Tue, 27 May 2014 19:32 UTC

Return-Path: <prvs=022488b634=uri@ll.mit.edu>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E22A41A071B for <tls@ietfa.amsl.com>; Tue, 27 May 2014 12:32:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.25
X-Spam-Level:
X-Spam-Status: No, score=-4.25 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_37=0.6, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.651, UNPARSEABLE_RELAY=0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KUaTnN0sdbAM for <tls@ietfa.amsl.com>; Tue, 27 May 2014 12:32:16 -0700 (PDT)
Received: from mx2.ll.mit.edu (MX2.LL.MIT.EDU [129.55.12.46]) by ietfa.amsl.com (Postfix) with ESMTP id CA76A1A06EA for <tls@ietf.org>; Tue, 27 May 2014 12:32:15 -0700 (PDT)
Received: from LLE2K10-HUB01.mitll.ad.local (LLE2K10-HUB01.mitll.ad.local) by mx2.ll.mit.edu (unknown) with ESMTP id s4RJVqA8028927 for <tls@ietf.org>; Tue, 27 May 2014 15:32:11 -0400
From: "Blumenthal, Uri - 0558 - MITLL" <uri@ll.mit.edu>
To: "tls@ietf.org" <tls@ietf.org>
Thread-Topic: [TLS] Clarifications and questions: TLS1.3 - Static RSA and AEAD
Thread-Index: AQHPebMRVncNd1CgFUOlioqIt8R1f5tUdGoAgACXPwD//8WUAA==
Date: Tue, 27 May 2014 19:32:01 +0000
Message-ID: <CFAA5BF6.15CD8%uri@ll.mit.edu>
References: <5383F02F.4050706@nthpermutation.com> <CFAA0E43.15C3B%uri@ll.mit.edu> <f16c4cb2-3ee8-443f-adbc-4e6fab36f707@email.android.com> <CFAA11DB.15C49%uri@ll.mit.edu> <5384E0EE.4050703@akr.io>
In-Reply-To: <5384E0EE.4050703@akr.io>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.4.1.140326
x-originating-ip: [172.25.177.85]
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha256"; boundary="B_3484049516_1352091"
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.11.96, 1.0.14, 0.0.0000 definitions=2014-05-27_05:2014-05-26,2014-05-27,1970-01-01 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1402240000 definitions=main-1405270263
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/l6Q3iDqx-M-XBKSPb4BBd-z_g6Y
Subject: Re: [TLS] Clarifications and questions: TLS1.3 - Static RSA and AEAD
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 May 2014 19:32:18 -0000

>>>If they don't have any source of randomness, they are going to
>>> have problems generating any keys, random nonces or IVs, period!
>> Keys: manufacturer can generate random key pairs for such devices
>> and burn them in.
>
>I caution against such a practice.......
>Pre-baked keys make the manufacturer responsible for not just the
>implementation, but the actual keys.
>..............

Conceptually, is it different from manufacturer seeding the PRNG on such
devices?

>This has represented - and still represents - the most significant
>practical point of attack in numerous real-world implementations (to
>give one notable high-profile example: the seed compromise in RSA
>SecurID®).
>
>I would strongly recommend device manufacturers not to generate keys.

It may be the only reasonable alternative for small-factor embedded
devices, the other alternative being very bad keys generated on such
devices locally. 

I think most of the bad SSH and TLS keys reported on the Internet are the
result of such approach being implemented.

"A good man knows his limitations" - this should apply to good devices
too. :)


See 
@InProceedings{weakkeys12,
  author = {Nadia Heninger and Zakir Durumeric and Eric Wustrow and J.
Alex Halderman},
  title = {Mining Your {P}s and {Q}s: {D}etection of Widespread Weak Keys
in Network Devices},
  booktitle = {Proceedings of the 21st {USENIX} Security Symposium},
  month = aug,
  year = 2012
}


>>IVs:  contrary to what some people tend to believe, IV does not
>> have to be random (or even unpredictable). Being unique is
>> sufficient in many cases, including AEAD.
>
>A note of caution here: as I recall, CBC mode's one of the famous
>problem cases where non-random IVs enable a chosen-ciphertext attack?

Essentially yes. But it is not just CBC mode, it's a combination of the
usage, cipher suite, etc. I.e., if the MAC was in a better place wrt.
Pad+Encrypt and all this, y'know...

I personally would rather drop CBC than RSA. :-)

>[Of course, no AEAD I'm aware of uses CBC mode, so I believe we're
>switching away from that in TLS 1.3 - but still, the point bears
>mention in case of later misunderstanding.]

Of course. :-0