機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
硬件密碼組件與軟件密碼組件的比較研究
硬件密碼組件與軟件密碼組件的比較研究
 更新時(shí)間:2008-8-18 10:09:02  點(diǎn)擊數(shù):24
【字體: 字體顏色

圖2  SCM的基本組成

  逆向工程工具可以分為兩大類:第一類是為獲得程序的運(yùn)行邏輯,反匯編、反編譯工具屬于此類;第二類是為獲得程序?qū)崟r(shí)的運(yùn)行信息,仿真、調(diào)試工具屬于此類。IDA Pro是目前最有效的反匯編工具。它可以自動(dòng)對(duì)目標(biāo)代碼進(jìn)行分析,自動(dòng)檢測(cè)Win32 API功能調(diào)用,并能建立這些調(diào)用之間的關(guān)聯(lián)。IDA Pro還能以交互方式運(yùn)行,攻擊者可以告訴IDA Pro某些程序片斷是帶何種參數(shù)的API調(diào)用,從而提高IDA Pro的分析能力。另外IDA Pro還有腳本語言,攻擊者可以用該語言編寫能夠進(jìn)行反匯編的小程序。W32Dasm是另一個(gè)著名的反匯編自由軟件,同時(shí)它是一個(gè)功能強(qiáng)大的調(diào)試器,可以獲取程序運(yùn)行的實(shí)時(shí)信息。Java是目前最流行的網(wǎng)絡(luò)編程語言,Java源代碼經(jīng)過匯編成為Java字節(jié)代碼。這種代碼不同于一般的匯編代碼,它具有唯一性,獨(dú)立于底層的處理器。這就意味著Java源代碼和Java字節(jié)代碼之間幾乎存在著一一對(duì)應(yīng)的關(guān)系,所以Java類文件可以很容易反編譯成Java源文件。互聯(lián)網(wǎng)上有很多專門完成這項(xiàng)功能的工具軟件。另一個(gè)類C反編譯工具是REC,它可以輸出可讀性較好、容易理解的反編譯結(jié)果。

  利用仿真、調(diào)試工具可以建立軟件的模擬運(yùn)行環(huán)境,在這個(gè)環(huán)境中通過實(shí)時(shí)觀察各種變量、內(nèi)存和寄存器的變化情況,從而獲得較為準(zhǔn)確的程序運(yùn)行信息。最著名的調(diào)試工具是SoftICE。利用該軟件對(duì)在操作系統(tǒng)內(nèi)核層運(yùn)行的驅(qū)動(dòng)程序都可以進(jìn)行跟蹤調(diào)試。Microsoft Visual Studio亦提供了功能強(qiáng)大的調(diào)試環(huán)境,不過它主要是對(duì)在操作系統(tǒng)用戶層運(yùn)行的程序進(jìn)行仿真跟蹤。

(8)  密鑰的隨機(jī)性保證

  在HCM一般都有物理噪聲源,可以產(chǎn)生真隨機(jī)數(shù),以此為種子可以產(chǎn)生高質(zhì)量的隨機(jī)大素?cái)?shù)、公鑰密鑰對(duì)和會(huì)話密鑰;而在SCM中沒有物理噪聲源,只有取系統(tǒng)時(shí)鐘、用戶擊鍵頻率等作為隨機(jī)因素,由此生成的公鑰密鑰對(duì)和會(huì)話密鑰的隨機(jī)性很難保證。

(9)  物理暴露與密封

  普通的計(jì)算機(jī)在物理上是暴露的,攻擊者可以輕易地進(jìn)行系統(tǒng)重啟、修改硬盤文件,安裝黑客軟件等攻擊操作。甚至攻擊者還可以將整臺(tái)機(jī)器“盜走”,據(jù)為已有。另外,普通計(jì)算機(jī)上的系統(tǒng)主板等電路沒有防護(hù)措施,攻擊者可以利用邏輯分析儀等其它工具對(duì)印刷電路板上的芯片進(jìn)行偵測(cè)、記錄。當(dāng)密鑰在芯片之間傳遞時(shí)就可能被攻擊者獲取。而HCM有物理防護(hù)措施,其關(guān)鍵電路在物理上被密封,避免被攻擊者探測(cè)。如果強(qiáng)行打開物理密封,則會(huì)導(dǎo)致系統(tǒng)自毀或敏感數(shù)據(jù)完全清除,從而保證了HCM在物理攻擊下的安全性。

