基于NiosⅡ的U盤(pán)安全控制器設計

發(fā)布時(shí)間:2015-11-10 13:24    發(fā)布者:designapp
關(guān)鍵詞: NiosⅡ , U盤(pán) , SoPC
  目前,U盤(pán)等USB移動(dòng)存儲載體由于其容量大、價(jià)格低、攜帶方便、可靠性高等優(yōu)點(diǎn),得到了越來(lái)越廣泛的應用,在生活、工作中隨處可見(jiàn)。然而,USB移動(dòng)存儲載體的便利性及其自身安全脆弱性的矛盾十分突出。
  本文針對U盤(pán)的安全隱患,分析目前較為常見(jiàn)的解決方法,利用SoPC技術(shù),設計實(shí)現了一款基于NiosⅡ處理器的U盤(pán)安全控制器。該控制器位于PC機和U盤(pán)之間,通過(guò)對U盤(pán)進(jìn)行扇區級的加解密操作,將普通U盤(pán)升級為安全U盤(pán),保證U盤(pán)中數據的安全性?刂破髯裱璘SB MassStorage類(lèi)協(xié)議,無(wú)需專(zhuān)用驅動(dòng),即插即用,具有靈活方便、安全性高等優(yōu)點(diǎn)[1]。
  1 安全控制器的整體設計
  1.1 安全U盤(pán)解決方案分析
  U盤(pán)最為突出的安全問(wèn)題是其內部所存儲的數據都以明文形式存儲,任何人得到該存儲載體,即可對其中的數據進(jìn)行任意的操作。因此,普通U盤(pán)一旦丟失,其存儲的數據則毫無(wú)安全性可言。針對這一問(wèn)題,目前已經(jīng)有多種解決方法,其中較為常見(jiàn)、安全性較高的是采用專(zhuān)用安全U盤(pán)的方法。
  專(zhuān)用安全U盤(pán)的硬件架構如圖1所示,主要由微處理器、存儲芯片(NandFlash)、USB模塊及加解密模塊等組成[2]。當U盤(pán)和PC機進(jìn)行數據傳輸時(shí),加解密模塊在微處理器的控制下對數據流進(jìn)行加解密操作,使得U盤(pán)存儲芯片中的數據都以密文形式存在。當PC機對數據進(jìn)行讀寫(xiě)時(shí),首先需要進(jìn)行身份認證,若認證不通過(guò),則讀寫(xiě)操作不能進(jìn)行,即使攻擊者將安全U盤(pán)物理分解,直接讀取存儲芯片,而由于存儲芯片中的數據是以密文形式存在的,攻擊者也只能獲得數據的密文。安全U盤(pán)通過(guò)加解密和認證相結合的方法,保證其存儲數據的安全性。
  


  專(zhuān)用安全U盤(pán)由于保密性高的優(yōu)勢,在一些特殊場(chǎng)合得到了廣泛的應用。然而安全U盤(pán)也有自身的不足,主要表現在:
  (1)成本高。與普通U盤(pán)相比,安全U盤(pán)硬件構造復雜,成本通常為普通U盤(pán)的數倍乃至數十倍。
  (2)開(kāi)發(fā)難度大。安全U盤(pán)開(kāi)發(fā)涉及USB協(xié)議、加解密算法、密鑰保護方案、NandFlash讀寫(xiě)等,其涉及面廣、開(kāi)發(fā)周期長(cháng)、工作量大。
  (3)密鑰、算法、數據保存在同一載體中。若安全U盤(pán)丟失,則直接導致密鑰、算法和數據一起丟失,不但增大了數據被破解的可能性,而且有可能導致密碼算法的丟失。
  1.2 U盤(pán)安全控制器的系統設計
  本文借鑒安全U盤(pán)的優(yōu)缺點(diǎn),按照方便快捷、安全性高的原則,利用SoPC技術(shù),設計實(shí)現了U盤(pán)安全控制器。片上可編程系統SoPC技術(shù)是基于可編程編輯器件PLD解決方案的片上系統(SoC)。SoPC是PLD和ASIC技術(shù)融合的結果,是一種軟硬件協(xié)同設計技術(shù)。SoPC可以方便地將硬件系統(包括處理器、存儲器、外設和自定義邏輯電路等)和固件集成到一個(gè)PLD器件上,構建成一個(gè)可編程的片上系統,具有設計靈活、可裁剪、易升級、可編程等優(yōu)點(diǎn),同時(shí)還有豐富的IP核資源可供使用[3]。
  本文所設計的安全控制器系統架構如圖2所示,安全控制器位于PC機和U盤(pán)之間,主要由USB Device模塊、USB Host模塊、微處理器、緩沖區、加解密模塊等組成?刂破鲗τ赑C機表現為一個(gè)USB大容量存儲(MassStorage)類(lèi)設備,而對于U盤(pán),則表現為一個(gè)USB Host。USB Device模塊負責接收PC機的命令和數據,USB Host模塊負責向U盤(pán)等USB發(fā)送命令和數據,加解密模塊則完成數據的加解密,整個(gè)系統在微處理器的控制下工作。
  

                               
                                                               
                               
                  2 安全控制器硬件架構的設計實(shí)現
  本設計采用USB接口芯片+FPGA的方案來(lái)實(shí)現安全控制器的硬件架構,通過(guò)微處理器器對USB接口芯片的控制即可實(shí)現USB通信。采用USB接口芯片有助于降低開(kāi)發(fā)費用,縮短系統的開(kāi)發(fā)周期。
  2.1 USB接口芯片選型
  本設計中,安全控制器既要實(shí)現USB Host的功能,又要實(shí)現USB Device的功能。因此,若能采用一片USB接口芯片實(shí)現兩者的功能,則有助于降低硬件系統的復雜性。綜合USB芯片的功能需求、價(jià)格、硬件復雜性等因素,本設計選用NXP公司的ISP1761作為USB接口芯片。
  ISP1761是一個(gè)單芯片的高速USB OTG 控制器,在其單芯片上集成了一個(gè)OTG控制器、一個(gè)主機控制器和一個(gè)外設控制器,主機和外設控制器兼容USB2.0協(xié)議,并支持480 Mb/s的高速傳輸。ISP1761有3個(gè)USB接口,接口1可以被配置為Host接口、Device接口或者OTG接口,接口2、3只能被配置為Host接口。在OTG模式下,ISP1761的接口1可通過(guò)跳線(xiàn)靈活配置成Host接口或Device接口。ISP1761可以直接與目前市場(chǎng)上的大多數帶尋址功能的微處理器直接連接,微處理器通過(guò)讀寫(xiě)ISP1761內部的寄存器或存儲器即可實(shí)現USB通信功能。ISP1761支持DMA傳輸,可以提高數據的吞吐率[4]。
  2.2 控制器整體硬件架構
  安全控制器整體硬件架構如圖3所示,由SoPC模塊和ISP1761芯片及按鍵組成。SoPC模塊使用Altera公司提供的開(kāi)發(fā)工具SoPC Builder生成,主要由NiosⅡ控制器、內存、加解密模塊、JTAG、ISP1761控制器、鎖相環(huán)、PIO控制器和DMA控制器組成。
  


  NiosⅡ控制器作為整個(gè)系統的核心,完成對各個(gè)模塊的調度和控制;鎖相環(huán)為系統各個(gè)模塊提供所需要的時(shí)鐘;加解密模塊完成數據流的加解密功能;ISP1761控制器則用來(lái)連接NiosⅡ控制器和ISP1761芯片,通過(guò)該控制器,NiosⅡ處理器可以訪(fǎng)問(wèn)ISP1761芯片內部的寄存器和存儲器;DMA控制器負責PC機到控制器、控制器到U盤(pán)的數據傳輸,提高數據傳輸速率。ISP1761芯片分別連接主機和U盤(pán),在NiosⅡ的控制下實(shí)現USB Host接口和USB Device接口的功能。
  3 安全控制器固件的設計實(shí)現
  3.1 固件模塊及層次的劃分
  安全控制器固件實(shí)際上是運行于NiosⅡ處理器上的COS(Chip Operating System),主要負責監控USB Host接口及USB Device接口的狀態(tài),解析PC機發(fā)出的命令,對系統各個(gè)模塊進(jìn)行調度,實(shí)現PC機到U盤(pán)間的數據通信,完成數據流的加解密。
  安全控制器固件主要包括初始化模塊、USB Host模塊、USB Device模塊、DMA模塊、密碼模塊等。各模塊的功能如下:
  (1)初始化模塊:安全控制器系統的啟動(dòng);ISP1761芯片接口的配置,將接口1配置成USB Host接口,接口2配置成USB Device接口。
  (2)USB Host模塊[5]:檢測USB接口芯片Host接口的狀態(tài),檢測U盤(pán)的插入和移除等;向插入的USB設備發(fā)出標準的USB標準命令,獲取設備描述符、配置描述符、接口描述符、端點(diǎn)描述符等;向插入的USB設備發(fā)出USB MassStorage類(lèi)命令,獲取設備的容量等基本信息及對設備進(jìn)行讀寫(xiě)操作。
  (3)USB Device模塊:向PC機報告USB設備的插入;響應PC機發(fā)出的標準的USB命令,返回相應的數據,如各種描述符等。此時(shí)返回的描述符應為安全控制器的描述符;響應PC機發(fā)出的USB MassStorage命令,返回設備的基本信息,此時(shí)返回的基本信息應為U盤(pán)的信息。
  (4)加解密模塊[6]:身份認證方案的實(shí)現,如用戶(hù)口令的保存、更改等;加解密算法的高速實(shí)現及密鑰的保護等。
  (5)DMA模塊:DMA控制器的配置、啟動(dòng)等。
  安全控制器固件層次劃分如圖4所示,主要包括硬件抽象層、USB協(xié)議層和批量傳輸層。硬件抽象層主要實(shí)現NiosⅡ處理器對外設的讀寫(xiě)以及對ISP1761芯片內部寄存器和存儲器的訪(fǎng)問(wèn);USB協(xié)議層通過(guò)對ISP1761芯片的控制實(shí)現USB協(xié)議;批量傳輸層則實(shí)現MassStorage類(lèi)的操作,通過(guò)Bulk-In和Bulk-Out端點(diǎn),完成CBW、數據、CSW的傳輸。安全控制器在批量傳輸層對數據進(jìn)行扇區級的加解密操作,不進(jìn)行文件系統級的解析。
  


  3.2 整體工作流程
  以一次PC機向U盤(pán)寫(xiě)數據的過(guò)程為例,U盤(pán)安全控制器的工作流程如圖5所示。
  


  (1)U盤(pán)安全控制器初始化;
  (2)循環(huán)檢測ISP1761芯片Host接口的狀態(tài),判斷是否有USB設備插入;
  (3)若檢測到USB設備,判斷設備是否是USB MassStorage類(lèi)設備;
  (4)若是USB MassStorage類(lèi)設備,則向PC機報告設備的插入,否則返回步驟(2);
  (5)安全控制器響應PC機發(fā)出的命令,包括USB標準命令和Mass Storage類(lèi)命令,返回描述符及所插入設備的基本信息;
  (6)PC機發(fā)出寫(xiě)(Write10)命令及數據,安全控制器將數據加密,然后向U盤(pán)轉發(fā)寫(xiě)命令及加密后的數據;
  (7)一次傳輸過(guò)程結束。
  本文針對USB存儲設備的安全問(wèn)題,利用SoPC技術(shù),設計實(shí)現了U盤(pán)安全控制器,并在terasic公司的DE3開(kāi)發(fā)板上得到驗證。結果表明,該控制器將普通U盤(pán)升級為安全U盤(pán),保證U盤(pán)中的數據都以密文形式存在,方便快捷、安全性高,具有廣泛的應用前景。下一步重點(diǎn)是研究密碼方案,如身份認證方案的設計、密鑰的保護及加解密算法的高速實(shí)現等。
                               
                                                               
                               
               
本文地址:http://selenalain.com/thread-155834-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页