CN110598440B - 一种分布式自动加解密*** - Google Patents
一种分布式自动加解密*** Download PDFInfo
- Publication number
- CN110598440B CN110598440B CN201910729924.8A CN201910729924A CN110598440B CN 110598440 B CN110598440 B CN 110598440B CN 201910729924 A CN201910729924 A CN 201910729924A CN 110598440 B CN110598440 B CN 110598440B
- Authority
- CN
- China
- Prior art keywords
- encryption
- decryption
- data
- configuration
- kms
- 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
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种分布式自动加解密***,包括KMS控制台、KMS客户端、配置中心、业务***、持久层和数据库。本发明,密钥证书和数据密钥都不明文落盘,对软件***的侵入性不强,对于老***的改造工作量较小,不易引入新的安全隐患,因此具有易用性。
Description
技术领域
本发明涉及产品软件技术领域,具体为一种分布式自动加解密***。
背景技术
互联网金融服务需要用到用户的身份、银行卡等敏感信息,按照《信息安全技术个人信息安全规范》的规定,这些数据应当被加密存储,在需要使用时再根据密文解密出明文。
目前常见的做法是使用加解密、摘要工具库,加载配置在文件或者服务器上的密钥,在存储敏感信息时显式调用加密方法,在读取敏感信息时显式调用解密方法,在查询时使用摘要工具库计算索引值后匹配,密文、索引值需要分开存储,在改造老***时对存取逻辑、数据表和映射对象都要做相应修改。
目前常见的做法在易用性、可维护性和安全性等方面存在不足。
易用性:因为需要显式的调用加解密方法,对软件***的侵入性很强;对于老***的改造工作量繁重,容易引入新的隐患。
可维护性:加密密钥由运维配置,因为历史数据和多***共用,密钥几乎无法更换。
安全性:因为数据、密钥都由运维维护,且难以更换密钥,密钥和密文数据有同时泄漏的风险。
发明内容
本发明的目的在于提供一种分布式自动加解密***,具有易用性、具有可维护性和具有较高的安全性,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种分布式自动加解密***,包括:
KMS控制台:是密钥管理后台,用于给专门的安全人员配置密钥证书、新增数据密钥、加解密配置,加解密配置用于指定需要加密和索引的数据库、数据表、字段,同时进行手工加解密、计算索引值、批量处理数据表,密钥证书和数据密钥都不明文落盘,密钥证书和数据密钥由安全人员管理,数据库、数据表和字段中的数据由运维管理;
KMS客户端:用于从配置中心加载加解密配置和所述数据密钥,并监听所述数据密钥的更新事件;
配置中心:用于所述KMS控制台发布所述加解密配置和所述数据密钥,以及向所述KMS客户端发布更新通知;
业务***:用于实施敏感信息自动加解密的***;
持久层:业务***中的数据存取模块;
数据库:负责永久存储数据的软件***。
优选的,所述KMS控制台向若干个所述业务***发布所述数据密钥。
优选的,所述KMS客户端支持Druid和ShardingJDBC数据源,所述KMS客户端支持增加数据库的敏感信息字段长度。
优选的,所述加解密配置采用RSA算法。
优选的,所述KMS控制台发布配置的具体过程如下:
S1:安全人员添加所述密钥证书,所述密钥证书缓存在服务器中,加解密所述数据密钥:
S2:安全人员添加所述数据密钥、加解密配置,所述数据密钥用所述密钥证书加密存储;
S3:所述KMS控制台向所述配置中心发布所述数据密钥和所述加解密配置。
优选的,所述KMS客户端加载配置工作过程如下:
S1:所述KMS客户端启动时从所述配置中心获取所述数据密钥、加解密配置;
S2:所述KMS客户端使用所述数据密钥初始化加解密工具;
S3:所述KMS客户端监听所述配置中心发布事件,如果有更新,重复上面两个步骤。
优选的,所述KMS客户端自动加解密工作过程如下:
S1:加载所述加解密配置,包括需加密的数据库、数据表、字段、是否加密、是否计算索引值;
S2:所述KMS客户端拦截所述业务***的持久层的SQL,识别数据源;
S3:解析SQL,区分Insert、Update、Delete、Select,识别其中的数据表名、字段名、条件字段、参数值;
S4:根据识别结果和所述加解密配置进行加解密、计算索引值、组装加解密结果,并设置到SQLStatement或ResultSet中。
与现有技术相比,本发明的有益效果是:
1、本发明,密钥证书和数据密钥都不明文落盘,对软件***的侵入性不强,对于老***的改造工作量较小,不易引入新的安全隐患,因此具有易用性;
2、本发明,KMS控制台能够新增数据秘钥,实现了秘钥的更换,具有可维护性;
3、本发明,密钥证书和数据密钥由安全人员管理,数据表和字段中的数据由运维管理,密钥和密文数据没有同时泄漏的风险,安全性较高。
附图说明
图1为本发明的模块结构示意图;
图2为本发明的KMS控制台发布配置工作流程图;
图3为本发明的KMS客户端加载配置工作流程图;
图4为本发明的KMS客户端自动加解密工作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:
请参阅图1-4,本发明提供一种技术方案:一种分布式自动加解密***,如图1和3所示,包括:
KMS控制台:是密钥管理后台,用于给专门的安全人员配置密钥证书、新增数据密钥、加解密配置,加解密配置用于指定需要加密和索引的数据库、数据表、字段,同时进行手工加解密、计算索引值、批量处理数据表,密钥证书和数据密钥都不明文落盘,密钥证书和数据密钥由安全人员管理,数据库、数据表和字段中的数据由运维管理;
KMS客户端:用于从配置中心加载加解密配置和数据密钥,并监听数据密钥的更新事件;
配置中心:用于KMS控制台发布加解密配置和数据密钥,以及向KMS客户端发布更新通知;
业务***:用于实施敏感信息自动加解密的***;
持久层:业务***中的数据存取模块;
数据库:负责永久存储数据的软件***。
进一步,KMS控制台向若干个业务***发布数据密钥,大大降低了安全风险和维护成本。
进一步,KMS客户端支持Druid和ShardingJDBC数据源,KMS客户端支持增加数据库的敏感信息字段长度,可以直接支持所有的Java应用,而不需要对现有***代码做任何重构,大大降低了接入成本。
进一步,加解密配置采用RSA算法,安全性较高。
进一步,KMS控制台发布配置的具体过程如下:
S1:安全人员添加密钥证书,密钥证书缓存在服务器中,加解密数据密钥:
S2:安全人员添加数据密钥、加解密配置,数据密钥用密钥证书加密存储;
S3:KMS控制台向配置中心发布数据密钥和加解密配置:
进一步,KMS客户端加载配置工作过程如下:
S1:KMS客户端启动时从配置中心获取数据密钥、加解密配置;
S2:KMS客户端使用数据密钥初始化加解密工具;
S3:KMS客户端监听配置中心发布事件,如果有更新,重复上面两个步骤。
进一步,KMS客户端自动加解密工作过程如下:
S1:加载加解密配置,包括需加密的数据库、数据表、字段、是否加密、是否计算索引值;
S2:KMS客户端拦截业务***的持久层的SQL,识别数据源;
S3:解析SQL,区分Insert、Update、Delete、Select,识别其中的数据表名、字段名、条件字段、参数值;
S4:根据识别结果和加解密配置进行加解密、计算索引值、组装加解密结果,并设置到SQLStatement或ResultSet中。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (5)
1.一种分布式自动加解密***,其特征在于包括:
KMS控制台:是密钥管理后台,用于给专门的安全人员配置密钥证书、新增数据密钥、加解密配置,密钥证书和数据密钥都不明文落盘,密钥证书和数据密钥由安全人员管理,数据库、数据表和字段中的数据由运维管理;
KMS客户端:用于从配置中心加载加解密配置和所述数据密钥,并监听所述数据密钥的更新事件;
配置中心:用于所述KMS控制台发布所述加解密配置和所述数据密钥,以及向所述KMS客户端发布更新通知;
业务***:用于实施敏感信息自动加解密的***;
持久层:业务***中的数据存取模块;
数据库:负责永久存储数据的软件***;
所述KMS控制台发布配置的具体过程如下:
S1:安全人员添加所述密钥证书,所述密钥证书缓存在服务器中,加解密所述数据密钥:
S2:安全人员添加所述数据密钥、加解密配置,所述数据密钥用所述密钥证书加密存储;
S3:所述KMS控制台向所述配置中心发布所述数据密钥和所述加解密配置;
所述KMS客户端加载配置工作过程如下:
S1:所述KMS客户端启动时从所述配置中心获取所述数据密钥、加解密配置;
S2:所述KMS客户端使用所述数据密钥初始化加解密工具;
S3:所述KMS客户端监听所述配置中心发布事件,如果有更新,重复上面两个步骤;
所述KMS客户端自动加解密工作过程如下:
S1:加载所述加解密配置,包括需加密的数据库、数据表、字段、是否加密、是否计算索引值;
S2:所述KMS客户端拦截所述业务***的持久层的SQL,识别数据源;
S3:解析SQL,区分Insert、Update、Delete、Select,识别其中的数据表名、字段名、条件字段、参数值;
S4:根据识别结果和所述加解密配置进行加解密、计算索引值、组装加解密结果,并设置到SQLStatement或ResultSet中。
2.根据权利要求1所述的一种分布式自动加解密***,其特征在于:所述KMS控制台向若干个所述业务***发布所述数据密钥。
3.根据权利要求1所述的一种分布式自动加解密***,其特征在于:所述KMS客户端支持Druid和ShardingJDBC数据源,所述KMS客户端支持增加数据库的敏感信息字段长度。
4.根据权利要求1或2所述的一种分布式自动加解密***,其特征在于:所述加解密配置采用RSA算法。
5.根据权利要求1所述的一种分布式自动加解密***,其特征在于:所述加解密配置用于指定需要加密和索引的数据库、数据表、字段,同时进行手工加解密、计算索引值、批量处理数据表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910729924.8A CN110598440B (zh) | 2019-08-08 | 2019-08-08 | 一种分布式自动加解密*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910729924.8A CN110598440B (zh) | 2019-08-08 | 2019-08-08 | 一种分布式自动加解密*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110598440A CN110598440A (zh) | 2019-12-20 |
CN110598440B true CN110598440B (zh) | 2023-05-09 |
Family
ID=68853859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910729924.8A Active CN110598440B (zh) | 2019-08-08 | 2019-08-08 | 一种分布式自动加解密*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110598440B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111935090B (zh) * | 2020-07-07 | 2021-04-06 | 上海微亿智造科技有限公司 | 工业智造物联网的大数据传输和持久化方法及*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504706A (zh) * | 2009-03-03 | 2009-08-12 | 中国科学院软件研究所 | 数据库信息加密方法和*** |
CN102932149A (zh) * | 2012-10-30 | 2013-02-13 | 武汉理工大学 | 一种集成ibe数据加密*** |
CN103546547A (zh) * | 2013-10-08 | 2014-01-29 | 武汉理工大学 | 一种云存储文件加密*** |
CN103595730A (zh) * | 2013-11-28 | 2014-02-19 | 中国科学院信息工程研究所 | 一种密文云存储方法和*** |
CN107800538A (zh) * | 2016-09-01 | 2018-03-13 | 中电长城(长沙)信息技术有限公司 | 一种自助设备远程密钥分发方法 |
CN108111479A (zh) * | 2017-11-10 | 2018-06-01 | 中国电子科技集团公司第三十二研究所 | 用于Hadoop分布式文件***透明加解密的密钥管理方法 |
CN108491732A (zh) * | 2018-03-13 | 2018-09-04 | 山东超越数控电子股份有限公司 | 一种基于业务隔离存储的海量存储数据保护***及方法 |
CN109918934A (zh) * | 2019-03-15 | 2019-06-21 | 山东省农业机械科学研究院 | 基于aes三层动态加密技术的研发数据安全与保密*** |
CN110602043A (zh) * | 2019-08-08 | 2019-12-20 | 中腾信金融信息服务(上海)有限公司 | 一种面向移动应用的api网关实现***及方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7251635B2 (en) * | 2002-02-25 | 2007-07-31 | Schlumberger Omnes, Inc. | Method and apparatus for managing a key management system |
US8291224B2 (en) * | 2005-03-30 | 2012-10-16 | Wells Fargo Bank, N.A. | Distributed cryptographic management for computer systems |
WO2008128212A1 (en) * | 2007-04-12 | 2008-10-23 | Ncipher Corporation Ltd. | Method and system for identifying and managing encryption keys |
CN101437145B (zh) * | 2008-12-19 | 2011-01-05 | 北京永新视博数字电视技术有限公司 | 一种层次化密钥安全管理方法、装置和加解密装置 |
US9967289B2 (en) * | 2015-03-12 | 2018-05-08 | Fornetix Llc | Client services for applied key management systems and processes |
CN105160272B (zh) * | 2015-08-28 | 2018-10-26 | 国家电网公司 | 一种基于自主可控数据库的安全加密方法及*** |
CN106302449B (zh) * | 2016-08-15 | 2019-10-11 | 中国科学院信息工程研究所 | 一种密文存储与密文检索开放云服务方法和*** |
CN106203146B (zh) * | 2016-08-30 | 2017-04-26 | 广东港鑫科技有限公司 | 一种大数据安全管理*** |
CN108509805A (zh) * | 2018-03-21 | 2018-09-07 | 深圳天源迪科信息技术股份有限公司 | 数据加解密与脱敏运行引擎及其工作方法 |
CN109474423B (zh) * | 2018-12-10 | 2022-10-21 | 平安科技(深圳)有限公司 | 数据加解密方法、服务器及存储介质 |
CN109815719A (zh) * | 2019-01-21 | 2019-05-28 | 广东电网有限责任公司信息中心 | 一种可搜索的数据库安全加密*** |
-
2019
- 2019-08-08 CN CN201910729924.8A patent/CN110598440B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101504706A (zh) * | 2009-03-03 | 2009-08-12 | 中国科学院软件研究所 | 数据库信息加密方法和*** |
CN102932149A (zh) * | 2012-10-30 | 2013-02-13 | 武汉理工大学 | 一种集成ibe数据加密*** |
CN103546547A (zh) * | 2013-10-08 | 2014-01-29 | 武汉理工大学 | 一种云存储文件加密*** |
CN103595730A (zh) * | 2013-11-28 | 2014-02-19 | 中国科学院信息工程研究所 | 一种密文云存储方法和*** |
CN107800538A (zh) * | 2016-09-01 | 2018-03-13 | 中电长城(长沙)信息技术有限公司 | 一种自助设备远程密钥分发方法 |
CN108111479A (zh) * | 2017-11-10 | 2018-06-01 | 中国电子科技集团公司第三十二研究所 | 用于Hadoop分布式文件***透明加解密的密钥管理方法 |
CN108491732A (zh) * | 2018-03-13 | 2018-09-04 | 山东超越数控电子股份有限公司 | 一种基于业务隔离存储的海量存储数据保护***及方法 |
CN109918934A (zh) * | 2019-03-15 | 2019-06-21 | 山东省农业机械科学研究院 | 基于aes三层动态加密技术的研发数据安全与保密*** |
CN110602043A (zh) * | 2019-08-08 | 2019-12-20 | 中腾信金融信息服务(上海)有限公司 | 一种面向移动应用的api网关实现***及方法 |
Non-Patent Citations (2)
Title |
---|
基于SGX的Hadoop_KMS安全增强方案;王冠;《基于SGX的Hadoop_KMS安全增强方案》;全文 * |
密钥管理服务的设计与实现;夏明瑞;《密钥管理服务的设计与实现》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110598440A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10860727B2 (en) | Mass encryption management | |
CN103392178B (zh) | 数据库加密***、方法和程序 | |
US9600677B2 (en) | Database apparatus, method, and program | |
US10594490B2 (en) | Filtering encrypted data using indexes | |
CN101587479B (zh) | 面向数据库管理***内核的数据加解密***及其方法 | |
US20070201700A1 (en) | Efficient key updates in encrypted database systems | |
CA2520669A1 (en) | Method and apparatus for encrypting database columns | |
CN111475828A (zh) | 区块链账本数据的加密方法及装置、解密方法及装置 | |
CN110889121A (zh) | 防止数据泄露的方法、服务器及存储介质 | |
CN110598440B (zh) | 一种分布式自动加解密*** | |
CN108055127A (zh) | 计算与数据分离支持热更新加密算法和密钥数据加密方法 | |
CN111737747A (zh) | 数据库保密方法、装置、设备及计算机存储介质 | |
CN115510433B (zh) | 数据开放安全可视化监管***、方法及存储介质 | |
CN112565367B (zh) | 一种基于对称算法的数据交换平台和数据交换方法 | |
US10362015B2 (en) | Method of generating multiple identifications with multi-level security for network-connected devices | |
US11909859B2 (en) | Removing access to blockchain data | |
US11983286B2 (en) | Managing queries with data processing permits | |
CN111526014A (zh) | 集群化部署应用密码统一管理***和方法 | |
CN112905573A (zh) | 一种海量电网数据管理存储*** | |
CN110365478B (zh) | 一种整合协议认证工具的管理***及管理方法 | |
CN113409021B (zh) | 一种电网数据共享*** | |
CN111865991A (zh) | 一种用于数据加密中心的动态加密及解密方法 | |
US20200266982A1 (en) | Virtual memory extension layer for hardware security modules | |
CN113449337A (zh) | 一种服务器托管信息处理方法及*** | |
WO2022146377A1 (en) | A system for encrypting and tracking personal data |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |