CN106022154A - 数据库加密方法和数据库服务器 - Google Patents

数据库加密方法和数据库服务器 Download PDF

Info

Publication number
CN106022154A
CN106022154A CN201510347270.4A CN201510347270A CN106022154A CN 106022154 A CN106022154 A CN 106022154A CN 201510347270 A CN201510347270 A CN 201510347270A CN 106022154 A CN106022154 A CN 106022154A
Authority
CN
China
Prior art keywords
data value
encryption
cryptographic hash
storage media
data
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
CN201510347270.4A
Other languages
English (en)
Other versions
CN106022154B (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.)
Temetibello Co ltd
Original Assignee
Co Ltd Spy Steps Data
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 Co Ltd Spy Steps Data filed Critical Co Ltd Spy Steps Data
Publication of CN106022154A publication Critical patent/CN106022154A/zh
Application granted granted Critical
Publication of CN106022154B publication Critical patent/CN106022154B/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
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/602Providing cryptographic facilities or services
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

根据本发明的实施例,本发明提供数据库加密方法和数据库服务器,所述数据库加密方法用于对存储于存储器中的数据表所包含的数据值进行加密并存储于永久存储介质。所述数据库加密方法包括如下步骤:基于存储于存储器中的数据表所包含的数据值生成加密数据值的步骤;至少部分基于所述数据值和所述数据值的位置信息生成与所述加密数据值匹配的哈希值的步骤;以及决定将所述加密数据值和所述哈希值记录于永久存储介质(persistent storage)的步骤。

Description

