999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于DS2432 的FPGA 安全認證系統實現*

2012-08-09 08:07:52趙長青盧起斌侯亞輝
電子器件 2012年4期
關鍵詞:引擎系統設計

趙長青,盧起斌,侯亞輝

(中國傳媒大學廣播電視數字化教育部工程研究中心,北京 100024)

自現場可編程門陣列(FPGA)問世以來,其生產工藝已經達到28 nm,與專用集成電路ASIC(Application Specific Integrated Circuit)昂貴的設計費用相比,FPGA 以其成本優勢與編程靈活性促進了其在電子產品中日益廣泛的應用[1]。然而,基于SRAM 技術的FPGA 在系統斷電后其內部配置數據就會消失,所以系統上電時必須給FPGA 重新加載配置文件以讓系統正常運行。在配置過程中,可以利用一定的電路對配置信號引腳采樣獲取設計者的配置信息,從而達到克隆設計的目的[2],因此,對重要的FPGA 設計采取必要的加密認證技術成為設計者必須解決的問題。

為防止非法機構對FPGA 配置進行拷貝和克隆,保護設計者的知識產權,Xilinx 公司Virtex 系列和Altera 公司Stratix 系列這類高端FPGA 支持對配置數據比特流加密操作。只有當FPGA 中含有相同的密鑰時,這些數據流才可以被解密而運行。但是這種加密方法對低成本的FPGA 應用不適用。因此,這里采用了將FPGA和外置安全存儲器結合,利用敵我識別IFF(Identification Friend or Foe)技術保證其設計安全的一個解決方案[3]。這種方法對所有FPGA 系列都適用,成本低廉。本文在Altera 公司的EP3C16F484C6 低端FPGA 中進行編程和調試,驗證了這種方法的可行性,防止了克隆設計。

1 安全認證方案

真正安全的認證系統必須能夠證明它的發起者是可信的?;赟HA-1 算法的安全存儲器利用其算法不可逆特性將其加入到需要受保護的電子系統中,可以起到保護電子產品的作用[4]。本設計采用DS2432 安全存儲器構建了一種可靠的安全認證系統,對單總線技術、偽隨機數以及安全散列算法(SHA-1)進行了分析。整個認證系統通過1-Wire 總線完成FPGA 與DS2432 的通信,同時將DS2432 的SHA-1 引擎計算的信息認證碼(MAC)與FPGA 內部IFF模塊計算的MAC結果進行匹配以完成可信認證。

IFF(Identification Friend or Foe)為朋友或者敵人識別,圖1所示為IFF 認證系統結構圖。系統配置完FPGA 后不會立即啟動用戶設計。IFF模塊利用與安全存儲器中SHA-1 引擎相同的輸入和密鑰計算MAC。當MAC 結果匹配時,輸出一個朋友(Friend),IFF模塊使能用戶設計,否則輸出一個敵人(Foe),禁止用戶設計[5]。這一方案可以確保克隆器件不能正常工作,從而保護用戶設計。

圖1 IFF 認證系統圖

IFF 認證系統中DS2432 是由MAXIM 公司生產的實現低成本FPGA 安全認證功能的加密芯片,符合ISO/IEC 110118-3 安全散列算法(SHA-1)的質詢-響應安全認證機制。單個芯片內集成了1 024 bit EEPROM(分為4 頁,每頁256 bit)、64 bit 密鑰、64 bit 寄存器頁、64 bit 光刻ROM、64 bit 暫存器和512 bit SHA-1 引擎。DS2432 以1-Wire 協議串行傳送數據,通信速率為16.3 kbit/s(標準模式)或142 kbit/s(高速模式),只需一根數據線和一根返回地線。每個DS2432 具有的由工廠刻入的64 bit ROM 注冊碼可以確保器件唯一識別和絕對可溯。DS2432 在向存儲器寫數據或下載新密鑰時,數據首先被寫入暫存器,并可從暫存器里讀回以驗證寫入數據的正確性[6]。

2 IFF 認證設計

系統一上電,FPGA 完成配置后IFF 認證設計會規律地產生一系列隨機質詢碼發送給DS2432。然后FPGA 讀取來自DS2432 的160 bit 消息認證碼(MAC),將其與FPGA 中IFF模塊計算的MAC 結果對比以判定是否使能用戶設計。

