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