新聞中心

        EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 采用MAX II器件實現(xiàn)FPGA設(shè)計安全解決方案

        采用MAX II器件實現(xiàn)FPGA設(shè)計安全解決方案

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

          1、時鐘分頻器中的時鐘分頻器用于從系統(tǒng)時鐘產(chǎn)生速率較低的時鐘,供給 II的安全內(nèi)核使用。這是因為安全內(nèi)核不需要運行在非常高的頻率下。特別是當(dāng)系統(tǒng)運行頻率非常高時,時鐘分頻器的作用便比較顯著,否則,如果系統(tǒng)運行頻率較低,可以不使用該分頻器。

          2、隨機數(shù)發(fā)生器(RNG)每次啟動/復(fù)位信號置位時,RNG為64位計數(shù)器產(chǎn)生隨機初始值。然后,隨機數(shù)同時串行移位至 II的安全內(nèi)核。參考設(shè)計采用32位RNG。

          3、隨機數(shù)接收器隨機數(shù)接收器接收來自RNG的串行隨機數(shù),并按照正確的順序排列數(shù)據(jù),將其做為初始值送入64位計數(shù)器。

          4、64位計數(shù)器64位計數(shù)器用于產(chǎn)生送入編碼器的64位數(shù)據(jù)。它是按照公式X=X+A進行的一個簡單加法器。X是一個64位初始值,而A是計數(shù)器遞增值,應(yīng)為質(zhì)數(shù)。初始值X來自RNG。參考設(shè)計中,32位來自RNG,其余32位由用戶在設(shè)計代碼中設(shè)置。A可以由用戶在設(shè)計代碼中設(shè)置。計數(shù)器輸出送入編碼器,對數(shù)據(jù)進行加密。編碼器每次完成前一數(shù)據(jù)的加密后,計數(shù)器數(shù)值遞增。

          5、編碼器編碼器可以采用任何難以破譯的加密標(biāo)準(zhǔn)。參考設(shè)計采用了三重數(shù)據(jù)加密標(biāo)準(zhǔn)(3DES)。3DES編碼器的輸入和輸出是64位值,需要48個時鐘周期完成64位數(shù)據(jù)加密。

          6、移位器/復(fù)用器移位器/復(fù)用器將編碼器輸出比特(16位)的一部分按照特定順序,存儲在寄存器中,編碼器準(zhǔn)備下一數(shù)值時,將其串行移位至比較器。

          7、比較器比較器將 II的編碼數(shù)據(jù)(握手令牌)與FPGA內(nèi)部產(chǎn)生的編碼數(shù)據(jù)逐位比較。如果MAX II器件和FPGA的數(shù)據(jù)相匹配,Enable信號置位,使能用戶設(shè)計功能。如果出現(xiàn)不匹配,請參見下面的可靠性保證一節(jié)。這種方式可以重復(fù)幾次,以產(chǎn)生更多的Enable信號,使能用戶設(shè)計的不同部分。這種重復(fù)方式可以防止有人篡改FPGA比特流(這種可能性較低),致使Enable信號變?yōu)楦唠娖?,?dǎo)致設(shè)計安全失效。

          8、可靠性可靠性部分處理隨機比特錯誤,這種錯誤可能會導(dǎo)致系統(tǒng)停止工作。參考設(shè)計允許每10個時鐘周期中出現(xiàn)一次數(shù)據(jù)不匹配(這僅僅是一個例子,用戶可以根據(jù)實際應(yīng)用,修改該方法,達到最佳效果)。換句話說,如果10個時鐘周期中,數(shù)據(jù)不匹配不超過一次,Enable信號仍將保持高電平,系統(tǒng)繼續(xù)工作。如果10個時鐘周期中出現(xiàn)兩個錯誤,那么,Enable信號變?yōu)榈碗娖?,禁止用戶設(shè)計功能。在啟動/復(fù)位信號置位,復(fù)位系統(tǒng)前,系統(tǒng)停止工作。

        不支持安全方案的FPGA設(shè)計

        圖3:不支持安全的FPGA設(shè)計。

        分頻器相關(guān)文章:分頻器原理

        上一頁 1 2 下一頁

        關(guān)鍵詞: FPGA MAX 器件 方案

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 永平县| 徐汇区| 太白县| 岐山县| 内黄县| 宣武区| 株洲县| 平乐县| 丘北县| 宜丰县| 沂源县| 安仁县| 黄石市| 麻江县| 昌都县| 炉霍县| 建水县| 新密市| 株洲县| 西平县| 林西县| 西盟| 东方市| 仙游县| 延川县| 类乌齐县| 青州市| 黔西| 平南县| 和林格尔县| 嵊州市| 托克逊县| 上饶市| 华宁县| 额尔古纳市| 壶关县| 衡南县| 南溪县| 贡觉县| 剑川县| 从江县|