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