On Tue, Apr 28, 2009 at 12:36 PM, Brian Eaton <bea...@google.com> wrote: > > On Mon, Apr 27, 2009 at 8:25 PM, pkeane <pjke...@gmail.com> wrote: >> I'm happy with OAuth for the typical sorts of social networking, >> photo-sharing, etc. use cases, and I use it for that. But I'd very >> much like to be able recommend it for more highly secure scenarios >> here on campus (I work in higher ed) that might involve confidential >> records. For OAuth to replace or be used in conjunction with the >> cuurent campus SSO and federated systems like Shibboleth, we would >> really need that extra level of verifiable security. > > Hi Peter - > > SSO systems such as SAML/OpenID/others all use the equivalent of a > callback token to bind the session at the identity provider to the > relying party. The fix to the OAuth protocol is to make it look just > like the "campus SSO and federated systems" that you mention above:
Hi Brian- It's true that a "runtime" connection is made in a SSO systems, but as far as I know, it is *always* based on an out-of-band arrangement (such as a public key exchange, or server-provider regstration) or (in the case of Shib) built directly on top of system(s) that have trusted authentication mechanisms in place which are themselves based on out-of-band arrangements. > > OpenID: signature on authentication response. > SAML POST profile: signature on authentication response. > SAML artifact profile: random single-use artifact value. OpenID is simply built on the trust of the identity provider's authentication -- to the extent that is acceptible, the OpenID is acceptable. But that is the equivalent of two-legged OAuth in that it is two "services" that have an agreement. That last link in OAuth (connecting u...@consumer to u...@sp) is NOT based on out-of-band arrangement. It appears to be, but it is not (since the consumer-SP agreement is site-wide *not* user-specific). > > All of those systems pass a value that is unpredictable to the > attacker to a trusted location at the consumer site. None of those > systems force the user to do anything as obnoxious as manually type a > pin at the consumer site. Sure they do. I cannot use my LiveJournal OpenID unless I have gone through the registration process on LiveJournal's site. Once that is completed, I can use that OpenID with services that accept it. Likewise, once a user has gone through the OAuth handshake and gotten the access token for the consumer, the consumer can store it and use it anytime it wishes (for the user -- this assumes that the consumer has a method to authenticate the user to its own satisfaction). > > If you think manually typing a pin increases security, you should > explain the attack you're trying to prevent. Why should OAuth have > such a requirement if SAML and OpenID don't? > I am not trying to thwart a specific attack -- I have no idea how one might exploit the existing hole. I'm simply trying to determine a way to "verify" that u...@consumer IS u...@sp. If that hole is closed, the protocol is as strong as the existing protocols it rests atop of. > So far the only concrete "explanation" I've seen is that ATMs require > PINs, so OAuth should require a PIN. You're confusing two-factor > authentication with federated authentication protocols. I have no stake in a PIN as the solution. My mentioning banks was to try and explain why something as simple as a 4-letter PIN can offer a great deal of security. In fact I don't care at all what the solution is. Any mechanism that verifies u...@consumer == u...@sp is a-ok. Unfortunately, three-legged OAuth is actuallly an authentication/authorization protocol masquerading as an authorization protocol, but it is not actually doing authentication at the consumer which it needs to (authentication meaning proving u...@consumer == u...@sp). I'm not sure this should all boil down to one opinion over another -- I'd prefer that we could agree on what the goal is and if it is being adequately addressed. I think we can all agree (since this is in essence what Eran's blog post suggested) that we need to prove u...@consumer == u...@sp. If everyone agrees the callback_verification is proof enough, I am OK w/ that -- that's a level of certainty that the community as a whole might be able to accept. --peter Two factor > authentication is great, and it's fine for consumers and service > providers to implement that. No change to the OAuth protocol is > necessary to support it. Again, this is exactly analogous to the > situation in OpenID and SAML. It's completely reasonable for a SAML > IdP to implement two-factor authentication for their users, and doing > so doesn't impact the SAML protocol one whit. > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "OAuth" group. To post to this group, send email to oauth@googlegroups.com To unsubscribe from this group, send email to oauth+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/oauth?hl=en -~----------~----~----~----~------~----~------~--~---