(57)【特許請求の範囲】
【請求項１】
固有の識別子を有したデバイスと、固有の識別子を有し少なくとも１台のデバイスが接続されるとともにデバイスとの間で通信が可能な分散認証サーバと、デバイスおよび分散認証サーバとの間で通信が可能であってデバイスおよび分散認証サーバに共通の秘密鍵を配布する認証サーバとを有する通信システムにおいて、認証サーバが秘密鍵を配布する方法であって、認証サーバが分散認証サーバとの間の通信に用いる第１の配布用秘密鍵と認証サーバがデバイスとの間の通信に用いる第２の配布用秘密鍵とを認証サーバが事前秘密鍵を用いてデバイスと分散認証サーバとにそれぞれ配布する第１過程と、分散認証サーバが第１のノンス値を生成してデバイスへ送信する第２過程と、デバイスが第２のノンス値を生成するとともに分散認証サーバから受信した第１のノンス値と第２のノンス値とに基づいて生成したメッセージ認証のデータを第２の配布用秘密鍵で暗号化した値および第２のノンス値をメッセージとして分散認証サーバに送信する第３過程と、分散認証サーバがデバイスからメッセージを受信した場合にデバイスからのメッセージに含まれる第２のノンス値と第１のノンス値とに基づいて生成したメッセージ認証のデータを第１の配布用秘密鍵で暗号化した値と、メッセージ認証のデータを第２の配布用秘密鍵で暗号化した値とを認証サーバへ送信する第４過程と、認証サーバが第１の配布用秘密鍵で分散認証サーバが生成したメッセージ認証のデータを復号しかつ第２の配布用秘密鍵でデバイスが生成したメッセージ認証のデータを復号し、両メッセージ認証のデータが一致した場合に分散認証サーバとデバイスとに共通に与える秘密鍵を生成し、当該秘密鍵を第１の配布用秘密鍵で暗号化した第１のメッセージと当該秘密鍵を第２の配布用秘密鍵で暗号化した第２のメッセージとを分散認証サーバに送信する第５過程と、分散認証サーバが第１のメッセージを第１の配布用秘密鍵で復号化することにより秘密鍵を取得するとともに、第２のメッセージをデバイスに転送する第６過程と、デバイスが第２のメッセージを第２の配布用秘密鍵で復号化することにより秘密鍵を取得する第７過程とを有することを特徴とする秘密鍵配布方法。
【請求項２】
前記デバイスは、前記分散認証サーバと共通の事前秘密鍵を用いて分散認証サーバと通信することにより分散認証サーバとの通信に用いるセッション鍵を分散認証サーバから取得し、前記第２過程と前記第３過程と前記第６過程とにおける分散認証サーバとデバイスとの間の通信は、セッション鍵を用いて暗号化されることを特徴とする請求項１記載の秘密鍵配布方法。
【請求項３】
前記第３過程および前記第４過程で用いるメッセージ認証のデータは、前記セッション鍵による鍵付きのメッセージ認証コードであることを特徴とする請求項２記載の秘密鍵配布方法。
【請求項４】
前記分散認証サーバおよび前記デバイスにおける前記事前秘密鍵は、分散認証サーバおよびデバイスの製造者が管理する鍵発行装置により分散認証サーバおよび各デバイスに登録され、さらに鍵発行装置は、前記認証サーバに分散認証サーバおよび各デバイスの事前秘密鍵と識別子とを関係付けて登録することを特徴とする請求項１〜３のいずれか１項に記載の秘密鍵配布方法。
【請求項５】
前記第３過程および前記第４過程で用いるメッセージ認証のデータは、第１のノンス値および第２のノンス値から求めたハッシュ値を用いることを特徴とする請求項１記載の秘密鍵配布方法。
【請求項６】
前記第３過程および前記第４過程で用いるメッセージ認証のデータは、第１のノンス値および第２のノンス値をそのまま用いることを特徴とする請求項１記載の秘密鍵配布方法。
【請求項７】
固有の識別子を有したデバイスと、固有の識別子を有し少なくとも１台のデバイスが接続されるとともにデバイスとの間で通信が可能な分散認証サーバと、デバイスおよび分散認証サーバとの間で通信が可能であってデバイスおよび分散認証サーバに共通の秘密鍵を配布する認証サーバとを有し、分散認証サーバとデバイスとは、それぞれノンス値を生成するノンス生成手段を備え、デバイスは、分散認証サーバから受信したノンス値と自己のノンス値とのハッシュ値および自己のノンス値を分散認証サーバに送信する第１の認証コード送信手段を備え、分散認証サーバは、デバイスから受信したノンス値と自己のノンス値とのハッシュ値およびデバイスから受信したハッシュ値とを認証サーバに送信する第２の認証コード送信手段を備え、認証サーバは、デバイスと分散認証サーバとに認証サーバとの通信にそれぞれ用いる第１および第２の配布用秘密鍵を配布する第１の秘密鍵配布手段と、分散認証サーバから受信した２つのハッシュ値を比較する比較手段と、比較手段による比較結果が一致しているときに分散認証サーバとデバイスとに共通に与える秘密鍵を生成する秘密鍵生成手段と、秘密鍵を第１の配布用秘密鍵を用いて暗号化して分散認証サーバに配布するとともに秘密鍵を第２の配布用秘密鍵を用いて暗号化して分散認証サーバを介してデバイスに配布する第２の秘密鍵配布手段とを備えることを特徴とする秘密鍵配布システム。
【請求項８】
前記分散認証サーバおよび前記デバイスの製造者が管理し前記事前秘密鍵を発行する鍵発行装置を備え、鍵発行装置は、発行した事前秘密鍵を分散認証サーバおよび各デバイスに登録するとともに、前記認証サーバに分散認証サーバおよび各デバイスの事前秘密鍵と識別子とを関係付けて登録することを特徴とする請求項７記載の秘密鍵配布システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘密鍵配布方法、秘密鍵配布システムに関するものである。
【背景技術】
【０００２】
一般に、コンピュータ通信において、通信に関わるデバイスをグループに分けることが必要になる場合がある。ここに、デバイスは、１個の固有の識別情報を持つ装置を意味するが、物理的な１台の装置に対応するとは限らず、１台の装置に複数のデバイスが存在する場合もある。
【０００３】
いま、宅内に配置された各機器に通信機能を設け、各機器がデバイスである場合を例として説明する（１台の機器に複数のデバイスが存在する場合もあるが、以下では、説明を簡単にするために機器とデバイスとが一対一に対応しているものとする）。宅内のデバイスが行う通信の内容は、宅外から制限なく監視できるものであってはならず、また宅内の各デバイスは他家のデバイスとは区別しなければならない。前者の技術的課題は暗号化技術を用いることによって解決され、後者の技術的課題は暗号化や復号化に用いる鍵（情報）を宅内のデバイスというグループ単位で管理することによって解決される。
【０００４】
たとえば、グループごとのデバイスに秘密鍵（共通鍵）を設定すれば、グループ単位での通信が可能になり、他者による通信内容の傍受を禁止することができる。このような秘密鍵は、デバイス間において暗号による通信を開始する前に、通信環境に応じたグループを形成するように、各デバイスに設定しなければならない。
【０００５】
いま、図７に示すように、６台のデバイスＡ〜Ｆが宅内に存在し、これらのデバイスＡ〜Ｆによりグループを構成する場合について考察する。図示例はスター接続を採用しているが、接続形態はバス接続など他の形態でもよい。
【０００６】
いま、デバイスＦがグループ内のすべてのデバイスＡ〜Ｅと秘密鍵を用いて通信するには、まずデバイスＡ〜Ｆ間の通信を可能とするために、各デバイスＡ〜Ｆにそれぞれ固有の識別情報（以下では、固有の識別情報としてＩＰアドレスを用いるものとする）ＩＰａ〜ＩＰｆを割り振る必要がある。
【０００７】
各デバイスＡ〜ＦにＩＰアドレスＩＰａ〜ＩＰｆを割り振った後には、デバイスＦはデバイスＡ〜Ｅとの間で通信が可能になるから、デバイスＦと他のデバイスＡ〜Ｅとの間の通信に用いる秘密鍵Ｋａ〜Ｋｅを、各デバイスＡ〜ＦのＩＰアドレスＩＰａ〜ＩＰｆに対応付けてそれぞれ設定することができる。このような秘密鍵Ｋａ〜Ｋｅを設定すると、デバイスＦは他の各デバイスＡ〜Ｅとそれぞれ秘密鍵Ｋａ〜Ｋｅを共通に持つから、秘密鍵Ｋａ〜Ｋｅの個数は、（デバイスの台数−１）個になる。
【０００８】
ＩＰアドレスＩＰａ〜ＩＰｆおよび秘密鍵Ｋａ〜Ｋｅを手作業で設定する場合だけではなく、秘密鍵Ｋａ〜Ｋｅを鍵配布サーバから配布する場合も同様である（たとえば、特許文献１参照）。たとえば、ケルベロス（Kerberos）やクリプトナイト（KryptoKnight）と称する鍵配布の技術を利用すれば、デバイスＡ〜ＥにＩＰアドレスＩＰａ〜ＩＰｅが割り振られた後に、各デバイスＡ〜Ｅが鍵配布サーバであるデバイスＦと通信することにより、各デバイスＡ〜Ｅにおいて秘密鍵Ｋａ〜Ｋｅを取得することが可能になる。
【特許文献１】特開２００８−２７３８５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、秘密鍵Ｋａ〜Ｋｅを各デバイスＡ〜Ｅに設定（配布の場合も含めて設定という）するにあたっては、グループとして扱うＩＰアドレスＩＰａ〜ＩＰｅを事前に知っていることが前提になっている。
【００１０】
しかしながら、デバイスＡ〜Ｅがアドホックである場合には、グループに属するデバイスＡ〜Ｅが時間経過とともに変化するから、グループに属するデバイスＡ〜ＥのＩＰアドレスＩＰａ〜ＩＰｅが秘密鍵Ｋａ〜Ｋｅの配布前に変化していることがある。ここで、デバイスＡ〜Ｅがアドホックであることは、必要に応じて通信可能になることを意味している。つまり、ＩＰアドレスＩＰａ〜ＩＰｅを持つデバイスＡ〜Ｅが以前にはデバイスＦとグループであったとしても、秘密鍵Ｋａ〜Ｋｅを設定する時点においてグループではなくなっている可能性がある。
【００１１】
いま、アドホックであるデバイスＡ〜Ｅについて、他のデバイスＡ〜Ｆと物理的に接続されているときに同じグループに属するという規定を設けているものとする（図７の例では、デバイスＡ〜ＥはデバイスＦと物理的に接続されている）。この規定のもとで、同じグループに属するデバイスＡ〜Ｅに秘密鍵Ｋａ〜Ｋｅを設定するには、デバイスＡ〜ＥがデバイスＦに物理的に接続されていることを確認した直後に、秘密鍵Ｋａ〜Ｋｅを設定する必要がある。
【００１２】
図７において、デバイスＡ〜Ｄ，Ｅ，Ｆは宅内に固定的に設置されたデバイスであるものとし、デバイスＤは、デバイスＥに対して着脱が可能であって、何らかのセンサーを備えるアドホックなデバイスであるものとする。デバイスＥとしては、センサーでイベントが生じたときにデバイスＤからの情報を受ける受信機を想定している。つまり、デバイスＥは、デバイスＤからの情報を他のデバイスＡ〜Ｃ，Ｆに通知する機能を有しているものとする。
【００１３】
図示する接続状態においては、デバイスＤでイベントが発生すればデバイスＥを通してデバイスＦに通知されるから、デバイスＥが宅内に固定的に設置されていることにより、デバイスＤをデバイスＥと同じグループに属すると判断することができる。つまり、デバイスＤに付与した秘密鍵Ｋｄは、デバイスＥに付与した秘密鍵Ｋｅと同じグループに属することになる。
【００１４】
しかしながら、デバイスＤはアドホックであるから、デバイスＥから取り外されて他家で利用される可能性もある。このように、デバイスＤが他家で使用されるときには、デバイスＥを設置している宅内のデバイスＡ〜Ｃ，Ｅ，Ｆと同じグループと認識されると、他家で生じたイベントを自家で生じたイベントと誤認することになり不都合である。したがって、アドホックであるデバイスＤは、使用開始時に秘密鍵が変更されるようにしておかなければならない。
【００１５】
また、アドホックであるデバイスＤは、グループに属するか否かが着脱などによって瞬時に変化するから、デバイスＤの接続を検出した後に、秘密鍵Ｋｄを設定するまでに長い時間を要していると、秘密鍵Ｋｄが設定されるまでの間にデバイスＤがふたたび取り外され、上記規定を満たさなくなる場合がある。
【００１６】
本発明は上記事由に鑑みて為されたものであり、その目的は、デバイスのアドレスを用いることなくデバイスの物理的な接続によりグループを判断するとともに、グループの判断と共通の秘密鍵の配布とをほぼ同時に行うことにより、デバイスがアドホックであってもグループをなすデバイスに秘密鍵を配布することを可能にし、同グループのデバイスを共通の１つのデバイスに物理的に接続されているか否かによりデバイスの識別情報とは無関係にグループ化を可能にする秘密鍵配布方法、秘密鍵配布システムを提供することにある。
【課題を解決するための手段】
【００１７】
請求項１の発明は、固有の識別子を有したデバイスと、固有の識別子を有し少なくとも１台のデバイスが接続されるとともにデバイスとの間で通信が可能な分散認証サーバと、デバイスおよび分散認証サーバとの間で通信が可能であってデバイスおよび分散認証サーバに共通の秘密鍵を配布する認証サーバとを有する通信システムにおいて、認証サーバが秘密鍵を配布する方法であって、認証サーバが分散認証サーバとの間の通信に用いる第１の配布用秘密鍵と認証サーバがデバイスとの間の通信に用いる第２の配布用秘密鍵とを認証サーバが事前秘密鍵を用いてデバイスと分散認証サーバとにそれぞれ配布する第１過程と、分散認証サーバが第１のノンス値を生成してデバイスへ送信する第２過程と、デバイスが第２のノンス値を生成するとともに分散認証サーバから受信した第１のノンス値と第２のノンス値とに基づいて生成したメッセージ認証のデータを第２の配布用秘密鍵で暗号化した値および第２のノンス値をメッセージとして分散認証サーバに送信する第３過程と、分散認証サーバがデバイスからメッセージを受信した場合にデバイスからのメッセージに含まれる第２のノンス値と第１のノンス値とに基づいて生成したメッセージ認証のデータを第１の配布用秘密鍵で暗号化した値と、メッセージ認証のデータを第２の配布用秘密鍵で暗号化した値とを認証サーバへ送信する第４過程と、認証サーバが第１の配布用秘密鍵で分散認証サーバが生成したメッセージ認証のデータを復号しかつ第２の配布用秘密鍵でデバイスが生成したメッセージ認証のデータを復号し、両メッセージ認証のデータが一致した場合に分散認証サーバとデバイスとに共通に与える秘密鍵を生成し、当該秘密鍵を第１の配布用秘密鍵で暗号化した第１のメッセージと当該秘密鍵を第２の配布用秘密鍵で暗号化した第２のメッセージとを分散認証サーバに送信する第５過程と、分散認証サーバが第１のメッセージを第１の配布用秘密鍵で復号化することにより秘密鍵を取得するとともに、第２のメッセージをデバイスに転送する第６過程と、デバイスが第２のメッセージを第２の配布用秘密鍵で復号化することにより秘密鍵を取得する第７過程とを有することを特徴とする。
【００１８】
請求項２の発明では、請求項１の発明において、前記デバイスは、前記分散認証サーバと共通の事前秘密鍵を用いて分散認証サーバと通信することにより分散認証サーバとの通信に用いるセッション鍵を分散認証サーバから取得し、前記第２過程と前記第３過程と前記第６過程とにおける分散認証サーバとデバイスとの間の通信は、セッション鍵を用いて暗号化されることを特徴とする。
【００１９】
請求項３の発明では、請求項２の発明において、前記第３過程および前記第４過程で用いるメッセージ認証のデータは、前記セッション鍵による鍵付きのメッセージ認証コードであることを特徴とする。
【００２０】
請求項４の発明では、請求項１〜３のいずれかの発明において、前記分散認証サーバおよび前記デバイスにおける前記事前秘密鍵は、分散認証サーバおよびデバイスの製造者が管理する鍵発行装置により分散認証サーバおよび各デバイスに登録され、さらに鍵発行装置は、前記認証サーバに分散認証サーバおよび各デバイスの事前秘密鍵と識別子とを関係付けて登録することを特徴とする。
【００２１】
請求項５の発明では、請求項１の発明において、前記第３過程および前記第４過程で用いるメッセージ認証のデータは、第１のノンス値および第２のノンス値から求めたハッシュ値を用いることを特徴とする。
【００２２】
請求項６の発明では、請求項１の発明において、前記第３過程および前記第４過程で用いるメッセージ認証のデータは、第１のノンス値および第２のノンス値をそのまま用いることを特徴とする。
【００２３】
請求項７の発明は、固有の識別子を有したデバイスと、固有の識別子を有し少なくとも１台のデバイスが接続されるとともにデバイスとの間で通信が可能な分散認証サーバと、デバイスおよび分散認証サーバとの間で通信が可能であってデバイスおよび分散認証サーバに共通の秘密鍵を配布する認証サーバとを有し、分散認証サーバとデバイスとは、それぞれノンス値を生成するノンス生成手段を備え、デバイスは、分散認証サーバから受信したノンス値と自己のノンス値とのハッシュ値および自己のノンス値を分散認証サーバに送信する第１の認証コード送信手段を備え、分散認証サーバは、デバイスから受信したノンス値と自己のノンス値とのハッシュ値およびデバイスから受信したハッシュ値とを認証サーバに送信する第２の認証コード送信手段を備え、認証サーバは、デバイスと分散認証サーバとに認証サーバとの通信にそれぞれ用いる第１および第２の配布用秘密鍵を配布する第１の秘密鍵配布手段と、分散認証サーバから受信した２つのハッシュ値を比較する比較手段と、比較手段による比較結果が一致しているときに分散認証サーバとデバイスとに共通に与える秘密鍵を生成する秘密鍵生成手段と、秘密鍵を第１の配布用秘密鍵を用いて暗号化して分散認証サーバに配布するとともに秘密鍵を第２の配布用秘密鍵を用いて暗号化して分散認証サーバを介してデバイスに配布する第２の秘密鍵配布手段とを備えることを特徴とする。
【００２４】
請求項８の発明では、請求項７の発明において、前記分散認証サーバおよび前記デバイスの製造者が管理し前記事前秘密鍵を発行する鍵発行装置を備え、鍵発行装置は、発行した事前秘密鍵を分散認証サーバおよび各デバイスに登録するとともに、前記認証サーバに分散認証サーバおよび各デバイスの事前秘密鍵と識別子とを関係付けて登録することを特徴とする。
【発明の効果】
【００２５】
請求項１、７の発明によれば、分散認証サーバとデバイスとにおいてそれぞれノンス値を生成し、分散認証サーバとデバイスとが互いに他方から取得したノンス値と自己のノンス値とからメッセージ認証コードを生成して認証サーバに送信し、認証サーバにおいて両メッセージ認証コードが一致しているときに分散認証サーバとデバイスとが接続されているものと判断して、分散認証サーバとデバイスとに共通する秘密鍵を配布するから、従来方法のように、デバイスのアドレスによりグループを確認する必要がなく、分散認証サーバとデバイスとが通信可能であれば、デバイスは分散認証サーバと同じグループと判断され、分散認証サーバと同じ秘密鍵を取得することができる。つまり、デバイスがアドホックであっても分散認証サーバに接続されていると遅滞なく秘密鍵が配布され、一方、デバイスが分散認証サーバに物理的に接続されていなければデバイスには秘密鍵が渡されないから、このデバイスはグループから除外される。
【００２６】
請求項２の発明によれば、分散認証サーバとデバイスとの間でセッション鍵を用いて通信を暗号化するから、分散認証サーバとデバイスとの間の通信の傍受を防止することができる。
【００２７】
請求項３の発明によれば、メッセージ認証のデータとしてセッション鍵による鍵付きのメッセージ認証コードを用いるから、メッセージ認証コードの安全性が高まり、分散認証サーバおよびデバイスから認証サーバに対して送信される情報の改竄を確実に防止することができる。
【００２８】
請求項４、８の発明によれば、分散認証サーバおよびデバイスと認証サーバとの間の初期の通信に際して、分散認証サーバおよびデバイスの製造者が管理する鍵発行装置により発行された事前秘密鍵を用い、認証サーバでは事前秘密鍵と分散認証サーバおよびデバイスの識別子を関係付けており、この事前秘密鍵を用いて配布用秘密鍵を配布することができるから、分散認証サーバおよびデバイスと認証サーバとの間で既存の事前秘密鍵を用いた通信が可能であり、比較的安全に配布用秘密鍵を配布することが可能になる。また、事前秘密鍵には識別子を対応付けているから、事前秘密鍵に識別子を併用することにより、通信が漏洩する可能を大幅に低減することができる。
【００２９】
請求項５の発明によれば、メッセージ認証のデータとして第１のノンス値および第２のノンス値から求めたハッシュ値を用いるから、ハッシュ値による通信経路の保証がなされ、結果的に分散認証サーバとデバイスとの接続関係を検証することができる。
【００３０】
請求項６の発明によれば、メッセージ認証のデータとしてノンス値を用いるから、ノンス値から生成したメッセージ認証コードを用いる場合に比較すると通信が漏洩する可能性が増大するものの、比較的安全なメッセージ認証を行うことができる。
【発明を実施するための最良の形態】
【００３１】
（原理）
以下に説明する実施形態では、図１に示すように、複数のデバイスＤ１〜ＤｋがプロキシデバイスＤｐを経由してセンタサーバＣＳと通信可能であって、センタサーバＣＳが備える認証サーバＡＳｍにより鍵管理（鍵の生成、保管、配布、認証、更新、廃棄）が行われるものとする。認証サーバＡＳｍは、プロキシデバイスＤｐおよびデバイスＤｉ（ｉ＝１〜ｋ）に対して秘密鍵を配布する。
【００３２】
認証サーバＡＳｍが配布する秘密鍵には基本的には２種類ある。すなわち、プロキシデバイスＤｐおよびデバイスＤｉが認証サーバＡＳｍと通信する際に用いる秘密鍵（以下では、「配布用秘密鍵」という）と、プロキシデバイスＤｐとデバイスＤｉとの間の通常時の通信に用いる秘密鍵とである。プロキシデバイスＤｐとデバイスＤｉとは、認証サーバＡＳｍの発行した共通の秘密鍵を持つときに、通信の暗号化が可能でありかつ同グループに属していることになる。プロキシデバイスＤｐは、各デバイスＤｉの秘密鍵を保管する分散認証サーバＡＳｅを備える。
【００３３】
以下に説明する実施形態では、認証サーバＡＳｍとプロキシデバイスＤｐとの間の通信に一時的に用いるために発行されるセッション鍵と、プロキシデバイスＤｐとデバイスＤｉとの間で一時的に用いるために発行されるセッション鍵とを用いる場合がある。
【００３４】
秘密鍵は、デフォルトでは数ヶ月〜１年程度の比較的長期の保持期間に亘って半固定的に用いられる共通の鍵であり、当該保持期間の間に秘密鍵の再配布（ないし再設定）がなければ、保持期間の終了まで変更されることがない。一方、セッション鍵は使い捨ての鍵であり、デフォルトでは１日程度の比較的短期の保持期間だけ保持される。ただし、当該保持期間においてセッション鍵の再配布（ないし再設定）があれば、さらに短い期間で廃棄される。
【００３５】
分散認証サーバＡＳｅは、デバイスＤｉと認証サーバＡＳｍとの間で通信を直接行うことによるトラフィックの増加を抑制する機能と、認証サーバＡＳｍと分散認証サーバＡＳｅとの間のコネクションが切断したときにコネクションが回復するまでの間、デバイスＤｉに対する認証サーバＡＳｍの役割を代替するフェイルオーバの機能とを有する。
【００３６】
デバイスＤｉが宅内に配置されている機器である場合に、プロキシデバイスＤｐは宅内の機器を管理する宅内サーバの機能を有していると言える。この構成では、プロキシデバイスＤｐは、各デバイスＤｉを接続するスイッチングハブ機能を有しているか、各デバイスＤｉとともにバーチャルＬＡＮを構築する。
【００３７】
なお、センタサーバＣＳとデバイスＤｉとの間にプロキシデバイスＤｐを設けずに、プロキシデバイスＤｐとは別に分散認証サーバＡＳｅを設ける場合もある。この場合も、分散認証サーバＡＳｅには、デバイスＤｉの秘密鍵が認証サーバＡＳｍより配布され、デバイスＤｉの秘密鍵を格納する。
【００３８】
いずれにしても、分散認証サーバＡＳｅにデバイスＤｉが接続され、分散認証サーバＡＳｅとデバイスＤｉとが、認証サーバＡＳｍにより配布された共通の秘密鍵により暗号化された通信を行うときに、デバイスＤｉは認証サーバＡＳｍの配下のグループに属していることになる。
【００３９】
認証サーバＡＳｍが秘密鍵を配布する技術としては、ケルベロス（Kerberos）やクリプトナイト（KryptoKnight）のように、あらかじめ保持している共通の秘密鍵（共通鍵）を利用して秘密鍵を配布するほか、ＩＰｓｅｃのようにDillie-Hellmanの方式で公開鍵の交換により共通鍵を生成する技術を用いて秘密鍵を配布したり、ＳＳＬ／ＴＬＳのように公開鍵を用いて秘密鍵を配布したり、楕円曲線暗号を用いて秘密鍵を配布するなど、適宜の鍵配布の技術を用いることが可能である。公開鍵を用いて鍵を配布する場合には、公開鍵を交換することにより生成される秘密鍵を利用して、実際に用いる秘密鍵を配布する。
【００４０】
以下の説明では、ケルベロスあるいはクリプトナイトのような認証技術を想定し、プロキシデバイスＤｐ（分散認証サーバＡＳｅ）および各デバイスＤｉは、それぞれ事前に秘密鍵（以下では、「事前秘密鍵」という）を保持しているものとする。
【００４１】
したがって、以下の実施形態において説明する秘密鍵には、認証サーバＡＳｍが分散認証サーバＡＳｅとデバイスＤｉとの互いの通信に利用するために分散認証サーバＡＳｅとデバイスＤｉとに共通に与える秘密鍵のほかに、分散認証サーバＡＳｅおよびデバイスＤｉが共通に保有する事前秘密鍵と、認証サーバＡＳｍが分散認証サーバＡＳｅおよびデバイスＤｉとの通信に利用するために分散認証サーバＡＳｅおよびデバイスＤｉに与える配布用秘密鍵とがある。
【００４２】
次に、秘密鍵を設定するための基本的な手順について説明する。以下の手順（１）〜（９）は図１に示した（１）〜（９）に対応している。また、以下の説明において、「Ａ→Ｂ」のように２個の要素を矢印で結合した表記は、要素Ａから要素Ｂに向かってデータを伝送することを意味する。
【００４３】
以下の説明では、通信に関わる要素は、センタサーバＣＳ、プロキシデバイスＤｐ、デバイスＤｉの３要素である。これらの要素は複数台ずつ存在していてもよい。また、センタサーバＣＳとプロキシデバイスＤｐとの機能については、認証サーバＡＳｍと分散認証サーバＡＳｅとしての機能に着目して説明する。
【００４４】
以下の説明において、デバイスＤｉ、プロキシデバイスＤｐは、工場出荷時などに固有の識別子と事前秘密鍵とがあらかじめ設定されているものとする。デバイスＤｉの固有の識別子をＩＤｉと表記し、プロキシデバイスＤｐの固有の識別子をＩＤｐと表記する。デバイスＤｉおよびプロキシデバイスＤｐに、機器をネットワークに接続するためのミドルウェアとしてのＥＭＩＴ（Embedded Micro Internetworking Technology）を搭載している場合には，ＥＭＩＴのオブジェクトＩＤ（以下、「ＯＩＤ」と略称する）を識別子ＩＤｐ，ＩＤｉに用いる。
【００４５】
事前秘密鍵は、プロキシデバイスＤｐとデバイスＤｉとに個別に設定される場合と、プロキシデバイスＤｐとデバイスＤｉとに共通に設定される場合とがある。事前秘密鍵をプロキシデバイスＤｐとデバイスＤｉとに個別に設定している場合には、認証サーバＡＳｍが事前秘密鍵を用いて通信するために、認証サーバＡＳｍには、プロキシデバイスＤｐおよびデバイスＤｉの個々の事前秘密鍵を登録しておくことが必要である。また、共通の事前秘密鍵を用いる場合には、認証サーバＡＳｍにも同じ事前秘密鍵を登録しておくことになる。
【００４６】
以下では、認証サーバＡＳｍと分散認証サーバＡＳｅとデバイスＤｉとの各要素を用いて、分散認証サーバＡＳｅとデバイスＤｉとに秘密鍵を設定する手順を説明する。以下に説明する手順では、任意のデバイスＸ（デバイスＤｉだけではなく、プロキシデバイスＤｐを含む）に関して、次の（Ａ）〜（Ｃ）の３種類のメッセージＴＥＰ（Ｘ），ＴＲＰ（Ｘ），ＫＫｋｐｘ（Ｘ、Ｋｓｘ）を用いる。
【００４７】
デバイスＸに関して、識別子をＩＤｘ、デバイスＸが保有している秘密鍵をＫｐｘ、配布される秘密鍵をＫｓｘ、チャレンジレスポンス認証に用いる乱数であってデバイスＸで生成されるノンス値をＮｘと表す。
（Ａ）ＴＥＰ（Ｘ）は、デバイスＸの識別子ＩＤｘとノンス値Ｎｘとを含むメッセージである。また、必要に応じて付加情報Ｏｐを含むこともある。すなわち、ＴＥＰ（Ｘ）は、基本的には、（ＩＤｘ，Ｎｘ）を含む。ＴＥＰは、Ticket Exchange Protocolを意味している。
（Ｂ）ＴＲＰ（Ｘ）は、デバイスＸの識別子ＩＤｘとノンス値Ｎｘとを含み、ＨＴＴＰ（HyperText Transfer Protocol）でカプセル化されたメッセージである。また、必要に応じて付加情報Ｏｐを含むこともある。ＴＲＰ（Ｘ）は、基本的には、ＨＴＴＰ（ＩＤｘ，Ｎｘ）を含む。すなわち、ＴＲＰ（Ｘ）＝ＨＴＴＰ｛ＴＥＰ（Ｘ）｝になる。ＴＲＰは、Ticket Request Protocolを意味している。
【００４８】
このプロトコルは、認証サーバＡＳｍに対してチケット（秘密鍵や配布用秘密鍵）を要求するときに用いられる。たとえば、認証サーバＡＳｍに対して、プロキシデバイスＤｐが識別子ＩＤｐを用いてＴＲＰによる要求を行うと、認証サーバＡＳｍでは、この識別子ＩＤｐに対して配布用秘密鍵Ｋｔｍｐを発行し、認証付きの暗号化データとして返送する。すなわち、認証サーバＡＳｍはプロキシデバイスＤｐに対してグラントチケット（配布許可）を返送する。グラントチケットは、たとえば、ＫＫｋｐｐ（Ｄｐ，Ｋｔｍｐ）の形になる。
（Ｃ）ＫＫｋｂｘ（Ｘ，Ｋａｘ）は、デバイスＸが保有する秘密鍵Ｋｂｘを用いてデバイスＸに関する情報Ｉｘから求めたメッセージ認証コード（メッセージダイジェスト）ＭＡＣｋｂｘ（Ｉｘ）を含むとともに、当該メッセージ認証コードＭＡＣｋｂｘ（Ｉｘ）をデバイスＸが保有する秘密鍵Ｋｂｘで暗号化した値Ｅｋｂｘ｛ＭＡＣｋｂｘ（Ｉｘ）｝と配布する秘密鍵ＫａｘとのＸＯＲ処理を行った値を含むメッセージである。ＫＫは、メッセージ認証の手続としてクリプトナイト（KryptoKnight）のプロトコルを用いることを意味し、ＫＫｋｂｘ（Ｘ，Ｋａｘ）は、認証サーバＡＳｍが認証付きの暗号化されたメッセージであることを示している。
【００４９】
デバイスＸに関する情報Ｉｘは、ノンス値ＮｘとデバイスＸへ配布する秘密鍵ＫａｘとデバイスＸの識別子ＩＤｘとからなる。したがって、ＫＫｋｂｘ（Ｘ、Ｋａｘ）は、ＭＡＣｋｂｘ（Ｎｘ，Ｋａｘ，ＩＤｘ），Ｅｋｐｘ｛ＭＡＣｋｂｘ（Ｎｘ，Ｋａｘ，ＩＤｘ）｝  ＸＯＲ  Ｋａｘになる。後者の値Ｅｋｐｘ｛ＭＡＣｋｂｘ（Ｉｘ）｝  ＸＯＲ  Ｋａｘからは、前者の値ＭＡＣｋｂｘ（Ｉｘ）と秘密鍵Ｋｂｘとがわかれば、秘密鍵Ｋａｘを抽出することができる。
【００５０】
以下の説明では、分散認証サーバＡＳｅとデバイスＤｉとが通常の通信に用いる秘密鍵をＫｓｉとし、分散認証サーバＡＳｅおよびデバイスＤｉがそれぞれ認証サーバＡＳｍとの間での通信に用いる配布用秘密鍵をそれぞれＫｔｍｐ、Ｋｔｍｉとする。
【００５１】
また、分散認証サーバＡＳｅを備えるプロキシデバイスＤｐの固有の識別子をＩＤｐ、デバイスＤｉの固有の識別子をＩＤｉとする。さらに、プロキシデバイスＤｐとデバイスＤｉとは、事前秘密鍵Ｋｐｐ，Ｋｐｉを保有しているものとする。分散認証サーバＡＳｅが生成するノンズ値をＮｐと表し、デバイスＤｉが生成するノンス値を値Ｎｉと表す。
【００５２】
秘密鍵ＫｓｉをデバイスＤｉに設定するとともに、プロキシデバイスＤｐに秘密鍵Ｋｓｉを共有させる基本的な手順は、以下の（ａ）〜（ｆ）である。手順（ａ）（ｂ）（ｆ）は、さらに２手順に分けられる。以下に説明する（１）〜（９）のメッセージの流れの表記は、セミコロンの左側がメッセージの送受信に関わる要素を示し、矢印（→）の左側がメッセージの送信側であり矢印の右側がメッセージの受信側である。セミコロンの右側は、メッセージの内容を示している。これらの符合（１）〜（９）は図１、図２の（１）〜（９）に対応する。
【００５３】
（ａ）分散認証サーバＡＳｅ（プロキシデバイスＤｐ）が事前秘密鍵Ｋｐｐを用いて認証サーバＡＳｍ（センタサーバＣＳ）から配布用秘密鍵Ｋｔｍｐを得る。つまり、分散認証サーバＡＳｅと認証サーバＡＳｍとの間で双方向に送受信が行われる。分散認証サーバＡＳｅから認証サーバＡＳｍへのメッセージはＴＲＰ（Ｄｐ）として送信される。
【００５４】
また、認証サーバＡＳｍから分散認証サーバＡＳｅへのメッセージは、分散認証サーバＡＳｅの事前秘密鍵Ｋｐｐを用いてプロキシデバイスＤｐに関する情報Ｉｐ（＝（ＩＤｐ，Ｎｐ））から求めたメッセージ認証コードＭＡＣｋｐｐ（Ｉｐ）を含み、かつこのメッセージ認証コードＭＡＣｋｐｐ（Ｉｐ）を事前秘密鍵Ｋｐｐで暗号化した値Ｅｋｐｐ｛ＭＡＣｋｐｐ（Ｉｐ）｝と配布用秘密鍵ＫｔｍｐとをＸＯＲ処理したものである。すなわち、認証サーバＡＳｍから分散認証サーバＡＳｅへのメッセージは、ＫＫｋｐｐ（Ｄｐ，Ｋｔｍｐ）になる。
【００５５】
要するに、以下の手順（１）（２）で分散認証サーバＡＳｅが認証サーバＡＳｍから配布用秘密鍵Ｋｔｍｐを取得する。
（１）分散認証サーバＡＳｅ→認証サーバＡＳｍ：ＴＲＰ（Ｄｐ）
（２）認証サーバＡＳｍ→分散認証サーバＡＳｅ：ＫＫｋｐｐ（Ｄｐ，Ｋｔｍｐ）
（ｂ）デバイスＤｉが事前秘密鍵Ｋｐｉを用いて認証サーバＡＳｍ（プロキシデバイスＤｐ）から配布用秘密鍵Ｋｔｍｉを得る。つまり、分散認証サーバＡＳｅが認証サーバＡＳｍから配布用秘密鍵Ｋｔｍｐを得るのと同様に、認証サーバＡＳｍとデバイスＤｉとの間で双方向に送受信が行われる。
【００５６】
したがって、デバイスＤｉは分散認証サーバＡＳｅと同様に、以下の手順（３）（４）で認証サーバＡＳｍから配布用秘密鍵Ｋｔｍｉを取得する。
（３）デバイスＤｉ→認証サーバＡＳｍ：ＴＲＰ（Ｄｉ）
（４）認証サーバＡＳｍ→デバイスＤｉ：ＫＫｋｐｉ（Ｄｉ，Ｋｔｍｉ）
手順（１）〜（４）において、ノンス値Ｎｐ，Ｎｉは、それぞれ分散認証サーバＡＳｅに設けたノンス生成手段２１とデバイスＤｉに設けたノンス生成手段１１とにより生成される。また、手順（２）（４）においては認証サーバＡＳｍに設けた（第１の）秘密鍵配布手段３１が配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉを配布する。
【００５７】
（ｃ）分散認証サーバＡＳｅ（プロキシデバイスＤｐ）とデバイスＤｉとの間でチャレンジレスポンス認証を行うために、分散認証サーバＡＳｅは、ノンス値Ｎｐを生成し（Ｓ１）、識別子ＩＤｐとノンス値ＮｐとをデバイスＤｉに送信する。すなわち、以下の手順（５）のように、分散認証サーバＡＳｅ（プロキシデバイスＤｐ）からデバイスＤｉに対して、ＴＥＰ（Ｄｐ）を送信する。
（５）分散認証サーバＡＳｅ→デバイスＤｉ：ＴＥＰ（Ｄｐ）
手順（５）においてノンス値Ｎｐは分散認証サーバＡＳｅのノンス値生成手段２１が生成する。
【００５８】
（ｄ）ＴＥＰ（Ｄｐ）を受信したデバイスＤｉは、受信したＴＥＰ（Ｄｐ）を分散認証サーバＡＳｅに返送するとともに、チャレンジレスポンス認証のためのノンス値Ｎｉを生成し（Ｓ２）、識別子ＩＤｉとノンス値Ｎｉとを分散認証サーバＡＳｅに送信する。このとき、ノンス値Ｎｉとノンス値Ｎｐとを並べた値（Ｎｉ｜Ｎｐ）からメッセージ認証コードＨ１＝ＭＡＣ（Ｎｉ｜Ｎｐ）を求め（Ｓ３）、認証サーバＡＳｍからデバイスＤｉが取得した配布用秘密鍵Ｋｔｍｉでメッセージ認証コードＨ１を暗号化した値Ｅｋｔｍｉ（Ｈ１）を添付する。ここに、（ｘ｜ｙ）は、２つの値ｘ，ｙのビット列を上位ビットと下位ビットとして並べたものを意味する。
【００５９】
すなわち、デバイスＤｉから認証サーバＡＳｅに対して、ＴＥＰ（Ｄｉ）とＴＥＰ（Ｄｐ）とともに、Ｅｋｔｍｉ（Ｈ１）を送信する。メッセージ認証コードＨ１には（Ｎｉ｜Ｎｐ）のハッシュ値などを用いる。下線を付したノンス値Ｎｐは、分散認証サーバＡＳｅが発行したノンス値ＮｐをデバイスＤｉが受信したことを意味している。なお、以下に説明する実施形態では、メッセージ認証コードを用いない場合もある。
（６）デバイスＤｉ→分散認証サーバＡＳｅ：ＴＥＰ（Ｄｉ），ＴＥＰ（Ｄｐ），Ｅｋｔｍｉ｛Ｈ１＝ＭＡＣ（Ｎｉ｜Ｎｐ）｝
手順（６）においてノンス値ＮｉはデバイスＤｉのノンス値生成手段１１が生成し、認証コード送信手段１２において、メッセージ認証コードＨ１を生成して分散認証サーバＡＳｅに送信する。
【００６０】
（ｅ）ＴＥＰ（Ｄｐ）とＴＥＰ（Ｄｉ）とＥｋｔｍｉ（Ｈ１）とをデバイスＤｉから受信した分散認証サーバＡＳｅは、ＴＥＰ（Ｄｉ）によって取得したデバイスＤｉのノンス値Ｎｉと、分散認証サーバＡＳｅがチャレンジレスポンス認証のために発行したノンス値Ｎｐとを並べた値（Ｎｉ｜Ｎｐ）からメッセージ認証コードＨ２＝ＭＡＣ（Ｎｉ｜Ｎｐ）を作成する（Ｓ４）。さらに、認証サーバＡＳｍから分散認証サーバＡＳｅが取得した配布用秘密鍵Ｋｔｍｐでメッセージ認証コードＨ２を暗号化した値Ｅｋｔｍｐ（Ｈ２）を生成する。メッセージ認証コードＨ２には（Ｎｉ｜Ｎｐ）のハッシュ値などを用いる。下線を付したノンス値Ｎｉは、デバイスＤｉが発行したノンス値Ｎｉを分散認証サーバＡＳｅが受信したことを意味している。なお、以下に説明する実施形態では、メッセージ認証コードを用いない場合もある。
【００６１】
分散認証サーバＡＳｅがデバイスＤｉから受信したＴＥＰ（Ｄｉ）とＴＥＰ（Ｄｐ）とは、ＨＴＴＰでカプセル化されてＴＲＰ（Ｄｉ）とＴＲＰ（Ｄｐ）として認証サーバＡＳｍに送信され、さらに、値Ｅｋｔｍｐ（Ｈ２）は、分散認証サーバＡＳｅがデバイスＤｉから受信した値Ｅｋｔｍｉ（Ｈ１）とともに認証サーバＡＳｍに送信される。つまり、以下の手順（７）により分散認証サーバＡＳｅから認証サーバＡＳｍに対して、ノンス値Ｎｉ，Ｎｐの組（Ｎｉ｜Ｎｐ）、（Ｎｉ｜Ｎｐ）に相当する情報を送信する。
（７）分散認証サーバＡＳｅ→認証サーバＡＳｍ：ＴＲＰ（Ｄｉ），ＴＲＰ（Ｄｐ），Ｅｋｔｍｐ｛Ｈ２＝ＭＡＣ（Ｎｉ｜Ｎｐ）｝，Ｅｋｔｍｉ（Ｈ１）
手順（７）においては分散認証サーバＡＳｅに設けた認証コード送信手段２２がメッセージ認証コードＨ２を生成し、メッセージ認証コードＨ１とともに認証サーバＡＳｍに送信する。
【００６２】
（ｆ）認証サーバＡＳｍは、分散認証サーバＡＳｅからＴＲＰ（Ｄｉ）とＴＲＰ（Ｄｐ）とＥｋｔｍｐ（Ｈ２）と値Ｅｋｔｍｉ（Ｈ１）とを受信する。認証サーバＡＳｍでは、配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉが既知であるから、メッセージ認証コードＨ１，Ｈ２を復号して比較することができる。
【００６３】
両者が一致していることは（Ｓ５）、分散認証サーバＡＳｅとデバイスＤｉとの間でメッセージＴＥＰ（Ｄｐ）とＴＥＰ（Ｄｉ）とが交換された保証とみなすことができる。すなわち、メッセージ認証コードＨ１，Ｈ２の一致により、鍵配布の瞬間においてプロキシデバイスＤｐとデバイスＤｉとが接続されていることが保証され、しかもプロキシデバイスＤｐに管理されるグループにデバイスＤｉが属していると言える。
【００６４】
ここで、認証サーバＡＳｍは、分散認証サーバＡＳｅを介してデバイスＤｉに秘密鍵Ｋｓｉを配布する。すなわち、クリプトナイトの三者モデルを用いて、プロキシデバイスＤｐとデバイスＤｉとに、それぞれ秘密鍵Ｋｓｉを配布する。
【００６５】
具体的には、認証サーバＡＳｍでは、分散認証サーバＡＳｅから受信したＴＲＰ（Ｄｐ）、ＴＲＰ（Ｄｉ）により得られるプロキシデバイスＤｐとデバイスＤｉとに関する情報Ｉｐ，Ｉｉを、それぞれプロキシデバイスＤｐの配布用秘密鍵ＫｔｍｐとデバイスＤｉの配布用秘密鍵Ｋｔｍｉを用いてメッセージＫＫｋｔｍｐ（Ｄｐ，Ｋｓｉ）とメッセージＫＫｋｔｍｉ（Ｄｉ，Ｋｓｉ）とに変換し、両メッセージＫＫｋｔｍｐ（Ｄｐ，Ｋｓｉ），ＫＫｋｔｍｉ（Ｄｉ，Ｋｓｉ）を分散認証サーバＡＳｅに送信する。
【００６６】
すなわち、Ｈ１＝Ｈ２の成立時には、以下の手順（８）により、分散認証サーバＡＳｅとデバイスＤｉとのそれぞれで復号可能となるように秘密鍵Ｋｓｉを暗号化した値を分散認証サーバＡＳｅに送信する。
（８）認証サーバＡＳｍ→分散認証サーバＡＳｅ：ＫＫｋｔｍｐ（Ｄｐ，Ｋｓｉ），ＫＫｋｔｍｉ（Ｄｉ，Ｋｓｉ）
手順（８）においては、認証サーバＡＳｍにおける比較手段３２でメッセージ認証コードＨ１，Ｈ２を比較し、両メッセージ認証コードＨ１，Ｈ２の一致時に（第２の）秘密鍵生成手段３３が秘密鍵Ｋｓｉを生成し、秘密鍵配布手段３４が秘密鍵Ｋｓｉを分散認証サーバＡＳｅに送信する。
【００６７】
ここで、分散認証サーバＡＳｅでは配布用秘密鍵Ｋｔｍｐを有しているからメッセージＫＫｋｔｍｐ（Ｄｐ，Ｋｓｉ）のみの復号が可能である。以下の手順（９）のように、メッセージＫＫｋｔｍｉ（Ｄｉ，Ｋｓｉ）はデバイスＤｉに転送されて配布用秘密鍵Ｋｔｍｉにより復号される。
（９）分散認証サーバＡＳｅ→デバイスＤｉ：ＫＫｋｔｍｉ（Ｄｉ、Ｋｓｉ）
上述の例では、メッセージ認証コードとして簡単な鍵なしのハッシュ値を用いているが、鍵付きハッシュ値ＨＭＡＣ（Keyed Hashing for Message Authentication Code）を用いてもよい。鍵なしのハッシュ値は、鍵値がゼロの鍵付きハッシュ値ということができる（以下に説明するすべての実施形態で可能）。また、メッセージ認証の手続については、クリプトナイトを採用した例を示したが、クリプトナイトと同様に共通鍵を用いる鍵配布方式のケルベロスでもよい。ケルベロスではノンス値に代えて時間を用いる。したがって、ノンス性ないし乱数性の管理を時間管理に置き換えることができる。鍵付きハッシュ値を採用することとメッセージ認証の手続についてケルベロスを採用することとは、以下に説明するいずれの実施形態にも適用可能である。
【００６８】
（実施形態１）
上述したように、本発明では、デバイスＤｉが特定の分散認証サーバＡＳｅの配下であるときに、当該デバイスＤｉを当該分散認証サーバＡＳｅにより管理されるグループに属するものとしてグループ化する。たとえば、家屋に設置した宅内サーバを分散認証サーバＡＳｅとし、宅内に配置された各機器をデバイスＤｉとするとき、宅内サーバの管理下である機器は、その家屋に属するグループを形成していることになる。
【００６９】
本実施形態におけるメッセージの内容とメッセージの交換手順は原理と同様である。すなわち、メッセージの流れの手順（１）〜（９）は原理と同様である。
【００７０】
（１）分散認証サーバＡＳｅは、自己の固有の識別子ＩＤｐと生成したノンス値Ｎｐとを認証サーバＡＳｍに送信する。このＴＲＰ（Ｄｐ）メッセージには、付加情報Ｏｐは含まない。
【００７１】
（２）認証サーバＡＳｍは、分散認証サーバＡＳｅから受信した識別子ＩＤｐに基づいて、分散認証サーバＡＳｅに対する配布用秘密鍵Ｋｔｍｐを生成し、受信したノンス値Ｎｐとともに分散認証サーバＡＳｅの事前秘密鍵Ｋｐｐで暗号化して分散認証サーバＡＳｅへ返送する。このメッセージは、ＫＫｋｐｐ（Ｄｐ，Ｋｔｍｐ）である。
【００７２】
（３）各デバイスＤｉは、自己の固有の識別子ＩＤｉと生成したノンス値Ｎｉとを認証サーバＡＳｍに送信する。このＴＲＰ（Ｄｉ）メッセージには、付加情報Ｏｐは含まない。
【００７３】
（４）認証サーバＡＳｍは、デバイスＤｉから受信した識別子ＩＤｉに基づいて、デバイスＤｉに対する配布用秘密鍵Ｋｔｍｉを生成し、受信したノンス値ＮｉとともにデバイスＤｉの事前秘密鍵Ｋｐｉで暗号化してデバイスＤｉに返送する。このとき用いるメッセージは、ＫＫｋｐｉ（Ｄｉ，Ｋｔｍｉ）である。
【００７４】
（５）分散認証サーバＡＳｅは、自己の固有の識別子ＩＤｐと生成したノンス値ＮｐとをデバイスＤｉに送信する。このとき用いるメッセージは、付加情報Ｏｐを含まないＴＥＰ（Ｄｐ）である。
【００７５】
（６）分散認証サーバＡＳｅから識別子ＩＤｐとノンス値Ｎｐとを受信したデバイスＤｉは、自己の固有の識別子ＩＤｉと生成したノンス値Ｎｉとを分散認証サーバＡＳｅに送信するとともに、分散認証サーバＡＳｅから受信したＴＥＰ（Ｄｐ）を分散認証サーバＡＳｅに返送する。つまり、分散認証サーバＡＳｅに対してＴＥＰ（Ｄｉ），ＴＥＰ（Ｄｐ）を送信する。
【００７６】
さらに、分散認証サーバＡＳｅのノンス値ＮｐとデバイスＤｉで生成したノンス値Ｎｉとのメッセージ認証コードとしてハッシュ値Ｈ１を求め、認証サーバＡＳｍからデバイスＤｉに与えられた配布用秘密鍵Ｋｔｍｉでハッシュ値Ｈ１を暗号化した値Ｅｋｔｍｉ｛Ｈ１＝Ｈ（Ｎｉ｜Ｎｐ）｝を併せて分散認証サーバＡＳｅに送信する。
【００７７】
ここに、Ｈ（ｘ）はｘのハッシュ値を意味する。つまり、デバイスＤｉは分散認証サーバＡＳｅに対してＴＥＰ（Ｄｉ）とＥｋｔｍｉ｛Ｈ１＝Ｈ（Ｎｉ｜Ｎｐ）｝とを送信する。
【００７８】
（７）デバイスＤｉからハッシュ値Ｈ１を暗号化した値を受信した分散認証サーバＡＳｅは、デバイスＤｉから受信したメッセージＴＥＰ（Ｄｐ），ＴＥＰ（Ｄｉ），Ｅｋｔｍｉ｛Ｈ１＝Ｈ（Ｎｉ｜Ｎｐ）｝を認証サーバＡＳｍに送信する。またこのとき、メッセージＴＥＰ（Ｄｉ）から取得したデバイスＤｉのノンス値Ｎｉと分散認証サーバＡＳｅのノンス値Ｎｐとのメッセージ認証コードとしてハッシュ値Ｈ２を求め、認証サーバＡＳｍから分散認証サーバＡＳｅに与えられた配布用秘密鍵Ｋｔｍｐでハッシュ値Ｈ２を暗号化した値Ｅｋｔｍｐ｛Ｈ２＝Ｈ（Ｎｉ｜Ｎｐ）｝を併せて認証サーバＡＳｍに送信する。
【００７９】
ここに、メッセージＴＥＰ（Ｄｉ），ＴＥＰ（Ｄｐ）はＴＲＰ（Ｄｉ），ＴＲＰ（Ｄｐ）の形に変換して認証サーバＡＳｍに送信する。したがって、分散認証サーバＡＳｅは認証サーバＡＳｍに対してＴＲＰ（Ｄｉ）とＥｋｔｍｉ｛Ｈ１＝Ｈ（Ｎｉ｜Ｎｐ）｝とＥｋｔｍｐ｛Ｈ２＝Ｈ（Ｎｉ｜Ｎｐ）｝とを送信することになる。
【００８０】
（８）認証サーバＡＳｍは、デバイスＤｉに与えた配布用秘密鍵Ｋｔｍｉでハッシュ値Ｈ１を復号し、また分散認証サーバＡＳｅに与えた配布用秘密鍵Ｋｔｍｐでハッシュ値Ｈ２を復号する。
【００８１】
ハッシュ値Ｈ１とハッシュ値Ｈ２とが一致していれば、分散認証サーバＡＳｅとデバイスＤｉとが接続されている（同じグループに属する）といえる。そこで、ハッシュ値Ｈ１，Ｈ２が一致していれば、デバイスＤｉに対する秘密鍵Ｋｓｉをあらためて生成し、この秘密鍵Ｋｓｉを分散認証サーバＡＳｅとデバイスＤｉとで共有させるために、以下の処理を行う。
【００８２】
まず、メッセージＴＲＰ（Ｄｉ）により受信したデバイスＤｉのノンス値Ｎｉを秘密鍵Ｋｓｉに加えてデバイスＤｉに与えた配布用秘密鍵Ｋｔｍｉで暗号化した第１のメッセージＥｋｔｍｉ（Ｎｉ，Ｋｓｉ）と、メッセージＴＲＰ（Ｄｐ）により受信したデバイスＤｐのノンス値Ｎｐを秘密鍵Ｋｓｉに加えて分散認証サーバＡＳｅに与えた配布用秘密鍵Ｋｔｍｐで暗号化した第２のメッセージＥｋｔｍｐ（Ｎｐ，Ｋｓｉ）とを併せて分散認証サーバＡＳｅに送信する。
【００８３】
すなわち、認証サーバＡＳｍから分散認証サーバＡＳｅに対して、Ｅｋｔｍｉ（Ｎｉ，Ｋｓｉ），Ｅｋｔｍｐ（Ｎｐ，Ｋｓｉ）を送信する。ここに、原理を説明する際の動作例では、認証サーバＡＳｍから分散認証サーバＫＫｋｔｍｐ（Ｄｐ，Ｋｓｉ），ＫＫｋｔｍｉ（Ｄｉ，Ｋｓｉ）を送信し、秘密鍵Ｋｓｉの送信にあたって高いセキュリティ性を持たせているが、本実施形態のような形態を採用してもよい。
【００８４】
（９）認証サーバＡＳｍから第１のメッセージＥｋｔｍｉ（Ｎｉ，Ｋｓｉ）および第２のメッセージＥｋｔｍｐ（Ｎｐ，Ｋｓｉ）を受信した分散認証サーバＡＳｅは、第２のメッセージＥｋｔｍｐ（Ｎｐ，Ｋｓｉ）を分散認証サーバＡＳｅの配布用秘密鍵Ｋｔｍｐで復号する。すなわち、認証サーバＡＳｍが新たに発行したデバイスＤｉの秘密Ｋｓｉを取得する。また、分散認証サーバＡＳｅは第１のメッセージＥｋｔｍｉ（Ｎｉ，Ｋｓｉ）をデバイスＤｉに転送する。
【００８５】
分散認証サーバＡＳｅから第１のメッセージＥｋｔｍｉ（Ｎｉ，Ｋｓｉ）を受信したデバイスＤｉは、デバイスＤｉの配布用秘密鍵Ｋｔｍｉを用いて第１のメッセージＥｋｔｍｉ（Ｎｉ，Ｋｓｉ）を復号し、デバイスＤｉの秘密鍵Ｋｓｉを取得する。
【００８６】
上述の動作により、分散認証サーバＡＳｅとデバイスＤｉとは、認証サーバＡＳｍが発行した秘密鍵Ｋｓｉを共通鍵としてほぼ同時に取得する。言い換えると、認証サーバＡＳｍが、分散認証サーバＡＳｅとデバイスＤｉとが互いのノンス値Ｎｐ，Ｎｉを交換した証拠であるハッシュ値Ｈ１，Ｈ２を確認することにより、両者間の通信を第三者として確認することになり、通信の確認ができた分散認証サーバＡＳｅとデバイスＤｉとにデバイスＤｉの秘密鍵Ｋｓｉを提供するのである。ここに、上述した動作例では、分散認証サーバＡＳｅからデバイスＤｉに対してＫＫｋｔｍｉ（Ｄｉ，Ｋｓｉ）を送信しているが、本実施形態のような形態を採用してもよい。
【００８７】
以上の処理により、認証サーバＡＳｍに管理された分散認証サーバＡＳｅおよびデバイスＤｉが存在し、デバイスＤｉが分散認証サーバＡＳｅに接続されるグループに属するとき、すなわち、デバイスＤｉの秘密鍵Ｋｓｉを分散認証サーバＡＳｅに渡して分散認証サーバＡＳｅの管理下におくとき、互いに通信したことを認証サーバＡＳｍが客観的に確認すると同時に秘密鍵Ｋｓｉを配布することが可能になる。また、秘密鍵Ｋｓｉを配布する時点で、分散認証サーバＡＳｅと通信していないデバイスＤｉには、同じグループとしての秘密鍵Ｋｓｉを渡すことがないから、同じグループに属していないデバイスＤｉに秘密鍵Ｋｓｉを渡さないようにすることができる。
【００８８】
（実施形態２）
実施形態１では、分散認証サーバＡＳｅとデバイスＤｉとの間の通信に際して暗号化を行っていないが、本実施形態では、分散認証サーバＡＳｅとデバイスＤｉとの間の通信に際して共通のセッション鍵Ｋｓｓを用いて暗号化を行うことにより、盗聴の可能性をさらに低減したものである。共通のセッション鍵Ｋｓｓは、工場出荷時などに事前に設定された共通の事前秘密鍵Ｋｇｍを用いてデバイスＤｉが分散認証サーバＡＳｅと通信することにより配布される。この際には分散認証サーバＡＳｅが、デバイスＤｉに対してクリプトナイトなどの手順でセッション鍵Ｋｓｓを発行する。
【００８９】
図３に示す本実施形態の手順のうち（１）〜（４）（８）は実施形態１の手順と同手順である。手順（５）（６）（７）（９）は、分散認証サーバＡＳｅとデバイスＤｉとの間の通信を含んでおり、この通信においてセッション鍵Ｋｓｓによる暗号を用いる点が実施形態１との相違点である。したがって、以下では実施形態１と相違する手順のみ説明する。
【００９０】
実施形態１では、分散認証サーバＡＳｅはデバイスＤｉに対してＴＥＰ（Ｄｐ）をそのまま送信している。すなわち、分散認証サーバＡＳｅとデバイスＤｉとの間の通信は暗号化していないから盗聴される可能性がある。これに対して、本実施形態では、分散認証サーバＡＳｅからデバイスＤｉに送信するＴＥＰ（Ｄｐ）を分散認証サーバＡＳｅとデバイスＤｉとに設定されたセッション鍵Ｋｓｓを用いて暗号化した値Ｅｋｓｓ｛ＴＥＰ（Ｄｐ）｝を送信する。これにより、盗聴の危険性を低減している。したがって、本実施形態では手順（５）は以下のようになる。なお、ＴＥＰ（Ｄｐ）は、分散認証サーバＡＳｅの識別子ＩＤｐとノンス値Ｎｐとを含む。
（５）分散認証サーバＡＳｅ→デバイスＤｉ：Ｅｋｓｓ｛ＴＥＰ（Ｄｐ）｝
Ｅｋｓｓ｛ＴＥＰ（Ｄｐ）｝を受信したデバイスＤｉは、セッション鍵Ｋｓｓを用いてＴＥＰ（Ｄｐ）を復号した後、デバイスＤｉの識別子ＩＤｉとノンス値Ｎｉとを含むＴＥＰ（Ｄｉ）と、分散認証サーバＡＳｅから受信したＴＥＰ（Ｄｐ）と、ノンス値（Ｎｉ｜Ｎｐ）のハッシュ値Ｈ（Ｎｉ｜Ｎｐ）であるメッセージ認証コードＨ１（＝Ｈ（Ｎｉ｜Ｎｐ））を認証サーバＡＳｍからデバイスＤｉが取得した配布用秘密鍵Ｋｔｍｉで暗号化した値Ｅｋｔｍｉ（Ｈ１）との全体を、セッション鍵Ｋｓｓで暗号化した値Ｅｋｓｓ｛ＴＥＰ（Ｄｉ），ＴＥＰ（Ｄｐ），Ｅｋｔｍｉ（Ｈ１）｝とを分散認証サーバＡＳｅに送信する。つまり、手順（６）は以下のようになる。
（６）デバイスＤｉ→分散認証サーバＡＳｅ：Ｅｋｓｓ｛ＴＥＰ（Ｄｉ），ＴＥＰ（Ｄｐ），Ｅｋｔｍｉ（Ｈ１）｝
分散認証サーバＡＳｅでは、デバイスＤｉから受信した値Ｅｋｓｓ｛ＴＥＰ（Ｄｉ），ＴＥＰ（Ｄｐ），Ｅｋｔｍｉ（Ｈ１）｝をセッション鍵Ｋｓｓにより復号し、実施形態１と同様に、ＴＥＰ（Ｄｉ）によって取得したデバイスＤｉのノンス値Ｎｉと分散認証サーバＡＳｅが発行したノンス値Ｎｐとから求めたハッシュ値Ｈ２＝Ｈ（Ｎｉ｜Ｎｐ）を配布用秘密鍵Ｋｔｍｐで暗号化した値Ｅｔｍｐ（Ｈ２）を、デバイスＤｉから受信した｛ＴＥＰ（Ｄｉ），ＴＥＰ（Ｄｐ），Ｅｋｔｍｉ（Ｈ１）｝と併せて認証サーバＡＳｍに送信する。つまり、手順（７）は以下のようになる。
（７）分散認証サーバＡＳｅ→認証サーバＡＳｍ：ＴＲＰ（Ｄｉ），ＴＲＰ（Ｄｐ），Ｅｋｔｍｐ（Ｈ２），Ｅｋｔｍｉ（Ｈ１）
手順（８）は、実施形態１と同手順であるが、実施形態１においてノンス値Ｎｐ，Ｎｉのみを送信しているのに対して、本実施形態では識別子ＩＤｐ，ＩＤｉを併せて送信している。すなわち、デバイスＤｉで生成したハッシュ値Ｈ１と分散認証サーバＡＳｅとで生成されたハッシュ値Ｈ２とが、Ｈ１＝Ｈ２の関係を満たすときの手順（８）は以下のようになる。
（８）認証サーバＡＳｍ→分散認証サーバＡＳｅ：ＫＫｋｔｍｐ（Ｄｐ，Ｋｓｉ），ＫＫｋｔｍｉ（Ｄｉ，Ｋｓｉ）
認証サーバＡＳｍからＫＫｋｔｍｐ（Ｄｐ，Ｋｓｉ），ＫＫｋｔｍｉ（Ｄｉ，Ｋｓｉ）を受信した分散認証サーバＡＳｅは、ＫＫｋｔｍｉ（Ｄｉ，Ｋｓｉ）をセッション鍵Ｋｓｓで暗号化した値Ｅｋｓｓ｛ＫＫｋｔｍｉ（Ｄｉ，Ｋｓｉ）｝をデバイスＤｉに送信し、デバイスＤｉではセッション鍵Ｋｓｓを用いて復号する。すなわち、手順（９）は以下のようになる。
（９）分散認証サーバＡＳｅ→デバイスＤｉ：Ｅｋｓｓ｛ＫＫｋｔｍｉ（Ｄｉ、Ｋｓｉ）｝
本実施形態では、分散認証サーバＡＳｅとデバイスＤｉとの間の通信に際して、ノンス値Ｎｐ，Ｎｉを含めるとともに、分散認証サーバＡＳｅとデバイスＤｉとの間でセッション鍵Ｋｓｓを用いて暗号化しているから、分散認証サーバＡＳｅとデバイスＤｉとの間のリプレイ攻撃に対する安全性を高めることができる。他の構成および動作は実施形態１と同様である。
【００９１】
（実施形態３）
実施形態２では、手順（６）（７）において、分散認証サーバＡＳｅとデバイスＤｉとで生成されたノンス値Ｎｐ，Ｎｉを用いて、メッセージ認証コードとしてのハッシュ値Ｈ１，Ｈ２を算出している。これらのハッシュ値Ｈ１，Ｈ２の算出にあたって、本実施形態では、図３に示すように、鍵付きハッシュ値を用いている。鍵付きハッシュ値の鍵にはセッション鍵Ｋｓｓを用いる。セッション鍵Ｋｓｓは実施形態２において説明したように分散認証サーバＡＳｅが発行する。
【００９２】
セッション鍵Ｋｓｓを用いた鍵付きハッシュ関数をＨｋｓｓ（ｘ）で表すことにすると、手順（６）（７）は以下のようになる。
（６）デバイスＤｉ→分散認証サーバＡＳｅ：Ｅｋｓｓ［ＴＥＰ（Ｄｉ），ＴＥＰ（Ｄｐ），Ｅｋｔｍｉ｛Ｈ１＝Ｈｋｓｓ（Ｎｉ｜Ｎｐ）｝］
（７）分散認証サーバＡＳｅ→認証サーバＡＳｍ：ＴＲＰ（Ｄｉ），ＴＲＰ（Ｄｐ），Ｅｋｔｍｐ｛Ｈ２＝Ｈｋｓｓ（Ｎｉ｜Ｎｐ）｝，Ｅｋｔｍｉ｛Ｈ１＝Ｈｋｓｓ（Ｎｉ｜Ｎｐ）｝
セッション鍵Ｋｓｓによる鍵付きハッシュ値をグループに属することの検証に用いることにより、分散認証サーバＡＳｅとデバイスＤｉとの双方が、共通のセッション鍵Ｋｓｓの有効期限において鍵配布処理を行ったことを、認証サーバＡＳｍにより確認することができる。したがって、分散認証サーバＡＳｅとデバイスＤｉとの間の通信の安全性が高くなる。
【００９３】
上述の例では、実施形態２において説明したセッション鍵Ｋｓｓを用いているが、実施形態１ではセッション鍵Ｋｓｓを用いていないから、本実施形態の技術を実施形態１に適用するには、セッション鍵Ｋｓｓを取得する処理を実施形態１に追加する必要がある。すなわち、実施形態２と同様に、共通の事前秘密鍵Ｋｇｍを用いて分散認証サーバＡＳｅにセッション鍵Ｋｓｓを発行させ、手順（６）（７）を以下のようにすればよい。
（６）デバイスＤｉ→分散認証サーバＡＳｅ：ＴＥＰ（Ｄｉ），ＴＥＰ（Ｄｐ），Ｅｋｔｍｉ｛Ｈ１＝Ｈｋｓｓ（Ｎｉ｜Ｎｐ）｝
（７）分散認証サーバＡＳｅ→認証サーバＡＳｍ：ＴＲＰ（Ｄｉ），ＴＲＰ（Ｄｐ），Ｅｋｔｍｐ｛Ｈ２＝Ｈｋｓｓ（Ｎｉ｜Ｎｐ）｝，Ｅｋｔｍｉ｛Ｈ１＝Ｈｋｓｓ（Ｎｉ｜Ｎｐ）｝
他の構成および動作は実施形態１、実施形態２と同様である。
【００９４】
（実施形態４）
上述した実施形態で説明したように、分散認証サーバＡＳｅおよびデバイスＤｉには、それぞれ工場出荷時などに事前秘密鍵Ｋｐｐ，Ｋｐｉが設定される。ただし、実施形態２，３の構成では、事前秘密鍵Ｋｐｐ，Ｋｐｉとして共通の事前秘密鍵Ｋｇｍを用いている（すなわち、Ｋｐｐ＝Ｋｐｉ＝Ｋｇｍ）。したがって、事前秘密鍵Ｋｇｍを第三者に知られてしまうと、配布用秘密鍵Ｋｔｍｐ、Ｋｔｍｉを配布する際の通信が盗聴され、結果的に秘密鍵Ｋｓｉを他者に知られる可能性がある。
【００９５】
本実施形態では、事前秘密鍵Ｋｐｐ，Ｋｐｉを認証サーバＡＳｍにあらかじめ登録しておくことにより、認証サーバＡＳｍから分散認証サーバＡＳｅおよびデバイスＤｉの識別子ＩＤｐ，ＩＤｉによって事前秘密鍵Ｋｐｐ，Ｋｐｉを選択する技術を採用している。
【００９６】
すなわち、本実施形態では、デバイスＤｉおよび分散認証サーバＡＳｅとして機能するプロキシデバイスＤｐを製造する製造者（工場）が管理する鍵発行装置Ｐｋ（図１参照）と認証サーバＡＳｍとが仮想専用網（ＶＰＮ）を介して接続されているものとする。ここで、プロキシデバイスＤｐおよびデバイスＤｉに、鍵発行装置Ｐｋにより、識別子ＩＤｐ，ＩＤｉおよび事前秘密鍵Ｋｐｐ，Ｋｐｉを登録すると、鍵発行装置Ｐｋは認証サーバＡＳｍと通信することにより、プロキシデバイスＤｐおよびデバイスＤｉの識別子ＩＤｐ，ＩＤｉおよび事前秘密鍵Ｋｐｐ，Ｋｐｉを認証サーバＡＳｍにあらかじめ登録する。
【００９７】
このように、工場で設定された事前秘密鍵Ｋｐｐ，Ｋｐｉと識別子ＩＤｐ，ＩＤｉとの対応リストが認証サーバＡＳｍに登録されていると、プロキシデバイスＤｐやデバイスＤｉは、事前秘密鍵Ｋｐｐ，Ｋｐｉを用いて識別子ＩＤｐ，ＩＤｉを認証サーバＡＳｍに通知することにより、事前秘密鍵Ｋｐｐ，Ｋｐｉを用いて安全にメッセージを交換することが可能になる。他の構成および動作は上述した各実施形態と同様である。
【００９８】
本実施形態では、実施形態３のように、分散認証サーバＡＳｅおよびデバイスＤｉに関して共通の事前秘密鍵Ｋｇｍを用いるのではなく、分散認証サーバＡＳｅおよびデバイスＤｉで個別の事前秘密鍵Ｋｐｐ，Ｋｐｉを用いるから、共通の事前秘密鍵Ｋｇｍが第三者に取得された場合のようにメッセージが一括して漏洩することがなく、メッセージを安全に交換することができる。
【００９９】
なお、本実施形態の構成を採用する場合には、配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉに代えて事前秘密鍵Ｋｐｐ，Ｋｐｉを用いることも可能である。つまり、手順（１）〜（４）を省略することが可能である。
【０１００】
ただし、上述のように、分散認証サーバＡＳｅおよびデバイスＤｉと認証サーバＡＳｍとの間で事前秘密鍵Ｋｐｐ，Ｋｐｉを用いてメッセージを交換することにより、認証サーバＡＳｍが事前秘密鍵Ｋｐｐ，Ｋｐｉとは異なる配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉを発行する構成を採用する技術を採用するのが望ましい。この技術を採用すると、仮に鍵発行装置Ｐｋ（図１参照）において事前秘密鍵Ｋｐｐ，Ｋｐｉを発行する規則（たとえば、乱数系列）が漏洩したとしても、秘密鍵Ｋｓｉを配布する際の認証手続に用いる配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉは認証サーバＡＳｍにより生成されることで、事前秘密鍵Ｋｐｐ，Ｋｐｉとは異なったものになるから、秘密鍵Ｋｓｉを安全に配布することができる。
【０１０１】
なお、認証サーバＡＳｍが配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉを発行する規則についても、複数個のデバイスＤｉ（認証サーバＡＳｅを含む）を集めることで推測されるおそれがあるが、認証サーバＡＳｍが発行する配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉは一時的なものであるから、仮に認証サーバＡＳｍが配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉを発行する規則が知られたとしても、配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉを変更すればよく、秘密鍵Ｋｓｉを配布する際の安全性を高めることができる。他の構成および動作は実施形態３と同様である。
【０１０２】
（実施形態５）
本実施形態は、実施形態２と同様に、分散認証サーバＡＳｅとデバイスＤｉとの間の通信において盗聴の可能性を低減させる技術である。ただし、実施形態２では、メッセージ認証コードとしてノンスＮｐ，Ｎｉのハッシュ値を用いていたが、本実施形態では、図４に示すように、ハッシュ値を用いずにステップＳ１，Ｓ２で生成したノンス値Ｎｐ，Ｎｉを暗号化することによって、メッセージの認証に用いている。
【０１０３】
すなわち、認証サーバＡＳｍと分散認証サーバＡＳｅとの間のセッション鍵Ｋｓｓｐと、認証サーバＡＳｍとデバイスＤｉとの間のセッション鍵Ｋｓｓｉとを発行し、これらのセッション鍵Ｋｓｓｐ，ＫｓｓｉをノンスＮｐ，Ｎｉの暗号化に用いている。言い換えると、これらのセッション鍵Ｋｓｓｐ，Ｋｓｓｉは、ノンス値Ｎｐ，Ｎｉを暗号化する過程においては、配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉと等価に用いていることになる。また、本実施形態では、分散認証サーバＡＳｅがデバイスＤｉに対して発行したセッション鍵Ｋｓｓも用いる。
【０１０４】
セッション鍵Ｋｓｓは、分散認証サーバＡＳｅとデバイスＤｉとに対して工場出荷時などに事前に設定された共通の事前秘密鍵Ｋｇｍを用いて生成される。また、セッション鍵Ｋｓｓｐ，Ｋｓｓｉは、分散認証サーバＡＳｅおよびデバイスＤｉに対してクリプトナイトの手順で事前に配布されているものとする。
【０１０５】
本実施形態では、実施形態２における手順（５）〜（７）において、ノンス値Ｎｐ，Ｎｉについてハッシュ値を用いずに、以下のメッセージを用いることにより認証サーバＡＳｍでのメッセージ認証を行う。ここでは、ノンス値Ｎｐ，Ｎｉについてのみ着目しているが、分散認証サーバＡＳｅとデバイスＤｉとの間ではＴＥＰ（Ｘ）を伝送し、認証サーバＡＳｍと分散認証サーバＡＳｅとの間ではＴＲＰ（Ｘ）を伝送しており、Ｘにはノンス値Ｎｐ，Ｎｉのほか、識別子ＩＤｐ，ＩＤｉも含まれる。
（５）分散認証サーバＡＳｅ→デバイスＤｉ：Ｅｋｓｓ（Ｎｐ）
（６）デバイスＤｉ→分散認証サーバＡＳｅ：Ｅｋｓｓ（Ｎｐ，Ｎｉ），Ｅｋｓｓｉ（Ｎｐ，Ｎｉ）
（７）分散認証サーバＡＳｅ→認証サーバＡＳｍ：Ｎｐ，Ｅｋｓｓｐ｛Ｎｉ，Ｅｋｓｓｉ（Ｎｐ，Ｎｉ）｝
手順（５）では分散認証サーバＡＳｅで生成したノンス値Ｎｐをセッション鍵Ｋｓｓで暗号化した値Ｅｋｓｓ（Ｎｐ）を分散認証サーバＡＳｅからデバイスＤｉに送信する。また、手順（６）ではデバイスＤｉにおいて分散認証サーバＡＳｅから受信したノンス値Ｎｐを復号するとともに、ノンス値ＮｐとデバイスＤｉで生成したノンス値Ｎｉとを合わせた値（Ｎｐ，Ｎｉ）を、セッション鍵Ｋｓｓ，Ｋｓｓｉでそれぞれ暗号化した値Ｅｋｓｓ（Ｎｐ，Ｎｉ），Ｅｋｓｓｉ（Ｎｐ，Ｎｉ）をデバイスＤｉから分散認証サーバＡＳｅに送信する。
【０１０６】
分散認証サーバＡＳｅでは手順（７）において、分散認証サーバＡＳｅで生成したノンス値Ｎｐとともに、デバイスＤｉから受信した値Ｅｋｓｓ（Ｎｐ，Ｎｉ）を復号することにより得られるノンス値Ｎｉと、デバイスＤｉから受信した値Ｅｋｓｓｉ（Ｎｐ，Ｎｉ）とを分散認証サーバＡＳｅのセッション鍵Ｋｓｓｐで暗号化した値Ｅｋｓｓｐ｛Ｎｉ，Ｅｋｓｓｉ（Ｎｐ，Ｎｉ）｝を認証サーバＡＳｍに送信する。
【０１０７】
認証サーバＡＳｍでは、値Ｅｋｓｓｐ｛Ｎｉ，Ｅｋｓｓｉ（Ｎｐ，Ｎｉ）｝を復号し、さらにＥｋｓｓｉ（Ｎｐ，Ｎｉ）を復号することによって、ノンス値Ｎｉとノンス値（Ｎｐ，Ｎｉ）とが得られ、また分散認証サーバＡＳｅで生成されたノンス値Ｎｐも受信しているから、ノンス値（Ｎｐ，Ｎｉ）とノンス値（Ｎｐ，Ｎｉ）とを得ることができる。したがって、両者を比較し一致していれば（Ｓ３）、認証サーバＡＳｍとデバイスＤｉとが通信したことを確認することができる。
【０１０８】
本実施形態において、セッション鍵Ｋｓｓが第三者に推測されており、当該第三者が通信の傍受を行おうとした場合、あるいはセッション鍵Ｋｓｓによる暗号化を省略した場合には、上述の手順（５）〜（７）は下記の手順（５）′〜（７）′と等価になる。
（５）′分散認証サーバＡＳｅ→デバイスＤｉ：Ｎｐ
（６）′デバイスＤｉ→分散認証サーバＡＳｅ：Ｎｐ，Ｎｉ，Ｅｋｓｓｉ（Ｎｐ，Ｎｉ）
（７）′分散認証サーバＡＳｅ→認証サーバＡＳｍ：Ｎｐ，Ｅｋｓｓｐ｛Ｎｉ，Ｅｋｓｓｉ（Ｎｐ，Ｎｉ）｝
認証サーバＡＳｍでは、事前に配布したセッション鍵Ｋｓｓｐ，Ｋｓｓｉを用いて復号することにより、Ｎｉ，（Ｎｐ，Ｎｉ）を得る。この値が暗号化されずに送られたノンス値Ｎｐおよびセッション鍵Ｋｓｓｐで復号したノンス値Ｎｉと、セッション鍵Ｋｓｓｉで復号した（Ｎｐ，Ｎｉ）とが一致すれば、認証サーバＡＳｍとデバイスＤｉとは接続されていると判断することができる。
【０１０９】
他の構成および動作は実施形態２と同様である。本実施形態の技術によれば、ハッシュ関数を用いないからハッシュ値を生成するための暗号ライブラリが不要になる。
【０１１０】
（実施形態６）
本実施形態では，実施形態５と同様に、認証サーバＡＳｍが分散認証サーバＡＳｅおよびデバイスＤｉとの通信のためのセッション鍵Ｋｓｓｐ，Ｋｓｓｉを発行する。これらのセッション鍵Ｋｓｓｐ，Ｋｓｓｉは、分散認証サーバＡＳｅで生成されたノンス値ＮｐとデバイスＤｉで生成されたノンス値Ｎｉとのハッシュ値を暗号化するために用いる。つまり、セッション鍵Ｋｓｓｐ，Ｋｓｓｉは、ハッシュ値を暗号化する過程においては、配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉと等価に用いられる。また、分散認証サーバＡＳｅはデバイスＤｉとの間の通信に用いるセッション鍵Ｋｓｓを発行する。
【０１１１】
本実施形態では、実施形態５における手順（５）〜（７）において、図５に示すように、以下のメッセージを用いることにより認証サーバＡＳｍでのメッセージ認証を行う。ここでは、ノンス値Ｎｐ，Ｎｉについてのみ着目しているが、分散認証サーバＡＳｅとデバイスＤｉとの間ではＴＥＰ（Ｘ）を伝送し、認証サーバＡＳｍと分散認証サーバＡＳｅとの間ではＴＲＰ（Ｘ）を伝送しているから、実際には識別子ＩＤｐ，ＩＤｉも含まれている。
（５）分散認証サーバＡＳｅ→デバイスＤｉ：Ｅｋｓｓ（Ｎｐ）
（６）デバイスＤｉ→分散認証サーバＡＳｅ：Ｅｋｓｓ（Ｎｐ，Ｎｉ），Ｅｋｓｓｉ｛Ｈｋｓｓ（Ｎｉ｜Ｎｐ）｝
（７）分散認証サーバＡＳｅ→認証サーバＡＳｍ：Ｅｋｓｓｐ［Ｈｋｓｓ（Ｎｉ｜Ｎｐ），Ｅｋｓｓｉ｛Ｈｋｓｓ（Ｎｉ｜Ｎｐ）｝］
手順（５）は実施形態５と同処理であり、分散認証サーバＡＳｅで生成したノンス値Ｎｐをセッション鍵Ｋｓｓで暗号化した値Ｅｋｓｓ（Ｎｐ）を分散認証サーバＡＳｅからデバイスＤｉに送信する。また、手順（６）ではデバイスＤｉにおいて分散認証サーバＡＳｅから受信したノンス値Ｎｐを復号するとともに、ノンス値ＮｐとデバイスＤｉで生成したノンス値Ｎｉとを合わせた値（Ｎｐ，Ｎｉ）を、セッション鍵Ｋｓｓで暗号化した値Ｅｋｓｓ（Ｎｐ，Ｎｉ）と、ノンス値（Ｎｐ，Ｎｉ）についてセッション鍵Ｋｓｓによる鍵付きハッシュ値Ｈｋｓｓ（Ｎｉ｜Ｎｐ）（＝ハッシュ１値）を求め、セッション鍵Ｋｓｓｉで暗号化した値Ｅｋｓｓｉ｛Ｈｋｓｓ（Ｎｉ｜Ｎｐ）｝とを合わせ、デバイスＤｉから分散認証サーバＡＳｅに送信する。
【０１１２】
分散認証サーバＡＳｅでは手順（７）において、分散認証サーバＡＳｅから受信した値Ｅｋｓｓ（Ｎｐ，Ｎｉ）を復号してノンス値Ｎｉを取得し、分散認証サーバＡＳｅで生成したノンス値Ｎｐとともに、セッション鍵Ｋｓｓによる鍵付きハッシュ値Ｈｋｓｓ（Ｎｉ｜Ｎｐ）（＝ハッシュ２値）を求め、さらにセッション鍵Ｋｓｓｐで暗号化した値Ｅｋｓｓｐ｛Ｈｋｓｓ（Ｎｉ｜Ｎｐ）｝を生成する。この値をデバイスＤｉから受信した値Ｅｋｓｓｉ｛Ｈｋｓｓ（Ｎｉ｜Ｎｐ）｝とともに認証サーバＡＳｍに送信する。
【０１１３】
認証サーバＡＳｍでは、値Ｅｋｓｓｐ（Ｈｋｓｓ（Ｎｉ｜Ｎｐ）を復号し、さらにＥｋｓｓｉ｛Ｈｋｓｓ（Ｎｉ｜Ｎｐ）を復号することによって、ハッシュ値Ｈｋｓｓ（Ｎｉ｜Ｎｐ），Ｈｋｓｓ（Ｎｉ｜Ｎｐ）を得ることができる。したがって、両者を比較し一致していれば、認証サーバＡＳｍとデバイスＤｉとが通信したことを確認することができる。
【０１１４】
他の構成および動作は実施形態５と同様である。本実施形態では、分散認証サーバＡＳｅとデバイスＤｉとの間の通信において、セッション鍵Ｋｓｓを用いてノンス値（Ｎｉ｜Ｎｐ）の鍵付きハッシュ値Ｈｋｓｓ（Ｎｉ｜Ｎｐ）を送信するから、分散認証サーバＡＳｅとデバイスＤｉとの間が鍵配布時に接続されていたことをハッシュ値が示すことになり、認証サーバＡＳｍはリプレイ攻撃などの異常を検知することができる。また、ハッシュ値を用いるから、結託によりセッション鍵Ｋｓｓの推定が困難になる。また、認証サーバＡＳｍに対してはセッション鍵Ｋｓｓを秘密にできる。
【０１１５】
（実施形態７）
一般に、分散認証サーバＡＳｅの管理下には複数台のデバイスＤｉが存在するから、分散認証サーバＡＳｅは、デバイスＤｉとの通信インターフェイスを１個だけ備える構成とは限らず、デバイスＤｉとの通信インターフェイスをスイッチングハブのように複数個備える場合もある。本実施形態は、分散認証サーバＡＳｅがデバイスＤｉと接続するための複数個の通信インターフェイスを備える場合であって、分散認証サーバＡＳｅとデバイスＤｉとの間の通信に際して、分散認証サーバＡＳｅあるいはデバイスＤｉの持つ秘密鍵Ｋ（配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉ）を用いることにより、分散認証サーバＡＳｅとデバイスＤｉとのＭＡＣアドレスＡＤｐ，ＡＤｉに関するメッセージ認証を行うようにしたものである。データ（Ｘ）に関して秘密鍵Ｋで生成するメッセージ認証コードはＭＡＣｋ（Ｘ）とする。
【０１１６】
すなわち、本実施形態は、固有の識別子を有したデバイスと、固有の識別子を有し少なくとも１台のデバイスが接続されるとともにデバイスとの間で通信が可能な分散認証サーバと、デバイスおよび分散認証サーバとの間で通信が可能であってデバイスおよび分散認証サーバに共通の秘密鍵を配布する認証サーバとを有する通信システムにおいて、認証サーバが秘密鍵を配布する方法であって、認証サーバが分散認証サーバとの間の通信に用いる第１の配布用秘密鍵と認証サーバがデバイスとの間の通信に用いる第２の配布用秘密鍵とを認証サーバが事前秘密鍵を用いてデバイスと分散認証サーバとにそれぞれ配布する第１過程と、分散認証サーバが第１のノンス値を生成するとともに第１の配布用秘密鍵を用いて第１のノンス値に基づいて生成した第１のメッセージ認証コードと第１のノンス値とをデバイスへ送信する第２過程と、デバイスが第２のノンス値を生成するとともに第２の配布用秘密鍵を用いて第２のノンス値に基づいて生成した第２のメッセージ認証コードと第２のノンス値とを分散認証サーバから受信した第１のメッセージ認証コードと併せて分散認証サーバにメッセージとして送信する第３過程と、分散認証サーバがデバイスからメッセージを受信した場合に第１の配布用秘密鍵を用いてメッセージに基づいて生成した第３のメッセージ認証コードと第１のノンス値および第２のノンス値とを認証サーバへ送信する第４過程と、認証サーバが第１のノンス値および第２のノンス値と第１の配布用秘密鍵および第２の配布用秘密鍵を用いてメッセージ認証のデータを生成するとともに、生成したメッセージ認証コードと分散認証サーバから受信した第３のメッセージ認証コードとを比較し、両メッセージ認証のデータが一致した場合に分散認証サーバとデバイスとに共通に与える秘密鍵を生成し、当該秘密鍵を第１の配布用秘密鍵で暗号化した第１のメッセージと当該秘密鍵を第２の配布用秘密鍵で暗号化した第２のメッセージとを分散認証サーバに送信する第５過程と、分散認証サーバが第１のメッセージを第１の配布用秘密鍵で復号化することにより秘密鍵を取得するとともに、第２のメッセージをデバイスに転送する第６過程と、デバイスが第２のメッセージを第２の配布用秘密鍵で復号化することにより秘密鍵を取得する第７過程とを有している。
【０１１７】
この方法では、分散認証サーバとデバイスとにおいてそれぞれノンス値を生成し、配布用秘密鍵を用いてノンス値に基づいて生成したメッセージ認証コードと、ノンス値とを認証サーバに送信し、認証サーバにおいて配布用秘密鍵とノンス値とからメッセージ認証コードを生成するとともに、分散認証サーバから受信したメッセージ認証コードと比較し、両メッセージ認証コードが一致しているときに分散認証サーバとデバイスとが接続されているものと判断して、分散認証サーバとデバイスとに共通する秘密鍵を配布するから、従来方法のように、デバイスのアドレスによりグループを確認する必要がなく、分散認証サーバとデバイスとが通信可能であれば、デバイスは分散認証サーバと同じグループと判断され、分散認証サーバと同じ秘密鍵を取得することができる。つまり、デバイスがアドホックであっても分散認証サーバに接続されていると遅滞なく秘密鍵が配布され、一方、デバイスが分散認証サーバに物理的に接続されていなければデバイスには秘密鍵が渡されないから、このデバイスはグループから除外される。
【０１１８】
以下に具体的に説明する。本実施形態は、実施形態１における手順（５）〜（７）において、図６に示すように、以下のメッセージを用いる。以下の説明において、認証サーバＡＳｍが、分散認証サーバＡＳｅとデバイスＤｉとについて、ＭＡＣアドレスＡＤｐ，ＡＤｉと識別子ＩＤｐ，ＩＤｉとの対応リストを保持している場合は、識別子ＩＤｐ，ＩＤｉを含むメッセージ認証処理によってデバイスＤｐ，Ｄｉの確認を行う必要がないので、識別子ＩＤｐ，ＩＤｉを括弧内に記載している。また、上述した各実施形態と同様に、分散認証サーバＡＳｅとデバイスＤｉとはそれぞれ配布用秘密鍵Ｋｔｍｐ，Ｋｔｍｉを備えているものとする。なお、以下の説明において付加情報Ｏｐを含むメッセージを記載しているが、付加情報Ｏｐは必須ではない。ノンス値Ｎｐ，ＮｉはステップＳ１，Ｓ２で生成される。
（５）分散認証サーバＡＳｅ→デバイスＤｉ：ＴＥＰ（ＩＤｐ，Ｎｐ，Ｏｐ），ＡＤｐ，ＭＡＣｋｔｍｐ（Ｎｐ，（ＩＤｐ），ＡＤｐ）
（６）デバイスＤｉ→分散認証サーバＡＳｅ：ＴＥＰ（ＩＤｉ，Ｎｉ，ＩＤｐ，Ｎｐ，Ｏｐ），ＡＤｉ，ＭＡＣｋｔｍｉ｛Ｎｉ，（ＩＤｉ），ＡＤｐ，ＭＡＣｋｔｍｐ（Ｎｐ，（ＩＤｐ），ＡＤｐ）｝
（７）分散認証サーバＡＳｅ→認証サーバＡＳｍ：ＴＥＰ（ＩＤｉ，Ｎｉ，ＩＤｐ，Ｎｐ，Ｏｐ），（ＡＤｐ，ＡＤｉ），ＭＡＣｋｔｍｐ［ＡＤｉ，ＭＡＣｋｔｍｉ｛Ｎｉ，（ＩＤｉ），ＡＤｐ，ＭＡＣｋｔｍｐ（Ｎｐ，（ＩＤｐ），ＡＤｐ）｝］
手順（５）は、分散認証サーバＡＳｅからデバイスＤｉにメッセージを送信する処理であり、分散認証サーバＡＳｅは、識別子ＩＤｐとノンス値Ｎｐと付加情報Ｏｐとを含むＴＥＰ（Ｄｐ）メッセージに加えて、ＭＡＣアドレスＡＤｐを送信し、さらに、ノンス値ＮｐとＭＡＣアドレスＡＤｐと（必要に応じて識別子ＩＤｐ）から秘密鍵Ｋｔｍｐを用いて生成したメッセージ認証コードＭＡＣｋｔｍｐ（Ｎｐ，（ＩＤｐ），ＡＤｐ）を送信する。
【０１１９】
手順（６）は、デバイスＤｉから分散認証サーバＡＳｅにメッセージを送信する処理であり、デバイスＤｉは、識別子ＩＤｉとノンス値Ｎｉと付加情報Ｏｐとに加えて分散認証サーバＡＳｅから取得した識別子ＩＤｐとノンス値Ｎｐとを含むＴＥＰ（Ｄｉ，Ｄｐ）メッセージを送信する。このとき、デバイスＤｉのＭＡＣアドレスＡＤｉを送信し、さらに、ノンス値ＮｉとＭＡＣアドレスＡＤｐと分散認証サーバＡＳｅから受信したメッセージ認証コードＭＡＣｋｔｍｐ（Ｎｐ，（ＩＤｐ），ＡＤｐ）とから配布用秘密鍵Ｋｔｍｉを用いて生成したメッセージ認証コードＭＡＣｋｔｍｉ｛Ｎｉ，（ＩＤｉ），ＡＤｐ，ＭＡＣｋｔｍｐ（Ｎｐ，（ＩＤｐ），ＡＤｐ）｝を送信する。
【０１２０】
手順（７）は、分散認証サーバＡＳｅから認証サーバＡＳｍにメッセージを送信する処理であり、デバイスＤｉから取得した識別子ＩＤｉおよびノンス値Ｎｉと、分散認証サーバＡＳｅの識別子ＩＤｐおよびノンス値Ｎｐと、付加情報Ｏｐとを含むＴＥＰ（ＩＤｉ，Ｎｉ，ＩＤｐ，Ｎｐ，Ｏｐ）メッセージを送信する。また、必要に応じて、分散認証サーバＡＳｅのＭＡＣアドレスＡＤｐとデバイスＤｉのＭＡＣアドレスＡＤｉとを送信する。さらに、メッセージ認証コードとして、手続（６）においてデバイスＤｉから受信したメッセージ認証コードＭＡＣｋｔｍｉ｛Ｎｉ，（ＩＤｉ），ＡＤｐ，ＭＡＣｋｔｍｐ（Ｎｐ，（ＩＤｐ），ＡＤｐ）｝に、デバイスＤｉのＭＡＣアドレスを付加したものから配布用秘密鍵Ｋｔｍｐを用いて生成したメッセージ認証コードＭＡＣｋｔｍｐ［ＡＤｉ，ＭＡＣｋｔｍｉ｛Ｎｉ，（ＩＤｉ）、ＡＤｐ、ＭＡＣｋｔｍｐ（Ｎｐ，（ＩＤｐ），ＡＤｐ）｝］を送信する。
【０１２１】
なお、上述したように、認証サーバＡＳｍが、分散認証サーバＡＳｅとデバイスＤｉとについて、ＭＡＣアドレスＡＤｐ，ＡＤｉと識別子ＩＤｐ，ＩＤｉとの対応リストを保持しているときには（ＡＤｐ，ＡＤｉ）を省略してもよい。
【０１２２】
認証サーバＡＳｍは、分散認証サーバＡＳｅの秘密鍵Ｋｔｍｐと、デバイスＤｉの秘密鍵Ｋｔｍｉと、ＴＥＰ（ＩＤｉ，Ｎｉ，ＩＤｐ，Ｎｐ，Ｏｐ）メッセージにより受信したノンス値（Ｎｐ，Ｎｉ）および識別子ＩＤｐおよびＩＤｉと、分散認証サーバＡＳｅから受信した（もしくは、認証サーバＡＳｍが保持している）ＭＡＣアドレス（ＡＤｐ、ＡＤｉ）とを用いて、メッセージ認証コードＭＡＣｋｔｍｐ［ＡＤｉ，ＭＡＣｋｔｍｉ｛Ｎｉ，（ＩＤｉ）、ＡＤｐ、ＭＡＣｋｔｍｐ（Ｎｐ，（ＩＤｐ），ＡＤｐ）｝］を算出する。このようにして得られたメッセージ認証コードを、分散認証サーバＡＳｅから受信したメッセージ認証コードと比較し（Ｓ３）、両者が一致していれば分散認証サーバＡＳｅとデバイスＤｉとが、ＭＡＣアドレスのリンクレベルで接続されていると確認することができる。
【０１２３】
以後の処理手順は実施形態１と同様であり、手順（８）〜（９）により分散認証サーバＡＳｅとデバイスＤｉとに新たな秘密鍵Ｋｓｐ，Ｋｓｉを配布する。本実施形態ではメッセージ認証コードとして、鍵付きのコード（たとえば、鍵付きハッシュ）を例示したが、鍵なしのハッシュ値を用いてもよい。
【０１２４】
本実施形態の他の構成および動作は上述した各実施形態と同様であり、分散認証サーバＡＳｅとデバイスＤｉとの間でノンス値Ｎｐ，Ｎｉを交換するのに加え、ＭＡＣアドレスのようなリンクアドレスを用いているから、認証サーバＡＳｍでは分散認証サーバＡＳｅとデバイスＤｉとの間の論理的接続だけではなく、物理的接続も確認することができる。すなわち、分散認証サーバＡＳｅとデバイスＤｉとが物理的に接続されていることをもって同じグループに属すると判断する場合に、分散認証サーバＡＳｅに対して物理的に接続されていないデバイスＤｉに秘密鍵を配布するのを防止することができる。
【図面の簡単な説明】
【０１２５】
【図１】実施形態を示すブロック図である。
【図２】実施形態１の動作説明図である。
【図３】実施形態２の動作説明図である。
【図４】実施形態５の動作説明図である。
【図５】実施形態６の動作説明図である。
【図６】実施形態７の動作説明図である。
【図７】従来例を示す構成図である。
【符号の説明】
【０１２６】
ＡＳｅ  分散認証サーバ
ＡＳｍ  認証サーバ
Ｄｉ  デバイス
Ｐｋ  鍵発行装置
１１  ノンス生成手段
１２  （第１の）認証コード送信手段
２１  ノンス生成手段
２２  （第２の）認証コード送信手段
３１  （第１の）秘密鍵配布手段
３２  比較手段
３３  秘密鍵生成手段
３４  （第２の）秘密鍵配布手段
【図１】
0005102701.tif 000002
【図２】
0005102701.tif 000003
【図３】
0005102701.tif 000004
【図４】
0005102701.tif 000005
【図５】
0005102701.tif 000006
【図６】
0005102701.tif 000007
【図７】
0005102701.tif 000008