基于智能合约构建可信物联网安全模型

2021-04-24 13:05
网络安全技术与应用 2021年4期
关键词:网关合约共识

(南京邮电大学 江苏 210003)

1 可信物联网架构模型

物联网是继计算机、互联网与移动通信网之后信息产业的第三次浪潮,被视为第四次工业革命的核心支撑。物联网层次结构自底向上可分为3 层:感知层、网络层和应用层。感知层主要负责数据采集;网络层利用无线或有线的网络将来自感知层的各类数据信息进行组网传输汇聚;应用层作为结构模型的顶层,通过云计算平台等对所获得的数据进行处理,为用户提供基于数据的应用。引入区块链技术后,设计出了可信物联网架构。

图1 可信物联网架构

从这个顶层架构中,第一层是资产层,用户的设备将与物理资产相连,用户的物理资产状态数据会被发送到云后端,也就是第二层,云后端将托管所有必要的安全服务和其他服务,管理用户的物联网解决方案,第三层是区块链层,用来存储不同类型的应用程序的资产相关的数据,一个混合架构将云和区块链共同组成一个非常强大的后端以支持物联网应用程序,将区块链整合到物联网生态系统。涵盖了大量的物联网应用程序和用例,第一种是从资产到物联网云,再到区块链,这是企业和工业物联网应用中非常流行并且典型的集成模式,第二种模式更侧重于低功耗的物联网设备,需要通过物联网网关或fog节点到达后端,此外,一些集成模式更注重于考虑未来的计算范式,如边缘计算和fog 计算。

2 区块链网关接入节点

物联网中的设备层是接入层,为保证物联网中的设备之间可以实现安全的数据交流,在信息发送到这些平台之前,能够通过物联网网关来改善物联网数据的隐私保护。因此,需要物联网网关更好的控制私有物联网资源集,保护收集的个人数据及其隐私。为此,我们提出通过物联网网关节点,来实现物联网联合区块链领域动态、灵活的隐私保护解决方案。

网关节点可以是网关、存储或公共节点。这些节点需要高内存和存储能力来存储公共区块链。每个物联网网络节点都有一对唯一的公钥和私钥。公钥是物联网中的其他公共节点网络中公开的,作为一个独特的通信节点的标识符,发送/接收事务的公共物联网网络中的其他节点。私钥是保密的,用于签署交易之前发送它们产生的签名。

随着越来越多的物联网设备接入物联网,分布式网络中互不信任节点间需要建立共识的规则与方法。在各种公链不断介入的同时,跨链资产之间的交易需求也是日益增长。此前区块链间呈现出来的是孤岛效应,价值无法自由快速流通,生态无法快速对接,体系无法增长。

3 OFGP 跨链协议

开放联盟网关协议OFGP(Open Federated Gateway Protocol 简称“OFGP”)是iBitcome 钱包联合去中心化交易所DEx.top 开发的一个开源的网关协议。开放联盟网关协议OFGP 是一个通用的去中心化网关系统,可以完成公有链上的资产抵押认证,将价值传递到侧链,依托侧链所具备的高性能及能够支持复杂场景应用的特性。

不同区块链间的交互过程中,会出现跨链用户的作恶情况,如何降低或杜绝跨链用户的作恶情况值得深思。同时拜占庭容错包含的侧链节点之间的信任问题,在出现少数节点作恶的情况下依然能够保证整条侧链的安全。当出现普通跨链用户增多,节点数量无法满足需求,用户通过向中间人提交信息,中间人再将信息传递至节点。

基于OFGP 协议,其开放的联盟网关协议,任何机构或者组织都可以通过开源代码部署自己的网关联盟,完成主链上的数字化资质以及信用审查认证,将该信息传递到侧链,实现跨链的系统管理交互,解决了不同区块链之间的拓展问题,实现多个公有链孤岛的信息交互。

网络层作为OFGP 基础部分,每个账本形成独立的一个侧链,成为链1 到链n。每个链与链之间相应的形成每个节点,会生成带节点多签地址,具有多签密钥的安全管理。每个节点作为OFGP 协议软件程序的运行节点,承担数据验证,维护节点的责任;main 链是具有独立区块数据,共识协议的公共区块链系统,OFGP 协议承担着连接各个公链的责任。

共识层作为各条公链信息交互以及维护节点间需要遵守的协议,维护着整个OFGP 协议系统信息安全传递及稳定运行。各个节点依托权益算法,达到拜占庭容错的目的;跨链协议包括监听,信息传递,合约注册,权限管理等多事务。数字化的信用机制通过共识流程,将节点动态加入退出机制,使得在跨链运算时,主/侧链进行同时监听,各个区块链之间的信息得以交互,通过交易签名,将签名信息传递,通过交易广播、验证,主/侧链之间得到响应,最终形成稳定数据库。

4 多重签名及密钥服务

多重签名技术通过多个用户同时对一个数字资产进行签名,一个数字资产账户多个人拥有签名权和支付权。私钥管理方案分为三大部分,密钥存储服务,密钥管理服务,私钥代理服务。OFGP 的多签名流程实现复杂,保障了在私钥安全的情况下完成签名,加强了多签地址中资产的安全性。

基于OFGP 跨链技术权益算法,支持拜占庭容错,在不超过(n-1)/3 个节点(节点总数为n,n>=4)出现异常的情况下可以正常运行。协议保证在正常运行时区块链不会出现暂时或永久的分叉,一次确认即为可靠确认。且交易确认速度可以达到秒级,节点运营方均为实名,并且有严格的增删节点机制,以保证网络质量以及异常情况可追责。

Main 链数最少为3 个,且需要满足2f+1(f >0,且为整数)的限制,恶意节点数小于等于f 时,网络可以正常运行;当需要有新的数据写入区块时必须有超过2f+1 个节点的验证同意。Side 链分为Leader,Candidate,Follower。服务器节点处于三种状态之一,正常状态下只有一个服务器作为Leader,剩下的节点都可以被定义为Follower,Candidate 从Follower 中产生,Candidate 作为一个状态,在正常运行没有出现选举的情况下节点中不会产生Candidate,且Candidate 过程非常短暂。Leader 负责打包区块并广播给所有的Follower,Follower 负责对打包区块进行验证。

5 智能合约模型及其执行过程

区块链技术实现之后,智能合约才真正得到实践。智能合约以代码为依据,从构建到存储再到最后的执行都在区块链上被所有节点共同监督,实现了高度自治的逻辑闭环。智能合约系统会定期进行自动机状态检查,定时检查是否已经发生相关事件,产生了合约执行的触发条件。如果满足触发条件,经过节点验证后达成共识后,智能合约系统会自动执行合约内容并通知用户。基于区块链的智能合约构建及执行包括如下几个方面。

5.1 多方用户共同参与制定一份智能合约

注册成为区块链用户,区块链返回给用户一对公钥和私钥;多个用户根据需要共同商定一份承诺,承诺中包含了各方的权利和义务,智能合约语言会将权利和义务数字化,并编译成字节码。将签名后的智能合约发送到区块链网络。

5.2 智能合约通过P2P 网络扩散并部署到区块链上

智能合约通过P2P 的方式在区块链全网中扩散,区块链中验证节点会将收到的智能合约先保存在内存中,等待新一轮的共识时间,触发对该份智能合约的共识和处理。共识时间到了,验证节点会集中最近一段时间内保存的所有智能合约,并算出这个智能合约集合的哈希值,将这个智能合约集合的哈希值组装成一个区块结构,扩散到全网,比较哈希值。最新达成的合约集合会以区块的形式扩散到全网,如下图所示,每个区块包含以下信息:当前区块的哈希值、前一区块的哈希值、达成共识时间的时间戳,以及其他描述信息。

6 区块链构建的智能合约自动执行

智能合约会定期检查自动机状态,逐条遍历每个智能合约内包含的状态机、事务以及触发条件;将条件满足的事务推送到待验证的队列中,等待共识;未满足触发条件的事务将继续存放在区块链上。进入最新一轮验证的事务,会扩散到每一个验证节点,验证节点首先进行签名验证,确保事务的有效性;验证通过的事务会进入待共识集合,等验证节点达成共识后,事务会成功执行并通知用户。

图2 合约区块链

7 结束语

区块链智能合约可以在不同的物联网进程之间建立信任,降低系统成本,在图中看到,通过区块链技术和智能合约,我们可以构建可信的物联网系统,以支持不同领域的物联网大规模应用。同时,基于区块链的可信物联网安全模型有效解决数据隐私安全问题、中心服务器单点故障问题等,以此来构建数据安全的生态系统。

猜你喜欢
网关合约共识
共识 共进 共情 共学:让“沟通之花”绽放
论思想共识凝聚的文化向度
商量出共识
信号系统网关设备的优化
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”
“慢养孩子”应成社会普遍共识
一种实时高效的伺服控制网关设计
合约必守,谁能例外!——对“情势变更”制度不可寄于过高期望