CN106022155B - 用于数据库安全管理的方法及服务器 - Google Patents

用于数据库安全管理的方法及服务器 Download PDF

Info

Publication number
CN106022155B
CN106022155B CN201510387233.6A CN201510387233A CN106022155B CN 106022155 B CN106022155 B CN 106022155B CN 201510387233 A CN201510387233 A CN 201510387233A CN 106022155 B CN106022155 B CN 106022155B
Authority
CN
China
Prior art keywords
data
encryption
concordance list
decryption
index
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
CN201510387233.6A
Other languages
English (en)
Other versions
CN106022155A (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 CN106022155A publication Critical patent/CN106022155A/zh
Application granted granted Critical
Publication of CN106022155B publication Critical patent/CN106022155B/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/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/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/6236Protecting 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 between heterogeneous systems
    • 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/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

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

Abstract

根据本发明的一种实施方式,公开了一种数据库安全管理方法。所述方法可以包括:从永久存储介质或存储器读取按列(column)级加密的一个以上数据的步骤;解密所述按列级加密的一个以上数据,生成一个以上解密的数据的步骤;生成基于所述生成的一个以上解密的数据的索引表的步骤;及执行把所述生成的索引表按块(block)级加密的动作的步骤。

Description

用于数据库安全管理的方法及服务器
技术领域
本发明涉及数据库安全管理,更具体而言,涉及一种用于生成关于加密的数据库的索引的方法及服务器。
背景技术
随着计算机及互联网技术的发展,用于高效存储大量数据并按所需检索条件轻松、迅速查找的数据库的重要性正在增加。现在的数据库系统允许存储及检索大量的信息。这种信息中的一部分信息例如会包括诸如信用卡号等的敏感信息。
特别是在金融圈、互联网门户网站等,收集并管理个人信息的数据库的安全,是为了防止无权限的使用者判断或不当地记录计算机中处理的信息,而保护具有正当权限的使用者的信息处理服务不被计算机系统拒绝,以及为了在保管大容量资料的数据库管理系统中保障数据的完整性、机密性、可用性所必不可少的。
最近,由数据库服务器管理员及开发者泄露密钥导致的信息泄露正在成为严重的问题。即顺应信息集成度日益提高的趋势,企业内存在的数据库中积累的信息的量也在与之成比例地增加,因此,假设通信公司管理的客户信息数据库中所储存的客户信息(居民身份证号、电话号码、帐号等)通过不正当途径泄露时,其危害的波及效果将是巨大的。
这种数据的泄露虽然存在由企业外部的黑客进行的入侵(hacking)、对数据存储空间的物理访问等引起的情形,但实质上大部分信息泄露是由对数据库拥有正当访问权限的内部人员(例如,数据库管理员(administrator))而引起的,这种内部人员造成的信息泄露会导致比从外部发生的入侵事件更严重、更致命性的危害。
管理这种数据库安全的现有技术中,使用向各个客户端分配的安全文件中规定的访问控制方式,限制特定使用者对特定信息的访问。这种技术可以切断客户端访问未认可的信息。但是,这种以往的技术存在无法切断拥有正当访问权限的内部人员(例如,数据库管理员)或拥有OS权限(OS privilege)人员的不正当行为的缺点。
为了解决这种问题,提出了在使用者应用程序内对机密信息加密的方式,但就这种方式而言,处置机密信息的所有使用者应用程序均需要加密/解密,因而存在需要提供在这种所有使用者应用程序中的加密/解密代码的不便。
进一步而言,其它的现有技术提出了对数据库表单的列数据进行加密(列级加密)并存储于磁盘的技术。就这种现有技术而言,虽然在数据存储于磁盘时已加密,但在数据提取到存储器时会解密,因此从使用者立场来说,能够查看未加密的数据。但是,这种现有技术由于按列单位体现加密,因而在构建以列值为基准生成的索引方面有可能会发生问题。即由于索引是以列值为基准生成的,但如果这种列值自身被加密时,则会无法进行基于值范围的索引范围扫描(index range scan)。即在无法进行索引范围扫描的情况下,会发生对数据库的本质性能(即迅速、高效的检索)的严重影响。就这种技术而言,仅能够进行用于单纯查找一个值的固有检索(unique search),但在应用加盐(Salt)时,这也会变得不可能实现。
因此,该行业存在对以高效的方式保护数据库系统内的机密信息,并且即使不变更使用者应用程序也能够切断内部人员等的不正当行为的数据安全技术的需要。
【现有技术文献】
【专利文献】
韩国公开专利公报第10-2006-0058546号
美国授权专利公报US 7,111,005号
发明内容
本发明要解决的技术问题
本发明正是鉴于前述内容而研发的,本发明旨在提供一种用于以高效的方式保护数据库系统内的机密信息,并且保持数据库的本质性功能的技术。
另外,本发明旨在提供一种能够允许索引范围扫描的高效的数据库安全管理技术。
技术方案
本发明公开了一种用于实现如前所述的课题的数据库安全管理方法。上述方法可以包括:从永久存储介质或存储器读取按列(column)级加密的一个以上数据的步骤;解密上述按列级加密的一个以上数据,生成一个以上解密的数据的步骤;生成基于上述生成的一个以上解密的数据的索引表的步骤;及执行把上述生成的索引表按块(block)级加密的动作的步骤。
根据本发明的一实施例,公开一种用于数据库安全管理的数据库服务器。上述数据库服务器可以包括:至少一个处理器,其对按列级加密的一个以上数据进行解密,从而生成一个以上解密的数据,且上述至少一个处理器生成基于上述一个以上解密的数据的索引表,并执行将生成的索引表按块级加密的动作;及永久存储介质(persistent storage),其存储包括上述按列级加密的数据的数据表及上述按块级加密的索引表。
根据本发明的另一实施例,公开一种数据库安全管理方法。其中,上述方法可以包括:响应索引查询请求,从永久存储介质读取按块级加密的索引表的步骤;解密上述按块级加密的索引表,生成解密的索引表的步骤;基于上述解密的索引表,执行索引扫描的步骤;从永久存储介质读取与上述索引扫描结果对应的按列级加密的一个以上数据的步骤;及解密上述按列级加密的一个以上数据,生成一个以上解密的数据的步骤。
根据本发明的另一实施例,公开一种提供数据库安全管理的数据库服务器。上述数据库服务器可以包括:至少一个处理器,其响应索引查询请求,从永久存储介质读取按块级加密的索引表,且上述至少一个处理器解密上述按块级加密的索引表,生成解密的索引表,并以上述解密的索引表为基础执行索引扫描,并且从永久存储介质读取与上述索引扫描的结果对应的按列级加密的一个以上数据,并解密上述按列级加密的一个以上数据,生成一个以上解密的数据;及永久存储介质(persistent storage),其存储包括上述按列级加密的数据的数据表及上述按块级加密的索引表。
有益效果
根据本发明的一实施例,能够提供一种数据加密技术,用于以高效的方式保护数据库系统内的机密信息,并且即使不变更使用者应用程序,也能够切断内部人员的不正当行为。
另外,根据本发明的一实施例,提供一种能够允许索引范围扫描的、高效的数据库安全管理技术。
附图说明
以下,参照附图记载了多种实施方式,其中,类似的附图标记用于统一指称类似的构成要素。在以下的实施方式中,出于说明的目的而提出多个特定详细事项,用于帮助对一个以上的实施方式的总体理解。但是显而易见,即使没有这种特定详细事项,这些实施方式也是可以实施的。在其它示例中,公知的结构及装置为了方便记载于一个以上的实施方式而以框图形态图示。
图1示例性地图示根据本发明一实施例的数据库系统。
图2示例性地图示根据本发明一实施例的数据库服务器的组件。
图3图示关于根据本发明一实施例的数据存储及索引构建(build)进程(process)的示例性流程图。
图4图示关于根据本发明一实施例的索引扫描及查询进程(process)的示例性流程图。
图5图示关于根据本发明一实施例的数据查询进程(process)的示例性流程图。
图6示例性地图示了根据本发明一实施例的、数据及索引在永久存储介质中进行加密并存储的加密方式。
图7图示关于根据本发明一实施例的数据存储及索引构建(或更新)的示例性顺序图。
图8图示关于根据本发明一实施例的索引查询的示例性顺序图。
具体实施方式
以下,将参照附图,公开多种实施例及/或实施方式。在下述说明中,以说明为目的,为了帮助对一个以上实施例的的全面理解,公开了多个具体的详细事项。但是,本发明所属技术领域的技术人员可认识到,即使没有这些具体的详细事项,这些实施例也能够实施。以下的记载及附带的附图将详细记述一个以上实施方式的特定示例性实施方式。但是,这些实施方式仅是示例性的,可以利用多种实施方式的原理中的多种方法的一部分,且记述的说明意在全部包括这些实施例及其均等物。
另外,多种实施方式及特征将通过可以包括多个设备、组件及/或模块等的系统而公开。需要理解并认识的是,多种系统可以包括额外的装置、组件及/或模块等,且/或也可以不包括就附图而讨论的装置、组件、模块等的全部。
在本说明书中使用的“实施例”、“例”、“实施方式”、“示例”等也可以不解释为记述的任意实施方式或设计比其它实施方式或设计更良好或有优点。以下使用的术语“组件”、“模块”、“系统”、“界面”等,通常意味着计算机相关实体(computer-related entity),例如,可意味着硬件、硬件与软件的组合、软件。
而且,术语“或”并非为排他性的“或”,而是指内含性的“或”。即未另外特别限定或在文章中未明确表示的情况下,“X利用A或B”是指自然的内含性的置换之一。即当X利用A;或X利用B;或X全部利用A及B时,“X利用A或B”可适用于这些情形的某一种。另外,在本说明书中使用的术语“及/或”,应理解为指示和包括所列举的相关项目中一个以上项目的所有可能的组合。
另外,术语“包括”及/或“包括的”虽然意味着相应特征及/或构成要素存在,但应理解为并不排除一个以上的其它特征、构成要素及/或它们的组的存在或额外地配置。另外,在未特别限定或从文章中未明确指示为单数形态的情况下,在本说明书和权利要求书中的单数应理解为“一个或其以上”。
本说明书中的计算机可读介质可以包括存储程序及数据以便能够借助于计算机系统而读取的所有种类的存储介质。根据本发明的一种实施方式,这种介质可以包括ROM(只读存储器)、RAM(随机存取存储器)、CD(光盘)-ROM、DVD(数字视频光盘)-ROM、磁带、软盘、光数据存储装置等,另外,还包括以载波(例如,通过互联网的传送)的形态体现的介质。额外地,这种介质也可以分散于通过网络连接的系统,以分布方式存储计算机可读的代码及/或命令。
在说明用于本发明实施的具体内容之前,需要注意的是,对于与本发明的技术要旨没有直接关联的构成,在不混淆本发明的技术要旨的范围内将进行省略。另外,发明人为了以最佳方法说明自己的发明而可以定义适当的术语的概念,立足于这一原则,本说明书及权利要求书中使用的术语或词语应解释为符合本发明的技术思想的意义和概念。
图1示例性地图示根据本发明一实施例的数据库系统100。
如图1所示,数据库服务器120例如可以包括诸如微处理器、大型计算机、数字信号处理器、便携用设备及设备控制器等的任意类型的计算机系统或计算机设备。
客户端110(client)可以意味着具有用于通过网络进行通信的机制的数据库系统中的节点。例如,客户端110可以包括PC、便携式电脑、工作站、终端及/或具有网络连接性的任意电子设备。另外,客户端110也可以包括借助代理商(Agent)、API(ApplicationProgramming Interface,应用程序接口)及插件(Plug-in)中的至少一种而体现的任意的服务器。
数据库服务器120可以包括DBMS(Database Management System,数据库管理系统)130及永久存储介质(persistent storage)140。
在图1中虽然未图示,但数据库服务器120可以包括包含缓冲区高速缓存(buffercache)的一个以上的存储器。另外,虽然在图1中未图示,但数据库服务器120可以包括一个以上的处理器。因此,DBMS130可以在所述存储器上借助于所述处理器而运行。
其中,存储器作为(诸如动态随机存取存储器(DRAM,dynamic random accessmemory)、静态随机存取存储器(SRAM,static random access memory)等随机存取存储器(RAM))供处理器直接访问的主要存储装置,可以指当关闭电源时,存储的信息将瞬间消除的易失性(volatile)存储装置,但并非仅限于此。这种存储器可以借助处理器而运行。存储器可以临时存储包括数据值的数据表(data table)。所述数据表可以包括数据值,在本发明的一实施例中,所述数据表的数据值可以按列单位()加密并存储于永久存储介质。在额外的实施方式中,存储器可以包括缓冲区高速缓存,在所述缓冲区高速缓存的数据块中可以存储数据。所述数据可以借助于后台进程(background process)而记录于永久存储装置140。
永久存储介质(persi/*-/*-·36789*-ent storage)140是指能够持续存储任意数据的非易失性(non-volatile)存储介质,例如磁(magnetic)盘、光(optical)盘及磁光(magneto-optical)存储设备,或者如基于闪速存储器及/或电池备份存储器的存储设备。这种永久存储介质140可以通过多种的通信手段而与数据库服务器120的处理器及存储器实现通信。在额外的实施例中,这种永久存储介质140也可以位于数据库服务器120外部,且能够与数据库服务器120实现通信。
DBMS130作为用于允许在数据库服务器120中对所需数据执行诸如检索、插入、修改及/或删除等动作的程序,如前所述,可以在数据库服务器120的存储器中,借助于处理器而体现。
客户端110与数据库服务器120可以通过网络而相互进行通信。根据本发明一实施例的网络可以使用诸如公用交换电话网(PSTN:Public Switiched Telephone Network)、xDSL(x Digital Subscriber Line,数字用户线路)、RADSL(Rate Adaptive DSL,速率自适应数字用户线路)、MDSL(Multi Rate DSL,多速率数字用户线路)、VDSL(Very High SpeedDSL,甚高速数字用户线路)、UADSL(Universal Asymmetric DSL,通用不对称式数字用户线路)、HDSL(High Bit Rate DSL,高比特率数字用户线路)及局域网(LAN)等的多种有线通信系统。
另外,在本说明书中所提及的网络可以使用诸如CDMA(Code Division MultiAccess,码分多址接入)、TDMA(Time Division Multi Access,时分多址接入)、FDMA(Frequency Division Multi Access,频分多址接入)、OFDMA(Orthogonal FrequencyDivision Multi Access,正交频分多址接入)、SC-FDMA(Single Carrier-FDMA,单载波频分多址接入)及其它系统的多种无线通信系统。在本说明书中说明的技术不仅可在上面所提及的网络使用,还可以在其它网络中使用。
图2示例性地图示根据本发明一实施例的数据库服务器120的组件。
如图2所示,数据库服务器120可以包括永久存储介质(persistent storage)140及DBMS130。如前所述,DBMS130可以借助于数据库服务器120内的一个以上的存储器及一个以上的处理器而运行。
DBMS130可以包括发送接收模块210、索引管理模块220、数据管理模块230、加密模块240及解密模块250。图2中图示的DBMS130内的各个模块能够相互通信。这种DBMS130的模块仅为示例性的,根据需要可以包括额外的模块,或者也可以省略所述模块中的一部分。
发送接收模块210可以接收来自使用者的数据存储、查询及索引构建、查询请求等。另外,发送接收模块210也可以传递关于数据存储、查询及索引构建、查询请求的结果信息。
索引管理模块220可以处理及管理与索引构建、更新、存储及查询相关的请求。索引管理模块220可以包括构建模块260及扫描模块270。构建模块260可以执行与索引的构建及/或构建的索引的更新相关的动作。扫描模块270可以执行对解密的索引表的索引扫描。
数据管理模块230可以处理及管理与数据的存储及查询相关的请求。这种数据管理模块230可以包括存储模块280及查询模块290。存储模块280可以处理及管理与数据的存储(包括更新)相关的请求。
这种存储模块280可以判断将要存储数据的列是否为指定加密的列以及将要存储数据的列是否为设置索引的列等。进而,存储模块280可以决定存储数据及索引表等。另外,存储模块280可以决定加密的数据及/或加密的索引表的存储位置。例如,存储模块280可以针对加密的数据而决定在数据表上的存储位置。作为另一示例,存储模块280可以针对加密的数据而决定永久存储介质140上的存储位置。
查询模块290可以处理及管理与数据的查询(读取)相关的请求。查询模块290可以与扫描模块270实现通信,基于根据索引扫描而获得的列关键字(column key)及行定位符(rowid)来查询相应数据(多个)的值。
加密模块240在把数据记录(存储)于永久存储介质140之前,可以执行对数据的加密(encryption)。加密模块240可以以明文数据(plain text)为基础生成加密的数据(cipher text)。本说明书中的对数据的加密方式可以包括:列级加密及块级加密(例如,表空间(tablespace)级加密)。列级加密是指对指定为进行加密的列的数据进行加密。块级的加密是指按块单位()体现对数据的加密,例如,意味着在OS系统上生成的物理数据文件以块单位进行加密。在本发明的一种实施方式中,可以对于将要存储的数据执行列级加密,对于将要存储的索引执行块级加密。在本发明的额外的实施方式中,块级加密也可以是指按块单位或其以上(文件、段及表空间等)的单位实现加密。
在本发明的额外的实施例中,加密模块240可以将密码比较代码(例如,散列函数(Hash function))映射到加密的数据并存储于永久存储介质140。如上所述,在永久存储介质140中记录有密码比较代码及加密的数据,因此可通过密码比较代码验证解密模块250进行解密的数据的完整性。
在本发明的一实施方式中,把数据(例如,加密的数据)记录于永久存储介质140的动作,可以借助于DBMS130的后台进程(例如,数据库缓冲区写入进程(Database bufferwriter process)、数据块写入进程(Data block writer process)、检查点进程(Checkpoint process)、及/或日志写入进程(Log writer process)等)而实现。此时,如果加密模块240把加密的数据存储(foreground process)于存储器(例如,缓冲区高速缓存),则在事先设定的时间点,后台进程可以把加密的数据记录于永久存储介质140。另外,将生成的索引表以块级进行加密的动作,也可以在后台进程要把存储器内的块记录于所述永久存储介质时执行。
在本发明的一实施方式中,加密模块240可以全面地覆盖DBMS120的前端(frontend)层级()及后端(backend)层级()而配置。另外,在本发明的额外的实施方式中,解密模块250可以位于DBMS120的后端层级。
解密(decryption)模块250可以对加密的数据进行解密,生成与明文数据对应的解密的数据(decipher text)。额外地,解密模块250也可以判断解密的数据是否与明文数据相同(即验证完整性)。
解密模块250在永久存储介质140中加密并记录的数据载入存储器时,可以执行对载入的数据的解密。解密模块250可以与加密模块240的加密方式对应的方式,对相应数据进行解密。另外,解密模块250在加密并记录的数据常驻于存储器的情况下,也可以执行对相应数据的解密。
在本说明书中的列级加密以列单位生成第1密钥,所述块级加密以块单位或其以上(文件、段及表空间等)的单位生成第2密钥,而且,所述第1密钥及所述第2密钥可以具有不同的值。另外,所述第1密钥及所述第2密钥可以存储于所述永久存储介质或存储器(例如,数据字典高速缓存)的数据字典(DD:Data Dictionary)。额外地,第1密钥及所述第2密钥通过主密钥(master key)进行加密并存储于所述数据字典,而主密钥可以存储于外部存储介质或所述永久存储介质。
根据本发明一实施方式的解密方式,可以使用与在加密方式中生成密文时使用的密钥相同的对称密钥。作为这种加密/解密方式,例如可以包括DES(Data EncryptionStandard,数据加密标准)、AES(Advanced Encryption Standard,高级加密标准)、ARIA算法、双鱼算法(Twofish)及SEED算法等,但并非仅限于此。额外地,根据本发明的一实施方式的加密及解密方式也可以使用具有公开密钥(public key)及私人密钥(private key)的公开密钥加密方式。作为这种加密/解密方式,例如可以包括RSA算法、ElGamal算法、椭圆曲线加密及背包加密方式,但并非仅限于此。
在本发明的额外的实施方式中,对以块单位进行加密的索引表的解密可以在其从永久存储介质140载入的情况下执行。另外,对以列级进行加密的数据的解密可以在要访问相应数据的情况下执行。在本发明的额外的实施方式中,关于块级加密/解密的密钥及关于列级加密/解密的密钥可以相互不同。
在本发明的额外的实施方式中,加密模块240可以基于数据值(plain text值)生成加密的数据值。加密模块240可以基于密钥中包含的加密信息来决定加密函数,利用基于所述数据值而演算的加密函数,生成加密的数据值。
所述密钥可以至少包括与加密模式相关的信息、加密数据类型及数据的长度信息等。所述加密模式例如可以包括如前所述的DES(Data Encryption Standard)、AES(Advanced Encryption Standard)、ARIA算法、双鱼算法(Twofish)及SEED算法等。
密钥可以用于加密及解密。加密函数可以包括能够把明文(plain text)变更成密文(cipher text)的加密算法。所述加密函数在执行加密及解密时,可以参照所述密钥。所述密钥可以存储于所述数据库服务器120的内部或存储于所述数据库服务器120的外部。另外,为了进一步提升安全性,所述密钥可以通过主密钥(master key)进行加密后被存储。这种主密钥可以具有针对一个系统的共用(global)的一个值。所述主密钥可以存储于外部存储介质或所述数据库服务器120的内部。根据本发明一实施方式的加密(解密)技术可以由多种加密算法、密钥、及/或加密选项(是否使用初始化向量等)的组合而构成。
加密的数据可以与至少部分地基于一个以上数据的值及所述数据的值将要存储的永久存储介质140上的位置信息而生成的密码比较代码一起存储于所述永久存储介质140。即这种密码比较代码可以用于验证解密文本(decrypted text)的完整性(Integrity)。这种密码比较代码可以包括利用例如SHA(secure hash algorithm,安全散列算法)系、MD5等散列算法而生成的散列值。
在本发明的额外的实施方式中,散列算法可以至少部分地基于数据表的数据值及所述数据值的位置信息(例如,在永久存储装置内的位置信息)、存储位置信息,来生成与加密的数据值匹配的散列值。其中,所述位置信息可以包括行识别符(rowid)及列关键字(column key)中至少一种。例如,行识别符(rowid)可以至少部分地基于数据块上的数据值将记录的位置。
在不使用散列值的情况下,拥有正当访问权限的内部人员可以获取加密的数据值,把所述加密的数据值存储于数据表上的、与原来位置不同的位置。此时,所述加密的数据值的解密文本可输出有效的数据值,因而数据库服务器120无法感知所述数据的伪造()。通过把散列值匹配于所述加密的数据值,数据库服务器120则能够感知数据的伪造。但是,在散列值单纯基于数据的明文的情况下,对于拥有正当访问权限的内部人员获取加密的数据值及与其匹配的散列值,并以将其存储到其它存储位置的方式进行攻击的情形,由于解密的数据值有效,且基于解密的数据值的散列值与基于数据值(明文数据值)的散列值相同,因而无法感知数据是否伪造。但是,根据本发明一实施例的所述散列值可以至少部分地基于加密的数据的存储位置。因此,对于如上所述的变更数据存储位置的方式的攻击,由于基于解密的数据值及解密的数据值存储位置的散列值与存储的散列值不同,因而根据本发明一实施例的数据库服务器120可以有效地感知加密的数据值的位置变更。
图3图示关于根据本发明一实施例的数据存储及索引构建进程的示例性流程图。
图3中的动作可以借助于数据库服务器120而执行。图3中的加密及解密动作对于客户端110而言可以是透明地自动实现。
图3中图示的流程图的顺序可以根据实现方法而有所可变,但也可以额外增加一部分顺序或省略一部分顺序。
发送接收模块210可以接收数据存储请求(步骤305)。此时,数据存储请求可以是指用于将数据记录(write)(包括插入及/或更新)到DB的请求。发送接收模块210可以把相应的数据存储请求传递到存储模块280(步骤310)。
存储模块280可以根据事先设置的(例如,客户端的设置)模式(schema),决定数据将要存储的表的相应列是否为指定加密的列(步骤315)。另外,根据事先设置的模式,存储模块280可以决定数据将要存储的表的相应列是否为设置索引的列(320)。在本发明的一种实施方式中,所述步骤步骤315及步骤320可以独立地执行或也可以不可分割(atomic)地执行。当数据将要存储的表的相应列为指定加密的列、并且为设置索引的列时,存储模块280可以决定把相应数据存储于永久存储介质140并向加密模块240传递对相应数据的加密请求(步骤325)。
加密模块240可以基于事先决定的加密算法而执行对相应数据的列级加密(步骤330)。如前所述,列级加密是指针对属于相应列(即指定加密的列)的任意数据的值加密。例如,对于指定加密的列内的特定数据的值可以以诸如“%$!G#&”的形态加密。
加密模块240在加密完成之后,可以传递将加密的数据存储到永久存储介质140的存储请求(步骤340)。例如,这种存储请求及加密的数据可以存储于数据库服务器120的存储器的缓冲区高速缓存。然后,例如借助于后台进程,按列级加密的数据可以被存储到永久存储介质140的数据段(data segment)。因此,通过前述的进程(process),响应对数据的记录(包括更新)请求,以对客户端透明的方式进行加密的数据可以记录于永久存储介质140(步骤350)。
与构建关于数据的索引相关联,参照图3,加密模块240可以将对加密的数据的解密请求传递给解密模块250(步骤335)。作为一个示例,在所述步骤330中的数据的加密,可以在数据库服务器120的前端(frontend)执行。因此,索引构建将会在数据库服务器120的后端(backend)执行,因而为了执行索引的构建进程,应该先对加密的数据进行解密。
在本发明的一实施方式中,解密模块250可以以来自加密模块240的、针对按列级加密的数据的加密信息为基础,执行对相应数据的列级解密(步骤345)。即解密模块250可以解密按列级加密的一个以上数据,生成一个以上解密的数据。
如前所述,例如在索引的构建(例如,插入数据)的情形时,解密模块250在加密的数据记录于永久存储介质140之前,可以从存储器读取关于由加密模块240加密的数据的信息,因而解密模块250可以执行对从存储器取得的加密的数据的解密。作为另一示例,在索引的更新的情况下,解密模块250从永久存储介质140获得加密的数据,从而可执行对所述加密的数据的解密。加密/解密方式可以基于图2中说明的加密/解密方式执行。
再次回到图3,解密模块250可以把对解密的数据的索引构建请求传递给构建模块260(步骤355)。
构建模块260可以以解密的数据为基础而生成索引表(步骤360)。在本发明的一实施方式中,构建模块260可以至少部分地基于针对一个以上解密的数据将要存储的列的大小(size)属性来生成索引表。另外,所述构建模块260可以基于平衡树(Balanced Tree)索引技术、位图(Bitmap)索引技术及基于函数的索引(FBI:Function Based Index)技术中的至少一种来执行索引表构建。
在本发明的一实施方式中,构建模块260在索引构建完成之后,可以将对构建的索引表的加密请求传递给加密模块240(步骤365)。
加密模块240可以针对构建的索引表执行块级(例如,表空间级)加密(步骤370)。然后,加密模块240可以传递对按块级加密的索引表的磁盘存储请求(步骤375)。然后,按块级加密的索引表例如可借助于后台进程而存储到永久存储介质140的索引段。因此,通过前述的方式,可以构建能够允许索引范围扫描的加密的索引表。
在本发明的额外的实施方式中,当接收数据更新请求时,数据库服务器120可以在执行以下图4所示的索引扫描及/或索引查询进程(process)后,通过图3所示的索引构建进程来实现数据更新及索引更新。
图4图示关于根据本发明一实施例的索引扫描及查询进程的示例性流程图。
图4中的动作可以借助于数据库服务器120而执行。图4中的加密及解密动作对于客户端110而言可以是透明地自动实现。
图4中图示的流程图的顺序可以根据实现方法而有所可变,但也可以额外增加一部分顺序或省略一部分顺序。
发送接收模块210可以接收索引查询请求(步骤405)。所述索引查询请求例如可以为索引范围扫描(index range scan)请求。发送接收模块210可以把索引查询请求传递给扫描模块270(步骤410)。
扫描模块210可以执行对索引查询请求的处理。另外,扫描模块270可以传递索引扫描请求,以便加密的索引表能够从永久存储介质140载入到存储器(步骤415)。这种索引扫描请求的传递也可以整合为一个进程。
响应索引扫描请求,按块级加密的索引表可以从永久存储介质140载入到解密模块250(步骤420)。这种加密的索引表的载入可以从永久存储介质140按块单位进行载入。
解密模块250可以解密按块级加密的索引表,生成解密的索引表(步骤425)。解密模块250可以把解密的索引表传递给扫描模块270。
扫描模块270可以执行对解密的索引表的索引扫描(步骤435)。本说明书中的所谓索引扫描,可以是指为了查找关于索引的列关键字(column key)及/或行定位符(rowid)而执行对索引的扫描的进程。另外,本说明书中的所谓索引查询,可以是指在扫描的索引中查找与列的rowid对应的数据值(即记录(record))的进程。
扫描模块270可以把索引扫描结果传递给查询模块290(步骤440)。然后,查询模块290可以生成及传递根据索引扫描结果值(即列关键字及行定位符)的数据值查询请求(步骤445)。
在这种情况下,按列级加密的数据可以从永久存储介质140载入(步骤450)。解密模块250可以解密按列级加密的数据(步骤455)。如此解密的数据可以传递给查询模块290(步骤460)。并且,查询模块290可以生成关于索引查询的结果值,并将其传递给发送接收模块210。
在本发明的额外的实施方式中,就关于索引更新的进程而言,正如前面所作的说明,索引扫描进程(例如,步骤405至435步骤)可以在图3中的步骤320之后执行。
在本发明的额外的实施方式中,当索引的表包括全部加密的列的情况下,通过解密按块级加密的索引表,可以完成索引扫描及索引查询。
如前所述,由于针对索引表,不按列单位进行加密/解密,而是按块单位进行加密/解密,因而可以在保持数据的安全性的同时,可高效进行索引范围扫描。如果是根据本发明一种实施方式的加密/解密方式时,可以允许对安全化的数据库的单一关键字检索(singlekey search)、范围检索(range search)及复合关键字检索(composite key search)等。
图5图示关于根据本发明一实施例的数据查询进程的示例性流程图。
图5中的动作可以借助于数据库服务器120而执行。图5中的加密及解密动作对于客户端110而言可以是透明地自动实现。
图5中图示的流程图的顺序可以根据实现方法而有所可变,但也可以额外增加一部分顺序或省略一部分顺序。
如图5中所示,发送接收模块210例如可以接收来自客户端的数据查询请求(步骤510)。发送接收模块210可以把数据查询请求传递给查询模块290(步骤520)。
查询模块290可以处理查询请求,传递数据查询请求,以便能够从永久存储介质140载入与查询请求对应的加密的数据(步骤530)。
然后,可以载入与查询请求对应的按列级加密的数据(步骤540)。解密模块250可以解密按列级加密的数据,生成解密的数据(步骤550)。解密模块250可以把解密的数据传递给查询模块290(步骤560)。
查询模块290处理解密的数据(或无需处理),生成数据查询结果值后,可以把数据查询结果值传递给发送接收模块210(步骤570)。
图6示例性地图示了根据本发明一实施例的、数据及索引在永久存储介质中进行加密并存储的加密方式。
如图6中所示,永久存储介质140可以包括数据段(或表段)610及索引段620。其中,数据段是数据表能够存储的区域,索引段是索引表能够存储的区域。即可以根据目标为(数据)表还是索引而分配至永久存储介质140不同的区域。
根据本发明的一种实施方式,可以针对索引表执行块级加密,针对数据表执行列级加密。
根据本发明的一种实施方式,当按列级加密的数据及按块级加密的索引从永久存储介质140载入到DBMS130(即存储器)时,可以自动进行解密。另外,当数据及索引从DBMS130(即存储器)存储到永久存储介质140时,可以自动进行加密。因此,通过前述的技术特征,能够实现对客户端的透明方式的安全管理。
在数据段610中,存储有应用了列单位加密的数据,因此,可以对于有关姓名及出生日期的列不进行加密,只针对关于信用卡号的列进行加密。另外,在索引段620中,存储有应用了块单位加密的索引表,因此,如图6中所示,全体索引表可以被加密并存储。
图7图示关于根据本发明一实施例的数据存储及索引构建(或更新)的示例性顺序图。
图7中的动作可以借助于数据库服务器120而执行。图7中的加密及解密动作对于客户端110而言可以是透明地自动实现。
图7中图示的流程图的顺序可以根据实现方法而有所可变,但也可以额外增加一部分顺序或省略一部分顺序。
数据库服务器120可以从永久存储介质或存储器读取按列级加密的一个以上数据(步骤710)。即列级的加密可以是指对选择的数据的列单位的加密。
然后,数据库服务器120可以解密按列级加密的一个以上数据,生成一个以上解密的数据(步骤720)。这是由于对生成索引表而言,当以加密的数据为基础生成索引表时,不能进行索引范围扫描。即为了在允许索引范围扫描的同时,保持对索引的安全性,索引表的生成可以以解密的数据(即明文数据)为基础执行(步骤730)。
如图7中所示,数据库服务器120可以按块级对生成的索引表进行加密(步骤740)。即由于以解密的数据为基础生成索引表,因而为了保持对相应索引表的安全性,针对索引表,可以按块级进行加密。
然后,数据库服务器120可以把加密的索引表存储于永久存储介质140(步骤750)。
即就根据本发明一实施方式的加密技术而言,当与把数据表及索引表全部按表空间级进行加密的技术相比时,加密量更小(其结果将导致速度也加快)。而且,就根据本发明的一种实施方式的加密/解密技术而言,当与对数据表按列单位加密的技术(针对索引表不进行另外的加密)相比时,具有能够进行索引范围扫描的优点。进而,就根据本发明一种实施方式的加密/解密技术而言,由于把索引表按块级加密,因而不使关于存储到索引表的列的大小(size)属性值泄露,所以能够实现更高水平的安全管理。
图8图示关于根据本发明一实施例的索引查询的示例性顺序图。
图8中的动作可以借助于数据库服务器120而执行。图8中的加密及解密动作对于客户端110而言可以是透明地自动实现。
图8中图示的流程图的顺序可以根据实现方法而有所可变,但也可以额外增加一部分顺序或省略一部分顺序。
数据库服务器120可以响应索引查询请求(例如,索引范围扫描请求),从永久存储介质140恢复(retrieve)按块级加密的索引表(步骤810)。然后,数据库服务器120可以解密按块级加密的索引表,生成解密的索引表(步骤820)。
数据库服务器120可以以解密的索引表为基础执行索引扫描(步骤830)。即由于以解密的索引表为基础执行索引扫描,因而可以获得根据未加密数据的索引表。因此,数据库服务器120可以获得根据索引扫描的结果(例如,列关键字及行定位符)。
数据库服务器120可以从永久存储介质恢复(retrieve)能与索引扫描的结果对应的按列级加密的一个以上数据(步骤840)。然后,数据库服务器120可以解密按列级加密的一个以上数据,生成一个以上解密的数据(步骤850)。因此,通过读取这种解密的数据的值(记录),可以生成对索引查询请求的结果值。
因此,前述的加密/解密方式(即列级加密与块级加密的组合)可以使得在允许索引范围扫描的同时,实现对数据的高效保护。
本发明所属技术领域的技术人员可以理解,就在此处公开的实施例相关联而说明的多种示例性的逻辑块、模块、处理器、手段、电路及算法步骤,可以借助于电子硬件、(为了便利而在此处称为“软件”)多种形态的程序或设计代码或它们全部的结合而体现。为了明确说明硬件及软件的这种相互兼容性,在上面对多种示例性的组件、块、模块、电路及步骤以与功能相关联地进行了一般性说明。这种功能是否可通过硬件或软件实现,取决于针对特定应用程序及全体系统而附带的设计制约。本发明所属技术领域的技术人员可以针对各个特定的应用程序而以多种方式体现说明的功能,但这种体现不得解释为超出本发明的范围。
此处提出的多种实施例可以以方法、装置或使用标准编程及/或工程技术的制造物品(article)来体现。术语“制造物品”包括能从任意计算机可读装置存取的计算机程序、载体或介质(media)。例如,计算机可读介质包括磁存储装置(例如,硬盘、软盘、磁条等)、光盘(例如,CD、DVD等)、智能卡及快闪存储器装置(例如,EEPROM(电可擦除只读存储器)、磁卡、Stick、键驱动器等),但并非仅限于此。另外,此处提出的多种存储介质包括用于存储信息的一个以上的装置及/或其它可机读介质。术语“可机读介质”包括能够存储、保有、及/或传递命令及/或数据的无线频道及其它多种介质,但并非仅限于此。
提出的进程中的步骤的特定顺序或层级结构,应理解为是示例性访问的一例。应题解,基于设计优先顺序,在本发明的范围内,可对进程中的步骤的特定顺序或层级结构进行再排列。附带的方法权利要求仅作为样本顺序,提供多个步骤的要素,但并非意味着本发明限定于提出的特定顺序或层级结构。
对于提出的实施例的说明而言,以使本发明所属技术领域的任意技术人员能够利用或实施本发明的方式提供。对这些实施例的多种变形是本发明所属技术领域的技术人员显而易见的,且在此定义的一般原理可以在不超出本发明范围的情况下应用于其它实施例。因此,本发明并非仅限于在此提出的实施例,而应解释为与在此提出的原理及新特征一致的最广义的范围。
附图标记说明
110:客户端
120:数据库服务器
130:DBMS(Database Management System,数据库管理系统)
140:永久存储介质(persistent storage)
210:发送接收模块
220:索引管理模块
230:数据管理模块
240:加密模块
250:解密模块
260:构建模块
270:扫描模块
280:存储模块
290:查询模块
610:数据段
620:索引段

Claims (18)

1.一种数据库安全管理方法,其特征在于,
所述方法包括:
从永久存储介质或存储器读取按列级加密的一个以上数据的步骤;
解密所述按列级加密的所述一个以上数据,生成一个以上解密的数据的步骤;
基于所述生成的一个以上解密的数据生成索引表的步骤;及
执行将所述生成的索引表按块级加密的动作以允许针对所述索引表的索引范围扫描的步骤,
其中所述数据库包括数据表和所述索引表,所述数据表包括所述一个以上数据;且
其中所述索引表是按块级加密和解密的且所述数据表按列级加密和解密的。
2.根据权利要求1所述的数据库安全管理方法,其特征在于,还包括:
将所述按块级加密的索引表存储于所述永久存储介质的步骤。
3.根据权利要求1所述的数据库安全管理方法,其特征在于,
将所述生成的索引表按块级加密的动作,是在后台进程要把存储器内的块记录到所述永久存储介质时执行。
4.根据权利要求1所述的数据库安全管理方法,其特征在于,还包括:
接收所述一个以上数据的存储请求的步骤;
判断所述一个以上数据将要存储的列是否为加密的列及所述一个以上数据将要存储的列是否为设置索引的列的步骤;及
当所述一个以上数据将要存储的列为加密的列、且所述一个以上数据将要存储的列为设置索引的列时,将所述一个以上数据按列级进行加密并存储的步骤。
5.根据权利要求4所述的数据库安全管理方法,其特征在于,
将所述一个以上数据按列级进行加密并存储的步骤包括:
将按列级进行加密的所述一个以上数据存储于所述永久存储介质的数据段的步骤。
6.根据权利要求4所述的数据库安全管理方法,其特征在于,
所述列级加密按列单位生成第1密钥,所述块级加密按块单位或块以上的单位生成第2密钥,且所述第1密钥及所述第2密钥具有不同的值。
7.根据权利要求6所述的数据库安全管理方法,其特征在于,
所述第1密钥及所述第2密钥存储于所述永久存储介质或存储器的数据字典。
8.根据权利要求7所述的数据库安全管理方法,其特征在于,
所述第1密钥及所述第2密钥通过主密钥进行加密并存储于所述数据字典,
并且,所述主密钥存储于外部存储介质或数据库服务器。
9.根据权利要求1所述的数据库安全管理方法,其特征在于,还包括:
将所述按块级加密的索引表存储于所述永久存储介质的索引段的步骤。
10.根据权利要求1所述的数据库安全管理方法,其特征在于,
生成所述索引表的步骤包括:
至少部分地基于所述一个以上解密的数据将被存储的列的尺寸属性来生成所述索引表的步骤。
11.根据权利要求1所述的数据库安全管理方法,其特征在于,
生成所述索引表的步骤,是基于平衡树索引技术、位图索引技术及基于函数的索引技术中的至少一个技术而执行。
12.根据权利要求1所述的数据库安全管理方法,其特征在于,
所述加密及解密以对所述数据库服务器的客户端透明地方式自动执行。
13.根据权利要求1所述的数据库安全管理方法,其特征在于,
所述按列级加密的一个以上数据,与至少部分地基于所述一个以上数据的值及所述数据的值将被存储的位置信息而生成的密码比较代码一同存储于所述永久存储介质。
14.一种数据库服务器,其特征在于,该数据库服务器包括:
至少一个处理器,其解密按列级加密的一个以上数据,从而生成一个以上解密的数据,且所述至少一个处理器生成基于所述一个以上解密的数据的索引表,并执行将生成的索引表按块级加密的动作以允许针对所述索引表的索引范围扫描,其中所述数据库包括数据表和所述索引表,所述数据表包括所述一个以上数据;及
永久存储介质,其存储包括所述按列级加密的数据的数据表及所述按块级加密的索引表;
其中所述索引表是按块级加密和解密的且所述数据表是按列级加密和解密的。
15.一种数据库安全管理方法,其特征在于,
所述方法包括:
响应索引查询请求,从永久存储介质读取按块级加密的索引表的步骤;
解密所述按块级加密的索引表,生成解密的索引表的步骤;
基于所述解密的索引表,执行索引范围扫描的步骤;
从永久存储介质读取与所述索引范围扫描结果对应的按列级加密的一个以上数据的步骤;及
解密所述按列级加密的一个以上数据,生成一个以上解密的数据的步骤,
其中所述数据库包括数据表和所述索引表,所述数据表包括所述一个以上数据,且
其中所述索引表是按块级加密和解密的且所述数据表是按列级加密和解密的。
16.根据权利要求15所述的数据库安全管理方法,其特征在于,
所述索引扫描结果包括与所述索引查询请求对应的列关键字及行识别符。
17.根据权利要求15所述的数据库安全管理方法,其特征在于,还包括:
基于所述一个以上解密的数据,生成与所述索引查询请求对应的索引查询结果值的步骤。
18.一种数据库服务器,其特征在于,该数据库服务器包括:
至少一个处理器,其响应索引查询请求,从永久存储介质读取按块级加密的索引表,且所述至少一个处理器解密所述按块级加密的索引表,生成解密的索引表,并以所述解密的索引表为基础执行索引范围扫描,并且从永久存储介质读取与所述索引范围扫描的结果对应的按列级加密的一个以上数据,并解密所述按列级加密的一个以上数据,生成一个以上解密的数据;及
永久存储介质,其存储包括所述按列级加密的数据的数据表及所述按块级加密的索引表,
其中所述数据库包括所述数据表和所述索引表,所述数据表包括所述一个以上数据,且
其中所述索引表是按块级加密和解密的且所述数据表是按列级加密和解密的。
CN201510387233.6A 2015-03-24 2015-06-30 用于数据库安全管理的方法及服务器 Active CN106022155B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150040583A KR101563461B1 (ko) 2015-03-24 2015-03-24 데이터베이스 보안 관리를 위한 방법, 서버 및 컴퓨터-프로그램
KR10-2015-0040583 2015-03-24

Publications (2)

Publication Number Publication Date
CN106022155A CN106022155A (zh) 2016-10-12
CN106022155B true CN106022155B (zh) 2019-04-19

Family

ID=54428309

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510387233.6A Active CN106022155B (zh) 2015-03-24 2015-06-30 用于数据库安全管理的方法及服务器

Country Status (3)

Country Link
US (1) US9779264B2 (zh)
KR (1) KR101563461B1 (zh)
CN (1) CN106022155B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10534606B2 (en) 2011-12-08 2020-01-14 Oracle International Corporation Run-length encoding decompression
US11113054B2 (en) 2013-09-10 2021-09-07 Oracle International Corporation Efficient hardware instructions for single instruction multiple data processors: fast fixed-length value compression
US10599488B2 (en) 2016-06-29 2020-03-24 Oracle International Corporation Multi-purpose events for notification and sequence control in multi-core processor systems
US10380058B2 (en) 2016-09-06 2019-08-13 Oracle International Corporation Processor core to coprocessor interface with FIFO semantics
US10454908B1 (en) 2016-09-23 2019-10-22 Wells Fargo Bank, N.A. Storing call session information in a telephony system
US10783102B2 (en) * 2016-10-11 2020-09-22 Oracle International Corporation Dynamically configurable high performance database-aware hash engine
US10459859B2 (en) 2016-11-28 2019-10-29 Oracle International Corporation Multicast copy ring for database direct memory access filtering engine
US10176114B2 (en) 2016-11-28 2019-01-08 Oracle International Corporation Row identification number generation in database direct memory access engine
US10725947B2 (en) 2016-11-29 2020-07-28 Oracle International Corporation Bit vector gather row count calculation and handling in direct memory access engine
CN106971121B (zh) * 2017-04-10 2021-01-01 深圳乐信软件技术有限公司 数据处理方法、装置、服务器及存储介质
CN108809906B (zh) * 2017-05-03 2020-07-07 腾讯科技(深圳)有限公司 数据处理方法、系统及装置
US10515077B2 (en) * 2017-06-14 2019-12-24 Microsoft Technology Licensing, Llc Execution optimization of database statements involving encrypted data
US10693952B2 (en) 2017-10-23 2020-06-23 Salesforce.Com, Inc. Technologies for low latency messaging
US11252119B2 (en) * 2018-06-04 2022-02-15 Salesforce.Com, Inc. Message logging using two-stage message logging mechanisms
US11048816B2 (en) 2019-04-02 2021-06-29 Sap Se Secure database utilizing dictionary encoding
US11429740B2 (en) * 2020-05-26 2022-08-30 Intuit Inc. Fast querying of encrypted data set
CN115085903A (zh) * 2022-06-16 2022-09-20 平安普惠企业管理有限公司 基于加密算法的数据加密解密方法、装置、设备和介质
CN115412293A (zh) * 2022-07-19 2022-11-29 网易(杭州)网络有限公司 数据处理方法、装置、服务器及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060058546A (ko) * 2004-11-25 2006-05-30 펜타시큐리티시스템 주식회사 데이터베이스 암호화 및 접근 제어 방법 및 장치
US7111005B1 (en) * 2000-10-06 2006-09-19 Oracle International Corporation Method and apparatus for automatic database encryption
CN102945354A (zh) * 2011-05-06 2013-02-27 佳能株式会社 信息处理设备及其数据管理方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484092B2 (en) * 2001-03-12 2009-01-27 Arcot Systems, Inc. Techniques for searching encrypted files
US7519835B2 (en) * 2004-05-20 2009-04-14 Safenet, Inc. Encrypted table indexes and searching encrypted tables
US20060100992A1 (en) * 2004-10-21 2006-05-11 International Business Machines Corporation Apparatus and method for data ordering for derived columns in a database system
KR20060037196A (ko) 2004-10-27 2006-05-03 삼성전자주식회사 아이피 멀티미디어 서브시스템에서 네트워크의 보안처리방법
US7639819B2 (en) 2005-06-16 2009-12-29 Oracle International Corporation Method and apparatus for using an external security device to secure data in a database
KR100737359B1 (ko) * 2006-10-04 2007-07-10 (주)이글로벌시스템 암호화된 컬럼의 인덱스 구축방법
US20080097954A1 (en) 2006-10-20 2008-04-24 Microsoft Corporation Ranged lookups
US8639948B2 (en) * 2006-12-28 2014-01-28 Teradata Us, Inc. Encrypted data management in database management systems
KR101702562B1 (ko) 2010-06-18 2017-02-03 삼성전자 주식회사 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
US9270459B2 (en) * 2011-09-20 2016-02-23 Cloudbyte, Inc. Techniques for achieving tenant data confidentiality from cloud service provider administrators
KR101371608B1 (ko) 2011-10-10 2014-03-14 주식회사 알티베이스 Dbms 및 데이터베이스에서 암호화 방법
KR101368024B1 (ko) 2012-03-29 2014-02-27 주식회사 엘지씨엔에스 스크립트 관리 방법, 이를 실행하는 스크립트 관리 서버 및 이를 저장한 기록 매체
US9355271B2 (en) * 2013-10-18 2016-05-31 Robert Bosch Gmbh System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111005B1 (en) * 2000-10-06 2006-09-19 Oracle International Corporation Method and apparatus for automatic database encryption
KR20060058546A (ko) * 2004-11-25 2006-05-30 펜타시큐리티시스템 주식회사 데이터베이스 암호화 및 접근 제어 방법 및 장치
CN102945354A (zh) * 2011-05-06 2013-02-27 佳能株式会社 信息处理设备及其数据管理方法

Also Published As

Publication number Publication date
CN106022155A (zh) 2016-10-12
KR101563461B1 (ko) 2015-10-26
US20160285623A1 (en) 2016-09-29
US9779264B2 (en) 2017-10-03

Similar Documents

Publication Publication Date Title
CN106022155B (zh) 用于数据库安全管理的方法及服务器
CN106302449B (zh) 一种密文存储与密文检索开放云服务方法和系统
US11270006B2 (en) Intelligent storage devices with cryptographic functionality
US10740366B2 (en) Method and system for searching encrypted data
US9825925B2 (en) Method and apparatus for securing sensitive data in a cloud storage system
Li et al. A hybrid cloud approach for secure authorized deduplication
US8639947B2 (en) Structure preserving database encryption method and system
CN106022154B (zh) 数据库加密方法和数据库服务器
US10503917B2 (en) Performing operations on intelligent storage with hardened interfaces
CA3066678A1 (en) Processing data queries in a logically sharded data store
Di Vimercati et al. Encryption-based policy enforcement for cloud storage
CN108737374A (zh) 一种区块链中数据存储的隐私保护方法
Ren et al. Toward secure and effective data utilization in public cloud
Sun et al. Rearguard: Secure keyword search using trusted hardware
Pattuk et al. Bigsecret: A secure data management framework for key-value stores
CN108170753A (zh) 一种共有云中Key-Value数据库加密与安全查询的方法
Zhang et al. Encrypted and compressed key-value store with pattern-analysis security in cloud systems
Ti et al. Benchmarking dynamic searchable symmetric encryption scheme for cloud-internet of things applications
Tian et al. A trusted control model of cloud storage
CN109635574A (zh) 一种云存储系统中的文件加解密方法、系统及存储介质
KR20160114492A (ko) 데이터베이스 보안 관리를 위한 방법, 서버 및 컴퓨터-프로그램
Yu et al. Efficient Protocol for Searchable encryption and secure deletion on cloud storages
Funde et al. HORAM: Hybrid oblivious random access memory scheme for secure path hiding in distributed environment
Pattuk et al. BigGate: Access Control Framework for Outsourced Key-Value Stores
Nisha Efficient and Secure Data Storage CP-ABE Analysis Algorithm

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
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 city of South Korea

Patentee before: TmaxData Co.,Ltd.