新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式軟件代碼保護系統(tǒng)的設(shè)計方案

嵌入式軟件代碼保護系統(tǒng)的設(shè)計方案

作者: 時間:2011-05-30 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://2s4d.com/article/150675.htm

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

  由于存儲器出自不同的廠商, 因此對于存儲器的讀寫等命令存在著一定的差異, 為了滿足對不同廠商芯片的適用性, 該芯片內(nèi)部內(nèi)嵌了一個64字節(jié)的可讀寫EEPROM, 用來存放一些特殊的數(shù)據(jù),用戶可以通過特殊的命令, 達到對相關(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ū)域為保留區(qū)域, 預(yù)留給將來使用。

  3 代碼芯片實現(xiàn)

  3.1 綜合結(jié)果

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

圖4 綜合結(jié)果

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

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

  當代碼保護芯片第一次從處理器接收連續(xù)讀操作指令后, 由于代碼保護芯片需要從存儲器預(yù)取64 字節(jié), 所以必須等待1 28ms(和存儲器通信的頻率為400K) ; 因為代碼保護芯片采取流水線技術(shù)的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, 預(yù)取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)成功地對國家半導(dǎo)體公司的CAT1026芯片存儲器進行解/加密讀寫操作, 雖然基于TDES的加密和解密的過程降低了嵌入式系統(tǒng)的運行速度, 但是以少量降低性能換取更高的產(chǎn)品安全性, 對于用戶來說, 是完全可以接受的。它對于保護公司的知識產(chǎn)權(quán)、提高產(chǎn)品的市場壽命有著重要的、積極的意義, 有著極為廣泛的應(yīng)用前景。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