《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 以Flash為基礎(chǔ)的FPGA實現(xiàn)高度安全設(shè)計
以Flash為基礎(chǔ)的FPGA實現(xiàn)高度安全設(shè)計
摘要: 對電子系統(tǒng)而言,F(xiàn)PGA的保密性極其重要。圖1列出了兩個系統(tǒng)設(shè)計的示意圖,左邊為1995年所作的系統(tǒng)設(shè)計,在該設(shè)計中,以ASIC芯片為核心,F(xiàn)PGA僅起到膠合邏輯的作用;在右邊2005年進行的同類型系統(tǒng)設(shè)計中,不難發(fā)現(xiàn)FPGA已經(jīng)成為系統(tǒng)設(shè)計的核心,它整合了原有ASIC及部分ASSP芯片的功能,因此FPGA作為系統(tǒng)芯片直接取代了ASIC的功能。
關(guān)鍵詞: FPGA Flash 閃存 ProASIC3
Abstract:
Key words :

       保密的重要性

       對電子系統(tǒng)而言,FPGA的保密性極其重要。圖1列出了兩個系統(tǒng)設(shè)計的示意圖,左邊為1995年所作的系統(tǒng)設(shè)計,在該設(shè)計中,以ASIC芯片為核心,F(xiàn)PGA僅起到膠合邏輯的作用;在右邊2005年進行的同類型系統(tǒng)設(shè)計中,不難發(fā)現(xiàn)FPGA已經(jīng)成為系統(tǒng)設(shè)計的核心,它整合了原有ASIC及部分ASSP芯片的功能,因此FPGA作為系統(tǒng)芯片直接取代了ASIC的功能。隨著FPGA性能、容量與功能的不斷提升,今天的FPGA 已成為系統(tǒng)的心臟、知識產(chǎn)權(quán)的集合,所以如果FPGA存在安全性問題的話,與其相關(guān)的產(chǎn)品將遭受嚴重打擊。

FPGA保密的重要性示意


       保密性定義——四個對FPGA最大的安全威脅

       a.克隆

       克隆是指競爭對手拷貝啟動 PROM 或從

 

板上攔截處理器碼流并進行復(fù)制。如果設(shè)計中包含外部碼流時,則該設(shè)計的IP 對克隆非常脆弱。

       b.反向工程

       反向工程即競爭對手由重建您的設(shè)計原理圖或網(wǎng)表復(fù)制您的設(shè)計。在這個過程中,競爭對手將了解設(shè)計的運作從而進行改進。

       c.過建

       過建在把您的產(chǎn)品交給無道德的合同制造商生產(chǎn)時出現(xiàn),這些制造商能在開放市場上購買額外的FPGA元器件,然后在廠家沒有允許的情況下,生產(chǎn)額外的產(chǎn)品,在沒有開發(fā)成本和不需要提供技術(shù)支持的條件下,以更低的價格在市場上售賣,從而牟取利潤。

       d.拒絕服務(wù)

       拒絕服務(wù)屬于惡意破壞的行為,您的競爭對手或者黑客能夠通過重新編程您系統(tǒng)上的 SRAM FPGA而使您的系統(tǒng)不能運行。拒絕服務(wù)使廠家的聲譽、產(chǎn)品的質(zhì)量等形象將遭到破壞。

       Actel 第三代 FLASH FPGA

       在了解了保密性的定義及FPGA保密重要性的基礎(chǔ)上,Actel推出了第三代Flash FPGA,具有眾多優(yōu)點與特性。

       Actel第三代Flash FPGA,包括兩個產(chǎn)品系列:ProASIC3與ProASIC3E。ProASIC3能實現(xiàn)30k到1M的門密度,它的容量高達144kb SRAM,具有288個 I/O ;ProASIC3E能實現(xiàn)600k到 3M的門密度,它的容量高達504kb SRAM,具有604個I/O。

       這兩個系列均具備增強的高性能結(jié)構(gòu),其時鐘頻率最高可達350MHz,相對于第二代產(chǎn)品來說,其封裝密度提高了20%,而邏輯利用率超過95%。SRAM的工作頻率也可達到350MHz,而且每個模塊中均帶有硬連線的FIFO控制功能。三個鎖相環(huán)(PLL)的輸出頻率也可達到350MHz,并且具有靈活的相位輸出、延遲、分頻和倍頻功能。這兩個系列同樣支持64 位、66 MHz的PCI總線。

       作為以價值為基礎(chǔ)的FPGA,第三代產(chǎn)品提供了全新的功能,包括:所有器件都帶有1kb片上可配置的Flash ROM及帶硬連線 的AES 解密安全 ISP。上一代產(chǎn)品中的FPGA的保密措施在這一系列內(nèi)繼續(xù)保持,如片上 FlashLockTM 安全措施及針對單電壓工作而在片上集成的電荷泵。最后,需要提及的是產(chǎn)品支持19種不同的I/O標(biāo)準(zhǔn),包括 LVDS等。Actel第三代Flash FPGA具有競爭性的成本優(yōu)勢,因為Flash 技術(shù)可省去SRAM FPGA額外的成本負擔(dān)。此外,F(xiàn)lash 技術(shù)還可以提供以下獨特的性能:         ·單芯片; 
       ·高安全性;
       ·上電即行;
       ·高可靠性 / 固件錯誤免疫性;
       ·低功耗;
       ·高性能。

       Actel FLASH FPGA的保密性特點

       保密性特點

       Flash FPGA的物理結(jié)構(gòu)與保密性

       由于Flash非揮發(fā)性的特點,所以基于Flash 架構(gòu)的FPGA在一個可靠的環(huán)境下被編程以后,就不再需要一個另外的碼流,因此它不會受到克隆這種攻擊方式的威脅。另外,它對反向工程等入侵性攻擊有高度的

 

