TECHNICAL FIELD

The present disclosure relates to cryptographic memory isolation for multi-user computing environments, and more particularly, to techniques for protecting against integrity failure with respect to such cryptographic memory isolation.

BACKGROUND

An increasing demand for robust computer security has led to widespread use of cryptography in mainstream computer systems and networks, along with the development of increasingly sophisticated and secure modern cryptography techniques. For example, disk encryption can be used to protect data residing on a persistent disk storage device, while network encryption can be used to protect data transmitted over a network. Data residing in system memory, however, is often stored and/or transmitted in plaintext and thus may be vulnerable to attacks. For example, attackers can use a variety of techniques to maliciously access data stored in memory, such as bus scanning and/or memory scanning, among other examples. Moreover, in some cases, these malicious techniques could be used to access memory locations containing encryption keys that are stored in plaintext, such as encryption keys used for disk encryption, thus facilitating further unauthorized access to other data that is protected by encryption.

Cryptographic memory isolation for user workloads is therefore significantly advantageous in cloud computing and other multi-user scenarios, such as to prevent processes initiated by one user of one or more computing systems from gaining access to processes and data owned by (or otherwise associated with) other users of those same computing systems. Recent public disclosures regarding various flaws in existing processing and data protection have emphasized the importance of such cryptographic isolation.

Traditional approaches to ensuring the integrity of user data and processing in such scenarios typically suffer from various disadvantages. For example, memory integrity approaches that associate a message authentication code (MAC) with each data line generally cause significant storage, performance, and bandwidth overheads by necessitating the loading and verification of such a MAC with each data line access. Moreover, typical responses to a detection of integrity failure under such approaches result in security exceptions that generally result in halting operations for all processes within a target computing system. While this solution is generally considered acceptable in a single-client platform, such an interruption in multi-user platforms may directly and negatively impact platform availability—and may result in significant data, revenue, and/or productivity loss.

Thus, solutions are needed to provide and enforce cryptographic isolation for multi-user computing scenarios while minimizing additional overhead resulting from such cryptographic isolation, and to do so with minimal interruption of the associated computing system or systems involved.

