《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 一種高安全性的便攜式USB存儲加密系統

一種高安全性的便攜式USB存儲加密系統

2009-07-24
作者:陳漢林1, 劉鴻偉2

??? 摘? 要: 設計了一種高安全性的便攜式USB存儲加密系統。該系統基于嵌入式USB主機CH375設計,采用智能卡實現人機安全認證和密鑰的安全存儲,采用反熔絲型FPGA 芯片AX250高速實現3DES算法,能夠在完全脫離PC機的情況下對USB存儲設備中的文件進行加解密,具有很高的安全性和整體性,并可滿足野外或移動應用的需求。?

??? 關鍵詞: USB存儲加密; 嵌入式USB主機; 智能卡; 安全認證; 反熔絲型FPGA

?

??? 日益增加的信息安全要求,需對USB移動存儲設備中的個人隱私或敏感信息進行加解密。傳統的USB存儲加密系統基于PC機。PC機是USB拓撲結構中的主機(Host),加解密時明文和密文必須經過PC機,PC機的軟硬件安全性給文件的加解密留下了很大的安全隱患。因此,傳統的USB存儲加密系統安全性較低,且不能滿足野外或移動應用的需求。基于嵌入式設計的本系統,可以完全脫離PC機工作,并且采用智能卡、反熔絲型FPGA實現USB文件安全、高速的加解密,提高了系統的安全性和整體性能,提供了便攜使用性,具有較高的實用價值和良好的應用前景。?

1 系統總體結構?

??? 系統總體結構框圖如圖1所示。系統由智能卡和加密機兩大部分構成,智能卡通過ISO 7816接口與加密機相連。加密機主要由51單片機、嵌入式USB主機、FPGA、智能卡接口電路、電源電路和按鍵、LED等人機交互接口電路構成。嵌入式USB主機作為USB拓撲結構中的主機(Host),完成USB存儲設備的訪問管理和USB文件的讀寫。USB文件的加解密由FPGA高速實現3DES算法來完成。智能卡實現系統的安全管理。智能卡接口電路實現ISO 7816接口到并行接口的轉換。51單片機通過并行總線與嵌入式USB主機、FPGA和智能卡接口電路相連,負責整個系統的管理和控制。?

?

?

2 系統安全性設計?

??? 安全性是加密系統一項至關重要的性能指標。本系統從以下幾方面進行了嚴密的安全性設計,確保系統的高安全性。?

2.1 工作模式?

??? 基于嵌入式USB主機設計,實現可完全脫離PC機運行的嵌入式工作模式,從而消除了PC機軟硬件安全隱患,提高了系統的安全性。?

2.2 安全認證?

??? 安全認證包括加密機與智能卡之間的設備認證和智能卡與操作者之間的身份認證。?

??? 設備認證通過對比加密機和智能卡中存放的設備認證碼來實現。每個加密機與唯一一個智能卡配對使用,均存放著相同的設備認證碼,且不同的加密機和智能卡有不同的設備認證碼,通過對比各自存放的設備認證碼可對智能卡的合法性進行認證。?

??? 身份認證通過智能卡的口令驗證實現,只有輸入正確的智能卡口令才能通過口令驗證,從而對操作者的合法性進行認證。?

??? 在安全認證過程中,任何一個認證若不通過加密機,則結束操作。因此只有當密碼機、唯一與之配對的智能卡和正確的智能卡口令三個要素同時具備時,才能通過認證。缺乏其中任何一個要素,認證都將失敗,加密機結束操作,從而使系統的安全性大大提高。?

2.3 加解密算法的安全性?

??? 加解密算法的安全性包括算法自身的安全性以及算法存放和調用的安全性。?

??? 本系統的加解密算法選用3DES算法。3DES算法的密鑰長度為168位,用窮舉搜索結果攻擊密文需要測試2 168次,可以有效克服窮舉攻擊,并且增強了抗差分分析和線性分析能力,具有極其強大的安全性[1]。?

??? 算法存放和調用的安全性依賴于器件自身具有的安全防護能力。本系統選用ACTEL公司反熔絲型FPGA芯片AX250存放和調用算法。反熔絲型FPGA不需要專門的編程芯片,且具有編程內容不可讀、運行時不能改的性能,可有效地保護算法,從而提高系統的安全性。?

2.4 密鑰的安全性?

??? 本系統選用智能卡實現密鑰的安全存放和調用。智能卡中集成了微處理器、存儲單元以及芯片操作系統COS(Chip Operating System),從而構成一個完整的計算機系統。它不僅具有數據存儲功能,同時還具有命令處理和數據安全保護等功能,因此安全性大大增強。本系統選用智能卡作為密鑰存放的介質,密鑰的調用受卡內COS操作系統的安全保護,利用智能卡自身的物理安全機制和COS操作系統的安全體系為密鑰的存放和調用提供雙重的安全保證。?