2.1 單總線模塊設計

DS2432 是一個支持單總線的EEPROM 存儲器,為了保證通信數據的完整性,DS2432 具有嚴格要求的信號協議。該協議定義了4種類型的信號:包括復位脈沖和應答脈沖的復位信號、寫0、寫1和讀數據[7],并且發送的所有數據和命令都是字節的低位在前。除了應答脈沖以外,所有其它命令都是主機發出。如果沒有明確設定為高速模式通信速率,DS2432 就以標準速率通信。

DS2432 單總線器件有著嚴格的單總線命令序列,如果出現序列混亂,則器件就不會響應主機,主要包括4個步驟[8]:(1)初始化 基于單總線的數據傳輸過程都是以初始化開始的,主機發送復位脈沖,從機發送響應應答脈沖。應答脈沖使主機知道總線上有從機設備且準備就緒;(2)ROM 命令 主機檢測到應答脈沖后發送ROM 命令,這些命令都與從機設備的ROM 注冊碼有關,當總線上僅有單個從機設備時不需要尋址,主機在發出功能命令之前,必須發送合適的ROM 命令;(3)存儲器或SHA操作命令 主機發送功能命令驅動從機設備進行相應的動作;(4)數據傳輸 主機設備或從機設備會把數據以串行的方式送到單總線上,最后主機發送一個復位脈沖開始下一次通信任務。

2.2 偽隨機數模塊設計

信息安全領域中,隨機序列起著重要的作用,密鑰的生成、認證鑒別、數字簽名以及各種安全通信協議都需要高質量的隨機序列。目前廣泛使用的偽隨機序列都是根據隨機化原則產生的周期性數字序列。實際上,偽隨機序列發生器產生的序列并不是真的隨機化,而且具有周期性。只不過序列發生器的周期足夠長,遠遠大于采集的隨機序列的長度,那么這個偽隨機序列就可以代替真隨機序列。

本設計偽隨機序列主要由線性移位寄存器產生,如圖2所示,寄存器值用ai表示,ai=0或1,i=整數。用ci表示反饋的狀態,ci=1 表示此路反饋;ci=0 表示此路斷開。反饋線的連接狀態不同,移位寄存器輸出序列的周期P 就可能不同。最大長度移位寄存器型計數器是在移位寄存器的基礎上,通過線性反饋函數而得到,其模為2n-1,通常將其稱為m 序列[9]。本設計采用的偽隨機序列本原多項式f(x)=x24+x7+x2+x +1,每次輸出24 bit 隨機數作為DS2342 需要的質詢碼,其偽隨機性如下[10]:(1)平衡性 一個周期內1 出現的次數為2n-1次,0 出現的次數為2n-1-1 次;(2)游程特性 長度為k 的游程數目占游程總數的2-k[1≤k≤(n-2)],連1 的游程和連0 的游程各占一半,長為(n-1)的游程僅有1個連“0”游程,長為n 的游程僅有1個連“1”游程。

圖2 線性反饋移位寄存器原理框圖

2.3 SHA-1 引擎模塊設計

SHA-1 散列算法作為聯邦信息處理標準于1993年發表(FIPS PUB 180),由美國國家標準技術研究院(NIST)開發;1995年修訂,作為SHA-1(FIPS PUB 180-1)發布。SHA-1 基于MD4 算法,并且在設計方面很大程度上是模仿MD4 的[11]。

表1 SHA-1 引擎輸入數據

DS2432 中SHA-1 引擎與SHA-1 散列算法稍有不同,輸入僅有一個固定的512 bit 數據塊,沒有填充位,分為16個32 bit 字Mt(0≤t≤15),如表1所示。這16個32 bit 字由32 byte 存儲頁(p_data),8 byte 密鑰(secret),6 byte 設備注冊號(sn),15 byte 常量,3 byte 質詢碼(sp)以一定的順序組成用于計算讀驗證頁命令[6,12]。SHA-1 引擎的核心是一個包含4個循環的模塊,每個循環由20個步驟組成。其詳細算法及偽碼描述見參考文獻[13](FIPS PUB 180-1)。最后一步驟沒有添加初始常量[IV]到輸出結果,至于SHA-1 引擎算法的其他步驟則與標準SHA-1 算法相同。

