CN114338010B - 一种数据库密钥交换方法、装置及电子设备 - Google Patents

一种数据库密钥交换方法、装置及电子设备 Download PDF

Info

Publication number
CN114338010B
CN114338010B CN202111665470.6A CN202111665470A CN114338010B CN 114338010 B CN114338010 B CN 114338010B CN 202111665470 A CN202111665470 A CN 202111665470A CN 114338010 B CN114338010 B CN 114338010B
Authority
CN
China
Prior art keywords
key
function
database
local temporary
management system
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
Application number
CN202111665470.6A
Other languages
English (en)
Other versions
CN114338010A (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.)
Shenzhen Ankki Technology Co ltd
Original Assignee
Shenzhen Ankki Technology 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 Shenzhen Ankki Technology Co ltd filed Critical Shenzhen Ankki Technology Co ltd
Priority to CN202111665470.6A priority Critical patent/CN114338010B/zh
Publication of CN114338010A publication Critical patent/CN114338010A/zh
Application granted granted Critical
Publication of CN114338010B publication Critical patent/CN114338010B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种数据库密钥交换方法、装置及电子设备。该方法包括:通过Oracle提供的库内函数格式,编写自定义加密函数和密钥交换函数;将所述自定义加密函数封装为动态库文件;将所述动态库文件加载到数据库中,生成密钥;同步所述密钥管理系统中的密钥到本地临时密钥表;数据解密,所述数据解密包括查询所述本地临时密钥表,获取密钥,对加密数据进行解密,若要获取的密钥不存在于所述本地临时密钥表中,则再次同步所述密钥管理系统中的密钥到所述本地临时密钥表,再次查询所述本地临时密钥表,获取所述密钥。通过上述方式,本发明实施例能够实现自定加加解密函数的密钥管理,部署方式更便捷、安全,能够适应更多的库内加密场景。

Description

一种数据库密钥交换方法、装置及电子设备
技术领域
本发明实施方式涉及数据库加密领域,特别是涉及一种数据库密钥交换方法、装置及电子设备。
背景技术
在目前的大数据环境下,数据安全是一个容易被忽视的特性,由于忽视数据的安全管理,从而造成数据泄露和暴露的现象已非常普遍,由于数据库技术广泛运用到各种信息管理系统、交易系统,以及各种社交软件、社交网站、网络论坛等社交系统。在这些数据库中,存储了大量客户的姓名、身份证号、个人密码等个人隐私资料,有的还存储了客户银行卡卡号和有效期等金融隐私资料。只要数据库中存储了任何人的任意个人数据,无论是用户还是公司员工,数据库的安全都变得至关重要,如果不采取有效的保护措施,一旦机密资料被不法分子窃取,不仅会导致客户个人隐私资料泄漏,更甚者还可能导致客户经济损失,随着黑市对数据需求的上升,数据泄露利润的上涨,数据库安全的问题显得愈发重要,在大数据安全问题的解决方案中,通常通过数据库加密来增加数据安全。
数据库加密分为前置代理加密、库内加密、操作系统层面加密、硬件层面的加密等技术路线。在库内加密上,主要采用数据库自身的一些触发器、视图、函数等特性,构造数据库加解密的方案,如何解决数据库加密管理端和库内加密端的密钥安全交换问题非常关键。
针对库内加密密钥交换,当前主要采用在数据库段运行一个独立的进程,通过该进程与加密管理端进行通信,将密钥保存在数据库本地目录中进行落盘,然后库内加解密模块读取密钥文件进行加解密操作。在数据库主机需要安装额外安装程序,在一些云数据库显然是不合适的,在RDS上无法直接安装相关程序,同时独立运行的程序给部署也带来了成本和风险。
发明内容
本发明实施方式主要解决的技术问题是提供一种数据库密钥交换方法、装置及电子设备,能够实现自定加加解密函数的密钥管理,部署方式更便捷、安全,能够适应更多的库内加密场景。
为解决上述技术问题,本发明实施方式采用的一个技术方案是:提供一种数据库密钥交换方法,该方法包括:通过Oracle提供的库内函数格式,编写自定义加密函数和密钥交换函数;将所述自定义加密函数和密钥交换函数封装为动态库文件;将所述动态库文件加载到数据库中,生成密钥;同步密钥,所述同步密钥包括通过密钥交换函数,编写TCP通讯函数,调用所述TCP通讯函数和密钥交换函数,同步所述密钥管理系统中的密钥到本地临时密钥表;数据解密,所述数据解密包括查询所述本地临时密钥表,获取密钥,对加密数据进行解密;若要获取的密钥不存在于所述本地临时密钥表中,则再次调用TCP通讯函数和密钥交换函数,同步所述密钥管理系统中的密钥到所述本地临时密钥表,再次查询所述本地临时密钥表,获取所述密钥。
在本发明的一个实施例中,所述同步密钥还包括:通过Oracle自带的UTL_TCP软件包,编写通讯程序,同步所述密钥管理系统中的密钥到本地临时密钥表。
在本发明的一个实施例中,所述数据解密还包括查询所述本地临时密钥表,获取密钥,对加密数据进行解密;若要获取的密钥不存在于所述本地临时密钥表中,则再次调用通讯程序,同步所述密钥管理系统中的密钥到所述本地临时密钥表,再次查询所述本地临时密钥表,获取所述密钥。
在本发明的一个实施例中,所述密钥管理系统用于管理密钥生成、存储和分发。
在本发明的一个实施例中,所述密钥信息表用于保存所述密钥信息和动态库中加密数据的关联关系。
在本发明的一个实施例中,所述TCP通讯函数用于与所述密钥管理系统通讯,从而将所述密钥管理系统中的所述密钥同步到所述密钥信息表。
在本发明的一个实施例中,所述通讯程序用于与所述密钥管理系统通讯,从而将所述密钥管理系统中的所述密钥同步到所述密钥信息表。
本发明实施方式采用的另一个技术方案是:提供一种数据库密钥交换装置,包括:自定义函数模块,用于编写自定义加密函数;函数封装模块,用于将所述自定义加密函数封装为动态库文件;文件加载模块,用于将所述动态库文件加载到数据库中,生成密钥;密钥交换模块,用于同步所述密钥管理系统中的密钥到本地临时密钥表;数据解密模块,用于查询所述本地临时密钥表,获取密钥,对加密数据进行解密,若获取不到密钥,则调用所述密钥交换模块,再查询所述本地临时密钥表,获取密钥,对加密数据进行解密。
本发明实施方式还提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
本发明实施方式还提供一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,可使得所述一个或多个处理器执行如上所述的一种不落盘的数据库密钥交换方法。
本发明实施方式的有益效果是:区别于现有技术的情况,本发明实施例能够实现自定加加解密函数的密钥管理,部署方式更便捷、安全,能够适应更多的库内加密场景。
附图说明
图1是本发明实施例提供的一种数据库密钥交换方法的流程示意图;
图2是本发明实施例提供的另一种数据库密钥交换方法的流程示意图;
图3是本发明实施例中提供的一种数据库密钥交换装置的结构示意图;
图4是本发明实施例中提供的一种电子设备的硬件结构示意图。
以下为附图标记说明:
10:一种数据库密钥交换装置;
100:自定义函数模块;200:函数封装模块;300:文件加载模块;400:密钥交换模块;500:数据解密模块;
600:电子设备;601:处理器;602:存储器。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
参阅图1,图1为本发明实施例提供的一种数据库密钥交换方法的流程示意图,该方法包括了如下步骤:
步骤S100:编写自定义加密函数和密钥交换函数;
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
在本发明的一个实施例中,本发明是基于Oracle实现的,通过Oracle所提供的数据库库内函数格式,编写一个用于生成密钥的自定义加密函数和一个用于交换密钥的函数。
步骤S200:将函数封装为动态库文件;
动态库,全称动态链接库,是微软公司在微软Windows操作系统中,实现共享函数库概念的一种方式。这些库函数的扩展名是“dll”、“ocx”或者“drv”。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL文件中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL副本的内容。
在本发明的一个实施例中,将步骤S100所编写的自定义加密函数和密钥交换函数封装为DLL文件,供后续加载调用。
步骤S300:加载动态库文件,生成密钥;
动态库文件加载有两种方式,分别为隐式链接和显式链接,隐式链接就是在程序开始执行时就将DLL文件加载到内存当中,这种方式需要DLL文件,不需要相应的Lib文件和头文件。而显示链接,是实时加载,程序需要的时候加载,不需要的时候,卸载该动态库文件。这种方式需要DLL文件,以及相应的Lib文件和头文件。
在本发明的一个实施例中,只将将步骤S200封装生成的DLL文件加载数据库中,并不需要相应的Lib文件和头文件,再由数据库调用该自定义加密函数,对数据加密并生成对应的密钥。
步骤S400:编写通讯函数,调用通讯函数和密钥交换函数,同步密钥;
传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
TCP是一种面向广域网的通信协议,目的是在跨越多个网络通信时,为两个通信端点之间提供一条具有下列特点的通信方式:
(1)基于流的方式;
(2)面向连接;
(3)可靠通信方式;
(4)在网络状况不佳的时候尽量降低系统由于重传带来的带宽开销;
(5)通信连接维护是面向通信的两个端点的,而不考虑中间网段和节点。
为满足TCP协议的这些特点,TCP协议做了如下的规定:
①数据分片:在发送端对用户数据进行分片,在接收端进行重组,由TCP确定分片的大小并控制分片和重组;
②到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认;
③超时重发:发送方在发送分片时启动超时定时器,如果在定时器超时之后没有收到相应的确认,重发分片;
④滑动窗口:TCP连接每一方的接收缓冲空间大小都固定,接收端只允许另一端发送接收端缓冲区所能接纳的数据,TCP在滑动窗口的基础上提供流量控制,防止较快主机致使较慢主机的缓冲区溢出;
⑤失序处理:作为IP数据报来传输的TCP分片到达时可能会失序,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层;
⑥重复处理:作为IP数据报来传输的TCP分片会发生重复,TCP的接收端必须丢弃重复的数据;
⑦数据校验:TCP将保持它首部和数据的检验和,这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到分片的检验和有差错,TCP将丢弃这个分片,并不确认收到此报文段导致对端超时并重发。
在本发明的一个实施例中,通过步骤S300加载了封装有密钥交换函数的动态库文件,编写TCP通讯函数,调用密钥交换函数和TCP通讯函数,将密钥管理系统中的密钥同步到本地临时密钥表。
在本发明的一个实施例中,密钥管理系统用于管理密钥生成、存储和分发。
在本发明的一个实施例中,本地临时密钥表用于保存所述密钥和所述数据库中加密数据的关联关系。
步骤S500:查询本地临时密钥表,获取密钥,对数据解密;获取不到密钥,则调用通讯函数和密钥交换函数,同步密钥,再次获取密钥。
在本发明的一个实施例中,当需要对某个数据进行解密时,数据库通过查询本地临时密钥表,从而获取到密钥,进而对数据进行解密。而当数据库通过查询本地临时密钥表,没有获取到密钥时,数据库会再次调用TCP通讯函数和密钥交换函数,将密钥管理系统中的密钥同步到本地临时密钥表,再次查询所述本地临时密钥表,获取所述密钥,最终解密数据。
区别于现有技术,本发明实施方式通过Oracle提供的库内函数格式,编写自定义加密函数和密钥交换函数;将所述自定义加密函数封装为动态库文件;将所述动态库文件加载到数据库中,生成密钥;同步所述密钥管理系统中的密钥到本地临时密钥表;数据解密,所述数据解密包括查询所述本地临时密钥表,获取密钥,对加密数据进行解密,若要获取的密钥不存在于所述本地临时密钥表中,则再次同步所述密钥管理系统中的密钥到所述本地临时密钥表,再次查询所述本地临时密钥表,获取所述密钥。通过上述方式,本发明实施例能够实现自定加加解密函数的密钥管理,部署方式更便捷、安全,能够适应更多的库内加密场景。
参阅图2,图2为本发明实施例提供的另一种数据库密钥交换方法的流程示意图,该方法包括了如下步骤:
步骤S100:编写自定义加密函数和密钥交换函数;
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
在本发明的一个实施例中,本发明是基于Oracle实现的,通过Oracle所提供的数据库库内函数格式,编写一个用于生成密钥的自定义加密函数和一个用于交换密钥的函数。
步骤S200:将函数封装为动态库文件;
动态库,全称动态链接库,是微软公司在微软Windows操作系统中,实现共享函数库概念的一种方式。这些库函数的扩展名是“dll”、“ocx”或者“drv”。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL文件中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL副本的内容。
在本发明的一个实施例中,将步骤S100所编写的自定义加密函数和密钥交换函数封装为DLL文件,供后续加载调用。
步骤S300:加载动态库文件,生成密钥;
动态库文件加载有两种方式,分别为隐式链接和显式链接,隐式链接就是在程序开始执行时就将DLL文件加载到内存当中,这种方式需要DLL文件,不需要相应的Lib文件和头文件。而显示链接,是实时加载,程序需要的时候加载,不需要的时候,卸载该动态库文件。这种方式需要DLL文件,以及相应的Lib文件和头文件。
在本发明的一个实施例中,只将将步骤S200封装生成的DLL文件加载数据库中,并不需要相应的Lib文件和头文件,再由数据库调用该自定义加密函数,对数据加密并生成对应的密钥。
步骤S400:编写通讯程序,调用通讯程序同步密钥;
在本发明的一个实施例中,通过Oracle自带的UTL_TCP软件包,,编写通讯程序,调用通讯程序,将密钥管理系统中的密钥同步到本地临时密钥表。
在本发明的一个实施例中,密钥管理系统用于管理密钥生成、存储和分发。
在本发明的一个实施例中,本地临时密钥表用于保存所述密钥和所述数据库中加密数据的关联关系。
步骤S500:查询本地临时密钥表,获取密钥,对数据解密;获取不到密钥,则调用通讯程序,同步密钥,再次获取密钥。
在本发明的一个实施例中,当需要对某个数据进行解密时,数据库通过查询本地临时密钥表,从而获取到密钥,进而对数据进行解密。而当数据库通过查询本地临时密钥表,没有获取到密钥时,数据库会再次调用通讯程序,将密钥管理系统中的密钥同步到本地临时密钥表,再次查询所述本地临时密钥表,获取所述密钥,最终解密数据。
请参阅图3,图3为本发明实施例提供的一种数据库密钥交换装置10的结构示意图,该装置10包括:自定义函数模块100、函数封装模块200、文件加载模块300、密钥交换模块400和数据解密模块500。其中,自定义函数模块100用于编写自定义加密函数和密钥交换函数;函数封装模块200用于将自定义函数模块100所编写的自定义加密函数和密钥交换函数封装为动态库文件;文件加载模块300用于将函数封装模块200生成的动态库文件加载到数据库中,生成密钥;密钥交换模块400用于同步由文件加载模块300生成于所述密钥管理系统中的密钥到本地临时密钥表;数据解密模块500用于查询所述本地临时密钥表,获取密钥,对加密数据进行解密,若获取不到密钥,则再次调用密钥交换模块400,将由文件加载模块300生成于所述密钥管理系统中的密钥同步到本地临时密钥表,并再次查询所述本地临时密钥表,获取密钥,对加密数据进行解密。
区别于现有技术,本发明实施方式提供的一种数据库密钥交换装置10,该装置10包括:自定义函数模块100、函数封装模块200、文件加载模块300、密钥交换模块400和数据解密模块500。
通过上述方式,本发明实施例能够实现自定加加解密函数的密钥管理,部署方式更便捷、安全,能够适应更多的库内加密场景。
图4是本发明实施例提供的电子设备的硬件结构示意图,如图4所示,该电子设备600包括:
一个或多个处理器601以及存储器602,图4中以一个处理器601为例。
处理器601和存储器602可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器601通过运行存储在存储器602中的非易失性软件程序、指令以及单元,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的数据库密钥交换方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器602中,当被所述一个或者多个处理器601执行时,执行上述任意方法实施例中的一种数据库密钥交换方法,例如,执行以上描述的图1中的方法步骤S100至步骤S500或图2中方法S100至步骤S500,实现图3中的模块100-500的功能。
上述电子设备可执行本发明实施例所提供的一种数据库密钥交换方法,具备执行方法相应的程序模块和有益效果。未在电子设备实施例中详尽描述的技术细节,可参见本发明实施例所提供的一种数据库密钥交换方法。
本发明实施例还提供了一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述非易失性计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现本公开实施例的方法。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他电子装置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施例的描述,本领域普通技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种数据库密钥交换方法,其特征在于,包括:
通过Oracle提供的库内函数格式,编写自定义加密函数和密钥交换函数;
将所述自定义加密函数和密钥交换函数封装为动态库文件;
将所述动态库文件加载到数据库中,生成密钥;
同步密钥,所述同步密钥包括通过密钥交换函数,通过Oracle自带的UTL_TCP软件包编写TCP通讯函数,调用所述TCP通讯函数和密钥交换函数,同步密钥管理系统中的密钥到本地临时密钥表;
数据解密,所述数据解密包括查询所述本地临时密钥表,获取密钥,对加密数据进行解密;若要获取的密钥不存在于所述本地临时密钥表中,则再次调用TCP通讯函数和密钥交换函数,同步所述密钥管理系统中的密钥到所述本地临时密钥表,再次查询所述本地临时密钥表,获取所述密钥。
2.根据权利要求1所述的方法,其特征在于,所述同步密钥还包括:通过Oracle自带的UTL_TCP软件包,编写TCP通讯函数,同步所述密钥管理系统中的密钥到本地临时密钥表。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述数据解密还包括查询所述本地临时密钥表,获取密钥,对加密数据进行解密;若要获取的密钥不存在于所述本地临时密钥表中,则再次调用通讯程序,同步所述密钥管理系统中的密钥到所述本地临时密钥表,再次查询所述本地临时密钥表,获取所述密钥。
4.根据权利要求1所述的方法,其特征在于,所述密钥管理系统用于管理密钥生成、存储和分发。
5.根据权利要求1所述的方法,其特征在于,所述本地临时密钥表用于保存所述密钥和所述数据库中加密数据的关联关系。
6.根据权利要求1所述的方法,其特征在于,所述TCP通讯函数用于与所述密钥管理系统通讯,从而将所述密钥管理系统中的所述密钥同步到密钥信息表。
7.根据权利要求2所述的方法,其特征在于,所述TCP通讯函数用于与所述密钥管理系统通讯,从而将所述密钥管理系统中的所述密钥同步到所述密钥信息表。
8.一种数据库密钥交换装置,其特征在于,包括:
自定义函数模块,用于通过Oracle所提供的数据库库内函数格式编写自定义加密函数和密钥交换函数;
函数封装模块,用于将所述自定义加密函数和所述密钥交换函数封装为动态库文件;
文件加载模块,用于将所述动态库文件加载到数据库中,生成密钥;
密钥交换模块,用于通过调用密钥交换函数和TCP通讯函数,同步所述密钥管理系统中的密钥到本地临时密钥表,所述TCP通讯函数通过Oracle自带的UTL_TCP软件包编写;
数据解密模块,用于查询所述本地临时密钥表,获取密钥,对加密数据进行解密,若获取不到密钥,则调用所述密钥交换模块,再查询所述本地临时密钥表,获取密钥,对加密数据进行解密。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7的任一项所述的方法。
10.一种非易失性计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,可使得所述一个或多个处理器执行权利要求1至7任意一项所述的一种数据库密钥交换方法。
CN202111665470.6A 2021-12-31 2021-12-31 一种数据库密钥交换方法、装置及电子设备 Active CN114338010B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111665470.6A CN114338010B (zh) 2021-12-31 2021-12-31 一种数据库密钥交换方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111665470.6A CN114338010B (zh) 2021-12-31 2021-12-31 一种数据库密钥交换方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN114338010A CN114338010A (zh) 2022-04-12
CN114338010B true CN114338010B (zh) 2024-02-20

