CN103051446B - 一种密钥加密存储方法 - Google Patents
一种密钥加密存储方法 Download PDFInfo
- Publication number
- CN103051446B CN103051446B CN201210575033.XA CN201210575033A CN103051446B CN 103051446 B CN103051446 B CN 103051446B CN 201210575033 A CN201210575033 A CN 201210575033A CN 103051446 B CN103051446 B CN 103051446B
- Authority
- CN
- China
- Prior art keywords
- key
- protective
- working
- file
- protection master
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000001681 protective effect Effects 0.000 claims abstract description 123
- 238000007726 management method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种密钥加密存储方法,该密钥加密存储方法包括:在安全模块中产生保护主密钥,且保护主密钥明文不出现在安全模块外;利用硬件随机数发生器产生保护密钥组(包含多个保护密钥);所述保护主密钥通过CTR(计数器)模式对所述保护密钥进行加密并存储;保护密钥(组)通过CTR模式对多个工作密钥进行加密并存储。工作密钥包括加密密钥、MAC密钥、非对称密钥等,可通过随机数或按照一定的运算规则产生。
Description
技术领域
本发明涉及信息安全领域,特别涉及一种密钥加密存储方法。
背景技术
随着网络的应用与发展,网络安全问题日益突出。数据加密是确保计算机网络安全的一种重要的机制。采用密码技术保护的现代信息系统,其安全性取决于对密钥的保护,而不是对算法或硬件本身的保护。一旦密钥泄露、丢失或出错,不但可能造成合法用户无法提取信息,更有可能造成非法用户窃取信息。因此,密码算法和协议、密钥长度的选择以及密钥的保密和安全管理对于保证系统的安全极为重要。
加密算法决定了密钥管理的机制,不同的密码系统,其密钥管理方法也不相同,但其目的都是为了保障密钥从产生、存储、分配、使用和销毁的整个生命周期内的安全。本文仅就密钥的存储安全进行讨论。
如图1所示,为现有技术下的密钥层次结构图。通常,国内外多借鉴图1所示的三层密钥层次结构对密钥进行加密存储,保证密钥的安全性。
该结构要求如下:(1)主密钥的安全性要求最高。主密钥在可信安全模块中产生,且不允许其明文出现在安全模块之外。(2)除主密钥以外的子密钥可保存在硬件中,也可在外部保存,但是都必须以密文形式保存。
图1的密钥层次结构中,主密钥或恢复密钥对数据KEK和MACKEK加密,数据KEK或MACKEK可对最下层的多个工作密钥(数据密钥或MAC密钥)进行加密保护。
但是,现有技术下的密钥存储复杂度不高,且密钥存储的安全性没有保障。
发明内容
本发明的目的是针对上述问题,提出一种密钥加密存储方法,以提高密钥存储的安全性。
为实现上述目的,本发明提供了一种密钥加密存储方法,该密钥加密存储方法包括:
在安全模块中产生保护主密钥,且保护主密钥明文不出现在安全模块外;
利用硬件随机数发生器产生保护密钥;
所述保护主密钥对所述保护密钥进行加密并存储来获取保护密钥文件;其中,所述保护密钥的个数为N,每个保护密钥数据分为M个分组,则保护密钥文件包含L=N*M个分组。
可选的,在本发明一实施例中,还包括:
所述保护密钥对工作密钥进行加密并存储来获取工作密钥文件。
可选的,在本发明一实施例中,所述保护主密钥对所述保护密钥进行加密的步骤包括:
给定保护密钥文件ID;
根据文件ID获取计数器初值T1;
所述保护主密钥用CTR模式加密所述保护密钥的第1~M个分组;其中,保护主密钥用CTR模式加密第1个保护密钥的第1~M个分组,计数器取值分别为T1~TM;保护主密钥用CTR模式加密第i个保护密钥(i∈[1,N],i∈Z)的第1~M个分组,计数器取值分别为T1+(i-1)*M~Ti*M。
可选的,在本发明一实施例中,所述保护密钥对工作密钥进行加密并存储来获取工作密钥文件的步骤包括:
给定工作密钥文件ID;
根据工作密钥文件ID获取计数器初值PT1和保护密钥索引I;
根据所述保护密钥索引I获取第I个保护密钥数据和保护主密钥加密该保护密钥的计数器初值T1+(I-1)*M;
所述保护主密钥解密第I个保护密钥数据,并获取保护密钥明文KPI;
根据所述保护密钥明文KPI对工作密钥进行CTR加密并存储工作密钥文件。
可选的,在本发明一实施例中,所述工作密钥包括加密密钥、MAC密钥和非对称密钥。
可选的,在本发明一实施例中,所述工作密钥通过随机数产生。
上述技术方案具有如下有益效果:采用的密钥存储方法利用CTR模式的分组密码工作方式,通过对计数器序列加密得到类似随机密码的序列,再与保护密钥或工作密钥进行异或,使得输出的密文与原文没有任何统计关系,实现了类似一次一密的加密,有效提高了密钥存储的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有技术下的密钥层次结构图;
图2为本发明提出的一种密钥加密存储方法的流程图之一;
图3为本发明提出的一种密钥加密存储方法的流程图之二;
图4为本发明提出的密钥加密存储方法中密钥层次结构图;
图5为实施例中保护密钥存储流程图;
图6为实施例中工作密钥存储流程图;
图7为实施例中工作密钥还原流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,为本发明提出的一种密钥加密存储方法的流程图之一。该方法包括:
步骤201):在安全模块中产生保护主密钥,且保护主密钥明文不出现在安全模块外;
步骤202):利用硬件随机数发生器产生保护密钥;
步骤203):所述保护主密钥对所述保护密钥进行加密并存储来获取保护密钥文件;其中,所述保护密钥的个数为N,每个保护密钥数据分为M个分组,则保护密钥文件包含L=N*M个分组。
如图3所示,为本发明提出的一种密钥加密存储方法的流程图之二。该方法包括:
步骤201):在安全模块中产生保护主密钥,且保护主密钥明文不出现在安全模块外;
步骤202):利用硬件随机数发生器产生保护密钥;
步骤203):所述保护主密钥对所述保护密钥进行加密并存储来获取保护密钥文件;其中,所述保护密钥的个数为N,每个保护密钥数据分为M个分组,则保护密钥文件包含L=N*M个分组;
步骤204):所述保护密钥对工作密钥进行加密并存储来获取工作密钥文件。
可选的,在本发明一实施例中,所述保护主密钥对所述保护密钥进行加密的步骤包括:
给定保护密钥文件ID;
根据文件ID获取计数器初值T1;
所述保护主密钥用CTR模式加密所述保护密钥的第1~M个分组;其中,保护主密钥用CTR模式加密第1个保护密钥的第1~M个分组,计数器取值分别为T1~TM;保护主密钥用CTR模式加密第i个保护密钥(i∈[1,N],i∈Z)的第1~M个分组,计数器取值分别为T1+(i-1)*M~Ti*M。
可选的,在本发明一实施例中,所述保护密钥对工作密钥进行加密并存储来获取工作密钥文件的步骤包括:
给定工作密钥文件ID;
根据工作密钥文件ID获取计数器初值PT1和保护密钥索引I;
根据所述保护密钥索引I获取第I个保护密钥数据和保护主密钥加密该保护密钥的计数器初值T1+(I-1)*M;
所述保护主密钥解密第I个保护密钥数据,并获取保护密钥明文KPI;
根据所述保护密钥明文KPI对工作密钥进行CTR加密并存储工作密钥文件。
可选的,在本发明一实施例中,所述工作密钥包括加密密钥、MAC密钥和非对称密钥。
可选的,在本发明一实施例中,所述工作密钥通过随机数产生。
实施例1:
如图4所示,为本发明提出的密钥加密存储方法中密钥层次结构图。由图4可知,在安全模块内部产生保护主密钥,且其明文不出现在安全模块外;利用硬件随机数发生器产生保护密钥组,该保护密钥组包含多个保护密钥,并由保护主密钥加密后存储。保护主密钥通过CTR(计数器)模式对保护密钥进行加密。保护密钥组通过CTR模式对多个工作密钥进行加密。工作密钥可通过随机数或按照一定的运算规则产生。工作密钥包括加密密钥、MAC密钥、非对称密钥等。
下面就CTR模式的分组加密和本发明中加密保护密钥和工作密钥的流程进行介绍。
(1)CTR模式的分组加密;
使用CTR模式进行分组加密的主要特点是:使用一系列的输入分组(称为计数器)经过加密产生一系列的输出分组与要加密的明文进行异或产生密文。
计数器表示如下:T1,T2,…,Tn,明文分组表示如下:P1,P2,…,Pn,密文分组表示如下C1,C2,…,Cn,函数EK()表示使用密钥K进行分组加密,函数MSBu()表示取前u个字节,*表示不足一个分组。每个分组长度为8字节。
假设计数器初值为T1,T1+i=Ti+1mod264,i∈[0,n-1],i∈Z
则CTR模式分组加/解密表示如下:
CTR加密:Oj=EK(Tj)j∈[1,n],j∈Z
CTR解密:Oj=EK(Tj)j∈[1,n],j∈Z
(2)保护主密钥利用CTR模式加密保护密钥的过程
本实施例约定如下:所有保护密钥存储在一个保护密钥文件中,每个保护密钥按照一定的数据结构存储,保护密钥文件中的所有信息由保护主密钥通过CTR模式加密存储。
假定保护密钥个数为N,每个保护密钥数据分为M个分组,则保护密钥文件包含L=N*M个分组。计数器初值根据保护密钥文件的文件ID推导。
保护密钥文件ID为Fid,函数Trans(f)表示对f进行各种运算(如摘要或加解密等)。
计数器初值T1=Trans(Fid)mod264,T1+i=Ti+1mod264,i∈[0,L-1],i∈Z
则保护主密钥利用CTR模式加密保护密钥的过程为:
a)加密第1个保护密钥
保护主密钥先后用CTR模式加密该保护密钥的第1~M个分组,计数器
取值分别为T1~TM;
b)加密第i个保护密钥(i∈[2,N],i∈Z)
保护主密钥先后用CTR模式加密该保护密钥的第1~M个分组,计数器
取值分别为T1+(i-1)*M~Ti*M。
保护主密钥利用CTR模式解密保护密钥的过程与加密过程类似。
如图5所示,为实施例中保护密钥存储流程图。包括:
步骤501):在安全模块中产生保护主密钥;
步骤502):给定保护密钥文件ID;
步骤503):根据文件ID计算得到计数器初值T1;
步骤504):利用硬件随机数发生器产生随机数作为保护密钥;
步骤505):保护主密钥对保护密钥进行CTR加密;
步骤506):保护密钥写入保护密钥文件中进行存储;并判断保护密钥是否全部创建;如果是,则保护密钥存储结束;否则,则转至步骤504)。
(3)保护密钥组利用CTR模式加密工作密钥的过程
本实施例约定如下:一个工作密钥利用一个文件存储。每个工作密钥按照一定的数据结构存储。工作密钥所对应的保护密钥和计数器初值可根据工作密钥文件FID经不同的变换后导出。
假定保护密钥个数为N,每个保护密钥数据分为M个分组,则保护密钥文件包含L=N*M个分组。保护密钥明文用KPi(i∈[0,N-1],i∈Z)表示,每个工作密钥数据分为K个分组。保护密钥文件IDFid,某个工作密钥文件ID为Fwid,函数Trans(f)表示对f进行各种运算(如摘要或加解密等)。
保护主密钥加密保护密钥的计数器初值T1=Trans(Fid)mod264,T1+i=Ti+1mod264,i∈[0,L-1],i∈Z,
保护密钥加密工作密钥的计数器初值PT1=Trans(Fwid)mod264,PT1+i=PTi+1mod264,i∈[0,L-1],i∈Z,
加密工作密钥的保护密钥索引I=FwidmodN,
则保护密钥利用CTR模式加密工作密钥的过程为:
a)计算保护密钥索引I=FwidmodN;
b)从保护密钥文件中获取第I个保护密钥的数据(包含保护密钥密文);
c)根据保护密钥索引I计算保护主密钥加密该保护密钥的计数器初值T1+(I-1) *M,保护主密钥解密第I个保护密钥数据,并获取到保护密钥值明文KPI;
d)利用保护密钥KPI加密工作密钥的第1~K个分组,计数器值分别为PT1~PTK。
如图6所示,为实施例中工作密钥存储流程图。包括:
步骤601):产生工作密钥;
步骤602):根据工作密钥文件ID得到计数器初值PT1;
步骤603),604):根据工作密钥文件ID得到保护密钥密文及其计数器值T1+(I-1)*M;
步骤605):保护主密钥解密第I个保护密钥数据,并获取保护密钥明文KPI;
步骤606):保护密钥对工作密钥进行CTR加密;
步骤607):工作密钥写入工作密钥文件中进行存储;并判断工作密钥是否全部创建;如果是,则工作密钥存储结束;否则,则转至步骤601)。
保护密钥利用CTR模式解密工作密钥的过程与加密过程类似。
如图7所示,为实施例中工作密钥还原流程图。包括:
步骤701):根据工作密钥文件ID获取计数器初值PT1;
步骤702):根据工作密钥文件ID获取保护密钥索引I;
步骤703):根据保护密钥索引I获取保护密钥密文及其计数器值T1+(I-1)*M;
步骤704):保护密钥密文通过CTR解密得到保护密钥明文;
步骤705):保护密钥明文对工作密钥通过CTR解密得到工作密钥明文。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种密钥加密存储方法,其特征在于,该密钥加密存储方法包括:
在安全模块中产生保护主密钥,且保护主密钥明文不出现在安全模块外;
利用硬件随机数发生器产生保护密钥;
所述保护主密钥对所述保护密钥进行加密并存储来获取保护密钥文件;其中,所述保护密钥的个数为N,每个保护密钥数据分为M个分组,则保护密钥文件包含L=N*M个分组;
所述保护主密钥对所述保护密钥进行加密的步骤包括:
给定保护密钥文件ID;
根据文件ID获取计数器初值T1;
所述保护主密钥用CTR模式加密所述保护密钥的第1~M个分组;其中,保护主密钥用CTR模式加密第1个保护密钥的第1~M个分组,计数器取值分别为T1~TM;保护主密钥用CTR模式加密第i个保护密钥的第1~M个分组,i∈[1,N],i∈Z,Z表示整数集,计数器取值分别为T1+(i-1)*M~Ti*M。
2.根据权利要求1所述的密钥加密存储方法,其特征在于,还包括:
所述保护密钥对工作密钥进行加密并存储来获取工作密钥文件。
3.根据权利要求2所述的密钥加密存储方法,其特征在于,所述工作密钥包括加密密钥、MAC密钥和非对称密钥。
4.根据权利要求2所述的密钥加密存储方法,其特征在于,所述工作密钥通过随机数产生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210575033.XA CN103051446B (zh) | 2012-12-26 | 2012-12-26 | 一种密钥加密存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210575033.XA CN103051446B (zh) | 2012-12-26 | 2012-12-26 | 一种密钥加密存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103051446A CN103051446A (zh) | 2013-04-17 |
CN103051446B true CN103051446B (zh) | 2016-04-27 |
Family
ID=48063954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210575033.XA Active CN103051446B (zh) | 2012-12-26 | 2012-12-26 | 一种密钥加密存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103051446B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326866B (zh) * | 2013-06-29 | 2016-12-28 | 安科智慧城市技术(中国)有限公司 | 一种基于设备mac地址的认证方法及系统 |
CN105049204A (zh) * | 2015-07-30 | 2015-11-11 | 苏州中科启慧软件技术有限公司 | 基于ctr模式和分组密码vh的轻量级流密码技术vhc |
CN106656475B (zh) * | 2017-01-09 | 2020-01-21 | 李朋林 | 一种用于高速加密的新型对称型密钥加密方法 |
CN108259471B (zh) * | 2017-12-27 | 2021-10-08 | 新华三技术有限公司 | 专有信息的加密方法、解密方法、装置及处理设备 |
CN109150510B (zh) * | 2018-08-15 | 2021-03-16 | 飞天诚信科技股份有限公司 | 一种获取对称密钥的方法及设备 |
CN109067528B (zh) * | 2018-08-31 | 2020-05-12 | 阿里巴巴集团控股有限公司 | 密码运算、创建工作密钥的方法、密码服务平台及设备 |
CN111010275A (zh) * | 2019-12-31 | 2020-04-14 | 嘉兴太美医疗科技有限公司 | 密钥管理方法、生成密钥的方法和密钥管理系统 |
CN111934883B (zh) * | 2020-07-16 | 2024-01-26 | 中国民航信息网络股份有限公司 | 一种信用卡号令牌化方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669265A (zh) * | 2002-05-15 | 2005-09-14 | 伊露西斯有限公司 | 在计算机系统中使用的隐藏的链接动态密钥管理器 |
CN101103586A (zh) * | 2005-01-11 | 2008-01-09 | 三星电子株式会社 | 在通信系统中加密/解密信号的装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100675837B1 (ko) * | 2004-12-13 | 2007-01-29 | 한국전자통신연구원 | 고속 gcm-aes 블록 암호화 장치 및 방법 |
-
2012
- 2012-12-26 CN CN201210575033.XA patent/CN103051446B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669265A (zh) * | 2002-05-15 | 2005-09-14 | 伊露西斯有限公司 | 在计算机系统中使用的隐藏的链接动态密钥管理器 |
CN101103586A (zh) * | 2005-01-11 | 2008-01-09 | 三星电子株式会社 | 在通信系统中加密/解密信号的装置和方法 |
Non-Patent Citations (1)
Title |
---|
《对称密钥算法加密机使用中的安全控制》;班昊;《计算机应用与软件》;20120831;第29卷(第8期);第1页-第2页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103051446A (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103051446B (zh) | 一种密钥加密存储方法 | |
CN103716157B (zh) | 分组多密钥加密方法及装置 | |
CN103748827B (zh) | 用于无线数据保护的系统和方法 | |
US9537657B1 (en) | Multipart authenticated encryption | |
CN101447870B (zh) | 一种基于分布式口令技术的私钥安全存储方法 | |
CN103532701B (zh) | 一种数值型数据的加密、解密方法 | |
CN102185694A (zh) | 基于指纹信息的电子文件加密的方法及其系统 | |
CN108197484B (zh) | 一种分布式存储环境下实现节点数据安全的方法 | |
CN103580855A (zh) | 一种基于共享技术的UsbKey秘钥管理方案 | |
CN102355352A (zh) | 一种数据机密性和完整性保护方法 | |
Koko et al. | Comparison of Various Encryption Algorithms and Techniques for improving secured data Communication | |
CN104396182A (zh) | 加密数据的方法 | |
CN110851845A (zh) | 一种轻量级单用户多数据的全同态数据封装方法 | |
CN114826587B (zh) | 一种数据加密方法、解密方法及其装置、设备 | |
CN109861809A (zh) | 一种实用化的分组随机加解密方法 | |
CN113297619A (zh) | 基于可扩展精度双混沌哈希和RSA的Mysql敏感数据保护系统 | |
CN108134664A (zh) | 一种数据加密的实现方法 | |
CN103746805A (zh) | 外部认证密钥的生成方法和系统 | |
CN103812658A (zh) | 一种基于流密码的安全通信协议 | |
CN106656500A (zh) | 加密装置及方法 | |
CN104954136A (zh) | 一种云计算环境下网络安全加密装置 | |
GB2532835A (en) | Double-mix feistel network for key generation or encryption | |
Tang et al. | A one-time pad encryption algorithm based on one-way hash and conventional block cipher | |
Singh et al. | Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish | |
CN106059748B (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 |