On Fri, Jul 27, 2018 at 05:00:52AM -0700, Eric Rescorla wrote:
> On Fri, Jul 27, 2018 at 12:18 AM, Ilari Liusvaara <ilariliusva...@welho.com>
> wrote:
> 
> > On Thu, Jul 26, 2018 at 10:58:05AM -0700, Eric Rescorla wrote:
> >
> > > Here’s a specific construction, but we’re flexible about the details:
> > >
> > >    struct {
> > >        opaque base_identity<1...2^16-1>;
> > >        HashAlgorithm hash;
> > >    } imported_psk_identity;
> > >
> > >    UPSKx = HKDF-Extract(0, UPSK)  // UPSK is the input universal PSK
> > >    PSK = HKDF-Expand-Label(UPSKx, "derived psk", BaseKDF(psk_identity),
> > > TargetHash.length) // Might need to shorten label
> > >
> > > These functions would be executed with the KDF associated with the UPSK,
> > > but produce
> > > a key the size of the desired hash.
> >
> > Using HashAlgorithm here does not seem to be great. The problem being
> > that HashAlgorithm is shadowed by SignatureScheme, which could make
> > adding a new ciphersuite hash problematic, due to needing to add a
> > new HashAlgorithm.
> >
> 
> That's a reasonable point. Do you have a proposed alternative? We don't
> require that you associate a cipher suite with the key unless you want to
> do 0-RTT.

Well, one could do a new enumeration or pick a canonical ciphersuite
for every hash. Both have maintenance concerns when a new hash is
introduced. OTOH, using HashAlgorithm would not solve those (even if
the thing had not gotten shadowed), since the new hash is likely not
any of the current ones in HashAlgorithm enumeration (the only non-
deprecated algorithm that is not in use as ciphersuite hash is
SHA-512)

The new enumeration would currently only need sha256 and sha384. For
canonical, the first TLS 1.3 ciphersuites for those would be 1301 and
1302 (the first in all TLS would be 003B and 009D). As can be seen from,
this, picking canonicals is a bit yucky.


-Ilari

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

Reply via email to