安全的两方协作SM2签名算法
- 格式:docx
- 大小:13.65 KB
- 文档页数:11
国密应用原理国密,即国家密码局认定的国产密码算法,主要包括SM2、SM3、SM4等加密算法。
这些算法被广泛应用于政务、金融、电子商务等领域,以保护敏感信息的安全。
下面详细介绍国密的应用原理:1.SM2算法:SM2是一种基于椭圆曲线的公钥密码算法,包括数字签名、密钥交换和加密三种功能。
在应用中,SM2主要用于生成密钥对、数字签名和加密通信。
发送方使用接收方的公钥对信息进行加密,接收方使用自己的私钥进行解密,确保信息在传输过程中的安全。
2.SM3算法:SM3是一种密码杂凑算法,用于生成数据的摘要。
在应用中,SM3主要用于验证数据的完整性和身份认证。
发送方将数据通过SM3算法生成摘要,然后与原始数据一起发送。
接收方收到数据后,使用相同的SM3算法再次生成摘要,并与发送方提供的摘要进行对比,以验证数据的完整性。
3.SM4算法:SM4是一种分组密码算法,用于对数据进行加密和解密。
在应用中,SM4主要用于保护数据的机密性。
发送方使用密钥将数据通过SM4算法进行加密,生成密文。
接收方使用相同的密钥和SM4算法对密文进行解密,还原出原始数据。
国密算法的应用原理可以概括为以下几点:1.使用国家认定的加密算法:国密算法经过国家密码局的认证和授权,具有较高的安全性和可靠性。
在应用中,选择使用国密算法可以确保敏感信息的安全。
2.生成密钥对:在公钥密码算法中,需要生成一对密钥,即公钥和私钥。
公钥用于加密和验证签名,私钥用于解密和生成签名。
密钥对的生成需要遵循一定的算法和规则,以确保其安全性和随机性。
3.加密通信:在通信过程中,使用加密算法对敏感信息进行加密,确保信息在传输过程中的安全。
接收方使用相应的解密算法对密文进行解密,还原出原始信息。
4.验证身份和完整性:使用杂凑算法和签名算法可以验证数据的完整性和身份认证。
发送方将数据通过杂凑算法生成摘要,并使用私钥对摘要进行签名。
接收方使用公钥验证签名并重新生成摘要进行对比,以验证数据的完整性和发送方的身份。
第31卷第1期北京电子科技学院学报2023年3月Vol.31No.1Journal of Beijing Electronic Science and Technology Institute Mar.2023基于SM2的云端双方协同签名方案设计与应用∗许盛伟㊀邓㊀烨㊀田㊀宇北京电子科技学院,北京市㊀100070摘㊀要:针对当前国内对基于国密算法的协同签名方案的相关研究较少,方案的效率和安全性难以达到实际应用需求等问题,本文对基于SM2的协同签名方案进行优化设计和应用㊂通过提出私钥分片方案和移动智能终端私钥安全管理技术,保障了用户私钥安全㊂方案中私钥分别存储在移动智能终端和云端,移动智能终端使用私钥进行数字签名时,需要和云端联合签名服务器协同工作,保证在签名过程中的敏感数据安全性和签名结果的合法性㊂同时本方案结合SM2算法的特点优化实现了云端双方协同签名系统,采用自主设计的预计算技术提高了协同签名效率㊂通过实验验证和性能测试,本方案在安全性方面优于同类且在效率上不受损失,易于成果转化,可以广泛应用于移动办公㊁即时通信和网络音视频会议等应用中㊂关键词:私钥分片;协同签名;移动智能终端;国密算法中图分类号:TN915.08㊀㊀㊀文献标识码:A文章编号:1672-464X (2023)1-01-08∗㊀基金项目:国家重点研发计划(项目编号:2022YFB3104402);中央高校基本科研业务费专项资金资助(项目编号:328202221)∗∗㊀作者简介:许盛伟(1976-),男,教授,博士生导师,研究方向为大数据安全㊁人工智能与密码应用㊂邓㊀烨(1999-),男,硕士研究生,主要研究方向为密码应用(E-mail:dyaipai@)㊂田㊀宇(1998-),男,硕士研究生,主要研究方向为零信任安全㊂引㊀言㊀㊀当前国外的密码研究水平处于前沿位置,并且有较为完善的密码产品和体系,国内的大型企业㊁银行等资本雄厚的机构也青睐于使用外国的密码产品,但在美国的 棱镜门 事件发生后,我们不得不考虑其存在的后门问题,这使得我国网络安全甚至国家安全都受到了严重的威胁㊂上述这些数据和事件不断提醒我们推动国产化信息安全产品的研发和使用,把相关技术掌握在自己手中,努力建立健全密码产品体系及管理体制,亟需推进信息产品㊁密码产品的国产化替代㊂目前国内在对于保障信息安全的手段中起到重要作用的协同签名方案的研究多是基于国外算法如AES 等,基于国密算法的协同签名方案仅有几篇专利和少数论文,在安全性和效率方面都无法适应用户的需求㊂例如‘基于国密算法分片密钥技术的政务移动安全接入研究“[4]一文提出的基于SM9密钥分片的政务方案,虽然有着密钥分片的思想,但是缺乏对私钥安全性保护的方案,不符合密码安全要求,而本方案则提出了终端安全管理技术,通过PIN 码的设计保证了密钥管理的安全性,通过测试验证了本系统的设计思路是可行的㊂另如在‘基于组合密钥的智能电网多源数据安全保护“[5]中,提出了根据不同条件获得分片方案,把一个密钥分成若干个互不相同的子密钥片,然后把这些密钥分片组合生成新的密钥,分配到系统中的不同终端北京电子科技学院学报2023年上,这种方案过程繁琐,效率不高,在实际应用中难以适配,本系统与其相比在安全性得到保证的前提下运行效率有所提高㊂因此,本文基于这些问题与应用需求,在国家政务信息系统和关键基础设施国产化密码应用要求的指导下,对基于国密算法的协同签名方案进行设计和优化,该方案满足了移动智能终端对于协同签名以及一些通用密码服务等方面的安全需求,同时提升了协同签名过程的效率㊂本文提出的基于SM2算法的协同签名方案,主要贡献有三个方面:应用分片密钥技术,根据相关密码模块技术要求,提出了基于门限思想的密钥分片技术,实现移动智能终端和云端的密钥分片存储,使移动智能终端和云端不再存储完整的用户私钥,提高了抵抗同时攻击的能力,解决密钥管理的安全和密码运算的安全问题㊂同时基于密钥分片存储,提出移动智能终端私钥安全管理技术㊂该技术使用PIN码来设计实现,移动智能终端在执行数字签名㊁数据加密等操作时需要与云端联合运算,通过在移动智能终端设置PIN码并在云端验证,能够有效抵抗针对移动智能终端PIN码的离线暴力攻击,提升了安全强度㊂提出基于SM2国密算法的快速协同签名技术,针对国密算法的特点,设计了预计算的处理环节㊂简化了协同签名流程,提高了协同签名效率,且网络资源㊁硬件资源消耗较低,并具备很好的安全性㊂相较于之前的类似方案,本方案在安全性和效率方面皆得到了提高,具有很好的应用前景㊂基于SM2算法的协同签名方案的设计依托于拥有我国自主知识产权的SM2椭圆曲线公钥密码算法,可解决签名安全㊁终端存储密钥安全㊁个人隐私安全㊁数据安全㊁移动办公等安全问题,下一步将对本文成果进行系统集成,为日后的实际应用做好准备,为我国关键信息基础设施的国产化替代作出卓越贡献㊂1㊀相关知识1.1㊀门限法Shamir教授在1979年曾提出基于门限秘密共享的分布式签名[6],门限秘密共享指的是n 个实体分别持有私钥的一部分,当且仅当凑齐超过阈值数量的被分割密钥才可以恢复成完整密钥,从而完成签名或解密的工作㊂这种方法虽然实现了分布式签名,然而一旦私钥被恢复,持有完整私钥的一方就可以在其他实体不知晓的情况下任意使用私钥,造成极大的安全隐患㊂1.2㊀SM2签名算法2010年底,国家密码管理局公布了我国自主研制的 椭圆曲线公钥密码算法 (SM2算法)[7]㊂SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议, SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能㊂SM2签名算法包含了以下四个步骤㊂(1)初始化(Setup):给定安全参数λ,生成椭圆曲线参数params=(p,a,b,P,q)并输出㊂(2)密钥生成(Key):给定参数后,选择随机数xɪZ∗q作为私钥,计算Q=x㊃P作为公钥,输出(Q,x)作为公私钥对㊂(3)签名算法(Sign):给定参数params,私钥x以及消息m,签名者将执行以下步骤:①计算Z=H v(ENTL||IDA||a||b||pk),其中IDA是用户的可辩别标识,ENTL是IDA的长度,计算M=Z||M;②计算e=H v(M);③选择随机数kɪZ∗q,计算椭圆曲线点R =k㊃P=(x1,y1);㊃2㊃第31卷基于SM2的云端双方协同签名方案设计与应用㊀④计算r=x1+e mod q,s=(1+x)-1(k-r㊃x)mod q;⑤输出签名δ=(r,s)㊂(4)验证算法(Ver):给定参数params公钥Q=x㊃P,消息mᶄ以及它的签名δᶄ=(rᶄ,sᶄ),验证算法运行如下:①检验rᶄ,sᶄɪZ∗q是否成立;②设Mᶄ=Z||Mᶄ,计算eᶄ=H v(Mᶄ);③计算t=rᶄ+sᶄ,若t=0则验证不通过;否则计算椭圆曲线点Rᶄ=sᶄˑP+t㊃Q=(x1ᶄ, y1ᶄ),验证rᶄ=eᶄ+x1ᶄmod q是否成立,验证通过则输出1,否则输出0㊂2㊀方案设计及实现方法㊀㊀针对移动智能终端中对于身份认证㊁数字签名等密码应用的需求,本文设计并优化了基于SM2算法的协同签名方案,实现了在移动智能终端可以进行密钥分片的生成和安全存储㊂在本方案中主要是基于SM2算法,采用了密钥分片存储㊁协同签名技术以及终端私钥安全管理技术,同时针对SM2算法的特点对协同签名流程进行优化,实现了签名过程中的敏感数据安全性和签名结果的合法性,同时在签名速度方面得到提高㊂2.1㊀方案设计如图1所示,本方案设计了一个由云端㊁移动智能终端组成的基于SM2的云端双方协同签名方案㊂通过创新性的快速协同签名技术㊁密钥分片技术㊁终端私钥安全管理技术,使得本方案相较于同类方案,在安全性得到大大提升的同时保证了运行效率不受太多损耗㊂方案中的云端负责响应移动智能终端的密钥分片㊁协同签名请求,提供云端公㊁私钥分片生成功能;在密钥分片过程中向移动智能终端发送云端产生的云端公钥分片,同时接收移动智能终端发送的终端公钥分片,与移动智能终端交互完成密钥的分片;在协同签名过程中发送和接收移图1㊀本方案的设计架构图动智能终端发送的协同签名的各种中间值,与移动智能终端交互完成协同签名,接收到用户的ID㊁PIN码及公钥分片后,将向服务器密码设备发出储存申请将用户的ID㊁PIN码及公钥分片储存至服务器密码设备中,在云端需要用户口令㊁密钥数据时临时向服务器密码设备进行申请㊂移动智能终端部分通过app上集成的密码模块即移动智能终端密码模块提供分片密钥生成㊁更新和存储功能㊂其中封装了多种安全接口,支持多种开发语言,提供分片密钥存储和管理功能等㊂它由多个模块组成,包括SM2协同签名模块㊁验签模块㊁SM3杂凑模块㊁SM4加解密模块㊁密钥管理模块和通信模块,上层封装成SM2协同签名㊁验签接口,作为对外部提供的接口㊂其中密钥管理模块又包含密钥的生成㊁更新和存储㊂移动智能终端基于java实现,在安卓系统上运行㊂通过调用GmSSL库函数来完成一系列功能,其中GmSSL是个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密算法㊂云端密码模块则与密钥管理模块相互配合达成包括密钥生成㊁更新和存储等功能(通过调用云端密码设备)㊂密码机设备用于储存用户的PIN码,以及私钥分片㊂设备使用中安网脉基于云端密码设备的软硬件设备㊂㊃3㊃北京电子科技学院学报2023年本系统进行协同签名主要分为两个步骤,即密钥分片和协同签名㊂(1)密钥分片进行密钥分片时,主要调用密钥生成模块生成部分私钥,使用密钥存储模块进行公私钥的存储,在云端会将公私钥存储在云端密码设备中,此外,本系统还利用PIN码对移动智能终端私钥分片进行保护㊂(2)协同签名进行协同签名时,主要调用SM2协同签名模块;移动智能终端和云端的通信模块负责协同签名过程中的参数传递㊂(3)安全的传输协议移动智能终端与云端通信使用HTTPS安全传输协议,以保证用户PIN码㊁签名计算中间值不会泄露,以及预防可能遭到的重放攻击㊂2.2㊀实现方法(1)密钥分片技术密钥分片技术即将私钥分割为两个部分:第一分片子密钥和第二分片子密钥㊂第一分片子密钥存放到移动智能终端,第二分片子密钥则由云端服务器派生生成,两个分片子密钥完成协同签名㊂最后,完成的协同签名在移动智能终端生成,完整签名可以实现数据的不可否认和操作的不可抵赖㊂密钥分片具体流程如图2所示㊂定义p为大素数,Fp为有限域㊂选择a,bɪFp作为椭圆曲线E的参数,定义P为椭圆曲线E上的一点,并且将其作为群G的生成元㊂群G 的阶为q,M为待签名的消息,ENTL为IDT的长度,IDT为签名用户的名字㊂其余未注明变量均为计算的中间变量,pk为联合公钥,pk A为移动智能终端公钥分片,pk B为云端公钥分片,d A为移动智能终端私钥分片㊁d B为云端私钥分片㊂①移动智能终端随机秘密选择私钥分片d A ɪZ q,并计算公钥分片pk A=d AˑP,后将pk A传给云端㊂②云端随机秘密选择私钥分片d BɪZ q,计图2㊀密钥分片流程图算出公钥分片pk B=d BˑP与完整公钥pk= d A d B P-P,即pk=d B pk A-P,并将(pk,d B,pk A)储存至UsbKey中,将pk B传输给移动智能终端㊂③移动智能终端接受到云端的公钥分片后即可计算出公钥pk,pk=d A d B P-P,即pk=d A pk B-P,存储(pk,d A,pk B)㊂④移动智能终端设置PIN码,该PIN码和用户ID及其私钥绑定,并存储在Usbkey中㊂(2)快速协同签名技术移动智能终端密码模块使用第一分片子密钥对消息进行签名后,将部分签名结果s传递给云端服务器,云端服务器使用第二分片子密钥对签名结果变换后生成t并传回给移动智能终端㊂整个协同签名只使用两个报文(1个来回)就完成整个过程,简化了协同签名流程,提高了协同签名效率,网络资源㊁硬件资源消耗较低,也具备很好的安全性㊂协同签名流程如图3所示㊂①移动智能终端输入PIN码,加载密钥分片㊂②移动智能终端和云端进行相互验证,云端通过身份验证后即可向UsbKey申请与用户对应的密钥分片㊂移动智能终端秘密选择k AɪZ∗q,㊃4㊃第31卷基于SM2的云端双方协同签名方案设计与应用㊀图3㊀协同签名流程图并计算R A=k AˑP,RᶄA=k Aˑpk B,并将R A与RᶄA的值传给云端;在云端验证是否满足R A=d BˑRᶄA,若满足,则计算R B=k Bˑpk A,RᶄB=k BˑP,并将R B,RᶄB发送给移动智能终端㊂移动智能终端收到消息后,验证是否满足R B=d AˑRᶄB,若满足,则开始进行签名㊂③移动智能终端使用分片私钥生成部分签名sᶄ计算Rᶄ=R A+R B=(x A,y A),Z A=SM3 (ENTL ID T a b P pk),r=SM3(Z A M) +x A mod q,计算sᶄ=(k A+r)d A-1mod q然后将sᶄ的值发送给云端并请求云端进行协同签名㊂④云端计算t=(sᶄ+k B)d B-1mod q,生成部分签名,然后将t的值发送给移动智能终端㊂⑤移动智能终端计算s=t-r,并输出协同签名(r,s)㊂3㊀性能测试与分析㊀㊀云端测试环境:硬件环境:CPU:Intel Xeon(R)Bronze3106CPU@1.70GHzˑ16RAM:16.0GB软件环境:系统:Ubuntu20.04.3LTS64位测试平台:Qt Creator4.8.0Based on Qt 5.12.0(GCC5.3.1)移动智能终端测试环境:硬件环境:CPU:海思麒麟970处理器RAM:6.0GB软件环境:系统:Android10测试平台:Android studio11测试范围:对该协同签名方案的实际性能进行测试㊂3.1㊀性能测试性能数据如下图所示,程序运行资源消耗较低,资源占比仅维持在百分之十左右㊂图4㊀移动智能终端CPU测试图图5㊀移动智能终端内存测试图表1㊀性能测试数据序号测试项测试项描述值1协同签名速度平均每秒签名速度40次/秒2密钥生成速度平均每秒密钥生成90次/秒3.2㊀性能分析(1)密钥分片密钥分片技术将私钥分成两个部分,分别存㊃5㊃北京电子科技学院学报2023年放在移动智能终端与云端(移动智能终端私钥自己存储,云端私钥放在云端密码设备)㊂经过理论分析,SM2协议与ECMQV协议二者都基于椭圆曲线的计算,两者每次运算大约都需要1.5次标量乘,而经过实际运算,本系统实际测的公私钥生成并分片的效率与理论分析相差不大,大约在100次每秒,总体在可接受范围内㊂(2)协同签名从签名流程图来看,在传统的签名(r,s)中,r生成后s根据r的值随后生成,平均签名速度大约在40次每秒㊂但在本系统中r生成后,会由云端生成中间值t,随后在移动智能终端由r和t的值计算出s,虽然步骤变多,但是极大的提升了整个过程的安全性,并且由于创新性的加入了预计算处理过程,在代码中预先用SM3得到摘要缩短了所需时间㊂相较于市面上其他的联合签名系统,本系统优势明显㊂如罗永安,司亚利,刘文远[11]设计的联合签名需要双方公私钥,更多的初始数据带来了更多的计算过程,因此本方案在性能实现上更加优秀㊂4㊀安全性分析㊀㊀(1)有效防范中间人攻击防范中间人攻击的原则是必须对认证过程的传输者或是认证过程的本身真实性进行认证㊂为确保连接云端的移动智能终端安全,必须对每一用户或与之相连的终端设备进行有效的标识与鉴别,只有通过鉴别的用户才能被赋予相应的权限,进入APP并在规定的权限内操作㊂用户使用终端APP时,需要输入设定的密码才能使用,以保证对使用终端的用户的身份鉴别㊂同时,为防止非法用户能够通过反复输入密码,达到猜测用户密码的目的,本系统限制用户登录过程中连续输入错误密码的次数㊂当用户多次输入错误密码后,移动智能终端会自动锁定该用户或一段时间内禁止该用户登录,从而增加猜测密㊀㊀㊀码难度的目的㊂同时,本系统在移动智能终端APP中加入对设备MAC地址的识别,以保证对移动智能终端设备本身的身份鉴别;此外在用户还需要通过移动智能终端自带的身份识别(例如指纹识别㊁人脸识别等),再次保证使用移动智能终端的用户的身份的合法性㊂(2)有效防止抵赖问题完整的签名由移动智能终端和云端联合生成㊂可以实现数据的不可否认和操作的不可抵赖㊂随时间变化的椭圆曲线初始化参数可以防止重放攻击所导致的抗抵赖问题㊂(3)有效抵抗暴力破解移动智能终端密钥分片使用PIN码保护,但攻击人无法离线通过暴力尝试不同PIN码来恢复私钥分片㊂移动智能终端的保护方案并不报告加载私钥时使用的PIN码是否正确,加载的私钥是否恢复成功,必须请求云端服务器提供信息,方可知道尝试PIN码的正确性㊂云端服务器可以有效确认移动智能终端的签名的合法性,进而确认移动智能终端是否正确地恢复了私钥分片,可以有效锁定在线暴力破解PIN码的行为㊂5㊀结束语㊀㊀本文设计并实现了一个基于SM2算法的协同签名方案㊂该方案创新性地使用密钥分片技术㊁协同签名技术和移动智能终端私钥安全管理技术,可以为移动智能终端应用提供易用㊁安全的增强认证和数据安全保护,实现移动智能终端私钥的安全存储㊂此外,本方案对协议进行创新,通过针对SM2国密算法的特点对签名流程进行重新设计与算法优化,实现快速协同签名技术,通过功能测试和性能测试,与其他同类方案相比,本方案在提高了安全性的同时不损失其性能,且易于成果转化,对推动我国关键信息基础设施国密算法应用起到重要作用㊂㊃6㊃第31卷基于SM2的云端双方协同签名方案设计与应用㊀参考文献[1]㊀The43rd CNNIC China Internet Report.ChinaBroadcasts,2019,04:48(in Chinese). [2]㊀李兆斌,刘丹丹,黄鑫,等.基于国密算法的安全接入设备设计与实现[J].信息网络安全,2016.[3]㊀国家密码管理局.GM/T0009-2012.北京:中国标准出版社,2012:13-14.[4]㊀焦迪.基于国密算法分片密钥技术的政务移动安全接入研究[J].网络安全技术与应用,2020(9):28-30.[5]㊀高建,陈文彬,庞建民,等.基于组合密钥的智能电网多源数据安全保护[J].电信科学,2020,36(1):134-138.[6]㊀Shamir A.How to share a secret[J].Communi-cations of the ACM,1979,22(11):612-613.[7]㊀Chen Li-Quan,Zhu Zheng,Wang Mu-Yang,etal.A Threshold Group Signature Scheme forMobile Internet Application,Chinese Journalof Computers,2018,425(5):86-101(in Chi-nese).[8]㊀国家密码管理局.GM/T0028-2014.北京:中国标准出版社,2014:11-12.[9]㊀Chinese Encryption Administration.GM/T0003-2012SM2Elliptic Curve Public-KeyCryptography Algorithm.Beijing,China,2010.[10]㊀汪朝晖,张振峰.SM2椭圆曲线公钥密码算法综述[J].信息安全研究,2016,2(11):972-982.[11]㊀罗永安,司亚利,刘文远.基于椭圆曲线的联合签名及其在电子现金中的应用[J].华中师范大学学报(自然科学版),2008(3):350-354.[12]㊀苏吟雪,田海博.基于SM2的双方共同签名协议及其应用[J].计算机学报,2020,43(4):701-710.[13]㊀刘培鹤,闫翔宇,何文才,等.基于Android的密钥分存方案[J].计算机应用与软件,2018,35(2):320-324+333.[14]㊀王小云,于红波.SM3密码杂凑算法[J].信息安全研究,2016,2(11):983-994. [15]㊀彭绪富.电子政务中多方联合签名审批系统设计[J].微计算机应用,2008(4):29-32.[16]㊀陈明帅.基于Android的国密SSLVPN终端的研究与实现[D].北京:华北电力大学(北京),2021.[17]㊀施晓芳,赵少卡,王震懿.基于国密算法的Android智能终端SSL协议设计与实现[J].福建师大福清分校学报,2019(2):45-55+64.[18]㊀缪雨润.基于Qt的图形用户界面的研究与实现[D].南京:东南大学,2015.㊃7㊃㊃8㊃北京电子科技学院学报2023年Design and Application of a Cloud Bilateral CollaborativeSignature Scheme Based on SM2∗XU Shengwei㊀DENG Ye㊀TIAN YuBeijing Electronic Science and Technology Institute,Beijing100070,P.R.China Abstract:For the issue that few domestic research on collaborative signature scheme based on state crypto algorithm is available at present and existing schemes hardly satisfy the efficiency and security re-quirements for practical applications,an optimization design and applications of collaborative signature scheme based on SM2are presented in this paper,where a private key sharding scheme and a private key security management technology for the mobile intelligent terminal are proposed to ensure the secur-ity of the users private key.In our scheme,private key is separately stored in the mobile intelligent terminal and the cloud.When the private key is used by the mobile intelligent terminal for the digital signature,the mobile intelligent terminal is required to cooperate with the cloud collaborative signature server to guarantee the security of the sensitive data in the signature process and the legality of the sig-nature result.Meanwhile,combined with the characteristics of the SM2algorithm,an optimal cloud bi-lateral collaborative signature system is implemented,where an independently designed pre-calculation technology is adopted to improve the efficiency of the collaborative signature.Experimental verification and performance tests indicate that our design is superior in security than existing similar designs while keeping the efficiency,and is suitable for commercialization.Our design has a broad application pros-pect in mobile office,instant communication,network audio and video conference,etc. Keywords:private key sharding;collaborative signature;mobile intelligent terminal;state crypto algo-rithm(责任编辑:鞠㊀磊)。
可证明安全的SM2盲适配器签名方案
胡小明;陈海婵
【期刊名称】《网络与信息安全学报》
【年(卷),期】2024(10)2
【摘要】适配器签名是近年来出现的新密码学原语,其基本思想是将签名过程与秘密值的揭示联系起来,通过将预签名适配为正式签名,使最终的签名结果和常规签名一致。
预签名与正式签名可提取出一个秘密值,因此具有原子性,在区块链中拥有良好的应用前景。
但是适配器签名不具有匿名性,容易暴露交易参与者身份,在电子支付等隐私需求高的应用场景具有一定的局限性。
为了解决这一问题,提出了新的盲适配器签名,系统模型和安全模型,在新系统模型的基础上提出了基于SM2签名算法的盲适配器签名方案,并基于SM2签名方案的不可伪造性和困难关系证明了该方案的安全性满足新提出的安全模型要求,即满足盲性、预签名可适配性、不可伪造性和证据可提取性。
性能分析表明,在计算开销上,SM2盲适配器签名方案的总时间仅比SM2适配器签名方案增加了5.91 ms,与现有同类方案相比,该方案盲性更强且具有自主可控性,对于隐私要求高且需要采用国产密码算法的关键应用场景具有良好的应用价值。
【总页数】10页(P59-68)
【作者】胡小明;陈海婵
【作者单位】上海第二工业大学计算机与信息工程学院
【正文语种】中文
【中图分类】TP309.7
【相关文献】
1.关于Okamoto盲签名方案与部分盲签名方案的安全分析
2.基于SM2数字签名算法的适配器签名方案
3.基于SM2的无证书盲签名方案
4.基于SM2盲签名的电子投票方案
5.基于SM2门限盲签名电子选举方案
因版权原因,仅展示原文概要,查看原文内容请购买。
SM2算法简单介绍2009年11月目录1SM2算法和RSA算法有什么关系? (1)2为什么要采用SM2算法替换RSA算法? (1)3SM2和椭圆曲线算法是什么关系? (2)4椭圆曲线算法是什么原理? (2)5SM2算法可以进行哪些密码应用? (4)6SM2算法速度快吗? (4)7SM2签名算法支持多大的数据量,签名结果为多少字节? (4)8SM2加密算法支持多大的数据量,加密结果增加多少字节? (5)9SM2相关算法有哪些? (5)国家密码管理局于2010年12月17日发布了SM2椭圆曲线公钥密码算法,并要求为对现有基于RSA算法的电子认证系统、密钥管理系统、应用系统进行升级改造。
关于算法标准,请参见《国家密码管理局公告(第21 号)》,网址为。
SM2算法是一种什么样的加密算法,有什么特点,如何进行应用?本文整理在SM2应用实践中遇到的问题,供大家分享。
1 SM2算法和RSA算法有什么关系?SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换RSA算法。
2 为什么要采用SM2算法替换RSA算法?随着密码技术和计算技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线算法替换RSA算法。
SM2算法在安全性、性能上都具有优势,参见表1算法攻破时间,表2算法性能。
表1 算法攻破时间表2 算法性能3 SM2和椭圆曲线算法是什么关系?一提起曲线,大家就会想到方程,椭圆曲线算法是通过方程确定的,SM2算法采用的椭圆曲线方程为:y2 = x3 + ax + b在SM2算法标准中,通过指定a、b系数,确定了唯一的标准曲线。
同时,为了将曲线映射为加密算法,SM2标准中还确定了其它参数,供算法程序使用。
4 椭圆曲线算法是什么原理?本文不探讨椭圆曲线的数学理论,仅通过图示展示算法原理。
请参见下图:图1 椭圆曲线算法原理上图为方程:y2 = x3–x的曲线。
门限SM2签名方案
唐张颖;王志伟
【期刊名称】《南京邮电大学学报:自然科学版》
【年(卷),期】2022(42)4
【摘要】区块链钱包系统中私钥一旦丢失或泄露将造成无法挽回的损失,为了保护私钥安全,国内外学者提出了门限签名算法。
门限签名算法作为一种多方参与者合作签名的算法,能够防止密钥在使用时存在盗用或欺骗等恶意行为。
SM2数字签名算法作为我国自主研发的签名算法,广泛应用于我国密码系统中的用户身份认证、保证数据完整性和真实性等方面。
文中提出的门限SM2签名方案,基于CL加法同态加密方案,在签名者集合中恶意者占多数的情况下提供安全有效的签名。
【总页数】11页(P85-95)
【作者】唐张颖;王志伟
【作者单位】南京邮电大学计算机学院、软件学院、网络空间安全学院;南京邮电大学江苏省大数据安全与智能处理重点实验室
【正文语种】中文
【中图分类】TP309
【相关文献】
1.一个(t,n)门限签名-(k,m)门限验证的群签名方案
2.基于可验证SM2门限算法的移动终端签名系统的设计与实现
3.基于SM2数字签名算法的适配器签名方案
4.基
于SM2数字签名算法的环签名方案5.智能家居场景下基于SM2的门限群签名方案
因版权原因,仅展示原文概要,查看原文内容请购买。
严格可证明安全的两方协同SM2签名协议
程一帆;刘擎宇;梁泽宇;于昇
【期刊名称】《电子学报》
【年(卷),期】2024(52)2
【摘要】SM2签名算法自提出后得到了广泛的应用,其中电子合同是一个典型的应用场景.用户在使用电子合同服务签约时,由于单个用户抗攻击能力较弱,存在严重的私钥泄露风险,因此往往将私钥托管在服务商的云端服务器上.但是这又涉及对服务商的信任问题,甚至直接影响电子合同的合法性.为了解决这个两难问题,我们基于同态加密的思想提出了一种两方协同SM2签名协议,用户和服务商协同生成并保存各自的私钥分片,在使用时通过线上交互的方式合作生成签名,从而同时解决安全和信任问题.我们发现,现有的两方协同SM2签名协议的安全性都存在问题或者错误,就我们所知,本协议是第一个严格可证明安全的两方协同SM2签名协议.
【总页数】10页(P540-549)
【作者】程一帆;刘擎宇;梁泽宇;于昇
【作者单位】云海链控股股份有限公司;牛津(海南)区块链研究院有限公司密码学实验室
【正文语种】中文
【中图分类】TP309
【相关文献】
1.安全的两方协作SM2签名算法
2.移动互联网环境下轻量级SM2两方协同签名
3.安全高效的两方协同ECDSA签名方案
4.黄山市:“小快灵”推动精细化立法
5.基于SM2的两方协作盲签名协议
因版权原因,仅展示原文概要,查看原文内容请购买。
安全的两方协作SM2签名算法SM2是一种基于椭圆曲线密码体制的数字签名算法,适用于安全的两方协作签名方案。
在SM2算法中,有两个主要参与者:密钥生成中心(KGC)和签名者。
KGC负责生成密钥对,并将公钥广播给所有签名者。
签名者使用自己的私钥和KGC的公钥来生成签名,而验证者则使用KGC的公钥和签名者的公钥来验证签名的有效性。
SM2算法的安全性主要基于椭圆曲线密码学的难解性和随机性。
在椭圆曲线密码体制中,找到一个合法的密钥对是计算上困难的,因此攻击者很难伪造签名者的私钥。
SM2算法还使用了随机数来增加签名的随机性和不可预测性,使得攻击者更难预测签名的结果。
与其他数字签名算法相比,SM2算法具有较高的安全性和效率。
SM2算法的签名长度固定,因此比RSA等算法更适合用于网络传输等场景。
SM2算法还具有良好的抗量子计算攻击能力,因此在未来量子计算环境下也具有较好的应用前景。
SM2是一种高效安全的两方协作数字签名算法,适用于需要数字签名的各种场景,特别是在需要保证数据完整性和安全性的网络传输中具有广泛的应用前景。
随着移动互联网的飞速发展,人们对于安全、便捷的数据传输和数字签名需求日益增长。
在这篇文章中,我们将探讨轻量级SM2两方协同签名的概念、特点、优点及应用场景,以此应对移动互联网环境下的安全挑战。
轻量级SM2两方协同签名是一种基于椭圆曲线密码学的数字签名技术,其安全性高、计算量小、部署方便等特点使其在移动互联网环境中备受。
轻量级SM2两方协同签名的优点主要表现在以下几个方面。
它采用了非对称加密算法,确保了消息的机密性和完整性。
由于其算法优化,计算量相对较小,能够在移动设备上快速处理,使得用户体验更加流畅。
该技术部署方便,对设备资源要求较低,适合在各种类型的移动设备上运行。
在移动互联网环境下,轻量级SM2两方协同签名有着广泛的应用场景。
例如,在安全电子邮件中,可以利用该技术确保邮件的来源和内容不被篡改,保护用户的隐私和安全。
它还可以用于在线文档签名,使得用户可以在移动设备上方便地签署各类文件,提高了工作效率。
当然,轻量级SM2两方协同签名也有很多实际应用示例。
例如,HTTPS 协议就是一种基于SSL/TLS的加密通信协议,它利用SM2算法实现通信过程中的身份认证和数据加密,保证了互联网上数据传输的安全性。
另外,SMIME协议也是一种常见的数字签名协议,它基于SM2算法,用于保证电子邮件的安全性和完整性。
轻量级SM2两方协同签名在移动互联网环境下具有显著的优势和广阔的应用前景。
它不仅提高了数据传输的安全性和完整性,还降低了计算量和设备资源要求,提升了用户体验。
未来,随着移动互联网的进一步发展,轻量级SM2两方协同签名有望在更多领域得到广泛应用,成为保障移动数据传输安全的重要技术力量。
随着信息技术的快速发展,数字签名技术在确保数据安全和完整性方面发挥着越来越重要的作用。
在众多数字签名算法中,国密SM2数字签名算法和ECDSA算法是两种广泛使用的算法。
本文将对这两种算法进行介绍,并从多个角度进行对比分析。
国密SM2数字签名算法是一种基于椭圆曲线密码体制的数字签名算法,广泛应用于中国的密码学领域。
SM2算法利用椭圆曲线上的点作为公钥和私钥,通过密钥生成、签名和验证等步骤,实现对数字消息的签名和验证。
安全性高:SM2算法基于椭圆曲线密码体制,相对于其他数字签名算法,具有更高的安全性。
效率高:SM2算法的运算速度较快,签名和验证过程较为高效。
应用广泛:SM2算法被广泛应用于各种网络安全协议和系统中,具有较为成熟的应用经验。
依赖数学难题:SM2算法基于椭圆曲线离散对数问题,如果能够解决该问题,将威胁到整个算法的安全性。
国际标准兼容性差:SM2算法是中国自主研发的算法,与国际标准存在一定的差异,可能影响在国际上的应用。
ECDSA算法是一种基于椭圆曲线密码体制的数字签名算法,由国际标准化组织ISO制定并广泛应用。
它利用椭圆曲线上的点作为公钥和私钥,通过密钥生成、签名和验证等步骤,实现对数字消息的签名和验证。
安全性高:ECDSA算法基于椭圆曲线密码体制,具有较高的安全性。
效率高:ECDSA算法的运算速度较快,签名和验证过程较为高效。
国际标准兼容:ECDSA算法是国际标准化的算法,被广泛应用于各个领域,具有较好的兼容性。
依赖数学难题:ECDSA算法同样基于椭圆曲线离散对数问题,如果能够解决该问题,将威胁到整个算法的安全性。
技术门槛高:相对于SM2算法,ECDSA算法对技术人员的要求较高,需要具备一定的密码学基础知识。
性能方面,SM2算法和ECDSA算法在签名和验证过程中都具有较高的运算速度,但在密钥生成方面,ECDSA算法的运算速度略高于SM2算法。
安全性方面,两种算法都基于椭圆曲线密码体制,具有较高的安全性。
然而,由于SM2算法是中国自主研发的算法,在国际上的应用可能受到一定限制。
应用场景方面,SM2算法主要应用于中国的密码学领域,而ECDSA算法则被广泛应用于各个领域。
因此,在应用范围方面,ECDSA算法具有一定的优势。
通过实际案例和模拟数据可以看出,SM2数字签名算法和ECDSA算法在应用效果上各有优劣。
在某些特定场景下,SM2算法可能更适合中国的国情,而在国际合作和交流中,ECDSA算法则更具优势。
综合以上分析,SM2数字签名算法和ECDSA算法在安全性、效率和应用场景方面具有一定的差异。
在实际应用中,应根据具体需求和场景选择适合的数字签名算法。
在某些特定场景下,SM2算法可能更具优势,而在国际合作和交流中,ECDSA算法则更具兼容性和应用前景。
随着密码学技术的不断发展,各种数字签名算法将在不同的领域得到广泛应用。
对于技术人员来说,深入了解并正确选择适合的数字签名算法将成为保障信息安全的重要任务之一。
随着信息技术的快速发展,数字签名算法在保障信息安全中的应用越来越广泛。
数字签名算法可以用于验证信息的完整性、确认发送者的身份、防止信息被篡改等,成为网络安全领域的重要技术。
本文将针对SM9数字签名算法的应用进行研究,旨在深入探讨其在实际场景中的应用和优化方案。
数字签名算法是基于非对称加密算法的一种安全机制。
它利用一对密钥,其中一个密钥用于签名,另一个密钥用于验证签名。
数字签名算法的实现过程包括以下几个步骤:生成密钥对:利用非对称加密算法生成公钥和私钥。
签名:发送者使用私钥对信息进行签名,生成签名数据。
验证签名:接收者使用公钥对签名数据进行验证,确认信息的完整性和发送者的身份。
SM9数字签名算法是一种国产的数字签名算法,具有较高的安全性和性能优势。
以下是一些SM9数字签名算法的应用场景:电子商务:在电子商务平台上,商家可以用SM9数字签名算法对商品信息进行签名,确保信息不被篡改,提高交易的安全性。
电子政务:政府部门可以利用SM9数字签名算法实现文件的安全传输和数字签批,防止伪造和篡改,提高政务工作的可靠性。
机密文档保护:SM9数字签名算法可以用于保护机密文档,通过对文档进行签名,可以防止文档被非法访问或篡改。
虽然SM9数字签名算法在应用中具有很多优势,但仍然存在一些问题和不足。
以下是一些优化措施:加速算法运算速度:针对SM9数字签名算法的运算速度较慢的问题,可以优化算法的实现方式,采用并行计算等技术提高运算速度。
加强密钥管理:密钥管理是数字签名算法安全性的重要环节。
可以通过建立安全的密钥管理系统,采用合适的密钥存储和分发机制,提高密钥的安全性。
拓展应用领域:SM9数字签名算法可以进一步拓展应用到其他领域,如无线通信、物联网等。
通过与其他安全技术的结合,可以进一步提高应用系统的安全性。
随着密码学和计算机技术的不断发展,数字签名算法也在不断演进和优化。
以下是一些数字签名算法的发展趋势:国密标准:越来越多的国家和地区开始制定和实施自己的密码标准,如中国的SM系列算法。
数字签名算法将朝着符合国家密码标准的方向发展,提高信息的安全性和可靠性。
高效性能:随着硬件性能的不断提升,数字签名算法将朝着更高效、更快速的方向发展,以满足实际应用的需求。
联合应用:数字签名算法将与其他安全技术进行联合应用,形成综合性的安全防护体系,提高整体安全性。
密码学与人工智能的结合:未来数字签名算法将有望与人工智能技术相结合,形成智能密码学的新领域,通过智能分析、检测和防御等技术,提高密码学的安全性和应用范围。
本文对SM9数字签名算法的应用进行了深入研究,探讨了其在实际场景中的应用和优化方案。
通过分析,我们得出以下SM9数字签名算法具有较高的安全性和性能优势,可以广泛应用于电子商务、电子政务、机密文档保护等场景;然而,该算法仍存在一些问题和不足,需要进一步优化和完善。
随着密码学和计算机技术的不断发展,数字签名算法也在不断演进和优化,未来将会有更多新的技术手段和应用领域出现。
因此,对于SM9数字签名算法的研究和应用仍需保持和探索,以便更好地满足实际应用的需求和提高信息安全性。
随着信息技术的快速发展,信息安全问题越来越受到人们的。
数字签名技术作为一种重要的信息安全手段,被广泛应用于保证信息的完整性和验证信息的来源。
部分盲签名方案是一种特殊的数字签名技术,它在保证信息完整性的能够保护签名者的隐私。
SM9算法是一种国家密码标准,具有高安全性和高效性,被广泛应用于各种密码学应用中。
本文将基于SM9算法的部分盲签名方案进行深入探讨。
部分盲签名方案是一种特殊的数字签名技术,它允许签名者将其签名与消息的一部分关联,同时不暴露签名者的完整私钥。
在部分盲签名方案中,签名者首先对消息进行部分加密,然后将加密结果和自己的私钥一起用于签名。
验证者可以使用签名者的公钥和加密算法解密部分消息,从而验证签名的有效性。
为了提高安全性,部分盲签名方案通常采用随机数或时间戳等参数来确保每次签名的唯一性。
SM9算法是一种基于椭圆曲线密码体制的公钥密码算法,广泛应用于信息安全领域。
SM9算法由密钥生成、加密、解密和签名等模块组成。
在密钥生成方面,SM9算法使用随机数生成一对密钥,公钥对外公开,私钥由用户自己保存。
在加密方面,SM9算法采用多对密钥对的加密方式,能够实现高效、安全的加密通信。
在解密方面,使用正确的私钥可以解密对应的公钥加密的数据。
在签名方面,SM9算法支持数字签名,可以用于验证信息的完整性和来源。
部分盲签名方案在信息安全领域具有广泛的应用价值。
部分盲签名方案可以用于数字签名,能够保护签名者的隐私和防止信息被篡改。
部分盲签名方案可以用于信息传输保密性,通过对敏感信息进行部分加密,确保只有接收者能够解密并查看信息内容。
部分盲签名方案还可以与其他密码学技术结合使用,如盲签名、群签名等,进一步扩展其应用场景。
部分盲签名方案是一种具有较高安全性和实用性的数字签名技术,通过结合SM9算法,可以进一步提高签名方案的安全性和效率。