0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

結(jié)合軟硬件的加密方法

h1654155971.8456 ? 來源:EDA365 ? 作者:EDA365 ? 2020-10-30 11:18 ? 次閱讀

總結(jié)前人的經(jīng)驗,摸索著寫一點實用的方法,供大家參考:在這里不講加密算法,只討論結(jié)合軟硬件的加密方法,總結(jié)了一下大該有以下幾種:

一、加密方法

1、燒斷數(shù)據(jù)總線。這個方法我想應(yīng)不錯,但應(yīng)有損壞的風(fēng)險,聽說也能**。


2、芯片打磨改型,這個方法有一定作用,改了型號能誤導(dǎo),但同時也增加成本,解密者一般也能分析出來。


3、用不合格的單片機的的存儲器:這個方法聽起來不錯,值得一試。很多單片機有這種情況,有的是小容量改為大容量來用,**者應(yīng)很難發(fā)現(xiàn)。例:8031/8052 單片機就是8731/8752掩模產(chǎn)品中的不合格產(chǎn)品,內(nèi)部可能有ROM??砂?031/8052 當8751/8752 來用.但使用時要測試可靠。


4、其他還有添加外部硬件電路的加密方法。但那樣增加成本,效果不一定好。


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


6、通過序列號加密,


這個方法當你的產(chǎn)品是連接PC時或網(wǎng)絡(luò),我想是一個比較理想的方法。原理跟電話產(chǎn)品防偽標志相近。就是在你的單片機中生成一個唯一的隨機長序列號,并加入復(fù)雜的特種算法,或加入你們重新編碼的企業(yè)信息在里面,每個芯片內(nèi)不同,復(fù)制者只能復(fù)制到一個序列號。這個方法不能防止復(fù)制,但能發(fā)現(xiàn)復(fù)制品,并可在升級或在網(wǎng)絡(luò)狀態(tài)控制它或讓他自毀。如果產(chǎn)品不聯(lián)機或不可升級,則這個方法完全無效,只能是在上法院時可當作證據(jù),因為內(nèi)含特種算法破解者是無法知道的。


7、通過單片機唯一的特性標識(不可修改)進行加密


這個方法最好,能很好的防止復(fù)制。但大多單片機沒有唯一標識。STC單片機里面含唯一標識,但本人沒用過,下次一定要研究使用一下。理論上只要含唯一標識是單片機都可實現(xiàn),ATMEL AVR系列單片大部分型號有RC校正字節(jié)(幾十個芯片才有一個相同,并且不可修改)能實現(xiàn)這個理想功能,可做到即使芯片內(nèi)程序被讀出也無法直接在另一個同型號的單片機上正常運行。并且如果用這個唯一標識來生成含有加密算法的序列號,結(jié)合第6種方法,哪應(yīng)是最理想的加密方法。


以上方法應(yīng)都是一種加密的思路,各種方法可接合著用,6、7兩種方法是本人認為比較合適,實現(xiàn)起來比較容易的方法。后面將重點介紹兩種加密方式的實現(xiàn)方法。

二、序列號加密實現(xiàn)方法


1、原理


就是在存儲器某個區(qū)塊放入一個唯一的序列號(長一點,無規(guī)律),每個芯片不同。原理跟電話產(chǎn)品防偽標志相近

| PC機 | <------------>| 帶自定義算法序列號單片機系統(tǒng) |


控制方法:


1、PC根據(jù)傳回來的序列號根據(jù)算法判斷是否合法,合法就運行,不合法處理它。當然,如果是**的序列號,可自毀。


2、單片機內(nèi)部的序列號經(jīng)加密算法處理,單片機系統(tǒng)同樣要防止軟件被更改,可在單片機內(nèi)部加入CRC等數(shù)據(jù)校驗。一般情況下,序列號如果不合算法,單片機系統(tǒng)應(yīng)讓程序運行出錯,這樣**者一般不會去修改序列號,如果修改了也沒關(guān)系,因為PC還能判斷是否合法。


3、序列號傳送時可采用雙向加密算法認證,相當于銀卡的數(shù)據(jù)交換方式。


傳送過程:


PC發(fā)送隨機SEED數(shù)據(jù)---->單片機系統(tǒng)跟據(jù)隨機SEED算出加密的序列號----->PC根據(jù)算法判斷序列號是否合法這樣在序列號的傳送過程中,數(shù)據(jù)每次不同,解密者無法看到序列號的明碼。這樣PC軟件他同樣不容易更改。