Family

ID=81020147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111665470.6A Active CN114338010B (zh) 2021-12-31 2021-12-31 一种数据库密钥交换方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114338010B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1669265A (zh) * 2002-05-15 2005-09-14 伊露西斯有限公司 在计算机系统中使用的隐藏的链接动态密钥管理器
CN1757029A (zh) * 2003-09-30 2006-04-05 Inka安特沃客有限公司 内容提供系统和便携装置间经网络同步数据的方法及系统
CN101504706A (zh) * 2009-03-03 2009-08-12 中国科学院软件研究所 数据库信息加密方法和系统
CN101587479A (zh) * 2008-06-26 2009-11-25 北京人大金仓信息技术股份有限公司 面向数据库管理系统内核的数据加解密系统及其方法
CN103825698A (zh) * 2014-01-20 2014-05-28 中国建设银行股份有限公司 一种密码安全管理系统和方法
CN108133147A (zh) * 2017-12-20 2018-06-08 中兴通讯股份有限公司 可执行代码的保护方法、设备及可读存储介质
CN111008205A (zh) * 2019-11-18 2020-04-14 许继集团有限公司 一种数据库的安全保护方法及装置
CN112487483A (zh) * 2020-12-14 2021-03-12 深圳昂楷科技有限公司 一种加密数据库流量审计方法及装置
CN113177221A (zh) * 2021-05-27 2021-07-27 四川职业技术学院 一种计算机软件加密系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077371A1 (en) * 2007-09-14 2009-03-19 Valicore Technologies, Inc. Systems and methods for a template-based encryption management system
US9087205B2 (en) * 2013-10-11 2015-07-21 Sap Se Shared encrypted storage
US10325107B2 (en) * 2015-09-23 2019-06-18 Salesforce.Com, Inc. Systems and methods for securing data using encryption

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1669265A (zh) * 2002-05-15 2005-09-14 伊露西斯有限公司 在计算机系统中使用的隐藏的链接动态密钥管理器
CN1757029A (zh) * 2003-09-30 2006-04-05 Inka安特沃客有限公司 内容提供系统和便携装置间经网络同步数据的方法及系统
CN101587479A (zh) * 2008-06-26 2009-11-25 北京人大金仓信息技术股份有限公司 面向数据库管理系统内核的数据加解密系统及其方法
CN101504706A (zh) * 2009-03-03 2009-08-12 中国科学院软件研究所 数据库信息加密方法和系统
CN103825698A (zh) * 2014-01-20 2014-05-28 中国建设银行股份有限公司 一种密码安全管理系统和方法
CN108133147A (zh) * 2017-12-20 2018-06-08 中兴通讯股份有限公司 可执行代码的保护方法、设备及可读存储介质
CN111008205A (zh) * 2019-11-18 2020-04-14 许继集团有限公司 一种数据库的安全保护方法及装置
CN112487483A (zh) * 2020-12-14 2021-03-12 深圳昂楷科技有限公司 一种加密数据库流量审计方法及装置
CN113177221A (zh) * 2021-05-27 2021-07-27 四川职业技术学院 一种计算机软件加密系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Trusted cloud SQL DBS with on-the-fly AES decryption/encryption;Sushil Jajodia等;《 2016 IEEE International Conference on Big Data (Big Data)》;全文 *
数据库加密系统研究;张鹏;《硕士电子期刊》;全文 *

