一种数字签名方法及系统的制作方法

文档序号:9618541阅读:709来源:国知局
一种数字签名方法及系统的制作方法
【技术领域】
[0001]本申请涉及通信领域,特别是涉及一种数字签名方法及系统。
【背景技术】
[0002]随着信息产业的快速发展,信息技术的发展不仅给人们的生活带来了极大的便利,还从根本上改变了人们的生活方式、行为方式和价值观念,同时信息技术对经济和社会发展也产生了巨大而深刻的影响。
[0003]USBKEY是一种基于网络进行安全支付的产品,能够证明当事人对交易数据的不可抵赖性,采用的是一种电子签名方式。数字签名时,用户的交易信息会在屏幕上进行显示,用户对交易信息进行确认,从而完成整个的交易过程。
[0004]在数字签名过程中,用户的交易数据需要在屏幕上进行确认,即使用户确认完交易数据后,攻击者可能发送新的交易数据给用户,用户未发现交易数据变化的情况下,按键后USBKEY执行的并非用户真正的交易,而是攻击者发送给用户的交易信息。而且在USBKEY内部完成数字签名后,会将签名结果存储在USBKEY的缓冲区中,如buffer、rom等,攻击者可以利用芯片切割或者其它方式读取芯片中的数据,获取签名的结果。造成USBKEY的安全性问题。

【发明内容】

[0005]为了解决上述问题,本申请提供一种数字签名方法及系统。
[0006]本申请提出一种数字签名方法,包括:
[0007]步骤S1:上位机与USBKEY建立安全通道;
[0008]步骤S2:数字签名程序开始,屏幕开始显示;
[0009]步骤S3:判断操作是否超时,如果超时则退出该方法,不超时则继续执行步骤S4 ;
[0010]步骤S4:上位机向USBKEY发送指令,USBKEY判断发送的指令是否是合法指令,如果是合法指令则执行步骤S5,否则退出该方法;
[0011 ] 步骤S5:USBKEY按指令进行操作。
[0012]优选的,其中的合法指令是指该指令符合预定指令类型。
[0013]优选的,所述步骤S3:判断操作是否超时,具体为:
[0014]步骤S301:启动计时器1 ;
[0015]步骤S302:判断计时器1是否超时,如果否则执行步骤S4,是则认定USBKEY签名失败,执行步骤S303 ;
[0016]步骤S303:等待下一步指令;
[0017]步骤S304:判断上位机是否发送指令,如果否则执行步骤S303,是则执行步骤S4 ;
[0018]优选的,所述步骤S4:上位机向USBKEY发送指令,具体为:
[0019]步骤S401:上位机下发指令;
[0020]步骤S402:判断判断指令是否合法,如果是则继续执行步骤S403,否则认定USBKEY签名失败;
[0021]步骤S403:对指令类型进行判断,如果为获取时间指令,则执行步骤S501,如果为执行签名指令,则执行步骤S601,如果为获取结果指令,则执行步骤S701。
[0022]更优选的,所述步骤S5:USBKEY按指令进行操作,具体为:
[0023]如果所述指令为获取时间指令,则执行如下步骤:
[0024]步骤S501:执行获取剩余时间指令,返回按键时间;
[0025]步骤S502:上位机判断是否还有剩余按键时间,如果是则执行步骤S503,否则认定USBKEY签名失败;
[0026]步骤S503:等待用户按键;
[0027]步骤S504:判断用户是否按键,如果是则执行步骤S505,否则执行步骤S3 ;
[0028]步骤S505:等待下一步指令;
[0029]步骤S506:判断上位机是否发送指令,如果是则执行步骤S4,否则执行步骤S505。
[0030]如果所述指令为获取时间指令,则执行如下步骤:
[0031]步骤S601:对USBKEY运行状态进行判断,判断用户是否已经完成按键,如果是则执行步骤S602,否则执行步骤S605 ;
[0032]步骤S602:USBKEY执行签名指令;
[0033]步骤S603:启动计时器2 ;
[0034]步骤S604:判断计时器2是否超时,如果是则认定USBKEY签名失败,否则执行步骤 S606 ;
[0035]步骤S605:生成错误代码;
[0036]步骤S606:等待下一步指令;
[0037]步骤S607:判断上位机是否发送指令,如果是则执行步骤S4,否则执行步骤S606。
[0038]如果所述指令为获取结果指令,则执行如下步骤:
[0039]步骤S701:对USBKEY运行状态进行判断,判断用户是否已经完成按键,如果是则执行步骤S702,否则执行步骤S706 ;
[0040]步骤S702:判断签名指令是否执行完成,如果是则执行步骤S703,否则执行步骤S706 ;
[0041 ]步骤S703:USBKEY执行获取结果指令;
[0042]步骤S704:判断USBKEY是否有错误代码,如果是则执行步骤S707,否则执行步骤S705 ;
[0043]步骤S705:向上位机返回数字签名结果状态,执行步骤S708 ;
[0044]步骤S706:生成错误代码;
[0045]步骤S707:向上位机返回错误代码;
[0046]步骤S708:USBKEY清除缓存数据。
[0047]更优选的,认定所述USBKEY签名失败后执行如下步骤:
[0048]步骤N1:进入等待状态,等待下一步指令;
[0049]步骤N2:判断上位机是否发送指令,如果是则执行步骤S4,否则执行步骤T1。
[0050]本申请还提出一种数字签名系统,包括上位机和USBKEY,所述系统包括:
[0051]上位机:用于与USBKEY建立安全通道,向USBKEY发送指令,并接受USBKEY发送的签名结果信息或错误码信息;
[0052]USBKEY:用于与上位机建立安全通道,通过安全通道接收上位机发送的指令,判断指令是否是合法指令,如果是合法指令则执行该指令并向上位机返回签名结果信息;如果是非法指令则发送错误信息。
[0053]优选的,其中的合法指令是指该指令符合预定指令类型。
[0054]优选的,所述USBKEY包括:
[0055]控制模块:用于与上位机建立安全通道,依据上位机发送指令执行相应对应的操作;
[0056]通信模块:用于向上位机返回签名结果信息或错误码信息;
[0057]显示模块:用于数字签名程序开始的时候,屏幕显示相关信息;
[0058]计时器模块:用于依据计时器判断操作是否超时;
[0059]按键输入模块:用于判断用户是否按键。
[0060]更优选的,所述控制模块包括:
[0061]判定单元:用于判断上位机所发送的指令是否合法,若合法则对指令的类型进行判断,对USBKEY运行状态进行判断;
[0062]逻辑处理单元:用于与上位机建立安全通道,并根据所述判定单元判断的指令类型分别进行相应的处理,如果为获取时间指令,则获取剩余时间,并等待用户按键,如果为执行签名指令,则执行签名操作,如果为获取结果指令,检测错误码,并检测签名结果。
[0063]优选的,所述上位机包括:
[0064]判定模块:用于依据USBKEY计时器模块返回的时间信息判断操作是否超时;
[0065]运算模块:用于与USBKEY建立安全通道;
[0066]通信模块:用于向USBKEY发送指令,并接受USBKEY发送的签名结果信息或错误码
?目息。
[0067]上述本发明提出的一种数字签名方法及系统,获得了以下技术效果:
[0068]1、本申请提出的一种数字签名方法及系统,通过在USBKEY启动屏幕显示之后,不允许接收除指定的某些指令外的其他指令,不允许执行任何其他与交易非相关的指令,保证交易数据为真正的所见即所签,和用户数据的安全,防止交易的骗签。
[006
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1