嵌入式軟件代碼保護(hù)系統(tǒng)的設(shè)計(jì)方案
出處:417568727 發(fā)布于:2011-05-28 15:39:22
嵌入式產(chǎn)品由于其獨(dú)特的穩(wěn)定性、低廉的成本優(yōu)勢以及優(yōu)良的可移植性, 已經(jīng)在互聯(lián)網(wǎng)、科學(xué)研究、軍事技術(shù)、工業(yè)控制、通訊以及人們的日常生活中得到了廣泛的應(yīng)用。在嵌入式系統(tǒng)中, 如何保護(hù)的嵌入式軟件代碼, 對于保護(hù)公司的知識產(chǎn)權(quán)、延長產(chǎn)品的壽命, 提高公司的利潤有著非常重要的意義。目前的嵌入式系統(tǒng)中, 軟件代碼一般存儲在諸如EEPROM、F lash等存儲器中, 但其中存儲的程序代碼易被讀取, 非法拷貝, 是其致命弱點(diǎn)。
目前為止, 有些廠商采取先預(yù)先加密軟件代碼, 寫入存儲器中, 執(zhí)行時(shí), 通過軟件解碼來實(shí)現(xiàn)對代碼的保護(hù), 但是這種方法效率低, 成本高, 實(shí)用性比較低; 現(xiàn)有的一些硬件加解密系統(tǒng), 只能保護(hù)有限類型的NAND- Flash存儲器中的代碼, 并且系統(tǒng)中的密匙一旦固化就無法改變。針對這些局限性, 本文提出了一種全新的嵌入式產(chǎn)品軟件代碼保護(hù)系統(tǒng), 該系統(tǒng)適用于目前通用的基于I2C、SPI總線的EEPROM 和F lash;以及主流廠商的NAND- Flash。
1 嵌入式軟件代碼保護(hù)系統(tǒng)構(gòu)成
嵌入式軟件代碼保護(hù)系統(tǒng)由兩部分組成: PC 機(jī)上運(yùn)行的TDES加密軟件和硬件電路中隔離處理器與軟件代碼存儲器直接通路的代碼保護(hù)芯片組成, 如圖1所示。PC機(jī)上的TDES 程序?qū)η度胧杰浖a進(jìn)行加密, 生成密文形式的數(shù)據(jù), 并寫入軟件代碼存儲器中, 供嵌入式系統(tǒng)使用; 同時(shí)通過GPIO 口模擬I2C 或者SPI通信協(xié)議, 對代碼保護(hù)芯片中, 存放相關(guān)重要數(shù)據(jù)的EERPOM 區(qū)域進(jìn)行配置: 達(dá)到諸如更改代碼保護(hù)芯片中TDES的密匙的目的。
代碼保護(hù)芯片內(nèi)嵌于嵌入式系統(tǒng)的硬件電路中, 用戶可以選擇隔離處理器和指令代碼存儲器之間的通路: 所有寫入存儲器的數(shù)據(jù)將被加密后才寫入其中; 所有從存儲器中讀出的數(shù)據(jù)將被解密后才送回給CPU執(zhí)行; 用戶也可以選擇不隔離處理器和存儲器之間的通路: 讀寫操作將不會進(jìn)行任何加密和解密。

圖1 嵌入式軟件代碼保護(hù)系統(tǒng)
2 代碼保護(hù)芯片設(shè)計(jì)
2. 1 內(nèi)部結(jié)構(gòu)簡介
代碼保護(hù)芯片隔斷了原有嵌入式系統(tǒng)處理器和軟件代碼存儲器之間的直接通路, 如圖2所示。該系統(tǒng)主要分成主從I2C 總線接口模塊、主從SPI總線接口模塊、Nand- Flash通信模塊以及控制模塊。
如果用戶選擇I2C 接口, 芯片將通過I2C總線和存儲器進(jìn)行通信, 如果用戶選擇SPI接口, 芯片將通過SPI總線和存儲器進(jìn)行通信, 否則芯片將通過NAND- F lash模塊和存儲器進(jìn)行通信。
如果用戶選擇加密模式, 那么處理器和存儲器之間的通路將被隔斷, 所有準(zhǔn)備寫入存儲器的數(shù)據(jù)經(jīng)過TDES加密后才寫入其中, 所有從存儲器讀入的數(shù)據(jù)經(jīng)過TDES解密后才送回至處理器執(zhí)行; 如果用戶選擇不加密模式, 那么處理器將直接和存儲器進(jìn)行通信, 代碼保護(hù)芯片將不啟動(dòng)任何加密/解密操作。這種設(shè)計(jì)方式, 使得芯片可以適用于更多的嵌入式系統(tǒng), 同時(shí)也給予用戶限度的靈活性。

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

