CN116032514A - 一种分布式高并发数据安全加解密的方法 - Google Patents
一种分布式高并发数据安全加解密的方法 Download PDFInfo
- Publication number
- CN116032514A CN116032514A CN202210227959.3A CN202210227959A CN116032514A CN 116032514 A CN116032514 A CN 116032514A CN 202210227959 A CN202210227959 A CN 202210227959A CN 116032514 A CN116032514 A CN 116032514A
- Authority
- CN
- China
- Prior art keywords
- encryption
- key
- decryption
- service
- plaintext
- 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
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
Images
Abstract
本发明公开的属于数据安全加解密技术领域,具体为一种分布式高并发数据安全加解密的方法,包括以下操作步骤:S1:在云厂商提供的KMS服务中,创建一个主密钥ID,S2:加解密服务启动,调用云厂商KMS服务,查询出可用主密钥KEYID,S3:通过KEYID去数据库中查询出对应的密钥对,S4:获取创建时间最新的KEYID,查询数据库得到相应的密钥对,将对应的公钥和版本号version存储到内存中,用于数据加密,本发明提供的加解密方案通过将私钥进行加密,实现明文私钥不落盘,更加安全的保障私钥不被泄露,通过分布式部署加解密服务,无感扩缩容,保障服务高可用,且可实时监控各业务的访问加解密服务情况,及时感知恶意请求,避免数据泄露。
Description
技术领域
本发明涉及数据安全加解密技术领域,具体为一种分布式高并发数据安全加解密的方法。
背景技术
互联网中很多敏感数据,比如电话号码,身份证号,银行卡号,以明文存储到磁盘或者数据库中,在后续使用过程中面临着各种数据泄露的风险,为了保护敏感数据,所以就需要应用层使用加解密系统进行加密存储,而使用到这些数据的时候自然就需要对其解密。
现有的常用加解密技术为密钥加密,而密钥都是以固定或明文形式存储,一旦密钥泄露,加密的数据变的不安全,且各大云厂商也提供了KMS加解密相关接口,但通过直接调用云厂商的HTTP接口会有频率限制,也会有高昂的费用,而且数据加解密依赖云厂商的服务的高可用,且加密后数据不能通过其他厂商解密,变更其他厂商会受到限制,而RSA传统加密算法每次使用公钥加密内容不一致,在诸多系统中数据出现不一致,会导致系统异常,且RSA加密数据有长度限制,明文长度需要小于密钥长度。
为此,我们提出一种分布式高并发数据安全加解密的方法。
发明内容
鉴于上述和/或现有一种分布式高并发数据安全加解密的方法中存在的问题,提出了本发明。
因此,本发明的目的是提供一种分布式高并发数据安全加解密的方法,通过Spring Boot框架搭建微服务,采用高性能优秀的服务框架DUBBO,提供RPC接口实现服务远程过程调用,再通过对每个业务对接方都需要进行token检验,能够解决上述提出现有的问题。
为解决上述技术问题,根据本发明的一个方面,本发明提供了如下技术方案:
一种分布式高并发数据安全加解密的方法,其包括:以下操作步骤:
S1:在云厂商提供的KMS服务中,创建一个主密钥ID;
S2:加解密服务启动,调用云厂商KMS服务,查询出可用主密钥KEYID;
S3:通过KEYID去数据库中查询出对应的密钥对;
S4:获取创建时间最新的KEYID,查询数据库得到相应的密钥对,将对应的公钥和版本号version存储到内存中,用于数据加密;
S5:当明文数据请求加密接口时,先校验明文,为空或者长度过长的都给出相应的提示;
S5:用最新公钥对明文数据进行加密,然后在明文前面加上特殊字符标识已经加过密,再加上对应的版本号,标识哪个公钥加密,可以根据对应的版本找出对应的私钥解密;
S6:当进行加密时,会根据加密标识前缀判断是否已经加过密,如果已经加密过,则提示给用户已经加过密;
S7:根据KEYID从中获取的主键id(version)和cipher_private_key(密文密钥),调用云厂商KMS的解密接口,得到明文密钥,将明文密钥和version放入Map中,用作解密处理;
S8:当请求解密接口时,先对密文进行拆分,拆分出版本号和对应的密文,根据版本号找出对应的明文私钥,对密文进行解密;
S9:更换密钥,通过在云厂商KMS控制平台,创建新的KEYID,重启加解密服务,加解密服务根据KEYID创建新的RSA密钥对,存储到数据库并更新到内存中。
作为本发明所述的一种分布式高并发数据安全加解密的方法的一种优选方案,其中:所述S3中具体数据库表结构显示为密钥存储数据表。
作为本发明所述的一种分布式高并发数据安全加解密的方法的一种优选方案,其中:所述S5中操作为数据调用加密接口过程。
作为本发明所述的一种分布式高并发数据安全加解密的方法的一种优选方案,其中:所述S8中操作为数据调用解密接口过程。
作为本发明所述的一种分布式高并发数据安全加解密的方法的一种优选方案,其中:所述S9中操作为更换密钥过程。
与现有技术相比:
1.更安全:提供的加解密方案通过将私钥进行加密,实现明文私钥不落盘,更加安全的保障私钥不被泄露;
2.更稳定:通过分布式部署加解密服务,无感扩缩容,保障服务高可用;
3.可实时监控各业务的访问加解密服务情况,及时感知恶意请求,避免数据泄露;
4.通过对访问接口的进行token鉴权,保障接口安全稳定;
5.提供公钥获取接口,调用方可实现本地加密,无需频繁远程请求;
6.RSA加密算法,通过使用固定字节填充,加密之后每次结果一致,避免各业务系统异常;
7.通过RSA分段加密,突破对数据加密长度限制。
附图说明
图1为本发明提供的密钥存储数据表结构图;
图2为本发明提供的数据调用加密接口过程图;
图3为本发明提供的解密流程图;
图4为本发明提供的更换密钥流程图;
图5为本发明提供的流程图;
图6为本发明提供的加解密服务体系架构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
本发明提供一种分布式高并发数据安全加解密的方法,包括以下操作步骤:
S1:在云厂商提供的KMS服务中,创建一个主密钥ID;
S2:加解密服务启动,调用云厂商KMS服务,查询出可用主密钥KEYID;
S3:通过KEYID去数据库中查询出对应的密钥对;
S4:获取创建时间最新的KEYID,查询数据库得到相应的密钥对,将对应的公钥和版本号version存储到内存中,用于数据加密;
S5:当明文数据请求加密接口时,先校验明文,非空或者长度过长的都给出相应的提示;
S5:用最新公钥对明文数据进行加密,然后在明文前面加上特殊字符标识已经加过密,再加上对应的版本号,标识哪个公钥加密,可以根据对应的版本找出对应的私钥解密;
S6:当进行加密时,会根据加密标识前缀判断是否已经加过密,如果已经加密过,则提示给用户已经加过密;
S7:根据KEYID从中获取的主键id(version)和cipher_private_key(密文密钥),调用云厂商KMS的解密接口,得到明文密钥,将明文密钥和version放入Map中,用作解密处理;
S8:当请求解密接口时,先对密文进行拆分,拆分出版本号和对应的密文,根据版本号找出对应的明文私钥,对密文进行解密;
S9:更换密钥,通过在云厂商KMS控制平台,创建新的KEYID,重启加解密服务,加解密服务根据KEYID创建新的RSA密钥对,存储到数据并更新到内存中;
参考图1-图4,对应有些业务来说,提供单个加解密接口,会有频繁的请求,也可通过批量加解密接口进行处理,减少网络请求,提高效率,对于加解密接口,安全校验是有必要的,对每个业务对接方都需要进行token检验,只有检验通过的才可以访问加解密接口,进而达到提供的加解密方案通过将私钥进行加密,实现明文私钥不落盘,更加安全的保障私钥不被泄露,且通过对访问接口的进行token鉴权,保障接口安全稳定,且提供公钥获取接口,调用方可实现本地加密,无需频繁远程请求;
参考图5-图6,通过Spring Boot框架搭建微服务,采用高性能优秀的服务框架DUBBO,提供RPC接口实现服务远程过程调用,智能负载均衡,采用NACOS作为注册中心,智能感知节点健康状况,提供系统吞吐量,采用Spring Cloud提供Restful风格接口、兼容其他编程语言,采用Apollo动态配置中心动态对服务调用方进行流量管控和访问校验,结合分布式追踪链路Skywalking,通过加载探针,非侵入式的方式调用链路信息,并对采集的调用链路信息进行分析,采用面向分布式服务架构的高可用防护组件sentinel接口流量控制、熔断降级、对系统自适应保护,接口访问日志收集,通过Filebeat将日志发送到KAFKA,通过特定的程序,消费该服务的访问日志,将访问时间,调用IP,AppId(具体应用)分词到安全部门ElasticSearch中,监控统计调用方访问次数统计,及时处理异常IP告警,在记录日志中,将调用方明文数据及token相关敏感数据进行模糊处理,加解密服务同时兼容各大云厂商,实现同一套密钥同时对接不同云厂商,跨机房部署,异地容灾备份,进而达到通过分布式部署加解密服务,无感扩缩容,保障服务高可用,可实时监控各业务的访问加解密服务情况,及时感知恶意请求,避免数据泄露,且RSA加密算法,通过使用固定字节填充,加密之后每次结果一致,避免各业务系统异常,通过RSA分段加密,突破对数据加密长度限制的效果。
虽然在上文中已经参考实施方式对本发明进行了描述,然而在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,本发明所披露的实施方式中的各项特征均可通过任意方式相互结合起来使用,在本说明书中未对这些组合的情况进行穷举性的描述仅仅是出于省略篇幅和节约资源的考虑。因此,本发明并不局限于文中公开的特定实施方式,而是包括落入权利要求的范围内的所有技术方案。
Claims (5)
1.一种分布式高并发数据安全加解密的方法,其特征在于:包括以下操作步骤:
S1:在云厂商提供的KMS服务中,创建一个主密钥ID;
S2:加解密服务启动,调用云厂商KMS服务,查询出可用主密钥KEYID;
S3:通过KEYID去数据库中查询出对应的密钥对;
S4:获取创建时间最新的KEYID,查询数据库得到相应的密钥对,将对应的公钥和版本号version存储到内存中,用于数据加密;
S5:当明文数据请求加密接口时,先校验明文,为空或者长度过长的都给出相应的提示;
S5:用最新公钥对明文数据进行加密,然后在明文前面加上特殊字符标识已经加过密,再加上对应的版本号,标识哪个公钥加密,可以根据对应的版本找出对应的私钥解密;
S6:当进行加密时,会根据加密标识前缀判断是否已经加过密,如果已经加密过,则提示给用户已经加过密;
S7:根据KEYID从中获取的主键id(version)和cipher_private_key(密文密钥),调用云厂商KMS的解密接口,得到明文密钥,将明文密钥和version放入Map中,用作解密处理;
S8:当请求解密接口时,先对密文进行拆分,拆分出版本号和对应的密文,根据版本号找出对应的明文私钥,对密文进行解密;
S9:更换密钥,通过在云厂商KMS控制平台,创建新的KEYID,重启加解密服务,加解密服务根据KEYID创建新的RSA密钥对,存储到数据库并更新到内存中。
2.根据权利要求1所述的一种分布式高并发数据安全加解密的方法,其特征在于,所述S3中具体数据库表结构显示为密钥存储数据表。
3.根据权利要求1所述的一种分布式高并发数据安全加解密的方法,其特征在于,所述S5中操作为数据调用加密接口过程。
4.根据权利要求1所述的一种分布式高并发数据安全加解密的方法,其特征在于,所述S8中操作为数据调用解密接口过程。
5.根据权利要求1所述的一种分布式高并发数据安全加解密的方法,其特征在于,所述S9中操作为更换密钥过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210227959.3A CN116032514A (zh) | 2022-03-08 | 2022-03-08 | 一种分布式高并发数据安全加解密的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210227959.3A CN116032514A (zh) | 2022-03-08 | 2022-03-08 | 一种分布式高并发数据安全加解密的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116032514A true CN116032514A (zh) | 2023-04-28 |
Family
ID=86071054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210227959.3A Pending CN116032514A (zh) | 2022-03-08 | 2022-03-08 | 一种分布式高并发数据安全加解密的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116032514A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617401A (zh) * | 2013-11-25 | 2014-03-05 | 北京深思数盾科技有限公司 | 一种数据文件保护方法及装置 |
US20160028539A1 (en) * | 2013-03-13 | 2016-01-28 | Fujian Landi Commercial Equipment Co., Ltd. | Key management method and system |
CN106973061A (zh) * | 2017-04-26 | 2017-07-21 | 南通大学 | 一种基于可逆逻辑电路的aes的外发文件加密方法 |
CN109474423A (zh) * | 2018-12-10 | 2019-03-15 | 平安科技(深圳)有限公司 | 数据加解密方法、服务器及存储介质 |
-
2022
- 2022-03-08 CN CN202210227959.3A patent/CN116032514A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160028539A1 (en) * | 2013-03-13 | 2016-01-28 | Fujian Landi Commercial Equipment Co., Ltd. | Key management method and system |
CN103617401A (zh) * | 2013-11-25 | 2014-03-05 | 北京深思数盾科技有限公司 | 一种数据文件保护方法及装置 |
CN106973061A (zh) * | 2017-04-26 | 2017-07-21 | 南通大学 | 一种基于可逆逻辑电路的aes的外发文件加密方法 |
CN109474423A (zh) * | 2018-12-10 | 2019-03-15 | 平安科技(深圳)有限公司 | 数据加解密方法、服务器及存储介质 |
Non-Patent Citations (1)
Title |
---|
刘凤龙, 陈松乔: "基于文件传输的双向式数据交换的设计与实现", 怀化学院学报, no. 05 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112926982B (zh) | 一种交易数据处理方法、装置、设备及存储介质 | |
US11818274B1 (en) | Systems and methods for trusted path secure communication | |
US10992649B2 (en) | Systems and methods for privacy in distributed ledger transactions | |
CN110061983B (zh) | 一种数据处理方法及系统 | |
US8489894B2 (en) | Reference token service | |
FI115257B (fi) | Menetelmä informaation käsittelemiseksi elektroniikkalaitteessa, järjestelmä, elektroniikkalaite ja suoritinlohko | |
CN110489996B (zh) | 一种数据库数据安全管理方法及系统 | |
CN104468562B (zh) | 一种面向移动应用透明的数据安全保护便携式终端 | |
CN100512201C (zh) | 用于处理分组业务的接入-请求消息的方法 | |
EP3860036B1 (en) | Key management method, security chip, service server and information system | |
CN108270739B (zh) | 一种管理加密信息的方法及装置 | |
CN108307333B (zh) | 用于移动通信设备的中间号码发送方法、装置及存储介质 | |
CN108810017B (zh) | 业务处理安全验证方法及装置 | |
CN113269642B (zh) | 基于区块链的交易处理方法、装置、设备及存储介质 | |
CN105491058A (zh) | 一种api访问分布式授权方法及其系统 | |
CN113568643A (zh) | 一种资源获取方法、装置、电子设备及计算机可读介质 | |
CN107729760B (zh) | 基于Android系统的CSP实现方法及智能终端 | |
US20230327863A1 (en) | Data management and encryption in a distributed computing system | |
CN114221927A (zh) | 基于国密算法的邮件加密服务系统及方法 | |
CN116032514A (zh) | 一种分布式高并发数据安全加解密的方法 | |
CN113179230B (zh) | 一种数据采集方法及装置 | |
US11921877B2 (en) | Efficient random tokenization in the cloud | |
CN114401132A (zh) | 数据加密方法、装置、设备及存储介质 | |
CN110166452B (zh) | 一种基于JavaCard共享接口的访问控制方法及系统 | |
CN111695987A (zh) | 客户注册的处理方法、装置、设备及存储介质 |
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 |