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