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

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

3天內不再提示

內置AES的FPGA確保系統(tǒng)設計安全的關鍵

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:嵌入式計算設計 ? 2022-10-20 09:53 ? 次閱讀

嵌入式系統(tǒng)很容易成為黑客、安全漏洞和惡意攻擊的犧牲品,除非在系統(tǒng)設計中納入有效的安全性。今天,安全性是一個更大的問題,因為新的專有技術和有價值的知識產權被用作競爭壁壘。到目前為止,實現傳統(tǒng)安全性的技術一直很麻煩,過時且成本高昂。然而,目前的趨勢正在鼓勵設計人員在FPGA中嵌入最高級別的安全性,以實現更高效、成本更低的設計。

符合美國國家標準與技術研究院 (NIST) 聯(lián)邦信息處理標準 (FIPS) 197 的 FPGA 支持使用 256 位高級加密標準 (AES) 和非易失性密鑰的配置位流加密。AES是當今最先進的加密算法。用戶定義的AES密鑰可以編程到存儲在FPGA器件中的256位非易失性密鑰中。

選擇正確的加密算法和選擇適當的密鑰存儲是兩個重要的設計注意事項。AES 支持 128、192 和 256 位的密鑰大小,并取代了具有 56 位密鑰和 64 位數據塊大小的數據加密標準 (DES)。較大的密鑰大?。ㄈ?AES)等同于提高安全性,并且比三重 DES (3DES) 更快地加密數據。實際上,3DES 使用三個密鑰對文檔進行三次加密。

加密將電子數據轉換為通常稱為密文的難以理解的形式;解密密文會將數據轉換回其原始形式或明文。AES 算法是一種對稱塊密碼,用于加密/加密和解密/解密 128 位塊中的電子數據。在此算法中,對稱密鑰用于加密和解密,塊密碼以塊的形式處理數據。對稱密鑰塊密碼加密算法用于許多行業(yè),因為它們提供高安全保護和效率,易于實施和快速的數據處理速度。

密鑰存儲的選擇是第二重要的設計考慮因素。密鑰存儲在易失性或非易失性存儲器中,具體取決于芯片供應商。一旦易失性存儲的電源關閉,除非將外部電池作為備用電源連接到芯片,否則密鑰將丟失。另一方面,非易失性密鑰存儲為設計人員提供了更大的靈活性。

例如,FPGA中的嵌入式非易失性鍵可以在板載或板外編程。安全密鑰存儲在 FPGA 內部的聚乙烯保險絲中。聚乙烯保險絲是非易失性和一次性可編程的,這意味著這種存儲方法更可靠,因為不需要外部備用電池。

可靠性差是電池對易失性存儲構成的最大問題。電池壽命受溫度和濕度水平的影響。當電池沒電時,鑰匙丟失。因此,無法再配置設備,并且必須將設備退回供應商進行維修和密鑰重新加載。此外,電池備份成本更高,因為它更難制造,需要更多的組件,電路板空間和工程工作。

電池通常無法承受高溫回流焊工藝,之后必須焊接到電路板上,這會產生額外的制造步驟。易失性密鑰存儲還要求密鑰在焊接到電路板上后將其編程到器件中。

由于非易失性存儲器是一次性可編程的,因此密鑰是防篡改的。這在易失性存儲中是不可能的,因為電池可以被移除,FPGA可以用常規(guī)的加密配置文件進行配置。

將安全性設計到系統(tǒng)中

圖 1 顯示了如何使用四元二設計軟件在阿爾特拉奧斯特拉蒂克斯 III FPGA 中實現安全性。第一步是將安全密鑰編程到 FPGA 中。設計軟件需要256位用戶定義的密鑰(密鑰1和密鑰2)來生成密鑰編程文件。然后,包含來自鍵 1 和鍵 2 的信息的文件通過 JTAG 接口加載到 FPGA 中。

圖 1

pYYBAGNQqj2AcCzgAABCQWaS1D8400.jpg

接下來,FPGA 中內置的 AES 加密引擎將生成用于在第三步后面的解密配置數據的真實密鑰。通過加密密鑰 1 和密鑰 2 創(chuàng)建的真實密鑰隨后由專有函數處理,然后存儲在 256 位非易失性密鑰存儲中。

在步驟二中,配置文件被加密并存儲在外部存儲器中。設計軟件需要兩個 256 位密鑰(密鑰 1 和密鑰 2)來加密配置文件??鋱D斯 II AES 加密引擎通過使用密鑰 2 加密密鑰 1 來生成真實密鑰。真正的密鑰用于加密配置文件,然后將其加載到外部存儲器中,例如配置或閃存設備。

