一種固態(tài)硬盤的保護(hù)裝置制造方法
【專利摘要】本發(fā)明公開了一種固態(tài)硬盤的保護(hù)裝置,包括固態(tài)硬盤、主控芯片電池、升壓電路、多個壓力傳感器,所述固態(tài)硬盤包括閃存芯片和電路板,所述閃存芯片焊接在所述電路板上,所述壓力傳感器設(shè)置在所述閃存芯片與電路板之間,所述閃存芯片的四個邊下方分別設(shè)有對應(yīng)的壓力傳感器,所述電池對所述主控芯片和升壓電路供電,所述升壓電路的輸出端分別與所述閃存芯片的多個輸入輸出口連接,所述升壓電路、多個傳感器分別與所述主控芯片電連接,所述主控芯片用于檢測所處傳感器發(fā)送的壓力值,若所述壓力值小于設(shè)定壓力閾值,則控制所述升壓電路工作,所述升壓電路用于對所述多個輸入輸出口輸出電壓以損壞所述閃存芯片。本發(fā)明可以有效保護(hù)閃存芯片被拆解。
【專利說明】一種固態(tài)硬盤的保護(hù)裝置
【【技術(shù)領(lǐng)域】】
[0001]本發(fā)明涉及硬盤領(lǐng)域,具體涉及一種固態(tài)硬盤的保護(hù)裝置。
【【背景技術(shù)】】
[0002]隨著信息產(chǎn)業(yè)的飛速發(fā)展,硬盤由于容量大、使用方便,逐漸成為人們存儲信息的主要介質(zhì)。傳統(tǒng)的機(jī)械硬盤尋址操作主要是靠盤片旋和磁頭臂的擺動來完成,這兩種運動都屬于機(jī)械運動,局限性很大。固態(tài)硬盤內(nèi)部沒有機(jī)械運動,讀寫延遲極小,速度有了質(zhì)的飛越。固態(tài)硬盤成為未來存儲設(shè)備的主流。
[0003]但是將大量信息集中存放在固態(tài)硬盤中,安全性無法得到保障,一旦固態(tài)硬盤丟失,其帶來的損失是無法估量的。因此對固態(tài)硬盤內(nèi)的信息進(jìn)行加密至關(guān)重要。專利CN101281503提供了一種完整的硬件加密解決方案,但是其認(rèn)證方式采用普通的密碼認(rèn)證,安全性能不高;外圍電路十分復(fù)雜,需要很多芯片才能完成加密功能。在使用加解密功能時,要同時攜帶加密模塊和硬盤,一旦丟失加解密模塊,合法用戶也無法讀出硬盤內(nèi)信息。
[0004]雖然對硬盤數(shù)據(jù)加密能起到一定的保護(hù)作用,但也面臨被解密的可能。另外,即使不解密,也可以暴力拆解硬盤來獲取硬盤上的數(shù)據(jù),數(shù)據(jù)安全存在很大的隱患。專利CN101859283A設(shè)計了一種內(nèi)置射頻識別RFID加密的固態(tài)硬盤控制方法,缺點是必須隨身攜帶射頻卡,且射頻卡的安全級別低,很容易被盜取。
【
【發(fā)明內(nèi)容】
】
[0005]為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種固態(tài)硬盤的保護(hù)裝置,當(dāng)固態(tài)硬盤中的閃存芯片被拆解時,升壓電路可以有效破壞閃存芯片。
[0006]一種固態(tài)硬盤的保護(hù)裝置,包括固態(tài)硬盤和主控芯片,所述固態(tài)硬盤包括閃存芯片和電路板,所述固態(tài)硬盤的保護(hù)裝置還包括電池、升壓電路、多個壓力傳感器,所述閃存芯片焊接在所述電路板上,所述壓力傳感器設(shè)置在所述閃存芯片與電路板之間,所述閃存芯片的四個邊下方分別設(shè)有對應(yīng)的壓力傳感器,所述電池對所述主控芯片和升壓電路供電,所述升壓電路的輸出端分別與所述閃存芯片的多個輸入輸出口連接,所述升壓電路、多個傳感器分別與所述主控芯片電連接,所述主控芯片用于檢測所處傳感器發(fā)送的壓力值,若所述壓力值小于設(shè)定壓力閾值,則控制所述升壓電路工作,所述升壓電路用于對所述多個輸入輸出口輸出電壓以損壞所述閃存芯片。
[0007]優(yōu)選地,所述閃存芯片的四個角下方設(shè)置有對應(yīng)的壓力傳感器。
[0008]優(yōu)選地,還包括認(rèn)證輸入模塊,所述主控芯片包括處理器、密鑰解密模塊和數(shù)據(jù)加密模塊;
[0009]所述認(rèn)證輸入模塊用于接收用戶的輸入認(rèn)證;
[0010]所述處理器用于將所述輸入認(rèn)證與存儲的設(shè)定認(rèn)證進(jìn)行比較,若所述輸入認(rèn)證與所述認(rèn)證相匹配,則判斷所述輸入認(rèn)證通過認(rèn)證,否則所述密鑰解密模塊和數(shù)據(jù)加密模塊不工作;
[0011]所述密鑰解密模塊用于,當(dāng)所述輸入認(rèn)證通過認(rèn)證后,將存儲的密鑰進(jìn)行解密得到明文密鑰;
[0012]所述數(shù)據(jù)加密模塊用于,當(dāng)所述輸入認(rèn)證通過認(rèn)證后,根據(jù)所述明文密鑰將從計算機(jī)獲得的數(shù)據(jù)進(jìn)行加密,得到加密后的數(shù)據(jù)存儲到固態(tài)硬盤。
[0013]優(yōu)選地,所述主控芯片還包括SATA控制器,所述SATA控制器用于將從計算機(jī)接收到的數(shù)據(jù)幀進(jìn)行檢測幀類型,并提取幀內(nèi)信息,若所述幀內(nèi)信息是數(shù)據(jù),則將所述幀內(nèi)信息發(fā)送給所述數(shù)據(jù)加密模塊進(jìn)行加密。
[0014]優(yōu)選地,還包括認(rèn)證輸入模塊,所述主控芯片包括處理器、密鑰解密模塊和數(shù)據(jù)解密模塊;
[0015]所述認(rèn)證輸入模塊用于接收用戶的輸入認(rèn)證;
[0016]所述處理器用于將所述輸入認(rèn)證與存儲的設(shè)定認(rèn)證進(jìn)行比較,若所述輸入認(rèn)證與所述認(rèn)證相匹配,則判斷所述輸入認(rèn)證通過認(rèn)證,否則所述密鑰解密模塊和數(shù)據(jù)解密模塊不工作;
[0017]所述密鑰解密模塊用于,當(dāng)所述輸入認(rèn)證通過認(rèn)證后,將存儲的密鑰進(jìn)行解密得到明文密鑰;
[0018]所述數(shù)據(jù)解密模塊用于,當(dāng)所述輸入認(rèn)證通過認(rèn)證后,根據(jù)所述明文密鑰將從硬盤獲得的數(shù)據(jù)進(jìn)行解密,得到解密后的數(shù)據(jù)發(fā)送到計算機(jī)。
[0019]優(yōu)選地,所述主控芯片還包括SATA控制器,所述SATA控制器用于將從固態(tài)硬盤接收到的數(shù)據(jù)幀進(jìn)行檢測幀類型,并提取幀內(nèi)信息,若所述幀內(nèi)信息是數(shù)據(jù),則將所述幀內(nèi)信息發(fā)送給所述數(shù)據(jù)解密模塊進(jìn)行解密。
[0020]優(yōu)選地,所述主控芯片包括虹膜接口、指紋接口和密碼輸入接口,所述認(rèn)證輸入模塊包括虹膜攝像頭、指紋傳感器和密碼輸入裝置;
[0021]所述虹膜接口、指紋接口和密碼輸入接口分別與虹膜攝像頭、指紋傳感器和密碼輸入裝置連接;
[0022]所述虹膜攝像頭用于獲取用戶的虹膜圖像,所述處理器用于獲取所述虹膜圖像并提取虹膜圖像特征,將所述虹膜圖像特征與存儲的虹膜特征模板進(jìn)行比較,若所述虹膜圖像特征與存儲的虹膜特征模板相匹配,則判斷所述虹膜圖像通過認(rèn)證;其中,所述虹膜特征模板通過如下步驟得到:注冊時,所述處理器多次獲取用戶的虹膜圖像,并對獲取的多個虹膜圖像之間進(jìn)行自匹配,若通過自匹配則選取所述多個虹膜圖像中的一個的虹膜圖像特征作為所述虹膜特征模板;
[0023]所述指紋傳感器用于獲取用戶的指紋圖像,所述處理器用于獲取所述指紋圖像并提取指紋圖像特征,將所述指紋圖像特征與存儲的指紋特征模板進(jìn)行比較,若所述指紋圖像特征與存儲的指紋特征模板相匹配,則判斷所述指紋圖像通過認(rèn)證;其中,所述指紋特征模板通過如下步驟得到:注冊時,所述處理器多次獲取用戶的指紋圖像,并對獲取的多個指紋圖像之間進(jìn)行自匹配,若通過自匹配則選取所述多個指紋圖像中的一個的指紋圖像特征作為所述指紋特征模板;
[0024]所述密碼輸入裝置用于獲取密碼口令,所述處理器用于將所述密碼口令與存儲的設(shè)定密碼口令進(jìn)行比較,若所述密碼口令與設(shè)定密碼口令相匹配,則判斷所述密碼口令通過認(rèn)證;其中,所述設(shè)定密碼口令通過如下步驟得到:注冊時將用戶輸入的密碼口令作為設(shè)定密碼口令;
[0025]若所述認(rèn)證輸入模塊沒有通過認(rèn)證,所述硬盤不允許進(jìn)行讀寫數(shù)據(jù);
[0026]所述虹膜圖像通過認(rèn)證,用戶可以獲得最高的硬盤讀寫操作權(quán)限;
[0027]所述指紋圖像通過認(rèn)證,用戶可以獲得較高的硬盤讀寫操作權(quán)限;
[0028]所述密碼口令通過認(rèn)證,用戶可以獲得最低的硬盤讀寫操作權(quán)限;
[0029]所述指紋接口和密碼輸入接口是分時復(fù)用的。
[0030]通過在閃存芯片的四個邊的下方都設(shè)置壓力傳感器,只要非法用戶不首先拆除輸入輸出口一邊的話,而是暴力拆解閃存芯片的其余任何一邊,壓力傳感器檢測的壓力值會變小,主控芯片檢測到壓力值變小后,可以控制升壓電路工作,升壓電路輸出可以使閃存芯片的存儲介質(zhì)破壞的電壓(例如10V),進(jìn)而非法用戶無法讀取里面存儲的數(shù)據(jù)。否則,如果壓力傳感器不是設(shè)置在升壓電路的輸出口與輸入輸出口連接的地方,并且非法用戶首先拆解的輸入輸出口一邊的話(例如在輸入輸出口一邊的對邊),那么壓力傳感器檢測得到的壓力值可能不會出現(xiàn)變化,因為此時其他三邊仍然是固定的,而輸入輸出口一邊已經(jīng)被非法拆卸而與升壓電路脫離連接,此后即使主控芯片檢測到壓力傳感器的壓力值的變化,并控制升壓電路工作,升壓電路也無法破壞閃存芯片,從而保護(hù)裝置失效。
【【專利附圖】
【附圖說明】】
[0031]圖1是本發(fā)明【具體實施方式】的主控芯片結(jié)構(gòu)方框圖;
[0032]圖2是本發(fā)明【具體實施方式】的帶自銷毀模塊的主控芯片結(jié)構(gòu)示意圖;
[0033]圖3是本發(fā)明【具體實施方式】的自銷毀過程電路連接圖;
[0034]圖4是本發(fā)明【具體實施方式】的加解密流程圖;
[0035]圖5是本發(fā)明【具體實施方式】的SATA傳輸流程圖;
[0036]圖6是本發(fā)明【具體實施方式】的閃存文件系統(tǒng)結(jié)構(gòu)圖;
[0037]圖7是本發(fā)明【具體實施方式】的AES256加密流程圖;
[0038]圖8是本發(fā)明【具體實施方式】的Flash寫操作流程;
[0039]圖9是本發(fā)明【具體實施方式】的AES256解密流程圖;
[0040]圖10是本發(fā)明【具體實施方式】的Flash讀操作流程。
【【具體實施方式】】
[0041]以下對發(fā)明的較佳實施例作進(jìn)一步詳細(xì)說明。
[0042]請參看附圖1為本發(fā)明【具體實施方式】的主控芯片結(jié)構(gòu)方框圖。主控芯片是整個固態(tài)硬盤的核心部件,其主要功能是接受外部系統(tǒng)發(fā)送的讀寫請求,根據(jù)內(nèi)部固化的管理策略對閃存陣列進(jìn)行若干讀出、寫入、擦除、加密、銷毀操作,實現(xiàn)數(shù)據(jù)的存取。
[0043]高速緩存控制器(SDRAM Contooller),主要作用是數(shù)據(jù)暫存,以提高數(shù)據(jù)讀出的命中率。閃存芯片控制器(Flash Cont1ller),采用多通道的組織形式,不同通道之間的操作室完全并行的,同一通道內(nèi)不同芯片間的操作采用流水線的方式進(jìn)行訪問。SATA控制器(SATA Controller)負(fù)責(zé)控制SATA接口,支持最新的SATA III通訊協(xié)議,向下兼容SATA I和SATA II通訊協(xié)議。
[0044]主控芯片采用總線式拓補(bǔ)結(jié)構(gòu),設(shè)有帶總線控制的高速總線Bus,所有功能模塊都直接掛在該總線上,并在總線控制器的統(tǒng)一控制下進(jìn)行數(shù)據(jù)和命令傳輸。
[0045]主控芯片內(nèi)嵌作為處理器的ARM CORTEX-A15架構(gòu)的CPU,并配有其專用的程序存儲器Program RAM和數(shù)據(jù)存儲器DATA RAM。CPU僅下達(dá)傳輸命令,不參與數(shù)據(jù)傳輸工作。主控軟件在該CPU內(nèi)運行,它接收外部系統(tǒng)輸入的讀寫請求,根據(jù)一定的管理策略向相關(guān)模塊下達(dá)操作指令,模塊完成操作后將操作結(jié)果返回給主控軟件。
[0046]實施例一:
[0047]當(dāng)非法用戶強(qiáng)行對固態(tài)硬盤暴力拆解時,主控芯片CPU控制升壓電路產(chǎn)生擊穿電壓,破壞最底層NAND Flash存儲介質(zhì),確保硬盤上的數(shù)據(jù)不被泄露。
[0048]如圖2所示,在本發(fā)明的一個實施例中,固態(tài)硬盤的保護(hù)裝置包括固態(tài)硬盤、主控芯片、電池、升壓電路和4個壓力傳感器,固態(tài)硬盤包括閃存芯片和電路板,閃存芯片焊接在電路板上,壓力傳感器設(shè)置在閃存芯片與電路板之間,閃存芯片的四個邊下方分別設(shè)有對應(yīng)的壓力傳感器,電池對主控芯片和升壓電路供電,升壓電路的輸出端分別與閃存芯片的多個輸入輸出口連接,升壓電路、多個傳感器分別與主控芯片電連接,所述主控芯片用于檢測所處傳感器發(fā)送的壓力值,若所述壓力值小于設(shè)定壓力閾值,則控制所述升壓電路工作,所述升壓電路用于對所述多個輸入輸出口輸出電壓以損壞所述閃存芯片。
[0049]當(dāng)非法用戶無法破解固態(tài)硬盤的軟件或硬件加密時,往往需要通過暴力拆解閃存芯片,并進(jìn)行讀取里面的數(shù)據(jù)。圖3所示,如果壓力傳感器不是設(shè)置在升壓電路的輸出口與輸入輸出口連接的地方,并且非法用戶首先拆解的輸入輸出口一邊的話(例如在輸入輸出口一邊的對邊),那么壓力傳感器檢測得到的壓力值可能不會出現(xiàn)變化,因為此時其他三邊仍然是固定的,而輸入輸出口一邊已經(jīng)被非法拆卸而與升壓電路脫離連接,此后即使主控芯片檢測到壓力傳感器的壓力值的變化,并控制升壓電路工作,升壓電路也無法破壞閃存芯片,從而保護(hù)裝置失效。而通過在閃存芯片的四個邊的下方都設(shè)置壓力傳感器,只要非法用戶不首先拆除輸入輸出口一邊的話,而是暴力拆解閃存芯片的其余任何一邊,壓力傳感器檢測的壓力值會變小,主控芯片檢測到壓力值變小后,可以控制升壓電路工作,升壓電路輸出可以使閃存芯片的存儲介質(zhì)破壞的電壓(例如10V),進(jìn)而非法用戶無法讀取里面存儲的數(shù)據(jù)。
[0050]實施例二:
[0051]主控芯片上集成了加/解密模塊,用于對主機(jī)和硬盤芯片之間傳輸?shù)臄?shù)據(jù)進(jìn)行加/解密?,F(xiàn)在加/解密硬盤的解決方案,大多橋接一個加/解密模塊,在該模塊中實現(xiàn)數(shù)據(jù)的加密和解密。但是這樣存在一個很大的問題,橋接一個模塊,必然對數(shù)據(jù)流的速度產(chǎn)生極大的影響;且數(shù)據(jù)的傳輸增加了額外的開銷,增加了誤碼率的潛在風(fēng)險。本發(fā)明實施例中的加/解密模塊所涉及的認(rèn)證模塊、加/解密模塊全都集成在硬盤內(nèi)部的主控芯片上,極大地減小了額外的軟硬件開銷,數(shù)據(jù)流向和原來相同,并不會影響數(shù)據(jù)的傳輸速度。具體如下:
[0052]I)認(rèn)證輸入模塊,用于接收用戶的輸入認(rèn)證;
[0053]系統(tǒng)上電后,如果認(rèn)證通過,則解密系統(tǒng)中的Encrypted Encrypt1n Key(加密狀態(tài)的密鑰);如果認(rèn)證失敗,系統(tǒng)無法正常工作。一旦Encrypted Encrypt1n Key被解密為Clear Encrypt1n Key (解密狀態(tài)的密鑰),則該密鑰可用于本系統(tǒng),對固態(tài)硬盤和PC之間的數(shù)據(jù)流進(jìn)行正常的加/解密。
[0054]在本發(fā)明的一個實施例中,認(rèn)證輸入模塊包括三個認(rèn)證子模塊,分別是:虹膜認(rèn)證模塊、指紋認(rèn)證模塊和口令認(rèn)證模塊,系統(tǒng)上電后由用戶輸入上述三種認(rèn)證方式的一種,系統(tǒng)根據(jù)用戶輸入的認(rèn)證方式進(jìn)行相應(yīng)的識別。不同的認(rèn)證有不同的權(quán)限:虹膜認(rèn)證的權(quán)限最高,可以行使全部的讀寫功能;指紋認(rèn)證其次,可以行使全部的讀功能和部分寫功能,如可以對固態(tài)硬盤添加新數(shù)據(jù),但是不能對原有的數(shù)據(jù)進(jìn)行編輯、復(fù)制和更改等操作;口令認(rèn)證的安全等級最低,通過認(rèn)證的用戶只能行使只讀的權(quán)限。通過對三種認(rèn)證模式優(yōu)先級的限制可以實現(xiàn)賦予不同用戶不同權(quán)限,從而提高認(rèn)證過程的安全性和可靠性,另外不同權(quán)限自動對應(yīng)對硬盤數(shù)據(jù)的不同操作,同時也提高了認(rèn)證過程后續(xù)操作的方便性。對三種認(rèn)證模式具體說明,如下:
[0055]本設(shè)備上電,虹膜攝像頭(Iris Camera) iCAM7000負(fù)責(zé)采集當(dāng)前虹膜圖像,然后通過虹膜接口(Iris IF)送入ARM處理器中,ARM處理器負(fù)責(zé)提取當(dāng)前圖像特征。在注冊階段,采集三次虹膜,進(jìn)行自匹配,如匹配通過,則將其中一個虹膜特征模板存入只讀存儲器(Read Only Memory, ROM)中;在認(rèn)證階段,采集用戶虹膜,ARM處理器對該虹膜進(jìn)行特征提取,并與注冊時的模板匹配,匹配通過,由芯片完成加密密鑰初始化及加密解密過程,匹配不通過,認(rèn)證結(jié)束,硬盤不允許數(shù)據(jù)讀寫。
[0056]本設(shè)備上電,指紋傳感器(Fingerprint Sensor) AT77C104B負(fù)責(zé)采集當(dāng)前指紋圖像,然后通過指紋接口(Fingerprint IF)送入ARM處理器中,ARM處理器負(fù)責(zé)提取當(dāng)前圖像特征。在注冊階段,輸入三次指紋,進(jìn)行自匹配,如匹配通過,則將其中一個指紋特征模板存入ROM中;在認(rèn)證階段,用戶輸入指紋,ARM處理器對該指紋進(jìn)行特征提取,并與注冊時的模板匹配,匹配通過,由芯片完成加密密鑰初始化及加密解密過程,匹配不通過,認(rèn)證結(jié)束,硬盤不允許數(shù)據(jù)讀寫。
[0057]本設(shè)備上電,通過上位機(jī)⑶I界面輸入密碼口令,然后通過指紋接口送入ARM處理器中,密碼口令接口和指紋接口是分時復(fù)用的。在注冊階段,用戶輸入密碼口令,并將該口令存儲到ROM中;認(rèn)證階段,用戶輸入口令,ARM處理器將輸入的口令和注冊時的口令匹配,匹配通過,由芯片完成加密密鑰初始化及加密解密過程,匹配不通過,認(rèn)證結(jié)束,硬盤不允許數(shù)據(jù)讀寫。
[0058]另外,為加強(qiáng)系統(tǒng)的安全性,更優(yōu)選地,本系統(tǒng)所用密鑰不在系統(tǒng)制作時預(yù)先制訂,而是在系統(tǒng)用戶注冊時制訂屬于本用戶和系統(tǒng)的非統(tǒng)一數(shù)據(jù)加/解密密鑰,以此使每個系統(tǒng)的加/解密密鑰都是獨特的,從而防止通過密鑰窮舉破解系統(tǒng)并獲取系統(tǒng)的存儲內(nèi)容。
[0059]2)讀/寫Flash芯片數(shù)據(jù)模塊,根據(jù)解密后的密鑰對硬盤接收的數(shù)據(jù)加密并將加密后的數(shù)據(jù)寫入Flash芯片中,或根據(jù)解密后的密鑰對Flash芯片中讀取的數(shù)據(jù)解密并將解密后的數(shù)據(jù)傳回主機(jī),密鑰在系統(tǒng)用戶注冊時生成;
[0060]在本發(fā)明的一個實施例中,加解密算法采用AES256算法,具有高可靠性。AES加密算法即密碼學(xué)中的高級加密標(biāo)準(zhǔn)(Advanced Encrypt1n Standard, AES), AES運算分組長度固定,數(shù)據(jù)塊的長度為128位,密鑰的長度可以為128位、192位、256位,密鑰越長加密強(qiáng)度越大,加密算法運算的輪數(shù)越多,加密的數(shù)據(jù)越安全。
[0061]請參看附圖4為本發(fā)明【具體實施方式】的加解密流程圖,圖5為本發(fā)明【具體實施方式】的SATA傳輸流程圖。SATA通訊協(xié)議分為物理層、鏈路層、傳輸層和應(yīng)用層。
[0062]物理層發(fā)送器可提供一個100歐姆的差分匹配終端;可為鏈路層提供40路的輸Λ ;接收器提供10歐姆的差分匹配終端;從串行碼流中提取數(shù)據(jù)或時鐘;對串行碼流解串;可檢測Κ28.5逗號字符;提供確定的OOB信號發(fā)送和檢測機(jī)制;可使用OOB信號協(xié)議初始化SATA接口,并使用OOB序列進(jìn)行速率匹配。
[0063]當(dāng)傳輸層請求發(fā)送幀時,鏈路層實現(xiàn)如下功能:與對等鏈路層協(xié)商,避免主機(jī)和設(shè)備同時請求發(fā)送數(shù)據(jù);從傳輸層接收數(shù)據(jù);計算數(shù)據(jù)CRC,進(jìn)行擾碼、編碼;添加幀頭、幀尾等信息;發(fā)送幀,進(jìn)行流量控制;接收對等鏈路層的幀接收信息,向傳輸層報告?zhèn)鬏斖瓿苫蜴溌穼印⑽锢韺渝e誤。當(dāng)物理層接收到幀時,實現(xiàn)如下功能:移除幀頭、幀尾和校驗信息;對數(shù)據(jù)進(jìn)行解碼、解擾、計算CRC ;向?qū)Φ孺溌穼禹憫?yīng)幀接收信息,向傳輸層報告接收正確或鏈路層、物理層錯誤。
[0064]當(dāng)需要發(fā)送FIS時,傳輸層完成以下功能:根據(jù)FIS請求組建幀;將FIS按照正確的順序擺放;接收鏈路層的幀傳輸請求,將FIS發(fā)往鏈路層;接收來自鏈路層的幀應(yīng)答;對上層請求發(fā)送的幀,返回完成或錯誤狀態(tài)。當(dāng)接收到FIS時,傳輸層提供以下功能:接收來自FIS的幀;檢測FIS類型;根據(jù)FIS類型分開FIS內(nèi)容;對于上層請求發(fā)送的幀,返回完成或錯誤狀態(tài)。
[0065]應(yīng)用層主要負(fù)責(zé)完成所有ATA命令的解析,并向處理器報告狀態(tài)。應(yīng)用層向處理提供一個寄存器訪問窗口,處理器根據(jù)中斷和狀態(tài)信息訪問設(shè)置此寄存器窗口,從而實現(xiàn)主機(jī)命令,完成相應(yīng)的操作。
[0066]由于閃存芯片硬件結(jié)構(gòu)的特殊性,必須構(gòu)建專門的文件系統(tǒng)對閃存芯片進(jìn)行管理,請參看附圖6為本發(fā)明【具體實施方式】的閃存文件系統(tǒng)結(jié)構(gòu)圖。閃存文件系統(tǒng)可以分為三層:
[0067]文件系統(tǒng):文件系統(tǒng)以文件的形式管理NAND Flash上存儲的數(shù)據(jù),功能類似于普通磁盤上的通用文件系統(tǒng);它通過FTL提供的塊設(shè)備讀寫接口,封裝文件管理操作,向上層提供文件操作接口。一般情況下,這一層采用標(biāo)準(zhǔn)的通用的文件系統(tǒng)。
[0068]閃存轉(zhuǎn)換層(Flash Translat1n Layer, FTL):閃存轉(zhuǎn)換層把Flash芯片模擬成設(shè)備,隱藏芯片的擦除操作,只提供讀、寫操作,使傳統(tǒng)文件直接存儲在Flash上。FTL層提供的塊設(shè)備讀寫接口,封裝文件管理功能,并向上層提供標(biāo)準(zhǔn)的文件操作接口,該層主要針對NAND Flash的特性,封裝包括損耗均衡、地址映射和無效塊回收等一些復(fù)雜的管理算法,使得上層操作Flash就和操作普通磁盤一樣。
[0069]閃存驅(qū)動層主要連接物理硬件:封裝NAND Flash具體的物理操作,驅(qū)動閃存單元,并且執(zhí)行一些特殊的操作,如壞塊管理和ECC校驗等。
[0070]SATA控制器與SATA插座相連,閃存控制器與Flash芯片相連,通過這兩個接口完成固態(tài)硬盤和PC之間的數(shù)據(jù)交換。
[0071]下面對寫過程簡要敘述。完成數(shù)據(jù)流的串并轉(zhuǎn)換、時鐘恢復(fù)、上電初始化,變成SATA協(xié)議中標(biāo)準(zhǔn)的32位并行數(shù)據(jù);之后進(jìn)行8B/10B解碼、解擾、CRC校驗,然后去除SOF/EOF ;檢測幀類型,提取出幀內(nèi)信息。
[0072]最后數(shù)據(jù)送往加/解密模塊中,經(jīng)過S盒變換SubBytes、行移位變換ShiftRows、列混淆變換MixColumns和輪密鑰加變換AddRoundKey進(jìn)行加密,過程請參看附圖7,為本發(fā)明【具體實施方式】的AES256加密流程圖。SubBytes變換是AES算法中唯一的非線性字節(jié)變換嗎,起到混亂的作用,決定AES算法安全性的關(guān)鍵,S盒變換處理單位為字節(jié);ShiftR0Ws變換是AES算法的線性運算,它對中間狀態(tài)進(jìn)行循環(huán)右移位操作,中間狀態(tài)矩陣行數(shù)移位量與密鑰長度有關(guān);MiXColumnS變換是AES算法的線性變換,處理單位為狀態(tài)矩陣的一列;AddRoundKey變換使用中間狀態(tài)與輪密鑰進(jìn)行異或運算,數(shù)據(jù)塊的長度與輪密鑰的長度相同。經(jīng)過這四個步驟,從PC上寫入的明文轉(zhuǎn)變成了密文。
[0073]加密后的數(shù)據(jù)通過閃存控制器,在ARM的控制下,根據(jù)地址映射、無效塊回收、緩存管理和損耗均衡等管理策略,將數(shù)據(jù)寫入到Flash芯片中。具體的過程請參看附圖8,為本發(fā)明【具體實施方式】的Flash寫操作流程。數(shù)據(jù)流通過SATA控制器:ARM向控制器發(fā)送寫請求,控制器查看SDRAM Controller控制下的高速緩存中是否有舊數(shù)據(jù)的副本。如果有,則直接把數(shù)據(jù)寫入到高速緩存中,并置dirty位(臟位),高速緩存進(jìn)行后續(xù)的回寫操作;如果沒有,閃存轉(zhuǎn)換層計算所要寫的數(shù)據(jù)的具體的物理地址,ARM根據(jù)所得到的物理地址,把數(shù)據(jù)寫入到閃存塊中,并對高速緩存進(jìn)行相應(yīng)的更新,結(jié)束這一次寫請求。
[0074]通過寫過程,將PC上的明文轉(zhuǎn)變成密文寫入到Flash芯片中。
[0075]下面對讀過程簡要敘述。過程請參看附圖10,為本發(fā)明【具體實施方式】的Flash讀操作流程。ARM發(fā)送讀請求,然后查看高速緩存內(nèi)是否有需要的數(shù)據(jù)。如果有需要的數(shù)據(jù),則直接把數(shù)據(jù)傳給閃存控制器;如果沒有,則閃存控制器向閃存轉(zhuǎn)換層發(fā)出命令,由閃存轉(zhuǎn)換層經(jīng)過計算后得到訪問數(shù)據(jù)的物理地址,閃存控制器根據(jù)所得的地址從對應(yīng)的Flash芯片中取出數(shù)據(jù),把數(shù)據(jù)傳送給閃存控制器并更新高速緩存。
[0076]當(dāng)從Flash芯片中讀出的數(shù)據(jù)出現(xiàn)在Bus總線上,通過加/解密模塊進(jìn)行解密。解密算法是加密算法的逆過程,算法結(jié)構(gòu)與加密算法相似,解密過程經(jīng)過逆行移位變換InvShiftRows、逆S盒變換InvSubBytes、輪密鑰加變換AddRoundKey和逆列混淆變換InvMixColumns,過程請參考附圖9,為本發(fā)明【具體實施方式】的AES256解密流程圖。InvShiftRows是ShiftRows的逆過程,對中間狀態(tài)進(jìn)行行移位;InvSubBytes是SubBytes逆過程,先對字節(jié)的值進(jìn)行逆仿射變換,然后在進(jìn)行乘法逆替換;AddR0UndKey使用中間狀態(tài)和輪密鑰進(jìn)行異或運算;InvMixColumns是MixColumns的逆過程,處理單位為狀態(tài)矩陣的一列。經(jīng)過解密過程,從Flash芯片上讀出的密文轉(zhuǎn)變成明文。
[0077]解密后的數(shù)據(jù)送往SATA控制器中,封裝成幀格式,然后添加S0F/E0F,生成CRC、解擾,最后進(jìn)行8B/10B編碼送往物理層;在物理層中完成數(shù)據(jù)的并串轉(zhuǎn)換、差分輸出,通過SATA插座將數(shù)據(jù)送往PC。
[0078]通過讀過程,將Flash芯片中的密文轉(zhuǎn)變成明文讀出到PC中。
[0079]本發(fā)明所公開的加/解密系統(tǒng)都集成在主控芯片中,大大簡化了外圍電路,縮小了整個系統(tǒng)的體積;另外,認(rèn)證時采用三種優(yōu)先級不同的認(rèn)證方式,可以賦予不同用戶不同權(quán)限,從而提高認(rèn)證過程的安全性和可靠性,另外不同權(quán)限自動對應(yīng)對硬盤數(shù)據(jù)的不同操作,同時也提高了認(rèn)證過程后續(xù)操作的方便性;再者,本系統(tǒng)所用密鑰不在系統(tǒng)制作時預(yù)先制訂,而是在系統(tǒng)用戶注冊時制訂屬于本用戶和系統(tǒng)的獨一無二的加/解密密鑰,進(jìn)一步加強(qiáng)系統(tǒng)的安全性。通過加/解密模塊的集成使得本系統(tǒng)的安全系數(shù)更高了,即使芯片被拆解了,也不會使硬盤上的數(shù)據(jù)呈解密狀態(tài)。
[0080]以上內(nèi)容是結(jié)合具體的優(yōu)選實施方式對本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡單推演或替換,都應(yīng)當(dāng)視為屬于本發(fā)明由所提交的權(quán)利要求書確定的專利保護(hù)范圍。
【權(quán)利要求】
1.一種固態(tài)硬盤的保護(hù)裝置,包括固態(tài)硬盤和主控芯片,所述固態(tài)硬盤包括閃存芯片和電路板,其特征是,所述固態(tài)硬盤的保護(hù)裝置還包括電池、升壓電路、多個壓力傳感器,所述閃存芯片焊接在所述電路板上,所述壓力傳感器設(shè)置在所述閃存芯片與電路板之間,所述閃存芯片的四個邊下方分別設(shè)有對應(yīng)的壓力傳感器,所述電池對所述主控芯片和升壓電路供電,所述升壓電路的輸出端分別與所述閃存芯片的多個輸入輸出口連接,所述升壓電路、多個傳感器分別與所述主控芯片電連接,所述主控芯片用于檢測所處傳感器發(fā)送的壓力值,若所述壓力值小于設(shè)定壓力閾值,則控制所述升壓電路工作,所述升壓電路用于對所述多個輸入輸出口輸出電壓以損壞所述閃存芯片。
2.如權(quán)利要求1所述的固態(tài)硬盤的保護(hù)裝置,其特征是,所述閃存芯片的四個角下方設(shè)置有對應(yīng)的壓力傳感器。
3.如權(quán)利要求1所述的固態(tài)硬盤的保護(hù)裝置,其特征是,還包括認(rèn)證輸入模塊,所述主控芯片包括處理器、密鑰解密模塊和數(shù)據(jù)加密模塊; 所述認(rèn)證輸入模塊用于接收用戶的輸入認(rèn)證; 所述處理器用于將所述輸入認(rèn)證與存儲的設(shè)定認(rèn)證進(jìn)行比較,若所述輸入認(rèn)證與所述認(rèn)證相匹配,則判斷所述輸入認(rèn)證通過認(rèn)證,否則所述密鑰解密模塊和數(shù)據(jù)加密模塊不工作; 所述密鑰解密模塊用于,當(dāng)所述輸入認(rèn)證通過認(rèn)證后,將存儲的密鑰進(jìn)行解密得到明文密鑰; 所述數(shù)據(jù)加密模塊用于,當(dāng)所述輸入認(rèn)證通過認(rèn)證后,根據(jù)所述明文密鑰將從計算機(jī)獲得的數(shù)據(jù)進(jìn)行加密,得到加密后的數(shù)據(jù)存儲到固態(tài)硬盤。
4.如權(quán)利要求3所述的固態(tài)硬盤的保護(hù)裝置,其特征是, 所述主控芯片還包括SATA控制器,所述SATA控制器用于將從計算機(jī)接收到的數(shù)據(jù)幀進(jìn)行檢測幀類型,并提取幀內(nèi)信息,若所述幀內(nèi)信息是數(shù)據(jù),則將所述幀內(nèi)信息發(fā)送給所述數(shù)據(jù)加密模塊進(jìn)行加密。
5.如權(quán)利要求1所述的固態(tài)硬盤的保護(hù)裝置,其特征是,還包括認(rèn)證輸入模塊,所述主控芯片包括處理器、密鑰解密模塊和數(shù)據(jù)解密模塊; 所述認(rèn)證輸入模塊用于接收用戶的輸入認(rèn)證; 所述處理器用于將所述輸入認(rèn)證與存儲的設(shè)定認(rèn)證進(jìn)行比較,若所述輸入認(rèn)證與所述認(rèn)證相匹配,則判斷所述輸入認(rèn)證通過認(rèn)證,否則所述密鑰解密模塊和數(shù)據(jù)解密模塊不工作; 所述密鑰解密模塊用于,當(dāng)所述輸入認(rèn)證通過認(rèn)證后,將存儲的密鑰進(jìn)行解密得到明文密鑰; 所述數(shù)據(jù)解密模塊用于,當(dāng)所述輸入認(rèn)證通過認(rèn)證后,根據(jù)所述明文密鑰將從硬盤獲得的數(shù)據(jù)進(jìn)行解密,得到解密后的數(shù)據(jù)發(fā)送到計算機(jī)。
6.如權(quán)利要求5所述的固態(tài)硬盤的保護(hù)裝置,其特征是, 所述主控芯片還包括SATA控制器,所述SATA控制器用于將從固態(tài)硬盤接收到的數(shù)據(jù)幀進(jìn)行檢測幀類型,并提取幀內(nèi)信息,若所述幀內(nèi)信息是數(shù)據(jù),則將所述幀內(nèi)信息發(fā)送給所述數(shù)據(jù)解密模塊進(jìn)行解密。
7.如權(quán)利要求3至6任一所述的固態(tài)硬盤的保護(hù)裝置,其特征是: 所述主控芯片包括虹膜接口、指紋接口和密碼輸入接口,所述認(rèn)證輸入模塊包括虹膜攝像頭、指紋傳感器和密碼輸入裝置; 所述虹膜接口、指紋接口和密碼輸入接口分別與虹膜攝像頭、指紋傳感器和密碼輸入裝置連接; 所述虹膜攝像頭用于獲取用戶的虹膜圖像,所述處理器用于獲取所述虹膜圖像并提取虹膜圖像特征,將所述虹膜圖像特征與存儲的虹膜特征模板進(jìn)行比較,若所述虹膜圖像特征與存儲的虹膜特征模板相匹配,則判斷所述虹膜圖像通過認(rèn)證;其中,所述虹膜特征模板通過如下步驟得到:注冊時,所述處理器多次獲取用戶的虹膜圖像,并對獲取的多個虹膜圖像之間進(jìn)行自匹配,若通過自匹配則選取所述多個虹膜圖像中的一個的虹膜圖像特征作為所述虹膜特征模板; 所述指紋傳感器用于獲取用戶的指紋圖像,所述處理器用于獲取所述指紋圖像并提取指紋圖像特征,將所述指紋圖像特征與存儲的指紋特征模板進(jìn)行比較,若所述指紋圖像特征與存儲的指紋特征模板相匹配,則判斷所述指紋圖像通過認(rèn)證;其中,所述指紋特征模板通過如下步驟得到:注冊時,所述處理器多次獲取用戶的指紋圖像,并對獲取的多個指紋圖像之間進(jìn)行自匹配,若通過自匹配則選取所述多個指紋圖像中的一個的指紋圖像特征作為所述指紋特征模板; 所述密碼輸入裝置用于獲取密碼口令,所述處理器用于將所述密碼口令與存儲的設(shè)定密碼口令進(jìn)行比較,若所述密碼口令與設(shè)定密碼口令相匹配,則判斷所述密碼口令通過認(rèn)證;其中,所述設(shè)定密碼口令通過如下步驟得到:注冊時將用戶輸入的密碼口令作為設(shè)定密碼口令; 若所述認(rèn)證輸入模塊沒有通過認(rèn)證,所述硬盤不允許進(jìn)行讀寫數(shù)據(jù); 所述虹膜圖像通過認(rèn)證,用戶可以獲得最高的硬盤讀寫操作權(quán)限; 所述指紋圖像通過認(rèn)證,用戶可以獲得較高的硬盤讀寫操作權(quán)限; 所述密碼口令通過認(rèn)證,用戶可以獲得最低的硬盤讀寫操作權(quán)限; 所述指紋接口和密碼輸入接口是分時復(fù)用的。
【文檔編號】G06F21/32GK104182674SQ201410395943
【公開日】2014年12月3日 申請日期:2014年8月12日 優(yōu)先權(quán)日:2014年8月12日
【發(fā)明者】馬建設(shè), 張琛, 程雪岷, 林家用 申請人:清華大學(xué)深圳研究生院