Whishlist for next-gen card

Daniel Kahn Gillmor dkg at fifthhorseman.net
Sat Feb 21 17:54:35 CET 2015


On Sat 2015-02-21 06:51:15 -0500, Peter Lebbing wrote:
> Oh ouch. I suddenly realise something about the canary press-to-decrypt button
> (point 6). I've thought of a nasty attack. Maybe it's not such a great canary
> for decryption keys...
>
> So I access mail A, which is encrypted, and my PC is compromised. The malware
> listens in, and, crucially, secretly saves the session key for mail A! A few
> days later, I again access mail A. Now, I expect to be prompted for my PIN:
> that's how it normally works when I access an encrypted mail. However, the
> malware arranges that a document it is interested in is decrypted instead. And
> since it has saved the session key for mail A, it still presents to me mail A as
> expected. Now I haven't pressed the button any more than I expect to do, but
> still it decrypts other data than I expect it to. I've just helped the malware
> access my encrypted documents, and I'm totally unaware.

If the malware is keeping the session keys around, it can just keep the
session keys for everything you ever decrypt, and use them anyway to
access your encrypted documents, independent of your button-presses.

You're right in the abstract: the bandwidth of the "canary button" (one
bit of LED output "secret key action requested", one bit of input "ok to
use secret key") is too limited to protect against the sophisticated
attack you describe, and increasing the bandwidth of the channel
(e.g. on-device display screen, keypad) makes the UI/UX even more
infeasibile.  At some point, you just have a second computer attached to
your computer, and now there is room for that second computer to be
compromised :/

> Detecting false signatures is already more complicated.
>
> Now I'm really starting to have doubts about the canary button.

None of these tools are perfect, and the goals of a "canary button"-like
scheme are (a) defense in depth, and (b) increased chance of detection.

An adversary *could* mount the sophisticated attack you describe above,
but it's an awful lot of work.  It's much easier to exploit a card that
just accepts the (possibly malware-cached) PIN without one.  The
sophisticated attack is also a piecemeal re-use of secret key material,
and not a flood.  And, if the attacker slips up, it's much easier for
the legitimate user to notice that something funny is happening.

I don't think anyone is claiming that this sort of scheme renders the
device impervious to misuse -- it's connected to a general-purpose
computer with all of its complexity! -- but it raises the bar to an
attacker and provides more defense than an unguarded device.

The non-crypto parts of the system are unlikely to reach the level of
guarantees that modern crypto is capable of providing.  But that doesn't
mean we shouldn't try to improve them.

    --dkg



More information about the Gnupg-users mailing list