摘要 数据库加脱密引擎是数据库加密系统的核心模块,其安全性和执行效率对加密数据库系统的整体性能有重要的影响。本文讨论了数据库加脱密引擎的基本结构和工作原理,提出一个加脱密引擎模型,并详细阐述了各个功能模块的功能和作用,同时讨论了在实现过程中要注意的关键问题,通过解决这些问题对加脱密引擎的运行机制进行了比较深入的了解。
关键词 数据库加密,数据库脱密,加脱密密引擎
图2加脱密引擎的基本结构 虚线之中的是加脱密引擎的基本结构。3.2 加脱密引擎各个子模块的功能分析。 数据库接口模块的功能是将所有访问数据库的操作封装在一起,屏蔽了各类数据库的特性,“加脱密模块”工作时就不必关心实际使用的是哪种数据库。该模块包含两部分接口:其一是前端数据库客户访问数据库加脱密引擎的接口函数,也就是用户访问接口;其二是数据库加脱密引擎访问后台数据库服务器的接口,即后台数据库接口。 数据字典模块是将初始化引擎时的一些参数在加脱密时提供给加脱密模块使用,这些参数一般是单独保存在数据字典表中,数据内容主要包括待加密表内行列信息、数据类型、是否加密等。 密钥管理模块的功能是给加脱密模块提供密钥和相关的密钥验证与保护。在本文的数据库加脱密引擎中,采用的是数据项加密的方式来对数据库的数据进行保护,这种加密方式的特点是对应每个数据项都有不同的数据项密钥,因此安全性能最好,这种方式实现时密钥管理模块提供的密钥包括表密钥TK、数据项加脱密密钥Kij。其中表密钥TK对应每一个待加密表,在加密时由系统自动生成(根据混沌理论生成所需的表密钥[3])。对用户密钥、表密钥等的保护采用的是主密钥[4]方式进行保护。
图3 加密模块的基本结构
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr /> 在这个过程中,加密算法起到一个很重要的作用。不同的加密算法,其加密强度和加密速度都是不一样的。在对称加密算法中,就速度和强度的综合性能来考虑,AES算法是首先选择的算法,本文的加脱密引擎采用的也是AES算法。加密模块除了要对数据进行加密以外,还要负责数据的拆分和组装,以保持数据的完整性和一致性。
图4用户数据访问的流程图 用户提供用户密钥和查询要求之后,就可以查出能够访问的数据。在这个过程中,由于加脱密引擎对用户是透明的,因此用户的查询请求必须通过加脱密引擎来进行SQL语句的转换,也就是在流程中的SQL语句编译器的工作:将用户用明文传递的查询请求q翻译成能在密文数据库中执行的密文查询请求q’,这个步骤也是用户数据访问的难点问题之一。 这是因为对于用户提出的明文查询请求q,其语句中的字段名称、表名称、查询的具体数据等等都要进行处理,找出在密文表中对应的字段名称、对应明文表的密文表的名称及与明文数据对应的密文数据。特别是在多表查询中,要翻译成能够在密文数据库中执行的语句q’,其难度是可想而知的。 目前可以采用的一个较为简单的方法是将密文表解密到一个临时表中,将查到的结果返回给用户后再删除这个临时表。对于多个密文表的查询,则需要进行SQL语句的翻译了。6 加脱密引擎的实现 在以上理论的前提下,笔者用C#实现了数据库的加脱密引擎。数据库的连接方式采用的是OLE DB的方式,这个方式的最大好处是连接方便,只需连接字符串而不需要注册数据源就可以直接连接到数据库,而且也支持大多数数据库的连接。 在C#中,对于添加、删除数据或是创建表格均可以用系统函数System.Data.OleDb. ExecuteNonQuery()来执行,因此操作也是十分方便。同时还可以单独为某些特定功能写一个类封装起来,然后在外部调用,比如SQL语句编译器,这样可以提高了代码的利用率,维护起来也容易。通过实践,可以发现对于同等的数据量,解密的速度要比加密快得多,其原因是加密时要做大量的初始化工作,包括创建加密表、动态创建密文表字段、生成表密钥等,而解密时所有这些参数均在数据字典中,不需要重新生成,直接就可以进行调用,这样就提高了运行的效率。7 小结 本文介绍了数据库加脱密引擎的设计和应用。对加脱密引擎进行了结构设计并对各功能模块进行了详细的说明,同时结合实践讨论了实现加脱密引擎过程中需要解决的一些关键问题及其解决方案。根据本文理论建立的数据库加脱密引擎经过实验证明工作状况稳定,性能良好。 参考文献[1]朱鲁华,陈容良. 数据库加密系统的加密和实现[j]. 计算机工程,2002,28(8): 61 –63.[2]商品均,陈荣良.加脱密引擎. 北京:计算机世界周报,2000[3]宋雨,赵文清. 密钥管理在管理信息系统中的应用研究[j]. 计算机工程与应用, 1999,(10):95-97.[4]余祥宣,倪晓俊. 加密数据库系统中的密钥管理 [j]. 华中理工大学学报, 1995.7[5]尚杰, 戴一奇, 李向阳. 密文数据库及其密钥管理[j]. 计算机应用研究, 1996, (3): 98-100.
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
相关文章:
2021年临床医学毕业论文选题30例04-26
数字经济时代企业边界突破的逻辑与路径04-26
金融论文:新股发行制度改革对A股上市公司IPO抑价现象04-26
计算机论文:基于深度学习的特定目标情感分类模型探讨04-26
农村基础设施投资是拉动还是挤出了居民消费04-26