一種可信計算機系統的設計與實現

時間:2022-07-15 05:13:00

導語:一種可信計算機系統的設計與實現一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

一種可信計算機系統的設計與實現

摘要:可信計算機是目前計算機安全領域研究的熱點,結合嵌入式系統的研究,在通用計算機的主板上內置一個嵌入式安全系統ESM,通過在通用計算機內部增加硬件和軟件控制來增強通用計算機的安全性,從而達到建立一個可信計算機系統的要求。ESM包括一個硬件模塊和一個微型的操作系統,設計靈活,擴充性好,能將計算機的功能進一步地擴大和延伸,使其成為一個更加安全可靠,并且適用范圍更廣的安全計算機系統。

關鍵詞:嵌入式系統;可信計算機;計算機安全

計算機的安全涉及從計算機底層硬件一直到應用程序的各個環節。為了增強計算的安全性,從計算機底層到應用程序、從硬件到軟件必須有一套完整的安全設計方案。如何從計算機底層硬件體系結構入手,增強計算機的安全性,是研究熱點之一。通過對可信技術[122]的研究,結合嵌入式技術,設計并實現一種基于嵌入式方式的可信計算機方案,該方案在通用計算機主板上嵌入一個嵌入式安全模塊ESM(EmbeddedSecurityModule),從而能夠從硬件底層到操作系統、從硬件到軟件都做出改進,構成一個較完整的安全體系結構。ESM模塊將計算機的功能進一步地擴大和延伸?;谶@一系統,能夠開發出一個更加安全可靠,并且適用范圍更廣的可信計算機。

1ESM概述

目前嵌入式系統在計算機的各個領域都有廣泛的應用[324]。ESM也是一個成功應用的嵌入式系統。畢業論文從結構上來說,ESM主要由一個嵌入式硬件模塊和一個微型的嵌入式操作系統JetOS組成。ESM是嵌入在主板上的,并從硬件上增加了對主板上南橋芯片的直接控制能力。同時,它還控制著一個智能卡接口,任何用戶使用計算機必須插入表明其身份的智能卡以后才能正常加電啟動計算機。通過這2個重要的硬件改進,結合其內部的JetOS,ESM能夠自如地控制主機上的資源以及使用者的權限。從而使整個系統的安全性得到了很大的增強。ESM的軟件核心是JetOS。JetOS本身采用了一定的安全策略以達到用戶安全使用計算機的目的,JetOS與主機采用雙向通訊的方式。JetOS通過接收主機OS的各種命令調用,然后返回處理結果來提供相應的安全功能;同時,JetOS能夠主動控制主機,通過這種主動控制,可以更好地監控用戶對通用計算機使用中的不安全因素。圖1顯示了軟件的層次結構。

前面提到了ESM還提供了智能卡操作的接口,圖2表示增加了智能卡接口以后的三級結構。當前,智能卡可以提供諸如身份認證,電子簽名、權限管理等諸多安全功能。智能卡應用也是嵌入式系統應用的一個發展趨勢。ESM通過提供智能卡結口,使得主機能夠很好地利用智能卡開發出各種應用程序,擴展了計算機的應用范圍。

通過實驗,ESM對系統的影響非常小,用戶在日常使用中根本感覺不到ESM的存在??傊?ESM模塊將計算機的功能進一步地擴大和延伸。嵌入式的ESM模塊其本身就像一個小型的控制和管理系統,通過把它嵌入在主機主板上控制相關資源,并與主機雙向通訊,使得普通計算機能夠成為一個更加安全可靠,并且適用范圍更廣的安全計算機。

2ESM的嵌入式硬件設計

ESM的硬件部分是一個單芯片系統。它主要是采用一個微處理器[5]進行主控制及處理工作,外部連接有各種外部設備和I/O,這些外部設備用來提供各種接口及I/O操作,比如USB接口、智能卡接口、以及同主板之間的接口。ESM本身提供了2個大容量的存儲設備用來裝載和運行相應的控制程序。同時,ESM和主板也有直接的連接,并且采用了2種不同的連接方式:GPIO方式和I2C方式。這2種方式分別完成2種不同的功能。GPIO用來進行數據傳輸,I2C用來控制主板外設。

在ESM模塊內部采用了幾種不同的總線方式,采用多總線復合的結構,可以帶來2個明顯的好處:不同的應用采用不同的協議傳輸,使得各種不同的應用能夠滿足自己的一套標準和速率要求;利用不同速率的總線協議傳輸可以有效地改善系統的傳輸效率。通過對傳輸數據類型的分類,比如慢速量小的命令控制類數據采用自定義的GPIO協議,而快速量大的數據操作則采用USB或PCI方式,這樣數據傳輸之間不需要相互等待,有效彌補慢速設備帶來的速度缺陷。

