On 26-Jun-06, at 10:42 PM, Pete Resnick wrote:

I expect anyone who wants to propose a problem and/or solution to be able to say how their proposal answers these questions:

I'm willing to answer these questions from the DIX perspective... for both the problem as documented in draft-merrells-use-cases-xx and the proposed solution in the protocol and assertion drafts.

I'd hope that others attending the BOF with a view to presenting their ideas would surface them on this (these) lists, answer these questions, and enter into any resulting conversations.

- What problem does this address that isn't addressed by a local "keychain" or information database on the client? (For example, possible answers include: "The problem of not having to change the local user agent" and "The problem of portability".) What's the downside if we don't solve those problems?

From the DIX use-cases:

We have as a goal 'ease of adoption'... from this flows a solution architecture that mandates no changes to the User Agent, and minimal changes to both the Relying Party and to the User's behaviour. All complexity is pushed back to onto the Identity Agent, which could be an IdP. The downside we believe is lower rates of adoption at a slower pace.

Portability is covered by use-cases B12 and B15. Portability is important to a large class of users as they have multiple devices for accessing internet services. The downside of not addressing portability is that it's a barrier to adoption... if a solution has only one thing a potential user doesn't like they won't use it. Joel Spolsky makes the point aptly in his book 'Joel on Software' where he writes that the killer feature in Excel 4 that tipped the market in the favour was the the ability to _write_ lotus 123 files. The last objection to adoption has been removed.

DIX use-cases A1 through A14 document scenarios for the acquisition and presentation of third-party attested assertions. From this flows requirements upon the solution for a protocol between the Identity Issuer (the authoritative source) and the Identity Agent. Maybe this goes beyond the scope of your question... but it's our opinion that that this is a problem and a solution would provide benefits to internet users. The downside... a missed opportunity to enable many useful services on the internet that exist in the real world today. But, this could be layered on top of an existing architecture at a later data. This was the approach we took when I published draft- merrells-dix-00, but without 'claims' the solution proposal appears to not offer enough value to some. By explicitly documenting the claims use-cases we aimed to sketch out a roadmap of functionality that could be built upon this digital-identity-exchange architecture.

- Does the mechanism use or extend currently deployed web authentication mechanisms (client side and server side)? If not, why not?

For User Authentication the DIX drafts explicitly state that it as out of scope. It's not a problem that appears in the DIX use-cases. The DIX use-cases motivate requirements for moving around the result of an authentication event, rather than performing the authentication process itself. However, I'm glad that others are willing to document and address that issue though.

For Server Authentication the DIX use-cases don't call that out as an issue, but draft-merrells-dix-xx drafts do include some functionality for providing the user with some assurance that they are dealing with whom they think they are. We allow the request and response messages to include references to signed logos.

- Is the client able to decide which identifying information goes to the server?

By 'client' I take it to mean 'user'. This is a fundamental requirement, as document in Kim's laws of identity. It's part of the problem and every solution to be adoptable must meet this requirement. DIX does.

- Does the mechanism involve 3rd parties for authentication or identifying info? Does the 3rd party need to be trusted by the relying party?

For authentication - No not really, as the user is self asserting that they own an identifier and there's a verification mechanism to check that they do. The identifier, a URL, may be hosted, but I don't count that as a third party. The user's identity agent may be a website, or an enhanced browser, but I don't count that as a third party either.

For 'identifying info', which I think means third-party attested attribute value assertions, then yes there is a third-party that is the authoritative source of that attribute and yes the relying-party has to trust that third-party to accept the assertion to be valid.

- Does the mechanism use a format for the information that has widely available implementations?

'the information' is a bit ambiguous there, as in the question above it's 'identifying information', which to me means an 'identifier'. In DIX (dmd2) we state the identifier as being a URI and define a PersonaURL property that describes how to use a URL as an identifier.

But I think you mean authentication and attribute assertions.

Authentication Assertions in DIX are response messages containing an identifier property where the whole message has been signed using a 'lightweight' signing mechanism (HMAC). In dmd1 the message format was name-value pairs, in dmd2 it is a SAML message. The SAML message however mostly reuses the syntax of SAML and not much of the semantics... work would have to be done there to make the SAML message both look and behave as a SAML message in existing SAML profiles. Jeff/Scott have kicked out a draft that takes an existing SAML profile and extra-profiles it to use a 'lightweight' signing mechanism. (I haven't read it - but i think that's the gist of it).

Attribute Assertions in DIX may be self-asserted or third-party- asserted. Self-asserted are name-value pairs... where the value is a UTF-8 string... to highly portable and you can impose any information model you want on that, so long as you can serialize it into a string. Third-party assertions are documented in draft-merrells- assertion-xx and is a profile of a SAML assertion. Lots of code out there to deal with those. But, there are many forms of claim that could be used. The problem is moving them about, not creating or consuming them..

- Are you using a mechanism to authenticate the information that has widely available implementations?

See last para... basically SAML assertions for attributes.

I'll probably have more questions, but these are along these lines of the ones you should be thinking about. Answers to these here on the list will help me formulate agenda items.

I'd encourage you, and everyone, to ask more general questions of the problem and solution proposers so that we can all learn as much about each other's positions before we meet up in Montreal next month. I hope that the BOF will be productive and that we'll leave there having identified the problem(s) and with a plan for how we tackle them.

John



_______________________________________________
dix mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/dix

Reply via email to