説明

実行制限装置及び利用制限装置

【課題】 ネットワークを介して、制御対象装置を遠隔操作する際、第三者による不正なアクセスや操作ミスによって、制御対象装置が許可されていないコマンドを実行してしまうことを防ぐ。
【解決手段】 制御装置200に対し、あらかじめ許可できるコマンド(制御指令)、許可できる条件(実行条件)等の利用権を通知しておき、制御装置200がその条件を満たすと判断した場合に、実行制限装置300に対して、コマンド(選択コマンド)、利用権(選択利用権)を通知する。実行許可部301は、あらかじめ制御装置200に通知したものと、制御装置200から通知されたものが一致する場合に、制御装置200を正当なものと認証し、制御対象装置100に対してコマンドの実行を許可する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク等を介した装置の遠隔操作に関する。更に詳しくは、ネットワーク等を介した装置の遠隔操作における認証及び制限に関する。
【背景技術】
【0002】
従来の、宅外の機器からインターネットを介して宅内の機器を制御する際のアクセス制御には、以下のものがある。
例えば、特許文献1は、宅外の機器の公開鍵/秘密鍵と宅内機器の公開鍵/秘密鍵によって、認証情報を暗号化して通信を行い、それが互いに解けることによって、相互認証を行い、制御コマンドの実行を行う。
【特許文献1】特開平10−289205号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
従来のアクセス制御の方式では、相互認証されたあとは、どのような制御コマンドでも許可される、つまり、通信相手が認証されれば、故意/過失に関らず、許可されていないコマンドの実行も可能であるため、このようなコマンドの実行を防ぐという課題があった。
この発明は、例えば、上記のような課題を解決するためになされたもので、認証された相手からの故意・過失に関らず、許可されていないコマンドの実行を許可しないことを目的とする。
【課題を解決するための手段】
【0004】
本発明の実行制限装置は、
制御装置からの制御指令の実行を制御対象装置に対して制限する実行制限装置において、
上記制御対象装置に対して実行を許可できる上記制御指令を記憶する制御指令記憶部と、
上記制御装置に対し、上記制御指令記憶部が記憶した制御指令を通知する制御指令通知部と、
上記制御対象装置に対する制御指令を取得する制御指令取得部と、
上記制御指令記憶部が記憶した制御指令と、上記制御指令取得部が取得した制御指令とが一致する場合に、上記制御対象装置に対し、上記制御指令取得部が取得した制御指令の実行を許可する実行許可部と、
を有することを特徴とする。
【発明の効果】
【0005】
本発明によれば、制御対象装置に対する遠隔制御を許可していない制御装置からの制御を禁止でき、更に、制御機器に許可していない制御指令を制御対象装置が実行することを禁止できるとの効果を奏する。
【発明を実施するための最良の形態】
【0006】
実施の形態1.
実施の形態1を図1〜図8を用いて説明する。
【0007】
図1は、この実施の形態における実行制限装置300あるいは制御装置200の外観の一例を示す図である。
図1において、実行制限装置300は、システムユニット910を備えている。
さらに、実行制限装置300は、ローカルエリアネットワーク(LAN)942、ゲートウェイ941を介してインターネット940に接続されている。
【0008】
図2は、この実施の形態における実行制限装置300及び制御装置200のハードウェア構成の一例を示す図である。
図3は、この実施の形態における制御対象装置100のハードウェア構成の一例を示す図である。
図2及び図3において、実行制限装置300及び制御装置200及び制御対象装置100は、プログラムを実行するCPU(Central Processing Unit)911を備えている。CPU911は、バス912を介してROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、磁気ディスク装置920と接続されている。
また、制御対象装置100は、制御装置200からの制御指令に基づいて動作する動作部950を有している。
RAM914は、揮発性メモリの一例である。ROM913、磁気ディスク装置920は、不揮発性メモリの一例であって、必ずしも全てが接続されている必要はない。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915は、LAN942等に接続されている。
例えば、通信ボード915などは、入力部の一例である。
また、例えば、通信ボード915などは、出力部の一例である。
【0009】
ここで、通信ボード915は、LAN942に限らず、直接、インターネット940、或いはISDN等のWAN(ワイドエリアネットワーク)に接続されていても構わない。直接、インターネット940、或いはISDN等のWANに接続されている場合、実行制限装置300は、インターネット940、或いはISDN等のWANに接続され、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム(OS)921、ウィンドウシステム922、プログラム群923、ファイル群924等が記憶されている。しかし、磁気ディスク装置920が接続されていない場合には、これらをROM913またはRAM914が記憶していてもよい。プログラム群923は、CPU911、OS921、ウィンドウシステム922により実行される。
【0010】
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明するものが、「〜ファイル」として記憶されている。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
【0011】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
【0012】
また、以下に述べる実施の形態を実施するプログラムは、また、磁気ディスク装置920、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)等のその他の記録媒体による記録装置を用いて記憶されても構わない。
【0013】
図4は、この実施の形態におけるシステムの全体構成の一例を示す。
制御装置200は、制御対象装置100を遠隔操作するため、制御対象装置100に対して制御指令を送る。
制御対象装置100は、制御装置200からの制御指令を実行する。
しかし、制御指令はインターネット940等の開かれたネットワークを介して送られるため、悪意の第三者999による盗聴・改変・なりすまし等を防ぐための認証が必要となる。
また、正規の制御指令であることが認証されたとしても、入力ミス等による誤動作を防ぐため、制御指令が実行を許可できるものかどうかを検証する必要がある。
そのため、実行制限装置300は、制御装置200からの制御指令を解釈し、実行を許可できるものだけを制御対象装置100に通知する。
なお、制御対象装置100と実行制限装置300は、一体のものであってもよい。
【0014】
実行制限装置300は、例えば、コマンド群記憶部312(制御指令記憶部の一例)、コマンド情報発行部314(制御指令通知部の一例)、選択コマンド情報受信部311(制御指令取得部の一例)、実行許可部301を有する。
【0015】
図5は、この実施の形態における実行制限装置300の制御の流れの一例を示すフローチャート図である。
【0016】
コマンド群記憶部312は、制御対象装置100が実行可能な制御指令のうち、制御対象装置100に対して実行を許可できるコマンドで、かつ、制御装置200が実行を指令してもよいコマンドを記憶している。
【0017】
図6は、この実施の形態において、コマンド群記憶部312が記憶するコマンド400の一例を示す。
コマンド400(制御指令の一例)は、例えば、コマンドを識別するコマンド識別子401、そのコマンドを実行する制御対象装置を示す実行機器情報402、制御コマンドのコード、コマンド名などおよびその引数からコマンド文字列403、そのコマンドの付加的説明であるコマンド説明404から構成される。また、コマンド400は、このようにコマンド識別子401やコマンド説明404と紐付け管理された状態でなくてもよい。
すなわち、コマンド識別子401は、実行制限装置300においてコマンドを識別するために用いる。
なお、コマンド識別子401は、一つのコマンドに対して、複数記憶しておいてもよい。あるいは、定期的に変更することとしておいてもよい。
コマンド文字列403は、そのコマンドの実行が許可された場合に、制御対象装置100に通知するコマンドの内容である。制御対象装置100はこれを解釈し、動作部950を動作させる。
コマンド説明404は、制御装置200に表示して、そのコマンドが何をするものかを制御装置200の操作者に知らせるためのものである。
【0018】
コマンド情報発行部314は、コマンド群記憶部312が記憶しているコマンドから、コマンド情報を作成する(図5のS11)。
【0019】
図7は、この実施の形態において、コマンド情報発行部314が作成するコマンド情報800の一例を示す。
コマンド情報800は、例えば、コマンド識別子801、コマンドを実行する機器を特定する実行機器情報802、コマンド識別子、実行機器情報等の改ざん防止のための電子署名である署名803、コマンド説明804から構成される。
実行機器情報802では、機器の製造番号など機器を特定する機器識別子や、被制御機器の公開鍵証明書などを利用してもよい。
すなわち、コマンド識別子801は、コマンド群記憶部312が記憶するコマンド識別子401と同一のものであり、実行制限装置300においてコマンドを識別するために用いる。
実行機器情報802は、そのコマンドを実行する制御対象装置100を示すものである。制御装置200は、これを解釈することにより、そのコマンドを実行する制御対象装置100を特定する。
これにより、間違って異なる装置に対してコマンドを送ることを防ぐ。
署名803は実行制限装置300の電子署名であり、そのコマンド情報が実行制限装置300の通知したものであることを保証するものである。これにより、第三者による改ざん、なりすましを防止できる。
コマンド説明804は、コマンド群記憶部312が記憶するコマンド説明404と同じものであり、そのコマンドが何をするものかを制御装置200の操作者に知らせるためのものである。
【0020】
制御対象装置100に実行を許可できるコマンドが複数ある場合には、それぞれのコマンドについて、コマンド識別子801、実行機器情報802、署名803、コマンド説明804を作成する。
【0021】
コマンド情報発行部314は、作成したコマンド情報800を、制御装置200に対し、暗号化して通知する(図5のS12)。このとき、別途取り決めた共通鍵を用いて暗号化してもよいし、制御装置200の公開鍵証明書にある公開鍵を用いて暗号化してもよい。
これにより、第三者999による盗聴、改ざんが防止できる。
【0022】
制御装置200は、コマンド情報800を取得し、共通鍵あるいは自らの秘密鍵を用いて復号する。
次に、署名803を検証し、そのコマンド情報800が確かに実行制限装置300から通知されたものであることを確かめる。署名803が不正な場合は、実行制限装置300になりすました第三者999が通知したものと判断し、以後の処理を行わない。
【0023】
署名803の検証により、そのコマンド情報800が実行制限装置300の通知したものであることが確認できた場合には、コマンド説明404を表示する。
表示したコマンド説明404の中から操作者がコマンドを選択すると、制御装置200は、選択したコマンドに対応する選択コマンド情報810を作成する。
【0024】
図8は、この実施の形態において、制御装置200が作成する選択コマンド情報810の一例を示す。
選択コマンド情報810は、例えば、コマンド識別子811、実行機器情報812、署名813から構成される。
選択コマンド情報810に含まれるコマンドは、制御対象装置に実行を許可できるコマンドのうち、実際に操作者が選択したコマンドであり、通常は1つのコマンドである。
コマンド識別子811は、コマンド情報800に含まれていたコマンド識別子801のうち、選択したコマンドに対応するものである。
実行機器情報812は、コマンド情報800に含まれていた実行機器情報802のうち、選択したコマンドに対応するものである。
署名813は、制御装置200の電子署名であり、その選択コマンド情報が制御装置200の通知したものであることを保証するものである。これにより、第三者999による改ざんやなりすましを防止できる。
【0025】
制御装置200は、このようにして作成した選択コマンド情報810を、実行制限装置300に対し、暗号化して通知する。このとき、別途取り決めた共通鍵を用いて暗号化してもよいし、実行制限装置300の公開鍵証明書にある公開鍵を用いて暗号化してもよい。
【0026】
実行制限装置300の選択コマンド情報受信部311は、制御装置200が通知した選択コマンド情報810を取得し、共通鍵あるいは自らの秘密鍵を用いて復号する(図5のS13)。
【0027】
実行許可部301は、署名813を検証し、その選択コマンド情報810が確かに制御装置200の通知したものであることを確かめる。署名813が不正な場合は、制御装置200になりすました第三者999が通知したものと判断し、制御対象装置100に対してコマンドを通知しない(図5のS14)。
【0028】
実行許可部301は、更に、コマンド識別子811及び実行機器情報812を検証する。この検証において、コマンド識別子811と一致するコマンド識別子401がコマンド群記憶部312に存在し、実行機器情報812が、制御対象装置100あるいは実行制御装置200が持つ機器情報と一致すれば、正しいコマンドであると判断する。
なお、一つのコマンドに対して複数のコマンド識別子401を記憶している場合には、その中で、コマンド情報発行部314が通知したコマンド情報800に含まれるものと一致するかを判断する。
【0029】
実行許可部301は、検証の結果、不正と判断した場合には、制御対象装置100に対してコマンドの実行を許可しない(図5のS15)。
【0030】
実行許可部301は、正しいコマンドであると判断した場合、コマンド識別子811に対応して、コマンド群記憶部312が記憶するコマンド文字列403を制御対象装置100に通知し、コマンドを実行させる(図5のS16)。
【0031】
これにより、選択コマンド情報810に含まれる署名813で制御装置200を認証するだけでなく、コマンド情報800を正しく復号できたことによっても制御装置200を認証していることになるので、二重の認証を行うことになり、安全性が高まる。
また、制御装置200を認証することでリモート制御を許可されていない装置からの制御を禁止できるだけでなく、その制御装置200に対して許可していないコマンドの実行も禁止できる。
すなわち、許可していないコマンドは、コマンド情報800において制御装置200に通知されないので、制御装置200からの選択コマンド情報810で実行を指示することはあり得ないからである。
そのうえ、制御装置の認証と、実行が許可されたコマンドかどうかの検証を同時に行うので、効率がよい。
【0032】
なお、制御装置200がひとたびコマンド情報800を取得すると、コマンド識別子及び実行機器情報が分かるので、以後は何回でも同じコマンドの実行を指示できるようになる。
それが困る場合には、以下のような構成とすることで対応できる。
【0033】
すなわち、コマンド群記憶部312が記憶するコマンド400のコマンド識別子401を定期的に、あるいは、実行条件の変化に応じて、変更する。
そうすれば、制御装置200が古いコマンド識別子401を知っていたとしても、それによってコマンドの実行を指示しても、同コマンド識別子がコマンド群記憶部312にないので、実行許可部301での検証で不正となり、実行することはできない。
制御装置200がコマンドを実行させたい場合には、実行制限装置300に対して、コマンド情報800の通知を要求する。
これに対し、実行制限装置300は、制御装置200にコマンドの実行を許可する場合には、最新のコマンド情報800を通知する。
これにより、制御装置200はコマンド情報800を取得し、最新のコマンド識別子を知るので、コマンドの実行を指示できるようになる。
【0034】
実施の形態2.
実施の形態2を図1〜図3、図5、図6、図8〜図12を用いて説明する。
この実施の形態における実行制限装置300及び制御装置200及び制御対象装置100のハードウェア構成は、実施の形態1と共通なので、ここでは説明を省略する。
【0035】
図9は、この実施の形態におけるシステムの全体構成の一例を示す。
実行制限装置300は、例えば、コマンド群記憶部312(制御指令記憶部の一例)、コマンド暗号処理部313(制御指令暗号化部の一例)、コマンド情報発行部314(制御指令通知部の一例)、鍵管理部332(鍵記憶部の一例)、利用権発行部344(鍵通知部の一例)、選択コマンド情報受信部311(制御指令取得部の一例)、実行許可部301を有する。
ここで、コマンド群記憶部312、選択コマンド情報受信部311、実行許可部301の動作は、実施の形態1と同一なので、ここでは説明を省略する。
【0036】
コマンド暗号処理部313は、コマンド群記憶部312が記憶するコマンドを暗号化する。このとき、暗号化の鍵にはコマンドごとに異なる鍵を用いる。鍵の選択はランダムに行ってよいし、何らかの規則にしたがってもよいが、外部からその規則性を知られてはならない。また、いくつかのコマンドについて、同一の鍵を用いてもよい。
【0037】
鍵管理部332は、コマンド暗号処理部313が暗号化したコマンドを復号するための鍵を、鍵管理情報600として記憶する。
【0038】
図10は、この実施の形態において、鍵管理部332が記憶する鍵管理情報600の一例を示す。
鍵管理情報600は、例えば、暗号化コマンド識別子601及び復号鍵602から構成される。
暗号化コマンド識別子601は、コマンド暗号処理部313が暗号化したコマンドを識別するために用いるものである。コマンド識別子401とは異なる任意の文字列を用いる。
復号鍵602は、コマンド暗号処理部313が暗号化した暗号化したコマンド識別子を復号するための鍵である。
【0039】
コマンド情報発行部314は、コマンド情報800を作成し、制御装置200に対して通知する。このとき、コマンド情報800は更に、別途取り決めた共通鍵を用いて暗号化してもよいし、制御装置200の公開鍵証明書にある公開鍵を用いて暗号化してもよい。これにより、第三者999による盗聴、改ざんが防止できる。
【0040】
図11は、この実施の形態において、コマンド情報発行部314が作成するコマンド情報800の一例を示す。
コマンド情報800は、例えば、暗号化されたコマンドを特定する暗号化コマンド識別子808、暗号化されたコマンド識別子809、実行機器情報802、署名803、コマンド説明804から構成される。
ここで、実行機器情報802、署名803、コマンド説明804は、実施の形態1で説明したものと同様なので、説明を省略する。
暗号化コマンド識別子808は、鍵管理部332が記憶する暗号化コマンド識別子601と同一のものである。暗号化されたコマンドを識別するために用いるものである。
暗号化されたコマンド識別子809は、コマンド群記憶部312が記憶するコマンド識別子401を、コマンド暗号処理部313が暗号化したものである。あるいは、コマンドコードやコマンド名やその引数を暗号化したものであってもよい。
【0041】
なお、コマンド説明804等も、コマンド識別子と同様に暗号化してもよい。
また、暗号化されたコマンド情報800は、このように暗号化コマンド識別子808やコマンド説明804などと紐付け管理された状態でなくてもよく、暗号化されたコマンド識別子809そのものでもよい。また、同一のコマンド文字列に対して、複数の異なる鍵で暗号されていてもよいし、また別の暗号化コマンド識別子が割り当ててあっても良い。例えば、同一の「電源をオンする」コマンドでも、制御機器2別に別々の鍵で暗号して、別の暗号化コマンド識別子808を割り振ってもよい。
【0042】
この実施の形態では、コマンド情報にコマンド識別子801が含まれていないことに特徴がある。
すなわち、制御装置200は、暗号化されたコマンド識別子809を復号するための鍵を知らないので、コマンド識別子801を得ることができない。
したがって、このままでは、制御装置200がコマンドの実行を指示することはできない。
【0043】
そこで、実行制限装置300は、コマンド情報とは別に、制御装置200に対して利用権820を通知する。
【0044】
図12は、この実施の形態において、利用権発行部344が通知する利用権820の一例を示す。
利用権820は、例えば、利用権識別子821、暗号化コマンド識別子822、復号鍵826、署名827から構成される。
利用権識別子821は、制御装置200からのリモート制御を許可するコマンドを識別するために用いるものである。同一のコマンドについて、複数の条件を設定する場合があるので、コマンド識別子や暗号化コマンド識別子とは別に管理するものである。
この例では、利用権が1つしか通知されていないが、制御装置200からのリモート制御を許可するコマンドが複数ある場合には、コマンドごとに複数通知する。
暗号化コマンド識別子822は、鍵管理部332が記憶する暗号化コマンド識別子601と同一であり、この利用権がどのコマンドについてのものであるかを示す。
復号鍵826は、暗号化されたコマンド識別子809を復号してコマンド識別子801を得るために用いる鍵であり、。鍵管理部332が記憶しているものである。
署名827は、実行制限装置300の電子署名であり、その実行条件情報が実行制限装置300の通知したものであることを保証するものである。これにより、第三者999による改ざん、なりすましを防止できる。
【0045】
利用権発行部344は、利用権820を暗号化して通知する。このとき、別途取り決めた共通鍵を用いて暗号化してもよいし、制御装置200の公開鍵証明書にある公開鍵を用いて暗号化してもよい。これにより、第三者999による盗聴、改ざんが防止できる。
【0046】
制御装置200は、通知された利用権820を取得し、共通鍵あるいは自らの秘密鍵を用いて復号する。
次に、署名827を検証し、その利用権820が確かに実行制限装置300の通知したものであることを確かめる。署名827が不正な場合は、実行制限装置300になりすました第三者999が通知したものと判断し、以後の処理を行わない。
【0047】
署名827が正しい場合には、復号鍵826を用いて、暗号化されたコマンド識別子809を復号し、コマンド識別子を得る。
【0048】
この例において、コマンド情報800においては、2つのコマンド(「電源をオンする」と「電源をオフする」)が通知されていた。しかし、利用権820においては、そのうち「電源をオンする」コマンドについての復号鍵しか通知されなかった。
したがって、制御装置200は「電源をオンする」コマンドのコマンド識別子を知ることはできた。しかし、「電源をオフする」コマンドのコマンド識別子はわからない。
すなわち、制御装置200は「電源をオンする」コマンドを指示することはできるが、「電源をオフする」コマンドを指示することはできない。
【0049】
このように、制御装置200は、コマンド情報800と利用権820の両者が通知されなければ、そのコマンドを指示することができない。
仮に、第三者999がコマンド情報800を盗聴したとする。しかし、その第三者999は、利用権820も盗聴しなければ、コマンド識別子が何であるか知ることはできない。逆に、利用権820を盗聴されても、コマンド情報800が盗聴されなければ、やはりコマンド識別子を知ることができない。
コマンド識別子を知らなければ、第三者999が制御装置200になりすましてコマンドを指示することはできないので、安全である。
【0050】
なお、利用権820はコマンド情報800と同時に通知することとしてもよいが、そうすると、両者を一度に盗聴されてしまう危険があるので、別々に通知するほうが好ましい。
【0051】
また、利用権820は、実行制限装置300が自主的に制御装置200に通知することとしてもよいし、制御装置200から利用権の発行要求がきたときに通知することとしてもよい。
【0052】
実施の形態3.
実施の形態3を図1〜図3、図5、図6、図8、図10、図11、図13〜図15を用いて説明する。
【0053】
この実施の形態は、リモート制御の可否のみを制御するだけでなく、リモート制御の条件をきめ細かく制御するものである。
【0054】
この実施の形態における実行制限装置300及び制御装置200及び制御対象装置100のハードウェア構成は、実施の形態1と共通なので、ここでは説明を省略する。
【0055】
図13は、この実施の形態におけるシステムの全体構成の一例を示す。
実行制限装置300は、例えば、コマンド群記憶部312(制御指令記憶部の一例)、コマンド暗号処理部313(制御指令暗号化部の一例)、コマンド情報発行部314(制御指令通知部の一例)、鍵管理部332(鍵記憶部の一例)、実行条件記憶部322、利用権発行部344(鍵通知部334及びコマンド実行条件発行部324(実行条件通知部の一例)を含む)、選択コマンド情報受信部311(制御指令取得部の一例)、実行許可部301を有する。
ここで、コマンド群記憶部312、コマンド暗号処理部313、コマンド情報発行部314、選択コマンド情報受信部311、鍵管理部332の動作は、実施の形態2と同一なので、ここでは説明を省略する。
【0056】
実行条件記憶部322は、制御対象装置100が制御指令を実行する場合の様々な条件を実行条件として記憶する。
実行条件記憶部322が記憶する実行条件には、例えば、以下のようなものがある。
【0057】
コマンドの実行を許可する制御装置についての情報(制御装置情報)。
コマンドの実行を許可する期間の情報(実行日時情報)。
コマンドの実行時に、操作者の確認が必要かどうかの情報(ユーザ確認要否情報)。すなわち、コマンドが認証された場合に、もう一度、操作者に確認を要求し、操作者による許可が出た場合にのみ、コマンドを制御対象装置100に通知するものである。
コマンド情報を発行した機器あるいは発行者の情報(発行元情報)。例えば、発行者の公開鍵証明書、発行者のユーザID(Identifier)、発行機器の公開鍵証明書、発行機器のメーカ識別番号と機器のシリアル番号などからなる機器識別子などである。
コマンド情報の実行を指示する機器の情報(実行指示機器情報)。例えば、実行機器の公開鍵証明書、実行機器のメーカ識別番号と機器のシリアル番号などからなる機器識別子などである。
コマンド情報の実行を指示する指示者の情報(実行指示者情報)。例えば、指示者の公開鍵証明書、指示者のユーザIDなどである。
コマンド情報の実行をリモート制御する場合のネットワーク情報(実行ネットワーク情報)。例えば、IP(Internet Protocol)アドレスなどである。
コマンド情報を実行回数情報(実行回数情報)。
コマンド情報実行前に実行済であるべきコマンド情報(実行前コマンド履歴情報)。例えば、電源オンコマンド実行後などの条件である。すなわち、コマンドが認証された場合であっても、所定の条件を満たしていない場合には、コマンドを制御対象装置100に通知しないものである。
コマンド情報実行前に実施したコマンド結果情報(実行前ステータス情報)、例えば、前のコマンドが成功した場合などの条件である。すなわち、コマンドが認証された場合であっても、所定の条件を満たしていない場合には、コマンドの実行を許可しないものである。
コマンド情報実行のトリガとなるイベント情報(実行イベント情報)。例えば、機器からエラーイベントがあがっている場合や、ユーザが機器に対してある種のコマンド実行し発生するイベントなど。すなわち、コマンドが認証された場合であっても、すぐにはコマンドの実行を許可せず、所定の条件を満たしたのちに、許可するものである。
当該のコマンドを即時に実行するか、あるいは他の条件が満たされた時点で実行するかを示すコマンド情報実行の即時・予約情報(予約情報)。すなわち、コマンドが認証された場合に、すぐにコマンドの実行を許可するか、それとも所定の条件を満たすまで待つかを決めるものである。
【0058】
図14は、この実施の形態における実行制限装置300の制御の流れの一例を示すフローチャート図である。
なお、この図には表示していないが、コマンド情報発行部314がコマンド情報の作成および通知をする(図5のS11〜S12)。
【0059】
利用権発行部344は、鍵管理部332が記憶する鍵管理情報600及び実行条件記憶部322が記憶する実行条件に基づいて、利用権820を作成し、制御装置200に通知する(図14のS21〜S22)。
【0060】
図15は、この実施の形態において、利用権発行部344が作成する利用権820の一例を示す。
利用権820は、例えば、利用権を識別する利用権識別子821、コマンドを識別する暗号化コマンド識別子822、実際にコマンドを実行する機器を特定するための実行機器情報823、利用権に含まれる実行条件の一つであるコマンドの実行が許可された期間の情報である実行日時情報824、コマンドの実行時にユーザの確認が必要かどうかを示すユーザ確認要否情報825、暗号化されたコマンド識別子を復号する鍵である復号鍵826、利用権の署名827から構成される。
このうち、利用権識別子821、暗号化コマンド識別子822、復号鍵826、署名827は実施の形態2で説明したものと同様なので、ここでは説明を省略する。
実行機器情報823は、コマンド情報800に含まれる実行機器情報823と同一である。機器の製造番号など機器を特定する機器識別子や、被制御機器の公開鍵証明書などを利用してもよい。
実行日時情報824は、そのコマンドの実行を許可できる期間を示す。
ユーザ確認要否情報825は、そのコマンドが認証されたのち、もう一度操作者に確認を要求し、操作者の許可が出た場合にのみコマンドを実行するかどうかを示す。
これらの条件は、実行条件記憶部322が記憶しているものである。上述したように、実行条件記憶部322は、これ以外にも様々な実行条件を記憶してよく、それらの実行条件を通知してもよい。
【0061】
利用権発行部344は、作成した利用権820を暗号化して、制御装置200に通知する。このとき、別途取り決めた共通鍵を用いて暗号化してもよいし、制御装置200の公開鍵証明書にある公開鍵を用いて暗号化してもよい。これにより、第三者による盗聴、改ざんを防止できる。
【0062】
なお、この例では、実行条件(824、825等)と復号鍵826とを一緒に通知しているが、別々に通知するほうが、更に安全性が高くなり好ましい。その代わり、通知の手順が1つ増えるので、手順の煩雑化を避けたいのであれば、この例のように一緒に通知するほうが好ましい。
【0063】
制御装置200は、通知された利用権820を取得し、共通鍵あるいは自らの秘密鍵で復号する。
次に、署名827を検証し、その利用権820が確かに実行制限装置300の通知したものであることを確かめる。署名827が不正な場合は、実行制限装置300になりすました第三者999が通知したものと判断し、以後の処理を行わない。
【0064】
署名827が正しい場合には、復号鍵826を用いて、暗号化されたコマンド識別子809を復号し、コマンド識別子を得る。
【0065】
制御装置200は、利用権820により、コマンド識別子だけでなく、そのコマンドの実行条件も知ることとなる。そこで、制御装置200は、操作者がコマンドを選択した際、それが実行を許可されないコマンドであるかを判断することができる。
あるいは、実行を許可されないコマンドははじめから表示しないこととして、操作者が選択できないようにしておいてもよい。
【0066】
制御装置200は、実行を許可されるコマンドを操作者が選択した場合のみ、選択コマンド情報810を作成する。
【0067】
図8は、この実施の形態において、制御装置200が作成する選択コマンド情報810の一例を示す。これは、実施の形態1で説明したものと同様であるから、ここでは説明を省略する。
【0068】
選択コマンド情報受信部311が選択コマンド情報810を取得すると、実行許可部301は、制御対象装置100に対して、そのコマンドの実行を許可してよいかどうかを判断する。
署名813の検証、コマンド識別子811の検証等は、実施の形態1で説明したのと同様であるから、ここでは説明を省略する(図14のS13〜S15)。
更に、実行許可部301は、実行条件記憶部322が記憶したコマンドの実行条件を満たしているかを判断する(図14のS26)。
【0069】
コマンドの実行条件はあらかじめ制御装置200に通知してあり、制御装置200はコマンドの実行条件を満たす場合にのみ選択コマンド情報810を通知してくるはずなので、本来なら、ここでコマンドの実行条件を満たすかどうかを判断する必要はない。
しかし、もし、第三者999が制御装置200になりすまして選択コマンド情報810を通知してきたのであれば、コマンドの実行条件を知らずに、選択コマンド情報810を通知している可能性があるので、コマンドの実行条件を満たしているとは限らない。
【0070】
したがって、ここでコマンドの実行条件を満たすかどうか判断することは、単純にコマンドの実行を許可してよいかを判断するだけでなく、同時に、そのコマンドを通知してきた者を認証することになる。
【0071】
これにより、リモート制御の可否のみを制御するだけでなく、リモート制御の条件をきめ細かく制御することができる。それと同時に、事実上の認証の手順が1つ増えることとなるので、安全性が更に高まる。
【0072】
実行許可部301は、コマンドの実行条件を満たしている場合に、コマンド識別子811に対応して、コマンド群記憶部312が記憶するコマンド文字列403を制御対象装置100に通知し、コマンドを実行させる(図14のS16)。
【0073】
一方、コマンドの実行条件を満たしていない場合には、制御対象装置100に対してコマンドを通知しない。
しかし、上述のとおり、コマンドの実行条件を満たさない選択コマンド情報810の通知は、第三者999によるものである可能性があり、セキュリティが破られかけていることを示している。
【0074】
そこで、単純にコマンドの実行を許可しないだけではなく、しばらくの間リモート制御を受け付けないで様子を見たり、コマンド識別子を変更して、制御装置200に対して新たなコマンド情報を通知したり等の対策を講じることも可能である。
【0075】
これにより、第三者999による不正アクセスを未然に防ぐだけでなく、必要な対策を講じることもできる。
【0076】
実施の形態4.
実施の形態4を図1〜図3、図5、図6、図8、図15〜図19を用いて説明する。
【0077】
この実施の形態における実行制限装置300及び制御装置200及び制御対象装置100のハードウェア構成は、実施の形態1と共通なので、ここでは説明を省略する。
【0078】
図16は、この実施の形態におけるシステムの全体構成の一例を示す。
実行制限装置300は、例えば、コマンド群記憶部312(制御指令記憶部の一例)、コマンド暗号処理部313(制御指令暗号化部の一例)、コマンド情報発行部314(制御指令通知部の一例)、鍵管理部332(鍵記憶部の一例)、実行条件記憶部322、利用権発行部344(鍵通知部334及びコマンド実行条件発行部324(実行条件通知部の一例)を含む)、選択コマンド情報受信部311(制御指令取得部の一例)、利用権処理部321(実行条件取得部の一例)、実行許可部301を有する。
ここで、コマンド群記憶部312、コマンド暗号処理部313、コマンド情報発行部314、鍵管理部332、実行条件記憶部322、利用権発行部344、選択コマンド情報受信部311の動作は、実施の形態3と同一なので、ここでは説明を省略する。
【0079】
実施の形態3では、選択コマンド情報810が通知されたときに、コマンドの実行条件を満たしているかどうかを判断することにより、事実上の認証を行っている。
しかし、第三者999が制御装置200になりすまし、コマンドの実行条件を知らずに選択コマンド情報810を通知したとしても、偶然に、コマンドの実行条件を満たしている場合には、チェックすることができない。
【0080】
そこで、この実施の形態では、制御装置200がコマンドの実行条件を満たすと判断した根拠となった実行条件を、制御装置200から取得することにより、認証の安全性を更に高めている。
【0081】
すなわち、制御装置200がコマンドの実行条件を満たすと判断して選択コマンド情報810を通知した場合には、それとは別に、その判断の根拠となった利用権(選択利用権)を実行制限装置300に通知する。
【0082】
図17は、この実施の形態において、制御装置200が通知する選択利用権830の一例を示す。
選択利用権830は、例えば、利用権識別子831、暗号化コマンド識別子832、実行機器情報833、実行日時情報834、ユーザ確認要否情報835、署名836から構成される。
このうち、利用権識別子831、暗号化コマンド識別子832、実行機器情報833、実行日時情報834、ユーザ確認要否情報835は、実行制限装置300から通知された利用権820のうち、コマンドの実行条件を満たすと判断する根拠となった利用権の利用権識別子821、暗号化コマンド識別子822、実行機器情報823、実行日時情報824、ユーザ確認要否情報825である。これにより、利用権識別子831で識別される利用権に基づく実行権限が、制御装置200にあることを示すものである。
署名836は、制御装置200の電子署名であり、その利用権が制御装置200の通知したものであることを保証するものである。これにより、第三者999による改ざん、なりすましが防止できる。
【0083】
また、選択利用権830にも、復号鍵を含める構成としてもよい。この場合の復号鍵は、利用権で通知した復号鍵826と同じものであってもよいし、違うものであってもよい。利用権で通知した復号鍵826と違う復号鍵を含める場合には、他に暗号化した部分(例えば、暗号化コマンド識別子832)を設け、その復号鍵で復号できるかによって、その復号鍵が正しいかどうかを検証することにしてもよい。
【0084】
図18は、この実施の形態における実行制限装置300の制御の流れの一例を示すフローチャート図である。
なお、この図には表示していないが、これと並行して、コマンド情報の作成、通知、選択コマンド情報の取得、検証が行われる(図5のS11〜S15)。
【0085】
制御装置200は、実行制限装置300に対し、選択利用権830を暗号化して通知する。このとき、別途取り決めた共通鍵を用いて暗号化してもよいし、実行制限装置300の公開鍵証明書にある公開鍵を用いて暗号化してもよい。
【0086】
なお、選択利用権830は選択コマンド情報810と同時に通知することとしてもよいが、そうすると、両者を一度に盗聴されてしまう危険があるので、別々に通知するほうが好ましい。
【0087】
実行制限装置300の利用権処理部321は、制御装置200が通知した選択利用権830を取得し、共通鍵あるいは自らの秘密鍵を用いて復号する(図18のS23)。
【0088】
実行許可部301は、次に、署名836を検証し、その選択利用権830が確かに制御装置200の通知したものであることを確かめる。署名836が不正な場合は、制御装置200になりすました第三者999が通知したものと判断し、以後の処理を行わない(図18のS24)。
【0089】
署名836が正しい場合には、利用権の検証に入る。すなわち、実行許可部301は、選択利用権830の利用権識別子831や実行日時情報834等が、利用権発行部344が通知した利用権と一致するかを判断する。一致しない場合には、制御装置200になりすました第三者999が通知したものと判断し、以後の処理を行わない(図18のS25)。
【0090】
実行許可部301は、その後、コマンドの実行条件を満たすかを検証し(図18のS26)、満たす場合には、コマンドの実行を許可する(図18のS27)。
【0091】
これにより、制御装置200からコマンド実行の根拠となる利用権を通知してもらうことにより、実行制限装置300が多数の利用権を管理している場合でも、そのすべてを検索する必要がなく、素早い判断が可能である。また同時に、正しい利用権を通知できるのは、その利用権を通知された制御装置200だけであるから、制御装置200を更に認証することとなり、安全性が高くなる。
【0092】
なお、選択コマンド情報810と選択利用権830とは、両者が通知されてはじめて、コマンドの実行を許可するものであるから、以下のような使い方も可能となる。
【0093】
すなわち、選択コマンド情報810を事前に通知しておき、実際にコマンドを実行させたいときに、選択利用権830を通知することにしてもよい。
この場合、実行許可部301は、選択コマンド情報810の通知を受けた段階では、コマンドの実行条件を満たすかどうかの判断はせず、それ以外の認証ができれば、正当な選択コマンド情報810を通知されたことを記憶しておく。
そして、正当な選択利用権830の通知を受けた時点で、コマンドの実行条件を満たすかどうか判断し、満たす場合には、制御対象装置100に対して、コマンドの実行を許可する構成となる。
【0094】
あるいは、同じコマンドを複数回実行させたい場合には、選択コマンド情報810を事前に通知しておき、選択利用権830を複数回通知することにしてもよい。
この場合、実行許可部301は、正しい選択コマンド情報810を通知されたことを記憶しておき、正しい選択利用権830を通知されて、コマンドの実行を許可した場合でも、それで終了とはせず、正しい選択コマンド情報810だけを通知された状態に戻ることになる。そして、正しい選択利用権830が通知されたら、それだけで条件を満たしたものとして、コマンドの実行を許可する構成となる。
その場合、そのような省略した手順を許す期間あるいは回数を決めておいてもよい。
【0095】
また、選択コマンド情報810と選択利用権830のどちらか一方は、正当であるが、他方は不当だった場合には、その時点でいったん終了し、最初から手順をやり直す構成としてもよい。
あるいは、片方のみ有効である状態を一定期間保持し、その期間内に、正当なものが揃えば、条件を満たしたとして、コマンドの実行を許可する構成としてもよい。
あるいは、リトライの回数を決めておき、一定の回数以内に、正当なものが揃えば、条件を満たしたとして、コマンドの実行を許可する構成としてもよい。
【0096】
更に、正当と認証された場合であっても、すぐに実行を許可せず、操作者に確認を要求する構成としてもよい。
図19は、そのような構成とした場合の制御の流れの一例を示すフローチャート図である。
なお、この図には表示していないが、この前段階として、選択コマンド情報810及び選択利用権830の認証が行われる。
【0097】
実行許可部301は、選択利用権830のユーザ確認要否情報835を見て、操作者に確認を要求する必要があるかを判断する(図19のS161)。
操作者に確認を要求する必要がない場合には、すぐに制御対象装置100に対してコマンドを通知する。
【0098】
実行許可部301は、操作者に確認を要求する必要がある場合、制御装置200に対して、確認要求を通知する(図11のS162)。
【0099】
実行許可部301は、次に、制御装置200から通知された操作者による確認を取得する(図11のS163)。
【0100】
実行許可部301は、操作者による実行の許可が出なければ、コマンドを制御対象装置100に通知せずに終了する(図11のS164)。
【0101】
実行許可部301は、操作者による実行の許可が出た場合には、コマンドを制御対象装置100に対して通知する(図11のS16)。
【0102】
なお、操作者による確認は、単に実行を許可するかどうかを入力させるだけでなく、操作者のパスワードを入力させる構成とし、登録されたパスワードと一致する場合にのみ、コマンドの通知を行う構成としてもよい。
【0103】
これにより、制御装置200の認証だけでなく、その制御装置を操作している操作者も認証できるので、更に安全性が高まる。
【0104】
このように、選択コマンド情報810に含まれる署名813で制御装置200を認証し、更に、選択コマンド情報810の内容でも認証し、また、選択利用権830に含まれる署名836でも認証し、そのうえ、選択利用権830の内容でも認証することになるので、非常に安全性が高まる。
また、制御装置200に対して許可していないコマンドの実行を禁止できるだけでなく、許可する条件、禁止する条件を細かく設定することが可能となる。
そのうえ、制御装置の認証と、実行が許可されたコマンドかどうかの検証を同時に行うので、効率がよい。
【0105】
なお、上述した暗号化処理及び復号処理に秘密鍵を用いる場合には、耐タンパ性のあるセキュアチップ内に秘密鍵を保管して、平文あるいは暗号文をセキュアチップに入力すると、暗号文あるいは復号した平文を出力するようにしておけば、たとえ正規ユーザであっても外部から秘密鍵を見ることができないので、更に安全性が高まる。
あるいは、セキュアチップ内に利用権処理機能を格納し、検証が正しければ、セキュアチップ内に利用権820を格納することとしてもよい。
【0106】
また、コマンド実行は、制御装置200からリモート制御されたときだけでなく、既に格納しているコマンドが、定期的な実行あるいは日時刻指定の実行の場合は、選択利用権830を受信したときには実行しない。その代わりに、何らかのイベントが発生した時点で、記憶しておいた選択利用権830をチェックする。
例えば、実行日時を指定したコマンド(録画予約等)や、条件にしたがって実行するコマンド(外が暗くなったら玄関の照明を点灯する等)の場合などがこれにあたる。実行制限装置300のなかでこれらの条件を管理し、条件を満たした時点で、制御対象装置100にコマンドを通知する構成とすれば、制御対象装置100に予約機能等がなくても、このような機能を実現することができる。
【0107】
また、実行条件を満たさなくなるまで、選択利用権830を保持することとしてもよい。
【0108】
これにより、制御対象機器がリモート制御を許可していない制御機器からの制御や、制御機器において許可していないコマンドの実行を禁止することができる。
また、暗号処理での署名の付加によりコマンド情報の改ざん防止を行い、暗号化により情報の盗聴防止を行うことができる。
【0109】
実施の形態5.
実施の形態5を図1〜図3及び図20〜図26を用いて説明する。
【0110】
この実施の形態は、コマンドそのものの実行制限に関するものではなく、コマンドの実行結果の利用の制限に関するものである。
【0111】
この実施の形態における利用制限装置350のハードウェア構成は、実施の形態1における実行制限装置300と同じである。また、制御装置200及び制御対象装置100のハードウェア構成は、実施の形態1と共通なので、ここでは説明を省略する。
【0112】
図20は、この実施の形態におけるシステムの全体構成の一例を示す。
利用制限装置350は、例えば、コマンド結果暗号処理部363(実行結果暗号化部の一例)、実行結果通知部364、コマンド結果鍵管理部382(鍵記憶部の一例)、利用条件記憶部372、利用権発行部344(鍵通知部334及び利用条件通知部374を含む)、利用権処理部371(利用条件取得部の一例)、利用要求取得部381、利用許可部351を有する。
【0113】
コマンド結果暗号処理部363は、コマンドの処理結果データ(実行結果)を暗号化する。
コマンド結果鍵管理部382は、その暗号化データの識別情報とその復号鍵(コマンド結果鍵管理情報)を記憶する。
図21は、この実施の形態において、コマンド結果鍵管理部382が記憶するコマンド結果鍵管理情報610の一例を示す。
実行結果識別子611は、暗号化された実行結果を識別するために用いる。
復号鍵612は、コマンド結果暗号処理部363が暗号化した実行結果を復号するための鍵である。
コマンド結果暗号処理部363が暗号化したコマンドの処理結果(実行結果)には、暗号化したコマンド結果データを識別する識別子等がつけてあっても良い。
実行結果通知部364は、コマンド結果暗号処理部363が暗号化した実行結果を、制御装置200に対して通知する。
利用権発行部344は、暗号化した実行結果を復号するための復号鍵612や、復号して利用するための条件などからなる利用条件(利用権)を、制御装置200に対して通知する。
【0114】
図22は、この実施の形態において、利用権発行部344が通知する利用権850の一例を示す。
利用権850は、例えば、利用権を識別する利用権識別子851、実行結果を識別する実行結果識別子852、実際にコマンドを実行した機器を特定するための実行機器情報853、利用権に含まれる実行条件の一つである実行結果の利用が許可された期間の情報である利用日時情報854、実行結果の利用時にユーザの確認が必要かどうかを示すユーザ確認要否情報855、暗号化された実行結果を復号する鍵である復号鍵856、利用権の署名857から構成される。
利用権識別子851は、制御装置200における実行結果の利用を許可する利用権を識別するために用いるものである。同一の実行結果について、複数の条件を設定する場合があるので、実行結果識別子とは別に管理するものである。
実行結果識別子852は、実行結果とともに実行結果通知部364から通知したもので、利用を許可する実行結果を識別するためのものである。
実行機器情報853は、その実行結果を作成した制御対象装置100についての情報である。機器の製造番号など機器を特定する機器識別子や、被制御機器の公開鍵証明書などを利用してもよい。
利用日時情報854は、その実行結果の利用を許可する期間を示す。
ユーザ確認要否情報855は、その実行結果を利用する際、もう一度操作者に確認を要求し、操作者の認証ができた場合にのみ、実行結果の利用を許可するかどうかを示す。
復号鍵856は、その実行結果を復号して、利用できるようにするための鍵である。鍵管理部332が記憶しているものを通知する。
署名857は、利用制限装置350の電子署名であり、その利用条件情報が利用制限装置350から通知されたものであることを保証するものである。これにより、第三者による改ざん、なりすましを防止できる。
【0115】
また、利用権850は、以下のような利用条件を含んでいてもよい。
コマンド結果情報。すなわち、コマンドの実行結果を複数の部分に分割して、その一部を利用権850に含めることにより、別に通知した実行結果と両者が揃わなければ、実行結果を利用できないようにすることができる。
コマンド結果情報の発行元の情報(発行元情報)。すなわち、実行結果を作成した制御対象装置100について情報である。
コマンド結果情報の利用する機器の情報(利用機器情報)。すなわち、実行結果を利用できる制御装置200についての情報である。
コマンド結果情報の利用を指示する機器の情報(利用指示機器情報)。すなわち、実行結果の利用を指示できる制御装置200についての情報である。
コマンド結果情報の利用を指示する指示者の情報(利用指示者情報)。すなわち、実行結果を利用できる制御装置200を操作できる操作者についての情報である。
コマンド結果情報の発行機器と利用機器間とのネットワーク情報(利用ネットワーク情報)。すなわち、ネットワーク接続の状態によって利用を制限する場合(特定のサーバ経由の場合しか許可しないなど)における接続の状態についての情報である。
コマンド結果情報を利用する日時情報(利用日時情報)。すなわち、実行結果を利用できる期間についての情報である。
コマンド結果情報のデータの取り扱い(変更可否、印刷可否、映像のストップ、ポーズ、早送りなどのトリックプレイの可否、解像度の範囲、拡大、縮小の可否など)。すなわち、実行結果の利用態様についての情報である。
コマンド結果情報の復号結果を格納してよいかどうか(復号結果格納可否情報)。すなわち、一度利用した実行結果を記憶して、後に再度利用してもよいかについての情報である。
コマンド結果情報を利用回数情報(実行回数情報)。再度の利用を許可する場合に、利用できる回数についての情報である。
コマンド結果情報を利用する前に実行済であるべきコマンド情報(利用前コマンド履歴情報)。すなわち、他のコマンドを実行した後でなければ、実行結果を利用できない場合における条件についての情報である。
コマンド結果情報を利用実行前に実施したコマンド結果情報(実行前ステータス情報)。すなわち、他のコマンドの実行結果に基づいて、実行結果の利用を制限する場合における他のコマンドの実行結果についての情報である。
【0116】
利用権処理部371は、制御装置200から通知される選択利用権830を取得する。
利用要求取得部381は、制御装置200から通知される利用要求840を取得する。
利用許可部351は、認証機能を有し、利用権発行要求を発行した制御装置200あるいはその制御装置200を操作している操作者の認証等を行う。
【0117】
なお、認証の結果に応じて、利用の条件を変更することも考えられる。例えば、登録ユーザである場合は、利用条件をゆるく(例えば、一週間の利用可能など)、未登録ユーザの場合は、利用条件を厳しく(例えば、一日のみ利用可能など)してもよい。
また、課金処理を行ってもよい。
【0118】
制御装置200は、実行結果を利用するための利用権の発行を依頼する利用権発行要求機能や、実行結果を利用するクライアント機能であるコマンド結果利用機能を有する。
【0119】
図23は、この実施の形態における利用制限装置350の制御の流れの一例を示すフローチャート図である。
【0120】
まず、制御対象装置100がコマンドを実行する。なお、コマンド実行に先だって、実施の形態1または実施の形態2に示した実行制限装置300によって、コマンドの実行を制限してもよい。あるいは、利用制限装置350が、実行制限装置300としての機能も有する構成としてもよい。
【0121】
コマンド結果暗号処理部363は、制御対象装置100が生成した実行結果を暗号化する(図23のS31)。
このとき、暗号化の鍵には実行結果ごとに異なる鍵を用いる。鍵の選択はランダムに行ってよいし、何らかの規則にしたがってもよいが、外部からその規則性を知られてはならない。また、いくつかの実行結果について、同一の鍵を用いてもよい。
【0122】
実行結果通知部364は、コマンド結果暗号処理部363が暗号化した実行結果を、制御装置200に対して通知する(図23のS32)。このとき、更に、別途取り決めた共通鍵を用いて暗号化してもよいし、制御装置200の公開鍵証明書にある公開鍵を用いて暗号化してもよい。
【0123】
なお、ここまでの処理は、制御対象装置100で行い、制御対象装置100から直接、制御装置200に対して、暗号化した実行結果を通知することとしてもよい。
【0124】
制御装置200は、実行結果通知部364が通知したコマンドの実行結果を取得し、共通鍵あるいは自らの秘密鍵を用いて復号する。しかし、更に復号しなければ利用できず、そのための鍵は不明である。
そこで、復号鍵を得るため、制御装置200は利用要求840を、利用制限装置350に対して通知する。
【0125】
図24は、この実施の形態において、制御装置200が通知する利用要求840の一例を示す。
実行結果識別子841は、実行結果とともに実行結果通知部364が通知したもので、利用権を要求する実行結果を識別するためのものである。
署名842は、制御装置200の電子署名であり、その利用権発行要求が制御装置200の通知したものであることを保証するものである。これにより、第三者999による改ざん、なりすましが防止できる。
なお、利用要求840は、暗号化して通知する。別途取り決めた共通鍵を用いて暗号化してもよいし、利用制限装置350の公開鍵証明書にある公開鍵を用いて暗号化してもよい。
【0126】
利用制限装置350の利用要求取得部381は、制御装置200が通知した利用要求を取得し、共通鍵あるいは自らの秘密鍵を用いて復号する(図23のS33)。
【0127】
利用許可部351は、署名842を検証し、その利用要求が確かに制御装置200の通知したものであることを確かめる。署名842が不正な場合は、制御装置200になりすました第三者999が通知したものと判断し、利用権を発行しない(図23のS34)。その場合、認証に失敗したことを制御装置200に通知してもよい。
【0128】
利用許可部351が正しい署名842と判断した場合には、利用権発行部344が、制御装置200に対し、利用権850を通知する(図17のS35)。
なお、利用権850は、暗号化して通知する。別途取り決めた共通鍵を用いて暗号化してもよいし、制御装置200の公開鍵証明書にある公開鍵を用いて暗号化してもよい。これにより、第三者による盗聴、改ざんを防止できる。
【0129】
制御装置200は、利用権発行部344が通知した利用権850を取得し、共通鍵あるいは自らの秘密鍵を用いて復号する。
次に、制御装置200は、利用権850にある利用条件を満たすかどうかを判断する。
満たすと判断した場合には、復号鍵856を用いて実行結果を復号し、利用する。
【0130】
なお、利用権に、復号データの格納不可の条件があれば、復号したコマンド結果のデータを、制御装置200上のどこにも格納できない仕組みである必要がある。
【0131】
以上のように、コマンドの実行結果を暗号化し、その利用には利用権が必要となるため、コマンドの実行のみならず、実行処理結果の利用に対しても、認証された機器上でしかできないため、安全になるという効果がある。
すなわち、実行結果を利用するための復号鍵は、利用要求が認証されなければ手に入れることができないので、実行結果が盗聴された場合であっても、第三者は利用することができず、安全である。
【0132】
あるいは、次のような認証手順を踏んでもよい。
【0133】
図25は、この実施の形態において、利用制限装置350の制御の流れの別の例を示すフローチャート図である。
【0134】
S31〜S34は、図23で説明したものと同一なので、ここでは説明を省略する。
【0135】
利用許可部351が正しい署名842と判断した場合には、利用権発行部344が、制御装置200に対し、利用権850を通知する。ただし、この利用権850の復号鍵856は偽ものであり、これを用いてもコマンド結果暗号処理部が暗号化した実行結果を復号することはできない(図25のS35)。
あるいは、利用権850に、復号鍵856を含まない構成としてもよい。
【0136】
しかし、利用権850に含まれる実行結果の利用条件は本物なので、制御装置200は、その実行結果を利用できる条件を知ることができる。
そこで、制御装置200は、実行結果の利用条件を満たす場合には、利用制限装置350に対して、選択利用権860を暗号化して通知する。このとき、別途取り決めた共通鍵を用いて暗号化してもよいし、利用制限装置350の公開鍵証明書にある公開鍵を用いて暗号化してもよい。
【0137】
図26は、この実施の形態において、制御装置200が通知する選択利用権860の一例を示す。
【0138】
利用制限装置350の利用権処理部371は、制御装置が通知した選択利用権860を取得し、共通鍵あるいは自らの秘密鍵で復号する(図25のS36)。
【0139】
次に、利用許可部351は、選択利用権860を検証する。検証のポイントは、署名866、利用条件等が先に通知した利用権850のものと一致するか、及び、利用条件を満たすかどうかである。
これらすべての検証を通過した場合、利用許可部351は、制御装置200の認証に成功したものとして、実行結果の利用を許可する(図25のS37)。
【0140】
利用許可部351が実行結果の利用を許可した場合には、利用権発行部344は、コマンド結果暗号処理部363が暗号化した実行結果を復号できる復号鍵856を含めた利用権850を暗号化して、制御装置200に対して通知する。このとき、別途取り決めた共通鍵を用いて暗号化してもよいし、制御装置200の公開鍵証明書にある公開鍵を用いて暗号化してもよい。
あるいは、復号鍵のみを暗号化して通知することとしてもよい。
【0141】
制御装置200は、利用権発行部344が通知した利用権850を取得し、共通鍵あるいは自らの秘密鍵を用いて復号する。
制御装置200は、復号鍵856を用いて、コマンド結果暗号処理部363が暗号化した実行結果を復号し、利用する。
【0142】
これにより、利用条件を満たす場合にのみ、制御装置200に対して復号鍵856を通知するので、より細かい条件設定が可能となる。また、制御装置200が利用条件を無視して、実行結果を利用してしまうのを防ぐことができる。
更に、その手順において、同時に制御装置200の認証も行えるので、効率よく、第三者999によるなりすまし等を防止することができる。
【0143】
実施の形態6.
以上で説明した実施の形態において、実行制限装置300または利用制限装置350と、制御対象装置100との接続方法については、特に言及していなかった。
【0144】
これらの接続についても、制御装置200との接続と同じように、インターネット等の開かれたネットワークを介して接続してもよい。
その場合には、実行制限装置300または利用制限装置350と、制御対象装置100との間の通信についても、第三者999による盗聴、改ざん、なりすまし等の危険があるので、電子署名の添付や、共通鍵あるいは秘密鍵を用いた暗号化等の措置を講ずる必要がある。
【0145】
これにより、暗号化コマンドの発行や利用権の発行など処理の重い処理や鍵の管理を、利用権管理サーバで行うため、制御対象装置側での実装が軽くなるばかりか、安全性も損なわれないという効果がある。更に、実行制限装置300や利用制限装置350の設置場所についての制約がなくなるので、柔軟な設計が可能となる。
【0146】
あるいは、実行制限装置300または利用制限装置350の機能を、制御装置200が有する構成としてもよい。
【0147】
これにより、暗号化コマンドの発行を制御装置200で行うため、制御装置200が実行したいコマンドの登録を行うため、制御装置の操作手順が減るが、安全性は損なわれない。
【0148】
以上説明したように、この実行制限装置300または利用制限装置350が行う利用権アクセス制御方式は、被制御機器をリモートの制御機器から制御するシステムにおいて、被制御機器上で実行可能なコマンドの集合から構成されるコマンド群と、当該機器上で実行するコマンドを特定する情報とその当該機器を特定する情報からなるコマンド情報を発行する被実行コマンド情報発行機能と、上記被実行コマンド情報発行機能で発行したコマンド情報であることを確認し、確認できたコマンド情報に含まれるコマンドのみを実行するコマンド実行機能とから構成されてもよい。
【0149】
また、それに加えて、コマンド情報として、コマンドを識別する情報(コマンド識別情報)、実行する機器を特定する機器識別子あるいは機器の公開鍵証明書等の情報(機器特定情報)、およびコマンド情報を発行する機器の秘密鍵を用いた電子署名から構成してもよい。
【0150】
もちろん、これらのコマンド情報を暗号化してもよい。
【0151】
あるいは、被制御機器をリモートの制御機器から制御するシステムにおいて、被制御機器上で実行可能なコマンドの集合から構成されるコマンド群と、当該機器上で実行するコマンドを特定する情報を発行する被実行コマンド情報発行機能と、上記コマンドが実行されてよい条件の情報(利用権)を発行するコマンド実行条件発行機能と、上記コマンド実行条件発行機能が発行したコマンド実行条件下においてのみ、上記被実行コマンド情報発行機能で発行したコマンド情報のみを実行するコマンド実行機能とから構成してもよい。
【0152】
また、それに加えて、コマンドの実行条件として、以下の条件のうち一つ以上を持った利用権を発行するコマンド実行条件発行機能を持っていてもよい。すなわち、コマンド情報、コマンド情報を発行元の情報(発行元情報)、コマンド情報を実行する機器の情報(実行機器情報)、コマンド情報の実行を指示する機器の情報(実行指示機器情報)、コマンド情報の実行を指示する指示者の情報(実行指示者情報)、コマンド情報の実行をリモート制御する場合のネットワーク情報(実行ネットワーク情報)、コマンド情報を実行する日時情報(実行日時情報)、コマンド情報を実行許可確認要否情報(実行確認要否情報)、コマンド情報を実行回数情報(実行回数情報)、コマンド情報実行結果の送付許可情報(実行結果送付可否情報)、コマンド情報実行前に実行済であるべきコマンド情報(実行前コマンド履歴情報)、コマンド情報実行前に実施したコマンド結果情報(実行前ステータス情報)、コマンド情報実行のトリガとなるイベント情報(実行イベント情報)、コマンド情報実行の即時・予約情報(予約情報)などの条件である。
【0153】
あるいは、コマンド群の各コマンドを暗号処理するコマンド暗号処理機能と、コマンド情報とコマンドの暗号化した鍵を管理する鍵管理機能と、当該の鍵を利用権に含めて発行する機能を付加したコマンド実行条件発行機能と、利用権から取り出した鍵で暗号化したコマンドを復号し、かつ、利用権に含まれるコマンド実行条件下においてのみ、コマンド情報を実行する機能を付加したコマンド実行機能とを持っていてもよい。
【0154】
もしくは、コマンドの情報として暗号済のコマンドである暗号済コマンド群の情報を用いた暗号済コマンド情報を持っていてもよい。
【0155】
更に、以下の一つ以上の機能を有する機能を持っていてもよい。すなわち、日時刻情報を持つタイマ機能、コマンドの実行回数を記録する記憶領域およびその記憶領域のデータをカウントアップあるいはクリアするなどの制御機能、機器上でのコマンドの実行許可の情報を設定するインタフェースとその結果を保持する記憶領域およびその記憶領域のデータをセットあるいはクリアするなどの制御機能、機器上で特定のコマンドの実行許可の情報を設定するインタフェースとその結果を保持する記憶領域その記憶領域のデータをセットあるいはクリアするなどの制御機能、コマンドの実行前に、外部の機器あるいはユーザに実行の許可を確認するインタフェースとその確認結果を保持する記憶領域その記憶領域のデータをセットあるいはクリアするなどの制御機能その記憶領域のデータをセットあるいはクリアするなどの制御機能、コマンド実行の履歴および実行ステータス情報を保持する記憶領域その記憶領域のデータをセットあるいはクリアするなどの制御機能、電子署名の検証機能などである。
【0156】
また、利用権に、機器の秘密鍵を用いた電子署名をつけ、機器を特定する情報として、機器識別子あるいは機器の公開鍵証明書を用いてもよい。
【0157】
それに加えて、利用権を暗号化してもよい。
【0158】
あるいは、非制御機器と制御機器間の通信には、相互認証を行ったあと行ってもよい。
【0159】
もしくは、機器の認証は、機器のセキュアなチップに埋め込まれた公開鍵証明書・秘密鍵を用いて行ってもよい。
【0160】
更に、利用権を機器のセキュアなチップに格納し、利用権の処理をセキュアなチップ内で実行する利用権処理機能を有してもよい。
【0161】
また、コマンドの実行結果を暗号化するコマンド結果暗号処理機能と、その暗号化の鍵を管理するコマンド結果鍵管理機能と、コマンド結果を利用する際に、その利用の要求を受け付けて、当該コマンド結果に対応する複合鍵情報を含む利用権を発行する利用権発行機能をもっていてもよい。
【0162】
あるいは、制御機器利用の要求を受け付けた際、制御機器の機器の認証あるいは制御機器操作ユーザの認証を行ってもよい。
【0163】
それに加えて、暗号化されたコマンド結果を、利用する際、該当するコマンド結果の識別情報により、被制御機器に対して、コマンドの利用権(コマンド利用権)の発行要求を行う利用権発行要求機能と、利用権の利用条件をチェックし、利用条件を満たす場合のみ、コマンド結果を復号し、かつその復号結果を、制御機器のどの記憶媒体にも残す事ができなくするコマンド結果利用機能をもっていてもよい。
【0164】
更に、利用権を管理する鍵管理機能を、被制御機器および制御機器とは別の第三のサーバに取り出してもよい。
【0165】
あるいは、コマンド実行条件発行機能を、被制御機器および制御機器とは別の第三のサーバで実行させ、当該コマンド実行条件管理機能に対して、コマンド実行条件を指定するコマンド実行条件指示機能を有してもよい。
【0166】
もしくは、被実行コマンド情報発行機能を、制御機器で実行させてもよい。
【0167】
これにより、相互認証のあと、さらに宅内側が当該宅外機器に許可したコマンドであるかもチェックして、認証された相手からの故意/過失に関らず、許可されていないコマンドの実行を不許可とすることができる。
さらに、許可されたコマンドでも、その実行の条件をきめ細かく(例えば、実行可能日時など)制御可能となる。
【図面の簡単な説明】
【0168】
【図1】実施の形態1〜実施の形態4における実行制限装置300の外観の一例を示す図。
【図2】実施の形態1〜実施の形態4における実行制限装置300及び制御装置200のハードウェア構成の一例を示す図。
【図3】実施の形態1〜実施の形態4における制御対象装置100のハードウェア構成の一例を示す図。
【図4】実施の形態1におけるシステムの全体構成の一例を示す図。
【図5】実施の形態1〜実施の形態4における実行制限装置300の制御の流れの一例を示すフローチャート図。
【図6】実施の形態1〜実施の形態4において、コマンド群記憶部312が記憶するコマンド400の一例を示す図。
【図7】実施の形態1において、コマンド情報発行部314が作成するコマンド情報800の一例を示す図。
【図8】実施の形態1〜実施の形態4において、制御装置200が作成する選択コマンド情報810の一例を示す図。
【図9】実施の形態2におけるシステムの全体構成の一例を示す図。
【図10】実施の形態2〜実施の形態3において、鍵管理部332が記憶する鍵管理情報600の一例を示す図。
【図11】実施の形態2〜実施の形態3において、コマンド情報発行部314が作成するコマンド情報800の一例を示す図。
【図12】実施の形態2において、利用権発行部344が通知する利用権820の一例を示す図。
【図13】実施の形態3におけるシステムの全体構成の一例を示す図。
【図14】実施の形態3における実行制限装置300の制御の流れの一例を示すフローチャート図。
【図15】実施の形態3〜実施の形態4において、利用権発行部344が作成する利用権820の一例を示す図。
【図16】実施の形態4におけるシステムの全体構成の一例を示す図。
【図17】実施の形態4において、制御装置200が通知する選択利用権830の一例を示す図。
【図18】実施の形態4における実行制限装置300の制御の流れの一例を示すフローチャート図。
【図19】実施の形態4における実行制限装置300の制御の流れの一例を示すフローチャート図。
【図20】実施の形態5におけるシステムの全体構成の一例を示す図。
【図21】実施の形態5において、コマンド結果鍵管理部382が記憶するコマンド結果鍵管理情報610の一例を示す図。
【図22】実施の形態5において、利用権発行部344が通知する利用権850の一例を示す図。
【図23】実施の形態5における利用制限装置350の制御の流れの一例を示すフローチャート図。
【図24】実施の形態5において、制御装置200が通知する利用要求840の一例を示す図。
【図25】実施の形態5において、利用制限装置350の制御の流れの別の例を示すフローチャート図。
【図26】実施の形態5において、制御装置200が通知する選択利用権860の一例を示す図。
【符号の説明】
【0169】
100 制御対象装置、200 制御装置、300 実行制限装置、301 実行許可部、311 選択コマンド情報受信部、312 コマンド群記憶部、313 コマンド暗号処理部、314 コマンド情報発行部、321 利用権処理部、322 実行条件記憶部、324 コマンド実行条件発行部、332 鍵管理部、334 鍵通知部、344 利用権発行部、350 利用制限装置、351 利用許可部、363 コマンド結果暗号処理部、364 実行結果通知部、371 利用権処理部、372 利用条件記憶部、374 利用条件通知部、381 利用要求取得部、382 コマンド結果鍵管理部、400 コマンド、401 コマンド識別子、402 実行機器情報、403 コマンド文字列、404 コマンド説明、600 鍵管理情報、601 暗号化コマンド識別子、602 復号鍵、610 コマンド結果鍵管理情報、611 実行結果識別子、612 復号鍵、800 コマンド情報、801 コマンド識別子、802 実行機器情報、803 署名、804 コマンド説明、808 暗号化コマンド識別子、809 暗号化されたコマンド識別子、810 選択コマンド情報、811 コマンド識別子、812 実行機器情報、813 署名、820 利用権、821 利用権識別子、822 暗号化コマンド識別子、823 実行機器情報、824 実行日時情報、825 ユーザ確認要否情報、826 復号鍵、827 署名、830 選択利用権、831 利用権識別子、832 暗号化コマンド識別子、833 実行機器情報、834 実行日時情報、835 ユーザ確認要否情報、836 署名、840 利用要求、841 実行結果識別子、842 署名、850 利用権、851 利用権識別子、852 実行結果識別子、853 実行機器情報、854 利用日時情報、855 ユーザ確認要否情報、856 復号鍵、857 署名、860 選択利用権、861 利用権識別子、862 実行結果識別子、863 実行機器情報、864 実行日時情報、865 ユーザ確認要否情報、866 署名、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、940 インターネット、941 ゲートウェイ、942 LAN、950 動作部、999 第三者。

