首页> 中国专利> 关系数据库管理系统的非侵入式加密

关系数据库管理系统的非侵入式加密

摘要

提供了一种利用非侵入式加密技术的安全关系数据库系统。关系数据库管理系统存储或检索的数据页被转移到多通道硬件加密引擎以供处理。每个数据页被分到多个缓冲器中并分布在要被同时处理的硬件加密引擎的通道中。然后数据页被重组并传输给其计划的目的地。

著录项

  • 公开/公告号CN101288065A

    专利类型发明专利

  • 公开/公告日2008-10-15

    原文格式PDF

  • 申请/专利权人 德塔勒哥若公司;

    申请/专利号CN200680018338.3

  • 发明设计人 S·弗罗斯特;D·沙齐;

    申请日2006-03-28

  • 分类号G06F17/00(20060101);

  • 代理机构11245 北京纪凯知识产权代理有限公司;

  • 代理人赵蓉民

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 20:53:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-17

    未缴年费专利权终止 IPC(主分类):G06F17/00 授权公告日:20100908 终止日期:20190328 申请日:20060328

    专利权的终止

  • 2018-03-09

    专利权的转移 IPC(主分类):G06F17/00 登记生效日:20180222 变更前: 变更后: 申请日:20060328

    专利申请权、专利权的转移

  • 2010-09-08

    授权

    授权

  • 2008-12-10

    实质审查的生效

    实质审查的生效

  • 2008-10-15

    公开

    公开

说明书

技术领域

【0001】本申请要求2005年3月28日申请的美国临时申请No.60/665,357的权益,其通过引用包括在本文中。

【0002】本发明涉及关系数据库系统,具体地涉及在关系数据库系统内实施的非侵入式数据加密。

背景技术

【0003】关系数据库提供组织、存储和检索大量数据的有效系统。所有类型的事务持续增加存储在关系数据库中数据的量和类型。此外,事务不断发现数据的新益处和用途。这驱动对具有更高性能和增加容量的数据库系统的需求。

【0004】在许多行业,累积的数据是机密的且必须安全地存储。例如金融机构跟踪并存储关于所执行交易的数据、账号、账户结余、账户所有人等。类似的,卫生保健行业跟踪和存储关于个人健康和治疗历史的私人信息。这些行业要求其数据库系统的安全和性能。

【0005】因此,存在对一种关系数据库系统的需求,该数据库系统能够加密存储在其中的数据,而无需大量修改系统的部件,也不显著损害关系数据库系统的整体性能。

发明内容

【0006】本发明通过提供用于加密存储在关系数据库中数据的安全关系数据库系统而解决了前面需求和顾虑。本发明将硬件加密过程插入到系统中,而不需要对系统的单个部件做大的改动。而且,本发明平衡多通道硬件加密引擎的能力,以使对整个系统性能的影响最小。

【0007】按照本发明的一个方面,提供了加密数据存储系统中关系数据库管理系统存储的数据页的方法。指定用于存储的数据页被分割到多个缓冲器中。缓冲器被提供给硬件加密引擎,从而被同时加密。一旦硬件加密引擎完成缓冲器的加密,就用加密的缓冲器重新组合数据页并将其存储在数据存储系统中。

【0008】按照本发明的另一方面,提供了以加密形式存储关系数据库数据的安全关系数据库系统。该系统包括具有处理器、存储器和数据存储系统的计算机服务器。由计算机服务器中的处理器执行的操作系统管理处理器、存储器和数据存储系统。由计算机服务器中处理器执行的关系数据库管理系统管理存储在数据存储系统中的关系数据库。在调用操作系统的写功能从而在数据存储系统中存储数据页之前,关系数据库管理系统将数据页分割到多个缓冲器中并将这些缓冲器提供给硬件加密引擎,从而被同时加密。一旦加密完成,硬件加密引擎就用加密的缓冲器重组数据页。

【0009】提供了本发明的前述概要,以便可快速理解本发明的本质。通过参考下面本发明的详细描述和相关附图,可获得对本发明优选实施例的更详细和完整的理解。

附图说明

【0010】结合附图阅读可理解下面本发明实施例的详细描述,图中特征部件没有按比例示出,而是为了最好地示出相关特征。

【0011】图1是方框图,其描绘关系数据库系统的部件。

【0012】图2是方框图,其示出按照本发明一个实施例的安全的关系数据库系统的部件。

