Re: Solving the key disclosure algorithm weaknesses
"Marcus Leech" <[email protected]> Fri, 24 Jan 2003 15:32:44 -0500
| Newsgroups | gmane.ietf.itrace |
|---|---|
| Organization | Nortel Networks |
| Message-ID | <[email protected]> |
Mikael Olsson wrote: > > Random number generation for key intervals > ------------------------------------------ > > Unfortunately, we can't just pick any dumb LCPRNG for generating > rekeying intervals. > Dumb LCPRNGs work just fine for itrace packet generation, since > we never really reveal the LCPRNG state. > > However, with key disclosure intervals, we reveal exact (partial) > state for the world to see; all they need to do is make note of > the intervals reported in the key disclosure timestamps. > For "rand()%52", one needs seven samples to learn the exact state, > as some on-line poker game servers learned a few years ago. > I don't how many is needed for e.g. "rand()%(200-20)", but I'd > venture a guess that it is about four. > > If the router doesn't already have a high-quality RNG at hand > (not necessarily 'crypto-grade RNG'), one can do: > > - Keep a separate LCPRNG for key interval generation, preferably > with different multiplication and addition constants. > > - Whenever the itrace generation LCPRNG is used, add about a > quarter of its output to the state of the "rekey" LCPRNG. > (This adds "hard"-to-predict entropy to the state) > > - Use the HIGH BITS of the "rekey" LCPRNG output. They reveal > less state. E.g. don't do "rand()%(200-20)". Do > "rand()/(RAND_MAX*(200-20))" instead. > > (Igh, yeah, I know, this isn't the type of stuff that one really > wants in RFCs, but... well, I just expect people to do the > Wrong Thing without it! Appendix?) > The router will already have MD5 or SHA-1 lying around, which it can use in feedback mode as a quite good random number generator. This isn't hard. > > If we present each HMAC key individually signed, we'll only > be able to fit ONE key disclosure in a response if we're > using 2048-bit signatures. (And recent advances do indicate > that 2048-bit keys will be the minimum length in the not too > distant future.) > > So... what to do? Assume that the router is capable of > combining a bunch of HMAC keys in a single blob and sign > that blob? > I can't remember the reason for signing individual keys, rather than signing a "blob" of them. Either way, you only need to do one signature every time the "blob" changes. -- ---------------------------------------------------------------------- Marcus Leech Mail: Dept 8M70, MS 012, FITZ Advisor Phone: (ESN) 393-9145 +1 613 763 9145 Security Architecture and Planning Fax: (ESN) 393-9435 +1 613 763 9435 Nortel Networks [email protected] -----------------Expressed opinions are my own, not my employer's------