【特許請求の範囲】
【請求項1】
制御装置からの制御指令の実行を制御対象装置に対して制限する実行制限装置において、
上記制御対象装置に対して実行を許可できる上記制御指令を記憶する制御指令記憶部と、
上記制御装置に対し、上記制御指令記憶部が記憶した制御指令を通知する制御指令通知部と、
上記制御対象装置に対する制御指令を取得する制御指令取得部と、
上記制御指令記憶部が記憶した制御指令と、上記制御指令取得部が取得した制御指令とが一致する場合に、上記制御対象装置に対し、上記制御指令取得部が取得した制御指令の実行を許可する実行許可部と、
を有することを特徴とする実行制限装置。
【請求項2】
上記実行制限装置は、更に、
上記制御指令記憶部が記憶した制御指令を、所定の鍵を用いて暗号化する制御指令暗号化部と、
上記制御指令暗号化部が上記制御指令を暗号化するのに用いた鍵を記憶する鍵記憶部と、
上記制御装置に対し、上記鍵記憶部が記憶した鍵を通知する鍵通知部と、
を有し、
上記制御指令通知部は、
上記制御装置に対し、上記制御指令暗号化部が暗号化した制御指令を通知する
ことを特徴とする請求項1に記載の実行制限装置。
【請求項3】
制御装置からの制御指令の実行を制御対象装置に対して制限する実行制限装置において、
上記制御対象装置に対して上記制御指令の実行を許可できる条件を実行条件として記憶する実行条件記憶部と、
上記実行条件記憶部が記憶した実行条件を、上記制御装置に対して通知する実行条件通知部と、
上記実行条件通知部から通知された実行条件を満たすと上記制御装置が判断した場合に上記制御装置が通知する制御指令を取得する制御指令取得部と、
上記実行条件記憶部が記憶した実行条件を満たすか否かを判断し、満たすと判断した場合に、上記制御対象装置に対し、上記制御指令取得部が取得した制御指令の実行を許可する実行許可部と、
を有することを特徴とする実行制限装置。
【請求項4】
上記実行制限装置は、更に、
上記実行条件通知部から通知された実行条件を満たすと上記制御装置が判断した場合に上記制御装置が制御指令とともに通知する上記実行条件を取得する実行条件取得部
を有し、
上記実行許可部は、
上記実行条件取得部が取得した実行条件と、上記実行条件記憶部が記憶した実行条件とが一致する場合に、上記制御対象装置に対し、上記制御指令取得部が取得した制御指令の実行を許可する
ことを特徴とする請求項3に記載の実行制限装置。
【請求項5】
上記実行許可部は、
上記制御指令取得部が取得した制御指令の実行を許可する場合に、上記制御対象装置に対し、上記制御指令を通知する
ことを特徴とする請求項1乃至請求項4のいずれかに記載の実行制限装置。
【請求項6】
制御対象装置が生成した実行結果の利用を、制御装置に対して制限する利用制限装置において、
上記制御装置に対して上記実行結果の利用を許可できる条件を利用条件として記憶する利用条件記憶部と、
上記制御装置に対し、上記利用条件記憶部が記憶した利用条件を通知する利用条件通知部と、
上記利用条件通知部から通知された利用条件を満たすと上記制御装置が判断した場合に上記制御装置が通知する利用要求を取得する利用要求取得部と、
上記利用要求取得部が利用要求を取得した場合に、上記利用条件記憶部が記憶した利用条件を満たすか否かを判断し、満たすを判断した場合に、上記制御対象装置に対し、上記実行結果の利用を許可する利用許可部と、
を有することを特徴とする利用制限装置。
【請求項7】
上記利用制限装置は、更に、
上記利用条件通知部から通知された利用条件を満たすと上記制御装置が判断した場合に上記制御装置が利用要求とともに通知する上記利用条件を取得する利用条件取得部
を有し、
上記利用許可部は、
上記利用条件取得部が取得した利用条件と、上記利用条件記憶部が記憶した利用条件とが一致する場合に、上記制御装置に対し、上記実行結果の利用を許可する
ことを特徴とする請求項6に記載の利用制限装置。
【請求項8】
上記利用制限装置は、更に、
上記制御対象装置が生成した実行結果を、所定の鍵を用いて暗号化する実行結果暗号化部と、
上記制御装置に対し、上記実行結果暗号化部が暗号化した実行結果を通知する実行結果通知部と、
上記実行結果暗号化部が上記実行結果を暗号化するのに用いた鍵を記憶する鍵記憶部と、
上記制御装置に対して上記実行結果の利用を許可する場合に、上記制御装置に対し、上記鍵記憶部が記憶した鍵を通知する鍵通知部と、
を有することを特徴とする請求項6または請求項7に記載の利用制限装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2006−236051(P2006−236051A)
【公開日】平成18年9月7日(2006.9.7)
【国際特許分類】
【出願番号】特願2005−50518(P2005−50518)
【出願日】平成17年2月25日(2005.2.25)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】