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