<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 安全與國防 > 硬件密碼組件與軟件密碼組件的比較研究

硬件密碼組件與軟件密碼組件的比較研究

——
作者:北京郵電大學(xué) 秦小龍 時(shí)間:2007-09-06 來(lái)源:?jiǎn)纹瑱C及嵌入式系統應用 收藏

  摘要:技術(shù)是解決信息安全問(wèn)題的核心技術(shù)。技術(shù)的運用可以基于軟件組件或。在自身安全性和實(shí)現安全功能方面比更具優(yōu)勢。本文論述的數學(xué)模型、系統結構、硬件結構,并比較硬件密碼組件與的優(yōu)劣。

    關(guān)鍵詞:密碼 硬件密碼組件

引 言

1 硬件密碼組件的概念

  密碼技術(shù)是解決信息安全問(wèn)題的核心技術(shù)。要實(shí)現信息的保密性、完整性、可控性和不可否認性等安全要求,都離不開(kāi)密碼技術(shù)的運用。在具體的信息安全系統中,密碼技術(shù)的運用可以基于軟件密碼組件(簡(jiǎn)稱(chēng)為SCM)或硬件密碼組件(簡(jiǎn)稱(chēng)為HCM)來(lái)實(shí)現。HCM從本質(zhì)上來(lái)說(shuō)是一個(gè)包含某些敏感信息,能自主完成特定功能的黑盒子;外界不能訪(fǎng)問(wèn)其中的敏感信息,亦不能干予其中正在執行或即將執行的運算任務(wù)。黑盒子可以通過(guò)嚴格定義的接口和外界進(jìn)行交互,接口在黑盒子的完全控制之下。任何企圖通過(guò)物理手段探測黑盒子內部的行為都將導致其中敏感信息的完全清除。

   從抽象角度,可以用如下方式描述HCM。

  符號和定義:

  X——敏感信息,其明文不能以任何形式出現在HCM之外;

  E(X)——敏感信息X的秘文;

  Fi(X,Y)——HCM用其保存的敏感信息X和外界輸入的信息Y完成某項功能,如簽名、加密和解密等其它特定功能。HCM的N項功能可以用集合{ Fi(X,Y)|1≤i≤N }表示。

  Ui——某個(gè)HCM的用戶(hù),其全部M個(gè)用戶(hù)可以用集合{ Ui |1≤i≤M }表示。

  Zij——表示用戶(hù)Ui對HCM的功能Fj(X,Y)的權限信息。Zij=0表示用戶(hù)沒(méi)有權限,Zij=1表示用戶(hù)擁有權限。

  則HCM可用一個(gè)五元函數G(E(X),Y,Fj,Ui,Zij)表示,其定義如下:

  從應用角度來(lái)看,HCM是一個(gè)由軟硬件組成的安全計算系統,其系統結構如圖1所示。整個(gè)HCM總體上可以分為兩大部分,即軟件部分和硬件部分。在形式上,硬件部分體現為一個(gè)硬件實(shí)體,而軟件部分則是與此硬件實(shí)體相配套的驅動(dòng)程序、動(dòng)態(tài)庫等軟件包。硬件部分進(jìn)一步可細分為底層硬件電路、初始引導固件、操作系統或控制程序固件、密碼算法庫、內部功能固件等幾部分。軟件部分由接口驅動(dòng)系統、用戶(hù)應用編程接口和標準應用編程接口組成。其中標準應用編程接口是指按照某些業(yè)界接口標準,如PKCS#11、CSP等進(jìn)一步對用戶(hù)應用編程接口進(jìn)行封裝,以方便上層應用系統的調用。標準應用編程接口并非所有HCM所必需,所以用虛框表示。

