Slightly confused by user-to-user authentication...

Greg Hudson ghudson at MIT.EDU
Thu Jul 7 20:39:01 EDT 2011


On Thu, 2011-07-07 at 19:16 -0400, Chris Hecker wrote:
> Do you know if the memory cc will do the right thing with clock skew 
> during the duration of the program?  I'm still trying to decide what 
> kind of cc to use.

The answer is complicated.

In the current code, the clock skew is determined for a krb5_context
when the context is used to get initial credentials, or when a file
ccache is read.  There's no code in the memory ccache type to do
anything with clock skew.

So, some scenarios:

1. Create a krb5_context, call krb5_get_init_creds_password() to get
initial credentials, store them in a memory ccache, perform other
Kerberos operations using the memory ccache: here the clock skew is used
for all operations because the context has its clock skew set when
initial creds are obtained.

2. Create a krb5 context, get initial credentials, store them in a file
ccache.  In the same process or another process, create another krb5
process and perform Kerberos operations using the file ccache: here the
clock skew it used because it is stored in the file ccache and set in
the new context when the file ccache is read.

3. Create a krb5 context, get initial credentials, store them in a
memory ccache.  Then perform GSSAPI krb5 operations using the memory
ccache.  Here the clock skew is not used, because the GSSAPI operations
are performed in a different krb5 context and the memory ccache doesn't
save or restore the clock skew.

The third scenario is arguably a bug, but it's the way the code
currently is.





More information about the Kerberos mailing list