[OpenID] TransparencyCamp and OpenID (U)

Peter Williams pwilliams at rapattoni.com
Sun Mar 15 19:05:46 UTC 2009


I think the Openid community has as moment to seize, wrt SSL/TLS; and has a decision to make. Given the power structure built into the Foundation's Board, actually achieving anything will come down to one of the large corporate members [openly] driving the agenda.



We have to take stock of the fact that 1. what the openid auth spec says about https;  and 2. what the community does - are simply at odds. That double whammy pretence at assurance combined with denial of the very need for assurance is quite typical in a community at this point in its development. One could call this community as being at its version of the "windows 95" crossroads - where win95 was the last of the consumer-centric PC concepts projecting a view of a connected world in which consumers were assumed to be "too otherwise occupied" about ease of use to ever worry about security needs (or deal with the GUI hassles of countermeasures).



We also have to remember that t1994-era https was not designed to do what openid auth needs. But, its mechanisms for namespace delegation and control practices from that 90s DNS-centric control era CAN BE repurposed for a discovery-based world of XRD resolution. I personally feel that https can evolve  in this area - if there is a will to do it, and given such a clear mission statement. It can evolve to provide assurance for XRD-based discovery protocols; and its handshake and session-based connection-management enforcing functions can also evolve - if there more will to do that too - to provide assurances that directly support upper layer websso state machines, including that used by openid auth2



I think we have the technical skills to specify and build an additional, custom SSL record-layer protocol, in this community -- if there is a will to do it. As the https resolver in the openid world is a server-thread, we also have a uniquely-scoped  integration opportunity - one that does not impact browser world. Of course, the end goal is not upgrading SSL itself but upgrading https URL resolution - so https urls (vs client certs) can properly support a url-identifier based world, when supported by a trustworthy XRDS infrastructure.



If we look at the assets and their properties, we can perhaps see that first, Https is clearly in dire need of re-imagining (it's sooo early 90s DARPA-internet in its design concept). But, it is also well suited to the problem at hand, if we can break the DNS hegemony. Then, there is the PKI toolkit available to https endpoints these days. It is finally complete enough to allow a suitable of key-management based assurance mechanisms to support a discovery/locator service (i.e. key management lifecycle handling is complete, largely unbundled now from the 1980s X.509 conception of global directories, and clearly supports both hierarchical and p2p management domains at large scale). But most critical of al,  we actually have the people with the SSL/https knowhow, coding capabilities and killer-app distribution capabilities to pull it off. Openid auth would be just the first application of such a reconceived https, addressing a web3.0 world founded on url-based routing architected explicitly to support an entire class of discovery-based secure interworking.





The political questions are perhaps:



Do we have the will to break the IETF dogmatic mantras that SSL mechanisms are for all time fixed to OSI layer 4 boundaries;



Do we have the will to remove from https the link to the DNS (which would impact the business interests of some very large companies).



Do we have the will to address the fear that legacy issues are "just too hard" to overcome



Do we have the political savvy to address the power and influence of the [competing] SAML crowd (given their cosy track inside-access to USG funding agencies)



Do we have the means to overcome our own initiative-killer: "there is just no need for the openid mission to focus [today] the missing 20% of design work that specifically addresses [a range of] assurance"?



> -----Original Message-----

> From: general-bounces at openid.net [mailto:general-bounces at openid.net] On

> Behalf Of Ben Laurie

> Sent: Friday, March 13, 2009 10:53 AM

> To: Breno de Medeiros

> Cc: OpenID List

> Subject: Re: [OpenID] TransparencyCamp and OpenID (U)

>

> On Fri, Mar 13, 2009 at 4:28 PM, Breno de Medeiros <breno at google.com>

> wrote:

> >

> >

> > On Fri, Mar 13, 2009 at 3:42 AM, Paul Madsen <paulmadsen at rogers.com>

> wrote:

> >>

> >> Full NIST LOA requirements for 'assertions' (NIST uses the term in

> the

> >> inclusive sense and not specific to SAML) are laid in Section 10.3.2

> of

> >> http://csrc.nist.gov/publications/drafts/800-63-rev1/SP800-63-

> Rev1_Dec2008.pdf

> >>

> >> Focusing on Level 2, the combined assertion requirements of LOA 1 &

> 2 are

> >>

> >> 1a) All assertions recognized within this guideline must indicate

> the

> >> assurance level of the initial authentication of the Claimant to the

> >> Verifier using the former's long-term token(s). The assurance level

> >> indication within the assertion may be implicit (e.g., through the

> identity

> >> of the Verifier implicitly indicating the resulting assurance level)

> or

