I just looked at the IANA consideration section and I noticed that there is no policy defined for adding, or deprecating values from various registries, such as the code_challenge_method.
So, you can essentially decide about how easy or difficult you can make it for yourself. I would think that 'Specification Required' would be appropriate. You can copy the relevant text from https://tools.ietf.org/html/rfc6749#section-11 and adjust it accordingly. Ciao Hannes On 12/03/2014 01:01 PM, John Bradley wrote: > We have been thinking that new hash functions and new mechanisms (eg ECDH-ES) > would be treated the same and require a spec and review. > > (At some point I will do a asymmetric extension so that the key can also be > used to encrypt POP keys back to the client, but I don't want to make this > spec look to complicated) > > Any mechanism using a challenge & verifier approach could fit in to the > defined parameters, a different hash like SHA3 is simple in that it just be > a replacement of the hash function. > > I think guidance id fine as long as it doesn't limit future options. > > John B. > > >> On Dec 3, 2014, at 8:46 AM, Hannes Tschofenig <hannes.tschofe...@gmx.net> >> wrote: >> >> Hi John, >> >> I believe it makes sense to give recommendations for extensions (if you >> envision them). Of course, I hope that we do not see a flood of >> extensions that all use different hash functions. >> >> Changing the mechanism to something that provides even stronger security >> properties would definitely require a new specification and review. >> >> Ciao >> Hannes >> >> >> On 12/03/2014 12:37 PM, John Bradley 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 >>> >> >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth