上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

公信链:可信计算协议白皮书(38页).pdf

编号:15718 PDF 38页 1.53MB 下载积分:VIP专享
下载报告请您先登录!

公信链:可信计算协议白皮书(38页).pdf

1、可信计算协议白皮书 TCP:一 种 Laye r 2 的 可 信 计 算 协 议 Mercury f00101j 2019-04-10 ( 公信链 ) 引言 在这里, 万亿美金级的数据经济市场迎来了一个重磅破局者, 基于GXChain的可信计算协议 TCP (Trusted Computing Protocol)。 社交巨头 Facebook 深陷 5000 万用户数据泄露的隐私问题,华住 5 亿条数据在黑市公开叫卖, 众多软件在后台启动调用手机的摄影、录音、通讯录等等敏感权限,庞大的数据黑市仍在不断扩张, 数据商业繁荣也将个人数据隐私问题推到了聚光灯下,公民的 “ 数 据 权 ” 意 识逐渐

2、觉醒,对于个人 隐私,人们从未像当下这般焦虑。大势所趋之下,各国政府也在不断加强对数据隐私的保护,对企 业的数据应用施以高压。在互联网中心化的商业模式下,提升数据的商业利用效率几乎必然造成对 用户数据隐私边界的蚕食。“数据隐私权”和“数据商业效率”之间的矛盾还将愈演愈烈。 因此, 我们设计了可信计算协议, 去完美地解决这一矛盾。 在保护隐私的前提下, 进行数据计算, 充分开发数据的商业价值,进一步提升数据的经济附加值。这一过程,我们称之为“可信计算”。 TCP 不是一个简单的技术协议,而是一个剑指万亿数据经济市场的商业平台,将成为数据经济 市场的破局者。TCP 能在保护用户隐私的同时,大幅提高

3、数据的附加值,让企业利用数据创造更高 的价值,也能让用户享受数据带来的经济收益。GXChain 团队基于面向企业的大规模商业落地场景 设计的可信计算协议,是区块链技术落地数据经济领域的基础,也是区块链大规模商用的突破点。 未来,会有越来越多的数据商业模式基于 TCP 拔地而起。 TCP,一个数据经济新时代的开端,即将点燃这万亿美金的市场。 “ 2 目录 摘要 . 1. 简介 . 1.1 驱动因素 . 1.2 前人工作 . 2. 可信计算范式 . 2.1 基础概念 . 2.2 抽象定义 . 3. 约定 . 4. 可信计算架构 . 4.1共识机制. 4.1.1 动机 . 4.1.2 共识算法 .

4、4.1.3 安全性证明 . 4.2分层网络. 4.2.1 动机 . 4.2.2 状态模型 . 4.2.3 链下计算 . 4.2.4 链上验证 . 4.3 分布式密钥管理协议 . 4.3.1 动机 . 4.3.2 DKMP. 4.3.3 安全证明 . 3 4.4 TEE-TCP. 4.4.1 动机 . 4.4.2 安全防御设计 . 4.4.3 安全传输模型 . 4.5 Plasma-TCP. 4.5.1 动机 . 4.5.2 设计原理 . 4.5.3 安全证明 . 5. 执行模型 . 5.1 角色介绍 . 5.2 合约部署 . 5.2.1 合约部署的流程 . 5.2.2 合约部署流程伪代码 .

5、5.3 合约执行 . 5.3.1 合约执行的流程 . 5.3.2 合约执行流程伪代码 . 结论 . 致谢 . 术语表 . 参考文献 . 4 5 6 7 8 8 9 10 11 11 11 12 15 15 15 16 16 17 17 17 18 18 19 19 20 20 25 25 25 28 28 28 30 30 30 31 31 31 32 32 33 34 摘要 人类社会已经进入到“数据和智能商业时代”。越来越多的商业服务开始在线化,业务变得数据 化,同时引入 AI 分析数据,优化和执行决策,商业的循环将演化地更加高效,数据 + 智能毫无疑问 会是驱动人类生产力爆发的下一对双轮。

