999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA數據采集的USBKey安全評估系統設計與實現

2019-05-27 08:23:28
計算機測量與控制 2019年5期
關鍵詞:指令信號設備

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

0 引言

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

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

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

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

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

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

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

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

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

圖1 PC機產生觸發信號

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

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

圖2 外置MCU產生觸發信號

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

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

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

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

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

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

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

圖3 非USB接口通訊產生觸發信號

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

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

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

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

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

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

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

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

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

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

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

1 安全評估系統方案設計

1.1 USB數據傳輸分析

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

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

表1 USB主要數據包傳輸方向

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

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

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

1.2 安全評估系統原理設計

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

圖4 安全評估系統原理框圖

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

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

2 安全評估系統硬件設計

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

圖5 USBKey安全評估系統硬件功能框圖

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

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

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

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

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

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

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

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

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

3 系統軟件流程設計

3.1 安全評估工作流程

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

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

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

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

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

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

6)發送加解密指令:PC機向USBKey發送加解密指令;

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

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

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

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

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

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

3.2 軟件工作流程圖

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

圖6 安全評估系統工作流程

4 實驗結果與分析

4.1 實驗結對比

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

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

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

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

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

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

該方法與傳統的三種方法的效果對比如表2所示。

表2 方法效果對比

綜上所述,本文設計的評估系統與現有技術相比有以下優點:

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

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

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

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

4.2 實驗結果分析

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

5 結束語

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

猜你喜歡
指令信號設備
聽我指令:大催眠術
諧響應分析在設備減振中的應用
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 国内老司机精品视频在线播出| 国产精品伦视频观看免费| 欧美日韩国产综合视频在线观看| 成年免费在线观看| 99久久精品美女高潮喷水| 自拍欧美亚洲| 亚洲国内精品自在自线官| 国模粉嫩小泬视频在线观看| 色婷婷色丁香| 大陆精大陆国产国语精品1024| 午夜日本永久乱码免费播放片| 国产精品v欧美| 国产9191精品免费观看| 国产精品亚洲αv天堂无码| 国产呦精品一区二区三区网站| 欧美激情首页| 午夜啪啪福利| 国产小视频在线高清播放| 免费福利视频网站| 亚洲激情区| 51国产偷自视频区视频手机观看| 国产在线专区| 亚洲欧洲日本在线| 狼友视频国产精品首页| 免费一极毛片| 夜夜操天天摸| 不卡的在线视频免费观看| 国产伦精品一区二区三区视频优播| 欧美19综合中文字幕| 99久久国产综合精品2020| 美女无遮挡拍拍拍免费视频| 日韩专区第一页| 国产精品无码AV中文| 成人福利在线看| 日韩美毛片| 天堂中文在线资源| 亚洲日韩高清在线亚洲专区| 国产精品污污在线观看网站| 久久国语对白| 国产成人亚洲毛片| 欧美中文字幕在线二区| 影音先锋丝袜制服| 99久久精品美女高潮喷水| 亚洲精品无码高潮喷水A| 一级做a爰片久久免费| 国产成人喷潮在线观看| 91福利国产成人精品导航| 东京热av无码电影一区二区| 亚洲色图综合在线| 亚洲中文字幕23页在线| 国产精品亚洲一区二区在线观看| 中文字幕在线不卡视频| 欧美精品1区| 999国内精品视频免费| 亚洲成在人线av品善网好看| 国产精品刺激对白在线| 成年人午夜免费视频| 日韩欧美高清视频| 亚洲欧美日韩久久精品| 国产乱人乱偷精品视频a人人澡| 亚洲区第一页| 国产精品九九视频| 亚洲欧美成人在线视频| 成人福利在线免费观看| 在线国产毛片| 三上悠亚在线精品二区| 日本成人不卡视频| 女同国产精品一区二区| 亚洲人成人无码www| 91久久精品国产| 国产导航在线| 日韩无码视频播放| 91麻豆国产视频| 国产精品成人一区二区| 亚洲国产天堂久久九九九| 国产女人18毛片水真多1| 毛片网站观看| 日本在线国产| 极品性荡少妇一区二区色欲| 亚洲五月激情网| 免费av一区二区三区在线| 色婷婷综合在线|