當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動化
[導(dǎo)讀]目前,U盤等USB移動存儲載體由于其容量大、價格低、攜帶方便、可靠性高等優(yōu)點(diǎn),得到了越來越廣泛的應(yīng)用,在生活、工作中隨處可見。然而,USB移動存儲載體的便利性及其自身安全脆弱性的矛盾十分突出。本文針對U盤的安

目前,U盤等USB移動存儲載體由于其容量大、價格低、攜帶方便、可靠性高等優(yōu)點(diǎn),得到了越來越廣泛的應(yīng)用,在生活、工作中隨處可見。然而,USB移動存儲載體的便利性及其自身安全脆弱性的矛盾十分突出。

本文針對U盤的安全隱患,分析目前較為常見的解決方法,利用SoPC技術(shù),設(shè)計(jì)實(shí)現(xiàn)了一款基于NiosⅡ處理器的U盤安全控制器。該控制器位于PC機(jī)和U盤之間,通過對U盤進(jìn)行扇區(qū)級的加解密操作,將普通U盤升級為安全U盤,保證U盤中數(shù)據(jù)的安全性??刂破髯裱璘SB MassStorage類協(xié)議,無需專用驅(qū)動,即插即用,具有靈活方便、安全性高等優(yōu)點(diǎn)[1]。

1 安全控制器的整體設(shè)計(jì)

1.1 安全U盤解決方案分析

U盤最為突出的安全問題是其內(nèi)部所存儲的數(shù)據(jù)都以明文形式存儲,任何人得到該存儲載體,即可對其中的數(shù)據(jù)進(jìn)行任意的操作。因此,普通U盤一旦丟失,其存儲的數(shù)據(jù)則毫無安全性可言。針對這一問題,目前已經(jīng)有多種解決方法,其中較為常見、安全性較高的是采用專用安全U盤的方法。

專用安全U盤的硬件架構(gòu)如圖1所示,主要由微處理器、存儲芯片(NandFlash)、USB模塊及加解密模塊等組成[2]。當(dāng)U盤和PC機(jī)進(jìn)行數(shù)據(jù)傳輸時,加解密模塊在微處理器的控制下對數(shù)據(jù)流進(jìn)行加解密操作,使得U盤存儲芯片中的數(shù)據(jù)都以密文形式存在。當(dāng)PC機(jī)對數(shù)據(jù)進(jìn)行讀寫時,首先需要進(jìn)行身份認(rèn)證,若認(rèn)證不通過,則讀寫操作不能進(jìn)行,即使攻擊者將安全U盤物理分解,直接讀取存儲芯片,而由于存儲芯片中的數(shù)據(jù)是以密文形式存在的,攻擊者也只能獲得數(shù)據(jù)的密文。安全U盤通過加解密和認(rèn)證相結(jié)合的方法,保證其存儲數(shù)據(jù)的安全性。

 

 

專用安全U盤由于保密性高的優(yōu)勢,在一些特殊場合得到了廣泛的應(yīng)用。然而安全U盤也有自身的不足,主要表現(xiàn)在:

(1)成本高。與普通U盤相比,安全U盤硬件構(gòu)造復(fù)雜,成本通常為普通U盤的數(shù)倍乃至數(shù)十倍。

(2)開發(fā)難度大。安全U盤開發(fā)涉及USB協(xié)議、加解密算法、密鑰保護(hù)方案、NandFlash讀寫等,其涉及面廣、開發(fā)周期長、工作量大。

(3)密鑰、算法、數(shù)據(jù)保存在同一載體中。若安全U盤丟失,則直接導(dǎo)致密鑰、算法和數(shù)據(jù)一起丟失,不但增大了數(shù)據(jù)被破解的可能性,而且有可能導(dǎo)致密碼算法的丟失。

1.2 U盤安全控制器的系統(tǒng)設(shè)計(jì)

本文借鑒安全U盤的優(yōu)缺點(diǎn),按照方便快捷、安全性高的原則,利用SoPC技術(shù),設(shè)計(jì)實(shí)現(xiàn)了U盤安全控制器。片上可編程系統(tǒng)SoPC技術(shù)是基于可編程編輯器件PLD解決方案的片上系統(tǒng)(SoC)。SoPC是PLD和ASIC技術(shù)融合的結(jié)果,是一種軟硬件協(xié)同設(shè)計(jì)技術(shù)。SoPC可以方便地將硬件系統(tǒng)(包括處理器、存儲器、外設(shè)和自定義邏輯電路等)和固件集成到一個PLD器件上,構(gòu)建成一個可編程的片上系統(tǒng),具有設(shè)計(jì)靈活、可裁剪、易升級、可編程等優(yōu)點(diǎn),同時還有豐富的IP核資源可供使用[3]。

