On Fri, Oct 23, 2009 at 02:24:48PM -0500, Douglas E. Engert wrote:
> Nicolas Williams wrote:
> >IMO pam_authtok_get(5) should be pam_authtok_get(3PAM), kinda like we
> >have a [consolidation-private] pam_get_user() function, which IMO should
> >also be Public.  (b) was a good thing, and so was (c), but (c) is
> >getting upset by modules that can prompt for PINs, or which can derive
> >PAM_USER from smartcards and/or biometrics.
> 
> PLEASE keep in mind that a PIN may be entered via a smartcard reader,
> and will never be seen via the host. So a prompt for a PIN may not
> have any input, just instructions. So one has to stop thinking about
> PAM prompting.

Will's code does not issue prompts for PIN independently of the Kerberos
code.  If the PKINIT pre-auth plugin prompts for a PIN, then pam_krb5
will also, else it won't.

Basically pam_krb5 will let krb5_get_init_creds*() to the work.  That's
not quite how it is today in S10 and OpenSolaris, because of the need to
use PAM_AUTHTOK and because password aging prompting needs to not happen
in pam_authenticate(3PAM).  The password-based pre-auth will continue to
work that way.

> >I'm waiting for a code review from Gary to complete PSARC/2005/275.  One
> >possible way to solve the multi-layer negotiation issue would be to have
> >pam_krb5(5) to be stacked high and call pam_eval(3PAM) (from
> >PSARC/2005/275) to evaluate a policy that corresponds to a pre-auth
> >sheme being tried.
> 
> Another way might be to have prompt= parameter to pam_authtok_get,
> set by the sysadmin.

That's not really satisfactory.

> >We've talked about this as well, and I think that too is out of scope
> >here.  But briefly, IMO there should be a way to select tokens for
> >C_Login() in a way that takes PAM context (e.g., PAM_TTY) into
> >consideration, so that only tokens that could be associated with a seat
> >are used. 
> 
> Yes that is an issue on other OSes too.

I'm sure it is.

Reply via email to