[发明专利]一种可刺穿的数字签名方法有效
| 申请号: | 201910279881.8 | 申请日: | 2019-04-08 |
| 公开(公告)号: | CN110034936B | 公开(公告)日: | 2021-04-30 |
| 发明(设计)人: | 徐静;李新宇;张振峰 | 申请(专利权)人: | 中国科学院软件研究所 |
| 主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08 |
| 代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 陈艳 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 刺穿 数字签名 方法 | ||
本发明提供一种可刺穿的数字签名方法,该方法使用布隆过滤器完成刺穿操作进而实现密钥更新,使用SM9算法实现签名和验证功能。支持对消息任意预设定位置字符串的刺穿,更新后的密钥无法对任意包含刺穿字符串的消息做签名。密钥更新操作仅需常数代价,且能够保持底层SM9算法的签名和验证效率,整体效率较高。所有操作均可在实际中部署,实用性较强。本方法可以应用到基于权益证明的区块链协议中,以抵抗密钥泄露带来的长距离攻击。
技术领域
本发明属于计算机技术与信息安全技术领域,涉及一种利用布隆过滤器和基于身份的签名构造的可刺穿签名方法。
背景技术
数字签名是一项重要的认证技术,签名者使用私钥对消息做签名,验证者使用公钥对签名做有效性验证。数字签名具有不可抵赖性质,即攻击者无法冒充私钥拥有者进行签名。数字签名目前广泛地应用于各类密码协议中,常见的数字签名标准如ECDSA等。
长期密钥泄露是目前认证协议安全性分析中经常考虑的一种攻击场景,这种考虑具有现实意义,即敌手可能在现阶段无法获取密钥,但经过一段时间敌手的攻击能力增强之后,这种攻击便成为可能。长期密钥即签名私钥泄漏后,敌手可以冒充签名者,传统签名方案将完全被攻破。在基于权益证明的区块链协议中,密钥泄露(通过敌手的贿赂等手段)带来的长距离攻击可以允许敌手篡改区块链历史,从而造成双花费攻击,是一种严重的安全威胁。
可刺穿签名考虑长期密钥泄漏对已有签名的安全性影响,提供对签名消息的刺穿功能,保证敌手即便获取私钥仍然无法伪造对已签名消息的签名。简单地说,刺穿功能对应密钥更新操作,以刺穿消息和当前密钥作为输入,输出的更新密钥将无法对包含刺穿消息的内容做签名。方案构造中,刺穿消息可以是签名消息的整体也可以是签名消息的任意指定字段。
可刺穿签名可以用于基于权益证明的区块链协议中抵抗密钥泄露带来的长距离攻击,即区块发布者在某一位置发布区块后,对该位置信息做刺穿操作,更新后的密钥无法在该位置做新的签名,使得敌手无法篡改区块链历史。除此之外,可刺穿签名还可以用于异步通信中,比如在线交易等。这类场景中,发送者向接收者(非交互地)发送签名的交易信息,但由于网络不同步以及接收者可能未在线,密钥泄露会造成发送者的签名受到篡改,交易的完整性得不到保证。刺穿签名可以通过在交易ID处做刺穿,使得敌手无法篡改对应ID的交易内容,从而实现对完整性的保证。随着异步网络的发展以及安全性需求的不断升级,刺穿签名将得到更加广泛的应用。
发明内容
本发明的目的在于提供一种可刺穿的数字签名方法,本发明基于布隆过滤器和国产密码标准SM9(已被ISO/IEC 14888-3收录成为国际标准),可应用到基于权益证明的区块链协议中,可以抵抗密钥泄露带来的长距离攻击,且运行效率高。
为实现上述目的,本发明采用如下技术方案:
一种可刺穿的数字签名方法,包括以下步骤:
步骤1:密钥初始化,利用SM9算法为每个位置身份i∈[l]分发对应的私钥ski;
步骤2:签名算法,选取位置身份处的私钥对消息m做签名,输出签名σ;
步骤3:刺穿算法,对字符串str做刺穿,完成对当前密钥的更新;
步骤4:签名验证算法,利用公钥vk,验证消息m的签名σ。
优选地,步骤1具体包括:
1)首先产生双线性映射的参数(p,e,ψ,G1,G2,GT,P1,P2),运行({Hj}j∈[k],T)←Gen(l,k)生成布隆过滤器BF=(BF.Gen,BF.Update,BF.Check)实例,选取哈希函数和
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910279881.8/2.html,转载请声明来源钻瓜专利网。





