認証装置及び認証方法及びプログラム
【課題】機器認証に用いる認証鍵の漏洩の際の影響範囲を限定し、メモリ容量が限られる機器でも実現可能な認証方式を提供する。
【解決手段】マスタ機器(1)は、各スレーブ機器(2)に設定されている識別情報とマスタ鍵から各スレーブ機器(2)のスレーブ鍵を生成し、生成したスレーブ鍵を各スレーブ機器(2)に配布する。スレーブ機器(2)は識別情報を含む接続要求をマスタ機器(1)に送信し、マスタ機器(1)では、接続要求内の識別情報とマスタ鍵から接続要求送信元のスレーブ機器(2)が保有しているはずのスレーブ鍵を生成し、チャレンジコードとスレーブ鍵に対してHASH値を生成し、チャレンジコードを接続要求送信元のスレーブ機器(2)に送信する。スレーブ機器(2)からのレスポンスに含まれるHASH値と、生成したHASH値を比較し、両者が一致すれば接続要求送信元のスレーブ機器(2)との接続を許可する。
【解決手段】マスタ機器(1)は、各スレーブ機器(2)に設定されている識別情報とマスタ鍵から各スレーブ機器(2)のスレーブ鍵を生成し、生成したスレーブ鍵を各スレーブ機器(2)に配布する。スレーブ機器(2)は識別情報を含む接続要求をマスタ機器(1)に送信し、マスタ機器(1)では、接続要求内の識別情報とマスタ鍵から接続要求送信元のスレーブ機器(2)が保有しているはずのスレーブ鍵を生成し、チャレンジコードとスレーブ鍵に対してHASH値を生成し、チャレンジコードを接続要求送信元のスレーブ機器(2)に送信する。スレーブ機器(2)からのレスポンスに含まれるHASH値と、生成したHASH値を比較し、両者が一致すれば接続要求送信元のスレーブ機器(2)との接続を許可する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器認証技術に関する。
【背景技術】
【0002】
模造品に対する対策は、正規品の製造業者にとって、潜在的市場の喪失、ブランドイメージの低下、製造物責任といった観点から必要不可欠となっている。
模造品対策の一つとして、機器認証がある。
機器認証のために一般的に用いられる方式として、チャレンジ・レスポンス方式がある。
チャレンジ・レスポンス方式では、認証機器と被認証機器であらかじめ認証鍵を共有しておき、同一の認証用演算アルゴリズムを用いて認証を行う。
ここでは認証機器をマスタ機器、被認証機器をスレーブ機器として手順を説明する。
【0003】
スレーブ機器は、マスタ機器に対して接続要求を出す。
マスタ機器は、チャレンジ用の乱数を生成し、スレーブ機器へ送付する。
スレーブ機器は、チャレンジ用の乱数と認証鍵を認証用演算アルゴリズムの入力とし、得られた出力をレスポンスとしてマスタ機器へ送付する。
マスタ機器は、チャレンジ用の乱数と認証鍵を認証用演算アルゴリズムの入力として得られた出力を、スレーブ機器から受取ったレスポンスと比較し、一致したら認証成功とし、スレーブ機器が正規品であると判断する。
この認証方式では、認証に使用する認証鍵を第三者、例えば模造品製造者が知りえないという点に依存している。
【0004】
チャレンジ・レスポンス方式を機器認証に用いる方法として、特許文献1の方法が提案されている。
認証機器の回路規模抑制のために、チャレンジ用乱数の生成機能と共有する認証鍵をサーバに置き、認証機器は、サーバから受取ったレスポンスと被認証機器から受取ったレスポンスの比較のみを行うように構成している。
特許文献1の方法では、認証機器上に認証鍵を配置していないが、サーバと被認証機器では同一の認証鍵を使用している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−195155号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
チャレンジ・レスポンス方式を認証に用いた場合、認証機器と被認証機器であらかじめ認証鍵を共有しておく必要がある。
認証鍵が漏洩した場合、同一の認証鍵を持つように模造品を構成することが可能となり、認証機能が機能しなくなってしまう。
そのため、認証機器と被認証機器のそれぞれで、認証鍵を安全に保持することが必要である。
特許文献1では、被認証機器は1種類であり、認証鍵を安全に保持する仕組みとして全ての被認証機器に同一の方式を採用することは容易であると考えられる。
しかしながら、被認証機器が多様な場合、認証鍵を安全に保持する仕組みとして、一様な方式を採用することは困難である。
例えば、ファクトリーオートメーションシステムでは、非常に簡易な演算装置により実現されている単機能低価格の機器から、ある程度高度な演算装置により実現されている機器まで様々である。
また、組込み機器として実現されている機器から、汎用パソコン上でソフトウェアとして実現されている機器まで、耐タンパの観点からの強弱も様々である。
機器認証後に動作する、機器毎に実現している機器本来の機能が異なったとしても、全ての機器が一つの認証鍵を共有した場合、耐タンパ性の低い機器から認証鍵が漏洩すると、他の全ての機器認証が意味をなさなくなるという課題がある。
一方で、被認証機器の機能や実現形態毎に異なる認証鍵を持つように構成した場合、特に認証機器が組込み機器であり情報格納用のメモリ領域が限られている場合、認証機器は全ての認証鍵を持つことは困難であるという課題がある。
【0007】
この発明は上記のような課題を解決することを主な目的としており、共有する認証鍵が漏洩した場合の影響範囲を限定すると共に、情報格納領域が限定されている認証機器においても実現可能な認証方式を提供することを主な目的とする。
【課題を解決するための手段】
【0008】
本発明に係る認証装置は、
マスタ鍵を記憶しているマスタ鍵記憶部と、
いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信部と、
前記通信部により前記接続要求が受信された際に、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成部と、
前記通信部により受信された前記接続要求通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成部と、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成部と、
前記通信部により受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定部とを有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、通信装置ごとに設定されている識別情報とマスタ鍵から認証対象の通信装置の認証鍵を生成して認証を行うため、ある通信装置が保有している鍵が漏洩した場合でも、模造品が他の通信装置と詐称して認証装置に接続することを防ぐことができる。
また、認証装置は1つのマスタ鍵から複数の通信装置に対する複数の認証鍵を生成することができ、情報格納領域が限定されている認証装置においても複数の通信装置の認証を行うことができる。
【図面の簡単な説明】
【0010】
【図1】実施の形態1に係るシステム構成例を示す図。
【図2】実施の形態1に係るマスタ機器の構成例を示す図。
【図3】実施の形態1に係るスレーブ機器の構成例を示す図。
【図4】実施の形態1に係る機器認証動作を示す図。
【図5】実施の形態1に係るスレーブ鍵の生成動作を示すフローチャート図。
【図6】実施の形態2に係る機器認証動作を示す図。
【図7】実施の形態3に係るマスタ機器の構成例を示す図。
【図8】実施の形態3に係るスレーブ機器の構成例を示す図。
【図9】実施の形態3に係る機器認証動作を示す図。
【図10】実施の形態3に係る機器認証動作を示す図。
【図11】実施の形態5に係るシステム構成例を示す図。
【図12】実施の形態5に係るマスタ機器の構成例を示す図。
【図13】実施の形態5に係るスレーブ機器の構成例を示す図。
【図14】実施の形態5に係る機器認証動作を示す図。
【図15】実施の形態5に係る機器認証動作を示す図。
【図16】実施の形態5に係る機器認証動作を示す図。
【図17】実施の形態1に係る機器認証動作を示すフローチャート図。
【図18】実施の形態5に係る機器認証動作を示すフローチャート図。
【図19】実施の形態1〜6に係るマスタ機器のハードウェア構成例を示す図。
【発明を実施するための形態】
【0011】
実施の形態1.
図1は、本実施の形態1におけるシステム構成例を示す。
本実施の形態に係るシステムでは、1つのマスタ機器(1)と2つのスレーブ機器(2)から構成され、マスタ機器(1)とスレーブ機器(2)はネットワーク(3)によって接続されている。
スレーブ機器は、3台以上あってもよい。
マスタ機器(1)は認証装置の例であり、スレーブ機器(2)は通信装置の例である。
【0012】
図2は、マスタ機器(1)の構成例を示す。
マスタ機器(1)は、チャレンジコード生成部(11)、HASH計算部(12)、識別情報保持部(13)、マスタ鍵格納部(14)、スレーブ鍵生成部(15)、接続要求検証部(16)、ネットワーク送受信部(17)を持つ。
【0013】
チャレンジコード生成部(11)は、機器認証に使用する乱数であるチャレンジコード(チャレンジ値ともいう)を生成する機能である。
チャレンジコード生成部(11)は、チャレンジ値生成部の例である。
【0014】
HASH計算部(12)は、認証鍵とチャレンジコードを入力としてHASH値を出力する、一方向性を有するHASH計算論理を演算する機能である。
HASH計算部(12)が生成するHASH値は、スレーブ機器から送信されたレスポンス値の照合に用いる。
HASH計算部(12)は、照合レスポンス値生成部の例である。
【0015】
識別情報保持部(13)は、スレーブ機器(2)から得た識別情報を、一時的に保持しておくための記憶領域である。
【0016】
マスタ鍵格納部(14)は、マスタ機器(1)が機器認証に使用するマスタ鍵をあらかじめ格納しておくために使用する記憶領域である。
マスタ鍵格納部(14)は、マスタ鍵記憶部の例である。
【0017】
スレーブ鍵生成部(15)は、スレーブ機器(2)から得た情報を入力としてスレーブ機器(2)の認証に使用するスレーブ鍵を出力する計算論理を演算する機能である。
より具体的には、スレーブ鍵生成部(15)は、スレーブ機器(2)の識別情報とマスタ鍵格納部(14)のマスタ鍵とに基づき、スレーブ機器の認証に使用するスレーブ鍵を生成する。
スレーブ鍵生成部(15)は、認証鍵生成部の例である。
【0018】
接続要求検証部(16)は、2つのHASH値を入力とし、入力が一致するか否かで接続要求の可否を決定し、接続要求に対する応答を生成する機能である。
入力とする2つのHASH値はそれぞれ、マスタ機器(1)のHASH計算部(12)が生成した値と、スレーブ機器(2)が生成しマスタ機器(1)に送付した値である。
つまり、接続要求検証部(16)は、スレーブ機器(2)から受信したレスポンス値(HASH値)とHASH計算部(12)により生成されたレスポンス値(HASH値)とを照合し、接続要求のあったスレーブ機器(2)との接続を許可するかどうかを決定する。
接続要求検証部(16)は、接続許否判定部の例である。
【0019】
ネットワーク送受信部(17)は、ネットワーク(3)を介してスレーブ機器(2)と通信を行うための機能である。
より具体的には、ネットワーク送受信部(17)は、いずれかのスレーブ機器(2)から接続要求を受信し、接続要求の送信元であるスレーブ機器(2)(接続要求通信装置)の識別情報を受信し、接続要求に対して生成されたチャレンジ値を当該スレーブ機器(2)に送信し、当該スレーブ機器(2)からチャレンジ値に対するレスポンス値を受信する。
ネットワーク送受信部(17)は、通信部の例である。
【0020】
図3は、被認証機器であるスレーブ機器(2)の構成例を示す。
スレーブ機器(2)は、識別情報格納部(21)、スレーブ鍵格納部(22)、接続要求部(23)、HASH計算部(24)、ネットワーク送受信部(25)を持つ。
【0021】
識別情報格納部(21)は、スレーブ機器識別用の識別情報をあらかじめ格納しておくために使用する記憶領域である。
識別情報格納部(21)に格納されているスレーブ機器識別用の識別情報は、異なる動作をするスレーブ機器には異なる値を割当てる。
【0022】
スレーブ鍵格納部(22)は、スレーブ機器(2)が機器認証に使用するスレーブ鍵をあらかじめ格納しておくために使用する記憶領域である。
【0023】
接続要求部(23)は、マスタ機器(1)に対する接続要求を生成し、接続要求に対するマスタ機器(1)からの応答を受取る機能である。
【0024】
HASH計算部(24)は、スレーブ鍵とチャレンジコードを入力としてHASH値を出力する、一方向性を有する計算論理を演算する機能である。
【0025】
ネットワーク送受信部(25)は、ネットワーク(3)を介してスレーブ機器(2)と通信を行うための機能である。
【0026】
図5は、スレーブ機器(2)のスレーブ鍵格納部(22)に格納するスレーブ鍵を生成する手順を示している。
なお、図5の手順により生成されるスレーブ鍵は、スレーブ機器(2)においてチャレンジコードに対するレスポンス値の生成に用いられる鍵であり、レスポンス用鍵の例である。
【0027】
まず、スレーブ鍵生成部(15)が、マスタ鍵格納部(14)に格納するマスタ鍵を決定する(S501)。
次に、スレーブ鍵生成部(15)が、スレーブ機器(2)を識別するための識別情報を決定する(S502)。
識別情報として、個々のスレーブ機器を特定することが可能な情報、あるいはスレーブ機器の種類を特定することが可能な情報、あるいはスレーブ機器の形名を特定することが可能な情報、あるいはスレーブ機器の版を特定することが可能な情報等を使用する。
S501で決定した認証鍵とS502で決定した識別情報を入力として、スレーブ鍵生成部(15)は演算式fを計算し(S503)、算出した値をS502で決定した識別情報を持つスレーブ機器のスレーブ鍵とする(S504)。
S503で使用する演算式fの一例は、入力値を連結した値にHASH計算論理を適用するという式である。
演算式fは、マスタ機器(1)のHASH計算部(12)とスレーブ機器(2)のHASH計算部(24)と同様に、一方向性を有するHASH計算論理である。
機器認証の開始に先立ち、スレーブ鍵生成部(15)が、S501で決定したマスタ鍵をマスタ機器(1)のマスタ鍵格納部(14)に格納し、S502で決定した識別情報をスレーブ機器(2)の識別情報格納部(21)に格納し、S504で決定した認証鍵をスレーブ機器(2)のスレーブ鍵格納部(22)に格納しておく。
スレーブ鍵格納部(22)へのスレーブ鍵の格納は、例えば、ネットワーク送受信部(17)によって該当するスレーブ機器(2)に送信するようにしてもよい。
なお、マスタ機器(1)では、スレーブ機器(2)のスレーブ鍵格納部(22)に格納したスレーブ鍵を記憶しない。
【0028】
次に、図17のフローチャートを用いて、本実施の形態に係る機器認証動作の概要を説明する。
図17は、スレーブ機器(2)の機器認証を行う際のマスタ機器(1)が動作の概要を示すフローチャートである。
なお、図17の処理は、図5の処理が終了した後の処理である。
【0029】
マスタ機器(1)では、まず、ネットワーク送受信部(17)がスレーブ機器(2)から送信された接続要求を受信する(S1701)(通信ステップ)。
接続要求には、接続要求送信元のスレーブ機器(2)の識別情報が含まれている。
次に、チャレンジコード生成部(11)が、接続要求送信元のスレーブ機器(2)の認証のためのチャレンジコードを生成する(S1702)(チャレンジ値生成ステップ)。
次に、スレーブ鍵生成部(15)が、マスタ鍵格納部(14)のマスタ鍵と、接続要求に含まれているスレーブ機器(2)の識別情報からスレーブ鍵(認証鍵)を生成する(S1703)(認証鍵生成ステップ)。
このスレーブ鍵(認証鍵)は、接続要求送信元のスレーブ機器(2)が正当なスレーブ機器(マスタ機器(1)との接続する権限のあるスレーブ機器)であれば保有しているはずのスレーブ鍵と一致する。
スレーブ鍵生成部(15)によるスレーブ鍵の生成は、図5のS503の演算式fと同様の演算を行う。つまり、スレーブ鍵生成部(15)は、スレーブ機器(2)に配布したスレーブ鍵(レスポンス用鍵)の生成アルゴリズムと同じアルゴリズムにより機器認証に用いるスレーブ鍵(認証鍵)を生成する。
次に、HASH計算部(12)が、S1702で生成されたチャレンジコードとS1703で生成されたスレーブ鍵を入力としてHASH値を計算する(S1704)(照合レスポンス値生成ステップ)。
このマスタ機器(1)のHASH計算部(12)によるHASH演算は、スレーブ機器(2)のHASH計算部(24)によるHASH演算と同じである。
つまり、HASH計算部(12)は、正当なスレーブ機器(2)がチャレンジコードに対するレスポンスの際に、配布されたスレーブ鍵(レスポンス用鍵)とチャレンジコードに対して用いるHASH演算アルゴリズムと同じHASH演算アルゴリズムでHASH値を算出する。
【0030】
次に、ネットワーク送受信部(17)が、S1702で生成されたチャレンジコードを接続要求送信元のスレーブ機器(2)に送信する(S1705)(通信ステップ)。
次に、ネットワーク送受信部(17)が、接続要求送信元のスレーブ機器(2)からレスポンスを受信する(S1706)(通信ステップ)。
次に、接続要求検証部(16)が、S1706で受信したレスポンスに含まれるHASH値(受信レスポンス値)とS1704で生成されたHASH値(照合レスポンス値)を比較する(S1707)(接続許否判定ステップ)。
比較の結果、HASH値が一致した場合(S1708でYES)は、接続要求検証部(16)は接続要求送信元のスレーブ機器(2)との接続を許可する(S1709)(接続許否判定ステップ)。
一方、HASH値が一致しない場合(S1708でNO)は、接続要求検証部(16)は接続要求送信元のスレーブ機器(2)との接続を許可しない(S1710)(接続許否判定ステップ)。
最後に、ネットワーク送受信部(17)は、接続許否判定の判定結果を示す応答を接続要求送信元のスレーブ機器(2)に送信する(S1711)。
【0031】
なお、S1702とS1703は順序が入れ替わってもよく、また、S1705はS1702の直後に実施されてもよい。
また、S1703とS1704は、S1706の後に実施されてもよい。
【0032】
次に、図4を参照して、本実施の形態に係る機器認証動作をより詳細に説明する。
図4は、機器認証におけるマスタ機器(1)とスレーブ機器(2)の動作例を示している。
なお、図4の処理は、図5の処理が終了した後の処理である。
【0033】
スレーブ機器(2)は、識別情報格納部(21)から格納されている識別情報を取り出し、接続要求部(23)に渡す(S411)。
接続要求部(23)は、マスタ機器(1)との接続要求を生成し、ネットワーク送受信部(25)に接続要求を渡す(S412)。
マスタ機器(1)との接続要求には、識別情報格納部(21)から渡された識別情報が含まれている。
ネットワーク送受信部(25)は、接続要求部(23)から渡された接続要求をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(401)。
【0034】
マスタ機器(1)では、ネットワーク送受信部(17)がスレーブ機器(2)から送信された接続要求を受信する。
そして、ネットワーク送受信部(17)は、接続要求を接続要求検証部(16)に渡す(S413)。
接続要求検証部(16)はS413で受取った接続要求に含まれている識別情報を識別情報保持部に保持し(S414)、スレーブ鍵生成部(15)に渡す(S415)。
接続要求検証部(16)はさらに、チャレンジコード生成部(11)に対してチャレンジコードの生成を要求する(S416)。
チャレンジコード生成部(11)は、接続要求検証部(16)からの要求に応じてチャレンジコードを生成する。
チャレンジコード生成部(11)は、生成したチャレンジコードを接続要求検証部(16)、HASH計算部(12)へ渡す(S417、S418)。
【0035】
接続要求検証部(16)は受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部(17)へ渡す(S419)。
マスタ機器(1)のスレーブ鍵生成部(15)は、マスタ鍵格納部(14)から格納しているマスタ鍵を受取り(S420)、S415で受取った識別情報とS420で受取ったマスタ鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をHASH計算部(12)へ渡す(S421)。
HASH計算部(12)は、S418で受取ったチャレンジコードとS421で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を接続要求検証部(16)に渡す(S422)。
ネットワーク送受信部(17)は、S419で受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(402)。
【0036】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)からチャレンジ要求を含む通信用フレームを受信すると、チャレンジ要求を接続要求部(23)に渡す(S423)。
接続要求部(23)は、S423で受取ったチャレンジ要求からチャレンジコードを取り出し、HASH計算部(24)に渡す(S424)。
HASH計算部(24)は、スレーブ鍵格納部(22)から格納されているスレーブ鍵を取り出し(S425)、S424で受取ったチャレンジコードとS425で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を接続要求部(23)に渡す(S426)。
接続要求部(23)は、HASH計算部(24)から渡されたHASH値を含むレスポンスを生成し、ネットワーク送受信部(25)に渡す(S427)。
ネットワーク送受信部(25)は、S427で受取ったレスポンスをデータとして含む通信用フレームを生成し、マスタ機器宛に送信する(403)。
【0037】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)からレスポンスを含む通信用フレームを受信すると、レスポンスを接続要求検証部(16)に渡す(S428)。
接続要求検証部(16)はレスポンスに含まれているHASH値を取り出し、S422で受取ったHASH値と比較し、一致の場合は接続許可、不一致の場合は接続不許可と、ネットワーク送受信部(17)に応答する(S429)。
ネットワーク送受信部(17)は、S429で接続要求検証部(16)から得られた接続要求に対する応答を含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(404)。
マスタ機器(1)は、S429で接続許可と判定した場合、以降のスレーブ機器(2)からの要求に対し、識別情報保持部(13)に許可されている識別情報に対する操作のみを許容し、異なる識別情報のスレーブ機器に対する操作は許容しない。
S429で接続不許可と判定した場合、スレーブ機器(2)からの要求は許可しない。
【0038】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部(23)に渡す(S430)。
【0039】
以上のように、スレーブ機器間では識別情報毎に異なる認証鍵(スレーブ鍵)を持つように構成し、機器認証後にマスタ機器は認証時にスレーブ機器が通知した識別情報に対する操作のみを許容するようにしているため、スレーブ機器から認証鍵(スレーブ鍵)が漏洩した場合でも、異なる識別情報のスレーブ機器であることを詐称する模造品がマスタ機器に接続することを防ぐことができる。
また、マスタ機器とスレーブ機器が異なる認証鍵(マスタ鍵、スレーブ鍵)を格納するように構成し、スレーブ機器間では識別情報毎に異なる認証鍵(スレーブ鍵)を持つように構成し、マスタ機器はスレーブ機器が通知する識別情報とマスタ機器が格納している認証鍵(マスタ鍵)を元にスレーブ機器用の認証鍵(スレーブ鍵)を生成するようにしているため、マスタ機器は1つの認証鍵(マスタ鍵)を格納するだけで、異なる認証鍵(スレーブ鍵)を持つ複数のスレーブ機器に対する認証動作を行うことができる。
【0040】
本実施の形態では、認証を行うマスタ機器が、認証鍵とスレーブ鍵生成機能を持ち、認証を受けるスレーブ機器が認証鍵と識別情報を持つことを説明した。
また、スレーブ機器がマスタ機器に認証を行う際に、識別情報をマスタ機器に送付し、マスタ機器は識別情報とマスタ機器が持つ認証鍵とスレーブ鍵生成機能からスレーブ機器が持つ認証鍵を生成することで、マスタ機器とスレーブ機器が認証鍵を共有することを説明した。
【0041】
実施の形態2.
以上の実施の形態1では、スレーブ機器が識別情報を接続要求と同時にマスタ機器へ通知するようにしたものであるが、次にスレーブ機器が識別情報を接続要求とは別にマスタ機器へ通知する場合の実施の形態を示す。
【0042】
実施の形態2におけるシステム構成は、実施の形態1の場合と同様であり、図1に示す構成となる。
マスタ機器(1)およびスレーブ機器(2)の構成は、実施の形態1の場合と同様であり、それぞれ図2と図3に示す構成となる。
【0043】
図6は、実施の形態2において、スレーブ機器(2)がマスタ機器(1)に対して接続要求をした際に行う機器認証の動作を示している。
【0044】
スレーブ機器(2)の接続要求部(23)は、マスタ機器(1)との接続要求を生成し、ネットワーク送受信部(25)に接続要求を渡す(S611)。
ネットワーク送受信部(25)は、接続要求部(23)から渡された接続要求をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(601)。
【0045】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)から接続要求を含む通信用フレームを受取ると、接続要求検証部(16)に渡す(S612)。
接続要求検証部(16)は、チャレンジコード生成部(11)に対してチャレンジコードの生成を要求する(S613)。
チャレンジコード生成部(11)は、生成したチャレンジコードを接続要求検証部(16)とHASH計算部(12)へ渡す(S614、S615)。
接続要求検証部(16)は受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部(17)へ渡す(S616)。
ネットワーク送受信部(17)は、S616で受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(602)。
【0046】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)からチャレンジコードを含む通信用フレームを受信すると、チャレンジ要求を接続要求部(23)に渡す(S617)。接続要求部(23)は、S617で受取ったチャレンジ要求からチャレンジコードを取り出し、HASH計算部(24)に渡す(S618)。
HASH計算部(24)は、スレーブ鍵格納部(22)から格納されている認証鍵を取り出し(S619)、S618で受取ったチャレンジコードとS619で受取った認証鍵を入力としてHASH値を計算し、得られたHASH値を接続要求部(23)に渡す(S620)。
接続要求部(23)は、識別情報格納部(21)から格納されている識別情報を取り出し(S621)、HASH計算部(24)から渡されたHASH値とS621で取り出した識別情報を含むレスポンスを生成し、ネットワーク送受信部(25)に渡す(S622)。
ネットワーク送受信部(25)は、S622で受取ったレスポンスをデータとして含む通信用フレームを生成し、マスタ機器宛に送信する(603)。
【0047】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)からレスポンスを含む通信用フレームを受信すると、レスポンスを接続要求検証部(16)に渡す(S623)。
接続要求検証部(16)はレスポンスに含まれている識別情報を取り出し、識別情報保持部(13)に保持する(S624)。
接続要求検証部(16)は、取り出した識別情報をスレーブ鍵生成部(15)に渡す(S625)。
スレーブ鍵生成部(15)は、マスタ鍵格納部(14)から格納している認証鍵を受取り(S626)、S625で受取った識別情報とS626で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をHASH計算部(12)へ渡す(S627)。
HASH計算部(12)は、S615で受取ったチャレンジコードとS627で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を接続要求検証部(16)に渡す(S628)。
接続要求検証部(16)は、レスポンスに含まれているHASH値を取り出し、S628で受取ったHASH値を比較し、一致の場合は接続許可、不一致の場合は接続不許可と、ネットワーク送受信部(17)に応答する(S629)。
ネットワーク送受信部(17)は、S625で接続要求検証部(16)から得られた接続要求に対する応答を含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(604)。
マスタ機器(1)は、S629で接続許可と判定した場合、以降のスレーブ機器(2)からの要求に対し、識別情報保持部(13)に許可されている識別情報に対する操作のみを許容し、異なる識別情報のスレーブ機器に対する操作は許容しない。
S629で接続不許可と判定した場合は、スレーブ機器(2)からの要求を許可しない。
【0048】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部(23)に渡す(S630)。
【0049】
スレーブ機器(2)のスレーブ鍵格納部(22)に格納するスレーブ機器の認証鍵を生成する手順は、実施の形態1の場合と同様であり、図5に示す手順となる。
実施の形態1の場合と同様に、機器認証の開始に先立ち、S501で決定した認証鍵をマスタ機器(1)のマスタ鍵格納部(14)に格納し、S502で決定した識別情報をスレーブ機器(2)の識別情報格納部(21)に格納し、S504で決定した認証鍵をスレーブ機器(2)のスレーブ鍵格納部(22)に格納しておく。
【0050】
以上のように、スレーブ機器が識別情報を接続要求と同時にはマスタ機器へ通知せず、マスタ機器からのチャレンジに対するレスポンスを返す際に識別情報をマスタ機器へ通知するように構成しても、実施の形態1と同様の効果を得ることができる。
【0051】
実施の形態3.
実施の形態1と2では、機器認証後のスレーブ機器の識別は識別情報に因っていたが、スレーブ機器の詳細情報をプロファイルとして表し、プロファイルを検証することでスレーブ機器の識別判定を強化することが可能である。
【0052】
この実施の形態では、システム構成は、実施の形態1と同様に、図1の構成である。
【0053】
図7は、実施の形態3でのマスタ機器(1)の構成である。
図2に示した実施の形態1の構成要素に加え、マスタ機器(1)は、プロファイル格納部(18)とプロファイル検証部(19)を持つ。
プロファイル格納部(18)は、スレーブ機器(2)の識別情報と対応付けて各スレーブ機器(2)のプロファイルを記憶する。
プロファイルは検証情報の例であり、プロファイル格納部(18)は検証情報記憶部の例である。
また、本実施の形態では、プロファイル検証部(19)も接続許否判定部の例となる。
【0054】
図8は、実施の形態3でのスレーブ機器(2)の構成である。
図3に示した実施の形態1の構成要素に加え、スレーブ機器(2)は、プロファイル格納部(26)を持つ。
【0055】
スレーブ機器(2)のスレーブ鍵格納部(22)に格納するスレーブ機器のスレーブ鍵を生成する手順は、実施の形態1の場合と同様であり、図5に示す手順となる。
実施の形態1の場合と同様に、機器認証の開始に先立ち、スレーブ鍵生成部(15)は、S501で決定したマスタ鍵をマスタ機器(1)のマスタ鍵格納部(14)に格納し、S502で決定した識別情報をスレーブ機器(2)の識別情報格納部(21)に格納し、S504で決定したスレーブ鍵をスレーブ機器(2)のスレーブ鍵格納部(22)に格納しておく。
また、並行して、スレーブ鍵生成部(15)は、スレーブ機器の識別情報に対応させてプロファイル情報を生成し、スレーブ機器(2)のプロファイル格納部(26)には、スレーブ機器(2)の識別情報格納部(21)に格納されている識別情報に対応したプロファイルを格納する。
また、マスタ機器(1)のプロファイル格納部(18)には、スレーブ機器(2)のプロファイルが識別情報と対応付けられて複数格納される。
このように、マスタ機器(1)のプロファイル格納部(18)には、正当なスレーブ機器(2)に配布したプロファイルが識別情報と対応付けられて記憶される。
【0056】
図9及び図10は、スレーブ機器(2)がマスタ機器(1)に対して接続要求をした際に行う機器認証の動作を示している。
【0057】
スレーブ機器(2)は、識別情報格納部(21)から格納されている識別情報を取り出し、接続要求部(23)に渡す(S911)。
接続要求部(23)は、マスタ機器との接続要求を生成し、ネットワーク送受信部(25)に接続要求を渡す(S912)。
マスタ機器との接続要求には、識別情報格納部(21)から渡された識別情報が含まれている。
ネットワーク送受信部(25)は、接続要求部(23)から渡された接続要求をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(901)。
【0058】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)から接続要求を受取ると、接続要求を接続要求検証部(16)に渡す(S913)。
接続要求検証部(16)はS913で受取った接続要求に含まれている識別情報を識別情報保持領域に保持し(S914)、スレーブ鍵生成部(15)に渡す(S915)。
接続要求検証部(16)はさらに、チャレンジコード生成部(11)に対してチャレンジコードの生成を要求する(S916)。
チャレンジコード生成部(11)は、生成したチャレンジコードを接続要求検証部(16)、HASH計算部(12)へ渡す(S917、S918)。
接続要求検証部(16)は受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部(17)へ渡す(S919)。
マスタ機器(1)のスレーブ鍵生成部(15)は、マスタ鍵格納部(14)から格納している認証鍵を受取り(S920)、S915で受取った識別情報とS920で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をHASH計算部(12)へ渡す(S921)。
HASH計算部(12)は、S918で受取ったチャレンジコードとS921で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を接続要求検証部(16)に渡す(S922)。
ネットワーク送受信部(17)は、S919で受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(902)。
【0059】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)からチャレンジ要求を含む通信用フレームを受信すると、チャレンジ要求を接続要求部(23)に渡す(S923)。
接続要求部(23)は、S923で受取ったチャレンジ要求からチャレンジコードを取り出し、HASH計算部(24)に渡す(S924)。
HASH計算部(24)は、スレーブ鍵格納部(22)から格納されている認証鍵を取り出し(S925)、S924で受取ったチャレンジコードとS925で受取った認証鍵を入力としてHASH値を計算し、得られたHASH値を接続要求部(23)に渡す(S926)。
接続要求部(23)は、HASH計算部(24)から渡されたHASH値を含むレスポンスを生成し、ネットワーク送受信部(25)に渡す(S927)。
ネットワーク送受信部(25)は、S927で受取ったレスポンスをデータとして含む通信用フレームを生成し、マスタ機器宛に送信する(903)。
【0060】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)からレスポンスを含む通信用フレームを受信すると、レスポンスを接続要求検証部(16)に渡す(S928)。
接続要求検証部(16)はレスポンスに含まれているHASH値を取り出し、S922で受取ったHASH値と比較し、一致の場合は接続許可、不一致の場合は接続不許可と判定し、接続許可と判定した場合、プロファイルの送信を要求するプロファイル要求(検証情報要求)を生成し、ネットワーク送受信部(17)に渡す(S929)。
ネットワーク送受信部(17)は、S929で受取ったプロファイル要求をデータとして含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(904)。
【0061】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)からプロファイル要求を含む通信用フレームを受信すると、プロファイル要求を取り出し、接続要求部(23)に渡す(S930)。
接続要求部(23)は、プロファイル格納部(26)からプロファイルを取り出し(S931)、取り出したプロファイルを含むプロファイル応答を生成し、ネットワーク送受信部(25)に渡す(S926)。
ネットワーク送受信部(25)は受取ったプロファイル応答をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(905)。
【0062】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)からプロファイル応答を含む通信用フレームを受信すると、受信したプロファイル応答を、プロファイル検証部(19)に渡す(S931)。
プロファイル検証部(19)は、プロファイル格納部(18)から識別情報保持部(13)に対応するプロファイルを取り出し(S932)、S931で受取ったプロファイルとS932で受取ったプロファイルを比較し、一致の場合は接続許可、不一致の場合は接続不許可と、ネットワーク送受信部(17)に応答する(S933)。
ネットワーク送受信部(17)は、S933でプロファイル検証部(19)から得られた接続要求に対する応答を含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(906)。
マスタ機器(1)は、S933で接続許可と判定した場合、以降のスレーブ機器(2)からの要求に対し、プロファイル検証部(19)で検証に使用したプロファイルに対して許可されている操作のみを許容し、それ以外の操作は許容しない。
【0063】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部(23)に渡す(S934)。
【0064】
以上のように、機器認証に続いて機器の詳細情報を表すプロファイルを検証するようにすることで、スレーブ機器の識別判定を強化することが可能である。
【0065】
本実施の形態では、認証を行うマスタ機器が、認証鍵とスレーブ鍵生成機能を持ち、認証を受けるスレーブ機器が認証鍵と識別情報を持つことを説明した。
また、スレーブ機器がマスタ機器に認証を行う際に、識別情報をマスタ機器に送付し、マスタ機器は識別情報とマスタ機器が持つ認証鍵とスレーブ鍵生成機能からスレーブ機器が持つ認証鍵を生成することで、マスタ機器とスレーブ機器が認証鍵を共有することを説明した。
更に、認証後に機器の詳細情報を記述したプロファイルの確認を行うことを説明した。
【0066】
実施の形態4.
本実施の形態は、実施の形態2に、スレーブ機器の詳細情報を表すプロファイルの検証を追加することで、スレーブ機器が識別情報を接続要求とは別にマスタ機器へ通知する場合に、スレーブ機器の識別判定を強化した形態である。
【0067】
本実施の形態における構成は、実施の形態3で実施の形態1の構成に追加した構成を、実施の形態2で示した構成に追加した構成とする。
本実施の形態における手順は、実施の形態3で実施の形態1から変更した手順を、実施の形態2の手順から変更した手順とする。
以上のように、スレーブ機器が識別情報を接続要求と同時にはマスタ機器へ通知せず、マスタ機器からのチャレンジに対するレスポンスを返す際に識別情報をマスタ機器へ通知するように構成した場合でも、実施の形態3と同様の効果を得ることができる。
【0068】
実施の形態5.
以上の実施の形態では、マスタ機器(1)が認証機器となり、被認証機器であるスレーブ機器(2)からの接続要求に対して機器認証を行う場合であった。
次に、スレーブ機器(2)が、他のスレーブ機器に対して接続要求した場合に、接続要求を受けたスレーブ機器(2)が認証機器であるマスタ機器(1)を利用して、接続要求を行ったスレーブ機器の認証を行う形態を示す。
【0069】
図11は実施の形態5におけるシステム構成例を示す。
本実施の形態に係るシステムでは、1つのマスタ機器(1)とスレーブ機器(2M、2S)から構成され、マスタ機器(1)とスレーブ機器(2M、2S)はネットワーク(3)によって接続されている。
スレーブ機器は、他のスレーブ機器からの接続要求に対して認証を行うスレーブ機器(2M)と、他のスレーブ機器に対して接続要求を行い、被認証機器となるスレーブ機器(2S)がある。
スレーブ機器(2M、2S)は、それぞれ2台以上あってもよい。
以降では、他のスレーブ機器からの接続要求に対して認証を行うスレーブ機器(2M)をスレーブ認証機器、他のスレーブ機器に対して接続要求を行い、被認証機器となるスレーブ機器(2S)をスレーブ被認証機器と呼ぶこととする。
なお、スレーブ機器(2M)、すなわちスレーブ認証機器が第1の通信装置の例であり、スレーブ機器(2S)、すなわちスレーブ被認証機器が第2の通信装置の例である。
【0070】
図12は、本実施の形態に係るマスタ機器(1)の構成例を示す。
図12は、実施の形態1のマスタ機器(1)の構成を示した図2に、チャレンジコード保持部(1101)と代理認証処理部(1102)を追加した構成となっている。
【0071】
チャレンジコード保持部(1101)は、チャレンジコード生成部(11)で生成した乱数を、一時的に保持しておくための記憶領域である。
代理認証処理部(1102)は、代理認証要求を処理するための機能である。
本実施の形態では、代理認証処理部(1102)も接続許否判定部の例となる。
【0072】
図12において11〜17で示した構成要素は、図1と同じであるが、HASH計算部(12)及びスレーブ鍵生成部(15)は、図1と異なる役割を有する。
本実施の形態では、スレーブ鍵生成部(15)は、スレーブ機器(2M)によるマスタ機器(1)の認証を可能とするために、スレーブ機器(2M)の識別情報とマスタ鍵から、スレーブ機器(2M)が保有しているスレーブ鍵(保有鍵)と同じ鍵を生成する。この鍵は被照合値用鍵に相当する。
本実施の形態では、スレーブ鍵生成部(15)は被照合値用鍵生成部の例でもある。
また、HASH計算部(12)は、スレーブ機器(2M)において照合されるHASH値(被照合値)をチャレンジコードとスレーブ鍵生成部(15)により生成された鍵(被照合値用鍵)から生成する。
本実施の形態では、スレーブ機器(2M)は、保有しているスレーブ鍵(保有鍵)とチャレンジコードからHASH値(照合値)を生成し、HASH計算部(12)が生成したHASH値(被照合値)と照合し、マスタ機器(1)の認証を行う。
HASH計算部(12)は、被照合値生成部の例である。
【0073】
図13は、他のスレーブ機器からの接続要求に対して認証を行うスレーブ機器であるスレーブ認証機器(2M)の構成例を示す。
図13は、実施の形態2のスレーブ機器(2)の構成を示した図3に、認証機器検証部(1201)を追加した構成となっている。21〜25で示した構成要素は、図3と同じである。
認証機器検証部(1201)は、認証を依頼するマスタ機器(1)を検証するための機能である。詳細は動作の中で説明する。
【0074】
他のスレーブ機器に対して接続要求を行い被認証機器となるスレーブ被認証機器(2S)の構成は、実施の形態1におけるスレーブ機器(2)の構成を示した図3と同じである。
【0075】
次に、図18のフローチャートを用いて、本実施の形態に係る代理認証動作の概要を説明する。
図18は、スレーブ認証機器(2M)に代わってスレーブ被認証機器(2S)の機器認証を行う際のマスタ機器(1)が動作の概要を示すフローチャートである。
つまり、本実施の形態では、スレーブ被認証機器(2S)がスレーブ認証機器(2M)に接続要求を送信し、接続要求を受けたスレーブ認証機器(2M)がマスタ機器(1)にスレーブ被認証機器(2S)の認証を要求し、マスタ機器(1)がスレーブ認証機器(2M)に代わってスレーブ被認証機器(2S)の機器認証を行う。
【0076】
マスタ機器(1)では、まず、ネットワーク送受信部(17)がスレーブ認証機器(2M)から送信された代理認証要求を受信する(S1801)(通信ステップ)。
代理認証要求には、スレーブ認証機器(2M)の識別情報が含まれている。
次に、チャレンジコード生成部(11)が、チャレンジコードを生成する(S1802)(チャレンジ値生成ステップ)。
次に、スレーブ鍵生成部(15)が、マスタ鍵格納部(14)のマスタ鍵と、代理認証要求に含まれているスレーブ認証機器(2M)の識別情報からスレーブ鍵(被照合値用鍵)を生成する(S1803)。
このスレーブ鍵は、スレーブ認証機器(2M)の保有しているスレーブ鍵(保有鍵)と一致する。
次に、HASH計算部(12)が、S1802で生成されたチャレンジコードとS1803で生成されたスレーブ鍵を入力としてHASH値(被照合値)を計算する(S1804)。
次に、ネットワーク送受信部(17)が、S1802で生成されたチャレンジコードとS1804で生成されたHASH値をスレーブ認証機器(2M)に送信する(S1805)。
【0077】
次に、スレーブ認証機器(2M)においてS1805で送信したチャレンジコードとスレーブ認証機器(2M)が保有するスレーブ鍵(保有鍵)から導出したHASH値とS1805で送信したHASH値が一致すると判断された場合、スレーブ認証機器(2M)から当該チャレンジコードがスレーブ被認証機器(2S)に送信される。
そして、スレーブ被認証機器(2S)では、保有しているスレーブ鍵と当該チャレンジコードに対するHASH値が算出され、算出されたHASH値がスレーブ認証機器(2M)に送信される。
【0078】
スレーブ認証機器(2M)は、スレーブ被認証機器(2S)からのHASH値とスレーブ被認証機器(2S)の識別情報が含まれる代理要求をマスタ機器(1)に送信する。
【0079】
マスタ機器(1)では、ネットワーク送受信部(17)が、再度代理認証要求を受信する(S1806)(通信ステップ)。
前述したように、この代理認証要求には、スレーブ被認証機器(2S)の識別情報と、チャレンジコードに対するスレーブ被認証機器(2S)のレスポンス値であるHASH値が含まれている。
次に、スレーブ鍵生成部(15)が、マスタ鍵格納部(14)のマスタ鍵と、代理認証要求に含まれているスレーブ被認証機器(2S)の識別情報からスレーブ鍵(認証鍵)を生成する(S1807)(認証鍵生成ステップ)。
このスレーブ鍵(認証鍵)は、スレーブ被認証機器(2S)が正当なスレーブ機器であればスレーブ被認証機器(2S)が保有しているはずのスレーブ鍵と一致する。
次に、HASH計算部(12)が、S1802で生成されたチャレンジコードとS1807で生成されたスレーブ鍵を入力としてHASH値を計算する(S1808)(照合レスポンス値生成ステップ)。
次に、代理認証処理部(1102)が、S1806で受信した代理認証要求に含まれるHASH値とS1808で生成されたHASH値を比較する(S1809)(接続許否判定ステップ)。
比較の結果、HASH値が一致した場合(S1810でYES)は、代理認証処理部(1102)はスレーブ認証機器(2M)とスレーブ被認証機器(2S)との接続を許可する(S1811)(接続許否判定ステップ)。
一方、HASH値が一致しない場合(S1810でNO)は、代理認証処理部(1102)はスレーブ認証機器(2M)とスレーブ被認証機器(2S)との接続を許可しない(S1812)(接続許否判定ステップ)。
最後に、ネットワーク送受信部(17)は、接続許否判定の判定結果を示す応答をスレーブ認証機器(2M)に送信する(S1813)。
【0080】
次に、図14、図15、図16を参照して、本実施の形態に係る代理認証動作におけるマスタ機器(1)、スレーブ認証機器(2M)及びスレーブ被認証機器(2S)の動作を詳細に説明する。
図14、図15、図16は、スレーブ被認証機器(2S)がスレーブ認証機器(2M)に対して接続要求をした際に行う機器認証の動作を示している。
【0081】
スレーブ被認証機器(2S)の接続要求部(23)は、スレーブ認証機器との接続要求を生成し、ネットワーク送受信部(25)に接続要求を渡す(S1301)。
ネットワーク送受信部(25)は、接続要求部(23)から渡された接続要求をデータとして含む通信用フレームを生成し、スレーブ認証機器(2M)宛に送信する(1301)。
【0082】
スレーブ認証機器(2M)のネットワーク送受信部(25)は、スレーブ被認証機器(2S)から接続要求を含む通信用フレームを受信すると、認証機器検証部(1201)に接続要求を渡す(S1302)。
認証機器検証部(1201)は、識別情報格納部(21)に格納されている識別情報を取り出し(S1303)、取り出した識別情報を含む代理認証接続要求を生成し、ネットワーク送受信部(25)に渡す(S1304)。
ネットワーク送受信部(25)は、認証機器検証部(1201)から渡された代理認証接続要求をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(1302)。
【0083】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ認証機器(2M)から代理認証接続要求を含む通信用フレームを受信すると、代理認証処理部(1102)に代理認証接続要求を渡す(S1305)。
代理認証処理部(1102)は、S1305で受取った代理認証接続要求に含まれている識別情報をスレーブ鍵生成部(15)に渡す(S1306)。
代理認証処理部(1102)は、チャレンジコード生成部(11)に対してチャレンジコードの生成を要求する(S1307)。
チャレンジコード生成部(11)は、生成したチャレンジコードを代理認証処理部(1102)とHASH計算部(12)へ渡し(S1308、S1309)、チャレンジコード保持部(1101)に保持する(S131)。
S1306で識別情報を受取ったスレーブ鍵生成部(15)は、マスタ鍵格納部(14)から格納している認証鍵を受取り(S1311)、S1306で受取った識別情報とS1311で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をHASH計算部(12)へ渡す(S1312)。
HASH計算部(12)は、S1309で受取ったチャレンジコードとS1312で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を代理認証処理部(1102)に渡す(S1313)。
代理認証処理部(1102)は、受取ったチャレンジコードとHASH値をデータとして含む代理認証チャレンジ要求を生成し、ネットワーク送受信部(17)に渡す(S1314)。
ネットワーク送受信部(17)は、S1314で受取った代理認証チャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器(2M)宛に送信する(1303)。
【0084】
スレーブ認証機器(2M)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)から代理認証チャレンジ要求を含む通信用フレームを受信すると、受信した代理認証チャレンジ要求を認証機器検証部(1201)に渡す(S1315)。
認証機器検証部(1201)は、S1315で受取ったチャレンジ要求からチャレンジコードを取り出し、HASH計算部(24)に渡す(S1316)。
HASH計算部(24)は、スレーブ鍵格納部(22)から認証鍵を取り出し(S1317)、S1316で受取ったチャレンジコードとS1317で受取った認証鍵を入力としてHASH値を計算し、得られたHASH値を認証機器検証部(1201)に渡す(S1318)。
認証機器検証部(1201)は、S1315で受取ったHASH値とS1318で受取ったHASH値が一致した場合には、マスタ機器は信頼できると判断し、代理認証処理を継続する。
HASH値が一致した場合には、S1315で受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部(25)に渡す(S1319)。
ネットワーク送受信部(25)は、受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ被認証機器(2S)宛に送信する(1304)。
【0085】
スレーブ被認証機器(2S)のネットワーク送受信部(25)は、スレーブ認証機器(2M)のネットワーク送受信部(25)からチャレンジ要求を含む通信用フレームを受信すると、チャレンジ要求を接続要求部(23)に渡す(S1320)。
接続要求部(23)は、S1320で受取ったチャレンジ要求からチャレンジコードを取り出し、HASH計算部(24)に渡す(S1321)。
HASH計算部(24)は、スレーブ鍵格納部(22)から格納されている認証鍵を取り出し(S1322)、S1321で受取ったチャレンジコードとS1322で受取った認証鍵を入力としてHASH値を計算し、得られたHASH値を接続要求部(23)に渡す(S1323)。
接続要求部(23)は、識別情報格納部(21)から格納されている識別情報を取り出し(S1324)、S1323で受取ったHASH値とS1324で受取った識別情報を含むレスポンスを生成し、ネットワーク送受信部(25)に渡す(S1325)。ネットワーク送受信部(25)は、S1325で受取ったレスポンスをデータとして含む通信用フレームを生成し、スレーブ認証機器(2M)宛に送信する(1305)。
【0086】
スレーブ認証機器(2M)のネットワーク送受信部(25)は、スレーブ被認証機器(2S)からレスポンスを含む通信用フレームを受信すると、認証機器検証部(1201)にレスポンスを渡す(S1326)。
認証機器検証部(1201)は、レスポンスから識別情報を取り出し、識別情報格納部(21)に格納する(S1327)。
認証機器検証部(1201)は、レスポンスからHASH値を取り出し、取り出した識別情報とHASH値を含む代理認証要求を生成し、ネットワーク送受信部(25)に渡す(S1328)。
ネットワーク送受信部(25)は、認証機器検証部(1201)から渡された代理認証要求をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(1306)。
【0087】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2M)から代理認証要求を含む通信用フレームを受信すると、代理認証処理部(1102)に渡す(S1329)。
代理認証処理部(1102)は、代理認証要求から識別情報を取り出し、スレーブ鍵生成部(15)に渡す(S1330)。
スレーブ鍵生成部(15)は、マスタ鍵格納部(14)から格納している認証鍵を受取り(S1331)、S1330で受取った識別情報とS1331で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をHASH計算部(12)へ渡す(S1332)。
HASH計算部(12)は、チャレンジコード保持部(1101)からチャレンジコードを取り出し(S1333)、取り出したチャレンジコードとS1332で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を代理認証処理部(1102)に渡す(S1334)。
代理認証処理部(1102)は、代理認証要求からHASH値を取り出し、取り出したHASH値とS1334で受取ったHASH値を比較する。
比較結果が、一致の場合は接続許可、不一致の場合は接続不許可とする代理認証応答を生成し、ネットワーク送受信部(17)に渡す(S1335)。
ネットワーク送受信部(17)は、S1335で受取った代理認証応答をデータとして含む通信用フレームを生成し、スレーブ認証機器(2M)宛に送信する(1307)。
【0088】
スレーブ認証機器(2M)のネットワーク送受信部(25)は、マスタ機器(1)から代理認証応答を含む通信用フレームを受信すると、認証機器検証部(1201)に代理認証応答を渡す(S1336)。
認証機器検証部(1201)は、代理認証応答の内容が接続許可であった場合は、接続許可とする接続応答を生成し、ネットワーク送受信部(25)に渡す(S1337)。
ネットワーク送受信部(25)は、認証機器検証部(1201)から渡された接続応答をデータとして含む通信用フレームを生成し、スレーブ被認証機器(2S)宛に送信する(1308)。
【0089】
スレーブ被認証機器(2S)のネットワーク送受信部(25)は、スレーブ認証機器(2M)のネットワーク送受信部(17)から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部(23)に渡す(S1338)。
【0090】
スレーブ認証機器(2M)およびスレーブ被認証機器(2S)のスレーブ鍵格納部(22)に格納する認証鍵を生成する手順は、実施の形態1の場合と同様であり、図5に示す手順となる。
実施の形態1の場合と同様に、機器認証の開始に先立ち、S501で決定した認証鍵をマスタ機器(1)のマスタ鍵格納部(14)に格納し、S502で決定した識別情報をスレーブ認証機器(2M)およびスレーブ被認証機器(2S)の識別情報格納部(21)に格納し、S504で決定した認証鍵をスレーブ認証機器(2M)およびスレーブ被認証機器(2S)のスレーブ鍵格納部(22)に格納しておく。
【0091】
以上のように、スレーブ認証機器とスレーブ被認証機器が異なる認証鍵(スレーブ鍵)をもち、スレーブ被認証機器からの接続要求を受取ったスレーブ認証機器が、代理認証を要求するマスタ機器が信頼できるか確認した上で、マスタ機器が代理でスレーブ被認証機器を認証するように構成しているため、スレーブ鍵生成機能を持たないスレーブ認証機器が、スレーブ被認証機器からの接続要求を受取っても、接続要求の可否が判定できるようになる。
また、スレーブ認証機器またはスレーブ被認証機器から認証鍵(スレーブ鍵)が漏洩した場合でも、異なる識別情報のスレーブ機器であることを詐称する模造品がマスタ機器に接続することを防ぐことができる。
また、スレーブ認証機器とスレーブ被認証機器が異なる認証鍵(スレーブ鍵)を格納していても、マスタ機器は1つの認証鍵を格納するだけで、異なる認証鍵を持つ複数のスレーブ機器に対する認証動作を行うことができる。
【0092】
以上、本実施の形態では、接続要求を受取るスレーブ機器Aが認証鍵Aと識別情報Aを持ち、接続要求を行うスレーブ機器Bが認証鍵Bと識別情報Bを持ち、代理で認証を行うマスタ機器が、認証鍵Cとスレーブ鍵生成機能を持ち、スレーブ機器Aが識別情報Aをマスタ機器に送付し、マスタ機器は識別情報Aとマスタ機器が持つ認証鍵Cとスレーブ鍵生成機能からスレーブ機器Aが持つ認証鍵Aを生成することでマスタ機器とスレーブ機器Aが認証鍵を共有することを説明した。
これにより、スレーブ機器Aは、マスタ機器に代理認証を依頼できることを確認する。
その後、スレーブ機器Aはスレーブ機器Bの識別情報Bをマスタ機器に送付し、マスタ機器は識別情報Bとマスタ機器が持つ認証鍵Cとスレーブ鍵生成機能からスレーブ機器Bが持つ認証鍵Bを生成することでマスタ機器とスレーブ機器Bが認証鍵を共有することを説明した。
【0093】
実施の形態6.
本実施の形態では、実施の形態5で示した構成及び動作に加え、実施の形態3で実施の形態1に追加した構成及び動作を行うことで、認証後にプロファイルの検証を行う。
このようにすることで、スレーブ機器間でも、実施の形態3と同様の効果を得ることができる。
【0094】
最後に、実施の形態1〜6に示したマスタ機器(1)のハードウェア構成例について説明する。
図19は、実施の形態1〜6に示すマスタ機器(1)のハードウェア資源の一例を示す図である。
なお、図19の構成は、あくまでもマスタ機器(1)のハードウェア構成の一例を示すものであり、マスタ機器(1)のハードウェア構成は図19に記載の構成に限らず、他の構成であってもよい。
【0095】
図19において、マスタ機器(1)は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
実施の形態1〜6で説明した「〜格納部」及び「〜保持部」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
【0096】
通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていても構わない。
【0097】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0098】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0099】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
マスタ機器(1)の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0100】
上記プログラム群923には、実施の形態1〜6の説明において「〜部」(「「〜格納部」及び「〜保持部」」以外、以下同様)として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0101】
ファイル群924には、実施の形態1〜6の説明において、「〜の判断」、「〜の計算」、「〜の演算」、「〜の算出」、「〜の比較」、「〜の照合」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜6で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0102】
また、実施の形態1〜6の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態1〜6で説明したフローチャートに示すステップ、手順、処理により、本発明に係る認証方法を実現することができる。
また、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜6の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜6の「〜部」の手順や方法をコンピュータに実行させるものである。
【0103】
このように、実施の形態1〜6に示すマスタ機器(1)は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【0104】
1 マスタ機器、2 スレーブ機器、3 ネットワーク、11 チャレンジコード生成部、12 HASH計算部、13 識別情報保持部、14 マスタ鍵格納部、15 スレーブ鍵生成部、16 接続要求検証部、17 ネットワーク送受信部、18 プロファイル格納部、19 プロファイル検証部、21 識別情報格納部、22 スレーブ鍵格納部、23 接続要求部、24 HASH計算部、25 ネットワーク送受信部、26 プロファイル格納部、1101 チャレンジコード保持部、1102 代理認証処理部、1201 認証機器検証部。
【技術分野】
【0001】
本発明は、機器認証技術に関する。
【背景技術】
【0002】
模造品に対する対策は、正規品の製造業者にとって、潜在的市場の喪失、ブランドイメージの低下、製造物責任といった観点から必要不可欠となっている。
模造品対策の一つとして、機器認証がある。
機器認証のために一般的に用いられる方式として、チャレンジ・レスポンス方式がある。
チャレンジ・レスポンス方式では、認証機器と被認証機器であらかじめ認証鍵を共有しておき、同一の認証用演算アルゴリズムを用いて認証を行う。
ここでは認証機器をマスタ機器、被認証機器をスレーブ機器として手順を説明する。
【0003】
スレーブ機器は、マスタ機器に対して接続要求を出す。
マスタ機器は、チャレンジ用の乱数を生成し、スレーブ機器へ送付する。
スレーブ機器は、チャレンジ用の乱数と認証鍵を認証用演算アルゴリズムの入力とし、得られた出力をレスポンスとしてマスタ機器へ送付する。
マスタ機器は、チャレンジ用の乱数と認証鍵を認証用演算アルゴリズムの入力として得られた出力を、スレーブ機器から受取ったレスポンスと比較し、一致したら認証成功とし、スレーブ機器が正規品であると判断する。
この認証方式では、認証に使用する認証鍵を第三者、例えば模造品製造者が知りえないという点に依存している。
【0004】
チャレンジ・レスポンス方式を機器認証に用いる方法として、特許文献1の方法が提案されている。
認証機器の回路規模抑制のために、チャレンジ用乱数の生成機能と共有する認証鍵をサーバに置き、認証機器は、サーバから受取ったレスポンスと被認証機器から受取ったレスポンスの比較のみを行うように構成している。
特許文献1の方法では、認証機器上に認証鍵を配置していないが、サーバと被認証機器では同一の認証鍵を使用している。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−195155号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
チャレンジ・レスポンス方式を認証に用いた場合、認証機器と被認証機器であらかじめ認証鍵を共有しておく必要がある。
認証鍵が漏洩した場合、同一の認証鍵を持つように模造品を構成することが可能となり、認証機能が機能しなくなってしまう。
そのため、認証機器と被認証機器のそれぞれで、認証鍵を安全に保持することが必要である。
特許文献1では、被認証機器は1種類であり、認証鍵を安全に保持する仕組みとして全ての被認証機器に同一の方式を採用することは容易であると考えられる。
しかしながら、被認証機器が多様な場合、認証鍵を安全に保持する仕組みとして、一様な方式を採用することは困難である。
例えば、ファクトリーオートメーションシステムでは、非常に簡易な演算装置により実現されている単機能低価格の機器から、ある程度高度な演算装置により実現されている機器まで様々である。
また、組込み機器として実現されている機器から、汎用パソコン上でソフトウェアとして実現されている機器まで、耐タンパの観点からの強弱も様々である。
機器認証後に動作する、機器毎に実現している機器本来の機能が異なったとしても、全ての機器が一つの認証鍵を共有した場合、耐タンパ性の低い機器から認証鍵が漏洩すると、他の全ての機器認証が意味をなさなくなるという課題がある。
一方で、被認証機器の機能や実現形態毎に異なる認証鍵を持つように構成した場合、特に認証機器が組込み機器であり情報格納用のメモリ領域が限られている場合、認証機器は全ての認証鍵を持つことは困難であるという課題がある。
【0007】
この発明は上記のような課題を解決することを主な目的としており、共有する認証鍵が漏洩した場合の影響範囲を限定すると共に、情報格納領域が限定されている認証機器においても実現可能な認証方式を提供することを主な目的とする。
【課題を解決するための手段】
【0008】
本発明に係る認証装置は、
マスタ鍵を記憶しているマスタ鍵記憶部と、
いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信部と、
前記通信部により前記接続要求が受信された際に、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成部と、
前記通信部により受信された前記接続要求通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成部と、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成部と、
前記通信部により受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定部とを有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、通信装置ごとに設定されている識別情報とマスタ鍵から認証対象の通信装置の認証鍵を生成して認証を行うため、ある通信装置が保有している鍵が漏洩した場合でも、模造品が他の通信装置と詐称して認証装置に接続することを防ぐことができる。
また、認証装置は1つのマスタ鍵から複数の通信装置に対する複数の認証鍵を生成することができ、情報格納領域が限定されている認証装置においても複数の通信装置の認証を行うことができる。
【図面の簡単な説明】
【0010】
【図1】実施の形態1に係るシステム構成例を示す図。
【図2】実施の形態1に係るマスタ機器の構成例を示す図。
【図3】実施の形態1に係るスレーブ機器の構成例を示す図。
【図4】実施の形態1に係る機器認証動作を示す図。
【図5】実施の形態1に係るスレーブ鍵の生成動作を示すフローチャート図。
【図6】実施の形態2に係る機器認証動作を示す図。
【図7】実施の形態3に係るマスタ機器の構成例を示す図。
【図8】実施の形態3に係るスレーブ機器の構成例を示す図。
【図9】実施の形態3に係る機器認証動作を示す図。
【図10】実施の形態3に係る機器認証動作を示す図。
【図11】実施の形態5に係るシステム構成例を示す図。
【図12】実施の形態5に係るマスタ機器の構成例を示す図。
【図13】実施の形態5に係るスレーブ機器の構成例を示す図。
【図14】実施の形態5に係る機器認証動作を示す図。
【図15】実施の形態5に係る機器認証動作を示す図。
【図16】実施の形態5に係る機器認証動作を示す図。
【図17】実施の形態1に係る機器認証動作を示すフローチャート図。
【図18】実施の形態5に係る機器認証動作を示すフローチャート図。
【図19】実施の形態1〜6に係るマスタ機器のハードウェア構成例を示す図。
【発明を実施するための形態】
【0011】
実施の形態1.
図1は、本実施の形態1におけるシステム構成例を示す。
本実施の形態に係るシステムでは、1つのマスタ機器(1)と2つのスレーブ機器(2)から構成され、マスタ機器(1)とスレーブ機器(2)はネットワーク(3)によって接続されている。
スレーブ機器は、3台以上あってもよい。
マスタ機器(1)は認証装置の例であり、スレーブ機器(2)は通信装置の例である。
【0012】
図2は、マスタ機器(1)の構成例を示す。
マスタ機器(1)は、チャレンジコード生成部(11)、HASH計算部(12)、識別情報保持部(13)、マスタ鍵格納部(14)、スレーブ鍵生成部(15)、接続要求検証部(16)、ネットワーク送受信部(17)を持つ。
【0013】
チャレンジコード生成部(11)は、機器認証に使用する乱数であるチャレンジコード(チャレンジ値ともいう)を生成する機能である。
チャレンジコード生成部(11)は、チャレンジ値生成部の例である。
【0014】
HASH計算部(12)は、認証鍵とチャレンジコードを入力としてHASH値を出力する、一方向性を有するHASH計算論理を演算する機能である。
HASH計算部(12)が生成するHASH値は、スレーブ機器から送信されたレスポンス値の照合に用いる。
HASH計算部(12)は、照合レスポンス値生成部の例である。
【0015】
識別情報保持部(13)は、スレーブ機器(2)から得た識別情報を、一時的に保持しておくための記憶領域である。
【0016】
マスタ鍵格納部(14)は、マスタ機器(1)が機器認証に使用するマスタ鍵をあらかじめ格納しておくために使用する記憶領域である。
マスタ鍵格納部(14)は、マスタ鍵記憶部の例である。
【0017】
スレーブ鍵生成部(15)は、スレーブ機器(2)から得た情報を入力としてスレーブ機器(2)の認証に使用するスレーブ鍵を出力する計算論理を演算する機能である。
より具体的には、スレーブ鍵生成部(15)は、スレーブ機器(2)の識別情報とマスタ鍵格納部(14)のマスタ鍵とに基づき、スレーブ機器の認証に使用するスレーブ鍵を生成する。
スレーブ鍵生成部(15)は、認証鍵生成部の例である。
【0018】
接続要求検証部(16)は、2つのHASH値を入力とし、入力が一致するか否かで接続要求の可否を決定し、接続要求に対する応答を生成する機能である。
入力とする2つのHASH値はそれぞれ、マスタ機器(1)のHASH計算部(12)が生成した値と、スレーブ機器(2)が生成しマスタ機器(1)に送付した値である。
つまり、接続要求検証部(16)は、スレーブ機器(2)から受信したレスポンス値(HASH値)とHASH計算部(12)により生成されたレスポンス値(HASH値)とを照合し、接続要求のあったスレーブ機器(2)との接続を許可するかどうかを決定する。
接続要求検証部(16)は、接続許否判定部の例である。
【0019】
ネットワーク送受信部(17)は、ネットワーク(3)を介してスレーブ機器(2)と通信を行うための機能である。
より具体的には、ネットワーク送受信部(17)は、いずれかのスレーブ機器(2)から接続要求を受信し、接続要求の送信元であるスレーブ機器(2)(接続要求通信装置)の識別情報を受信し、接続要求に対して生成されたチャレンジ値を当該スレーブ機器(2)に送信し、当該スレーブ機器(2)からチャレンジ値に対するレスポンス値を受信する。
ネットワーク送受信部(17)は、通信部の例である。
【0020】
図3は、被認証機器であるスレーブ機器(2)の構成例を示す。
スレーブ機器(2)は、識別情報格納部(21)、スレーブ鍵格納部(22)、接続要求部(23)、HASH計算部(24)、ネットワーク送受信部(25)を持つ。
【0021】
識別情報格納部(21)は、スレーブ機器識別用の識別情報をあらかじめ格納しておくために使用する記憶領域である。
識別情報格納部(21)に格納されているスレーブ機器識別用の識別情報は、異なる動作をするスレーブ機器には異なる値を割当てる。
【0022】
スレーブ鍵格納部(22)は、スレーブ機器(2)が機器認証に使用するスレーブ鍵をあらかじめ格納しておくために使用する記憶領域である。
【0023】
接続要求部(23)は、マスタ機器(1)に対する接続要求を生成し、接続要求に対するマスタ機器(1)からの応答を受取る機能である。
【0024】
HASH計算部(24)は、スレーブ鍵とチャレンジコードを入力としてHASH値を出力する、一方向性を有する計算論理を演算する機能である。
【0025】
ネットワーク送受信部(25)は、ネットワーク(3)を介してスレーブ機器(2)と通信を行うための機能である。
【0026】
図5は、スレーブ機器(2)のスレーブ鍵格納部(22)に格納するスレーブ鍵を生成する手順を示している。
なお、図5の手順により生成されるスレーブ鍵は、スレーブ機器(2)においてチャレンジコードに対するレスポンス値の生成に用いられる鍵であり、レスポンス用鍵の例である。
【0027】
まず、スレーブ鍵生成部(15)が、マスタ鍵格納部(14)に格納するマスタ鍵を決定する(S501)。
次に、スレーブ鍵生成部(15)が、スレーブ機器(2)を識別するための識別情報を決定する(S502)。
識別情報として、個々のスレーブ機器を特定することが可能な情報、あるいはスレーブ機器の種類を特定することが可能な情報、あるいはスレーブ機器の形名を特定することが可能な情報、あるいはスレーブ機器の版を特定することが可能な情報等を使用する。
S501で決定した認証鍵とS502で決定した識別情報を入力として、スレーブ鍵生成部(15)は演算式fを計算し(S503)、算出した値をS502で決定した識別情報を持つスレーブ機器のスレーブ鍵とする(S504)。
S503で使用する演算式fの一例は、入力値を連結した値にHASH計算論理を適用するという式である。
演算式fは、マスタ機器(1)のHASH計算部(12)とスレーブ機器(2)のHASH計算部(24)と同様に、一方向性を有するHASH計算論理である。
機器認証の開始に先立ち、スレーブ鍵生成部(15)が、S501で決定したマスタ鍵をマスタ機器(1)のマスタ鍵格納部(14)に格納し、S502で決定した識別情報をスレーブ機器(2)の識別情報格納部(21)に格納し、S504で決定した認証鍵をスレーブ機器(2)のスレーブ鍵格納部(22)に格納しておく。
スレーブ鍵格納部(22)へのスレーブ鍵の格納は、例えば、ネットワーク送受信部(17)によって該当するスレーブ機器(2)に送信するようにしてもよい。
なお、マスタ機器(1)では、スレーブ機器(2)のスレーブ鍵格納部(22)に格納したスレーブ鍵を記憶しない。
【0028】
次に、図17のフローチャートを用いて、本実施の形態に係る機器認証動作の概要を説明する。
図17は、スレーブ機器(2)の機器認証を行う際のマスタ機器(1)が動作の概要を示すフローチャートである。
なお、図17の処理は、図5の処理が終了した後の処理である。
【0029】
マスタ機器(1)では、まず、ネットワーク送受信部(17)がスレーブ機器(2)から送信された接続要求を受信する(S1701)(通信ステップ)。
接続要求には、接続要求送信元のスレーブ機器(2)の識別情報が含まれている。
次に、チャレンジコード生成部(11)が、接続要求送信元のスレーブ機器(2)の認証のためのチャレンジコードを生成する(S1702)(チャレンジ値生成ステップ)。
次に、スレーブ鍵生成部(15)が、マスタ鍵格納部(14)のマスタ鍵と、接続要求に含まれているスレーブ機器(2)の識別情報からスレーブ鍵(認証鍵)を生成する(S1703)(認証鍵生成ステップ)。
このスレーブ鍵(認証鍵)は、接続要求送信元のスレーブ機器(2)が正当なスレーブ機器(マスタ機器(1)との接続する権限のあるスレーブ機器)であれば保有しているはずのスレーブ鍵と一致する。
スレーブ鍵生成部(15)によるスレーブ鍵の生成は、図5のS503の演算式fと同様の演算を行う。つまり、スレーブ鍵生成部(15)は、スレーブ機器(2)に配布したスレーブ鍵(レスポンス用鍵)の生成アルゴリズムと同じアルゴリズムにより機器認証に用いるスレーブ鍵(認証鍵)を生成する。
次に、HASH計算部(12)が、S1702で生成されたチャレンジコードとS1703で生成されたスレーブ鍵を入力としてHASH値を計算する(S1704)(照合レスポンス値生成ステップ)。
このマスタ機器(1)のHASH計算部(12)によるHASH演算は、スレーブ機器(2)のHASH計算部(24)によるHASH演算と同じである。
つまり、HASH計算部(12)は、正当なスレーブ機器(2)がチャレンジコードに対するレスポンスの際に、配布されたスレーブ鍵(レスポンス用鍵)とチャレンジコードに対して用いるHASH演算アルゴリズムと同じHASH演算アルゴリズムでHASH値を算出する。
【0030】
次に、ネットワーク送受信部(17)が、S1702で生成されたチャレンジコードを接続要求送信元のスレーブ機器(2)に送信する(S1705)(通信ステップ)。
次に、ネットワーク送受信部(17)が、接続要求送信元のスレーブ機器(2)からレスポンスを受信する(S1706)(通信ステップ)。
次に、接続要求検証部(16)が、S1706で受信したレスポンスに含まれるHASH値(受信レスポンス値)とS1704で生成されたHASH値(照合レスポンス値)を比較する(S1707)(接続許否判定ステップ)。
比較の結果、HASH値が一致した場合(S1708でYES)は、接続要求検証部(16)は接続要求送信元のスレーブ機器(2)との接続を許可する(S1709)(接続許否判定ステップ)。
一方、HASH値が一致しない場合(S1708でNO)は、接続要求検証部(16)は接続要求送信元のスレーブ機器(2)との接続を許可しない(S1710)(接続許否判定ステップ)。
最後に、ネットワーク送受信部(17)は、接続許否判定の判定結果を示す応答を接続要求送信元のスレーブ機器(2)に送信する(S1711)。
【0031】
なお、S1702とS1703は順序が入れ替わってもよく、また、S1705はS1702の直後に実施されてもよい。
また、S1703とS1704は、S1706の後に実施されてもよい。
【0032】
次に、図4を参照して、本実施の形態に係る機器認証動作をより詳細に説明する。
図4は、機器認証におけるマスタ機器(1)とスレーブ機器(2)の動作例を示している。
なお、図4の処理は、図5の処理が終了した後の処理である。
【0033】
スレーブ機器(2)は、識別情報格納部(21)から格納されている識別情報を取り出し、接続要求部(23)に渡す(S411)。
接続要求部(23)は、マスタ機器(1)との接続要求を生成し、ネットワーク送受信部(25)に接続要求を渡す(S412)。
マスタ機器(1)との接続要求には、識別情報格納部(21)から渡された識別情報が含まれている。
ネットワーク送受信部(25)は、接続要求部(23)から渡された接続要求をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(401)。
【0034】
マスタ機器(1)では、ネットワーク送受信部(17)がスレーブ機器(2)から送信された接続要求を受信する。
そして、ネットワーク送受信部(17)は、接続要求を接続要求検証部(16)に渡す(S413)。
接続要求検証部(16)はS413で受取った接続要求に含まれている識別情報を識別情報保持部に保持し(S414)、スレーブ鍵生成部(15)に渡す(S415)。
接続要求検証部(16)はさらに、チャレンジコード生成部(11)に対してチャレンジコードの生成を要求する(S416)。
チャレンジコード生成部(11)は、接続要求検証部(16)からの要求に応じてチャレンジコードを生成する。
チャレンジコード生成部(11)は、生成したチャレンジコードを接続要求検証部(16)、HASH計算部(12)へ渡す(S417、S418)。
【0035】
接続要求検証部(16)は受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部(17)へ渡す(S419)。
マスタ機器(1)のスレーブ鍵生成部(15)は、マスタ鍵格納部(14)から格納しているマスタ鍵を受取り(S420)、S415で受取った識別情報とS420で受取ったマスタ鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をHASH計算部(12)へ渡す(S421)。
HASH計算部(12)は、S418で受取ったチャレンジコードとS421で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を接続要求検証部(16)に渡す(S422)。
ネットワーク送受信部(17)は、S419で受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(402)。
【0036】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)からチャレンジ要求を含む通信用フレームを受信すると、チャレンジ要求を接続要求部(23)に渡す(S423)。
接続要求部(23)は、S423で受取ったチャレンジ要求からチャレンジコードを取り出し、HASH計算部(24)に渡す(S424)。
HASH計算部(24)は、スレーブ鍵格納部(22)から格納されているスレーブ鍵を取り出し(S425)、S424で受取ったチャレンジコードとS425で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を接続要求部(23)に渡す(S426)。
接続要求部(23)は、HASH計算部(24)から渡されたHASH値を含むレスポンスを生成し、ネットワーク送受信部(25)に渡す(S427)。
ネットワーク送受信部(25)は、S427で受取ったレスポンスをデータとして含む通信用フレームを生成し、マスタ機器宛に送信する(403)。
【0037】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)からレスポンスを含む通信用フレームを受信すると、レスポンスを接続要求検証部(16)に渡す(S428)。
接続要求検証部(16)はレスポンスに含まれているHASH値を取り出し、S422で受取ったHASH値と比較し、一致の場合は接続許可、不一致の場合は接続不許可と、ネットワーク送受信部(17)に応答する(S429)。
ネットワーク送受信部(17)は、S429で接続要求検証部(16)から得られた接続要求に対する応答を含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(404)。
マスタ機器(1)は、S429で接続許可と判定した場合、以降のスレーブ機器(2)からの要求に対し、識別情報保持部(13)に許可されている識別情報に対する操作のみを許容し、異なる識別情報のスレーブ機器に対する操作は許容しない。
S429で接続不許可と判定した場合、スレーブ機器(2)からの要求は許可しない。
【0038】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部(23)に渡す(S430)。
【0039】
以上のように、スレーブ機器間では識別情報毎に異なる認証鍵(スレーブ鍵)を持つように構成し、機器認証後にマスタ機器は認証時にスレーブ機器が通知した識別情報に対する操作のみを許容するようにしているため、スレーブ機器から認証鍵(スレーブ鍵)が漏洩した場合でも、異なる識別情報のスレーブ機器であることを詐称する模造品がマスタ機器に接続することを防ぐことができる。
また、マスタ機器とスレーブ機器が異なる認証鍵(マスタ鍵、スレーブ鍵)を格納するように構成し、スレーブ機器間では識別情報毎に異なる認証鍵(スレーブ鍵)を持つように構成し、マスタ機器はスレーブ機器が通知する識別情報とマスタ機器が格納している認証鍵(マスタ鍵)を元にスレーブ機器用の認証鍵(スレーブ鍵)を生成するようにしているため、マスタ機器は1つの認証鍵(マスタ鍵)を格納するだけで、異なる認証鍵(スレーブ鍵)を持つ複数のスレーブ機器に対する認証動作を行うことができる。
【0040】
本実施の形態では、認証を行うマスタ機器が、認証鍵とスレーブ鍵生成機能を持ち、認証を受けるスレーブ機器が認証鍵と識別情報を持つことを説明した。
また、スレーブ機器がマスタ機器に認証を行う際に、識別情報をマスタ機器に送付し、マスタ機器は識別情報とマスタ機器が持つ認証鍵とスレーブ鍵生成機能からスレーブ機器が持つ認証鍵を生成することで、マスタ機器とスレーブ機器が認証鍵を共有することを説明した。
【0041】
実施の形態2.
以上の実施の形態1では、スレーブ機器が識別情報を接続要求と同時にマスタ機器へ通知するようにしたものであるが、次にスレーブ機器が識別情報を接続要求とは別にマスタ機器へ通知する場合の実施の形態を示す。
【0042】
実施の形態2におけるシステム構成は、実施の形態1の場合と同様であり、図1に示す構成となる。
マスタ機器(1)およびスレーブ機器(2)の構成は、実施の形態1の場合と同様であり、それぞれ図2と図3に示す構成となる。
【0043】
図6は、実施の形態2において、スレーブ機器(2)がマスタ機器(1)に対して接続要求をした際に行う機器認証の動作を示している。
【0044】
スレーブ機器(2)の接続要求部(23)は、マスタ機器(1)との接続要求を生成し、ネットワーク送受信部(25)に接続要求を渡す(S611)。
ネットワーク送受信部(25)は、接続要求部(23)から渡された接続要求をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(601)。
【0045】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)から接続要求を含む通信用フレームを受取ると、接続要求検証部(16)に渡す(S612)。
接続要求検証部(16)は、チャレンジコード生成部(11)に対してチャレンジコードの生成を要求する(S613)。
チャレンジコード生成部(11)は、生成したチャレンジコードを接続要求検証部(16)とHASH計算部(12)へ渡す(S614、S615)。
接続要求検証部(16)は受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部(17)へ渡す(S616)。
ネットワーク送受信部(17)は、S616で受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(602)。
【0046】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)からチャレンジコードを含む通信用フレームを受信すると、チャレンジ要求を接続要求部(23)に渡す(S617)。接続要求部(23)は、S617で受取ったチャレンジ要求からチャレンジコードを取り出し、HASH計算部(24)に渡す(S618)。
HASH計算部(24)は、スレーブ鍵格納部(22)から格納されている認証鍵を取り出し(S619)、S618で受取ったチャレンジコードとS619で受取った認証鍵を入力としてHASH値を計算し、得られたHASH値を接続要求部(23)に渡す(S620)。
接続要求部(23)は、識別情報格納部(21)から格納されている識別情報を取り出し(S621)、HASH計算部(24)から渡されたHASH値とS621で取り出した識別情報を含むレスポンスを生成し、ネットワーク送受信部(25)に渡す(S622)。
ネットワーク送受信部(25)は、S622で受取ったレスポンスをデータとして含む通信用フレームを生成し、マスタ機器宛に送信する(603)。
【0047】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)からレスポンスを含む通信用フレームを受信すると、レスポンスを接続要求検証部(16)に渡す(S623)。
接続要求検証部(16)はレスポンスに含まれている識別情報を取り出し、識別情報保持部(13)に保持する(S624)。
接続要求検証部(16)は、取り出した識別情報をスレーブ鍵生成部(15)に渡す(S625)。
スレーブ鍵生成部(15)は、マスタ鍵格納部(14)から格納している認証鍵を受取り(S626)、S625で受取った識別情報とS626で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をHASH計算部(12)へ渡す(S627)。
HASH計算部(12)は、S615で受取ったチャレンジコードとS627で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を接続要求検証部(16)に渡す(S628)。
接続要求検証部(16)は、レスポンスに含まれているHASH値を取り出し、S628で受取ったHASH値を比較し、一致の場合は接続許可、不一致の場合は接続不許可と、ネットワーク送受信部(17)に応答する(S629)。
ネットワーク送受信部(17)は、S625で接続要求検証部(16)から得られた接続要求に対する応答を含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(604)。
マスタ機器(1)は、S629で接続許可と判定した場合、以降のスレーブ機器(2)からの要求に対し、識別情報保持部(13)に許可されている識別情報に対する操作のみを許容し、異なる識別情報のスレーブ機器に対する操作は許容しない。
S629で接続不許可と判定した場合は、スレーブ機器(2)からの要求を許可しない。
【0048】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部(23)に渡す(S630)。
【0049】
スレーブ機器(2)のスレーブ鍵格納部(22)に格納するスレーブ機器の認証鍵を生成する手順は、実施の形態1の場合と同様であり、図5に示す手順となる。
実施の形態1の場合と同様に、機器認証の開始に先立ち、S501で決定した認証鍵をマスタ機器(1)のマスタ鍵格納部(14)に格納し、S502で決定した識別情報をスレーブ機器(2)の識別情報格納部(21)に格納し、S504で決定した認証鍵をスレーブ機器(2)のスレーブ鍵格納部(22)に格納しておく。
【0050】
以上のように、スレーブ機器が識別情報を接続要求と同時にはマスタ機器へ通知せず、マスタ機器からのチャレンジに対するレスポンスを返す際に識別情報をマスタ機器へ通知するように構成しても、実施の形態1と同様の効果を得ることができる。
【0051】
実施の形態3.
実施の形態1と2では、機器認証後のスレーブ機器の識別は識別情報に因っていたが、スレーブ機器の詳細情報をプロファイルとして表し、プロファイルを検証することでスレーブ機器の識別判定を強化することが可能である。
【0052】
この実施の形態では、システム構成は、実施の形態1と同様に、図1の構成である。
【0053】
図7は、実施の形態3でのマスタ機器(1)の構成である。
図2に示した実施の形態1の構成要素に加え、マスタ機器(1)は、プロファイル格納部(18)とプロファイル検証部(19)を持つ。
プロファイル格納部(18)は、スレーブ機器(2)の識別情報と対応付けて各スレーブ機器(2)のプロファイルを記憶する。
プロファイルは検証情報の例であり、プロファイル格納部(18)は検証情報記憶部の例である。
また、本実施の形態では、プロファイル検証部(19)も接続許否判定部の例となる。
【0054】
図8は、実施の形態3でのスレーブ機器(2)の構成である。
図3に示した実施の形態1の構成要素に加え、スレーブ機器(2)は、プロファイル格納部(26)を持つ。
【0055】
スレーブ機器(2)のスレーブ鍵格納部(22)に格納するスレーブ機器のスレーブ鍵を生成する手順は、実施の形態1の場合と同様であり、図5に示す手順となる。
実施の形態1の場合と同様に、機器認証の開始に先立ち、スレーブ鍵生成部(15)は、S501で決定したマスタ鍵をマスタ機器(1)のマスタ鍵格納部(14)に格納し、S502で決定した識別情報をスレーブ機器(2)の識別情報格納部(21)に格納し、S504で決定したスレーブ鍵をスレーブ機器(2)のスレーブ鍵格納部(22)に格納しておく。
また、並行して、スレーブ鍵生成部(15)は、スレーブ機器の識別情報に対応させてプロファイル情報を生成し、スレーブ機器(2)のプロファイル格納部(26)には、スレーブ機器(2)の識別情報格納部(21)に格納されている識別情報に対応したプロファイルを格納する。
また、マスタ機器(1)のプロファイル格納部(18)には、スレーブ機器(2)のプロファイルが識別情報と対応付けられて複数格納される。
このように、マスタ機器(1)のプロファイル格納部(18)には、正当なスレーブ機器(2)に配布したプロファイルが識別情報と対応付けられて記憶される。
【0056】
図9及び図10は、スレーブ機器(2)がマスタ機器(1)に対して接続要求をした際に行う機器認証の動作を示している。
【0057】
スレーブ機器(2)は、識別情報格納部(21)から格納されている識別情報を取り出し、接続要求部(23)に渡す(S911)。
接続要求部(23)は、マスタ機器との接続要求を生成し、ネットワーク送受信部(25)に接続要求を渡す(S912)。
マスタ機器との接続要求には、識別情報格納部(21)から渡された識別情報が含まれている。
ネットワーク送受信部(25)は、接続要求部(23)から渡された接続要求をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(901)。
【0058】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)から接続要求を受取ると、接続要求を接続要求検証部(16)に渡す(S913)。
接続要求検証部(16)はS913で受取った接続要求に含まれている識別情報を識別情報保持領域に保持し(S914)、スレーブ鍵生成部(15)に渡す(S915)。
接続要求検証部(16)はさらに、チャレンジコード生成部(11)に対してチャレンジコードの生成を要求する(S916)。
チャレンジコード生成部(11)は、生成したチャレンジコードを接続要求検証部(16)、HASH計算部(12)へ渡す(S917、S918)。
接続要求検証部(16)は受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部(17)へ渡す(S919)。
マスタ機器(1)のスレーブ鍵生成部(15)は、マスタ鍵格納部(14)から格納している認証鍵を受取り(S920)、S915で受取った識別情報とS920で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をHASH計算部(12)へ渡す(S921)。
HASH計算部(12)は、S918で受取ったチャレンジコードとS921で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を接続要求検証部(16)に渡す(S922)。
ネットワーク送受信部(17)は、S919で受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(902)。
【0059】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)からチャレンジ要求を含む通信用フレームを受信すると、チャレンジ要求を接続要求部(23)に渡す(S923)。
接続要求部(23)は、S923で受取ったチャレンジ要求からチャレンジコードを取り出し、HASH計算部(24)に渡す(S924)。
HASH計算部(24)は、スレーブ鍵格納部(22)から格納されている認証鍵を取り出し(S925)、S924で受取ったチャレンジコードとS925で受取った認証鍵を入力としてHASH値を計算し、得られたHASH値を接続要求部(23)に渡す(S926)。
接続要求部(23)は、HASH計算部(24)から渡されたHASH値を含むレスポンスを生成し、ネットワーク送受信部(25)に渡す(S927)。
ネットワーク送受信部(25)は、S927で受取ったレスポンスをデータとして含む通信用フレームを生成し、マスタ機器宛に送信する(903)。
【0060】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)からレスポンスを含む通信用フレームを受信すると、レスポンスを接続要求検証部(16)に渡す(S928)。
接続要求検証部(16)はレスポンスに含まれているHASH値を取り出し、S922で受取ったHASH値と比較し、一致の場合は接続許可、不一致の場合は接続不許可と判定し、接続許可と判定した場合、プロファイルの送信を要求するプロファイル要求(検証情報要求)を生成し、ネットワーク送受信部(17)に渡す(S929)。
ネットワーク送受信部(17)は、S929で受取ったプロファイル要求をデータとして含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(904)。
【0061】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)からプロファイル要求を含む通信用フレームを受信すると、プロファイル要求を取り出し、接続要求部(23)に渡す(S930)。
接続要求部(23)は、プロファイル格納部(26)からプロファイルを取り出し(S931)、取り出したプロファイルを含むプロファイル応答を生成し、ネットワーク送受信部(25)に渡す(S926)。
ネットワーク送受信部(25)は受取ったプロファイル応答をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(905)。
【0062】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2)からプロファイル応答を含む通信用フレームを受信すると、受信したプロファイル応答を、プロファイル検証部(19)に渡す(S931)。
プロファイル検証部(19)は、プロファイル格納部(18)から識別情報保持部(13)に対応するプロファイルを取り出し(S932)、S931で受取ったプロファイルとS932で受取ったプロファイルを比較し、一致の場合は接続許可、不一致の場合は接続不許可と、ネットワーク送受信部(17)に応答する(S933)。
ネットワーク送受信部(17)は、S933でプロファイル検証部(19)から得られた接続要求に対する応答を含む通信用フレームを生成し、スレーブ機器(2)宛に送信する(906)。
マスタ機器(1)は、S933で接続許可と判定した場合、以降のスレーブ機器(2)からの要求に対し、プロファイル検証部(19)で検証に使用したプロファイルに対して許可されている操作のみを許容し、それ以外の操作は許容しない。
【0063】
スレーブ機器(2)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部(23)に渡す(S934)。
【0064】
以上のように、機器認証に続いて機器の詳細情報を表すプロファイルを検証するようにすることで、スレーブ機器の識別判定を強化することが可能である。
【0065】
本実施の形態では、認証を行うマスタ機器が、認証鍵とスレーブ鍵生成機能を持ち、認証を受けるスレーブ機器が認証鍵と識別情報を持つことを説明した。
また、スレーブ機器がマスタ機器に認証を行う際に、識別情報をマスタ機器に送付し、マスタ機器は識別情報とマスタ機器が持つ認証鍵とスレーブ鍵生成機能からスレーブ機器が持つ認証鍵を生成することで、マスタ機器とスレーブ機器が認証鍵を共有することを説明した。
更に、認証後に機器の詳細情報を記述したプロファイルの確認を行うことを説明した。
【0066】
実施の形態4.
本実施の形態は、実施の形態2に、スレーブ機器の詳細情報を表すプロファイルの検証を追加することで、スレーブ機器が識別情報を接続要求とは別にマスタ機器へ通知する場合に、スレーブ機器の識別判定を強化した形態である。
【0067】
本実施の形態における構成は、実施の形態3で実施の形態1の構成に追加した構成を、実施の形態2で示した構成に追加した構成とする。
本実施の形態における手順は、実施の形態3で実施の形態1から変更した手順を、実施の形態2の手順から変更した手順とする。
以上のように、スレーブ機器が識別情報を接続要求と同時にはマスタ機器へ通知せず、マスタ機器からのチャレンジに対するレスポンスを返す際に識別情報をマスタ機器へ通知するように構成した場合でも、実施の形態3と同様の効果を得ることができる。
【0068】
実施の形態5.
以上の実施の形態では、マスタ機器(1)が認証機器となり、被認証機器であるスレーブ機器(2)からの接続要求に対して機器認証を行う場合であった。
次に、スレーブ機器(2)が、他のスレーブ機器に対して接続要求した場合に、接続要求を受けたスレーブ機器(2)が認証機器であるマスタ機器(1)を利用して、接続要求を行ったスレーブ機器の認証を行う形態を示す。
【0069】
図11は実施の形態5におけるシステム構成例を示す。
本実施の形態に係るシステムでは、1つのマスタ機器(1)とスレーブ機器(2M、2S)から構成され、マスタ機器(1)とスレーブ機器(2M、2S)はネットワーク(3)によって接続されている。
スレーブ機器は、他のスレーブ機器からの接続要求に対して認証を行うスレーブ機器(2M)と、他のスレーブ機器に対して接続要求を行い、被認証機器となるスレーブ機器(2S)がある。
スレーブ機器(2M、2S)は、それぞれ2台以上あってもよい。
以降では、他のスレーブ機器からの接続要求に対して認証を行うスレーブ機器(2M)をスレーブ認証機器、他のスレーブ機器に対して接続要求を行い、被認証機器となるスレーブ機器(2S)をスレーブ被認証機器と呼ぶこととする。
なお、スレーブ機器(2M)、すなわちスレーブ認証機器が第1の通信装置の例であり、スレーブ機器(2S)、すなわちスレーブ被認証機器が第2の通信装置の例である。
【0070】
図12は、本実施の形態に係るマスタ機器(1)の構成例を示す。
図12は、実施の形態1のマスタ機器(1)の構成を示した図2に、チャレンジコード保持部(1101)と代理認証処理部(1102)を追加した構成となっている。
【0071】
チャレンジコード保持部(1101)は、チャレンジコード生成部(11)で生成した乱数を、一時的に保持しておくための記憶領域である。
代理認証処理部(1102)は、代理認証要求を処理するための機能である。
本実施の形態では、代理認証処理部(1102)も接続許否判定部の例となる。
【0072】
図12において11〜17で示した構成要素は、図1と同じであるが、HASH計算部(12)及びスレーブ鍵生成部(15)は、図1と異なる役割を有する。
本実施の形態では、スレーブ鍵生成部(15)は、スレーブ機器(2M)によるマスタ機器(1)の認証を可能とするために、スレーブ機器(2M)の識別情報とマスタ鍵から、スレーブ機器(2M)が保有しているスレーブ鍵(保有鍵)と同じ鍵を生成する。この鍵は被照合値用鍵に相当する。
本実施の形態では、スレーブ鍵生成部(15)は被照合値用鍵生成部の例でもある。
また、HASH計算部(12)は、スレーブ機器(2M)において照合されるHASH値(被照合値)をチャレンジコードとスレーブ鍵生成部(15)により生成された鍵(被照合値用鍵)から生成する。
本実施の形態では、スレーブ機器(2M)は、保有しているスレーブ鍵(保有鍵)とチャレンジコードからHASH値(照合値)を生成し、HASH計算部(12)が生成したHASH値(被照合値)と照合し、マスタ機器(1)の認証を行う。
HASH計算部(12)は、被照合値生成部の例である。
【0073】
図13は、他のスレーブ機器からの接続要求に対して認証を行うスレーブ機器であるスレーブ認証機器(2M)の構成例を示す。
図13は、実施の形態2のスレーブ機器(2)の構成を示した図3に、認証機器検証部(1201)を追加した構成となっている。21〜25で示した構成要素は、図3と同じである。
認証機器検証部(1201)は、認証を依頼するマスタ機器(1)を検証するための機能である。詳細は動作の中で説明する。
【0074】
他のスレーブ機器に対して接続要求を行い被認証機器となるスレーブ被認証機器(2S)の構成は、実施の形態1におけるスレーブ機器(2)の構成を示した図3と同じである。
【0075】
次に、図18のフローチャートを用いて、本実施の形態に係る代理認証動作の概要を説明する。
図18は、スレーブ認証機器(2M)に代わってスレーブ被認証機器(2S)の機器認証を行う際のマスタ機器(1)が動作の概要を示すフローチャートである。
つまり、本実施の形態では、スレーブ被認証機器(2S)がスレーブ認証機器(2M)に接続要求を送信し、接続要求を受けたスレーブ認証機器(2M)がマスタ機器(1)にスレーブ被認証機器(2S)の認証を要求し、マスタ機器(1)がスレーブ認証機器(2M)に代わってスレーブ被認証機器(2S)の機器認証を行う。
【0076】
マスタ機器(1)では、まず、ネットワーク送受信部(17)がスレーブ認証機器(2M)から送信された代理認証要求を受信する(S1801)(通信ステップ)。
代理認証要求には、スレーブ認証機器(2M)の識別情報が含まれている。
次に、チャレンジコード生成部(11)が、チャレンジコードを生成する(S1802)(チャレンジ値生成ステップ)。
次に、スレーブ鍵生成部(15)が、マスタ鍵格納部(14)のマスタ鍵と、代理認証要求に含まれているスレーブ認証機器(2M)の識別情報からスレーブ鍵(被照合値用鍵)を生成する(S1803)。
このスレーブ鍵は、スレーブ認証機器(2M)の保有しているスレーブ鍵(保有鍵)と一致する。
次に、HASH計算部(12)が、S1802で生成されたチャレンジコードとS1803で生成されたスレーブ鍵を入力としてHASH値(被照合値)を計算する(S1804)。
次に、ネットワーク送受信部(17)が、S1802で生成されたチャレンジコードとS1804で生成されたHASH値をスレーブ認証機器(2M)に送信する(S1805)。
【0077】
次に、スレーブ認証機器(2M)においてS1805で送信したチャレンジコードとスレーブ認証機器(2M)が保有するスレーブ鍵(保有鍵)から導出したHASH値とS1805で送信したHASH値が一致すると判断された場合、スレーブ認証機器(2M)から当該チャレンジコードがスレーブ被認証機器(2S)に送信される。
そして、スレーブ被認証機器(2S)では、保有しているスレーブ鍵と当該チャレンジコードに対するHASH値が算出され、算出されたHASH値がスレーブ認証機器(2M)に送信される。
【0078】
スレーブ認証機器(2M)は、スレーブ被認証機器(2S)からのHASH値とスレーブ被認証機器(2S)の識別情報が含まれる代理要求をマスタ機器(1)に送信する。
【0079】
マスタ機器(1)では、ネットワーク送受信部(17)が、再度代理認証要求を受信する(S1806)(通信ステップ)。
前述したように、この代理認証要求には、スレーブ被認証機器(2S)の識別情報と、チャレンジコードに対するスレーブ被認証機器(2S)のレスポンス値であるHASH値が含まれている。
次に、スレーブ鍵生成部(15)が、マスタ鍵格納部(14)のマスタ鍵と、代理認証要求に含まれているスレーブ被認証機器(2S)の識別情報からスレーブ鍵(認証鍵)を生成する(S1807)(認証鍵生成ステップ)。
このスレーブ鍵(認証鍵)は、スレーブ被認証機器(2S)が正当なスレーブ機器であればスレーブ被認証機器(2S)が保有しているはずのスレーブ鍵と一致する。
次に、HASH計算部(12)が、S1802で生成されたチャレンジコードとS1807で生成されたスレーブ鍵を入力としてHASH値を計算する(S1808)(照合レスポンス値生成ステップ)。
次に、代理認証処理部(1102)が、S1806で受信した代理認証要求に含まれるHASH値とS1808で生成されたHASH値を比較する(S1809)(接続許否判定ステップ)。
比較の結果、HASH値が一致した場合(S1810でYES)は、代理認証処理部(1102)はスレーブ認証機器(2M)とスレーブ被認証機器(2S)との接続を許可する(S1811)(接続許否判定ステップ)。
一方、HASH値が一致しない場合(S1810でNO)は、代理認証処理部(1102)はスレーブ認証機器(2M)とスレーブ被認証機器(2S)との接続を許可しない(S1812)(接続許否判定ステップ)。
最後に、ネットワーク送受信部(17)は、接続許否判定の判定結果を示す応答をスレーブ認証機器(2M)に送信する(S1813)。
【0080】
次に、図14、図15、図16を参照して、本実施の形態に係る代理認証動作におけるマスタ機器(1)、スレーブ認証機器(2M)及びスレーブ被認証機器(2S)の動作を詳細に説明する。
図14、図15、図16は、スレーブ被認証機器(2S)がスレーブ認証機器(2M)に対して接続要求をした際に行う機器認証の動作を示している。
【0081】
スレーブ被認証機器(2S)の接続要求部(23)は、スレーブ認証機器との接続要求を生成し、ネットワーク送受信部(25)に接続要求を渡す(S1301)。
ネットワーク送受信部(25)は、接続要求部(23)から渡された接続要求をデータとして含む通信用フレームを生成し、スレーブ認証機器(2M)宛に送信する(1301)。
【0082】
スレーブ認証機器(2M)のネットワーク送受信部(25)は、スレーブ被認証機器(2S)から接続要求を含む通信用フレームを受信すると、認証機器検証部(1201)に接続要求を渡す(S1302)。
認証機器検証部(1201)は、識別情報格納部(21)に格納されている識別情報を取り出し(S1303)、取り出した識別情報を含む代理認証接続要求を生成し、ネットワーク送受信部(25)に渡す(S1304)。
ネットワーク送受信部(25)は、認証機器検証部(1201)から渡された代理認証接続要求をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(1302)。
【0083】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ認証機器(2M)から代理認証接続要求を含む通信用フレームを受信すると、代理認証処理部(1102)に代理認証接続要求を渡す(S1305)。
代理認証処理部(1102)は、S1305で受取った代理認証接続要求に含まれている識別情報をスレーブ鍵生成部(15)に渡す(S1306)。
代理認証処理部(1102)は、チャレンジコード生成部(11)に対してチャレンジコードの生成を要求する(S1307)。
チャレンジコード生成部(11)は、生成したチャレンジコードを代理認証処理部(1102)とHASH計算部(12)へ渡し(S1308、S1309)、チャレンジコード保持部(1101)に保持する(S131)。
S1306で識別情報を受取ったスレーブ鍵生成部(15)は、マスタ鍵格納部(14)から格納している認証鍵を受取り(S1311)、S1306で受取った識別情報とS1311で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をHASH計算部(12)へ渡す(S1312)。
HASH計算部(12)は、S1309で受取ったチャレンジコードとS1312で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を代理認証処理部(1102)に渡す(S1313)。
代理認証処理部(1102)は、受取ったチャレンジコードとHASH値をデータとして含む代理認証チャレンジ要求を生成し、ネットワーク送受信部(17)に渡す(S1314)。
ネットワーク送受信部(17)は、S1314で受取った代理認証チャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ機器(2M)宛に送信する(1303)。
【0084】
スレーブ認証機器(2M)のネットワーク送受信部(25)は、マスタ機器(1)のネットワーク送受信部(17)から代理認証チャレンジ要求を含む通信用フレームを受信すると、受信した代理認証チャレンジ要求を認証機器検証部(1201)に渡す(S1315)。
認証機器検証部(1201)は、S1315で受取ったチャレンジ要求からチャレンジコードを取り出し、HASH計算部(24)に渡す(S1316)。
HASH計算部(24)は、スレーブ鍵格納部(22)から認証鍵を取り出し(S1317)、S1316で受取ったチャレンジコードとS1317で受取った認証鍵を入力としてHASH値を計算し、得られたHASH値を認証機器検証部(1201)に渡す(S1318)。
認証機器検証部(1201)は、S1315で受取ったHASH値とS1318で受取ったHASH値が一致した場合には、マスタ機器は信頼できると判断し、代理認証処理を継続する。
HASH値が一致した場合には、S1315で受取ったチャレンジコードを含むチャレンジ要求を生成し、ネットワーク送受信部(25)に渡す(S1319)。
ネットワーク送受信部(25)は、受取ったチャレンジ要求をデータとして含む通信用フレームを生成し、スレーブ被認証機器(2S)宛に送信する(1304)。
【0085】
スレーブ被認証機器(2S)のネットワーク送受信部(25)は、スレーブ認証機器(2M)のネットワーク送受信部(25)からチャレンジ要求を含む通信用フレームを受信すると、チャレンジ要求を接続要求部(23)に渡す(S1320)。
接続要求部(23)は、S1320で受取ったチャレンジ要求からチャレンジコードを取り出し、HASH計算部(24)に渡す(S1321)。
HASH計算部(24)は、スレーブ鍵格納部(22)から格納されている認証鍵を取り出し(S1322)、S1321で受取ったチャレンジコードとS1322で受取った認証鍵を入力としてHASH値を計算し、得られたHASH値を接続要求部(23)に渡す(S1323)。
接続要求部(23)は、識別情報格納部(21)から格納されている識別情報を取り出し(S1324)、S1323で受取ったHASH値とS1324で受取った識別情報を含むレスポンスを生成し、ネットワーク送受信部(25)に渡す(S1325)。ネットワーク送受信部(25)は、S1325で受取ったレスポンスをデータとして含む通信用フレームを生成し、スレーブ認証機器(2M)宛に送信する(1305)。
【0086】
スレーブ認証機器(2M)のネットワーク送受信部(25)は、スレーブ被認証機器(2S)からレスポンスを含む通信用フレームを受信すると、認証機器検証部(1201)にレスポンスを渡す(S1326)。
認証機器検証部(1201)は、レスポンスから識別情報を取り出し、識別情報格納部(21)に格納する(S1327)。
認証機器検証部(1201)は、レスポンスからHASH値を取り出し、取り出した識別情報とHASH値を含む代理認証要求を生成し、ネットワーク送受信部(25)に渡す(S1328)。
ネットワーク送受信部(25)は、認証機器検証部(1201)から渡された代理認証要求をデータとして含む通信用フレームを生成し、マスタ機器(1)宛に送信する(1306)。
【0087】
マスタ機器(1)のネットワーク送受信部(17)は、スレーブ機器(2M)から代理認証要求を含む通信用フレームを受信すると、代理認証処理部(1102)に渡す(S1329)。
代理認証処理部(1102)は、代理認証要求から識別情報を取り出し、スレーブ鍵生成部(15)に渡す(S1330)。
スレーブ鍵生成部(15)は、マスタ鍵格納部(14)から格納している認証鍵を受取り(S1331)、S1330で受取った識別情報とS1331で受取った認証鍵を入力としてスレーブ鍵を生成し、生成したスレーブ鍵をHASH計算部(12)へ渡す(S1332)。
HASH計算部(12)は、チャレンジコード保持部(1101)からチャレンジコードを取り出し(S1333)、取り出したチャレンジコードとS1332で受取ったスレーブ鍵を入力としてHASH値を計算し、得られたHASH値を代理認証処理部(1102)に渡す(S1334)。
代理認証処理部(1102)は、代理認証要求からHASH値を取り出し、取り出したHASH値とS1334で受取ったHASH値を比較する。
比較結果が、一致の場合は接続許可、不一致の場合は接続不許可とする代理認証応答を生成し、ネットワーク送受信部(17)に渡す(S1335)。
ネットワーク送受信部(17)は、S1335で受取った代理認証応答をデータとして含む通信用フレームを生成し、スレーブ認証機器(2M)宛に送信する(1307)。
【0088】
スレーブ認証機器(2M)のネットワーク送受信部(25)は、マスタ機器(1)から代理認証応答を含む通信用フレームを受信すると、認証機器検証部(1201)に代理認証応答を渡す(S1336)。
認証機器検証部(1201)は、代理認証応答の内容が接続許可であった場合は、接続許可とする接続応答を生成し、ネットワーク送受信部(25)に渡す(S1337)。
ネットワーク送受信部(25)は、認証機器検証部(1201)から渡された接続応答をデータとして含む通信用フレームを生成し、スレーブ被認証機器(2S)宛に送信する(1308)。
【0089】
スレーブ被認証機器(2S)のネットワーク送受信部(25)は、スレーブ認証機器(2M)のネットワーク送受信部(17)から接続要求に対する応答を含む通信用フレームを受信すると、受信した接続要求に対する応答を、接続要求部(23)に渡す(S1338)。
【0090】
スレーブ認証機器(2M)およびスレーブ被認証機器(2S)のスレーブ鍵格納部(22)に格納する認証鍵を生成する手順は、実施の形態1の場合と同様であり、図5に示す手順となる。
実施の形態1の場合と同様に、機器認証の開始に先立ち、S501で決定した認証鍵をマスタ機器(1)のマスタ鍵格納部(14)に格納し、S502で決定した識別情報をスレーブ認証機器(2M)およびスレーブ被認証機器(2S)の識別情報格納部(21)に格納し、S504で決定した認証鍵をスレーブ認証機器(2M)およびスレーブ被認証機器(2S)のスレーブ鍵格納部(22)に格納しておく。
【0091】
以上のように、スレーブ認証機器とスレーブ被認証機器が異なる認証鍵(スレーブ鍵)をもち、スレーブ被認証機器からの接続要求を受取ったスレーブ認証機器が、代理認証を要求するマスタ機器が信頼できるか確認した上で、マスタ機器が代理でスレーブ被認証機器を認証するように構成しているため、スレーブ鍵生成機能を持たないスレーブ認証機器が、スレーブ被認証機器からの接続要求を受取っても、接続要求の可否が判定できるようになる。
また、スレーブ認証機器またはスレーブ被認証機器から認証鍵(スレーブ鍵)が漏洩した場合でも、異なる識別情報のスレーブ機器であることを詐称する模造品がマスタ機器に接続することを防ぐことができる。
また、スレーブ認証機器とスレーブ被認証機器が異なる認証鍵(スレーブ鍵)を格納していても、マスタ機器は1つの認証鍵を格納するだけで、異なる認証鍵を持つ複数のスレーブ機器に対する認証動作を行うことができる。
【0092】
以上、本実施の形態では、接続要求を受取るスレーブ機器Aが認証鍵Aと識別情報Aを持ち、接続要求を行うスレーブ機器Bが認証鍵Bと識別情報Bを持ち、代理で認証を行うマスタ機器が、認証鍵Cとスレーブ鍵生成機能を持ち、スレーブ機器Aが識別情報Aをマスタ機器に送付し、マスタ機器は識別情報Aとマスタ機器が持つ認証鍵Cとスレーブ鍵生成機能からスレーブ機器Aが持つ認証鍵Aを生成することでマスタ機器とスレーブ機器Aが認証鍵を共有することを説明した。
これにより、スレーブ機器Aは、マスタ機器に代理認証を依頼できることを確認する。
その後、スレーブ機器Aはスレーブ機器Bの識別情報Bをマスタ機器に送付し、マスタ機器は識別情報Bとマスタ機器が持つ認証鍵Cとスレーブ鍵生成機能からスレーブ機器Bが持つ認証鍵Bを生成することでマスタ機器とスレーブ機器Bが認証鍵を共有することを説明した。
【0093】
実施の形態6.
本実施の形態では、実施の形態5で示した構成及び動作に加え、実施の形態3で実施の形態1に追加した構成及び動作を行うことで、認証後にプロファイルの検証を行う。
このようにすることで、スレーブ機器間でも、実施の形態3と同様の効果を得ることができる。
【0094】
最後に、実施の形態1〜6に示したマスタ機器(1)のハードウェア構成例について説明する。
図19は、実施の形態1〜6に示すマスタ機器(1)のハードウェア資源の一例を示す図である。
なお、図19の構成は、あくまでもマスタ機器(1)のハードウェア構成の一例を示すものであり、マスタ機器(1)のハードウェア構成は図19に記載の構成に限らず、他の構成であってもよい。
【0095】
図19において、マスタ機器(1)は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
実施の形態1〜6で説明した「〜格納部」及び「〜保持部」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
【0096】
通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていても構わない。
【0097】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0098】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0099】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
マスタ機器(1)の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0100】
上記プログラム群923には、実施の形態1〜6の説明において「〜部」(「「〜格納部」及び「〜保持部」」以外、以下同様)として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0101】
ファイル群924には、実施の形態1〜6の説明において、「〜の判断」、「〜の計算」、「〜の演算」、「〜の算出」、「〜の比較」、「〜の照合」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜6で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0102】
また、実施の形態1〜6の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、実施の形態1〜6で説明したフローチャートに示すステップ、手順、処理により、本発明に係る認証方法を実現することができる。
また、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜6の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜6の「〜部」の手順や方法をコンピュータに実行させるものである。
【0103】
このように、実施の形態1〜6に示すマスタ機器(1)は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【0104】
1 マスタ機器、2 スレーブ機器、3 ネットワーク、11 チャレンジコード生成部、12 HASH計算部、13 識別情報保持部、14 マスタ鍵格納部、15 スレーブ鍵生成部、16 接続要求検証部、17 ネットワーク送受信部、18 プロファイル格納部、19 プロファイル検証部、21 識別情報格納部、22 スレーブ鍵格納部、23 接続要求部、24 HASH計算部、25 ネットワーク送受信部、26 プロファイル格納部、1101 チャレンジコード保持部、1102 代理認証処理部、1201 認証機器検証部。
【特許請求の範囲】
【請求項1】
マスタ鍵を記憶しているマスタ鍵記憶部と、
いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信部と、
前記通信部により前記接続要求が受信された際に、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成部と、
前記通信部により受信された前記接続要求通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成部と、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成部と、
前記通信部により受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定部とを有することを特徴とする認証装置。
【請求項2】
前記通信部は、
前記認証装置との接続が許可される正当な通信装置に対して、レスポンス値の生成に用いられるレスポンス用鍵が正当な通信装置の識別情報と前記マスタ鍵とに基づき生成され、生成されたレスポンス用鍵が配布された後に、いずれかの通信装置から接続要求を受信し、
前記認証装置は、
正当な通信装置に配布されたレスポンス用鍵を記憶しておらず、
前記認証鍵生成部は、
前記接続要求通信装置の識別情報と前記マスタ鍵とに基づき、レスポンス用鍵の生成アルゴリズムと同じアルゴリズムにより、前記接続要求通信装置の認証に用いる認証鍵を生成し、
前記照合レスポンス値生成部は、
正当な通信装置がレスポンス用鍵とチャレンジ値とに基づきレスポンス値を生成するアルゴリズムと同じアルゴリズムにより、前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき照合レスポンス値を生成することを特徴とする請求項1に記載の認証装置。
【請求項3】
前記認証装置は、更に、
正当な通信装置に配布された検証情報を識別情報と対応付けて記憶している検証情報記憶部を有し、
前記接続許否判定部は、
前記受信レスポンス値と前記照合レスポンス値が一致する場合に、前記接続要求通信装置に対して検証情報の送信を要求する検証情報要求を生成し、
前記通信部は、
前記接続許否判定部により生成された検証情報要求を前記接続要求通信装置に送信し、前記接続要求通信装置から検証情報を受信し、
前記接続許否判定部は、
前記接続要求通信装置の識別情報と対応付けられている検証情報を前記検証情報記憶部から取得し、前記通信部により受信された前記接続要求通信装置の検証情報と前記検証情報記憶部から取得した検証情報とを照合し、検証情報が一致する場合に、前記接続要求通信装置との接続を許可し、検証情報が一致しない場合に、前記接続要求通信装置との接続を許可しないことを特徴とする請求項2に記載の認証装置。
【請求項4】
前記通信部は、
前記接続要求とともに前記接続要求通信装置の識別情報を受信することを特徴とする請求項1〜3のいずれかに記載の認証装置。
【請求項5】
前記通信部は、
レスポンス値とともに前記接続要求通信装置の識別情報を受信することを特徴とする請求項1〜3のいずれかに記載の認証装置。
【請求項6】
前記通信部は、
第2の通信装置から接続要求を受信した第1の通信装置から前記第2の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して前記チャレンジ値生成部により生成されたチャレンジ値を前記第1の通信装置に送信し、前記第1の通信装置から前記第2の通信装置に送信されたチャレンジ値に対する前記第2の通信装置によるレスポンス値を前記第1の通信装置から受信し、前記第2の通信装置の識別情報を前記第1の通信装置から受信し、
前記チャレンジ値生成部は、
前記通信部により前記認証要求が受信された際にチャレンジ値を生成し、
前記認証鍵生成部は、
前記通信部により受信された前記第2の通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記第2の通信装置の認証に用いる認証鍵を生成し、
前記照合レスポンス値生成部は、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき照合レスポンス値を生成し、
前記接続許否判定部は、
前記通信部により受信された前記第2の通信装置のレスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記第1の通信装置と前記第2の通信装置との間の接続を許可するか否かを判定することを特徴とする請求項1〜5のいずれかに記載の認証装置。
【請求項7】
マスタ鍵を記憶しているマスタ鍵記憶部と、
第2の通信装置から接続要求を受信した第1の通信装置から前記第2の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して生成されたチャレンジ値を前記第1の通信装置に送信し、前記第1の通信装置から前記第2の通信装置に送信されたチャレンジ値に対する前記第2の通信装置によるレスポンス値を前記第1の通信装置から受信し、前記第2の通信装置の識別情報を前記第1の通信装置から受信する通信部と、
前記通信部により前記認証要求が受信された際にチャレンジ値を生成するチャレンジ値生成部と、
前記通信部により受信された前記第2の通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記第2の通信装置の認証に用いる認証鍵を生成する認証鍵生成部と、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成部と、
前記通信部により受信された前記第2の通信装置のレスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記第1の通信装置と前記第2の通信装置との間の接続を許可するか否かを判定する接続許否判定部とを有することを特徴とする認証装置。
【請求項8】
前記通信部は、
前記認証要求とともに前記第1の通信装置の識別情報を受信し、
前記認証装置は、更に、
前記通信部により受信された前記第1の通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記第1の通信装置が保有している保有鍵であって前記第1の通信装置の識別情報と前記マスタ鍵に基づき生成された保有鍵と同じ鍵を被照合値用鍵として生成する被照合値用鍵生成部と、
前記チャレンジ値生成部により生成されたチャレンジ値と前記被照合値用鍵生成部により生成された被照合値用鍵に基づき、前記第1の通信装置が前記保有鍵と前記チャレンジ値に基づき生成する照合値と前記第1の通信装置において照合される被照合値を生成する被照合値生成部とを有し、
前記通信部は、
前記チャレンジ値生成部により生成されたチャレンジ値と前記被照合値生成部により生成された被照合値を前記第1の通信装置に送信し、
前記第2の通信装置において前記保有鍵と前記チャレンジ値に基づき生成された照合値と前記被照合値が照合され前記照合値と前記被照合値とが一致すると判定されて前記第1の通信装置から前記第2の通信装置に送信された前記チャレンジ値に対する前記第2の通信装置のレスポンス値を前記第1の通信装置から受信することを特徴とする請求項6又は7に記載の認証装置。
【請求項9】
前記通信部は、
他の通信装置との接続が許可される正当な通信装置に対して、レスポンス値の生成に用いられるレスポンス用鍵が正当な通信装置の識別情報と前記マスタ鍵とに基づき生成され、生成されたレスポンス用鍵が配布された後に、前記第1の通信装置から前記第2の通信装置についての認証要求を受信し、
前記認証装置は、
正当な通信装置に配布されたレスポンス用鍵を記憶しておらず、
前記認証鍵生成部は、
前記第2の通信装置の識別情報と前記マスタ鍵とに基づき、レスポンス用鍵の生成アルゴリズムと同じアルゴリズムにより、前記第2の通信装置の認証に用いる認証鍵を生成し、
前記照合レスポンス値生成部は、
正当な通信装置がレスポンス用鍵とチャレンジ値とに基づきレスポンス値を生成するアルゴリズムと同じアルゴリズムにより、前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき照合レスポンス値を生成することを特徴とする請求項6〜8のいずれかに記載の認証装置。
【請求項10】
前記認証装置は、更に、
正当な通信装置に配布された検証情報を識別情報と対応付けて記憶している検証情報記憶部を有し、
前記接続許否判定部は、
前記第2の通信装置のレスポンス値と前記照合レスポンス値が一致する場合に、前記第2の通信装置の検証情報の送信を要求する検証情報要求を生成し、
前記通信部は、
前記接続許否判定部により生成された検証情報要求を前記第1の通信装置に送信し、前記第1の通信装置から前記第2の通信装置の検証情報を受信し、
前記接続許否判定部は、
前記第2の通信装置の識別情報と対応付けられている検証情報を前記検証情報記憶部から取得し、前記通信部により受信された前記第2の通信装置の検証情報と前記検証情報記憶部から取得した検証情報とを照合し、検証情報が一致する場合に、前記第1の通信装置と前記第2の通信装置との間の接続を許可し、検証情報が一致しない場合に、前記第1の通信装置と前記第2の通信装置との間の接続を許可しないことを特徴とする請求項9に記載の認証装置。
【請求項11】
マスタ鍵を記憶しているコンピュータが行う認証方法であって、
前記コンピュータが、いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信ステップと、
前記通信ステップにより前記接続要求が受信された際に、前記コンピュータが、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記接続要求通信装置の識別情報と前記マスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成ステップと、
前記コンピュータが、前記認証鍵生成ステップにより生成された認証鍵と前記チャレンジ値生成ステップにより生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成ステップにより生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定ステップとを有することを特徴とする認証方法。
【請求項12】
マスタ鍵を記憶しているコンピュータが行う認証方法であって、
前記コンピュータが、第2の通信装置から接続要求を受信した第1の通信装置から前記第2の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して生成されたチャレンジ値を前記第1の通信装置に送信し、前記第1の通信装置から前記第2の通信装置に送信されたチャレンジ値に対する前記第2の通信装置によるレスポンス値を前記第1の通信装置から受信し、前記第2の通信装置の識別情報を前記第1の通信装置から受信する通信ステップと、
前記コンピュータが、前記通信ステップにより前記認証要求が受信された際にチャレンジ値を生成するチャレンジ値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記第2の通信装置の識別情報と前記マスタ鍵とに基づき、前記第2の通信装置の認証に用いる認証鍵を生成する認証鍵生成ステップと、
前記コンピュータが、前記認証鍵生成ステップにより生成された認証鍵と前記チャレンジ値生成ステップにより生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記第2の通信装置のレスポンス値と前記照合レスポンス値生成ステップにより生成された照合レスポンス値とを照合し、前記第1の通信装置と前記第2の通信装置との間の接続を許可するか否かを判定する接続許否判定ステップとを有することを特徴とする認証方法。
【請求項13】
マスタ鍵を記憶しているコンピュータに、
いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信処理と、
前記通信処理により前記接続要求が受信された際に、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成処理と、
前記通信処理により受信された前記接続要求通信装置の識別情報と前記マスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成処理と、
前記認証鍵生成処理により生成された認証鍵と前記チャレンジ値生成処理により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成処理と、
前記通信処理により受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成処理により生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定処理とを実行させることを特徴とするプログラム。
【請求項14】
マスタ鍵を記憶しているコンピュータに、
第2の通信装置から接続要求を受信した第1の通信装置から前記第2の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して生成されたチャレンジ値を前記第1の通信装置に送信し、前記第1の通信装置から前記第2の通信装置に送信されたチャレンジ値に対する前記第2の通信装置によるレスポンス値を前記第1の通信装置から受信し、前記第2の通信装置の識別情報を前記第1の通信装置から受信する通信処理と、
前記通信処理により前記認証要求が受信された際にチャレンジ値を生成するチャレンジ値生成処理と、
前記通信処理により受信された前記第2の通信装置の識別情報と前記マスタ鍵とに基づき、前記第2の通信装置の認証に用いる認証鍵を生成する認証鍵生成処理と、
前記認証鍵生成処理により生成された認証鍵と前記チャレンジ値生成処理により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成処理と、
前記通信処理により受信された前記第2の通信装置のレスポンス値と前記照合レスポンス値生成処理により生成された照合レスポンス値とを照合し、前記第1の通信装置と前記第2の通信装置との間の接続を許可するか否かを判定する接続許否判定処理とを実行させることを特徴とするプログラム。
【請求項1】
マスタ鍵を記憶しているマスタ鍵記憶部と、
いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信部と、
前記通信部により前記接続要求が受信された際に、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成部と、
前記通信部により受信された前記接続要求通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成部と、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成部と、
前記通信部により受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定部とを有することを特徴とする認証装置。
【請求項2】
前記通信部は、
前記認証装置との接続が許可される正当な通信装置に対して、レスポンス値の生成に用いられるレスポンス用鍵が正当な通信装置の識別情報と前記マスタ鍵とに基づき生成され、生成されたレスポンス用鍵が配布された後に、いずれかの通信装置から接続要求を受信し、
前記認証装置は、
正当な通信装置に配布されたレスポンス用鍵を記憶しておらず、
前記認証鍵生成部は、
前記接続要求通信装置の識別情報と前記マスタ鍵とに基づき、レスポンス用鍵の生成アルゴリズムと同じアルゴリズムにより、前記接続要求通信装置の認証に用いる認証鍵を生成し、
前記照合レスポンス値生成部は、
正当な通信装置がレスポンス用鍵とチャレンジ値とに基づきレスポンス値を生成するアルゴリズムと同じアルゴリズムにより、前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき照合レスポンス値を生成することを特徴とする請求項1に記載の認証装置。
【請求項3】
前記認証装置は、更に、
正当な通信装置に配布された検証情報を識別情報と対応付けて記憶している検証情報記憶部を有し、
前記接続許否判定部は、
前記受信レスポンス値と前記照合レスポンス値が一致する場合に、前記接続要求通信装置に対して検証情報の送信を要求する検証情報要求を生成し、
前記通信部は、
前記接続許否判定部により生成された検証情報要求を前記接続要求通信装置に送信し、前記接続要求通信装置から検証情報を受信し、
前記接続許否判定部は、
前記接続要求通信装置の識別情報と対応付けられている検証情報を前記検証情報記憶部から取得し、前記通信部により受信された前記接続要求通信装置の検証情報と前記検証情報記憶部から取得した検証情報とを照合し、検証情報が一致する場合に、前記接続要求通信装置との接続を許可し、検証情報が一致しない場合に、前記接続要求通信装置との接続を許可しないことを特徴とする請求項2に記載の認証装置。
【請求項4】
前記通信部は、
前記接続要求とともに前記接続要求通信装置の識別情報を受信することを特徴とする請求項1〜3のいずれかに記載の認証装置。
【請求項5】
前記通信部は、
レスポンス値とともに前記接続要求通信装置の識別情報を受信することを特徴とする請求項1〜3のいずれかに記載の認証装置。
【請求項6】
前記通信部は、
第2の通信装置から接続要求を受信した第1の通信装置から前記第2の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して前記チャレンジ値生成部により生成されたチャレンジ値を前記第1の通信装置に送信し、前記第1の通信装置から前記第2の通信装置に送信されたチャレンジ値に対する前記第2の通信装置によるレスポンス値を前記第1の通信装置から受信し、前記第2の通信装置の識別情報を前記第1の通信装置から受信し、
前記チャレンジ値生成部は、
前記通信部により前記認証要求が受信された際にチャレンジ値を生成し、
前記認証鍵生成部は、
前記通信部により受信された前記第2の通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記第2の通信装置の認証に用いる認証鍵を生成し、
前記照合レスポンス値生成部は、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき照合レスポンス値を生成し、
前記接続許否判定部は、
前記通信部により受信された前記第2の通信装置のレスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記第1の通信装置と前記第2の通信装置との間の接続を許可するか否かを判定することを特徴とする請求項1〜5のいずれかに記載の認証装置。
【請求項7】
マスタ鍵を記憶しているマスタ鍵記憶部と、
第2の通信装置から接続要求を受信した第1の通信装置から前記第2の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して生成されたチャレンジ値を前記第1の通信装置に送信し、前記第1の通信装置から前記第2の通信装置に送信されたチャレンジ値に対する前記第2の通信装置によるレスポンス値を前記第1の通信装置から受信し、前記第2の通信装置の識別情報を前記第1の通信装置から受信する通信部と、
前記通信部により前記認証要求が受信された際にチャレンジ値を生成するチャレンジ値生成部と、
前記通信部により受信された前記第2の通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記第2の通信装置の認証に用いる認証鍵を生成する認証鍵生成部と、
前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成部と、
前記通信部により受信された前記第2の通信装置のレスポンス値と前記照合レスポンス値生成部により生成された照合レスポンス値とを照合し、前記第1の通信装置と前記第2の通信装置との間の接続を許可するか否かを判定する接続許否判定部とを有することを特徴とする認証装置。
【請求項8】
前記通信部は、
前記認証要求とともに前記第1の通信装置の識別情報を受信し、
前記認証装置は、更に、
前記通信部により受信された前記第1の通信装置の識別情報と前記マスタ鍵記憶部のマスタ鍵とに基づき、前記第1の通信装置が保有している保有鍵であって前記第1の通信装置の識別情報と前記マスタ鍵に基づき生成された保有鍵と同じ鍵を被照合値用鍵として生成する被照合値用鍵生成部と、
前記チャレンジ値生成部により生成されたチャレンジ値と前記被照合値用鍵生成部により生成された被照合値用鍵に基づき、前記第1の通信装置が前記保有鍵と前記チャレンジ値に基づき生成する照合値と前記第1の通信装置において照合される被照合値を生成する被照合値生成部とを有し、
前記通信部は、
前記チャレンジ値生成部により生成されたチャレンジ値と前記被照合値生成部により生成された被照合値を前記第1の通信装置に送信し、
前記第2の通信装置において前記保有鍵と前記チャレンジ値に基づき生成された照合値と前記被照合値が照合され前記照合値と前記被照合値とが一致すると判定されて前記第1の通信装置から前記第2の通信装置に送信された前記チャレンジ値に対する前記第2の通信装置のレスポンス値を前記第1の通信装置から受信することを特徴とする請求項6又は7に記載の認証装置。
【請求項9】
前記通信部は、
他の通信装置との接続が許可される正当な通信装置に対して、レスポンス値の生成に用いられるレスポンス用鍵が正当な通信装置の識別情報と前記マスタ鍵とに基づき生成され、生成されたレスポンス用鍵が配布された後に、前記第1の通信装置から前記第2の通信装置についての認証要求を受信し、
前記認証装置は、
正当な通信装置に配布されたレスポンス用鍵を記憶しておらず、
前記認証鍵生成部は、
前記第2の通信装置の識別情報と前記マスタ鍵とに基づき、レスポンス用鍵の生成アルゴリズムと同じアルゴリズムにより、前記第2の通信装置の認証に用いる認証鍵を生成し、
前記照合レスポンス値生成部は、
正当な通信装置がレスポンス用鍵とチャレンジ値とに基づきレスポンス値を生成するアルゴリズムと同じアルゴリズムにより、前記認証鍵生成部により生成された認証鍵と前記チャレンジ値生成部により生成されたチャレンジ値とに基づき照合レスポンス値を生成することを特徴とする請求項6〜8のいずれかに記載の認証装置。
【請求項10】
前記認証装置は、更に、
正当な通信装置に配布された検証情報を識別情報と対応付けて記憶している検証情報記憶部を有し、
前記接続許否判定部は、
前記第2の通信装置のレスポンス値と前記照合レスポンス値が一致する場合に、前記第2の通信装置の検証情報の送信を要求する検証情報要求を生成し、
前記通信部は、
前記接続許否判定部により生成された検証情報要求を前記第1の通信装置に送信し、前記第1の通信装置から前記第2の通信装置の検証情報を受信し、
前記接続許否判定部は、
前記第2の通信装置の識別情報と対応付けられている検証情報を前記検証情報記憶部から取得し、前記通信部により受信された前記第2の通信装置の検証情報と前記検証情報記憶部から取得した検証情報とを照合し、検証情報が一致する場合に、前記第1の通信装置と前記第2の通信装置との間の接続を許可し、検証情報が一致しない場合に、前記第1の通信装置と前記第2の通信装置との間の接続を許可しないことを特徴とする請求項9に記載の認証装置。
【請求項11】
マスタ鍵を記憶しているコンピュータが行う認証方法であって、
前記コンピュータが、いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信ステップと、
前記通信ステップにより前記接続要求が受信された際に、前記コンピュータが、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記接続要求通信装置の識別情報と前記マスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成ステップと、
前記コンピュータが、前記認証鍵生成ステップにより生成された認証鍵と前記チャレンジ値生成ステップにより生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成ステップにより生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定ステップとを有することを特徴とする認証方法。
【請求項12】
マスタ鍵を記憶しているコンピュータが行う認証方法であって、
前記コンピュータが、第2の通信装置から接続要求を受信した第1の通信装置から前記第2の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して生成されたチャレンジ値を前記第1の通信装置に送信し、前記第1の通信装置から前記第2の通信装置に送信されたチャレンジ値に対する前記第2の通信装置によるレスポンス値を前記第1の通信装置から受信し、前記第2の通信装置の識別情報を前記第1の通信装置から受信する通信ステップと、
前記コンピュータが、前記通信ステップにより前記認証要求が受信された際にチャレンジ値を生成するチャレンジ値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記第2の通信装置の識別情報と前記マスタ鍵とに基づき、前記第2の通信装置の認証に用いる認証鍵を生成する認証鍵生成ステップと、
前記コンピュータが、前記認証鍵生成ステップにより生成された認証鍵と前記チャレンジ値生成ステップにより生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成ステップと、
前記コンピュータが、前記通信ステップにより受信された前記第2の通信装置のレスポンス値と前記照合レスポンス値生成ステップにより生成された照合レスポンス値とを照合し、前記第1の通信装置と前記第2の通信装置との間の接続を許可するか否かを判定する接続許否判定ステップとを有することを特徴とする認証方法。
【請求項13】
マスタ鍵を記憶しているコンピュータに、
いずれかの通信装置から接続要求を受信し、前記接続要求に対して生成されたチャレンジ値を前記接続要求の送信元である接続要求通信装置に送信し、前記接続要求通信装置から前記チャレンジ値に対するレスポンス値を受信し、前記接続要求通信装置の識別情報を受信する通信処理と、
前記通信処理により前記接続要求が受信された際に、前記接続要求通信装置の認証のためのチャレンジ値を生成するチャレンジ値生成処理と、
前記通信処理により受信された前記接続要求通信装置の識別情報と前記マスタ鍵とに基づき、前記接続要求通信装置の認証に用いる認証鍵を生成する認証鍵生成処理と、
前記認証鍵生成処理により生成された認証鍵と前記チャレンジ値生成処理により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成処理と、
前記通信処理により受信された前記接続要求通信装置からの受信レスポンス値と前記照合レスポンス値生成処理により生成された照合レスポンス値とを照合し、前記接続要求通信装置との接続を許可するか否かを判定する接続許否判定処理とを実行させることを特徴とするプログラム。
【請求項14】
マスタ鍵を記憶しているコンピュータに、
第2の通信装置から接続要求を受信した第1の通信装置から前記第2の通信装置の認証を要求する認証要求を受信し、前記認証要求に対して生成されたチャレンジ値を前記第1の通信装置に送信し、前記第1の通信装置から前記第2の通信装置に送信されたチャレンジ値に対する前記第2の通信装置によるレスポンス値を前記第1の通信装置から受信し、前記第2の通信装置の識別情報を前記第1の通信装置から受信する通信処理と、
前記通信処理により前記認証要求が受信された際にチャレンジ値を生成するチャレンジ値生成処理と、
前記通信処理により受信された前記第2の通信装置の識別情報と前記マスタ鍵とに基づき、前記第2の通信装置の認証に用いる認証鍵を生成する認証鍵生成処理と、
前記認証鍵生成処理により生成された認証鍵と前記チャレンジ値生成処理により生成されたチャレンジ値とに基づき、照合レスポンス値を生成する照合レスポンス値生成処理と、
前記通信処理により受信された前記第2の通信装置のレスポンス値と前記照合レスポンス値生成処理により生成された照合レスポンス値とを照合し、前記第1の通信装置と前記第2の通信装置との間の接続を許可するか否かを判定する接続許否判定処理とを実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2011−176649(P2011−176649A)
【公開日】平成23年9月8日(2011.9.8)
【国際特許分類】
【出願番号】特願2010−39517(P2010−39517)
【出願日】平成22年2月25日(2010.2.25)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成23年9月8日(2011.9.8)
【国際特許分類】
【出願日】平成22年2月25日(2010.2.25)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]