CN111427908A - 一种基于量子密钥的透明加、解密方法、系统及装置 - Google Patents
一种基于量子密钥的透明加、解密方法、系统及装置 Download PDFInfo
- Publication number
- CN111427908A CN111427908A CN202010329197.9A CN202010329197A CN111427908A CN 111427908 A CN111427908 A CN 111427908A CN 202010329197 A CN202010329197 A CN 202010329197A CN 111427908 A CN111427908 A CN 111427908A
- Authority
- CN
- China
- Prior art keywords
- column
- original
- statement
- decryption
- encryption
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出了一种基于量子密钥的透明加、解密方法、系统及装置,涉及数据库安全领域。其中,一种基于量子密钥的透明加、解密方法包含如下步骤,数据库协议解析:获取数据库中的数据包,根据数据库的类型调用不同协议以通过所述数据包解析出SQL语句;获取数据库的表和列:对SQL语句进行词法分析和语法分析,解析出原始表和原始列;动态SQL语句修改:根据原始表和原始列判断SQL语句是否需要加密或解密,并利用加密或解密函数修改SQL语句;数据库协议重构:将修改后的SQL语句替换到所述数据包的原SQL语句中。本发明解决了数据库兼容性不好和安全性低的问题。
Description
技术领域
本发明涉及数据库安全领域,具体而言,涉及一种基于量子密钥的透明加、解密方法、系统及装置。
背景技术
在信息系统中,数据库应用十分广泛。数据库系统作为信息的聚集体,存储着系统中最有价值信息的数据,是计算机信息系统的核心部件,其安全性至关重要,因而越来越多的基于数据库的信息系统需要对敏感数据进行加密以保障其安全性。目前,国内现有的数据库系统绝大多数由国外进口,由于技术出口法律的限制,支持密文查询的安全数据库系统却不对中国出口。
现有数据库系统的加、解密一般通过视图触发器实现,需要依赖于数据库,目前只支持极个别数据库,比如ORACLE和informix数据库,对MYSQL数据库的透明加解密需要修改存储引擎源代码。特别对于国产数据库,安全性和兼容性不好。因此,目前需要一种能够在不开放源代码的情况下对不同类型数据库实现透明加、解密的方法和系统。
发明内容
本发明的目的在于提供一种基于量子密钥的透明加、解密方法,其能够实现对不同类型数据库进行透明解密和加密,提高数据库管理的安全性和兼容性。
本发明的另一目的在于提供一种透明加、解密系统,其能够对不同类型数据库进行透明解密和加密,提高数据库管理的安全性和兼容性。
本发明的另一目的在于提供一种基于透明加、解密系统的装置,其能够对不同类型数据库进行透明解密和加密,提高数据库管理的安全性和兼容性
本发明的实施例是这样实现的:
第一方面,本申请实施例提供一种基于量子密钥的透明加、解密方法,包含如下步骤,数据库协议解析:获取数据库中的数据包,根据数据库的类型调用不同协议以通过上述数据包解析出SQL语句;获取数据库的表和列:对SQL语句进行词法分析和语法分析,解析出原始表和原始列;动态SQL语句修改:根据原始表和原始列判断SQL语句是否需要加密或解密,并利用加密或解密函数修改SQL语句;数据库协议重构:将修改后的SQL语句替换到上述数据包的原SQL语句中。
第二方面,本申请实施例提供一种透明加、解密系统,包含WEB管理模块、静态表配置模块、动态SQL修改模块、SQL词句分析模块、数据库协议解析模块、数据库协议重构模块和调度转发模块;上述WEB管理模块用于添加数据库;上述数据库协议解析模块与上述WEB管理模块数据连接以获取数据库中的数据包,并根据数据库的类型调用不同协议以通过上述数据包解析出SQL语句;上述SQL词句分析模块用于根据词法分析和语法分析获取SQL语句的原始表和原始列;上述静态表配置模块用于通过SQL语句的原始表配置原始列的加密函数或解密函数;上述动态SQL修改模块用于根据原始表和原始列判断SQL语句是否需要加密或解密,并利用上述加密函数或上述解密函数修改SQL语句;上述数据库协议重构模块用于将修改后的SQL语句替换到上述数据包中;上述调度转发模块与上述数据库协议解析模块连接以获取上述数据包并通过上述SQL词句分析模块解析出原始列和原始表;上述调度转发模块与上述动态SQL修改模块连接以当SQL语句需要解密或加密时,通过上述动态SQL修改模块对上述SQL词句分析模块的原始列和原始表进行修改;上述调度转发模块与上述数据库协议重构模块连接以当SQL语句需要还原时,通过上述数据库协议重构模块将上述动态SQL修改模块中修改后的SQL语句替换到上述数据库协议解析模块的上述数据包中。
第三方面,本申请实施例提供一种基于透明加、解密系统的装置,包含web应用系统、数据库客户端、交换机、防火墙和数据库服务器:上述web应用系统和上述数据库客户端分别与上述交换机连接;上述交换机与上述防火墙连接;上述防火墙与上述透明加、解密系统连接;上述透明加、解密系统与上述数据库服务器连接。
相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
一种基于量子密钥的透明加、解密方法通过数据库协议解析以识别数据库类型,从而根据数据库的类型调用不同协议解析出SQL语句,适应于不同软件使用,从而提高了兼容性;通过获取数据库的表和列,从而通过修改SQL语句对原始表和原始列进行分别加密或解密,从而实现了SQL语句的加密或解密部分的透明化;通过将原始表和原始列修改后的SQL语句替换到上述数据包中,提高了数据包加密和解密的安全性。
一种透明加、解密系统通过WEB管理模块添加数据库,从而数据库协议解析模块识别数据库类型,并根据数据库的类型调用不同协议解析出SQL语句,适应于不同软件使用,从而提高了兼容性;数据库协议解析模块通过获取数据库的表和列,从而通过修改SQL语句对原始表和原始列进行分别加密或解密,从而实现了SQL语句的加密或解密部分的透明化;通过将原始表和原始列修改后的SQL语句替换到数据包中,提高了数据包加密和解密的安全性。
一种基于透明加、解密系统的装置与上述透明加、解密系统的有益效果相同。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例1基于量子密钥的透明加、解密方法的流程示意图;
图2为本发明实施例1基于量子密钥的透明加、解密方法的数据库协议解析的流程示意图;
图3为本发明实施例1基于量子密钥的透明加、解密方法的获取数据库的表和列以及动态SQL语句修改的流程示意图;
图4为本发明实施例1基于量子密钥的透明加、解密方法的静态加、解密配置的流程示意图;
图5为本发明实施例3基于透明加、解密系统的装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的模块或步骤在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包含一系列要素的过程、方法、物品或者设备不仅包含那些要素,而且还包含没有明确列出的其他要素,或者是还包含为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包含……”限定的要素,并不排除在包含上述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请的描述中,需要说明的是,术语“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
实施例1
请参阅图1,图1所示为本申请实施例提供的基于量子密钥的透明加、解密方法的流程图。本实施例基于量子密钥的透明加、解密方法,包含如下步骤,数据库协议解析:获取数据库中的数据包,根据数据库的类型调用不同协议以通过数据包解析出SQL语句;获取数据库的表和列:对SQL语句进行词法分析和语法分析,解析出原始表和原始列;动态SQL语句修改:根据原始表和原始列判断SQL语句是否需要加密或解密,并利用加密或解密函数修改SQL语句;数据库协议重构:将修改后的SQL语句替换到数据包的原SQL语句中。
如图2所示,数据库协议解析步骤中,获取数据库中的数据包,当数据库为Oracle数据库时,调用TNS协议解析数据包以获得SQL语句。当数据库为SqlServer数据库时,调用TDS协议解析数据包以获得SQL语句。当数据库为MySql数据库时,调用MySql协议解析数据包以获得SQL语句。经过上述过程后,返回获取数据库的表和列步骤以对SQL语句进行处理。
如图3所示,获取数据库的表和列步骤中:通过词法分析程序和语法分析程序分别对SQL语句进行分析以解析出SQL语句的原始表和原始列。经过上述过程后,返回动态SQL语句修改步骤以对原始表和原始列进行处理。
动态SQL语句修改步骤中:根据原始表和原始列判断SQL语句是否需要加密或解密,进而通过加密函数或解密函数对SQL语句进行加密或解密,对原SQL语句进行修改。经过上述过程后,返回数据库协议重构步骤以对修改后的SQL语句进行处理。可选的,通过发送加密或解密的命令,从而根据命令内容判断是否需要对SQL语句进行加密或解密。可选的,分别根据原始表和原始列是否能够读取而判断原始表和原始列是否经过加密处理,从而对SQL语句进行解密。可选的,分别根据原始表和原始列中的内容判断是否对SQL语句的原始表或原始列进行加密。其中,原始表和原始列中的内容可以提前进行配置。可选的,提前配置加密函数和解密函数,从而对SQL语句进行加密或解密。可选的,根据原始表和原始列的内容匹配加密函数或解密函数。可选的,加密函数或解密函数为多个,通过原始表和原始列的内容或者通过发送命令,对应选择不同的加密函数或解密函数。
数据库协议重构步骤中:通过数据库协议解析步骤获取数据包,并且将数据包中的原SQL语句删除,以通过动态SQL语句修改步骤将修改后的SQL语句替换原SQL语句,从而生成修改后的数据包,从而实现加密或解密的操作。上述各个步骤可以通过调度返回到不同步骤,以实现对数据包中的SQL语句的不同处理过程。当不进行数据库协议重构步骤时,原数据包的SQL语句不变。
如图4所示静态加、解密配置步骤。在本发明的一些实施例中,方法还包含静态加、解密配置:根据SQL语句的原始列配置加密函数或解密函数,以通过加密函数加密或者解密函数解密SQL语句的原始表。
静态加、解密配置步骤可以设置在动态SQL语句修改步骤之前,以通过调用加密函数或解密函数以对SQL语句进行修改。并且,获取数据库的表和列步骤在解析出SQL语句中的原始表和原始列后,从而将加密函数或解密函数添加导原始表中以配置加密函数或解密函数。
在本发明的一些实施例中,通过加密函数加密时,根据SQL语句的原始列是否存在非空约束、唯一约束、索引和视图以分别添加约束到SQL语句的原始表,并置空原始列。
详细的,通过非空约束设置原始列中不允许有空值,通过唯一约束设置原始列中不允许有重复内容,均通过原始表分别添加约束以表示原始列的内容。并且根据原始列中是否存在索引和视图从而添加约束以表示原始列的内容。在置空原始列后,原始列通过非明文的方式显示原始列的各种约束,便于通过各种约束定位原始列中的内容。当索引存在时,添加索引到原始表以约束原始列的内容,且当不存在索引时通过在原始表中添加对应视图添的约束个数,可以作为索引指引到原始列中的各个视图原本在原始表的位置,从而创建原始列中各个视图的快捷方式。以实现便于相当于原始列的快捷方式从而在加密时提高SQL语句的安全性和完整性。其中加密过程的多种约束通过encrpt语句实现。
在本发明的一些实施例中,加密函数包含第一加密列、第二加密列、第三加密列和第四加密列;根据原始列是否存在非空约束以向原始列添加第一加密列进;根据原始列是否存在唯一约束以向原始列添加第二加密列;根据原始列是否存在索引以向原始列添加第三加密列;根据原始列是否存在视图以向原始列添加第四加密列。可选的,通过第三加密列修改原始表中的视图,从而对原始列进行加密,提高了SQL语句的安全性。其中,仅当存在非空约束、唯一约束、索引和视图时分别添加对应的加密列以生成加密函数。可选的,通过依次判断各种约束,以选择其中一种存在的约束方式作为加密函数。
在本发明的一些实施例中,通过解密函数解密时,删除原始表并创建空表以替换原始表,根据SQL语句的原始列是否存在非空约束、唯一约束索引和视图以分别添加解密列到空表。
详细的,创建空表并通过各解密列添加对原始表的各项约束,从而将通过解密函数解密后的空表替换原始表,使原始列的内容通过空表存储。其中,解密过程的多种约束通过select语句实现。其中,仅当存在非空约束、唯一约束、索引和视图时分别添加对应的解密列以生成解密函数。可选的,通过依次判断各种约束,以选择其中一种存在的约束方式作为加密函数
在本发明的一些实施例中,解密函数包含第一解密列、第二解密列、第三解密列和第四解密列;根据原始列是否存在非空约束以向空表添加第一解密列;根据原始列是否存在唯一约束以向空表添加第二解密列;根据原始列是否存在索引以向空表添加第三解密列;根据原始列是否存在视图以向空表添加第四解密列。可选的,通过第四解密列修改原始表中的视图,从而对原始列进行加密,提高了SQL语句的安全性。其中,仅当存在非空约束、唯一约束、索引和视图时分别添加对应的解密函数。可选的,通过依次判断各种约束,以选择其中一种存在的约束方式作为解密函数。
本实施例基于量子密钥的透明加、解密方法根据数据库类型调用不同协议以解析不同类型的数据库,解决了数据库加密和解密时兼容性不高的问题;通过原始表和原始列分别加密或解密以修改SQL语句,从而使SQL语句加密和解密的过程透明;通过将修改后的SQL语句替换到原SQL语句的数据包中,提高了数据包的安全性和完整性。
实施例2
本实施例提供的透明加、解密系统,包含WEB管理模块、静态表配置模块、动态SQL修改模块、SQL词句分析模块、数据库协议解析模块、数据库协议重构模块和调度转发模块;WEB管理模块用于添加数据库;数据库协议解析模块与WEB管理模块数据连接以获取数据库中的数据包,并根据数据库的类型调用不同协议以通过数据包解析出SQL语句;SQL词句分析模块用于根据词法分析和语法分析SQL语句以获取原始表和原始列;静态表配置模块用于通过SQL语句的原始表配置原始列的加密函数或解密函数;动态SQL修改模块用于根据原始表和原始列判断SQL语句是否需要加密或解密,并利用加密函数或解密函数修改SQL语句;数据库协议重构模块用于将修改后的SQL语句替换到数据包中;调度转发模块与数据库协议解析模块连接以获取数据包并通过SQL词句分析模块解析出原始列和原始表;调度转发模块与动态SQL修改模块连接以当SQL语句需要解密或加密时,通过动态SQL修改模块对SQL词句分析模块的原始列和原始表进行修改;调度转发模块与数据库协议重构模块连接以当SQL语句需要还原时,通过数据库协议重构模块将动态SQL修改模块中修改后的SQL语句替换到数据库协议解析模块的数据包中。
详细的,WEB管理模块添加数据库后,并且通过调度转发模块将数据库中的数据包发送到数据库协议解析模块解析。数据库协议解析模块根据数据库类型调用不同协议以解析出数据包的SQL语句。从而通过调度转发模块将SQL语句发送到SQL词句分析模块以通过词法分析程序和语法分析程序分析SQL语句,从而获得SQL语句的原始表和原始列。静态配置模块根据对原始列的多种约束配置加密函数或解密函数。可选的,通过调度转发模块将原始表和原始列发送到静态配置模块,以通过静态配置模块将配置的加密函数或解密函数添加到原始表中,并置空原始列的内容。通过调度转发模块控制动态SQL修改模块是否需要对SQL语句加密或解密,并且调用静态表配置模块的加密函数或解密函数,以对SQL语句进行加密或解密的修改。调度转发模块通过数据库协议重构模块以将动态SQL修改模块修改后的SQL语句替换到数据包中。可选的,数据库协议重构模块通过调度转发模块将数据库协议解析模块中的原始列和原始表进行替换,以生成新的数据包,从而实现对数据包的解密或加密操作。
相应的,其中的一些实施例中的具体实现方式与实施例一相同,在此不必赘述。
实施例3
请参阅图5,图5为本申请实施例提供的基于透明加、解密系统的装置。基于透明加、解密系统的装置包含web应用系统、数据库客户端、交换机、防火墙和数据库服务器:web应用系统和数据库客户端分别与交换机连接;交换机与防火墙连接;防火墙与透明加、解密系统连接;透明加、解密系统与数据库服务器连接。
详细的,web应用系统用于WEB管理模块的访问控制。WEB管理模块通过数据库客户端添加数据库。web应用系统、数据库客户端或其他应用系统分别通过交换机实现数据连接,从而实现不同应用系统通过调度转发模块对透明加、解密系统的数据传输、数据处理和顺序处理的控制作用。防火墙加强对数据包的防护,从而由应用系统通过静态表配置模块配置加密函数和解密函数。数据库服务器通过数据库协议解析模块解析数据库中的数据包,并通过SQL词句分析模块解析出数据包中的原始列和原始表。透明加、解密系统通过修改SQL语句的原始列和原始表进行加密或解密,数据库协议重构模块将修改后的SQL语句替换到原数据包。相应的,其中的一些实施例中的具体实现方式与实施例一相同,在此不必赘述。
可以理解,图1~图5所示的结构仅为示意,还可包含比图1~图5中所示更多或者更少的组件,或者具有与图1~图5所示不同的配置。图1~图5中所示的各组件可以采用硬件、软件或其组合实现。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
上述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包含若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储介质包含:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
综上上述,本申请实施例1~3所提供的一种基于量子密钥的透明加、解密方法、系统及装置,通过识别数据库的类型调用不同协议对数据库的数据包进行解析,以得到SQL语句,提高了数据库管理的兼容性;从而通过词法分析和语法分析解析SQL语句,得到原始表和原始列,从而根据原始表和原始列进行加密或解密,从而修改SQL语句,并替换到原数据包中从而针对原始列和原始表分别进行透明处理,提高了数据库的安全性和完整性。
以上上述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种基于量子密钥的透明加、解密方法,其特征在于,包含如下步骤,数据库协议解析:获取数据库中的数据包,根据数据库的类型调用不同协议以通过所述数据包解析出SQL语句;获取数据库的表和列:对SQL语句进行词法分析和语法分析,解析出原始表和原始列;动态SQL语句修改:根据原始表和原始列判断SQL语句是否需要加密或解密,并利用加密或解密函数修改SQL语句;数据库协议重构:将修改后的SQL语句替换到所述数据包的原SQL语句中。
2.如权利要求1所述的一种基于量子密钥的透明加、解密方法,其特征在于,还包含静态加、解密配置:根据SQL语句的原始列配置所述加密函数或所述解密函数,以通过所述加密函数加密或者所述解密函数解密SQL语句的原始表。
3.如权利要求2所述的一种基于量子密钥的透明加、解密方法,其特征在于,其中,通过所述加密函数加密时,根据SQL语句的原始列是否存在非空约束、唯一约束、索引和视图以分别添加约束到SQL语句的原始表,并置空原始列。
4.如权利要求3所述的一种基于量子密钥的透明加、解密方法,其特征在于,其中,所述加密函数包含第一加密列、第二加密列、第三加密列和第四加密列;根据原始列是否存在所述非空约束以向原始列添加所述第一加密列;根据原始列是否存在所述唯一约束以向原始列添加所述第二加密列;根据原始列是否存在所述索引以向原始列添加所述第三加密列;根据原始列是否存在所述视图以向原始列添加所述第四加密列。
5.如权利要求4所述的一种基于量子密钥的透明加、解密方法,其特征在于,通过所述第三加密列修改所述视图。
6.如权利要求2或3所述的一种基于量子密钥的透明加、解密方法,其特征在于,其中,通过解密函数解密时,删除原始表并创建空表以替换原始表,根据SQL语句的原始列是否存在非空约束、唯一约束、索引和视图以分别添加解密列到所述空表。
7.如权利要求6所述的一种基于量子密钥的透明加、解密方法,其特征在于,所述解密函数包含第一解密列、第二解密列、第三解密列和第四解密列;根据原始列是否存在所述非空约束以向所述空表添加所述第一解密列;根据原始列是否存在所述唯一约束以向所述空表添加所述第二解密列;根据原始列是否存在所述索引以向所述空表添加所述第三解密列;根据原始列是否存在所述视图以向所述空表添加所述第四解密列。
8.如权利要求7所述的一种基于量子密钥的透明加、解密方法,其特征在于,通过所述第四解密列修改所述视图。
9.一种透明加、解密系统,其特征在于,包含WEB管理模块、静态表配置模块、动态SQL修改模块、SQL词句分析模块、数据库协议解析模块、数据库协议重构模块和调度转发模块;所述WEB管理模块用于添加数据库;所述数据库协议解析模块与所述WEB管理模块数据连接以获取数据库中的数据包,并根据数据库的类型调用不同协议以通过所述数据包解析出SQL语句;所述SQL词句分析模块用于根据词法分析和语法分析获取SQL语句的原始表和原始列;所述静态表配置模块用于通过SQL语句的原始表配置原始列的加密函数或解密函数;所述动态SQL修改模块用于根据原始表和原始列判断SQL语句是否需要加密或解密,并利用所述加密函数或所述解密函数修改SQL语句;所述数据库协议重构模块用于将修改后的SQL语句替换到所述数据包中;所述调度转发模块与所述数据库协议解析模块连接以获取所述数据包并通过所述SQL词句分析模块解析出原始列和原始表;所述调度转发模块与所述动态SQL修改模块连接以当SQL语句需要解密或加密时,通过所述动态SQL修改模块对所述SQL词句分析模块的原始列和原始表进行修改;所述调度转发模块与所述数据库协议重构模块连接以当SQL语句需要还原时,通过所述数据库协议重构模块将所述动态SQL修改模块中修改后的SQL语句替换到所述数据库协议解析模块的所述数据包中。
10.一种基于权利要求9所述的透明加、解密系统的装置,其特征在于,包含web应用系统、数据库客户端、交换机、防火墙和数据库服务器:所述web应用系统和所述数据库客户端分别与所述交换机连接;所述交换机与所述防火墙连接;所述防火墙与所述透明加、解密系统连接;所述透明加、解密系统与所述数据库服务器连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010329197.9A CN111427908A (zh) | 2020-04-23 | 2020-04-23 | 一种基于量子密钥的透明加、解密方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010329197.9A CN111427908A (zh) | 2020-04-23 | 2020-04-23 | 一种基于量子密钥的透明加、解密方法、系统及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111427908A true CN111427908A (zh) | 2020-07-17 |
Family
ID=71556671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010329197.9A Pending CN111427908A (zh) | 2020-04-23 | 2020-04-23 | 一种基于量子密钥的透明加、解密方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427908A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060053112A1 (en) * | 2004-09-03 | 2006-03-09 | Sybase, Inc. | Database System Providing SQL Extensions for Automated Encryption and Decryption of Column Data |
CN101504668A (zh) * | 2009-03-24 | 2009-08-12 | 北京理工大学 | 一种支持密文索引的数据库透明加密方法 |
CN102243629A (zh) * | 2010-05-12 | 2011-11-16 | 北京安华金和科技有限公司 | 一种基于多级视图和触发器的数据库透明加解密方法 |
CN102902932A (zh) * | 2012-09-18 | 2013-01-30 | 武汉华工安鼎信息技术有限责任公司 | 基于sql重写的数据库外部加解密系统及其使用方法 |
CN106934298A (zh) * | 2017-03-06 | 2017-07-07 | 戴林 | 一种通用数据库透明加密系统 |
CN107370725A (zh) * | 2017-06-21 | 2017-11-21 | 西安电子科技大学 | 一种云环境下通用加密数据库的存取方法及系统 |
CN108734023A (zh) * | 2018-04-28 | 2018-11-02 | 西安电子科技大学 | 一种密文数据库系统的访问与集成系统及方法 |
CN109815719A (zh) * | 2019-01-21 | 2019-05-28 | 广东电网有限责任公司信息中心 | 一种可搜索的数据库安全加密系统 |
CN110889130A (zh) * | 2018-12-10 | 2020-03-17 | 北京炼石网络技术有限公司 | 基于数据库的细粒度数据加密方法、系统及装置 |
CN110995425A (zh) * | 2019-12-03 | 2020-04-10 | 安徽华典大数据科技有限公司 | 基于qkd协议量子密钥分发与数据访问通道融合的数据库 |
-
2020
- 2020-04-23 CN CN202010329197.9A patent/CN111427908A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060053112A1 (en) * | 2004-09-03 | 2006-03-09 | Sybase, Inc. | Database System Providing SQL Extensions for Automated Encryption and Decryption of Column Data |
CN101504668A (zh) * | 2009-03-24 | 2009-08-12 | 北京理工大学 | 一种支持密文索引的数据库透明加密方法 |
CN102243629A (zh) * | 2010-05-12 | 2011-11-16 | 北京安华金和科技有限公司 | 一种基于多级视图和触发器的数据库透明加解密方法 |
CN102902932A (zh) * | 2012-09-18 | 2013-01-30 | 武汉华工安鼎信息技术有限责任公司 | 基于sql重写的数据库外部加解密系统及其使用方法 |
CN106934298A (zh) * | 2017-03-06 | 2017-07-07 | 戴林 | 一种通用数据库透明加密系统 |
CN107370725A (zh) * | 2017-06-21 | 2017-11-21 | 西安电子科技大学 | 一种云环境下通用加密数据库的存取方法及系统 |
CN108734023A (zh) * | 2018-04-28 | 2018-11-02 | 西安电子科技大学 | 一种密文数据库系统的访问与集成系统及方法 |
CN110889130A (zh) * | 2018-12-10 | 2020-03-17 | 北京炼石网络技术有限公司 | 基于数据库的细粒度数据加密方法、系统及装置 |
CN109815719A (zh) * | 2019-01-21 | 2019-05-28 | 广东电网有限责任公司信息中心 | 一种可搜索的数据库安全加密系统 |
CN110995425A (zh) * | 2019-12-03 | 2020-04-10 | 安徽华典大数据科技有限公司 | 基于qkd协议量子密钥分发与数据访问通道融合的数据库 |
Non-Patent Citations (1)
Title |
---|
刘剑: "基于SQL Server的数据库内部加密技术的探讨", 《电脑知识与技术》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102649209B1 (ko) | 암호화된 사용자 데이터 송신 및 저장 | |
US9349026B2 (en) | Anonymization and filtering data | |
WO2017088683A1 (zh) | 一种数据脱敏的方法及系统 | |
US20100185862A1 (en) | Method and System for Encrypting JavaScript Object Notation (JSON) Messages | |
US8644513B2 (en) | Database processing on externally encrypted data | |
US20100262836A1 (en) | Privacy and confidentiality preserving mapping repository for mapping reuse | |
US8769302B2 (en) | Encrypting data and characterization data that describes valid contents of a column | |
Liu | Securing outsourced databases in the cloud | |
CN113162974B (zh) | 一种基于tcp代理的数据库动态加解密的实现方法及系统 | |
US10402587B2 (en) | Application-level in-place encryption | |
CN111427908A (zh) | 一种基于量子密钥的透明加、解密方法、系统及装置 | |
CN113204776B (zh) | 实现列加密的方法、装置、设备及存储介质 | |
CN113918960A (zh) | 一种数据库透明加密、解密方法及设备 | |
JP2023102269A (ja) | 方法、システム、コンピュータプログラム(ハイブリッドクラウド環境のためのデータベース階層的暗号化) | |
CN116244332A (zh) | 数据网关及基于数据网关的数据服务方法 | |
EA040905B1 (ru) | Зашифрованный транзит и хранение пользовательских данных |
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 |