CN102571327A - 一种集中安全管理USBKey解锁密钥的方法 - Google Patents

一种集中安全管理USBKey解锁密钥的方法 Download PDF

Info

Publication number
CN102571327A
CN102571327A CN2010106195128A CN201010619512A CN102571327A CN 102571327 A CN102571327 A CN 102571327A CN 2010106195128 A CN2010106195128 A CN 2010106195128A CN 201010619512 A CN201010619512 A CN 201010619512A CN 102571327 A CN102571327 A CN 102571327A
Authority
CN
China
Prior art keywords
key
usb key
personal unlocking
usb
unlocking key
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.)
Granted
Application number
CN2010106195128A
Other languages
English (en)
Other versions
CN102571327B (zh
Inventor
任伟
吴一博
范峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Geer Anxin Technology Co.,Ltd.
Original Assignee
GEER SOFTWARE CO Ltd SHANGHAI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GEER SOFTWARE CO Ltd SHANGHAI filed Critical GEER SOFTWARE CO Ltd SHANGHAI
Priority to CN201010619512.8A priority Critical patent/CN102571327B/zh
Publication of CN102571327A publication Critical patent/CN102571327A/zh
Application granted granted Critical
Publication of CN102571327B publication Critical patent/CN102571327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Lock And Its Accessories (AREA)

Abstract

本发明的目的在于公开一种集中安全管理USBKey解锁密钥的方法,在USBKey交付给用户使用前,为每个USBKey生成唯一的解锁密钥,同时保证该解锁密钥的安全存储,在需要解锁的时候,还需要能够通过该解锁密钥对USBKey进行解锁;可以在分发大量USBKey设备时,确保各个USBKey解锁密钥的安全性,并为后续USBKey使用过程中出现的锁定,提安全的解锁,实现本发明的目的。

Description

一种集中安全管理USBKey解锁密钥的方法
技术领域
本发明涉及一种管理解锁密钥的方法,特别涉及一种集中安全管理USBKey解锁密钥的方法。 
背景技术
随着网上银行、网上安全交易的发展,基于公钥密码技术的USB Key开始被越来越多的人使用。 
公钥密码技术本身的安全性是通过算法保证的,可以在一定的时间范围内确保安全性,但是USB Key的使用,则是通过口令方式保护,而口令为了方便记忆,一般不会太长,经常是6~8位,所以最终安全的弱点在于口令的保护。 
为此,USB Key一般对口令采用重试次数限制,即如果多次输入错误口令,USB Key就会被锁定而不能使用,只有通过解锁密钥才能解锁,重新使用。 
上述这种重试次数限制的方式,在实际中也能有效保护口令,但是如果知道了解锁密钥,就使得这种保护形同虚设,口令可以无限次被尝试,而因为口令长度一般较短,就有很大的可能性通过尝试获取口令,从而破坏USB Key的安全性。 
目前USB Key的解锁密钥一般是较为固定的,Key厂商提供特定的解锁工具,并通过限制工具的分发来防止安全问题,一旦工具泄漏,USB Key就存在安全风险。 
综上所述,针对现有技术的缺陷,特别需要一种集中安全管理USB Key解锁密钥的方法,以解决以上提到的问题。 
发明内容
本发明的目的在于提供一种集中安全管理USB Key解锁密钥的方法,解决上述现有技术的缺陷,对大量USB Key的解锁密钥进行集中安全的管理, 可以解决因固定解锁口令或解锁工具泄漏,而带来的安全问题。 
本发明所解决的技术问题可以采用以下技术方案来实现: 
一种集中安全管理USB Key解锁密钥的方法,其特征在于,它包括如下步骤: 
1)通过加密机生成随机数作为解锁密钥; 
2)USB Key在交付用户使用前,将步骤1)生成的解锁密钥,通过微软CSP接口扩展写入USB Key中; 
3)将步骤1)生成的解锁密钥用加密机加密,同获取的USB Key的唯一标识一起,加密写入数据库中; 
4)如果USB Key被锁定,通过USB Key的唯一标识找到对应的加密后的解锁密钥,再通过加密机解密后,通过微软CSP接口扩展,对USB Key进行口令解锁。 
本发明的一个实施例中,在USB Key交付给用户使用前,为每个USB Key生成唯一的解锁密钥,同时保证该解锁密钥的安全存储,这个过程称为USBKey初始化过程;在需要解锁的时候,还需要能够通过该解锁密钥对USB Key进行解锁,即USB Key的PIN解锁过程 
本发明的一个实施例中,所述CSP接口使用CryptGetProvParam函数获取USB Key信息,所述CSP接口使用CryptSetProvParam函数进行USB Key初始化,所述CSP接口使用CryptSetProvParam函数进行USB Key的PIN解锁。 
本发明中的集中安全管理USB Key解锁密钥的方法的安全性由以下方面保证: 
1、每个USB Key的解锁密钥,是由加密机生成的随机数,可保证每个USB Key的解锁密钥都各不相同,即使一个USB Key的解锁密钥偶然泄漏,也不会影响到其他; 
2、USB Key的解锁密钥通过加密写入数据库中,在管理得当的前提下,可以确保解锁密钥不会被泄漏; 
3、USB Key一旦被锁定,必须通过前述步骤中的数据库和加密机才能重新解锁,在管理得当的前提下,解锁的过程和方式都是安全的; 
4、可以在分发大量USB Key设备时,确保各个USB Key解锁密钥的安全 性,并为后续USB Key使用过程中出现的锁定,提安全的解锁。 
本发明的集中安全管理USB Key解锁密钥的方法,在USB Key交付给用户使用前,为每个USB Key生成唯一的解锁密钥,同时保证该解锁密钥的安全存储,在需要解锁的时候,还需要能够通过该解锁密钥对USB Key进行解锁;可以在分发大量USB Key设备时,确保各个USB Key解锁密钥的安全性,并为后续USB Key使用过程中出现的锁定,提安全的解锁,实现本发明的目的。 
本发明的特点可参阅本案图式及以下较好实施方式的详细说明而获得清楚地了解。 
附图说明
图1为本发明的基于分段设计的证书序列号的证书状态在线查询方法的流程图。 
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。 
如图1所示,本发明的集中安全管理USB Key解锁密钥的方法,它包括如下步骤: 
1)通过加密机生成随机数作为解锁密钥; 
2)USB Key在交付用户使用前,将步骤1)生成的解锁密钥,通过微软CSP接口扩展写入USB Key中; 
3)将步骤1)生成的解锁密钥用加密机加密,同获取的USB Key的唯一标识一起,加密写入数据库中; 
4)如果USB Key被锁定,通过USB Key的唯一标识找到对应的加密后的解锁密钥,再通过加密机解密后,通过微软CSP接口扩展,对USB Key进行口令解锁。 
本发明的集中安全管理USB Key解锁密钥的方法在USB Key交付给用户使用前,为每个USB Key生成唯一的解锁密钥,同时保证该解锁密钥的安全 存储,这个过程称为初始化过程;在需要解锁的时候,还需要能够通过该解锁密钥对USB Key进行解锁,即解锁过程。 
在USB Key的初始化过程中,在每一个USB Key交付给用户使用前,先通过加密机生成一个随机数作为解锁密钥,这个解锁密钥一方面通过表一中定义的CryptSetProvParam函数(参见dwParam是PP_INIT时的说明)参数传递下去,由CSP提供者实现写入USB Key中,另一方面会通过加密机加密后,写入数据库中。同时与解锁密钥一起写入的还有USB Key的序列号,是通过CryptGetProvParam(参见dwParam是PP_GETINFO时的说明)获取。 
在USB Key锁定后的解锁过程中,首先通过CryptGetProvParam(参见dwParam是PP_GETINFO时的说明),获取USB Key的序列号,然后在数据库中查找到对应的加密后的解锁密钥,通过加密机加密后,将解锁密钥和新的口令通过表一中定义的CryptSetProvParam函数(参见dwParam是PP_RELOADPIN时的说明)参数传递下去,由CSP提供者根据解锁密钥,具体实现USB Key的解锁。 
由于对USB Key解锁密钥的操作不是一个标准接口,为了方便对不同类型USB Key的初始化,需要一个统一的接口。本发明通过一个基于微软CSP的扩展接口来实现这一功能,具体见下面的CSP扩展接口描述。 
算法标识定义 
根据ALG_ID的定义规则,SM1(SCB2)属于块加密,这部分的ID从1~17已被占用,最大不能超过512。 
//Block cipher sub ids
#define ALG_SID_SM1    102 
#define ALG_SID_SSF33 103 
#define CALG SM1(ALG CLASS DATA ENCRYPT|ALG TYPE BLOCK|ALG SID SM1) 
#define CALG SSF33(ALG CLASS DATA ENCRYPT|ALG TYPEBLOCK|ALG SID SSF33) 
#define CALG SM1 NAME“SM1” 
#define CALG SSF3 3NAME“SSF33” 
为在ASN.1结构中使用算法,还需要定义算法的OID,依据国密定义: 
#define szOID SM1“1.2.156.197.1.102” 
#define szOID SSF33“1.2.156.197.1.103” 
CSP扩展接口包括如下三个函数: 
1、获取USB Key信息 
获取USB Key信息基于CryptGetProvParam函数。 
    BOOL WINAPI CryptGetProvParam( 
      HCRYPTPROV hProv, 
      DWORD dwParam, 
      BYTE*pbData, 
      DWORD*pdwDataLen, 
      DWORD dwFlags 
    ); 
