新聞中心

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

嵌入式軟件代碼保護(hù)系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2013-10-31 來(lái)源:網(wǎng)絡(luò) 收藏
目前的嵌入式系統(tǒng)中, 軟件代碼一般存儲(chǔ)在諸如、F lash等存儲(chǔ)器中, 但其中存儲(chǔ)的程序代碼易被讀取, 非法拷貝, 是其致命弱點(diǎn)。

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

1 嵌入式系統(tǒng)構(gòu)成

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

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

2 代碼保護(hù)芯片設(shè)計(jì)

2. 1 內(nèi)部結(jié)構(gòu)簡(jiǎn)介

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

如果用戶選擇I2C 接口, 芯片將通過(guò)I2C總線和存儲(chǔ)器進(jìn)行通信, 如果用戶選擇SPI接口, 芯片將通過(guò)SPI總線和存儲(chǔ)器進(jìn)行通信, 否則芯片將通過(guò)NAND- F lash模塊和存儲(chǔ)器進(jìn)行通信。

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


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 軟件代碼保護(hù) EEPROM FLASH

評(píng)論


相關(guān)推薦

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

關(guān)閉