《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于CPLD/FPGA的USB讀寫控制器
基于CPLD/FPGA的USB讀寫控制器
單片機與嵌入式系統
肖小康,張 東,賈慧強 武漢大學
摘要: 本文針對信息安全系統設計了一種對USB存儲設備的讀寫控制器。該控制器包括一個與主機連接的上游端口,以及安全存儲設備專用和普通存儲設備通用兩種下游端口。對安全存儲設備使用的硬件接口進行異化,以防止普通存儲設備通過該口接入;普通存儲設備采用普通的USB A型口連接。控制器不干預主機和安全存儲設備的數據交換,能夠破壞PC機寫入普通存儲設備上的數據包,從而防止了PC機上的數據通過普通存儲設備外泄
Abstract:
Key words :

引言
    隨著計算機科技的發展,無紙辦公日益成為各單位日常辦公的主要形式。而隨著USB存儲設備日益廣泛的使用,數據泄漏的危害也越來越嚴重。因此在單位內部對USB存儲設備的操作權限進行控制是很有必要的。
    本設計可將不同的USB存儲設備(包括安全存儲設備和普通存儲設備)通過不同的接口接入到主機上,同時對主機和設備問傳輸的數據進行提取,分析和攔截。其應用范圍比較廣泛,為了方便介紹,本文將其作為USB存儲設備管理系統的一部分,根據具體的應用來介紹控制器的設計原理。讀寫控制器可應用在對PC機與安全存儲設備和普通存儲設備的數據共享管理上。其中,PC機的數據要求被保護,安全設備的使用權限被嚴格控制,不會泄漏數據;而普通設備則沒有采取任何安全措施,很有可能向外泄漏數據,比如通用的U盤。
    控制器的主要功能是通過不同的接口把兩種USB存儲設備區分開來,實時監測PC機和普通設備間的數據,當檢測到PC機向普通設備寫入數據包時,對其強行破壞,防止數據泄漏。

1 硬件原理
    系統的結構框圖如圖1所示。集線器芯片將上游一路USB總線分為兩路:一路直接通過專用的USB接口與安全存儲設備連接,另一路通過讀寫控制器和普通存儲設備連接。讀寫控制器采用CPLD、USB轉發器以及外圍電路實現集線器和普通存儲設備的連接。在CPLD中設計邏輯電路實現對USB轉發器傳輸方向的控制,并對數據進行分析和攔截,以破壞從PC機向普通USB存儲設備傳輸的數據,防止泄漏。

b.JPG


    集線器采用的是帶有4個下游端口的GL850G。其端口傳輸的是USB總線的差分信號,故將其上游端口直接接PC機,下游端口接安全USB存儲設備或讀寫控制器。
    讀寫控制器是由1片CPLD和2片USB轉發器及其外圍電路組成。CPLD采用的是Altera公司的EPM3512。它具有10000個可用的門、512個宏單元、208個可用的I/O引腳,調試和升級簡便,開發十分靈活。市場上關于USB轉接的芯片很多,本文設計的讀寫控制器要求功能簡單、性能穩定,因此USB轉發器采用TI公司的TUSB1106,既滿足設計的要求,也不存在資源浪費。該芯片的詳細介紹見參考文獻。其中VP0、VM0引腳由CPLD驅動。VP、VM和RCV輸人到CPLD中。TUSB1106和CPLD的接口電路如圖2所示。

c.JPG



2 CPLD中的讀寫控制電路
    CPLD中的讀寫控制電路包括時鐘提取、包識別、不歸零解碼、狀態控制、CBW包識別和數據流控制等模塊,如圖3所示。時鐘提取部分見參考文獻,包識別和不歸零解碼部分見參考文獻。下面詳細介紹狀態控制、CBW包識別和數據流控制3個模塊。

e.jpg