第三,配置了 FPGA。在系統(tǒng)上電時,外部存儲器器件將加密的配置文件發(fā)送到FPGA。FPGA中的256位非易失性密鑰由專有函數的反函數處理,以生成真正的密鑰。然后,AES 解密引擎使用真實密鑰來解密配置文件并自行配置。

安全入侵

作為設計過程的一部分,系統(tǒng)設計人員必須識別和理解不同類型的安全漏洞,包括復制、逆向工程和篡改,如表1所示。

復制涉及在不了解其工作原理的情況下制作設計的相同副本。復制可以通過從存儲器器件中讀出設計或在上電時從存儲器器件發(fā)送到FPGA時捕獲配置文件來完成。然后,被盜的設計可用于配置其他FPGA。這種方法構成了知識產權盜竊的主要形式,并可能導致重大的收入損失。

逆向工程需要分析配置文件,以在寄存器傳輸級別或原理圖形式重新創(chuàng)建原始設計。然后可以修改重新創(chuàng)建的設計以獲得競爭優(yōu)勢。這是一種比復制更復雜的知識產權盜竊形式,通常需要大量的技術專業(yè)知識。它也耗費了大量時間和資源,有時比從頭開始創(chuàng)建設計需要更多的工作。

篡改涉及修改存儲在設備中的設計或將其替換為其他設計。被篡改的設備可能包含可能導致系統(tǒng)故障或竊取敏感數據的有害設計代碼。

大多數非易失性 FPGA 都 具有 允許 回 讀 配置 數據 以 進行 調 試 的 功能, 如此 圖 2 中 所 顯示。設計人員通常可以為設備設置安全位。如果未設置安全位,則允許回讀,并且獲取配置數據非常簡單。但是,當設置安全位時,將禁用回讀。設置安全位時進行回讀攻擊的一種方法是檢測安全位在FPGA中的位置并停用它們以啟用回讀。

圖 2

poYBAGNQqj6AVqrjAAAcacppqdk690.jpg

設置入侵屏障

一些FPGA使得攻擊者幾乎不可能從高度安全的嵌入式設計中竊取IP。特別是,檢測和停用安全位可能很困難,從而為設計人員提供了更好的復制防御。以下討論解釋了設計人員如何設置這些安全防御。

存儲安全密鑰的聚乙烯保險絲隱藏在數百個其他多邊保險絲中的金屬層下。通過簡單的目視檢查幾乎不可能確定特定的保險絲‘??s功能。用于其他功能的多晶熔絲的編程狀態(tài)可能因器件而異。

這種隨機性使得識別哪些保險絲存儲安全密鑰變得更加困難。此外,即使識別了存儲安全密鑰的聚乙烯保險絲,也不會透露用于解密的真實密鑰,因為它在存儲之前由專有功能處理。在不知道真實密鑰的情況下,無法解密設計。

因此,這些FPGA可以安全地抵御回讀攻擊,因為它們不支持配置文件回讀。這可以防止在 FPGA 中解密配置文件后嘗試回讀配置文件。此外,無法通過將安全密鑰編程到另一個FPGA并使用加密的配置文件對其進行配置來復制這些設計。需要兩個256位密鑰才能將安全密鑰編程到FPGA中。由于 AES 用于生成真實密鑰,因此幾乎不可能從安全密鑰生成密鑰 1 和密鑰 2。

即使沒有加密,從配置文件對設計進行逆向工程也是困難且耗時的。FPGA配置文件包含數百萬位,配置文件格式是專有和機密的。要對設計進行逆向工程,需要對用于顯示從配置文件到器件資源的映射的FPGA或設計軟件進行逆向工程。

對這些 FPGA 進行逆向工程比對 ASIC 進行逆向工程更困難。標準工具不容易用于對這些FPGA進行逆向工程,這些FPGA是在65 nm高級工藝技術節(jié)點上制造的。事實上,僅對一個 FPGA 邏輯塊進行逆向工程就可能需要大量的時間和資源。配置比特流加密使逆向工程更具挑戰(zhàn)性。查找安全密鑰以解密配置文件與復制它一樣復雜;因此,從頭開始創(chuàng)建競爭性設計可能比嘗試對這樣的安全FPGA設計進行逆向工程更容易,更快捷。

非易失性按鍵是一次性可編程的,以防止篡改。使用密鑰對FPGA進行編程后,只能使用使用相同密鑰加密的配置文件對其進行配置。嘗試使用未加密的配置文件或使用錯誤密鑰加密的配置文件配置 FPGA 會導致配置失敗。配置故障表示可能發(fā)生篡改,無論是在外部存儲器和 FPGA 之間的傳輸期間,還是在遠程通信系統(tǒng)升級期間,在設計’??s 外部存儲器中。

