新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于NiosⅡ的U盤安全控制器設(shè)計(jì)

基于NiosⅡ的U盤安全控制器設(shè)計(jì)

作者: 時(shí)間:2015-01-16 來(lái)源:網(wǎng)絡(luò) 收藏

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

本文引用地址:http://butianyuan.cn/article/268249.htm

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

  2.1 USB接口芯片選型

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

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

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

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

  

 

  控制器作為整個(gè)系統(tǒng)的核心,完成對(duì)各個(gè)模塊的調(diào)度和控制;鎖相環(huán)為系統(tǒng)各個(gè)模塊提供所需要的時(shí)鐘;加解密模塊完成數(shù)據(jù)流的加解密功能;ISP1761控制器則用來(lái)連接控制器和ISP1761芯片,通過(guò)該控制器,NiosⅡ處理器可以訪問(wèn)ISP1761芯片內(nèi)部的寄存器和存儲(chǔ)器;DMA控制器負(fù)責(zé)PC機(jī)到控制器、控制器到的數(shù)據(jù)傳輸,提高數(shù)據(jù)傳輸速率。ISP1761芯片分別連接主機(jī)和,在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ā)出的命令,對(duì)系統(tǒng)各個(gè)模塊進(jìn)行調(diào)度,實(shí)現(xiàn)PC機(jī)到間的數(shù)據(jù)通信,完成數(shù)據(jù)流的加解密。

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

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

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

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

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

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

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

  

 

  3.2 整體工作流程

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

  

 

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

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

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

  (4)若是USB MassStorage類設(shè)備,則向PC機(jī)報(bào)告設(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)一次傳輸過(guò)程結(jié)束。

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


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: NiosⅡ U盤 SoPC

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