第三届国际零信任峰会暨首届西塞论坛在浙江湖州成功举办,日本工程院外籍院士李颉在峰会上分享了《零信任与区块链》,李颉院士表示零信任与区块链融合,区块链技术可以提供接续控制、用户认证、交易安全等,具有可追溯性,可以为零信任机制提供更好的实现架构。
以下为演讲速记内容(有删减):
零信任和区块链之间有什么样的关系?
一般大家都知道零信任是网络安全防护的一个架构,也是一个理念,一个机制或者一种策略,零信任默认不信任企业网络内外的任何人、设备和系统,基于身份认证和授权重新构建访问控制的信任基础,从而确保身份可信、设备可信、应用可信和链路可信。
区块链去中心化可以记录所有东西,而且不可篡改。因为零信任,所以需要进行不断的验证。实际上区块链提供了一个在网络上面相对诚实和透明的环境,并以此保障数据是可信的,是安全的。
基于链的架构,利用基于公钥私钥的非对称密钥机制,把公钥和私钥全部放到链上面去,这样篡改后面的内容会非常的难。但是对上链数据进行控制,发生在整个链发起交易的时候,比如说涉及合同,数据等信息,某一个人要发起交易时,在节点的帮助下,该交易被广播到P2P的网络上面去,借助已知的算法,在节点中间链验证交易的合法性和用户的状态,这是由大家来完成的,或者是有主要的几个可信的节点来完成。
相对来说,分布式有去中心化的概念,另外也有数据相对可信的意思,我们可以设定具有智能合约,业务逻辑的可编程性和自动触发、自动执行的功能。所以对于区块链来讲,我们可以通过分布式进行背书实现信任。
区块链赋能零信任
区块链与零信任之间如何协作来支撑网络安全?
例1:零信任物联网中基于区块链的用户认证
比如上图的例子,在互联网上面的一个基于区块链的用户认证,SSA有一个动态变化的区域,我们进行每一次的验证后,需要用户全部记录上去,在区块链上面记录,在里面进行验证。如果发生什么问题,随时进行警报,这个机制就是智能合约。区块链和零信任结合起来的工作虽然不多,但是我觉得这是一个很好的研究方向。
例2:零信任与区块链融合
以前我们讲的发送方(sender)和接收方(reciever),当我们加密的时候,一般首先通过握手协议握手,再把自己非对称密钥对里的公钥发送到接收方,然后进行加解密相关的动作。整个过程包括发送方和接收方到底是不是有问题,比如验证是否有问题,文件是否有问题,是否有中间人攻击,加入区块链以后,这个过程增加了很多值得探讨的地方。
例3:基于联盟链的物联网云存储公共完整性验证(CBPIV)
很多用户的数据都是放在云端,这个数据是不是放在安全的云端,会不会被修改,修改完以后要经常进行数据的验证,也叫数据审计,每个用户都要修改会非常麻烦,我们可以委托一个服务方帮我们经常定期的来做。但是服务方这边也会有一些问题,比如说这个服务方告诉某个用户数据已经改了,而且已经帮验证了没问题,但是这个服务方用户量很多,无法判断服务方是否真实修改了。或者说服务方跟云端串通起来修改了数据,但他还告诉用户说没有对这些数据进行修改。
在这种情况下面怎么办?我们用区块链来解决,即服务方每一次告诉我们改了数据,我们就把修改记录放到区块链里面去进行控制,而且每一次都进行验证,验证完全记录下来,发生什么问题我们都可以进行控制。当用户需要的时候随机抽查,通过区块链进行检查校验。
这里讲的问题主要是针对公链,公链相对来讲速度比较慢一点,我们提出了一个折中方案,用联盟链把数据的日志记录下来,用智能合约来验证它的正确性。
这个验证机制已经写成文章并且被发表在网上可以下载,我们也确实已经在不可信的云服务上验证了这个机制。即在不可信的云上面,我们能够对它起到防护作用。TPA服务方代理就是第三方的例子,同时如果出现问题,那我也可以发现和验证,就是这样的两个功能,能够防护和验证。即使是在不可信的情况下,或者是在恶意的情况下,我们也能够验证。而且我们在验证的时候,在通讯和数据处理的成本方面,比全部采用公链要降低不少。
实际上,零信任与区块链之间可以互相结合,区块链能够对零信任起到很好的赋能作用,另外零信任和区块链结合起来,可以使网络变得更加安全可信。