(57)【要約】  同時にサーバを認証するクライアント数が多い場合に、認証処理時間をより短時間で完了させることができるようにするため、サーバ認証システム内のサーバは、クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した前記識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当手段と、前記アドレス鍵割当手段が割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成手段とを備える。前記クライアントは、前記メッセージ認証子生成手段が生成した前記メッセージ認証子に基づいて、前記サーバを認証するサーバ認証手段を備える。
2009107442.tif 000002
【特許請求の範囲】
【請求項１】
クライアントがサーバを認証するサーバ認証システムであって、
前記サーバは、
前記クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した前記識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当手段と、
前記アドレス鍵割当手段が割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成手段とを備え、
前記クライアントは、前記メッセージ認証子生成手段が生成した前記メッセージ認証子に基づいて、前記サーバを認証するサーバ認証手段を備えた
ことを特徴とするサーバ認証システム。
【請求項２】
アドレス鍵割当手段は、
クライアントを識別するための識別子を生成するために複数のアドレス空間を作成し、
各アドレス空間におけるクライアントのアドレスの組合せによって前記クライアントを一意に識別する条件の下、前記クライアントを識別するための識別子を構成する各アドレス空間上のアドレスに対してユニークなアドレス鍵を対応付け、
各クライアントに対して、当該クライアントを識別するための識別子を構成する各アドレス空間上のアドレスに対応付けた全てのアドレス鍵を安全に割り当てる
請求項１記載のサーバ認証システム。
【請求項３】
サーバは、アドレス鍵割当手段が全てのクライアントを識別するための識別子を構成する各アドレス空間上のアドレスに割り当てたアドレス鍵を秘密に記憶するアドレス鍵記憶手段を備え、
メッセージ認証子生成手段は、前記アドレス鍵記憶手段が記憶するアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成する
請求項１又は請求項２記載のサーバ認証システム。
【請求項４】
クライアントは、アドレス鍵割当手段が割り当てたアドレス鍵を秘密に記憶するクライアント側アドレス鍵記憶手段を備え、
サーバ認証手段は、サーバからネットワークを介して受信したメッセージ認証子を、前記クライアント側アドレス鍵記憶手段が記憶するアドレス鍵を用いて検証することによって、前記サーバを認証する
請求項１から請求項３のうちのいずれか１項に記載のサーバ認証システム。
【請求項５】
メッセージ認証子生成手段は、識別子の各アドレス空間についてアドレスが一致するクライアントグループに対して、当該アドレスに対応するアドレス鍵を用いてメッセージ認証子を生成し、生成した当該メッセージ認証子を当該クライアントグループに対して一斉配信し、
サーバ認証手段は、クライアントに対して割り当てられた全てのアドレス鍵を用いて、前記サーバから受信したメッセージ認証子を正しく検証したと判定したことを条件に、サーバの認証に成功したと判定する
請求項１から請求項４のうちのいずれか１項に記載のサーバ認証システム。
【請求項６】
サーバは、ハッシュ演算の演算結果のビット空間を部分空間に分割し、各部分空間に対してユニークなアドレスチェックサム鍵を対応付けた後、各クライアントに対して、当該クライアントを識別するための識別子を構成する各アドレス空間上のアドレスを示すデータの連結結果に対するハッシュ値を求め、求めたハッシュ値が含まれる部分空間に対して対応付けられたアドレスチェックサム鍵を安全に割り当てるアドレスチェックサム鍵割当手段を備え、
メッセージ認証子生成手段は、アドレス鍵割当手段が割り当てたアドレス鍵と、前記アドレスチェックサム鍵割当手段が割り当てたアドレスチェックサム鍵とを用いて、メッセージに対応するメッセージ認証子を生成する
請求項１から請求項５のうちのいずれか１項に記載のサーバ認証システム。
【請求項７】
サーバは、
アドレス鍵割当手段が全てのクライアントを識別するための識別子を構成する各アドレス空間上のアドレスに割り当てたアドレス鍵を秘密に記憶するアドレス鍵記憶手段と、
アドレスチェックサム鍵割当手段が全てのクライアントを識別するための識別子を構成する各アドレス空間上のアドレスを示すデータの連結結果に対するハッシュ値が含まれる部分空間に割り当てたアドレスチェックサム鍵を秘密に記憶するアドレスチェックサム鍵記憶手段とを備え、
メッセージ認証子生成手段は、前記アドレス鍵記憶手段が記憶するアドレス鍵と、前記アドレスチェックサム鍵記憶手段が記憶するアドレスチェックサム鍵とを用いて、メッセージに対応するメッセージ認証子を生成する
請求項６記載のサーバ認証システム。
【請求項８】
クライアントは、
アドレス鍵割当手段が割り当てたアドレス鍵を秘密に記憶するクライアント側アドレス鍵記憶手段と、
アドレスチェックサム鍵割当手段が割り当てたアドレスチェックサム鍵を秘密に記憶するクライアント側アドレスチェックサム鍵記憶手段を備え、
サーバ認証手段は、サーバからネットワークを介して受信したメッセージ認証子を、前記クライアント側アドレス鍵記憶手段が記憶するアドレス鍵と、前記クライアント側アドレスチェックサム鍵記憶手段が記憶するアドレスチェックサム鍵とを用いて検証することによって、前記サーバを認証する
請求項６又は請求項７記載のサーバ認証システム。
【請求項９】
メッセージ認証子生成手段は、
識別子の各アドレス空間についてアドレスが一致するクライアントグループに対して、当該アドレスに対応するアドレス鍵を用いてメッセージ認証子を生成し、生成した当該メッセージ認証子を当該クライアントグループに対して一斉配信し、
前記識別子を構成する各アドレス空間上のアドレスのデータ連結結果に対するハッシュ値が含まれる部分空間に対して対応付けられたアドレスチェックサム鍵を用いてメッセージ認証子を生成し、生成した当該メッセージ認証子を、前記識別子を構成する各アドレス空間上のアドレスのデータ連結結果に対するハッシュ値が含まれる部分空間が共通であるクライアントグループに対して一斉配信し、
サーバ認証手段は、クライアントに対して割り当てられた全てのアドレス鍵及びアドレスチェックサム鍵を用いて、前記サーバから受信したメッセージ認証子を正しく検証したと判定したことを条件に、サーバの認証に成功したと判定する
請求項６から請求項８のうちのいずれか１項に記載のサーバ認証システム。
【請求項１０】
クライアントがサーバを認証するサーバ認証システムに含まれるサーバであって、
前記クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した前記識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当手段と、
前記アドレス鍵割当手段が割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成手段とを
備えたことを特徴とするサーバ。
【請求項１１】
アドレス鍵割当手段は、
クライアントを識別するための識別子を生成するために複数のアドレス空間を作成し、
各アドレス空間におけるクライアントのアドレスの組合せによって前記クライアントを一意に識別する条件の下、前記クライアントを識別するための識別子を構成する各アドレス空間上のアドレスに対してユニークなアドレス鍵を対応付け、
各クライアントに対して、当該クライアントを識別するための識別子を構成する各アドレス空間上のアドレスに対応付けた全てのアドレス鍵を安全に割り当てる
請求項１０記載のサーバ。
【請求項１２】
クライアントがサーバを認証するサーバ認証システムに含まれるクライアントであって、
当該クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した前記識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当手段と、前記アドレス鍵割当手段が割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成手段とを備えたサーバが生成した前記メッセージ認証子に基づいて、前記サーバを認証するサーバ認証手段を
備えたことを特徴とするクライアント。
【請求項１３】
クライアントがサーバを認証するサーバ認証方法であって、
前記サーバが、前記クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した前記識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当ステップと、
前記サーバが、前記割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成ステップと、
前記クライアントが、前記サーバが生成した前記メッセージ認証子に基づいて、前記サーバを認証するサーバ認証ステップとを
含むことを特徴とするサーバ認証方法。
【請求項１４】
サーバが、アドレス鍵割当ステップで、クライアントを識別するための識別子を生成するために複数のアドレス空間を作成し、各アドレス空間におけるクライアントのアドレスの組合せによって前記クライアントを一意に識別する条件の下、前記クライアントを識別するための識別子を構成する各アドレス空間上のアドレスに対してユニークなアドレス鍵を対応付け、各クライアントに対して、当該クライアントを識別するための識別子を構成する各アドレス空間上のアドレスに対応付けた全てのアドレス鍵を安全に割り当てる請求項１３記載のサーバ認証方法。
【請求項１５】
クライアントがサーバを認証するためのサーバ認証用プログラムであって、
コンピュータに、
前記クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した前記識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当処理と、
前記割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成処理とを
実行させるためのサーバ認証用プログラム。
【請求項１６】
コンピュータに、
アドレス鍵割当処理で、
クライアントを識別するための識別子を生成するために複数のアドレス空間を作成する処理と、
各アドレス空間におけるクライアントのアドレスの組合せによって前記クライアントを一意に識別する条件の下、前記クライアントを識別するための識別子を構成する各アドレス空間上のアドレスに対してユニークなアドレス鍵を対応付ける処理と、
各クライアントに対して、当該クライアントを識別するための識別子を構成する各アドレス空間上のアドレスに対応付けた全てのアドレス鍵を安全に割り当てる処理とを実行させる
請求項１５記載のサーバ認証用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントがサーバを認証するサーバ認証システム、サーバ認証方法及びサーバ認証用プログラムに関する。また、本発明は、サーバ認証システムに含まれるサーバ及びクライアントに関する。
【背景技術】
【０００２】
センサネットワークのように、様々な環境に設置される多数のクライアントが情報を収集し、ネットワークを介して情報収集用のサーバに情報をアップロードするシステムがある。このようなシステムを用いれば、環境に設置したクライアントから、ネットワークを介して遠隔地の情報を把握可能であり、人がひとつひとつの場所を巡回して管理する方法と比較して、業務効率を向上することが可能である。【０００３】
例えば、センサネットワークの一例が、特許文献１に記載されている。図１６は、特許文献１に記載されたセンサネットワークの例を示す説明図である。図１６に示すように、特許文献１に記載されたセンサネットワーク９００は、無線通信機能を備えた複数のセンサデバイス（クライアント）９０１・・・と、外部アプリケーション（サーバ）９２１，９２２，９２３・・・とを含む。【０００４】
センサネットワーク９００の利用目的は様々であり、防犯・防災・介護・省エネ・広域計測・トレース等のあらゆる分野に利用されうる。例えば、介護の分野では、センサデバイス９０１を用いて心拍数や体温、姿勢、手足の動き、緊急事態等を監視することができる。ここで、センサデバイス９０１は、その製造コストや消費電力上の問題から、デバイス自体に高度な処理能力を保持しないことが多い。【０００５】
上記のような構成を有するセンサネットワークは、次のように動作する。すなわち、センサネットワークにおいて、環境に広範囲に設置される多数のクライアントからのデータをサーバに収集する際に、サーバに対して無線通信による経路を確立し、クライアントは確立された無線通信経路を介して情報を送信する。【０００６】
また、クライアントが送信する情報に個人又は企業のプライバシ情報や機密情報が含まれる場合、クライアントは、情報をアップロードする前に、送信先のサーバが正規のサーバであるか否かを確認（認証）する必要がある。この場合、センサネットワークのクライアントのように処理能力に制約のある環境上では、認証処理の実現のために公開鍵暗号を用いた処理を実装することは難しい。そのため、共通鍵暗号又は鍵付きハッシュ関数を用いたメッセージ認証が用いられる。【０００７】
具体的には、例えば非特許文献1に記載されているように、サーバとクライアントとの間で１対１に固有の秘密情報（暗号鍵）を事前に秘密に記憶させる。そして、送信するメッセージにメッセージ認証子と呼ばれる認証用の情報を、事前に共有させた固有の暗号鍵に基づいて生成し付与する。このメッセージ認証子は暗号鍵を共有するサーバ又はクライアントでしか生成できない情報であり、互いに生成した情報の一致を確認することでメッセージの送信元を認証することができる。この場合、暗号鍵ｋに基づいてメッセージｍに対して生成されるメッセージ認証子は、式（１）のように表すことができる。【０００８】
ＭＡＣ（ｋ，ｍ）  ・・・  式（１）【０００９】
具体的なメッセージ認証子の構成方法として、例えば、共通鍵暗号を用いたメッセージ認証子の構成方法が、非特許文献２に記載されている。また、例えば、鍵付きハッシュ関数を用いたメッセージ認証子の構成方法が、非特許文献３に記載されている。なお、このメッセージ認証子の構成方法は、これらの方法に限らず、クライアント上で実現可能な他の構成方法を用いてもよい。【００１０】
例えば、あるクライアントが正規のサーバの情報要求にのみ応答してデータをアップロードするようなセンサネットワークを構成する場合を考える。この場合、例えば、式（２）に示すように、サーバは、データの送信要求を示すメッセージｒｅｑ＿ｃｍｄに対して、クライアントとの間で共有済みの暗号鍵ｋを用いて、メッセージ認証子を生成する。そして、式（２）に示すように、生成したメッセージ認証子を、メッセージｒｅｑ＿ｃｍｄとともに各クライアントに送信する。ここで、式（２）において、｜｜は、データの連結を意味している。【００１１】
ｒｅｑ＿ｃｍｄ｜｜ＭＡＣ（ｋ，ｒｅｑ＿ｃｍｄ）  ・・・  式（２）【００１２】
サーバと同じ暗号鍵を共有するクライアントは、メッセージｒｅｑ＿ｃｍｄが正規のサーバから送信されたか否かを確認する。この場合、クライアントは、メッセージ認証子を自らの所有する暗号鍵で再構成し、送られてきたメッセージ認証子と比較して一致するか否かを判定する。ここで、一致すれば正規のサーバからであることが確認できるので、クライアントは、確認後にデータをアップロードするように動作する。【００１３】
なお、サーバ及びクライアントで秘密に記憶する暗号鍵は、例えば特許文献２に記載されている耐タンパデバイス（すなわち、内部の機密情報を不正に漏洩させることが非常に困難であるようなデバイス）を用いる等の運用によって、安全に管理されるという前提を置くことが多い。以下、秘密に記憶するとの記載がある場合、このような運用によって不正な漏洩が非常に困難であるという前提の下、秘密に記憶するものとする。【００１４】
【特許文献１】特開２００７−３４７３７号公報（第５−６頁、図９）
【特許文献２】特開２００７−２３４０３９号公報（第６頁）
【非特許文献１】阪田史郎等、「Ｚｉｇｂｅｅセンサネットワーク」、秀和システム、２００５年、ｐ．ｐ．１１８
【非特許文献２】FIPS PUB 113 - Computer Data Authentication - the Federal Information Processing Standard publication that defines the Data Authentication Algorithm、［平成１９年１２月２５日検索］、インターネット＜ URL : www.itl.nist.gov/fipspubs/fip113.htm ＞
【非特許文献３】RFC 2104 HMAC : Keyed-Hashing for Message Authentication、［平成１９年１２月２５日検索］、インターネット＜ URL : http://tools.ietf.org/html/rfc2104 ＞
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、サーバ−クライアント対毎に秘密に共有する暗号鍵を用いた方式（すなわち、サーバがメッセージ認証子を使って認証情報を生成し、各クライアントにユニキャストする方式）では、認証処理時間が増加するという問題がある。すなわち、サーバはクライアント毎に認証情報を生成して送信しなければならず、クライアント数に応じた通信量が必要であり、通信量に比例した通信時間を必要とする。特に、センサネットワークの場合には、収集領域の広域化／微細化を目的に、設置するクライアント（センサ）の数が増加する傾向があるため、認証処理時間が増加するという問題が顕在化している。【００１６】
そこで、本発明は、同時にサーバを認証するクライアント数が多い場合に、認証処理時間をより短時間で完了させることができるサーバ認証システム、サーバ、クライアント、サーバ認証方法及びサーバ認証用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明によるサーバ認証システムは、クライアントがサーバを認証するサーバ認証システムであって、サーバは、クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当手段と、アドレス鍵割当手段が割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成手段とを備え、クライアントは、メッセージ認証子生成手段が生成したメッセージ認証子に基づいて、サーバを認証するサーバ認証手段を備えたことを特徴とする。【００１８】
本発明によるサーバは、クライアントがサーバを認証するサーバ認証システムに含まれるサーバであって、クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当手段と、アドレス鍵割当手段が割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成手段とを備えたことを特徴とする。【００１９】
本発明によるクライアントは、クライアントがサーバを認証するサーバ認証システムに含まれるクライアントであって、当該クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当手段と、アドレス鍵割当手段が割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成手段とを備えたサーバが生成したメッセージ認証子に基づいて、サーバを認証するサーバ認証手段を備えたことを特徴とする。【００２０】
本発明によるサーバ認証方法は、クライアントがサーバを認証するサーバ認証方法であって、サーバが、クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当ステップと、サーバが、割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成ステップと、クライアントが、サーバが生成したメッセージ認証子に基づいて、サーバを認証するサーバ認証ステップとを含むことを特徴とする。【００２１】
本発明によるサーバ認証用プログラムは、クライアントがサーバを認証するためのサーバ認証用プログラムであって、コンピュータに、クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当処理と、割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成処理とを実行させるためのものである。
【発明の効果】
【００２２】
本発明によれば、サーバは、クライアント個々にメッセージ認証子を生成するのではなく、クライアントの識別子における各アドレス空間で同じアドレスをもつクライアントのグループに対してメッセージ認証子を生成する。従って、サーバがクライアント毎のメッセージ識別子を生成する必要をなくすことができ、認証処理に必要なデータの送信量と処理時間を削減することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明によるサーバ認証システムの構成の一例を示すブロック図である。
【図２】３つのアドレス空間でクライアントを識別する様子を示した説明図である。
【図３】クライアントの識別子の一例を示す説明図である。
【図４】アドレス鍵の一例を示す説明図である。
【図５】クライアントが記憶するアドレス鍵の一例を示す説明図である。
【図６】クライアントが正規のサーバであるか否かを認証する処理の一例を示すフローチャートである。
【図７】サーバ認証システムの他の構成例を示すブロック図である。
【図８】アドレスチェックサム鍵導出の例を示す説明図である。
【図９】クライアントが正規のサーバであるか否かを認証する他の処理例を示すフローチャートである。
【図１０】不正なクライアントによるサーバのなりすましの抑止効果を説明するための説明図である。
【図１１】実施例におけるサーバ認証システムの適用環境の具体例を示す説明図である。
【図１２】実施例におけるクライアントの識別子のアドレス空間構造を示す説明図である。
【図１３】実施例におけるアドレス鍵を示す説明図である。
【図１４】実施例におけるメッセージ認証子の一斉配信を説明するための説明図である。
【図１５】サーバ認証システムの最小の構成例を示す構成図である。
【図１６】センサネットワークの一例を示す説明図である。
【符号の説明】
【００２４】
１００  サーバ
１０１  アドレス鍵割当手段
１０２  アドレス鍵記憶手段
１０３，１０３Ａ  メッセージ認証子生成手段
１０４  アドレスチェックサム鍵割当手段
１０４１  ハッシュ演算手段
１０５  アドレスチェックサム鍵記憶手段
２００  クライアント
２０１，２０１Ａ  メッセージ認証子検証手段
２０２  アドレス鍵記憶手段
２０３  アドレスチェックサム鍵記憶手段
３００  ネットワーク
【発明を実施するための最良の形態】
【００２５】
実施形態１．
以下、本発明の第１の実施形態について図面を参照して説明する。本発明は、クライアントがサーバを認証するサーバ認証システムに関し、特に、多数のクライアントが、少ない通信量でサーバを認証可能なサーバ認証システムに関するものである。【００２６】
まず、本発明によるサーバ認証システムの概要を説明する。本発明によるサーバ認証システムの第１の構成では、サーバは、アドレス鍵割当手段と、アドレス鍵記憶手段と、メッセージ認証子生成手段とを備える。また、クライアントは、アドレス鍵記憶手段と、メッセージ認証子検証手段とを備える。【００２７】
サーバのアドレス鍵割当手段は、クライアントの識別子のために複数のアドレス空間を作り、各アドレス空間におけるクライアントの位置（アドレス）の組合せによってクライアントを一意に識別する条件の下、クライアントの識別子の各アドレス空間のアドレスに対してユニークな秘密情報（アドレス鍵）を対応付け、各クライアントに対して、そのクライアントの識別子の各アドレス空間のアドレスに対応付けた全てのアドレス鍵をオンライン又はオフラインで可能な安全な伝達方法を用いて割り当てるように動作する。【００２８】
サーバのアドレス鍵記憶手段は、全てのクライアントの識別子の各アドレス空間のアドレスに割り当てたアドレス鍵を他者に公開することなく秘密に記憶する。【００２９】
また、メッセージ認証子生成手段は、アドレス鍵記憶手段が記憶するアドレス鍵を用いて、任意のメッセージに対してメッセージ認証子を計算する。【００３０】
クライアントのアドレス鍵記憶手段は、サーバのアドレス鍵割当手段が割り当てたアドレス鍵を他者に公開することなく秘密に記憶する。【００３１】
また、メッセージ認証子検証手段は、サーバからネットワークを介して送信されるメッセージ認証子を、アドレス鍵記憶手段が記憶するアドレス鍵を用いて検証するよう動作する。【００３２】
上記のような構成を採用し、サーバは、識別子の各アドレス空間についてアドレスが一致するクライアントグループに対して、アドレスに対応させたアドレス鍵を用いてメッセージ認証子を生成し、生成したメッセージ認証子を当該クライアントグループに対して一斉配信する。そして、クライアントは、割り当てられたアドレス鍵を全て余すことなく用いて、サーバからのメッセージ認証子を正しく検証したと判定したときに、正規のサーバであると判定して認証を完了する。そのように動作することにより、本発明の目的を達成することができる。【００３３】
すなわち、本発明によるサーバ認証システムでは、クライアントのアドレス鍵記憶手段が記憶するアドレス鍵を用いて生成できるメッセージ認証子を、全て生成可能であるのは、アドレス鍵のもたせ方からそのクライアントとサーバのみである。従って、クライアントは、メッセージ認証子の受信時に自身の保持するアドレス鍵で検証し、保持する全てのアドレス鍵で検証に成功した時点で、それらのメッセージ認証子の送信者が正規のサーバであることを確認できる。【００３４】
全てのクライアントがサーバを認証する際、サーバからネットワークに送信するメッセージ認証子の個数はアドレスの総数となり、その送信量は、メッセージ認証子のサイズとアドレスの総数の乗算で求められる。一方、各クライアントにメッセージ認証子をユニキャストする方式を用いた場合には、サーバからネットワークに送信するメッセージ認証子の個数はクライアントの総数となり、その送信量は、メッセージ認証子のサイズとクライアントの総数との乗算で求められる。【００３５】
クライアントの総数はクライアントの識別子の各アドレス空間のアドレス数の乗算値であり、アドレスの総数はクライアントの識別子の各アドレス空間のアドレス数の加算値である。従って、クライアントの総数が著しく少ない場合を除き、アドレスの総数＜クライアントの総数という関係が成立する。従って、本発明によれば、クライアント数が多い場合にサーバから送信するデータ量を削減することができる。すなわち、ネットワークの性能が同条件である下において、認証処理時間をより短時間で完了させることができる。【００３６】
なお、クライアントが備えるアドレス鍵記憶手段では、耐タンパデバイス等を用いて内部に記憶するアドレス鍵を安全に管理するべきである。しかし、万一の漏洩があった場合、悪意のあるクライアントは、漏洩したアドレス鍵と自身のアドレス鍵を組み合わせて、サーバへのなりすましが可能となる。このなりすましを抑制する手段をさらに加えた構成を第２の構成として示す。【００３７】
本発明によるサーバ認証システムの第２の構成では、サーバは、アドレス鍵割当手段と、アドレス鍵記憶手段と、アドレスチェックサム鍵割当手段と、アドレスチェックサム鍵記憶手段と、メッセージ認証子生成手段とを備える。また、クライアントは、アドレス鍵記憶手段と、アドレスチェックサム鍵記憶手段と、メッセージ認証子検証手段とを備える。【００３８】
サーバのアドレス鍵割当手段は、クライアントの識別子のために複数のアドレス空間を作り、各アドレス空間におけるクライアントの位置（アドレス）の組合せによってクライアントを一意に識別する条件の下、クライアントの識別子の各アドレス空間のアドレスに対してユニークな秘密情報（アドレス鍵）を対応付け、各クライアントに対して、そのクライアントの識別子の各アドレス空間のアドレスに対応付けた全てのアドレス鍵をオンライン又はオフラインで可能な安全な伝達方法を用いて割り当てるように動作する。【００３９】
サーバのアドレス鍵記憶手段は、全てのクライアントの識別子の各アドレス空間のアドレスに割り当てたアドレス鍵を他者に公開することなく秘密に記憶する。【００４０】
サーバのアドレスチェックサム鍵割当手段は、ハッシュ演算手段を内包し、本ハッシュ演算手段による演算結果のビット空間を部分空間に分割し、各部分空間に対してユニークな秘密情報（アドレスチェックサム鍵）を対応付けた後、各クライアントに対して、当該クライアントの識別子の各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値を求め、本ハッシュ値の含まれる部分空間に対して対応付けられたアドレスチェックサム鍵をオンライン又はオフラインで可能な安全な伝達方法を用いて割り当てるように動作する。【００４１】
サーバのアドレスチェックサム鍵記憶手段は、全てのクライアントの識別子の各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値の含まれる部分空間に割り当てたアドレスチェックサム鍵を他者に公開することなく秘密に記憶する。【００４２】
また、メッセージ認証子生成手段は、アドレス鍵記憶手段が記憶するアドレス鍵と、アドレスチェックサム鍵記憶手段が記憶するアドレスチェックサム鍵とを用いて任意のメッセージに対してメッセージ認証子を計算する。【００４３】
クライアントのアドレス鍵記憶手段は、サーバが割り当てたアドレス鍵を他者に公開することなく秘密に記憶する。【００４４】
クライアントのアドレスチェックサム鍵記憶手段は、サーバが割り当てたアドレスチェックサム鍵を他者に公開することなく秘密に記憶する。【００４５】
また、メッセージ認証子検証手段は、サーバからネットワークを介して送信されるメッセージ認証子を、アドレス鍵記憶手段が記憶するアドレス鍵と、アドレスチェックサム鍵記憶手段が記憶するアドレスチェックサム鍵とを用いて検証するよう動作する。【００４６】
上記のような構成を採用し、サーバは、識別子の各アドレス空間についてアドレスが一致するクライアントグループに対して、アドレスに対応させたアドレス鍵を用いてメッセージ認証子を生成し、生成したメッセージ認証子を当該クライアントグループに対して一斉配信する。さらに、サーバは、クライアントの識別子の各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値の含まれる部分空間に対して対応付けられたアドレスチェックサム鍵を用いてメッセージ認証子を生成し、生成したメッセージ認証子をクライアントの識別子の各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値の含まれる部分空間が共通であるクライアントグループに対して一斉配信する。そして、クライアントは自身の識別子の各アドレス空間に対応付けたアドレス鍵及びアドレスチェックサム鍵を全て余すことなく用いて、サーバからのメッセージ認証子を正しく検証したと判定したときに、正規のサーバであると判定して認証を完了する。そのように動作することにより、本発明の目的を達成することができる。【００４７】
本発明によるサーバ認証システムの第２の構成では、クライアントのアドレス鍵記憶手段が記憶するアドレス鍵と、アドレスチェックサム鍵記憶手段が記憶するアドレスチェックサム鍵とを用いて生成できるメッセージ認証子を、全て生成可能であるのは、アドレス鍵とアドレスチェックサム鍵とのもたせ方からそのクライアントとサーバのみである。従って、クライアントは、メッセージ認証子の受信時に自身の保持するアドレス鍵とアドレスチェックサム鍵とで検証し、保持する全てのアドレス鍵及びアドレスチェックサム鍵で検証に成功した時点で、それらのメッセージ認証子の送信者が正規のサーバであることを確認できる。【００４８】
サーバ認証システムの第２の構成では、クライアントがアドレス鍵を用いた検証に加えて、アドレスチェックサム鍵を用いた検証を行うことで、あるクライアントのアドレス鍵記憶手段が記憶するアドレス鍵が不当に悪意のあるクライアントに漏洩した場合における、悪意のあるクライアントによるサーバのなりすましを抑制できる。すなわち、漏洩したアドレス鍵と自身で保持するアドレス鍵とを組み合わせてサーバになりすましたとしても、悪意のあるクライアントがもつアドレスチェックサム鍵とアドレス鍵との組合せが、必ずしもサーバが記憶するアドレスチェックサム鍵とアドレス鍵との正規の組合せと一致しないからである。この一致する確率は、ハッシュ演算空間の分割数がｎのときに１／ｎになる。この場合、サーバ認証システムの第１の構成に比べてサーバから送信するメッセージ認証子の数はｎ個増加するだけであり、クライアントの数に依存することはない。【００４９】
次に、サーバ認証システムの構成について説明する。図１は、本発明によるサーバ認証システムの構成の一例を示すブロック図である。なお、図１に示すサーバ認証システムは、例えば、センサネットワークの用途に適用される。【００５０】
図１に示すように、サーバ認証システムは、プログラム制御により動作するサーバ１００と、Ｎ（1≦Ｎ）台のクライアント２００とを含む。また、サーバ１００と、クライアント２００とは、インターネット等のネットワーク３００を介して接続される。なお、図１では、１つのクライアント２００が示されているが、サーバ認証システムは、複数（本例ではＮ台）のクライアント２００を含む。【００５１】
また、図１に示すように、サーバ１００は、アドレス鍵割当手段１０１と、アドレス鍵記憶手段１０２と、メッセージ認証子生成手段１０３とを含む。サーバ１００は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。【００５２】
また、図１に示すように、クライアント２００は、メッセージ認証子検証手段２０１と、アドレス鍵記憶手段２０２とを含む。クライアント２００は、具体的には、心拍計や体温計、電気メータ、ガスメータ等の各種センサを搭載するとともに、少なくとも各種センサの検出信号を送信処理するための制御部及び通信部を備えたセンサ装置によって実現される。なお、Ｎ台の各クライアント２００は全て同様の構成であるので、図１では、１台のクライアント２００の構成のみを示している。【００５３】
図１に示す各手段は、それぞれ以下のように動作する。【００５４】
サーバ１００のアドレス鍵割当手段１０１は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。アドレス鍵割当手段１０１は、クライアント２００を識別するための識別子を生成するために、複数のアドレス空間を作成する機能を備える。また、アドレス鍵割当手段１０１は、各アドレス空間におけるクライアント２００の位置（具体的には、アドレス）の組合せによって、クライアント２００を一意に識別する機能を備える。また、アドレス鍵割当手段１０１は、クライアント２００の識別結果に基づいて、各アドレス空間におけるクライアント２００の位置（アドレス）に対して、それぞれ秘密情報（具体的には、アドレス鍵）を割り当てる機能を備える。【００５５】
図２は、３つのアドレス空間でクライアント２００を識別する様子を示した説明図である。以下、図２に示した例に基づいて説明を行う。なお、図２は、説明を分かりやすくするために、３つのアドレス空間を用いる場合を示したものであり、アドレス鍵割当手段１０１が作成するアドレス空間は３つに限らず、例えば、４以上のアドレス空間が生成されてもよい。【００５６】
図２に示す例において、各アドレス空間のアドレスは、図２に示す各楕円内に示されている。例えば、図２に示すように、アドレス空間１はアドレス１−１，１−２，・・・，１−ｐを含み、アドレス空間２はアドレス２−１，２−２，・・・，２−ｑを含み、アドレス空間３はアドレス３−１，３−２，・・・，３−ｒを含む。なお、図２において、ｐ，ｑ，ｒは、各アドレス空間において、全クライアント２００を識別するために必要なアドレスの最大数を示している。【００５７】
図２に示す例において、各アドレス空間のアドレスの組合せが、クライアント２００を識別するための識別子となる。例えば、図２に示すクライアント２００の場合、図３に示すように、（１−１，２−ｑ、３−２）がクライアント２００の識別子となる。このように、各アドレス空間におけるクライアント２００の位置（アドレス）によってクライアント２００を一意に識別する条件の下、クライアント２００の識別子の各アドレス空間のアドレスに対してユニークな秘密情報（具体的には、アドレス鍵）を対応付ける。【００５８】
図４に示す例では、アドレス鍵割当手段１０１は、アドレスＸに対して、アドレス鍵Ｋ（Ｘ）を対応付けている、具体的には、アドレス空間１上のアドレス１−１，１−２，・・・，１−ｐに対して、それぞれアドレス鍵Ｋ（１−１），Ｋ（１−２），・・・，Ｋ（１−ｐ）を対応付けている。また、アドレス空間２上のアドレス２−１，２−２，・・・，２−ｑに対して、それぞれアドレス鍵Ｋ（２−１），Ｋ（２−２），・・・，Ｋ（２−ｑ）を対応付けている。さらに、また、アドレス空間３上のアドレス３−１，３−２，・・・，３−ｒに対して、それぞれアドレス鍵Ｋ（３−１），Ｋ（３−２），・・・，Ｋ（３−ｒ）を対応付けている。【００５９】
そして、アドレス鍵割当手段１０１は、各クライアント２００に対して、そのクライアント２００の識別子を構成する各アドレス空間上のアドレスに対応付けた全てのアドレス鍵を、オンライン又はオフラインで可能な安全な伝達方法を用いて割り当てる。この場合、アドレス鍵割当手段１０１は、クライアント２００に対して、図５に示すように、（Ｋ（１−１），Ｋ（２−ｑ），Ｋ（３−２））の計３種類のアドレス鍵を含むアドレス鍵束を割り当てる。【００６０】
サーバ１００のアドレス鍵記憶手段１０２は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。アドレス鍵記憶手段１０２は、全てのクライアント２００の識別子を構成する各アドレス空間上のアドレスに割り当てたアドレス鍵を、他者に公開することなく秘密に記憶する。なお、アドレス鍵記憶手段１０２は、例えば、各アドレス鍵を、それぞれアドレス空間上のアドレスに対応付けて記憶する。【００６１】
なお、本実施形態において、アドレス鍵記憶手段１０２は、耐タンパデバイスを用いて内部に記憶するアドレス鍵を安全に管理したり、正規のサーバ管理者のみが知るパスワード等の認証手段で情報へのアクセスを制限する等の公知の技術を用いて、アドレス鍵を不当に利用できないようにしている。【００６２】
サーバ１００のメッセージ認証子生成手段１０３は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵ及びネットワークインタフェース部によって実現される。メッセージ認証子生成手段１０３は、アドレス鍵記憶手段１０２が記憶するアドレス鍵を用いて、任意のメッセージに対してメッセージ認証子を計算する機能を備える。【００６３】
クライアント２００のアドレス鍵記憶手段２０２は、具体的には、センサ装置が備えるメモリや磁気ディスク装置等の記憶部によって実現される。アドレス鍵記憶手段２０２は、サーバ１００のアドレス鍵割当手段１０１が割り当てたアドレス鍵を、他者に公開することなく秘密に記憶する。【００６４】
なお、本実施形態において、アドレス鍵記憶手段２０２は、耐タンパデバイスを用いて内部に記憶するアドレス鍵を安全に管理したり、正規のクライアント管理者のみが知るパスワード等の認証手段で情報へのアクセスを制限する等の公知の技術を用いて、アドレス鍵を不当に利用できないようにしている。【００６５】
また、図４に示すアドレス鍵の割り当て例において、クライアント２００が秘密に記憶する鍵束は、図５に示すように、（Ｋ（１−１），Ｋ（２−ｑ），Ｋ（３−２））の計３種類のアドレス鍵を含む。【００６６】
クライアント２００のメッセージ認証子検証手段２０１は、具体的には、センサ装置が備える制御部及び通信部によって実現される。メッセージ認証子検証手段２０１は、サーバ１００からネットワーク３００を介して送信されるメッセージ認証子を、アドレス鍵記憶手段２０２が記憶するアドレス鍵を用いて検証する機能を備える。【００６７】
具体的には、メッセージ認証子検証手段２０１は、アドレス鍵記憶手段２０２が記憶するアドレス鍵を用いてメッセージ認証子を再構成する。また、メッセージ認証子検証手段２０１は、サーバ１００から受信したメッセージ認証子と、再構成したメッセージ認証子とが一致するか否かを判定する。そして、メッセージ認証子検証手段２０１は、クライアント２００に割り当てられたアドレス鍵を全て余すことなく用いて、メッセージ認証子が一致すると判定すると、正規のサーバ１００であると判定する。【００６８】
なお、本実施形態において、サーバ１００の記憶装置（図示せず）は、クライアント２００によるサーバ１００を実現するための各種プログラムを記憶している。例えば、サーバ１００の記憶装置は、コンピュータに、クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当処理と、割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成処理とを実行させるためのサーバ認証用プログラムを記憶している。【００６９】
次に、動作について説明する。図６は、クライアント２００が正規のサーバ１００であるか否かを認証する処理の一例を示すフローチャートである。まず、サーバ認証システムの運用を開始する前の動作について説明する。【００７０】
まず、サーバ１００は、クライアント２００の認証に先立つ段階（すなわち、システムの運用開始前）において、Ｎ台のクライアント２００を複数のアドレス空間のアドレスの組合せによって、各クライアント２００を一意に識別する（図６に示すステップＳ１１）。【００７１】
次に、サーバ１００は、クライアント２００の識別子を構成する各アドレス空間上のアドレスに、ユニークなアドレス鍵を対応付ける。そして、サーバ１００は、識別子の各アドレス空間についてアドレスが一致するクライアントグループに対して、同じアドレス鍵を安全な方法を用いてクライアント２００に割り当てる（ステップＳ１２）。この場合、クライアント２００にアドレス鍵を割り当てる方法として、例えば、ＳＳＬやＩＰｓｅｃ等を用いた既存の安全な通信路を介してオンラインでアドレス鍵を送信することによって行ってもよい。また、例えば、正規の管理者が、正当なオフライン経路で入手したアドレス鍵をキーボード等の入力手段を介して、クライアント２００に入力して行う等の公知の手段を用いて行ってもよい。【００７２】
次に、サーバ１００からアドレス鍵を割り当てられたクライアントｉ（１≦ｉ≦Ｎ）は、割り当てられたアドレス鍵を記憶する（ステップＣ１１）。また、サーバ１００は、各クライアント２００に対して割り当てた全てのアドレス鍵を記憶する（ステップＳ１３）。【００７３】
以上のステップの処理を実行することにより、クライアント２００は、サーバ１００を認証することが可能となる。すなわち、システムを運用開始できる状態となる。【００７４】
システムの運用開始後、サーバ１００がＮ台のクライアント２００に対してメッセージを一斉送信する場合等に、Ｎ台のクライアント２００が同時にメッセージの送信元が正規のサーバ１００であるか否かを認証したい状況が発生する。この場合、サーバ１００は、一斉配信するメッセージに対して、メッセージ認証子を生成する。そして、サーバ１００は、生成したメッセージ認証子を、メッセージとともに一斉配信する。【００７５】
具体的には、サーバ１００は、クライアント２００の識別子の各アドレス空間についてアドレスが一致するクライアントグループに対して、アドレスに対応させたアドレス鍵を用いてメッセージ認証子を生成する（ステップＳ１４）。そして、サーバ１００は、生成したメッセージ認証子を、当該クライアントグループに対して一斉配信する（ステップＳ１５）。この場合、サーバ１００は、メッセージ識別子の一斉配信の方法として、マルチキャスト又はブロードキャストによる方法を用いることができる。【００７６】
サーバ１００は、アドレス鍵記憶手段１０２が記憶する全てのアドレス鍵を用いてメッセージ認証子を生成し、一斉配信が完了するまで、ステップＳ１４，Ｓ１５の処理を繰り返し実行する（ステップＳ１６）。【００７７】
具体的には、図２に示す例では、サーバ１００は、アドレス空間ａ（１≦ａ≦３）において、アドレスａ−ｂ（１≦ｂ≦アドレス空間ａのアドレス数（ｐ、ｑ又はｒ））をもつクライアント２００のグループには、アドレス鍵Ｋ（ａ−ｂ）を用いて生成したメッセージ認証子を一斉配信する。例えば、サーバ１００は、アドレス空間１のアドレス１−１をもつクライアント２００のグループには、図４に示すように、アドレス鍵Ｋ（１−１）を共有させているので、アドレス鍵Ｋ（１−１）を用いて生成したメッセージ認証子を一斉配信する。【００７８】
例えば、図３に示す識別子をもつクライアント２００は、アドレス１−１をもつクライアント２００のグループ，アドレス２−ｑをもつクライアント２００のグループ，及びアドレス３−２をもつクライアント２００のグループの３つのグループに属する。そのため、クライアント２００は、結果的に、式（３）に示す各メッセージ認証子（及び任意のメッセージｒｅｑ＿ｃｍ）を受信することになる。【００７９】
ＭＡＣ（Ｋ（１−１），ｒｅｑ＿ｃｍｄ）
ＭＡＣ（Ｋ（２−ｑ），ｒｅｑ＿ｃｍｄ）
ＭＡＣ（Ｋ（３−２），ｒｅｑ＿ｃｍｄ）  ・・・  式（３）【００８０】
次に、メッセージ認証子を受信したクライアントｉは、メッセージ認証子を自身が記憶するアドレス鍵（すなわち、アドレス鍵記憶手段２０２が記憶するアドレス鍵）を用いて検証する（ステップＣ１２）。そして、クライアント２００は、割り当てられたアドレス鍵を全て余すことなく用いて、サーバ１００からのメッセージ認証子を正しく検証できたと判断すると、正規のサーバ１００であると判定し、認証を完了する（ステップＣ１３）。【００８１】
図５に示す例では、クライアント２００が保持するアドレス鍵は、Ｋ（１−１）、Ｋ（２−ｑ）及びＫ（３−２）である。従って、クライアント２００は、これら３つのアドレス鍵を用いて、サーバ１００から受信する式（３）に示すメッセージ認証子を全て検証可能であり、メッセージ識別子を全て検証できたことに基づいて、サーバ１００の認証に成功したと判定する。なお、クライアント２００は、割り当てられた複数のアドレス鍵のうち、１つでもメッセージ識別子を検証できなかったアドレス鍵がある場合には、サーバ１００の認証に失敗したと判定する。【００８２】
以上のように、本実施形態によれば、サーバ１００は、クライアント２００個々にメッセージ認証子を送信するのではなく、クライアント２００の識別子における各アドレス空間で同じアドレスをもつクライアント２００のグループに対してメッセージ認証子を送信する。そのように構成されていることによって、サーバ１００がクライアント２００毎のメッセージ識別子を生成して送信する必要をなくすことができ、認証処理に必要なデータの送信量と処理時間を削減することができる。【００８３】
また、本実施形態によれば、さらに、サーバ１００とクライアント２００との対毎に鍵を共有するのではなく、サーバ１００は、クライアント２００の識別子における各アドレス空間で同じアドレスをもつクライアント２００のグループとの間で鍵を共有する。そのように構成されていることによって、サーバ１００とクライアント２００との対毎にアドレス鍵を管理する必要をなくすことができ、サーバ１００側で管理する鍵の個数を削減できる。【００８４】
実施形態２．
次に、本発明の第２の実施形態について図面を参照して説明する。図７は、サーバ認証システムの他の構成例を示すブロック図である。図７に示すように、本実施形態では、図１に示した構成要素に加えて、サーバ１００が、アドレスチェックサム鍵割当手段１０４と、アドレスチェックサム鍵記憶手段１０５とを含む点で、第１の実施形態と異なる。また、アドレスチェックサム鍵割当手段１０４は、内部手段としてハッシュ演算手段１０４１を含む。また、本実施形態では、図１に示した構成要素に加えて、クライアント２００が、アドレスチェックサム鍵記憶手段２０３を含む点で、第１の実施形態と異なる。【００８５】
また、本実施形態では、メッセージ認証子生成手段１０３Ａの機能が、第１の実施形態で示したメッセージ認証子生成手段１０３の機能と異なる。また、本実施形態では、メッセージ認証子検証手段２０１Ａの機能が、第１の実施形態で示したメッセージ認証子検証手段２０１の機能と異なる。【００８６】
図７に示す各手段は、それぞれ以下のように動作する。【００８７】
サーバ１００のアドレス鍵割当手段１０１は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。アドレス鍵割当手段１０１は、クライアント２００を識別するための識別子を生成するために、複数のアドレス空間を作成する機能を備える。また、アドレス鍵割当手段１０１は、各アドレス空間におけるクライアント２００の位置（具体的には、アドレス）の組合せによって、クライアント２００を一意に識別する機能を備える。また、アドレス鍵割当手段１０１は、クライアント２００の識別結果に基づいて、各アドレス空間におけるクライアント２００の位置（アドレス）に対して、それぞれ秘密情報（具体的には、アドレス鍵）を割り当てる機能を備える。【００８８】
なお、アドレス鍵割当手段１０１は、第１の実施形態と同様に、各アドレス空間におけるクライアント２００の位置（アドレス）によってクライアント２００を一意に識別する条件の下、クライアント２００の識別子の各アドレス空間のアドレスに対してユニークな秘密情報（アドレス鍵）を対応付ける。そして、アドレス鍵割当手段１０１は、第１の実施形態と同様に、各クライアント２００に対して、そのクライアント２００の識別子を構成する各アドレス空間上のアドレスに対応付けた全てのアドレス鍵を、オンライン又はオフラインで可能な安全な伝達方法を用いて割り当てる。【００８９】
サーバ１００のアドレスチェックサム鍵割当手段１０４は、具体的には、プログラムに従って動作する情報処理装置のＣＰＵによって実現される。また、アドレスチェックサム鍵割当手段１０４は、ハッシュ演算を行うハッシュ演算手段１０４１を含む。【００９０】
アドレスチェックサム鍵割当手段１０４は、ハッシュ演算手段１０４１による演算結果のビット空間を部分空間に分割し、各部分空間に対してユニークな秘密情報（具体的には、アドレスチェックサム鍵）を対応付ける機能を備える。また、アドレスチェックサム鍵割当手段１０４は、秘密情報を対応付けた後、クライアント２００の識別子の各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値を求める機能を備える。また、アドレスチェックサム鍵割当手段１０４は、求めたハッシュ値が含まれる部分空間に対して対応付けられたアドレスチェックサム鍵を、オンライン又はオフラインで可能な安全な伝達方法を用いて割り当てる機能を備える。【００９１】
図８は、アドレスチェックサム鍵導出の例を示す説明図である。なお、図８に示す例では、説明を分かりやすくするために、ハッシュ演算手段１０４１による演算結果のビット空間を均等に８分割している（分割数は任意に決定できる）。そして、分割した各部分空間にそれぞれアドレスチェックサム鍵１（Ｋｃｋ（１））〜アドレスチェックサム鍵８（Ｋｃｋ（８））を対応付けている。【００９２】
例えば、図３に示す識別子をもつクライアント２００の場合、クライアント２００の識別子を構成する各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値が、部分空間４に写像できるとする。この場合、アドレスチェックサム鍵割当手段１０４は、クライアント２００に対して、部分空間４に写像できることに基づいて、アドレスチェックサム鍵４（Ｋｃｋ（４））を割り当てる。【００９３】
なお、ハッシュ演算手段１０４１は、例えば、ＳＨＡ１やＳＨＡ２５６、ＳＨＡ５１２、ＭＤ５等の公知の方式を用いて、ハッシュ演算を行うことができる。【００９４】
サーバ１００のアドレス鍵記憶手段１０２は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。アドレス鍵記憶手段１０２は、全てのクライアント２００の識別子を構成する各アドレス空間のアドレスに割り当てたアドレス鍵を、他者に公開することなく秘密に記憶する。なお、アドレス鍵記憶手段１０２は、例えば、各アドレス鍵を、それぞれアドレス空間上のアドレスに対応付けて記憶する。【００９５】
なお、本実施形態において、アドレス鍵記憶手段１０２は、耐タンパデバイスを用いて内部に記憶するアドレス鍵を安全に管理したり、正規のサーバ管理者のみが知るパスワード等の認証手段で情報へのアクセスを制限する等の公知の技術を用いて、アドレス鍵を不当に利用できないようにしている。【００９６】
サーバ１００のアドレスチェックサム鍵記憶手段１０５は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。アドレスチェックサム鍵記憶手段１０５は、サーバ１００のアドレスチェックサム鍵割当手段１０４が割り当てたアドレスチェックサム鍵を、他者に公開することなく全て秘密に記憶する。【００９７】
なお、本実施形態において、アドレスチェックサム鍵記憶手段１０５は、耐タンパデバイスを用いて内部に記憶するアドレスチェックサム鍵を安全に管理したり、正規のサーバ管理者のみが知るパスワード等の認証手段で情報へのアクセスを制限する等の公知の技術を用いて、アドレスチェックサム鍵を不当に利用できないようにしている。【００９８】
サーバ１００のメッセージ認証子生成手段１０３Ａは、具体的には、プログラムに従って動作する情報処理装置のＣＰＵ及びネットワークインタフェース部によって実現される。メッセージ認証子生成手段１０３Ａは、アドレス鍵記憶手段１０２が記憶するアドレス鍵と、アドレスチェックサム鍵記憶手段１０５が記憶するアドレスチェックサム鍵とを用いて、任意のメッセージに対してメッセージ認証子を計算する機能を備える。【００９９】
クライアント２００のアドレス鍵記憶手段２０２は、具体的には、センサ装置が備えるメモリや磁気ディスク装置等の記憶部によって実現される。アドレス鍵記憶手段２０２は、サーバ１００のアドレス鍵割当手段１０１が割り当てたアドレス鍵を、他者に公開することなく秘密に記憶する。【０１００】
なお、本実施形態において、アドレス鍵記憶手段２０２は、耐タンパデバイスを用いて内部に記憶するアドレス鍵を安全に管理したり、正規のクライアント管理者のみが知るパスワード等の認証手段で情報へのアクセスを制限する等の公知の技術を用いて、アドレス鍵を不当に利用できないようにしている。【０１０１】
クライアント２００のアドレスチェックサム鍵記憶手段２０３は、具体的には、センサ装置が備えるメモリや磁気ディスク装置等の記憶部によって実現される。アドレスチェックサム鍵記憶手段２０３は、サーバ１００のアドレスチェックサム鍵割当手段１０４が割り当てたアドレスチェックサム鍵を、他者に公開することなく秘密に記憶する。【０１０２】
なお、本実施形態において、アドレスチェックサム鍵記憶手段２０３は、耐タンパデバイスを用いて内部に記憶するアドレス鍵を安全に管理したり、正規のクライアント管理者のみが知るパスワード等の認証手段で情報へのアクセスを制限する等の公知の技術を用いて、アドレスチェックサム鍵を不当に利用できないようにしている。【０１０３】
クライアント２００のメッセージ認証子検証手段２０１Ａは、具体的には、センサ装置が備える制御部及び通信部によって実現される。メッセージ認証子検証手段２０１Ａは、サーバ１００からネットワーク３００を介して送信されるメッセージ認証子を、アドレス鍵記憶手段２０２が記憶するアドレス鍵と、アドレスチェックサム鍵記憶手段２０３が記憶するアドレスチェックサム鍵とを用いて検証する機能を備える。【０１０４】
次に、動作について説明する。図９は、クライアント２００が正規のサーバ１００であるか否かを認証する他の処理例を示すフローチャートである。まず、サーバ認証システムの運用を開始する前の動作について説明する。【０１０５】
まず、サーバ１００は、クライアント２００の認証に先立つ段階（すなわち、システムの運用開始前）において、Ｎ台のクライアント２００を複数のアドレス空間のアドレスの組合せによって、クライアント２００を一意に識別する（図９に示すステップＳ２１）。【０１０６】
次に、サーバ１００は、クライアント２００の識別子を構成する各アドレス空間上のアドレスに、ユニークなアドレス鍵を対応付ける。そして、サーバ１００は、識別子の各アドレス空間についてアドレスが一致するクライアントグループに対して、同じアドレス鍵を安全な方法を用いてクライアント２００に割り当てる（ステップＳ２２）。この場合、クライアント２００にアドレス鍵を割り当てる方法として、例えば、ＳＳＬやＩＰｓｅｃ等を用いた既存の安全な通信路を介してオンラインでアドレス鍵を送信することによって行ってもよい。また、例えば、正規の管理者が、正当なオフライン経路で入手したアドレス鍵をキーボード等の入力手段を介して、クライアント２００に入力して行う等の公知の手段を用いて行ってもよい。【０１０７】
次に、サーバ１００からアドレス鍵を割り当てられたクライアントｉ（１≦ｉ≦Ｎ）は、割り当てられたアドレス鍵を記憶する（ステップＣ２１）。また、サーバ１００は、各クライアント２００に対して割り当てた全てのアドレス鍵を記憶する（ステップＳ２３）。【０１０８】
さらに、サーバ１００は、ハッシュ演算結果のビット空間を部分空間に分割し、各部分空間に対してユニークな秘密情報（具体的には、アドレスチェックサム鍵）を対応付ける。そして、サーバ１００は、秘密情報を対応付けた後、クライアント２００の識別子を構成する各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値の含まれる部分空間が共通であるクライアントグループに対して、同じアドレスチェックサム鍵を、安全な方法を用いてクライアント２００に割り当てる（ステップＳ２４）。この場合、クライアント２００にアドレスチェックサム鍵を割り当てる方法として、例えば、ＳＳＬやＩＰｓｅｃ等を用いた既存の安全な通信路を介してオンラインでアドレス鍵を送信することによって行ってもよい。また、例えば、正規の管理者が、正当なオフライン経路で入手したアドレスチェックサム鍵をキーボード等の入力手段を介して、クライアント２００に入力して行う等の公知の手段を用いて行ってもよい。【０１０９】
次に、サーバ１００からアドレスチェックサム鍵を割り当てられたクライアントｉは、割り当てられたアドレスチェックサム鍵を記憶する（ステップＣ２２）。また、サーバ１００は、各クライアント２００に対して割り当てた全てのアドレスチェックサム鍵を記憶する（ステップＳ２５）。【０１１０】
以上のステップの処理を実行することにより、クライアント２００は、サーバ１００を認証することが可能となる。すなわち、システムを運用開始できる状態となる。【０１１１】
システムの運用開始後、サーバ１００がＮ台のクライアント２００に対してメッセージを一斉送信する場合等に、Ｎ台のクライアント２００が同時にメッセージの送信元が正規のサーバ１００であるか否かを認証したい状況が発生する。この場合、サーバ１００は、一斉配信するメッセージに対して、メッセージ認証子を生成する。そして、サーバ１００は、生成したメッセージ認証子を、メッセージと共に一斉配信する。【０１１２】
具体的には、サーバ１００は、クライアント２００の識別子の各アドレス空間についてアドレスが一致するクライアントグループに対して、アドレスに対応させたアドレス鍵を用いてメッセージ認証子を生成する。さらに、サーバ１００は、クライアント２００の識別子を構成する各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値の含まれる部分空間が共通であるクライアントグループに対して、共通する部分空間に対応させたアドレスチェックサム鍵を用いてメッセージ認証子を生成する（ステップＳ２６）。そして、サーバ１００は、生成したこれらのメッセージ認証子を、各クライアントグループに対して一斉配信する（ステップＳ２７）。この場合、サーバ１００は、メッセージ識別子の一斉配信の方法として、マルチキャスト又はブロードキャストによる方法を用いることができる。【０１１３】
サーバ１００は、アドレス鍵記憶手段１０２が記憶する全てのアドレス鍵、及びアドレスチェックサム鍵記憶手段１０５が記憶する１個のアドレスチェックサム鍵を用いてメッセージ認証子を生成し、一斉配信が完了するまで、ステップＳ２６，Ｓ２７の処理を繰り返し実行する（ステップＳ２８）。【０１１４】
具体的には、図２に示す例では、サーバ１００は、アドレス空間ａ（１≦ａ≦３）において、アドレスａ−ｂ（１≦ｂ≦アドレス空間ａのアドレス数（ｐ、ｑ又はｒ））をもつクライアント２００のグループには、アドレス鍵Ｋ（ａ−ｂ）を用いて生成したメッセージ認証子を一斉配信する。【０１１５】
さらに、図８のアドレスチェックサム鍵導出の概念図に示す例おいて、サーバ１００は、クライアント２００の識別子を構成する各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値が、第ｃ番目（１≦ｃ≦８）の部分空間に写像できる場合に、第ｃ番目の部分空間に対応付けられたアドレスチェックサム鍵Ｋｃｋ（ｃ）を用いて生成したメッセージ認証子を一斉配信する。【０１１６】
例えば、図３に示す識別子をもつクライアント２００は、アドレス１−１をもつクライアント２００のグループ、アドレス２−ｑをもつクライアント２００のグループ、及びアドレス３−２をもつクライアント２００のグループの３つのグループに属する。かつ、クライアント２００は、図８に示すように、識別子を構成する各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値が部分空間４に写像できる。そのため、クライアント２００は、結果的に、式（４）に示す各メッセージ認証子（及び任意のメッセージｒｅｑ＿ｃｍ）を受信することになる。【０１１７】
ＭＡＣ（Ｋ（１−１），ｒｅｑ＿ｃｍｄ）
ＭＡＣ（Ｋ（２−ｑ），ｒｅｑ＿ｃｍｄ）
ＭＡＣ（Ｋ（３−２），ｒｅｑ＿ｃｍｄ）
ＭＡＣ（Ｋｃｋ（４），ｒｅｑ＿ｃｍｄ）  ・・・  式（４）【０１１８】
次に、メッセージ認証子を受信したクライアントｉは、メッセージ認証子を自身が記憶するアドレス鍵又はアドレスチェックサム鍵（すなわち、アドレス鍵記憶手段２０２が記憶するアドレス鍵、又はアドレスチェックサム鍵記憶手段２０３が記憶するアドレスチェックサム鍵）を用いて検証する（ステップＣ２３）。そして、クライアント２００は、割り当てられたアドレス鍵とアドレスチェックサム鍵とを全て余すことなく用いて、サーバ１００からのメッセージ認証子を正しく検証できたと判断すると、正規のサーバ１００であると判定し、認証を完了する（ステップＣ２４）。【０１１９】
図５及び図８に示す例では、クライアント２００が保持するアドレス鍵及びアドレスチェックサム鍵は、それぞれＫ（１−１）、Ｋ（２−ｑ）、Ｋ（３−２）及びＫｃｋ（４）である。従って、クライアント２００は、これら４つの鍵を用いて、サーバ１００から受信する式（４）に示すメッセージ認証子を全て検証可能であり、メッセージ識別子を全て検証できたことに基づいて、サーバ１００の認証に成功したと判定する。なお、クライアント２００は、割り当てられた複数の鍵のうち、１つでもメッセージ識別子を検証できなかった鍵がある場合には、サーバ１００の認証に失敗したと判定する。【０１２０】
例えば、クライアント２００のアドレス鍵を不正に入手したクライアントＸＸＸが存在する場合、アドレス鍵に基づくメッセージ識別子を用いるだけでは、自身が保持するアドレス鍵を組み合わせることで、組合せたアドレス鍵が一致する他のクライアント２００に対して、サーバ１００になりすます「なりすまし」が可能となるおそれがある。これに対して、本実施形態では、不正なクライアントＸＸＸが知るアドレスチェックサム鍵は、ハッシュ演算空間の分割数分の１の確率でしか他のクライアント２００のアドレスチェックサム鍵と一致しない。【０１２１】
具体的には、図１０に示すように、識別子（１−Ｘ，２−Ｘ，３−Ｘ）で示されるクライアントＸＸＸは、その識別子を構成する各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値が、部分空間５に写像している。しかしながら、クライアント２００は、その識別子を構成する各アドレス空間のアドレスを示すデータの連結結果に対するハッシュ値が、部分空間４に写像している。この場合、クライアントＸＸＸとクライアント２００とのアドレスチェックサム鍵は一致しない。【０１２２】
すなわち、図１０に示す例では、クライアントＸＸＸは、アドレスチェックサム鍵Ｋｃｋ（４）を知らないので、クライアント２００のようにアドレスチェックサム鍵Ｋｃｋ（４）をもつクライアント２００に対して、正規のサーバ１００のようになりすますことは不可能である。【０１２３】
上記のように、本実施形態では、クライアントＸＸＸが他者のアドレス鍵を不正に入手したとしても、特定のクライアント２００に対してサーバ１００になりすませる確率を、ハッシュ演算空間の分割数分の１の確率に抑えることができる。【０１２４】
以上のように、本実施形態によれば、アドレスチェックサム鍵を用いて、アドレス鍵の組合せが正当であるか否かを確認する。そのように構成ことによって、第１の実施形態で示した効果に加えて、各クライアント２００で秘密に管理するはずのアドレス鍵が万一漏洩した場合であっても、サーバ１００なりすましの脅威を低減することができる。
【実施例】
【０１２５】
次に、具体的な実施例を用いて、サーバ認証システムの動作を説明する。本実施例では、センサネットワークにおいて、ネットワーク等の手段を用いて遠隔地から電気・ガス・水道等のメータの検針情報を一斉に収集する際の動作を説明する。このような遠隔検針を行うことによって、人がひとつひとつの場所を巡回して検針情報を収集することを不要とする。そして、そのようにすることによって、ネットワークを介して遠隔地から情報を一斉に収集可能とすることで、業務効率を向上することができる。なお、本実施例に示すサーバ認証システムは、第１の実施形態で示したサーバ認証システムに相当している。【０１２６】
図１１は、サーバ認証システムの適用環境の具体例を示す説明図である。本実施例では、図１１に示すように、複数の世帯２０からの検針情報を、事業者１０等の検診者に収集する場合を説明する。本実施例では、図１１では、各世帯２０に検針情報を読み取る検針器が設置され、検診者側にネットワークを介して検針情報を収集する例が示されている。なお、具体的には、各世帯２０には各種センサを搭載したセンサ装置によって実現されるクライアント２００が設置されており、事業者１０等の検診者側にはパーソナルコンピュータ等の情報処理装置によって実現されるサーバ１００が設置されている。【０１２７】
図１１に示す例において、各世帯２０から送信される検針情報は、各世帯２０におけるプライバシ情報であり、正規のサーバ１００以外の第３者に漏洩させることは望ましくない。従って、サーバ１００が全世帯２０のクライアント２００に検針情報を要求した段階において、クライアント２００群はサーバが正規のサーバ１００であるかどうかを認証した後、検針情報を送信する必要がある。【０１２８】
本実施例では、一例として、市レベル（例えば、３万世帯程度）の世帯２０に設置された各クライアント２００による検針情報の送信直前のサーバ認証処理を、少ない通信量で実現可能な様子を示す。なお、サーバ認証システムの適用規模は、本実施例で示したものに限らず、例えば、４万世帯以上のクライアント２００を含むセンサネットワークに、サーバ認証システムを適用してもよい。【０１２９】
図１２は、クライアント２００を４つのアドレス空間（丁、区、号、番地）で各クライアントを一意に特定する様子を示す。すなわち、本実施例では、一例として、クライアント２００が設置されている世帯２０の住所に基づいて、それぞれ丁、区、号及び番地に対応するアドレス空間を用いて、クライアント２００の位置を特定する場合を示す。よって、４つのアドレス空間上のアドレスをそれぞれ組み合わせると、１つのクライアント２００を識別することができることを意味している。【０１３０】
また、本実施例では、図１２に示すように、丁のアドレス空間がｐ＝１５個のアドレスを含み、区のアドレス空間がｑ＝１０個のアドレスを含み、番地のアドレス空間がｒ＝１０個のアドレスを含み、号のアドレス空間がｓ＝２０個のアドレスを含むものとする。従って、本実施例では、サーバ認証システムが適用されるセンサネットワーク内に、ｐ×ｑ×ｒ×ｓ＝３００００個のクライアント２００が含まれるものとする。【０１３１】
本実施例では、サーバ１００のアドレス鍵割当手段１０１は、図１３に示すように、各アドレスａｄｒに対して、秘密情報（アドレス鍵）Ｋ（ａｄｒ）を割り当てる。例えば、サーバ１００のアドレス鍵割当手段１０１は、図１３において、円で囲んで示したクライアントに対して、Ｋ（区ｉ）、Ｋ（丁ｊ）、Ｋ（番地１）及びＫ（号２）の計４つのアドレス鍵を割り当て所有させる。この場合、クライアント２００は、サーバ１００によって割り当てられた４つのアドレス鍵をアドレス鍵記憶手段２０２に格納する。【０１３２】
また、サーバ１００は、サーバ認証システムに含まれる全てのクライアント２００に対して割り当てた全アドレスの総数分のアドレス鍵を保有する。具体的には、サーバ１００は、全てのクライアント２００に割り当てたアドレス鍵をアドレス鍵記憶手段１０２に格納する。【０１３３】
以上の処理が実行されることにより、各世帯２０のクライアント２００は、事業者１０側に設置されたサーバ１００を認証することが可能となり、システムの運用を開始することが可能となる。【０１３４】
アドレス鍵を各クライアント２００に保有させた後、検針情報を収集する場合には、サーバ１００は、全クライアント２００に対して、情報送信要求を行う。この場合、全クライアント２００がサーバ１００を認証するときの動作は、以下に示す通りとなる。【０１３５】
まず、サーバ１００は、全クライアント２００に対して、検針情報の送信要求ｒｅｑ＿ｃｍｄを一斉配信する。この場合、サーバ１００のメッセージ認証子生成手段１０３は、アドレス鍵記憶手段１０２が記憶する各アドレス鍵に基づいてメッセージ認証子を生成し、生成したメッセージ認証子を同時に一斉配信する。【０１３６】
具体的には、図１４に示すように、サーバ１００のメッセージ認証子生成手段１０３は、全てのアドレス空間について各アドレスを共有するクライアントグループに対して、当該クライアントグループで共有するアドレス鍵を用いて、メッセージ認証子を作成する。そして、サーバ１００のメッセージ認証子生成手段１０３は、生成したメッセージ識別子を、当該クライアントグループにマルチキャスト等の手段を用いて一斉配信する。【０１３７】
各クライアント２００がもつ全アドレスに対応するメッセージ認証子を全て生成可能であるのは、アドレス鍵のもたせ方から、そのクライアント２００とサーバ１００のみである。そのため、クライアント２００は、一斉配信されてくるメッセージ認証子のうち、自身のもつアドレス鍵で生成可能なメッセージ認証子を全て検証できたことを条件に、正規のサーバ１００からの認証要求であると確認できる。【０１３８】
例えば、図１３で円で囲んで示したクライアント２００の場合、式（５）に示した全てのメッセージ認証子（及び送信要求を示すメッセージｒｅｑ＿ｃｍｄ）を受信したときに、クライアント２００は、正規のサーバ１００からの送信要求であることを認証可能である。【０１３９】
ＭＡＣ（Ｋ（区ｉ），ｒｅｑ＿ｃｍｄ）
ＭＡＣ（Ｋ（丁ｊ），ｒｅｑ＿ｃｍｄ）
ＭＡＣ（Ｋ（番地１），ｒｅｑ＿ｃｍｄ）
ＭＡＣ（Ｋ（号２），ｒｅｑ＿ｃｍｄ）  ・・・  式（５）【０１４０】
本実施例では、サーバ１００は、アドレス毎にメッセージ認証子を生成し、一斉配信するので、サーバ１００からセンサネットワーク内に送信されるメッセージ認証子の数は、全アドレス数ｐ＋ｑ＋ｒ＋ｓ＝１５＋１０＋１０＋２０＝５５である。また、サーバ１００からセンサネットワーク内に送信されるメッセージ認証子のサイズは、メッセージ認証子のサイズを｜ＭＡＣ｜とすると、式（６）のようになる。【０１４１】
（１５＋１０＋１０＋２０）×｜ＭＡＣ｜  ・・・  式（６）【０１４２】
これに対して、クライアント２００毎にメッセージ認証子を生成しユニキャストする方式を用いる場合には、サーバ１００からセンサネットワーク内に送信されるメッセージ認証子の数は、センサネットワーク内の全クライアント２００数と同じｐ×ｑ×ｒ×ｓ＝１５×１０×１０×２０＝３００００である。また、サーバ１００からセンサネットワーク内に送信されるメッセージ認証子のサイズは、式（７）のようになる。【０１４３】
（１５×１０×１０×２０）×｜ＭＡＣ｜  ・・・  式（７）【０１４４】
以上のように、本実施例では、クライアント２００毎にメッセージ認証子を生成する方式と比較して、サーバ１００が生成するメッセージ認証子の数を５５／３００００≒１／５４５に低減することができる。また、市レベル（３万世帯程度）の世帯２０に設置されたクライアント２００が検針情報の送信時にサーバ１００を認証する際の処理を、約１／５４５程度の通信量で実現することができる。【０１４５】
次に、本発明によるサーバ認証システムの最小構成について説明する。図１５は、サーバ認証システムの最小の構成例を示す構成図である。図１５に示すように、サーバ認証システムは、クライアント２００がサーバ１００を認証するシステムである。サーバ１００は、最小の構成要素として、アドレス鍵割当手段１０１と、メッセージ認証子生成手段１０３とを備える。また、クライアント２００は、最小の構成要素として、メッセージ認証子検証手段２０１を備える。【０１４６】
図１５に示す最小構成のサーバ認証システムにおいて、アドレス鍵割当手段１０１は、クライアント２００を識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てる機能を備える。また、メッセージ認証子生成手段１０３は、アドレス鍵割当手段１０１が割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成する機能を備える。また、メッセージ認証子検証手段２０１は、メッセージ認証子生成手段１０３が生成したメッセージ認証子に基づいて、サーバ１００を認証する機能を備える。【０１４７】
図１５に示す最小構成のサーバ認証システムによれば、サーバ１００は、クライアント２００個々にメッセージ認証子を生成するのではなく、クライアント２００の識別子における各アドレス空間で同じアドレスをもつクライアント２００のグループに対してメッセージ認証子を生成する。従って、サーバ１００がクライアント２００毎のメッセージ識別子を生成する必要をなくすことができ、認証処理に必要なデータの送信量と処理時間を削減することができる。【０１４８】
なお、上記に示した各実施形態及び実施例では、以下の（１）〜（９）に示すようなサーバ認証システムの特徴的構成が示されている。【０１４９】
（１）サーバ認証システムは、クライアント（例えば、クライアント２００）がサーバ（例えば、サーバ１００）を認証するサーバ認証システムであって、サーバは、クライアントを識別するための識別子を複数のアドレス空間上のアドレスの組合せによって生成し、生成した識別子を構成する各アドレスに対してそれぞれアドレス鍵を割り当てるアドレス鍵割当手段（例えば、アドレス鍵割当手段１０１によって実現される）と、アドレス鍵割当手段が割り当てたアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するメッセージ認証子生成手段（例えば、メッセージ認証子生成手段１０３によって実現される）とを備え、クライアントは、メッセージ認証子生成手段が生成したメッセージ認証子に基づいて、サーバを認証するサーバ認証手段（例えば、メッセージ認証子検証手段２０１によって実現される）を備えたことを特徴とする。【０１５０】
（２）サーバ認証システムにおいて、アドレス鍵割当手段は、クライアントを識別するための識別子を生成するために複数のアドレス空間を作成し、各アドレス空間におけるクライアントのアドレスの組合せによってクライアントを一意に識別する条件の下、クライアントを識別するための識別子を構成する各アドレス空間上のアドレスに対してユニークなアドレス鍵を対応付け、各クライアントに対して、当該クライアントを識別するための識別子を構成する各アドレス空間上のアドレスに対応付けた全てのアドレス鍵を安全に割り当てるように構成されていてもよい。【０１５１】
（３）サーバ認証システムにおいて、サーバは、アドレス鍵割当手段が全てのクライアントを識別するための識別子を構成する各アドレス空間上のアドレスに割り当てたアドレス鍵を秘密に記憶するアドレス鍵記憶手段（例えば、アドレス鍵記憶手段１０２によって実現される）を備え、メッセージ認証子生成手段は、アドレス鍵記憶手段が記憶するアドレス鍵を用いて、メッセージに対応するメッセージ認証子を生成するように構成されていてもよい。【０１５２】
（４）サーバ認証システムにおいて、クライアントは、アドレス鍵割当手段が割り当てたアドレス鍵を秘密に記憶するクライアント側アドレス鍵記憶手段（例えば、アドレス鍵記憶手段２０２によって実現される）を備え、サーバ認証手段は、サーバからネットワークを介して受信したメッセージ認証子を、クライアント側アドレス鍵記憶手段が記憶するアドレス鍵を用いて検証することによって、サーバを認証するように構成されていてもよい。【０１５３】
（５）サーバ認証システムにおいて、メッセージ認証子生成手段は、識別子の各アドレス空間についてアドレスが一致するクライアントグループに対して、当該アドレスに対応するアドレス鍵を用いてメッセージ認証子を生成し、生成した当該メッセージ認証子を当該クライアントグループに対して一斉配信し、サーバ認証手段は、クライアントに対して割り当てられた全てのアドレス鍵を用いて、サーバから受信したメッセージ認証子を正しく検証したと判定したことを条件に、サーバの認証に成功したと判定するように構成されていてもよい。【０１５４】
（６）サーバ認証システムにおいて、サーバは、ハッシュ演算の演算結果のビット空間を部分空間に分割し、各部分空間に対してユニークなアドレスチェックサム鍵を対応付けた後、各クライアントに対して、当該クライアントを識別するための識別子を構成する各アドレス空間上のアドレスを示すデータの連結結果に対するハッシュ値を求め、求めたハッシュ値が含まれる部分空間に対して対応付けられたアドレスチェックサム鍵を安全に割り当てるアドレスチェックサム鍵割当手段（例えば、アドレスチェックサム鍵割当手段１０４によって実現される）を備え、メッセージ認証子生成手段は、アドレス鍵割当手段が割り当てたアドレス鍵と、アドレスチェックサム鍵割当手段が割り当てたアドレスチェックサム鍵とを用いて、メッセージに対応するメッセージ認証子を生成するように構成されていてもよい。【０１５５】
（７）サーバ認証システムにおいて、サーバは、アドレス鍵割当手段が全てのクライアントを識別するための識別子を構成する各アドレス空間上のアドレスに割り当てたアドレス鍵を秘密に記憶するアドレス鍵記憶手段（例えば、アドレス鍵記憶手段１０２によって実現される）と、アドレスチェックサム鍵割当手段が全てのクライアントを識別するための識別子を構成する各アドレス空間上のアドレスを示すデータの連結結果に対するハッシュ値が含まれる部分空間に割り当てたアドレスチェックサム鍵を秘密に記憶するアドレスチェックサム鍵記憶手段（例えば、アドレスチェックサム鍵記憶手段１０５によって実現される）とを備え、メッセージ認証子生成手段は、アドレス鍵記憶手段が記憶するアドレス鍵と、アドレスチェックサム鍵記憶手段が記憶するアドレスチェックサム鍵とを用いて、メッセージに対応するメッセージ認証子を生成するように構成されていてもよい。【０１５６】
（８）サーバ認証システムにおいて、クライアントは、アドレス鍵割当手段が割り当てたアドレス鍵を秘密に記憶するクライアント側アドレス鍵記憶手段（例えば、アドレス鍵記憶手段２０２によって実現される）と、アドレスチェックサム鍵割当手段が割り当てたアドレスチェックサム鍵を秘密に記憶するクライアント側アドレスチェックサム鍵記憶手段（例えば、アドレスチェックサム鍵記憶手段２０３によって実現される）を備え、サーバ認証手段は、サーバからネットワークを介して受信したメッセージ認証子を、クライアント側アドレス鍵記憶手段が記憶するアドレス鍵と、クライアント側アドレスチェックサム鍵記憶手段が記憶するアドレスチェックサム鍵とを用いて検証することによって、サーバを認証するように構成されていてもよい。【０１５７】
（９）サーバ認証システムにおいて、メッセージ認証子生成手段は、識別子の各アドレス空間についてアドレスが一致するクライアントグループに対して、当該アドレスに対応するアドレス鍵を用いてメッセージ認証子を生成し、生成した当該メッセージ認証子を当該クライアントグループに対して一斉配信し、識別子を構成する各アドレス空間上のアドレスのデータ連結結果に対するハッシュ値が含まれる部分空間に対して対応付けられたアドレスチェックサム鍵を用いてメッセージ認証子を生成し、生成した当該メッセージ認証子を、識別子を構成する各アドレス空間上のアドレスのデータ連結結果に対するハッシュ値が含まれる部分空間が共通であるクライアントグループに対して一斉配信し、サーバ認証手段は、クライアントに対して割り当てられた全てのアドレス鍵及びアドレスチェックサム鍵を用いて、サーバから受信したメッセージ認証子を正しく検証したと判定したことを条件に、サーバの認証に成功したと判定するように構成されていてもよい。【０１５８】
この出願は、２００８年２月２９日に出願された日本出願特願２００８−０４９０９３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１５９】
本発明は、心拍計や体温計、電気メータ、ガスメータ等の検針情報を収集するセンサネットワークに適用できる。また、本発明は、クライアントに内蔵されたファームウェアやプログラム等を遠隔から一斉に更新する際における、ファームウェア又はプログラムの送信元サーバの認証の用途に適用できる。
【図１】
2009107442.tif 000003
【図２】
2009107442.tif 000004
【図３】
2009107442.tif 000005
【図４】
2009107442.tif 000006
【図５】
2009107442.tif 000007
【図６】
2009107442.tif 000008
【図７】
2009107442.tif 000009
【図８】
2009107442.tif 000010
【図９】
2009107442.tif 000011
【図１０】
2009107442.tif 000012
【図１１】
2009107442.tif 000013
【図１２】
2009107442.tif 000014
【図１３】
2009107442.tif 000015
【図１４】
2009107442.tif 000016
【図１５】
2009107442.tif 000017
【図１６】
2009107442.tif 000018
【国際調査報告】
2009107442.tif 000019
2009107442.tif 000020
2009107442.tif 000021
2009107442.tif 000022
2009107442.tif 000023
2009107442.tif 000024