(57)【要約】【課題】適正な機器リストを作成する。【解決手段】検証装置１０は、端末２０に識別情報およびアドレス情報の送信を要求する。そして、端末２０は、識別情報およびアドレス情報に耐タンパ領域に記憶された秘密鍵を用いたデジタル署名を付して検証装置１０に送信する。検証装置１０は、端末２０の識別情報を認証装置３０に送信し、対応する公開鍵を取得する。そして、検証装置１０は、デジタル署名の正当性を認証装置３０から取得した公開鍵を用いて検証し、正当性が検証された場合は端末２０のアドレス情報を機器リストに追加する。【選択図】図１
2018011190.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内の機器に関する情報の一覧である機器リストを作成する検証装置と、前記ネットワークに接続された端末と、前記検証装置と接続された認証装置と、を有する機器リスト作成システムであって、
前記検証装置は、
前記端末に、前記端末を識別する識別情報と前記端末のアドレスに関するアドレス情報とを少なくとも含んだ第１のメッセージを送信することを要求する情報要求部と、
前記端末によって送信された前記第１のメッセージに含まれる前記識別情報に対応する公開鍵を送信することを、前記認証装置に要求する公開鍵要求部と、
前記認証装置によって送信された公開鍵を用いて、前記第１のメッセージに含まれる第１の署名データを検証する署名検証部と、
前記署名検証部によって前記第１の署名データが正しいと検証された場合、前記第１のメッセージに含まれる前記アドレス情報を前記機器リストに追加する追加部と、
を有し、
前記端末は、
秘密鍵を記憶する秘密鍵記憶部と、
前記秘密鍵記憶部に記憶されている秘密鍵を用いて、前記識別情報と前記アドレス情報から前記第１の署名データを生成する署名生成部と、
前記端末の前記識別情報と前記端末の前記アドレス情報と前記署名生成部によって生成された前記第１の署名データとを含んだ前記第１のメッセージを前記検証装置に送信する情報送信部と、
を有し、
前記認証装置は、
前記端末ごとの前記識別情報に対応した公開鍵を記憶する公開鍵記憶部と、
前記検証装置によって要求された公開鍵を、前記公開鍵記憶部から取得する公開鍵取得部と、
前記公開鍵取得部によって取得された公開鍵を、前記検証装置に送信する公開鍵送信部と、
を有することを特徴とする機器リスト作成システム。
【請求項２】
前記端末の前記秘密鍵記憶部および前記署名生成部は、耐タンパ領域に備えられていることを特徴とする請求項１に記載の機器リスト作成システム。
【請求項３】
前記検証装置は、
前記認証装置によって送信された公開鍵を用いて、共通鍵の生成元のデータを暗号化する公開鍵暗号化部と、
前記公開鍵暗号化部によって暗号化された前記生成元のデータを、前記端末に送信するデータ送信部と、
前記生成元のデータを基に、所定の方法で共通鍵を生成する共通鍵生成部と、
をさらに有し、
前記端末は、
前記検証装置によって送信された、前記生成元のデータを、前記秘密鍵記憶部に記憶されている秘密鍵を用いて復号し、当該復号した前記生成元のデータを基に、前記所定の方法で共通鍵を生成する端末側共通鍵生成部をさらに有し、
前記検証装置の前記情報要求部は、前記端末に、前記端末を識別する識別情報を少なくとも含んだ前記第１のメッセージを送信することを要求し、
前記端末の前記署名生成部は、前記端末側共通鍵生成部によって生成された共通鍵を用いて、前記アドレス情報から第２の署名データを生成し、
前記端末の前記情報送信部は、前記第１のメッセージを送信することを要求された場合は、前記識別情報を少なくとも含んだ前記第１のメッセージを前記検証装置に送信し、前記生成元のデータが前記検証装置によって送信された場合は、前記端末の前記アドレス情報と前記署名生成部によって生成された前記第２の署名データとを含んだ第２のメッセージを前記検証装置に送信し、
前記検証装置の前記署名検証部は、前記共通鍵生成部によって生成された共通鍵を用いて、前記第２のメッセージに含まれる第２の署名データを検証し、
前記検証装置の前記追加部は、前記署名検証部によって前記第２の署名データが正しいと検証された場合、前記第２のメッセージに含まれる前記アドレス情報を前記機器リストに追加することを特徴とする請求項１または２に記載の機器リスト作成システム。
【請求項４】
前記検証装置は、
乱数を生成する乱数生成部をさらに有し、
前記検証装置の前記情報要求部は、前記端末に、前記第１のメッセージを送信することを要求するとともに、前記乱数生成部によって生成された乱数を送信し、
前記端末の前記情報送信部は、前記第１のメッセージに、前記情報要求部によって送信された乱数を含めて前記検証装置に送信し、
前記検証装置の前記追加部は、前記署名検証部によって前記第１の署名データが正しいと検証され、かつ、前記情報送信部によって送信された乱数が、前記端末によって送信された乱数と合致した場合、前記第１のメッセージに含まれる前記アドレス情報を前記機器リストに追加することを特徴とする請求項１または２に記載の機器リスト作成システム。
【請求項５】
前記検証装置は、乱数を生成する乱数生成部をさらに有し、
前記検証装置の公開鍵暗号化部は、前記認証装置によって送信された公開鍵を用いて、前記生成元のデータと、前記乱数生成部によって生成された乱数とを暗号化し、
前記検証装置のデータ送信部は、前記公開鍵暗号化部によって暗号化された前記生成元のデータおよび前記乱数を、前記端末に送信し、
前記端末は、
前記検証装置によって送信された、前記生成元のデータおよび前記乱数を前記秘密鍵を用いて復号し、当該復号した前記生成元のデータを基に、前記端末側共通鍵生成部で共通鍵を生成し、
前記端末の前記署名生成部は、前記生成された共通鍵を用いて、前記アドレス情報と前記乱数から第２の署名データを生成し、
前記端末の前記情報送信部は、前記アドレス情報と、前記乱数と、前記第２の署名データを含んだ第２のメッセージを前記検証装置に送信し、前記検証装置の前記署名検証部は、前記共通鍵生成部によって生成された共通鍵を用いて、前記第２のメッセージに含まれる第２の署名データを検証し、
前記検証装置の前記追加部は、前記署名検証部によって前記第２の署名データが正しいと検証され、かつ、前記情報送信部によって送信された乱数が、前記端末によって送信された乱数と合致した場合、前記第２のメッセージに含まれる前記アドレス情報を前記機器リストに追加することを特徴とする請求項３に記載の機器リスト作成システム。
【請求項６】
ネットワーク内の機器に関する情報の一覧である機器リストを作成する検証装置と、前記検証装置と接続された認証装置と、前記ネットワークに接続された端末と、を有する機器リスト作成システムで実行される機器リスト作成方法であって、
前記検証装置が、前記端末に、前記端末を識別する識別情報と前記端末のアドレスに関するアドレス情報とを少なくとも含んだ第１のメッセージを送信することを要求する情報要求工程と、
前記端末が、秘密鍵を記憶する秘密鍵記憶部に記憶されている秘密鍵を用いて、前記識別情報と前記アドレス情報から第１の署名データを生成する署名生成工程と、
前記端末が、前記端末の前記識別情報と前記端末の前記アドレス情報と前記署名生成工程によって生成された前記第１の署名データとを含んだ前記第１のメッセージを前記検証装置に送信する情報送信工程と、
前記検証装置が、前記端末によって送信された前記第１のメッセージに含まれる前記識別情報に対応する公開鍵を送信することを、前記認証装置に要求する公開鍵要求工程と、
前記認証装置が、前記検証装置によって要求された公開鍵を、前記端末ごとの前記識別情報に対応した公開鍵を記憶する公開鍵記憶部から取得する公開鍵取得工程と、
前記認証装置が、前記公開鍵取得工程によって取得された公開鍵を、前記検証装置に送信する公開鍵送信工程と、
前記検証装置が、前記認証装置によって送信された公開鍵を用いて、前記第１のメッセージに含まれる第１の署名データを検証する署名検証工程と、
前記検証装置が、前記署名検証工程によって前記第１の署名データが正しいと検証された場合、前記第１のメッセージに含まれる前記アドレス情報を前記機器リストに追加する追加工程と、
を含んだことを特徴とする機器リスト作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器リスト作成システムおよび機器リスト作成方法に関する。
【背景技術】
【０００２】
ホームネットワーク等において、家電等の機器連携やセキュリティ上の通信制御等を目的として、ネットワークに接続する機器の機器情報一覧（機器リスト、デバイスリスト）が作成されることがある。例えば、機器リストを作成するために、近年のビデオレコーダやテレビ等のインテリジェントな家電を対象として、ＳＳＤＰ（Simple  Service  Discovery  Protocol）やＵＰｎＰ（Universal  Plug  and  Play）を利用してデバイス探索およびデバイス登録を行うことが知られている（例えば非特許文献１を参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Simple  Service  Discovery  Protocol/1.0、[online]、[平成２８年６月２８日検索]、インターネット（https://tools.ietf.org/html/draft-cai-ssdp-v1-03）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の手法には、適正な機器リストを作成することができない場合があるという問題があった。例えば、従来の手法では通信路の暗号化や機器に対する認証が行われていないため、なりすましや誤登録が発生し、作成された機器リストが適正でなくなる場合があった。
【課題を解決するための手段】
【０００５】
本発明の機器リスト作成システムは、ネットワーク内の機器に関する情報の一覧である機器リストを作成する検証装置と、前記ネットワークに接続された端末と、前記検証装置と接続された認証装置と、を有する機器リスト作成システムであって、前記検証装置は、前記端末に、前記端末を識別する識別情報と前記端末のアドレスに関するアドレス情報とを少なくとも含んだ第１のメッセージを送信することを要求する情報要求部と、前記端末によって送信された前記第１のメッセージに含まれる前記識別情報に対応する公開鍵を送信することを、前記認証装置に要求する公開鍵要求部と、前記認証装置によって送信された公開鍵を用いて、前記第１のメッセージに含まれる第１の署名データを検証する署名検証部と、前記署名検証部によって前記第１の署名データが正しいと検証された場合、前記第１のメッセージに含まれる前記アドレス情報を前記機器リストに追加する追加部と、を有し、前記端末は、秘密鍵を記憶する秘密鍵記憶部と、前記秘密鍵記憶部に記憶されている秘密鍵を用いて、前記識別情報と前記アドレス情報から前記第１の署名データを生成する署名生成部と、前記端末の前記識別情報と前記端末の前記アドレス情報と前記署名生成部によって生成された前記第１の署名データとを含んだ前記第１のメッセージを前記検証装置に送信する情報送信部と、を有し、前記認証装置は、前記端末ごとの前記識別情報に対応した公開鍵を記憶する公開鍵記憶部と、前記検証装置によって要求された公開鍵を、前記公開鍵記憶部から取得する公開鍵取得部と、前記公開鍵取得部によって取得された公開鍵を、前記検証装置に送信する公開鍵送信部と、を有することを特徴とする。
【０００６】
本発明の機器リスト作成方法は、ネットワーク内の機器に関する情報の一覧である機器リストを作成する検証装置と、前記検証装置と接続された認証装置と、前記ネットワークに接続された端末と、を有する機器リスト作成システムで実行される機器リスト作成方法であって、前記検証装置が、前記端末に、前記端末を識別する識別情報と前記端末のアドレスに関するアドレス情報とを少なくとも含んだ第１のメッセージを送信することを要求する情報要求工程と、前記端末が、秘密鍵を記憶する秘密鍵記憶部に記憶されている秘密鍵を用いて、前記識別情報と前記アドレス情報から前記第１の署名データを生成する署名生成工程と、前記端末が、前記端末の前記識別情報と前記端末の前記アドレス情報と前記署名生成工程によって生成された前記第１の署名データとを含んだ前記第１のメッセージを前記検証装置に送信する情報送信工程と、前記検証装置が、前記端末によって送信された前記第１のメッセージに含まれる前記識別情報に対応する公開鍵を送信することを、前記認証装置に要求する公開鍵要求工程と、前記認証装置が、前記検証装置によって要求された公開鍵を、前記端末ごとの前記識別情報に対応した公開鍵を記憶する公開鍵記憶部から取得する公開鍵取得工程と、前記認証装置が、前記公開鍵取得工程によって取得された公開鍵を、前記検証装置に送信する公開鍵送信工程と、前記検証装置が、前記認証装置によって送信された公開鍵を用いて、前記第１のメッセージに含まれる第１の署名データを検証する署名検証工程と、前記検証装置が、前記署名検証工程によって前記第１の署名データが正しいと検証された場合、前記第１のメッセージに含まれる前記アドレス情報を前記機器リストに追加する追加工程と、を含んだことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、適正な機器リストを作成することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る機器リスト作成システムの構成の一例を示す図である。
【図２】図２は、検証装置の構成の一例を示す図である。
【図３】図３は、端末の構成の一例を示す図である。
【図４】図４は、認証装置の構成の一例を示す図である。
【図５】図５は、機器リスト作成処理の前提となる処理の流れを示すシーケンス図である。
【図６】図６は、機器リスト作成システムの処理の流れを示すシーケンス図である。
【図７】図７は、機器リスト作成システムの処理の流れを示すシーケンス図である。
【図８】図８は、機器リスト作成システムの処理の流れを示すシーケンス図である。
【図９】図９は、機器リスト作成システムの処理の流れを示すシーケンス図である。
【図１０】図１０は、プログラムが実行されることにより機器リスト作成システムの各装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る機器リスト作成システムおよび機器リスト作成方法の実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【００１０】
［第１の実施形態の構成］
まず、図１を用いて、第１の実施形態に係る機器リスト作成システムの構成について説明する。図１は、第１の実施形態に係る機器リスト作成システムの構成の一例を示す図である。図１に示すように、機器リスト作成システム１は、検証装置１０、端末２０および認証装置３０を有する。
【００１１】
また、検証装置１０と端末２０は、ホームネットワーク４０に接続されている。また、検証装置１０と認証装置３０は、インターネット５０に接続されている。検証装置１０は、例えばＨＧＷ（home  gateway）である。また、端末２０は、例えばパーソナルコンピュータであってもよいし、ビデオレコーダやテレビ等のインテリジェントな家電であってもよいし、ネットワーク機器等であってもよい。なお、機器リスト作成システム１に含まれる端末２０の数は、図示の数に限定されず、任意の数とすることができる。
【００１２】
機器リスト作成システム１は、ネットワークに接続された機器の機器リストを作成する。例えば、機器リスト作成システム１は、ホームネットワーク４０に接続された端末２０の機器リストを作成する。機器リストには、各機器のアドレス情報が含まれる。アドレス情報は、例えばＩＰアドレス、ＭＡＣアドレス、またはＩＰアドレスとＭＡＣアドレスの組み合わせ等である。
【００１３】
本実施形態では、機器リスト作成システム１は、適正な機器リストを作成する。適正な機器リストとは、例えば、ネットワークに接続された機器から、セキュアデバイスを持たない機器、事前の登録や認証が行われていない機器等を除外した機器について作成された機器リストである。また、適正な機器リストの対象となる機器からは、電源が入っていない機器、故障やクラックにより返答を返さない機器も除外される。
【００１４】
なお、機器に備えられるセキュアデバイスは、例えばＴＣＧ（Trusted  Computing  Group）で定められているＴＰＭ（Trusted  Platform  Module）準拠の耐タンパ領域を有するデバイスである。また、機器リストは、例えばＨＧＷにおける通信制御に利用される。ここで、例えば、端末２０がホームネットワーク４０の外部との通信を行う場合、全ての通信がＨＧＷである検証装置１０を経由することとする。この場合、端末２０を対象とする機器リストが作成されていれば、ＨＧＷは通信パケットのアドレス情報を機器リストに照会することで、通信を行っている機器を特定することができる。
【００１５】
図２を用いて、検証装置１０の構成について説明する。図２は、検証装置の構成の一例を示す図である。図２に示すように、検証装置１０は、通信部１１、制御部１２および記憶部１３を有する。
【００１６】
通信部１１は、ネットワークを介して、他の装置との間でデータ通信を行う。例えば、通信部１１はＮＩＣ（Network  Interface  Card）である。また、通信部１１は、ホームネットワーク４０を介して端末２０との間でデータの送受信を行う。また、通信部１１は、インターネット５０を介して認証装置３０との間でデータの送受信を行う。
【００１７】
制御部１２は、検証装置１０全体を制御する。制御部１２は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。また、制御部１２は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１２は、各種のプログラムが動作することにより各種の処理部として機能する。制御部１２は、情報要求部１２１、証明書要求部１２２、署名検証部１２３、公開鍵暗号化部１２４、データ送信部１２５、共通鍵生成部１２６、乱数生成部１２７および追加部１２８を有する。
【００１８】
記憶部１３は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。なお、記憶部１３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１３は、検証装置１０で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。さらに、記憶部１３は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部１３は、機器リスト１３１を記憶する。
【００１９】
次に、図３を用いて、端末２０の構成について説明する。図３は、端末の構成の一例を示す図である。図３に示すように、端末２０は、通信部２１、制御部２２、記憶部２３およびＴＰＭ２４を有する。通信部２１は、ホームネットワーク４０を介して検証装置１０との間でデータの送受信を行う。また、制御部２２は、端末側共通鍵生成部２２１および情報送信部２２２を有する。また、記憶部２３は、識別情報２３１およびアドレス情報２３２を記憶する。識別情報２３１は、端末２０それぞれを一意に識別するための情報である。識別情報２３１は、例えば、機器のメーカ名、製品型番、シリアル番号等に基づく情報である。アドレス情報２３２は、端末２０それぞれのＩＰアドレスやＭＡＣアドレス等である。
【００２０】
ＴＰＭ２４は、端末２０の他の部と比較して、耐タンパ性が高い。また、ＴＰＭ２４は、署名生成部２４１および秘密鍵情報２４３を記憶する秘密鍵記憶部２４２を有する。秘密鍵情報２４３は、端末２０のそれぞれに割り当てられた秘密鍵である。なお、秘密鍵情報２４３の対になる公開鍵は、認証装置３０によって記憶されている。
【００２１】
次に、図４を用いて、認証装置３０の構成について説明する。図４は、認証装置の構成の一例を示す図である。図４に示すように、認証装置３０は、通信部３１、制御部３２および記憶部３３を有する。通信部３１は、インターネット５０を介して検証装置１０との間でデータの送受信を行う。また、制御部３２は、証明書取得部３２１および証明書送信部３２２を有する。また、記憶部３３は、公開鍵情報３３１を記憶する。公開鍵情報３３１は、端末２０の秘密鍵情報２４３の対となる公開鍵および公開鍵証明書であり、端末２０の識別情報２３１に対応付けられて記憶されている。また、認証装置３０は、ＰｕｂＫｅｙセンタ等に備えられる。なお、記憶部３３は、公開鍵記憶部の一例である。
【００２２】
ここで、図５を用いて、機器リスト作成システム１による機器リスト作成処理の前提となる処理の流れを説明する。図５は、機器リスト作成処理の前提となる処理の流れを示すシーケンス図である。図５に示す処理によって、端末２０のＴＰＭ２４の秘密鍵記憶部２４２に秘密鍵情報２４３が記憶され、認証装置３０の記憶部３３に公開鍵情報３３１が記憶されるようになる。
【００２３】
図５に示すように、まず、ＴＰＭチップ製造会社３は、製造したＴＰＭチップを端末のメーカ２に出荷する（ステップＳ５１）。端末のメーカ２は、端末２０を製造している。ここで、端末のメーカ２は、Ｓｉｇｎ  Ｋｅｙ  Ｐａｉｒを生成し（ステップＳ５２）、認証装置３０に公開鍵を登録し（ステップＳ５３）、秘密鍵を保持させた端末２０を出荷する（ステップＳ５４）。このとき、端末２０のＴＰＭ２４の秘密鍵記憶部２４２に秘密鍵情報２４３が記憶され、認証装置３０の記憶部３３に公開鍵情報３３１が記憶される。
【００２４】
図６〜９を用いて、機器リスト作成システム１の各装置の処理について詳細に説明する。図６〜９は、機器リスト作成システムの処理の流れを示すシーケンス図である。なお、本実施形態における署名方式は、秘密鍵や公開鍵等を用いた任意の署名方式とすることができる。
【００２５】
まず、図６の例について説明する。図６に示すように、まず、検証装置１０の情報要求部１２１は、端末２０に、識別情報２３１とアドレス情報２３２とを含んだメッセージを送信することを要求する（ステップＳ１０１）。このとき、情報要求部１２１は、ホームネットワーク４０に対してｂｒｏａｄｃａｓｔによって要求を行う。
【００２６】
そして、端末２０の署名生成部２４１は、秘密鍵を用いて、デジタル署名を生成する（ステップＳ１０２）。このとき、署名生成部２４１は、例えば識別情報２３１とアドレス情報２３２から署名データを生成する。
【００２７】
次に、端末２０の情報送信部２２２は、端末２０の識別情報２３１と端末２０のアドレス情報２３２と署名生成部２４１によって生成された署名データとを少なくとも含んだメッセージを第１のメッセージとして検証装置１０に送信することで応答を行う（ステップＳ１０３）。なお、このとき、情報送信部２２２は、メッセージの送信を要求した検証装置１０のサブネットアドレスが、端末２０のサブネットアドレスと同一である場合のみ応答を行うようにしてもよい。
【００２８】
そして、証明書要求部１２２は、端末２０によって送信された第１のメッセージに含まれる識別情報２３１に対応する公開鍵を含んだ公開鍵証明書を送信することを、認証装置３０に要求する（ステップＳ１０４）。なお、証明書要求部１２２は、公開鍵要求部の一例である。また、検証装置１０と認証装置３０との間の通信は、ＳＳＬ（Secure  Socket  Layer）／ＴＬＳ（Transport  Layer  Security）通信によって行われる。
【００２９】
証明書取得部３２１は、検証装置１０によって要求された公開鍵を含んだ公開鍵証明書を、記憶部３３の公開鍵情報３３１から取得する（ステップＳ１０５）。また、証明書送信部３２２は、証明書取得部３２１によって取得された公開鍵を含んだ公開鍵証明書を、機器情報とともに検証装置１０に送信する（ステップＳ１０６）。なお、証明書取得部３２１および証明書送信部３２２は、それぞれ公開鍵取得部および公開鍵送信部の一例である。
【００３０】
署名検証部１２３は、認証装置３０によって送信された公開鍵を用いて、第１のメッセージに含まれる署名データを検証する。そして追加部１２８は、署名検証部１２３によって署名データが正しいと検証された場合、第１のメッセージに含まれるアドレス情報２３２を機器リスト１３１に追加する（ステップＳ１０７）。例えば、追加部１２８は、署名データが、第１のメッセージから所定のハッシュ関数によって得られたハッシュ値と合致した場合にアドレス情報２３２を機器リストに追加する。
【００３１】
なお、図６の例では、公開鍵暗号化部１２４、データ送信部１２５、共通鍵生成部１２６および乱数生成部１２７は用いられないため、本実施形態の機器リスト作成システム１は、公開鍵暗号化部１２４、データ送信部１２５、共通鍵生成部１２６および乱数生成部１２７を有さない構成であってもよい。
【００３２】
次に、図７の例について説明する。図７に示すように、まず、検証装置１０の情報要求部１２１は、端末２０に、識別情報２３１を含んだメッセージを送信することを要求する（ステップＳ２０１）。そして、端末２０の署名生成部２４１は、秘密鍵を用いて、デジタル署名を生成する（ステップＳ２０２）。
【００３３】
次に、端末２０の情報送信部２２２は、端末２０の識別情報２３１と署名生成部２４１によって生成された署名データとを含んだメッセージを第１のメッセージとして検証装置１０に送信することで応答を行う（ステップＳ２０３）。
【００３４】
そして、証明書要求部１２２は、端末２０によって送信された第１のメッセージに含まれる識別情報２３１に対応する公開鍵を含んだ公開鍵証明書を送信することを、認証装置３０に要求する（ステップＳ２０４）。
【００３５】
証明書取得部３２１は、検証装置によって要求された公開鍵を含んだ公開鍵証明書を、記憶部３３の公開鍵情報３３１から取得する（ステップＳ２０５）。また、証明書送信部３２２は、証明書取得部３２１によって取得された公開鍵を含んだ公開鍵証明書を、機器情報とともに検証装置１０に送信する（ステップＳ２０６）。
【００３６】
ここで、公開鍵暗号化部１２４は、共通鍵の生成元のデータであるビット列を生成し、生成したビット列を、認証装置３０によって送信された公開鍵を用いて暗号化する（ステップＳ２０７）。ここで、データ送信部１２５は、公開鍵暗号化部１２４によって暗号化されたビット列を、端末２０に送信し、アドレス情報２３２の送信を要求する（ステップＳ２０８）。
【００３７】
端末側共通鍵生成部２２１は、検証装置１０によって送信された、暗号化されたビット列を、秘密鍵を用いて復号し、復号したビット列を基に、所定の方法で共通鍵を生成する（ステップＳ２０９）。なお、検証装置１０および端末２０は、同じ方法を用いて共通鍵を生成することとする。
【００３８】
署名生成部２４１は、端末側共通鍵生成部２２１によって生成された共通鍵を用いて、デジタル署名を生成する（ステップＳ２１０）。次に、端末２０の情報送信部２２２は、端末２０のアドレス情報２３２と署名生成部２４１によって生成された署名データとを含んだメッセージを第２のメッセージとして検証装置１０に送信することで応答を行う（ステップＳ２１１）。
【００３９】
ここで、検証装置１０の共通鍵生成部１２６は、公開鍵暗号化部１２４で用いられた所定のビット列を基に、所定の方法で共通鍵を生成する。そして、署名検証部１２３は、共通鍵生成部１２６によって生成された共通鍵を用いて、第２のメッセージに含まれる署名データを検証する。そして追加部１２８は、署名検証部１２３によって復号された署名データが正しいと検証された場合、第２のメッセージに含まれるアドレス情報２３２を機器リスト１３１に追加する（ステップＳ２１２）。
【００４０】
次に、図８の例について説明する。図８に示すように、まず、検証装置１０の乱数生成部１２７は、乱数R_0を生成する（ステップＳ３０１）。ここで、情報要求部１２１は、端末２０に、識別情報２３１とアドレス情報２３２とを含んだメッセージを送信することを要求する（ステップＳ３０２）。このとき、情報要求部１２１は、乱数R_0を端末２０に送信する。
【００４１】
そして、端末２０の署名生成部２４１は、秘密鍵を用いて、デジタル署名を生成する（ステップＳ３０３）。次に、端末２０の情報送信部２２２は、端末２０の識別情報２３１と端末２０のアドレス情報２３２と署名生成部２４１によって生成された署名データと乱数R_0とを含んだメッセージを第１のメッセージとして検証装置１０に送信することで応答を行う（ステップＳ３０４）。
【００４２】
そして、証明書要求部１２２は、端末２０によって送信された第１のメッセージに含まれる識別情報２３１に対応する公開鍵を含んだ公開鍵証明書を送信することを、認証装置３０に要求する（ステップＳ３０５）。
【００４３】
証明書取得部３２１は、検証装置１０によって要求された公開鍵を含んだ公開鍵証明書を、記憶部３３の公開鍵情報３３１から取得する（ステップＳ３０６）。また、証明書送信部３２２は、証明書取得部３２１によって取得された公開鍵を、機器情報とともに検証装置１０に送信する（ステップＳ３０７）。
【００４４】
署名検証部１２３は、認証装置３０によって送信された公開鍵を用いて、第１のメッセージに含まれる署名データを検証する。そして追加部１２８は、署名検証部１２３によって署名データが正しいと検証された場合、第１のメッセージに含まれるアドレス情報２３２を機器リスト１３１に追加する（ステップＳ３０８）。追加部１２８は、署名検証部１２３によって検証された署名データが、あらかじめ定められたデータと合致し、かつ、第１のメッセージに含まれる乱数が、乱数生成部１２７によって生成された乱数R_0と合致した場合、第１のメッセージに含まれるアドレス情報２３２を機器リストに追加する。
【００４５】
さらに、検証装置１０は、所定時間（例えば１分）が経過するごとに、乱数の生成および情報の要求を行ってもよい（ステップＳ３０９〜Ｓ３１６）。このとき、検証装置１０は、端末２０からの応答がなかった場合や、署名データが正当であることが検証できなかった場合は、端末２０に関する情報を機器リスト１３１から削除するようにしてもよい。
【００４６】
次に、図９の例について説明する。図９に示すように、まず、検証装置１０の情報要求部１２１は、端末２０に、識別情報２３１を含んだメッセージを送信することを要求する（ステップＳ４０１）。そして、端末２０の署名生成部２４１は、秘密鍵を用いて、デジタル署名を生成する（ステップＳ４０２）。
【００４７】
次に、端末２０の情報送信部２２２は、端末２０の識別情報２３１と署名生成部２４１によって生成された署名データとを含んだメッセージを第１のメッセージとして検証装置１０に送信することで応答を行う（ステップＳ４０３）。
【００４８】
そして、証明書要求部１２２は、端末２０によって送信された第１のメッセージに含まれる識別情報２３１に対応する公開鍵を含んだ公開鍵証明書を送信することを、認証装置３０に要求する（ステップＳ４０４）。
【００４９】
証明書取得部３２１は、検証装置によって要求された公開鍵を含んだ公開鍵証明書を、記憶部３３の公開鍵情報３３１から取得する（ステップＳ４０５）。また、証明書送信部３２２は、証明書取得部３２１によって取得された公開鍵を含んだ公開鍵証明書を、機器情報とともに検証装置１０に送信する（ステップＳ４０６）。
【００５０】
ここで、乱数生成部１２７は、乱数R_0を生成する。そして、公開鍵暗号化部１２４は、所定のビット列を生成し、生成したビット列および乱数R_0を、認証装置３０によって送信された公開鍵を用いて暗号化する（ステップＳ４０７）。ここで、データ送信部１２５は、公開鍵暗号化部１２４によって暗号化されたビット列および乱数R_0を、端末２０に送信し、アドレス情報２３２の送信を要求する（ステップＳ４０８）。
【００５１】
端末側共通鍵生成部２２１は、検証装置１０によって送信された、暗号化されたビット列および乱数R_0を、秘密鍵を用いて復号し、復号したビット列を基に、所定の方法で共通鍵を生成する（ステップＳ４０９）。
【００５２】
署名生成部２４１は、端末側共通鍵生成部２２１によって生成された共通鍵を用いて、デジタル署名を生成する（ステップＳ４１０）。次に、端末２０の情報送信部２２２は、端末２０のアドレス情報２３２と署名生成部２４１によって共通鍵を用いて生成された署名データと乱数R_0とを含んだメッセージを第２のメッセージとして検証装置１０に送信することで応答を行う（ステップＳ４１１）。
【００５３】
ここで、検証装置１０の共通鍵生成部１２６は、公開鍵暗号化部１２４で用いられた所定のビット列を基に、所定の方法で共通鍵を生成する。そして、署名検証部１２３は、共通鍵生成部１２６によって生成された共通鍵を用いて、第２のメッセージに含まれる署名データおよび乱数を検証する。そして追加部１２８は、署名検証部１２３によって署名データが正しいと検証された場合、第２のメッセージに含まれるアドレス情報２３２を機器リスト１３１に追加する（ステップＳ４１２）。
【００５４】
追加部１２８は、署名検証部１２３によって検証された署名データが、あらかじめ定められたデータと合致した場合、かつ、第２のメッセージに含まれる乱数が、乱数生成部１２７によって生成された乱数R_0と合致した場合、第２のメッセージに含まれるアドレス情報２３２を機器リストに追加する。
【００５５】
さらに、検証装置１０は、図８の例と同様に、所定時間（例えば１分）が経過するごとに、乱数の生成および情報の要求を行ってもよい（ステップＳ４１３〜Ｓ４２０）。このとき、検証装置１０は、端末２０からの応答がなかった場合や、署名データが正当であることが検証できなかった場合は、端末２０に関する情報を機器リスト１３１から削除するようにしてもよい。
【００５６】
［第１の実施形態の効果］
検証装置１０の情報要求部１２１は、端末２０に、端末２０を識別する識別情報２３１と端末２０のアドレスに関するアドレス情報２３２とを少なくとも含んだ第１のメッセージを送信することを要求する。また、証明書要求部１２２は、端末２０によって送信された第１のメッセージに含まれる識別情報２３１に対応する公開鍵を送信することを、認証装置３０に要求する。また、署名検証部１２３は、認証装置３０によって送信された公開鍵を用いて、第１のメッセージに含まれる第１の署名データを検証する。また、追加部１２８は、署名検証部１２３によって第１の署名データが正しいと検証された場合、第１のメッセージに含まれるアドレス情報２３２を機器リストに追加する。
【００５７】
端末２０の秘密鍵記憶部２４２は、秘密鍵を記憶する。また、署名生成部２４１は、秘密鍵を用いて、識別情報２３１およびアドレス情報２３２から署名データを生成する。また、情報送信部２２２は、端末２０の識別情報２３１と端末２０のアドレス情報２３２と署名生成部２４１によって生成された第１の署名データとを含んだ第１のメッセージを検証装置１０に送信する。
【００５８】
認証装置３０の記憶部３３は、端末２０ごとの識別情報２３１に対応した公開鍵を記憶する。また、証明書取得部３２１は、検証装置１０によって要求された公開鍵を含んだ公開鍵証明書を、記憶部３３から取得する。また、証明書送信部３２２は、証明書取得部３２１によって取得された公開鍵を、検証装置１０に送信する。
【００５９】
このように、第１の実施形態では、通信路の暗号化や機器に対する認証が行われているため、なりすましや誤登録の発生を防止することができ、適正な機器リストを作成することができる。
【００６０】
例えば、第１の実施形態によれば、あらかじめ公開鍵が認証装置３０に記憶されていない機器のアドレス情報が機器リストに登録されることがないため、誤登録の発生を防止することができる。また、端末２０になりすまし、アドレス情報を機器リストに登録するためには、端末２０の秘密鍵が必要である。このため、第１の実施形態によれば、なりすましを防止することができる。
【００６１】
端末２０の秘密鍵記憶部２４２および署名生成部２４１は、耐タンパ領域に備えられるようにしてもよい。これにより、秘密鍵が外部から読み取られることを防止できるため、機器へのなりすまし等をより確実に防止することができるようになる。
【００６２】
検証装置１０の公開鍵暗号化部１２４は、認証装置３０によって送信された公開鍵を用いて、共通鍵の生成元のデータを暗号化してもよい。このとき、データ送信部１２５は、公開鍵暗号化部１２４によって暗号化された生成元のデータを、端末２０に送信する。また、共通鍵生成部１２６は、生成元のデータを基に、所定の方法で共通鍵を生成する。また、端末側共通鍵生成部２２１は、検証装置１０によって送信された、生成元のデータを、秘密鍵を用いて復号し、当該復号した生成元のデータを基に、所定の方法で共通鍵を生成する。また、情報要求部１２１は、端末２０に、端末２０を識別する識別情報２３１を少なくとも含んだ第１のメッセージを送信することを要求する。
【００６３】
署名生成部２４１は、端末側共通鍵生成部２２１によって生成された共通鍵を用いて、アドレス情報２３２から第２の署名データを生成する。端末２０の情報送信部２２２は、第１のメッセージを送信することを要求された場合は、識別情報２３１を少なくとも含んだ第１のメッセージを検証装置１０に送信し、生成元のデータが検証装置１０によって送信された場合は、端末２０のアドレス情報２３２と署名生成部２４１によって生成された第２の署名データとを含んだ第２のメッセージを検証装置１０に送信する。
【００６４】
さらに、検証装置１０の署名検証部１２３は、共通鍵生成部１２６によって生成された共通鍵を用いて、第２のメッセージに含まれる第２の署名データを検証する。また、追加部１２８は、署名検証部１２３によって第２の署名データが正しいと検証された場合、第２のメッセージに含まれるアドレス情報２３２を機器リストに追加する。このように、共通鍵を用いたデジタル署名を行うことで、アドレス情報等の送信をより安全に行うことができるようになる。
【００６５】
検証装置１０の情報要求部１２１は、端末２０に、第１のメッセージを送信することを要求するとともに、乱数生成部１２７によって生成された乱数を送信してもよい。このとき、端末２０の情報送信部２２２は、第１のメッセージに、情報要求部１２１によって送信された乱数を含めて検証装置１０に送信する。
【００６６】
また、検証装置１０の追加部１２８は、署名検証部１２３によって第１の署名データが正しいと検証され、かつ、情報送信部２２２によって送信された乱数が、端末２０によって送信された乱数と合致した場合、第１のメッセージに含まれるアドレス情報２３２を機器リストに追加する。このように、乱数を使うことで、より確実な認証を行うことができるようになる。また、一定時間ごとの定期的な認証を行うことができるようになるため、例えば、クラックされた機器が、機器リストへアドレス情報が追加された機器になりすました場合に、当該アドレス情報を一定時間ごとに排除することができるようになる。
【００６７】
検証装置１０の公開鍵暗号化部１２４は、認証装置３０によって送信された公開鍵を用いて、生成元のデータと、乱数生成部１２７によって生成された乱数とを暗号化してもよい。このとき、検証装置１０のデータ送信部１２５は、公開鍵暗号化部１２４によって暗号化された生成元のデータおよび乱数を、端末２０に送信する。また、端末側共通鍵生成部２２１は、検証装置１０によって送信された、生成元のデータおよび乱数を、秘密鍵を用いて復号する。
【００６８】
また、端末２０の情報送信部２２２は、第２のメッセージに、端末側共通鍵生成部２２１によって復号された乱数を含めて検証装置１０に送信する。検証装置１０の署名検証部１２３は、共通鍵生成部１２６によって生成された共通鍵を用いて、第２のメッセージに含まれる第２の署名データおよび乱数を検証する。また、追加部１２８は、署名検証部１２３によって、第２の署名データが正しいと検証され、かつ、情報送信部２２２によって送信された乱数が、端末によって送信された乱数と合致した場合、第２のメッセージに含まれるアドレス情報２３２を機器リストに追加する。このように、乱数を使うことで、より確実な認証を行うことができるようになる。また、一定時間ごとの定期的な認証を行うことができるようになる。
【００６９】
［その他の実施形態］
ＨＧＷは、例えば、上記の実施形態で作成された機器リスト１３１を用いて通信制御を行うことができる。例えば、ＨＧＷは、機器リスト１３１に登録されていないデバイスの外部への接続を遮断し、機器リスト１３１に登録されているデバイスの外部への接続を許可する。
【００７０】
図１の例では、ＨＧＷとして機能する検証装置１０が、機器リスト１３１に登録されていない端末のインターネット５０への接続を遮断し、機器リスト１３１に登録されている端末のインターネット５０への接続を許可するようにすることができる。
【００７１】
さらに、検証装置１０は、機器リスト１３１を用いて通信ポリシ制御を行ってもよい。このとき、ＰｕｂＫｅｙセンタに備えられた認証装置３０は、各端末の通信ポリシを記憶する。そして、検証装置１０は、機器情報や公開鍵証明書を取得する際に、通信ポリシを取得する。なお、通信ポリシは、メーカや販売者等により、動的に制御されるようにしてもよい。
【００７２】
例えば、端末２０が、ビデオレコーダ等の、あらゆる通信先との通信を必要とせず、特定の通信先との通信のみを必要とする単機能機器である場合、検証装置１０は、当該端末２０について、製造メーカのＷｅｂサイトやファームウェアアップデートのサイトへの接続のみ許可するようにしてもよい。このとき、認証装置３０は、端末２０の通信ポリシとして、例えば許可サイトの一覧を記憶する。
【００７３】
また、検証装置１０は、追加料金の支払い等のコスト負担が行われた対象の機器の通信速度を向上させるようにしてもよい。このとき、認証装置３０は、例えば、コスト負担に基づく各端末の優先度を記憶する。
【００７４】
また、端末２０が、センサデバイス等の、本体に対するアドレス、所有者、管理装置等の設定が困難なデバイスである場合が考えられる。このような場合、ＰｕｂＫｅｙセンタの所定の装置に、当該端末２０の販売先や設置場所の情報を設定しておき、当該端末２０がネットワークに接続された際に、必要な情報が認証装置３０に転送されるようにしてもよい。
【００７５】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７６】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００７７】
［プログラム］
一実施形態として、機器リスト作成システム１の各装置は、パッケージソフトウェアやオンラインソフトウェアとして上記の機器リスト作成を実行する機器リスト作成プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の機器リスト作成プログラムを情報処理装置に実行させることにより、情報処理装置を機器リスト作成システム１の各装置として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。また、検証装置１０として機能する情報処理装置は、ＨＧＷであってもよい。また、端末２０として機能する情報処理装置は、家電であってもよい。
【００７８】
また、機器リスト作成システム１は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の機器リスト作成に関するサービスを提供する機器リスト作成サーバ装置として実装することもできる。例えば、機器リスト作成サーバ装置は、ホームネットワークに関する情報を入力とし、機器リストを出力とする機器リスト作成サービスを提供するサーバ装置として実装される。この場合、機器リスト作成サーバ装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の機器リスト作成に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【００７９】
図１０は、プログラムが実行されることにより機器リスト作成システムの各装置が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００８０】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００８１】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、機器リスト作成システムの各装置の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、検証装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００８２】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００８３】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３およびプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３およびプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００８４】
１  機器リスト作成システム
１０  検証装置
２０  端末
３０  認証装置
４０  ホームネットワーク
５０  インターネット
１１、２１、３１  通信部
１２、２２、３２  制御部
１３、２３、３３  記憶部
２４  ＴＰＭ
１２１  情報要求部
１２２  証明書要求部
１２３  署名検証部
１２４  公開鍵暗号化部
１２５  データ送信部
１２６  共通鍵生成部
１２７  乱数生成部
１２８  追加部
１３１  機器リスト
２２１  端末側共通鍵生成部
２２２  情報送信部
２３１  識別情報
２３２  アドレス情報
２４１  署名生成部
２４２  秘密鍵記憶部
２４３  秘密鍵情報
３２１  証明書取得部
３２２  証明書送信部
３３１  公開鍵情報
【図１】
2018011190.tif 000003
【図２】
2018011190.tif 000004
【図３】
2018011190.tif 000005
【図４】
2018011190.tif 000006
【図５】
2018011190.tif 000007
【図６】
2018011190.tif 000008
【図７】
2018011190.tif 000009
【図８】
2018011190.tif 000010
【図９】
2018011190.tif 000011
【図１０】
2018011190.tif 000012