签名方法、设备及系统的制作方法

文档序号:6484370阅读:153来源:国知局
专利名称:签名方法、设备及系统的制作方法
技术领域
本发明涉及信息安全领域,尤其涉及一种签名方法、设备及系统。
背景技术
目前,网络文件的传输、网上银行交易已经成为人们生活或是工作的一部 分。因此网络的安全性就更加成为了人们关注的焦点。
为了确保网络数据在传输过程中不会被人恶意修改,出现了数字签名技 术。数字签名技术即进行身份认证的技术。随着该项技术的发展和应用,尤其 是在网上银行进行交易的过程中,对数据的签名过程已经发展到可在一种智能 密钥设备中进行。对数据的签名在智能密钥设备中进行的过程主要包括客户 端主机在将数据发往服务器之前,先将数据发送到智能密钥设备内部,再在智 能密钥设备内部完成对数据的签名过程。以此来保证数据信息的安全性。
能密钥设备内部对数据进行签名之前,该数据仍旧是经过客户端主机的处理后 再发送到智能密钥设备中的,如果此时客户端主机被黑客或病毒侵入,那么被 客户端主机发送到智能密钥设备中的数据仍旧存在已经被篡改和截取的可能 性,这就容易导致用户的数字签名被冒用,以至于无法保证数据信息的安全性。

