(57)【要約】  本発明は、一般的に、鍵情報を生成し、鍵利用側へ配布する鍵生成側を備える情報環境における、暗号用鍵の世代の管理に関する。本発明の基本的な考え方は、所定の一方向鍵取得関数を用いて、前の世代の鍵は後のものから効率的に取得されるが、その逆は成り立たないように、鍵の世代間の関係を定義することにある。従って、本発明に係る基本的な手法は、鍵の更新の際に、鍵利用側において、古い鍵世代の鍵情報を新しい鍵世代の鍵情報で置き換えるものである。必要に応じて、鍵利用側は、所定の一方向鍵取得関数を繰り返し適用することで、新しい鍵世代の鍵情報から１つ以上古い鍵世代の鍵情報を取得することができる。このようにして、鍵利用側における記憶容量の要件を格段に削減することができる。
2007508778.tif 000002
【特許請求の範囲】
【請求項１】
鍵情報を生成し、鍵利用側へ配布する鍵生成側を備える情報環境における、セキュリティ鍵情報の世代を管理する方法であって、
鍵の更新において、前記鍵生成側から前記鍵利用側へ、新しい鍵世代の鍵情報を配布する工程と、
前記鍵利用側において、古い鍵世代の鍵情報を前記新しい鍵世代の前記鍵情報で置き換える工程と、
必要に応じて、前記鍵利用側において、前記新しい鍵世代の前記鍵情報から、１つ以上古い鍵世代の鍵情報を取得するために、所定の一方向鍵取得関数を繰り返し適用する工程と、を備えることを特徴とする方法。
【請求項２】
前記鍵生成側では、
所定の世代の鍵情報から始めて、前記所定の一方向鍵取得関数のインスタンスが繰り返し適用されることによって、前記新しい鍵世代の前記鍵情報が生成されることを特徴とする請求項１に記載の方法。
【請求項３】
前記所定の鍵世代はマスター鍵の鍵世代であることを特徴とする請求項２に記載の方法。
【請求項４】
前記鍵生成側では、
任意の古い鍵世代の鍵情報から始めて、前記所定の一方向鍵取得関数の落とし戸関数が適用されることによって、前記新しい鍵世代の鍵情報が生成されることを特徴とする請求項１に記載の方法。
【請求項５】
１つ以上古い鍵世代の鍵情報を取得するために、所定の一方向鍵取得関数を繰り返し適用する前記工程では、
前記鍵利用側は、過去の鍵更新が１以上なされなかった場合においても、前記情報環境において任意の古い鍵世代を利用することが可能になることを特徴とする請求項１に記載の方法。
【請求項６】
前記鍵生成側は、
１以上の通信装置と、該１以上の通信装置のための保護されたデータのプロバイダとにより共有される、セキュリティ鍵情報を発行する鍵発行サーバを備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記１以上の通信装置は、装置のグループを含む、
該装置のそれぞれは、前記所定の一方向鍵取得関数のインスタンスを実装し、これにより前記新しい鍵世代へのアクセスを有する各グループ装置が、任意の古い鍵世代に基づいて通信可能になることを特徴とする請求項６に記載の方法。
【請求項８】
前記新しい鍵世代へのアクセスを有するグループ装置は、任意の古い鍵世代に基づいて保護されたデータを共有可能であることを特徴とする請求項７に記載の方法。
【請求項９】
前記鍵利用側は、
前記１以上の通信装置、及び、保護されたデータの前記プロバイダを含むことを特徴とする請求項６に記載の方法。
【請求項１０】
前記鍵発行サーバと、保護されたデータの前記プロバイダとは統合されていることを特徴とする請求項６に記載の方法。
【請求項１１】
所定のアクセスコードの形態で追加データが前記一方向鍵取得関数に適用される場合に、前記新しい鍵世代の鍵情報から前記１以上古い鍵世代の鍵情報を生成するために、前記鍵利用側の装置に前記一方向鍵取得関数が実装されることを特徴とする請求項１に記載の方法。
【請求項１２】
前記一方向鍵取得関数を繰り返し適用することにより取得される前記鍵情報は、暗号用鍵に直接対応することを特徴とする請求項１に記載の方法。
【請求項１３】
取得された前記鍵情報を暗号用鍵に変換する工程を更に備えることを特徴とする請求項１に記載の方法。
【請求項１４】
前記鍵取得関数は暗号学的ハッシュ関数に基づくことを特徴とする請求項１に記載の方法。
【請求項１５】
前記セキュリティ鍵情報は、
デジタルコンテンツ配布システムにおけるデジタル権利管理、オンラインゲーム、ローカル・エリア・ネットワーク又はパーソナル・エリア・ネットワークにおけるファイル共有、蓄積交換アプリケーション、又は、オンラインセッションの安全化のために用いられることを特徴とする請求項１に記載の方法。
【請求項１６】
鍵情報を生成し、鍵利用側へ配布する鍵生成側を備える情報環境における、セキュリティ鍵情報の世代を管理する装置であって、
鍵の更新において、前記鍵生成側から前記鍵利用側へ、新しい鍵世代の鍵情報を配布する手段と、
前記鍵利用側において、古い鍵世代の鍵情報を前記新しい鍵世代の前記鍵情報で置き換える手段と、
必要に応じて、前記鍵利用側において、前記新しい鍵世代の前記鍵情報から、１つ以上古い鍵世代の鍵情報を取得するために、所定の一方向鍵取得関数を繰り返し適用する手段と、を備えることを特徴とする装置。
【請求項１７】
前記鍵生成側では、所定の鍵世代の鍵情報から始めて、前記所定の一方向鍵取得関数のインスタンスを繰り返し適用することによって、前記新しい鍵世代の前記鍵情報を生成する手段を更に備えることを特徴とする請求項１６に記載の装置。
【請求項１８】
前記所定の鍵世代はマスター鍵の鍵世代であることを特徴とする請求項１７に記載の装置。
【請求項１９】
前記鍵生成側では、任意の古い鍵世代の鍵情報から始めて、前記所定の一方向鍵取得関数の落とし戸関数を適用することによって、前記新しい鍵世代の前記鍵情報を生成する手段を更に備えることを特徴とする請求項１６に記載の装置。
【請求項２０】
１つ以上古い鍵世代の鍵情報を取得するために、所定の一方向鍵取得関数を繰り返し適用する前記手段は、
過去の鍵更新が１以上なされなかった場合においても、前記鍵利用側が、前記情報環境において任意の古い鍵世代を利用することが可能になるように制御可能であることを特徴とする請求項１６に記載の装置。
【請求項２１】
前記鍵生成側は、
１以上の通信装置と、該１以上の通信装置のための保護されたデータのプロバイダとにより共有される、セキュリティ鍵情報を発行する鍵発行サーバを備えることを特徴とする請求項１６に記載の装置。
【請求項２２】
前記１以上の通信装置は、装置のグループを含み、
該装置のそれぞれは、前記一方向鍵取得関数を繰り返し適用するための手段を備え、これにより前記新しい鍵世代へのアクセスを有する各グループ装置が、任意の古い鍵世代に基づいて通信可能になることを特徴とする請求項２１に記載の装置。
【請求項２３】
前記新しい鍵世代へのアクセスを有するグループ装置は、任意の古い鍵世代に基づいて保護されたデータを共有可能であることを特徴とする請求項２２に記載の装置。
【請求項２４】
前記鍵利用側は、
前記１以上の通信装置、及び、保護されたデータの前記プロバイダを含むことを特徴とする請求項２１に記載の装置。
【請求項２５】
前記鍵発行サーバと、保護されたデータの前記プロバイダとは統合されていることを特徴とする請求項２１に記載の装置。
【請求項２６】
一方向鍵取得関数を繰り返し適用する前記手段は、
前記鍵利用側の装置に実装され、
所定のアクセスコードの形態で追加データが前記一方向鍵取得関数に適用される場合に、前記新しい鍵世代の鍵情報から前記１以上古い鍵世代の鍵情報を生成するように設定される
ことを特徴とする請求項１６に記載の装置。
【請求項２７】
一方向鍵取得関数を繰り返し適用する前記手段は、
暗号用鍵に直接対応する鍵情報を取得するように制御可能であることを特徴とする請求項１６に記載の装置。
【請求項２８】
取得された前記鍵情報を暗号用鍵に変換する手段を更に備えることを特徴とする請求項１６に記載の装置。
【請求項２９】
前記鍵取得関数は暗号学的ハッシュ関数に基づくことを特徴とする請求項１６に記載の装置。
【請求項３０】
前記セキュリティ鍵情報は、
デジタルコンテンツ配布システムにおけるデジタル権利管理、オンラインゲーム、ローカル・エリア・ネットワーク又はパーソナル・エリア・ネットワークにおけるファイル共有、蓄積交換アプリケーション、又は、オンラインセッションの安全化のために用いられることを特徴とする請求項１６に記載の装置。
【請求項３１】
情報環境におけるセキュリティ鍵利用エンティティであって、
鍵更新において、新しい鍵世代の鍵情報を受信する手段と、
前記セキュリティ鍵利用エンティティに格納された古い鍵世代の鍵情報を前記新しい鍵世代の前記鍵情報で置き換える手段と、
前記新しい鍵世代の前記鍵情報から１つ以上古い鍵世代の鍵情報を取得するために、必要に応じて、所定の一方向鍵取得関数を繰り返し適用する手段と、
を備えることを特徴とするセキュリティ鍵利用エンティティ。
【請求項３２】
情報環境におけるセキュリティ鍵生成エンティティであって、
所定の鍵世代の鍵情報を取得するために、マスター鍵の世代の鍵情報から始めて所与の回数一方向鍵取得関数を繰り返し適用する手段と、
安全な通信を目的として、前記情報環境において、１以上の鍵利用エンティティへ、取得された前記鍵情報のデータを配布する手段と、
を備えることを特徴とするセキュリティ鍵生成エンティティ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムでのエンティティ間における暗号用鍵の管理に関する。
【背景技術】
【０００２】
今日の情報技術社会において、情報セキュリティは極めて重要な分野である。
【０００３】
他者との間における、機密性保持、エンティティ認証、データの完全性保証（integrity）、及び、デジタル署名を含む、多数の情報セキュリティ技術の基礎として、暗号用鍵の管理は基本的な役割を担っている。一般的には暗号学の分野、特には鍵管理の紹介のために、それぞれ非特許文献１、非特許文献３（１３章）を参照する。以下は、本件に関連する鍵管理技術の要約であり、標準的な文献（非特許文献３）に部分的に基づいている。
【０００４】
鍵に基づく関係（以下、「鍵関係」という）には、少なくとも、鍵材料の“生成者”と“利用者”とが一般には含まれる。鍵管理は、例えば、秘密鍵の機密性が破られるといった関連する脅威に対抗する形で、鍵関係や、鍵材料を守ることを目的としている。鍵管理は、通常、特定のセキュリティポリシーの文脈において提供される。このセキュリティポリシーは、よく考えられたシステムが取り扱おうとしている脅威を、例えば実行すべき手続きや手順により明示的又は黙示的に定義する。そのようなポリシーは、もはや正当でなくなった鍵の使用、或いは、本来の目的以外の目的での鍵の使用を排除するための手順や命令を含んでもよい。
【０００５】
暗号用鍵を配布するための様々な技術やプロトコルが知られているが、通信を行うエンティティ間において、暗号用鍵の秘匿性がは保証されるねばならない必要のある、暗号用鍵を配布するための様々な技術やプロトコルが知られている。そのそのような技術の一つの方法は、「鍵の階層化」の使用利用である。これは、保護されるデータの保護の必要性機密性に対応する機密秘匿性の程度度に応じて、鍵を分類するものである。
１．マスター鍵：  階層において最上レベルに位置づけられる長期間使用される鍵
２．鍵暗号化鍵：  鍵の転送や他の鍵の保管に用いられる共通鍵
３．データ／セッション鍵：  ユーザのデータに対して暗号処理（例えば、暗号化、認証）を実行するために用いられる。これらは、一般的に、短期間使用される鍵である。
【０００６】
ある階層の鍵は、それよりも下位の階層のアイテムを保護するためにしばしば用いられる。この制約により、攻撃をより困難なものとし、特定の鍵の漏洩による情報流出を制限することを意図している。
【０００７】
上述の鍵の階層化に加えて、一時的な要因に基づいて鍵を分類してもよい。上述のように、セキュリティポリシーや外部イベントにより、エンティティ間の通信に用いられる鍵材料の変更を余儀なくさせられるかもしれない。これは、鍵の「有効期限」の概念に関係する。この有効期限は、正規の当事者が鍵を有効に使用できる期間を定めるものである。この有効期限を用いることで、例えば、特定の暗号アルゴリズムにより保護されたデータを攻撃するための時間や、そのために利用可能な情報を制限し、また、一つの鍵が漏洩した場合における情報流出を制限することができる。
【０００８】
秘密鍵が常に固定に保たれる単純なシステムを除いて、鍵に関連する有効期限により、通常、鍵を周期的に更新し、これにより鍵のシーケンス又は「世代」を生成することが必要となる。鍵の更新は、新しい鍵材料を生成するために既存の鍵材料を使用したり、適切な鍵生成プロトコルや鍵の階層化の利用を伴うかもしれない。しかし、長期間使用される秘密鍵や過去のセッション鍵が漏洩した場合における情報流出を制限するために、鍵材料の間における特定の従属関係は避けるべきである。例えば、新しいセッション鍵の安全性を保つために、古いセッション鍵でそれを暗号化することは薦められない（古い鍵が漏洩すると、新しいものまで漏洩するためである）。
【０００９】
本発明に関連する鍵の更新に係る特別な場合は、有効期限が重複する鍵を更新する場合、即ち、複数の鍵世代が共存することが必要であり、かつ、例えば、上述のような鍵の間の従属関係を避けなければならないような場合である。
【００１０】
古いデータ鍵が使用されているにも関わらず、新しいデータ鍵によるサービスを開始するのには、様々な理由があるだろう。そのような理由の一つは、新しいデータについては保護を高める必要があるが、古いデータについては、何らかの理由で保護を高める必要がないような場合である。一定期間コンテンツを安全に保護することが必要であるが、その期間の経過後にコンテンツが漏洩しても、金銭的な損害が小さい又は発生しないようなビジネスモデルを想定することはたやすい。例えば、ニュース・サービスや天気予報等はこれに含まれる。
【００１１】
他の理由は、グループ鍵を管理する状況に関連するだろう。グループを構成するエンティティ間でデータが安全に共有されている状況において、そのグループ内の異なるエンティティは、現在又は最新の世代の鍵を構成するものについて異なる見方を有しており、これにより通信において異なるパーティにより使用される鍵はそれぞれ異なるものとなる。使用する鍵の世代（鍵世代）を通知することは容易であるが、鍵世代を最新に保つことを全てのエンティティに要求することは困難であるか、又は望ましくもないだろう。それゆえ新しい鍵と古い鍵をある程度並行して使用できるようにすることが必要となる。このような例の一つとしては、何らかのネットワーク技術を用いて接続されたユーザの装置（携帯電話、ラップトップ・コンピュータ、ＰＤＡ(Personal Digital Assistant)、ＭＰ３プレイヤー、デジタル(ビデオ)カメラ等）からなるパーソナル・エリア・ネットワーク（Personal Area Network：ＰＡＮ）が挙げられる。このＰＡＮでは、装置は、ユーザの個人情報やデータ、アプリケーション、或いは、コンテンツを安全に共有しており、ユーザは、自動化された定期的な鍵の更新に係るセキュリティ・ポリシーを適用している。このような構成において、鍵の更新中に、ある装置が起動していないか、或いは、アクセス可能でないような状況が想定されるが、このような場合、更新が可能になる前にも、他の更新された装置と安全に通信できるようにすべきである。
【００１２】
関連する問題は、例えば、あるグループ・エンティティが将来のデータに対するアクセスからは除外されながら、そのグループについて保護されてきたデータに対する安全な書き込みについては継続して権限が与えられる状況のような、グループ・エンティティの動的な権限に関する。このような状況の例の一つとして、ある装置が除外された場合、その装置は新しいコンテンツを表示することができなくなるが、古いコンテンツについては継続して他の装置と共有できるようなコンテンツ保護手法が該当する。従って、正当な権限を有するエンティティは、全ての通信に参加できるようにするために、古い鍵と新しい鍵の両方を持ち続けていなければならない。
【００１３】
これらの全ての場合においては、異なる鍵で暗号化されたデータを管理する際の効率性に関する問題が存在する。古い鍵が依然として継続して正当有効なであるようなまま、この種の鍵の更新が数多く実施されれば多数存在する場合、特に、携帯電話、携帯音楽再生装置、センサ等の記憶容量が限られた小さい装置においては、記憶領域のに対する深刻な問題が発生するだろう。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
この問題を解決する試みの一つは、現在の鍵を次の世代の鍵で置き換え、過去に暗号化された全てのデータを最新の世代の鍵で再暗号化することで、最新の鍵に係る鍵の記憶容量を削減するというものである。しかしながら、このような解決法は、再暗号化に係る計算及び分配のコストを追加するものであり、これは大量のデータを暗号化する場合に深刻なものになる。さらに、この解決法は上述のグループにおける通信の状況に対応していない。例えば、除外されたメンバーは、もはやデータに対して秘密に書き込みを行うことができない。これは、その除外されたメンバーは最新の鍵に対するアクセスを有さず、他のメンバーは古い鍵を新しいもので置き換えているからである。通信環境に適用可能な他の試みは、全てのデバイスに対して、常に最新の鍵にアクセスすることを要するというものである。上述のように、鍵更新の際に、装置が、電源を切るかもしれない、或いは、鍵の発行者に連絡することが困難であるかもしれないような場合、この手法は実用的でない。
【課題を解決するための手段】
【００１５】
本発明は、これらの課題や従来技術に係る構成の他の欠点を解決する。
【００１６】
本発明の全般的な目的は、記憶を要するのは１つの鍵だけであるが、効率的な鍵の更新と過去の世代の鍵の使用を可能にすることである。
【００１７】
本発明の詳細な目的は、各エンティティが記憶する必要があるのは１つの鍵だけであるが、グループ・エンティティが任意の世代の鍵を用いて通信可能にするための手段を提供することである。
【００１８】
これら及び他の目的は、添付の特許請求の範囲に記載された発明によって達成される。
【００１９】
本発明の基本的な手法は、前の世代の鍵は後の世代のものから効率的に取得することができるが、その逆はできない、即ち、前の世代の鍵からは、追加情報を用いないと、後の世代の鍵を取得することができないような、暗号用鍵の世代間の関係を定義することである。
【００２０】
本発明は、一般的には、鍵情報を生成し鍵利用側へ配布する、鍵生成側を備えた情報環境（例えば、通信環境）における、暗号用鍵情報の世代の管理に関する。鍵の更新において、新しい鍵世代の鍵情報は、鍵生成側から鍵利用側へ配布される。本発明における基本的なアイディアは、鍵利用側において、古い鍵世代の鍵情報を新しい鍵世代の鍵情報で置き換え、必要に応じて、所定の一方向鍵取得関数を繰り返し適用して、新しい鍵世代の鍵情報から、１つ以上古い鍵世代の鍵情報を取得することである。このようにして、鍵利用側における記憶容量の要件を格段に削減することができる。実際、鍵利用側における受信エンティティにより実際に保持される必要のある鍵は、最新の世代の鍵のみである。古い鍵は鍵取得関数を用いて効率的に取得される。一例として、鍵取得関数は、暗号学的なハッシュ関数や、同等の一方向関数とすることができる。
【００２１】
好適には、鍵生成側は、生成側のみが予め知っている、マスター鍵の世代や他の中間の鍵世代に係る鍵情報等の、所定の世代の鍵情報から始めて、所定の一方向鍵取得関数のインスタンスを繰り返し適用することで、配布する新しい鍵世代の鍵情報を生成する。この場合、生成側は、典型的には、ランダムな「マスター鍵」を生成及び保管し、鍵取得関数を繰り返し適用することで、対象とするアプリケーションにおいて十分な数の世代の鍵を「世代を遡る方向に（backwardly）」取得する。一方向鍵取得関数を所定のｎ回繰り返し適用することで、マスター鍵から第１の世代の鍵が生成されるだろう。例えば、次の世代の鍵を生成するために、鍵生成側は、単に、鍵取得関数をｎ−１回繰り返し適用するだけである。このことは、生成側が保持する必要があるのは、マスター鍵と現在の世代数のみであることを意味する。
【００２２】
或いは、鍵生成側は、任意の古い鍵世代の鍵情報に対して、所定の一方向鍵取得関数に係る落とし戸関数を適用することによって、新しい鍵世代の鍵情報を生成する。公開鍵暗号系に基づく関数（いわゆる落とし戸を有する一方向関数）はこの目的で使用することができる。利用側は公開鍵のみを知っているが、生成側は、鍵の世代のチェーンにおいて「世代の進む方向に（forward）」進むために、落とし戸として秘密鍵を使用してもよい。
【００２３】
典型的なアプリケーションにおいて、鍵生成側は、少なくとも一つの通信装置と保護されるデータの提供者（プロバイダ）とで共有されるセキュリティ鍵情報を発行する、鍵発行サーバを備える。
【００２４】
本発明は、装置やエンティティのグループやコミュニティの全体を鍵利用側が備える、グループ鍵管理において特に有用である。一般的に、各グループ・エンティティは所定の一方向鍵取得関数のインスタンスを実装している。これにより、新しい鍵世代へのアクセスを有するグループ装置は、新しい鍵世代だけでなく、任意の古い鍵世代にも基づいて、（例えば、コンテンツ提供者からの保護されたコンテンツを共有する等の）通信を行うことが可能となる。
【００２５】
本発明は、除外された装置に利用可能なものよりも後の世代の鍵を、グループ内に残っている除外されていない装置へ配布することにより、除外された装置やエンティティを効率的に区別することができる。これは、一方向鍵取得関数は、後の世代の鍵を取得することを効果的に妨げるためである。
【００２６】
鍵取得関数への他の入力パラメータは、信頼管理機関／所有者／ユーザに知られた個人識別番号（ＰＩＮ：Personal Identification Number）等のアクセスコードを含んでもよい。好適には、一方向鍵取得関数は所定のアクセスコードの形式の追加データが鍵取得関数に適用された場合にのみ、適切な鍵情報が生成されるように実装される。ただし、他のパラメータを世代番号自体として、各鍵世代について新しい鍵取得関数を効果的に生成することも可能である。
【００２７】
一方向鍵取得関数を繰り返し適用することで取得される鍵情報は、暗号用鍵に直接相当するか、或いは、そのような鍵に変換してもよいということは、理解すべきである。鍵情報は鍵の集合に変換してもよい。そのような鍵のそれぞれは、過去の世代の鍵から効果的に取得される。
【００２８】
本発明は、デジタルコンテンツ配布システムにおけるデジタル権利管理（ＤＲＭ：Digital Right Management）や、オンラインゲーム、ローカル・エリア・ネットワーク又はパーソナル・エリア・ネットワーク（ＬＡＮ／ＰＡＮ）におけるファイル・シェアリング、蓄積交換（store-and-forward）アプリケーション及びオンライン・セッションの安全性保護を含む、多種の異なるアプリケーションに適用することが可能である。ただし、適用可能なアプリケーションはここに例示したものに限られない。
【００２９】
本発明は以下の利点を有する。
・複数世代の鍵の効率的な記憶を可能にする：受信側が保管することが必要な鍵は最新の世代のもののみである。
・鍵を効率的に生成することを可能にする：効率的な関数の繰り返し。
・グループ・エンティティが、任意の世代の鍵を用いて通信することを可能にする：グループ内の、現在又は過去のあらゆるエンティティを、十分初期の鍵世代を選択することによって、アドレス指定することができる。また、後期の鍵を用いることで、除外されたエンティティを任意に識別することができる。
・中間の鍵更新を受信したことを保証する必要がない：グループで鍵の更新を行う状況においては、特定の世代の鍵更新を行わなかったエンティティが存在するかもしれない。本発明によれば、過去の更新の全ては、後の世代の鍵から効率的に取得することが可能であるため、なされなかったあらゆる中間の更新を追跡する必要がない。
・生成側は、利用側の実装及び使用とは独立に、本発明を実装し利用することができる。
・ポリシーに独立な実装を行うことができる：異なる鍵の発行者は、装置の実装を変更することなく、除外や鍵の有効期限について、異なるポリシーを採用することができる。
・初期の鍵世代に対する選択的なアクセス：本発明は、他のパラメータに基づいて識別することにより、過去の鍵世代へのアクセスを制限することができる。
【００３０】
本発明によりもたらされる他の利点は、本発明の実施形態に係る以下の記述を読むことによって理解されるだろう。
【発明を実施するための最良の形態】
【００３１】
本発明は、そのさらなる目的と利点を含め、添付図面とともに以下の記述を参照することにより、よく理解することができる。
【００３２】
以下に説明する実施形態は単に例として与えられるものであり、本発明はそれらに限られないことを理解されたい。さらに、ここに開示され、クレームされる原理の根底にある基本的事項を保つような、修正、変更、及び、改善は、本発明の技術的範囲に含まれる。
【００３３】
図面において、同じ符号は対応する又は同じ要素に対して用いられる。
【００３４】
図１において、鍵発行サーバ等の１以上の秘密鍵発行者Ｓ、１以上のコンテンツ又はサービスの提供者Ｐ、及び、１以上の潜在的な受信者Ｒを有する通信システムに関連して例示される情報環境を考える。「背景技術」の欄の用語を用いると、Ｓは鍵材料の"生成者"であり、Ｐ及びＲは鍵材料の「利用者」である。全てのＳは、Ｐ及びＲと先験的に安全な（例えば、秘密の）チャネルを有していると仮定する。提供者Ｐの目的の一つは、Ｓにより提供された情報を用いて、安全かつ効率的に、受信者Ｒにデータを伝達することである。他の目的は、Ｓ、Ｐ及びＲにおける秘密情報を効率的に管理することである。ＳとＰ、及び、ＳとＲの間における安全なチャネルは、鍵の配布や、例えば、鍵生成、有効期限や範囲を含む鍵のポリシー等の、関連情報の通信に用いられることが意図されている。ＳとＰの役割は同一であってもよい。秘密鍵の発行者の役割は秘密鍵の生成者（以下を参照のこと；マスター鍵と任意の世代の鍵を生成したパーティである）の役割と異なってもよいが、その区別は当該技術分野における当業者にとって自然であり、従って、本発明について明示的に強調する必要はない。
【００３５】
本発明をよりよく理解するために、いくつかの典型的なシナリオの説明で始めるのが有用であろう。
【００３６】
［シナリオ１］
Ｓは、第１世代の秘密鍵ｋ1を生成し、この鍵は安全にＰ及びＲに配布されている。Ｐはｋ1でデータｘ1を保護し、Ｒへ送出した。これによりＲは秘密鍵ｋ1を用いてデータｘ1に対して（復号、認証等の）適切な処理を行うことができる。鍵の更新において、次の世代の秘密鍵ｋ2がＰ及びＲへ配布され、これの後のＰからのデータは信頼性を高める新たな鍵で保護することができる。この手順は高次の世代の鍵について繰り返される。古い鍵は、所望とする利用者が新しい鍵への（物理的又は論理的な）アクセスを有しないような場合において、さらに用いられ得る。複数の鍵更新の後に、生成者と利用者は多数になりうる正当な鍵と、安全に保管し管理することを必要とする様々の鍵で暗号化されたデータに直面することになる。
【００３７】
鍵やデータの配布については複数の異なった手順や順序が適用可能であり、これらは当該技術分野における当業者により知られている。例えば、
１．まず、ｋ1がＲへ送られる。ＲがＰからｘ1を要求した場合、ＳからＰへｋ1が送られ、ｋ1で保護されたｘ1がＰからＲへ送られる。鍵更新時においては、例えば、ｋ2がＲへ送られる。
２．ＲがＰからｘ1を要求した場合、ＳからＰへｋ1が送られ、ｋ1で保護されたｘ1がＰからＲへ送られる。次に、ｋ1がＲへ配布される。ＲがＰからｘ1を要求した場合、鍵の更新がなされた場合は、例えば、ｋ2がＳからＰへ送られる。
【００３８】
［シナリオ２］
この例では、ＰとＳは同一である。上述の例では、例えば、データの蓄積交換の状況において、鍵の配布とは独立にデータは保護され配布され得た。この例において、Ｓ（＝Ｐ）とＲは、並行する複数のセッションにおいて、鍵の更新を伴う安全な通信セッションを開始したいと考えている。ＳとＲの間における信号伝達プロトコルにおいて任意に組み込まれて、ＳはＲへ第１世代のセッション鍵ｋ1を安全なチャネル上で送信する。第１世代のセッション鍵を使用して、ＳとＲは安全なチャネルを用いないで安全にデータを交換することができる（それゆえ鍵の階層化を実行する：先験的に安全なチャネルはデータチャネルよりも１層高い）。安全なチャネルは、新しいセッションが開始したときに、鍵の更新に用いられる。古いセッションが依然として並行して用いられるかもしれないため、安全に管理すべき多数のセッション鍵が潜在的に存在するだろう。
【００３９】
［シナリオ３］
潜在的な受信者が複数存在する場合は、特に重要であり、このシナリオにおいて詳細に検討する。一例として、一群のエンティティ又は装置ｄ1, ...,ｄNを備えるコミュニティＣとしても参照されるグループ、装置のコミュニティに共有される秘密鍵を発行する秘密鍵発行サーバＳC、及び、このコミュニティのための保護されたデータの提供者ＰCが存在するシナリオを仮定する。ＳCがＰCに対して、現在正当に共有された秘密鍵について通知することを可能にするために、ＳCとＰCが協力する状況を仮定する。関連する第３及び最後の役割は装置のコミュニティのユーザ／所有者／管理者ＵCである。秘密鍵の発行者は鍵の生成者であり、他者は鍵の利用者である。Ｓ、Ｐ及びＵの役割は区別する必要がない。
【００４０】
表記上の簡略化のため、コミュニティにおける依存関係を明示的に仮定しない。ただし、通常はそのような依存関係が存在すると仮定される。また、典型的なシナリオにおける簡略化のため、一般性を失うことなく、４つのみの装置が存在する、即ち、Ｎ＝４を仮定する。
【００４１】
従来の鍵管理について、賞賛し、また、同時にいくつかの問題を明らかにするため、まず、図４の従来技術を参照する。Ｓは、第１の秘密鍵ｋ1を生成し、ｄ1、ｄ2、及び、ｄ3と共有する。装置ｄ4は、まだコミュニティのメンバーではない。ｄ1においてｋ1で保護されたデータｘ1が存在し、装置ｄ2においてもｋ1で保護されたデータｘ2が存在する状況を仮定する。時刻ｔ1において、装置ｄ3が自発的に又は自発的でなくコミュニティを去っている。前者の（自発的な）場合は、ｄ3はＳにコミュニティを去ることを通知し、後者の（自発的でない）場合は、Ｓは、何らかの他の情報源からこの情報を取得し、又は、一方的に決定する。Ｓは、ｄ3がそれにアクセスできるような状態で、これ以上装置のコミュニティに新しいデータを提供すべきではないということを伝えるために、ｄ3が去ったことをＰに知らせる。
【００４２】
時刻ｔ2（ｔ2＞ｔ1）において、装置ｄ1は、Ｐから新しいデータｘ3を要求する。この時点で、Ｐは、これ以上ｋ1で保護されたデータを提供することはできないということを知り、Ｓに新しい鍵ｋ2を要求し、ｄ1にｋ2で保護されたｘ3を提供する。装置ｄ1は、ｋ2を所持していないということを認識すると、それを取得するためにＳに連絡する。ｄ1として認証すると、ｋ2は安全にｄ1へ転送される。後にｄ1がｄ2にｘ3を提供するときは、同様のことが発生する。即ち、ｄ2は（Ｐから保護された新しいデータを最近要求していない限り）ｋ2を所持していないということを認識し、このデータを取得するためにＳに連絡する。
【００４３】
時刻ｔ3（ｔ3＞ｔ2）において、ｄ2は、ｄ1にｘ2を転送する。この時、２つの可能性が存在する。
（ａ．）装置ｄ1は、ｋ2を受信したときにｋ1を消去しておらず、将来の使用のためにｋ1を保持している。
（ｂ．）装置ｄ1は、もうｋ1について知らない。
【００４４】
（ａ．）の場合、それらがメンバーだった全てのコミュニティＣ1,...,ＣLについての共有された秘密鍵ｋ1, ..., ｋMの全てを装置が保管することを必要とする。（ｂ．）の場合、ｄ1は、Ｓに連絡して鍵ｋ1を要求しなければならないだろう。この場合のコストは、Ｓとのやりとりの数が増加することと、それらが情報のやりとりをするコミュニティの全てについて共有された秘密鍵の全てをＳが保管する必要があることである。
【００４５】
同様に、時刻ｔ4（ｔ4＞ｔ3）に、装置ｄ4がコミュニティのメンバーとしてＳに登録することを想定する。コミュニティに提供された全てのデータにｄ4がアクセスできるようにするために、Ｓは、直接又は複数の繰り返しによって、ｄ4にｋ1, ...,ｋMを供給しなければならない。このことは、鍵の発行者Ｓに過去の鍵を記憶しておかなければならないことを意味する。
【００４６】
本発明はこれらのシナリオや、複合的な場合及び他の鍵／データの配布手順に適用可能である。特に、本発明の典型的なアプリケーションは、デジタル権利管理（ＤＲＭ）のシナリオにおいて装置間でコンテンツやライセンスを共有することである。この場合、Ｐをコンテンツ提供者、Ｓをライセンス発行者、Ｒを１以上のコンテンツ利用装置とすることができる。他のアプリケーションは、パーソナル・エリア・ネットワークにおけるファイル共有に係るグループ鍵の管理である。この場合、Ｓ＝Ｕ＝Ｐとすることができる。上述のように、他のアプリケーションには、蓄積交換アプリケーションやオンラインセッションを安全化するアプリケーションが含まれる。さらに、多くの他のアプリケーションも適用可能である。
【００４７】
本発明の基本的な思想においては、鍵の更新において、鍵利用側に保管された古い世代の鍵を新しい世代の鍵に置き換えることと、必要に応じて、所定の一方向鍵取得関数を繰り返し適用して、新しい世代の鍵から１つ以上古い世代の鍵を取得することが含まれる。最新世代の鍵のみが最適化された実装に保管されていればよいため、この手法によれば、鍵利用側における記憶容量の要件を格段に削減する。古い鍵は、鍵取得関数を用いて効率的に取得される。
【００４８】
従って、本発明は、前の世代の鍵は後のものから効率的に取得され得るがその逆は成り立たないように、鍵の世代間の関係を定義することに基づいている。このため、鍵生成側においては、所定の一方向鍵取得関数に基づいて鍵情報を生成することに関して、少なくとも２つの主要な可能性が存在する。一般的に、各世代の鍵は、初期の又は他に与えられた何らかの鍵情報から一方向鍵取得関数を用いて「世代を遡る方向に」、或いは、現在の世代の鍵から鍵取得関数の落とし戸を用いて「世代の進む方向に」生成され得る。前者の場合、各世代の鍵は、生成側にのみ予め知られている、マスター鍵の世代又は任意の中間世代の鍵に係る鍵情報等の、何らかの所定の世代の鍵情報から、世代を遡る方向に生成される。
【００４９】
本発明に係る第１の典型的な実施形態における、複数の基本的な工程の概要は、以下の通りである。
１．鍵の生成者は、好適には、ランダムなマスター鍵ｋn（所望のビット数を有する疑似乱数）を生成及び保管し、鍵取得関数Ｆを繰り返し適用することによって、対象とするアプリケーションについて十分多く（ｎ）の世代のデータ／セッション鍵を取得する（図２Ａ）。
２．簡単のために、各世代の鍵は、好適には、世代１として最後に取得された鍵から始まってｎ番目の世代へ（ｋ1,ｋ2,...,ｋn）逆順に列挙される。
３．鍵発行者は、任意の適切な鍵配布技術（非特許文献５，６）を用いて第１世代の鍵を配布する。
４．鍵の更新において、次の世代の鍵が、ここでも任意の適切な鍵配布技術を用いて配布される。送信側においては、対応する世代の鍵が、保管されたマスター鍵から効率的に取得される。
５．受信側では、古い世代の鍵が消去され、最新の世代の鍵に置き換えられる。必要に応じて、古い鍵は、所定の鍵取得関数を用いて効率的に取得される。鍵利用側のエンティティが世代ｊの鍵ｋjへのアクセスを有する場合、世代ｉ（ｉ＜ｊ）の鍵ｋiは、鍵取得関数Ｆを用いて取得することができる（図３）。
【００５０】
新しい世代の鍵を生成するために、鍵生成側は、単に、鍵取得関数を、例えばｎ−１回繰り返し適用すればよい。このことは、生成側が保管する必要があるのは、マスター鍵と現在の世代数のみであるということを意味する。
【００５１】
新しい鍵から古い鍵を取得するために用いられる関数は、利用者が古い鍵から新しい鍵を取得することができないように設計すべきである（図３）。このことは、関数が、逆方向の演算をすることが計算量的に困難であるか、"一方向"でなければならないことを意味する。ＳＨＡ−２５６（非特許文献４）のような暗号学的なハッシュ関数は、この要件に適合する。さらに、効率的な鍵取得関数は、あらゆる容量の問題を緩和し、"十分多くの世代"が意味するものについて余裕をもって提供する。
【００５２】
利用者は公開鍵のみを知っている公開鍵暗号系に基づく（いわゆる落とし戸と呼ばれる一方向関数である）関数もこの要件に適合するだろう。このような関数は、チェーンにおいて「世代の進む方向に」進むために生成者が落とし戸（秘密鍵）を用いることで、後の世代の鍵を事前に生成する必要性を軽減することを可能にするだろう
例えば、合成数の冪乗剰余等の落とし戸付き一方向関数に基づく、本発明に係る第１の典型的な実施形態における、複数の基本的な工程の概要は、以下の通りである（なお、同程度の安全性を有する既知の落とし戸一方向関数の出力サイズは大きいため、この場合の鍵は、落とし戸付きでない一方向関数に基づく手法におけるものよりも長くなり得る）。
１．鍵の生成者は、第１の世代の鍵ｋ1（所望のビット数を有する疑似乱数）を生成する。
２．鍵発行者は、任意の適切な鍵配布技術（例えば、非特許文献５，６）を用いて第１の世代の鍵を配布する。
３．鍵の更新において、この場合も任意の適切な鍵配布技術を用いて、次の世代の鍵が配布される。対応する世代の鍵は、過去の古い世代から、所定の一方向鍵取得関数の落とし戸ＦTを用いて効率的に取得される（図２Ｂ）。
４．受信側では、古い世代の鍵が消去され、最新の世代の鍵で置き換えられる。上述のように（図３）、必要に応じて、古い鍵は、所定の鍵取得関数を用いて効率的に取得される。
【００５３】
前述したように、本発明の重要な側面の一つは、異なる世代の共有された鍵ｋ1, ｋ2, ..., ｋi, ...ｋnの間の関係を定義することに関する。本発明は、様々な信頼のモデルを可能にする。しかし、一般的な特徴として、あるエンティティが世代ｊの鍵ｋjへのアクセスを有するように信頼されている場合、ある任意の制限の範囲で、そのエンティティは、世代ｉ（ｉ＜ｊ）の鍵ｋiへのアクセスをも有するように信頼される。
【００５４】
本発明は、ｊ番目の世代の鍵が入力として与えられ、当該関数及び場合により他のパラメータを使用する信頼された装置が、出力として古い鍵ｋ1,...,ｋj-1を取得できるようにする効率的な関数の使用を伴う。ただし、与えられた又は取得された情報に基づいて任意の新しい鍵ｋm（ｍ＞ｊ）を取得することが不可能である。他の入力パラメータには、信頼された管理者／所有者／ユーザＵに知られたアクセスコード／個人識別番号（ＰＩＮ）が含まれてもよい。例えば、アクセスコードは、例えば、サービスや何らかのデジタルコンテンツの購入の際に、コンテンツ提供者又は中間業者から、装置のユーザへ提供してもよい。これは、オンラインで表示したり、ユーザの装置に安全に転送してもよいし、或いは、通常の郵便やファックスでユーザに送るようにしてもよい。サービスを開始したり、デジタルコンテンツへのアクセスを取得するために、ユーザはアクセスコードを入力する必要がある。このパラメータを入力せず、又は、値が提供されていない場合にデフォルト値へパラメータが設定された場合、関数は、鍵を取得に失敗するか、正しくない鍵を取得するだろう。他の変形は、ある使用期間を超えた鍵に対するアクセスを制限することを含み、それを超えると適切なコードやＰＩＮがなければ、鍵を取得することができないカットオフ時間が存在する。そのようなパラメータの目的は、古い世代の鍵のアクセスを制限し、例えば、装置が盗まれたり、紛失したり、或いは、売却された場合に、装置の信頼された管理者／所有者／ユーザＵのみがアクセスできるようにすることであろう。また、他の入力パラメータを現在の鍵の世代番号自体とし、各鍵世代について新しい鍵取得関数を効果的に生成するようにしてもよい。
【００５５】
この発明の特徴は、連続する世代ｋj-1＝Ｆ（ｋj,...）間に係る計算量的に効率的な関数Ｆを定義するという点に、典型的に現される。ただし、１＜ｊ≦ｎであり、省略箇所は上述の他のとりうるパラメータを示している。この構成によれば、信頼された装置は、所望とする任意の古い鍵ｋi（１≦ｉ＜ｊ）を取得するために、関数Ｆを複数回数繰り返し適用することができる。
【００５６】
既に知られているものよりも後の世代の鍵についての情報を取得することを不可能にすることを保証する、暗号学的な一方向関数Ｆを実現するものを使用することは、好適な実施形態である。
【００５７】
一例として、ハッシュチェーンの考え方が用いられる。Ｆを、与えられた入力値に対してｍビットの数を出力する、１パラメータの暗号学的なハッシュ関数としよう。そして、対象のシステムについて見積もられた、必要な世代数の下限をｎで示す。ｋnをランダムなｍビット数とし、１＜ｊ≦ｎについてｋj-1＝ｆ（ｋj）を再帰的に定義する。
【００５８】
この例のアプリケーションの一つとして、ｆ＝ＳＨＡ−２５６、ｍ＝２５６（ビット）とし、さらに、ｎを、装置の一つの集合における、除外や周期的な鍵の更新について、想定される数を十分上回る数とすることができよう。なお、この数は、任意の時点の、コミュニティ中の装置数よりも大きいものとしてもよい。コミュニティは動的であるため、コミュニティの生存期間の任意の時点において、新しい装置が加わる（又は、去る、或いは、除外される）かもしれない。
【００５９】
他の例としては、鍵取得関数が繰り返し用いられる。Ｆを、一方向であり、入力パラメータとして任意の数をとる、鍵取得関数（key derivation function）ＫＤＦとしよう。また、対象とするシステムについて見積もられた、必要な世代数の下限をｎで示す。ｋnをランダムなｍビット数とし、１＜ｊ≦ｎについてｋj-1＝ＫＤＦ（ｋj,...）を再帰的に定義しよう。
【００６０】
この例のアプリケーションでは、ＫＤＦ＝ｋｄＣｏｎｃａｔｅｎａｔｉｏｎ、ｍ＝１２８（ビット）とし、ｎを上述のように、装置の一つの集合における想定される除外の数を十分上回る数とすることができる。
【００６１】
ｋｄＣｏｎｃａｔｅｎａｔｉｏｎの鍵取得関数の定義は非特許文献１に見ることができ、鍵の取得において含まれる上述のＰＩＮに係る使用等の、他の情報を利用するという利点を有する。
【００６２】
「任意の入力変数ＯｔｈｅｒＩｎｆｏは、適切な、例えば、鍵の意図された使用の範囲を定めるために、用いてもよい・・・」（非特許文献１）
第三の例として、ハッシュチェーンと、一方向鍵取得関数の繰り返し適用とを結合する手法が用いられる。ここでも、Ｆを鍵取得関数ＫＤＦとし、ｆを、与えられた入力値に対してｍビットの数を出力する、一変数の暗号学的ハッシュ関数としよう。また、対象とするシステムについて見積もられた、必要な世代数の下限をｎで示す。ｋnをランダムなｍビット数とし、１＜ｊ≦ｎについてｋj-1＝ＫＤＦ（ｆ(ｋj),...）を再帰的に定義しよう。
【００６３】
この例のアプリケーションでは、ＫＤＦ＝ｋｄＣｏｎｃａｔｅｎａｔｉｏｎ、ｆ＝ＳＨＡ−１、ｍ＝１６０（ビット）とし、ｎを上述のように、装置の一つの集合における想定される除外の数を十分上回る数とすることができる。
【００６４】
この場合も、ｋｄＣｏｎｃａｔｅｎａｔｉｏｎの鍵取得関数の定義は非特許文献１に見ることができ、鍵の取得において含まれる上述のＰＩＮに係る使用等の、他の情報を利用するという利点を有する。
【００６５】
他の実施形態は、既に知られたもの以降の世代の鍵についての情報を利用者が取得することは不可能であることを保証すると同時に、次の世代の鍵を取得するために生成者が落とし戸を使用可能にするような、いわゆる落とし戸ＦTを有する暗号学的な一方向関数Ｆを実現するものを使用するものである。現実には、そのような関数は、一般的に、単純な一方向関数よりも効率が悪い。しかし、利点の一つは、生成者は世代鍵のチェーンを事前に計算しておく必要がないが、現在の世代の鍵を取得でき、かつ、落とし戸関数は次の世代の鍵を、ｋj+1＝ＦT（ｋj,...）により、計算できることである。これは、世代の数は、例えば、ハッシュチェーンに基づく場合におけるものに限られない（世代の最大数はハッシュチェーンの長さに限られる）という別の利点をもたらすものである。
【００６６】
一般的な鍵取得関数Ｆを繰り返し適用して生成される鍵情報は、続いて、実際の暗号用鍵に変換されうる。これは、鍵のサイズの変更とその鍵材料に係る他の変換との少なくともいずれかを伴ってもよい。例えば、ＳＨＡ−１ハッシュ関数を用いて生成された１６０ビット鍵は１２８ビットＡＥＳ鍵にマップされうる。
【００６７】
ハッシュチェーンの概念自体は、例えば、特許文献２、非特許文献１，２から知られているが、これらは、全く異なるアプリケーション領域におけるものである。Micaliの認証除外システムは、主に、処理の重い署名の検証を繰り返し行うことなく、ハッシュチェーンにおける逆像を取得することによって、効率的な除外のチェックを行うという問題を取り扱っている。ただし、像は効率的に検証されている。特許文献２、非特許文献２に記述されたLamportのハッシュチェーン・システムによれば、認証サーバが、各クライアントについて一組の＜ｎ，ｈａｓｈn(パスワード)＞を保存し、そのクライアントから認証要求を受けとった場合にそのクライアントへｎ−１を伝達することが可能になる（ｈａｓｈn(.)は、ｎ回繰り返すハッシュ関数の合成を示しており、ｈａｓｈn(ｘ)＝ｈａｓｈ(ｈａｓｈ( ...ｈａｓｈ(ｘ) ...))である）。そして、クライアントはｓ＝ｈａｓｈn-1(パスワード)を計算し、ｓを認証サーバへ送信する。認証サーバは、ｈａｓｈ(ｓ)＝ｈａｓｈn（パスワード）が成立するか否かを検証してクライアントを認証し、認証に成功した場合は、＜ｎ−１，ｈａｓｈn-1(パスワード)＞の組で置き換える。
【００６８】
上述の典型的なシナリオ１，２，３を再び参照し、本発明がどのように適用されるかを説明する。
【００６９】
アプリケーション・シナリオ１：
このシナリオの目的を達成するためには、Ｓが、マスター鍵ｋn、対応する世代数ｎ、及び、現在の世代数ｉを保管していれば十分である。或いは、落とし戸変数が用いられる場合は、Ｓは、現在のセッション鍵ｋi、及び、対応する世代数ｉのみを保管する必要がある。このこととは別に、Ｒは、現在のセッション鍵ｋi及び対応する世代数ｉのみを保存する必要がある。
【００７０】
アプリケーション・シナリオ２：
シナリオ１のアプリケーションに記述されたものと、同じ発明の実施形態を用いれば、Ｓがｎ、ｋn及び現在の世代数ｉを保管しており、Ｒが現在のセッション鍵ｋi及び世代数ｉを保管していれば十分である。たとえ１以上の過去の鍵の更新がなされなかった場合においても、鍵利用側において所定の一方向鍵取得関数を実装することにより、Ｒは任意の古い世代の鍵に基づいて通信を行うことができる。
【００７１】
アプリケーション・シナリオ３（図５を参照）：
本発明に係るこの実施形態は装置のコミュニティにおける鍵の管理に関し、例えば、自発的に又は自発的でなく装置がコミュニティを去る場合において、コミュニティからの装置の除外をどのように最適化するかというテーマに関する。
【００７２】
本発明は、上述の問題を軽減するものであり、Ｓ及び全ての装置ｄ1〜ｄNの記憶容量に係る要件を限定することを可能にすると同時に、先行して多数の除外がなされた場合においても、新たに追加された装置が古いデータを共有することを可能にする。本発明は、コミュニティで新たに共有される鍵を効率的に配布し、なされなかった過去の鍵更新を追跡する必要性を緩和することも可能にする。例えば、装置が一度最新の鍵世代にアクセスした場合は、装置が過去にしばらくの間停止されていて、過去の鍵更新を１以上行わなかった場合においても、その装置は、任意の古い世代に基づいて通信を行い、保護されたデータを共有することができる。
【００７３】
実際、所定の一方向鍵取得関数を実装することで、新しい鍵世代を用いるだけでなく、任意の古い鍵世代に基づいて、新しい鍵世代へのアクセスを有するグループの装置が通信することを可能にする。現実には、このことは、そのようなグループの装置は、お互いに、又は、任意の世代の鍵によって保護されたデータの提供者と、又は、新しい鍵世代へのアクセスを有しないが、古い鍵世代へのアクセスを有する装置と、通信することができることを意味する。
【００７４】
時刻ｔ2において、ｄ1はＰに問い合わせてｘ3を取得する。Ｐは、新しい鍵が必要であることを知るとＳからｋ2を取得する。ここで、Ｓは、ｋ1を取得するために行うよりも１回少ない回数、ｋnにＦを適用するか、または、ｋ1に落とし戸関数ＦTを適用して、ｋ2を生成する。そして、Ｐはｘ3をｋ2で保護し、保護されたｘ3をｄ2へ転送する。
【００７５】
ｘ3を受信すると、ｄ1はｋ2へのアクセスが必要であることを認識する。このため、装置ｄ1はＳに連絡し、おそらくは認証された後、ｋ2を受信する。この時点で、ｄ1は、その内部記憶装置でｋ1をｋ2で置き換え、ｋ2の世代数の記録を残す。
【００７６】
後にｄ1がｘ3をｄ2へ転送した場合、ｄ2は、同様に、ｋ2を取得するためにＳに連絡する必要があり、一度受信すると、その内部記憶装置のｋ1をｋ2で置き換え、その世代数の記録を残す。
【００７７】
時刻ｔ3において、ｄ2はｘ2をｄ1へ転送する。装置ｄ1は、ｘ2がｋ2よりも前の世代のｋ1で保護されているということを認識し、ｋ1に到達するために単にＦ（ｋ2,...）を適用し、続いてｘ2を復号する。
【００７８】
時刻ｔ4において、新しい装置ｄ4がドメインに登録される。装置ｄ4は、ｋ2とその世代数についての情報をＳから受信する。ここで、Ｓは、初期の鍵ｋ1についての情報を送信する必要はない。この時点の後にｄ4へ転送された、コミュニティ中の全てのデータは、（ｄ4がコミュニティのメンバーに登録されている間は、）本発明によりｄ4に判読可能となる（ｄ3は不可）。提供されるデータがｋ1のような初期の鍵で保護されている場合は、ｄ4はその鍵に到達するまでＦ（ｋ2,...）を適用する。以上で、シナリオ３の説明を終了する。
【００７９】
＜＜参考文献＞＞
【特許文献１】米国特許No. 5,666,416, 証明書取り消しシステム, Micali, S (US Patent No.5,666,416, Certificate revocation system, by Micali, S).
【特許文献２】米国特許No. 5,751,812, 反復ハッシュ関数を再初期化する、安全でないネットワーク接続上の安全なパスワードシステム, Anderson, M (US Patent No. 5,751,812, Re-initialization of an iterated hash function secure password system over an insecure network connection by Anderson, M).
【非特許文献１】ANSI X9.42-2000, 金融サービス産業のための公開鍵暗号：離散対数暗号を用いた共通鍵の共有, 全米規格協会, 2000 (ANSI X9.42-2000, Public Key Cryptography for The Financial Services Industry: Agreement of Symmetric Keys Using Discrete Logarithm Cryptography, American National Standards Institute, 2000).
【非特許文献２】安全でない通信を用いたパスワード認証, Lamport, L. Communication of the ACM 24, 11, November 1981, pp. 770-772.  Available at http://research.microsoft.com/users/lamport/pubs/password.pdf.
【非特許文献３】応用暗号のハンドブック, Handbook of Applied Cryptography, pp. 543-590, by A. Menezes, P. van Oorschot and S. Vanstone.
【非特許文献４】連邦情報処理標準出版 180-2, SECURE HASH STANDARDの規格, 2004年2月 (Federal Information Processing Standards Publication 180-2, "Specifications for the SECURE HASH STANDARD", February 2004.  Available at http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdfで取得可能.
【非特許文献５】ISO/IEC 11770-3:1999, 情報技術−セキュリティ技術−鍵管理−第３部：非対称技術を用いたメカニズム (ISO/IEC 11770-3:1999, Information technology - Security techniques - Key management - Part 3:Mechanisms using asymmetric techniques).
【非特許文献６】ANSI X9.44-2003 (Draft 6): 金融サービス業界のための公開鍵暗号：整数の因数分解に基づく暗号を用いた鍵の生成, Draft 6, 2003 (ANSI X9.44-2003 (Draft 6): Public Key Cryptography for the Financial Services Industry: Key Establishment Using Integer Factorization Cryptography, Draft 6, 2003).
【図面の簡単な説明】
【００８０】
【図１】例示的な情報環境における、典型的な、鍵生成の役割と、鍵利用の役割を示す模式図である。
【図２Ａ】本発明の好適な実施形態に係る、鍵生成側における鍵世代の生成手順を示す図である。
【図２Ｂ】本発明の他の実施形態に係る、鍵生成側における鍵世代の生成手順を示す図である。
【図３】本発明の好適な実施形態に係る、鍵利用側における古い鍵世代の取得手順を示す図である。
【図４】従来の鍵管理において、装置のコミュニティに共有される秘密鍵を鍵生成者が発行する状況を示す図である。
【図５】本発明の好適な実施形態に係る鍵管理において、装置のコミュニティに共有される秘密鍵を鍵生成者が発行する状況を示す図である。
【図１】
2007508778.tif 000003
【図２Ａ】
2007508778.tif 000004
【図２Ｂ】
2007508778.tif 000005
【図３】
2007508778.tif 000006
【図４】
2007508778.tif 000007
【図５】
2007508778.tif 000008
【国際調査報告】
2007508778.tif 000009
2007508778.tif 000010