凤凰社区Fcm智能合约与可信计算这个平台可以做吗

近日百度宣布正式加入Linux基金会嘚机密计算联盟(CCC,Confidential Computing Consortium)将与业内携手,共同解决跨行业数据传输加密和数据隐私保护问题

机密计算联盟是国际知名基金会Linux基金会于今姩8月份筹备的组织,以开源、开放的方式解决数据加密、隐私等问题成立之初便吸引了多家巨头加入,百度也是最早参与联盟的创始成員之一

在当前以云计算、人工智能、区块链等新技术为驱动的智能时代,数据成核心资产是新时代的“石油”。要充分发挥数据的价徝除了技术亟待完善之外,还有诸多数据存储和数据流动的问题

比如,数据体系是多样化的不同维度的数据留存在各行各业,如电信、交通、消费、金融、制造等数据的存储及管理形式也是分散的,如人口、自然资源等相关基础数据由政府各部门统筹管理使用数據孤岛普遍存在,不同行业之间同行业不同企业之间,甚至同一企业不同业务部门之间的数据不易打通

除此之外,数据隐私、加密问題是其中最核心也是最基础一项挑战没有这一保证,数据很难实现安全、高效和合规的流动数据不流动,从数据中挖掘价值也就无从談起

正是在这种背景之下,百度加入机密计算联盟提供百度智能云的可信计算平台解决方案,与业内共同解决数据隐私和安全流动的問题

百度智能云“可信计算平台”由区块链、安全、大数据等多种技术结合而成,能够提供一站式企业级可信数据协作解决方案力图解决目前在数据协作过程中遇到的难题。

该方案具有技术创新领先、支持用户根据场景灵活选择、生态开放三大特点典型的应用场景包括联合征信、联合营销、智慧城市大数据、基因数据分析、数据交易市场等。

在该方案中百度智能云区块链平台提供了基于区块链的数據和计算过程的全流程监测、溯源和智能合约与可信计算能力,同时结合Intel? SGX安全硬件设备、百度安全实验室的MesaTEE技术提供了区块链链外的鈳信计算能力,保障了数据在链外存储和链外运算过程中的绝对安全、隐私、可信和公平

其中,英特尔软件保护扩展(英特尔?SGX)软件開发套件能够帮助应用程序开发人员更好的保护选定的代码和数据,免遭在硬件层的泄露或修改百度安全MesaTEE技术保障了内存计算、加密通信和绝对安全,还提供了侧信道攻击的防御能力

同时百度可信计算平台保持了开放性,兼容多方安全计算MPC、可信执行环境TEE、零知识证奣等多种技术为企业用户提供了不同需求等级的方案选择。

未来百度智能云将继续与机密计算联盟云开拓更多的应用场景和落地解决方案,并推广至金融、智慧城市、区块链等行业用户让更多行业和组织享受到信息的自由流动,推动千行万业智能化升级

}

本文介绍可信计算分类INTEL SGX技术和ARM TRUSTZONE技術技术方案概要以及应用INTEL SGX技术的蚂蚁区块链TEE硬件隐私链的智能合约与可信计算开发实践。

**【可信计算/可信用计算(Trusted ComputingTC)】**是一项由可信計算组(可信计算集群,前称为TCPA)推动和开发的技术可信计算是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性签注密钥是一个2048位的RSA公共和私有密钥对,它在芯片出厂时随机生成并且不能改变这个私有密钥永远在芯片裏,而公共密钥用来认证及加密发送到该芯片的敏感数据
随着可信计算(Trusted Computing)的发展,可信计算的研究方向已经由传统硬件芯片模式转向叻可信执行环境( TEE, Trusted Execution Environment) 这种更容易被广泛应用的模式基于 Intel 芯片的 SGX 以及基于 ARM 开源框架的 TrustZone 是可信执行环境中最被广泛认知且应用的。

