浅析数据库加密技术

2019-07-24 10:33喻子豪
智富时代 2019年6期
关键词:操作系统加密技术数据库

喻子豪

【摘 要】近年来,数据库加密系统已经成为一种有前途的方向,它可以保证数据机密性而不影响其他功能,能够实现对密文执行查询操作。本文首先介绍了数据库安全的相关概念,其次对数据库加密技术进行了介绍,并分析了不同技术的优缺点。

【关键词】数据库;加密技术;操作系统;加密粒度

由于数据库系统中存放着大量的数据,并且这些数据被许多用户共享,所以数据库的安全性问题是必须首先要解决的。数据库安全问题的研究最早开始于上世纪七十年代,IBM研宄人员重点研宄了关系数据库系统的访问控制问题,该项研究使得人们逐渐形成了多级安全数据库的概念。美国计算机国家安全中心于1991年颁布的《可信计算机系统评估标准-关于可信数据库系统的解释》(TDI),将计算机系统安全标准扩展到了数据库系统。该标准将数据库系统的安全性划分为A-B-C-D四种类别七个等级,其中A类别最高;等级越高,代表着数据库的可信度越高,安全性随之增强。目前大多数的数据库管理系统的安全性等级为B1级,即为可标识的安全保护。

一、数据库加密技术

数据库加密系统一般可以从三个不同层次实现对数据的加密,分别是操作系统层、DBMS内核层以及应用层。下面对三个加密层次分别进行介绍。

(1)操作系统层。对于操作系统来说,数据库是一种存储在操作系统上的文件。因此对于操作系统层的加密,可以直接对整个数据库文件进行加密。但是由于操作系统中的文件无法分割,因此不能从加密粒度上对加密进行优化。除此之外,在操作系统层进行加密的效率非常低,并且加密时重复使用同一组密钥,导致密钥泄漏的可能性大大增加。

(2)DBMS内核层。为了实现内核层的加密,通常需要对DBMS的内核进行修改,通过内置数据加解密功能,在数据经过系统的存取之前完成加解密的操作。但是对于用户来说,由于大部分数据库厂商没有公开数据库内核的源代码,因此用户只能局限于DBMS提供的加密算法,无法自定义的加密功能,缺乏灵活性。

(3)应用层。针对应用层的加密方式无需修改DBMS,直接由应用程序对数据进行加密,加密后将密文传输给数据库存储;解密时读取数据库中的密文并对密文进行解密,最后返回给用户。在应用层加密方式中,数据库管理系统仅仅负责数据的存储、查询以及管理,无需对数据进行加解密操作。此外,应用层加密可以较好的控制加密粒度,具有良好的灵活性。综上所述,应用层加密方式可以很好的适应云存储环境下的数据库加密需求:即使第三方数据库服务提供商是不可信的,我们可以将加密后的密文存储在服务器上,无需担心因数据泄漏而造成的损失。但是应用层加密方式需要解决密文检索的效率问题,否则无法适应云计算时代对数据检索的实时性要求。

二、数据库加密粒度

数据库的加密粒度是指对数据加密的最小单元,从数据库结构上划分,通常可以分为文件级、表级、记录级以及字段级。用户可以根据实际应用的需求,灵活地选择合适的加密粒度。

(1)文件级。文件级加密就是对整个数据库文件进行加密,这种方式的优势在于加密简单,密钥少且易于管理。但是每次查询数据都需要对加密后的数据库文件进行解密,严重影响了查询效率,造成系统资源的浪费。

(2)表级。一个数据库中通常包含多张表,表级加密是对数据库中的表进行加密。由于数据库中并不是所有的表都是敏感的,因此我们只需要选择包含敏感信息的数据表进行加密。这样在查询数据时,只要找到数据所在的加密表并对其进行解密即可,提高了查询的效率。而对于其它非敏感的数据表,查询方式和普通查询相同。

(3)记录级。记录级加密是对数据表中的记录进行加密,加密对象是数据表中的一条完整记录,加密后输出记录中各字段的密文字符串。记录级加密时数据库加密中一种较常见的方式,与文件级和表级相比其加密粒度更细,灵活性也更高。但是记录级加密在查询时无法对记录中不需要的字段进行筛选,只能解密完整的记录,大大降低了指定字段査询的效率。

(4)字段级。字段级加密是对数据表中的字段进行加密,又被称为域加密或者属性级加密。与前几种加密粒度相比,字段级加密的灵活性最高,适合数据库中频繁的查询操作。在数据库中,重要和敏感的信息往往只出现在数据表中的某几个字段,因此只需要对这些敏感字段进行加密,从而节省系统资源并且提高査询效率。

三、可搜索加密技术

为了实现云端数据库安全存储和高效检索,研究学者提出了一种可搜索加密方式。它能够支持用户在密文的基础上,针对特定的关键字进行查找,实现了云数据库在不解密密文的前提下对密文的高效检索操作。具体来说,数据拥有者先在本地对数据进行加密,然后将加密后的密文数据上传到云服务器上;数据使用者可以通过关键字搜索密文数据并得到最终的明文结果。根据密码学中密钥类型的不同,可搜索加密可分为可搜索对称加密和可搜索非对称加密。

(1)可搜索对称加密(SSE)。SSE的核心是以对称加密方式生成带关键字的可搜索密文以及检索陷门,通常使用伪随机函数、哈希函数等对称加密算法,具有算法简单、计算速度较快等优点。SSE算法一般包括五个部分:密钥生成、数据加密、关键字对应陷门生成、关键字检索以及数据解密。常见的SSE算法包括SWP、SSE-1、DSSE等。SWP是通过逐个加密关键字并在密文中嵌入哈希值的方法实现。但是该方案的时间复杂度与关键字的数量线性相关,时间复杂度随着关键字数量增加而增大,效率较低;SSE-1方案是提出了一种新的数据结构,适用于静态数据库,但是对于动态数据库并不适用。DSSE是基于红黑二叉树,通过构造树形索引解决了隐私信息泄漏问题并且支持密文的动态更新。

(2)可搜索非对称加密(PEKS)。由于对称密码本身的限制,用户在使用可搜索对称加密时必须要考虑密钥传输的问题。针对该问题,研究人员提出了基于公钥密码体制的可搜索加密方案,能够有效地保证密钥传输的安全。在实际应用中,大多数的PEKS方案都是基于双线性对并且由系统初始化、可搜索密文生成、搜索陷门生成以及密文检索四种算法组成。在PEKS体系中,任何发送方能够采用接收方的公钥对明文进行加密,并发送给服务器;接收方可以对指定关键字生成检索陷门然后发送给服务器,服务器根据陷门检索出密文并返回给接收方。

基于雙线性对的特性,可搜索非对称加密方案能够解决一些较为复杂的搜索语句以及搜索场景,并且在不安全的网络环境中也能适用。但是也因为需要计算双线性对,因此该方案的计算开销较大。

【参考文献】

[1]Kamara S, Papamanthou C. Parallel and Dynamic Searchable Symmetric Encryption[M]// Financial Cryptography and Data Security. 2013.

[2]吕述望,苏波展,王鹏,等. SM4分组密码算法综述[J]. 信息安全研究, 2016, 2(11):995-1007.

猜你喜欢
操作系统加密技术数据库
海洋水文信息加密技术方案设计与测试
数据加密技术在计算机网络通信安全中的应用
在计算机网络安全中数据加密技术的应用
基于四叉树网格加密技术的混凝土细观模型