6、 但伴随着数据爆炸和 AI 能力的突飞猛进,层出不穷的数据泄密、隐私侵犯等恶性事件不断出现, 公民的“数据权”意识逐渐觉醒,各国政府也不断加强数据隐私的保护,对企业在数据的应用上施以 高压,压缩了数据的商业化空间。“数据隐私权”和“数据商业效率”的平衡,可谓数据经济时代最大 的难题之一,本文为解决这个关键问题提出了解决思路和技术方案。 在本文中,我们提出了可信计算协议(Trusted Computing Protocol,简称 TCP),这是一个 结合区块链和可信执行环境来解决上述隐私保护问题的系统。TCP 是一种新型的架构,将共识与计 算解耦。实现高效的 TEE(Trusted Execut

7、ion Environment)支撑的可信计算和高可扩展性,我们 重新设计了状态模型,并且在 Tendermint 共识算法中增加公平的随机数,力图达到更高的网络吞吐 量以及体现去中心化治理的价值。另外,我们设计了一套去中心化的密钥管理系统,可以动态更新 密钥,将达到更高的隐私保护安全性。 最后,TCP 是一个 Layer 2 扩容方案,遵循 Plasma 协议,可以为任何区块链项目提供可信计 算和复杂运算。TCP 最终实现在保护数据隐私的前提下进行复杂计算,有效地降低了企业敏感数据 的法律风险,提升了数据变现能力,助力深度学习和人工智能等行业的发展。 4 5 1. 简介 随着云计算的不断发展

8、,为了实现更高效的数据流通和数据计算,集中化的数据管理方式被 广泛采用,同时产生了众多因数据管理不当而导致的隐私泄露问题。在没有行之有效的隐私保护 技术方案出现之前,各国纷纷颁布了数据隐私保护条例,通过法律来约束对数据的使用。 可信计算的诞生,是为了通过各种密码学技术,在保护数据隐私的同时,使得数据得以大规 模应用。本文提出的 TCP,是一种以区块链技术作为信任基石,结合链下计算和 TEE 的隐私保 护计算方案。该方案使得企业和个人可以把数据处理模型部署在区块链上,在链下可信执行环境 中处理隐私数据,最终把可验证结果存储到链上并更新状态,整个过程通过密码学和 TEE 等手段 来保证数据的隐私和

9、安全。 1.1 驱动因素 人类文明诞生以来,集中化成为一个主要的竞争优势。社会化和集中化的政府能发展出更多先 进的技术,累积更多的资源,推进社会的快速发展。在过去的十年中,网络的惊人增长与集中化的 趋势相结合,使一些大公司拥有了网络的关键节点,并因此在网络上积累和拥有了大量数据。而缺 乏透明度和相关法律法规产生了数据集中化的消极影响:操纵 1,监视 2 和频繁的数据泄露 3。 我们努力寻找一种新的模式,通过集中化实现最大化的产出和效率,并运用去中心化的治理机制, 减少传统的集中化数据处理模式中存在的问题。 比特币 4 和其他区块链 5 向大众承诺一个美好未来。如今可以使用分布式架构构建应用程序

10、, 在其中没有任何一方拥有绝对的权力和掌控力。 区块链的公共性质保证了应用程序工作方式的透明, 并留下了不可篡改的活动记录,为诚实行为提供了强有力的激励。比特币是第一个这样的应用程序, 开启了一个新的网络范例。 现代应用程序使用大量数据并对其进行分析,然而区块链的强烈验证和公开性限制了潜在的使 用案例,这个限制意味着只有受信代码可以在区块链上运行 6。问题是,现代应用程序中许多最敏 感的部分需要对隐私数据进行大量处理,而区块链的公开透明和全节点验证,数据将流经区块链上 的每个全节点, 使其无法很好的处理隐私数据。 这种模式有一个自相矛盾之处:最敏感的隐私数据只能在集中、不透明和安全未知的模型中

11、存 储和处理。我们已经看到这种模式导致了灾难性的数据泄漏,以及我们目前在网络生活中不得不承 受的系统性隐私保护缺失。 另一方面, 区块链全网同步验证和执行的机制使其不适合处理复杂的计算。 6 1.2 前人工作 可信计算在区块链的背景下发挥重要作用,围绕着这个主题,我们分别介绍在近年来在 TEE、 区块链扩容和共识算法领域取得的最新进展。 首先,在 TEE 领域,最近有一些项目尝试在英特尔 SGX 中执行区块链应用程序、智能合约 和机器学习。微软发布的 Coco 框架 7,它提供了一组基于英特尔 SGX 的构建模块,可用于保护 区块链系统数据隐私。R3 Corda 分布式账本平台宣布了使用 SG

