Gary Winiger wrote:

Thank you for the valuable review input, please see our response below.

>> Man pages and other supporting material is in the materials subdir of 
>> the case.
> 
>       The documentation has come a long way since I last saw this.
>       Thanks.  I've still not completed an understanding of
>       the opensc-project.org/pam_pkcs11/pam_pkcs11.html doc, so I
>       expect I may not grasp the whole thing yet.  However, a few
>       comments and questions:
> 
>       I wanted to point out that this work is a continuation of the
>       work our Summer Intern, Brendan O'Connor, started working with
>       Huie Ying.  I promised him I'd add him to the interest and
>       have in the IAM file.
> 
>       Nits:
>       * I presume when pam_pkcs11.5.sunman get's delivered into the
>         /usr/share/*/man tree it will be just .5.  If not I'd like
>         to understand the precedence for the sunman suffix.

Yes.

>       * The man pages are missing ATTRIBUTES sections.

Will fix.

>       * The DESCRIPTION of pkcs11_inspect and pkcs11_find still
>         refer to pam_pkcs11(8).  The SEE ALSOs refer to pam_pkcs11(5)
>         as I'd expect, modulo the sunman thing above.
> 

Will fix.

>       Questions:
>       1) pam_pkcs11(5) refers to opensc-project.org/pam_pkcs11/pam_pkcs11.html
>          for administrator documents.  How is this project going to keep
>          in sync with the community?  IMO, it would be appropriate to have
>          sufficient documentation within the Solaris docs areas so the
>          community docs are secondary to the Sun docs delivered for a
>          particular release.  It would seem appropriate to have that
>          documentation as part of this case.
> 

Yes, we can take all OPENS/pam_pkcs11 online documents and place them
in the /usr/share/doc/pam_pkcs11 directory and ship with the product.


>       2) Huie Ying answered that the commuity version doesn't support
>          pam_acct_mgmt().  This seems like a common oversight and a
>          violation of the separation of authentication from account
>          validation that is part of the PAM architecture.  I would think
>          that certificate validation (and CRL processing) would be
>          part of account validation.  Why shouldn't that be and why
>          shouldn't Sun contribute that to the community?
> 

This is a valid point.  Since UBS requested this port and they are happy with
the current pam_pkcs11 implementation, this case has merit to integrate as is.
We will work with the upstream community to add the functionality as a separate
pam_acct_mgmt() entry point. 


>       3) What changes has Sun made (beyond sample configuration file
>          changes)?  Are these being contributed back to the community?
> 

I have made some changes to make it built and ran on Solaris.  We will 
contribute
these changes back to the unstream community.
 
>       4) Given that this is intended to replace the EOLed pam_smartcard,
>          I don't see sufficient Sun documentation (at least from what's
>          in this case) to guide me through how to use pam_pkcs11 to
>          replace pam_smartcard.  I would have expected at least that
>          much detail as pam_smartcard was equivalent to a "Committed"
>          interface in the past and its use more or less well documented
>          in Sun documentation.
>          P.S. I'm looking forward to the removal of the closed pam_smartcard
>          and the project private interfaces in libpam that are there to
>          support pam_smartcard ;-)
> 

I have discussed with Darren about this.   And here is our response:

"This case alone does not give us a functional replacement for pam_smartcard.  
Another future case that provides a smartcard plugin to the crypto framework is 
needed together with this case since this case has no smartcard functionality 
it is all done via the PKCS#11 layer." 


>       5) To me, the documentation is unclear as to how to properly
>          configure pam.conf to use pam_pkcs11.  Saying "add the
>          pam_pkcs11.so module to the /etc/pam.conf file as below:
>          login   auth sufficient         pam_pkcs11.so"
>          seems inadequate.  Where should it be put in the default
>          delivered login stack?
> 
>          login   auth requisite          pam_authtok_get.so.1
>          login   auth required           pam_dhkeys.so.1
>          login   auth required           pam_unix_cred.so.1
>          login   auth required           pam_unix_auth.so.1
>          login   auth required           pam_dial_auth.so.1
> 
>          How does it interact with other possible changes for
>          Kerberos in addition to Unix authentication?
>          Should it be stacked below pam_authtok_get?
> 

How to properly configure pam.conf to use pam_pkcs11 really depends on what 
behavior that 
an admin wants.   The pam_pkcs11 entry can be placed above or below 
pam_authtok_get/pam_unix_auth
depending on the site needs.

As for the interaction with Kerberos, I discussed this with Glenn Barry (a 
kerberos engineer) and
we conclude that 
 
   1. If the home directory is kerberized, then the pam_krb5.so module (current 
version)
      should place before the pam_pkcs11.so module.

   2. If pam_krb5.so is enhanced to support PKINIT and a new pam_krb5.so entry 
exists in the pam.conf file,
      then a "pam_pkcs11.so" module stacked below probably is redundent, 
because the new pam_krb5.so
      module should have check the certificate status and verify with private 
key already.

I will add a couple of examples into the pam_pkcs11.5 man page.

Thanks,
Huie-Ying


Reply via email to