專利名稱:在計算裝置中備份并恢復數(shù)據(jù)的方法
技術領域:
本發(fā)明涉及一種將數(shù)據(jù)備份并恢復到計算裝置的方法,更具體地,涉及一種將數(shù)據(jù)備份并恢復到用于存儲敏感的個人數(shù)據(jù)的移動計算裝置的可靠方法。
文中使用的術語計算裝置將被寬泛地解釋為覆蓋任一形式的電氣裝置,并包括任一形式因子(form factor)的數(shù)據(jù)記錄裝置(例如,數(shù)碼相機和電影攝影機)、任一類型或形式的計算機(包括手持計算機和個人計算機)、以及任一形式因子的通信裝置(包括移動或無線電話、智能電話、將通信、圖像記錄和/或重放、和計算功能結合在單個裝置中的發(fā)報機、以及其他形式的無線和有線信息裝置)。
自從二十世紀九十年代早期,特別是隨著個人數(shù)字助理(PDA)的出現(xiàn),用于存儲數(shù)據(jù)的移動裝置的使用就開始增加。因為PDA裝置體積小并且便于人們攜帶,所以對于用戶,依靠這種裝置所提供的電子記事本功能的趨勢逐漸增強。為了最小化由于存儲在移動裝置本身上的重要數(shù)據(jù)的丟失和損壞所造成的破壞,協(xié)助地存儲重要個人數(shù)據(jù)的至少一個副本也變得很平常。諸如歐洲的PsionTM和美國的PalmTM的PDA的早期提供商開發(fā)了通過RS232串行電纜將移動裝置上的數(shù)據(jù)復制到普通家用或辦公PC上的硬盤的連接解決方案。當現(xiàn)在串行連接很大程度上被更快、更方便的連接(例如,紅外線、藍牙、和通用系統(tǒng)總線(USB))取代時,現(xiàn)在,將來自更容易丟失或易損壞的移動裝置的數(shù)據(jù)復制到被認為是更安全、更持久的固定裝置上的原理成為具有大多數(shù)用戶移動裝置的確定技術,這些移動裝置基本上包括全部具有電子記事本功能的無線電話?,F(xiàn)在,逐漸認為這些裝置就是智能電話。
在通常的使用中,存在兩種主要類型的數(shù)據(jù)復制。文件可以整體地從移動裝置復制到另一個計算機(通常是PC)。這就是簡單的備份機制。在補償恢復操作中,如果在移動裝置上的數(shù)據(jù)或者移動裝置本身發(fā)生一些情況,則可以通過將其從PC復制回作為文件來源的移動裝置或者兼容裝置來恢復文件。
第二種類型的數(shù)據(jù)復制是移動裝置和另一裝置之間的同步操作。其通常用于在移動裝置上的應用程序中保存的個人數(shù)據(jù)(例如,‘聯(lián)系人’或‘備忘錄’)。這種類型的數(shù)據(jù)復制或同步用于在應用程序中保存的入門級個人數(shù)據(jù)而不是全部應用程序文件,以及從移動裝置上的應用程序使用的文件中讀出相關數(shù)據(jù)并將這些數(shù)據(jù)寫入由在另一裝置上的相應應用程序使用的文件中。同步操作可以在任一方向上進行或者在兩個方向上同時進行。
備份和恢復操作通常用于相對較少改變的靜態(tài)數(shù)據(jù),同時這些操作很少或者不要求使用脫離裝置的數(shù)據(jù)。存在一些逐漸增多的數(shù)據(jù),例如,用于附加應用程序的程序文件和諸如音樂的媒體內(nèi)容。相反地,同步通常用于數(shù)據(jù)集或內(nèi)容相對不固定并且頻繁改變的情況,并且其要求訪問脫離裝置的數(shù)據(jù)。
本發(fā)明主要涉及的問題領域是將來自移動裝置的靜態(tài)數(shù)據(jù)備份和將靜態(tài)數(shù)據(jù)恢復到移動裝置。備份和恢復的標準方法具有明顯的安全問題,該問題源自對于備份將不保存在初始裝置本身,而是保存在獨立位置的其他一些介質(通常為磁盤或者PC上的其他非易失存儲器介質)上的要求。對于數(shù)據(jù)安全的兩種成脅特別明顯
1)從移動裝置備份到(例如)PC的程序文件在其從移動裝置中脫離時容易被惡意程序篡改。如果仍然將篡改過的文件恢復到移動裝置上并執(zhí)行篡改過的代碼,則這種篡改可以使移動裝置平臺不穩(wěn)定,或者可以用于花費用戶的錢或執(zhí)行各種各樣其他不合要求的事情。因為其要求備份、傳染、恢復、和后續(xù)的執(zhí)行均以正確的順序發(fā)生,所以這種威脅的可能性被認為很小。然而,其提高了破壞或竊取的可能性,這仍然是很嚴重的。
2)可以未授權的方式來使用在恢復后的未授權修改之后的備份,以避開或去除對程序文件的限制,該限制防止被保護的數(shù)字版權管理(DRM)內(nèi)容(例如,音樂或視頻文件)被訪問、播放、瀏覽、或重新分配。與來自未知來源并對于用戶裝置的第一種威脅不同,該第二種威脅來自用戶裝置并受到被保護內(nèi)容的提供商和經(jīng)銷商特殊的關注。
為了安全、可靠地恢復備份,而不威脅將恢復到的裝置或者被恢復數(shù)據(jù)的安全性和完整性,必須提供可靠的保證a)用戶或者任一第三方不得篡改已備份的數(shù)據(jù);以及b)由具有恢復權限的人員來恢復數(shù)據(jù),并且沒有授權不得竊取或獲得數(shù)字特性。
文件加密技術不足以保護靜態(tài)數(shù)據(jù)內(nèi)容免受這些威脅,這是因為其不能防止來自用戶裝置的威脅。此外,需要對裝置自身或在備份文件中執(zhí)行用于實現(xiàn)必要的鑒別檢驗的機制。因此,非當前備份和恢復技術被認為對靜態(tài)數(shù)據(jù)提供了必要的保證。
因此,本發(fā)明的目的在于提供一種在計算裝置中以安全方式備份數(shù)據(jù)的改進方法。
本發(fā)明的關鍵要素在于理解,對于靜態(tài)數(shù)據(jù),以安全方式備份并恢復數(shù)據(jù)呈現(xiàn)出與程序或應用軟件的安全安裝完全相同的鑒別和驗證問題。相同的關系應用在兩種情況中●如何確保存檔文件(備份存檔文件或安裝存檔文件)是真實的?●如何確保存檔文件未被篡改?●如何確保希望提取存檔文件內(nèi)容的人員被授權?因此,使用與初始安裝所用相同的文件或數(shù)據(jù)備份和恢復所用的安全、鑒別、和驗證機制可以提供重要且驚人的好處。
根據(jù)本發(fā)明的第一方面,提供了一種將安裝在第一計算裝置上的一個或多個可安裝文件備份到第二計算裝置上的方法,其可以使用與在第一裝置上安裝一個或多個文件所使用的方法相同的用于驗證一個或多個被恢復文件的完整性的方法,將從第一裝置備份到第二裝置的一個或多個文件從第二裝置恢復到第一裝置和/或其他裝置上。
根據(jù)本發(fā)明的第二方面,提供了一種被配置成根據(jù)第一方面的方法操作的計算裝置。
根據(jù)本發(fā)明的第三方面,提供了一種被配置成使計算裝置根據(jù)第一方面的方法操作的該計算裝置所用的操作系統(tǒng)。
現(xiàn)在,將參照附圖描述僅作為另一實例的本發(fā)明的實施例。
圖1示出在Symbian OSTM操作系統(tǒng)中使用的文件安裝驗證過程;以及圖2示出如何通過執(zhí)行Symbian OSTM操作系統(tǒng)中的軟件安裝程序來防止篡改。
下面,參照使用由英國倫敦的Symbian Limited提供的SymbianOSTM操作系統(tǒng)而不是唯一地使用智能電話形式的移動通信裝置開發(fā)的實現(xiàn),來描述本發(fā)明的實施例。然而,本領域技術人員應當理解,本發(fā)明也將應用在需要提供安全軟件備份和恢復過程的其他類型的操作系統(tǒng)和裝置中。
本發(fā)明的備份和恢復機制的下列描述著重于被保護的內(nèi)容以及可執(zhí)行的程序文件和應用程序。然而,應當理解,安全備份和恢復機制也可以用于其他的文件類型。特別地,本發(fā)明可以特別有利地用于最初通過Symbian OSTM操作系統(tǒng)中已知的文件格式(例如,SIS)安裝的文件。
因為根據(jù)使用與文件初始安裝所用方法相同的用于驗證備份文件完整性的方法來判斷本發(fā)明,所以將參照Symbian SIS文件格式描述本發(fā)明。在該文件格式中,SIS文件形式的軟件安裝包用于將在運行Symbian OSTM操作系統(tǒng)的計算裝置上安裝的任一數(shù)量或類型的可執(zhí)行文件打包。
該操作系統(tǒng)的SIS文件包括兩個主要部分1.SISSignedController部分,其包含控制在裝置上的文件安裝所需的元數(shù)據(jù)。使用符合X.509v.3公鑰基礎設施(PKI)的標準證書對這部分SIS文件進行數(shù)字簽名,該證書是可驗證的,因此其可以用于鑒別元數(shù)據(jù)的完整性。
2.SIS Data部分,其包含將安裝在裝置上的實際數(shù)據(jù)文件。
當前的智能電話裝置包括存儲在裝置的只讀存儲器(ROM)中的根證書(root certificate)。在安裝時,SISSignedController部分的數(shù)字簽名被認證為裝置ROM中的根證書之一,因此可以確保該簽名的完整性。盡管安裝文件的SISData部分本身沒有以相同方式進行數(shù)字簽名,但對于SISData部分中的每個文件,在SISSignedController中存在相應的散列(hash,又稱哈希值)。因為這些散列包含在安裝文件的簽名及驗證的SISSignedController部分中,所以每個散列的驗證均保證了在安裝文件的SISData部分中每個文件的完整性。圖1示出該驗證過程。
當安裝新的SIS文件時,SISSignedController部分與SIS文件的SISData部分中的文件一起存儲在裝置上。優(yōu)選地,為了進一步改善安全性,SISSignedController部分被存儲在裝置存儲器的受保護位置中。這意味著,對于用戶安裝在裝置上的每個文件,就是在SISSignedController部分中的各自的散列。
根據(jù)本發(fā)明,當對安裝的文檔執(zhí)行備份程序時,也備份存儲在裝置上的任一SISSignedController。當備份離開初始裝置時,因為它們的數(shù)據(jù)簽名可保證能夠檢測到篡改,所以不需要進行特定的措施來確保SISSignedController的完整性。一旦備份了SISSignedController,其涉及的全部安裝的文件也可以被備份,并且從這些安裝的文件的散列被安全地保存在SISSignedController中開始,因為當安裝的文件離開初始裝置被備份時對其的篡改將非常明顯,所以也可以保證在恢復到初始裝置或另一裝置上時備份文件的完整性。
當恢復安裝的文件時,首先將SISSignedController部分恢復到要求重新安裝已安裝文件的裝置(恢復裝置)上。根據(jù)各自的數(shù)字簽名來驗證任一SISSignedController部分的完整性,該數(shù)字簽名可追溯到裝置ROM中的根證書。因為如果在恢復裝置上不存在對于SISSignedController的任一根證書,則在裝置上允許恢復之前需要檢索根證書,所以在恢復裝置上存在的根證書與在最初裝置上存在的根證書相同的要求是對成功恢復的主要約束。對于本發(fā)明,用于檢索根證書的提取機制不是實質性的,這對于本領域技術人員將變得顯而易見。因此,該機制將不在本應用程序的范圍中進行描述。
如果由于任一原因撤消了要求的根證書之一,則可能不會檢索該根證書并將根據(jù)標準的PKI準則中斷恢復。從上面的描述中可以看出,上述檢驗與當初始安裝SIS文件時執(zhí)行的檢驗相同,所以其提供的安全等級至少與初始安裝的安全等級相等。如果不能成功驗證SISSignedController的簽名,則不恢復。
一旦恢復了SISSignedController本身,則可以進行恢復過程,以通過將這些文件的各自散列與在SISSignedController中包含的散列進行比較來驗證SISSignedController中涉及的每個安裝文件的完整性。因此,可以看出,對于以這種方式恢復的每個安裝的文件,用于驗證完整性的檢驗與初始安裝之后的檢驗相同,所以其提供了相同等級的安全性。如果對于將恢復的安裝文件的散列與恢復的SISSignedController中的散列不匹配,或者如果文件的散列不能在任一SISSignedController中找到,則不僅所述的文件而且可為一部分文件包的余項的恢復都將失敗。這是為了確保盡管嘗試了恢復過程,但恢復裝置還是處于一致和穩(wěn)定的狀態(tài)。
僅可對只讀文件執(zhí)行使文件的散列和SISSignedController中的散列相匹配的機制。如果在安裝之后可以合法地更新安裝的文件,則得到所述的文件的散列可以不同。應當注意,在裝置制造商或經(jīng)銷商希望使用于銷售的裝置裝有軟件或預安裝的被保護內(nèi)容的情況下,總是必須確保該裝置裝有文件安裝包的控制器部分,否則將不能執(zhí)行根據(jù)本發(fā)明的文件的安全備份和恢復。
圖2示出如何由SISSignedController來保護在實例中示出的存儲在\system\bin目錄中的安裝文件免受篡改。
因此,可認識到,包括如上所述的保護機制的任何文件的備份將總是確保這些文件的保護機制將被備份并恢復,以及還將確??梢詸z測在被保護文件被存儲離開初始裝置期間對這些保護機制的任何篡改,并且還將保護恢復操作的工作。
因此,本發(fā)明被認為是通過已知的備份和恢復過程提供了如下示例性的非常重要的優(yōu)點●以非常安全的方式備份和恢復可執(zhí)行文件的能力的任何改進均用于增加市場對這種可執(zhí)行文件的信心,這種改進可訪問被保護的內(nèi)容,但其不僅保護內(nèi)容中擁有者的投入(investment)還保護可執(zhí)行文件程序設計者的權限。因此,例如,如果可執(zhí)行文件是允許擁有者處理具有其他參與者的業(yè)務(transaction)(例如,金融業(yè)務)的可執(zhí)行文件,則這種業(yè)務的容量很可能增大。
●應當了解,因為操作系統(tǒng)復雜性的增加,使其難以預測。對于包括移動電話的計算系統(tǒng),其可導致程序調試時間的增長、可靠性的降低、和可使用的人機界面的減少。因為本發(fā)明假定用于確保軟件安裝安全性的相同機制也可用于確保由靜態(tài)數(shù)據(jù)構成的備份的安全性,所以降低了整個計算系統(tǒng)的復雜性,有利于隨后的可靠性、可用性、和發(fā)送。
●使用用于安裝和備份文件的相同機制來減小對裝置的操作軟件的存儲需求,因為移動裝置通常被認為是限定在這一區(qū)域的資源,所以其特別對這些裝置具有相當大的好處。
●除了存在位于裝置防篡改ROM中的根證書之外,該安全備份和恢復機制不依靠任一鑒別信息或在恢復有文件的裝置上存在的其他元數(shù)據(jù)例如,不依靠單獨的存儲登陸信息。因為依靠已經(jīng)存在的元數(shù)據(jù)將防止恢復到新裝置,所以這意味著未對恢復到新裝置做出任何限制,這對相對脆弱的無線移動裝置相當有利,對于該無線移動裝置整個文件的竊取或損壞是最普通的威脅之一。
●因為本發(fā)明使用與安裝相同的備份和恢復機制,所以提供了一種從備份裝置安全地恢復到不同的恢復裝置(在初始裝置被竊取或被不可恢復地損壞的情況下)的任一應用程序文件與恢復裝置兼容的檢測方法。這是因為涉及可兼容裝置的信息可包括在SISSignedController的元數(shù)據(jù)中,并且可在恢復時間使用該可兼容信息,以確保實際上只有與恢復裝置兼容的應用程序被恢復到該裝置。
在本發(fā)明的方法中,備份裝置是移動電話、智能卡、存儲裝置、PDA、筆記本或臺式計算機、或者任何其他類型的計算裝置。
可通過無線和/或有線網(wǎng)絡來執(zhí)行初始裝置、備份裝置、和/或在其上重新安裝有文件的裝置之間的通信。
盡管參照特定實施例描述了本發(fā)明,但應當理解,可實現(xiàn)在所附權利要求限定的本發(fā)明的范圍內(nèi)作出的更改。例如,元數(shù)據(jù)被描述為在備份之后,其被恢復到初始裝置或者另一裝置上。然而,元數(shù)據(jù)也可以保存在備份裝置上,或者可以在重新安裝數(shù)據(jù)文件之后從備份裝置上刪除。
權利要求
1.一種將安裝在第一計算裝置上的一個或多個可安裝文件備份到第二計算裝置的方法,所述方法可以使用與將所述一個或多個文件安裝到所述第一裝置上所用相同的用于驗證所述一個或多個恢復的文件完整性的方法,將從所述第一裝置備份到所述第二裝置的一個或多個文件從所述第二裝置恢復到所述第一裝置和/或其他裝置。
2.根據(jù)權利要求1所述的方法,其中,存儲的元數(shù)據(jù)用于驗證所述一個或多個可安裝文件的完整性。
3.根據(jù)權利要求2所述的方法,其中,用能夠驗證所述元數(shù)據(jù)的完整性的數(shù)字證書對所述元數(shù)據(jù)進行簽名。
4.根據(jù)權利要求3所述的方法,其中,所述數(shù)字證書包括X.509證書。
5.根據(jù)權利要求3或4所述的方法,其中,通過與存儲在所述第一裝置的只讀存儲器(ROM)中的根證書進行比較來驗證所述元數(shù)據(jù)的所述數(shù)字證書。
6.根據(jù)權利要求2至5中任一項所述的方法,其中,所述元數(shù)據(jù)和所述一個或多個可安裝文件包括單個安裝包。
7.根據(jù)權利要求2至5中任一項所述的方法,其中,所述元數(shù)據(jù)和所述一個或多個可安裝文件包括獨立的安裝包。
8.根據(jù)權利要求2至7中任一項所述的方法,其中,將所述元數(shù)據(jù)與所述一個或多個可安裝文件一起存儲在所述第一裝置上并將其備份到所述第二裝置。
9.根據(jù)權利要求2至8中任一項所述的方法,其中,所述元數(shù)據(jù)包括對于所述一個或多個可安裝文件中每一個的各自的散列。
10.根據(jù)權利要求2至9中任一項所述的方法,其中,將所述元數(shù)據(jù)與所述一個或多個可安裝文件一起恢復到所述第一裝置或所述其他裝置。
11.根據(jù)權利要求10所述的方法,當其從屬于權利要求5時,其中,當恢復到所述第一裝置時,驗證所述元數(shù)據(jù)的所述數(shù)字證書。
12.根據(jù)權利要求2至11中任一項所述的方法,其中,將所述元數(shù)據(jù)配置成包含用于確認所述其他裝置與所述被恢復文件兼容性的信息。
13.根據(jù)前述權利要求中任一項所述的方法,其中,所述一個或多個可安裝文件包括諸如程序文件或動態(tài)連接庫的可執(zhí)行文件。
14.根據(jù)前述權利要求中任一項所述的方法,其中,所述一個或多個可安裝文件包括諸如DRM媒體文件或任一其他被保護文件的被保護內(nèi)容。
15.根據(jù)前述權利要求中任一項所述的方法,其中,所述第一裝置是移動電話、PDA、筆記本或臺式計算機、或者任何其他類型的計算裝置。
16.根據(jù)前述權利要求中任一項所述的方法,其中,所述第二裝置為移動電話、智能卡、存儲裝置、PDA、筆記本或臺式計算機、或者任何其他類型的計算裝置。
17.根據(jù)前述權利要求中任一項所述的方法,其中,通過無線網(wǎng)絡執(zhí)行所述第一、第二、和/或其他裝置之間的通信。
18.根據(jù)權利要求1至16中任一項所述的方法,其中,通過有線網(wǎng)絡執(zhí)行所述第一、第二、和/或其他裝置之間的通信。
19.一種計算裝置,被配置成根據(jù)權利要求1至18中任一項所要求的方法來操作。
20.一種用于計算裝置的操作系統(tǒng),所述計算裝置被配置成根據(jù)權利要求1至18中任一項所要求的方法來操作。
全文摘要
將在第一計算裝置上安裝的可安裝文件備份到第二計算裝置,并使用與用于將文件初始安裝到第一裝置上的相同的用于驗證文件的完整性的方法,將其從第二裝置恢復到第一裝置和/或其他裝置。
文檔編號G06F21/51GK1950774SQ200580013719
公開日2007年4月18日 申請日期2005年4月29日 優(yōu)先權日2004年4月29日
發(fā)明者科琳娜·迪夫-勒克呂 申請人:西姆畢恩軟件有限公司