dwParam 
[in]增加获取USB Key信息的参数:PP_GETINFO 
pbData
[in]放置返回的USB Key信息 
返回数据以JSON格式定义,因为可能有多个USB Key同时存在,所以用JSON的array方式表示数据,其中的每个元素都代表一个USB Key信息。如下所示(假设有两个USB Key情况): 
    { 
        ″model″:″SZD1000-A″, 
        ″SN″:″00000000″, 
        ″inited″:false 
    } 
    { 
        ″model″:″SZD2000″, 
        ″SN″:″00000001″, 
        ″inited″:true 
    } 
各个参数含义如下: 
  标识   数据类型   含义
  model   String   USB Key产品型号
  SN   String   USB Key的唯一序列号
  inited   Boolean   USB Key是否做过初始化
2、USB Key初始化 
USB Key初始化使用CryptSetProvParam函数: 
    BOOL WINAPI CryptSetProvParam( 
      HCRYPTPRO V hProy, 
      DWORD dwParam, 
      BYTE* pbData, 
      DWORD dwFlags 
    ); 
dwParam 
[in]增加USB Key初始化参数PP_INIT 
  数值  含义
  PP_INIT  USB Key初始化,pbData中以JSON格式传递初始化参数
初始化参数以JSON格式定义,为避免歧义,所有Key值以Hexadecimal格式表示,如下所示: 
    ″model″:″SZD1000-A″, 
    ″SN″:″00000000″, 
    ″reloadPinKey″:″31313131313131313131313131313131″, 
    ″initPin″:″12345678″, 
    ″minPinLen″:8, 
    ″maxPinLen″:16, 
    ″retryCount″:5 
