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

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

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

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

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

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

一、加密方法

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


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


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


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


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


6、通過序列號加密,


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


7、通過單片機(jī)唯一的特性標(biāo)識(不可修改)進(jìn)行加密


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


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

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


1、原理


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

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


控制方法:


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


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


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


傳送過程:


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


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


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


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


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


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


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

三、用單片機(jī)唯一的特征標(biāo)識進(jìn)行加密


加密原理:


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

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


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


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


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

責(zé)任編輯:lq

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

    關(guān)注

    456

    文章

    51027

    瀏覽量

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

    關(guān)注

    23

    文章

    4624

    瀏覽量

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

    關(guān)注

    0

    文章

    4

    瀏覽量

    7747

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    兆芯CPU近期軟硬件適配動(dòng)態(tài)

    近期,兆芯攜手多家軟硬件合作伙伴,基于開先KX-7000、開勝KH-40000等自主CPU和信創(chuàng)操作系統(tǒng)環(huán)境,持續(xù)推進(jìn)應(yīng)用生態(tài)建設(shè)工作,順利完成醫(yī)療自主終端、商用收款機(jī)、服務(wù)器操作系統(tǒng)、數(shù)據(jù)庫管理
    的頭像 發(fā)表于 01-15 15:33 ?80次閱讀

    恩智浦電機(jī)控制軟硬件解決方案

    。因此,設(shè)計(jì)一套結(jié)合軟硬件的高效電機(jī)控制解決方案,不僅能降低能耗,還能實(shí)現(xiàn)精準(zhǔn)控制,滿足多樣化應(yīng)用需求。本文將介紹電機(jī)控制技術(shù)的發(fā)展趨勢,以及NXP(恩智浦)與艾睿電子在電機(jī)控制技術(shù)上的優(yōu)勢與解決方案。
    的頭像 發(fā)表于 01-15 10:12 ?314次閱讀
    恩智浦電機(jī)控制<b class='flag-5'>軟硬件</b>解決方案

    星融元與焱融科技AI分布式存儲軟硬件完成兼容性互認(rèn)證

    星融元與焱融科技AI分布式存儲軟硬件完成兼容性互認(rèn)證
    的頭像 發(fā)表于 11-20 16:36 ?194次閱讀
    星融元與焱融科技AI分布式存儲<b class='flag-5'>軟硬件</b>完成兼容性互認(rèn)證

    研華產(chǎn)品通過統(tǒng)信及兆芯通用軟硬件適配互認(rèn)測試

    近日,研華自主研發(fā)的iEMS智慧能源、iMachine設(shè)備云智聯(lián)以及InsightAPM軟件通過了統(tǒng)信及兆芯通用軟硬件適配互認(rèn)測試,順利取得了“通用軟硬件適配認(rèn)證中心”聯(lián)合認(rèn)證證書。這不僅對研華產(chǎn)品性能與兼容性給與認(rèn)可,更是對其在國產(chǎn)化道路上給與了重要肯定。
    的頭像 發(fā)表于 09-14 17:58 ?1182次閱讀

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

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

    英特爾軟硬件構(gòu)建模塊如何幫助優(yōu)化RAG應(yīng)用

    軟硬件構(gòu)建模塊如何幫助優(yōu)化RAG應(yīng)用,在簡化部署和支持?jǐn)U展的同時(shí),增強(qiáng)其上下文感知能力和實(shí)時(shí)響應(yīng)性能。 1 為您的應(yīng)用量身定制GenAI ChatGPT的面世改變了AI的發(fā)展格局。企業(yè)爭相利用這項(xiàng)新技術(shù)
    的頭像 發(fā)表于 07-24 15:12 ?465次閱讀
    英特爾<b class='flag-5'>軟硬件</b>構(gòu)建模塊如何幫助優(yōu)化RAG應(yīng)用

    用于多路信號采集的國產(chǎn)模數(shù)轉(zhuǎn)換器,軟硬件兼容ADS1220

    用于多路信號采集的國產(chǎn)模數(shù)轉(zhuǎn)換器,軟硬件兼容ADS1220
    的頭像 發(fā)表于 06-24 09:58 ?487次閱讀
    用于多路信號采集的國產(chǎn)模數(shù)轉(zhuǎn)換器,<b class='flag-5'>軟硬件</b>兼容ADS1220

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

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

    可提高加密速度的Vector和Infineon的軟硬件聯(lián)合解決方案

    AURIX TC4x微控制器配備了新開發(fā)的Cyber Security Satellite(CSS),Vector的MICROSAR HSM固件已經(jīng)支持這項(xiàng)新技術(shù),這為ECU開發(fā)人員提供了一個(gè)強(qiáng)大的解決方案,可通過硬件加速計(jì)算加密操作。
    的頭像 發(fā)表于 05-15 14:46 ?525次閱讀
    可提高<b class='flag-5'>加密</b>速度的Vector和Infineon的<b class='flag-5'>軟硬件</b>聯(lián)合解決方案

    嵌入式系統(tǒng)軟硬件基礎(chǔ)知識大全

    制約的,只有硬件和軟件協(xié)同工作,才能使嵌入式系統(tǒng)正常運(yùn)行。本文將從嵌入式系統(tǒng)的定義和特點(diǎn)出發(fā),詳細(xì)介紹其硬件和軟件的組成,并通過實(shí)例分析,深入剖析嵌入式系統(tǒng)的工作原理和應(yīng)用場景。通過對嵌入式系統(tǒng)軟硬件
    發(fā)表于 05-09 14:12

    磐啟XNS1042軟硬件資料

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

    解析數(shù)字化資產(chǎn)管理系統(tǒng):RFID技術(shù)的軟硬件集成與標(biāo)簽分類應(yīng)用

    數(shù)字化資產(chǎn)管理系統(tǒng)基于RFID技術(shù),通過軟硬件集成實(shí)現(xiàn)對資產(chǎn)的精準(zhǔn)定位、實(shí)時(shí)監(jiān)控和智能化管理。系統(tǒng)利用RFID標(biāo)簽分類滿足不同應(yīng)用需求,助力企業(yè)提升資產(chǎn)管理效率和安全性,促進(jìn)數(shù)字化轉(zhuǎn)型和可持續(xù)發(fā)展。
    的頭像 發(fā)表于 04-12 17:30 ?1321次閱讀
    解析數(shù)字化資產(chǎn)管理系統(tǒng):RFID技術(shù)的<b class='flag-5'>軟硬件</b>集成與標(biāo)簽分類應(yīng)用

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

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