米紅波
(內(nèi)蒙古科技大學(xué)包頭師范學(xué)院,內(nèi)蒙古 包頭 014030)
由于分布式應(yīng)用的行任務(wù)復(fù)雜性與不可預(yù)知的提升,單純的時(shí)間觸發(fā)機(jī)制在大多數(shù)情況下都很難確保系統(tǒng)的可靠性和安全性。而事件觸發(fā)可控的特性從基礎(chǔ)上提升了系統(tǒng)的實(shí)時(shí)性,因此,很多研究者將兩種觸發(fā)機(jī)制進(jìn)行融合構(gòu)建出一種雙重觸發(fā)機(jī)制。用戶的指定應(yīng)用不但擁有特殊性,并且還具有一定的共性。設(shè)計(jì)功能實(shí)現(xiàn)通過的模塊,針對特定ASIC應(yīng)用,嵌入不同的集成內(nèi)核,能夠大大簡化設(shè)計(jì)難度、縮短設(shè)計(jì)的時(shí)間、降低設(shè)計(jì)的成本。
嵌入式內(nèi)核從功能上劃分為微處理器內(nèi)核、DSP內(nèi)核、PF內(nèi)核等,其本質(zhì)特點(diǎn)是重用性、可編輯性,所以需要軟硬件的共同設(shè)計(jì)。正是因?yàn)榍度胧絻?nèi)核的引入,使設(shè)計(jì)者能夠著眼與更高的層面上,即在用戶系統(tǒng)的層次上進(jìn)行設(shè)計(jì)。雖然嵌入式內(nèi)核擁有很多優(yōu)點(diǎn),但其安全訪問控制機(jī)制并不完美,而傳統(tǒng)方法雖然能夠通過RST端對安全訪問進(jìn)行簡單操縱,但是其不能完美的對明文加密、密文解密、角色分配。
針對上述問題本文提出了一種基于雙重觸發(fā)的嵌入式內(nèi)核安全訪問控制方法,該方法能夠有效的完成明文加密、密文解密、角色分配和用戶安全訪問控制,使網(wǎng)絡(luò)安全性達(dá)到最高。
首先對嵌入式內(nèi)核修改,使其符合OSEK-time的指標(biāo)時(shí)間觸發(fā)調(diào)度模塊。同時(shí)配備一整套擁有錯誤檢測、可拓展、應(yīng)用程序、標(biāo)準(zhǔn)接口的操作系統(tǒng),指標(biāo)存在的主體模塊有中斷處理、任務(wù)管理、資源管理與事件機(jī)制等。OSEK-timeOS就是一種為了處理雙重觸發(fā)建造需求而分割出操作系統(tǒng)的指標(biāo),并且該指標(biāo)需要和OSEKOS一起運(yùn)行,在同時(shí)運(yùn)行的時(shí)候OSEKOS會成為子系統(tǒng)。OSEKtimeOS把空閑時(shí)間劃分至OSEKOS里使用。
OSEKtimeOS里的任務(wù)叫做時(shí)間觸發(fā)任務(wù)。OSEKOS標(biāo)準(zhǔn)里的任務(wù)能夠?qū)⑵洚?dāng)做事件觸發(fā)任務(wù)[1]。TT任務(wù)含有一種較為特別的屬性:最壞運(yùn)行時(shí)間,其代表一種TT任務(wù)在水下環(huán)境里運(yùn)作的時(shí)間。
TT任務(wù)可以互相搶占,OSEKOS里的時(shí)間阻塞機(jī)制和資源管理對TT任務(wù)是無法進(jìn)行有效運(yùn)作的。當(dāng)調(diào)度器把TT任務(wù)激活之后,任務(wù)就會搶占其它正在運(yùn)作的任務(wù),被搶占的任務(wù)就會始終保持搶占狀態(tài)一直到成功搶占任務(wù)終止。
ET任務(wù)與TT任務(wù)能夠通過雙重觸發(fā)系統(tǒng)內(nèi)核進(jìn)行支撐。所以,利用調(diào)度與管理任務(wù)的不同,將系統(tǒng)分割為兩種部分,事件觸發(fā)模塊與時(shí)間觸發(fā)模。利用OSOSEKOS、OSEKtime與SEKtimeOS的關(guān)聯(lián)系統(tǒng)區(qū)別對層次圖進(jìn)行處理,把系統(tǒng)構(gòu)架擬定成以事件觸發(fā)部分即下層基礎(chǔ)模塊的層次結(jié)構(gòu),與時(shí)間觸發(fā)部分為上層主要模塊,作為系統(tǒng)內(nèi)核的主要部分,雙重觸發(fā)模塊[2]向上會供給系統(tǒng)服務(wù)API。
經(jīng)過靜態(tài)周期搶占調(diào)度策略,在系統(tǒng)開始運(yùn)作時(shí)對雙重觸發(fā)任務(wù)激活,使任務(wù)處于被搶占狀態(tài)[5],同時(shí)在剩余雙重觸發(fā)任務(wù)處于空閑時(shí),通過調(diào)度策略對任務(wù)恢復(fù)。反之該時(shí)間段沒有可觸發(fā)任務(wù),同時(shí)被搶占任務(wù)已完成恢復(fù),那么開始運(yùn)行時(shí)間觸發(fā)任務(wù)調(diào)度。
在調(diào)度周期任務(wù)的過程里,首先要對時(shí)間觸發(fā)任務(wù)進(jìn)行檢測,檢測是否有需要激活的任務(wù):
1)如果存在新的時(shí)間觸發(fā)任務(wù),而且目前時(shí)刻OSTTTick與下一個時(shí)間觸發(fā)任務(wù)開始的時(shí)間相等,就要對其它運(yùn)行的任務(wù)進(jìn)行搶占。大致的三種情況:如果目前沒有運(yùn)行時(shí)間觸發(fā)任務(wù),就是鎖定事件觸發(fā)任務(wù)調(diào)度,運(yùn)行新的時(shí)間觸發(fā)任務(wù)切換;如果正在運(yùn)行恢復(fù)表里的任務(wù),就對恢復(fù)表任務(wù)進(jìn)行搶占,運(yùn)行新的時(shí)間觸發(fā)任務(wù)切換;假如以上時(shí)間觸發(fā)任務(wù)沒有運(yùn)行結(jié)束,就把任務(wù)引入至恢復(fù)表里,搶占目前任務(wù)[6],運(yùn)行新的時(shí)間觸發(fā)任務(wù)切換。
2)如果沒有新的時(shí)間觸發(fā)任務(wù),就評測是否含有正在運(yùn)行的時(shí)間觸發(fā)任務(wù):加入時(shí)間觸發(fā)任務(wù)已經(jīng)運(yùn)行結(jié)束,就激活事件觸發(fā)任務(wù)調(diào)度;反之,標(biāo)記事件觸發(fā)任務(wù)調(diào)度,繼續(xù)運(yùn)行目前時(shí)間觸發(fā)任務(wù)。
以雙重觸發(fā)嵌入式內(nèi)核為載體的安全訪問控制系統(tǒng)一般含有以下實(shí)體:數(shù)據(jù)所有者、儲存服務(wù)器、用戶與中心權(quán)威機(jī)構(gòu)。中心權(quán)威機(jī)構(gòu)[7]主要對用戶的注冊與某種公開的數(shù)據(jù)進(jìn)行生成,數(shù)據(jù)所有者需要確認(rèn)安全訪問控制策略,并將利用不同的安全級加密數(shù)據(jù)之后轉(zhuǎn)至其它服務(wù)器內(nèi)儲存,同時(shí)將這些數(shù)據(jù)轉(zhuǎn)移至每個安全級的讀寫密鑰,用戶憑借自身安全讀寫儲存器里的數(shù)據(jù)。
依據(jù)線性幾何訪問層次數(shù)據(jù)加密方案和密鑰分配,確保數(shù)據(jù)所有者訪問策略P可以使用有向圖G=(V,E)代替,同時(shí)估算一種公開矩陣來表示安全級之間的支配關(guān)聯(lián)。
在CloudMLS方案內(nèi),權(quán)威中心與數(shù)據(jù)所有者進(jìn)行交互獲得系統(tǒng)的公開參數(shù),保證素?cái)?shù)P階的循環(huán)群G1,GT,同時(shí)為所有安全級SCi選取用在估算讀寫密鑰[8]的參數(shù)ki,i,私有信息{(Yi,Zi),gi},其中Yi、Zi代表兩種二維向量,gi∈G1是為了處理不同安全級之間的支配關(guān)機(jī),使公開矩陣M能夠表示訪問策略P,對所有安全級的私有信息,本文使用線性幾何[9]里向量的正交性來確保規(guī)則,安全級[10]之間讀密鑰派生的方案模型公式
(1)
用戶u∈SCi憑借其私有信息與公開信息能夠估算獲得密鑰對(WriteKi,ReadKi)和滿足SCj≤SCi的讀密鑰Read-KJ,但不獲取其它安全級的寫密鑰[11],同時(shí)限制用戶的寫權(quán)限,進(jìn)而完成BLP模型禁止上讀與進(jìn)行下寫的特性安全數(shù)據(jù)共享,確保系統(tǒng)數(shù)據(jù)的機(jī)密性。
SystemSetup(1δ,G)→(spi,pp)
(2)
憑借安全參數(shù)δ與數(shù)據(jù)所有者確準(zhǔn)的安全訪問構(gòu)架圖G,數(shù)據(jù)所有者利用下列方法對系統(tǒng)進(jìn)行構(gòu)建
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是否成立,因?yàn)橄∈杈仃嘪的行列式能夠通過|X|=(x1,1x2,2-x1,2x2,1)x3,3…xn,n獲得,因此只需要滿足條件x1,1x2,2≠x1,2x2,1且xi,i≠0(i≥3)即可。
3)數(shù)據(jù)所有者為所有安全級SCi∈SC選取一種密鑰生成參數(shù)ki,i,同時(shí)用過一列方式估算公開矩陣M:
②憑借上述規(guī)則能夠獲得矩陣之間的關(guān)聯(lián)X×M=K,因?yàn)閄即可逆矩陣,所以能夠估算獲得公開矩陣M=X-1×K。
KeyGen(pp,spi)→(WriteKi,ReadKi)
(4)
KeyDer(SCi,SCj,pp)→ReadKi
(5)
在密鑰派生時(shí),如果安全級為SCj的用戶想獲得安全級為SCi用戶的共享信息,首先要對讀密鑰進(jìn)行估算,且在SCi≤SCj時(shí),SCj能夠經(jīng)過公開信息與私有向量獲得SCi的讀密鑰,從而對密文進(jìn)行解密,大體的過程如下所示:
Dec(ReadKi,(c1,c2))→m
(6)
解密過程,高安全級用戶傳輸度密鑰ReadKi與密文(c1,c2),估算m=c2/e(ReadKi,c1)。
2.5.1 新安全級添加與刪除
在訪問策略里,對安全級SCi,SCj∈SC如果有SCi≤SCj,就引入一種新安全級SCt,使其存在關(guān)聯(lián)SCi≤SCt≤SCj。
首先,數(shù)據(jù)所有者隨機(jī)選取私有信息((Yt,Zt),gt)和密鑰生成參數(shù)kt,t,同時(shí)使用安全信道傳輸至其中的用戶,為確保方案的安全性,數(shù)據(jù)所有者將對SCi低的安全級選擇新的密鑰擬定參數(shù)ki,i,并使用系統(tǒng)建造過程估算公開矩陣M,用戶利用新的私有信息與公開矩陣M估算新的讀寫密鑰,同時(shí)對云端的密文數(shù)據(jù)重新加密。
在安全訪問結(jié)構(gòu)里對安全級進(jìn)行刪除,標(biāo)記為SCk,為了保證方案的安全性,數(shù)據(jù)所有者要對范文權(quán)限比SCk低的安全級密鑰更新擬定參數(shù),同時(shí)對公開矩陣M利用新的安全訪問策略進(jìn)行估算,并且關(guān)聯(lián)用戶需要對新的讀寫密鑰進(jìn)行估算。
2.5.2 安全訪問結(jié)構(gòu)內(nèi)關(guān)聯(lián)添加與刪除
如果初始安全訪問架構(gòu)里SCi與SCj不能比較,現(xiàn)在訪問圖G=(V,E)里添加一條Vj至Vi的路徑,即添加了關(guān)聯(lián)SCi≤SCj,所以數(shù)據(jù)所有者要對訪問權(quán)限比SCi低比SCj高的安全級密鑰更新擬定的參數(shù),同時(shí)對新的公開矩陣M進(jìn)行估算,并且用戶需要對新的密鑰進(jìn)行估算。
假如安全級SCi,SCj相應(yīng)的訪問圖G=(V,E)里的節(jié)點(diǎn)Vi、Vj含有Vi至Vj的路徑,刪除關(guān)聯(lián)SCi≤SCj,那么更新安全級SCi和SCk的密鑰擬定的參數(shù),其中SCk對應(yīng)的節(jié)點(diǎn)Vk滿足Vk∈Des(Vi,G)且Vk?Des(Vj,G),之后數(shù)據(jù)所有者估算新的公開矩陣M,參與到的用戶估算新的讀寫密鑰。
仿真環(huán)境為Intel Celeron Tulatin1GHz CPU和384MB SD內(nèi)存的硬件環(huán)境和MATLAB6.1的軟件環(huán)境。
憑借本文提出的安全訪問控制機(jī)制,構(gòu)建實(shí)驗(yàn)的外部環(huán)境,本文的明文尺寸分別是500、20000、100000字節(jié),用戶角色為10、100、1000。選擇的數(shù)值的標(biāo)準(zhǔn)為不超過255且要求總量最大。
在此情況下,獲得的角色多少、明文大小和密文大小之間的關(guān)聯(lián),如表1所示。
表1 角色、明文與密文之間的關(guān)聯(lián)
通過表1能夠得知,密文尺寸與用戶角色沒有關(guān)聯(lián),其只與明文尺寸成線性關(guān)系。這種情況表明,密文大小不受目前任務(wù)總量的干擾,只會受到明文尺寸的影響。
1kB大小的密文文件在解密時(shí)云操作、解密時(shí)間之間的關(guān)聯(lián),如圖1所示。
圖1 處理器核與解密時(shí)間之間的關(guān)聯(lián)
通過圖1能夠得知,解密時(shí)間會跟著用戶角色總數(shù)增加而上升,在一定的用戶總量里,解密時(shí)間隨著用戶角色總量的增加而變慢,這種情況表明,解密時(shí)間會被處理器內(nèi)核總量與用戶總量干擾。
信息熵看成是某些特定信息出現(xiàn)的概率,是信息冗余度即信息重復(fù)程度的一個度量,它是圖像信息不確定性的表現(xiàn),其值越大圖像的可視信息就越少,加密效果就越理想。信息熵的計(jì)算公式為
(7)
表2 密文圖像信息熵結(jié)果
由表2可以看出,所提算法的信息熵接近于理想值8,證明密文文件的隨機(jī)性較為理想。
密鑰敏感性分析是分析密碼算法性能的又一個關(guān)鍵指標(biāo),是指對于同一幅明文圖像使用兩個差別很小的密鑰實(shí)現(xiàn)完全相同的加密操作,得到兩幅差距較大的密文;或者使用兩個差別很小的解密密鑰,對同一幅密文圖像解密,解密出差異很大的兩幅圖像。為驗(yàn)證密匙敏感性,任取明文圖像一點(diǎn)坐標(biāo),對其進(jìn)行微小的轉(zhuǎn)化,如像素點(diǎn)(7,125)轉(zhuǎn)化為(7,136),圖2表示同一幅密文圖像利用本文解密密鑰以及稍作改變后密匙解密后的效果圖。
圖2 解密后的效果圖
解密密鑰稍作改變,就無法準(zhǔn)確解密出原始明文圖像,對該算法中的其它密鑰進(jìn)行相同的操作也得到類似的結(jié)果,證明了算法的密鑰敏感性很強(qiáng)。
直方圖是一個離散函數(shù),是圖像的一個重要統(tǒng)計(jì)特征。表征了圖像的每個灰度級與它在圖像中出現(xiàn)次數(shù)的對應(yīng)關(guān)系。當(dāng)每一個像素值出現(xiàn)的概率越平,則圖像的安全性就越穩(wěn)定。
由圖3可以看出,原始明文圖像的灰度值分布很不均勻,表現(xiàn)出明顯的像素值統(tǒng)計(jì)特性,而加密后密文加密后的圖像像素出現(xiàn)的頻率基本相同,較為平滑,隨著序列次數(shù)的增進(jìn),密文直方圖像素的能量的分布是越均勻的;密文圖像的直方圖更加平穩(wěn),波動程度小,并且分布均勻效果也有很大的改善,非常完美的掩蓋了原始圖像的分布規(guī)律,更增加了破譯的廣度和難度,表明本文方法可以有效的抵抗攻擊。
圖3 加密前后灰度直方圖
針對嵌入式內(nèi)核安全訪問控制問題,本文提出了一種基于雙重觸發(fā)的嵌入式內(nèi)核安全訪問控制方法,利用修改內(nèi)核,使其符合OSEK-time的指標(biāo)雙重觸發(fā)調(diào)度模塊,然后通過搶占式調(diào)度策略,查詢新的雙重觸發(fā)任務(wù),在以內(nèi)核為基礎(chǔ),建造一種CloudMLS方案模型,同時(shí)利用該模型對觸發(fā)任務(wù)處理,從而獲得一些公開參數(shù),最后通過上述得到的資源構(gòu)建安全訪問控制機(jī)制,并添加新安全級與安全訪問結(jié)構(gòu)里的關(guān)聯(lián),從而完成對雙重觸發(fā)的嵌入式內(nèi)核安全訪問的控制。