摘 要: FPGA器件安全性包括數(shù)據(jù)安全性和應用程序安全性兩部分。FPGA生命周期的各個階段對其安全性都會產生至關重要的影響,由于FPGA電路在設計和生產中的脆弱性,使得惡意木馬電路能夠有機可乘。針對FPGA器件開發(fā)階段,以FPGA密碼模塊為目標,設計能夠泄露密鑰的惡意木馬后門電路,對于了解硬件木馬實現(xiàn)機理、警示FPGA芯片安全具有重要作用。
關鍵詞: 惡意木馬; FPGA安全; 硬件后門; 密碼模塊
硬件惡意木馬電路是惡意攻擊者在量產集成電路(IC)的設計、制造或二次開發(fā)等過程中,出于某種特殊目的人為制造的非法電路[1-3]。這種硬件攻擊方式通過預先設定“電子后門”,可以輕易地繞過硬件密碼等安全壁壘,對現(xiàn)行的硬件安全模型構成重大威脅。目前還沒有阻止硬件木馬出現(xiàn)的有效辦法,其根本原因是由于IC設計與制造的全球化過程并不能保證其使用安全性。此外,對于一般設計者來說,在設計過程中使用了非可信第三方開發(fā)的軟件工具、IP核或標準單元,也會不自覺形成硬件木馬。但是對于軍方和安全情報部門,為了獲取情報或其他目的,植入硬件木馬是非常理想的選擇[4]。
本文研究了芯片硬件木馬實現(xiàn)的基本方法,并且針對集成電路在初始設計和后續(xù)生產等環(huán)節(jié)中存在的安全隱患,在現(xiàn)有的商用FPGA平臺上設計了一種無線載波泄密型硬件木馬,使目標芯片能夠在正常加解密工作的同時,以使用者不能察覺的方式通過載波將密鑰傳送出來。
1 FPGA安全性與硬件木馬
FPGA器件作為一項成熟技術,已經(jīng)被廣泛應用到軍事、空間、電子消費產品和汽車等各個領域,是現(xiàn)代密碼協(xié)議、算法實現(xiàn)的優(yōu)選平臺。但與此同時,其安全性也受到人們的廣泛關注。目前對FPGA安全性的研究主要有兩個方面:(1)FPGA的數(shù)據(jù)安全性,必須提供對FPGA上運行的應用程序的保護。芯片內部數(shù)據(jù)以及與外圍電路之間的通信數(shù)據(jù)都需要被保護,主要方法是在FPGA內部集成數(shù)據(jù)加密方案。(2)FPGA的設計安全性,即如何設計FPGA以抵御克隆及逆向工程方法的攻擊,傳統(tǒng)上也就是知識產權(IP)保護。
FPGA器件的生命周期可分為3個階段: (1)制造階段中,主要依賴于第三方制造公司(通常位于亞洲)來制造物理器件;(2)設計開發(fā)階段中,設計開發(fā)人員將FPGA組合成一個最終的系統(tǒng), 并對其編程以實現(xiàn)它的功能;
(3)發(fā)行使用階段中,F(xiàn)PGA能夠被廣泛的使用。圖1所示分別對這3個階段的FPGA密碼器件安全問題進行了描述[5]。
在FPGA生命周期的各個階段,其自身的安全性都可能受到來自硬件木馬電路的威脅。攻擊者將針對FPGA整個生命周期中最薄弱的環(huán)節(jié)和最易發(fā)現(xiàn)的弱點進行攻擊。由于芯片的設計、制造、測試在不同的公司,甚至是不同的國家,保持整個生產環(huán)節(jié)的安全是很困難的,使得FPGA芯片內的安全狀態(tài)可以被惡意程序非法讀取或破壞,惡意實體能夠通過程序和數(shù)據(jù)更新機制更改硬件的可信度??傊?,在FPGA生命周期的每個步驟中均可能生成硬件木馬。
硬件惡意木馬可以實現(xiàn)三類功能: (1)篡改硬件功能,通過增加、刪減或繞過已有電路邏輯的方式來改變電路功能;(2)篡改硬件規(guī)格,通過修改線路和晶體管幾何形狀等方式改變電路的參數(shù)特征,使得電路芯片可靠性降低并在特定的激勵效應下失效;(3)泄漏秘密信息,通過設計特殊的電路傳遞密鑰等秘密信息,或植入具有定位功能的芯片完成相關工作[6]。
本文針對FPGA器件設計開發(fā)階段,以商用FPGA器件加解密模塊為研究目標,設計并開發(fā)了嵌入加密模塊內部的泄密型硬件木馬電路,對于研究FPGA硬件攻擊技術原理、提高芯片安全等級、加強敏感數(shù)據(jù)保護、警示集成電路芯片安全具有重要作用。
2 FPGA密碼模塊惡意木馬后門設計
本文以運行RSA密碼算法的FPGA器件加解密模塊為研究對象,在該平臺內嵌入載波型硬件木馬原型電路,實現(xiàn)通過AM載波將平臺加解密密鑰信息對外廣播, 從而實現(xiàn)木馬設計者利用無線接收機接收加解密密鑰。
FPGA器件主平臺上運行RSA密碼算法加解密模塊,為方便監(jiān)控,利用PC串口發(fā)送程序向FPGA密碼模塊發(fā)送明文(待加密信息),在密碼模塊進行加密操作后,F(xiàn)PGA平臺將密文(已加密信息)反饋給PC。這是FPGA平臺工作的主要流程。FPGA器件選用Xlinx公司Spantan3系列的XC3S400芯片,整個FPGA平臺有4大組成部分:(1)時鐘模塊,用于轉換所需時鐘;(2)串口接收模塊,用于接收PC送來的明文;(3)加密模塊,用于運行DES算法;(4)串口發(fā)送模塊,用于將加密后的密文發(fā)送給PC進行顯示。
FPGA平臺的整體設計如圖2所示,木馬電路的工作是在平臺運行加密操作的同時獲取加密密鑰,并將密鑰信息進行調制后經(jīng)AM載波向外部傳遞。木馬電路具體設計如圖3所示,硬件木馬電路在FPGA平臺進行加密操作時,由keymo模塊獲取加密密鑰,經(jīng)AMPro模塊,由Beep4引腳接到電路板的插座上,將密鑰通過AM調制方式發(fā)射出來,并可用無線接收機進行接收。
電路存在兩種工作狀態(tài): (1)在木馬電路未激活時,芯片以正常方式工作,接收PC傳來的明文,并對明文進行RSA加密操作;(2)激活硬件木馬電路。通過向電路發(fā)送“lucky”字符的方式激活木馬電路,之后,RSA密碼程序正常工作,而與此同時,F(xiàn)PGA芯片可以通過將電路板上AMPro模塊插座的Beep4引腳作為天線的方式實現(xiàn)將RSA密碼算法進行加密的密鑰通過載波的方式暗中發(fā)射出來。
本文實現(xiàn)了通過1 560 kHz和50 MHz兩種載波頻率完成無線信號發(fā)送任務的模式。在實際的應用中也可以實現(xiàn)更多的頻率,相對發(fā)射距離與所選擇的信號頻率成正比關系。以1 560 kHz發(fā)射為例,Beep4用于產生方波,在進行RSA密碼加密時,配合一個26位時鐘的AMPro計數(shù)器模塊,密鑰寄存器keymo模塊就可以將輸入密鑰以串行模式進行輸出。
本文以商用FPGA密碼模塊為研究目標,設計并實現(xiàn)了載波泄漏型惡意木馬后門電路,驗證了在FPGA器件生命周期的設計開發(fā)階段植入安全威脅的可行性,對于集成電路設計、加工、使用過程中的安全問題起到了一定的警示作用。
參考文獻
[1] TEHRANIPOOR M, KOUSHANFAR F. A survey of hard ware trojan taxonomy and detection[J]. IEEE Design and Test of Computers,2010,27(1):10-25.
[2] BHAMIDIPATI H. Single trojan injection model generation and detection[D].Cleveland: Case Western Reserve University,2009.
[3] POTKONJAK M, KARRI R. Special issue on integrated circuit and system security[J]. IEEE Transactions on Signal Processing, 2010,58(11):5968.
[4] FELLER T, DEMIREZEN A. Hardware trojans: data leakage using general purpose LEDs[Z].Technical Report-TUD-CS-2010-2384,2010.
[5] 張鵬,鄒程,鄧高明,等.基于電磁泄漏相關性分析的硬件木馬設計[J].華中科技大學學報(自然科學版),2010,38(10):22-25.
[6] 胡桂廷,陳向東.基于LabVIEW RT 的自動測試系統(tǒng)的研究與實現(xiàn)[J].微型機與應用,2012,31(18):5-7.