数据库加密方法和数据库服务器
技术领域
本发明涉及数据库加密,尤其涉及对数据进行加密并存储,以从具有权限的内部管理人员的访问保护数据。
背景技术
随着计算机及互联网技术的发展,可有效存储大量数据并以所希望的检索条件便捷快速地进行查找的数据库越来越得到重视。现在的数据库***允许存储及检索很多的信息。这些信息中的部分信息可包括例如******等敏感信息。
尤其是,在金融行业、互联网门户站点中收集并管理个人信息的数据库中,为防止没有权限的用户判断或非法记录在计算机中处理的信息,或为保护具有合法权限的用户的信息处理服务不被计算机***拒绝,或为在保管大容量资料的数据库管理***中保证数据的完整性(integrity)、保密性、可用性,数据库的安全是不可或缺的。
近来,因数据库服务器管理员及开发人员暴露加密密钥导致的信息泄露成为非常严重的问题。即,随着信息集成度越来越高,存在于企业内的数据库中积累的信息的量也随之增加,因此若通信公司管理的顾客信息数据库中的顾客信息(身份证号、电话号码、账户信息等)通过非法途径泄露,则危害程度非常大。
这些信息的泄露虽然有因为企业外部的黑客通过黑客行为(hacking)对数据存储空间进行物理访问等造成的,但实际上大部分信息泄露是因为对数据库具有合法访问权限的内部人员(例如,数据库管理员(administrator))造成的,而这些因内部人员造成的信息泄露较之从外部发生的黑客行为更能导致严重而致命的危害。
管理上述数据库安全的现有技术是通过分配给各客户端的安全配置中所规定的访问控制方式来限制特定用户对特定信息的访问。这种技术可以限制客户端访问未被许可的信息。但是,这种现有技术不能限制具有合法访问权限的内部人员(例如,数据库管理员)或具有OS权限(OSprivilege)的人员的非法行为。
为解决上述问题,提出了在用户应用程序中对保密信息进行加密的方式,但是在这种情况下,涉及保密信息的所有用户应用程序都需要进行加密/解密,因此需要向所有这些用户应用程序提供加密/解密代码,所以非常不方便。
因此,为了在数据库***内通过有效的方式保护保密信息,并且为了在不变更用户应用程序的情况下限制内部人员的非法行为,在本领域存在对将数据进行加密并保存的技术的需求。
发明内容
鉴于上述问题,本发明的目的在于提供一种数据库加密方法和数据库服务器,通过对数据进行加密存储,从具有权限的内部管理人员、具有OS权限的人员或可物理访问数据库服务器的人员的访问保护数据。
本发明的目的在于利用哈希函数验证加密数据的完整性。
本发明的目的在于在试图对加密数据用具有相同形式的存在于其他位置的加密数据进行覆盖时,验证数据的完整性。
本发明的目的在于在加密数据更新之后,在试图用更新之前的加密值对其进行覆盖时,验证数据的完整性。
为达到上述目的,根据本发明的一实施例,提供数据库加密方法,用于对存储于存储器中的数据表所包含的数据值进行加密并存储于永久存储介质,所述数据库加密方法包括如下步骤:基于存储于存储器中的数据表所包含的数据值生成加密数据值的步骤;至少部分基于所述数据值和所述数据值的位置信息生成与所述加密数据值匹配的哈希值的步骤;以及决定将所述加密数据值和所述哈希值记录于永久存储介质(persistent storage)的步骤。
另外,根据本发明的另一实施例,提供数据库加密方法,用于对存储于存储器中的数据表所包含的数据值进行加密并存储于永久存储介质,所述数据库加密方法包括如下步骤:基于存储于存储器中的数据表所包含的数据值生成加密数据值的步骤;至少部分基于所述数据值和在永久存储介质上存储所述数据值的存储位置信息生成与所述加密数据值匹配的哈希值的步骤;以及决定将所述加密数据值和所述哈希值记录于永久存储介质的步骤。
另外,根据本发明的一实施例,提供数据库加密方法,包括如下步骤:当被加密的数据值有更新时,基于更新数据值生成第二加密数据值的步骤;决定将所述第二加密数据值存储于与加密数据值的位置不同的第二位置的步骤;至少部分基于所述更新数据值和所述第二位置的位置信息生成与所述第二加密数据值匹配的哈希值的步骤;以及决定将所述第二加密数据值和所述哈希值记录于永久存储介质的步骤。
另外,根据本发明的另一实施例,提供数据库加密方法,包括如下步骤:当被加密的数据值有更新时,基于更新数据值生成第二加密数据值的步骤;决定将所述第二加密数据值存储于永久存储介质上的与加密数据值在所述永久存储介质上的位置不同的第二位置的步骤;至少部分基于所述更新数据值和所述第二位置的位置信息生成与所述第二加密数据值匹配的哈希值的步骤;以及决定将所述第二加密数据值和所述哈希值记录于所述永久存储介质的步骤。
另外,根据本发明的一实施例,提供数据库加密方法,用于验证存储于永久存储介质中的加密数据的完整性,其包括如下步骤:基于存储于所述永久存储介质中的加密数据值生成解密数据值的步骤;至少部分基于所述解密数据值和所述解密数据值在数据表内的位置信息生成与所述解密数据值匹配的哈希值的步骤;以及通过比较所生成的所述哈希值和存储于所述永久存储介质中的哈希值验证所述解密数据的完整性的步骤。
另外,根据本发明的另一实施例,提供数据库加密方法,用于验证存储于永久存储介质中的加密数据的完整性,其包括如下步骤:基于存储于所述永久存储介质中的加密数据值生成解密数据值的步骤;至少部分基于所述解密数据值和所述加密数据值在所述永久存储介质中的存储位置信息生成与所述解密数据值匹配的哈希值的步骤;以及通过比较所生成的所述哈希值和存储于所述永久存储介质中的哈希值验证所述解密数据的完整性的步骤。
根据本发明的一实施例,提供数据库服务器,所述数据库服务器通过对数据值进行加密存储从具有权限的内部管理员的访问保护数据。所述数据库服务器包括:存储器,存储包含数据值的数据表;加密模块,基于所述数据值生成加密数据值;哈希模块,至少部分基于所述数据值和所述数据值的位置信息生成与所述加密数据值匹配的哈希值;以及永久存储介质,记录所述加密数据值和所述哈希值。
另外,根据本发明的另一实施例,提供数据库服务器,所述数据库服务器通过对数据值进行加密存储从具有权限的内部管理员的访问保护数据。所述数据库服务器包括:存储器,存储包含数据值的数据表;加密模块,基于所述数据值生成加密数据值;哈希模块,至少部分基于所述数据值和在永久存储介质上存储所述数据值的存储位置信息生成与所述加密数据值匹配的哈希值;以及所述永久存储介质,记录所述加密数据值和所述哈希值。
另外,根据本发明的一实施例,提供数据库服务器,所述数据库服务器从对加密存储数据值具有权限的内部管理员的攻击保护数据。所述数据库服务器包括:加密模块,当被加密的数据值有更新时,基于更新数据值生成第二加密数据值;存储模块,决定将所述第二加密数据值存储于与加密数据值的位置不同的第二位置;哈希模块,至少部分基于所述更新数据值和所述第二位置的位置信息生成与所述第二加密数据值匹配的哈希值;以及永久存储介质,记录所述第二加密数据值和所述哈希值。
另外,根据本发明的另一实施例,提供数据库服务器,所述数据库服务器从对加密存储数据值具有权限的内部管理员的攻击保护数据。所述数据库服务器包括:加密模块,当被加密的数据值有更新时,基于更新数据值生成第二加密数据值;存储模块,决定将所述第二加密数据值存储于永久存储介质上的与加密数据值在所述永久存储介质上的位置不同的第二位置;哈希模块,至少部分基于所述更新数据值和所述第二位置的位置信息生成与所述第二加密数据值匹配的哈希值;以及所述永久存储介质,记录所述第二加密数据值和所述哈希值。
另外,根据本发明的一实施例,提供数据库服务器,所述数据库服务器用于验证存储于永久存储介质中的加密数据值的完整性。所述数据库服务器包括:永久存储介质,存储所述加密数据值和第一哈希值;解密模块,基于存储于所述永久存储介质的加密数据值生成解密数据值;哈希模块,至少部分基于所述解密数据值和所述解密数据值在数据表内的位置信息生成与所述解密数据值匹配的第二哈希值;以及完整性验证模块,通过比较所述第一哈希值和所述第二哈希值验证所述解密数据值的完整性。
另外,根据本发明的另一实施例,提供数据库服务器,所述数据库服务器用于验证存储于永久存储介质中的加密数据值的完整性。所述数据库服务器包括:永久存储介质,存储所述加密数据值和第一哈希值;解密模块,基于存储于所述永久存储介质的加密数据值生成解密数据值;哈希模块,至少部分基于所述解密数据值和所述加密数据值在所述永久存储介质中的存储位置信息生成与所述解密数据值匹配的第二哈希值;以及完整性验证模块,通过比较所述第一哈希值和所述第二哈希值验证所述解密数据值的完整性。
本发明通过对数据进行加密存储,能够从具有权限的内部管理人员、具有OS权限的人员或可物理访问数据库服务器的人员的访问保护数据。
本发明能够利用哈希函数验证加密数据的完整性。
本发明能够在试图对加密数据用具有相同形式的存在于其他位置的加密数据进行覆盖时,验证数据的完整性。
本发明能够在加密数据更新之后,在试图用更新之前的加密值对其进行覆盖时,验证数据的完整性。
附图说明
图1是本发明的一实施例的数据库***100的示意图。
图2是本发明的一实施例的数据库服务器的框图(block diagram)。
图3是本发明的一实施例的数据库加密方法顺序图。
图4是本发明的另一实施例的数据库加密方法顺序图。
图5是表示本发明的一实施例的被加密的数据值有更新时的数据库服务器的运行顺序图。
图6是表示本发明的另一实施例的被加密的数据值有更新时的数据库服务器的运行顺序图。
图7是本发明的一实施例的数据库解密方法顺序图。
图8是本发明的另一实施例的数据库解密方法顺序图。
附图标记说明
110 客户端
120 数据库服务器
130 DBMS(Database Management System)
135 存储器
140 永久存储介质(persistent storage)
210 收发模块
220 加密模块
230 哈希模块
240 存储模块
250 解密模块
260 完整性验证模块
270 数据表
具体实施方式
下面,结合附图对各种实施例进行说明,在所有附图中类似的附图标记表示类似的构成要素。在本说明书中,各种说明用于帮助理解本发明。但是,即使没有这些具体说明这些实施例也可以实施。在其他例中,为便于说明,已公开的结构及装置以框图的形式表示。
本说明书中使用的术语“元件”、“模块”、“***”等表示计算机相关实体、硬件、固件、软件、软件及硬件的组合或软件的执行。例如,元件可以是在处理器中执行的处理过程、进程、对象、执行线程、程序和/或计算机,但并不限于此。例如,计算装置和在计算装置上执行的应用程序都可以是元件。一个以上的元件可常驻于进程和/或执行线程内,一个元件可在一台计算机内本地化,或可在两台以上的计算机之间分配。另外,这些元件可从内部存储有各种数据结构的各种计算机可读介质执行。元件之间可根据例如具有一个以上的数据包的信号(例如,在本地***、分步式***中,从与其他元件交互的一个元件通过数据和/或信号并通过其他***和互联网等网络的数据)并通过本地和/或远程处理进行通信。
对所揭示的实施例进行的说明用于帮助本领域的普通技术人员利用或实施本发明。本领域的普通技术人员应当能够理解对所述实施例进行的多种变形,并且在不脱离本发明的范围内,在此定义的一般原理可应用于其他实施例。因此,本发明不限于在此所揭示的实施例,而应当在与所揭示的原理和新的技术特征一致的范围内对本发明进行解释。
本说明书中使用的术语“数据表”及“表”往往可互相交换使用。
图1是本发明的一实施例的数据库***100的示意图。
如图1所示,数据库服务器120可包括例如微处理器、大型计算机、数字信号处理器、便携式设备及设备控制器等任何类型的计算机***或计算机设备。
客户端110是指具有通过网络进行通信的机制的数据库***中的节点。例如,客户端110可包括PC、便携式电脑、工作站、终端和/或可通过网络进行访问的任何电子设备。
数据库服务器120可包括DBMS(Database Management System)130及永久存储介质(persistent storage)140。虽然未在图1中表示,但数据库服务器120可包括包含缓冲器高速缓冲存储器(buffer cache)在内的一个以上的存储器。另外,虽然未在图1中表示,但数据库服务器120可包括一个以上的处理器。因此,DBMS130可在上述存储器上通过上述处理器运行。
永久存储介质(persistent storage)140不仅指例如磁盘(magneticdisk)、光盘(optical disk)、光磁(magneto-optical)存储设备,还指基于闪存和/或电池备份存储器(battery backup memory)的存储设备等可持续存储数据的任何非挥发性(non-volatile)存储介质。上述永久存储介质140可通过各种通信方法与数据库服务器120的处理器及存储器进行通信。在追加的实施例中,上述永久存储介质140位于数据库服务器120外部并能够与数据库服务器120进行通信。
DBMS130是用于允许在数据库服务器120中对所需数据进行搜索、***、修改和/或删除等动作的程序,如上所述,可在数据库服务器120的存储器中通过处理器实现。
客户端110和数据库服务器120可通过网络互相通信。本发明的一实施例的网络可使用公共电话交换网(PSTN,Public Switiched TelephoneNetwork)、xDSL(x Digital Subscriber Line)、RADSL(Rate Adaptive DSL)、MDSL(Multi Rate DSL)、VDSL(Very High Speed DSL)、UADSL(Universal Asymmetric DSL)、HDSL(High Bit Rate DSL)及近距离通信网(LAN)等各种有线通信***。
另外,本说明书中公开的网络可使用CDMA(Code Division MultiAccess)、TDMA(Time Division Multi Access)、FDMA(Frequency DivisionMulti Access)、OFDMA(Orthogonal Frequency Division Multi Access)、SC-FDMA(Single Carrier-FDMA)及其他***等各种无线通信***。本说明书中说明的技术不仅适用于上述所提及的网路,还适用于其他网络。
图2是本发明的一实施例的数据库服务器的框图(block diagram)。
本发明的一实施例的数据库服务器120可包括永久存储介质(persistent storage)140、DBMS130及存储器135。如上所述,DBMS 130可通过数据库服务器120内的一个以上的存储器135及一个以上的处理器运行。
DBMS130可包括收发模块210、加密模块220、哈希模块230、存储模块240、解密模块250及完整性验证模块260。如图2所示的DBMS130内的各模块可互相进行通信。上述DBMS130的模块是示例性的,可根据不同的实现方法追加包括其他模块或省略上述模块中的一部分。
存储器135是处理器直接访问的如动态存储器(DRAM,dynamicrandom access memory)、静态存储器(SRAM,static random accessmemory)等随机存取存储器(RAM)的主要存储装置,当关闭电源时所存储的信息瞬间消失的挥发性(volatile)存储装置。上述存储器135可通过上述处理器运行。上述存储器135可临时存储包含数据值的数据表(data table)270。上述数据表270可包括数据值,在本发明的一实施例中,上述数据表270的数据值能以列(column)为单位被加密并被存储于永久存储介质140。上述存储器135包括缓冲器高速缓冲存储器,在上述缓冲器高速缓冲存储器的数据块中可存储数据。上述数据可通过后台进程记录于永久存储介质140中。
收发模块210可接收来自用户的数据存储、查询及数据加密请求等。另外,收发模块210还可传递针对数据存储及查询请求的结果信息。
加密模块220可在将数据记录(存储)于永久存储介质140之前对数据进行加密(encryption)。加密模块220可基于纯文本(plain text)生成加密数据(cipher text,encrypted text)。本说明书中的对数据的加密方式可包括列级加密及表空间级加密。列级加密是指对被指定的希望被加密的列的数据进行加密。表空间级加密以表空间为单位对数据进行加密,例如,对在OS***中生成的物理数据文件进行加密。根据本发明的一个方面,对于将要存储的数据可进行列级加密。
加密模块220可基于上述数据值生成加密数据值。加密模块220基于包含于加密密钥中的加密信息确定加密函数,并利用基于上述数据值进行计算的上述加密函数生成加密数据值。
上述加密密钥可至少包括与加密模式相关的信息、加密数据类型及数据长度信息等。上述加密模式可包括数据加密标准(DES,dataencryption standard)及三重数据加密标准(triple DES)、高级加密标准(AES,advanced encryption standard)、ARIA、SEED中的至少一种。上述加密密钥可用于加密及解密。加密函数可包括将纯文本(plain text)变更为加密文本(encrypted text)的加密算法。上述加密函数在进行加密及解密时参照上述加密密钥。上述加密密钥(encryption key)存储于上述数据库服务器120的内部或存储于上述数据库服务器120的外部,而且为进一步的安全,上述加密密钥可通过主密钥(master key)加密并存储。上述主密钥可存储于外部存储介质或上述数据库服务器120的内部。本发明的一个方面的加密(解密)技法可由各种加密算法、加密密钥和/或加密选项(初始化向量使用与否等)的组合构成。
另外,上述加密模块220在被加密的数据值有更新时,可基于更新数据值生成第二加密数据值。上述第二加密数据值可与现有加密数据值不同。
上述加密动作可对决定对数据表270的一个以上的列的数据值进行加密的上述一个以上的列进行加密。因此,上述加密动作不是针对数据表270的全部数据值进行,而是只针对需要加密的列的数据值(例如,******、年薪等)进行,从而可以更有效地实现数据库加密。
哈希模块230可生成用于验证解密文本(decrypted text)的完整性的哈希值。哈希模块230利用SHA(secure hash algorithm)系列、MD5等哈希算法生成哈希值。上述哈希算法只是示例,本发明的哈希模块230可利用任何哈希算法生成哈希值。
上述哈希模块230可至少部分基于数据表270的数据值及上述数据值的位置信息,生成与上述加密数据值匹配的哈希值。上述数据值的位置信息可包括行标识符(row ID)及列密钥(column key)中的至少一种。上述列密钥至少部分基于上述数据表的元信息,上述行标识符至少部分基于数据块上的将要记录上述数据值的位置。
具体而言,哈希模块230可至少部分基于上述数据表的元信息,获得上述列密钥。另外,加密数据可记录于存储器135的数据块中。在这种情况下,可生成行标识符。上述行标识符相对于上述数据块是固有的。另外,上述哈希模块230可至少部分基于上述数据块上的将要记录上述数据值的位置,获得上述行标识符。另外,上述哈希模块230可至少部分基于上述数据值、上述列密钥及上述行标识符,生成与上述加密数据值匹配的哈希值。
另外,上述哈希模块230可至少部分基于上述数据值及永久存储介质140上的将要存储上述数据值的存储位置信息,生成与上述加密数据值匹配的哈希值。上述永久存储介质140上的存储位置信息可包括行标识符及列密钥中的至少一种。
另外,上述哈希模块230在被加密的数据值有更新时,至少部分基于更新数据值及第二位置的位置信息,生成与上述第二加密数据值匹配的哈希值,所述第二位置是用于存储基于上述更新数据值生成的第二加密数据值的、与上述加密数据值的位置不同的位置。
另外,上述哈希模块230在被加密的数据值有更新时,至少部分基于更新数据值及第二位置的位置信息,生成与上述第二加密数据值匹配的哈希值,所述第二位置是永久存储介质140上的用于存储基于上述更新数据值生成的第二加密数据值的、与上述加密数据值在上述永久存储介质140上的位置不同的位置。
另外,上述哈希模块230在加密数据被解密时,可至少部分基于解密数据值及上述解密数据值在数据表270内的位置信息,生成与上述解密数据值匹配的哈希值。
另外,上述哈希模块230在加密数据被解密时,可至少部分基于解密数据值及上述解密数据值在上述永久存储介质140上的存储位置信息,生成与上述解密数据值匹配的哈希值。
哈希模块230至少部分基于数据值(纯文本)、被更新的数据值(纯文本)或解密数据值(解密文本)及上述各数据值在数据表270上的存储位置信息,生成与上述各数据值匹配的哈希值。另外,哈希模块230至少部分基于数据值(纯文本)、被更新的数据值(纯文本)或解密数据值(解密文本)及上述各数据值在永久存储介质140上的存储位置信息,生成与上述各数据值匹配的哈希值。
在不使用上述哈希值时,拥有合法访问权限的内部人员、拥有OS权限的人员或可物理访问数据库服务器120的人员可获得加密数据值并将上述加密数据值存储于永久存储介质140上的与原来的位置不同的位置。此时,上述加密数据值的解密文本输出有效的数据值,因此完整性验证模块260无法检测上述数据的变化。通过使哈希值与上述加密数据值匹配,当数据变化时,存储的哈希值和基于解密数据值的哈希值不同,因此上述完整性验证模块260可检测出数据的变化。但是,当哈希值单纯地基于数据的纯文本时,当拥有合法访问权限的内部人员、拥有OS权限的人员或可物理访问数据库服务器120的人员获得加密数据值及与之匹配的哈希值,进行存储于其他存储位置的攻击时,因解密数据值有效、且基于解密数据值的哈希值与存储的哈希值相同,因此无法检测出数据是否变化。但是,根据本发明的一实施例的上述哈希值至少部分基于数据值的纯文本及上述加密数据的存储位置。因此,针对如上所述的变更数据的存储位置的攻击,由于基于解密数据值及解密数据值的存储位置的哈希值与存储的哈希值不同,因此完整性验证模块260可检测出有效的加密数据值的位置变更。
存储模块240可决定加密数据值或哈希值的存储位置。存储模块240可决定加密数据值在数据表270上的存储位置。另外,上述存储模块240可决定加密数据值在永久存储介质140上的存储位置。另外,上述存储模块240可决定数据值、加密数据值及哈希值的存储。另外,上述存储模块240可决定加密数据值及哈希值在存储器135的数据块上的存储位置。如果决定了上述数据块上的存储位置,则决定了行标识符。
在本发明的一实施例中,将数据(例如,加密数据)记录于永久存储介质140的动作可通过DBMS130的后台进程(例如,Database bufferwriter、Data block writer、checkpoint process和/或log writer等)实现。在这种情况下,如果将加密模块220加密的数据存储于存储器(例如,缓冲器高速缓冲存储器)(foreground process),则后台进程在预定的时刻将加密数据记录于永久存储介质140。在本说明书中,为便于说明,对存储模块240包括决定数据存储的动作和后台进程的动作的情况进行说明。
上述存储模块240在被加密的数据值有更新时,可决定将基于更新数据值生成的第二加密数据值存储于与上述加密数据值的位置不同的第二位置。因此,上述第二加密数据值的行标识符可改变。
另外,上述存储模块240在被加密的数据值有更新时,可决定将基于更新数据值生成的第二加密数据值存储于上述永久存储介质140上的与上述加密数据值在上述永久存储介质140上的位置不同的第二位置。因此,上述第二加密数据值的行标识符可改变。
当数据值有更新时,存储模块240可将更新的数据存储(或记录)在与更新之前存储的位置不同的位置。
在被加密的数据值有更新时,上述存储模块240将基于更新的值生成的第二加密数据值存储于永久存储介质140上的与现有的加密数据值的存储位置不同的位置,因此与上述第二加密数据值匹配的哈希值可与现有的哈希值不同。因此,拥有合法访问权限的内部人员、拥有OS权限的人员或可物理访问上述数据库服务器120或永久存储介质140的人员,获得更新前的加密数据值及哈希值并将其存储于更新数据值的存储位置时,完整性验证模块260也能检测出数据值是否变化。因此,随着被加密的数据的更新,安全水平可进一步提高。在现有的数据库服务器中,在数据值被更新时,永久存储介质上的存储位置不会改变。但是,在本发明的一实施例的数据库服务器120中,每当更新数据值时都改变永久存储介质140上的存储位置,从而达到更高的安全水平。
存储模块240可决定将加密数据值及上述哈希值存储于永久存储介质140上的数据块中。另外,上述存储模块240可将存储器135的数据块的数据记录于上述永久存储介质140。基于上述加密数据值及上述哈希值,可在上述永久存储介质140的块上生成检验和(check sum)。上述加密数据值或上述哈希值发生变化时,上述校验和的值发生变化,因此上述校验和可用于检测上述加密数据值或上述哈希值的变化。
解密模块250可基于加密数据值生成解密数据值。此时,上述解密模块250可使用与加密模块220生成加密文本时使用的加密密钥相同的对称密钥。上述解密模块250可基于存储在永久存储介质140上的加密数据值生成解密数据值。
完整性验证模块260通过对存储于永久存储介质140的与加密数据值匹配的第一哈希值及与解密数据值匹配的第二哈希值进行比较,验证解密数据值的完整性。
在本发明的一实施例中,存储模块240在对数据值进行加密并存储时,将上述加密数据值和基于上述数据值及上述数据值的存储位置的第一哈希值匹配存储。另外,在本发明的一实施例中,在对加密数据进行解密时,对上述加密数据值进行解密的解密数据值和第二哈希值匹配,所述第二哈希值基于上述解密数据值及上述解密数据值的存储位置。当上述第一哈希值及第二哈希值相同时,判定上述数据值及上述解密数据值相同,从而判断上述解密数据值的完整性。上述各哈希值至少部分基于上述数据值的存储位置,因此针对内部人员改变加密数据值的存储位置的攻击,可用于验证数据的完整性。
图3是本发明的一实施例的数据库加密方法顺序图。
在本发明的一实施例中,上述方法例如可通过数据库服务器120的各模块执行。另外,如图3所示的顺序图的各步骤不是必须的,可根据需要省略或添加部分步骤。
数据库服务器120可决定对存储于存储器135的数据表270的一个以上的列的数据值进行加密(310)。根据本发明的一个方面,对将要保存的数据执行列级加密。因此,数据库服务器120不对整个数据表270进行加密,所以不受性能的制约,可节省资源且有效地对数据进行加密并存储。在如图2所示的数据表270的示例中,可以只对包括相当于年薪的数据值的“年薪”列执行列级加密。
加密模块220可基于存储于存储器135的数据表270中包括的数据值生成加密数据值(320)。而如上所述,上述加密数据值可通过任何加密算法生成。
哈希模块230可至少部分基于上述数据值及上述数据值的位置信息,生成与上述加密数据值匹配的哈希值(330)。而上述数据值的位置信息可包括行标识符(row ID)及列密钥(column key)中的至少一种。上述列密钥可至少部分基于上述数据表270的元信息。可以按上述数据表270的列存在上述列密钥,而且可以按不同的列有不同的上述列密钥。上述行标识符至少部分基于数据块上的将要记录上述数据值的位置。加密数据值可记录于存储器135的数据块中。在这种情况下,可生成行标识符。上述哈希模块230可获得上述行标识符。上述行标识符相对于上述数据块是固有的。根据存储器135的数据块上的位置,可决定在永久存储介质140上的物理存储位置,而上述行标识符相对于永久存储介质140是固有的。具体而言,哈希模块230至少部分基于上述数据表的元信息,获得上述列密钥。另外,上述哈希模块230至少部分基于上述数据块上的将要记录上述数据值的位置,获得上述行标识符。另外,上述哈希模块230可至少部分基于上述数据值、上述列密钥及上述行标识符,生成与上述加密数据值匹配的哈希值。
存储模块240可决定将上述加密数据值及上述哈希值记录于永久存储介质140(340)。根据本发明的另一方面,当存储模块240将加密数据值及哈希值存储于存储器时,后台进程以预定的时间单位将存储于存储器上的数据值及哈希值记录于永久存储介质140。另外,上述存储模块240可决定上述加密数据值及上述哈希值在永久存储介质140上的存储位置。
另外,加密模块220在被加密的数据值有更新时,可基于更新数据值生成第二加密数据值(350)。
存储模块240可决定将上述第二加密数据值存储于与上述加密数据值的位置不同的第二位置(360)。因此,第二加密数据值可存储于与上述加密数据值的存储位置不同的位置。因此,上述第二加密数据值的行标识符可改变。
哈希模块230至少部分基于更新数据值及上述第二位置的位置信息生成与上述第二加密数据值匹配的第二哈希值(370)。由于第二加密数据值的行标识符改变,所以第二哈希值可与上述第一哈希值不同。
存储模块240可决定将上述第二加密数据值及上述第二哈希值记录于上述永久存储介质140上(380)。
图4是本发明的另一实施例的数据库加密方法顺序图。
在本发明的一实施例中,上述方法例如可通过数据库服务器120的各模块执行。另外,如图4所示的顺序图的各步骤不是必须的,可根据需要省略或添加部分步骤。
如图4所示的410至420步骤及450步骤与如图3所示的310至320步骤及350步骤相同,因此对此的说明与上述内容一致。
哈希模块230可至少部分基于上述数据值及永久存储介质140上的将要存储上述数据值的存储位置信息,生成与上述加密数据值匹配的哈希值(430)。在上述永久存储介质140上的存储位置信息可包括行标识符及列密钥中的至少一种。
存储模块240可决定将上述加密数据值及上述哈希值记录于永久存储介质140上(440)。上述存储模块240可决定上述加密数据值及上述哈希值在永久存储介质140上的存储位置。
存储模块240可决定将对更新数据值进行加密而成的第二加密数据值存储于上述永久存储介质140上的与上述加密数据值在上述永久存储介质140上的位置不同的第二位置(460)。因此,第二加密数据值的行标识符可改变。
哈希模块230至少部分基于更新数据值及上述第二位置的位置信息,生成与上述第二加密数据值匹配的第二哈希值(470)。由于第二加密数据值的行标识符可改变,所以第二哈希值可与上述第一哈希值不同。
存储模块240可决定将上述第二加密数据值及上述第二哈希值记录于上述永久存储介质140上(480)。
图5是表示本发明的一实施例的被加密的数据值有更新时的数据库服务器的运行顺序图。
在本发明的一实施例中,上述方法例如可通过数据库服务器120的各模块执行。另外,如图5所示的顺序图的各步骤不是必须的,可根据需要省略或添加部分步骤。
加密模块220在被加密的数据值有更新时,可基于更新数据值生成第二加密数据值(510)。
存储模块240可决定将上述第二加密数据值存储于与上述加密数据值的位置不同的第二位置(530)。因此,第二加密数据值可存储于与上述加密数据值的存储位置不同的位置。因此,上述第二加密数据值的行标识符可改变。
哈希模块230至少部分基于上述更新数据值及上述第二位置的位置信息,生成与上述第二加密数据值匹配的哈希值(550)。由于第二加密数据值的行标识符可改变,所以第二哈希值可与上述第一哈希值不同。
存储模块240可记录上述第二加密数据值及上述哈希值。
图6是表示本发明的另一实施例的被加密的数据值有更新时的数据库服务器的运行顺序图。
在本发明的一实施例中,上述方法例如可通过数据库服务器120的各模块执行。另外,如图6所示的顺序图的各步骤不是必须的,可根据需要省略或添加部分步骤。
如图6所示的610步骤与如图5所示的510步骤相同,因此对此的说明与上述内容一致。
存储模块240可决定将对更新数据值进行加密而成的第二加密数据值存储于上述永久存储介质140上的与上述加密数据值在上述永久存储介质140上的位置不同的第二位置(630)。因此,第二加密数据值的行标识符可改变。
哈希模块230至少部分基于更新数据值及上述第二位置的位置信息,生成与上述第二加密数据值匹配的第二哈希值(650)。由于第二加密数据值的行标识符可改变,所以第二哈希值可与上述第一哈希值不同。
存储模块240可决定将上述第二加密数据值及上述第二哈希值记录于上述永久存储介质140上(670)。
图7是本发明的一实施例的数据库解密方法顺序图。
在本发明的一实施例中,上述方法例如可通过数据库服务器120的各模块执行。另外,如图7所示的顺序图的各步骤不是必须的,可根据需要省略或添加部分步骤。
解密模块250可基于存储在上述永久存储介质140上的加密数据值生成解密数据值(710)。
哈希模块230可至少部分基于上述解密数据值及上述解密数据值在数据表270内的位置信息,生成与上述解密数据值匹配的哈希值(730)。
完整性验证模块260可通过对所生成的上述哈希值及存储于上述永久存储介质140上的哈希值进行比较,验证上述解密数据的完整性(750)。存储于上述永久存储介质140上的哈希值可以是至少部分基于被解密的数据值被加密之前的纯文本及上述纯文本在数据表270内的位置信息生成的哈希值。当解密数据值与被加密的数据值的纯文本相同、且上述解密数据值在数据表270内的位置与上述纯文本在数据表270内的位置相同时,所存储的哈希值和至少部分基于解密数据值及上述解密数据值在数据表270内的位置信息生成的哈希值有可能相同。此时,完整性验证模块260可判断上述数据的完整性。
图8是本发明的一实施例的数据库解密方法顺序图。
在本发明的一实施例中,上述方法例如可通过数据库服务器120的各模块执行。另外,如图8所示的顺序图的各步骤不是必须的,可根据需要省略或添加部分步骤。
如图8所示的810步骤与如图7所示的710步骤相同,因此对此的说明与上述内容一致。
哈希模块230可至少部分基于上述解密数据值及上述加密数据值在上述永久存储介质140上的存储位置信息,生成与上述解密数据值匹配的哈希值(830)。
完整性验证模块260可通过对所生成的上述哈希值及存储于上述永久存储介质140上的哈希值进行比较,验证上述解密数据的完整性(850)。存储于上述永久存储介质140上的哈希值可以是至少部分基于被解密的数据值被加密之前的纯文本及上述纯文本在永久存储介质140上的位置信息生成的哈希值。当解密数据值与被加密的数据值的纯文本相同、且上述解密数据值在被解密前在永久存储介质140上的存储位置及上述纯文本的加密数据值在永久存储介质140上的存储位置相同时,所存储的哈希值和至少部分基于上述解密数据值及上述加密数据值在永久存储介质140上的存储位置信息生成的哈希值有可能相同。此时,完整性验证模块260可判断上述数据的完整性。
本领域普通技术人员应当理解与在此公开的实施例相关的各种示例性逻辑块、模块、进程、方法、电路及算法步骤可通过电子硬件(为方便起见,在此称为“软件”)且可通过各种形式的程序和设计编码或它们的组合实现。为明确说明硬件及软件的上述相互兼容性,关于与各种示例性的元件、块、模块、电路及步骤及与其相关的功能已在上面进行了说明。上述功能是否通过硬件或软件实现取决于对特定应用及整体***的设计限制。本领域普通技术人员可通过各种方式实现对应用所说明的功能,但上述实现决定不应理解为超出本发明的范围。
在此公开的各种实施例可通过使用了方法、装置或标准程序和/或工程技术的制造物品(article)实现。术语“制造物品”包括可以从任何计算机可读装置访问的计算机程序、载体或介质(media)。例如,计算机可读介质包括磁存储装置(例如,硬盘、软盘、磁带等)、光盘(例如,CD、DVD等)、智能卡及闪存装置(例如,EEPROM、卡、棒、键驱动等),但并不限于此。另外,在此公开的各种存储介质可包括用于存储信息的一个以上的装置和/或其他机器可读介质。术语“机器可读介质”包括可存储、保留和/或传递命令和/或数据的无线通道及各种其他介质,但并不限于此。
包含在所公开的进程中的步骤的特定顺序或分级结构应当理解为示例性接近的一例。应当理解为可基于设计优先顺序在本发明的范围内重新排列进程中的步骤的特定顺序或分级结构。所附的方法权利要求按样品顺序提供各种步骤的因素,但不限于所公开的特定顺序或分级结构。
对所揭示的实施例进行的说明用于帮助本领域的普通技术人员利用或实施本发明。本领域的普通技术人员应当能够理解对所述实施例进行的多种变形,并且在不脱离本发明的范围内,在此定义的一般原理可应用于其他实施例。因此,本发明不限于在此所揭示的实施例,而应当在与所揭示的原理和新的技术特征一致的范围内对本发明进行解释。

