0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺析FPGA設(shè)計的安全性

FPGA設(shè)計論壇 ? 來源:未知 ? 2023-10-24 15:50 ? 次閱讀

wKgZomU3eFaAYTD5AAADFPiCFw8521.pngwKgZomU3eFeAacKOAAAAuFYhST8980.png

點擊上方藍字關(guān)注我們

與開發(fā)成本很高的ASIC相比,FPGA可重復(fù)編程的性能正受到系統(tǒng)設(shè)計者的青睞。此外, FPGA的性能和功能也越來越強大,包括32位軟處理器、SERDES、 DSP塊和高性能的接口。現(xiàn)在的低成本FPGA甚至可以滿足大批量的應(yīng)用。設(shè)計人員采用FPGA能夠快速開發(fā)產(chǎn)品,以應(yīng)對產(chǎn)品快速上市(市場要求縮短產(chǎn)品的開發(fā)時間)和遠程更新的需求。
但是,把器件生產(chǎn)、現(xiàn)場更新和固件遠程重構(gòu)的工作外包可能會導(dǎo)致FPGA被復(fù)制、克隆或盜版。這對某些企業(yè)是個嚴重的問題,因為有些算法對企業(yè)保持競爭優(yōu)勢是必不可少的,而外包可能使這些算法被別人利用。因此,考慮FPGA設(shè)計的安全性是一件非常重要的事。
FPGA有兩種類型 :基于SRAM、需要用外部引導(dǎo)器件配置的易失FPGA,以及將配置保存在內(nèi)存中因而不需要外部引導(dǎo)器件的非易失FPGA。基于 SRAM的FPGA是易失器件。如果切斷電源,配置即被刪除,必須對器件進行重新配置,然后器件才能工作。這類器件可以用處理器或使用SPI或并行閃存通過JTAG端口編程。就安全性而言,它們是很脆弱的。一旦系統(tǒng)上電,盜版者就能輕而易舉地獲取FPGA的位流。 Flash和反熔絲FPGA是非易失性的器件,它們上電后即可編程,無需使用任何外部存儲器。這些非易失器件擁有最高級別的安全性。但是,反熔絲FPGA受到兩個方面的制約:
1 )它們不能再次編程。
2 )它們的性能和內(nèi)存容量有限。而Flash FPGA和SRAM FPGA是可以重復(fù)編程的。
盜版行為分為幾種類型:“克隆”復(fù)制系統(tǒng)元件的行為,甚至不必知道內(nèi)部的邏輯。通過攔截FPGA的位流和復(fù)制配置,可以輕松地克隆一個低成本SRAM FPGA?!澳嫦蚬こ獭毙枰斫釬PGA的邏輯功能,以便進行修改以滿足盜版者的需要。盜版者可以分析無保護的位流以復(fù)制原先的設(shè)計,或解剖器件分析其內(nèi)容。還有一個被廣泛使用的盜版手段是“生產(chǎn)超過客戶訂購量的系統(tǒng)”,然后向市場出售多余的系統(tǒng),而專利持有者卻無法從中取得收益,沒有任何方法可以阻止不擇手段的分包商這樣做。最后一種盜版方法是“盜竊服務(wù)”,盜版者通過破解系統(tǒng)的安全設(shè)置來獲得特定的服務(wù),如收看衛(wèi)星電視節(jié)目。
打擊盜版可以采用多種安全措施,最簡單的方法的是使用一個保密位,防止FPGA的配置數(shù)據(jù)被截獲。有了這個保密位,盜版者如果試圖讀取配置數(shù)據(jù),讀出的數(shù)據(jù)將全部為零。所有的FPGA都有這種類型的保護。然而,如果引導(dǎo)文件位于器件的外部,相對就比較容易復(fù)制配置,標準的SRAM FPGA就是這種情況 。如果配置數(shù)據(jù)是在器件內(nèi)部,如非易失FPGA ,保密位就會有很好的保密效果。
與反熔絲FPGA不同 ,SRAM FPGA和Flash FPGA是可重復(fù)編程的,它們允許用戶調(diào)整設(shè)計或賦予FPGA一個全新的功能。此外,現(xiàn)在甚至可以遠程修改FPGA配置文件,從而修改系統(tǒng)。雖然重構(gòu)對某些應(yīng)用來說是個優(yōu)點,但它也可能成為一個安全隱患,因為盜版者可能攔截并獲取新的碼流。不過這可以通過在傳輸時保護位流來解決。
雖然Flash FPGA比SRAM FPGA更安全 ,它們也有缺點。它們的密度和存儲容量有限,功能和I/O的速度也有限。
針對這些缺點,萊迪思半導(dǎo)體公司已經(jīng)開發(fā)出一種創(chuàng)新的技術(shù),它結(jié)合了以下兩種技術(shù)的優(yōu)點:
* 性能和存儲器容量較大的低成本SRAM
* 可以內(nèi)部存儲重構(gòu)數(shù)據(jù)的Flash
萊迪思獨特的flexiFLASH技術(shù),將SRAM和Flash整合在同一個FPGA中,可以同時實現(xiàn)以下幾個方面的優(yōu)點:
* 位流配置
* 以最短的系統(tǒng)中斷時間進行遠程重新配置
* 數(shù)據(jù)保護和器件加鎖
復(fù)雜系統(tǒng)中的設(shè)計安全性
工程師正面臨著構(gòu)建日益復(fù)雜的系統(tǒng)的挑戰(zhàn)。
圖1展示了一個FPGA與微處理器相連的系統(tǒng) 。微處理器通過一個外部PHY和一個集成在FPGA內(nèi)的MAC 與以太網(wǎng)連接。與競爭者的產(chǎn)品不同,這個微處理器中還包含用戶邏輯。 FPGA通過一個Flash來配置。Flash和RAM中包含有微處理器的程序和系統(tǒng)的數(shù)據(jù)。如果系統(tǒng)需要更新,就通過以太網(wǎng)來發(fā)送數(shù)據(jù)。為了保護設(shè)計, FPGA數(shù)據(jù)和位流都經(jīng)過了加密。但是,發(fā)送到微處理器的數(shù)據(jù)和指令未加擾,因此盜版者能夠查看此數(shù)據(jù)并加以復(fù)制。一種可能的解決辦法是在FPGA內(nèi)實現(xiàn)軟微處理器,它可以訪問FPGA的內(nèi)部存儲器組,而從外部卻無法看到存儲器組。這些存儲器組可以用來存儲重要的算法和數(shù)據(jù)。
wKgZomU3eFeARJ2wAABXuUt_ACc670.jpg
圖1 FPGA與微處理器相連的系統(tǒng)
圖2展示了同一個設(shè)計,但處理器集成在FPGA之中。圖2中采用的軟微處理器是LatticeMico32 。設(shè)計師構(gòu)建了解擾器,因此加擾是機密的。使用解擾器允許加密的指令存儲在外部存儲器。為了加密位流,萊迪思為幾款FPGA提供了128位AES密鑰。
wKgZomU3eFeAauXUAABYnpF0S18586.jpg
圖2 處理器集成在FPGA之中
首先,工程師應(yīng)用萊迪思的軟件設(shè)計工具套件ispLEVER ( 7.0或更高版本)開發(fā)FPGA代碼,完成綜合、映射、布局布線和仿真后,產(chǎn)生位流,經(jīng)最后驗證后再用ispVM系統(tǒng)( 萊迪思的編程工具)對電路板編程。當設(shè)計師對系統(tǒng)的功能感到滿意時,此時就要來做保護設(shè)計的工作。可以用萊迪思的ispLEVER工具或萊迪思的編程工具ispVM System對位流加密,用戶可選擇128位密鑰。編碼的位流可以是十六進制(從0至F ,不區(qū)分大小寫)或一個ASCII密鑰(可用所有字母數(shù)字字符和空格,大小寫敏感),然后使用任何非加密的文件編碼將該位流加載到配置存儲器中。
wKgZomU3eFeARPv9AABGf5vXvjY441.jpg
圖3 用128位AES密鑰保護設(shè)計
現(xiàn)在密鑰應(yīng)該已經(jīng)保存在一個可編程存儲區(qū)。編程是通過器件的JTAG端口進行。應(yīng)該注意到,用密鑰對位流加了密,現(xiàn)在只能通過加密的位流對FPGA進行配置。用sysCONFIG接口或JTAG接口可以對萊迪思的FPGA進行編程。該sysCONFIG接口可以讓用戶使用集中配置模式,或Flash SPI ,或以并行的方式使用并行配置模式重新輸入數(shù)據(jù)。符合IEEE 1149.1和IEEE 1532標準的JTAG端口允許以突發(fā)位流(或快速編程)模式、或用1532模式對數(shù)據(jù)進行編程。JTAG端口用來對器件中的AES 128位密鑰編程。不需要用特別的模式來保存FPGA中的128位密鑰。
在萊迪思的FPGA中使用一個編碼位流可以防止器件的配置被重新讀取,但需要一些措施來確保配置能夠正確地運作。位流未加密時,F(xiàn)PGA執(zhí)行CRC操作。如果程序不正確,DONE信號保持在0,INITN變?yōu)? 。用戶仍然可以訪問JTAG Usercode寄存器。對FPGA的位流譯碼時,它存儲位流用戶碼,用來存放FPGA應(yīng)用程序的版本號。
圖4展示了加密位流的數(shù)據(jù)路徑。當數(shù)據(jù)進入FPGA時,解碼器讀引導(dǎo)程序,前面所有的數(shù)據(jù)被忽略。即使解碼器檢測到加密的文件,如果FPGA的密鑰未被編程,數(shù)據(jù)則被阻止,DONE信號保持在‘0 ’ (表示配置失敗) 。如果密鑰已被編程,F(xiàn)PGA檢查引導(dǎo)程序,指出后面所有的數(shù)據(jù)應(yīng)通過解碼器。然后FPGA檢查標準引導(dǎo)程序,得知數(shù)據(jù)是否已被壓縮。如果數(shù)據(jù)沒有被壓縮,則將它直接發(fā)送到解碼單元。如果數(shù)據(jù)已壓縮,就先把它送到解壓縮引擎,然后再送到解碼單元。一旦通過CRC校驗,即對SRAM進行編程。DONE位被激活時,解壓縮和譯碼擎不工作,允許其它JTAG鏈元件接收配置數(shù)據(jù)。
wKgZomU3eFeAAMkvAABG3DM66ic173.jpg
圖4 加密位流的數(shù)據(jù)路徑
萊迪思的經(jīng)濟型ECP2/M FPGA擁有位流加密功能,內(nèi)置閃存的非易失LatticeXP2 FPGA也有此功能。LatticeXP2 FPGA把SRAM映射合并入同一塊芯片,設(shè)計和含有位流配置的Flash映射都在此芯片上工作。當設(shè)計師重點關(guān)注電路板的面積和快速啟動時間時,這類器件特別有用。
1 內(nèi)置閃存的FPGA
非易失FPGA提供額外的Flash保護安全功能,可以防止內(nèi)存因意外或未經(jīng)授權(quán)的操作被擦除或重新編程。Flash保護功能采用64位密鑰。
對器件進行刪除或重新編程時, ispVM System會核查Flash是否被保護。如果是,就要求用戶輸入64位密鑰,然后ispVM檢查這個密鑰是否與存儲在器件中的密鑰一致,如果一致就執(zhí)行操作。但是,如果丟失了密鑰,器件就再也不能被擦除了。
這些安全性措施不僅保護了用戶電路板上的設(shè)計,而且也防止了試圖修改系統(tǒng)功能的盜版行為。這些功能還有助于遠程的系統(tǒng)更新。萊迪思FPGA提供這一功能,使用戶可以通過對FPGA重復(fù)編程來更新他們的系統(tǒng),而不會中斷它與周圍元件的聯(lián)系。此功能被稱為TransFR 。
FPGA最值得注意的的特點是設(shè)計人員很容易對器件進行重構(gòu)。但是,重構(gòu)通常意味著系統(tǒng)要中斷很長時間。但是,萊迪思開發(fā)的TransFR技術(shù)將重構(gòu)的影響降至最低。萊迪思的幾個FPGA系列都支持TransFR技術(shù),包括那些含有內(nèi)置閃存的器件,如MachXO 、LatticeXP和LatticeXP2 ,以及像LatticeECP2 /M那樣的SRAM FPGA。
wKgZomU3eFeAGh2tAAA2RlnelDE441.jpg
圖5 用最短的中斷系統(tǒng)時間進行遠程更新
TransFR是一種同時使用基本任務(wù)編程和邊界掃描單元的技術(shù)?;救蝿?wù)編程修改非易失存儲器的內(nèi)容(內(nèi)部的或外部的) ,以便使FPGA的SRAM部分繼續(xù)工作。萊迪思的FPGA擁有可以取樣和預(yù)加載的邊界掃描單元,可以在編程時控制FPGA的I/O。
wKgZomU3eFiABDGPAACnbCP28v0447.jpg
圖6 執(zhí)行TransFR的4個步驟
執(zhí)行TransFR的4個步驟:
1,進行基本任務(wù)編程。系統(tǒng)對FPGA的非易失性存儲器再編程,但不會中斷SRAM的功能。
2,可以鎖定I/O的狀態(tài),用戶可以保持或預(yù)先確定I/O的狀態(tài)。在整個重新配置過程中,I/O的值保持不變,以防止系統(tǒng)被關(guān)閉。
3, 接著用JTAG命令把新的配置傳輸至非易失存儲器。一完成對SRAM就執(zhí)行全局復(fù)位,以便使該器件處于一個已知的狀態(tài)。然后釋放I/O的狀態(tài),并再次鎖定PLL。
4,釋放輸出,內(nèi)部邏輯停止對I/O的監(jiān)測。
要使用TransFR,需要用到ispLEVER開發(fā)工具和ispVM。
用戶通過使用128位AES密鑰加密文件和Lattice TransFR技術(shù)完成了更新過程,但仍有可能因為系統(tǒng)本身的弱點或違法行為引發(fā)系統(tǒng)故障。雖然FPGA的位流是加密的,但是非法操作或傳輸中的錯誤都可能損壞它,從而導(dǎo)致FPGA被阻塞,使系統(tǒng)無法正確地重啟。為了解決這個問題,萊迪思推出了“雙引導(dǎo) ”功能。
2 雙引導(dǎo)配置
在配置存儲器中存儲兩個編程文件。
wKgZomU3eFiASRlYAABB1csJLo8433.jpg
圖7 雙引導(dǎo)配置
激活PROGRAM引腳或啟動JTAG刷新指令后,F(xiàn)PGA下載存儲在Sector 1的位流 。如果CRC出錯,F(xiàn)PGA自動恢復(fù)到Sector 0配置。Lattice XP2非易失FPGA也有此功能。該Flash元件擁有主動配置,還有一個用來存放安全( “golden” )配置的SPI Flash。
萊迪思擁有許多能幫助設(shè)計人員保障設(shè)計安全的產(chǎn)品。Lattice ECP2/M FPGA是一款擁有128位AES密鑰的高安全性器件。這些經(jīng)濟的器件提供了大存儲容量(高達5.3 Mbit)、高速I/O和SERDES 。非易失性LatticeXP2 FPGA是市場上一款很獨特的器件,它有著極高的安全性。由于采用了FlexiFlash技術(shù),位流存儲在器件的Flash中, 并由128位AES密鑰對它進行保護。此外, TransFR更是保障了絕對安全的遠程系統(tǒng)更新。
設(shè)計的安全性應(yīng)該是設(shè)計過程的一部分,而不是事后再去考慮。無論選擇了哪種技術(shù),最重要的是要防止設(shè)計被篡改,無論這個篡改行為是無意的還是非法的。

wKgZomU3eFiAVcknAABUdafP6GM616.jpg

精彩推薦 至芯科技FPGA就業(yè)培訓(xùn)班——助你步入成功之路、10月29號西安中心開課、歡迎咨詢! 在FPGA上建立MATLABSimulink算法原型 FPGA基本知識與發(fā)展趨勢掃碼加微信邀請您加入FPGA學(xué)習(xí)交流群

wKgZomU3eFiAZTGoAABiq3a-ogY805.jpgwKgZomU3eFiAHgxBAAACXWrmhKE594.png

歡迎加入至芯科技FPGA微信學(xué)習(xí)交流群,這里有一群優(yōu)秀的FPGA工程師、學(xué)生、老師、這里FPGA技術(shù)交流學(xué)習(xí)氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!

點個在看你最好看


原文標題:淺析FPGA設(shè)計的安全性

文章出處:【微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21509

    瀏覽量

    598869

原文標題:淺析FPGA設(shè)計的安全性

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    固態(tài)電池安全性怎么樣

    固態(tài)電池在安全性方面表現(xiàn)出顯著的優(yōu)勢,這主要得益于其獨特的固態(tài)電解質(zhì)結(jié)構(gòu)。以下是對固態(tài)電池安全性的詳細分析:
    的頭像 發(fā)表于 09-15 11:47 ?129次閱讀

    利用JTAGLOCK特性增強設(shè)備安全性

    電子發(fā)燒友網(wǎng)站提供《利用JTAGLOCK特性增強設(shè)備安全性.pdf》資料免費下載
    發(fā)表于 09-14 10:06 ?0次下載
    利用JTAGLOCK特性增強設(shè)備<b class='flag-5'>安全性</b>

    請問DM平臺訪問安全性如何控制?

    DM平臺訪問安全性如何控制?
    發(fā)表于 07-25 06:10

    NFC風(fēng)險與安全性:揭示NFC技術(shù)高安全性的真相

    在數(shù)字化日益普及的今天,NFC(近場通信)技術(shù)因其便捷和高效而被廣泛應(yīng)用。然而,當提及NFC時,一些人可能會聯(lián)想到潛在的風(fēng)險。本文將深入探討NFC風(fēng)險,并強調(diào)其高安全性的特性,揭示NFC技術(shù)在
    的頭像 發(fā)表于 06-29 13:03 ?507次閱讀

    藍牙模塊的安全性與隱私保護

    藍牙模塊作為現(xiàn)代無線通信的重要組成部分,在智能家居、可穿戴設(shè)備、健康監(jiān)測等多個領(lǐng)域得到了廣泛應(yīng)用。然而,隨著藍牙技術(shù)的普及,其安全性和隱私保護問題也日益凸顯。本文將探討藍牙模塊在數(shù)
    的頭像 發(fā)表于 06-14 16:06 ?320次閱讀

    開關(guān)電源安全性測試項目有哪些?如何測試?

    總結(jié)而言,通過對開關(guān)電源進行過壓保護、過流保護、短路保護、絕緣電阻測試、高壓測試以及溫升測試等一系列全面的安全性檢測,可以充分評估電源的可靠、安全性和穩(wěn)定性。NSAT-8000電源測試系統(tǒng)提供了
    的頭像 發(fā)表于 05-23 17:41 ?615次閱讀
    開關(guān)電源<b class='flag-5'>安全性</b>測試項目有哪些?如何測試?

    M8_5pin母頭怎樣檢查安全性

      德索工程師說道在電氣和電子系統(tǒng)中,連接器的安全性直接影響到整個系統(tǒng)的性能和用戶的安全。M8_5pin母頭作為一種常見的連接器,其安全性檢查尤為重要。本文將圍繞M8_5pin母頭的安全性
    的頭像 發(fā)表于 05-07 17:40 ?177次閱讀
    M8_5pin母頭怎樣檢查<b class='flag-5'>安全性</b>

    M8_6pin公頭安全性怎樣

    德索工程師說道M8_6pin公頭在安全性方面表現(xiàn)出色。它嚴格按照電氣安全標準進行設(shè)計,具有優(yōu)異的電氣性能。額定電壓和額定電流是評價插頭電氣安全性能的重要指標,M8_6pin插頭在這兩方面均表現(xiàn)出色
    的頭像 發(fā)表于 05-05 13:46 ?176次閱讀
    M8_6pin公頭<b class='flag-5'>安全性</b>怎樣

    分布式無紙化交互系統(tǒng)如何實現(xiàn)信息的安全性和保密?

    分布式無紙化交互系統(tǒng)可以通過以下幾種方式實現(xiàn)信息的安全性和保密: 數(shù)據(jù)加密 :對會議內(nèi)容、文件和通信進行端到端加密,確保數(shù)據(jù)在傳輸和存儲過程中的安全性。 身份驗證和授權(quán)管理 :實施嚴格的身份驗證
    的頭像 發(fā)表于 01-15 15:44 ?271次閱讀

    實驗室如何助力發(fā)展新能源汽車動力電池的安全性

    實驗室如何助力發(fā)展新能源汽車動力電池的安全性
    的頭像 發(fā)表于 12-27 12:19 ?300次閱讀
    實驗室如何助力發(fā)展新能源汽車動力電池的<b class='flag-5'>安全性</b>

    為工業(yè)應(yīng)用選擇高安全性功率繼電器

    為工業(yè)應(yīng)用選擇高安全性功率繼電器
    的頭像 發(fā)表于 12-05 15:11 ?367次閱讀
    為工業(yè)應(yīng)用選擇高<b class='flag-5'>安全性</b>功率繼電器

    求助,為什么說電氣隔離安全性比較高?

    為什么說電氣隔離安全性比較高?
    發(fā)表于 11-02 08:22

    新能源電動汽車鋰電池安全性的保證與驗證有哪些?

    新能源電動汽車鋰電池安全性的保證與驗證有哪些?
    的頭像 發(fā)表于 10-21 20:27 ?1351次閱讀
    新能源電動汽車鋰電池<b class='flag-5'>安全性</b>的保證與驗證有哪些?

    MCU是怎么為物聯(lián)網(wǎng)端點設(shè)備提高安全性的?

    MCU 是怎么為物聯(lián)網(wǎng)端點設(shè)備提高安全性的?
    發(fā)表于 10-17 08:53

    應(yīng)急照明控制器:安全性與可靠考慮

    應(yīng)急照明控制器:安全性與可靠考慮 應(yīng)急照明控制器是用于管理應(yīng)急照明系統(tǒng)的重要設(shè)備,它負責(zé)在緊急情況下控制照明系統(tǒng)的啟動和運行。由于應(yīng)急照明系統(tǒng)在緊急情況下對人們的生命安全起著至關(guān)重要的作用,因此
    的頭像 發(fā)表于 09-22 11:42 ?590次閱讀