On 6/15/2011 4:28 PM, Nikos Mavrogiannopoulos wrote:
> On 06/13/2011 11:11 AM, Stef Walter wrote:
>> On 06/10/2011 07:08 PM, Martin Paljak wrote:
>>> On Jun 10, 2011, at 13:11 , Stef Walter wrote:
>>>> After sleeping on this idea, I realized it won't work in certain
>>>>   cases. In particular when the key has CKA_ALWAYS_AUTHENTICATE
>>>> and requires C_Login with CKU_CONTEXT_SPECIFIC.
>>> This is hardly the case with SSL.
>>>
>>> CKA_ALWAYS_AUTHENTICATE in OpenSC context for example is only set
>>> for keys that require "user consent" or usually are used for
>>> "nonrepudiation". Most cards I've seen can use authentication keys
>>>   once the cardholder is verified until the card is reset or
>>> removed.
>>>
>>> Using such card with a pinpad reader would be impossible for web
>>> authentication, you'd be typing the PIN most of the time

The card may have two certificate, one that is unlocked once by the browser
and one using  CKA_ALWAYS_AUTHENTICATE used for signing e-mail. In that
the intent of the card issuer forcing CKA_ALWAYS_AUTHENTICATE and setting
the policy of using a pin pad reader, is designed to have the user
enter the pin. So middle ware developers have to live with policy.

>> Since the PKCS#11 URI's say that the pinfile attribute of the URI
>> can be determined by the application, we can build something simple
>> in p11-kit and register callbacks so that one component (in the same
>>   process) can provide the pin for another (like gnutls).
>
> I didn't like the pinfile attribute of pkcs11-urls much, because its
> semantics are undefined. I see it as an option that could cause
> compatibility issues between libraries using URLs. That's why I have
> ignored it so far. Are there other alternatives to solve the issue at hand?

This might not be answering your direct question, but is relevant to
the handling of PINs.

One example of using a pin pad reader with a complicated callback mechanism
is with login at the console. It involves Gnome or other window manager,
PAM, PAM modules like pam_krb5, the Kerberos libs, openssl, openssl_engine,
engine_pkcs11 and OpenSC's PKCS11, and pcsc.

PAM has conv routines to allow messages, prompting, and input. Kerberos
has its own callback routines, as well as the openssl engine ui_method.
These can all work together to to pass back a message to the user to use
the PIN PAD to enter the pin. This is no input passed back by the callbacks,
just the message to the user.

Since PAM was designed to start with a user/password, even before
determining that a smartcard might be used, the password may be entered
as a blank. (It will not be used later.)

>
> regards,
> Nikos
> _______________________________________________
> opensc-devel mailing list
> opensc-devel@lists.opensc-project.org
> http://www.opensc-project.org/mailman/listinfo/opensc-devel
>
>

-- 

  Douglas E. Engert  <deeng...@anl.gov>
  Argonne National Laboratory
  9700 South Cass Avenue
  Argonne, Illinois  60439
  (630) 252-5444
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to