設計選項比較

除了上述 FPGA 安全系統(tǒng)外,設計人員可用的其他設計選項還包括基于 SRAM 的 FPGA(僅限于 3DES 加密)、基于閃存的 FPGA 和基于防接通的 FPGA。表 2 描述了每種情況下的攻擊成本。

非易失性 FPGA 在電源關閉時保留其配置。揭示器件配置的一種方法是探測或檢測每個非易失性電池‘??s可編程狀態(tài)。對基于閃存的FPGA的兩種側信道攻擊是電子發(fā)射檢測和晶體管閾值電壓變化。

通過電子發(fā)射檢測進行的攻擊首先涉及移除器件’??s封裝以暴露芯片。接下來,將設備放置在真空室中并通電。然后,攻擊者使用透射電子顯微鏡來檢測和顯示發(fā)射。至于第二種技術,晶體管‘??s閾值電壓會隨著時間而變化,因為電子在浮動柵極中積聚。這導致晶體管的閾值電壓逐漸上升。

除了這兩種側信道攻擊之外,另一個流行的版本,即電源攻擊,涉及測量FPGA’??s功耗以確定設備正在執(zhí)行的功能。至于對基于閃存的FPGA的回讀攻擊,所需的工作量因供應商而異,并取決于安全位在器件中的保護程度。此外,探測每個基于閃存的FPGA‘??s浮動門需要花費大量的時間和精力,因為門在編程后不會發(fā)生物理變化。由氧化物隔離的狀態(tài)由所選門和基板之間的浮動柵極上是否存在或有多少電子決定(見圖3)。

圖 3

pYYBAGNQqkeAS6poAAAxdDoTmik190.jpg

此外,對閃存FPGA配置文件進行逆向工程并不容易,因為必須首先獲得配置文件。這是一項難以完成的任務,因為攻擊者必須在進行逆向工程之前執(zhí)行復制。設計人員還必須知道,篡改基于閃存的FPGA很容易,因為該器件是可重新編程的。因此,如果存在篡改問題,則必須使用防篡改機制。

編程狀態(tài)探測也用于攻擊基于反浪費的FPGA。技術包括聚焦離子束(FIB)技術和掃描電子顯微鏡(SEM)。FIB用于顯微鏡成像和設備的橫截面,而SEM涉及使用光柵式掃描的顯微鏡成像,以檢測從表面發(fā)射的二次電子。分析基于防灌注的FPGA’??s編程狀態(tài)非常耗時,因為有數百萬個防熔接鏈路和很小比例的編程。

改進的風險管理策略

設計人員必須估算總安全成本并進行權衡,以確定適合所設計設備的安全級別。為了實現高級別的安全性,設計人員必須分析潛在威脅,考慮給定一組特定漏洞的攻擊概率,并建立有效且適當的防御措施。FPGA提供多種可靠的安全方案,使設計人員能夠實施成本較低的風險管理策略。

審核編輯:郭婷

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

    關注

    1625

    文章

    21620

    瀏覽量

    601239
  • 嵌入式
    +關注

    關注

    5059

    文章

    18973

    瀏覽量

    302044
  • 存儲器
    +關注

    關注

    38

    文章

    7430

    瀏覽量

    163518
