一种签名方法、签名设备和系统的利记博彩app

文档序号:7701615阅读:267来源:国知局
专利名称:一种签名方法、签名设备和系统的利记博彩app
技术领域
本发明涉及信息安全技术领域,尤其涉及签名设备和该签名设备对操作指 令执行的方法。
背景技术
网上银行的推广方便了人们的生活,但由于网上银行的交易需要通过网络 进行,使得网上银行交易存在安全隐患,并且不法分子针对网上银行的攻击手 段也变化多端,因此,网络银行健康发展首要解决的是安全问题。
银行作为专业金融服务机构,具备比较完善的安全管理流程;而网上银行 用户往往没有足够的意识和技术能力来保护客户端的安全;同时,互联网上各 种木马和黑客软件的泛滥,也在严重威胁客户端的安全环境。因此,网上银行 的安全问题中客户端的安全尤为重要。
为了保证用户的资金安全,银行采取了多种措施来提高用户身份认证的安 全性。目前网上银行使用最普遍的是基于智能卡的USB-KEY (智能密钥)安全数 字证书。USB-KEY结合了智能卡技术与PKI (Public Key Infrastructure ,公 开密钥体系)技术,使用内置操作系统的智能卡芯片来保护用户的私钥,可以 实现可靠的数字身份认证和数字签名。
在采用的上述USB-KEY进行网上银行交易的过程中,发明人发现现有技术 中至少存在如下问题目前常用的USB-KEY,所有I喿作都是通过计算^/L向USB-KEY 发送指令来进行。用户进行资金交易时需要输入的交易指令,包括对方账号、 转账金额等关键数据,以及交易授权时需要输入的USB-KEY密码,都是通过计 算机键盘输入,并在计算机的显示器上显示的。由于客户端计算机环境的不安全,黑客木马控制了用户的计算机后,黑客就可以在用户完全不知情的情况下
获取用户的账号和密码,如果用户的USB - KEY在连接在计算机上,由于此时的 USB-KEY是完全独立接受计算机控制的,此时黑客完全可以通过控制用户的计算 机并利用USB-KEY的密码盗取用户账户里的资金。

