数据库加密的常用方法

时间:2024-02-29 21:14:26

      现在数据库系统主要基于三个层次进行数据库加密工作,即0S、DBMS内核层、DBMS外层。目前常用的办法是在DBMS外核层加密。DBMS外核层加密是将数据库加密系统做成DBMS的一个工具,其优点是不会加重数据库服务器的负载并可以实现网上传输加密,缺点是加密功能会受一些限制。作为一种通过加密方式来保护数据的专门系统,数据库加密系统并不是一个数据库应用系统,而是一个将DBMS部分功能、文件加密器和密钥管理三者紧密结合起来的系统。显然数据库加密系统实际上主要实现的还是加密器(包括加密定义工具)的功能,它既可工作于数据库应用系统与DBMS之间,又可作为一个独立工作的系统直接与DBMS交互。

  选择数据库加密方法要充分考虑数据库特点,如数据保存比较长,每次操作涉及数据量较大等。下面分析几种常用的加密方法,为了适合数据库的特点,还需要对数据库加密方法进行局部的改动。

      第一、基于记录的数据库加密技术

  一般而言,数据库系统中每条记录所包含的信息都具有一定的封闭性,即从某种程度上说它独立完整地存储了一个实体的数据,因此是最常用的数据库信息加密手段。这种方法的基本思路是:基于记录的加密技术在各自密书的作用下,将数据库的每一个记录加密成密文并存放于数据库文件加密中;记录的查找是通过将需查找的值加密成密码文后进行的。

  第二、基于文件的数据库加密技术

  把数据库文件作为整体,用加密器和加密算法对整个数据库文件加密,形成密文来保证数据的真实性和完整性。利用这种方法,数据的共享是通过用户用解密密钥对整个数据库文件进行解密来实现的,但多方面的缺点极大地限制了这一方法的实际应用。首先,数据修改的工作将变得十分困难,需要进行解密、修改、复制和加密四个操作,极大地增加了系统的时空开销;其次,即使用户只是需要查看某一条记录,也必须将整个数据库文件解密,这样无法实现对文件中不需要让用户知道的信息的控制。因此,这种力法只适用于能回避这些限制的应用环境。