《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種具有自恢復功能的嵌入式可信平臺的設計
一種具有自恢復功能的嵌入式可信平臺的設計
2017年電子技術應用第5期
孫 鉑1,2,溫旭霞1,2,宮樹紅3,劉新生4
1.中北大學 儀器與電子學院,山西 太原030051;2.山西百信信息技術有限公司,山西 太原030006; 3.首鋼長治鋼鐵有限公司,山西 長治046031;4.江蘇曙光光電有限公司,江蘇 揚州225009
摘要: 以TCG規范為基礎,分析和討論了可信鏈技術和安全啟動過程,構造出一種適用于嵌入式平臺的可信鏈模型以及具有自恢復功能的可信啟動實現方法。在Beaglebone開發板上進行了相關實驗,驗證了其可行性,并作出了總結。
中圖分類號: TN918
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.05.018
中文引用格式: 孫鉑,溫旭霞,宮樹紅,等. 一種具有自恢復功能的嵌入式可信平臺的設計[J].電子技術應用,2017,43(5):74-77.
英文引用格式: Sun Bo,Wen Xuxia,Gong Shuhong,et al. Design of an embedded trusted platform with self-recovery function[J].Application of Electronic Technique,2017,43(5):74-77.
Design of an embedded trusted platform with self-recovery function
Sun Bo1,2,Wen Xuxia1,2,Gong Shuhong3,Liu Xinsheng4
1.School of Instrument and Electronics,North University of China,Taiyuan 030051,China; 2.Shanxi Baixin Information Technology Co.,Ltd,Taiyuan 030006,China; 3.Shougang Changzhi Iron&Steel Co.,Ltd,Changzhi 046031,China; 4.Jiangsu Shuguang Photoelectrical Co.,Ltd,Yangzhou 225009,China
Abstract: This paper analyzes and discusses trusted chain technology and security boot process based on the TCG specifications, then constructs a trusted chain model suitable for embedded platform and a trusted boot implementation method with self-recovery function.Finally, some experiments are carried out on Beaglebone development board to verify its feasibility and make a conclusion.
Key words : trusted platform;self-recovery;embedded system;trusted boot

0 引言

    嵌入式系統目前已在國防、國民經濟及社會生活各領域普及,應用于企業、軍隊、辦公室、實驗室以及個人家庭等各種場所。然而,2014年海康威視的大量數碼錄像機設備被曝存在遠程代碼執行漏洞,黑客可以由此直接獲取設備最高權限。2015年末,烏克蘭國家電網遭到網絡攻擊,伊萬諾一弗蘭科夫斯克地區部分變電站的控制系統遭到破壞,造成大面積停電,約140萬人受到影響。嵌入式平臺安全至關重要,將可信計算技術引入到嵌入式設備上來,是一種可行且高效的安全防護方法[1]。文獻[2]對于嵌入式系統的安全進行了研究,并且設計了專門用于嵌入式系統的可信芯片ETPM。文獻[3]以可信計算理論為基礎,提出了一種適用于嵌入式環境的可信框架模型,設計完成嵌入式可信計算硬件模塊以及其邏輯結構。本文旨在設計出具有普遍意義的嵌入式可信平臺,提升系統的可信性,并具有自恢復功能,提高系統的可靠性與健壯性。

1 可信計算技術

    可信計算組織(Trusted Computing Group,TCG)于2003年3月成立,目的是在計算和通信系統中廣泛使用基于硬件安全模塊支持下的可信計算平臺,以提高通信系統的安全性。

    可信平臺模塊(Trusted Platform Module,TPM)是TCG發行的一款可信芯片,是符合TCG規范的一個小型片上系統,內部有隨機數產生器、SHA-1引擎等。目前基于可信計算的安全啟動方式主要通過以TPM為可信根的可信度量來實現[4]

