两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于動(dòng)態(tài)密鑰的硬盤數(shù)據(jù)加密方法及其裝置的制作方法

文檔序號(hào):6560247閱讀:272來(lái)源:國(guó)知局
專利名稱:一種基于動(dòng)態(tài)密鑰的硬盤數(shù)據(jù)加密方法及其裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,涉及一種基于動(dòng)態(tài)密鑰的硬盤數(shù)據(jù)加密方法及其裝置。
背景技術(shù)
在信息技術(shù)給人們帶來(lái)極大方便的同時(shí),信息的安全問(wèn)題日漸突出。硬盤作為計(jì)算機(jī)的主要外部存儲(chǔ)器,通常存儲(chǔ)著用戶的大量信息。對(duì)硬盤數(shù)據(jù)進(jìn)行加密,是保證硬盤數(shù)據(jù)機(jī)密性的基本方式。由于軟件加密系統(tǒng)存在不可克服的性能和安全問(wèn)題,因此,研究基于硬件的硬盤加密系統(tǒng)具有重要意義。
專利號(hào)為99113164.9的“一種計(jì)算機(jī)硬盤加密裝置”文獻(xiàn)中,提出了一種具有選擇性的加密裝置,該裝置的密鑰需要用戶使用鍵盤手工輸入,受到人的記憶力限制,密鑰的長(zhǎng)度有限,且使用起來(lái)較為繁瑣。該裝置對(duì)硬盤中所有的數(shù)據(jù)均使用相同的密鑰進(jìn)行加密,一旦攻擊者通過(guò)對(duì)某一扇區(qū)的數(shù)據(jù)進(jìn)行密碼分析而獲得密鑰,則整個(gè)硬盤加密數(shù)據(jù)都會(huì)被破解。
專利申請(qǐng)?zhí)枮?00410025825.5的“計(jì)算機(jī)硬盤數(shù)據(jù)加密方法及其裝置”文獻(xiàn)中,提出了一種支持多種對(duì)稱加密算法的基于IDE接口的硬盤數(shù)據(jù)加密裝置。但文獻(xiàn)中所使用的密鑰,也是靜態(tài)的密鑰,即對(duì)硬盤中所有的數(shù)據(jù)均使用相同的密鑰進(jìn)行加密,因此這種裝置的安全性也存在隱患。此外,該裝置主要通過(guò)FPGA器件來(lái)實(shí)現(xiàn),由于FPGA器件本身不適合于實(shí)現(xiàn)復(fù)雜的流程,因此該裝置不具有系統(tǒng)自檢、密鑰備份和恢復(fù)等功能。
硬盤加密系統(tǒng)的加密對(duì)象是用戶存放在硬盤上的數(shù)據(jù),因此硬盤加密卡的可靠性尤為重要。如果硬盤加密系統(tǒng)出現(xiàn)故障而沒(méi)有及時(shí)處理,則硬盤上的數(shù)據(jù)有可能會(huì)被破壞。所以,硬盤加密系統(tǒng)的自檢功能顯得尤為重要。當(dāng)加密系統(tǒng)出現(xiàn)故障時(shí),應(yīng)該自動(dòng)停止工作。
如果密鑰時(shí)存放在介質(zhì)上的,那么它總是存在著遺失或者損壞的可能性,如果密鑰沒(méi)有備份,則硬盤上的數(shù)據(jù)就無(wú)法再解密讀出。因此,一個(gè)設(shè)計(jì)良好的加密系統(tǒng),應(yīng)該為用戶提供密鑰的備份和恢復(fù)功能。平時(shí)把密鑰復(fù)制到備份介質(zhì)中妥善保管,如果發(fā)生密鑰存儲(chǔ)介質(zhì)遺失或者損壞的情況,可以從備份介質(zhì)中把密鑰恢復(fù)出來(lái)。