2.1 狀態控制模塊
    因為IJSB總線是半雙工的,所以CPLD要控制總線數據的方向,即通過OE信號來控制TUSB1106是接收總線數據還是驅動總線。總線上所有的傳輸事務都始于令牌包。令牌包由主機發送,指明本次事務處理過程的含義,包括數據的傳輸方向、設備的地址及端點號等信息。
     在本模塊中,通過對PID的檢測可得到每個包的種類,控制狀態機在初始狀態、主機發送數據、設備發送數據、主機發送握手包和設備發送握手包等幾個狀態間跳轉,從而控制其他模塊的狀態。下面為狀態機的部分代碼:
    f.jpg
    可以看出,當令牌包是OUT包(PID為8'hE1)或SETUP包(PID為8'h2D)時,數據包由主機發往設備,握手包由設備返回給主機;如果令牌包是IN包(PID為8'h69)時,則數據包由設備發給主機,握手包由主機返回給設備。在全速模式下,只可能有4種令牌包,除了這3種包外就只可能是SOF包,而該包沒有后續的數據包和握手包,因此狀態機仍為初始狀態。如果一次傳輸事務出錯,沒有數據包或握手包,則主機和設備會通過超時來判斷是否出錯,而不會持續等待。在CPLD中,超時信號和系統復位信號相與之后作為本模塊的復位信號。
2.2 CBW包識別和數據流控制模塊
    USB Mass Storage Device在完成枚舉之后就進入到僅批量傳輸模式。在僅批量傳輸協議中數據傳輸分為命令、數據和狀態3個階段。主機發送的命令被封裝成CBW(Command Block Wrapper)包在命令階段發送,以定義要操作的命令以及要傳輸的數據方向和長度。CBW的前4個字節是標志位,第15個字節是操作代碼。
    在本設計中,借助序列識別的思想識別出寫命令的CBW,并在接下來的數據階段將標志位CBW_flag置位為0,使數據流控制模塊截斷從主機發往設備的數據包。下面為狀態機的部分代碼:
    g.jpg
   
    可以看出,只有在檢測到CBW包中的寫命令(操作代碼是8h2A和8hAA)時才將CBW_flg置0,其余狀態都為1。
    數據流控制模塊完成的工作比較簡單,主要有3個:
    ①在系統復位有效或失效時控制轉發器模擬拔下或插入的過程;
    ②根據當前的傳輸方向提取總線數據以供分析;
    ③cbw_flg無效時,將上游端口的VP和VM直接賦值給下游端口的VP0
和VM0,同樣將下游端口的VP和VM賦給上游端口的VP0和VM0,否則將上游端口的VM強制置0,使傳輸過程失敗以阻止數據從主機向普通存儲設備傳送數據。

3 實驗結果
    控制器完全不干涉主機和安全USB存儲設備間的數據傳輸。而將普通USB存儲設備通過控制器接到PC機上時,能正常完成除寫之外的所有操作。當向USB存儲設備中寫入數據(包括新建、粘貼、刪除、寫入和修改文件)時,系統彈出圖4所示的對話框,操作無法完成。

a.JPG



結語
    本文針對信息安全系統設計了一種對USB存儲設備的讀寫控制器。該控制器包括一個與主機連接的上游端口,以及安全存儲設備專用和普通存儲設備通用兩種下游端口。
    對安全存儲設備使用的硬件接口進行異化,以防止普通存儲設備通過該口接入;普通存儲設備采用普通的USB A型口連接。
    控制器不干預主機和安全存儲設備的數據交換,能夠破壞PC機寫入普通存儲設備上的數據包,從而防止了PC機上的數據通過普通存儲設備外泄。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久电影一区| 猛男gaygay欧美视频| 亚洲国产精品成人一区二区| 亚洲在线播放电影| 一区二区三区精品国产| 日韩视频一区二区三区在线播放| 亚洲国产精品va在线看黑人动漫 | 日韩视频中文字幕| 亚洲日本欧美日韩高观看| 欧美在线中文字幕| 久久国产精品久久久久久| 久久国产色av| 亚洲国产精品成人一区二区| 亚洲国产日韩欧美在线99| 91久久国产综合久久| 亚洲精品中文字幕女同| 亚洲免费精品| 亚洲一区二区视频在线观看| 亚洲一区免费| 先锋影音一区二区三区| 久久大逼视频| 久久综合一区二区三区| 欧美成人精品一区| 欧美精品自拍| 国产精品二区二区三区| 国产九色精品成人porny| 国产午夜精品全部视频播放 | 亚洲少妇最新在线视频| 亚洲欧美成人一区二区在线电影| 亚洲一区制服诱惑| 久久狠狠亚洲综合| 亚洲精品小视频| 一区二区三区日韩在线观看| 亚洲一区二区在线免费观看视频| 午夜一级久久| 久久另类ts人妖一区二区| 麻豆精品91| 欧美日韩国产在线播放网站| 国产精品毛片va一区二区三区| 国产美女一区二区| 精品96久久久久久中文字幕无| 最近中文字幕mv在线一区二区三区四区| 亚洲看片网站| 亚洲欧美日本另类| 亚洲国产精品久久久久秋霞蜜臀| 日韩视频一区二区| 性欧美办公室18xxxxhd| 久久婷婷人人澡人人喊人人爽| 欧美大片免费久久精品三p | 欧美三级网址| 国产综合在线看| 亚洲乱码久久| 欧美一区二区三区视频| 亚洲精品一区在线观看香蕉| 亚洲一区二区三区午夜| 久久久久久久久综合| 欧美精品日韩| 国产色产综合色产在线视频| 亚洲电影在线免费观看| 一区二区三区国产盗摄| 久久精品观看| 亚洲一区二区在线看| 久久午夜精品一区二区| 欧美日韩精品一本二本三本| 国产一区再线| 一区二区三区欧美视频| 亚洲国产欧美一区二区三区丁香婷| 亚洲天堂av电影| 蜜桃av久久久亚洲精品| 国产精品久久久久三级| 亚洲国语精品自产拍在线观看| 亚洲午夜精品一区二区| 亚洲精品国产精品乱码不99| 欧美专区一区二区三区| 欧美美女日韩| 黑人极品videos精品欧美裸| 一区二区三区四区国产| 亚洲国产你懂的| 久久精品噜噜噜成人av农村| 欧美三级视频| 亚洲人成7777| 亚洲福利视频二区| 久久福利一区| 国产精品分类| 亚洲精品久久久蜜桃| 亚洲高清久久网| 欧美一区二区视频在线观看2020 | 欧美三级电影网| 亚洲高清免费视频| 午夜精品久久久久99热蜜桃导演| 一本色道久久综合亚洲二区三区| 另类图片国产| 国产综合色一区二区三区| 亚洲欧美成人在线| 亚洲综合视频在线| 欧美精品一区二| 1769国产精品| 久久成人人人人精品欧| 欧美在线三级| 国产免费一区二区三区香蕉精| 一区二区三区高清在线| 中文国产成人精品| 欧美日韩国产成人在线观看| 亚洲国产日韩欧美| 久久精品日韩欧美| 久久视频在线免费观看| 国产亚洲精品一区二555| 亚洲一区二区三区在线| 亚洲在线观看视频网站| 欧美日韩久久久久久| 最新亚洲一区| 日韩视频二区| 欧美日韩福利视频| 99国产麻豆精品| 亚洲一区二区成人| 国产精品成人一区二区三区夜夜夜 | 亚洲一区欧美| 欧美日韩三级在线| 日韩亚洲欧美一区| 亚洲午夜国产成人av电影男同| 欧美成ee人免费视频| 在线免费观看一区二区三区| 亚洲国产精品精华液2区45| 久久久亚洲一区| 在线成人av网站| 亚洲美女毛片| 欧美日韩亚洲一区二区三区| 99视频在线观看一区三区| 亚洲小说欧美另类社区| 国产精品video| 亚洲综合第一页| 久久久精品国产免费观看同学| 国内一区二区三区| 亚洲国产高清视频| 欧美国产一区二区三区激情无套| 亚洲经典三级| 亚洲午夜在线观看视频在线| 国产精品人成在线观看免费| 亚洲欧美网站| 久久夜色精品国产| 亚洲二区视频在线| 在线视频欧美日韩| 国产精品美女视频网站| 欧美在线视频二区| 欧美xart系列在线观看| 日韩视频精品在线| 性欧美大战久久久久久久久| 国内一区二区三区| 亚洲三级免费电影| 欧美午夜精品久久久久久浪潮| 亚洲一区三区视频在线观看| 久久久www免费人成黑人精品| 在线成人国产| 中国成人亚色综合网站| 国产精品入口福利| 久久国产精品久久国产精品| 欧美激情2020午夜免费观看| 中国av一区| 久久伊伊香蕉| 一区二区三区国产在线| 久久久久久久综合色一本| 亚洲欧洲日夜超级视频| 亚洲女性喷水在线观看一区| 国内精品久久久久久影视8| 亚洲精品久久嫩草网站秘色| 国产精品成人国产乱一区| 久久精品国产亚洲高清剧情介绍| 欧美精品久久久久久久久老牛影院| 亚洲网站在线| 欧美jizzhd精品欧美喷水 | 午夜精品免费在线| 欧美电影免费观看高清| 亚洲天堂成人| 麻豆av一区二区三区久久| 一区二区三区四区五区精品| 久久天堂av综合合色| 日韩午夜在线播放| 久久久国产精品一区二区三区| 亚洲精品视频免费观看| 久久久久国内| 一区二区欧美精品| 免费中文日韩| 亚洲欧美一区二区三区久久| 欧美激情一区二区三区不卡| 亚洲欧美视频| 欧美日韩在线观看视频| 久久精品人人做人人爽电影蜜月| 国产精品r级在线| 91久久精品国产91久久性色| 国产免费成人| 亚洲天堂av高清| 亚洲高清自拍| 久久精视频免费在线久久完整在线看| 亚洲另类一区二区| 久久字幕精品一区| 亚洲欧美日韩精品一区二区| 欧美日韩精品系列| 亚洲激情网站| 国产亚洲欧美激情| 亚洲综合不卡|