基于NiosⅡ的U盤安全控制器設計
目前,U盤等USB移動存儲載體由于其容量大、價格低、攜帶方便、可靠性高等優(yōu)點,得到了越來越廣泛的應用,在生活、工作中隨處可見。然而,USB移動存儲載體的便利性及其自身安全脆弱性的矛盾十分突出。
本文引用地址:http://cafeforensic.com/article/268249.htm本文針對U盤的安全隱患,分析目前較為常見的解決方法,利用SoPC技術,設計實現了一款基于NiosⅡ處理器的U盤安全控制器。該控制器位于PC機和U盤之間,通過對U盤進行扇區(qū)級的加解密操作,將普通U盤升級為安全U盤,保證U盤中數據的安全性??刂破髯裱璘SB MassStorage類協(xié)議,無需專用驅動,即插即用,具有靈活方便、安全性高等優(yōu)點[1]。
1 安全控制器的整體設計
1.1 安全U盤解決方案分析
U盤最為突出的安全問題是其內部所存儲的數據都以明文形式存儲,任何人得到該存儲載體,即可對其中的數據進行任意的操作。因此,普通U盤一旦丟失,其存儲的數據則毫無安全性可言。針對這一問題,目前已經有多種解決方法,其中較為常見、安全性較高的是采用專用安全U盤的方法。
專用安全U盤的硬件架構如圖1所示,主要由微處理器、存儲芯片(NandFlash)、USB模塊及加解密模塊等組成[2]。當U盤和PC機進行數據傳輸時,加解密模塊在微處理器的控制下對數據流進行加解密操作,使得U盤存儲芯片中的數據都以密文形式存在。當PC機對數據進行讀寫時,首先需要進行身份認證,若認證不通過,則讀寫操作不能進行,即使攻擊者將安全U盤物理分解,直接讀取存儲芯片,而由于存儲芯片中的數據是以密文形式存在的,攻擊者也只能獲得數據的密文。安全U盤通過加解密和認證相結合的方法,保證其存儲數據的安全性。
專用安全U盤由于保密性高的優(yōu)勢,在一些特殊場合得到了廣泛的應用。然而安全U盤也有自身的不足,主要表現在:
(1)成本高。與普通U盤相比,安全U盤硬件構造復雜,成本通常為普通U盤的數倍乃至數十倍。
(2)開發(fā)難度大。安全U盤開發(fā)涉及USB協(xié)議、加解密算法、密鑰保護方案、NandFlash讀寫等,其涉及面廣、開發(fā)周期長、工作量大。
(3)密鑰、算法、數據保存在同一載體中。若安全U盤丟失,則直接導致密鑰、算法和數據一起丟失,不但增大了數據被破解的可能性,而且有可能導致密碼算法的丟失。
1.2 U盤安全控制器的系統(tǒng)設計
本文借鑒安全U盤的優(yōu)缺點,按照方便快捷、安全性高的原則,利用SoPC技術,設計實現了U盤安全控制器。片上可編程系統(tǒng)SoPC技術是基于可編程編輯器件PLD解決方案的片上系統(tǒng)(SoC)。SoPC是PLD和ASIC技術融合的結果,是一種軟硬件協(xié)同設計技術。SoPC可以方便地將硬件系統(tǒng)(包括處理器、存儲器、外設和自定義邏輯電路等)和固件集成到一個PLD器件上,構建成一個可編程的片上系統(tǒng),具有設計靈活、可裁剪、易升級、可編程等優(yōu)點,同時還有豐富的IP核資源可供使用[3]。
本文所設計的安全控制器系統(tǒng)架構如圖2所示,安全控制器位于PC機和U盤之間,主要由USB Device模塊、USB Host模塊、微處理器、緩沖區(qū)、加解密模塊等組成??刂破鲗τ赑C機表現為一個USB大容量存儲(MassStorage)類設備,而對于U盤,則表現為一個USB Host。USB Device模塊負責接收PC機的命令和數據,USB Host模塊負責向U盤等USB發(fā)送命令和數據,加解密模塊則完成數據的加解密,整個系統(tǒng)在微處理器的控制下工作。
評論