CN116451257A - 一种数据库数据的加密方法、系统、电子设备 - Google Patents
一种数据库数据的加密方法、系统、电子设备 Download PDFInfo
- Publication number
- CN116451257A CN116451257A CN202310414407.8A CN202310414407A CN116451257A CN 116451257 A CN116451257 A CN 116451257A CN 202310414407 A CN202310414407 A CN 202310414407A CN 116451257 A CN116451257 A CN 116451257A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- server
- ciphertext
- key
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012795 verification Methods 0.000 claims abstract description 49
- 230000015654 memory Effects 0.000 claims description 28
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
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/602—Providing cryptographic facilities or services
-
- 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)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供的一种数据库数据的加密方法、系统、电子设备,该方法通过将第一数据发送至服务器,利用服务器对第一数据进行加密,得到第二数据,并通过进行数据加密验证与数据解密验证,对数据库中的数据进行密文数据的替换,即将与查询指令对应的第一数据替换为第二数据,从而对数据库中原有存储数据,即存量数据的数据加密,实现数据库中部分数据的明文数据与密文数据的替换,有效地提高了数据库中加密数据的安全程度。
Description
技术领域
本发明涉及数据安全技术领域,具体涉及一种数据库数据的加密方法、系统、电子设备。
背景技术
数据加密是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。
在相关技术中,为实现对数据库数据的加密,通过加载配置的方式将加密配置存储在数据库中,加密配置中包含的密钥等信息可以被任何具有数据库查询权限的人员、软件读取,从而通过对数据进行逆向解密操作获取数据库中的加密信息,无法保证数据库中加密数据的安全程度。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中的数据库中加密数据的安全程度低的缺陷,从而提供一种数据库数据的加密方法、系统、电子设备。
第一方面,本发明实施例提供了一种数据库数据的加密方法,应用于客户端,方法包括:获取查询指令以及数据库中存储的第一数据,查询指令包括数据库的标识信息,标识信息与数据库存储的第一数据存在第一对应关系;通过标识信息和第一数据建立与标识信息对应的密文数据列;根据标识信息和第一对应关系,将第一数据发送至服务器;接收服务器根据第一数据反馈的第二数据,第二数据为服务器对第一数据加密后生成的;根据第一数据,进行数据加密验证;如果第一数据通过加密验证,则根据第二数据,进行数据解密验证;如果第二数据通过解密验证,将第二数据存储在密文数据列中。
结合第一方面,在第一方面的一种可能的实现方式中,通过标识信息和第一数据建立与标识信息对应的密文数据列,包括:根据标识信息与第一数据的对应关系,读取第一数据,确定第一数据的长度;基于长度,确定密文数据列的长度;通过密文数据列的长度,在数据库中建立与标识信息对应的密文数据列。
结合第一方面,在第一方面的一种可能的实现方式中,根据第一数据,进行数据加密验证,包括:接收服务器根据加密验证反馈的第三数据,第三数据为服务器对第一数据加密后生成的;在第三数据与第二数据一致时,确认第一数据通过加密认证。
结合第一方面,在第一方面的一种可能的实现方式中,根据第二数据,进行数据解密验证,包括:将第二数据发送至服务器;接收服务器根据解密验证反馈的第四数据,第四数据为服务器对第二数据解密后生成的;在第四数据与第一数据一致时,确认第二数据通过解密认证。
结合第一方面,在第一方面的一种可能的实现方式中,方法还包括:在第四数据与第一数据不一致时,保留第一数据,删除第二数据。
结合第一方面,在第一方面的一种可能的实现方式中,获取查询指令,包括:拦截针对数据库的操作指令,并通过解析操作指令,确定与操作指令对应的标识信息;获取预设的第一数据的字段名称;基于预设的第一数据的字段名称,建立标识信息与第一数据的对应关系。
第二方面,本发明实施例提供了一种数据库数据的加密方法,应用于服务器,服务器与密钥数据库相连接,密钥数据库预先存储第一密文数据和第二密钥,服务器存储初始向量,方法包括:接收客户端发送的第一数据;通过第一密文数据、第二密钥、初始向量,对第一数据进行加密,得到第二数据;发送第二数据至客户端。
结合第二方面,在第二方面的一种可能的实现方式中,通过第一密文数据、第二密钥、初始向量,对第一数据进行加密,得到第二数据,包括:通过第二密钥、初始向量,对第一密文数据进行解密,得到第一密钥;通过第一密钥对第一数据进行加密,得到第二数据。
第三方面,本发明实施例提供了一种数据库数据的加密存储系统,系统包括:客户端、服务器与密钥数据库,其中,服务器分别与客户端、密钥数据库相连接,密钥数据库预先存储第一密文数据和第二密钥,服务器存储初始向量,系统包括:客户端,用于向服务器发送第一数据,并接收服务器根据第一数据反馈的第二数据;服务器,用于接收客户端发送的第一数据,并通过第一密文数据、第二密钥、初始向量,对第一数据进行加密,得到第二数据;服务器,用于将第二数据发送至客户端。
第四方面,本发明实施例提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信相连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,当指令被至少一个处理器运行时,使电子设备执行如第一方面或第二方面任意实施方式的一种数据库数据的加密方法。
本发明提供的一种数据库数据的加密方法、系统、电子设备,该方法包括:获取查询指令以及数据库中存储的第一数据,并通过查询指令包含的数据库的标识信息,以标识信息与第一数据的第一对应关系,将查询指令对应的第一数据发送至服务器,从而接收服务器根据第一数据反馈的第二数据,并在利用第一数据进行加密验证,且在第一数据通过加密验证后,对第二数据进行解密验证,在第二数据通过解密验证后,将第二数据存储在密文数据列中。这一过程中,通过将第一数据发送至服务器,利用服务器对第一数据进行加密,得到第二数据,并通过进行数据加密验证与数据解密验证,对数据库中的数据进行密文数据的替换,即将与查询指令对应的第一数据替换为第二数据,从而对数据库中原有存储数据,即存量数据的数据加密,实现数据库中部分数据的明文数据与密文数据的替换,有效地提高了数据库中加密数据的安全程度。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据库数据的加密存储系统的示意图;
图2为本发明实施例提供的一种数据库数据的加密方法的一个具体示例的流程图;
图3为本发明实施例提供的一种数据库数据的加密方法的另一个具体示例的流程图;
图4为本发明实施例提供的一种数据库数据的加密存储系统的交互示意图;
图5为本发明实施例提供的电子设备的结构框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本实施例提供的一种数据库数据的加密存储系统,如图1所示,数据库数据的加密存储系统,包括:客户端11、服务器12与密钥数据库13,其中,服务器12分别与客户端11、密钥数据库13相连接,密钥数据库13预先存储第一密文数据和第二密钥,服务器12存储初始向量(Initialization Vector,IV),其中,客户端11,用于向服务器12发送第一数据,并接收服务器12根据第一数据反馈的第二数据。服务器12,用于接收客户端11发送的第一数据,并通过第一密文数据、第二密钥、初始向量,对第一数据进行加密,得到第二数据。服务器12,还用于将第二数据发送至客户端11。数据库数据的加密存储系统在对第一数据的加密过程中,服务器12从密钥数据库13获取第一密文数据和第二密钥,并通过第二密钥、初始向量,对第一密文数据进行解密,得到第一密钥,从而通过第一密钥对第一数据进行加密,得到第二数据。
本实施例提供一种数据库数据的加密方法,如图2所示,包括如下步骤:
S101、获取查询指令以及数据库中存储的第一数据,查询指令包括数据库的标识信息,标识信息与数据库存储的第一数据存在第一对应关系。
具体地,获取查询指令是指获取客户端中应用程序向数据库发送的数据操作指令,其中数据操作指令包括:查询、新增、修改、删除操作,并通过解析操作指令,确定与操作指令对应的标识信息,建立表标识信息与第一数据的对应关系。
S102、通过标识信息和第一数据建立与标识信息对应的密文数据列。
具体地,在客户端中建立密文数据列是指在数据库中建立与第一数据,即明文数据对应的密文数据列,各密文数据列长度分别与明文数据相对应,以明文字段类型为varchar(16)为例,则对应密文字段的类型为varchar(68)。具体地,建立与标识信息对应的密文数据列是为将数据库中的明文数据替换为密文数据提供数据基础,即,在将明文数据替换为密文数据前,需分别对明文数据、密文数据进行验证,并在验证均通过后,将密文数据存入密文数据列中。
S103、根据标识信息和第一对应关系,将第一数据发送至服务器。
具体地,将第一数据发送至服务器的过程指示通过标识信息和第一对应关系,确定与标识信息对应的第一数据,即将客户端中应用程序向数据库发送的数据操作指令所涉及的数据发送至服务器,这一过程是将需要加密的数据发送至服务器的过程。
S104、接收服务器根据第一数据反馈的第二数据,第二数据为服务器对第一数据加密后生成的。
具体地,第一数据为明文数据,第二数据为响应于第一数据的密文数据。
S105、根据第一数据,进行数据加密验证。
具体地,根据第一数据,进行数据加密验证是指通过读取第一数据,并接收服务器根据第一数据反馈的第三数据,并在第三数据与第二数据一致时,确认第一数据通过加密认证,其中,第三数据为服务器对第一数据加密后生成的。
S106、如果第一数据通过加密验证,则根据第二数据,进行数据解密验证。
具体地,根据第二数据,进行数据解密验证是指通过读取第二数据,将第二数据发送至服务器,接收服务器反馈的第四数据,并在第四数据与第一数据一致时,确认第二数据通过解密认证,其中,第四数据为服务器对第二数据解密后生成的。
S107、如果第二数据通过解密验证,将第二数据存储在密文数据列中。
具体地,将第二数据存储在密文数据列中是指将与第二数据对应的第一数据删除,并将第二数据存储在密文数据列中,即,完成明文数据与密文数据的替换。
具体地,例如数据库school中有student表,包含id、name、phone、id_card等字段;字段id的值为:100,字段name的值为:张三,phone的值为13800138000,id_card的值为:110103199701012771,即,第一数据为100、张三、13800138000、110103199701012771,应用程序向数据库发送的查询指令为查询字段phone、id_card的值,即标识信息为:phone、id_card。将第一数据发送至服务器,接收与第一数据对应的值,即第二数据分别为:1ea1a35cd275b9e095da0d6eeb6aa3f2与ca5933fa7b06ffcab0cc270fdb67708c1073d9a72b6bb67b5e93760d41,在数据分别通过加密验证与解密验证后,则将第二数据替换第一数据,完成明文数据与密文数据的替换,此时数据库school中student表,字段id的值为:100,字段name的值为:张三,phone的值为:1ea1a35cd275b9e095da0d6eeb6aa3f2,id_card的值为:ca5933fa7b06ffcab0cc270fdb67708c1073d9a72b6bb67b5e93760d41。
通过实施本实施例,通过将第一数据发送至服务器,利用服务器对第一数据进行加密,得到第二数据,并通过进行数据加密验证与数据解密验证,对数据库中的数据进行密文数据的替换,即将与查询指令对应的第一数据替换为第二数据,从而对数据库中原有存储数据,即存量数据的数据加密,实现数据库中部分数据的明文数据与密文数据的替换,有效地提高了数据库中加密数据的安全程度。
在一种可选实施方式中,为保证加密后的第二数据,不会产生数据长度溢出,通过标识信息和第一数据建立与标识信息对应的密文数据列,包括:
(1)根据标识信息与第一数据的对应关系,读取第一数据,确定第一数据的长度。
具体地,根据标识信息与第一数据的对应关系,读取第一数据是指通过第一对应关系,以查询指令包含的标识信息,确定需要进行加密的第一数据,从而确定需要加密的数据的长度。
(2)基于第一数据的长度,确定密文数据列的长度。
基于第一数据的长度,确定密文数据列的长度是指通过加密算法运算逻辑确定密文字段的长度,以加密算法为AES、ECB或PKCS5Padding为例,密文字段长度=((当前字段长度/16+1)*32)+4。即若原字段为varchar(16)类型,则对应加密字段的长度为varchar(68)。
(3)通过密文数据列的长度,在数据库中建立与标识信息对应的密文数据列。
具体地,通过密文数据列的长度建立与标识信息对应的密文数据列是指各密文字段的长度符合与标识信息对应的第一数据的加密后的长度,即第一数据经过加密后得到的结果可以正常存储在密文数据列中,不会产生数据长度溢出的情况发生。
通过实施本实施例,通过确定第一数据的长度,确定密文数据列的长度,并以密文数据列的长度,在数据库中建立与标识信息对应的密文数据列,从而保证加密后的第二数据,不会产生数据长度溢出,即加密后的第二数据的长度,与经加密算法运算后的第一数据的长度相符,为提高了数据库中加密数据的安全程度提供数据基础。
在一种可选实施方式中,为保证数据未被篡改,即明文数据与密文数据相对应,需要进行数据加密验证,根据第一数据,进行数据加密验证,包括:
(1)接收服务器根据加密验证反馈的第三数据,第三数据为服务器对第一数据加密后生成的。
具体地,客户端发送第一数据至服务器后,除了接收服务器根据第一数据反馈的第二数据,还会在进行加密验证时,接收服务器根据加密验证反馈的第三数据,其中,第二数据与第三数据的加密方式相同。
(2)在第三数据与第二数据一致时,确认第一数据通过加密认证。
具体地,对于数据库中的存量数据,在第二数据与第三数据一致时,确认第一数据在经服务器加密的过程中未被篡改,使得两次加密后的数据一致,在该种情况下确认第一数据通过加密认证。
具体地,对于数据库中的存量数据,即数据库中原有的数据,需要通过比对第三数据与第二数据的方式完成第一数据的加密认证。对于数据库中的增量数据,即数据库中新增的数据,新增的明文数据将会存储至与标识信息对应的第一数据处,新增的密文数据将会存储至与标识信息对应的密文数据列处,这一过程中,实质上通过对明文数据与密文数据同时进行写操作,保证明文数据与密文数据相对应,在该种情况下,针对明文数据的数据查询,即读取逻辑不受影响。
通过实施本实施例,通过对接收服务器根据加密验证反馈的第三数据,并在第三数据与第一数据一致时,确认第一数据通过加密认证,这一过程中,通过比对第三数据与第一数据保证数据未被篡改,即明文数据与密文数据相对应,为提高了数据库中加密数据的安全程度提供数据基础。
在一种可选实施方式中,为保证数据未被篡改,即明文数据与密文数据相对应,需要进行数据加密验证,根据第二数据,进行数据解密验证,包括:
(1)将第二数据发送至服务器。
具体地,将第二数据发送至服务器是指将密文数据发送至服务器进行解密。
(2)接收服务器根据解密验证反馈的第四数据,第四数据为服务器对第二数据解密后生成的。
具体地,客户端在进行加密验证时,即将第二数据发送至服务器后,接收服务器发送的第四数据,其中,第四数据与第一数据的解密方式相同。
(3)在第四数据与第一数据一致时,确认第二数据通过解密认证。
具体地,对于数据库中的存量数据,在第四数据与第一数据一致时,确认第二数据在经服务器解密的过程中未被篡改,使得两次解密后的数据一致,在该种情况下确认第二数据通过解密认证。
具体地,对于数据库中的存量数据,即数据库中原有的数据,需要通过比对第四数据与第以数据的方式完成第二数据的解密认证。对于数据库中的增量数据,即数据库中新增的数据,新增的明文数据将会存储至与标识信息对应的第一数据处,新增的密文数据将会存储至与标识信息对应的密文数据列处,这一过程中,实质上通过对明文数据与密文数据同时进行写操作,保证明文数据与密文数据相对应,在该种情况下,针对明文数据的数据查询,即读取逻辑不受影响。
在一种可选实施方式中,在第四数据与第一数据不一致时,保留第一数据,删除第二数据。
具体地,在第四数据与第一数据不一致时,确认应用程序运行异常,通过保留第一数据,删除第二数据的方式使数据库中的原有数据不受影响,从而防止数据丢失,快速进行止损,使得针对明文数据的数据查询,即读取逻辑不受影响。
通过实施本实施例,通过将第二数据发送至服务器,并接收服务器反馈的第四数据,通过比对第四数据与第一数据,判断数据是否篡改,即明文数据与密文数据是否相对应,在这一过程中,通过分别对明文数据、密文数据执行写操作,即确定明文数据与密文数据对应存储位置,避免针对明文数据的读取造成影响,为提高了数据库中加密数据的安全程度提供数据基础。
在一种可选实施方式中,为明确需要进行加密的明文数据,即建立标识信息与第一数据的对应关系,获取查询指令,包括:
(1)拦截针对数据库的操作指令,并通过解析操作指令,确定与操作指令对应的标识信息。
具体地,拦截针对数据的操作指令是指拦截客户端中应用程序向数据库发送的数据操作指令,其中数据操作指令包括:查询、新增、修改、删除操作。解析操作指令是指确定与操作指令对应的数据库的字段名称,即确定与操作指令对应的标识信息。
(2)获取预设的第一数据的字段名称。
(3)基于预设的第一数据的字段名称,建立标识信息与第一数据的对应关系。
具体地,建立标识信息与第一数据的对应关系是指与操作指令对应的数据库的字段名称与预设的第一数据的字段名称部分或全部相符时,将相符的内容确定为需要进行加密的明文数据。
通过实施本实施例,通过拦截针对数据库的操作指令,明确需要进行加密的明文数据,即建立标识信息与第一数据的对应关系,从而实现数据库中部分数据的明文数据与密文数据的替换,有效地提高了数据库中加密数据的安全程度提供数据基础。
本实施例还提供了一种数据库数据的加密方法,应用于服务器,服务器与密钥数据库相连接,密钥数据库预先存储第一密文数据和第二密钥,服务器存储初始向量,如图3所示,方法包括:
S201、接收客户端发送的第一数据。
S202、通过第一密文数据、第二密钥、初始向量,对第一数据进行加密,得到第二数据。
在一种可选实施方式中,通过第一密文数据、第二密钥、初始向量,对第一数据进行加密,得到第二数据,包括:
(1)通过第二密钥、初始向量,对第一密文数据进行解密,得到第一密钥。
具体地,第一密文数据为将第一密钥以初始向量和第二密钥进行加密的方式得到的,因此为得到第一密钥,需要通过第二密钥以及初始向量,对第一密文数据进行解密。而第一密文数据和第二密钥存储在于服务器相连接的密钥数据库中,初始向量存储在服务器中,该种保存方式使得只有服务器被攻击时,仅会泄露初始向量,而只有密钥数据库被攻击时,仅会泄露第一密文数据和第二密钥,而如果要获得第一密钥,即对第一数据加密得到第二数据,以及对第二数据解密得到第一数据,则同时需要第二密钥、初始向量与第一密文数据。
(2)通过第一密钥对第一数据进行加密,得到第二数据。
具体地,通过第一密钥对第一数据进行加密的方式包括但不限定于AES/CBC/PKCS5Padding算法,得到第二数据,本发明对此不再进行赘述。
S203、发送第二数据至客户端。
通过实施本实施例,通过将第一密文数据和第二密钥存储在密钥数据库中,初始向量存储在服务器中的方式,使得无法同时接触到初始向量、第一密文数据与第二密钥,而对第一数据进行加密,得到第二数据的过程,则需要同时使用初始向量、第一密文数据与第二密钥,得到第一密钥,并通过第一密钥对第一数据进行加密,同理,在对第二数据进行解密,得到第一数据的过程中,同样需要第一密钥对第二数据进行解密,从而通过该种方式提高了数据库数据加解密的安全性。
本发明实施例还提供了一种数据库数据的加密存储系统,系统包括:客户端、服务器与密钥数据库,其中,服务器分别与客户端、密钥数据库相连接,密钥数据库预先存储第一密文数据和第二密钥,服务器存储初始向量,数据库数据的加密存储系统的交互过程如图4所示,包括:
S301、客户端获取查询指令以及数据库中存储的第一数据。具体过程可参见上述实施例的相关描述,在此不再赘述。
S302、客户端建立与标识信息对应的密文数据列。具体过程可参见上述实施例的相关描述,在此不再赘述。
S303、客户端发送第一数据至服务器。具体过程可参见上述实施例的相关描述,在此不再赘述。
S304、服务器通过第一密文数据、第二密钥、初始向量,对第一数据进行加密,得到第二数据。具体过程可参见上述实施例的相关描述,在此不再赘述。
S305、服务器将第二数据发送至客户端。具体过程可参见上述实施例的相关描述,在此不再赘述。
S306、客户端根据第一数据,进行加密验证。具体过程可参见上述实施例的相关描述,在此不再赘述。
S307、如果第一数据通过加密验证,客户端根据第二数据,进行数据解密验证。具体过程可参见上述实施例的相关描述,在此不再赘述。
S308、如果第二数据通过解密验证,客户端将第二数据存储在密文数据列中。具体过程可参见上述实施例的相关描述,在此不再赘述。
本发明实施例还提供了一种计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的一种数据库数据的加密方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本发明一个实施例还提供一种电子设备,如图5所示,图5是本发明一个可选实施例提供的一种电子设备的结构示意图,该电子设备可以包括至少一个处理器21、至少一个通信接口22、至少一个通信总线23和至少一个存储器24,其中,通信接口22可以包括显示屏(Display)、键盘(Keyboard),可选通信接口22还可以包括标准的有线接口、无线接口。存储器24可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器24可选的还可以是至少一个位于远离前述处理器21的存储装置。其中存储器24中存储应用程序,且处理器21调用存储器24中存储的程序代码,以用于执行上述任意方法实施例所述的一种数据库数据的加密方法的步骤。
其中,通信总线23可以是外设部件互连标准(peripheralcomponentinterconnect,PCI)总线或扩展工业标准结构(extended industrystandardarchitecture,EISA)总线等。通信总线23可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器24可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器24还可以包括上述种类的存储器的组合。
其中,处理器21可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
其中,处理器21还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
可选地,存储器24还用于存储程序指令。处理器21可以调用程序指令,实现本发明任一实施例中所述的一种数据库数据的加密方法。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (10)
1.一种数据库数据的加密方法,其特征在于,应用于客户端,所述方法,包括:
获取查询指令以及数据库中存储的第一数据,所述查询指令包括所述数据库的标识信息,所述标识信息与所述数据库存储的第一数据存在第一对应关系;
通过所述标识信息和所述第一数据建立与所述标识信息对应的密文数据列;
根据所述标识信息和所述第一对应关系,将所述第一数据发送至服务器;
接收所述服务器根据所述第一数据反馈的第二数据,所述第二数据为所述服务器对所述第一数据加密后生成的;
根据所述第一数据,进行数据加密验证;
如果所述第一数据通过所述加密验证,则根据所述第二数据,进行数据解密验证;
如果所述第二数据通过所述解密验证,将所述第二数据存储在所述密文数据列中。
2.根据权利要求1所述的方法,其特征在于,所述通过所述标识信息和所述第一数据建立与所述标识信息对应的密文数据列,包括:
根据所述标识信息与所述第一数据的对应关系,读取所述第一数据,确定所述第一数据的长度;
基于所述长度,确定所述密文数据列的长度;
通过所述密文数据列的长度,在所述数据库中建立与所述标识信息对应的密文数据列。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据,进行数据加密验证,包括:
接收所述服务器根据所述加密验证反馈的第三数据,所述第三数据为所述服务器对所述第一数据加密后生成的;
在所述第三数据与所述第二数据一致时,确认所述第一数据通过所述加密认证。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二数据,进行数据解密验证,包括:
将所述第二数据发送至所述服务器;
接收所述服务器根据所述解密验证反馈的第四数据,所述第四数据为所述服务器对所述第二数据解密后生成的;
在所述第四数据与所述第一数据一致时,确认所述第二数据通过所述解密认证。
5.根据权利要求4所述的方法,其特征在于,所述方法,还包括:
在所述第四数据与所述第一数据不一致时,保留所述第一数据,删除所述第二数据。
6.根据权利要求1所述的方法,其特征在于,所述获取查询指令,包括:
拦截针对所述数据库的操作指令,并通过解析所述操作指令,确定与所述操作指令对应的标识信息;
获取预设的第一数据的字段名称;
基于所述预设的第一数据的字段名称,建立所述标识信息与所述第一数据的对应关系。
7.一种数据库数据的加密方法,其特征在于,应用于服务器,所述服务器与密钥数据库相连接,所述密钥数据库预先存储第一密文数据和第二密钥,所述服务器存储初始向量,所述方法包括:
接收客户端发送的第一数据;
通过所述第一密文数据、所述第二密钥、所述初始向量,对所述第一数据进行加密,得到第二数据;
发送所述第二数据至所述客户端。
8.根据权利要求7所述的方法,其特征在于,所述通过所述第一密文数据、所述第二密钥、所述初始向量,对所述第一数据进行加密,得到第二数据,包括:
通过所述第二密钥、所述初始向量,对所述第一密文数据进行解密,得到第一密钥;
通过所述第一密钥对所述第一数据进行加密,得到第二数据。
9.一种数据库数据的加密存储系统,其特征在于,所述系统包括:客户端、服务器与密钥数据库,其中,所述服务器分别与所述客户端、所述密钥数据库相连接,所述密钥数据库预先存储第一密文数据和第二密钥,所述服务器存储初始向量,所述系统,包括:
所述客户端,用于向所述服务器发送第一数据,并接收所述服务器根据所述第一数据反馈的第二数据;
所述服务器,用于接收所述客户端发送的第一数据,并通过所述第一密文数据、所述第二密钥、所述初始向量,对所述第一数据进行加密,得到所述第二数据;
所述服务器,用于将所述第二数据发送至所述客户端。
10.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信相连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,当所述指令被所述至少一个处理器运行时,使所述电子设备执行如权利要求1至6或7至8中任一项所述的一种数据库数据的加密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310414407.8A CN116451257B (zh) | 2023-04-18 | 2023-04-18 | 一种数据库数据的加密方法、系统、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310414407.8A CN116451257B (zh) | 2023-04-18 | 2023-04-18 | 一种数据库数据的加密方法、系统、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116451257A true CN116451257A (zh) | 2023-07-18 |
CN116451257B CN116451257B (zh) | 2024-01-02 |
Family
ID=87129822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310414407.8A Active CN116451257B (zh) | 2023-04-18 | 2023-04-18 | 一种数据库数据的加密方法、系统、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116451257B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281377A (zh) * | 2013-05-31 | 2013-09-04 | 北京鹏宇成软件技术有限公司 | 一种面向云的密文数据存储与查询方法 |
CN107800537A (zh) * | 2017-11-27 | 2018-03-13 | 安徽问天量子科技股份有限公司 | 基于量子密钥分配技术的加密数据库系统及方法、存储方法及查询方法 |
CN108243198A (zh) * | 2018-01-31 | 2018-07-03 | 北京深思数盾科技股份有限公司 | 一种数据分发、转发方法及装置 |
US20190207769A1 (en) * | 2018-01-03 | 2019-07-04 | JJD Software LLC | Database platform for maintaining secure data |
CN111555872A (zh) * | 2020-04-30 | 2020-08-18 | 平安科技(深圳)有限公司 | 一种通信数据处理方法、装置、计算机系统及存储介质 |
CN111835774A (zh) * | 2020-07-15 | 2020-10-27 | 中国建设银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
WO2020244070A1 (zh) * | 2019-06-06 | 2020-12-10 | 平安科技(深圳)有限公司 | 数字信息加密方法、装置、计算机设备和存储介质 |
CN113364760A (zh) * | 2021-06-01 | 2021-09-07 | 平安科技(深圳)有限公司 | 一种数据加密处理方法、装置、计算机设备及存储介质 |
CN114117482A (zh) * | 2021-11-22 | 2022-03-01 | 闪捷信息科技有限公司 | 数据库的加密方法、装置、电子设备及存储介质 |
CN115242382A (zh) * | 2022-07-04 | 2022-10-25 | 观澜网络(杭州)有限公司 | 一种多租户模型的数据加解密方法、系统及存储介质 |
CN115712621A (zh) * | 2022-11-15 | 2023-02-24 | 康键信息技术(深圳)有限公司 | 向数据库写入数据的方法以及从数据库读取数据的方法 |
-
2023
- 2023-04-18 CN CN202310414407.8A patent/CN116451257B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281377A (zh) * | 2013-05-31 | 2013-09-04 | 北京鹏宇成软件技术有限公司 | 一种面向云的密文数据存储与查询方法 |
CN107800537A (zh) * | 2017-11-27 | 2018-03-13 | 安徽问天量子科技股份有限公司 | 基于量子密钥分配技术的加密数据库系统及方法、存储方法及查询方法 |
US20190207769A1 (en) * | 2018-01-03 | 2019-07-04 | JJD Software LLC | Database platform for maintaining secure data |
CN108243198A (zh) * | 2018-01-31 | 2018-07-03 | 北京深思数盾科技股份有限公司 | 一种数据分发、转发方法及装置 |
WO2020244070A1 (zh) * | 2019-06-06 | 2020-12-10 | 平安科技(深圳)有限公司 | 数字信息加密方法、装置、计算机设备和存储介质 |
CN111555872A (zh) * | 2020-04-30 | 2020-08-18 | 平安科技(深圳)有限公司 | 一种通信数据处理方法、装置、计算机系统及存储介质 |
CN111835774A (zh) * | 2020-07-15 | 2020-10-27 | 中国建设银行股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN113364760A (zh) * | 2021-06-01 | 2021-09-07 | 平安科技(深圳)有限公司 | 一种数据加密处理方法、装置、计算机设备及存储介质 |
CN114117482A (zh) * | 2021-11-22 | 2022-03-01 | 闪捷信息科技有限公司 | 数据库的加密方法、装置、电子设备及存储介质 |
CN115242382A (zh) * | 2022-07-04 | 2022-10-25 | 观澜网络(杭州)有限公司 | 一种多租户模型的数据加解密方法、系统及存储介质 |
CN115712621A (zh) * | 2022-11-15 | 2023-02-24 | 康键信息技术(深圳)有限公司 | 向数据库写入数据的方法以及从数据库读取数据的方法 |
Non-Patent Citations (1)
Title |
---|
朱勤;骆轶姝;乐嘉锦;: "数据库加密与密文数据查询技术综述", 东华大学学报(自然科学版), no. 04 * |
Also Published As
Publication number | Publication date |
---|---|
CN116451257B (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110380B2 (en) | Secure dynamic on chip key programming | |
US9501646B2 (en) | Program verification apparatus, program verification method, and computer readable medium | |
CN102365839B (zh) | 密钥安装系统 | |
CN110929291A (zh) | 一种存取文本文件的方法、装置和计算机可读存储介质 | |
CN105975867A (zh) | 一种数据处理方法 | |
US11516024B2 (en) | Semiconductor device, update data-providing method, update data-receiving method, and program | |
CN111404892B (zh) | 数据监管方法、装置和服务器 | |
CN112733180A (zh) | 数据查询方法、装置和电子设备 | |
CN116522358A (zh) | 数据加密方法、装置、计算设备及存储介质 | |
CN109299944B (zh) | 一种交易过程中的数据加密方法、系统及终端 | |
CN111628863A (zh) | 一种数据签名的方法、装置、电子设备及存储介质 | |
CN112561015B (zh) | 一种条码编码、解码方法、装置、系统、设备和介质 | |
CN112039662B (zh) | 用于涉密单位Web应用网页中敏感数据的对称加密传输的方法 | |
CN107992760B (zh) | 秘钥写入方法、装置、设备及存储介质 | |
CN101369296A (zh) | 实现离线打印限制的方法和系统 | |
CN108563927A (zh) | 一种主机升级软件的打包加密方法 | |
CN116451257B (zh) | 一种数据库数据的加密方法、系统、电子设备 | |
CN113542187A (zh) | 文件上传下载方法、装置、计算机装置及介质 | |
CN109189450A (zh) | 一种服务器固件升级的方法及装置 | |
CN110516457B (zh) | 一种数据存储方法及读取方法、存储设备 | |
CN109889372B (zh) | 获取配置信息的方法、装置、设备及存储介质 | |
CN114257398A (zh) | 一种基于国密算法的数据处理方法、系统、设备及介质 | |
CN114928551B (zh) | 一种系统配置方法、装置和存储介质 | |
CN114553510B (zh) | 一种业务密钥分发系统、方法及可读存储介质 | |
CN110287718B (zh) | 一种基于u锁绑定的加密数据处理方法及装置 |
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 |