Full Program »
CoKey: Fast Token-Based Cooperative Cryptography
susceptible to various attacks, from simple buffer overflows to leaks via cold
boot, DMA or side channels. A common approach to mitigate such attacks is to
move the keys to an external cryptographic token. For low-throughput
applications, for example, for asymmetric signature generation, the
performance of these tokens is sufficient. For symmetric, data-intensive use
cases, like disk encryption on behalf of the host, the connecting interface to
the token often is a serious bottleneck. In order to overcome this problem,
we present CoKey, a novel concept for partially moving symmetric cryptography
out of the host into a trusted detachable token. CoKey combines keys from
both entities and securely encrypts initialization vectors on the token which
are then used in the cryptographic operations on the host. This forces host
and token to cooperate during the whole time the decryption takes. Our
concept strongly and efficiently binds encrypted data on the host to the
specific token used for their encryption, while still allowing for fast
operation. We implemented the concept based on Linux hosts and the USB
armory, a USB thumb drive sized ARM computer as detachable crypto token. Our
detailed performance evaluation shows that our prototype is easily fast enough
even for data-intensive and performance-critical use cases like full disk
encryption, effectively improving security for symmetric cryptography in a
usable way.
Author(s):
Julian Horsch
Fraunhofer AISEC
Germany
Sascha Wessel
Fraunhofer AISEC
Germany
Claudia Eckert
Technische Universität München
Germany