(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-31
(45)【発行日】2025-04-08
(54)【発明の名称】機器制御装置、管理装置、機器管理システム、機器制御方法、及びプログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20250401BHJP
G06F 21/33 20130101ALI20250401BHJP
【FI】
H04L9/32 200B
G06F21/33
H04L9/32 200F
(21)【出願番号】P 2021137521
(22)【出願日】2021-08-25
【審査請求日】2024-05-28
(73)【特許権者】
【識別番号】518276427
【氏名又は名称】ZEROBILLBANK JAPAN株式会社
(74)【代理人】
【識別番号】110004222
【氏名又は名称】弁理士法人創光国際特許事務所
(74)【代理人】
【識別番号】100166006
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】堀口 純一
(72)【発明者】
【氏名】茂木 健一
【審査官】平井 誠
(56)【参考文献】
【文献】特開2020-120231(JP,A)
【文献】特表2015-511348(JP,A)
【文献】特開2005-252500(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G09C 1/00- 5/00
H04L 9/00-40
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
制御対象機器のユーザに関する情報を証明する証明書を管理する管理装置と暗号化通信が可能な態様で接続し、前記制御対象機器の動作を制御する機器制御装置であって、
前記制御対象機器のユーザのユーザ端末から、前記ユーザを特定するためのユーザ識別子と、前記ユーザに関する情報を証明する証明書の種類を示すタグを特定するためのタグ情報と、前記管理装置の秘密鍵である管理装置秘密鍵を用いて生成された前記管理装置の署名と、前記ユーザ端末の秘密鍵であるユーザ秘密鍵を用いて生成された前記ユーザの署名とを含むユーザ情報を読み取るユーザ情報取得部と、
前記機器制御装置を特定するための装置識別子と、前記証明書の発行者の公開鍵である発行者公開鍵と、前記管理装置の公開鍵である管理装置公開鍵と、前記制御対象機器の動作の条件を定める動作条件とを記憶する記憶部と、
前記管理装置公開鍵を用いて、前記ユーザ端末から読み取った前記ユーザ情報に含まれる前記管理装置の署名の正当性を検証する署名検証部と、
前記署名が正当であることを条件として、前記ユーザ識別子と、前記タグ情報と、前記装置識別子とを含む情報を前記管理装置公開鍵で暗号化して送信用ユーザ情報を生成する暗号化部と、
前記管理装置に前記送信用ユーザ情報を暗号化通信を介して送信するとともに、前記管理装置から、前記ユーザに関する情報を証明する証明書と前記ユーザ秘密鍵に対応するユーザ公開鍵とを含む情報であって前記証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された前記発行者の署名を含む証明情報を受信する通信部と、を備え、
前記機器制御装置の前記署名検証部は、前記発行者公開鍵を用いて前記証明情報に含まれる前記発行者の署名の正当性を検証するとともに、前記ユーザ公開鍵を用いて前記ユーザ情報に含まれる前記ユーザの署名の正当性を検証し、
前記機器制御装置はさらに、
前記発行者の署名と前記ユーザの署名との両方の署名が正当であることを条件として、前記証明情報に含まれる前記証明書が前記動作条件を満たすか否かを判定する動作条件判定部と、
前記証明情報に含まれる前記証明書が前記動作条件を満たすことを条件として、前記制御対象機器の動作を許可する機器制御部と、を備える、
機器制御装置。
【請求項2】
前記タグ情報は、前記証明書の種類を示すタグのハッシュ値である、
請求項1に記載の機器制御装置。
【請求項3】
請求項1又は2に記載の機器制御装置と通信ネットワークを介して暗号化通信が可能な態様で接続する前記管理装置であって、
前記機器制御装置から前記送信用ユーザ情報を受信する通信部と、
前記管理装置公開鍵に対応する秘密鍵である管理装置秘密鍵を用いて前記送信用ユーザ情報を復号して前記ユーザ識別子と、前記タグ情報と、前記装置識別子とを取得する復号部と、を備え、
前記通信部は、前記復号部が取得した前記ユーザ識別子と前記タグ情報とを参照して、前記ユーザに関する情報を証明する証明書と前記ユーザ秘密鍵に対応するユーザ公開鍵とを含む情報であって前記証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された前記発行者の署名を含む証明情報を前記機器制御装置に送信する、
管理装置。
【請求項4】
前記管理装置は、
前記制御対象機器に対する制御を許可する機器制御装置の装置識別子としてあらかじめリスト化された許可リストを参照して、前記許可リストの中に前記復号部が取得した装置識別子が存在するか否かを確認するリスト確認部をさらに備え、
前記通信部は、前記許可リストの中に前記復号部が取得した装置識別子が存在することを条件として、前記証明情報を前記機器制御装置に送信する、
請求項3に記載の管理装置。
【請求項5】
制御対象機器の動作を制御する機器制御装置と、通信ネットワークを介して前記機器制御装置と暗号化通信が可能な態様で接続する管理装置と、を含む機器管理システムであって、
前記機器制御装置は、
前記制御対象機器のユーザのユーザ端末から、ユーザを特定するためのユーザ識別子と、前記ユーザに関する情報を証明する証明書の種類を示すタグを特定するためのタグ情報と、前記管理装置の秘密鍵である管理装置秘密鍵を用いて生成された前記管理装置の署名と、前記ユーザ端末の秘密鍵であるユーザ秘密鍵を用いて生成された前記ユーザの署名とを含むユーザ情報を読み取るユーザ情報取得部と、
前記機器制御装置を特定するための装置識別子と、前記証明書の発行者の公開鍵である発行者公開鍵と、前記管理装置の公開鍵である管理装置公開鍵と、前記制御対象機器の動作の条件を定める動作条件とを記憶する記憶部と、
前記管理装置公開鍵を用いて、前記ユーザ端末から読み取った前記ユーザ情報に含まれる前記管理装置の署名の正当性を検証する署名検証部と、
前記署名が正当であることを条件として、前記ユーザ識別子と、前記タグ情報と、前記装置識別子とを含む情報を前記管理装置公開鍵で暗号化して送信用ユーザ情報を生成する暗号化部と、
前記送信用ユーザ情報を前記管理装置に送信する通信部と、を備え、
前記管理装置は、
前記機器制御装置から前記送信用ユーザ情報を受信する通信部と、
前記管理装置公開鍵に対応する秘密鍵である管理装置秘密鍵を用いて前記送信用ユーザ情報を復号して前記ユーザ識別子と、前記タグ情報と、前記装置識別子とを取得する復号部と、を備え、
前記管理装置の前記通信部は、前記復号部が取得した前記ユーザ識別子と前記タグ情報とを参照して、前記ユーザに関する情報を証明する証明書と前記ユーザ秘密鍵に対応するユーザ公開鍵とを含む情報であって前記証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された前記発行者の署名を含む証明情報を前記機器制御装置に送信し、
前記機器制御装置の前記通信部は、前記管理装置から前記証明情報を受信し、
前記機器制御装置の前記署名検証部は、前記発行者公開鍵を用いて前記証明情報に含まれる前記発行者の署名の正当性を検証するとともに、前記ユーザ公開鍵を用いて前記ユーザ情報に含まれる前記ユーザの署名の正当性を検証し、
前記機器制御装置はさらに、
前記発行者の署名と前記ユーザの署名との両方の署名が正当であることを条件として、前記証明情報に含まれる前記証明書が前記動作条件を満たすか否かを判定する動作条件判定部と、
前記証明情報に含まれる前記証明書が前記動作条件を満たすことを条件として、前記制御対象機器の動作を許可する機器制御部と、を備える、
機器管理システム。
【請求項6】
前記機器管理システムは、
前記制御対象機器に対する制御を許可する機器制御装置の装置識別子としてあらかじめリスト化された許可リストと、
前記ユーザ識別子と、前記ユーザ公開鍵と、前記ユーザの署名と、前記証明書と、前記タグ情報と、前記発行者の署名とを紐づけて管理する証明書データベースと、を記憶する記憶装置をさらに含み、
前記管理装置は、
前記記憶装置から前記許可リストと前記証明情報とを読み出す記憶装置管理部をさらに備える、
請求項5に記載の機器管理システム。
【請求項7】
制御対象機器のユーザに関する情報を証明する証明書を管理する管理装置と暗号化通信が可能な態様で接続し、前記制御対象機器の動作を制御する機器制御装置のプロセッサが、
前記制御対象機器のユーザのユーザ端末から、前記ユーザを特定するためのユーザ識別子と、前記ユーザに関する情報を証明する証明書の種類を示すタグを特定するためのタグ情報と、前記管理装置の秘密鍵である管理装置秘密鍵を用いて生成された前記管理装置の署名と、前記ユーザ端末の秘密鍵であるユーザ秘密鍵を用いて生成された前記ユーザの署名とを含むユーザ情報を読み取るステップと、
前記機器制御装置の記憶部に記憶されている公開鍵であって前記管理装置の公開鍵である管理装置公開鍵を用いて、前記ユーザ端末から読み取った前記ユーザ情報に含まれる前記管理装置の署名の正当性を検証するステップと、
前記署名が正当であることを条件として、前記ユーザ識別子と、前記タグ情報と、前記機器制御装置を特定するための装置識別子とを含む情報を、前記管理装置公開鍵で暗号化した送信用ユーザ情報を生成するステップと、
前記管理装置に前記送信用ユーザ情報を暗号化通信を介して送信するステップと、
前記管理装置から、前記ユーザに関する情報を証明する証明書と前記ユーザ秘密鍵に対応するユーザ公開鍵とを含む情報であって前記証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された前記発行者の署名を含む証明情報を暗号化通信を介して受信するステップと、
前記機器制御装置の記憶部に記憶されている公開鍵であって前記証明書の発行者の公開鍵である発行者公開鍵を用いて、前記証明情報に含まれる前記発行者の署名の正当性を検証するステップと、
前記ユーザ公開鍵を用いて前記ユーザ情報に含まれる前記ユーザの署名の正当性を検証するステップと、
前記発行者の署名と前記ユーザの署名との両方の署名が正当であることを条件として、前記証明情報に含まれる前記証明書が前記制御対象機器の動作の条件を定める動作条件を満たすか否かを判定するステップと、
前記証明情報に含まれる前記証明書が前記動作条件を満たすことを条件として、前記制御対象機器の動作を許可するステップと、を実行する、
機器制御方法。
【請求項8】
制御対象機器のユーザに関する情報を証明する証明書を管理する管理装置と暗号化通信が可能な態様で接続し、前記制御対象機器の動作を制御する機器制御装置に、
前記制御対象機器のユーザのユーザ端末から、前記ユーザを特定するためのユーザ識別子と、前記ユーザに関する情報を証明する証明書の種類を示すタグを特定するためのタグ情報と、前記管理装置の秘密鍵である管理装置秘密鍵を用いて生成された前記管理装置の署名と、前記ユーザ端末の秘密鍵であるユーザ秘密鍵を用いて生成された前記ユーザの署名とを含むユーザ情報を読み取る機能と、
前記機器制御装置の記憶部に記憶されている公開鍵であって前記管理装置の公開鍵である管理装置公開鍵を用いて、前記ユーザ端末から読み取った前記ユーザ情報に含まれる前記管理装置の署名の正当性を検証する機能と、
前記署名が正当であることを条件として、前記ユーザ識別子と、前記タグ情報と、前記機器制御装置を特定するための装置識別子とを含む情報を、前記管理装置公開鍵で暗号化した送信用ユーザ情報を生成する機能と、
前記管理装置に前記送信用ユーザ情報を暗号化通信を介して送信する機能と、
前記管理装置から、前記ユーザに関する情報を証明する証明書と前記ユーザ秘密鍵に対応するユーザ公開鍵とを含む情報であって前記証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された前記発行者の署名を含む証明情報を暗号化通信を介して受信する機能と、
前記機器制御装置の記憶部に記憶されている公開鍵であって前記証明書の発行者の公開鍵である発行者公開鍵を用いて、前記証明情報に含まれる前記発行者の署名の正当性を検証する機能と、
前記ユーザ公開鍵を用いて前記ユーザ情報に含まれる前記ユーザの署名の正当性を検証する機能と、
前記発行者の署名と前記ユーザの署名との両方の署名が正当であることを条件として、前記証明情報に含まれる前記証明書が前記制御対象機器の動作の条件を定める動作条件を満たすか否かを判定する機能と、
前記証明情報に含まれる前記証明書が前記動作条件を満たすことを条件として、前記制御対象機器の動作を許可する機能と、を実現させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機器制御装置、管理装置、機器管理システム、機器制御方法、及びプログラムに関する。
【背景技術】
【0002】
近年、電子キー等の電子的な信号のやり取りを契機として、例えばドアの錠前、機器の起動、エンジンの始動等の動作を制御する技術が開発されている。例えば、特許文献1には、複数の通信端末のいずれかから処理要求を受信することで錠前を制御する技術が開示されている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術を用いることで、錠前を制御する権限を通信端末毎に適応的に設定することが可能となる。ここで、通信端末に設定される権限は、その通信端末の所有者の属性に応じて設定される。例えば、錠前が付されたゲストハウスのオーナーの通信端末にはオーナー権限があらかじめ設定され、その利用者の通信端末には解錠権限のみがあらかじめ設定される。
【0005】
錠前は、通信端末にあらかじめ設定された権限に応じて動作を実行するのであるが、この動作は通信端末の所有者の最新の属性に基づいているわけではない。このため、通信端末の所有者の属性に変化があったとしても、通信端末の設定されている権限の変更がなされるまでは、錠前は通信端末に設定されたままの権限に応じて動作を継続することになる。
【0006】
本願の発明者は、機器を動作させるための条件を、通信端末に設定された権限ではなく、通信端末の所有者の属性とすることにより、機器の動作制御の柔軟性を高め得る可能性について認識した。
【0007】
本発明はこれらの点に鑑みてなされたものであり、機器の動作制御の柔軟性を高める技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の第1の態様は、制御対象機器のユーザに関する情報を証明する証明書を管理する管理装置と暗号化通信が可能な態様で接続し、前記制御対象機器の動作を制御する機器制御装置である。この装置は、前記制御対象機器のユーザのユーザ端末から、前記ユーザを特定するためのユーザ識別子と、前記ユーザに関する情報を証明する証明書の種類を示すタグを特定するためのタグ情報と、前記管理装置の秘密鍵である管理装置秘密鍵を用いて生成された前記管理装置の署名と、前記ユーザ端末の秘密鍵であるユーザ秘密鍵を用いて生成された前記ユーザの署名とを含むユーザ情報を読み取るユーザ情報取得部と、前記機器制御装置を特定するための装置識別子と、前記証明書の発行者の公開鍵である発行者公開鍵と、前記管理装置の公開鍵である管理装置公開鍵と、前記制御対象機器の動作の条件を定める動作条件とを記憶する記憶部と、前記管理装置公開鍵を用いて、前記ユーザ端末から読み取った前記ユーザ情報に含まれる前記管理装置の署名の正当性を検証する署名検証部と、前記署名が正当であることを条件として、前記ユーザ識別子と、前記タグ情報と、前記装置識別子とを含む情報を前記管理装置公開鍵で暗号化して送信用ユーザ情報を生成する暗号化部と、前記管理装置に前記送信用ユーザ情報を暗号化通信を介して送信するとともに、前記管理装置から、前記ユーザに関する情報を証明する証明書と前記ユーザ秘密鍵に対応するユーザ公開鍵とを含む情報であって前記証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された前記発行者の署名を含む証明情報を受信する通信部と、を備える。前記機器制御装置の前記署名検証部は、前記発行者公開鍵を用いて前記証明情報に含まれる前記発行者の署名の正当性を検証するとともに、前記ユーザ公開鍵を用いて前記ユーザ情報に含まれる前記ユーザの署名の正当性を検証する。前記機器制御装置はさらに、前記発行者の署名と前記ユーザの署名との両方の署名が正当であることを条件として、前記証明情報に含まれる前記証明書が前記動作条件を満たすか否かを判定する動作条件判定部と、前記証明情報に含まれる前記証明書が前記動作条件を満たすことを条件として、前記制御対象機器の動作を許可する機器制御部と、を備える。
【0009】
前記タグ情報は、前記証明書の種類を示すタグのハッシュ値であってもよい。
【0010】
本発明の第2の態様は、上述の機器制御装置と通信ネットワークを介して暗号化通信が可能な態様で接続する前記管理装置である。この装置は、前記機器制御装置から前記送信用ユーザ情報を受信する通信部と、前記管理装置公開鍵に対応する秘密鍵である管理装置秘密鍵を用いて前記送信用ユーザ情報を復号して前記ユーザ識別子と、前記タグ情報と、前記装置識別子とを取得する復号部と、を備える。前記通信部は、前記復号部が取得した前記ユーザ識別子と前記タグ情報とを参照して、前記ユーザに関する情報を証明する証明書と前記ユーザ秘密鍵に対応するユーザ公開鍵とを含む情報であって前記証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された前記発行者の署名を含む証明情報を前記機器制御装置に送信する。
【0011】
前記管理装置は、前記制御対象機器に対する制御を許可する機器制御装置の装置識別子としてあらかじめリスト化された許可リストを参照して、前記許可リストの中に前記復号部が取得した装置識別子が存在するか否かを確認するリスト確認部をさらに備えてもよく、前記通信部は、前記許可リストの中に前記復号部が取得した装置識別子が存在することを条件として、前記証明情報を前記機器制御装置に送信してもよい。
【0012】
本発明の第3の態様は、制御対象機器の動作を制御する機器制御装置と、通信ネットワークを介して前記機器制御装置と暗号化通信が可能な態様で接続する管理装置と、を含む機器管理システムである。このシステムにおいて、前記機器制御装置は、前記制御対象機器のユーザのユーザ端末から、ユーザを特定するためのユーザ識別子と、前記ユーザに関する情報を証明する証明書の種類を示すタグを特定するためのタグ情報と、前記管理装置の秘密鍵である管理装置秘密鍵を用いて生成された前記管理装置の署名と、前記ユーザ端末の秘密鍵であるユーザ秘密鍵を用いて生成された前記ユーザの署名とを含むユーザ情報を読み取るユーザ情報取得部と、前記機器制御装置を特定するための装置識別子と、前記証明書の発行者の公開鍵である発行者公開鍵と、前記管理装置の公開鍵である管理装置公開鍵と、前記制御対象機器の動作の条件を定める動作条件とを記憶する記憶部と、前記管理装置公開鍵を用いて、前記ユーザ端末から読み取った前記ユーザ情報に含まれる前記管理装置の署名の正当性を検証する署名検証部と、前記署名が正当であることを条件として、前記ユーザ識別子と、前記タグ情報と、前記装置識別子とを含む情報を前記管理装置公開鍵で暗号化して送信用ユーザ情報を生成する暗号化部と、前記送信用ユーザ情報を前記管理装置に送信する通信部と、を備える。前記管理装置は、前記機器制御装置から前記送信用ユーザ情報を受信する通信部と、前記管理装置公開鍵に対応する秘密鍵である管理装置秘密鍵を用いて前記送信用ユーザ情報を復号して前記ユーザ識別子と、前記タグ情報と、前記装置識別子とを取得する復号部と、を備える。前記管理装置の前記通信部は、前記復号部が取得した前記ユーザ識別子と前記タグ情報とを参照して、前記ユーザに関する情報を証明する証明書と前記ユーザ秘密鍵に対応するユーザ公開鍵とを含む情報であって前記証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された前記発行者の署名を含む証明情報を前記機器制御装置に送信し、前記機器制御装置の前記通信部は、前記管理装置から前記証明情報を受信し、前記機器制御装置の前記署名検証部は、前記発行者公開鍵を用いて前記証明情報に含まれる前記発行者の署名の正当性を検証するとともに、前記ユーザ公開鍵を用いて前記ユーザ情報に含まれる前記ユーザの署名の正当性を検証する。前記機器制御装置はさらに、前記発行者の署名と前記ユーザの署名との両方の署名が正当であることを条件として、前記証明情報に含まれる前記証明書が前記動作条件を満たすか否かを判定する動作条件判定部と、前記証明情報に含まれる前記証明書が前記動作条件を満たすことを条件として、前記制御対象機器の動作を許可する機器制御部と、を備える。
【0013】
前記機器管理システムは、前記制御対象機器に対する制御を許可する機器制御装置の装置識別子としてあらかじめリスト化された許可リストと、前記ユーザ識別子と、前記ユーザ公開鍵と、前記ユーザの署名と、前記証明書と、前記タグ情報と、前記発行者の署名とを紐づけて管理する証明書データベースと、を記憶する記憶装置をさらに含んでもよく、前記管理装置は、前記記憶装置から前記許可リストと前記証明情報とを読み出す記憶装置管理部をさらに備えてもよい。
【0014】
本発明の第4の態様は、機器制御方法である。この方法において、制御対象機器のユーザに関する情報を証明する証明書を管理する管理装置と暗号化通信が可能な態様で接続し、前記制御対象機器の動作を制御する機器制御装置のプロセッサが、前記制御対象機器のユーザのユーザ端末から、前記ユーザを特定するためのユーザ識別子と、前記ユーザに関する情報を証明する証明書の種類を示すタグを特定するためのタグ情報と、前記管理装置の秘密鍵である管理装置秘密鍵を用いて生成された前記管理装置の署名と、前記ユーザ端末の秘密鍵であるユーザ秘密鍵を用いて生成された前記ユーザの署名とを含むユーザ情報を読み取るステップと、前記機器制御装置の記憶部に記憶されている公開鍵であって前記管理装置の公開鍵である管理装置公開鍵を用いて、前記ユーザ端末から読み取った前記ユーザ情報に含まれる前記管理装置の署名の正当性を検証するステップと、前記署名が正当であることを条件として、前記ユーザ識別子と、前記タグ情報と、前記機器制御装置を特定するための装置識別子とを含む情報を、前記管理装置公開鍵で暗号化した送信用ユーザ情報を生成するステップと、前記管理装置に前記送信用ユーザ情報を暗号化通信を介して送信するステップと、前記管理装置から、前記ユーザに関する情報を証明する証明書と前記ユーザ秘密鍵に対応するユーザ公開鍵とを含む情報であって前記証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された前記発行者の署名を含む証明情報を暗号化通信を介して受信するステップと、前記機器制御装置の記憶部に記憶されている公開鍵であって前記証明書の発行者の公開鍵である発行者公開鍵を用いて、前記証明情報に含まれる前記発行者の署名の正当性を検証するステップと、前記ユーザ公開鍵を用いて前記ユーザ情報に含まれる前記ユーザの署名の正当性を検証するステップと、前記発行者の署名と前記ユーザの署名との両方の署名が正当であることを条件として、前記証明情報に含まれる前記証明書が前記制御対象機器の動作の条件を定める動作条件を満たすか否かを判定するステップと、前記証明情報に含まれる前記証明書が前記動作条件を満たすことを条件として、前記制御対象機器の動作を許可するステップと、を実行する。
【0015】
本発明の第5の態様は、プログラムである。このプログラムは、制御対象機器のユーザに関する情報を証明する証明書を管理する管理装置と暗号化通信が可能な態様で接続し、前記制御対象機器の動作を制御する機器制御装置に、前記制御対象機器のユーザのユーザ端末から、前記ユーザを特定するためのユーザ識別子と、前記ユーザに関する情報を証明する証明書の種類を示すタグを特定するためのタグ情報と、前記管理装置の秘密鍵である管理装置秘密鍵を用いて生成された前記管理装置の署名と、前記ユーザ端末の秘密鍵であるユーザ秘密鍵を用いて生成された前記ユーザの署名とを含むユーザ情報を読み取る機能と、前記機器制御装置の記憶部に記憶されている公開鍵であって前記管理装置の公開鍵である管理装置公開鍵を用いて、前記ユーザ端末から読み取った前記ユーザ情報に含まれる前記管理装置の署名の正当性を検証する機能と、前記署名が正当であることを条件として、前記ユーザ識別子と、前記タグ情報と、前記機器制御装置を特定するための装置識別子とを含む情報を、前記管理装置公開鍵で暗号化した送信用ユーザ情報を生成する機能と、前記管理装置に前記送信用ユーザ情報を暗号化通信を介して送信する機能と、前記管理装置から、前記ユーザに関する情報を証明する証明書と前記ユーザ秘密鍵に対応するユーザ公開鍵とを含む情報であって前記証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された前記発行者の署名を含む証明情報を暗号化通信を介して受信する機能と、前記機器制御装置の記憶部に記憶されている公開鍵であって前記証明書の発行者の公開鍵である発行者公開鍵を用いて、前記証明情報に含まれる前記発行者の署名の正当性を検証する機能と、前記ユーザ公開鍵を用いて前記ユーザ情報に含まれる前記ユーザの署名の正当性を検証する機能と、前記発行者の署名と前記ユーザの署名との両方の署名が正当であることを条件として、前記証明情報に含まれる前記証明書が前記制御対象機器の動作の条件を定める動作条件を満たすか否かを判定する機能と、前記証明情報に含まれる前記証明書が前記動作条件を満たすことを条件として、前記制御対象機器の動作を許可する機能と、を実現させる。
【0016】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【0017】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0018】
本発明によれば、機器の動作制御の柔軟性を高めることができる。
【図面の簡単な説明】
【0019】
【
図1】実施の形態に係る機器管理システムの概要を説明するための図である。
【
図2】実施の形態に係る機器制御装置及び管理装置それぞれの機能構成を模式的に示す図である。
【
図3】実施の形態に係る機器制御装置の記憶部が格納する情報を模式的に示す図である。
【
図4】実施の形態に係るユーザ情報のデータ構造の一例を模式的に示す図である。
【
図5】実施の形態に係る証明書データベースのデータ構造を模式的に示す図である。
【
図6】実施の形態に係る許可リストのデータ構造の一例を模式的に示す図である。
【
図7】実施の形態に係る機器管理システムにおいて実行される機器制御処理の流れを説明するためのシーケンス図である。
【発明を実施するための形態】
【0020】
<実施の形態の概要>
図1は、実施の形態に係る機器管理システムSの概要を説明するための図である。以下、
図1を参照して、実施の形態の概要を述べる。
【0021】
実施の形態に係る機器管理システムSは、制御対象機器Dと、制御対象機器Dの動作を制御する機器制御装置1と、制御対象機器DのユーザUに関する情報を証明する証明書を管理する管理装置2と、記憶装置3とを含んでいる。ここで、機器制御装置1と管理装置2とは、暗号化通信が可能な態様で接続している。
【0022】
図1に示す機器管理システムSの例では、制御対象機器Dはモータの動力で解錠及び施錠を実行する電子ロックである。機器制御装置1は、ユーザUが所持するユーザ端末Tの表示部に表示されたコードを読み取ることにより、ユーザ端末Tから情報を取得することができる。
【0023】
以下、実施の形態に係る機器管理システムSで実行される処理の概略を(1)から(6)の順に説明するが、その番号は
図1における(1)から(6)と対応する。
【0024】
(1)機器制御装置1は、ユーザ端末Tからユーザ端末Tが保持しているユーザUに関するユーザ情報を読み取る。具体的には、機器制御装置1は、ユーザ端末Tから読み取ったURI(Uniform Resource Identifier)にアクセスし、アクセス先からユーザ情報を取得してもよい。
【0025】
ここで、機器制御装置1がユーザ端末Tから読み取るユーザ情報には、ユーザUに関する情報を証明する証明書の種類を示すタグを特定するためのタグ情報が含まれる。限定はしないが、ユーザUに関する情報を証明する証明書とは、例えばユーザUが特定の機器や重機等を取り扱うための免許、ユーザUが特定の組織に属していることの証明、ユーザU又はユーザUが所持するペットが特定の病気に対する抵抗や抗体を持っていること、あるいはワクチン接種を受けていることの証明、等である。
【0026】
(2)機器制御装置1は、ユーザ情報の一部を管理装置公開鍵で鍵暗号化して管理装置2に送信する。
(3)管理装置2は、機器制御装置1から受信したユーザ情報に含まれるタグ情報に基づいて、ユーザUに関する情報を証明する証明書を格納する記憶装置3から証明書を取得する。
(4)管理装置2は、記憶装置3から取得した証明書を含む証明書情報を機器制御装置1に送信する。
【0027】
(5)機器制御装置1は、管理装置2から受信した証明書の内容が制御対象機器Dを動作させるための条件を満たすか否かを判定する。
(6)機器制御装置1は、証明書の内容が制御対象機器Dを動作させるための条件を満たすことを条件として、制御対象機器Dの動作を許可する。
【0028】
これにより、機器制御装置1は、ユーザUの属性を直接参照して制御対象機器Dの動作の可否を判定できるため、制御対象機器Dの動作制御の柔軟性を高めることができる。
【0029】
<実施の形態に係る機器制御装置1及び管理装置2の機能構成>
図2は、実施の形態に係る機器制御装置1及び管理装置2それぞれの機能構成を模式的に示す図である。機器制御装置1は、通信部10、記憶部11、及び制御部12を備える。また、管理装置2は、通信部20、記憶部21、及び制御部22を備える。
【0030】
図2において、矢印は主なデータの流れを示しており、
図2に示していないデータの流れがあってもよい。
図2において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図2に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0031】
通信部10は、機器制御装置1が管理装置2等の外部の装置と通信するための通信インターフェースであり、例えば携帯通信モジュールやWi-Fi(登録商標)モジュール等で実現されている。
【0032】
記憶部11は、機器制御装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や機器制御装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。
【0033】
制御部12は、機器制御装置1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部11に記憶されたプログラムを実行することによってユーザ情報取得部120、署名検証部121、暗号化部122、動作条件判定部123、及び機器制御部124として機能する。
【0034】
通信部20は、管理装置2が機器制御装置1等の外部の装置と通信するための通信インターフェースであり、例えばLAN(Local Area Network)モジュール等で実現されている。
【0035】
記憶部21は、管理装置2を実現するコンピュータのBIOS等を格納するROMや管理装置2の作業領域となるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。
【0036】
制御部22は、管理装置2のCPUやGPU等のプロセッサであり、記憶部21に記憶されたプログラムを実行することによって復号部220、記憶装置管理部221、及びリスト確認部222として機能する。
【0037】
なお、
図2は、管理装置2が単一の装置で構成されている場合の例を示している。しかしながら、管理装置2は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部22を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0038】
ユーザ情報取得部120は、ユーザUのユーザ端末Tからユーザ情報を読み取る。ここで、ユーザ情報は、ユーザUを特定するためのユーザ識別子と、ユーザUに関する情報を証明する証明書の種類を示すタグを特定するためのタグ情報と、管理装置2の秘密鍵である管理装置秘密鍵を用いて生成された管理装置の署名と、ユーザ端末Tの秘密鍵であるユーザ秘密鍵を用いて生成されたユーザUの署名とを含む情報である。
【0039】
図3は、実施の形態に係る機器制御装置1の記憶部11が格納する情報を模式的に示す図である。
図3に示すように、記憶部11は、アプリケーションプログラムの実行時に参照される種々の情報として、機器制御装置1を特定するための装置識別子と、証明書の発行者の公開鍵である発行者公開鍵と、管理装置2の公開鍵である管理装置公開鍵と、制御対象機器Dの動作の条件を定める動作条件とを記憶している。記憶部11が記憶するこれらの情報は、例えば機器制御装置1の製造時に機器制御装置1の製造者によって記憶部11に格納される。
図3に示すように、記憶部11は、1以上の発行者公開鍵を含んでもよい。制御対象機器Dの動作の条件を定める動作条件の例としては、ユーザUが特定の証明書を有していること、その証明書の有効期限を徒過していないこと等が挙げられる。
【0040】
署名検証部121は、記憶部11から管理装置公開鍵を読み出す。署名検証部121は、管理装置公開鍵を用いて、ユーザ端末Tから読み取ったユーザ情報に含まれる管理装置2の署名の正当性を検証する。暗号化部122は、署名検証部121が検証した署名が正当であることを条件として、ユーザ識別子と、タグ情報と、装置識別子とを含む情報を管理装置公開鍵で暗号化した送信用ユーザ情報を生成する。なお、ユーザ識別子とタグ情報とは、ユーザ情報取得部120がユーザ端末Tから取得したユーザ情報に含まれており、装置識別子は記憶部11に格納されている。
【0041】
通信部20は、管理装置2に、暗号化部122が生成した送信用ユーザ情報を暗号化通信を介して送信する。通信部20は、管理装置2から、ユーザUに関する情報を証明する証明書と、ユーザ秘密鍵に対応するユーザ公開鍵とを含む証明情報を受信する。この証明情報は、証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された発行者の署名を含む情報である。なお、管理装置2において実行される処理については後述する。
【0042】
署名検証部121は、記憶部11からは発行者公開鍵を読み出す。署名検証部121は、発行者公開鍵を用いて、通信部20が受信した証明情報に含まれる発行者の署名の正当性を検証する。また、署名検証部121は、通信部20が受信した証明情報に含まれるユーザ公開鍵を用いて、ユーザ情報取得部120が取得したユーザ情報に含まれるユーザUの署名の正当性を検証する。
【0043】
動作条件判定部123は、署名検証部121による検証の結果、発行者の署名とユーザの署名との両方の署名が正当であることを条件として、証明情報に含まれる証明書が動作条件を満たすか否かを判定する。機器制御部124は、証明情報に含まれる証明書が動作条件を満たすことを条件として、制御対象機器Dの動作を許可する。例えば、制御対象機器Dがドアのオートロックである場合、証明書はユーザUの入室の許可証であり、機器制御部124は制御対象機器Dに対して解錠を許可する。別の例として、制御対象機器Dが操作するために免許が必要な特殊車両である場合、証明書はユーザUに発行された特殊車両の免許証であり、機器制御部124は制御対象機器Dに対して始動を許可する。
【0044】
ユーザUは、証明書の種類を示すタグを特定するためのタグ情報を通信ネットワークNを介してユーザ端末Tにダウンロードすることができる。このため、ユーザUは、証明書を新規に取得したり、証明書を更新したりした場合に、迅速にタグ情報をユーザ端末Tに格納することができる。機器制御部124は、ユーザ情報取得部120がユーザ端末Tから読み取ったユーザ情報に基づいて制御対象機器Dの動作を制御するため、ユーザUの証明書の新規取得や更新に迅速に対応できる。結果として、機器制御装置1は、ユーザUの証明書に基づく制御対象機器Dの動作制御の柔軟性を高めることができる。
【0045】
ここで、「タグ」は、証明書の種類を示す情報であるため、例えば、「特殊車両の免許証」、「特定のワクチンを接種済みであることの証明書」、「特定の会社の社員証」等が挙げられる。ユーザ情報取得部120がユーザ端末Tから読み取るユーザ情報に含まれるタグ情報は、ユーザUに関する情報を証明する証明書の種類を示すタグを特定することができる情報であればよく、必ずしもタグそのものでなくてもよい。具体例として、タグ情報は、証明書の種類を示す情報であるタグのハッシュ値であってもよい。
【0046】
図4は、実施の形態に係るユーザ情報のデータ構造の一例を模式的に示す図である。
図4に示すように、ユーザ識別子と、タグ情報と、管理装置2の署名と、ユーザの署名とを含んでいる。
図4に示す例では、タグ情報として証明書の種類を示す情報であるタグのハッシュ値が格納されている。また、記憶部11が1以上の発行者公開鍵を含んでいることに対応して、ユーザ情報も複数のタグ情報を含んでいる。
【0047】
ハッシュ値はその性質上、タグと一対一の関係にあり、かつハッシュ値から元のタグを復元することは極めて困難とされている。このため、万が一第三者にタグ情報が漏洩してもその第三者はタグ情報からタグを復元することは実質上できない。一方、管理装置2はあらかじめタグを所持しているため、タグに対応するタグ情報も生成可能である。したがって、管理装置2は、機器制御装置1からタグ情報を取得することにより、対応するタグを特定することができる。このように、ユーザ端末Tが保持するユーザ情報はタグそのものではなくタグ情報を格納することにより、機器管理システムSは、情報漏洩のリスクを低減することができる。
【0048】
(管理装置2が実行する処理)
続いて、機器制御装置1から送信用ユーザ情報を受信した管理装置2が実行する処理を説明する。
【0049】
管理装置2の通信部20は、機器制御装置1から送信用ユーザ情報を受信する。復号部220は、管理装置公開鍵に対応する秘密鍵である管理装置秘密鍵を用いて送信用ユーザ情報を復号し、ユーザ識別子と、タグ情報と、装置識別子とを取得する。
【0050】
通信部20は、ユーザUに関する情報を証明する証明書とユーザ秘密鍵に対応するユーザ公開鍵とを含む証明書情報を機器制御装置1に送信する。この証明書情報は、証明書の発行者の秘密鍵である発行者秘密鍵を用いて生成された発行者の署名を含んでいる。
【0051】
図5は、実施の形態に係る証明書データベース30のデータ構造を模式的に示す図である。証明書データベース30は記憶装置3に格納されており、管理装置2の記憶装置管理部221によって管理されている。
【0052】
図5に示す例では、証明書データベース30は、ユーザ識別子と、ユーザ公開鍵と、ユーザの署名と、証明書と、タグ情報と、発行者の署名とを紐づけて、ユーザ識別子毎に管理している。具体的には、証明書データベース30は、ユーザの署名が付されたユーザ識別子及びユーザ公開鍵、証明書、タグ情報、タグ情報のハッシュ値、及び証明書の有効期限を示す情報に、証明書の発行者の署名を付して格納している。署名検証部121は、復号部220が取得したユーザ識別子とタグ情報とを参照して、証明書データベース30から証明情報を読み出して取得する。
【0053】
このように、管理装置2は、ユーザ端末Tからユーザ情報を読み出した機器制御装置1から受信した情報に基づいて、ユーザ端末Tの所有者であるユーザUの証明情報を機器制御装置1に送信することができる。
【0054】
ここで、機器制御装置1は管理装置2の管理の届かない場所に設置されることもあるため、悪意のある第三者によって盗難されたり、改ざんがなされたりすることを防止しきれない可能性がある。そこで、管理装置2のリスト確認部222は、制御対象機器Dに対する制御を許可する機器制御装置1の装置識別子としてあらかじめリスト化された許可リストを参照して、許可リストの中に復号部220が取得した装置識別子が存在するか否かを確認する。
【0055】
図6は、実施の形態に係る許可リスト31のデータ構造の一例を模式的に示す図である。
図6に示すように、許可リスト31は、制御対象機器Dに対する制御を許可する機器制御装置1の装置識別子をあらかじめリスト化した状態で記憶装置3に格納されており、管理装置2のリスト確認部222によって管理されている。許可リスト31は、管理装置2の記憶装置管理部221によって記憶装置3から読み出される。
【0056】
管理装置2の通信部20は、許可リスト31の中に復号部220が取得した装置識別子が存在することを条件として、証明情報を機器制御装置1に送信する。例えば、機器制御装置1の管理者は、機器制御装置1に何らかの異変を見つけた場合、管理装置2の管理者に通知する。管理装置2の管理者は、通知があった機器制御装置1の装置識別子を許可リスト31から削除する。これにより、管理装置2は、機器制御装置1の盗難や改ざんが見つかった場合にユーザUの証明書情報を機器制御装置1に送信することを抑制できる。
【0057】
<機器管理システムSにおいて実行される機器制御方法の処理フロー>
図7は、実施の形態に係る機器管理システムSにおいて実行される機器制御処理の流れを説明するためのシーケンス図である。
【0058】
機器制御装置1のユーザ情報取得部120は、ユーザUのユーザ端末Tからユーザ情報を読み取る(S2)。署名検証部121は、記憶部11から管理装置公開鍵を読み出す(S4)。署名検証部121は、管理装置公開鍵を用いて、ユーザ情報取得部120が読み出したユーザ情報に含まれる管理装置2の署名の正当性を検証する(S6)。
【0059】
管理装置2の署名が正当である場合(S8のYes)、暗号化部122は、ユーザ識別子と、タグ情報と、装置識別子とを含む情報を管理装置公開鍵で暗号化して送信用ユーザ情報を生成する(S10)。
【0060】
通信部10は、暗号化部122が生成した送信用ユーザ情報を管理装置2に送信する(S12)。管理装置2の通信部20は、機器制御装置1から送信用ユーザ情報を受信する(S14)。復号部220は、通信部20が受信した送信用ユーザ情報を復号する(S16)。
【0061】
記憶装置管理部221は、復号部220が送信用ユーザ情報を復号して取得したユーザ識別子とタグ情報とを参照して、記憶装置3から証明情報を取得する(S18)。通信部20は、記憶装置管理部221が取得した証明情報を機器制御装置1に送信する(S20)。
【0062】
機器制御装置1の通信部10は、管理装置2から証明情報を受信する(S22)。署名検証部121は、発行者公開鍵を用いて、通信部10が受信した証明情報に含まれる発行者の署名の正当性を検証する(S24)。発行者の署名が正当である場合(S26のYes)、署名検証部121は、通信部10が受信した証明情報に含まれるユーザ公開鍵を用いて、ユーザ情報取得部120が取得したユーザ情報に含まれるユーザUの署名の正当性を検証する(S28)。
【0063】
ユーザUの署名が正当である場合(S30のYes)、動作条件判定部123は、証明情報に含まれる証明書が動作条件を満たすか否かを判定する(S32)。証明情報に含まれる証明書が動作条件を満たす場合(S34のYes)、機器制御部124は、制御対象機器Dの動作を許可する(S36)。
【0064】
管理装置2の署名が正当でない場合(S8のNo)、発行者の署名が正当でない場合(S26のNo)、ユーザUの署名が正当でない場合(S30のNo)、又は証明情報に含まれる証明書が動作条件を満たさない場合(S34のNo)、機器制御装置1は特段の処理を実行しない。
【0065】
<実施の形態に係る機器制御装置1が奏する効果>
以上説明したように、実施の形態に係る機器制御装置1によれば、機器の動作制御の柔軟性を高めることができる。
【0066】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。
【0067】
<第1の変形例>
上記では、機器制御装置1は、ユーザ端末Tの表示部に表示されたコードを読み取ることにより、ユーザ端末Tからユーザ情報を取得する場合について説明した。これに替えて、あるいはこれに加えて、機器制御装置1は、NFC(Near Field Communication)等の近距離無線通信を介してユーザ端末Tからユーザ情報を読み出してもよい。この場合、機器制御装置1は、図示しないNFCリーダを備え、ユーザ端末Tが備えるNFCタグから情報を読み取ればよい。
【0068】
<第2の変形例>
上記では、記憶装置3は、通常の単一の記憶装置であることを前提としたが、記憶装置3は分散型の記憶装置であってもよい。特に、記憶装置3は、ブロックチェーン等の既知の分散型台帳技術を用いて実現されてもよい。
【符号の説明】
【0069】
1・・・機器制御装置
10・・・通信部
11・・・記憶部
12・・・制御部
120・・・ユーザ情報取得部
121・・・署名検証部
122・・・暗号化部
123・・・動作条件判定部
124・・・機器制御部
2・・・管理装置
20・・・通信部
21・・・記憶部
22・・・制御部
220・・・復号部
221・・・記憶装置管理部
222・・・リスト確認部
3・・・記憶装置
30・・・証明書データベース
31・・・許可リスト
N・・・通信ネットワーク
S・・・機器管理システム