[OpenAFS-devel] aklog on MacOS X was Re: Service Ticket Questions
Alexandra Ellwood
lxs@MIT.EDU
Tue, 21 Mar 2006 10:01:51 -0500
On Mar 20, 2006, at 9:34 PM, Jeffrey Altman wrote:
> What you really want is for Apple to provide an equivalent of the
> Network Identity Manager that Asanka Herath built for Microsoft
> Windows.
> The framework provides a concept of an Identity Module. There can be
> Identity modules for Kerberos 5, X.509/SmartCards, etc. In addition
> there are Credential modules. We have Kerberos 5, Kerberos 4, AFS,
> and there could be KX.509, etc. The user has the ability to obtain
> credentials for multiple identities at the same time. With each
> Identity module there is a primary Credential module. The primary
> credential module is responsible for performing functions such as
> automatic renewals. After the primary credential defining an identity
> is obtained either initially or upon a renewal, the identity module
> calls each of the credential modules to obtain credentials that are
> derived from that identity. This allows a Kerberos 5 TGT to be
> used to
> obtain a Kerberos 4 TGT and as many AFS tokens for as many AFS
> cells as
> are required by that identity. Each identity can have a separate list
> of AFS cells and the mechanism used to obtain the tokens (Kerberos 5,
> Kerberos 5 to 4 translation, etc. can be specified per cell. If there
> was a KX.509 credential module then it could be used to obtain X.509
> client certificates.
>
Apple has such a tool. It's called Keychain Access. It stores
certs, passwords, identity preferences... basically anything living
in your keychain. I can't speak for Apple (I'm not even an Apple
employee) but I'd place good money on this being where Apple would
display Kerberos and AFS credentials if they were doing the support
themselves.
That being said I've never placed high priority on Kerberos support
in Keychain Access because Mac users don't seem to want it. Mac
users want Kerberos to work without any interaction with any tools.
They want to be prompted for tickets when they need new ones (or have
them automatically acquired in the pkinit case).
For example, we've provided automatic ticket renewal via Kerberos.app
in KfM for several years now, yet we still receive numerous bug
reports asking for automatic ticket renewal. When we point out the
support in Kerberos.app, users invariably reply that having to run an
application to get that support is unacceptable, even if that
application is automatically launched as part of their startup
items. From the user's standpoint the only acceptable solutions
involve seamless behavior with minimal interaction on their part.
As a result I bet that a Network Identity Manager or Kerberized
Keychain Access would be just as unloved on Mac OS X as Kerberos.app
is. At best it would be used as a tool for support staff to diagnose
authentication problems. Which makes it very low priority given the
development resources available to the KfM product (ie: me). This is
why I've been putting all my effort into the new KLL. The goal of
the new KLL is to provide prompt-based identity selection similar to
the way passwords are prompted for already. Note that this is
effectively what Apple already does with the keychain access when it
asks whether you want to use something stored in the keychain.
Note that I suspect this mentality is unique to the Mac and
intentionally fostered by Apple. Apple consistently provides
interfaces which emphasize simplicity and seamlessness. You can see
this with the existing uses of the keychain. Users basically only
visit Keychain Access when something has gone wrong. Normally cert/
password/identity selection is done by keychain dialogs which are
automatically spawned by the application that needs the cert/password/
identity.
--lxs
Alexandra Ellwood <lxs@mit.edu>
MIT Kerberos Development Team
<http://mit.edu/lxs/www>