发明内容
本发明的实施例提供一种签名方法及系统,防止用户的签名被冒用,提高 数据信息的安全性。
为达到上述目的,本发明的实施例采用如下技术方案
一种签名方法,在客户端主机与服务器预先约定了复核信息标识符和分隔符后,包括
所述客户端主机与所述智能密钥设备建立连接;
所述客户端主机通过输入装置接收用户输入的交易信息,所述输入装置包括所述客户端主机的输入装置和/或所述智能密钥设备的输入装置;所述客户端主机根据所述交易信息生成交易报文;所述客户端主机根据所述交易报文确定关键信息;
所述客户端主机将包含所述关键信息和所述分隔符的待签名数据包发送到
所述智能密钥设备;
所述客户端主机等待接收所述智能密钥设备的反馈信息。
一种签名方法,在智能密钥设备连接到客户端主机,所述客户端主机与服
务器预先约定了复核信息标识符和分隔符后,包括
所述智能密钥设备接收所述客户端主机发送的待签名数据包;所述智能密钥设备根据所述分隔符从所述待签名数据包中获取关键信息;所述智能密钥设备输出所述对应所述关键信息的复核信息标识符和所述关
键信息,并等待用户输入信息;
如果所述智能密钥设备在预设时间内接收到用户输入的确认信息,则所述
智能密钥设备对所述待签名数据包进行签名,所述预设时间为所述等待用户输
入信息的时间-,
将得到的签名作为反馈信息发送到所述客户端主机;
如果所述智能密钥设备在预设时间内接收到用户输入的取消信息,则将所述取消信息作为反馈信息发送到所述客户端主机。
一种签名方法,在服务器与客户端主机预先约定了复核信息标识符和分隔符后,包括所述服务器接收所述客户端主机发送的交易报文和签名;所述服务器根据所述复核信息标识符从所述交易报文中获取关键信息;所述服务器根据所述关键信息和所述分隔符生成待签名数据包;所述服务器利用所述待签名数字包对所述客户端主机发送的签名进行验证。
一种客户端主机,所述客户端主机与服务器预先约定了复核信息标识符和分隔符,包括
连接模块,用于与所述智能密钥设备建立连接;
本地接口模块,用于通过输入装置接收用户输入的交易信息,所述输入装置包括所述客户端主机的输入装置和/或所述智能密钥设备的输入装置;生成模块,用于根据所述交易信息生成交易报文;获取模块,用于根据所述交易报文确定关键信息;
第一发送模块,用于将包含所述关键信息和所述分隔符的待签名数据包发
送到所述智能密钥设备;
接收模块,用于等待接收所述智能密钥设备的反馈信息。一种智能密钥设备,所述智能密钥设备连接到客户端主机,所述客户端主
机与服务器预先约定了复核信息标识符和分隔符,包括
接收模块,用于接收所述客户端主机发送的待签名数据包;获取模块,用于根据所述分隔符从所述待签名数据包中获取关键信息;输出模块,用于输出所述对应所述关键信息的复核信息标识符和所述关键
信息,并等待用户输入信息;
签名模块,用于若在预设时间内接收到用户输入的确认信息,则对所述待
签名数据包进行签名,所述预设时间为输出模块等待用户输入信息的时间;发送模块,用于将得到的签名作为反馈信息发送到所述客户端主机;
所述发送模块,还用于若在预设时间内接收到用户输入的取消信息,则将所述取消信息作为反馈信息发送到所述客户端主机。
一种服务器,所述服务器与客户端主机预先约定了复核信息标识符和分隔
符,包括
接收模块,用于接收所述客户端主机发送的交易报文和签名;获取模块,用于根据所述复核信息标识符从所述交易报文中获取关键信息;生成模块,用于根据所述关键信息和所述分隔符生成待签名数据包;验证模块,用于利用所述待签名数字包对所述客户端主机发送的签名进行验证。
一种签名系统,包括客户端主机、智能密钥设备和服务器,所述智能密钥设备连接到所述客户端主机,且所述客户端主机与所述服务器预先约定了复核信息标识符和分隔符;
所述客户端主机,用于与所述智能密钥设备建立连接,通过输入装置接收用户输入的交易信息,所述输入装置包括所述客户端主机的输入装置和/或所述智能密钥设备的输入装置,根据所述交易信息生成交易报文,并根据所述交易报文确定关键信息,在将包含所述关键信息和所述分隔符的待签名数据包发送到所述智能密钥设备之后,等待接收所述智能密钥设备的反馈信息;
所述智能密钥设备,用于接收所述客户端主机发送的待签名数据包,并根据所述分隔符从所述待签名数据包中获取关键信息,输出所述对应所述关键信息的复核信息标识符和所述关键信息,并等待用户输入信息,当在预设时间内接收到用户输入的确认信息时,对所述待签名数据包进行签名,所述预设时间为所述等待用户输入信息的时间,将得到的签名作为反4赍信息发送到所述客户
14端主机;当在预设时间内接收到用户输入的取消信息时,将所述取消信息作为
反馈信息发送到所述客户端主机;
所述服务器,用于接收所述客户端主机发送的交易报文和签名,根据所述复核信息标识符从所述交易报文中获取关键信息,并根据所述关键信息和所述分隔符生成待签名数据包,利用所述待签名数字包对所述客户端主机发送的签名进行验证。
本发明提供的签名方法、设备及系统具有如下有益效果在对接收到的交易报文进行数字签名前,采用了人机交互的方式使用户对关键信息进行复核,可避免在用户进行数字签名前,关键信息已经被篡改,数字签名被冒用的问题,取得了可防止用户的数字签名被冒用,提高了数据信息安全性的技术效果。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1签名方法的流程示意图2为本发明实施例2中签名设备的结构示意图3为本发明实施例3中签名系统的结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
15实施例1
本实施例以智能密钥设备为USB Key时的情况为例下,具体说明一种签名方法。在本发明实施例中,USBKey连接到客户端主机,且客户端主机与服务器预先约定了复核信息标识符和分隔符,其中上述USB Key上带有输出装置与按键,其中输出装置可以是液晶屏显示器,也可以是语音播报器。
如图1所示,该方法包括
步骤101:客户端主机与USB Key建立连接。
步骤102:客户端主机接收到用户输入的交易信息,并根据上述交易信息生成交易报文。
在本实施例中,步骤102具体为客户端主机的本地接口通过输入装置接收用户输入的交易信息,并将接收到的交易信息传给客户端主机的浏览器,客户端主机的浏览器通过运行内嵌代码将所述交易信息生成交易报文,并将所述交易报文传给该客户端主机的本地接口 。
其中,上述本地接口 (可以是软件,也可以是硬件,或是两者结合)是预先安装在客户端主机上的,内嵌代码是指客户端主机的浏览器通过其软件从服务器端下载的网页中内嵌的代码。
在本实施例步骤102中的提到的输入装置包括所述客户端主机的输入装置和/或所述USB Key的输入装置。即用户可以通过客户端主机的输入装置输入交易信息,也可以在USB Key带有输入装置时,用户通过USB Key的输入装置输入部分或全部交易信息。
若用户通过USB Key的输入装置输入交易信息,则在步骤102之前还需要该客户端主机的内嵌代码先通过本地接口激活USB Key的输入装置。之后,在步骤102中用户才可通过USB Key的输入装置输入交易信息。
在本发明实施例中,用户输入的交易信息为转入户名张三;
转入帐号4367420037465985234;转账金额134.22;
在本发明实施例中,交易报文的格式有多种,优选地,在本实施例中交易报文的格式为XML格式;
在本发明实施例中,用户可以进行多种交易,相应地,客户端主机会生成多种交易报文,如,
行内转账的交易报文为< xml version="l. 0" encoding="utf-8" ><TradeInf o〉
<AccountInfo name="To"〉<!--转入帐号一>
〈AccountName〉张三〈/AccountNameX!—转入巾艮户姓名一>
号--〉
<!—转入行信息--〉〈Banklnfo〉
〈BankName〉北京分行〈/BankNameX!—转入分行--></BankInfo>
</AccoimtInfo>
<AccountInfo name="From"〉
〈AccountName〉李四〈/AccountName〉〈 !--转出帐户姓名-->〈AccountValue〉4367420074923372387〈/AccountValueX!—转出帐
号-->〈!--转出行信息--〉
〈Banklnfo〉
〈BankName〉上海分行〈/BankNameX!—转出分行一>
</BankInfo></AccountInfo〉<TradeData〉
<TradeMoney>l34. 22</TradeMoney>
<TradeType〉l</TradeType〉
<MoneyType〉2</MoneyType>
<!-转账金额一>
<!—交易类型--><!—货币类型--〉
<TradeTime>20090206152645</TradeTime><0therDataX/0therData>
<!—交易时间--><!—其它数据一>
</TradeData〉
<SignatureData〉
<!--base64编码的签名
数据-->
WFZMnhb jF 3 3pG 1 oQ丽C2 3pe6Z9 8XCcnKR 3nqBdY=</SignatureData></TradeInf o>跨行转账的交易报文为
< xml version="l. 0" encoding="utf—8" >
<TradeInfo>
〈Accountlnfo name="To"〉<!—转入帐号一〉〈AccountName〉张三〈/AccountNameX!—转入帐户姓名--〉<AccountValue〉60296930287452195</AccountValue〉<!--專争入巾艮号
一一>
<!--转入4亍信息--><BankInfo〉
〈BankName〉 ;l匕京^Mf〈/BankName〉〈!一一專争入分4亍一—></BankInfo>
</AccountInfo>
<AccountInfo name="From"〉
〈AccountName〉李四〈/AccountNameX!--转出帐户姓名一><AccountValue〉4367420074923372387</AccountValue><!--l争出巾长
号--〉
<!--转出行信息一><BankInfo>
<BankName>中国建设4艮行北京分^f亍〈/BankName〉〈 !一转出分行--〉</BankInfo></AccountInfo><TradeData〉
<TradeMoney〉134. 22</TradeMoney〉<!—转账金额--><TradeType〉l</TradeType> <!—交易类型-->
<MoneyType>2</MoneyType〉 <!--货币类型-->
<TradeTime〉20090206152645</TradeTime> <!—交易时间一><AddCode>5265</AddCode〉 <!--附加码--><0therData〉</0therData>
<!—其它数据一>
</TradeData>
<SignatureData〉
<!—base64编码的签名凄t才居
MualI09msIOElIuIiH22Z8N57PzagkURnlxUgknTTXi88t+9ulTzg01tcYZWdG+D3LOgDXfejPtjx01HSt293usQhRTt5SW8qte241Uvw0eMC0YHzH3Iwu0Jb5KErXrsg0OMWFZMnhbjF33pGloQWMC23pe6Z98XCcnKR3nqBdY=
</SignatureData>
</TradeInfo>
追加账户的交易报文为
< xml version="l. 0" encoding="utf-8" >
<!--追力口帐号-->
<AccountInfo name="Add">
<AccountType>l</AccountType><!—帐号类另ll--〉〈AccountName〉张三〈/AccountNameX! -一户名一〉
〈AccountAl ias〉工资卡〈/Account Al ias〉<! 一一另'j名一一〉<AccountPwd>B53DC83D</AccountPwd〉<!—帐号密码-->
<!—开户行信息一〉<BankInfo〉
〈BankName〉北京分行〈/BankName〉</BankInfo></AccoimtInfo〉
'帐号一 〉其中,在进行追加账户交易时,则该USB Key同样需要客户端主机的内嵌代码通过本地接口激活USB Key的输入装置,然后再由用户通过USB Key的输入装置输入密码,并由客户端主机的本地接口传给其内嵌代码,这样就可以避免被在客户端主机中运行的木马窃取密码。
步骤103:客户端主机对交易报文进行解析,并根据预先约定的复核信息标识符提取关键信息,组成待签名数据包,再将上述待签名数据包发送给USBKey,同时等待该USB Key发送过来的反馈信息,该客户端主机设有预设时间,用于等待该USB Key发送过来的反馈信息。
本实施例步骤103具体为客户端主机的本地接口接收到该交易报文,并根据预先约定的复核信息标识符从交易报文中提取关键信息,客户端主机的本地接口将提取各个关键信息以预先约定的顺序拼接在一起,并用";,,作为各个关键信息之间的分隔符将各个关键信息进行分隔,以组成待签名数据包,同时等待该USB Key发送过来的反馈信息,该客户端主机设有预设时间,用于等待该USB Key发送过来的反馈信息。在本实施例中该反馈信息可以为取消信息,也可以为签名等。
例如设在行内转账交易报文中,复核信息标识符为户名、帐号、金额。根据该复核信息标识符从行内转账交易报文中提取的关键信息为张三(户名)4367420037465985234 (帐号)134.22 (金额)生成的待签名数据包为4367420037465985234;张三;134.22;
设在跨行转账交易报文中,复核信息标识符为户名、帐号、金额、附加验证码。则根据该复核信息标识符从跨行转账交易报文提取的关键信息为
张三(户名)60296930287452195 (帐号)134.22 (金额)5265 (附力口验证码)
其中的附加验证码是由服务器端随机生成的;生成的待签名数据包为60296930287452195;张三;134.22; 5265;
设在追加账户交易报文中,复核信息标识符为帐号、密码。则根据该复核信息标识符从追加账户交易报文中提取的关键信息为4367420037465985234 (帐号)B53DC83D (密码)生成的待签名数据包为4367420037465985234; B53DC83D;在本实施例中步骤103还可以为
客户端主机接收用户通过USB Key的输入装置输入的数字关键信息(例如当为行内转账交易报文时,该数字关键信息可为4367420037465985234 (帐号)134.22 (金额)),并根据预先约定的复核信息标识符从步骤102中生成的交易报文中提取关键信息(例如当为行内转账交易报文时,该提取的关键信息可为张三(户名)134. 22 (金额)),再将提取的金额关键信息返回给USB Key,
则提示出错信息,若一致,则再次将金额关键信息发送给客户端主机,客户端主机对上述户名、帐号和金额关4定信息(即对张三4367420037465985234134. 22 )进行拼接,并用";"作为各个关键信息之间的分隔符将各个关键信息进行分隔,组成待签名数据包,再将上述待签名数据包发送给USBKey,并等待接收USBKey发送的反馈信息;该客户端主机设有预设时间,用于等待该USBKey发送过来的反馈信息。
其中,需要说明的是因为现有技术中的USB Key的输入装置只带有数字按键,所以所述用户通过USB Key的输入装置输入的关键信息也只可能是由数 字构成的数字关键信息,该数字关键信息可以只是关键信息的一部分;并且在 步骤102中,若用户仅是通过客户端主机的输入装置输入交易信息的,那么在 上述客户端主机接收用户通过USB Key的输入装置输入的关键信息之前,还需 要进行如下步骤
客户端主机的内嵌代码通过本地接口激活USB Key的输入装置。 在本实施例中,客户端主机还需对交易报文中的某些字符进行转换以适应 USB Key。
例如若交易报文中的户名是UTF-8编码的汉字字符,而USB Key支持的 是GB18030字符集,则客户端主机将户名转换成GB18030编码的字符。
步骤104: USB Key接收上述待签名数据包,并根据所述分隔符从所述待签 名数据包中获取关键信息。
在本实施例步骤104中,所述根据所述分隔符vt人所述待签名数据包中获取 关键信息具体为USBKey检测上述待签名数据包中的分隔符";"数量,并根 据所述分隔符的数量解析待签名数据包,从解析的结果中USB Key可获取关4建 信息,具体如下
若USB Key检测到2个分隔符,则表示该交易信息为追加账户交易,关键 信息依次为帐号和密码。即在本实施例中为
4367420037465985234 (帐号)B53DC83D (密码)
若USB Key检测到3个分隔符,则表示该交易信息为行内转账交易,关键 信息依次为帐号、户名和金额。即在本实施例中为
张三(户名)4367420037465985234 (帐号)134. 22 (金额)
若USB Key检测到4个分隔符,则表示该交易信息为跨行转账交易,关键信息依次为帐号、户名、金额和附加验证码;即在本实施例中为
张三(户名)60296930287452195 (帐号)134.22 (金额)5265 (附
力口验证码)
其他,则表示为非交易报文。
步骤105: USB Key根据解析得到的结果输出所述与所述关键信息对应的复 核信息标识符和所述关键信息,并等待用户输入信息; 在本实施例中,步骤105具体可为
若为追加账户交易,则USB Key显示或者语音播报复核信息标识符一一帐 号,和关键信息——4367420037465985234,等待用户输入密码并按键确认,USB Key对用户输入的密码进行验证,如果验证失败,则执行步骤106,否则执行步 骤107;
若为行内转账交易,则USB Key分别对应显示或者语音播报复核信息标识 符——户名、帐号和金额,和关键信息——张三 4367420037465985234 134.22,等待用户输入信息。若用户通过按键输入的信息为取消信息,则执行 步骤106,若用户通过按键输入的信息为确认信息,则执行步骤107;
若为跨行转账交易,则USB Key分别对应显示或者语音播报复核信息标识 符——户名、帐号、金额和附加验证码,关键信息——张三60296930287452195 1M. 22 5265 ,等待用户输入信息,若用户通过按键输入的信息为取消信息, 则执行步骤106,若用户通过按#:输入的附加验证码并且按#:确_队,则USB Key 使用用户输入的附加验证码代替交易报文中的验证码进行运算,若运算出错, 则执行步骤106,若运算成功,则执行步骤107;
若为其他,则执行步骤107。
步骤106: USB Key向客户端主机提示出错信息或取消信息。步骤1061:客户端主机向该USB Key发生取消操作指令,该USB Key接收 到该取消操作的指令后取消操作并向该客户端主机报告操作已取消。
在本实例中客户端主机还可以随时向该USB Key发送取消操作指令,即客 户端主机可以随时执行步骤1061。
另外需要说明的是在本实施例中执行过步骤1061后将不再执行本实施例中 的下述步骤。
步骤107: USB Key对上述待签名数据包进行签名,并将得到的签名发送给 客户端主才几。
USB Key对待签名数据包进行签名具体为USB Key可以釆用散列(HASH) 算法计算待签名数据包的摘要,然后采用公钥密码算法对摘要进行加密,得到 签名。
步骤108:客户端主机在预设时间内接收到该USBKey发送的签名,并将交 易报文以及接收到的签名发送给服务器端。
步骤109:服务器端接收客户端主机发送的所述交易报文和签名,并根据预 先约定的复核信息标识符从接收到的交易报文中提取关键信息。
在本实施例步骤109中,服务器端与客户端主机事先进行约定,若客户端 主机在步骤103中进行了字符转换,则服务器端也需要进行相应地字符转换。
步骤110:服务器端根据提取得到的关键信息组成待签名数据包,并计算待 签名数据包的摘要;
在本实施例步骤110中,服务器端根据提取得到的关键信息生成待签名数 据包的步骤具体为服务器根据将提取得到的各个关键信息以预先约定的顺序 拼接在一起,并用";"作为各个关键信息之间的分隔符将各个关键信息进行 分隔,以组成待签名数据包。在本实施例步骤110中,服务器端计算待签名数据包的摘要所使用的算法
与步骤107中USB Key计算待签名数据包的摘要所使用的算法相同。
步骤lll:服务器端对接收到的客户端主机发送的签名进行解密,得到解密 结果。
步骤112:服务器端比较步骤110中计算得到的待签名数据包的摘要与步骤 111中得到的解密结果是否相同,若相同,则验证成功,若不相同,则验证失败。
本实施例提供的签名方法具有如下有益效果在签名流程中增加了人机交 互复核过程,使智能密钥设备在执行数字签名前可经过用户的复核,降低了数 字签名被他人冒用的可能性,提高了数据信息的安全性,并且本实施例的交易 报文中,复核信息与交易信息分开表示有利于提高系统的可扩展性。
实施例2
本实施例提供一种客户端主机20, 一种智能密钥设备30和一种服务器40。 以便于上述实施例1中的方法实施。其中,智能密钥设备30连接到客户端主机 20,且客户端主机20与服务器40预先约定了复核信息标识符和分隔符。如图2 所示,该客户端主机20包括连接模块21,本地接口模块22,生成模块23, 获取模块24,第一发送模块25,接收模块26。
连接模块21用于与智能密钥设备30建立连接;在连接模块21与智能密钥 设备30建立起连接后,本地接口模块22用于通过输入装置接收用户输入的交 易信息,所述输入装置包括所述客户端主机的输入装置和/或所述智能密钥设备 的输入装置;生成模块23用于根据所述交易信息生成交易报文;获取模块24 用于根据所述交易报文确定关键信息;第一发送模块25用于将包含所述分隔符 和所述获取模块24获取的所述关键信息的待签名数据包发送到所述智能密钥设 备30;接收模块26用于在发送模块25将所述待签名数据包发送后,等待接收
26所述智能密钥设备30的反馈信息。
进一步,在本实施例中客户端主机20还包括如下可选模块内嵌代码模块 27,转换模块28。
内嵌代码模块27用于通过所述本地接口模块22激活所述智能密钥设备30 的输入装置;转换模块28用于将所述交易报文的字符类型转换成所述智能密钥 设备30可识别的字符类型。
其中,上述生成模块23通过所述内嵌代码模块27将所述交易信息生成交 易报文。上述本地接口模块22还用于对生成模块23生成的交易报文进行解析, 并获得关键信息。
其中,获取模块24具体可用于根据所述复核信息标识符从本地接口模块22 接收到的所述交易报文中获取关键信息;或者在内嵌代码模块27通过本地接口 模块激活所述智能密钥设备的输入装置之后,获取模块24通过所述智能密钥设 备的输入装置获取用户输入的数字关键信息,并根据所述复核信息标识符从所 述交易报文中提取关键信息,再根据得到的关键信息对所述数字关键信息进行 确认,若得到确认,则将所述关键信息进行拼接。
本发明实施例的各个模块可以集成于一体,也可以分离部署。上述模块可 以合并为一个模块,也可以进一步拆分成多个子模块。
进一步,在本实施例中客户端主机20设有预设时间,并且客户端主机20 还可包括如下可选模块第二发送模块29,取消发送模块210,取消接收模块 211。
第二发送模块29用于当所述本地接口模块22在预设时间内接收到所述智 能密钥设备30发送的反馈信息,且所述反馈信息具体为签名时,发送所述签名 和所述交易报文到服务器40;取消发送模块210用于当所述本地接口模块22在所述预设时间内接收到智能密钥设备30发送的反馈信息,且所述反馈信息具体
为取消信息时,向所述智能密钥设备发送取消操作指令,取消发送模块210还 用于在所述预设时间到时前,所述客户端主机20在等待接收智能密钥设备30 发送反馈信息时,随时向所述智能密钥设备30发送取消操作指令;取消接收模 块211用于接收所述智能密钥设备30报告的操作已取消的信息。
本实施例所提供的客户端主机具有如下有益效果可通过智能密钥设备的 输入装置输入交易信息,降低了交易信息被盗用的可能性。可获取关键信息, 并将获取的关键信息发送到智能密钥设备,以便智能密钥设备对其进行复核, 增加数据信息的安全性。
本实施例提供的智能密钥设备30可以具体为USB Key,如图2所示,该智 能密钥设备30包括接收模块31,获取模块32,输出模块33,签名模块34, 发送模块35。
接收模块31用于接收客户端主机20发送的待签名数据包;获取模块32用 于根据所述分隔符从接收模块31接收到的所述待签名数据包中获取关键信息; 输出模块33用于输出所述对应所述关键信息的复核信息标识符和所述关键信 息,并等待用户输入信息,该关键信息是由获取4莫块32获取到的;签名模块34 用于当在预设时间内接收到用户输入的确认信息时,对所述待签名数据包进行 签名,所述预设时间为输出模块33等待用户输入信息的时间;发送模块35用 于将签名模块34得到的签名作为反馈信息发送到所述客户端主机20;所述发送 模块35还用于若在预设时间内接收到用户输入的取消信息,则将所述取消信息 作为反馈信息发送到所述客户端主机30。
其中,获取模块32包括检测单元321,解析单元322。
检测单元321用于检测所述待签名数据包中的分隔符的数量;解析单元322用于根据检测单元321检测出的所述分隔符的数量解析所述待签名数据包中的 关键信息。
输出模块33包括显示单元331。显示单元331用于通过显示器显示对应 所述关键信息的复核信息标识符和所述关键信息;或者在本实施例中,显示单 元331还可以用播报单元进行替换,该播报单元用于通过语音播放器播报对应 所述关键信息的复核信息标识符和所述关键信息。
进一步,在本实施例中提供的智能密钥设备30还可包括如下可选模块取 消模块36,第一接收模块37。
取消模块36用于若在所述预设时间内未接收到用户输入的确认信息或者取 消信息,或者若在所述预设时间内接收到所述客户端主机20发送的取消操作指 令,则取消操作,并向客户端主机20报告操作已取消;第一接收模块37用于 接收到客户端主机20发送的取消操作指令;则所述取消模块还用于当第一接收 模块37接收到所述取消操作指令时,取消操作并向所述客户端主机20报告操 作已取消。
本实施例提供的智能密钥设备具有如下有益效果可进行人机交互复核, 使用户对交易的关键信息进行确认,可防止交易信息被篡改,用户签名被冒用, 提高了数据信息的安全性。
下面继续介绍本实施例提供的服务器40,如图2所示,该服务器40包括 接收模块41,获取模块42,生成模块43,验证模块44。
接收模块41用于接收客户端主机20发送的交易报文和签名;获取模块42 用于根据所述复核信息标识符从接收模块41所述交易报文中获取关键信息;生 成模块43用于根据获取模块42获取的关键信息和所述分隔符生成待签名数据 包;验证模块44用于利用生成模块43生成的待签名数字包对客户端主机20发送的签名进行验证。
其中,在本实施例中的验证模块44包括计算单元441、解密单元442和
判断单元443。
计算单元441用于计算所述待签名数据包的摘要;解密单元442用于对接 收到的客户端主机20发送的签名进行解密;判断单元443用于判断解密单元442 得到的解密结果是否与计算单元441得到的待签名数据包的摘要一致,如果两 者一致,则判定通过验证;如果两者不一致,则判定验证失败。
进一步,在本实施例中服务器40还可包括如下可选模块转换模块45。 转换模块45用于将所述交易报文中的字符类型转换成智能密钥设备30可 识别的字符类型。
本实施例提供的服务器方案可配置客户端主机和智能密钥设备完成对交易 信息的人机交互复核的实现,解决了现有技术中用户的签名被他人冒用的技术 问题,进而取得了可防止合法用户的签名被他人冒用,提高了数据信息的安全 性的技术效果。
实施例3
本实施例提供一种签名系统,如图3所示,该系统包括客户端主机200、智 能密钥设备300和服务器400,智能密钥设备300连接到客户端主机200,且客 户端主机20Q与服务器400预先约定了复核信息标识符和分隔符;
其中,客户端主机200用于与智能密钥设备300建立连接,通过输入装置 接收用户输入的交易信息,所述输入装置包括客户端主机200的输入装置和/或 智能密钥设备300的输入装置,根据所述交易信息生成交易报文,并根据所述 交易报文确定关键信息,在将包含所述关键信息和所述分隔符的待签名数据包 发送到所述智能密钥设备300之后,等待接收所述智能密钥设备300的反馈信息;智能密钥设备300用于接收客户端主机200发送的待签名数据包,并根据 所述分隔符从所述待签名数据包中获取关键信息,输出所述对应所述关键信息 的复核信息标识符和所述关键信息,并等待用户输入信息,当在预设时间内接 收到用户输入的确认信息时,对所述待签名数据包进行签名,所述预设时间为 所述等待用户输入信息的时间,将得到的签名作为反馈信息发送到所述客户端 主机200;当在预设时间内接收到用户输入的取消信息时,将所述取消信息作为 反馈信息发送到客户端主机200;服务器400用于接收所述客户端主机200发送 的交易报文和签名,根据所述复核信息标识符从所述交易报文中获取关键信息, 并根据所述关键信息和所述分隔符生成待签名数据包,利用所述待签名数字包 对所述客户端主机200发送的签名进行^r证。
在本实施例中的述客户端主机200设有预设时间。服务器400接收到的客 户端主机200发送的交易报文和签名是客户端主机200在所述预设时间内接收 到所述智能密钥设备300发送的反馈信息,且所述反馈信息具体为签名时,客 户端主机200发送的交易报文和签名。
本实施例提供的签名系统具有如下有益效果在签名流程中增加了人机交 互复核过程,使智能密钥设备在执行数字签名前可经过用户的复核,降低了数 字签名被他人冒用的可能性,提高了数据信息的安全性。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发 明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但 很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质 上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算 机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包 括若干指令用以使得一台设备或装置执行本发明各个实施例所述的方法。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到 变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应 所述以权利要求的保护范围为准。
权利要求
1、一种签名方法,其特征在于,在客户端主机与服务器预先约定了复核信息标识符和分隔符后,包括所述客户端主机与所述智能密钥设备建立连接;所述客户端主机通过输入装置接收用户输入的交易信息,所述输入装置包括所述客户端主机的输入装置和/或所述智能密钥设备的输入装置;所述客户端主机根据所述交易信息生成交易报文;所述客户端主机根据所述交易报文确定关键信息;所述客户端主机将包含所述关键信息和所述分隔符的待签名数据包发送到所述智能密钥设备;所述客户端主机等待接收所述智能密钥设备的反馈信息。
2、 根据权利要求1所述的签名方法,其特征在于,所述客户端主机预先安 装了本地接口 ;所述客户端主机通过输入装置接收用户输入的交易信息包括所述客户端主机的本地接口通过输入装置接收用户输入的交易信息。
3、 根据权利要求1所述的签名方法,其特征在于,所述客户端主机预先安 置了本地接口和内嵌代码;若所述客户端主机通过所述客户端主机的输入装置 和智能密钥设备的输入装置接收用户输入的交易信息;或者,若所述客户端主 机通过所述智能密钥设备的输入装置接收用户输入的交易信息,在所述接收用 户输入的交易信息之前,该方法还包括所述客户端主机的内嵌代码通过所述主机的本地接口激活所述智能密钥设 备的输入装置。
4、 根据权利要求3所述的签名方法,其特征在于,所述客户端主机根据所 述交易信息生成交易报文包括所述客户端主机的浏览器通过所述客户端主机的内嵌代码将所述交易信息生成交易报文。
5、 根据权利要求1所述的签名方法,其特征在于,所述客户端主机预先安置了本地接口和内嵌代码;所述客户端主机根据所述交易报文确定关键信息包 括所述客户端主机根据所述复核信息标识符从所述交易报文中获取关键信 息;或者所述客户端主机的内嵌代码先通过本地接口激活所述智能密钥设备的输入 装置,所述客户端主机接收用户通过所述智能密钥设备的输入装置输入的数字 关键信息,并根据所述复核信息标识符从所述交易报文中提取关键信息,再根 据所述提取得到的关键信息对所述数字关键信息进行确认,若得到确认,则将 所述关键信息进行拼接。
6、 根据权利要求1至5中任意一项所述的签名方法,其特征在于,在所述 客户端主机将所述待签名数据包发送给所述智能密钥设备之前,该方法还包括所述客户端主机将所述交易报文的字符类型转换成所述智能密钥设备可识 别的字符类型。
7、 根据权利要求1至5中任意一项所述的签名方法,其特征在于,所述客 户端主机设有预设时间;若所述客户端主机在所述预设时间内接收到所述智能 密钥设备发送的反馈信息,且所述反馈信息具体为签名时,则该方法还包括所述客户端主机发送所述签名和所述交易报文到所述服务器。
8、 根据权利要求1至5中任意一项所述的签名方法,其特征在于,所述客 户端主机设有预设时间;若所述客户端主机在所述预设时间内接收到智能密钥 设备发送的反馈信息,且所述反馈信息具体为取消信息时,该方法还包括所述客户端主机向所述智能密钥设备发送取消操作指令;所述客户端主机接收所述智能密钥设备报告的操作已取消的信息。
9、 根据权利要求1至5中任意一项所述的签名方法,其特征在于,所述客 户端主机设有预设时间;在所述预设时间到时前,所述客户端主机在等待接收 智能密钥设备发送反馈信息时,该方法还包括所述客户端主机可以随时向所述智能密钥设备发送取消操作指令; 所述客户端主机接收所述智能密钥设备报告的操作已取消的信息。
10、 一种签名方法,其特征在于,在智能密钥设备连接到客户端主机,所 述客户端主机与服务器预先约定了复核信息标识符和分隔符后,包括所述智能密钥设备接收所述客户端主机发送的待签名数据包;所述智能密钥设备根据所述分隔符从所述待签名数据包中获取关键信息;所述智能密钥设备输出所述对应所述关键信息的复核信息标识符和所述关键信息,并等待用户输入信息;如果所述智能密钥设备在预设时间内接收到用户输入的确认信息,则所述智能密钥设备对所述待签名数据包进行签名,所述预设时间为所述等待用户输入信息的时间;将得到的签名作为反馈信息发送到所述客户端主机;如果所述智能密钥设备在预设时间内接收到用户输入的取消信息,则将所 述取消信息作为反馈信息发送到所述客户端主机。
11、 根据权利要求IO所述的签名方法,其特征在于,所述智能密钥设备根 据所述分隔符从所述待签名数据包中获取关键信息包括所述智能密钥设备^r测所述待签名数据包中的分隔符的数量; 所述智能密钥设备根据所述分隔符的数量解析出所述待签名数据包中的关 键信息。
12、 根据权利要求10或11所述的签名方法,其特征在于,若所述智能密 钥设备在所述预设时间内未接收到用户输入的确认信息或者取消信息,或者若 所述智能密钥设备在所述预设时间内接收到所述客户端主机发送的取消操作指令,则该方法还包括所述智能密钥设备取消操作,并向所述客户端主机报告操作已取消。
13、 根据权利要求10或11所述的签名方法,其特征在于,在所述将取消 信息作为反馈信息发送到所述客户端主机之后,该方法还包括所述智能密钥设备接收到所述客户端主机发送的取消操作指令; 所述智能密钥设备取消操作并向所述客户端主机报告操作已取消。
14、 根据权利要求10或11所述的签名方法,其特征在于,所述智能密钥 设备输出对应所述关键信息的复核信息标识符和所述关键信息包括所述智能密钥设备通过显示器显示对应所述关键信息的复核信息标识符和 所述关键信息;或者所述智能密钥设备通过语音播放器播报对应所述关键信息的复核信息标识 符和所述关键信息。
15、 一种签名方法,其特征在于,在服务器与客户端主机预先约定了复核 信息标识符和分隔符后,包括所述服务器接收所述客户端主机发送的交易报文和签名;所述服务器根据所述复核信息标识符从所述交易报文中获取关键信息;所述服务器根据所述关键信息和所述分隔符生成待签名数据包;证。
16、根据权利要求15所述的签名方法,其特征在于,在所述服务器接收所述客户端主机发送的交易报文和签名之后,该方法还包括所述服务器将所述交易报文中的字符类型转换成所述智能密钥设备可识别的字符类型。
17.—种客户端主机,其特征在于,所述客户端主机与服务器预先约定了复 核信息标识符和分隔符,包括连接模块,用于与所述智能密钥设备建立连接;本地接口模块,用于通过输入装置接收用户输入的交易信息,所述输入装 置包括所述客户端主机的输入装置和/或所述智能密钥设备的输入装置; 生成模块,用于根据所述交易信息生成交易报文; 获取模块,用于根据所述交易报文确定关键信息;第一发送模块,用于将包含所述关键信息和所述分隔符的待签名数据包发 送到所述智能密钥设备;接收模块,用于等待接收所述智能密钥设备的反馈信息。
18、 根据权利要求17所述的客户端主机,其特征在于,该设备还包括 内嵌代码模块,用于通过所述本地接口模块激活所述智能密钥设备的输入装置。
19、 根据权利要求18所述的客户端主机,其特征在于,所述生成模块通过 所述内嵌代码模块将所述交易信息生成交易报文。
20、 根据权要求18所述的客户端主机,其特征在于,所述获取模块根据所 述复核信息标识符从所述交易报文中获取关键信息;或者在内嵌代码模块通过本地接口模块激活所述智能密钥设备的输入装置之 后,所述获取模块通过所述智能密钥设备的输入装置获取用户输入的数字关键 信息,并根据所述复核信息标识符从所述交易报文中提取关键信息,再根据所述提取得到的关键信息对所述数字关键信息进行确认,若得到确认,则将所述 关键信息进行拼接。
21、 根据权利要求17至20中任意一项所述的客户端主机,该设备还包括 转换模块,用于将所述交易报文的字符类型转换成所述智能密钥设备可识别的字符类型。
22、 根据权利要求17至20中任意一项所述的客户端主机,其特征在于, 所述客户端主机设有预设时间;该设备还包括第二发送模块,用于当所述本地接口模块在预设时间内接收到所述智能密 钥设备发送的反馈信息,且所述反馈信息具体为签名时,发送所述签名和所述 交易报文到所述服务器。
23、 根据权利要求17至20中任意一项所述的客户端主机,其特征在于, 所述客户端主机设有预设时间;该设备还包括取消发送模块,用于当所述本地接口模块在所述预设时间内接收到智能密 钥设备发送的反馈信息,且所述反馈信息具体为取消信息时,向所述智能密钥 设备发送取消操作指令;取消接收模块,用于接收所述智能密钥设备报告的操作已取消的信息。
24、 根据权利要求17至20中任意一项所述的客户端主机,其特征在于, 所述客户端主机设有预设时间;所述取消发送模块还用于在所述预设时间到时前,所述客户端主机在等待 接收智能密钥设备发送反馈信息时,随时向所述智能密钥设备发送取消操作指 令。
25、 一种智能密钥设备,其特征在于,所述智能密钥设备连接到客户端主 机,并且所述客户端主机与服务器预先约定了复核信息标识符和分隔符,包括接收模块,用于接收所述客户端主机发送的待签名数据包;获取模块,用于根据所述分隔符从所述待签名数据包中获取关键信息;输出模块,用于输出所述对应所述关键信息的复核信息标识符和所述关键信息,并等待用户输入信息;签名模块,用于若在预设时间内接收到用户输入的确认信息,则对所述待签名数据包进行签名,所述预设时间为输出才莫块等待用户输入信息的时间; 发送模块,用于将得到的签名作为反馈信息发送到所述客户端主机; 所述发送模块,还用于若在预设时间内接收到用户输入的取消信息,则将所述取消信息作为反馈信息发送到所述客户端主机。
26、 根据权利要求25所述的智能密钥设备,其特征在于,所述获取模块包括检测单元,用于检测所述待签名数据包中的分隔符的数量;解析单元,用于根据所述分隔符的数量解析所述待签名数据包中的关键信息。
27、 根据权利要求25或26所述的智能密钥设备,其特征在于,该设备还 包括取消模块,用于若在所述预设时间内未接收到用户输入的确认信息或者取 消信息,或者若在所述预设时间内接收到所述客户端主机发送的取消操作指令, 则取消操作,并向所述客户端主机报告操作已取消。
28、 根据权利要求25所述的智能密钥设备,其特征在于,该设备还包括 第一接收模块,用于接收到所述客户端主机发送的取消操作指令;则所述取消模块还用于当第一接收模块接收到所述取消操作指令时,取消 操作并向所述客户端主机报告操作已取消。
29、 根据权利要求25或26所述的智能密钥设备,其特征在于,所述输出 模块包括显示单元,用于通过显示器显示对应所述关键信息的复核信息标识符和所 述关键信息;或者播报单元,用于通过语音播放器播报对应所述关键信息的复核信息标识符 和所述关键信息。
30、 一种服务器,其特征在于,所述服务器与客户端主机预先约定了复核 信息标识符和分隔符,包括接收模块,用于接收所述客户端主机发送的交易^t艮文和签名; 获取模块,用于根据所述复核信息标识符从所述交易报文中获取关键信息; 生成模块,用于根据所述关键信息和所述分隔符生成待签名数据包; 验证模块,用于利用所述待签名数字包,对所述客户端主机发送的签名进 行验证。
31、 根据权利要求30所述的服务器,其特征在于,该服务器还包括 转换模块,用于将所述交易报文中的字符类型转换成所述智能密钥设备可识别的字符类型。
32、 一种签名系统,其特征在于,包括客户端主机、智能密钥设备和服务 器,所述智能密钥设备连接到所述客户端主机,且所述客户端主机与服务器预 先约定了复核信息标识符和分隔符;所述客户端主机,用于与所述智能密钥设备建立连接,通过输入装置接收 用户输入的交易信息,所述输入装置包括所述客户端主机的输入装置和/或所述 智能密钥设备的输入装置,根据所述交易信息生成交易报文,并根据所述交易 报文确定关键信息,在将包含所述关键信息和所述分隔符的待签名数据包发送到所述智能密钥设备之后,等待接收所述智能密钥设备的反馈信息;所述智能密钥设备,用于接收所述客户端主机发送的待签名数据包,并根 据所述分隔符从所述待签名数据包中获取关键信息,输出所述对应所迷关键信 息的复核信息标识符和所述关键信息,并等待用户输入信息,当在预设时间内 接收到用户输入的确认信息时,对所述待签名数据包进行签名,所述预设时间 为所述等待用户输入信息的时间,将得到的签名作为反馈信息发送到所述客户端主机;当在预设时间内接收到用户输入的取消信息时,将所述取消信息作为 反馈信息发送到所述客户端主机;所述服务器,用于接收所述客户端主机发送的交易报文和签名,根据所述 复核信息标识符从所述交易报文中获取关键信息,并根据所述关键信息和所述 分隔符生成待签名数据包,利用所述待签名数字包,对所述客户端主机发送的 签名进行验证。
33、根据权利要求32所述的签名系统,其特征在于,所述客户端主机设有 预设时间;所述服务器接收到的所述客户端主机发送的交易报文和签名是所述客户端 主机在所述预设时间内接收到所述智能密钥设备发送的反馈信息,且所述反馈 信息具体为签名时,所述客户端主机发送的交易报文和签名。
全文摘要
本发明实施例公开了一种签名方法、设备及系统。涉及信息安全领域,解决了现有技术中用户的签名被他人冒用的技术问题。本发明实施例中主机在接收到用户输入的交易信息后,用交易信息生成交易报文并根据所述交易报文确定关键信息,组成待签名数据包发送到USB Key;USB Key则接收主机发送的待签名数据包,并在提取出其中的关键信息后,输出关键信息,等待用户确认,若用户输入确认信息,对该待签名数据包进行数字签名并发送该签名到主机;服务器接收主机转发的签名和交易报文,从交易报文中提取关键信息组成待签名数据包,并用组成的待签名数据包对接收到的签名进行验证。本发明实施例主要应用在信息安全方面。
文档编号G06Q30/00GK101562525SQ20091008328
公开日2009年10月21日 申请日期2009年4月30日 优先权日2009年4月30日
发明者于华章, 舟 陆 申请人:北京飞天诚信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1