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
>>>
>>
> 

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to