一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于国密算法的云端协同签名系统及方法

2022-09-04 05:05:38 来源:中国专利 TAG:


1.本发明涉及一种基于国密算法的云端协同签名系统及方法,尤其是将密钥分片技术和协同签名技术以及基于pin码的身份验证技术结合的系统及方法。


背景技术:

2.当前应用于移动智能终端的大部分密钥管理技术都存在着安全性不够的问题。同时,在《基于国密算法分片密钥技术的政务移动安全接入研究》(焦迪.基于国密算法分片密钥技术的政务移动安全接入研究[j].网络安全技术与应用,2020(09):28-30.)一文中作者焦迪将sm9算法引入电子政务中进行讨论,利用sm9现成的密钥分片算法一定程度上可以增加数字签名的安全行。与本发明相比使用现成的sm9密钥分片算法不够灵活,难以应对复杂多变的场景,本发明使用sm2公钥算法为基础设计协同签名模块,预留了改进空间。此外在文章中作者并未给出切实可行的具体实现方法。
[0003]
在《基于组合密钥的智能电网多源数据安全保护》(高建,陈文彬,庞建民,于华东,宋国瑞.基于组合密钥的智能电网多源数据安全保护[j].电信科学,2020,36(01):134-138.)一文中作者高建等人提出了把一个密钥分成若干个互不相同的子密钥片的方案(下文简称方案b),然后把这些密钥分片组合生成新的密钥,分配到系统中的不同终端上。方案b中的密钥计算方式仅为矩阵相乘,与本发明中的椭圆曲线算法相比安全性较差,此外,由于方案b中密钥分片过多也带来了管理困难、分发复杂、效率低下等问题。


技术实现要素:

