专利名称:多功能智能密钥设备及其安全控制的方法
技术领域:
本发明涉及身份认证和软件保护领域,特别涉及一种多功能智能密钥设备及其安全控制的方法。
背景技术:
近几年来,随着互联网技术与电子商务的快速发展,越来越多的商务活动转移到网络上开展,例如网上政府办公,网上数字银行,网上购物等。越来越多涉及个人隐私和商业秘密的数据信息需要通过网络传递,数据信息的安全性和保密性日益受到人们的重视。
基于智能密钥装置的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术,通常智能密钥装置是USB接口的,所以也称USB KEY。USB KEY中存储有PIN码,在进行身份认证时将USB KEY与计算机相连,用户在计算机上输入PIN码,USB KEY会自动校验该PIN码的正确性,只有当用户输入的PIN码和USB KEY中保存的PIN码完全相同时,才允许用户操作USB KEY,用户想进一步使用计算机上的文件时,还需经过USB KEY中的算法运算。这种软硬件相结合、一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾。个人身份认证设备可以实现密钥对生成,数字证书保存,用户权限设定等功能,并且保证用户的私钥永远不离开硬件的特征,安全性极高。
软件保护产品作为一种信息安全设备在软件版权保护领域发挥着重要的作用,它保护软件开发商的利益、增加收益,保护合法用户的利益,还可以控制软件分销。软件保护产品中设有加密锁,加密锁的专用芯片中存储有加密软件的校验密码,当用户运行该加密软件时,该加密软件会自动搜索加密锁中的密码进行校验,如果正确则用户可以打开该加密软件并使用,否则将无法运行该加密软件。通过在软件程序执行过程中对加密锁的访问,使软件程序运行带有对加密锁硬件的依赖性,利用加密锁硬件专用芯片的不易复制性,使软件也具有不易复制性,从而实现软件保护的目的。目前软件保护中使用的加密方式有两种,即外壳加密和源代码加密,外壳加密中用到的种子码算法一般都是自定义的算法,对外是不公开的。公开的算法主要有MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES、ECC等。
在进行身份认证时,为了防止其它用户不断地尝试攻击,校验PIN码(个人识别码,即个人密码或口令)的次数是受限制的,这样就保证了极高的安全性。用户可以通过USB KEY自带的软件来修改PIN码。在软件保护过程中,同一主机中可能会安装多个软件(相应的多个密码不同的软件加密锁一般也是并存的),如果我们经常需要运行其中的一个软件,每运行一次该软件,并存的软件加密锁就会被分别校验一次口令,所以如果每个软件加密锁的校验密码次数是受限制的,就会出现因部分加密锁校验次数超限而导致相应软件不能使用的情形,所以软件保护产品中校验密码的次数是不受限制的。无论是身份认证产品还是软件保护产品,上述功能一般都是通过软件中的安全控制模块、存储区管理模块和算法模块来完成的。
目前市场上的产品功能都是单一的,即或者只能用作软件保护,或者只能用作身份识别,当用户希望同时实现软件保护和身份识别两种功能时,就必须购买两个产品,一个软件保护产品和一个身份识别产品,这样使用和携带都不方便。
发明内容
为了解决现有的信息安全产品功能单一的问题,即一种产品或者只能用于身份认证,或者只能用于软件保护的问题,本发明提供了一种多功能智能密钥设备,包括命令解析模块和存储区管理模块,还包括密码属性配置模块,用于将存储在多功能智能密钥设备中的一个或多个密码的属性根据实际需要配置成校验次数受限或校验次数不受限;安全控制模块,用于根据所述命令解析模块发来的校验命令并参照需校验密码的属性进行密码校验。
所述密码属性配置模块为单一密码属性配置模块,用于将存储在多功能智能密钥设备中的唯一密码的属性配置成校验次数受限并将该密码用作身份认证,或将存储在多功能智能密钥设备中的唯一密码的属性配置成校验次数不受限并将该密码用作软件保护;相应地所述安全控制模块为单一密码校验模块,用于根据所述命令解析模块发来的校验命令当需校验密码的属性为校验次数受限时根据限定的最高次数进行校验,当需校验密码的属性为校验次数不受限时直接进行校验。
所述密码属性配置模块还可以为多密码属性配置模块,用于将存储在多功能智能密钥设备中的多个密码的属性配置成至少一个校验次数受限,一个校验次数不受限;相应地所述安全控制模块为多密码校验模块,用于根据所述命令解析模块发来的校验指定密码的命令选择相应的密码,再根据所选密码的属性进行校验。
所述设备还包括运算模块,用于根据接收到的所述命令解析模块发来的运算命令使用公开的算法或自定义的算法进行加密或解密的运算。
所述公开的算法为MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC。
本发明还提供了一种多功能智能密钥设备安全控制的方法,首先配置多功能智能密钥设备中密码的属性,然后执行以下步骤步骤A对多功能智能密钥设备进行初始化;步骤B所述多功能智能密钥设备接收计算机发来的校验密码的命令;步骤C所述多功能智能密钥设备根据所述命令并参照需校验密码的属性进行校验并返回校验的结果给所述计算机。
当所述多功能智能密钥设备中存储的密码只有一个时,所述步骤A、步骤B和步骤C具体为步骤A1对多功能智能密钥设备进行初始化;步骤B1所述多功能智能密钥设备接收计算机发来的校验密码的命令;步骤C1判断需校验密码的属性是否为校验次数受限,如果需校验密码的属性为校验次数受限,则校验所述密码是否正确,如果正确则返回成功的结果给所述计算机;如果不正确则判断是否已达限定的最高次数,如果是则返回当前校验失败且不能继续校验的结果给所述计算机,如果不是则返回当前校验失败的结果给所述计算机;如果需校验密码的属性为校验次数不受限,则校验所述密码是否正确,如果正确则返回成功的结果给所述计算机,否则返回失败的结果给所述计算机。
当所述多功能智能密钥设备中存储的密码有多个时,所述步骤A、步骤B和步骤C具体为步骤A2对多功能智能密钥设备进行初始化;步骤B2所述多功能智能密钥设备接收计算机发来的校验指定密码的命令;步骤C2根据所述命令选择相应的密码,然后判断所选密码的属性是否为校验次数受限,如果所选密码的属性为校验次数受限,则校验所述密码是否正确,如果正确则返回成功的结果给所述计算机;如果不正确则判断是否已达限定的最高次数,如果是则返回当前校验失败且不能继续校验的结果给所述计算机,如果不是则返回当前校验失败的结果给所述计算机;
如果所选密码的属性为校验次数不受限,则校验所述密码是否正确,如果正确则返回成功的结果给所述计算机,否则返回失败的结果给所述计算机。
所述方法还包括所述多功能智能密钥设备根据接收到计算机发来的运算命令用公开的算法或自定义的算法进行运算并返回运算的结果给所述计算机的步骤。
所述公开的算法为MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC。
本发明的有益效果是在一种产品上实现身份认证和软件保护的双重功能,方便使用和携带。
图1是本发明多功能智能密钥设备的结构示意图;图2是本发明单一密码多功能智能密钥设备安全控制方法的流程图;图3是本发明多密码多功能智能密钥设备安全控制方法的流程图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
实施例一参见图1,本发明提供了一种多功能智能密钥设备101,它包括命令解析模块102、存储区管理模块103、密码属性配置模块104和安全控制模块105,多功能密钥设备101通过USB接口与计算机107进行通讯。
命令解析模块102用于接收计算机107发来的命令并解析该命令,还用于根据解析的结果将该命令发送给相应的存储区管理模块103、密码属性配置模块104或安全控制模块105。
存储区管理模块103用于根据命令解析模块102发来的读写命令对多功能智能密钥设备101中的数据进行读取和存储的管理,并且能保证存储后的数据掉电后不丢失。
密码属性配置模块104,用于将存储在多功能智能密钥设备中的一个或多个密码的属性根据实际需要配置成校验次数受限或校验次数不受限。
安全控制模块105,用于根据所述命令解析模块102发来的校验命令并参照需校验密码的属性进行密码校验。
所述密码属性配置模块104为单一密码属性配置模块,用于将存储在多功能智能密钥设备中的唯一密码的属性配置成校验次数受限并将该密码用作身份认证,或将存储在多功能智能密钥设备中的唯一密码的属性配置成校验次数不受限并将该密码用作软件保护;相应地所述安全控制模块105为单一密码校验模块,用于根据所述命令解析模块102发来的校验命令当需校验密码的属性为校验次数受限时根据限定的最高次数进行校验,当需校验密码的属性为校验次数不受限时直接进行校验。
所述密码属性配置模块104还可以为多密码属性配置模块,用于将存储在多功能智能密钥设备中的多个密码的属性配置成至少一个校验次数受限,一个校验次数不受限;所述配置操作可以由厂商来执行,则所有密码的属性在多功能智能密钥设备出厂前就已经被固化在所述设备中;所述配置操作也可以由开发商二次开发时执行,则所有密码的属性在多功能智能密钥设备出厂前并不被固化在所述设备中,而是在开发商将所述设备交给最终用户之前才将其固化在所述设备中;相应地所述安全控制模块105为多密码校验模块,用于根据所述命令解析模块102发来的校验指定密码的命令选择相应的密码,再根据所选密码的属性进行校验。
所述多功能智能密钥设备101中还可以包括运算模块106,用于根据命令解析模块102发来的运算命令使用公开的算法或自定义的算法进行加密或解密的运算,公开的算法包括MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC等。
在实际应用中多功能智能密钥设备101还可以包括其它功能模块,如格式化模块,用于接收命令解析模块102发来的格式化命令并执行格式化的操作。
实施例二本发明提供了一种多功能智能密钥设备安全控制的方法,在本实施例中多功能智能密钥设备中存储的密码只有一个,在使用多功能智能密钥设备进行安全控制之前首先需要做密码属性配置的工作,即将存储在多功能智能密钥设备中的唯一密码的属性配置成校验次数受限并将该密码用作身份认证,或将存储在多功能智能密钥设备中的唯一密码的属性配置成校验次数不受限并将该密码用作软件保护(此配置工作一般由开发商在二次开发时来做),参见图2,然后执行以下步骤步骤201对多功能智能密钥设备进行初始化;步骤202多功能智能密钥设备接收计算机发来的校验密码的命令;步骤203判断所述密码的属性是否为校验次数受限,如果是则执行步骤204,否则执行步骤205;步骤204校验所述密码是否正确,如果正确则返回成功的结果给所述计算机;如果不正确则判断是否已达限定的最高次数,如果是则返回当前校验失败且不能继续校验的结果给所述计算机,如果不是则返回当前校验失败的结果给所述计算机;步骤205校验所述密码是否正确,如果正确则返回成功的结果给所述计算机,否则返回失败的结果给所述计算机。
实施例三本发明还提供了另外一种多功能智能密钥设备安全控制的方法,在本实施例中多功能智能密钥设备中存储的密码有多个,在使用多功能智能密钥设备进行安全控制之前首先需要做密码属性配置的工作,即将一个密码的属性配置成校验次数受限并指定最高的次数,另一个密码的属性配置成校验次数不受限,其余的密码属性配置成校验次数受限的或不受限的(此配置工作可以由厂商在多功能智能密钥设备出厂前就做好,也可以由开发商在二次开发时完成),参见图3,然后执行以下步骤步骤301对多功能智能密钥设备进行初始化;步骤302多功能智能密钥设备接收计算机发来的校验一个密码的命令,命令中的参数指定了需校验的密码的序号;步骤303根据所述命令中指定的序号选择相应的密码;步骤304判断该密码的属性是否为校验次数受限,如果是则执行步骤305,否则执行步骤306;步骤305校验所述密码是否正确,如果正确则将返回成功的结果给所述计算机;如果不正确则将判断是否已达限定的最高次数,如果是则返回当前校验失败且不能继续校验的结果给所述计算机,如果不是则返回当前校验失败的结果给所述计算机;步骤306校验所述密码是否正确,如果正确则返回成功的结果给所述计算机,否则返回失败的结果给所述计算机。
在实施例二和实施例三中,还可以增加运算的步骤多功能智能密钥设备根据接收到的计算机发来的运算命令用公开的算法或自定义的算法进行运算并将运算的结果返回给所述计算机,其中公开的算法为MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC等。
还可以增加其它处理的步骤,如格式化的步骤多功能智能密钥设备根据接收到计算机发来的格式化命令进行格式化操作。
以上所述的实施例,只是本发明较优选的具体实施方式
的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1.一种多功能智能密钥设备,包括命令解析模块和存储区管理模块,其特征在于,所述设备还包括密码属性配置模块,用于将存储在多功能智能密钥设备中的一个或多个密码的属性根据实际需要配置成校验次数受限或校验次数不受限;安全控制模块,用于根据所述命令解析模块发来的校验命令并参照需校验密码的属性进行密码校验。
2.根据权利要求1所述的多功能智能密钥设备,其特征在于,所述密码属性配置模块为单一密码属性配置模块,用于将存储在多功能智能密钥设备中的唯一密码的属性配置成校验次数受限并将该密码用作身份认证,或将存储在多功能智能密钥设备中的唯一密码的属性配置成校验次数不受限并将该密码用作软件保护;所述安全控制模块为单一密码校验模块,用于根据所述命令解析模块发来的校验命令当需校验密码的属性为校验次数受限时根据限定的最高次数进行校验,当需校验密码的属性为校验次数不受限时直接进行校验。
3.根据权利要求1所述的多功能智能密钥设备,其特征在于,所述密码属性配置模块为多密码属性配置模块,用于将存储在多功能智能密钥设备中的多个密码的属性配置成至少一个校验次数受限,一个校验次数不受限;所述安全控制模块为多密码校验模块,用于根据所述命令解析模块发来的校验指定密码的命令选择相应的密码,再根据所选密码的属性进行校验。
4.根据权利要求1所述的多功能智能密钥设备,其特征在于,所述设备还包括运算模块,用于根据接收到的所述命令解析模块发来的运算命令使用公开的算法或自定义的算法进行加密或解密的运算。
5.根据权利要求4所述的多功能智能密钥设备,其特征在于,所述公开的算法为MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC。
6.一种多功能智能密钥设备安全控制的方法,其特征在于,首先配置多功能智能密钥设备中密码的属性,然后执行以下步骤步骤A对多功能智能密钥设备进行初始化;步骤B所述多功能智能密钥设备接收计算机发来的校验密码的命令;步骤C所述多功能智能密钥设备根据所述命令并参照需校验密码的属性进行校验并返回校验的结果给所述计算机。
7.根据权利要求6所述的多功能智能密钥设备安全控制的方法,其特征在于,当所述多功能智能密钥设备中存储的密码只有一个时,所述步骤A、步骤B和步骤C具体为步骤A1对多功能智能密钥设备进行初始化;步骤B1所述多功能智能密钥设备接收计算机发来的校验密码的命令;步骤C1判断需校验密码的属性是否为校验次数受限,如果需校验密码的属性为校验次数受限,则校验所述密码是否正确,如果正确则返回成功的结果给所述计算机;如果不正确则判断是否已达限定的最高次数,如果是则返回当前校验失败且不能继续校验的结果给所述计算机,如果不是则返回当前校验失败的结果给所述计算机;如果需校验密码的属性为校验次数不受限,则校验所述密码是否正确,如果正确则返回成功的结果给所述计算机,否则返回失败的结果给所述计算机。
8.根据权利要求6所述的多功能智能密钥设备安全控制的方法,其特征在于,当所述多功能智能密钥设备中存储的密码有多个时,所述步骤A、步骤B和步骤C具体为步骤A2对多功能智能密钥设备进行初始化;步骤B2所述多功能智能密钥设备接收计算机发来的校验指定密码的命令;步骤C2根据所述命令选择相应的密码,然后判断所选密码的属性是否为校验次数受限,如果所选密码的属性为校验次数受限,则校验所述密码是否正确,如果正确则返回成功的结果给所述计算机;如果不正确则判断是否已达限定的最高次数,如果是则返回当前校验失败且不能继续校验的结果给所述计算机,如果不是则返回当前校验失败的结果给所述计算机;如果所选密码的属性为校验次数不受限,则校验所述密码是否正确,如果正确则返回成功的结果给所述计算机,否则返回失败的结果给所述计算机。
9.根据权利要求6所述的多功能智能密钥设备安全控制的方法,其特征在于,所述方法还包括所述多功能智能密钥设备根据接收到的计算机发来的运算命令用公开的算法或自定义的算法进行运算并将运算的结果返回给所述计算机的步骤。
10.根据权利要求9所述的多功能智能密钥设备安全控制的方法,其特征在于,所述公开的算法为MD5、HMAC_MD5、AES、DES、RSA、3DES、ECC、RC5、SHA-1、SSF33、AES或ECC。
全文摘要
本发明提供了一种多功能智能密钥设备及其安全控制的方法,属于身份认证和软件保护领域。为了解决现有的信息安全产品功能单一的问题,即一种产品或者只能用于身份认证,或者只能用于软件保护的问题,本发明通过配置存储在多功能智能密钥设备中的密码的校验次数为受限制或不受限制并进行相应的校验,从而实现了身份认证和软件保护的双重功能。
文档编号H04L9/32GK1889431SQ20061008896
公开日2007年1月3日 申请日期2006年7月27日 优先权日2006年7月27日
发明者陆舟, 于华章 申请人:北京飞天诚信科技有限公司