一種基于u盤(pán)的對(duì)計(jì)算機(jī)sata硬盤(pán)解凍并加密碼鎖的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及計(jì)算機(jī)安全領(lǐng)域,尤其涉及一種基于U盤(pán)的對(duì)計(jì)算機(jī)SATA硬盤(pán)解凍并加密碼鎖的方法及系統(tǒng)。
【背景技術(shù)】
[0002]SATA硬盤(pán)具有接口簡(jiǎn)單、功耗低、傳輸速率高、數(shù)據(jù)校驗(yàn)措施更為完善等特點(diǎn),其已取代傳統(tǒng)的IDE接口硬盤(pán),成為了現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)中的不可缺少的數(shù)據(jù)存儲(chǔ)部件。
[0003]SATA硬盤(pán)同樣遵循ATA傳輸協(xié)議規(guī)范,完成和計(jì)算機(jī)之間的數(shù)據(jù)傳輸。在ATA傳輸協(xié)議命令集中,有關(guān)硬盤(pán)的數(shù)據(jù)安全性能特征(Security feature)命令有:設(shè)置密碼并自動(dòng)加鎖(Security Set Password)、解鎖(Security Unlock)、解除密碼(SecurityDisable Password)、冷凍(Security Freeze Lock)、數(shù)據(jù)清除(Security Erase Prepare和Security Erase Unit)。計(jì)算機(jī)通過(guò)硬盤(pán)控制器接口向SATA硬盤(pán)發(fā)出這些數(shù)據(jù)安全命令,使SATA硬盤(pán)進(jìn)入相應(yīng)的安全狀態(tài),從而防止非法讀寫(xiě)硬盤(pán),保護(hù)了硬盤(pán)的用戶(hù)數(shù)據(jù)安全。
[0004]設(shè)置密碼并自動(dòng)加鎖(Security Set Password)命令:對(duì)SATA硬盤(pán)進(jìn)行密碼設(shè)置,SATA硬盤(pán)控制器接收命令后保存密碼并成功加鎖,處于用戶(hù)數(shù)據(jù)鎖定狀態(tài)。該狀態(tài)下僅允許發(fā)送和執(zhí)行解鎖、數(shù)據(jù)清除、硬盤(pán)診斷測(cè)試、非用戶(hù)數(shù)據(jù)讀寫(xiě)命令,不允許讀寫(xiě)硬盤(pán)中的用戶(hù)數(shù)據(jù)。
[0005]解鎖(Security Unlock)命令:對(duì)加鎖后的SATA硬盤(pán)發(fā)送密碼,SATA硬盤(pán)控制器驗(yàn)證密碼正確后成功解鎖,處于非用戶(hù)數(shù)據(jù)鎖定狀態(tài),允許發(fā)送和執(zhí)行所有命令,計(jì)算機(jī)可正常讀寫(xiě)SATA硬盤(pán)。當(dāng)SATA硬盤(pán)掉電后解鎖實(shí)效,仍處于用戶(hù)數(shù)據(jù)鎖定狀態(tài)。
[0006]解除密碼(Security Disable Password)命令:在發(fā)出解鎖命令后,再向SATA硬盤(pán)本命令和密碼,則SATA硬盤(pán)控制器驗(yàn)證密碼正確后成功解除密碼,掉電后處于非用戶(hù)數(shù)據(jù)鎖定狀態(tài)。該狀態(tài)下允許發(fā)送和執(zhí)行所有命令,計(jì)算機(jī)可正常讀寫(xiě)SATA硬盤(pán)。
[0007]冷凍(Security Freeze Lock)命令:使處于非用戶(hù)數(shù)據(jù)鎖定狀態(tài)的SATA硬盤(pán)進(jìn)入安全性能命令冷凍狀態(tài),防止非法進(jìn)行加鎖、解鎖、解除密碼、數(shù)據(jù)清除等操作。該狀態(tài)下允許發(fā)送和執(zhí)行除了設(shè)置密碼并自動(dòng)加鎖、解鎖、解除密碼、數(shù)據(jù)清除命令外的其它命令,計(jì)算機(jī)可正常讀寫(xiě)SATA硬盤(pán)。冷凍狀態(tài)在SATA硬盤(pán)掉電或硬復(fù)位后自動(dòng)解除。
[0008]數(shù)據(jù)清除(SecurityErase Prepare 和 Security Erase Unit)命令:無(wú)論 SATA硬盤(pán)處于非用戶(hù)數(shù)據(jù)鎖定還是用戶(hù)數(shù)據(jù)鎖定狀態(tài),向SATA硬盤(pán)發(fā)送本命令和加鎖時(shí)的密碼,SATA硬盤(pán)控制器驗(yàn)證密碼正確后,即將所有的用戶(hù)數(shù)據(jù)清除掉。
[0009]在現(xiàn)代計(jì)算機(jī)中,當(dāng)系統(tǒng)加電初始化后,主板B1S對(duì)SATA硬盤(pán)的用戶(hù)數(shù)據(jù)安全性能狀態(tài)處理方式有兩種:一是用戶(hù)數(shù)據(jù)鎖定狀態(tài),通過(guò)發(fā)送Security Set Password命令設(shè)置密碼后將SATA硬盤(pán)加鎖,爾后的每次開(kāi)機(jī)時(shí)需要用戶(hù)輸入密碼,密碼正確則可正常訪問(wèn)SATA硬盤(pán),否則拒絕讀寫(xiě)SATA硬盤(pán)的用戶(hù)數(shù)據(jù)。這種方式需要用戶(hù)牢記密碼,且增加了用戶(hù)的繁瑣與不便,故大部分PC不再采用。二是冷凍狀態(tài),通過(guò)對(duì)SATA硬盤(pán)發(fā)送FreezeLock命令,使SATA硬盤(pán)處于安全性能命令冷凍狀態(tài),不再執(zhí)行其它的安全性能命令,計(jì)算機(jī)可任意讀寫(xiě)SATA硬盤(pán)的用戶(hù)數(shù)據(jù)。冷凍狀態(tài)在SATA硬盤(pán)掉電或硬復(fù)位后自動(dòng)解除,這是目前大部分PC機(jī)對(duì)SATA硬盤(pán)所采用的處理方式。
【發(fā)明內(nèi)容】
[0010]針對(duì)【背景技術(shù)】中出現(xiàn)的問(wèn)題,本發(fā)明提出一種基于U盤(pán)的對(duì)計(jì)算機(jī)SATA硬盤(pán)解凍并加密碼鎖的方法及系統(tǒng),本方案中的硬盤(pán)鎖是一種U盤(pán)形態(tài)的類(lèi)鎖裝置,與硬盤(pán)綁定使用。它綜合使用硬件和軟件技術(shù),能夠?qū)⒂?jì)算機(jī)硬盤(pán)鎖定。硬盤(pán)被鎖住后,非授權(quán)用戶(hù)不能讀寫(xiě)硬盤(pán),不能獲取任何硬盤(pán)介質(zhì)數(shù)據(jù)。只有計(jì)算機(jī)加電啟動(dòng)時(shí)插入U(xiǎn)盤(pán),對(duì)硬盤(pán)解鎖后,計(jì)算機(jī)才能正常使用。
[0011]本方案提供的基于U盤(pán)的對(duì)計(jì)算機(jī)SATA硬盤(pán)解凍并加密碼鎖的方法,SATA密碼鎖通過(guò)USB接口和計(jì)算機(jī)主板連接,所述方法包括以下步驟:
步驟a.獲得SATA硬盤(pán)對(duì)應(yīng)的主板SATA插座的I/O 口地址;
步驟b.解凍并循環(huán)檢測(cè)所述SATA硬盤(pán)是否存在;
步驟c.對(duì)所述SATA硬盤(pán)進(jìn)行加鎖;
步驟d.所述加鎖完畢后進(jìn)行使用。
[0012]優(yōu)選的是,所述步驟a包括以下步驟:
計(jì)算機(jī)系統(tǒng)加電初始化;
主板B1S跳轉(zhuǎn)到所述U盤(pán)啟動(dòng);
硬盤(pán)控制器接口配置數(shù)據(jù)模塊讀取主板B1S中的硬盤(pán)控制器接口配置數(shù)據(jù),獲得SATA硬盤(pán)對(duì)應(yīng)的主板SATA插座的I/O 口地址;
關(guān)閉計(jì)算機(jī),將所述SATA硬盤(pán)的數(shù)據(jù)線從SATA硬盤(pán)上拔下。
[0013]在上述任一方案中優(yōu)選的是,所述步驟b包括以下步驟:
再次對(duì)計(jì)算機(jī)系統(tǒng)加電;
主板B1S初始化后跳轉(zhuǎn)到所述U盤(pán)啟動(dòng);
系統(tǒng)軟件提示“請(qǐng)將SATA硬盤(pán)的數(shù)據(jù)線插入硬盤(pán)”,SATA硬盤(pán)檢測(cè)模塊進(jìn)行硬盤(pán)存在檢測(cè),若檢測(cè)到了硬盤(pán)則轉(zhuǎn)到下步,否則提示“請(qǐng)?jiān)侔尾逡淮蜸ATA硬盤(pán)的數(shù)據(jù)線”,當(dāng)再次拔下、延遲幾秒再插入SATA硬盤(pán)的數(shù)據(jù)線后,軟件循環(huán)進(jìn)行檢測(cè),直到檢測(cè)到了硬盤(pán)為止。
[0014]在上述任一方案中優(yōu)選的是,所述步驟c包括以下步驟:
系統(tǒng)軟件提示“請(qǐng)輸入最多32位的密碼”;
用戶(hù)進(jìn)行密碼設(shè)置,系統(tǒng)軟件接收并保存;
SATA硬盤(pán)安全性命令發(fā)送模塊通過(guò)主板SATA硬盤(pán)I/O 口地址,發(fā)送設(shè)置密碼并將自動(dòng)加鎖命令連同用戶(hù)輸入的密碼發(fā)送至SATA硬盤(pán);
硬盤(pán)控制器保存該密碼完成加鎖,所述SATA硬盤(pán)自動(dòng)處于用戶(hù)數(shù)據(jù)鎖定狀態(tài);系統(tǒng)停機(jī),須重新啟動(dòng)或者關(guān)閉計(jì)算機(jī)。
[0015]在上述任一方案中優(yōu)選的是,所述步驟d包括以下步驟:
重新啟動(dòng)計(jì)算機(jī)后,主板B1S初始化后跳轉(zhuǎn)到U盤(pán)啟動(dòng);
SATA硬盤(pán)檢測(cè)模塊進(jìn)行SATA硬盤(pán)狀態(tài)檢測(cè),若檢測(cè)到硬盤(pán)未加鎖/冷凍狀態(tài),則提示“硬盤(pán)未加鎖”,轉(zhuǎn)至步驟a,若檢測(cè)到硬盤(pán)已加鎖,則SATA硬盤(pán)安全性命令發(fā)送模塊通過(guò)主板SATA硬盤(pán)I/O 口地址發(fā)送解鎖命令和保存的用戶(hù)密碼至SATA硬盤(pán);
SATA硬盤(pán)控制器驗(yàn)證密碼正確后成功解鎖,計(jì)算機(jī)正常讀寫(xiě)SATA硬盤(pán);
所述SATA硬盤(pán)安全性命令發(fā)送模塊發(fā)送冷凍命令,使所述SATA硬盤(pán)處于冷凍狀態(tài),不再執(zhí)行其它的安全性能命令;
將程序運(yùn)行權(quán)跳轉(zhuǎn)到主板硬盤(pán)引導(dǎo)操作系統(tǒng),進(jìn)行正常讀寫(xiě)SATA硬盤(pán);
將所述U盤(pán)從主板USB 口中拔下,直到計(jì)算機(jī)完成了正常讀寫(xiě)SATA硬盤(pán)操作,硬復(fù)位或關(guān)機(jī)后再插入,在下一次重啟計(jì)算機(jī)時(shí)對(duì)SATA硬盤(pán)進(jìn)行解鎖。
[0016]本發(fā)明還提供了一種基于U盤(pán)的對(duì)計(jì)算機(jī)SATA硬盤(pán)解凍并加密碼鎖的系統(tǒng),SATA密碼鎖通過(guò)USB接口和計(jì)算機(jī)主板連接,所述SATA密碼鎖包括標(biāo)準(zhǔn)U盤(pán)硬件邏輯和固件,所述SATA密碼鎖進(jìn)一步包括硬盤(pán)控制器接口配置數(shù)據(jù)模塊、SATA硬盤(pán)檢測(cè)模塊、SATA硬盤(pán)安全性命令發(fā)送模塊。
[0017]優(yōu)選的是,所述硬盤(pán)控制器接口配置數(shù)據(jù)模塊用于讀取主板B1S中的硬盤(pán)控制器接口配置數(shù)據(jù),獲得SATA硬盤(pán)對(duì)應(yīng)的主板SATA插座的I/O 口地址。
[0018]在上述任一方案中優(yōu)選的是,所述SATA硬盤(pán)檢測(cè)模塊用于進(jìn)行硬盤(pán)存在性檢測(cè)。
[0019]在上述任一方案中優(yōu)選的是,所述SATA硬盤(pán)安全性命令發(fā)送模塊通過(guò)主板SATA硬盤(pán)I/O 口地址發(fā)送設(shè)置密碼并自動(dòng)加鎖命令連同用戶(hù)輸入的密碼發(fā)送至SATA硬盤(pán)。
[0020]在上述任一方案中優(yōu)選的是,所述SATA密碼鎖和SATA硬盤(pán)——對(duì)應(yīng)綁定。
[0021]在上述任一方案中優(yōu)選的是,所