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