Perhaps the best (usable) solution would be:

1. The approval screen must clearly indicate to the user that they should
only be seeing that screen if they are trying to provision a device. The
user should not have clicked on a link to get to the screen
2. The Auth server should also check for the presence of an HTTP Referrer.
There should not be a referrer, since the user should not have clicked on
anything to have landed on the screen
3. The Auth server must not enable ³auto approval² for the device flow.
Meaning that the user must click through the approval screen, even if the
user had previously authorized the same client_id previously

Allen




On 4/1/10 9:06 PM, "Brent Goldman" <br...@facebook.com> wrote:

> Isn't there a similar attack for the reverse protocol? The attacker would
> socially engineer the user to give them the post-auth verification code
> displayed on the computer. This gives the attacker access to everything.
> 
> We could make this more strict by having both a device code and verification
> code. That is, have the user enter the device code into the computer, which
> would produce a verification code that needs to be entered back into the
> device. But this is susceptible to the same attack: after visiting the link
> sent by the attacker, and clicking "approve on a strange auth screen", the
> user would have to send the verification code back to the attacker. This is
> slightly better in that for an attack to be successful, the user has to
> communicate with the attacker twice instead of once.
> 
> I can't really think of a good way to eliminate the attack entirely, though.
> 
> -Brent
> 
> 
> On Apr 1, 2010, at 8:05 PM, Eric Sachs wrote:
> 
>> Here is the note I sent a few weeks ago where we also noted the potential
>> session fixation attack.  However as we noted, we are still willing to start
>> with this profile and later work on where the user has to enter a code into
>> the device.
>> 
>> 
>> ---------- Forwarded message ----------
>> From: Eric Sachs <esa...@google.com>
>> Date: Wed, Mar 17, 2010 at 5:45 PM
>> Subject: Re: [OAUTH-WG] Device Profile
>> To: Brent Goldman <br...@facebook.com>
>> Cc: "OAuth WG (oauth@ietf.org)" <oauth@ietf.org>
>> 
>> 
>> Google has a similar requirement to move these types of devices to OAuth/WRAP
>> and away from our older "ClientLogin" protocol where the user is prompted for
>> their username/password.  The proposed profile looks fine, but we are a few
>> weeks from being able to do specific work on it, so we may have more feedback
>> at that time.
>> 
>> If the device can accept some user input, then there are some security
>> advantages to requiring the user to get the code from their computer and then
>> enter it into the device.  In particular, it makes it easier to protect
>> against a DOS attack targeted at the service-provider to request a large # of
>> codes.  That method also reduces the risk of a phishing/session-fixation type
>> attack.  However we agree that some profile is needed for devices with no
>> user input.  We also expect it will be easier to get these device vendors to
>> use a common industry technique, so we are fine with prioritizing our support
>> for this profile.  Longer term the community could define a profile where the
>> code is displayed on the computer.
>> 
>> On Thu, Mar 11, 2010 at 3:27 AM, Brent Goldman <br...@facebook.com> wrote:
>>> Over the past couple days, Luke Shepard, David Recordon, and I have been
>>> brainstorming an OAuth profile for standardizing the flow that devices such
>>> as game consoles and entertainment centers use to hook up with services such
>>> as Netflix and iTunes. The basic flow is that a device can gain
>>> authorization by directing the user to visit a URL on their computer and to
>>> enter a verification code copied from the device's screen.
>>> 
>>> A draft spec is attached to this email. Any thoughts or feedback?
>>> 
>>> Note: this is one of the many profiles going into the OAuth 2.0 draft that
>>> David is writing (http://daveman692.livejournal.com/349384.html).
>>> 
>>> -Brent
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> OAuth mailing list
>>> OAuth@ietf.org
>>> https://www.ietf.org/mailman/listinfo/oauth
>>> 
>> 
>> <ATT00001..txt>
> 
> 

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

Reply via email to