【0013】图3是方框图,其示出按照本发明一个实施例的计算机服务器系统。

【0014】图4是流程图,其示出按照本发明一个实施例的加密关系数据库管理系统存储的数据页而执行的过程步骤。

【0015】图5是方框图,其示出按照本发明一个实施例的加密引擎处理数据页的顺序。

【0016】图6是流程图,其示出按照本发明的一个实施例,解密由关系数据库管理系统请求的数据页而执行的过程步骤。

具体实施方式

【0017】现在将参考附图更完整描述本发明,所有附图中相同的参考数字标识表示相同的元件。下面的描述包括本发明的优选实施例,这些实施例是为了以例子形式向本领域技术人员描述本发明而提供的。

【0018】图1是方框图,其描绘关系数据库系统10的部件。如图1所示,关系数据库系统10包括关系数据库管理系统(RDBMS)11、操作系统(OS)12和数据存储系统13。RDBMS 11是管理关系数据库内数据的组织、存储和检索的一个计算机应用程序或一组应用程序。关系数据库存储在数据存储系统13中,其包括被配置成存储关系数据库的单个硬盘或硬盘驱动器阵列。OS 12控制对数据存储系统13的存取并管理RDBMS 11和数据存储系统13之间的接口。

【0019】如上所述,RDBMS 11是管理关系数据库的计算机应用程序。本发明不限于特殊的关系数据库管理系统并可用本领域技术人员公知的任意数目的系统实现。这样的系统包括Oracle、IBM和Microsoft提供的那些系统。类似地,OS12不限于特定的操作系统并可用本领域技术人员公知的任意数目的操作系统实现,包括基于Microsoft Windows的操作系统和基于Unix/Linux的操作系统。

【0020】上述的数据存储系统13包括单个硬盘驱动器或硬盘驱动器阵列。这些驱动器可以被布置成独立的卷,或可替换地,布置成使用本领域技术人员公知的RAID配置的冗余独立磁盘阵列(RAID)。本领域技术人员也将认识到,除了硬盘驱动器,驱动器也可用其他存储装置实现。例如,固态驱动器或光学驱动器可用来取代硬盘驱动器。

【0021】RDBMS 11在数据存储系统13中以数据页形式存储数据,图1中以数据页14表示。每个数据页包含来自关系数据库的多行数据。通常,数据页的大小在2kB和64kB之间,但可以根据用来实现关系数据库系统的部件而改变。

【0022】为了访问存储在数据存储系统13中的关系数据库,RDBMS 11请求在OS 12和RDMBS11之间转移数据页14。具体地,为了在关系数据库中存储数据,RDBMS 11调用OS 12的写入例程来存储数据页14,该数据页含需要存储在数据存储系统13中的数据。OS 12随后在数据存储系统13中的一系列磁盘扇区中存储数据页14,磁盘扇区由磁盘扇区15a、15b和15c表示。虽然仅在图1中示出三个磁盘扇区,但磁盘扇区的实际数目可根据因素数目改变,所述因素包括操作系统的类型、数据存储系统的类型和数据页的大小。

【0023】为了从关系数据库检索数据,RDBMS 11调用OS 12的读取例程从而从数据存储系统13检索包含所需数据的数据页14。OS12从数据存储系统13检索含所需数据的磁盘扇区15a、15b和15c,并返回含所需数据的数据页14至RDBMS 11。操作系统使用的读取和写入例程对本领域的技术人员是公知的,因此在此不详细描述。

【0024】图2是方框图,其描绘按照本发明一个实施例的安全的关系数据库系统20的部件。类似于图1中所描绘的系统,安全的关系数据库系统200包括RDBMS 21、OS 22和数据存储系统23。如上所述,RDBMS 21是一个计算机应用程序或一组应用程序,其管理关系数据库中数据的组织、存储和检索。关系数据库存储在数据存储系统23中,该系统包括经配置存储关系数据库的单个硬盘驱动器或硬盘驱动器阵列。操作系统22控制对数据存储系统23的访问,并且管理RDBMS 21和数据存储系统23之间的接口。和图1所示系统一样,可使用任意数目本领域公知的关系数据库管理系统、操作系统和/或数据存储系统,而不偏离本发明的范围。

