专利名称::电子钥匙与计算机之间实现绑定功能的方法
技术领域:
:本发明涉及信息安全领域,具体涉及一种在电子钥匙与计算机之间实现绑定功能的方法。技术背景计算机网络技术的飞速发展给人们带来的诸多便利,在过去的十多年里,电子商务、电子政府等新兴事物逐步走入我们的生活,我们不必每次都亲临现场进行商贸交易,不必每次亲自到相应机构办理手续,我们只需要登录相应网站,输入相应的信息就可以完成操作。这在很大程度上降低了成本,同时也方便了人们的生活。互联网络给我们带来了前所未有的便利,但同时也给不法分子带来了可趁之机。目前,黑客攻击、有害信息的传播等新型计算机犯罪活动日益猖獗,安全问题已经引起了各个方面的注意。为了防止在网络上传输的敏感信息被非法分子所截获,不少学者提出了各种安全解决方案,其中最为重要的要数PKI(公钥基础设施),在PKI体系中,每个参与者均有自己的公钥和私钥,公钥对所有人公开,而私钥只有自己知道。当发送方需要向接收方发送敏感数据时,发送方使用接收方的公钥对相应数据进行加密,接收方在接收到数据后使用自身的私钥进行解密。由于接收方的私钥只有自己知道,非法分子无法获得,从而保证了只有接收方才能正确取出原始敏感信息。除了要保证传输数据的安全性外,还需要对网络客户端的身份进行验证,以确保交易的安全性。目前看来,证书是使用非常普遍的一种身份认证手段,由于电子钥匙可以通过一系列的技术手段来保证其私钥信息不被外界访问,使其成为证书信息存储的首选设备,总之电子钥匙是一种带有统一规定的加密算法,能够解密规定的加密数据,并能存储用户数字证书的一种物理存储设备,一般插在计算机的USB接口上,电子钥匙相当于用户在系统中的身份证与通行证,即系统只允许拥有电子钥匙的用户登录系统并运行相关操作。电子钥匙中存储的代表身份的证书能够较好地解决网络传输中的客户端身份问题。同时其体积小,重量轻,使用者可以将敏感数据置于其中存储并随身携带来防止数据的泄漏。由此整个安全体系的瓶颈在于电子钥匙上,但由于电子钥匙有可能由于保管不当而丢失,捡到该电子钥匙的人有可能冒充该合法使用者来进行交易,从而给使用者带来损失。考虑到日常使用的计算机体积较大,相对于电子钥匙来言不易丢失。如果能够将计算机与电子钥匙结合起来代表客户端的身份将能够大大提高客户端身份的可信性。另外,通过在电子钥匙与相应计算机之间建立起绑定关系可以限制电子钥匙的使用范围,可以使系统安全变得更为可控。
发明内容为了克服上述缺陷,本发明的目的在于提供一种电子钥匙与计算机之间实现绑定功能的方法,该方法使电子钥匙只能在与其绑定的计算机上使用,增加了电子钥匙内秘密数据的安全性。为达到上述目的,本发明电子钥匙与计算机之间实现绑定功能的方法,包括步骤-(1)电子钥匙内产生随机数据并保存,之后将随机数据送入计算机中进行运算,运算结果再传入电子钥匙内;(2)电子钥匙内对计算机传入的数据进行逆运算,逆运算结果与电子钥匙内保存的随机数据进行比较,若相同,则证明电子钥匙与计算机之间建立了绑定关系,否则,关系不成立。其中,所述步骤(1)具体为(11)电子钥匙内产生随机数据并进行保存,之后将该随机数据送入计算机,计算机利用其内部的私钥对接收的随机数据进行运算,运算结果送入电子钥匙;所述步骤(2)具体为(21)电子钥匙使用其内部的公钥对计算机运算后数据进行逆运算,逆运算结果与电子钥匙内原始保存的随机数据进行比较,若相同,则证明电子钥匙与计算机之间建立了绑定关系,否则,绑定关系不成立。其中,所述步骤(11)之前包括-(10)产生公私钥对,将私钥直接存储在计算机中,将公钥直接存储在电子钥匙中。其中,所述步骤Gl)之前包括(101)产生公私钥对,提取出公钥将该公钥存储在电子钥匙中;(102)计算机利用加密密钥对该私钥或公私钥对进行加密,将加密后私钥或公私钥对保存在电子钥匙中;(103)使用时,电子钥匙将存储其内的加密后的私钥或公私钥对传送至计算机,计算机利用加密密钥对收到的加密后的私钥或公私钥对进行解密,得到私钥。其中,所述公私钥对是根据计算机的相关硬件的固有信息产生。其中,所述计算机在利用私钥对随机数据进行运算开始之前,还要对该私钥进行验证,所述对该私钥进行验证具体为计算机利用其相关硬件的固有信息再产生一个私钥,与所述要进行随机数据运算的私钥进行匹配,若匹配成功,则证明所述要进行随机数据运算的私钥是合法的,否则,证明绑定关系不成立。其中,所述加/解密使用的算法包括但不限于RSA、ECC、DH算法。其中,所述电子钥匙和计算机之间的绑定关系功能维持的有效期限由扩充的IS07816协议中的指令进行控制。其中,所述电子钥匙的芯片采用基于32位或以上的精简指令及计算机处理器的高安全芯上系统芯片。本发明所述的在电子钥匙与计算机之间实现绑定功能的方法,通过在电子钥匙内写入计算机端产生的公私钥来建立起两者之间的绑定关系,能有效地限制电子钥匙的使用范围(具体讲,限定电子钥匙只能在与其绑定的计算机上使用),从而使电子钥匙的使用安全更容易控制,提高了使用过程中的安全性,为系统的客户端用户认证提供更强有力保障。该发明可以广泛应用于安全要求较高的系统中,如银行、证券、保险、公安、国防等对数据安全性要求较高的应用系统。图1是本发明的电子钥匙与计算机之间实现绑定功能的电子钥匙构成模块图;图2是本发明的电子钥匙与计算机之间检测绑定示意图;图3是本发明的电子钥匙与计算机之间实现绑定功能的电子钥匙认证计算机的流程图。具体实施方式电子钥匙与计算机之间实现绑定功能的方法在电子钥匙内增加随机数据产生与保存模块,用于实现生成随机数据并能对随机数据进行保存的功能;在电子钥匙内增加数据比对模块,用于比较原始产生的随机数据与计算机返回的输入数据是否一致,如果两者一致,则外部程序可以使用电子钥匙内的受绑定保护的秘密数据。实现计算机与电子钥匙绑定的整个操作流程分为设定绑定和检测绑定两个阶段;在设定绑定阶段,设定绑定的方式可以有多种,以下介绍两种优选方式方式一、产生一对公私钥对数据,将私钥数据存储在计算机中,将公钥数据存储到电子钥匙中,以实现二者绑定关系的设定;方式二、为了达到更好的安全保密效果,可以将私钥或公私钥对数据加密为二进制加密数据后写入到电子钥匙中,在计算机需要使用此私钥或公私钥对数据时,电子钥匙再将此私钥或公私钥对数据传递到计算机中,计算机利用加密密钥对此私钥或公私钥对数据进行解密后使用,也可以实现二者绑定关系的设定。上述的公私钥对数据最好在安全计算环境下产生,就目前的技术来看,可以使用TPM(可信计算机)和BIOS软件来提供安全计算环境。具体实施时,安全计算环境中始终存在一个加密密钥,此加密密钥在安全计算环境中产生,并且永远不出此安全计算环境。上述的在安全计算环境中产生的公私钥对数据经过此加密密钥加密后再写入电子钥匙中。为了使公私钥对的公钥数据能够在电子钥匙中使用,需要在产生公私钥对数据时预先将公钥数据在安全计算环境中提取出来,再写入电子钥匙。上述的方式一和方式二中,公私钥对数据的产生是由计算机根据其相关硬件的固有信息产生;比如,计算机的相关硬件的固有信息可以为CPU、硬盘、主板、网卡等的生产编号信息的任意组合信息。在检测绑定阶段,相对应上述两种设定绑定的方式,有如下两种检测绑定的方法方法一、检测绑定时,电子钥匙产生随机数据并保存,然后送入计算机安全计算环境中,计算机利用其内部存储的私钥对该随机数据进行运算,并将运算结果再传入电子钥匙内,电子钥匙利用预先存储其内的公钥对输入数据进行逆运算,逆运算结果与其内存储的原始随机数据进行比较,如果相同,则证明电子钥匙与计算机之间存在绑定关系,否则,不存在绑定关系,即计算机就不能访问电子钥匙内的加密数据。方法二、检测绑定时,首先计算机将电子钥匙内保存的私钥或公私钥对二进制加密数据读取出来,并置于安全计算环境中进行解密,得到私钥,然后电子钥匙内产生随机数据并保存,随机数据送入计算机安全计算环境中利用私钥进行运算,运算结果再传入电子钥匙内,电子钥匙内利用预先存储其内的公钥对输入数据进行逆运算,逆运算结果与原始随机数据进行比较,如果相同,则证明电子钥匙与计算机之间存在绑定关系,否则,不存在绑定关系,计算机就不能访问电子钥匙内的加密数据。为了达到更好的安全效果,上述方法一和方法二中,计算机还可以对要进行随机数据运算的私钥进行验证,即再利用自身的硬件的固有信息按照与绑定关系设定阶段相同的方法产生一个私钥,与要进行随机数据运算的私钥进行匹配,若匹配成功,说明该要进行随机数据运算的私钥是合法的,否则不能进行后续的运算,证明绑定关系不成立。本发明中所述在电子钥匙与计算机之间实现绑定功能的方法主要适用于如图1所示的电子钥匙芯片,该电子钥匙在通用的电子钥匙芯片结构中加入了数据比对模块,该电子钥匙中的芯片最好是一个基于32位或以上的精简指令及计算机(RISC)处理器的高安全芯上系统(S0C)芯片,具备高处理能力、高安全性、低功耗、低成本等特点。本发明的核心就是针对计算机与电子钥匙的绑定关系,扩充了IS07816的协议,增加了如下几条指令(1)电子钥匙内用于产生随机数据并保存该随机数据的指令,具体指令内容见下表l和表2,其中,表2为表1所述指令的回送状态结果;<table>tableseeoriginaldocumentpage8</column></row><table>表l表1为随机数产生与保存的指令报文编码与说明;其可能回送的状态码如下表所示<table>tableseeoriginaldocumentpage8</column></row><table>表2表2为随机数产生与保存的命令的回送状态码及意义;如果上述命令返回状态码为9000,则说明随机数产生成功,并已经保存在电子钥匙内部。(2)电子钥匙内用于把从计算机接收到的数据进行逆运算后与原始保存的随机数据进行比对的指令,具体内容见下表3;<table>tableseeoriginaldocumentpage9</column></row><table>表4为表3的指令返回状态说明;上述命令执行后如果返回9000,则说明计算机与电子钥匙之间存在绑定关系。外部应用程序就可以使用电子钥匙中的秘密数据。电子钥匙和计算机之间建立起绑定关系就是根据这些指令来建立的。并且,在这些指令中加入了对绑定功能的时间控制,可以控制绑定关系的有效期限。当外部应用程序需要使用电子钥匙内的受绑定保护的数据时,如果此时电子钥匙还没有通过对与其相连的计算机的认证,则由应用程序发起电子钥匙对计算机的验证。图2描述了检测计算机与电子钥匙之间实现绑定关系的流程当外部应用程序需要使用电子钥匙内的受绑定保护的数据时,如果此时电子钥匙还没有通过对与其相连的计算机的认证,则由应用程序发起电子钥匙对计算机的验证,在图2所示的流程中,电子钥匙通过挑战/应答(challenge/response)的方式来检测当前与其通讯的计算机是否为与之绑定的计算机。计算机在安全计算环境产生公私钥对数据,为了使公私钥对的公钥能够在电子钥匙中使用,需要预先将公钥数据从安全计算环境中提取出来写入电子钥匙中;计算机利用加密密钥对其产生的私钥或公私钥对,经过加密后保存到电子钥匙内部,同时也可以保存在计算机的其它存储介质中备用。①处于计算机安全环境的外部应用程序层向USB电子钥匙请求使用受绑定的秘密资料;②电子钥匙中的私钥或公私钥二进制加密数据导入到计算机;③计算机用自身的加密密钥对传入的私钥或公私钥对二进制加密数据进行解密,获得解密后的私钥;④电子钥匙内的随机数产生模块产生随机数据;⑤产生的随机数据传输到计算机;⑥计算机利用其解密后的私钥在安全计算环境下对传入的随机数据进行运算;⑦运算结果传入到电子钥匙中,电子钥匙利用预先写入其内的公钥数据进行逆运算;⑧逆运算的结果与原始随机数据进行比较,如果相同则认定电子钥匙与计算机之间的绑定关系存在,否则认定电子钥匙与计算机不匹配,即两者之间不存在绑定关系;绑定检测通过之后,外部应用程序就可以使用电子钥匙内的秘密数据了。其中,计算机在安全计算环境产生公私钥对数据,也可以不经加密而分别将私钥存储到计算机,公钥存储在电子钥匙中,以在后续的电子钥匙与计算机之间进行检测绑定时使用,此时,上述方法需要作部分调整可以略过上述的步骤②和步骤③,步骤⑥中计算机直接利用其存储的的私钥。为了达到更好的安全效果,上述流程中,在步骤⑥前,还可以对要进行随机数据运算的私钥进行验证,利用自身的硬件的固有信息按照与绑定关系设定阶段相同的方法产生一个私钥,与要进行随机数据运算的私钥进行匹配,若匹配成功,说明该要进行随机数据运算的私钥是合法的,否则不能进行后续的运算,证明绑定关系不成立。上述电子钥匙与计算机之间实现绑定关系的方法中,力n/解密所使用的算法包括但不限于RSA算法、ECC算法、DH算法。图3为检测电子钥匙与计算机之间实现绑定关系的另一流程图具体步骤如下第一步,电子钥匙内产生随机数据,并将其保存在电子钥匙内;第二步,随机数据产生后,随机数据传入到计算机安全计算环境中,计算机使用私钥进行运算,外部应用程序获取计算机的运算结果后再将其传入到电子钥匙中;第三步,电子钥匙使用其内部的公钥进行逆运算,运算的结果再与原始随机数据进行比较,如果相同则证明电子钥匙与计算机之间存在绑定关系,否则此关系不成立。本发明提供的电子钥匙与计算机之间实现绑定功能的方法中所使用的公私钥对也可以通过其它方式获得,但最终需要将公钥写入电子钥匙,将私钥写入计算机。本发明所述的在电子钥匙与计算机之间实现绑定功能的方法,通过在电子钥匙内写入计算机端产生的公私钥来建立起两者之间的绑定关系,有效地限制电子钥匙的使用范围(具体讲,限定电子钥匙只能在与其绑定的计算机上使用),从而使电子钥匙的使用安全更容易控制,提高了使用过程中的安全性,为系统的客户端用户认证提供更强有力保障。该发明可以广泛应用于安全要求较高的系统中,如银行、证券、保险、公安、国防等对数据安全性要求较高的应用系统。权利要求1、电子钥匙与计算机之间实现绑定功能的方法,其特征在于,包括步骤(1)电子钥匙内产生随机数据并保存,之后将随机数据送入计算机中进行运算,运算结果再传入电子钥匙内;(2)电子钥匙内对计算机传入的数据进行逆运算,逆运算结果与电子钥匙内保存的随机数据进行比较,若相同,则证明电子钥匙与计算机之间建立了绑定关系,否则,关系不成立。2、如权利要求l所述的电子钥匙与计算机之间实现绑定功能的方法,其特征在于,所述步骤(1)具体为(11)电子钥匙内产生随机数据并进行保存,之后将该随机数据送入计算机,计算机利用其内部的私钥对接收的随机数据进行运算,运算结果送入电子钥匙;所述步骤(2)具体为(21)电子钥匙使用其内部的公钥对计算机运算后的数据进行逆运算,逆运算结果与电子钥匙内原始保存的随机数据进行比较,若相同,则证明电子钥匙与计算机之间建立了绑定关系,否则,绑定关系不成立。3、如权利要求2所述的电子钥匙与计算机之间实现绑定功能的方法,其特征在于,所述步骤(11)之前包括(10)产生公私钥对,将私钥直接存储在计算机中,将公钥直接存储在电子钥匙中。4、如权利要求2所述的电子钥匙与计算机之间实现绑定功能的方法,其特征在于,所述步骤(11)之前包括(101)产生公私钥对,提取出公钥将该公钥存储在电子钥匙中;(102)计算机利用加密密钥对该私钥或公私钥对进行加密,将加密后私钥或公私钥对保存在电子.钥匙中;(103)使用时,电子钥匙将存储其内的加密后的私钥或公私钥对传送至计算机,计算机利用加密密钥对收到的加密后的私钥或公私钥对进行解密,得到私钥。5、如权利要求2或3或4所述的电子钥匙与计算机之间实现绑定功能的方法,其特征在于,所述公私钥对是根据计算机的相关硬件的固有信息产生。6、如权利要求5所述的电子钥匙与计算机之间实现绑定功能的方法,其特征在于,所述计算机在利用私钥对随机数据进行运算开始之前,还要对该私钥进行验证,所述对该私钥进行验证具体为计算机利用其相关硬件的固有信息再产生一个私钥,与所述要进行随机数据运算的私钥进行匹配,若匹配成功,则证明所述要进行随机数据运算的私钥是合法的,否则,证明绑定关系不成立。7、如权利要求4所述的电子钥匙与计算机之间实现绑定功能的方法,其特征在于,所述加/解密使用的算法包括但不限于RSA、ECC、DH算法。8、如权利要求l所述的电子钥匙与计算机之间实现绑定功能的方法,其特征在于,所述电子钥匙和计算机之间的绑定关系功能维持的有效期限由扩充的IS07816协议中的指令进行控制。9、如权利要求l所述的电子钥匙与计算机之间实现绑定功能的方法,其特征在于,所述电子钥匙的芯片采用基于32位或以上的精简指令及计算机处理器的高安全芯上系统芯片。全文摘要本发明公开一种电子钥匙与计算机之间实现绑定功能的方法,涉及信息安全领域,为解决现有的电子钥匙丢失时,电子钥匙内的数据信息被泄漏的问题而发明。本发明的方法电子钥匙内产生随机数据并保存,之后将随机数据送入计算机中进行运算,运算结果再传入电子钥匙内;电子钥匙内对计算机传入的数据进行逆运算,逆运算结果与电子钥匙内保存的随机数据进行比较,若相同,则证明电子钥匙与计算机之间建立了绑定关系,否则,关系不成立。本发明的方法有效限制电子钥匙只能适用于与自己绑定的计算机,防止了丢失电子钥匙时数据被泄漏的问题。文档编号G06F21/00GK101127062SQ20061008926公开日2008年2月20日申请日期2006年8月14日优先权日2006年8月14日发明者刘军波,石玉平,鹏黄申请人:北京握奇数据系统有限公司