中文字幕在线亚洲_少妇一级婬片免费放_少妇高潮无码自拍_男人和女人免费视频大全播放_久久人妻内射无码一区三区

歡迎您訪問鄭州興邦電子股份有限公司官方網站!
阿里巴巴誠信通企業
全國咨詢熱線:40000-63966
興邦電子,中國水控機第一品牌

聯系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區蓮花街電子電器產業園

一種基于智能卡的可信監視器程序實現方法

文章出處:http://hz-huyue.com 作者:涂國慶   人氣: 發表時間:2011年10月07日

[文章內容簡介]:智能卡的安全機制存在篡改存儲數據或代碼、拒絕服務攻擊、重新編程等安全問題,其根源在于卡的合法應用環境發生了改變、正常應用操作序列發生了錯亂或模仿。針對上述問題,結合智能卡應用與可信計算技術,提出一種對智能卡計算環境可信和行為可信的驗證方法。通過智能卡COS 的開發實現該可信增強的技術。該方法可提高金融卡應用的可信度。

    1 概述

    1.1 智能卡簡介

    智能卡(Smart Card)又名IC 卡(Integrated Circuit Card),具有暫時或永久的數據存儲能力以及加密及數據處理能力。由于CPU 卡中的集成電路包括CPU、EEPROM、隨機存儲器RAM以及固化的只讀存儲器ROM中的片內操作系統(COS),因此構成了一個完整的計算機系統。COS 建立在CPU、存儲器等硬件之上,是管理芯片資源和實現安全保密的操作系統。它的主要功能是:控制智能卡和外界的信息交換,管理智能卡內的存儲器,在卡內部完成各種命令的處理。COS 系統由傳輸管理、文件管理、安全管理、命令解釋4 個功能模塊及加密算法庫組成。

    1.2 監視器程序

    智能卡系統由于具有成本敏感、資源有限、人機交互頻繁等特點,在應用時更容易受到物理和邏輯攻擊[2-3],其攻擊的防范重點往往要從指令行為的監控上進行考慮。因此,文獻提出了一種監視器子系統,其結構如圖1 所示。 

