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

        ?

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

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

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

        0 引言

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

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

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

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

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

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

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

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

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

        圖1 PC機產生觸發(fā)信號

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

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

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

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

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

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

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

        3)不同USBKey的加解密指令不一樣導致MCU設備的底層驅動設計需要經常升級;

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

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

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

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

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

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

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

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

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

        1)無法達到精準的攻擊時間;

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

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

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

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

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

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

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

        解決這個問題的難度主要在于控制USB加解密指令到達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機傳送至設備的信息;SETUP雖然傳輸方向也是由PC機傳送至設備,但是SETUP包僅在設備枚舉階段,設備枚舉完成之后不會再產生SETUP包;SOF包是周期性的數(shù)據(jù)包,很容易通過包頭解碼識別出來。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        安全攻擊設備:產生安全攻擊信號。

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

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

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

        3.1 安全評估工作流程

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

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

        2)USBKey電源選擇:主控計算機向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機向USBKey發(fā)送加解密指令;

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

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

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

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

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

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

        3.2 軟件工作流程圖

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

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

        4 實驗結果與分析

        4.1 實驗結對比

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

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

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

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

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

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

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

        表2 方法效果對比

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

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

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

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

        4)應用性:貼近USBKey實際應用場景。

        4.2 實驗結果分析

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

        5 結束語

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

        猜你喜歡
        加解密PC機功耗
        基于PC機與單片機的多機通信技術及抗干擾方法
        基于三菱FXPLC的感應淬火機床與PC機的串行通信實現(xiàn)
        PDF中隱私數(shù)據(jù)的保護方法
        軟件導刊(2017年4期)2017-06-20 20:35:24
        揭開GPU功耗的面紗
        個人電腦(2016年12期)2017-02-13 15:24:40
        VC.NET下實現(xiàn)dsPIC單片機與PC機的通信
        電子制作(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變換器中的功耗分析
        電源技術(2015年11期)2015-08-22 08:51:02
        四季极品偷拍一区二区三区视频 | 久久高潮少妇视频免费| 亚洲av午夜福利精品一区不卡| 亚洲av日韩精品久久久久久a| 熟妇的荡欲色综合亚洲| 日韩欧美亚洲中字幕在线播放| 日本伦理美乳中文字幕| 国产精品女老熟女一区二区久久夜| 亚洲色爱免费观看视频| 五月婷婷激情小说| 男女啪啪免费视频网址| 人妻少妇中文字幕在线 | chinese国产乱在线观看| 日产精品一区二区三区免费| 亚洲视频免费在线观看| 亚洲色成人www永久在线观看| 亚洲欲色欲香天天综合网| 青青草国内视频在线观看| 高清中文字幕一区二区| 久久久久亚洲av片无码v| 久久精品国产亚洲不av麻豆| 亚洲天堂线上免费av| 中国女人内谢69xxxxxa片| 播放灌醉水嫩大学生国内精品| 亚洲AV无码乱码一区二区三区| 狂插美女流出白浆视频在线观看 | 国产精品美女久久久网站三级 | 免费观看又色又爽又黄的韩国| 亚洲国产综合专区在线电影| 内射爆草少妇精品视频| 中文字幕人妻中文| 欧美性久久| 神马不卡影院在线播放| 亚洲日韩精品一区二区三区无码| 久久精品人成免费| 亚洲一码二码在线观看| 国产精品18久久久白浆| 亚洲av无码不卡| 欧美在线Aⅴ性色| 亚洲成人av在线第一页| 天堂中文在线资源|