Page 299 - 《软件学报》2021年第11期
P. 299

王利朋  等:应用区块链的多接收者多消息签密方案                                                        3625


                 需要在本地执行数据解析操作,与访问区块链操作相比较,解析数据耗费时间远小于前者耗费的时间,故后面不
                 再对其进行分析.
                    下面评估前面所述的两种对区块链操作所耗费的时间,同样采用 Etherscan  Ethereum Developer APIs,实验
                 重复 50 次,其他配置参数与图 7 相同.eth.getblockNumber(⋅)操作耗时约为 350ms,而 eth.getTimestamp(⋅)耗时约为
                 740ms.从算法 1 可知,步骤 13~步骤 23 是同步方案中耗时最多的操作,其中,sleep(⋅)函数将会使程序进入到休眠
                 状态,不会占用较多的计算资源.当执行密钥更新操作 UpdateKey(⋅)时,需要执行一次 eth.getblockNumber(⋅)和
                 eth.getTimestamp(⋅)操作,加起来约为 1s 左右.需要说明的是,这两种操作耗费的时间主要是等待区块链返回数据
                 的时间,本地节点并不会耗费过多的计算资源.由前面论述可知,同步方案具有最大 50s 左右的时间误差,
                 eth.getblockNumber(⋅)和 eth.getTimestamp(⋅)所耗费的时间远远小于前者,在实际场景中可以忽略不计.
                    在本文的仿真部分,KGC 并不是以太坊节点.但在实际应用时,可以将 KGC 搭建为以太坊节点,以充分使用
                 计算资源.某一区块被矿工挖出后,会被矿工打上时间戳并发送出去.以太坊节点在接收该区块时,需要校验和
                 存储该区块相关信息.从区块被挖出到指定的以太坊节点校验并成功存储该区块,在排除时间误差等干扰因素
                 后,这一过程的时间延迟等于接收该区块的以太坊节点的本地时间与该区块的时间戳差值,本文将对该时间延
                 迟进行考察.
                    由于在实际场景中,上述区块时间戳以及接收区块的以太坊节点本地时间均会存在一定的误差,因此实验
                 重复 300 次,并求解时间延迟的平均值,以减少上述时间误差.基于 Parity-Ethereum 2.7.2 搭建以太坊轻节点,其他
                 配置如下.
                    •   Ubuntu:18.04;
                    •   CPU:i5-7200U 2.50GHz;
                    •   网卡:1000Mb/s.
                    基于上述配置,仿真得到的时间延迟约为 18s,接近以太坊设定的出块周期 15s.

                 9    结束语

                    签密算法能够同时实现对消息安全性和认证性的校验,基于椭圆曲线提出一种多接收者多消息签密方案,
                 能够有效适配到广播通信等应用场景中.采用多密钥分发中心管理系统主密钥信息,并能够周期更新各自的子
                 秘密信息,以抵抗对应的 APT 攻击.新方案具有机密性、不可伪造性、密钥托管安全性、前后向兼容性、不可
                 否认性.提出了一种基于区块链的周期更新策略,根据公有链中区块高度和块时间戳来触发密钥更新操作.签密
                 方案具有较短的密文长度和较高的运行效率,基于区块链实现周期更新操作时,当周期大于 550s 时,时间误差百
                 分比控制在 1%以内,并能够随周期的增加而下降.对于本方案,当接收者数量较多时,系统性能的瓶颈之一是签
                 密步骤,后续将会对此进行优化.

                 References:
                 [1]    Zheng YL. Digital signcryption or how to achieve cost(signature & encryption)اcost(signature)+cost(encryption). In: Proc. of the
                     Int’l Cryptology Conf. 1997. 165−179.
                 [2]    Shamir A. How to share a secret. Communications of the ACM, 1979,22(11):612−613.
                 [3]    Qiu  J,  Fan K, Zhang  K,  Pan Q, Li  H,  Yang YT. An efficient multi-message and multi-receiver  signcryption  scheme  for
                     heterogeneous smart mobile IoT. IEEE Access, 2019,7(1):180205−180217.
                 [4]    Yu Y, Yang B, Huang XY, Zhang MW. Efficient identity-based signcryption scheme for multiple receivers. In: Proc. of the Int’l
                     Conf. on Autonomic and Trusted Computing. 2007. 13−21.
                 [5]    Li FG, Hu YP, Liu SG. Efficient and provably secure multi-recipient signcryption from bilinear pairings. Wuhan University Journal
                     of Natural Sciences, 2007,12(1):17−20.
                 [6]    Selvi SSD, Vivek SS, Srinivasan R, Rangan CP. An efficient identity-based signcryption scheme for multiple receivers. In: Proc. of
                     the Int’l Workshop on Security. 2009. 71−88.
   294   295   296   297   298   299   300   301   302   303   304