當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]嵌入式軟件代碼保護系統(tǒng)的設計方案

嵌入式產(chǎn)品由于其獨特的穩(wěn)定性、低廉的成本優(yōu)勢以及優(yōu)良的可移植性, 已經(jīng)在互聯(lián)網(wǎng)、科學研究、軍事技術、工業(yè)控制、通訊以及人們的日常生活中得到了廣泛的應用。在嵌入式系統(tǒng)中, 如何保護核心的嵌入式軟件代碼, 對于保護公司的知識產(chǎn)權、延長產(chǎn)品的壽命, 提高公司的利潤有著非常重要的意義。目前的嵌入式系統(tǒng)中, 軟件代碼一般存儲在諸如EEPROM、F lash等存儲器中, 但其中存儲的程序代碼易被讀取, 非法拷貝, 是其致命弱點。

  目前為止, 有些廠商采取先預先加密軟件代碼, 寫入存儲器中, 執(zhí)行時, 通過軟件解碼來實現(xiàn)對代碼的保護, 但是這種方法效率低, 成本高, 實用性比較低; 現(xiàn)有的一些硬件加解密系統(tǒng), 只能保護有限類型的NAND- Flash存儲器中的代碼, 并且系統(tǒng)中的密匙一旦固化就無法改變。針對這些局限性, 本文提出了一種全新的嵌入式產(chǎn)品軟件代碼保護系統(tǒng), 該系統(tǒng)適用于目前通用的基于I2C、SPI總線的EEPROM 和F lash;以及主流廠商的NAND- Flash。

  1  嵌入式軟件代碼保護系統(tǒng)構成

  嵌入式軟件代碼保護系統(tǒng)由兩部分組成: PC 機上運行的TDES加密軟件和硬件電路中隔離處理器與軟件代碼存儲器直接通路的代碼保護芯片組成, 如圖1所示。PC機上的TDES 程序對嵌入式軟件代碼進行加密, 生成密文形式的數(shù)據(jù), 并寫入軟件代碼存儲器中, 供嵌入式系統(tǒng)使用; 同時通過GPIO 口模擬I2C 或者SPI通信協(xié)議, 對代碼保護芯片中, 存放相關重要數(shù)據(jù)的EERPOM 區(qū)域進行配置: 達到諸如更改代碼保護芯片中TDES的密匙的目的。

  代碼保護芯片內(nèi)嵌于嵌入式系統(tǒng)的硬件電路中, 用戶可以選擇隔離處理器和指令代碼存儲器之間的通路: 所有寫入存儲器的數(shù)據(jù)將被加密后才寫入其中; 所有從存儲器中讀出的數(shù)據(jù)將被解密后才送回給CPU執(zhí)行; 用戶也可以選擇不隔離處理器和存儲器之間的通路: 讀寫操作將不會進行任何加密和解密。

圖1  嵌入式軟件代碼保護系統(tǒng)[!--empirenews.page--]

  2  代碼保護芯片設計

  2. 1  內(nèi)部結構簡介

  代碼保護芯片隔斷了原有嵌入式系統(tǒng)處理器和軟件代碼存儲器之間的直接通路, 如圖2所示。該系統(tǒng)主要分成主從I2C 總線接口模塊、主從SPI總線接口模塊、Nand- Flash通信模塊以及核心控制模塊。

  如果用戶選擇I2C 接口, 芯片將通過I2C總線和存儲器進行通信, 如果用戶選擇SPI接口, 芯片將通過SPI總線和存儲器進行通信, 否則芯片將通過NAND- F lash模塊和存儲器進行通信。

  如果用戶選擇加密模式, 那么處理器和存儲器之間的通路將被隔斷, 所有準備寫入存儲器的數(shù)據(jù)經(jīng)過TDES加密后才寫入其中, 所有從存儲器讀入的數(shù)據(jù)經(jīng)過TDES解密后才送回至處理器執(zhí)行; 如果用戶選擇不加密模式, 那么處理器將直接和存儲器進行通信, 代碼保護芯片將不啟動任何加密/解密操作。這種設計方式, 使得芯片可以適用于更多的嵌入式系統(tǒng), 同時也給予用戶最大限度的靈活性。

圖2  代碼保護芯片架構

  2 .2  核心處理模塊

  核心處理模塊是整個系統(tǒng)的核心部分, 如圖3所示: 主要完成指令譯碼、控制FIFO 的讀寫、控制TDES加密/解密的運行, 控制I2C、SPI、通用N and- Flash模塊和外界的數(shù)據(jù)接收和傳送以及對內(nèi)部EEPROM進行操作。當代碼保護芯片接收到處理器發(fā)出的讀數(shù)據(jù)命令后, 將從存儲器中預取64 字節(jié)的數(shù)據(jù), 然后進行TDES解密。解密的同時, 芯片再次從存儲器預取64字節(jié)的數(shù)據(jù), 寫入內(nèi)部的另外的64字節(jié)FIFO 中: 乒乓FIFO 架構的設計以及采用流水線技術的TDES加密/解密, 大大提高了代碼保護芯片的效率。