2.4 匹配模塊設計

本模塊主要控制質詢碼產生和匹配時間,偽隨機數模塊產生的質詢碼必須同步傳送給DS2432和FPGA 中的SHA-1 引擎。由于FPGA和DS2432 計算MAC所需時間不同,所以必須等待足夠長的時間以便其完成MAC 的計算。本設計采用每一秒時間匹配一次MAC,如果MAC 匹配使能用戶設計,否則禁用用戶設計。

3 調試與驗證

在Altera 公司Cyclone 系列FPGA 中完成編程和調試,調試工具使用SignalTap II。它可以實時顯示FPGA 工作時內部信號的波形。

3.1 讀ROM和存儲器頁

FPGA 發送Read ROM[33h]命令讀取DS2432的64 bit 光刻ROM,Read Memory[F0h]命令可以用來讀取除密鑰以外的所有存儲器值。圖3 顯示存儲器page0 頁256 bit 全為0值以及64 bit ROM 注冊碼為E40000030E32D733h。

圖3 read DS2432 SignalTap II 圖

3.2 下載初始密鑰

首先FPGA 發送Skip ROM[CCh]命令,然后發送Write Scratchpad[0Fh]并指定地址(0080h)后將64 bit 密鑰(例如0123456789abcdefh)寫入暫存器。最后發送Load First Secret[5Ah],如果密鑰未加寫保護則被替換為新密鑰,替換時間最多持續10 ms,1-Wire 總線在此期間電壓不得拉低。數據復制完成之后,DS2432 在總線上將傳送交替的“1”和“0”電平。

3.3 讀取認證

FPGA 發送Read Authenticated Page[A5h]命令并指定目的地址,FPGA 將依次接收目的地址到數據頁末的存儲器值、FFh 字節和CRC16 反碼。FPGA 等待2ms,在此期間,DS2432 的SHA-1 引擎利用表一所示輸入數據計算MAC。然后,FPGA 讀取160 bit MAC和CRC16 反碼。如果FPGA 繼續讀取,讀取值為交替的“1”和“0”電平。最后,FPGA 將讀到的160 bit MAC與FPGA 計算的MAC 進行匹配。圖4所示為MAC匹配結果,本次匹配顯示的160 bit MAC 結果是3766F0A0C70165D1ED10E16D981893B63A49338Fh,使能用戶設計。

圖4 MAC 匹配結果SignalTap II 圖

本設計采用SHA-1 算法引擎,其優越性體現在以下幾點:(1)算法不可逆性,從MAC 反推輸入信息是不可能的,保證了密鑰的安全性。(2)防碰撞性,對于特定MAC 只對應于一種輸入信息,使用另外一組輸入數據產生是不可行的。(3)雪崩性,輸入數據的任何變化都會引起MAC 極大的變化。系統設計的缺點是FPGA 需要外置一片安全存儲器并占用一根IO 數據線,而且FPGA 實現SHA-1 算法引擎也需要一定的系統資源。

4 結論

基于DS2432 的安全認證系統實現了低成本FPGA 的可信認證。系統通過質詢-響應機制匹配消息認證碼,在沒有正確的密鑰和消息認證碼之前,系統會一直禁止用戶設計正常運行。這一方案已經應用于實際系統中,運行穩定,從而保護了用戶設計。

[1]王沁,孫富明,李磊,等.FPGA 設計安全性綜述[J].小型微型計算機系統,2010,31(7):1333-1337.

[2]Wollinger T,Guajardo J,Paar C.Security on FPGAs:State-of-the-Art Implementations and Attacks.Transactions on Embedded Computing Systems,2004,3(3):534-574.

[3]Catalin Baetoniu,Shalin Sheth.FPGA IFF Copy Protection Using Dallas Semiconductor/maxim DS2432 Secure EEPROMs[Z].2005.http://www.xilinx.com/support/documentation/application_notes/xapp780.pdf.

[4]徐名揚,張衡.基于SHA-1 算法的加密認證系統設計[J].中國集成電路,2011(151):37-44.

