欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

密鑰管理方法及其系統(tǒng)與流程

文檔序號(hào):11959472閱讀:1491來源:國知局
密鑰管理方法及其系統(tǒng)與流程

本發(fā)明涉及一種對(duì)用于加密云服務(wù)數(shù)據(jù)和重要證書(credential)的服務(wù)密鑰以及對(duì)用于加密服務(wù)密鑰的主密鑰進(jìn)行管理的方法及其裝置。



背景技術(shù):

利用加密密鑰(encryption key)來對(duì)需要保護(hù)的許多數(shù)據(jù)或重要證書進(jìn)行加密。但是,在加密密鑰以純文本(plain text)存儲(chǔ)在數(shù)據(jù)庫(database)中的情況下,具有如下危險(xiǎn):已存儲(chǔ)的加密密鑰有可能因數(shù)據(jù)庫管理者(DataBase Administration,DBA)或內(nèi)部人員而流失。在利用硬件安全模塊(Hardware Security Module)對(duì)加密密鑰進(jìn)行加密的情況下,具有硬件安全模塊的供應(yīng)商知道對(duì)加密密鑰進(jìn)行加密的主密鑰的局限性。此外,在利用同態(tài)算法(homomorphic algorithm)等對(duì)加密密鑰進(jìn)行加密的情況下,具有如下問題:如果丟失對(duì)加密密鑰進(jìn)行加密的主密鑰,則無法再恢復(fù)加密的數(shù)據(jù)。因此,需要一種能夠同時(shí)確保加密密鑰的機(jī)密性和可用性的解決方案。

現(xiàn)有技術(shù)文獻(xiàn)

韓國公開專利第2003-0077065號(hào)(2003年10月01日公開)



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明所要解決的技術(shù)問題是提供一種在用專門的主密鑰來對(duì)能夠加解密云服務(wù)數(shù)據(jù)和重要證書的服務(wù)密鑰進(jìn)行加密之后,通過生成僅在特定條件下能夠重構(gòu)主密鑰的密鑰塊并將該密鑰塊分散存儲(chǔ)在多個(gè)服務(wù)器中的方法及其裝置。

本發(fā)明的技術(shù)問題并不限定于以上所提及的技術(shù)問題,本領(lǐng)域技術(shù)人員能夠從下面的記載中明確理解沒有提及的其它技術(shù)問題。

為了解決上述技術(shù)問題,本發(fā)明的一方面(Aspect)的密鑰管理方法可包括以下步驟:利用主密鑰對(duì)由云服務(wù)的第一使用者的實(shí)例使用的服務(wù)密鑰進(jìn)行加密;生成用于重構(gòu)所述主密鑰的兩個(gè)以上的密鑰塊;將所述密鑰塊分散存儲(chǔ)在用于提供所述云服務(wù)的主機(jī)組中所包括的兩個(gè)以上的主機(jī)服務(wù)器中;從所述第一使用者的實(shí)例接收所述服務(wù)密鑰的提供請(qǐng)求;從所述兩個(gè)以上的主機(jī)服務(wù)器接收多個(gè)所述密鑰塊,并以接收到的密鑰塊為基礎(chǔ)重構(gòu)所述主密鑰;以及利用重構(gòu)的主密鑰來對(duì)加密后的服務(wù)密鑰進(jìn)行解密。

為了解決上述技術(shù)問題,本發(fā)明的另一方面的密鑰管理系統(tǒng)可包括:密鑰訪問服務(wù)器,在利用主密鑰對(duì)由云服務(wù)的第一使用者的實(shí)例使用的服務(wù)密鑰進(jìn)行加密之后,生成用于重構(gòu)所述主密鑰的兩個(gè)以上的密鑰塊并分散存儲(chǔ),并且在從所述第一使用者的實(shí)例接收到服務(wù)密鑰提供請(qǐng)求的情況下,以分散存儲(chǔ)的密鑰塊為基礎(chǔ)重構(gòu)主密鑰來對(duì)加密后的服務(wù)密鑰進(jìn)行解密;以及主機(jī)服務(wù)器,從所述密鑰訪問服務(wù)器接收所述密鑰塊并存儲(chǔ),并且在從所述密鑰訪問服務(wù)器接收到密鑰塊提供請(qǐng)求的情況下,傳送所述密鑰塊。

為了解決上述技術(shù)問題,根據(jù)本發(fā)明的又一方面,可提供一種為了與計(jì)算裝置相結(jié)合來執(zhí)行以下步驟而存儲(chǔ)在存儲(chǔ)介質(zhì)中的計(jì)算機(jī)程序:利用主密鑰對(duì)由云服務(wù)的第一使用者的實(shí)例使用的服務(wù)密鑰進(jìn)行加密;生成用于重構(gòu)所述主密鑰的兩個(gè)以上的密鑰塊;將所述密鑰塊分散存儲(chǔ)在用于提供所述云服務(wù)的主機(jī)組中所包括的兩個(gè)以上的主機(jī)服務(wù)器中;從所述第一使用者的實(shí)例接收服務(wù)密鑰提供請(qǐng)求;從所述兩個(gè)以上的主機(jī)服務(wù)器接收多個(gè)所述密鑰塊,并以接收到的密鑰塊為基礎(chǔ)重構(gòu)所述主密鑰;以及利用重構(gòu)的主密鑰來對(duì)加密后的服務(wù)密鑰進(jìn)行解密。

根據(jù)如上所述的本發(fā)明,通過生成僅在特定條件下能夠重構(gòu)主密鑰的密鑰塊并分散存儲(chǔ)在多個(gè)服務(wù)器中,在任何服務(wù)器或裝置中都沒有存儲(chǔ)主密鑰,從而能夠確保主密鑰的機(jī)密性。此外,即使丟失分散存儲(chǔ)的密鑰塊的一部分也能夠重構(gòu)主密鑰,從而能夠確保主密鑰的可用性。進(jìn)一步,具有如下效果:即使流失密鑰塊,也無法僅用流失的密鑰塊來重構(gòu)主密鑰。

附圖說明

圖1至圖3是本發(fā)明的幾種實(shí)施例的云服務(wù)系統(tǒng)的示意圖。

圖4是用于說明本發(fā)明一實(shí)施例的主密鑰分散存儲(chǔ)方法的順序圖。

圖5是用于說明本發(fā)明一實(shí)施例的主密鑰重構(gòu)方法的順序圖。

圖6是用于說明本發(fā)明另一實(shí)施例的主密鑰分散存儲(chǔ)方法的信號(hào)流程圖。

圖7是用于說明本發(fā)明另一實(shí)施例的主密鑰重構(gòu)方法的信號(hào)流程圖。

圖8是本發(fā)明一實(shí)施例的密鑰訪問服務(wù)器的方框圖。

圖9是本發(fā)明一實(shí)施例的密鑰訪問服務(wù)器的硬件結(jié)構(gòu)圖。

具體實(shí)施方式

參照附圖的同時(shí)參照詳細(xì)地后述的實(shí)施例,本發(fā)明的優(yōu)點(diǎn)及特性以及實(shí)現(xiàn)這些的方法將會(huì)明確。但是,本發(fā)明并不限定于以下所公開的實(shí)施例,而是可以以彼此不同的多種方式實(shí)現(xiàn),本實(shí)施例僅僅用于完整地公開本發(fā)明,并且為了向本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員完整地告知本發(fā)明的范圍而提供的,本發(fā)明僅由權(quán)利要求的范圍定義。在說明書全文中相同的附圖標(biāo)記指相同的結(jié)構(gòu)要素。

在關(guān)于本說明書的說明之前,對(duì)本說明書中所使用的幾種用語進(jìn)行說明。