1.1 可信鏈技術

    完整性度量是可信啟動的關鍵,為了實現完整性度量,可信計算組織TCG提出了可信鏈技術。可信鏈的建立直接關系到可信平臺的正常運行。

    根據可信計算的思想,可信鏈的實現是從可信度量根RTM開始,到硬件平臺,再到操作系統以及上層應用,一級度量一級,一級信任一級。

    TCG定義了兩種確保可信啟動的方法:靜態可信根(Static Root of Trusted Measure,SRTM)和動態可信根(Dynamic Root of Trusted Measure,DRTM)。在使用靜態可信度量根時,所有的信任都從BIOS的一段固定的可信代碼開始,在把控制權交給下一段代碼之前,這段可信代碼會去度量下一段將要執行的代碼,并將度量結果擴展到平臺配置寄存器(Platform Configuration Register,PCR)中。如果每一段新的代碼在移交控制權之前都去度量下一段代碼,就可以建立起可信鏈,如果度量貫穿整個啟動過程,最終的PCR值就反應了所有度量對象的度量值。PCR擴展操作基于SHA-1的散列算法,從密碼學角度來說,該算法足夠強大,對于惡意代碼來說,通過計算破解出一個可信啟動下的預期PCR值是不可行的[5]。本設計采用靜態度量根的可信啟動方法。

    既然TPM的PCR值能夠表明軟件是否可信,那么TPM就應該用某種方法表現出它的認知。如果系統啟動過程中的軟件被篡改,那么最后得到PCR值就會不同,這時TPM就會拒絕通過這些不可信的PCR值。如果能夠讓系統在啟動時和封裝密鑰或者密封數據建立聯系,TPM就能保證系統啟動是可信的。

    當可信操作系統、客體操作系統和應用程序都使用TPM時,為了區分當前的度量值是屬于哪個部分的,TCG引入了Locality的概念。Locality認證當前TPM請求的發起者,規范定義了5種不同的Locality,如表1所示。其中第一個PCR值記錄了BIOS的度量信息,該信息是由SRTM度量后得到的不可變信息,此時BIOS獲得控制權。

qrs5-b1.gif

    可信啟動的核心是完整性度量,從建立可信根開始,度量每個模塊的完整性值同期望的完整性值比較,進而維護這個模塊完整性。完整性值通常是一個hash值,如果任何模塊發生改變,其hash值也會發生改變,從而知道出現問題。通過這種方法保護已經建立PCR保護的模塊。

1.2 可信啟動技術

    啟動是指系統從上電開始到各部件復位待命的全過程,系統的初始狀態是否可信對于其安全性至關重要,因此可信啟動對可信平臺意義非凡。安全啟動的概念普遍定義為平臺的安全性和完整性,而可信計算平臺環境的建立是在可信根和可信鏈的基礎上。TCG給出的PC可信鏈定義如下:

CRTM(Core Root of Trusted for Measurement)→BIOS→OS Loader→OS→Applications

    根據TCG規范,嵌入式平臺的可信啟動過程設計步驟如下:

    (1)平臺上電;

    (2)CRTM啟動,然后度量其本身并將度量值擴展到相應的PCR中;

    (3)CRTM請求TPM_unseal命令;

    (4)TPM將相應PCR中現在狀態的值與已密封的值進行比較,如果一致,執行下一步;如果不一致,暫停啟動;

    (5)被證明可信的元件進行度量,隨后啟動元件,并擴展度量值到啟動元件對應的PCR中;

    (6)被證明可信的元件把控制權轉交給啟動元件;

    (7)平臺判斷被證明可信的元件是否為啟動的最后一步,是則執行下一步,否則執行第(3)步;

    (8)最后啟動的元件調用TPM_unseal命令;

    (9)TPM把相應PCR中的當前狀態值與已密封的值比較,如果一致則安全啟動,否則暫停啟動。

2 實驗平臺建立

2.1 硬件環境

    可信嵌入式平臺硬件上由嵌入式微處理器CPU、外圍設備以及可信芯片TPM組成。

    本設計實驗硬件平臺選用嵌入式開發板Beaglebone Black(BBB)。BBB使用主流的ARM CPU,處理器為TI AM335X ARM Cortex A8,1 GHz;存儲器是2 GB eMMC,出于安全考慮,擴展了512 MB的Flash芯片存儲備份系統。

    本設計TPM芯片采用Atmel公司的AT97SC3204T。該芯片遵循TPM1.2規范,內置非對稱密鑰引擎RSA、隨機數發生器、散列算法引擎SHA-1、計算引擎HMAC等,通過TWI總線進行通信。TWI總線是I2C總線的繼承和發展,完全兼容I2C總線。TPM接線電路設計如圖1所示。

qrs5-t1.gif

2.2 軟件環境

    軟件設計總共分為四部分:引導加載程序(Bootloader)、linux內核、文件系統以及應用程序,本文主要說明Bootloader方面的設計。Bootloader是系統上電后執行的第一段程序,其作用相當于PC平臺上的BIOS。一般的嵌入式系統啟動流程如圖2所示[6]

