《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于USB2. 0控制器的軟件狗設計及安全性分析
基于USB2. 0控制器的軟件狗設計及安全性分析
摘要: 隨著計算機技術的發展, 基于單片機的軟件狗成為目前的主流。USB以其特有的打包方法、編碼格式、結構特性取代了以往的并口軟件狗。據此設計了一種USB軟件狗, 給出了相應的軟件和硬件設計, 重點介紹其加密原理, 并對其安全性進行分析。
Abstract:
Key words :

  1  引  言

  隨著計算機技術的發展, 計算機軟件作為特殊商品在信息時代越來越重要。但是由于計算機軟件的易拷貝性, 各種軟件盜版、侵權現象不斷發生, 軟件加密技術應運而生。它分為軟加密和硬加密兩類, 所謂軟加密就是用純軟件的方式, 在程序中使用一些獨特的軟件算法或其它手段來驗證使用者的合法性, 其特點是成本低, 但加密強度不高, 易被破解;硬加密則是采用軟件與硬件配合, 通過硬件來控制軟件運行的加密方法, 如密鑰盤、加密卡、軟件狗等方法, 其加密性能好, 不象軟件那樣有易復制性, 所以從理論上講, 它比軟加密要可靠一些。而綜合分析硬加密的技術指標如可靠性、讀寫速度、破譯程度、占用主機資源等, 軟件狗是一種較好的加密方法。因此, 目前在市場上獲得了廣泛應用。

  2  軟件狗的發展及原理

  軟件狗技術的發展經歷了四次更新換代。第一代是存儲器型的加密狗, 工作時插在微機的并行口上, 通過對并行口讀取數據來判別軟件狗存在與否、密碼正確與否, 從而決定軟件是否運行。這種軟件狗因為內部結構過于簡單, 很容易被人檢測破譯。

  第二代軟件狗采用低功耗邏輯集成電路, 在電路設計上做了一些加密工作, 例如對數據位的反相、移位、交叉等, 破譯時比前一種困難, 起到一定的加密功能。第三代軟件狗采用可編程器件, 由于這類器件本身就含有加密保護單元, 很難讀出, 增加了破譯難度[ 3] 。

  但是隨著黑客攻擊手段的提高, 前三代已經不能滿足保密要求, 第四代以單片機為核心的軟件狗產生了。它不像以往軟件狗只能輸出固定的密鑰,而是按一定的算法對寫入和讀出的數據進行變換,也可以將被保護軟件的重要模塊移植到軟件狗中,使得軟件狗成為被保護軟件不可缺少的一部分。這樣軟件與軟件狗實現了真正的無縫連接, 極大提高了解密的難度, 有效防止了軟件跟蹤和邏輯分析儀的分析以及對程序的破壞性解密, 從而有效保護了軟件不被侵權。

  USB 是在1994 年底由Compaq、IBM、M icrosoft等多家公司聯合提出的一種新型通用串行接口技術, 它具有真正的即插即用和熱插拔功能, USB 2. 0的高速設備可達480Mb /S的速度, 以其獨有的優勢, 如安裝拆卸方便、總線資源豐富、打包方法簡單、設備獨立等逐漸取代了其它單片機加密狗, 基于此,設計了一種基于USB2. 0控制器的軟件狗。

  3 U SB2. 0軟件狗總體體系結構及關鍵技術

  3. 1 USB2. 0軟件狗的工作原理

  傳統意義上的加密就是防止信息泄露, 其基本過程為將消息(明文)經過某種算法進行加密, 形成密文, 再經過解密將密文轉變為明文, 以達到信息不被竊取的目的, 而軟件狗則是加密技術在信息領域中呈現出的一個全新概念。它的作用并不是防止信息泄露, 而是為軟件開發者提供用戶使用權限認證或運行許可, 與傳統的信息加密概念有著明顯的區別。因此, 設計過程中加密算法的實現不是研究的主要內容, 需要把工作重點放在如何防止調試工具對軟件狗數據傳輸的跟蹤, 以達到難以破解或者不能破解的目的。

  一般的軟件狗工作原理如圖1所示。

USB 軟件狗加密保護流程圖

圖1  USB 軟件狗加密保護流程圖

  圖1中列出了6個步驟, 描述了從插入USB軟件狗到完成一次軟件合法性檢驗的全過程。軟件狗對隨機數的加密在硬件中進行, 其結果返回PC 機并經PC 機中軟件的解密算法解密。通過檢驗解密后的數據是否和原隨機數保持一致來鑒別是否插入合法的軟件狗硬件, 從而達到軟件保護的目的。

  不難看出, 步驟3 和4中傳送的隨機數容易被多次跟蹤分析, 解密者可以根據得到的這一系列數據對, 設計出相關的模擬軟件, 那么就需要在這個隨機數上進行改進。

  本設計中采用的是將USB 軟件狗的PIN 碼保護和動態口令相結合的方法。PIN 碼在PC 上輸入,在用戶不取走USB軟件狗時易被解密者捕獲, 從而獲得虛假認證, 可是如果使用了動態口令, 每次的口令不同, 解密者很難進行破解。動態口令是一種讓用戶密碼按照時間或者使用次數不斷變化、每個密碼只能使用一次的技術, 即使解密者獲取了幾個動態口令, 那么他也無法預知或者推算下一次或者下下次的動態口令, 無法在使用時間或者使用次數上形成連續性。本設計的USB2. 0 軟件狗加密保護流程如圖2所示。

