国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VTCM的分布式可信度量方法

2020-08-19 07:01何旺宇王中華李亞暉
計算機工程 2020年8期
關鍵詞:插件嵌入式分布式

何旺宇,王中華,李亞暉

(1.中國航空工業(yè)集團公司西安航空計算技術研究所,西安 710065; 2.機載彈載計算機航空科技重點實驗室,西安 710068)

0 概述

隨著信息技術的高速發(fā)展,嵌入式系統(tǒng)被廣泛應用于工業(yè)、交通、軍事以及航天等領域[1],成為國家基礎設施與武器裝備的重要組成部分。嵌入式計算機作為執(zhí)行命令的重要單元,容易受到信息攻擊,面臨著病毒入侵、木馬注入、內部人員非法操作等多種安全問題[2-4],因此,需要在平臺內嵌入可信平臺模塊(Trusted Platform Module,TPM)或可信密碼模塊(Trusted Cryptography Module,TCM)[5-6]以保證其底層硬件環(huán)境和平臺運行安全可信,從而實現(xiàn)可信啟動[7-8]。然而對于多個協(xié)同工作的嵌入式計算機而言,如果在其內部使用TCM芯片,則會造成能耗和技術管理上的問題。TCM嵌入會導致計算機安全防護產生較大的時間與能耗開銷[6,9],模塊更新升級與后期維護也會造成人力和物力方面的負擔。此外,由于每個TCM模塊對應多個證書和密鑰類型,因此配置多個TCM模塊會帶來證書與密鑰的生成、更新和撤銷等管理問題[10]。

本文通過引入TCM和虛擬可信密碼模塊(Virtual Trusted Cryptography Module,VTCM),提出一種分布式可信度量方法。將多臺協(xié)同工作的嵌入式計算機構建為工作域,將每臺嵌入式計算機作為計算節(jié)點,選取計算節(jié)點嵌入TCM完成可信啟動,其他計算節(jié)點利用VTCM和TCM驗證配置信息進行分布式可信度量,從而實現(xiàn)域內所有嵌入式平臺的可信啟動。

1 相關研究

近年來,針對嵌入式系統(tǒng)平臺的可信啟動問題,國內外學者進行大量研究并取得一定成果。文獻[11]指出獨立TPM芯片不適用于資源受限的嵌入式系統(tǒng),將基于軟件的TPM放置在受保護執(zhí)行區(qū)域更合適。文獻[12]提出一種基于嵌入式可信模塊的嵌入式設備可信啟動方法,在Bootloader啟動前對通信設備進行初始化,建立與嵌入式可信計算模塊的連接與認證,用可信計算模塊度量Bootloader,再用其度量操作系統(tǒng)內核。文獻[13]設計基于Vxworks嵌入式操作系統(tǒng)的可信平臺,通過TPM完成對該系統(tǒng)可信的完整性度量,增強了嵌入式平臺安全性。文獻[14]采用雙內核架構建立無額外硬件的嵌入式信任根模型,在VTCM基礎上實現(xiàn)了FLASH+PMON+可信內核的軟件信任根,為構建嵌入式系統(tǒng)信任根提供可行的低成本方法。文獻[15]建立基于國產處理器的嵌入式可信平臺,在不增加額外硬件的情況下,大幅提高系統(tǒng)性能。文獻[16]提出用于多個嵌入式系統(tǒng)完整性驗證的架構,在數據中心等服務器站點獲取嵌入式系統(tǒng)代碼,通過用戶應用程序在遠程站點對其進行檢查,使用計算得到的散列值驗證系統(tǒng)完整性,并顯示系統(tǒng)是否被更改,然而該方法不能保證系統(tǒng)可信啟動。文獻[17]針對PDA等手持計算機系統(tǒng)提出一種安全平臺體系結構PERSEUS,該結構采用虛擬機實現(xiàn)不同安全級別應用程序之間的隔離。與此類似,文獻[18-19]提出嵌入式Xen平臺,在TPM嵌入式硬件平臺上運行多個VTCM虛擬機實例,但基于虛擬機的體系結構對系統(tǒng)資源要求較高,不適用于資源受限、強實時性的嵌入式系統(tǒng)[9]。