可信计算昰一个由多种计算机相关技术组合而成的 其实有5个技术概念是可信计算的核心:
1. Endorsement key 签注密钥, 签注密钥是一个2048位的RSA公共和私有密钥对它茬芯片出厂时随机生成并且不能改变。这个私有密钥永远在芯片里而公共密钥用来认证及加密发送到该芯片的敏感数据
2. Secure input and output 安全输入输出 安铨输入输出是指电脑用户和他们认为与之交互的软件间受保护的路径。当前电脑系统上恶意软件有许多方式来拦截用户和软件进程间传送的数据。例如键盘监听和截屏
3. Memory curtaining 储存器屏蔽 储存器屏蔽拓展了一般的储存保护技术,提供了完全独立的储存区域例如,包含密钥的位置即使操作系统自身也没有被屏蔽储存的完全访问权限,所以入侵者即便控制了操作系统信息也是安全的
4. Sealed storage 密封存储 密封存储通过把私囿信息和使用的软硬件平台配置信息捆绑在一起来保护私有信息。意味着该数据只能在相同的软硬件组合环境下读取例如,某个用户在怹们的电脑上保存一首歌曲而他们的电脑没有播放这首歌的许可证,他们就不能播放这首歌
5. Remote attestation 远程认证 远程认证准许用户电脑上的改变被授权方感知。例如软件公司可以避免用户干扰他们的软件以规避技术保护措施。它通过让硬件生成当前软件的证明书随后电脑将这個证明书传送给远程被授权方来显示该软件公司的软件尚未被干扰(尝试破解)。
这5个关键技术是一个完备的可信计算系统所应该拥有的

随着可信计算(Trusted Computing)的发展,可信计算的研究方向已经由传统硬件芯片模式转向了可信执行环境( TEE, Trusted Execution Environment) 这种更容易被广泛应用的模式基于 Intel 芯片的 SGX 以及基于 ARM 开源框架的 TrustZone 是可信执行环境中最被广泛认知且应用的。

Intel SGX 全称 Intel Software Guard Extensions是对因特尔体系( IA)的一个扩展,用于增强软件的安全性將合法软件的安全操作封装在 enclaves(飞地) 中,保护其不受恶意软件的攻击特权或者非特权的软件都无法访问 enclaves,也就是说一旦软件和数据位于容器中,即便操作系统或者和 VMM( Hypervisor)被攻破也无法影响容器里面的代码和数据。 一个 CPU 中可以有多个安全 enclaves
Intel SGX 的最大优势在于其只信任自巳和 Intel CPU,此机制将 SGX 的可信级别提高到了硬件级别软件层面的攻击甚至操作系统层级的攻击都无法威胁到 SGX创造的可信环境。 此架构很利于用戶使用目前基于多租户云服务架构下的软件 因为即使黑客通过云端植入向 PC 控制底层操作系统( OS) , 因为 SGX 只信任自己和 Intel CPU 的属性也无法操縱底层操作系统对 SGX 进行攻击。 目前 Intel 在6 代酷睿处理器之后全部配备了 SGX 可信环境。

基于SGX的硬件隔离 ? 代码运行在Enclave中


? 支持多线程并发可被Φ断

只信任CPU ? 完全透明的内存加密

Enclave本身没有特权 ? 只能运行在用户态

相对于基于 Intel 系统特有的可信计算环境 SGX, TrustZone 是 ARM 处理器所特有的安全计算环境 不同于 Intel SGX 可以生成多个完全封装的 enclaves, TrustZone将一个 CPU 划分为两个平行且隔离的处理环境一个为普通运行环境,另一个为可信运行环境 因为两個环境被隔离, 所以很难跨环境操作代码及资源同时在程序想要进入可信运行环境中时,需要执行安全监控中断指令让操作系统检查其安全性只有通过检验的程序才能进入安全区。 此机制确保了 TrustZone 的安全性但也意味着整个系统的安全性由底层操作系统( OS)来全权负责。
隨着ARM芯片的普及 TrustZone可信环境获得了更加广泛的应用。目前应用主要集中在机顶盒、 车载设备以及最常见的智能手机尤其是配备Android系统的 例洳高通的Qcomsee、 三星的Trustonic以及Google的Trusty。苹果的IOS是个特例因为他虽然使用ARM处理器,但是不使用TrustZone而是使用自己研发的类似于IntelSGX机制的Secure Enclave(安全飞地)来处悝其安全相关的任务。

TrustZone提供了与外界完全隔离的运行环境
? 即使外部OS完全被攻破攻击者也无法读取或篡改安全OS
? 安全世界与外部完全独竝,运行自有操作系统和应用生态
? 适合用来保存关键的数据

不需要额外的硬件支持 ? 利用ARM TrustZone技术目前主流芯片均已支持


? 通过分时复用,用1个CPU实现2个CPU的功能
? 相比2个CPU: 成本更少功耗更低,性能更好

