前端時間有研究多款加密芯片,加密算法實現(xiàn),以及破解可能,也有一些個人的觀點,僅供參考。
一,加密芯片的來源及工作流程:
市面上的加密芯片,基本都是基于某款單片機(jī),使用I2C或SPI等通訊,使用復(fù)雜加密算法加密來實現(xiàn)的,流程大致如下:
主控芯片生成隨機(jī)碼 --> 主控芯片給加密芯片發(fā)送明文 --> 加密芯片通過加密算法對明文進(jìn)行加密生成密文 --> 加密芯片返回密文給主控芯片 --> 主控芯片對密文進(jìn)行解密生成解密值 --> 主控芯片對解密值與之前明文進(jìn)行對比, 比較值一致則認(rèn)證通過(認(rèn)證不通過可進(jìn)行關(guān)機(jī)操作);
(用戶一般需要集成加密芯片商提供的解密庫文件,調(diào)用指定庫文件接口,來實現(xiàn)解密)
目前市面上的加密芯片種類繁多,從幾毛錢到十幾塊錢價格不等;
二,不同類型加密芯片主要區(qū)別:
1)加密算法實現(xiàn)不同:各種加密芯片都是廠家根據(jù)需求選擇自己偏好的加密算法,進(jìn)行更改適配,或者直接使用自己自定義的算法進(jìn)行加密,常見算法介紹及比較詳見附錄1;
2)封裝不同,常見的加密芯片封裝有:SOT-23-3,SOT23-6,SOP-8、SOIC-8等;根據(jù)板段的設(shè)計可選擇不同的封裝對應(yīng)的芯片;
3)其他區(qū)別:傳輸協(xié)議(I2C、SPI、UART、或者廠家自定義協(xié)議)不同,認(rèn)證速率可靠性不同,開發(fā)適配難度差異等;
三,加密芯片的應(yīng)用:
加密芯片一般廣泛應(yīng)用于給電子產(chǎn)品,防止抄板防止破解,部分常用產(chǎn)品(相機(jī),監(jiān)控攝像頭,兒童數(shù)碼玩具,行車記錄儀,游戲機(jī)教育機(jī),執(zhí)法記錄儀,安防設(shè)備,平板電腦,對講機(jī),會議系統(tǒng),以及其他各種系統(tǒng)電子產(chǎn)品,行業(yè)工控機(jī)等產(chǎn)品);
四,加密芯片破解的基本操作:
加密芯片破解,一般破解公司會通過抓取明文以及密文內(nèi)容,通過讀取大量不同的明文和密文值,進(jìn)行算法分析和破解,當(dāng)耗費大量時間經(jīng)歷將加密算法分析出來后,另選一個相同封裝尺寸的加密芯片,集成破解算法后替換原有加密芯片;
備注:特別需要注意的是,明文的發(fā)送,建議使用真正的不可預(yù)知的隨機(jī)數(shù)進(jìn)行發(fā)送(如果每次都發(fā)送固定的幾組明文,破解人員只需將該明文對應(yīng)密文抓取出來,收到明文返回對應(yīng)密文即可完成破解),建議在代碼多個地方進(jìn)行加密認(rèn)證;在明文真正做到隨機(jī)數(shù)的情況下,破解難度就取決于加密算法的復(fù)雜程度了;當(dāng)然也會有其他更安全的因素可以提高破解風(fēng)險,在此就不過多論述了;
五,加密芯片的如何選擇(僅個人認(rèn)為):
1)價錢:在產(chǎn)品量大情況下,建議選擇便宜的加密芯片,大批量產(chǎn)品價格能夠在一元一下會比較合適(當(dāng)然越便宜越好);
2)安全性:不同加密芯片,主要卻別在于所選單片機(jī)不一樣,加密芯片開發(fā)人員不一樣,加密方式實現(xiàn)的差異;只要加密芯片實現(xiàn)方式上沒有很大漏洞,以及加密算法不過于簡單,所選加密芯片基本會有一定安全性, 大品牌加密方式復(fù)雜但破解者也更多,相比而言亦不占優(yōu)勢,小品牌不知名加密芯片加密算法復(fù)雜性可能欠缺但無人破解,相對也會有一定安全性;
3)其他:①加密芯片最好選擇有私有密鑰的(這樣針對不同客戶的加密芯片就會有區(qū)別);②如果可能可以與加密芯片提供方要求,在原有加密算法基礎(chǔ)上,集成一部分自己的數(shù)學(xué)運(yùn)算進(jìn)入到加密芯片算法內(nèi),以提高加密性;③如果對認(rèn)證速率有要求最好選擇認(rèn)證速率相對較快的芯片,這樣不會影響到開機(jī)速度和系統(tǒng)運(yùn)行;
之前使用過淘寶“CC020加密芯片”性價比相對較高(另一篇文章有介紹如何適配),對于加密芯片如何選擇不做具體推薦,選擇哪款加密芯片視個人情況進(jìn)行篩選;
附錄1)常見算法介紹及比較:
A)其中市面常見的加密算法如下:
①MD5算法:MD5 用的是 哈希函數(shù),它的典型應(yīng)用是對一段信息產(chǎn)生 信息摘要,以 防止被篡改。嚴(yán)格來說,MD5 不是一種 加密算法 而是 摘要算法。無論是多長的輸入,MD5 都會輸出長度為 128bits 的一個串 (通常用 16 進(jìn)制 表示為 32 個字符)。
②SHA1算法:SHA1 是和 MD5 一樣流行的 消息摘要算法,對于長度小于 2 ^ 64 位的消息,SHA1 會產(chǎn)生一個160 位的 消息摘要。基于 MD5、SHA1 的信息摘要特性以及 不可逆 (一般而言),可以被應(yīng)用在檢查 文件完整性 以及 數(shù)字簽名 等場景;
③HMAC算法:HMAC 是密鑰相關(guān)的 哈希運(yùn)算消息認(rèn)證碼(Hash-based Message Authentication Code),HMAC 運(yùn)算利用 哈希算法 (MD5、SHA1 等),以 一個密鑰 和 一個消息 為輸入,生成一個 消息摘要 作為 輸出。
④DES算法:DES 加密算法是一種 分組密碼,以 64 位為 分組對數(shù)據(jù) 加密,它的 密鑰長度 是 56 位,加密解密 用 同一算法。DES 加密算法是對 密鑰 進(jìn)行保密,而 公開算法,包括加密和解密算法。這樣,只有掌握了和發(fā)送方 相同密鑰 的人才能解讀由 DES加密算法加密的密文數(shù)據(jù)。因此,破譯 DES 加密算法實際上就是 搜索密鑰的編碼。對于 56 位長度的 密鑰 來說,如果用 窮舉法 來進(jìn)行搜索的話,其運(yùn)算次數(shù)為 2 ^ 56 次。
⑤3DES算法:是基于 DES 的 對稱算法,對 一塊數(shù)據(jù) 用 三個不同的密鑰 進(jìn)行 三次加密,強(qiáng)度更高。
⑥AES 加密算法是密碼學(xué)中的 高級加密標(biāo)準(zhǔn),該加密算法采用 對稱分組密碼體制,密鑰長度的最少支持為 128 位、 192 位、256 位,分組長度 128 位,算法應(yīng)易于各種硬件和軟件實現(xiàn)。這種加密算法是美國聯(lián)邦政府采用的 區(qū)塊加密標(biāo)準(zhǔn)。AES 本身就是為了取代 DES 的,AES 具有更好的 安全性、效率 和 靈活性。
⑦RSA算法:RSA 加密算法是目前最有影響力的 公鑰加密算法,并且被普遍認(rèn)為是目前 最優(yōu)秀的公鑰方案 之一。RSA 是第一個能同時用于 加密 和 數(shù)字簽名 的算法,它能夠 抵抗 到目前為止已知的 所有密碼攻擊,已被 ISO 推薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。
⑧ECC算法:
ECC 也是一種 非對稱加密算法,主要優(yōu)勢是在某些情況下,它比其他的方法使用 更小的密鑰,比如 RSA 加密算法,提供 相當(dāng)?shù)幕蚋叩燃?的安全級別。不過一個缺點是 加密和解密操作 的實現(xiàn)比其他機(jī)制 時間長 (相比 RSA 算法,該算法對 CPU 消耗嚴(yán)重)。
B)加密算法對比:
附圖1_1:散列算法比較 :
附圖1_2:對稱加密算法比較 :
附圖1_3:非對稱加密算法比較:
審核編輯:湯梓紅
-
加密芯片
+關(guān)注
關(guān)注
3文章
117瀏覽量
23799 -
加密算法
+關(guān)注
關(guān)注
0文章
216瀏覽量
25581 -
加密IC
+關(guān)注
關(guān)注
1文章
9瀏覽量
10390
發(fā)布評論請先 登錄
相關(guān)推薦
支持遠(yuǎn)程脫機(jī)密文下載加密芯片SMEC編程器開發(fā)板介紹
SMEC88加密芯片開發(fā)手冊
加密芯片的一種破解方法和對應(yīng)加密方案改進(jìn)設(shè)計
STM32配合可編程加密芯片SMEC88ST的防抄板加密方案設(shè)計
淺談加密芯片的一種破解方法和對應(yīng)加密方案改進(jìn)設(shè)計
淺談加密芯片的一種破解方法和加密方案改進(jìn)設(shè)計
加密算法的選擇對于加密安全有多重要?
UID加密安全啟動原理分析
![UID<b class='flag-5'>加密</b>安全啟動原理分析](https://file1.elecfans.com/web2/M00/0C/32/wKgaomcxfzuAOMeCAAATHxXKmWk307.jpg)
安卓APP開發(fā)中,如何使用加密芯片?
![安卓APP開發(fā)中,如何使用<b class='flag-5'>加密</b><b class='flag-5'>芯片</b>?](https://file1.elecfans.com/web1/M00/F4/10/wKgaoWcjUSqAc-kQAADJv24HczA513.png)
AG32 芯片保護(hù)與加密
擁有SHA-256核心和32Kbits的EEPROM應(yīng)用的加密芯片-GEN-FA
![擁有SHA-256核心和32Kbits的EEPROM應(yīng)用的<b class='flag-5'>加密</b><b class='flag-5'>芯片</b>-GEN-FA](https://file1.elecfans.com/web2/M00/C7/81/wKgZomYUnB-ACb6xAAEjC7771n8954.png)
單總線協(xié)議耗材認(rèn)證加密芯片ALPU-P
![單總線協(xié)議耗材認(rèn)證<b class='flag-5'>加密</b><b class='flag-5'>芯片</b>ALPU-P](https://file1.elecfans.com/web2/M00/F4/5C/wKgaomZ8uuGADeliAAEfmVVGpNc921.png)
嵌入式產(chǎn)品如何做安全加密?
![嵌入式產(chǎn)品如何做安全<b class='flag-5'>加密</b>?](https://file1.elecfans.com/web2/M00/F1/E7/wKgaomZz-oSAJeMsAACjAJVDxP0469.png)
評論