12、X 的隐私功能 8。Teechain 9 是一种在比特币之上进行离线支付的系统,它利用 SGX 在不信任方之间建立有状态的支付渠道。 Zhongshu Gu 等 10 开发了 DeepEnclave 划分深度学习模型,利用 SGX 来缓解推理通道中的敏感 信息泄漏问题。Roland Kunkel 等 11 提出 TensorSCONE,一种基于 TensorFlow 的通用且安全 的机器学习框架,支持在不受信任的基础架构上(SGX)上安全执行现有应用程序。T. Hunt 等 12 设计了基于 SGX 安全区实现的 Chiron,一个用于保护隐私的机器学习即服务的系统。 其次,在公链扩容领域,主

13、要分为链上 Layer 1 和链下 Layer 2 扩容。著名的 Layer 1 方 案,早期是比特币的隔离验证(SegWit13),近来是以太坊的分片(Sharding14),它将在 Casper 中实施;与此同时,Layer 2 方案受到越来越多的关注,全球团队主要采用状态通道(State Channel) 和侧链 (Side Chain) 两种解决方案。 著名的状态通道有基于比特币的闪电网络 (Lightning Network15)和基于以太坊的雷电网络(Raiden Network16),后者为 ERC20 和 ERC223 标 准代币专门设置的状态通道;侧链方案中,Cosmos17

14、 在多方跨链通信方面做了非常充实的工作, 其共识算法具备良好的性能;Plasma18 是 Vitalik Buterin 等提出的,目标是将很多智能合约计算 移到侧链而非主链上执行,目前已经有数个可实施版本。 最后,在共识算法领域,比特币和以太坊的工作量证明(PoW)已经稳定运行多年,在权益 证明 PoS 提出之后,近两年来涌现出很多 PoS 的变种以及 BFT 的改进版本。Algorand19 采用的 BA* 是一种优化的 BFT 算法,采用可验证随机函数(Verifiable Random Function,简称 VRF)的 方式选择区块发布者;Thunderella20 选出一个委员会采

15、取同步非 BFT 的方法做共识,称为快速 通道, 与前者的思路类似;Cardano的Ouroboros21是一种PoS (Dynamic Proof of Stake) 算法, 在最新版本里面也同样采用 VRF 算法;Dfinity22 巧妙地利用门限签名算法生成随机数来选择下一 轮共识节点组合,它也是一种 PoS 算法;Tendermint23 是一个异步 PoS 算法,并且提供拜占庭 容错,比起同步 PoS 算法更快,并且不需要担心安全问题。 7 2. 可信计算范式 2.1 基础概念 可信计算的可信意味着“如果一个实体的行为总是按照预期的方式和目标进行,那它就是可信的 24。可信计算的核心

16、思想是“终端源可信传递”,这与其他传统意义上的安全方案有着本质性的差异。 可信计算协议(Trusted Computing Protocol, 简称 TCP),是在可信计算的基础上进一步扩 大信任的边界,实现可信数据采集、可信数据存储、可信数据交换、可信数据计算和可信数据应用, 同时使用多种隐私安全技术,来达到高效的可信赖的计算范式。 首先,我们用一个简单的公式来定义可信计算的过程: 其中 代表可信计算, 表示可信执行环境, 表示模型(私钥 只在可信执行环境中持有, 不会向外泄露), 表示加密数据。 上式中, 代表加密的计算执行结果, 表示返回的可验证计算的证明, 代表解密函数。这 个可验证的

17、计算结果 中的 和 作为交易的一部分发送到共识网络中,达成共识,然后 向合约调用者或部署者发送 。 代表世界状态, 代表交易级状态转换函数, 代表区块级状态转换函数, 是区块定稿状 态转换函数,交易 中包含着可验证计算结果 的 hash 值 、 和交易本身的支付信息, 区块 中包含上一个区块头的引用、Validator 签名和交易的集合。 上述的公式描述了可信计算的整个过程:数据通过加密的方式进入到可信执行环境,在可信执 行环境中解密和执行,可信计算得到的可验证结果通过交易的方式发送到区块链上,使区块链世界 状态从 转变为 。 8 (2-1) (2-2) (2-3) (2-4) 2.2 抽象定

