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