一,加密芯片的來源及工作流程:
市面上的加密芯片,基本都是基于某款單片機(jī),使用I2C或SPI等通訊,使用復(fù)雜加密算法加密來實(shí)現(xiàn)的,流程大致如下:
主控芯片生成隨機(jī)碼 --> 主控芯片給加密芯片發(fā)送明文 --> 加密芯片通過加密算法對明文進(jìn)行加密生成密文 --> 加密芯片返回密文給主控芯片 --> 主控芯片對密文進(jìn)行解密生成解密值 --> 主控芯片對解密值與之前明文進(jìn)行對比, 比較值一致則認(rèn)證通過(認(rèn)證不通過可進(jìn)行關(guān)機(jī)操作);
(用戶一般需要集成加密芯片商提供的解密庫文件,調(diào)用指定庫文件接口,來實(shí)現(xiàn)解密)
目前市面上的加密芯片種類繁多,從幾毛錢到十幾塊錢價(jià)格不等;
二,不同類型加密芯片主要區(qū)別:
1)加密算法實(shí)現(xiàn)不同:各種加密芯片都是廠家根據(jù)需求選擇自己偏好的加密算法,進(jìn)行更改適配,或者直接使用自己自定義的算法進(jìn)行加密,常見算法介紹及比較詳見附錄1;
2)封裝不同,常見的加密芯片封裝有:SOT-23-3,SOT23-6,SOP-8、SOIC-8等;根據(jù)板段的設(shè)計(jì)可選擇不同的封裝對應(yīng)的芯片;
3)其他區(qū)別:傳輸協(xié)議(I2C、SPI、UART、或者廠家自定義協(xié)議)不同,認(rèn)證速率可靠性不同,開發(fā)適配難度差異等;
三,加密芯片的應(yīng)用:
加密芯片一般廣泛應(yīng)用于給電子產(chǎn)品,防止抄板防止破解,部分常用產(chǎn)品(相機(jī),監(jiān)控?cái)z像頭,兒童數(shù)碼玩具,行車記錄儀,游戲機(jī)教育機(jī),執(zhí)法記錄儀,安防設(shè)備,平板電腦,對講機(jī),會議系統(tǒng),以及其他各種系統(tǒng)電子產(chǎn)品,行業(yè)工控機(jī)等產(chǎn)品);
四,加密芯片破解的基本操作:
加密芯片破解,一般破解公司會通過抓取明文以及密文內(nèi)容,通過讀取大量不同的明文和密文值,進(jìn)行算法分析和破解,當(dāng)耗費(fèi)大量時(shí)間經(jīng)歷將加密算法分析出來后,另選一個(gè)相同封裝尺寸的加密芯片,集成破解算法后替換原有加密芯片;
備注:特別需要注意的是,明文的發(fā)送,建議使用真正的不可預(yù)知的隨機(jī)數(shù)進(jìn)行發(fā)送(如果每次都發(fā)送固定的幾組明文,破解人員只需將該明文對應(yīng)密文抓取出來,收到明文返回對應(yīng)密文即可完成破解),建議在代碼多個(gè)地方進(jìn)行加密認(rèn)證;在明文真正做到隨機(jī)數(shù)的情況下,破解難度就取決于加密算法的復(fù)雜程度了;當(dāng)然也會有其他更安全的因素可以提高破解風(fēng)險(xiǎn),在此就不過多論述了;