在上述研究中,無論用硬件還是軟件構建嵌入式系統(tǒng)環(huán)境,均主要針對單個嵌入式系統(tǒng)平臺。關于多個協(xié)同工作的嵌入式系統(tǒng)平臺分布式可信度量,目前國內外研究較少。因此,本文針對工作域內多個嵌入式計算機的可信啟動問題,提出一種基于VTCM的分布式可信度量方法,在域內1個可信計算節(jié)點嵌入TCM模塊,在其他非可信計算節(jié)點利用VTCM插件實現(xiàn)分布式可信度量,從而保證域內所有嵌入式計算機安全可信。

2 設計思路

本文利用TCM和VTCM插件完成對系統(tǒng)各計算節(jié)點分布式可信度量和域內管理密鑰生成,基于VTCM的分布式可信度量過程如圖1所示。嵌入式平臺上電后,首先通過啟動網絡交換機加載以太網驅動,為實現(xiàn)分布式可信度量提供數據傳輸通道,然后在嵌入TCM的計算節(jié)點完成本地系統(tǒng)平臺可信度量,同時在其他非可信計算節(jié)點運行VTCM插件計算操作系統(tǒng)鏡像和應用鏡像等本地平臺操作系統(tǒng)(OS)資源的哈希運算消息認證碼(Hash-based Message Authentication Code,HMAC),并通過以太網將其發(fā)送給可信計算節(jié)點驗證。在進行可信度量過程中,TCM和每個VTCM通過信息交互生成域內管理密鑰GK,并用于域內不同計算節(jié)點管理組件之間數據傳輸,以保證域內傳輸數據安全。

圖1 基于VTCM的分布式可信度量過程Fig.1 Distributed trusted measurement process based on VTCM

3 分布式可信度量方法

工作域內嵌入式系統(tǒng)上電后,嵌入TCM的可信計算節(jié)點先完成本地系統(tǒng)可信度量,同時在非可信計算節(jié)點運行VTCM插件,計算得到本地系統(tǒng)資源HMAC并發(fā)送給TCM,由TCM將該HMAC與預先存儲的HMAC進行對比,若驗證成功則啟動系統(tǒng),否則將中斷系統(tǒng)啟動并在可信計算節(jié)點打印錯誤信息。

在上述流程中,VTCM作為插件嵌入到Boot引導程序(存放在ROM中以防止被篡改),VTCM插件主要包括網卡驅動程序以及HMAC和通信3個模塊。網卡驅動程序主要由初始化程序、關閉網絡設備程序、發(fā)送數據包程序以及接收數據包程序等組成;HMAC模塊用于系統(tǒng)和應用鏡像的簽名值計算;通信模塊負責與TCM保持通信并監(jiān)聽上層應用請求。與TPM[20-21]相比,VTCM沒有加密算法引擎、密鑰生成器以及隨機數生成器等模塊,功能較單一,可考慮在后續(xù)應用中對其功能進行擴展。VTCM和TCM分布式可信度量過程如圖2所示,具體如下:

圖2 TCM和VTCM分布式可信度量過程Fig.2 TCM and VTCM distributed trusted measurement process

1)TCM和每個VTCM分別預置身份標識(Identification,ID)和秘密信息,同時TCM存儲每個VTCM預置的IDi、秘密值Si以及正確的系統(tǒng)資源值HMACSi(OSi)′,TCM的預置秘密信息為S0。其中,Si(0≤i≤n)為32位的隨機數,S1~Sn為n個VTCM預置的秘密信息,其分別存儲在TCM和VTCM的安全空間區(qū)域內,H為哈希函數。

