《電子技術應用》
您所在的位置:首頁 > 微波|射頻 > 設計應用 > 采用閃存的微控制器在代碼發布中的代碼保護
采用閃存的微控制器在代碼發布中的代碼保護
摘要: 閃存允許在生產線的終點進行實時編程,也允許在生產之后修改代碼。但是如果通過因特網,公司將面臨IP將泄漏給競爭者的問題。應該采用各種方法來控制更新授權許可,并在泄漏產品的IP的情況下, 提供現場更新。
Abstract:
Key words :

包裝信息可能包含:指定目標設備、代碼版本、大小、日期和其它對用戶有用的信息。這個信息可警告操作員正在使用一個較低版本的固件" title="固件">固件,從而會使設備的部分性能降低,或者正在裝載一個不支持的指定設備。

在如今競爭激烈的市場中,保護公司的知識產權(IP)是最高優先級的事項之一。多年的開發可能產生了包含很多商業秘密或專有算法的設計。隨著基于閃存的微控制器" title="微控制器">微控制器得到更多地應用并集成了更多的特性,許多公司摒棄傳統的一次性可編程(OTP)微控制器(MCU),轉而采用閃存。

閃存允許在生產線的終點進行實時編程,也允許在生產之后修改代碼。但是如果通過因特網,公司將面臨IP將泄漏給競爭者的問題。應該采用各種方法來控制更新授權許可,并在泄漏產品的IP的情況下, 提供現場更新。

代碼保護

保護現場配置的軟件產品的方法很多,采用哪種方法取決于供應商希望保護什么。大多數軟件保護機制是防止對程序或數據進行未經授權的復制。如今復制文件非常容易,通過因特網能很快地找到許多拷貝。當固件是某個硬件平臺的一部分時,保護固件中包含的IP通常比保護對文件的拷貝更重要。當然,如果固件更新需要購買,那么保護拷貝也很重要。

另一個問題涉及基于微控制器產品破解密碼的性能。RSA和DES標準對性能和存儲器的要求都很高。不幸的是,大多數的微控制器在這兩方面的資源都有限,從而要求不同的加密和解密方法。我們必須提供一種通用的或者針對特定設備的密鑰方案。

簡單密碼

循環碼(Rolling-code)產生器" title="產生器">產生器已在車庫門鎖、安全進出卡等多種設備上應用多年。圖1顯示簡單的循環碼產生器是如何工作的。一組具有相同時鐘信號的雙穩態觸發器串聯連接,其輸出端有各種抽頭。在給出的例子中,Q2端沒有被使用,其余的輸出端連接唯一的OR功能端口,該端口在每個時鐘信號沿得到新的輸入位。可能產生的組合數目取決于觸發器的個數和接到OR函數端口的抽頭個數。

 

 

通常將幾個觸發器的輸出用作循環鑰匙碼。實際應用時(如作在車庫門鎖),使用一個完全相同的發生器來測試鑰匙碼。隨著新碼被不斷地使用,會發生整個序列重復出現的情況,這可能是在千萬或幾億個鑰匙碼之后。這時就不能再使用它了。在用于車庫門鎖的情況下,它可以防止罪犯用無線接收機盜聽并簡單地重現鑰匙碼以開門。

在代碼加密的情況下,觸發器的輸出與被加密或解密的數據被送到另外一個OR函數端口(圖2中的A1)。數據的每個字節、字或雙字都與選中的觸發器端口進行OR運算,再加上用戶特定另外函數。那個函數可以簡單到只加上一個常數。這個過程必須是可逆的,所以用戶定義的函數不是隨機的。由安置觸發器抽頭決定的密碼和由移位寄存器的初態、所選定的種子一起提供了加密和解密的算法。可按照串行數字的方法拆分這些密碼,以向特定設備提供唯一的密碼。也就是說,設備的串行號碼僅提供一半的密碼信息,制造商保留其余密碼信息。很明顯,這種方案存在著多種排列。

 

 

在固件更新是向全球發布時,例如,適用所有產品的錯誤的更新,可以使用一個特別的串行碼。解密引擎首先嘗試用全球碼,-----可能是一個特殊數字圖樣。如果全球碼沒有解密出正確的校驗和,才使用唯一的密碼。它可以告訴裝載程序:加密的源文件包含了什么類型的固件更新數據。

