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