注意:加密算法可以很簡單理解一個為異或,當然算法由你自已隨意定,反正目的不能上別人一看軟件就懂。**者只是**一個產(chǎn)品只能得到一個序列號,即使序列號是明碼,他也只能知道是一個。如他隨便修改一個序列號一般情況就不符合算法,除非他看懂你的軟件算法,我想這是一般解密者最不愿意做的事情。


單片機系統(tǒng)的量產(chǎn):


產(chǎn)生這樣的序列號,單片機系統(tǒng)如何生成?如果用手工一個個去計算調(diào)入,得重新編譯是不可能的事情。如果編寫一個軟件生成數(shù)據(jù)放入到HEX文件中,那樣不說工作量好大,編程時還必須一次次裝入HEX文件,量產(chǎn)同樣無法完成。這個可于
MiniPro TL866 編程器完成。


編程器的介紹可查看//www.autoelectric.cn/minipro


TL866編程器有個自動編號功能,可利用DLL動態(tài)庫調(diào)用實現(xiàn)任意的序列號.如何使用DLL設(shè)定序列號,可參考編程器安裝包內(nèi)的DLL實例,內(nèi)有詳細說明。后面講的用單片機唯一的特性標識進行加密也用到DLL調(diào)用,基本大同小異。


經(jīng)過這樣的加密,達到一個目的,就是解密者必須修改你的軟件后才能放心使用,但是每次升級同樣會受你控制,好像微軟隨時可以黑你屏一樣的道理,否則可能隨時會被你宰了!!但這種方法只適合連接PC或網(wǎng)絡(luò)的系統(tǒng)。

三、用單片機唯一的特征標識進行加密


加密原理:


單片機必須有唯一標志,單片機程序內(nèi)只要判斷是否是這個標志,就可防止程序直接復(fù)制使用。理論上可以做到很難破解,本人認為是最有效又實用的方法。

達到目的:解密者最不愿意做的事讓他必須做。


一般大部分搞單片機解密的都是暴力破解,因為這個最容易,只要牚握技巧,有設(shè)備,工藝熟練就可了,不用太強的專業(yè)知識。如果復(fù)制后,程序無法運行,那就蒙了,因為這個時候就要去看匯編語言了,我想信有很多匯編高手,能很容易**。但我也同時認為,怎么多型號的單片機,匯編指令差別好大,每一種單片機的匯編都很熟的人應(yīng)不多了。所以這會大大增加**難度。如果一個加密設(shè)計好的軟件,跟據(jù)單片機的唯一特征字來加密,有時他可能不得不看懂里面的加密算法。這樣加密目的就達到了。


開發(fā)人員需要做的事:


