【最新word论文】密文数据库加脱密引擎的设计与应用【计算机应用专业论文】

上传人:飞*** 文档编号:9056725 上传时间:2017-09-30 格式:DOC 页数:4 大小:29.50KB
返回 下载 相关 举报
【最新word论文】密文数据库加脱密引擎的设计与应用【计算机应用专业论文】_第1页
第1页 / 共4页
【最新word论文】密文数据库加脱密引擎的设计与应用【计算机应用专业论文】_第2页
第2页 / 共4页
【最新word论文】密文数据库加脱密引擎的设计与应用【计算机应用专业论文】_第3页
第3页 / 共4页
【最新word论文】密文数据库加脱密引擎的设计与应用【计算机应用专业论文】_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《【最新word论文】密文数据库加脱密引擎的设计与应用【计算机应用专业论文】》由会员分享,可在线阅读,更多相关《【最新word论文】密文数据库加脱密引擎的设计与应用【计算机应用专业论文】(4页珍藏版)》请在金锄头文库上搜索。

1、1密文数据库加脱密引擎的设计与应用摘要 数据库加脱密引擎是数据库加密系统的核心模块,其安全性和执行效率对加密数据库系统的整体性能有重要的影响。本文讨论了数据库加脱密引擎的基本结构和工作原理,提出一个加脱密引擎模型,并详细阐述了各个功能模块的功能和作用,同时讨论了在实现过程中要注意的关键问题,通过解决这些问题对加脱密引擎的运行机制进行了比较深入的了解。 关键词 数据库加密,数据库脱密,加脱密密引擎1 引言目前,信息管理系统中的大量数据都是存放在数据库中。因此,数据库也成为这些系统的核心部件之一,其安全性及对敏感数据的防篡改和防盗取的能力,越来越引起大家的重视。而传统的方式是在数据的传输过程中对数

2、据进行加密保护,并没有对数据库本身进行保护,如果一旦有非法入侵者进入数据库,就极易造成重要数据资料的泄露,最终给数据库的用户造成不可挽回的损失。所以,提高数据库的安全性能就成为一个十分急迫的问题。目前对数据库保护的最有效的方法就是对敏感数据进行加密处理,将明文方数据以密文方式保存,访问时再进行解密操作。这样,即使能够通过非法途径得到数据库的数据,没有相应的密钥,也是得不到其明文形式的。实现数据库加密并结合密钥管理以后,数据库里的数据由用户自己的密钥来进行访问,不同的用户只能访问自己权限以内的数据,这样大大的提高了数据的安全性。由此可见,数据库加密对于数据的安全管理,是不可或缺的重要环节。对数据

3、库加密的部分就是数据库的加密引擎,是整个数据库加密系统的核心部分,本文将重点讨论数据库加脱密引擎的实现过程和要注意的一些问题。2 数据库加密系统的基本结构图数据库加密系统体系结构可见,数据库加脱密引擎是数据库加密系统的核心部件,负责在后台完成数据库信息的加脱密处理,对应用开发人员和操作人员是透明的。3 数据库加脱密引擎的设计3.1 加脱密引擎的设计结合文献12的方案,并结合本人的实践,设计出以下的的数据库加脱密引擎:图 2 加脱密引擎的基本结构虚线之中的是加脱密引擎的基本结构。3.2 加脱密引擎各个子模块的功能分析。数据库接口模块的功能是将所有访问数据库的操作封装在一起,屏蔽了各类数据库的特性

4、, “加脱密模块”工作时就不必关心实际使用的是哪种数据库。该模块包含两部分接口:其一是前端数据库客户访问数据库加脱密引擎的接口函数,也就是用户访问接口;其二是数据库加脱密引擎访问后台数据库服务器的接口,即后台数据库接口。2数据字典模块是将初始化引擎时的一些参数在加脱密时提供给加脱密模块使用,这些参数一般是单独保存在数据字典表中,数据内容主要包括待加密表内行列信息、数据类型、是否加密等。密钥管理模块的功能是给加脱密模块提供密钥和相关的密钥验证与保护。在本文的数据库加脱密引擎中,采用的是数据项加密的方式来对数据库的数据进行保护,这种加密方式的特点是对应每个数据项都有不同的数据项密钥,因此安全性能最

5、好,这种方式实现时密钥管理模块提供的密钥包括表密钥 TK、数据项加脱密密钥 Kij。其中表密钥 TK 对应每一个待加密表,在加密时由系统自动生成(根据混沌理论生成所需的表密钥3) 。对用户密钥、表密钥等的保护采用的是主密钥4方式进行保护。图 3 加密模块的基本结构在这个过程中,加密算法起到一个很重要的作用。不同的加密算法,其加密强度和加密速度都是不一样的。在对称加密算法中,就速度和强度的综合性能来考虑,AES 算法是首先选择的算法,本文的加脱密引擎采用的也是 AES 算法。加密模块除了要对数据进行加密以外,还要负责数据的拆分和组装,以保持数据的完整性和一致性。脱密模块是加脱密引擎的另一个部分核

