阅读: 2,500
随着互联网的不断发展与各行各业的数字化转型,数据的生成、存储、流转等场景也在逐渐增多。而数据中不乏含有大量敏感信息,敏感信息的泄露或被恶意使用则可能对所属个人或组织带来严重的影响。近两年数据安全事件层出不穷,数据安全问题越来越被人们所重视,各国家与地区也出台了相关法律法规来加强数据保护的要求,如欧洲的《通用数据保护条例》(GDPR)、我国的《网络安全法》、《数据安全法》及《个人信息保护法》。
本次RSAC大会上,来自Intel的首席安全技术战略专家Stephanie Domas分享了机密计算技术,向我们展示了机密计算是如何保护数据安全的。
注:文中无特殊说明,图片均来自该议题的PPT。
对于数据保护可大体分为三种情况:保护静态存储的数据、保护传输中的数据、保护计算中的数据。对于前两种情况可使用各类加密手段与安全传输协议来实现数据保护,而对于计算中的数据,则需使用机密计算技术保障其安全性。机密计算是一种计算模式,旨在保护数据的隐私和机密性,即在计算过程中对数据进行加密和保护,以防止未经授权的访问和泄露。其适用于想要提升运行环境安全性、在其他托管设施(如云服务)上运行敏感程序、多方共享敏感数据计算等场景。
Domas分享了基于可信执行环境(TEE)的硬件设备来保护计算中的数据的机密计算技术,其使用软硬件结合的方式,让程序与数据运行在安全的可信环境中,防止可信环境外对数据的访问与窃取。与传统的信任链不同,此时机密计算程序无需信任所处操作系统、虚拟机管理平台及BIOS,只需其运行环境处于可信硬件平台上的安全环境中,即可认为其程序与数据无法被窃取与篡改。传统信任链与机密计算信任链对比图如图1所示。
选择硬件作为可信基础,是因为其处于系统底层,从而减少了信任依赖。与同态加密、可信平台模块(TPM)这些其他机密计算方案相比,使用TEE硬件不但可以保护数据的机密性与完整性,还可以保护程序的机密性与完整性,同时它还具备了可验证的能力,功能更为全面,如图2所示。
使用TEE的机密计算可应用于零信任场景,保障用户隐私数据安全。比如用户使用某个社交软件时,他希望可以看到自己有哪些好友也在使用这个软件,但又不希望软件能够获取到他的完整好友列表。此场景下,可以使用TEE来执行机密计算,完成用户好友与软件账号的匹配工作。
具体来说,TEE环境中置有软件的匹配程序与软件的用户列表,软件服务器能够证明TEE中的匹配程序是开源的符合用户预期的程序。用户向TEE发送请求,发送自身的好友列表,并期望看到自己有哪些好友注册了这个社交软件。社交软件无法获取TEE中的内容,继而无法窃取用户的好友列表。TEE中的程序匹配社交软件的注册用户列表与指定用户的好友列表,仅得出所求交集的结果。整个过程中社交软件均无法看到用户请求的内容与所获得到的结果。
从上述案例中不难看出,该案例本质是一个个人用户的好友列表与社交软件注册用户隐私求交的过程。与使用安全多方计算方案不同,其求交过程在TEE内执行,在保证了安全性的同时大大提升了计算效率。而整个过程中用户无须信任社交软件提供的平台与网络服务等,实现了零信任求交。
在机器学习场景中,训练模型需要大量数据支持,而这些数据中可能会包含一些敏感信息,滥用这些数据可能会造成敏感信息的泄露。比如某公司想使用车载摄像头拍下来的数据训练一个人工智能模型。然而车载摄像头难免会拍下一些他人的隐私信息,如路人的人脸、其他车的车牌号、道路标识等。处于隐私保护合规性要求,需要减少这类个人数据的收集,并使用加密等方法对这些敏感信息进行保护。因此可使用TEE来训练模型,减少隐私泄露。
具体来说,原始数据在TEE中进行训练,TEE外部无法获取数据中所包含的敏感信息。当数据需要从TEE内迁移出来时,则通过分割算法将敏感信息与非敏感信息进行切割,将敏感信息存储到加密数据库中,而非敏感信息存在普通数据库中。当数据被导入其他TEE环境后,再将分割后的信息重新结合,恢复出原始数据后用于模型训练,其过程如图3所示。
TEE本身属于隐私计算主流技术之一,具有保障多方安全共享数据与隐私计算能力。在多方协作场景中,为保护各方的敏感信息不被泄露并满足合规性要求,数据的安全流转则变得十分困难。而使用TEE进行协作则可以满足相应的安全性要求。
多合作方可分别将自己的数据通过安全信道传入TEE中,TEE中的程序为可验证的共识程序。TEE中执行运算并输出计算结果,不泄露参与计算的原始数据,如图4所示。
TEE的机密性主要是通过对CPU寻址的隔离与内存隔离实现。目前主流的TEE技术包括x86架构下的Intel SGX技术、Intel TDX技术、AMD SEV-SNP技术以及ARM架构下的TrustZone技术与基于TrustZone技术的机密计算架构CCA。其中TrustZone、CCA、SGX具有CPU访问控制验证能力、TDX具有地址转换能力、TDX与SEV-SNP具有分页控制能力、而CCA、SGX、TDX、SEV-SNP均具有内存加密能力,如图5所示。
TEE完整性则是通过证明来保护。尽管TEE被称为可信环境,但其也需要具有可被验证的能力,来确保用户的数据与程序运行在TEE中且没有被篡改。一般情况下,验证方会与认证方建立安全信道,由验证方生成随机挑战发送给认证方,认证方则向其所信任的硬件发起挑战,要求提供对软件与数据状态的证明。随后受信硬件收集信息并对结果进行签名,返回给认证方,认证方则将其发送给验证方,验证方基于验证策略来验证签名与状态信息从而验证自己的数据与程序的运行满足预期。
由于技术不同,不同技术在不同场景下的可信基也各不相同,具有代表性的是SGX与TDX、SEV-SNP的区别。由于SGX提供进程级的隔离,其可信基一般为一个安全进程,而TDX与SEV-SNP则是提供虚拟机间的隔离,其可信基为一个安全虚拟机。此外,随着技术的发展,机密计算也在不断支持通过硬件来加强其计算能力,如GPU、FPGA等,这也将是未来TEE机密计算的一个探索方向。
TEE的最大优势在于其具有更高的计算效率,由于其使用软硬件结合的方式来保护其安全性,与传统的纯软件方法比无需使用较为复杂的密码学协议与算法,对于可信环境内部来说其计算可视为明文计算,而对于可信环境外则是保密的,完美兼顾了安全性与效率。然而得到与失去是一对形影不离的双生子,TEE的安全性高度依赖于可信硬件所具备的安全性,如何防范针对硬件层面的各类攻击为各硬件厂商带来了无尽的挑战。尽管信任链变短可以应用于更多不受信场景中(如云计算),但信任根依旧在各个硬件厂商手中,用户还是需要信任硬件厂商不会作恶。此外,硬件成本也是对比与过去纯软件方案的额外支出,如何将业务从原有设备迁移至具有TEE的硬件设备中也是一个需要考虑的问题。
当然随着技术的发展,问题终会被不断解决,TEE依旧具有广泛的应用场景,未来也将会有越来越多的基于TEE技术的产品与解决方案出现,我们将拭目以待。
本站“技术博客”所有内容的版权持有者为绿盟科技集团股份有限公司(“绿盟科技”)。作为分享技术资讯的平台,绿盟科技期待与广大用户互动交流,并欢迎在标明出处(绿盟科技-技术博客)及网址的情形下,全文转发。
上述情形之外的任何使用形式,均需提前向绿盟科技(010-68438880-5462)申请版权授权。如擅自使用,绿盟科技保留追责权利。同时,如因擅自使用博客内容引发法律纠纷,由使用者自行承担全部法律责任,与绿盟科技无关。