<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用SoPC技術實現的安全U盤解決方案

電子設計 ? 來源:電子技術應用 ? 作者:楊獻超;蘇錦海; ? 2020-02-29 08:03 ? 次閱讀

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

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

1 安全控制器的整體設計

1.1 安全U盤解決方案分析

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

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

利用SoPC技術實現的安全U盤解決方案

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

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

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

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

1.2 U盤安全控制器的系統設計

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

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

利用SoPC技術實現的安全U盤解決方案

2 安全控制器硬件架構的設計實現

本設計采用USB接口芯片+FPGA的方案來實現安全控制器的硬件架構,通過微處理器器對USB接口芯片的控制即可實現USB通信。采用USB接口芯片有助于降低開發費用,縮短系統的開發周期。

2.1 USB接口芯片選型

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

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

2.2 控制器整體硬件架構

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

利用SoPC技術實現的安全U盤解決方案

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

3 安全控制器固件的設計實現

3.1 固件模塊及層次的劃分

安全控制器固件實際上是運行于NiosⅡ處理器上的COS(Chip Operating System),主要負責監控USB Host接口及USB Device接口的狀態,解析PC機發出的命令,對系統各個模塊進行調度,實現PC機到U盤間的數據通信,完成數據流的加解密。

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

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

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

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

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

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

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

利用SoPC技術實現的安全U盤解決方案

3.2 整體工作流程

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

利用SoPC技術實現的安全U盤解決方案

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

(2)循環檢測ISP1761芯片Host接口的狀態,判斷是否有USB設備插入;

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

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

(5)安全控制器響應PC機發出的命令,包括USB標準命令和Mass Storage類命令,返回描述符及所插入設備的基本信息;

(6)PC機發出寫(Write10)命令及數據,安全控制器將數據加密,然后向U盤轉發寫命令及加密后的數據;

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

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

責任編輯:gt


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    15392

    瀏覽量

    172676
  • sopc
    +關注

    關注

    2

    文章

    247

    瀏覽量

    61352
  • 微處理器
    +關注

    關注

    11

    文章

    2149

    瀏覽量

    81664
收藏 人收藏

    評論

    相關推薦

    安全的打開U的方法

    安全的打開U的方法為了避免電腦使用U時,通過雙擊,或者右擊盤符時,導致把病毒感染至整個電腦,因此使用下面的方法,可使U病毒不被激活傳
    發表于 06-06 12:29

    基于U的單片機海量存儲方案

    基于U的單片機海量存儲方案隨著Flash Memory非易失存儲技術的發展,基于USB接口的閃存即U
    發表于 11-30 08:59

    可開發安全U的MCU

    本人有一項目要開發安全U,即MCU帶內部硬件加密、帶NAND FLASH接口或TF卡、SD卡接口,可擴展到64GB.CHIP 有OTP區域,或唯一ID號。大家有什么方案可以推薦的,多
    發表于 07-06 22:51

    無紙記錄儀解決方案-U數據轉存

    無紙記錄儀解決方案-U數據轉存  無紙記錄儀是采用了最新U數據存儲和數據轉存技術的新型無紙記
    發表于 02-10 14:42

    U的無線技術應用方向

    U的無線發展之路,U作為一個儲存產品,廣泛應用于我們的日常生活。U最大的特點就是隨身攜帶,
    發表于 10-12 09:53

    求助:如何實現u的免電腦讀寫

    我是個小白,想請教一下壇內大神,如何實現u的免電腦讀寫功能,目前只查到西安某公司的串口讀取技術可以實現
    發表于 01-15 19:13

    如何實現U免電腦讀寫功能

    本帖最后由 巫山劍雨 于 2018-1-16 14:23 編輯 我是個小白,想請教一下壇內大神,如何實現u的免電腦讀寫功能,目前只查到西安某公司的串口讀取技術可以
    發表于 01-16 10:56

    怎么基于STM32實現U訪問?

    一些應用中,涉及到對存儲設備的數據訪問,例如USD卡、U。具備USB OTG控制器的STM32,可以實現U訪問的支持。本文介紹STM3
    發表于 08-08 06:25

    NiosII系統SOPC解決方案有什么功能?

      結合Altera公司推出的Nios II嵌入式軟核處理器,提出一種具有常規DSP處理器功能的NiosII系統SOPC解決方案;利用NiosII可自定叉指令的特點。
    發表于 09-26 08:31

    如何利用SOPC去設計二維條碼識別系統?

    如何利用SOPC去設計二維條碼識別系統?為此提出了一種軟硬件綜合的解決方案。
    發表于 04-08 06:53

    怎么實現基于SoPC的汽車安全監控系統設計?

    怎么實現基于SoPC的汽車安全監控系統設計?
    發表于 05-13 06:27

    怎么實現基于SOPC技術的便攜式定位系統的設計?

    本文設計了一種基于SOPC技術的便攜式定位系統,并針對GPS在城市高樓和地下停車場等地方容易出現定位盲區的問題,提出采用GPS/數字指南針組合定位的解決方案。本文首先介紹了系統組成和硬件實現
    發表于 05-26 06:25

    如何利用stm32cubemx實現串行flash模擬u?

    如何利用stm32cubemx實現串行flash模擬u?
    發表于 12-15 06:34

    如何利用HAL實現USB模擬U?

    如何利用HAL實現USB模擬U?
    發表于 02-22 06:03

    利用SOPC的USB密碼模塊硬件與固件設計

    利用SOPC的USB密碼模塊硬件與固件設計 SOPC是一種靈活、高效的軟硬件解決方案。本文在研究SOPC密碼模塊設計
    發表于 03-29 15:11 ?673次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>SOPC</b>的USB密碼模塊硬件與固件設計
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>