傳輸方法

很明顯,產品內必須要有某種解碼引擎和代碼裝載程序。這里討論的技術可以用COP8微控制器來解釋。該目標控制器是包含32KB閃存和1KB RAM的COP8CBR。 對于現場可更新的設備,必須注意這樣一個說明以防止誤解:微控制器必須具有一邊運行程序一邊對閃存進行編程的能力。不能用把控制器保持在重新設置狀態或者要求外部編程來更新存儲著程序的閃存。解碼和裝載程序必須駐留在控制器內部,并且完全可靠。COP8閃存產品能滿足這些要求。

固件的裝載程序是一個代碼模塊,它在重新設置后運行,并能判斷本次裝載是否有效。如果發現被裝載的代碼無效,裝載程序就進入裝載模式(LOAD MODE),直到有能夠操作的固體程序。可通過控制器提供的物理層接口來實現這點。COP8可使用串口。如果當前代碼是有效的,裝載程序會把控制交給固件應用程序的入口。

COP8系列的另一個特性是可以采用軟件陷阱" title="軟件陷阱">軟件陷阱以引導恢復機制。它執行操作碼" title="操作碼">操作碼0x00,可將這個操作碼編程到所有未用單元。如果這個操作碼被執行,操作將從軟件陷阱向量開始,使裝載程序重新評估固件的完整性。這是一個容錯的好特性。不管什么原因,代碼被破壞,裝載程序將得到控制,以便讓技術人員(或用戶)重新裝載固件。

裝載程序使用數據包,數據包有數據頭和校驗和以驗證傳輸。如果數據包傳輸到了控制器并且校驗和是正確的,則裝載程序把它交給解碼引擎(如果它是加密的)。在加密數據的內部有另外一個密碼校驗和,這給解密引擎一個驗證密碼信息的手段。它將首先應用通用碼并測試校驗和,如果失敗,則利用來自串行數字的唯一密碼重試。如果再次失敗,則告訴裝載程序固件對這個設備無效。這也可防止代碼被未經授權的篡改和意外損壞。

如果解密引擎成功地解碼數據, 它將把數據交給在閃存中對實際閃存塊進行編程的程序例程。當然,對于不同產家,這個程序是不同的,在后面的設計實例中將給出COP8的程序。這個程序保留了一個128字節的RAM用于更新閃存。當然,這塊RAM在裝載程序完成后可以存放應用程序的數據。

設計實例

圖3是一個具備解密功能的固件裝載程序的流程圖。裝載程序使用在編程器和系統模擬程序中廣泛使用的修改版Intel HEX數據格式。這將使應用程序現有架構支持標準并易于使用。裝載固件程序用COP8匯編語言編寫,以簡少代碼,并利用器件全部的閃存特性。

簡單來說,Intel HEX格式是一種用ASCII編碼表示的數據記錄格式,用于向設備的存儲器編程對象代碼或數據。該格式由下列字段組成:使用ASCII字符0x3A或者即“:”記錄起始字段、長度范圍為0x00-0xFF的數據長度字段(兩個ASCII字符)、偏移字段、記錄類型字段、信息或數據字段以及校驗和字段。每個字段都由標準的可打印ASCII字符表示。例如,“10”代表十六進制0x10或者十進制16,可表示長度字段。實際上它的編碼是0x31、0x30,這是“0” 和“1” 的ASCII碼。因為內容是可打印的ASCII字符,能被文本編輯器查看,所以需要加密。

表里包括了標準的Intel HEX格式記錄類型。注意該標準只定義了6種記錄類型。為利用現有的結構,裝載程序采用Intel HEX 格式,并指定加密數據為一種新的記錄類型。記錄類型0x10將被用于代表加密數據,這是不能變的。

代碼裝載程序也需要一個流程控制方法,以保證在下一個記錄裝載之前,寫閃存的周期已經完成。在大多數的情況下,應用程序會產生可分成16個字節一組的文件,以方使閱讀。通常閃存是以128或256字節進行分塊,因此必須有一個裝載程序的命令要求從主機來的數據允許可變記錄大小。裝載程序必須能處理256字節的數據,因為按照標準,這是最大的記錄大小。表的底部顯示了本例中新擴展的記錄類型。因為COP8系列器件只有16位地址,無法執行記錄類型0x02到0x05。對于具備更大閃存的處理器,例如CR16,它能直接訪問16M字節的內存,就需要有擴展線性地址的記錄類型。

 

 

