APP下载

数据库安全机制综述

2016-02-22周杨景

西部皮革 2016年16期
关键词:数据库安全同态加密算法

周杨景

(广东工业大学信息工程学院,广东 广州 510006)



数据库安全机制综述

周杨景

(广东工业大学信息工程学院,广东 广州 510006)

数据库技术作为一门日趋成熟的计算机技术,安全问题不容忽视,尤其在云计算这个新的计算机时代里。结合云计算环境以及目前威胁数据库安全的主要问题,本文会从数据库安全机制的概念入手,并对其实现技术进行深入探讨,并从几个角度对数据库安全机制实现方案进行阐述,最后根据收集数据总结数据库安全机制的发展趋势。

数据库;云计算;安全机制;数据库加密

1 数据库应用的环境背景

技术发展促使软、硬件设施性能产生质的飞跃,而“云计算”理念的提出也是的老旧的设备系统能与新设施有效整合无论是互联网还是局域网,通信速度比以前更快,数据吞吐量更高,高并发的环境也让相关业务系统对数据的处理更加高效,新型企业服务器较传统的服务器更为专业,部署更为简约稳定。

云计算是在分布式处理等技术的基础上发展起来的,它可以自我维护和管理庞大的虚拟计算资源,提供各种IT服务[1]。根据其提供者,可以划分为私有云和公有云。前者的资源供包含多个用户的单一组织专有,平台的业务数据资源与该资源管理组织有十分密切的业务关系,典型的例子有银行,政府机构,电信等通信运营商。后者的资源有第三方组织所有并依据相关行业规定租赁资源给相关组织,平台内的相关业务数据可能与第三方并无关系,比如阿里云,百度云盘,360云盘,腾讯微云等。

数据安全问题一直是企业关注的,每个公有云提供商都对外宣称,其服务在各方面都是非常安全,但对企业而言,特别是大型企业,和业务有关的数据是其生命线,是不能够受到任何形式的威胁。所以很多企业更多会采用私有云的技术对其传统的数据中心系统进行轻量级的改造以保证其数据安全稳定的使用。正因如此,基于数据库的安全机制更有用武之地了。

2 数据库安全机制的概念

传统的数据库安全的定义,以C.P.Pfleeger 在“Security in Computing-Database Security.PTR,1997”中对传统数据库安全的定义描述了其典型的特性,云数据库的对数据库安全特性提出了新的要求。文章[1],[6]中提出了补充了易用性,高可用性,同态性,其中同态性指的是授权用户对已加密的原数据处理后得到的结果与采用相同处理作用的原数据再加密结果一致。

相对而言,数据库安面临着的威胁也可以分为以下几类。数据泄露,数据库环境本身和数据库管理方面存在漏洞,导致数据通过各种渠道被人窃取。数据篡改,由于数据位置或传播途径已被人获取,通过已知信息将数据进行恶意修改或删除,致使数据不准确,或是不可使用。数据灾难,由于自然原因或人为因素导致数据库环境故障,库内数据无法使用。

数据灾难已有学者提出数据灾备冗余技术和高可用性技术,本文不做详细介绍,文章的重点集中在数据泄露,数据泄露所造成的影响确实需要受到重视,而其造成威胁的手段主要来自于外界的漏洞进攻和内部管理漏洞,类似文章[3]提出的SQL注入等,而类似这样的进攻手段采取相应的防火墙设备能很程度提升防护的效率。来自于内部的管理漏洞,使得数据相对于经常执行开发和维护工作技术管理人员是可见的,这对于数据本身的安全造成了很大影响,这种现象本文中叫做数据耦合。

3 数据库安全机制的实现技术

为保障数据安全性,有效地实现技术人员与业务数据的分离,必须要有基于数据库服务器运行原理的实现工具和技术。论文[8]中首次提出了“服务的数据库”的概念,为提高可用性将数据库进行外包,交托给非可信的第三方管理,这极大地推动了数据加密安全技术的应用和研究。

核心算法作为核心技术尤为重要。文章[8]提出了好的数据库应满足的标准。传统加密算法有对称加密算法和非对称加密算法,前者运行速度快,后者破译难度高,典型对称加密算法有DES,AES等,它们都是发展较为成熟的分组对称加密算法,[9]中提到非对称算法比较典型的有RSA、Elgamal、背包算法、Rabin、D-H、ECC等,应用较为广泛的为RSA算法,以及基于Diffie-Hellman密钥交换算法Elgamal。

为适应复杂化的数据库的应用场景,数据加密算法的性能也在提高,典型新算法有散列加密算法和同态加密算法,前者主要利用散列函数的特性,实现消息摘要,验证,以及保护用户秘钥的效果,这种算法是不可解密的,而后者算法能对已加密的原数据在不解密状态下进行与明文相同的操作,有助于用户实现不解密操作数据,降低了工作量和数据处于危险的概率。典型的散列算法有MD5,而典型的同态加密算法有paillier算法,rsa算法,而paillier具有加法同态特性,RSA算法具有乘法同态特性,文章[6]提出的算法具有全同态特性。