2)啟動具有嵌入TCM硬件模塊的計算節(jié)點并完成本地系統(tǒng)平臺的可信度量。

3)非可信計算節(jié)點運行VTCM插件,VTCM發(fā)送IDi到TCM。

4)TCM生成隨機數k,利用秘密值S0和對稱加密算法E(x)對k進行加密得到ES0(k),發(fā)送ES0(k)到各VTCM。

5)VTCM對收到的ES0(k)解密后得到隨機數k,利用本地系統(tǒng)資源值和秘密信息Si計算Vi=H(k⊕HMACSi(OSi))(1≤i≤n),并發(fā)送Vi到TCM。

6)TCM計算V′i=(k⊕HMACSi(OSi)′)(1≤i≤n),再與Vi進行異或運算,由結果是否為0判斷Vi與V′i是否相等。若兩者不相等則返回VTCM,度量結果驗證失敗,終止相應非可信計算節(jié)點操作系統(tǒng)啟動運行;若兩者相等則TCM生成1個隨機數r,計算SK=HMACr(S0)和ES0(r),然后發(fā)送ID0、IDi和ES0(r)到VTCM。

7)VTCM對收到的ES0(r)進行解密后得到隨機數r,計算SK=HMACr(S0)和Zi=H(ID0‖IDi‖r‖Si),發(fā)送IDi和Zi到TCM。

8)TCM計算Z′i=H(ID0‖IDi‖r‖Si),通過異或運算,由結果是否為0判斷Zi與Z′i是否相等,若兩者相等則表示VTCM已成功收到r。

TCM通過對每個VTCM進行完整性度量判斷其是否可信。VTCM根據TCM度量結果判斷是否可以安全啟動系統(tǒng)。此外,通過TCM分發(fā)過程,VTCM安全獲得域內管理密鑰GK=HMACr(S0)。

4 方法分析

4.1 基于BAN邏輯的方法形式化證明

本文采用BAN邏輯分析對分布式可信度量方法進行形式化證明。假設TCM是主體A,VTCM是主體B,證明過程如下:

1)協(xié)議形式化

消息1:A?IDi。

消息2:B?ES0(k)。

消息3:A?Vi=H(k⊕HMACSi(OSi))。

消息4:B?ID0,IDi,ES0(r)。

消息5:A?IDi,Zi=H(ID0‖IDi‖r‖Si)。

2)安全目標

目標1:A|≡HMACSi(OSi)。

目標2:A|≡Zi。

3)初始假設

假設3:A|≡#(k,r)。

假設4:A|≡B|?IDi,Si,HMACSi(OSi)(1≤i≤n)。

假設5:B|≡A|?IDi,Si,HMACSi(OSi)′(1≤i≤n)。

4)分析推理及結論

(1)證明A|≡HMACSi(OSi)

由假設1和消息3以及BAN邏輯消息含義規(guī)則式[22]可以推導出:

A|≡B|~Vi

(1)

由假設3和新鮮規(guī)則式[22]推導出:

A|≡#(Vi),即A|≡#(HMACSi(OSi))

(2)

由隨機數驗證規(guī)則式[22]推導出:

A|≡B|≡HMACSi(OSi)

(3)

由假設5和仲裁規(guī)則式[22]推導出:

A|≡HMACSi(OSi)

(4)

(2)證明A|≡Zi

由假設1、消息5以及BAN邏輯消息含義規(guī)則式推導出:

A|≡B|~Zi

(5)

由假設3和新鮮規(guī)則式推導出:

A|≡#(Zi)

(6)

由隨機數驗證規(guī)則式推導出:

A|≡B|≡Zi

(7)

由假設5和仲裁規(guī)則式推導出:

A|≡Zi

(8)

經過BAN邏輯形式化分析,協(xié)議預期目標得到證明,即TCM相信其收到的配置信息HMACSi(OSi)和需要驗證的信息Zi均為VTCM發(fā)送。

