CN101763477B - 一种智能密钥装置的签名方法 - Google Patents
一种智能密钥装置的签名方法 Download PDFInfo
- Publication number
- CN101763477B CN101763477B CN2009102444063A CN200910244406A CN101763477B CN 101763477 B CN101763477 B CN 101763477B CN 2009102444063 A CN2009102444063 A CN 2009102444063A CN 200910244406 A CN200910244406 A CN 200910244406A CN 101763477 B CN101763477 B CN 101763477B
- Authority
- CN
- China
- Prior art keywords
- data
- signed
- middleware
- intelligent key
- key apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Abstract
本发明公开了信息安全技术领域中的一种智能密钥装置的签名方法。包括:中间件下发创建安全环境指令,设置签名算法,并指定签名所使用的密钥ID;中间件判断将要发送给智能密钥装置的待签名数据的类型;中间件根据所述待签名数据的类型,将待签名数据发送给智能密钥装置;智能密钥装置缓存其接收到的待签名数据;中间件下发签名指令;中间件下发获取签名结果指令,智能密钥装置接收到获取签名结果指令后进行确认处理;中间件根据所述智能密钥装置的确认处理结果,进行相应地操作。本发明综合了多种交互机制,容易区分有复核信息的签名和不含复核信息的签名,保证两种签名的安全性,同时提高了适用性。
Description
技术领域
本发明属于信息安全技术领域,尤其涉及一种智能密钥装置的签名方法。
背景技术
近几年来,随着互联网技术的快速发展,电子商务和电子政务正在代替传统的商务、政务模式。保障电子商务和电子政务正常运行的核心因素之一就是保证参与其中的各方面人员身份可信。
智能密钥装置能够很好的满足网络上个人身份认证的需要。它是一种带有处理器和存储器的小型硬件装置,可通过计算机的数据通讯接口与计算机连接。智能密钥装置采用PIN码验证用户身份的合法性,在进行身份认证时将智能密钥装置与计算机相连,用户在计算机上输入PIN码,智能密钥装置会自动校验该PIN码的正确性,只有当用户输入的PIN码正确时,才允许用户操作智能密钥装置。智能密钥装置还具有密钥生成功能,并可安全存储密钥和预置加密算法。智能密钥装置与密钥相关的运算完全在装置内部运行,且智能密钥装置具有物理抗攻击的特性,安全性极高,常用的智能密钥装置通过USB接口与计算机相连。
由于智能密钥装置具有高安全的特性,所以很多安全性要求较高的领域都采用智能密钥装置进行身份认证或者在其内部进行签名,以保证操作的安全性。
然而,现有技术中,当智能密钥装置进行有复核信息的数据签名和不含复核信息的数据签名的时,比较容易混淆,且使用者不明白签名的实质过程,从而产生错误。
发明内容
为解决现有技术中存在的问题,本发明提供了一种智能密钥装置的签名方法。
技术方案是,一种智能密钥装置的签名方法,其特征是所述方法包括:
中间件下发创建安全环境指令,设置签名算法,并指定签名所使用的密钥ID;
所述中间件判断将要发送给智能密钥装置的待签名数据的类型;
所述中间件根据所述待签名数据的类型,将所述待签名数据发送给所述智能密钥装置;
所述智能密钥装置缓存其接收到的所述待签名数据;
所述中间件下发签名指令;
所述中间件下发获取签名结果指令,所述智能密钥装置接收到所述获取签名结果指令后进行确认处理;
所述中间件根据所述智能密钥装置的确认处理结果,进行相应地操作。
所述待签名数据的类型是待签名数据原文或者待签名数据原文的哈希值。
所述中间件根据所述待签名数据的类型,将所述待签名数据发送给所述智能密钥装置,具体为所述中间件通过下发hash指令将所述待签名数据原文发送给所述智能密钥装置。
所述中间件根据所述待签名数据的类型,将所述待签名数据发送给所述智能密钥装置,具体为所述中间件通过下发put hash指令将所述待签名数据原文的哈希值发送给所述智能密钥装置。
所述智能密钥装置缓存其接收到的所述待签名数据,具体是所述智能密钥装置缓存其接收到的待签名数据原文。
所述智能密钥装置缓存其接收到的所述待签名数据,具体是所述智能密钥装置缓存其接收到的待签名数据原文的哈希值。
所述中间件下发签名指令,具体还包括:所述智能密钥装置接收所述中间件下发的签名指令后,检查所述智能密钥装置是否缓存有待签名数据原文;如果所述智能密钥装置缓存有待签名数据原文,则所述智能密钥装置根据预先约定的规则扫描解析所述待签名数据原文,判断是否能提取需要复核的关键信息,如果能提取需要复核的关键信息,则提取所述需要复核的关键信息组成复核信息,利用所述智能密钥装置内置的液晶屏显示后,向中间件返回表示“需要按键确认”的返回码,并计算所述待签名数据原文的哈希值;如果不能提取需要复核的关键信息,则计算所述待签名数据原文的哈希值;如果所述智能密钥装置未缓存有待签名数据原文,则智能密钥装置将安全状态设为plublic,并向中间件返回表示“需要验证PIN码”的返回码。
所述智能密钥装置接收到所述获取签名结果指令后进行确认处理,具体是:
当所述智能密钥装置能提取所述需要复核的关键信息时,所述智能密钥装置检查其按键状态,如果确认键被按下,则计算待签名数据原文的哈希值的签名结果,发送给所述中间件,所述方法结束;如果等待按键时间超过预设的时间值,或者取消键被按下,则向中间件返回表示“取消”的返回码;否则,向中间件返回表示“需要按键确认”的返回码;
当所述智能密钥装置不能提取所述需要复核的关键信息时,所述智能密钥装置检查其安全状态,如果当前安全状态是user状态,则计算所述待签名数据原文的哈希值的签名结果,将签名结果发给中间件,所述方法结束;如果当前安全状态不是user状态,则返回表示“权限不足”的返回码给所述中间件。
所述中间件根据所述智能密钥装置的确认处理结果,进行相应地操作,具体是:
如果所述中间件接收到表示“需要按键确认”的返回码,则在事先约定的时间间隔内,返回所述智能密钥装置检查其按键状态的确认处理;
如果所述中间件接收到表示“取消”的返回码,则发出报错信息,所述方法结束;
如果所述中间件接收到表示“权限不足”的返回码,则所述中间件通过图形界面提示用户输入PIN码,并在接收用户输入的PIN码后,下发VerifyPIN指令;所述智能密钥装置验证中间件下发的PIN码,如果成功,则将其安全状态设为user,并计算待签名数据原文的哈希值的签名结果,将所述签名结果发给中间件,返回中间件的上层应用,所述方法结束;否则,将其安全状态设为public,执行所述智能密钥装置检查其安全状态的确认处理。
所述待签名数据的类型是待签名数据原文、待签名数据原文的哈希值或者预先约定的规则编码的带有哈希算法标识的哈希值。
当所述待签名数据是待签名数据原文时,所述中间件还包括处理所述待签名数据原文的过程,具体为:所述中间件扫描所述待签名数据原文,提取所述待签名数据原文中需要复核的关键信息,组成复核信息,并计算所述待签名数据原文的哈希值。
当所述待签名数据是预先约定的规则编码的带有哈希算法标识的哈希值时,所述中间件还包括处理所述待签名数据原文的过程,具体为:根据相应规则对其进行解码,得到算法标识和待签名数据原文的哈希值。
所述中间件根据所述待签名数据的类型,将所述待签名数据发送给所述智能密钥装置,具体为所述中间件通过下发put hash指令将所述待签名数据原文的哈希值发送给所述智能密钥装置。
所述智能密钥装置缓存其接收到的所述待签名数据,具体是所述智能密钥装置缓存其接收到的待签名数据原文的哈希值。
所述中间件下发签名指令,具体还包括:所述中间件判断是否有复核信息,如果所述中间件判断有复核信息,则所述中间件通过所述签名指令将复核信息发给所述智能密钥装置,所述智能密钥装置通过其内置液晶屏显示所述复核信息,并等待按键确认其内置液晶屏显示的复核信息是否正确。
所述智能密钥装置接收到所述获取签名结果指令后进行确认处理,具体是:
所述智能密钥装置检查其确认键是否被按下,如果确认键被按下,则计算待签名数据原文的哈希值的签名结果,发送给所述中间件,所述方法结束;
如果等待按键时间超过预设的时间值,或者取消键被按下,则向中间件返回表示“取消”的返回码;
否则,向中间件返回表示“需要按键确认”的返回码。
所述中间件根据所述智能密钥装置的确认处理结果,进行相应地操作,具体是:
如果所述中间件接收到表示“需要按键确认”的返回码,则在事先约定的时间间隔内,返回所述智能密钥装置检查其按键状态的确认处理;
如果所述中间件接收到表示“取消”的返回码,则发出报错信息,所述方法结束;
如果所述中间件接收到待签名数据原文的哈希值的签名结果,则将所述签名结果发给所述中间件上层应用程序,所述方法结束。
本发明的有益效果是:本发明提供的一种智能密钥装置的签名方法,综合了多种交互机制,容易区分有复核信息的签名和不含复核信息的签名,保证两种签名的安全性,并同时提高适用性。
附图说明
图1是实施例1提供的一种智能密钥装置的签名方法流程图;
图2是实施例2提供的一种智能密钥装置的签名方法流程图。
具体实施方式
下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
实施例1
图1是实施例1提供的一种智能密钥装置的签名方法流程图,图1中,本发明实施例1提供的一种智能密钥装置的签名方法,具体包括:
步骤101:中间件下发MSE(Manage Security Environment:创建安全环境)指令,设置签名算法,并指定签名所使用的密钥ID。
其中,签名算法和密钥ID是上层应用程序通过中间件提供的接口预先设置的,应用程序是指为了完成某项或某几项特定任务而被开发运行于操作系统之上的计算机程序;中间件(Middleware)是处于操作系统和应用程序之间的软件。
中间件提供的接口是符合CSP规范的接口,CSP(Cryptographic ServiceProvider)接口是微软专为Windows系列操作系统制定的底层加密接口,用于管理硬件或软件形式的加密设备,实现数据加密、解密,数字签名、验证和数据摘要(即hash)等。
指定签名所使用的密钥ID具体为调用cryptgetuserkey接口指定的密钥ID。
步骤102:中间件判断将要下发的数据类型;当上述要下发的数据为待签名数据原文时,执行步骤103-11,否则,执行步骤103-21。
其中,要下发的数据是上层应用程序通过中间件提供的接口预先传入的,中间件提供的接口是符合CSP规范的接口。
具体地,如果要下发的数据是上层应用程序调用中间件的CryptHashData接口传给中间件的,则要下发的数据是待签名数据原文;如果要下发的数据是上层应用程序调用中间件的CryptSetHashParam接口传给中间件的,则要下发的数据是待签名数据原文的hash值。
步骤103-11:中间件下发hash指令,并将待签名数据原文发送给智能密钥装置。
步骤103-12:智能密钥装置接收待签名数据原文,并将待签名数据原文,缓存于智能密钥装置内部,然后执行步骤104。
步骤103-21:中间件下发Put hash指令,并将待签名数据原文的哈希值发送给智能密钥装置。
步骤103-22:智能密钥装置缓存待签名数据原文的哈希值于智能密钥装置内部,然后执行步骤104。
步骤104:中间件下发签名指令(sign指令),智能密钥装置检查是否存有待签名数据原文,如果存有待签名数据原文,则执行步骤105;否则,执行步骤106。
步骤105:智能密钥装置根据预先约定的规则扫描待签名数据原文,判断是否能提取需要复核的关键信息,如果能提取需要复核的关键信息,则利用智能密钥装置内置的液晶屏显示该需要复核的关键信息,并向中间件返回表示“需要按键确认”的返回码0x9999,并计算该待签名数据原文的哈希值,执行步骤107,否则,直接计算该待签名数据原文的哈希值,执行步骤107。
其中,根据预先约定的规则扫描待签名数据原文,提取需要复核的关键信息,具体为:
以Accoount、Amount和Name为关键字,从原文中提取关键信息,本实施例中,待签名数据原文为:
Account=1234567890123456789&Amount=12.50&Name=Wang
则以Accoount、Amount和Name为关键字,提取关键信息时,关键字对应的1234567890123456789、12.50、Wang即为关键信息,则解析得到需要复核的关键信息为
1234567890123456789
12.50
Wang
步骤106:智能密钥装置将安全状态设为plublic状态,并向中间件返回表示“需要验证PIN码”的返回码0x6982,之后执行步骤108。
其中,User状态是为智能密钥装置上电并经中间件下发verify PIN指令后,验证PIN码成功的状态,反之为Public状态。
步骤107:中间件下发获取签名结果指令(get signature指令),智能密钥装置检查其按键状态。
如果确认键已按下,则计算待签名数据原文的哈希值的签名结果,发给中间件返回给上层应用,本方法结束。否则,如果等待时间超过预设的时间值,或者取消键已被按下,则向中间件返回表示“取消”的返回码0x8888;否则,中间件返回表示“需要按键确认”的返回码0x9999。
步骤108:中间件下发获取签名结果指令,智能密钥装置检查其安全状态。
如果当前安全状态是user状态,则计算待签名数据原文的哈希值的签名结果,将签名结果发给中间件,本方法结束。否则,返回表示“权限不足”的返回码0x6982;
其中,User状态是智能密钥装置上电并经中间件下发verify PIN指令后,验证PIN码成功的状态,反之为Public状态。
步骤109,中间件接收智能密钥装置返回的返回码,并执行相应操作。
如果中间件接收到0x9999返回码,则在事先约定的时间间隔(如1秒)后执行步骤107。
如果接收到0x8888返回码,则发送报错信息,本方法结束。
如果接收到0x6982返回码,执行步骤110。
步骤110:中间件通过图形界面提示用户输入PIN码,并在接收用户输入的PIN码后下发VerifyPIN指令。智能密钥装置通过VerifyPIN指令接收PIN码后,对中间件下发的PIN码进行验证,如果验证成功,则将安全状态设为user,计算待签名数据原文的哈希值的签名结果,并将签名结果发给中间件,本方法结束。否则,将安全状态设为public,执行步骤108。
本发明的实施例1提供了一种智能密钥装置的签名方法,综合了多种交互机制,容易区分有复核信息的签名和不含复核信息的签名,保证两种签名的安全性,并同时提高适用性。
实施例2
图2是实施例2提供的一种智能密钥装置的签名方法流程图。图2中,本发明实施例2提供的一种智能密钥装置的签名方法,具体包括:
步骤201:中间件下发MSE(Manage Security Environment:创建安全环境)指令,设置签名算法,并指定签名所使用的密钥ID。
其中,签名算法和密钥ID是上层应用程序通过中间件提供的接口预先设置的,指定签名所使用的密钥ID具体为调用cryptgetuserkey接口指定的密钥ID。
步骤202:中间件判断上层应用传入的待签名数据的类型,确定下发的待签名数据类型。
其中,上层应用传入的待签名数据的类型包括签名算法标识、待签名数据,具体由上层应用程序通过中间件提供的接口传入,中间件提供的接口是符合PKCS#11规范的接口,具体为C_Sign。
具体地,中间件判断上层应用传入的待签名数据的类型,包括:
如果上层应用传入的待签名数据中的签名算法标识是指定了hash算法的标识(如CKM_SHA_1_RSA_PKCS或CKM_MD5_RSA_PKCS等),则所述待签名数据是待签名数据原文。
如果上层应用传入的待签名数据长度符合预先约定的长度(优选地,36字节),则签名算法为事先约定的算法(如SSL3_SHAMD5-RSA),待签名数据是待签名数据原文的哈希值。
否则,上层应用传入的待签名数据是预先约定的规则(如RFC3280)编码的带有哈希算法标识的哈希值。
步骤203:中间件对待签名数据进行处理。
处理过程具体为:如果待签名数据是待签名数据原文,则根据预先约定的规则扫描解析待签名数据原文,提取需要复核的关键信息,将关键信息组合成复核信息,并计算该待签名数据原文的哈希值。
优选地,根据预先约定的规则扫描待解析签名数据原文,提取需要复核的关键信息具体为:
将待签名数据原文作为XML文档进行解析,以元素<ToAffirm>Y</ToAffirm>为标识,提取需要复核的关键信息。其中,xml就是eXtensible Markup Language,翻译成中文就是“可扩展标识语言“,具体地,XML是一种元标记语言,就是开发者可以根据自己的需要定义自己的标记,比如开发者可以定义如下标记<book><name>。本实施例中,待签名数据原文如下:
<?xml version=″1.0″encoding=″UTF-8″?>
<SignData>
<Txn>
<TxnName>行内转账</TxnName>
<Flds>
<Fld>
<ID>fromAcct</ID>
<Name>转出账户</Name>
<Val>100234500023-101</Val>
<ToAffirm>Y</ToAffirm>
</Fld>
<Fld>
<ID>toAccgt</ID>
<Name>转入帐号</Name>
<Val>743893227348972</Val>
<ToAffirm>Y</ToAffirm>
</Fld>
<Fld>
<ID>amt</ID>
<Name>金额</Name>
<Val>8430934934809</Val>
<ToAffirm>Y</ToAffirm>
</Fld>
<Fld>
<ID>Sid</ID>
<Name>SID</Name>
<Val>DJLKJDSOIUOISDU</Val>
</Fld>
<Fld>
<ID>Rid</ID>
<Name>RID</Name>
<Val>QCB</Val>
</Fld>
</Flds>
</Txn>
</SignData>
解析得到的关键信息是:
转出账户
100234500023-101
转入账号
743893227348972
金额
8430934934809
最终的复核信息是
转出账户:100234500023-101
转入账号:743893227348972
金额:8430934934809
如果待签名数据是预先约定的规则(如RFC3280)编码的带有哈希算法标识的哈希值,则根据相应规则对其进行解码,得到算法标识和待签名数据哈希值。
如果待签名数据的类型是待签名数据原文的哈希值,则不作特殊处理。
步骤204:中间件下发Put hash指令,将待签名数据原文的哈希值发送给智能密钥装置,智能密钥装置缓存所述待签名数据原文哈希值于智能密钥装置内部。
步骤205:中间件下发签名指令。
智能密钥装置接收中间件下发的签名指令后,检测是否有复核信息,如果有复核信息,智能密钥装置通过其内置液晶屏显示复核信息,其中,中间件在签名指令中把复核信息发给智能密钥装置。
智能密钥装置根据中间件指定的密钥ID检索签名所使用的密钥,等待按键确认其内置液晶屏显示的复核信息。
步骤206:中间件下发获取签名结果指令,智能密钥装置检查确认键是否按下,如果已按下,则计算待签名数据原文的哈希值的签名结果,发给中间件,结束,即,即使智能密钥装置没有检测到复核指令,当其确认键被按下后,仍然计算待签名数据原文的哈希值的签名结果,发给中间件,结束;否则,如果等待时间超过预设的时间值,或者取消键已被按下,则向中间件返回表示“取消”的返回码0x8888;否则,中间件返回表示“需要按键确认”的返回码0x9999,执行步骤207。
步骤207:中间件接收智能密钥装置返回的返回码,并执行相应操作。
如果中间件接收到0x9999返回码,则在事先约定的时间间隔(如1秒)后执行步骤206。
如果接收到0x8888返回码,报错结束。
如果接收到待签名数据原文的哈希值的签名结果,将其发给上层应用程序,本方法结束。
本发明实施2例提供了一种智能密钥装置的签名方法,综合了多种交互机制,容易区分有复核信息的签名和不含复核信息的签名,保证两种签名的安全性,并同时提高适用性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (17)
1.一种智能密钥装置的签名方法,其特征是所述方法包括:
中间件下发创建安全环境指令,设置签名算法,并指定签名所使用的密钥ID;
所述中间件判断将要发送给智能密钥装置的待签名数据的类型;
所述中间件根据所述待签名数据的类型,将所述待签名数据发送给所述智能密钥装置;
所述智能密钥装置缓存其接收到的所述待签名数据;
所述中间件下发签名指令;
所述中间件下发获取签名结果指令,所述智能密钥装置接收到所述获取签名结果指令后进行确认处理;
所述中间件根据所述智能密钥装置的确认处理结果,进行相应地操作。
2.根据权利要求1所述的一种智能密钥装置的签名方法,其特征是所述待签名数据的类型是待签名数据原文或者待签名数据原文的哈希值。
3.根据权利要求2所述的一种智能密钥装置的签名方法,其特征是所述中间件根据所述待签名数据的类型,将所述待签名数据发送给所述智能密钥装置,具体为所述中间件通过下发hash指令将所述待签名数据原文发送给所述智能密钥装置。
4.根据权利要求2所述的一种智能密钥装置的签名方法,其特征是所述中间件根据所述待签名数据的类型,将所述待签名数据发送给所述智能密钥装置,具体为所述中间件通过下发put hash指令将所述待签名数据原文的哈希值发送给所述智能密钥装置。
5.根据权利要求3所述的一种智能密钥装置的签名方法,其特征是所述智能密钥装置缓存其接收到的所述待签名数据,具体是所述智能密钥装置缓存其接收到的待签名数据原文。
6.根据权利要求4所述的一种智能密钥装置的签名方法,其特征是所述智能密钥装置缓存其接收到的所述待签名数据,具体是所述智能密钥装置缓存其接收到的待签名数据原文的哈希值。
7.根据权利要求5或6所述的一种智能密钥装置的签名方法,其特征是所述中间件下发签名指令,具体还包括:所述智能密钥装置接收所述中间件下发的签名指令后,检查所述智能密钥装置是否缓存有待签名数据原文;如果所述智能密钥装置缓存有待签名数据原文,则所述智能密钥装置根据预先约定的规则扫描解析所述待签名数据原文,判断是否能提取需要复核的关键信息,如果能提取需要复核的关键信息,则提取所述需要复核的关键信息组成复核信息,利用所述智能密钥装置内置的液晶屏显示后,向中间件返回表示“需要按键确认”的返回码,并计算所述待签名数据原文的哈希值;如果不能提取需要复核的关键信息,则计算所述待签名数据原文的哈希值;如果所述智能密钥装置未缓存有待签名数据原文,则智能密钥装置将安全状态设为public,并向中间件返回表示“需要验证PIN码”的返回码。
8.根据权利要求7所述的一种智能密钥装置的签名方法,其特征是所述智能密钥装置接收到所述获取签名结果指令后进行确认处理,具体是:
当所述智能密钥装置能提取所述需要复核的关键信息时,所述智能密钥装置检查其按键状态,如果确认键被按下,则计算待签名数据原文的哈希值的签名结果,发送给所述中间件,所述方法结束;如果等待按键时间超过预设的时间值,或者取消键被按下,则向中间件返回表示“取消”的返回码;否则,向中间件返回表示“需要按键确认”的返回码;
当所述智能密钥装置不能提取所述需要复核的关键信息时,所述智能密钥装置检查其安全状态,如果当前安全状态是user状态,则计算所述待签名数据原文的哈希值的签名结果,将签名结果发给中间件,所述方法结束;如果当前安全状态不是user状态,则返回表示“权限不足”的返回码给所述中间件。
9.根据权利要求8所述的一种智能密钥装置的签名方法,其特征是所述中间件根据所述智能密钥装置的确认处理结果,进行相应地操作,具体是:
如果所述中间件接收到表示“需要按键确认”的返回码,则在事先约定的时间间隔内,返回所述智能密钥装置检查其按键状态的确认处理;
如果所述中间件接收到表示“取消”的返回码,则发出报错信息,所述方法结束;
如果所述中间件接收到表示“权限不足”的返回码,则所述中间件通过图形界面提示用户输入PIN码,并在接收用户输入的PIN码后,下发VerifyPIN指令;所述智能密钥装置验证中间件下发的PIN码,如果成功,则将其安全状态设为user,并计算待签名数据原文的哈希值的签名结果,将所述签名结果发给中间件,返回中间件的上层应用,所述方法结束;否则,将其安全状态设为public,执行所述智能密钥装置检查其安全状态的确认处理。
10.根据权利要求1所述的一种智能密钥装置的签名方法,其特征是所述待签名数据的类型是待签名数据原文、待签名数据原文的哈希值或者预先约定的规则编码的带有哈希算法标识的哈希值。
11.根据权利要求10所述的一种智能密钥装置的签名方法,其特征是,当所述待签名数据是待签名数据原文时,所述中间件还包括处理所述待签名数据原文的过程,具体为:所述中间件扫描所述待签名数据原文,提取所述待签名数据原文中需要复核的关键信息,组成复核信息,并计算所述待签名数据原文的哈希值。
12.根据权利要求10所述的一种智能密钥装置的签名方法,其特征是,当所述待签名数据是预先约定的规则编码的带有哈希算法标识的哈希值时,所述中间件还包括处理所述预先约定的规则编码的带有哈希算法标识的哈希值的过程,具体为:根据相应规则对其进行解码,得到算法标识和待签名数据原文的哈希值。
13.根据权利要求10、11或12所述的一种智能密钥装置的签名方法,其特征是所述中间件根据所述待签名数据的类型,将所述待签名数据发送给所述智能密钥装置,具体为所述中间件通过下发put hash指令将所述待签名数据原文的哈希值发送给所述智能密钥装置。
14.根据权利要求13所述的一种智能密钥装置的签名方法,其特征是所述智能密钥装置缓存其接收到的所述待签名数据,具体是所述智能密钥装置缓存其接收到的待签名数据原文的哈希值。
15.根据权利要求14所述的一种智能密钥装置的签名方法,其特征是所述中间件下发签名指令,具体还包括:所述中间件判断是否有复核信息,如果所述中间件判断有复核信息,则所述中间件通过所述签名指令将复核信息发给所述智能密钥装置,所述智能密钥装置通过其内置液晶屏显示所述复核信息,并等待用户按键确认其内置液晶屏显示的复核信息是否正确。
16.根据权利要求15所述的一种智能密钥装置的签名方法,其特征是所述智能密钥装置接收到所述获取签名结果指令后进行确认处理,具体是:
所述智能密钥装置检查其确认键是否被按下,如果确认键被按下,则计算待签名数据原文的哈希值的签名结果,发送给所述中间件,所述方法结束;
如果等待按键时间超过预设的时间值,或者取消键被按下,则向中间件返回表示“取消”的返回码;
否则,向中间件返回表示“需要按键确认”的返回码。
17.根据权利要求16所述的一种智能密钥装置的签名方法,其特征是所述中间件根据所述智能密钥装置的确认处理结果,进行相应地操作,具体是:
如果所述中间件接收到表示“需要按键确认”的返回码,则在事先约定的时间间隔内,返回所述智能密钥装置检查其按键状态的确认处理;
如果所述中间件接收到表示“取消”的返回码,则发出报错信息,所述方法结束;
如果所述中间件接收到待签名数据原文的哈希值的签名结果,则将所述签名结果发给所述中间件上层应用程序,所述方法结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102444063A CN101763477B (zh) | 2009-12-30 | 2009-12-30 | 一种智能密钥装置的签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102444063A CN101763477B (zh) | 2009-12-30 | 2009-12-30 | 一种智能密钥装置的签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101763477A CN101763477A (zh) | 2010-06-30 |
CN101763477B true CN101763477B (zh) | 2011-12-28 |
Family
ID=42494638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102444063A Active CN101763477B (zh) | 2009-12-30 | 2009-12-30 | 一种智能密钥装置的签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101763477B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326863B (zh) * | 2013-06-24 | 2015-12-02 | 飞天诚信科技股份有限公司 | 一种电子签名工具的签名方法 |
CN103490894B (zh) * | 2013-09-09 | 2016-08-10 | 飞天诚信科技股份有限公司 | 一种确定智能密钥设备生命周期的实现方法及装置 |
CN103731273B (zh) * | 2014-01-13 | 2018-06-19 | 天地融科技股份有限公司 | 一种数据传输方法和系统 |
CN104519063B (zh) * | 2014-12-17 | 2017-07-14 | 飞天诚信科技股份有限公司 | 一种复核签名的实现方法 |
CN104993932B (zh) * | 2015-06-19 | 2018-04-27 | 飞天诚信科技股份有限公司 | 一种提高签名安全性的方法 |
CN107017995B (zh) * | 2017-04-21 | 2019-06-07 | 广东信鉴信息科技有限公司 | 混合签名及验签方法、装置及系统 |
CN107204853A (zh) * | 2017-06-30 | 2017-09-26 | 上海测吧信息技术有限公司 | 一种使用手机的无线数字签章方法 |
-
2009
- 2009-12-30 CN CN2009102444063A patent/CN101763477B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101763477A (zh) | 2010-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101763477B (zh) | 一种智能密钥装置的签名方法 | |
CN102624705B (zh) | 一种智能图像验证方法及系统 | |
US20120137353A1 (en) | Method and system for abstracted and randomized one-time use passwords for transactional authentication | |
CN101635714B (zh) | 提高网络应用安全性的方法和系统 | |
CN103778728A (zh) | 一种在自动柜员机上无银行卡实现交易的方法及系统 | |
CN101221641B (zh) | 一种联机交易的安全确认设备及联机交易方法 | |
CN101834946A (zh) | 一种进行安全手机支付的方法和进行安全支付的手机 | |
CN1937492A (zh) | 信息处理设备及其控制方法 | |
CN101252439A (zh) | 一种增强信息安全设备安全性的系统及方法 | |
CN101631022A (zh) | 一种签名方法和系统 | |
CN102223237A (zh) | 一种数据签名认证方法及系统 | |
CN101316166A (zh) | 基于随机字符组的动态口令身份认证方法 | |
CN101286848A (zh) | 登录认证方法和登录签名程序 | |
CN102684880A (zh) | 一种usb挑战应答令牌认证方法及系统 | |
CN102624687A (zh) | 基于移动终端的联网程序用户验证方法 | |
CN102148837A (zh) | 一种动态令牌双向认证方法及系统 | |
CN104348617A (zh) | 验证码处理方法、装置、终端及服务器 | |
KR101202245B1 (ko) | 이체정보로 생성되는 otp를 활용한 계좌이체시스템 및 방법 | |
CN102073803A (zh) | 一种增强usbkey安全的装置、方法及系统 | |
CN101212301B (zh) | 一种认证设备及认证方法 | |
CN101409622B (zh) | 一种数字签名系统及方法 | |
CN104301288A (zh) | 在线身份认证、在线交易验证、在线验证保护的方法与系统 | |
CN101656744B (zh) | 一种出钞机的通讯协议转发装置及方法 | |
CN101594354A (zh) | 提高转账安全性的方法和系统 | |
WO2015032255A1 (zh) | 智能密钥设备、移动终端以及动态口令的输出方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: FEITIAN TECHNOLOGIES CO., LTD. Free format text: FORMER NAME: BEIJING FEITIAN CHENGXIN TECHNOLOGY CO., LTD. |
|
CP03 | Change of name, title or address |
Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer Patentee after: Feitian Technologies Co., Ltd. Address before: 100083, Haidian District, Xueyuan Road, No. 40 research, 7 floor, 5 floor, Beijing Patentee before: Beijing Feitian Chengxin Science & Technology Co., Ltd. |