吴忠躺衫网络科技有限公司

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

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

3天內不再提示

采用FPGA安全存儲器的加密認證系統設計

電子設計 ? 作者:電子設計 ? 2018-10-07 12:10 ? 次閱讀

在現代電子系統的設計中,高速 FPGA運行時需將其配置數據加載到內部SRAM 中,改變SDRAM 里面的數據,從而使FPGA實現不同的功能,即所謂的可重構技術。但是由于其采用的是基于SRAM的技術,每次上電的時候都會重新配置FPGA,這就可以通過監視FPGA配置引腳位流的方法來實現對設計的復制,因此,在關鍵設備的設計中,有必要采取加密的技術來保護設計者的知識產權。

1、加密問題的提出

由于 FPGA基于SRAM,所以掉電以后,其內部的數據必然丟失,為了讓系統正常運行,就需要在系統上電的時候給FPGA加載程序,目前對FPGA加載程序的方法主要有以下幾種:

第一、 采用邊界掃描的方式,這種方法主要用于產品調試期間用;

第二、 采用專用配置芯片配置,主要用于升級次數少的產品;

第三、 采用存儲器+微控制器的配置方法,這種配置方法靈活,使用方便,便于升級,多用于需要多次升級的產品。

以上幾種 FPGA配置方法在上電加載程序的時候,都需要將配置的數據通過配置管腳下載到 FPGA中,這樣,就可以利用一定的電路對這些引腳進行采樣來獲得 FPGA的配置信息,就可以對另一款同樣的 FPGA來進行配置,這樣,就不需要知道設計的具體原理而實現了同樣的功能,從而達到了克隆設計的目的,對設計者造成了巨大的損失,所以,我們有必要對我們的設計采取加密認證技術。

2、DS28E01芯片及其加密原理

MAXIM公司生產的 DS28E01將 1024位 EEPROM與符合 ISO/IEC110118-3安全散列算法(SHA-1)的質詢響應安全認證結合在一起。在單個芯片內集成了 1024位 EEPROM(分為 4頁,每頁 256位)、64位密鑰、一個寄存器頁、512位 SHA-1引擎和 64位 ROM序列碼。 DS28E01對數據按照 1-Wire協議串行傳送,通信速率為15.3kbps(標準速率模式)或125kbps(高速模式),只需要一根數據線和一根返回地線,最大限度的節省了對控制器 I/O口的占用。

HASH加密函數是一種單向散列函數,是一種單向密碼體制,即它是一種從明文到密文的不可逆映射,只有加密過程,不能解密,也就是說,從數學上不能由密文反過來推算出明文的任何消息。其中常見的 HASH函數的算法有:MD5、SHA、N-Hash、RIPE-MD、HAVAL等。

SHA-1算法是一種通過直接構造復雜的非線性關系達到單向要求,設計單向散列函數的算法,具有“不可逆”、“防碰撞”以及良好的“雪崩效應”,防止了盜竊者利用相近的輸入來達到破解密碼的可能性。

DS28E01內部的加密過程是在內部的加密引擎中進行的,其加密引擎利用的是 HSAH函數的 SHA-1算法,但是和標準的 SHA-1算法又有幾點不一樣。標準算法的輸入值可以小于、等于或大于分組長度512bit,但是 SHA-1引擎的 SHA-1算法輸入的是固定的512bit,也就是標準 SHA-1算法的分組長度。并且標準 SHA-1算法每個分組的最后一次循環體的輸出都要和輸入每個分組的初始常量做MOD232加法,而在 DS28E01的 SHA-1引擎中由于只有一個512bit的循環體,最后就省略了將初始常量添加回結果的最終步驟。至于引擎的 SHA-1算法的其他步驟則與標準的 SHA-1算法相同。

3、加密模塊設計

目前由很多能實現 FPGA加密的方法,如在 Xilinx Virtex-II和 Virtex-4這類的高端FPGA中,支持對配置數據流的加密操作。這樣僅當 FPGA中含有相同的密鑰時,這些數據流才可以工作。但是這種加密的方法對更為廣泛的、對成本比較敏感的應用場合來說不甚合適。因此,這里利用另一種可行的身份識別法來防止意外拷貝。這種方法對所有 FPGA家族都使用,包括低端的 Xilinx Spartan-3系列FPGA。

3.1、加密模塊的原理圖設計

本次設計中的加密模塊的原理圖如圖1。硬件部分主要由 Xilinx公司 Spartan-3系列的X3CS500E以及MAXIM公司的DS28E01芯片組成。DS28E01芯片和FPGA之間是通過DS28E01的第二引腳的 1-Wire通信總線進行通信的。

采用FPGA安全存儲器的加密認證系統設計

唯一識別號及附加數據(常數)在內的 HASH運算結果,運算的結果是 160位的 MAC(消息認證碼),同時,FPGA內部也會同安全存儲器一樣進行包含密鑰、隨機數、附加數據及器件識別號在內的 HASH計算并產生一個期望的MAC。然后,在 FPGA內會對這兩個 MAC進行比較,如果一樣,則 FPGA認為該電路是“合法”電路,因為它擁有正確的密鑰。此時 FPGA進入正常工作狀態,開啟/執行其配置數據中的所有功能,會執行所有的功能。如果 FPGA和DS28EO1兩者產生的MAC不匹配,則系統會認為該電路是一個“非法”電路,因為該系統不具有正確的密碼。此時 FPGA進入非正常運行狀態,只執行有限的功能。

3.2、加密認證模塊的程序設計

為了實現加密認證的功能,我們在 FPGA中利用 VHDL語言設計了 IFF模塊,在 IFF模塊的內部是根據SHA-1算法實現了對輸入密碼的HASH函數運算以及與DS28E01中產生的MAC的比較功能,IFF模塊的接口定義如圖 2所示:

采用FPGA安全存儲器的加密認證系統設計

其中,CLKIN是一個大于 20M的時鐘;IFF是認證啟動信號,在 IFF信號上升沿的時候模塊內部開始啟動 HSAH運算過程以及密碼比較過程;RESET是復位信號,高電平有效;IB則是 FPGA通過 1-Wire協議與 DS28E01通訊的信號;FOE信號是 IFF模塊的輸出線,在IFF內部 MAC比較完成后,如果 FPGA認定該電路具有正確的密碼,則會置 FOE信號為低電平,反之如果 FPGA認定該電路不是合法的電路,則會置 FOE信號為高電平,在 FPGA內部可以根據FOE的信號來實現不同的功能。這樣,系統就可以根據電路是否是被拷貝的來實現不同的功能,防止了設計被拷貝。

在 IFF模塊中,實現了標準的 SHA-1算法,其中算法流程圖見圖3,在 FPGA配置完成之后,在 RESET信號與時鐘信號的控制下,FPGA內部就會運行 SHA-1算法產生相應的MAC,與由 DS28E01產生的 MAC進行比較,根據比較結果將 FOE設置為不同的狀態,然后 FPGA就可以根據 FOE的狀態來判斷是否是合法電路。其中的初始化主要完成消息填充和附加原始消息長度以及在算法中需要的函數和常數的定義。

4、設計總結

在現在電子設計的成本越來越高的情況下,基于 SRAM的 FPGA由于自身限制,容易使得設計者的設計被復制,從而給設計者提出了設計具有加密功能的電子系統,由于 SHA-1 算法引擎的 DS28E01芯片作為加密認證系統的核心芯片,并利用 DS28E01針對 Xilinx公司的 X3CS500E開發了實際的加密認證系統,并將此系統應用于實際的產品中,取得了良好的效果。

采用FPGA安全存儲器的加密認證系統設計

圖 3 SHA-1算法流程圖(Figure 3. SHA-1 algorithm flow)

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

    關注

    1630

    文章

    21796

    瀏覽量

    605999
  • 存儲器
    +關注

    關注

    38

    文章

    7528

    瀏覽量

    164343
  • sram
    +關注

    關注

    6

    文章

    768

    瀏覽量

    114885