收藏 人收藏

    評論

    相關推薦

    關于工程安全保護的FPGA設計方案

    AES-EFUSE是將密鑰存儲在FPGA內置的,只能寫入一次的EFUSE寄存器中,同時必須使用原廠的JTAG Cable。寫入后密鑰將永遠保存在EFUSE中,用于解密。
    的頭像 發(fā)表于 07-04 11:36 ?2520次閱讀
    關于工程<b class='flag-5'>安全</b>保護的<b class='flag-5'>FPGA</b>設計方案

    藍牙AES+RNG如何保障物聯(lián)網信息安全

    安全性。在競爭應答機制中,隨機數生成器也發(fā)揮著關鍵作用。它確保了在多個設備競爭同一資源時,能夠依據公平且隨機的原則分配訪問權,有效避免通信沖突與擁塞現象的發(fā)生。同時,隨機數生成器還能有效防御重放攻擊。通過
    發(fā)表于 11-08 15:38

    FPGA參賽作品】基于FPGAAES分組加密系統(tǒng)

    。本方案以FPGA實現AES加密算法為目的,硬件角度加速AES加密。不知道這個方案有沒有吸引力,如果有的話就繼續(xù)寫設計方案了
    發(fā)表于 06-12 23:12

    如何使用TI新的SimpleLink MCU平臺創(chuàng)建強大的樓宇安全系統(tǒng)

    ,選擇一個可以解決多種協(xié)議的硬件平臺并根據您的應用為您提供軟件靈活性是個好主意。2.解決網絡安全問題。安全性是一個關鍵問題,尤其是在構建安全系統(tǒng)時。消費者希望知道他們的個人信息將受到保
    發(fā)表于 08-03 14:38

    基于FPGA的可編程AES加解密IP

    Programmable AES Encryption IP可編程AES加密IP可以集成到FPGA中,實現了AES(Advanced Encryption Standard) Rijn
    發(fā)表于 11-15 09:28

    如何才能確保電源系統(tǒng)符合FPGA要求?

    如何才能確保電源系統(tǒng)符合FPGA要求?FPGA使用的電源類型是怎樣的?FPGA的對電源有什么特殊要求?F
    發(fā)表于 04-08 06:55

    物聯(lián)網時代如何才能確保SoC的安全?

    安全的片上系統(tǒng)需要的關鍵功能是什么?物聯(lián)網時代如何才能確保SoC的安全?
    發(fā)表于 05-20 06:51

    沒有絕對安全系統(tǒng):寫在AES 256破解之后 精選資料分享

    本文講的是沒有絕對安全系統(tǒng):寫在AES 256破解之后,NULL在理論上,理論和實踐是一致的。在實踐中,呵呵。——(應該是)愛因斯坦(說的)(INFO:本文中不會出現公式,請放心閱讀)AES
    發(fā)表于 08-09 09:08

    基于FPGA的低成本AES IP核的設計與實現

    用硬件實現數據加密已成為信息安全的主流方向。本文提出了一種基于FPGA 的低成本的AES IP核的實現方案。該方案輪內部系統(tǒng)資源共用,減少了系統(tǒng)
    發(fā)表于 01-06 15:11 ?10次下載

    基于AES算法的無線加密數字傳輸系統(tǒng)

    本文實現了一種基于AES 算法的無線加密數字傳輸系統(tǒng),給出了該系統(tǒng)的結構,完成了AES 算法在FPGA 上的實現,將音頻接口集成到
    發(fā)表于 01-22 15:09 ?5次下載

    基于FPGAAES加密算法的高速實現

    介紹AES 算法的原理以及基于FPGA 的高速實現。結合算法和FPGA 的特點,采用查表法優(yōu)化處理了字節(jié)代換運算、列混合運算。同時,為了提高系統(tǒng)工作速度,在設計中應用了內外結合
    發(fā)表于 01-25 14:26 ?29次下載

    基于FPGAAES加密算法的高速實現

    介紹AES算法的原理以及基于FPGA的高速實現。結合算法和FPGA的特點,采用查表法優(yōu)化處理了字節(jié)代換運算、列混合運算。同時,為了提高系統(tǒng)工作速度,在設計中應用了內外結合的流水線
    發(fā)表于 07-17 18:09 ?46次下載

    AES中的字節(jié)替換的FPGA實現

    介紹 AES 中的字節(jié)替換算法原理并闡述基于FPGA的設計和實現。為了提高系統(tǒng)工作速度,在設計中應用了流水線技術。最后利用MAXPLUS-II開發(fā)工具給出仿真結果,并分析了系統(tǒng)工作速度
    發(fā)表于 09-27 15:54 ?6037次閱讀
    <b class='flag-5'>AES</b>中的字節(jié)替換的<b class='flag-5'>FPGA</b>實現

    使用FPGA實現類AES分組密碼統(tǒng)一框架的詳細資料說明

    通過將AES算法模塊化、運算一般化,給出了類AES算法的統(tǒng)一框架。在此框架下不僅可以同時實現AES的加密、解密,而且可以通過外部參數動態(tài)設定分組算法,使得密碼算法的使用更加靈活、安全。
    發(fā)表于 03-26 15:58 ?16次下載

    具有內置AESFPGA保護系統(tǒng)設計

    編程狀態(tài)探測也用于攻擊基于反熔絲的 FPGA。技術包括聚焦離子束 (FIB) 技術和掃描電子顯微鏡 (SEM)。
    的頭像 發(fā)表于 06-15 09:05 ?1336次閱讀
    具有<b class='flag-5'>內置</b><b class='flag-5'>AES</b>的<b class='flag-5'>FPGA</b>保護<b class='flag-5'>系統(tǒng)</b>設計