2.5 其他安全防范措施?

??? (1)設備認證碼的存放和調用受AX250和智能卡的保護,避免外部訪問。?

??? (2) 加密機與智能卡可分離存放,減少失密的可能。?

??? (3)在系統開機時對算法和密鑰聯合運行的正確性進行自檢,防止加解密錯誤。?

3 系統硬件設計?

3.1 51單片機電路設計?

??? 51單片機選用CYGNAL公司的C8051F023。C8051F023是完全集成的系統級SoC芯片,具有25 MIPS的CIP-51內核,內部資源豐富、功耗低、可提高系統的可靠性和便攜性。?

??? 單片機電路原理如圖2所示。C8051F023外接25 MHz晶振,程序執行速度可高達25 MIPS。為提高數據通信速率,單片機通過8位非復用并行總線與嵌入式USB主機、FPGA和智能卡接口電路通信。因外部所需地址空間較少,單片機采用線選的方式進行片選,A15片選USB主機,端口地址范圍為6000H~7FFFH;A14片選FPGA,端口地址范圍為A000H~BFFFH;A13片選智能卡接口電路,端口地址范圍為C000H~DFFFH。?

?

?

3.2 嵌入式USB主機電路設計?

??? 嵌入式USB主機選用CH375。CH375是一款USB通用接口芯片,支持Host主機方式和Slave設備方式,主機端點輸入和輸出緩沖區各為64 B。在Host主機方式下支持各種常用的USB全速設備,外部處理器可以方便地通過CH375按照相應的USB協議與USB設備通信[2]。?

??? 嵌入式USB主機電路原理如圖3所示。TXD管腳接地,CH375通過并行接口與C8051F023通信。地址輸入線A0連接至單片機的地址線A0,當A0為高電平時選擇命令端口,可以寫入命令;當A0為低電平時選擇數據端口,可以讀寫數據,因此CH375命令端口的訪問地址為6XX1H或7XX1H,數據端口的訪問地址為6XX0H或7XX0H。中斷請求INT連接到單片機的中斷輸入/INT0。V3管腳接3.3 V,選擇工作電壓為3.3 V,從而與接口的C8051F023保持電平兼容。接插件J201為通用USB插座,外接待加解密的USB存儲設備。

?

?

3.3? FPGA電路設計?

??? FPGA選用反熔絲型FPGA芯片AX250。該芯片除具有較高的安全性,還具有資源豐富、速度快、功耗低、抗輻射能力強和耐高低溫等優點,可大幅提高系統的整體性能[3]。?

??? FPGA電路原理如圖4所示。AX250通過8位并行接口與單片機C8051F023通信。內部工作電壓VCC PL接1.5 V,保證芯片低功耗運行。外部IO電壓VCC IB接3.3 V,保持與C8051F023電平兼容。AX250的時鐘由晶振CRY301輸入,時鐘頻率根據FPGA內部程序邏輯綜合后的時鐘頻率而定,系統最終實現的頻率為33 MHz。因單片機只有兩個外部中斷,FPGA與智能卡接口電路共用同一個中斷為智能卡接口電路的中斷請求。系統在FPGA中設置一中斷標志寄存器,當FPGA或智能卡接口電路請求中斷時會分別置對應的中斷標志位為1,單片機通過查詢中斷標志寄存器即可確定的中斷源。?

?

?

3.4智能卡接口電路設計?

??? 智能卡接口電路選用Philips公司的TDA8007。TDA8007能夠提供兩個滿足ISO7816 標準的智能卡接口,并通過并行總線與微處理器通信,可實現ISO7816接口到8位并行接口的轉換。TDA8007 內部集成的電源管理功能允許TDA8007的供電范圍可達2.7~6.0 V,并且通過電源管理可以給智能卡提供5.0 V、3.0 V及1.8 V電源,以適合不同工作電壓的智能卡應用[4]。?

??? 智能卡接口電路原理如圖5所示。工作電壓選擇3.3 V,保持與接口的C8051F023電平兼容。并行總線接口為非復用方式,ALE信號接高電平,AD0~AD3與單片機A0~A3相連。中斷請求連至FPGA,與FPGA共用單片機的同一中斷。接插件J401為智能卡ISO7816接口插座。?

?

?

4 系統軟件設計?

4.1 單片機C8051F023軟件設計?

??? C8051F023是本系統的控制核心,負責管理及協調系統其他各部分的工作,程序流程圖如圖6所示。其中與USB有關的操作由單片機控制CH375完成,自檢、安全認證和數據加解密等操作由單片機控制智能卡和FPGA完成。?

?

?

4.2 3DES算法的實現?