【0025】安全的关系数据库系统20以类似于图1中系统使用的方式存储和检索数据。具体地,RDBMS 21发送包含所需数据的数据页24至OS 22,或从其请求数据页24。OS 22随后向数据存储系统23的一系列磁盘扇区25a、25b和25c中写入数据页24包含的数据,或检索存储在存储系统23的系列磁盘扇区25a、25b和25c中的所需数据。然而,与图1中系统不同,安全的关系数据库系统200在RDBMS21和OS 22之间插入加密引擎26,并在数据页在RDBMS 21和OS 22之间传送之前将数据页转移至加密引擎26。在数据页被传输到RDBMS 21或OS 22之前,加密引擎26加密/解密数据页。例如,图2示出被转移到加密引擎26的数据页24,加密引擎26加密含在其中的数据从而创建加密的数据页27。加密的数据页27然后由OS 22存储在数据存储系统23的磁盘扇区25a、25b和25c。安全的关系数据库20操作的更详细描述在下面给出。

【0026】传统的安全关系数据库系统通常在RDBMS内或在RDBMS之前加密数据,从而要求RDBMS对加密数据操作。对加密数据的操作限制功能并降低RDBMS的性能。另一方面,本发明用单独的加密引擎将加密处理从RDBMS分开,并在RDBMS和OS之间执行加密处理。因此,RDBMS的内部操作不必知道RDBMS之外发生的加密处理。以这种方式,RDBMS对未加密的数据操作并能够全性能工作。

【0027】按照本发明的一个实施例,加密引擎26是多通道硬件加密引擎,这里每个通道经配置而使用加密算法加密/解密数据。与依赖于系统中央处理器来执行必要处理的软件加密引擎不同,硬件加密引擎用其自身的内部电路执行加密过程。因此,硬件加密引擎节约整个系统的处理器资源,并且使其对整个系统性能的影响最小。

【0028】使用多通道硬件加密引擎以便允许同时处理多个数据块。用硬件加密引擎的满处理能力同时处理数据改善了系统的整体性能。可替换地,可使用多个单通道硬件加密引擎而不偏离本发明的范围。

【0029】硬件加密引擎的结构和内部操作是本领域人员所公知的,所以不在这里详细描述。注意,本发明可用任意数目的商业可用硬件加密引擎实施,而不偏离本发明的范围。而且,本发明不限于特定加密算法,并可使用本领域技术人员公知的任意数目的算法。例如,基于高级加密标准(AES)或数据加密标准(DES,三重DES)的算法都可以使用。

【0030】按照本发明的一个实施例,安全的关系数据库系统是用计算机服务器系统实现的。图3是描述一个计算机服务器系统30例子的方框图。计算机服务器系统30包括用于执行指令和处理信息的处理器31。随机存取存储器(RAM)32临时存储信息和要由处理器31执行的指令。只读存储器(ROM)33是非易失性存储装置,其存储静态指令序列,如由处理器31在启动时执行从而启动计算机服务器系统30的操作的基本输入/输出系统(BIOS)。存储装置34表示另一个非易失性存储器,如磁盘或光盘,其存储由处理器31执行的信息和指令。每个前述部件都耦合到总线35,总线35促进多个部件之间信息和指令的转移。

【0031】网络接口36、加密引擎37和数据存储系统38也耦合到总线35。加密引擎37和数据存储系统38在本说明书的别处描述。网络接口36是光学特征部件,其允许计算机服务器系统30经一个或更多个网络与其他计算装置互连和通信。可能的网络包括局域网(LAN)和因特网。信息是用电、电磁或光信号经这些网络传输的。以这种方式,计算机服务器系统30能够传送和/或接收数据和代码,以及与其他连接至同一网络的装置共享资源。

【0032】其他装置可以经总线35连接至计算机服务器系统30。例如,显示装置,如CRT或LCD监视器可以被连接从而向用户显示信息。此外,用户输入装置,如键盘和光标控制装置也可连接至计算机服务器系统30从而允许在计算机服务器系统30上执行的应用程序中用户输入和控制。

【0033】上述计算机服务器系统30的所有部件已经作为单个计算机系统的部分描述。本领域技术人员可以认识到,本发明的可替换实施例可将一个或更多个部件分成分离的计算系统,它们经一个或更多个网络互连。例如,数据存储系统28可位于另一个系统中或分布于经网络互连的多个系统中,而不偏离本发明的范围。

