【技术实现步骤摘要】
基于SM2的安全两方协同签名方法
[0001]本专利技术属于信息安全
,具体是指一种基于SM2的安全两方协同签名方法。
技术介绍
[0002]在SM2算法中,用户私钥通常都是通过软件密码模块生成,并且私钥保存在用户本地装置上。
[0003]不管是本地加密存储还是采用硬件安全模块,均无法彻底在原理层次解决私钥安全储存的问题,都会在内存中恢复完整的私钥。在目前终端及其容易被恶意攻击的背景下,需要一套安全的算法机制从根本上解决私钥安全储存的问题。
技术实现思路
[0004]针对上述情况,为克服现有技术的缺陷,本专利技术提供了一种基于SM2的安全两方协同签名方法,针对终端数据加密中私钥如何安全储存的关键问题,防止恶意分析人员通过调试或者动态插桩的方式得到完整的私钥,可以有效防止私钥泄露导致的安全问题。
[0005]本专利技术采取的技术方案如下:本专利技术一种基于SM2的安全两方协同签名方法,包括以下步骤:
[0006]S1、对参与协同签名的第一通信方和第二通信方与服务器进行通信,通信后获 ...
【技术保护点】
【技术特征摘要】
1.基于SM2的安全两方协同签名方法,其特征在于,包括以下步骤:S1、对参与协同签名的第一通信方和第二通信方与服务器进行通信,通信后获取自身的私钥分量信息和相关的证书文件;S2、对参与协同签名的用户与服务器协同生成签名;S3、在进行数据签名时,终端需要根据通信协议要求提交中间计算结果到服务端,服务端会根据请求参数结合自身分量信息进行计算并下发服务端中间值给终端;S4、终端接收到服务端中间值,再进行本地签名合成计算,完成最终签名的生成。2.根据权利要求1所述的基于SM2的安全两方协同签名方法,其特征在于,所述步骤S1的具体步骤包括:步骤一、对系统参数初始化:定义d为大素数,Fp为有限域,选择a,b∈Fp作为椭圆曲线E的参数,定义G为椭圆曲线E上的基点,G表示椭圆曲线E上阶为n的基点,n为有限的正整数,各参数的取值依据SM2算法预先设定;步骤二、密钥分割:系统管理员在本系统提交原始的私钥key文件,系统解析私钥文件获取真实私钥d,采用分割算法进行私钥分割。3.根据权利要求2所述的基于SM2的安全两方协同签名方法,其特征在于,所述步骤二密钥分割的具体步骤为:系统通过私钥分割算法得到两个私钥分量;系统会根据私钥分量生成der格式的SM2自签名证书,其中d1分量对应的公钥信息为pk1,满足pk1=d1*G,d2分量对应的公钥信息为pk2,满足pk2=d1*G,其中*为椭圆曲线上的点乘算法,Z=H(ENTL||ID
A
||a||b||G||pk),其中,ID
A
是用户的可辩别标识,ENTL是ID
A
的长度,H为SM3算法,证书文件可以通过openssl工具解析,证书主要包含私钥对应的公钥信息需要进行...
【专利技术属性】
技术研发人员:詹茂茂,严智慧,
申请(专利权)人:深圳爱加密科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。