本文導(dǎo)讀
加密芯片內(nèi)部集成了什么算法?自身安全等級(jí)如何?如何保證內(nèi)部儲(chǔ)存的密鑰和信息數(shù)據(jù)不被非法讀取與篡改?
一、安全加密芯片概述
加密芯片是對內(nèi)部集成了各類對稱與非對稱算法,自身具有極高安全等級(jí),可以保證內(nèi)部儲(chǔ)存的密鑰和信息數(shù)據(jù)不被非法讀取與篡改的一類安全芯片的通稱。目前市場上面此類芯片有FM15160、A1006等。
1.1 安全加密芯片應(yīng)用領(lǐng)域
使用到安全加密芯片的產(chǎn)品:銀行加密U盾、刻錄機(jī)、加密硬盤、PC鎖、手機(jī)、智能門鎖、公交地鐵等。在使用到安全加密芯片這些產(chǎn)品中,儲(chǔ)存在安全芯片里面的數(shù)據(jù)會(huì)進(jìn)行高可靠性加密處理,使得這些數(shù)據(jù)很難被非法竊取。
IBM有一個(gè)專門的安全軟件部門:IBM Client Security Software,配合安全芯片使用,可以對用戶的數(shù)據(jù)進(jìn)行加密處理,將密鑰通過安全芯片儲(chǔ)存在安全芯片中。例如你設(shè)置的開機(jī)密碼、硬盤密碼、BIOS密碼、指紋信息、硬盤上數(shù)據(jù)加密使用的密鑰指令的全部再次加密后,儲(chǔ)存在安全芯片中,如果想要破解,就需要首先破解安全加密芯片。
例如硬盤加密,只要設(shè)置好密碼,正常使用情況下,可以完全不用理會(huì);如果密碼忘記,這個(gè)硬盤就相對于報(bào)廢了。同樣,如果別人拿到你的硬盤,如果不知道密碼,即使將硬盤接到別的機(jī)器上面,也是無法讀出數(shù)據(jù)的,對于重要信息,能起到非常好的保密作用。
1.2 加解密算法
1.2.1 對稱加密算法
對稱加密算法也叫(私鑰加密),指加密和解密使用相同密鑰的加密算法,有時(shí)又叫傳統(tǒng)加密算法。使用對稱加密算法時(shí),它要求發(fā)送方和接收方在安全通信之前,就商定一個(gè)密鑰,對稱算法安全性完全依賴密鑰,泄漏密鑰就意味任何人都可以對他們發(fā)送或者接收的信息解密。主要包括:DES、3DES、TDEA、AES、IDEA等。
DES加密算法使用64位密鑰(實(shí)際56位)對64位固定長度信息加密,是早期的通信加密方法。由于密鑰長度不夠,在1977年就被暴力破解(窮舉攻擊法)。
在DES之后,又發(fā)展出TDES(3DES)算法,就是使用多個(gè)56位密鑰對數(shù)據(jù)進(jìn)行多次加密,使得密鑰長度到達(dá)192位(實(shí)際168位),對應(yīng)目前的計(jì)算機(jī)運(yùn)算能力是無法破解的,但是該算法需要花費(fèi)較大的軟硬件代價(jià),效率不盡人意。
為了解決TEDS的問題,又發(fā)展出AES算法。速度比TDES塊,安全性能一樣。
圖1 AES和3DES的比較
1.2.2 非對稱加密算法
非對稱加密算法需要兩個(gè)密鑰:公開密鑰和私有密鑰。公開密鑰與私鑰是一對,如果用公開密鑰加密數(shù)據(jù),只有對應(yīng)的私有密鑰才能解密。如果使用私有密鑰加密數(shù)據(jù),只有公開密鑰才能解密。非對稱加密算法的保密性比較好,它消除了最終用戶交換密鑰的需要。非對稱密鑰也有缺點(diǎn),在某些極端情況下,加解密速度會(huì)比對稱加密慢1000倍。
常用的非對稱加密算法有:RSA、Elgamal、背包算法、ECC(橢圓曲線加密算法)。
RSA速度慢,適合少量數(shù)據(jù)加密,算法目前密鑰長度低于1024位的,目前也面臨被破解的風(fēng)險(xiǎn)。
ECC所需的密鑰長度比RSA短,安全性能高于RSA。但是算法數(shù)學(xué)理論非常深?yuàn)W和復(fù)雜,工程應(yīng)用中較難實(shí)現(xiàn)。
ECC和RSA相比,在許多方面都有絕對優(yōu)勢,主要體現(xiàn)在以下幾個(gè)方面:
-
抗攻擊性強(qiáng)。相同的密鑰長度,其抗攻擊性要強(qiáng)很多倍;
-
計(jì)算量小,處理速度快。ECC總的速度比RSA、DSA要快很多;
-
儲(chǔ)存空間占用小。ECC的密鑰尺寸和系統(tǒng)參數(shù)與RSA、DSA相對要小很多,意味著它所占用的儲(chǔ)存空間小,對應(yīng)IC卡的應(yīng)用具有特別重要的意義;
-
帶寬要求低。當(dāng)對長消息進(jìn)行加密時(shí),ECC和RSA、DSA有相同的帶寬要求,對應(yīng)短消息加密時(shí),ECC帶寬要求比RSA、DSA低很多。帶寬要求使得ECC在無線網(wǎng)絡(luò)領(lǐng)域具有廣泛的應(yīng)用前景。
1.2.3 雜湊算法
Hash算法又稱為摘要算法,它可以將任意數(shù)據(jù)通過一個(gè)函數(shù)轉(zhuǎn)換成固定長度的數(shù)據(jù)串,主要用于驗(yàn)證消息是完整性和發(fā)送消息的者是否為冒充。應(yīng)用主要有文件校驗(yàn)、數(shù)字簽名、鑒權(quán)協(xié)議等。該算法有極低的概率出現(xiàn)不同的數(shù)據(jù)處理后出現(xiàn)相同的結(jié)果。
目前常用的Hash算法有:MD4、MD5、SHA-1等。
1.2.4 國密算法
任何一個(gè)國家,出于政治和經(jīng)濟(jì)需要,以及站在維護(hù)國家安全的角度,在密碼的管理上都是非常嚴(yán)格的,我國也發(fā)展出一系列國家加密算法,簡稱國密算法,如SM1、SM2、SM3、SM4、SSF33等。如對稱算法SM4,非對稱算法SM2,雜湊算法SM3。
1.3 安全加密芯片處理速度
加密芯片數(shù)據(jù)加密、解密速度是芯片性能一個(gè)重要指標(biāo)。比較使用3DES算法,使用MCU軟件實(shí)現(xiàn)的處理數(shù)據(jù)流加密非常慢,但是使用加密芯片可以輕松實(shí)現(xiàn)6Mbps的處理速度。如比較復(fù)雜的ECC算法,在A1006加密芯片上,認(rèn)證時(shí)間50ms。
圖2 FM15160運(yùn)行速度
1.4 芯片安全特性
-
芯片防篡改設(shè)計(jì),唯一系列號(hào),可以防止SEMA/DEMA、SPA/DPA、DFA和時(shí)序攻擊;
-
具有傳感器壽命測試功能,一旦芯片檢測到非法探測,將啟動(dòng)內(nèi)部的自毀功能;
-
總線加密,具有金屬屏蔽防護(hù)層,探測到外部攻擊后,內(nèi)部數(shù)據(jù)自毀;
-
真隨機(jī)數(shù)發(fā)生器,避免偽隨機(jī)數(shù)。
1.5 芯片評(píng)估保證級(jí)
信息安全產(chǎn)品分級(jí)評(píng)估是指依據(jù)國家標(biāo)準(zhǔn)GB/T 18336-2001,綜合考慮產(chǎn)品的預(yù)期應(yīng)用環(huán)境,通過對信息安全的整個(gè)生命周期,包括技術(shù)、開發(fā)、管理、交付等部分進(jìn)行全面的安全性評(píng)估和測試,驗(yàn)證產(chǎn)品的保密性、完整性和可用性程度,確定產(chǎn)品對預(yù)期應(yīng)用而言是否足夠安全,已經(jīng)在使用中隱含的安全風(fēng)險(xiǎn)是否可以容忍,產(chǎn)品是否滿足相應(yīng)評(píng)估保證等級(jí)的要求。
在GB/T 18336中定義了一下7個(gè)評(píng)估保證級(jí):
-
評(píng)估保證級(jí)1(EAL1)-功能測試;
-
評(píng)估保證級(jí)2(EAL2)-結(jié)構(gòu)測試;
-
評(píng)估保證級(jí)3(EAL3)-系統(tǒng)地測試和檢查;
-
評(píng)估保證級(jí)4(EAL4)-系統(tǒng)地設(shè)計(jì)、測試和復(fù)查;
-
評(píng)估保證級(jí)5(EAL5)-半形式化設(shè)計(jì)和測試;
-
評(píng)估保證級(jí)6(EAL6)-半形式化驗(yàn)證的設(shè)計(jì)和測試;
-
評(píng)估保證級(jí)7(EAL7)-形式化驗(yàn)證的設(shè)計(jì)和測試。
分級(jí)評(píng)估是通過對信息技術(shù)產(chǎn)品的安全性進(jìn)行獨(dú)立評(píng)估后所取得的安全保證等級(jí),表明產(chǎn)品的安全性級(jí)可信度。獲取的認(rèn)證級(jí)別越高,安全性與可信度越高,產(chǎn)品可對抗更高級(jí)別的威脅,適用于較高的風(fēng)險(xiǎn)環(huán)境。
如SmartMX2TM安全微控制器獲取EAL6+通用安全標(biāo)準(zhǔn)認(rèn)證。
二、FM15160芯片應(yīng)用設(shè)計(jì)
2.1 FM15160概述
FM15160是一款基于FLASH的USB key安全芯片。
圖3 FM15160特性
2.2 FM15160芯片封裝
圖4 FM15160 IC卡封裝
2.3FM15160原理圖設(shè)計(jì)
圖5 FM15160原理圖
2.4FM15160安全驗(yàn)證過程
芯片SPI接口為雙向全雙工、同步串行總線協(xié)議。
MCU通過SPI接口和FM15160進(jìn)行通信,通信幀格式可以按照ISO7816,加密和解密都可以通過SPI接口按照ISO7816格式,發(fā)送數(shù)據(jù)到FM15160進(jìn)行解密和解密。舉例獲取設(shè)備信息如下:
圖6 獲取設(shè)備信息
圖7 相應(yīng)數(shù)據(jù)
三、A 1006芯片應(yīng)用設(shè)計(jì)
圖8 A1006加密芯片
3.1 A1006概述
NXP的A1006具有安全認(rèn)證功能,給設(shè)備的軟件硬件提供了一個(gè)芯片級(jí)防止假冒、復(fù)制的強(qiáng)大安全解決方案。它具有低功耗、體積小、接口靈活、卓越的安全性等特點(diǎn),同時(shí)A1006易于集成電子設(shè)備中。
3.2 芯片特性
-
基于Diffie-Hellman的獨(dú)特非對稱性密鑰交換協(xié)議,加密和解密使用兩個(gè)不同的密鑰;
-
攻擊自鎖功能;
-
驗(yàn)證時(shí)間小于50ms;
-
功耗最低至3uA;
-
4Kbit EEPROM、10年數(shù)據(jù)保存、50萬次擦寫;
-
工作溫度范圍達(dá)到工業(yè)級(jí):-40℃~85℃。
圖9 A1006引腳圖
圖10 A1006引腳說明
3.3A1006原理圖概述
使用I2C接口和通常的EEPROM一樣,使用比較常見,這里不再介紹。當(dāng)使用單線接口OWI時(shí),原理圖設(shè)計(jì)如圖10所示。在OWI線上,需要一個(gè)外接上電電阻,用于當(dāng)主機(jī)和從機(jī)都釋放總線時(shí)給總線供電。
圖11 OWI操作連接
3.4 A1006安全驗(yàn)證過程
圖12 A1006安全驗(yàn)證過程
-
host生成隨機(jī)數(shù)r,與G組合成rG發(fā)送給A1006;
-
A1006利用私鑰計(jì)算q(rG),并將結(jié)果和證書cert(Q)一同發(fā)送給Host;
-
Host先驗(yàn)證證書是否有效,如果有效就從證書中提取出公鑰Q,并生成rQ,然后對比rQ和A1006返回的q(rG)是否相等,如果相等則認(rèn)為此A1006驗(yàn)證通過,否則驗(yàn)證失敗。
-
SPI
+關(guān)注
關(guān)注
17文章
1707瀏覽量
91631 -
加密芯片
+關(guān)注
關(guān)注
3文章
117瀏覽量
23701 -
FM15160
+關(guān)注
關(guān)注
0文章
1瀏覽量
2896
原文標(biāo)題:安全加密(六):探索加密芯片的防御體系
文章出處:【微信號(hào):Zlgmcu7890,微信公眾號(hào):周立功單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論