如今共享大戰(zhan)愈演愈烈,摩拜(bai)之後,小黃、小藍(lán)更是層出不窮(qiong)。“共享”給大家帶(dai)來方便的同時(shí),也在經曆着嚴(yan)峻的考驗❗。爲了(le)防止單車被破(po)解,必須采取嚴(yán)格可靠的保密(mi)措施,爲産品保(bǎo)🌐駕護航。
看到那(na)些被刮去号碼(ma)牌,據爲己有的(de)共享單車,作爲(wèi)⭐工⛱️程💞師的我,不(bu)禁想到自己加(jia)班開發的代碼(ma)可能會被别人(rén)分㊙️分鍾讀出來(lái)破解,頗有些擔(dān)心,眼前💔這些就(jiu)是實實📧在在的(de)前“車”之鑒。

面對(dui)日益重要知識(shí)産權保護,大部(bù)分芯片廠商爲(wei)📧芯片👌設計完善(shàn)了安全的代碼(ma)保護方案——芯片(pian)加密。各個廠商(shang)🐕的加密手段不(bú)同,主要分爲幾(ji)類:
-
一級加密(可(ke)擦除);
-
二級加密(mi)(密碼加密);
-
三級(ji)加密(加“死密”)。
不(bú)同的芯片可能(neng)提供了一種或(huò)多種級别的加(jiā)密方式,根據不(bu)🧑🏽🤝🧑🏻同的需求靈活(huó)使用加密方案(àn)才可以做到遊(you)刃有餘。
一級加(jia)密
如果你的産(chǎn)品可能需要升(sheng)級固件,建議使(shǐ)用這種🐆加密方(fāng)式。
一級加密又(yòu)分爲多種形式(shì),最常見的一種(zhong)形式經常在芯(xīn)片🧑🏽🤝🧑🏻手冊中叫做(zuo)“Protect”。加密後如果試(shi)圖讀出芯片中(zhōng)的💃🏻代碼,則會讀(dú)出✌️全0x00,或者是全(quán)0xFF,甚至是随機數(shu)據✊,但是通過某(mǒu)些🛀特殊的方法(fa),比如擦除或是(shi)解保護,就可以(yǐ)将芯片重置爲(wei)默認狀👉态。
另外(wài)一種常見于ARM芯(xīn)片,我們知道ARM芯(xīn)片采用統一的(de)編程接口SWD接口(kǒu),某些ARM芯片會提(tí)供兩個AP(Access Port),通過關(guan)閉訪問内部空(kong)間的AP可以達到(dào)加密的目的。而(ér)如果想解♌鎖,就(jiu)要訪問另🤩一條(tiao)AP,這條AP隻可以訪(fang)問一個寄存器(qì),通過寫入該寄(ji)存器特定的數(shù)據就可以将芯(xīn)片重置爲默認(rèn)狀态。
還有一種(zhǒng)加密方式和上(shang)面類似,隻不過(guò)采用了兩個編(bian)程接口🈲,而不是(shi)同一編程接口(kou)的兩條AP。
總之,一(yi)級加密就是讓(rang)你無法讀取芯(xīn)片數據,而又🍓可(ke)以通過擦除再(zài)次升級固件。

二(er)級加密
如果你(ni)的産品需要升(sheng)級固件,但是你(nǐ)又不想别人🛀🏻也(yě)随意升♻️級✏️你的(de)固件,可以使用(yòng)這種加密方式(shi)。
二級加密與一(yi)級加密的不同(tong)之處在于,二級(ji)加密在☂️加密時(shí)需要提供一段(duan)密碼,該密碼會(hui)保存到芯片内(nei)部,而如果☁️你想(xiang)重置💁芯片,則需(xu)要提供這段密(mi)🥵碼。這就防止了(le)沒有權限(不知(zhī)道密碼📱)的一方(fang)升級代碼。
二級(ji)加密爲密碼保(bao)護的加密,不過(guò)部分廠商的芯(xīn)片可能并沒有(yǒu)提供這種加密(mi)方案。

三級加密(mi)
如果你的産品(pǐn)要批量生産了(le),也不用考慮升(sheng)級固件,可以使(shi)用這種加密方(fāng)式。
三級加密通(tōng)過向芯片特定(dìng)位置寫入特定(dìng)數據,或⭕者是直(zhi)接熔斷熔絲達(dá)到加密目的,這(zhè)是個不可逆的(de)過程,一旦加密(mì)之後,芯🌍片就無(wu)法再擦除,讀取(qu)或者燒錄,甚至(zhì)仿真器也無法(fǎ)再連接芯片。
三(sān)級加密是一條(tiao)不歸路,一旦加(jiā)密,芯片的固件(jian)就再也無法更(gèng)💃改,因此需要慎(shen)重再慎重。

這三(sān)種加密方式對(dui)産品的保護一(yi)級比一級嚴密(mi),在☎️不同的⚽産品(pin)上靈活的使用(yong)不同加密方式(shi)才可以保護好(hǎo)🧑🏽🤝🧑🏻自己的勞💋動成(cheng)果而又不被這(zhe)種保護所✂️束縛(fù)。
加密方式盡管(guǎn)多種多樣,但最(zuì)終都是對芯片(pian)進行一㊙️些特定(ding)的操作,以達到(dao)保護代碼的目(mù)的。緻遠電子結(jié)合十餘年🐅年的(de)燒錄器研發經(jing)驗,自主獨立研(yán)發的P800系列編程(chéng)器能根據不同(tóng)的芯片靈活的(de)設置其加密方(fāng)🐅式,并且通過内(nèi)部嚴格的流程(chéng)控制,有效的防(fáng)止芯片㊙️的誤加(jia)密,可爲各大方(fāng)案公司提供安(an)⛷️全、可靠的編程(chéng)㊙️解決方案。
