基于双重触发的嵌入式内核安全访问控制仿真
2021-12-10米红波
米红波
(内蒙古科技大学包头师范学院,内蒙古 包头 014030)
1 引言
由于分布式应用的行任务复杂性与不可预知的提升,单纯的时间触发机制在大多数情况下都很难确保系统的可靠性和安全性。而事件触发可控的特性从基础上提升了系统的实时性,因此,很多研究者将两种触发机制进行融合构建出一种双重触发机制。用户的指定应用不但拥有特殊性,并且还具有一定的共性。设计功能实现通过的模块,针对特定ASIC应用,嵌入不同的集成内核,能够大大简化设计难度、缩短设计的时间、降低设计的成本。
嵌入式内核从功能上划分为微处理器内核、DSP内核、PF内核等,其本质特点是重用性、可编辑性,所以需要软硬件的共同设计。正是因为嵌入式内核的引入,使设计者能够着眼与更高的层面上,即在用户系统的层次上进行设计。虽然嵌入式内核拥有很多优点,但其安全访问控制机制并不完美,而传统方法虽然能够通过RST端对安全访问进行简单操纵,但是其不能完美的对明文加密、密文解密、角色分配。
针对上述问题本文提出了一种基于双重触发的嵌入式内核安全访问控制方法,该方法能够有效的完成明文加密、密文解密、角色分配和用户安全访问控制,使网络安全性达到最高。
2 基于双重触发的嵌入式内核调度
2.1 拟定内核
首先对嵌入式内核修改,使其符合OSEK-time的指标时间触发调度模块。同时配备一整套拥有错误检测、可拓展、应用程序、标准接口的操作系统,指标存在的主体模块有中断处理、任务管理、资源管理与事件机制等。OSEK-timeOS就是一种为了处理双重触发建造需求而分割出操作系统的指标,并且该指标需要和OSEKOS一起运行,在同时运行的时候OSEKOS会成为子系统。OSEKtimeOS把空闲时间划分至OSEKOS里使用。
OSEKtimeOS里的任务叫做时间触发任务。OSEKOS标准里的任务能够将其当做事件触发任务[1]。TT任务含有一种较为特别的属性:最坏运行时间,其代表一种TT任务在水下环境里运作的时间。
TT任务可以互相抢占,OSEKOS里的时间阻塞机制和资源管理对TT任务是无法进行有效运作的。当调度器把TT任务激活之后,任务就会抢占其它正在运作的任务,被抢占的任务就会始终保持抢占状态一直到成功抢占任务终止。
ET任务与TT任务能够通过双重触发系统内核进行支撑。所以,利用调度与管理任务的不同,将系统分割为两种部分,事件触发模块与时间触发模。利用OSOSEKOS、OSEKtime与SEKtimeOS的关联系统区别对层次图进行处理,把系统构架拟定成以事件触发部分即下层基础模块的层次结构,与时间触发部分为上层主要模块,作为系统内核的主要部分,双重触发模块[2]向上会供给系统服务API。
2.2 触发任务调度
经过静态周期抢占调度策略,在系统开始运作时对双重触发任务激活,使任务处于被抢占状态[5],同时在剩余双重触发任务处于空闲时,通过调度策略对任务恢复。反之该时间段没有可触发任务,同时被抢占任务已完成恢复,那么开始运行时间触发任务调度。
在调度周期任务的过程里,首先要对时间触发任务进行检测,检测是否有需要激活的任务:
1)如果存在新的时间触发任务,而且目前时刻OSTTTick与下一个时间触发任务开始的时间相等,就要对其它运行的任务进行抢占。大致的三种情况:如果目前没有运行时间触发任务,就是锁定事件触发任务调度,运行新的时间触发任务切换;如果正在运行恢复表里的任务,就对恢复表任务进行抢占,运行新的时间触发任务切换;假如以上时间触发任务没有运行结束,就把任务引入至恢复表里,抢占目前任务[6],运行新的时间触发任务切换。
2)如果没有新的时间触发任务,就评测是否含有正在运行的时间触发任务:加入时间触发任务已经运行结束,就激活事件触发任务调度;反之,标记事件触发任务调度,继续运行目前时间触发任务。
2.3 CloudMLS方案模型
以双重触发嵌入式内核为载体的安全访问控制系统一般含有以下实体:数据所有者、储存服务器、用户与中心权威机构。中心权威机构[7]主要对用户的注册与某种公开的数据进行生成,数据所有者需要确认安全访问控制策略,并将利用不同的安全级加密数据之后转至其它服务器内储存,同时将这些数据转移至每个安全级的读写密钥,用户凭借自身安全读写储存器里的数据。
依据线性几何访问层次数据加密方案和密钥分配,确保数据所有者访问策略P可以使用有向图G=(V,E)代替,同时估算一种公开矩阵来表示安全级之间的支配关联。
在CloudMLS方案内,权威中心与数据所有者进行交互获得系统的公开参数,保证素数P阶的循环群G1,GT,同时为所有安全级SCi选取用在估算读写密钥[8]的参数ki,i,私有信息{(Yi,Zi),gi},其中Yi、Zi代表两种二维向量,gi∈G1是为了处理不同安全级之间的支配关机,使公开矩阵M能够表示访问策略P,对所有安全级的私有信息,本文使用线性几何[9]里向量的正交性来确保规则,安全级[10]之间读密钥派生的方案模型公式
(1)
用户u∈SCi凭借其私有信息与公开信息能够估算获得密钥对(WriteKi,ReadKi)和满足SCj≤SCi的读密钥Read-KJ,但不获取其它安全级的写密钥[11],同时限制用户的写权限,进而完成BLP模型禁止上读与进行下写的特性安全数据共享,确保系统数据的机密性。
2.4 主体结构
SystemSetup(1δ,G)→(spi,pp)
(2)
凭借安全参数δ与数据所有者确准的安全访问构架图G,数据所有者利用下列方法对系统进行构建
2)通过稀有信息Zi获得一种间接矩阵X,相对i=1,2,xi,1=zi,1、xi,2=zi,2,相对i≥3,xi,j=0;相对i=3,…,n,xi,1=zi,1、xi,i=zi,2,而对于j≠1且i≠j,xi,j=0,所以矩阵
(3)
估算间接矩阵X是否可逆,就是|X|≠0是否成立,因为稀疏矩阵X的行列式能够通过|X|=(x1,1x2,2-x1,2x2,1)x3,3…xn,n获得,因此只需要满足条件x1,1x2,2≠x1,2x2,1且xi,i≠0(i≥3)即可。
3)数据所有者为所有安全级SCi∈SC选取一种密钥生成参数ki,i,同时用过一列方式估算公开矩阵M:
②凭借上述规则能够获得矩阵之间的关联X×M=K,因为X即可逆矩阵,所以能够估算获得公开矩阵M=X-1×K。
KeyGen(pp,spi)→(WriteKi,ReadKi)
(4)
KeyDer(SCi,SCj,pp)→ReadKi
(5)
在密钥派生时,如果安全级为SCj的用户想获得安全级为SCi用户的共享信息,首先要对读密钥进行估算,且在SCi≤SCj时,SCj能够经过公开信息与私有向量获得SCi的读密钥,从而对密文进行解密,大体的过程如下所示:
Dec(ReadKi,(c1,c2))→m
(6)
解密过程,高安全级用户传输度密钥ReadKi与密文(c1,c2),估算m=c2/e(ReadKi,c1)。
2.5 访问权限管理
2.5.1 新安全级添加与删除
在访问策略里,对安全级SCi,SCj∈SC如果有SCi≤SCj,就引入一种新安全级SCt,使其存在关联SCi≤SCt≤SCj。
首先,数据所有者随机选取私有信息((Yt,Zt),gt)和密钥生成参数kt,t,同时使用安全信道传输至其中的用户,为确保方案的安全性,数据所有者将对SCi低的安全级选择新的密钥拟定参数ki,i,并使用系统建造过程估算公开矩阵M,用户利用新的私有信息与公开矩阵M估算新的读写密钥,同时对云端的密文数据重新加密。
在安全访问结构里对安全级进行删除,标记为SCk,为了保证方案的安全性,数据所有者要对范文权限比SCk低的安全级密钥更新拟定参数,同时对公开矩阵M利用新的安全访问策略进行估算,并且关联用户需要对新的读写密钥进行估算。
2.5.2 安全访问结构内关联添加与删除
如果初始安全访问架构里SCi与SCj不能比较,现在访问图G=(V,E)里添加一条Vj至Vi的路径,即添加了关联SCi≤SCj,所以数据所有者要对访问权限比SCi低比SCj高的安全级密钥更新拟定的参数,同时对新的公开矩阵M进行估算,并且用户需要对新的密钥进行估算。
假如安全级SCi,SCj相应的访问图G=(V,E)里的节点Vi、Vj含有Vi至Vj的路径,删除关联SCi≤SCj,那么更新安全级SCi和SCk的密钥拟定的参数,其中SCk对应的节点Vk满足Vk∈Des(Vi,G)且Vk∉Des(Vj,G),之后数据所有者估算新的公开矩阵M,参与到的用户估算新的读写密钥。
3 仿真研究
3.1 仿真环境
仿真环境为Intel Celeron Tulatin1GHz CPU和384MB SD内存的硬件环境和MATLAB6.1的软件环境。
凭借本文提出的安全访问控制机制,构建实验的外部环境,本文的明文尺寸分别是500、20000、100000字节,用户角色为10、100、1000。选择的数值的标准为不超过255且要求总量最大。
3.2 实验结果分析
在此情况下,获得的角色多少、明文大小和密文大小之间的关联,如表1所示。
表1 角色、明文与密文之间的关联
通过表1能够得知,密文尺寸与用户角色没有关联,其只与明文尺寸成线性关系。这种情况表明,密文大小不受目前任务总量的干扰,只会受到明文尺寸的影响。
1kB大小的密文文件在解密时云操作、解密时间之间的关联,如图1所示。
图1 处理器核与解密时间之间的关联
通过图1能够得知,解密时间会跟着用户角色总数增加而上升,在一定的用户总量里,解密时间随着用户角色总量的增加而变慢,这种情况表明,解密时间会被处理器内核总量与用户总量干扰。
信息熵看成是某些特定信息出现的概率,是信息冗余度即信息重复程度的一个度量,它是图像信息不确定性的表现,其值越大图像的可视信息就越少,加密效果就越理想。信息熵的计算公式为
(7)
表2 密文图像信息熵结果
由表2可以看出,所提算法的信息熵接近于理想值8,证明密文文件的随机性较为理想。
密钥敏感性分析是分析密码算法性能的又一个关键指标,是指对于同一幅明文图像使用两个差别很小的密钥实现完全相同的加密操作,得到两幅差距较大的密文;或者使用两个差别很小的解密密钥,对同一幅密文图像解密,解密出差异很大的两幅图像。为验证密匙敏感性,任取明文图像一点坐标,对其进行微小的转化,如像素点(7,125)转化为(7,136),图2表示同一幅密文图像利用本文解密密钥以及稍作改变后密匙解密后的效果图。
图2 解密后的效果图
解密密钥稍作改变,就无法准确解密出原始明文图像,对该算法中的其它密钥进行相同的操作也得到类似的结果,证明了算法的密钥敏感性很强。
直方图是一个离散函数,是图像的一个重要统计特征。表征了图像的每个灰度级与它在图像中出现次数的对应关系。当每一个像素值出现的概率越平,则图像的安全性就越稳定。
由图3可以看出,原始明文图像的灰度值分布很不均匀,表现出明显的像素值统计特性,而加密后密文加密后的图像像素出现的频率基本相同,较为平滑,随着序列次数的增进,密文直方图像素的能量的分布是越均匀的;密文图像的直方图更加平稳,波动程度小,并且分布均匀效果也有很大的改善,非常完美的掩盖了原始图像的分布规律,更增加了破译的广度和难度,表明本文方法可以有效的抵抗攻击。
图3 加密前后灰度直方图
4 结论
针对嵌入式内核安全访问控制问题,本文提出了一种基于双重触发的嵌入式内核安全访问控制方法,利用修改内核,使其符合OSEK-time的指标双重触发调度模块,然后通过抢占式调度策略,查询新的双重触发任务,在以内核为基础,建造一种CloudMLS方案模型,同时利用该模型对触发任务处理,从而获得一些公开参数,最后通过上述得到的资源构建安全访问控制机制,并添加新安全级与安全访问结构里的关联,从而完成对双重触发的嵌入式内核安全访问的控制。