SGX 应用支持技术研究进展*
2021-05-18董春涛沈晴霓吴鹏飞吴中海1
董春涛,沈晴霓,罗 武,吴鹏飞,吴中海1,
1(北京大学 软件与微电子学院,北京 102600)
2(北京大学 信息科学技术学院,北京 100871)
3(北京大学 软件工程国家工程研究中心,北京 100871)
4(高可信软件技术教育部重点实验室(北京大学),北京 100871)
随着云计算与大数据技术的快速发展,越来越多的应用程序被部署到第三方数据中心和云平台中,如Amazon AWS[1]和Microsoft Azure[2].但是,这也带来了一系列安全问题,例如:应用程序在云平台以明文方式处理敏感数据,容易被云服务提供商或其他攻击者攻击.因此,应用程序必须能够抵御云服务提供商和其他攻击者的攻击.传统手段中,基于加密的保护技术[3-5]只能支持有限的运算操作,全同态加密[6]可以支持任意操作,但增加了大量的开销.当前,基于CPU 提供的可信执行机制是不可信环境中保护应用程序的重要手段,例如Intel 推出的SGX(software guard extensions)指令集扩展[7].
SGX 是一种基于内存加密和证明的硬件机制,可以为应用程序提供用户空间的可信执行环境enclave[8],并将程序执行和状态与底层操作系统(operating system,简称OS)、虚拟机管理程序、固件、I/O 设备等隔离开来,保障用户关键代码和数据的机密性与完整性不受恶意软件的破坏.SGX 的可信计算基(trusted computing base,简称TCB)仅包括CPU,避免了基于软件的TCB 自身存在安全漏洞的风险,提升了系统的安全性.同时,SGX 可以保障运行时的可信执行环境,抵御恶意代码对程序被保护内容的访问与篡改,进一步增强了系统的安全性.SGX强大的安全保障能力与性能保证,使其得到了广泛的应……