qrs5-t2.gif

    第一級Bootloader:引導加載程序(ROM)。系統上電或復位后,CPU通常從某個固定地址讀取它的第一條指令,ROM被映射安裝到這個地址上,ROM中存著一段代碼,在這里稱為ROM-Code,這段代碼執行第一階段的啟動任務。ROM-Code將在eMMC上讀取第一啟動分區,接著掃描該分區根目錄,在根目錄下尋找MLO文件,并將這個文件下載到片內SRAM,再把控制權移交MLO。

    第二級Bootloader:自舉程序MLO(X-loader)。MLO、u-boot.img被燒寫在eMMC的第一啟動分區中,上電后ROM-Code將體積較小的MLO搬至片內SRAM中運行,而運行在SRAM中的MLO又初始化片外SDRAM,并將eMMC中的u-boot.img下載至SDRAM,控制權移交u-boot.img。

    第三級Bootloader:u-boot(uboot.img)。它的任務是通過各種方式將內核下載至SDRAM,并傳遞一些內核啟動參數。u-boot的啟動任務主要是為引導內核準備環境[7]

3 可信鏈的建立

3.1 可信鏈建立

    由于嵌入式的特殊性,PC的可信鏈模型不適用于本平臺。嵌入式平臺的特殊性在于它是基于Linux的嵌入式平臺,是u-boot啟動,而不是BIOS和Bootloader。

    根據嵌入式平臺的啟動流程及PC可信鏈建立的方法,可以構造出嵌入式的可信鏈:MLO(CRTM)→u-boot→(Linux)OS+tools→(Linux)Kernel→根文件系統加載。

3.2 自恢復的可信啟動設計

    自恢復功能是嵌入式系統健壯性的體現,在系統受到攻擊時,尤其是在操作系統或內核受到破壞時,自恢復功能可以直接縮短嵌入式系統修復的周期。而傳統的系統恢復需要系統的正常加載,依賴用戶級別的應用來完成系統的還原。本設計中的備份系統存儲于獨立的Flash芯片中,且受到TPM芯片的保護,防止被篡改,保障了系統的純潔性。

    根據系統啟動過程,對其進行相應的優化:先用SHA1對u-boot加密,得到hash值,然后將產生的hash值擴展到相應的PCR中,將MLO和u-boot.img密封。在可信啟動過程中,首先從0x40000000讀取第一條指令并執行ROM-Code,然后將從地址0x402f0400獲取的MLO用SHA-1進行hash計算,得到的hash值與原來的hash值比對,如果一致,則對已經密封的MLO解封。MLO從地址0x80000000獲取u-boot.img,再將u-boot.img進行hash計算,得到的hash值與保存的一致,解封u-boot.img,并由MLO執行u-boot.img,u-boot.img被認為是可信的。同理, u-boot從地址0x80008000獲取的內核,再次對內核進行度量,與預期值一致時,系統正常啟動,完成可信啟動過程。如果度量失敗, u-boot直接從備用Flash的0x00000080開始讀取鏡像文件,然后直接調用TCM對鏡像文件解封,完成系統的恢復[8]。啟動流程如圖3所示。

qrs5-t3.gif

4 實驗結果與分析

    實驗使用Beaglebone Black開發板以及AT97SC3204T來驗證本設計的可行性。在內核的編譯過程中,加入對TPM芯片的支持,對/include/configs/am335x_evm.h文件進行適配修改,引入所需的頭文件。

    由于uboot直接加載默認的鏡像文件,沒有與用戶交互的信息,因此還需要更改uboot的啟動腳本來實現用戶選擇默認啟動還是進行系統恢復。編寫uboot/common下的ubootmenu.c文件,設置uboot自啟動參數為ubootmenu命令,設置uboot啟動延時3 s,在ubootmenu命令中加入2個選項,默認選項為加載默認鏡像,第二個選項為還原系統。在此過程中,由于TPM驅動還沒有加載,需要直接調用TPM的指令碼來實現操作。

    在Flash燒寫完成后,重新啟動BBB,通過串口查看輸出,如圖4所示,BBB可以完成可信引導過程,從上電到系統引導完成總計用時19.49 s,而原系統引導用時約為14 s。除去由于之前設置的3 s的u-boot等待時間,引導時間延長了17.8%。

