EFuse 具備一次性可編程特性,即只要使用特定密鑰將“熔絲 (FUSE)”熔斷,就無法再使用任何其他密鑰對其進行編程。
EFuse 廣泛適用于各種量產(chǎn)器件,在本文中我們將為大家演示一個典型情境,即客戶希望向第三方供應商提供采用 AES 編程的 FPGA 的情境。
曾經(jīng)出現(xiàn)過這樣的問題,用戶以錯誤方式對錯誤的 EFuse 密鑰進行編程,導致加密比特流編程失敗。在此情境中,我們無法將 EFuse 復原,因為它已發(fā)生熔斷。
在下文中,我們將探討有關 AES 密鑰驗證步驟的內(nèi)容,當您在器件上以物理方式對 EFuse 密鑰進行編程時應遵循這些驗證步驟進行操作。
1. 使用 EFUSE_TEST_MODE 對 AES 密鑰進行測試性編程。
這將把 EFuse 編程軟件命令發(fā)送到器件,但并不會實際對任何熔絲進行編程。
2. 要啟用 EFUSE_TEST_MODE,請右鍵單擊“Hardware Manager”上的“Hardware Server Properties”,然后選中“EFUSE_TEST_MODE”選項,如下圖所示:
3. 啟用 EFUSE_TEST_MODE 并對 EFuse 密鑰編程后,就會在 Vivado 安裝目錄中創(chuàng)建一個 .nkz 文件。
請檢查該 .nkz 文件,確認其中是否已正確顯示 AES 密鑰。
4. 如果此操作成功,請取消勾選“EFUSE_TEST_MODE”框,然后以真正物理方式僅將此 AES 密鑰編程到器件中。
請勿對任何其他控制寄存器、安全寄存器或 RSA 進行編程。操作完成后將重新寫入 .nkz 文件,但其中所含內(nèi)容應不變。
請驗證兩個 .nkz 文件的內(nèi)容是否相同。
5. 如果兩個 .nkz 文件內(nèi)容相同,那么請對加密比特流文件進行編程。
6. 運行以下命令以驗證 .nky 和加密比特流:
create_hw_bitstream -hw_device [current_hw_device ] -nky mtl1_c1.nky mtl1_c1.bit
verify_hw_devices -key efuse
注釋:特此澄清,在第 3 步中,除非您已在 EFuse 向?qū)е懈?.nkz 文件的文件名,否則,將覆蓋同一個輸出 .nkz 文件。因此,您應該將第 1 個 .nkz 復制到其他文件或者在向?qū)е懈拇?.nkz 文件的文件名以便后續(xù)對兩個文件進行比較。
EFUSE_TEST_MODE 僅用于驗證目的。如果編程測試成功,并且您取消勾選 EFUSE_TEST_MODE 并遵循與測試過程相同的編程步驟進行操作,那么就能將正確的 AES 密鑰編程到器件中。
遵循上述步驟進行操作時,請勿對控制寄存器或安全寄存器進行編程。
成功完成驗證后即可進行各項詳細設置。
-
密鑰
+關注
關注
1文章
143瀏覽量
20082 -
AES
+關注
關注
0文章
105瀏覽量
33431
原文標題:開發(fā)者分享 | EFuse AES 密鑰驗證步驟
文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發(fā)圈】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
如何將Keyring用于CAAM分區(qū)加密的密鑰?
請問STM32G473是否支持硬件AES?
【RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】RA4E2使用之AES128加密和解密
aes加密的常見錯誤及解決方案
aes在云存儲中的應用實例
aes算法在數(shù)據(jù)傳輸中的應用
藍牙AES+RNG如何保障物聯(lián)網(wǎng)信息安全
開源物聯(lián)網(wǎng)技術--AES加密功能技術分享

TMP1827 的 密鑰生成和身份驗證機制

用于具有AES硬件加密功能的TM4C129器件的共享密鑰引導加載程序

是否可以調(diào)用內(nèi)置函數(shù)來使用AES和12位密鑰加密緩沖區(qū)?
鴻蒙開發(fā):Universal Keystore Kit 密鑰管理服務 密鑰協(xié)商ArkTS

評論