APP下载

数据库加密技术及其应用探讨

2015-10-24欧义发

电脑知识与技术 2015年5期
关键词:加密数据库应用

欧义发

摘要:随着信息水平的不断提高,数据库系统所应用的范围也越来越广泛,但是所涉及的安全性问题却日益突出。因此,对数据库加密技术进行研究拥有极大的实际意义。该文首先探讨数据库加密技术,然后探讨其具体的应用,希望能以此来保证信息系统安全运行。

关键词:数据库;加密;应用

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)05-0015-02

在当前的信息管理系统中包含国家政策、经济等安全级别非常高的信息,也包含一般企业的加密信息,而数据库中几乎保存了信息管理系统之中的所有信息,一旦数据库之中的数据被窃取或者是篡改,会直接影响信息系统安全性。所以,做好数据库加密,才能确保信息管理系统本身的安全性。

1 数据库加密技术中的关键问题

1.1 加密执行层次

加密数据库数据主要是包含了操作系统层、DBMS内核层与外层这三种层次。就DBMS而言,其内核与外层加密见下图1、图2所示。

1)在OS层

在OS层进行加密和解密处理,无法正确辨认数据库元素以及各个元素之间的相互关系,因此也无法产生合理密钥。在OS层中,数据库文件要么不加密,要么就会整体性加密,无法合理执行加密、解密处理。特别是大型数据库,在数据库加密与解密处理上,很难的到保障[1]。

2)DBMS内核层的加密与解密

在内核层加密与解密中,包含下述特点:

执行时间:需要在存入数据库之前或者是在取出数据库之时,也就是在物理数据进行存取之前;执行主体:通过DBMS所提供的存储过程函数执行或者是由用户定制。

过程:在数据存储中,调用加密存储过程,触发器就可以实现数据的加密处理,之后,再将密文数据存入到相应的数据库之中。在数据读取中,利用相应的存储过程,触发器就可以调用解密数据,之后将结果读出。

算法:一般是由DBMS系统提供。大多数不提供自己算法的添加接口,所以,相对而言,在选择算法会受到限制。

在实现内核层加密中,需要数据库管理系统本身操作的支持,这一种加密需要在执行物理存取之前就要做好加密与解密处理。其优点在于拥有极强的加密功能,并且DBMS不会对其产生影响,能够实现数据库管理系统与加密功能之间的相互衔接。考虑到同DBMS系统之间的紧密连接,就可以确保粒度加密本身的灵活性,再配合DBMS的授权与访问两方面的控制,就能成为极好的数据保护方案。另外,这一种加密相对透明,但是需要在服务器端进行加密运算,会增加服务器不本身的负载,另外,加密器和DBMS之间的接口支持也需要DBMS开发商的参与。

3)DBMS外层的加密与解密

在外层执行加密与解密主要包含两种模式:第一,图2(a)之中,主要是在应用程序当中实现,在加密过程中可以对应用程序的加密模块加以调用,进而完成相应的工作,然后在传送到DBMS中进行存储;在解密过程中,将数据取出到应用程序之中,通过解密模块,就可以实现数据的解密,并且将结果呈现出来。第二,图2(b)之中,加密可以直接由操作系统提供的功能来实现,这一种加密技术主要是在文件级别上,可以对数据库文件直接加密[2]。

外层加密优点在于数据库服务器负载不会加重,可以在客户端实现加密与解密运算,并且也可以实现网上传输的加密处理,但是其加密功能会受到一定的限制,与数据库管理系统之间具备的耦合性相对偏低。

1.2 算法选择

加密算法的强度直接决定的数据库加密技术的安全程度,所以加密算法会对其安全和性能产生直接的影响。

1)对称加密

对称加密也可以称之为共享密钥加密。本算法应用相对较早,在对称加密算法中,原始数据和加密密钥会通过数据发信方的特殊加密算法处理后,将其转化成加密密文,然后发送出去。如果收信方想要解读,就需要利用密钥以及相同的逆算法来对密文进行解密处理,然后才可以恢复成为能够阅读的明文。考虑到对称加密算法的公开性、速度快、计算量小,所以成为最常见的机密技术手段之一,一般包含了IDEA、AES和DES。

