李冰心
(武漢數(shù)字工程研究所 武漢 430074)
隨著指控技術的發(fā)展,在海軍艦艇指控系統(tǒng)中出現(xiàn)了移動式指控平臺的概念。同時伴隨著我海軍作戰(zhàn)范圍的擴大,不間斷航行時間的增加,對裝備的綜合保障能力提出了更現(xiàn)實、更緊迫、更專業(yè)的要求,迫切需要一種表現(xiàn)力強、安全性高的可用于維護維修的手持式移動終端。上述現(xiàn)狀都對海軍艦艇指控系統(tǒng)中的移動終端設備提出了如下三條新的需求:
1)支持國產(chǎn)移動處理器:國外的CPU和操作系統(tǒng)對我們來說類似黑箱,其核心技術對我們完全封閉。為保證新型移動終端的安全可控,其核心關鍵技術和基礎核心軟件、硬件需自主可控;
2)支持可信計算安全架構:通過在移動終端內(nèi)部嵌入一個可抵制篡改的可信計算架構,其核心芯片保存著芯片及芯片所在平臺相關的信息摘要和重要內(nèi)容,核心芯片提供的安全功能不僅能夠使得非法用戶無法對芯片內(nèi)部的數(shù)據(jù)進行更改,而且能夠保證當用戶的計算機丟失時,一些重要的內(nèi)容也不會被竊?。?~2]。這樣,在確保數(shù)據(jù)的完整性和機密性的同時,也提高了整個終端設備的安全等級。
3)支持衛(wèi)星導航定位系統(tǒng):增強現(xiàn)代作戰(zhàn)操作的支持能力同時保證其安全性,一旦該終端離開設定范圍即可進行數(shù)據(jù)自毀。
為滿足艦載移動式指揮平臺及可視化維修終端上述三條新的需求,本文結合“十二五”期間國產(chǎn)CPU的大量應用及不斷成熟的北斗二代技術,圍繞國產(chǎn)處理器構建支持GPS導航定位的可信移動終端,對保證可信移動終端的信息安全具有重要意義。
本文將重點闡述當前國產(chǎn)移動處理器現(xiàn)狀、可信移動計算平臺相關概念,分析北斗定位技術在軍事領域的應用前景,圍繞龍芯1A國產(chǎn)處理器設計支持GPS導航定位的可信移動計算機軟硬件架構,并對其進行了安全性分析,從而為提高龍芯1A移動計算機的安全性、數(shù)據(jù)保密性和可用性提供了一種解決方案。
目前國產(chǎn)處理器主要分為高性能通用CPU、安全適用計算機用CPU、嵌入式CPU等。其中高性能通用CPU主要應用于高性能計算及服務器等領域,安全適用計算機用CPU主要應用于桌面及筆記本電腦等領域,嵌入式CPU主要應用于移動通信終端、消費類電子、數(shù)字電視、工業(yè)控制和汽車電子等領域。國產(chǎn)嵌入式CPU主要產(chǎn)品包括Unicore系列CPU、龍芯1ACPU、C-CORE CPU、XBurst CPU、NuSmart CPU等。其中龍芯1ACPU為中國科學院計算所推出一款面向嵌入式應用基于MIPS32架構的CPU[1~2],其I/O接口豐富,集成度高,功耗低,較適合于手持設備以及控制終端領域應用?;邶埿?ACPU在手持終端上應用優(yōu)勢,及目前在龍芯平臺上的技術積累,擬采用該款處理器設計該型可信移動計算機。
可信計算技術是近年出現(xiàn)的一種信息系統(tǒng)安全技術[3~4]??尚琶艽a模塊(TCM)實際上是一個含有密碼運算器件和存儲部件的小型片上系統(tǒng),存儲用于驗證和簽名的密鑰以及證明平臺硬件、軟件可信狀態(tài)的哈希值,它是平臺中重要的防篡改元件,是平臺的信任根,與可信度量根一起執(zhí)行可信啟動流程。在系統(tǒng)啟動時,由可信度量根對平臺BIOS和操作系統(tǒng)進行完整性檢測,將檢測生成的哈希值傳給TCM并存儲于平臺狀態(tài)寄存器PCR中。比較檢測結果與TCM中存儲的數(shù)據(jù)是否匹配,如果匹配則認為平臺安全,反之不安全[5]。目前國內(nèi)擁有TCM芯片的廠商和研究院所主要包括武漢瑞達、北京兆日、聯(lián)想、總參51所等,其中僅總參51所為軍方認可的可信芯片[6~7]。
在衛(wèi)星導航定位方面,目前全球有四套衛(wèi)星導航系統(tǒng):中國北斗、美國全球定位系統(tǒng)(GPS)、俄羅斯“格洛納斯”(GLONASS)和歐洲“伽利略”。其中北斗衛(wèi)星導航系統(tǒng)是由中國自主研制開發(fā)、獨立運行的的全球衛(wèi)星導航系統(tǒng)。基于北斗二代精確對時、載波相位跟蹤、導航定位等功能,北斗二代技術可應用艦艇多平臺協(xié)同防空信息系統(tǒng)、飛機著艦系統(tǒng)、數(shù)字單兵導航定位系統(tǒng)、裝甲車輛導航監(jiān)控與指揮系統(tǒng)、精確武器制導系統(tǒng)等軍事領域中[8~9]。鑒于可信移動終端在安全性、定位精準性等方面的考慮,擬將北斗二號導航定位技術集成到該終端設計中。
目前在國產(chǎn)化可信計算機體系結構中提出了“以密碼為基礎,芯片為根基,主板為平臺,軟件為核心,網(wǎng)絡為紐帶”的整體實現(xiàn)思路。其體系結構如圖1所示。
圖1 可信計算機體系結構
基于上述體系結構,本文擬采用龍芯1A、軍用TCM及北斗GPS定位模塊相結合的方式進行設計。如上節(jié)所述,龍芯1A為中國科學院計算所推出的一款低功耗面向嵌入式應用的國產(chǎn)處理器,其主頻達266~300MHz,內(nèi)部集成2DGPU和LCD控制器,支持VGA和LCD雙接口,最大顯示分辨率為1280×1080,功耗小于1W;軍用TCM芯片遵循標準TCM架構,設有多個外部接口,可通過USB 2.0、LPC接口、ISO7816、存儲器擴展接口和自定義32位數(shù)據(jù)接口等與外部進行數(shù)據(jù)通信;北斗GPS定位模塊為我所自主研發(fā)的模塊,通過串口與CPU進行信息交互。通過整合上述模塊,基于龍芯1A的移動計算機的邏輯結構組成如圖2所示。
圖2 基于龍芯1A的移動計算機邏輯結構組成圖
在圖2中,TCM和UEFI BIOS為移動終端的可信根,即信任鏈的源頭。從UEFI BIOS出發(fā),在計算機的每一個部件啟動時,這種信任狀態(tài)通過度量該部件完整性的方式傳遞下去,直至傳遞到平臺上的應用程序,平臺每個部件的完整性得到了保證,這樣就保證平臺上的計算環(huán)境是可信的[10]??尚艡C制的實現(xiàn)主要從三個方面來體現(xiàn):1)可信度量指的是任何將要獲得控制權的實體,都需要被之前啟動的部件度量,即計算該部件的完整性(哈希值),度量過程將從平臺加電開始,一直持續(xù)到應用程序運行環(huán)境的建立;2)度量的存儲指的是所有度量值將形成一個序列,并保存在TCM中,同時還包括度量過程日志的存儲;3)度量的報告指的是任何需要知道可信計算平臺狀態(tài)的實體可以讓平臺及TCM報告相關度量值和日志信息,詢問者根據(jù)可信計算平臺提供的度量值和日志信息判斷平臺配置是否遭到破壞,如果平臺的可信環(huán)境被破壞了,詢問者有權拒絕與該平臺交互或向該平臺提供服務。
北斗接收定位模塊兼容北斗二代和GPS系統(tǒng),雙冗余型接收機可進行在線可控式實時互補切換輸出,實現(xiàn)熱冗余容錯備份能力,支持NMEA-0183數(shù)據(jù)交換協(xié)議。其系統(tǒng)結構圖如圖3所示。
圖3 北斗接收定位模塊原理框圖
如圖3所示北斗接收定位模塊同時接收到北斗2和GPS的衛(wèi)星信號,功分器將射頻信號分為兩路分別進入GPS和北斗2模塊進行獨立處理,雙冗余的兩種導航系統(tǒng)模塊輸入相同,輸出數(shù)據(jù)格式相同,硬件結構一致,只是運行的程序不同,一個執(zhí)行北斗2基帶解碼,一個執(zhí)行GPS基帶解碼,ARM輸出控制模塊執(zhí)行雙冗余容錯判決策略,控制保證接收機的可信輸出。串口輸出遵循標準NMEA0183協(xié)議,與自主開發(fā)的導航通信解析軟件接口兼容。
基于龍芯1A的可信移動計算機的軟件架構如圖4所示。
圖4 基于龍芯1A的可信移動計算機的軟件架構
其中CRTM為可信計算度量根。如圖4所示,基于龍芯1A的可信計算機軟件建立在硬件層基礎之上,由下而上分為BIOS層、操作系統(tǒng)核心層、可信計算軟件棧、應用層等四層。其信任鏈的傳遞過程如圖5所示。
圖5 信任鏈的傳遞過程圖
如圖5所示,在可信計算設計中首先建立一個可信任根,即TCM模塊??尚湃胃目尚判允腔谟布⒂晌锢戆踩凸芾戆踩_保,然后再建立一條信任鏈,從信任根開始到硬件平臺,到操作系統(tǒng),再到各種應用,一級認證一級,一級信任一級,從而把這種信任擴展到整個計算機系統(tǒng),確保計算機系統(tǒng)的可信性。同時,在這一個過程中,可信計算終端完成了可信測量、存儲和報告等事務。
移動可信終端是一個由多個部件組成的系統(tǒng),這些部件包括:可信計算芯片TCM、BIOS、系統(tǒng)引導程序、操作系統(tǒng)和應用程序等。每個部件之間都是遵循一定的設計原理進行啟動、運行和交互,均可以看做是這個安全協(xié)議的參與者。依據(jù)此思想,可以得到如下模型:
其中,進程Psys代表的是整個可信計算系統(tǒng),進程PTCM代表的是TCM的動作,進程PBIOS代表的是BIOS的動作,進程PGrub代表的是系統(tǒng)引導程序的動作,進程POS代表的是操作系統(tǒng)的動作,進程PApp1,PApp2,…,PAppn代表的是不同應用程序的動作。
如上述軟硬件設計及模型所示,安全的引導過程是保證移動終端的基礎,經(jīng)過安全引導,能夠建立起可信的程序執(zhí)行環(huán)境。但是隨著信任鏈長度的增加信任值會下降,必須增加動態(tài)的可信機制,能夠?qū)\行中的應用程序進行動態(tài)的監(jiān)控和行為的限制,從而保證移動終端在運行中的安全。
在動態(tài)可信機制中,定義所有的軟件代碼構成的集合為E={el,e2,…,en},其中ei,1≤i≤n為任意一個待載入的軟件代碼,并對應一個期望的功能列表FLi={Oi1,Oi2,…,Oik},表示ei允許執(zhí)行所有操作O 的集合,其中i={1,…,n},k為ei所有允許的不同操作編號(k為正整數(shù),針對不同的ei,k取值不一定相同)。ei在運行過程中實際操作記為:Oim,m為正整數(shù),對于所有ei∈E的實際過程操作[11]:
1)所有Oim∈FL執(zhí)行可信的操作,允許執(zhí)行;
2)所有Oim∈FL執(zhí)行不可信的操作,將于阻止并警告。
采用該機制有效避免了單純依靠測量軟件代碼靜態(tài)完整的脆弱性,應用程序的運行按照預期的可信操作執(zhí)行,阻止非法的操作,同樣在可信的范圍之內(nèi),確保系統(tǒng)的動態(tài)可信性。
當前,國產(chǎn)化計算機已成為十二五期間重點發(fā)展的方向,圍繞國產(chǎn)處理器建立可信移動終端對增強艦載移動終端的自主可控與安全可信具有十分重要的意義。本文重點闡述了國內(nèi)移動處理器現(xiàn)狀、可信移動計算平臺相關概念,分析北斗定位技術在軍事領域的應用前景,提出了適用于艦載應用的移動可信計算機的軟硬件設計方案。目前該方案正在進行詳細設計與實現(xiàn),在后期工作中將繼續(xù)細化可信計算機軟件組成,完善BIOS層的可信軟件度量和上層的可信軟件協(xié)議棧,從而實現(xiàn)一個支持GPS導航定位功能的完全可信的嵌入式移動終端。
[1]胡偉武,唐志敏.龍芯1號處理器結構設計[J].計算機學報,2003,26(4):385-396.
[2]張仕健,許彤,章隆兵,等.一個基于微處理器功能模型的可靠度評估系統(tǒng)[J].計算機學報,2008,31(3):391-399.
[3]沈昌祥,張煥國,馮登國,等.信息安全綜述[J].中國科學E輯,2007,37(2):129-150.
[4]Sailer R,Zhang Xiao-Lan,Jaeger T,et al.Design and Implementation of a TCG-Based Integrity measurement architecture[C]//Proceedings of the 13th Usenix Security Symposium.San Diego,California,2004:223-238.
[5]蔣凡,寧華中.基于標號變遷系統(tǒng)的測試集自動生成[J].計算機研究與發(fā)展,2001,38(12):1435-1445.
[6]邢黎,祝躍飛.可信移動平臺及其驗證機制的研究[J].計算機工程與設計,2008,29(5):1080-1085.
[7]范卿,曾楊.基于可信計算的移動終端系統(tǒng)構建與安全機制[J].建設機械技術與管理,2011,24(1):139-143.
[8]李慶利,薛永祺,施鵬飛.無陀螺DR及其與北斗組合導航的融合算法[J].計算機工程,2006,32(4):18-20.
[9]張桂華,孫彩英.“北斗一號”導航定位動態(tài)信號的模擬實現(xiàn)[J].系統(tǒng)仿真學報,2005,17(11):2731-2736.
[10]徐明迪,張煥國,嚴飛.基于標記變遷系統(tǒng)的可信計算平臺信任鏈測試[J].計算機學報,2009,32(4):635-645.
[11]李夢君,李舟軍,陳火旺.基于進程代數(shù)安全協(xié)議驗證的研究綜述[J].計算機研究與發(fā)展,2004,41(7):1093-1103.