Hi,

While musing about some related issues today, a major possible problem with 
pcsc-lite's security model cropped up.  It doesn't appear that there is any 
way to restrict smart card access by user.  This means that any user on a 
multi-user system can use any smart card in any reader attached to that 
system.  Now, access to security-critical features on smart cards is 
generally controlled by a PIN/password, but nearly all cards remember their 
authentication state.  Indeed, they almost have to.  This means that once I 
present my PIN to the card to, say, sign an e-mail, any other user logged 
onto my system can also use the credentials on my card.

Is it even possible for pcscd to enforce user-level access controls?  Ideally, 
the first process to access the card (well, *ideally* the process that 
presents the PIN, but pcscd can't know that) should be able to tell pcscd to 
reject connections to that card from processes owned by other users.  The 
only way for a different user account to obtain access to the card should be 
to reset the card.  Allowing any user process to reset the card in the reader 
enables a DOS attack, but that's *much* less of a problem than the ability to 
impersonate another by using his card credentials.

Is there some mechanism in pcsc-lite to prevent this sort of attack?  If not, 
is it even possible for pcscd to identify the owner of the processes that 
connect to its socket?

I'm really hoping I've missed something here...

Thanks,

        Shawn.
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to