圖3 處理模塊框圖
2.3 芯片內(nèi)部EEPROM 存儲數(shù)據(jù)內(nèi)容介紹
由于存儲器出自不同的廠商, 因此對于存儲器的讀寫等命令存在著一定的差異, 為了滿足系統(tǒng)對不同廠商芯片的適用性, 該代碼保護(hù)芯片內(nèi)部內(nèi)嵌了一個(gè)64字節(jié)的可讀寫EEPROM, 用來存放一些特殊的數(shù)據(jù),用戶可以通過特殊的命令, 達(dá)到對相關(guān)地址的寫操作。相關(guān)地址存放數(shù)據(jù)如下所示:
地址0x00至0x05: 分別代表SPI讀操作指令代碼、SPI寫操作指令代碼、SPI寫狀態(tài)寄存器指令代碼、SPI讀狀態(tài)寄存器指令代碼、SPI關(guān)閉寫操作指令代碼、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ū)域?yàn)楸A魠^(qū)域, 預(yù)留給將來使用。
3 代碼保護(hù)芯片設(shè)計(jì)實(shí)現(xiàn)
3.1 綜合結(jié)果
本文設(shè)計(jì)的嵌入式軟件代碼安全保護(hù)芯片, 使用V erilog 語言進(jìn)行編程, 并進(jìn)行了功能驗(yàn)證, 使用Quartus- 7 2進(jìn)行了綜合及布局布線, 并完成了后仿真。實(shí)驗(yàn)結(jié)果表明, 整個(gè)系統(tǒng)適用的時(shí)鐘工作頻率介于4MH z和96MH z之間, 滿足目前主流的嵌入式系統(tǒng)的數(shù)據(jù)讀寫速度。使用Stratix II系列的EP2S15F484C3器件進(jìn)行了綜合, 綜合結(jié)果見圖4:

圖4 綜合結(jié)果
3.2 系統(tǒng)性能分析
3.2.1 基于I2C /SPI接口的存儲器
當(dāng)代碼保護(hù)芯片次從處理器接收連續(xù)讀操作指令后, 由于代碼保護(hù)芯片需要從存儲器預(yù)取64 字節(jié), 所以必須等待1 28ms(和存儲器通信的頻率為400K) ; 因?yàn)榇a保護(hù)芯片采取流水線技術(shù)的TDES, 所以第51個(gè)時(shí)鐘周期后, 解密后的數(shù)據(jù)就可以傳送回處理器, 由于在向處理器傳送數(shù)據(jù)的同時(shí), 代碼保護(hù)芯片也同時(shí)從存儲器接受數(shù)據(jù), 因此, 處理器不需再等待額外的時(shí)間, 就可以連續(xù)的從代碼保護(hù)芯片接受解密后的指令。因此當(dāng)系統(tǒng)時(shí)鐘工作頻率為4MH z, 處理器必須等待1 29275ms后, 才可接收數(shù)據(jù); 當(dāng)系統(tǒng)始終工作頻率為96MH z, 處理器只須等待1 28053m s后, 就可接收數(shù)據(jù)。
3.2.2 N and- Flash存儲器
目前主流的Nand- F lash器件, 其的串行讀出數(shù)據(jù)時(shí)間為50ns, 預(yù)取64 字節(jié), 必須等待3200ns,TDES解密時(shí)間同節(jié)3.1.1, 因此當(dāng)系統(tǒng)時(shí)鐘工作頻率為4MH z, 處理器必須等待15 95us后, 才可接收數(shù)據(jù);而當(dāng)系統(tǒng)時(shí)鐘工作頻率為96MH z, 處理器只須等待3 73125us后, 就可接收數(shù)據(jù)。
本文設(shè)計(jì)的嵌入式軟件代碼保護(hù)系統(tǒng), 已經(jīng)成功地對國家半導(dǎo)體公司的CAT1026芯片存儲器進(jìn)行解/加密讀寫操作, 雖然基于TDES的加密和解密的過程降低了嵌入式系統(tǒng)的運(yùn)行速度, 但是以少量降低性能換取更高的產(chǎn)品安全性, 對于用戶來說, 是完全可以接受的。它對于保護(hù)公司的知識產(chǎn)權(quán)、提高產(chǎn)品的市場壽命有著重要的、積極的意義, 有著極為廣泛的應(yīng)用前景。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04
- 高速PCB信號完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









