2008-02-18 15:15:46 来源:IT专家网
随着计算机技术的飞速发展,数据库的应用十分广泛,深入到各个领域,但随之而来产生了数据的安全问题。各种应用系统的数据库中大量数据的安全问题、敏感数据的防窃取和防篡改问题,越来越引起人们的高度重视。数据库系统中保存了大量信息,是计算机信息系统的核心部件,其安全性至关重要,关系到企业兴衰、国家安全。为了有效保护数据库中存放的数据,人们采用了身份验证、资源限制、自主访问控制、强制访问控制、审计、通信加密、存储加密等技术手段,其中很多技术手段都是建立在密码技术上的。本文首先简述密码技术并给出几种主流的密码算法,然后结合DM(达梦)、SQL SERVER、Oracle等的常用数据库产品介绍利用密码技术保护数据库中的敏感数据的几种常用方法。
1.密码技术概述
密码学是对与信息安全各方面有关的数学技术的研究,其主要目标为以下四点:(1)机密性,即保持信息内容不被非授权者获取。(2)数据完整性,即防止数据遭受篡改。(3)认证,即身份识别。(4)不可抵赖,即防止否认以前的承诺或行为。按照密钥以及工作原理可以将密码技术分为若干类,其划分情况如图1.1所示。
图 1.1 密码技术分类
(1)散列函数。散列函数接受一个消息的输入产生一个称为散列值的输出,准确的说散列函数h将有限长度的比特串映射成固定长度的散列值。散列函数通常与数字方案一起用于保护数据的完整性,常用的散列函数有MD5、SHA-1等等。其中MD5的散列值长度为128比特,SHA-1的散列值长度为160比特。这两种算法曾得到了广泛的应用,不过近年山东大学的王晓云发现了这两种算法的破解算法,即给定一个散列值可以找到一个生成该散列值的消息。密码学家正在寻找其它更好的散列函数,并推荐暂时使用比较安全的散列算法SHA-512。
(2)随机序列。随机序列生成器是一种能够输出统计上独立且无偏的二进制数字序列的算法或设备,由随机序列生成器生成的二进制序列称为随机序列。随机序列通常用于当作密钥使用,特别是用于生成公钥算法中的私钥,防止敌手通过概率手段进行暴力破解。目前比较常用的随机序列生成器主要有美国联邦信息处理标准(FIPS)推出的ANSI X9.17以及 FIPS186。
(3)对称密钥分组密码。加密是指给定一个特定的密钥以及一个明文序列得到一个确定的与明文对应的密文的过程;给定一个密文以及一个密钥得到生成该密文的明文的过程则被称作解密。如果加密与解密过程所使用的密钥相同,则称该加密算法为对称密钥算法(也称对称加密算法)。分组密码是一种加密方案,它将明文分割为固定长度的字符串且一次只加密一个分组。由于分组加密算法每次只加密一个定长的分组,所以通常需要一些称为工作模式的辅助方案予以配合,常用的工作模式有ECB(电码本),CBC(密码分组链接),CFB(密码反馈),OFB(输出反馈)等等。目前比较流行的对称分组密钥密码有DES,3DES,AES等等。(a) DES是由IBM发明的,它将64位的明文输入块变为64位的密文输出块,它所使用的密钥也是64位,DES算法中只用到64位密钥中的其中56位。(b)由于DES的密钥长度相对比较短,因此,人们又想出了一个解决其长度的方法,即采用三重DES,三重DES是DES的一种变形。这种方法利用DES算法进行3次加密,从而使其有效密钥长度达到112位或168位,对安全性有特殊要求时可以采用它。(c)另外一种比较重要的对称分组密钥密码AES是美国高级加密标准算法,将在未来几十年里代替DES在各个领域中得到广泛应用,尽管人们对AES还有不同的看法,但总体来说,AES作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和灵活等优点。AES设计有三个密钥长度:128,192,256位,相对而言,AES的128密钥比DES的56密钥强1021倍。AES算法主要包括三个方面:轮变化、圈数和密钥扩展。在理论上,此加密方法需要国家军事量级的破解设备运算10年以上时间才可能破译。
(4)对称密钥流密码。流密码每次处理一个比特,并且在处理过程中保存中间的处理结果。目前比较常用的对称密钥流密码包括RC4、SEAL等等。
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。