6、心,它的作用和加密模块相反,主要负责数据的脱密处理。其工作过程与加密模块的流程类似,不同的是从密文表中取出数据解密后填充到原表之中。解密算法是该模块的核心,在数据库加脱密引擎中解密算法与加密算法必须是一致的,这样才能保证脱密后的数据与加密以前的数据相一致。与加密模块一样,解密模块也具有对数据进行拆分和组装的功能。4 加密过程中要注意的问题在整个加密的流程中,创建密文表是其中的关键步骤。如果将加密后的数据直接放入原表中是最节约空间的方法,但由于加密后的数据和原表中的数据类型及长度很可能不一致,这样会导致填充数据的失败,因此创建和加密表对应的密文表是很有必要的。而在创建的过程中必须注意几个问题。

7、密文表的数据类型问题待加密表中字段数据类型是与包含它的数据库所支持的数据类型相关的,即使相同的数据类型在不同的数据库中的定义可能很不一致,经过实验,笔者发现所有的数据类型的数据在经加密引擎加密后生成的数据都是字符串类型的数据,所以密文表除结构和待加密表一样,其字段数据类型都可设置为字符串类型,这样可屏蔽各种不同数据库的不同的数据类型之间的差别。由于加密后的数据类型是一致的,在生成密文表时,本文统一使用VARCHAR类型作为密文表的字段类型。一般的数据库都能识别这种数据类型。这样就可以在多种数据库中使用相同的 SQL 语法来操作数据库,而不用关心不同数据库的差别。 密文表的数据长度问题确定了密文

8、表的数据类型之后,就是确定密文表的字段长度了。由实验笔者得出数据,对于一定长度内的明文生成的密文长度(AES 加密)是一定的,而且生成的密文比明文的长度要长得多。所以确定密文表字段长度必须根据密文长度和明文长度的关系预先设置足够的长度。对于不同的数据库,支持 VARCHAR 的最大长度也不一致,而明文加密后的3密文很可能会超过 VARCHAR 类型支持的上限。因此,在不同数据库中也要预先将其长数据类型作为初始参数保存在数据字典中,若计算出某一明文字段对应的密文长度超过 VARCHAR 类型支持的上限就使用长数据类型作为密文表中该字段的数据类型,以避免创建的密文表不能正常填充密文数据。5 用户数

9、据访问注意的问题数据库的加脱密引擎和数据库密钥管理是分不开的,前台用户数据访问接口就会与密钥管理相结合。 用户数据访问采用的是二级表的访问方式5,以下是用户数据访问的流程图:图 4 用户数据访问的流程图用户提供用户密钥和查询要求之后,就可以查出能够访问的数据。在这个过程中,由于加脱密引擎对用户是透明的,因此用户的查询请求必须通过加脱密引擎来进行 SQL 语句的转换,也就是在流程中的 SQL 语句编译器的工作:将用户用明文传递的查询请求 q 翻译成能在密文数据库中执行的密文查询请求 q,这个步骤也是用户数据访问的难点问题之一。这是因为对于用户提出的明文查询请求 q,其语句中的字段名称、表名称、查

10、询的具体数据等等都要进行处理,找出在密文表中对应的字段名称、对应明文表的密文表的名称及与明文数据对应的密文数据。特别是在多表查询中,要翻译成能够在密文数据库中执行的语句 q,其难度是可想而知的。目前可以采用的一个较为简单的方法是将密文表解密到一个临时表中,将查到的结果返回给用户后再删除这个临时表。对于多个密文表的查询,则需要进行 SQL 语句的翻译了。 加脱密引擎的实现在以上理论的前提下,笔者用 C#实现了数据库的加脱密引擎。数据库的连接方式采用的是 OLE DB 的方式,这个方式的最大好处是连接方便,只需连接字符串而不需要注册数据源就可以直接连接到数据库,而且也支持大多数数据库的连接。在 C

11、#中,对于添加、删除数据或是创建表格均可以用系统函数System.Data.OleDb. ExecuteNonQuery()来执行,因此操作也是十分方便。同时还可以单独为某些特定功能写一个类封装起来,然后在外部调用,比如 SQL 语句编译器,这样可以提高了代码的利用率,维护起来也容易。通过实践,可以发现对于同等的数据量,解密的速度要比加密快得多,其原因是加密时要做大量的初始化工作,包括创建加密表、动态创建密文表字段、生成表密钥等,而解密时所有这些参数均在数据字典中,不需要重新生成,直接就可以进行调用,这样就提高了运行的效率。7 小结本文介绍了数据库加脱密引擎的设计和应用。对加脱密引擎进行了结构

12、设计并对各功能模块进行了详细的说明,同时结合实践讨论了实现加脱密引擎过程中需要解决的一些关键问题及其解决方案。根据本文理论建立的数据库加脱密引擎经过实验证明工作状况稳定,性能良好。参考文献1朱鲁华,陈容良. 数据库加密系统的加密和实现j. 计算机工程,42002,28(8): 61 63.2商品均,陈荣良.加脱密引擎.北京:计算机世界周报,20003宋雨,赵文清. 密钥管理在管理信息系统中的应用研究j. 计算机工程与应用, 1999,(10):95-97.4余祥宣,倪晓俊. 加密数据库系统中的密钥管理 j.华中理工大学学报, 1995.75尚杰, 戴一奇, 李向阳. 密文数据库及其密钥管理j. 计算机应用研究, 1996, (3): 98-100.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 大学论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号