算法组合的机制能兼顾安全和运行效率很很多,文章[10]中提出一种二级密钥机制,通过对称加密算法加密明文,非对称加密算法加密秘钥,这种方法虽然在效率和方法上得到了提升,但这对秘钥的管理成了新的研究课题,文章[4]提出的三级秘钥机制有效地将秘钥管理的重心转换到了库外。

随着加密明文的数据量与并行访问和操作的用户越来越多,授权访问控制所带来的秘钥管理问题成了研究的热点,文章[11]提出了一种一种新的基于全局逻辑层次图(global logical hierarchical graph,GLHG)的密钥推导机制的,有效的减少了秘钥管理的数量和管理得难度,而且适用于用户节点增加和减少的复杂情况。

4 数据库安全机制的实现方案

首先在机制加载上,结合一款开源数据库自行开发符合安全机制要求的定制数据库,典型的有MySql,Postgresql。也可利用数据库本身提供的工具进行二次开发以实现安全机制,如Oracle数据库就引入了DBMS_OBFUSCATION_TOOLKIT的PL/SQL包,支持最常用的分组加密算法,利用它开发而成的存储过程可以很容易在库内实现加脱密,而执行过程对数据查阅者而言是透明的。还有种常见的方式是将数据的加脱密过程进行“外包”,即采用客户端加脱密的方式处理上传和查询的数据,库本身只作为存放数据的库,这种模式被称为DAS模型。这三种加载方式各有优劣,第一种能够通过不断地“开发-维护-升级改造”构建健壮的安全机制,通过这种方式能够更精确的分离技术人员与业务数据,但是成本太高,难度大,第二种方式弥补了第一种的不足,提供基于SQL的优化,如Oracle对PL/SQL程序在内存中专门开辟了一块共享SQL区来增加PL/SQL的执行效率,但这种方式带来了两个问题,数据在传递过程中是明文状态的,另一个是数据库库内加密大多是对称加密,若秘钥被破解,密文数据就会曝光,第三种方式弥补了第二种方式的不足,而且在加密算法的选择上也比第二种更为丰富,但是通过间接的手段调用SQL指令显然使得程序结构复杂,维护优化难度大,所以综合考虑,使用第二种方式进行其他密文处理过程而第三种方式来实现安全机制的加脱密处理是一种比较可取的方式。

算法作为安全机制核心,能够决定安全机制的品质和性能,而为构建高效的安全机制,算法选择或是开发多数取决于业务环境和相关数据组织。针对特定攻击的算法注重检测比如文章[3]所提出的算法就是针对可能会产生SQL注入攻击的潜在恶意IP和恶意用户检测。有些算法则是为特定安全机制而设定的,文章[4]提出的秘钥生成算法很适合其三重秘钥管理机制中对明文数据项的差异化分组加密提供差异化工作秘钥。而云计算环境下对处于加密安全状态的数据的操作和高效查询分析,前提是使用具有同态特性的加密算法,文章[6]开发出的全同态加密算法是针对云数据库字符和数字数据,并且能基于算法有效地返回所需的关键数据。无论是传统的加密环境,还是云计算环境,秘钥的管理都是需要考虑的重要问题,其中一个典型的解决方案就是秘钥更替。文章[14]提出的秘钥推导机制可以应对云计算环境的多用户情况下的秘钥更替同时支持动态扩展用户节点,这种思路可以借鉴用来研究对于关系型数据库表数据的加密秘钥的管理上增加授权访问的属性。亦有不少学者利用数据特点和数学原理,同时为了优化和改善已有算法存在的缺陷。文章[13]中提出的算法利用混沌特性生成难以分析的伪随机序列实现序列加密,其中的明文序列置换步骤,就可以借鉴用来提供解决有序明文加密在语序上被人攻击的问题。

安全机制作用的最终对象是数据,以合适的数据结构和形式来承载和展现数据是一个值得探讨的问题,以数据库端而论,传统的是以关系型表作为数据的承载体,所以此类数据被称为结构化数据,而现在的非结构化数据很多组织和管理方式都是由关系型表演化而来,比如文章[1]提出了两种新型的键值对和行组表组的关系模型,这两种新型数据模型其原理和方法都是基于关系型数据表的。所以对关系型数据表的处理方法和形式的选择对数据的使用效率也是有影响的。传统的加密信息大多为数字类型,而随着大家对个人隐私的保护和重视,而类似于文章[4],加密的对象慢慢被字符型型所替代,而像文章[13]中构成待加密的图片的二进制数据类型在数据库中都能转化成字符型数据。不过,为了满足安全机制的加密要求,必须针对加密算法定制数据类型,文章[6]定制的BIGINT数据类型,就是专门针对同态加密所使用的数据类型,但基于现阶段的通用数据类型,这样虽然忽视了数据类型通用化的原则,不利于数据迁移,但在一定程度上增加了数据的安全性,令敌手无法很轻松的解析特定数据类型。

5 数据库安全机制的发展趋势

数据库安全机制的提出,其中一个重要的出发点就是实现敏感数据与技术人员的隔离,但其研究的前提就是保证系统可用,随着各方学者,技术人员不断深入的研究和探索,将有可能出现以下的发展趋势:

