APP下载

基于同态加密的数据库安全访问多级控制模型

2022-09-28飞,李

计算机仿真 2022年8期
关键词:访问控制密钥加密

马 飞,李 娟

(北方民族大学,宁夏 银川 750021)

1 引言

数据库是一种根据数据的不同结构实现分类存储和管理的数据仓库,实现共享、组织和统一化庞大数据的管理集合工作。因数据库是通过一定方式将数据存储在一起,具有较小的冗余度、能够同时和多名用户共享,且还可以和应用程序分开的互相独立数据集合,因此,可将其视为电子化的储蓄柜[1]。同时,数据库也包含另外一种含义,即指数据的管理新技术以及新方法,以便更加严密地控制数据、更加科学地组织数据、更加方便的维护数据以及更加有效的利用数据。其按照类型可以分成关系类数据库以及非关系类数据库两类。关系型数据库的存储格式能够直接反映出实体间的关系,和常见的表格类型较为类似,其中表和表之间存在许多较为复杂的关联,这种关联方式对于数据操作的一致性、事务性较好,所以比较合适结构化的数据处理;而非关系型的数据库是以摒弃复杂的分布式数据关系为目的、简化数据库的结构方式、降低影响性能的表连接、避免冗余等目标所进行设计的,其布局结构简单,在大数据量下读写的性能比较好,可以满足随时存储的数据格式需求,比较适用于大数据的工作处理[2]。

不论是单位还是个人在使用数据库时,不可避免地存储一些重要信息,导致每天访问数据库的人流量较大,不乏会有一些不法分子想要盗取这些隐私信息,以此作为威胁手段,甚至造成严重经济财产损失、危害社会安全等事故[3]。因此,对数据库安全访问展开控制具有重要意义。目前有学者设计了基于信任的动态多级访问控制模型[4]和基于加密云数据的多级安全访问控制模型[5]。但随着数据库技术的发展,上述传统模型的应用效果理想度较差。因此,本文设计了一种基于同态加密的数据库安全访问多级控制模型,用来区分非法的攻击数据,从而保障数据库内的信息安全。

2 同态加密算法密钥配置及加解密过程

2.1 密钥配置方法

分块的密钥统一配置4个素数r0、r1、q0以及q1,并且要满足r0

在同一字段不同安全等级字段的密钥配置,具体如图1所示。

图1 安全字段密钥的配置示意图

为了方便描述加密的过程,要定义中间的密钥材料。

以下给出具体密钥的配置,用户安全等级和字段安全等级二者是相互独立的[7]。

在加密的过程内,所用到中间密钥的材料都包括:KKt,i、ekt,i、bkt,i以及K。

设计中间密钥材料的目的是为提升数据库加密的效率,从而能够预先完成加密计算或者数据存储[8]。

2.2 加密过程设计

在加密过程中,密钥分块的大小应该小于q0q1,并且规定模运算不受括号的限制。具体加密步骤如下所示:

1)加密字段。该步骤不但能够与此字段同样安全等级用户实现,还能够利用系统完成。若通过用户完成,则用户实现加密操作以后,要把密文发送至系统,具体公式为

(1)

2)加密整个数据记录。此步骤通常利用系统实现,若每个字段安全等级相等,则此步骤同样能够与字段相等的安全等级用户实现,具体公式为

(2)

2.3 解密过程设计

具体解密步骤如下所示:

1)解密记录。此步骤通常是由数据库本身所完成的[9]。若每个字段安全等级相等,则此步骤同样能够和字段相等安全等级用户实现,具体过程公式为

(3)

2)解密字段。此步骤通常由系统实现。若每个字段安全等级相等,则此步骤同样能够和字段相等安全等级用户实现。

首先从Cki,t中提取出Cki,t,s,就能够获得Rki,t,smodq0以及Rki,t,smodq1,然后采用剩余定理进行计算Rki,tmodq0q1。

3 数据库安全访问多级控制模型

3.1 同态加密下数据库安全访问

依据同态加密方法可知,安全访问实现的关键步骤在于对p、q和大素数rp、rq的选择。关键参数的选择很大程度上可以直接影响同态加密算法鲁棒性以及安全性[10]。

通常来说,要想获得一个大素数,先要随机获得一个足够大的数量级数,接着判断此数是否是素数。若通过测试此数不为素数,那么随机函数则会重新再产生一个数,直到测试得到素数为止。具体过程如下:

1)生成素数的具体步骤如下:

步骤1:任意生成一个足够大的数量级数p;

步骤2:为了确保此数是奇数和保证此数数量级够大,把此数最高位与最低位置1;

步骤3:要想保证p为素数,需要采用除法将p除去小于2000的全部素数。如果不能够全部整除,那么p即是素数;

2)选择r

依据同态加密的方法,r取值能够直接影响到密文产生值。但怎么确保同样明文生成密文,是不同r关键取值[11]。

若r为p倍数,那么相对于模p,被加密模的数是要加上p许多倍,而结果保持不变。因此该处如果可以产生一个随机数rand()。那么则可以确保选择为随机的,相同明文遇到r也是相同的,所以r公式为

r=sign(x)×p

(4)

根据式(4)可判断r是否能够满足同态加密的。相对于随意的D(E(x))=x,使y=E(x)×a,a=x+sig(x)raNd()×p,那么N=p×q,继而依据y=fmod(a,n),能够得到下式

fmod(y,p)=fmod(fmod(a,N),p)

(5)

通过上述步骤可知,rand()大小不影响解密。同样明文获得的密文是不同的[12]。

3.2 多级安全数据访问控制模型构建

数据信息安全级主要是信息安全级别的属性,代表一个信息机密的程度,利用C表示。数据借用标识是信息数据来源的属性,代表数据使用者自安全级(利用null代表)或者是从另外一个低安全级的使用者借来。当访问者进入系统主客体,全部要被赋予一个安全的标记。接着在插入基元组时,信息数据借用标识则被赋予null值,操作各种数据时,需要及时更新。然后借用标识辅助实现数据操作,自身客体在进入系统时,不会有此属性。

在上述分析的基础上,建立多级关系的模式为R(Ai,Bi,Ci,Di,TC,TB),其中,Ai代表数据属性,Di代表Ai值域,Ci代表Ai安全级,Bi代表Ai借用标识,TC代表元组安全级,TB代表元组借用的标识。

将上述R(Ai,Bi,Ci,Di,TC,TB)视为一组互相不同元组,遮挡B≠null时,Bi≥Ci,TB≠null时,TB

这种存储模式处理数据,可以使用户身份合法性得到证明,一旦合法,系统会给使用者对应的数据库访问权限。且该使用者得到资源权限,能够不通过系统私自授权于其他的使用者对数据库进行访问,所以需要利用同态加密的方法,致使系统能够进行异常数据检测,找出非法访问的数据,从而保护数据库。

该模式机制主要由访问控制矩阵所决定,将整体数据库给使用者,利用一个矩阵表示授权的状态,在矩阵内各项与对应权限互相匹配,若使用者请求与其相同,那么能够访问对应数据库资源,相反则不能。该模型是采用二维矩阵完成访问控制,主要核心思想是在访问控制矩阵d的存储主体对于客体拥有权限。因为该种访问控制矩阵为二维,所以设置z作为主体集,v代表客体集,l代表权限集。具体过程如下

d:z×v→l

(6)

把该访问控制的方式,简化叙述成主体对于客体存在的访问操作请求,并且主体具有操作的权限,则允许主体可以访问客体,反之则禁止。因为授权用户能够系统的直接或者间接授权其它没有权限用户,所以就会出现漏洞,从而导致数据信息被窃取、泄漏等,而将同态加密方法应用在其中时,访问者只需要掌握私钥与公钥所对应,经过计算即可实现数据的访问,即可完成模型的构建。

4 仿真证明

为验证基于同态加密的数据库安全访问多级控制模型的有效性,设计如下仿真验证实验。

采用台式计算机(主频为2.5GHz,内存为8GB)在Ubuntu12.04的操作系统下完成实验,数据库采用Microsoft SQL2017,WebSer-vices安全服务应用WSE3.0辅助开发,Web发布平台利用Microsoft IIS6.0,100M带宽的网络搭建。

首先测试在应用本文模型前后,数据库并发用户的访问速度,测试结果如图2所示。

图2 数据库并发用户的访问速度测试

通过观察图2能够看出,因为在数据库内加入安全控制,平均访问耗时要比没有加入之前长,出现这种原因的是,在访问控制内需要不断查找数据库内信息,而数据库连接以及查询在一定程度上耗费不少时间。不过从整体上来看,在加入安全控制访问的数据库中,不同并发的用户和未加入安全访问控制点的数据库,二者平均响应时间的曲线是趋向一致的,并未发生随着并发用户增多,导致性能降低。

在此基础上,设定一组访问数据,其中夹杂异常攻击的数据,对未采用本文方法加密的数据库进行访问,从时间域角度观察,正常访问的数据和异常数据二者是同时到达的。说明未搭载本文模型的数据库难以区分开正常访问数据和异常访问数据。

为进一步验证本文方法的有效性,设计对比实验。将传统的基于信任的动态多级访问控制模型和基于加密云数据的多级安全访问控制模型作为对比模型,与本文模型共同完成性能验证。

对比测试指标分别为:①不同模型对随机恶意访问行为的抑制能力;②数据库信息传输过程丢包率。

首先对比不同模型对随机恶意访问行为的抑制能力对比结果如图3所示。

图3 不同模型对随机恶意访问行为的抑制能力对比

通过图3所示结果可知,应用本文模型后,数据库因随机恶意访问行为造成相应数据输出波动的幅值相较于对比模型较小,能够保障数据库的稳定运行。相比于两种对比模型,本文模型对随机恶意访问行的抑制能力和鲁棒性更好。

然后以数据库信息传输过程丢包率为指标,对不同模型展开性能验证,结果如图4所示。

图4 应用不同模型后数据库信息传输过程丢包率对比

分析图4所示的实验数据可知,应用两种传统模型后,数据库信息传输过程丢包率会随着时间的增加而出现较大幅度的变化。但应用本文模型后,数据库信息传输过程丢包率一直处于相对稳定的状态,且明显更低于两种传统模型。由此可见,本文模型有效实现数据库安全访问多级控制,避免因恶意访问而造成数据丢包。

5 结束语

互联网发展的速度较快,使得数据库的管理模式也在变化,这就有可能导致不法分子可通过各种高级别的手段访问甚至攻击数据库,窃取数据库的信息,造成严重的损失。为此,本研究基于同态加密过程设计了数据库安全访问多级控制模型,其加密效果较好,且安全控制性能良好,能够很好保证数据库的安全。

在未来阶段的研究中,将考虑在模型中加入潜在攻击检测机制,进一步维护数据库的安全性。

猜你喜欢

访问控制密钥加密
幻中邂逅之金色密钥
幻中邂逅之金色密钥
保护数据按需创建多种加密磁盘
谷歌禁止加密货币应用程序
Android密钥库简析
云的访问控制研究
加密与解密
云计算访问控制技术研究综述
校园骨干层网络交换机的访问控制技术
一种新的动态批密钥更新算法