Thanks Hannes. One question: we are recommending 32 octetes=256 bits to fill the sha256 range. Is there a reason for asking for a lesser entropy? On 2014年12月3日(水) at 20:37 John Bradley <ve7...@ve7jtb.com> wrote:
> Thanks Hannes. > > Other methods such as different hashes need to be added via extension > specs. > > Are you saying that we should set minimum recommendations for them. > > It is also possible that those methods might use something other than > hashing. Key agreement might be a possibility. > > Those properties would all be requirements for selecting a different hash > function. We could add that as a requirement for extensions if you think > that is appropriate. > > John B. > > > On Dec 3, 2014, at 8:17 AM, Hannes Tschofenig <hannes.tschofe...@gmx.net> > wrote: > > > > Hi all, > > > > I am trying to figure out how to progress the SPOP document and > > therefore I read through the discussion about the code challenge, see > > > > I wanted to share my view about this topic. > > > > As a summary, the mechanism works as follows: > > > > C: Compute code_verifier:=rand() > > C: Compute code_challenge:=func(code_verifier) > > > > (For this discussion, the function func() is SHA-256.) > > > > C: Send(Authz Request + code_challenge,S) > > > > S: store code_challenge > > S: Send(Authz Grant,C) > > > > C: Send(Access Token Request || code_verifier, S) > > > > S: Compute code_challenge':=func(code_verifier) > > S: IF (code_challenge'==code_challenge) THEN SUCCESS ELSE FAIL. > > > > The document currently does not say how much entropy the random number > > has to have. > > > > The text only talks about the output size and SHA-256 indeed produces a > > 256 bit output. > > > > Here is the relevant text: > > > > " > > NOTE: code verifier SHOULD have enough entropy to make it impractical > > to guess the value. It is RECOMMENDED that the output of a suitable > > random number generator be used to create a 32-octet sequence. > > " > > > > I suggest to recommend at least 128 bits, which is inline with the > > recommendations for symmetric ciphers in > > http://tools.ietf.org/html/draft-ietf-uta-tls-bcp-07 > > > > I would also suggest to reference RFC 4086 concerning the creation of > > random numbers. > > > > Furthermore, since you allow other hash functions to be used as well it > > would be good to give guidance about what the properties of those hash > > functions should be. You definitely want a cryptographic hash function > > that provides pre-image resistance, second pre-image resistance, and > > collision resistance. > > > > Given the size of the input and output it is impractical to compute a > > table that maps code_verifies to code_challenges. > > > > This mechanism provides better properties than the "plain" mechanism > > since it deals with an attacker that can see responses as well as > > requests (but cannot modify them). It does not provide any protection > > against a true man-in-the-middle attacker. > > > > Ciao > > Hannes > > > > > > _______________________________________________ > > OAuth mailing list > > OAuth@ietf.org > > https://www.ietf.org/mailman/listinfo/oauth > > _______________________________________________ > OAuth mailing list > OAuth@ietf.org > https://www.ietf.org/mailman/listinfo/oauth >
_______________________________________________ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth