Page 334 - 《软件学报》2021年第8期
P. 334
2616 Journal of Software 软件学报 Vol.32, No.8, August 2021
备提供信任背书,并对外提供接口提供服务.当需要调用其余信任域的设备以实现物联网服务时,云服务器之间
将展开密切的‘请求-校验-重定向-认证-背书-校验’合作过程,以确保各方信任域内的设备的可信.但是,由于服
务通过云服务器提供的接口实现调用,在设备到云服务器之间可能发生其余云服务器无法察觉的不可信行为.
此外,在跨域的合作中,多个服务器为了确保彼此可信的合作,将带来大量的通信开销及时延.因此,传统架构难
以满足物联网的高效及可信需求.
本文设计的架构如图 1,在传统基础上,做了以下改造.
1) 在云服务器与物联网设备之间增加边缘层,引入边缘网关对设备进行汇聚处理并屏蔽隐私信息,与设
备进行最直接的交互.由于跨域认证的计算在边缘执行,对云服务器的依赖性降低,从而降低了认证
所需的时延,并减少了对云服务器造成的压力.通过在接入时对设备进行匿名化处理等操作,设备关
键信息仅暴露给边缘网关,降低了隐私泄露风险.
2) 引入联盟链技术,实现云服务器之间的认证信息透明可信共享.云服务器可为自身信任域的设备及网
关提供注册、更新及注销等服务.通过查询区块链,可获取设备及网关的信息,进而提高跨域认证的效
率及可信,从而支撑物联网的各项服务.
对于本架构的详细解释如下.
设备指代是物联网中的各类设备,是物联网中业务的实际执行者,具有迥异的通信接口和隐私保护需求.打
通物联网首先需要屏蔽其接口底层的异构特性实现管控,同时对其隐私进行保护.本文关注的重点在于设备的
身份隐私及行为隐私,即通过匿名化处理避免显式的身份信息暴露上链;同时,通过更新设备身份信息避免对设
备行为的持续追溯分析.
边缘层部署网关对设备进行汇聚,屏蔽底层异构特性.根据 Byungseok 等人 [25] 提出的 IoT 网关概念,IoT 网
关支持各种设备之间的多种通信协议和数据类型,可以实现各种设备之间通信的数据格式转换,并以统一的数
据格式上传.同时,可将收到的获取或控制命令映射为生成满足特定设备通信协议的消息.网关仅作为逻辑概
念,可部署于某些能力较强的设备上.
区块链层由传统架构中的云服务器组成联盟链.作为 CA 角色,为自身可操控的设备身份及能力提供信任
背书,作为区块链完整节点,对发布到链上的信息进行共识,提供认证信息的实时共享,从而避免不同 CA 之间反
复重定向带来的流程冗余及失效等问题.区块链提供基础的查询及写入功能,节点之间通过协商发布智能合约,
并通过调用合约实现复杂功能.
在本文的设计中,边缘网关对设备进行接入后,根据隐私需求对设备进行匿名化处理,真实身份与匿名身份
的映射关系仅保存在本地;将匿名身份及公钥签名后通过智能合约发布到区块链完成注册,从而避免了设备的
真实身份泄露.云服务器之间达成共识后,设备的信息可通过智能合约进行查询及同步.在服务过程中,当网关
收到跨域的调用请求后,查询区块链对请求进行校验,校验通过后,执行相应操作并返回结果.为避免设备的状
态及偏好被分析,网关可随时更新设备的公私钥对,以新的身份参与跨域交互.详细流程将在下一节展开介绍.
3 跨域认证机制
本节首先对系统的运行流程进行设计,包括联盟链及网关的初始化、设备的写入、跨域的访问过程等.而
后对流程中涉及到的交互协议进行设计,包括网关写入到联盟链的物信息注册、更新、注销;网关从联盟链读
取的信息查询;网关与网关之间的跨域访问请求.
3.1 机制描述
本文设计的跨域认证流程与传统流程相比对比如图 2 所示,红线框出的部分即为认证阶段.为了方便描述,
本文将区块链的节点配置作为联盟链初始化部分,网关配置作为网关初始化部分;注册部分将设备接入到网关
并发布上链,认证部分完成设备的跨域交互.