On Tuesday 28 November 2006 00:29, Andreas Jellinghaus wrote:
> but while we will be able to agree on most parts, I think there
> won't be one solution that fits everyone. for example some people
> are fine with pin in config files, even want that. (if my root
> partition is encrypted, why not store sensitive data like that on
> it?)

I don't think so...
It is just like you define GUI requirements for applications. This is 
another area developers are failing... For example, many developers 
don't none mouse functionality, which in turns make the application 
unusable for disabled people.

Another example is the use of colors, which makes application unusable 
for color blinded people.

There is a set of rules of how to write GUI applications... But many 
people just not follow them.

Exactly the same should be for smartcards... The existence of such 
baseline will enable use to provide proper support.

> > 3. If the user removes and inserts his card, the application
> > should reprompt for PIN when private object is accessed.
> >
> > 4. If the user removes the card from one reader and insert it to
> > another reader, the application should detect that it is the same
> > card, and not prompt the user for credentials again.
>
> I think the moment a card is removed the pin for it should be
> forgotten. sure, your logic makes sence too, so people want choice.

Application MUST support external PIN entry, application MAY support 
hardcoded PIN.

> also I find it most interesting how some people use smart cards:
> with pinpad reader, enter the pin once to verify, and then the
> card remains in a state where the key can be used any number of
> times. I would like to have that too! but it is not a solution
> for everyone, for example for eid cards with lawful "qualified"
> signature keys it is not allowed to have that in some countries.

This is handled by the provider... No need to develope application 
support for this.

> > 7. If application uses persistence connection, such as VPN or SSL
> > session which initiated by smartcard operation, the session
> > should be disconnected (if requested by user) once the smartcard
> > is removed.
>
> I want my screen to lock when I remove my smart card, but why
> shouldn't that cp command finish or the mail client continue to
> check for emails and download new ones? again I think users will
> have different opinions on this so they need choice.

I don't understand... Lock if smartcard is removed is exactly what I 
mean...
If you use the smartcard to perform logon, something should prevent 
other users to use your account when you remove the smartcard.
Locking the session is good enough.

> > 9. If application supports a standard interface, such as PKCS#11,
> > it should allow to load more than one provider, so application
> > can serve different users with different devices.
>
> several pkcs#11 modules at the same time? I thought pcsc would
> make trouble with that - two connects to the same slot block one
> of them with no option for testing "is this card in use?" to avoid
> that.

Multi vendors...

> still even with different preferences, it would be great to put
> this into a web page as reference for everyone who has plans for
> adding smart card support to his applications. knowing all the
> issues involved should make it easier to pick the right design if
> you know about these advanced topics.

Right!

> lets start simple and see how we can walk from there.
> A simple list of applications, structured in groups somehow,
> with name and a small line what it does, and status yes/no/partial.
> the name could be the link to a wiki page, where we put all the
> details, like longer description, links to web page and friends,
> which features are available, cavets, such reviews for specific
> features and so on?
>
> or any other structure etc?

Following some some samples...

Best Regards,
Alon Bar-Lev.

Project: OpenVPN
Middleware: pkcs11-helper, pkcs#11
1. Allow dynamic PIN entry: yes.
2. Request PIN only when required: yes.
3. Request PIN after card remove/insert: yes.
4. Recognize card in differnet reader: yes.
5. Ask for token: yes.
6. Protected authentication: yes.
7. Disconnect when card removed: next version?
8. Time out for PIN: yes.
9. Multi-provider: yes.
10. Multi-cards: yes.

Project: OpenSSH - Native
Middleware: opensc
1. Allow dynamic PIN entry: no.
2. Request PIN only when required: no.
3. Request PIN after card remove/insert: no.
4. Recognize card in differnet reader: no.
5. Ask for token: no.
6. Protected authentication: no.
7. Disconnect when card removed: no.
8. Time out for PIN: no.
9. Multi-provider: opensc.
10. Multi-cards: yes.