本文所設(shè)計(jì)的安全控制器系統(tǒng)架構(gòu)如圖2所示,安全控制器位于PC機(jī)和U盤之間,主要由USB Device模塊、USB Host模塊、微處理器、緩沖區(qū)、加解密模塊等組成??刂破鲗τ赑C機(jī)表現(xiàn)為一個USB大容量存儲(MassStorage)類設(shè)備,而對于U盤,則表現(xiàn)為一個USB Host。USB Device模塊負(fù)責(zé)接收PC機(jī)的命令和數(shù)據(jù),USB Host模塊負(fù)責(zé)向U盤等USB發(fā)送命令和數(shù)據(jù),加解密模塊則完成數(shù)據(jù)的加解密,整個系統(tǒng)在微處理器的控制下工作。

 

 

 

 

2 安全控制器硬件架構(gòu)的設(shè)計(jì)實(shí)現(xiàn)

本設(shè)計(jì)采用USB接口芯片+FPGA的方案來實(shí)現(xiàn)安全控制器的硬件架構(gòu),通過微處理器器對USB接口芯片的控制即可實(shí)現(xiàn)USB通信。采用USB接口芯片有助于降低開發(fā)費(fèi)用,縮短系統(tǒng)的開發(fā)周期。

2.1 USB接口芯片選型

本設(shè)計(jì)中,安全控制器既要實(shí)現(xiàn)USB Host的功能,又要實(shí)現(xiàn)USB Device的功能。因此,若能采用一片USB接口芯片實(shí)現(xiàn)兩者的功能,則有助于降低硬件系統(tǒng)的復(fù)雜性。綜合USB芯片的功能需求、價格、硬件復(fù)雜性等因素,本設(shè)計(jì)選用NXP公司的ISP1761作為USB接口芯片。

ISP1761是一個單芯片的高速USB OTG 控制器,在其單芯片上集成了一個OTG控制器、一個主機(jī)控制器和一個外設(shè)控制器,主機(jī)和外設(shè)控制器兼容USB2.0協(xié)議,并支持480 Mb/s的高速傳輸。ISP1761有3個USB接口,接口1可以被配置為Host接口、Device接口或者OTG接口,接口2、3只能被配置為Host接口。在OTG模式下,ISP1761的接口1可通過跳線靈活配置成Host接口或Device接口。ISP1761可以直接與目前市場上的大多數(shù)帶尋址功能的微處理器直接連接,微處理器通過讀寫ISP1761內(nèi)部的寄存器或存儲器即可實(shí)現(xiàn)USB通信功能。ISP1761支持DMA傳輸,可以提高數(shù)據(jù)的吞吐率[4]。

2.2 控制器整體硬件架構(gòu)

安全控制器整體硬件架構(gòu)如圖3所示,由SoPC模塊和ISP1761芯片及按鍵組成。SoPC模塊使用Altera公司提供的開發(fā)工具SoPC Builder生成,主要由NiosⅡ控制器、內(nèi)存、加解密模塊、JTAG、ISP1761控制器、鎖相環(huán)、PIO控制器和DMA控制器組成。

 

 

NiosⅡ控制器作為整個系統(tǒng)的核心,完成對各個模塊的調(diào)度和控制;鎖相環(huán)為系統(tǒng)各個模塊提供所需要的時鐘;加解密模塊完成數(shù)據(jù)流的加解密功能;ISP1761控制器則用來連接NiosⅡ控制器和ISP1761芯片,通過該控制器,NiosⅡ處理器可以訪問ISP1761芯片內(nèi)部的寄存器和存儲器;DMA控制器負(fù)責(zé)PC機(jī)到控制器、控制器到U盤的數(shù)據(jù)傳輸,提高數(shù)據(jù)傳輸速率。ISP1761芯片分別連接主機(jī)和U盤,在NiosⅡ的控制下實(shí)現(xiàn)USB Host接口和USB Device接口的功能。

3 安全控制器固件的設(shè)計(jì)實(shí)現(xiàn)

3.1 固件模塊及層次的劃分

