硬件設(shè)計要求
在之前的版本中,加密是通過VCC_AUX來供電的。在新的版本中已經(jīng)通過單獨的VQPS管腳來供電來實現(xiàn)。
對于Ti35/Ti60F225,VQPS供電管腳是G6,對于Ti35/Ti60F100S3F2,VQPS供電管腳是A5,這兩個腳在之前的版本中都直接接地的。所以對于新設(shè)置的硬件或者改版的硬件,如果要使用加密功能就需要注意。
如果需要燒寫密鑰,可以單獨給VQPS供1.8V的電源,VQPS的供電波形如下??梢钥紤]把VQPS拉到一個排針上或者座子上,燒寫密鑰時就給VQPS供電1.8V,燒寫完成之后再拉低即可。
如果不需要燒寫密鑰只要把VQPS管腳拉低即可以。
易靈思的鈦金系列支持加密特性,包括使用AES-GCM-256算法的比特流加密知識產(chǎn)權(quán)保護(hù)和使用RSA-4096算法的非對稱比特流認(rèn)證。這兩種方式既可以單獨使用,也可以同時使用,下面來詳細(xì)了解下。
1)、對稱比特流加密
使用256位的密鑰和AES-CGM-256加密算法。
(1)生成密鑰,
(2)用生成的密鑰加密比特流(通過bin文件);
(3)把生成的密鑰存儲到FPGA的熔絲中,即下圖中的Blow Fuses工具,密鑰在svf文件中。
(4)在FPGA配置過程,F(xiàn)PGA通過內(nèi)部的AES-GCM-256引擎和密鑰解密加密的數(shù)據(jù)流。
需要補(bǔ)充的是FPGA通過Blow Fuses工具燒寫了熔絲之后,也是可以配置不加密比特流的。
2)、比特流認(rèn)證
對于比特流認(rèn)證,需要使用公鑰和私鑰對及RSA-4096算法。
(1)生成公鑰和私鑰;
(2)用私鑰對數(shù)據(jù)流簽名,私鑰存儲在.pem文件中。
(3)將公鑰的哈希值存儲到FPGA內(nèi)部的熔絲中,即下圖中的Blow Fuses工具。,公鑰在svf文件中。
(4)在配置過程中,F(xiàn)PGA通過公鑰對比特流進(jìn)行簽名驗證;如果簽名有效,F(xiàn)PGA就知道位流來自可信的源,并且沒有被第三方修改過則進(jìn)入用戶模式;否則停止配置;
(5)私鑰要保存好。
需要補(bǔ)充的是FPGA通過Blow Fuses工具燒寫了熔絲之后,必須要用.pem文件對比特流進(jìn)行簽名。
3)、JTAG阻斷
鈦金系列FPGA還支持通過燒斷熔絲的方式阻斷JTAG功能。阻斷之后JTAG只能執(zhí)行讀取ID和器件狀態(tài)和使能旁路模式;因為JTAG阻斷之后就沒有辦法再操作JTAG,所以要確保在最后一步使用。
四、軟件操作
在Efinity菜單Tool- >Open Key Generator打開密鑰生成器。
(1)ASE-256 Key用于生成ASE 256位的密鑰文件,可以隨機(jī)生成,也支持手動輸入,文件后綴為.bin。
(2)生成RSA-4096的私鑰文件,后綴為.pem。支持手動添加文件也支持自動生成。
(3)指定是否阻斷JTAG.
(4)點擊Generate生成相應(yīng)的文檔。會生成以.bin,.pem和.svf為后綴的三個文件。
數(shù)值要保存
燒寫熔絲。
在Efinity菜單Tool- >Open JTAG SVF Player。
添加svf文件。svf文件中包含JTAG命令和密鑰信息。
(1)讀取JTAG IDCODE與.svf內(nèi)的ID進(jìn)行比對,確認(rèn)是否為目標(biāo)型號PFGA。
(2)對于AES加密,發(fā)送8個32位的key;
(3)對于RAS認(rèn)證,發(fā)送12個32位的Key;
(4)發(fā)送熔斷JTAG熔絲的指令;
(1)RAS密鑰熔斷熔絲后,F(xiàn)PGA只能接受通過正確的私鑰簽名的比特流文件。
(2)AES-256密鑰熔絲后,F(xiàn)PGA只能接受未加密文件或者通過正確的密鑰加密的比特流文件。
注意燒寫后復(fù)位CRESET_N才會生效。
已經(jīng)被熔斷的熔絲再次熔斷時,或者FPGA的型號與密鑰生成器中的型號不對應(yīng)時會發(fā)送TDO Mismatch。如下圖。
在Project Editor中把上面生成的生成加密文件根據(jù)需要添加起來,重新生成比特流即可,不需要重新編譯。
如果只用AES-256,則不需要勾選Bitstream Authentication.
5)熔絲的熔斷順序
對于AES-256、RSA和JTAG熔絲熔斷順序要求是:可以同時熔斷AES-256和RSA的熔絲和熔斷JTAG熔絲;但在不同時熔斷的情況下,只能把JTAG熔絲熔斷操作放在最后。對于AES-256和RSA熔絲熔斷順序不做要求。
6)驗證加密選項。
通過Programmer工具的Advanced Device Con?guration Status中的RSA_ACTIVE和AES_ACTIVE可以判斷是否使能了RSA和AES,當(dāng)為1時表示使能。
補(bǔ)充說明:
(1)加密時不能使用數(shù)據(jù)流壓縮功能。
(2)加密功能必須要接REF_RES_3A電阻
-
FPGA
+關(guān)注
關(guān)注
1650文章
22207瀏覽量
626873 -
加密方案
+關(guān)注
關(guān)注
0文章
18瀏覽量
5355 -
易靈思
+關(guān)注
關(guān)注
6文章
61瀏覽量
5411
發(fā)布評論請先 登錄
易靈思(Elitestek)FPGA編程器功能特點及驅(qū)動安裝方法
詳解賽靈思All Programmable Smarter Vision解決方案
8848鈦金手機(jī)宣布關(guān)停加密通話功能

8848 鈦金手機(jī)關(guān)停加密通話功能的緊急通知發(fā)布
易靈思16nm FPGA助力汽車市場發(fā)展 天璣智慧監(jiān)管解決方案亮相推進(jìn)會
易靈思FPGA之---國產(chǎn)化替代選型策略
易靈思FPGA產(chǎn)品的主要特點

易靈思邀您相約2025上海國際汽車工業(yè)展覽會

評論