【0034】本发明使用的关系数据库管理系统和操作系统由处理器31提供,该处理器执行一个或更多个存储在RAM 32中的指令序列。这些指令序列或计算机代码,或由处理器31从计算机可读介质如存储装置34加载到RAM 32中。计算机可读介质的其他例子包括,但不限于软盘、可变形磁盘(flexible disk)、硬盘、磁带、任何其他磁性介质、CD-ROM、DVD、任何其他光学介质、物理介质如穿孔卡和纸带、RAM、PROM、EPROM、EEPROM、闪存等。可替换地,计算机代码可经传输介质,如同轴缆线、铜线或光纤转移到计算机服务器系统30。本发明操作的更详细描述在下面给出。

【0035】图4是流程图,其示出按照本发明一个实施例的加密关系数据库管理系统存储的数据页的过程。如上所述,本发明转移由RDBMS转送的数据页以便存储到加密引擎。图4中描述的过程表示与该转移相关的处理。该过程在RDBMS已经准备并指定数据页以存储在关系数据库时启动。按照一个实施例,当调用操作系统的写入功能/例程时,RDBMS被稍微修改从而启动和/或执行图4中表示的过程步骤。这个过程的执行无需另外的用户介入,因此使得本发明的操作对关系数据库系统的最终用户是透明的。在替代的实施例中,使用软件代理例程代替标准的操作系统调用,用于将数据写入到数据存储系统。无论何时调用操作系统的写入功能/例程,该软件代理例程都启动和/或执行图4中示出的过程步骤。软件代理例程对本领域技术人员是公知的,因此这里不做进一步的详细说明。

【0036】在步骤S400,数据页被分割到多个缓冲器中。缓冲器的数量和大小是基于加密引擎中的通道数量决定的。例如,图5是描述使用加密引擎51的数据页50处理的方框图。如图5所示,加密引擎51包括8个通道(通道1到通道8)。因此,数据页50被分割到8个缓冲器中(缓冲器1到缓冲器8)。缓冲器的数目优选被选择为等于加密引擎中的通道数目,以便使用加密引擎的满处理能力。所有缓冲器优选具有相同的大小,以在通道之间均匀分布数据用于处理。例如64kB数据页被分割到8个缓冲器中,每个都具有8kB的数据。

【0037】一旦RDBMS已经准备并指定供存储的数据页,数据页就驻存在计算机服务器系统的主存储器(RAM)中。按照本发明的一个实施例,通过确定对应于多个缓冲器中每个缓冲器的数据页部分在主存储器中的存储地址,数据页被分到多个缓冲器中。因此,数据页的分割不要求数据转移到实际的存储器缓冲器。然而,本发明可替换的实施例可将数据页划分并转移到实际存储缓冲器中。

【0038】在步骤S401中,缓冲器被转移到加密引擎的各通道。转移在两个步骤中完成。首先,所有缓冲器同时提供给加密引擎,作为通道处理的独立任务。通过提供指向主存储器中每个缓冲器的存储地址的指针而给出缓冲器。第二,加密引擎转移缓冲器至它们各自的通道。使用指针与缓冲器大小,加密引擎使用本领域技术人员公知的直接存储器存取(DMA)方法转移缓冲器至它们各自的通道用于处理。该转移在图5中由从缓冲器1到8指向通道1到8的箭头组表示。

【0039】按照本发明的一个实施例,将数据页分到缓冲器中和将缓冲器提供给加密引擎的通道是由硬件加密引擎的软件驱动器管理的。当准备存储数据页时,该驱动器被经改动的RDBMS调用。可替换地,可修改RIDMBS来执行缓冲器划分和提供缓冲器给通道。

【0040】在步骤S402,每个缓冲器中的数据被加密引擎的各通道用加密算法加密。因为缓冲器被同时提供给加密引擎且每个缓冲器大小相等,每个缓冲器的加密是以基本相同的时间量执行的,因此所有缓冲器同时完成加密处理。对于存储数据页的单个数据库操作,用加密引擎的所有通道同时处理缓冲器就允许加密引擎的最大处理能力。

【0041】一旦缓冲器的加密完成,含经加密数据的缓冲器在步骤S403被加密引擎用本领域技术人员公知的DMA方法转移回主存储器中。用前面提供给加密引擎的相同指针,经加密的缓冲器被转移回主存储器。这个转移在图5中通过一组从通道1到8指向缓冲器1到8的箭头示出。因此,存储在主存储器中的数据页的数据被经加密的数据有效覆盖,从而以经加密的数据页取代数据页。以这种方式,加密引擎在主存储器中用经加密的数据重组数据页。一旦加密引擎提供通知,即经加密数据的转移完成,则操作系统写入功能在步骤S404被调用,以在数据存储系统中存储经加密的数据页。

