I think this is a good approach.  

> -----Original Message-----
> From: Charles Clancy [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, September 20, 2007 4:11 AM
> To: Tschofenig,Hannes (NSN - DE/Germany - MiniMD)
> Cc: [email protected]
> Subject: Re: [Emu] EAP-GPSK & Key Derivation Function
> 
> All,
> 
> My suggestion is adding the following to the GPSK document:
> 
> - For AES ciphersuite say keys MUST be 128 bits in length or 
> longer, and longer keys be truncated to 128 bits for use
> - For HMAC ciphersuite say keys MUST be 256 bits in length or 
> longer, and longer keys be truncated to 256 bits for use
> - RECOMMEND that 256 bit keys be provisioned in all cases to 
> provide enough entropy for all current and many possible 
> future ciphersuites
> - Add a new section describing requirements on future 
> ciphersuites that addresses necessary security requirements 
> and describes their need to specify PSK sizes and how they 
> deal with different-length keys
> 
> --
> t. charles clancy, ph.d.  |  [EMAIL PROTECTED]  |  www.cs.umd.edu/~clancy
> 
> Tschofenig, Hannes (NSN - DE/Germany - MiniMD) wrote:
> > Hi all,
> > 
> > What is the issue? The derivation of MK uses "0x00" as a 
> key for the 
> > KDF.
> > Here is the key derivation step:   
> > 
> > MK = GKDF-16 (zero, PL || PSK || CSuite_Sel || inputString)
> >               ^^^^^
> >               Here is the problem. 
> > 
> > Here is what Charles recognized during the discussion:
> > 
> > "
> > I just looked though the definition of CMAC, the MAC used in one of 
> > our two ciphersuites, and the zero key looks like it might 
> cause some 
> > problems.  Unlike the HMAC ciphersuites, it doesn't simply 
> concatenate 
> > the key with the data input.  The first step is to compute:
> > 
> >   k0=E_k(0x00)
> >   k1=k0*x mod p(x)
> >   k2=k1*x mod p(x)
> > 
> > These values would always be fixed.  During the CBC operation, they 
> > are XOR'd with the final message block.  k1 is XOR'd if the final 
> > message block's length matches the encryption block length.  k2 is 
> > used otherwise on a message padded with 1000...0000b.
> > 
> > I think what using an all-zero key does is reduce the 
> security of CMAC 
> > to the security of CBC-MAC with an all-zeros IV.  While the 
> > ramifications of this are debatable for our applications, 
> it's still 
> > probably not a great idea.
> > 
> > Currently we can't use the PSK as the input to the first 
> KDF because 
> > its length may not match the selected ciphersuite's block 
> length.  We 
> > wanted to try to do was have a ciphersuite that could be 
> implemented 
> > using only AES.
> > "
> > 
> > Do you agree that the problem is real? 
> > 
> > If yes, then we believe that there are the following solution steps:
> > 
> > 1) We would need some way to normalize the length of the 
> PSK for the 
> > selected ciphersuite. We could define an additional cryptographic 
> > primitive in every ciphersuite that does this derivation, such as
> > SHA256-128 for the AES ciphersuite and SHA256 for the HMAC 
> ciphersuite.
> > 
> > 2) We could switch to a different KDF, for example to the 
> one used for 
> > IKEv2.
> > 
> > Can you come up with other solution approaches?
> > 
> > Which solution approach should we pick?
> > 
> > Ciao
> > Hannes
> > 
> > 
> > _______________________________________________
> > Emu mailing list
> > [email protected]
> > https://www1.ietf.org/mailman/listinfo/emu
> 
> 
> 
> _______________________________________________
> Emu mailing list
> [email protected]
> https://www1.ietf.org/mailman/listinfo/emu
> 


_______________________________________________
Emu mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/emu

Reply via email to