数据库加密系统的设计及实现

2016-07-18 00:37:47张毅
大科技 2016年11期
关键词:加密算法解密密钥

张毅

(荆楚理工学院 448000)

数据库加密系统的设计及实现

张毅

(荆楚理工学院 448000)

21世纪计算机、网络、通信技术发展迅猛,信息系统在社会经济的各行各业得到大量应用,数据库系统具有强大的数据管理组织能力,可以存储大量的信息,作为信息系统数据的支撑平台,得到了广泛应用。当今社会信息安全问题日益突出,数据库系统的安全性将直接的影响到信息系统的安全,因此,对数据库设计一套高效可行的加密系统是提高信息系统安全的重要保障。本文主要针对数据库加密系统的设计及实现提出一些见解进行分析。

数据库;加密;解密;设计;实现

信息化的年代,离不开网络信息资源,而网络信息的系统中最重要的不是网络与设备,而是数据库。数据库存储的信息涉及国家、企业、个人等方方面面,信息量丰富。其安全问题也备受企事业单位的重视,实际上大部分企事业单位只通过防火墙、用户密码验证等措施来保障网络系统的安全,而没有对数据库本身采取安全措施。为了保护数据安全,需要对数据库设计加密系统。

1 关于数据库加密系统的设计

1.1 数据系统的安全

数据系统的安全可以分为以下三点:

(1)保密性,指信息只能被授予权限的用户进行访问。

(2)可用性,指任何授权的用户想要获取数据信息时应该立即就能获得。

(3)完整性,指数据在传输、存储的过程中,确保数据不被未授权的用户篡改。

可见,现在所盛行的对数据库安全保护的措施有三方面,分别是实行访问控制策略、用户身份认证方式以及跟踪和审计。

1.2 数据库存在的问题

尽管各企事业单位都在寻求最好的安全措施去运用于对数据库的保护中,但是在实践的过程中,仍然存在着或多或少的不完善。比如说,账号本身设置的密码强度不足,加上用户对数据安全重视力度不够。有些用户的密码和账户不小心泄露了,而没有及时定期修改或禁止该账户的访问权限。有些用户为了方便记忆,将账户和密码设置为简单的数字或者英文字母这样的弱口令,非法人员很容易就能侵入系统,非法获取数据信息。还有些用户的账号权限高而没有设置相应的过期时间,也容易埋下数据库系统的安全隐患。

缺乏角色分离和审计跟踪,DBA权限过大和备份介质遗失以及数据库入侵者都是现在数据库存在的问题[1]。

2 数据库加密的要求

2.1 加密算法的选择

加密算法是指依据数学原理设计公式和法则,能够将明文和密文进行相互转换一种方法。数据加密算法非常丰富,选择合适的加密算法应满足以下要求:

(1)明文和密文的长度应相差不大,节省网络带宽,提高加密解密的速度。

(2)因为数据库存储的信息具有持久性,时间长,且访问量大,所以加密算法强度非常高,保障数据安全。

(3)由于对数据库的访问方式都是随机进行的,因此,明文和密文的转换速度要非常的快,对数据操作的响应时间应在用户能够接受的范围内。

当下,在数据库加密体系中,经常使用的几种算法有DES,三重DES,AES,RSA算法和R算法,因为R算法综合了RC5和RC6的优点,而且也保持了小的分组,因此,对于数据库加密使用的算法中,R算法最适合。再加上其安全性比RC5和DES要高,密钥长度能够灵活的变化,有效的抵抗密钥的各种恶性的攻击,同时加快解密速度,能满足数据加密的要求[1]。

2.2 加密粒的选择

一般情况下,数据库加密粒度分为以下三种:

(1)表级加密,指的是在表一级进行加密,其加解密的主要对象是二维关系表。如果依照操作系统中文件的加密方法进行数据库的加密,明显是不太适用。

(2)记录级加密,主要是指在表一级上对每条记录进行加密的一种方法。其特点是把每条记录作为操作对象,进行统一的加解密处理。这种方法较前一方法提高了数据安全,在实际操作的过程中较方便,不过缺乏灵活性。

(3)数据项加密,指的是对每条记录中的每个数据项直接进行加解密处理。其特点是安全性高、灵活度高,不过操作复杂的[2]。

2.3 密钥管理选择

数据库中存储的数据信息具有持久性,时间跨度可达几年甚至几十年,因此数据库中的加密密钥不能随用随清。为了可以保证密钥在产生和消亡期间不会被暴露或者泄露出去,就必须要对密钥进行一系列合理的管理措施。因此,一个设计良好的密钥管理方案既能充分保障数据库系统的安全性,又能够满足数据库加密和解密的效率。

2.4 不影响合法用户

加密系统影响数据操作响应的时间要求尽量的短,对数据库的合法用户来说,数据的录入和修改以及检索操作都应该是透明化的,不需要去考虑数据的加密解密问题。

3 数据库加密系统的实现

3.1 库内加密

库内加密其实指的是在关系数据库管理系统内核层实现加密的过程,加密或解密的过程要求必须是透明化的,只有在完成数据的加密和解密工作以后,才可以在库里进行下一步的存取操作。其优点是具有更强的加密功能,在DBMS内完成各种加密功能,以实现DBMS和加密功能之间的无缝衔接。

3.2 库外加密

库外加密实际上是指在关系数据库管理系统之外,增加一台服务器,在加解密服务器实现数据的解密和加密的操作,而DBMS主要负责管理密文。和库内加密相比而言,库外加密则拥有其自身的优点:①加密和解密的过程是在专门的服务器中而实现的,速度快性能高。②加密的数据和密钥都是分开存放着的。但是,库外加密的方式也存在缺点,如果数据库中出现加密某些功能时受到限制,数据库的数据完整性就会受到损坏。而在新兴的数据库外包服务模式中,加密就必须在客户端来完成。

4 结束语

数据库加密系统的设计和实现,从一定程度上不但可以使用户免除掉后顾之忧,还能够有效的对数据信息起到了加密保护的作用,保护了敏感重要数据的安全,让那些入侵者得不到信息或者获取到无效的信息。

[1]马兴涛.数据库透明数据加密技术的研究与应用[J].数字社区:智能家居,2011(5).

[2]怀艾芹.基于DBMS外层的网络数据库加密系统的研究与设计[J].电脑开发与应用,2011,24(4).

[3]楚志凯,吕秀平,路晓亚.SQL Server的数据库加密技术的研究与实现[J].电脑学习,2010.

TP309.7

A

1004-7344(2016)11-0247-01

2016-3-26

猜你喜欢
加密算法解密密钥
探索企业创新密钥
解密“热胀冷缩”
解密“一包三改”
少先队活动(2020年9期)2020-12-17 06:17:31
密码系统中密钥的状态与保护*
炫词解密
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
电信科学(2017年6期)2017-07-01 15:45:06
基于小波变换和混沌映射的图像加密算法
Hill加密算法的改进
解密“大调解”
中国卫生(2014年12期)2014-11-12 13:12:38