1)內部總線微控制器內部提供了內部總線驅動接口,它控制內部的地址、數據和控制總線,如圖3所示。從總線結構圖可以看到,幾乎所有的外部設備都是通過CPU的內部總線同CPU進行交互的,但是通過CPU內部寄存器的設置,可以調整總線寬度,從而可以實現8位和16位外設的同時操作。內部總線是ESM的基本架構,它將承載ESM內部的絕大多數的數據流和指令流。

2)GPIO協議通訊GPIO協議是ESM自定義的,留學生論文用來和主機進行通訊的一種特殊的總線形式。它的基本架構如圖4所示。利用CPU提供的可編程的PIO引腳引出3根GPIO信號線,碩士論文分別用來作為中斷信號線、數據信號線和時鐘信號線。它的另一端直接連接在主板的南橋引腳上,南橋的引腳同樣也是可編程的GPIO信號線,操作原理一致,從而可以實現雙向的數據通訊。GPIO協議主要一個慢速的數據通訊協議,用來處理低速少量數據流。在ESM中,GPIO是主機和ESM之間的控制命令通道,對于少量的命令數據來說,GPIO協議已經足夠了。

3)I2C協議通訊I2C總線是用于低速設備互聯的一種串行總線協議。它是一種雙總線結構,通過定義掛接在總線上的設備的地址,主從關系,可以很容易地實現多設備之間的訪問。ESM中利用一個標準的I2C接口芯片,可以將并行數據輸入轉換為I2C格式的數據輸出,輸出數據用來控制一個I2C的從設備,如圖5所示。

4)PCI總線在總線結構圖上可以看到,CPU并沒有提供PCI的接口控制電路,ESM是通過一個具有PCI接口的密碼協處理器來使用PCI總線同主機通訊的,這也是硬件體系結構一個創新的地方。ESM提供的安全功能中有數據加解密功能,而數據加解密涉及到大量數據的交換,自定義的GPIO協議通訊方式或低速USB方式都很難滿足速度上的要求,這就必然要引入一個高速總線接口,密碼協處理器就是一個很好的切入點。它本身并不是為此而引入的,密碼協處理器主要提供對非對稱密碼運算的支持,通過它可以快速實現電子簽名、運行認證算法以及密鑰的生成等。使用帶PCI接口的密碼協處理器可以很好地解決ESM的速度瓶頸,可以有效地緩解利用低速GPIO接口帶來的傳輸方面的限制。

3ESM的嵌入式操作系統JetOS設計

ESM還包括一個嵌入式操作系統JetOS,主要負責對嵌入式模塊的管理。JetOS的軟件模塊主要分為6大部分:主控系統、通訊系統、命令處理系統、智能卡接口模塊、文件系統、密鑰管理系統。每一個都和其他的模塊有一定的聯系,但并不是全互聯的。圖6表明了其結構。

1)主控系統主控系統負責監控通訊通道,同時要控制ESM自身系統的安全和穩定運行。與它有聯系的有3個子系統:通訊子系統、命令處理子系統和智能卡接口子系統。因此它要控制并管理這3個子系統的正常運行,他們之間主要是調用和被調用的關系:醫學論文主控系統會監控系統異常和正常事件的發生,一旦被激活,它會調用通訊系統與主機通訊,接收命令,轉而調用命令處理子系統,對主機的要求做出響應。如果是和智能卡相關的,它會直接調用智能卡接口模塊。主控模塊并不直接和文件系統以及密鑰管理系統關聯,它只是通過命令處理系統來調用。主控系統還執行有權限的開關機功能,這也是通過對智能卡接口模塊和通訊系統的調用來實現的。

2)通訊系統通訊系統是ESM和主機之間的唯一接口,是控制和主機相互通訊和傳送控制命令的通道。它包含一個命令通道、一個輔助的數據通道以及一個控制用通道。命令通道提供了和主機的函數調用接口、輔助的數據通道通過PCI總線方式來傳輸大容量數據,主要是加解密數據、控制用通道利用I2C總線來傳輸控制信號控制主機外設。