18、义 我们定义的下一代通用可信计算协议具有如下属性: 1. 安全性 2. 隐私保护 3. 链下计算性能 4. 链上网络吞吐量 5. 价值拓展 我们对可信计算行业进行了深入分析,在安全性和隐私保护层面,同态加密(Homomorphic Encryption)25,26,27 和安全多方计算(Secure Multi-party Computation)28,29,30 在密码学的范畴给出了优秀的答案,但在计算和通信复杂度方面,则面临着很大的局限。在计算性 能方面,可信硬件 31 综合了前述两种方案的优势,具备更高的计算性能,满足我们的预期。 现有绝大多数公链,由于交易需要在全网每一个全节点上执行,

19、存在大量的冗余计算,并且随 机节点数量的增加,其计算性能不会超过单节点的计算能力。我们思考在不同的场景之下,满足多 种形式计算的需求(比如可信计算、复杂计算),减少之相应的计算冗余度并大幅降低交易费用。 我们设计了分层网络并优化了共识算法,将计算与共识剥离开来,在正常的状况下,交易只需要单 个节点执行,整个网络的计算能力会随着计算节点数量的增加而提升。 我们定位自身为一个 Layer 2 方案,可以为任何公链提供计算扩容和可信数据计算能力,我们 实现了 Plasma 协议,在此基础上针对我们的状态模型进行改进,这样我们就可以在不破坏公链共 识的前提之下拓展其共识的价值,丰富其通证使用场景,为其

20、赋予更多的想象力。 以上三点是 TCP 的基本特性,在此我们给出一个标准的定义:TCP 是一个去中心化的可信计算 协议,我们致力于在 trustless 环境中,为数据持有者和数据消费者之间搭建信任的桥梁。不同于传 统的行业模式,我们使用区块链作为底层基础架构,解决价值流转层面的问题,同时具备区块链的 可溯源、防篡改、智能合约等基础属性;在底层使用 TEE 提供的安全可信计算环境,解决数据泄露 层面的问题。 9 3. 约定 在这一章描述本文中涉及的基本符号,我们参考以太坊黄皮书的符号体系,做基本的约定: B:代表一个区块 T:表示一笔交易 :世界状态 A:子交易状态 :机器状态 t:时间 C:

21、总体费用函数 :区块级的状态转换函数 :TCP 的状态转换函数 :区块落盘的状态转换函数 :数值转换函数 n:代表 nonce s:发送者 o:交易发起人 r:接收者 c:执行代码的账户 ( 通常与接收者相同 ) v:可验证的计算结果 d:加密数据 ( 一个任意长度的字节数组 ) 10 4. 可信计算架构 4.1 共识机制 4.1.1 动机 在主流的分布式共识算法中,整个区块链网络的性能不会超过一台单节点,智能合约的链上计 算本质上是昂贵的,并且受限于区块大小和出块间隔,难以满足链上复杂计算的需求。 另一方面,主流的 BFT 以及衍生算法,比如 Tendermint、EOS 等,缺少完善的节点

22、奖惩机制 和选择记账节点的随机性和公平性。在比特币的工作量证明机制中,所有节点依赖算力竞争出块, 本质上是一个随机性事件,它保障了记账在节点级别上的公平。在 PoS 的一些衍生算法中,通过 MPC 等方法生成随机数用来确定下一个或者多个记账节点,本质上也是随机性事件,降低了记账节 点受 DDoS 攻击的风险。 共识算法是 TCP 的重要组成部分,我们通过结合 Tendermint 以及基于 BLS32 签名的门限签 名算法,实现了公平的随机记账和高效的共识。 11 Plasmaplus TEE VC HE MPC SmartContractplus TrustedComputing Conse

23、nsus AttestationStateDBAccount TxPool DKMP P2Pnetwork Transaction IOTA EOS Cardano GXChain Ethereum 图1.TCP总体架构 4.1.2 共识算法 TCP 使用基于 Tendermint 结合 DKG(Distributed Key Generation,如 33)和 BLS32 的 改进共识算法,它具备以下特性: 1. 实现快速的交易确认 2. 解决区块链的分叉、交易回滚问题 3. 达到更高的网络吞吐量 4. 生成公平的随机数 5. 实现记账的公平 状态机 图 2 展示了一个区块形成过程中的状态机

