Page 281 - 《软件学报》2021年第11期
P. 281
王利朋 等:应用区块链的多接收者多消息签密方案 3607
on the block height and the block timestamp. Blockchain, with its non-tampering feature, can guarantee security of the proposed scheme.
In addition, the new scheme does not need to send transactions and is therefore free. Based on the computational Diffie-Hellman problem
and the discrete logarithm problem, confidentiality and unforgeability of the proposed scheme are analyzed on the random oracle model.
The proposed scheme also has the following security attributes: key escrow security, forward and backward compatibility, and
non-repudiation. Performance analysis shows that the proposed scheme has a shorter ciphertext length and higher efficiency. In the
simulation part, influence of the number of key distribution centers and the threshold on the system performance is analyzed. Without
considering the network delay and other disturbing factors, the performance loss is less than 5% for the proposed scheme compared with
those with a single key distribution center. The time errors incurred by the update strategy based on blockchain decrease with the
increasing periods. When the period is set more than 550s, the time error percentage is less than 1%. The time errors make it more
difficult for the attackers to predict the update time and launch the attacks.
Key words: key generation center; blockchain; signcryption; confidentiality; discrete logarithm
1 引 言
1.1 研究动机
信息时代中,数据安全问题变得愈加重要.为了实现数据的机密性和完整性,在数据传输过程中,发送方首
先要对消息内容进行签名,再执行加密流程,然后将密文信息发送至接收方.接收方收到密文信息后,首先执行
解密流程,然后执行签名校验过程,以确保数据在传输过程中未被篡改.这种加(解)密技术和数字签名技术相分
离的操作,存在执行效率低的问题,因此在 1997 年,文献[1]首次提出了签密概念,能够在一个逻辑步骤里同时实
现签名和加(解)密步骤,能够有效提升算法的执行效率.
当前,大部分签密方案需要密钥分发中心(key generation center,简称 KGC)协助生成系统主密钥信息,并基
于此生成用户的公私钥信息.然而在实际场景中,KGC 容易成为被攻击的对象,攻击者尝试发起对 KGC 的持续
性攻击,一旦攻击成功,即可获取系统主密钥信息,进而威胁签密系统的安全性.为了解决上述问题,可以采用多
个 KGC 通过门限秘密分享协议协同管理系统主密钥信息,即使攻击者成功获得了低于一定数量的 KGC 上存储
的子秘密信息,仍无法计算得到系统主密钥.然而在实际中,攻击者如果攻破足够数量的密钥服务器,同样能够
[2]
获知系统主密钥信息,因此对于长期运行的签密系统,仅仅靠门限秘密分享协议仍无法保障系统的安全性 .因
此,如果能够研究一种动态更新的多 KGC 签密系统,使得各 KGC 按照一定周期更新其存储的子秘密信息,是一
个重要的研究方向.基于秘密共享技术实现签密场景中系统主密钥管理以及各 KGC 子秘密同步更新方案,需要
重点解决以下问题.
(1) KGC 密钥服务器会按照一定周期 T 动态更新自己的子秘密信息,用户可能会在不同周期与 KGC 交互
生成自己的公私钥信息,如何使得这些用户之间同样能够正常执行签密流程,是首先要解决的问题.
(2) KGC 密钥服务器之间需要依赖一种策略同步更新各自的子秘密信息,实际中,第三方可以攻击该更新
策略,进而影响系统可用性.如何保证上述周期更新策略的安全性,是另一个需要解决的问题.
(3) KGC 密钥服务器需要根据约定周期执行更新过程,由于通信延迟的存在,如何保证各 KGC 更新子秘
密信息的及时性,是需要重点解决的问题.
本文提出了一种多密钥分发中心多消息多接收者签密方案,并基于区块链技术实现密钥分发中心子秘密
同步更新策略,具体贡献包括以下内容.
(1) 基于椭圆曲线提出一种多消息多接收者签密方案,采用多 KGC 通过门限秘密分享协议实现系统主密
钥管理,然后周期更新各 KGC 子秘密信息,以抵抗针对其的持续性攻击.接收者收到密文信息后,会首
先执行身份校验过程,如果校验失败,无需执行后续解密流程,进而减少接收者的计算负担.在随机预
言机模型下,基于离散对数困难问题和 CDH 困难问题,证明了方案的机密性和不可伪造性.证明了方
案的前后向兼容性,即不同周期内注册的用户相互之间仍然能够相互通信.最后证明了本方案的密钥
托管安全性和不可否认性.