OA2.0d11: Minor nit-pick regarding normalization

2007-02-01 Thread Martin Atkins

Hi,

This is a really minor thing I just spotted due to leaving my browser 
open on the relevant part of the spec and coming back to it later. :)

The normalization table in appendix A.1 lists several examples of the 
normalization of URIs. The last few examples are as follows:

 http://example4.com/ => http://example4.com/
 https://example5.com/ => https://example5.com/
 example6.com => http://example6.com

I believe that the last example should instead normalize to:
 http://example6.com/

* A HTTP URL without a path is a nonsense because the protocol doesn't 
allow for an empty path anyway. (You can't GET  HTTP/1.1)

* It's causes http://example6.com/ and example6.com to normalize to 
different strings, which is counter-intuitive.

* There is no useful reason to omit that slash except that the 
currently-specced normalization rules exclude it.


Therefore there should be an extra provision in section 7.2:

  * If the resulting identifier is an HTTP or HTTPS URL and it contains 
only the two slashes after the protocol specifier, an additional slash 
MUST be appended to the end of the string.

(not fussy on the exact wording.)


___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs


Re: Proposal: An anti-phishing compromise

2007-02-01 Thread Don Park
Just a suggestion which may be impractical due to URL size limit:

Instead of requiring a boolean in the response, how about adding an:

optional, general purpose, comma separated list of identifiers
with support for custom and maybe signed identifiers as well.

For example:

openid.auth_type:nophish, oob, grade5!JVNJAZFXJMF5N===

'nophish'-aware RP can just search for 'nophish'.

Best,

- Don Park

On Feb 1, 2007, at 7:56 PM, Recordon, David wrote:

> I think we all agree that talking about the method used is far more
> useful, though with this proposal we're really trying to balance it  
> with
> simplicity in the authentication protocol itself.  Maybe it is  
> better to
> phrase the discussion around if the user provided a secret  
> (password) to
> the OP or not to authenticate versus talking about phishing  
> directly.?.
>
> I'd hope that this parameter in the auth spec really helps bring the
> discussion around to the Assertion Quality Extension and that it be
> implemented to provide the more robust metadata such as what type of
> authentication was actually preformed.
>
> --David
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of john kemp
> Sent: Thursday, February 01, 2007 7:13 PM
> To: Granqvist, Hans
> Cc: OpenID specs list
> Subject: Re: Proposal: An anti-phishing compromise
>
> Granqvist, Hans wrote:
>
>>> Proposed Change
>>> ===
>>>
>>> Add a single, required, boolean field to the authentication response
>>> that specifies whether or not the method the OP used to authenticate
>>> the user is phishable. The specification will have to provide
>>> guidelines on what properties an authentication mechanism needs to
>>> have in order to be "non-phishable." The field is just meant to
>>> indicate that the authentication mechanism that was used is not a
>>> standard "secret entered into a Web form."
>>
>> The receiver should decide what is 'non-phishable', not the  
>> sender, so
>
>> it would be better if the OP just states what mechanism was used,
>> perhaps.
>
> Agreed. A statement as to the "phishability" or not seems to be too
> vague to be useful. A simple statement of the authentication method  
> used
> would seem to give the same effect, while providing potentially useful
> information (assuming the RP trusts statements from the OP at all.)
>
>>
>>
>>> Benefits
>>> 
>
> ...
>
>> Here's what I think:
>>
>> Since the association step is hardly ever used, it can much more
>> easily be overloaded with extra information without breaking any
>> implementation.
>>
>> If the OP would *require* an OpenID association step from the RP,  
>> then
>
>> this step can include an exchange of meta-information between OP and
>> RP.
>
> How does the association step between OP and RP change the  
> relationship
> between the OP and the user (agent)?
>
> I thought the attack we were considering is when a rogue RP directs  
> the
> user agent to a rogue OP, who then steals the user's credentials?  
> How is
> that affected by the rogue RP and rogue OP "associating"?
>
> - John
> ___
> specs mailing list
> specs@openid.net
> http://openid.net/mailman/listinfo/specs
> ___
> specs mailing list
> specs@openid.net
> http://openid.net/mailman/listinfo/specs
>


___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs


RE: Proposal: An anti-phishing compromise

2007-02-01 Thread Recordon, David
I think we all agree that talking about the method used is far more
useful, though with this proposal we're really trying to balance it with
simplicity in the authentication protocol itself.  Maybe it is better to
phrase the discussion around if the user provided a secret (password) to
the OP or not to authenticate versus talking about phishing directly.?.

I'd hope that this parameter in the auth spec really helps bring the
discussion around to the Assertion Quality Extension and that it be
implemented to provide the more robust metadata such as what type of
authentication was actually preformed.

--David 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of john kemp
Sent: Thursday, February 01, 2007 7:13 PM
To: Granqvist, Hans
Cc: OpenID specs list
Subject: Re: Proposal: An anti-phishing compromise

Granqvist, Hans wrote:

>> Proposed Change
>> ===
>>
>> Add a single, required, boolean field to the authentication response 
>> that specifies whether or not the method the OP used to authenticate 
>> the user is phishable. The specification will have to provide 
>> guidelines on what properties an authentication mechanism needs to 
>> have in order to be "non-phishable." The field is just meant to 
>> indicate that the authentication mechanism that was used is not a 
>> standard "secret entered into a Web form."
> 
> The receiver should decide what is 'non-phishable', not the sender, so

> it would be better if the OP just states what mechanism was used, 
> perhaps.

Agreed. A statement as to the "phishability" or not seems to be too
vague to be useful. A simple statement of the authentication method used
would seem to give the same effect, while providing potentially useful
information (assuming the RP trusts statements from the OP at all.)

> 
> 
>> Benefits
>> 

...

> Here's what I think:
> 
> Since the association step is hardly ever used, it can much more 
> easily be overloaded with extra information without breaking any 
> implementation.
> 
> If the OP would *require* an OpenID association step from the RP, then

> this step can include an exchange of meta-information between OP and 
> RP.

How does the association step between OP and RP change the relationship
between the OP and the user (agent)?

I thought the attack we were considering is when a rogue RP directs the
user agent to a rogue OP, who then steals the user's credentials? How is
that affected by the rogue RP and rogue OP "associating"?

- John
___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs
___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs


Re: Proposal: An anti-phishing compromise

2007-02-01 Thread john kemp
Granqvist, Hans wrote:

>> Proposed Change
>> ===
>>
>> Add a single, required, boolean field to the authentication 
>> response that specifies whether or not the method the OP used 
>> to authenticate the user is phishable. The specification will 
>> have to provide guidelines on what properties an 
>> authentication mechanism needs to have in order to be 
>> "non-phishable." The field is just meant to indicate that the 
>> authentication mechanism that was used is not a standard 
>> "secret entered into a Web form."
> 
> The receiver should decide what is 'non-phishable', not the 
> sender, so it would be better if the OP just states what 
> mechanism was used, perhaps.

Agreed. A statement as to the "phishability" or not seems to be too
vague to be useful. A simple statement of the authentication method used
would seem to give the same effect, while providing potentially useful
information (assuming the RP trusts statements from the OP at all.)

> 
> 
>> Benefits
>> 

...

> Here's what I think:
> 
> Since the association step is hardly ever used, it can 
> much more easily be overloaded with extra information without
> breaking any implementation.
> 
> If the OP would *require* an OpenID association step from the 
> RP, then this step can include an exchange of meta-information
> between OP and RP. 

How does the association step between OP and RP change the relationship
between the OP and the user (agent)?

I thought the attack we were considering is when a rogue RP directs the
user agent to a rogue OP, who then steals the user's credentials? How is
that affected by the rogue RP and rogue OP "associating"?

- John
___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs


RE: Proposal: An anti-phishing compromise

2007-02-01 Thread Hallam-Baker, Phillip
I think that it is an excellent idea since it allows us to have it both ways. 
We can continue to offer backwards compatibility with legacy infrastructure 
without compromising the strength of the strongest schemes.
 

> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Josh Hoyt
> Sent: Thursday, February 01, 2007 4:42 PM
> To: OpenID specs list
> Subject: Proposal: An anti-phishing compromise
> 
> Hello,
> 
> I've written up a proposal for an addition to the OpenID 
> Authentication 2.0 specification that addresses the phishing problem.
> I've had some off-list discussion of it, and I think it may 
> strike the right balance. Please provide feedback.
> 
> Josh
> 
> Background
> ==
> 
> We have had a lot of good discussion about how phishing 
> relates to OpenID. There seems to be consensus that the 
> OpenID Authentication spec should address these issues, but 
> not consensus on how that should happen.
> 
> The ways that OpenID can potentially make phishing worse:
> 
>  * Redirects to your provider are a fundamental part of the 
> flow of OpenID, so being redirected to a phishing site is easy to miss
> 
>  * Every relying party (necessarily) needs to know who the 
> provider is in order to verify the authentication response. 
> This means that the site knows what UI it needs to use to 
> phish (and even worse, it can just proxy the user to the provider)
> 
> I think these two issues cover what makes phishing 
> potentially a greater threat when using OpenID.
> 
> Although these problems are significant, if a user can 
> authenticate to their OpenID provider through an 
> "non-phishable" mechanism, OpenID can make the phishing 
> problem *less* of a threat, because there are fewer places 
> that will need to ask for credentials.
> 
> Other relevant issues:
> 
>   * There is no universally deployed solution to the phishing problem
> 
>   * There is not even a universally *accepted* solution to 
> the phishing problem
> 
>   * Any technology that prevents phishing will require 
> user-agent support or else will fundamentally change the flow 
> of OpenID (prevent relying-party-initiated sign-in)
> 
>   * OpenID is intended to be deployed without requiring 
> specific technologies to be present in the user-agent
> 
>   * Any general anti-phishing technology can be applied to OpenID
> 
> Proposed Change
> ===
> 
> Add a single, required, boolean field to the authentication 
> response that specifies whether or not the method the OP used 
> to authenticate the user is phishable. The specification will 
> have to provide guidelines on what properties an 
> authentication mechanism needs to have in order to be 
> "non-phishable." The field is just meant to indicate that the 
> authentication mechanism that was used is not a standard 
> "secret entered into a Web form."
> 
> Analysis
> 
> 
> This proposal is a simplification of the Assertion Quality 
> Extension [1] (AQE), and is essentially the same as what Ben 
> Laurie proposed earlier [2]. It does not attempt to replace 
> the AQE or require it for authentication in general.
> 
> Benefits
> 
> 
> The proposal is trivial implement, it acknowledges that 
> phishing is a problem, and forces implementers think about 
> it. If more assurances are required, then the AQE, 
> whitelists, and other mechanisms still need to be employed. 
> This field just sets a minimum bar.
> 
> I think that this is the right information to require, 
> because it addresses this one thing that makes OpenID 
> potentially worse for security, but it does not mandate 
> specific technologies.
> 
> It pushes the liability for phishing relying parties to 
> OpenID providers, who are the ones who should be responsible 
> for taking measures to prevent phishing. IANAL, so I don't 
> know if this has any real teeth, but it does make it clear to 
> people who are implementing OpenID providers that it is 
> intended to be their responsibility to deal with the phishing issues.
> 
> Drawbacks
> -
> 
> It may be tricky to define what is meant by "non-phishable."
> 
> There is no way for a Relying Party to *ensure* that the 
> OpenID provider indeed uses "non-phishable" authentication.
> 
> If libraries are used, the library user may not read the 
> relevant parts of the specification about phishing, and so 
> may remain ignorant of the phishing issues.
> 
> Why this should be in the core spec
> ---
> 
> I believe that this one piece of information would be 
> required more often than not, given the phishing 
> implications. The prominence of being in the core 
> specification makes it harder to ignore the phishing problem.
> 
> References
> ==
> 
> 1. 
> http://openid.net/specs/openid-assertion-quality-extension-1_0-03.html
> 2. http://openid.net/pipermail/general/2007-January/001340.html
> ___
> specs mailing list
> specs@openi

Re: Proposal: An anti-phishing compromise

2007-02-01 Thread Paul Madsen
sorry, trying to straddle worlds/terminology

OpenID  SAML
RP  == SP (Service Provider)
OP == IDP (Identity Provider)

Josh Hoyt wrote:
> On 2/1/07, Paul Madsen <[EMAIL PROTECTED]> wrote:
>> Hi Josh, do I understand correctly that the motivation for your proposal
>> is not 'fix' the phish problem, but to simply hilite it so that RPs will
>> begin to put pressure on their OPs to move to something beyond 
>> passwords?
>>
>> If this is the case, perhaps allowing an SP to add it to its request for
>> authentication would give a direct (and loggable)  mechanism by which
>> the RP can provide feedback to the OP product managers?
>
> What's an SP as opposed to an RP?
>
> Josh
>
>

-- 
Paul Madsen e:paulmadsen @ ntt-at.com
NTT p:613-482-0432
m:613-302-1428
aim:PaulMdsn5
web:connectid.blogspot.com 


___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs


RE: Proposal: An anti-phishing compromise

2007-02-01 Thread Granqvist, Hans
Josh, thanks for posting! See my comments inline  -Hans

> ...
> Other relevant issues:
> 
>   ...
>   * Any technology that prevents phishing will require 
> user-agent support or else will fundamentally change the flow 
> of OpenID (prevent relying-party-initiated sign-in)

Is that entirely true?  There is a flow in the OpenID
protocol that is hardly ever used, the association flow,
that can be used.


> Proposed Change
> ===
> 
> Add a single, required, boolean field to the authentication 
> response that specifies whether or not the method the OP used 
> to authenticate the user is phishable. The specification will 
> have to provide guidelines on what properties an 
> authentication mechanism needs to have in order to be 
> "non-phishable." The field is just meant to indicate that the 
> authentication mechanism that was used is not a standard 
> "secret entered into a Web form."

The receiver should decide what is 'non-phishable', not the 
sender, so it would be better if the OP just states what 
mechanism was used, perhaps.


> Benefits
> 
> 
> The proposal is trivial implement, it acknowledges that 

But it's not trivial to deploy! Since the proposed solution
fundamentally changes the basic authentication payload, every
single implementation would have to change. 


> Drawbacks
> -
> 
> It may be tricky to define what is meant by "non-phishable."

And any such definition would probably change over time, too.

> ...

My overall problem is that I don't see how your proposal really
solves phishing.  Am I crazy? (It has happened before ;) Perhaps 
you're only concerned with the OP/RP relation?

Your proposal is based on the OP adding an extra field into its 
authentication response, but in a phishing scenario, this OP
would never even be involved in the authentication step.

Here's what I think:

Since the association step is hardly ever used, it can 
much more easily be overloaded with extra information without
breaking any implementation.

If the OP would *require* an OpenID association step from the 
RP, then this step can include an exchange of meta-information
between OP and RP.  This information may contain the phishing
strength field you define above, but it can also contain
something like a security profiles.  (Yes, here I go again ;)

It just seems to make sense to do it this way. 

1.  OPs that want to remain like today, can do so by accepting 
non-associationed authentication requests, or by not requiring the 
meta-information in the association request. 

2.  OPs that want to provide a stronger user story would require 
the assoc step + meta-info. 

The OP now becomes its own gate keeper: only good enough RP's will 
have acceptable profiles (perhaps cryptographically signed by a 
'trusted 3rd party', or asserted via other reputational mechanisms), 
and therefore these RPs are the only ones that can authenticate.

3.  in the same vein, the RP would only redirect to acceptable
OPs.  The RP decides what is an acceptable OP just as the OP 
decides what is an acceptable RP.

4.  the user would still be out in the cold unless it is
impossible to log in as a side-effect of an authentication
step (as previously discussed on the list).

Perhaps that entire 'log in when authenticating' flow should be 
stricken from the spec unless user's explicitly desires that 
behavior via some mechanism (like added params to the URL -- 
ugly, or a checkbox next to the URL input field -- questionable).

Anyway, just my thoughts. 

Hans

___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs


Re: Proposal: An anti-phishing compromise

2007-02-01 Thread Josh Hoyt
On 2/1/07, Paul Madsen <[EMAIL PROTECTED]> wrote:
> Hi Josh, do I understand correctly that the motivation for your proposal
> is not 'fix' the phish problem, but to simply hilite it so that RPs will
> begin to put pressure on their OPs to move to something beyond passwords?
>
> If this is the case, perhaps allowing an SP to add it to its request for
> authentication would give a direct (and loggable)  mechanism by which
> the RP can provide feedback to the OP product managers?

What's an SP as opposed to an RP?

Josh
___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs


Re: Proposal: An anti-phishing compromise

2007-02-01 Thread Paul Madsen
Hi Josh, do I understand correctly that the motivation for your proposal 
is not 'fix' the phish problem, but to simply hilite it so that RPs will 
begin to put pressure on their OPs to move to something beyond passwords?

If this is the case, perhaps allowing an SP to add it to its request for 
authentication would give a direct (and loggable)  mechanism by which 
the RP can provide feedback to the OP product managers?

Thanks

Paul

Josh Hoyt wrote:
> Hello,
>
> I've written up a proposal for an addition to the OpenID
> Authentication 2.0 specification that addresses the phishing problem.
> I've had some off-list discussion of it, and I think it may strike the
> right balance. Please provide feedback.
>
> Josh
>
> Background
> ==
>
> We have had a lot of good discussion about how phishing relates to
> OpenID. There seems to be consensus that the OpenID Authentication
> spec should address these issues, but not consensus on how that should
> happen.
>
> The ways that OpenID can potentially make phishing worse:
>
>  * Redirects to your provider are a fundamental part of the flow of
> OpenID, so being redirected to a phishing site is easy to miss
>
>  * Every relying party (necessarily) needs to know who the provider
> is in order to verify the authentication response. This means that the
> site knows what UI it needs to use to phish (and even worse, it can
> just proxy the user to the provider)
>
> I think these two issues cover what makes phishing potentially a
> greater threat when using OpenID.
>
> Although these problems are significant, if a user can authenticate to
> their OpenID provider through an "non-phishable" mechanism, OpenID can
> make the phishing problem *less* of a threat, because there are fewer
> places that will need to ask for credentials.
>
> Other relevant issues:
>
>   * There is no universally deployed solution to the phishing problem
>
>   * There is not even a universally *accepted* solution to the phishing 
> problem
>
>   * Any technology that prevents phishing will require user-agent
> support or else will fundamentally change the flow of OpenID (prevent
> relying-party-initiated sign-in)
>
>   * OpenID is intended to be deployed without requiring specific
> technologies to be present in the user-agent
>
>   * Any general anti-phishing technology can be applied to OpenID
>
> Proposed Change
> ===
>
> Add a single, required, boolean field to the authentication response
> that specifies whether or not the method the OP used to authenticate
> the user is phishable. The specification will have to provide
> guidelines on what properties an authentication mechanism needs to
> have in order to be "non-phishable." The field is just meant to
> indicate that the authentication mechanism that was used is not a
> standard "secret entered into a Web form."
>
> Analysis
> 
>
> This proposal is a simplification of the Assertion Quality Extension
> [1] (AQE), and is essentially the same as what Ben Laurie proposed
> earlier [2]. It does not attempt to replace the AQE or require it for
> authentication in general.
>
> Benefits
> 
>
> The proposal is trivial implement, it acknowledges that phishing is a
> problem, and forces implementers think about it. If more assurances
> are required, then the AQE, whitelists, and other mechanisms still
> need to be employed. This field just sets a minimum bar.
>
> I think that this is the right information to require, because it
> addresses this one thing that makes OpenID potentially worse for
> security, but it does not mandate specific technologies.
>
> It pushes the liability for phishing relying parties to OpenID
> providers, who are the ones who should be responsible for taking
> measures to prevent phishing. IANAL, so I don't know if this has any
> real teeth, but it does make it clear to people who are implementing
> OpenID providers that it is intended to be their responsibility to
> deal with the phishing issues.
>
> Drawbacks
> -
>
> It may be tricky to define what is meant by "non-phishable."
>
> There is no way for a Relying Party to *ensure* that the OpenID
> provider indeed uses "non-phishable" authentication.
>
> If libraries are used, the library user may not read the relevant
> parts of the specification about phishing, and so may remain ignorant
> of the phishing issues.
>
> Why this should be in the core spec
> ---
>
> I believe that this one piece of information would be required more
> often than not, given the phishing implications. The prominence of
> being in the core specification makes it harder to ignore the phishing
> problem.
>
> References
> ==
>
> 1. http://openid.net/specs/openid-assertion-quality-extension-1_0-03.html
> 2. http://openid.net/pipermail/general/2007-January/001340.html
> ___
> specs mailing list
> specs@openid.net
> http://openid.net/mailman/listinfo/specs
>
>
>   

-- 
Paul Madsen   

RE: Proposal: An anti-phishing compromise

2007-02-01 Thread Recordon, David
I'm in support of this idea.  I think a single parameter in the OP's
response will pave the path to integrate solutions to the phishing
problem and scales up to the AQE extension as it is re-worked.

--David 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Josh Hoyt
Sent: Thursday, February 01, 2007 1:42 PM
To: OpenID specs list
Subject: Proposal: An anti-phishing compromise

Hello,

I've written up a proposal for an addition to the OpenID Authentication
2.0 specification that addresses the phishing problem.
I've had some off-list discussion of it, and I think it may strike the
right balance. Please provide feedback.

Josh

Background
==

We have had a lot of good discussion about how phishing relates to
OpenID. There seems to be consensus that the OpenID Authentication spec
should address these issues, but not consensus on how that should
happen.

The ways that OpenID can potentially make phishing worse:

 * Redirects to your provider are a fundamental part of the flow of
OpenID, so being redirected to a phishing site is easy to miss

 * Every relying party (necessarily) needs to know who the provider is
in order to verify the authentication response. This means that the site
knows what UI it needs to use to phish (and even worse, it can just
proxy the user to the provider)

I think these two issues cover what makes phishing potentially a greater
threat when using OpenID.

Although these problems are significant, if a user can authenticate to
their OpenID provider through an "non-phishable" mechanism, OpenID can
make the phishing problem *less* of a threat, because there are fewer
places that will need to ask for credentials.

Other relevant issues:

  * There is no universally deployed solution to the phishing problem

  * There is not even a universally *accepted* solution to the phishing
problem

  * Any technology that prevents phishing will require user-agent
support or else will fundamentally change the flow of OpenID (prevent
relying-party-initiated sign-in)

  * OpenID is intended to be deployed without requiring specific
technologies to be present in the user-agent

  * Any general anti-phishing technology can be applied to OpenID

Proposed Change
===

Add a single, required, boolean field to the authentication response
that specifies whether or not the method the OP used to authenticate the
user is phishable. The specification will have to provide guidelines on
what properties an authentication mechanism needs to have in order to be
"non-phishable." The field is just meant to indicate that the
authentication mechanism that was used is not a standard "secret entered
into a Web form."

Analysis


This proposal is a simplification of the Assertion Quality Extension [1]
(AQE), and is essentially the same as what Ben Laurie proposed earlier
[2]. It does not attempt to replace the AQE or require it for
authentication in general.

Benefits


The proposal is trivial implement, it acknowledges that phishing is a
problem, and forces implementers think about it. If more assurances are
required, then the AQE, whitelists, and other mechanisms still need to
be employed. This field just sets a minimum bar.

I think that this is the right information to require, because it
addresses this one thing that makes OpenID potentially worse for
security, but it does not mandate specific technologies.

It pushes the liability for phishing relying parties to OpenID
providers, who are the ones who should be responsible for taking
measures to prevent phishing. IANAL, so I don't know if this has any
real teeth, but it does make it clear to people who are implementing
OpenID providers that it is intended to be their responsibility to deal
with the phishing issues.

Drawbacks
-

It may be tricky to define what is meant by "non-phishable."

There is no way for a Relying Party to *ensure* that the OpenID provider
indeed uses "non-phishable" authentication.

If libraries are used, the library user may not read the relevant parts
of the specification about phishing, and so may remain ignorant of the
phishing issues.

Why this should be in the core spec
---

I believe that this one piece of information would be required more
often than not, given the phishing implications. The prominence of being
in the core specification makes it harder to ignore the phishing
problem.

References
==

1.
http://openid.net/specs/openid-assertion-quality-extension-1_0-03.html
2. http://openid.net/pipermail/general/2007-January/001340.html
___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs
___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs


Proposal: An anti-phishing compromise

2007-02-01 Thread Josh Hoyt
Hello,

I've written up a proposal for an addition to the OpenID
Authentication 2.0 specification that addresses the phishing problem.
I've had some off-list discussion of it, and I think it may strike the
right balance. Please provide feedback.

Josh

Background
==

We have had a lot of good discussion about how phishing relates to
OpenID. There seems to be consensus that the OpenID Authentication
spec should address these issues, but not consensus on how that should
happen.

The ways that OpenID can potentially make phishing worse:

 * Redirects to your provider are a fundamental part of the flow of
OpenID, so being redirected to a phishing site is easy to miss

 * Every relying party (necessarily) needs to know who the provider
is in order to verify the authentication response. This means that the
site knows what UI it needs to use to phish (and even worse, it can
just proxy the user to the provider)

I think these two issues cover what makes phishing potentially a
greater threat when using OpenID.

Although these problems are significant, if a user can authenticate to
their OpenID provider through an "non-phishable" mechanism, OpenID can
make the phishing problem *less* of a threat, because there are fewer
places that will need to ask for credentials.

Other relevant issues:

  * There is no universally deployed solution to the phishing problem

  * There is not even a universally *accepted* solution to the phishing problem

  * Any technology that prevents phishing will require user-agent
support or else will fundamentally change the flow of OpenID (prevent
relying-party-initiated sign-in)

  * OpenID is intended to be deployed without requiring specific
technologies to be present in the user-agent

  * Any general anti-phishing technology can be applied to OpenID

Proposed Change
===

Add a single, required, boolean field to the authentication response
that specifies whether or not the method the OP used to authenticate
the user is phishable. The specification will have to provide
guidelines on what properties an authentication mechanism needs to
have in order to be "non-phishable." The field is just meant to
indicate that the authentication mechanism that was used is not a
standard "secret entered into a Web form."

Analysis


This proposal is a simplification of the Assertion Quality Extension
[1] (AQE), and is essentially the same as what Ben Laurie proposed
earlier [2]. It does not attempt to replace the AQE or require it for
authentication in general.

Benefits


The proposal is trivial implement, it acknowledges that phishing is a
problem, and forces implementers think about it. If more assurances
are required, then the AQE, whitelists, and other mechanisms still
need to be employed. This field just sets a minimum bar.

I think that this is the right information to require, because it
addresses this one thing that makes OpenID potentially worse for
security, but it does not mandate specific technologies.

It pushes the liability for phishing relying parties to OpenID
providers, who are the ones who should be responsible for taking
measures to prevent phishing. IANAL, so I don't know if this has any
real teeth, but it does make it clear to people who are implementing
OpenID providers that it is intended to be their responsibility to
deal with the phishing issues.

Drawbacks
-

It may be tricky to define what is meant by "non-phishable."

There is no way for a Relying Party to *ensure* that the OpenID
provider indeed uses "non-phishable" authentication.

If libraries are used, the library user may not read the relevant
parts of the specification about phishing, and so may remain ignorant
of the phishing issues.

Why this should be in the core spec
---

I believe that this one piece of information would be required more
often than not, given the phishing implications. The prominence of
being in the core specification makes it harder to ignore the phishing
problem.

References
==

1. http://openid.net/specs/openid-assertion-quality-extension-1_0-03.html
2. http://openid.net/pipermail/general/2007-January/001340.html
___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs