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

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

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

如何對xilinx FPGA進行bit文件加密

FPGA設(shè)計論壇 ? 來源:FPGA設(shè)計論壇 ? 作者:FPGA設(shè)計論壇 ? 2022-05-17 09:36 ? 次閱讀

加密的優(yōu)點

xilinx的V6和7全系列FPGA支持AES256加密,加密的好處:

1,可以防止別人回讀或者對你的程序進行逆向;

2,防止更改燒寫的bit文件。

如果僅僅是防止回讀,可以簡單設(shè)置BITSTREAM.READBACK.SECURITY,其中LEVEL1是禁止回讀,LEVEL2禁止回讀和重新燒寫FPGA。

但如果對手的逆向能力很強,比如說在FPGA上電加載bit的時候用邏輯分析儀把用bit文件“讀”出來,這個簡單的設(shè)置肯定就不行了。這時候可以使用AES256加密。

AES算法簡介:

AES即高級加密標準,是一種區(qū)塊加密,當然也是對稱加密。區(qū)塊固定為128bit,秘鑰為128,192或256bit。AES有5種加密模式,xliinx采用的是CBC模式。有一個128bit初始向量IV(startCBC),先利用初始向量IV與第一組數(shù)據(jù)進行異或后再進行加密運算生成C1。將C1作為初始向量與第二組數(shù)據(jù)進行異或后再進行加密運算生成C2。以此類推,當最后一組數(shù)據(jù)加密完畢后,將加密結(jié)果拼接為最終結(jié)果,C = C1C2C3……Cn。

所以采用CBC模式的256AES需要兩個東西,128bit-startCBC和256bit-AES key。

到這里還沒完,完成了bit加密還沒有認證,萬一別人把燒進去bit文件篡改了怎么辦?(重新燒了新的bit文件)。所以xilinx又提供了HMAC的認證,這個就跟校驗差不多了,檢查消息的完整性。

所以還需要提供256bit-HMAC,加上128bit-startCBC和256bit-AES key,一共是三個。這三個key可以自己生成,也可以指定空的 .nky文件,由軟件隨機生成好。

7b9b4734-d581-11ec-bce3-dac502259ad0.png

加密的AES key可以存到FPGA內(nèi)部易失性的BBR或只能燒寫一次(OTP)的eFUSE中。

BBR需要電池供電,可以多次編程。eFUSE不需要電池,但只能燒寫一次。這里使用eFUSE

eFUSE寄存器

首先來看一下eFUSE寄存器:

7bae717e-d581-11ec-bce3-dac502259ad0.png

一共有四個寄存器,分別是存放AES秘鑰,用戶信息,設(shè)備DNA和eFUSE控制。下面特別關(guān)注一下eFUSE控制寄存器:

7bc722d2-d581-11ec-bce3-dac502259ad0.png

7c07e556-d581-11ec-bce3-dac502259ad0.png

一共有6個bit有用,各種設(shè)置的優(yōu)缺點表里有詳細說明,使用參考設(shè)置101100就行了。

其中bit0很重要,萬一置位了,AES的key又搞丟了,F(xiàn)PGA就變磚頭了。

具體的操作步驟如下:

1生成key和加密bit

下面三個key可以自己生成填進去,也可以由軟件隨機生成。

7c1e53c2-d581-11ec-bce3-dac502259ad0.png

7c4de8a8-d581-11ec-bce3-dac502259ad0.png

要打開edit device properties,先要打開sythesized design 或者implement design,然后在generate bitstream右鍵設(shè)置

7c693b80-d581-11ec-bce3-dac502259ad0.png

7c80293a-d581-11ec-bce3-dac502259ad0.png

7c9bfb06-d581-11ec-bce3-dac502259ad0.png

2下載eFUSE

7c9bfb06-d581-11ec-bce3-dac502259ad0.png

7cbd26e6-d581-11ec-bce3-dac502259ad0.png

7cecba6e-d581-11ec-bce3-dac502259ad0.png

7d10bce8-d581-11ec-bce3-dac502259ad0.png

3燒寫FPGA程序

7d475f50-d581-11ec-bce3-dac502259ad0.png

7d63fc82-d581-11ec-bce3-dac502259ad0.png

program

7d83adde-d581-11ec-bce3-dac502259ad0.png

7d978e58-d581-11ec-bce3-dac502259ad0.png

4驗證

很簡單,讀出mcs然后燒到另一個FPGA里面去,可以看到不能工作。當然,也可以在前面eFUSE設(shè)置時選擇只能加載AES加密的bit文件,這樣換一個不加密的bit下進去也能驗證。

7daa02f4-d581-11ec-bce3-dac502259ad0.png

7dbe66c2-d581-11ec-bce3-dac502259ad0.png

審核編輯 :李倩

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

    關(guān)注

    1625

    文章

    21628

    瀏覽量

    601261
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4588

    瀏覽量

    92511
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2155

    瀏覽量

    120856

原文標題:FPGA學習-如何對xilinx FPGA進行bit文件加密

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

