999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于RT-Thread 的可信軟件棧的設計和實現

2024-01-24 10:10:22劉棟王東輝
電子設計工程 2024年2期
關鍵詞:管理機制嵌入式系統

劉棟,王東輝

(中國科學院大學聲學研究所,北京 100089)

目前,可信計算組織TCG(TCG 軟件棧)已經提出了從硬件、軟件到應用的完整可信平臺方案,面向通用計算機的可信系統已落地,主要基于TPM(Trusted Platform Module,可信平臺模塊)實現安全存儲、PCR(Platform Configure Register,平臺配置寄存器)、密碼和證書功能,通過可信軟件棧的支撐,提供可信服務[1-3]。對于Linux 嵌入式可信系統,如今研究的重點主要是可信計算機制與基于實時操作系統的物聯網設備的融合問題[4]。

通過對基于Linux 的可信軟件棧結構的分析,總結出TPM 硬件的軟件管理系統基本要素,設計一個具有可信軟件棧功能的輕量級可信軟件棧,實現RT-Thread 實時操作系統、軟件棧、TPM 芯片的交互,完成基于RT-Thread實時系統的可信平臺的實現。

1 TSS可信軟件棧分析

1.1 命令構造模塊設計

根據TCG 規定的可信計算軟件棧(TSS)規范,可信軟件棧分為三層:TSP(TCG Service Provider,服務提供者)、TCS(TCG Core Service,核心服務層)、TDDL(TCG Device Driver Library,設備程序驅動庫)[5-6]。

TSP 層為上層應用提供接口函數,維護應用需要的數據對象[7-10]。TCS 層被設計成一個守護進程或服務,作為系統服務的一部分運行,獲取TSP 的命令,轉換為TPM 命令數據包發送給TDDL,完成與TPM 硬件交互。TDD 設備驅動屬于Linux 驅動。應用程序可以通過設備程序庫TDDL 與內核中的TPM設備驅動進行交互。

基于Linux 的可信軟件棧TSS 結構復雜、功能繁多,雖然解決了多用戶多應用在TPM 芯片上使用的問題,但是軟件開銷巨大[11],對于單用戶的嵌入式系統具有局限。此外,TSS 無法移植到基于實時操作系統的微系統中。

1.2 TSS密鑰管理機制分析

TSS中密鑰緩存管理算法(Key Cache Management)貫穿服務提供者層和核心服務層[12-13],結合TPM 硬件的密鑰菊花鏈式結構,實現密鑰管理。

在服務提供層,給TSS 上層的可信應用搜索需要加載密鑰的父密鑰,維護一個WK(Wrapping Key,包裝密鑰)的鏈表,鏈表上的每個節點代表WK 的密鑰句柄,所有TSP 的密鑰以一定的WK 作為父密鑰或者祖父密鑰[14]。TCS 協調多個同時來自TSP 的請求,交換密鑰的上下文(密鑰資源和會話)。當某個應用需要創建一個新的密鑰時,調用Tspi_Context_Create Object 函數,分配TSP 上下文。接著調用Tspi_key_CreateKey 函數,給對象傳入RSA 密鑰句柄,檢查相關信息。調用TCS 守護進程,將TPM 生成的密鑰數據復制進對象,完成TSS_OBJECT_TYPE_RSAKEY 類的對象創建。最后調用XX_loadkey,將密鑰添加到TSP 緩存[15]。整個流程如圖1 所示。

圖1 TSP密鑰創建過程

經過分析可知,TSS 中的密鑰管理涉及TSP 和TCS 兩層軟件結構的通信,符合多用戶并行訪問TPM 的要求,但相應的軟件開銷大,不適合嵌入式系統[16]。經過對TSS 重要功能和結構的分析,適用于嵌入式實時系統的可信軟件棧需要舍棄TSS 復雜的結構,并裁剪功能,重構底層驅動。基于嵌入式實時系統的可信軟件的需求如下:

1)設計從API 到命令流傳遞給TPM 的流程。

2)底層硬件交互按照TPM 命令設計規范。

3)簡化TSP 層對象管理和TCS 層上下文管理等功能。

4)具有密鑰管理、授權管理、認證和封裝等基本功能。

2 軟件棧的設計和實現

根據對TSS 軟件棧結構和主要功能的分析,以及嵌入式可信軟件棧的需求分析,設計了一種圖2 所示結構的可信軟件棧。簡化TSS 復雜的三層結構,實現頂層應用調用函數到成TPM 命令流的轉化,以命令構造模塊為核心,依據可信計算中密鑰管理的機制,實現簡單的密鑰管理和授權計算。

圖2 嵌入式可信軟件棧結構

2.1 命令構造模塊設計

命令構造模塊位于軟件棧的最上層,作為軟件棧的中樞,連接各個模塊,主要功能是將上層TPM 命令轉換成字節流,調用TPM 驅動,配合TPM 完成相關的動作。整個流程如圖3 所示。

圖3 軟件棧命令流調用機制

系統中導出了TPM 命令集合。應用調用命令,或在控制臺輸入命令即可完成相應的操作。

