一種可信計算機系統(tǒng)的設(shè)計與實現(xiàn)
摘 要:可信計算機是目前計算機安全領(lǐng)域研究的熱點,結(jié)合嵌入式系統(tǒng)的研究,在通用計算機的主板上內(nèi)置一個嵌入式安全系統(tǒng)ESM ,通過在通用計算機內(nèi)部增加硬件和軟件控制來增強通用計算機的安全性,從而達到建立一個可信計算機系統(tǒng)的要求。ESM 包括一個硬件模塊和一個微型的操作系統(tǒng),設(shè)計靈活,擴充性好,能將計算機的功能進一步地擴大和延伸,使其成為一個更加安全可靠,并且適用范圍更廣的安全計算機系統(tǒng)。
計算機的安全涉及從計算機底層硬件一直到應(yīng)用程序的各個環(huán)節(jié)。為了增強計算的安全性,從計算機底層到應(yīng)用程序、從硬件到軟件必須有一套完整的安全設(shè)計方案。如何從計算機底層硬件體系結(jié)構(gòu)入手,增強計算機的安全性,是研究熱點之一。通過對可信技術(shù)[122 ]的研究,結(jié)合嵌入式技術(shù),設(shè)計并實現(xiàn)了一種基于嵌入式方式的可信計算機方案,該方案在通用計算機主板上嵌入一個嵌入式安全模塊ESM ( Embedded Security Module) ,從而能夠從硬件底層到操作系統(tǒng)、從硬件到軟件都做出改進,構(gòu)成一個較完整的安全體系結(jié)構(gòu)。ESM 模塊將計算機的功能進一步地擴大和延伸?;谶@一系統(tǒng),能夠開發(fā)出一個更加安全可靠,并且適用范圍更廣的可信計算機。
1 ESM 概述
目前嵌入式系統(tǒng)在計算機的各個領(lǐng)域都有廣泛的應(yīng)用[324 ] 。ESM 也是一個成功應(yīng)用的嵌入式系統(tǒng)。代寫畢業(yè)論文從結(jié)構(gòu)上來說,ESM 主要由一個嵌入式硬件模塊和一個微型的嵌入式操作系統(tǒng)JetOS 組成。ESM 是嵌入在主板上的,并從硬件上增加了對主板上南橋芯片的直接控制能力。同時,它還控制著一個智能卡接口,任何用戶使用計算機必須插入表明其身份的智能卡以后才能正常加電啟動計算機。通過這2 個重要的硬件改進,結(jié)合其內(nèi)部的JetOS ,ESM 能夠自如地控制主機上的資源以及使用者的權(quán)限。從而使整個系統(tǒng)的安全性得到了很大的增強。ESM 的軟件核心是JetOS。JetOS 本身采用了一定的安全策略以達到用戶安全使用計算機的目的,JetOS 與主機采用雙向通訊的方式。JetOS 通過接收主機OS 的各種命令調(diào)用,然后返回處理結(jié)果來提供相應(yīng)的安全功能;同時,JetOS 能夠主動控制主機,通過這種主動控制,可以更好地監(jiān)控用戶對通用計算機使用中的不安全因素。圖1 顯示了軟件的層次結(jié)構(gòu)。
前面提到了ESM 還提供了智能卡操作的接口,圖2 表示增加了智能卡接口以后的三級結(jié)構(gòu)。當前,智能卡可以提供諸如身份認證,電子簽名、權(quán)限管理等諸多安全功能。智能卡應(yīng)用也是嵌入式系統(tǒng)應(yīng)用的一個發(fā)展趨勢。ESM 通過提供智能卡結(jié)口,使得主機能夠很好地利用智能卡開發(fā)出各種應(yīng)用程序,擴展了計算機的應(yīng)用范圍。
通過實驗,ESM 對系統(tǒng)的影響非常小,用戶在日常使用中根本感覺不到ESM 的存在。總之,ESM 模塊將計算機的功能進一步地擴大和延伸。嵌入式的ESM 模塊其本身就像一個小型的控制和管理系統(tǒng),通過把它嵌入在主機主板上控制相關(guān)資源,并與主機雙向通訊,使得普通計算機能夠成為一個更加安全可靠,并且適用范圍更廣的安全計算機。
2 ESM 的嵌入式硬件設(shè)計
ESM 的硬件部分是一個單芯片系統(tǒng)。它主要是采用一個微處理器[5 ]進行主控制及處理工作,外部連接有各種外部設(shè)備和I/ O ,這些外部設(shè)備用來提供各種接口及I/ O 操作,比如USB 接口、智能卡接口、以及同主板之間的接口。ESM 本身提供了2 個大容量的存儲設(shè)備用來裝載和運行相應(yīng)的控制程序。同時, ESM和主板也有直接的連接,并且采用了2 種不同的連接方式: GPIO 方式和I2C方式。這2 種方式分別完成2種不同的功能。GPIO 用來進行數(shù)據(jù)傳輸, I2C用來控制主板外設(shè)。
在ESM 模塊內(nèi)部采用了幾種不同的總線方式,采用多總線復(fù)合的結(jié)構(gòu),可以帶來2 個明顯的好處:不同的應(yīng)用采用不同的協(xié)議傳輸,使得各種不同的應(yīng)用能夠滿足自己的一套標準和速率要求;利用不同速率的總線協(xié)議傳輸可以有效地改善系統(tǒng)的傳輸效率。通過對傳輸數(shù)據(jù)類型的分類,比如慢速量小的命令控制類數(shù)據(jù)采用自定義的GPIO 協(xié)議,而快速量大的數(shù)據(jù)操作則采用USB 或PCI 方式,這樣數(shù)據(jù)傳輸之間不需要相互等待,有效彌補慢速設(shè)備帶來的速度缺陷。
1) 內(nèi)部總線 微控制器內(nèi)部提供了內(nèi)部總線驅(qū)動接口,它控制內(nèi)部的地址、數(shù)據(jù)和控制總線,如圖3 所示。從總線結(jié)構(gòu)圖可以看到,幾乎所有的外部設(shè)備都是通過CPU 的內(nèi)部總線同CPU 進行交互的,但是通過CPU 內(nèi)部寄存器的設(shè)置,可以調(diào)整總線寬度,從而可以實現(xiàn)8 位和16 位外設(shè)的同時操作。內(nèi)部總線是ESM的基本架構(gòu),它將承載ESM 內(nèi)部的絕大多數(shù)的數(shù)據(jù)流和指令流。
2) GPIO 協(xié)議通訊 GPIO 協(xié)議是ESM 自定義的,代寫留學(xué)生論文用來和主機進行通訊的一種特殊的總線形式。它的基本架構(gòu)如圖4 所示。利用CPU 提供的可編程的PIO 引腳引出3 根GPIO 信號線,代寫碩士論文分別用來作為中斷信號線、數(shù)據(jù)信號線和時鐘信號線。它的另一端直接連接在主板的南橋引腳上,南橋的引腳同樣也是可編程的GPIO 信號線,操作原理一致,從而可以實現(xiàn)雙向的數(shù)據(jù)通訊。GPIO 協(xié)議主要一個慢速的數(shù)據(jù)通訊協(xié)議,用來處理低速少量數(shù)據(jù)流。在ESM 中,GPIO 是主機和ESM 之間的控制命令通道,對于少量的命令數(shù)據(jù)來說,GPIO 協(xié)議已經(jīng)足夠了。
3) I2C協(xié)議通訊 I2C總線是用于低速設(shè)備互聯(lián)的一種串行總線協(xié)議。它是一種雙總線結(jié)構(gòu),通過定義掛接在總線上的設(shè)備的地址,主從關(guān)系,可以很容易地實現(xiàn)多設(shè)備之間的訪問。ESM 中利用一個標準的I2C接口芯片,可以將并行數(shù)據(jù)輸入轉(zhuǎn)換為I2C格式的數(shù)據(jù)輸出,輸出數(shù)據(jù)用來控制一個I2C的從設(shè)備,如圖5所示。
4) PCI 總線 在總線結(jié)構(gòu)圖上可以看到,CPU 并沒有提供PCI 的接口控制電路,ESM 是通過一個具有PCI 接口的密碼協(xié)處理器來使用PCI 總線同主機通訊的,這也是硬件體系結(jié)構(gòu)一個創(chuàng)新的地方。ESM 提供的安全功能中有數(shù)據(jù)加解密功能,而數(shù)據(jù)加解密涉及到大量數(shù)據(jù)的交換,自定義的GPIO 協(xié)議通訊方式或低速USB 方式都很難滿足速度上的要求,這就必然要引入一個高速總線接口,密碼協(xié)處理器就是一個很好的切入點。它本身并不是為此而引入的,密碼協(xié)處理器主要提供對非對稱密碼運算的支持,通過它可以快速實現(xiàn)電子簽名、運行認證算法以及密鑰的生成等。使用帶PCI 接口的密碼協(xié)處理器可以很好地解決ESM 的速度瓶頸,可以有效地緩解利用低速GPIO 接口帶來的傳輸方面的限制。
3 ESM 的嵌入式操作系統(tǒng)JetOS 設(shè)計
ESM 還包括一個嵌入式操作系統(tǒng)JetOS ,主要負責對嵌入式模塊的管理。JetOS 的軟件模塊主要分為6大部分:主控系統(tǒng)、通訊系統(tǒng)、命令處理系統(tǒng)、智能卡接口模塊、文件系統(tǒng)、密鑰管理系統(tǒng)。每一個都和其他的模塊有一定的聯(lián)系,但并不是全互聯(lián)的。圖6 表明了其結(jié)構(gòu)。
1) 主控系統(tǒng) 主控系統(tǒng)負責監(jiān)控通訊通道,同時要控制ESM 自身系統(tǒng)的安全和穩(wěn)定運行。與它有聯(lián)系的有3 個子系統(tǒng):通訊子系統(tǒng)、命令處理子系統(tǒng)和智能卡接口子系統(tǒng)。因此它要控制并管理這3 個子系統(tǒng)的正常運行,他們之間主要是調(diào)用和被調(diào)用的關(guān)系:代寫醫(yī)學(xué)論文主控系統(tǒng)會監(jiān)控系統(tǒng)異常和正常事件的發(fā)生,一旦被激活,它會調(diào)用通訊系統(tǒng)與主機通訊,接收命令,轉(zhuǎn)而調(diào)用命令處理子系統(tǒng),對主機的要求做出響應(yīng)。如果是和智能卡相關(guān)的,它會直接調(diào)用智能卡接口模塊。主控模塊并不直接和文件系統(tǒng)以及密鑰管理系統(tǒng)關(guān)聯(lián),它只是通過命令處理系統(tǒng)來調(diào)用。主控系統(tǒng)還執(zhí)行有權(quán)限的開關(guān)機功能,這也是通過對智能卡接口模塊和通訊系統(tǒng)的調(diào)用來實現(xiàn)的。
2) 通訊系統(tǒng) 通訊系統(tǒng)是ESM 和主機之間的唯一接口,是控制和主機相互通訊和傳送控制命令的通道。它包含一個命令通道、一個輔助的數(shù)據(jù)通道以及一個控制用通道。命令通道提供了和主機的函數(shù)調(diào)用接口、輔助的數(shù)據(jù)通道通過PCI總線方式來傳輸大容量數(shù)據(jù),主要是加解密數(shù)據(jù)、控制用通道利用I2C總線來傳輸控制信號控制主機外設(shè)。
3) 命令處理子系統(tǒng) JetOS 提供給主機的命令調(diào)用功能都是通過命令處理子系統(tǒng)來實現(xiàn)。命令處理子系統(tǒng)連接了4 個主要的系統(tǒng)模塊。由于命令處理模塊要執(zhí)行各種安全功能或操作,它必須能夠自主調(diào)用所需要的資源。但在超循環(huán)結(jié)構(gòu)中,命令處理子系統(tǒng)是不能自主運行的,它屬于前臺系統(tǒng),它必須通過主控系統(tǒng)的調(diào)用來激活。同時它要受到主控系統(tǒng)的監(jiān)控,代寫英語論文一旦命令處理模塊執(zhí)行異?;蚺龅椒欠ú僮?主控系統(tǒng)會直接采取相應(yīng)措施來控制主機,這是通過檢測命令處理系統(tǒng)的返回應(yīng)答碼來實現(xiàn)的。
4) 智能卡接口模塊 智能卡的硬件接口是用GPIO 實現(xiàn)的,在JetOS 中,需要用純軟件模擬的方式來控制智能卡設(shè)備,需要一個專門的智能卡接口模塊。它通過控制GPIO 信號來與智能卡通訊,提供了一個標準的智能卡軟件接口。它受主控系統(tǒng)的調(diào)用,同時也受命令處理系統(tǒng)的調(diào)用。主控系統(tǒng)在執(zhí)行開關(guān)機權(quán)限檢測或身份認證,卡異常監(jiān)控等功能時,會直接調(diào)用智能卡接口來執(zhí)行卡操作。而碰到通用性智能卡應(yīng)用比如卡驗證,加解密,圈存圈提(銀行應(yīng)用) 時,會由命令處理模塊來發(fā)出調(diào)用命令。
5) 文件系統(tǒng) 在JetOS 管理ESM 并執(zhí)行各項功能時,需要一個簡單的文件系統(tǒng)來存貯各種重要的JetOS 系統(tǒng)文件和應(yīng)用參數(shù)。文件系統(tǒng)同時考慮了密鑰管理系統(tǒng)的實現(xiàn),因為密鑰管理系統(tǒng)的一部分需要文件系統(tǒng)的支持,同時文件系統(tǒng)也給ESM 系統(tǒng)本身功能和應(yīng)用的升級留下了擴充的余地,可以在文件系統(tǒng)中建立多個應(yīng)用文件或多個功能性文件等等。
6) 密鑰管理系統(tǒng) 密鑰管理[627 ]是實現(xiàn)整個ESM 系統(tǒng)安全的一個重要組成部分,這里考慮在JetOS 中實現(xiàn)一個簡單的密鑰管理功能,實現(xiàn)除了能夠?qū)ψ陨硭峁┑募咏饷芎驼J證簽名系統(tǒng)提供支持外,還一定程度上實現(xiàn)整個系統(tǒng)環(huán)境下的密鑰管理系統(tǒng)的局部功能。
應(yīng)注意在JetOS 的模塊圖中并沒有內(nèi)存管理模塊,并不是完全沒有內(nèi)存管理,只是內(nèi)存管理的實現(xiàn)十分簡單,而且由于ESM 的資源有限,實現(xiàn)一個完整的內(nèi)存管理并沒有必要,因此考慮了一種很簡單的內(nèi)存管理方式,在設(shè)計中采用順序存儲的方式,利用鏈表域來查找內(nèi)存區(qū)域,內(nèi)存并沒有分配和回收,由于應(yīng)用的特殊性,代寫職稱論文產(chǎn)生的碎片對系統(tǒng)性能的影響并不大。
JetOS 的總體結(jié)構(gòu)設(shè)計中采用了超循環(huán)結(jié)構(gòu),那么相應(yīng)的在實現(xiàn)策略上就應(yīng)該是一種被動的方式,即ESM 系統(tǒng)處于一個空閑等待狀態(tài),除了一些系統(tǒng)自身的例行操作之外,其余時間是等待事件的發(fā)生,主要是接收主機OS 的命令,然后進入命令處理系統(tǒng)進行處理,并返回結(jié)果給OS ,這是超循環(huán)結(jié)構(gòu)所規(guī)定的模式。但這樣的模式不能實現(xiàn)主動控制主機的功能,所以需要改進,考慮的一種方式就是采用主動和被動相結(jié)合,JetOS 可以被動地接收主機發(fā)送的命令,也可以主動向主機發(fā)送控制信號,但主要是以被動式為主的輔助以主動控制模式,這樣ESM 同時扮演主設(shè)備和從設(shè)備。這種策略的好處主要是靈活,可以很好地滿足功能設(shè)計上的各種應(yīng)用需求。主動控制模式可以有效地增強主機的安全性能??梢哉f主動控制模式才真正體現(xiàn)了硬件一級的安全功能。
4 結(jié) 語
ESM 可以將計算機的功能進一步地擴大和延伸,再通過對操作系統(tǒng)Linux 內(nèi)核的改造,加入嵌入式模塊的主機就成為一個真正安全、體系嚴密的可信計算機。該設(shè)計基于對嵌入式系統(tǒng)的深入研究和應(yīng)用,設(shè)計思想承前啟后,既繼承和保留現(xiàn)有通用計算機的體系和優(yōu)點,又極大地增強了其安全性,有很強的應(yīng)用價值。
參考文獻
[1 ] TCG Specification Architecture Overview. Specification Revision 1. 2 [ EB/ OL ] . http :/ / www. trustedcomputinggroup. org/downloads/ TCG- 1 - 0 - Architecture - Overview. pdf , 2004204228.
[ 2 ] Zhang Xiaolan , Jaeger Trent , Doorn Leendert Van. Design and Implementation of a TCG2based Integrity Measurement Architecture[ EB/ OL ] . http :/ / www. ece. cmu. edu/ ~adrian/ 7312sp04/ readings/ rc23064. pdf ,2007204229.
[3 ] Labrosse Jean J . uC/ OS2II 源碼公開的實時嵌入式操作系統(tǒng)[M] . 北京:中國電力出版社,2001.
[4 ] Wolf Wayne. 嵌入式系統(tǒng)設(shè)計原理[M] . 北京:機械工業(yè)出版社,2002.
[5 ] Barry Barry B. Intel 微處理器全系列:結(jié)構(gòu)、編程、與接口[M] . 5 版. 北京:電子工業(yè)出版社,2001.
[6 ] 周學(xué)廣,劉 藝. 信息安全學(xué)[M] . 北京:機械工業(yè)出版社,2003.
[7 ] 闕喜戎,孫 銳,龔向陽,等. 信息安全原理及應(yīng)用[M] . 北京:清華大學(xué)出版社,2003.
ce="宋體">更多醫(yī)療電子信息請關(guān)注:21ic醫(yī)療電子頻道