3)命令處理子系統JetOS提供給主機的命令調用功能都是通過命令處理子系統來實現。命令處理子系統連接了4個主要的系統模塊。由于命令處理模塊要執行各種安全功能或操作,它必須能夠自主調用所需要的資源。但在超循環結構中,命令處理子系統是不能自主運行的,它屬于前臺系統,它必須通過主控系統的調用來激活。同時它要受到主控系統的監控,英語論文一旦命令處理模塊執行異?;蚺龅椒欠ú僮?主控系統會直接采取相應措施來控制主機,這是通過檢測命令處理系統的返回應答碼來實現的。

4)智能卡接口模塊智能卡的硬件接口是用GPIO實現的,在JetOS中,需要用純軟件模擬的方式來控制智能卡設備,需要一個專門的智能卡接口模塊。它通過控制GPIO信號來與智能卡通訊,提供了一個標準的智能卡軟件接口。它受主控系統的調用,同時也受命令處理系統的調用。主控系統在執行開關機權限檢測或身份認證,卡異常監控等功能時,會直接調用智能卡接口來執行卡操作。而碰到通用性智能卡應用比如卡驗證,加解密,圈存圈提(銀行應用)時,會由命令處理模塊來發出調用命令。

5)文件系統在JetOS管理ESM并執行各項功能時,需要一個簡單的文件系統來存貯各種重要的JetOS系統文件和應用參數。文件系統同時考慮了密鑰管理系統的實現,因為密鑰管理系統的一部分需要文件系統的支持,同時文件系統也給ESM系統本身功能和應用的升級留下了擴充的余地,可以在文件系統中建立多個應用文件或多個功能性文件等等。

6)密鑰管理系統密鑰管理[627]是實現整個ESM系統安全的一個重要組成部分,這里考慮在JetOS中實現一個簡單的密鑰管理功能,實現除了能夠對自身所提供的加解密和認證簽名系統提供支持外,還一定程度上實現整個系統環境下的密鑰管理系統的局部功能。

應注意在JetOS的模塊圖中并沒有內存管理模塊,并不是完全沒有內存管理,只是內存管理的實現十分簡單,而且由于ESM的資源有限,實現一個完整的內存管理并沒有必要,因此考慮了一種很簡單的內存管理方式,在設計中采用順序存儲的方式,利用鏈表域來查找內存區域,內存并沒有分配和回收,由于應用的特殊性,職稱論文產生的碎片對系統性能的影響并不大。

JetOS的總體結構設計中采用了超循環結構,那么相應的在實現策略上就應該是一種被動的方式,即ESM系統處于一個空閑等待狀態,除了一些系統自身的例行操作之外,其余時間是等待事件的發生,主要是接收主機OS的命令,然后進入命令處理系統進行處理,并返回結果給OS,這是超循環結構所規定的模式。但這樣的模式不能實現主動控制主機的功能,所以需要改進,考慮的一種方式就是采用主動和被動相結合,JetOS可以被動地接收主機發送的命令,也可以主動向主機發送控制信號,但主要是以被動式為主的輔助以主動控制模式,這樣ESM同時扮演主設備和從設備。這種策略的好處主要是靈活,可以很好地滿足功能設計上的各種應用需求。主動控制模式可以有效地增強主機的安全性能。可以說主動控制模式才真正體現了硬件一級的安全功能。

4結語

ESM可以將計算機的功能進一步地擴大和延伸,再通過對操作系統Linux內核的改造,加入嵌入式模塊的主機就成為一個真正安全、體系嚴密的可信計算機。該設計基于對嵌入式系統的深入研究和應用,設計思想承前啟后,既繼承和保留現有通用計算機的體系和優點,又極大地增強了其安全性,有很強的應用價值。

參考文獻

[1]TCGSpecificationArchitectureOverview.SpecificationRevision1.2[EB/OL]./downloads/TCG-1-0-Architecture-Overview.pdf,2004204228.

[2]ZhangXiaolan,JaegerTrent,DoornLeendertVan.DesignandImplementationofaTCG2basedIntegrityMeasurementArchitecture[EB/OL].www.ece.cmu.edu/~adrian/7312sp04/readings/rc23064.pdf,2007204229.

[3]LabrosseJeanJ.uC/OS2II源碼公開的實時嵌入式操作系統[M].北京:中國電力出版社,2001.

[4]WolfWayne.嵌入式系統設計原理[M].北京:機械工業出版社,2002.

[5]BarryBarryB.Intel微處理器全系列:結構、編程、與接口[M].5版.北京:電子工業出版社,2001.

[6]周學廣,劉藝.信息安全學[M].北京:機械工業出版社,2003.

[7]闕喜戎,孫銳,龔向陽,等.信息安全原理及應用[M].北京:清華大學出版社,2003.