各个参数含义如下: 
  标识   数据类型  含义
  SN   String  指定哪个USB Key需要初始化
  reloadPinKey   Hexadecimal  初始化后的PIN解锁密钥
  initPin   String  初始化后的PIN
  minPinLen   Int  初始化后PIN的最少位数
  maxPinLen   Int  初始化后PIN的最大位数
  retryCount   Int  初始化后PIN的错误计数,即最大尝试次数
USB Key要能够根据参数完成自身的初始化,返回参数依照CryptSetProvParam的定义,若有错误通过SetLastError设置。错误定义参见后面表。
3、USB Key的PIN解锁 
USB Key的PIN解锁使用CryptSetProvParam函数: 
  BOOL WINAPI CryptSetProvParam( 
  HCRYPTPRO V hProv, 
  DWORD dwParam, 
  BYTE*pbData, 
  DWORD dwFlags 
); 
dwParam 
[in]增加USB Key的PIN解锁参数PP_RELOADPIN 
Figure BDA0000042569460000081
PIN解锁参数以JSON格式定义,如下所示: 
″model″:″SZD1000-A″, 
    ″SN″:″00000000″, 
    ″reloadPinKey″:″31313131313131313131313131313131″, 
    ″initPin″:″12345678″ 
各个参数含义如下: 
  标识   数据类型   含义
  SN   String   指定哪个USB Key需要PIN解锁
  reloadPinKey   Hexadecimal   PIN解锁密钥
  initPin   String   解锁后的PIN
USB Key要能够根据参数完成PIN解锁操作,并设置USB Key的PIN值为initPIN的值。返回参数依照CryptSetProvParam的定义,若有错误通过SetLastError设置。错误定义参见后面表。
相关常量定义 
#define PP GETINFO     101 
#define PP INIT        102 
#define PP RELOADPIN   103 
#define PP_CHANGEPIN   104 
错误定义 
  错误号   含义
  0xF0000001   设备无效
  0xF0000002   设备读写错误
  0xF0000003   设备验证失败
[0129] 
  0xF0000004   设备安全性错误
  0xF0000005   设备空间不足
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其等效物界定。 

