敏感数据库加密算法与密钥管理

2018-11-06 16:28

敏感数据库加密算法与密钥管理

随着INTERNET技术的蓬勃发展和网络用户数量的剧增,人们越来越多地利用INTERNET进行着信息交换和处理,使工作效率和水平得到了很大的提高。INTERNET已经成为人们生活的一部分。然而,人们在享受网络带来的巨大方便的同时,也面临着极为严峻的信息安全问题。其中,金融、军事等各种网络敏感数据库的数据安全性问题就显得尤为重要了。

一、敏感数据库系统对加密技术的特殊要求

敏感信息数据库不同于一般的数据库,对数据的安全

性有着十分特殊的要求。首先,敏感数据库要求对数据的保存必须是长期的,而且由于客户对数据库数据的访问多是随机性进行的,加上某些应用对数据的访问要求高效实时。这决定了对敏感数据库进行加脱密机制的时限性要求比较高,应能够保证查询、检索、修改、更新等数据访问基本操作的效率。其次,由于数据库中的数据处于开放的数据共享环境中,因此如何限制内部不同级别有权用户,解决好授权机制也是难点之一。敏感数据库对密钥管理要求也特别严格,必须非常安全,管理失误如密钥遗失,就会导致数据库信息失效或者拒绝服务。在多个客户的数据库访问中,可能会出现多用户同时访问同一共享资源的情况。如何处理好共享资源访问时的互斥问题,而又不改变数据库锁粒度的灵活性,也

成为难点。再次,对数据库加密时,由于索引项在对数据库的一致性检查及加快检索的速度上起着至关重要的作用,对索引项加密可能引起内部数据的不一致,即使不出现这种情况,也可能限制了用索引加快检索速度的作用。在事务处理的上下文中,查询语句都有着数量不等的关系运算,如果对用于比较的关系字段加密,则按客户的查询条件可能无法找到匹配数据。特别是数据库由多个表组成,表与表之间都有匹配的连接字段,加密手段必须能够保证这些连接字段内部数据的一致,否则,表格之间将无法进行关联。

二、常用敏感数据库系统加密方法

针对敏感数据库系统加密所存在的问题,通过对数据库

管理系统的应用及存储结构进行分析,可以采用如下方式对数据库加解密。

(一)库外加密

由于数据库总是依赖于某种操作系统或者文件系统而存在,而数据总是以特定大小的数据块存在于文件系统之上,所以开发者可以在客户应用程序与数据库管理系统之间增加一个客户应用层接口,类似于事务处理监视器,采用网络分布计算技术实现一个中间件。当客户应用程序访问数据库系统时,由客户应用接口对数据进行加解密。具体做法是,可以直接调用操作系统的文件存取功能,对数据库中的数据进行存取;也可以直接调用操作系统的磁盘功能,对数据库

中的数据块进行存取。直接调用系统文件存取功能,是在文件系统内部对数据进行加解密,形成数据库可以存储的数据块后,通过文件系统一次一个分组地进行加密存入数据库,或解密取出提供给客户方程序。这种方式的弊端是操作效率低,但容易由客户服务管理程序对数据库系统进行管理。而调用操作系统磁盘功能,则由操作系统直接存取数据块,必须包含数据块的长度、块号、数据的头标、尾标等信息,对于不了解数据库所使用的操作系统的人来说,破解数据几乎是不可能的。 如下图:

服务方应用程序 加/解密 加/解密 中间件层(调用FS或者OS的I/O处理) 客户方应用程序 数据块结构

(二)库内加密

在数据库系统中,数据库结构分为三层:存储模式、内模式、外模式。其中,存储模式负责描述数据的物理结构,内模式描述数据的局部逻辑结构,外模式描述数据的全局逻辑结构。在对数据库进行库内加密时,只需在三个层次中再增加一个虚拟层次用于存放密钥数据库,由服务方应用程序

对密钥数据库进行管理。服务方应用程序在接受到客户方的查询处理请求后,从密钥数据库中读取密钥,对相应查询条件进行加密,再到数据库中查询匹配数据或者添加到数据库中。找到匹配数据后,再由服务方应用程序从客户密钥数据库中读取相应密钥对其进行解密并反馈给客户。而数据在网络上的传输则由网络加密方案来解决。这样,数据库中存放的数据,实际上都是密文,使数据库的逻辑结构到物理结构的直接对应关系变为间接的映射关系。加密的粒度可以是数据库、表、字段、记录等,形成一个针对库、表、字段、记录的密钥数据库。加密的粒度越小,数据库中的数据就越安全,但密钥管理的难度和复杂性也越高。由于这种加密方式是在一个数据库管理系统内进行加密,所以在加密的同时必须首先解决好访问控制和内部用户的授权机制。

如下图:

服务方应用程序 加/解密 加/解密 密钥外模式 数据库 客户方应用程序 内模式 存储模式(本地存放经过加密的数据库) (三)硬件加密

硬件加密是一种采用对数据处理芯片或者网卡进行点到点的加密方式,在数据库服务器上的应用程序处理客户请求时,读出的数据经过网卡或数据处理芯片内部驻留的加密程序加密后,返回给有访问权限的客户,再由客户数据芯片内的解密程序进行相处理,还原成客户访问数据库要得到的原始数据。

如下图:

数据库服务器 加/解密卡 加/解密卡 授权客户结点机 数据库管理系统 客户应用程序 三、数据库密码

密码系统的两个基本要素是加密算法和密钥管理。加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。由于密码系统的反复使用,仅靠加密算法已难以保证信息的安全了。事实上,加密信息的安全可靠依赖于密钥系统,密钥是控制加密算法和解密算法的关键信息,它的产生、传输、存储等工作是十分重要的。

应用于数据库加密的加密算法称为数据库密码。目前常用的加密算法可分为三类:

(一) 序列密码体制


敏感数据库加密算法与密钥管理.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:部编版小学语文二年级上册 口语交际 “商量” 教学设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: