Cloud computing offers resource-constrained users big-volume data storage and energy-consuming complicated computation. However, owing to the lack of full trust in the cloud, the cloud users prefer privacy-preserving outsourced data computation with correctness verification. However, cryptography-based schemes introduce high computational costs to both the cloud and its users for verifiable computation with privacy preservation, which makes it difficult to support complicated computations in practice. Intel Software Guard Extensions (SGX) as a trusted execution environment is widely researched in various fields (such as secure data analytics and computation), and is regarded as a promising way to achieve efficient outsourced data computation with privacy preservation over the cloud. But we find two types of threats towards the computation with SGX: Disarranging Data-Related Code threat and Output Tampering and Misrouting threat. In this paper, we depict these threats using formal methods and successfully conduct the two threats on the enclave program constructed by Rust SGX SDK to demonstrate their impacts on the correctness of computations over SGX enclaves. In order to provide countermeasures, we propose an efficient and secure scheme to resist the threats and realize verifiable computation for Intel SGX. We prove the security and show the efficiency and correctness of our proposed scheme through theoretic analysis and extensive experiments. Furthermore, we compare the performance of our scheme with that of some cryptography-based schemes to show its high efficiency.
翻译:云计算为受资源限制的用户提供了数量庞大的数据存储和耗能的复杂计算。然而,由于对云缺乏充分信任,云用户更喜欢通过正确性核查来保存隐私,以维护外包数据;然而,基于加密的计算方法给云及其用户带来了高计算成本,以便通过保护隐私进行可核实的计算,从而难以在实践中支持复杂的计算。作为可靠执行环境的Intel软件保护扩展(SGX)在各个领域进行了广泛研究(例如安全的数据分析和计算),并被视为实现高效的外包数据计算,以维护云层的隐私。但是,我们发现对与SGX进行计算有两种威胁:与数据相关的代码威胁和输出测距和误差威胁。在本文中,我们用正式方法描述这些威胁,并成功实施由Rust SGX SDK 建造的飞地方案,以展示其对在SGX飞地上计算正确性的影响。为了提供对策,我们提议了一种高效和安全性计划,用以抵制威胁,并用高效率来进行我们所提出的安全性分析。我们要通过SG.X系统进行安全性测试,以证明我们的安全性能分析。