Also Published As

Publication number Publication date
CN114338010A (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
US10305904B2 (en) Facilitating secure network traffic by an application delivery controller
US11010485B1 (en) Cloud messaging system
KR101781583B1 (ko) 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
US9503262B2 (en) Transparent denial of service protection
US8396218B2 (en) Cryptographic module distribution system, apparatus, and program
US20100131764A1 (en) System and method for secured data transfer over a network from a mobile device
US20140082376A1 (en) System, Method and Apparatus for Securely Saving/Retrieving Data on a Data Storage
KR20180029695A (ko) 블록체인을 이용한 데이터 전송 시스템 및 방법
CN101552669A (zh) 数据传输的方法及系统
US10963593B1 (en) Secure data storage using multiple factors
US11425547B2 (en) Master-slave system for communication over a Bluetooth Low Energy connection
CN108141364A (zh) 消息认证
TW200421812A (en) System and method for securing digital messages
CN111108526A (zh) 管理基于区块链的中心化账本系统
US10419212B2 (en) Methods, systems, apparatuses, and devices for securing network communications using multiple security protocols
CN114244508B (zh) 数据加密方法、装置、设备及存储介质
US6633980B1 (en) Computing device communication with replay protection
KR101952329B1 (ko) 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체
CN112689014A (zh) 一种双全工通信方法、装置、计算机设备和存储介质
CN112968910B (zh) 一种防重放攻击方法和装置
CN111181920A (zh) 一种加解密的方法和装置
US9825920B1 (en) Systems and methods for multi-function and multi-purpose cryptography
US10396989B2 (en) Method and server for providing transaction keys
CN102957534B (zh) 一种多终端统一身份认证的方法及系统
CN114338010B (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