圖3  核心處理模塊框圖[!--empirenews.page--]

  2.3  芯片內(nèi)部EEPROM 存儲數(shù)據(jù)內(nèi)容介紹

  由于存儲器出自不同的廠商, 因此對于存儲器的讀寫等命令存在著一定的差異, 為了滿足系統(tǒng)對不同廠商芯片的適用性, 該代碼保護芯片內(nèi)部內(nèi)嵌了一個64字節(jié)的可讀寫EEPROM, 用來存放一些特殊的數(shù)據(jù),用戶可以通過特殊的命令, 達到對相關地址的寫操作。相關地址存放數(shù)據(jù)如下所示:

  地址0x00至0x05: 分別代表SPI讀操作指令代碼、SPI寫操作指令代碼、SPI寫狀態(tài)寄存器指令代碼、SPI讀狀態(tài)寄存器指令代碼、SPI關閉寫操作指令代碼、SPI允許寫操作指令代碼。

  地址0x06至0x07: 分別代表I2C 器件地址、I2C有效地址字節(jié)數(shù)。

  地址0x08至0x0D: 分別代表NAND - Flash 讀操作指令代碼1、NAND - FLASH 讀操作指令代碼2、NAND - FLASH 讀操作指令代碼3 、NAND- FLASH 頁編程操作指令代碼1、NAND- FLASH 頁編程操作指令代碼2、NAND- FLASH有效地址字節(jié)數(shù)。

  地址0x0E至0x25: 分別代表24字節(jié)的TDES密匙。

  地址0x25以后的區(qū)域為保留區(qū)域, 預留給將來使用。

  3  代碼保護芯片設計實現(xiàn)

  3.1  綜合結果

  本文設計的嵌入式軟件代碼安全保護芯片, 使用V erilog 語言進行編程, 并進行了功能驗證, 使用Quartus- 7 2進行了綜合及布局布線, 并完成了后仿真。實驗結果表明, 整個系統(tǒng)適用的時鐘工作頻率介于4MH z和96MH z之間, 滿足目前主流的嵌入式系統(tǒng)的數(shù)據(jù)讀寫速度。使用Stratix II系列的EP2S15F484C3器件進行了綜合, 綜合結果見圖4:

圖4  綜合結果

  3.2  系統(tǒng)性能分析

  3.2.1  基于I2C /SPI接口的存儲器

  當代碼保護芯片第一次從處理器接收連續(xù)讀操作指令后, 由于代碼保護芯片需要從存儲器預取64 字節(jié), 所以必須等待1 28ms(和存儲器通信的頻率為400K) ; 因為代碼保護芯片采取流水線技術的TDES, 所以第51個時鐘周期后, 解密后的數(shù)據(jù)就可以傳送回處理器, 由于在向處理器傳送數(shù)據(jù)的同時, 代碼保護芯片也同時從存儲器接受數(shù)據(jù), 因此, 處理器不需再等待額外的時間, 就可以連續(xù)的從代碼保護芯片接受解密后的指令。因此當系統(tǒng)時鐘工作頻率為4MH z, 處理器必須等待1 29275ms后, 才可接收數(shù)據(jù); 當系統(tǒng)始終工作頻率為96MH z, 處理器只須等待1 28053m s后, 就可接收數(shù)據(jù)。

  3.2.2  N and- Flash存儲器

  目前主流的Nand- F lash器件, 其最大的串行讀出數(shù)據(jù)時間為50ns, 預取64 字節(jié), 必須等待3200ns,TDES解密時間同節(jié)3.1.1, 因此當系統(tǒng)時鐘工作頻率為4MH z, 處理器必須等待15 95us后, 才可接收數(shù)據(jù);而當系統(tǒng)時鐘工作頻率為96MH z, 處理器只須等待3 73125us后, 就可接收數(shù)據(jù)。

  本文設計的嵌入式軟件代碼保護系統(tǒng), 已經(jīng)成功地對國家半導體公司的CAT1026芯片存儲器進行解/加密讀寫操作, 雖然基于TDES的加密和解密的過程降低了嵌入式系統(tǒng)的運行速度, 但是以少量降低性能換取更高的產(chǎn)品安全性, 對于用戶來說, 是完全可以接受的。它對于保護公司的知識產(chǎn)權、提高產(chǎn)品的市場壽命有著重要的、積極的意義, 有著極為廣泛的應用前景。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