APP下载

基于FPE技术的数据库加密算法研究

2022-07-07肖转红

电子技术与软件工程 2022年6期
关键词:明文加密算法加密技术

肖转红

(山西运城师范高等专科学校 山西省运城市 044000)

近几年全球范围内多次发生数据库泄漏事件,例如美国运动品牌Under旗下的APP因为安全漏洞而导致海量用户信息泄露,产生了严重的负面影响,这也为数据库安全问题敲响警钟。所以为了能够有效解决上述问题,应寻找一种新的数据安全管理方案,这也是本文研究的主要目标。

1 FPE加密技术研究

1.1 函数定义

FPE加密技术又被称为保留格式加密算法技术,这是因为传统的数据加密方式会改变数据原有属性,造成部分数据在加密之后无法录入到数据库中,需要对数据进行二次修改,进而增加了工作难度。针对上述问题,FPE加密技术应运而生,该技术可以表示为:F:K×S→S。在该公式中各项的含义表达为:F:K为密钥空间;S表示明文空间与密文空间。根据这一参数特征可以发现,在FPE加密技术中保留格式的加密的明文与密文的消息空间是相同的。

同时FPE加密技术的函数定义结果如公式(1)所示。

在公式(1)中,F:K代表集合,表示密钥空间;T为调整因子空间;Ω为数据格式空间;X为明文消息空间,该空间中必须存有资料,且1∉X。

在公式(1)中,可以将FPE加密技术视为在X空间上每一要素的排序组合方案,为保证数据方案的合理性,技术人员在处理中,应关注|Ω|=1等情况,保证FPE加密技术在数据加密处理中具有很强的适用性。

在加密数据处理中,根据FPE加密技术可以从三个方面来判断算法分量函数,具体内容如公式(2)所示。

在公式(2)中,密钥(key)代表FPE加密技术中的密钥方法,在大部分情况下,该算法可返回一条与密钥长度相同的字符串作为密钥的识别标记;加密encryption是指加密过程中输入调整因子t与明文空间x之后,FPE加密技术中所返回的密文;解密decryption代表加密与解密过程是相互可逆的,在FPE加密技术中通过接收密文与调整因子参数为输入值后,经过特定算法就可以输出明文。

1.2 FPE加密技术处理模型

1.2.1 FFSEM模型

该模型是美国Voltage公司推出的一种加密技术,能够构造出适应分组大小对称密码的模型,该模型通过Feistel网络实现加密数据处理后,经Cycle-walking思路对数据库中需要做进一步处理的资料进行加密。该模型的技术流程包括:

(1)对数据库资料的初始化。在本次初始化过程应快速识别数据网络中是否存在伪随机函数,此时经过截断分组密码输入的方法获得伪随机函数之后,即可记录加密技术方案中的轮次数、对称密钥、消息空间大小等关键数据。

(2)加密流程处理。该步骤需要对数据加密过程做进一步处理,在将输入的明文资料转变为特定位数的二进制码之后做进一步处理,此时可采用Cycle-walking思路来加密数据库中的资料,此时每次加密都需要循环n轮的Feistel,在经过反复数据处理之后即可形成二进制形式的密文,该密文处于系统可以识别的状态下,最终系统的二进制密文会转变为空间整型结果,最终输出结果,即可获得加密后的资料。

(3)解密流程。在获得加密的资料后,需对加密算法逆算,这个过程中需要将密文转变为二进制的编码形式,并且按照步骤(2)可以做逆向推导最终结束数据处理过程,获得解密后的数据资料。

1.2.2 FFX模型

FFX模型技术最早出现在2010年,该模型依托平衡Feistel网络模型技术,在数据库与消息空间中采用了仿照FFSEM模型的方法对数据进行加密,但是不同的是,该技术可以快速响应消息空间上的加密数据,并且通过字符表与数字索引完成映射,最终将字符编码映射为单个数字,在经过反复的不断操作后,可形成一个完整的数字串。FFX模型技术的加密步骤包括:

第一步是对数据库资料的初始化,在数据处理中应确定空间中字符的数量,记为n;非平衡轮次数,记为r;也包括调整因子与轮函数等关键变量等。通过数据资料你可以判断数据库资料中各个变量的类型与数值参数情况。

第二步是对资料库中的数据加密过程,在该阶段可通过建成的数字表与字母表之间的映射来实现,此时每个映射都会与对应的数字对应。同时在执行r轮的非平衡网络,在编码后可以将数字符串数据划分为两个部分,分别记为第一部分(L)、第二部分(R),此时通过轮函数对第一部分的数据L进行计算后,获得处理后数据L',此时L'在与数据做串联后即可输出字符,此时输出的字符就是下一轮循环计算的初始字段。当所有的字符段均完成计算后,即可对字母表做映射,映射后获得数据库资料的密文。

第三步则是加密数据的解密过程,通过逆运算的解密筛选法,在将数据映射为数字之后,利用第二步算法的逆向运算完成数据解密。

2 FPE加密技术在数据库加密处理中的应用方案

2.1 整数保留格式加密算法

因为采用传统数据加密方法存在弊端,且加密后的数据库资料中缺乏隐秘性,但是在数据加密中可以发现,因为中文与英文等在资料库中存储时均以整数的形式存在,这也为整数保留格式加密算法的实现奠定基础。

2.1.1 形成模型网络结构

目前主流的加密模型网络中存在对称的迭代结构,是密码分组的关键点,因此在数据库资料加密中,可以通过对称迭代结构的方法快速编辑数据,所以该方法加密、解密的方法与结果都是对称的,并且这个对称结构本身具有相互逆转的特性。

在数据处理中,该方法的定义为:f为轮函数,假设k、k、k……k分别代表第1、2、3……n轮中的自密钥,此时可以做出如下定义,具体定义内容包括:(1)将数据库中的明文细分为两方面内容,其中的左半部分定义为L,右半部分定义为 R,此时在数据加密中可以将其记录为(L,R)。(2)每一轮的数据运算过程如公式(3)所示,其中将i记录当前数据加密的轮数。

按照公式(3)的相关内容,在对数据库中的加密数据进行一次迭代后,所迭代的结果为(L,R),将该结果作为下一轮的输入值之后,重复上述过程,直至循环次数完全用尽。

在加密数据的解密过程中,针对密文(L,R),可以使i从n到0做数据运算,此时则有i=n,n-1、n-2……3,2,1的数据运算过程,之后将获得的字段做逆网格运算,运算后可获得(L,R),之后对左右字段的拼合之后,获得解密后的明文信息,完成了整个数据处理。

2.1.2 加密模型的设计

根据前文介绍的资料,在本次模型设计中将FFT模型方法为基础,伪随机置换方法实现明文与密文之间的数据转换,结合密文处理的网络结构优化数据改进过程,这种数据处理方法的优点就是可以确保解密的数据过程能够扩大至二进制数,且在不断迭代运算之后,通过该加密运算过程可以将运算范围逐渐拓展至整数域中,保证了数据资料的完整性。

此时在模型设计过程中,应构建一个经伪随机函数,将其置于内存中,并且构造对应的分组加密方法完成加密后,底层则经过AES加密算法形成密钥,结合密钥即可加密资料。

该算法设计的关键技术为:通过构建一个伪随机置换方法,经该方法完成密文与明文之间的交互之后,此时的置换过程主要分为两种方法,其中的第一种方法,则是在0-9的元素中形成置换表,并且在明文中也应该配合置换表中的元素来置换数据,确保所有置换的资料都是科学可查的。第二种方法,则是从数据处理过程入手,形成明文空间集合中所有元素的置换表。

在使用明文消息过程中,可将该数据作为密钥算法形成输入值与对应的密钥,将新获得的密钥为分组加密的密钥值之后,即可完成明文的加密处理。同时借助加密后的中间值经过特定的堆排序方法形成置换表。

通过在FFT模型的基础上增加调整因子概念,该调整因子作为密钥中关键的可变部分,能够进一步减少密钥的运算过程,通过调整因子与密钥共同完成加密函数运算后,即可获得最终解密结果,此时若调整因子与密钥的任意一方出现改变之后,则会对最终的运算结果产生影响。所以在数据计算中通过添加该调整因子,可以保证算法的灵活性,此时为提升运算质量,所指定的调整因子可以是部分明文,也可以是空值。此时若为空值,则不需要做保密,但是所形成的密钥应保密。

2.1.3 模型的基础操作与参数要求

在整数保留格式加密算法中,所需要使用的数学运算符号与函数约定方案包括:

(1)不同的取数方案,例如当数学运算符号为|X|时,则可以向下取整符号,例如在|5.1|中,则可以取5;在|4.9|中,可以取4,诸如此类运算。而在|X'|中可以向上取整符号,例如在|5.1|中可以取6,在|4.9|中可以取5。

(2)在X||Y中,X与Y分别代表这对应的字符串,证明两个字符串被拼接在一起;

(3)在X[n…m]中,代表X中截取从n到m的一段字段。

(1)参数CP,是指加密系统中经过认证的分组密码函数,具有唯一性的特征;

(2)参数max与参数min分别代表了消息的最大长度与消息的最小长度;

(3)参数T代表了解密过程中的调整因子数据。

2.1.4 安全性与效率分析

根据上述数据运算与功能设定结果进行判断后,发现上述过程可以对整数数据做加密,加密操作的过程以逆运算为主,此时为满足明文操作运算的要求,所有的明文均为数据库中输入的资料,且调整因子与密钥均应该是预先设定好的参数再将其存入到变量中,再进行运算后即可完成整数型保留格式的加密过程。

但是根据算法的特殊性,在程序设计过程中为了能够进一步提升加密效果,则相关人员还应该重点关注以下问题的影响:

(1)在设计方案中通过判断基数长度情况,确保基数的长度满足数据库加密处理要求。

(2)在数据库加密处理中可增加min参数,这种设计方法的优点就是能够限制明文的输入情况,控制明文输入的最小长度,并通过max确定最大长度等。这种设计方案的主要特征就是可以降低攻击者穷举法攻击成功的风险,保证了系统的安全性。

1.工业化发展的一般特征。工业化的发展是以产业结构调整为动力的一系随着拉动经济发展主导产业的变化,相应的就业结构会发生变化,城乡居住等社会结构也会发生相应的演变。同时,工业化发展阶段的变化,意味着经济发展的驱动因素将发生改变,工业化中期阶段的经济增长主要依靠资本投入,而后期阶段就转变到主要依靠技术进步上来(参见表3)。

(3)在将传入的密钥以非明文形式上传至程序中之后,此时系统在正常运算过程中无法记录密钥值,并且在密钥使用后可及时销毁,保证了信息资料的安全性。

2.2 日期时间类型加密算法

2.2.1 分段加密技术

根据日期类型,在加密过程中其数据类型的基本格式表达方法为:YYY-MM-DD的形式,并且在加密处理中存在特定的约束特征,此时根据相关学者的研究可知,此类特征数据在处理期间可对数据做进一步拆分,将其改变为多个具有独立意义的子段后,此时每个子段都有相互独立的约束条件与操作特征值,因此在加密过程中能够对数据做重组,这就是分段加密的关键点。

在加密数据处理中,针对子段特征数据保留格式所分离的子段,应严格按照子段的类型与约束条件进行改造,此时当子段为基本数据类型的情况下,针对加密数据可按照数据资料的保留格式做加密即可;而针对无法直接使用的子段,则需要根据不同子段形成加密算法。根据该加密算法的特殊性,在加密处理中应按照时间参数之间的制约关系对其进行拆分,最后做数据加密变换之后,使加密后的数据可以全部聚集在约束范围内。

2.2.2 合并字段方法

根据分段加密技术算法,此时加密方法中所保留的数据基本完成,但是此时所有加密的数据均为单模块形式,这种形式无法满足复杂条件下数据库资料加密的要求。因此整合单独模块之后,即可形成完整的日期类型数据,此时该数据都是经过加密处理的,保证了数据安全性。并且在日期类型中,每一个子段都具有独特的含义,不同数据之间存在约束关系,所以在合并单独加密模块之前和做合并处理,此时可采取的合并方法包括:

(1)直接合并。是指数据能与其他子段之间直接合并,子段之间不存在约束与制约关系,较为常见的类型包括手机号码的地区码以及网络代码等。

(2)不可直接合并类型。是指日期类型中,时间的子段之间存在密切关系,此时的子段无法直接合并,而是要从不同的子段加密结果来计算。

2.2.3 日期保留类型的加密设计方案

在当前数据库数据加密中,日期类型属于常见的加密形式,该形式的数据加密主要分为年、月、日三种类型,并且经过对应连接符连接等。此时要注意的是,因为不同日期类型的各部分都存在特殊的约束条件,因此为提升加密效果,建议将数据做拆分后,以简单的数据形式做加密,之后将置换表设定在内存中,这种加密类型的特征表现为:在未形成加密前,将后续操作存入缓存中,最终提升加密速率。

这种加密模型的一个显著特征就是使用了分段加密的方法,在分段加密之后即可,对切分子段做前置处理,此时数据前置处理的关键工艺流程包括:

(1)数据的初始化过程。初始化过程中要求相关人员可先完成时间消息空间的初始化过程,此时初始化的关键是加密数据中年、月、日处理结果的容器,此时因为年份可能会因为平年或者闰年之间的差异性而导致运算结果异常。因此需要对保留数据根据时间的差异性做区分。

(2)各个子段的预处理操作。本阶段工作中可通过预处理的方法将时间数据类型存储至预算设定的容器中,之后再对存入容器中即将进行检验的数据形成约束条件,所有不符合加密处理的数据则严禁存入到容器中。在子段预处理之后,其中的合法数据均已经被上传至容器中,在加密中可对合法子段做加密,此时的加密操作具有效率高但是操作步骤少的特征,在数据处理中可将检查过的子段看来拼合数据,由此获得加密处理后的资料。本文统计了初始化与预处理中的变量与容器的相关内容,具体资料如表1所示。

在对加密数据做预处理之后,应根据输入明文按照明文根据表1的相关数据、容器等完成初始化操作,并且在加密前还需要对变量数据做预处理,并将资料存入到对应容器中,此时在加密过程中不需要对数据做进一步兼容。在经过上述处理后,可以确保加密效果实现,具有优势。

2.2.4 加密预处理

在数据加密前根据时间数据的合理性做检验,判断输入端位置的加密约束与合法性检验结果是否合理等,其中在输入端合法检验中应避免输入数据库不合法,会导致后续的加密过程出现异常。同时区分输入时间数据的初始化,可计算出平年数或者闰年数的检验数据,上述数据可用于支持数据预处理的操作。

预处理中,应考虑的因素包括:

(1)年份与月份的关系;

(2)月份与日期的关系。

之后即可进入到加密环节,本次加密中应分析日期类型的数据,之后将时间数据分离后,逐一对数据的合理性进行判断,此时可根据容器中预处理数据结合结果,并按照加密对日期类型的加密判断效果。因为整个加密过程是按照年月日三个顺序时间段的排序方案,在加密结束并且检验合并结果显示正常后,即可获得最终的密文。在上述操作中,关键技术包括:

(1)计算闰年的平均年数。在计算过程中,可先用结束年份减去起始年份,获得计算周期内的年分支,之后经过公式计算闰年年度时,此时可以按照公式(4)进行运算。

(2)预处理操作方案。在预处理过程中,应对各个容器做初始化,初始化的过程包括:①年份容器的初始化操作方案。在本次处理中可先将平年与闰年等时间段进行分解,在完成合法性检验后,在确定数据合法之后即可将其存储到容器中,用于后续使用。②月份容器的初始化。在检验成功后,可按照闰二月、平二月、大月、小月等标准进行划分,将明文存入到上述容器中之后,用于后续加密。③天数容器的初始化,包括闰二月、平二月、大月、小月对应的29天、28天、31天、30天的标准进行划分,用于后期加密处理。

(3)加密处理过程。在本次加密过程中,应将预处理结果作为数据加密的关键消息空间,此时加密的操作流程为:①预处理方案中,可根据年份(Year)、月份(Mon)、日期(Day)。②在经过计算之后,判断时间(Year)是否为闰年,根据数据计算结果判断加密空间中的明文空间位置,将其标志为“Year_P”。③根据月份(Mon)及其预处理结果,将其置换后获得月份密文,标记为“Mon'”;④计算月份天数(Day),在加密中确定年份以及月数后,将天数数据代入到容器中获得最终天数Day。⑤在经过上述处理之后,可获得密文的具体时间天数,即Precontent[Year][Mon][Day]。⑥合法性检验。因为日期类型的表现形式具有特殊性,所以所有加密后的数据应符合数据搁置标准,确定无误后,即可形成最终结果。

3 数据库加密效果的检验

3.1 加密模块的实现

本次研究中系统的测试环境参数如表2所示。

整个加密系统中使用Java算法,该模型能够支持字符串型保留格式加密算法以及浮点型保留格式加密算法等,经JFrame构建操作系统界面,有助于简化系统操作过程,有助于简化后续操作流程。

3.2 测试过程

(1)数据库加密的有效性检测。本次检测中主要通过保留格式加密算法、base算法等操作流程,分别从数据中提取字符串型、浮点型、时间日期类型后,经数据加密,并将密文数据代入到数据库中,检查数据是否真实可靠。

(2)加密效率的测试。本阶段工作中应根据保留格式加密算法对保存或者未保存的数据形式做比较,其中一组数据可直接存储数据,另一组数据能够加密其中的等量数据,在对数据做加密后比较总时间后,判断时间损耗是否达到预期。

3.3 有效性分析结果

在对加密技术的可行性展开分析后,对不同类型的数据开展加密检测,判断FPE加密技术的可行性,在对上述两种加密方案的可行性进行分析后,最终的检测结果如表3所示。

3.4 加密效率分析

分别从上述两方面技术角度出发对加密效率进行判断后发现,两种算法的加密效率均取得预期效果,具体为:

(1)整数保留格式加密算法。本文判断保留格式加密算法进行分析,该算法中可以通过与常规算法的比较后,对不同加密方案的应用效果进行评价,从数据来看,在采用FPE加密技术之后,系统的运行效率有显著提升,其中FPE方法下加密整数达到2000个时,系统加密的耗时为16ms;加密整数达到5000个时,耗时约为38ms。与常规加密方法相比,该方法在加密整数为2000个时,耗时约为74ms;加密整数达到5000个时,耗时达到了158ms。

(2)日期时间类型加密算法。在本次研究中所设定的日期时间类型加密算法是以分段形式完成加密的,在加密环节应根据其中的特殊构造形式与约束条件来判断加密方案的可行性。最终结果显示,在该方法下数据库加密的构造方式,其年份、月份、日期都有对应的上下级约束关系。而相比之下,在常规加密方法中则需要对日期类型等约束条件进行改造,最后进行整体加密,这种技术手段会严重降低系统的加密效果。而本文在日期时间类型加密算法中,可以落实分段加密的方法,对不同类型的数据做加密后,此时所获得的加密时间更少,保证了效率。

表1:容器与变量数据资料表

表2:系统测试环境资料表

表3:检测结果

4 结束语

计算机数据库应用技术及维护具有复杂性,本文在FPE技术的基础上研发了整数保留格式加密算法、日期时间类型加密算法两种技术,并且最终的时间结果证明该技术运行效率更高且加密效率更高,在技术上具有可行性,能够充分满足复杂条件下的系统运行要求,是一种科学的技术手段,值得做进一步推广。

猜你喜欢

明文加密算法加密技术
海洋水文信息加密技术方案设计与测试
数据加密技术在计算机网络通信安全中的应用
奇怪的处罚
奇怪的处罚
在计算机网络安全中数据加密技术的应用
基于小波变换和混沌映射的图像加密算法
四部委明文反对垃圾焚烧低价竞争
Hill加密算法的改进
基于四叉树网格加密技术的混凝土细观模型