抵抗性,這是因為在Flash FPGA里面的用戶邏輯完全取決于Flash晶體管的內(nèi)容,就算把器件解體或剝離也只能顯露器件內(nèi)部結(jié)構(gòu),而不是 Flash 晶體管的實際內(nèi)容。由于Flash FPGA表面的一致使它受到入侵性攻擊時,很難辨認其探針點。

       A3P/E的保密特性

       FlashLock可以保證器件上的保密設(shè)定不被隨便更改 ,它包括一個對應(yīng)的密鑰,長度為128位,其揭露密鑰所需的時間為5.4x1023年,因此十分可靠。它還包括永久FlashLock及編程文檔的AES加密,其AES密鑰長度為128位,而揭露此密鑰所需的時間將長達149萬億年。

        Flash ROM (FROM) 的特性及應(yīng)用

       第三代Flash FPGA是唯一帶片上Flash ROM (FROM)的FPGA,其FROM總共有1024位,分為8個頁,每頁的寬度為128位,見圖2。它的應(yīng)用非常廣泛,包括:互聯(lián)網(wǎng)協(xié)議尋址、設(shè)備序列編碼、訂閱模式、系統(tǒng)校準(zhǔn)設(shè)定、安全的加密匙存儲、資產(chǎn)管理跟蹤、用戶喜好存儲、日期標(biāo)志及版本控制等。 

FROM示意圖


       保密性功能選項

       在新FPGA上進行保密設(shè)計時,有幾種不同的保密性功能選項可供選擇:一、只利用FlashLock密鑰進行保護 (沒有AES加密),在這個選項下,用戶可選擇只保護FROM、只保護FPGA陣列或兩者同時保護。二、AES 加密加 FlashLock 密鑰保護,在這個選項下,AES 密鑰一直受到FlashLock密鑰保護,所以被AES加密過的文件不會包含F(xiàn)lashLock密鑰。三、只加密 FROM、只加密FPGA陣列或兩者同時加密,在這個選項下,可以獨立地更新FROM及FPGA 或?qū)ζ渚幊?。編程的格式可以為純文本格式?STAPL 文件或經(jīng) AES加密過的STAPL文件,在這兩種STAPL 文件里,可以只包括 FROM、FPGA陣列或兩者同時包括。

       保密報頭

       保密報頭包含兩種密鑰:FlashLock密鑰及AES密鑰,它也包括FROM及FPGA列陣的信息認證控制。它還包括FPGA陣列與FROM的保密設(shè)定。具體的FPGA陣列保密設(shè)定包括:寫入、擦除及校驗的存取控制與加密/不加密的存取控制 (寫入、擦除及校驗);FROM的保密設(shè)定包括:寫入、擦除及讀取的存取控制(在此情況下校驗是一直被允許的)與加密/不加密的存取控制 (寫入、擦除及讀取)。

       信息認證模塊(MAC)

       信息認證模塊負責(zé)認證整個編程碼流,見圖3,包括AES解密核心把STAPL文件解密;MAC檢查解密后的數(shù)據(jù)是否可被認識:如果正確,器件就可以被擦除及編程;如果不正確,軟件會防止編程序列被啟動。在認證進行過程中器件仍可正常工作。

 