收藏 人收藏

    評論

    相關(guān)推薦

    Xilinx 7系列FPGA PCIe Gen3的應用接口及特性

    Xilinx7系列FPGA集成了新一代PCI Express集成塊,支持8.0Gb/s數(shù)據(jù)速率的PCI Express 3.0。本文介紹了7系列FPGA PCIe Gen3的應用接口及一些特性。
    的頭像 發(fā)表于 11-05 15:45 ?226次閱讀
    <b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b> PCIe Gen3的應用接口及特性

    FPGA無芯片HDMI接入方案及源碼

    。 2.選擇FPGA板卡和 Vivado 工具版本 下載與主板和 Vivado 工具版本相關(guān)的硬件 (hw) 和軟件 (sw) zip 文件。 下載的 zip 文件中既包含 .
    發(fā)表于 07-16 19:25

    使用slavefifosync2bitFPGA進行數(shù)據(jù)傳輸時,服務間隔是多少?

    您好,請問使用slavefifosync2bitFPGA進行數(shù)據(jù)傳輸時,服務間隔是多少?
    發(fā)表于 07-03 06:21

    基于FPGA的AES256光纖加密設(shè)計

    AES算法的硬件實現(xiàn),國內(nèi)外研究學者大部分是基于FPGA的硬件實現(xiàn)。解放軍理工大學的呂游等人研究高級加密標準俄歇算法的設(shè)計原理,并通過加密部分和密鑰拓展共用 S 盒以減少資源占用,然后在FPG
    發(fā)表于 06-19 19:50

    FPGA | Xilinx ISE14.7 LVDS應用

    今天給大俠帶來 Xilinx ISE14.7 LVDS應用,話不多說,上貨。 最近項目需要用到差分信號傳輸,于是看了一下FPGA上差分信號的使用。Xilinx FPGA中,主要通過
    發(fā)表于 06-13 16:28

    基于 FPGA 的光纖混沌加密系統(tǒng)

    加密數(shù)據(jù)送至寄存 器緩存,使得我們的加密效率提高了 15 倍。 系統(tǒng)綜合測試分析 IBERT(Integrated Bit Error Ratio Tester)是 Xilinx
    發(fā)表于 04-26 17:18

    基于FPGA的光纖通信加密系統(tǒng)

    FPGA 設(shè)計加密算法具有安全性高,加密速度快,開發(fā)周期短,開發(fā)成本較低, 可重配,可靠性高以及移植性好等優(yōu)點。 系統(tǒng)鏈路部分采用 Aurora 協(xié)議,該協(xié)議是一款輕量級的光纖鏈路協(xié)議,具有冗余少,可定制度高,鏈路速率快等特點。
    發(fā)表于 04-26 11:33 ?1047次閱讀
    基于<b class='flag-5'>FPGA</b>的光纖通信<b class='flag-5'>加密</b>系統(tǒng)

    Xilinx 7系列FPGA功能特性介紹

    Xilinx7系列FPGA由四個FPGA系列組成,可滿足一系列系統(tǒng)需求,從低成本、小尺寸、成本敏感的大容量應用到最苛刻的高性能應用的超高端連接帶寬、邏輯容量和信號處理能力。
    發(fā)表于 04-22 10:49 ?4826次閱讀
    <b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b>功能特性介紹

    適用于 Xilinx? MPSoC 和 FPGA的可配置多軌PMU TPS650864數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《適用于 Xilinx? MPSoC 和 FPGA的可配置多軌PMU TPS650864數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 04-01 09:58 ?0次下載
    適用于 <b class='flag-5'>Xilinx</b>? MPSoC 和 <b class='flag-5'>FPGA</b>的可配置多軌PMU TPS650864數(shù)據(jù)表

    Xilinx fpga芯片系列有哪些

    Xilinx FPGA芯片擁有多個系列和型號,以滿足不同應用領(lǐng)域的需求。以下是一些主要的Xilinx FPGA芯片系列及其特點。
    的頭像 發(fā)表于 03-14 16:24 ?2964次閱讀

    AMD Xilinx 7系列FPGA的Multiboot多bit配置

    Multiboot是一種在AMD Xilinx 7系列FPGA上實現(xiàn)雙鏡像(或多鏡像)切換的方案。它允許在FPGA中加載兩個不同的配置鏡像,并在需要時切換。
    的頭像 發(fā)表于 02-25 10:54 ?1166次閱讀
    AMD <b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b>的Multiboot多<b class='flag-5'>bit</b>配置

    FPGA設(shè)計高級技巧 Xilinx

    FPGA設(shè)計高級技巧 Xilinx
    發(fā)表于 01-08 22:15

    簡述Xilinx 7系列FPGA芯片相關(guān)知識

    Xilinx 7系列 芯片 應用非常廣泛,具有成本低、性能強悍、成熟穩(wěn)定的特點,目前Xilinx( AMD )已延長該系列芯片的生命周期至少到2035年。 本文主要介紹Xilinx 7系列 F
    的頭像 發(fā)表于 11-28 10:20 ?1052次閱讀
    簡述<b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b>芯片相關(guān)知識

    存儲密鑰與文件加密密鑰介紹

    數(shù)據(jù)。 文件加密密鑰 文件加密密鑰(File Encryption Key, FEK)是安全存儲功能用于對數(shù)據(jù)進行
    的頭像 發(fā)表于 11-21 11:43 ?1183次閱讀
    存儲密鑰與<b class='flag-5'>文件</b><b class='flag-5'>加密</b>密鑰介紹

    Xilinx FPGA IP之Block Memory Generator功能概述

    Xilinx Block Memory Generator(BMG)是一個先進的內(nèi)存構(gòu)造器,它使用Xilinx fpga中的嵌入式塊RAM資源生成面積和 性能優(yōu)化的內(nèi)存。
    的頭像 發(fā)表于 11-14 17:49 ?2452次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b> IP之Block Memory Generator功能概述