24、转换,图中的 Propose,Prevote,Precommit, Commit,NewHeight 代表每个 Round 中状态机的状态。一个区块的提交需要经过 Propose 、 12 图2.状态机 Precommit +2/3Precommit Prevote ProposeNewHeight Commit Prevote 和 Precommit3 个阶段。共识算法基于 Round 的机制来确定下一个区块, Propose - Prevote -Precommit 的完整过程称为一个 Round。 在 Propose 阶段,由共识算法从验证人集合中选出一个验证人对区块进行提议。 在 Pr

25、evote 阶段,验证人对提议的区块进行预投票,如果有超过 2/3 的验证人投票,则进入 Precommit 阶段。 在 Precommit 阶段,验证人对提议的区块进行预提交,如果有超过 2/3 的验证人投票,则进入 Commit 状态,区块被提交到链上。 共识过程 每一轮开始,验证人对新一轮的区块进行提议 (Propose)。合法的提议区块,先经过一轮的预投 票 (Prevote),在提议区块获得 2/3 以上的预投票后,进入下一轮的预提交 (Precommit),同样是获 得 2/3 以上的验证人预提交后,被提议区块被最终确认。 在第一轮预投票中, 我们引入分布式密钥生成算法 (DKG)

26、 , 生成各方共享的密钥;在预提交阶段, 我们使用基于 BLS 的门限签名算法生成额外的签名分片(Signature Sharding),并在最终提交的 区块中合并成一个最终签名。利用这样的多方共同生成的签名来生成随机数,可以做到随机数的均 匀性、相互独立和不可预测性, 实现公平的链上随机数。 13 图3.共识过程 Signatures New Height blockinvalid ortimeout New Round PrecommitBlock+ SignatureSharding PrevoteBlock+ SecretSharding Waitfor +2/3 precommits

27、 Propose Pre-commitnil PrevoteNil +2/3Precommit +2/3Prevote validblock -2/3 -2/3 Waitfor +2/3 prevotes 由于一些原因,比如提议者离线或者网络非常慢,导致验证人可能在提交一个块时失败。共识 算法允许一个验证人被跳过,在进行下一轮投票前,验证人会等待一段时间,从提议者那里接收一 个完整的提议块。只有在接收到超过 2/3 的验证人投票时,才会采取下一步操作。 网络中的任意节点可以通过抵押保证金的方式成为验证人参与共识。如果验证人作恶,将会被 没收保证金。对比比特币网络的工作量证明,保证金机制增加了节

28、点的作恶成本,提高了区块链网 络的整体安全性。 随机提议者 为了实现记账的随机性,从而提高节点记账的公平性和网络的安全性,我们在共识算法中增加 完全公平的随机数。共识过程中的区块提议者,由共识节点共同参与生成的随机数来决定。每一轮 都会通过基于 BLS 的门限签名算法生成区块的最终签名,将其作为随机数并取模,将得到的值映射 在基于节点权益和记账效率的序列中,从而得到完全随机的下一轮区块提议者。区块提议者选取公 式如下: 其中 代表第 t 轮生成的随机数, 代表节点数量, 代表第 t 轮的记账节点。基于公平性和实 用性的考虑,我们可以动态的设置 epoch,调整随机数生成的频率,结合节点综合序列

29、,在公平和 效率上达到平衡。 验证人记帐权重 验证人记账权重,根据其币龄和参与出块效率作为作为综合权重,我们将出块效率放在首要的 位置: 其中 代表币龄, 代表出块效率, 、 是对应转换函数, 是重置函数,它会在一个 epoch 中衰减并在下一个 epoch 开始时重置。 在上式中, 是指量, 指衰减常数, 是初始量,一般是所有记账节点的保证金加上出块 奖励的总和。 14 (4-1) (4-2) (4-3) 网络参与者 1. Validator, 验证人,参与共识过程中的投票,不同的验证人拥有不同的记帐权重 2. Proposer,提议者,使用公平的随机算法从验证 人集合中选出。根据记帐权重选