Project: OpenVPN - PKCS#11 patch
Middleware: pkcs11-helper, pkcs#11
1. Allow dynamic PIN entry: yes.
2. Request PIN only when required: yes.
3. Request PIN after card remove/insert: yes.
4. Recognize card in differnet reader: yes.
5. Ask for token: yes.
6. Protected authentication: yes.
7. Disconnect when card removed: no.
8. Time out for PIN: yes.
9. Multi-provider: yes.
10. Multi-cards: yes.

Project: gnupg
Middleware: native
1. Allow dynamic PIN entry: yes.
2. Request PIN only when required: yes.
3. Request PIN after card remove/insert: yes.
4. Recognize card in differnet reader: yes.
5. Ask for token: yes.
6. Protected authentication: ???.
7. Disconnect when card removed: n/a.
8. Time out for PIN: ???.
9. Multi-provider: n/a.
10. Multi-cards: partially, during learn only one card can exist.

Project: gnupg-pkcs11-scd
Middleware: pkcs11-helper, pkcs#11
1. Allow dynamic PIN entry: yes.
2. Request PIN only when required: yes.
3. Request PIN after card remove/insert: yes.
4. Recognize card in differnet reader: yes.
5. Ask for token: yes.
6. Protected authentication: yes.
7. Disconnect when card removed: n/a.
8. Time out for PIN: yes.
9. Multi-provider: yes.
10. Multi-cards: yes.

Project: QCA
Middleware: pkcs11-helper, pkcs#11
1. Allow dynamic PIN entry: yes.
2. Request PIN only when required: yes.
3. Request PIN after card remove/insert: yes.
4. Recognize card in differnet reader: yes.
5. Ask for token: yes.
6. Protected authentication: yes.
7. Disconnect when card removed: yes/events.
8. Time out for PIN: yes.
9. Multi-provider: yes.
10. Multi-cards: yes.

Project: xsupplicant
Middleware: engine_pkcs11, pkcs#11
1. Allow dynamic PIN entry: no.
2. Request PIN only when required: no.
3. Request PIN after card remove/insert: no.
4. Recognize card in differnet reader: no.
5. Ask for token: no.
6. Protected authentication: no.
7. Disconnect when card removed: no.
8. Time out for PIN: no.
9. Multi-provider: no.
10. Multi-cards: no.

Project: wpa_supplicant
Middleware: engine_pkcs11, pkcs#11
1. Allow dynamic PIN entry: no.
2. Request PIN only when required: no.
3. Request PIN after card remove/insert: no.
4. Recognize card in differnet reader: no.
5. Ask for token: no.
6. Protected authentication: no.
7. Disconnect when card removed: no.
8. Time out for PIN: no.
9. Multi-provider: no.
10. Multi-cards: no.

Project: mozilla/firefox
Middleware: nss, pkcs#11
1. Allow dynamic PIN entry: yes.
2. Request PIN only when required: no.
3. Request PIN after card remove/insert: yes.
4. Recognize card in differnet reader: no.
5. Ask for token: no.
6. Protected authentication: by provider attributes, may lead to 
incompatabilities.
7. Disconnect when card removed: no.
8. Time out for PIN: no.
9. Multi-provider: yes.
10. Multi-cards: yes.

Project: thunderbird
Middleware: nss, pkcs#11
1. Allow dynamic PIN entry: yes.
2. Request PIN only when required: no.
3. Request PIN after card remove/insert: yes.
4. Recognize card in differnet reader: no.
5. Ask for token: no.
6. Protected authentication: by provider attributes, may lead to 
incompatabilities.
7. Disconnect when card removed: n/a.
8. Time out for PIN: no.
9. Multi-provider: yes.
10. Multi-cards: yes.

Project: openoffice
Middleware: firefox, nss, pkcs#11 - unusable because of this 
relationship.
1. Allow dynamic PIN entry: yes.
2. Request PIN only when required: no.
3. Request PIN after card remove/insert: yes.
4. Recognize card in differnet reader: no.
5. Ask for token: no.
6. Protected authentication: by provider attributes, may lead to 
incompatabilities.
7. Disconnect when card removed: n/a.
8. Time out for PIN: no.
9. Multi-provider: yes.
10. Multi-cards: yes.

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

Reply via email to