CN117879795A - 一种混合云下安全通用的数据库密钥管理系统 - Google Patents
一种混合云下安全通用的数据库密钥管理系统 Download PDFInfo
- Publication number
- CN117879795A CN117879795A CN202311712770.4A CN202311712770A CN117879795A CN 117879795 A CN117879795 A CN 117879795A CN 202311712770 A CN202311712770 A CN 202311712770A CN 117879795 A CN117879795 A CN 117879795A
- Authority
- CN
- China
- Prior art keywords
- key
- module
- security
- database
- teledb
- 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
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 38
- 238000004891 communication Methods 0.000 claims abstract description 12
- 238000009434 installation Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 8
- 150000003839 salts Chemical class 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 47
- 238000004590 computer program Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种混合云下安全通用的数据库密钥管理系统,具体涉及数据库加密技术领域,包括:安全API模块、控制中心模块、密钥生成模块、KMS服务模块、密钥存储模块以及日志管理模块;所述安全API模块是系统与外部通信的接口,用于提供TeleDB数据库的访问权限和生成密钥,还用于提供TeleDB管控平台访问需求的安装和卸载透明加密插件;所述API使用自研对称加密算法进行加密;所述控制中心模块用于协调和管理各个模块;本发明中的密钥管理系统使用自研的对称加密算法进行全流程的安全加密,确保API、数据库、日志等密钥信息的绝对安全。
Description
技术领域
本发明涉及数据库加密技术领域,更具体地说,本发明涉及一种混合云下安全通用的数据库密钥管理系统。
背景技术
随着集团公司“云改数转”战略深入推进和底层技术去IOE的实施,用基于开源化自主研发的数据库等技术替换国外商用数据库成为趋势,对数据库安全稳定运营的要求也越来越高。目前,针对数据库安全问题,学术界提出了一些以密码学为基础的新技术,在混合云场景下,需要用密码来加密不同用户的数据,来保证通信安全;如何保护数据安全使之不被窃取、不被篡改或破坏等问题越来越受到人们的重视。
在现有的技术中,申请公开号为CN107609420A的申请文件,公开了一种数据库加密系统,包括权限管理模块、密钥管理模块、SQL解析重构模块和加/解密模块,本系统采用库内加密和库外加密相结合;权限管理模块针对用户权限检查和限制制度的设置,根据用户安全等级来衡量用户权限;密钥管理模块用于管理密文的数据库,用于密钥的设置、保存和获取;SQL解析重构模块实现数据库内数据明文与密文的互换;用户在获取解密密钥的过程中需将密钥管理模块和加/解密模块进行交换和调用。该发明保证了系统的安全性能,还具有稳定实用等优势,该系统虽然可对数据库内的重要信息进行封闭式储存,当用户需从数据库系统中查询或获取信息时,必须通过系统的审核,只有明文批准的用户才能进入数据库系统,然而在加密过程中,不能保证数据的安全性,并且无法使得用户对底层数据的加密无感知。
发明内容
为了克服现有技术的上述缺陷,本发明的实施例提供一种混合云下安全通用的数据库密钥管理系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种混合云下安全通用的数据库密钥管理系统,包括:安全API模块、控制中心模块、密钥生成模块、KMS服务模块、密钥存储模块以及日志管理模块;
所述安全API模块是系统与外部通信的接口,用于提供TeleDB数据库的访问权限和生成密钥,还用于提供TeleDB管控平台访问需求的安装和卸载透明加密插件;所述API使用对称加密算法进行加密;
所述控制中心模块用于协调和管理各个模块;
所述密钥生成模块根据生成安全密钥请求生成安全密钥;
所述KMS服务模块根据生成安全密钥请求进行运行;
所述密钥存储模块对安全密钥进行缓存并存储;
所述日志管理模块负责对所有的用户与本密钥管理系统、本系统与KMS服务的交互信息进行记录。
进一步地,在卸载TeleDB数据库透明插件之前,预先检查当前TeleDB数据库是否具有加密表数据,若有,则说明加密表数据返回失败并提醒用户先解密表数据,否则卸载透明加密插件导致出错,在安装TeleDB数据库透明加密插件后,等待插件发送的安装成功信息。
进一步地,所述安全API模块使用对称加密算法进行加密的内容包括:
首先,通过安全随机数生成器生成一个对称密钥;其中,通过使用对称加密算法使用相同的密钥进行加密和解密;
将生成的对称密钥安全分发至通信双方;
使用对称密钥对传输数据进行加密,其中将传输数据和密钥输入到对称加密算法中,生成密文数据;
将加密后的密文数据通过API发生给接收方;
接收方使用相同的密钥对接收到的密钥数据进行解密,
解密后,接收方对数据进行处理,以便在应用程序中使用。
进一步地,所述安全API模块在接收TeleDB数据库发送的生成密钥请求后,将生成密钥请求转发至控制中心模块,控制中心模块根据当前云场景自适应选择对应的密钥生成方式;若是公有云场景,选择KMS服务生成TeleDB数据库的第三方密钥,若是私有云场景自行生成安全密钥。
进一步地,所述控制中心模块的协调过程包括如下:
控制中心模块从安全API模块接收请求,并根据请求进行验证、权限检查;
控制中心模块根据系统环境信息确定请求并转发至相应的模块,相应的模块执行请求操作,生成结果;
控制中心模块安全地将结果返回至安全API模块;
同时,控制中心模块定时向TeleDB管控平台发送心跳包以维持连接,并监测与TeleDB管控平台的连接状态;
控制中心模块与位置系统连接,支持位置感知功能。
进一步地,所述密钥生成模块根据生成安全密钥请求生成安全密钥的内容包括:
具体地,密钥生成模块接受生成密钥请求,并检测到生成密钥请求来自私有云场景,获取TeleDB数据库信息中的实例信息;
将TeleDB数据库的实例信息作为盐值;
将TeleDB数据库发送的key作为密钥派生器的密码;
利用Bouncy Castle生成安全密钥;
将生成的安全密钥存储至密钥存储模块。
进一步地,利用Bouncy Castle生成安全密钥的内容包括如下:
引入Bouncy Castle库,并选择密钥生成算法;所述密钥生成算法包括对称密钥算法或非对称密钥算法;
初始化密钥生成器;
根据安全需求设置生成密钥的长度;
调用密钥生成器的算法,生成安全密钥;
将生成的安全密钥传输至接收方或密钥存储模块。
进一步地,所述KMS服务模块的运行过程包括如下:
KMS服务模块接送控制中心模块的生成密钥请求,并根据实力信息查找当前key是否已经存在;
若不存在,KMS服务模块向KMS服务发起生成主密钥CMK的请求;
KMS服务相应生成主密钥请求,返回主密钥的UUID;
使用得到的主密钥UUID,KMS服务模块向KMS服务发起生成数据密钥DEK的请求;
KMS服务响应生成数据密钥请求,返回DEK及相应的KEY标识和CMKUUID;
KMS服务模块将得到的KEY、CMKUUID、DEK对应关系返回给控制中心模块。
进一步地,所述密钥存储模块的运行过程包括如下:
密钥存储模块负责缓存并存储密钥生成模块或KMS服务模块返回的安全密钥;
接受控制中心的获取密钥请求并给出安全密钥;
密钥存储模块接收到安全密钥,先将安全密钥存储在缓存中,并存储在zookeeper对应的SET实例节点上,最后保存在TeleDB数据库中。
进一步地,所述记录包括向KMS服务请求的次数、返回的结果、请求的API、请求时间、用户请求的次数、返回的结果、请求的API以及请求时间,保存本地并存在TeleDB数据库中。
本发明的技术效果和优点:
1.本发明对比现有的密钥管理系统,解决了云场景下的密钥管理问题,同时兼容支持公有云和私有云的混合云场景下的密钥管理;支持安装卸载TeleDB数据库实例的透明加密插件、支撑实现数据透明加密中的密钥管理,通过TeleDB数据库的透明加密插件,在数据落盘时可以对数据进行加密,可以保证数据的安全性,并且用户对底层数据的加密无感知;
2.对比现有的密钥管理方法,本发明中的密钥管理系统使用自研的对称加密算法进行全流程的安全加密,确保API、数据库、日志等密钥信息的绝对安全;采用自动化脚本部署本密钥管理系统,支持单机和主备,支持服务的高可用。
3.对比现有密钥管理方法,本发明的密钥管理系统采用多级存储方式,本地缓存用以快速高效获取密钥,zookeeper集群存储密钥用以提高获取密钥服务的高可用,数据库存储密钥用以记录和兜底;
4.本发明中的密钥管理系统不仅兼容数据库实例透明加密的密钥管理,同时兼容其他场景下的密钥管理,只要适配本系统的API即可接入本密钥管理系统,方便看、可移植性强;本发明中的密钥管理系统支持提供以Bouncy Castle为核心提供密钥,具有卓越的安全性和优越的性能特点。
附图说明
图1为实施例1的数据库密钥管理系统示意图;
图2为实施例2的获取密钥基本流程图;
图3为实施例3的一种电子设备示意图;
图4为实施例4的一种计算机可读存储介质示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器方法和/或微控制器方法中实现这些功能实体。
应当理解的是,虽然在这里可能使用了术语“第一”“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似的第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
实施例1
请参阅图1所示,本实施例公开提供了一种混合云下安全通用的数据库密钥管理系统,包括:安全API模块、控制中心模块、密钥生成模块、KMS服务模块、密钥存储模块以及日志管理模块;上述模块通过有线和/或无线的方式连接,实现相互之间的数据传输;
其中,安全API模块是系统与外部通信的接口,用于提供TeleDB数据库的访问权限和生成密钥,还用于提供TeleDB管控平台访问需求的安装和卸载透明加密插件,其中,所述安全API模块使用自研对称加密算法进行加密,以确保数据的安全;
还需要说明的是,安全API模块支持其它各种平台通过安全API模块连接本密钥管理系统,只要满足安全API模块的接口协议要求,即可使用本密钥管理系统安全的存取密钥功能;
还需要说明的是,在卸载TeleDB数据库透明插件之前,预先检查当前TeleDB数据库是否具有加密表数据,若有,则说明加密表数据返回失败并提醒用户先解密表数据,否则卸载透明加密插件导致出错,在安装TeleDB数据库透明加密插件后,等待插件发送的安装成功信息,确保通信链路正常。
需要说明的是,安全API模块使用自研对称加密算法进行加密的内容包括:
首先,通过安全随机数生成器生成一个对称密钥;其中,通过使用对称加密算法使用相同的密钥进行加密和解密;
将生成的对称密钥安全分发至通信双方;
使用对称密钥对传输数据进行加密,其中将传输数据和密钥输入到对称加密算法中,生成密文数据;
将加密后的密文数据通过API发生给接收方;
接收方使用相同的密钥对接收到的密钥数据进行解密,
解密后,接收方对数据进行处理,以便在应用程序中使用。
需要说明的是,安全API模块在接收TeleDB数据库发送的生成密钥请求后,将生成密钥请求转发至控制中心模块,控制中心模块根据当前云场景自适应选择对应的密钥生成方式;若是公有云场景,选择KMS服务生成TeleDB数据库的第三方密钥,若是私有云场景自行生成安全密钥;
进一步说明的是,采用对称加密算法对数据密钥和关键信息进行加密,避免密钥数据泄露导致安全问题;并在主备节点分别绑定keepalived,通过vip提供服务,确保主节点宕掉后备节点继续提供服务。
控制中心模块用于协调和管理各个模块,以确保系统与外部平台有效通信;
具体地,控制中心模块的协调过程包括如下:
控制中心模块从安全API模块接收请求,并根据请求进行验证、权限检查;
控制中心模块根据系统环境信息确定请求并转发至相应的模块,相应的模块执行请求操作,生成结果;
控制中心模块安全地将结果返回至安全API模块;
同时,控制中心模块定时向TeleDB管控平台发送心跳包以维持连接,并监测与TeleDB管控平台的连接状态;
控制中心模块与位置系统连接,支持位置感知功能。
需要说明的是,控制中心模块负责处理并转发安全API接收的请求,并根据系统的环境信息将请求转发至相应模块得到结果后返回至安全API模块,控制中心模块还负责定时向TeleDB管控平台发送心跳包以及与位置系统连接,以确保系统的稳定性、安全性和可维护性。
密钥生成模块根据生成安全密钥请求生成安全密钥;
密钥生成模块根据生成安全密钥请求生成安全密钥的内容包括:
具体地,密钥生成模块接受生成密钥请求,并检测到生成密钥请求来自私有云场景,获取TeleDB数据库信息中的实例信息;
将TeleDB数据库的实例信息作为盐值;
将TeleDB数据库发送的key作为密钥派生器的密码;
利用Bouncy Castle生成安全密钥;
将生成的安全密钥存储至密钥存储模块。
需要说明的是,密钥生成模块用于私有云场景接收到控制中心的生成密钥请求后,根据TeleDB数据库信息生成安全密钥;用于密码学和安全相关操作开源的BouncyCastle生成安全密钥;使用TeleDB数据库的实例信息作为盐值,TeleDB数据库发送的key作为密钥派生器的密码,生成固定位数的安全密钥;密钥生成过程中利用盐值、密钥派生器密码以及专业密码学库,确保了生成的密钥的安全性和随机性。
进一步说明的是,利用Bouncy Castle生成安全密钥的内容包括如下:
引入Bouncy Castle库,并选择密钥生成算法;所述密钥生成算法包括对称密钥算法(如AES)或非对称密钥算法(如RSA);
初始化密钥生成器;
根据安全需求设置生成密钥的长度;
调用密钥生成器的算法,生成安全密钥;
将生成的安全密钥传输至接收方或密钥存储模块。
需要说明的是,基于Bouncy Castle(开源的Java密码学开发库),使用TeleDB数据库的实例信息作为盐值,使用TeleDB数据库透明加密插件所发送的key生成幂的安全密钥,安全密钥经过设定的对称加密算法加密后返回给TeleDB数据库,用于私有云场景作为TeleDB数据库的第三方密钥,迭代次数以及生成的密钥位数灵活可配置;
Bouncy Castle作为密钥管理系统的算法核心具有卓越的安全性和优越的性能特点,尤其在密钥生成方面发挥了重要作用。Bouncy Castle核心采用先进的加密技术和数学算法,确保生成的密钥具有极高的安全性,难以被破解或猜测。其安全性建立在复杂的数学运算和密码学原理基础上,防止了常见的攻击手段,如穷举攻击和弱密钥攻击。BouncyCastle生成的密钥具有强大的唯一性,确保每个生成的密钥都是独一无二的。通过采用高质量的随机数生成算法和复杂的密钥派生过程,保证了密钥的唯一性和不可预测性,从而增强了系统的整体安全性。此外,Bouncy Castle算法核心还具有高度的灵活性和可定制性。它允许根据特定应用的需求定制密钥生成过程,选择适合特定应用场景的密钥长度、算法和参数,以满足不同安全要求;
KMS服务模块根据生成安全密钥请求进行运行;
KMS服务模块的运行过程包括如下:
KMS服务模块接送控制中心模块的生成密钥请求,并根据实力信息查找当前key是否已经存在;
若不存在,KMS服务模块向KMS服务发起生成主密钥CMK的请求;
KMS服务相应生成主密钥请求,返回主密钥的UUID;
使用得到的主密钥UUID,KMS服务模块向KMS服务发起生成数据密钥DEK的请求;
KMS服务响应生成数据密钥请求,返回DEK及相应的KEY标识和CMKUUID;
KMS服务模块将得到的KEY、CMKUUID、DEK对应关系返回给控制中心模块;
需要说明的是,KMS服务模块用于公有云场景接收到控制中心的生成密钥请求后,根据实例信息查找当前KEY是否有密钥,无则先向KMS服务发起生成主密钥CMK的请求,得到主密钥UUID后再向KMS服务发起生成数据密钥DEK的请求,从而得到KEY、CMKUUID、DEK一一对应关系,该模块确保在公有云场景下,KMS服务模块能够根据实例信息生成或检索与KEY、CMKUUID、DEK相关联的对应关系,以确保密钥的安全生成和使用。
进一步说明的是,在公有云场景中,当本系统接收到TeleDB数据发送的生成密钥的请求时,先向自研的KMS服务发起生成主密钥CMK的请求,根据生成的主密钥CMKUUID生成数据密钥DEK,并将数据密钥DEK加密后存储至密钥存储模块,并返回密钥传输至控制中心;
密钥存储模块对安全密钥进行缓存并存储;
密钥存储模块的运行过程包括如下:
密钥存储模块负责缓存并存储密钥生成模块或KMS服务模块返回的安全密钥;
接受控制中心的获取密钥请求并给出安全密钥;
密钥存储模块接收到安全密钥,先将安全密钥存储在缓存中,并存储在zookeeper对应的SET实例节点上,最后保存在TeleDB数据库中;
需要说明的是,密钥存储模块采用本地缓存和zookeeper存储两级缓存提高系统的可用性和效率,接收到TeleDB数据库的获取数据密钥请求时,优先从本地缓存中取,若本地缓存没有则从zookeeper中对应实例的节点路径中取,最后从系统的TeleDB数据库中获取;系统本地将会备份一份加密后的数据密钥,作为安全兜底,避免KMS服务或者系统宕机后影响TeleDB可用性。
日志管理模块负责对所有的用户与本密钥管理系统、本系统与KMS服务的交互信息进行记录;
需要说的是,所述记录包括向KMS服务请求的次数、返回的结果、请求的API、请求时间,用户请求的次数、返回的结果、请求的API以及请求时间,保存本地并存在TeleDB数据库中。
进一步说明的是,本系统对用户的请求次数进行统计,包括用户TeleDB数据库实例的透明加密插件向本系统的请求次数,以及本系统向KMS服务发起的请求次数等,供用户溯源并且作为收费依据;本系统定时向TeleDB管控平台发送心跳包,确保运维人员可以监控本密钥管理系统的状态。
实施例2
请参阅图3所示,本实施例提供了一种电子设备,包括:处理器和存储器,其中,所述存储器中存储有可供处理器调用的计算机程序;
所述处理器通过调用所述存储器中存储的计算机程序,执行实施例1的一种混合云下安全通用的数据库密钥管理系统。
实施例3
请参阅图4所示,本实施例提供了一种计算机可读存储介质,储存有指令,当所述指令在计算机上运行时,使得计算机执行实施例1的一种混合云下安全通用的数据库密钥管理系统。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络,或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线网络方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD),或者半导体介质。半导体介质可以是固态硬盘。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件,或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术作出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
最后:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种混合云下安全通用的数据库密钥管理系统,其特征在于,包括:安全API模块、控制中心模块、密钥生成模块、KMS服务模块、密钥存储模块以及日志管理模块;
所述安全API模块是系统与外部通信的接口,用于提供TeleDB数据库的访问权限和生成密钥,还用于提供TeleDB管控平台访问需求的安装和卸载透明加密插件;所述API使用对称加密算法进行加密;
所述控制中心模块用于协调和管理各个模块;
所述密钥生成模块根据生成安全密钥请求生成安全密钥;
所述KMS服务模块根据生成安全密钥请求进行运行;
所述密钥存储模块对安全密钥进行缓存并存储;
所述日志管理模块负责对所有的用户与本密钥管理系统、本系统与KMS服务的交互信息进行记录。
2.根据权利要求1所述的一种混合云下安全通用的数据库密钥管理系统,其特征在于,在卸载TeleDB数据库透明插件之前,预先检查当前TeleDB数据库是否具有加密表数据,若有,则说明加密表数据返回失败并提醒用户先解密表数据,否则卸载透明加密插件导致出错,在安装TeleDB数据库透明加密插件后,等待插件发送的安装成功信息。
3.根据权利要求2所述的一种混合云下安全通用的数据库密钥管理系统,其特征在于,所述安全API模块使用对称加密算法进行加密的内容包括:
首先,通过安全随机数生成器生成一个对称密钥;其中,通过使用对称加密算法使用相同的密钥进行加密和解密;
将生成的对称密钥安全分发至通信双方;
使用对称密钥对传输数据进行加密,其中将传输数据和密钥输入到对称加密算法中,生成密文数据;
将加密后的密文数据通过API发生给接收方;
接收方使用相同的密钥对接收到的密钥数据进行解密,
解密后,接收方对数据进行处理,以便在应用程序中使用。
4.根据权利要求3所述的一种混合云下安全通用的数据库密钥管理系统,其特征在于,所述安全API模块在接收TeleDB数据库发送的生成密钥请求后,将生成密钥请求转发至控制中心模块,控制中心模块根据当前云场景自适应选择对应的密钥生成方式;若是公有云场景,选择KMS服务生成TeleDB数据库的第三方密钥,若是私有云场景自行生成安全密钥。
5.根据权利要求4所述的一种混合云下安全通用的数据库密钥管理系统,其特征在于,所述控制中心模块的协调过程包括如下:
控制中心模块从安全API模块接收请求,并根据请求进行验证与权限检查;
控制中心模块根据系统环境信息确定请求并转发至相应的模块,相应的模块执行请求操作,生成结果;
控制中心模块安全地将结果返回至安全API模块;
同时,控制中心模块定时向TeleDB管控平台发送心跳包以维持连接,并监测与TeleDB管控平台的连接状态;
控制中心模块与位置系统连接,支持位置感知功能。
6.根据权利要求5所述的一种混合云下安全通用的数据库密钥管理系统,其特征在于,所述密钥生成模块根据生成安全密钥请求生成安全密钥的内容包括:
密钥生成模块接受生成密钥请求,并检测到生成密钥请求来自私有云场景,获取TeleDB数据库信息中的实例信息;
将TeleDB数据库的实例信息作为盐值;
将TeleDB数据库发送的key作为密钥派生器的密码;
利用Bouncy Castle生成安全密钥;
将生成的安全密钥存储至密钥存储模块。
7.根据权利要求6所述的一种混合云下安全通用的数据库密钥管理系统,其特征在于,利用Bouncy Castle生成安全密钥的内容包括如下:
引入Bouncy Castle库,并选择密钥生成算法;所述密钥生成算法包括对称密钥算法或非对称密钥算法;
初始化密钥生成器;
根据安全需求设置生成密钥的长度;
调用密钥生成器的算法,生成安全密钥;
将生成的安全密钥传输至接收方或密钥存储模块。
8.根据权利要求7所述的一种混合云下安全通用的数据库密钥管理系统,其特征在于,所述KMS服务模块的运行过程包括如下:
KMS服务模块接送控制中心模块的生成密钥请求,并根据实力信息查找当前key是否已经存在;
若不存在,KMS服务模块向KMS服务发起生成主密钥CMK的请求;
KMS服务相应生成主密钥请求,返回主密钥的UUID;
使用得到的主密钥UUID,KMS服务模块向KMS服务发起生成数据密钥DEK的请求;
KMS服务响应生成数据密钥请求,返回DEK及相应的KEY标识和CMKUUID;
KMS服务模块将得到的KEY、CMKUUID、DEK对应关系返回给控制中心模块。
9.根据权利要求8所述的一种混合云下安全通用的数据库密钥管理系统,其特征在于,所述密钥存储模块的运行过程包括如下:
密钥存储模块负责缓存并存储密钥生成模块或KMS服务模块返回的安全密钥;
接受控制中心的获取密钥请求并给出安全密钥;
密钥存储模块接收到安全密钥,先将安全密钥存储在缓存中,并存储在zookeeper对应的SET实例节点上,最后保存在TeleDB数据库中。
10.根据权利要求9所述的一种混合云下安全通用的数据库密钥管理系统,其特征在于,所述记录包括向KMS服务请求的次数、返回的结果、请求的API、请求时间、用户请求的次数、返回的结果、请求的API以及请求时间,保存本地并存在TeleDB数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311712770.4A CN117879795A (zh) | 2023-12-13 | 2023-12-13 | 一种混合云下安全通用的数据库密钥管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311712770.4A CN117879795A (zh) | 2023-12-13 | 2023-12-13 | 一种混合云下安全通用的数据库密钥管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117879795A true CN117879795A (zh) | 2024-04-12 |
Family
ID=90585415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311712770.4A Pending CN117879795A (zh) | 2023-12-13 | 2023-12-13 | 一种混合云下安全通用的数据库密钥管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117879795A (zh) |
-
2023
- 2023-12-13 CN CN202311712770.4A patent/CN117879795A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8984295B2 (en) | Secure access to electronic devices | |
US7725716B2 (en) | Methods and systems for encrypting, transmitting, and storing electronic information and files | |
CN110049016B (zh) | 区块链的数据查询方法、装置、系统、设备及存储介质 | |
US8639928B2 (en) | System and method for mounting encrypted data based on availability of a key on a network | |
US20170244687A1 (en) | Techniques for confidential delivery of random data over a network | |
KR20130129429A (ko) | 이동 단말기의 신분을 관리하는 방법 및 장치 | |
CN101815091A (zh) | 密码提供设备、密码认证系统和密码认证方法 | |
CN107528865A (zh) | 文件的下载方法和系统 | |
CN105072107A (zh) | 增强数据传输及存储安全的系统和方法 | |
CN108199838B (zh) | 一种数据保护方法及装置 | |
CN103973715B (zh) | 一种云计算安全系统和方法 | |
CN107181589B (zh) | 一种堡垒机私钥管理方法及装置 | |
WO2022189850A1 (en) | Systems, methods, and computer-readable media for protecting cryptographic keys | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
CN113474829B (zh) | 使用云服务的安全秘密共享存储系统 | |
CN105183402B (zh) | 数据存储方法 | |
CN104767766A (zh) | 一种Web Service接口验证方法、Web Service服务器、客户端 | |
Junghanns et al. | Engineering of secure multi-cloud storage | |
Zhu et al. | An edge re‐encryption‐based access control mechanism in NDN | |
CN114531455B (zh) | 基于边缘协助的多云安全存储方法 | |
CN106972928B (zh) | 一种堡垒机私钥管理方法、装置及系统 | |
CN117879795A (zh) | 一种混合云下安全通用的数据库密钥管理系统 | |
CN105426783B (zh) | 多备份数据存储方法 | |
CA2797633C (en) | System and method for mounting encrypted data based on availability of a key on a network | |
CN205430310U (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 |