有了唯一特征字,并不是加密萬無一失了。如果你只是在程序中只用一條語句判斷,是不是這個芯片的特征字,則程序被讀出后,解密者只要簡單的修改程序,直接跳過判斷語句。可能只要幾分鐘就解決了。所以在程序要加入加密算法,盡量不用IF判斷語句??捎米映绦蛘{(diào)用地址來參與特征字的加密運算等等方法,如何防反匯編及修改軟件等不在這里討論,網(wǎng)上可以找到有關(guān)這方面的很多資料。

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    450

    文章

    49638

    瀏覽量

    417240
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4552

    瀏覽量

    92030
  • 加密方法
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    7729

原文標題:總結(jié)幾種常用的單片機加密方法

文章出處:【微信號:eda365wx,微信公眾號:EDA365電子論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    國產(chǎn)精密信號鏈產(chǎn)品完整解決方案,軟硬件兼容TI和ADI

    國產(chǎn)精密信號鏈產(chǎn)品完整解決方案,軟硬件兼容TI和ADI
    的頭像 發(fā)表于 08-19 09:58 ?190次閱讀
    國產(chǎn)精密信號鏈產(chǎn)品完整解決方案,<b class='flag-5'>軟硬件</b>兼容TI和ADI

    機器視覺系統(tǒng)讀取二維碼-軟硬件配置方案

    機器視覺系統(tǒng)讀取二維碼-軟硬件配置方案
    的頭像 發(fā)表于 05-24 00:56 ?359次閱讀
    機器視覺系統(tǒng)讀取二維碼-<b class='flag-5'>軟硬件</b>配置方案

    磐啟XNS1042軟硬件資料

    電子發(fā)燒友網(wǎng)站提供《磐啟XNS1042軟硬件資料.zip》資料免費下載
    發(fā)表于 05-06 10:35 ?0次下載

    電池管理系統(tǒng)(BMS)軟硬件介紹

    電子發(fā)燒友網(wǎng)站提供《電池管理系統(tǒng)(BMS)軟硬件介紹.pdf》資料免費下載
    發(fā)表于 03-27 09:20 ?8次下載

    KubeCASH:基于軟硬件融合的容器管理平臺

    、CSI、CDI等接口都奉行一個重要的原則:“不做事,就不會犯錯”。K8S可以理解成嵌于整個軟硬件堆棧的一個薄層,僅僅提供硬件到容器環(huán)境的一個接入。至于具體的軟硬件交互接口和機制、硬件
    的頭像 發(fā)表于 01-08 10:16 ?907次閱讀
    KubeCASH:基于<b class='flag-5'>軟硬件</b>融合的容器管理平臺

    軟硬件結(jié)合優(yōu)勢凸顯,華曦達北交所IPO把握發(fā)展機遇

    上市招股書。 ? 據(jù)華曦達北交所IPO上市招股書披露,軟硬件結(jié)合極大地提升了公司產(chǎn)品的整體競爭力,并增強了公司與運營商之間的合作粘性。2020年至2022年,公司實現(xiàn)營收分別為6.83億元、12.96億元及25.29億元,實現(xiàn)持續(xù)穩(wěn)步增長。 具體
    的頭像 發(fā)表于 01-04 17:40 ?440次閱讀

    基于MSP430F13X的溫度采集儀的工作原理及軟硬件設(shè)計方法

    電子發(fā)燒友網(wǎng)站提供《基于MSP430F13X的溫度采集儀的工作原理及軟硬件設(shè)計方法.pdf》資料免費下載
    發(fā)表于 11-17 16:06 ?0次下載
    基于MSP430F13X的溫度采集儀的工作原理及<b class='flag-5'>軟硬件</b>設(shè)計<b class='flag-5'>方法</b>

    使用FPGA完成飛行模擬器通信接口的軟硬件設(shè)計

    電子發(fā)燒友網(wǎng)站提供《使用FPGA完成飛行模擬器通信接口的軟硬件設(shè)計.pdf》資料免費下載
    發(fā)表于 11-07 14:41 ?0次下載
    使用FPGA完成飛行模擬器通信接口的<b class='flag-5'>軟硬件</b>設(shè)計

    基于ARM的管軌牽引供電監(jiān)控系統(tǒng)軟硬件平臺

    電子發(fā)燒友網(wǎng)站提供《基于ARM的管軌牽引供電監(jiān)控系統(tǒng)軟硬件平臺.pdf》資料免費下載
    發(fā)表于 11-06 16:25 ?0次下載
    基于ARM的管軌牽引供電監(jiān)控系統(tǒng)<b class='flag-5'>軟硬件</b>平臺

    基于si473x的嵌入式收音機模塊的軟硬件設(shè)計方法

    電子發(fā)燒友網(wǎng)站提供《基于si473x的嵌入式收音機模塊的軟硬件設(shè)計方法.pdf》資料免費下載
    發(fā)表于 10-25 10:22 ?1次下載
    基于si473x的嵌入式收音機模塊的<b class='flag-5'>軟硬件</b>設(shè)計<b class='flag-5'>方法</b>

    軟硬件融合的概念和內(nèi)涵

    跟很多朋友交流,當提到軟硬件融合的時候,他們會這么說:“軟硬件融合,難道不是顯而易見嗎?我感覺在二三十年前就已經(jīng)有這個概念了?!痹谒麄兊南敕ɡ?,其實:軟硬件融合等同于軟硬件協(xié)同,甚至等
    的頭像 發(fā)表于 10-17 14:36 ?1160次閱讀
    <b class='flag-5'>軟硬件</b>融合的概念和內(nèi)涵

    軟硬件協(xié)同仿真原理及主要組成部分概述

    軟硬件聯(lián)合仿真在確保高效云解決方案的質(zhì)量、降低風(fēng)險、節(jié)省時間和成本方面發(fā)揮著關(guān)鍵作用。
    的頭像 發(fā)表于 10-16 11:08 ?713次閱讀
    <b class='flag-5'>軟硬件</b>協(xié)同仿真原理及主要組成部分概述

    基于軟件模擬的SPI端口CAN控制卡的軟硬件設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于軟件模擬的SPI端口CAN控制卡的軟硬件設(shè)計.pdf》資料免費下載
    發(fā)表于 10-13 11:38 ?0次下載
    基于軟件模擬的SPI端口CAN控制卡的<b class='flag-5'>軟硬件</b>設(shè)計