針對FPGA實現(xiàn)安全的系統(tǒng)內編程功能(05-100)
Flash出現(xiàn)前的情況
本文引用地址:http://butianyuan.cn/article/91406.htm以SRAM為基礎的 CPLD和FPGA是揮發(fā)性的,需要外部的配置內存。因此,它們被公認為最多安全隱憂的可編程器件。例如,要盜取以SRAM為基礎 FPGA的設計十分容易,只要探測FPGA與外部 (非揮發(fā)性) 配置內存的接口,截取當中的位流便可。為此,SRAM器件制造商進行了很多嘗試,以防止這些情況發(fā)生。為了保護FPGA上的數(shù)據(jù),有些廠家移除了非揮發(fā)性的配置內存,并嘗試用電池來維持FPGA的配置數(shù)據(jù)。這在理論上可行,但在實際應用中卻會顯著增加板級設計的成本:板卡更加復雜、需要添加電源線、采取電隔離措施 (防止其它芯片從器件至器件之間的互連為自己供電),以及電池本身的成本。即使采用這種方法,也不能排除系統(tǒng)因電壓/接地尖峰、物理沖擊或電池失效等問題而遭受瞬間掉電,從而丟失配置數(shù)據(jù)。
對于許多較新的SRAM FPGA產品,制造商引進了以3DES或同類加密方案的位流加密支持,并儲存于外部內存中。上電時,可編程器件從內存中讀入加密后的配置位流,并在器件中進行解密,然后加載到半導體芯片上。雖然這種方法能防止大部分黑客盜取芯片中的IP,但還是不能阻止他們截獲位流或導入其它的位流。
較舊式的SRAM FPGA產品不支持位流加密,制造商因此采用了幾種方法來增加器件的安全性。常用的一種方法是采用所謂“握手令牌” (Handshake token)執(zhí)行設計,即如果沒有收到所預期的令牌,FPGA內的設計功能就會失效。握手令牌會在上電時隨機生成,或利用小型的非揮發(fā)性可編程器件 (NVPD) 重置,然后在運行時定時監(jiān)控,以保證令牌沒有改變。假如令牌有變,FPGA的功能 (握手令牌電路除外) 將失效,直到收到正確的令牌為止。FPGA每隔一段時間就會向NVPD請求另一個令牌,以便進行控制。一旦收到正確的令牌,FPGA的功能便會恢復。
這種方法希望能保證即使配置位流被復制并克隆到FPGA中,沒有正確的令牌也不能工作。然而,這種方法不能防止犯罪者將位流從外部配置內存中復制,并經過逆向工程獲得它在NVPD中的運行算法,然后便可制備新的NVPD,以便在克隆的電路中生成令牌。雖然這種保證方法大幅增加了克隆設計的難度,但不能全面保護FPPGA中的專利IP。其它方法也可以用來保護SRAM FPGA,但也只是提高獲取或使用位流的難度,而不能完全保護IP。諷刺的是,在許多這類方法中,NVPD的內容得到保護,因為器件是非揮發(fā)性的;而FPGA的內容卻被暴露,因為器件每次上電都需要將配置位流寫入FPGA中。
安全ISP的完整解決方案
能充分保障器件及其編程安全的完整解決方案必須能抗衡這些嚴峻的安全問題。這樣的解決方案必須包含如下要素:
- ? 安全的基礎構架。Flash FPGA具非揮發(fā)性、上電即行和單芯片等特性,在芯片上擁有一切所需的非揮發(fā)性內存,在鎖定后也很安全。
- ? AES (先進加密系統(tǒng)) 技術。必須采用先進的加密技術確保編程位流的安全傳輸。
- ? 信息驗證代碼 (MAC)。必須在安全位流傳輸中采用MAC驗證來確保信息在傳輸時沒被更改。
- ? 非揮發(fā)性內存/FlashROM (FROM)。FPGA板上的非揮發(fā)性FROM寄存器可存儲鍵和標識,以實現(xiàn)安全ISP的控制和序列化處理。
AES加密系統(tǒng)
先進加密系統(tǒng) (AES) - 美國聯(lián)邦信息處理標準197 (AES-FIPS 197) 是美國國家標準技術研究院 (NIST) 最新頒布的加密標準。AES算法能夠使用128、192和256位的加密鍵來實現(xiàn)128位數(shù)據(jù)塊的加密和解密,從而保護電子數(shù)據(jù)。AES算法替代了原本安全性較低的DES和3DES算法。AES-128能在多達3.4 * 1038個獨特密碼鍵中任挑一個來加密位流。這樣,每秒能破解一百萬個加密鍵并可用于設計的精密黑客程序 (這已是非常高的并發(fā)算法能力了) 也需要1 * 1025年(即千萬個萬億年) 才能找到AES-128生成的那個加密鍵。
信息驗證代碼 (MAC) 的目的是檢測位流在傳輸過程中有否被更改。如果更改并非惡意,如由傳輸出現(xiàn)的一些問題引起,接收端可以檢測得到并請求重新傳送。如果更改是惡意的,MAC檢測出的改變將拒絕由攻擊者更改的信息被接受。從概念上講,這系統(tǒng)頗為簡單。發(fā)送端和接收端共享一個加密鍵。接收端利用共享的加密鍵計算接收信息的MAC。如果計算出來的MAC與接收到的MAC不匹配,說明信息在傳輸過程中被更改。系統(tǒng)軟件于是會拒絕該位流并請求重新傳輸。
FROM
FlashROM (FROM) 是安全ISP解決方案的一個關鍵組件。作為非揮發(fā)性板級數(shù)據(jù)存儲器,FROM存儲著諸如加密鍵和獨特設備標識之類的寶貴資源。FPGA通常采用的構架,是讓FROM和FPGA結構能獨立地進行編程,容許FROM在毋須更改FPGA核心結構的情況下也可以更新。為了保證FROM內容的安全性, FROM只允許采用JTAG編程;并不能通過內核來更新。但是為支持某些應用,尤其是依賴于獨特器件標識 (序列化) 的應用,FPGA內核應當能讀取FROM的內容。
圖1 安全ISP的完整解決方案
采用適當?shù)呐渲弥С?并結合基本的編程功能如自動增量和自動減量,FROM和AES的使用就能支持許多涉及設備序列化的應用,即是支持獨的設備標識。目的是為了更方便地管理大量器件的FROM內容。序列化支持在面對下述功能和應用領域時尤其有用:
- ? 資產管理跟蹤
- ? 日期和時間戳
- ? 互聯(lián)網(wǎng)協(xié)議尋址
- ? 庫存控制
- ? 基于認購方式的經營模式
- ? 系統(tǒng)校準設置
- ? 版本管理
圖2 真實環(huán)境下的ISP
真實環(huán)境下的安全ISP
FPGA產品在過去20多年來獲得巨大成功,因為能提供配合客戶所需的生產力和成本優(yōu)勢。這些優(yōu)勢主要分為三大類別,并被認為是更改系統(tǒng)設計或配置變得越來越困難及執(zhí)行也日益昂貴的關鍵階段:
? 在設計接近完成或設計完成并進入組裝的設計工程階段,出現(xiàn)了后來突發(fā)的系統(tǒng)變更需求,或出于制造考慮的變更需求。
? 在次級承包商的據(jù)點,FPGA正進行編程,而系統(tǒng)經已組裝、測試及付運至終端用戶,又或分銷商在交貨前必需對系統(tǒng)進行定制的現(xiàn)場。
? 在客戶的應用現(xiàn)場或其它遠程現(xiàn)場,需要按最終客戶的要求變更系統(tǒng),添加所需功能或更新系統(tǒng)參數(shù)。
ISP安全架構的三個級別分別對應了這三個階段:
例1:工廠/可信賴環(huán)境。這是最簡單的選項,器件的編程在可信賴的環(huán)境中進行 (通常是客戶的“工廠”),也是系統(tǒng)設計完成的地方。在這種情況下,并不需要加密。這是保護設計的安全方法,因為設計的編程文檔不會離開這個可信賴的環(huán)境。當OEM廠商不能進行編程時,編程服務通常由FPGA制造商(“IHP”) 提供,也就是向OEM廠商提供另一個安全的可信賴環(huán)境。
圖2 真實環(huán)境下的ISP
例2:合約制造。為了減少制造成本,器件編程一般都不會在實施設計的地方進行。海外編程中心和合約制造商是這個情況的一些例子。在這種情況下,AES加密鍵最先由OEM廠 (可信賴的環(huán)境) 內部進行編程。最后的編程則連同AES加密編程檔案在工廠以外“不可信賴”的地點進行。過建的情況不會在這里出現(xiàn),因為合約制造商在市場上購買的任何額外部件由于沒有裝載適當?shù)腁ES加密鍵,因此都無法使用,也不能用AES加密編程檔案進行編程。
例3:現(xiàn)場“訂購”升級。為了提供最高的靈活性,最終用戶必須能在應用現(xiàn)場享用ISP功能。這即是說需要在“不可信賴”的地點來進行編程,包括在有線、互聯(lián)網(wǎng)、衛(wèi)星鏈路等公網(wǎng) (或私網(wǎng)) 的遠程現(xiàn)場據(jù)點進行消費產品/設備的重新配置。與上面的例子一樣,這也需要使用AES加密編程檔案。在這種情況下,當客戶要求系統(tǒng)升級時,在供應商據(jù)點的技術支持便會查詢設備的獨特器件標識,該標識已在可信賴的環(huán)境中安全地寫入FROM。器件的標識將由系統(tǒng)于遠程現(xiàn)場送回,并用來在“器件詞典”中查核對應的AES鍵。該加密鍵會被送到內部程序中,根據(jù)所請求的功能取得適當?shù)木幊虣n案,然后利用該加密鍵生成加密位流。這樣器件就能利用加密編程后位流重新編程,并在MAC算法核對過收發(fā)雙方都擁有相同的加密鍵后進行。
明顯地,AES、MAC和FROM非揮性內存的結合能組成安全的可編程解決方案,為系統(tǒng)設計人員及客戶提供重大優(yōu)勢。非揮發(fā)性以Flash為基礎的FPGA,例如Actel的ProASIC3/E系列器件,便能提供所有這些甚至更多功能。以Flash為基礎的FPGA提供高度安全和低成本的單芯片解決方案,并通過非揮發(fā)性Flash技術實現(xiàn)上電即行的功能。AES-128加密技術可在不安全的環(huán)境下進行安全ISP,而芯片上內置的FROM可基于獨特的器件標識而實行多種嶄新應用。此外,以Flash為基礎器件能滿足實現(xiàn)安全ISP的所有要求,并主動地保護客戶的產品免受各種棘手的安全問題威脅,包括過建、盜取敏感的數(shù)據(jù)、篡改產品和黑客攻擊等。
評論