<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 解讀FPGA設(shè)計(jì)的安全性

          解讀FPGA設(shè)計(jì)的安全性

          作者: 時(shí)間:2009-04-20 來源:網(wǎng)絡(luò) 收藏

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

          用128位AES密鑰保護(hù)設(shè)計(jì)

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

            在萊迪思的FPGA中使用一個(gè)編碼位流可以防止器件的配置被重新讀取,但需要一些措施來確保配置能夠正確地運(yùn)作。位流未加密時(shí),F(xiàn)PGA執(zhí)行CRC操作。如果程序不正確,DONE信號(hào)保持在0,INITN變?yōu)? 。用戶仍然可以訪問JTAG Usercode寄存器。對(duì)FPGA的位流譯碼時(shí),它存儲(chǔ)位流用戶碼,用來存放FPGA應(yīng)用程序的版本號(hào)。

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

          加密位流的數(shù)據(jù)路徑

          圖4 加密位流的數(shù)據(jù)路徑

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

            內(nèi)置閃存的FPGA

            非易失FPGA提供額外的Flash保護(hù)安全功能,可以防止內(nèi)存因意外或未經(jīng)授權(quán)的操作被擦除或重新編程。Flash保護(hù)功能采用64位密鑰。

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

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

            FPGA最值得注意的的特點(diǎn)是設(shè)計(jì)人員很容易對(duì)器件進(jìn)行重構(gòu)。但是,重構(gòu)通常意味著系統(tǒng)要中斷很長時(shí)間。但是,萊迪思開發(fā)的TransFR技術(shù)將重構(gòu)的影響降至最低。萊迪思的幾個(gè)FPGA系列都支持TransFR技術(shù),包括那些含有內(nèi)置閃存的器件,如MachXO 、LatticeXP和LatticeXP2 ,以及像LatticeECP2 /M那樣的SRAM FPGA。

          用最短的中斷系統(tǒng)時(shí)間進(jìn)行遠(yuǎn)程更新

          圖5 用最短的中斷系統(tǒng)時(shí)間進(jìn)行遠(yuǎn)程更新



          關(guān)鍵詞: FPGA 安全性

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();