用于無線數(shù)據(jù)保護(hù)的系統(tǒng)和方法
【專利摘要】本文公開了利用主設(shè)備和備份設(shè)備上的密碼密鑰管理來進(jìn)行無線數(shù)據(jù)保護(hù)的系統(tǒng)、方法和非暫態(tài)計算機(jī)可讀存儲介質(zhì)。系統(tǒng)利用文件密鑰對文件加密并且對文件密鑰加密兩次,從而得到兩個加密文件密鑰。系統(tǒng)對每個文件密鑰不同地加密并且將第一文件密鑰存儲在主設(shè)備上,并將加密文件密鑰之一與加密文件一起發(fā)送到備份設(shè)備以存儲。在備份設(shè)備上,系統(tǒng)將加密文件密鑰與由用戶口令保護(hù)的一組備份密鑰相關(guān)聯(lián)。一個實施例中,系統(tǒng)基于文件密鑰生成用在密碼操作中的初始化向量。另一實施例中,系統(tǒng)在用戶口令改變期間管理備份設(shè)備上的密碼密鑰。
【專利說明】用于無線數(shù)據(jù)保護(hù)的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及無線數(shù)據(jù)保護(hù),更具體而言涉及保護(hù)與設(shè)備之間的備份有關(guān)的密碼密鑰。
【背景技術(shù)】
[0002]諸如電話、PDA、膝上型電腦等等之類的移動通信設(shè)備是許多用戶的日常操作的關(guān)鍵方面。移動設(shè)備提供電子郵件、文本消息、即時聊天、語音和視頻形式的通信。這些設(shè)備經(jīng)常存儲有價值的信息,例如個人數(shù)據(jù)和機(jī)密的公司數(shù)據(jù)。這種設(shè)備可存儲的信息量越來越多,存儲信息的重要性也越來越高。當(dāng)移動設(shè)備丟失或損壞時,設(shè)備內(nèi)存儲的所有信息也丟失。
[0003]一些計算系統(tǒng)采用備份機(jī)制,使得在計算系統(tǒng)丟失或毀壞的情況下,至少一些數(shù)據(jù)是可恢復(fù)的。備份機(jī)制通常涉及將文件的全部或一部分拷貝到備份系統(tǒng)以存儲??蛇x地,備份系統(tǒng)存儲先前備份的文件的增量備份,使得只有變化了的數(shù)據(jù)被發(fā)送到備份系統(tǒng)。
[0004]存在定期自動備份移動設(shè)備上存儲的數(shù)據(jù)的移動設(shè)備備份機(jī)制。這些機(jī)制可將數(shù)據(jù)備份到諸如電腦、膝上型計算機(jī)、桌面型計算機(jī)和服務(wù)器之類的其他設(shè)備或計算系統(tǒng),當(dāng)移動設(shè)備上的數(shù)據(jù)可訪問時這是足夠的。然而,當(dāng)數(shù)據(jù)不可訪問時,例如當(dāng)移動設(shè)備被鎖定時,備份機(jī)制不能備份數(shù)據(jù),因為其不能訪問用戶口令來解鎖設(shè)備??朔巳觞c的一種方法是備份機(jī)制只在設(shè)備被解鎖時執(zhí)行備份。此方法提供了一種備份手段,但不能備份自上次解鎖事件以后設(shè)備上存儲的更新近數(shù)據(jù)。另一個解決方案是用戶解鎖移動設(shè)備來執(zhí)行備份。然而,此方法要求來自用戶的輸入。
【發(fā)明內(nèi)容】
[0005]本公開的額外特征和優(yōu)點將在接下來的描述中記載,并且一部分從描述中顯現(xiàn)出來,或者可通過實現(xiàn)本文公開的原理來獲知。本公開的特征和優(yōu)點可憑借所附權(quán)利要求中具體指出的手段和組合來實現(xiàn)和獲得。本公開的這些和其他特征將通過接下來的描述和所附權(quán)利要求而變得更充分清楚,或者可通過實現(xiàn)本文記載的原理來獲知。
[0006]本申請公開了用于在主設(shè)備與備份設(shè)備之間的備份期間保護(hù)密碼密鑰的系統(tǒng)、方法和非暫態(tài)計算機(jī)可讀存儲介質(zhì)。主設(shè)備可以是任何計算設(shè)備,例如個人計算機(jī)、膝上型電腦、網(wǎng)絡(luò)上的工作站、服務(wù)器、蜂窩電話、個人數(shù)字助理或者其他能夠存儲數(shù)據(jù)的固定或移動設(shè)備。類似地,備份設(shè)備可以是任何計算設(shè)備,例如個人計算機(jī)、膝上型電腦、網(wǎng)絡(luò)上的工作站、服務(wù)器、蜂窩電話、個人數(shù)字助理或者其他能夠存儲數(shù)據(jù)的固定或移動設(shè)備。示范性系統(tǒng)通過利用文件密鑰對文件加密以得到加密文件來在主設(shè)備上管理密碼密鑰。系統(tǒng)利用類別加密密鑰(class encryption key)對文件密鑰(file key)加密,從而得到加密文件密鑰。類別加密密鑰根據(jù)文件作為其成員的類別來保護(hù)文件密鑰。在系統(tǒng)利用類別加密密鑰對文件密鑰加密之后,系統(tǒng)利用與一組備份密鑰(backup key)相關(guān)聯(lián)的公鑰(publickey)來第二次對文件密鑰加密,從而得到第二加密文件密鑰。系統(tǒng)隨后將加密文件和第二加密文件密鑰發(fā)送到備份設(shè)備。第一加密文件密鑰被存儲在主設(shè)備上。
[0007]示范性備份設(shè)備通過在備份設(shè)備處從主設(shè)備接收加密文件和加密文件密鑰來管理密碼密鑰。系統(tǒng)將加密文件密鑰與一組備份密鑰相關(guān)聯(lián)并且利用備份密鑰組密鑰對該組備份密鑰加密,從而得到一組加密備份密鑰。備份設(shè)備在備份設(shè)備上存儲加密文件、加密文件密鑰和該組加密備份密鑰以便用于恢復(fù)。
[0008]在備份恢復(fù)實施例中,示范性系統(tǒng)可將加密文件數(shù)據(jù)從備份設(shè)備恢復(fù)到主設(shè)備。當(dāng)諸如電話或膝上型電腦之類的主設(shè)備損壞或丟失時,系統(tǒng)可以將與設(shè)備一起丟失的數(shù)據(jù)從備份設(shè)備恢復(fù)到主設(shè)備或恢復(fù)到新設(shè)備。本文記載的方案可假定,當(dāng)設(shè)備損壞或丟失時,與該設(shè)備相關(guān)聯(lián)的口令、密鑰或其他證書遭到了危害。系統(tǒng)將加密文件數(shù)據(jù)、加密文件密鑰和一組加密備份密鑰從備份設(shè)備發(fā)送到主設(shè)備。系統(tǒng)通過在備份設(shè)備處接收加密文件和加密文件密鑰并將加密文件密鑰與一組備份密鑰相關(guān)聯(lián)來創(chuàng)建該組加密備份密鑰。然后,系統(tǒng)利用備份密鑰組密鑰來對該組備份密鑰加密,從而得到一組加密的備份密鑰。
[0009]在數(shù)據(jù)恢復(fù)期間,在主設(shè)備處,系統(tǒng)從備份設(shè)備接收加密文件數(shù)據(jù)、加密文件密鑰和一組加密備份密鑰。系統(tǒng)利用備份密鑰組密鑰對該組加密備份密鑰解密,從而得到一組解密的備份密鑰。然后,系統(tǒng)利用備份密鑰對加密文件密鑰解密,從而得到解密的文件密鑰。利用解密的文件密鑰對加密文件數(shù)據(jù)解密,從而得到解密的文件數(shù)據(jù)。然后,系統(tǒng)將文件數(shù)據(jù)存儲在主設(shè)備上。
[0010]在另一實施例中,管理密碼密鑰的系統(tǒng)可生成用在密碼操作中的初始化向量。系統(tǒng)對第一加密密鑰執(zhí)行密碼散列并將所得到的散列截短到加密密鑰大小。系統(tǒng)隨后利用以塊偏移作為種子的線性反饋移位寄存器生成中間結(jié)果。利用第一加密密鑰的截短的散列對中間結(jié)果加密,從而得到初始化向量。在利用以密碼塊鏈接模式(cipher block chainingmode)運(yùn)行的分塊加密器算法進(jìn)行的加密和解密期間利用該初始化向量。初始化向量初始化分塊加密器算法。
[0011]此外,系統(tǒng)可在用戶執(zhí)行的口令改變期間備份加密密鑰。系統(tǒng)假定舊的口令已遭到危害并且生成額外的一組密鑰來保護(hù)文件密鑰。系統(tǒng)將在創(chuàng)建新文件時生成的新文件加密密鑰與該額外的一組備份密鑰相關(guān)聯(lián)。然后,系統(tǒng)利用從用戶接收的新口令來對第二組備份密鑰加密。這樣,系統(tǒng)在口令改變期間備份加密密鑰。
【專利附圖】
【附圖說明】
[0012]為了描述能夠獲得本公開的上述和其他優(yōu)點和特征的方式,對上文簡要描述的原理的更具體描述將通過參考在附圖中圖示的其具體實施例來給出。在理解到這些附圖只是描繪了本公開的示范性實施例并因此不應(yīng)被認(rèn)為在限定其范圍的同時,通過使用附圖來更加具體且詳細(xì)地描述和說明這里的原理,附圖中:
[0013]圖1圖示了示例系統(tǒng)實施例;
[0014]圖2圖示了非對稱密鑰密碼術(shù);
[0015]圖3圖示了對稱密鑰密碼術(shù);
[0016]圖4圖示了密碼塊鏈接(cipher-block chaining, CBC)模式加密;
[0017]圖5圖不了電子碼書(electronic codebook, ECB)模式加密;
[0018]圖6圖示了用于主設(shè)備上的密碼密鑰管理的示范性方法實施例;[0019]圖7圖示了利用類別的示例文件密鑰保護(hù);
[0020]圖8圖示了用于備份設(shè)備上的密碼密鑰管理的示范性方法實施例;
[0021]圖9圖示了主設(shè)備上的示范性密碼密鑰管理;
[0022]圖10圖示了備份設(shè)備上的示范性密碼密鑰管理;
[0023]圖11圖示了備份密鑰組密鑰保護(hù)的框圖;
[0024]圖12圖示了用于恢復(fù)備份設(shè)備上的備份數(shù)據(jù)的示范性方法實施例;
[0025]圖13圖示了用于在主設(shè)備上恢復(fù)備份數(shù)據(jù)的示范性方法實施例;
[0026]圖14圖示了用于生成初始化向量的示范性方法實施例;
[0027]圖15圖示了用于生成初始化向量的示范性邏輯流;
[0028]圖16圖示了用于口令變化期間的備份密鑰管理的示范性方法實施例;
[0029]圖17圖示了用于口令變化期間的備份密鑰管理的示例體系結(jié)構(gòu);并且
[0030]圖18圖示了示范性備份密鑰生成過程。
【具體實施方式】
[0031]下面詳細(xì)論述本公開的各種實施例。雖然論述了具體實現(xiàn)方式,但應(yīng)當(dāng)理解這樣做只是為了說明。相關(guān)領(lǐng)域的技術(shù)人員將認(rèn)識到,在不脫離本公開的精神和范圍的情況下,可以使用其他組件和配置。
[0032]本公開解決了現(xiàn)有技術(shù)中對無線數(shù)據(jù)保護(hù)的需求。公開了系統(tǒng)、方法和非暫態(tài)計算機(jī)可讀介質(zhì),該系統(tǒng)、方法和非暫態(tài)計算機(jī)可讀介質(zhì)通過在主設(shè)備和備份設(shè)備上管理密碼密鑰、將文件數(shù)據(jù)從備份設(shè)備恢復(fù)到主設(shè)備并且生成初始化向量來用在密碼操作中并在口令變化期間保護(hù)文件密鑰,從而來保護(hù)無線數(shù)據(jù)。本文公開了對圖1中的可用來實現(xiàn)這些概念的基本通用系統(tǒng)或計算設(shè)備的簡要介紹。然后將是對無線數(shù)據(jù)保護(hù)的更詳細(xì)描述。本公開現(xiàn)在轉(zhuǎn)向圖1。
[0033]參考圖1,示范性系統(tǒng)100包括通用計算設(shè)備100,其包括處理單元(CPU或處理器)120和系統(tǒng)總線110,系統(tǒng)總線110將各種系統(tǒng)組件耦合到處理器120,所述各種系統(tǒng)組件包括系統(tǒng)存儲器130,例如只讀存儲器(ROM) 140和隨機(jī)訪問存儲器(RAM) 150。系統(tǒng)100可包括與處理器120直接連接、緊鄰處理器120或者集成為處理器120的一部分的高速存儲器的緩存122。系統(tǒng)100將數(shù)據(jù)從存儲器130和/或存儲設(shè)備160拷貝到緩存122以供處理器120迅速訪問。這樣,緩存提供了避免處理器120在等待數(shù)據(jù)的同時延遲的性能提升。這些和其他模塊可控制或被配置為控制處理器120執(zhí)行各種動作。也可以有其他系統(tǒng)存儲器130供使用。存儲器130可包括具有不同性能特性的多種不同類型的存儲器。可以明白,本公開可在具有多于一個處理器120的計算設(shè)備100上操作或者在聯(lián)網(wǎng)在一起以提供更大處理能力的計算設(shè)備的群組或群集上操作。處理器120可包括任何通用處理器和硬件模塊或軟件模塊,例如存儲在存儲設(shè)備160中的模塊1162、模塊2164和模塊3166,它們被配置為控制處理器120以及專用處理器,在專用處理器中軟件指令被包含到實際處理器設(shè)計中。處理器120實質(zhì)上可以是完全獨立自給的計算系統(tǒng),包含多個核或處理器、總線、存儲器控制器、緩存,等等。多核處理器可以是對稱的或非對稱的。
[0034]系統(tǒng)總線110可以是若干種類型的總線結(jié)構(gòu)中的任何一種,包括存儲器總線或存儲器控制器、外圍總線和本地總線,使用多種總線體系結(jié)構(gòu)中的任何一種。存儲在R0M140等中的基本輸入/輸出(BIOS)可提供幫助一例如在啟動期間一在計算設(shè)備100內(nèi)的元件之間傳送信息的基本例程。計算設(shè)備100還包括存儲設(shè)備160,例如硬盤驅(qū)動器、磁盤驅(qū)動器、光盤驅(qū)動器、磁帶驅(qū)動器,等等。存儲設(shè)備160可包括用于控制處理器120的軟件模塊162、164、166。設(shè)想到了其他硬件或軟件模塊。存儲設(shè)備160通過驅(qū)動接口連接到系統(tǒng)總線110。驅(qū)動器和關(guān)聯(lián)的計算機(jī)可讀存儲介質(zhì)為計算設(shè)備100提供計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的非易失性存儲。在一個方面中,執(zhí)行特定功能的硬件模塊包括存儲在非暫態(tài)計算機(jī)可讀介質(zhì)中的軟件組件,該軟件組件結(jié)合諸如處理器120、總線110、顯示器170等等之類的必要硬件組件執(zhí)行該功能?;窘M件是本領(lǐng)域技術(shù)人員已知的,并且取決于設(shè)備的類型,例如設(shè)備100是小型手持計算設(shè)備、桌面型計算機(jī)還是計算機(jī)服務(wù)器,設(shè)想到了適當(dāng)?shù)淖兓?br>
[0035]雖然本文描述的示范性實施例采用了硬盤160,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白,在示范性操作環(huán)境中也可使用其他類型的可被計算機(jī)訪問的能夠存儲數(shù)據(jù)的計算機(jī)可讀介質(zhì),例如盒式磁帶、閃存卡、數(shù)字多功能盤、盒式錄音帶、隨機(jī)訪問存儲器(RAM) 150、只讀存儲器(R0M)140、包含比特流的線纜或無線信號,等等。非暫態(tài)計算機(jī)可讀存儲介質(zhì)明確排除了諸如能量、載波信號、電磁波和信號本身之類的介質(zhì)。
[0036]為了使得用戶能夠與計算設(shè)備100交互,輸入設(shè)備190表示任意數(shù)量的輸入機(jī)制,例如用于話音的麥克風(fēng)、用于手勢或圖形輸入的觸敏屏、鍵盤、鼠標(biāo)、運(yùn)動輸入、話音,等等。輸出設(shè)備170也可以是本領(lǐng)域技術(shù)人員已知的多種輸出機(jī)制中的一個或多個。在一些情況中,多模式系統(tǒng)使得用戶能夠提供多種類型的輸入來與計算設(shè)備100通信。通信接口 180一般控制并管理用戶輸入系統(tǒng)輸出。對于在任何特定硬件布置上操作沒有限制,因此這里的基本特征可容易地在改進(jìn)的硬件或固件布置被開發(fā)出來時被其所替代。
[0037]為了說明清晰起見,說明性系統(tǒng)實施例被呈現(xiàn)為包括個體功能塊,其中包括被標(biāo)記為“處理器”或處理器120的功能塊。這些塊表示的功能可通過使用共享或?qū)S糜布硖峁ǖ幌抻?能夠執(zhí)行軟件的硬件,和被特制來作為在通用處理器上執(zhí)行的軟件的等同物操作的硬件,例如處理器120。例如,圖1中呈現(xiàn)的一個或多個處理器的功能可由單個共享處理器或多個處理器提供。(對術(shù)語“處理器”的使用不應(yīng)當(dāng)被解釋為專門指能夠執(zhí)行軟件的硬件。)說明性實施例可包括微處理器和/或數(shù)字信號處理器(DSP)硬件、用于存儲執(zhí)行下文論述的操作的軟件的只讀存儲器(ROM) 140、以及用于存儲結(jié)果的隨機(jī)訪問存儲器(RAM) 150。也可提供超大規(guī)模集成(VLSI)硬件實施例,以及定制的VLSI電路結(jié)合通用DSP電路。
[0038]各種實施例的邏輯操作被實現(xiàn)為:(I)在通用計算機(jī)內(nèi)的可編程電路上運(yùn)行的由計算機(jī)實現(xiàn)的步驟、操作或過程的序列,(2)在專用可編程電路上運(yùn)行的由計算機(jī)實現(xiàn)的步驟、操作或過程的序列,和/或(3)可編程電路內(nèi)的互連機(jī)器模塊或程序引擎。圖1中所示的系統(tǒng)100可實現(xiàn)所描述的方法的全部或一部分,可以是所描述的系統(tǒng)的一部分,和/或可以根據(jù)所描述的非暫態(tài)計算機(jī)可讀存儲介質(zhì)中的指令來操作。這種邏輯操作可實現(xiàn)為被配置為控制處理器120根據(jù)模塊的編程執(zhí)行特定功能的模塊。例如,圖1圖示了三個模塊皿0(11162、10(12164和此(13166,它們是被配置為控制處理器120的模塊。這些模塊可被存儲在存儲設(shè)備160上并在運(yùn)行時被加載到RAM150或存儲器130中,或者如本領(lǐng)域中已知的可被存儲在其他計算機(jī)可讀存儲器位置中。[0039]密碼術(shù)論述
[0040]在公開了計算系統(tǒng)的一些組件后,本公開現(xiàn)在轉(zhuǎn)向?qū)γ艽a術(shù)的簡要論述。密碼術(shù)包含加密和解密兩者并且用于隱藏信息以使得只有消息的預(yù)期接收者能夠訪問該信息。加密是以使得可理解的信息看起來不可理解的方式改變可理解的信息的過程,而解密是逆過程,將不可理解的信息變回可理解的信息。加密和解密利用被保持秘密的密鑰來在各形態(tài)之間改變信息。存在兩種不同類型的密碼術(shù),即傳統(tǒng)的對稱密鑰密碼術(shù)和非對稱(或公鑰)密碼術(shù)。
[0041]公鑰密碼術(shù)是除了傳統(tǒng)的對稱密鑰算法還額外地利用非對稱密鑰算法、或者取代傳統(tǒng)的對稱密鑰算法而利用非對稱密鑰算法的密碼方法。圖2圖示了非對稱密鑰密碼術(shù),圖3圖示了對稱密鑰密碼術(shù)。非對稱密鑰算法與對稱密鑰算法的不同之處在于:對于加密210和解密220使用不同的密鑰。對稱密鑰算法對于加密310和解密320使用相同密鑰并且基于消息的發(fā)送者和接收者之間的共享秘密密鑰的概念。因為公鑰密碼術(shù)對于加密和解密利用不同的密鑰,所以不需要在發(fā)送者和接收者之間對秘密密鑰的安全交換。傳統(tǒng)的對稱密鑰密碼術(shù)的優(yōu)點包括速度,因為更加現(xiàn)代的非對稱密鑰算法更慢。
[0042]在公鑰密碼術(shù)中,生成數(shù)學(xué)上相關(guān)的密鑰對,私鑰和公鑰。雖然密鑰是相關(guān)的,但基于一個密鑰得出另一個是不現(xiàn)實的。私鑰被保持秘密,而公鑰被公布。發(fā)送者利用接收者的公鑰210和加密算法230對消息加密,消息的接收者利用私鑰220和相應(yīng)的加密(或解密)算法240對消息解密。只有接收者的私鑰能夠?qū)媒邮照叩墓€加密的消息解密。例如,Alice想要向Bob發(fā)送包含個人信息的消息并且對消息加密以保護(hù)該信息。Alice利用公鑰密碼術(shù)來發(fā)送她的消息,因為她不能與Bob安全地共享密碼密鑰。Alice利用Bob的公鑰對給Bob的消息加密并且將加密的消息發(fā)送給他。Bob接收到加密的消息并且利用與非對稱密鑰對相關(guān)的相應(yīng)私鑰來對消息解密。這樣,在沒有交換密碼密鑰的情況下,Alice經(jīng)由公鑰密碼術(shù)向Bob發(fā)送了加密消息。
[0043]已論述了非對稱和對稱密鑰密碼術(shù)后,本公開現(xiàn)在轉(zhuǎn)向?qū)Ψ謮K加密器的論述。分塊加密器是逐塊地對數(shù)據(jù)加密的密碼算法,與逐比特地對數(shù)據(jù)加密的流加密器不同。分塊加密器算法將輸入數(shù)據(jù)分割成塊并且在每個數(shù)據(jù)塊上操作。分塊加密器可以以諸如電子碼書(ECB)或密碼塊鏈接(CBC)之類的不同模式操作。
[0044]在CBC模式中,來自加密的一個塊的輸出被用作下一加密操作的輸入。圖4圖示了以CBC模式運(yùn)行的加密器。初始化向量(IV)410與第一塊未加密比特bl420相組合并且結(jié)果被加密。初始化向量隨機(jī)化未加密比特,使得如果同一塊明文被用相同密鑰加密多于一次,則其看起來不是相同的密文。利用相同密鑰對同一塊明文加密多于一次產(chǎn)生相同密文。利用IV410防止了這個不合需要的效果的發(fā)生。IV410被用于第一塊數(shù)據(jù),因為不存在來自前一輪的輸出來與第一塊未加密比特相組合。加密算法輸出一塊密碼比特cbl430并且將這些密碼比特與下一塊b2440相組合,其隨后被加密。系統(tǒng)重復(fù)此過程,直到所有數(shù)據(jù)塊都已被加密為止。對于解密,顛倒該過程。每一塊密碼比特被利用塊加密器解密算法來解密,然后與前一塊的密碼比特相組合以產(chǎn)生明文(未加密)比特。對于第一塊,密碼比特被解密并與IV組合以產(chǎn)生未加密數(shù)據(jù)。
[0045]圖5圖示了在ECB模式中運(yùn)行的加密器。在ECB模式中,輸入數(shù)據(jù)被分割成數(shù)據(jù)塊,這些數(shù)據(jù)塊隨后被加密。與CBC模式不同,沒有與來自前一輪加密的輸出的組合。第一塊未加密比特匕510被用作加密算法的輸入,并且算法輸出密碼比特(31^520。在ECB模式中運(yùn)行的加密器的一個問題是:相同明文比特塊加密成相同密碼比特塊,因為算法使用相同密鑰來對每個塊加密。
[0046]在公開了一些系統(tǒng)組件和加密概念后,本公開現(xiàn)在轉(zhuǎn)向圖6所示的示范性方法實施例。為了清晰起見,本文的每個示范性方法是就如圖1中所示的被配置為實現(xiàn)各方法的示范性系統(tǒng)100來論述的。本文概述的步驟是示范性,并且可按其任何組合實現(xiàn),包括排除、添加或修改某些步驟的組合。
[0047]圖6圖示了通過在主設(shè)備上管理密碼密鑰來進(jìn)行的無線數(shù)據(jù)保護(hù)。主設(shè)備可以是任何計算設(shè)備,例如個人計算機(jī)、膝上型電腦、網(wǎng)絡(luò)上的工作站、服務(wù)器、蜂窩電話、個人數(shù)字助理或者其他能夠存儲數(shù)據(jù)的固定或移動設(shè)備。主設(shè)備的備份是必要的,因為設(shè)備會遭受意外的數(shù)據(jù)刪除、丟失、毀壞和偷竊。在數(shù)據(jù)丟失的情況下,系統(tǒng)可將數(shù)據(jù)恢復(fù)到同一設(shè)備、同一類型的新設(shè)備和/或另一類型的設(shè)備。在備份事件期間保護(hù)密碼密鑰可確保安全的系統(tǒng)。實現(xiàn)該方法的系統(tǒng)利用文件密鑰對文件加密,從而得到加密文件(610)。文件可包含文本、圖像、視頻、話音、多媒體等等,并且可以是任何格式的,例如PNG、JPG、AVI和HTML。文件密鑰的概念可被擴(kuò)展到涵蓋沒有存儲在文件中的數(shù)據(jù),例如存儲器片段或指令集,然而本文的原理是就文件來論述的。文件密鑰是加密密鑰并且可隨機(jī)生成。文件密鑰可以是256比特AES密鑰或任何其他長度的密碼密鑰,用在任何加密算法中,例如AES、DES、Blowfish等等。在系統(tǒng)利用文件密鑰對文件加密之后,系統(tǒng)利用類別加密密鑰對文件密鑰加密,從而得到加密文件密鑰(620 )。
[0048]在系統(tǒng)利用類別加密密鑰對文件密鑰加密之后,系統(tǒng)利用與一組備份密鑰相關(guān)聯(lián)的公鑰對文件密鑰加密,從而得到第二加密文件密鑰(630)。公鑰可屬于非對稱密鑰對,并且相應(yīng)的私鑰被存儲在備份設(shè)備上。然后,系統(tǒng)將加密文件和第二加密文件密鑰發(fā)送到備份設(shè)備(640)。備份設(shè)備可以是任何計算設(shè)備,例如個人計算機(jī)、膝上型電腦、網(wǎng)絡(luò)上的工作站、服務(wù)器、蜂窩電話、智能電話、個人數(shù)字助理或者其他能夠存儲數(shù)據(jù)的固定或移動設(shè)備。備份設(shè)備可以為任意數(shù)目的設(shè)備存儲一組或多組備份密鑰。例如,備份服務(wù)器可為蜂窩電話存儲五組備份密鑰,并且為PDA存儲`兩組備份密鑰。
[0049]類別加密密鑰是用于對特定保護(hù)類別的密鑰加密的密碼密鑰。圖7圖示了根據(jù)保護(hù)類別來保護(hù)文件密鑰的文件系統(tǒng)。系統(tǒng)將每個文件指派到一組保護(hù)類別710之一,并且向每個保護(hù)類別指派類別加密密鑰。在一方面,每個類別加密密鑰是唯一的。系統(tǒng)利用相應(yīng)的類別加密密鑰720對每個文件加密密鑰加密。例如,文件I和文件5是保護(hù)類別A的一部分,具有唯一的文件加密密鑰。文件I被用密鑰I加密,而文件5被用密鑰5加密。密鑰I和5都被用密鑰A加密。保護(hù)類別允許了某些文件行為和訪問權(quán)利。例如,被標(biāo)記為在鎖定時可讀的文件可由一類別加密密鑰來保護(hù),被標(biāo)記為在首先解密之后可讀的文件可由一不同類別加密密鑰來保護(hù),由特定用戶創(chuàng)建的所有文件可由一不同類別加密密鑰來加密。其他文件標(biāo)記包括:在鎖定時可寫和在解鎖時可讀??沙鲇诓煌陌踩康囊圆煌绞絹矸诸惢驑?biāo)記文件。例如,分類系統(tǒng)可用于標(biāo)記要求不同安全性的文件。例如,類別A文件可以是要求最高安全級別的文件,并且保護(hù)用于類別A的文件密鑰的類別加密密鑰可以是特別強(qiáng)的加密密鑰,而類別B文件可以是要求中等安全級別的文件。保護(hù)用于類別B的文件密鑰的類別加密密鑰可以是中等強(qiáng)的加密密鑰。這種通過保護(hù)類別實現(xiàn)的文件或證書訪問的層次化方法允許系統(tǒng)根據(jù)所期望的安全級別而不同地保護(hù)文件。
[0050]圖8圖示了用于備份設(shè)備上的無線數(shù)據(jù)保護(hù)的示范性方法實施例。系統(tǒng)通過在備份設(shè)備處從主設(shè)備接收加密文件和加密文件密鑰來在備份設(shè)備上管理密碼密鑰(810)。系統(tǒng)將加密文件密鑰與一組備份密鑰相關(guān)聯(lián)(820),并且利用備份密鑰組密鑰對該組備份密鑰加密,從而得到一組加密的備份密鑰(830)。備份設(shè)備將加密文件、加密文件密鑰和該組加密備份密鑰存儲在備份設(shè)備上(840)。備份設(shè)備存儲與主設(shè)備相同的加密文件數(shù)據(jù)。然而,用于對文件數(shù)據(jù)加密的文件密鑰被不同地加密。主設(shè)備上存儲的文件密鑰是用類別加密密鑰來加密的,而備份設(shè)備上存儲的文件密鑰是用與非對稱密鑰對相關(guān)的公鑰來加密的。
[0051]圖9圖示了利用主設(shè)備上的密碼密鑰管理的無線數(shù)據(jù)保護(hù)。系統(tǒng)在主設(shè)備上存儲文件1、文件2和文件3,主設(shè)備在此示例中是蜂窩電話910。每個文件被用單獨的相應(yīng)文件加密密鑰kp k2和k39 20來加密。每個文件加密密鑰被用與備份密鑰組相關(guān)聯(lián)的相應(yīng)公鑰PkpPk2和pk3930來加密。主設(shè)備910將文件1、文件2和文件3各自的加密文件數(shù)據(jù)和各個相應(yīng)的加密文件密鑰k1、k2和k3發(fā)送到備份設(shè)備,備份設(shè)備在此示例中是桌面型計算機(jī)。公鑰可以是設(shè)備的系統(tǒng)密鑰包中的類別密鑰的鏡像。
[0052]圖10圖示了備份設(shè)備上的無線數(shù)據(jù)保護(hù)。系統(tǒng)在備份設(shè)備上存儲一組或多組備份密鑰1010中的相應(yīng)私鑰。例如,系統(tǒng)在用于安全保護(hù)的桌面型計算機(jī)上存儲該組備份密鑰1010。系統(tǒng)隨后利用備份密鑰組密鑰kb1020對該組備份密鑰1010加密。圖11圖示了備份密鑰組密鑰保護(hù)的示范框圖。系統(tǒng)可從主設(shè)備接收隨機(jī)生成的秘密1120,備份密鑰組密鑰kb1110,其被備份設(shè)備托管1130。密鑰托管(key escrow)是將密碼密鑰提供給第三方以便安全保護(hù)的過程。備份設(shè)備利用用戶口令1140來保護(hù)備份密鑰組密鑰。用戶口令可以與系統(tǒng)中已經(jīng)使用的用戶賬戶口令相同。在此情況下,如果用戶忘記其口令,服務(wù)提供者可重置用戶口令,而不更新加密密鑰組。服務(wù)提供者可利用新的用戶口令來保護(hù)備份密鑰組密鑰,使得用戶可通過提供新的用戶口令來訪問備份密鑰組。此外,備份設(shè)備可以以任何方式來對備份密鑰組密鑰加密,因為其在托管密鑰??蛇x地,用戶可選擇保護(hù)備份密鑰組以使得備份密鑰組密鑰不可由服務(wù)提供者恢復(fù)。用戶可提供單獨的備份口令1150,其用于生成備份密鑰組密鑰1160。在此情況下,如果用戶忘記其口令,服務(wù)提供者不能恢復(fù)備份密鑰組密鑰。
[0053]一些實現(xiàn)方式對于服務(wù)器上的備份密鑰包提供了兩級保護(hù)。例如,設(shè)備可生成隨機(jī)備份密鑰包秘密并且向服務(wù)器托管該備份密鑰包秘密。服務(wù)器利用用戶的常規(guī)賬戶口令來保護(hù)此秘密,但其不是用該口令來加密的。服務(wù)器可以以其作為托管秘密的一部分選擇的任何方式來對該秘密加密。因為賬戶口令是可恢復(fù)的,所以備份密鑰包秘密也是可恢復(fù)的。單獨的隨機(jī)備份密鑰包秘密允許了賬戶口令變化,而無需更新加密密鑰包。
[0054]在另一示例中,用戶可指定單獨的備份口令。設(shè)備基于該口令生成備份密鑰包秘密,但不將該秘密托管給服務(wù)器。用戶在恢復(fù)時重輸入此單獨的備份口令,并且沒有辦法來恢復(fù)此口令,從而導(dǎo)致了不可恢復(fù)的口令。
[0055]圖12圖示了將加密文件數(shù)據(jù)從備份設(shè)備恢復(fù)到主設(shè)備的示范性方法實施例。主設(shè)備可以就是從其執(zhí)行備份的那個設(shè)備,或者是另一不同設(shè)備。例如,用戶意外地從其電話中刪除了數(shù)據(jù),則用戶可恢復(fù)直到電話的上次備份那刻為止的丟失數(shù)據(jù)?;蛘?,如果用戶的電話遭竊,則用戶可購買新的電話并且在新電話上恢復(fù)直到從用戶的原始設(shè)備進(jìn)行的上次備份那刻為止的丟失數(shù)據(jù)。實現(xiàn)該方法的系統(tǒng)將加密文件數(shù)據(jù)、加密文件密鑰和一組加密備份密鑰從備份設(shè)備發(fā)送到主設(shè)備(1200)。該組加密備份密鑰是由系統(tǒng)或另一設(shè)備或設(shè)備集合生成的,其在備份設(shè)備處接收加密文件和加密文件密鑰(1210),將加密文件密鑰與一組備份密鑰相關(guān)聯(lián)(1220)并且利用備份密鑰組密鑰對該組備份密鑰加密,從而得到一組加密的備份密鑰(1230)。
[0056]圖13圖示了在主設(shè)備上恢復(fù)加密文件數(shù)據(jù)的示范性方法實施例。實現(xiàn)該方法的系統(tǒng)在主設(shè)備處接收加密文件數(shù)據(jù)、加密文件密鑰和一組加密備份密鑰(1310)。系統(tǒng)利用備份密鑰組密鑰對該組加密備份密鑰解密,從而得到一組備份密鑰(1320)。一旦解密了該組備份密鑰,系統(tǒng)就利用來自該組備份密鑰中的備份密鑰對加密文件密鑰解密,從而得到文件密鑰(1330)。文件密鑰被用于對加密文件數(shù)據(jù)解密以產(chǎn)生文件數(shù)據(jù)(1340),并且系統(tǒng)在主設(shè)備上恢復(fù)解密的文件數(shù)據(jù)(1350)。
[0057]初始化向量生成
[0058]系統(tǒng)可生成初始化向量以用在密碼操作中。初始化向量(IV)在CBC模式的加密期間用于向數(shù)據(jù)添加變化。圖14圖示了生成初始化向量的示范性方法實施例。系統(tǒng)執(zhí)行第一加密密鑰——文件密鑰——的密碼散列以產(chǎn)生第一中間結(jié)果(1410)。文件密鑰是加密密鑰并且可隨機(jī)生成。文件密鑰可以是256比特AES密鑰或者任何其他長度的密碼密鑰,用在諸如AES、DES、Blowfish等等之類的任何加密算法中。接下來,系統(tǒng)截短第一中間結(jié)果以產(chǎn)生第二中間結(jié)果(1420)并且利用塊偏移的函數(shù)生成第三中間結(jié)果(1430)。系統(tǒng)將第一中間結(jié)果——文件加密密鑰的散列——截短成適用于特定密碼算法的加密密鑰大小,例如16字節(jié),或任何其他大小。塊偏移的函數(shù)可以是線性反饋移位寄存器(LFSR)或任何其他利用塊偏移的函數(shù)。塊偏移是對數(shù)據(jù)的索引,指示塊號。最后,系統(tǒng)利用第二中間結(jié)果對第三中間結(jié)果加密以產(chǎn)生用在加密和解密中的IV (1440)。利用第二中間結(jié)果對第三中間結(jié)果加密的加密算法可以是任何加密算法,例如DES或者其他適當(dāng)?shù)膶ΨQ加密算法。
[0059]圖15圖示了生成用在密碼操作中的IV的迭代方法的示例邏輯流。當(dāng)對文件數(shù)據(jù)加密時,系統(tǒng)為文件中的每個數(shù)據(jù)塊生成IV。例如,對于大小為2MB的文件,系統(tǒng)可將該文件分割成500個大小為4KB的塊。對于500塊的每一塊,系統(tǒng)生成用于加密和解密中的IV。首先,系統(tǒng)檢查當(dāng)前塊是否是文件中的最后一塊,1510。如果當(dāng)前塊是最后一塊,則系統(tǒng)退出IV生成例程。如果其不是最后一塊,則系統(tǒng)繼續(xù)IV生成例程。系統(tǒng)通過利用SHA-1加密算法和每文件密鑰kf作為輸入執(zhí)行散列來生成20字節(jié)kiv,1520。中間結(jié)果kiv被截短到16字節(jié)以產(chǎn)生中間結(jié)果kt,1530。截短大小是加密密鑰大小并且可以是特定加密算法所要求的任何大小,例如8、12或16字節(jié)或任意數(shù)目的字節(jié)。此時,文件中的塊偏移被用作LFSR的輸入以產(chǎn)生偽隨機(jī)值rand,1540。
[0060]LFSR是移位寄存器,其反饋比特是在先比特的線性組合。移位寄存器是逐比特地對數(shù)據(jù)操作、一次輸出一比特的函數(shù)。在函數(shù)輸出一比特之后,所有比特在寄存器中被移位一個位置并且新的比特基于在先比特來計算。過程重復(fù),直到從該函數(shù)輸出期望數(shù)目的比特為止。寄存器具有有限數(shù)目的狀態(tài),并且最終進(jìn)入輸出比特的重復(fù)循環(huán)。因為LFSR的重復(fù)性,它們不是真正隨機(jī)的。軟件和/或硬件LFSR可生成偽隨機(jī)數(shù)。
[0061]通過向塊偏移應(yīng)用LFSR生成變量rand,1540。在系統(tǒng)生成rand之后,系統(tǒng)利用中間結(jié)果kt對來自LFSR的輸出rand加密,1550,并且輸出用于當(dāng)前塊的IV,1560。系統(tǒng)返回檢查當(dāng)前塊是否是文件中的最后一塊,1510。如果其是最后一塊,則系統(tǒng)在生成所有必要的IV之后退出。如果不是,則系統(tǒng)繼續(xù)為文件中的剩余數(shù)據(jù)塊生成IV。[0062]文件密鑰用于以如下方式生成IV:如果攻擊者獲得對IV的訪問權(quán),其不能獲得對文件密鑰的訪問權(quán)。以所公開的方式計算IV的益處之一是IV沒有被綁定到存儲它的設(shè)備。存在生成IV的替換方法,其將IV綁定到生成它的設(shè)備。這些方法在數(shù)據(jù)被恢復(fù)到原始設(shè)備時足夠的,然而當(dāng)備份的數(shù)據(jù)被恢復(fù)到新設(shè)備時這些方法是不足夠的一設(shè)備被偷竊或損壞時就是這種情況。所公開的方法支持?jǐn)?shù)據(jù)恢復(fù)到不同的設(shè)備。
[0063]允許備份過程的情況下改變用戶口令
[0064]圖16圖示了改變用戶口令的示范性方法實施例。當(dāng)用戶改變其口令時,系統(tǒng)可假定舊的口令已遭到危害并且不再被信任來保護(hù)一組備份密鑰??诹罡淖兛梢允菑?qiáng)制事件,例如當(dāng)設(shè)備丟失或損壞時,或者可以是自愿的由用戶發(fā)起的事件。當(dāng)用戶改變其口令并且備份過程被允許時,系統(tǒng)在備份設(shè)備上創(chuàng)建第二組備份密鑰(1610)。系統(tǒng)將新的文件加密密鑰與備份設(shè)備上的第二組備份密鑰相關(guān)聯(lián)(1620)。系統(tǒng)在新文件被創(chuàng)建時生成新的文件加密密鑰。在用戶口令改變之后,為新創(chuàng)建的文件生成的任何新文件密鑰都與第二組備份密鑰相關(guān)聯(lián)。系統(tǒng)最終利用新的用戶口令對第二組備份密鑰加密(1630)。系統(tǒng)可生成隨機(jī)秘密并且利用新的用戶口令來保護(hù)該隨機(jī)秘密。備份系統(tǒng)可包含任意數(shù)目組的備份密鑰。備份密鑰包秘密可從口令得出,而不是隨機(jī)生成。文件密鑰可被存儲在密鑰組中、由密鑰組中的密鑰加密、并且存儲在文件元數(shù)據(jù)中。
[0065]圖17圖示了改變用戶口令的示范性體系結(jié)構(gòu)。在口令改變之前,備份密鑰組1710由從用戶口令得出的密鑰bki保護(hù)。在第一組密鑰中保護(hù)的那組備份密鑰是匕、1^和1^。這些密鑰分別對用于存儲在諸如蜂窩電話之類的主設(shè)備上的文件1、文件2、文件3的文件密鑰加密??诹罡淖冎?,系統(tǒng)在備份設(shè)備上創(chuàng)建新的一組備份密鑰并且存儲新組中的新創(chuàng)建的備份密鑰。例如,系統(tǒng)創(chuàng)建文件4和文件5,并且存儲新的一組備份密鑰中的新生成的保護(hù)文件密鑰的加密密鑰k4和k5。用于文件4和文件5的文件密鑰分別由加密密鑰k4和k5加密并存儲在相應(yīng)的文件元數(shù)據(jù)中。系統(tǒng)從新的口令得出新的備份密鑰組密鑰bk21720來保護(hù)新的那組備份密鑰。系統(tǒng)可為任意數(shù)目的口令改變生成任意數(shù)目的備份密鑰組。每次用戶改變其口令時,系統(tǒng)就在備份設(shè)備上創(chuàng)建額外的備份密鑰組并且利用從新的用戶口令得出的密鑰來保護(hù)該新組。這樣,在口令改變期間,系統(tǒng)保護(hù)在另一設(shè)備上存儲的備份密鑰組。
[0066]在一個實施例中,通過繞過緩沖器緩存來允許對加密數(shù)據(jù)的原始訪問。與每次需要時則從盤取得數(shù)據(jù)相比,緩存存儲數(shù)據(jù)以使得對數(shù)據(jù)的請求能夠更迅速地得以實現(xiàn)。緩沖器緩存被繞過,使得系統(tǒng)能夠從盤訪問加密數(shù)據(jù),而不對數(shù)據(jù)解密。當(dāng)以正常方式訪問文件系統(tǒng)時,文件系統(tǒng)訪問層可自動對數(shù)據(jù)解密。
[0067]在另一實施例中,公開了一種基于備份設(shè)備上存儲的每文件密鑰(per file key)來生成備份密鑰的高效方法。圖18圖示了備份密鑰生成過程。例如,系統(tǒng)可解鎖主設(shè)備并且創(chuàng)建新的類別A文件和隨機(jī)的每文件加密密鑰(1810)。系統(tǒng)可利用設(shè)備密鑰對每文件密鑰加密(1820)。系統(tǒng)可生成暫時性的公鑰/私鑰對(1830),該公鑰/私鑰對可在單個會話中被使用多于一次,而非為每個文件生成新的公鑰/私鑰對。系統(tǒng)可生成包裝密鑰,以利用暫時性密鑰和備份密鑰組密鑰之間的密鑰交換來保護(hù)用于備份設(shè)備的每文件密鑰(1840)。最后,系統(tǒng)利用包裝密鑰來對每文件加密密鑰加密(1850)以便存儲在備份設(shè)備上。在設(shè)備被解鎖的時間期間,包裝密鑰和暫時性公鑰/私鑰對可被再使用。此過程避免為了為每個文件獲得新的暫時性密鑰對和包裝密鑰而進(jìn)行昂貴的生成和密鑰交換。所公開的方法在設(shè)備被解鎖的時間期間應(yīng)用于同一類別——在所提供的示例中是類別A——中的文件密鑰,而不損失安全性。
[0068]本公開的范圍內(nèi)的實施例還可包括有形的和/或非暫態(tài)的計算機(jī)可讀存儲介質(zhì),用于攜帶或在其上存儲計算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)。這種非暫態(tài)計算機(jī)可讀存儲介質(zhì)可以是可由包括如上所述的任何專用處理器的功能設(shè)計的通用或?qū)S糜嬎銠C(jī)訪問的任何可用介質(zhì)。作為示例而非限制,這種非暫態(tài)計算機(jī)可讀介質(zhì)可包括RAM、ROM、EEPROM、CD-ROM或者其他光盤存儲裝置、磁盤存儲裝置或其他磁存儲設(shè)備、或者任何其他能夠用于以計算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)或處理器芯片設(shè)計的形式攜帶或存儲期望的程序代碼手段的介質(zhì)。當(dāng)信息通過網(wǎng)絡(luò)或另外的通信連接(硬連線的、無線的或者其組合)被傳送或提供到計算機(jī)時,計算機(jī)適當(dāng)?shù)貙⒃撨B接視為計算機(jī)可讀介質(zhì)。從而,任何這種連接被適當(dāng)?shù)胤Q為計算機(jī)可讀介質(zhì)。上述的組合也應(yīng)當(dāng)被包括在計算機(jī)可讀介質(zhì)的范圍內(nèi)。
[0069]計算機(jī)可執(zhí)行指令例如包括使得通用計算機(jī)、專用計算機(jī)或者專用處理設(shè)備執(zhí)行特定的一個功能或一組功能的指令和數(shù)據(jù)。計算機(jī)可執(zhí)行指令還包括由計算機(jī)在獨立或網(wǎng)絡(luò)環(huán)境中執(zhí)行的程序模塊。一般地,程序模塊包括專用處理器等等的設(shè)計中固有的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)、對象和函數(shù),其執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。計算機(jī)可執(zhí)行指令、關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)和程序模塊表示用于執(zhí)行本文公開的方法的步驟的程序代碼手段的示例。這種可執(zhí)行指令或關(guān)聯(lián)數(shù)據(jù)結(jié)構(gòu)的特定順序表示用于實現(xiàn)這種步驟中描述的功能的相應(yīng)動作的示例。
[0070]本領(lǐng)域技術(shù)人員將會明白,本公開的其他實施例可在具有許多類型的計算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計算環(huán)境中實現(xiàn),所述許多類型的計算機(jī)系統(tǒng)配置包括個人計算機(jī)、手持設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程的消費類電子產(chǎn)品、網(wǎng)絡(luò)PC、袖珍計算機(jī)、大型計算機(jī),等等。實施例也可在分布式計算環(huán)境中實現(xiàn),其中任務(wù)由通過通信網(wǎng)絡(luò)(由硬鏈線鏈路、無線鏈路或者由其組合)鏈接的本地和遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計算環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲器存儲設(shè)備中。
[0071]上文描述的各種實施例只是作為說明提供的,而不應(yīng)當(dāng)被解釋為限制本公開的范圍。例如,本文的原理不僅適用于備份移動設(shè)備,而且適用于執(zhí)行密碼操作的其他設(shè)備或計算系統(tǒng)。本領(lǐng)域技術(shù)人員將容易認(rèn)識到在不遵循本文圖示和描述的示例實施例和應(yīng)用并且不脫離本公開的精神和范圍的情況下可對本文描述的原理進(jìn)行的各種修改和改變。
【權(quán)利要求】
1.一種方法,包括: 利用文件密鑰對文件加密以產(chǎn)生加密文件; 利用類別加密密鑰對所述文件密鑰加密以產(chǎn)生加密文件密鑰; 利用與一組備份密鑰相關(guān)聯(lián)的公鑰對所述文件密鑰加密以產(chǎn)生第二加密文件密鑰;以及 將所述加密文件和所述第二加密文件密鑰發(fā)送到備份設(shè)備。
2.如權(quán)利要求1所述的方法,其中,所述類別加密密鑰與一組文件相關(guān)聯(lián),其中所述一組文件具有至少一個相似的屬性。
3.如權(quán)利要求1所述的方法,其中,所述文件密鑰是隨機(jī)生成的。
4.一種方法,包括: 在備份設(shè)備處接收加密文件和加密文件密鑰; 將所述加密文件密鑰與一組備份密鑰相關(guān)聯(lián); 利用備份密鑰組密鑰對所述一組備份密鑰加密以產(chǎn)生一組加密備份密鑰;以及 在所述備份設(shè)備上存儲所述加密文件、所述加密文件密鑰和所述一組加密備份密鑰。
5.如權(quán)利要求4所述的方法,其中,所述備份密鑰組密鑰是由主設(shè)備隨機(jī)生成的。
6.如權(quán)利要求5所述的方法,其中,備份設(shè)備托管所述備份密鑰組密鑰。
7.如權(quán)利要求6所述的方法,其中,所述備份設(shè)備利用用戶口令保護(hù)所述備份密鑰組密鑰。
8.如權(quán)利要求7所述的方法,其中,所述用戶口令與用戶賬戶口令相同。
9.如權(quán)利要求4所述的方法,其中,所述備份密鑰組密鑰可由服務(wù)提供者恢復(fù)。
10.如權(quán)利要求4所述的方法,其中,所述備份密鑰組密鑰不可由服務(wù)提供者恢復(fù)。
11.如權(quán)利要求4所述的方法,其中,所述備份密鑰組密鑰是從用戶口令得出的。
12.如權(quán)利要求11所述的方法,其中,所述用戶口令是單獨的備份口令。
13.—種方法,包括: 將加密文件數(shù)據(jù)、加密文件密鑰和一組加密備份密鑰從備份設(shè)備發(fā)送到主設(shè)備,其中所述一組加密備份密鑰是根據(jù)包括以下步驟在內(nèi)的步驟生成的: 在備份設(shè)備處接收加密文件和加密文件密鑰; 將所述加密文件密鑰與一組備份密鑰相關(guān)聯(lián);以及 利用備份密鑰組密鑰對所述一組備份密鑰加密以產(chǎn)生一組加密備份密鑰。
14.一種系統(tǒng),包括: 處理器; 存儲器,存儲指令,用于控制所述處理器執(zhí)行步驟,包括: 執(zhí)行第一加密密鑰的散列以產(chǎn)生第一中間結(jié)果; 截短所述第一中間結(jié)果以產(chǎn)生第二中間結(jié)果; 利用塊偏移的函數(shù)生成第三中間結(jié)果;以及 利用所述第二中間結(jié)果對所述第三中間結(jié)果加密以產(chǎn)生初始化向量,來用在密碼操作中。
15.如權(quán)利要求14所述的系統(tǒng),其中,所述第一加密密鑰是文件加密密鑰。
16.如權(quán)利要求14所述的系統(tǒng),其中,SHA-1加密算法用于執(zhí)行所述第一加密密鑰的散列。
17.如權(quán)利要求14所述的系統(tǒng),其中,所述第一中間結(jié)果被截短到加密密鑰大小。
18.如權(quán)利要求14所述的系統(tǒng),其中,所述塊偏移的函數(shù)是線性反饋移位寄存器。
19.如權(quán)利要求18所述的系統(tǒng),其中,所述塊偏移是所述線性反饋移位寄存器的種子。
20.如權(quán)利要求14所述的系統(tǒng),其中,生成用于加密的初始化向量是對每個數(shù)據(jù)塊執(zhí)行的。
21.如權(quán)利要求14所述的系統(tǒng),其中,所述初始化向量用于對每個數(shù)據(jù)塊加密。
22.—種存儲指令的非暫態(tài)計算機(jī)可讀存儲介質(zhì),所述指令當(dāng)被計算設(shè)備執(zhí)行時使得該計算設(shè)備執(zhí)行步驟,包括: 創(chuàng)建第二組備份密鑰; 將新的文件加密密鑰與所述第二組備份密鑰相關(guān)聯(lián);以及 利用新口令對所述第二組備份密鑰加密。
23.如權(quán)利要求22所述的非暫態(tài)計算機(jī)可讀存儲介質(zhì),其中,在從用戶接收新口令之前,存在第一組備份密鑰。
24.如權(quán)利要求22所述的非暫態(tài)計算機(jī)可讀存儲介質(zhì),其中,所述新的文件加密密鑰是在創(chuàng)建新文件時生成的。
25.一種生成加密密鑰的方法,該方法包括: 創(chuàng)建文件和文件加密密鑰,其中所述文件屬于一組保護(hù)類別之一; 利用設(shè)備加密密鑰對所述文件加密密鑰加密; 生成非對稱密鑰對; 基于所述非對稱密鑰對生成包裝加密密鑰;以及 利用所述包裝加密密鑰對所述文件加密密鑰加密。
【文檔編號】G06F11/14GK103748827SQ201280038007
【公開日】2014年4月23日 申請日期:2012年7月31日 優(yōu)先權(quán)日:2011年8月5日
【發(fā)明者】C·索爾沃德, V·R·巴阿薩, K·B·麥克尼爾, T·B·達(dá)菲, M·L·H·布羅維爾, M·J·拜姆, M·D·阿德勒, E·B·湯姆拉 申請人:蘋果公司