命令執行核心函數是commandhander。模塊中維護兩個關鍵的表:commandtable 和FunPtrtable。commandtable 包含命令和命令的屬性,FunPtrtable 包含命令實現的函數指針。當commandhandler 接收到上層命令時,執行如下流程:

Step1:如果收到的命令是TPM 相關命令,進入commandhander 函數,否則失敗。

Step2:根據命令名,在commandtable 中查找匹配的命令和命令屬性,在FunPtrtable 查找對應命令的函數指針。

Step3:根據命令屬性和授權屬性,使用相應命令模板初始化一塊1 024 Bytes 的IO Buffer。

Step4:通過命令函數指針發送相應的命令函數,結合命令數據信息和驗證完成一個命令。該過程中若觸發其他TPM 命令,則回到Step1 重新進入commandhander 函數。如果命令的執行涉及驗證,則調用授權句柄函數計算需要的授權信息。

Step5:IO Buffer 填充完畢,調用接口函數Transmitcommand。該函數調用驅動完成發送,并置TPM 忙狀態(ACKpolling)。

Step6:TPM 應答,Transmitcommand 從TPM 讀取數據,填充IO Buffer,返回上層應用。

2.2 密鑰管理機制的分析和設計

基于RT-Thread 的可信軟件的核心功能是密鑰管理機制。密鑰管理實現的基礎是TPM 的密鑰管理機制,結合TPM 的密鑰管理機制,實現了密鑰和用戶的交互,應用通過接口函數即可進行與TPM 密鑰的操作。

2.2.1 TPM密鑰管理機制

慢性肺心病合并心力衰竭為臨床常見病、多發病,中老年為該疾病的好發群體,疾病發生率為0.46%[1]。發病快、進展迅速、死亡率高,在一定程度上影響了患者的生命安全[2]。該疾病不但對病患的肺血管造成損害,也會影響其心臟功能。繼而加大治療難度。為了全面分析對于慢性肺心病合并心力衰竭者開展整體護理的臨床效果,結合實際情況,本研究選擇2016年1月—2018年1月我院收治的100例慢性肺心病合并心力衰竭的患者為研究對象,并對部分患者開展整體護理,現將具體結果報告如下。

TCG 規定了TPM 的七種密鑰類型[17],在TPM 中以密鑰樹的形式存儲。存儲密鑰用菊花鏈的方式存儲其他密鑰,使用存儲密鑰的公鑰部分加密其他新的密鑰和頭信息。

2.2.2 輕量級軟件棧密鑰管理機制的實現

改進后的軟件棧對密鑰的管理做了簡化。結合授權會話機制、密鑰存儲機制、TSS 密鑰管理的一般原則實現簡單的密鑰管理,刪除復雜的對象管理和上下文的切換。實現密鑰管理的函數如下:createWrapFunc()創建一個新的密鑰,loadKeyFunc()加載一個密鑰,getPubKeyFunc()獲得一個密鑰公鑰,flushKeyFunc()清除密鑰。

其他與密鑰相關的命令用genericFunc()函數直接實現。這些函數的實現依據是TPM 硬件中密鑰樹管理機制和TSP 的密鑰緩存機制。在MCU 的flash中定義一段固定的空間作為密鑰槽,將TPM 生成的密鑰信息存儲在里面。當可信應用需要密鑰相關的操作時,直接在密鑰槽中搜索特定需求的密鑰。僅用很少空間(8 kbit)就簡化了TCS 需要實現的復雜過程。整個管理結構如圖4 所示。

圖4 密鑰槽,軟件棧和TPM的調用關系

以createWrapFunc 函數的實現原理[17]闡述軟件棧密鑰管理過程、授權機制和密鑰槽工作的邏輯,密鑰生成過程如圖5 所示。授權會話的數據保存在數據類型為authSession_t 的數組authSession[]中,包含驗證句柄和隨機數,驗證參數保存在OSAPparms 中,包含OSAP 的實體類型、值和驗證值。

圖5 密鑰生成過程

步驟說明如下:

1)1-3 表示輸入創建密鑰命令createWrapKey,經過命令模塊調用函數createWrapFunc;在密鑰槽中搜索密鑰作為父密鑰。

2)4-6 表示發 送TPM_OSAP命令創建授權會話,建立會話參數(即填充OSAPparms)。

3)7 表示TPM 創建會話并和一個驗證句柄關聯;產生隨機數和驗證句柄以及會話密碼shareSecret。

4)8-9表示接收到OSAP 命令的返回值,保存驗證句柄和隨機數;用同樣的方法產生會話密碼shareSecret;計算inAuth。

5)10-14表示發送給TPM 密鑰生成命令,TPM以密鑰槽中的密鑰作為父密鑰生成新的密鑰和密鑰句柄。

6)15 表示將新的密鑰和密鑰句柄存儲在密鑰槽中。

3 實驗測試

3.1 可信系統硬件實現