2 硬件密碼組件與軟件密碼組件的對比

  軟件密碼組件是指密碼技術(shù)的軟件實(shí)現。與HCM比較,SCM開(kāi)發(fā)周期短,開(kāi)發(fā)成本低,使用維護方便,這是其優(yōu)點(diǎn)。但在自身安全性和實(shí)現安全功能方面,HCM則具有優(yōu)勢,這主要體現在以下幾個(gè)方面。

    (1)完整性保護

  HCM的完整性和運行時(shí)的保密性可以得到很好的保證,而SCM的完整性和運行時(shí)的保密性則很難得到保證。HCM由硬件和硬件之上的固件組成,硬件中的密碼算法芯片一般采用反熔絲的FPGA或ASIC實(shí)現,難以破讀或更改。固件則通過(guò)燒錄器寫(xiě)入到Flash芯片,不能非法改寫(xiě)。另外,HCM中的RAM空間由其專(zhuān)用,外部程序不能對其進(jìn)行訪(fǎng)問(wèn);SCM一般保存在計算機的硬盤(pán)上,運行時(shí)調入系統內存運行。由于計算機系統本身的安全性不高,因此硬盤(pán)上或內存中的SCM都可能被攻擊者、病毒程序或黑客程序篡改。另外,SCM運行時(shí)占用的內存空間雖然受到操作系統的保護,但不能保證其不被其它進(jìn)程訪(fǎng)問(wèn),這樣SCM運行時(shí)所需的敏感信息或運行中產(chǎn)生的敏感信息就可能泄露。

    (2)對商用操作系統安全性的依賴(lài)

  SCM運行時(shí)需要操作系統提供的支持,而HCM本身構成了完整的運行環(huán)境,無(wú)需依賴(lài)操作系統等其它外部支持。由于操作系統往往存在某些漏洞,這些漏洞若被攻擊者利用,就可能會(huì )給SCM帶來(lái)嚴重的安全問(wèn)題。

    (3)抵抗能量分析攻擊

  進(jìn)行密碼運算時(shí)總要消耗運算設備一定的能量,攻擊者通過(guò)收集能量值,就可能計算出密碼運算時(shí)所采用的密鑰值。特別是在進(jìn)行運算量很大的RSA簽名時(shí),這種基于能量的攻擊更容易得到簽名私鑰。SCM對于這種攻擊是脆弱的;而HCM則可以通過(guò)特別措施來(lái)防止攻擊者收集能量值,從而抵御能量攻擊。

    (4)種子密鑰的保存

  安全的保存種子密鑰對SCM是非常困難的。種子密鑰需要長(cháng)期保存,對整個(gè)系統安全至關(guān)重要。對于SCM來(lái)說(shuō),種子密鑰只能保存在計算機的硬盤(pán)上,顯然保存種子密鑰的明文是非常不安全的。一般采用的辦法是通過(guò)一個(gè)口令加密種子密鑰,然后保存種子密鑰的密文。每當用戶(hù)使用種子密鑰時(shí),需要輸入口令。但這樣亦是不安全的,首先這就要求有用戶(hù)在場(chǎng),才可使用種子密鑰,否則就不能使用。其次用戶(hù)往往會(huì )選擇容易記憶的簡(jiǎn)單口令,這使其容易被攻擊者猜測。

    (5)安全地進(jìn)行密碼操作

  在HCM中可以安全地進(jìn)行密鑰生成(公鑰密鑰對、會(huì )話(huà)密鑰)、加密、解密、簽名等操作,同時(shí)保證加解密密鑰和簽名私鑰的安全性;而在SCM中進(jìn)行這些操作時(shí),則存在泄露這些密鑰的可能性。

    (6)密碼算法實(shí)現的效率

  在HCM中通過(guò)專(zhuān)用的密碼運算器,如公鑰協(xié)處理器和專(zhuān)用對稱(chēng)算法芯片可以大大提高對稱(chēng)算法和非對稱(chēng)算法的運算速度;而SCM密碼運算的速度則依賴(lài)于計算機系統的效率。這使得目前SCM中密碼算法的運算速度往往低于HCM的實(shí)現速度。

    (7)逆向工程攻擊

  SCM保存在計算機硬盤(pán)或內存中,而一般的計算機對硬盤(pán)和內存的保護是非常脆弱的,因此它容易受到逆向工程攻擊。

  SCM的基本組成如圖2所示。SCM用到的數據包括敏感數據和一般數據。敏感數據是指密鑰、用戶(hù)PIN碼等數據。SCM的程序邏輯可分為密碼算法(對稱(chēng)和非對稱(chēng)的)、密碼協(xié)議(例如SSL、IPSEC等)以及其它程序控制邏輯。利用逆向工程的工具和技術(shù),攻擊者可以監控程序的輸入和輸出,從而獲得用戶(hù)口令等敏感信息;其次攻擊者還可以?huà)呙璩绦驍祿^,得到密鑰、口令信息;另外攻擊者對程序的運行邏輯進(jìn)行跟蹤,可以得到密碼算法和密碼協(xié)議的運行軌跡,特別是如果算法和協(xié)議不是公開(kāi)的,而是保密的,這時(shí)攻擊者可以得到重要信息。而且攻擊者還可以進(jìn)一步修改軟件執行邏輯,制造“后門(mén)”。

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

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

    (8)密鑰的隨機性保證

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

    (9)物理暴露與密封

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

    (10)備份與災難恢復

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

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

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

 ?、?保證信息的時(shí)效性。對于像商業(yè)情報、專(zhuān)利發(fā)明等對時(shí)間敏感的信息,通過(guò)申請時(shí)間戳,可以證明你在某一時(shí)刻擁有這一信息。

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

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

3 硬件密碼組件的硬件結構

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

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

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

 ?、?HCM有物理安全邊界,它可以阻斷對HCM的物理攻擊。普通的硬件系統沒(méi)有這樣的密封裝置,攻擊者可以對其中的信號進(jìn)行多種形式的探測。

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

 ?、?為了獲得較高的密碼運算效率,HCM內部往往有專(zhuān)門(mén)的密碼運算協(xié)處理器。普通的硬件系統主要通過(guò)軟件實(shí)現各種密碼算法和協(xié)議,其效率主要依賴(lài)于系統CPU性能。

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

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

 ?、?USB接口:HCM對操作員身份進(jìn)行驗證時(shí),操作員將標識其身份的USB電子TOKEN插入USB接口,即提供操作員身份認證的物理通道。

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

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

結 語(yǔ)

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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>