CN114499825A - 一种双控密钥管理方法、系统、加密机和存储介质 - Google Patents
一种双控密钥管理方法、系统、加密机和存储介质 Download PDFInfo
- Publication number
- CN114499825A CN114499825A CN202210127930.8A CN202210127930A CN114499825A CN 114499825 A CN114499825 A CN 114499825A CN 202210127930 A CN202210127930 A CN 202210127930A CN 114499825 A CN114499825 A CN 114499825A
- Authority
- CN
- China
- Prior art keywords
- key
- root key
- encryption
- root
- hash value
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 46
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 14
- 238000004422 calculation algorithm Methods 0.000 claims description 28
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 8
- 230000009977 dual effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 abstract description 30
- 241001074639 Eucalyptus albens Species 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- VBMOHECZZWVLFJ-GXTUVTBFSA-N (2s)-2-[[(2s)-6-amino-2-[[(2s)-6-amino-2-[[(2s,3r)-2-[[(2s,3r)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-2-[[(2s)-2,6-diaminohexanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]propanoyl]amino]hexanoyl]amino]propanoyl]amino]hexan Chemical compound NC(N)=NCCC[C@@H](C(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CCCCN)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@@H](N)CCCCN VBMOHECZZWVLFJ-GXTUVTBFSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 108010068904 lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine Proteins 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种双控密钥管理方法、系统、加密机和存储介质,其方法包括:在至少两名操作员登录加密机时合成保护密钥;获取根密钥密文块,利用保护密钥对根密钥密文块进行解密计算得到填充数据和根密钥;若验证填充数据正确,则确定保护密钥和根密钥正确,并清除根密钥;将保护密钥进行白盒化处理构造生成保护密钥白盒,并清除保护密钥;在操作员退出登录加密机时清除保护密钥白盒。本发明减少根密钥信息泄露的概率,大大提升数据安全性。
Description
技术领域
本发明涉及数据处理技术领域,进一步地涉及一种双控密钥管理方法、系统、加密机和存储介质。
背景技术
按照密钥使用原则,密钥明文不能长时间出现;而软件加密机使用密钥,势必需要密钥明文;加密机中密钥明文用完即毁,再次使用密钥,密钥明文可以从密钥密文获取,那么加密密钥明文的密钥称为根密钥。
根密钥在软件加密机需要经常使用,因此,根密钥要具有以下特点:
①不能用后销毁;
②不能一直保存在软件加密机中;
③不可预知;
因此,如何让软件加密机保护在使用的时候获取到根密钥,且根密钥不被泄露是急需解决的技术问题。
发明内容
针对上述技术问题,本发明的目的在于解决现有技术中根密钥无法及时销毁,导致根密钥容易被泄露的技术问题。
为了实现上述目的,本发明提供一种双控密钥管理方法,包括:
在一些实施方式中,一种双控密钥管理方法,包括步骤:
在至少两名操作员登录加密机时合成保护密钥;
获取根密钥密文块,利用所述保护密钥对所述根密钥密文块进行解密计算得到填充数据和根密钥;
若验证所述填充数据正确,则确定所述保护密钥和所述根密钥正确,并清除所述根密钥;
将所述保护密钥进行白盒化处理构造生成保护密钥白盒,并清除所述保护密钥;
在所述操作员退出登录所述加密机时清除所述保护密钥白盒。
在一些实施方式中,所述合成保护密钥包括,
获取加密机的硬件标识和所述至少两名操作员账号信息,所述账户信息包括操作员身份标识和对应的登录密码;
对所述硬件标识进行哈希加密计算生成第二哈希值;
对所述账号信息进行哈希加密计算生成第三哈希值;
根据所述第二哈希值和所述第三哈希值,计算合成所述保护密钥,并清除所述第二哈希值和第三哈希值。
在一些实施方式中,在所述获取根密钥密文块之前,还包括:
判断所述加密机内是否已经存在所述根密钥密文块;
若否,对所述至少两名操作员的按键输入时刻进行哈希加密计算生成第一哈希值;
获取加密机随机生成的随机数,并根据所述随机数和所述第一哈希值进行计算生成根密钥,随后清除所述第一哈希值、随机数和按键输入时刻;
根据所述保护密钥对所述根密钥加密生成根密钥密文块,储存所述根密钥密文块并清除所述根密钥。
在一些实施方式中,所述根据所述保护密钥对所述根密钥加密生成根密钥密文块,储存所述根密钥密文块并清除所述根密钥,包括步骤:
根据预设填充算法对所述根密钥进行填充生成密文数据块;
根据预设加密模式,使用所述保护密钥对所述密文数据块进行加密生成根密钥密文块;
将所述根密钥密文块以文件形式进行保存后清除所述根密钥。
在一些实施方式中,还包括步骤:
统计登录所述加密机失败的总次数,判断在预设时长内所述总次数是否超过预设次数阈值;
若在预设时长内所述总次数超过预设次数阈值,清除所有密钥相关数据。
根据本发明的另一方面,本发明进一步提供一种双控密钥管理系统,包括:
处理模块,用于在至少两名操作员登录加密机时合成保护密钥;
解密模块,用于获取根密钥密文块,利用所述保护密钥对所述根密钥密文块进行解密计算得到填充数据和根密钥;
验证模块,用于若验证所述填充数据正确,则确定所述保护密钥和所述根密钥正确,并清除所述根密钥;
所述处理模块,还用于将所述保护密钥进行白盒化处理生成保护密钥白盒,并清除所述保护密钥;
所述处理模块,还用于在所述操作员退出登录所述加密机时清除所述保护密钥白盒。
在一些实施方式中,所述处理模块包括:
获取单元,用于获取加密机的硬件标识和所述至少两名操作员账号信息,所述账户信息包括操作员身份标识和对应的登录密码;
计算单元,用于对所述硬件标识进行哈希加密计算生成第二哈希值;
所述计算单元,还用于对所述账号信息进行哈希加密计算生成第三哈希值;
所述计算单元,还用于根据所述第二哈希值和所述第三哈希值,计算合成所述保护密钥,并清除所述第二哈希值和第三哈希值。
在一些实施方式中,所述双控密钥管理系统还包括:
判断模块,用于判断所述加密机内是否已经存在所述根密钥密文块;
生成模块,用于判断所述加密机内未存在所述根密钥时,对操作员的按键输入时刻进行哈希加密计算生成第一哈希值;
获取模块,用于获取加密机随机生成的随机数;
所述处理模块,还用于根据所述随机数和所述第一哈希值进行计算生成根密钥,随后清除所述第一哈希值、随机数和按键输入时刻;
所述处理模块,还用于根据所述保护密钥对所述根密钥加密生成根密钥密文块,储存所述根密钥密文块并清除所述根密钥。
在一些实施方式中,所述处理模块还包括:
生成单元,用于根据预设填充算法对所述根密钥进行填充生成密文数据块;
加密单元,用于根据预设加密模式,使用所述保护密钥对所述密文数据块进行加密生成根密钥密文块;
处理单元,用于将所述根密钥密文块以文件形式进行保存后清除所述根密钥。
在一些实施方式中,所述双控密钥管理系统还包括:
统计判断模块,用于统计登录所述加密机失败的总次数,判断在预设时长内所述总次数是否超过预设次数阈值;
所述处理模块,还用于若在预设时长内所述总次数超过预设次数阈值,清除所有密钥相关数据。
根据本发明的另一方面,本发明进一步提供一种加密机,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器上所存放的计算机程序,实现所述的双控密钥管理方法所执行的操作。
根据本发明的另一方面,本发明进一步提供一种存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现所述的双控密钥管理方法所执行的操作。
与现有技术相比,本发明所提供的一种双控密钥管理方法、系统、加密机和存储介质具有在加密机需要使用的时候获取根密钥,在使用完后清除根密钥,以保证根密钥不被泄露,降低数据泄露风险且保证高可用性。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明一种双控密钥管理方法的一个实施例的流程图;
图2是本发明一种双控密钥管理方法的另一个实施例的流程图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所述描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或集合的存在或添加。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
另外,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
AES是Advanced Encryption Standard的英文缩写,AES是一种高级加密标准。
Hash Function是哈希算法,其中,哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,并且不同的明文很难映射为相同的二进制值,哈希算法包括MD5、SHA-1、SHA-256、SHA-384、SHA-512、SM3等等。
White-Box Cryptography是指白盒加密技术,白盒密码技术是一项能够抵抗白盒攻击的密码技术。
PKCS7是PKCS7 Padding的缩写,其是一种数据填充规则,在分组加密算法中(例如DES),我们首先要将原文进行分组,然后每个分组进行加密,然后组装密文。假设待填充数据的长度需要填充n(n>0)个字节才对齐,那么填充n个字节,每个字节都是n;如果待填充数据本身就已经对齐了,则填充一块长度为块大小的填充数据,每个字节都是块大小。
在一个实施例中,参考说明书附图1,一种双控密钥管理方法,具体地,包括:
S100在至少两名操作员登录加密机时合成保护密钥;
S200获取根密钥密文块,利用所述保护密钥对所述根密钥密文块进行解密计算得到填充数据和根密钥;
具体的,加密机主要用于对数据进行加密,比如在电子政务应用中,加密机可以提供数据加解密、数字签名验证等功能。加密机将密码技术、高性能并发处理技术、网络安全技术、设备自身安全防护技术、高可用性技术等多种先进技术有机融合在一起,构建出保障信息安全的软硬件支撑环境,为信息化基础设施和信息安全保障体系建设提供自主可控的数据安全保障服务。加密机的主要功能之一是密钥存储功能,加密机在很多领域,特别是银行业得到了广泛的应用。本发明的加密机泛指软件加密机。
加密机开机启动后,如果操作员需要登录使用加密机时,由加密机根据第二哈希值和第三哈希值,进行模二运算以合成得到保护密钥,具体如何合成保护密钥可参考下面实施例。本发明适用于双控及多控场景,即要求至少两名操作员输入账号密码登录加密机的场景。加密机合成获得保护密钥后,使用保护密钥将从加密机本地储存所读取到的根密钥密文块进行解密,即采用保护密钥对根密钥密文块进行反向解密计算得到对应的填充数据和根密钥。本发明中由于对根密钥采用填充数据进行填充,因此,根密钥是待填充数据,其中,填充数据相当于是校验值。
S300若验证所述填充数据正确,则确定所述保护密钥和所述根密钥正确,并清除所述根密钥;
具体的,通过上述解密过程获取到填充数据后需要验证填充数据是否正确,而验证填充数据是否正确实际上就是验证填充数据的长度是否是正确。如果验证填充数据的长度是不正确的,说明至少一名操作员输入的账号密码是错误的,那么解密得到的根密钥不可以使用。但是,如果验证填充数据的长度是正确的,说明解密得到真正的保护密钥,解密得到的根密钥是正确的,并且加密机将立即清除根密钥。
填充数据与根密钥相关联,即填充数据的长度与根密钥是否对齐,以及根密钥的长度相关。填充规则可以以下任意一种填充方式:填充数据为填充字节的长度,或者填充数据为0x0,并且填充数据的长度等于待填充数据的填充长度。
示例性的,在AES的加密块是16字节的倍数的情况下,如果根密钥密文块的长度为32字节,那么,如果对根密钥密文块进行解密后的根密钥后面16字节总是10H,表示16字节的数据填充,即填充数据的长度是10H即16字节,并且根密钥的长度为16字节。
示例性的,在AES的加密块是16字节的倍数的情况下,如果根密钥密文块的长度为32字节,那么,如果对根密钥密文块进行解密后的根密钥后面8字节总是08H,表示8字节的数据填充,即填充数据的长度是8字节,并且根密钥的长度为24字节。
示例性的,在AES的加密块是16字节的倍数的情况下,如果根密钥密文块的长度为48字节,那么,如果对根密钥密文块进行解密后的根密钥后面16字节总是10H,表示16字节的数据填充,即填充数据的长度是16字节,并且根密钥的长度为32字节。
示例性的,在DES的加密块是8字节的倍数的情况下,如果根密钥密文块的长度为16字节,那么,如果对根密钥密文块进行解密后的根密钥后面8字节总是08H,表示8字节的数据填充,即填充数据的长度是8字节,并且根密钥的长度为8字节。例如,如果根密钥密文块为“FF FF FF FF FF FF FF FF 0808080808080808”,并且填充规则为填充数据为填充字节的长度,那么填充数据就是“0808080808080808”,根密钥为FF FF FF FF FF FF FF FF。
上述示例中,AES加密算法的根密钥的长度只有16、24和32三种。当然,DES加密算法的根密钥长度只有8、16和24三种。SM4加密算法的根密钥的长度只有16一种。不论是哪种哈希算法,所遵循的填充规则均适用于上述验证流程,在此不再一一赘述。
S400将所述保护密钥进行白盒化处理构造生成保护密钥白盒,并清除所述保护密钥;
S500在所述操作员退出登录所述加密机时清除所述保护密钥白盒。
具体的,通过上述方式验证了保护密钥和根密钥是正确的后,可以确定根密钥密文块也是正确的,那么加密机再使用标准密码算法对根密钥密文块进行白盒化处理,以便将保密密钥作为保护密钥白盒的密钥完成保护密钥白盒的构造。构造好保护密钥白盒后就立即清除根密钥密文块。其中,由于保护密钥作为关键需要一直参与加密解密运算,因此把这个保护密钥构造成一个保护密钥白盒(即本发明的保护密钥白盒),本发明采用标准密码算法白盒化构造保护密钥白盒,然后再清除保护密钥。上述过程是每次操作员登录使用加密机时均会重新构造保护密钥白盒,并且在每次构造完保护密钥白盒后都会清除根密钥密文块。此外,如果操作员使用完加密机需要退出登录后,加密机也会清除所有的保护密钥白盒。其中保护密钥白盒包括隐藏起来的保护密钥。
本发明通过在加密机需要使用的时候获取根密钥,在使用完后清除根密钥和保护密钥,以保证根密钥和保护密钥均不被泄露,保障交互操作的信息安全,避免引发信息安全问题,整个解密过程均在加密机中进行,有效避免了通过软件保存根密钥容易造成密钥泄露的问题,保护了根密钥的安全性,降低对根密钥的人工管理和维护成本,降低了数据泄露风险且保证了高可用性。
在一个实施例中,一种双控密钥管理方法,具体地,包括:
S110在至少两名操作员登录加密机时,获取加密机的硬件标识和所述至少两名操作员账号信息,所述账户信息包括操作员身份标识和对应的登录密码;
具体的,硬件标识包括但是不限于加密机的MAC地址、设备序列号、CPU ID、安全芯片独有的设备标识。加密机能够调取上述与自身相关的设备唯一硬件标识,并且将调取的硬件标识分别标记为Mf1,Mf2,……,Mfn。
账号信息包括操作员登录注册加密机时的登录账号和账号密码。加密机能够获取不同操作员的账号信息,并且将登录账号分别标记为Op1,Op2,……,Opn,将账号密码分别标记为pwd1,pwd2,……,pwdn。
S120对所述硬件标识进行哈希加密计算生成第二哈希值;
具体的,加密机将这些调取的硬件标识连接,就能够到一串标识序列数据,对标识序列数据根据哈希加密算法进行哈希加密计算得到第二哈希值,由上述可知,第二哈希值表示为Hash(Mf1,Mf2,……,Mfn),其为一个固定长度的随机数据。
S130对所述账号信息进行哈希加密计算生成第三哈希值;
具体的,S120-S130之间没有先后顺序,S120与S130可以先后执行,也可以同步执行。加密机将操作员的登录账号与账号密码组合在一起得到账号信息,账号信息标识为Op1×pwd1,Op2×pwd2,……,Opn×pwdn。加密机将不同操作员的账号信息分别根据哈希加密算法进行哈希加密计算得到第三哈希值,由上述可知,第三哈希值表示为Hash(Op1×pwd1),Hash(Op2×pwd2),……,Hash(Opn×pwdn)。
S140根据所述第二哈希值和所述第三哈希值,计算合成所述保护密钥,并清除所述第二哈希值和第三哈希值;
具体的,加密机将上述方式计算得到的第二哈希值和第三哈希值,通过模二运算计算输出保护密钥,并立即清除第二哈希值和第三哈希值。模二运算是一种二进制算法,其包括模2加法、模2减法、模2乘法、模2除法四种二进制运算。
示例性的,加密机将第二哈希值和第三哈希值代入下列模2加公式合成保护密钥:
ProData=Hash(Op1×pwd1)xor Hash(Op2×pwd2)…xor Hash(Opn×pwdn)xorHash(Mf1,Mf2,……,Mfn)。
然后,加密机立即清除第二哈希值Hash(Mf1,Mf2,……,Mfn)和第三哈希值Hash(Op1×pwd1),Hash(Op2×pwd2),……,Hash(Opn×pwdn)等数据。
S200获取根密钥密文块,利用所述保护密钥对所述根密钥密文块进行解密计算得到填充数据和根密钥;
S300若验证所述填充数据正确,则确定所述保护密钥和所述根密钥正确,并清除所述根密钥;
S400将所述保护密钥进行白盒化处理构造生成保护密钥白盒,并清除所述保护密钥;
S500在所述操作员退出登录所述加密机时清除所述保护密钥白盒。
具体的,本实施例中与上述实施例相同的部分参见上述实施例,在此不再一一赘述。本发明在加密机需要使用的时候实时生成根密钥,在使用完后清除根密钥和保护密钥,以保证根密钥和保护密钥均不被泄露,保障交互操作的信息安全,避免引发信息安全问题,整个解密过程均在加密机中进行,有效避免了通过软件保存根密钥容易造成密钥泄露的问题,保护了根密钥的安全性,降低对根密钥的人工管理和维护成本,降低了数据泄露风险且保证了高可用性。
在一个实施例中,参考说明书附图2,一种双控密钥管理方法,具体地,包括步骤:
S110在至少两名操作员登录加密机时,获取加密机的硬件标识和所述至少两名操作员账号信息,所述账户信息包括操作员身份标识和对应的登录密码;
S120对所述硬件标识进行哈希加密计算生成第二哈希值;
S130对所述账号信息进行哈希加密计算生成第三哈希值;
S140根据所述第二哈希值和所述第三哈希值,计算合成所述保护密钥,并清除所述第二哈希值和第三哈希值;
S150判断所述加密机内是否已经存在所述根密钥密文块;
具体的,加密机安装有安全芯片和纽扣电池,安全芯片设有数据内存区域,纽扣电池为安全芯片供电,安全芯片加密机的处理器在上电后,会检测判断加密机内是否已存在根密钥密文块。也就是说,加密机的处理器在上电后即进行安全启动,并且,加密机的处理器在该安全启动过程中检测数据内存区域中是否已经存在有根密钥密文块。
其中,数据内存区域为外部不可访问,总线不可访问,由专门的后备电池即纽扣电池供电的储存区域,这个数据内存区域一般只有128字节数据的大小。如果加密机的数据内存区域已经存在根密钥密文块则结束流程,当然如果加密机的数据内存区域内不存在根密钥密文块,那么加密机就需要实时生成根密钥,下面具体说明如何生成根密钥。
S160若否,对所述至少两名操作员的按键输入时刻进行哈希加密计算生成第一哈希值;
具体的,通过上述流程确定加密机已经存在根密钥密文块直接进入步骤S200。按键输入时刻是时间点或者时间戳,其中,这个时间戳的单位可以是毫秒、微秒甚至皮秒,单位精度越小越好。加密机记录每位操作员的按键输入时刻,并且将按键输入时刻分别标记为T1,T2,……,Tn。加密机将这些按键输入时刻按照时间先后顺序连接,就能够到时间变化的一串时间序列数据,对时间序列数据根据哈希加密算法进行哈希加密计算得到第一哈希值,由上述可知,第一哈希值表示为Hash(T1,T2,……,Tn),其为一个固定长度的随机数据。
S170获取加密机随机生成的随机数,并根据所述随机数和所述第一哈希值进行计算生成根密钥,随后清除所述第一哈希值、随机数和按键输入时刻;
具体的,如果通过上述流程确定加密机内不存在根密钥密文块,那么加密机就将随机数和第一哈希值,通过模二运算计算输出根密钥,并立即清除第一哈希值、随机数和按键输入时刻。
示例性的,加密机将随机数和第一哈希值代入下列模2加公式合成保护密钥:
RootKey=RND Xor Hash(T1,T2,……,Tn)
然后,加密机立即清除随机数、第一哈希值Hash(T1,T2,……,Tn)和按键输入时刻T1,T2,……,Tn等数据。
S180根据所述保护密钥对所述根密钥加密生成根密钥密文块,储存所述根密钥密文块并清除所述根密钥;
具体的,加密机将保护密钥和根密钥,通过加密算法计算生成根密钥密文块,然后,将根密钥密文块以文件的形式储存到加密机的数据内存区域,并在保存完成后立即清除步骤S170生成的根密钥。
S200获取根密钥密文块,利用所述保护密钥对所述根密钥密文块进行解密计算得到填充数据和根密钥;
S300若验证所述填充数据正确,则确定所述保护密钥和所述根密钥正确,并清除所述根密钥;
S400将所述保护密钥进行白盒化处理构造生成保护密钥白盒,并清除所述保护密钥;
S500在所述操作员退出登录所述加密机时清除所述保护密钥白盒。
具体的,本实施例中与上述实施例相同的部分参见上述实施例,在此不再一一赘述。本发明在加密机需要使用的时候实时生成根密钥,在使用完后清除根密钥和保护密钥,以保证根密钥和保护密钥均不被泄露,保障交互操作的信息安全,避免引发信息安全问题,整个解密过程均在加密机中进行,有效避免了通过软件保存根密钥容易造成密钥泄露的问题,保护了根密钥的安全性,降低对根密钥的人工管理和维护成本,降低了数据泄露风险且保证了高可用性。
在一个实施例中,一种双控密钥管理方法,具体地,包括步骤:
S110在至少两名操作员登录加密机时,获取加密机的硬件标识和所述至少两名操作员账号信息,所述账户信息包括操作员身份标识和对应的登录密码;
S120对所述硬件标识进行哈希加密计算生成第二哈希值;
S130对所述账号信息进行哈希加密计算生成第三哈希值;
S140根据所述第二哈希值和所述第三哈希值,计算合成所述保护密钥,并清除所述第二哈希值和第三哈希值;
S150判断所述加密机内是否已经存在所述根密钥密文块;
S160若否,对所述至少两名操作员的按键输入时刻进行哈希加密计算生成第一哈希值;
S170获取加密机随机生成的随机数,并根据所述随机数和所述第一哈希值进行计算生成根密钥,随后清除所述第一哈希值、随机数和按键输入时刻;
S181根据预设填充算法对所述根密钥进行填充生成密文数据块;
具体的,预设填充算法包括PKCS7或者PKCS5等数据填充算法。其中,本发明优选使用PKCS7进行数据填充,PKCS7其实就是使用需填充长度的数值padding Size所表示的ASCII码padding Char=chr(padding Size)对数据进行冗余填充。例如,密文数据块为AES-128,AES-192,AES-256分别对应的数据块长度分别为128/8=16字节,192/8=24字节,256/8=32字节。
加密机根据预设填充算法将根密钥进行填充,使得填充后的根密钥为预设分组字节数的整数倍,然后加密机根据预设分组字节数将填充后的根密钥进行等字节分组生成密文数据块。
示例性的,在根密钥的字节长度为8字节的情况下,采用预设填充算法为PKCS7填充算法,如果填充数据为“0808080808080808”,那么,填充生成密文数据块就是“根密钥+0808080808080808”。
S182根据预设加密模式,使用所述保护密钥对所述密文数据块进行加密生成根密钥密文块;
具体的,根密钥采用PKCS7填充方式组成一个密文数据块,然后使用保护密钥为密钥,采用预设加密模式加密生成根密钥密文块,并把根密钥密文块以文件方式保存起来然后立即清除根密钥。预设加密模式包括CBC加密模式、GCM加密模式。其中,CBC是CipherBlock Chaining的英文缩写,CBC加密模式是密码分组链接模式,这种模式是先将密文数据块切分成若干小段,然后每一小段与初始块或者上一段的子数据块进行异或运算后,再与保护密钥进行加密生成根密钥密文块。GCM是Galois/Counter Mode的英文缩写,GCM加密模式使用根密钥作为明文、保护密钥作为加密密钥、以及初始向量、附加消息进行一系列的异或运算生成根密钥密文块。
示例性的,结合AES+CBC模式使用保护密钥对密文数据块进行加密生成根密钥密文块如下所示:
Erookey=AES-CBC(ProData{(RootKey+PKCS7)})
其中,AES是一种加密算法,CBC是一种预设加密模式,需要同时使用以便具有加密和校验功能。当然,本发明还可以使用其他加密算法(例如DES加密算法、SM4加密算法等)和其他加密模式(例如GCM加密模式等),但是AES是最通用易理解的,并且只有它支持256bit的密钥,因此,本发明优选采用AES+CBC模式进行加密。
S183将所述根密钥密文块以文件形式进行保存后清除所述根密钥;
具体的,根密钥密文块是将根密钥使用保护密钥采用上述预设加密模式加密后生成的数据,加密机将生成的根密钥密文块以文件形式进行保存,只有拥有保护密钥的情况下,根密钥密文块才有意义避免违反加密规则。
S200获取根密钥密文块,利用所述保护密钥对所述根密钥密文块进行解密计算得到填充数据和根密钥;
S300若验证所述填充数据正确,则确定所述保护密钥和所述根密钥正确,并清除所述根密钥;
S400将所述保护密钥进行白盒化处理构造生成保护密钥白盒,并清除所述保护密钥;
S500在所述操作员退出登录所述加密机时清除所述保护密钥白盒;
S600统计登录加密机失败的总次数,判断在预设时长内总次数是否超过预设次数阈值;
S700若在预设时长内总次数超过预设次数阈值,清除所有密钥相关数据。
具体的,S600-S700的执行顺序在加密机开机之后,加密机关机之前。总之,加密机在开机后记录操作员输入登录账号后,验证输入的账号密码与登录账号不匹配的次数,然后统计计算得到登录加密机失败的总次数。加密机内置的安全芯片判断在预设时长内总次数是否超过预设次数阈值。如果在预设时长内登录加密机失败的总次数超过预设次数阈值,那么加密机就会清除所有密钥相关数据。其中,密钥相关数据包括上述实施例的第一哈希值、第二哈希值、第三哈希值、按键输入时刻、随机数、根密钥、保护密钥和根密钥密文块。
本发明使用操作员登录退出作为切入点,在操作员输入账号密码过程中记录按键输入时刻,而后对操作员输入的账号信息(登录账号和账号密码)以及按键输入时刻,加密机的硬件标识做哈希处理,以便达到根密钥的随机生成、登录使用时重新合成、不用时(即退出登录时)销毁根密钥的目标。本发明在完成密钥合成计算后就立即删除参与哈希加密计算的参数(参见步骤S140、S170-S180),并且在验证结束后就立即删除根密钥(参见步骤S300),在构造完成保护密钥白盒后就立即删除保护密钥(参见步骤S400),在退出登录加密机时删除保护密钥白盒(参见步骤S500),以及在加密机受到穷举攻击时删除所有密钥相关数据(参见步骤S600-S700),达到了及时销毁所有密钥的目的,因此,本发明有效降低根密钥被泄露的风险,保护了根密钥的安全性,进而大大提高终端内信息安全性。
根据本发明的另一方面,一种双控密钥管理系统,包括:
处理模块,用于在至少两名操作员登录加密机时合成保护密钥;
解密模块,用于获取根密钥密文块,利用所述保护密钥对所述根密钥密文块进行解密计算得到填充数据和根密钥;
验证模块,用于若验证所述填充数据正确,则确定所述保护密钥和所述根密钥正确,并清除所述根密钥;
所述处理模块,还用于将所述保护密钥进行白盒化处理生成保护密钥白盒,并清除所述保护密钥;
所述处理模块,还用于在所述操作员退出登录所述加密机时清除所述保护密钥白盒。
具体的,本实施例是上述方法实施例对应的系统实施例,具体效果参见上述方法实施例,在此不再一一赘述。
在一个实施例中,所述处理模块包括:
获取单元,用于获取加密机的硬件标识和所述至少两名操作员账号信息,所述账户信息包括操作员身份标识和对应的登录密码;
计算单元,用于对所述硬件标识进行哈希加密计算生成第二哈希值;
所述计算单元,还用于对所述账号信息进行哈希加密计算生成第三哈希值;
所述计算单元,还用于根据所述第二哈希值和所述第三哈希值,计算合成所述保护密钥,并清除所述第二哈希值和第三哈希值。
具体的,本实施例是上述方法实施例对应的系统实施例,具体效果参见上述方法实施例,在此不再一一赘述。
在一个实施例中,所述双控密钥管理系统还包括:
判断模块,用于判断所述加密机内是否已经存在所述根密钥密文块;
生成模块,用于判断所述加密机内未存在所述根密钥时,对操作员的按键输入时刻进行哈希加密计算生成第一哈希值;
获取模块,用于获取加密机随机生成的随机数;
所述处理模块,还用于根据所述随机数和所述第一哈希值进行计算生成根密钥,随后清除所述第一哈希值、随机数和按键输入时刻;
所述处理模块,还用于根据所述保护密钥对所述根密钥加密生成根密钥密文块,储存所述根密钥密文块并清除所述根密钥。
具体的,本实施例是上述方法实施例对应的系统实施例,具体效果参见上述方法实施例,在此不再一一赘述。
在一个实施例中,所述处理模块还包括:
生成单元,用于根据预设填充算法对所述根密钥进行填充生成密文数据块;
加密单元,用于根据预设加密模式,使用所述保护密钥对所述密文数据块进行加密生成根密钥密文块;
处理单元,用于将所述根密钥密文块以文件形式进行保存后清除所述根密钥。
具体的,本实施例是上述方法实施例对应的系统实施例,具体效果参见上述方法实施例,在此不再一一赘述。
在一个实施例中,所述双控密钥管理系统还包括:
统计判断模块,用于统计登录所述加密机失败的总次数,判断在预设时长内所述总次数是否超过预设次数阈值;
所述处理模块,还用于若在预设时长内所述总次数超过预设次数阈值,清除所有密钥相关数据。
具体的,本实施例是上述方法实施例对应的系统实施例,具体效果参见上述方法实施例,在此不再一一赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将所述装置的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独物理存在,也可以两个或两个以上单元集成在一个处理单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序单元的形式实现。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
本发明的一个实施例,一种加密机,包括处理器、存储器,其中,存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的计算机程序,所述计算机程序被所述处理器执行时实现包括上述任意一个或者多个实施例所述双控密钥管理方法的步骤。
所述加密机可以为桌上型计算机、笔记本、掌上电脑、平板型计算机、手机、人机交互屏等设备。所述加密机可包括,但不仅限于处理器、存储器。本领域技术人员可以理解,上述仅仅是加密机的示例,并不构成对加密机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如:加密机还可以包括输入/输出接口、显示设备、网络接入设备、通信总线、通信接口等。通信接口和通信总线,还可以包括输入/输出接口,其中,处理器、存储器、输入/输出接口和通信接口通过通信总线完成相互间的通信。该存储器存储有计算机程序,该处理器用于执行存储器上所存放的计算机程序,实现上述所对应方法实施例中的双控密钥管理方法。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可以是所述加密机的内部存储单元,例如:加密机的硬盘或内存。所述存储器也可以是所述加密机的外部存储设备,例如:所述加密机上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器还可以既包括所述加密机的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机程序以及所述加密机所需要的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
通信总线是连接所描述的元素的电路并且在这些元素之间实现传输。例如,处理器通过通信总线从其它元素接收到命令,解密接收到的命令,根据解密的命令执行计算或数据处理。存储器可以包括程序模块,例如内核(kernel),中间件(middleware),应用程序编程接口(Application Programming Interface,API)和应用。该程序模块可以是有软件、固件或硬件、或其中的至少两种组成。输入/输出接口转发用户通过输入/输出接口(例如感应器、键盘、触摸屏)输入的命令或数据。通信接口将该加密机与其它网络设备、用户设备、网络进行连接。例如,通信接口可以通过有线或无线连接到网络以连接到外部其它的网络设备或用户设备。无线通信可以包括以下至少一种:无线保真(WiFi),蓝牙(BT),近距离无线通信技术(NFC),全球卫星定位系统(GPS)和蜂窝通信等等。有线通信可以包括以下至少一种:通用串行总线(USB),高清晰度多媒体接口(HDMI),异步传输标准接口(RS-232)等等。网络可以是电信网络和通信网络。通信网络可以为计算机网络、因特网、物联网、电话网络。加密机可以通过通信接口连接网络,加密机和其它网络设备通信所用的协议可以被应用、应用程序编程接口(API)、中间件、内核和通信接口至少一个支持。
本发明的一个实施例,一种存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现上述双控密钥管理方法对应实施例所执行的操作。例如,存储介质可以是只读内存(ROM)、随机存取存储器(RAM)、只读光盘(CD-ROM)、磁带、软盘和光数据存储设备等。
它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/加密机和方法,可以通过其他的方式实现。例如,以上所描述的装置/加密机实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性、机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序发送指令给相关的硬件完成,所述的计算机程序可存储于一存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述存储介质可以包括:能够携带所述计算机程序的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如:在某些司法管辖区,根据立法和专利实践,计算机可读的存储介质不包括电载波信号和电信信号。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种双控密钥管理方法,其特征在于,包括步骤:
在至少两名操作员登录加密机时合成保护密钥;
获取根密钥密文块,利用所述保护密钥对所述根密钥密文块进行解密计算得到填充数据和根密钥;
若验证所述填充数据正确,则确定所述保护密钥和所述根密钥正确,并清除所述根密钥;
将所述保护密钥进行白盒化处理构造生成保护密钥白盒,并清除所述保护密钥;
在所述操作员退出登录所述加密机时清除所述保护密钥白盒。
2.根据权利要求1所述的双控密钥管理方法,其特征在于,所述合成保护密钥包括步骤:
获取加密机的硬件标识和所述至少两名操作员账号信息,所述账户信息包括操作员身份标识和对应的登录密码;
对所述硬件标识进行哈希加密计算生成第二哈希值;
对所述账号信息进行哈希加密计算生成第三哈希值;
根据所述第二哈希值和所述第三哈希值,计算合成所述保护密钥,并清除所述第二哈希值和第三哈希值。
3.根据权利要求1所述的双控密钥管理方法,其特征在于,在所述获取根密钥密文块之前,还包括:
判断所述加密机内是否已经存在所述根密钥密文块;
若否,对所述至少两名操作员的按键输入时刻进行哈希加密计算生成第一哈希值;
获取加密机随机生成的随机数,并根据所述随机数和所述第一哈希值进行计算生成根密钥,随后清除所述第一哈希值、随机数和按键输入时刻;
根据所述保护密钥对所述根密钥加密生成根密钥密文块,储存所述根密钥密文块并清除所述根密钥。
4.根据权利要求3所述的双控密钥管理方法,其特征在于,所述根据所述保护密钥对所述根密钥加密生成根密钥密文块,储存所述根密钥密文块并清除所述根密钥,包括步骤:
根据预设填充算法对所述根密钥进行填充生成密文数据块;
根据预设加密模式,使用所述保护密钥对所述密文数据块进行加密生成根密钥密文块;
将所述根密钥密文块以文件形式进行保存后清除所述根密钥。
5.根据权利要求1-4任一项所述的双控密钥管理方法,其特征在于,还包括步骤:
统计登录所述加密机失败的总次数,判断在预设时长内所述总次数是否超过预设次数阈值;
若在预设时长内所述总次数超过预设次数阈值,清除所有密钥相关数据。
6.一种双控密钥管理系统,其特征在于,包括:
处理模块,用于在至少两名操作员登录加密机时合成保护密钥;
解密模块,用于获取根密钥密文块,利用所述保护密钥对所述根密钥密文块进行解密计算得到填充数据和根密钥;
验证模块,用于若验证所述填充数据正确,则确定所述保护密钥和所述根密钥正确,并清除所述根密钥;
所述处理模块,还用于将所述保护密钥进行白盒化处理生成保护密钥白盒,并清除所述保护密钥;
所述处理模块,还用于在所述操作员退出登录所述加密机时清除所述保护密钥白盒。
7.根据权利要求6所述的双控密钥管理系统,其特征在于,所述处理模块包括:
获取单元,用于获取加密机的硬件标识和所述至少两名操作员账号信息,所述账户信息包括操作员身份标识和对应的登录密码;
计算单元,用于对所述硬件标识进行哈希加密计算生成第二哈希值;
所述计算单元,还用于对所述账号信息进行哈希加密计算生成第三哈希值;
所述计算单元,还用于根据所述第二哈希值和所述第三哈希值,计算合成所述保护密钥,并清除所述第二哈希值和第三哈希值。
8.根据权利要求6所述的双控密钥管理系统,其特征在于,还包括:
判断模块,用于判断所述加密机内是否已经存在所述根密钥密文块;
生成模块,用于判断所述加密机内未存在所述根密钥时,对操作员的按键输入时刻进行哈希加密计算生成第一哈希值;
获取模块,用于获取加密机随机生成的随机数;
所述处理模块,还用于根据所述随机数和所述第一哈希值进行计算生成根密钥,随后清除所述第一哈希值、随机数和按键输入时刻;
所述处理模块,还用于根据所述保护密钥对所述根密钥加密生成根密钥密文块,储存所述根密钥密文块并清除所述根密钥。
9.根据权利要求8所述的双控密钥管理系统,其特征在于,所述处理模块还包括:
生成单元,用于根据预设填充算法对所述根密钥进行填充生成密文数据块;
加密单元,用于根据预设加密模式,使用所述保护密钥对所述密文数据块进行加密生成根密钥密文块;
处理单元,用于将所述根密钥密文块以文件形式进行保存后清除所述根密钥。
10.根据权利要求5-7任一项所述的双控密钥管理系统,其特征在于,还包括:
统计判断模块,用于统计登录所述加密机失败的总次数,判断在预设时长内所述总次数是否超过预设次数阈值;
所述处理模块,还用于若在预设时长内所述总次数超过预设次数阈值,清除所有密钥相关数据。
11.一种加密机,其特征在于,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器,用于执行所述存储器上所存放的计算机程序,实现如权利要求1至权利要求5任一项所述的双控密钥管理方法所执行的操作。
12.一种存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求5任一项所述的双控密钥管理方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210127930.8A CN114499825A (zh) | 2022-02-11 | 2022-02-11 | 一种双控密钥管理方法、系统、加密机和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210127930.8A CN114499825A (zh) | 2022-02-11 | 2022-02-11 | 一种双控密钥管理方法、系统、加密机和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114499825A true CN114499825A (zh) | 2022-05-13 |
Family
ID=81480504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210127930.8A Pending CN114499825A (zh) | 2022-02-11 | 2022-02-11 | 一种双控密钥管理方法、系统、加密机和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114499825A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116455560A (zh) * | 2023-06-16 | 2023-07-18 | 北京智芯微电子科技有限公司 | 数据加密方法、数据解密方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667608A (zh) * | 2017-03-28 | 2018-10-16 | 阿里巴巴集团控股有限公司 | 数据密钥的保护方法、装置和系统 |
CN109547201A (zh) * | 2018-12-14 | 2019-03-29 | 平安科技(深圳)有限公司 | 一种根密钥的加密方法、计算机可读存储介质及终端设备 |
US20190164156A1 (en) * | 2017-11-27 | 2019-05-30 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
CN111901109A (zh) * | 2020-08-04 | 2020-11-06 | 华人运通(上海)云计算科技有限公司 | 基于白盒的通信方法、装置、设备和存储介质 |
-
2022
- 2022-02-11 CN CN202210127930.8A patent/CN114499825A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667608A (zh) * | 2017-03-28 | 2018-10-16 | 阿里巴巴集团控股有限公司 | 数据密钥的保护方法、装置和系统 |
US20190164156A1 (en) * | 2017-11-27 | 2019-05-30 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
CN109547201A (zh) * | 2018-12-14 | 2019-03-29 | 平安科技(深圳)有限公司 | 一种根密钥的加密方法、计算机可读存储介质及终端设备 |
CN111901109A (zh) * | 2020-08-04 | 2020-11-06 | 华人运通(上海)云计算科技有限公司 | 基于白盒的通信方法、装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
程晋格;: "国密算法在数据存储及码流数据传输中的应用", 中国集成电路, no. 07, 5 July 2018 (2018-07-05) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116455560A (zh) * | 2023-06-16 | 2023-07-18 | 北京智芯微电子科技有限公司 | 数据加密方法、数据解密方法、装置、设备及介质 |
CN116455560B (zh) * | 2023-06-16 | 2023-08-29 | 北京智芯微电子科技有限公司 | 数据加密方法、数据解密方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108513704B (zh) | 终端主密钥的远程分发方法及其系统 | |
CN100468438C (zh) | 实现硬件和软件绑定的加密和解密方法 | |
US7571320B2 (en) | Circuit and method for providing secure communications between devices | |
EP3476078B1 (en) | Systems and methods for authenticating communications using a single message exchange and symmetric key | |
US9166793B2 (en) | Efficient authentication for mobile and pervasive computing | |
CN112702318A (zh) | 一种通讯加密方法、解密方法、客户端及服务端 | |
JP2012050066A (ja) | セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ | |
KR20150142623A (ko) | 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템 | |
US7894608B2 (en) | Secure approach to send data from one system to another | |
CN112738051A (zh) | 数据信息加密方法、系统及计算机可读存储介质 | |
CN103179514A (zh) | 一种敏感信息的手机安全群分发方法和装置 | |
CN114095170A (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
CN102598575A (zh) | 用于对密码保护的有效数据单元加速解密的方法和系统 | |
US20210266175A1 (en) | Device for data encryption and integrity | |
CN102916810A (zh) | 传感器认证方法、系统和装置 | |
CN116996327B (zh) | 一种基于分组密码的加密方法、解密方法以及产品 | |
CN113965382A (zh) | 一种招标监管名单数据加密算法防篡改方法 | |
CN114499825A (zh) | 一种双控密钥管理方法、系统、加密机和存储介质 | |
CN114785527B (zh) | 数据传输方法、装置、设备及存储介质 | |
EP4142214A1 (en) | Method for securely provisioning a device incorporating an integrated circuit without using a secure environment | |
CN115174085A (zh) | 一种基于rsa加密的数据安全传输方法 | |
CN114640443A (zh) | 一种在线工程报价安全交互方法、系统、电子设备和存储介质 | |
CN112149166A (zh) | 非常规密码保护方法及银行智能机器 | |
JP2002063139A (ja) | 端末装置、サーバ装置および端末認証方法 | |
JPS63176043A (ja) | 秘密情報通信方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |