Outsourced computing is widely used today. However, approaches for protecting client data in outsourced computing fall short: use of cryptographic techniques like fully-homomorphic encryption incurs substantial costs, whereas the use of hardware-assisted trusted execution environments has been shown to be vulnerable to server malware, run-time attacks, and side-channel attacks. We present Blinded Memory (BliMe), an architecture to realize efficient and secure outsourced computation. BliMe consists of a novel and minimal set of ISA extensions implementing a taint-tracking policy to ensure the confidentiality of client data even in the presence of server vulnerabilities. To secure outsourced computation, the BliMe extensions can be used together with an attestable, fixed-function hardware security module (HSM) and an encryption engine that provides atomic decrypt-and-taint and encrypt-and-untaint operations. Clients rely on remote attestation and key agreement with the HSM to ensure that their data can be transferred securely to and from the encryption engine and will always be protected by BliMe's taint-tracking policy while at the server. We provide a machine-checked security proof, and two different hardware implementations (BliMe-Simple and BliMe-Realistic) of BliMe extensions. We show that BliMe implementations incur only minor increases in performance (< 5%), and resource consumption (< 3% for power, LUTs and registers).
翻译:然而,在外包计算中,保护客户数据的方法并不尽如人意:使用全通式加密等加密技术需要大量费用,而硬件辅助可靠执行环境的使用则被证明容易受到服务器恶意软件、运行时攻击和侧通道攻击的伤害。我们展示了盲人记忆(BliME),这是实现高效和安全外包计算的一个架构。BliME由一套创新的、最低限度的ISA扩展件组成,它执行的是耐久跟踪政策,以确保客户数据的保密性,即使在服务器存在弱点的情况下也是如此。为了确保外包计算的安全,可以同时使用BliMe扩展件,同时使用一个可证明的、固定功能硬件安全模块(HSM)和一个加密引擎,提供原子解密和保存以及加密和保存操作操作。客户依赖于远程验证以及与HSML协议的关键协议,以确保他们的数据能够安全地转移到加密引擎和从加密引擎中转移,并始终由BliMe的保存跟踪政策加以保护,同时在服务器上实施\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\