数据库加密技术的演进与对比

安华金和 2020-04-09
作者 | 安华金和

数据是信息系统的核心资产,政府机关、企事业单位80%的核心信息是以结构化形式存储在数据库中的。数据库作为核心资产的载体,一旦发生数据泄露将造成严重危害和损失。作为信息安全防护的“最后一公里”,数据库安全的重要性已被越来越多的政府部门和企业所关注和重视。虽然数据库外围的安全防护措施能够在很大程度上防止针对数据库系统的攻击,但“核心数据安全”容不得半点差错。正因如此,数据库加密技术成为了数据库安全防护的最后防线,以确保数据库系统即便被攻陷,存储在数据库中的核心数据仍将得到保护。

数据库加密技术主要解决两个方面的问题:

一是在被拖库后,避免因明文存储导致的数据泄露;

二是对高权用户,防范内部窃取数据造成数据泄露。

1、避免因明文存储导致数据泄露

通常情况下,数据库中的数据是以明文形式进行存储和使用的,一旦数据文件或备份磁带丢失,可能引发严重的数据泄露问题;而在拖库攻击中,明文存储的数据对于攻击者同样没有任何秘密可言——如Aul、MyDul等很多成熟的数据库文件解析软件,均可对明文存储的数据文件进行直接分析,并输出清晰的、结构化的数据,从而导致泄密。

数据库加密技术可对数据库中存储的数据在存储层进行加密,即使有人想对此类数据文件进行反向解析,所得到的也不过是没有任何可读性的“乱码”,有效避免了因数据文件被拖库而造成数据泄露的问题,从根本上保证数据的安全。

2、防范内部高权限用户窃取数据

主流商业数据库系统考虑到初始化和管理的需要,会设置以sys、sa或root为代表的数据库超级用户。这些超级用户天然具备数据访问、授权和审计的权限,对存储在数据库中的所有数据都可以进行无限制的访问和处理;而在一些大型企业和政府机构中,除系统管理员,以数据分析员、程序员、服务外包人员为代表的其他数据库用户,也存在以某种形式、在非业务需要时访问敏感数据的可能。

数据库加密技术通常可以提供独立于数据库系统自身权限控制体系之外的增强权控能力,由专用的加密系统为数据库中的敏感数据设置访问权限,有效限制数据库超级用户或其他高权限用户对敏感数据的访问行为,保障数据安全。

数据库加密技术的演进

数据库加密技术从诞生至今,已经历多个阶段,采用过多种实现方式,并一直处于持续发展之中。对于数据库加密技术,我们可以从应用层、数据库中间件、数据库系统自身、数据库系统所依赖的文件系统以及存储硬件等方面考虑其具体实现。

微信图片_20200408170611 (1).jpg

(数据库加密层次)

目前,不同场景下仍在使用的数据库加密技术主要有:应用系统加密、前置代理加密、后置代理加密、表空间加密、文件系统加密和磁盘加密。下文将从“演进”的角度,对这六种数据库加密技术的原理和适用场景逐一进行介绍:

1、应用系统加密

应用系统加密技术被认为是最早的数据库加密形式。但严格来讲,应用系统加密实际上是针对数据而非数据库进行的加密。

· 技术原理

在应用系统层的源代码中对敏感数据进行加密,加密后将密文存储到数据库中。可以直接在应用系统的源代码中以独立的函数或模块形式完成加密;也可以通过源代码的方式封装出应用系统相关业务专用的加密组件或定制的加密API来完成加密。

微信图片_20200408170614 (1).jpg

(应用系统加密技术原理)

· 适用场景

通常情况下,当业务系统仅对有限的敏感数据存在加密需求时,可以考虑使用应用系统加密技术。这里的“有限”包含两方面含义:一方面,是需要加密处理的敏感数据对应的表或字段相对较少;另一方面,是需要加密处理的敏感数据在整个业务系统中的使用相对不多。

比如,仅对业务系统中与员工薪资相关的敏感数据进行加密保护。在实际业务中,薪资信息作为员工信息的一个子部分,在数据库中通常以独立表的形式存在,与员工基础信息、教育信息、履历信息等共同构成员工信息子系统;同时,薪资信息通常只在员工薪酬模块或子系统中使用,与其它业务模块相关性不高,一般也不会在其它业务模块中被引用。

2、前置代理加密

前置代理加密技术是在应用系统加密技术基础上发展起来的,其表现形式通常是由专业的数据安全厂商推出的数据库加密产品。

· 技术原理

类似于应用系统加密技术,前置代理加密技术也是在数据保存到数据库之前对敏感数据进行加密,并将密文存储到数据库中;而不同于前者的是,前置代理加密技术通常是以“前置代理加密网关”这种独立组件产品的形式实现的。

微信图片_20200408170618 (1).jpg

(前置代理加密技术原理)

· 适用场景

通常情况下,当业务系统仅对有限的敏感数据存在加密需求,且用户自身无能力或不愿意进行加解密的相关研发工作时,可以考虑使用前置代理加密技术,即采用第三方厂商的前置代理加密网关系统对敏感数据进行加密保护。

3、后置代理加密

为了避免数据加密给数据访问和处理带来性能上的严重损失,部分数据库厂商在数据库引擎层提供了一些扩展接口和扩展机制。通过这些扩展的接口和机制,数据库系统用户可以通过外部接口调用的方式实现对数据的加解密处理,同时也能够在一定程度上降低对数据库系统性能的影响。

· 技术原理

