一种利用蓝牙协议进行电子签名的方法与流程
未命名
09-29
阅读:87
评论:0
1.本发明涉及电子签名技术领域,具体为一种利用蓝牙协议进行电子签名的方法。
背景技术:
2.电子签名作为一种高效、安全的签署方式得到了广泛应用,涵盖了电子商务、金融、政府机构等多个领域。
3.公开号为cn103560886b的中国专利公开了一种电子签名设备认证方法,主要通过蓝牙通讯模块与终端进行互相认证,所述电子签名在与所述终端互相认证成功后,与所述终端建立基于蓝牙通信的安全通道,使用蓝牙协议进行电子签名数据的传输,实现了基于蓝牙的电子签名数据传输,解决了电子签名设备不能满足应用需求的问题,上述问题虽然解决了电子签名的问题,但是在实际操作中还存在以下问题:
4.1.手机端进行手机盾的公私钥设置时,由于没有进行更好的密钥管理,从而导致手机端与电脑端进行签名传输时的安全性降低。
5.2.当手机端的数据与电脑端的数据进行数据传输时,没有根据传输数据的大小选择相对应的通信信道,从而导致传输过慢。
技术实现要素:
6.本发明的目的在于提供一种利用蓝牙协议进行电子签名的方法,实现手机和电脑设备在短距离范围内的安全数据传输和连接,可以在不同操作系统的手机和电脑之间进行通信和操作,具备较好的跨平台兼容性,使用户能够在电脑上使用手机的私钥进行签名操作,同时保证私钥的安全性,根据数据读取量的数值,将该数据对应至数值大于数据单次传输个数数值的通信信道中,有效的避免了由于传输数据过大而通信信道剩余容量过小的导致的额传输阻塞的问题,可以解决现有技术中的问题。
7.为实现上述目的,本发明提供如下技术方案:
8.一种利用蓝牙协议进行电子签名的方法,包括如下步骤:
9.s1:手机端设置:手机终端向协作服务器发送终端绑定请求,协作服务器生成子私钥d1和部分公钥p1,部分公钥p1传给移动终端,移动终端响应生成部分子私钥d2,计算出完整公钥p;
10.s2:电脑端设置:电脑端需要具备蓝牙模块,并在电脑上安装蓝牙程序,蓝牙程序开启后可以通过蓝牙协议与手机建立安全连接;
11.s3:连接建立:用户在电脑上打开蓝牙程序,启动电脑与手机的蓝牙连接过程,通过蓝牙协议将电脑和手机建立安全的通信通道,并将电脑和手机建立安全通信通道时,将电脑传输的数据容量与通信信道容量进行容量对应,根据数据容量确认对应的通信信道容量;
12.s4:电子签名:在电脑上需要进行签名操作时,蓝牙程序与手机建立连接发起客户端私钥签名请求并配合客户端获取服务端响应,获取到各参与方的签名值合并操作后,生
成最终的数字签名。
13.优选的,针对s1中协作服务器的子私钥d1和部分公钥p1的生成,用于:
14.先设置m
′
=z||m;z=hv(entla||ida||a||b||gx||gy||ax||ay);
15.其中,m
′
表示为客户端的私密请求的待验证消息;entla表示为ida的比特长度,为2字节;ida表示为用户标识默认值见上节;ax,ay表示为公钥坐标;a和b表示为fq中的元素,a和b定义fq上的一条椭圆曲线e,其中fq包含q个元素的有限域,e为椭圆线上的所有有理点组成的集合,gx和gy表示为椭圆曲线上的两个基点,其阶为素数。
16.优选的,针对s1中协作服务器的子私钥d1和部分公钥p1的生成,还用于:
17.客户端的待签名消息如以下公式进行计算:
18.再计算e=hv(m’);
19.其中,e表示为密码杂凑函数,作用于m的输出值,m表示为客户端的待签名消息,hv表示为消息摘要长度为v比特的密码杂凑函数,h指的是符合国家密码局标准的杂凑算法。
20.优选的,所述客户端的待签名消息的计算后,用于:
21.移动端的随机数如以下公式进行计算:
22.根据移动端用随机数发生器产生随机数为k1∈[1,n-1]时;
[0023]
移动端计算出q1=k1*g;
[0024]
其中,q1表示为有限域fq中元素的数目,fq是指包含q个元素的有限域;k1表示为移动端用随机数发生器产生随机数;g表示为椭圆曲线的一个基点,其阶为素数。
[0025]
优选的,所述移动端的随机数计算完成后,用于:
[0026]
服务器端的随机数如以下公式进行计算:
[0027]
根据服务器端产生的随机数为k2∈[1,n-1]时;
[0028]
服务器端计算出q2=k2*g;
[0029]
其中,q1表示为有限域fq中元素的数目,fq是指包含q个元素的有限域;k1表示为移动端用随机数发生器产生随机数;g表示为椭圆曲线的一个基点,其阶为素数;
[0030]
根据服务器产生的随机数为k3∈[1,n-1]时;
[0031]
服务器端计算出(x1,y1)=k3*q1+q2,以及r=(x1+e)modn;
[0032]
其中,x1,y1表示为大于或等于x1且小于或等于y1的整数的集合;modn表示为模n运算,n为基点g的阶,g为椭圆曲线的一个基点,其阶为素数;r表示为随机数k、基点g、明文的散列值e进行计算得到的结果。
[0033]
优选的,所述服务器端的随机数计算完成后,用于:
[0034]
若r不等于0,则计算s2=d1*k3 modn以及s3=d1*(r+k2)modn,将s2、s3、r返回给移动端。若r等于0,则再次进行服务器产生的随机数为k3∈[1,n-1]的计算;
[0035]
移动端计算s=((d2*k1)*s2+d2*s3-r)mod n,若s不等于0且不等于n-r,则将(r,s)作为完整签名输出,否则再次进行移动端用随机数发生器产生随机数为k1∈[1,n-1]的计算;
[0036]
其中,r表示为随机数k、基点g、明文的散列值e进行计算得到的结果;s表示为使用r、随机数k和私钥d进行计算得到的结果,并且,r和s的位宽分别为256位;s、r、d后面带的数字为序号;d表示为算法的输入数据,位宽为256位;
[0037]
并且,r和s分别为32字节,即签名值为64字节。
[0038]
优选的,针对s3中电脑传输的数据容量与通信信道容量的对应,包括:
[0039]
将电脑传输的数据进行确认,数据确认后将数据的个数进行获取;
[0040]
根据获取的数据个数将每个数据个数的读取量进行确认;
[0041]
数据读取量确认完成后将通信信道容量数据进行获取;
[0042]
通信信道容量数据获取完成后对每个通信信道进行扫描,获取每个通信信道的信道参数;
[0043]
其中,信道参数包括通信信道饱和度和当前通信信道剩余容量。
[0044]
优选的,所述针对s3中电脑传输的数据容量与通信信道容量的对应,还包括:
[0045]
根据通信信号饱和度和当前通信信道剩余容量,确定单次进行数据传输的每个信道对应的数据单次传输个数;
[0046]
将数据读取量与通信信道中的数据单次传输个数进行对应;
[0047]
根据数据读取量的数值,将该数据对应至数值大于数据单次传输个数数值的通信信道中。
[0048]
优选的,s4中,在电脑上需要进行签名操作时,蓝牙程序与手机建立连接发起客户端私钥签名请求并配合客户端获取服务端响应,包括:
[0049]
在电脑上需要进行签名操作时,蓝牙模块向手机发送建立连接的请求;
[0050]
所述手机在接收到所述蓝牙模块发送的连接请求后,设置客户端私钥签名请求发送的允许时间段;其中,所述允许时间段通过如下公式获取:
[0051][0052]
其中,tr表示允许时间段;t0表示蓝牙模块向手机发送客户端私钥签名请求的理论数据送达时长;ty表示蓝牙模块向手机发送客户端私钥签名请求的理论延时时长;n表示历史记录中蓝牙模块成功向所述手机发送客户端私钥签名请求的总次数;tr i表示第i次蓝牙模块向手机发送客户端私钥签名请求时对应的允许时间段;t i表示第i次蓝牙模块成功向所述手机发送客户端私钥签名请求时对应的数据送达时长;
[0053]
所述手机将所述允许时间段反馈至蓝牙模块,并与所述蓝牙模块建立连接;
[0054]
所述蓝牙模块在接收到所述允许时间段后,在所述允许时间段内向所述手机发送客户端私钥签名请求;
[0055]
当所述手机在所述允许时间段结束时刻仍然没有接收到所述蓝牙模块发送的客户端私钥签名请求,则在所述允许时间段结束时刻断开与蓝牙模块的通信连接;
[0056]
通过客户端私钥签名请求的发送实际情况判断蓝牙模块的安全性指标参数,通过安全性指标参数对与所述蓝牙模块对应的允许时间段进行调整。
[0057]
优选的,通过客户端私钥签名请求的发送实际情况判断蓝牙模块的安全性指标参数,通过安全性指标参数对与所述蓝牙模块对应的允许时间段进行调整,包括:
[0058]
通过客户端私钥签名请求的发送实际情况判断蓝牙模块的安全性指标参数,其中,所述安全性指标参数通过如下公式获取:
[0059]
[0060]
其中,s表示安全性指标参数;m表示蓝牙模块向手机发送连接请求的总次数;t
ci
表示第i次蓝牙模块与手机的客户端私钥签名请求发送不成功情况下,再次发起连接请求时,与上一次蓝牙模块与手机的客户端私钥签名请求发送不成功时的允许时间段结束时刻之间的时间间隔;k表示蓝牙模块与手机的客户端私钥签名请求发送不成功的次数中,蓝牙模块在预设的时间阈值内再次发送连接请求的次数,并且,所述时间阈值的取值范围为1.5s-3.5s;
[0061]
当所述安全指标参数低于预设的参数阈值时,则利用所述安全指标参数对所述允许时间段进行调整,其中,调整后的允许时间段通过如下公式获取:
[0062][0063]
其中,t
rt
表示调整后的允许时间段;s0表示预设的参数阈值;t表示蓝牙模块与手机的客户端私钥签名请求发送不成功的次数中,蓝牙模块没有在预设的时间阈值内再次发送连接请求的次数。
[0064]
与现有技术相比,本发明的有益效果如下:
[0065]
1.本发明提供的利用蓝牙协议进行电子签名的方法,实现手机和电脑设备在短距离范围内的安全数据传输和连接,可以在不同操作系统的手机和电脑之间进行通信和操作,具备较好的跨平台兼容性,使用户能够在电脑上使用手机的私钥进行签名操作,同时保证私钥的安全性。
[0066]
2.本发明提供的利用蓝牙协议进行电子签名的方法,根据数据读取量的数值,将该数据对应至数值大于数据单次传输个数数值的通信信道中,有效的避免了由于传输数据过大而通信信道剩余容量过小的导致的额传输阻塞的问题。
附图说明
[0067]
图1为本发明的整体操作流程示意图;
[0068]
图2为本发明的手机盾公私钥申请示意图;
[0069]
图3为本发明的手机盾协作签名流程示意图。
具体实施方式
[0070]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0071]
为了解决现有技术中,当手机端进行手机盾的公私钥设置时,由于没有进行更好的密钥管理,从而导致手机端与电脑端进行签名传输时的安全性降低的问题,请参阅图1-图3,本实施例提供以下技术方案:
[0072]
一种利用蓝牙协议进行电子签名的方法,包括如下步骤:
[0073]
s1:手机端设置:手机终端向协作服务器发送终端绑定请求,协作服务器生成子私钥d1和部分公钥p1,部分公钥p1传给移动终端,移动终端响应生成部分子私钥d2,计算出完
整公钥p;
[0074]
s2:电脑端设置:电脑端需要具备蓝牙模块,并在电脑上安装蓝牙程序,蓝牙程序开启后可以通过蓝牙协议与手机建立安全连接;
[0075]
s3:连接建立:用户在电脑上打开蓝牙程序,启动电脑与手机的蓝牙连接过程,通过蓝牙协议将电脑和手机建立安全的通信通道,并将电脑和手机建立安全通信通道时,将电脑传输的数据容量与通信信道容量进行容量对应,根据数据容量确认对应的通信信道容量;
[0076]
s4:电子签名:在电脑上需要进行签名操作时,蓝牙程序与手机建立连接发起客户端私钥签名请求并配合客户端获取服务端响应,获取到各参与方的签名值合并操作后,生成最终的数字签名。
[0077]
具体的,先通过手机端将用户的绑定请求的信息通过信号传输至协作服务器,请求绑定后先通过公式将客户端的私密请求的待验证消息进行计算,根据该计算方式可以进一步的保证数据的完整性,再将客户端的待签名消息进行计算,通过该计算可以在保证数据完整性的情况下加强了数据计算的稳定性,将移动端的数据进行计算,另一部的加强了移动端数据的安全性,将服务器中的数据进行计算,可以有效的提高公私钥数据的计算效率,通过在电脑上操作手机上的私钥分量,在电子签名时方便用户在电脑上结合业务系统进行签名操作,提供了更好的用户体验和操作便利性,同时也可以在手机锁屏的情况下进行操作,减少解锁手机的频率和步骤,提高操作效率,根据数据读取量的数值,将该数据对应至数值大于数据单次传输个数数值的通信信道中,有效的避免了由于传输数据过大而通信信道剩余容量过小的导致的额传输阻塞的问题,将传输数据的容量与通信信道的容量进行对应,进一步降低了数据在传输时资源浪费的问题。
[0078]
针对s1中协作服务器的子私钥d1和部分公钥p1的生成,用于:
[0079]
先设置m
′
=z||m;z=hv(entla||ida||a||b||gx||gy||ax||ay);
[0080]
其中,m
′
表示为客户端的私密请求的待验证消息;entla表示为ida的比特长度,为2字节;ida表示为用户标识默认值见上节;ax,ay表示为公钥坐标;a和b表示为fq中的元素,a和b定义fq上的一条椭圆曲线e,其中fq包含q个元素的有限域,e为椭圆线上的所有有理点组成的集合,gx和gy表示为椭圆曲线上的两个基点,其阶为素数。
[0081]
客户端的待签名消息如以下公式进行计算:
[0082]
再计算e=hv(m’);
[0083]
其中,e表示为密码杂凑函数,作用于m的输出值,m表示为客户端的待签名消息,hv表示为消息摘要长度为v比特的密码杂凑函数,h指的是符合国家密码局标准的杂凑算法。
[0084]
移动端的随机数如以下公式进行计算:
[0085]
根据移动端用随机数发生器产生随机数为k1∈[1,n-1]时;
[0086]
移动端计算出q1=k1*g;
[0087]
其中,q1表示为有限域fq中元素的数目,fq是指包含q个元素的有限域;k1表示为移动端用随机数发生器产生随机数;g表示为椭圆曲线的一个基点,其阶为素数。
[0088]
服务器端的随机数如以下公式进行计算:
[0089]
根据服务器端产生的随机数为k2∈[1,n-1]时;
[0090]
服务器端计算出q2=k2*g;
[0091]
其中,q1表示为有限域fq中元素的数目,fq是指包含q个元素的有限域;k1表示为移动端用随机数发生器产生随机数;g表示为椭圆曲线的一个基点,其阶为素数;
[0092]
根据服务器产生的随机数为k3∈[1,n-1]时;
[0093]
服务器端计算出(x1,y1)=k3*q1+q2,以及r=(x1+e)modn;
[0094]
其中,x1,y1表示为大于或等于x1且小于或等于y1的整数的集合;modn表示为模n运算,n为基点g的阶,g为椭圆曲线的一个基点,其阶为素数;r表示为随机数k、基点g、明文的散列值e进行计算得到的结果。
[0095]
若r不等于0,则计算s2=d1*k3 modn以及s3=d1*(r+k2)modn,将s2、s3、r返回给移动端。若r等于0,则再次进行服务器产生的随机数为k3∈[1,n-1]的计算;
[0096]
移动端计算s=((d2*k1)*s2+d2*s3-r)mod n,若s不等于0且不等于n-r,则将(r,s)作为完整签名输出,否则再次进行移动端用随机数发生器产生随机数为k1∈[1,n-1]的计算;
[0097]
其中,r表示为随机数k、基点g、明文的散列值e进行计算得到的结果;s表示为使用r、随机数k和私钥d进行计算得到的结果,并且,r和s的位宽分别为256位;s、r、d后面带的数字为序号;d表示为算法的输入数据,位宽为256位;
[0098]
并且,r和s分别为32字节,即签名值为64字节。
[0099]
具体的,当需要在电脑上对手机端的私钥进行分量操作时,先通过m
′
=z||m;z=hv(entla||ida||a||b||gx||gy||ax||ay)的公式将客户端的私密请求的待验证消息进行计算,根据该计算方式可以进一步的保证数据的完整性,在通过e=hv(m’)公式将客户端的待签名消息进行计算,通过该计算可以在保证数据完整性的情况下加强了数据计算的稳定性,通过q1=k1*g将移动端的数据进行计算,另一部的加强了移动端数据的安全性,其中,移动端为手机端,通过q2=k2*g和(x1,y1)=k3*q1+q2,以及r=(x1+e)modn将服务器中的数据进行计算,可以有效的提高公私钥数据的计算效率,同时,若r不等于0,则计算s2=d1*k3 modn以及s3=d1*(r+k2)modn,将s2、s3、r返回给移动端。若r等于0,则再次进行服务器产生的随机数为k3∈[1,n-1]的计算;移动端计算s=((d2*k1)*s2+d2*s3-r)mod n,若s不等于0且不等于n-r,则将(r,s)作为完整签名输出,否则再次进行移动端用随机数发生器产生随机数为k1∈[1,n-1]的计算,进一步的加强了手机端协作签名流程的安全性,通过在电脑上操作手机上的私钥分量,在电子签名时方便用户在电脑上结合业务系统进行签名操作,提供了更好的用户体验和操作便利性,同时也可以在手机锁屏的情况下进行操作,减少解锁手机的频率和步骤,提高操作效率,手机盾以sdk形式运行在手机的移动终端设备上,采用密钥分割技术,和服务端协同,实现各类密码算法、密钥管理与安全管理等功能。可为其他应用提供规范、统一的密码服务访问接口,并且蓝牙是一种标准的通信协议,使用蓝牙协议,实现手机和电脑设备在短距离范围内的安全数据传输和连接,可以在不同操作系统的手机和电脑之间进行通信和操作,具备较好的跨平台兼容性,使用户能够在电脑上使用手机的私钥进行签名操作,同时保证私钥的安全性。
[0100]
为了解决现有技术中,当手机端的数据与电脑端的数据进行数据传输时,没有根据传输数据的大小选择相对应的通信信道,从而导致传输过慢的问题,本实施例提供以下技术方案:
[0101]
针对s3中电脑传输的数据容量与通信信道容量的对应,包括:
[0102]
将电脑传输的数据进行确认,数据确认后将数据的个数进行获取;
[0103]
根据获取的数据个数将每个数据个数的读取量进行确认;
[0104]
数据读取量确认完成后将通信信道容量数据进行获取;
[0105]
通信信道容量数据获取完成后对每个通信信道进行扫描,获取每个通信信道的信道参数;
[0106]
其中,信道参数包括通信信道饱和度和当前通信信道剩余容量。
[0107]
根据通信信号饱和度和当前通信信道剩余容量,确定单次进行数据传输的每个信道对应的数据单次传输个数;
[0108]
将数据读取量与通信信道中的数据单次传输个数进行对应;
[0109]
根据数据读取量的数值,将该数据对应至数值大于数据单次传输个数数值的通信信道中。
[0110]
具体的,通过对传输数据个数的确认以及对每个数据个数读取量的确认,可以有效的对传输数据的大小进行获取,根据数据的大小选择对应的通信信道可以进一步的提高数据传输的效率,通过对每个通信信道的信道参数的获取,可以有效的提高传输数据在传输时的效率和稳定性,根据数据读取量的数值,将该数据对应至数值大于数据单次传输个数数值的通信信道中,有效的避免了由于传输数据过大而通信信道剩余容量过小的导致的额传输阻塞的问题,将传输数据的容量与通信信道的容量进行对应,进一步降低了数据在传输时资源浪费的问题。
[0111]
具体的,s4中,在电脑上需要进行签名操作时,蓝牙程序与手机建立连接发起客户端私钥签名请求并配合客户端获取服务端响应,包括:
[0112]
在电脑上需要进行签名操作时,蓝牙模块向手机发送建立连接的请求;
[0113]
所述手机在接收到所述蓝牙模块发送的连接请求后,设置客户端私钥签名请求发送的允许时间段;其中,所述允许时间段通过如下公式获取:
[0114][0115]
其中,tr表示允许时间段;t0表示蓝牙模块向手机发送客户端私钥签名请求的理论数据送达时长;ty表示蓝牙模块向手机发送客户端私钥签名请求的理论延时时长;n表示历史记录中蓝牙模块成功向所述手机发送客户端私钥签名请求的总次数;tr i表示第i次蓝牙模块向手机发送客户端私钥签名请求时对应的允许时间段;t i表示第i次蓝牙模块成功向所述手机发送客户端私钥签名请求时对应的数据送达时长;
[0116]
所述手机将所述允许时间段反馈至蓝牙模块,并与所述蓝牙模块建立连接;
[0117]
所述蓝牙模块在接收到所述允许时间段后,在所述允许时间段内向所述手机发送客户端私钥签名请求;
[0118]
当所述手机在所述允许时间段结束时刻仍然没有接收到所述蓝牙模块发送的客户端私钥签名请求,则在所述允许时间段结束时刻断开与蓝牙模块的通信连接;
[0119]
通过客户端私钥签名请求的发送实际情况判断蓝牙模块的安全性指标参数,通过安全性指标参数对与所述蓝牙模块对应的允许时间段进行调整。
[0120]
上述技术方案的技术效果为:安全的签名操作:通过使用蓝牙连接,该方案确保了签名操作的安全性。只有在确定的时间段内,蓝牙模块才能发送签名请求,这限制了可能的
攻击窗口。
[0121]
动态允许时间段:方案中的公式计算出动态的允许时间段,根据历史记录和实际情况来调整。这使得签名操作的允许时间段能够适应不同的情况和环境。
[0122]
客户端私钥签名请求的控制:通过允许时间段的设定,手机能够控制何时接受蓝牙模块发送的客户端私钥签名请求。这有助于防止未经授权的签名请求。
[0123]
动态调整安全性指标参数:方案中通过对蓝牙模块安全性指标参数的实际情况判断,来动态地调整允许时间段。这使得系统能够根据实际的安全状况进行适应性调整。
[0124]
通信连接管理:手机在允许时间段内与蓝牙模块建立连接,并在允许时间段结束时刻断开连接。这种管理方式有助于降低安全风险。
[0125]
提高签名操作安全性:通过时间段控制和动态调整,系统能够提高签名操作的安全性,减少了恶意攻击和未授权访问的可能性。
[0126]
总的来说,本实施例的上述技术方案旨在利用蓝牙模块和手机之间的通信来实现安全的签名操作。通过动态调整允许时间段和安全性指标参数,能够适应不同情况下的安全需求,提高签名操作的可信度和安全性。
[0127]
具体的,通过客户端私钥签名请求的发送实际情况判断蓝牙模块的安全性指标参数,通过安全性指标参数对与所述蓝牙模块对应的允许时间段进行调整,包括:
[0128]
通过客户端私钥签名请求的发送实际情况判断蓝牙模块的安全性指标参数,其中,所述安全性指标参数通过如下公式获取:
[0129][0130]
其中,s表示安全性指标参数;m表示蓝牙模块向手机发送连接请求的总次数;t
ci
表示第i次蓝牙模块与手机的客户端私钥签名请求发送不成功情况下,再次发起连接请求时,与上一次蓝牙模块与手机的客户端私钥签名请求发送不成功时的允许时间段结束时刻之间的时间间隔;k表示蓝牙模块与手机的客户端私钥签名请求发送不成功的次数中,蓝牙模块在预设的时间阈值内再次发送连接请求的次数,并且,所述时间阈值的取值范围为1.5s-3.5s;
[0131]
当所述安全指标参数低于预设的参数阈值时,则利用所述安全指标参数对所述允许时间段进行调整,其中,调整后的允许时间段通过如下公式获取:
[0132][0133]
其中,t
rt
表示调整后的允许时间段;s0表示预设的参数阈值;t表示蓝牙模块与手机的客户端私钥签名请求发送不成功的次数中,蓝牙模块没有在预设的时间阈值内再次发送连接请求的次数。
[0134]
上述技术方案的技术效果为:动态安全性评估:方案通过实际情况判断蓝牙模块的安全性指标参数,从而能够动态地评估蓝牙模块的安全性水平。这使得系统能够根据不同情况作出调整。
[0135]
安全性参数调整:通过安全性指标参数,方案可以根据实际情况调整与蓝牙模块对应的允许时间段。这有助于提高系统的灵活性和安全性。
[0136]
动态允许时间段调整:方案通过安全性指标参数的调整,进而调整允许时间段。这使得系统能够根据不同的情况自适应地调整时间段,以保持安全性。
[0137]
预设参数阈值:方案中预设了一个参数阈值,用于判断安全性指标参数的低高。这提供了一个基准来决定是否需要调整允许时间段。
[0138]
动态时间间隔计算:方案中通过公式计算时间间隔,考虑了连接请求失败的情况。这使得调整允许时间段更具有针对性。
[0139]
调整后的允许时间段:方案根据实际情况和参数计算得出调整后的允许时间段,使得时间段更加符合实际需求。
[0140]
总的来说,本实施例上述技术方案旨在根据蓝牙模块的实际表现来判断其安全性,并根据安全性指标参数调整允许时间段。通过动态的安全性评估和时间段调整,可以提高蓝牙通信的安全性和可靠性。
[0141]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0142]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
技术特征:
1.一种利用蓝牙协议进行电子签名的方法,其特征在于,包括如下步骤:s1:手机端设置:手机终端向协作服务器发送终端绑定请求,协作服务器生成子私钥d1和部分公钥p1,部分公钥p1传给移动终端,移动终端响应生成部分子私钥d2,计算出完整公钥p;s2:电脑端设置:电脑端需要具备蓝牙模块,并在电脑上安装蓝牙程序,蓝牙程序开启后可以通过蓝牙协议与手机建立安全连接;s3:连接建立:用户在电脑上打开蓝牙程序,启动电脑与手机的蓝牙连接过程,通过蓝牙协议将电脑和手机建立安全的通信通道,并将电脑和手机建立安全通信通道时,将电脑传输的数据容量与通信信道容量进行容量对应,根据数据容量确认对应的通信信道容量;s4:电子签名:在电脑上需要进行签名操作时,蓝牙程序与手机建立连接发起客户端私钥签名请求并配合客户端获取服务端响应,获取到各参与方的签名值合并操作后,生成最终的数字签名。2.根据权利要求1所述的一种利用蓝牙协议进行电子签名的方法,其特征在于:针对s1中协作服务器的子私钥d1和部分公钥p1的生成,用于:先设置m
′
=z||m;z=hv(entla||ida||a||b||gx||gy||ax||ay);其中,m
′
表示为客户端的私密请求的待验证消息;entla表示为ida的比特长度,为2字节;ida表示为用户标识默认值见上节;ax,ay表示为公钥坐标;a和b表示为fq中的元素,a和b定义fq上的一条椭圆曲线e,其中fq包含q个元素的有限域,e为椭圆线上的所有有理点组成的集合,gx和gy表示为椭圆曲线上的两个基点,其阶为素数。3.根据权利要求2所述的一种利用蓝牙协议进行电子签名的方法,其特征在于:针对s1中协作服务器的子私钥d1和部分公钥p1的生成,还用于:客户端的待签名消息如以下公式进行计算:再计算e=hv(m’);其中,e表示为密码杂凑函数,作用于m的输出值,m表示为客户端的待签名消息,hv表示为消息摘要长度为v比特的密码杂凑函数,h指的是符合国家密码局标准的杂凑算法。4.根据权利要求3所述的一种利用蓝牙协议进行电子签名的方法,其特征在于:所述客户端的待签名消息的计算后,用于:移动端的随机数如以下公式进行计算:根据移动端用随机数发生器产生随机数为k1∈[1,n-1]时;移动端计算出q1=k1*g;其中,q1表示为有限域fq中元素的数目,fq是指包含q个元素的有限域;k1表示为移动端用随机数发生器产生随机数;g表示为椭圆曲线的一个基点,其阶为素数。5.根据权利要求4所述的一种利用蓝牙协议进行电子签名的方法,其特征在于:所述移动端的随机数计算完成后,用于:服务器端的随机数如以下公式进行计算:根据服务器端产生的随机数为k2∈[1,n-1]时;服务器端计算出q2=k2*g;其中,q1表示为有限域fq中元素的数目,fq是指包含q个元素的有限域;k1表示为移动端用随机数发生器产生随机数;g表示为椭圆曲线的一个基点,其阶为素数;
根据服务器产生的随机数为k3∈[1,n-1]时;服务器端计算出(x1,y1)=k3*q1+q2,以及r=(x1+e)modn;其中,x1,y1表示为大于或等于x1且小于或等于y1的整数的集合;modn表示为模n运算,n为基点g的阶,g为椭圆曲线的一个基点,其阶为素数;r表示为随机数k、基点g、明文的散列值e进行计算得到的结果。6.根据权利要求5所述的一种利用蓝牙协议进行电子签名的方法,其特征在于:所述服务器端的随机数计算完成后,用于:若r不等于0,则计算s2=d1*k3 modn以及s3=d1*(r+k2)modn,将s2、s3、r返回给移动端。若r等于0,则再次进行服务器产生的随机数为k3∈[1,n-1]的计算;移动端计算s=((d2*k1)*s2+d2*s3-r)mod n,若s不等于0且不等于n-r,则将(r,s)作为完整签名输出,否则再次进行移动端用随机数发生器产生随机数为k1∈[1,n-1]的计算;其中,r表示为随机数k、基点g、明文的散列值e进行计算得到的结果;s表示为使用r、随机数k和私钥d进行计算得到的结果,并且,r和s的位宽分别为256位;s、r、d后面带的数字为序号;d表示为算法的输入数据,位宽为256位;并且,r和s分别为32字节,即签名值为64字节。7.根据权利要求1所述的一种利用蓝牙协议进行电子签名的方法,其特征在于:针对s3中电脑传输的数据容量与通信信道容量的对应,包括:将电脑传输的数据进行确认,数据确认后将数据的个数进行获取;根据获取的数据个数将每个数据个数的读取量进行确认;数据读取量确认完成后将通信信道容量数据进行获取;通信信道容量数据获取完成后对每个通信信道进行扫描,获取每个通信信道的信道参数;其中,信道参数包括通信信道饱和度和当前通信信道剩余容量。8.根据权利要求7所述的一种利用蓝牙协议进行电子签名的方法,其特征在于:针对s3中电脑传输的数据容量与通信信道容量的对应,还包括:根据通信信号饱和度和当前通信信道剩余容量,确定单次进行数据传输的每个信道对应的数据单次传输个数;将数据读取量与通信信道中的数据单次传输个数进行对应;根据数据读取量的数值,将该数据对应至数值大于数据单次传输个数数值的通信信道中。9.根据权利要求7所述的一种利用蓝牙协议进行电子签名的方法,其特征在于:s4中,在电脑上需要进行签名操作时,蓝牙程序与手机建立连接发起客户端私钥签名请求并配合客户端获取服务端响应,包括:在电脑上需要进行签名操作时,蓝牙模块向手机发送建立连接的请求;所述手机在接收到所述蓝牙模块发送的连接请求后,设置客户端私钥签名请求发送的允许时间段;其中,所述允许时间段通过如下公式获取:其中,tr表示允许时间段;t0表示蓝牙模块向手机发送客户端私钥签名请求的理论数据
送达时长;t
y
表示蓝牙模块向手机发送客户端私钥签名请求的理论延时时长;n表示历史记录中蓝牙模块成功向所述手机发送客户端私钥签名请求的总次数;tri表示第i次蓝牙模块向手机发送客户端私钥签名请求时对应的允许时间段;ti表示第i次蓝牙模块成功向所述手机发送客户端私钥签名请求时对应的数据送达时长;所述手机将所述允许时间段反馈至蓝牙模块,并与所述蓝牙模块建立连接;所述蓝牙模块在接收到所述允许时间段后,在所述允许时间段内向所述手机发送客户端私钥签名请求;当所述手机在所述允许时间段结束时刻仍然没有接收到所述蓝牙模块发送的客户端私钥签名请求,则在所述允许时间段结束时刻断开与蓝牙模块的通信连接;通过客户端私钥签名请求的发送实际情况判断蓝牙模块的安全性指标参数,通过安全性指标参数对与所述蓝牙模块对应的允许时间段进行调整。10.根据权利要求7所述的一种利用蓝牙协议进行电子签名的方法,其特征在于:通过客户端私钥签名请求的发送实际情况判断蓝牙模块的安全性指标参数,通过安全性指标参数对与所述蓝牙模块对应的允许时间段进行调整,包括:通过客户端私钥签名请求的发送实际情况判断蓝牙模块的安全性指标参数,其中,所述安全性指标参数通过如下公式获取:其中,s表示安全性指标参数;m表示蓝牙模块向手机发送连接请求的总次数;t
ci
表示第i次蓝牙模块与手机的客户端私钥签名请求发送不成功情况下,再次发起连接请求时,与上一次蓝牙模块与手机的客户端私钥签名请求发送不成功时的允许时间段结束时刻之间的时间间隔;k表示蓝牙模块与手机的客户端私钥签名请求发送不成功的次数中,蓝牙模块在预设的时间阈值内再次发送连接请求的次数,并且,所述时间阈值的取值范围为1.5s-3.5s;当所述安全指标参数低于预设的参数阈值时,则利用所述安全指标参数对所述允许时间段进行调整,其中,调整后的允许时间段通过如下公式获取:其中,t
rt
表示调整后的允许时间段;s0表示预设的参数阈值;t表示蓝牙模块与手机的客户端私钥签名请求发送不成功的次数中,蓝牙模块没有在预设的时间阈值内再次发送连接请求的次数。
技术总结
本发明公开了一种利用蓝牙协议进行电子签名的方法,涉及电子签名技术领域,为了解决手机端和电脑端电子签名兼容性差的问题。本发明实现手机和电脑设备在短距离范围内的安全数据传输和连接,可以在不同操作系统的手机和电脑之间进行通信和操作,具备较好的跨平台兼容性,使用户能够在电脑上使用手机的私钥进行签名操作,同时保证私钥的安全性,根据数据读取量的数值,将该数据对应至数值大于数据单次传输个数数值的通信信道中,有效的避免了由于传输数据过大而通信信道剩余容量过小的导致的额传输阻塞的问题。的额传输阻塞的问题。的额传输阻塞的问题。
技术研发人员:王秀清 张利强 李彦伟 万象 卢利凯 王玥
受保护的技术使用者:河南省信息化集团有限公司
技术研发日:2023.08.14
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/