论文分享 | 具有可信执行环境的混合信任多方计算
本次我们分享的论文是Hybrid Trust Multi-party Computation with Trusted Execution Environment,于2022年的NDSS中被发表。
前言
当今社会,数据安全和隐私保护已经成为了一个非常重要的话题。在许多场景下要多个参与方需要共同进行计算,但是由于数据隐私和安全问题,这些参与方之间的信任程度不同。
因此,如何在混合信任环境下进行多方计算是一个非常重要的问题。本文提出了一个名为HYBRTC的通用框架,用于在混合信任环境下进行多方计算。
Hybrid Trust Computing
HYBRTC框架结合了硬件保护和软件保护,可以在不同的信任级别下进行多方计算。在框架中,参与方可以选择使用硬件保护(如Intel SGX)或软件保护(如MPC)来保护其数据。
由于不同参与方对TEE的信任是不同的,框架考虑一个函数f与函数g的组合在一个客户端C和多个TEE服务器S1,...,Sm上的多方计算。每个服务器Si,在从C接收参数αi后首先在本地数据库Di上执行f。使用fαi(Di)的结果,它们共同工作于g并将部分输出Oi返回给C。
考虑到数据库包含了最敏感的数据,所以所有服务器都不信任彼此的TEE。尽管使用的参数αi也是敏感的,但如果被泄露,其带来的后果较小。
因此,C希望对所有服务器的TEEs有更高的信任。对于那些在函数评估中不太可能被旁路攻击所危害的应用,C完全信任它们的TEEs。对于其他应用,她选择部分信任它们的TEEs。
Multifaceted Trusted Hardware (FTH) Model
文章介绍了一个新的多面向的可信硬件模型FTH,作为TEE的形式化函数,其中的函数被参数化为一个概率多项式时间(PPT)图灵机Prog。当FTH不被完全信任时,敌手能够了解到FTH接收的所有传入消息。在安全分析中,文章遵循通用可组合性(UC)框架,这是一个基于模拟的证明方法。文章用两个参数L, T来参数化安全定义。前者是一个泄漏函数集,捕获允许被泄漏的部分信息,后者是一个信任函数,解释了各方之间的信任关系。
文章引入了一个新的概念,称为多面向的可信硬件模型FTH,它可以被被动地或恶意地损坏。在FTH中,函数正式地模型化了硬件制造商在初始化期间选择的根密钥作为主密钥对(mpk, msk)。密钥mpk是一个公开的验证密钥,任何方都可以使用请求(GET PK, sid)获得,而msk是一个由FTH始终保持的秘密密钥,用于使用签名方案(Sig, Ver)签名函数的输出。内部执行的程序被参数化为一个带有密钥集K的PPT图灵机Prog。一个布尔标志“corrupted”用于识别FTH是否已被损坏。
在FTH中,一旦从对手A接收到消息(CORRUPT, sid, Prog*),FTH首先将corrupted标志翻转为true。如果A是半诚实的,它总是设置Prog* = ∅。但是,当A是恶意的,它可以任意定义Prog*,并且FTH将用Prog*替换初始程序Prog。FTH还通过调用(RUN, sid, inpi, trusted)支持多方SFE,其中trusted ∈ {0, 1, 2}标识输入提供者Pi对FTH的信任程度。在corrupted为true的条件下,如果Pi不信任FTH,即trusted = 0,FTH将同时向A揭露输入inpi和K;如果Pi部分信任,即trusted = 1,FTH只告诉A inpi;如果Pi完全信任FTH,即trusted = 2,A只能了解inpi的大小。特别地,考虑到受信任的硬件完全受其localhost支配,可以始终将从平台到本地硬件的RUN消息中的受信任元素设置为2。
之后,FTH将inpi存储在本地,并执行一个抗碰撞哈希函数H对inpi进行承诺,对于每个Pj,j ≠ i的inpj也是如此。如果Prog曾经被安装过,FTH将在K的帮助下执行一个函数,并接收outp1,...,outpm。最后,FTH对outpi计算另一个哈希摘要%outpi,并使用msk在会话id sid、Prog以及关于Pi的输入和输出的所有哈希摘要上创建一个签名σi。当corrupted = true和trusted = 0或1时,它们的内容对A是可见的;否则,outpi, σi可以返回给Pi,A有关于输出大小|outpi|和σi的知识。
Privacy-Preserving Distributed Query Execution
文章还提出了一种在分布式查询场景下执行查询的恶意安全协议,可以支持几种典型的SQL操作符,包括SELECT、Distributed Join、Hybrid Trust Select-and-Join。文章在Intel SGX上实现了HYBRTC的原型,并评估了enclave和MPC协议所产生的开销,同时给出了基于UC框架的安全性证明。实验结果显示了他们方案的高效性。
如表格所示,方案在所有数据集大小上都实现了最低的计算开销。特别是,当数据库的大小为2^20时,所提议的JOIN只需花费2.27s的时间成本,与PSTY19相比,实现了四个数量级的加速。尽管PSTY19和CM20与文章所提出的方案都具有相同的线性渐近开销,但在以下两个方面实现了更好的具体效率。
一方面, JOIN协议只利用了像哈希和PRF这样的轻量级密码原语,而不是参与一些高度计算密集的操作,例如PSTY19中的评估电路。另一方面,为了实现恶意安全,方案只需要检查由受信任的硬件产生的签名,而不引入额外的开销。
因此,从上述分析中,所提议的分布式连接协议是用于隐私保护的SQL执行的一个好选择,特别是对于具有大型数据库的一些情况。
总结
END
热
1.关联数据的认证加密(Authenticated Encryption with Association Data,AEAD)
文2.论文分享 | Android可信执行环境安全研究:TEE、TrustZone和TEEGRIS
推荐4. 笔记分享|浙大暑期密码学课程:Lattice-based Crypto lll 和lV