一種基于bios加密的安全硬盤、數(shù)據(jù)加密及解密方法
【技術領域】
[0001]本發(fā)明涉及數(shù)據(jù)硬盤技術領域,特別涉及一種基于B1S加密的安全硬盤、數(shù)據(jù)加密及解密方法。
【背景技術】
[0002]當前,計算機中通常包含兩類硬盤,一類是系統(tǒng)盤,另一類則是數(shù)據(jù)盤。當需要對計算機中的數(shù)據(jù)進行加解密時,通常是利用密碼輸入軟件輸入的密碼對數(shù)據(jù)進行加解密處理的。
[0003]由于密碼輸入軟件需要在系統(tǒng)盤完全啟動后才能正常運行,也即,密碼輸入軟件需要在系統(tǒng)盤完全啟動后才能進行密碼的輸入,從而使得系統(tǒng)盤在啟動時無需也無法進行解密處理。既然無法進行解密處理,也就意味著無法事先對系統(tǒng)盤進行加密處理,可見,現(xiàn)有技術中的密碼輸入軟件無法實現(xiàn)對系統(tǒng)盤進行數(shù)據(jù)加解密處理,從而無法保證系統(tǒng)盤中的數(shù)據(jù)安全性。
[0004]另外,由于密碼輸入軟件作為一種軟件,容易受到計算機病毒的感染,同時,密碼輸入軟件所對應的密碼輸入程序也存在被反編譯的可能性,可見,現(xiàn)有技術中對數(shù)據(jù)進行加密時,密碼的安全性較低。
[0005]綜上所述可以看出,如何提高系統(tǒng)盤的數(shù)據(jù)安全性,并提高密碼的安全性是目前亟待解決的問題。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明的目的是提供一種基于B1S加密的安全硬盤、數(shù)據(jù)加密及解密方法,提高了系統(tǒng)盤的數(shù)據(jù)安全性,并提高了密碼的安全性。其具體方案如下:
[0007]一種基于B1S加密的安全硬盤,應用于設置有B1S的計算機,所述安全硬盤包括第一密碼接收模塊、第二密碼接收模塊、密鑰生成模塊、密鑰存儲模塊、數(shù)據(jù)接收模塊和數(shù)據(jù)存儲模塊;
[0008]所述第一密碼接收模塊,用于接收并存儲通過所述B1S設定的用戶密碼,將所述用戶密碼發(fā)送到所述密鑰生成模塊;
[0009]所述第二密碼接收模塊,用于接收通過所述B1S輸入的數(shù)據(jù)讀取密碼;
[0010]所述密鑰生成模塊,用于根據(jù)密鑰生成算法,對所述用戶密碼進行密鑰生成處理,得到加密密鑰,并將所述加密密鑰發(fā)送到所述密鑰存儲模塊;
[0011]所述密鑰存儲模塊,用于存儲所述加密密鑰;
[0012]所述數(shù)據(jù)接收模塊,用于接收通過所述計算機輸入的原始明文數(shù)據(jù),并將所述原始明文數(shù)據(jù)發(fā)送到所述數(shù)據(jù)存儲模塊;
[0013]所述數(shù)據(jù)存儲模塊,用于獲取所述密鑰存儲模塊中存儲的所述加密密鑰,利用所述加密密鑰對所述原始明文數(shù)據(jù)進行數(shù)據(jù)加密處理,得到相應的密文數(shù)據(jù),并存儲所述密文數(shù)據(jù);當所述數(shù)據(jù)讀取密碼與所述用戶密碼相一致時,允許所述計算機訪問與所述密文數(shù)據(jù)對應的明文數(shù)據(jù)。
[0014]優(yōu)選的,所述密鑰生成算法為MD5算法或SHA-1算法。
[0015]優(yōu)選的,所述第一密碼接收模塊,還用于接收并存儲通過所述B1S設定的管理員密碼;
[0016]所述數(shù)據(jù)存儲模塊,還用于當所述數(shù)據(jù)讀取密碼與所述管理員密碼相一致時,允許所述計算機訪問與所述密文數(shù)據(jù)對應的明文數(shù)據(jù)。
[0017]優(yōu)選的,所述安全硬盤還包括密碼監(jiān)控模塊;
[0018]所述密碼監(jiān)控模塊,用于對所述第二密碼接收模塊接收到的數(shù)據(jù)讀取密碼進行監(jiān)控,如果所述第二密碼接收模塊接收到的數(shù)據(jù)讀取密碼與所述用戶密碼或所述管理員密碼不一致的連續(xù)次數(shù)大于預設次數(shù),則產(chǎn)生數(shù)據(jù)擦除指令,并將所述數(shù)據(jù)擦除指令發(fā)送到所述數(shù)據(jù)存儲模塊,以擦除所述數(shù)據(jù)存儲模塊中保存的所有數(shù)據(jù)。
[0019]優(yōu)選的,所述密碼監(jiān)控模塊,還用于對所述第一密碼接收模塊進行監(jiān)控,當監(jiān)測到所述第一密碼接收模塊沒有存儲用戶密碼或管理員密碼時,則允許所述計算機直接訪問所述數(shù)據(jù)存儲模塊中存儲的數(shù)據(jù)。
[0020]本發(fā)明還公開了一種基于B1S加密的數(shù)據(jù)加密方法,應用于所述安全硬盤;所述數(shù)據(jù)加密方法包括:
[0021]接收通過計算機輸入的原始明文數(shù)據(jù);
[0022]獲取預先存儲的基于用戶密碼得到的加密密鑰;所述用戶密碼為通過所述計算機的B1S設定得到的密碼;基于所述用戶密碼得到所述加密密鑰的過程包括,根據(jù)密鑰生成算法對所述用戶密碼進行密鑰生成處理,得到所述加密密鑰;
[0023]利用所述加密密鑰對所述原始明文數(shù)據(jù)進行數(shù)據(jù)加密處理,得到相應的密文數(shù)據(jù),并將所述密文數(shù)據(jù)存儲到所述安全硬盤。
[0024]優(yōu)選的,所述根據(jù)密鑰生成算法對所述用戶密碼進行密鑰生成處理,得到所述加密密鑰的過程包括:
[0025]根據(jù)密鑰生成算法,對所述用戶密碼進行第一次密鑰生成處理,得到初始加密密鑰;根據(jù)所述密鑰生成算法,對所述初始加密密鑰進行第二次密鑰生成處理,得到所述加密密鑰。
[0026]本發(fā)明還公開了一種基于B1S加密的數(shù)據(jù)解密方法,應用于所述安全硬盤;所述數(shù)據(jù)解密方法包括:
[0027]接收通過計算機的B1S輸入的數(shù)據(jù)讀取密碼;
[0028]判斷所述數(shù)據(jù)讀取密碼與預先存儲的通過所述B1S設定的用戶密碼是否一致,如果是,則允許所述計算機訪問與所述安全硬盤中預先存儲的密文數(shù)據(jù)對應的明文數(shù)據(jù)。
[0029]優(yōu)選的,所述數(shù)據(jù)解密方法還包括,當所述數(shù)據(jù)讀取密碼與預先存儲的通過所述B1S設定的管理員密碼相一致時,允許所述計算機訪問與所述密文數(shù)據(jù)對應的明文數(shù)據(jù)。
[0030]優(yōu)選的,所述數(shù)據(jù)解密方法還包括,對接收到的數(shù)據(jù)讀取密碼進行監(jiān)控,如果接收到的數(shù)據(jù)讀取密碼與所述用戶密碼或所述管理員密碼不一致的連續(xù)次數(shù)大于預設次數(shù),則產(chǎn)生數(shù)據(jù)擦除指令,以擦除所述安全硬盤中保存的所有數(shù)據(jù)。
[0031]本發(fā)明中,用于生成加密密鑰的用戶密碼和用于進行數(shù)據(jù)解密處理的數(shù)據(jù)讀取密碼均是通過計算機的B1S (B1S,也即Basic Input Output System,基本輸入輸出系統(tǒng))進行輸入的,這意味著用戶密碼和數(shù)據(jù)讀取密碼均是在系統(tǒng)完全啟動之前進行輸入的,從而實現(xiàn)了在系統(tǒng)完全啟動之前,對安全硬盤中的已經(jīng)加密的數(shù)據(jù)進行解密的目的。這樣,本發(fā)明公開的安全硬盤便可作為能夠?qū)崿F(xiàn)數(shù)據(jù)加密的系統(tǒng)盤,從而提高了計算機系統(tǒng)盤的數(shù)據(jù)安全性。同時,用于生成加密密鑰的用戶密碼和用于進行數(shù)據(jù)解密的數(shù)據(jù)讀取密碼是在系統(tǒng)完全啟動之前通過B1S輸入的,由于系統(tǒng)沒有完全啟動,所以此時病毒軟件無法運行,這樣在輸入用戶密碼和數(shù)據(jù)讀取密碼時就不存在密碼被計算機病毒感染和被反編譯的情況,從而大大提高了本發(fā)明中對數(shù)據(jù)進行加解密處理的密碼的安全性。
【附圖說明】
[0032]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0033]圖1為本發(fā)明實施例公開的一種基于B1S加密的安全硬盤結構示意圖;
[0034]圖2為本發(fā)明實施例公開的一種基于B1S加密的數(shù)據(jù)加密方法流程圖;
[0035]圖3為本發(fā)明實施例公開的一種基于B1S加密的數(shù)據(jù)解密方法流程圖。
【具體實施方式】
[0036]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0037]本發(fā)明實施例公開了一種基于B1S加密的安全硬盤,應用于設置有B1S的計算機。參見圖1所示,該安全硬盤10包括第一密碼接收模塊101、第二密碼接收模塊102、密鑰生成模塊103、密鑰存儲模塊104、數(shù)據(jù)接收模塊105和數(shù)據(jù)存儲模塊106 ;
[0038]第一密碼接收模塊101,用于接收并存儲通過B1S設定的用戶密碼,將用戶密碼發(fā)送到密鑰生成模塊103 ;
[0039]第二密碼接收模塊102,用于接收通過B1S輸入的數(shù)據(jù)讀取密碼;
[0040]密鑰生成模塊103,用于根據(jù)密鑰生成算法,對用戶密碼進行密鑰生成處理,得到加密密鑰,并將加密密鑰發(fā)送到密鑰存儲模塊104 ;
[0041]密鑰存儲模塊104,用于存儲加密密鑰;
[0042]數(shù)據(jù)接收模塊105,用于接收通過計算機輸入的原始明文數(shù)據(jù),并將原始明文數(shù)據(jù)發(fā)送到數(shù)據(jù)存儲模塊106 ;
[0043]數(shù)據(jù)存儲模塊106,用于獲取密鑰存儲模塊104中存儲的加密密鑰,利用加密密鑰對原始明文數(shù)據(jù)進行數(shù)據(jù)加密處理,得到相應的密文數(shù)據(jù),并存儲密文數(shù)據(jù);當數(shù)據(jù)讀取密碼與用戶密碼相一致時,允許計算機訪問與密文數(shù)據(jù)對應的明文數(shù)據(jù)。
[0044]其中,優(yōu)選的密鑰生成算法為MD5 (MD5,即Message Digest Algorithm 5,信息-摘要算法5)算法或SHA-1 (SHA-1,Secure Hash Algorithm,安全散列算法)算法。
[0045]上述第一密碼接收模塊101,還用于接收并存儲通過B1S設定的管理員密碼;數(shù)據(jù)存儲模塊106,還用于當數(shù)據(jù)讀取密碼與管理員密碼相一致時,允許計算機訪問與密文數(shù)據(jù)對應的明文數(shù)據(jù)。這樣,當數(shù)據(jù)讀取密碼與用戶密碼和管理員密碼中的任一密碼相一致時,均可允許計算機訪問與密文數(shù)據(jù)對應的明文數(shù)據(jù)。其中,所謂的允許計算機訪問與密文數(shù)據(jù)對應的明文數(shù)據(jù),也即是當數(shù)據(jù)讀取密碼與用戶密碼或管理員密碼相一致時,便可獲取密鑰存儲模塊104中存儲的加密密鑰,利用該加密密鑰對密文數(shù)據(jù)進行解密,得到相應的明文數(shù)據(jù)。從這里可以看出,對原始明文數(shù)據(jù)進行加密的密鑰和對密文數(shù)據(jù)進行解密的密鑰是相同的,這也就意味著,本實施例中對數(shù)據(jù)進行加解密的算法實質(zhì)是一種對稱加密算法。
[0046]本實施例中,為了盡量避免惡意啟動計算機的行為,安全硬盤10還包括密碼監(jiān)控模塊;密碼監(jiān)控模塊用于對第二密碼接收模塊102接收到的數(shù)據(jù)讀取密碼進行監(jiān)控,如果第二密碼