云服務(wù)(Cloud service)是本地計(jì)算裝置將各種數(shù)據(jù)存儲(chǔ)在與網(wǎng)絡(luò)相連接的外部服務(wù)器中,并在必要時(shí)可從外部服務(wù)器下載來利用的服務(wù)。更具體來講,本地計(jì)算裝置的實(shí)例(instance)可將數(shù)據(jù)存儲(chǔ)在不是內(nèi)部存儲(chǔ)空間的、與網(wǎng)絡(luò)相連接的外部服務(wù)器中。并且,本地計(jì)算裝置的實(shí)例在需要存儲(chǔ)在外部服務(wù)器中的數(shù)據(jù)的情況下,可通過從外部服務(wù)器下載數(shù)據(jù)來利用。特別是,本發(fā)明一實(shí)施例的云服務(wù)可以是能夠向本地計(jì)算裝置提供虛擬化的基礎(chǔ)設(shè)施環(huán)境的基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service,Iaas)或軟件即服務(wù)(Software as a Service),但并不限定于此。

服務(wù)密鑰(Service key)是通過云服務(wù)執(zhí)行的實(shí)例為了對(duì)數(shù)據(jù)進(jìn)行加解密而使用的密鑰。這種服務(wù)密鑰可根據(jù)云服務(wù)的使用者(Tenant)、通過云服務(wù)提供的服務(wù)或通過云服務(wù)提供的服務(wù)應(yīng)用等而被設(shè)置為具有彼此不同的值。此外,服務(wù)密鑰可根據(jù)云服務(wù)的使用者、通過云服務(wù)提供的服務(wù)或通過云服務(wù)提供的服務(wù)應(yīng)用等而具有彼此不同的大小或類型,但并不限定于此。

主密鑰(Master key)是為了對(duì)服務(wù)密鑰進(jìn)行加解密而使用的密鑰。這種主密鑰可根據(jù)云服務(wù)的使用者、通過云服務(wù)提供的服務(wù)或與云服務(wù)關(guān)聯(lián)的業(yè)務(wù)等而被生成為具有彼此不同的值,但并不限定于此。

此外,本說明書中所使用的用語用于說明實(shí)施例,并不限制本發(fā)明。在本說明書中,單數(shù)形式只要在句子中未特別提及就也包括復(fù)數(shù)形式。在說明書中使用的“包括(comprises)”和/或“由……構(gòu)成(made of)”并不排除提及的結(jié)構(gòu)要素、步驟、動(dòng)作和/或元素之外的一個(gè)以上的其它結(jié)構(gòu)要素、步驟、動(dòng)作和/或元素的存在或附加。

下面,根據(jù)附圖對(duì)本發(fā)明進(jìn)行更詳細(xì)說明。

圖1至圖3是本發(fā)明的幾種實(shí)施例的云服務(wù)系統(tǒng)的示意圖。圖1至圖3中所公開的云服務(wù)系統(tǒng)的各結(jié)構(gòu)要素表示按功能區(qū)分的功能要素,任一種以上的結(jié)構(gòu)要素可通過在實(shí)際物理環(huán)境中彼此合并而實(shí)現(xiàn)。

參照?qǐng)D1,本發(fā)明一實(shí)施例的云服務(wù)系統(tǒng)可包括密鑰管理系統(tǒng)10和多個(gè)服務(wù)裝置400。并且,密鑰管理系統(tǒng)10可包括密鑰訪問服務(wù)器100、多個(gè)主機(jī)服務(wù)器200和密鑰管理數(shù)據(jù)庫300。下面,對(duì)本發(fā)明一實(shí)施例的云服務(wù)系統(tǒng)的各結(jié)構(gòu)要素進(jìn)行具體說明。

密鑰訪問服務(wù)器100為可分散管理能夠?qū)τ稍品?wù)的實(shí)例使用的服務(wù)密鑰進(jìn)行加解密的主密鑰的服務(wù)器。特別是,本發(fā)明一實(shí)施例的密鑰訪問服務(wù)器100可在利用主密鑰來對(duì)服務(wù)密鑰進(jìn)行加密之后,生成僅在特定條件下能夠重構(gòu)主密鑰的多個(gè)密鑰塊,并將生成的密鑰塊分散存儲(chǔ)在多個(gè)主機(jī)服務(wù)器200中。此外,密鑰訪問服務(wù)器100可以以從多個(gè)主機(jī)服務(wù)器200接收的密鑰塊為基礎(chǔ)重構(gòu)主密鑰,并利用重構(gòu)的主密鑰來對(duì)服務(wù)密鑰進(jìn)行解密。關(guān)于這種密鑰訪問服務(wù)器100,稍后參照?qǐng)D2至圖9來進(jìn)行具體說明。

接著,多個(gè)主機(jī)服務(wù)器200為可從密鑰訪問服務(wù)器100接收密鑰塊并存儲(chǔ)的服務(wù)器。更具體來講,多個(gè)主機(jī)服務(wù)器200為用于提供云服務(wù)的同種或異種服務(wù)器中設(shè)置有用于管理密鑰的代理(Key management agent)的服務(wù)器。例如,在多個(gè)主機(jī)服務(wù)器200中可包括設(shè)置有用于管理密鑰的代理的、使用者管理服務(wù)器、服務(wù)器協(xié)調(diào)裝置、數(shù)據(jù)分析服務(wù)器、事件管理服務(wù)器或大數(shù)據(jù)存儲(chǔ)服務(wù)器等,但并不限定于此,也可以包括僅用于管理密鑰的專用服務(wù)器。這種多個(gè)主機(jī)服務(wù)器200可形成主機(jī)組20。

主機(jī)組20中所包括的多個(gè)主機(jī)服務(wù)器200可從密鑰訪問服務(wù)器100接收密鑰塊并存儲(chǔ)。并且,多個(gè)主機(jī)服務(wù)器200可響應(yīng)于密鑰訪問服務(wù)器100的請(qǐng)求,提取已存儲(chǔ)的密鑰塊并傳送給密鑰訪問服務(wù)器100。

主機(jī)組20中所包括的多個(gè)主機(jī)服務(wù)器200可在利用加密密鑰(encryption key)來對(duì)密鑰塊進(jìn)行加密之后,將加密后的密鑰塊傳送給密鑰訪問服務(wù)器100。在此,加密密鑰可預(yù)先設(shè)置(preset)成每個(gè)主機(jī)服務(wù)器200各不相同,但并不限定于此,也可以通過實(shí)時(shí)指定臨時(shí)密鑰(temporary key)來與密鑰訪問服務(wù)器100共享。

主機(jī)組20中所包括的多個(gè)主機(jī)服務(wù)器200可利用用于驗(yàn)證密鑰訪問服務(wù)器100所公開的密鑰塊的數(shù)據(jù)來判斷密鑰訪問服務(wù)器100是否為惡意(malicious)服務(wù)器。

主機(jī)組20中所包括的多個(gè)主機(jī)服務(wù)器200可在從密鑰訪問服務(wù)器100接收密鑰塊之后,計(jì)算接收到的密鑰塊的哈希值(Hash value)并傳送給密鑰訪問服務(wù)器100。

并且,主機(jī)組20中所包括的多個(gè)主機(jī)服務(wù)器200可根據(jù)密鑰訪問服務(wù)器100的請(qǐng)求,生成用于保障隨機(jī)且唯一的主密鑰的生成的隨機(jī)種子(seed)并傳送給密鑰訪問服務(wù)器100。

接著,密鑰管理數(shù)據(jù)庫300為可存儲(chǔ)利用主密鑰來加密后的服務(wù)密鑰的數(shù)據(jù)庫。更具體來講,密鑰管理數(shù)據(jù)庫300可存儲(chǔ)從密鑰訪問服務(wù)器100接收的加密后的服務(wù)密鑰。此外,密鑰管理數(shù)據(jù)庫300可包括并存儲(chǔ)主密鑰表和服務(wù)密鑰表。

