More on OpenID 2.0 vs. simpicity

2007-05-18 Thread Johannes Ernst
OpenID 2.0 is coming. It has more stuff. More features etc. DHH  
worries that it will detract from the simplicity.


(DHH would be David Heinemeier Hansson, Mr. Ruby on Rails)

As quoted by:
http://www.justinball.com/2007/05/18/openid-and-david-heinemeier- 
hansson/




Johannes Ernst
NetMesh Inc.


<><>
 http://netmesh.info/jernst

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


Re: directed identity + HTML discovery: is this right?

2007-05-18 Thread Johnny Bufu

On 18-May-07, at 2:19 PM, Peter Watkins wrote:
> [...]
> Would we put the OP-Local Identifier in both openid.claimed_id *and*
> openid.identity?

The user/OP can choose to send the local_id as the claimed  
identifier, or any other claimed identifier that delegates to the  
local_id sent as openid.identity in the response.

> I'm confused about section 10.1's discussion of openid.claimed_id:  
> "Note:
> The end user MAY choose to use an OP-Local Identifier as a Claimed
> Identifier." This reads like a slight restatement of the earlier  
> language
> suggesting users' choosing their own OP-Local Identifier (section  
> 10, "If
> the relying party requested OP-driven identifier selection... the  
> OP SHOULD
> allow the end user to choose which Identifier to use."), but it's  
> subtly
> different and suggests two things to me:
>  1) a user interface requirement on the OP side (the user cannot  
> choose
> an identifier after the RP authentication request and before the
> OP's authentication response unless the OP has some sort of user
> interface to allow the user to make such a choice, so this  
> looks like
> it might be equivalent to something like  "the OP MUST allow  
> the end
> user to choose an OP-Local Identifier for use in the response"

It doesn't have to be a MUST. If the user has only one such  
identifier at the OP, there is no choice to be made.

>  2) that the OP might return a Claimed ID of the user's choosing  
> even if
> the RP did not send the identifier_select identity request param
> Should this read "The OP MAY allow the end user to choose an OP-Local
> Identifier as a Claimed Identifier if there are multiple  
> Identifiers for
> which the end user is authorized to issue authentication responses  
> and the
> relying party requested OP-driven identifier selection by setting
> "openid.identity" to "http://specs.openid.net/auth/2.0/ 
> identifier_select""

The user/OP can choose a OP-local identifier as a claimed identifier  
(different than the one in the request) even if there is only one  
available. Also, "for which the user is authorized to issue  
authentication responses" is part of the definition of an OP-local  
identifier, so I wouldn't put that in.

> Also, this "MAY" language suggests that openid.claimed_id in the  
> response
> can itself be an OP-Local Identifier and differ from the  
> openid.claimed_id
> value that the RP passed in the authentication request. Is that  
> correct?

Yes. This is reinforced in 10.1, openid.identity :

Note: Relying Parties SHOULD accept and verify assertions about
Identifiers for which they have not requested authentication. OpenID
Providers MAY assist the end user in selecting the Claimed and
OP-Local Identifiers about which the assertion is made.

> In an OpenID 2.0 transaction, if openid.claimed_id and  
> openid.identity in
> the response differ, which value is the RP to use as the user's URL?

The claimed identifier (after verification, of course).


> Could the draft be updated to clarify the uses of these two  
> response items?

I believe this is covered in 11.2 Verifying Discovered Information.


Johnny

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


directed identity + HTML discovery: is this right?

2007-05-18 Thread Peter Watkins

So I'd like my employer (for discussion purposes, The Great
Plumbers Association, http://plumbers.co) to act as an OpenID
OP. I want all our plumber members to use the same OP URL
for OpenID authentication, let's say https://id.plumbers.co/

So the RP doesn't try XRI Resolution, and Yadis fails because
we only support HTML Discovery. When the RP requests https://id.plumbers.co/
for HTML Discovery, per 7.3.3, we deliver a document with

https://id.plumbers.co/"; /> 
http://specs.openid.net/auth/2.0/identifier_select"; />

For normal authentication, the RP then has to send "https://id.plumbers.co/";
as the claimed_id and "http://specs.openid.net/auth/2.0/identifier_select";
as the identity param, per 9.1. 

This allows our OP (per 10) to choose a unique OP-Local Identifier for the
user. Is that right? We could return an identifier of 
"http://pin1234567890.id.plumbers.co"; or 
"https://id.plumbers.co/4c1ab4630af439e0c9be33be9615d165";, or whatever.

Would we put the OP-Local Identifier in both openid.claimed_id *and*
openid.identity?

I'm confused about section 10.1's discussion of openid.claimed_id: "Note: 
The end user MAY choose to use an OP-Local Identifier as a Claimed 
Identifier." This reads like a slight restatement of the earlier language
suggesting users' choosing their own OP-Local Identifier (section 10, "If 
the relying party requested OP-driven identifier selection... the OP SHOULD 
allow the end user to choose which Identifier to use."), but it's subtly
different and suggests two things to me:
 1) a user interface requirement on the OP side (the user cannot choose
an identifier after the RP authentication request and before the 
OP's authentication response unless the OP has some sort of user
interface to allow the user to make such a choice, so this looks like
it might be equivalent to something like  "the OP MUST allow the end 
user to choose an OP-Local Identifier for use in the response"
 2) that the OP might return a Claimed ID of the user's choosing even if
