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