4

In our company domain we are now able to login to Windows using a smart card plus a 4 digit numeric PIN. The same smart card is used to sign e-mails too.

My understanding is that authentication to the domain does not involve the PIN directly, only the use of the private key stored on the smart card, in order to hash a given value that is then validated by the domain controller using the public key. The PIN is only used to 'unlock' access to the private key within the smart card.

Assume that I want to strengthen the credentials for authentication (analogous to increasing the minimum length and complexity, in domains where passwords are used). Given that a fixed number of invalid PIN entries will cause the smart card to lock itself, and given that the smart card is designed (e.g. tamper proofing) to prevent any other access to the private key it contains, which is more important:

  • my ability to control the key length, algorithm and certificate expiry?
  • my ability to control of the PIN length, character set and complexity?
6

As long as the card implements lock-out policies like destroying the key material after 3 incorrect PIN attempts, I'd say a 4 digit PIN is secure. Just make sure there are proper procedures in place for employees to report stolen cards as soon as possible so their certificates are revoked, just for the worst case scenario where the attacker knows the PIN, for example using a compromised PIN pad or keylogger.

  • "I'd say a 4 digit PIN is secure". Please can you justify your assertion. Is it down to the lock-out behaviour that the card implements? – D.H. Oct 5 '15 at 17:48
  • 1
    I would say that it has to be down to the lockout mechanism. Indeed, if the lockout mechanism (or maybe a very, very stingy throttling mechanism) can be bypassed PIN security is largely worthless. Far, far, far too few possible combinations... – mostlyinformed Oct 5 '15 at 19:30
  • 1
    @D.H. to me, having only three attempts to guess a 4 digit PIN seems secure. Of course, it relies on the card's bruteforce protection which should erase the keys once the three attempts have been used up. If the card's bruteforce protection is bypassed or flawed, then a 4-digit PIN is obviously worthless. – André Borie Oct 5 '15 at 23:04
  • One thing to keep in mind: while a typical smart card will lock itself after 3 consecutive wrong PIN tries, it can be unlocked with the so-called PUK code. The default (factory) value is typically something like 123456 or 12345678. It goes without saying that the PUK, and not just the PIN, should be changed from default value. Failing that, it's effectively possible to brute-force the PIN code. – Anonymous Oct 3 '16 at 14:48
3

A possible process for such authentication could be as follows:

The card holds both a serial number and an encrypted private key. When you enter your card in the terminal it sends the serial number to the system (bank or company authentication server) and receives (does not depend on the serial number so the order of this process is not important) a challenge code. This challenge code needs to be encrypted by the private key stored on the card, to do this the key first needs to be decrypted thus you need to enter your PIN. The encrypted challenge is send to the system which can then decrypted this reply with the public key and authenticate that your are who you say you are.

The elegance of this system is that you can't brute-force it as there are 10000 possible private keys for each card. (This is a simplification as you could rule out some by a lot of brute-forcing but that takes us to far from the question.) It is enough for the system to track the number of failed logins and then disable that specific key. As such there is actually no tamper proofing build in as that would make the cards more expensive.

I hope you can draw your answers from this explanation, in short:

  • higher entropy PIN will decrease the chance of a lucky random "guess".
  • longer key length/algorithm/certificate expiry will make brute-forcing given a set of known challenge-response pairs more difficult.
  • 1
    That's an interesting authentication scheme, is there a name for it? (I've heard the term "protocredential" in a similar context.) EMV (chip) credit and debit cards work differently, though; they actually verify the PIN locally and disable themselves after a number of wrong PIN entries. (Some cards don't support local or offline PIN verification; the PIN is then encrypted and transmitted to the card issuer for verification.) – lxgr Oct 5 '15 at 17:48
  • 1
    @lxgr I'm afraid I don't remember a name for this system, and you seem correct in that debit cards work differently. I guess that questions the whole first line. I remember hearing of this system/idea and somewhere in my mind I remembered this as the way debit cards work. My bad, I'll remove that line but will keep the explanation for reference. – Selenog Oct 6 '15 at 6:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.