issue with preauth processing
Sam Hartman
hartmans at MIT.EDU
Mon Oct 26 14:38:06 EDT 2009
>>>>> "Will" == Will Fiveash <William.Fiveash at sun.com> writes:
Will> On Fri, Oct 23, 2009 at 04:50:35PM -0500, Will Fiveash wrote:
>> On Fri, Oct 23, 2009 at 04:48:58PM -0400, Sam Hartman wrote:
> > The preauth framework strongly encourages implementations to take
>> > optimistic pre-auth as a hint. If you try some pre-auth and
>> get a > PREAUTH_REQUIRED or PREAUTH_FAILED error, then you
>> should take that as > the KDC requesting you start over. Now,
>> if that second round fails, > you should probably give up.
>>
>> But consider pam_krb5 and prompting. There may be situations
>> where pam_krb5 wants to restrict libkrb and it's preauth
>> plugins to only PKINIT and it's associated prompts. How can
>> that be done?
Will> In addition I notice that kpasswd is prompting for a PIN if
Will> the system is configured to do PKINIT. I notice in the
Will> source for kpasswd there is a call to:
Will> static void get_init_creds_opt_init( krb5_get_init_creds_opt
Will> *outOptions ) { krb5_preauthtype preauth[] = {
Will> KRB5_PADATA_ENC_TIMESTAMP }; krb5_enctype etypes[] =
Will> {ENCTYPE_DES_CBC_MD5, ENCTYPE_DES_CBC_CRC};
Will> krb5_get_init_creds_opt_set_address_list(outOptions, NULL);
Will> krb5_get_init_creds_opt_set_etype_list( outOptions, etypes,
Will> sizeof(etypes)/sizeof(krb5_enctype) );
Will> krb5_get_init_creds_opt_set_preauth_list(outOptions,
Will> preauth, sizeof(preauth)/sizeof(krb5_preauthtype) );
Will> }
Will> Seems to me that the intention is to restrict the preauth to only
Will> KRB5_PADATA_ENC_TIMESTAMP.
No, that sounds like optimistic pre-auth not a restriction.
Our kpasswd doesn't seem to have those calls.
The call to set the list of enctypes seems particularly unfortunate.
More information about the krbdev
mailing list