We present Blinded Memory (BliMe), a way to realize efficient and secure outsourced computation. BliMe consists of a novel and minimal set of ISA extensions that uses taint tracking to ensure the confidentiality of sensitive (client) data even in the presence of server malware, run-time attacks, and side-channel attacks. To secure outsourced computation, the BliMe extensions can be used together with an attestable, fixed-function trusted execution environment (TEE) and an encryption engine that provides atomic decrypt-and-taint and encrypt-and-untaint operations. The TEE engages in an attestation and key agreement protocol with the client. It provides the resulting client-specific keys to the encryption engine. Clients rely on remote attestation to ensure that their data will always be protected by BliMe's taint tracking policy after decryption. We provide a machine-checked security proof and an FPGA implementation (BliMe-Ibex) of BliMe's taint tracking policy. We show that BliMe-Ibex does not reduce performance relative to the unmodified core, and incurs only minor increases in resource consumption in terms of power ($<2\%$), LUTs ($<1\%$), and registers ($<3\%$).
翻译:我们提出了隐蔽记忆(Blime),这是实现高效和安全外包计算的一种方法。 BliMe 是由一套新型和最起码的ISA扩展工具组成,它使用污点追踪,确保敏感(客户)数据的保密性,即使在服务器恶意软件、运行时攻击和侧道攻击的情况下也是如此。为了保证外包计算,可以同时使用BliMe 扩展,同时使用一个可认证的、固定功能可信赖的执行环境(TEE)和一个加密引擎,提供原子解密和污染及加密-保密操作。TEE与客户进行验证和关键协议协议。它为加密引擎提供由此产生的客户专用密钥。客户依靠远程验证以确保其数据在解密后将始终受到BliMe的持久跟踪政策的保护。我们提供了经过机器检查的安全证明和BliMe的FGA执行(BliMe$-Ibex) 防腐蚀性跟踪政策(BliMe-Ibex) 。我们显示,BliMe-Ibex仅能减少与未修改核心的功能记录和(美元)的运行和(美元)(美元) 和(美元) ) 和(美元) 和(美元)