> >> explicit (e.g., through an explicit field within the assertion.)

> >

> > Implicit indication could be achieved by public documentation.

> >>

> >> 1b)  it must be impractical for an Attacker to manufacture an

> assertion or

> >> assertion reference that can be used to impersonate the Subscriber.

> If the

> >> direct model is used, the assertion which is used must be signed by

> the

> >> Verifier or integrity protected using a secret key shared by the

> Verifier

> >> and Relying Party, and if the indirect model is used, the assertion

> >> reference which is used must have a minimum of 64 bits of entropy.

> >

> > Shared secret key => implies that the OP should not accept

> negotiations over

> > HTTP. Even DH does not bind the shared key to the verifier because

> there is

> > no authenticity.

> > Response_nonce should have at least 64 bits of entropy.

> >

> >>

> >> 1c) Assertions shall be specific to a single transaction, and, if

> >> assertion references are used, they shall be freshly generated

> whenever a

> >> new assertion is created by the Verifier. In other words, assertions

> and

> >> assertion references are generated for one time use.

> >

> > Response_nonce, if properly implemented, would guarantee this. Both

> the RP

> > and the OP (in check_authentication mode) should verify the nonce for

> > uniqueness.

> >

> >>

> >> 1d) all assertions sent from the Verifier to the Relying Party must

> either

> >> be signed by the Verifier, or transmitted from an authenticated

> Verifier via

> >> a protected channel. In either case, a strong mechanism must be in

> place

> >> which allows the Relying Party to establish a binding between the

> assertion

> >> reference and its corresponding assertion, based on integrity

> protected (or

> >> signed) communications with the authenticated Verifier.

> >

> > Implies that OP check_authentication should be over SSL only.

> >

> >>

> >> 1e) assertions that are consumed by a Relying Party which is not

> part of

> >> the same Internet domain as the Verifier must expire within 5

> minutes of

> >> their creation. Assertions used within a single Internet domain,

> including

> >> assertions contained in or referenced by cookies, however, may last

> as long

> >> as 12 hours.

> >

> > That means that the RP should reject response_nonces older than five

> > minutes. Implies some level of clock skew adjustment that OpenID does

> not

> > provide.

> >

> >>

> >> 2a) assertions must specify whether the name of the Subscriber is a

> >> verified name or a pseudonym.

> >

> > Assuming it to be a pseudonym unless otherwise specified by

> extensions would

> > satisfy this.

> >

> >>

> >> 2b) assertions shall be protected against manufacture/modification,

> >> capture, redirect and reuse.,

> >

> > Reuse is prevented by the signature inclusion of the return_to URL,

> > op_endpoint. Signature also prevents against modification. Protecting

> > against capture could be understood as a mandate for POST, since GET

> > assertions can be compromised through the browser history prior to

> their

> > expiration.

> >

> >>

> >> 2c) assertions, assertion references and any session cookies used by

> the

> >> Verifier or Relying party for authentication purposes, shall be

> transmitted

> >> to the Subscriber through a protected channel which is linked to the

> primary

> >> authentication process in such a way that session hijacking attacks

> are

> >> resisted

> >

> > This is not applicable, as OpenID does not rely on common-domain

> cookies.

>

> It constrains implementation of the Verifier and RP, therefore not

> every OpenID implementation would qualify. So, it is applicable.

>

> Plus it applies to assertions and assertion references, too.

>

> Which means it requires SSL or equivalent.

>

> >

> >>

> >> 2d) To protect assertions against manufacture, modification, and

> >> disclosure, assertions which are sent from the Verifier to the

> Relying

> >> Party, whether directly or through the Subscriber's device, shall

> either be

> >> sent via a mutually authenticated channel between the Verifier and

> Relying

> >> Party, or equivalently shall be signed by the Verifier and encrypted

> for the

> >> Relying Party.

> >

> > Again, implies that check_authentication should be performed over SSL

> only.

> >

> >>

> >> 2e) All assertion protocols used at Level 2 and above require the

> use of

> >> Approved cryptographic techniques. As such, the use of Kerberos keys

> derived

> >> from user generated passwords is not permitted at Level 2 or above.

> >

> > SSL would likely meet such standards.

> >

> >

> > In the surface, it would seem that OpenID could achieve such standard

> with

> > minor tweaks of the protocol. However, this perception is misleading.

> The

> > standards was developed for non-user-centric systems where the IDP

> has

> > out-of-band mechanisms to bind identifiers to real users. In a user-

> centric

> > system where users can delegate arbitrary identifiers to the OP, one

> would

> > expect it to be necessary to develop an additional set of criteria by

> which

> > delegation can be assured to a minimum level of integrity protection.