Claims (21)

1.一种数据库加密方法,用于对存储于存储器中的数据表所包含的数据值进行加密并存储于永久存储介质,
所述数据库加密方法的特征在于包括如下步骤:
基于存储于存储器中的数据表所包含的数据值生成加密数据值的步骤;
至少部分基于所述数据值和所述数据值的位置信息生成与所述加密数据值匹配的哈希值的步骤;以及
决定将所述加密数据值和所述哈希值记录于永久存储介质的步骤。
2.根据权利要求1所述的数据库加密方法,其特征在于,所述数据值的位置信息包括行标识符和列密钥中的至少一种。
3.根据权利要求2所述的数据库加密方法,其特征在于,
所述列密钥至少部分基于所述数据表的元信息,
所述行标识符至少部分基于在数据块上记录所述数据值的位置。
4.根据权利要求2所述的数据库加密方法,其特征在于,
生成所述哈希值的步骤包括如下步骤:
至少部分基于所述数据表的元信息获得所述列密钥的步骤;
至少部分基于在数据块上记录所述数据值的位置获得所述行标识符的步骤;以及
至少部分基于所述数据值、所述列密钥及所述行标识符生成与所述加密数据值匹配的哈希值的步骤。
5.根据权利要求1所述的数据库加密方法,其特征在于,
还包括决定对所述数据表的一个以上的列的数据值进行加密的步骤,
对决定加密的所述一个以上的列的数据值执行以上各步骤。
6.根据权利要求1所述的数据库加密方法,其特征在于,
当被加密的所述数据值有更新时,还包括如下步骤:
基于更新数据值生成第二加密数据值的步骤;
决定将所述第二加密数据值存储于与所述加密数据值的位置不同的第二位置的步骤;
至少部分基于所述更新数据值和所述第二位置的位置信息生成与所述第二加密数据值匹配的第二哈希值的步骤;以及
决定将所述第二加密数据值和所述第二哈希值记录于所述永久存储介质的步骤。
7.根据权利要求1所述的数据库加密方法,其特征在于,还包括基于所述加密数据值和所述哈希值在所述永久存储介质的块上生成校验和的步骤。
8.根据权利要求1所述的数据库加密方法,其特征在于,
生成所述加密数据值的步骤包括如下步骤:
基于加密密钥中包含的加密信息决定加密函数的步骤;以及
利用基于所述数据值进行计算的所述加密函数生成加密数据值的步骤。
9.根据权利要求8所述的数据库加密方法,其特征在于,
所述加密密钥至少包括与加密模式相关的信息、加密数据类型及数据长度信息,
所述加密模式至少包括数据加密标准、三重数据加密标准、高级加密标准中的一种。
10.一种数据库加密方法,用于对存储于存储器中的数据表所包含的数据值进行加密并存储于永久存储介质,
所述数据库加密方法的特征在于包括如下步骤:
基于存储于存储器中的数据表所包含的数据值生成加密数据值的步骤;
至少部分基于所述数据值和在永久存储介质上存储所述数据值的存储位置信息生成与所述加密数据值匹配的哈希值的步骤;以及
决定将所述加密数据值和所述哈希值记录于永久存储介质的步骤。
11.根据权利要求10所述的数据库加密方法,其特征在于,
当被加密的所述数据值有更新时,还包括如下步骤:
基于更新数据值生成第二加密数据值的步骤;
决定将所述第二加密数据值存储于所述永久存储介质上的与所述加密数据值在所述永久存储介质上的位置不同的第二位置的步骤;
至少部分基于所述更新数据值和所述第二位置的位置信息生成与所述第二加密数据值匹配的第二哈希值的步骤;以及
决定将所述第二加密数据值和所述第二哈希值记录于所述永久存储介质的步骤。
12.一种数据库加密方法,其特征在于包括如下步骤:
当被加密的数据值有更新时,基于更新数据值生成第二加密数据值的步骤;
决定将所述第二加密数据值存储于与加密数据值的位置不同的第二位置的步骤;
至少部分基于所述更新数据值和所述第二位置的位置信息生成与所述第二加密数据值匹配的哈希值的步骤;以及
决定将所述第二加密数据值和所述哈希值记录于永久存储介质的步骤。
13.一种数据库加密方法,其特征在于包括如下步骤:
当被加密的数据值有更新时,基于更新数据值生成第二加密数据值的步骤;
决定将所述第二加密数据值存储于永久存储介质上的与加密数据值在所述永久存储介质上的位置不同的第二位置的步骤;
至少部分基于所述更新数据值和所述第二位置的位置信息生成与所述第二加密数据值匹配的哈希值的步骤;以及
决定将所述第二加密数据值和所述哈希值记录于所述永久存储介质的步骤。
14.一种数据库加密方法,用于验证存储于永久存储介质中的加密数据的完整性,其特征在于包括如下步骤:
基于存储于所述永久存储介质中的加密数据值生成解密数据值的步骤;
至少部分基于所述解密数据值和所述解密数据值在数据表内的位置信息生成与所述解密数据值匹配的哈希值的步骤;以及
通过比较所生成的所述哈希值和存储于所述永久存储介质中的哈希值验证所述解密数据的完整性的步骤。
15.一种数据库加密方法,用于验证存储于永久存储介质中的加密数据的完整性,其特征在于包括如下步骤:
基于存储于所述永久存储介质中的加密数据值生成解密数据值的步骤;
至少部分基于所述解密数据值和所述加密数据值在所述永久存储介质中的存储位置信息生成与所述解密数据值匹配的哈希值的步骤;以及
通过比较所生成的所述哈希值和存储于所述永久存储介质中的哈希值验证所述解密数据的完整性的步骤。
16.一种数据库服务器,所述数据库服务器用于提供数据安全,其特征在于包括:
存储器,存储包含数据值的数据表;
加密模块,基于所述数据值生成加密数据值;
哈希模块,至少部分基于所述数据值和所述数据值的位置信息生成与所述加密数据值匹配的哈希值;以及
永久存储介质,记录所述加密数据值和所述哈希值。
17.一种数据库服务器,所述数据库服务器用于提供数据安全,其特征在于包括:
存储器,存储包含数据值的数据表;
加密模块,基于所述数据值生成加密数据值;
哈希模块,至少部分基于所述数据值和在永久存储介质上存储所述数据值的存储位置信息生成与所述加密数据值匹配的哈希值;以及
所述永久存储介质,记录所述加密数据值和所述哈希值。
18.一种数据库服务器,所述数据库服务器用于提供数据安全,其特征在于包括:
加密模块,当被加密的数据值有更新时,基于更新数据值生成第二加密数据值;
存储模块,决定将所述第二加密数据值存储于与加密数据值的位置不同的第二位置;
哈希模块,至少部分基于所述更新数据值和所述第二位置的位置信息生成与所述第二加密数据值匹配的哈希值;以及
永久存储介质,记录所述第二加密数据值和所述哈希值。
19.一种数据库服务器,所述数据库服务器用于提供数据安全,其特征在于包括:
加密模块,当被加密的数据值有更新时,基于更新数据值生成第二加密数据值;
存储模块,决定将所述第二加密数据值存储于永久存储介质上的与加密数据值在所述永久存储介质上的位置不同的第二位置;
哈希模块,至少部分基于所述更新数据值和所述第二位置的位置信息生成与所述第二加密数据值匹配的哈希值;以及
所述永久存储介质,记录所述第二加密数据值和所述哈希值。
20.一种数据库服务器,所述数据库服务器用于验证存储于永久存储介质中的加密数据值的完整性,其特征在于包括:
永久存储介质,存储所述加密数据值和第一哈希值;
解密模块,基于存储于所述永久存储介质的加密数据值生成解密数据值;
哈希模块,至少部分基于所述解密数据值和所述解密数据值在数据表内的位置信息生成与所述解密数据值匹配的第二哈希值;以及
完整性验证模块,通过比较所述第一哈希值和所述第二哈希值验证所述解密数据值的完整性。
21.一种数据库服务器,所述数据库服务器用于验证存储于永久存储介质中的加密数据值的完整性,其特征在于包括:
永久存储介质,存储所述加密数据值和第一哈希值;
解密模块,基于存储于所述永久存储介质的加密数据值生成解密数据值;
哈希模块,至少部分基于所述解密数据值和所述加密数据值在所述永久存储介质中的存储位置信息生成与所述解密数据值匹配的第二哈希值;以及
完整性验证模块,通过比较所述第一哈希值和所述第二哈希值验证所述解密数据值的完整性。
CN201510347270.4A 2015-03-24 2015-06-19 数据库加密方法和数据库服务器 Active CN106022154B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0040593 2015-03-24
KR1020150040593A KR101613146B1 (ko) 2015-03-24 2015-03-24 데이터베이스 암호화 방법

