Cryptographically-Masked Flows
Paper i proceeding, 2006

Cryptographic operations are essential for many security-critical systems. Reasoning about information flow in such systems is challenging because typical (noninterference-based) information-flow definitions allow no flow from secret to public data. Unfortunately, this implies that programs with encryption are ruled out because encrypted output depends on secret inputs: the plaintext and the key. However, it is desirable to allow flows arising from encryption with secret keys provided that the underlying cryptographic algorithm is strong enough. In this paper we conservatively extend the noninterference definition to allow safe encryption, decryption, and key generation. To illustrate the usefulness of this approach, we propose (and implement) a type system that guarantees noninterference for a small imperative language with primitive cryptographic operations. The type system prevents dangerous program behavior (e.g., giving away a secret key or confusing keys and non-keys), which we exemplify with secure implementations of cryptographic protocols. Because the model is based on a standard noninterference property, it allows us to develop some natural extensions. In particular, we consider public-key cryptography and integrity, which accommodate reasoning about primitives that are vulnerable to chosen-ciphertext attacks.

Författare

Aslan Askarov

Chalmers, Data- och informationsteknik, Datavetenskap

Daniel Hedin

Chalmers, Data- och informationsteknik, Datavetenskap

Andrei Sabelfeld

Chalmers, Data- och informationsteknik, Datavetenskap

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

03029743 (ISSN) 16113349 (eISSN)

Vol. 4134 353-369
978-3-540-37756-6 (ISBN)

Ämneskategorier

Datavetenskap (datalogi)

DOI

10.1007/11823230_23

ISBN

978-3-540-37756-6

Mer information

Skapat

2017-10-07