馮雁軍 張建國等

摘要:本文闡述基于FPGA設計實現加密產品的優勢,并以實際產品說明FPGA在信源全系統復合加密方面的應用。本文網絡版地址:http://www.eepw.com.cn/article/146817.htm
關鍵詞:加密技術;FPGA;硬件防克隆;整機加密
加密相關技術的簡介
加密技術包括兩個元素:算法和密鑰。算法是將普通的文本與一串數字(密鑰)的結合,產生不可理解的密文的步驟,密鑰是用來對數據進行編碼和解碼的一種算法。在安全保密中,可通過適當的密鑰加密技術和管理機制來保證網絡的信息通訊安全。密鑰加密技術的密碼體制分為對稱密鑰體制和非對稱密鑰體制兩種。相應地,對數據加密的技術分為兩類,即對稱加密(私人密鑰加密)和非對稱加密(公開密鑰加密)。對稱加密以數據加密標準(DES,Data Encryption Standard)算法為典型代表,非對稱加密通常以RSA(Rivest Shamir AdI eman)算法為代表。對稱加密的加密密鑰和解密密鑰相同,而非對稱加密的加密密鑰和解密密鑰不同,加密密鑰可以公開而解密密鑰需要保密。
對稱加密技術
對稱加密技術又稱私鑰加密技術,就是加密密鑰能夠從解密密鑰中推算出來,反過來也成立。大多數對稱算法中,加、解密的密鑰是相同的,這些算法也稱秘密密鑰算法或單密鑰算法。用這種加密技術通信時,信息發送方用加密算法E把明文M加密,得到密文C后,然后把密文通過通信網絡發送給接收方,接收方在接收到密文C后,通過解密算法D進行解密,重新得到原明文M,達到密碼通信的目的。目前廣泛采用的對稱加密技術之一是數據加密標準DES。傳統信息加密產品面臨的問題
當前市場上存在的加密產品可分為幾大類:
第一類是硬件加密產品。這類產品的大致原理是通過主要以ARM為核心,外接加密芯片構造而成的SOC系統。首先,由于加密芯片的實現的功能單一,不能夠實現多種算法:其次,由于外接的加密芯片暴露在外,容易檢測加密芯片的管腳信號,通過示波器容易知曉加解密的結構:而且這樣的結構設計其處理速度遠遠不能滿足批量或者大文件的數據處理需求:硬件容易被克隆。
另一類則是軟件產品。通過以加密算法為核心,通過編程實現算法,然后對文件進行加密。由于在加密大數據的時候,加密速度很慢,而且使用軟件處理的方式會占用很多電腦的資源,難以達到人們的預期,而且網上有著很多的破解軟件,常用的加密算法都有對應的解密軟件,使得加密后的數據容易被暴力破解。
基于FPGA實現信源加密的優點
FPGA簡介
目前以硬件描述語言(Verilog或VHDL)所完成的電路設計,可以經過簡單的綜合與布局,快速的燒錄至FPGA(Field Programmable Gate Array)上進行測試,是現代IC設計驗證的技術主流。這些可編輯器件可以被用來實現一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數學方程式。在大多數的FPGA里面,這些可編輯的器件里也包含記憶元件例如觸發器(Flip-flop)或者其他更加完整的記憶塊。
系統設計師可以根據需要通過可編輯的連接把FPGA內部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設計者而改變,所以FPGA可以完成所需要的邏輯功能。
基于FPGA設計的加密產品的優點
隨著計算機網絡的發展和電子商務的日趨頻繁,對加密技術提出了更高的要求。從整體發展趨勢來看,密碼裝置應該作為外接在主機串口或并口的一個硬件設備或是一塊插卡,具有速度快、低時延的特點。基于FPGA實現的加密技術與以往的主流硬件實現方式(如DSP芯片、單片機等)相比,具有低成本、高速度、微功耗、微小封裝尺寸以及保密性強等優點。美國國家標準與技術協會(NIST)在對高級加密標準AES的候選算法進行評判時,就將能否在智能卡上實現作為一個很重要的標準。另一個明顯的優點在于:在對時間代價和空間代價的取舍上,基于FPGA實現的加密技術提供了多種實現方案,分別對時間代價和空間代價有不同的偏重,有利于在各種應用環境中進行優化,
由于FPGA的可配置性,FPGA能夠實現大多數加密算法,同時使用全硬件加密處理,并行處理數據,加密速度也非常快,加密結構是被設計在FPGA內部,結構不易于被獲取,再將密碼與FPGA芯片DNA序列號綁定在一起,硬件不能被克隆,使其安全性能大大提高。
以深圳市振華微電子有限公司的加密產品為例,可體現基于FPGA實現的產品的處理速度,安全性能及其靈活性等等。
基于FPGA實現的5款加解密產品,根據其性能需求,選用不同的型號FPGA芯片:以帶有PCIE接口的產品為例,其加/解密速度根據選用的算法不同,其處理速度范圍達到300Mbps-7SOMbps。
其安全性能方面,在FPGA內部實現AES、3DES這算法,密碼的組成由三部分組成,第一部分是電腦主板以及CPU的序列號,第二部分是FPGA的DNA序列號,第三部分是用戶保存的密碼,這樣安排密碼,可把產品、電腦、用戶都綁定起來,三者缺一不可。對數據、密碼的處理方面,利用FPGA的靈活性,把數據、密碼的字節序混亂起來處理,更增加其安全性能。用戶更是可以定制自己的加密算法,更靈活和安全。
用同一塊FPGA芯片根據不同的應用場合,可以設計為不同的產品,如振華微電子的PCIE加密產品以及整機加密產品(硬盤),這些都是利用了FPGA設計靈活,處理速度快等等特點。在PCIE產品中,實現了PCIE接口總線控制器,整機加密產品在一塊FPGA內實現了PCIE接口控制器,USB控制器,SATA控制器以及兩種硬核加密算法。
振華微電子的產品適用于各種場合,如普通PC機、服務器(包括云服務器)等等。這些產品都針對信源進行加密,保護本地信息不被泄露,信源包括本地用戶的任何存儲在硬盤里面的數據、文檔、可執行文件及程序等等。
基于FPGA實現信源加密技術的應用
由于FPGA加密技術有著上述諸多的優點,使得其應用面非常廣泛,可以對一些重要的文件,例如license等進行加密,也可以對整個硬盤進行加密。在軍事領域的應用中,不但對信息的保密性、一致性等方面要求高,更要求有很高的時效性,而FPGA加密技術能夠滿足這方面的要求。
FPGA即現場可編程邏輯器件,其特性已經決定了它的可擴展性和靈活性,適用于處理要求快速、安全的場合。尤其在信息安全領域,更是需要這樣的實現器件。
為了方便敘述,以振華微電子的整機加密模組作為實例說明,圖1是整機加密模組的功能原理圖。
電腦的硬盤掛載在整機加密模組下,任何寫進去硬盤的數據文檔、系統文件、應用程序都是經過這個模組加密的,存在硬盤里面的數據都是密文(包括操作系統、程序等);當用戶需要使用電腦時,需先把USB key插在整機加密模組的USB口(而不是電腦主板的USB,主板的USB口容易被監控、跟蹤),然后開啟電源,當整機加密模組檢測到正確的USB key時,才會啟用解密,并對從硬盤里面讀出來的密文進行解密,電腦才能啟用;當用戶使用完畢電腦,關機,拔出USB key,即可放心離開。
如果整個加密模組、硬盤甚至整臺電腦都丟失,只要USB key在用戶手上,用戶也不用擔心,因為整機加密模組以及電腦主板是綁定在一起的,而且存硬盤里面的密文數據字節序更是被隨機打亂,黑客獲得被隨機打亂字節序的密文,他能干什么呢?密文是經過256bit的AES加密的,在當前破解256bit的AES,還只是奢望。
用戶也不用擔心USB key被克隆,USB key也是基于FPGA實現的,這個FPGA的DNA序列也是全世界獨一無二的,這里面的key有三重保護:①被加密,且字節序隨機打亂:②跟唯一的FPGA DNA綁定:③DNA先經過加密后才跟key綁定,保證別人無法知道key到底是跟什么綁定在一起。以上三點做到USB key無法被克隆。用戶只需要隨身帶著USB key,使用電腦時,插上USB key;不使用時把USB key帶走。當然對于監管更嚴格的場所,可以把信源使用者跟usB key擁有者區分開。
基于FPGA的特性,實現信源的加密產品,具有:靈活、安全性能高、處理速度快等特點。這正是FPG牘現信源加密的優勢所在。