1
数据库原理与应用技术
1.7.4.5 6.4.5 数据加密法
6.4.5 数据加密法

数据通信迅速发展的同时也带来了数据失密问题。信息被非法截取和数据库资料被窃的事件经常发生,数据(如金融信息、军事情报、国家机密等)失密会造成严重后果。所以数据保密成为十分重要的问题。

数据加密是防止数据库中数据在存储和传输中失密的有效手段。加密的基本思想是根据一定的算法将原始数据(术语为明文或源文)变换为不可直接识别的格式(术语为密文),从而使不知道解密算法的人无法获知数据的内容。

数据加密可更好地保证数据库中数据的安全性。

常用的加密算法有两种:一种是替换方法,使用密匙(Encryption Key)将明文中的每一个字符转换为密文中的字符;一种是转换方法,将明文中的字符按不同的顺序重新进行排列。通常将这两种方法结合使用,从而达到更好的保密效果。最有代表性的是美国数据加密标准(Data Encryption Standard,DES)。在数据加密法中,DES算法本身是公开的知识,但是各厂家生产的设备的具体加密方式都各不相同。关于加密法的有关技术问题,本书不详细介绍。

数据加密后,不知道解密算法的非法用户访问数据库时,就只能看到一些二进制代码,无法进行辨认。

现阶段,不少数据库产品都提供有数据加密例行程序,用户可根据需求选择进行加密处理。有些未提供加密程序的数据库产品也提供了相应的接口,允许用户使用其他加密程序对数据进行加密。

加密法也有其弊端:使用密码存储数据,在查询时需要解密,费时且要占用大量的系统资源,影响数据库的性能,用户必须有选择性地使用。