[Authentication] Mission statement

Michael Leupold lemma at confuego.org
Fri Oct 17 10:24:04 PDT 2008


Hi everyone,

I figure this list isn't that populated yet but I finally found some time to 
put together what I want this project to be about.

In short I want to build a specification and implementation for a cross-
desktop single-signon daemon. The user authenticates to the daemon once and 
gets his passwords/private keys unlocked. Trusted applications can then access 
the secrets the daemon holds whereas secret data is not accessible to other 
"untrusted" programs.

Having this mechanisms shared between desktops (eg. GNOME, KDE) as well as 
"third-party" applications like the Mozilla applications will provide a major 
benefit to users by unifying various mechanisms.

Currently KDE uses the KDE wallet system for password storage. GNOME uses the 
keyring daemon which provides passwords and private keys (using different 
algorithms). Other applications seem to mostly use scrambled password files to 
store their secrets.

By providing a common specification/daemon, users will only have to 
authenticate to such a daemon once (or maybe even not at all if unlocking the 
secret storage at login time). Their secrets will be stored as safe as the 
platform the desktop is running on allows.
It will of course also benefit the developers as there's only one scheme and 
one implementation to support and thus only one implementation to keep secure.

Having worked on kwalletd I also had a look at keyring. It's pretty clear that 
keyring is way ahead eg. by providing a PKCS#11 module so other applications 
supporting it can use private keys shared by keyring. Thus I asked if KDE 
would oppose adopting keyring as a common implementation. I haven't received 
any negative replies so that's what I'll try to push forward.

I'd also like the possibility to open wallets/keyring using different methods. 
Currently only passwords are supported but allowing opening it using a 
smartcard or some biometrics shouldn't be too hard. Another feature I'd 
appreciate is secure synchronization.

Apart from that the focus should be on improving the security. There's 3 major 
parts to it:
- Disallowing other applications to spy on the daemon (eg. by using ptrace())
- Making sure the daemon<->application transport can not be tampered with
- Enforing ACLs so "untrusted applications" can not access secret data.

For a specification the current keyring transport protocol would have to be 
documented to allow other applications to write their own client library. 
However maybe it already is and I just haven't found it :)

Of course all of the above should be discussed so we get a broad range of 
supporting desktops and applications. If you have any ideas or feel I'm going 
the wrong way, please bring it up. I hope I can push some more information 
soon.

Currently my main problem is that I haven't been able to reach Stef Walter, 
the keyring maintainer. His email address no longer works and I currently have 
no means to get in touch with him.

Regards,
Michael

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freedesktop.org/archives/authentication/attachments/20081017/16d1eef7/attachment.pgp 


More information about the Authentication mailing list