信息認證模塊示意

       另外該模塊還負責(zé)在編程數(shù)據(jù)傳進器件時檢驗是否存在損壞的數(shù)據(jù),具體做法是在編程前對每個數(shù)據(jù)包進行驗證。

       實施保密的軟件設(shè)置

       以下我們將介紹如何進行保密的軟件設(shè)置,首先定制安全級別,如圖4所示:

安全級別


       用戶可在生成安全文件時,選擇“Custom Level”選項,將彈出“Custom Security Level”對話框,即可看到FPGA陣列與FROM的保密設(shè)定選項,具體的選項包括:

       ——只容許在 FLASHLock 密鑰正確時寫入、擦除及校驗;

       ——只容許在 FlashLock 密鑰正確時寫入、擦除(校驗可以在沒有 Fl

 

ashLock 密鑰下進行);

       ——只容許在器件內(nèi)有正確的AES密鑰時進行寫入、擦除及校驗(配置器件在重編程和校驗FPGA陣列時接受一個被加密的編程文件);

       注意:a.要求在器件內(nèi)有包含正確的AES密鑰;b.FlashROM在這個模式下讀取被禁止;c.加密過的FlashROM內(nèi)容只允許進行校驗。 ——接受沒有FlashLock或AES密鑰的純文本STAPL 文件的寫入、擦除、讀取 (Flash ROM) 及校驗。其次,設(shè)定保密包頭,如圖5所示:

保密包頭


       在申請編程文件時點擊選擇“Security Settings”選項,在彈出的對話框中選擇期望的保密設(shè)定,并輸入FlashLock密鑰 (即軟件里的Pass Key) 及AES密鑰即完成了保密包頭的設(shè)定。最后,編程生成加密編程文件,如圖6所示。

編程生成加密編程文件


       為加密編程設(shè)定STAPL文件的具體步驟是:點擊選擇“Programming previously secured device(s)”選項,在彈出的對話框中點擊“FPGA Array Only”或“FlashROM Only”選項,或者兩者并選。最后,在彈出的“Security Settings ”對話框中的相應(yīng)位置提供預(yù)編程時所用的同一個AES密鑰。

       完整的解決方案

       為了配合ProASIC3與ProASIC3E,Actel提供了全面的硬件工具支持。新推出的低成本ISP編程器、啟動工具套件(Libero Gold、FlashPro3、評估板及教程指南和文檔)、可進行批量編程的Silicon Sculptor及其他調(diào)試工具,如First Silicon Solution的Logic Navigator邏輯分析器及Synplicity的Identify RTL調(diào)試器等。

       而全面的軟件工具支持包括:Libero 7.0(Gold 版可從網(wǎng)站免費下載)及業(yè)界提供的支持,如Synplicity的Synplify、Mentor Graphics的ModelSim、Magma的PALACE物理綜合及WaveFormer Lite的Reactive Testbench等。

       Actel公司第三代以Flash為基礎(chǔ)的FPGA,除了高的安全性與保密性外,也是一個面向大批量生產(chǎn)的FPGA,它集成了ASIC與SRAM FPGA所有的優(yōu)點,包括:單芯片上電即行、非揮發(fā)性、低功耗、高安全性、高保密性、固件錯誤免疫性、片上NVM、低單位成本、低總系統(tǒng)成本、無 NRE費用、可快速構(gòu)建原型、快速的生產(chǎn)交貨期及系統(tǒng)內(nèi)可編程等諸多優(yōu)點。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。