一种基于国密算法实现的数据加密存储方法技术

技术编号:32579421 阅读:15 留言:0更新日期:2022-03-09 17:09
本发明专利技术提供一种基于国密算法实现的数据加密存储方法,属于数据安全领域,本发明专利技术包括四部分:约定Key的下发、主密钥生成、数据密钥生成、数据加密;密钥管理服务作为密钥的生命周期管理中心,负责对密钥的集中管理,外围无法拿到密钥,可以通过主密钥衍生数据密钥进行使用;通过安全传输数据密钥的形式,在本地实现数据的加解密。降低数据存储风险,提高加密密钥的安全性。密钥的安全性。密钥的安全性。

【技术实现步骤摘要】
一种基于国密算法实现的数据加密存储方法


[0001]本专利技术涉及于数据安全领域,尤其涉及一种基于国密算法实现的数据加密存储方法。

技术介绍

[0002]针对数据的安全技术严格来讲主要分为三大类:隐藏、访问控制、密码学。数据的传输安全、数据的存储安全、数据的访问安全控制等等都是数据安全的范畴。为了解决数据的这类安全问题,推行了国密加密算法,其中商用版本包含SM1、SM2、 SM3、SM4、SM7和SM9算法,
[0003]而针对大文件的加密存储过程中,传统的方式是通过将大文件传输给物理加密机进行加密后,返回再存储,这样虽然能够保证数据的安全性,但也无法保证传输过程中的安全性,并且效率低下(会依赖带宽等各种因素)。

技术实现思路