??? 3DES算法用硬件描述語言VHDL編程實現,算法實現的整體結構框架如圖7所示。加解密密鑰K1、K2、K3存儲在密鑰存儲RAM中,經子密鑰產生模塊產生三組子密鑰SUBK1、SUBK2、SUBK3,分別提供給3個DES模塊。待加解密數據存儲在輸入FIFO中,在控制模塊的控制下每次讀取64位送到DES模塊1,經DES模塊1、DES模塊2和DES模塊3處理完后,把加解密的結果送到輸出FIFO中,從而完成一組數據的3DES加解密。

?

?

??? 此設計采用循環全部打開和流水線結構來設計單個的DES模塊。循環打開后,實現DES模塊的全部16輪圈函數便級聯在一起,上一圈函數的輸出作為下一圈函數的輸入,然后在每輪的中間加上寄存器來實現流水線,從而最多可有16個數據分組被同時執行圈函數運算,流水線的各個圈函數以重疊并行的方式工作[5]。這樣,在理想的流水線操作情況下,完成一個數據分組的DES運算相當于只需1個時鐘,每個DES模塊的加解密速度提高近16倍。同理,3個DES模塊之間的級聯也采用流水線結構來設計。通過采用三級流水,可以使3個DES模塊同時并行工作,從而進一步提高3DES算法的加解密速度。?

5 結果測試?

5.1 安全認證測試?

??? 在以下幾種情況下使用本系統對USB存儲設備進行加解密:?

??? (1)不插入智能卡,只使用加密機。?

??? (2)使用不配對的加密機、智能卡。?

??? (3)使用配對的加密機、智能卡,但不輸入或輸入錯誤的智能卡口令。?

??? 測試結果顯示,以上3種情況下系統均不能通過安全認證,加密機停止操作,無法完成USB存儲設備的加解密。?

5.2 保密數據的安全性測試?

??? 通過多種訪問途徑或接口方式,嘗試從系統外部訪問智能卡和FPGA中存放的密鑰、算法和設備認證碼等保密數據,結果顯示均失敗,保密數據無法被外部訪問。?

5.3 加解密性能測試?

??? 加解密性能測試包括準確性測試和速度測試。使用本系統對U盤中100個不同大小的文件進行加密操作,將得到的密文與正確的密文進行對比;再將得到的密文進行解密操作,將得到的明文與原有文件進行對比。結果顯示全部正確,系統具有很高的加解密準確性。記錄下各文件加解密的時間,測得系統的平均加解密速度為355 kb/s,系統具有較快的加解密速度。?

??? 本文采用嵌入式USB主機CH375、智能卡和反熔絲型FPGA芯片AX250設計并實現了一種高安全性的便攜式USB存儲加密系統。該系統可以完全脫離PC機工作,安全性高、便攜性好、加解密速度快、整體性能良好。?

參考文獻?

[1] 吉杰,林洽欣.用三重DES加密.NET數據庫連接字符串[J].計算機工程與設計,2007,28(4):817-819.?

[2] 李海軍.基于USB總線接口芯片CH375的虛擬儀器設計[J].三峽大學學報(自然科學版),2005,27(2):168-170.?

[3] 卿輝,肖紅躍.反熔絲FPGA在密碼芯片設計中的運用[J]. 通信技術,2001(1):62-63.?

[4] 飛利浦半導體公司.TDA8007 Multiprotocol smart card?interface [EB/OL] . http://www.semiconductors.philips.com/products/TDA8007.html.?

[5] 王簡瑜,張魯國.基于FPGA實現DES算法的性能分析[J]. 微計算機信息,2007,23(3-2):217-218.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 一区精品在线 | 国产一区二区三区免费在线观看 | 亚洲成人18 | 免费中文字幕 | 欧美日韩午夜 | 国产精品秒播无毒不卡 | 一本一道dvd在线播放器 | 污丝瓜视频 | 日韩精品国产精品 | 亚洲免费二区三区 | 成人午夜毛片在线看 | 国产全黄三级播放 | 色噜噜狠狠成人网 | 天天摸天天看天天爽 | 欧美久久综合 | 毛片在线观看视频 | 成人看片黄a毛片 | 天堂婷婷| 一级毛片在线不卡直接观看 | 免费一级夫妻a | 成人黄18免费网站 | 成人欧美一区二区三区视频xxx | 任我鲁这里有精品视频在线播 | 性欧美暴力猛交xxxxx高清 | 成年男女免费视频网站 | 香蕉99国内自产自拍视频 | 欧美末成年videos丨 | 中文字幕日韩一区二区 | 亚洲精品mv在线观看 | 国产三级精品三级在专区 | 日韩精品一区二区三区免费观看 | 欧美日韩视频一区二区 | 久久久www免费人成看片 | 亚洲免费播放 | 国产美女一级ba大片免色 | 日本欧美一区二区 | 欧美乱人伦中文字幕在线不卡 | 国产亚洲精品日韩综合网 | 免费看色网站 | 成人精品亚洲 | 99久久中文字幕伊人情人 |