(57)【特許請求の範囲】
【請求項１】
認証装置であって、
マスタ鍵を記憶しているマスタ鍵記憶部と、
前記認証装置との接続が許可される正当な通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記正当な通信装置がチャレンジ値に対するレスポンス値を生成する際に用いるレスポンス用鍵を生成するレスポンス用鍵生成部と、
前記レスポンス用鍵生成部により生成されたレスポンス用鍵が前記正当な通信装置に対して配布された後に、いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信部と、
前記通信部により前記接続要求が受信された際に、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成部と、
前記通信部により受信された前記接続要求通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成部と、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成部と、
前記通信部により受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定部とを有することを特徴とする認証装置。
【請求項２】
前記認証装置は、
前記正当な通信装置に配布されたレスポンス用鍵を記憶しておらず、
前記認証鍵生成部は、
前記接続要求通信装置の識別情報と前記マスタ鍵とに基づき、前記レスポンス用鍵の生成アルゴリズムと同じアルゴリズムにより、前記接続要求通信装置の認証に用いる認証鍵を生成し、
前記照合レスポンス値生成部は、
前記正当な通信装置がレスポンス用鍵とチャレンジ値とに基づき前記レスポンス値を生成するアルゴリズムと同じアルゴリズムにより、前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき照合レスポンス値を生成することを特徴とする請求項１に記載の認証装置。
【請求項３】
前記認証装置は、更に、
前記正当な通信装置に配布された検証情報を識別情報と対応付けて記憶している検証情報記憶部を有し、
前記接続許否判定部は、
前記受信レスポンス値と前記照合レスポンス値が一致する場合に、前記接続要求通信装置に対して検証情報の送信を要求する検証情報要求を生成し、
前記通信部は、
前記接続許否判定部により生成された検証情報要求を前記接続要求通信装置に送信し、前記接続要求通信装置から検証情報を受信し、
前記接続許否判定部は、
前記接続要求通信装置の識別情報と対応付けられている検証情報を前記検証情報記憶部から取得し、前記通信部により受信された前記接続要求通信装置の検証情報と前記検証情報記憶部から取得した検証情報とを照合し、検証情報が一致する場合に、前記接続要求通信装置との接続を許可し、検証情報が一致しない場合に、前記接続要求通信装置との接続を許可しないことを特徴とする請求項２に記載の認証装置。
【請求項４】
前記通信部は、
前記接続要求とともに前記接続要求通信装置の識別情報を受信することを特徴とする請求項１〜３のいずれかに記載の認証装置。
【請求項５】
前記通信部は、
レスポンス値とともに前記接続要求通信装置の識別情報を受信することを特徴とする請求項１〜３のいずれかに記載の認証装置。
【請求項６】
前記通信部は、
第２の通信装置から接続要求を受信した第１の通信装置から前記第２の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して前記チャレンジ値生成部により生成されたチャレンジ値を前記第１の通信装置に送信し、前記第１の通信装置から前記第２の通信装置に送信されたチャレンジ値に対する前記第２の通信装置によるレスポンス値を前記第１の通信装置から受信し、前記第２の通信装置の識別情報を前記第１の通信装置から受信し、
前記チャレンジ値生成部は、
前記通信部により前記認証要求が受信された際にチャレンジ値を生成し、
前記認証鍵生成部は、
前記通信部により受信された前記第２の通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記第２の通信装置の認証に用いる認証鍵を生成し、
前記照合レスポンス値生成部は、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき照合レスポンス値を生成し、
前記接続許否判定部は、
前記通信部により受信された前記第２の通信装置のレスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記第１の通信装置と前記第２の通信装置との間の接続を許可するか否かを判定することを特徴とする請求項１〜５のいずれかに記載の認証装置。
【請求項７】
マスタ鍵を記憶しているマスタ鍵記憶部と、
他の通信装置との接続が許可される正当な通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記正当な通信装置がチャレンジ値に対するレスポンス値を生成する際に用いるレスポンス用鍵を生成するレスポンス用鍵生成部と、
前記レスポンス用鍵生成部により生成されたレスポンス用鍵が前記正当な通信装置に対して配布された後に、第２の通信装置から接続要求を受信した第１の通信装置から前記第２の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して生成されたチャレンジ値を前記第１の通信装置に送信し、前記第１の通信装置から前記第２の通信装置に送信されたチャレンジ値に対する前記第２の通信装置によるレスポンス値を前記第１の通信装置から受信し、前記第２の通信装置の識別情報を前記第１の通信装置から受信する通信部と、
前記通信部により前記認証要求が受信された際にチャレンジ値を生成するチャレンジ値生成部と、
前記通信部により受信された前記第２の通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記第２の通信装置の認証に用いる認証鍵を生成する認証鍵生成部と、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成部と、
前記通信部により受信された前記第２の通信装置のレスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記第１の通信装置と前記第２の通信装置との間の接続を許可するか否かを判定する接続許否判定部とを有することを特徴とする認証装置。
【請求項８】
前記通信部は、
前記認証要求とともに前記第１の通信装置の識別情報を受信し、
前記認証装置は、更に、
前記通信部により受信された前記第１の通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記第１の通信装置が保有している保有鍵であって前記第１の通信装置の識別情報と前記マスタ鍵に基づき生成された保有鍵と同じ鍵を被照合値用鍵として生成する被照合値用鍵生成部と、
前記チャレンジ値生成部により生成されたチャレンジ値と前記被照合値用鍵生成部により生成された被照合値用鍵に基づき、前記第１の通信装置が前記保有鍵と前記チャレンジ値に基づき生成する照合値と前記第１の通信装置において照合される被照合値を生成する被照合値生成部とを有し、
前記通信部は、
前記チャレンジ値生成部により生成されたチャレンジ値と前記被照合値生成部により生成された被照合値を前記第１の通信装置に送信し、
前記第２の通信装置において前記保有鍵と前記チャレンジ値に基づき生成された照合値と前記被照合値が照合され前記照合値と前記被照合値とが一致すると判定されて前記第１の通信装置から前記第２の通信装置に送信された前記チャレンジ値に対する前記第２の通信装置のレスポンス値を前記第１の通信装置から受信することを特徴とする請求項６又は７に記載の認証装置。
【請求項９】
前記認証装置は、
前記正当な通信装置に配布されたレスポンス用鍵を記憶しておらず、
前記認証鍵生成部は、
前記第２の通信装置の識別情報と前記マスタ鍵とに基づき、前記レスポンス用鍵の生成アルゴリズムと同じアルゴリズムにより、前記第２の通信装置の認証に用いる認証鍵を生成し、
前記照合レスポンス値生成部は、
前記正当な通信装置がレスポンス用鍵とチャレンジ値とに基づき前記レスポンス値を生成するアルゴリズムと同じアルゴリズムにより、前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき照合レスポンス値を生成することを特徴とする請求項６〜８のいずれかに記載の認証装置。
【請求項１０】
前記認証装置は、更に、
前記正当な通信装置に配布された検証情報を識別情報と対応付けて記憶している検証情報記憶部を有し、
前記接続許否判定部は、
前記第２の通信装置のレスポンス値と前記照合レスポンス値が一致する場合に、前記第２の通信装置の検証情報の送信を要求する検証情報要求を生成し、
前記通信部は、
前記接続許否判定部により生成された検証情報要求を前記第１の通信装置に送信し、前記第１の通信装置から前記第２の通信装置の検証情報を受信し、
前記接続許否判定部は、
前記第２の通信装置の識別情報と対応付けられている検証情報を前記検証情報記憶部から取得し、前記通信部により受信された前記第２の通信装置の検証情報と前記検証情報記憶部から取得した検証情報とを照合し、検証情報が一致する場合に、前記第１の通信装置と前記第２の通信装置との間の接続を許可し、検証情報が一致しない場合に、前記第１の通信装置と前記第２の通信装置との間の接続を許可しないことを特徴とする請求項９に記載の認証装置。
【請求項１１】
マスタ鍵を記憶しているコンピュータが行う認証方法であって、
前記コンピュータが、前記コンピュータとの接続が許可される正当な通信装置の識別情報と前記マスタ鍵とに基づき、前記正当な通信装置がチャレンジ値に対するレスポンス値を生成する際に用いるレスポンス用鍵を生成するレスポンス用鍵生成ステップと、
前記レスポンス用鍵生成ステップにより生成されたレスポンス用鍵が前記正当な通信装置に対して配布された後に、前記コンピュータが、いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信ステップと、
前記通信ステップにより前記接続要求が受信された際に、前記コンピュータが、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記接続要求通信装置の識別情報と前記マスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成ステップと、
前記コンピュータが、前記認証鍵生成ステップにより生成された認証鍵と前記チャレンジ値生成ステップにより生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成ステップにより生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定ステップとを有することを特徴とする認証方法。
【請求項１２】
マスタ鍵を記憶しているコンピュータが行う認証方法であって、
前記コンピュータが、他の通信装置との接続が許可される正当な通信装置の識別情報と前記マスタ鍵とに基づき、前記正当な通信装置がチャレンジ値に対するレスポンス値を生成する際に用いるレスポンス用鍵を生成するレスポンス用鍵生成ステップと、
前記レスポンス用鍵生成ステップにより生成されたレスポンス用鍵が前記正当な通信装置に対して配布された後に、前記コンピュータが、第２の通信装置から接続要求を受信した第１の通信装置から前記第２の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して生成されたチャレンジ値を前記第１の通信装置に送信し、前記第１の通信装置から前記第２の通信装置に送信されたチャレンジ値に対する前記第２の通信装置によるレスポンス値を前記第１の通信装置から受信し、前記第２の通信装置の識別情報を前記第１の通信装置から受信する通信ステップと、
前記コンピュータが、前記通信ステップにより前記認証要求が受信された際にチャレンジ値を生成するチャレンジ値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記第２の通信装置の識別情報と前記マスタ鍵とに基づき、前記第２の通信装置の認証に用いる認証鍵を生成する認証鍵生成ステップと、
前記コンピュータが、前記認証鍵生成ステップにより生成された認証鍵と前記チャレンジ値生成ステップにより生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記第２の通信装置のレスポンス値と前記照合レスポンス値生成ステップにより生成された照合レスポンス値とを照合し、前記第１の通信装置と前記第２の通信装置との間の接続を許可するか否かを判定する接続許否判定ステップとを有することを特徴とする認証方法。
【請求項１３】
マスタ鍵を記憶しているコンピュータに、
前記コンピュータとの接続が許可される正当な通信装置の識別情報と前記マスタ鍵とに基づき、前記正当な通信装置がチャレンジ値に対するレスポンス値を生成する際に用いるレスポンス用鍵を生成するレスポンス用鍵生成処理と、
前記レスポンス用鍵生成処理により生成されたレスポンス用鍵が前記正当な通信装置に対して配布された後に、いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信処理と、
前記通信処理により前記接続要求が受信された際に、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成処理と、
前記通信処理により受信された前記接続要求通信装置の識別情報と前記マスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成処理と、
前記認証鍵生成処理により生成された認証鍵と前記チャレンジ値生成処理により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成処理と、
前記通信処理により受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成処理により生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定処理とを実行させることを特徴とするプログラム。
【請求項１４】
マスタ鍵を記憶しているコンピュータに、
他の通信装置との接続が許可される正当な通信装置の識別情報と前記マスタ鍵とに基づき、前記正当な通信装置がチャレンジ値に対するレスポンス値を生成する際に用いるレスポンス用鍵を生成するレスポンス用鍵生成処理と、
前記レスポンス用鍵生成処理により生成されたレスポンス用鍵が前記正当な通信装置に対して配布された後に、第２の通信装置から接続要求を受信した第１の通信装置から前記第２の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して生成されたチャレンジ値を前記第１の通信装置に送信し、前記第１の通信装置から前記第２の通信装置に送信されたチャレンジ値に対する前記第２の通信装置によるレスポンス値を前記第１の通信装置から受信し、前記第２の通信装置の識別情報を前記第１の通信装置から受信する通信処理と、
前記通信処理により前記認証要求が受信された際にチャレンジ値を生成するチャレンジ値生成処理と、
前記通信処理により受信された前記第２の通信装置の識別情報と前記マスタ鍵とに基づき、前記第２の通信装置の認証に用いる認証鍵を生成する認証鍵生成処理と、
前記認証鍵生成処理により生成された認証鍵と前記チャレンジ値生成処理により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成処理と、
前記通信処理により受信された前記第２の通信装置のレスポンス値と前記照合レスポンス値生成処理により生成された照合レスポンス値とを照合し、前記第１の通信装置と前記第２の通信装置との間の接続を許可するか否かを判定する接続許否判定処理とを実行させることを特徴とするプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器認証技術に関する。
【背景技術】
【０００２】
模造品に対する対策は、正規品の製造業者にとって、潜在的市場の喪失、ブランドイメージの低下、製造物責任といった観点から必要不可欠となっている。
模造品対策の一つとして、機器認証がある。
機器認証のために一般的に用いられる方式として、チャレンジ・レスポンス方式がある。
チャレンジ・レスポンス方式では、認証機器と被認証機器であらかじめ認証鍵を共有しておき、同一の認証用演算アルゴリズムを用いて認証を行う。
ここでは認証機器をマスタ機器、被認証機器をスレーブ機器として手順を説明する。
【０００３】
スレーブ機器は、マスタ機器に対して接続要求を出す。
マスタ機器は、チャレンジ用の乱数を生成し、スレーブ機器へ送付する。
スレーブ機器は、チャレンジ用の乱数と認証鍵を認証用演算アルゴリズムの入力とし、得られた出力をレスポンスとしてマスタ機器へ送付する。
マスタ機器は、チャレンジ用の乱数と認証鍵を認証用演算アルゴリズムの入力として得られた出力を、スレーブ機器から受取ったレスポンスと比較し、一致したら認証成功とし、スレーブ機器が正規品であると判断する。
この認証方式では、認証に使用する認証鍵を第三者、例えば模造品製造者が知りえないという点に依存している。
【０００４】
チャレンジ・レスポンス方式を機器認証に用いる方法として、特許文献１の方法が提案されている。
認証機器の回路規模抑制のために、チャレンジ用乱数の生成機能と共有する認証鍵をサーバに置き、認証機器は、サーバから受取ったレスポンスと被認証機器から受取ったレスポンスの比較のみを行うように構成している。
特許文献１の方法では、認証機器上に認証鍵を配置していないが、サーバと被認証機器では同一の認証鍵を使用している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１９５１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
チャレンジ・レスポンス方式を認証に用いた場合、認証機器と被認証機器であらかじめ認証鍵を共有しておく必要がある。
認証鍵が漏洩した場合、同一の認証鍵を持つように模造品を構成することが可能となり、認証機能が機能しなくなってしまう。
そのため、認証機器と被認証機器のそれぞれで、認証鍵を安全に保持することが必要である。
特許文献１では、被認証機器は１種類であり、認証鍵を安全に保持する仕組みとして全ての被認証機器に同一の方式を採用することは容易であると考えられる。
しかしながら、被認証機器が多様な場合、認証鍵を安全に保持する仕組みとして、一様な方式を採用することは困難である。
例えば、ファクトリーオートメーションシステムでは、非常に簡易な演算装置により実現されている単機能低価格の機器から、ある程度高度な演算装置により実現されている機器まで様々である。
また、組込み機器として実現されている機器から、汎用パソコン上でソフトウェアとして実現されている機器まで、耐タンパの観点からの強弱も様々である。
機器認証後に動作する、機器毎に実現している機器本来の機能が異なったとしても、全ての機器が一つの認証鍵を共有した場合、耐タンパ性の低い機器から認証鍵が漏洩すると、他の全ての機器認証が意味をなさなくなるという課題がある。
一方で、被認証機器の機能や実現形態毎に異なる認証鍵を持つように構成した場合、特に認証機器が組込み機器であり情報格納用のメモリ領域が限られている場合、認証機器は全ての認証鍵を持つことは困難であるという課題がある。
【０００７】
この発明は上記のような課題を解決することを主な目的としており、共有する認証鍵が漏洩した場合の影響範囲を限定すると共に、情報格納領域が限定されている認証機器においても実現可能な認証方式を提供することを主な目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る認証装置は、
マスタ鍵を記憶しているマスタ鍵記憶部と、
いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信部と、
前記通信部により前記接続要求が受信された際に、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成部と、
前記通信部により受信された前記接続要求通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成部と、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成部と、
前記通信部により受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定部とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、通信装置ごとに設定されている識別情報とマスタ鍵から認証対象の通信装置の認証鍵を生成して認証を行うため、ある通信装置が保有している鍵が漏洩した場合でも、模造品が他の通信装置と詐称して認証装置に接続することを防ぐことができる。
また、認証装置は１つのマスタ鍵から複数の通信装置に対する複数の認証鍵を生成することができ、情報格納領域が限定されている認証装置においても複数の通信装置の認証を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係るシステム構成例を示す図。
【図２】実施の形態１に係るマスタ機器の構成例を示す図。
【図３】実施の形態１に係るスレーブ機器の構成例を示す図。
【図４】実施の形態１に係る機器認証動作を示す図。
【図５】実施の形態１に係るスレーブ鍵の生成動作を示すフローチャート図。
【図６】実施の形態２に係る機器認証動作を示す図。
【図７】実施の形態３に係るマスタ機器の構成例を示す図。
【図８】実施の形態３に係るスレーブ機器の構成例を示す図。
【図９】実施の形態３に係る機器認証動作を示す図。
【図１０】実施の形態３に係る機器認証動作を示す図。
【図１１】実施の形態５に係るシステム構成例を示す図。
【図１２】実施の形態５に係るマスタ機器の構成例を示す図。
【図１３】実施の形態５に係るスレーブ機器の構成例を示す図。
【図１４】実施の形態５に係る機器認証動作を示す図。
【図１５】実施の形態５に係る機器認証動作を示す図。
【図１６】実施の形態５に係る機器認証動作を示す図。
【図１７】実施の形態１に係る機器認証動作を示すフローチャート図。
【図１８】実施の形態５に係る機器認証動作を示すフローチャート図。
【図１９】実施の形態１〜６に係るマスタ機器のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１は、本実施の形態１におけるシステム構成例を示す。
本実施の形態に係るシステムでは、１つのマスタ機器（１）と２つのスレーブ機器（２）から構成され、マスタ機器（１）とスレーブ機器（２）はネットワーク（３）によって接続されている。
スレーブ機器は、３台以上あってもよい。
マスタ機器（１）は認証装置の例であり、スレーブ機器（２）は通信装置の例である。
【００１２】
図２は、マスタ機器（１）の構成例を示す。
マスタ機器（１）は、チャレンジコード生成部（１１）、ＨＡＳＨ計算部（１２）、識別情報保持部（１３）、マスタ鍵格納部（１４）、スレーブ鍵生成部（１５）、接続要求検証部（１６）、ネットワーク送受信部（１７）を持つ。
【００１３】
チャレンジコード生成部（１１）は、機器認証に使用する乱数であるチャレンジコード（チャレンジ値ともいう）を生成する機能である。
チャレンジコード生成部（１１）は、チャレンジ値生成部の例である。
【００１４】
ＨＡＳＨ計算部（１２）は、認証鍵とチャレンジコードを入力としてＨＡＳＨ値を出力する、一方向性を有するＨＡＳＨ計算論理を演算する機能である。
ＨＡＳＨ計算部（１２）が生成するＨＡＳＨ値は、スレーブ機器から送信されたレスポンス値の照合に用いる。
ＨＡＳＨ計算部（１２）は、照合レスポンス値生成部の例である。
【００１５】
識別情報保持部（１３）は、スレーブ機器（２）から得た識別情報を、一時的に保持しておくための記憶領域である。
【００１６】
マスタ鍵格納部（１４）は、マスタ機器（１）が機器認証に使用するマスタ鍵をあらかじめ格納しておくために使用する記憶領域である。
マスタ鍵格納部（１４）は、マスタ鍵記憶部の例である。
【００１７】
スレーブ鍵生成部（１５）は、スレーブ機器（２）から得た情報を入力としてスレーブ機器（２）の認証に使用するスレーブ鍵を出力する計算論理を演算する機能である。
より具体的には、スレーブ鍵生成部（１５）は、スレーブ機器（２）の識別情報とマスタ鍵格納部（１４）のマスタ鍵とに基づき、スレーブ機器の認証に使用するスレーブ鍵を生成する。
スレーブ鍵生成部（１５）は、認証鍵生成部の例である。
【００１８】
接続要求検証部（１６）は、２つのＨＡＳＨ値を入力とし、入力が一致するか否かで接続要求の可否を決定し、接続要求に対する応答を生成する機能である。
入力とする２つのＨＡＳＨ値はそれぞれ、マスタ機器（１）のＨＡＳＨ計算部（１２）が生成した値と、スレーブ機器（２）が生成しマスタ機器（１）に送付した値である。
つまり、接続要求検証部（１６）は、スレーブ機器（２）から受信したレスポンス値（ＨＡＳＨ値）とＨＡＳＨ計算部（１２）により生成されたレスポンス値（ＨＡＳＨ値）とを照合し、接続要求のあったスレーブ機器（２）との接続を許可するかどうかを決定する。
接続要求検証部（１６）は、接続許否判定部の例である。
【００１９】
ネットワーク送受信部（１７）は、ネットワーク（３）を介してスレーブ機器（２）と通信を行うための機能である。
より具体的には、ネットワーク送受信部（１７）は、いずれかのスレーブ機器（２）から接続要求を受信し、接続要求の送信元であるスレーブ機器（２）（接続要求通信装置）の識別情報を受信し、接続要求に対して生成されたチャレンジ値を当該スレーブ機器（２）に送信し、当該スレーブ機器（２）からチャレンジ値に対するレスポンス値を受信する。
ネットワーク送受信部（１７）は、通信部の例である。
【００２０】
図３は、被認証機器であるスレーブ機器（２）の構成例を示す。
スレーブ機器（２）は、識別情報格納部（２１）、スレーブ鍵格納部（２２）、接続要求部（２３）、ＨＡＳＨ計算部（２４）、ネットワーク送受信部（２５）を持つ。
【００２１】
識別情報格納部（２１）は、スレーブ機器識別用の識別情報をあらかじめ格納しておくために使用する記憶領域である。
識別情報格納部（２１）に格納されているスレーブ機器識別用の識別情報は、異なる動作をするスレーブ機器には異なる値を割当てる。
【００２２】
スレーブ鍵格納部（２２）は、スレーブ機器（２）が機器認証に使用するスレーブ鍵をあらかじめ格納しておくために使用する記憶領域である。
【００２３】
接続要求部（２３）は、マスタ機器（１）に対する接続要求を生成し、接続要求に対するマスタ機器（１）からの応答を受取る機能である。
【００２４】
ＨＡＳＨ計算部（２４）は、スレーブ鍵とチャレンジコードを入力としてＨＡＳＨ値を出力する、一方向性を有する計算論理を演算する機能である。
【００２５】
ネットワーク送受信部（２５）は、ネットワーク（３）を介してスレーブ機器（２）と通信を行うための機能である。
【００２６】
図５は、スレーブ機器（２）のスレーブ鍵格納部（２２）に格納するスレーブ鍵を生成する手順を示している。
なお、図５の手順により生成されるスレーブ鍵は、スレーブ機器（２）においてチャレンジコードに対するレスポンス値の生成に用いられる鍵であり、レスポンス用鍵の例である。
【００２７】
まず、スレーブ鍵生成部（１５）が、マスタ鍵格納部（１４）に格納するマスタ鍵を決定する（Ｓ５０１）。
次に、スレーブ鍵生成部（１５）が、スレーブ機器（２）を識別するための識別情報を決定する（Ｓ５０２）。
識別情報として、個々のスレーブ機器を特定することが可能な情報、あるいはスレーブ機器の種類を特定することが可能な情報、あるいはスレーブ機器の形名を特定することが可能な情報、あるいはスレーブ機器の版を特定することが可能な情報等を使用する。
Ｓ５０１で決定した認証鍵とＳ５０２で決定した識別情報を入力として、スレーブ鍵生成部（１５）は演算式ｆを計算し（Ｓ５０３）、算出した値をＳ５０２で決定した識別情報を持つスレーブ機器のスレーブ鍵とする（Ｓ５０４）。
Ｓ５０３で使用する演算式ｆの一例は、入力値を連結した値にＨＡＳＨ計算論理を適用するという式である。
演算式ｆは、マスタ機器（１）のＨＡＳＨ計算部（１２）とスレーブ機器（２）のＨＡＳＨ計算部（２４）と同様に、一方向性を有するＨＡＳＨ計算論理である。
機器認証の開始に先立ち、スレーブ鍵生成部（１５）が、Ｓ５０１で決定したマスタ鍵をマスタ機器（１）のマスタ鍵格納部（１４）に格納し、Ｓ５０２で決定した識別情報をスレーブ機器（２）の識別情報格納部（２１）に格納し、Ｓ５０４で決定した認証鍵をスレーブ機器（２）のスレーブ鍵格納部（２２）に格納しておく。
スレーブ鍵格納部（２２）へのスレーブ鍵の格納は、例えば、ネットワーク送受信部（１７）によって該当するスレーブ機器（２）に送信するようにしてもよい。
なお、マスタ機器（１）では、スレーブ機器（２）のスレーブ鍵格納部（２２）に格納したスレーブ鍵を記憶しない。
【００２８】
次に、図１７のフローチャートを用いて、本実施の形態に係る機器認証動作の概要を説明する。
図１７は、スレーブ機器（２）の機器認証を行う際のマスタ機器（１）が動作の概要を示すフローチャートである。
なお、図１７の処理は、図５の処理が終了した後の処理である。
【００２９】
マスタ機器（１）では、まず、ネットワーク送受信部（１７）がスレーブ機器（２）から送信された接続要求を受信する（Ｓ１７０１）（通信ステップ）。
接続要求には、接続要求送信元のスレーブ機器（２）の識別情報が含まれている。
次に、チャレンジコード生成部（１１）が、接続要求送信元のスレーブ機器（２）の認証のためのチャレンジコードを生成する（Ｓ１７０２）（チャレンジ値生成ステップ）。
次に、スレーブ鍵生成部（１５）が、マスタ鍵格納部（１４）のマスタ鍵と、接続要求に含まれているスレーブ機器（２）の識別情報からスレーブ鍵（認証鍵）を生成する（Ｓ１７０３）（認証鍵生成ステップ）。
このスレーブ鍵（認証鍵）は、接続要求送信元のスレーブ機器（２）が正当なスレーブ機器（マスタ機器（１）との接続する権限のあるスレーブ機器）であれば保有しているはずのスレーブ鍵と一致する。
スレーブ鍵生成部（１５）によるスレーブ鍵の生成は、図５のＳ５０３の演算式ｆと同様の演算を行う。つまり、スレーブ鍵生成部（１５）は、スレーブ機器（２）に配布したスレーブ鍵（レスポンス用鍵）の生成アルゴリズムと同じアルゴリズムにより機器認証に用いるスレーブ鍵（認証鍵）を生成する。
次に、ＨＡＳＨ計算部（１２）が、Ｓ１７０２で生成されたチャレンジコードとＳ１７０３で生成されたスレーブ鍵を入力としてＨＡＳＨ値を計算する（Ｓ１７０４）（照合レスポンス値生成ステップ）。
このマスタ機器（１）のＨＡＳＨ計算部（１２）によるＨＡＳＨ演算は、スレーブ機器（２）のＨＡＳＨ計算部（２４）によるＨＡＳＨ演算と同じである。
つまり、ＨＡＳＨ計算部（１２）は、正当なスレーブ機器（２）がチャレンジコードに対するレスポンスの際に、配布されたスレーブ鍵（レスポンス用鍵）とチャレンジコードに対して用いるＨＡＳＨ演算アルゴリズムと同じＨＡＳＨ演算アルゴリズムでＨＡＳＨ値を算出する。
【００３０】
次に、ネットワーク送受信部（１７）が、Ｓ１７０２で生成されたチャレンジコードを接続要求送信元のスレーブ機器（２）に送信する（Ｓ１７０５）（通信ステップ）。
次に、ネットワーク送受信部（１７）が、接続要求送信元のスレーブ機器（２）からレスポンスを受信する（Ｓ１７０６）（通信ステップ）。
次に、接続要求検証部（１６）が、Ｓ１７０６で受信したレスポンスに含まれるＨＡＳＨ値（受信レスポンス値）とＳ１７０４で生成されたＨＡＳＨ値（照合レスポンス値）を比較する（Ｓ１７０７）（接続許否判定ステップ）。
比較の結果、ＨＡＳＨ値が一致した場合（Ｓ１７０８でＹＥＳ）は、接続要求検証部（１６）は接続要求送信元のスレーブ機器（２）との接続を許可する（Ｓ１７０９）（接続許否判定ステップ）。
一方、ＨＡＳＨ値が一致しない場合（Ｓ１７０８でＮＯ）は、接続要求検証部（１６）は接続要求送信元のスレーブ機器（２）との接続を許可しない（Ｓ１７１０）（接続許否判定ステップ）。
最後に、ネットワーク送受信部（１７）は、接続許否判定の判定結果を示す応答を接続要求送信元のスレーブ機器（２）に送信する（Ｓ１７１１）。
【００３１】
なお、Ｓ１７０２とＳ１７０３は順序が入れ替わってもよく、また、Ｓ１７０５はＳ１７０２の直後に実施されてもよい。
また、Ｓ１７０３とＳ１７０４は、Ｓ１７０６の後に実施されてもよい。
【００３２】
次に、図４を参照して、本実施の形態に係る機器認証動作をより詳細に説明する。
図４は、機器認証におけるマスタ機器（１）とスレーブ機器（２）の動作例を示している。
なお、図４の処理は、図５の処理が終了した後の処理である。
【００３３】
スレーブ機器（２）は、識別情報格納部（２１）から格納されている識別情報を取り出し、接続要求部（２３）に渡す（Ｓ４１１）。
接続要求部（２３）は、マスタ機器（１）との接続要求を生成し、ネットワーク送受信部（２５）に接続要求を渡す（Ｓ４１２）。
マスタ機器（１）との接続要求には、識別情報格納部（２１）から渡された識別情報が含まれている。
ネットワーク送受信部（２５）は、接続要求部（２３）から渡された接続要求をデータとして含む通信用フレームを生成し、マスタ機器（１）宛に送信する（４０１）。
【００３４】
マスタ機器（１）では、ネットワーク送受信部（１７）がスレーブ機器（２）から送信された接続要求を受信する。
そして、ネットワーク送受信部（１７）は、接続要求を接続要求検証部（１６）に渡す（Ｓ４１３）。
接続要求検証部（１６）はＳ４１３で受取った接続要求に含まれている識別情報を識別情報保持部に保持し（Ｓ４１４）、スレーブ鍵生成部（１５）に渡す（Ｓ４１５）。
接続要求検証部（１６）はさらに、チャレンジコード生成部（１１）に対してチャレンジコードの生成を要求する（Ｓ４１６）。
チャレンジコード生成部（１１）は、接続要求検証部（１６）からの要求に応じてチャレンジコードを生成する。
チャレンジコード生成部（１１）は、生成したチャレンジコードを接続要求検証部（１６）、ＨＡＳＨ計算部（１２）へ渡す（Ｓ４１７、Ｓ４１８）。
【００３５】
接続要求検証部（１６）は受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部（１７）へ渡す（Ｓ４１９）。
マスタ機器（１）のスレーブ鍵生成部（１５）は、マスタ鍵格納部（１４）から格納しているマスタ鍵を受取り（Ｓ４２０）、Ｓ４１５で受取った識別情報とＳ４２０で受取ったマスタ鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をＨＡＳＨ計算部（１２）へ渡す（Ｓ４２１）。
ＨＡＳＨ計算部（１２）は、Ｓ４１８で受取ったチャレンジコードとＳ４２１で受取ったスレーブ鍵を入力としてＨＡＳＨ値を計算し、得られたＨＡＳＨ値を接続要求検証部（１６）に渡す（Ｓ４２２）。
ネットワーク送受信部（１７）は、Ｓ４１９で受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器（２）宛に送信する（４０２）。
【００３６】
スレーブ機器（２）のネットワーク送受信部（２５）は、マスタ機器（１）のネットワーク送受信部（１７）からチャレンジ要求を含む通信用フレームを受信すると、チャレンジ要求を接続要求部（２３）に渡す（Ｓ４２３）。
接続要求部（２３）は、Ｓ４２３で受取ったチャレンジ要求からチャレンジコードを取り出し、ＨＡＳＨ計算部（２４）に渡す（Ｓ４２４）。
ＨＡＳＨ計算部（２４）は、スレーブ鍵格納部（２２）から格納されているスレーブ鍵を取り出し（Ｓ４２５）、Ｓ４２４で受取ったチャレンジコードとＳ４２５で受取ったスレーブ鍵を入力としてＨＡＳＨ値を計算し、得られたＨＡＳＨ値を接続要求部（２３）に渡す（Ｓ４２６）。
接続要求部（２３）は、ＨＡＳＨ計算部（２４）から渡されたＨＡＳＨ値を含むレスポンスを生成し、ネットワーク送受信部（２５）に渡す（Ｓ４２７）。
ネットワーク送受信部（２５）は、Ｓ４２７で受取ったレスポンスをデータとして含む通信用フレームを生成し、マスタ機器宛に送信する（４０３）。
【００３７】
マスタ機器（１）のネットワーク送受信部（１７）は、スレーブ機器（２）からレスポンスを含む通信用フレームを受信すると、レスポンスを接続要求検証部（１６）に渡す（Ｓ４２８）。
接続要求検証部（１６）はレスポンスに含まれているＨＡＳＨ値を取り出し、Ｓ４２２で受取ったＨＡＳＨ値と比較し、一致の場合は接続許可、不一致の場合は接続不許可と、ネットワーク送受信部（１７）に応答する（Ｓ４２９）。
ネットワーク送受信部（１７）は、Ｓ４２９で接続要求検証部（１６）から得られた接続要求に対する応答を含む通信用フレームを生成し、スレーブ機器（２）宛に送信する（４０４）。
マスタ機器（１）は、Ｓ４２９で接続許可と判定した場合、以降のスレーブ機器（２）からの要求に対し、識別情報保持部（１３）に許可されている識別情報に対する操作のみを許容し、異なる識別情報のスレーブ機器に対する操作は許容しない。
Ｓ４２９で接続不許可と判定した場合、スレーブ機器（２）からの要求は許可しない。
【００３８】
スレーブ機器（２）のネットワーク送受信部（２５）は、マスタ機器（１）のネットワーク送受信部（１７）から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部（２３）に渡す（Ｓ４３０）。
【００３９】
以上のように、スレーブ機器間では識別情報毎に異なる認証鍵（スレーブ鍵）を持つように構成し、機器認証後にマスタ機器は認証時にスレーブ機器が通知した識別情報に対する操作のみを許容するようにしているため、スレーブ機器から認証鍵（スレーブ鍵）が漏洩した場合でも、異なる識別情報のスレーブ機器であることを詐称する模造品がマスタ機器に接続することを防ぐことができる。
また、マスタ機器とスレーブ機器が異なる認証鍵（マスタ鍵、スレーブ鍵）を格納するように構成し、スレーブ機器間では識別情報毎に異なる認証鍵（スレーブ鍵）を持つように構成し、マスタ機器はスレーブ機器が通知する識別情報とマスタ機器が格納している認証鍵（マスタ鍵）を元にスレーブ機器用の認証鍵（スレーブ鍵）を生成するようにしているため、マスタ機器は１つの認証鍵（マスタ鍵）を格納するだけで、異なる認証鍵（スレーブ鍵）を持つ複数のスレーブ機器に対する認証動作を行うことができる。
【００４０】
本実施の形態では、認証を行うマスタ機器が、認証鍵とスレーブ鍵生成機能を持ち、認証を受けるスレーブ機器が認証鍵と識別情報を持つことを説明した。
また、スレーブ機器がマスタ機器に認証を行う際に、識別情報をマスタ機器に送付し、マスタ機器は識別情報とマスタ機器が持つ認証鍵とスレーブ鍵生成機能からスレーブ機器が持つ認証鍵を生成することで、マスタ機器とスレーブ機器が認証鍵を共有することを説明した。
【００４１】
実施の形態２．
以上の実施の形態１では、スレーブ機器が識別情報を接続要求と同時にマスタ機器へ通知するようにしたものであるが、次にスレーブ機器が識別情報を接続要求とは別にマスタ機器へ通知する場合の実施の形態を示す。
【００４２】
実施の形態２におけるシステム構成は、実施の形態１の場合と同様であり、図１に示す構成となる。
マスタ機器（１）およびスレーブ機器（２）の構成は、実施の形態１の場合と同様であり、それぞれ図２と図３に示す構成となる。
【００４３】
図６は、実施の形態２において、スレーブ機器（２）がマスタ機器（１）に対して接続要求をした際に行う機器認証の動作を示している。
【００４４】
スレーブ機器（２）の接続要求部（２３）は、マスタ機器（１）との接続要求を生成し、ネットワーク送受信部（２５）に接続要求を渡す（Ｓ６１１）。
ネットワーク送受信部（２５）は、接続要求部（２３）から渡された接続要求をデータとして含む通信用フレームを生成し、マスタ機器（１）宛に送信する（６０１）。
【００４５】
マスタ機器（１）のネットワーク送受信部（１７）は、スレーブ機器（２）から接続要求を含む通信用フレームを受取ると、接続要求検証部（１６）に渡す（Ｓ６１２）。
接続要求検証部（１６）は、チャレンジコード生成部（１１）に対してチャレンジコードの生成を要求する（Ｓ６１３）。
チャレンジコード生成部（１１）は、生成したチャレンジコードを接続要求検証部（１６）とＨＡＳＨ計算部（１２）へ渡す（Ｓ６１４、Ｓ６１５）。
接続要求検証部（１６）は受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部（１７）へ渡す（Ｓ６１６）。
ネットワーク送受信部（１７）は、Ｓ６１６で受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器（２）宛に送信する（６０２）。
【００４６】
スレーブ機器（２）のネットワーク送受信部（２５）は、マスタ機器（１）のネットワーク送受信部（１７）からチャレンジコードを含む通信用フレームを受信すると、チャレンジ要求を接続要求部（２３）に渡す（Ｓ６１７）。接続要求部（２３）は、Ｓ６１７で受取ったチャレンジ要求からチャレンジコードを取り出し、ＨＡＳＨ計算部（２４）に渡す（Ｓ６１８）。
ＨＡＳＨ計算部（２４）は、スレーブ鍵格納部（２２）から格納されている認証鍵を取り出し（Ｓ６１９）、Ｓ６１８で受取ったチャレンジコードとＳ６１９で受取った認証鍵を入力としてＨＡＳＨ値を計算し、得られたＨＡＳＨ値を接続要求部（２３）に渡す（Ｓ６２０）。
接続要求部（２３）は、識別情報格納部（２１）から格納されている識別情報を取り出し（Ｓ６２１）、ＨＡＳＨ計算部（２４）から渡されたＨＡＳＨ値とＳ６２１で取り出した識別情報を含むレスポンスを生成し、ネットワーク送受信部（２５）に渡す（Ｓ６２２）。
ネットワーク送受信部（２５）は、Ｓ６２２で受取ったレスポンスをデータとして含む通信用フレームを生成し、マスタ機器宛に送信する（６０３）。
【００４７】
マスタ機器（１）のネットワーク送受信部（１７）は、スレーブ機器（２）からレスポンスを含む通信用フレームを受信すると、レスポンスを接続要求検証部（１６）に渡す（Ｓ６２３）。
接続要求検証部（１６）はレスポンスに含まれている識別情報を取り出し、識別情報保持部（１３）に保持する（Ｓ６２４）。
接続要求検証部（１６）は、取り出した識別情報をスレーブ鍵生成部（１５）に渡す（Ｓ６２５）。
スレーブ鍵生成部（１５）は、マスタ鍵格納部（１４）から格納している認証鍵を受取り（Ｓ６２６）、Ｓ６２５で受取った識別情報とＳ６２６で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をＨＡＳＨ計算部（１２）へ渡す（Ｓ６２７）。
ＨＡＳＨ計算部（１２）は、Ｓ６１５で受取ったチャレンジコードとＳ６２７で受取ったスレーブ鍵を入力としてＨＡＳＨ値を計算し、得られたＨＡＳＨ値を接続要求検証部（１６）に渡す（Ｓ６２８）。
接続要求検証部（１６）は、レスポンスに含まれているＨＡＳＨ値を取り出し、Ｓ６２８で受取ったＨＡＳＨ値を比較し、一致の場合は接続許可、不一致の場合は接続不許可と、ネットワーク送受信部（１７）に応答する（Ｓ６２９）。
ネットワーク送受信部（１７）は、Ｓ６２５で接続要求検証部（１６）から得られた接続要求に対する応答を含む通信用フレームを生成し、スレーブ機器（２）宛に送信する（６０４）。
マスタ機器（１）は、Ｓ６２９で接続許可と判定した場合、以降のスレーブ機器（２）からの要求に対し、識別情報保持部（１３）に許可されている識別情報に対する操作のみを許容し、異なる識別情報のスレーブ機器に対する操作は許容しない。
Ｓ６２９で接続不許可と判定した場合は、スレーブ機器（２）からの要求を許可しない。
【００４８】
スレーブ機器（２）のネットワーク送受信部（２５）は、マスタ機器（１）のネットワーク送受信部（１７）から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部（２３）に渡す（Ｓ６３０）。
【００４９】
スレーブ機器（２）のスレーブ鍵格納部（２２）に格納するスレーブ機器の認証鍵を生成する手順は、実施の形態１の場合と同様であり、図５に示す手順となる。
実施の形態１の場合と同様に、機器認証の開始に先立ち、Ｓ５０１で決定した認証鍵をマスタ機器（１）のマスタ鍵格納部（１４）に格納し、Ｓ５０２で決定した識別情報をスレーブ機器（２）の識別情報格納部（２１）に格納し、Ｓ５０４で決定した認証鍵をスレーブ機器（２）のスレーブ鍵格納部（２２）に格納しておく。
【００５０】
以上のように、スレーブ機器が識別情報を接続要求と同時にはマスタ機器へ通知せず、マスタ機器からのチャレンジに対するレスポンスを返す際に識別情報をマスタ機器へ通知するように構成しても、実施の形態１と同様の効果を得ることができる。
【００５１】
実施の形態３．
実施の形態１と２では、機器認証後のスレーブ機器の識別は識別情報に因っていたが、スレーブ機器の詳細情報をプロファイルとして表し、プロファイルを検証することでスレーブ機器の識別判定を強化することが可能である。
【００５２】
この実施の形態では、システム構成は、実施の形態１と同様に、図１の構成である。
【００５３】
図７は、実施の形態３でのマスタ機器（１）の構成である。
図２に示した実施の形態１の構成要素に加え、マスタ機器（１）は、プロファイル格納部（１８）とプロファイル検証部（１９）を持つ。
プロファイル格納部（１８）は、スレーブ機器（２）の識別情報と対応付けて各スレーブ機器（２）のプロファイルを記憶する。
プロファイルは検証情報の例であり、プロファイル格納部（１８）は検証情報記憶部の例である。
また、本実施の形態では、プロファイル検証部（１９）も接続許否判定部の例となる。
【００５４】
図８は、実施の形態３でのスレーブ機器（２）の構成である。
図３に示した実施の形態１の構成要素に加え、スレーブ機器（２）は、プロファイル格納部（２６）を持つ。
【００５５】
スレーブ機器（２）のスレーブ鍵格納部（２２）に格納するスレーブ機器のスレーブ鍵を生成する手順は、実施の形態１の場合と同様であり、図５に示す手順となる。
実施の形態１の場合と同様に、機器認証の開始に先立ち、スレーブ鍵生成部（１５）は、Ｓ５０１で決定したマスタ鍵をマスタ機器（１）のマスタ鍵格納部（１４）に格納し、Ｓ５０２で決定した識別情報をスレーブ機器（２）の識別情報格納部（２１）に格納し、Ｓ５０４で決定したスレーブ鍵をスレーブ機器（２）のスレーブ鍵格納部（２２）に格納しておく。
また、並行して、スレーブ鍵生成部（１５）は、スレーブ機器の識別情報に対応させてプロファイル情報を生成し、スレーブ機器（２）のプロファイル格納部（２６）には、スレーブ機器（２）の識別情報格納部（２１）に格納されている識別情報に対応したプロファイルを格納する。
また、マスタ機器（１）のプロファイル格納部（１８）には、スレーブ機器（２）のプロファイルが識別情報と対応付けられて複数格納される。
このように、マスタ機器（１）のプロファイル格納部（１８）には、正当なスレーブ機器（２）に配布したプロファイルが識別情報と対応付けられて記憶される。
【００５６】
図９及び図１０は、スレーブ機器（２）がマスタ機器（１）に対して接続要求をした際に行う機器認証の動作を示している。
【００５７】
スレーブ機器（２）は、識別情報格納部（２１）から格納されている識別情報を取り出し、接続要求部（２３）に渡す（Ｓ９１１）。
接続要求部（２３）は、マスタ機器との接続要求を生成し、ネットワーク送受信部（２５）に接続要求を渡す（Ｓ９１２）。
マスタ機器との接続要求には、識別情報格納部（２１）から渡された識別情報が含まれている。
ネットワーク送受信部（２５）は、接続要求部（２３）から渡された接続要求をデータとして含む通信用フレームを生成し、マスタ機器（１）宛に送信する（９０１）。
【００５８】
マスタ機器（１）のネットワーク送受信部（１７）は、スレーブ機器（２）から接続要求を受取ると、接続要求を接続要求検証部（１６）に渡す（Ｓ９１３）。
接続要求検証部（１６）はＳ９１３で受取った接続要求に含まれている識別情報を識別情報保持領域に保持し（Ｓ９１４）、スレーブ鍵生成部（１５）に渡す（Ｓ９１５）。
接続要求検証部（１６）はさらに、チャレンジコード生成部（１１）に対してチャレンジコードの生成を要求する（Ｓ９１６）。
チャレンジコード生成部（１１）は、生成したチャレンジコードを接続要求検証部（１６）、ＨＡＳＨ計算部（１２）へ渡す（Ｓ９１７、Ｓ９１８）。
接続要求検証部（１６）は受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部（１７）へ渡す（Ｓ９１９）。
マスタ機器（１）のスレーブ鍵生成部（１５）は、マスタ鍵格納部（１４）から格納している認証鍵を受取り（Ｓ９２０）、Ｓ９１５で受取った識別情報とＳ９２０で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をＨＡＳＨ計算部（１２）へ渡す（Ｓ９２１）。
ＨＡＳＨ計算部（１２）は、Ｓ９１８で受取ったチャレンジコードとＳ９２１で受取ったスレーブ鍵を入力としてＨＡＳＨ値を計算し、得られたＨＡＳＨ値を接続要求検証部（１６）に渡す（Ｓ９２２）。
ネットワーク送受信部（１７）は、Ｓ９１９で受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器（２）宛に送信する（９０２）。
【００５９】
スレーブ機器（２）のネットワーク送受信部（２５）は、マスタ機器（１）のネットワーク送受信部（１７）からチャレンジ要求を含む通信用フレームを受信すると、チャレンジ要求を接続要求部（２３）に渡す（Ｓ９２３）。
接続要求部（２３）は、Ｓ９２３で受取ったチャレンジ要求からチャレンジコードを取り出し、ＨＡＳＨ計算部（２４）に渡す（Ｓ９２４）。
ＨＡＳＨ計算部（２４）は、スレーブ鍵格納部（２２）から格納されている認証鍵を取り出し（Ｓ９２５）、Ｓ９２４で受取ったチャレンジコードとＳ９２５で受取った認証鍵を入力としてＨＡＳＨ値を計算し、得られたＨＡＳＨ値を接続要求部（２３）に渡す（Ｓ９２６）。
接続要求部（２３）は、ＨＡＳＨ計算部（２４）から渡されたＨＡＳＨ値を含むレスポンスを生成し、ネットワーク送受信部（２５）に渡す（Ｓ９２７）。
ネットワーク送受信部（２５）は、Ｓ９２７で受取ったレスポンスをデータとして含む通信用フレームを生成し、マスタ機器宛に送信する（９０３）。
【００６０】
マスタ機器（１）のネットワーク送受信部（１７）は、スレーブ機器（２）からレスポンスを含む通信用フレームを受信すると、レスポンスを接続要求検証部（１６）に渡す（Ｓ９２８）。
接続要求検証部（１６）はレスポンスに含まれているＨＡＳＨ値を取り出し、Ｓ９２２で受取ったＨＡＳＨ値と比較し、一致の場合は接続許可、不一致の場合は接続不許可と判定し、接続許可と判定した場合、プロファイルの送信を要求するプロファイル要求（検証情報要求）を生成し、ネットワーク送受信部（１７）に渡す（Ｓ９２９）。
ネットワーク送受信部（１７）は、Ｓ９２９で受取ったプロファイル要求をデータとして含む通信用フレームを生成し、スレーブ機器（２）宛に送信する（９０４）。
【００６１】
スレーブ機器（２）のネットワーク送受信部（２５）は、マスタ機器（１）のネットワーク送受信部（１７）からプロファイル要求を含む通信用フレームを受信すると、プロファイル要求を取り出し、接続要求部（２３）に渡す（Ｓ９３０）。
接続要求部（２３）は、プロファイル格納部（２６）からプロファイルを取り出し（Ｓ９３１）、取り出したプロファイルを含むプロファイル応答を生成し、ネットワーク送受信部（２５）に渡す（Ｓ９２６）。
ネットワーク送受信部（２５）は受取ったプロファイル応答をデータとして含む通信用フレームを生成し、マスタ機器（１）宛に送信する（９０５）。
【００６２】
マスタ機器（１）のネットワーク送受信部（１７）は、スレーブ機器（２）からプロファイル応答を含む通信用フレームを受信すると、受信したプロファイル応答を、プロファイル検証部（１９）に渡す（Ｓ９３１）。
プロファイル検証部（１９）は、プロファイル格納部（１８）から識別情報保持部（１３）に対応するプロファイルを取り出し（Ｓ９３２）、Ｓ９３１で受取ったプロファイルとＳ９３２で受取ったプロファイルを比較し、一致の場合は接続許可、不一致の場合は接続不許可と、ネットワーク送受信部（１７）に応答する（Ｓ９３３）。
ネットワーク送受信部（１７）は、Ｓ９３３でプロファイル検証部（１９）から得られた接続要求に対する応答を含む通信用フレームを生成し、スレーブ機器（２）宛に送信する（９０６）。
マスタ機器（１）は、Ｓ９３３で接続許可と判定した場合、以降のスレーブ機器（２）からの要求に対し、プロファイル検証部（１９）で検証に使用したプロファイルに対して許可されている操作のみを許容し、それ以外の操作は許容しない。
【００６３】
スレーブ機器（２）のネットワーク送受信部（２５）は、マスタ機器（１）のネットワーク送受信部（１７）から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部（２３）に渡す（Ｓ９３４）。
【００６４】
以上のように、機器認証に続いて機器の詳細情報を表すプロファイルを検証するようにすることで、スレーブ機器の識別判定を強化することが可能である。
【００６５】
本実施の形態では、認証を行うマスタ機器が、認証鍵とスレーブ鍵生成機能を持ち、認証を受けるスレーブ機器が認証鍵と識別情報を持つことを説明した。
また、スレーブ機器がマスタ機器に認証を行う際に、識別情報をマスタ機器に送付し、マスタ機器は識別情報とマスタ機器が持つ認証鍵とスレーブ鍵生成機能からスレーブ機器が持つ認証鍵を生成することで、マスタ機器とスレーブ機器が認証鍵を共有することを説明した。
更に、認証後に機器の詳細情報を記述したプロファイルの確認を行うことを説明した。
【００６６】
実施の形態４．
本実施の形態は、実施の形態２に、スレーブ機器の詳細情報を表すプロファイルの検証を追加することで、スレーブ機器が識別情報を接続要求とは別にマスタ機器へ通知する場合に、スレーブ機器の識別判定を強化した形態である。
【００６７】
本実施の形態における構成は、実施の形態３で実施の形態１の構成に追加した構成を、実施の形態２で示した構成に追加した構成とする。
本実施の形態における手順は、実施の形態３で実施の形態１から変更した手順を、実施の形態２の手順から変更した手順とする。
以上のように、スレーブ機器が識別情報を接続要求と同時にはマスタ機器へ通知せず、マスタ機器からのチャレンジに対するレスポンスを返す際に識別情報をマスタ機器へ通知するように構成した場合でも、実施の形態３と同様の効果を得ることができる。
【００６８】
実施の形態５．
以上の実施の形態では、マスタ機器（１）が認証機器となり、被認証機器であるスレーブ機器（２）からの接続要求に対して機器認証を行う場合であった。
次に、スレーブ機器（２）が、他のスレーブ機器に対して接続要求した場合に、接続要求を受けたスレーブ機器（２）が認証機器であるマスタ機器（１）を利用して、接続要求を行ったスレーブ機器の認証を行う形態を示す。
【００６９】
図１１は実施の形態５におけるシステム構成例を示す。
本実施の形態に係るシステムでは、１つのマスタ機器（１）とスレーブ機器（２Ｍ、２Ｓ）から構成され、マスタ機器（１）とスレーブ機器（２Ｍ、２Ｓ）はネットワーク（３）によって接続されている。
スレーブ機器は、他のスレーブ機器からの接続要求に対して認証を行うスレーブ機器（２Ｍ）と、他のスレーブ機器に対して接続要求を行い、被認証機器となるスレーブ機器（２Ｓ）がある。
スレーブ機器（２Ｍ、２Ｓ）は、それぞれ２台以上あってもよい。
以降では、他のスレーブ機器からの接続要求に対して認証を行うスレーブ機器（２Ｍ）をスレーブ認証機器、他のスレーブ機器に対して接続要求を行い、被認証機器となるスレーブ機器（２Ｓ）をスレーブ被認証機器と呼ぶこととする。
なお、スレーブ機器（２Ｍ）、すなわちスレーブ認証機器が第１の通信装置の例であり、スレーブ機器（２Ｓ）、すなわちスレーブ被認証機器が第２の通信装置の例である。
【００７０】
図１２は、本実施の形態に係るマスタ機器（１）の構成例を示す。
図１２は、実施の形態１のマスタ機器（１）の構成を示した図２に、チャレンジコード保持部（１１０１）と代理認証処理部（１１０２）を追加した構成となっている。
【００７１】
チャレンジコード保持部（１１０１）は、チャレンジコード生成部（１１）で生成した乱数を、一時的に保持しておくための記憶領域である。
代理認証処理部（１１０２）は、代理認証要求を処理するための機能である。
本実施の形態では、代理認証処理部（１１０２）も接続許否判定部の例となる。
【００７２】
図１２において１１〜１７で示した構成要素は、図１と同じであるが、ＨＡＳＨ計算部（１２）及びスレーブ鍵生成部（１５）は、図１と異なる役割を有する。
本実施の形態では、スレーブ鍵生成部（１５）は、スレーブ機器（２Ｍ）によるマスタ機器（１）の認証を可能とするために、スレーブ機器（２Ｍ）の識別情報とマスタ鍵から、スレーブ機器（２Ｍ）が保有しているスレーブ鍵（保有鍵）と同じ鍵を生成する。この鍵は被照合値用鍵に相当する。
本実施の形態では、スレーブ鍵生成部（１５）は被照合値用鍵生成部の例でもある。
また、ＨＡＳＨ計算部（１２）は、スレーブ機器（２Ｍ）において照合されるＨＡＳＨ値（被照合値）をチャレンジコードとスレーブ鍵生成部（１５）により生成された鍵（被照合値用鍵）から生成する。
本実施の形態では、スレーブ機器（２Ｍ）は、保有しているスレーブ鍵（保有鍵）とチャレンジコードからＨＡＳＨ値（照合値）を生成し、ＨＡＳＨ計算部（１２）が生成したＨＡＳＨ値（被照合値）と照合し、マスタ機器（１）の認証を行う。
ＨＡＳＨ計算部（１２）は、被照合値生成部の例である。
【００７３】
図１３は、他のスレーブ機器からの接続要求に対して認証を行うスレーブ機器であるスレーブ認証機器（２Ｍ）の構成例を示す。
図１３は、実施の形態２のスレーブ機器（２）の構成を示した図３に、認証機器検証部（１２０１）を追加した構成となっている。２１〜２５で示した構成要素は、図３と同じである。
認証機器検証部（１２０１）は、認証を依頼するマスタ機器（１）を検証するための機能である。詳細は動作の中で説明する。
【００７４】
他のスレーブ機器に対して接続要求を行い被認証機器となるスレーブ被認証機器（２Ｓ）の構成は、実施の形態１におけるスレーブ機器（２）の構成を示した図３と同じである。
【００７５】
次に、図１８のフローチャートを用いて、本実施の形態に係る代理認証動作の概要を説明する。
図１８は、スレーブ認証機器（２Ｍ）に代わってスレーブ被認証機器（２Ｓ）の機器認証を行う際のマスタ機器（１）が動作の概要を示すフローチャートである。
つまり、本実施の形態では、スレーブ被認証機器（２Ｓ）がスレーブ認証機器（２Ｍ）に接続要求を送信し、接続要求を受けたスレーブ認証機器（２Ｍ）がマスタ機器（１）にスレーブ被認証機器（２Ｓ）の認証を要求し、マスタ機器（１）がスレーブ認証機器（２Ｍ）に代わってスレーブ被認証機器（２Ｓ）の機器認証を行う。
【００７６】
マスタ機器（１）では、まず、ネットワーク送受信部（１７）がスレーブ認証機器（２Ｍ）から送信された代理認証要求を受信する（Ｓ１８０１）（通信ステップ）。
代理認証要求には、スレーブ認証機器（２Ｍ）の識別情報が含まれている。
次に、チャレンジコード生成部（１１）が、チャレンジコードを生成する（Ｓ１８０２）（チャレンジ値生成ステップ）。
次に、スレーブ鍵生成部（１５）が、マスタ鍵格納部（１４）のマスタ鍵と、代理認証要求に含まれているスレーブ認証機器（２Ｍ）の識別情報からスレーブ鍵（被照合値用鍵）を生成する（Ｓ１８０３）。
このスレーブ鍵は、スレーブ認証機器（２Ｍ）の保有しているスレーブ鍵（保有鍵）と一致する。
次に、ＨＡＳＨ計算部（１２）が、Ｓ１８０２で生成されたチャレンジコードとＳ１８０３で生成されたスレーブ鍵を入力としてＨＡＳＨ値（被照合値）を計算する（Ｓ１８０４）。
次に、ネットワーク送受信部（１７）が、Ｓ１８０２で生成されたチャレンジコードとＳ１８０４で生成されたＨＡＳＨ値をスレーブ認証機器（２Ｍ）に送信する（Ｓ１８０５）。
【００７７】
次に、スレーブ認証機器（２Ｍ）においてＳ１８０５で送信したチャレンジコードとスレーブ認証機器（２Ｍ）が保有するスレーブ鍵（保有鍵）から導出したＨＡＳＨ値とＳ１８０５で送信したＨＡＳＨ値が一致すると判断された場合、スレーブ認証機器（２Ｍ）から当該チャレンジコードがスレーブ被認証機器（２Ｓ）に送信される。
そして、スレーブ被認証機器（２Ｓ）では、保有しているスレーブ鍵と当該チャレンジコードに対するＨＡＳＨ値が算出され、算出されたＨＡＳＨ値がスレーブ認証機器（２Ｍ）に送信される。
【００７８】
スレーブ認証機器（２Ｍ）は、スレーブ被認証機器（２Ｓ）からのＨＡＳＨ値とスレーブ被認証機器（２Ｓ）の識別情報が含まれる代理要求をマスタ機器（１）に送信する。
【００７９】
マスタ機器（１）では、ネットワーク送受信部（１７）が、再度代理認証要求を受信する（Ｓ１８０６）（通信ステップ）。
前述したように、この代理認証要求には、スレーブ被認証機器（２Ｓ）の識別情報と、チャレンジコードに対するスレーブ被認証機器（２Ｓ）のレスポンス値であるＨＡＳＨ値が含まれている。
次に、スレーブ鍵生成部（１５）が、マスタ鍵格納部（１４）のマスタ鍵と、代理認証要求に含まれているスレーブ被認証機器（２Ｓ）の識別情報からスレーブ鍵（認証鍵）を生成する（Ｓ１８０７）（認証鍵生成ステップ）。
このスレーブ鍵（認証鍵）は、スレーブ被認証機器（２Ｓ）が正当なスレーブ機器であればスレーブ被認証機器（２Ｓ）が保有しているはずのスレーブ鍵と一致する。
次に、ＨＡＳＨ計算部（１２）が、Ｓ１８０２で生成されたチャレンジコードとＳ１８０７で生成されたスレーブ鍵を入力としてＨＡＳＨ値を計算する（Ｓ１８０８）（照合レスポンス値生成ステップ）。
次に、代理認証処理部（１１０２）が、Ｓ１８０６で受信した代理認証要求に含まれるＨＡＳＨ値とＳ１８０８で生成されたＨＡＳＨ値を比較する（Ｓ１８０９）（接続許否判定ステップ）。
比較の結果、ＨＡＳＨ値が一致した場合（Ｓ１８１０でＹＥＳ）は、代理認証処理部（１１０２）はスレーブ認証機器（２Ｍ）とスレーブ被認証機器（２Ｓ）との接続を許可する（Ｓ１８１１）（接続許否判定ステップ）。
一方、ＨＡＳＨ値が一致しない場合（Ｓ１８１０でＮＯ）は、代理認証処理部（１１０２）はスレーブ認証機器（２Ｍ）とスレーブ被認証機器（２Ｓ）との接続を許可しない（Ｓ１８１２）（接続許否判定ステップ）。
最後に、ネットワーク送受信部（１７）は、接続許否判定の判定結果を示す応答をスレーブ認証機器（２Ｍ）に送信する（Ｓ１８１３）。
【００８０】
次に、図１４、図１５、図１６を参照して、本実施の形態に係る代理認証動作におけるマスタ機器（１）、スレーブ認証機器（２Ｍ）及びスレーブ被認証機器（２Ｓ）の動作を詳細に説明する。
図１４、図１５、図１６は、スレーブ被認証機器（２Ｓ）がスレーブ認証機器（２Ｍ）に対して接続要求をした際に行う機器認証の動作を示している。
【００８１】
スレーブ被認証機器（２Ｓ）の接続要求部（２３）は、スレーブ認証機器との接続要求を生成し、ネットワーク送受信部（２５）に接続要求を渡す（Ｓ１３０１）。
ネットワーク送受信部（２５）は、接続要求部（２３）から渡された接続要求をデータとして含む通信用フレームを生成し、スレーブ認証機器（２Ｍ）宛に送信する（１３０１）。
【００８２】
スレーブ認証機器（２Ｍ）のネットワーク送受信部（２５）は、スレーブ被認証機器（２Ｓ）から接続要求を含む通信用フレームを受信すると、認証機器検証部（１２０１）に接続要求を渡す（Ｓ１３０２）。
認証機器検証部（１２０１）は、識別情報格納部（２１）に格納されている識別情報を取り出し（Ｓ１３０３）、取り出した識別情報を含む代理認証接続要求を生成し、ネットワーク送受信部（２５）に渡す（Ｓ１３０４）。
ネットワーク送受信部（２５）は、認証機器検証部（１２０１）から渡された代理認証接続要求をデータとして含む通信用フレームを生成し、マスタ機器（１）宛に送信する（１３０２）。
【００８３】
マスタ機器（１）のネットワーク送受信部（１７）は、スレーブ認証機器（２Ｍ）から代理認証接続要求を含む通信用フレームを受信すると、代理認証処理部（１１０２）に代理認証接続要求を渡す（Ｓ１３０５）。
代理認証処理部（１１０２）は、Ｓ１３０５で受取った代理認証接続要求に含まれている識別情報をスレーブ鍵生成部（１５）に渡す（Ｓ１３０６）。
代理認証処理部（１１０２）は、チャレンジコード生成部（１１）に対してチャレンジコードの生成を要求する（Ｓ１３０７）。
チャレンジコード生成部（１１）は、生成したチャレンジコードを代理認証処理部（１１０２）とＨＡＳＨ計算部（１２）へ渡し（Ｓ１３０８、Ｓ１３０９）、チャレンジコード保持部（１１０１）に保持する（Ｓ１３１）。
Ｓ１３０６で識別情報を受取ったスレーブ鍵生成部（１５）は、マスタ鍵格納部（１４）から格納している認証鍵を受取り（Ｓ１３１１）、Ｓ１３０６で受取った識別情報とＳ１３１１で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をＨＡＳＨ計算部（１２）へ渡す（Ｓ１３１２）。
ＨＡＳＨ計算部（１２）は、Ｓ１３０９で受取ったチャレンジコードとＳ１３１２で受取ったスレーブ鍵を入力としてＨＡＳＨ値を計算し、得られたＨＡＳＨ値を代理認証処理部（１１０２）に渡す（Ｓ１３１３）。
代理認証処理部（１１０２）は、受取ったチャレンジコードとＨＡＳＨ値をデータとして含む代理認証チャレンジ要求を生成し、ネットワーク送受信部（１７）に渡す（Ｓ１３１４）。
ネットワーク送受信部（１７）は、Ｓ１３１４で受取った代理認証チャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器（２Ｍ）宛に送信する（１３０３）。
【００８４】
スレーブ認証機器（２Ｍ）のネットワーク送受信部（２５）は、マスタ機器（１）のネットワーク送受信部（１７）から代理認証チャレンジ要求を含む通信用フレームを受信すると、受信した代理認証チャレンジ要求を認証機器検証部（１２０１）に渡す（Ｓ１３１５）。
認証機器検証部（１２０１）は、Ｓ１３１５で受取ったチャレンジ要求からチャレンジコードを取り出し、ＨＡＳＨ計算部（２４）に渡す（Ｓ１３１６）。
ＨＡＳＨ計算部（２４）は、スレーブ鍵格納部（２２）から認証鍵を取り出し（Ｓ１３１７）、Ｓ１３１６で受取ったチャレンジコードとＳ１３１７で受取った認証鍵を入力としてＨＡＳＨ値を計算し、得られたＨＡＳＨ値を認証機器検証部（１２０１）に渡す（Ｓ１３１８）。
認証機器検証部（１２０１）は、Ｓ１３１５で受取ったＨＡＳＨ値とＳ１３１８で受取ったＨＡＳＨ値が一致した場合には、マスタ機器は信頼できると判断し、代理認証処理を継続する。
ＨＡＳＨ値が一致した場合には、Ｓ１３１５で受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部（２５）に渡す（Ｓ１３１９）。
ネットワーク送受信部（２５）は、受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ被認証機器（２Ｓ）宛に送信する（１３０４）。
【００８５】
スレーブ被認証機器（２Ｓ）のネットワーク送受信部（２５）は、スレーブ認証機器（２Ｍ）のネットワーク送受信部（２５）からチャレンジ要求を含む通信用フレームを受信すると、チャレンジ要求を接続要求部（２３）に渡す（Ｓ１３２０）。
接続要求部（２３）は、Ｓ１３２０で受取ったチャレンジ要求からチャレンジコードを取り出し、ＨＡＳＨ計算部（２４）に渡す（Ｓ１３２１）。
ＨＡＳＨ計算部（２４）は、スレーブ鍵格納部（２２）から格納されている認証鍵を取り出し（Ｓ１３２２）、Ｓ１３２１で受取ったチャレンジコードとＳ１３２２で受取った認証鍵を入力としてＨＡＳＨ値を計算し、得られたＨＡＳＨ値を接続要求部（２３）に渡す（Ｓ１３２３）。
接続要求部（２３）は、識別情報格納部（２１）から格納されている識別情報を取り出し（Ｓ１３２４）、Ｓ１３２３で受取ったＨＡＳＨ値とＳ１３２４で受取った識別情報を含むレスポンスを生成し、ネットワーク送受信部（２５）に渡す（Ｓ１３２５）。ネットワーク送受信部（２５）は、Ｓ１３２５で受取ったレスポンスをデータとして含む通信用フレームを生成し、スレーブ認証機器（２Ｍ）宛に送信する（１３０５）。
【００８６】
スレーブ認証機器（２Ｍ）のネットワーク送受信部（２５）は、スレーブ被認証機器（２Ｓ）からレスポンスを含む通信用フレームを受信すると、認証機器検証部（１２０１）にレスポンスを渡す（Ｓ１３２６）。
認証機器検証部（１２０１）は、レスポンスから識別情報を取り出し、識別情報格納部（２１）に格納する（Ｓ１３２７）。
認証機器検証部（１２０１）は、レスポンスからＨＡＳＨ値を取り出し、取り出した識別情報とＨＡＳＨ値を含む代理認証要求を生成し、ネットワーク送受信部（２５）に渡す（Ｓ１３２８）。
ネットワーク送受信部（２５）は、認証機器検証部（１２０１）から渡された代理認証要求をデータとして含む通信用フレームを生成し、マスタ機器（１）宛に送信する（１３０６）。
【００８７】
マスタ機器（１）のネットワーク送受信部（１７）は、スレーブ機器（２Ｍ）から代理認証要求を含む通信用フレームを受信すると、代理認証処理部（１１０２）に渡す（Ｓ１３２９）。
代理認証処理部（１１０２）は、代理認証要求から識別情報を取り出し、スレーブ鍵生成部（１５）に渡す（Ｓ１３３０）。
スレーブ鍵生成部（１５）は、マスタ鍵格納部（１４）から格納している認証鍵を受取り（Ｓ１３３１）、Ｓ１３３０で受取った識別情報とＳ１３３１で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をＨＡＳＨ計算部（１２）へ渡す（Ｓ１３３２）。
ＨＡＳＨ計算部（１２）は、チャレンジコード保持部（１１０１）からチャレンジコードを取り出し（Ｓ１３３３）、取り出したチャレンジコードとＳ１３３２で受取ったスレーブ鍵を入力としてＨＡＳＨ値を計算し、得られたＨＡＳＨ値を代理認証処理部（１１０２）に渡す（Ｓ１３３４）。
代理認証処理部（１１０２）は、代理認証要求からＨＡＳＨ値を取り出し、取り出したＨＡＳＨ値とＳ１３３４で受取ったＨＡＳＨ値を比較する。
比較結果が、一致の場合は接続許可、不一致の場合は接続不許可とする代理認証応答を生成し、ネットワーク送受信部（１７）に渡す（Ｓ１３３５）。
ネットワーク送受信部（１７）は、Ｓ１３３５で受取った代理認証応答をデータとして含む通信用フレームを生成し、スレーブ認証機器（２Ｍ）宛に送信する（１３０７）。
【００８８】
スレーブ認証機器（２Ｍ）のネットワーク送受信部（２５）は、マスタ機器（１）から代理認証応答を含む通信用フレームを受信すると、認証機器検証部（１２０１）に代理認証応答を渡す（Ｓ１３３６）。
認証機器検証部（１２０１）は、代理認証応答の内容が接続許可であった場合は、接続許可とする接続応答を生成し、ネットワーク送受信部（２５）に渡す（Ｓ１３３７）。
ネットワーク送受信部（２５）は、認証機器検証部（１２０１）から渡された接続応答をデータとして含む通信用フレームを生成し、スレーブ被認証機器（２Ｓ）宛に送信する（１３０８）。
【００８９】
スレーブ被認証機器（２Ｓ）のネットワーク送受信部（２５）は、スレーブ認証機器（２Ｍ）のネットワーク送受信部（１７）から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部（２３）に渡す（Ｓ１３３８）。
【００９０】
スレーブ認証機器（２Ｍ）およびスレーブ被認証機器（２Ｓ）のスレーブ鍵格納部（２２）に格納する認証鍵を生成する手順は、実施の形態１の場合と同様であり、図５に示す手順となる。
実施の形態１の場合と同様に、機器認証の開始に先立ち、Ｓ５０１で決定した認証鍵をマスタ機器（１）のマスタ鍵格納部（１４）に格納し、Ｓ５０２で決定した識別情報をスレーブ認証機器（２Ｍ）およびスレーブ被認証機器（２Ｓ）の識別情報格納部（２１）に格納し、Ｓ５０４で決定した認証鍵をスレーブ認証機器（２Ｍ）およびスレーブ被認証機器（２Ｓ）のスレーブ鍵格納部（２２）に格納しておく。
【００９１】
以上のように、スレーブ認証機器とスレーブ被認証機器が異なる認証鍵（スレーブ鍵）をもち、スレーブ被認証機器からの接続要求を受取ったスレーブ認証機器が、代理認証を要求するマスタ機器が信頼できるか確認した上で、マスタ機器が代理でスレーブ被認証機器を認証するように構成しているため、スレーブ鍵生成機能を持たないスレーブ認証機器が、スレーブ被認証機器からの接続要求を受取っても、接続要求の可否が判定できるようになる。
また、スレーブ認証機器またはスレーブ被認証機器から認証鍵（スレーブ鍵）が漏洩した場合でも、異なる識別情報のスレーブ機器であることを詐称する模造品がマスタ機器に接続することを防ぐことができる。
また、スレーブ認証機器とスレーブ被認証機器が異なる認証鍵（スレーブ鍵）を格納していても、マスタ機器は１つの認証鍵を格納するだけで、異なる認証鍵を持つ複数のスレーブ機器に対する認証動作を行うことができる。
【００９２】
以上、本実施の形態では、接続要求を受取るスレーブ機器Ａが認証鍵Ａと識別情報Ａを持ち、接続要求を行うスレーブ機器Ｂが認証鍵Ｂと識別情報Ｂを持ち、代理で認証を行うマスタ機器が、認証鍵Ｃとスレーブ鍵生成機能を持ち、スレーブ機器Ａが識別情報Ａをマスタ機器に送付し、マスタ機器は識別情報Ａとマスタ機器が持つ認証鍵Ｃとスレーブ鍵生成機能からスレーブ機器Ａが持つ認証鍵Ａを生成することでマスタ機器とスレーブ機器Ａが認証鍵を共有することを説明した。
これにより、スレーブ機器Ａは、マスタ機器に代理認証を依頼できることを確認する。
その後、スレーブ機器Ａはスレーブ機器Ｂの識別情報Ｂをマスタ機器に送付し、マスタ機器は識別情報Ｂとマスタ機器が持つ認証鍵Ｃとスレーブ鍵生成機能からスレーブ機器Ｂが持つ認証鍵Ｂを生成することでマスタ機器とスレーブ機器Ｂが認証鍵を共有することを説明した。
【００９３】
実施の形態６．
本実施の形態では、実施の形態５で示した構成及び動作に加え、実施の形態３で実施の形態１に追加した構成及び動作を行うことで、認証後にプロファイルの検証を行う。
このようにすることで、スレーブ機器間でも、実施の形態３と同様の効果を得ることができる。
【００９４】
最後に、実施の形態１〜６に示したマスタ機器（１）のハードウェア構成例について説明する。
図１９は、実施の形態１〜６に示すマスタ機器（１）のハードウェア資源の一例を示す図である。
なお、図１９の構成は、あくまでもマスタ機器（１）のハードウェア構成の一例を示すものであり、マスタ機器（１）のハードウェア構成は図１９に記載の構成に限らず、他の構成であってもよい。
【００９５】
図１９において、マスタ機器（１）は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
実施の形態１〜６で説明した「〜格納部」及び「〜保持部」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００９６】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されていても構わない。
【００９７】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００９８】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００９９】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
マスタ機器（１）の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【０１００】
上記プログラム群９２３には、実施の形態１〜６の説明において「〜部」（「「〜格納部」及び「〜保持部」」以外、以下同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【０１０１】
ファイル群９２４には、実施の形態１〜６の説明において、「〜の判断」、「〜の計算」、「〜の演算」、「〜の算出」、「〜の比較」、「〜の照合」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１〜６で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【０１０２】
また、実施の形態１〜６の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態１〜６で説明したフローチャートに示すステップ、手順、処理により、本発明に係る認証方法を実現することができる。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１〜６の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１〜６の「〜部」の手順や方法をコンピュータに実行させるものである。
【０１０３】
このように、実施の形態１〜６に示すマスタ機器（１）は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【０１０４】
１  マスタ機器、２  スレーブ機器、３  ネットワーク、１１  チャレンジコード生成部、１２  ＨＡＳＨ計算部、１３  識別情報保持部、１４  マスタ鍵格納部、１５  スレーブ鍵生成部、１６  接続要求検証部、１７  ネットワーク送受信部、１８  プロファイル格納部、１９  プロファイル検証部、２１  識別情報格納部、２２  スレーブ鍵格納部、２３  接続要求部、２４  ＨＡＳＨ計算部、２５  ネットワーク送受信部、２６  プロファイル格納部、１１０１  チャレンジコード保持部、１１０２  代理認証処理部、１２０１  認証機器検証部。
【図１】
0005517676.tif 000002
【図２】
0005517676.tif 000003
【図３】
0005517676.tif 000004
【図４】
0005517676.tif 000005
【図５】
0005517676.tif 000006
【図６】
0005517676.tif 000007
【図７】
0005517676.tif 000008
【図８】
0005517676.tif 000009
【図９】
0005517676.tif 000010
【図１０】
0005517676.tif 000011
【図１１】
0005517676.tif 000012
【図１２】
0005517676.tif 000013
【図１３】
0005517676.tif 000014
【図１４】
0005517676.tif 000015
【図１５】
0005517676.tif 000016
【図１６】
0005517676.tif 000017
【図１７】
0005517676.tif 000018
【図１８】
0005517676.tif 000019
【図１９】
0005517676.tif 000020