新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 拒絕破解:從共享單車談如何防止代碼失竊

        拒絕破解:從共享單車談如何防止代碼失竊

        作者:ZLG致遠電子 時間:2017-04-07 來源:電子產品世界 收藏

          如今共享大戰愈演愈烈,摩拜之后,小黃、小藍更是層出不窮。“共享”給大家帶來方便的同時,也在經歷著嚴峻的考驗。為了防止單車被破解,必須采取嚴格可靠的保密措施,為產品保駕護航。

        本文引用地址:http://www.104case.com/article/201704/346327.htm

          看到那些被刮去號碼牌,據為己有的共享單車,作為工程師的我,不禁想到自己加班開發的代碼可能會被別人分分鐘讀出來破解,頗有些擔心,眼前這些就是實實在在的前“車”之鑒。

            

         

          面對日益重要知識產權保護,大部分廠商為設計完善了安全的代碼保護方案——。各個廠商的手段不同,主要分為幾類:

          一級(可擦除);

          二級加密(密碼加密);

          三級加密(加“死密”)。

          不同的芯片可能提供了一種或多種級別的加密方式,根據不同的需求靈活使用加密方案才可以做到游刃有余。

          一級加密

          如果你的產品可能需要升級固件,建議使用這種加密方式。

          一級加密又分為多種形式,最常見的一種形式經常在芯片手冊中叫做“Protect”。加密后如果試圖讀出芯片中的代碼,則會讀出全0x00,或者是全0xFF,甚至是隨機數據,但是通過某些特殊的方法,比如擦除或是解保護,就可以將芯片重置為默認狀態。

          另外一種常見于ARM芯片,我們知道ARM芯片采用統一的編程接口SWD接口,某些ARM芯片會提供兩個AP(Access Port),通過關閉訪問內部空間的AP可以達到加密的目的。而如果想解鎖,就要訪問另一條AP,這條AP只可以訪問一個寄存器,通過寫入該寄存器特定的數據就可以將芯片重置為默認狀態。

          還有一種加密方式和上面類似,只不過采用了兩個編程接口,而不是同一編程接口的兩條AP。

          總之,一級加密就是讓你無法讀取芯片數據,而又可以通過擦除再次升級固件。

            

         

          二級加密

          如果你的產品需要升級固件,但是你又不想別人也隨意升級你的固件,可以使用這種加密方式。

          二級加密與一級加密的不同之處在于,二級加密在加密時需要提供一段密碼,該密碼會保存到芯片內部,而如果你想重置芯片,則需要提供這段密碼。這就防止了沒有權限(不知道密碼)的一方升級代碼。

          二級加密為密碼保護的加密,不過部分廠商的芯片可能并沒有提供這種加密方案。

            

         

          三級加密

          如果你的產品要批量生產了,也不用考慮升級固件,可以使用這種加密方式。

          三級加密通過向芯片特定位置寫入特定數據,或者是直接熔斷熔絲達到加密目的,這是個不可逆的過程,一旦加密之后,芯片就無法再擦除,讀取或者燒錄,甚至仿真器也無法再連接芯片。

          三級加密是一條不歸路,一旦加密,芯片的固件就再也無法更改,因此需要慎重再慎重。

            

         

          這三種加密方式對產品的保護一級比一級嚴密,在不同的產品上靈活的使用不同加密方式才可以保護好自己的勞動成果而又不被這種保護所束縛。

          加密方式盡管多種多樣,但最終都是對芯片進行一些特定的操作,以達到保護代碼的目的。



        關鍵詞: 加密 芯片

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁波市| 辽宁省| 保山市| 醴陵市| 托克托县| 天津市| 许昌市| 广东省| 巴林左旗| 黑龙江省| 磴口县| 惠安县| 五台县| 廉江市| 冷水江市| 中方县| 林西县| 微博| 湄潭县| 江永县| 海宁市| 静海县| 丹凤县| 安多县| 四川省| 壤塘县| 东乌珠穆沁旗| 嘉兴市| 楚雄市| 武安市| 三门峡市| 深泽县| 鄱阳县| 聂拉木县| 河曲县| 如东县| 大庆市| 开化县| 闸北区| 兴宁市| 揭东县|