(57)【要約】【課題】認証サーバがオブジェクトとの通信に用いる新たな通信用秘密鍵を、前の通信用秘密鍵を知っている他者でも知ることができない形で安全に配布することを可能にする。【解決手段】オブジェクトＯ１と認証サーバＡＳとは共通鍵として用いられる通信用秘密鍵Ｋ１１を保持している。また、認証サーバＡＳは、通信用秘密鍵Ｋ１１を公開鍵暗号における公開鍵とみなしたときの秘密鍵に相当する復号用秘密鍵Ｋ１２を保持している。オブジェクトＯ１が、新たな通信用秘密鍵Ｋ１１′の発行を要求するときには、通信用秘密鍵Ｋ１１を公開鍵暗号の公開鍵に用いて乱数ｒを認証サーバＡＳに送信する（Ｐ４）。認証サーバＡＳは、復号用秘密鍵Ｋ１２を用いて乱数ｒを復号し、新たな通信用秘密鍵Ｋ１１′を乱数ｒとの排他的論理和により暗号化してオブジェクトＯ１に送信する（Ｐ５）。オブジェクトＯ１では乱数ｒを用いて通信用秘密鍵Ｋ１１′を復号する。【選択図】図１
2010136199.tif 000002
【特許請求の範囲】
【請求項１】
固有の識別情報を有したオブジェクトと、固有の識別情報を有し通信ネットワークを介してオブジェクトと通信可能である認証サーバとを有し、オブジェクトと認証サーバとは、それぞれ共通鍵として用いられる通信用秘密鍵が登録される書換可能な鍵記憶部を有し、オブジェクトは、新たな通信用秘密鍵の発行を要求するときに１回だけ使用される秘密値を生成するとともに認証サーバとの間でのみペアとなる暗号鍵を持ち得る公開鍵により当該秘密値を暗号化して認証サーバに送信する鍵要求処理部を備え、認証サーバは、オブジェクトから新たな通信用秘密鍵の発行が要求されると通信用秘密鍵を発行するとともに発行した通信用秘密鍵をオブジェクトから受信した秘密値により暗号化して通信用秘密鍵の発行を要求したオブジェクトに送信する鍵発行処理部を備え、鍵要求処理部は、秘密値を用いて暗号化された通信用秘密鍵を認証サーバから受信すると秘密値を用いて復号することにより通信用秘密鍵を受け取ることを特徴とする鍵配布システム。
【請求項２】
前記認証サーバには、公開鍵暗号において前記鍵要求処理部が用いる公開鍵とペアである秘密鍵が前記暗号鍵として鍵記憶部に登録され、前記鍵発行処理部は、前記オブジェクトから新たな通信用秘密鍵の発行が要求されると、公開鍵により暗号化された秘密値を前記秘密鍵により復号し、通信用秘密鍵および当該通信用秘密鍵とペアになる秘密鍵を発行して鍵記憶部に記憶させ、新たに発行した通信用秘密鍵を復号された秘密値を用いて暗号化し、暗号化された通信用秘密鍵を通信用秘密鍵の発行を要求したオブジェクトに送信することを特徴とする請求項１記載の鍵配布システム。
【請求項３】
前記鍵要求処理部は、秘密値として第１の乱数を生成するとともに第１の乱数とは別に第２の乱数を生成し、第２の乱数を少なくとも認証サーバに対して事前に配布するとともに、第１の乱数と第２の乱数との単純演算により生成した値を暗号化して前記認証サーバに送信することを特徴とする請求項１又は２記載の鍵配布システム。
【請求項４】
前記オブジェクトと前記認証サーバとには原始元となる数値が共通に設定されており、前記鍵要求処理部は、原始元に前記秘密値を適用することにより生成したディフィー・ヘルマン鍵共有方式の公開鍵を送信し、前記鍵発行処理部は、オブジェクトから新たな通信用秘密鍵の発行が要求されると、受信した公開鍵と新たに生成した第２の秘密値とを用いて前記暗号鍵となる共通鍵を生成するとともに、原始元に第２の秘密値を適用することによりディフィー・ヘルマン鍵共有方式の第２の公開鍵を生成し、通信用秘密鍵を発行して鍵記憶部に記憶させ、共通鍵を用いて新たに発行した通信用秘密鍵を暗号化し、暗号化された通信用秘密鍵を第２の公開鍵とともに通信用秘密鍵の発行を要求したオブジェクトに送信し、前記鍵要求処理部は、暗号化された通信用秘密鍵を第２の公開鍵とともに受信すると、受信した第２の公開鍵と秘密値とを用いて前記暗号鍵となる共通鍵を生成することにより通信用秘密鍵を復号することを特徴とする請求項１記載の鍵配布システム。
【請求項５】
前記鍵発行処理部は、前記オブジェクトから受信した秘密値を含むメッセージ認証コードを生成し、当該メッセージ認証コードを用いて新たに発行した通信用秘密鍵を暗号化してオブジェクトに返送することを特徴とする請求項１、２、４のいずれか１項に記載の鍵配布システム。
【請求項６】
固有の識別情報を有したオブジェクトと、固有の識別情報を有し通信ネットワークを介してオブジェクトと通信可能である認証サーバとを有する鍵配布システムにおいて、認証サーバがオブジェクトとの共通鍵として用いる通信用秘密鍵を発行するとともに、当該通信用秘密鍵をオブジェクトに配布する鍵配布方法であって、オブジェクトは、新たな通信用秘密鍵の発行を要求するときに１回だけ使用される秘密値を生成するとともに認証サーバとの間でのみペアとなる暗号鍵を持ち得る公開鍵により当該秘密値を暗号化して認証サーバに送信し、認証サーバは、オブジェクトから新たな通信用秘密鍵の発行が要求されると通信用秘密鍵を発行するとともに発行した通信用秘密鍵をオブジェクトから受信した秘密値により暗号化して通信用秘密鍵の発行を要求したオブジェクトに送信し、オブジェクトは、秘密値を用いて暗号化された通信用秘密鍵を認証サーバから受信すると秘密値を用いて復号することにより通信用秘密鍵を受け取ることを特徴とする鍵配布方法。
【請求項７】
前記認証サーバは、公開鍵暗号において用いる公開鍵とペアである秘密鍵が前記暗号鍵としてあらかじめ登録され、前記オブジェクトから新たな通信用秘密鍵の発行が要求されると、公開鍵により暗号化された秘密値を前記秘密鍵により復号し、次に、通信用秘密鍵および当該通信用秘密鍵とペアになる秘密鍵を発行して記憶した後、新たに発行した通信用秘密鍵を復号された秘密値を用いて暗号化し、暗号化された通信用秘密鍵を通信用秘密鍵の発行を要求したオブジェクトに送信することを特徴とする請求項６記載の鍵配布方法。
【請求項８】
前記オブジェクトと前記認証サーバとには原始元となる数値が共通に設定されており、オブジェクトは、原始元に前記秘密値を適用することにより生成したディフィー・ヘルマン鍵共有方式の公開鍵を認証サーバに送信し、認証サーバは、オブジェクトから新たな通信用秘密鍵の発行が要求されると、
受信した公開鍵と新たに生成した第２の秘密値とを用いて前記暗号鍵となる共通鍵を生成するとともに、原始元に第２の秘密値を適用することによりディフィー・ヘルマン鍵共有方式の第２の公開鍵を生成し、通信用秘密鍵を発行して記憶した後、共通鍵を用いて新たに発行した通信用秘密鍵を暗号化し、暗号化された通信用秘密鍵を第２の公開鍵とともに通信用秘密鍵の発行を要求したオブジェクトに送信し、次に、オブジェクトが暗号化された通信用秘密鍵を第２の公開鍵とともに受信すると、受信した第２の公開鍵と秘密値とを用いて前記暗号鍵となる共通鍵を生成することにより通信用秘密鍵を復号することを特徴とする請求項６記載の鍵配布方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、住宅内において住宅用サーバと各種設備機器とにより構成される通信システムのように、認証サーバ（住宅用サーバ）とオブジェクト（設備機器）とを備える通信システムにおいて、オブジェクトが行う通信の漏洩を防止するためにオブジェクトに設定する通信用秘密鍵を認証サーバから配布する鍵配布システムと、当該鍵配布システムにおける鍵配布方法に関するものである。
【背景技術】
【０００２】
従来から、各種設備機器に通信技術を組み合わせることによって、遠隔監視や遠隔制御を行うことが考えられている。この種の設備機器を含む通信システムは、住宅内でのみ使用している場合のように、通信内容が他者に漏洩しないシステムであれば、必ずしも通信内容の暗号化は必要ではないが、近年では、住宅内の通信システムであってもインターネットのような広域網に接続することが考えられており、通信の漏洩を防止するために通信内容の暗号化が必要になってきている。
【０００３】
この種の目的では、有効期限を定めたセッション鍵を暗号化に用いることが望ましい。ただし、セッション鍵は、有効期限になるたびに配布することが必要であるから、セッション鍵の配布を安全に行うためにセッション鍵を暗号化することが必要である。そのため、セッション鍵の配布においては、クリプトナイトプロトコルと称する共通鍵暗号を用いることが考えられている。すなわち、セッション鍵の配布のために、たとえば設備機器の工場出荷時に、セッション鍵を配布する認証サーバ（たとえば、住宅用サーバ）と設備機器とに共通鍵を設定しておき、セッション鍵の配布の際には、この共通鍵を用いてメッセージ認証を行うのである。
【０００４】
さらに、セッション鍵のように通信ネットワーク上の二者間で共有する情報を他者に漏洩しないように受け渡す技術として、特許文献１では、情報の送信側と受信側とのそれぞれにおいて、公開鍵暗号の公開鍵と秘密鍵とを設定し、送信側では受信側の公開鍵を用いて情報を暗号化するとともに送信側の秘密鍵を用いて暗号化し、受信側では送信側の公開鍵を用いて情報を復号するとともに受信側の秘密鍵を用いて復号する技術が提案されている。
【０００５】
特許文献１に記載の技術は、一般的な公開鍵暗号と同様に、送信側と受信側とにおいて相互に公開鍵を取得しており、送信側と受信側との秘密鍵はそれぞれ相手側の公開鍵とペアになることを利用して、上述の操作による情報の共有を可能にしている。
【特許文献１】特開２０００−３４７４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上述したクリプトナイトプロトコルでは、セッション鍵を配布するために共通鍵暗号を用いているから、認証サーバ（住宅用サーバ）とオブジェクト（設備機器）とに共通鍵（以下では、「通信用秘密鍵」という）をあらかじめ設定しておくことが必要である。言い換えると、この種の通信用秘密鍵は設備機器に固有であり、設備機器の利用者が変わったとしても設備機器が変わらなければ通信用秘密鍵は変わらないから、前の利用者が設備機器から通信用秘密鍵を抜き出しているとすれば、設備機器の新たな利用者による利用状況などが前の利用者に監視されたり、前の利用者によって設備機器が不正に利用されたりする可能性がある。
【０００７】
特許文献１に記載の技術を採用すれば、二者間で共有する情報を他者に漏洩しないように受け渡すことができるが、設備機器の利用時の通信に際してこの技術を採用したとしても、秘密鍵や公開鍵を変更していなければ、前の利用者による通信の傍受の可能性を回避することはできない。
【０００８】
また、設備機器の利用者が変わったときに送信側と受信側とにおいて秘密鍵をそれぞれ生成し、特許文献１に記載の技術を用いて生成した秘密鍵を送信側と受信側とで交換すれば、秘密鍵を安全に交換できるかのように考えられるが、特許文献１に記載の技術は、送信側と受信側とが情報を共有するために送信側と受信側とがそれぞれ相手側の公開鍵とペアになる秘密鍵を保有していなければならず、秘密鍵そのものの交換には用いることができない。
【０００９】
本発明は上記事由に鑑みて為されたものであり、その目的は、通信する二者間において共通の情報を保有していることを利用し、この共通の情報を用いて他者には復号できない形で暗号化し、結果的に認証サーバがオブジェクトとの通信に用いる通信用秘密鍵を他者に知られないように安全に配布することを可能にした鍵配布システム、鍵配布方法を提供することにある。
【課題を解決するための手段】
【００１０】
請求項１の発明は、固有の識別情報を有したオブジェクトと、固有の識別情報を有し通信ネットワークを介してオブジェクトと通信可能である認証サーバとを有し、オブジェクトと認証サーバとは、それぞれ共通鍵として用いられる通信用秘密鍵が登録される書換可能な鍵記憶部を有し、オブジェクトは、新たな通信用秘密鍵の発行を要求するときに１回だけ使用される秘密値を生成するとともに認証サーバとの間でのみペアとなる暗号鍵を持ち得る公開鍵により当該秘密値を暗号化して認証サーバに送信する鍵要求処理部を備え、認証サーバは、オブジェクトから新たな通信用秘密鍵の発行が要求されると通信用秘密鍵を発行するとともに発行した通信用秘密鍵をオブジェクトから受信した秘密値により暗号化して通信用秘密鍵の発行を要求したオブジェクトに送信する鍵発行処理部を備え、鍵要求処理部は、秘密値を用いて暗号化された通信用秘密鍵を認証サーバから受信すると秘密値を用いて復号することにより通信用秘密鍵を受け取ることを特徴とする。
【００１１】
請求項２の発明では、請求項１の発明において、前記認証サーバには、公開鍵暗号において前記鍵要求処理部が用いる公開鍵とペアである秘密鍵が前記暗号鍵として鍵記憶部に登録され、前記鍵発行処理部は、前記オブジェクトから新たな通信用秘密鍵の発行が要求されると、公開鍵により暗号化された秘密値を前記秘密鍵により復号し、通信用秘密鍵および当該通信用秘密鍵とペアになる秘密鍵を発行して鍵記憶部に記憶させ、新たに発行した通信用秘密鍵を復号された秘密値を用いて暗号化し、暗号化された通信用秘密鍵を通信用秘密鍵の発行を要求したオブジェクトに送信することを特徴とする。
【００１２】
請求項３の発明では、請求項１又は２の発明において、前記鍵要求処理部は、秘密値として第１の乱数を生成するとともに第１の乱数とは別に第２の乱数を生成し、第２の乱数を少なくとも認証サーバに対して事前に配布するとともに、第１の乱数と第２の乱数との単純演算により生成した値を暗号化して前記認証サーバに送信することを特徴とする。
【００１３】
請求項４の発明では、請求項１の発明において、前記オブジェクトと前記認証サーバとには原始元となる数値が共通に設定されており、前記鍵要求処理部は、原始元に前記秘密値を適用することにより生成したディフィー・ヘルマン鍵共有方式の公開鍵を送信し、前記鍵発行処理部は、オブジェクトから新たな通信用秘密鍵の発行が要求されると、受信した公開鍵と新たに生成した第２の秘密値とを用いて前記暗号鍵となる共通鍵を生成するとともに、原始元に第２の秘密値を適用することによりディフィー・ヘルマン鍵共有方式の第２の公開鍵を生成し、通信用秘密鍵を発行して鍵記憶部に記憶させ、共通鍵を用いて新たに発行した通信用秘密鍵を暗号化し、暗号化された通信用秘密鍵を第２の公開鍵とともに通信用秘密鍵の発行を要求したオブジェクトに送信し、前記鍵要求処理部は、暗号化された通信用秘密鍵を第２の公開鍵とともに受信すると、受信した第２の公開鍵と秘密値とを用いて前記暗号鍵となる共通鍵を生成することにより通信用秘密鍵を復号することを特徴とする。
【００１４】
請求項５の発明では、請求項１、３、４のいずれかの発明において、前記鍵発行処理部は、前記オブジェクトから受信した秘密値を含むメッセージ認証コードを生成し、当該メッセージ認証コードを用いて新たに発行した通信用秘密鍵を暗号化してオブジェクトに返送することを特徴とする。
【００１５】
請求項６の発明は、固有の識別情報を有したオブジェクトと、固有の識別情報を有し通信ネットワークを介してオブジェクトと通信可能である認証サーバとを有する鍵配布システムにおいて、認証サーバがオブジェクトとの共通鍵として用いる通信用秘密鍵を発行するとともに、当該通信用秘密鍵をオブジェクトに配布する鍵配布方法であって、オブジェクトは、新たな通信用秘密鍵の発行を要求するときに１回だけ使用される秘密値を生成するとともに認証サーバとの間でのみペアとなる暗号鍵を持ち得る公開鍵により当該秘密値を暗号化して認証サーバに送信し、認証サーバは、オブジェクトから新たな通信用秘密鍵の発行が要求されると通信用秘密鍵を発行するとともに発行した通信用秘密鍵をオブジェクトから受信した秘密値により暗号化して通信用秘密鍵の発行を要求したオブジェクトに送信し、オブジェクトは、秘密値を用いて暗号化された通信用秘密鍵を認証サーバから受信すると秘密値を用いて復号することにより通信用秘密鍵を受け取ることを特徴とする。
【００１６】
請求項７の発明では、請求項６の発明において、前記認証サーバは、公開鍵暗号において用いる公開鍵とペアである秘密鍵が前記暗号鍵としてあらかじめ登録され、前記オブジェクトから新たな通信用秘密鍵の発行が要求されると、公開鍵により暗号化された秘密値を前記秘密鍵により復号し、次に、通信用秘密鍵および当該通信用秘密鍵とペアになる秘密鍵を発行して記憶した後、新たに発行した通信用秘密鍵を復号された秘密値を用いて暗号化し、暗号化された通信用秘密鍵を通信用秘密鍵の発行を要求したオブジェクトに送信することを特徴とする。
【００１７】
請求項８の発明では、請求項６の発明において、前記オブジェクトと前記認証サーバとには原始元となる数値が共通に設定されており、オブジェクトは、原始元に前記秘密値を適用することにより生成したディフィー・ヘルマン鍵共有方式の公開鍵を認証サーバに送信し、認証サーバは、オブジェクトから新たな通信用秘密鍵の発行が要求されると、受信した公開鍵と新たに生成した第２の秘密値とを用いて前記暗号鍵となる共通鍵を生成するとともに、原始元に第２の秘密値を適用することによりディフィー・ヘルマン鍵共有方式の第２の公開鍵を生成し、通信用秘密鍵を発行して記憶した後、共通鍵を用いて新たに発行した通信用秘密鍵を暗号化し、暗号化された通信用秘密鍵を第２の公開鍵とともに通信用秘密鍵の発行を要求したオブジェクトに送信し、次に、オブジェクトが暗号化された通信用秘密鍵を第２の公開鍵とともに受信すると、受信した第２の公開鍵と秘密値とを用いて前記暗号鍵となる共通鍵を生成することにより通信用秘密鍵を復号することを特徴とする。
【発明の効果】
【００１８】
請求項１、６の発明の構成によれば、オブジェクトが認証サーバに対して新たな通信用秘密鍵の発行を要求する際に、１回だけ使用される秘密値を生成するとともに、認証サーバとの間でのみペアとなる暗号鍵を持ち得る公開鍵（請求項２のようにオブジェクトが公開鍵を送信し認証サーバがペアとなる暗号鍵を持つ場合と、請求項３のようにオブジェクトと認証サーバとが相互に公開鍵を送信することにより暗号鍵を互いに持つ場合とがある）により秘密値を暗号化して認証サーバに送信するので、認証サーバは秘密値を用いて新たに発行した通信用秘密鍵を暗号化することで、通信用秘密鍵をオブジェクトに安全に届けることが可能になる。ここに、仮にオブジェクトの利用者が変わったとして、前の利用者が通信用秘密鍵を知っていたとしても、ペアとなる暗号鍵を前の利用者が持つことはできないから、前の利用者が秘密値を知ることはできず、秘密値を安全に利用することができる。また、秘密値は１回だけ使用可能なので、秘密値が有効である時間内では秘密値を他人に知られる可能性がきわめて低く、秘密値を用いた暗号化によって通信用秘密鍵を安全に送信することが可能である。
【００１９】
請求項２、７の発明の構成によれば、公開鍵暗号の公開鍵と秘密鍵との関係でペアになる鍵を用い、オブジェクトと認証サーバとの間の通信に用いる共通鍵としての通信用秘密鍵として公開鍵に相当する鍵を用いるとともに、認証サーバにのみ秘密鍵に相当する鍵を暗号鍵としてあらかじめ登録しておき、オブジェクトから認証サーバに対して新たな通信用秘密鍵の発行を要求する際には、通信用秘密鍵を公開鍵暗号の公開鍵として用いることにより、認証サーバでのみ復号を可能にする。したがって、通信用秘密鍵を用いて秘密値を暗号化しているにもかかわらず、通信用秘密鍵を知っている第三者には復号することができず、秘密値を認証サーバに対して安全に届けることができる。
【００２０】
請求項３の発明の構成によれば、秘密値として乱数を用いるにあたり、通信時には長い乱数を用いるから、秘密値を知られにくくなり、通信用秘密鍵を認証サーバからオブジェクトに送り届ける際の安全性が高くなる。しかも、認証サーバやオブジェクトの内部処理においては、第１の乱数のみを用いることで、内部処理における処理負荷を抑制することができる。
【００２１】
請求項４、８の発明の構成によれば、オブジェクトと認証サーバとの間の通信において、新たな通信用秘密鍵を発行する処理を行うときには、ディフィー・ヘルマン鍵共有方式の公開鍵を用いており、新たな通信用秘密鍵をオブジェクトが要求することによって認証サーバとオブジェクトとにおいてペアとなる共通鍵を生成するとともに、新たな通信用秘密鍵を共通鍵で暗号化することにより認証サーバからオブジェクトに送信するから、通信用秘密鍵を知っている第三者であっても新たに発行された通信用秘密鍵を復号することはできず、通信用秘密鍵をオブジェクトに対して安全に届けることができる。
【００２２】
請求項５の発明の構成によれば、メッセージ認証を行うから、認証サーバとオブジェクトとの間で第三者による通信用秘密鍵の改竄を検出することができ、通信用秘密鍵の安全性を保証することができる。
【発明を実施するための最良の形態】
【００２３】
（実施形態１）
以下に説明する実施形態では、図２に示すように、認証サーバＡＳとオブジェクトＯｊ（ｊ＝１，２，……）とが相互に通信可能であって、オブジェクトＯｊが通信する際の電文の暗号化に用いるセッション鍵を認証サーバＡＳが配布する場合について説明する。オブジェクトＯｊと認証サーバＡＳとの間の通信では、送信元の識別情報と送信先の識別情報とを含むパケットを送信する。パケットの電文は通信用秘密鍵もしくは後述するセッション鍵を用いて暗号化される。識別情報は、認証サーバＡＳとオブジェクトＯｊとにより構築された通信ネットワークＮＴ（広域網、構内網のどちらでもよい）において固有の（ユニークな）情報であればよい。したがって、識別情報には、ＭＡＣアドレスやＩＰｖ６におけるＩＰアドレス、あるいは構内網において設定されたアドレスを用いる。
【００２４】
図示例では、１台の認証サーバＡＳと１台のオブジェクトＯｊとを記載しているが、通常は、オブジェクトＯｊは複数台設けられる。たとえば、住宅内に設けた通信機能を有する複数台の設備機器をそれぞれオブジェクトＯｊとする場合、住宅内の各設備機器と通信可能な住宅用サーバに認証サーバＡＳの機能を設け、認証サーバＡＳが各オブジェクトＯｊに配布したセッション鍵を用いて、各オブジェクトＯｊとの通信を行うことにより、宅内の各設備機器の制御や監視を行うことが可能になる。
【００２５】
言い換えると、認証サーバＡＳとオブジェクトＯｊとが認証サーバＡＳの発行したセッション鍵を共通鍵として用いて通信可能である場合に、当該オブジェクトＯｊは認証サーバＡＳの管理下に存在するということができる。また、互いに異なるセッション鍵を配布された複数台のオブジェクトであっても、認証サーバＡＳの管理下に存在する（つまり、認証サーバＡＳによりセッション鍵の鍵束が管理されている）オブジェクト同士は、一つのグループに属するということができる。ここでは、複数のオブジェクトＯｊに同じセッション鍵を配布することは想定していない。
【００２６】
たとえば、オブジェクトＯｊとしてそれぞれ住宅用サーバと通信機能を有するスイッチと照明器具とを想定した場合に、認証サーバＡＳの機能を有する住宅用サーバがスイッチと照明器具とに対してセッション鍵を配布したとすると、スイッチと照明器具とに配布したセッション鍵は住宅用サーバにより保存・管理されるから、スイッチと照明器具とを同じ住宅内に存在する住宅設備としてグループ化することができる。同じグループに属するオブジェクトＯｊは、互いに通信可能となるようにバインディングが可能であり、バインディングが行われた複数のオブジェクトＯｊの間では、住宅用サーバを通して通信が可能になる。たとえｂ、スイッチと照明器具とのバインディングを行うと、スイッチの操作を照明器具の動作に反映させることが可能になる。
【００２７】
以下に説明する実施形態では、オブジェクトＯｊの製造者がオブジェクトＯｊを出荷する際に、認証サーバＡＳとオブジェクトＯｊとに対して、共通の通信用秘密鍵を設定するものとする。実施形態１〜３では、認証サーバＡＳにおいて通信用秘密鍵とペアになる復号用秘密鍵が製造者によって設定される場合を記載し、実施形態４では、通信用秘密鍵とは無関係に通信用の共通鍵を生成する場合を記載する。
【００２８】
認証サーバＡＳでは、通信用秘密鍵と復号用秘密鍵とを用いることにより、オブジェクトＯｊに対してオブジェクトＯｊしか利用することができないセッション鍵を他人に知られることなく配布することが可能になる。認証サーバＡＳがオブジェクトＯｊに対して新たなセッション鍵を配布する処理（セッション鍵の更新処理）は、少なくともオブジェクトＯｊの利用者が変わったときに行われる。
【００２９】
あるいはまた、セッション鍵を適宜のタイミングで定期的または不定期的に更新することによって、同じ利用者が継続してオブジェクトＯｊを利用している間にセッション鍵の更新処理が行われるようにしてもよい。一般に、セッション鍵は使い捨ての暗号鍵であるから、デフォルトで１日程度の有効期間だけ保持するようにし、当該有効期間においてセッション鍵の更新処理があれば、さらに短い期間で廃棄するようにしてもよい。
【００３０】
オブジェクトＯｊは、図２に示すように、通信ネットワークＮＴを介して認証サーバＡＳと接続される。したがって、オブジェクトＯｊには認証サーバＡＳとの通信を可能にするための通信部１１が設けられるとともに、通信ネットワークＮＴにおいてオブジェクトＯｊを特定するための識別情報を保持したＩＤ記憶部１２が設けられる。また、上述した通信用秘密鍵やセッション鍵を記憶する書換可能な鍵記憶部１３を備える。さらに、認証サーバＡＳに対して通信用秘密鍵やセッション鍵の発行を要求および受取の処理を行う鍵要求処理部１４を備える。鍵要求処理部１４の動作については後述する。
【００３１】
一方、認証サーバＡＳは、通信ネットワークＮＴを介してオブジェクトＯｊとの通信を可能にするための通信部２１が設けられるとともに、通信ネットワークＮＴにおいて認証サーバＡＳを特定するための識別情報を保持したＩＤ記憶部２２が設けられる。また、複数台のオブジェクトＯｊに関して通信用秘密鍵やセッション鍵の鍵束を記憶する書換可能な鍵記憶部２３を備える。さらに、オブジェクトＯｊから通信用秘密鍵やセッション鍵の発行が要求されたときに、通信用秘密鍵およびセッション鍵の発行の処理を行う鍵発行処理部２４を備える。鍵発行処理部２４の動作については後述する。
【００３２】
次に、認証サーバＡＳがオブジェクトＯｊに対してセッション鍵を配布する際の基本的な手順について説明する。すなわち、以下の説明は鍵要求処理部１４および鍵発行処理部２４の動作に相当する。以下の説明では、図１に示すように、通信に関わる要素を、認証サーバＡＳとオブジェクトＯ１とオブジェクトＯ１を製造した製造者が管理する製品管理装置ＦＡＣとの３要素で説明する。オブジェクトＯｊは通常は複数台設けられるが、各オブジェクトＯｊにセッション鍵を設定する手順は同等であるから、１台のオブジェクトＯ１についてのみ説明する。
【００３３】
図１に示すように、製品管理装置ＦＡＣは、オブジェクトＯ１の出荷の際に、認証サーバＡＳに対して通信用秘密鍵Ｋ１１と復号用秘密鍵Ｋ１２とを登録する（Ｐ１）。認証サーバＡＳでは、通信用秘密鍵Ｋ１１と復号用秘密鍵Ｋ１２とオブジェクトＯ１の識別情報ＩＤ１とが対応付けて登録される。製品管理装置ＦＡＣから通信用秘密鍵Ｋ１１および復号用秘密鍵Ｋ１２を認証サーバＡＳに登録するにあたっては、インターネットのような通信路を用いる。この通信の際には、ＳＳＬ（Secure Socket Layer）やＴＬＳ（Transport Layer Security）のような技術を用いることにより、通信用秘密鍵Ｋ１１および復号用秘密鍵Ｋ１２の漏洩を防止する。
【００３４】
後述するように通信用秘密鍵Ｋ１１はオブジェクトＯ１にも登録するから、オブジェクトＯ１を識別するための識別情報ＩＤ１を併せて認証サーバＡＳに登録する。オブジェクトＯ１に、機器を通信ネットワークＮＴに接続するためのミドルウェアとしてのＥＭＩＴ（Embedded Micro Internetworking Technology）を搭載している場合には，ＥＭＩＴのオブジェクトＩＤを識別子ＩＤ１に用いることができる。
【００３５】
通信用秘密鍵Ｋ１１と復号用秘密鍵Ｋ１２とはペアとなる暗号鍵であり、公開鍵暗号における公開鍵と秘密鍵との関係と同等の関係になっている。つまり、通信用秘密鍵Ｋ１１（公開鍵に相当）を用いて変換した暗号文は、復号用秘密鍵Ｋ１２（秘密鍵に相当）を用いて復号することができるが、通信用秘密鍵Ｋ１１を用いて復号することはできないようにしてある。また、復号用秘密鍵Ｋ１２を用いて変換した暗号文は、通信用秘密鍵Ｋ１１を用いて復号することができる。
【００３６】
したがって、復号用秘密鍵Ｋ１２とペアになる通信用秘密鍵Ｋ１１をオブジェクトＯ１が保有していれば、オブジェクトＯ１において通信用秘密鍵Ｋ１１を用いて暗号化した電文は、認証サーバＡＳにおいて復号用秘密鍵Ｋ１２を用いて復号することができる。また、認証サーバＡＳにおいて復号用秘密鍵Ｋ１２を用いて暗号化した電文は、オブジェクトＯ１において通信用秘密鍵Ｋ１１を用いることにより復号することができる。
【００３７】
製品管理装置ＦＡＣでは、オブジェクトＯ１の出荷の際に、当該オブジェクトＯ１の識別情報ＩＤ１とともに、認証サーバＡＳに登録した通信用秘密鍵Ｋ１１を登録する（Ｐ２）。言い換えると、認証サーバＡＳとオブジェクトＯ１とには、それぞれ事前秘密鍵としての通信用秘密鍵Ｋ１１が登録され、さらに認証サーバＡＳには通信用秘密鍵Ｋ１１とペアになる事前秘密鍵としての復号用秘密鍵Ｋ１２が登録される。
【００３８】
認証サーバＡＳに、オブジェクトＯ１の識別情報ＩＤ１と通信用秘密鍵Ｋ１１と復号用秘密鍵Ｋ１２とが設定され、オブジェクトＯ１に識別情報ＩＤ１と通信用秘密鍵Ｋ１１とが設定された状態では、以下の手順で、認証サーバＡＳがオブジェクトＯ１に対してセッション鍵Ｋｓｓを配布する。
【００３９】
セッション鍵Ｋｓｓの配布にあたっては、まず、オブジェクトＯ１が認証サーバＡＳにセッション鍵Ｋｓｓの発行を要求し（Ｐ３）、オブジェクトＯ１からの要求に応答して認証サーバＡＳがセッション鍵Ｋｓｓを発行する（Ｐ４）。
【００４０】
オブジェクトＯ１が認証サーバＡＳにセッション鍵Ｋｓｓの発行を要求するには、オブジェクトＯ１においてノンスＮ１（１回だけ用いる数値であり、通常は乱数を用いる）を生成し、生成したノンスＮ１をオブジェクトＯ１の識別情報ＩＤ１とともに認証サーバＡＳに送信する。オブジェクトＯ１から認証サーバＡＳに送信する電文にはセッション鍵Ｋｓｓの発行を要求するコマンドを含んでいる。
【００４１】
ここに、オブジェクトＯ１と認証サーバＡＳとの間で行う通信では、送信元アドレスと送信先アドレスとを含むパケットを送信しており、セッション鍵Ｋｓｓの発行要求を受信した認証サーバＡＳでは、送信元アドレスによってオブジェクトＯ１の識別情報ＩＤ１を取得することができるから、電文ではオブジェクトＯ１の識別情報ＩＤ１を省略することが可能である。
【００４２】
オブジェクトＯ１からセッション鍵Ｋｓｓの発行を要求された認証サーバＡＳでは、セッション鍵Ｋｓｓを生成し、通信用秘密鍵Ｋ１１を用いてセッション鍵Ｋｓｓを暗号化する。セッション鍵Ｋｓｓの暗号化には、通信用秘密鍵Ｋ１１を用いて生成したメッセージ認証コードＭＡＣｋ１１（Ｉｘ）とセッション鍵Ｋｓｓとの排他的論理和を用いる。すなわち、「ＭＡＣｋ１１（Ｉｘ）  ＸＯＲ  Ｋｓｓ」を認証サーバＡＳからオブジェクトＯ１に対して送信する。
【００４３】
メッセージ認証コードを生成する情報Ｉｘは、オブジェクトＯ１から受信したオブジェクトＯ１の識別情報ＩＤ１およびノンスＮ１と、認証サーバＡＳで生成したノンスＮｋと、認証サーバＡＳの識別情報ＩＤｋとである。すなわち、Ｉｘ＝（ＩＤ１，ノンスＮ１，ノンスＮｋ，ＩＤｋ）になる。ここに、オブジェクトＯ１の識別情報ＩＤ１は、プロセスＰ３においてオブジェクトＯ１からの情報に含まれていなければ省略してもよい。認証サーバＡＳからオブジェクトＯ１へは、オブジェクトＯ１においてメッセージ認証コードを確認するためにノンスＮｋも送信される。
【００４４】
以上の動作をまとめると、オブジェクトＯ１が認証サーバＡＳに対してセッション鍵Ｋｓｓの発行を要求する際に「Ｎ１，ＩＤ１」を引き渡し（Ｐ３）、この要求に応答して認証サーバＡＳからは「Ｎｋ，ＭＡＣｋ１１（ＩＤ１，Ｎ１，Ｎｋ，ＩＤｋ）  ＸＯＲ  Ｋｓｓ」を返送することになる（Ｐ４）。
【００４５】
認証サーバＡＳから「Ｎｋ，ＭＡＣｋ１１（ＩＤ１，Ｎ１，Ｎｋ，ＩＤｋ）  ＸＯＲ  Ｋｓｓ」を受け取ったオブジェクトＯ１では、自身の識別情報ＩＤ１および認証サーバＡＳに送信したノンスＮ１と、受信したノンスＮｋと、既知である認証サーバＡＳの識別情報ＩＤｋと、通信用秘密鍵Ｋ１１とを用いてメッセージ認証コードＭＡＣｋ１１（ＩＤ１，Ｎ１，Ｎｋ，ＩＤｋ）に相当する値を生成する。
【００４６】
セッション鍵Ｋｓｓは、鍵としてのメッセージ認証コードＭＡＣｋ１１（ＩＤ１，Ｎ１，Ｎｋ，ＩＤｋ）との排他的論理和により暗号化されているから、オブジェクトＯ１において生成したメッセージ認証コードＭＡＣｋ１１（ＩＤ１，Ｎ１，Ｎｋ，ＩＤｋ）に相当する値と、オブジェクトＯ１が認証サーバＡＳから受信した値との排他的論理和を求めることにより、セッション鍵Ｋｓｓを復号化することができる。つまり、オブジェクトＯ１においてセッション鍵Ｋｓｓを受け取ることができる。このセッション鍵Ｋｓｓは、有効期間において認証サーバＡＳとの間の通信に用いることができる。
【００４７】
ところで、オブジェクトＯ１と認証サーバＡＳとの間の通信は通信用秘密鍵Ｋ１１を用いて暗号化されるから、通信用秘密鍵Ｋ１１が他人に知られると通信が傍受されることになる。たとえば、オブジェクトＯ１の利用者が変わったとしても、通信用秘密鍵Ｋ１１を変更しておらず、かつ前の利用者がオブジェクトＯ１から通信用秘密鍵Ｋ１１を取り出していたとすると、オブジェクトＯ１と認証サーバＡＳとの間の通信が前の利用者に盗聴されるおそれがある。
【００４８】
すなわち、前の利用者と新たな利用者との両方で同じ通信用秘密鍵Ｋ１１を共有することになるから、新たな利用者がオブジェクトＯ１を利用したときの通信が傍受され、生活習慣をのぞき見られたり、オブジェクトＯ１が勝手に操作されたりするおそれがある。
【００４９】
そこで、本実施形態では、オブジェクトＯ１の利用者が変わったときに通信用秘密鍵Ｋ１１を変更することを可能にしている。通信用秘密鍵Ｋ１１を変更する処理は、利用者が特定の操作を行うこと（たとえば、変更処理を起動するスイッチを操作するなど）によって起動することができるが、オブジェクトＯ１が通信ネットワークＮＴに参加したときに通信ネットワークＮＴへの参加を通知するパケットを送信するのに伴って変更処理を自動的に起動してもよい。
【００５０】
また、オブジェクトＯ１を接続した状態で定期的ないし不定期的に変更処理が起動されるようにしてもよい。ただし、通信用秘密鍵Ｋ１１の変更処理を定期的または不定期的に起動する場合には、変更処理を起動する時間間隔は、セッション鍵Ｋｓｓの発行を要求する時間間隔に比べて十分に長く設定する（たとえば、セッション鍵Ｋｓｓの発行要求を１日程度の時間間隔とする場合には、通信用秘密鍵Ｋ１１の変更処理は１ヶ月以上の時間間隔とする）。
【００５１】
通信用秘密鍵Ｋ１１の変更処理が起動されると、オブジェクトＯ１は、通信用秘密鍵Ｋ１１′の発行を要求する際に１回だけ使用できる秘密値としての乱数ｒを生成し、変更処理の起動時点において設定されている通信用秘密鍵Ｋ１１を用いて公開鍵方式（たとえば、ＲＳＡ）で乱数ｒを暗号化した値ＰＥＮＫ１１（ｒ）を、自身の識別情報ＩＤ１とともに認証サーバＡＳに送信する（Ｐ５）。このとき、オブジェクトＯ１から認証サーバＡＳに送信する電文には新たな通信用秘密鍵Ｋ１１′の発行を要求するコマンド含む。すなわち、オブジェクトＯ１は、通信用秘密鍵Ｋ１１の変更を認証サーバＡＳに要求する際に、「ＩＤ１，ＰＥＮＫ１１（ｒ）」を含むコマンドを送信する。
【００５２】
通信用秘密鍵Ｋ１１を用いて公開鍵暗号で乱数ｒを暗号化した値「ＰＥＮｋ１１（ｒ）」は、通信用秘密鍵Ｋ１１とペアになる復号用秘密鍵Ｋ１２がなければ電文が価値を持っている時間内（次の通信用秘密鍵Ｋ１１′がオブジェクトＯ１に配布されるまでの時間内）では復号することができないから、他者が通信用秘密鍵Ｋ１１を知っていたとしても乱数ｒを知ることはできない。一方、認証サーバＡＳには公開鍵暗号における公開鍵に相当する通信用秘密鍵Ｋ１１とペアになる秘密鍵としての復号用秘密鍵Ｋ１２があらかじめ登録されているから、乱数ｒを復号することができる。なお、認証サーバＡＳにおいて、オブジェクトＯ１の通信用秘密鍵Ｋ１１とペアになる復号用秘密鍵Ｋ１２を抽出するには、オブジェクトＯ１の識別情報ＩＤ１を検索キーに用いて検索する。
【００５３】
認証サーバＡＳにおいて乱数ｒが復号されると、認証サーバＡＳでは、新たな通信用秘密鍵Ｋ１１′と復号用秘密鍵Ｋ１２′とのペアを生成する。生成された通信用秘密鍵Ｋ１１′は乱数ｒとの排他的論理和により暗号化され、識別情報ＩＤ１を持つオブジェクトＯ１に送信される（Ｐ６）。すなわち、認証サーバＡＳからオブジェクトＯ１に対して「ｒ  ＸＯＲ  Ｋ１１′」が送信される。乱数ｒはオブジェクトＯ１において既知であるから、オブジェクトＯ１では、受信した電文と乱数ｒとの排他的論理和を求めることにより、新たに発行された通信用秘密鍵Ｋ１１′を受け取ることができる。以後、オブジェクトＯ１では通信用秘密鍵としてＫ１１′を用いることにより、前の通信用秘密鍵Ｋ１１を知っている他者がいたとしても盗聴することができなくなる。
【００５４】
ところで、認証サーバＡＳがオブジェクトＯ１に対して「ｒ  ＸＯＲ  Ｋ１１′」を送信する際に通信ネットワークＮＴとして広域網が用いられているとすれば、他数台の装置において認証サーバＡＳからオブジェクトＯ１への送信内容を傍受することができるから、乱数ｒを用いた暗号化によって電文の内容を容易には知ることができないとしても、悪意の第三者によって電文の内容が解読され通信用秘密鍵Ｋ１１′が読み取られる可能性が十分に低いとは言えない。
【００５５】
このような場合には、通信用秘密鍵Ｋ１１′が第三者により読み取られる確率を低減するために、「ｒ  ＸＯＲ  Ｋ１１′」をさらに暗号化する技術を採用するのが望ましい。たとえば、認証サーバＡＳにおいて元の通信用秘密鍵Ｋ１１を用いて共通鍵方式（たとえば、ＤＥＳ、３−ＤＥＳ、ＡＥＳ）で「ｒ  ＸＯＲ  Ｋ１１′」の暗号化を行い、オブジェクトＯ１においても共通鍵方式の復号を行うようにすればよい。この場合、前の利用者が通信用秘密鍵Ｋ１１を知っていたとしても、復号のアルゴリズムに何を用いるかを容易に知られることはなく、さらに乱数ｒを求めなければ通信用秘密鍵Ｋ１１′を抽出することはできないから、通信用秘密鍵Ｋ１１′が知られる可能性を大幅に低減することができる。
【００５６】
上述のようにしてオブジェクトＯ１が認証サーバＡＳから新たな通信用秘密鍵Ｋ１１′を取得した後は、元の通信用秘密鍵Ｋ１１を用いてセッション鍵Ｋｓｓの発行を要求する手順と同じ手順（Ｐ３，Ｐ４）を用いて、セッション鍵Ｋｓｓの発行を認証サーバＡＳに要求することができる（Ｐ７，Ｐ８）。ただし、新たに発行するセッション鍵Ｋｓｓ′を配布するためのメッセージ認証コードは、新たな通信用秘密鍵Ｋ１１′を用いて生成する。つまり、プロセスＰ７では、「Ｎ１′，ＩＤ１」をオブジェクトＯ１から認証サーバＡＳに引き渡し、プロセスＰ８では、「Ｎｋ′，ＭＡＣｋ１１′（ＩＤ１，Ｎ１′，Ｎｋ′，ＩＤｋ）  ＸＯＲ  Ｋｓｓ′」を認証サーバＡＳからオブジェクトＯ１に対して送信する。なお、Ｎ１′、Ｎｋ′はオブジェクトＯ１と認証サーバＡＳとにおいてそれぞれ新たに発行したノンスである。
【００５７】
上述した動作のうち新たな通信用秘密鍵Ｋ１１′を発行する手順を図３に簡単にまとめて示す。すなわち、図３は鍵要求処理部１４と鍵発行処理部２４とにおける通信用秘密鍵の配布処理を示している。
【００５８】
新たな通信用秘密鍵Ｋ１１′を配布するにあたっては、プロセスＰ１，Ｐ２が前提になる。すなわち、認証サーバＡＳには、オブジェクトＯ１の工場出荷時などにおいて、通信用秘密鍵Ｋ１１と復号用秘密鍵Ｋ１２とがあらかじめ設定され（Ｓ１）、オブジェクトＯ１には通信用秘密鍵Ｋ１１が設定される（Ｓ２）。オブジェクトＯ１において新たな通信用秘密鍵Ｋ１１′の発行を要求する際には、まず乱数ｒを生成し（Ｓ３）、現状の通信用秘密鍵Ｋ１１を用いて公開鍵暗号で乱数ｒを暗号化するとともに（Ｓ４）、暗号化した乱数ｒを、新たな通信用秘密鍵Ｋ１１′の発行要求とともに認証サーバＡＳに通知する（Ｓ５）。
【００５９】
認証サーバＡＳでは、新たな通信用秘密鍵Ｋ１１′の発行要求を受けると（Ｓ６）、認証サーバＡＳのみが知り得ている復号用秘密鍵Ｋ１２を用いて公開鍵暗号により乱数ｒを復号する（Ｓ７）。つまり、オブジェクトＯ１と認証サーバＡＳとの間で、他者の知り得ない安全な方法で、乱数ｒを受け渡すことができる。
【００６０】
次に、認証サーバＡＳは新たな通信用秘密鍵Ｋ１１′を発行するとともに、当該通信用秘密鍵Ｋ１１′とペアになる復号用秘密鍵Ｋ１２′を生成する（Ｓ８）。ここで、通信用秘密鍵Ｋ１１′および復号用秘密鍵Ｋ１２′はオブジェクトＯ１の識別情報ＩＤ１に対応付けて鍵記憶部２３に格納される。生成された通信用秘密鍵Ｋ１１′は、オブジェクトＯ１に配布するために暗号化される（Ｓ９）。ここで、オブジェクトＯ１で生成した乱数ｒは他者に知られていないから、通信用秘密鍵Ｋ１１′と乱数ｒとの排他的論理和を暗号に用いる。
【００６１】
暗号化した新たな通信用秘密鍵Ｋ１１′をオブジェクトＯ１に送信し（Ｓ１０）、オブジェクトＯ１が暗号化された通信用秘密鍵Ｋ１１′を受信すると（Ｓ１１）、オブジェクトＯ１では先に発行した乱数ｒを用いて通信用秘密鍵Ｋ１１′を復号する（Ｓ１２）。以上の処理により認証サーバＡＳにおいて発行した新たな通信用秘密鍵Ｋ１１′をオブジェクトＯ１に対して安全に配布することができるのである。
【００６２】
上述の例では、オブジェクトＯ１が認証サーバＡＳに対して新たな通信用秘密鍵Ｋ１１′の発行を要求する際に、認証サーバＡＳに送信した乱数ｒをそのまま新たな通信用秘密鍵Ｋ１１′の暗号化に用いているが、図４に示すように、乱数ｒを含むメッセージ認証コードＭＡＣｋ１１（ｒ，Ｎｋ＊，ＩＤｋ）を用いてもよい。ここに、Ｎｋ＊は認証サーバＡＳで新たに生成したノンスである。
【００６３】
この場合、認証サーバＡＳからオブジェクトＯ１に通信用秘密鍵Ｋ１１′を配布するときには、メッセージ認証コードの値ＭＡＣｋ１１（ｒ，Ｎｋ＊，ＩＤｋ）と通信用秘密鍵Ｋ１１′との排他的論理和とともにノンスＮｋ＊を送信する。すなわち、「Ｎｋ＊，ＭＡＣｋ１１（ｒ，Ｎｋ＊，ＩＤｋ）  ＸＯＲ  Ｋ１１′」を送信する。ノンスＮｋ＊はノンスＮｋと同じものを用いてもよいが、ノンスＮｋの有効期間を制限し、ノンスＮｋとノンスＮｋ＊とに異なる値を用いるほうが通信の安全性が高くなる。
【００６４】
メッセージ認証コードには、オブジェクトＯ１の識別情報ＩＤ１を含めるようにしてもよい。すなわち、メッセージ認証コードとしてＭＡＣｋ１１（ＩＤ１，ｒ，Ｎｋ＊，ＩＤｋ）を用いてもよい。
【００６５】
メッセージ認証コードとして、ＭＡＣｋ１１（ｒ，Ｎｋ＊，ＩＤｋ）を受信したオブジェクトＯ１では、既知の乱数ｒ、認証サーバＡＳの識別情報ＩＤｋと、認証サーバＡＳから受信したノンスＮｋ＊と元の通信用秘密鍵Ｋ１１とを用いてメッセージ認証コードに相当する値を算出し、受信した電文に含まれる「ＭＡＣｋ１１（ｒ，Ｎｋ＊，ＩＤｋ）  ＸＯＲ  Ｋ１１′」と求めた値との排他的論理和を求めることにより、通信用秘密鍵Ｋ１１′を取り出すことができる。なお、メッセージ認証コードにオブジェクトＯ１の識別情報ＩＤ１を含む場合には、オブジェクトＯ１においてメッセージ認証コードに相当する値を算出する際にも識別情報ＩＤ１を用いる。
【００６６】
上述のようにメッセージ認証コードを用いると、通信用秘密鍵Ｋ１１とペアになる復号用秘密鍵Ｋ１２が知られていなければ乱数ｒを知ることはできないから、変更前の通信用秘密鍵Ｋ１１が知られているときに共通鍵方式による暗号化を行う場合に比較して、通信用秘密鍵Ｋ１１′が漏洩する可能性をさらに低減することができる。
【００６７】
図４に示した手順によって、オブジェクトＯ１が認証サーバＡＳから通信用秘密鍵Ｋ１１′を受け取る際の安全性を高めることができるが、新たな通信用秘密鍵Ｋ１１′を認証サーバＡＳが生成する前に、前の通信用秘密鍵Ｋ１１を知っている第三者がプロセスＰ５で用いる乱数ｒを何らかの方法で取得したとすると、プロセスＰ６におけるメッセージ認証コードＭＡＣｋ１１（ｒ、Ｎｋ＊，ＩＤｋ）に相当する値を生成することが可能になり、新たな通信用秘密鍵Ｋ１１′が第三者に知られる可能性がある。
【００６８】
乱数ｒが知られる可能性を低減するには桁数の大きい乱数ｒを用いればよいが、桁数が大きい数値は認証サーバＡＳやオブジェクトＯ１での処理負荷を増大させることになる。そこで、図５に示すように、オブジェクトＯ１において、演算に用いる乱数ｒに桁数を大きくするための乱数ｓを結合したｒ‖ｓを生成する。ここに、ｘ‖ｙは、左側の数値ｘに右側の数値ｙを単純に連結することを意味し、このような操作をコンカチネーション（concatenation）と呼ぶ。たとえば、「１２３‖１２３」は、「１２３１２３」になる。乱数ｓは桁数が多いほど望ましく、通常は乱数ｒよりも桁数を大きくしておく。後述するように乱数ｓは演算には寄与しないから、処理負荷の大幅な増加は生じない。なお、コンカチネーションのほか、乱数ｒ，ｓの積や和を用いることも可能である。要するに、乱数ｒよりも乱雑性が大きくなればよい。乱数ｓは少なくとも認証サーバＡＳに対して事前に配布される。
【００６９】
図５に示す手順では、オブジェクトＯ１から認証サーバＡＳに対して通信用秘密鍵の変更処理を要求する際の乱数としてｒ‖ｓを用いることにより、乱数ｒ‖ｓが第三者に知られる可能性が大幅に低減される。通信用秘密鍵の変更処理が要求された認証サーバＡＳでは、乱数ｓを取り除いて乱数ｒのみを扱い、図４に示した手順と同様のメッセージ認証コードＭＡＣｋ１１（ｒ，Ｎｋ＊，ＩＤｋ）を用いて新たな通信用秘密鍵Ｋ１１′を暗号化し、オブジェクトＯ１に送信する。図５における他の手順は図４と同様である。
【００７０】
上述のように、通信用秘密鍵の変更処理を要求する際に桁数の大きい乱数ｒ‖ｓを生成し、この乱数ｒ‖ｓを送信する。ここで、乱数ｓは第三者にも知られている可能性があるが、乱数ｒ‖ｓは桁数が多く、しかも乱数ｒ，ｓをどのように組み合わせているかは第三者には知られていないから、総当たり法で乱数ｒ‖ｓを推定することは、乱数ｒが価値を持つ時間内ではほぼ不可能になる。すなわち、乱数ｒが第三者に知られる可能性を低減し、しかも実際の演算には乱数ｒのみを用いることによって認証サーバＡＳおよびオブジェクトＯ１での処理負荷の増加を抑制することができる。
【００７１】
ところで、認証サーバＡＳへのトラフィックを増大させてサービスの提供を不能にするＤｏＳ（Denial of Service attack）という攻撃を防止するために、オブジェクトＯ１が接続されたときに、認証サーバＡＳからチャレンジコードを送信し、認証サーバＡＳからチャレンジコードを受け取ったオブジェクトＯ１だけが通信用秘密鍵Ｋ１１′の変更処理を起動できるようにしてもよい。
【００７２】
上述の動作例においては、変更処理によりオブジェクトＯ１に新たな通信用秘密鍵Ｋ１１′が設定された後に、オブジェクトＯ１が認証サーバＡＳに対してセッション鍵Ｋｓｓを要求しているが、変更処理の応答時に認証サーバＡＳから新たな通信用秘密鍵Ｋ１１′とともにセッション鍵Ｋｓｓを一括してオブジェクトＯ１に送信するようにしてもよい。
【００７３】
具体的には、図６に示すように、図４におけるプロセスＰ６とプロセスＰ８との電文をまとめて１回で送信するのである。ただし、この時点ではオブジェクトＯ１はノンスＮ１＊を生成していないから、図４におけるプロセスＰ８におけるノンスＮ１＊に代えて乱数ｒを用いる。また、図４の動作ではプロセスＰ６とプロセスＰ８とにおいて認証サーバＡＳは２種類の異なるノンスＮｋ＊、Ｎｋ′を生成しているが、ここでは１種類のノンスＮｋ＊のみを生成する。
【００７４】
すなわち、認証サーバＡＳにおいてノンスＮｋ＊と新たな通信用秘密鍵Ｋ１１′および復号用秘密鍵Ｋ１２′と新たなセッション鍵Ｋｓｓ′とを生成し、認証サーバＡＳからオブジェクトＯ１に対して、ノンスＮｋ＊と、通信用秘密鍵Ｋ１１′を第１のメッセージ認証コードにより変換した暗号文と、セッション鍵Ｋｓｓ′を第２のメッセージ認証コードにより変換した暗号文とを送信する。メッセージ印象コードによる暗号文の生成には、メッセージ認証コードと暗号化の対象である電文との排他的論理和を用いる。
【００７５】
ここでは、第１のメッセージ認証コードは、オブジェクトＯ１から受信した乱数ｒとノンスＮｋ＊と識別情報ＩＤｋとに前の通信用秘密鍵Ｋ１１を適用して生成し、第２のメッセージ認証コードは、オブジェクトＯ１の識別情報ＩＤ１とオブジェクトＯ１から受信した乱数ｒとノンスＮｋ＊と識別情報ＩＤｋとに新たな通信用秘密鍵Ｋ１１′を適用して生成する。すなわち、第１のメッセージ認証コードは、ＭＡＣｋ１１（ｒ，Ｎｋ＊，ＩＤｋ）になり、第２のメッセージ認証コードは、ＭＡＣｋ１１′（ＩＤ１，ｒ，Ｎｋ＊，ＩＤｋ）になる。ただし、第１のメッセージ認証コードは、オブジェクトＯ１の識別情報ＩＤ１を併せて用いることにより、ＭＡＣｋ１１（ＩＤ１，ｒ，Ｎｋ＊，ＩＤｋ）としてもよく、また、第２のメッセージ認証コードは、オブジェクトＯ１の識別情報ＩＤ１を省略してＭＡＣｋ１１′（ｒ，Ｎｋ＊，ＩＤｋ）としてもよい。
【００７６】
上述の処理により、認証サーバＡＳがオブジェクトＯ１に対して新たな通信用秘密鍵Ｋ１１′と新たなセッション鍵Ｋｓｓ′を連続して配布する際の手順が、図４に示した手順よりも簡略化されるから、認証サーバＡＳとオブジェクトＯ１との間のトラフィックが低減されることになる。言い換えると、通信に要する電力が低減され省エネルギになる。
【００７７】
（実施形態２）
実施形態１では、オブジェクトＯ１の製造者において通信用秘密鍵Ｋ１１と復号用秘密鍵Ｋ１２とをペアとなる暗号鍵として生成し、オブジェクトＯ１に通信用秘密鍵Ｋ１１を設定するとともに、認証サーバＡＳに通信用秘密鍵Ｋ１１および復号用秘密鍵Ｋ１２を設定する技術を採用している。これに対して、本実施形態は、復号用秘密鍵Ｋ１２は用いず、図７に示すように、認証サーバＡＳとオブジェクトＯ１との両方に通信用秘密鍵Ｋ１１のみを設定し（Ｐ１，Ｐ２）、通信用秘密鍵を変更する際には、ディフィー・ヘルマン（Diffie-Hellman）鍵共有方式で通信用秘密鍵を送信する。
【００７８】
したがって、本実施形態では、大きい値の素数ｐと適宜値の原始元ｇとを認証サーバＡＳとオブジェクトＯ１とに共通に設定している。素数ｐと原始元ｇとは公開しておくことができるが、非公開とするほうが通信の安全性を高めることができる。素数ｐと原始元ｇとを非公開とする場合には、オブジェクトＯ１の製造者が通信用秘密鍵Ｋ１１および復号用秘密鍵Ｋ１２と同様にして、認証サーバＡＳとオブジェクトＯ１とに対して設定すればよい。
【００７９】
セッション鍵Ｋｓｓの発行を要求する処理は、実施形態１と同様であり、オブジェクトＯ１ではノンスＮ１を生成して「ＩＤ１，Ｎ１」を認証サーバＡＳに送信し（Ｐ３）、セッション鍵Ｋｓｓの発行要求を受信した認証サーバＡＳではノンスＮｋおよびセッション鍵Ｋｓｓを生成して「Ｎｋ，ＭＡＣｋ１１（ＩＤ１，Ｎ１，Ｎｋ，ＩＤｋ）  ＸＯＲ  Ｋｓｓ」をオブジェクトＯ１に送信する（Ｐ４）。
【００８０】
一方、オブジェクトＯ１において変更処理が起動されると、実施形態１と同様に、オブジェクトＯ１において新たな通信用秘密鍵Ｋ１１′の発行を要求する際に１回だけ使用される秘密値としての乱数ｘを生成する。この乱数ｘは新たな通信用秘密鍵Ｋ１１′をオブジェクトＯ１が受け取るまで一時的に用いられる。新たな通信用秘密鍵Ｋ１１′の発行を要求するコマンドでは、乱数ｘをオブジェクトＯ１の秘密値とし、ｇｘのｐを法とした剰余Ｒｘ（＝ｇｘ  ｍｏｄ  ｐ）を、秘密値を暗号化した値（ディフィー・ヘルマン鍵共有方式における公開鍵）とし、この公開鍵をオブジェクトＯ１の識別情報ＩＤ１とを認証サーバＡＳに送信する（Ｐ５）。
【００８１】
一方、通信用秘密鍵Ｋ１１′の発行を要求された認証サーバＡＳでは、新たな通信用秘密鍵Ｋ１１′と秘密値である乱数ｙとを生成する。乱数ｙは乱数ｘと同様に一時的に用いられる。さらに、認証サーバＡＳは、乱数ｙを用いて、Ｒｘｙ（＝（Ｒｘ）ｙ  ｍｏｄ  ｐ）となる共通鍵Ｋｃを生成する。求めた共通鍵Ｋｃ（＝Ｒｘｙ）は素数ｐを法としてｇｘｙと合同である（すなわち、Ｒｘｙ＝ｇｘｙ  ｍｏｄ  ｐ）。
【００８２】
共通鍵Ｋｃ（＝Ｒｘｙ）が生成されたことによって、実施形態１における図４に示した手順と同様に、共通鍵Ｋｃを用いて生成したメッセージ認証コードＭＡＣＫｃ（Ｋｃ，Ｒｙ，ＩＤｋ）と新たな通信用秘密鍵Ｋ１１′との排他的論理和をオブジェクトＯ１に送信することが可能になる。言い換えると、秘密値である乱数ｘを用いて通信用秘密鍵Ｋ１１′を暗号化したことになる。ここで、共通鍵ＫｃをオブジェクトＯ１においても生成することができるようにディフィー・ヘルマン鍵共有方式における公開鍵である剰余Ｒｙを併せて送信する。すなわち、プロセスＰ５で新たな通信用秘密鍵Ｋ１１′を配布する際には、認証サーバＡＳからオブジェクトＯ１に対して「Ｒｙ，ＭＡＣＫｃ（Ｋｃ，Ｒｙ，ＩＤｋ）  ＸＯＲ  Ｋ１１′）」という電文を送信する。
【００８３】
図４のプロセスＰ６と比較すればわかるように、ノンスＮｋ＊に代えて剰余Ｒｙを用い、通信用秘密鍵Ｋ１１と乱数ｒとに代えて共通鍵Ｋｃ（＝Ｒｘｙ）を用いているが、剰余Ｒｙは乱数ｙにより生成しているから実質的にノンスＮｋ＊と同様に扱うことができ、共通鍵Ｋｃは乱数ｘ，ｙにより生成しているから乱数ｒと同様に扱うことができる。また、オブジェクトＯ１と認証サーバＡＳとで共有する暗号鍵としては、従前の通信用秘密鍵Ｋ１１を用いるよりも、新たに生成した共通鍵Ｋｃ（＝Ｒｘｙ）を用いることで安全性がより高くなる。
【００８４】
プロセスＰ５の電文を受信したオブジェクトＯ１では、乱数ｘ（秘密鍵）と剰余Ｒｙとを用いることにより、（Ｒｙ）ｘの値を求めることができる。ここで、Ｒｙｘ＝（Ｒｙ）ｘ  ｍｏｄ  ｐとすると、Ｒｙｘは素数ｐを法としてｇｘｙと合同であるから、Ｒｘｙ＝Ｒｙｘとなり、オブジェクトＯ１において共通鍵Ｋｃを算出することができる。共通鍵Ｋｃ（＝Ｒｘｙ）が求められるとともに、電文から剰余Ｒｙがわかり、さらに認証サーバＡＳの識別情報ＩＤｋは既知であるから、メッセージ認証コードＭＡＣＫｃ（Ｒｘｙ，Ｒｙ，ＩＤｋ）を算出することができる。その結果、実施形態１と同様に、認証サーバＡＳからオブジェクトＯ１への電文から通信用秘密鍵Ｋ１１′を取り出すことが可能になる。
【００８５】
以上の処理によって実施形態１と同様に、新たな通信用秘密鍵Ｋ１１′を安全に配布することが可能になり、通信用秘密鍵Ｋ１１′を用いてセッション鍵Ｋｓｓを配布することが可能になる。他の構成および動作は実施形態１と同様である。
【００８６】
なお、上述した実施形態では、メッセージ認証の手続については、クリプトナイトを採用することを想定しているが、クリプトナイトと同様に共通鍵を用いる鍵配布方式のケルベロスでもよい。ケルベロスではノンスに代えて時間を用いる。したがって、ノンス性ないし乱数性の管理を時間管理に置き換えることができる。他の構成および動作は実施形態１と同様である。
【図面の簡単な説明】
【００８７】
【図１】実施形態１におけるセッション鍵と通信用秘密鍵との配布手順を示す動作説明図である。
【図２】同上に用いるオブジェクトと認証サーバとを示すブロック図である。
【図３】同上における通信用秘密鍵の配布手順を示す動作説明図である。
【図４】同上の他の動作例を示す動作説明図である。
【図５】同上のさらに他の動作例を示す動作説明図である。
【図６】同上の別の動作例を示す動作説明図である。
【図７】実施形態２におけるセッション鍵と通信用秘密鍵との配布手順を示す動作説明図である。
【符号の説明】
【００８８】
１３  鍵記憶部
１４  鍵要求処理部
２３  鍵記憶部
２４  鍵発行処理部
ＡＳ  認証サーバ
ＮＴ  通信ネットワーク
Ｏ１，Ｏ２，…，Ｏｊ  オブジェクト
【図１】
2010136199.tif 000003
【図２】
2010136199.tif 000004
【図３】
2010136199.tif 000005
【図４】
2010136199.tif 000006
【図５】
2010136199.tif 000007
【図６】
2010136199.tif 000008
【図７】
2010136199.tif 000009