新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 以Flash為基礎(chǔ)的FPGA實(shí)現(xiàn)高度安全設(shè)計

        以Flash為基礎(chǔ)的FPGA實(shí)現(xiàn)高度安全設(shè)計

        作者: 時間:2011-10-24 來源:網(wǎng)絡(luò) 收藏
        保密的重要性

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

        FPGA保密的重要性示意


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

        a.克隆

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

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

        b.反向工程

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

        c.過建

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

        d.拒絕服務(wù)

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

        Actel 第三代 FPGA

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

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

        這兩個系列均具備增強(qiáng)的高性能結(jié)構(gòu),其時鐘頻率最高可達(dá)350MHz,相對于第二代產(chǎn)品來說,其封裝密度提高了20%,而邏輯利用率超過95%。SRAM的工作頻率也可達(dá)到350MHz,而且每個模塊中均帶有硬連線的FIFO控制功能。三個鎖相環(huán)(PLL)的輸出頻率也可達(dá)到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)勢,因?yàn)镕lash 技術(shù)可省去SRAM FPGA額外的成本負(fù)擔(dān)。此外,F(xiàn)lash 技術(shù)還可以提供以下獨(dú)特的性能: ·單芯片;
        ·高安全性;
        ·上電即行;
        ·高可靠性 / 固件錯誤免疫性;
        ·低功耗;
        ·高性能。

        Actel FPGA的保密性特點(diǎn)

        保密性特點(diǎn)

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

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

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

        A3P/E的保密特性

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


        保密性功能選項(xiàng)

        在新FPGA上進(jìn)行保密設(shè)計時,有幾種不同的保密性功能選項(xiàng)可供選擇:一、只利用FlashLock密鑰進(jìn)行保護(hù) (沒有AES加密),在這個選項(xiàng)下,用戶可選擇只保護(hù)FROM、只保護(hù)FPGA陣列或兩者同時保護(hù)。二、AES 加密加 FlashLock 密鑰保護(hù),在這個選項(xiàng)下,AES 密鑰一直受到FlashLock密鑰保護(hù),所以被AES加密過的文件不會包含F(xiàn)lashLock密鑰。三、只加密 FROM、只加密FPGA陣列或兩者同時加密,在這個選項(xiàng)下,可以獨(dú)立地更新FROM及FPGA 或?qū)ζ渚幊獭>幊痰母袷娇梢詾榧兾谋靖袷降?STAPL 文件或經(jīng) AES加密過的STAPL文件,在這兩種STAPL 文件里,可以只包括 FROM、FPGA陣列或兩者同時包括。

        保密報頭

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

        信息認(rèn)證模塊(MAC)

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

        信息認(rèn)證模塊示意

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

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

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

        安全級別


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

        ——只容許在 Lock 密鑰正確時寫入、擦除及校驗(yàn);

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

        ashLock 密鑰下進(jìn)行);

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

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

        保密包頭


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

        編程生成加密編程文件


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

        完整的解決方案

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

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

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



        關(guān)鍵詞: FLASH FPGA

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 界首市| 尉犁县| 桐城市| 晋宁县| 渝中区| 柳州市| 沙田区| 濮阳市| 阳城县| 曲阜市| 澜沧| 台安县| 新郑市| 海口市| 思茅市| 长武县| 碌曲县| 水富县| 治多县| 南开区| 沙河市| 岑巩县| 扶绥县| 丽水市| 乌拉特后旗| 仪陇县| 汶川县| 远安县| 石景山区| 登封市| 枣强县| 石阡县| 连云港市| 商南县| 钟祥市| 商洛市| 东乌珠穆沁旗| 吉隆县| 连南| 河东区| 金坛市|