(10)  備份與災(zāi)難恢復(fù)

  對(duì)于重要的信息系統(tǒng),備份與災(zāi)難恢復(fù)機(jī)制是必不可少的。這就需要把關(guān)鍵數(shù)據(jù)復(fù)制,分散保存在不同地方。但如何保障這些數(shù)據(jù)不被竊取、修改和盜用呢?單單利用SCM不能很好地解決這個(gè)問題,而采用HCM則可構(gòu)建安全可靠的數(shù)據(jù)備份與恢復(fù)系統(tǒng)。

(11)  可靠的時(shí)間戳服務(wù)

  時(shí)間戳在密碼系統(tǒng)中的應(yīng)用越來越廣,最初使用時(shí)間戳是用來保證認(rèn)證和密鑰協(xié)商協(xié)議中傳遞消息的新鮮性。目前隨著網(wǎng)上電子商務(wù)的不斷發(fā)展,在傳統(tǒng)信息的保密性、身份的真實(shí)性、內(nèi)容的完整性和數(shù)據(jù)的不可抵賴性等安全要求之外,還要解決信息的時(shí)效性問題,這主要有兩方面的含義。

  ①  保證信息的時(shí)效性。對(duì)于像商業(yè)情報(bào)、專利發(fā)明等對(duì)時(shí)間敏感的信息,通過申請(qǐng)時(shí)間戳,可以證明你在某一時(shí)刻擁有這一信息。

 、  保證操作有時(shí)效性。對(duì)于像竟標(biāo)、竟拍等對(duì)時(shí)間敏感的活動(dòng),通過申請(qǐng)時(shí)間戳,可以證明你在某一時(shí)刻完成了這項(xiàng)活動(dòng)。

  在HCM中可以包含精確的時(shí)鐘部件,它可以獨(dú)立可靠地為系統(tǒng)提供準(zhǔn)確時(shí)間信息。而SCM本身不能產(chǎn)生時(shí)間信息,只能取計(jì)算機(jī)的系統(tǒng)時(shí)間,顯然這是不可靠的;或者從專門的時(shí)間提供系統(tǒng)獲取時(shí)間信息。

3  硬件密碼組件的硬件結(jié)構(gòu)

  典型的硬件密碼組件結(jié)構(gòu)如圖3所示;窘M成部件由中央處理器與外圍接口、隨機(jī)存儲(chǔ)器、Flash、BBRAM、硬件隨機(jī)數(shù)發(fā)生器、密碼運(yùn)算協(xié)處理器、實(shí)時(shí)時(shí)鐘、總線接口等組成。其中Flash保存所有固件和部分加密敏感信息,BBRAM作為安全存儲(chǔ)器保存敏感信息明文。硬件控制邏輯通過大規(guī)模的可編程邏輯陣列CPLD實(shí)現(xiàn)。另有物理安全檢測(cè)與反應(yīng)電路,負(fù)責(zé)檢測(cè)物理攻擊,并及時(shí)向中央處理器發(fā)出攻擊反應(yīng)觸發(fā)信號(hào)。以上部件包含在硬件安全邊界之內(nèi),通過加裝物理密封層保證整個(gè)系統(tǒng)的物理安全性。在安全邊界之外有長(zhǎng)效電池作為后備電源。


