嵌入式軟件代碼保護系統的設計方案
2.3 芯片內部EEPROM 存儲數據內容介紹
由于存儲器出自不同的廠(chǎng)商, 因此對于存儲器的讀寫(xiě)等命令存在著(zhù)一定的差異, 為了滿(mǎn)足系統對不同廠(chǎng)商芯片的適用性, 該代碼保護芯片內部?jì)惹读艘粋€(gè)64字節的可讀寫(xiě)EEPROM, 用來(lái)存放一些特殊的數據,用戶(hù)可以通過(guò)特殊的命令, 達到對相關(guān)地址的寫(xiě)操作。相關(guān)地址存放數據如下所示:
地址0x00至0x05: 分別代表SPI讀操作指令代碼、SPI寫(xiě)操作指令代碼、SPI寫(xiě)狀態(tài)寄存器指令代碼、SPI讀狀態(tài)寄存器指令代碼、SPI關(guān)閉寫(xiě)操作指令代碼、SPI允許寫(xiě)操作指令代碼。
地址0x06至0x07: 分別代表I2C 器件地址、I2C有效地址字節數。
地址0x08至0x0D: 分別代表NAND - Flash 讀操作指令代碼1、NAND - FLASH 讀操作指令代碼2、NAND - FLASH 讀操作指令代碼3 、NAND- FLASH 頁(yè)編程操作指令代碼1、NAND- FLASH 頁(yè)編程操作指令代碼2、NAND- FLASH有效地址字節數。
地址0x0E至0x25: 分別代表24字節的TDES密匙。
地址0x25以后的區域為保留區域, 預留給將來(lái)使用。
3.1 綜合結果
本文設計的嵌入式軟件代碼安全保護芯片, 使用V erilog 語(yǔ)言進(jìn)行編程, 并進(jìn)行了功能驗證, 使用Quartus- 7 2進(jìn)行了綜合及布局布線(xiàn), 并完成了后仿真。實(shí)驗結果表明, 整個(gè)系統適用的時(shí)鐘工作頻率介于4MH z和96MH z之間, 滿(mǎn)足目前主流的嵌入式系統的數據讀寫(xiě)速度。使用Stratix II系列的EP2S15F484C3器件進(jìn)行了綜合, 綜合結果見(jiàn)圖4:
圖4 綜合結果
3.2 系統性能分析
3.2.1 基于I2C /SPI接口的存儲器
當代碼保護芯片第一次從處理器接收連續讀操作指令后, 由于代碼保護芯片需要從存儲器預取64 字節, 所以必須等待1 28ms(和存儲器通信的頻率為400K) ; 因為代碼保護芯片采取流水線(xiàn)技術(shù)的TDES, 所以第51個(gè)時(shí)鐘周期后, 解密后的數據就可以傳送回處理器, 由于在向處理器傳送數據的同時(shí), 代碼保護芯片也同時(shí)從存儲器接受數據, 因此, 處理器不需再等待額外的時(shí)間, 就可以連續的從代碼保護芯片接受解密后的指令。因此當系統時(shí)鐘工作頻率為4MH z, 處理器必須等待1 29275ms后, 才可接收數據; 當系統始終工作頻率為96MH z, 處理器只須等待1 28053m s后, 就可接收數據。
3.2.2 N and- Flash存儲器
目前主流的Nand- F lash器件, 其最大的串行讀出數據時(shí)間為50ns, 預取64 字節, 必須等待3200ns,TDES解密時(shí)間同節3.1.1, 因此當系統時(shí)鐘工作頻率為4MH z, 處理器必須等待15 95us后, 才可接收數據;而當系統時(shí)鐘工作頻率為96MH z, 處理器只須等待3 73125us后, 就可接收數據。
本文設計的嵌入式軟件代碼保護系統, 已經(jīng)成功地對國家半導體公司的CAT1026芯片存儲器進(jìn)行解/加密讀寫(xiě)操作, 雖然基于TDES的加密和解密的過(guò)程降低了嵌入式系統的運行速度, 但是以少量降低性能換取更高的產(chǎn)品安全性, 對于用戶(hù)來(lái)說(shuō), 是完全可以接受的。它對于保護公司的知識產(chǎn)權、提高產(chǎn)品的市場(chǎng)壽命有著(zhù)重要的、積極的意義, 有著(zhù)極為廣泛的應用前景。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論