2)非对称加密

非对称加密也称之为公钥加密。其所使用的是完全不同的,但是又能够匹配一对钥匙,即公钥和私钥。基本原理:当发信方只希望收信方才可以解读相应的信息,首先发信方就应该了解收信方拥有的公钥。然后利用其进行原文的加密处理;当收信方受到之后,就可以使用私钥进行解密处理。明显,在进行双方通信之前,收信方需要将随机生成的公钥先发送给收信方。因为两个密钥的存在,这一类方式很适合分布式系统数据加密中使用。一般来说,RSA是最为常见的加密算法,不仅可以实现数据的加密,同时还可以实现数据完整性的认证以及身份的认证。

3)混合加密

对称加密算法因为同一个密钥的使用,所以相对非对称加密,其速度要快很多,因为适合大量的数据处理。但是其缺点在于相同的密钥使用,所有的发送方和接收方必须知道密钥,或者是只需要密钥就可以进行文件的访问,因此,在生成密钥、分发密钥、备份密钥等方面很容易出现问题。但是公钥加密就不会存在分发的问题,所以,在网络系统和多用户中管理密钥非常简单,但是因为难解的数学问题,因此,安全强度相比对称加密要低,并且速度偏慢。

为了将对称加密和非对称加密的优势展现出来,就提出了混合加密。在混合加密中,首先需要对称加密算法以及一个随机生成的密钥来加密数据,之后,利用公钥进行随机密钥的加密处理,之后,将密文一起发送给接收方。通过私钥,接收方可以先解密随机密钥,然后利用其进行密文的解密处理。这一方案兼顾了速度快、安全强度高的特点,在每一次加密之中,都会使用随机密钥,并且密钥不会出现重复的现象。但是在加密过程中,产生密钥和保存密钥还存在一定的难度,因此在实际应用中还欠缺应用广泛度。

2 学籍管理系统中数据库加密技术的应用实证分析

系统由图3所示的表示层、业务逻辑层以及数据服务层共同组成。

加密与解密控制主要是对用户的访问要求进行分析,完成表示层与数据库加密系统之间的交互处理;在加密系统中包含了加密字典管理、密钥管理等,当用户与系统进行交互时,先要使用加密与解密引擎进行处理,然后在将访问传递给数据服务层[3]。

在数据库的加密中选择DBMS的外层加密,如果数据相对敏感,会选择字段级加密粒度的方法,选择速度快、强度高,能够满足安全需求的成熟公钥加密RSA算法来进行数据的加密处理。其加密系统包含了数据库加密与解密和加密字典管理程序,用户利用数据库加密系统就可以在加密字典之中保存基础的信息以及数据库的加密要求,通过数据加密与解密引擎的调用,就可以实现数据的加密、解密以及数据转换等功能,进行满足学籍管理要求,具体的用户访问流程如图4所示。

通过实验表明,上述方法实现的特点如下:

第一,对于最终用户,是完全透明的,按照实际的需求,管理人员可以进行明文和密文的相互转换;第二,加密系统是独立于数据库应用系统的,实现数据的加密也不需要改动数据库的应用系统;第三,在客户端进行加密与解密处理,不会对数据库服务器效率带来影响。

3 结语

目前,为了确保数据库信息安全,就需要数据库加密技术的支持,目的是为了在确保数据库中数据信息安全的基础上,避免出现非授权泄露的问题。数据库加密技术作为一种安全保护数据的有效措施,在今后的发展之中必定会得到更广阔的应用空间。

参考文献:

[1]李庆森.浅谈VisualFoxPro数据库加密技术及其应用[J].计算机光盘软件与应用,2012(20):106+111.

[2]马文斌.数据库中常用的加密技术[J].同煤科技,2008(02):9-11.

[3]周婕,李斌.数据库加密系统设计研究[J].计算机与数字工程,2011(04):106-110.

猜你喜欢

加密数据库应用
一种基于熵的混沌加密小波变换水印算法
认证加密的研究进展
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密