在此,在主密鑰表中可包含有主密鑰的標(biāo)識(shí)符(identification)、云服務(wù)使用者的標(biāo)識(shí)符、服務(wù)密鑰的標(biāo)識(shí)符、主密鑰的生成日期和時(shí)間、主密鑰的哈希值或分散存儲(chǔ)有主密鑰的密鑰塊的主機(jī)服務(wù)器200的標(biāo)識(shí)符等,但并不限定于此。

并且,在服務(wù)密鑰表中可包含有服務(wù)密鑰的標(biāo)識(shí)符、云服務(wù)使用者的標(biāo)識(shí)符和服務(wù)密鑰使用履歷等,但并不限定于此。

這種密鑰管理數(shù)據(jù)庫300可以是與密鑰訪問服務(wù)器100獨(dú)立的結(jié)構(gòu)要素,但并不限定于此,也可以是構(gòu)成密鑰訪問服務(wù)器100的一個(gè)結(jié)構(gòu)要素,這對(duì)本領(lǐng)域技術(shù)人員來說是顯而易見的。進(jìn)一步,密鑰管理數(shù)據(jù)庫300可以是在主密鑰表和服務(wù)密鑰表等之間存在規(guī)定關(guān)系(relation)的關(guān)系型數(shù)據(jù)庫(Relational DataBase,RDB),但并不限定于此。

接著,服務(wù)裝置400為提供云服務(wù)的服務(wù)器。更具體來講,服務(wù)裝置400可通過管理程序(Hypervisor)被虛擬化(virtualization)。在此,管理程序?yàn)榉峙浞?wù)裝置400的資源和其它資源,并提供用于資源管理和監(jiān)測的界面的平臺(tái)。并且,服務(wù)裝置400可通過虛擬化的虛擬機(jī)(virtual machine),執(zhí)行用于云服務(wù)的應(yīng)用或應(yīng)用實(shí)例。

服務(wù)裝置400的實(shí)例可利用服務(wù)密鑰來對(duì)云服務(wù)數(shù)據(jù)進(jìn)行加密。服務(wù)裝置400可通過將服務(wù)密鑰傳送給密鑰訪問服務(wù)器100來請(qǐng)求保護(hù)。此外,在需要云服務(wù)數(shù)據(jù)的情況下,服務(wù)裝置400可從密鑰訪問服務(wù)器100接收服務(wù)密鑰之后,利用接收到的服務(wù)密鑰來對(duì)云服務(wù)數(shù)據(jù)進(jìn)行解密。

并且,服務(wù)裝置400可利用密鑰管理互操作性協(xié)議(Key Management Interoperability Protocol,KMIP)來與密鑰訪問服務(wù)器100進(jìn)行數(shù)據(jù)收發(fā)。此外,服務(wù)裝置400可利用安全套接層/傳輸層安全協(xié)議(Secure Sockets Layer/Transport Layer Security Protocol,SSL/TLS Protocol)來與密鑰訪問服務(wù)器100進(jìn)行數(shù)據(jù)收發(fā)。

參照?qǐng)D2,本發(fā)明另一實(shí)施例的云服務(wù)系統(tǒng)進(jìn)一步可包括網(wǎng)關(guān)500和數(shù)據(jù)總線裝置600。下面,對(duì)根據(jù)本發(fā)明另一實(shí)施例進(jìn)一步包含在云服務(wù)系統(tǒng)中的結(jié)構(gòu)要素進(jìn)行具體說明。

網(wǎng)關(guān)500可控制服務(wù)裝置400與密鑰管理系統(tǒng)10之間的訪問。更具體來講,網(wǎng)關(guān)500可限制服務(wù)裝置400對(duì)包含在密鑰管理系統(tǒng)10內(nèi)的服務(wù)器的訪問。此外,網(wǎng)關(guān)500可限制包含在密鑰管理系統(tǒng)10內(nèi)的服務(wù)器對(duì)服務(wù)裝置400的訪問。

并且,網(wǎng)關(guān)500可向服務(wù)裝置400提供根據(jù)表述性狀態(tài)轉(zhuǎn)移(REpresentational State Transfer,REST)體系結(jié)構(gòu)的應(yīng)用程序設(shè)計(jì)接口(Application Programming Interface,API)。此外,網(wǎng)關(guān)500可將根據(jù)從服務(wù)裝置400接收的數(shù)據(jù)的事件傳送給數(shù)據(jù)總線裝置600。

接著,數(shù)據(jù)總線裝置600可控制包含在密鑰管理系統(tǒng)10中的服務(wù)器之間的數(shù)據(jù)傳送。更具體來講,數(shù)據(jù)總線裝置600可將從網(wǎng)關(guān)500接收的事件傳送給密鑰訪問服務(wù)器100或主機(jī)服務(wù)器200等。此外,數(shù)據(jù)總線裝置600可控制密鑰訪問服務(wù)器100或主機(jī)服務(wù)器200之間的數(shù)據(jù)傳送。

但是,即使在密鑰管理系統(tǒng)10中包括數(shù)據(jù)總線裝置600,密鑰訪問服務(wù)器100也可以不利用數(shù)據(jù)總線裝置600,而是與主機(jī)服務(wù)器200直接收發(fā)密鑰塊。

參照?qǐng)D3,本發(fā)明又一實(shí)施例的云服務(wù)系統(tǒng)可通過對(duì)多個(gè)密鑰訪問服務(wù)器100進(jìn)行聚類(clustering)而被構(gòu)建。下面,對(duì)根據(jù)本發(fā)明又一實(shí)施例進(jìn)一步包含在云服務(wù)系統(tǒng)中的結(jié)構(gòu)要素進(jìn)行具體說明。

為了提高密鑰訪問服務(wù)器100對(duì)主密鑰的訪問速度,基于存儲(chǔ)器的數(shù)據(jù)庫700可將密鑰訪問服務(wù)器100反復(fù)利用的主密鑰存儲(chǔ)在存儲(chǔ)器中。更具體來講,基于存儲(chǔ)器的數(shù)據(jù)庫700可接收由密鑰訪問服務(wù)器100重構(gòu)的主密鑰。基于存儲(chǔ)器的數(shù)據(jù)庫700可將重構(gòu)的主密鑰存儲(chǔ)在存儲(chǔ)器中(in-memory)?;诖鎯?chǔ)器的數(shù)據(jù)庫700可從密鑰訪問服務(wù)器100接收主密鑰提供請(qǐng)求?;诖鎯?chǔ)器的數(shù)據(jù)庫700可響應(yīng)于主密鑰提供請(qǐng)求,將存儲(chǔ)在存儲(chǔ)器中的主密鑰傳送給密鑰訪問服務(wù)器100。

下面,對(duì)本發(fā)明一實(shí)施例的密鑰訪問服務(wù)器100的主密鑰分散存儲(chǔ)方法及主密鑰重構(gòu)方法進(jìn)行具體說明。

圖4是用于說明本發(fā)明一實(shí)施例的主密鑰分散存儲(chǔ)方法的順序圖。

參照?qǐng)D4,密鑰訪問服務(wù)器100從服務(wù)裝置400的實(shí)例接收服務(wù)密鑰(S105)。在此,服務(wù)密鑰為由云服務(wù)使用者的實(shí)例為了對(duì)數(shù)據(jù)進(jìn)行加解密而使用的密鑰。這種服務(wù)密鑰可根據(jù)云服務(wù)的使用者、通過云服務(wù)提供的服務(wù)或通過云服務(wù)提供的服務(wù)應(yīng)用等而具有彼此不同的大小或類型,但并不限定于此。此外,密鑰訪問服務(wù)器100可利用密鑰管理互操作性協(xié)議(KMIP)來從服務(wù)裝置400的實(shí)例接收服務(wù)密鑰,但并不限定于此。