[0004]
本发明技术解决问题:克服现有技术的不足,提供一种基于国密算法的云端协同签名系统及方法,满足移动办公、即时通信和网络视频会议等应用中对于身份验证、数字签名与完整性保护等密码应用的需求,以及在保证安全性和效率的前提下,在移动智能终端上实现数据签名和通用密码服务功能,保障移动智能终端用户私钥安全。
[0005]
本发明技术方案是:一种基于国密算法的云端协同签名系统,包括云端、移动智能终端和服务器密码设备;
[0006]
所述云端负责响应移动智能终端的密钥分片、协同签名请求,提供云端公和私钥分片生成功能;在密钥分片过程中向移动智能终端发送云端产生的公钥分片,同时接收移动智能终端发送的公钥分片,与移动智能终端交互完成密钥的分片;在协同签名过程中发送和接收移动智能终端发送的协同签名的各种中间值,与移动智能终端交互完成协同签名,接收到用户的id、pin码及公钥分片后,将向服务器密码设备发出储存申请将用户的id、pin码及公钥分片储存至服务器密码设备中,在云端需要用户口令、密钥数据时临时向服务器密码设备进行申请;
[0007]
所述移动智能终端,提供分片密钥生成、更新和存储功能;在密钥分片过程中向云端发送移动智能终端产生的公钥分片,同时接收云端发送的公钥分片,与云端交互完成密钥的分片;在协同签名过程中发送和接收云端发送的协同签名的各种中间值,与云端交互
完成协同签名,在协同签名过程中通过调用gmssl使用了拥有我国自主知识产权的sm2椭圆曲线公钥密码算法,其中gmssl是一个开源的密码工具箱,支持sm2/sm3/sm4/sm9/zuc等国密(国家商用密码)算法。
[0008]
所述服务器密码设备提供分片密钥更新和存储功能,储存用户的pin码及公钥分片,对用户的pin码、私钥分片进行加密,增强云端的抗攻击能力,在云端需要用户口令、密钥数据时相应云端的请求,提供给云端其所需的用户pin码及公钥分片;
[0009]
本模块设计依托于拥有我国自主知识产权的sm2椭圆曲线公钥密码算法,sm2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括sm2-1椭圆曲线数字签名算法,sm2-2椭圆曲线密钥交换协议,sm2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。并且在底层调用gmssl库函数,实现一系列的运算操作。其中gmssl是一个开源的密码工具箱,支持sm2/sm3/sm4/sm9/zuc等国密(国家商用密码)算法。
[0010]
所述云端包括:云端sm2协同签名模块、云端验签模块、云端sm3杂凑模块、云端sm4加解密模块、云端密钥管理模块、云端通信模块和云端gmssl库函数;
[0011]
云端密钥管理模块:通过密钥安全管理技术对云端sm2协同签名模块产生的密钥进行更新和存储,云端密钥管理模块通过想服务器密码设备申请,对sm2协同签名模块使用密钥、口令数据进行管理;
[0012]
云端sm2协同签名模块:协同签名功能的实现由移动智能终端sm2协同签名模块和云端sm2协同签名模块两个模块协同完成,在协同签名之前云端对移动智能终端用户通过验证pin码进行身份验证,验证通过后云端与移动智能终端方能通过数据交互来进行密钥分片、协同签名一系列数据交互过程;云端和移动智能终端的sm2协同签名模块使用的公钥和私钥各自均由多个部分组成,即移动智能终端公钥分片、移动智能终端私钥分片、云端公钥分片和云端私钥分片,此外根据移动智能终端公钥分片、云端公钥分片可计算出联合公钥;云端sm2协同签名模块使用sm2公钥密码的协同签名技术、分片密钥技术实现云端与移动智能终端的协同签名;云端公钥分片、云端私钥分片由云端的sm2协同签名模块和移动智能终端的sm2协同签名模块交互产生,生成后将云端公钥分片、云端私钥分片、从移动智能终端获得的移动智能终端公钥分片、联合公钥通过云端的密码管理模块存至服务器密码设备;在密钥分片完成后即进行协同签名,云端sm2协同签名模块与移动智能终端sm2协同签名模块之间将发生四次报文的中间计算数据的交互,完成协同签名;当云端sm2协同签名模块需要使用密钥和口令数据时,通过云端的密钥管理模块向服务器密码设备进行申请;整个协同签名的计算过程仅使用四个报文完成整个过程,简化了协同签名流程,提高了协同签名效率,网络资源、硬件资源消耗较低,也具备很好的安全性;
[0013]
云端验签模块:为云端协同签名的子模块,通过基于sm2公钥密码的验签技术对自己或他人产生的签名进行验证,实现身份鉴别的功能;此模块无需与移动智能终端进行通信即完成验签功能;
[0014]
云端sm3杂凑模块:实现杂凑功能,提供一种对数据进行杂凑的功能,作为对其他模块功能的一个补充;
[0015]
云端通信模块实现移动智能终端和云端之间的数据交互;移动智能终端与云端进行数据交互前,云端会先验证移动智能终端使用者的身份,身份的识别是通过对移动智能终端用户发送过来的id和pin码进行验证,在云端接收到移动智能终端用户发来的id和pin
码后云端会通过云端的密码管理模块向服务器密码设备申请此id对应的pin码,如果此pin码与移动智能终端用户发来的pin码相同,则验证成功;验证成功后,云端会通过云端的密码管理模块向服务器密码设备申请此id对应用户的各种密钥,与移动智能终端用户产生密钥计算数据的交互;
[0016]
云端gmssl库函数,为云端的其他模块提供方法接口;
[0017]
所述移动智能终端包括:移动智能终端sm2协同签名模块、移动智能终端验签模块、移动智能终端sm3杂凑模块、移动智能终端sm4加解密模块、移动智能终端密钥管理模块、移动智能终端通信模块和移动智能终端gmssl库函数;
[0018]
移动智能终端密钥管理模块,通过密钥安全管理技术对移动智能终端sm2协同签名模块产生的密钥、口令进行更新和存储,移动智能终端sm2协同签名模块使用密钥、口令数据时向移动智能终端密钥管理模块进行申请;移动智能终端密钥管理模块运用密钥安全管理技术,该技术使用pin码来设计实现,pin码是一种识别密码,只有输入正确的pin码才能读取移动智能终端密码管理模块中储存的各种密钥;一旦连续多次输错pin码则会对设备进行锁定;移动智能终端在加载移动智能终端公钥分片、移动智能终端私钥分片、云端公钥分片敏感信息时,同时还需要通过移动智能终端自带的基于生物特征的身份验证(例如指纹验证、面部识别等),通过验证后即从移动智能终端密码管理模块调取敏感信息;
[0019]
移动智能终端sm2协同签名模块:移动智能终端sm2协同签名模块使用sm2公钥密码的协同签名技术、分片密钥技术实现云端与移动智能终端的协同签名;移动智能终端公钥分片、移动智能终端私钥分片、联合公钥由移动智能终端的sm2协同签名模块和云端的sm2协同签名模块交互产生,生成后将移动智能终端公钥分片、移动智能终端私钥分片、从云端获得的移动智能终端公钥分片、联合公钥存至移动智能终端的密码管理模块;最后完成的协同签名在移动智能终端生成,完整签名实现数据的不可否认和操作的不可抵赖;该模块与云端sm2协同签名模块共同作用,其他部分可见云端sm2协同签名模块所述内容;
[0020]
移动智能终端验签模块:移动智能终端验签模块是移动智能终端协同签名的子模块通过基于sm2公钥密码的验签技术对自己或他人产生的签名进行验证,实现身份鉴别的功能;此模块无需与云端进行通信即完成验签功能;
[0021]
移动智能终端sm3杂凑模块:移动智能终端sm3杂凑模块实现杂凑功能,提供一种对数据进行杂凑的功能,作为对其他模块功能的一个补充;
[0022]
移动智能终端通信模块实现移动智能终端和云端之间的数据交互;移动智能终端与云端进行数据交互前,云端会先验证移动智能终端使用者的身份,身份的识别是通过对移动智能终端用户发送过来的id和pin码进行验证,在云端接收到移动智能终端用户发来的id和pin码后云端会通过云端的密码管理模块向服务器密码设备申请此id对应的pin码,如果此pin码与移动智能终端用户发来的pin码相同,则验证成功;验证成功后,云端会通过云端的密码管理模块向服务器密码设备申请此id对应用户的各种密钥,与移动智能终端用户产生密钥计算数据的交互;
[0023]
云端gmssl库函数,为云端的其他模块提供方法接口。
[0024]
本发明的一种基于国密算法的云端协同签名系统的方法,步骤如下:
[0025]
步骤1:移动智能终端、云端交互生成各自的公、私钥分片,移动智能终端会将公、私钥存储在移动智能终端的密钥存储模块中,在云端会将公、私钥存储在服务器密码设备
中;
[0026]
步骤2:调用sm2协同签名模块,移动智能终端密码模块使用第移动智能终端密钥分片对消息进行运算后,将部分运算结果s传递给云端,云端使用云端密钥分片对签名结果变换后生成t并传回给移动智能终端,整个协同签名只使用四个报文(2个来回)就完成整个过程,最终在移动智能终端得到签名数据(r,s);
[0027]
步骤3:调用验签模块进行验签,在移动智能终端对他人联合签名进行验签,输入数据内容、未经验证的签名数据(r,s)、联合公钥、被验证人的id,无需与云端进行通信即完成验签功能。
[0028]
本发明与现有技术相比的优点在于:
[0029]
(1)本发明的核心技术即密钥分片技术和协同签名技术。密钥分片即移动智能终端密码模块和协同签名服务器提供了一种方法简单且安全的sm2协同数字签名方法和装置。即将私钥分割为两个部分:第一分片子密钥和第二分片子密钥。第一分片子密钥存放到移动智能终端,第二分片子密钥则由协同签名服务器派生生成。最后,完成的协同签名在移动智能终端生成,完整签名可以实现数据的不可否认和操作的不可抵赖。
[0030]
协同签名技术即移动智能终端密码模块使用第一分片子密钥对消息进行签名后,将部分签名结果s传递给协同签名服务器,协同签名服务器使用第二分片子密钥对签名结果变换后生成t并传回给移动智能终端。整个协同签名只使用四个报文(2个来回)就完成整个过程,简化了协同签名流程,提高了协同签名效率,网络资源、硬件资源消耗较低,也具备很好的安全性。
[0031]
同时运用密钥安全管理技术,该技术使用pin码来设计实现。pin码是一种识别密码,只有输入正确的pin码才可以读取移动智能终端私钥,一旦连续多次输错pin码则会对设备进行锁定。移动智能终端在加载私钥分片时,需要通过移动智能终端自带的身份验证(如人脸识别、指纹识别等),通过后即可从密码管理模块调取密钥分片,云端会对id和pin码进行验证,如果验证成功,云端才可以读取终端用户的各种密钥,与用户产生密钥计算数据的交互;通过在移动智能终端设置pin码并在云端验证的密钥安全管理技术,大大提高了系统的安全性,有效抵抗了离线以及在线暴力破解。
[0032]
还运用了验签技术,在移动智能终端对他人联合签名进行验签,输入数据内容、(r,s)、联合公钥,被验证人的id。无需与云端进行通信即可完成验签功能。
[0033]
(2)本发明创新性的使用云端usbkey作为安全存储pin码的设备,与联合签名模块的配合使得整个签名过程所需要的数据分开存在三个不同的设备中,对任何一方的攻击都无法获得足够的信息来伪造签名。经过测试验证,本发明与现有技术相比的有益效果是,在安全性方面优于同类方案并且在效率上不受影响,相较于市面上其他的联合签名系统,本系统优势明显。如罗永安,司亚利,刘文远设计的联合签名需要双方公私钥,更多的初始数据带来了更多的计算过程,例子中的标量乘次数明显多于本发明,由于例子中并未进行性能测试,故本发明仅从计算量的角度进行分析。此外本发明在签名过程中对数据进行预处理,进一步提高了系统的运行效率。同时可达到《gm/t 0028—2014密码模块安全技术要求》的安全二级要求,易于成果转化,具有广阔的应用前景。
附图说明
[0034]
图1是本发明的系统结构示意图;
[0035]
图2是密钥分片流程图;
[0036]
图3是协同签名流程图;
[0037]
图4是验签流程图;
[0038]
图5是本发明使用流程图。
具体实施方式
[0039]
下面结合附图和实施例对本发明进一步说明。
[0040]
如图1所示,本发明的一种基于国密算法的云端协同签名系统,包括云端、移动智能终端和服务器密码设备;
[0041]
云端,包括云端sm2协同签名模块、云端验签模块、云端sm3杂凑模块、云端sm4加解密模块、云端密钥管理模块和云端通信模块;负责响应移动智能终端协同签名请求,通过与服务器密码设备内存储的数据的交互完成协同签名,返回给移动智能终端构成完整签名所需的数据和联合公钥;
[0042]
移动智能终端,封装多种安全接口,支持多种开发语言,提供分片密钥存储和管理功能;包括移动智能终端sm2协同签名模块、移动智能终端验签模块、移动智能终端sm3杂凑模块、移动智能终端sm4加解密模块、移动智能终端密钥管理模块和移动智能终端通信模块;发出协同签名请求与云端协同完成签名;进行完成分片密钥生成、更新和存储功能;
[0043]
移动智能终端的密钥管理模块,通过密钥安全管理技术对其他模块产生的密钥、口令进行更新和存储,其他模块使用密钥、口令数据时临时向第一密钥管理模块进行申请;移动智能终端密钥管理模块运用密钥安全管理技术,该技术使用pin码来设计实现,pin码是一种识别密码,只有输入正确的pin码才读取移动智能终端的各种密钥;一旦连续多次输错pin码则会对设备进行锁定;移动智能终端在加载私钥分片时,需要通过移动智能终端自带的身份验证(如人脸识别、指纹识别等),通过后即从密码管理模块调取密钥分片,云端会对id和pin码进行验证,如果验证成功,云端才读取终端用户的各种密钥,与用户产生密钥计算数据的交互;通过在移动智能终端设置pin码并在云端验证的密钥安全管理技术,大大提高了系统的安全性,有效抵抗了离线以及在线暴力破解。通过增加身份验证的方法加强了系统的安全性;
[0044]
云端的密钥管理模块运用密钥安全管理技术,只有移动智能终端的用户通过输入正确的pin码与云端进行身份验证后,云端才读取移动智能终端的用户的各种密钥,与用户产生密钥计算数据的交互;
[0045]
云端sm2协同签名模块使用sm2公钥密码的协同签名技术、分片密钥技术实现云端的协同签名,将自身产生或获得的口令、密钥存至云端密钥管理模块;
[0046]
其中sm2协同签名模块功能的实现由移动智能终端和云端两个部分协同完成云端对移动智能终端用户通过验证pin码进行身份验证,身份验证通过后移动智能终端用第一分片子密钥对消息进行签名,将部分签名结果s传递给云端,协同签名服务器使用第二分片子密钥对签名结果变换后生成t并传回给移动智能终端;整个协同签名的计算过程仅使用四个报文(2个来回)完成整个过程,简化了协同签名流程,提高了协同签名效率,网络资源、
硬件资源消耗较低,也具备很好的安全性;
[0047]
(1)实现了一种高性能、高安全性的协同签名系统。
[0048]
(2)在云端使用的验证口令、密钥等数据均需向服务器密码设备(服务器密码设备)申请,增强了安全性。
[0049]
(3)优化了通信流程,整个协同签名流程仅使用四个报文即可完成;
[0050]
移动智能终端和云端的sm2协同签名模块将私钥分割为两个部分:第一分片子密钥和第二分片子密钥,第一分片子密钥存放到移动智能终端,第二分片子密钥则由协同签名服务器派生生成,生成后将云端私钥及移动智能终端公钥存至服务器密码设备;最后,完成的协同签名在移动智能终端生成,完整签名实现数据的不可否认和操作的不可抵赖。
[0051]
(1)提供了一种高安全性可行的公钥分片的实现方案。
[0052]
(2)提供了一种离线的密钥储存方式。
[0053]
云端验签模块通过基于sm2公钥密码的验签技术对自己或他人产生的签名进行验证,实现身份鉴别的功能;输入数据内容、未经验证的签名数据(r,s)、联合公钥,被验证人的id,无需与云端进行通信即完成验签功能;
[0054]
云端sm3杂凑模块实现杂凑功能,提供一种对数据进行杂凑的功能;
[0055]
云端sm4加解密模块使用实现对称密钥算法对数据进行加密,拓展应用场景,第一sm4加解密模块将对称密钥存在第一密钥管理模块中;
[0056]
云端通信模块和移动智能终端通信模块实现移动智能终端和云端之间的数据交流;
[0057]
同时在底层调用gmssl库函数,实现一系列的运算操作,上层封装成云端sm2协同签名模块和移动智能终端sm2协同签名模块,云端验签模块和移动智能终端验签模块,作为对外部提供的接口;
[0058]
服务器密码设备,生成唯一的数字签名,储存用户的pin码及私钥分片,并对用户的pin码、私钥分片进行加密,增强云端的抗攻击能力;在云端需要用户口令、密钥数据时需要临时向云端密钥管理模块进行申请;
[0059]
移动智能终端在加载私钥分片时,需要通过移动智能终端自带的身份验证(如人脸识别、指纹识别等),通过后即从密码管理模块调取密钥分片,云端会对id和pin码进行验证,如果验证成功,云端才读取终端用户的各种密钥,与用户产生密钥计算数据的交互;通过在移动智能终端设置pin码并在云端验证的密钥安全管理技术,大大提高了系统的安全性,有效抵抗了离线以及在线暴力破解。
[0060]
本发明的一种基于国密算法的云端协同签名方法,实现步骤如下:
[0061]
第一步,用户通过移动智能终端本地的身份验证后向云端发起请求,进行身份验证,在此期间云端与向服务器密码设备发生数据交互;
[0062]
第二步,移动智能终端与云端协同产生密钥分片,在此期间云端与向服务器密码设备发生数据交互,密钥分片实现如下:如图2所示。
[0063]
定义p为大素数,fp为有限域.选择a,b∈fp作为椭圆曲线e的参数,定义p为椭圆曲线e上的一点,并且将其作为群g的生成元.群g的阶为q,m为待签名的消息,entl为idt的长度,sm3为国产哈希算法,idt为签名用户的名字。其余未注明变量均为计算的中间变量。
[0064]
(1)给定安全参数λ,移动智能终端初始化椭圆曲线参数p,a,b,p,q。移动智能终端
随机秘密选择移动智能终端私钥分片da∈z
*
q(z
*
q为随机数集合),并计算移动智能终端公钥分片pka=da*p,后将pka传给云端;
[0065]
(2)给定安全参数λ,云端初始化椭圆曲线参数p,a,b,p,q。云端随机秘密选择云端私钥分片db∈zq
*
,计算出云端公钥分片pkb=db*p与联合公钥pk=da*db*p-p,即pk=db*pka-p,并将(pk,db,pka)储存至服务器密码设备中,将pkb传输给移动智能终端;
[0066]
(3)移动智能终端接受到云端公钥分片后即可计算出联合公钥pk,pk=da*db*p-p,即pk=da*pkb-p,存储(pk,da,pkb);
[0067]
(4)移动智能终端设置pin码,该pin码和用户id、及其私钥绑定,并存储在服务器密码设备中(pk为联合公钥,pka为移动智能终端公钥分片,pkb为云端公钥分片,da为移动智能终端私钥分片、db为云端私钥分片);
[0068]
第三步,移动智能终端与云端协同签名,在此期间云端与向服务器密码设备发生数据交互,如图3所示。
[0069]
(1)移动智能终端输入pin码,加载密钥分片;
[0070]
(2)移动智能终端和云端进行相互验证,云端通过身份验证后即可向服务器密码设备申请与用户对应的密钥分片。移动智能终端秘密选择并计算ra=ka*p,ra'=ka*pkb,并将ra与ra'的值传给云端;在云端验证是否满足ra'=ka*pkb,若满足,则计算rb=kb*pka,rb'=kb*p,并将rb,rb'发送给移动智能终端;移动智能终端收到消息后,验证是否满足rb=da*rb',若满足,则开始进行签名;
[0071]
(3)移动智能终端使用分片私钥生成部分签名s'计算r'=ra rb=(xa,ya),za=sm3(entl||idt||a||b||p||pk),r=sm3(za||m) xa mod q,计算s'=(ka r)da-1
mod q然后后将s'的值发送给云端并请求云端进行协同签名;
[0072]
(4)云端计算t=(s' kb)db-1
mod q,生成部分签名,然后将t的值发送给移动智能终端;
[0073]
(5)移动智能终端计算s=t-r,并输出协同签名;
[0074]
第四步,移动智能终端或云端进行离线的验证签名,如图4所示。
[0075]
带上标“'”的字母意思是未经验证的数据,意义与不带上标的字母相同。
[0076]
(1)检验r',s'∈zq*是否成立,若成立则进行下一步检验,反之则表示验签失败;
[0077]
(2)设za=sm3(entl||idt||a||b||p||pk),计算e'=sm3(za||m');
[0078]
(3)计算t=r' s',若t=0则表示验签失败;否则计算椭圆曲线点r'=s'
·
p t
·
q=(x1',y1'),验证r'=e' x1'mod q是否成立,验证通输出1表示验签通过,否则输出0表示验签失败。
[0079]
如图5所示,三个设备从左到右依次是分别是移动智能终端、服务器、服务器密码设备,三个设备之间通过数据的安全传输,从而完成协同签名。移动智能终端、云端产生各自的私钥分片,协同进行签名,云端将用户pin码、公私钥等敏感信息存入服务器密码设备,在需要时向服务器密码设备进行申请。
[0080]
云端:将设备联网,并设置云端端口,点击安全启动云端。将服务器密码设备插入云端所在的设备。
[0081]
移动智能终端:
[0082]
用户进入app时需要通过移动智能终端自带的身份验证(如人脸识别、指纹识别
等),用以调用自己的私钥分片等敏感数据,随后即可进入图5中移动智能终端所示的界面。
[0083]
a:在
①②
中填入云端的ip地址、端口号,在