基于RT-thread 的可信系統運行在ST 公司Nucleo-64 boards 開發板和Atmel 公司AT97SC3205T開發套件上。Nucleo-64 boards 是ST 公司推出的以STM32F401RE 為微控制器的開發板,內核為Cortex-M4,FLASH 為512 kB,SRAM 為96 kB,主頻84 MHz。AT97SC3205T 開發套件上的TPM 模塊作為系統的可信模塊。

可信系統運行在RT-Thread 實時系統上。RTThread 是一種輕量級的實時操作系統,適用于以M3 和M4 為內核的微控制器。開發板通過USB 轉UART 連接PC 進行程序下載和串口通信。通過命令行組件FinSH,在串口控制臺中調試程序的運行狀態。

3.2 設計驗證與結果分析

該方案設計的難點在于從TPM 驅動到密鑰管理、授權機制、命令的實現與RT-Thread 的結合,完成相應可信機制有關的工作。軟件棧和RT-Thread在keil 完成統一的編譯,下載到開發板中。命令模塊導出了可以獲得的命令,通過相關命令完成相關的動作,如圖6 所示。

圖6 TPM命令

系統上電后,TPM 執行命令之前,先執行TPM_Startup 命令,TPM 返回TPM_SUCCESS,如圖7 所示。

圖7 TPM_Startup命令

根據上文敘述的密鑰邏輯啟動系統,可信環境建立之后,輸入創建EK 密鑰的命令,實驗結果如圖8所示。

圖8 TPM_CreateEKPair命令

其中,EK 密鑰的公鑰為返回值偏移量38 Bytes開始后的256 Bytes 的信息。

通過實驗可以得出,輕量級的可信軟件棧可以正常結合RT-Thread 實時操作系統在STMF4 上運行,完成基本的可信計算相關功能。

4 結論

在物聯網設備安全問題日益嚴峻的今日,可信計算作為一種行之有效的安全保障系統方案,正在逐步落實到各種設備和終端上。在分析了可信計算的TCG 可信軟件棧TSS 的基礎上,提出了一種適用于嵌入式系統的輕量可信軟件棧,設計了命令調用機制,實現了簡單的密鑰管理、授權計算等可信功能,并證明了其能夠在常見的微控制器上正常運行相關的可信計算命令。在下一步研究中,將進一步完善該軟件系統的相關性能,探索更多的應用場景。

猜你喜歡
管理機制嵌入式系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
試論工程造價管理機制的完善與創新
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
建立有效的管理機制奠定堅實的人力資源基礎
工電道岔結合部聯合管理機制的探討
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 日本福利视频网站| 九九视频免费看| 亚洲制服丝袜第一页| 国产另类乱子伦精品免费女| 无码免费视频| 97超碰精品成人国产| 日日噜噜夜夜狠狠视频| 97青青青国产在线播放| 波多野结衣一区二区三视频| 永久在线精品免费视频观看| 国产99热| 91在线视频福利| 国产亚洲精品无码专| 亚洲欧美在线综合图区| 国产91小视频| 91精品国产自产在线老师啪l| 999福利激情视频| 99久久精品视香蕉蕉| 日韩欧美中文在线| 一级毛片高清| 乱码国产乱码精品精在线播放| 污污网站在线观看| 欧美 亚洲 日韩 国产| 99人妻碰碰碰久久久久禁片| 亚洲欧美日韩视频一区| 欧美一级大片在线观看| 久久9966精品国产免费| 香蕉久久国产超碰青草| 日韩无码视频网站| 国产经典三级在线| 国产亚洲精久久久久久久91| 亚洲全网成人资源在线观看| 嫩草国产在线| 女人18毛片水真多国产| 亚洲国产欧美国产综合久久 | 亚洲第一成年网| 日韩欧美中文字幕一本| 凹凸国产熟女精品视频| 制服丝袜 91视频| 天天综合天天综合| 亚洲成肉网| 色妞www精品视频一级下载| 日韩在线2020专区| 国产成人无码久久久久毛片| 久草国产在线观看| 国产又粗又猛又爽| 日韩经典精品无码一区二区| 2024av在线无码中文最新| 亚洲AV人人澡人人双人| 国产女人爽到高潮的免费视频 | 国产清纯在线一区二区WWW| 影音先锋亚洲无码| 久久久久久久97| 国产免费黄| 国产人成在线视频| 欧美日本一区二区三区免费| 欧美视频二区| 欧美色图第一页| 欧美综合中文字幕久久| 97se亚洲| 国产精品浪潮Av| 国产一区二区网站| 亚洲国产精品无码AV| 99手机在线视频| 美女内射视频WWW网站午夜| 伊人久久久久久久久久| 婷婷色在线视频| 午夜国产不卡在线观看视频| 中文字幕在线永久在线视频2020| 国产一区二区精品福利| 91色爱欧美精品www| 免费啪啪网址| 99久久精品免费看国产电影| 欧美a级在线| 亚洲第一色视频| 欧美 亚洲 日韩 国产| 久久99国产精品成人欧美| 国产午夜小视频| 一级片一区| 亚洲欧美h| 国产一级毛片yw| 久久精品中文无码资源站|