進(jìn)一步,密鑰訪問服務(wù)器100可在從服務(wù)裝置400的實(shí)例接收服務(wù)密鑰之前,從服務(wù)裝置400的實(shí)例接收云服務(wù)使用者的標(biāo)識(shí)符及服務(wù)密鑰的標(biāo)識(shí)符,并利用接收到的服務(wù)使用者的標(biāo)識(shí)符和服務(wù)密鑰的標(biāo)識(shí)符來認(rèn)證實(shí)例,但并不限定于此。

接著,密鑰訪問服務(wù)器100生成用于加密接收到的服務(wù)密鑰的主密鑰(S110)。具體來講,密鑰訪問服務(wù)器100向主機(jī)服務(wù)器200請(qǐng)求隨機(jī)種子(seed)。密鑰訪問服務(wù)器100以從主機(jī)服務(wù)器200接收到的隨機(jī)種子為基礎(chǔ),根據(jù)已指定的隨機(jī)生成機(jī)制來生成主密鑰。因此,由密鑰訪問服務(wù)器100生成的主密鑰可根據(jù)云服務(wù)的使用者(tenant)、通過云服務(wù)提供的服務(wù)或與云服務(wù)關(guān)聯(lián)的業(yè)務(wù)等而具有隨機(jī)且唯一的值。此外,密鑰訪問服務(wù)器100在需要新的主密鑰的時(shí)刻從穩(wěn)定連接的主機(jī)服務(wù)器200接收隨機(jī)種子,并以接收到的隨機(jī)種子為基礎(chǔ)生成主密鑰,由此能夠降低預(yù)測已生成的主密鑰值的可能性。

接著,密鑰訪問服務(wù)器100利用生成的主密鑰來對(duì)服務(wù)密鑰進(jìn)行加密(S115)。并且,密鑰訪問服務(wù)器100將加密后的服務(wù)密鑰存儲(chǔ)在密鑰管理數(shù)據(jù)庫300中(S120)。

接著,密鑰訪問服務(wù)器100生成用于重構(gòu)主密鑰的兩個(gè)以上的密鑰塊(S125)。具體來講,密鑰訪問服務(wù)器100可生成僅在存在臨界數(shù)(threshold)以上的情況下能夠重構(gòu)主密鑰的密鑰塊。下面,對(duì)密鑰訪問服務(wù)器100的密鑰塊生成方法進(jìn)行更具體說明。

假設(shè)密鑰訪問服務(wù)器100為了重構(gòu)主密鑰而至少需要的密鑰塊的臨界數(shù)為k。例如,臨界數(shù)k可以是3,但并不限定于此。密鑰訪問服務(wù)器100生成k-1個(gè)隨機(jī)數(shù)(random number)。假設(shè)密鑰訪問服務(wù)器100所生成的各個(gè)隨機(jī)數(shù)為ak-1、ak-2、…、a1。并且,密鑰訪問服務(wù)器100將a0設(shè)定為主密鑰。

密鑰訪問服務(wù)器100生成1至k-1次項(xiàng)系數(shù)為ak-1、ak-2、…、a1,0次項(xiàng)系數(shù)為a0的k次多項(xiàng)式f(x)。密鑰訪問服務(wù)器100所生成的多項(xiàng)式f(x)如以下數(shù)學(xué)式1所示。

[數(shù)學(xué)式1]

f(x)=ak-1xk-1+ak-2xk-2+…+a1x+a0

在此,f(0)為主密鑰。

密鑰訪問服務(wù)器100以關(guān)于想要分散存儲(chǔ)密鑰塊的n個(gè)主機(jī)服務(wù)器200的標(biāo)識(shí)符的多項(xiàng)式f(x)的函數(shù)值為基礎(chǔ),生成n個(gè)密鑰塊。在此,1<k≤n。

因此,本發(fā)明一實(shí)施例的密鑰管理系統(tǒng)10可生成與主密鑰完全不同的形式的n個(gè)密鑰塊。

此外,密鑰訪問服務(wù)器100也可以將多項(xiàng)式f(x)的函數(shù)值除以主密鑰可具有的最大大小的余數(shù)(mod)作為密鑰塊來生成。此時(shí),生成的密鑰塊大小可均相同。

因此,本發(fā)明一實(shí)施例的密鑰管理系統(tǒng)10以所有密鑰塊的大小相同的方式生成密鑰塊,由此即使密鑰塊的一部分流失到外部或內(nèi)部也難以以流失的密鑰塊的大小為基礎(chǔ)預(yù)測主密鑰。

接著,密鑰訪問服務(wù)器100利用每個(gè)主機(jī)服務(wù)器200各不相同的加密密鑰來對(duì)生成的n個(gè)密鑰塊進(jìn)行加密(S130)。在此,加密密鑰可以已指定成每個(gè)主機(jī)服務(wù)器200各不相同。這種加密密鑰可在對(duì)主機(jī)服務(wù)器200安裝用于管理密鑰的代理時(shí)被設(shè)定到密鑰訪問服務(wù)器100中,但是并不限定于此,也可以從主機(jī)服務(wù)器200實(shí)時(shí)接收指定的臨時(shí)密鑰(temporary key)。

因此,本發(fā)明一實(shí)施例的密鑰管理系統(tǒng)10利用每個(gè)主機(jī)服務(wù)器200各不相同的加密密鑰來對(duì)密鑰塊進(jìn)行加密,由此即使第一主機(jī)服務(wù)器200的加密后的密鑰塊流失到第二主機(jī)服務(wù)器200,無法知道第一主機(jī)服務(wù)器200的加密密鑰的第二主機(jī)服務(wù)器200也不可能對(duì)加密后的密鑰塊進(jìn)行解密。

接著,密鑰訪問服務(wù)器100將n個(gè)加密后的密鑰塊分散存儲(chǔ)在n個(gè)主機(jī)服務(wù)器200中(S135)。更具體來講,密鑰訪問服務(wù)器100可利用密鑰分散協(xié)議(key sharing protocol)來將密鑰塊傳送給主機(jī)服務(wù)器200。在此,密鑰分散協(xié)議為以不允許主機(jī)組20中所包括的主機(jī)服務(wù)器200之間進(jìn)行數(shù)據(jù)收發(fā)的方式定義的固有協(xié)議。此外,密鑰分散協(xié)議為以僅在數(shù)據(jù)收發(fā)的一側(cè)為密鑰訪問服務(wù)器100的情況下允許數(shù)據(jù)收發(fā)的方式定義的協(xié)議。

此外,密鑰訪問服務(wù)器100在主機(jī)組20中所包括的主機(jī)服務(wù)器200中選擇想要存儲(chǔ)密鑰塊的主機(jī)服務(wù)器200時(shí),可選擇與同作為密鑰塊的基礎(chǔ)的主密鑰相關(guān)的使用者的云服務(wù)不關(guān)聯(lián)的主機(jī)服務(wù)器200。即,密鑰訪問服務(wù)器100可將關(guān)于第一使用者的主密鑰分散存儲(chǔ)在與提供給第一使用者的云服務(wù)不關(guān)聯(lián)的主機(jī)服務(wù)器200中。

因此,本發(fā)明一實(shí)施例的密鑰管理系統(tǒng)10通過將關(guān)于第一使用者的主密鑰分散存儲(chǔ)在與提供給第一使用者的云服務(wù)不關(guān)聯(lián)的主機(jī)服務(wù)器200中,與第一使用者具有密切關(guān)系的人無法從與第一使用者的云服務(wù)關(guān)聯(lián)的主機(jī)服務(wù)器200中收集密鑰塊。

接著,密鑰訪問服務(wù)器100從分散存儲(chǔ)有密鑰塊的n個(gè)主機(jī)服務(wù)器200分別接收哈希值(S140)。并且,密鑰訪問服務(wù)器100通過對(duì)接收到的哈希值和生成的密鑰塊的哈希值進(jìn)行比較來判斷是否彼此相同(S145)。判斷結(jié)果,在從n個(gè)主機(jī)服務(wù)器200分別接收的哈希值和以主密鑰為基礎(chǔ)生成的各個(gè)密鑰塊的哈希值中存在不同的哈希值的情況下,密鑰訪問服務(wù)器100可向相應(yīng)的主機(jī)服務(wù)器200重新傳送加密后的密鑰塊。