【0042】图6是流程图,其示出按照本发明一个实施例,解密由关系数据库管理系统请求的经加密的数据页的过程。该过程在RDBMS已经请求将从数据存储系统检索的数据页时启动。类似于上面关于图4描述的过程,当调用操作系统的读取功能从而检索存储在数据存储系统中的数据时,RDBMS被稍微修改从而启动和/或执行图6中给出的过程步骤。在可替换的实施例中,软件代理例程被用来取代标准操作系统调用,用于从数据存储系统读取数据。无论何时调用操作系统读取功能,软件代理例程都启动和/或执行图6中表示的过程步骤。软件代理例程对本领域技术人员是公知的,因此这里不进一步详细说明。

【0043】在步骤S600,RDBMS用操作系统读取功能从数据系统请求所需的数据页。在步骤S601,含经加密数据的数据页由OS从数据存储系统中检索并存储在计算机服务器系统的主存储器(RAM)中。以与上面参考图4描述的相同方式,在步骤S602,经加密的数据页被分到多个缓冲器中并在步骤S603中转移到各通道。然后经加密的缓冲器在步骤S604解密。

【0044】和参考图4描述的过程一样,缓冲器被同时提供给加密引擎的各通道,每个缓冲器大小相同。因此,每个缓冲器的解密是以基本相同量的时间执行的,所有缓冲器基本同时完成解密处理。一旦解密完成,在步骤S605,加密引擎以与上面参考图4描述的相同方式转移经解密的数据至主存储器中。通过重写主存储器中经加密的缓冲器,该过程用未加密的缓冲器重组数据页。最后,在步骤S606,含未加密数据的被请求数据页被发送给RDBMS。

【0045】上面描述的本发明为关系数据库系统提供非侵入式加密。通过稍微修改RDBMS,或使用软件代理例程,存储在关系数据库中的数据加密是以对用户透明的方式实现的。通过使用具有多个通道的硬件加密引擎并在通道间分布每个数据页用于处理,对关系数据库系统整体性能的影响被最小化。

【0046】在可替换的实施例中,多通道硬件压缩引擎被增加到硬件加密引擎中,从而在存储到数据存储系统之前压缩数据页,并在从数据存储系统检索后解压缩该数据页。可使用任何数目的已知压缩算法,而不偏离本发明的范围。关于数据页的硬件压缩引擎的操作和上面为硬件加密引擎描述的操作一样,还增加包括跟踪在用于存储压缩数据页的数据存储系统中的磁盘扇区的数目和位置的功能。因为压缩通常会改变存储每个数据页所需的扇区数目以及数据页在数据存储系统中的位置,因此这个跟踪是必要的。这样的跟踪功能的实现对本领域技术人员是显而易见的,因此这里不做另外详细说明。

【0047】本发明已经在上面被描述为在存储或检索数据页时处理整个数据页。在可替代的实施例中,硬件加密引擎被配置成仅加密/解密数据页内文本字段。硬件加密引擎页也可经配置来仅处理数据页内的指定列。以该方式,加密系统可被精细调整,从而仅加密敏感数据同时将数据页内剩余数据以未加密的形式保留。

【0048】本发明的前述描述说明了数据在关系数据库管理系统和操作系统之间的转移。在本发明可替换的实施例中,该系统可被配置成在操作系统缓存和文件系统之间,在文件系统和磁盘控制器之间,在RDBMS内的页和行处理之间,或在RDBMS内的行和列处理之间转移数据。本领域技术人员可以认识到如何移动本发明的转移至任意前述位置。

【0049】本发明的前面描述示出和说明本发明的优选实施例。然而,可以理解,本发明能够以这里所表达的本发明概念、与上面教导等效的原理和/或相关领域的技术或知识的范围内的各种其他组合和修改使用。上述实施例计划进一步解释实践本发明的最佳模式,并使得本领域技术人员以这种或其他实施例利用本发明,并用本发明的特定应用或用途要求的各种修改利用本发明。因此,本说明书不打算限制本发明的范畴,本发明的范畴仅由所附的权利要求解释。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号