利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法及構(gòu)建的可信存儲(chǔ)系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明提出了利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法及構(gòu)建的可信存儲(chǔ)系統(tǒng),可信存儲(chǔ)系統(tǒng)具有兩個(gè)閃存設(shè)備,它們的閃存轉(zhuǎn)換層獨(dú)立開(kāi)發(fā)、互不共享設(shè)計(jì);主機(jī)發(fā)出寫(xiě)請(qǐng)求時(shí),控制器計(jì)算待寫(xiě)數(shù)據(jù)的校驗(yàn)碼并將其存儲(chǔ)于校驗(yàn)碼表中,數(shù)據(jù)和其邏輯頁(yè)碼被傳遞給兩個(gè)閃存設(shè)備進(jìn)行存儲(chǔ);主機(jī)發(fā)出讀請(qǐng)求時(shí),控制器將邏輯頁(yè)碼傳遞給兩個(gè)閃存設(shè)備,兩個(gè)閃存設(shè)備分別向控制器返回?cái)?shù)據(jù),控制器分別計(jì)算兩份數(shù)據(jù)的校驗(yàn)碼并分別與校驗(yàn)碼表中該頁(yè)碼的校驗(yàn)碼對(duì)比,若不一致,通知主機(jī)閃存設(shè)備不可信,若至少有一個(gè)一致,將該數(shù)據(jù)傳輸給主機(jī)。本發(fā)明利用兩個(gè)獨(dú)立生產(chǎn)的閃存設(shè)備,寫(xiě)時(shí)進(jìn)行校驗(yàn)碼計(jì)算和記錄,讀時(shí)進(jìn)行校驗(yàn)碼的重計(jì)算和驗(yàn)證,提高了使用者信息的安全性。
【專(zhuān)利說(shuō)明】利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法及構(gòu)建的可信存儲(chǔ)系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)信息存儲(chǔ)【技術(shù)領(lǐng)域】,具體涉及一種利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法及構(gòu)建的可信存儲(chǔ)系統(tǒng)。
【背景技術(shù)】
[0002]CPU處理速度與存儲(chǔ)設(shè)備的讀寫(xiě)速度之間日益增大的差距一直是計(jì)算機(jī)發(fā)展的挑戰(zhàn),近年來(lái),基于磁盤(pán)的存儲(chǔ)設(shè)備有向基于閃存技術(shù)的存儲(chǔ)設(shè)備(簡(jiǎn)稱(chēng)“閃存設(shè)備”,例如固態(tài)硬盤(pán)SSD等)發(fā)展的趨勢(shì)。閃存設(shè)備廣泛應(yīng)用于個(gè)人設(shè)備例如MP3、手機(jī)、平板電腦、筆記本電腦,工作站,服務(wù)器,以及政府和軍隊(duì)的通訊設(shè)備等,與基于磁盤(pán)的存儲(chǔ)設(shè)備相比,閃存設(shè)備具有更低的讀寫(xiě)延遲,更低的功耗,以及更好的耐沖擊性。
[0003]但是,閃存設(shè)備的閃存轉(zhuǎn)換層(FTL,F(xiàn)lash Translat1n Layer)是由生產(chǎn)廠商研發(fā),并作為知識(shí)產(chǎn)權(quán)保護(hù)的,使用者無(wú)法知道其設(shè)計(jì)細(xì)節(jié)??紤]到生產(chǎn)廠商均為國(guó)外的公司,使用者無(wú)法得知其設(shè)計(jì)是否有隱藏的后門(mén),如果其設(shè)計(jì)有隱藏的后門(mén),并在特定的條件下被觸發(fā)后,會(huì)主動(dòng)破壞數(shù)據(jù),無(wú)法保證數(shù)據(jù)和系統(tǒng)的安全,給使用者的信息安全造成極大的威脅。因此,如何利用閃存設(shè)備構(gòu)建可信的存儲(chǔ)系統(tǒng),是一個(gè)亟需解決的技術(shù)問(wèn)題。
【發(fā)明內(nèi)容】
[0004]為了克服上述現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的是提供一種利用基于閃存技術(shù)的存儲(chǔ)設(shè)備構(gòu)建可信的存儲(chǔ)系統(tǒng)的方法及構(gòu)建的可信存儲(chǔ)系統(tǒng),能夠快速高效地確定由閃存設(shè)備構(gòu)建的存儲(chǔ)系統(tǒng)是否可信,提高了信息安全。
[0005]為了實(shí)現(xiàn)本發(fā)明的上述目的,本發(fā)明提供了一種利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法,其利用的存儲(chǔ)裝置設(shè)置有與控制器相連的兩個(gè)閃存設(shè)備,所述兩個(gè)閃存設(shè)備的閃存轉(zhuǎn)換層獨(dú)立開(kāi)發(fā)、互不共享設(shè)計(jì);在所述的可信存儲(chǔ)系統(tǒng)中,
[0006]當(dāng)主機(jī)發(fā)出寫(xiě)請(qǐng)求時(shí),其中,寫(xiě)請(qǐng)求包括要寫(xiě)入的邏輯頁(yè)碼和要寫(xiě)入的數(shù)據(jù),所述控制器計(jì)算所述數(shù)據(jù)的校驗(yàn)碼,并存儲(chǔ)于校驗(yàn)碼表中所述邏輯頁(yè)碼對(duì)應(yīng)的位置中,校驗(yàn)碼表存儲(chǔ)于主機(jī)或是控制器中;同時(shí),所述寫(xiě)請(qǐng)求被分別傳遞給兩個(gè)閃存設(shè)備進(jìn)行存儲(chǔ);
[0007]當(dāng)主機(jī)發(fā)出讀請(qǐng)求時(shí),其中,讀請(qǐng)求包括要讀的邏輯頁(yè)碼,控制器將所述邏輯頁(yè)碼傳遞給兩個(gè)閃存設(shè)備,獲得其返回的存儲(chǔ)于該頁(yè)碼的數(shù)據(jù),控制器分別計(jì)算來(lái)自?xún)蓚€(gè)閃存設(shè)備的數(shù)據(jù)的校驗(yàn)碼,并分別與校驗(yàn)碼表中該頁(yè)碼的校驗(yàn)碼進(jìn)行對(duì)比,如果其中某個(gè)閃存設(shè)備返回的數(shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表存儲(chǔ)的記錄不一致,控制器將其數(shù)據(jù)拋棄并通知主機(jī)相應(yīng)閃存設(shè)備不可信,如果至少有一個(gè)閃存設(shè)備返回的數(shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表存儲(chǔ)的記錄一致,控制器將相應(yīng)數(shù)據(jù)傳輸給主機(jī)。
[0008]在本發(fā)明的利用閃存設(shè)備構(gòu)建可信的存儲(chǔ)系統(tǒng)的方法中,利用兩個(gè)具有獨(dú)立開(kāi)發(fā)互不共享設(shè)計(jì)的閃存轉(zhuǎn)換層的閃存設(shè)備,在寫(xiě)的時(shí)候進(jìn)行校驗(yàn)碼計(jì)算和記錄,在讀的時(shí)候進(jìn)行校驗(yàn)碼計(jì)算和驗(yàn)證,能夠高效快速地確定閃存設(shè)備的可信性,有利于提高使用者的信息安全。
[0009]在本發(fā)明的一種優(yōu)選實(shí)施方式中,主機(jī)開(kāi)機(jī)時(shí),當(dāng)主機(jī)發(fā)出讀請(qǐng)求時(shí),主機(jī)將要讀的邏輯頁(yè)碼傳輸給控制器,控制器從閃存設(shè)備中讀取數(shù)據(jù)并與校驗(yàn)碼表中該頁(yè)碼的校驗(yàn)碼比對(duì);當(dāng)主機(jī)發(fā)出寫(xiě)請(qǐng)求時(shí),控制器計(jì)算數(shù)據(jù)的校驗(yàn)碼并將其更新至校驗(yàn)碼表中。
[0010]在本發(fā)明的一種優(yōu)選實(shí)施方式中,當(dāng)主機(jī)關(guān)機(jī)時(shí),控制器將校驗(yàn)碼表認(rèn)證加密后傳輸給兩個(gè)閃存設(shè)備實(shí)現(xiàn)校驗(yàn)碼表的關(guān)機(jī)存儲(chǔ),當(dāng)主機(jī)開(kāi)機(jī)時(shí),控制器從兩個(gè)閃存設(shè)備中讀取認(rèn)證加密后的校驗(yàn)碼數(shù)據(jù),解密認(rèn)證確認(rèn)無(wú)誤后,開(kāi)始系統(tǒng)的正常工作。
[0011]在本發(fā)明的一種優(yōu)選實(shí)施方式中,所述校驗(yàn)碼加密步驟為:
[0012]當(dāng)主機(jī)關(guān)機(jī)時(shí),控制器將校驗(yàn)碼表認(rèn)證加密后,分別傳輸給兩個(gè)閃存設(shè)備實(shí)現(xiàn)碼表的關(guān)機(jī)存儲(chǔ),認(rèn)證加密使用的秘鑰存儲(chǔ)于主機(jī)的密碼安全模塊,
[0013]當(dāng)主機(jī)開(kāi)機(jī)時(shí),所述控制器從密碼安全模塊取出上次關(guān)機(jī)時(shí)存儲(chǔ)的認(rèn)證加密秘鑰,并從兩個(gè)閃存設(shè)備中分別讀取認(rèn)證加密后的校驗(yàn)碼表,進(jìn)行解密和認(rèn)證,實(shí)現(xiàn)校驗(yàn)碼表的安全恢復(fù),如果其中一個(gè)硬盤(pán)提供的校驗(yàn)碼表認(rèn)證失敗,則向主機(jī)報(bào)告其不可信,解密認(rèn)證后,確保無(wú)誤的校驗(yàn)碼表將存儲(chǔ)于主機(jī)或控制器中,用于認(rèn)證加密的秘鑰應(yīng)在每次開(kāi)機(jī)完成認(rèn)證后更換。
[0014]為了實(shí)現(xiàn)本發(fā)明的上述目的,本發(fā)明提供了一種可信的存儲(chǔ)系統(tǒng),其包括主機(jī)及與主機(jī)互聯(lián)的控制器,以及分別與所述控制器相連的兩個(gè)閃存設(shè)備,所述兩個(gè)閃存設(shè)備的閃存轉(zhuǎn)換層獨(dú)立開(kāi)發(fā)、互不共享設(shè)計(jì);
[0015]當(dāng)主機(jī)發(fā)出寫(xiě)請(qǐng)求時(shí),其中,寫(xiě)請(qǐng)求包括要寫(xiě)入的邏輯頁(yè)碼和要寫(xiě)入的數(shù)據(jù),所述控制器計(jì)算所述數(shù)據(jù)的校驗(yàn)碼并存儲(chǔ)于校驗(yàn)碼表,所述數(shù)據(jù)被分別寫(xiě)入兩個(gè)閃存設(shè)備的相應(yīng)邏輯頁(yè)碼中;
[0016]當(dāng)主機(jī)發(fā)出讀請(qǐng)求時(shí),其中,讀請(qǐng)求包括要讀的邏輯頁(yè)碼,控制器將邏輯頁(yè)碼傳遞給兩個(gè)閃存設(shè)備,兩個(gè)閃存設(shè)備分別向控制器返回其存儲(chǔ)的該頁(yè)碼的數(shù)據(jù),控制器分別計(jì)算來(lái)自?xún)蓚€(gè)閃存設(shè)備的數(shù)據(jù)的校驗(yàn)碼,并分別與校驗(yàn)碼表中該邏輯頁(yè)的校驗(yàn)碼進(jìn)行對(duì)比,如果其中某個(gè)閃存設(shè)備返回?cái)?shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表中的記錄不一致,控制器將其數(shù)據(jù)拋棄并通知主機(jī)該閃存設(shè)備不可信,如果至少有一個(gè)閃存設(shè)備返回?cái)?shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表的記錄一致,控制器將其數(shù)據(jù)傳輸給主機(jī)。
[0017]在本發(fā)明的利用閃存設(shè)備構(gòu)建的可信存儲(chǔ)系統(tǒng)中,利用閃存轉(zhuǎn)換層獨(dú)立開(kāi)發(fā)、互不共享設(shè)計(jì)的兩個(gè)閃存設(shè)備,同時(shí)在讀寫(xiě)的時(shí)候都進(jìn)行校驗(yàn)碼驗(yàn)證,能夠高效快速地確定閃存設(shè)備的可信性,有利于提高使用者的信息安全。
[0018]本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0019]本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
[0020]圖1是本發(fā)明數(shù)據(jù)信息與校驗(yàn)碼的映射表;
[0021]圖2是本發(fā)明一種優(yōu)選實(shí)施方式中利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法的流程圖;
[0022]圖3是本發(fā)明利用閃存設(shè)備構(gòu)建的可信存儲(chǔ)系統(tǒng)的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0023]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
[0024]本發(fā)明提供了一種利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法,其構(gòu)建的可信存儲(chǔ)系統(tǒng)具有與控制器相連的兩個(gè)閃存設(shè)備,控制器控制兩個(gè)閃存設(shè)備,其中,兩個(gè)閃存設(shè)備的閃存轉(zhuǎn)換層獨(dú)立開(kāi)發(fā)、互不共享設(shè)計(jì),具體閃存設(shè)備可以采用但不限于固態(tài)硬盤(pán)(SSD),例如可以使用同一個(gè)廠家的獨(dú)立開(kāi)發(fā),互不共享設(shè)計(jì)的兩個(gè)固態(tài)硬盤(pán),或者采用兩個(gè)產(chǎn)自不同廠家的固態(tài)硬盤(pán),優(yōu)選采用的方案是兩個(gè)固態(tài)硬盤(pán)產(chǎn)自于不同的廠家,因此兩個(gè)固態(tài)硬盤(pán)具有同樣后門(mén)的可能性為O。
[0025]在該利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法中,當(dāng)主機(jī)發(fā)出寫(xiě)請(qǐng)求時(shí),其中,寫(xiě)請(qǐng)求包括要寫(xiě)入的邏輯頁(yè)碼和需要寫(xiě)入的數(shù)據(jù),控制器計(jì)算數(shù)據(jù)的校驗(yàn)碼并將其存儲(chǔ)于校驗(yàn)碼表中該邏輯頁(yè)碼對(duì)應(yīng)的位置,數(shù)據(jù)和其邏輯頁(yè)碼被分別傳遞給兩個(gè)硬盤(pán)進(jìn)行存儲(chǔ);校驗(yàn)碼表可存放于控制器或主機(jī)中。
[0026]當(dāng)主機(jī)發(fā)出讀請(qǐng)求時(shí),讀請(qǐng)求包括要讀的邏輯頁(yè)碼,控制器將邏輯頁(yè)碼傳遞給兩個(gè)閃存設(shè)備,兩個(gè)閃存設(shè)備分別向控制器返回其存儲(chǔ)的該頁(yè)碼的數(shù)據(jù),控制器分別計(jì)算來(lái)自?xún)蓚€(gè)閃存設(shè)備的數(shù)據(jù)的校驗(yàn)碼,并分別與校驗(yàn)碼表中該頁(yè)碼的校驗(yàn)碼進(jìn)行對(duì)比,如果其中某個(gè)閃存設(shè)備返回?cái)?shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表中的校驗(yàn)碼不一致,控制器將數(shù)據(jù)拋棄并通知主機(jī)相應(yīng)閃存設(shè)備不可信,如果至少有一個(gè)閃存設(shè)備返回?cái)?shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表中的校驗(yàn)碼一致,控制器將該數(shù)據(jù)傳輸給主機(jī)。
[0027]在本發(fā)明的利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法中,利用閃存轉(zhuǎn)換層獨(dú)立開(kāi)發(fā)、互不共享設(shè)計(jì)的兩個(gè)閃存設(shè)備,在寫(xiě)的時(shí)候進(jìn)行校驗(yàn)碼的計(jì)算和存儲(chǔ),在讀的時(shí)候都進(jìn)行校驗(yàn)碼的計(jì)算和驗(yàn)證,能夠高效快速確認(rèn)閃存設(shè)備的可信性,有利于提高使用者的信息安全。
[0028]圖1示出了本發(fā)明一個(gè)優(yōu)選實(shí)施方式中校驗(yàn)碼表的組織方式。其中,每個(gè)邏輯頁(yè)的校驗(yàn)碼依次存儲(chǔ)于校驗(yàn)碼表中,例如第O邏輯頁(yè)的校驗(yàn)碼存儲(chǔ)在第O個(gè)位置,第I邏輯頁(yè)的校驗(yàn)碼存儲(chǔ)在第I個(gè)位置,依次類(lèi)推。校驗(yàn)碼表可以存儲(chǔ)于控制器中也可以存儲(chǔ)于主機(jī)內(nèi)。
[0029]圖2示出了本發(fā)明一個(gè)優(yōu)選實(shí)施方式中利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法的流程圖,如圖2所示,當(dāng)主機(jī)發(fā)出讀請(qǐng)求時(shí),讀請(qǐng)求包括要讀的邏輯頁(yè)碼LPN,控制器將邏輯頁(yè)碼LPN傳遞給閃存設(shè)備I和閃存設(shè)備2,兩個(gè)閃存設(shè)備分別向控制器返回其存儲(chǔ)的該頁(yè)碼的數(shù)據(jù),控制器分別計(jì)算來(lái)自?xún)蓚€(gè)閃存設(shè)備的數(shù)據(jù)的校驗(yàn)碼MDl和MD2,并從校驗(yàn)碼表中讀取邏輯頁(yè)碼LPN對(duì)應(yīng)的校驗(yàn)碼MD,將MDl和MD2分別與控制器中存儲(chǔ)的校驗(yàn)碼MD進(jìn)行對(duì)比,判斷MDl和MD2是否與MD相同,如果三者都相同,則將其中之一的數(shù)據(jù)傳遞給主機(jī),如果MDl和MD不同,將閃存設(shè)備2返回的數(shù)據(jù)傳遞給主機(jī),并報(bào)告閃存設(shè)備I不可信,如果MD2和MD不同,將閃存設(shè)備I返回的數(shù)據(jù)傳遞給主機(jī),并報(bào)告閃存設(shè)備2不可信。
[0030]當(dāng)主機(jī)發(fā)出寫(xiě)請(qǐng)求時(shí),如圖2所示,寫(xiě)請(qǐng)求包括要寫(xiě)入的邏輯頁(yè)碼和要寫(xiě)入的數(shù)據(jù),主機(jī)將數(shù)據(jù)傳輸至控制器,控制器計(jì)算數(shù)據(jù)的校驗(yàn)碼并更新主機(jī)中的校驗(yàn)碼表,控制器同時(shí)將該寫(xiě)請(qǐng)求傳遞給兩個(gè)閃存設(shè)備。
[0031]在本實(shí)施方式中,為保證在主機(jī)開(kāi)機(jī)時(shí)和主機(jī)關(guān)機(jī)時(shí)都能夠及時(shí)升級(jí)校驗(yàn)碼表,當(dāng)主機(jī)開(kāi)機(jī)時(shí),校驗(yàn)碼表可以存儲(chǔ)于控制器中也可以存儲(chǔ)于主機(jī)內(nèi),在本發(fā)明的一種優(yōu)選實(shí)施方式中,校驗(yàn)碼表存儲(chǔ)于主機(jī)內(nèi)而校驗(yàn)碼的計(jì)算在控制器內(nèi)進(jìn)行,當(dāng)主機(jī)發(fā)出讀請(qǐng)求時(shí),主機(jī)將要讀的邏輯頁(yè)碼傳輸給控制器,同時(shí)主機(jī)將邏輯頁(yè)碼對(duì)應(yīng)的校驗(yàn)碼傳輸給控制器,控制器從閃存設(shè)備中讀取數(shù)據(jù)并與主機(jī)傳輸來(lái)的校驗(yàn)碼比對(duì);當(dāng)主機(jī)發(fā)出寫(xiě)請(qǐng)求時(shí),控制器計(jì)算數(shù)據(jù)的校驗(yàn)碼并傳輸給主機(jī),主機(jī)進(jìn)行校驗(yàn)碼升級(jí)。通過(guò)這種方式,主機(jī)操作系統(tǒng)的額外開(kāi)銷(xiāo)少,通過(guò)控制器進(jìn)行計(jì)算,避免了額外的I/o堵塞和不必要的計(jì)算。
[0032]當(dāng)主機(jī)關(guān)機(jī)時(shí),控制器將校驗(yàn)碼表認(rèn)證加密后,傳輸給兩個(gè)閃存設(shè)備實(shí)現(xiàn)碼表的關(guān)機(jī)存儲(chǔ),當(dāng)主機(jī)開(kāi)機(jī)時(shí),控制器從兩個(gè)閃存設(shè)備中讀取認(rèn)證加密后的校驗(yàn)碼數(shù)據(jù),解密認(rèn)證確認(rèn)無(wú)誤后將正確的校驗(yàn)碼數(shù)據(jù)上傳給主機(jī)進(jìn)行校驗(yàn)碼升級(jí),開(kāi)始系統(tǒng)的正常工作。無(wú)論在開(kāi)機(jī)時(shí)還是在關(guān)機(jī)時(shí),都能夠進(jìn)行校驗(yàn)碼升級(jí),提高了計(jì)算方法的安全性。
[0033]在本發(fā)明的一個(gè)優(yōu)選實(shí)施方式中,校驗(yàn)碼采用的是國(guó)際標(biāo)準(zhǔn)MD5或是SHA計(jì)算方法。
[0034]在本發(fā)明的一個(gè)優(yōu)選實(shí)施方式中,校驗(yàn)碼表的認(rèn)證加密步驟具體如下:當(dāng)主機(jī)關(guān)機(jī)時(shí),控制器將校驗(yàn)碼表認(rèn)證加密后,分別傳輸給兩個(gè)閃存設(shè)備實(shí)現(xiàn)碼表的關(guān)機(jī)存儲(chǔ),認(rèn)證加密使用的秘鑰存儲(chǔ)于主機(jī)的密碼安全模塊,主機(jī)開(kāi)機(jī)時(shí),控制器從密碼安全模塊取出上次關(guān)機(jī)時(shí)存儲(chǔ)的認(rèn)證加密秘鑰,并從兩個(gè)閃存設(shè)備中分別讀取認(rèn)證加密后的校驗(yàn)碼表,進(jìn)行解密和認(rèn)證,如果其中一個(gè)閃存設(shè)備提供的校驗(yàn)碼表認(rèn)證失敗,則向主機(jī)報(bào)告其不可信,解密認(rèn)證后,確保無(wú)誤的校驗(yàn)碼表將存儲(chǔ)于主機(jī)或控制器中,用于認(rèn)證加密的秘鑰應(yīng)在每次開(kāi)機(jī)完成認(rèn)證后更換。提高了校驗(yàn)碼升級(jí)的安全性。
[0035]在本發(fā)明的一個(gè)優(yōu)選實(shí)施方式中,認(rèn)證加密方法采用的是國(guó)際通用的Keyed Hash算法,或 Authenticated Encrypt1n 算法。
[0036]本發(fā)明還提供了一種利用閃存設(shè)備構(gòu)建的可信存儲(chǔ)系統(tǒng),如圖3所示,其包括主機(jī)及與主機(jī)互聯(lián)的控制器,以及分別與控制器相連的兩個(gè)閃存設(shè)備,兩個(gè)閃存設(shè)備的閃存轉(zhuǎn)換層獨(dú)立開(kāi)發(fā)、互不共享設(shè)計(jì);當(dāng)主機(jī)發(fā)出寫(xiě)請(qǐng)求時(shí),其中,寫(xiě)請(qǐng)求包括要寫(xiě)入的邏輯頁(yè)碼和要寫(xiě)入的數(shù)據(jù),控制器計(jì)算數(shù)據(jù)的校驗(yàn)碼并存儲(chǔ)于校驗(yàn)碼表,數(shù)據(jù)被分別寫(xiě)入兩個(gè)閃存設(shè)備的相應(yīng)邏輯頁(yè)碼中;當(dāng)主機(jī)發(fā)出讀請(qǐng)求時(shí),其中,讀請(qǐng)求包括要讀的邏輯頁(yè)碼,控制器將邏輯頁(yè)碼傳遞給兩個(gè)閃存設(shè)備,兩個(gè)閃存設(shè)備分別向控制器返回其存儲(chǔ)的該頁(yè)碼的數(shù)據(jù),控制器分別計(jì)算來(lái)自?xún)蓚€(gè)閃存設(shè)備的數(shù)據(jù)的校驗(yàn)碼,并分別與校驗(yàn)碼表中該邏輯頁(yè)的校驗(yàn)碼進(jìn)行對(duì)比,如果其中某個(gè)閃存設(shè)備返回?cái)?shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表中的記錄不一致,控制器將其數(shù)據(jù)拋棄并通知主機(jī)該閃存設(shè)備不可信,如果至少有一個(gè)閃存設(shè)備返回?cái)?shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表的記錄一致,控制器將其數(shù)據(jù)傳輸給主機(jī)。
[0037]需要說(shuō)明的是,本發(fā)明可信存儲(chǔ)系統(tǒng)的技術(shù)方案與構(gòu)建可信系統(tǒng)的方法的技術(shù)方案有許多共同點(diǎn),構(gòu)建可信系統(tǒng)的方法已經(jīng)做了詳細(xì)描述,因此存儲(chǔ)系統(tǒng)就不做過(guò)多贅述。
[0038]在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
[0039]盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。
【權(quán)利要求】
1.一種利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法,其特征在于,構(gòu)建的可信存儲(chǔ)系統(tǒng)具有與控制器相連的兩個(gè)閃存設(shè)備,所述兩個(gè)閃存設(shè)備的閃存轉(zhuǎn)換層獨(dú)立開(kāi)發(fā)、互不共享設(shè)計(jì);在所述利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法中, 當(dāng)主機(jī)發(fā)出寫(xiě)請(qǐng)求時(shí),其中,寫(xiě)請(qǐng)求包括要寫(xiě)入的邏輯頁(yè)碼和要寫(xiě)入的數(shù)據(jù),所述控制器計(jì)算該數(shù)據(jù)的校驗(yàn)碼,并將其存儲(chǔ)于校驗(yàn)碼表該邏輯頁(yè)碼對(duì)應(yīng)的位置中;校驗(yàn)碼表存放于控制器或主機(jī)中;同時(shí),該寫(xiě)請(qǐng)求也被分別傳遞給兩個(gè)閃存設(shè)備進(jìn)行存儲(chǔ); 當(dāng)主機(jī)發(fā)出讀請(qǐng)求時(shí),其中,讀請(qǐng)求包括要讀的邏輯頁(yè)碼,控制器將邏輯頁(yè)碼傳遞給兩個(gè)閃存設(shè)備,兩個(gè)閃存設(shè)備分別向控制器返回其存儲(chǔ)的該頁(yè)碼的數(shù)據(jù),控制器分別計(jì)算來(lái)自?xún)蓚€(gè)閃存設(shè)備的數(shù)據(jù)的校驗(yàn)碼,并分別與校驗(yàn)碼表中該邏輯頁(yè)碼的校驗(yàn)碼進(jìn)行對(duì)比,如果其中某個(gè)閃存設(shè)備返回的數(shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表中的校驗(yàn)碼不一致,控制器將其數(shù)據(jù)拋棄并通知主機(jī)相應(yīng)閃存設(shè)備不可信,如果至少有一個(gè)閃存設(shè)備返回?cái)?shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表中的校驗(yàn)碼一致,控制器將該數(shù)據(jù)傳輸給主機(jī)。
2.根據(jù)權(quán)利要求1所述的利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法,其特征在于,主機(jī)開(kāi)機(jī)時(shí),當(dāng)主機(jī)發(fā)出讀請(qǐng)求時(shí),主機(jī)將要讀的邏輯頁(yè)碼傳輸給控制器,控制器從閃存設(shè)備中讀取數(shù)據(jù)并與校驗(yàn)碼表中該頁(yè)碼的校驗(yàn)碼比對(duì);當(dāng)主機(jī)發(fā)出寫(xiě)請(qǐng)求時(shí),控制器計(jì)算數(shù)據(jù)的校驗(yàn)碼并將其更新至校驗(yàn)碼表中。
3.根據(jù)權(quán)利要求1或2所述的利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法,其特征在于,當(dāng)主機(jī)關(guān)機(jī)時(shí),控制器將校驗(yàn)碼表認(rèn)證加密后,傳輸給兩個(gè)閃存設(shè)備實(shí)現(xiàn)校驗(yàn)碼表的關(guān)機(jī)存儲(chǔ),當(dāng)主機(jī)開(kāi)機(jī)時(shí),控制器從兩個(gè)閃存設(shè)備中讀取認(rèn)證加密后的校驗(yàn)碼數(shù)據(jù),解密認(rèn)證確認(rèn)無(wú)誤后,開(kāi)始系統(tǒng)的正常工作。
4.根據(jù)權(quán)利要求3所述的利用閃存設(shè)備構(gòu)建可信存儲(chǔ)系統(tǒng)的方法,其特征在于,所述校驗(yàn)碼表的認(rèn)證加密步驟為: 當(dāng)主機(jī)關(guān)機(jī)時(shí),控制器將校驗(yàn)碼表認(rèn)證加密后,分別傳輸給兩個(gè)閃存設(shè)備實(shí)現(xiàn)校驗(yàn)碼表的關(guān)機(jī)存儲(chǔ),認(rèn)證加密使用的秘鑰存儲(chǔ)于主機(jī)的密碼安全模塊, 當(dāng)主機(jī)開(kāi)機(jī)時(shí),所述控制器從密碼安全模塊取出上次關(guān)機(jī)時(shí)存儲(chǔ)的認(rèn)證加密秘鑰,并從兩個(gè)閃存設(shè)備中分別讀取認(rèn)證加密后的校驗(yàn)碼表,進(jìn)行解密和認(rèn)證,如果其中一個(gè)閃存設(shè)備提供的校驗(yàn)碼表認(rèn)證失敗,則向主機(jī)報(bào)告其不可信,解密認(rèn)證后,確保無(wú)誤的校驗(yàn)碼表將存儲(chǔ)于主機(jī)或控制器中,用于認(rèn)證加密的秘鑰應(yīng)在每次開(kāi)機(jī)完成認(rèn)證后更換。
5.—種利用閃存設(shè)備構(gòu)建的可信存儲(chǔ)系統(tǒng),其特征在于,包括主機(jī)及與主機(jī)互聯(lián)的控制器,以及分別與所述控制器相連的兩個(gè)閃存設(shè)備,所述兩個(gè)閃存設(shè)備的閃存轉(zhuǎn)換層獨(dú)立開(kāi)發(fā)、互不共享設(shè)計(jì); 當(dāng)主機(jī)發(fā)出寫(xiě)請(qǐng)求時(shí),其中,寫(xiě)請(qǐng)求包括要寫(xiě)入的邏輯頁(yè)碼和要寫(xiě)入的數(shù)據(jù),所述控制器計(jì)算所述數(shù)據(jù)的校驗(yàn)碼并存儲(chǔ)于校驗(yàn)碼表,所述數(shù)據(jù)被分別寫(xiě)入兩個(gè)閃存設(shè)備的相應(yīng)邏輯頁(yè)碼中; 當(dāng)主機(jī)發(fā)出讀請(qǐng)求時(shí),其中,讀請(qǐng)求包括要讀的邏輯頁(yè)碼,控制器將邏輯頁(yè)碼傳遞給兩個(gè)閃存設(shè)備,兩個(gè)閃存設(shè)備分別向控制器返回其存儲(chǔ)的該頁(yè)碼的數(shù)據(jù),控制器分別計(jì)算來(lái)自?xún)蓚€(gè)閃存設(shè)備的數(shù)據(jù)的校驗(yàn)碼,并分別與校驗(yàn)碼表中該邏輯頁(yè)的校驗(yàn)碼進(jìn)行對(duì)比,如果其中某個(gè)閃存設(shè)備返回?cái)?shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表中的記錄不一致,控制器將其數(shù)據(jù)拋棄并通知主機(jī)該閃存設(shè)備不可信,如果至少有一個(gè)閃存設(shè)備返回?cái)?shù)據(jù)的校驗(yàn)碼與校驗(yàn)碼表的記錄一致,控制器將其數(shù)據(jù)傳輸給主機(jī)。
【文檔編號(hào)】G06F21/44GK104503705SQ201410802857
【公開(kāi)日】2015年4月8日 申請(qǐng)日期:2014年12月22日 優(yōu)先權(quán)日:2014年12月22日
【發(fā)明者】吳碧華, 吳剴劼 申請(qǐng)人:吳剴劼