判斷結(jié)果,在從n個(gè)主機(jī)服務(wù)器200分別接收到的哈希值和以主密鑰為基礎(chǔ)生成的各個(gè)密鑰塊的哈希值均相同的情況下,密鑰訪問服務(wù)器100將各個(gè)密鑰塊的哈希值存儲(chǔ)在密鑰管理數(shù)據(jù)庫300中。并且,在存儲(chǔ)器或貯存器中存儲(chǔ)有主密鑰的情況下,密鑰訪問服務(wù)器100刪除存儲(chǔ)的主密鑰(S150)。

因此,本發(fā)明一實(shí)施例的密鑰管理系統(tǒng)10通過在用專門的主密鑰對(duì)云服務(wù)中所使用的服務(wù)密鑰進(jìn)行加密之后,生成并分散存儲(chǔ)僅在存在臨界數(shù)以上的情況下能夠重構(gòu)主密鑰的密鑰塊,并且在任何服務(wù)器或裝置中也不會(huì)存儲(chǔ)主密鑰,能夠確保主密鑰的機(jī)密性。

圖5是用于說明本發(fā)明一實(shí)施例的主密鑰重構(gòu)方法的順序圖。

參照?qǐng)D5,密鑰訪問服務(wù)器100從服務(wù)裝置400的實(shí)例接收服務(wù)密鑰的提供請(qǐng)求(S205)。密鑰訪問服務(wù)器100可利用安全套接層/傳輸層安全協(xié)議(SSL/TLS Protocol)來從服務(wù)裝置400的實(shí)例接收服務(wù)密鑰的提供請(qǐng)求,但并不限定于此。

進(jìn)一步,密鑰訪問服務(wù)器100可在從服務(wù)裝置400的實(shí)例接收服務(wù)密鑰的提供請(qǐng)求之前,從服務(wù)裝置400的實(shí)例接收云服務(wù)使用者的標(biāo)識(shí)符和服務(wù)密鑰的標(biāo)識(shí)符,并利用接收到的服務(wù)使用者的標(biāo)識(shí)符和服務(wù)密鑰的標(biāo)識(shí)符來認(rèn)證實(shí)例,但并不限定于此。

接著,密鑰訪問服務(wù)器100判斷在密鑰訪問服務(wù)器100的存儲(chǔ)器或基于存儲(chǔ)器的數(shù)據(jù)庫700中是否存在關(guān)于請(qǐng)求提供服務(wù)密鑰的實(shí)例的主密鑰(S210)。

判斷結(jié)果,在密鑰訪問服務(wù)器100的存儲(chǔ)器和基于存儲(chǔ)器的數(shù)據(jù)庫700中不存在相應(yīng)的主密鑰的情況下,從分散存儲(chǔ)有密鑰塊的n個(gè)主機(jī)服務(wù)器200中識(shí)別大于或等于主密鑰重構(gòu)中所需要的密鑰塊的臨界數(shù)k的數(shù)目的主機(jī)服務(wù)器200。并且,密鑰訪問服務(wù)器100利用關(guān)于識(shí)別出的各個(gè)主機(jī)服務(wù)器200的加密密鑰來對(duì)密鑰塊請(qǐng)求消息分別進(jìn)行加密(S215)。

接著,密鑰訪問服務(wù)器100向識(shí)別出的各個(gè)主機(jī)服務(wù)器200傳送加密后的密鑰塊請(qǐng)求消息(S220)。在此,密鑰訪問服務(wù)器100可不向分散存儲(chǔ)有密鑰塊的所有n個(gè)主機(jī)服務(wù)器200傳送加密后的密鑰塊請(qǐng)求消息,而是僅對(duì)分散存儲(chǔ)有密鑰塊的n個(gè)主機(jī)服務(wù)器200中的、大于或等于主密鑰重構(gòu)中所需要的密鑰塊的臨界數(shù)k的數(shù)目的主機(jī)服務(wù)器200傳送加密后的密鑰塊請(qǐng)求消息。

此外,密鑰訪問服務(wù)器100可利用密鑰分散協(xié)議來傳送加密后的密鑰塊請(qǐng)求消息。在此,密鑰分散協(xié)議為以不允許主機(jī)組20中所包括的主機(jī)服務(wù)器200之間進(jìn)行數(shù)據(jù)收發(fā)的方式定義的固有協(xié)議。此外,密鑰分散協(xié)議為以僅在數(shù)據(jù)收發(fā)的一側(cè)為密鑰訪問服務(wù)器100的情況下允許數(shù)據(jù)收發(fā)的方式定義的協(xié)議。

接著,密鑰訪問服務(wù)器100從傳送密鑰塊請(qǐng)求消息的各個(gè)主機(jī)服務(wù)器200接收加密后的密鑰塊(S225)。密鑰訪問服務(wù)器100可利用密鑰分散協(xié)議來接收加密后的密鑰塊。并且,密鑰訪問服務(wù)器100利用關(guān)于傳送密鑰塊請(qǐng)求消息的主機(jī)服務(wù)器200的加密密鑰來對(duì)加密后的各個(gè)密鑰塊進(jìn)行解密(S230)。

接著,密鑰訪問服務(wù)器100通過對(duì)解密后的各個(gè)密鑰塊的哈希值和分別存儲(chǔ)在密鑰管理數(shù)據(jù)庫300中的哈希值進(jìn)行比較,來判斷是否彼此相同(S235)。判斷結(jié)果,在解密后的各個(gè)密鑰塊的哈希值和分別存儲(chǔ)在密鑰管理數(shù)據(jù)庫300中的哈希值中存在不同的哈希值的情況下,密鑰訪問服務(wù)器100可向相應(yīng)的主機(jī)服務(wù)器200重新傳送加密后的密鑰傳送請(qǐng)求消息。

判斷結(jié)果,在解密后的各個(gè)密鑰塊的哈希值和分別存儲(chǔ)在密鑰管理數(shù)據(jù)庫300中的哈希值均相同的情況下,密鑰訪問服務(wù)器100以密鑰塊為基礎(chǔ)重構(gòu)主密鑰(S240)。具體來講,密鑰訪問服務(wù)器100可利用拉格朗日差值法(Lagrange interpolation)來重構(gòu)主密鑰。下面,對(duì)密鑰訪問服務(wù)器100的主密鑰重構(gòu)方法進(jìn)行具體說明。

假設(shè)為了重構(gòu)主密鑰而所需要的密鑰塊的臨界數(shù)為k,關(guān)于主機(jī)服務(wù)器200i的密鑰塊為yi。密鑰訪問服務(wù)器100可利用以下數(shù)學(xué)式2來計(jì)算主密鑰f(0)。

[數(shù)學(xué)式2]

<mrow> <mi>f</mi> <mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msub> <mi>y</mi> <msub> <mi>i</mi> <mi>j</mi> </msub> </msub> <munder> <mo>&Pi;</mo> <mrow> <mn>1</mn> <mo>&le;</mo> <mi>l</mi> <mo>&le;</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>&NotEqual;</mo> <mi>j</mi> </mrow> </munder> <mfrac> <msub> <mi>x</mi> <msub> <mi>i</mi> <mi>l</mi> </msub> </msub> <mrow> <msub> <mi>x</mi> <msub> <mi>i</mi> <mi>l</mi> </msub> </msub> <mo>-</mo> <msub> <mi>x</mi> <msub> <mi>i</mi> <mi>j</mi> </msub> </msub> </mrow> </mfrac> </mrow>