USB2. 0軟件狗加密保護流程圖。

圖2  USB2. 0軟件狗加密保護流程圖。

  3. 2  硬件實現

  本設計中采用Cypress 公司推出的CY7C68013A芯片, 該芯片屬于EZ- USB FX2系列芯片, 是世界上第一個集成USB2. 0 協議的微處理器, 它支持12Mb / s的全速傳輸和480Mb / s高速傳輸。

  CY7C68013A芯片結構包括增強型8051 處理器、串行接口引擎( SIE )、USB2. 0收發器、16KB 的RAM、4KB的FIFO 存儲器、數據總線、地址總線以及通用可編程接口( GPIF)等, 如圖3所示。

CY7C68013A 芯片結構圖

圖3  CY7C68013A 芯片結構圖。

  USB 加密狗一般由USB 控制器、單片機、外接存儲器構成, 而CY7C68013A 將三者集成為一個芯片, 使硬件實現變得非常簡單, 只需配置好外圍電容、電阻即可。芯片提供了0、1、2、4、6、8 幾個端點, 端點0和端點1僅由固件訪問, 由于其余端點都是單向訪問的, 在此使用端點2和端點6, 用于數據的發送和接收。

  該芯片集成的增強型8051比標準8051有更快的執行速度以及更大的存儲器空間, 因此, 它可以在較短的時間內完成比較復雜的算法, 而且不需另外擴展存儲空間。芯片內部還有一個串行接口引擎S IE, 由它來完成大部分USB2. 0協議的處理工作,這樣大大減輕了固件程序的工作量。

  3. 3  軟件設計

  軟件設計主要包括三部分: 芯片固件程序、設備驅動程序、PC應用程序。

  Cypress公司的EZ- U SB FX2開發套件提供了完整的CY7C68013A 驅動程序源代碼、固件的框架、控制面板程序, 方便用戶開發, 縮短了開發周期。本設計中的驅動程序就是對FX2開發套件中所帶的驅動程序進行修改而得到的。利用提供的固件框架完成設備的初始化, 使用端點2和端點6的實時傳輸方式, 實時得到動態產生的PIN 碼。

  在本設計中, PC 應用程序是指與加密狗的接口程序, 選用VC6. 0 為開發平臺來開發應用程序, 利用C reateF ile得到USB 句柄, 使用D ev iceIoControl函數來進行數據的接收和發送, 并編制U SB 軟件狗的主機接口函數, 將接口函數封裝于usbdog. d ll文件中, 供被保護軟件調用。

  使用開發套件中提供的控制面板程序可以調試程序, 驗證應用程序傳輸數據的準確性。

  4  結束語

  USB2. 0軟件狗和其他軟件狗相比有其獨有的優越性。首先, USB 憑借其即插即用極大地方便了用戶使用, 免除了開機箱和重啟動的麻煩, 能夠為個人筆記本電腦提供一個具有快速通信能力的數據加密設備。第二, USB2. 0的高速數據傳輸能力保證了運行過程中的動態加密, 其特有的打包方法和編碼格式, 增加了加密數據在傳輸過程中被截獲及解密的難度。第三, 采用USB 軟件狗的PIN 碼保護和動態口令相結合的方法, 避免了解密者獲取和推算動態口令。第四, 本設計中采用Cypress 公司的CY7C68013A 芯片作為主芯片, 使得硬件電路設計簡單, 占用空間小, Cypress公司提供的套件開發固件程序和驅動程序, 用VC6. 0 開發加密的軟件平臺, 極大地縮短了開發周期。

  作為USB2. 0 技術和軟件狗技術相結合的產物, USB 軟件狗無疑會具有十分強大的生命力。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 久久99国产精品久久99无号码 | 亚洲欧美日韩另类精品一区二区三区 | 日产乱码精品一二三区 | 亚洲综合久久久久久中文字幕 | 九九视频免费精品视频免费 | 失禁h啪肉尿出来高h健身房 | 99久热在线精品视频播放6 | 久青草青综合在线视频 | 国产性videostv另类极品 | 国产成人a视频在线观看 | 国产精品莉莉欧美自在线线 | 国产亚洲精品久久久久久午夜 | 欧美成人欧美激情欧美风情 | 性欧美精品久久久久久久 | 真人一级毛片 | 久草在线观看首页 | 亚洲精品久久玖玖玖玖 | 老司机一级片 | 国产精品变态重口在线 | 成人国产亚洲欧美成人综合网 | 国产精品特黄一级国产大片 | 欧美综合在线观看 | 青青久草 | 欧美一二三区在线 | 亚洲欧美日韩国产精品26u | 久久亚洲精品视频 | 特级毛片8级毛片免费观看 特级毛片免费观看视频 | 三级毛片在线免费观看 | 91麻精品国产91久久久久 | 亚洲欧美日本国产综合在线 | 91久久国产 | 精品国产免费一区二区三区 | 久久久久久久岛国免费观看 | 日韩欧美一级 | 午夜不卡av免费 | 日本一区二区三区在线 视频 | 午夜三级毛片 | 无遮挡一级毛片私人影院 | 亚洲理论片在线中文字幕 | 国产高清精品在线 | 亚洲专区在线视频 |