发明内容
本发明的实施例提供一种签名设备及其操作指令执行方法,加强网上银行 客户端的安全,使得黑客在控制计算机的情况下依然不能盗取用户账户中的资金。
为达到上述目的,本发明的实施例采用如下技术方案 一种签名设备的操作指令执行方法,包括 上位机判断待执行操作是否为关键操作;
如果待执行操作为关键操作,则所述上位机通过预定方式向签名设备指示 该操作为关键操作,并将该关键操作对应的操作指令发送给签名设备; 签名设备接收上位机发送的操作指令;
在所述上位机指示该操作指令对应的操作为关键操作时,所述签名设备等 待用户通过签名设备输入确认信号;
如果接收到用户输入的确认信号,所述签名设备执行所述操作指令。 一种签名设备,包括
接收模块,用于接收上位机发送的操作指令,以及该操作为关键操作的指
示;
输入模块,用于供用户输入确认信号;
判断模块,用于在所述上位机指示该操作指令对应的操作为关键操作时,
判断是否接收到用户通过签名设备的输入模块输入的确认信号;执行模块,用于在接收到用户输入的确认信号时执行所述操作指令。 一种签名系统,包括
上位机,用于判断待执行操作是否为关键操作;在所述待执行操作为关键 操作时,通过预定方式向签名设备指示所述待执行操作为关键操作,并将所述 关键操作对应的操作指令发送给所述签名设备;
签名设备,用于接收所述上位机发送的操作指令;在所述上位机指示所述 操作指令对应的操作为关4建操作时,等待用户通过所述签名设备输入确认信号; 并在接收到用户输入的确认信号时,执行所述操作指令。
本发明实施例提供的签名设备及其操作指令执行方法和系统,用户能够通 过签名设备输入确认信号;并且在上位机指示签名设备其接收到的操作指令对 应的操作为关键操作时,需要用户通过签名设备输入确认信号,才能执行上述 操作指令。采用该方案以后,即使黑客控制了用户的计算机,并通过控制的计 算机向签名设备发送相关的操作指令,如果该#:作指令为涉及密钥或者资金转 移等情况的操作指令,则该上位机就会指示签名设备本次操作为关键操作,这 样就需要通过签名设备输入确认信号后才能进行下 一 步的操作,否则是不能成 功完成密钥或者资金转移等操作的;由于黑客只能通过网络控制用户的计算机, 并不能在现实中通过签名设备输入确认信号,这样就保证了网上银行用户账户 和资金的安全,使得黑客在控制计算机的情况下依然不能盗取用户账户中的资 金。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施
例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述
中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中签名方法的流程图; 图2为本发明实施例2中签名方法的流程图; 图3为本发明实施例3中签名方法的流程图; 图4为本发明实施例4中签名方法的流程图; 图5为本发明实施例5中签名设备的原理图。
具体实施例方式
本发明实施例提供一种签名设备及其操作指令执行方法和系统,上位机判 断待执行操作是否为关键操作;如果待执行操作为关键操作,则上位机通过预 定方式向签名设备指示该操作为关键操作,并将该关键操作对应的操作指令发 送给签名设备;签名设备接收上位机发送的操作指令,如果该操作指令对应的 操作为关键操作,则该签名设备需要等待用户通过签名设备输入确认信号,如 果接收到用户输入的确认信号,则该签名设备才可以执行所述操作指令。
本发明实施例还提供一种签名设备,包括接收模块、输入模块、执行模 块。其中,接收模块,用于接收上位机发送的操作指令和该操作是否为关键操 作的指示;输入模块,用于供用户输入确认信号;执行模块,用于在接收到用 户输入的确认信号时执行所述操作指令。
本发明实施例还提供一种签名系统,包括上位机和签名设备,其中,上位 机用于判断待执行操作是否为关键操作;在待执行操作为关键操作时,通过预 定方式向签名设备指示该操作为关键操作,并将该关键操作对应的操作指令发 送给签名设备;而签名设备用于接收上位机发送的操作指令;在上位机指示该 操作指令对应的操作为关键操作时,等待用户通过签名设备输入确认信号;并 在接收到用户输入的确认信号时,执行所述操作指令。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本实施例提供的签名设备中内置了 SHA1 (Secure Hash Algorithm安全哈 希算法)和RSA算法。该签名设备从上位机中接收指令,接收到的指令一般为 APDU (应用协议数据单元)格式的指令,该签名设备根据指令完成各种操作。 上位机中安装有配合签名设备使用的中间件,它向上层应用程序(如IE浏览器) 提供微软定义的CryptoAPI接口。当应用程序调用接口时,中间件生成相应的 APDU指令并发给签名设备,通知设备进行操作。下面以上位机指示签名设备进 行签名操作为例,详细说明签名设备执行指令的具体过程,如图1所示,本发 明实施例提供的签名设备的操作指令执行方法包括如下步骤
101、 上位机向签名设备下发MSE指令,以指示签名设备约定所采用的签名 算法,这样才能够保证签名设备完成的签名操作是上位机能够识别的。
上位机下发的MSE(Make Security Environment创建安全环境)指令为APDU 指令序列,以该MSE指令指示签名设备采用SHA1-RSA作为签名算法,并且指示 了RSA密钥ID,则该APDU指令序列的所包含的内容依次为MSE指令标识、签 名算法为SHA1-RSA的设置标识、RSA的密钥ID,具体指令序列大致如下
00 22 41 B6 07 80 01 12 81 02 00 01…
102、 签名设备接收到MSE指令后,通过上述的密钥ID设置当前使用的RSA 密钥;
103、 签名设备向上位机返回预先约定的表示操作成功的状态码0x9000;104、 由于用户需要签名设备进行签名操作,故而用户需要通过上位机向签
名设备下发包含待签名数据的hash (哈希)指令;并且该哈希指令也可以通过 APDU指令表示,在该APDU指令中包括哈希指令的标识和待签名数据,具体的 APDU指令序列大致为:00 2a 90 80…
在CSP接口中传入待签名数据的具体函数为
CryptHashData(hHash, pbToSign,dwToSignLen, 0);
105、 签名设备接收到待签名数据后,对待签名数据进行哈希运算,具体运 算为使用上位机指定的SHA1算法对待签名数据进行运算,并将计算结果緩存
A 二/>夂nh _irr 4^队赏rj叩,
在具体实现时,需要根据调用CryptCreateHash接口时传入的Hash算法标 识符,对待签名数据进行哈希运算得到哈希值;CryptCreateHash接口为创建 hash对象接口,具体为CryptCreateHash (hProv, ALG—ID, 0, 0, &hHash) , ALG—ID 参数是hash算法标识符;
常用的hash算法标识符还包括CALG一MD5、 CALG—SHA1、 CALG_SSL3_SHAMD5 等。CALG—MD5和CALG-SHA1分别对应MD5和SHA1算法,而CALG—SSL3 —SHAMD5 对应的是对同一段数据分别用MD5和SHA1进行哈希运算,再将两段hash结果 拼接在一起;
106、 向上位才几返回才喿作成功的状态码0x 9000;此时也可以^巴p合希运算结 果返回给上位才几;
107、 上位机判断待执行的操作是否为关键操作,如果为关键操作,则执行 108;如果不是关4建操作,则直接执行109;
108、 生成关键操作对应的操作指令, 一般来讲,为了能够明确本次操作为 关键操作,可以预先在上位机和签名设备之间约定如下协议每个操作都包括一个普通操作指令和特殊操作指令,其中普通操作指令表示本次操作不是关键 操作,而特殊操作指令则表示本次操作为关键操作;也就是说本过程中生成的 关键操作对应的操作指令就是特殊操作指令。
在具体实现时,可以采用但不限于在普通操作指令中添加关键信息来表示 关键操作指令,这就是本实施例采用的方案。
在本实施例中,由于签名操作是一个涉及到密钥的关键操作,所有上位机 下发的哈希指令中包含了关键信息,本实施例中具体的关键信息可以是预先约 定的标识符,或者预先约定的特殊格式。例如,待签名数据中含有的标识符
"Amount"就是一种预先预定的标识符,表示待签名数据含有关《建信息;或者, 如果签名数据格式符合预先约定的TLV结构,则表示待签名数据含有关键信息;
109、 上位机向签名设备下发以APDU格式表示的签名指令,该上位机下发 的APDU指令序列为00 2a 9E 00 00 00;
110、 分析所述签名指令中是否含有关键信息,具体关键信息的表述见步骤 108,如果该签名指令中含有关键信息,则执行lll;否则执行116;
111、 由于签名指令中含有关键信息,故而签名设备接收到签名指令后,需 要等待用户输入确认信号,本过程中签名设备向上位机返回事先约定的标识"需 要等待按键的"状态码0x6666;同时签名设备还可以执行如下操作
第一、签名设备开始计时;
第二、通过视频播放器或音频播放器提示用户输入确认信号,或者指示上 位机视频播放器或音频播放器提示用户输入确认信号;例如签名设备可以通 过灯光、声音等方式提示用户输入确认信号,上位机也可以接收签名设备返回 的等待按键确认状态码,然后通过图像、文字、声音等方式提示用户输入确认 信号;112、 签名设备如果接收到用户输入的确认信号,则执行115;如果没有接 收到用户输入的确认信号,则执行113;
为了保证用户具有操作权限,本实施例还可以在用户输入确认信号之前由 签名设备对用户身份进行认证,具体认证方式包括但不限于PIN码验证方式、 生物特征验证方式等。只有在用户身份认证通过之后才允许用户输入确认信号;
本过程中用户可以通过但不限于如下方式输入确认信号用户通过签名设 备上按键输入的确认信号、用户通过签名设备输入的语音确认信号、或者用户 通过签名设备输入的生物特征确认信号;
113、 如果上述过程中签名设备启动了计时方案,则需要判断计时得到的时 间是否超过预定时间;如果计时得到的时间超过了预定时间,则:f又消对接收到 的操作指令的执行,签名设备结束操作,并向上位机返回事先约定的表示操作 取消的状态码0x7777;如果计时得到的时间没有超过了预定时间,则执行114;
114、 由于上位机收到状态码0x6666后,上位机可以向签名设备反复发送 获取签名结果的指令或者向签名设备发送取消签名的指令;如果接收到上位机 发送的获取签名结果的指令,则返回执行lll;如果接收到上位机发送的取消签 名的指令,则流程结束;
上述的获耳又签名结果的指令对应的APDU指令序列为80 E3 00 00 00 00; 上述的耳又消签名指令对应APDU指令序列为80 E5 00 00 00 00;
115、 签名设备根据MSE指令所指定的算法标识,在步骤105中计算得到的 哈希值前面加上X. 509规范所定义的算法标识串,再按照公钥密码学标准
(PKCS#1)进行补位;例如SHA-1算法标识串是30 20 30 Oc 06 08 2a 86 48 86 f7 Od 02 05 05 00 04 10;
对补位后的数据进行RSA运算以得到签名结果,并同时需要向上位机发送该签名结果,并返回操作成功的状态码0x9000,流程结束; 116、直接执行该操作指令。
通过上述过程,已经完成了签名设备对待签名数据的签名操作,在由于签 名操作指令中包含了关键信息,所以签名设备在接收到指令之后需要用户通过 签名设备输入确认信号才能执行该操作,以防止黑客控制用户的计算机后直接 进行签名操作,避免了黑客控制用户网上银行进行密钥或者资金转移等操作的; 由于黑客只能通过网络控制用户的计算机,并不能在现实中通过签名设备输入 确认信号,这样就保证了网上银行用户账户和资金的安全,使得黑客在控制计 算机的情况下依然不能盗取用户账户中的资金。
在图1所签名过程中,其中步骤105中进行的哈希运算可以再接收到用户 输入的确认信息之后进行。在此情况下,接收到包含待签名数据的哈希指令后, 签名设备向上位机返回4喿作成功的状态码0x9000。
本发明实施例主要针对操作指令为包含关键信息的操作指令的执行过程, 在签名设备接收到的操作指令不包含关键信息时,签名设备可以直接执行所述 操作指令。
一般来讲,包含关键信息的操作指令主要包括签名指令、生成密钥指令、 删除密钥指令、读取密钥指令(签名设备允许读取密钥的情况下)和解密指令; 或者所述对密钥进行操作的指令均可以包含关键信息。这些包含关键信息的操 作指令均需要等待接收到用户输入的确认信号之后才能执行。上位机在遇到这 些指令对应的操作时都需要在生成操作指令时自动加入关键信息。
在实际运用时,可以通过解密指令来完成签名操作,这种情况下,在本实 施例提供的签名设备在接收到解密指令后,需要等待用户输入确认信号,并在 接收到用户输入的确认信号后执行对解密指令。实施例2:
本实施例提供的签名设备中内置了 SHA1和RSA算法。该签名设备从上位机 中接收指令,接收到的指令一般为APDU (应用协议数据单元)格式的指令,该 签名设备根据指令完成各种操作。上位机中安装有配合签名设备使用的中间件, 它向上层应用程序(如IE浏览器)提供微软定义的CryptoAPI接口。当应用程 序调用接口时,中间件生成相应的APDU指令并发给签名设备,通知设备进行操 作。下面以上位机指示签名设备进行签名操作为例,详细说明签名设备执行指 令的具体过程,如图2所示,本发明实施例提供的签名设备的操作指令执行方 法包括如下步骤
201、 上位机向签名设备下发MSE指令,以指示签名设备约定所采用的签名 算法,这样才能够保证签名设备完成的签名操作是上位机能够识别的。
上位机下发的MSE指令为APDU指令序列,以该MSE指令指示签名设备采用 SHA1-RSA作为签名算法,并且指示了 RSA密钥ID,则该APDU指令序列的所包 含的内容依次为MSE指令标识、签名算法为SHA1-RSA的设置标识、RSA的密 钥ID,具体指令序列大致如下
00 22 41 B6 07 80 01 12 81 02 00 01…
202、 签名设备接收到MSE指令后,通过上述的密钥ID设置当前使用的RSA 密钥;
203、 签名设备向上位机返回预先约定的表示操作成功的状态码0x9000;
204、 由于用户需要签名设备进行签名操作,本实施例中用户将待签名数据 经过上位机进行哈希运算后得到的相应的哈希值,并将该哈希值发送给签名设 备,上位机通过APDU指令来下发数据,该APDU指令中包括哈希指令的标识和 哈希值,具体而言,上位机下发的APDU指令序列如下00 2a 90 81 14…在具体实现时,需要根据调用CryptCreateHash接口时传入的Hash算法标 识符,对待签名数据进行哈希运算得到哈希值;CryptCreateHash接口为创建 hash对象接口,具体为CryptCreateHash (hProv, ALG — ID, 0, 0, &hHash) , ALG—ID 参数是hash算法标识符;
常用的hash算法标识符还包括CALG一MD5、 CALG—SHA1、 CALG — SSL3 —SHAMD5 等。CALG-MD5和CALG—SHA1分别对应MD5和SHA1算法,而CALG-SSL3-S隨D5 对应的是对同一段数据分别用MD5和SHA1进行哈希运算,再将两段hash结果 拼接在一起;
在CSP接口中传入待签名数据的具体函数为
CryptHashData(hHash, pbToSign, dwToSignLen, 0);
205、 签名设备接收到待签名数据的哈希值后,把接收到的哈希值緩存在设 备内部;
206、 签名设备向上位机返回操作成功的状态码0x9000;
207、 上位机判断待执行的操作是否为关键操作,如果为关键操作,则执行 208;如果不是关键操作,则直接执行209;
208、 生成关键操作对应的操作指令, 一般来讲,为了能够明确本次操作为 关键操作,可以预先在上位机和签名设备之间约定如下协议每个操作都包括 一个普通操作指令和特殊操作指令,其中普通操作指令表示本次操作不是关键 操作,而特殊操作指令则表示本次操作为关键操作;也就是说本过程中生成的 关键操作对应的操作指令就是特殊操作指令。
在本实施例中,采用的是在普通操作指令中添加关键信息来表示关键操作 指令的方法,但在具体实现时,还可以采用其它的方法表示关键操作指令,如 事先约定的特殊的关4建^燥作指令。在本实施例中,由于签名操作是一个涉及到密钥的关键操作,所有上位机 下发的哈希指令中包含了关键信息,本实施例中具体的关键信息可以是预先约 定的标识符,或者预先约定的特殊格式。例如,待签名数据中含有的标识符
"Amount"就是一种预先预定的标识符,表示待签名数据含有关键信息;或者, 如果签名数据格式符合预先约定的TLV结构,则表示待签名数据含有关键信息;
209、 上位机向签名设备下发以APDU格式表示的签名指令,该上位机下发 的APDU指令序列为00 2a 9E 00 00 00;
210、 分析所述签名指令中是否含有关4建信息,具体关4建信息的表述见步骤 208,如果该签名指令中含有关键信息,则执行211;否则执行216;
211、 由于签名指令中含有关键信息,故而签名设备接收到签名指令后,需 要等待用户输入确认信号,本过程中签名设备向上位机返回事先约定的标识"需 要等待按键的"状态码如0x6666;同时签名设备还可以执行如下操作
第一、签名设备开始计时;
第二、通过视频播放器或音频播放器提示用户输入确认信号,或者指示上 位机视频播放器或音频播放器提示用户输入确认信号;例如签名设备可以通 过灯光、声音等方式提示用户输入确认信号,上位机也可以接收签名设备返回 的等待按键确认状态码,通过图像、文字、声音等方式提示用户输入确认信号;
212、 签名设备如果接收到用户输入的确认信号,则执行215;如果没有接 收到用户输入的确认信号,则执行213;
为了保证用户具有操作权限,本实施例还可以在用户输入确认信号之前由 签名设备对用户身卩分进行认证,具体认证方式包括但不限于PIN码验证方式、 生物特征验证方式等。只有在用户身份认证通过之后才允许用户输入确认信号;
本过程中用户可以通过但不限于如下方式输入确认信号用户通过签名设备上按键输入的确认信号、用户通过签名设备输入的语音确认信号、或者用户 通过签名设备输入的生物特征确认信号;
213、 如果上述过程中签名设备启动了计时方案,则需要判断计时得到的时 间是否超过预定时间;如果计时得到的时间超过了预定时间,则取消对接收到 的操作指令的执行,签名设备结束操作,并向上位机返回事先约定的表示操作 取消的状态码0x7777;如果计时得到的时间没有超过了预定时间,则执行214;
214、 由于上位机收到状态码0x6666后,上位机可以向签名设备反复发送 获取签名结果的指令或者向签名设备发送取消签名的指令;如果接收到上位机 发送的获取签名结果的指令,则返回执行211;如果接收到上位机发送的取消签 名的指令,则流程结束;
上述的获耳又签名结果的指令对应的APDU指令序列为80 E3 00 00 00 00; 上述的取消签名指令对应APDU指令序列为80 E5 00 00 00 00;
215、 签名设备根据MSE指令所指定的算法标识,在步骤204中接收到的哈 希值前面加上X. 509规范所定义的算法标识串,再按照公钥密码学标准(PKCS#1 ) 进行补位;例如SHA-1算法标识串是30 20 30 Oc 06 08 2a 86 48 86 f7 Od 02 05 05 00 04 10;
对补位后的数据进行RSA运算以得到签名结果,并同时需要向上位机发送 该签名结果,并返回操作成功的状态码Ox 9000;
216、 直接执行该操作指令。
通过上述过程,已经完成了签名设备对待签名数据的签名操作,在由于签 名操作指令中含有关键信息,所以签名设备在接收到指令之后需要用户通过签
名设备输入确认信号才能执行该操作,以防止黑客控制用户的计算机后直接进 行签名操作,避免了黑客控制用户网上银行进行密钥或者资金转移等操作的;由于黑客只能通过网络控制用户的计算机,并不能在现实中通过签名设备输入 确认信号,这样就保证了网上银行用户账户和资金的安全,使得黑客在控制计 算机的情况下依然不能盗fl用户账户中的资金。
本实施例的实现过程和实施例1类似,差别^f又在于实施例1中对待签名
数据的哈希运算由签名设备执行,而本实施例中则有上位机执行。
本发明实施例主要针对含有关键信息的操作指令的执行过程,在签名设备
接收到的操作指令不含关键信息时,签名设备可以直接执行所述操作指令。 上述包含关键信息的操作指令主要包括签名指令、生成密钥指令、删除密
钥指令、读取密钥指令(签名设备允许读取密钥的情况下)和解密指令;或者 所述对密钥进行操作的指令均可以包含关键信息。这些包含关键信息的操作指 令均需要等待接收到用户输入的确认信号之后才能执行。上位机在遇到这些指 令对应的操作时都需要在生成操作指令时自动加入关44信息。
在实际运用时,可以通过解密指令来完成签名操作,这种情况下,在本实 施例提供的签名设备在接收到解密指令后,需要等待用户输入确认信号,并在 接收到用户输入的确认信号后执行对解密指令。
对于进行签名操作而言,除了上述两种实现方式以外,还可以采用但不限 于如下两种实现方式
第一、在上位机中将待签名数据进行哈希运算,并且在运算后的哈希值前 面加上X. 509规范所定义的算法标识串,并将添加算法标识串之后的哈希值发 送个签名设备,而签名设备在收到确认信号之后并不需要添加X. 509规范所定 义的算法标识串,而是直接按照公钥密码学标准(PKCS#1 )进行补位,并对补 位后的数据进行RSA运算以得到签名结果;
第二、在上位机中一次对待签名数据进行哈希运算、添加X. 509规范所定义的算法标识串以及按照公钥密码学标准(PKCS#1)进行补位,并将补位后的 数据发送给签名设备;而签名设备只需要对补位后的数据进行RSA运算以得到 签名结果。 实施例3:
除了上述直接通过特殊操作指令来指示关键操作的方案,对于签名操作的 过程,还可以采用但不限于通过待签名数据来指示关键操作,如图3所示,下 面具体描述该方法的过程
301、 上位机向签名设备下发MSE指令,以指示签名设备约定所采用的签名 算法,这样才能够保证签名设备完成的签名操作是上位机能够识别的。
上位机下发的MSE指令为APDU指令序列,以该MSE指令指示签名设备采用 SHA1-RSA作为签名算法,并且指示了 RSA密钥ID,则该APDU指令序列的所包 含的内容依次为MSE指令标识、签名算法为SHA1-RSA的"&置标识、RSA的密 钥ID,具体指令序列大致如下
00 22 41 B6 07 80 01 12 81 02 00 01…
302、 签名设备接收到MSE指令后,通过上述的密钥ID设置当前使用的RSA 密钥;
303、 签名设备向上位机返回预先约定的表示操作成功的状态码0x9000;
304、 由于用户需要签名设备进行签名操作,本实施例中用户将待签名数据 经过上位机进行哈希运算后得到的相应的哈希值,上位机首先判断待执行的操 作是否为关键操作,如果是关键操作,则执行305;如果不是关键操作,则直接 执行306;
305、 在上位机中对待签名数据进行哈希运算、添加X. 509规范所定义的算 法标识串以及按照公钥密码学标准(PKCS#1)进行补位,其中补位过程中将关键信息(如预先约定的标识符)补位到哈希值中,并将补位后的数据发送给
签名设备,并执行307。由于该实现方式中按照公钥密码学标准进行补位的操作 在上位机中执行,所以可以将关键信息(如预先约定的标识符)补位到哈希 值中,这样就可以省略在签名指令中添加关键信息的步骤,进而简化了签名指 令,也充分利用了补位时的随^i数;
306、 在上位机中对待签名数据进行哈希运算、添加X. 509规范所定义的算 法标识串以及按照公钥密码学标准(PKCS#1)进行补位,并将补位后的数据发 送给签名设备,并执行307;
在具体实现时,需要根据调用CryptCreateHash接口时传入的Hash算法标 识符,对待签名数据进行哈希运算得到哈希值;CryptCreateHash接口为创建 hash对象接口,具体为CryptCreateHash (hProv, ALG — ID, 0, 0, &hHash) , ALG — ID 参数是hash算法标识符;
常用的hash算法标识符还包括CALG—MD5、 CALG — SHA1、 CALG—SSL3 — SHAMD5 等。CALG-MD5和CALG一SHA1分别对应MD5和SHA1算法,而CALG — SSL3 — SHAMD5 对应的是对同一段数据分别用MD5和SHA1进行哈希运算,再将两段hash结果 拼接在一起;
307、 签名设备接收到待签名数据的哈希值后,把接收到的哈希值緩存在设 备内部,并向上位才几返回4喿作成功的状态码Ox 9000;
308、 上位机生成关键操作对应的操作指令,并向签名设备下发以APDU格 式表示的签名指令,该上位才几下发的APDU指令序列为00 2a 9E 00 00 00;
309、 签名设备分析所述补位后的待签名数据中是否含有关键信息,如果补 位后的待签名数据中含有关键信息,则执行310;否则执行315;
310、 由于补位后的待签名数据中,故而签名设备接收到签名指令后,需要等待用户输入确认信号,本过程中签名设备向上位机返回事先约定的标识"需
要等待按键的"状态码如0x6666;同时签名设备还可以执行如下操作 第一、签名设备开始计时;
第二、通过视频播放器或音频播放器提示用户输入确认信号,或者指示上 位机视频播放器或音频播放器提示用户输入确认信号;例如签名设备可以通 过灯光、声音等方式提示用户输入确认信号,上位机也可以接收签名设备返回 的等待按键确认的状态码,通过图像、文字、声音等方式提示用户输入确认信
—;一
311、 签名设备如果接收到用户输入的确认信号,则执行314;如果没有接 收到用户输入的确认信号,则执行312;
为了保证用户具有操作权限,本实施例还可以在用户输入确认信号之前由 签名设备对用户身卩分进行认证,具体认证方式包括但不限于PIN码验证方式、 生物特征验证方式等。只有在用户身份认证通过之后才允许用户输入确认信号;
本过程中用户可以通过但不限于如下方式输入确认信号用户通过签名设 备上按键输入的确认信号、用户通过签名设备输入的语音确认信号、或者用户 通过签名设备输入的生物特征确认信号;
312、 如果上述过程中签名设备启动了计时方案,则需要判断计时得到的时 间是否超过预定时间;如果计时得到的时间超过了预定时间,则取消对接收到 的操作指令的执行,签名设备结束操作,并向上位机返回事先约定的表示操作 取消的状态码0x7777;如果计时得到的时间没有超过了预定时间,则执行313;
313、 由于上位机收到状态码0x6666后,上位机可以向签名设备反复发送 获取签名结果的指令或者向签名设备发送取消签名的指令;如果接收到上位机 发送的获取签名结果的指令,则返回执行310;如果接收到上位机发送的取消签名的指令,则流程结束;
上述的获耳又签名结果的指令对应的APDU指令序列为80 E3 00 00 00 00; 上述的取消签名指令对应APDU指令序列为80 E5 00 00 00 00;
314、 签名设备根据MSE指令所指定的算法标识,对补位后的数据进行RSA 运算以得到签名结果,并同时需要向上位机发送该签名结果,并返回操作成功 的状态码0x 9000;
315、 直接执行该操作指令。
通过上述过程,已经完成了签名设备对待签名数据的签名操作,在由于待 签名数据中含有关键信息,所以签名设备在接收到指令之后需要用户通过签名 设备输入确认信号才能执行该操作,以防止黑客控制用户的计算机后直接进行 签名操作,避免了黑客控制用户网上银行进行密钥或者资金转移等操作的;由 于黑客只能通过网络控制用户的计算机,并不能在现实中通过签名设备输入确 认信号,这样就保证了网上银行用户账户和资金的安全,使得黑客在控制计算 机的情况下依然不能盗取用户账户中的资金。
实施例4:
对于签名操作的过程,还可以釆用但不限于通过待特定的哈希算法来指示 关键操作,如图4所示,下面具体描述该方法的过程
401、上位机向签名设备下发MSE指令,以指示签名设备约定所釆用的签名 算法,这样才能够保证签名设备完成的签名操作是上位机能够识别的。
上位机下发的MSE指令为APDU指令序列,以该MSE指令指示签名设备采用 SHA1-RSA作为签名算法,并且指示了 RSA密钥ID,则该APDU指令序列的所包 含的内容依次为MSE指令标识、签名算法为SHA1-RSA的设置标识、RSA的密 钥ID,具体指令序列大致如下00 22 41 B6 07 80 01 12 81 02 00 01…
402、 签名设备接收到MSE指令后,通过上述的密钥ID设置当前使用的RSA 密钥;
403、 签名设备向上位机返回预先约定的表示操作成功的状态码0x9000;
404、 由于用户需要签名设备进行签名操作,故而用户需要通过上位机向签 名设备下发包含待签名数据的hash (哈希)指令;并且该哈希指令也可以通过 APDU指令表示,在该APDU指令中包括哈希指令的标识和待签名数据,具体的 APDU指令序列大致为:00 2a 90 80...
在CSP接口中传入待签名数据的具体函数为 CryptHashData(hHash, pbToSign, dwToSignLen, 0);
405、 上位机判断待执行的操作是否为关键操作,如果为关键操作,则执行 406;如果不是关4建操作,则直接执行407;
406、 上位机向签名设备指示采用特定哈希算法进行哈希运算;
407、 上位机生成操作对应的操作指令,并向签名设备下发以APDU格式表 示的签名指令,该上位机下发的APDU指令序列为00 2a 9E 00 00 00;
408、 签名设备接收到待签名数据后,如果上位机指示了特定哈希算法,则 对待签名数据釆用特定哈希算法进行哈希运算,具体运算为使用上位机指定 的SHA1算法对待签名数据进行运算,并将计算结果緩存在设备内部;
签名设备接收到待签名数据后,如果上位机没有指示特定哈希算法,则采 用普通的哈希算法进行哈希运算;
在具体实现时,需要;f艮据调用CryptCreateHash接口时传入的Hash算法标 识符,对待签名数据进行哈希运算得到哈希值;CryptCreateHash接口为创建 hash对象接口,具体为CryptCreateHash(hProv, ALG — ID, 0, 0, &hHash) , ALG—ID参数是hash算法标识符;
常用的hash算法标识符还包括CALG—MD5、 CALG — SHA1、 CALG—SSL3 — SHAMD5 等。CALG—MD5和CALG—SHAl分别对应MD5和SHAl算法,而CALG一SSL3-S廳D5 对应的是对同一段数据分别用MD5和SHA1进行哈希运算,再将两段hash结果 拼接在一起;
409、 向上位机返回操作成功的状态码Ox 9000;此时也可以把哈希运算结 果返回给上位才几;
410、 签名设备分析待签名数据的哈希值长度是否等于特定哈希算法对应的 长度,如果哈希值长度等于特定哈希算法对应的长度,则执行411;否则执行 416;
例如可以将特定哈希算法定为SHAl或者MD5,其对应的哈希值长度分别 为20字节或者16字节,这样表示只有采用SHAl或者MD5算法(长度对应20 字节或16字节)进行签名时才需要等待用户输入确认信息;而采用SSL通信过 程中常用的SSL3-SHAMD5算法(对应长度为36字节)则不需要等待用户输入确 认信息;
411、 签名设备接收到签名指令后,需要等待用户输入确认信号,本过程中 签名设备向上位机返回事先约定的标识"需要等待按键的"状态码0x6666;同 时签名设备还可以执行如下操作
第一、签名设备开始计时;
第二、通过视频播放器或音频播放器提示用户输入确认信号,或者指示上 位机视频播放器或音频播放器提示用户输入确认信号;例如签名设备可以通 过灯光、声音等方式提示用户输入确认信号,上位机也可以接收签名设备返回 的等待按键确认的状态码,通过图像、文字、声音等方式提示用户输入确认信号;
412、 签名设备如果接收到用户输入的确认信号,则执行415;如果没有接 收到用户输入的确认信号,则执行413;
为了保证用户具有操作权限,本实施例还可以在用户输入确认信号之前由 签名设备对用户身份进行认证,具体认证方式包括但不限于PIN码验证方式、
本过程中用户可以通过但不限于如下方式输入确认信号用户通过签名设 备上按键输入的确认信号、用户通过签名设备输入的语音确认信号、或者用户 通过签名设备输入的生物特征确认信号;
413、 如果上述过程中签名设备启动了计时方案,则需要判断计时得到的时 间是否超过预定时间;如果计时得到的时间超过了预定时间,则取消对接收到 的操作指令的执行,签名设备结束操作,并向上位机返回事先约定的表示操作 取消的状态码0x7777;如果计时得到的时间没有超过了预定时间,则执行414;
414、 由于上位机收到状态码0x6666后,上位机可以向签名设备反复发送 获取签名结果的指令或者向签名设备发送取消签名的指令;如果接收到上位机 发送的获取签名结果的指令,则返回执行lll;如果接收到上位机发送的取消签 名的指令,则流程结束;
上述的获耳又签名结果的指令对应的APDU指令序列为80 E3 00 00 00 00; 上述的取消签名指令对应APDU指令序列为80 E5 00 00 00 00;
415、 签名设备根据MSE指令所指定的算法标识,在步骤408中计算得到的 哈希值前面加上X. 509 ^L范所定义的算法标识串,再:fe照^^钥密码学标准
(PKCS#1)进行补位;例如SHA-1算法标识串是30 20 30 Oc 06 08 2a 86 48 86 f7 Od 02 05 05 00 04 10;对补位后的数据进行RSA运算以得到签名结果,并同时需要向上位机发送
该签名结果,并返回#:作成功的状态码0x9000,流程结束; 416、直接执行该操作指令。
通过上述过程,已经完成了签名设备对待签名数据的签名操作,由于待签 名数据的哈希值长度是特定的,所以签名设备在接收到指令之后需要用户通过 签名设备输入确认信号才能执行该操作,以防止黑客控制用户的计算机后直接 进行签名操作,避免了黑客控制用户网上银行进行密钥或者资金转移等操作的; 由于黑客只能通过网络控制用户的计算机,并不能在现实中通过签名设备输入 确认信号,这样就保证了网上银行用户账户和资金的安全,使得黑客在控制计 算机的情况下依然不能盗取用户账户中的资金。
如果哈希运算在上位机中执行,也可以采用上述方法,这就需要上位机采 用特定哈希算法进行哈希运算,而签名设备只需要通过哈希值的长度来判断是 否需要等待用户输入确认信息。
实施例5:
本发明实施例提供了 一种签名设备,该签名设备用于执行上位机发送的指 令, 一般情况下主要用于网上银行等安全需求较高的场合下,比如需要通过 签名设备的签名才能够对网上银行的账户进行操作,进而起到保护网上银行账 户安全的作用。如图5所示,本发明提供的签名设备包括接收模块51、输入 模块52、判断模块54和执行模块55。
其中,接收模块51用于接收上位机发送的操作指令以及该指令对应操作为 关键操作的指示,在本实施例中,接收模块51的功能可以通过USB接口、蓝牙 通信接口、红外通信接口、 eSATA接口、 SDI0接口或PCMCIA接口实现;输入模 块52用于供用户输入确认信号,在本实施例中,输入^^莫块52可以通过键盘按键、语音感应器、指紋扫描器、体温感应器、压力感应器、或者光电感应器等
实现;判断模块54用于在所述上位机指示该操作指令对应的操作为关键操作时 时,判断是否接收到用户通过签名设备的输入模块52输入的确认信号; 一般来 讲,签名指令、生成密钥指令、删除密钥指令、读取密钥指令和解密指令都是 含有关键信息的操作指令,对于一些未知的操作指令,业内人士一般将对密钥 进行操作的指令作为含有关键信息的操作指令;执行模块55用于在接收到用户 输入的确认信号时执行所述操作指令。
所述接收模块51还有可能接收到上位机发送的操作指令对应操作不是关键 操作的指示,此时所述执行模块55可以直接执行所述操作指令。
一般而言,上位机向签名设备发出的关键操作指示可以采用如下方式实现 在上位机和签名设备之间预先约定每个操作为关键操作时对应的特殊操作指 令,并且上位机将该操作对应的特殊操作指令发送给签名设备。所述特殊操作 指令可以为包含有关键信息的操作指令,例如预先约定的标识符或者预先约 定的指令格式等都可以作为关键信息使用。
如果操作为含有关键操作中的签名操作,那么该签名设备可能需要按照如 下方式中的一种进4亍才喿作
第一、上述的接收模块51接收到的是上位机发送的待签名数据;如图5的 虚线所示,此时该签名设备还包括哈希模块56、添加模块57和补位模块58;
其中,哈希模块56用于对该待签名数据进行哈希运算;添加模块57用于 为该哈希运算得到的哈希值添加算法标识串;补位模块58用于对添加算法标识 串后的哈希值按照公钥密码学标准进行补位;在这种情况下,上位机向签名设 备发出的关键操作指示可以采用如下方式实现该签名设备的接收模块51用于 接收上位机发送的使用特定哈希算法的指示信息,所述哈希模块56按照所述特定哈希算法对待签名数据进行哈希运算;所述判断模54块判断哈希值长度是否 等于特定哈希算法对应的长度,将哈希值长度等于特定哈希算法对应长度的签 名数据所对应的签名操作指令作为上位机已指示的关键操作指令。
第二、上述接收模块51接收到的上位机发送的对待签名数据进行哈希运算
后的哈希值;如图5中虚线所示,那么该签名设备还包括添加模块59和补位 模块510;其中添加模块59用于为该哈希值添加算法标识串;补位模块510用 于对添加算法标识串后的哈希值按照公钥密码学标准进行补位;
在这种情况下,上位机和签名设备可以约定一些特定哈希算法,如果签名 设备接收上位机发送哈希值为上位机采用特定哈希算法对待签名数据进行哈希 运算得到的;所述判断模块54判断哈希值长度是否等于特定哈希算法对应的长 度,将哈希值长度等于特定哈希算法对应长度的签名数据所对应的签名操作指 令作为上位机已指示的关键操作指令。
第三、所述接收模块51接收到的是上位机发送的对待签名数据进行哈希运 算并添加算法标识串后的哈希值;如图5中虚线所示,该签名设备还包括补 位模块511,用于对添加算法标识串后的哈希值按照公钥密码学标准进行补位;
第四、接收模块51接收到的上位机发送的由待签名数据依次经过哈希运算、 添加算法标识串、按照公钥密码学标准进行补位得到的哈希值;在这种情况下, 可以在哈希值中补入预先约定的标识符作为关键信息,并通过该关键信息向签 名设备指示该操作为关键操作。
不论采用上述四种方法的那种方法,签名设备最后得到了按照公钥密码学 标准进行补位后的哈希值,所述执行模块55对按照公钥密码学标准进行补位后 的哈希值进行RSA运算,以便得到签名结果。
为了保证输入确认信号的是用户本人,如图5所示,本发明实施例提供的签名设备还包括身份认证模块512,用于在用户通过输入模块输入确认信号前对
所述用户进行身份验证;所述判断模块54在所述用户进行身份验证成功的情况 下,判断是否接收到用户通过签名设备输入的确认信号。
为了控制输入确认信号的时间,本发明实施例的提供的签名设备还包括计 时器513和计时判断模块514;其中计时器513用于在接收到上位机发送的操作 指令开始计时;计时判断模块514用于在没有接收到用户输入的确认信号时, 判断计时器的时间是否超过预定时间;所述执行模块55在计时器的时间超过了 预定时间的情况下取消对接收到的操作指令的执行。
为能够提醒用户输入确认信号,本发明实施例的签名设备还包括视频播 放器或音频播放器(图中未示出),用于在所述操作指令含有关键信息时提示用 户输入确iU言号。
如果该签名设备还需要进行密钥的生成、删除等操作,则该签名设备还可 以包括密钥生成模块或者密钥删除模块等等。 实施例6
本发明实施例提供了一种签名系统,包括上位机和签名设备。
上位机,用于判断待执行操作是否为关键操作;在待执行操作为关键操作
时,通过预定方式向签名设备指示该操作为关键操作,并将该关键操作对应的 操作指令发送给签名设备;
签名设备,用于接收上位机发送的操作指令;在上位机指示该操作指令对 应的操作为关键操作时,签名设备等待用户通过签名设备输入确认信号,并在 接收到用户输入的确认信号时,执行操作指令。
其中上位机将签名指令、生成密钥指令、删除密钥指令、读取密钥指令和 解密指令对应的操作作为关键操作;或者上位机将对密钥进行的操作作为关键操作。
其中,上位机包括接口模块,向其他应用程序提供应用接口 (如CSP 、 PKCS#11
等)。当应用程序调用接口模块时,接口模块生成相应的APDU指令序列,发给 签名设备,通知签名设备进行各种操作;如哈希运算、补位、签名、解密、生 成密钥、删除密钥和读取密钥等对密钥的操作。
本发明实施例主要用在网上银行等高安全需求的场合,进行相应的指令执 行,例如对于待签名数据进行的签名;经过签名后,网上银行才能够合法地 进行账户或资金的操作。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发 明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多 情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或 者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软 件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若 干指令用以使得一台终端设备(可以是USB-Key、计算机,服务器,或者网络设 备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到 变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应 所述以权利要求的保护范围为准。
权利要求
1、一种签名方法,其特征在于,包括上位机判断待执行操作是否为关键操作;如果待执行操作为关键操作,则所述上位机通过预定方式向签名设备指示该操作为关键操作,并将该关键操作对应的操作指令发送给签名设备;签名设备接收上位机发送的操作指令;在所述上位机指示该操作指令对应的操作为关键操作时,所述签名设备等待用户通过签名设备输入确认信号;如果接收到用户输入的确认信号,所述签名设备执行所述操作指令。
2、 根据权利要求1所述的签名方法,其特征在于,该方法还包括 如果待执行操作不是关键操作,则所述上位机向签名设备指示该操作不是关键操作,并将该操作对应的操作指令发送给签名设备;在所述上位机指示该操作指令对应的操作不是关键操作时,所述签名设备 直接执行所述操作指令。
3、 根据权利要求1所述的签名方法,其特征在于,所述在上位机和签名设 备之间预先约定每个操作为关键操作时对应的特殊操作指令,所述上位机通过 预定方式向签名设备指示该操作为关键操作具体为上位机生成用来发送给签名设备的该操作对应的特殊操作指令。
4、 根据权利要求3所述的签名方法,其特征在于,所述特殊操作指令为包 含有关键信息的操作指令,所述关键信息为预先约定的标识符或者预先约定的 指令格式。
5、 根据权利要求1所述的签名方法,其特征在于,所述上位机将签名指令、 生成密钥指令、删除密钥指令、读取密钥指令和解密指令对应的操作作为关键 操作;或者所述上位机将对密钥进行的操作作为关4建操作。
6、 根据权利要求1所述的签名方法,其特征在于,所述确认信号包括用 户通过签名设备上按键输入的确认信号、用户通过签名设备输入的语音确认信 号、或者用户通过签名设备输入的生物特征确认信号。
7、 根据权利要求1所述的签名方法,其特征在于,在接收用户通过签名设 备输入的确认信号之前,该方法还包括签名设备对所述用户进行身份验证。
8、 根据权利要求1所述的签名方法,其特征在于,该方法还包括 签名设备接收到上位机发送的操作指令开始计时;如果签名设备没有接收到用户输入的确认信号,则判断计时得到的时间是 否超过预定时间;如果计时得到的时间超过了预定时间,签名设备取消对接收到的操作指令 的执行,并向上位机返回操作失败信息;上位机若没有接收到签名设备返回的 操作失败信息,则向签名设备下发取结果指令或取消操作指令。
9、 根据权利要求l所述的签名方法,其特征在于,在所述操作指令含有关 键信息时,该方法还包括签名设备通过视频播放器或音频播放器提示用户输入确认信号。
10、 根据权利要求1所述的签名方法,其特征在于,如果所述操作指令为 含有关键信息的签名指令,在执行该签名指令之前,该方法还包括签名设备接收上位机发送的待签名数据,对该待签名数据进行哈希运算, 为该哈希运算得到的哈希值添加算法标识串、对添加算法标识串后的哈希值按 照公钥密码学标准进行补位;或者签名设备接收上位机发送的对待签名数据进行哈希运算后的哈希值,为该 哈希值添加算法标识串、对添加算法标识串后的哈希值按照公钥密码学标准进行补位;或者签名设备接收上位机发送的对待签名数据进行哈希运算并添加算法标识串后的哈希值,对添加算法标识串后的哈希值按照公钥密码学标准进行补位;或 者签名设备接收上位机发送的由待签名数据依次经过哈希运算、添加算法标 识串、按照公钥密码学标准进行补位得到的哈希值;所述执行签名指令包括签名设备对按照公钥密码学标准进行补位后的哈 希值进行RSA运算。
11、 根据权利要求IO所述的签名方法,其特征在于,如果签名设备接收上位机发送的待签名数据并对该待签名数据进行哈希运 算,则所述上位机通过预定方式向签名设备指示该操作为关^l操作具体为上 位机向签名设备发送使用特定哈希算法的指示信息;如果签名设备接收上位机发送的对待签名数据进行哈希运算后的哈希值, 则所述上位机通过预定方式向签名设备指示该操作为关键操作具体为上位机 采用特定哈希算法对待签名数据进行哈希运算;所述签名设备分析所述上位机是否指示该操作指令对应的操作为关键操作 具体为将哈希值的长度等于所述特定哈希算法对应长度的签名数据所对应的 签名操作指令作为上位机已指示的关键操作指令。
12、 根据权利要求IO所述的签名方法,其特征在于,所述上位机按照公钥 密码学标准进行补位时,将在哈希值补入预先约定的标识符作为关键信息,并 通过该关键信息向签名设备指示该操作为关键操作。
13、 一种签名设备,其特征在于,包括接收模块,用于接收上位机发送的操作指令,以及该操作为关键操作的指输入模块,用于供用户输入确认信号;判断模块,用于在所述上位机指示该操作指令对应的操作为关键操作时, 判断是否接收到用户通过签名设备的输入模块输入的确认信号;执行模块,用于在接收到用户输入的确认信号时执行所述操作指令。
14、 根据权利要求13所述的签名设备,其特征在于,所述接收模块,还用于接收上位机发送的所述操作指令对应的操作不是关 键操作的指示;所述执行模块还用于在所述上位机指示所述操作指令对应的操作不是关键 操作时,直接执行所述操作指令。
15、 根据权利要求13所述的签名设备,其特征在于,所述上位机指示该操作指令对应的操作为关键操作的方式包括在上位机和签名设备之间预先约定每个操作为关键操作时对应的特殊操作指令,并且上位机将该操作对应的特殊 操作指令发送给签名设备。
16、 根据权利要求15所述的签名设备,其特征在于,所述特殊操作指令为 包含有关键信息的操作指令,所述关键信息为预先约定的标识符或者预先约定 的指令格式。
17、 根据权利要求13所述的签名设备,其特征在于,所述上位机将签名指 令、生成密钥指令、删除密钥指令、读取密钥指令和解密指令对应的操作作为 关键操作;或者所述上位机将对密钥进行的操作作为关键操作。
18、 根据权利要求13所述的签名设备,其特征在于,所述输入模块包括 键盘按键、语音感应器、指紋扫描器、体温感应器、压力感应器、或者光电感 应器。
19、 根据权利要求13所述的签名设备,其特征在于,还包括 身份认证模块,用于在用户通过输入模块输入确认信号前对所述用户进行身份验证;所述判断模块在所述用户进行身份验证成功的情况下,判断是否接收到用 户通过签名设备输入的确认信号。
20、 根据权利要求13所述的签名设备,其特征在于,还包括 计时器,用于在接收到上位机发送的操作指令开始计时; 计时判断模块,用于在没有接收到用户输入的确认信号时,判断计时器的时间是否超过预定时间;所述执行模块还用于在计时器的时间超过了预定时间的情况下取消对接收 到的操作指令的执行。
21、 根据权利要求13所述的签名设备,其特征在于,还包括视频播放器 或音频播放器,用于在所述操作指令为含有关键信息的操作指令时提示用户输 入确iU言号。
22、 根据权利要求13所述的签名设备,其特征在于,如果所述操作指令为 含有关键信息的签名指令,所述接收模块还用于接收上位机发送的待签名数据;该签名设备还包括 哈希模块,用于对所述待签名数据进行哈希运算;添加模块,用于为该哈希运 算得到的哈希值添加算法标识串;补位模块,用于对添加算法标识串后的哈希 值按照公钥密码学标准进行补位;或者所述接收模块还用于接收上位机发送的对待签名数据进行哈希运算后的哈 希值;该签名设备还包括添加模块,用于为所述哈希值添加算法标识串;补 位模块,用于对添加算法标识串后的哈希值按照公钥密码学标准进行补位;或者所述接收模块还用于接收上位机发送的对待签名数据进行哈希运算并添加算法标识串后的哈希值;该签名设备还包括补位模块,用于对添加算法标识 串后的哈希值按照公钥密码学标准进行补位;或者所述接收模块还用于接收上位机发送的由待签名数据依次经过哈希运算、 添加算法标识串、按照公钥密码学标准进行补位得到的哈希值;所述执行模块对按照公钥密码学标准进行补位后的哈希值进行RSA运算。
23、 根据权利要求22所述的签名设备,其特征在于,若所述接收模块还用于接收上位机发送的待签名数据,则该签名设备的接 收模块还用于接收上位机发送的使用特定哈希算法的指示信息,所述哈希模块 按照所述特定哈希算法对所述待签名数据进行哈希运算;如果签名设备接收上位机发送的对待签名数据进行哈希运算后的哈希值, 所述哈希值为上位机采用特定哈希算法对待签名数据进行哈希运算得到的;所述判断模块还用于将哈希值长度等于所述特定哈希算法对应长度的签名 数据所对应的签名操作指令作为上位机已指示的关键操作指令。
24、 根据权利要求22所述的签名设备,其特征在于,所述上位机按照公钥 密码学标准进行补位时,在哈希值补入预先约定的标识符作为关键信息,并通 过所述关键信息向签名设备指示该操作为关键操作。
25、 一种签名系统,其特征在于,包括上位机,用于判断待执行操作是否为关键操作;在所述待执行操作为关键 操作时,通过预定方式向签名设备指示所述待执行操作为关键操作,并将所述 关键操作对应的操作指令发送给所述签名设备;签名设备,用于接收上位机发送的操作指令;在所述上位机指示该操作指令对应的操作为关键操作时,等待用户通过所述签名设备输入确认信号;并在 接收到用户输入的确认信号时,执行所述操作指令。
26、根据权利要求25所述的签名系统,其特征在于,所述上位机将签名指 令、生成密钥指令、删除密钥指令、读取密钥指令和解密指令对应的操作作为 关键操作;或者所述上位机将对密钥进行的操作作为关键操作。
全文摘要
本发明公开了一种签名方法、签名设备和系统,涉及信息安全领域,解决了现有技术中黑客控制计算机后能够对网上银行进行操作的问题。本发明中上位机判断待执行操作是否为关键操作;如果待执行操作为关键操作,则上位机通过预定方式向签名设备指示该操作为关键操作,并将该关键操作对应的操作指令发送给签名设备;签名设备接收上位机发送的操作指令,如果所述操作指令对应的操作是关键操作,签名设备等待用户通过签名设备输入确认信号;如果接收到用户输入的确认信号,执行所述操作指令。本发明主要用在网上银行等高安全需求的场合。
文档编号H04L9/32GK101599836SQ20091008930
公开日2009年12月9日 申请日期2009年7月14日 优先权日2009年7月14日
发明者刘保宏 申请人:北京坚石诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1