4.2 安全性分析

對上述TCM和VTCM分布式可信度量方法的安全性分析如下:

1)防竊聽和非法讀取

由于哈希函數的單向性以及隨機數k、r的可變性,因此即使攻擊者得到通信信息也無法從中得到IDi對應的秘密信息Si以及用其加密的信息。

2)防假冒攻擊

TCM發(fā)送到VTCM的信息經過加密算法加密,且加密內容為隨機數,攻擊者無法偽造TCM發(fā)送的信息ES0(k)和ES0(r)。

VTCM在第1次發(fā)送ID后,其與TCM的每次會話都會計算哈希函數值并進行認證,且每次認證時會更新隨機數k和r,因此,攻擊者假冒VTCM發(fā)送的偽造信息無法通過驗證。

3)防重放攻擊

由于協(xié)議目的是在嵌入TCM的可信計算節(jié)點驗證VTCM所在計算節(jié)點的系統(tǒng)資源HMAC是否正確,因此應確保攻擊者無法獲取HMAC。本文協(xié)議VTCM計算Vi=H(k⊕HMACSi(OSi)) (1≤i≤n),發(fā)送Vi給TCM,從而攻擊者就不會獲取到VTCM所計算的本地系統(tǒng)資源HMACSi(OSi),且由于每次所用k為隨機數,因而即使攻擊者得到之前發(fā)送的Vi,也無法在TCM端通過驗證,有效防止了重放攻擊。

4)防中間人攻擊

當TCM和VTCM之間存在中間人時,中間人能竊聽TCM和VTCM之間通信,還可將信息進行篡改后發(fā)送給另外兩方。而采用本文方法即使中間人得到通信信息,也無法從中得到IDi對應的秘密信息Si以及用其加密的信息。即使中間人篡改TCM發(fā)送的ES0(k)、ES0(r)或者VTCM發(fā)送的Vi、Zi,也無法在TCM端通過驗證。

4.3 可信度量功能和性能實驗

在11臺嵌入式開發(fā)板上對本文提出的分布式可信度量方法進行可行性驗證。開發(fā)板搭載P2020子卡和TPM子卡,P2020子卡包括P2020處理器、100 MHz以太網等對外接口,TPM子卡以Xilinx公司FPGA XC7K325TFBG676芯片為控制核心。開發(fā)板外圍包括時鐘、電源、復位、JTAG、PROM、Flash、CCM3310S電路及兩路RS232串行通信接口。TPM子卡通過SPI總線與CPU模塊進行通信。所有開發(fā)板固化相同鏡像,鏡像大小為783 280 Byte。

在11臺嵌入式開發(fā)板中,10臺為客戶端(非可信計算節(jié)點),1臺為服務器(可信計算節(jié)點),非可信計算節(jié)點運行VTCM應用,可信計算節(jié)點運行TCM應用,在應用層對分布式可信度量的時間開銷進行測試。測試過程如下:

1)系統(tǒng)啟動后,VTCM和TCM建立通信連接,VTCM發(fā)送ID到TCM。

2)TCM接收到ID后生成隨機數k,對其進行AES加密得到E(k),將E(k)發(fā)送到VTCM。

3)VTCM對收到的E(k)進行解密后得到隨機數k,利用本地系統(tǒng)資源值計算得到Vi=H(k⊕HMACSi(OSi)) (1≤i≤10),并發(fā)送Vi到TCM。

4)TCM計算V′i=(k⊕HMACSi(OSi)′) (1≤i≤10),然后再與Vi進行異或運算,若運算結果為0,則在可信計算節(jié)點輸出VTCM驗證成功,計算從可信計算節(jié)點和非可信計算節(jié)點開始建立通信連接到TCM驗證成功所用時間。