觀察圖3中的流程圖,重新設置后的第一個任務是檢驗閃存的內容。這是通過讀取各個128字節的頁面(除了位于閃存頂部的自舉驗證代碼和裝載程序代碼)來完成的。只驗證應用程序的代碼這使計算校驗和非常容易。但如果需要,它也可以包括檢測裝載程序部件。當通過校驗和檢查,控制就被向量轉移到應用程序固件的入口。入口保持不變非常重要。如果它發生了移動,裝載程序會把向量轉到一個不正確的入口,并可能出現崩潰。另外,裝載程序可以從代碼中讀出進入向量,把向量壓入堆棧并返回,以迫使從那個地址開始執行。這個方案允許入口點可變。

如果校檢和失敗,裝載程序將保持控制并不斷地往主機發送信號,用硬件設計實現的任何手段開始裝載。裝載程序也可以控制用戶接口通知這種狀態。在調試系統時,一個表示“固件裝載” 的簡單的LED燈非常有用。

裝載程序將持續地向主機請求記錄,直到主機通過EOF記錄表明沒有記錄了。檢測到的0x10類型記錄 將被送到解碼引擎,并適當解碼數據。這使得實際向閃存寫數據的代碼,既可以操作加密數據,也可操作對未加密數據。對開發和內部測試來說,未加密的數據通路很有價值。當收到EOF記錄后,所有新固件數據都被寫入閃存。然后,裝載程序把控制交還給自舉測試,以驗證新代碼未被破壞。