中填入自己的id,点击

按钮连接云端。
[0084]
b:云端向移动智能终端发送连接成功的提示。
[0085]
c:点击

生成公私钥,移动智能终端经计算得到移动智能终端的私钥分片、公钥分片,云端发送移动智能终端公钥分片。
[0086]
d:云端收到移动智能终端的公钥分片后,将计算生成云端私钥分片、公钥分片、联合公钥,并将云端公钥分片发送移动智能终端。移动智能终端接收到消息后,可以计算出联合公钥,并在中显示。
[0087]
e:移动智能终端在

输入pin码点击

将设置的pin码发送至云端。
[0088]
f:在

中输入自己的pin码,在

中输入需要签名的数据,点击联合签名,将信息发送至云端。
[0089]
g:云端首先验证移动智能终端的pin码是否正确,验证通过后经过计算将必要信息传给移动智能终端。移动智能终端收到消息,经计算得出签名信息,签名信息将在
⑨⑩
中显示。
[0090]
h:将待验签的数据填入

,将签名人id填入

,将签名信息填入
⑨⑩
,将公钥填入点击验签,移动智能终端通过本地计算验签是否通过。
[0091]
云端测试环境:
[0092]
硬件环境:
[0093]
cpu:intel xeon(r)bronze 3106cpu@1.70ghz
×
16ram:16.0gb
[0094]
软件环境:系统:ubuntu 20.04.3lts 64位
[0095]
测试平台:qt creator 4.8.0based on qt 5.12.0(gcc 5.3.1)
[0096]
移动端测试环境:
[0097]
硬件环境:
[0098]
cpu:海思麒麟970处理器
[0099]
ram:6.0gb
[0100]
软件环境:系统:android 10
[0101]
测试平台:android studio 11
[0102]
测试范围:对该协同签名模块的性能进行测试。
[0103]
初始化系统参数:其中核心参数为决定圆锥曲线的参数,为了保证安全性,移动智能终端、云端的协同签名模块采用随时间变化的圆锥曲线参数。终端与服务端维持时钟同步,但由于网络延迟等不稳定因素,将对时间的误差的容忍可达上下1分钟。例如,若此时北京时间是12:04:32,则移动端与服务端的圆锥曲线参数都为1204。
[0104]
表1性能测试数据
[0105][0106]
表1中序号1为协同签名模块每秒钟可签名的次数,序号2为验签模块每秒钟可验签的次数,序号3为协同签名模块每秒钟可生成密钥分片、联合公钥的次数。
[0107]
由性能测试可以得出结论,本发明在协同签名和验签速度上相较于同类产品均有很大的进步,同时在安全性上得到有效的保证。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献