Service Key Discovery 1.0
NISHITANI Masaki
m-nishitani at nri.co.jp
Mon Jan 21 10:38:44 UTC 2008
Hi all.
What concerns me these days is about secure data exchange
over OpenID for serious services and about this theme, I
came upon an specification, "secure key discovery 1.0"
For my understanding, this spec is about implementing
security framework on OpenID world and is still very draft.
Now I'd like to figure out some point I found.
- In this, the url of the public key is defined to be in the
XRD document and entities will make another request for
the url to retrieve the public key itself.
This gives bad people a chance to pass off a fake key with
poisoning the end-user's DNS. How about to put public key
itself in the XRD or someone else the entity trusts (a
key server)?
The entity only has to manage SSL certificate fingerprints
of XRD authorities or trusting key servers.
- With "secure key discovery", we do have to use
"association" or "verification message" no longer.
I think we can optimize OpenID protocol using digital
signature with public keys. This can be done with
following procedure.
1. End-user enter its OpenID in RP site.
2. RP resolve the id and select the user's OP.
3. In the same time, RP retrieve the OP's public key.
4. RP generate a challenge (maybe the user's http session
id)
5. RP send the id to the OP via http redirection.
6. OP authenticate the user and sign to the challenge with
OP's secret key.
7. OP send the assertion including the signed challenge
back to the RP via redirection.
8. Now RP can verify the assertion with the signature
using OP's public key.
The good thing about this sequence is not only reducing
network traffic, but this can be a solution against
man-in-the-middle attacks, to which OpenID has principle
vulnerability.
I think this spec can be quite useful for the next version
of OpenID protocol.
Does someone know the status of it?
=masaki
More information about the specs
mailing list