亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA數(shù)據(jù)采集的USBKey安全評估系統(tǒng)設(shè)計與實現(xiàn)

        2019-05-27 08:23:28
        計算機(jī)測量與控制 2019年5期
        關(guān)鍵詞:加解密PC機(jī)功耗

        (北京中電華大電子設(shè)計有限責(zé)任公司 射頻識別芯片檢測技術(shù)北京市重點實驗室,北京 100102)

        0 引言

        USBKey是一種基于硬件加密的安全設(shè)備,主要應(yīng)用于防止軟件盜版,近年來也逐漸應(yīng)用于網(wǎng)銀和安全支付等方面。由于USBKey內(nèi)嵌多種硬件安全加密(Encryption)算法,如果用戶需要使用軟件或者網(wǎng)銀支付,需要輸入密碼通過硬件加密認(rèn)證方可正常使用或支付,這種方式極大的保護(hù)了軟件版權(quán)和用戶財產(chǎn)安全。隨著人工智能理念的推廣,USBKey作為電子鎖能夠為家居安全提供有力保障,應(yīng)用在家居安全方面的前景也非常廣闊。

        由于USBKey的廣泛使用且涉及軟件版權(quán)保護(hù)、文件資料加密傳輸[1-2]及網(wǎng)銀交易[3]等重要場合,這讓作為“安全保障”的USBKey的地位顯得十分重要,因此USBKey的安全性能如何評估就更加重要了。

        評估USBKey的安全性能,主要方法就是對其施加安全攻擊(Security Attack)信號,同時使用設(shè)備采集其運算期間的功耗,通過分析USBKey的功耗規(guī)律來破解USBKey使用的加密(Encryption)算法、解密(Decryption)算法和密鑰(KEY)[4]。在安全攻擊的過程中最重要的一點就是告知攻擊設(shè)備和功耗采集設(shè)備何時開始工作。由于USBKey使用USB接口,遵循USB標(biāo)準(zhǔn)規(guī)范和相關(guān)協(xié)議,其工作的特殊性導(dǎo)致其安全性能的評估存在一定的難度。

        評估USBKey安全性能主要過程分為以下三步:

        1)首先,在USBKey開始安全運算前,PC告知設(shè)備準(zhǔn)備產(chǎn)生攻擊信號和采集功耗;

        2)其次,PC機(jī)根據(jù)USBKey所遵循的協(xié)議發(fā)送加密(Encryption)或解密(Decryption)指令開始進(jìn)行安全運算;

        3)最后,PC通過功耗采集設(shè)備獲取USB設(shè)備運算期間的功耗。

        目前傳統(tǒng)的評估方法有以下三種:PC機(jī)產(chǎn)生觸發(fā)信號,外置MCU產(chǎn)生觸發(fā)信號,非USB接口通訊產(chǎn)生觸發(fā)信號。下面分別介紹以上三種方法工作的優(yōu)缺點。

        PC機(jī)產(chǎn)生觸發(fā)信號的原理框圖如圖1所示。

        圖1 PC機(jī)產(chǎn)生觸發(fā)信號

        PC機(jī)具有豐富的軟硬件資源,并且能夠兼容各類USB協(xié)議和軟件,外部設(shè)備的控制程序開發(fā)相對簡單,因此該方法簡單易實施。但是USB接口采用廣播輪詢方式信息傳輸,該方法PC機(jī)外部設(shè)備又比較多(如鍵盤、鼠標(biāo)、示波器等)且大部分設(shè)備均采用USB接口,尤其部分攻擊設(shè)備和功耗采集設(shè)備也會采用USB接口。這就導(dǎo)致該方法中PC機(jī)發(fā)送給USBKey的指令在物理層數(shù)據(jù)傳輸時,傳輸時間不確定(時早時慢),進(jìn)而會出現(xiàn)攻擊設(shè)備和功耗采集設(shè)備開始工作的時候,USBKey尚未開始安全運算或者運算已結(jié)束的現(xiàn)象。因此,使用該方法會出現(xiàn)攻擊遲滯或者攻擊超前的情況,影響了安全評估的準(zhǔn)確性和成功率。該方法已在射頻識別芯片檢測技術(shù)北京市重點實驗室進(jìn)行了驗證,失敗率達(dá)到了85%以上。

        采用外置MCU產(chǎn)生觸發(fā)信號的原理框圖如圖2所示。

        圖2 外置MCU產(chǎn)生觸發(fā)信號

        該方法主要是在PC機(jī)和USBKey之間外置一個具有USBHOST功能的MCU設(shè)備,該MCU對PC機(jī)是從設(shè)備,對USBKey是主設(shè)備。PC機(jī)將USBkey加解密所需要的相關(guān)指令發(fā)送給MCU設(shè)備,通過MCU傳遞給USBKey,MCU可以在最后一條指令(即啟動加解密運算)發(fā)送給USBKey之前產(chǎn)生觸發(fā)信號,啟動安全攻擊和功耗采集,而后再發(fā)送加解密指令給USBKey。由于MCU設(shè)備和USBKey之間沒有其他設(shè)備,因此該方法的準(zhǔn)確性比方法一要高。

        該方法雖然能夠提高攻擊準(zhǔn)確性,但是存在以下缺點:

        1)MCU設(shè)備的資源有限,在MCU設(shè)備上開發(fā)支持各類USB協(xié)議驅(qū)動的工作量很大;

        2)由于USBKey種類繁多,采用MCU設(shè)備存在一定的兼容性局限;

        3)不同USBKey的加解密指令不一樣導(dǎo)致MCU設(shè)備的底層驅(qū)動設(shè)計需要經(jīng)常升級;

        4)由于MCU中斷程序的響應(yīng),觸發(fā)信號的產(chǎn)生時間也會稍微不準(zhǔn)確。

        非USB接口通訊產(chǎn)生觸發(fā)信號原理框圖如圖3所示。

        圖3 非USB接口通訊產(chǎn)生觸發(fā)信號

        該方法在USBKey使用的安全芯片上預(yù)留一個外置接口(UART、SPI、7816[5]、I2C等接口),PC機(jī)通過該接口和USBKey通訊,這樣既避免了方法一和方法二存在的準(zhǔn)確性問題,又能繼續(xù)在PC機(jī)上進(jìn)行軟件和驅(qū)動開發(fā),大大節(jié)省軟件開發(fā)的工作量。

        該方法雖然簡單方便且準(zhǔn)備性高,但是存在以下不足:

        1)實際應(yīng)用場景使用USB通訊樹并不是使用其他接口,因此該方法不貼近應(yīng)用場景;

        2)這種方法要求芯片在研發(fā)階段除USB接口外預(yù)留一個接口,額外增加設(shè)計時間和驗證成本;

        3)不同廠家預(yù)留的接口不一致,針對各個接口都需要額外開發(fā)軟件,因此,該方法的通用性不足。

        綜上所述,目前傳統(tǒng)的三種評估方法存在以下問題:

        1)無法達(dá)到精準(zhǔn)的攻擊時間;

        2)通用性和易用性較差;

        3)驅(qū)動開發(fā)和增加接口導(dǎo)致研發(fā)成本增高;

        4)有效攻擊效率降低,評估周期加長;

        由此可見目前缺乏一種效率高、準(zhǔn)確性高、通用、易行的USBKey安全評估系統(tǒng)。所以開發(fā)一種通用、精確并貼近應(yīng)用場景的USBKey安全評估系統(tǒng)是十分必要的。

        1 安全評估系統(tǒng)方案設(shè)計

        1.1 USB數(shù)據(jù)傳輸分析

        根據(jù)上章節(jié)分析可知,USBKey安全性能評估系統(tǒng)之所以存在精準(zhǔn)性、易用性和貼近應(yīng)用場景方面的問題,主要是因為攻擊設(shè)備和功耗采集設(shè)備啟動的時間(即觸發(fā)信號產(chǎn)生時間)和USB啟動安全運算的時間難以做到精確匹配,解決了這個關(guān)鍵問題,也就解決了上述三種方法存在的問題。

        解決這個問題的難度主要在于控制USB加解密指令到達(dá)USBKey的時間。要解決這個問題首先要分析USB物理層數(shù)據(jù)的傳輸方式和規(guī)律。根據(jù)USB2.0規(guī)范可知,USB在物理層上傳輸數(shù)據(jù)是以數(shù)據(jù)包的形式傳送,數(shù)據(jù)包主要有SOF、SETUP、OUT、IN等。數(shù)據(jù)包的傳輸方向如表1所示。

        表1 USB主要數(shù)據(jù)包傳輸方向

        從數(shù)據(jù)包的傳輸方向可知:如果在USB數(shù)據(jù)線上解析到OUT包,可知這是一條由PC機(jī)傳送至設(shè)備的信息;SETUP雖然傳輸方向也是由PC機(jī)傳送至設(shè)備,但是SETUP包僅在設(shè)備枚舉階段,設(shè)備枚舉完成之后不會再產(chǎn)生SETUP包;SOF包是周期性的數(shù)據(jù)包,很容易通過包頭解碼識別出來。

        方法一出現(xiàn)攻擊時間不確定的原因主要是PC機(jī)要面對多個USB設(shè)備,因此還需要分析PC機(jī)面對多個USB設(shè)備的傳輸方式和規(guī)律。根據(jù)USB2.0協(xié)議規(guī)范,USB2.0通訊是廣播通訊,即接在USB線上的所有設(shè)備都能接收到PC機(jī)發(fā)送過來的信息,如果該信息與接收設(shè)備無關(guān),則該設(shè)備不予響應(yīng)。另外,USBHUB規(guī)范表明HUB可以獨立與USB設(shè)備通訊,PC機(jī)發(fā)送給USB設(shè)備的信息經(jīng)過USBHUB時,USBHUB可以將PC機(jī)廣播過來的數(shù)據(jù)選擇性的發(fā)送給USBKey,即USBHUB可以屏蔽PC發(fā)送給非當(dāng)前USBKey的信息。

        綜上可知,在PC機(jī)和USBKey之間加入一個USBHUB便可以隔離PC機(jī)傳送給其他USB設(shè)備的信息,這樣經(jīng)過USBHUB之后傳輸?shù)男畔H僅只是發(fā)送給USBKey的信息;其次從USB數(shù)據(jù)線上解析數(shù)OUT數(shù)據(jù)包,即可知道當(dāng)前這條信息是PC機(jī)發(fā)送給USBKey的加解密指令,此時便可以產(chǎn)生觸發(fā)信號告知攻擊設(shè)備開始攻擊和采集功耗,實現(xiàn)啟動攻擊設(shè)備和功耗采集設(shè)備時間和USB進(jìn)行安全運算的時間的精確匹配。

        1.2 安全評估系統(tǒng)原理設(shè)計

        根據(jù)1.1小節(jié)分析搭建如圖4所示的安全評估系統(tǒng)。該系統(tǒng)的工作原理如下:使用HUB隔離待檢測USBKey與其他USB設(shè)備;在PC機(jī)向待檢測USBKey發(fā)送加解密指令之前先啟動可編程邏輯門陣列(FPGA)抓取USBKey上的數(shù)據(jù),再發(fā)送加解密指令;FPGA在啟動之后檢測到OUT包便產(chǎn)生觸發(fā)信號告知攻擊設(shè)備如和功耗采集設(shè)備,否則繼續(xù)解析數(shù)據(jù)包直至停止抓取[6-8]。

        圖4 安全評估系統(tǒng)原理框圖

        由于USB數(shù)據(jù)傳輸速度固定且數(shù)據(jù)長度可知,F(xiàn)PGA內(nèi)部可設(shè)置ns級別的延時,這樣可以產(chǎn)生精確的觸發(fā)信號,從而保證USBKey加解密時間和攻擊時間、功耗采集時間一致。

        使用FPGA采集并解析USB數(shù)據(jù)去產(chǎn)生觸發(fā)信號的方法,無需關(guān)注USB使用的協(xié)議,無需PC機(jī)開發(fā)額外的軟件,也無需關(guān)注USBKey所使用的指令,易用性和通用性強(qiáng)。另外,該方法不破壞原有USBKey的工作場景,保持了與實際應(yīng)用場景的一致性。

        2 安全評估系統(tǒng)硬件設(shè)計

        在圖4原理框圖的基礎(chǔ)上完善USBKey的電源控制部分,在FPGA內(nèi)部實現(xiàn)USB數(shù)據(jù)采集和解析功能,連接USBHUB、攻擊設(shè)備和功耗采集設(shè)備。最后所搭建的USBKey安全評估系統(tǒng)功能框圖如圖5所示。

        圖5 USBKey安全評估系統(tǒng)硬件功能框圖

        安全評估系統(tǒng)模塊主要包括:中樞控制系統(tǒng)、主控計算機(jī)、程控電源、USBHUB、MCU、安全攻擊設(shè)備、功耗采集設(shè)備、USBKey,各個模塊及設(shè)備的功能如下:

        中樞控制系統(tǒng):控制USBKey電源(MCU)、采集USBKey的物理數(shù)據(jù)信號(FPGA)和產(chǎn)生攻擊觸發(fā)信號。其中何時開始采集USB數(shù)據(jù),解析USB數(shù)據(jù)包之后,何時產(chǎn)生觸發(fā)信號是該方法需要實現(xiàn)且最重要的部分,也是實現(xiàn)該方法的難點。

        主控計算機(jī)(PC):控制程控電源向USBKey提供所需的工作電壓并實時讀取USBKey的工作電流;通過向MCU發(fā)送命令控制FPGA的數(shù)據(jù)采集的啟動和關(guān)閉。

        程控電源:受PC機(jī)控制,給USBKey提供不同的工作電源電壓,并測量USBKey的工作電流。

        USBHUB:將PC發(fā)送給其他USB設(shè)備的信息隔離,保證FPGA采集到的USB數(shù)據(jù)僅為USBKey的數(shù)據(jù);

        MCU:主要接收主控計算機(jī)的命令,啟動和關(guān)閉FPGA數(shù)據(jù)采集,同時控制USBKey的電源選擇。

        安全攻擊設(shè)備:產(chǎn)生安全攻擊信號。

        功耗采集設(shè)備:采集USBKey在加解密運算期間的功耗。

        USBKey:過USBHUB連接主控計算機(jī),用于接收主控計算機(jī)的指令進(jìn)行加解密運算。

        3 系統(tǒng)軟件流程設(shè)計

        3.1 安全評估工作流程

        根據(jù)圖5所設(shè)計的安全評估系統(tǒng)功能框圖,對USBKey進(jìn)行安全功能評估,具體工作流程如下:

        1)中樞控制系統(tǒng)復(fù)位:首先給中樞控制系統(tǒng)通電,使其上電復(fù)位進(jìn)入工作狀態(tài),連接主控計算機(jī),通過控制命令將USBUkey設(shè)備斷電。

        2)USBKey電源選擇:主控計算機(jī)向MCU發(fā)送命令控制繼電器選擇USBKey工作電源,程控電源供電或者可編程電源模塊供電。

        3)初始檢測:給USBKey上電,發(fā)送命令檢測USBKey是否正常工作,如果USBKey不正常工作,更換USBkey;

        4)啟動檢測:給USBKey發(fā)送指令更新密鑰,初始化加解密數(shù)據(jù);

        5)啟動FPGA數(shù)據(jù)處理模塊:PC發(fā)送命令告知MCU啟動FPGA采集并解析USB數(shù)據(jù)包;

        6)發(fā)送加解密指令:PC機(jī)向USBKey發(fā)送加解密指令;

        7)判斷是否FPGA解析數(shù)據(jù)包超時,若超時PC機(jī)記錄超時信息并跳至步驟4),否則跳至步驟8)FPGA繼續(xù)檢解析USB數(shù)據(jù)包;

        8)FPGA解析數(shù)據(jù)包是否有OUT包產(chǎn)生,沒有跳至步驟7),有則跳至步驟9);

        9)產(chǎn)生觸發(fā)信號,如果FPGA成功解析到OUT包,根據(jù)后續(xù)數(shù)據(jù)包長度延遲一定時間再產(chǎn)生觸發(fā)信號并跳至步驟(10);

        10)攻擊設(shè)備和功耗采集設(shè)備接收到觸發(fā)信號后同時產(chǎn)生攻擊信號和功耗采集,并判斷是否攻擊成功,若攻擊成功則PC機(jī)保存攻擊記錄及功耗采集記錄,反饋并跳至步驟11),若失敗則PC保存失敗記錄,并跳至步驟4);

        11)USBKey斷電,判斷是否結(jié)束攻擊,若結(jié)束則跳至步驟(12),否則上電并跳至步驟4);

        12)結(jié)束實驗,分析功耗波形做性能評估。

        3.2 軟件工作流程圖

        系統(tǒng)工作流程如圖6所示,該流程圖詳細(xì)表述了該安全評估系統(tǒng)在USBKey工作過程中的整個軟件工作流程。

        圖6 安全評估系統(tǒng)工作流程

        4 實驗結(jié)果與分析

        4.1 實驗結(jié)對比

        選用XlinxFPGA和STM32的MCU實現(xiàn)中樞控制系統(tǒng)功能,在FPGA上完成USB數(shù)據(jù)包采集和解析功能,在MCU上完成FPGA控制部分功能。實現(xiàn)中樞控制系統(tǒng)后根據(jù)圖5所示搭建安全評估系統(tǒng),該系統(tǒng)已在射頻識別芯片檢測技術(shù)北京市重點實驗室進(jìn)行了系統(tǒng)級驗證并取得了良好的效果,實驗成功率90%以上,相比較于方法一(成功率<15%)成功率很高。圖7和圖8為實驗過程中捕獲到的算法功耗波形圖。

        圖7 實驗室捕獲的RSA算法功耗圖

        圖7為使用本方法在USBKey進(jìn)行RSA運算過程中抓取的功耗波形圖,其中觸發(fā)信號為FPGA采集到USBKey加解密指令之后解析和產(chǎn)生,波形密集且變化劇烈部分為芯片運行RSA算法時的功耗[9-10]。

        圖8 實驗室捕獲的DES算法功耗圖

        圖8為使用本方法在USBKey進(jìn)行DES運算過程中抓取的功耗波形圖,其中陰影部分功耗波形為芯片運行DES算法時的功耗[11-12]。

        實驗結(jié)果表明測試人員可以通過觸發(fā)信號后的功耗波形圖分析出USBKey當(dāng)前使用的安全算法、密鑰等相關(guān)信息,通過這些信息確可以判斷USBKey產(chǎn)品的安全性。

        該方法與傳統(tǒng)的三種方法的效果對比如表2所示。

        表2 方法效果對比

        綜上所述,本文設(shè)計的評估系統(tǒng)與現(xiàn)有技術(shù)相比有以下優(yōu)點:

        1)易用性:無需關(guān)注USB協(xié)議,PC端無需開發(fā)額外軟件。

        2)通用性:無需關(guān)注不同USBKey的加解密指令,解析出OUT數(shù)據(jù)包即可產(chǎn)生觸發(fā)信號。

        3)精確性:能夠在芯片啟動安全運算之前控制觸發(fā)信號的產(chǎn)生時間,精度達(dá)到ns級別。

        4)應(yīng)用性:貼近USBKey實際應(yīng)用場景。

        4.2 實驗結(jié)果分析

        該系統(tǒng)在實驗室驗證效果良好,成功率達(dá)到90%以上,但是仍未達(dá)到100%,主要原因是USB數(shù)據(jù)采集和解析部分代碼尚存在不完善的地方,未能夠100%正確解析出數(shù)據(jù)包,在后續(xù)的研發(fā)工作中還需要優(yōu)化該部分代碼。

        5 結(jié)束語

        本文利用FPGA采集USB數(shù)據(jù)的方法設(shè)計并實現(xiàn)了一套基于FPGA數(shù)據(jù)采集的USBkey設(shè)備安全評估系統(tǒng),可以在USBKey進(jìn)行交易時產(chǎn)生精確的攻擊和功耗采集,從而評估該USBKey的安全性能。該系統(tǒng)能夠精確控制產(chǎn)生攻擊USBKey信號的間,并支持USB各類協(xié)議,無需開發(fā)相關(guān)軟件,大大彌補(bǔ)了現(xiàn)有方法存在的不足,提高了USBkey安全評估的準(zhǔn)確性和工作效率。該系統(tǒng)經(jīng)過后續(xù)完善后,成功率能夠達(dá)到100%,應(yīng)用前景將非常廣闊。

        猜你喜歡
        加解密PC機(jī)功耗
        基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
        基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實現(xiàn)
        PDF中隱私數(shù)據(jù)的保護(hù)方法
        揭開GPU功耗的面紗
        個人電腦(2016年12期)2017-02-13 15:24:40
        VC.NET下實現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
        電子制作(2017年23期)2017-02-02 07:16:47
        數(shù)字電路功耗的分析及優(yōu)化
        電子制作(2016年19期)2016-08-24 07:49:54
        電子取證中常見數(shù)據(jù)加解密理論與方法研究
        基于FPGA的LFSR異步加解密系統(tǒng)
        “功耗”說了算 MCU Cortex-M系列占優(yōu)
        電子世界(2015年22期)2015-12-29 02:49:44
        IGBT模型優(yōu)化及其在Buck變換器中的功耗分析
        无码aⅴ精品一区二区三区浪潮 | 不卡一卡二卡三乱码免费网站 | 97se亚洲国产综合自在线观看| 久久久久久久久久久国产| 国产精品自产拍在线18禁| 日本人妻伦理片在线观看| 很黄很色的女同视频一区二区| 国产精品亚洲а∨天堂2021| 在教室伦流澡到高潮hnp视频| 久久亚洲精品成人AV无码网址| 久久精品免费视频亚洲| 国产人成无码视频在线观看 | 偷拍熟女露出喷水在线91| 国产亚洲欧洲aⅴ综合一区| 久久夜色精品国产噜噜av| 欧美乱人伦中文字幕在线不卡| 白白色发布视频在线播放| 欧美精品一区二区精品久久| 免费人成无码大片在线观看| 亚洲精品自拍视频在线观看| 午夜视频一区二区三区在线观看| 成人免费无码视频在线网站| 成 人 网 站 免 费 av| 亚洲 美腿 欧美 偷拍| 在线观看午夜视频国产| 国产高潮视频在线观看| 国产精品入口牛牛影视| 日韩十八禁在线观看视频| 欧美成人精品第一区| 久久人人妻人人做人人爽| 亚洲香蕉毛片久久网站老妇人| 日韩av在线不卡一区二区 | 亚洲最大的av在线观看| 色综合天天综合网国产成人网| 中文字幕精品久久久久人妻| 最新在线观看精品国产福利片| 日本女优激情四射中文字幕 | 视频国产一区二区在线| 亚洲av综合av国产av中文| 日韩精品无码区免费专区| 被驯服人妻中文字幕日本|