[基于硬件可信执行环境的隐私计算(2021)阅读记录
https://heartever.github.io/files/ConfidentialComputing-tianjin.pdf
https://heartever.github.io/files/ConfidentialComputing-Guilin.pdf
https://heartever.github.io/files/HETEE_slides.pdf
@
1 计算能力弱
计算能力弱:CPU至多8核,128/256MB加密内存
解决方法:可以扩展到GPU(Graviton,HIX)、 FPGA(SGX-FPGA,shEF)、 AI加速器(TNPU,TACC)等架构,提高计算能力
缺点:
- 需要更改GPU(Graviton)或者CPU(HIX)
- GPU runtime等heavy software stack需要在可信环境内(Graviton)
- 频繁通信的加解密开销
- GPU runtime和GPU的通信可能泄露侧信道信息(Telekine)
相关解决方案:HETEE,极简TCB,物理强隔离
2 侧信道攻击
解决方案
系统角度
- 检测异常中断(T-SGX、De javu)
- 检测cache eviction (TSX, Usenix 18)
- 检测SMT(hyper-threading)(HyperRace, SP 2018 https://heartever.github.io/files/SideChannelRisks.pdf)
软件开发者的角度
- ORAM
- Oblivious program execution
- Code/data randdomization
3 Function Privacy(远程认证需要证明代码)
为证明自身,service provider需 要向remote user展示自己的代码
保证代码安全的认证:
- 在SGX内实现一个binary loader + checker
- 在SGX外提供编译器
- Checker检查代码,并向remote user提供证据
- 思路来源于proof carrying code(PCC)
硬 成S 1
4 Memory Safety
若代码存在漏洞,则用户数据可能被泄露
思路:代码具备某些属性,即使 control flow被任意redirect,仍能保证数据不被泄露
5 运行时状态
如何保证运行时状态的正确性?
6 编程和易用性
- LibOS:Haven(Windows[BPH,OSDI’14])、Graphene-SGX(linux[TPV,ATC’17])、
SCONE[ATG+,OSDI’16]、Occlum(蚂蚁金服) - 程序自动分割:Glamdring(c/c++[LPM+,ATC’17]),Civet(Java[TSJ+,Security’20])
- 编程语言支持:python(MesaPy,百度), Javascript[GWM+,Eurosec’17],GO
- 微容器:Panoply[STT+,NDSS’17]
- 中间件:Open Enclave(微软)、Asylo(Google)、SOFAEnclave(蚂蚁金服)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论