> Today

> > delegation can be achieved reasonably easily via phishing attacks

> that may

> > appear relatively benign (do not ask user to enter password

> credentials, for

> > instance).

> >

> >

> >>

> >>

> >> paul

> >>

> >> Brett McDowell wrote:

> >>

> >> To (what I think is) Chris' point about changing/up-leveling the

> >> discussion out of a "OpenID vs. SAML" or "OpenID is insecure"

> sidetrack, and

> >> to (what I think is) Johannes' point about capturing the security

> >> requirements that we can base a new work stream on... I humbly

> suggest we

> >> look at the requirements our friends in the US Government (and

> others) are

> >> requiring now and are confident they will continue to require

> regardless of

> >> (and independent of) private sector innovation.  I'm specifically

> referring

> >> to their requirement to compliance to the NIST defined levels of

> assurance

> >> (LOA).

> >> If I were to peer into my crystal ball I would probably see that

> most of

> >> the compelling applications that governments will open to 3rd-party

> >> credentialed citizens are likely to be set to LOA 2 or LOA 3.  How

> about we

> >> shift this conversation to focus on how OP's can offer OpenID-based

> services

> >> to their users that achieve government recognized compliance to LOA

> 2 (and

> >> soon after, LOA 3)?

> >> Some work on this has already been *started* but not progressed in

> >> earnest.  Project Concordia has some use cases that look at this

> problem

> >> space.  The Identity Assurance Framework looks at how any particular

> >> credential service can achieve LOA 1 through LOA 4.  What we don't

> have is

> >> any analysis of what an OP could achieve with OpenID 2.0.  Knowing

> this will

> >> provide a clear gap analysis of what we have vs. what we need. We

> can base

> >> our deliberations on these hard facts.  I can only believe this will

> be more

> >> productive than... actually I don't see any alternative to this

> approach if

> >> we are serious about making progress.

> >> Next Steps?

> >> Since I work closely with the primary US Government agency in charge

> of

> >> procurement (which is quite important to the issue of what/which IT

> >> infrastructure Federal agencies deploy), and because they already

> require

> >> our certification for all federation technology prior to being

> considered by

> >> agencies for procurement (this is all SAML and/or PKI  today -- just

> to

> >> clear up any confusion about the usage of SAML in eCitizen

> applications),

> >> and since they are working closely with us to adopt our credential

> >> assessment framework for LOA 1-2 in the very near future (and LOA 3-

> 4 down

> >> the road), I would be happy to talk with them about co-hosting a

> kick-off

> >> event to drill into this issue as it relates to OpenID specifically.

> I

> >> assume they will be interested.  They, like I, would like to see

> citizens be

> >> able to use whatever private sector credentials they "already have"

> to

> >> access government applications.  If those are OpenID's, then lets

> make sure

> >> those OpenID's are going to be acceptable to these federal Relying

> Parties

> >> (who knows, we might learn something that helps us win more RP

> adoption in

> >> other markets as well).

> >> Thoughts?

> >>

> >> Brett McDowell | +1.413.652.1248 | http://info.brettmcdowell.com

> >> On Mar 12, 2009, at 9:05 PM, Peter Williams wrote:

> >>

> >>

> >> I've been playing with dynamic SAML metadata modes recently. Instead

> of

> >> reading a signed XRDS file, peers dynamically  sign SAML metadata

> files. A

> >> SAML metadata file is only XML, and has extensions:  one of which

> could

> >> include an XRD or 2 (and thus get signed XRD off the ground). You

> can look

> >> at the SAML endpoints as funky XRD services, all expressed in their

> own

> >> markup.

> >>

> >> The best thing that ever happened to SAML2 was openid - as [most of]

> the

> >> SAML crowd have largely got off their ultra high horse and been

> forced to

> >> match openid in simplicity and effectiveness (or be made

> irrelevant).

> >>

> >>

> >>

> >>

> >>

> >> From: general-bounces at openid.net [mailto:general-

> bounces at openid.net] On

> >> Behalf Of Chris Messina

> >> Sent: Thursday, March 12, 2009 3:59 PM

> >> To: Johannes Ernst

> >> Cc: OpenID List

> >> Subject: Re: [OpenID] TransparencyCamp and OpenID (U)

> >>

> >> On Thu, Mar 12, 2009 at 4:37 PM, Johannes Ernst

> >> <jernst+openid.net at netmesh.us> wrote:

> >> On Mar 12, 2009, at 9:46, Ben Laurie wrote:

> >> I agree that all of SAML is way too large a pill to swallow but

> >> there's no reason subsets that are usable cannot be defined, and,

> >> indeed, have been.