發(fā)明內(nèi)容
為了克服了上述現(xiàn)有技術(shù)的不足,本發(fā)明的目的是提出了一種基于動(dòng)態(tài)密鑰的硬盤數(shù)據(jù)加密方法及其裝置。本發(fā)明對(duì)于不同扇區(qū)的數(shù)據(jù),采用不同的加密密鑰,以提高硬盤數(shù)據(jù)加密的安全性。此外,該裝置還實(shí)現(xiàn)了系統(tǒng)自檢、密鑰的備份與恢復(fù)等功能,提高了系統(tǒng)的可靠性和實(shí)用性。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的基于動(dòng)態(tài)密鑰的硬盤數(shù)據(jù)加密方法,其實(shí)現(xiàn)步驟為A、在主機(jī)上運(yùn)行密鑰生成程序,根據(jù)屏幕提示信息,由用戶輸入一串任意的字符,密鑰生成程序使用通用的Hash算法,例如MD5、SHA-1等對(duì)用戶輸入的字符及主機(jī)的實(shí)時(shí)時(shí)鐘進(jìn)行Hash運(yùn)算,把Hash運(yùn)算的結(jié)果作為主密鑰;B、提示用戶再次輸入另一串任意的字符,密鑰生成程序使用通用的Hash算法,例如MD5、SHA-1等對(duì)用戶輸入的字符及主機(jī)的實(shí)時(shí)時(shí)鐘進(jìn)行Hash運(yùn)算,并以Hash運(yùn)算的結(jié)果作為隨機(jī)數(shù)的種子,使用標(biāo)準(zhǔn)C函數(shù)庫(kù)中的隨機(jī)數(shù)生成算法,生成若干個(gè)隨機(jī)數(shù),每個(gè)隨機(jī)數(shù)被用作一個(gè)分區(qū)密鑰;C、根據(jù)硬盤扇區(qū)的邏輯塊尋址LBA地址中的高位地址把硬盤劃分為若干分區(qū),分區(qū)的數(shù)量與密鑰生成程序生成的分區(qū)密鑰數(shù)量相等;D、對(duì)數(shù)據(jù)進(jìn)行加密時(shí),先根據(jù)待加密數(shù)據(jù)所在的分區(qū),即邏輯塊尋址LBA地址中的高位地址找出與之對(duì)應(yīng)的分區(qū)密鑰;
E、把主密鑰、對(duì)應(yīng)的分區(qū)密鑰、數(shù)據(jù)所在扇區(qū)的LBA地址三者拼接,即以字節(jié)為單位按順序排列;F、對(duì)拼接后的結(jié)果進(jìn)行散列運(yùn)算,采用散列函數(shù)MD5、散列函數(shù)SHA1或者其它散列運(yùn)算算法;G、以散列運(yùn)算的結(jié)果作為加密的密鑰,利用序列加密算法或者分組加密算法對(duì)數(shù)據(jù)進(jìn)行加密。
基于動(dòng)態(tài)密鑰的硬盤數(shù)據(jù)加密方法的加密裝置,該裝置由一塊加密卡和一個(gè)電子鑰匙連接組成,其中加密卡由四個(gè)部分組成現(xiàn)場(chǎng)可編程門陣列FPGA、單片機(jī)MCU、主板端ATA接口、硬盤端ATA接口,現(xiàn)場(chǎng)可編程門陣列FPGA與主板端ATA接口、硬盤端ATA接口、單片機(jī)相連;單片機(jī)除了與FPGA相連以外,還與電子鑰匙相連。
所述的電子鑰匙,是一個(gè)帶加密功能的存儲(chǔ)芯片。
本發(fā)明的優(yōu)點(diǎn)是A、提出了動(dòng)態(tài)密鑰技術(shù),即對(duì)于硬盤上的不同扇區(qū),使用了不同的密鑰加/解密,大大提高了系統(tǒng)的安全性。
B、分區(qū)密鑰保存在加密型的單片機(jī)中,主密鑰保存在加密型存儲(chǔ)芯片中,這兩個(gè)密鑰都無(wú)法通過(guò)普通的讀卡器讀出,因此可以防止密鑰被非法復(fù)制。
C、加密卡可以實(shí)現(xiàn)上電自檢、密鑰的復(fù)制、備份和恢復(fù)功能,在不影響裝置安全性的前提下,提高了裝置的可靠性和使用方便性。


