misusing USB keycards?
misusing USB keycards?
Posted Oct 4, 2017 20:52 UTC (Wed) by anarcat (subscriber, #66354)In reply to: misusing USB keycards? by faramir
Parent article: Strategies for offline PGP key storage
If you enable USB on a system so you can use a USB based keycard, aren't you leaving that system open to BadUSB or similar ttacks?Yes, it's one of my core criticism of "airgapped" systems: they are never really airgapped. If you are referring to normal systems, I frankly don't know if you can still run an interactive terminal *without* USB these days. Unless you have a PS/2 mouse and keyboard (and port!), you're pretty much forced to use USB and therefore exposed to that vector anyways.
If an attacker has control over the computer in which the keycard is installed, they can subvert your data before it is sent to the card. Or simply just use the card directly.Yep. They can use the card to do any operations it requires. But the point is they can do that only when it's plugged in: the second the key is unplugged, they can't do their evil thing anymore. Furthermore, they can't "steal" the key from you, unless they can find a way to subvert the keycard controller somehow, which is a critical difference with having the key on-disk.
If the keycard caches your password, could they wait until you authenticate to the card and then piggyback on that authentication for their own operations? Is there any indication on the keycard when it is being actively used?Yes, they could and no, there's *generally* no visual indicator (although the Yubikey NEO does have a neat little LED in the middle that buzzes when things are happening on the key. It's hardly usable as an indicator, however.
I would rather see a keycard that would force me to tap it to confirm operations. Really, if you're concerned about that level of attacks, you should use one of those card readers that requires a PIN to be entered before operations are allowed on the key.
Or maybe they capture the password as you enter it and exfiltrate it. Next time you go to Starbucks, they mug you and steal your keycard as well as your wallet. Depending on how high value a target you are, this seems reasonable. If you are a developer, you might be a much higher value target then you realize; depending on who uses the software that you write.I'm not sure there are such great protections against mugging. Pipewrench cryptography beats any design you can create, really - if that's your threat model, it seems to me you're setting yourself up to failure.
I'm not claiming offline key storage is the silver bullet, but it does solve *some* attack scenarios. The question is if the tradeoffs are worth it for *you*.
