任何新事物在被人认知过程总会产生无数个疑问,正如当年福特发明汽车时,马车依然大行其道,多少人质疑过汽车的前途,但随着实践的发展,这些问题如片雪入红炉,终不见了踪影。有问题不可怕,可怕的是找不到解决问题的思路。亦来云是一个庞大的系统工程,有太多问题需要理清。
七十、可信计算发展由传统硬件芯片模式转向了可信执行环境吗?
可信计算最初期发展方向为TPM硬件芯片。TPM全称为Trusted Platform Modular(可信赖平台模块),是可信计算领域的规范标准。TPM似乎可以解决可信的问题,但是事实上由于 TPM 的计算能力超级弱,顶多就是做一个最基本最重要的加密签名计算,而且是单线程低速率的。如果真正要进行复杂的计算显然无法让 TPM 来做,还是需要 CPU 这个相对来讲超级能力的处理器来进行。
随着可信计算的发展,可信计算的研究方向已经由传统硬件芯片模式转向了可信执行环境(TEE, Trusted Execution Environment)这种更容易被广泛应用的模式,基于Intel芯片的SGX以及基于ARM开源框架的TrustZone是可信执行环境中最被广泛认知且应用的。为了解决安全和处理能力的矛盾,CPU 的厂家都推出了叫做 TEE 可信计算环境的解决方案。 具体的做法就是用 CPU 在计算机内存中开辟一块”飞地”,这块飞地只能 CPU 看得到可以访问,对于操作系统甚至硬件系统都看不到也无法访问。这样重要的计算内容无论是代码还是数据都可以 CPU 解密后存储在这里,运算的时候才在 CPU 内部解开并运算然后再加密送回去。这样一来,就算是有人有办法把内存都 Dump出来,因为是加密过的,也没有价值。毕竟 CPU的密钥也是内置在 CPU 里面,永远不会离开这个物理芯片的。
七十一、在区块链相关生态中,与SGX相类似的技术有哪些?相关项目有哪些?
在区块链相关生态中,与SGX相类似的技术还有如下三个:1、同态加密(Homomorphic encryption)2、安全多方计算(multi party computation)3、零知识证明(zero knowledge prove)。
在目前区块链行业的发展中,SGX和零知识证明被较为广泛的应用。同态加密和安全多方计算因为其技术本身的难度较大且效率较低,现阶段很难在真实的应用场景中落地。而SGX和零知识证明已经与区块链技术相结合,下面列举使用这两个技术的代表性项目:
1、Covalent(简称Cova)为其中较早提出使用SGX技术的,Cova想要通过区块链以及SGX技术来解决传统AI、ML(机器学习)领域training(训练)的问题。Cova项目专注于解决在保证数据隐私性的前提下让数据流通的难题。
2、Ankr项目试图使用区块链+TEE(SGX)技术解决分布式计算的问题。Taxa想通过TEE(SGX)来实现智能合约的off-chain(链下)运行,以此来提高可扩展性。
3、GXChain( 公信链 ) 是一条为全球数据经济服务的基础链,旨在打造可信数据的价值网络。GXChain( 公信链 ) 在可信计算方面采用了,可信执行环境(TEE)的方案。
4、使用零知识证明技术的项目中,最出名的为Zcash。Zcash使用零知识证明技术在不向对方提供可以证明身份的秘钥的前提下,还能证明自己的身份。
七十二、上述技术是完全可靠的解决方案吗?亦来云有何不同之处?
需要说明一点:任何技术提供的安全都是相对的,绝对的安全是不存在的。
1、SGX是目前可信计算中最火的一项技术,但SGX存在的问题也非常明显。
首先,SGX出现两个较大漏洞:第一个是SgxSpectre攻击,SgxSpectre是典型的侧道攻击;第二个是近期爆出来Foreshadow漏斗。
其次,SGX是一个高度中心化的技术,其内嵌于Intel芯片,同时也是Intel公司的一项商用产品。这就意味着如果Intel芯片或其服务器出现问题,或者Intel关闭此项功能,将会影响到SGX的使用,基于其所做的项目将无法运转。现阶段非常难以解决且具有很大的不确定性及局限性。
第三,因为SGX被Intel所控制,如果想将SGX进行商用,节点使用SGX是需要同Intel签署协议并付费,同时需要基于SDK进行大量的代码开发,这样使SGX的使用成本较高。
第四,SGX虽然同其他技术相比比较快,但效率仍然很难满足大规模的商业应用。因为CPU本身的空间较小,而且因为SGX在硬件层,意味着pages在进入以及离开硬盘的时候都需要进行加密,因此运行速度还是比较慢的,并且提速的难度较大。
2、Zcash使用零知识证明技术在不向对方提供可以证明身份的秘钥的前提下,还能证明自己的身份。实现此过程,需要被验证身份方回答16次以上的相关问题,如果全部答对才能确认其身份。被验证身份方想要通过猜的方式答对全部16个问题的概率约为1/65536,理论上讲这种可能是非常小的。同时Zcash会自动隐藏区块链交易双方的信息以及交易价值,只有拥有正确查看秘钥的人才能访问,这样更好的保证了交易的隐私性。但是零知识证明的问题也很明显,每笔交易都需要一系列复杂过程,因此效率较低。
3、亦来云在打造可信计算环境上有其独特的思路:”计算与网络分离,计算与通讯分离”。 Runtime提供了一个沙箱机制,所有DApps都在其中运行。通过虚拟机技术(一个进程,就是一个地址空间的隔离)保证不上网,没有后台守护进程,不能装驱动,软件作恶的难度大大提高。最重要的是,它提供沙箱隔离、网络隔离和数字权限管理。Elastos DApps通过Elastos Carrier与外界进行交互,Elastos Carrier本身就是一个端到端加密的对等网络,没有中央服务器,因此创建了一个完全安全的生态系统的DApp运行时环境。
请记住:成功之前有千万个疑问,成功之后有千万个故事,当然,失败之后会有千万个笑柄而已!
来源:ELAruolan&丁宁