30、择区块提议 者,记帐权重越大的验证人被选为提议者的概率越高。 4.1.3 安全性证明 假设所有节点的总数为 R, 拜占庭节点数量为 f。设想 f 个叛变者和 k 个忠诚者,叛变者可以 给出错误的结果,也可以不响应。某一时刻,f 个叛变者都不响应,则 k 个忠诚者取多数也能得到正 确结果。当 f 个叛变者都给出一个恶意的响应,并且 k 个忠诚者中有 f 个离线时,剩下的 k - f 个忠 诚者此时无法分辨是否混入了叛变者,仍然要确保取多数才能得到正确结果,因此 k - f f 即 k 2f,所以系统整体规模需要满足 R3f。 采用绝对多数的选票选定的最优拜占庭容错算法,可以保证: 1. 当超过

31、1/3 的验证节点发生拜占庭行为时,系统将停止工作,在交易安全和停机风险之间选 择安全; 2. 出现验证安全问题,可以对冲突进行投票,广播有问题的选票,作为证据提交; 3. 如果遇到对同一特定区块的同意及否决信息同时超过 2/3 的情况,需要启用外部的维护机制 去核查是否存在超过 1/3 的验证节点伪造签名或者签署两个相互矛盾的投票。 4.2 分层网络 4.2.1 动机 区块链的三元悖论是指区块链系统的去中心化、安全性和可扩展性只能取其二。在现有的区块 链中,由链上合约执行计算,成本高昂并且有指令数和区块大小限制,比如以太坊设置区块的最大 Gas Limit,整体性能远远无法满足商业化落地的需

32、求。因此我们设计了分层网络和状态模型,解耦 计算与共识。这样的方式可以充分利用计算节点的资源,避免冗余计算,大幅提升网络吞吐量。 15 4.2.2 状态模型 以太坊是典型的以事件作为驱动的状态模型,在区块中存储的是事件,网络中的每一个节点都 需要对 events 达成共识并执行交易更新世界状态。经过对分层网络模型 21,34,35 的设计理念 进行研究,我们认为在区块中存储状态和证明是更加优雅的方案。因此我们设计了一个状态模型, 每一个交易(transaction)包含事件(event)、状态(state)和交易证明(attestation),如图所示: 在一笔 transaction 具体包

33、括:event,修改前后的 state,计算证明 attestation 以及执行结果 的哈希值。我们将在未来的工作中引入零知识证明(例如 zk-STARK36),实现通用的可验证计算。 4.2.3 链下计算 用户可以指定在网络中注册的任意计算节点,向其发送请求(包含合约的 cid,输入参数,请求 签名 signature 等)。计算节点验证交易发送者的 signature,根据合约 cid 去链上拉取合约代码, 同时向数据持有方请求数据 。当合约代码和数据准备完毕,则在 Enclave 中完成初始化并执行。 执行结束之后,将交易证明 attestation、新的状态 state 和请求 re

34、q 等组装成完整交易发送至共识 网络中。在公式 2-2 中,我们定义了抽象的执行过程,使用输入参数来执行模型,得到执行结果和 证明。在这里,我们对其进行具象化: 在上式中,state 包括修改前后的状态,result 是合约执行结果,attestation 则是交易正确性和 完整性证明,DEC 是抽象解密函数。数据使用合约公钥加密,DEC 调用 DKMP 服务获取对应的合 约私钥从而解密数据。 16 (4-4) 图4.状态模型 Block#98 Block#99 event丨state丨attestation Block#100 event丨state丨attestation 4.2.4 链上

35、验证 当共识节点收到计算节点发来的交易时,验证请求发送者的签名 、attestation 中的安全计 算证明 和前状态 hash 值 ,一旦验证通过,则加入交易池并全网广播交易,共识节点 将交易打包并形成共识。 安全计算证明 由英特尔远程证明服务(Intel Attestation Service,以下简称 IAS)提供,在 TEE(下文特指 Intel SGX)的安全区中执行合约生成的证明 ,由计算节点发送至 IAS,生成最 终的证明 39,其 表示 的有效性, 是 IAS 对 和 的 签名。 这样,我们定义链上验证的函数 : 共识节点验证 不需要 TEE 也不需要依赖 IAS。为了共识的健