安全控制器固件實(shí)際上是運(yùn)行于NiosⅡ處理器上的COS(Chip Operating System),主要負(fù)責(zé)監(jiān)控USB Host接口及USB Device接口的狀態(tài),解析PC機(jī)發(fā)出的命令,對系統(tǒng)各個模塊進(jìn)行調(diào)度,實(shí)現(xiàn)PC機(jī)到U盤間的數(shù)據(jù)通信,完成數(shù)據(jù)流的加解密。

安全控制器固件主要包括初始化模塊、USB Host模塊、USB Device模塊、DMA模塊、密碼模塊等。各模塊的功能如下:

(1)初始化模塊:安全控制器系統(tǒng)的啟動;ISP1761芯片接口的配置,將接口1配置成USB Host接口,接口2配置成USB Device接口。

(2)USB Host模塊[5]:檢測USB接口芯片Host接口的狀態(tài),檢測U盤的插入和移除等;向插入的USB設(shè)備發(fā)出標(biāo)準(zhǔn)的USB標(biāo)準(zhǔn)命令,獲取設(shè)備描述符、配置描述符、接口描述符、端點(diǎn)描述符等;向插入的USB設(shè)備發(fā)出USB MassStorage類命令,獲取設(shè)備的容量等基本信息及對設(shè)備進(jìn)行讀寫操作。

(3)USB Device模塊:向PC機(jī)報告USB設(shè)備的插入;響應(yīng)PC機(jī)發(fā)出的標(biāo)準(zhǔn)的USB命令,返回相應(yīng)的數(shù)據(jù),如各種描述符等。此時返回的描述符應(yīng)為安全控制器的描述符;響應(yīng)PC機(jī)發(fā)出的USB MassStorage命令,返回設(shè)備的基本信息,此時返回的基本信息應(yīng)為U盤的信息。

(4)加解密模塊[6]:身份認(rèn)證方案的實(shí)現(xiàn),如用戶口令的保存、更改等;加解密算法的高速實(shí)現(xiàn)及密鑰的保護(hù)等。

(5)DMA模塊:DMA控制器的配置、啟動等。

安全控制器固件層次劃分如圖4所示,主要包括硬件抽象層、USB協(xié)議層和批量傳輸層。硬件抽象層主要實(shí)現(xiàn)NiosⅡ處理器對外設(shè)的讀寫以及對ISP1761芯片內(nèi)部寄存器和存儲器的訪問;USB協(xié)議層通過對ISP1761芯片的控制實(shí)現(xiàn)USB協(xié)議;批量傳輸層則實(shí)現(xiàn)MassStorage類的操作,通過Bulk-In和Bulk-Out端點(diǎn),完成CBW、數(shù)據(jù)、CSW的傳輸。安全控制器在批量傳輸層對數(shù)據(jù)進(jìn)行扇區(qū)級的加解密操作,不進(jìn)行文件系統(tǒng)級的解析。

 

 

 

 

3.2 整體工作流程

以一次PC機(jī)向U盤寫數(shù)據(jù)的過程為例,U盤安全控制器的工作流程如圖5所示。

 

 

(1)U盤安全控制器初始化;

(2)循環(huán)檢測ISP1761芯片Host接口的狀態(tài),判斷是否有USB設(shè)備插入;

(3)若檢測到USB設(shè)備,判斷設(shè)備是否是USB MassStorage類設(shè)備;

(4)若是USB MassStorage類設(shè)備,則向PC機(jī)報告設(shè)備的插入,否則返回步驟(2);

(5)安全控制器響應(yīng)PC機(jī)發(fā)出的命令,包括USB標(biāo)準(zhǔn)命令和Mass Storage類命令,返回描述符及所插入設(shè)備的基本信息;

(6)PC機(jī)發(fā)出寫(Write10)命令及數(shù)據(jù),安全控制器將數(shù)據(jù)加密,然后向U盤轉(zhuǎn)發(fā)寫命令及加密后的數(shù)據(jù);

(7)一次傳輸過程結(jié)束。

本文針對USB存儲設(shè)備的安全問題,利用SoPC技術(shù),設(shè)計(jì)實(shí)現(xiàn)了U盤安全控制器,并在terasic公司的DE3開發(fā)板上得到驗(yàn)證。結(jié)果表明,該控制器將普通U盤升級為安全U盤,保證U盤中的數(shù)據(jù)都以密文形式存在,方便快捷、安全性高,具有廣泛的應(yīng)用前景。下一步重點(diǎn)是研究密碼方案,如身份認(rèn)證方案的設(shè)計(jì)、密鑰的保護(hù)及加解密算法的高速實(shí)現(xiàn)等。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