If the issue is that the client doesn't *want* to do PLAINTEXT-NOTLS, then there is no interop issue -- the client and the server have different requirements, at a policy level. You can have a requirement for compliant implementations to implement the mode, but you can't force people to use it. This remains true even if you do have a algorithm negotiation mechanism.

Two analogies:

1. HTTP: If I enter an HTTPS URI and and the server returns a 301 sending me to an HTTP URI, then I don't follow it to the insecure site in order to comply with HTTP (even though my browser usually does so automatically).

2. IPsec: If two IKE peers are trying to set up an IPsec security association, first one peer advertises the list of algorithms it's willing to use, then the second peer responds with the subset of those that it's willing to use. If the second peer doesn't like any of the advertised algorithms, then it says so, and the negotiation fails.

--Richard



On Jan 15, 2010, at 2:21 PM, John Panzer wrote:

On Fri, Jan 15, 2010 at 10:41 AM, Richard L. Barnes <[email protected]> wrote: I would think not; it's a matter of the client's policy what signatures it will issue, and the server's policy which it will accept.

That doesn't answer the interop question, though, which is the interesting one from the standpoint of the spec. If there is no requirement for a common minimal-subset then there is no guarantee of interop between a random client and a random server that both speak the same data protocol. Most use cases of OAuth have a custom client for every data API so this isn't an issue, but that's not necessarily the case, especially as new protocols start to depend on OAuth for their security needs.


And in any case, OAuth doesn't have any in-band security negotiation, so there's no way for the server to ask for a given set of features (e.g., bearer tokens and no TLS) within the protocol.


See however https://groups.google.com/group/oauth-key-discovery for a very needed extension that does add key discovery and rotation. Even without that, the question is just punted to the out of band documentation: Is a server allowed to support only bearer tokens and no TLS for some use case?



--Richard




On Jan 15, 2010, at 1:29 PM, John Panzer wrote:

I think the question at hand is: If a server says it wants to do bearer tokens and no TLS, is a client obligated to interop in order to claim spec compliance?

--
John Panzer / Google
[email protected] / abstractioneer.org / @jpanzer



On Fri, Jan 15, 2010 at 10:01 AM, Hurliman, John <[email protected] > wrote: +1 to this as well. Any implementation is free to deviate from the spec, at the risk of breaking interoperability.

John

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of John Panzer
Sent: Friday, January 15, 2010 8:43 AM
To: Eve Maler
Cc: OAuth WG
Subject: Re: [OAUTH-WG] Allowing Secrets in the Clear Over Insecure Channels

+1 to MUST implement TLS on both sides.

I thought we were only discussing whether the server could decide to
skip TLS for a particular use case.  No?

On Friday, January 15, 2010, Eve Maler <[email protected]> wrote:
> The points about matching security to use case are excellent. This is why I think we're maybe misinterpreting Eran's argument for MUST. It's not an argument from security alone ("we must always have highest security all the time"); it's an argument from interoperability of security features at Internet scale ("in the general/at-scale case, we should not accept deployed instances that do not support this important security feature").
>
> On this basis, it's reasonable to argue for MUST for implementing TLS (with no weasel words about "or equivalent", since this isn't a testable protocol clause), for the broad ecosystem benefits.
>
>         Eve
>
> On 15 Jan 2010, at 8:06 AM, John Kemp wrote:
>
>> On Jan 14, 2010, at 7:39 PM, Richard L. Barnes wrote:
>>
>>>> As such, I can't see how *not* requiring SSL for unsigned requests
>>>> could pass muster at an IETF security review.
>>>
>>> Speaking as someone who does IETF security reviews ...  :)
>>>
>>> If I were reviewing a document that defines an optional insecure mode of operation (in this case, operating without TLS), I would be looking for basically two things: (1) A discussion of the risks if the insecure mode is used, and (2) a motivation for why these risks might be acceptable in certain cases. This is in the spirit of "MUST=SHOULD+exception" -- if it's a SHOULD, you need to explain the exception. In this case, the risks (1) are pretty obvious: A passive observer can steal your password and use it to authenticate as you. The motivations (2) are what this thread is about.
>>>
>>> I would also observe that "MUST use TLS or equivalent" is actually the same as "SHOULD use TLS", since the "or equivalent" isn't really specified.
>>
>> Right. Which is why I'm currently OK with Eran's text either way as I think it allows bearer tokens with *any* other security protections, unless we specify exactly which security properties should be provided by the channel, vs. via other mechanisms.
>>
>> SAML's "confirmation method" is sort of the equivalent idea to what we've been talking about here (where the method could be "holder-of-key+a signature algorithm", "bearer" or something else) but we also haven't separated out security properties such as integrity or confidentiality for the purposes of this discussion.
>>
>>> (This is really obvious when you think about it from the perspective of an implementor: If you're going to cover the "or equivalent" cases, then you have to have be able to operate in non- TLS mode.) The "or equivalent" cases are the ones where not using TLS might be acceptable, i.e., the ones that should be cited as motivations (2) for allowing the non-secure mode.
>>>
>>> Taking the SECDIR hat off, it seems to me that there are some motivations appearing in this thread:
>>> -- Appropriate key management (frequent key refresh)
>>> -- Private trusted networks
>>> -- John's observation that "URL+token" == "private URL"
>>> So ISTM that "SHOULD use TLS" could be motivated here.
>>>
>>> (Now, all that said, it probably wouldn't hurt to have TLS as a "MUST implement" so that it's there if people want to use it.)
>>
>> +1
>>
>> - johnk
>
>
> Eve Maler
> [email protected]
> http://www.xmlgrrl.com/blog
>
> _______________________________________________
> OAuth mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/oauth
>

--
--
John Panzer / Google
[email protected] / abstractioneer.org / @jpanzer
_______________________________________________
OAuth mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/oauth
_______________________________________________
OAuth mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/oauth

_______________________________________________
OAuth mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/oauth



_______________________________________________
OAuth mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to