[0004]为了解决以上技术问题,本专利技术提供了一种基于国密算法实现的数据加密存储方法。可以降低数据存储风险,提高加密密钥的安全性,而无需使用ssl_vpn 来保证传输的安全性。本专利技术可以扩展到其他的业务应用场景,而不限制于与密钥管理服务对接的使用,通过该专利技术可以保证数据的安全加密存储。
[0005]本专利技术的技术方案是:
[0006]一种基于国密算法实现的数据加密存储方法,包括四部分:约定Key的下发、主密钥生成(CMK)、数据密钥生成(DEK)、数据加密;密钥管理服务作为密钥的生命周期管理中心,负责对密钥的集中管理,外围无法拿到密钥,可以通过主密钥衍生数据密钥进行使用。采用对接密钥管理服务,通过安全传输数据密钥的形式,在本地实现数据的加解密。
[0007]进一步的,
[0008]步骤如下:
[0009]步骤1):约定key的下发
[0010]通过线上或者线下操作,生成一个SM4的对称密钥值,作为HMACSM3计算的密钥key,并下发给用户(一个用户一个key);用户拿到该key值后,放置到调用端SDK的配置文件中,方便后续的代码调用;
[0011]步骤2):主密钥生成
[0012]通过调用密钥管理服务实现主密钥的生成;
[0013]步骤3):数据密钥生成
[0014]3.1)客户端信息初始化生成并计算;
[0015]3.2)服务端接收到请求后,进行校验及其他逻辑处理。
[0016]步骤4):数据加密
[0017]用户拿到数据密钥后,针对本地的明文数据进行数据的加密操作。
[0018]再进一步的,
[0019]步骤2)中,该密钥是基于密码卡加密后的主密钥,密钥管理服务存储的密钥都是基于硬件设备加密后的内容,自身也无法直接拿到密钥,只能通过硬件设备解密后才可获取。
[0020]主密钥只支持SM4和SM2两种,其中SM4是对称密钥,会生一个密钥值,加密存储到密钥管理服务中;SM2会生成一个密钥对,用户可以获取到公钥值,方便后续的加解密操作。
[0021]再进一步的,
[0022]步骤3.1)进一步包括:
[0023]3.11)本地密码模块基于SM2算法生成一个密钥对,然后生成种子信息;
[0024]3.12)对入参基于规则通过HMACSM3算法计算一个sign值(HMACSM3的加密 key就是第一步执行下发的key值);
[0025]3.13)将生成的公钥、种子信息及sign值通过客户端sdk调用数据密钥生成接口。
[0026]步骤3.2)进一步包括:
[0027]3.21)基于传输到服务端的信息进行验证签名;同样基于HMACSM3算法,使用步骤一下发的密钥key进行计算;
[0028]3.22)验签完成后,基于SM4算法生成一个数据密钥a(此时数据密钥为明文);
[0029]3.23)调用服务器加密机通过主密钥对数据密钥进行加密生成密文b。该步骤生成的密文b主要为以后进行解密留用;
[0030]3.24)根据传入的公钥及种子信息将数据密钥a通过SM2算法进行公钥加密并获取到密文密钥c,该值回传给用户端进行解密后,可以获取到明文数据密钥。
[0031]3.25)最后将b和c回传给调用用户(此时回传的数据都是加密后的数据)。
[0032]当进行数据解密时,则还需要根据存储的数据密钥b调用密钥管理服务获取到明文数据密钥,然后对数据密文进行解密,也需要进行签名验签、传输公钥信息。
[0033]基于SM2生成的非对称密钥对属于会话级密钥,一次一密;整个交互过程中,采用了SM2、HMACSM3、SM4国密算法。
[0034]本专利技术采用密钥传输的方式进行加密操作,保证安全的前提下提高大文件加密效率;
[0035]基于约定key的国密签名算法,保证数据密钥安全不会被篡改;
[0036]数据存储安全无明文,防止拖库数据泄露;
[0037]主密钥采用硬件加密卡保护,安全级别高而不可复制。
[0038]本专利技术的有益效果是
[0039](1)本专利技术针对大文件加密存储带来了新的实现方式,在满足安全性的前提下大大提高了加密效率。
[0040](2)本专利技术适用于其他业务场景的加密业务,通过本专利技术可以降低对物理加密机的性能开销。
[0041](3)通过本专利技术,可以提高业务间通信的安全性。
附图说明
[0042]图1是本专利技术的工作流程示意图;
[0043]图2是主密钥生成流程图;
[0044]图3是数据密钥获取流程图。
具体实施方式
[0045]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0046]本专利技术主要是针对使用密钥管理服务过程中,如何保证大文件的数据存储的安全性进行设计,在保证效率的前提下,实现数据的安全存储。
[0047]本专利技术包含了比较成熟且常用的SM2、SM3和SM4这三种算法。通过组合不同的算法使用,调整算法的模式及补码方式,从而保证了数据的传输机密性、完整性,保证数据存储的安全性,防止被人为拖库导致数据泄露。
[0048]本专利技术主要包括四部分:约定Key的下发、主密钥生成(CMK)、数据密钥生成 (DEK)、数据加密。密钥管理服务作为密钥的生命周期管理中心,负责对密钥的集中管理,外围无法拿到密钥,可以通过主密钥衍生数据密钥进行使用。本专利技术在针对大文件的加密存储过程中,采用对接密钥管理服务,通过安全传输数据密钥的形式,在本地实现数据的加解密,从而大大提高了加密效率,降低带宽依赖。
[0049]技术方案执行步骤如下:
[0050]步骤一:约定key的下发
[0051]该步骤主要是通过线上或者线下操作,生成一个SM4的对称密钥值,作为 HMACSM3计算的密钥key,并下发给用户(一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于国密算法实现的数据加密存储方法,其特征在于,包括四部分:约定Key的下发、主密钥生成、数据密钥生成、数据加密;密钥管理服务作为密钥的生命周期管理中心,负责对密钥的集中管理,外围无法拿到密钥,可以通过主密钥衍生数据密钥进行使用;通过安全传输数据密钥的形式,在本地实现数据的加解密。2.根据权利要求1所述的方法,其特征在于,步骤如下:步骤1):约定key的下发通过线上或者线下操作,生成一个SM4的对称密钥值,作为HMACSM3计算的密钥key,并下发给用户(一个用户一个key);用户拿到该key值后,放置到调用端SDK的配置文件中,方便后续的代码调用;步骤2):主密钥生成通过调用密钥管理服务实现主密钥的生成;步骤3):数据密钥生成3.1)客户端信息初始化生成并计算;3.2)服务端接收到请求后,进行校验及其他逻辑处理;步骤4):数据加密用户拿到数据密钥后,针对本地的明文数据进行数据的加密操作。3.根据权利要求2所述的方法,其特征在于,步骤2)中,该密钥是基于密码卡加密后的主密钥,密钥管理服务存储的密钥都是基于硬件设备加密后的内容,自身也无法直接拿到密钥,只能通过硬件设备解密后才可获取。4.根据权利要求3所述的方法,其特征在于,主密钥只支持SM4和SM2两种,其中SM4是对称密钥,会生一个密钥值,加密存储到密钥管理服务中;SM2会生成一个密钥对,用户可以获取到公钥值,方便后续的加解密操作。5.根据权利要求4所述的方法,其特征在...

【专利技术属性】
技术研发人员:徐士强高传集董玉全
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1