Page 341 - 《软件学报》2021年第8期
P. 341
魏欣 等:基于联盟链的物联网跨域认证 2623
• 设备的身份隐私:设备的真实身份在网关处做了匿名化的处理,防止透露个人信息.如网关 i 操控的设
备中涵盖了一盏灯,在屏蔽其真实 ID 信息进行归一化处理之后,无法从中推测灯的型号等信息,其余网
关或设备仅知道在获取相应权限之后可对其进行状态查询及开关操作,不存在文献[10−14]中身份明
文上链带来的隐私问题.
• 设备的行为隐私:行为泄露来源于两方面,由于设备仅有必要的描述信息发布在链上,因此规避了文
献[15]中每次访问请求均上链导致的行为泄露.在交互过程中,全程采用密文传输,交互行为仅双方网
关知晓,避免了明文调用带来的危险.
4.4 开销分析
本文与文献[18,19]的方案进行对比.在该两种方案中,CA 多方完成校验之后,将签署本轮访问的凭证上链,
凭证内容为在某有效期内,允许外域的某身份访问本域.此处针对从 A 域的身份 i 发起请求至获取到本次访问所
需凭证的计算及通信进行比对见表 1 和表 2.其中,其他计算指代本文在第 3.1 节中构造的加解密计算.
Table 1 Communication consumption
表 1 通信开销
名称 某 CA-其他 CA 网关-区块链或 CA 本地-其他网关 共识
文献[18] 0 2 5 1
文献[19] 3 2 1 0
本方案 0 1 1 0
Table 2 Computing consumption
表 2 计算开销
公钥加密次数 私钥解密次数 签名次数 验证次数 哈希运算 共识 其他
方案
本地网关 CA 本地或网关 CA 本地或网关 CA 本地或网关 CA 本地或网关 CA 次数 运算
文献[18] 0 0 0 0 1 0 1 1 1 1 1
文献[19] 3 3 3 3 2 2 3 1 0 0 0
本方案 1 0 1 0 1 0 1 0 4 0 0 2
根据表 1 的通信开销对比,本文设计的方案在 CA 之间、网关之间、网关到区块链之间的通信次数都显著
低于文献[18,19]提出的方案,在通信开销上具有显著优势.
表 2 的计算开销显示:由于通信次数少,本文的公私钥加解密次数较文献[19]显著偏少,但高于文献[18];而
执行哈希运算次数显著高于文献[18,19].此外,本方案中涉及到的计算均在网关展开,认证过程不占用 CA 资源.
详细的计算开销及通信开销将在第 5.2 节认证阶段的实验中展开比对.
5 实验设计及分析
在本文中,考虑到网关与设备距离极近,不考虑网关到设备之间的传输时延.同时,假定网关-网关之间、网
关-CA 之间的传输时延均为 T.
联盟链实验环境为部署于金山云上的 1 核 2G 服务器,Ubuntu 16.04 系统.联盟链采用 Hyperledger Fabric
1.4.0,并利用 docker 容器部署联盟链节点,智能合约采用 JavaScript 进行编写.网关及 CA 实验环境为 Windows10
系统,CPU 主频 1.6GHz,内存 4GB.跨域认证流程采用 Python3.8 模拟实现,实验数据均为运行 50 次的平均值.
5.1 注册阶段
在本文中,定义注册所需的时间为设备请求到设备信息可在链上查询到的时间,分为 4 部分:t 1 为网关为设
备生成密钥的时间,t 2 为网关调用合约的时间,t 3 为 CA 之间达成共识的时间,t 4 为网关查询到合约所需的时间.
其中,t 1 不考虑网关到设备之间的传输时延,t 4 仅考虑网关到 CA 之间的传输时延.
由于 t 1 阶段与传统流程无差别以及传统流程同样需要写入及查询的时间,因此,本节的实验模拟仅考虑采
用本架构后增加的时延 t 2 +t 3 +t 4 ,即:从请求发布到链,到共识结束.