36、壮性和通用性,将在未来的工作 中增加零知识证明。 4.3 分布式密钥管理协议 4.3.1 动机 基于对当前行业的研究与分析,我们选用 TEE 作为我们可信计算平台的核心组件,更多的 TEE 内容在 4.4 节中体现。各大公司在使用 TEE 进行可信计算方面做了很多实践,与此同时,最近的研 究表明,针对 TEE 的旁道攻击仍然会导致数据泄露。现阶段的防御手段一般分为三个层次:源码级 别(例如利用 bit slicing 来增强 AES 和 DES37),系统级别(例如 TSX 技术来保护 Enclave 的 自身时钟 38)和硬件级别 39。这些方案只解决了特定领域的具体问题,在普适性方面存在着

37、巨 大挑战。 尽管如此,我们仍然希望最小化受损的 TEE 能造成的安全影响,Ekiden40 采取的方法是在 空间和时间上划分区域。为了应对一定数量的 TEE 受到破坏的情况,同时在业务上独立于硬件级别 的公私钥,我们设计了关键协议:分布式密钥管理协议(Distributed Key Management Protocol, 简称 DKMP),即使特定阈值范围内的 TEE 的机密性受到破坏,仍然不会泄露密钥,同时实例化此 协议的组件以服务的形式提供并设置访问规则。更进一步的,我们还将采用主动密钥旋转 40,41 来限制密钥泄露的范围。 17 (4-5) 4.3.2 DKMP DKMP 在安全秘

38、密分享组(Secure Sercet Share Group,简称 SSSG)中生成、管理和合约的 密钥分片。SSSG 是共识节点的一个子集,由共识算法中的随机数(见 4.1.2)来决定,它的成员分 布式地储存密钥分片为合约提供密钥支持。DKMP 是对 TEE 密钥管理的一层抽象,它包括 DKG 和 移动主动密钥分享算法(Mobile Proactive Secret Share42, 简称 MPSS)。 1.分布式密钥生成 (DKG) : 允许一组多方成员共同生成多项式, 每一方都得到无偏差的随机密钥。 DKG 协议的运行结果是每一方能获得一份密钥对,并共享一个公共公钥。 2. 移动主动密钥

39、分享(MPSS):允许一组多方成员保存共享密钥,并且能动态的在不同的多 方成员组中传递密钥分片。MPSS 协议的运行结果是,多方成员组共享的密钥分片在不同的成员组 中接替保存密钥分片。 整个协议分为两个阶段:第一阶段应用 DKG 在 SSSG 中生成共享密钥;第二阶段应用 MPSS 将密钥从 转移到 中,MPSS 协议的执行周期可以动态调整。 4.3.3 安全证明 DKMP 需要共识网络中生成的随机数来确定 SSSG,并且在特定个 epoch 更新 SSSG。在 DKMP 中,我们考虑了 SGX 可能受损而泄露数据的情况,在此基础上分析 DKMP 的安全性。 已知共识节点的总数量为 N,SSS

40、G 的成员数量为 n(nN),恶意节点的数量为 f,能恢复出 共享密钥的节点阈值为 t(tn),我们将基于以下三种情况进行分析: 1. f t 在这里我们讨论两种情况下可能会发生数据泄漏的可能: 1)每个 epoch,节点持有的密钥不会动态更新。假设在不同的 epoch 中,均有不同的 f(ft 的密钥分片,恶意节点无法使用不同的分片还原出密钥。 3. f t 在这种极端情况下, 数个TEE节点同一时刻遭受侧信道攻击的概率微乎其微。 我们考虑这种情况, 采取措施将损失最小化,包括动态调整阈值 t 降低后续的泄露风险,通过经济奖励和惩罚来激励参 与方等。 与此同时, 对于计算节点来说, 当其由能力和声誉良好的组织管理时, TEE受损的风险m%很低; 当其由任意符合我们的条件并开放进入计算网络的组织来说,这个时候 TEE 受损的风险 m% 很大。 在处理第二种情况时,有三个层面的解决方案:其一向 SSSG 请求密钥将验证远程证明的证据;其 二是对 SSSG 对返回的密钥分片进行适当的旋转,这样受损 TEE 只会获得一定时间内的密钥;其三 是通过通证抵押、奖励和惩罚来约束计算节点的行为。 4.4 TEE-TCP 4.4.1 动机 我们采用的可信硬件 TEE 是 Intel 的 SGX 平台 43,44,45,它是一种特殊

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(公信链:可信计算协议白皮书(38页).pdf)为本站 (起风了) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
小程序

小程序

客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部