本发明属于数字签名技术领域,具体涉及到抗泄露的无证书聚合数字签名体制的构造方法。
技术背景
2003年,al-riyami等人首次在亚密会议上提出无证书公钥密码体制,在该体制中,用户的私钥由密钥生成中心和用户共同生成,解决了传统公钥密码体制下证书管理和基于身份的公钥密码体制下的密钥托管问题。经过多年,无证书数字签名作为无证书公钥密码体制的重要组成部分已得到充分的发展,在电子政务和物联网安全等领域已有广泛应用。同年,boneh等人提出聚合签名的概念,即聚合签名是一种在数字签名领域的“批处理”和“压缩”技术:可同时给多个消息、多个用户提供不可否认服务,也可把任意多个用户的签名压缩成一个签名,有效地减少签名的存储空间,同时也降低对网络带宽的要求;另外,聚合签名允许把任意多个签名的验证简化到一次验证,大大减少签名验证的工作量。
大部分无证书聚合数字签名方法基于双线性对构造,导致方法的计算效率较低。部分不采用双线性映射构造的方法在签名、聚合签名以及验证过程中均采用大量的点乘运算和点加运算,在一定程度上,导致方法的计算效率和实用性下降。不使用双线性映射的方法,由于其具有运算效率高、实用性强等优点,被大量用于无证书聚合签名方法的构造中。
另外,现在传统密码学基础原语的研究中,往往忽略了秘密状态信息的泄露对其安全性造成影响。然而,在现实环境中,敌手可通过诸如时间攻击,电源损耗等边信道攻击,获得参与方的一些秘密信息。因此,为了在密码机制设计过程中更接近于现实情况,应将秘密信息绝对保密的基本假设去除。进而,密码机制抗泄露性的研究提升了机制的实用性,使得相应的密码机制能够在存在泄漏的现实环境中依然保持其所声称的安全性。
杨小东、麻婷春等人公开的《面向车载自组网的无证书集合签名方法的安全性分析和改进》(电子与信息学报,2019年5月)中提出了一种改进的无证书聚合签名方法,该方法可满足自适应性选择消息攻击下的不可伪造性,并且可有效地抵抗联合攻击,但是该方法在设计过程中使用了复杂的双线性运算,使得该方法的计算效率和实用性低下。曹素珍、郎晓丽等人公开的《可证安全的高效无证书聚合签名方案》(信息网络安全,2019年1月)中提出了一个新的无证书聚合签名方法,虽然该方法在设计过程中未使用复杂的双线性对运算,但是在验证阶段,使用了大量的点加运算,在一定程度上,降低了方法的计算效率和实用性。
技术实现要素:
本发明所要解决的技术问题在于克服上述现有技术的缺点,并基于抗密钥泄漏的研究思路,提供一种安全性高、使用范围广、实用的抵抗秘密信息泄露的无证书聚合数字签名方法。
解决上述技术问题所采用的技术方法是由以下步骤组成:
(1)系统初始化
1)密钥生成中心为系统设置安全参数κ,选择安全的哈希函数h1、哈希函数h2、哈希函数h3、平均情况的(2logq-λ1,ε)-强随机性提取器ext1、平均情况的(logq-λ2,ε)-强随机性提取器ext2:
其中
2)密钥生成中心从q阶整数群
ppub=msk·p
params={p,q,p,ppub,h1,h2,h3,ext1,ext2}
其中,p和q是满足安全要求的2个大素数,且q能够整除p-1,p是循环群g的生成元。
(2)生成用户密钥
身份信息idi的用户与密钥生成中心执行交互协议,得到用户的密钥
所述的交互协议由下述步骤组成:
1)确定用户的部分公钥信息
其中,
将用户的身份信息idi和用户的部分公钥信息
2)密钥生成中心收到用户的身份信息idi和用户的部分公钥信息
其中
3)用户收到部分公钥
若式(1)成立,设置用户的私钥
若式(1)不成立,输出失败信息,终止协议并退出。
(3)签名
签名生成者uidi的公钥
其中,
签名生成者
其中
(4)聚合签名
聚合签名者uagg从集合
v=ext2(sp,r2)
σ=(t,v,r2)
其中,t,v,s是聚合签名的部分信息。
(5)签名验证
签名验证者uver判断式(2)是否成立
其中
由于发明在各个方法中未使用复杂的双线性对运算,并且在签名阶段只使用了3个点乘运算和2个点加运算,在验证阶段也仅仅只使用了3个点乘运算,使得本发明的计算效率较高、实用性较强。为抵抗敌手的公钥替换攻击;本发明在生成用户密钥的方法中,加入了用户的部分公钥信息,加强了用户公钥信息与哈希函数的关联性,使密钥生成中心在生成用户私钥的过程中受到用户的制约,提高了签名的安全性。另外,考虑到秘密状态信息的泄露对方法安全性造成的影响,所以在本发明方法中加入了强随机提取器,使得该方法能够在存在泄漏的现实环境中依然保持高机密性。
附图说明
图1是本发明实施例1的流程图。
具体实施方式
下面结合附图和实施例对本发明进一步详细说明,但本发明不限于下述的实施例。
实施例1
在图1中,本实施例的抵抗秘密信息泄露的无证书聚合数字签名方法由以下步骤组成。
(1)系统初始化
1)密钥生成中心为系统设置安全参数κ,选择安全的哈希函数h1、哈希函数h2、哈希函数h3、平均情况的(2logq-λ1,ε)-强随机性提取器ext1、平均情况的(logq-λ2,ε)-强随机性提取器ext2:
其中
2)密钥生成中心从q阶整数群
ppub=msk·p
params={p,q,p,ppub,h1,h2,h3,ext1,ext2}
其中,p和q是满足安全要求的2个大素数,且q能够整除p-1,p是循环群g的生成元。
本实施例在该步骤中未使用复杂的双线性对运算,提高了整个方法的计算效率,并加入了强随机提取器,使该发明方法能够在存在泄漏的现实环境中依然保持高机密性。
(2)生成用户密钥
身份信息idi的用户与密钥生成中心执行交互协议,得到用户的密钥skidi,1≤i≤n,n是聚合签名的个数、为有限的正整数。
所述的交互协议由下述步骤组成:
1)确定用户的部分公钥信息
其中,
将用户的身份信息idi和用户的部分公钥信息
2)密钥生成中心收到用户的身份信息idi和用户的部分公钥信息
其中
3)用户收到部分公钥
若式(1)成立,设置用户的私钥
若式(1)不成立,输出失败信息,终止协议并退出。
本实施例在该步骤中加强了用户公钥信息与哈希函数的关联性,使密钥生成中心在生成用户私钥的过程中受到用户的制约,提高了签名的保密性。
(3)签名
签名生成者
其中,
签名生成者
其中
本实施例在该步骤中采用了3个点乘运算和2个点加运算,签名过程简单,计算效率较高、运算速度快,并加入了强随机提取器,使该发明方法能够在存在泄漏的现实环境中依然保持高机密性。
(4)聚合签名
聚合签名者uag从集合
v=ext2(sp,r2)
σ=(t,v,r2)
其中,t,v,s是聚合签名的部分信息。
本实施例在该步骤中采用了聚合的签名方法,可同时给多个消息、多个用户提供不可否认服务,也可将任意多个用户的签名压缩成一个签名,有效地减少了签名的存储空间,降低了对网络带宽的要求。
(5)签名验证
签名验证者uver判断式(2)是否成立
其中
本实施例在该步骤中采用了3个点乘运算方法,验证过程简单,计算效率较高、实用范围广;在该步骤中允许把任意多个签名的验证简化到一次验证,大大减少了签名验证的工作量;另外,加入了强随机提取器,使该发明方法能够在存在泄漏的现实环境中依然保持高机密性。
根据上述原理,还可设计出另外一种具体的抵抗秘密信息泄露的无证书聚合数字签名方法,但均在本发明的保护范围之内。
1.一种抵抗秘密信息泄露的无证书聚合数字签名方法,其特征在于由下述步骤组成:
(1)系统初始化
1)密钥生成中心为系统设置安全参数κ,选择安全的哈希函数h1、哈希函数h2、哈希函数h3、平均情况的(2logq-λ1,ε)-强随机性提取器ext1、平均情况的(logq-λ2,ε)-强随机性提取器ext2:
h1:
h2:
h3:
ext1:
ext2:
其中
2)密钥生成中心从q阶整数群
ppub=msk·p
params={p,q,p,ppub,h1,h2,h3,ext1,ext2}
其中,p和q是满足安全要求的2个大素数,且q能够整除p-1,p是循环群g的生成元;
(2)生成用户密钥
身份信息idi的用户与密钥生成中心执行交互协议,得到用户的密钥
所述的交互协议由下述步骤组成:
1)确定用户的部分公钥信息
其中,
将用户的身份信息idi和用户的部分公钥信息
2)密钥生成中心收到用户的身份信息idi和用户的部分公钥信息
其中
3)用户收到部分公钥
若式(1)成立,设置用户的私钥
若式(1)不成立,输出失败信息,终止协议并退出;
(3)签名
签名生成者
其中,
签名生成者
其中
(4)聚合签名
聚合签名者uagg从集合
v=ext2(sp,r2)
σ=(t,v,r2)
其中,t,v,s是聚合签名的部分信息;
(5)签名验证
签名验证者uver判断式(2)是否成立
其中