因此,本發(fā)明一實(shí)施例的密鑰管理系統(tǒng)10在分散存儲(chǔ)在n個(gè)主機(jī)服務(wù)器200中的n個(gè)密鑰塊中存在少于臨界數(shù)k的數(shù)目的密鑰塊的情況下無法重構(gòu)主密鑰,僅在存在大于或等于臨界數(shù)k的數(shù)目的密鑰塊的情況下能夠重構(gòu)主密鑰。

接著,密鑰訪問服務(wù)器100可將重構(gòu)的主密鑰存儲(chǔ)在基于存儲(chǔ)器的數(shù)據(jù)庫700中(S245)。在本發(fā)明一實(shí)施例的密鑰管理系統(tǒng)10中不包括基于存儲(chǔ)器的數(shù)據(jù)庫700的情況下,可省略本步驟來執(zhí)行,這對(duì)本領(lǐng)域技術(shù)人員來說是顯而易見的。

接著,密鑰訪問服務(wù)器100從密鑰管理數(shù)據(jù)庫300中提取與實(shí)例的請(qǐng)求關(guān)聯(lián)的加密后的服務(wù)密鑰(S250)。密鑰訪問服務(wù)器100利用主密鑰來對(duì)加密后的服務(wù)密鑰進(jìn)行解密(S255)。并且,密鑰訪問服務(wù)器100將解密后的服務(wù)密鑰傳送給服務(wù)裝置400的實(shí)例(S260)。

因此,本發(fā)明一實(shí)施例的密鑰管理系統(tǒng)10即使丟失分散存儲(chǔ)的密鑰塊的一部分也能夠重構(gòu)主密鑰,從而能夠確保主密鑰的可用性。此外,即使流失為了生成主密鑰而所需要的臨界數(shù)以上的密鑰塊,也因多個(gè)密鑰塊各自以不同的加密密鑰被加密從而僅用流失的密鑰塊無法重構(gòu)主密鑰。

下面,對(duì)本發(fā)明另一實(shí)施例的主密鑰分散存儲(chǔ)方法及主密鑰重構(gòu)方法進(jìn)行具體說明。

圖6是用于說明本發(fā)明另一實(shí)施例的主密鑰分散存儲(chǔ)方法的信號(hào)流程圖。

參照?qǐng)D6,服務(wù)裝置400的實(shí)例在用服務(wù)密鑰對(duì)云服務(wù)的數(shù)據(jù)進(jìn)行加密之后,將服務(wù)密鑰傳送給密鑰訪問服務(wù)器100(S305)。具體來講,服務(wù)裝置400的實(shí)例可利用密鑰管理互操作性協(xié)議(KMIP)來將服務(wù)密鑰傳送給密鑰訪問服務(wù)器100,但并不限定于此。

密鑰訪問服務(wù)器100生成用于加密接收到的服務(wù)密鑰的主密鑰(S310)。密鑰訪問服務(wù)器100利用生成的主密鑰來對(duì)接收到的服務(wù)密鑰進(jìn)行加密(S315)。并且,密鑰訪問服務(wù)器100將加密后的服務(wù)密鑰傳送給密鑰管理數(shù)據(jù)庫300(S320)。

密鑰管理數(shù)據(jù)庫300響應(yīng)于加密后的服務(wù)密鑰的接收,存儲(chǔ)加密后的服務(wù)密鑰(S325)。

密鑰訪問服務(wù)器100生成用于重構(gòu)主密鑰的兩個(gè)以上的密鑰塊(S330)。具體來講,密鑰訪問服務(wù)器100可生成僅在存在臨界數(shù)以上的情況下能夠重構(gòu)主密鑰的密鑰塊。由于關(guān)于密鑰訪問服務(wù)器100的密鑰塊生成方法的更具體說明與參照?qǐng)D4來進(jìn)行詳細(xì)說明的相同,因此不再重復(fù)說明。

密鑰訪問服務(wù)器100利用每個(gè)主機(jī)服務(wù)器200各不相同的加密密鑰來對(duì)密鑰塊分別進(jìn)行加密(S335)。在此,加密密鑰可在對(duì)主機(jī)服務(wù)器200安裝用于管理密鑰的代理時(shí)被設(shè)定到密鑰訪問服務(wù)器100中,但并不限定于此,也可以從主機(jī)服務(wù)器200實(shí)時(shí)接收指定的臨時(shí)密鑰。

密鑰訪問服務(wù)器100將加密后的各個(gè)密鑰塊傳送給多個(gè)主機(jī)服務(wù)器200(S340)。密鑰訪問服務(wù)器100可利用密鑰分散協(xié)議來將密鑰塊傳送給多個(gè)主機(jī)服務(wù)器200。

多個(gè)主機(jī)服務(wù)器200利用各個(gè)加密密鑰來對(duì)接收到的密鑰塊進(jìn)行解密(S345)。多個(gè)主機(jī)服務(wù)器200生成解密后的密鑰塊的哈希值(S350)。多個(gè)主機(jī)服務(wù)器200存儲(chǔ)解密后的密鑰塊(S355)。并且,多個(gè)主機(jī)服務(wù)器200將生成的哈希值傳送給密鑰訪問服務(wù)器100。

密鑰訪問服務(wù)器100通過將從主機(jī)服務(wù)器200接收到的哈希值和以主密鑰為基礎(chǔ)生成的密鑰塊的哈希值進(jìn)行比較,來判斷是否彼此相同(S365)。判斷結(jié)果,在從主機(jī)服務(wù)器200接收到的哈希值和以主密鑰為基礎(chǔ)生成的密鑰塊的哈希值中存在不同的哈希值的情況下,密鑰訪問服務(wù)器100可向相應(yīng)的主機(jī)服務(wù)器200重新再傳送加密后的密鑰塊。

判斷結(jié)果,在從主機(jī)服務(wù)器200接收到的哈希值和以主密鑰為基礎(chǔ)生成的密鑰塊的哈希值均相同的情況下,密鑰訪問服務(wù)器100刪除存儲(chǔ)在存儲(chǔ)器或貯存器中的主密鑰(S370)。

圖7是用于說明本發(fā)明另一實(shí)施例的主密鑰重構(gòu)方法的信號(hào)流程圖。下面,假設(shè)在密鑰訪問服務(wù)器100的存儲(chǔ)器和基于存儲(chǔ)器的數(shù)據(jù)庫700中不存在主密鑰。

參照?qǐng)D7,為了對(duì)云服務(wù)數(shù)據(jù)進(jìn)行解密,服務(wù)裝置400的實(shí)例將服務(wù)密鑰的提供請(qǐng)求傳送給密鑰訪問服務(wù)器100(S405)。具體來講,服務(wù)裝置400的實(shí)例可利用安全套接層/傳輸層安全協(xié)議(SSL/TLS Protocol)來向密鑰訪問服務(wù)器100傳送服務(wù)密鑰的提供請(qǐng)求,但并不限定于此。

密鑰訪問服務(wù)器100響應(yīng)于接收到服務(wù)密鑰的提供請(qǐng)求,識(shí)別分散存儲(chǔ)有用于解密服務(wù)密鑰的主密鑰的密鑰塊的多個(gè)主機(jī)服務(wù)器200。密鑰訪問服務(wù)器100利用關(guān)于識(shí)別出的各個(gè)主機(jī)服務(wù)器200的加密密鑰來對(duì)密鑰塊請(qǐng)求消息分別進(jìn)行加密(S410)。并且,密鑰訪問服務(wù)器100向識(shí)別出的各個(gè)主機(jī)服務(wù)器200傳送加密后的密鑰塊請(qǐng)求消息(S415)。

