论文部分内容阅读
近年来,数据安全已经成为互联网应用的焦点。传统数据库的一些基础安全措施,在具体应用中仍存在一些不足:一些常用的加密方式(如RSA、DES等加密方式)虽然加密效率较高,但其加密结果与明文在具体格式上差异很大,无法按照原来的格式存入数据库中。FPE(Format-Preserving Encryption,保留格式加密)加密方法是一种适用于数据库的加密方式,在实现透明加密的同时可以保留原有数据的格式,具有无需修改数据库结构,就可以将密文存入原有的数据库中的优点。本文以数据库安全为研究基础,研究了保留格式加密的常用加密方法:Prefix加密方法、Cycle-walking加密方法和Generalized-feistel加密方法。研究了每个方法的加密方式和加密特性,并对保留格式加密算法的加密模型:FFSEM加密模型、FFX加密模型和RtE加密模型进行了研究。针对数据库典型数据的加密,本文分别对典型数据库MySQL的常用数据格式进行了分析和研究,对整数型的数据类型,选择并实现了以Feistel网络和FF1模型为基础的整数型保留格式加密算法,并为后面的保留格式加密算法打下了基础;研究并实现了以FFX为基础的字符型保留格式加密算法。提出并实现了使用分段加密和数值转换的方式对日期时间类型数据进行保留格式加密算法;提出并实现了以特征值提取方式的浮点数的保留格式加密算法。在研究成果的基础上,使用Java编程语言实现了可自动识别基本数据类型的通用保留格式加密模块,来解决数据库典型格式的保留格式加密问题。最后,对本文涉及的数据库加密模块的性能和功能进行了测试。与传统的加密方式相比,该模块拥有保留格式加密和可自动识别数据类型加密的特点。本文就数据库常用数据格式加密提出了新的思路。