qrs5-t4.gif

    當內核被篡改或者其他原因導致操作系統受到損壞時,可以直接通過uboot的交互菜單完成系統恢復的操作,總計用時4分24秒,過程如圖5。

qrs5-t5.gif

    本文通過研究可信計算技術,結合BBB和TPM可信模塊,驗證了可信鏈和可信啟動在嵌入式平臺上的應用,可信引導過程相比普通引導過程多用時15%~20%,在系統啟動后基本沒有性能上的影響。在u-boot上實現了系統的可信恢復,操作簡單便捷。實驗表明,本研究的內容很容易移植到其他嵌入式平臺。

參考文獻

[1] 馮登國,秦宇,汪丹,等.可信計算技術研究[J].計算機研究與發展,2011,48(8):1332-1349.

[2] 張煥國,李晶,潘丹玲,等.嵌入式系統可信平臺模塊研究[J].計算機研究與發展,2011(7):1269-1278.

[3] 王天舒,張功萱,楊曦晨,等.嵌入式系統可信啟動機制設計與實現[J].計算機測量與控制,2015,23(4):1364-1366.

[4] Trusted Computing Group.TPM main part 1 design principles specification version1.2 revision116[EB/OL].[2013-11-13].http://www.trustedcomputinggroup.org.

[5] David Challener,Kent Yoder,Ryan Catherman,et al.可信計算[M].北京:機械工業出版社,2008.

[6] OMAPpedia.Bootloader project.[EB/OL](2012-4-3)[2016-3-10].http://omappedt.

[7] Song Cheng,Peng Weiping,Xin Yang,et al.Seal-based secure boot scheme for trusted computing platform[J].Elsevier,2010,17(2):16-21.

[8] Beaglebone.org.X-loader[S/OL].(2008-8-17)[2016-3-10].http://beagleboard.org/project/X-Loader/.



作者信息:

孫  鉑1,2,溫旭霞1,2,宮樹紅3,劉新生4