Publications (2)

Publication Number Publication Date
CN106022154A true CN106022154A (zh) 2016-10-12
CN106022154B CN106022154B (zh) 2019-06-21

Family

ID=55916914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510347270.4A Active CN106022154B (zh) 2015-03-24 2015-06-19 数据库加密方法和数据库服务器

Country Status (3)

Country Link
US (1) US9646176B2 (zh)
KR (1) KR101613146B1 (zh)
CN (1) CN106022154B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789950A (zh) * 2016-11-30 2017-05-31 广东欧珀移动通信有限公司 信息保护方法、装置及终端
CN108154038A (zh) * 2016-12-06 2018-06-12 北京京东尚科信息技术有限公司 数据处理方法及装置
CN109584388A (zh) * 2018-11-15 2019-04-05 安徽信果网络科技有限公司 一种基于微信小程序的自助停车费用缴纳***
CN110826079A (zh) * 2018-08-08 2020-02-21 松下电器(美国)知识产权公司 数据保护方法、认证服务器、数据保护***以及数据结构
US10783277B2 (en) 2019-05-31 2020-09-22 Alibaba Group Holding Limited Blockchain-type data storage
CN111859445A (zh) * 2020-06-14 2020-10-30 苏州浪潮智能科技有限公司 一种基于k-db数据库的数据安全实现方法及***
WO2020238248A1 (zh) * 2019-05-31 2020-12-03 创新先进技术有限公司 一种数据存储方法、装置及设备
CN113987577A (zh) * 2021-10-28 2022-01-28 浪潮卓数大数据产业发展有限公司 一种基于本地数据库的授权方法、设备、存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680653B1 (en) * 2016-10-13 2017-06-13 International Business Machines Corporation Cipher message with authentication instruction
KR102039340B1 (ko) * 2018-01-17 2019-11-01 주식회사 비젼코스모 데이터 백업용 스토리지에 대한 해킹을 차단할 수 있는 데이터 백업 관리 장치 및 그 동작 방법
EP3611647B1 (en) * 2018-08-15 2024-01-03 Ordnance Survey Limited Method for processing and verifying a document
DE102018123463A1 (de) * 2018-09-24 2020-03-26 Akarion GmbH Personendatenbank
US20200326892A1 (en) * 2019-04-10 2020-10-15 Microsoft Technology Licensing, Llc Methods for encrypting and updating virtual disks
KR102430085B1 (ko) * 2020-09-09 2022-08-05 주식회사 알파비트 암호화 기능을 수행하는 커널 모듈

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020082851A (ko) * 2000-02-18 2002-10-31 아바마르 테크놀로지스, 인크. 공유성 팩토링 시스템에 사용하기 위한 해시 파일 시스템및 방법
JP2004528615A (ja) * 2000-10-06 2004-09-16 オラクル コーポレーション 自動データベース暗号化の方法および装置
US20100250958A1 (en) * 2006-12-28 2010-09-30 Browning James L Encrypted data management in database management systems
CN102236766A (zh) * 2011-05-10 2011-11-09 桂林电子科技大学 安全的数据项级数据库加密***
KR20130039354A (ko) * 2011-10-10 2013-04-22 주식회사 알티베이스 Dbms 및 데이터베이스에서 암호화 방법
CN103605741A (zh) * 2013-11-19 2014-02-26 北京国双科技有限公司 对象加密存储方法、装置及***

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010044879A1 (en) 2000-02-18 2001-11-22 Moulton Gregory Hagan System and method for distributed management of data storage
US6826711B2 (en) 2000-02-18 2004-11-30 Avamar Technologies, Inc. System and method for data protection with multidimensional parity
US7062648B2 (en) 2000-02-18 2006-06-13 Avamar Technologies, Inc. System and method for redundant array network storage
US6704730B2 (en) 2000-02-18 2004-03-09 Avamar Technologies, Inc. Hash file system and method for use in a commonality factoring system
US7194504B2 (en) 2000-02-18 2007-03-20 Avamar Technologies, Inc. System and method for representing and maintaining redundant data sets utilizing DNA transmission and transcription techniques
US7509420B2 (en) 2000-02-18 2009-03-24 Emc Corporation System and method for intelligent, globally distributed network storage
US6810398B2 (en) 2000-11-06 2004-10-26 Avamar Technologies, Inc. System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences
KR100471380B1 (ko) 2002-12-23 2005-03-10 한국전자통신연구원 레이저 직접 묘화법을 이용한 광 도파로 제작방법 및 이를이용한 광 도파로
WO2005119960A2 (en) * 2004-06-01 2005-12-15 Ben-Gurion University Of The Negev Research And Development Authority Structure preserving database encryption method and system
KR20060037196A (ko) 2004-10-27 2006-05-03 삼성전자주식회사 아이피 멀티미디어 서브시스템에서 네트워크의 보안처리방법
KR20060058546A (ko) 2004-11-25 2006-05-30 펜타시큐리티시스템 주식회사 데이터베이스 암호화 및 접근 제어 방법 및 장치
US9275512B2 (en) * 2006-11-10 2016-03-01 Bally Gaming, Inc. Secure communications in gaming system
US20100303229A1 (en) * 2009-05-27 2010-12-02 Unruh Gregory Modified counter mode encryption
US10579995B2 (en) * 2010-03-30 2020-03-03 Visa International Service Association Event access with data field encryption for validation and access control
KR101702562B1 (ko) 2010-06-18 2017-02-03 삼성전자 주식회사 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
JP5567967B2 (ja) * 2010-09-30 2014-08-06 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースにおけるキャッシュ制御方法、システム及びプログラム
KR101368024B1 (ko) 2012-03-29 2014-02-27 주식회사 엘지씨엔에스 스크립트 관리 방법, 이를 실행하는 스크립트 관리 서버 및 이를 저장한 기록 매체
US9355127B2 (en) * 2012-10-12 2016-05-31 International Business Machines Corporation Functionality of decomposition data skew in asymmetric massively parallel processing databases
EP2731040B1 (en) * 2012-11-08 2017-04-19 CompuGroup Medical SE Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
US20140297651A1 (en) * 2013-04-01 2014-10-02 Ori Software Development Ltd. Using hash table to retrieve leaf index blocks
KR101330071B1 (ko) 2013-07-01 2013-11-18 (주)아울시스템즈 데이터베이스의 숫자형 데이터의 보안 방법 및 장치
KR101341944B1 (ko) 2013-07-01 2013-12-17 (주)아울시스템즈 동일 평문 데이터를 다른 값의 암호문으로 암호화하는 데이터베이스 보안 방법 및 장치
US20150193816A1 (en) * 2014-01-06 2015-07-09 The Nielsen Company (Us), Llc Methods and apparatus to correct misattributions of media impressions
US9467427B2 (en) * 2014-09-26 2016-10-11 Nalpeiron Inc. Methods and systems for authorizing and deauthorizing a computer license
US20160189182A1 (en) * 2014-12-31 2016-06-30 The Nielsen Company (Us), Llc Methods and apparatus to correct age misattribution in media impressions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020082851A (ko) * 2000-02-18 2002-10-31 아바마르 테크놀로지스, 인크. 공유성 팩토링 시스템에 사용하기 위한 해시 파일 시스템및 방법
JP2004528615A (ja) * 2000-10-06 2004-09-16 オラクル コーポレーション 自動データベース暗号化の方法および装置
US20100250958A1 (en) * 2006-12-28 2010-09-30 Browning James L Encrypted data management in database management systems
CN102236766A (zh) * 2011-05-10 2011-11-09 桂林电子科技大学 安全的数据项级数据库加密***
KR20130039354A (ko) * 2011-10-10 2013-04-22 주식회사 알티베이스 Dbms 및 데이터베이스에서 암호화 방법
CN103605741A (zh) * 2013-11-19 2014-02-26 北京国双科技有限公司 对象加密存储方法、装置及***

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106789950A (zh) * 2016-11-30 2017-05-31 广东欧珀移动通信有限公司 信息保护方法、装置及终端
CN108154038A (zh) * 2016-12-06 2018-06-12 北京京东尚科信息技术有限公司 数据处理方法及装置
CN108154038B (zh) * 2016-12-06 2022-04-26 北京京东尚科信息技术有限公司 数据处理方法及装置
CN110826079A (zh) * 2018-08-08 2020-02-21 松下电器(美国)知识产权公司 数据保护方法、认证服务器、数据保护***以及数据结构
CN109584388A (zh) * 2018-11-15 2019-04-05 安徽信果网络科技有限公司 一种基于微信小程序的自助停车费用缴纳***
US10783277B2 (en) 2019-05-31 2020-09-22 Alibaba Group Holding Limited Blockchain-type data storage
WO2020238248A1 (zh) * 2019-05-31 2020-12-03 创新先进技术有限公司 一种数据存储方法、装置及设备
CN111859445A (zh) * 2020-06-14 2020-10-30 苏州浪潮智能科技有限公司 一种基于k-db数据库的数据安全实现方法及***
WO2021253850A1 (zh) * 2020-06-14 2021-12-23 苏州浪潮智能科技有限公司 一种基于k-db数据库的数据安全实现方法及***
CN111859445B (zh) * 2020-06-14 2022-08-02 苏州浪潮智能科技有限公司 一种基于k-db数据库的数据安全实现方法及***
CN113987577A (zh) * 2021-10-28 2022-01-28 浪潮卓数大数据产业发展有限公司 一种基于本地数据库的授权方法、设备、存储介质
CN113987577B (zh) * 2021-10-28 2024-05-31 浪潮卓数大数据产业发展有限公司 一种基于本地数据库的授权方法、设备、存储介质

