> I disagree. Voiding a token to stop supporting an algorithm is
> perfectly reasonable and might not even require user involvement if the
> refresh mechanism is (adopted and) used. And if the reason for this is
> a broken algorithm, well, I would hope the tokens are voided, not just
> used with the same secret and new algorithm.

Migrating to new algorithms is a very slow and tortuous process -- partly 
because an algorithm is rarely completely broken in a single instant. Even MD5 
is still safe for some purposes. Binding secrets to hash algorithms in the 
protocol (not just as a choice by one server) will make migrations that much 
harder.


> I am not sure what you mean by "one app may only support SHA-1, while
> another only supports SHA-256". Are you suggesting something like a
> company with centralized token service but where each service using a
> different set of algorithm, but still sharing the same token across
> services? Sounds like a company in need of new management.

That is exactly what I am suggesting. Old apps, new apps, outsourced apps, 
legacy apps, white-label apps rebadged, app in this language, app in that 
language, apps in the cloud, apps from a merger...
There is no way I expect perfect consistency in supported algorithms, but I do 
want to try to have SSO across these apps and a central token service for 
accessing their APIs.

I don't want to have to upgrade every single app (even the niche near 
end-of-life ones) to support a new algorithm before I can start using it 
anywhere. If a credential bound to a new algorithm is issued to a client, that 
client can no longer access apps that have not been upgraded -- or, worst 
still, the client is expected to manage multiple app-specific credentials 
where previously they used one.


> > Breaking the existing model of HTTP authentication (1 scheme per
> > mechanism) is the wrong approach.
>
> Not sure what you mean.

In most HTTP authentication mechanisms, knowing the scheme is sufficient to 
know the sort of credential required, the security properties, and if you have 
the code to support it. With Token, the credentials might be just a token, a 
token and shared secret, or a token and asymmetric key. With Token, you may or 
may not be safe from passive attacks, or active attacks; may or may not 
require lower-layer security; might have to do computationally-intensive 
public-key crypto or might only require trivial copy 'n paste.

You have broken the model where the scheme means something about the type of 
credential and the security.

--
James Manger

Attachment: smime.p7s
Description: S/MIME cryptographic signature

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

Reply via email to