色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于嵌入式ARM平臺(tái)的可信計(jì)算軟件棧的設(shè)計(jì)與實(shí)現(xiàn)

          基于嵌入式ARM平臺(tái)的可信計(jì)算軟件棧的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2013-10-15 來源:網(wǎng)絡(luò) 收藏
          引言

          隨著計(jì)算機(jī)應(yīng)用的不斷發(fā)展,安全威脅問題越來越嚴(yán)重,傳統(tǒng)的單純依靠軟件來抵抗安全威脅往往不能解決問題??尚庞?jì)算的基本思想是從芯片、硬件結(jié)構(gòu)和操作系統(tǒng)等方面制定安全規(guī)范保證計(jì)算機(jī)和網(wǎng)絡(luò)結(jié)構(gòu)的安全。可信計(jì)算平臺(tái)基于可信平臺(tái)模塊(TPM),以密碼算法技術(shù)作為基礎(chǔ)、作為核心,通過信任域的不斷擴(kuò)展形成安全的平臺(tái)。

          目前市場上的TPM芯片主要應(yīng)用在PC終端上,但是隨著嵌入式系統(tǒng)的不斷發(fā)展,TPM在嵌入式系統(tǒng)上的應(yīng)用也越來越廣,程序員在編寫可信計(jì)算應(yīng)用程序的時(shí)候,其切入點(diǎn)應(yīng)該是TSS,本文就TPM和TSS的概念、TSS在上的移植、調(diào)用TSS的API編寫應(yīng)用程序以及如何與TPM進(jìn)行交互做了詳細(xì)的介紹,最終實(shí)現(xiàn)了在嵌入式上的可信計(jì)算。

          TPM芯片結(jié)構(gòu)和TSS體系結(jié)構(gòu)概述

          可信計(jì)算的核心是TPM,它是一種安全加密芯片,提供了一種基于硬件的方法來管理用戶權(quán)限、網(wǎng)絡(luò)訪問、數(shù)據(jù)保護(hù)等。TPM芯片用來存儲(chǔ)數(shù)字密鑰、認(rèn)證和密碼,有了TPM不管是虛擬的還是物理的攻擊都將變得更加困難。如圖1所示,TPM芯片主要由以下幾部分組成:I/O組件、非易失性存儲(chǔ)、身份密鑰、程序代碼、隨機(jī)數(shù)產(chǎn)生器、Sha-1算法引擎、RSA密鑰產(chǎn)生、RSA引擎、Opt-In選擇組件、執(zhí)行引擎。


          圖1 TPM芯片結(jié)構(gòu)

          TPM芯片里的資源是有限的,它僅僅對外提供了一些基本的功能接口。為了充分應(yīng)用TPM的內(nèi)部功能,需要在TPM外部套接一個(gè)可信TSS,TSS作為可信計(jì)算平臺(tái)上TPM的支持軟件,其規(guī)范定義了一種能夠讓訪問TPM變得簡單和直接的體系結(jié)構(gòu)。本文構(gòu)建的嵌入式平臺(tái)為三星的ARM9TDMI-S3C2410處理器,TPM芯片為Atmel公司的AT97SC3204T。

          由圖2可知,TSS的運(yùn)行模式分為兩種:用戶模式和內(nèi)核模式。用戶模式下,通常根據(jù)用戶的要求來加載和執(zhí)行用戶應(yīng)用程序和服務(wù),有時(shí)候這些用戶應(yīng)用程序和服務(wù)也可以作為啟動(dòng)服務(wù)被載入。在內(nèi)核模式下,通常運(yùn)行設(shè)備驅(qū)動(dòng)和操作系統(tǒng)的核心組件。

          圖2 TSS體系結(jié)構(gòu)

          TSS由三個(gè)邏輯組件構(gòu)成:TCG設(shè)備驅(qū)動(dòng)程序庫(TCG Device Driver Library,TDDL)、TSS核心服務(wù)(TSS Core Services,TCS)、TCG服務(wù)提供者(TCG Service Provider,TSP)。

          TDDL提供了一個(gè)與TPM設(shè)備驅(qū)動(dòng)程序進(jìn)行交互的API的庫,用來打開和關(guān)閉TPM設(shè)備驅(qū)動(dòng)程序(TPM Device Driver)、發(fā)送和接收數(shù)據(jù)塊、查詢設(shè)備驅(qū)動(dòng)程序的屬性、取消已經(jīng)提交的TPM命令。TCS層主要用來管理TPM的資源,提供了一個(gè)TPM命令數(shù)據(jù)塊產(chǎn)生器和一個(gè)全局的密鑰存儲(chǔ)設(shè)備。TSP層通過共享對象或動(dòng)態(tài)鏈接庫直接被應(yīng)用程序調(diào)用。

          TSS的工作流程如下:應(yīng)用程序的命令參數(shù)通過接口TSPl發(fā)送到TSP,TSP通過處理后傳送給TCS,TCS將接收到的請求轉(zhuǎn)化為TPM能夠識別的字節(jié)流,通過TDDL和TDD傳給TPM,然后反向經(jīng)TDDL、TDD、TCS、TSP傳回應(yīng)用程序。

          TSS在ARM上的移植

          本文所使用的宿主機(jī)操作系統(tǒng)為Fedora,交叉編譯工具為arm-linux-gcc。

          TSS在ARM上的移植分為3部分:交叉編譯OpenSSL、交叉編譯TSS、制作包含TSS的文件系統(tǒng)。在交叉編譯TSS之前,先交叉編譯安裝OpenSSL,因?yàn)榻徊婢幾gTSS的時(shí)候需要用到其中的libcrypto庫文件,其流程如圖3所示:

          圖3 TSS在ARM上的移植過程


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