the RP did not send the identifier_select identity request param
Should this read "The OP MAY allow the end user to choose an OP-Local 
Identifier as a Claimed Identifier if there are multiple Identifiers for 
which the end user is authorized to issue authentication responses and the 
relying party requested OP-driven identifier selection by setting 
"openid.identity" to "http://specs.openid.net/auth/2.0/identifier_select"";

Also, this "MAY" language suggests that openid.claimed_id in the response
can itself be an OP-Local Identifier and differ from the openid.claimed_id
value that the RP passed in the authentication request. Is that correct?

In an OpenID 2.0 transaction, if openid.claimed_id and openid.identity in
the response differ, which value is the RP to use as the user's URL?

Could the draft be updated to clarify the uses of these two response items?

Thanks,

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


HTML discovery: SGML entities and charsets

2007-05-18 Thread Peter Watkins
7.3.3 in draft 11 says

The "openid2.provider" and "openid2.local_id" URLs MUST NOT include entities 
other than "&", "<", ">", and """. Other characters that would 
not be valid in the HTML document or that cannot be represented in the 
document's character encoding MUST be escaped using the percent-encoding (%xx) 
mechanism described in [RFC3986] (Berners-Lee, T., .Uniform Resource 
Identifiers (URI): Generic Syntax,. .).

Questions:

1) Why are the characters &, <, >, and " allowed to be represented with those
SGML entities? Why not require them to be encoded per RFC 3986 as %26, %3C,
%3E, and %22? 

2) Also, should 7.3.3 specify that, as with the key/value data pairs, these
values be encoded in UTF-8? Requiring UTF-8 would free RP code from having
to understand different HTML character sets, and would allow users to encode
their HTML delivery pages in the charset of their choosing. As it stands, 
it appears that the HTML document containing the LINK tags could be encoded 
in any charset, with the RP responsible for decoding. With the existence 
of "internationallized" domain names, it's quite possible that the provider 
and local_id values will contain non-ASCII characters. Specifying UTF-8 
encoding for HTML discovery will allow leaner, more reliable RP code.

-Peter

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


Err TOC 13 that is

2007-05-18 Thread Boris Erdmann
On 5/18/07, Boris Erdmann <[EMAIL PROTECTED]> wrote:
> > If these four issues are resolved, can we call the OpenID 2.0
> > Authentication specification done? Speak up if you have any other
> > show-stoppers.
>
> I'd like to know WHERE to publish the below mentioned XRDS Document

in 2_0-11 TOC 13.

>
> http://openid.net/specs/openid-authentication-2_0-11.html#anchor34
>
> Should the document be placed under
> http://relyingparty.com/ or http://relyingparty.com/return_to_url?
> or does it have to be link rel'ed in every page?
>
> -- Boris
>
___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs


Please clarify 2.0 TOC 14 -- Re: RFC: Final outstanding issues with the OpenID 2.0 Authentication specification

2007-05-18 Thread Boris Erdmann
> If these four issues are resolved, can we call the OpenID 2.0
> Authentication specification done? Speak up if you have any other
> show-stoppers.

I'd like to know WHERE to publish the below mentioned XRDS Document
in 2_0-11 TOC 14.

http://openid.net/specs/openid-authentication-2_0-11.html#anchor34

Should the document be placed under
http://relyingparty.com/ or http://relyingparty.com/return_to_url?
or does it have to be link rel'ed in every page?

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


Re: RFC: Final outstanding issues with the OpenID 2.0 Authentication specification

2007-05-18 Thread Josh Hoyt
Don,

On 5/18/07, Don MacAskill <[EMAIL PROTECTED]> wrote:
> My company, SmugMug, is an OpenID provider for hundreds of thousands of
> "high value" paying accounts, and will shortly be a consumer as well.
> I'll freely admit that I haven't fully digested 2.0's pre-spec, but at
> least part of that reason is it looks like it adds a lot more
> complexity.  I can honestly say that if I had seen it as a spec, rather
> than 1.1, I would have certainly put off implementation, possibly
> indefinitely.

As I have said a few times, the OpenID 2.0 specification is
significantly longer than the OpenID 1.1 specification, but most of
the length comes from being explicit and rigorous about things that
the OpenID 1.1 specification is not.

I welcome specific suggestions for simplifying or otherwise improving
the specification. The more feedback that we get, the better.

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


Re: Final outstanding issues with the OpenID 2.0 Authenticationspecification

2007-05-18 Thread Josh Hoyt
On 5/18/07, Dmitry Shechtman <[EMAIL PROTECTED]> wrote:
> > I'm sure that this will break a few implementations
>
> It certainly will break PHP-OpenID.

Which implementation are you referring to as "PHP-OpenID"?

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


RE: Final outstanding issues with the OpenID 2.0 Authenticationspecification

2007-05-18 Thread Dmitry Shechtman
> I'm sure that this will break a few implementations

It certainly will break PHP-OpenID.


Regards,
Dmitry
=damnian

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


Re: Final outstanding issues with the OpenID 2.0Authenticationspecification

2007-05-18 Thread Johnny Bufu
David,


On 18-May-07, at 11:09 AM, Recordon, David wrote:
> Hey Marius,
> Good point, committed a patch so please review! :)


On 18-May-07, at 11:08 AM, [EMAIL PROTECTED] wrote:
> +  
> + As discussed in the  +target="compat_mode">OpenID Authentication 1.1
> +Compatibility mode section, these discovery tags
> +are not the same as in previous versions of the protocol.
> +While the same data is conveyed, the names have  
> changed which
> +allows a Relying Party to determine the protocol version
> +being used.  A Relying Party MAY encounter a Claimed  
> Identifier
> +which uses HTML-Based Discovery to advertise both  
> version 1.1
> +and 2.0 Providers.
> +  

I believe we should make the above a bit more 'normative' for what  
the discovery elements should contain, rather than just warning RPs  
about what they MAY encounter. The qualifier for backwards  
compatibility is SHOULD / RECOMMENDED through the rest of the spec,  
so I propose we replace your text with:


> For backwards compatibility, if supported by the OP, the HEAD  
> section of the document SHOULD also include OpenID 1.x discovery  
> elements:
>
>   A  tag with attributes "rel" set to "openid.server" and  
> "href" set to an OP Endpoint URL
>   A  tag with attributes "rel" set to "openid.delegate" and  
> "href" set to the end user's OP-Local Identifier
>
> The protocol version when HTML discovery [...] an OpenID 1.x  
> endpoint is "http://openid.net/signon/1.1";.


Johnny

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


Re: Final outstanding issues with the OpenID 2.0 Authenticationspecification

2007-05-18 Thread Marius Scurtescu
On 18-May-07, at 11:45 AM, Josh Hoyt wrote:

> On 5/18/07, Marius Scurtescu <[EMAIL PROTECTED]> wrote:
>> On 18-May-07, at 1:00 AM, Dmitry Shechtman wrote:
>> In order to be backwards compatible the HTML page should have two
>> sets of tags one for OpenID 1.1 and one for OpenID 2.0, both pointing
>> to the same OP endpoint URL. Otherwise an OpenID 1.1 RP will not be
>> able to use the HTML page.
>
> Also note that it's allowed to put both values in the "rel" attribute
> of one tag [1], which eliminates a little bit of bloat.

Good point.

I'm sure that this will break a few implementations, checking  
openid4java right now...

Thanks,
Marius

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


Re: Final outstanding issues with the OpenID 2.0 Authenticationspecification

2007-05-18 Thread Josh Hoyt
On 5/18/07, Marius Scurtescu <[EMAIL PROTECTED]> wrote:
> On 18-May-07, at 1:00 AM, Dmitry Shechtman wrote:
> In order to be backwards compatible the HTML page should have two
> sets of tags one for OpenID 1.1 and one for OpenID 2.0, both pointing
> to the same OP endpoint URL. Otherwise an OpenID 1.1 RP will not be
> able to use the HTML page.

Also note that it's allowed to put both values in the "rel" attribute
of one tag [1], which eliminates a little bit of bloat.

Josh

1. http://www.w3.org/TR/html401/struct/links.html#adef-rel
___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs


Re: Final outstanding issues with the OpenID 2.0Authenticationspecification

2007-05-18 Thread Marius Scurtescu
On 18-May-07, at 11:09 AM, Recordon, David wrote:

> Hey Marius,
> Good point, committed a patch so please review! :)
> http://openid.net/svn/diff.php?repname=specifications&path=% 
> 2Fauthentica
> tion%2F2.0%2Ftrunk%2Fopenid-authentication.xml&rev=325&sc=1

That was fast :-)

Looks good, but I would add to that a sentence stating that you  
SHOULD put both sets of tags when editing HTML pages in order to be  
backwards compatible.

Thanks,
Marius

>
> Thanks,
> --David
>
> -Original Message-
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of Marius Scurtescu
> Sent: Friday, May 18, 2007 10:48 AM
> To: Dmitry Shechtman
> Cc: 'OpenID specs list'
> Subject: Re: Final outstanding issues with the OpenID
> 2.0Authenticationspecification
>
> On 18-May-07, at 1:00 AM, Dmitry Shechtman wrote:
>
>> 7.3.3. HTML-Based Discovery
>>
>> A  tag MUST be included with attributes "rel" set to
>> openid2.provider"
>> and "href" set to an OP Endpoint URL
>>
>> A  tag MAY be included with attributes "rel" set to
>> "openid2.local_id"
>> and "href" set to the end user's OP-Local Identifier
>>
>>
>> Could somebody please enlighten me as to what's wrong with leaving
>> those as "openid.server" and "openid.delegate" respectfully (i.e.
>> backward-compatible)?
>
> The new attribute values are needed in order to signal an OpenID 2
> provider.
>
> But you bring up a good point, backwards compatibility can be easily
> broken here.
>
> In order to be backwards compatible the HTML page should have two sets
> of tags one for OpenID 1.1 and one for OpenID 2.0, both pointing to  
> the
> same OP endpoint URL. Otherwise an OpenID 1.1 RP will not be able  
> to use
> the HTML page.
>
> Probably the spec should say this in section 7.3.3 and give clear
> instructions regarding OpenID 1.1 tags.
>
> Marius
>
> ___
> 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: RFC: Final outstanding issues with the OpenID 2.0Authenticationspecification

2007-05-18 Thread Dmitry Shechtman
David,

See, here's the problem. When I'm saying "productive conversations", I
usually mean they yield something. Getting no replies or replies such as "it
should be done the way that it's intended" is counterproductive.

Everybody who finds my questions/suggestions stupid, please speak up.


Regards,
Dmitry
=damnian

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


RE: Final outstanding issues with the OpenID 2.0Authenticationspecification

2007-05-18 Thread Recordon, David
Hey Marius,
Good point, committed a patch so please review! :)
http://openid.net/svn/diff.php?repname=specifications&path=%2Fauthentica
tion%2F2.0%2Ftrunk%2Fopenid-authentication.xml&rev=325&sc=1

Thanks,
--David 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Marius Scurtescu
Sent: Friday, May 18, 2007 10:48 AM
To: Dmitry Shechtman
Cc: 'OpenID specs list'
Subject: Re: Final outstanding issues with the OpenID
2.0Authenticationspecification

On 18-May-07, at 1:00 AM, Dmitry Shechtman wrote:

> 7.3.3. HTML-Based Discovery
>
> A  tag MUST be included with attributes "rel" set to 
> openid2.provider"
> and "href" set to an OP Endpoint URL
>
> A  tag MAY be included with attributes "rel" set to 
> "openid2.local_id"
> and "href" set to the end user's OP-Local Identifier
>
>
> Could somebody please enlighten me as to what's wrong with leaving 
> those as "openid.server" and "openid.delegate" respectfully (i.e.
> backward-compatible)?

The new attribute values are needed in order to signal an OpenID 2
provider.

But you bring up a good point, backwards compatibility can be easily
broken here.

In order to be backwards compatible the HTML page should have two sets
of tags one for OpenID 1.1 and one for OpenID 2.0, both pointing to the
same OP endpoint URL. Otherwise an OpenID 1.1 RP will not be able to use
the HTML page.

Probably the spec should say this in section 7.3.3 and give clear
instructions regarding OpenID 1.1 tags.

Marius

___
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 for improved security of association establishment in OpenID 2.0

2007-05-18 Thread Josh Hoyt
Guoping,

I'm not an expert, but I do understand the attack that you're
describing. I'm hesitant to make the change without input from Paul
Crowley, who designed the key exchange mechanism in the first place. I
hope that he will comment.

It should be noted that a man-in-the-middle can still be a problem if
they intercept (proxy) every message, and not just the
association-related messages. This raises the bar for being a
man-in-the-middle, but it does not eliminate the problem.

Josh

On 5/17/07, Guoping Liu <[EMAIL PROTECTED]> wrote:
> Issue: Vulnerability to man-in-the-middle attacks
>
> The association algorithm with DH-SHA1 and DH-SHA256 defined in the
> draft 11 is vulnerable to man-in-the-middle attacks if server
> authentication with HTTPS is not used. Here is how:
>
> A RP sends an associate request an OP with following parameters:
>
> openid.dh_modulus = base64(btwoc(p))
> openid.dh_gen = base64(btwoc(g))
> openid.dh_consumer_public = base64(btwoc(g ^ xa mod p))
>
> A middle man M intercepts the request. M then generates xc, creates a
> new request to the OP with following parameters:
>
> openid.dh_modulus = base64(btwoc(p))
> openid.dh_gen = base64(btwoc(g))
> openid.dh_consumer_public = base64(btwoc(g ^ xc mod p))
>
> The OP receives the request from M and sends following response to M
>
> dh_server_public = base64(btwoc(g ^ xb mod p))
> enc_mac_key = base64(H(btwoc(g ^ (xc * xb) mod p)) XOR MAC_key)
>
> M decrypts the MAC_key as follows:
>
> MAC_key = H(btwoc(g ^ (xc * xb) mod p)) XOR enc_mac_key
>
> M then sends a response to the RP with following parameters:
>
> dh_server_public = base64(btwoc(g ^ xc mod p))
> enc_mac_key = base64(H(btwoc(g ^ (xc * xa) mod p)) XOR MAC_key)
>
> Now, the RP, middle man M and OP all have the same MAC_key.
>
>
> Proposed Solution:
>
> Do not send enc_mac_key in response. Both OP and RP generate a MAC key
> as follows
>
> H(btwoc(g ^ (xa * xb) mod p))
>
> We are NOT sending the MAC key over and are not vulnerable to man in the
> middle attacks.
>
> Guoping Liu
> ___
> 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: RFC: Final outstanding issues with the OpenID 2.0Authenticationspecification

2007-05-18 Thread Recordon, David
Hi Dmitry,
I don't think the solution is to "simple denounce OpenID 2.0", but that
will rather only make it worse.  Rather I'd invite you to continue these
productive conversations to see if the issues can be resolved.  I think
it would be unfortunate for anyone to just give up.

--David 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Dmitry Shechtman
Sent: Friday, May 18, 2007 8:09 AM
To: 'Don MacAskill'; 'OpenID specs list'
Subject: RE: RFC: Final outstanding issues with the OpenID
2.0Authenticationspecification

> As a relative newcomer to the OpenID community, I realize this may 
> have been debated endlessly already, and I may just be shouted down.

It definitely has been debated endlessly.

> Or am I alone here?

No, you aren't. There are many who agree with this entirely, some of
whom have expressed their opinion on the various OpenID lists, but at no
avail.

My suggestion at this point would be to simply denounce OpenID 2.0.


Regards,
Dmitry
=damnian

___
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: RFC: Final outstanding issues with the OpenID 2.0 Authenticationspecification

2007-05-18 Thread Recordon, David
Hey Don,
Certainly not alone, though I think what we really need to dig into is
if the spec is actually more complex from a feature perspective or
because it is much more verbose and adds clarity over 1.1.  Splitting
discovery into a separate spec I think will also help in the document
being less intimidating.  This is certainly an important issue though,
OpenID has largely been successful because of how simple OpenID 1.1 +
Yadis + SREG is compared to the value provided.

--David 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Don MacAskill
Sent: Friday, May 18, 2007 7:49 AM
To: OpenID specs list
Subject: Re: RFC: Final outstanding issues with the OpenID 2.0
Authenticationspecification


Josh Hoyt wrote:
> If these four issues are resolved, can we call the OpenID 2.0 
> Authentication specification done? Speak up if you have any other 
> show-stoppers.
>
> Josh
> 

I hate to speak up last minute, but I was at a few tech conferences in
the past month or two, and spoke with lots of passionate OpenID
proponents.  There was a common thread among our discussions:  "OpenID
2.0 seems to be getting massively more complex without a clear reason to
do so.  One of the best things about OpenID 1.1 is how easy and simple
it is to write for."

My company, SmugMug, is an OpenID provider for hundreds of thousands of
"high value" paying accounts, and will shortly be a consumer as well. 
I'll freely admit that I haven't fully digested 2.0's pre-spec, but at
least part of that reason is it looks like it adds a lot more
complexity.  I can honestly say that if I had seen it as a spec, rather
than 1.1, I would have certainly put off implementation, possibly
indefinitely.

As a relative newcomer to the OpenID community, I realize this may have
been debated endlessly already, and I may just be shouted down.  I'm a
n00b, I get that.  But are we really sure that a much more complex spec
is in the best interests of the community?

Or am I alone here?

Thanks,

Don
___
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: Final outstanding issues with the OpenID 2.0Authenticationspecification

2007-05-18 Thread Recordon, David
Hey Dmitry,
When using Yadis you're able to advertise if you're speaking OpenID 1.1
or 2.0 and thus the RP know which version of the protocol the request
should be made in.  When using HTML-Based Discovery this is not possible
unless the attributes are renamed or a third "version" tag is added
which was not the preferred option.

--David 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Dmitry Shechtman
Sent: Friday, May 18, 2007 1:00 AM
To: 'Josh Hoyt'; 'OpenID specs list'
Subject: RE: Final outstanding issues with the OpenID
2.0Authenticationspecification

7.3.3. HTML-Based Discovery

A  tag MUST be included with attributes "rel" set to
openid2.provider"
and "href" set to an OP Endpoint URL

A  tag MAY be included with attributes "rel" set to
"openid2.local_id"
and "href" set to the end user's OP-Local Identifier


Could somebody please enlighten me as to what's wrong with leaving those
as "openid.server" and "openid.delegate" respectfully (i.e.
backward-compatible)?


Regards,
Dmitry
=damnian

___
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: RFC: Final outstanding issues with the OpenID 2.0 Authenticationspecification

2007-05-18 Thread Jonathan Daugherty
# I think in the past the idea was giving the HTML "form" element a
# specific name in addition to the text field.  This thus makes it
# much easier to detect.

And I believe it was also suggested that this is out of scope for the
protocol spec itself and should be added to either another spec or a
best practices document.

-- 
  Jonathan Daugherty
  JanRain, Inc.
  irc.freenode.net: cygnus in #openid
  cygnus.myopenid.com
___
specs mailing list
specs@openid.net
http://openid.net/mailman/listinfo/specs


RE: RFC: Final outstanding issues with the OpenID 2.0 Authenticationspecification

2007-05-18 Thread Recordon, David
I think in the past the idea was giving the HTML "form" element a
specific name in addition to the text field.  This thus makes it much
easier to detect.

--David 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Dmitry Shechtman
Sent: Friday, May 18, 2007 12:47 AM
To: 'Boris Erdmann'; 'Josh Hoyt'
Cc: 'OpenID specs list'
Subject: RE: RFC: Final outstanding issues with the OpenID 2.0
Authenticationspecification

> As of today browsers are forced to make untenable assumptions to 
> detect OPs or RPs. Read
> http://openid.net/specs/openid-authentication-2_0-11.html#initiation:
> "The form field's "name" attribute SHOULD have the value 
> "openid_identifier" is the only point for a browser to grip the 
> protocol. (And the field name is different from OpenID1.x)

Indeed. Here's a suggestion that floated during that talk.


The form field:

a. SHOULD have "openid_identifier" as its "name" attribute's value, b.
MUST have "openid" as a substring its "name" attribute's value and c.
SHOULD be the only field in the entire document to satisfy (b).


Regards,
Dmitry
=damnian

___
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: Final outstanding issues with the OpenID 2.0Authenticationspecification

2007-05-18 Thread Recordon, David
Please no talk of OpenID 3!  If anything, 2.1 or the "next version". :)

Thanks,
--David 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Josh Hoyt
Sent: Thursday, May 17, 2007 2:05 PM
To: Alaric Dailey
Cc: OpenID specs list
Subject: Re: Final outstanding issues with the OpenID
2.0Authenticationspecification

On 5/17/07, Alaric Dailey <[EMAIL PROTECTED]> wrote:
> I hate to be a PITA but these issues were brought up a while ago by 
> Eddy Nigg and Myself.

I understand, but at that time, as now, I was trying to get the spec to
be finished. We've been in something of an informal feature-freeze for a
while. Perhaps we should have explicit feature-freezes.

I'd suggest starting an OpenID 3 thread to talk about the features that
you want to add. That way, you can start trying to convince people that
your features should go in without having to battle with people like me
who just want to have a stable spec release with the improvements that
we already have.

Josh
___
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: RFC: Final outstanding issues with the OpenID 2.0Authenticationspecification

2007-05-18 Thread Recordon, David
I'm in support of doing this.

--David 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Josh Hoyt
Sent: Thursday, May 17, 2007 1:40 PM
To: Dmitry Shechtman
Cc: OpenID specs list
Subject: Re: RFC: Final outstanding issues with the OpenID
2.0Authenticationspecification

On 5/17/07, Dmitry Shechtman <[EMAIL PROTECTED]> wrote:
> "aside from XRI and Yadis"? XRI alone is twice as complex as OpenID
1.1!
>
> There has been a simplification suggestion floating around since long
ago:
> resolve i-names via http[s]://xri.net/.

-1. If XRI is to be included, it should be done the way that it's
intended. One possible solution that would address this problem as well
as the unfinished XRI specification is to split out Yadis and XRI
discovery out from the OpenID Authentication spec and into separate
documents. That way, they could wait until the XRI specs are done and
the OpenID spec will be shorter and easier to understand.

Josh
___
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: Final outstanding issues with the OpenID 2.0 Authenticationspecification

2007-05-18 Thread Marius Scurtescu
On 18-May-07, at 1:00 AM, Dmitry Shechtman wrote:

> 7.3.3. HTML-Based Discovery
>
> A  tag MUST be included with attributes "rel" set to  
> openid2.provider"
> and "href" set to an OP Endpoint URL
>
> A  tag MAY be included with attributes "rel" set to  
> "openid2.local_id"
> and "href" set to the end user's OP-Local Identifier
>
>
> Could somebody please enlighten me as to what's wrong with leaving  
> those as
> "openid.server" and "openid.delegate" respectfully (i.e.
> backward-compatible)?

The new attribute values are needed in order to signal an OpenID 2  
provider.

But you bring up a good point, backwards compatibility can be easily  
broken here.

In order to be backwards compatible the HTML page should have two  
sets of tags one for OpenID 1.1 and one for OpenID 2.0, both pointing  
to the same OP endpoint URL. Otherwise an OpenID 1.1 RP will not be  
able to use the HTML page.

Probably the spec should say this in section 7.3.3 and give clear  
instructions regarding OpenID 1.1 tags.

Marius

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


RE: RFC: Final outstanding issues with the OpenID 2.0 Authentication specification

2007-05-18 Thread Dmitry Shechtman
> Is it critical? No. Could we drop the constraint as you list it? Yes,
> I think.

Now that I'm rethinking it, "the entire document" in (c) and (d) should be
replaced with "the form"...


Regards,
Dmitry
=damnian


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


RE: Proposal for improved security of association establishment in OpenID2.0

2007-05-18 Thread Guoping Liu
Hans:

Thank you for your comments. I agree with you that "not vulnerable to
*this* man in the middle attack" is more accurate. 

Regards,
Guoping


-Original Message-
From: Granqvist, Hans [mailto:[EMAIL PROTECTED] 
Sent: Friday, May 18, 2007 10:14 AM
To: Guoping Liu; OpenID specs list
Subject: RE: Proposal for improved security of association establishment
in OpenID2.0

Guoping Liu: Nice write-up!

A comment though: This is a common MITM problem with DH key exchange. 

It seems if the MAC key was derived somehow from the negotiated 
secret, then this attack would not be possible. 

I never really grokked the XOR 'encryption' step, apart from 
its ease of implementation and what seemed reasonable protection,
both of great value. 

Perhaps some early spec writers (Brad?) can shed some light? Was 
there ever a discussion pre 1.x on using a MAC key derived
from (or maybe even being!) the negotiated secret, and if so, 
what's the weakness? Am I missing something obvious?

Thanks,
Hans

PS.
> We are NOT sending the MAC key over and are not vulnerable to 
> man in the middle attacks.

Gutsy statement!  Maybe "not vulnerable to *this* man in the middle 
attack" would be safer? ;)





> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Guoping Liu
> Sent: Thursday, May 17, 2007 11:53 AM
> To: OpenID specs list
> Subject: Proposal for improved security of association 
> establishment in OpenID2.0
> 
> Issue: Vulnerability to man-in-the-middle attacks
> 
> The association algorithm with DH-SHA1 and DH-SHA256 defined 
> in the draft 11 is vulnerable to man-in-the-middle attacks if 
> server authentication with HTTPS is not used. Here is how:
> 
> A RP sends an associate request an OP with following parameters:
> 
> openid.dh_modulus = base64(btwoc(p)) 
> openid.dh_gen = base64(btwoc(g)) 
> openid.dh_consumer_public = base64(btwoc(g ^ xa mod p))
> 
> A middle man M intercepts the request. M then generates xc, 
> creates a new request to the OP with following parameters:
> 
> openid.dh_modulus = base64(btwoc(p)) 
> openid.dh_gen = base64(btwoc(g)) 
> openid.dh_consumer_public = base64(btwoc(g ^ xc mod p))
> 
> The OP receives the request from M and sends following response to M
> 
> dh_server_public = base64(btwoc(g ^ xb mod p)) 
> enc_mac_key = base64(H(btwoc(g ^ (xc * xb) mod p)) 
> XOR MAC_key)
> 
> M decrypts the MAC_key as follows:
> 
> MAC_key = H(btwoc(g ^ (xc * xb) mod p)) XOR enc_mac_key
> 
> M then sends a response to the RP with following parameters:
> 
> dh_server_public = base64(btwoc(g ^ xc mod p)) 
> enc_mac_key = base64(H(btwoc(g ^ (xc * xa) mod p)) 
> XOR MAC_key)
> 
> Now, the RP, middle man M and OP all have the same MAC_key.
> 
> 
> Proposed Solution:
> 
> Do not send enc_mac_key in response. Both OP and RP generate 
> a MAC key as follows
> 
> H(btwoc(g ^ (xa * xb) mod p))
> 
> We are NOT sending the MAC key over and are not vulnerable to 
> man in the middle attacks.
> 
> Guoping Liu
> ___
> 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: RFC: Final outstanding issues with the OpenID 2.0 Authentication specification

2007-05-18 Thread Johannes Ernst


On May 18, 2007, at 0:54, Dmitry Shechtman wrote:


d. MUST be the only form field in the entire document to satisfy (b).


This doesn't work where a page offers a login form in more than one  
place -- not too unlikely in some ajaxy scenarios in my view.


Is it critical? No. Could we drop the constraint as you list it? Yes,  
I think.


Johannes Ernst
NetMesh Inc.


<><>
 http://netmesh.info/jernst

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


RE: Proposal for improved security of association establishment in OpenID2.0

2007-05-18 Thread Granqvist, Hans
Guoping Liu: Nice write-up!

A comment though: This is a common MITM problem with DH key exchange. 

It seems if the MAC key was derived somehow from the negotiated 
secret, then this attack would not be possible. 

I never really grokked the XOR 'encryption' step, apart from 
its ease of implementation and what seemed reasonable protection,
both of great value. 

Perhaps some early spec writers (Brad?) can shed some light? Was 
there ever a discussion pre 1.x on using a MAC key derived
from (or maybe even being!) the negotiated secret, and if so, 
what's the weakness? Am I missing something obvious?

Thanks,
Hans

PS.
> We are NOT sending the MAC key over and are not vulnerable to 
> man in the middle attacks.

Gutsy statement!  Maybe "not vulnerable to *this* man in the middle 
attack" would be safer? ;)





> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Guoping Liu
> Sent: Thursday, May 17, 2007 11:53 AM
> To: OpenID specs list
> Subject: Proposal for improved security of association 
> establishment in OpenID2.0
> 
> Issue: Vulnerability to man-in-the-middle attacks
> 
> The association algorithm with DH-SHA1 and DH-SHA256 defined 
> in the draft 11 is vulnerable to man-in-the-middle attacks if 
> server authentication with HTTPS is not used. Here is how:
> 
> A RP sends an associate request an OP with following parameters:
> 
> openid.dh_modulus = base64(btwoc(p)) 
> openid.dh_gen = base64(btwoc(g)) 
> openid.dh_consumer_public = base64(btwoc(g ^ xa mod p))
> 
> A middle man M intercepts the request. M then generates xc, 
> creates a new request to the OP with following parameters:
> 
> openid.dh_modulus = base64(btwoc(p)) 
> openid.dh_gen = base64(btwoc(g)) 
> openid.dh_consumer_public = base64(btwoc(g ^ xc mod p))
> 
> The OP receives the request from M and sends following response to M
> 
> dh_server_public = base64(btwoc(g ^ xb mod p)) 
> enc_mac_key = base64(H(btwoc(g ^ (xc * xb) mod p)) 
> XOR MAC_key)
> 
> M decrypts the MAC_key as follows:
> 
> MAC_key = H(btwoc(g ^ (xc * xb) mod p)) XOR enc_mac_key
> 
> M then sends a response to the RP with following parameters:
> 
> dh_server_public = base64(btwoc(g ^ xc mod p)) 
> enc_mac_key = base64(H(btwoc(g ^ (xc * xa) mod p)) 
> XOR MAC_key)
> 
> Now, the RP, middle man M and OP all have the same MAC_key.
> 
> 
> Proposed Solution:
> 
> Do not send enc_mac_key in response. Both OP and RP generate 
> a MAC key as follows
> 
> H(btwoc(g ^ (xa * xb) mod p))
> 
> We are NOT sending the MAC key over and are not vulnerable to 
> man in the middle attacks.
> 
> Guoping Liu
> ___
> 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: RFC: Final outstanding issues with the OpenID 2.0 Authenticationspecification

2007-05-18 Thread Dmitry Shechtman
> As a relative newcomer to the OpenID community, I realize this may have
> been debated endlessly already, and I may just be shouted down.

It definitely has been debated endlessly.

> Or am I alone here?

No, you aren't. There are many who agree with this entirely, some of whom
have expressed their opinion on the various OpenID lists, but at no avail.

My suggestion at this point would be to simply denounce OpenID 2.0.


Regards,
Dmitry
=damnian

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


Re: RFC: Final outstanding issues with the OpenID 2.0 Authentication specification

2007-05-18 Thread Don MacAskill

Josh Hoyt wrote:
> If these four issues are resolved, can we call the OpenID 2.0
> Authentication specification done? Speak up if you have any other
> show-stoppers.
>
> Josh
> 

I hate to speak up last minute, but I was at a few tech conferences in 
the past month or two, and spoke with lots of passionate OpenID 
proponents.  There was a common thread among our discussions:  "OpenID 
2.0 seems to be getting massively more complex without a clear reason to 
do so.  One of the best things about OpenID 1.1 is how easy and simple 
it is to write for."

My company, SmugMug, is an OpenID provider for hundreds of thousands of 
"high value" paying accounts, and will shortly be a consumer as well. 
I'll freely admit that I haven't fully digested 2.0's pre-spec, but at 
least part of that reason is it looks like it adds a lot more 
complexity.  I can honestly say that if I had seen it as a spec, rather 
than 1.1, I would have certainly put off implementation, possibly 
indefinitely.

As a relative newcomer to the OpenID community, I realize this may have 
been debated endlessly already, and I may just be shouted down.  I'm a 
n00b, I get that.  But are we really sure that a much more complex spec 
is in the best interests of the community?

Or am I alone here?

Thanks,

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


RE: Final outstanding issues with the OpenID 2.0 Authenticationspecification

2007-05-18 Thread Dmitry Shechtman
7.3.3. HTML-Based Discovery

A  tag MUST be included with attributes "rel" set to openid2.provider"
and "href" set to an OP Endpoint URL

A  tag MAY be included with attributes "rel" set to "openid2.local_id"
and "href" set to the end user's OP-Local Identifier


Could somebody please enlighten me as to what's wrong with leaving those as
"openid.server" and "openid.delegate" respectfully (i.e.
backward-compatible)?


Regards,
Dmitry
=damnian

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


RE: RFC: Final outstanding issues with the OpenID 2.0 Authentication specification

2007-05-18 Thread Dmitry Shechtman
Oh my, I'm still asleep... Here's a better formulation.


The form field:

a. MUST have "openid" as a substring of its "name" attribute's value,
b. SHOULD have "openid_identifier" as its "name" attribute's value,
c. SHOULD be the only form field in the entire document to satisfy (a) and
d. MUST be the only form field in the entire document to satisfy (b).


Regards,
Dmitry
=damnian

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


RE: RFC: Final outstanding issues with the OpenID 2.0 Authentication specification

2007-05-18 Thread Dmitry Shechtman
> As of today browsers are forced to make untenable assumptions to
> detect OPs or RPs. Read
> http://openid.net/specs/openid-authentication-2_0-11.html#initiation:
> "The form field's "name" attribute SHOULD have the value
> "openid_identifier" is the only point for a browser to grip the
> protocol. (And the field name is different from OpenID1.x)

Indeed. Here's a suggestion that floated during that talk.


The form field:

a. SHOULD have "openid_identifier" as its "name" attribute's value,
b. MUST have "openid" as a substring its "name" attribute's value and
c. SHOULD be the only field in the entire document to satisfy (b).


Regards,
Dmitry
=damnian

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


Re: RFC: Final outstanding issues with the OpenID 2.0 Authentication specification

2007-05-18 Thread Boris Erdmann
> If these four issues are resolved, can we call the OpenID 2.0
> Authentication specification done? Speak up if you have any other
> show-stoppers.
>
> Josh

Yesterday, Dmitry and I had a long talk about browser support for
OpenID. I think it is consensus between us two to state, that there
are lots of snares for browsers, if there will be no ways for browsers
to detect OPs or even RPs.

As of today browsers are forced to make untenable assumptions to
detect OPs or RPs. Read
http://openid.net/specs/openid-authentication-2_0-11.html#initiation:
"The form field's "name" attribute SHOULD have the value
"openid_identifier" is the only point for a browser to grip the
protocol. (And the field name is different from OpenID1.x)

We also discussed the fact that the spec does not provide any hints
WHEN in the flow of the protocol the RP-OP transition takes place.
  It is valid that between entering an openid at an RP site
  and redirecting to an OP lots of pages get displayed by the
  RP (as part of non sreg registration, for exampe).
  OpenID2.0 allowing for POST redirects adds to this.

Therefor hints for robust OP detection would not hurt either.

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