多個(gè)主機(jī)服務(wù)器200用各自的加密密鑰對(duì)加密后的密鑰塊請(qǐng)求消息進(jìn)行解密。并且,多個(gè)主機(jī)服務(wù)器200驗(yàn)證密鑰訪問服務(wù)器100是否為惡意(malicious)服務(wù)器(S420)。下面,對(duì)費(fèi)爾德曼(Feldman)所建議的利用離散對(duì)數(shù)的主機(jī)服務(wù)器200的驗(yàn)證方法進(jìn)行更具體說明。

假設(shè)密鑰訪問服務(wù)器100對(duì)多個(gè)主機(jī)服務(wù)器200公開了生成密鑰塊的函數(shù)的系數(shù)t的加密后的值E(a)、E(a1)、…、E(at-1)。在以下數(shù)學(xué)式3不成立的情況下,主機(jī)服務(wù)器200i可判斷為密鑰訪問服務(wù)器100是惡意服務(wù)器。

[數(shù)學(xué)式3]

E(f(i))≡E(a0)+(E(a1)×E(i1))+…+(E(at-1)×E(it-1))

但是,多個(gè)主機(jī)服務(wù)器200并不限定于費(fèi)爾德曼所建議的驗(yàn)證方法,也可以利用佩德森(Pederson)所建議的驗(yàn)證方法來驗(yàn)證密鑰訪問服務(wù)器100。

在密鑰訪問服務(wù)器100并不是惡意服務(wù)器的情況下,多個(gè)主機(jī)服務(wù)器200提取各自存儲(chǔ)的密鑰塊,并用各自的加密密鑰對(duì)提取出的密鑰塊進(jìn)行加密(S425)。并且,多個(gè)主機(jī)服務(wù)器200將加密后的密鑰塊傳送給密鑰訪問服務(wù)器100(S430)。

密鑰訪問服務(wù)器100利用關(guān)于傳送密鑰塊的各個(gè)主機(jī)服務(wù)器200的加密密鑰,來對(duì)加密后的密鑰塊進(jìn)行解密(S435)。并且,密鑰訪問服務(wù)器100向密鑰管理數(shù)據(jù)庫300傳送密鑰塊的哈希值提供請(qǐng)求(S440)。

密鑰管理數(shù)據(jù)庫300響應(yīng)于密鑰塊的哈希值提供請(qǐng)求,提取密鑰塊的哈希值(S445)。并且,密鑰管理數(shù)據(jù)庫300將提取出的哈希值傳送給密鑰訪問服務(wù)器100(S450)。

密鑰訪問服務(wù)器100通過對(duì)解密后的密鑰塊的哈希值和從密鑰管理數(shù)據(jù)庫300接收到的哈希值進(jìn)行比較,來判斷是否彼此相同(S455)。判斷結(jié)果,在解密后的密鑰塊的哈希值和從密鑰管理數(shù)據(jù)庫300接收到的哈希值中存在不同的哈希值的情況下,密鑰訪問服務(wù)器100可向相應(yīng)的主機(jī)服務(wù)器200重新傳送加密后的密鑰塊請(qǐng)求消息。

判斷結(jié)果,在解密后的密鑰塊的哈希值和從密鑰管理數(shù)據(jù)庫300接收到的哈希值均相同的情況下,密鑰訪問服務(wù)器100以密鑰塊為基礎(chǔ)重構(gòu)主密鑰(S460)。具體來講,密鑰訪問服務(wù)器100可利用拉格朗日差值法來重構(gòu)主密鑰。由于關(guān)于密鑰訪問服務(wù)器100的主密鑰重構(gòu)方法的更具體說明與參照?qǐng)D5來進(jìn)行詳細(xì)說明的相同,因此不再重復(fù)說明。

密鑰訪問服務(wù)器100向密鑰管理數(shù)據(jù)庫300傳送加密后的服務(wù)密鑰提供請(qǐng)求(S465)。

密鑰管理數(shù)據(jù)庫300響應(yīng)于加密后的服務(wù)密鑰提供請(qǐng)求,提取加密后的服務(wù)密鑰(S470)。并且,密鑰管理數(shù)據(jù)庫300將提取出的加密后的服務(wù)密鑰傳送給密鑰訪問服務(wù)器100(S475)。

密鑰訪問服務(wù)器100利用重構(gòu)的主密鑰來對(duì)加密后的服務(wù)密鑰進(jìn)行解密(S480)。并且,密鑰訪問服務(wù)器100將解密后的服務(wù)密鑰傳送給服務(wù)裝置400的實(shí)例(S485)。

目前為止,參照?qǐng)D4至圖7來進(jìn)行說明的本發(fā)明實(shí)施例的方法可通過執(zhí)行以計(jì)算機(jī)可讀代碼實(shí)現(xiàn)的計(jì)算機(jī)程序來執(zhí)行。計(jì)算機(jī)程序可通過互聯(lián)網(wǎng)等網(wǎng)絡(luò)從第一計(jì)算裝置被傳送到第二計(jì)算裝置并被安裝在第二計(jì)算裝置中,由此能夠在第二計(jì)算裝置中使用。在此,第一計(jì)算裝置和第二計(jì)算裝置均可包括如臺(tái)式機(jī)(Desktop)、服務(wù)器(Server)或工作站(Workstation)等的固定式計(jì)算裝置;如智能手機(jī)(Smart phone)、平板電腦(Tablet)、平板手機(jī)(Phablet)或膝上型電腦(Laptop)等的移動(dòng)計(jì)算裝置;以及如智能手表(Smart Watch)、智能眼鏡(Smart Glasses)或智能腕帶(Smart Band)等的可穿戴式(Wearable)計(jì)算裝置。

下面,參照?qǐng)D8和圖9,對(duì)本發(fā)明一實(shí)施例的密鑰訪問服務(wù)器100的邏輯結(jié)構(gòu)進(jìn)行具體說明。

圖8是本發(fā)明一實(shí)施例的密鑰訪問服務(wù)器100的方框圖。參照?qǐng)D8,密鑰訪問服務(wù)器100可包括通信部105、存儲(chǔ)部110、主密鑰生成部115、服務(wù)密鑰加解密部120、主密鑰分散存儲(chǔ)部125和主密鑰重構(gòu)部130。

對(duì)各個(gè)結(jié)構(gòu)進(jìn)行說明,通信部105可利用密鑰分散協(xié)議來與主機(jī)服務(wù)器200進(jìn)行數(shù)據(jù)收發(fā)。通信部105可通過制作用于請(qǐng)求數(shù)據(jù)提供的查詢(query)來與密鑰管理數(shù)據(jù)庫300進(jìn)行數(shù)據(jù)收發(fā)。此外,通信部105也可以利用密鑰管理互操作性協(xié)議(KMIP)或安全套接層/傳輸層安全協(xié)議(SSL/TLS Protocol)來與服務(wù)裝置400進(jìn)行數(shù)據(jù)收發(fā)。

存儲(chǔ)部110可存儲(chǔ)密鑰訪問服務(wù)器100的操作中所需要的數(shù)據(jù)。特別是,在因服務(wù)裝置400的實(shí)例反復(fù)請(qǐng)求服務(wù)密鑰而密鑰訪問服務(wù)器100反復(fù)利用用于特定服務(wù)的主密鑰的情況下,為了提高對(duì)主密鑰的訪問速度,存儲(chǔ)部110在基于存儲(chǔ)器的存儲(chǔ)區(qū)中進(jìn)一步可包括并存儲(chǔ)有主密鑰135。

主密鑰生成部115可生成用于加密服務(wù)密鑰的主密鑰。具體來講,主密鑰生成部115通過通信部105向主機(jī)服務(wù)器200傳送隨機(jī)種子(seed)。主密鑰生成部115通過通信部105從主機(jī)服務(wù)器200接收隨機(jī)種子。主密鑰生成部115以隨機(jī)種子為基礎(chǔ),并根據(jù)已指定的隨機(jī)生成機(jī)制來生成主密鑰。因此,主密鑰生成部115所生成的主密鑰可根據(jù)云服務(wù)的使用者(tenant)、通過云服務(wù)提供的服務(wù)或與云服務(wù)關(guān)聯(lián)的業(yè)務(wù)等而具有隨機(jī)且唯一的值。此外,主密鑰生成部115通過在需要新的主密鑰的時(shí)刻從穩(wěn)定連接的主機(jī)服務(wù)器200接收隨機(jī)種子,并以接收到的隨機(jī)種子為基礎(chǔ)生成主密鑰,能夠降低預(yù)測所生成的主密鑰值的可能性。