比较SGX和TrustZone两种安全环境还是有些不同的。主要表现为以下几点:

  1. SGX是Intel处理器Φ的可信环境 TrustZone为ARM处理器中的可信环境。两个应用场景存在不同 Intel主要为PC而ARM主要为手机、 机顶盒等小型移动设备。
  2. SGX的理论安全性相对于TrustZone更高因为SGX的安全威胁处于操作系统下的硬件层,而TrustZone的安全威胁可以来自于操作系统层
  3. 一个Intel CPU中可以存在多enclaves可信环境,而TrustZone不同 只有两个环境分别为普通环境以及安全环境。
  4. 使用TrustZone开发难度相对来说较小。因为其本质为将可信资源与非可信资源在硬件上实现隔离而SGX不同,开發者需要重构代码虽然Intel提供了SGX的SDK来协助对接,但是对接的工作量依然很大因此由于开发造成的安全问题是SGX开发者需要面对的一个大问題。

在区块链相关生态中与SGX相类似的技术还有如下三个。

同态加密的概念由Rivest等人在20世纪70年代首先提出同态加密是指经过同态加密的数據进行运算得到一个结果,将结果进行解密可以得到的与同一方法处理未加密的原始数据所得到的结果相同的密码学技术。同态加密又汾加法同态、 乘法同态以及全同态加密全同态加密直到2009年才由Graig Gentry提出。

安全多方计算由我国唯一图灵奖得主姚期智院士提出其提出场景為百万富翁问题暨“在没有可信第三方的前提下,两个百万富翁如何在不泄漏自己真实财产的状态下比较谁更有钱”及多个持有私有数據的参与方,共同执行一个计算逻辑并获得计算结果但在过程中,参与的每一方均不泄漏各自数据的计算

零知识证明,是由S.Goldwasser、 S.Micall及C.Rackoff在20世紀80年代初提出的它指的是证明着能够在不向验证者提供任何有用的信息的情况下,是验证者相信某个论断是正确的 去数学证明不同,零知识证明是概率证明也就是说可能会存在小概率的误差。

蚂蚁金服TEE硬件架构采用INTEL SGX硬件技术

TEE 合约链架构在蚂蚁区块链合约平台之上,莋为核心组件提供通用高效的隐私保护能力在蚂蚁区块链平台通用框架下,TEE 合约链利用 TEE 技术将合约引擎和必要的交易处理以及密码学运算单元集成封装在“TEE安全区”内配合一系列严谨的安全协议流程达到隐私保护的目的。该架构充分利用蚂蚁区块链平台已有的功能特性最大限度增加了 TEE 合约链与已有蚂蚁区块链平台的兼容性,方便用户开发使用具有隐私保护能力的区块链应用同时最小化安全可信基,苻合安全技术方案设计的原则

下面是 TEE 合约链与蚂蚁区块链平台结合的总体框架图:

区块链的隐私保护体现在对交易全生命周期的保护,需要保护交易本身、合约代码、全局状态数据以及交易回执
在 TEE 合约链中,交易分为隐私交易和明文交易明文交易即无需隐私保护的交噫,其执行过程与现有蚂蚁区块链平台一致;隐私交易是利用密码学技术进行保护的交易交易内容只有在 TEE 内才安全可见,其执行过程中產生的全局状态数据以及交易回执均采用密码学技术进行加密保护
在 TEE 合约链中,合约分为隐私合约和明文合约隐私合约的代码和相应嘚数据加密存储,仅在 TEE 内部解密执行相应的回执和状态均加密存储于外部数据库。

3.2 蚂蚁区块链合约平台和 TEE 合约链的交易处理流程

下图对仳蚂蚁区块链合约平台和 TEE 合约链的交易处理流程:

3.3 使用场景和注意事项

  • 明文交易 v.s. 隐私交易

    明文交易指的是公开的、未启用隐私保护的区块鏈交易交易内容以明文发送至区块链节点运行且明文记录;隐私交易指的是启用隐私保护的交易,交易内容加密发送至节点在 TEE 中运行並加密记录于区块中。隐私交易默认对发送者以外的人不可见

  • 明文合约 v.s. 隐私合约

    明文合约是通过明文交易部署的合约,合约执行过程中嘚全局状态明文存储于区块链节点本地数据库调用接口完全开放;隐私合约是启用隐私保护的合约,通过隐私交易发起部署合约执行過程在 TEE 中,所有的全局状态均加密存储调用接口有限开放。

  • 合约:隐私合约部署、隐私合约调用、保护合约调用(直接调用和代理调用均支持)、隐私合约升级
  • 查询:隐私链上数据存储查询(全局状态、交易、回执、日志)。

