專利名稱:Fpga控制mems強鏈的移動硬盤加密系統的制作方法
技術領域:
本發明涉及的是一種基于微機電系統領域技術領域的加密系統,具體的說,
涉及的是一種基于FPGA (現場可編程門陣列)控制MEMS (微機電系統)強鏈的 移動硬盤加密系統。
背景技術:
信息安全對于企業、政府、國防等部門有著重要的意義。 一般現有的移動硬 盤加密方法都通過存儲介質保存密鑰,使用比較器比對輸入密鑰正確與否,此方 法保密性差,易于破解。除此之外,大多移動硬盤加密系統的認證功能都不夠安 全,能夠進入系統的非法用戶還是可以讀取硬盤信息,系統的安全保密作用大大 降低。
經對現有技術的文獻檢索發現,中國專利"一種計算機硬盤加密裝置",專 利號99113164.9,授權公告日2003年2月5日,通過加密芯片而組成的加密電 路,加密芯片是由控制單元電路、加解密單元電路,RAM存儲器及控制開關K組 成,對進出硬盤的數據流選擇性的硬件加密,從而實現介質加密。但此專利中使 用用戶輸入信息的方式作為硬盤加密的密鑰,并通過密鑰比對器判定密鑰是否正 確。這種通過存儲器保存密鑰的方法易于被非法用戶破解,保密性差。但是作為 移動硬盤來說,由于硬件加密的芯片主頻不夠高,加密后的傳輸速率會大打折扣。 檢索中還發現,中國專利"計算機硬盤數據加密方法及其裝置",公開號CN 1641522A,
公開日2005年7月20日,加密系統放置在硬盤與主機之間,對計算 機的硬盤和主機之間傳輸數據進行加密,當主機向硬盤寫數據時,數據流被加解 密模塊所截獲,從密鑰管理模塊中讀取加密過程中所需要的密鑰,對數據流進行 加密處理。此加密系統密鑰存儲在密鑰管理器,并且由此密鑰直接參與硬盤數據 加密,這種方式一方面密鑰容易被破解,另一方面用戶不需進行認證即可啟動加 密解密模塊,只要進入系統還是可以讀取硬盤信息。同時,從檢索的文獻中還可 以看到,上述兩個專利不能對移動硬盤信息進行加密/解密處理。
發明內容
本發明的目的在于克服現有技術中存在的不足,提供一種基于FPGA控制 MEMS強鏈的移動硬盤加密系統,使其達到通過物理機械方法產生密鑰來加密硬 盤數據信息的目的。本發明結合MEMS強鏈、USB移動硬盤接口芯片和基于FPGA 芯片的移動硬盤數據處理卡,組成基于FPGA控制MEMS強鏈的移動硬盤加密系統。 在MEMS強鏈中機械固化了密碼,以此作為移動硬盤數據加密/解密模塊的密鑰, 只容許合法用戶通過身份認證后讀取該移動硬盤的加密數據資料。
本發明是通過以下技術方案實現的
本發明包括USB移動硬盤接口芯片、基于FPGA芯片的移動硬盤數據處理 卡、移動硬盤數據處理卡驅動及身份認證模塊以及MEMS強鏈。其中
所述USB移動硬盤接口芯片包括51微控制器芯片,USB接口控制器,GPIF 擴展接口;
所述基于FPGA芯片的移動硬盤數據處理卡包括1/0信號擴展接口, MEMS 強鏈驅動電路,密鑰處理模塊,移動硬盤數據、控制信號分流模塊,數據加密/ 解密模塊;
其中,移動硬盤數據處理卡驅動及身份認證模塊,通過USB總線與USB移動 硬盤接口芯片內部的USB接口控制器通訊,51微控制器芯片接收到USB總線指 令后,通過GPIF擴展接口將其轉化為IDE總線指令傳輸,移動硬盤數據處理卡 的FPGA芯片接收從GPIF擴展接口傳輸來的IDE指令,在數據、控制信號分流模 塊對指令分析后,通過I/0信號擴展接口輸出控制信號,驅動MEMS強鏈驅動電 路進行解碼動作,解碼的同時,MEMS強鏈產生密鑰信號,發送到密鑰處理模塊, 判斷正確碼或錯位碼;
若取得正確碼,密鑰處理模塊傳輸密鑰到數據加密/解密模塊,并通過USB 接口芯片向主機的身份認證模塊返回強鏈正常運行信號,確認身份認證成功,主 機識別出移動硬盤,然后主機與移動硬盤之間通訊的所有信息,通過數據、控制 信號分流模塊進行分流,控制信號通過PIO方式傳輸,數據信號經數據加密/解 密模塊通過DMA方式傳輸,從而正確讀寫存儲在移動硬盤內的加密信息;
若判斷錯誤碼來臨,密鑰處理模塊通過I/0信號擴展接口,發出復位相位, 停止MEMS強鏈運行,開始MEMS強鏈的復位動作,同時通過USB接口芯片向主機的身份認證模塊返回強鏈異常運行信號,確認身份認證失敗,主機無法識別移動 硬盤,要求繼續進行身份認證。
所述的51微控制器芯片是USB移動硬盤接口芯片的核心部分,采用一種增 強型的51單片機微控制器芯片,包括許多精簡指令集,用于配置USB接口控制 器和GPIF擴展接口,使其正常工作。
所述的USB接口控制器由增強型51微控制器芯片直接控制,是連接主機USB 接口與USB移動硬盤的橋梁, 一端通過USB連線與主機相連, 一端連接增強型 51微控制器芯片。讀寫移動硬盤產生的控制信號和數據信號,以及身份認證信 號,通過USB協議傳輸方式在主機和USB移動硬盤之間進行通訊。
所述的GPIF擴展接口由增強型51微控制器芯片直接控制,用于模擬IDE接 口協議,和FPGA移動硬盤數據處理卡之間進行數據傳輸。增強型51微控制器芯 片利用其可編程狀態機來模擬IDE接口硬盤的四種傳輸方式,包括PIO方式的讀 寫和DMA方式的讀寫,與傳統的IDE接口硬盤連接起來形成USB接口移動硬盤。
所述的1/0信號擴展接口由移動硬盤數據處理卡芯片直接控制,用于移動硬 盤數據處理卡與MEMS強鏈之間進行通信,提供48位I/O信號控制MEMS強鏈驅 動電路,負責傳送MEMS強鏈運行的控制信號以及接收MEMS強鏈返回的信號。
所述的MEMS強鏈驅動電路由移動硬盤數據處理卡芯片控制,接收從I/O信 號擴展接口傳送過來的信號,用于驅動微電機,使得MEMS強鏈能夠正常工作。 該驅動電路由4塊L6234電機驅動芯片組成,每塊L6234芯片驅動一個微電機。
所述的密鑰處理模塊由移動硬盤數據處理卡芯片進行控制,用于比對從工作 在主機上的身份認證模塊傳送過來的密鑰和固化在MEMS強鏈機械結構中的密 鑰。其一端與MEMS強鏈密鑰輸出線相連,用于接收MEMS強鏈發出的密鑰反饋信 號; 一端與移動硬盤數據處理卡芯片相連,用于接收從工作在主機上的身份認證 模塊傳送過來的身份認證信號,并向主機返回認證是否成功的信號; 一端與數據 加密/解密模塊相連,在密鑰全部接收到后,向數據加密/解密模塊發送密鑰;另 一端連接I/0信號擴展接口,用于在MEMS強鏈發生死鎖時,輸出控制MEMS強鏈 復位的信號。
所述的移動硬盤數據、控制信號分流模塊,由移動硬盤數據處理卡芯片進行 控制。主機在進行硬盤讀寫時,數據信號通過DMA方式傳輸,控制信號通過PIO方式傳輸。FPGA芯片根據ATA總線協議規定的這兩種不同傳輸方式的命令格式, 在主機對移動硬盤進行讀寫時,對產生的數據信號和控制信號進行分流。數據信 號流經過數據加密/解密模塊的處理之后,再傳輸到硬盤存儲介質;而控制信號 流則不經過數據加密/解密模塊,直接傳輸給IDE硬盤。
所述的移動硬盤數據加密/解密模塊,由移動硬盤數據處理卡芯片進行控制, 以MEMS強鏈機械結構產生的密鑰,采用經典的AES-128加密算法,對主機在讀 寫移動硬盤數據傳輸時的數據信號流,進行加密/解密處理;對于主機在讀寫移 動硬盤數據傳輸時的控制信號流,不對其進行加密/解密處理。
所述的移動硬盤數據處理卡驅動及身份認證模塊,包括驅動模塊和身份認證 模塊,其中驅動模塊基于傳統的USB移動硬盤驅動程序改寫,無須用戶另外安裝 驅動程序,即插即用,用于在非加密硬盤的操作系統環境下驅動USB移動硬盤。 移動硬盤初次連接到未安裝驅動的操作系統環境下,安裝此數據處理卡驅動后, 操作系統無法識別移動硬盤且無法枚舉出移動硬盤的盤符,必須等到身份認證通 過之后才能夠枚舉出移動硬盤。身份認證模塊是裝載在非加密硬盤操作系統環境 下的一個身份認證程序,提供MEMS強鏈移動硬盤加密系統的身份認證功能。運 行主機上的身份認證模塊后,系統等待用戶輸入身份認證信息。用戶輸入認證信 息之后,該模塊通過USB接口將此信息發送到數據處理卡芯片,進行身份認證過 程。如果身份認證通過,則數據加密/解密模塊以強鏈密鑰信號對數據進行加密、 解密操作,主機識別出此USB移動硬盤,可以讀取存儲在此移動硬盤上的加密信 息。如果身份認證失敗,主機無法識別出此USB移動硬盤,同時復位MEMS強鏈 到初始位置,繼續下一次身份認證。
本發明使用現有MEMS強鏈特有的機械結構,來產生用于移動硬盤數據加密 使用的密鑰,用此密鑰參與移動硬盤加密系統和身份認證。正常使用的計算機中 裝有一塊硬盤,直接與主板的IDE口 (或SATA口)相連,其中裝有操作系統, 數據不做加密處理,可以直接讀取。在需要對數據進行加密操作時,直接利用 USB接口 ,掛載FPGA控制MEMS強鏈的USB移動硬盤加密系統。此移動硬盤需要 通過MEMS強鏈的身份認證,如果身份認證通過,MEMS強鏈產生一串合法密鑰, 利用此密鑰參與加密系統,就可以對掛載在主機上的USB移動硬盤內的加密數據 進行任意地讀寫操作。與現有技術相比,本發明的有益效果是把安全性能極高的MEMS強鏈與移 動硬盤加密系統結合在一起,大大提高了數據的安全強度。同時該移動硬盤加密 系統,利用USB接口的即插即用功能,大大提高了數據的可靠性,減少了安裝驅 動的繁瑣程序也提高了使用的便利性。其中MEMS強鏈采用特殊的物理密碼,機 械破解的概率大約只有二千萬分之一;同時物理密碼固化在MEMS強鏈精密的微 型機械結構中,再次大大增加破解的難度。移動硬盤加密系統利用此密鑰,使用 經典的AES加密算法對所有扇區數據進行介質加密,即使把移動硬盤單獨偷走, 在其他機器上也只能被系統認為是一塊未格式化的硬盤,無法讀出其中的正確信 息。
圖l為本發明的結構框圖
具體實施例方式
下面結合附圖對本發明的實施例作詳細說明本實施例在以本發明技術方案 為前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護 范圍不限于下述的實施例。
如圖1所示,本實施例包括USB移動硬盤接口芯片、基于FPGA芯片的移 動硬盤數據處理卡、移動硬盤數據處理卡驅動及身份認證模塊、MEMS強鏈。
所述USB移動硬盤接口芯片包括51微控制器芯片,USB接口控制器,GPIF 擴展接口。
所述基于FPGA芯片的移動硬盤數據處理卡包括1/0信號擴展接口, MEMS 強鏈驅動電路,密鑰處理模塊,移動硬盤數據、控制信號分流模塊,數據加密/ 解密模塊。
基于FPGA芯片的移動硬盤數據處理卡驅動和身份認證模塊,以傳統的USB 接口協議與USB移動硬盤接口芯片通訊。USB移動硬盤接口芯片利用增強型的51 微控制器芯片,通過使用C語言開發的USB控制器代碼配置USB接口控制器,使 其按照USB接口協議正常運行。USB接口控制器是連接主機USB接口與USB移動 硬盤的橋梁, 一端與主機相連, 一端連接增強型51微控制器芯片。USB接口控 制器把主機USB總線指令轉化為USB移動硬盤接口芯片內部總線指令,再通過 GPIF擴展接口轉化為IDE總線上的指令。然后移動硬盤數據處理卡芯片接收從IDE總線上的指令,通過I/O信號擴展接口輸出控制字到MEMS強鏈驅動電路, 驅動MEMS強鏈進行解碼。解碼的同時,由MEMS強鏈產生密鑰信號。密鑰處理模 塊讀取MEMS強鏈發來的密鑰信號,判斷正確碼或是錯誤碼的來臨。若取得32位 正確碼,密鑰處理模塊發送密鑰到數據加密/解密模塊,并通過USB接口控制器 向主機返回強鏈正常運行的信號,確認身份認證成功,主機識別出該USB設備為 移動硬盤。主機與移動硬盤之間通訊的所有信息(包括控制信號和數據信號), 通過數據、控制信號分流模塊進行分流,控制信號通過PIO方式直接傳輸,數據 信號經數據加密/解密模塊通過DMA方式傳輸,從而能夠正確讀寫存儲在移動硬 盤內的加密信息,在操作系統內枚舉出該硬盤的盤符。若判斷錯誤碼來臨,密鑰 處理模塊發送復位相位到I/0信號擴展接口,停止MEMS強鏈的運行,執行MEMS 強鏈復位動作,并通過USB接口控制器向主機返回強鏈異常運行的信號,身份認 證失敗,要求再次進行身份認證。(請發明人補充移動硬盤數據和控制信號分流 模塊在此段總體流程中的技術描述)
所述的GPIF擴展接口由增強型51微控制器芯片直接控制,用于模擬IDE接 口協議,和FPGA移動硬盤數據處理卡之間進行數據傳輸。GPIF的核心是一個可 編程狀態機,可產生6個"控制"和9個"地址"輸出信號,并且接收6個外部 和2個內部"準備"輸入信號。增強型51微控制器芯片利用其可編程狀態機來 模擬IDE接口硬盤的四種傳輸方式,包括PIO方式的讀寫和DMA方式的讀寫,與 傳統的IDE接口硬盤連接起來形成USB接口移動硬盤。
所述的1/0信號擴展接口由移動硬盤數據處理卡芯片直接控制,用于移動硬 盤數據處理卡與MEMS強鏈之間進行通信,提供48位I/O信號控制MEMS強鏈驅 動電路,負責傳送MEMS強鏈運行的控制信號以及接收MEMS強鏈返回的信號。
所述的MEMS強鏈驅動電路由移動硬盤數據處理卡芯片控制,接收從I/O信 號擴展接口傳送過來的信號,用于驅動微電機,使得MEMS強鏈能夠正常工作。 該驅動電路由4塊L6234電機驅動芯片組成,每塊L6234芯片驅動一個微電機。
所述的密鑰處理模塊由移動硬盤數據處理卡芯片進行控制,用于比對從工作 在主機上的身份認證模塊傳送過來的密鑰和固化在MEMS強鏈機械結構中的密 鑰。其一端與MEMS強鏈密鑰輸出線相連,用于接收MEMS強鏈發出的密鑰反饋信 號; 一端與移動硬盤數據處理卡芯片相連,用于接收從工作在主機上的身份認證模塊傳送過來的身份認證信號,并向主機返回認證是否成功的信號; 一端與數據 加密/解密模塊相連,在密鑰全部接收到后,向數據加密/解密模塊發送密鑰;另 一端連接I/0信號擴展接口,用于在MEMS強鏈發生死鎖時,輸出控制MEMS強鏈 復位的信號。
所述的移動硬盤數據、控制信號分流模塊,由移動硬盤數據處理卡芯片進行 控制。從GPIF擴展接口模擬的IDE接口端接收數據,對其進行分析后,將信號 按照數據流和控制流進行分流。按照IDE協議,主機在對移動硬盤進行讀寫操作, 在對大塊數據操作時是以扇區為單位通過DMA方式傳輸,而讀寫操作中的控制信 號則是以字節為單位通過PIO方式傳輸。根據這兩種不同傳輸方式的命令格式, 將主機在讀寫移動硬盤時產生的數據信號和控制信號進行分流。數據信號流經過 數據加密/解密模塊的處理之后,再傳輸到硬盤存儲介質;而控制信號流則不經 過數據加密/解密模塊,直接傳輸給硬盤。
所述的移動硬盤數據加密/解密模塊,由移動硬盤數據處理卡芯片進行控制, 以MEMS強鏈機械結構產生的密鑰,采用經典的AES-128加密算法,對主機在讀 寫移動硬盤時數據傳輸的數據信號流,進行加密/解密處理。對于主機在讀寫移 動硬盤數據傳輸時的控制信號流,不對其進行加密/解密處理。在對移動硬盤執 行寫操作時,主機通過GPIF擴展接口傳送的信號,首先經過數據、控制分流模 塊分流之后,傳給加密模塊的數據是未經過加密的明文數據,通過AES-128加密 算法對其加密后,存儲在移動硬盤上的是密文數據。而在對移動硬盤執行讀操作 時,存儲在移動硬盤上的密文數據,首先通過AES-128算法對其解密,再通過 USB接口控制器傳送給主機,此時得到的數據是經過解密后的明文數據。主機端 的數據流始終都是明文數據,因此數據加密/解密模塊對于主機而言是透明的。
所述的MEMS強鏈是一種物理加密裝置,它以反干涉齒輪集固化32位二元密 碼。在兩個鑒碼電機的軸上,都裝有耦合機構。其耦合盤上設計了與硬盤加密系 統密鑰對應的缺口。在其解碼過程中,耦合機構產生一串信號,以這種物理的方 式產生的信號作為硬盤加密系統的密鑰。
所述的基于FPGA的移動硬盤數據處理卡驅動模塊,基于傳統的USB移動硬 盤驅動程序改寫,無須用戶另外安裝驅動程序,即插即用,用于在非加密硬盤的 操作系統環境下驅動USB移動硬盤。移動硬盤初次連接到未安裝驅動的操作系統環境下,安裝此數據處理卡驅動后,操作系統無法識別移動硬盤且無法枚舉出移 動硬盤的盤符,必須等到身份認證通過之后才能夠枚舉出移動硬盤。
所述的身份認證模塊,是裝載在非加密硬盤操作系統環境下的一個身份認證 程序,提供MEMS強鏈移動硬盤加密系統的身份認證功能。該模塊采用0++語言, 在VC環境下按照USB接口的傳輸協議編寫,適用于所有Windows平臺的操作系 統;功能是與移動硬盤數據處理卡進行身份認證。
運行主機上的身份認證模塊后,系統等待用戶輸入身份認證信息。用戶輸入 的密鑰通過USB總線,經USB接口控制器傳輸給51微控制器芯片,轉化為其內 部總線指令,再通過GPIF擴展接口模擬的IDE接口,傳給移動硬盤數據處理卡。 移動硬盤數據處理卡內部的FPGA芯片,通過I/O信號擴展接口把控制字輸出到 MEMS強鏈驅動電路,驅動MEMS強鏈進行解碼操作,解碼的同時由MEMS強鏈機 械結構產生密鑰信號。此時,再由密鑰處理模塊讀取MEMS強鏈發來的密鑰信號, 判斷正確碼或是錯誤碼的來臨。若取得32位正確碼,密鑰處理模塊發送密鑰到 數據加密/解密模塊,并通過USB接口控制器向主機的身份認證模塊返回強鏈運 行正常的信號,確認身份認證成功。此時,主機通過重枚舉重新識別出該USB設 備為USB移動硬盤,用戶在資源管理器中看到該移動硬盤的盤符,并能夠正確讀 寫存儲在該移動硬盤內的加密數據信息。若判斷錯誤碼來臨,密鑰處理模塊通過 I/O信號擴展接口 ,向MEMS強鏈驅動模塊發送MEMS強鏈的復位相位,來停止MEMS 強鏈的運行,開始執行MEMS強鏈復位動作,并通過USB接口控制器向主機的身 份認證模塊返回強鏈運行異常的信號。身份認證宣告失敗,主機無法識別出此 USB設備為USB移動硬盤,同時要求繼續進行身份認證。
本發明工作時,編寫FPGA移動硬盤數據處理卡驅動及其身份認證模塊,在 非加密硬盤操作系統環境下加載。FPGA移動硬盤數據處理卡驅動,采用傳統的 USB移動硬盤驅動改寫,符合即插即用特性,無須另外安裝。當需要使用FPGA 控制MEMS強鏈的移動硬盤加密系統時,首先將其與主機通過USB接口連接。在 進行身份認證之前,移動硬盤的盤符是不可見的,主機識別出的USB設備為USB 移動硬盤數據處理卡。只有通過身份認證程序成功認證之后,主機才能識別出經 過加密的USB移動硬盤,并在資源管理器中看到此加密硬盤的盤符,并對其中的 加密資料數據進行正確讀寫。通過USB接口,掛載好該移動硬盤加密系統后,運行裝載在主機上的身份認 證程序,首先彈出窗口,要求用戶輸入身份認證密碼。輸入密碼確認后,FPGA 移動硬盤數據處理卡驅動及身份認證模塊以USB總線通訊方式,與USB移動硬盤 接口芯片通訊,增強型51微控制器芯片配置USB接口控制器正確工作,使得USB 總線上指令轉化為內部總線端指令,再通過GPIF擴展接口模擬的IDE接口,傳 輸給移動硬盤數據處理卡內部的FPGA芯片。此芯片通過I/O信號擴展接口輸出 控制指令到MEMS強鏈驅動電路,驅動MEMS強鏈執行解碼動作。在解碼的同時,由MEMS強鏈機械結構產生一系列的密鑰信號,并傳輸至密 鑰處理模塊。密鑰處理模塊在接收到一個密鑰信號時,就保存此密鑰,并且計數 器從零開始計數,到下一個密鑰信號來臨時清零,并將密鑰信號與前幾個密鑰一 起保存起來,然后再重新開始計數,這里保存的密鑰與MEMS強鏈的走碼位一致。 一旦計數器超時,則說明MEMS強鏈運行遇到錯位碼,此時可以根據所記錄的密 鑰,使MEMS強鏈復位到初始位置。在密鑰處理模塊接收到32位密碼后,說明得 到的密鑰是正確的。此時,密鑰處理模塊首先把正確密鑰傳輸至FPGA移動硬盤 數據加密/解密模塊,并同時返回身份認證成功信號給主機。主機接收到身份認 證成功信號,重新進行USB設備枚舉識別出MEMS強鏈移動硬盤加密系統。同時 移動硬盤數據加密/解密模塊則根據密鑰處理模塊傳來的密鑰,利用經典的 AES-128加密算法,對經過分流模塊傳輸來的數據信息進行加密/解密操作,使 主機能夠正確讀取存儲在MEMS強鏈移動硬盤加密系統內經過加密的內容,并正 確寫入數據信息。當計數器計數超出設定的最大值,還沒有接收到下一個來臨的密鑰信號,說 明MEMS強鏈執行解碼操作遇到錯位碼而發生死鎖,這時MEMS強鏈需要進行復位 操作并返回身份認證失敗信號,要求重新進行身份認證。密鑰處理模塊根據所記 錄的密碼走位,通過I/0信號擴展接口瑜出復位信號到MEMS強鏈驅動電路,控 制MEMS強鏈反向走碼復位到初始相位。身份認證失敗之后,主機上的身份認證 模塊提示再次輸入密碼,重新進行身份認證。主機通過身份認證之后,就可以對該加密移動硬盤上的信息進行正確的讀 寫。主機發起的讀寫命令信號,傳輸到USB接口控制器后經過GPIF擴展接口轉 為IDE協議命令,然后由FPGA數據、控制信號分流模塊不經過加密模塊,直接傳輸給IDE硬盤。在主機經USB移動硬盤接口芯片內部的GPIF擴展接口傳輸到 FPGA數據分流模塊之間的數據,都是未經過加密(或己經過解密)的明文數據。 而在FPGA數據加密/解密模塊與IDE硬盤之間傳輸的數據,都是已經過加密(或 未經過解密)的密文數據,也就是說存儲在IDE硬盤內的數據信息,都是經過 AES-128加密算法加密過的信息。另外,FPGA控制MEMS強鏈的移動硬盤加密系統在首次使用時,通過身份認 證之后還需要在非加密硬盤的操作系統環境下,對其進行重新分區并格式化硬 盤,使其分區表信息也經過AES-128加密算法的加密處理,這樣才能夠正確的讀 寫移動硬盤內的加密信息。分區表信息經過加密處理,同時也能夠保證,即使把 移動硬盤單獨偷走,在其他機器上也只能被操作系統認為是一塊未格式化的硬 盤,而無法讀出其中的正確信息。
權利要求
1. 一種FPGA控制MEMS強鏈的移動硬盤加密系統,包括USB移動硬盤接口芯片、基于FPGA芯片的移動硬盤數據處理卡、移動硬盤數據處理卡驅動模塊及身份認證模塊以及MEMS強鏈,其特征在于,所述USB移動硬盤接口芯片包括51微控制器芯片,USB接口控制器,GPIF擴展接口;所述基于FPGA芯片的移動硬盤數據處理卡包括I/O信號擴展接口,MEMS強鏈驅動電路,密鑰處理模塊,移動硬盤數據、控制信號分流模塊,數據加密/解密模塊;其中,移動硬盤數據處理卡驅動及身份認證模塊,通過USB總線與USB移動硬盤接口芯片內部的USB接口控制器通訊,51微控制器芯片接收到USB總線指令后,通過GPIF擴展接口將其轉化為IDE總線指令傳輸,移動硬盤數據處理卡的FPGA芯片接收從GPIF擴展接口傳輸來的IDE指令,在數據、控制信號分流模塊對指令分析后,通過I/O信號擴展接口輸出控制信號,驅動MEMS強鏈驅動電路進行解碼動作,解碼的同時,MEMS強鏈產生密鑰信號,發送到密鑰處理模塊,判斷正確碼或錯位碼;若取得正確碼,密鑰處理模塊傳輸密鑰到數據加密/解密模塊,并通過USB接口芯片向主機的身份認證模塊返回強鏈正常運行信號,確認身份認證成功,主機識別出移動硬盤,然后主機與移動硬盤之間通訊的所有信息,通過數據、控制信號分流模塊進行分流,控制信號通過PIO方式傳輸,數據信號經數據加密/解密模塊通過DMA方式傳輸,從而正確讀寫存儲在移動硬盤內的加密信息;若判斷錯誤碼來臨,密鑰處理模塊通過I/O信號擴展接口,發出復位相位,停止MEMS強鏈運行,開始MEMS強鏈的復位動作,同時通過USB接口芯片向主機的身份認證模塊返回強鏈異常運行信號,確認身份認證失敗,主機無法識別移動硬盤,要求繼續進行身份認證。
2、 根據權利要求1所述的FPGA控制MEMS強鏈的移動硬盤加密系統,其特 征是,所述的GPIF擴展接口由51微控制器芯片直接控制,用于模擬IDE接口協議,和FPGA移動硬盤數據處理卡之間進行數據傳輸,利用其內部可編程狀態機 來模擬IDE接口硬盤的四種傳輸方式,包括PIO方式的讀寫和DMA方式的讀寫, 與傳統的IDE接口硬盤連接起來形成USB接口移動硬盤。
3、 根據權利要求l所述的FPGA控制MEMS強鏈的移動硬盤加密系統,其特 征是,所述的I/0信號擴展接口由移動硬盤數據處理卡芯片控制,用于移動硬盤 數據處理芯片與MEMS強鏈進行通信,提供48位I/O信號控制MEMS強鏈驅動電 路,負責傳送MEMS強鏈運行的控制信號以及接收MEMS強鏈返回的信號。
4、 根據權利要求1或3所述的FPGA控制MEMS強鏈的移動硬盤加密系統, 其特征是,所述的MEMS強鏈驅動電路由移動硬盤數據處理卡芯片控制,接收從 1/0信號擴展接口傳送過來的信號,用于驅動微電機,使得MEMS強鏈能夠正常 工作。
5、 根據權利要求1所述的FPGA控制MEMS強鏈的移動硬盤加密系統,其特 征是,所述的密鑰處理模塊由移動硬盤數據處理卡芯片控制,用于比對從工作在 主機上的身份認證模塊傳送過來的密鑰和固化在MEMS強鏈機械結構中的密鑰, 其一端與MEMS強鏈密鑰輸出線相連,用于接收MEMS強鏈發出的密鑰反饋信號; 一端與移動硬盤數據處理卡芯片相連,用于接收從工作在主機上的身份認證模塊 傳送過來的身份認證信號; 一端與數據加密/解密模塊相連,在密鑰全部接收到 后,向數據加密/解密模塊發送密鑰;另一端連接I/O信號擴展接口 ,用于在MEMS 強鏈發生死鎖時,輸出控制MEMS強鏈復位的信號。
6、 根據權利要求l所述的FPGA控制MEMS強鏈的移動硬盤加密系統,其特 征是,所述的移動硬盤數據、控制信號分流模塊,由移動硬盤數據處理卡芯片進 行控制,主機進行硬盤讀寫時,數據信號通過DMA方式傳輸,控制信號通過PIO 方式傳輸,FPGA芯片根據ATA總線協議規定的這兩種傳輸方式的命令格式,將 主機在讀寫移動硬盤時產生的數據信號和控制信號進行分流,數據信號流經過數 據加密/解密模塊的處理之后,再傳輸到硬盤存儲介質,而控制信號流則不經過 數據加密/解密模塊,直接傳輸給IDE硬盤。
7、 根據權利要求1或6所述的FPGA控制MEMS強鏈的移動硬盤加密系統, 其特征是,所述的數據加密/解密模塊,由移動硬盤數據處理卡芯片進行控制,以MEMS強鏈產生的密鑰,采用加密算法,對主機在讀寫移動硬盤時傳輸的數據 信號流,進行加密/解密處理。
8、根據權利要求1所述的FPGA控制MEMS強鏈的移動硬盤加密系統,其特征是,所述的移動硬盤數據處理卡驅動及身份認證模塊,包括驅動模塊和身份認 證模塊,其中驅動模塊用于在非加密硬盤的操作系統環境下驅動USB移動硬盤, 移動硬盤初次連接到未安裝驅動的操作系統環境下,安裝此數據處理卡驅動后, 操作系統無法識別移動硬盤且無法枚舉出移動硬盤的盤符,必須等到身份認證通 過之后才能夠枚舉出移動硬盤;身份認證模塊是裝載在非加密硬盤操作系統環境 下的一個身份認證程序,提供MEMS強鏈移動硬盤加密系統的身份認證功能,運 行主機上的身份認證模塊后,系統等待用戶輸入身份認證信息,用戶輸入認證信 息之后,該模塊通過USB接口將此信息發送到數據處理卡芯片,進行身份認證過 程,如果身份認證通過,則數據加密/解密模塊以強鏈密鑰信號對數據進行加密、 解密操作,主機識別出此USB移動硬盤,可讀取存儲在此移動硬盤上的加密信息, 如果身份認證失敗,主機無法識別出此USB移動硬盤,同時復位MEMS強鏈到初 始位置,繼續下一次身份認證。
全文摘要
一種微機電系統領域的FPGA控制MEMS強鏈的移動硬盤加密系統。本發明中,身份認證模塊與USB接口芯片進行通訊,認證密碼通過GPIF擴展接口傳給數據處理卡芯片,通過I/O信號擴展接口輸出控制信號到驅動電路,驅動強鏈進行解碼。同時強鏈產生密鑰信號,密鑰處理模塊讀取密鑰,判斷正確碼或錯誤碼若為正確碼,密鑰處理模塊發送密鑰到數據加密/解密模塊,并返回正常運行信號到主機,身份認證成功,主機識別出該移動硬盤,能正確讀寫其中加密信息;否則密鑰處理模塊發送復位相位到I/O接口,控制強鏈復位,并返回運行異常信號到主機,身份認證失敗,需繼續認證。本發明通過物理機械式方法產生密鑰,來加密移動硬盤數據信息。
文檔編號G06F12/14GK101281499SQ200810038178
公開日2008年10月8日 申請日期2008年5月29日 優先權日2008年5月29日
發明者張衛平, 李怡斌, 堅 湯, 鵬 許, 陳文元 申請人:上海交通大學