Subject: Re: A minor problem with SCRAM-HMAC-SHA-1-PLUS mechanism name

From: Alexey Melnikov <[email-masked]>
Date: Sat, 23 May 2009 14:01:49 +0100

Nicolas Williams wrote:

>On Wed, Apr 01, 2009 at 11:52:02PM -0400, Jeffrey Hutzelman wrote:
>  
>
>>For starters, I think we should not algorithmically modify mechanism names; 
>>instead, any GSS-API mechanism (including SCRAM) that wishes to define 
>>friendly SASL mechanism names should define two such names, for the "PLUS" 
>>and "non-PLUS" cases.  This makes it easier to express the requirement that 
>>these names be registered in the SASL mechanism name registry and not 
>>conflict with the names of any existing (or future) SASL mechanisms.   
>>
>
>OTOH, having a common affix for "server supports channel binding" makes
>it easier to implement a common mechanism selection function in a
>client-side SASL framework.
>
>Yes, it wouldn't be hard for such a framework to ask each mechanism
>plugin what names it has and which indicate "server supports channel
>binding"...
>  
>
>>Secondly, I'd propose including the "plus" bit before the algorithm:
>>    
>>
I wouldn't mind that, but at this point I would rather leave SCRAM/GS2 
documents as is.

>>GS2B-oidoidoidoidoid (basic)
>>GS2P-oidoidoidoidoid (plus)
>>
>>SCRAM_B-HMAC-SHA-1   (basic)
>>SCRAM_P-HMAC-SHA-1   (plus)
>>SCRAM_P-HMAC-SHA-256 (plus)
>>
>Chris believes that mechanism names will leak into configuration UIs,
>and that therefore it's important that the -PLUS affix be meaningful to
>humans.  I think we can leave the affix as an implementation detail
>(e.g., the user configured "SCRAM" but the client and server will
>understand that SCRAM-PLUS is also allowed unless the user specifically
>disallowed channel binding).
>
I agree.

>>Thirdly, if we are in a pinch, we can abbreviate, like s/SHA-1/SHA1/ or 
>>removing or abbreviating the "HMAC" component, which is mostly redundant.
>>    
>>
>
>Chris proposed that we just call it "SCRAM1" -- we don't need the
>algorithm names in the mechanism name.  I agree with that.  That way the
>-PLUS suffix becomes a non-issue for SCRAM (it's already a non-issue for
>GS2 -- see the latest GS2 I-D).
>
I think having hash function name in the SCRAM mechanism name would be 
move obvious to operators/implementors.
So I deleted "HMAC-" instead.