摘要:介紹了TPM的功能及其作用,提取了PC安全操作系統的設計思想,通過擴展,提出了基于TPM的安全嵌入式系統的設計,重點對系統體系結構、啟動安全和應用安全進行了探討,以更好地滿足對系統安全的要求。
關鍵詞:TPM;嵌入式系統;操作系統
中圖分類號:TP3文獻標識碼:A文章編號:1009-3044(2010)21-6087-02
Study and Design of Security Embedded System Based on TPM
YU Zhi-liang
(Shaanxi University of Technology, Hanzhong 721300, China)
Abstract:After introducing the function and role of TPM and reference the main idea of Operating System for Personal Computer, architecture of security Embedded System based on TPM is given. Then the architecture is analyzed, the booting design and application security design of security operating system is carried out. The author focus on the technical of how this architecture can be used and benefited from to support security of Embedded System.
Key words: TPM; embedded system; operating system
在信息化的高速發展下,有關計算機安全的問題正在受到越來越多的重視。隨著移動網絡的發展及各種移動網絡技術的不斷涌現,移動網絡的安全越來越受到人們的關注。在技術上,傳統的被動式防御不能有效地抵抗來自系統內部的攻擊,因此,人們迫切地需要一種新的移動網絡安全體系結構。操作系統的安全是整個計算機系統安全的基礎,如果入侵者控制了操作系統,那么由操作系統負責保護的秘密數據、各種配置文件等將沒有安全性可言,數據加密及密鑰的安全性也會大打折扣。在這種環境下設計一種安全的、用戶可以信賴的操作系統,顯得尤為重要。
可信計算的不斷發展,為解決上述問題帶來了一些新的思路。ISO/IECl5408標準為可信這個概念給出了下述定義:一個可信的組件、操作或過程的行為在任意操作條件下是可預測的,并能很好地抵抗應用程序軟件、病毒以及一定的物理干擾造成的破壞[1]??尚庞嬎阋呀浿饾u成為現今世界信息安全的主要技術之一,其研究成果與技術也已經開始與各產業界合作。但是相比于TPM芯片在許多年前就已經生產出來的事實,在可信計算體系的研究與探索當中,理論的研究卻始終落后于實際的技術開發,到目前為止,尚未出現完整的可信計算體系結構的國際標準框架,因此,關于可信計算安全體系結構的研究就成為了一個研究重點。本文對基于TPM的安全嵌入式系統設計進行了探討,重點對系統體系結構、啟動和應用安全進行了設計,以更好地滿足對系統安全的要求。
1 TPM的功能
隨著電腦和互聯網的日益普及,用戶對電腦加密等安全措施的要求也越來越高。1999年國外的IT領先公司組成可信計算平臺聯盟TCPA,TCPA專注于從計算平臺體系結構上增強其安全性,并于2001年發布了可信計算平臺標準規范:TPM。為了適應不斷發展變化的形勢,2003年這個組織改名叫可信計算組織TCG,掀起可信技術研究和產品開發的一輪高潮,初步形成了全球范圍內的可信計算產業鏈。
TPM (可信平臺模塊),其本質上是一片含有存儲部件和獨立密碼運算部件的系統安全芯片,能夠為平臺提供密碼服務功能、可信存儲功能,對外提供受保護的、系統的、規范的訪問接口,TCG組織發布的TPM規范,對其實現原理、功能接口作了詳細規定。
可信計算的主要功能由TPM完成,TPM起著核心控制的作用,它主要提供以下功能:
1) 安全存儲。TPM芯片將一些敏感數據(如密鑰等)存儲在芯片內部的屏蔽存儲區,其它敏感數據則在加密后存儲到傳統的外部存儲設備。
2) 完整性度量。保證PC機從始至終都是可信的。
3) 身份認證功能。向外部實體提供系統平臺的身份證明、應用程序的身份證明。
4) 內部資源授權訪問,訪問TPM所存儲管理的資源時,需要合法的TPM授權協議。
5) 數據的加密傳輸,TPM在和外部實體進行數據交互時,除了要驗證操作者的身份外,還對線路上傳輸的數據進行可選的加密等安全處理。
可信計算的基本思想是:首先構建一個信任根,在此基礎上通過信任鏈的傳遞將信任關系一級級延伸至,直到包括到整個系統以確保系統的可信。可信計算平臺的信任根包括可信度量根、可信存儲根和可信報告根三部分,由CRTM(Core Root of Trust for Measurement)來實現可信度量根;由TPM實現可信存儲根和可信報告根。本文通過對PC操作系統安全[2]的研究,結合已有的TPM芯片和嵌入式系統[3],從操作系統層面出發,給出一種基于TPM的嵌入式系統的設計。
2 基于TPM的安全嵌入式系統的設計
嵌入式操作系統同樣需要負責整個嵌入系統的軟硬件資源的分配、調度、控制和協調工作,具有操作系統的共性特征,同時,嵌入式系統與PC操作系統又有一定的區別,必須能夠通過裝卸模塊達到系統要求的特定功能。
從層次結構方面來看,早期的嵌入式體系結構相對簡單,系統中只有軟、硬件兩層,十分精簡而高效。對于特定的應用來說,這種體系結構可以最大限度地裁減軟硬件資源,使系統成本最小化。
圖1描述了嵌入式系統目前采用的一種主要的體系結構,該結構對嵌入式軟件進行了進一步的劃分,將軟件分為HAL(Hardware Abstraction Layer)層,內核層和應用層。
HAL層的引入使得系統不必關心設備有哪些獨特的硬件,因此可以應用到更廣泛的嵌入式設備中,增強了嵌入式操作系統的可移植性。以嵌入式Linux為例,其系統初始化過程是一個包括軟、硬件初始化在內的過程,其啟動的順序如下[2]:
1) CPU級初始化,將嵌入式系統CPU啟動時的狀態設置成系統要求的狀態,這是一個純硬件行為。
2) 板級初始化,對CPU以外的其它設備及一些關鍵的數據結構進行初始化,這是一個軟、硬件結合的行為。
3) 系統級初始化,這一部分由嵌入式操作系統完成,是一個純軟件行為。
基于TPM的安全嵌入式系統引入了系統安全芯片TPM,符合需求的最小化原則,即包含實現平臺可信所需的最小的硬件集合。TPM芯片內部包含一個簡單的加密協處理器,可以將關鍵加密、哈希操作進行物理隔離的處理,為平臺提供關鍵信息(密鑰、證書、授權信息等)的可信存儲。這些基本安全功能通過有效可信鏈的傳遞,能夠實現整個平臺的可信認證、審計、驗證、加密、簽名以及可信的海量存儲,從而保證了嵌入式操作系統的機密性和完整性,保護了系統安全。
目前,基于TPM的可信PC平臺結構中,CRTM位于平臺的可信BIOS(Flash ROM)之中,TPM則通過LPC總線擴展到南橋芯片,通過特殊的LPC總線周期可以完成對TPM芯片的訪存控制。按照TCG對PC平臺的整體設計,構建可信嵌入式系統的關鍵在于TPM芯片和CRTM模塊,依靠二者的共同作用來實現系統的可信環境。本文在基于ARM處理器的嵌入式系統上擴展TPM芯片,首先考察ARM定義的總線,其中AMBA總線包括AHB(Advanced High performance Bus)和APB(Advanced Peripheral Bus)總線,APB用于與低帶寬的外設之間的連接,而TPM芯片屬于低速設備,所以應當擴展到APB總線之上。
基于TPM的安全嵌入式系統的體系結構如圖2所示。最底層是硬件,在其上加入TPM安全芯片,把其通過APB總線集成在芯片上,通過TPM和傳統硬件重新設計可信BIOS,使得安全芯片能在系統啟動過程中對各模塊進行信任度量。安全操作系統部分包含硬件設備驅動、安全操作系統內核和應用程序接口。硬件驅動部分通過嵌入式操作系統服務程序對硬件資源進行抽象和訪問調度,實現對硬件的編程控制和接口操作。
安全操作系統內核部分在原內核基礎上加入對TPM的控制,通過TPM芯片的可信計算和安全存儲的功能構建可信的操作系統內核。應用程序接口是操作系統和安全應用程序的接口,為安全應用程序的開發提供統一的開發標準。設備管理是操作系統管理中的復雜部分。與Unix系統一樣,Linux系統采用設備文件統一管理硬件設備,從而將硬件設備的特性及管理細節對用戶隱藏起來,實現用戶程序與設備無關性,它提供設備命名,設備保護,緩沖等等功能。
基于TPM的安全操作系統的啟動過程根據“可信鏈”設計思路如下:
1) 加電后,首先對TPM初始化,由TPM中的可信根度量BIOS完整性,將度量值存入TPM后將控制權交給BIOS;
2) 由BIOS度量底層硬件完整性,然后對操作系統的加載程序的完整性進行檢查,將結果存入TPM芯片,BIOS將控制權交給操作系統加載程序;
3) 嵌入式操作系統開始加載程序,并對操作系統進行完整性度量,將結果存入TPM;
4) 操作系統度量應用程序完整性,將度量結果存入TPM;
5) TPM將完整性度量值經過加密處理,操作系統將此序列值和已存儲在TPM芯片內部的完整性驗證碼進行比較,以確定可信環境。
3 結論
基于TPM的安全嵌入式系統是從操作系統的更底層進行高級的安全防護,是硬件級的安全保護。TPM安全芯片中有唯一身份識別號,可以對用戶進行標志,實現對用戶的身份識別;通過TPM權限設置能控制用戶權限,實現對用戶的訪問控制;通過TPM的存儲和完整性度量的功能實現安全審計功能;通過TPM對數據的加密傳輸實現網絡的安全認證。以上功能保證了操作系統的安全性和完整性,保護了數據的完整性和機密性。
參考文獻:
[1] 林闖,彭雪海.可信網絡研究[J].計算機學報,2005,28(5):751-758.
[2] 師俊芳,李小將,李新明.基于TPM的安全操作系統的設計研究[J].裝備指揮技術學院學報,2009,5.
[3] 黃建華,王禹,王震宇等.基于FPGA的嵌入式平臺中TPM的擴展實現[J].信息工程大學學報,2009,12.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文