传统数字签名中通常假设攻击者无法获取秘密信息, 但在实际应用中并非如此. 边信道攻击[1]可以利用设备运行时的电磁辐射特征, 分析设备的边信道信息如功耗、电磁辐射等推断出秘密参数和密钥. 故障注入攻击[2]可以向某些嵌入式系统注入故障信号获取系统写保护的敏感参数信息. 冷启动攻击[3]在系统或应用程序初始化和操作等过程中仍能获取系统内部的部分秘密信息. 真实数据传输过程[4–6]中通常也没有真正意义上的完美安全的信道用来传递秘密参数或者密钥, 特别是野外硬件设施和通讯网络无法做到真正意义上的物理隔离, 比如铁路和公路的实时传感控制系统网络[7,8], 因此容忍泄露的数字签名方案在实际中具有重要的应用价值.
短签名方案由Boneh等人[9]首次提出, 方案签名长度是DSA (digital signature algorithm)签名的一半. 文献[10]基于Boneh等人[9]短签名和Gap-Diffie-Hellman群提出了新型短签名方案, 缩减了签名运算次数, 并在随机预言模型下证明了方案的适应性选择密文攻击的安全性, 文献[11]构造一种可证安全短盲签名方案, 并证明了方案安全性, 方案适用于带宽受限的数据传输场景, 文献[12]提出了一种基于双线性映射的短代理签名, 并基于Diffie-Hellman问题和选择密文攻击证明了方案的安全性. 文献[13]结合公钥密码体制提出了一种基于证书的短签名方案, 并证明了方案的安全性和运行效率. 文献[14]针对代理签名重签名方案存在的效率缺陷, 结合短盲签名思想提出了短盲代理重签名方案的定义. 文献[15,16]基于短签名构造了高效的数据完整性签名验证方案. 文献[17–19]的方案通过结合短签名减少签名运算量, 提升了方案计算效率.
这些方案没有考虑实际中可能发生的敏感信息[20](例如部分秘钥和秘密参数)可以泄露的情形, 在以前工作的基础上, 本文提出了一种安全的容忍泄露的内容关联短签名方案, 可以容忍部分秘密信息泄露并做到签名与待签名内容强关联, 提高签名方案的安全性.
1 相关基础与安全模型 1.1 数学基础定义1. 双线性对映射.
(1)双线性性: 对于任意的
(2)非退化性:
(3)可计算性: 存在多项式算法计算
定义2. 计算Diffie-Hellman问题(CDH). 椭圆曲线群
定义3. 容忍泄露限. 在一个签名或者加密方案中, 秘密参数的总信息量是与安全参数
传统的构造容忍泄露的方案的思路是利用秘密分割方案把秘密参数分成很多碎片, 只要没有收集到足够多的碎片, 无法恢复出秘密信息和参数, 方案就是安全的. 本文我们采用内容关联多组秘钥的方式实现容忍泄露, 虽然增加了存储成本, 但计算量远小于传统基于门限分割的签名方案, 且具有较大的容忍泄露限. 只要
容忍泄露模型假设攻击者可获得系统部分秘密信息, 如部分密钥等. 因此敌手模型中需要提供泄露询问.
敌手
(1)系统建立: 挑战者
(2)询问阶段: 敌手
1)
2)泄露询问:
3)签名询问:
(3)伪造阶段:
传统签名方案使用相同私钥对不同消息摘要进行签名, 很容易在电磁辐射频谱中出现稳定的辐射特征. 本文通过一个哈希函数实现待签名消息与签名密钥相关联, 这样只要待签名消息改变就会造成使用的签名密钥不一样, 极大地增强了签名方案的容忍泄露能力. 方案构造主要如下.
(1)系统参数建立. 选取安全参数
(2)密钥生成. 随机生成签名者的私钥组
(3)签名算法. 签名者对消息
1)计算
2)计算
(4)验证算法. 对给定的消息和对应签名
1)计算
2)验证
正确性有以下恒等式保证, 当且仅当等式验证成立接受签名.
$ \begin{split} e(S, P) & = e({x_m}{H_2}(m), P) \\ & =e({H_2}(m), {x_m}P) \\ &= e\left({H_2}(m), \sum\limits_{i = 1}^n {{x_{i{b_i}}}P} \right) \\ &= e\left({H_2}(m), \sum\limits_{i = 1}^n {{y_{i{b_i}}}} \right) \\ &= e({H_2}(m), {y_m}) \end{split} $ |
定理1. 本文方案在CDH困难问题假设和容忍ROM模型下是可证安全的.
引理1. 若算法
$ \varepsilon ' \geqslant \left(\varepsilon - \frac{1}{{{2^k}}}\right) \cdot \left(1 - \frac{1}{{{q_d}}}\right) \cdot \left(1 - \frac{1}{{{q_S}}}\right) \cdot \frac{1}{{{q_{{H_1}}}}} \cdot \frac{1}{{{q_{{H_2}}}}} $ |
其中, 参数意义如下:
证明: 给定一个CDH困难问题的实例:
算法
(1)
(2)
1)当
2)当
(3)泄露询问:
1)如果表
2)如果
3)如果
(4)签名询问:
1)如果
2)如果
经过多项式有界次询问后,
$ \begin{split} & e({S^*}, P) = e({x_{{m^*}}}{H_2}(m), P) = e({H_2}({m^*}), {x_{{m^*}}}P) \\ & =e\left(bP, aP + \sum\limits_{i = 1}^{n - 1} {{x_{i{b_i}}}P} \right) = e\left(P, abP + \sum\limits_{i = 1}^{n - 1} {{x_{i{b_i}}}bP} \right) \end{split} $ |
(1)
(2)
(3)
$ \Pr (\neg {E_1} \wedge \neg {E_2}) = \left(1 - \frac{1}{{{q_d}}}\right)\left(1 - \frac{1}{{{q_S}}}\right) $ |
当
$ \varepsilon ' \geqslant \left(\varepsilon - \frac{1}{{{2^k}}}\right) \cdot \left(1 - \frac{1}{{{q_d}}}\right) \cdot \left(1 - \frac{1}{{{q_S}}}\right) \cdot \frac{1}{{{q_{{H_1}}}}} \cdot \frac{1}{{{q_{{H_2}}}}} $ |
运行时间的一个上界为:
$ {t{'}} < t + ({q_s}{t_s} + {q_d}{t_d} + 2{q_{{H_1}}}{t_{{H_1}}} + 2{q_{{H_2}}}{t_{{H_2}}}) $ |
其中,
由引理1即证定理2, 说明本文方案可以抵抗适应性选择消息攻击下的存在性伪造攻击.
本文提出的短签名方案由于构造的抗泄露短签名方案的签名密钥是内容关联密钥, 通过提取签名消息的部分敏感信息生成与原始文件内容相关的密钥, 密钥与特定内容相关且具有单向性, 只能用于特定的加密和解密内容, 抵御了密钥破解的相关推断攻击.
另外方案将私钥表示为密钥组形式, 恶意中间人若要成功伪造消息签名, 必须达到泄露门限值, 否则无法完整恢复私钥进行签名, 由方案可知获取密钥组元素是困难的, 所以当部分私钥泄露时, 整体安全性不会受到影响, 签名私钥具有抗泄露性. 另外方案签名时对数据进行了哈希计算, 若传输检测数据受到篡改, 则会引起哈希值的变化, 导致签名验证失败, 因此方案可抵抗消息篡改攻击.
3 实现与效率比较 3.1 方案代码实现本文在64位Windows 10操作系统的IntellijIDEA2020开发平台下, 为了方便比较, 使用了国密SM2和SM9算法相同的椭圆曲线和双线性对, 使用SM3做哈希运算, 使用Java语言(JDK版本为1.8)实现了本文短签名方案, 图2为方案实验结果, 方案主要代码如算法1.
算法1. 本文短签名方案主要代码
//循环计算50次
for (int i =0; i<50; i++){
//(1)初始化参数
sm9Curve sm9Curve = new sm9Curve();
sm9 sm9 = new sm9(sm9Curve);
sm3 sm3 = new sm3();
Pairing bp = sm9.getCurve().sm9Pairing;
byte[] hash1;
int n = 10;
Element g = sm9.getCurve().P2; //生成元g
Map<String, Element[][]> keyMap = getKeys(bp, n, g);
Element[][] priKeys = keyMap.get(“pri”); //生成私钥组
Element[][] pulKeys = keyMap.get(“pul”); //生成公钥组
stimeh = System.currentTimeMillis(); //计算执行时间
//(2)签名运算
hash1 = sm3.hash(m);
boolean[] h1 = byteToBoolean(hash1);
h2 = bp.getG1().newElementFromHash(hash1, 0, hash1.length);
Map<String, Element> xyMap = getXY(bp, priKeys, pulKeys, n, h1, g);
Element xm = xyMap.get(“xm”);
Element ym = xyMap.get(“ym”);
Element S = h2.mulZn(xm); //签名生成
stimeh1 = System.currentTimeMillis(); //计算执行时间
signtime += stimeh1 – stimeh; //计算签名时间
//(3)签名验证
left = bp.pairing(S, g); //计算等式左边
right = bp.pairing(h2, ym); //计算等式右边
stimeh2 = System.currentTimeMillis();
verifytime += stimeh2 – stimeh1;//计算验证时间
}
long etime = System.currentTimeMillis(); // 计算执行时间
System.out.println(“待签名消息 m:” + m);
System.out.println(“等式左边 e(S, P)=\n” + left);
System.out.println(“等式右边 e(H2(m), ym)=\n” + right);
if (left.isEqual(right)) {
System.out.println(“签名验证成功!”);
} else {
System.out.println(“验证失败!”);
}
3.2 方案性能分析
本方案选取了经典短签名方案和近年来提出的短签名方案. 这些方案基于盲签名、代理签名以及多重短签名实现, 具有签名效率高、计算量小等特点. 这里从签名长度、计算复杂度以及安全性等方面与本文方案进行性能上的分析, 表1记录了各方案的签名计算效率和签名长度.
由表1可知, 本方案在签名阶段只需要1次标量乘
在相同实验环境下实现以上几种方案, 计算运行50次完成签名所耗时间, 得到的效率比较如表2所示. 由表中结果可知, 本方案签名过程平均耗时0.006 s, 验证过程平均耗时0.643 s, 方案总平均耗时0.917 s, 方案总耗时与文献[9,11]耗时接近一致, 比文献[12,21–23]分别减少了35%、40%、48%和43%. 总体来看, 本方案整体计算耗时低, 运行效率更高.
4 总结
本文提出了一种基于容忍泄露的内容关联密钥短签名方案, 并在随机预言模型下证明了方案的安全性. 将本文方案与其他方案进行实验对比, 由实验比较结果可以得出结论, 本文方案具有较短的签名长度, 计算效率高, 并能抵抗泄露攻击, 适用于各种需要数据安全快速传输的计算场景. 在下一步研究中, 将利用盲签名的构造思想, 设计一套适用于数据安全传输系统的容忍泄露盲签名方案.
[1] |
Wu JD, Tseng YM, Huang SS, et al. Leakage-resilient certificate-based signature resistant to side-channel attacks. IEEE Access, 2019, 7: 19041-19053. DOI:10.1109/ACCESS.2019.2896773 |
[2] |
周彦伟, 马岿, 乔子芮, 等. 基于证书的抗连续泄露签名机制. 计算机学报, 2022, 45(11): 2363-2376. |
[3] |
Zhou YW, Yang B, Wang T, et al. Continuous leakage-resilient certificate-based encryption scheme without bilinear pairings. The Computer Journal, 2020, 63(4): 508-524. DOI:10.1093/comjnl/bxz085 |
[4] |
Nagravision SA. Securing digital data transmission in a communication network: US16789078[P/OL]. 2022-06-28.
|
[5] |
Zhang HT, Zhang LC, Guo Y, et al. Data transmission mechanism of vehicle networking based on fuzzy comprehensive evaluation. Open Mathematics, 2022, 20(1): 1909-1925. DOI:10.1515/math-2022-0537 |
[6] |
Munir N, Khan M, Hussain I, et al. Cryptanalysis of encryption scheme based on compound coupled logistic map and anti-codifying technique for secure data transmission. Optik, 2022, 267: 169628. DOI:10.1016/j.ijleo.2022.169628 |
[7] |
金鹏, 黄浩, 刘检华, 等. 多传感器信息融合的铁路扣件缺陷检测方法. 机械工程学报, 2021, 57(20): 38-46. |
[8] |
Wang SH, Wang TL, Pei X, et al. Highway icing time prediction with deep learning approaches based on data from road sensors. Science China Technological Sciences, 2023, 66(7): 1987-1999. DOI:10.1007/s11431-022-2230-8 |
[9] |
Boneh D, Lynn B, Shacham H. Short Signatures from the Weil Pairing. Journal of Cryptology, 2004, 17(4): 297-319. DOI:10.1007/s00145-004-0314-9 |
[10] |
杜红珍, 温巧燕. 高效的短签密方案. 北京邮电大学学报, 2008, 31(1): 84-87. DOI:10.3969/j.issn.1007-5321.2008.01.020 |
[11] |
左黎明, 夏萍萍, 陈祚松. 一种可证安全的短盲签名方案. 计算机工程, 2019, 45(12): 114-118. |
[12] |
左黎明, 陈祚松, 夏萍萍, 等. 高效的可证安全短代理签名方案. 计算机应用, 2018, 38(12): 3455-3461. |
[13] |
左黎明, 陈兰兰, 周庆. 一种基于证书的短签名方案. 山东大学学报(理学版), 2019, 54(1): 79-87. |
[14] |
Yang XD, Ma TC, Chen CL, et al. An efficient short blind proxy re-signatures scheme. Journal of Physics: Conference Series, 2019, 1302(2): 022006. DOI:10.1088/1742-6596/1302/2/022006 |
[15] |
Zhu HL, Yuan Y, Chen YL, et al. A secure and efficient data integrity verification scheme for cloud-IoT based on short signature. IEEE Access, 2019, 7: 90036-90044. DOI:10.1109/ACCESS.2019.2924486 |
[16] |
常亮, 王冠棋, 杨雪欣. 一种云存储完整性的格签名验证方法. 黑龙江科技大学学报, 2020, 30(4): 455-459. |
[17] |
张君何, 周清雷, 韩英杰. 一种基于环签名和短签名的可净化签名方案. 计算机科学, 2020, 47(S1): 386-390, 399. |
[18] |
Zou LN, Wang XY, Deng LF. Secure data fusion analysis on certificateless short signature scheme based on integrated neural networks and elliptic curve cryptography. EAI Endorsed Transactions on Scalable Information Systems, 2022, 9(34): e3. |
[19] |
Yang ZY, Wang ZQ, Qiu F, et al. A group key agreement protocol based on ECDH and short signature. Journal of Information Security and Applications, 2023, 72: 103388. DOI:10.1016/j.jisa.2022.103388 |
[20] |
Yu QH, Li JG, Ji S. Identity-based and leakage-resilient broadcast encryption scheme for cloud storage service. Applied Sciences, 2022, 12(22): 11495. DOI:10.3390/app122211495 |
[21] |
Islam SKH, Biswas GP. A provably secure identity-based strong designated verifier proxy signature scheme from bilinear pairings. Journal of King Saud University-Computer and Information Sciences, 2014, 26(1): 55-67. DOI:10.1016/j.jksuci.2013.03.004 |
[22] |
Hu XM, Tan W, Xu HJ, et al. Short and provably secure designated verifier proxy signature scheme. IET Information Security, 2016, 10(2): 69-79. DOI:10.1049/iet-ifs.2014.0434 |
[23] |
左黎明, 陈兰兰, 周庆. 一种适用于分布式审批工作流的多重短签名方案. 计算机应用研究, 2020, 37(2): 521-525. |