> >>

> >> I would love it if somebody was actually starting a working group

> (in

> >> Apache they would call it "incubate") that would propose all the

> gory

> >> details of a "more secure" form of OpenID that still fits into the

> >> decentralized, discovery-based OpenID architecture. Only then can we

> tell

> >> what may or may not be the better approach.

> >>

> >> +1.

> >>

> >> I'm not the person to do it, simply because I don't have the

> background,

> >> but I'm really no longer interested in the discussion that "OpenID

> isn't

> >> good enough for high-value transactions". Tell that to the Japanese

> who are

> >> already pushing payments over/with OpenID.

> >>

> >> If it's got security issues, as Johannes said, we should collect a

> list of

> >> them as issues and go about finding suitable solutions, best

> practices or

> >> explanations for WONTFIX-type resolutions.

> >>

> >> The reality is, people will use OpenID in all kinds of cases that we

> can't

> >> be able to anticipate; SAML (again, from what I hear - being mostly

> SAML

> >> ignorant) is that SAML requires sysadmins to maintain and more and

> more

> >> organizations want to move away from that kind of model.

> >>

> >> HTTP succeeds because (among many, many other reasons) you can jack

> up

> >> your service to things like S3 once you realize that you're not

> really

> >> saving any money as a small to mid-sized organization running a

> server farm.

> >> The same thing applies to user authentication and security over

> time, where

> >> it'd be nice to have a fairly straight-forward, interoperable

> protocol for

> >> doing authentication. From what I've heard, I don't question the

> >> sophistication or technological pedigree of SAML; it's just that

> when I hear

> >> people say that OpenID isn't secure enough, it's like saying we

> should all

> >> switch to RDF because it's OMG-so-much-better.

> >>

> >> I don't doubt that either are, if your primary concerns in life are

> >> centered around the problems that these technologies solve; but for

> folks

> >> for whom security isn't necessarily their only responsibility, and

> they no

> >> longer have an IT department or staff to manage a SAML solution and

> look to

> >> OpenID as a potential answer - saying that OpenID isn't secure

> enough

> >> doesn't seem to be an answer to the question "well, then what do I

> use?"

> >>

> >> How do we get from where we are today to a point where OpenID really

> does

> >> solve a large number of security problems - if only because it

> hopefully

> >> means fewer passwords in use overall - and fewer unique accounts to

> >> maintain? Look, let's take another look at this: it isn't just "is

> OpenID by

> >> itself secure?" It's: "given how OpenID changes the makeup of and

> behavior

> >> in the overall ecosystem, are we now more secure than we were

> before?" In

> >> general, I think the answer is yes, though of course good security

> >> necessitates vigilance and constant improvement.

> >>

> >> To Johannes point: are we capturing these needed improvements

> anywhere,

> >> and if not, can we begin to?

> >>

> >> Chris

> >>

> >>

> >> --

> >> Chris Messina

> >> Citizen-Participant &

> >>  Open Web Advocate-at-Large

> >>

> >> factoryjoe.com # diso-project.org

> >> citizenagency.com # vidoop.com

> >> This email is:   [ ] bloggable    [X] ask first   [ ] private

> >> _______________________________________________

> >> general mailing list

> >> general at openid.net

> >> http://openid.net/mailman/listinfo/general

> >>

> >> ________________________________

> >> _______________________________________________

> >> general mailing list

> >> general at openid.net

> >> http://openid.net/mailman/listinfo/general

> >>

> >>

> >> ________________________________

> >> No virus found in this incoming message.

> >> Checked by AVG.

> >> Version: 7.5.557 / Virus Database: 270.11.10/1996 - Release Date:

> >> 11/03/2009 8:42 PM

> >>

> >>

> >> --

> >> Paul Madsen

> >> e:paulmadsen @ ntt-at.com

> >> p:613-482-0432

> >> m:613-282-8647

> >> web:connectid.blogspot.com

> >>

> >> _______________________________________________

> >> general mailing list

> >> general at openid.net

> >> http://openid.net/mailman/listinfo/general

> >>

> >

> >

> >

> > --

> > --Breno

> >

> > +1 (650) 214-1007 desk

> > +1 (408) 212-0135 (Grand Central)

> > MTV-41-3 : 383-A

> > PST (GMT-8) / PDT(GMT-7)

> >

> > _______________________________________________

> > general mailing list

> > general at openid.net

> > http://openid.net/mailman/listinfo/general

> >

> >

> _______________________________________________

> general mailing list

> general at openid.net

> http://openid.net/mailman/listinfo/general
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-general/attachments/20090315/92385d88/attachment-0002.htm>


More information about the general mailing list