(57)【要約】【課題】マルチ鍵暗号化生成アドレス（ＭＣＧＡ）と呼ばれるネットワークアドレスの生成方法により、ネットワークアドレスが複数のネットワークデバイスによって要求および保護されることを可能とする。【解決手段】ネットワークアドレスは、(a)上記複数のネットワークデバイスに対応する複数の公開鍵を用いて暗号化生成識別子を取得し、(b)上記暗号化生成識別子にアドレス生成関数を適用することによって生成される。アドレス生成関数は、一方向符号化関数であってもよいし、あるいは、上記アドレスの利用権限を広告又は要求する全てのホストの公開鍵を用いた暗号ハッシュであってもよい。MCGAの利用を要求するメッセージは、送信者がその秘密鍵を用いて署名したメッセージの暗号化されたダイジェストを含む。送信者の認証は、ダイジェスト関数を用いてメッセージからテストダイジェストを取得すし、暗号化されたダイジェストを復号化し、復号されたダイジェストとテストダイジェストとを比較することによって達成される。上記署名の生成には、メッセージを送信したホストの秘密鍵のみが用いられるが、上記署名の検証には、認証を要求する全てのネットワークデバイスの公開鍵が必要とされる。
2009503916.tif 000002
【特許請求の範囲】
【請求項１】
複数のネットワークデバイスに係るネットワークアドレスを生成する方法であって、
前記複数のネットワークデバイスに対応する複数の公開鍵を用いて、暗号化生成識別子を取得する工程と、
前記暗号化生成識別子にアドレス生成関数を適用して、前記ネットワークアドレスを生成する工程と
を有することを特徴とする方法。
【請求項２】
ネットワークアドレスの利用権限の要求を検証する方法であって、
暗号化生成識別子にアドレス生成関数を適用することによって生成されたネットワークアドレスと、前記暗号化生成識別子のコピーとを有するメッセージを受信する工程と、
前記メッセージから、前記暗号化生成識別子のコピーを抽出する工程と、
テスト暗号化生成識別子を取得する工程と、
前記テスト暗号化生成識別子と、抽出された前記暗号化生成識別子のコピーとを比較する工程と
を有することを特徴とする方法。
【請求項３】
第１の公開鍵に関連付けられている第１のネットワークデバイスと、
第２の公開鍵に関連付けられている第２のネットワークデバイスとを具備し、
前記第２のネットワークデバイスは、前記第１の公開鍵および前記第２の公開鍵を用いて暗号化生成識別子を取得し、
前記暗号化生成識別子とアドレス生成関数とを用いて、ネットワークアドレスを生成することを特徴とするシステム。
【請求項４】
複数のネットワークデバイスに係るネットワークアドレスを生成するためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、
前記複数のネットワークデバイスに対応する複数の公開鍵を用いて、暗号化生成識別子を取得し、
前記暗号化生成識別子にアドレス生成関数を適用して、前記ネットワークアドレスを生成する、コンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項５】
ネットワークアドレスの利用権限の要求を検証するためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、
暗号化生成識別子にアドレス生成関数を適用することによって生成されたネットワークアドレスと、前記暗号化生成識別子のコピーとを有するメッセージを受信し、
前記メッセージから、前記暗号化生成識別子のコピーを抽出し、
テスト暗号化生成識別子を取得し、
前記テスト暗号化生成識別子と、抽出された前記暗号化生成識別子のコピーとを比較する、コンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の説明）
本願は、米国仮特許出願番号第６０／６７７，７１２号（出願日：２００５年５月３日）に関連し、該出願に対する優先権を主張する。本願はまた、「マルチ鍵暗号化生成アドレスを用いたセキュアなアドレスプロキシ」と題される同時係属中の特許出願（「同時係属出願」）（出願日：本願と同一、出願者：本願の発明者ら、譲受人：本願の現譲受人）にも関連する。当該同時係属出願は、その全体が本願明細書中において参照のために援用される。
【０００２】
本発明は、コンピュータネットワーク内のノードのためのネットワークアドレスの生成に関する。特に、本発明は、ノードのためのネットワークアドレスの生成に関する。なお、当該ネットワークアドレスは、コンピュータネットワーク内の上記ノードと１つ以上の他のノードとにより、セキュアに要求および保護されるものである。
【背景技術】
【０００３】
コンピュータネットワークでは、各ネットワークアドレスが１つのネットワークノードをユニークに識別するように保証することが重要である。
【０００４】
「インターネットプロトコルにおけるアドレスメカニズム」と題される米国特許出願第2002/0133607号公報（以下「Nikander出願」）では、一方向符号化関数を用いて、インターネットプロトコル（ＩＰ）アドレスを、当該ＩＰアドレスを要求するホストに固有の１つ以上の要素から生成することが開示されている。Nikander出願において、当該ホストからのメッセージの受信者は、当該要素を用いて、ＩＰアドレスの再構成および確認を行う。当該IPアドレスの要求ホストは、認証プロトコルまたは公開鍵暗号プロトコルを用いて、メッセージデータの完全性、すなわち、上記要素と上記アドレスとの関連付けを確立する。
【０００５】
「メッセージの片方向認証のための方法およびシステム」と題される米国特許出願第2002/0152384号公報（以下「Schelest出願」）では、要求ホストの公開鍵をハッシュ化して、ＩＰバージョン６（ＩＰｖ６）アドレスを取得することが開示されている。Schelest出願では、要求ホストからのメッセージの受信者は、ＩＰｖ６アドレスのハッシュを確認し、メッセージ中の暗号署名を確認することで、そのデータの完全性を検証する。ＩＰｖ６アドレスと添付されている署名との両方が検証された場合、受信者は、当該ＩＰｖ６アドレスの所有についてのホストの要求を受け入れる。
【０００６】
「暗号に基づく識別子（ＣＢＩＤｓ）：概念および応用」（以下「Montenegro論文」）（Ｇａｂｒｉｅｌ  ＭｏｎｔｅｎｅｇｒｏおよびＣｌａｕｄｅ  Ｃａｓｔｅｌｌｕｃｉａ、  ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  ａｎｄ  Ｓｙｓｔｅｍ  Ｓｅｃｕｒｉｔｙ、２００４年２月）では、暗号化生成識別子の分野についての検討と、一つのホストがアドレスの利用権限を要求するための認証を確立する場合の当該暗号化生成識別子の利用についての検討とが行われている。
【０００７】
「モバイルＩＰにおけるアドレス化機構」と題される米国特許出願第2003/00849293号公報（以下「Arkko出願」）では、アドレスが生成される場合に、所有者ノードが、第２ノードに対して、そのＩＰアドレスに対する責任を委譲することが開示されている。Arkko出願では、ＩＰアドレスは、上記Nikander出願またはSchelest出願に開示される方法を用いて、暗号化生成されてもよい。Arkko出願に記載の方法によれば、所有者ノードは、第二ノードから、公開鍵・秘密鍵ペアのうちの公開鍵を取得し、取得した公開鍵に所有者ノード自身の秘密鍵を用いて署名することによって、認証証明書を生成する。その後、認証証明書は、第二ノードに提供する。なお、当該第二ノードは、当該認証証明書を、所有者ノードのＩＰアドレスに係るメッセージに含めて配信してもよい。第二ノードは、当該第二ノードの秘密鍵を用いて、当該認証証明書を含むメッセージに署名する。受信者ノードは、第二ノードの公開鍵を用いて当該メッセージを検証し、また、所有者ノードの公開鍵を用いて認証証明書を検証する。アドレスの暗号化ハッシュによって、所有者ノードのアドレスに対する権限が検証され、認証証明書内の検証された第二ノードの公開鍵によって、所有者ノードに代わって第二ノードがメッセージを送信する権限が確立される。
【０００８】
IETF Request for Comment (RFC) 3972（Thomas Aura、２００５年３月）では、暗号的にＩＰｖ６アドレスの生成し、近隣探索プロトコル（ＲＦＣ２４６１およびＲＦＣ２４６２）におけるＩＰｖ６アドレスの認証の要求をセキュアにすることが開示されている。ＩＰｖ６アドレスは、所有者ノードの公開鍵の暗号化ハッシュと付加的情報との両方を用いて生成される。６４ビットの暗号化ハッシュは、ＩＰｖ６アドレスのインターフェース識別子として機能する。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
以上から、Nikander出願、Schelest出願、Montenegro論文、ＲＦＣ３９２７およびＲＦＣ３９７１が関連しているのは、ネットワークアドレスを利用するための認証が一つのホストによって要求される場合にすぎない。しかしながら、一つ以上のホストによるアドレスの利用を認証することが必要である場合も多い。モバイルＩＰｖ６ネットワークおよびＤＨＣＰの適用では、いくつかの例がある。
【００１０】
モバイルＩＰｖ６ネットワークにおいては、モバイルノードに割り当てられるホームネットワーク上のホームアドレスを用いて、当該モバイルノードに到達することができる。ホームアドレスは、モバイルノードがインターネット上のどこに位置するかに関係なく、変化しない。モバイルノードがホームサブネット外のリモートサブネットにある場合、「ホームエージェント」（例えば、モバイルノードのホームサブネット上のルータ）は、ホームアドレス宛てのメッセージを、リモートサブネット内のローカルアドレスである「気付」アドレスに転送する。モバイルノードがホームネットワーク外にある場合、当該モバイルノードのホームアドレスを他者が要求するのを防ぐために、ホームエージェントは、当該モバイルノードのホームアドレスをプロキシ又は保護しなければならない。しかしながら、モバイルノードが、その公開鍵に関連付けられている暗号化識別子を用いてホームアドレスを生成する場合、セキュアに保護できるのはホームアドレスのみである。ホームエージェントによるプロキシ保護は、セキュリティなしに行われなければならない。
【００１１】
ＩＰｖ６近隣探索プロトコルによれば、ホストのアドレスがＤＨＣＰ（Dynamic host configuration protocol）サーバから取得されたとしても、ホストは、依然としてネットワーク上において、当該アドレスを要求および保護する必要がある。しかしながら、上記アドレスはＤＨＣＰサーバによってホストの公開鍵なしで生成されているため、暗号化生成アドレスを用いて、上記要求および保護をセキュアに行うことはできない。また、上記アドレスはホストによって生成されたものではないため、当該ホストは、秘密鍵を用いて当該アドレスに関係するメッセージに署名することもできない。
【００１２】
一方、Arkko出願では、所有者ノードがそのアドレスの広告および保護を他者に委譲することが開示されているが、Arkko出願における解決法は煩雑なものである。Arkko出願では、所有者ノードと委譲されたノードとの両方の公開鍵に加えて、属性証明書も必要となる。アドレスを生成した後、属性証明書は、所有者ノードにより委譲されたノードに送られる。Arkko出願に記載されているように、Arkko出願における解決法によれば、要求者が、所有者ノードであるか、または委譲されたノードであるかを特定する。この情報は、所有者ホストの位置または所有者ホストに関するその他の情報を推定するために攻撃者によって利用される可能性がある。
【課題を解決するための手段】
【００１３】
本発明は、複数のネットワークデバイスによって要求および保護されること可能なネットワークアドレスを生成する方法を提供する。このようなネットワークアドレスを、マルチ鍵暗号化生成アドレス（ＭＣＧＡ）と呼ぶ。本発明の一実施形態によれば、上記ネットワークアドレスは、(a)上記複数のネットワークデバイスに対応する複数の公開鍵を用いて、暗号化生成識別子を取得する工程と、(b)上記暗号化生成識別子にアドレス生成関数を適用する工程とにより、生成される。上記アドレス生成関数は、一方向符号化関数であってもよいし、あるいは、上記アドレスの利用権限を広告又は要求する全てのホストの公開鍵を用いた暗号ハッシュであってもよい。
【００１４】
一実施形態において、上記ネットワークアドレスの利用権限を要求するメッセージが、上記複数のネットワークデバイスのうちの１つから送信される。上記メッセージは、上記送信側ネットワークデバイスがその秘密鍵を用いて署名したメッセージのダイジェストを含む。リング署名などのマルチ鍵署名を用いて、上記アドレスの利用権限を要求するメッセージあるいは他の動作を要求するメッセージに対して暗号的に署名してもよい。あるいは、上記メッセージの署名を、上記ネットワークアドレスの生成に用いられる複数の公開鍵に対応する複数の秘密鍵を用いて行うこともでき、上記メッセージは、上記署名の正当性を検証するために用いられる公開鍵を示すことができる。このようなメッセージは、例えば、ネットワークアドレスに対して行われるルーティングの変更を示してもよい。ＭＣＧＡは、パケットの送信元および宛先アドレスとしても用いてもよいし、メッセージ中に含まれていてもよい。
【００１５】
上記送信側ネットワークデバイスによる上記ネットワークアドレスの利用権限の要求を検証するため、上記メッセージの受信者は、上記ネットワークアドレスを検証する。一実施形態において、上記ネットワークアドレスを検証するため、上記受信者は、上記メッセージ中に含まれる暗号化生成識別子のコピーを上記ネットワークアドレスから抽出する。上記受信者はまた、上記暗号化生成識別子の取得方法に基づいて、上記複数の公開鍵からテスト暗号化生成識別子を生成する。上記受信者は、上記テスト暗号化生成識別子と、上記抽出された暗号化生成識別子のコピーとを比較する。
【００１６】
一実施形態において、上記暗号化生成識別子は、上記複数のネットワークデバイスに対応する複数の公開鍵を用いて生成される。上記テスト暗号化生成識別子は、これらの公開鍵の全てを用いて生成される。
【００１７】
一実施形態において、上記メッセージは、上記複数のネットワークデバイスのうちの１つに対応する秘密鍵を用いて暗号化されたメッセージの暗号化されたダイジェストをさらに含む。上記メッセージの送信者の認証は、上記ダイジェスト関数を用いて上記メッセージからテストダイジェストを取得する工程と、上記暗号化されたダイジェストを復号化する工程と、上記復号化されたダイジェストと上記テストダイジェストと比較する工程とにより、達成可能である。上記署名の生成には、上記メッセージを送信したホストの秘密鍵のみが用いられるが、上記署名の検証には、認証を要求する全てのネットワークデバイスの公開鍵が必要とされる。
【００１８】
従来技術と異なり、所有者および委譲先のホスト双方がネットワークアドレスを要求および保護することができる場合、本発明は、アドレス生成前に、上記ホストおよび上記委譲されるホストの公開鍵しか必要としない。上記委譲先ホストに上記ネットワークアドレスを通知するために、上記所有者と上記委譲先ホストとの間におけるセキュアな通信は不要である。上記所有者および上記委譲先ホストは、各々、自身の秘密鍵を用いて、上記アドレスの利用権限を要求するメッセージに署名することができる。どのノードが特定時刻に上記ネットワークアドレスを保護する責任を持つかに関する調整は、他のいくつかのプロトコル（例えば、モバイルＩＰプロトコルまたはＤＨＣＰ）を用いて、確立され得る。本発明の一実施形態によれば、匿名性を保全するマルチ鍵署名アルゴリズムと共に用いられると、上記ネットワークアドレスは、どれが上記所有者でありどれが上記委譲先ホストであるかを特定することがない。
【００１９】
一実施形態において、上記アドレスの認証を要求するメッセージを受信したネットワークノードは、先ず、上記メッセージが一方向符号化関数または上記複数の公開鍵の暗号ハッシュを用いて生成されたものであるかについて確認することにより、上記アドレスを確認する。その後、上記ネットワークノードは、上記複数の公開鍵を用いて上記署名を確認する。これら２つの確認が成功した場合、上記受信側ノードは、上記送信者が上記アドレスの利用を認証されたノードのうちの１つであり、上記要求された動作を行っても安全であることを知る。
【００２０】
よって、本発明は、１つ以上のネットワークデバイスが、アドレス利用権限の認証をセキュアに要求することを可能にする。受信側ネットワークデバイスによる上記マルチ鍵暗号化生成アドレス及び上記メッセージに対する署名の検証により、上記認証要求の真正性が確立される。
【発明を実施するための最良の形態】
【００２１】
本発明は、本発明および添付図面を鑑みれば、より良く理解される。
【００２２】
本発明は、ネットワークデバイスがネットワークアドレスを生成することを可能にする。当該ネットワークアドレスは、複数のデバイスによって利用権限の認証が要求されるものである。本発明は、例えば図４に示すコンピュータネットワークに適用可能である。図４では、ネットワークデバイスｄ１、…、ｄｎは、ネットワーク４０を介して通信している。ネットワークデバイスｄ１、…、ｄｎのうちいくつかは、本発明に従って、ネットワーク４０中のアドレスの利用権限を要求する。図１は、デバイスｄ１がデバイスｄ１、…、ｄｎの公開鍵ｐｋ１〜ｐｋｎ、暗号化識別子生成パラメータ、およびアドレススペースパラメータからマルチ鍵暗号化生成アドレス（ＭＣＧＡ）を計算する動作を示すフローチャート１００である。デバイスｄ１、…、ｄｎは、ＭＣＧＡの利用権限を要求する。
【００２３】
フローチャート１００のステップ１０１に示すように、ネットワーク接続されたデバイス（例えば、ｄ１）は、生成される上記ネットワークアドレスの利用権限の認証を要求する、他のデバイスｄ２、…、ｄｎの公開鍵ｐｋ２〜ｐｋｎを取得する。ステップ１０２において、デバイスｄ１は、自身の公開鍵と上記取得された公開鍵とを用いて、以下の一方向符号化関数ＣＯＤＥ−Ｆ（例えば、暗号ハッシュ関数）を用いて、暗号化生成識別子ｃｉｄを生成する。
【数１】
2009503916.tif 000003
【００２４】
ここで、ｘは、付加的なエントロピーまたはユニーク性を提供するかまたは上記アドレスまたはその生成に関わる特有の条件を示す１つ以上の他のパラメータである。
【００２５】
ステップ１０３において、デバイスｄ１のネットワークアドレスｎｅｔ−ａｄｄｒが、上記暗号化生成識別子ｃｉｄと、上記ネットワークのアドレススペース（例えば、ＩＰｖ６アドレス、ＩＰｖ４アドレス、ＩＥＥＥ８０２ＭＡＣアドレス）に適切なアドレス生成関数ａｄｄｒ−ｆとを用いて生成される。
【数２】
2009503916.tif 000004
【００２６】
ここで、ｙは、上記ネットワークアドレススペースに特有である、或いはｃｉｄを有効なネットワークアドレスに変換するために必要とされる生成方法に特有の１つ以上のパラメータである。
【００２７】
例えば、ＩＰｖ６ネットワークにおいて、適切なネットワークアドレスＩＰｖ６−ａｄｄｒは、以下の暗号ハッシュ関数ＨＭＡＣ−ＳＨＡｌを用いて生成される。
【数３】
2009503916.tif 000005
【数４】
2009503916.tif 000006
【００２８】
ここで、｜はビット単位の連結関数であり、ＩＰｖ６＿ｐｒｅｆｉｘは、６４ビットのサブネットプレフィックスである。Ｂｔｒｕｃ６４は、その引数の下位６４ビットを抽出する関数であり、Ｓｋは、ゼロビットのストリング上の秘密鍵によって導出されるデジタル署名である。
【００２９】
図２は、デバイスｄ１が、ＭＣＧＡの利用権限を要求するメッセージｍに署名する動作を示すフローチャート２００である。ＭＣＧＡ生成後、デバイスｄ１は、ネットワークプロトコルメッセージｍｓｇを送信する。メッセージｍｓｇの受信者は、デバイスｄ１に対して、上記アドレスの利用権限を証明するように要求する。利用権限を証明するために、デバイスｄ１は、マルチ鍵または単一鍵のデジタル署名計算関数ＳＩＧＮ（例えば、リング署名関数、または単一鍵署名関数）を用いて、上記メッセージに対するデジタル署名ｓｉｇを生成する。先ずステップ２０１において、メッセージｍｓｇのデジタルダイジェストが取得される
【数５】
2009503916.tif 000007
【００３０】
ステップ２０２において、上記生成されたダイジェストが署名される。
【数６】
2009503916.tif 000008
【００３１】
ここで、ｐｖｋｉは、ｐｋ１／ｐｖｋ１鍵の対（例えば、標準的なＲＳＡ公開鍵／秘密鍵の対）の秘密鍵である。
【００３２】
ステップ２０３において、上記署名されたダイジェストと、上記ネットワークアドレスの全要求者の公開鍵ｐｋ１〜ｐｋｎと、上記暗号化識別子生成パラメータとが、メッセージｍｓｇ中に収容される。
【００３３】
一実施形態において、メッセージｍのためのリング署名ｒｓが用いられてもよい。上記したＤＩＧＥＳＴ−Ｆは、ｄビットのストリングを出力する「衝突耐性」ハッシュ関数であると仮定する（「衝突耐性」とは、暗号分野において用いられる用語であり、ｘはｙと等しくなくかつＤＩＧＥＳＴ−Ｆ（ｘ）＝ＤＩＧＥＳＴ−Ｆ（ｙ）とすることで、ストリングｘおよびｙを発見するのが演算的に「困難である」ことを意味する）。ここで、Ｅを、dビットの鍵を用い、かつbビットの入力および出力を有する暗号化スキームであるとする（我々は、ｂに以下の付加的条件を課した）。なお、ｔは、（例えばｔ＝８０である）パラメータを示す。また、°は、ＸＯＲ関数を示す。
【００３４】
上記リング署名中の公開鍵は、ＲＳＡ中の公開鍵と同一である。すなわち、ｐｋ（ｉ）＝（Ｎ（ｉ）、ｅ（ｉ））であり、Ｎ（ｉ）は、２つの大きな素数ｐ（ｉ）およびｑ（ｉ）の積である大きな（例えば、１０２４ビットの）合成整数であり、ｅ（ｉ）は、（ｐ（ｉ）−１）（ｑ（ｉ）−１）に対して互いに素である整数である。ここで、ｂを、全てのｉについて２ｂ＞２１Ｎ（ｉ）となるような整数であるとする。
【００３５】
上記リング署名は、以下のようにして生成される。ｐｋ（ｉ）を「実際の」署名者の公開鍵とする。署名者は、以下を行う。
【００３６】
１．対称暗号化鍵ｋをＤＩＧＥＳＴ−Ｆ（ｍ）に設定する。ここで、ｍは、署名されるべきメッセージである。
【００３７】
２．ランダムなbビットのストリングｖを選択する。
【００３８】
３．添え字ｊが１からnとなるまで以下の処理を繰り返す（ｊがｉと等しくない場合を除く）
ａ．ランダムなbビットのストリングｘｊを選択する。
【００３９】
ｂ．間隔［０，Ｎ（ｊ）］におけるｒｊのために
【数７】
2009503916.tif 000009
【００４０】
となるように、（ｑｊ，ｒｊ）を演算する。
【００４１】
ｃ．間隔［０，Ｎ（ｊ）］におけるｙｊ’のために、
【数８】
2009503916.tif 000010
【００４２】
を演算する。
【００４３】
ｄ．
【数９】
2009503916.tif 000011
【００４４】
を設定する。
【００４５】
ｅ．ｙｊが２ｂ以上である場合、ステップ３ａへ進む。
【００４６】
４．
【数１０】
2009503916.tif 000012
【００４７】
となるように、ｙｊを演算する。
【００４８】
５．間隔［０，Ｎ（ｉ）］におけるｒiのために
【数１１】
2009503916.tif 000013
【００４９】
となるように、（ｑi，ｒi）を演算する。
【００５０】
６．間隔［０，Ｎ（ｉ）］におけるｘiのために、
【数１２】
2009503916.tif 000014
【００５１】
を演算する。
【００５２】
７．
【数１３】
2009503916.tif 000015
【００５３】
を設定する。
【００５４】
８．ｘiが２ｂ以上である場合、ステップ３へ進む。
【００５５】
９．リング署名（ｘ１，…，ｘｎ，ｖ）を出力する。
【００５６】
上記において、ｔが十分に大きい場合、ｙｊまたはｘiは許容範囲である［０，２ｂ］からはみ出るため、署名生成アルゴリズムがステップ３ｅまたはステップ８において中断する確率は、無視できる位に小さい。上記のステップ４の署名生成については、以下に留意されたい。
【数１４】
2009503916.tif 000016
【００５７】
一般的に、デバイスｉは、署名ｓｉｇと、アドレス生成パラメータｘ（必要な場合のみ）、公開鍵ｐｋ１〜ｐｋｎと、アドレスｎｅｔ−ａｄｄｒとを、当該アドレスの利用権限を要求するメッセージｍｓｇ中に挿入する。
【００５８】
図３は、受信側デバイスが、ＭＣＧＡの利用権限の要求を含むメッセージｍの検証する動作を示すフローチャート３００である。ステップ３０１において、メッセージｍｓｇの受信側デバイスは、先ずアドレス計算を繰り返してテスト暗号化生成識別子を取得することにより、アドレスｎｅｔ−ａｄｄｒの利用権限の認証を確認する。同時に、暗号化生成識別子ｃｉｄは、メッセージｍｓｇ内のアドレスから抽出される（ステップ３０２）。その後、暗号化生成識別子ｃｉｄと上記テスト暗号化生成識別子とを比較して、要求されたアドレスが、公開鍵ｐｋ１〜ｐｋｎおよびアドレス生成パラメータｘを用いて生成可能であるか否かを判定する（ステップ３０３）。上記判定が失敗した場合（すなわち、上述の暗号化生成識別子が一致しない場合）、メッセージｍｓｇは拒否される。
【００５９】
その後、ステップ３０５〜３０８において、受信側デバイスは、公開鍵ｐｋ１〜ｐｋｎとマルチ鍵検証関数ＶＥＲＩＦＹとを用いて、署名ｓｉｇを確認する。
【数１５】
2009503916.tif 000017
【００６０】
関数ＶＥＲＩＦＹは、先ず（ステップ３０４において）上記複数の公開鍵と上記メッセージの内容とを用いて、メッセージｍｓｇのテストダイジェストを抽出する。上記メッセージｍｓｇ中の署名されたダイジェストは、上記複数の公開鍵の適用により、復号化される。その後、上記復号化されたダイジェストと上記テストダイジェストとを比較する（ステップ３０５）。上記署名が検証できない場合、関数ＶＥＲＩＦＹはｖを１として返答する（ステップ３０６）。そうではない場合、関数ＶＥＲＩＦＹはｖを０として返答する（ステップ３０７）。
【００６１】
リング署名では、上記例におけるメッセージｍ中のリング署名ｒｓ（ｘ１，…，ｘｎ，ｖ）の検証は、以下のようにして計算される。
【００６２】
１．対称暗号化鍵ｋをＤＩＧＥＳＴ−Ｆ（ｍ）と設定する。ここで、ｍは、署名されるべきメッセージである。
【００６３】
２．添え字ｊが１からnとなるまで以下の処理を繰り返す
ａ．間隔［０，Ｎ（ｊ）］におけるｒｊのために、
【数１６】
2009503916.tif 000018
【００６４】
となるように、（ｑｊ，ｒｊ）を演算する。
【００６５】
ｂ．間隔［０，Ｎ（ｉ）］におけるｙｊ’のために、
【数１７】
2009503916.tif 000019
【００６６】
を演算する。
【００６７】
ｃ．
【数１８】
2009503916.tif 000020
【００６８】
を設定する。
【００６９】
３．
【数１９】
2009503916.tif 000021
【００７０】
であることを確認する。
【００７１】
上記の詳細な説明は、本発明の特定の実施形態を示すためのものであり、限定的なものを意図していない。本発明の範囲内において多数の改変および変更が可能である。本発明は、添付図面において、説明される。
【図面の簡単な説明】
【００７２】
【図１】デバイスｄｉが、デバイスｄ１、…、ｄｎの公開鍵ｐｋ１〜ｐｋｎ、暗号化識別子生成パラメータ、およびアドレススペースパラメータからマルチ鍵暗号化生成アドレス（ＭＣＧＡ）を計算する動作を示すフローチャート１００である。
【図２】デバイスｄｉが、ＭＣＧＡの利用権限を要求するメッセージｍに署名する動作を示すフローチャート２００である。
【図３】受信側デバイスが、ＭＣＧＡの利用権限を要求するメッセージｍを検証する動作を示すフローチャート３００である。
【図４】は、ネットワーク４０を介して通信するネットワークデバイスｄ１、…、ｄｎを示し、ネットワークデバイスｄ１、…、ｄｎのうちいくつかは、本発明に従って、ネットワーク４０におけるアドレスの利用権限を要求することを示す図である。
【図１】
2009503916.tif 000022
【図２】
2009503916.tif 000023
【図３】
2009503916.tif 000024
【図４】
2009503916.tif 000025
【手続補正書】
【提出日】平成20年1月7日(2008.1.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のネットワークデバイスに係るネットワークアドレスを生成する方法であって、
前記複数のネットワークデバイスに対応する複数の公開鍵を用いて、暗号化生成識別子を取得する工程と、
前記暗号化生成識別子にアドレス生成関数を適用して、前記ネットワークアドレスを生成する工程と
を有することを特徴とする方法。
【請求項２】
前記アドレス生成関数は、一方向符号化関数および複数の公開鍵を用いた暗号ハッシュ関数から選択されることを特徴とする請求項１に記載の方法。
【請求項３】
メッセージのダイジェストを生成する工程と、
前記複数のネットワークデバイスのうちの１つに対応する秘密鍵を用いて、前記メッセージのダイジェストに署名する工程と
を有することを特徴とする請求項１に記載の方法。
【請求項４】
前記署名工程は公開鍵署名を生成することを特徴とする請求項３に記載の方法。
【請求項５】
ネットワークアドレスの利用権限の要求を検証する方法であって、
暗号化生成識別子にアドレス生成関数を適用することによって生成されたネットワークアドレスと、前記暗号化生成識別子のコピーとを有するメッセージを受信する工程と、
前記メッセージから、前記暗号化生成識別子のコピーを抽出する工程と、
テスト暗号化生成識別子を取得する工程と、
前記テスト暗号化生成識別子と、抽出された前記暗号化生成識別子のコピーとを比較する工程と
を有することを特徴とする方法。
【請求項６】
前記暗号化生成識別子は、複数のネットワークデバイスに対応する複数の公開鍵を用いて生成されることを特徴とする請求項５に記載の方法。
【請求項７】
前記メッセージは、前記メッセージの暗号化されたダイジェストをさらに含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記メッセージのダイジェストは、複数のネットワークデバイスのうちの１つに対応する秘密鍵を用いて暗号化されることを特徴とする請求項７に記載の方法。
【請求項９】
前記メッセージからテストダイジェストを取得する工程と、
前記暗号化されたダイジェストを復号化する工程と、
前記復号化されたダイジェストと前記テストダイジェストとを比較する工程と
をさらに有することを特徴とする請求項７に記載の方法。
【請求項１０】
第１の公開鍵に関連付けられている第１のネットワークデバイスと、
第２の公開鍵に関連付けられている第２のネットワークデバイスとを具備し、
前記第２のネットワークデバイスは、前記第１の公開鍵および前記第２の公開鍵を用いて暗号化生成識別子を取得し、
前記暗号化生成識別子とアドレス生成関数とを用いて、ネットワークアドレスを生成することを特徴とするシステム。
【請求項１１】
前記アドレス生成関数は、一方向符号化関数および複数の公開鍵を用いた暗号ハッシュ関数から選択されることを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記第２のネットワークデバイスは、メッセージのダイジェストを生成し、前記第２の公開鍵に対応する秘密鍵を用いて、前記メッセージのダイジェストに署名することを特徴とする請求項１０に記載のシステム。
【請求項１３】
前記署名工程は公開鍵署名を生成することを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記第２のネットワークデバイスは、前記第１のネットワークデバイスへのメッセージの中に、前記ネットワークアドレスと前記暗号化生成識別子とを含ませ、
前記第１のネットワークデバイスは、前記メッセージを受信すると、
（１）前記暗号化生成識別子のコピーを前記メッセージから抽出し、
（２）前記複数の公開鍵および前記アドレス生成関数を用いて、テスト暗号化生成識別子を取得し、
（３）前記テスト暗号化生成識別子と、前記抽出された暗号化生成識別子のコピーとを比較することを特徴とする請求項１０に記載のシステム。
【請求項１５】
前記暗号化生成識別子は、前記複数のネットワークデバイスに対応する複数の公開鍵を用いて生成されることを特徴とする請求項１４に記載のシステム。
【請求項１６】
前記メッセージは、前記メッセージの暗号化されたダイジェストをさらに含むことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記メッセージのダイジェストは、前記複数のネットワークデバイスのうちの１つに対応する秘密鍵を用いて暗号化されることを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記第１のネットワークデバイスは、
（ａ）前記メッセージからテストダイジェストを取得し、前記暗号化されたダイジェストを復号化し、前記復号化されたダイジェストと前記テストダイジェストとを比較することを特徴とする請求項１６に記載のシステム。
【請求項１９】
複数のネットワークデバイスに係るネットワークアドレスを生成するためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、
前記ネットワークデバイスに対応する公開鍵を用いて、暗号化生成識別子を取得し、
前記暗号化生成識別子にアドレス生成関数を適用して、前記ネットワークアドレスを生成する、コンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項２０】
前記アドレス生成関数は、一方向符号化関数および複数の公開鍵を用いた暗号ハッシュ関数から選択されることを特徴とする請求項１９に記載のコンピュータ可読媒体。
【請求項２１】
メッセージのダイジェストを生成し、
前記ネットワークデバイスのうちの１つに対応する秘密鍵を用いて、前記メッセージのダイジェストに署名する、コンピュータ実行可能命令をさらに有することを特徴とする請求項１９に記載のコンピュータ可読媒体。
【請求項２２】
前記署名工程は、マルチ鍵署名を生成することを特徴とする請求項２１に記載のコンピュータ可読媒体。
【請求項２３】
ネットワークアドレスの利用権限の要求を検証するためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、
暗号化生成識別子にアドレス生成関数を適用することによって生成されたネットワークアドレスと、前記暗号化生成識別子のコピーとを有するメッセージを受信し、
前記メッセージから、前記暗号化生成識別子のコピーを抽出し、
テスト暗号化生成識別子を取得し、
前記テスト暗号化生成識別子と、抽出された前記暗号化生成識別子のコピーとを比較するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項２４】
前記暗号化生成識別子は、複数のネットワークデバイスに対応する複数の公開鍵を用いて生成されることを特徴とする請求項２４に記載のコンピュータ可読媒体。
【請求項２５】
前記メッセージは、前記メッセージの暗号化されたダイジェストをさらに含むことを特徴とする請求項２３に記載のコンピュータ可読媒体。
【請求項２６】
前記メッセージのダイジェストは、複数のネットワークデバイスのうちの１つに対応する秘密鍵を用いて暗号化されることを特徴とする請求項２５に記載のコンピュータ可読媒体。
【請求項２７】
前記メッセージからテストダイジェストを取得し、
前記暗号化されたダイジェストを復号化し、前記復号化されたダイジェストと、前記テストダイジェストとを比較するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項１９に記載のコンピュータ可読媒体。
【国際調査報告】
2009503916.tif 000026