Also Published As

Publication number Publication date
CN106022154B (zh) 2019-06-21
US20160283749A1 (en) 2016-09-29
KR101613146B1 (ko) 2016-04-18
US9646176B2 (en) 2017-05-09

Similar Documents

Publication Publication Date Title
CN106022154A (zh) 数据库加密方法和数据库服务器
US20200099674A1 (en) Key export techniques
US8938625B2 (en) Systems and methods for securing cryptographic data using timestamps
US9721071B2 (en) Binding of cryptographic content using unique device characteristics with server heuristics
CN102402664B (zh) 数据访问控制装置和数据访问控制方法
KR101563461B1 (ko) 데이터베이스 보안 관리를 위한 방법, 서버 및 컴퓨터-프로그램
US11936776B2 (en) Secure key exchange electronic transactions
US8806200B2 (en) Method and system for securing electronic data
US20130004142A1 (en) Systems and methods for device authentication including timestamp validation
CN101827101A (zh) 基于可信隔离运行环境的信息资产保护方法
US20140208409A1 (en) Access to data stored in a cloud
CN107908574A (zh) 固态盘数据存储的安全保护方法
CN105740725A (zh) 一种文件保护方法与***
US11861027B2 (en) Enhanced securing of data at rest
Virvilis et al. A cloud provider-agnostic secure storage protocol
US11853445B2 (en) Enhanced securing and secured processing of data at rest
CN103973698A (zh) 一种云存储环境中的用户访问权限回收方法
US11163893B2 (en) Methods and systems for a redundantly secure data store using independent networks
CN103577771A (zh) 一种基于磁盘加密的虚拟桌面数据防泄漏保护技术
JP2005309846A (ja) データベース保護システム
TWI444849B (zh) 透過伺服器驗證並授權解密以監控個資檔案之系統及方法
KR20160114492A (ko) 데이터베이스 보안 관리를 위한 방법, 서버 및 컴퓨터-프로그램
CN112784321B (zh) 磁盘资安***
US20240048532A1 (en) Data exchange protection and governance system
US20240205249A1 (en) Protection of cloud storage devices from anomalous encryption operations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221010

Address after: Gyeonggi Do, South Korea

Patentee after: Temetibello Co.,Ltd.

Address before: Gyeonggi Do, South Korea

Patentee before: TmaxData Co.,Ltd.

TR01 Transfer of patent right