如上所述,現場可更新設備可以在不曝露IP的情況下得到實現。使用一個簡單的密碼, 制造商的固件就能得到保護,客戶可以在世界各地能夠訪問因特網的地方更新他們的設備。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美一级视频精品观看| 亚洲夜晚福利在线观看| 一本色道久久综合狠狠躁的推荐| 欧美日本精品| 伊人久久大香线| 国产精品影片在线观看| 亚洲欧美一区二区原创| 国产精品久久久久77777| 亚洲黄色成人| 国产精品一区二区三区四区五区| 亚欧成人精品| 欧美伊人久久久久久久久影院| 国产综合久久久久久鬼色| 国产亚洲欧美在线| 一区二区三区成人| 亚洲性av在线| 性欧美xxxx大乳国产app| 久久一区二区三区四区五区| 国产欧美日韩在线播放| 国产精品一区二区三区观看| 国产曰批免费观看久久久| 91久久精品国产91久久性色tv| 亚洲一区二区三区激情| 性久久久久久| 99精品国产在热久久| 免费久久99精品国产| 久久精品道一区二区三区| 欧美在线一区二区三区| 久久米奇亚洲| 亚洲第一福利视频| 999亚洲国产精| 久久亚洲午夜电影| 国产精品免费一区二区三区在线观看| 亚洲欧美另类在线| 欧美精品大片| 国产一区二区三区久久悠悠色av| 亚洲欧美国产精品va在线观看| 久久久久在线| 久久婷婷久久一区二区三区| 性欧美1819性猛交| 久久夜色精品亚洲噜噜国产mv| 久久天堂av综合合色| 欧美日韩免费观看中文| 国产精品专区第二| 国产精品午夜在线观看| 欧美一区三区三区高中清蜜桃| 亚洲精品久久久一区二区三区| 久久女同互慰一区二区三区| 欧美激情在线观看| 欧美亚洲一区二区在线观看| 欧美日韩精品二区第二页| 欧美另类女人| 免费久久99精品国产自在现线| 国产精品视频午夜| 一本色道久久加勒比88综合| 亚洲精品乱码久久久久久久久| 欧美日韩一视频区二区| 久久精品在线| 久久国产精品一区二区三区| 欧美特黄a级高清免费大片a级| 久久国产日本精品| 好吊视频一区二区三区四区| 中日韩午夜理伦电影免费| 精品69视频一区二区三区| 欧美日韩在线免费观看| 欧美视频在线观看一区二区| 最新中文字幕一区二区三区| 艳妇臀荡乳欲伦亚洲一区| 欧美日韩一区二区三| 亚洲免费av观看| 一区二区三区高清视频在线观看| 欧美激情视频一区二区三区在线播放| 欧美11—12娇小xxxx| 亚洲高清资源综合久久精品| 欧美午夜精品电影| a91a精品视频在线观看| 欧美国产日韩一区二区| 久久精品免视看| 在线观看国产日韩| 欧美日韩一区在线观看| 一区视频在线| 国产免费观看久久| 欧美日韩麻豆| 一区二区三区欧美日韩| 国产九色精品成人porny| 亚洲午夜激情免费视频| 国产精品免费aⅴ片在线观看| 亚洲国产欧洲综合997久久| 欧美波霸影院| 欧美日韩成人一区二区| 久久青草欧美一区二区三区| 午夜久久久久久久久久一区二区| 欧美国内亚洲| 一区二区三区四区国产精品| 欧美日韩成人综合| 亚洲日本欧美天堂| 99国产精品99久久久久久粉嫩| 国产裸体写真av一区二区| 欧美日韩在线播| 欧美成人亚洲成人| 在线免费观看欧美| 久久夜色精品国产| 亚洲高清三级视频| 看欧美日韩国产| 久久久综合激的五月天| 亚洲午夜激情在线| 欧美日韩亚洲综合在线| 翔田千里一区二区| 米奇777超碰欧美日韩亚洲| 一区二区欧美视频| 亚洲一区免费网站| 一区二区三区日韩精品| 欧美午夜寂寞影院| 久久国产欧美精品| 亚洲女与黑人做爰| 国产精品成人在线| 免费在线视频一区| 亚洲男人的天堂在线观看| 欧美一二三区精品| 亚洲黄色三级| 欧美日韩精选| 亚洲国产日韩在线一区模特| 欧美日韩你懂的| 欧美大成色www永久网站婷| 一本色道久久综合狠狠躁篇怎么玩| 国产精品中文在线| 伊人成年综合电影网| 国产性色一区二区| 亚洲视频在线观看三级| 国产精品久久久久久久久久久久| 欧美激情在线狂野欧美精品| 在线亚洲激情| 国产精品美女久久久久久2018| 欧美不卡一区| 亚洲三级视频| 国产精品一卡二| 亚洲国产女人aaa毛片在线| 欧美日韩hd| 亚洲人线精品午夜| 一本到高清视频免费精品| 亚洲四色影视在线观看| 一区二区激情视频| 99xxxx成人网| 国产精品久久久久久影院8一贰佰| 免费不卡欧美自拍视频| 两个人的视频www国产精品| 亚洲天堂激情| 国产精品xvideos88| 老鸭窝亚洲一区二区三区| 性欧美在线看片a免费观看| 日韩一级成人av| 欧美久久久久久久久| 国产精品美女久久久久av超清| 国产精品高潮视频| 午夜精品久久久久影视| 国产精品日韩| 国产一区亚洲| 亚洲欧美日韩中文视频| 亚洲欧洲一区二区在线播放| 国产精品久久久对白| 久久成人精品无人区| 免费不卡欧美自拍视频| 狠狠综合久久av一区二区小说| 欧美日韩午夜在线视频| 亚洲黄一区二区| 麻豆精品91| 国产精品国产三级国产普通话99| 亚洲少妇一区| 老司机午夜精品视频| 亚洲精品国产精品乱码不99| 1000部精品久久久久久久久| 欧美成年视频| 亚洲免费人成在线视频观看| 欧美日韩亚洲一区三区| 欧美国产乱视频| 亚洲欧美日韩一区二区在线| 久久精品久久99精品久久| 韩日在线一区| 亚洲福利视频免费观看| 亚洲国产婷婷综合在线精品| 亚洲制服欧美中文字幕中文字幕| 欧美一区2区三区4区公司二百| 欧美gay视频| 狠狠色2019综合网| 欧美丝袜第一区| 久久久高清一区二区三区| 一区二区亚洲欧洲国产日韩| 午夜视频在线观看一区| 亚洲久久成人| 亚洲一区视频| 欧美日韩一区二区免费视频| 在线看片成人| 久久亚洲影音av资源网| 国产精品盗摄一区二区三区| 可以看av的网站久久看| 国产精品v亚洲精品v日韩精品| 国产精品久久国产三级国电话系列| 久久久久9999亚洲精品| 国产精品成人在线| 噜噜噜噜噜久久久久久91| 欧美午夜激情视频| 久久久久9999亚洲精品| 欧美日本精品在线| 精品va天堂亚洲国产| 国产午夜精品在线观看| 久久亚洲午夜电影| 欧美一区午夜视频在线观看| 99亚洲伊人久久精品影院红桃| 亚洲影院色在线观看免费| 久久亚洲精品一区| 欧美亚洲成人免费| 一区二区三区视频在线| 国产精品一区三区| 欧美+日本+国产+在线a∨观看| 久久国产免费看| 欧美日韩p片| 国外视频精品毛片| 国产精品黄色在线观看| 亚洲自拍16p| 国产精品成人一区二区三区吃奶| 久久综合999| 久久国产欧美精品| 国产精品久久久久aaaa| 老司机精品福利视频| 欧美成人网在线| 国内精品久久久久影院薰衣草| 国产婷婷一区二区| 亚洲二区三区四区| 久久久999国产| 亚洲高清中文字幕| 鲁鲁狠狠狠7777一区二区| 久久久之久亚州精品露出| 亚洲一区二区不卡免费| 欧美日韩1080p| 久久大香伊蕉在人线观看热2| 亚洲午夜精品久久久久久浪潮| 国产精品成人一区| 久久久91精品国产一区二区精品| 亚洲在线国产日韩欧美| 亚洲精品乱码久久久久久按摩观| 久久精品国产99国产精品| 一本色道久久综合亚洲二区三区| 亚洲精品免费在线观看| 亚洲高清不卡| 亚洲日本va午夜在线影院| 久久裸体艺术| 亚洲欧美国内爽妇网| 欧美www视频在线观看| 亚洲欧美精品在线| 国产一区二区毛片| 在线视频你懂得一区二区三区| 免费成人黄色av| 欧美亚洲在线视频| 亚洲精品久久久久久下一站| 久久国产主播| 国产亚洲网站| 国产免费观看久久黄| 国产精品一区二区男女羞羞无遮挡| 国产精品99久久久久久久女警| 欧美大成色www永久网站婷| 黄色成人91| 亚洲午夜精品福利| 欧美日韩精品一区二区三区| 国产一区欧美| 亚洲丰满少妇videoshd| 久久成人精品视频| 国产精品美女| 免费精品99久久国产综合精品| 欧美日韩精品免费观看视频完整| 亚洲淫片在线视频| 黑人中文字幕一区二区三区| 亚洲欧美日本日韩| 亚洲午夜精品福利| 久久久久久穴| 欧美中文字幕| 国产精品一区视频| 一区二区三区国产精品| 欧美国产精品专区| 正在播放亚洲一区| 亚洲欧美另类在线观看| 黄色小说综合网站| 欧美不卡在线视频| 国产精品99久久久久久久vr| 欧美不卡高清| 国产精品99久久久久久久vr| 欧美日韩一区不卡| 久久久久久久网站| 国产精品va在线播放我和闺蜜| 国产精品久久久久久久久久久久久久| 在线免费观看视频一区| 在线视频欧美精品| 亚洲永久免费视频| 亚洲欧美另类中文字幕| 亚洲成人在线| 午夜精品久久久久久99热软件| 久久激情五月激情| 亚洲一区二区3| 另类欧美日韩国产在线| 欧美不卡一卡二卡免费版| 激情久久五月天| 亚洲国产视频一区| 久久艳片www.17c.com| 亚洲欧美国产毛片在线| 美女网站在线免费欧美精品| 国产一区二区三区在线观看精品| 亚洲手机成人高清视频| 国产精品久久久一区二区三区| 亚洲高清自拍| 99re66热这里只有精品4| 亚洲区国产区| 一本综合精品| 国产欧美1区2区3区| 欧美一区二区免费| 久久久综合激的五月天| 久久香蕉国产线看观看网| 亚洲伊人第一页| 亚洲一级黄色片| 国产精品久久99| 久久国产88| 亚洲区在线播放| 精东粉嫩av免费一区二区三区| 国产人妖伪娘一区91| 亚洲裸体在线观看| 国产精品美女久久福利网站| 欧美国产日韩一区| 国产精品www色诱视频| 亚洲欧美日产图| 久久精品国产第一区二区三区|