浅析数据库加密技术
(内蒙古电子信息职业技术学院,内蒙古 呼和浩特 010000)
摘 要: 文章对数据库加密的必要性、特点、要求、层次、粒度及算法进行了论述。
关键词:数据库加密;加密粒度;加密算法
中图分类号:TP309.7 文献标识码:A 文章编 号:1007—6921(2008)21—0045—01
随着计算机技术的高速发展,数据库的应用已深入到各个领域。如何保障数据库的安全性、 保密性,防止重要数据被窃取和篡改等已成为目前急需解决的问题,加密技术是提高数据库 安全的最重要的手段之一,也成了数据库安全研究的一个焦点。目前大型数据库ORACLE,SYB ASE都提供了有关的用户标识和鉴订、存取控制、视图、审计等基本安全技术。这些安全技 术只能满足一般的数据库安全应用,而对于高度敏感性数据,数据库系统所提供的安全性措 施难以保证数据的安全性,尤其是一些内部用户仍可能非法使用数据库,甚至篡改和窃取数 据库信息。为了防止用户非法使用,保证数据库数据的安全,必须对数据库中存储的重要敏 感数据进行保护,而当前最为有效的保护方法是数据加密技术。
1 数据库加密的必要性
当前大多数企事业单位的计算机网络采用的是Windows NT和Unix操作系统,这些操作系 统具有用户授权、任意存取控制、审计安全等功能。虽然数据库管理系统(DBMS)在操作系 统的基础上又增加了权限访问控制等安全措施,但是数据库中的数据并不安全。首先网络黑 客会直接利用操作系统工具窃取甚至修改数据库系统中的数据;其次数据库的管理员可以利 用自身的权限,任意查询数据库信息。为了保证数据的安全,对数据库进行加密,使是防范 数据遭到窃取和修改的有效手段。
2 数据库加密特点
数据加密就是将明文数据经过交换,一般通过变序或替换变成密文数据,数据解密则是将密 文数据转换成明文数据输出。一个加密系统包括明文集合、密文集合、密钥集合和算法,其 中密钥和算法构成了加密系统的基本单元,算法是一些公式、法则或程序,规定了明文与密 文之间的变换方法,密钥则可以看作算法中的参数。
虽然数据库中的数据最终是以文件的形式存储在物理介质上,却不能将整个数据库作为文件 加密。一般情况下,文件是作为一个整体来使用的。传统的文件存储加密时从头至尾顺序执 行,访问加密文件时再从头至尾进行解密。数据库操作最小的单位是一个数据元素,对数据 库的数据存储时,有可能是逐个数据元素的存储,或是一段元素;同时数据库文件较为庞大 ,如果每次访问数据库都进行一次全文加/解密,那么数据的存储速度将非常的缓慢,这在 实际应用中是不可行的。
3 数据库加密要求
由于数据库本身的特点和实际应用需求,对数据库加密一般应具有以下功能:①由于数据库数据信息的生命周期一般比较长,无论采取何种加密方法,都应能做到实际 不可破译的程度。②数据信息在加密后,其占用的存储空间不宜明显增大。③加密和解密速度都应足够快,尤其对解密的速度要求更高,应使用户尽量感觉不到由于 加、解密所产生的延时。④加密系统要有尽可能灵活的授权机制。⑤加密系统应同时提供一套安全的、灵活的密钥管理机构。⑥对数据库的加密不应影响系统的原有功能,应保持对数据库操作的灵活性和简便性。⑦加密后的数据库仍能满足用户在不同类别程度上的访问。
4 数据库加密层次
对数据库的数据进行加密,可选择的层次分别是操作系统层(OS)、数据库管理系统(DBMS)内 核层和数据库管理系统(DBMS)外层。
4.1 操作系统层加密
即在操作系统(OS)层,数据库是以文件的形式存在的,可以按文件形 式加密数据库。它的优点是对数据库管理系统的特殊性要求比较少,实际上只要增加一个中 间层负责加、解密数据即可。但是由于在数据库操作时必须全部加或解密数据库,因此往往 需要付出很大的代价。所以,在操作系统(OS)层对数据库文件进行加密,只适合较小型的数 据库,对于大型数据库来说没有实际的意义。
4.2 数据库管理系统内核层加密
即数据库管理系统(DBMS)内核层实现加密,是指数据在物 理存取之前完成加/解密工作。这种方式势必造成数据库管理系统(DBMS)和加密器(硬件或软 件)之间的接口需要数据库管理系统(DBMS)开发商的支持。这种加密方式的优点是加密功能 强,并且加密功能不会影响数据库的各种操作。但我们现在使用的大型数据库管理系统绝大 部分是国外产品,其内核技术对我们是保密的,实现这种加密方式难度是很大的。
4.3 数据库管理系统外核层加密
将数据库加密系统做成数据库管理系统(DBMS)的一个外层 工具,数据库加密的主要目的是防止内部人员泄密,而内部人员主要指数据库系统的管理、 维护人员,在纷繁复杂的数据中对他们保密的数据(敏感数据)种类并不多,一般不超过10% ,其中大部分是属性和结果等数据,数据量更少,加/解密运算量并不很大。从目前的实际 情况来看,比较实际的做法是在数据库管理系统(DBMS)的外层加一层数据库加密系统。在三 层数据库应用模式中数据库加密系统是在应用服务器端实现的,数据库加密系统应实现加/ 解密、定义加密要求、密钥管理等功能。采用这种加密方式时,其优点是可以根据需要灵活 配置数据库加密,缺点是对数据库操作的效率将有所降低。
5 数据库加密粒度
加密粒度是指数据库加密的最小单位。数据库中的数据根据层次可以分为数据表、数据 记录、字段和数据项,所以数据库数据加密的加密粒度通常有文件级、字段级、记录级和数 据项级。加密单位越小,灵活性越强,适用范围越广,但实现难度就越大。在实际应用时, 要根据不同的安全需求,选择不同的加密粒度,实现既保证数据安全又便于操作的目标。
6 数据库加密算法
加密算法是一些公式和法则,实现把明文转换成密文;解密算法实现的是将密文转换为明文 。根据加密密钥及解密密钥是否相同,加密算法分为对称加密与非对称加密两类,常用的对 称加密算法有DES、AES等,非对称加密算法有RSA、椭圆加密算法等。我们只有根据数据库 系统的特点,将现有的加密算法应用到数据库加密中来。随着数据库加密技术的不断发展, 人们提出了许多对数据库加密方法。由于数据库中数据量大,数据关联程度高,保存时间长 ,因此数据库加密与一般的数据加密有所不同,在选择加密算法时要满足一些特定要求,主 要包括:①数据库加密以后,数据量不应该明显增加。②某一数据加密后,其数据长度不变。
③加解密速度要足够快,数据操作响应时间应该让用户能够接受。
7 结语
数据库加密方面的探索工作已经进行了多年,随着网络技术的发展,基于数据库的安全研究 出现了新课题,就是如何在网络的环境下提供一个安全的数据库环境。数据库的安全性,是 指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。据有关资料报道,计算 机犯罪80%来自系统内部。实现数据库加密以后,各用户(或用户组)的数据用自己的密钥加 密,其他用户无法对其进行解密,保护了用户的秘密。在实际应用中要实现一个有效、快捷 和真正安全的网络数据库是十分困难和复杂的,数据库加密系统首先要解决系统本身的安全 性和可靠性问题,然后采用有效的加密方法对数据进行加密。目前,采用数据加密技术, 对 数据库中高度敏感性数据存储的安全保护是可行的、有效的,但值得进一步深入的研究。
[参考文献]
[1] 陈爱民,于有康,管海明.计算机的安全和保密[M].北京:电于工业出版社 ,1992.
[2] 李琪,李陶深网络数据库[M]重庆:重庆大学出版社,2004.
[3] 刘启原,刘怡编著.数据序与信息系统的安全[M].科学出版社,2000.
[4] 刘荫铭计算机安全技术[M]北京:清华大学出版社,2000.
热门文章:
- 县教育体育局工作总结和2024...2025-01-12
- 市融媒体中心工作总结和2024...2025-01-12
- 2024年度县发改局工作总结和2...2025-01-12
- 县科技局工作总结(全文完整)2025-01-12
- 2024年度落实意识形态工作责...2025-01-12
- 2024年度县数据资源管理局工...2025-01-12
- 2024年教务处工作总结及2024...2025-01-12
- 2024年市国资系统人才工作总结2025-01-12
- 2024年市文化旅游体育局工作...2025-01-12
- 2024年度农业农村工作总结2025-01-12
相关文章:
- 浅析企业干部职工价值取向2021-08-27
- 浅析生态文明审计方法2021-08-27
- 浅析钙业公司压力容器腐蚀减...2021-08-27
- 浅析会计信息安全问题2021-08-27
- 浅析小学班主任班级管理工作2021-08-27
- 浅析高速公路机电工程设计方案2021-08-27
- 浅析新闻传播中知识产权问题2021-08-27
- 浅析央企发挥思想政治工作优势2021-08-27
- 浅析妇产科住院医师规范化培...2021-08-27
- 浅析农村地区通信工程项目规...2021-08-27
- 谈计算机数据库管理技术2021-10-21
- GIS访问网络数据库中若干技术...2022-01-04