常裕文档网    > 范文大全 > 公文范文 >

数据库加密研究现状与分析

时间:2022-05-30 19:35:03  浏览次数:

摘 要:在实际使用数据库的过程中,并不是所有人都能够对数据库进行信息浏览和查询,因此,为了保证数据库中的数据不被非法用户所访问,就要对其进行安全保护,而对数据库进行加急就是一个很好的安全保护方法。本文对数据库系统的安全需求进行分析,分别介绍了三种数据库加密方法的实现方式并分析它们的优缺点,为数据库加密探索最佳的解决方案

关键词:数据库管理系统 数据库加密 加密存储

中图分类号:TP311.13文献标识码:A文章编号:1674-098X(2012)08(b)-0044-01

数据库是长期存储在计算机的相关数据的集合,数据库系统安全主要是指保护数据库系统软件和其中的数据不因偶然和恶意的原因而遭到破坏、更改和泄露[1]。数据库安全性需要从完整性、保密性和可用性等方面加以考虑。现有的数据库管理系统,大多数都采用了相应的用户认证、授权管理、安全审计等安全技术,很大程度上解决了有关敏感数据的防窃取和防篡改问题。但是缺乏相应的数据库加密技术[2]。数据库加密技术的研究和应用极大地解决了数据库中数据的机密性问题。使用数据库安全保密中间件对数据库进行加密是最简便直接的方法。主要是通过DBMS内核层(服务器端)加密和DBMS外层(客户端)加密以及在操作系统级直接对数据库文件进行加密[3]。

1 数据库安全的重要性

1.1 保护敏感信息和数据

多数企业和政府部门的数据都保存在各种数据库中,如有关的个人资料,包括工资、个人信息等。有些数据库服务器还保存有敏感的金融数据和战略上的信息,这些信息必须保护起来防止被非法获取。有些数据库服务器还保存有员工的重要资料,如银行账号。信用卡密码等。

1.2 数据库安全漏洞的威胁

有些数据库的安全漏洞在威胁数据库安全的同时,也威胁到了操作系统和其他可信任的系统,甚至有些数据库提供的机制能够威胁到网络底层的安全。不重视数据库安全,即使数据库运行在一个非常安全的操作系统中,入侵者只需执行一些内置在数据库中的扩展存储过程(存储过程是一组完成特定功能的SQL语句集,经编译后存储在数据库中。扩展存储过程由数据库管理员或SQL Server开发人员编写,可以引用SQL Server外部的函数),就可以通过由数据库获得操作系统的权限。由于存储过程能够提供一些执行操作系统命令的接口,而且能访问所有的系统资源。因此,如果这个数据服务器还同其他服务器建立了信任关系,那么,入侵者就能够对整个域的计算机安全产生严重威胁。

2 数据库安全威胁

数据库所受到的安全威胁主要有:(1)硬件故障引起的信息破坏或丢失。例如:存储设备的损坏、系统突然断电等造成信息的丢失或保护;(2)软件保护失效造成的信息泄露。如果,操作系统漏洞、缺少存储控制机制或破坏了存储控制机制而造成信息的泄露;(3)应用程序设计出现漏洞,例如:被黑客利用并安装了木马程序。(4)计算机病毒入侵系统,造成信息的泄露、丢失或破坏。(5)计算机放置在不安全的场所被窃听。

3 三种数据库加密方法的实现方式和优缺点

3.1 软件加密

3.1.1 库内加密

(1)实现方式。库内加密是在DBMS内部实现加密,加密/解密过程对用户透明。DBMS在对数据库进行物理存取之前完成加密/解密工作,加密密钥通常保存在DBMS能够访问到的系统表(或称数据字典)中。

(2)库内加密的优缺点。优点:加密功能强,与库外加密方式相比,集成了DBMS原有的功能。此外,对于数据库应用来说,库内加密方式是完全透明的,可以直接使用。缺点:对数据库系统影像较大。DBMS除了完成正常的功能外,还要进行加密/解密运算,而加密/解密运算需要在服务器端进行,因此加重了数据库系统的负担。密钥管理安全风险大。由于加密密钥通常与数据库保存在一起,因此,加密密钥的安全保护依赖于DBMS中的访问控制机制。加密功能依赖DBMS开发商的支持,DBMS通常只提供有限的加密算法与加密强度,从而使自主性大大降低。

3.2.1 库外加密

(1)实现方式。在DBMS内核层实现加密存储将数据库加密系统做成DBMS一个外层工具。“加密定义工具”模块的主要功能是定义如何对每个数据库表数据进行加密。在创建了一个数据库表之后,通过这一工具对该表的加密特点进行定义,“数据库应用系统”的功能是完成数据库定义和操作。数据库加密系统将根据加密要求自动完成对数据库的加解密。

数据库管理系统与操作系统的接口方式有3种:直接利用文件系统的功能、利用操作系统的I/O模块,直接调用存储管理,在采用库外加密时,可以先将数据在内存中使用DES、RSA等算法进行加密,然后文件系统把每次加密的内存数据写入数据库文件中,读入数据时再逆向进行解密即可。

(2)优缺点分析。库外加密的密钥管理比较简单,只需要借用文件加密的密钥管理方法即可。缺点是对数据库的读写比较麻烦,每次都要进行加密/解密的工作,对程序的编写和数据库的读写速度都会造成影响。

3.2 硬件加密

硬件加密是相对与软件加密而言的,它是在物理存储器与数据库系统之间加上一层硬件作为中间层,加密和解密工作都是由添加的硬件完成的。不过由于添加的硬件与原计算机硬件之间可能存在兼容性问题,而且对读写控制的设置也比较繁琐,所以这种加密方式不太广泛。

3.3 基于操作系统层次的存储安全保护方案

操作系统处于软件系统的核心,是所有应用软件得以运行的平台,所有应用数据的存储最终都体现为操作系统中的某些文件。文件系统是操作系统中实现数据存储的关键部分,是实现网络存储系统必不可少的组件,位于网络存储系统的核心,研究在文件系统中实现存储安全是最简单直接的方法。

针对文件系统的增强和修改来实现存储安全保护方案是目前学术界最为关注的热点研究方向,具体可以分为以下方面:(1)增强文件服务器的安全,如AFS+Kerberos方案;(2)客户端加密文件系统,如CFS、CFS方案;(3)客户端直接访问磁盘的认证机制,以NASD、SNAD系统为代表;4)高度可扩展的文件系统,以安全文件系统SFS和Ocean Store为代表。

4 结语

数据库加密可在DBMS内部、外层以及操作系统文件级进行。由于DBMS内部实现数据加密依赖于数据库厂商,独立性差,而DBMS外层实现数据加密导致数据库功能受限且效率低,针对文件系统的增强和修改来实现数据库存储安全保护是数据库加密的最佳实现途径。

参考文献

[1]刘晖,彭智勇.数据库安全[M].武汉:武汉大学出版社,2007.

[2]郭江平.基于 SQL Server的图书馆数据库安全技术研究[J].计算机安全技术,2009(20):115-116.

推荐访问:加密 现状 数据库 分析 研究


[数据库加密研究现状与分析]相关文章