Keytab-based initiator creds design
Greg Hudson
ghudson at MIT.EDU
Sun Jun 10 17:36:02 EDT 2012
On 06/10/2012 12:56 PM, Sam Hartman wrote:
> The more I think about this, the more I think that I'm uncomfortable
> with the above, but would strongly support something close: there is an
> initiator keytab search list and an acceptor keytab search list. The
> vendor gets to define these, although presumably there would be
> defaults.
Right. IRC discussion on Friday also suggested a rough consensus for
making the new type of default keytab specific to initiation. So, to
summarize:
* libkrb5 provides a way of finding the default client keytab. To avoid
surprise, none of the existing discovery methods for keytabs are used.
* We use the default client keytab to get creds for GSS initiators when
applicable. If no client principal is known, the first (or maaybe last)
principal in the client keytab is assumed. The resulting creds are
cached in the default ccache [collection]. A cache created using a
keytab remembers what keytab it was created from and we attempt to
refresh it with the keytab.
And then, parameterized search lists for the default keytab, default
client keytab, and default ccache. That's really a completely separate
feature, but I should have time to do both. There will need to be a
separate round of discussion on the semantics of keytab/ccache search lists.
On another note, I'm not sure it makes sense to implement any part of
keytab initiation in krb5_get_credentials/krb5_tkt_creds_* (as opposed
to just in the gss-krb5 mech). krb5_get_credentials doesn't use the
default ccache, so it doesn't really make sense for it to use the
default client keytab. Also, doing it in krb5_get_credentials wouldn't
actually help for FAST armor ccaches (since the FAST code just uses
krb5_cc_*), so I'm not sure there are any use cases more interesting
than krlogin.
More information about the krbdev
mailing list