以下に、本願の開示する機器登録装置、機器登録方法及び機器登録プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、実施例1に係るシステムの構成について説明する。図1は、実施例1に係るシステムの構成を示す図である。図1に示すように、実施例1に係るシステム1は、複数の通信処理装置2と、登録装置3と、管理装置4とを有する。登録装置3は、ネットワーク2aを介して複数の通信処理装置2及び管理装置4に接続される。
登録装置3は、通信処理装置2を登録し、登録した通信処理装置2へのアクセスあるいは登録した通信処理装置2からのアクセスを可能とする装置である。例えば、通信処理装置2をルータとすると、登録装置3はルータのベンダーが運営するインターネット上のサーバである。管理装置4は、複数の通信処理装置2の登録を管理する装置である。管理装置4は、例えばタブレットPC(Personal Computer)である。
通信処理装置2は、自動設定又は手動設定によりネットワーク2a経由で登録装置3を認証して安全に通信可能である。すなわち、通信処理装置2から見て通信相手の登録装置3は真正なもので偽装置のなりすましではなく、なおかつ通信路上のデータを盗聴されたり改ざんされたりすることはない。こうした認証を伴う通信手段の例として、Transport Layer Security(TLS)が挙げられる。
管理装置4も、TLS等の手段で登録装置3を認証して安全に通信することができ、なおかつ管理装置4と登録装置3の間ではユーザ認証が済んでおり、ユーザを識別するユーザIDをそれぞれ記憶する。
ユーザは、管理装置4を操作することが可能であり、通信処理装置2が備えるボタンを押下することができる。
次に、管理装置4を用いた鍵登録について説明する。図2は、管理装置4を用いた鍵登録を説明するための図である。図2に示すように、通信処理装置2は、ボタン20aと通信処理装置2の識別子を表示するラベルとしてQRコード(登録商標)20bを有する。ボタン20aは、ユーザが通信処理装置2にトリガーを与えるための機械的なスイッチである。ボタン20aは、例えばWPS(WiFi Protected Setup)のボタンである。QRコード20bには、通信処理装置2を識別する通信処理装置IDが表示される。なお、通信処理装置2は、QRコード20bの代わりに通信処理装置IDを記憶するRFID(Radio Frequency Identifier)タグ、バーコードを有してもよい。また、通信処理装置2は、通信処理装置IDを記憶する。
管理装置4は、QRコード20bを読み取ることによって通信処理装置IDを読み出し(1)、読み出した通信処理装置IDであるid’を第1の機器識別子として登録装置3に通知する(2)。登録装置3は、id’を到着時刻t’とともに保持する。そして、ユーザは、ボタン20aを押下して通信処理装置2にトリガーを与える(3)。通信処理装置2へトリガーを与える方法としては、電源の投入、ネットワーク2aへの接続等の他の方法でもよい。
通信処理装置2は、トリガーを検知するとpskとpkを生成し、記憶する通信処理装置IDであるidを第2の機器識別子としてpkとともに登録装置3に通知する(4)。ここで、pskは、公開鍵暗号の秘密鍵であり、pkは、公開鍵暗号の公開鍵である。なお、pskにパスワードとpkにパスワードのハッシュ値、又はpkのみで共通鍵を利用してもよい。また、登録装置3は、idとpkを到着時刻tとともに保持する。
そして、登録装置3は、idとid’の一致を確認し、idとid’が一致する場合には、到着時刻tと到着時刻t’の差が許容範囲内であるかを確認する。ここで、許容範囲内とは、例えば30秒未満である。そして、許容範囲内である場合には、通信処理装置IDとpkが登録装置3に登録される。図2では、通信処理装置IDとして「SN123456」が登録され、pkとして「pass1」が登録される。
図3は、鍵登録シーケンスを示す図である。図3に示すように、管理装置4は、QRコード20bを読み取ることによって読み出した通信処理装置IDをid’として登録装置3に送信する(t1)。なお、通信処理装置2から管理装置4への破線の矢印は、QRコード20bから通信処理装置IDが読み出されることを表す。
登録装置3は、id’を受信すると、受信時刻t’とともにid’を保持し、管理装置4に応答メッセージを送信する(t2)。ここで、応答メッセージは、例えば「30秒以内にボタン押下して下さい」である。そして、管理装置4が応答メッセージを表示部に表示すると、ユーザが通信処理装置2のボタン押下を行う。すると、通信処理装置2は、ボタン押下を検知し、psk及びpkを生成し、通信処理装置IDをidとしてpkとともに登録装置3に送信する(t3)。
登録装置3は、idとid’が等しく、idの受信時刻tがid’の受信時刻t’から許容範囲内(タイムアウトにならない)なので、登録鍵情報にidとpkを登録し、登録完了メッセージを管理装置4に送信する(t4)。管理装置4は、登録完了メッセージを受信すると、表示部に「登録完了」を表示する。
図4は、複数の鍵の登録シーケンスを示す図である。図4に示すように、ユーザは、通信処理装置2のQRコード20bを管理装置4で読み取り、管理装置4に一時格納する。そして、ユーザは、複数の通信処理装置2のQRコード20bの読み取りを終了すると、管理装置4に通信処理装置IDの送信を指示する。そして、管理装置4は、複数の通信処理装置IDを登録装置3に送信する(t11)。以下では、管理装置4がid#1’、id#2’及びid#3’の3つの通信処理装置IDを送信する場合を例として説明する。
登録装置3は、id#1’、id#2’及びid#3’を受信すると、受信時刻t’とともにid#1’、id#2’及びid#3’を保持し、管理装置4に応答メッセージを送信する(t12)。
そして、ユーザが通信処理装置IDがid#1である通信処理装置2のボタン20aを押下すると、通信処理装置IDがid#1である通信処理装置2は、登録装置3に登録メッセージ(id#1及びpk#1)を送信する(t13)。
そして、ユーザが通信処理装置IDがid#2である通信処理装置2のボタン20aを押下すると、通信処理装置IDがid#2である通信処理装置2は、登録装置3に登録メッセージ(id#2及びpk#2)を送信する(t14)。
そして、ユーザが通信処理装置IDがid#3である通信処理装置2のボタン20aを押下すると、通信処理装置IDがid#3である通信処理装置2は、登録装置3に登録メッセージ(id#3及びpk#3)を送信する(t15)。
そして、(id#1’=id#1、id#2’=id#2、id#3’=id#3)かつ、id#3の受信時刻tがid#1’、id#2’及びid#3’の受信時刻t’から許容範囲内なので、登録装置3は、登録鍵情報にidと鍵の組を3つ登録する。そして、登録装置3は、登録完了メッセージを管理装置4に送信する(t16)。管理装置4は、登録完了メッセージを受信すると、表示部に「登録完了」を表示する。
このように、ユーザは、各通信処理装置2のボタン20aを順に押下することで複数の鍵を登録することができる。ただし、登録する通信処理装置2の台数が多い場合には、全ての通信処理装置2のボタン20aを順に押下することはユーザにとって負担となる。そこで、実施例1に係るシステム1は、一部の通信処理装置2のボタン20aだけをユーザに押下させることで、登録を効率良く行う。
図5は、実施例1に係るシステム1による鍵登録シーケンスを示す図である。図5に示すように、ユーザは、通信処理装置2のQRコード20bを管理装置4で読み取り、管理装置4に一時格納する。そして、ユーザは、複数の通信処理装置2のQRコード20bの読み取りが終了すると、管理装置4に通信処理装置IDの送信を指示する。そして、管理装置4は、複数の機器IDを登録装置3に送信する(t21)。以下では、管理装置4がid#1’、id#2’、id#3’、id#4’及びid#5’の5つの通信処理装置IDを送信する場合を例として説明する。
登録装置3は、id#1’、id#2’、id#3’、id#4’及びid#5’を受信すると、受信時刻t’とともにid#1’、id#2’、id#3’、id#4’及びid#5’を保持する。そして、登録装置3は、5個のid’から1個のid’をランダムに選択し、管理装置4に応答メッセージを送信する(t22)。図5では、id#2’が選択され、「通信処理装置#2のボタンを押下して下さい」という応答メッセージが管理装置4に送信される。
なお、登録装置3は、通信処理装置IDと通信処理装置2の名前を対応付ける通信処理装置情報を記憶し、通信処理装置IDから通信処理装置2の名前を特定できる。しかしながら、登録装置3が通信処理装置IDから通信処理装置2の名前を特定できない場合には、応答メッセージは、「5台のうち、2番目にIDを読込んだ通信処理装置のボタンを押して下さい」でもよい。また、応答メッセージは、「5台のうち、通信処理装置IDがid#2’の通信処理装置のボタンを押して下さい」等であってもよい。
あるいは、通信処理装置2にLED(Light Emitting Diode)が搭載されている場合には、登録装置3は、通信処理装置IDから通信処理装置2を特定し、特定した通信処理装置2のLEDを点滅してもよい。この場合、応答メッセージは、例えば「LEDが点滅している通信処理装置のボタンを押下して下さい」である。
そして、ユーザが通信処理装置#2のボタン20aを押下すると、通信処理装置#2は、登録装置3に登録メッセージ(id#2及びpk#2)を送信する(t23)。すると、登録装置3は、登録メッセージを時刻tに受信し、id#2=id#2’、かつ、t-t’が許容範囲内であるかを確認する。そして、確認に成功すると、登録装置3は、残り4個のid’から1個のid’をランダムに選択し、管理装置4に応答メッセージを送信する(t24)。図5では、id#4’が選択され、「通信処理装置#4のボタンを押下して下さい」という応答メッセージが管理装置4に送信される。
そして、ユーザが通信処理装置#4のボタン20aを押下すると、通信処理装置#4は、登録装置3に登録メッセージ(id#4及びpk#4)を送信する(t25)。すると、登録装置3は、登録メッセージを時刻tに受信し、id#4=id#4’、かつ、t-t’が許容範囲内であるかを確認する。そして、確認に成功すると、登録装置3は、残り3個のid’から1個のid’をランダムに選択し、管理装置4に応答メッセージを送信する(t26)。図5では、id#1’が選択され、「通信処理装置#1のボタンを押下して下さい」という応答メッセージが管理装置4に送信される。
そして、ユーザが通信処理装置#1のボタン20aを押下すると、通信処理装置#1は、登録装置3に登録メッセージ(id#1及びpk#1)を送信する(t27)。すると、登録装置3は、登録メッセージを時刻tに受信し、id#1=id#1’、かつ、t-t’が許容範囲内であるかを確認する。そして、確認に成功すると、登録装置3は、選択した3つのid’の順番である第1の順番と受信した3つのidの順番である第2の順番が等しいので、確認が完了した状態にあると判定する。
そして、登録装置3は、通信処理装置#3及び通信処理装置#5に通信処理装置IDと鍵の送信を要求する(t28,t29)。そして、通信処理装置#3及び通信処理装置#5が通信処理装置IDと鍵を送信する(t30,t31)。そして、通信処理装置#1~通信処理装置#5について通信処理装置IDと鍵を登録鍵情報に登録し、管理装置4に登録完了メッセージを送信する(t32)。
このように、鍵を登録する通信処理装置2の台数をNとすると、登録装置3は、ユーザにM(1≦M≦N-1)台の通信処理装置2のボタン20aだけを押下させることによって、鍵の登録を効率良く行うことができる。
次に、通信処理装置2、登録装置3及び管理装置4の機能構成について説明する。図6は、通信処理装置2、登録装置3及び管理装置4の機能構成を示す図である。なお、各通信処理装置2の機能構成は同じであるので、図6では1台の通信処理装置2の機能構成のみを示す。
図6に示すように、通信処理装置2は、トリガー検知部21と、通信送受信部22と、表示制御部23とを有する。トリガー検知部21は、ユーザによるボタン20aの押下を検知すると、psk及びpkを生成する。そして、トリガー検知部21は、通信処理装置IDとpkを通信送受信部22を介して登録装置3に送信する。
通信送受信部22は、登録装置3との間で通信を行う。通信送受信部22は、確認が完了した状態になり、登録装置3から通信処理装置IDと鍵の送信を要求されると、トリガー検知部21にpsk及びpkの生成を依頼し、通信処理装置IDとpkを登録装置3に送信する。
表示制御部23は、登録装置3からの応答メッセージを通信送受信部22を介して受け取り、応答メッセージに基づいて表示部に表示を行う。表示部には、例えばLEDが用いられる。
登録装置3は、記憶部30と、通信送受信部31と、鍵登録部32とを有する。記憶部30は、登録鍵情報と通信処理装置情報を記憶する。登録鍵情報は通信処理装置2に対して登録された鍵の情報であり、通信処理装置情報は通信処理装置2に関する情報である。
図7は、登録鍵情報及び通信処理装置情報の例を示す図である。図7に示すように、登録鍵情報は、通信処理装置IDとpkを対応付ける情報である。例えば、通信処理装置IDが「SN123456」である通信処理装置2のpkは「pass1」である。通信処理装置情報は、通信処理装置IDと通信処理装置名と設置場所とを対応付ける情報である。例えば、通信処理装置IDが「SN123456」である通信処理装置2の名前は「カメラ#1」であり、設置場所は「建屋A-1」である。
通信送受信部31は、通信処理装置2及び管理装置4との間で通信を行う。通信送受信部31は、通信処理装置2及び管理装置4から受信したデータを鍵登録部32に渡し、鍵登録部32からの指示に基づいて、メッセージを管理装置4に送信し、指示を通信処理装置2に送信する。
鍵登録部32は、通信送受信部31を介して通信処理装置2及び管理装置4と通信を行い、鍵の登録を行う。鍵登録部32は、第1受信部33と、第1判定部34と、第1登録部35とを有する。
第1受信部33は、管理装置4からN個の通信処理装置IDを受信し、受信したN個の通信処理装置IDを受信時刻t’とともに第1判定部34に渡す。第1受信部33は、第1の受信部の一例である。
第1判定部34は、N個の通信処理装置IDからM個の通信処理装置IDを第1の順番で選択し、管理装置4にM個の通信処理装置IDの送信を指示する。そして、第1判定部34は、M台の通信処理装置2から第2の順番で通信処理装置IDを受信し、第1の順番と第2の順番が等しいか否かを判定し、第1の順番と第2の順番が等しい場合に、N台の通信処理装置2を登録する。第1判定部34は、第1の判定部の一例である。
第1判定部34は、第1指示部36と、第2受信部37と、第2判定部38と、第3判定部39と、残受信部40とを有する。
第1指示部36は、N個の通信処理装置IDからランダムに1個の通信処理装置IDを選択し、選択した通信処理装置IDに対応する通信処理装置2のボタン20aの押下を管理装置4に指示する。第1指示部36は、第1の順番で異なる通信処理装置IDを選択しながらM回指示を行う。
第2受信部37は、第1指示部36による指示に基づいてボタン20aが押下された通信処理装置2から送信された通信処理装置IDと鍵を受信し、受信した通信処理装置IDと鍵を受信時刻tとともに第2判定部38に渡す。第2受信部37は、第2の順番でM台の異なる通信処理装置2から通信処理装置IDと鍵を受信する。
第2判定部38は、第1指示部36が選択した通信処理装置IDを第1指示部36から受け取り、第2受信部37が受信した通信処理装置IDを第2受信部37から受け取る。そして、第2判定部38は、第1指示部36が選択した通信処理装置IDと、第2受信部37が受信した通信処理装置IDが等しいか否かを判定する。また、第2判定部38は、t-t’が許容範囲内であるかを判定する。そして、第2判定部38は、第1指示部36が選択した通信処理装置IDと第2受信部37が受信した通信処理装置IDが等しく、t-t’が許容範囲内である場合に、通信処理装置IDと鍵を一時的に記憶する。
第3判定部39は、確認完了状態にあるか否かを判定する。ここで、確認完了状態とは、第1指示部36が選択した通信処理装置IDと第2受信部37が受信した通信処理装置IDが等しく、かつ、t-t’が許容範囲内であることをM台の通信処理装置2について確認した状態である。そして、第3判定部39は、M台の確認が完了していないと判定した場合には、第1指示部36に、新たな通信処理装置IDの選択と選択した通信処理装置IDに対応する通信処理装置2のボタン20aの押下指示の送信を指示する。
残受信部40は、第3判定部39により確認完了状態にあると判定された場合に、残りの(N-M)台の通信処理装置2に通信処理装置IDと鍵の送信を指示し、指示した通信処理装置2から通信処理装置IDと鍵を受信する。
第1登録部35は、残受信部40から通信処理装置IDと鍵の組を(N-M)個受け取り、第2判定部38が一時的に記憶したM組の通信処理装置IDと鍵とともに登録鍵情報に登録する。第1登録部35は、第1の登録部の一例である。
管理装置4は、読取部41と、通知部42と、通信送受信部43と、表示制御部44とを有する。読取部41は、QRコード20bを読み取ることによって通信処理装置IDを読み出して記憶する。そして、読取部41は、N台の通信処理装置2から通信処理装置IDを読み出すと、N個の通信処理装置IDを通知部42に渡す。通知部42は、読取部41から渡されたNの通信処理装置IDを通信送受信部43を介して登録装置3に送信する。通信送受信部43は、登録装置3との間で通信を行う。表示制御部44は、登録装置3からのメッセージを通信送受信部43を介して受け取り、メッセージに基づいて表示部に表示を行う。
次に、実施例1に係る登録装置3による処理のフローについて説明する。図8は、実施例1に係る登録装置3による処理のフローを示すフローチャートである。図8に示すように、登録装置3は、メッセージを受信し(ステップS11)、何のメッセージか判定する(ステップS12)。
そして、管理装置4からのメッセージである場合には、登録装置3は、取得時刻(t’)及びN個のid’を保持し(ステップS13)、N個のid’のうち、ランダムに1つ(idrnd’)を選択する(ステップS14)。そして、登録装置3は、管理装置4に応答メッセージを送信する(ステップS15)。
一方、通信処理装置2からのメッセージである場合には、登録装置3は、idrnd’とidが等しいか否かを判定し(ステップS16)、idrnd’とidが等しい場合には、取得時刻(t)とidと鍵を保持する(ステップS17)。そして、登録装置3は、|t-t’|がnより小さいか否かを判定する(ステップS18)。ここで、nは許容時間である。
そして、登録装置3は、|t-t’|がnより小さい場合には、idと鍵を登録用情報として記憶し、xをインクリメントする(ステップS19)。ここで、xはボタン20aが押下された回数であり、初期値は0である。そして、登録装置3は、xとMが等しいか否かを判定し(ステップS20)、xとMが等しくない場合には、ステップS14に移動する。ただし、登録装置3は、ステップS14において、選択されていないid’からidrnd’を選択する。一方、xとMが等しい場合には、登録装置3は、残りの通信処理装置2からidと鍵を取得し、記憶した登録用情報とともに登録鍵情報に登録する(ステップS21)。そして、登録装置3は、管理装置4に登録完了メッセージを送信する(ステップS22)。
一方、|t-t’|がnより小さくない場合には、登録装置3は、管理装置4に許容範囲外エラーメッセージを送信する(ステップS23)。また、ステップS16において、idrnd’とidが等しくない場合には、登録装置3は、メッセージを廃棄する(ステップS24)。
このように、登録装置3は、N個のid’のうち、ランダムに選択したM個のid’と等しいidが選択したid’の順番にタイムリミットより前に送られてくるとN台の通信処理装置2の情報を登録する。したがって、登録装置3は、N台のボタン20aを押下させる場合と比較して、効率良く通信処理装置2を登録することができる。
上述してきたように、実施例1では、第1受信部33が、N台の通信処理装置2のQRコード20bから読み出されたN個のid’を管理装置4から受信する。そして、第1指示部36が、N個のid’からM個選択してM個のid’を第1の順番で送信するように管理装置4に指示する。そして、ユーザがM個のid’に対応するM台の通信処理装置2のボタン20aを押下すると、第2受信部37がidを第2の順番でM個受信する。そして、第2受信部37がidを受信する毎に、第1指示部36により選択されたid’とidが等しいか否か及びidの受信がタイムリミットより前か否かを第2判定部38が判定する。そして、第3判定部39が、確認完了状態にあるか否かを判定する。そして、第3判定部39により確認完了状態にあると判定されると、第1登録部35は、N台の通信処理装置2の登録を行う。したがって、登録装置3は、通信処理装置2を安全にかつ効率良く登録することができる。
なお、登録装置3は、N個のid’から1個ずつid’を選択してid’の送信を管理装置4に指示し、通信処理装置2からidが送られてくると、idとid’が等しいか否及びidの受信がタイムリミットより前か否かを判定する処理をM回繰り返す。しかしながら、登録装置3は、id’の選択及び送信指示とidの受信をM回繰り返し、M個のid’を選択した第1の順番とM個のidを受信した第2の順番が等しいか否か及びM番目のidの受信がタイムリミットより前か否かを判定してもよい。
また、実施例1では、タイムアウトを設ける場合について説明したが、タイムアウトは設けなくてもよい。また、実施例1では、登録装置3がボタン20aが押下される通信処理装置2を決める場合について説明したが、管理装置4がボタン20aが押下される通信処理装置2を決めてもよい。
また、実施例1では、ボタン20aを用いる場合について説明したが、通信処理装置2は、他の機械的スイッチを用いてもよい。また、実施例1では、通信処理装置2が鍵を生成する場合について説明したが、登録装置3が鍵を生成し、登録が完了した通信処理装置2に鍵を送信してもよい。
ところで、上記実施例1では、ボタン20aの押下指示を1台ずつ行う場合について説明したが、登録装置は、ボタン20aの押下指示をM台より少ないp台ずつ行ってもよい。そこで、実施例2では、実施例2に係る登録装置3aがボタン20aの押下指示をp台ずつ行う場合について説明する。
図9は、実施例2に係るシステム1aによる鍵登録シーケンスを示す図である。図9では、N=5、M=4、p=2である。図9に示すように、ユーザは、5台の通信処理装置2のQRコード20bを管理装置4で読み取り、管理装置4に5個の通信処理装置IDの送信を指示する。そして、管理装置4は、id#1’、id#2’、id#3’、id#4’及びid#5’の5つの通信処理装置IDを登録装置3aに送信する(t41)。
登録装置3aは、id#1’、id#2’、id#3’、id#4’及びid#5’を受信すると、受信時刻t’とともにid#1’、id#2’、id#3’、id#4’及びid#5’を保持する。そして、登録装置3aは、5個のid’から2個のid’をランダムに選択し、管理装置4に応答メッセージを送信する(t42)。図9では、id#2’とid#4’が選択され、「通信処理装置#2、通信処理装置#4の順に、ボタンを押下して下さい」という応答メッセージが管理装置4に送信される。
そして、ユーザが通信処理装置#2のボタン20aを押下すると、通信処理装置#2は、登録装置3aに登録メッセージ(id#2及びpk#2)を送信する(t43)。また、ユーザが通信処理装置#4のボタン20aを押下すると、通信処理装置#4は、登録装置3aに登録メッセージ(id#4及びpk#4)を送信する(t44)。
そして、登録装置3aは、通信処理装置#4から登録メッセージを時刻tに受信し、id#2=id#2’、かつ、id#4=id#4’、かつ、t-t’が許容範囲内であるかを確認する。そして、確認に成功すると、登録装置3aは、3個のid’から次のid’をランダムに2個選択し、管理装置4に応答メッセージを送信する(t45)。図9では、id#1’とid#5’が選択され、「通信処理装置#1、通信処理装置#5の順に、ボタンを押下して下さい」という応答メッセージが管理装置4に送信される。
そして、ユーザが通信処理装置#1のボタン20aを押下すると、通信処理装置#1は、登録装置3aに登録メッセージ(id#1及びpk#1)を送信する(t46)。また、ユーザが通信処理装置#5のボタン20aを押下すると、通信処理装置#5は、登録装置3aに登録メッセージ(id#5及びpk#5)を送信する(t47)。
そして、登録装置3aは、通信処理装置#5から登録メッセージを時刻tに受信し、id#1=id#1’、かつ、id#5=id#5’、かつ、t-t’が許容範囲内であるかを確認する。そして、確認に成功すると、登録装置3aは、通信処理装置#3に通信処理装置IDと鍵の送信を要求する(t48)。そして、通信処理装置#3が通信処理装置IDと鍵を送信する(t49)。そして、登録装置3aは、通信処理装置#1~通信処理装置#5の通信処理装置IDと鍵を登録鍵情報に登録し、管理装置4に登録完了メッセージを送信する(t50)。
このように、登録装置3aは、ボタン20aの押下指示をp台ずつ行うことで、管理装置4へのメッセージの送信回数を減らし、鍵の登録を効率良く行うことができる。
図10は、実施例2に係る登録装置3aの機能構成を示す図である。なお、ここでは説明の便宜上、図6に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
図10に示すように、実施例2に係る登録装置3aは、図6に示した登録装置3と比較して、鍵登録部32の代わりに鍵登録部32aを有する。鍵登録部32aは、第1判定部34の代わりに第1判定部34aを有する。第1判定部34aは、第1指示部36の代わりに第1指示部36aを有し、第2受信部37の代わりに第2受信部37aを有し、第2判定部38の代わりに第2判定部38aを有する。
第1指示部36aは、N個の通信処理装置IDからランダムにp個の通信処理装置IDを選択し、選択した通信処理装置IDに対応するp台の通信処理装置2のボタン20aの押下を管理装置4に指示する。第1指示部36aは、第1の順番で異なる通信処理装置IDを選択しながら(M/p)回指示を行う。
第2受信部37aは、第1指示部36aによる指示に基づいてボタン20aが押下されたp台の通信処理装置2から送信された通信処理装置IDと鍵を受信し、受信した通信処理装置IDと鍵を受信時刻tとともに第2判定部38aに渡す。第2受信部37aは、(M/p)回通信処理装置IDと鍵を受信する。
第2判定部38aは、第1指示部36aが選択したp個の通信処理装置IDを第1指示部36aから受け取り、第2受信部37aが受信したp個の通信処理装置IDを第2受信部37aから受け取る。そして、第2判定部38aは、第1指示部36aが選択したp個の通信処理装置IDと、第2受信部37aが受信したp個の通信処理装置IDが等しいか否かを判定する。また、第2判定部38aは、t-t’が許容範囲内であるかを判定する。そして、第2判定部38aは、第1指示部36aが選択したp個の通信処理装置IDと第2受信部37aが受信したp個の通信処理装置IDが等しく、t-t’が許容範囲内である場合に、通信処理装置IDと鍵のp個の組を一時的に記憶する。
図11は、登録装置3aによる処理のフローを示すフローチャートである。図11に示すように、登録装置3aは、メッセージを受信し(ステップS31)、何のメッセージか判定する(ステップS32)。
そして、管理装置4からのメッセージである場合には、登録装置3aは、取得時刻(t’)及びN個のid’を保持し(ステップS33)、N個のid’のうち、ランダムにp個(idrnd1’,・・・,idrndp’)を選択する(ステップS34)。そして、登録装置3aは、管理装置4に応答メッセージを送信する(ステップS35)。
一方、通信処理装置2からのメッセージである場合には、登録装置3aは、idrnd1’とid#1が等しく、かつ、・・・、かつ、idrndp’とid#pが等しいか否かを判定する(ステップS36)。そして、idrnd1’とid#1が等しく、かつ、・・・、かつ、idrndp’とid#pが等しい場合には、登録装置3aは、取得時刻(t)とp組のidと鍵を保持する(ステップS37)。そして、登録装置3aは、|t-t’|がnより小さいか否かを判定する(ステップS38)。
そして、登録装置3aは、|t-t’|がnより小さい場合には、p組のidと鍵を登録用情報として記憶し、xをインクリメントする(ステップS39)。そして、登録装置3aは、xと(M/p)が等しいか否かを判定し(ステップS40)、xと(M/p)が等しくない場合には、ステップS34に移動する。一方、xと(M/p)が等しい場合には、登録装置3aは、残りの通信処理装置2からidと鍵を取得し、記憶した登録用情報とともに登録鍵情報に登録する(ステップS41)。そして、登録装置3aは、管理装置4に登録完了メッセージを送信する(ステップS42)。
一方、|t-t’|がnより小さくない場合には、登録装置3aは、管理装置4に許容範囲外エラーメッセージを送信する(ステップS43)。また、ステップS36において、idrnd1’とid#1が等しくない、又は、・・・、又は、idrndp’とid#pが等しくない場合には、登録装置3aは、メッセージを廃棄する(ステップS44)。
上述してきたように、実施例2では、登録装置3aは、N個のid’のうち、ランダムにp個ずつ(M/p)回選択したM個のid’が選択した順番にp個ずつM/p回タイムリミットより前に送られてくるとN台の通信処理装置2のユーザ情報を登録する。したがって、登録装置3aは、メッセージの送信回数を減らすことができるので、効率良く通信処理装置2を登録することができる。
実施例3では、N台の通信処理装置2のグループがL個ある場合、すなわち、N×L個の通信処理装置2を登録する場合について説明する。実施例3に係る登録装置3bは、L個のグループのうち、最初の所定の数のグループについては、N台の通信処理装置2のボタン20aをユーザに押下させる。そして、登録装置3bは、これらのグループの処理において正しい順番で通信処理装置2のボタン20aが押下されると、次のグループからはq台ずつ減らしながら通信処理装置2のボタン20aをユーザに押下させる。そして、登録装置3bは、L個のグループについて確認を完了すると、N×L個の通信処理装置2を登録する。
図12は、登録装置3bの機能構成を示す図である。図12に示すように、登録装置3bは、図6に示した登録装置3と比較して、新たに鍵登録部32bを有する。鍵登録部32bは、第4判定部34bと第2登録部35bを有する。
第4判定部34bは、図4に示したシーケンスに基づいてN個の通信処理装置IDの確認を行う。第4判定部34bは、第2指示部36bと、第3受信部37bと、第5判定部38bとを有する。
第2指示部36bは、N個の通信処理装置IDにそれぞれ対応するN台の通信処理装置2のボタン20aの押下指示を管理装置4に送信する。第3受信部37bは、第2指示部36bによる指示に基づいてボタン20aが押下された通信処理装置2から送信された通信処理装置IDと鍵を受信し、受信した通信処理装置IDと鍵を受信時刻tとともに第5判定部38bに渡す。
第5判定部38bは、第1受信部33が受信したN個の通信処理装置IDと、第3受信部37bが受信した通信処理装置IDが等しいか否かを判定する。また、第5判定部38bは、t-t’が許容範囲内であるかを判定する。そして、第5判定部38bは、第1受信部33が受信したN個の通信処理装置IDと、第3受信部37bが受信した通信処理装置IDが等しく、t-t’が許容範囲内である場合に、確認完了状態にあると判定し、N組の通信処理装置IDと鍵を一時的に記憶する。
第2登録部35bは、所定の数のグループについて第5判定部38bが確認完了状態にあると判定した後、Nをqずつ減らしながら第3判定部39が(L-所定の数)のグループについて確認完了状態にあると判定すると、全通信処理装置2を登録する。
図13は、登録装置3bによる処理のフローを示すフローチャートである。なお、図13では、所定の数を「1」とする。図13に示すように、登録装置3bは、Mを設定する(ステップS51)。ここでは、登録装置3bは、MをNとする。そして、登録装置3bは、N個のid’とidが等しく、t-t’が許容範囲内であるかを確認する全ID確認処理を実行する(ステップS52)。
そして、登録装置3bは、Mを設定する(ステップS53)。ここでは、登録装置3bは、Mからqを引く。そして、登録装置3bは、id’とidが等しく、t-t’が許容範囲内であるかをM回確認する一部ID確認処理を実行する(ステップS54)。なお、一部ID確認処理のフローは、図8に示したフローと同様であるが、idと鍵の登録はステップS21において行わず、ステップS56において行う。また、一部ID確認処理のフローは、図11に示したフローと同様でもよい。この場合、idと鍵の登録はステップS41において行わず、ステップS56において行う。
そして、登録装置3bは、Lグループ完了か否かを判定し(ステップS55)、Lグループ完了でない場合には、ステップS53に戻る。一方、Lグループ完了の場合には、登録装置3bは、L×N個の通信処理装置2を登録する(ステップS56)。すなわち、通信処理装置IDと鍵のL×N個の組を鍵登録情報に登録する。
図14は、全ID確認処理のフローを示すフローチャートである。図14に示すように、登録装置3bは、メッセージを受信し(ステップS61)、何のメッセージか判定する(ステップS62)。そして、管理装置4からのメッセージである場合には、登録装置3bは、取得時刻(t’)及びN個のid’を保持し(ステップS63)、管理装置4に応答メッセージを送信する(ステップS64)。
一方、通信処理装置2からのメッセージである場合には、登録装置3bは、idx+1’とidが等しいか否かを判定し(ステップS65)、idx+1’とidが等しい場合には、取得時刻(t)とidと鍵を保持する(ステップS66)。そして、登録装置3bは、|t-t’|がnより小さいか否かを判定する(ステップS67)。
そして、登録装置3bは、|t-t’|がnより小さい場合には、idと鍵を登録用情報として記憶し、xをインクリメントする(ステップS68)。そして、登録装置3bは、xとMが等しいか否かを判定し(ステップS69)、xとMが等しくない場合には、通信処理装置2からメッセージを受信し(ステップS70)、ステップS65に移動する。一方、xとMが等しい場合には、登録装置3bは、処理を終了する。
また、ステップS67において、|t-t’|がnより小さくない場合には、登録装置3bは、管理装置4に許容範囲外エラーメッセージを送信する(ステップS71)。また、ステップS65において、idx+1’とidが等しくない場合には、登録装置3bは、メッセージを廃棄する(ステップS72)。
上述してきたように、実施例3では、登録装置3bは、L個のグループのうち、最初の所定の数のグループについては、N台の通信処理装置2のボタン20aをユーザに押下させる。そして、登録装置3bは、次のグループからはq台ずつ減らしながら通信処理装置2のボタン20aをユーザに押下させる。したがって、登録装置3bは、登録の開始段階ではセキュリティを重視し、登録作業が進むにつれてユーザの利便性を向上させることができる。登録装置3bは、登録の開始段階では、ユーザのミス等により、ユーザの手元にない通信処理装置2の登録が試みられる可能性があるため、ユーザの利便性よりもセキュリティを重視する。
なお、実施例1~3では、登録装置3、3a及び3bについて説明したが、登録装置3、3a及び3bが有する構成をソフトウェアによって実現することで、同様の機能を有する登録プログラムを得ることができる。そこで、登録プログラムを実行するコンピュータについて説明する。
図15は、実施例1~3に係る登録プログラムを実行するコンピュータのハードウェア構成を示す図である。図15に示すように、コンピュータ50は、メインメモリ51と、CPU52と、LANインタフェース53と、HDD(Hard Disk Drive)54とを有する。また、コンピュータ50は、スーパーIO(Input Output)55と、DVI(Digital Visual Interface)56と、ODD(Optical Disk Drive)57とを有する。
メインメモリ51は、プログラムやプログラムの実行途中結果などを記憶するメモリである。CPU52は、メインメモリ51からプログラムを読み出して実行する中央処理装置である。CPU52は、メモリコントローラを有するチップセットを含む。
LANインタフェース53は、コンピュータ50をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD54は、プログラムやデータを格納するディスク装置であり、スーパーIO55は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。DVI56は、液晶表示装置を接続するインタフェースであり、ODD57は、DVDの読み書きを行う装置である。
LANインタフェース53は、PCIエクスプレス(PCIe)によりCPU52に接続され、HDD54及びODD57は、SATA(Serial Advanced Technology Attachment)によりCPU52に接続される。スーパーIO55は、LPC(Low Pin Count)によりCPU52に接続される。
そして、コンピュータ50において実行される登録プログラムは、コンピュータ50により読み出し可能な記録媒体の一例であるDVDに記憶され、ODD57によってDVDから読み出されてコンピュータ50にインストールされる。あるいは、登録プログラムは、LANインタフェース53を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ50にインストールされる。そして、インストールされた登録プログラムは、HDD54に記憶され、メインメモリ51に読み出されてCPU52によって実行される。
また、図6に示した通信処理装置2及び管理装置4の機能部は、通信処理プログラム及び管理プログラムをMPU(Micro Processing Unit)で実行することによって実現される。そこで、通信処理プログラムを実行する通信処理装置2のハードウェア構成について説明する。なお、管理プログラムも同様のハードウェア構成を有する管理装置4により実行される。
図16は、通信処理プログラムを実行する通信処理装置2のハードウェア構成を示す図である。図16に示すように、通信処理装置2は、MPU60aと、ROM(Read Only Memory)60bと、RAM60cと、表示部60dとを有する。
MPU60aは、ROM60bから通信処理プログラムを読み出して実行する演算処理装置である。ROM60bは、通信処理プログラムを記憶する記憶装置である。RAM60cは、通信処理プログラムの実行途中結果等を記憶する記憶装置である。表示部60dは、通信処理プログラムが表示するメッセージ等を表示する装置である。