博客專欄

        EEPW首頁 > 博客 > 單片機(jī)加密方法,請(qǐng)看這里

        單片機(jī)加密方法,請(qǐng)看這里

        發(fā)布人:電巢 時(shí)間:2022-12-10 來源:工程師 發(fā)布文章

        現(xiàn)在的MCU程序可能別人花幾百塊錢就能破解,為了防止大家的程序不被剽竊,今天給大家分享點(diǎn)加密的內(nèi)容。

        常見加密方法

        本節(jié)不講加密具體實(shí)現(xiàn)算法,只講常見加密方法。

        1.程序?qū)懕Wo(hù)

        這種方法是最常見,也是最簡(jiǎn)單的一種。現(xiàn)在的MUC基本都有寫保護(hù)功能,但是這種容易被人破解。

        2.燒斷數(shù)據(jù)總線

        這個(gè)方法聽起來不錯(cuò),但有損壞的風(fēng)險(xiǎn),同樣也能破解。

        3.軟件加密

        是一些防止別人讀懂程序的方法,單一的這種方法不能防止別人全盤復(fù)制,須配合其他的加密算法。

        4.添加外部硬件電路的加密方法

        這個(gè)方法效果看起來比較好,但會(huì)增加成本。

        image.png


        5.芯片打磨改型

        這個(gè)方法改了型號(hào)能誤導(dǎo),但同時(shí)也增加成本,解密者一般也能分析出來。

        6.通過通過聯(lián)網(wǎng)加序列號(hào)加密

        通過連接網(wǎng)絡(luò),在你的MCU中生成一個(gè)唯一的隨機(jī)長(zhǎng)序列號(hào),并加入復(fù)雜的特種算法,或加入你們重新編碼的企業(yè)信息在里面,每個(gè)芯片內(nèi)不同,復(fù)制者只能復(fù)制到一個(gè)序列號(hào)。

        7.通過MCU唯一的標(biāo)識(shí)加密

        以前很多MCU沒有唯一標(biāo)識(shí)碼,現(xiàn)在的很多MCU都具有唯一標(biāo)識(shí)碼了。這個(gè)方法比較好,簡(jiǎn)單省事,能很好的防止復(fù)制。

        讀保護(hù) + 唯一ID加密

        使用讀保護(hù) + 唯一ID的加密是最常用的一種方法,也是推薦大家使用的一種方法。

        1.唯一ID

        現(xiàn)在正規(guī)的芯片,每顆出廠的時(shí)候都帶了一個(gè)唯一標(biāo)識(shí)碼,這個(gè)號(hào)碼是唯一不重復(fù)的,比如STM32的就使用96位作為唯一ID。

        和我們每個(gè)人的身份證號(hào)碼一樣,現(xiàn)在剛出生的嬰兒,上戶的時(shí)候就給他一個(gè)身份證號(hào),那么每個(gè)芯片一生產(chǎn)出來,也就具備了這個(gè)身份證號(hào)。

        image.png


        2.加密原理

        讀保護(hù)就不用說了,增加被破解難度。

        使用唯一ID加密的方法很多,這里說一種簡(jiǎn)單的方法:出廠時(shí)程序讀取唯一ID并保存在一個(gè)位置,以后程序執(zhí)行之前,要讀取并匹配這個(gè)唯一ID,一致才執(zhí)行程序。

        當(dāng)然,這種方法是最基礎(chǔ)的原理,但也存在被破解的風(fēng)險(xiǎn)。所以,存儲(chǔ)的數(shù)據(jù),以及讀取驗(yàn)證這兩個(gè)地方需要進(jìn)一步添加一些算法。

        這樣操作之后,即使別人讀取了你的程序,也是無法正常執(zhí)行。


        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



        關(guān)鍵詞: 單片機(jī)

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 海淀区| 巴南区| 新乡县| 思茅市| 来凤县| 洪泽县| 安乡县| 天祝| 松江区| 潮安县| 通道| 满城县| 运城市| 肇东市| 宿州市| 安庆市| 陈巴尔虎旗| 辽宁省| 定州市| 西城区| 临泽县| 汉中市| 江北区| 晋江市| 收藏| 白玉县| 明光市| 临高县| 辉南县| 渝中区| 镇宁| 高密市| 万源市| 昌平区| 嫩江县| 鹤壁市| 荣昌县| 兴海县| 大化| 连云港市| 邹城市|