后置代理加密技术是基于数据库自身能力的一种加密技术,可充分利用数据库自身提供的定制扩展能力实现数据的存储加密、加密后数据检索和应用透明等目标。其中,能够完美实现后置代理加密的典型代表是Oracle数据库——通过“视图+触发器+扩展索引+外部方法调用”的方式实现数据加密,同时保证应用的完全透明。

微信图片_20200408170628 (1).jpg

(后置代理加密技术原理)

· 适用场景

后置代理加密技术的价值主要体现在“应用透明和独立权控”两大能力上。因此,在不希望对应用系统在加密时进行改造,或需要对数据库超级用户的数据访问权限进行控制的场景下,如果查询涉及的加密列不多且查询结果集中包含的数据记录也相对不多时,可以考虑使用后置代理加密技术对数据库进行加密。

4、透明数据加密

后置代理加密过于依赖数据库自身所具备的扩展机制,且数据在数据库共享内存中也是密文,导致在部分场景下的数据库性能表现不佳。因此,基于后置代理加密技术又发展出了透明数据加密技术,目的是在保持后置代理加密优势的同时,降低对数据库自身扩展机制的依赖性,从而让数据库系统性能保持在相对合理的水平之上。

· 技术原理

透明数据加密,全称为Transparent Data Encryption(TDE),是一种对应用系统完全透明的数据库端存储加密技术,通常由数据库厂商在数据库引擎中实现——在数据库引擎的存储管理层增加一个数据处理过程,当数据由数据库共享内存写入到数据文件时对其进行加密;当数据由数据文件读取到数据库共享内存时对其进行解密。也就是说,数据在数据库共享内存中是以明文形态存在的,而在数据文件中则以密文形态存在。同时,由于该技术的透明性,任何合法且有权限的数据库用户都可以访问和处理加密表中的数据。

微信图片_20200408170632 (1).jpg

(透明数据加密技术原理)

· 适用场景

透明数据加密技术由于其自身的优势特性,使其适用于几乎全部有数据库加密需求的应用场景,尤其是在对数据加密透明化有要求,或需要对数据库超级用户进行数据访问权限控制,以及对数据加密后数据库性能有较高要求的场景中。

5、文件系统加密

在数据库加密技术中,除了从前端应用及数据库自身角度实现数据库加密外,基于数据库底层依赖的文件系统或存储硬件,也可以实现数据库加密。

· 技术原理

文件系统加密技术是在操作系统的文件管理子系统层面上对文件进行加密,大多是通过对与文件管理子系统相关的操作系统内核驱动程序进行改造实现的。不同于文件加密只对单个文件设置访问口令,或对单个文件的内容进行加密转换,文件系统加密提供了一种加密文件系统格式(类似于ext4、xfs等文件系统格式),通过把磁盘存储卷或其上的目录设置为该文件加密系统格式,达到对存储于卷或卷上目录中文件进行加密的目的。文件系统加密技术本质上并不是数据库加密技术,但可以用于对数据库的数据文件进行存储层面的加密。

微信图片_20200408170632 (1).jpg

(文件系统加密技术原理)

· 适用场景

文件系统加密技术几乎可以适用于任何基于文件系统的数据库存储加密需求,尤其是原生不支持透明数据加密的数据库系统和大数据数据库系统。但是,由于文件系统加密技术无法提供针对数据库用户的增强权限控制,对于需要防范内部数据库超级用户的场景并不适用。

6、磁盘加密

· 技术原理

磁盘加密技术通过对磁盘进行加密以保障其内部数据的安全性,从实现上有软硬两种方式:软件方式的磁盘加密技术,大多是通过专用的磁盘加密软件对磁盘内容进行加密,典型代表如Windows操作系统自带的BitLocker,同类型的商业软件在国内也有很多,但这类软件由于加密原理和使用方式等因素,基本上无法满足数据库系统的数据加密需求;而硬件方式的磁盘加密技术,在实现上则有两个思路:一种是针对单块硬盘的磁盘加密,一种是针对磁盘阵列或SAN存储设备的磁盘加密。

微信图片_20200408170636 (1).jpg

(硬件方式的磁盘加密技术原理)

· 适用场景

磁盘加密技术可以满足几乎所有的存储加密需求,但由于不能提供针对数据库用户的增强权限控制,无法满足对内部数据库超级用户泄露敏感数据的风险防范需求。

数据库加密技术对比

微信图片_20200408170640 (1).jpg

安华金和数据库加密系统

安华金和数据库加密系统(简称DES),是一款基于透明加密技术的数据库安全产品,该产品能够实现对数据库中敏感数据的加密存储、访问控制增强、应用访问安全及三权分立等功能。

DES基于底层加密存储与独立权限控制两大核心机制,可以防止明文存储引起的数据泄密,防止外部非法入侵窃取敏感数据,防止来自内部高权限用户的数据滥用,防止绕开合法应用系统直接解密读取数据,在数据安全“最后一公里”处解决敏感数据泄露问题。

DES可根据用户不同场景及不同安全需求,提供列加密、表加密、表空间加密等多种手段,结合已获专利的透明加解密及密文索引等核心技术,具有良好的适应性与实用性,实现了数据高度安全、应用完全透明、密文高效访问。

DES当前支持Windows、AIX、Linux等多个平台,支持Oracle、SQL Server、MySQL等多种国际主流数据库以及达梦等国产数据库。产品支持主、从、应急等自身高可用模式,可以满足用户的多种部署需求。DES提供符合国密标准的加解密算法,同时兼容多种国际商用算法,提供可扩展的加密设备和加密算法接口,可与多种加密卡及加密机对接。

DES产品适用于政府、教育、军工、机要、电力等各个领域,同时针对国家等级保护、分级保护、军队保密规定均具有很强的政策适应性。

-END-

点赞(1)

全部评论