(57)【特許請求の範囲】
【請求項１】
公開鍵のシーケンスを受取システムに提供する提供システムであって、前記シーケンスの各公開鍵は秘密鍵に関連し、公開鍵暗号手順に適用可能である提供システムであって、
公開鍵の前記シーケンスと、シーケンスを構成する各々の公開鍵に対応した関連する複数の秘密鍵とを生成し、複数のデータセットを計算するように構成された演算ユニットであって、前記複数のデータセットは前記公開鍵のシーケンスを構成し、１つのデータセットは、公開鍵および保証値を含み、前記保証値は、前記シーケンスにおいて次の公開鍵を含む次のデータセットにハッシュ関数を適用した結果である、演算ユニットと、
前記受取システムに、前記複数のデータセットを提供するように構成された送信ユニットと
を備えたことを特徴とする提供システム。
【請求項２】
前記データセットは、前記データセットの前記公開鍵が次の公開鍵に置き換えられるよう定めた日付、前記次の公開鍵が適用可能である公開鍵暗号方式の識別、前記次の公開鍵の長さ、および前記次のデータセットに適用された前記ハッシュ関数の識別のうちの、１つまたは複数の情報を含む更新データをさらに含むことを特徴とする請求項１に記載の提供システム。
【請求項３】
前記演算ユニットは、前記データセットに適用したハッシュ関数の結果に、公開鍵を有する公開鍵暗号方式を適用した結果得られる署名値を計算するようさらに構成され、前記秘密鍵は前記データセットの公開鍵に関連し、前記送信ユニットは、データセットにより、署名値を提供するようさらに構成されたことを特徴とする請求項１または２に記載の提供システム。
【請求項４】
前記シーケンスの生成される公開鍵の長さは、該シーケンスの中で以前に生成された公開鍵の長さより長いことを特徴とする請求項１ないし３のいずれかに記載の提供システム。
【請求項５】
前記シーケンスの公開鍵を使用する公開鍵暗号方式は、前記シーケンスの他の公開鍵を使用する公開鍵暗号方式とは異なることを特徴とする請求項１ないし４のいずれかに記載の提供システム。
【請求項６】
提供システムから受信した公開鍵のシーケンスの公開鍵を認証する受取システムであって、各々の公開鍵は、秘密鍵に関連し、かつ公開鍵暗号方法に適用可能である、受取システムであって、
前記提供システムから複数のデータセットであって前記シーケンスを構成するデータセットを受信するように構成された、受信ユニットであって、複数の中の１つのデータセットは公開鍵を含む、受信ユニットと、
前記データセットにハッシュ関数を適用することによって、テストハッシュ値を計算し、かつ前記テストハッシュ値を以前のデータセットの保証値と比較することによって、前記データセットの公開鍵を認証するように構成された認証ユニットであって、前記保証値と前記テストハッシュ値とが同一であることは、認証結果が肯定的である、認証ユニットと
を備えたことを特徴とする受取システム。
【請求項７】
前記データセットは、前記データセットの前記公開鍵が次の公開鍵に置き換えられるよう定めた日付、前記次の鍵が適用可能である公開鍵暗号方式の識別、前記次の公開鍵の長さ、および前記データセットの次のデータセットに適用されたハッシュ関数の識別のうち１つまたは複数の情報を含む更新データをさらに含むことを特徴とする請求項６に記載の受取システム。
【請求項８】
前記受信ユニットは、前記データセットとともに署名値を受信するようにさらに構成され、
前記認証ユニットは、前記公開鍵を用いて公開鍵暗号方式を前記署名値に適用することによって前記署名値からオリジナルの値をさらに計算し、かつ計算された前記オリジナルの値を前記データセットの前記テストハッシュ値と比較することによって、前記データセットの前記公開鍵を認証するようさらに構成されたことを特徴とする請求項６または７に記載の受取システム。
【請求項９】
前記シーケンスの公開鍵の長さは、該シーケンスの中で以前の公開鍵の長さより長いことを特徴とする請求項７または８に記載の受取システム。
【請求項１０】
受信データセットの公開鍵を使用する公開鍵暗号方式は、追加で受信したデータセットの追加の公開鍵を用いる追加の公開鍵暗号方式とは異なることを特徴とする請求項６ないし９のいずれかに記載の受取システム。
【請求項１１】
公開鍵のシーケンスを、コンピュータである受取システムに提供するコンピュータ実装方法であって、前記シーケンスの各公開鍵は秘密鍵に関連し、公開鍵暗号手順に適用可能である、コンピュータである提供システムによって実行されるコンピュータ実装方法であって、
公開鍵のシーケンスを生成するステップと、
前記シーケンスを構成する複数のデータセットを前記受取システムに提供するステップであって、前記データセットは前記シーケンスの公開鍵を含み、前記シーケンスは当該シーケンスにおける次の公開鍵を有し、当該データセットはさらに、前記次の公開鍵を含む次のデータセットにハッシュ関数を適用した結果である保証値を含む、提供するステップと、
前記受取システムに、前記次の公開鍵を含む前記次のデータセットを提供することを特徴とする方法。
【請求項１２】
前記次のデータセットを提供するステップは、次の公開鍵を含む次のデータセットのために繰り返され、次のデータセット（ｉ＋１）は、当該次のデータセット（ｉ＋１）のさらに次のデータセット（ｉ＋２）にハッシュ関数を適用した結果である次の保証値をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記データセットは、提供された公開鍵の認証に関連するデータを含む更新データをさらに含むことを特徴とする請求項１１または１２に記載の方法。
【請求項１４】
前記データセットについて、前記データセットに適用されたハッシュ関数の結果に、前記データセットの前記公開鍵に関連する秘密鍵を用いる公開鍵暗号方式を適用した結果である署名値を提供することをさらに特徴とする、請求項１１ないし１３に記載のいずれかの方法。
【請求項１５】
コンピュータである提供システムから受信する公開鍵のシーケンスの公開鍵を認証するコンピュータ実装方法であって、各公開鍵は秘密鍵に関連し、公開鍵暗号の手順に適用可能であるコンピュータである受取システムによって実行されるコンピュータ実装方法であって、
データセットを受信するステップであって、前記データセットは、前記シーケンスの公開鍵を含み、前記シーケンスは前記シーケンスにおける次の公開鍵を有し、前記データセットはさらに、前記次の公開鍵を含む次のデータセットにハッシュ関数を適用した結果である保証値をさらに含む、受信するステップと、
前記次の公開鍵を含む次のデータセットを受信するステップと、
前記次のデータセットへ、前記ハッシュ関数を適用することにより、テストハッシュ値を計算するステップと、
前記データセットの保証値とテストハッシュ値との同一性が肯定的認証結果である、前記データセットの前記保証値を前記テストハッシュ値と比較することにより、前記次の公開鍵を認証することを特徴とする方法。
【請求項１６】
次のデータセットを受信するステップ、計算するステップ、および認証するステップは、追加の公開鍵を含む追加のデータセットのために繰り返し、前記次のデータセット（ｉ＋１）は、当該次のデータセット（ｉ＋１）のさらに次のデータセット（ｉ＋２）にハッシュ関数を適用した結果である次の保証値をさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
受信データセットは、受信データセットの公開鍵の認証に関連するデータをさらに含む追加の更新データをさらに含むことを特徴とする請求項１５または１６に記載の方法。
【請求項１８】
前記次のデータセットのために、署名値をさらに受信し、前記次のデータセットの次の前記公開鍵を使用する公開鍵暗号方式を前記署名値に適用することによって、署名値からオリジナルの値を計算し、前記計算したオリジナルの値を前記次のデータセットの前記テストハッシュ値とさらに比較することによって、前記次の公開鍵を認証することを含むことを特徴とする請求項１５ないし１７のいずれかに記載の方法。
【請求項１９】
コンピュータシステムによって実行可能な命令であって、請求項１１ないし１４のいずれかの前記方法のステップの実行を、前記コンピュータシステムに引き起こす命令を記憶したコンピュータプログラム。
【請求項２０】
コンピュータシステムによって実行可能な命令であって、請求項１５ないし１８のいずれかの前記方法のステップの実行を、前記コンピュータシステムに引き起こす命令を記憶したコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に電子データの処理の分野に関し、より詳細に、セキュアな電子商取引を提供することに関する。
【背景技術】
【０００２】
今日、電子通信の水準は高度なものとなっている。例えば、多くの個人、会社および公的機関などは、インターネットのような通信のための、電子的基盤を使用する。しばしば、電子取引、すなわちデータの電子的交換はセキュアであることが要望される。セキュアな取引とは、例えば、文書の送信者を信頼できる方法で識別できること、または伝送された文書を傍受する不正者がその文書を読めないことを意味する。
【０００３】
セキュアな電子取引を可能にする極めて効率的な方法は、公開鍵暗号方式（ＰＫＣ）を使用することである。ＰＫＣには、ＰＫＣ方法および公開鍵とその公開鍵に関連する秘密鍵とを含む相補的な一対の鍵が必要である。このＰＫＣ方法および鍵は、一方の補完鍵に関する知識に基づいて、もう一方の補完鍵を決定することが非現実的となるように選択することができる。ＰＫＣ方法またはアルゴリズムの一例には、その方法の発明者の名、Ｒｉｖｅｓｔ、Ｓｈａｍｉｒ、およびＡｄｅｌｍａｎまたはＥｌＧａｍａｌにちなんだＲＳＡがある。通常、公開鍵は１名または複数の関係者（Ｐａｒｔｙ）に与えられ、秘密鍵は１名の関係者（Ｐａｒｔｙ）が安全に保管し、その他の関係者（Ｐａｒｔｙ）はアクセス不能にされる。電子フォーマットのデータは、ＰＫＣ方法と公開鍵または秘密鍵のいずれかを用いて暗号化することができる。暗号化されたデータを復号化するためには、補完鍵によりＰＫＣ方法を適用してデータを回復する必要がある。一般的にＰＫＣはセキュアであるとみなされる。これは、ＰＫＣ方法を破るのに長い期間、例えば今日利用可能な知識およびコンピューティング資源を用いても１０００年以上を要するように、ＰＫＣ方法および補完鍵の長さが選択されるということである。
【０００４】
ＰＫＣを使う手順についての基本的なアプリケーションは、暗号化と署名の２つである。暗号化の一例として、公開鍵を提供された第１の関係者（Ｐａｒｔｙ）が、文書を暗号化するために公開鍵を使うことがあげられる。その文書は第２の関係者（Ｐａｒｔｙ）に送付され、第２の関係者（Ｐａｒｔｙ）は秘密鍵で暗号化文書を復号化する。署名処理の一例として、第１の関係者（Ｐａｒｔｙ）が署名と共にメッセージを送ることがあげられる。その署名は、秘密鍵でメッセージを示しているデータを暗号化することにより、算出する。メッセージと署名を受信する第２の関係者（Ｐａｒｔｙ）は、第２の関係者（Ｐａｒｔｙ）に提供されている公開鍵で署名を復号化する。第２の関係者（Ｐａｒｔｙ）は、復号化された署名をメッセージの表現と比較し、同一である場合に、真正な秘密鍵を所有する第１の関係者（Ｐａｒｔｙ）によって署名が算出されたと結論を出す。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このＰＫＣ手順は、関係者（Ｐａｒｔｙ）が公開鍵を受信した、および公開鍵は正当な提供者によって提供されたとの事実に依存してくる。仮にＰＫＣ方法はセキュアであったとしても、正当でない関係者（Ｐａｒｔｙ）が正当でない公開鍵を提供する場合、そのＰＫＣ手順はセキュアではない。暗号化アプリケーションの例においては、正当でない関係者（Ｐａｒｔｙ）が関連する秘密鍵を有するので、正当でない関係者（Ｐａｒｔｙ）が公開鍵を用いて暗号化した文書を読むことができる可能性がある。署名アプリケーションの例においては正当な関係者（Ｐａｒｔｙ）によって送られたメッセージであるという間違った結論に導くような署名付の正当でないメッセージを、正当でない関係者（Ｐａｒｔｙ）が送ることができる可能性がある。
【０００６】
したがって、一般的に公開鍵をセキュアな方法で提供することが要望される。さらに、例えば、使用済みの公開鍵はもはやセキュアではなく、または使用済みの公開鍵は更新を予定されているので、セキュアな方法で次の公開鍵を提供することが必要である。使用済みの公開鍵が安全でない理由は、例えば使用済みの公開鍵は、正当でない人物のアクセスにより既に危険にさらされている可能性があるからである。さらなる理由に、新規技術の開発により、ＰＫＣ手順が破られることのないようにするため必要なセキュリティレベルを使用済み鍵が提供しなくなってしまっている可能性があるからである。
【課題を解決するための手段】
【０００７】
本発明の以下の実施態様に共通の目的は、公開鍵のシーケンスを提供システムから受取システムへ送るセキュアな方法に関する。
【０００８】
本発明の第１実施態様は、公開鍵のシーケンスを提供する提供システムを特徴とする。第１実施態様の目的は、公開鍵のシーケンスをセキュアに提供することである。セキュアに提供する処理は、公開鍵のシーケンスのセキュアな伝送方法の一部となっている。提供システムは、演算ユニットおよび送信ユニットを有する。演算ユニットは、公開鍵のシーケンスを生成し、シーケンスのセキュアな提供を可能にするデータセットを算出する。データセットは、シーケンスの公開鍵に関連付けられので、使用済み公開鍵と置き換えるための追加の公開鍵の提供がセキュアで、すなわち追加の公開鍵とその前に提供されたデータセットとの間の関係がセキュアである。一般に、現在の知識とコンピューティング資源によってセキュアな関係を破ることは非現実的である。その関係は、使用済み公開鍵に関連する使用済み公開鍵または秘密鍵がセキュアでない場合にも安全である。このような場合、使用済みの公開鍵または秘密鍵は、追加の鍵のセキュアな提供方法としては利用できない。この関係によって、追加の鍵は自動化された方法でセキュアに提供することができる。自動化された方法は、追加の公開鍵が１つのメッセージのみを使用して提供することができるので、提供システムおよび送信ユニットへ接続する通信チャネルに関して、高速で効率が良い。さらに、１つのメッセージは、少ないオーバーヘッドデータしか伴わない短いものでよい。すなわち、安全性を提供するデータセットのデータは、追加の公開鍵との比較で同じサイズでもよい。さらに、第１実施態様により、例えば手動の動作を行って、認証された人物へ電子メールによってデータを提供することなく、公開鍵のシーケンスを提供するための１つの通信チャネルを使用することもできる。提供システムは、請求項１において開示され、さらに提供システムの任意の特徴が請求項１の従属項において開示される。
【０００９】
本発明の第２実施態様は、シーケンスの公開鍵を認証するための受取システムを特徴とする。第２実施態様の目的は、提供システムから受け取る公開鍵をセキュアに認証することである。セキュアに認証する処理は、シーケンスのセキュアな伝送方法のさらなる一部となっている。
【００１０】
受信システムは、受信ユニットおよび認証ユニットを有する。受信ユニットはデータセットを受け取り、認証ユニットは、追加の公開鍵と以前に提供されたデータセットとの間のセキュアな関係を利用して追加の公開鍵を認証する。以前に提供されたデータセットは、追加の公開鍵を含むデータセットより前に受信装置によって受け取られる。肯定的な認証結果は、追加の公開鍵がセキュアであり、このためセキュアな公開鍵暗号方式手順に適用可能であるということを確認する。第２実施態様は、第１実施態様と同様の利点である、少ないオーバーヘッドデータの１つのメッセージのみを処理すればよいので、高速で効率の良い自動化された方法で、公開鍵の認証が可能となる。さらに、第２実施態様の受信ユニットは、１つの通信チャネルのみに接続してもよい。受信システムは、請求項６において開示され、さらに、提供システムの任意の特徴は、請求項６の従属項において開示される。
【００１１】
本発明の第３実施態様は、公開鍵のシーケンスを提供する方法を実装することを特徴とするコンピュータである。第３実施態様の目的は、安全な方法でシーケンスを提供することである。第３実施態様は、シーケンスの生成、データセットの提供および次のデータセットの提供を含む。第３実施態様の目的は、セキュアな方法でシーケンスを提供する。第３実施態様はシーケンスを生成し、データセットを提供し、次のデータセットを提供する。第３実施態様の目的は、第１実施態様の目的と類似しており、第３実施態様の機能は、第１実施態様の機能に一致する。したがって、第３実施態様は、第１実施態様の自動化された方法に関連する利点と同様の利点を持つ。すなわち、通信チャネルの数に関しても、高速で効率が良い。第３実施態様は、請求項１１において開示され、任意の特徴は請求項１１の従属項において開示される。
【００１２】
本発明の第４実施態様は、シーケンスの公開鍵を認証する方法を実装することを特徴とするコンピュータである。第４実施態様の目的は、公開鍵をセキュアな方法で認証することである。第４実施態様は、データセットの受信、次のデータセットの受信、テストハッシュ値の計算、および次のデータセットの次の鍵の認証を含む。第４実施態様の目的は第２実施態様の目的と同様で、第４実施態様の機能は第２実施態様の機能に一致する。したがって、第４実施態様は、第２実施態様の自動化された方法に関連する利点と同じ利点を有する。すなわち、通信チャネルの数に関しても、高速で効率が良い。第４実施態様は、請求項１７において開示され、任意の特徴は請求項１７に従属項において開示される。
【００１３】
第５実施態様は、第３実施態様のステップを実行するコンピュータプログラム製品を扱う。したがって、第５実施態様の目的および期待される利点は、第３実施態様の目的および期待される利点に合致する。第５実施態様は請求項２３において開示される。
【００１４】
第６実施態様は、第４実施態様のステップを実行するコンピュータプログラム製品を扱う。したがって、第６実施態様の目的および期待される利点は、第４実施態様の目的および期待される利点に合致する。第６実施態様は請求項２４において開示される。
【発明を実施するための最良の形態】
【００１５】
以下の実施例および記載は、本発明の実施形態を説明するものであって、本発明の範囲を限定することを意図したものではない。
【００１６】
図１は、提供システム１００と受取システム２００の例示的な実施形態の簡略図である。提供システム１００の一実施形態は、２つのコンポーネント、演算ユニット１１０と送信ユニット１２０とを有する。受取システム２００の実施形態も、２つのコンポーネント、受信ユニット２１０と認証ユニット２２０とを有する。図中の２つのユニット間の矢印は、矢印の示す方向にデータを伝送するのに使用するユニット間のインターフェイスを示す。提供システム１００の実施形態は、セキュアな方法で受取システム２００の実施形態へ公開鍵のシーケンスを提供するのに適用することができる。シーケンスの各公開鍵は、秘密鍵に関連しており、公開鍵暗号方式（ＰＫＣ）の手順に適用することができる。ＰＫＣ手順は、二者間のセキュアな電子取引を提供するのに、ＰＫＣ方法またはアルゴリズムを適用する。ＰＫＣ手順は通常、一方が秘密鍵を所有し、または秘密鍵へのアクセスを有すること、および他方がその関連する公開鍵を所有し、または公開鍵へのアクセスを有することを意味する。秘密鍵およびその関連する公開鍵は、ＰＫＣ方法によって１つのコンピュータシステムにより、一緒に生成しなければならない。その結果、関連鍵の１つ、即ち公開鍵は一方のコンピュータシステムから、他方のさらなるコンピュータシステムへ伝送される。二者間のセキュアなＰＫＣ手順のため、使用済みの一対の鍵は、例えば若干の使用期間の後、特定のセキュリティレベルの提供に失敗することがあるので、２以上の関連鍵を使用することが有用である。提供システムと受取システムとで、公開鍵のシーケンスは、セキュアな方法で伝送される、すなわち、受け取られた公開鍵は、認証された者によって提供されていることをチェックすることができる。
【００１７】
提供システム１００の実施形態は、公開鍵および関連する秘密鍵のシーケンスを生成するように構成された演算ユニット１１０を備える。さらに、その演算ユニットは、公開鍵と保証値（ｐｒｏｏｆ  ｖａｌｕｅ）を含む複数のデータセットの１つを用いて、複数のデータセットを計算するように構成される。複数の追加のデータセットのうちの１つまたは複数の各データセットは、追加の公開鍵および追加の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）を含むこともできる。保証値（ｐｒｏｏｆ  ｖａｌｕｅ）は、シーケンスの公開鍵に続く追加の公開鍵を含む次のデータセットへハッシュ関数を適用した結果得られる。データセットは、公開鍵がシーケンス内で次に続く追加の公開鍵を有する場合、すなわち、その公開鍵がシーケンスの最後の公開鍵でない場合に保証値（ｐｒｏｏｆ  ｖａｌｕｅ）を有する。保証値（ｐｒｏｏｆ  ｖａｌｕｅ）によって、シーケンスで次に続く追加の公開鍵の受取システムによる認証が可能になる。さらに、データおよびデータ間の関係（ｒｅｌａｔｉｏｎｓ）の詳細を以下にの図面に表示し、以下の図面の相当する部分で説明する。演算ユニットは、例えばコンピュータの処理ユニットとすることができ、または１つは公開鍵および関連する秘密鍵のシーケンスを生成するコンピュータであり、もう１つは複数のデータセットを計算するコンピュータである、異なる２つのコンピュータを含むようにすることができる。提供システムはさらに、受取システムに複数のデータセットを提供するように構成された送信ユニット１２０を備える。送信ユニットは、例えば演算ユニットも属するコンピュータの内部に含まれるようにすることもでき、またはデータセットが受取システムに送られるより前にデータセットを伝送するような別個のコンピュータシステムとすることもできる。さらなる実施例において、インターネットへのインターフェイスを提供するコンピュータプログラムとして送信ユニットを実装してもよい。データはそのインターフェイス使用して送ることができるので、そのデータは、インターネットを介して宛先のシステムへ標準フォーマットで送られる。即ち、インターネットによって受信システムへの接続を提供してもよい。さらなる実施例において、提供システムと受取システムとの間の専用接続によって、本システム間でデータを伝送するための通信チャネルとすることもできる。
【００１８】
シーケンスの公開鍵を認証する受取システム２００の実施形態は、複数のデータセットを提供システムから受け取るよう構成された受信ユニット２１０を備える。受取システムの認証ユニット２２０は、受け取ったデータセットの公開鍵を認証するように構成されている。これは、データセットにハッシュ関数を適用することによってテストハッシュ値を計算すること、およびテストハッシュ値を、シーケンス内の前の公開鍵を含む前のデータセットの保証値（ｐｒｏｏｆ  ｖａｌｕｅ）と比較することによって行なわれる。しばしば、このデータセットより前に、前のデータセットが受信されている。保証値（ｐｒｏｏｆ  ｖａｌｕｅ）とテストハッシュ値とが同一の値を取るのは、肯定的な認証結果であることから、ＰＫＣ手順のための公開鍵の使用はセキュアとなる。提供システムのユニットと同様に、受取システムのユニットはコンピュータまたはコンピュータシステムの一部であってよい。さらなる実施例においては、このユニットは異なるコンピュータ上にあり、装置も２以上のコンピュータを備えてよい。さらに、受信ユニットは、提供システムに通信チャネルを提供するインターフェイスを有するコンピュータ上で動作するコンピュータプログラムであってもよい。通信チャネルには、それを通じて標準フォーマットで受信データがルーティングされるインターネットを含めることができる。
【００１９】
図２Ａは、提供システムの実施形態に関するデータおよびデータ間の関係（ｒｅｌａｔｉｏｎｓ）の概略図３４０である。データにはデータセットＤＳ（ｉ＋１）３４３および次のデータセットＤＳ（ｉ＋２）３４１が含まれる。図において、データセットは、シーケンスに含まれる公開鍵の位置にしたがって列挙される。指数ｉは、１からｍ−２の範囲内の例示的な整数値を表し、ここでは、シーケンスはｍ個の公開値を有する。データセットＤＳ（ｉ＋１）３４３は、公開鍵ＰｕＫ（ｉ＋１）および保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（ｉ＋１）３４２を含む。保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（ｉ＋１）３４２は、次のデータセットＤＳ（ｉ＋２）３４１へハッシュ関数を適用して計算されている。ハッシュ関数の例は、ＭＤ４、ＳＨＡ−２５６、ＳＨＡ−５１２、Ｓｎｅｆｒｕ、またはＴｉｇｅｒなどの、標準化されたハッシュ関数である。さらに、実施形態の実装のために使用することができる標準化されていないハッシュ関数がある。
【００２０】
提供システムの実施形態において、データセットには、さらに、次の情報データ、即ちデータセットの公開鍵が次の公開鍵に置換えられる予定の日付、次の鍵に適用可能なＰＫＣ方法の識別、次の公開鍵の長さ、次のデータセットに適用されたハッシュ関数の識別のうち１つまたは複数を含む更新データが含まれる。さらなる実施形態において、更新データにはさらに、提供される公開鍵の認証に関連する追加のデータが含まれることがある。シーケンスの鍵を置換える日付と同様に、シーケンスの最初のデータセットを提供する前に、追加の更新データを決定しなければならない。日付はさらに、鍵を置換える日付の時間の規定と関連付けてもよい。しかし、例示的な事例においては、公開鍵のグループは、前の公開鍵を置換える予定より早く提供されることがある。１つの理由は、１つまたは複数の公開鍵がそこなわれたため、セキュアでなくなってしまうからである。この例示的な事例において、その公開鍵は予定より早く置換えるために使用されるので、グループの公開鍵の置換え日付は、もはや有効ではない可能性がある、そして更新データはそれに従って変更されない可能性がある。図において、例示的な更新日付はＵＤ（ｉ＋１）で示す。更新日付ＵＤ（ｉ＋１）は、例えば公開鍵ＰｕＫ（ｉ＋１）が、データセットＤＳ（ｉ＋２）の中に含まれる公開鍵ＰｕＫ（ｉ＋２）によって置換えられることになる予定の日付を指定する。更新日付ＵＤ（ｉ＋１）は、例えば公開鍵ＰｕＫ（ｉ＋１）が適用されるＰＫＣ方法をさらに指定する。ＰＫＣ方法は、前の公開鍵ＰｕＫ（ｉ）を用いて使用した前のＰＫＣ方法と異なってもよい。ＰＫＣ方法をそのように変更することによって、セキュリティレベルが高くすることができる。なぜなら、例えば将来の時点において、ＰＫＣの手順のため、さらに多くのコンピュータ資源を必要とする、より複雑でよりセキュアなＰＫＣを使用することが有用となることがあるからである。同様に、さらなる実施例において、多数の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）の計算に使用した最初のハッシュ関数は、さらに多数の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）を計算するため使用する第２のハッシュ関数と別のものでもよい。さらなる実施例において、より多くのコンピュータ資源を使用するが、例えば、より高いレベルで衝突がないことによって、より高いレベルのセキュリティを提供するハッシュ関数は、将来の時点で続いて使用することができる。
【００２１】
さらに、提供システムのさらなる実施形態において、演算ユニットはさらに署名値を計算するように構成されている。署名値は、データセットに適用したハッシュ関数の結果に、秘密鍵でＰＫＣ方法を適用した結果である。秘密鍵は、データセットの公開鍵に関連付けられる。換言すると、ＰＫＣ方法は、署名アプリケーションとして、即ちデータセットのための署名を生成するために使用する。さらなる実施形態の送信ユニットは、さらに、データセットで署名値を提供するように構成されている。図において、ハッシュ関数は、ハッシュ値３４４を求めるため、データセットＤＳ（ｉ＋１）３４３へ適用され、ＰＫＣ方法、すなわち秘密鍵ＰｒＫ（ｉ＋１）で署名関数を適用することにより署名値ＳＶ（ｉ＋１）３４５が得られる。さらなる例において、署名値は、秘密鍵ＰｒＫ（ｉ＋１）で署名関数を直接データセットＤＳ（ｉ＋１）に適用することにより計算することができる。
【００２２】
提供システムのための実施例において、シーケンスの生成された一つの公開鍵の長さは、シーケンスの前に生成した一つの公開鍵の長さより長くすることができる。これにより、公開鍵の長さを一定に保つよりも、将来においてより高いレベルのセキュリティを提供することができる。この理由は、今後利用可能なコンピューティング能力が高くなると予想されるので、現在セキュアと考えられている長さは、例えば今から１０年後にはセキュアでなくなっている可能性があるからである。例として、シーケンスの公開鍵の長さは、公開鍵を破る者に利用可能なコンピューティング資源の予測される増加量に対応して、５年毎に２倍にすることができる。その例において、ＰＫＣ方法ＲＳＡのための鍵は、開始時に、２０４８ビットの長さを有し、結果的に２倍にすることができる。提供システムのさらなる実施形態において、シーケンスの一つの公開鍵が適用可能な公開鍵暗号方式は、シーケンスの続く一つの公開鍵が適用可能なＰＫＣ方法とは異なる。ＰＫＣ方法のこのような変更は、更新データ内で適用可能なＰＫＣ方法を指定することにより、容易に伝達される。
【００２３】
図２Ｂは、受取システムの実施形態のデータおよびデータ間の関係（ｒｅｌａｔｉｏｎｓ）の概略図３５０である。データには、提供システムから受信したデータセットＤＳ（ｉ＋１）３４３、およびその前に受信したデータセットＤＳ（ｉ）の前の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（ｉ）３５５が含まれる。
【００２４】
受取システムにおいては、ハッシュ関数をデータセットＤＳ（ｉ＋１）３４３に適用することにより、テストハッシュ値３５２を計算する。テストハッシュ値３５２を保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（ｉ）３５５と比較する。
【００２５】
一実施例において、受信するデータセットには、以下の情報、すなわちデータセットの公開鍵を次の公開鍵と置換する予定の日付、次の鍵が適用可能な公開鍵暗号方式の識別、次の公開鍵の長さ、およびそのデータセットに続くデータセットに適用されたハッシュ関数の識別のうち１つまたは複数を含む更新データがさらに含まれる。
【００２６】
受取システムの受信ユニットはさらに、受信するデータセットとともに署名値を受信するように構成されており、認証ユニットは、さらにオリジナルの値を計算することにより受信されたデータセットの公開鍵を認証するように構成されている。オリジナルの値は、受信したデータセットの公開鍵でＰＫＣ方法を適用することにより、署名値から計算する。認証にはさらに、計算されたオリジナルの値をデータセットのハッシュ値と比較することが含まれる。図において、データセットＤＳ（ｉ＋１）３４３を署名値ＳＶ（ｉ＋１）３４５に関連付ける。一例において、データセットＤＳ（ｉ＋１）３４３と署名値ＳＶ（ｉ＋１）３４５との間の関連付けは、ＤＳ（ｉ＋１）３４３とＳＶ（ｉ＋１）３４５を１つのメッセージ内で送信することによって、提供システムによって作成される。このような場合、受取システムは、そのメッセージ内のＤＳ（ｉ＋１）３４３とＳＶ（ｉ＋１）３４５を識別することにより、関連付けを識別することできる。別の例において、ＤＳ（ｉ＋１）３４３とＳＶ（ｉ＋１）３４５は別個のメッセージ内で送信し、関連付けは両メッセージの共通の識別子によって作成する。オリジナルの値３５３は、ＳＶ（ｉ＋１）３４５へ、公開鍵ＰｕＫ（ｉ＋１）で検証関数を適用することにより作成する。オリジナルの値３５３をテストハッシュ値３５２と比較する。ＰｕＫ（ｉ＋１）の検証関数は、ＰｒＫ（ｉ＋１）の署名関数と相補する、すなわち、検証関数は、署名関数で暗号化された引数を復号化して、署名関数のオリジナルの引数を与える。検証関数と署名関数との間のこのような関係は、関連鍵の暗号化および復号化の方法を用いるＰＫＣに従うものである。
【００２７】
受取システムのさらなる実施形態において、シーケンスの一つの公開鍵の長さは、シーケンスの前の一つの公開鍵の長さより長い。また、受信データの公開鍵が適用可能なＰＫＣ方法は、追加の受信データセットの追加の公開鍵が適用可能なＰＫＣ方法と異なる。両方の特徴は、シーケンスの全寿命を考慮に入れて公開鍵に関するセキュリティレベルを向上する。
【００２８】
図３は、本発明の例示の実施形態によるデータ、およびそのデータ間の関係（ｒｅｌａｔｉｏｎｓ）を示す。データの第１の部分３１０とその関係は、提供システムの実施形態により提供され、受取システムの実施形態により受信される２個の公開鍵のシーケンスに関する。第１のデータセット３１１は、第１の公開鍵ＰｕＫ（１）、更新データＵＤ（１）、および保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（１）を含む。第１の部分３１０の実施形態では、さらなるセキュリティレベルを提供するための署名値は使用されない。受取システムの実施形態によって、第１の公開鍵は、当業者に知られている方法で認証することができる。これは、例えば、追加の通信チャネルを用いて、公開鍵ＰｕＫ（１）と同時にＵＤ（１）、およびＰＶ（１）の信頼性（ａｕｔｈｅｎｔｉｃｉｔｙ）をチェックすることによって行う。第２のデータセット３１２は、ＰｕＫ（２）がシーケンスの最後の公開鍵になるので、第２の公開鍵ＰｕＫ（２）のみを提供する。第２の公開鍵ＰｕＫ（２）は、実施形態により、認証チェック３１３に利用することができる。認証チェック３１３には、第２の公開鍵ＰｕＫ（２）にハッシュ関数を適用した結果得られる値Ｈと、ＰＶ（１）との比較をが含まれる。認証チェックが不合格、すなわち比較によりＰＶ（１）とＨとの間の相違が明らかなとき、ＰｕＫ（２）はセキュアではないとみなされる。受取システムを使用する者は、提供システムを使用する者に連絡し、ＰＫＣ手順を継続する方法の合意を得ることができる。チェックが不合格である理由を調査するか、またはＰＫＣ手順を継続するために、公開鍵と秘密鍵の新規のシーケンスを生成してもよい。
【００２９】
データの第２の部分３２０とその関係は、その実施形態によるｎ個の公開鍵のシーケンスに関連する。保証値（ｐｒｏｏｆ  ｖａｌｕｅ）の一部、およびその部分の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）が次の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）にどのように関連するかが示される。一例として、第１の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（１）は、第２の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（２）によって定まり、これはさらに３番目の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（３）によって定まる。したがって第１の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）は、保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（ｎ−１）までの次の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）によって定まる。これは、第１のデータセット３２１を提供するより前に、次のデータセットの公開鍵と更新データが利用可能であることを意味する。第１のデータセット３２１に続いて、第２のデータセット３２２が提供され、その結果受信される。第２の公開鍵ＰｕＫ（２）は、第１の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（１）と、第２のデータセット３２２にハッシュ関数を適用することにより計算される値とを比較する認証チェック３２３により認証する（ａｕｔｈｅｎｔｉｃａｔｅ）ことができる。次のデータセットは認証チェックに適用することができる。ここでは、その公開鍵ＰｕＫ（ｉ＋１）が認証チェック３２５により認証される（ｉ＋１）番目のデータセット３２４について示す。最後のデータセット３２６には、認証チェック３２７においてチェックされる公開鍵ＰｕＫ（ｎ）が含まれる。データセットを提供する日付および公開鍵が前の公開鍵に置換わる日付は、第１のデータセット３２１を提供するより前に設定することができる。しかし、設定される日付から離すために後の時点での設定が必要なこともある。一例として、ＰＫＣ手順のため公開鍵番号ｉ＝４２が使用されるが、ＰＫＣ手順に使用する次の公開鍵は公開鍵番号ｉ＝１００とする必要があることがある。１つの理由は、公開鍵番号ｉ＝１００はより長いので、前の公開鍵よりセキュアであるからである。そのような場合において、番号ｉ＝４２からｉ＝１００の公開鍵を含むデータセットは、順に短期間で提供されるので、番号ｉ＝４３からｉ＝９９を公開鍵は、ＰＫＣ手順用はアクセスされない。効率的に、必要に応じて、ＰＫＣ手順用の公開鍵は番号ｉ＝４２からｉ＝１００に変更される。これは、番号ｉ＝４２からｉ＝１００の公開鍵を含むデータセットを、１つのメッセージ内に入れ、およびその１つのメッセージを受取システムに提供することによってもまた達成される。受取システムは、本発明の実施形態により、その１つのメッセージ内に含まれるデータセットを順にチェックする。
【００３０】
図４は、本発明の実施形態によるデータおよびそのデータ間の関係（ｒｅｌａｔｉｏｎｓ）のさらなる例３３０を示す。データおよびその関係は、署名値を含んでおり、提供システムの実施形態（図２Ａ参照）および受取システムの実施形態（図２Ｂ参照）によるデータの例とすることもできる。データとその関係は、２個の公開鍵のシーケンスの伝送に関連する部分３３０に属する。第１のデータセットには、公開鍵ＰｕＫ（１）、更新データＵＤ（１）、および保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（１）が含まれる。第１のデータセットには署名値ＳＶ（１）が提供される。第１のデータセットと署名値ＳＶ（１）と間の関係付け３３１は、第１のデータセットと署名値ＳＶ（１）とを１つのメッセージ内に入れることにより実装することができる。第１の認証チェック３３２には、ハッシュ関数を第１のデータセットに適用することにより計算する第１のテストハッシュ値と、第１のオリジナルの値との比較が含まれる。第１のオリジナルの値は、第１の秘密鍵の検証関数を、第１の署名値ＳＶ（１）に適用することによって計算される。第２の関連付け３３３には、第２のデータセットと第２の署名値ＳＶ（２）とが含まれる。第２の認証チェック３３４には、２つの比較が含まれる。その１つは、第１の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）ＰＶ（１）を用いて第２の鍵ＰｕＫ（２）の信頼性をチェックする比較、およびもう１つは、第２の公開鍵ＰｕＫ（２）の検証関数を使うさらなる比較である。
【００３１】
図５は、本発明による方法４００の簡略フロー図である。方法４００は、受取システムに公開鍵のシーケンスを提供するコンピュータ実装方法である。方法４００は、提供システムが公開鍵のシーケンスを生成するステップ４１０と、受取システムにデータセットを提供するステップ４２０とを含む。データセットは、シーケンス内に次の公開鍵を有するシーケンスの公開鍵、および次のデータセットにハッシュ関数を適用した結果である保証値（ｐｒｏｏｆ  ｖａｌｕｅ）を含む。その方法はさらに、受取システムに次のデータセットを提供するステップ４３０を含み、次のデータセットは次の公開鍵を含む。一例において、次のデータセットはさらに、次の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）を含むことができる。次の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）は、シーケンス内のさらに次の公開鍵を含むさらに次のデータセットにハッシュ関数を適用した結果である。この一例においては、次の公開鍵はシーケンス内で続くさらに次の公開鍵を有するので、次の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）が含まれるのである。方法４００はさらに、データセットのための署名値を提供するステップ４４０という任意に選択可能な方法のステップを含む。図５および図６において、任意に選択可能な方法のステップは点線で示す。署名値は、データセットへ適用したハッシュ関数の結果に、秘密鍵によるＰＫＣ方法を適用した結果である。秘密鍵はデータセットの公開鍵に関連づけられる。方法４００において、さらなる任意に選択可能な方法のステップは、追加のデータセットのために提供を繰り返すステップを含む。追加のデータセットには、シーケンス内で以前に提供された公開鍵に続く追加の公開鍵が含まれる。さらに、次のデータセットには、ハッシュ関数を追加のデータセットに適用した結果である追加の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）が含まれる。一例において、追加のデータセットにはさらに、追加の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）が含まれる。追加の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）は、シーケンス内で追加の鍵に続くさらに追加の公開鍵を含むデータセットに、ハッシュ関数を適用した結果である。この一例においては、追加の公開鍵はシーケンス内で続くさらに追加の公開鍵を有するので、追加の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）が含まれるのである。追加のデータセットを提供する任意に選択可能な方法のステップは、シーケンス内で追加の公開鍵が続くかどうかの条件をチェックするステップ４５２として実装される。条件が満たされると、方法のステップ４３０および４４０を繰り返す。方法のステップを繰り返す時点は、シーケンスの第１の公開鍵を含む第１のデータセットを提供するより前に設定される。その時点として設定される期間は、例えば１ヶ月であってもよい。
【００３２】
その実施形態において、提供されたデータセットには、提供された公開鍵を認証することに関連するデータを含む更新データがさらに含まれる。そのような更新データは、例えばＰＫＣ方法の識別子およびハッシュ関数の識別子を含んでもよい。当業者が理解できるように、方法のステップ４００は、異なる順序で実行してもよい。例えば、署名値を提供するステップ４４０は、次のデータセットを提供するステップ４３０より前に実行してもよい。
【００３３】
図６は、本発明によるさらなる方法５００の簡略フロー図である。方法５００は、提供システムから受信した公開鍵のシーケンスの公開鍵を認証するコンピュータ実装方法を具実現する。その実施形態では、シーケンス内に次の公開鍵を有する公開鍵が備えられ、ハッシュ関数の結果である保証値（ｐｒｏｏｆ  ｖａｌｕｅ）を含むデータセットを受信するステップ５１０である受取システムが備えられる。その実施例はさらに、次の公開鍵を含む次のデータセットを受信するステップ５２０を備えられる。一例においては、次のデータセットにはさらに、ハッシュ関数の結果である次の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）を含めることができる。次の公開鍵がシーケンス内で続くさらに次の公開鍵を有する場合には、保証値（ｐｒｏｏｆ  ｖａｌｕｅ）が含まれることができる。その実施形態には、ハッシュ関数を次のデータセットに適用することによりテストハッシュ値を計算するステップ５３０、および次の公開鍵を認証するステップ５４０が含まれる。次の鍵を認証するステップ５４０は、データセットの保証値（ｐｒｏｏｆ  ｖａｌｕｅ）をテストハッシュ値と比較することによって実行される。ここで、保証値（ｐｒｏｏｆ  ｖａｌｕｅ）とテストハッシュ値とが同一であるときは肯定的な認証結果となる。その実施例ではさらに、次のデータセットのために署名値を受信すること５５０、次のデータセットの公開鍵で公開鍵暗号方式を適用することによって署名値からオリジナルの値を計算するステップ５６０、およびさらなる比較を用いて次の公開鍵を認証するステップ５７０の任意に選択可能な方法のステップが備えられている。さらなる比較を用いて認証するステップ５７０は、計算されたオリジナルの値と、次のデータセットのテストハッシュ値とをさらに比較することにより実行される。認証するステップ５４０および認証するステップ５７０の方法のステップが比較値が同一であることは、肯定的な認証結果であることを意味する。
【００３４】
方法５００はさらに、以下の追加の公開鍵を含む追加のデータセットを受信するステップ、ハッシュ関数を追加のデータセットに適用することにより追加のテストハッシュ値を計算するステップ、追加の公開鍵を認証するステップとを、繰り返すステップとを備える。さらに、次のデータセットには、追加の公開鍵を認証するために使用することのできる次の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）を含まれる。一例においては、ステップの繰り返しは、複数回数行ってもよい。一般的に、認証するステップ５４０は、前のデータセットに含まれる前の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）と、現在のデータセットから計算されたテストハッシュ値とを比較することによって実行することができる。前のデータセットは、シーケンス内に前の公開鍵を含み、現在のデータセットは、シーケンス内に前の公開鍵に続く現在の公開鍵を含む。さらに、方法５００は、検証関数を適用することによって計算された追加のオリジナルの値を、追加の署名値と比較することによって、追加の公開鍵を認証するステップ５７０を備える。繰り返しのさらなる方法のステップは、方法５００において、シーケンス内で追加の公開鍵が続くかどうかの条件をチェックするステップ４８２によって実装される。したがって、さらなる比較によって認証するステップ５７０もまた繰り返される。保証値（ｐｒｏｏｆ  ｖａｌｕｅ）とテストハッシュ値とが同一であること、およびオリジナルの値とテストハッシュ値とが同一であることは、肯定的な認証結果であることを示す。追加の公開鍵がシーケンス内で続く追加の公開鍵をまだ有する場合には、追加の保証値（ｐｒｏｏｆ  ｖａｌｕｅ）が備えられる。その実施形態において、受信するデータセットには、受信データセットの公開鍵を認証することに関連するデータを含む更新データがさらに含まれる。そのようなデータには、例えば公開鍵暗号方式の識別およびハッシュ関数の識別を含めることができる。当業者によって理解されるように、方法５００の方法のステップは、異なる順序で実行してもよい。例えば、署名値を受信するステップ５５０は、次のデータセットを受信するステップ５２０より前に実行してもよい。
【００３５】
本発明のさらなる実施形態では、コンピュータシステムにより実行可能で、シーケンスを提供する方法４００の方法のステップをコンピュータシステムに実行させる命令が備えられたコンピュータプログラム製品である。さらなる例において、このコンピュータプログラム製品は、シーケンスを提供するさらなる方法のステップに関連する命令を有することもできる。さらなる実施形態では、コンピュータシステムによって実行可能で、公開鍵を認証する方法５００の方法のステップをコンピュータシステムに実行させる命令が備えられた、さらなるコンピュータプログラム製品である。さらなる例において、さらなるコンピュータプログラム製品は、公開鍵を認証するさらなる実施形態の方法のステップに関連する命令を有することができる。
【００３６】
ＰＫＣ手順に関する一実施例では、認証局が発行する証明書（ｃｅｒｔｉｆｉｃａｔｉｏｎ）が関連してくる。この例において、証明書には、関係者（Ｐａｒｔｙ）のＩＤ、関係者（Ｐａｒｔｙ）に発行された公開鍵、および認証局の署名が含まれる。関係者（Ｐａｒｔｙ）は、例えば個人、組織、またはサーバであってよい。この例において、署名はＰＫＣ署名アプリケーションのフレームワーク内で作成する。すなわち、署名は、関係者（Ｐａｒｔｙ）のＩＤおよびある秘密鍵の公開鍵を暗号化することにより計算されてある。署名は、証明書を受領する追加の関係者（Ｐａｒｔｙ）が、証明書から公開鍵とＩＤとの間の関係の正当性をチェックすることを可能にする。公開鍵は正当であると推定すると、追加の関係者（Ｐａｒｔｙ）はこのようにそのＩＤをチェックすることができる。例えば認証局によって適用されるための秘密鍵と関連する公開鍵の組は、ルート鍵とも呼ばれる。信頼性のチェックが必要なその追加の関係者（Ｐａｒｔｙ）は、セキュアな方法で提供されたルート鍵の公開鍵が必要である。その追加の関係者（Ｐａｒｔｙ）は、例えば、銀行取引業務により使用されるセキュアハイパーテキスト転送プロトコル（ＨＴＴＰＳ）サーバであってもよい。その例において、認証局のルート鍵の公開鍵は、可能な限りセキュアな自動化された方法により、多数の追加の関係者（Ｐａｒｔｙ）に広めなければならない。さらに、ルート鍵の１個の公開鍵を、ルート鍵の追加の公開鍵で置換えることも、セキュアで自動的であることが望ましい。一例として、認証局は、向こう１５年間、証明書のために使用する１０００組のルート鍵を生成してもよい。第１の動作可能な公開鍵の第１のデータセットは、例えば、ＩＣカード上に書き込みそのＩＣカードを配布するなど、確立した方法で配布してもよい。
【００３７】
上述のように、本発明の範囲内の実施形態は、コンピュータプログラム製品を含む。そのコンピュータプログラム製品は、コンピュータ実行可能命令、すなわち、コンピュータシステムによって実行可能な命令を搬送または所持するためのコンピュータ読取可能媒体、またはそれに記憶されるデータ構造を搬送するためのコンピュータ読取可能媒体を含む。そのようなコンピュータ読取可能媒体は、汎用または専用コンピュータによってアクセスすることができる任意の利用可能な媒体であってよい。例として、そのようなコンピュータ読取可能媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたはその他の光ディスクストレージ、磁気ディスクストレージまたはその他の磁気記憶装置、または、コンピュータ実行可能命令またはデータ構造の形式で、所望のプログラムコードを搬送または格納するために使用することができ、汎用または特別な用途のコンピュータによってアクセスすることができる、任意のその他の媒体を構成してもよい。情報は、ネットワークまたは別の通信接続（有線、無線、または有線または無線の組合せ）上で、コンピュータに転送または提供されるとき、コンピュータはその接続をコンピュータ読取可能媒体と相応に見なす。したがって、任意のそのような接続は、コンピュータ読取可能媒体と、相応に称される。上述の組合せもまた、コンピュータ読取可能媒体の範囲に含まれる。コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理装置に、ある機能または一連の機能グループを動作させる命令およびデータを含む。さらに、コンピュータ実行可能命令は、例えば、コンピュータによって実行可能なフォーマットに命令を変換するために、コンピュータが処理しなければならない命令を含む。コンピュータ実行可能命令は、実行可能なフォーマットで命令を取得するコンパイルまたはインタープリットである、ソースフォーマット内であってもよい。コンピュータ実行可能命令を変換する場合、第１のコンピュータは、例えば、コンピュータ実行可能命令を実行可能なファーマットに変換してもよく、第２のコンピュータは、その変換された命令を実行してもよい。
【００３８】
本発明は、一実施形態において、ネットワーク環境内のコンピュータが実行するプログラムコードのような、コンピュータ実行可能命令を含むコンピュータプログラム製品によって実装できる方法のステップの一般的コンテキストで記述される。一般的に、プログラムモジュールは、例えば、特定の課題を実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、またはデータ構造を含む。コンピュータ実行可能命令、関連データ構造、およびプログラムモジュールは、ここに開示する方法のステップを実行するためのプログラムコードの例を表す。
【００３９】
そのような実行可能命令または関連データ構造の特定のシーケンスは、そのようなステップにおいて記述される機能を実装するための対応する動作の例を表す。
【００４０】
いくつかの実施形態における本発明は、プロセッサを有する１つまたは複数のリモートコンピュータへの論理接続を使用するネットワーク環境において動作してもよい。論理接続は、例えば、ローカルエリアネットワーク（ＬＡＮ）および広域ネットワーク（ＷＡＮ）を含んでもよい。例は、一例としてここに提示するものであって、限定はされない。そのようなネットワーク環境は、事務所規模または企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的なものである。当業者は、そのようなネットワークコンピューティング環境が、通常、パーソナルコンピュータ、携帯端末、マルチプロセッサシステム、マイクロプロセッサに基づくまたはプログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含む、多くのタイプのコンピュータシステム構成を網羅することを理解するであろう。本発明は、通信ネットワークを介し、（有線リンク、無線リンク、または有線リンクまたは無線リンクの組合せの何れかによって）リンクされるローカルおよびリモートの処理装置により課題が実行される分散コンピューティング環境においても実行することができる。分散コンピューティング環境において、プログラムモジュールをローカルおよびリモートメモリ記憶装置内に配置してもよい。
【００４１】
本発明の全体システムまたは一部を実装するための例示的システムは、処理装置、システムメモリ、およびシステムメモリを含む各種システムコンポーネントを処理装置へ結合するシステムバスを備えた、従来のコンピュータの形式の汎用コンピュータを含むかもしれない。システムメモリは、読取専用メモリ（ＲＯＭ）およびランダムアクセスメモリ（ＲＡＭ）を含んでもよい。コンピュータは、磁気ハードディスクから読取りおよび書込みをする磁気ハードディスクドライブ、リムーバブル磁気ディスクから読取りおよび書込みをする磁気ディスクドライブ、およびＣＤ−ＲＯＭまたは別の光媒体などのリムーバブル光ディスクから読取りおよび書込みをする光ディスクドライブを含んでもよい。ドライブおよびそれらの関連コンピュータ読取可能媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュールおよびその他のコンピュータ用データの非揮発性ストレージを提供する。
【００４２】
本発明のソフトウエアおよびウエブの実装は、論理に基づくルール、および、各種のデータベース検索のステップ、相関のステップ、比較のステップおよび決定のステップを達成するためのその他の論理の標準プログラミング技術で達成できた。明細書および請求項において使用する用語「コンポーネント」は、ソフトウエアコードの一行または複数行を使用する実装、および／またはハードウエア実装、および／または手動入力を受信する装置を網羅するよう意図されていることにも注意しなければならない。
【００４３】
本発明の実施形態の前記の記述は、図示および記述の目的のため表わされてきた。それは、開示された厳密な形に、網羅または限定されることを意味しないので、修正または変更は、上記技術の観点から可能であり、または本発明の実施から取得されてもよい。様々な実施形態で、および熟考された特定用途に適するような様々な変更と共に、本発明を利用することを当業者に可能にさせるための、本発明の原理およびその実用化を説明するために、実施形態を、選択し、記述してきた。
【図面の簡単な説明】
【００４４】
【図１】提供システムおよび受取システムの例示的な実施形態の簡略図である。
【図２Ａ】提供システムの一実施形態に関するデータおよびデータ間の関係（ｒｅｌａｔｉｏｎｓ）の概略図である。
【図２Ｂ】受取システムの一実施形態に関するデータおよびデータ間の関係（ｒｅｌａｔｉｏｎｓ）の概略図である。
【図３】本発明の実施形態によるデータおよびデータ間の関係（ｒｅｌａｔｉｏｎｓ）を示す図である。
【図４】本発明の実施形態によるデータおよびデータ間の関係（ｒｅｌａｔｉｏｎｓ）のさらなる例を示す。
【図５】本発明による方法の簡略フロー図である。
【図６】本発明によるさらなる方法の簡略フロー図である。
【図１】
0004593533.tif 000002
【図２Ａ】
0004593533.tif 000003
【図２Ｂ】
0004593533.tif 000004
【図３】
0004593533.tif 000005
【図４】
0004593533.tif 000006
【図５】
0004593533.tif 000007
【図６】
0004593533.tif 000008