(57)【特許請求の範囲】
【請求項１】
主デバイスにおけるプロセッサによって、前記主デバイスに記憶される、ファイルをファイルキーで暗号化して暗号化されたファイルを生成する段階であって、前記ファイルは当該ファイルのアクセスレベルを定義する保護クラスに関連付けられる、段階と、
前記プロセッサによって、前記主デバイス上に記憶される、前記ファイルキーをクラス暗号化キーで暗号化して第１の暗号化されたファイルキーを生成する段階であって、前記クラス暗号化キーは前記ファイルのための保護クラスに基づいて選択される、段階と、
前記プロセッサによって、前記ファイルキーをバックアップキーのセットと関連付けられているパブリックキーで暗号化して第２の暗号化されたファイルキーを生成する段階と、
記憶のために、前記暗号化されたファイル及び前記第２の暗号化されたファイルキーを前記バックアップデバイスへ送信する段階と、を備え、
前記バックアップキーのセットは前記パブリックキーに対応するプライベートキーを含み、前記バックアップキーのセットは暗号化され、バックアップデバイス上に記憶される、方法。
【請求項２】
前記クラス暗号化キーはファイルのセットと関連付けられており、前記ファイルのセットは少なくとも１つの類似の特質を有している、請求項１に記載の方法。
【請求項３】
前記ファイルキーはランダムに生成されている、請求項１に記載の方法。
【請求項４】
前記ファイルキーのハッシュを遂行して第１の中間結果を生成する段階と、
前記第１の中間結果を切り詰めて第２の中間結果を生成する段階と、
ブロックオフセットの関数を利用して第３の中間結果を生成する段階と、
前記第３の中間結果を前記第２の中間結果で暗号化して、前記ファイルを暗号化するために暗号学的オペレーションにおいて使用される初期化ベクトルを生成する段階と、をさらに含む請求項２に記載の方法。
【請求項５】
前記ファイルキーのハッシュを遂行するのにＳＨＡ−１暗号化アルゴリズムが使用されている、請求項４に記載の方法。
【請求項６】
前記第１の中間結果は暗号化キーサイズへ切り詰められている、請求項４に記載の方法。
【請求項７】
ブロックオフセットの前記関数は線形帰還シフトレジスタである、請求項４に記載の方法。
【請求項８】
前記ブロックオフセットは前記線形帰還シフトレジスタのためのシードである、請求項７に記載の方法。
【請求項９】
暗号化のための前記初期化ベクトルを生成する段階は、前記ファイルにおけるデータのそれぞれのブロックについて遂行される、請求項４に記載の方法。
【請求項１０】
前記初期化ベクトルは、前記ファイルのデータのそれぞれのブロックを暗号化するのに使用されている、請求項４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ワイヤレスデータ保護に、より厳密にはデバイス間のバックアップに係わる暗号学的キーを保護することに、関する。
【背景技術】
【０００２】
電話、ＰＤＡ、ラップトップ、など、の様な移動体通信デバイスは、多くのユーザーにとって日常業務の重要な側面である。移動体デバイスは、ｅメール、テキストメッセージング、生のチャット、音声、及び映像の形式での通信を可能にする。これらのデバイスは、個人データや会社の機密データの様な貴重な情報を記憶していることが多い。その様なデバイスが記憶できる情報の量は増加しており、それと同様に記憶されている情報の重要性も増してゆく。移動体デバイスが紛失又は破壊された場合、デバイス内に記憶されている情報も全て失われる。
【０００３】
コンピュータシステムには、それが紛失又は破壊されるという事象時に少なくとも一部のデータを回復可能にするバックアップメカニズムを採用しているものがある。バックアップメカニズムは、大抵は、ファイルの全部又は一部を記憶のためにバックアップシステムへコピーすることを伴う。随意的に、バックアップシステムは、先にバックアップされているファイルについての増分的バックアップを記憶し、変更されたデータだけがバックアップシステムに送られるようにしている。
【０００４】
移動体デバイスバックアップメカニズムで、移動体デバイス上に記憶されているバックアップデータを定期的且つ自動的にバックアップするものが存在している。これらのメカニズムは、データを、電話、ラップトップコンピュータ、デスクトップコンピュータ、及びサーバ、の様な他のデバイス又はコンピューティングシステムへバックアップすることができ、移動体デバイス上のデータがアクセス可能である場合には十分である。しかしながら、移動体デバイスがロックされているときの様にデータがアクセス不能である場合には、バックアップメカニズムは、デバイスをロック解除するためのユーザーパスコードへアクセスできないため、データをバックアップするのは無理である。この弱点を克服する１つの方法は、バックアップメカニズムにデバイスがロック解除されたときに限ってバックアップを遂行させるというものである。この方法は、バックアップのための手段を提供しはするが、最後のロック解除事象以後にデバイス上に記憶されたより直近のデータをバックアップすることができない。別の解決策は、ユーザーが移動体デバイスをロック解除してバックアップを遂行させるというものである。しかしながら、この方法はユーザーからの入力を必要とする。
【発明の概要】
【０００５】
本開示の更なる特徴及び利点を次に続く説明の中で述べていくが、一部は、記述から明らかになりもすれば、ここに開示されている原理の実践によって知られもしよう。開示の特徴及び利点は、付随の特許請求の範囲の中に具体的に指摘されている器具類及び組合せを手段として実現及び獲得することができる。開示のこれら及び他の特徴は、後続の説明及び付随の特許請求の範囲からより完全に自明になりもすれば、ここに述べられている原理の実践によって知られもしよう。
【０００６】
主デバイスとバックアップデバイスの間でのバックアップ時の暗号学的キーを保護するためのシステム、方法、及び非一時的コンピュータ可読記憶媒体が開示されている。主デバイスは、パーソナルコンピュータ、ラップトップ、ネットワーク上のワークステーション、サーバ、セルフォン、スマートフォン、パーソナルデジタルアシスタント、又はデータを記憶する能力のある他の静止デバイス又は移動体デバイス、の様な何れのコンピューティングデバイスであってもよい。同様に、バックアップデバイスは、パーソナルコンピュータ、ラップトップ、ネットワーク上のワークステーション、サーバ、セルフォン、パーソナルデジタルアシスタント、又はデータを記憶する能力のある他の静止デバイス又は移動体デバイス、の様な何れのコンピューティングデバイスであってもよい。或る例示としてのシステムは、主デバイス上で、ファイルをファイルキーで暗号化して暗号化されたファイルをもたらすことによって暗号学的キーを管理している。システムは、ファイルキーをクラス暗号化キーで暗号化して暗号化されたファイルキーをもたらす。クラス暗号化キーは、ファイルがメンバーになっているクラスに従ってファイルキーを保護する。システムがファイルキーをクラス暗号化キーで暗号化した後、システムはファイルキーを２回目としてバックアップキーのセットと関連付けられるパブリックキーを使用して暗号化し、第２の暗号化されたファイルキーをもたらす。システムは、次いで、暗号化されたファイル及び第２の暗号化されたファイルキーをバックアップデバイスへ送信する。第１の暗号化されたファイルキーは、主デバイス上に記憶される。
【０００７】
或る一例としてのバックアップデバイスは、暗号化されたファイル及び暗号化されたファイルキーをバックアップデバイスに主デバイスから受信することによって暗号学的キーを管理している。システムは、暗号化されたファイルキーをバックアップキーのセットと関連付け、バックアップキーのセットをバックアップキーセットキーで暗号化してバックアップキーの暗号化されたセットをもたらす。バックアップデバイスは、暗号化されたファイル、暗号化されたファイルキー、及び暗号化されたバックアップキーのセットを、復元時に使用するためにバックアップデバイス上に記憶する。
【０００８】
バックアップ復元実施形態では、或る例示としてのシステムは、暗号化されたファイルデータをバックアップデバイスから主デバイスへ復元することができる。電話又はラップトップの様な主デバイスが破壊又は紛失された場合、システムは当該デバイスと共に失われたデータをバックアップデバイスから主デバイス又は新しいデバイスへ復元することができる。ここに述べられている手法は、デバイスが破壊又は紛失された場合に、パスワード、キー、又は当該デバイスと関連付けられている他の機密が危うくなることを想定したものである。システムは、暗号化されたファイルデータ、暗号化されたファイルキー、及び暗号化されたバックアップキーのセットを、バックアップデバイスから主デバイスへ送信する。システムは、暗号化されたファイル及び暗号化されたファイルキーをバックアップデバイスに受信し、暗号化されたファイルキーをバックアップキーのセットと関連付けることによって、暗号化されたバックアップキーのセットを作成する。次いで、システムは、バックアップキーのセットをバックアップキーセットキーで暗号化してバックアップキーの暗号化されたセットをもたらす。
【０００９】
データ復元時、主デバイスでは、システムが、暗号化されたファイルデータ、暗号化されたファイルキー、及び暗号化されたバックアップキーのセットを、バックアップデバイスから受信する。システムは、暗号化されたバックアップキーのセットをバックアップキーセットキーで復号化して復号化されたバックアップキーのセットをもたらす。次いで、システムは、暗号化されたファイルキーをバックアップキーで復号化して復号化されたファイルキーをもたらす。暗号化されたファイルデータが復号化されたファイルキーで復号化されて復号化されたファイルデータがもたらされる。次いで、システムは、ファイルデータを主デバイス上に記憶する。
【００１０】
別の実施形態では、暗号学的キーを管理するシステムは、暗号学的オペレーションに使用するための初期化ベクトルを生成することができる。システムは、ファイル暗号化キーに暗号学的ハッシュを遂行し、もたらされるハッシュを暗号化キーサイズへ切り詰める。システムは、次いで、線形帰還シフトレジスタをシードとしてのブロックオフセットと共に利用して、中間結果を生成する。中間結果は、ファイル暗号化キーの切り詰められたハッシュで暗号化されて、初期化ベクトルがもたらされる。初期化ベクトルは、暗号ブロック連鎖モードで走らせるブロック暗号アルゴリズムで暗号化及び復号化する際に利用される。初期化ベクトルは、ブロック暗号アルゴリズムを初期化する。
【００１１】
追加的に、システムは、ユーザーによって遂行されるパスワード変更時の暗号化キーをバックアップすることができる。システムは、古いパスワードが危うくなってしまったものと想定し、ファイルキーを保護するためのキーの追加セットを生成する。システムは、新しいファイルが作成されたときに生成される新しいファイル暗号化キーをバックアップキーの追加セットと関連付ける。次いで、システムは、バックアップキーの第２セットを、ユーザーから受信された新しいパスワードで暗号化する。この様にして、システムはパスワード変更時の暗号化キーをバックアップする。
【００１２】
開示の以上に記載の利点及び特徴並びに他の利点及び特徴を取得できるやり方を説明するために、以上に簡単に説明されている原理のより具体的な説明を、添付の図面に示されているその特定の実施形態を参照しながら提供してゆく。これらの図面は開示の単に例示としての実施形態を描いているのであって、従ってその範囲を限定するものと考えられるべきではないとの理解に立ち、ここでは原理を添付図面の使用を通じて更なる具体性及び詳細事項と共に記述し解説している。
【図面の簡単な説明】
【００１３】
【図１】或る例示としてのシステムの実施形態を示している。
【図２】非対称キー暗号法を示している。
【図３】対象キー暗号法を示している。
【図４】暗号ブロック連鎖方式（ＣＢＣ）モード暗号化を示している。
【図５】電子コードブック（ＥＣＢ）モード暗号化を示している。
【図６】主デバイス上での暗号学的キー管理のための或る例示としての方法の実施形態を示している。
【図７】クラスを利用した一例としてのファイルキー保護を示している。
【図８】バックアップデバイス上での暗号学的キー管理のための或る例示としての方法の実施形態を示している。
【図９】主デバイス上での例示としての暗号学的キー管理を示している。
【図１０】バックアップデバイス上での例示としての暗号学的キー管理を示している。
【図１１】バックアップキーセットキー保護のブロック線図を示している。
【図１２】バックアップデバイス上でのバックアップデータを復元するための或る例示としての方法の実施形態を示している。
【図１３】主デバイス上でのバックアップデータを復元するための或る例示としての方法の実施形態を示している。
【図１４】初期化ベクトルを生成するための或る例示としての方法の実施形態を示している。
【図１５】初期化ベクトルを生成するための或る例示としての論理フローを示している。
【図１６】パスワード変更時のバックアップキー管理のための或る例示としての方法の実施形態を示している。
【図１７】パスワード変更時のバックアップキー管理のための或る例示としてのアーキテクチャを示している。
【図１８】或る例示としてのバックアップキー生成プロセスを示している。
【発明を実施するための形態】
【００１４】
開示の様々な実施形態が以下に詳細に論じられている。特定の実装が論じられているが、これは説明目的に限定してなされているものと理解されたい。当業者には構成要素及び他の構成が開示の精神及び範囲から逸脱することなく使用され得ることが認識されるであろう。
【００１５】
本開示は、ワイヤレスデータ保護のための技術分野の必要性に対処している。主デバイス上及びバックアップデバイス上で暗号学的キーを管理すること、ファイルデータをバックアップデバイスから主デバイスへ復元すること、暗号学的オペレーションに使用するための初期化ベクトルを生成すること及びパスワード変更時のファイルキーを保護すること、によってワイヤレスデータを保護しているシステム、方法、及び非一時的コンピュータ可読媒体が開示されている。ここには、コンセプトを実践するのに採用することのできる図１の基本的な汎用システム又はコンピューティングデバイスの簡単な紹介説明が開示されている。ワイヤレスデータ保護のより詳細な説明が次に続いている。開示はこれより図１に入る。
【００１６】
図１を参照して、或る例示としてのシステム１００は、処理ユニット（ＣＰＵ又はプロセッサ）１２０とシステムバス１１０とを含む汎用コンピューティングデバイス１００を含んでおり、システムバス１１０は、読み出し専用メモリ（ＲＯＭ）１４０及びランダムアクセスメモリ（ＲＡＭ）１５０の様なメモリシステム１３０を含む様々なシステム構成要素をプロセッサ１２０へ連結している。システム１００は、プロセッサ１２０と直接接続されているか、プロセッサ１２０に近接しているか、又はプロセッサ１２０の部分として一体化されている、高速メモリのキャッシュ１２２を含んでいてもよい。システム１００は、データをメモリ１３０及び／又はストレージデバイス１６０からキャッシュ１２２へコピーしてプロセッサ１２０による迅速アクセスを図っている。この様にして、キャッシュはデータを待っている間のプロセッサ１２０の遅延を回避する遂行ブーストを提供している。これら及び他のモジュールは、プロセッサ１２０を制御して様々な行為を遂行させることができるか又はプロセッサ１２０を制御して様々な行為を遂行させるように構成されている。他のシステムメモリ１３０も使用に利用できる。メモリ１３０は、異なった性能特性を有する複数の異なった型式のメモリを含むことができる。開示物は、１つより多くのプロセッサ１２０を有するコンピューティングデバイス１００上で、又はより大きな処理能力を提供するように一体にネットワーク化されているコンピューティングデバイスのグループ又はクラスタ上で、動作しているものと考えることができよう。プロセッサ１２０は、何れかの汎用プロセッサと、ストレージデバイス１６０に記憶されていてプロセッサ１２０並びに専用プロセッサを制御するように構成されている、モジュール１  １６２、モジュール２  １６４、及びモジュール３  １６６の様な、ハードウェアモジュール又はソフトウェアモジュールと、を含むことができ、実際のプロセッサ設計にはソフトウェア命令が組み込まれている。プロセッサ１２０は、本質的に、完全に内蔵型のコンピューティングシステムであって、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュ、などを内蔵している。マルチコアプロセッサは対称であってよいし、又は非対称であってもよい。
【００１７】
システムバス１１０は、様々なバスアーキテクチャの何れかを使用するメモリバス又はメモリコントローラ、周辺バス、及びローカルバスを含む幾つかの型式のバス構造のうちの何れであってもよい。ＲＯＭ１４０などに記憶されている基本的な入力／出力（ＢＩＯＳ）は、スタートアップ時などにコンピューティングデバイス１００内の要素間で情報を伝送するのを助ける基本的なルーチンを提供していてもよい。コンピューティングデバイス１００は、更に、ハードディスクドライブ、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、など、の様なストレージデバイス１６０を含んでいる。ストレージデバイス１６０は、プロセッサ１２０を制御するためのソフトウェアモジュール１６２、１６４、１６６を含むことができる。他のハードウェアモジュール又はソフトウェアモジュールも考えられる。ストレージデバイス１６０は、システムバス１１０へ、ドライブインターフェースによって接続されている。ドライブ及び関連のコンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、及びコンピューティングデバイス１００のための他のデータ、の不揮発性記憶を提供している。１つの態様では、或る特定の機能を遂行するハードウェアモジュールは、機能を実施するうえで、プロセッサ１２０、バス１１０、ディスプレイ１７０、など、の様な必要なハードウェア構成要素と接続している非一時的コンピュータ可読媒体に記憶されているソフトウェア構成要素を含んでいる。基本的な構成要素は当業者には既知であり、デバイス１００が小型であるか、ハンドヘルドコンピューティングデバイスであるか、デスクトップコンピュータであるか、又はコンピュータサーバであるかどうかといった様な、デバイスの型式に依存して適切な変型が考えられる。
【００１８】
ここに説明されている一例としての実施形態はハードディスク１６０を採用しているが、当業者には、データを記憶することのできるコンピュータ可読媒体であって、コンピュータがアクセス可能である他の型式のコンピュータ可読媒体、例えば、磁気カセット、フラッシュメモリカード、デジタル多目的ディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭ）１５０、読み出し専用メモリ（ＲＯＭ）１４０、ビットストリームを含んでいるケーブル信号又はワイヤレス信号、など、も例示としての動作環境に使用でき得るものと評価されたい。非一時的コンピュータ可読記憶媒体は、明示的に、エネルギー、搬送波信号、電磁波、及び信号、それ自体を除外している。
【００１９】
コンピューティングデバイス１００とのユーザー対話を可能にするため、入力デバイス１９０は、音声用のマイクロフォン、ジェスチャ又はグラフィカル入力用のタッチ感知スクリーン、キーボード、マウス、動作入力、音声、など、の様な幾つもの数の入力メカニズムを表現している。出力デバイス１７０もまた、当業者に既知の多数の出力メカニズムのうちの１つ又はそれ以上とすることができる。幾つかの事例では、マルチモードシステムが、ユーザーがコンピューティングデバイス１００と通信するのに多様な型式の入力を提供することを可能にしている。通信インターフェース１８０は、概して、ユーザー入力及びシステム出力を統制及び管理している。何れかの特定のハードウェア配列で動作させることの制限は無いので、ここでの基本的な特徴は、向上したハードウェア又はファームウェアの配列が開発されたら、それらに合わせて容易に置き換えられよう。
【００２０】
解説の明解さを期して、例示としてのシステムの実施形態は、「プロセッサ」又はプロセッサ１２０と標示されている機能ブロックを含め、個々の機能ブロックを含むものとして提示されている。これらのブロックが表している機能は、共用か又は専用のどちらかのハードウェアの使用を通じて提供されており、その様なハードウェアには、限定するわけではないが、ソフトウェア及び汎用プロセッサ上で実行するソフトウェアの等価物として動作するように特設されているプロセッサ１２０の様なハードウェアを実行する能力のあるハードウェアが含まれる。例えば、図１に提示されている１つ又はそれ以上のプロセッサの機能は、信号共用プロセッサ又は複数プロセッサによって提供されていてもよい。（「プロセッサ」という用語の使用は、排他的に、ソフトウェアを実行する能力のあるハードウェアを指すものと解釈されてはならない。）例示の実施形態は、マイクロプロセッサ及び／又はデジタル信号プロセッサ（ＤＳＰ）ハードウェア、以下に論じられているオペレーションを遂行するソフトウェアを記憶するための読み出し専用メモリ（ＲＯＭ）１４０、及び結果を記憶するためのランダムアクセスメモリ（ＲＡＭ）１５０を含んでいる。同様に、超大規模集積（ＶＬＳＩ）ハードウェアの実施形態並びに汎用ＤＳＰと組み合わされたカスタムＶＬＳＩ回路構成が提供されていてもよい。
【００２１】
様々な実施形態の論理演算は、（１）一般使用のコンピュータ内のプログラム可能な回路上で走る一連のコンピュータ実施型の段階、オペレーション、又は手続きとして、（２）特殊使用のプログラム可能な回路上で走る一連のコンピュータ実施型の段階、オペレーション、又は手続きとして、及び／又は（３）プログラム可能な回路内の相互接続された機械モジュール又はプログラムエンジンとして、実装されている。図１に示されているシステム１００は、記載の方法の全部又は部分を実践することができ、記載のシステムの一部とすることができ、及び／又は、記載の非一時的コンピュータ可読記憶媒体の中の命令に従って動作することができる。その様な論理演算は、プロセッサを制御してモジュールのプログラミングに従った特定の機能を遂行させるように構成されているモジュールとして実装することができる。例えば、図１は、プロセッサ１２０を制御するように構成されたモジュールである３つのモジュール、即ち、Ｍｏｄ１  １６２、Ｍｏｄ２  １６４、及びＭｏｄ  ３  １６６を示している。これらのモジュールは、ストレージデバイス１６０上に記憶されていて、実行時にＲＡＭ１５０又はメモリ１３０へロードされるようになっていてもよいし、又は当技術で知られている様に他のコンピュータ可読メモリ場所に記憶されていてもよい。
【００２２】
暗号法論
コンピューティングシステムの幾つかの構成要素を開示してきたが、開示はこれより暗号法の簡単な論考に入る。暗号法は、暗号化と復号化の両方を網羅し、メッセージの意図された受信者しか情報にアクセスできないように情報を隠蔽するのに使用される。暗号化は、解読可能な情報をそれが解読不能になるやり方で変えるプロセスであり、復号化は、解読不能な情報を解読可能な情報へ変える逆転プロセスである。暗号化と復号化は、情報を両形式の間で変えるのに、秘密に保たれているキーを利用する。伝統的な対称キー暗号法と非対称（又はパブリックキー）暗号法という２つの異なった型式の暗号法が存在する。
【００２３】
パブリックキー暗号法は、伝統的な対称キーアルゴリズムに追加して、又はそれに代えて、非対称キーアルゴリズムを利用するという暗号学的手法である。図２は、非対称キー暗号法を示し、図３は対称キー暗号法を示している。非対称キーアルゴリズムは、暗号化２１０用と復号化２２０用に異なったキーが使用されるという点で、対称キーアルゴリズムとは異なる。対称キーアルゴリズムは、暗号化３１０用と復号化３２０用に同じキーを使用していて、メッセージの送信者と受信者の間の共有秘密キーという概念に基づいている。パブリックキー暗号法は、暗号化用と復号化用に異なったキーを利用するので、送信者と受信者の間の秘密キーの安全な交換は必要無い。伝統的な対称キー暗号法の利点には速さが含まれ、というのも、より近代的な非対称キーアルゴリズムは速度がより遅いからである。
【００２４】
パブリックキー暗号法では、数学的に関係付けられるキー対、即ちプライベートキーとパブリックキー、が生成される。それらキーは関係付けられてはいるものの、一方のキーを他方に基づいて導出するのは非現実的である。プライベートキーは秘密に保たれていて、パブリックキーは公開されている。送信者はメッセージを受信者のパブリックキー２１０及び暗号化アルゴリズム２３０で暗号化し、するとメッセージの受信者はメッセージをプライベートキー２２０及び対応する暗号化（又は復号化）アルゴリズム２４０で復号化する。受信者のプライベートキーのみが、受信者のパブリックキーで暗号化されたメッセージを復号化することができる。例えば、アリスがボブへ個人情報の入ったメッセージを送信したいと思い、当該情報を保護するためにメッセージを暗号化する。アリスは、暗号学的キーをボブとは安全に共有し得ないために、彼女のメッセージを送信するのにパブリックキー暗号法を利用する。アリスはボブへのメッセージをボブのパブリックキーで暗号化し、暗号化されたメッセージを彼へ送信する。ボブは暗号化されたメッセージを受信し、メッセージを非対称キー対に関係付けられている対応するプリベートキーで復号化する。この様にして、アリスはボブへ暗号化されたメッセージをパブリックキー暗号法により暗号学的キーを交換することなく送信する。
【００２５】
非対称キー暗号法及び対称キー暗号法を論じてきたが、開示はこれよりブロック暗号の論考に入る。ブロック暗号は、データをビット単位で暗号化するストリーム暗号とは対照的に、データをブロック単位で暗号化する暗号法アルゴリズムである。ブロック暗号アルゴリズムは、入力データをブロックへ分割し、データの各ブロックに対して動作する。ブロック暗号は、電子コードブック（ＥＣＢ）又は暗号ブロック連鎖（ＣＢＣ）の様な様々なモードで動作することができる。
【００２６】
ＣＢＣモードでは、暗号化の１つのブロックからの出力が次の暗号化オペレーションへの入力に使用される。図４は、ＣＢＣモードで走らせる暗号を示している。初期化ベクトル（ＩＶ）４１０が暗号化前ビットの第１ブロックｂ1４２０と組み合わされ、結果が暗号化される。初期化ベクトルは暗号化前ビットをランダム化するので、その結果、プレーンテキストの同じブロックが同じキーで２回以上暗号化されても、同じ暗号文になって出てこない。プレーンテキストの同じブロックを同じキーでの２回以上暗号化すれば同じ暗号文が生み出される。ＩＶ４１０の使用は、この所望されざる効果が起こるのを防止する。ＩＶ４１０は、データの第１ブロックについて使用されるものであり、というのは、暗号化前ビットの第１ブロックと組み合わせるべき先の回からの出力が存在しないからである。暗号化アルゴリズムは、暗号ビットのブロックｃｂ1４３０を出力し、暗号ビットを次のブロックｂ2４４０と組み合わせ、それが次に暗号化される。システムは、このプロセスを、データの全ブロックが暗号化されてしまうまで繰り返す。復号化については、プロセスを逆転させる。暗号ビットのそれぞれのブロックがブロック暗号復号化アルゴリズムを使用して復号化され、次いで先のブロックの暗号ビットと組み合わされてプレーン（暗号化前）ビットを生み出す。第１ブロックについては、暗号ビットは復号化され、ＩＶと組み合わされて、暗号化前データを生み出す。
【００２７】
図５はＥＣＢモードで走らせる暗号を示している。ＥＣＢモードでは、入力データはデータのブロックへ分割され、それが次いで暗号化される。ＣＢＣモードとは違い、暗号化の先の回からの出力との組合せは無い。暗号化前ビットの第１ブロックｂ1５１０は、暗号化アルゴリズムへの入力として使用され、アルゴリズムは暗号ビットｃｂ1５２０を出力する。ＥＣＢで走らせる暗号に係る１つの問題は、アルゴリズムがそれぞれのブロックを暗号化するのに同じキーを使用するために、同一のプレーンビットのブロックは同一の暗号ビットのブロックへ暗号化されてしまうことである。
【００２８】
幾つかのシステム構成要素及び暗号化コンセプトを開示してきたが、開示はこれより図６に示されている例示としての方法の実施形態に入る。明解さを期して、それぞれの例示としての方法は、ここでは、各方法を実践するように構成されている図１に示された一例としてのシステム１００に関して論じられている。ここに概説されている段階は一例であり、一部の特定の段階を除外、追加、又は修正した組合せを含め、それら段階の何らかの組合せとして実装されてもよい。
【００２９】
図６は、主デバイス上での暗号学的キーを管理することによるワイヤレスデータ保護を示している。主デバイスは、パーソナルコンピュータ、ラップトップ、ネットワーク上のワークステーション、サーバ、セルフォン、パーソナルデジタルアシスタント、又はデータを記憶する能力のある他の静止デバイス又は移動体デバイス、の様な何れのコンピューティングデバイスであってもよい。主デバイスのバックアップは、デバイスが偶発的なデータ削除、紛失、破壊、及び盗難を被ることがあることから必要である。データ紛失の事象時、システムは、データを、同じデバイスへ、同じ型式の新しいデバイスへ、及び／又は別の型式のデバイスへ、復元することができる。バックアップ事象時に暗号学的キーを保護することで、安全なシステムを確保することができる。方法を実践するシステムは、ファイルをファイルキーで暗号化して暗号化されたファイルをもたらす（６１０）。このファイルは、テキスト、画像、映像、音声、マルチメディア、など、を収容しており、ＰＮＧ、ＪＰＧ、ＡＶＩ、及びＨＴＭＬ、の様な何れかのフォーマットをしている。ファイルキーのコンセプトは、メモリセグメント又は命令のセットといった様にファイルに記憶されていないデータをカバーするように拡張することもできようが、ここでは原理はファイルに関して論じられている。ファイルキーは、暗号化キーであり、ランダムに生成されていてもよい。ファイルキーは、２５６−ビットＡＥＳキーであってもよいし、又はＡＥＳ、ＤＥＳ、Ｂｌｏｗｆｉｓｈ、など、の様な何れかの暗号化アルゴリズムに使用するための何か他の長さの暗号学的キーであってもよい。システムがファイルをファイルキーで暗号化した後、システムはファイルキーをクラス暗号化キーで暗号化して暗号化されたファイルキーをもたらす（６２０）。
【００３０】
システムがファイルキーをクラス暗号化キーで暗号化した後、システムはファイルキーをバックアップキーのセットと関連付けられているパブリックキーで暗号化して第２の暗号化されたファイルキーをもたらす（６３０）。パブリックキーは、非対称キー対に属するものとすることができ、各プライベートキーはバックアップデバイス上に記憶されている。次いで、システムは、暗号化されたファイル及び第２の暗号化されたファイルキーをバックアップデバイスへ送信する（６４０）。バックアップデバイスは、パーソナルコンピュータ、ラップトップ、ネットワーク上のワークステーション、サーバ、セルフォン、スマートフォン、パーソナルデジタルアシスタント、又はデータを記憶する能力のある他の静止デバイス又は移動体デバイス、の様な何れのコンピューティングデバイスであってもよい。バックアップデバイスは、幾つも数のデバイスについて１セット又はそれ以上のバックアップキーのセットを記憶していよう。例えば、バックアップサーバが、セルフォン用にバックアップキーのセットを５セット、ＰＤＡ用にバックアップキーのセットを２セット記憶しているということがあろう。
【００３１】
クラス暗号化キーは、或る特定の保護クラスのキーを暗号化するのに使用される暗号学的キーである。図７は、保護クラスに従ってファイルキーを保護しているファイルシステムを示している。システムは、各々のファイルを、保護クラスのセット７１０のうちの１つへ割り当て、それぞれの保護クラスにクラス暗号化キーを割り当てる。１つの態様では、それぞれのクラス暗号化キーは固有である。システムは、それぞれのファイル暗号化キーを対応するクラス暗号化キー７２０で暗号化する。例えば、ファイル１とファイル５は保護クラスＡの部分であるが、固有の暗号化キーを有している。ファイル１はキー１で暗号化されており、一方、ファイル５はキー５で暗号化されている。キー１とキー５はどちらもキーＡで暗号化されている。保護クラスは、或る一定のファイルの振る舞い及びアクセス権を許容している。例えば、ロック中読み出し可能と標示されているファイルは、或るクラス暗号化キーによって保護することができ、最初にロック解除した後に読み出し可能と標示されているファイルは、異なったクラス暗号化キーによって保護することができ、或る特定のユーザーによって作成された全てのフィルは異なったクラス暗号化キーによって暗号化することができる。他のファイル標示には、ロック中書き込み可能、ロック解除中読み出し可能、が含まれる。ファイルは、異なった安全目的にふさわしい異なったやり方で分類又は標示されればよい。例えば、異なった安全を要するファイルを標示するのに分類システムが使用されてもよい。例えば、クラスＡファイルは、高レベルの安全を要するファイルであり、クラスＡファイル用のファイルキーを保護するクラス暗号化キーはとりわけ強力な暗号化キーとするのに対し、クラスＢファイルは中レベルの安全を要するファイルであるとする。クラスＢファイル用のファイルキーを保護するクラス暗号化キーは、中程度に強力な暗号化キーとすることができよう。ファイル又は機密アクセスに対する保護クラスを通じてのこの階層的手法は、システムが所望の安全レベルに依存して差別的にファイルを保護できるようにしている。
【００３２】
図８は、バックアップデバイス上のワイヤレスデータ保護のための或る例示としての方法の実施形態を示している。システムは、バックアップデバイス上では、暗号化されたファイルと暗号化されたファイルキーをバックアップデバイスに主デバイスから受信することによって暗号学的キーを管理する（８１０）。システムは、暗号化されたファイルキーをバックアップキーのセットと関連付け（８２０）、バックアップキーのセットをバックアップキーセットキーで暗号化してバックアップキーの暗号化されたセットをもたらす（８３０）。バックアップデバイスは、暗号化されたファイル、暗号化されたファイルキー、及び暗号化されたバックアップキーのセットを、バックアップデバイス上に記憶する（８４０）。バックアップデバイスは、主デバイス側と同じ暗号化されたファイルデータを記憶する。しかしながらファイルデータを暗号化するのに使用されるファイルキーは、異なるように暗号化される。主デバイス上に記憶されているファイルキーはクラス暗号化キーで暗号化されているのに対し、バックアップデバイス上に記憶されているファイルキーは、非対称キー対に関係付けられているパブリックキーで暗号化されている。
【００３３】
図９は、主デバイス上での暗号学的キー管理を利用したワイヤレスデータ保護を示している。システムは、ファイル１、ファイル２、及びファイル３を、この例ではセルフォン９１０である主デバイス上に記憶している。ファイルのそれぞれは、別々の対応するファイル暗号化キーであるｋ1、ｋ2、及びｋ3９２０で暗号化されている。ファイル暗号化キーｋ1、ｋ2、及びｋ3のそれぞれは、バックアップキーセットと関連付けられている各々のパブリックキーｐｋ1、ｐｋ2、ｐｋ3９３０で暗号化されている。主デバイス９１０は、ファイル１、ファイル２、及びファイル３のそれぞれにとっての暗号化されたファイルデータと、各々の暗号化されたファイルキーｋ1、ｋ2、及びｋ3のそれぞれを、この例ではデスクトップコンピュータであるバックアップデバイスへ送信する。パブリックキーは、デバイス上のシステムキーバッグの中のクラスキーのミラーであってもよい。
【００３４】
図１０は、バックアップデバイス上のワイヤレスデータ保護を示している。システムは、バックアップデバイス上の１セット又はそれ以上のバックアップキーのセット１０１０の中に対応するプライベートキーを記憶する。例えば、システムは、安全維持のためにデスクトップコンピュータ上にバックアップキーのセット１０１０を記憶する。システムは、次いで、バックアップキーのセット１０１０をバックアップキーセットキーｋb１０２０で暗号化する。図１１は、バックアップキーセットキー保護のための或る例示としてのブロック線図を示している。システムは、主デバイスからのランダムに生成された秘密、即ちバックアップキーセットキーｋb１１１０を受信し１１２０、それをバックアップデバイスが供託する１１３０。キー供託は、暗号化キーを安全維持のために第三者機関へ提供するプロセスである。バックアップデバイスは、バックアップキーセットキーをユーザーパスワードで保護する１１４０。ユーザーパスワードは、システムの中で既に使用されているユーザーアカウントパスワードと同じであってもよい。この場合は、ユーザーが自分達のパスワードを忘れたら、サービスプロバイダはキーの暗号化されたセットを更新することなくユーザーパスワードをリセットすることができる。サービスプロバイダは、バックアップキーセットキーを新しいユーザーパスワードで保護するので、ユーザーは新しいユーザーパスワードを提供することによってバックアップキーのセットにアクセスすることができる。加えて、バックアップデバイスは、自身がバックアップキーセットキーを供託することになるのであるから、キーを如何様にも暗号化することができる。随意的に、ユーザーは、バックアップキーセットキーがサービスプロバイダによって回復不能となるようにしてバックアップキーのセットを保護することを選ぶこともできる。ユーザーは、別個のバックアップパスワードを提供し１１５０、それを使用してバックアップキーセットキーが生成される１１６０ようにしてもよい。この場合、ユーザーが自分達のパスワードを忘れたら、サービスプロバイダはバックアップキーセットキーを回復させようがない。
【００３５】
幾つかの実装は、サーバ上のバックアップキーバッグについて２通りの保護レベルを提供できる。例えば、デバイスは、ランダムバックアップキーバッグ秘密を生成し、当該バックアップキーバッグ秘密をサーバ相手に供託してもよい。サーバは、この秘密をユーザーの通常のアカウントパスワードで保護するが、それは当該パスワードで暗号化されてはいない。サーバは、秘密を、秘密供託の一環としてそれが選んだ何れの方式で暗号化することもできる。アカウントパスワードは回復可能であるので、バックアップキーバッグ秘密も回復可能である。別個のランダムバックアップキーバッグ秘密が、暗号化されたキーバッグを更新する必要無しにアカウントパスワードを変更できるようにする。
【００３６】
別の例では、ユーザーは別個のバックアップパスワードを規定することができる。デバイスは、当該パスワードに基づいてバックアップキーバッグ秘密を生成するが、当該秘密をサーバ相手に供託しない。ユーザーは復元時にこの別個のバックアップパスワードを再入力するものであり、このパスワードを回復する方途は無く、回復不能なパスワードとなる。
【００３７】
図１２は、暗号化されたファイルデータをバックアップデバイスから主デバイスへ復元するための或る例示としての方法の実施形態を示している。主デバイスは、バックアップ遂行元と同じデバイスであることもあれば、異なったデバイスであることもあろう。例えば、ユーザーが偶発的に自分達の電話からデータを消去してしまった場合、ユーザーは電話の直近のバックアップ時点までの失われたデータを復元することができる。或いは、ユーザーの電話が盗まれた場合、ユーザーは新しい電話を購入し、ユーザーの元のデバイスから直近のバックアップ時点までの失われたデータを復元することができる。本方法を実践するシステムが、暗号化されたファイルデータ、暗号化されたファイルキー、及び暗号化されたバックアップキーのセットを、バックアップデバイスから主デバイスへ送信する（１２００）。暗号化されたバックアップキーのセットは、システムによって、又は別のデバイス又はデバイスの集合体によって、生成されるものであり、当該システムは、暗号化されたファイル及び暗号化されたファイルキーをバックアップデバイスに受信し（１２１０）、暗号化されたファイルキーをバックアップキーのセットと関連付け（１２２０）、バックアップキーのセットをバックアップキーセットキーで暗号化してバックアップキーの暗号化されたセットをもたらす（１２３０）。
【００３８】
図１３は、暗号化されたファイルデータを主デバイス上に復元するための或る例示としての方法の実施形態を示している。方法を実践するシステムは、暗号化されたファイルデータ、暗号化されたファイルキー、及び暗号化されたバックアップキーのセットを、主デバイスに受信する（１３１０）。システムは、暗号化されたバックアップキーのセットをバックアップキーセットキーで復号化してバックアップキーのセットをもたらす（１３２０）。バックアップキーのセットが復号化されたら、システムは暗号化されたファイルキーを、バックアップキーのセットからの或るバックアプキーで復号化して、ファイルキーをもたらす（１３３０）。ファイルキーを使用して暗号化されたファイルデータを復号化してファイルデータを現出させ（１３４０）、システムは復号化されたファイルデータを主デバイス上に記憶する（１３５０）。
【００３９】
初期化ベクトルの生成
システムは、暗号オペレーションに使用するための初期化ベクトルを生成することができる。初期化ベクトル（ＩＶ）は、ＣＢＣモードの暗号化時にデータへばらつきを追加するために使用される。図１４は、初期化ベクトルを生成するための或る例示としての方法の実施形態を示している。システムは、ファイルキーである第１の暗号化キーの暗号学的ハッシュを遂行して第１の中間結果を生み出す（１４１０）。ファイルキーは暗号化キーであり、ランダムに生成されていてもよい。ファイルキーは、２５６−ビットＡＥＳキーであってもよいし、又はＡＥＳ、ＤＥＳ、Ｂｌｏｗｆｉｓｈ、など、の様な何れかの暗号化アルゴリズムに使用するための何か他の長さの暗号学的キーであってもよい。次に、システムは、第１の中間結果を切り詰めて第２の中間結果を生み出し（１４２０）、ブロックオフセットの関数を利用して第３の中間結果を生成する（１４３０）。システムは、第１の中間結果、即ちファイル暗号化キーのハッシュを、１６バイト又は何か他のサイズの様な、特定の暗号法アルゴリズムにとって適当な暗号化キーサイズへ切り詰める。ブロックオフセットの関数は、線形帰還シフトレジスタ（ＬＦＳＲ）であってもよいし、ブロックオフセットを利用する何か他の関数であってもよい。ブロックオフセットは、データへの指標であり、ブロック番号を指し示す。最後に、システムは第３の中間結果を第２の中間結果で暗号化して、暗号化及び復号化に使用するためのＩＶを生み出す（１４４０）。第３の中間結果を第２の中間結果で暗号化するのに使用される暗号化アルゴリズムは、ＤＥＳや他の適した対称暗号化アルゴリズムの様な何れの暗号化アルゴリズムであってもよい。
【００４０】
図１５は、暗号学的オペレーションに使用するためのＩＶを生成するための反復手法についての或る例示としての論理フローを示している。ファイルデータを暗号化するとき、システムは、ファイル中のデータのそれぞれのブロックについてＩＶを生成する。例えば、サイズ２ＭＢを有するファイルなら、システムはファイルをサイズ４ＫＢのブロックへ分割する。５００のブロックのそれぞれについて、システムは、暗号化及び復号化に使用するためのＩＶを生成する。最初に、システムは、現在のブロックがファイル中の最後のブロックであるかどうかをチェックする１５１０。現在のブロックが最後のブロックであるなら、システムはＩＶ生成ルーチンを出て行く。それが最後のブロックでないなら、システムはＩＶ生成ルーチンを継続する。システムは、ＳＨＡ−１暗号化アルゴリズム及び入力としてファイル別キー（ｐｅｒ  ｆｉｌｅ  ｋｅｙ）ｋfを利用してハッシュを遂行することによって２０バイトｋivを生成する１５２０。中間結果ｋivは１６バイトへ切り詰められて、中間結果ｋtを生み出す１５３０。切り詰めサイズは、暗号化キーサイズであり、８バイト、１２バイト、又は１６バイトの様な特定の暗号化アルゴリズムによって要求されている何れかのサイズ又は任意のバイト数とすることもできる。この時点で、ファイルへのブロックオフセットがＬＦＳＲへの入力として使用されて、擬似ランダム値ｒａｎｄを生み出す１５４０。
【００４１】
ＬＦＳＲは、シフトレジスタであって、それのフィードバックビットは先行ビットの線形組合せである。シフトレジスタは、データに関してビット単位で動作し、一度に１ビットを出力する関数である。関数が或るビットを出力した後、ビットのどれもがレジスタ中で１場所分シフトされ、新しいビットが先行ビットに基づいて算定される。プロセスは、所望の数のビットが関数から出力されるまで繰り返す。レジスタは、有限の状態数を有しており、最終的には出力ビットの繰り返しサイクルに突入する。ＬＦＳＲの繰り返し性質のせいで、それらは真にランダムではない。ソフトウェア及び／又はハードウェアＬＦＳＲは、擬似ランダム数を生成していてもよい。
【００４２】
可変ｒａｎｄは、ＬＦＳＲをブロックオフセットに適用することによって生成される１５４０。システムがｒａｎｄを生成した後、システムはＬＦＳＲからの出力、ｒａｎｄ、を中間結果ｋtで暗号化し１５５０、現在のブロック用のＩＶを出力する１５６０。システムは、現在のブロックがファイル中の最後のブロックかどうかをチェックする段階１５１０へ戻る。それが最後のブロックであるなら、システムは全必要ＩＶを生成した後に出て行く。そうでなければ、システムはファイル中の残りのデータについてのＩＶ生成を継続する。
【００４３】
ファイルキーは、襲撃者がＩＶへのアクセスを手に入れてもファイルキーへのアクセスは手に入れることができないようなやり方でＩＶを生成するのに使用されている。開示されている方式でＩＶを算定することの恩恵の１つは、ＩＶはそれが記憶されているデバイスと結び付けられていない、ということである。ＩＶを生成する方法には、ＩＶをそれが生成されたデバイスと結び付けている代わりの方法が存在している。これらの方法は、データが元のデバイスへ復元される場合には十分であるが、但し、デバイスが盗まれるか又は破壊された場合がそうである様にバックアップされたデータが新しいデバイスへ復元される場合には十分ではない。開示されている方法は、異なったデバイスへのデータ復元に備えている。
【００４４】
バックアッププロセスが有効になっている状態でユーザーパスワードを変更する
図１６は、ユーザーパスワードを変更するための或る例示としての方法の実施形態を示している。ユーザーが自分のパスワードを変更するとき、システムは、古いパスワードが危うくなってしまいバックアップキーのセットを保護するにはもはや信頼性が無いものと想定することであろう。パスワードの変更は、デバイスが紛失又は破壊された場合の様に必須事象であることもあれば、自発的なユーザー開始事象であることもあろう。ユーザーが自分のパスワードを変更する場合で、バックアッププロセスが有効になっている場合、システムはバックアップデバイス上でバックアップキーの第２セットを作成する（１６１０）。システムは新しいファイル暗号化キーをバックアップデバイス上のバックアップキーの第２セットと関連付ける（１６２０）。システムは、新しいファイルが作成されると、新しいファイル暗号化キーを生成する。ユーザーがパスワードを変更した後、新規作成ファイル用に生成された何らかの新しいファイルキーはバックアップキーの第２セットと関連付けられる。システムはバックアップキーの第２セットを最終的に新しいユーザーパスワードで暗号化する（１６３０）。システムは、ランダム秘密を生成し、ランダム秘密を新しいユーザーパスワードで保護することができる。バックアップシステムは、バックアップキーのセットを任意のセット数収容することができる。バックアップキーバッグ秘密は、ランダムに生成されるのではなしに、パスワード事例から導出されてもよい。ファイルキーは、キーセット中に記憶され、キーセット中のキーによって暗号化され、ファイルメタデータに記憶されることになる。
【００４５】
図１７は、ユーザーパスワードを変更するための或る例示としてのアーキテクチャを示している。パスワード変更以前、キーのバックアップセット１７１０は、ユーザーパスワードから導出されたキーｂｋ1によって保護されている。キーの第１セット中の保護されているバックアップキーのセットはｋ1、ｋ2、及びｋ3である。これらのキーは、セルフォンの様な主デバイス上に記憶されているファイル１、ファイル２、及びファイル３、それぞれのためのファイルキーを暗号化する。パスワードが変更された後、システムは、バックアップデバイス上にバックアップキーの新しいセットを作成し、新たに作成されたバックアップキーを当該新しいセットに記憶する。例えば、システムはファイル４及びファイル５を作成し、ファイルキーを保護する新たに生成された暗号化キーｋ4及びｋ5をバックアップキーの新しいセットに記憶する。ファイル４及びファイル５のためのファイルキーは、暗号化キーｋ4及びｋ5によってそれぞれ暗号化され、対応するファイルメタデータに記憶される。システムは、バックアップキーの新しいセットを保護させるために新しいパスワードから新しいバックアップキーセットキーｂｋ2１７２０を導出する。システムは、任意の回数のパスワード変更につき任意の数のバックアップキーセットを生成することができる。ユーザーが自分のパスワードを変更する都度、システムはバックアップデバイス上に追加のバックアップキーセットを作成し、新しいセットを、新しいユーザーパスワードから導出されたキーで保護する。この様にして、システムはパスワード変更時に別のデバイス上に記憶されているバックアップキーのセットを保護する。
【００４６】
１つの実施形態では、バッファキャッシュを迂回することによって、暗号化されたデータの生アクセスが有効にされている。データへの要求をデータが必要になる都度ディスクからデータをフェッチするよりも素早く完遂させられるようにキャッシュがデータを記憶している。バッファキャッシュを迂回することで、システムは暗号化されたデータを復号化すること無しに当該データにディスクからアクセスすることができるようになる。通常の方式でファイシステムへアクセスした場合、ファイルシステムアクセス層は自動的にデータを復号化してしまう。
【００４７】
別の実施形態では、バックアップデバイス上に記憶されているファイル別キーに基づいてバックアップキーを生成する或る効率的な方法が開示されている。図１８は、バックアップキー生成プロセスを示している。例えば、システムは主デバイスをロック解除し、新しいクラスＡファイル及びランダムなファイル別暗号化キーを作成することができる（１８１０）。システムは、ファイル別キーをデバイスキーで暗号化する（１８２０）。システムは、新しいパブリック／プライベートキー対をファイル毎に生成する代わりに、単回セッションで２回以上使用できる短命のパブリック／プライベートキー対を生成する（１８３０）。システムは、バックアップデバイスのためにファイル別キーを保護するのに、短命なキーとバックアップキーセットキーの間のキー交換を使用してラッピングキーを生成することができる（１８４０）。最後に、システムは、バックアップデバイス上に記憶させるべく、ファイル別暗号化キーをラッピングキーで暗号化する（１８５０）。デバイスがロック解除されている期間中は、ラッピングキー及び短命のパブリック／プライベートキー対は再使用できる。このプロセスは、ファイル毎に新しい短命キー対及びラッピングキーを手に入れるための高価な生成及びキー交換を回避する。開示されている方法は、同じクラス中の、即ち提示されている例ではクラスＡ中のファイルキーに、デバイスがロック解除されている期間中について安全の喪失無しに適用される。
【００４８】
本開示の範囲内の実施形態は、更に、コンピュータ実行可能な命令又はデータ構造を実施するため又は記憶させておくための有形及び／又は非一時的なコンピュータ可読記憶媒体を含むことができる。その様な非一時的コンピュータ可読記憶媒体は、以上に論じられている何れかの専用プロセッサの機能設計を含め、汎用及び専用のコンピュータによってアクセスされ得る何らかの利用可能な媒体とすることができる。一例として、限定するわけでは無しに、その様な非一時的コンピュータ可読媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、又は他の光ディスクストレージ、磁気ディスクストレージ又は他の磁気ストレージデバイス、又は所望のプログラムコード手段をコンピュータ実行可能な命令、データ構造、又はプロセッサチップ設計の形式で実施又は記憶するのに使用できる何か他の媒体、を含めることができる。情報がネットワーク又は別の通信接続（ハードワイヤードかワイヤレスか又はそれらの組合せのどれか）経由でコンピュータへ伝送又は提供される場合、コンピュータは適正に接続をコンピュータ可読媒体として見る。而して、何らかのその様な接続は、適性には、コンピュータ可読媒体と称される。以上のものの組合せもコンピュータ可読媒体の範囲に含まれるものとする。
【００４９】
コンピュータ実行可能な命令には、例えば、汎用コンピュータ、専用コンピュータ、又は専用処理デバイスに、或る特定の機能又は機能群を遂行させる命令又はデータが含まれる。コンピュータ実行可能な命令には、独立型環境又はネットワーク環境でコンピュータによって実行されるプログラムモジュールも含まれる。概して、プログラムモジュールには、特定のタスクを遂行する又は特定のアブストラクトデータタイプを実施するルーチン、プログラム、構成要素、データ構造、オブジェクト、及び専用プロセッサの設計に固有の機能、など、が含まれる。コンピュータ実行可能な命令、関連付けられるデータ構造、及びプログラムモジュールは、ここに開示されている方法の諸段階を実行するためのプログラムコード手段の例を表している。その様な実行可能な命令又は関連付けられるデータ構造の特定のシーケンスは、その様な段階中の記述されている機能を実施するための対応する行為の例を表している。
【００５０】
当業者には評価される様に、本開示の他の実施形態は、パーソナルコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベース又はプログラム可能な消費者向け電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、など、を含め、多数の型式のコンピュータシステム構成と共にネットワークコンピューティング環境で実践されてもよい。実施形態は、更に、通信ネットワークを通じて（ハードワイヤードリンク又はワイヤレスリンクによるか又はそれらの組合せによるかの何れかで）リンクされているローカル及びリモートの処理デバイスによってタスクが遂行される分散型コンピューティング環境で実践されてもよい。分散型コンピューティング環境では、プログラムモジュールはローカルとリモートの両方のメモリストレージデバイスに設置されている。
【００５１】
以上に説明されている様々な実施形態は、例示のみを目的に提供されており、開示の範囲を制限するものと解釈されてはならない。例えば、本明細書の原理はバックアップ移動体デバイスのみならず暗号学的オペレーションを遂行する他のデバイス又はコンピューティングシステムにも適用される。ここに説明されている原理に対し、ここに例示され説明されている一例としての実施形態及び応用に追随することなく、また本開示の精神及び範囲から逸脱することなく、様々な修正及び変更がなされ得ることが、当業者には、容易に認識されるであろう。
【符号の説明】
【００５２】
１００  システム、汎用コンピューティングデバイス
１１０  システムバス
１２０  処理ユニット（ＣＰＵ又はプロセッサ）
１２２  キャッシュ
１３０  メモリ
１４０  読み出し専用メモリ（ＲＯＭ）
１５０  ランダムアクセスメモリ（ＲＡＭ）
１６０  ストレージデバイス
１６２、１６４、１６６  モジュール
１７０  出力デバイス
１８０  通信インターフェース
１９０  入力デバイス
２１０、３１０  暗号化用キー
２２０、３２０  復号化用キー
２３０  暗号化アルゴリズム
３３０  暗号化（復号化）アルゴリズム
４１０  初期化ベクトル（ＩＶ）
４２０  暗号化前ビットの第１ブロック
４３０  暗号ビットのブロック
４４０  暗号化前ビットの次のブロック
５１０  暗号化前ビットの第１ブロック
５２０  暗号ビット
７１０  保護クラスのセット
７２０  クラス暗号化キー
９１０  セルフォン
９２０  ファイル暗号化キー
９３０  パブリックキー
１０１０  バックアップキーのセット
１０２０  バックアップキーセットキー
１１１０  バックアップキーセットキー
１７１０  キーのバックアップセット
１７２０  新しいバックアップキーセットキー
【図１】
0006018200.tif 000002
【図２】
0006018200.tif 000003
【図３】
0006018200.tif 000004
【図４】
0006018200.tif 000005
【図５】
0006018200.tif 000006
【図６】
0006018200.tif 000007
【図７】
0006018200.tif 000008
【図８】
0006018200.tif 000009
【図９】
0006018200.tif 000010
【図１０】
0006018200.tif 000011
【図１１】
0006018200.tif 000012
【図１２】
0006018200.tif 000013
【図１３】
0006018200.tif 000014
【図１４】
0006018200.tif 000015
【図１５】
0006018200.tif 000016
【図１６】
0006018200.tif 000017
【図１７】
0006018200.tif 000018
【図１８】
0006018200.tif 000019