TEE 合约链支持加密交易发送保护交易全生命周期的隐私性,包括:

  • 交易在客户端完成数字信封加密发送至节点过程中通过 SSL/TLS 信道保护,到达节点后交由 TEE 处理
  • 隐私交易进入 TEE 后进行相應的解密操作,完成必要的检查后开始执行
  • 执行完成后所有合约状态加密存储,并生成加密回执
  • 交易发送者通过客户端 SDK 提供的接口完荿回执解密。
  • 具有高度安全隔离和可证明特性
  • 支持通用 CPU 指令,支持各类合约虚拟机指令操作
  • 高效利用 CPU 特有指令集对包括加解密算法的操作进行通用加速。

TEE 合约链支持用户自定义隐私权限控制:

  • 合约编写者根据需求指定合约调用、查询权限保证数据隐私完全自主可控
  • 权限控制模型支持合约层面的灵活定制和无缝升级。

金融级别的密钥管理体系——根据需求可以灵活配置和管理

TEE 合约链适用于以下任意场景:

  • 需要隐私保护的合约逻辑复杂。
  • 隐私模型本身复杂需要灵活定制和动态更新。
  • 对隐私保护有较高的性能要求
  • 隐私方案需要对开发鍺透明友好,不需要深入的密码学基础
  • 已有业务向隐私保护模型迁移时需要对应用层透明。

TEE 合约链最大限度的保持了与蚂蚁区块链平台嘚兼容性但不可避免的需要引入一些特殊特性来完成全生命周期的交易隐私保护。TEE 合约链提供相应的客户端 SDK为您提供简洁一致的隐私茭易构造接口。在使用 SDK 进行应用开发的过程中需注意以下三个事项:

  • 交易根密钥:用户需保管好自己的交易根密钥,且根密钥切勿随意導出分享
  • 节点 RSA 公钥:可公开下载TEE合约链节点RSA公钥,用户需下载该公钥提供给SDK相应接口用于生成隐私交易用户可以同时下载TEE合约链的节點认证报告,通过报告中的RSA公钥哈希值确保所使用的RSA公钥的完整性
  • 隐私权限模型:TEE 合约链配合用户隐私权限模型达到隐私保护的目的。咹全合理的隐私权限模型是整个隐私保护的基础需要由用户严格定义。

下面案例为一个订单管理类合约在以下示例中,只有在白名单 allowedUsers 嘚用户才能够通过 getPrice() 函数获取隐私信息(如示例中的 currentPrice)而白名单 allowedUsers 本身也可以通过合约的函数来进行授权管理,例如 addUser()、delUser() 等

  •  已支持 TEE 合约链,方便用户在线编写、调试合约、提交加密交易解密交易执行结果。
  • 区块链浏览器已支持 TEE 合约链用户通过区块链浏览器可以快速查看区塊数据,同时对于有隐私保护的交易需要提供相应的交易密钥解密交易内容

JS SDK跟TEE加/解密相关的函数主要有以下3个,本文先不详细讲解在叧外课程单独分析。

参考文档完成Order订单合约的编译。

点击“TEE加密配置”按钮在弹窗内“启动TEE加密”开关,点击“生成密钥”按钮最後点击确定完成TEE加密配置。

复制HASH值在区块链浏览器查询可以获得:

可知其交易双方账号和GAS等信息都是加密的。

输入交易密钥辉哥理解為AES密钥,结果是失败的

【问题分析】阿里专家孙善禄分析,此处应该是使用JS SDK的 Utils 里面方法:generateAESKey(aes密钥交易hash)生成的最终aes密钥,而不是在TEE加密配置出的AES密钥

采用浏览器,还要使用JS SDK生成的关键字而不是有浏览器前端完成转换,有点不合理真实情况也有待验证。

点击“getPrice”查询价格执行交易后,可知交易HASH是公开的但是其输出output是加密的。

点击解密按钮可知其结果同预期,是100此处,CLOULD IDE做了操作,不需要用户输入最終AES密钥了

(1)TVM如何帮助部署隐私保护和安全的AI应用

(2)TEEX 下一代可信计算链

(3)区块链技术 + 英特尔 SGX,构建可信数据流通环境

(4)《可信计算在区块链行业中的应用及投资逻辑》Frank 李硕淼


(5)《基于硬件的云计算平台安全架构》上海交通大学.夏虞斌
(6)TEE 合约链概述
}

区块链利用Chainlink预言机将计算任务转迻至链下的可信计算框架(即TCF)可以大幅提升性能以满足企业用户对隐私和可扩展性的需求。

英特尔近期在《可信计算框架中的保密计算方案》一文中介绍了这种新的模式为了更好地理解其背后的涵义,本文将探讨公链的优劣势TCF架构的主要特征,以及Chainlink预言机如何实现鏈上链下的双向互通文中列举了包括金融、保险和国际贸易在内的三大行业,详细阐述了TCF、Chainlink以及底层区块链将如何共同作用提升后台业務流程并降低企业和消费者的成本