圖3  HCM的典型硬件結(jié)構(gòu)

  HCM在物理上主要從以下幾個(gè)方面區(qū)別于一般的硬件系統(tǒng)。

 、  HCM內(nèi)部有安全存儲(chǔ)部件,其中保存敏感信息,這些信息不會(huì)以任何形式出現(xiàn)在HCM外部。安全存儲(chǔ)部件只能由HCM自己訪問,其它任何形式的訪問都會(huì)導(dǎo)致所有敏感信息的完全清除。普通的硬件系統(tǒng)沒有這樣的安全存儲(chǔ)部件。

  ②  HCM有物理安全邊界,它可以阻斷對(duì)HCM的物理攻擊。普通的硬件系統(tǒng)沒有這樣的密封裝置,攻擊者可以對(duì)其中的信號(hào)進(jìn)行多種形式的探測(cè)。

 、  在密碼算法和協(xié)議本身沒有安全漏洞的前提下,其安全性主要取決于密鑰的長(zhǎng)度和隨機(jī)性。密鑰的長(zhǎng)度可以提前確定,如1024位或更高的2048位的RSA密鑰,128位的對(duì)稱算法密鑰;而要生成具有高度隨機(jī)性的密鑰就必須有安全的隨機(jī)信源。因此HCM中必須有硬件隨機(jī)數(shù)發(fā)生器,為系統(tǒng)提供真隨機(jī)數(shù)。普通的硬件系統(tǒng)一般沒有專門的硬件隨機(jī)數(shù)發(fā)生器。

  ④  為了獲得較高的密碼運(yùn)算效率,HCM內(nèi)部往往有專門的密碼運(yùn)算協(xié)處理器。普通的硬件系統(tǒng)主要通過軟件實(shí)現(xiàn)各種密碼算法和協(xié)議,其效率主要依賴于系統(tǒng)CPU性能。

  為了增加安全性,HCM往往會(huì)有多個(gè)物理接口和外界通信,每個(gè)接口完成特定的功能。例如,具有PCI接口、USB接口、以太網(wǎng)接口和RS232接口的HCM,其每個(gè)接口分別完成以下功能。

 、  PCI接口:向上層用戶提供HCM的各種密碼服務(wù)功能,如加密、解密、簽名、驗(yàn)證或其它特定應(yīng)用執(zhí)行結(jié)果。

  ②  USB接口:HCM對(duì)操作員身份進(jìn)行驗(yàn)證時(shí),操作員將標(biāo)識(shí)其身份的USB電子TOKEN插入U(xiǎn)SB接口,即提供操作員身份認(rèn)證的物理通道。

  ③  以太網(wǎng)接口:通過該接口,可以在網(wǎng)絡(luò)上對(duì)HCM進(jìn)行遠(yuǎn)程配置和管理。另外,還可以向遠(yuǎn)端用戶提供密碼服務(wù)。

 、  RS232接口:通過該接口可以對(duì)HCM進(jìn)行本地配置和管理。

結(jié)語

  硬件密碼組件是信息安全系統(tǒng)的核心部件,是嵌入式硬件設(shè)計(jì)技術(shù)與密碼理論結(jié)合的成果。目前國(guó)內(nèi)的硬件密碼組件設(shè)計(jì)技術(shù)與國(guó)外相比還有差距,這為商用嵌入式系統(tǒng)的研發(fā)廠商進(jìn)入信息安全領(lǐng)域提供了良好的機(jī)遇。希望本文能對(duì)此起到拋磚引玉的作用。

參考文獻(xiàn)

1  Smith S. Secure Coprocessing Applications and Research Issues. Los Alamos Unclassified Release LAUR -96-2805, Los Alamos National Laboratory. August 1996
2  A. J. Menezes, P. C. van Oorschot, S. A. Vanstone, Handbook of Applied Cryptography, CRC Press, Boca Raton, 1997

秦小龍  博士,主要研究方向?yàn)槊艽a學(xué)與信息安全。

  • 上一篇: 設(shè)備驅(qū)動(dòng)程序通知應(yīng)用程序的幾種方法
  • 下一篇: 基于8051內(nèi)核SoC的模擬驗(yàn)證與仿真
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1