收藏 人收藏

    評論

    相關推薦

    最高安全等級的加密IC LKT4200

    存儲器管理單元,可靈活設置SYS\APP模式及授予相應權限程序和數據均加密存儲安全認證目標:EAL5+,32位智能卡芯片軟件
    發表于 03-08 17:18

    基于FPGA的身份認證智能卡設計

    基于FPGA的身份認證智能卡的設計方案。在FPGA內部實現身份認證相關的數據加密運算,加密算法
    發表于 10-14 12:45

    定制型加密芯片這是一款采用隨機變量交換系統認證加密芯片,請問定制化加密芯片優勢在哪里?

    ALPU加密芯片。所以即使盜版系統復制了PCB、內核甚至存儲器中的固件,但若缺少這顆定制加密芯片,該系統仍然無法工作。定制化
    發表于 05-21 14:29

    基于FPGA的高端存儲器接口設計

    高性能系統設計師在滿足關鍵時序余量的同時要力爭獲得更高性能,而存儲器接口設計則是一項艱巨挑戰。雙倍數據速率SDRAM和4倍數據速率SDRAM都采用源同步接口來把數據和時鐘(或選通脈沖)由發射
    發表于 04-29 07:00

    汽車系統非易失性存儲器的選擇

    汽車系統的設計變得越來越復雜,因為要不斷的加入新的功能,如高級駕駛輔助,圖形儀表,車身控制和車輛信息娛樂系統。為了確保可靠、安全的操作,每個子系統均需要使用特定的非易失性
    發表于 07-23 06:15

    如何設計FPGA加密認證系統

    的技術,每次上電的時候都會重新配置FPGA,這就可以通過監視FPGA配置引腳位流的方法來實現對設計的復制,因此,在關鍵設備的設計中,如何設計FPGA加密
    發表于 08-05 06:43

    請問怎樣去設計一種FPGA加密認證系統

    加密問題是怎樣提出的?DS28E01芯片及其加密原理是什么?怎樣去設計一種FPGA加密認證系統
    發表于 04-29 06:53

    可編程非易失(NV)存儲器的質詢-響應安全認證IC DS28

    Maxim推出帶有用戶可編程非易失(NV)存儲器的質詢-響應安全認證IC DS28E10。采用經過業內認證的FIPS 180-3
    發表于 08-14 15:12 ?17次下載

    NAS網絡存儲器認證有哪些?

     NAS網絡存儲器認證有哪些?              認證的官方含義是:由可以充分
    發表于 01-09 10:36 ?695次閱讀

    采用LabVIEW的存儲器檢測系統設計方案

    采用LabVIEW的存儲器檢測系統設計方案 概述:文中分析了存儲器的故障類型,研究March算法并進行了擴展。系統以LabVIEW作為軟件
    發表于 03-22 14:47 ?1452次閱讀
    <b class='flag-5'>采用</b>LabVIEW的<b class='flag-5'>存儲器</b>檢測<b class='flag-5'>系統</b>設計方案

    什么是加密存儲器

    什么是加密存儲器加密存儲器卡內嵌芯片在存儲區外增加了控制邏輯,在訪問存儲區之前需要核對密碼
    發表于 04-01 17:46 ?560次閱讀

    SAN網絡存儲器認證

    SAN網絡存儲器認證              認證的官方含義是:由可以充分信任的第三方證實某一經鑒定的產品或服務符合
    發表于 01-09 13:43 ?727次閱讀

    分立閃存存儲器領域加密安全基礎設施

    嵌入式系統越來越普遍地采用云技術來進行數據采集、事件檢測和軟件更新。這些遠程物聯網設備普遍通過固件完成設置,這些固件有可能存儲在主機MCU中,也有可能存儲在外置非易失性
    發表于 05-18 10:25 ?635次閱讀
    分立閃存<b class='flag-5'>存儲器</b>領域<b class='flag-5'>加密</b>和<b class='flag-5'>安全</b>基礎設施

    FPGA存儲器之間的關系

    FPGA存儲器之間的關系(嵌入式開發工作怎么樣)-該文檔為FPGA存儲器之間的關系總結文檔,是一份很不錯的參考資料,具有較高參考價值,感興趣的可以下載看看………………
    發表于 07-30 16:35 ?6次下載
    <b class='flag-5'>FPGA</b>各<b class='flag-5'>存儲器</b>之間的關系

    EEPROM存儲器如何加密

    擦寫、可編程的特性,EEPROM在各種應用場景中得到了廣泛的應用。然而,隨著技術的發展,數據安全問題日益突出,對EEPROM存儲器進行加密的需求也越來越高。 EEPROM存儲器概述 1
    的頭像 發表于 08-05 18:05 ?1464次閱讀
    太阳百家乐官网3d博彩通| 鑫鑫百家乐官网的玩法技巧和规则 | 百家乐官网怎样算大小| 百家乐看澳门| 百家乐官网赌场群| 和记国际娱乐| 皇冠百家乐的玩法技巧和规则| 网上玩百家乐官网的玩法技巧和规则| 宕昌县| 永利博百家乐的玩法技巧和规则 | 同城乐| 威尼斯人娱乐城赌场| 伯爵百家乐娱乐城| 百家乐官网开户首选| 大发888真人网址的微博| 百家乐太阳城真人游戏| 百家乐官网管家| 百家乐官网楼梯缆| 盈丰娱乐场| 威尼斯人娱乐城送38| 百家乐筹码币方形| 微信百家乐官网群二维码| 金城百家乐官网平台| 百家乐官网会骗人吗| 嵩明县| 沙龙国际网址| 大三巴娱乐城开户| 威尼斯人娱乐怎么样| JJ百家乐的玩法技巧和规则 | 手机百家乐官网的玩法技巧和规则 | 太阳城娱乐城备用网址| 大发888网页打不开| 金矿百家乐的玩法技巧和规则 | 百家乐官网赌场视频| 百家乐官网必胜赌| 百家乐官网解密软件| 永利高百家乐官网进不去| 网上玩百家乐官网好吗| 百家乐官网看牌技巧| 淳安县| 百家乐官网视频连线|