- 相關(guān)推薦
硬件密碼組件與軟件密碼組件的比較研究
摘要:密碼技術(shù)是解決信息安全問(wèn)題的核心技術(shù)。密碼技術(shù)的運(yùn)用可以基于軟件密碼組件或硬件密碼組件。硬件密碼組件在自身安全性和實(shí)現(xiàn)安全功能方面比軟件密碼組件更具優(yōu)勢(shì)。本文論述硬件密碼組件的數(shù)學(xué)模型、系統(tǒng)結(jié)構(gòu)、硬件結(jié)構(gòu),并比較硬件密碼組件與軟件密碼組件的優(yōu)劣。引 言
1 硬件密碼組件的概念
密碼技術(shù)是解決信息安全問(wèn)題的核心技術(shù)。要實(shí)現(xiàn)信息的保密性、完整性、可控性和不可否認(rèn)性等安全要求,都離不開(kāi)密碼技術(shù)的運(yùn)用。在具體的信息安全系統(tǒng)中,密碼技術(shù)的運(yùn)用可以基于軟件密碼組件(簡(jiǎn)稱(chēng)為SCM)或硬件密碼組件(簡(jiǎn)稱(chēng)為HCM)來(lái)實(shí)現(xiàn)。HCM從本質(zhì)上來(lái)說(shuō)是一個(gè)包含某些敏感信息,能自主完成特定功能的黑盒子;外界不能訪(fǎng)問(wèn)其中的敏感信息,亦不能干予其中正在執(zhí)行或即將執(zhí)行的運(yùn)算任務(wù)。黑盒子可以通過(guò)嚴(yán)格定義的接口和外界進(jìn)行交互,接口在黑盒子的完全控制之下。任何企圖通過(guò)物理手段探測(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的用戶(hù),其全部M個(gè)用戶(hù)可以用集合{ Ui |1≤i≤M }表示。
Zij——表示用戶(hù)Ui對(duì)HCM的功能Fj(X,Y)的權(quán)限信息。Zij=0表示用戶(hù)沒(méi)有權(quán)限,Zij=1表示用戶(hù)擁有權(quán)限。
則HCM可用一個(gè)五元函數(shù)G(E(X),Y,F(xiàn)j,Ui,Zij)表示,其定義如下:
從應(yīng)用角度來(lái)看,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)庫(kù)等軟件包。硬件部分進(jìn)一步可細(xì)分為底層硬件電路、初始引導(dǎo)固件、操作系統(tǒng)或控制程序固件、密碼算法庫(kù)、內(nèi)部功能固件等幾部分。軟件部分由接口驅(qū)動(dòng)系統(tǒng)、用戶(hù)應(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ì)用戶(hù)應(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開(kāi)發(fā)周期短,開(kāi)發(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),難以破讀或更改。固件則通過(guò)燒錄器寫(xiě)入到Flash芯片,不能非法改寫(xiě)。另外,HCM中的RAM空間由其專(zhuān)用,外部程序不能對(duì)其進(jìn)行訪(fǎng)問(wèn);SCM一般保存在計(jì)算機(jī)的硬盤(pán)上,運(yùn)行時(shí)調(diào)入系統(tǒng)內(nèi)存運(yùn)行。由于計(jì)算機(jī)系統(tǒng)本身的安全性不高,因此硬盤(pán)上或內(nèi)存中的SCM都可能被攻擊者、病毒程序或黑客程序篡改。另外,SCM運(yùn)行時(shí)占用的內(nèi)存空間雖然受到操作系統(tǒng)的保護(hù),但不能保證其不被其它進(jìn)程訪(fǎng)問(wèn),這樣SCM運(yùn)行時(shí)所需的敏感信息或運(yùn)行中產(chǎn)生的敏感信息就可能泄露。
(2)對(duì)商用操作系統(tǒng)安全性的依賴(lài)
SCM運(yùn)行時(shí)需要操作系統(tǒng)提供的支持,而HCM本身構(gòu)成了完整的運(yùn)行環(huán)境,無(wú)需依賴(lài)操作系統(tǒng)等其它外部支持。由于操作系統(tǒng)往往存在某些漏洞,這些漏洞若被攻擊者利用,就可能會(huì)給SCM帶來(lái)嚴(yán)重的安全問(wèn)題。
(3)抵抗能量分析攻擊
進(jìn)行密碼運(yùn)算時(shí)總要消耗運(yùn)算設(shè)備一定的能量,攻擊者通過(guò)收集能量值,就可能計(jì)算出密碼運(yùn)算時(shí)所采用的密鑰值。特別是在進(jìn)行運(yùn)算量很大的RSA簽名時(shí),這種基于能量的攻擊更容易得到簽名私鑰。SCM對(duì)于這種攻擊是脆弱的;而HCM則可以通過(guò)特別措施來(lái)防止攻擊者收集能量值,從而抵御能量攻擊。
(4)種子密鑰的保存
安全的保存種子密鑰對(duì)SCM是非常困難的。種子密鑰需要長(zhǎng)期保存,對(duì)整個(gè)系統(tǒng)安全至關(guān)重要。對(duì)于SCM來(lái)說(shuō),種子密鑰只能保存在計(jì)算機(jī)的硬盤(pán)上,顯然保存種子密鑰的明文是非常不安全的。一般采用的辦法是通過(guò)一個(gè)口令加密種子密鑰,然后保存種子密鑰的密文。每當(dāng)用戶(hù)使用種子密鑰時(shí),需要輸入口令。但這樣亦是不安全的,首先這就要求有用戶(hù)在場(chǎng),才可使用種子密鑰,否則就不能使用。其次用戶(hù)往往會(huì)選擇容易記憶的簡(jiǎn)單口令,這使其容易被攻擊者猜測(cè)。
(5)安全地進(jìn)行密碼操作
在HCM中可以安全地進(jìn)行密鑰生成(公鑰密鑰對(duì)、會(huì)話(huà)密鑰)、加密、解密、簽名等操作,同時(shí)保證加解密密鑰和簽名私鑰的安全性;而在SCM中進(jìn)行這些操作時(shí),則存在泄露這些密鑰的可能性。
(6)密碼算法實(shí)現(xiàn)的效率
在HCM中通過(guò)專(zhuān)用的密碼運(yùn)算器,如公鑰協(xié)處理器和專(zhuān)用對(duì)稱(chēng)算法芯片可以大大提高對(duì)稱(chēng)算法和非對(duì)稱(chēng)算法的運(yùn)算速度;而SCM密碼運(yùn)算的速度則依賴(lài)于計(jì)算機(jī)系統(tǒng)的效率。這使得目前SCM中密碼算法的運(yùn)算速度往往低于HCM的實(shí)現(xiàn)速度。
(7)逆向工程攻擊
SCM保存在計(jì)算機(jī)硬盤(pán)或內(nèi)存中,而一般的計(jì)算機(jī)對(duì)硬盤(pán)和內(nèi)存的保護(hù)是非常脆弱的,因此它容易受到逆向工程攻擊。
SCM的
【硬件密碼組件與軟件密碼組件的比較研究】相關(guān)文章:
公鑰密碼原理及其應(yīng)用05-13
成本核算方法的比較研究06-02
陪審制度比較研究06-03
淺談中外內(nèi)部審計(jì)準(zhǔn)則比較研究05-03
淺談幾種常見(jiàn)的網(wǎng)絡(luò)存儲(chǔ)技術(shù)的比較及研究論文05-03
論中國(guó)電影比較研究的新視野05-28
論中英會(huì)計(jì)教育比較研究05-02
比較思想政治教育研究方法存在的不足及前瞻08-06