服務(wù)密鑰加解密部120在通過通信部105接收到服務(wù)密鑰的情況下,可以以通過主密鑰生成部115生成的主密鑰為基礎(chǔ),對(duì)服務(wù)密鑰進(jìn)行加密。此外,服務(wù)密鑰加解密部120在通過主密鑰重構(gòu)部130重構(gòu)主密鑰的情況下,可對(duì)加密后的服務(wù)密鑰進(jìn)行解密。

主密鑰分散存儲(chǔ)部125可生成用于重構(gòu)主密鑰的兩個(gè)以上的密鑰塊,并通過通信部105傳送生成的密鑰塊。具體來講,主密鑰分散存儲(chǔ)部125可生成僅在存在臨界數(shù)以上的情況下能夠重構(gòu)主密鑰的密鑰塊。由于關(guān)于主密鑰分散存儲(chǔ)部125的密鑰塊生成方法的更具體說明與參照?qǐng)D4詳細(xì)說明的相同,因此不再重復(fù)說明。

并且,主密鑰分散存儲(chǔ)部125可利用每個(gè)主機(jī)服務(wù)器200各不相同的加密密鑰來對(duì)密鑰塊分別進(jìn)行加密。主密鑰分散存儲(chǔ)部125可通過通信部105將加密后的各個(gè)密鑰塊傳送給多個(gè)主機(jī)服務(wù)器200。主密鑰分散存儲(chǔ)部125可通過通信部105接收哈希值。并且,主密鑰分散存儲(chǔ)部125可通過對(duì)接收到的哈希值和密鑰塊的哈希值進(jìn)行比較來判斷是否彼此相同。

主密鑰重構(gòu)部130可利用兩個(gè)以上的密鑰塊來重構(gòu)主密鑰。具體來講,主密鑰重構(gòu)部130可通過通信部105接收加密后的密鑰塊。主密鑰重構(gòu)部130可利用關(guān)于傳送密鑰塊的各個(gè)主機(jī)服務(wù)器200的加密密鑰來對(duì)加密后的密鑰塊進(jìn)行解密。主密鑰重構(gòu)部130可通過通信部105從密鑰管理數(shù)據(jù)庫300接收哈希值。主密鑰重構(gòu)部130可通過對(duì)解密后的密鑰塊的哈希值和從密鑰管理數(shù)據(jù)庫300接收的哈希值進(jìn)行比較,來判斷是否彼此相同。

并且,主密鑰重構(gòu)部130可以以解密后的密鑰塊為基礎(chǔ)重構(gòu)主密鑰。具體來講,主密鑰重構(gòu)部130可利用拉格朗日差值法來重構(gòu)主密鑰。由于關(guān)于主密鑰重構(gòu)部130的主密鑰重構(gòu)方法的更具體說明與參照?qǐng)D5來進(jìn)行詳細(xì)說明的相同,因此不再重復(fù)說明。

目前為止,圖8的各結(jié)構(gòu)要素可指軟件(Software),或者如現(xiàn)場可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)或?qū)S眉呻娐?Application-Specific Integrated Circuit,ASIC)等的硬件(hardware)。但是,所述結(jié)構(gòu)要素并不限定于軟件或硬件,而是可以構(gòu)成為位于可尋址(addressing)的存儲(chǔ)介質(zhì)中,還可以構(gòu)成為運(yùn)行一個(gè)或更多個(gè)處理器。在所述結(jié)構(gòu)要素內(nèi)提供的功能可由進(jìn)一步細(xì)分的結(jié)構(gòu)要素來實(shí)現(xiàn),還可以以將多個(gè)結(jié)構(gòu)要素相加來執(zhí)行特定的功能的一個(gè)結(jié)構(gòu)要素來實(shí)現(xiàn)。

圖9是本發(fā)明一實(shí)施例的密鑰訪問服務(wù)器100的硬件結(jié)構(gòu)圖。參照?qǐng)D9,密鑰訪問服務(wù)器100可包括處理器155、存儲(chǔ)器160、網(wǎng)絡(luò)接口165、數(shù)據(jù)總線170和貯存器175。

存儲(chǔ)器160中可駐留有實(shí)現(xiàn)密鑰管理方法的計(jì)算機(jī)程序數(shù)據(jù)180a。此外,在密鑰訪問服務(wù)器100反復(fù)利用主密鑰的情況下,存儲(chǔ)器160可進(jìn)一步包括并存儲(chǔ)主密鑰135。

網(wǎng)絡(luò)接口165可與主機(jī)服務(wù)器200、密鑰管理數(shù)據(jù)庫300進(jìn)行數(shù)據(jù)收發(fā)。此外,網(wǎng)絡(luò)接口165也可以與服務(wù)裝置400進(jìn)行數(shù)據(jù)收發(fā)。

數(shù)據(jù)總線170為與處理器155、存儲(chǔ)器160、網(wǎng)絡(luò)接口165和貯存器175相連接從而在各結(jié)構(gòu)要素之間傳遞數(shù)據(jù)的移動(dòng)通道。

并且,貯存器175可存儲(chǔ)為了執(zhí)行計(jì)算機(jī)程序而所需要的應(yīng)用程序設(shè)計(jì)接口(API)、庫(Library)或資源(Resource)文件等。此外,貯存器175可存儲(chǔ)用于實(shí)現(xiàn)密鑰管理方法的計(jì)算機(jī)程序數(shù)據(jù)180b。

更具體來講,貯存器175中可存儲(chǔ)有包括如下指令的計(jì)算機(jī)程序:利用主密鑰來對(duì)由云服務(wù)的第一使用者的實(shí)例使用的服務(wù)密鑰進(jìn)行加密的指令(Instruction);生成用于重構(gòu)主密鑰的兩個(gè)以上的密鑰塊的指令;通過網(wǎng)絡(luò)接口,將密鑰塊分散存儲(chǔ)在用于提供云服務(wù)的主機(jī)組中所包括的兩個(gè)以上的主機(jī)服務(wù)器中的指令;通過網(wǎng)絡(luò)接口,從第一使用者的實(shí)例接收服務(wù)密鑰的提供請(qǐng)求的指令;通過網(wǎng)絡(luò)接口,從兩個(gè)以上的主機(jī)服務(wù)器接收密鑰塊,并以接收到的密鑰塊為基礎(chǔ)重構(gòu)主密鑰的指令;以及利用主密鑰對(duì)加密后的服務(wù)密鑰進(jìn)行解密的指令。

以上參照附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行了說明,但本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員應(yīng)能理解,本發(fā)明可不變更本發(fā)明的技術(shù)思想或必要特征而以其它具體方式實(shí)施。因此,應(yīng)理解為以上所述的實(shí)施例在所有方面為示例性的并非限定性的。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
双鸭山市| 峨山| 清苑县| 忻州市| 保山市| 英吉沙县| 根河市| 阿瓦提县| 克山县| 上高县| 巴塘县| 西峡县| 虹口区| 尖扎县| 吉安市| 板桥市| 舒城县| 安仁县| 当阳市| 长兴县| 乌审旗| 五河县| 宁津县| 福海县| 上思县| 屯昌县| 新余市| 弋阳县| 鸡东县| 四子王旗| 安新县| 涿鹿县| 平邑县| 延安市| 桂阳县| 新安县| 轮台县| 尼玛县| 安化县| 江都市| 双江|