Claims (3)

1.一种集中安全管理USB Key解锁密钥的方法,其特征在于,它包括如下步骤:
1)通过加密机生成随机数作为解锁密钥;
2)USB Key在交付用户使用前,将步骤1)生成的解锁密钥,通过微软CSP接口扩展写入USB Key中;
3)将步骤1)生成的解锁密钥用加密机加密,同获取的USB Key的唯一标识一起,加密写入数据库中;
4)如果USB Key被锁定,通过USB Key的唯一标识找到对应的加密后的解锁密钥,再通过加密机解密后,通过微软CSP接口扩展,对USB Key进行口令解锁。
2.如权利要求1所述的集中安全管理USB Key解锁密钥的方法,其特征在于,在USB Key交付给用户使用前,为每个USB Key生成唯一的解锁密钥,同时保证该解锁密钥的安全存储,这个过程称为USB Key初始化过程;在需要解锁的时候,还需要能够通过该解锁密钥对USB Key进行解锁,即USB Key的PIN解锁过程。
3.如权利要求2所述的集中安全管理USB Key解锁密钥的方法,其特征在于,所述CSP接口使用CryptGetProvParam函数获取USB Key信息,所述CSP接口使用CryptSetProvParam函数进行USB Key初始化,所述CSP接口使用CryptSetProvParam函数进行USB Key的PIN解锁。
CN201010619512.8A 2010-12-31 2010-12-31 一种集中安全管理USBKey解锁密钥的方法 Active CN102571327B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010619512.8A CN102571327B (zh) 2010-12-31 2010-12-31 一种集中安全管理USBKey解锁密钥的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010619512.8A CN102571327B (zh) 2010-12-31 2010-12-31 一种集中安全管理USBKey解锁密钥的方法

Publications (2)

Publication Number Publication Date
CN102571327A true CN102571327A (zh) 2012-07-11
CN102571327B CN102571327B (zh) 2015-04-01

Family

ID=46415870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010619512.8A Active CN102571327B (zh) 2010-12-31 2010-12-31 一种集中安全管理USBKey解锁密钥的方法

Country Status (1)

Country Link
CN (1) CN102571327B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678975A (zh) * 2013-12-20 2014-03-26 大连大学 基于混沌系统的身份认证仿真系统
WO2014063575A1 (zh) * 2012-10-23 2014-05-01 国民技术股份有限公司 一种密码钥匙、安全认证系统及安全认证方法
CN103873249A (zh) * 2012-12-17 2014-06-18 上海格尔软件股份有限公司 基于非对称算法的证书介质在线格式化与解锁方法
CN103942483A (zh) * 2014-05-15 2014-07-23 成都卫士通信息产业股份有限公司 一种带有生物特征检测功能的加密机及其工作方法
CN106789094A (zh) * 2017-03-09 2017-05-31 龙尚科技(上海)有限公司 基于随机算法与加密算法的动态认证方法
CN110750767A (zh) * 2019-10-18 2020-02-04 神州数码融信软件有限公司 智能终端设备的登录初始化方法及智能终端设备
CN111464317A (zh) * 2020-04-14 2020-07-28 淮北师范大学 基于数字证书的密码学操作方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050175182A1 (en) * 2003-10-21 2005-08-11 Osamu Ueno Encryption key device, encryption device and decryption device
CN1901443A (zh) * 2006-07-12 2007-01-24 北京飞天诚信科技有限公司 信息安全设备的远程解锁方法
CN1953366A (zh) * 2006-11-10 2007-04-25 北京飞天诚信科技有限公司 智能密钥装置的密码管理方法和系统
CN101127111A (zh) * 2006-08-18 2008-02-20 中信银行 网上银行u盘key加密、认证的装置和方法
CN101494541A (zh) * 2009-03-06 2009-07-29 中国工商银行股份有限公司 一种实现对pin码进行安全保护的系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050175182A1 (en) * 2003-10-21 2005-08-11 Osamu Ueno Encryption key device, encryption device and decryption device
CN1901443A (zh) * 2006-07-12 2007-01-24 北京飞天诚信科技有限公司 信息安全设备的远程解锁方法
CN101127111A (zh) * 2006-08-18 2008-02-20 中信银行 网上银行u盘key加密、认证的装置和方法
CN1953366A (zh) * 2006-11-10 2007-04-25 北京飞天诚信科技有限公司 智能密钥装置的密码管理方法和系统
CN101494541A (zh) * 2009-03-06 2009-07-29 中国工商银行股份有限公司 一种实现对pin码进行安全保护的系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘培德等: "基于PKI加密设备的CSP软件设计与实现", 《计算机应用与软件》 *
王小英等: "基于USB Key的网上银行安全解锁方案", 《网络安全技术与应用》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014063575A1 (zh) * 2012-10-23 2014-05-01 国民技术股份有限公司 一种密码钥匙、安全认证系统及安全认证方法
CN103873249A (zh) * 2012-12-17 2014-06-18 上海格尔软件股份有限公司 基于非对称算法的证书介质在线格式化与解锁方法
CN103873249B (zh) * 2012-12-17 2017-10-27 上海格尔软件股份有限公司 基于非对称算法的证书介质在线格式化与解锁方法
CN103678975A (zh) * 2013-12-20 2014-03-26 大连大学 基于混沌系统的身份认证仿真系统
CN103942483A (zh) * 2014-05-15 2014-07-23 成都卫士通信息产业股份有限公司 一种带有生物特征检测功能的加密机及其工作方法
CN106789094A (zh) * 2017-03-09 2017-05-31 龙尚科技(上海)有限公司 基于随机算法与加密算法的动态认证方法
CN110750767A (zh) * 2019-10-18 2020-02-04 神州数码融信软件有限公司 智能终端设备的登录初始化方法及智能终端设备
CN110750767B (zh) * 2019-10-18 2023-05-02 神州数码融信软件有限公司 智能终端设备的登录初始化方法及智能终端设备
CN111464317A (zh) * 2020-04-14 2020-07-28 淮北师范大学 基于数字证书的密码学操作方法及装置
CN111464317B (zh) * 2020-04-14 2022-08-19 淮北师范大学 基于数字证书的密码学操作方法