(1)自定义数据类型的数据库加密算法的开发,传统的数据类型虽然具有通用性,便于迁移处理,基于这一点,开发出具有加密定制化的数据库加密类型,既满足了加密算法特定的操作要求,又能保证密文数据难以被解析出来。

(2)加密数据使用的性能优化,安全机制的实现前提是要保证数据库整体可用,要满足这一点,就必须研究密文数据在数据库中的使用性能,比如查询时对I/O的影响,sql执行计划的响应时间,相对于明文数据多出的冗余空间对磁盘空间的影响。而这方面的研究有助于推动加密算法在数据库方面的应用。

(3)基于逻辑图的秘钥管理技术,要实现密文数据应用在多用户交互访问的环境下,必须要对来访用户提供授权属性,同时也能动态扩展访问用户控制节点,而这种技术刚好满足这两个条件,同时这种技术也支持半可信代理重加密手段,定时更新加密秘钥,保证数据安全。(4)基于混沌理论的伪随机技术,由于混沌系统非周期性、类随机性和非重复性,能够生成性能较好的伪随机数,逐渐被学者们重视用来研究为其他数学过程提供更好的随机辅助。

(5)高安全性同态加密算法,同态加密算法虽然具备能直接操作密文的优势,文章[14]提出现阶段普遍具有同态属性的加密算法大多都局限于选择明文攻击下的安全,很多学者逐渐将研究的重点转向更高安全性的算法上,比如学者在文章[15]提出的基于容错学习体制的同态加密体制。

6 结束语

本文结合数据库技术和加密安全技术描述安全机制的原理和概念,技术,方案,以及可能会出现的趋势和研究方向,并结合当前云计算的复杂环境环境下列举出社会各方研究人员,工程师,相关企业单位对安全机制的各方面技术的推进与改善,接着通过机制加载,库选型,机制范围,算法选取,数据处理对象几个角度结合提到的技术,列举了业界一些已提出的方案,并对此进行比较,最后根据所学文献对数据库安全机制可能出现的趋势和方向作出了一个归纳性的判断和选择。

[1]林子雨,赖永炫,林琛,谢怡,邹权.云数据库研究[J].软件学报,2012,05:1148-1166.

[2]陈志伟.同态密码理论的研究与应用[D].西安电子科技大学,2014.

[3]陈小兵,张汉煜,骆力明,黄河.SQL注入攻击及其防范检测技术研究[J].计算机工程与应用,2007,11:150-152+203

[4]王元珍,冯超.数据库加密系统的研究与实现[J].计算机工程与应用,2005,08:170-172.

[5]安然,陈驰,徐震.数据库加密中间件的设计与实现[J].计算机工程与设计,2009,14:3261-3265.

[6]李美云,李剑,黄超.基于同态加密的可信云存储平台[J].信息网络安全,2012,09:35-40.

[7]H.Hacigumus,B.Iyer and S.Mehrotra,“Providing database as a service,”Data Engineering,2002.Proceedings.18th International Conference on,San Jose,CA,2002,pp.29-38.

[8]朱勤,骆轶姝,乐嘉锦.数据库加密与密文数据查询技术综述[J].东华大学学报(自然科学版),2007,04:543-548.

[9]非对称加密算法[DB/OL].http://baike.baidu.com/lin kurl=WJ6Zvi0Xmea1b64AvvXbc3h3vs9j2cr8-vKYkVuM5QVJ 5aeyOgmbS1IpShpcjwji98qX0sOg8Hsamp_w2dVLga#5.html,2016

[10]朱鲁华,陈荣良.数据库加密系统的设计与实现[J].计算机工程,2002,08:61-63.

[11]程芳权,彭智勇,宋伟,王书林,崔一辉.可信云存储环境下支持访问控制的密钥管理[J].计算机研究与发展,2013,08:1613-1627.

[12]蔡琴.XML加密特点及粒度选择[J].新疆师范大学学报(自然科学版),2006,03:81-84.

[13]赵雪章,席运江.一种基于混沌理论的数据加密算法设计[J].计算机仿真,2011,02:120-123.

[14]光焱,祝跃飞,顾纯祥,郑永辉,汤全有.一种针对全同态加密体制的密钥恢复攻击[J].电子与信息学报,2013,12:2999-3004.

[15]Brakerski Z and Vaikuntanathan V.Efficient fully homomorphic encryption from(standard)LWE[C].The IEEE 52nd Annual Symposium on Foundations of Computer Science Proceedings,Palm Springs,California,USA,2011:97-106.

周杨景(1991-),男,湖南湘潭人,研究生,主要研究领域为数据库技术,广东工业大学信息工程学院。

TP311.13

A

1671-1602(2016)16-0195-03

猜你喜欢

数据库安全同态加密算法
关于半模同态的分解*
拉回和推出的若干注记
τ-内射模的若干性质①
基于整数矩阵乘法的图像加密算法
管理信息系统中数据库安全实现方法
基于混沌系统和DNA编码的量子图像加密算法
混沌参数调制下RSA数据加密算法研究
浅谈高速公路数据库安全审计
一种基于LWE的同态加密方案
高职院校计算机网络安全研究与分析