国产在线导航,欧美日本中文,黄色在线观看网站永久免费乱码,chinese国产在线视频,亚洲欧洲第一视频,天天做人人爱夜夜爽2020毛片,亚洲欧美中文字幕在线网站

現(xiàn)在位置:范文先生網(wǎng)>理工論文>電子通信論文>硬件密碼組件與軟件密碼組件的比較研究

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

時(shí)間:2023-02-21 00:02:15 電子通信論文 我要投稿
  • 相關(guān)推薦

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

摘要:密碼技術(shù)是解決信息安全問題的核心技術(shù)。密碼技術(shù)的運(yùn)用可以基于軟件密碼組件或硬件密碼組件。硬件密碼組件在自身安全性和實(shí)現(xiàn)安全功能方面比軟件密碼組件更具優(yōu)勢(shì)。本文論述硬件密碼組件的數(shù)學(xué)模型、系統(tǒng)結(jié)構(gòu)、硬件結(jié)構(gòu),并比較硬件密碼組件與軟件密碼組件的優(yōu)劣。
  關(guān)鍵詞:密碼硬件密碼組件軟件密碼組件
  
  引言
  
  1硬件密碼組件的概念
  
  密碼技術(shù)是解決信息安全問題的核心技術(shù)。要實(shí)現(xiàn)信息的保密性、完整性、可控性和不可否認(rèn)性等安全要求,都離不開密碼技術(shù)的運(yùn)用。在具體a的信息安全系統(tǒng)中,密碼技術(shù)的運(yùn)用可以基于軟件密碼組件(簡(jiǎn)稱為SCM)或硬件密碼組件(簡(jiǎn)稱為HCM)來實(shí)現(xiàn)。HCM從本質(zhì)上來說是一個(gè)包含某些敏感信息,能自主完成特定功能的黑盒子;外界不能訪問其中的敏感信息,亦不能干予其中正在執(zhí)行或即將執(zhí)行的運(yùn)算任務(wù)。黑盒子可以通過嚴(yán)格定義的接口和外界進(jìn)行交互,接口在黑盒子的完全控制之下。任何企圖通過物理手段探測(cè)黑盒子內(nèi)部的行為都將導(dǎo)致其中敏感信息的完全清除。
  
  從抽象角度,可以用如下方式描述HCM。
  
  符號(hào)和定義:
  
  X——敏感信息,其明文不能以任何形式出現(xiàn)在HCM之外;
  
  E(X)——敏感信息X的秘文;
  
  Fi(X,Y)——HCM用其保存的敏感信息X和外界輸入的信息Y完成某項(xiàng)功能,如簽名、加密和解密等其它特定功能。HCM的N項(xiàng)功能可以用集合{Fi(X,Y)|1≤i≤N}表示。
  
  Ui——某個(gè)HCM的用戶,其全部M個(gè)用戶可以用集合{Ui|1≤i≤M}表示。
  
  Zij——表示用戶Ui對(duì)HCM的功能Fj(X,Y)的權(quán)限信息。Zij=0表示用戶沒有權(quán)限,Zij=1表示用戶擁有權(quán)限。
  
  則HCM可用一個(gè)五元函數(shù)G(E(X),Y,F(xiàn)j,Ui,Zij)表示,其定義如下:
  
  
  
  從應(yīng)用角度來看,HCM是一個(gè)由軟硬件組成的安全計(jì)算系統(tǒng),其系統(tǒng)結(jié)構(gòu)如圖1所示。整個(gè)HCM總體上可以分為兩大部分,即軟件部分和硬件部分。在形式上,硬件部分體現(xiàn)為一個(gè)硬件實(shí)體,而軟件部分則是與此硬件實(shí)體相配套的驅(qū)動(dòng)程序、動(dòng)態(tài)庫等軟件包。硬件部分進(jìn)一步可細(xì)分為底層硬件電路、初始引導(dǎo)固件、操作系統(tǒng)或控制程序固件、密碼算法庫、內(nèi)部功能固件等幾部分。軟件部分由接口驅(qū)動(dòng)系統(tǒng)、用戶應(yīng)用編程接口和標(biāo)準(zhǔn)應(yīng)用編程接口組成。其中標(biāo)準(zhǔn)應(yīng)用編程接口是指按照某些業(yè)界接口標(biāo)準(zhǔn),如PKCS#11、CSP等進(jìn)一步對(duì)用戶應(yīng)用編程接口進(jìn)行封裝,以方便上層應(yīng)用系統(tǒng)的調(diào)用。標(biāo)準(zhǔn)應(yīng)用編程接口并非所有HCM所必需,所以用虛框表示。
  
  2硬件密碼組件與軟件密碼組件的對(duì)比
  
  軟件密碼組件是指密碼技術(shù)的軟件實(shí)現(xiàn)。與HCM比較,SCM開發(fā)周期短,開發(fā)成本低,使用維護(hù)方便,這是其優(yōu)點(diǎn)。但在自身安全性和實(shí)現(xiàn)安全功能方面,HCM則具有優(yōu)勢(shì),這主要體現(xiàn)在以下幾個(gè)方面。
  
  (1)完整性保護(hù)
  
  HCM的完整性和運(yùn)行時(shí)的保密性可以得到很好的保證,而SCM的完整性和運(yùn)行時(shí)的保密性則很難得到保證。HCM由硬件和硬件之上的固件組成,硬件中的密碼算法芯片一般采用反熔絲的FPGA或ASIC實(shí)現(xiàn),難以破讀或更改。固件則通過燒錄器寫入到Flash芯片,不能非法改寫。另外,HCM中的RAM空間由其專用,外部程序不能對(duì)其進(jìn)行訪問;SCM一般保存在計(jì)算機(jī)的硬盤上,運(yùn)行時(shí)調(diào)入系統(tǒng)內(nèi)存運(yùn)行。由于計(jì)算機(jī)系統(tǒng)本身的安全性不高,因此硬盤上或內(nèi)存中的SCM都可能被攻擊者、病毒程序或黑客程序篡改。另外,SCM運(yùn)行時(shí)占用的內(nèi)存空間雖然受到操作系統(tǒng)的保護(hù),但不能保證其不被其它進(jìn)程訪問,這樣SCM運(yùn)行時(shí)所需的敏感信息或運(yùn)行中產(chǎn)生的敏感信息就可能泄露。
  
  (2)對(duì)商用操作系統(tǒng)安全性的依賴
  
  SCM運(yùn)行時(shí)需要操作系統(tǒng)提供的支持,而HCM本身構(gòu)成了完整的運(yùn)行環(huán)境,無需依賴操作系統(tǒng)等其它外部支持。由于操作系統(tǒng)往往存在某些漏洞,這些漏洞若被攻擊者利用,就可能會(huì)給SCM帶來嚴(yán)重的安全問題。
  
  (3)抵抗能量分析攻擊
  
  進(jìn)行密碼運(yùn)算時(shí)總要消耗運(yùn)算設(shè)備一定的能量,攻擊者通過收集能量值,就可能計(jì)算出密碼運(yùn)算時(shí)所采用的密鑰值。特別是在進(jìn)行運(yùn)算量很大的RSA簽名時(shí),這種基于能量的攻擊更容易得到簽名私鑰。SCM對(duì)于這種攻擊是脆弱的;而HCM則可以通過特別措施來防止攻擊者收集能量值,從而抵御能量攻擊。
  
  (4)種子密鑰的保存
  
  安全的保存種子密鑰對(duì)SCM是非常困難的。種子密鑰需要長(zhǎng)期保存,對(duì)整個(gè)系統(tǒng)安全至關(guān)重要。對(duì)于SCM來說,種子密鑰只能保存在計(jì)算機(jī)的硬盤上,顯然保存種子密鑰的明文是非常不安全的。一般采用的辦法是通過一個(gè)口令加密種子密鑰,然后保存種子密鑰的密文。每當(dāng)用戶使用種子密鑰時(shí),需要輸入口令。但這樣亦是不安全的,首先這就要求有用戶在場(chǎng),才可使用種子密鑰,否則就不能使用。其次用戶往往會(huì)選擇容易記憶的簡(jiǎn)單口令,這使其容易被攻擊者猜測(cè)。
  
  
  
  
  
  (5)安全地進(jìn)行密碼操作
  
  在HCM中可以安全地進(jìn)行密鑰生成(公鑰密鑰對(duì)、會(huì)話密鑰)、加密、解密、簽名等操作,同時(shí)保證加解密密鑰和簽名私鑰的安全性;而在SCM中進(jìn)行這些操作時(shí),則存在泄露這些密鑰的可能性。
  
  (6)密碼算法實(shí)現(xiàn)的效率
  
  在HCM中通過專用的密碼運(yùn)算器,如公鑰協(xié)處理器和專用對(duì)稱算法芯片可以大大提高對(duì)稱算法和非對(duì)稱算法的運(yùn)算速度;而SCM密碼運(yùn)算的速度則依賴于計(jì)算機(jī)系統(tǒng)的效率。這使得目前SCM中密碼算法的運(yùn)算速度往往低于HCM的實(shí)現(xiàn)速度。
  
  (7)逆向工程攻擊
  
  SCM保存在計(jì)算機(jī)硬盤或內(nèi)存中,而一般的計(jì)算機(jī)對(duì)硬盤和內(nèi)存的保護(hù)是非常脆弱的,因此它容易受到逆向工程攻擊。
  
  SCM的基本組成如圖2所示。SCM用到的數(shù)據(jù)包括敏感數(shù)據(jù)和一般數(shù)據(jù)。敏感數(shù)據(jù)是指密鑰、用戶PIN碼等數(shù)據(jù)。SCM的程序邏輯可分為密碼算法(對(duì)稱和非對(duì)稱的)、密碼協(xié)議(例如SSL、IPSEC等)以及其它程序控制邏輯。利用逆向工程的工具和技術(shù),攻擊者可以監(jiān)控程序的輸入和輸出,從而獲得用戶口令等敏感信息;其次攻擊者還可以掃描程序數(shù)據(jù)區(qū),得到密鑰、口令信息;另外攻擊者對(duì)程序的運(yùn)行邏輯進(jìn)行跟蹤,可以得到密碼算法和密碼協(xié)議的運(yùn)行軌跡,特別是如果算法和協(xié)議不是公開的,而是保密的,這時(shí)攻擊者可以得到重要信息。而且攻擊者還可以進(jìn)一步修改軟件執(zhí)行邏輯,制造“后門”。
  
  逆向工程工具可以分為兩大類:第一類是為獲得程序的運(yùn)行邏輯,反匯編、反編譯工具屬于此類;第二類是為獲得程序?qū)崟r(shí)的運(yùn)行信息,仿真、調(diào)試工具屬于此類。IDAPro是目前最有效的反匯編工具。它可以自動(dòng)對(duì)目標(biāo)代碼進(jìn)行分析,自動(dòng)檢測(cè)Win32API功能調(diào)用,并能建立這些調(diào)用之間的關(guān)聯(lián)。IDAPro還能以交互方式運(yùn)行,攻擊者可以告訴IDAPro某些程序片斷是帶何種參數(shù)的API調(diào)用,從而提高IDAPro的分析能力。另外IDAPro還有腳本語言,攻擊者可以用該語言編寫能夠進(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)試。MicrosoftVisualStudio亦提供了功能強(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í)效性問題,這主要有兩方面的含義。
  
 、俦WC信息的時(shí)效性。對(duì)于像商業(yè)情報(bào)、專利發(fā)明等對(duì)時(shí)間敏感的信息,通過申請(qǐng)時(shí)間戳,可以證明你在某一時(shí)刻擁有這一信息。
  
 、诒WC操作有時(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)效電池作為后備電源。
  
  HCM在物理上主要從以下幾個(gè)方面區(qū)別于一般的硬件系統(tǒng)。
  
 、貶CM內(nèi)部有安全存儲(chǔ)部件,其中保存敏感信息,這些信息不會(huì)以任何形式出現(xiàn)在HCM外部。安全存儲(chǔ)部件只能由HCM自己訪問,其它任何形式的訪問都會(huì)導(dǎo)致所有敏感信息的完全清除。普通的硬件系統(tǒng)沒有這樣的安全存儲(chǔ)部件。
  
 、贖CM有物理安全邊界,它可以阻斷對(duì)HCM的物理攻擊。普通的硬件系統(tǒng)沒有這樣的密封裝置,攻擊者可以對(duì)其中的信號(hào)進(jìn)行多種形式的探測(cè)。
  
 、墼诿艽a算法和協(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é)果。
  
 、赨SB接口:HCM對(duì)操作員身份進(jìn)行驗(yàn)證時(shí),操作員將標(biāo)識(shí)其身份的USB電子TOKEN插入U(xiǎn)SB接口,即提供操作員身份認(rèn)證的物理通道。
  
 、垡蕴W(wǎng)接口:通過該接口,可以在網(wǎng)絡(luò)上對(duì)HCM進(jìn)行遠(yuǎn)程配置和管理。另外,還可以向遠(yuǎn)端用戶提供密碼服務(wù)。
  
 、躌S232接口:通過該接口可以對(duì)HCM進(jìn)行本地配置和管理。
  
  結(jié)語
  
  硬件密碼組件是信息安全系統(tǒng)的核心部件,是嵌入式硬件設(shè)計(jì)技術(shù)與密碼理論結(jié)合的成果。目前國內(nèi)的硬件密碼組件設(shè)計(jì)技術(shù)與國外相比還有差距,這為商用嵌入式系統(tǒng)的研發(fā)廠商進(jìn)入信息安全領(lǐng)域提供了良好的機(jī)遇。希望本文能對(duì)此起到拋磚引玉的作用。
  
  
  
  

【硬件密碼組件與軟件密碼組件的比較研究】相關(guān)文章:

ZF型換相組件的應(yīng)用08-06

COM組件技術(shù)在現(xiàn)場(chǎng)總線控制系統(tǒng)組態(tài)軟件中的應(yīng)用08-06

夏的密碼08-10

密碼的作文12-19

《密碼》作文05-11

“密碼”作文06-10

基于組件的三維CAD系統(tǒng)開發(fā)的關(guān)鍵技術(shù)研究08-06

利用TDC組件實(shí)現(xiàn)對(duì)WEB頁面的交互操作08-06

記憶密碼作文07-21