Also Published As

Publication number Publication date
CN102571327B (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
CN102571327B (zh) 一种集中安全管理USBKey解锁密钥的方法
CN102084313B (zh) 用于数据安全的系统和方法
CN101142599A (zh) 基于硬件识别的数字权利管理系统
US20050050330A1 (en) Security token
US20100325732A1 (en) Managing Keys for Encrypted Shared Documents
RU2584500C2 (ru) Криптографический способ аутентификации и идентификации с шифрованием в реальном времени
JP2006211349A (ja) ファイルの暗号化・複合化プログラム、プログラム格納媒体
CN111295654B (zh) 安全地传递数据的方法和系统
TWI517653B (zh) 電子裝置及密碼材料供應之方法
CN106027503A (zh) 一种基于tpm的云存储数据加密方法
US20130097427A1 (en) Soft-Token Authentication System
CN105740725A (zh) 一种文件保护方法与系统
CN102752109A (zh) 应用于数据库列加密的密钥管理方法和装置
CN114267100B (zh) 开锁认证方法、装置、安全芯片及电子钥匙管理系统
CN101840478B (zh) 密码管理方法
CN104268447A (zh) 一种嵌入式软件的加密方法
CN104868998A (zh) 一种向电子设备供应加密数据的系统、设备和方法
US20230388121A1 (en) Method for encrypting and decrypting data across domains based on privacy computing
CN114091123A (zh) 安全集成电路芯片及其保护方法
CN1953366B (zh) 智能密钥装置的密码管理方法和系统
CN112054901B (zh) 一种支持多种密钥体系的密钥管理方法及系统
CN102270182B (zh) 基于同步用户和主机认证的加密可移动存储设备
WO2023240866A1 (zh) 密码卡及其根密钥保护方法、计算机可读存储介质
CN101496021A (zh) 用于为医疗设备产生访问数据的方法
CN105426705A (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
CP03 Change of name, title or address

Address after: 200436 Room 601, Lane 299, Lane 299, JIANGCHANG West Road, Jingan District, Shanghai

Patentee after: Geer software Limited by Share Ltd

Address before: 200070 50 Mau Ling Road, Zhabei District, Shanghai

Patentee before: Geer Software Co., Ltd., Shanghai

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20210319

Address after: 201601 5th floor, building 18, No. 51, ZHAOFEI Road, Sijing Town, Songjiang District, Shanghai

Patentee after: Shanghai Geer Anxin Technology Co.,Ltd.

Address before: 200436 Room 601, Lane 299, Lane 299, JIANGCHANG West Road, Jingan District, Shanghai

Patentee before: KOAL SOFTWARE Co.,Ltd.

TR01 Transfer of patent right