2 ms·
As others already hinted at in the lwn comments, a keycard without an external keypad or confirmation system gives you a lot less protection than you probably e
by g-b-r 9y ago
As others already hinted at in the lwn comments, a keycard without an external keypad or confirmation system gives you a lot less protection than you probably expect: usually your computer will be no more protected from keyloggers able to record that pin and from the execution of requests to the keycard then from the theft of locally stored private keys. Actually in what's probably still most cases a keylogger will be trivial to set up (https://theinvisiblethings.blogspot.com/2011/04/linux-security-circus-on-gui-isolation.html https://theinvisiblethings.blogspot.com/2011/04/linux-securi...).
A keycard will avoid (with very high probability) the theft of the private keys, but in most cases this is not that important, if an attacker can do individual sign/decrypt/encrypt operations on demand it will be more than enough for him.
Unfortunately for some reason it looks like almost all the recent affordable key-handling devices lack an external keypad. There's either some misconception about their security or some wilful scheme to give a false sense of security to the people who use them (I wrote it tongue-in-cheek but actually we've seen worse...).
Also, it's not true that "a key generated on a keycard cannot be backed up", most devices permit the export and re-import of keys by first encrypting them with a key known only by the device (and not exportable); these will effectively be back-ups, although they're only useful against the accidental deletion of the keys, not against the loss/damage of the device.
By the way, this feature is also notable for being the source of vulnerabilities in many devices that made it possible to extract the raw keys.
P.S. I don't know why the author uses that unusual "keycard" term, I assumed he means smartcards or dongles
- closeparen 9y agoProbably because smart cards as they exist today are intended as end-user credentials to be issued by an institution, not secure key storage for individuals. They’re meant to authenticate to enterprise managed endpoints. The vendors seem to treat HSMs for key management separately.
- g-b-r 9y agoIf you're speaking strictly of smartcards (in the form of cards) you're probably right, but I meant all devices with cryptoprocessors, especially usb tokens. For what I can remember when I looked into them, a few months ago, keys/data storage, signing and decrytpion where at least as much advertised as authentication. And in most cases external confirmation is useful/strongly advised for authentication as well. Case in point, I personally needed a token for code signing, it's almost impossible to find one with a pinpad. It's easier if you settle on a smartcard + smartcard reader (which I don't think many developers do).
- kuschku 9y agoThat’s why the German eID and bank cards are used with external keypads usually.
- jopsen 9y agoYubikeys carries a single button, so you can configure them to require a manual touch for each operation. It's not perfect, but security is always a balance between the risks involved in practical solutions and then risk that users side-step convoluted solutions :)
- g-b-r 9y agoYes, it was mentioned in the lwn comments (apparently it's been introduced in the YubiKey 4)