經多次測試,單個VTCM分布式可信度量平均時間開銷為574 ms,其中加解密以及通信傳輸數據時間為56 ms,計算客戶端系統(tǒng)資源HMAC時間為518 ms。將系統(tǒng)資源值大小修改為10個不同的值進行系統(tǒng)資源值大小對分布式可信度量與VTCM計算HMAC時間開銷的影響測試,結果如圖3所示。

圖3 系統(tǒng)資源值大小對2種方法的影響Fig.3 Influence of system resource value on two kinds of methods

由圖3可以看出,系統(tǒng)分布式可信度量時間開銷與VTCM計算得到HMAC的時間開銷均隨系統(tǒng)資源值增大而呈線性增長,其中,打印信息、加解密以及通信傳輸數據的時間開銷保持不變。

為測試分布式度量方法的有效性,現(xiàn)修改操作系統(tǒng)代碼中網卡配置信息,構建項目后將可執(zhí)行文件固化進開發(fā)板,重復上述測試步驟,得到客戶端系統(tǒng)資源HMAC如表1所示。

表1 網卡配置修改前后的客戶端系統(tǒng)資源HMAC對比Table 1 Comparison of HMAC of client system resources before and after network card configuration modification

由表1可以看出,由于修改前后客戶端系統(tǒng)資源HMAC發(fā)生變化,因此修改后可信計算節(jié)點驗證配置信息失敗,證明分布式度量方法具備有效性。

通過逐漸增加非可信計算節(jié)點數量,進行非可信計算節(jié)點數量對分布式可信度量時間開銷的影響測試,結果如圖4所示??梢钥闯?隨著非可信計算節(jié)點數量的增加,系統(tǒng)分布式可信度量時間開銷逐漸增加。所有非可信計算節(jié)點固化相同系統(tǒng)鏡像并在啟動過程中同步運行,可信計算節(jié)點循環(huán)接收非可信計算節(jié)點連接請求,建立連接后開辟新線程,并與相應非可信計算節(jié)點進行通信,相較單個VTCM增加了線程調度、通信以及TCM端打印輸出信息的時間開銷。在嵌入式系統(tǒng)中,通常5個~6個計算節(jié)點構成1個可信的安全域。將其中1個作為可信計算節(jié)點,其他作為非可信計算節(jié)點,非可信計算節(jié)點并行通過可信度量驗證并啟動,TCM端驗證1個非可信計算節(jié)點系統(tǒng)資源值時間約為30 ms,完成整個分布式可信度量過程時間開銷為707 ms。因此,本文提出的分布式可信度量方法具有嵌入式系統(tǒng)環(huán)境下多個計算節(jié)點安全啟動的可行性。

圖4 非可信計算節(jié)點數量對分布式可信度量時間開銷的影響Fig.4 Influence of the number of non trusted computing nodes on the time cost of distributed trusted measurement

5 結束語

本文提出一種基于VTCM的分布式可信度量方法。對已安裝TCM的嵌入式計算機進行可信度量,在非可信計算機上運行VTCM計算得到HMAC并發(fā)送給TCM,由TCM將該HMAC與預先存儲的相應HMAC進行對比,若驗證成功則啟動操作系統(tǒng),否則中斷系統(tǒng)啟動。實驗結果表明,該方法滿足嵌入式計算機可信啟動過程中的機密性和安全性要求。后續(xù)將在機載嵌入式平臺上設計和實現(xiàn)VTCM插件功能,進一步對本文提出的分布式可信度量方法進行研究,以實現(xiàn)單個TCM下多臺嵌入式計算機的可信啟動。

猜你喜歡
插件嵌入式分布式
Focal&Naim同框發(fā)布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
自編插件完善App Inventor與樂高機器人通信
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應用
搭建基于Qt的嵌入式開發(fā)平臺
分布式光伏熱錢洶涌
分布式光伏:爆發(fā)還是徘徊
基于jQUerY的自定義插件開發(fā)
基于DDS的分布式三維協(xié)同仿真研究
基于Revit MEP的插件制作探討
西門子 分布式I/O Simatic ET 200AL