CN110598440A - 一种分布式自动加解密系统 - Google Patents

一种分布式自动加解密系统 Download PDF

Info

Publication number
CN110598440A
CN110598440A CN201910729924.8A CN201910729924A CN110598440A CN 110598440 A CN110598440 A CN 110598440A CN 201910729924 A CN201910729924 A CN 201910729924A CN 110598440 A CN110598440 A CN 110598440A
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.)
Granted
Application number
CN201910729924.8A
Other languages
English (en)
Other versions
CN110598440B (zh
Inventor
刘文强
蒋长强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongtengxin Financial Information Service (shanghai) Co Ltd
Original Assignee
Zhongtengxin Financial Information Service (shanghai) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongtengxin Financial Information Service (shanghai) Co Ltd filed Critical Zhongtengxin Financial Information Service (shanghai) Co Ltd
Priority to CN201910729924.8A priority Critical patent/CN110598440B/zh
Publication of CN110598440A publication Critical patent/CN110598440A/zh
Application granted granted Critical
Publication of CN110598440B publication Critical patent/CN110598440B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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 (8)

1.一种分布式自动加解密系统,其特征在于包括:
KMS控制台:是密钥管理后台,用于给专门的安全人员配置密钥证书、新增数据密钥、加解密配置,密钥证书和数据密钥都不明文落盘,密钥证书和数据密钥由安全人员管理,数据库、数据表和字段中的数据由运维管理;
KMS客户端:用于从配置中心加载加解密配置和所述数据密钥,并监听所述数据密钥的更新事件;
配置中心:用于所述KMS控制台发布所述加解密配置和所述数据密钥,以及向所述KMS客户端发布更新通知;
业务系统:用于实施敏感信息自动加解密的系统;
持久层:业务系统中的数据存取模块;
数据库:负责永久存储数据的软件系统。
2.根据权利要求1所述的一种分布式自动加解密系统,其特征在于:所述KMS控制台向若干个所述业务系统发布所述数据密钥。
3.根据权利要求1所述的一种分布式自动加解密系统,其特征在于:所述KMS客户端支持Druid和ShardingJDBC数据源,所述KMS客户端支持增加数据库的敏感信息字段长度。
4.根据权利要求1或2所述的一种分布式自动加解密系统,其特征在于:所述加解密配置采用RSA算法。
5.根据权利要求1所述的一种分布式自动加解密系统,其特征在于:所述KMS控制台发布配置的具体过程如下:
S1:安全人员添加所述密钥证书,所述密钥证书缓存在服务器中,加解密所述数据密钥:
S2:安全人员添加所述数据密钥、加解密配置,所述数据密钥用所述密钥证书加密存储;
S3:所述KMS控制台向所述配置中心发布所述数据密钥和所述加解密配置。
6.根据权利要求1所述的一种分布式自动加解密系统,其特征在于:所述KMS客户端加载配置工作过程如下:
S1:所述KMS客户端启动时从所述配置中心获取所述数据密钥、加解密配置;
S2:所述KMS客户端使用所述数据密钥初始化加解密工具;
S3:所述KMS客户端监听所述配置中心发布事件,如果有更新,重复上面两个步骤。
7.根据权利要求3所述的一种分布式自动加解密系统,其特征在于:所述KMS客户端自动加解密工作过程如下:
S1:加载所述加解密配置,包括需加密的数据库、数据表、字段、是否加密、是否计算索引值;
S2:所述KMS客户端拦截所述业务系统的持久层的SQL,识别数据源;
S3:解析SQL,区分Insert、Update、Delete、Select,识别其中的数据表名、字段名、条件字段、参数值;
S4:根据识别结果和所述加解密配置进行加解密、计算索引值、组装加解密结果,并设置到SQLStatement或ResultSet中。
8.根据权利要求1所述的一种分布式自动加解密系统,其特征在于:所述加解密配置用于指定需要加密和索引的数据库、数据表、字段,同时进行手工加解密、计算索引值、批量处理数据表。
CN201910729924.8A 2019-08-08 2019-08-08 一种分布式自动加解密系统 Active CN110598440B (zh)

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 true CN110598440A (zh) 2019-12-20
CN110598440B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111935090A (zh) * 2020-07-07 2020-11-13 上海微亿智造科技有限公司 工业智造物联网的大数据传输和持久化方法及系统

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163433A1 (en) * 2002-02-25 2003-08-28 Lam Chui-Shan Teresa Method and apparatus for managing a key management system
US20060236096A1 (en) * 2005-03-30 2006-10-19 Douglas Pelton Distributed cryptographic management for computer systems
US20090092252A1 (en) * 2007-04-12 2009-04-09 Landon Curt Noll Method and System for Identifying and Managing Keys
CN101437145A (zh) * 2008-12-19 2009-05-20 北京永新视博数字电视技术有限公司 一种层次化密钥安全管理方法、装置和加解密装置
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 中国科学院信息工程研究所 一种密文云存储方法和系统
CN105160272A (zh) * 2015-08-28 2015-12-16 国家电网公司 一种基于自主可控数据库的安全加密方法及系统
US20160269364A1 (en) * 2015-03-12 2016-09-15 Fornetix Llc Client services for applied key management systems and processes
CN106203146A (zh) * 2016-08-30 2016-12-07 广东港鑫科技有限公司 一种大数据安全管理系统
CN106302449A (zh) * 2016-08-15 2017-01-04 中国科学院信息工程研究所 一种密文存储与密文检索开放云服务方法和系统
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 山东超越数控电子股份有限公司 一种基于业务隔离存储的海量存储数据保护系统及方法
CN108509805A (zh) * 2018-03-21 2018-09-07 深圳天源迪科信息技术股份有限公司 数据加解密与脱敏运行引擎及其工作方法
CN109474423A (zh) * 2018-12-10 2019-03-15 平安科技(深圳)有限公司 数据加解密方法、服务器及存储介质
CN109815719A (zh) * 2019-01-21 2019-05-28 广东电网有限责任公司信息中心 一种可搜索的数据库安全加密系统
CN109918934A (zh) * 2019-03-15 2019-06-21 山东省农业机械科学研究院 基于aes三层动态加密技术的研发数据安全与保密系统
CN110602043A (zh) * 2019-08-08 2019-12-20 中腾信金融信息服务(上海)有限公司 一种面向移动应用的api网关实现系统及方法

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163433A1 (en) * 2002-02-25 2003-08-28 Lam Chui-Shan Teresa Method and apparatus for managing a key management system
US20060236096A1 (en) * 2005-03-30 2006-10-19 Douglas Pelton Distributed cryptographic management for computer systems
US20090092252A1 (en) * 2007-04-12 2009-04-09 Landon Curt Noll Method and System for Identifying and Managing Keys
CN101437145A (zh) * 2008-12-19 2009-05-20 北京永新视博数字电视技术有限公司 一种层次化密钥安全管理方法、装置和加解密装置
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 中国科学院信息工程研究所 一种密文云存储方法和系统
US20160269364A1 (en) * 2015-03-12 2016-09-15 Fornetix Llc Client services for applied key management systems and processes
CN105160272A (zh) * 2015-08-28 2015-12-16 国家电网公司 一种基于自主可控数据库的安全加密方法及系统
CN106302449A (zh) * 2016-08-15 2017-01-04 中国科学院信息工程研究所 一种密文存储与密文检索开放云服务方法和系统
CN106203146A (zh) * 2016-08-30 2016-12-07 广东港鑫科技有限公司 一种大数据安全管理系统
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 山东超越数控电子股份有限公司 一种基于业务隔离存储的海量存储数据保护系统及方法
CN108509805A (zh) * 2018-03-21 2018-09-07 深圳天源迪科信息技术股份有限公司 数据加解密与脱敏运行引擎及其工作方法
CN109474423A (zh) * 2018-12-10 2019-03-15 平安科技(深圳)有限公司 数据加解密方法、服务器及存储介质
CN109815719A (zh) * 2019-01-21 2019-05-28 广东电网有限责任公司信息中心 一种可搜索的数据库安全加密系统
CN109918934A (zh) * 2019-03-15 2019-06-21 山东省农业机械科学研究院 基于aes三层动态加密技术的研发数据安全与保密系统
CN110602043A (zh) * 2019-08-08 2019-12-20 中腾信金融信息服务(上海)有限公司 一种面向移动应用的api网关实现系统及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
何国平: "数据库透明加密中间件的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
夏明瑞: "密钥管理服务的设计与实现", 《密钥管理服务的设计与实现 *
王冠: "基于SGX的Hadoop_KMS安全增强方案", 《基于SGX的HADOOP_KMS安全增强方案》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111935090A (zh) * 2020-07-07 2020-11-13 上海微亿智造科技有限公司 工业智造物联网的大数据传输和持久化方法及系统
CN111935090B (zh) * 2020-07-07 2021-04-06 上海微亿智造科技有限公司 工业智造物联网的大数据传输和持久化方法及系统

Also Published As

Publication number Publication date
CN110598440B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN103392178B (zh) 数据库加密系统、方法和程序
US8565422B2 (en) Method and system for enryption key versioning and key rotation in a multi-tenant environment
CA2520669C (en) Method and apparatus for encrypting database columns
US20140325217A1 (en) Database apparatus, method, and program
US20230239134A1 (en) Data processing permits system with keys
CN101808095A (zh) 一种分布式存储环境下的加密副本组织方法
CN110335055B (zh) 基于云平台的业务数据追溯方法及装置
CN105635320A (zh) 一种用于调用配置信息的方法与设备
CN109302501B (zh) 一种基于区块链技术的工控数据存储方法、装置及系统
US20220329413A1 (en) Database integration with an external key management system
CN110598440B (zh) 一种分布式自动加解密系统
CN110889121A (zh) 防止数据泄露的方法、服务器及存储介质
CN115221183A (zh) 数据处理方法及装置
CN108055127A (zh) 计算与数据分离支持热更新加密算法和密钥数据加密方法
CN109756333A (zh) 密钥管理系统
CN113517981B (zh) 一种密钥管理方法、代码版本的管理方法及装置
US20180227121A1 (en) Encryption scheme using multiple parties
CN112565367B (zh) 一种基于对称算法的数据交换平台和数据交换方法
JP6467091B1 (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
US11275849B2 (en) Crytography data management
US20210319128A1 (en) Managing queries with data processing permits
CN111833008A (zh) 一种职能科室人员供给预测系统、设备及介质
WO2022002352A1 (en) Data storage server and client devices for securely storing data
CN111526014A (zh) 集群化部署应用密码统一管理系统和方法
CN111865991B (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
GR01 Patent grant
GR01 Patent grant