圖1是本發(fā)明基于動(dòng)態(tài)密鑰的硬盤數(shù)據(jù)加密方法示意圖。箭頭方向表示信息流向。
圖2是本發(fā)明基于動(dòng)態(tài)密鑰的硬盤數(shù)據(jù)加密裝置的應(yīng)用模式圖。
圖3是本發(fā)明基于動(dòng)態(tài)密鑰的硬盤數(shù)據(jù)加密裝置結(jié)構(gòu)圖。
圖4是本發(fā)明一個(gè)實(shí)施例加密卡上FPGA的內(nèi)部邏輯框圖。圖中的箭頭表示信息流向。
圖5是本發(fā)明動(dòng)態(tài)密鑰加密的一個(gè)實(shí)施例。圖中箭頭表示信息流向。虛線部分表示在開(kāi)機(jī)上電時(shí)進(jìn)行;實(shí)線部分表示在硬盤加密卡進(jìn)入正常工作時(shí)進(jìn)行。
具體實(shí)施例方式
在系統(tǒng)首次使用之前,根據(jù)扇區(qū)LBA地址把硬盤劃分為若干分區(qū),然后使用軟件生成一個(gè)主密鑰和一組分區(qū)密鑰。
主密鑰的生成方法是,在主機(jī)上運(yùn)行密鑰生成程序,根據(jù)屏幕提示信息,由用戶輸入一串任意的字符,密鑰生成程序使用通用的Hash算法(例如MD5、SHA-1等)對(duì)用戶輸入的字符及主機(jī)的實(shí)時(shí)時(shí)鐘進(jìn)行Hash運(yùn)算,把Hash運(yùn)算的結(jié)果作為主密鑰;分區(qū)密鑰的生成方法是,在主機(jī)上運(yùn)行密鑰生成程序,提示用戶再次輸入另一串任意的字符,密鑰生成程序使用通用的Hash算法(例如MD5、SHA-1等)對(duì)用戶輸入的字符及主機(jī)的實(shí)時(shí)時(shí)鐘進(jìn)行Hash運(yùn)算,并以Hash運(yùn)算的結(jié)果作為隨機(jī)數(shù)的種子,使用標(biāo)準(zhǔn)C函數(shù)庫(kù)中的隨機(jī)數(shù)生成算法,生成若干個(gè)隨機(jī)數(shù)。隨機(jī)數(shù)的個(gè)數(shù)與硬盤分區(qū)的數(shù)量相等。每個(gè)隨機(jī)數(shù)分別與一個(gè)硬盤分區(qū)相對(duì)應(yīng),作為該硬盤分區(qū)的分區(qū)密鑰。
參照?qǐng)D1所示,設(shè)置一個(gè)主密鑰和一組分區(qū)密鑰。其中,分區(qū)密鑰的設(shè)置方法是根據(jù)扇區(qū)LBA地址把硬盤劃分為若干分區(qū),每個(gè)分區(qū)對(duì)應(yīng)一個(gè)分區(qū)密鑰。當(dāng)需要對(duì)硬盤上某個(gè)扇區(qū)的數(shù)據(jù)進(jìn)行加密時(shí),先通過(guò)查表在分區(qū)密鑰組中查到與該扇區(qū)LBA地址對(duì)應(yīng)的分區(qū)密鑰,然后把主密鑰、分區(qū)密鑰、硬盤扇區(qū)LBA地址三者拼接,并進(jìn)行散列運(yùn)算(比如MD5、SHA1等),散列運(yùn)算的結(jié)果作為加密密鑰,對(duì)硬盤數(shù)據(jù)進(jìn)行分組加密(比如DES、AES等)或者序列加密(比如異或、相加等)。
參照?qǐng)D2所示,一種實(shí)現(xiàn)上述加密方法的裝置,是由一個(gè)加密卡1和一個(gè)電子鑰匙2組成。
加密卡1串聯(lián)在硬盤和計(jì)算機(jī)主板之間,對(duì)寫入的數(shù)據(jù)進(jìn)行加密,對(duì)讀出的數(shù)據(jù)進(jìn)行解密。加密卡1主要由一個(gè)現(xiàn)場(chǎng)可編程門陣列FPGA 3和一個(gè)單片機(jī)MCU 4構(gòu)成?,F(xiàn)場(chǎng)可編程門陣列FPGA 3主要完成數(shù)據(jù)加密、硬盤接口信號(hào)處理等核心功能,單片機(jī)主要完成現(xiàn)場(chǎng)可編程門陣列FPGA 3的配置、密鑰的管理、系統(tǒng)自檢等輔助功能。加/解密所用的分區(qū)密鑰,保存在單片機(jī)內(nèi)部的EEPROM或Flash存儲(chǔ)器中。
電子鑰匙2實(shí)際上是一個(gè)帶加密功能的存儲(chǔ)芯片,該芯片被封裝成易于攜帶和插拔的形式,以便用戶隨身攜帶。電子鑰匙中保存了主密鑰,當(dāng)電子鑰匙中所存儲(chǔ)的內(nèi)容不正確,或者與加密卡和硬盤不配套時(shí),加密卡無(wú)法正常工作。
加密卡具有上電自檢的功能,當(dāng)系統(tǒng)上電時(shí),加密卡1中的單片機(jī)會(huì)向現(xiàn)場(chǎng)可編程門陣列FPGA 3發(fā)送一組測(cè)試數(shù)據(jù),現(xiàn)場(chǎng)可編程門陣列FPGA 3把加密的結(jié)果返回給單片機(jī),單片機(jī)MCU 4把現(xiàn)場(chǎng)可編程門陣列FPGA 3的加密結(jié)果與事先計(jì)算好的結(jié)果相比較,如果結(jié)果不一致,則系統(tǒng)鎖死,并通過(guò)狀態(tài)指示燈指示錯(cuò)誤。
加密卡1中定義了一組控制指令,這些指令由主機(jī)發(fā)出,由單片機(jī)執(zhí)行。因?yàn)閱纹瑱C(jī)不與主板端ATA接口6直接相連,所以,主機(jī)向單片機(jī)MCU 4發(fā)出的指令必須通過(guò)現(xiàn)場(chǎng)可編程門陣列FPGA 3來(lái)轉(zhuǎn)發(fā)。因此,現(xiàn)場(chǎng)可編程門陣列FPGA 3必須能夠區(qū)分出主板端ATA接口5上的哪些數(shù)據(jù)是要發(fā)送給硬盤的,哪些數(shù)據(jù)是要發(fā)送給單片機(jī)的。為了實(shí)現(xiàn)這個(gè)區(qū)分,加密卡對(duì)ATA指令集進(jìn)行了擴(kuò)展。增加了“通信允許”和“通信禁止”兩條指令,其命令碼分別為04和05。當(dāng)現(xiàn)場(chǎng)可編程門陣列FPGA檢測(cè)到主機(jī)向ATA命令寄存器寫入04命令碼時(shí),進(jìn)入通信狀態(tài);在通信狀態(tài)中,如果現(xiàn)場(chǎng)可編程門陣列FPGA檢測(cè)到主機(jī)向ATA命令寄存器寫入05命令碼,則退出通信狀態(tài)。在通信狀態(tài)下,現(xiàn)場(chǎng)可編程門陣列FPGA把ATA接口上的所有數(shù)據(jù)都轉(zhuǎn)發(fā)給單片機(jī);而在非通信狀態(tài)下,現(xiàn)場(chǎng)可編程門陣列FPGA把ATA接口上的數(shù)據(jù)經(jīng)過(guò)加密處理后轉(zhuǎn)發(fā)給硬盤。
本加密裝置設(shè)有一個(gè)附屬軟件,運(yùn)行于主機(jī)上。軟件通過(guò)向單片機(jī)發(fā)出指令,可以實(shí)現(xiàn)密鑰的復(fù)制、備份和恢復(fù)復(fù)制是指將主密鑰從一個(gè)電子鑰匙復(fù)制到另一個(gè)電子鑰匙;備份是指將主密鑰和分區(qū)密鑰保存到專用的備份鑰匙中;恢復(fù)是指從備份鑰匙中讀出主密鑰和分區(qū)密鑰,并把主密鑰寫入到電子鑰匙中,把分區(qū)密鑰寫入到單片機(jī)中。
參照?qǐng)D3所示,本實(shí)施例是一個(gè)采用了散列函數(shù)MD5和DES分組加密算法的加密裝置。它由FPGA、單片機(jī)、電子鑰匙2、主板端ATA接口和硬盤端ATA接口五部分組成。除了電子鑰匙以外的其它四個(gè)部分,被安裝在一個(gè)10厘米×12厘米的印刷電路板上,電路板采用四層板工藝設(shè)計(jì)制作。在電路板上,設(shè)置了具有USB接口外觀的電子鑰匙接口,用于實(shí)現(xiàn)電子鑰匙的插拔。采用的FPGA,型號(hào)為Xilinx XC3S400,單片機(jī)型號(hào)為SST89V564RD,主板端ATA接口和硬盤端ATA接口都是雙排40針插座。
電子鑰匙2是一個(gè)具有類似于USB閃存盤外觀的裝置,以便用戶攜帶。其核心是一個(gè)加密型存儲(chǔ)器芯片,型號(hào)為Atmel AT88SC153。這是一款具有2K字節(jié)存儲(chǔ)空間的加密型EEPROM存儲(chǔ)器。
參照?qǐng)D4所示,是FPGA的內(nèi)部邏輯構(gòu)造,它包括DES加密/解密器、單片機(jī)接口、密鑰存儲(chǔ)與計(jì)算,以及主板端ATA接口控制器和硬盤端ATA接口控制器。DES加密/解密器利用密鑰存儲(chǔ)與計(jì)算單元輸出的密鑰對(duì)數(shù)據(jù)進(jìn)行加/解密。單片機(jī)接口與單片機(jī)相連,是FPGA和單片機(jī)之間的通信接口。密鑰存儲(chǔ)與計(jì)算單元通過(guò)單片機(jī)接口,從單片機(jī)獲得主密鑰和分區(qū)密鑰組,并根據(jù)主板端ATA控制器輸出的當(dāng)前傳輸?shù)臄?shù)據(jù)扇區(qū)LBA地址計(jì)算加密密鑰。硬盤端ATA接口控制器負(fù)責(zé)處理ATA接口上的信號(hào),保證信號(hào)滿足協(xié)議中規(guī)定的時(shí)序,并對(duì)數(shù)據(jù)進(jìn)行緩沖存儲(chǔ)。主板端和硬盤端ATA接口控制器通過(guò)片內(nèi)局部總線相連,以協(xié)調(diào)工作。在通信允許狀態(tài)下,主板端ATA控制器把主板端ATA接口上的所有數(shù)據(jù)轉(zhuǎn)發(fā)給單片機(jī)。
本實(shí)施例的主密鑰長(zhǎng)度為452位,平時(shí)存放在電子鑰匙中。根據(jù)硬盤扇區(qū)LBA地址的高10位,硬盤分為1024個(gè)分區(qū),每個(gè)分區(qū)對(duì)應(yīng)一個(gè)長(zhǎng)度為32位的分區(qū)密鑰。這1024個(gè)分區(qū)密鑰,平時(shí)存放在單片機(jī)內(nèi)部的EEPROM中。電子鑰匙的存儲(chǔ)芯片帶有保密功能,對(duì)它進(jìn)行讀寫之前必須先進(jìn)行口令驗(yàn)證。讀寫電子鑰匙的口令也記錄在單片機(jī)的EEPROM中。單片機(jī)自身也帶有加密功能,對(duì)單片機(jī)進(jìn)行加密后,外部設(shè)備無(wú)法讀出單片機(jī)中任何內(nèi)容。單片機(jī)中EEPROM的內(nèi)容只供單片機(jī)內(nèi)部的程序讀取。
參照?qǐng)D5所示,本實(shí)施例的加密過(guò)程如下當(dāng)系統(tǒng)上電時(shí),單片機(jī)先讀取電子鑰匙中的主密鑰,然后把主密鑰輸入到FPGA內(nèi)部的拼接密鑰寄存器中。然后,單片機(jī)從內(nèi)部EEPROM中讀出分區(qū)密鑰組,并將分區(qū)密鑰組輸入到FPGA內(nèi)部的RAM中。當(dāng)需要對(duì)數(shù)據(jù)進(jìn)行加密或解密時(shí),加密卡通過(guò)ATA接口控制邏輯獲得當(dāng)前傳輸?shù)臄?shù)據(jù)扇區(qū)LBA地址,利用扇區(qū)LBA地址的高10位對(duì)存儲(chǔ)了分區(qū)密鑰組的RAM進(jìn)行尋址,輸出一個(gè)32位的分區(qū)密鑰,送到拼接密鑰寄存器中。同時(shí),28位的扇區(qū)LBA地址也被輸入到拼接密鑰寄存器中。拼接密鑰寄存器的內(nèi)容,輸入到MD5散列函數(shù)中。MD5散列函數(shù)的輸出,被用作DES加密/解密的密鑰,對(duì)數(shù)據(jù)進(jìn)行加密或解密。
單片機(jī)讀取主密鑰的過(guò)程如下先檢測(cè)電子鑰匙是否存在,若不存在,則系統(tǒng)鎖死。若電子鑰匙已被插入,則單片機(jī)從內(nèi)部EEPROM中讀出電子鑰匙的口令,利用該口令,去讀取電子鑰匙中的主密鑰。
系統(tǒng)上電自檢程序是在單片機(jī)讀取主密鑰和分區(qū)密鑰之后運(yùn)行的。自檢流程如下單片機(jī)向FPGA發(fā)出一組測(cè)試數(shù)據(jù),F(xiàn)PGA對(duì)測(cè)試數(shù)據(jù)進(jìn)行加密后,把結(jié)果返回給單片機(jī),單片機(jī)將加密結(jié)果與事先計(jì)算好的結(jié)果比較。如果比較不相等,則說(shuō)明加密卡有故障,系統(tǒng)鎖死;如果比較相等,則進(jìn)入正常工作狀態(tài)。
在FPGA內(nèi)部的主板端ATA控制器中,實(shí)現(xiàn)了一個(gè)ATA接口到單片機(jī)接口的數(shù)據(jù)通路。當(dāng)主板端ATA控制器檢測(cè)到“通信允許”指令時(shí),則開(kāi)放該數(shù)據(jù)通路。當(dāng)主板端ATA控制器檢測(cè)到“通信禁止”指令時(shí),則關(guān)閉該數(shù)據(jù)通路。
以上涉及的FPGA內(nèi)部的所有邏輯功能,均通過(guò)Verilog語(yǔ)言描述。使用Xilinx ISE工具綜合實(shí)現(xiàn)之后下載到FPGA芯片中運(yùn)行。
單片機(jī)實(shí)現(xiàn)的自檢、密鑰的讀寫等功能,使用匯編語(yǔ)言和C語(yǔ)言編程實(shí)現(xiàn)。經(jīng)過(guò)編譯鏈接后燒錄在單片機(jī)內(nèi)部的程序存儲(chǔ)器中。
密鑰的復(fù)制、備份和恢復(fù)功能,通過(guò)主機(jī)端軟件向單片機(jī)發(fā)送指令,調(diào)用單片機(jī)提供的密鑰讀寫功能來(lái)實(shí)現(xiàn)。主機(jī)端軟件采用Visual C++編寫。
權(quán)利要求
1.一種基于動(dòng)態(tài)密鑰的硬盤數(shù)據(jù)加密方法,其特征在于,其實(shí)現(xiàn)步驟為A、在主機(jī)上運(yùn)行密鑰生成程序,根據(jù)屏幕提示信息,由用戶輸入一串任意的字符,密鑰生成程序使用通用的Hash算法,對(duì)用戶輸入的字符及主機(jī)的實(shí)時(shí)時(shí)鐘進(jìn)行Hash運(yùn)算,把Hash運(yùn)算的結(jié)果作為主密鑰;B、提示用戶再次輸入另一串任意的字符,密鑰生成程序使用通用的Hash算法,對(duì)用戶輸入的字符及主機(jī)的實(shí)時(shí)時(shí)鐘進(jìn)行Hash運(yùn)算,并以Hash運(yùn)算的結(jié)果作為隨機(jī)數(shù)的種子,使用標(biāo)準(zhǔn)C函數(shù)庫(kù)中的隨機(jī)數(shù)生成算法,生成若干個(gè)隨機(jī)數(shù),每個(gè)隨機(jī)數(shù)被用作一個(gè)分區(qū)密鑰;C、根據(jù)硬盤扇區(qū)的邏輯塊尋址LBA地址中的高位地址把硬盤劃分為若干分區(qū),分區(qū)的數(shù)量與密鑰生成程序生成的分區(qū)密鑰數(shù)量相等;D、對(duì)數(shù)據(jù)進(jìn)行加密時(shí),先根據(jù)待加密數(shù)據(jù)所在的分區(qū),即邏輯塊尋址LBA地址中的高位地址找出與之對(duì)應(yīng)的分區(qū)密鑰;E、把主密鑰、對(duì)應(yīng)的分區(qū)密鑰、數(shù)據(jù)所在扇區(qū)的LBA地址三者拼接,即以字節(jié)為單位按順序排列;F、對(duì)拼接后的結(jié)果進(jìn)行散列運(yùn)算,采用散列函數(shù)MD5、散列函數(shù)SHA1或者其它散列運(yùn)算算法;G、以散列運(yùn)算的結(jié)果作為加密的密鑰,利用序列加密算法或者分組加密算法對(duì)數(shù)據(jù)進(jìn)行加密。
2.一種實(shí)現(xiàn)權(quán)利要求1所述方法的加密裝置,該裝置由一塊加密卡(1)和一個(gè)電子鑰匙(2)連接組成,其特征在于,其中加密卡(1)主要由四個(gè)部分組成現(xiàn)場(chǎng)可編程門陣列FPGA(3)、單片機(jī)MCU(4)、主板端ATA(5)接口、硬盤端ATA接口(6),現(xiàn)場(chǎng)可編程門陣列FPGA(3)與主板端ATA接口、硬盤端ATA接口、單片機(jī)相連;單片機(jī)除了與現(xiàn)場(chǎng)可編程門陣列FPGA(3)相連以外,還與電子鑰匙相連。
3.根據(jù)權(quán)利要求2所述的加密裝置,其特征在于,所述的電子鑰匙(2),是一個(gè)帶加密功能的存儲(chǔ)芯片。
全文摘要
本發(fā)明涉及基于動(dòng)態(tài)密鑰的硬盤數(shù)據(jù)加密方法及其裝置。該方法有主密鑰和分區(qū)密鑰,當(dāng)需要對(duì)硬盤上某個(gè)扇區(qū)的數(shù)據(jù)進(jìn)行加密時(shí),對(duì)主密鑰、分區(qū)密鑰和扇區(qū)LBA地址混合后的數(shù)據(jù)進(jìn)行散列運(yùn)算,并以散列運(yùn)算的結(jié)果作為加密/解密密鑰,對(duì)硬盤數(shù)據(jù)進(jìn)行序列加密或者分組加密。本裝置是串聯(lián)在計(jì)算機(jī)主板和硬盤之間的設(shè)備,它由加密卡和電子鑰匙組成。加密卡主要由單片機(jī)和FPGA芯片組成。對(duì)寫入硬盤的數(shù)據(jù)進(jìn)行加密,并對(duì)從硬盤讀出的數(shù)據(jù)進(jìn)行解密。通過(guò)利用ATA指令集中的保留命令碼,在不增加額外電纜連接的情況下,實(shí)現(xiàn)了主機(jī)與加密卡中單片機(jī)之間的通信。該加密裝置具有自檢、密鑰備份與恢復(fù)等功能。本發(fā)明可廣泛應(yīng)用于需要保密的計(jì)算機(jī)系統(tǒng)中。
文檔編號(hào)G06F21/00GK1924835SQ20061010508
公開(kāi)日2007年3月7日 申請(qǐng)日期2006年9月1日 優(yōu)先權(quán)日2006年9月1日
發(fā)明者伍衛(wèi)國(guó), 王本中, 劉軼, 李思, 張群, 錢德沛, 田敏 申請(qǐng)人:西安交通大學(xué), 長(zhǎng)春卓爾信息安全產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
尼勒克县| 商水县| 尉氏县| 左贡县| 广西| 阳东县| 新乡市| 万荣县| 任丘市| 奈曼旗| 宁都县| 高阳县| 凤冈县| 泰州市| 陆河县| 五莲县| 谢通门县| 宽甸| 新宾| 南宫市| 布尔津县| 黑龙江省| 玛曲县| 望城县| 安徽省| 镇安县| 修水县| 红桥区| 昭通市| 平度市| 兴义市| 治多县| 昔阳县| 新昌县| 栾川县| 鹤壁市| 余干县| 合山市| 永登县| 长武县| 苗栗市|