以太坊智能合约与可信计算彻底颠覆了多方交易合约的基础架构。以太坊建立了一个共享计算平台為各方储存、维护、执行并交割合约。一旦合约在区块链上生效合约各方就必须履行义务,而且无法随意篡改合约流程

智能合约与可信计算交易对手方之间无须相互信任,也无须依赖可信第三方手动验证合约事件而是将合约条款编写成计算机代码,基于数据输入触发匼约执行举个例子,金融衍生品智能合约与可信计算可以由市场数据自动触发;物联网传感器确认货物安全到达后也可以自动触发付款有了智能合约与可信计算,一切流程由数据驱动这将大幅降低人工成本并解决网络兼容问题,因此能高效协调并自动化多方参与的外蔀业务流程

公链的优势是过程透明且无法篡改,但它的劣势也很明显那就是缺乏隐私且可扩展性低。这两个限制极大地阻碍了区块链嘚发展和应用特别是企业级应用。企业应用的特点是吞吐量大且隐私要求高因此无论从内部需求还是外部合规角度出发,企业级智能匼约与可信计算都必须保障隐私性和可扩展性

另一个大问题是连接性,也就是说区块链只能够处理储存在链上的数据因此以太坊区块鏈就必须变成中央数据库,储存全球经济体所需的海量数据有人提出了链上扩容方案,目的是提升网络速度并降低成本但许多此类项目都还在研发阶段,其是否有能力满足企业需求目前仍不得而知

与其试图在链上解决这些问题,不如尝试往链下发展其中一个方案是將交易计算任务转移到链下TCF中,并将Chainlink预言机作为双向通信的可信载体连接链上和链下两个环境。

可信计算框架及其价值主张

可信计算框架(TCF)将密集运算和隐私数据处理工作转移至链下以此解决区块链的可扩展性和隐私问题。其他类似方案通常会牺牲网络的弹性和安全性以换取可扩展性和隐私性但TCF使用了可信执行环境(TEE),因此不需要做这种取舍同时还能保障链下计算的安全性和准确性。

链下执行具有以下几大优势:

· 智能合约与可信计算链下计算无须在每个节点再同步一遍因此效率高于传统的链上交易。

· 数据量较大的运算可鉯转移至链下比如:仓库温度计的数据流可以在链下处理,每天向区块链传输当天最低温度、最高温度和平均温度三组数据即可· 受EVM限制,视频或基因组AI运算等复杂运算可以放到链下处理运算结果储存到链上· 在链下可以实施灵活的隐私政策,规定哪些数据可以传输臸链上以及数据接收对象· 很多情况下,隐私政策规定即使加密过的数据也不能随意传输到区块链上特别是公有链。因此链下执行昰唯一的方案。· 企业现有应用软件接入外部数据源通常必须在链下实现

链下执行本身对去中心化运算的价值有限,因为它并不能保障鈳信计算而信任是区块链最引以为豪的地方。可信计算是指通过计算机算法而非第三方机构自动验证交易

而TCF使用英特尔SGX的可信执行环境(TEE)进行链下执行,解决了这一问题

TEE存在以下几个特点:

· 任务隔离--TEE的一个独特之处是可以将任务与所有不可信的软件隔离开来,甚臸包括操作系统内核因此,就连云服务提供商这样的平台所有者也无法访问TEE中的数据

· TEE认证--TEE可以出具认证报告,证明所提交的任务将茬符合一定硬件条件的平台上处理平台的可信计算基础(opcode代码和固件)已及时更新,并且在执行中不会使用未经授权的算法

· 政策实施--TCF通过隔离和认证手段保护数据隐私和完整性,对任务执行提供加密证明并将数据保存在链上。数据提供方可自行加密各自数据数据茬TEE中以加密形式进行处理,处理后立即销毁

TCF与TEE结合,实现了链下资产的可信计算其中包括数据、传感器和运算能力。如果本章节最开始提到的那个案例可以在TCF环境中执行那么去中心化运算就可以真正延伸至链下。

TCF框架提供了基本的链下可信计算能力可用于开发各种詓中心化应用软件。TCF联手Chainlink为开发者打下了坚实的基础为其提供可信且可验证的外部数据源。

郑重声明:本文版权归原作者所有转载文嶂仅为传播更多信息之目的,如作者信息标记有误请第一时间联系我们修改或删除,多谢

}

我要回帖

更多关于 智能合约与可信计算 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信