(1.中北大學 儀器與電子學院,山西 太原030051;2.山西百信信息技術有限公司,山西 太原030006;

3.首鋼長治鋼鐵有限公司,山西 長治046031;4.江蘇曙光光電有限公司,江蘇 揚州225009)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产欧美一区二区精品忘忧草| 一区二区三区 在线观看视频| 欧美午夜不卡| 欧美国产日韩二区| 欧美成人精品三级在线观看| 久久免费国产精品| 久久久91精品国产一区二区三区| 篠田优中文在线播放第一区| 亚洲一区二区三区免费视频| 亚洲视频一区在线观看| 亚洲一区二区三区三| 亚洲视频在线观看网站| 亚洲视频网在线直播| 亚洲午夜精品久久久久久浪潮| 99国产精品一区| 亚洲视频1区| 亚洲综合日韩在线| 亚洲欧美日韩精品在线| 亚洲一区二区三区激情| 亚洲伊人色欲综合网| 亚洲欧美色一区| 欧美一区二区在线免费播放| 欧美伊人久久久久久午夜久久久久| 亚洲欧美偷拍卡通变态| 欧美一区二区福利在线| 欧美中文字幕| 久久久亚洲国产美女国产盗摄| 久久偷窥视频| 欧美成人69| 欧美精品偷拍| 欧美香蕉视频| 国产日韩欧美成人| 黄色成人在线免费| 亚洲国产女人aaa毛片在线| 亚洲精品一区二区三区不| 日韩一级大片| 亚洲一区在线播放| 欧美淫片网站| 亚洲三级免费| 亚洲一区二区三区在线播放| 先锋影音一区二区三区| 久久久久看片| 欧美精品尤物在线| 国产精品久久久一区麻豆最新章节 | 国产精品欧美日韩一区二区| 国产精品萝li| 国产日韩欧美电影在线观看| 在线日韩视频| 亚洲精品视频免费| 亚洲一区二区3| 欧美一区精品| 亚洲精品日韩精品| 亚洲欧美日韩国产中文| 久久精品色图| 欧美另类久久久品| 国产毛片一区二区| 一区一区视频| 亚洲深夜av| 亚洲国产女人aaa毛片在线| 亚洲午夜激情免费视频| 久久久久久午夜| 欧美日本一道本在线视频| 国产伦精品一区二区三| 亚洲国产精品一区二区www| 亚洲一区二区三区在线观看视频 | 久久精品亚洲一区二区三区浴池| 日韩午夜三级在线| 久久精品国产久精国产一老狼| 欧美高清在线观看| 国产欧美日韩亚洲| 亚洲人体大胆视频| 欧美一区不卡| 亚洲一区3d动漫同人无遮挡| 久久一综合视频| 国产精品婷婷| 亚洲精品久久久久久久久久久| 亚洲欧美日韩精品一区二区| 一本久久青青| 欧美成人dvd在线视频| 国产伦精品一区二区三区| 亚洲精品中文字| 亚洲国产成人高清精品| 午夜精品久久久久影视| 欧美久久久久久久| 永久免费毛片在线播放不卡| 亚洲欧美成人在线| 亚洲午夜激情| 欧美精品性视频| 精品成人在线视频| 亚洲综合激情| 亚洲少妇在线| 欧美激情四色 | 91久久国产自产拍夜夜嗨| 在线亚洲免费| 欧美成人综合在线| 激情小说亚洲一区| 午夜精品www| 午夜精品av| 国产精品jvid在线观看蜜臀| 亚洲激情网站| 亚洲激情成人| 久久久噜噜噜| 国产精品专区一| 亚洲素人在线| 亚洲一区二区三区四区五区黄 | 亚洲人成网站777色婷婷| 久久久久久亚洲综合影院红桃| 国产精品视频你懂的| 9l视频自拍蝌蚪9l视频成人| 亚洲欧洲日本一区二区三区| 久久看片网站| 国产一区二区三区日韩欧美| 亚洲欧美视频一区二区三区| 亚洲影视综合| 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 亚洲午夜小视频| 欧美日韩喷水| 99国产精品久久久久久久久久 | 国产日韩欧美电影在线观看| 亚洲综合第一| 欧美一二三区精品| 国产精品一区二区在线观看不卡| 亚洲一区不卡| 亚洲欧美一区二区视频| 国产精品免费久久久久久| 亚洲伊人观看| 欧美一级欧美一级在线播放| 国产精品一区二区三区观看| 午夜精品视频在线观看一区二区 | 欧美日韩视频免费播放| 日韩小视频在线观看| 亚洲一区二区三区免费视频| 国产精品福利影院| 亚洲午夜伦理| 久久国产66| 国模大胆一区二区三区| 久久精品午夜| 欧美高清视频在线观看| 亚洲精品视频在线播放| 亚洲伊人伊色伊影伊综合网| 国产女主播一区| 久久成人免费日本黄色| 女生裸体视频一区二区三区| 亚洲国产毛片完整版| 一区二区三区四区五区在线| 国产精品福利片| 欧美一区永久视频免费观看| 免费欧美在线视频| 亚洲美女在线观看| 香蕉成人啪国产精品视频综合网| 国产日韩欧美日韩大片| 亚洲第一视频网站| 欧美麻豆久久久久久中文| 在线亚洲欧美视频| 久久精品国产精品亚洲| 亚洲二区在线观看| 亚洲一区久久久| 国产日韩亚洲| 亚洲精品午夜| 国产精品视频区| 亚洲黄色成人| 国产精品毛片va一区二区三区| 欧美一级淫片播放口| 欧美国产日韩一二三区| 亚洲一区精彩视频| 美女被久久久| 一片黄亚洲嫩模| 久久成人免费日本黄色| 1769国产精品| 亚洲综合久久久久| 在线观看欧美亚洲| 亚洲一区二区影院| 狠狠色伊人亚洲综合成人| 一区二区三区视频观看| 国产人久久人人人人爽| 亚洲精品字幕| 国产偷国产偷精品高清尤物| 9色国产精品| 国产日韩在线视频| 一本久久a久久精品亚洲| 国产一区二区精品久久| 亚洲图片激情小说| 精品999在线观看| 亚洲免费一在线| 最新国产拍偷乱拍精品| 久久国产精品72免费观看| 亚洲裸体俱乐部裸体舞表演av| 久久精品成人欧美大片古装| 日韩亚洲精品在线| 久热这里只精品99re8久| 亚洲影院污污.| 欧美极品在线视频| 久久riav二区三区| 欧美偷拍一区二区| 亚洲精品午夜| 韩国av一区二区| 午夜精品美女自拍福到在线| 亚洲精品国产精品乱码不99按摩| 久久久午夜电影| 亚洲女性喷水在线观看一区|