Improving OpenIDs use of cryptography 2 - lifespans
Paul Crowley
paul at ciphergoth.org
Wed Jun 1 19:49:47 PDT 2005
Everything needs an explicit lifespan. You shouldn't assume a key will
stay secret forever, and explicitness is the watchword for secure
cryptographic protocols - see Anderson and Needham, "Programming Satan's
Computer".
The identity tokens that the ID server produces should include explicit
expiry times. And the authentication keys used to sign or MAC them must
also have expiry times. The least of these should be used by the client
as the expiry time of the token.
Giving the keys expiry times introduces a complication in the protocol.
Currently we state that we expect the token to be signed by "the" DSA
key for the identity server. However, if we're to avoid trouble when
these tokens expire, a given server must support several authentication
keys with overlapping lifetimes, which means that the consumer should
state which key it expects the server to use when signing the token.
This change is in any case necessary for the change to MACs.
Overlapping keys also means that as well as expiry times, keys need
"recommended replacement times", after which consumers are recommended
to fetch a new key from the server ASAP.
--
__
\/ o\ Paul Crowley, paul at ciphergoth.org
/\__/ http://www.ciphergoth.org/
More information about the yadis
mailing list