嵌入式系統的監視器子系統

    該系統通過對靜態二進制代碼進行分析,形成所有可能期望的指令序列路徑圖或狀態轉換圖,由監視器子系統保存。在運行時,所有提交的指令系列都必須與預存的路徑圖比較,依據比較結果,可判斷是否有非法操作系列存在,同時即可判斷是否有攻擊產生。一旦監視到這種情況發生,監視器就引起中斷,終止當前處理器的指令執行過程,同時采取相應恢復措施??梢?,只有按照一種期望的方式執行指令,才是合法指令流,這與可信計算理念是一致的。

    2 可信增強的COS 設計方法

    本文從金融應用的智能卡COS 架構進行安全改造,構筑一條包含軟信任根的可信鏈,并通過該可信鏈實現對智能卡COS 平臺環境和COS 操作指令行為的可信驗證,以達到可信增強的目的。由于卡片資源有限,同時考慮到實際應用的通用性和成本,因此不專門向卡中增加額外的硬件芯片或電路,而是充分利用卡片本身的資源,從軟件的角度模擬并設計出與可信計算相符的度量與存儲機制,為以后真正包含TPM 芯片的嵌入式系統的使用提供借鑒。

    2.1 軟信任根

    可信計算平臺通常包含專門的TPM 芯片,其內部包含秘密存儲和密碼計算功能,平臺的信任根源就是RTM(可信度量根),往往存放在TPM 的秘密存儲區[5],稱之為硬件形態的信任根源。

    考慮卡片的實際情況,本文提出軟信任根的概念。其思路就是將COS 內核、卡片關鍵文件以及芯片主要參數等信息的完整性值作為卡片信任鏈的信任根源,存于卡片NVM(NotVolatile Memory)的OTP 區(One Time Programming Zone),該值在卡片初始化時寫入,在其后的卡片生命周期都不能更改,稱之為軟信任根SRTM(Soft-based RTM)。本文對軟信任根的度量不是通過TPM 實現的, 而是由一種軟度量模塊STMM(Soft-based Trust Measurement Module)的代碼實現的,這種軟度量模塊代碼存放于卡片提供的NVM 的ROM 區。

    2.1.1 使用依據

    軟信任根在卡片中能夠充當信任根源的理論與實用依據在于:

    (1)卡片NVM 的OTP 區一旦寫入便不能更改,在保障物理可靠時認為足夠可信。

    (2)軟信任根在卡片本身的BOOTROM 代碼執行完后(卡片的硬件自檢完全通過后),在進入COS 核心代碼執行之前才開始度量。其目的是為了追加驗證芯片的完整性并對即將執行的COS 的完整性進行檢測,從而為其后的具體應用提供可信軟件平臺。

    (3)軟度量模塊STMM 對軟信任根SRTM 進行驗證,若驗證通過,則初始化卡片的安全狀態為某一初值S0,該狀態值與普通卡片登錄MF 的安全狀態初值不同,且將它作為由MF 切換到ADF 的狀態機中的唯一合法起始狀態(如S0->Sx)。換而言之,若由MF 切換到ADF 的狀態變換不是以S0為起點,會遭到應用中的訪問控制或者監視器程序(2.2 節)拒絕??梢姡浶湃胃尿炞C操作不可被旁路。

    2.1.2 完整性收集與度量

    軟信任根SRTM 的完整性數據來源主要和卡片本身特征以及COS 代碼有關,可選用以下參數作為軟信任根計算完整性值的數據來源:芯片唯一序列號,產品標識符,發行商標識符,制造商標識符,COS 版本號,COS 內核代碼校驗和,初次發行日期,主文件(MF)頭,軟度量模塊,監視器程序。軟信任根的完整性度量方法首先利用完整性檢測算法對上述選定的參數或數據文件進行校驗,將校驗值編號并在初始化卡片時寫入OTP 區。當卡片上電進入COS 應用之前,重復上面的過程,并得到新的校驗值。將這2 組校驗值逐一進行比較,如果結果一致,則系統環境安全、核心文件完整;若不一致,說明系統核心文件有可能被非法篡改和破壞,或者進行了非法移植。該檢測過程主要是監控系統環境和核心文件的數據信息的變化,是進入COS 平臺之前的一個基本可信的驗證過程。

   2.2 信任鏈機制

   TCPA 的信任鏈往往從一個物理的可信根源CRTM 開始檢測,逐級向后傳遞系統的控制權,整個過程都離不開TPM芯片的度量、存儲和報告。本節在軟信任根的基礎上分析可信的傳遞,對應了TCPA 信任鏈的POST(上電自檢)后的階段。這一階段主要是對COS 代碼、卡片文件以及應用操作行為進行度量,而且缺乏具體的TPM 芯片,主要采用替代的軟度量模塊和監視器程序(Monitor)實現,同樣能較好地實現可信的驗證。其可行性基于以下具體因素:

    (1)代替TPM 芯片,采用NVM 中劃出的若干可信存儲區存儲可信的初值,該可信區與DDF(含MF)一一對應,對用戶來說是屏蔽和透明的,實現了TPM 芯片的秘密存儲功能。

    (2)軟度量模塊STMM 首先對軟信任根SRTM 的完整性(含STMM 自身的完整性及Monitor 的完整性)進行度量,以確定能否進入COS 平臺;其后,STMM 繼續對卡片各個應用下的應用完整性值進行度量,以確定能否進入具體的應用。這些應用完整性值主要來源于每個應用下的文件結構、應用核心代碼和可信策略表等信息,稱之為AIVM(ApplicationIntegrity Value for Measurement)。

    (3)結合基于狀態機的可信策略表檢測指令系列的可信性,實現了對操作行為的可信度量功能。 

    (4)選用具備非對稱加密協處理器、隨機數發生器、加密加速器及安全傳感器等安全組件的卡片,這些安全組件完全可以代替TPM 芯片進行相應的安全計算。 

    (5)本信任鏈雖然缺乏對系統加載之前階段的可信度量,但考慮到智能卡芯片和讀寫設備本身的安全特性及在應用時的可靠性保障措施,在COS 系統加載前,敏感信息是不可能從卡片泄漏的。

    綜上所述,含軟度量模塊的信任鏈結構見圖2 實線部分的描述,其中,STMM 是軟度量模塊;SRTM 為軟信任根;AIVM 為應用完整性值;Monitor 為監視器程序。BOOTROM為芯片啟動自檢代碼。各部分在芯片存儲器的存儲分布情況如圖3 所示。 

    結合圖2 與圖3,有3 個問題需要指出:

   (1)軟度量模塊和監視器程序在系統中唯一存在,其完整性由軟信任根度量。

   (2)軟度量模塊對每個應用下的文件結構、核心代碼、可信策略表的完整性進行校驗并檢測是否與對應的預置初值相符,以決定能否進入該應用。預置初值保存于每個應用下的可信存儲區中。

   (3)在進入應用之后,監視器程序結合該應用下的可信策略表對涉及安全狀態改變的所有指令或指令序列進行監視,以確保操作行為的可信。

    2.3 可信驗證機制

    這種可信增強的智能卡操作系統重點為行為和計算環境的可信方面提供有效的驗證手段,以保障用戶行為達到預期的目的。

    (1)計算環境可信保障:智能卡COS 的計算環境主要是指使用和執行COS 的應用環境。在上文指定了軟信任根,只有對該軟信任根中的關鍵參數進行完整性驗證后才能夠進入各具體應用,而這些參數正好反映了卡和卡操作系統的基本特征,可以認為是一種最基本的平臺計算環境。在驗證這種平臺計算環境可信之后,才能將信任傳遞給下一個可信模塊,即軟度量模塊。軟度量模塊負責對卡的所有應用進行完整性驗證,包含對應用下的文件結構、應用核心代碼以及可信策略的完整性值進行驗證,以確定能否進入該應用。這一階段實際上是對具體應用計算環境的可信認證。

   (2)行為可信保障:本文在對智能卡COS 進行安全增強時,提出一種基于狀態機的監視器程序,它與應用下的可信策略表結合,專門負責監視指令的執行過程/操作行為是否可信。該監視器的基本工作原理如圖4 所示。 

    監視器主要包含中斷輸入接口、響應輸出接口及決策模塊。其中,中斷輸入接口負責接收來自主程序(應用代碼)的可信度量請求;決策模塊進行查表,依據可信策略表的策略作出判斷,并由響應輸出接口輸出給主程序。實際上,監視器程序與主程序共用CPU 和其他資源,以中斷的方式運行,在硬件上沒有要求卡片增加任何設施,只是為了提高中斷請求速度,借用了芯片的某個安全傳感器位(稱為行為度量請求位(Action Measurement Request, AMR))來觸發監視器的中斷請求。

    監視器需要借助于可信策略表進行可信判斷,本文設計了一種實用的可信策略表,見表1。 

    在表1 中,“狀態切換”欄目列出了所有合法的安全狀態切換形式;“序列計數器”和“指令序列”分別記錄了從初始狀態變換到某一目標狀態所經過的關鍵指令步驟數和所有關鍵指令的操作碼;“目的地址”記錄了該指令序列操作中要訪問的存儲器的物理地址。COS 主程序中的安全狀態切換(如由狀態A 切換到狀態B 記為:SA→SB)觸發監視器中斷,監視器工作流程如下:

    (1)當COS 主程序中的某個指令執行引起安全狀態發生改變或切換,說明系統在執行與安全相關的操作,這時會引起安全傳感器的AMR 位置位,觸發監視器中斷,即請求監視器進行行為可信度量。

    (2)監視器接收到AMR 中斷后,開始執行行為可信度量的服務程序。首先讀取當前狀態SB 以及前一狀態SA,得到SA→SB,并由SA→SB 作為索引查找可信策略表的狀態切換欄目,如果在策略表中不能查到與SA→SB 相符的項,說明操作為非法行為,轉出錯處理;如果找到對應項,假定為第k 項,繼續下一步驟。

    (3) 監視器讀取當前序列計數器值(Sequence Counter Value, SCV),假如該值為m,監視器比較策略表中第k 項的序列計數器值,如果不符,轉出錯處理;否則繼續下一步。

    (4)監視器讀取最近的指令隊列并從該隊列中分析是否有訪存操作,若有,記訪存的物理地址PA=x,若沒有訪存操作,記PA=Null;假如隊列中最近的指令序列為Ir(I1, I2, …,In),而在策略表中的第k 項的“指令序列” 為Is(I1, I2, …, Im),若Ir(I1, I2, …, In)包含且匹配于Is(I1, I2, … , Im),轉下一步;否則,轉出錯處理。

    (5)監視器讀取策略表中第k 項的“目的地址”值,并將其與第(4)步中記錄的PA 值比較,若不相同,轉出錯處理;否則,轉下一步。

    (6)監視器清除安全傳感器的AMR 位,結束中斷服務過程,控制權移交主程序。

    另外,出錯處理的步驟包含:清除安全傳感器的AMR位,給出警告,退出系統應用,或者重啟芯片,甚至鎖定應用直至鎖定卡片。當然,這些強制處理的選擇基于用戶的安全決策機構。

    3 結束語

    智能卡操作系統的軟信任根記錄了平臺環境的靜態數據和代碼的完整性,對其進行度量很好地解決了平臺環境的可信認證。對于智能卡應用時的動態行為,即操作指令序列,采用一種監視器程序結合預存的可信行為策略對其實時監控,實現了關鍵安全行為的可信驗證,從而達到行為的可預期性。開發和測試實驗證明,該軟信任根與監視器子系統占用系統存儲空間很少,對系統性能影響不大,以較低成本達到了較好的效果。

    (文/武漢大學計算機學院,涂國慶)

本文關鍵詞:可信計算,監視器,信任鏈,智能卡
回到頂部