新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 解讀FPGA設計的安全性

        解讀FPGA設計的安全性

        作者: 時間:2009-04-20 來源:網絡 收藏

          首先,工程師應用萊迪思的軟件設計工具套件ispLEVER ( 7.0或更高版本)開發代碼,完成綜合、映射、布局布線和仿真后,產生位流,經最后驗證后再用ispVM系統( 萊迪思的編程工具)對電路板編程。當設計師對系統的功能感到滿意時,此時就要來做保護設計的工作。可以用萊迪思的ispLEVER工具或萊迪思的編程工具ispVM System對位流加密,用戶可選擇128位密鑰。編碼的位流可以是十六進制(從0至F ,不區分大小寫)或一個ASCII密鑰(可用所有字母數字字符和空格,大小寫敏感),然后使用任何非加密的文件編碼將該位流加載到配置存儲器中。

        用128位AES密鑰保護設計

        圖3 用128位AES密鑰保護設計
          現在密鑰應該已經保存在一個可編程存儲區。編程是通過器件的JTAG端口進行。應該注意到,用密鑰對位流加了密,現在只能通過加密的位流對進行配置。用sysCONFIG接口或JTAG接口可以對萊迪思的進行編程。該sysCONFIG接口可以讓用戶使用集中配置模式,或Flash SPI ,或以并行的方式使用并行配置模式重新輸入數據。符合IEEE 1149.1和IEEE 1532標準的JTAG端口允許以突發位流(或快速編程)模式、或用1532模式對數據進行編程。JTAG端口用來對器件中的AES 128位密鑰編程。不需要用特別的模式來保存FPGA中的128位密鑰。

          在萊迪思的FPGA中使用一個編碼位流可以防止器件的配置被重新讀取,但需要一些措施來確保配置能夠正確地運作。位流未加密時,FPGA執行CRC操作。如果程序不正確,DONE信號保持在0,INITN變為0 。用戶仍然可以訪問JTAG Usercode寄存器。對FPGA的位流譯碼時,它存儲位流用戶碼,用來存放FPGA應用程序的版本號。

          圖4展示了加密位流的數據路徑。當數據進入FPGA時,解碼器讀引導程序,前面所有的數據被忽略。即使解碼器檢測到加密的文件,如果FPGA的密鑰未被編程,數據則被阻止,DONE信號保持在'0 ' (表示配置失敗) 。如果密鑰已被編程,FPGA檢查引導程序,指出后面所有的數據應通過解碼器。然后FPGA檢查標準引導程序,得知數據是否已被壓縮。如果數據沒有被壓縮,則將它直接發送到解碼單元。如果數據已壓縮,就先把它送到解壓縮引擎,然后再送到解碼單元。一旦通過CRC校驗,即對SRAM進行編程。DONE位被激活時,解壓縮和譯碼擎不工作,允許其它JTAG鏈元件接收配置數據。

        加密位流的數據路徑

        圖4 加密位流的數據路徑

          萊迪思的經濟型ECP2/M FPGA擁有位流加密功能,內置閃存的非易失LatticeXP2 FPGA也有此功能。LatticeXP2 FPGA把SRAM映射合并入同一塊芯片,設計和含有位流配置的Flash映射都在此芯片上工作。當設計師重點關注電路板的面積和快速啟動時間時,這類器件特別有用。

          內置閃存的FPGA

          非易失FPGA提供額外的Flash保護安全功能,可以防止內存因意外或未經授權的操作被擦除或重新編程。Flash保護功能采用64位密鑰。

          對器件進行刪除或重新編程時, ispVM System會核查Flash是否被保護。如果是,就要求用戶輸入64位密鑰,然后ispVM檢查這個密鑰是否與存儲在器件中的密鑰一致,如果一致就執行操作。但是,如果丟失了密鑰,器件就再也不能被擦除了。

          這些措施不僅保護了用戶電路板上的設計,而且也防止了試圖修改系統功能的盜版行為。這些功能還有助于遠程的系統更新。萊迪思FPGA提供這一功能,使用戶可以通過對FPGA重復編程來更新他們的系統,而不會中斷它與周圍元件的聯系。此功能被稱為TransFR 。

          FPGA最值得注意的的特點是設計人員很容易對器件進行重構。但是,重構通常意味著系統要中斷很長時間。但是,萊迪思開發的TransFR技術將重構的影響降至最低。萊迪思的幾個FPGA系列都支持TransFR技術,包括那些含有內置閃存的器件,如MachXO 、LatticeXP和LatticeXP2 ,以及像LatticeECP2 /M那樣的SRAM FPGA。

        用最短的中斷系統時間進行遠程更新

        圖5 用最短的中斷系統時間進行遠程更新



        關鍵詞: FPGA 安全性

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 舒兰市| 阿克苏市| 东海县| 桂阳县| 循化| 荔波县| 鹤庆县| 普兰县| 合江县| 弋阳县| 宝鸡市| 南靖县| 美姑县| 开鲁县| 苍南县| 湘潭县| 广州市| 金阳县| 甘谷县| 明光市| 邛崃市| 徐闻县| 临夏市| 博湖县| 体育| 类乌齐县| 崇州市| 岱山县| 扎鲁特旗| 呼伦贝尔市| 南郑县| 绥阳县| 化州市| 石家庄市| 通道| 多伦县| 罗平县| 双鸭山市| 阿坝县| 磴口县| 南阳市|