[5]Altera.An FPGA Design Security Solution Using a Secure Memory Device[EB/OL].2007.http://www.altera.com.cn/literature/wp/wp-01033_CN.pdf.

[6]Maxim Integrated Products Inc.DS2432 1kb Protected 1-Wire EEPROM with SHA-1 Engine[EB/OL].2004.http://datasheets.maxim-ic.com/en/ds/DS2432.pdf.

[7]伍家滿,虞禮貞,劉小燕,等.基于1-Wire 接口的總線技術及其應用[J].南昌大學學報(工科版),2005,27(1):89-93.

[8]Dallas Semiconductor.DS18B20 Programmable Resolution 1-Wire Digital Thermometer[EB/OL].http://pdfserv.maxim-ic.com/en/ds/DS18B20.pdf.

[9]張海峰,段穎妮,呂虹.全狀態偽隨機序列發生器的實現[J].電子器件,2006,29(1):176-178.

[10]樊昌信,曹麗娜.通信原理(第六版)[M].國防工業出版社,2009:379-390.

[11]胡向東,魏琴芳,胡蓉.應用密碼學(第二版)[M].電子工業出版社,2011:166-176.

[12]劉軍志,黃進.基于DS2432和FPGA 的IFF 加密方法[J].2007,23(6-2):201-202.

[13]FIPS PUB 180-1.Secure Hash Standard(SHA-1)[EB/OL].National Institute of Standards and Technology(NIST).http://www.itl.nist.gov/fipspubs/fip180-1.htm.

猜你喜歡
引擎系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
主站蜘蛛池模板: 91破解版在线亚洲| 一区二区三区在线不卡免费| 欧美日韩北条麻妃一区二区| 午夜福利亚洲精品| 国产区福利小视频在线观看尤物| 国产免费网址| 亚洲成人一区二区| 国产精品欧美在线观看| 日本一区二区三区精品视频| 99激情网| 国产九九精品视频| 乱码国产乱码精品精在线播放| 欧美无专区| 自慰高潮喷白浆在线观看| 国产小视频网站| 欧美区一区| 波多野结衣久久高清免费| 久久夜色精品国产嚕嚕亚洲av| 国产精品一区不卡| 亚洲天堂区| 国产素人在线| 国产成人精品免费av| 2021国产精品自拍| 国产黄色视频综合| 亚洲第一视频网| 国产成人精品视频一区二区电影 | 精品无码国产一区二区三区AV| 欧美成人免费一区在线播放| 亚洲制服丝袜第一页| 91精品网站| AV天堂资源福利在线观看| 亚洲国产精品久久久久秋霞影院| 国产精品视频a| 天天视频在线91频| 欧日韩在线不卡视频| 在线视频亚洲欧美| 成人精品午夜福利在线播放| 四虎永久免费网站| 亚洲中文久久精品无玛| 九月婷婷亚洲综合在线| 在线免费无码视频| 三级欧美在线| 狠狠久久综合伊人不卡| 九九视频在线免费观看| 中国丰满人妻无码束缚啪啪| 中文一级毛片| 天天干伊人| 亚洲一区二区三区国产精华液| 毛片免费在线| 国产丝袜91| 毛片国产精品完整版| 区国产精品搜索视频| 国产成人综合日韩精品无码首页| 99re精彩视频| 亚洲成人在线网| 永久在线播放| 美女被操黄色视频网站| 亚洲成人一区在线| 一级毛片免费播放视频| 88av在线看| 国产又色又刺激高潮免费看| 亚洲国产欧洲精品路线久久| 日韩专区欧美| 99re在线免费视频| 999精品在线视频| 午夜福利视频一区| 国产主播喷水| 久久性视频| 成人av手机在线观看| 91精品专区| 国产精品福利尤物youwu| 亚洲天堂网在线观看视频| 一区二区影院| 91免费国产在线观看尤物| 色老二精品视频在线观看| 98精品全国免费观看视频| 欧美中出一区二区| 99资源在线| 国产视频自拍一区| 国产在线第二页| 国产女人18水真多毛片18精品| 国产精品女人呻吟在线观看|