(57)【特許請求の範囲】
【請求項１】
状態鍵が関連付けられた少なくとも１つの状態を含むアプリケーションを実行するクライアントと、
サーバと、
を有し、
前記クライアントは、
前記アプリケーションが、ある状態に到着すると、その到着した状態に関連する状態鍵を含んだアクセス要求を前記サーバに送信する手段、
を有し、
前記サーバは、
前記クライアントから送信されたアクセス要求を受信する手段と、
アクセス要求に含まれている状態鍵を照合する手段と、
照合の結果、前記状態鍵が有効である場合に、前記アプリケーションの次又は他の状態へのアクセスを提供するアクセス鍵を含む返信を、アクセス要求送信元の前記クライアントへ送信する手段と、
を有し、
前記クライアントは、
アクセス要求に対する前記サーバからの返信を受信する手段と、
前記返信にアクセス鍵が含まれている場合、そのアクセス鍵を用いることによって前記アプリケーションを前記ある状態から次又は他の状態へアクセスさせる手段と、
を有することを特徴とする暗号化システム。
【請求項２】
状態鍵が関連付けられた少なくとも１つの状態を含むアプリケーションを実行するクライアントと、サーバと、を有する暗号化システムにおける前記クライアントにより実施される暗号化方法であって、
前記アプリケーションが、ある状態に到着すると、その到着した状態に関連する状態鍵を含んだアクセス要求を前記サーバに送信するステップと、
アクセス要求に対する前記サーバからの返信を受信するステップと、
前記返信に前記アプリケーションを次又は他の状態へのアクセスを提供するアクセス鍵が含まれている場合、そのアクセス鍵を用いることによって前記アプリケーションを前記ある状態から次又は他の状態へアクセスさせるステップと、
を含むことを特徴とする暗号化方法。
【請求項３】
状態鍵が関連付けられた少なくとも１つの状態を含むアプリケーションを実行するクライアントと、サーバと、を有する暗号化システムにおける前記サーバにより実施される暗号化方法であって、
前記アプリケーションが、ある状態に到着するときに前記クライアントから送信されるアクセス要求であって、その到着した状態に関連する状態鍵を含むアクセス要求を受信するステップと、
アクセス要求に含まれている状態鍵を照合するステップと、
照合の結果、前記状態鍵が有効である場合に、前記アプリケーションの次又は他の状態へのアクセスを提供するアクセス鍵を含む返信を、アクセス要求送信元の前記クライアントへ送信することにより、前記クライアントに、アクセス鍵を用いることによって、前記アプリケーションを前記ある状態から次又は他の状態へアクセスさせるステップと、
を含むことを特徴とする暗号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ暗号化に関し、特に、データのモーダル保護（modal protection）のための状態に基づく暗号化の使用に関する。
【０００２】
【従来の技術】
何らかの一連の行為を行った後でのみ、データを使用可能な形態にしたい場合が多々ある。最近では、一連の行為が完了した旨の通知が出るまで、ユーザがデータを使用できない例もある。しかし、ユーザのシステム内でハードドライブ、ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ等のコンピュータ可読媒体にデータが保管されていれば、データはユーザがアクセス可能な状態にある。データアクセスが暗号鍵によって保護されていても、この暗号鍵がユーザシステム内に保管されていれば、技術を有するユーザであれば鍵を取得してデータにアクセスできる。
【０００３】
この問題を解決するために従来から、ユーザから遠隔地にデータを保管し、所定条件が全て満たされた旨の通知を受信すると、ネットワークを介して該データを送信する方法が提案されている。この場合、解読に必要な所定の鍵を受信者に確実に送信するために多くの問題がある。
【０００４】
公開鍵暗号方式（非対称暗号方式ともいう）の暗号用鍵は、秘密鍵と公開鍵との対（pair）をなす。秘密鍵は秘密にしておく鍵であり、公開鍵は誰でも使用できる鍵である。一方の鍵（秘密鍵または公開鍵）を用いてデータを暗号化した場合、同じ対の他方の鍵を用いて解読しなければならない。たとえば、リソースＡが自身に属する非対称暗号秘密鍵を用いてデータを暗号化し、対応する非対称暗号公開鍵を一般に公開する。この場合、暗号化された該データを適切に解読できる鍵は、データの暗号化に用いた秘密鍵と対をなす公開鍵のみである。リソースＢはリソースＡの公開鍵を用いて、受信したデータの解読を試みる。もし、このデータがこの鍵を以て適切に解読できれば、このデータを暗号化できた者はこの公開鍵と対の秘密鍵の保有者であるリソースＡだけであると確認する。こうしてリソースＢは、このデータがリソースＡから発信されたに違いないこと、つまり、リソースＡから送信されたと思われたそのデータは本物であることを知る。
【０００５】
送信者と受信者とが非常に離れている場合も多々ある。このため、ネットワークを介したデータは第三者の傍受を受けやすい。クーリエサービス等の保護されたチャネルでデータ通信を行ってもよいが、このようなチャネルは高価なばかりか低速なこともあり、それほど高い信頼性が要求されない場合には保護されていないこともあり得る。
【０００６】
【発明が解決しようとする課題】
このように、従来の暗号化方式では、遠隔地間で保護されたチャネルを介して通信を行うことはできても、ユーザのシステムにおけるデータへのアクセスを管理することはできなかった。
【０００７】
本発明は上記実情に鑑みなされたもので、ユーザのシステムにおけるデータへのアクセスを管理することのできる暗号化システム及び暗号化方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明は、到達段階に基づく暗号化（遷移状態に基づく暗号化）に関する。特に、事前に規定された条件が生じるまでデータの機密性を保護する。
【０００９】
つまり、関連する鍵を有する少なくとも一つの状態を含むアプリケーションにおける遷移状態に基づく暗号化システムおよび方法の製造・作成方法を提供する。かかるアプリケーションは、ワークフローアプリケション、ゲームまたは軍事アプリケーション等である。アプリケーションがある状態に達すると、地域ネットワーク、広域ネットワーク、無線ネットワーク、インターネット等のネットワークを介してアクセス要求をサーバに送信する。この要求は、その状態に関連する状態鍵を含む。サーバはこの状態鍵を照合し、該要求に応じた応答をアプリケーションに送信する。この状態鍵が有効な場合、この応答はアクセス鍵を含む。このアクセス鍵によって、アプリケーションの次の状態にアクセスできる。
【００１０】
あるいは、送信前にこの要求を暗号化してもよい。また、この要求に対する対応も暗号化してよい。本発明の一態様によれば、アクセス要求は該アプリケーション中の後続状態に対する要求である。
【００１１】
本発明のアプローチは次の点で従来のアプローチと異なる。つまり、従来アプローチではアプリケーションデータを遠隔地に保管したが、本発明のアプローチではアプリケーションの状態データはユーザの手元に保管し、アクセス鍵のみを遠隔地に保管する。したがって本発明のアプローチは、ネットワークバンド幅の節約等、従来のアプローチに比べて多くの利点を生じる。この節約は、潜在的に大量のアプリケーションデータをサーバからネットワークを介してアプリケーションに移動する必要がないために可能となる。また、ネットワークを介してアプリケーションデータをサーバに送信しないアプリケーションでは、アプリケーションとサーバとの間のチャネルを保護しなくてもよい。状態鍵やアクセス鍵が第三者に傍受されても、傍受した第三者がアプリケーションデータについて何も知り得ないアプリケーションもある。
【００１２】
【発明の実施の形態】
本発明の実施の形態に係るシステムは、サーバと、それに接続されたコンピュータを含んでなり、コンピュータが複数の状態間を遷移するアプリケーションを実行し、当該アプリケーション内の少なくとも一つの状態に状態鍵が関連づけて設定され、遷移後の状態に状態鍵が関連づけられているときには、当該状態鍵の照合をサーバに依頼し、サーバが照合の結果、状態鍵が有効であると判断したときに、アクセス鍵を提供し、コンピュータ側でこのアクセス鍵を取得したときに、アプリケーションの状態を次の状態に遷移させるものである。
【００１３】
以下、関連する状態鍵を有する少なくとも一つの状態を含むアプリケーションにおける遷移状態に基づく暗号化システムおよび方法を開示する。遷移状態に基づく暗号化によって生じる有意な利点を、従来技術との比較によって明確にする。
【００１４】
第一に、本明細書に示す概念を実行するために使用できる多くの仕組みを、ブロック暗号用平文連鎖モード（plaintext chaining modes for block ciphers）として一般化できる。これらのモードでは、所定のデータブロックの暗号化は、部分的には、それより前のデータブロックの平文に基づいている。つまり、以前のブロックｎ−１を解読せずにブロックｎを解読できない。（これは、ブロックｎ−１の平文に一部依存する鍵を用いてブロックｎを暗号化する、と一般化できる。）このような連鎖モードは線形履歴(linear history)においてのみ機能する。一方、本発明の実施形態は、分岐履歴(branch history)において機能する状態依存保護演算(state-dependent security computation)を含む。
【００１５】
第二に、多くの明らかに関連するシステムを「状態に基づく保護」という項目で分類できる。かかるシステムでは、主体(principal)がある状態に到達した後でのみ、情報にアクセスできる。たとえば、標準アクセス制御リスト（standard access control list）に基づく保護方式では、主体が関連リスト（relevant lint）に含まれるか否かの関数として、主体がデータ（状態変化）にアクセスできるか否かを決定する。いわゆるゲームの「隠しコード（cheat code)」も同様で、キーワード(magic word)を入力したゲームプレーヤに対して、付加リソースへのアクセスを許可する。標準制御ソフトウェア配布方式は、鍵またはライセンス番号を入力したユーザ、またはソフトウェア代金と引き替えに受領したハードウェアのアクセス制御装置「ドングル（dongle）」をコンピュータに接続したユーザに、そのコンピュータ上でのソフトウェアの使用を許可する。ネットワークアウェアソフトウェア(network-aware software)は、該ソフトウェアパッケージ用のライセンスがこの時点の地域ネットワーク上で使用可能である旨をある特定サーバが知らせる場合に動作することもある。
【００１６】
このような状態に基づく保護方式を、本実施の形態の状態に基づく暗号化と対比する。状態に基づく暗号化では、暗号作成処理および鍵が、これらの暗号化処理を試みたユーザまたはその処理の現状および履歴双方の関数である。状態に基づく暗号化を用いて状態に基づく保護を実行できるが、同様に他にも使用できる。状態に基づく保護に対する現在のアプローチの、全てでなくともその多くは、実行する際に状態に基づく暗号化を用いていない。
【００１７】
暗号化処理を用いて実行される状態に基づく保護方式の一例は、単純なチャレンジ−応答プロトコルの形式でみられる。つまり、標準アルゴリズムを使って所望データを暗号化し、このデータにアクセスを試みるユーザは、クレジットカード処理センタにソフトウェア代金を支払う連絡をする等して鍵を受け取る（アドビ・タイプ・オンコール(商標)など）。このような単純な方式によると、ソフトウェア製造者は、多くのプログラムを、それぞれ異なる鍵で暗号化した１枚のＣＤで配布できる。ユーザは、支払ったプログラムに対してのみ鍵を入手する。同様に、暗号化された映画をＤＶＤを用いて配布できる。この場合、各映画をそれぞれの鍵で暗号化する。該鍵は、ライセンスを受けたＤＶＤプレーヤ製造者が制御する４００個の「プレーヤキー」で暗号化されたＤＶＤ上で入手できる。ユーザが、このようなライセンス済プレーヤでＤＶＤを再生しようとすると、該プレーヤが内容暗号化鍵のコピーを解読して映画を再生し、チャレンジ応答プロトコル（この場合「チャレンジ」とは暗号化された鍵であり、「応答」とは、ライセンス済のプレーヤに対して与えられる、コンテンツ鍵を正しく解読する能力である）を完了できる。これらの方式は、状態に基づく暗号化の一例と見なせるが、いずれにしろ段階数がせいぜい１個か２個の単純なものである。
【００１８】
図１は、本発明のある実施形態に係る、複数のコンポーネント１０２を有するシステム１００の一例を示す。図示するとおり、かかるコンポーネントはネットワーク１０４を含む。ネットワーク１０４は、地域ネットワーク、インターネット等の広域ネットワーク等の任意の型でもよいが、これらに制限されない。複数のコンポーネントがネットワーク１０４に接続される。これらのコンポーネントは、デスクトップコンピュータ１０６、ラップトップコンピュータ１０８、ポータブルコンピュータ１１０、または任意型のハードウェア／ソフトウェア１１１でもよい。あるいは、多様なコンピュータがサーバ１１２によってネットワーク１０４に接続されてもよい。サーバ１１２は、保護の目的でファイアウォールを具備する。該システムは、これら以外の任意型のハードウェアまたはソフトウェアを含んでもよいし、これらを該システムのコンポーネントと考えてもよい。
【００１９】
図１に示す多様なコンポーネントに関連する代表的なハードウェア環境を、図２に示す。この説明では、各コンポーネントが有する多様なサブコンポーネントも該システムを構成する一部と考えてもよい。例えば該システムの任意のコンポーネントにおいて実行される特定のソフトウェアモジュールも、該システムのコンポーネントと考えてよい。図２は、マイクロプロセッサ等の中央処理装置２１０と、システムバス２１２を介して相互に接続された多数の他のユニットとを有する、ある実施形態に係るワークステーションの一般的なハードウェア構成を示す。
【００２０】
図２に示すワークステーションは、ランダムアクセスメモリ（ＲＡＭ）２１４と、リードオンリーメモリ（ＲＯＭ）２１６と、ディスク保管ユニット２２０等の周辺機器をバス２１２に接続するＩ／Ｏアダプタ２１８と、キーボード２２４、マウス２２６、スピーカ２２８、マイクロフォン２３２および／またはタッチスクリーン（図示せず）等のその他のユーザインターフェイス装置をバス２１２に接続するインターフェイスアダプタ２２２と、ワークステーションをコミュニケーションネットワーク（データ処理ネットワーク等）に接続する通信アダプタ２３４と、バス２１２をディスプレイ装置２３８に接続するディスプレイアダプタ２３６とを有する。
【００２１】
図３は、関連する状態鍵を有する少なくとも１つの状態を有するアプリケーションにおける状態に基づく暗号化の処理３００を示すフローチャートである。かかるアプリケーションは、ワークフローアプリケーション、コンピュータゲーム、軍事地図（military maps）等であるが、これらに限定されない。いずれの場合も本発明は、ユーザシステムに保管されたデータまたは、ユーザシステムがアクセス可能なデータの機密性を、事前に規定された条件が生じるまで保護する。つまり本発明によると、ある一連の行動が生じた後に初めてデータを使用可能な形式にする。たとえば、作業者、プレーヤ、兵士等は、購買要求に対する署名の獲得、ゲーム中の特定場所への到着、軍事地図上の特定の物理的な場所に到達する等といった軍事関連目的の達成等、ある目的を達成して初めて、次に何をするのか知ることができるし、ワークフロー中の次ステップを行う許可を取得できる。
【００２２】
さらに、図３の処理３０２において、アプリケーションを実行する。アプリケーションの状態が潜在的に変化する場所に達すると、処理３０６においてアクセス要求を生成する。これは、暗号化されてもよい。アクセス要求は、データまたは／あるいはアプリケーションの後続の状態へのアクセスでもよい。
【００２３】
あるいは、アクセス要求はアプリケーションの進捗状況に関する情報を含んでもよい。たとえば、ユーザのアプリケーション処理の進捗状況等である。この情報は、現状態および以前の状態で完成されたタスクの入力および／またはユーザによる入力を含む。上記例では、このような情報は、購買要求に対する署名を獲得したか、ゲームプレーヤが到達した目的または位置、兵士が軍事地図上のある物理的位置に到達したか、等である。
【００２４】
処理３０８では、アプリケーション中のある状態に到達すると、地域ネットワーク、広域ネットワーク、ワイヤレスネットワーク、インターネット等を介してアクセス要求をサーバに送信する。この要求は、該状態に関連する状態鍵を含むことが好適である。該システムの各状態にそれぞれの鍵を割当てることができる。状態鍵は、該アプリケーションにおけるユーザの進捗状況および／または現状態および以前の状態で完成したタスク等といったある条件を示す部分（例えば、単純なストリングやシンボル）を含むことができる。あるいは、状態鍵は、特定状態に関連した状態鍵のリストから選択できるし、他の状態に進むために完成しなければならない、事前に規定された特定の条件に基づいて選択できる。当業者においては、状態鍵の選択および／または生成の多様な組み合わせが、本発明の範囲を逸脱することなく利用できることがわかるであろう。
【００２５】
判断処理３１０では、状態鍵が有効であるか、および／または該要求を許容すべきか否かを、該要求が含む情報を元にサーバで判断する。もし、状態鍵が有効であり、該要求を許容すべきと判断すれば、処理３１２において、該要求に対する返信をサーバから受信する。この返信は、後続状態またはデータへのアクセスを提供するアクセス鍵を含む。一方、当該状態鍵が無効であると判断される、および／または該要求が含む情報が不十分あるいは事前に規定された条件が生じていないことを示す場合、処理３１４において、該要求を拒絶する返信をサーバから受信する。いずれの場合も、この返信を暗号化できる。
【００２６】
アプリケーションが一人用または多人数用のゲームである本発明の実施形態では、アクセス鍵によって、ゲームの後続部分へ進むことを許可する。アプリケーションがワークフローである本発明の実施形態では、アクセス鍵によって、ワークフローの後続部分へ進むことを許可する。アプリケーションが軍事地図である本発明の実施形態では、アクセス鍵によって、軍事地図の後続部分へ進むことを許可する。
【００２７】
図４は、関連する状態鍵を有する少なくとも１つの段階を有するアプリケーションにおいて遷移状態に基づく暗号化を行う処理４００を示す。上述のように、このようなアプリケーションはワークフローアプリケーション、ゲーム、または軍事アプリケーション等でもよい。処理４０２では、アプリケーションがある状態に到達すると、該アプリケーションは次の状態へのアクセス要求をサーバに送信する。この要求は状態鍵を含む。判断処理４０４においてサーバは該要求を照合する。該状態鍵が有効であれば、サーバは処理４０６において該要求に対する返信を生成／選択する。処理４０８では、アクセスを提供するアクセス鍵を選択／生成する。該アクセス鍵を該返信に含め、処理４１０において、この返信をサーバからアプリケーションに送信する。状態鍵が照合できなければ、サーバは該要求を拒絶する返信を送信する。この送信は拒絶理由を含んでもよい。図３を参照して説明した本発明の実施形態の多様な態様を、当業者には容易に理解できる小さな変更を加えて、図４の実施形態に適用できる。
【００２８】
ワークフローアプリケ−ションを含む本発明の実施形態において、購買代理店（purchasing agent）は、適切なデジタル署名が適用されるまで購買要求にアクセスできない。ワークフロー処理では、ある基準が満たされるまで、文章の内容が必ずしも完全に目に見える状態でないことが望まれるかもしれない。この場合、図３および／または図４の処理を用いて、必要条件が充足するまでデータを保護できる。たとえば、購買担当者（purchasing clerk）は、必要な管理者の署名が全て揃うまで購買注文を見ることを許されない。これは、小さな販売店の在庫価格に影響するほどの大量購買を扱う場合に、インサイダトレードの機会を防止することで有益である。
【００２９】
本発明の他の適用として、専門的サービスセクタでの情報隔壁、すなわちチャイニーズウォールポリシー（Chinese Wall policy）の実行がある。チャイニーズウォールポリシーは、相互に排他的な仕切り（隔壁）のセットに情報を分割する。ある仕切り内の情報にアクセスしたユーザは、そのセットの他の仕切り内の情報に対するアクセス能力を喪失する。このポリシーは、専門的サービスを提供するオフィスにおいて利害の抵触を防止するために制定された。たとえば、法律事務所は多くのクライアントを擁するが、その中に、例えば相互に競合するクライアントＡとクライアントＢが含まれるかもしれない。チャイニーズウォールによれば、クライアントＡおよびクライアントＢのそれぞれの代理人である弁護士による双方の秘密情報の漏洩を防止できる。本発明は暗号化を用いて、これらのポリシーを実行する単純かつ確固たる仕組みを提供する。
【００３０】
本発明の別の実施形態はゲームアプリケーションを含む。最近のコンピュータシュミレーション（例えばゲーム）は、擬似的ではあるが高価な環境を伴う。特に、多人数用ゲームの環境プロデューサは、参加者（プレーヤ）が見たものは、彼らが合法的に入り込んだ段階に対応する環境のサブセット（つまり、彼らがプレーしているゲームの一部）のみであることを確実にしたいと思うかもしれない。つまり、ゲームプロデューサは、ゲーム規定内でプレーヤが未だ進んでいないゲーム部分を見ることでプレーヤが「ずる（cheating）」を行うことを防止したい。これは、競争者間で「ずる」を防止したい多人数用ゲームでは特に強く望まれる。あるいは、本発明によると、ヒントや情報のスパイ行為に対して課金する多人数用ゲームを作成できる。
【００３１】
ゲームの一例として、インド洋で収集した雰囲気データ（atmospheric data）に基づく航海ゲームがある。風向きの変更方向を知ることは船員にとって大きな利点である。ゲームは、娯楽性の向上のために、本物のデータに基づいてこれを算出する（例えば、各ゲームに対して擬似乱数的でもよい）。このためには、ギガバイトの天候データが必要であろう。４．７ＧＢまでのデータは容易に分配できる。つまり、ＤＶＤ−ＲＯＭを作成すればよい。しかし、データが入手可能な場合、ゲームが採用している天候モデルを見つけて、現在のシミュレーションがデータセットのどの部分を使用しているか見つけ出せば、誰でも「ずる」ができる。
【００３２】
従来技術は、「ずるコード（cheat code）」のような状態に基づく保護方式を有するが、本発明は、状態に基づく暗号化を利用する。この状態に基づく暗号化では、暗号化演算および鍵自身が、暗号化演算を試みるユーザまたは処理の現状態および履歴双方の関数である。
【００３３】
図５は、本発明の実施形態に係るゲームアプリケーションにおいて「ずる」防止の処理５００を示すフローチャートである。処理５０２においてゲームアプリケーションを開始する。ゲームアプリケーションは多様な状態（地図、レベル等）を有する。各状態はこれに関連する状態鍵を有する。処理５０４において、プレーヤの現状態でのアプリケーションの進捗状況により、次または他の状態に進むことをプレーヤに許可するための所定条件が満たされたか否かを判断する。かかる条件は、ユーザが地図上の十分な部分を探検したか、ある発見をしたか、特定のアイテムを収集したか、等である。このデータに基づいて状態鍵を算出または生成してもよい。処理５０６において、アプリケーションの後続状態へのアクセス要求を生成し、処理５０８において、ネットワークを介してサーバに送信する。この要求は現状態に関連する状態鍵を含み、暗号化してもよい。
【００３４】
判断処理５１０では、状態鍵が有効であるか否かを判断する。有効であれば、処理５１２において、アクセス鍵を有する返信をサーバから受信する。このアクセス鍵を用いて次の状態または他の状態にアクセスする。状態鍵が無効であれば、処理５１４において、返信をサーバから受信する。この場合の返信は要求の拒絶を含む。また、拒絶の理由を含んでもよい。かかる理由は、未完成な所定条件のリストを含んでもよい。
【００３５】
軍事地図も同様の方式から利益を得る。図６は、軍事アプリケーションにおいてデータの秘密を維持する処理６００を示すフローチャートである。暗号化によってデータの機密性を維持しながら、データをユーザに（ＤＶＤ−ＲＯＭ等で）配布して低潜在アクセス(low latency access)を考慮できる。処理６０２において軍事アプリケーションを開始する。この考えを軍事的に適用すると電子地図となる。処理６０４において、あるミッションまたはそれより長期間（例えば、一週間の戦闘等）のデータを地図に事前にロードする。または、任意の標準的暗号技術を用いて地図データを暗号化してもよい。
【００３６】
判断処理６０６において、兵士が所定の目的を達成したか否かを判断する。兵士が目的を達成していれば、処理６０８において、次の目的を解読する鍵を自分の電子地図によって中央コンピュータから受信する。（電子地図は、自分の位置を検出できるように、組込式ＧＰＳ受信機や他の耐タンパ(tamper resistant)ナビゲーション装置を有してもよい。）その時点であるべき位置に地図がある（または、他の任意の適切な想定目的を達している）とコンピュータが認知するまで、次ターゲットの場所を誰も知ることができない。これは、兵士が捕まった場合に明らかに有益であろう。敵側にとって地図が役に立たなくなるからである。これは、必要になるまで兵士に地図データを与えないという単純なことでも実現できるが、このようなアプローチは大量の保護ワイヤレスバンド幅を消費し、傍受され易い欠点がある。特に衛星を使用した場合、バンド幅は高価なリソースである。
【００３７】
また、この場合、リンク暗号化（link encryption）が必要なので、鍵管理の問題は非常に困難である。本発明は、データをユーザの下に保管し、有効な状態鍵が適切に提示された場合のみデータの次部分を開示することで、バンド幅の必要性を最小限にする。
【００３８】
つまり、兵士が所持する端末に対し地図データをその都度送信する場合には、傍受されやすく、かつ通信にかかるコストが大きくなるのに対して、事前に兵士側端末に暗号化した地図データを保存しておき、ある状態に兵士が達したとセンタ側で確認されたときに、当該暗号を解除する鍵を送信するので、上記のような問題点がないのである。なんとなれば、鍵を傍受されてもアクセスすべき地図データは兵士側端末にのみ存在し、鍵データのみであれば地図データのサイズより十分小さいからである。
【００３９】
図７は、上記アプリケーション中の任意のアプリケーションを本発明の実施形態に係る一連の状態遷移としてモデル化できる処理７００を示すフローチャートである。処理７０２では、システムの初期状態に周知の鍵（well known key）を割当てる。処理７０４では、該システムの各主体（principal）に周知の公開鍵ＫCを割当て、中央サーバに、ここではＫQSと表す周知の鍵を割当てる。処理７０６では、該システムの各状態にそれぞれの鍵ＫCSを割当てる。処理７０８では、次の状態ＫCS2に対する鍵を呼び出す。処理７１０では、クライアントは各遷移で｛ＫCS，遷移，タイムスタンプ｝をＫQSをサーバに送信する。該状態鍵が有効か否かを、判断処理７１２で判断する。現在のポリシーに照らして該要求が有効であれば、サーバは処理７１４において｛｛ＫCS2｝ＫCS｝ＫCを返信する。該要求が無効であれば、サーバは処理７１６においてエラー返信で応答する。このように単純な誘導的応答(simple inductive argument)がなされることは、クライアントが状態空間(state space)を通じて合法的パス（legal path)に従ったことを示す。
【図面の簡単な説明】
【図１】  本発明に係る複数のコンポーネントを有するシステムの例を示す図である。
【図２】  代表的なハードウェア環境を示す図である。
【図３】  遷移状態に基づく暗号化処理を示すフローチャートである。
【図４】  遷移状態に基づく暗号化を用いた保護ワークフロー処理を示すフローチャートである。
【図５】  遷移状態に基づく暗号化を用いたゲームアプリケーションにおけるずる(cheating)防止処理を示すフローチャートである。
【図６】  軍事アプリケーションにおけるデータの保護維持処理を示すフローチャートである。
【図７】  一連の状態遷移としてアプリケーションをモデル化した処理を示すフローチャートである。
【符号の説明】
１００  システム、１０２  コンポーネント、１０４  ネットワーク、１０６デスクトップコンピュータ、１０８  ラップトップコンピュータ、１１０  ポータブルコンピュータ、１１１  ハードウェア／ソフトウェア、１１２  サーバ、２１０  ＣＰＵ、２１２  バス、２１４  ＲＡＭ、２１６  ＲＯＭ、２１８  Ｉ／Ｏ アダプタ、２２０  ディスク保管ユニット、２２２  インターフェイスアダプタ、２２４  キーボード、２２６  マウス、２２８  スピーカ、２３２  マイクロフォン、２３４  通信アダプタ、２３６  ディスプレイアダプタ、２３８  ディスプレイ装置。
【図１】
0004828724.tif 000002
【図２】
0004828724.tif 000003
【図３】
0004828724.tif 000004
【図４】
0004828724.tif 000005
【図５】
0004828724.tif 000006
【図６】
0004828724.tif 000007
【図７】
0004828724.tif 000008