(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022081088
(43)【公開日】2022-05-31
(54)【発明の名称】機器間通信制御方法、機器間通信制御装置、及びプログラム
(51)【国際特許分類】
H04L 9/08 20060101AFI20220524BHJP
G06F 21/62 20130101ALI20220524BHJP
【FI】
H04L9/00 601B
G06F21/62 318
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2020192406
(22)【出願日】2020-11-19
(71)【出願人】
【識別番号】516196440
【氏名又は名称】株式会社GFS
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】上原 敏幸
(57)【要約】 (修正有)
【課題】電子証明書を用いずに安全な機器間通信を実現する技術を提供する。
【解決手段】通信制御システムにおいて、通信制御装置の通信部は、第1機器から第1機器識別子と第1接続情報とを含む第1接続要求を受信し、第2機器から第2機器識別子と第2接続情報とを含む第2接続要求を受信する。鍵生成部は、第1機器と第2機器との間の機器間通信で用いる共通鍵を生成する。ブロックチェーン操作部は、機器の秘密鍵に対応する公開鍵と、機器識別子とを登録しているブロックチェーンを参照して、第1機器識別子に対応する第1公開鍵と、第2機器識別子に対応する第2公開鍵とを取得する。暗号化部は、共通鍵と第2接続情報とを含む情報を第1公開鍵で暗号化して第1暗号化情報を生成し、共通鍵と第1接続情報とを含む情報を第2公開鍵で暗号化して第2暗号化情報を生成する。通信部は、第1暗号化情報を第1機器に送信し、第2暗号化情報を第2機器に送信する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1機器と第2機器との間の機器間通信を管理する通信制御装置が、
前記第1機器から、前記第1機器を識別するための第1機器識別子と、前記第1機器と通信するための情報である第1接続情報と、を含む第1接続要求を受信するステップと、
前記第2機器から、前記第2機器を識別するための第2機器識別子と、前記第2機器と通信するための情報である第2接続情報と、を含む第2接続要求を受信するステップと、
前記第1機器と前記第2機器との間の機器間通信で用いる共通鍵を生成するステップと、
複数の機器それぞれが保持している秘密鍵に対応する公開鍵と、複数の前記機器それぞれを識別するための機器識別子とを対応づけて登録しているブロックチェーンを参照して、前記第1機器識別子に対応する公開鍵である第1公開鍵を取得するステップと、
前記ブロックチェーンを参照して、前記第2機器識別子に対応する公開鍵である第2公開鍵を取得するステップと、
前記共通鍵と前記第2接続情報とを含む情報を前記第1公開鍵で暗号化して第1暗号化情報を生成するステップと、
前記共通鍵と前記第1接続情報とを含む情報を前記第2公開鍵で暗号化して第2暗号化情報を生成するステップと、
前記第1暗号化情報を前記第1機器に送信するステップと、
前記第2暗号化情報を前記第2機器に送信するステップと、を実行する、
機器間通信制御方法。
【請求項2】
前記通信制御装置が、
前記第1機器識別子、前記第1接続情報、前記第2機器識別子、前記第2接続情報、及び前記共通鍵を含む機器間通信情報を、記憶装置に格納するステップをさらに実行する、
請求項1に記載の機器間通信制御方法。
【請求項3】
前記第1機器が、
前記第1機器が保持している秘密鍵である第1秘密鍵を用いて前記第1暗号化情報を復号して前記共通鍵と前記第2接続情報とを取得するステップと、
前記第2機器に送信するための送信データを前記共通鍵で暗号化して暗号化送信データを生成するステップと、
前記第2接続情報を用いて前記暗号化送信データを前記第2機器に送信するステップと、を実行し、
前記第2機器が、
前記第2機器が保持している秘密鍵である第2秘密鍵を用いて前記第2暗号化情報を復号して前記共通鍵と前記第1接続情報とを取得するステップと、
前記第1機器から前記暗号化送信データを受信するステップと、
前記暗号化送信データを前記共通鍵で復号して前記送信データを取得するステップと、を実行する、
請求項1又は2に記載の機器間通信制御方法。
【請求項4】
前記通信制御装置が、
前記共通鍵とは異なる新たな共通鍵を生成するステップと、
前記新たな共通鍵を前記第1公開鍵で暗号化して第1暗号化共通鍵を生成するステップと、
前記新たな共通鍵を前記第2公開鍵で暗号化して第2暗号化共通鍵を生成するステップと、
前記第1暗号化共通鍵を前記第1機器に送信するステップと、
前記第2暗号化共通鍵を前記第2機器に送信するステップと、をさらに実行し、
前記第1機器が、
前記通信制御装置から前記第1暗号化共通鍵を受信するステップと、
前記第1機器が保持している第1秘密鍵を用いて前記第1暗号化共通鍵を復号して前記新たな共通鍵を取得するステップと、
前記共通鍵を破棄するステップと、をさらに実行し、
前記第2機器が、
前記通信制御装置から前記第2暗号化共通鍵を受信するステップと、
前記第2機器が保持している第2秘密鍵を用いて前記第2暗号化共通鍵を復号して前記新たな共通鍵を取得するステップと、
前記共通鍵を破棄するステップと、をさらに実行する、
請求項1から3のいずれか1項に記載の機器間通信制御方法。
【請求項5】
前記通信制御装置が、
前記共通鍵とは異なる新たな共通鍵を生成するステップと、
前記新たな共通鍵を前記共通鍵で暗号化して更新用暗号化共通鍵を生成するステップと、
前記更新用暗号化共通鍵を前記第1機器に送信するステップと、
前記更新用暗号化共通鍵を前記第2機器に送信するステップと、をさらに実行し、
前記第1機器が、
前記通信制御装置から前記更新用暗号化共通鍵を受信するステップと、
前記共通鍵を用いて前記更新用暗号化共通鍵を復号して前記新たな共通鍵を取得するステップと、
前記共通鍵を破棄するステップと、をさらに実行し、
前記第2機器が、
前記通信制御装置から前記更新用暗号化共通鍵を受信するステップと、
前記共通鍵を用いて前記更新用暗号化共通鍵を復号して前記新たな共通鍵を取得するステップと、
前記共通鍵を破棄するステップと、をさらに実行する、
請求項1から3のいずれか1項に記載の機器間通信制御方法。
【請求項6】
前記通信制御装置が、
前記第1機器と前記第2機器との間の機器間通信を停止することを指示する停止命令を生成するステップと、
前記停止命令を前記第1公開鍵で暗号化して第1暗号化停止命令を生成するステップと、
前記停止命令を前記第2公開鍵で暗号化して第2暗号化停止命令を生成するステップと、
前記第1暗号化停止命令を前記第1機器に送信するステップと、
前記第2暗号化停止命令を前記第2機器に送信するステップと、をさらに実行する、
請求項1から5のいずれか1項に記載の機器間通信制御方法。
【請求項7】
前記通信制御装置が、
前記第1機器に保持させる第1秘密鍵と、当該第1秘密鍵に対応する前記第1公開鍵とを生成するステップと、
前記第2機器に保持させる第2秘密鍵と、当該第2秘密鍵に対応する前記第2公開鍵とを生成するステップと、
前記第1公開鍵を前記第1機器識別子と対応づけて前記ブロックチェーンに登録するステップと、
前記第2公開鍵を前記第2機器識別子と対応づけて前記ブロックチェーンに登録するステップと、
前記第1秘密鍵を前記第1機器に送付するステップと、
前記第2秘密鍵を前記第2機器に送付するステップと、をさらに実行する、
請求項1から6のいずれか1項に記載の機器間通信制御方法。
【請求項8】
第1機器と第2機器との間の機器間通信を管理する通信制御装置であって、
前記第1機器から、前記第1機器を識別するための第1機器識別子と、前記第1機器と通信するための情報である第1接続情報と、を含む第1接続要求を受信するとともに、前記第2機器から、前記第2機器を識別するための第2機器識別子と、前記第2機器と通信するための情報である第2接続情報と、を含む第2接続要求を受信する通信部と、
前記第1機器と前記第2機器との間の機器間通信で用いる共通鍵を生成する鍵生成部と、
複数の機器それぞれが保持している秘密鍵に対応する公開鍵と、複数の前記機器それぞれを識別するための機器識別子とを対応づけて登録しているブロックチェーンを参照して、前記第1機器識別子に対応する公開鍵である第1公開鍵と、前記第2機器識別子に対応する公開鍵である第2公開鍵とを取得するブロックチェーン操作部と、
前記共通鍵と前記第2接続情報とを含む情報を前記第1公開鍵で暗号化して第1暗号化情報を生成するとともに、前記共通鍵と前記第1接続情報とを含む情報を前記第2公開鍵で暗号化して第2暗号化情報を生成する暗号化部と、を備え、
前記通信部は、前記第1暗号化情報を前記第1機器に送信するとともに、前記第2暗号化情報を前記第2機器に送信する、
機器間通信制御装置。
【請求項9】
第1機器と第2機器との間の機器間通信を管理するコンピュータに、
前記第1機器から、前記第1機器を識別するための第1機器識別子と、前記第1機器と通信するための情報である第1接続情報と、を含む第1接続要求を受信する機能と、
前記第2機器から、前記第2機器を識別するための第2機器識別子と、前記第2機器と通信するための情報である第2接続情報と、を含む第2接続要求を受信する機能と、
前記第1機器と前記第2機器との間の機器間通信で用いる共通鍵を生成する機能と、
複数の機器それぞれが保持している秘密鍵に対応する公開鍵と、複数の前記機器それぞれを識別するための機器識別子とを対応づけて登録しているブロックチェーンを参照して、前記第1機器識別子に対応する公開鍵である第1公開鍵を取得する機能と、
前記ブロックチェーンを参照して、前記第2機器識別子に対応する公開鍵である第2公開鍵を取得する機能と、
前記共通鍵と前記第2接続情報とを含む情報を前記第1公開鍵で暗号化して第1暗号化情報を生成する機能と、
前記共通鍵と前記第1接続情報とを含む情報を前記第2公開鍵で暗号化して第2暗号化情報を生成する機能と、
前記第1暗号化情報を前記第1機器に送信する機能と、
前記第2暗号化情報を前記第2機器に送信する機能と、を実現させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は機器間通信制御方法、機器間通信制御装置、及びプログラムに関し、特に、人を介在せず機器同士が直接通信する機器間(Machine to Machine;M2M)通信を制御する技術に関する。
【背景技術】
【0002】
近年、通信技術が急激に発達し、多くの電子機器が他の電子機器と通信するための機能を搭載するようになってきている。異なる電子機器が互いに通信接続して情報をやり取りする場合にその情報を漏洩から守るために、通信を暗号化する技術が種々存在する。このような技術として、例えばTLS(Transport Layer Security)が挙げられる(非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】E. Reacorla: "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0004】
TLSのような技術は、通信をホストする側の電子的な証明書が要求される。このため、例えば工場におけるセンサ機器のように多数存在する機器の間で機器間通信を実現しようとすると、多数の機器それぞれに証明書を付与する必要が生じる場合もある。これは手間もコストもかかり必ずしも実用的とは言えない。
【0005】
本発明はこれらの点に鑑みてなされたものであり、電子証明書を用いずに安全な機器間通信を実現するための技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様は、機器間通信制御方法である。この方法において、第1機器と第2機器との間の機器間通信を管理する通信制御装置が、前記第1機器から、前記第1機器を識別するための第1機器識別子と、前記第1機器と通信するための情報である第1接続情報と、を含む第1接続要求を受信するステップと、前記第2機器から、前記第2機器を識別するための第2機器識別子と、前記第2機器と通信するための情報である第2接続情報と、を含む第2接続要求を受信するステップと、前記第1機器と前記第2機器との間の機器間通信で用いる共通鍵を生成するステップと、複数の機器それぞれが保持している秘密鍵に対応する公開鍵と、複数の前記機器それぞれを識別するための機器識別子とを対応づけて登録しているブロックチェーンを参照して、前記第1機器識別子に対応する公開鍵である第1公開鍵を取得するステップと、前記ブロックチェーンを参照して、前記第2機器識別子に対応する公開鍵である第2公開鍵を取得するステップと、前記共通鍵と前記第2接続情報とを含む情報を前記第1公開鍵で暗号化して第1暗号化情報を生成するステップと、前記共通鍵と前記第1接続情報とを含む情報を前記第2公開鍵で暗号化して第2暗号化情報を生成するステップと、前記第1暗号化情報を前記第1機器に送信するステップと、前記第2暗号化情報を前記第2機器に送信するステップと、を実行する。
【0007】
前記機器間通信制御方法において、前記通信制御装置が、前記第1機器識別子、前記第1接続情報、前記第2機器識別子、前記第2接続情報、及び前記共通鍵を含む機器間通信情報を、記憶装置に格納するステップをさらに実行してもよい。
【0008】
前記機器間通信制御方法において、前記第1機器が、前記第1機器が保持している秘密鍵である第1秘密鍵を用いて前記第1暗号化情報を復号して前記共通鍵と前記第2接続情報とを取得するステップと、前記第2機器に送信するための送信データを前記共通鍵で暗号化して暗号化送信データを生成するステップと、前記第2接続情報を用いて前記暗号化送信データを前記第2機器に送信するステップと、を実行してもよく、前記第2機器が、前記第2機器が保持している秘密鍵である第2秘密鍵を用いて前記第2暗号化情報を復号して前記共通鍵と前記第1接続情報とを取得するステップと、前記第1機器から前記暗号化送信データを受信するステップと、前記暗号化送信データを前記共通鍵で復号して前記送信データを取得するステップと、を実行してもよい。
【0009】
前記機器間通信制御方法において、前記通信制御装置が、前記共通鍵とは異なる新たな共通鍵を生成するステップと、前記新たな共通鍵を前記第1公開鍵で暗号化して第1暗号化共通鍵を生成するステップと、前記新たな共通鍵を前記第2公開鍵で暗号化して第2暗号化共通鍵を生成するステップと、前記第1暗号化共通鍵を前記第1機器に送信するステップと、前記第2暗号化共通鍵を前記第2機器に送信するステップと、をさらに実行してもよく、前記第1機器が、前記通信制御装置から前記第1暗号化共通鍵を受信するステップと、前記第1機器が保持している第1秘密鍵を用いて前記第1暗号化共通鍵を復号して前記新たな共通鍵を取得するステップと、前記共通鍵を破棄するステップと、をさらに実行してもよく、前記第2機器が、前記通信制御装置から前記第2暗号化共通鍵を受信するステップと、前記第2機器が保持している第2秘密鍵を用いて前記第2暗号化共通鍵を復号して前記新たな共通鍵を取得するステップと、前記共通鍵を破棄するステップと、をさらに実行してもよい。
【0010】
前記機器間通信制御方法において、前記通信制御装置が、前記共通鍵とは異なる新たな共通鍵を生成するステップと、前記新たな共通鍵を前記共通鍵で暗号化して更新用暗号化共通鍵を生成するステップと、前記更新用暗号化共通鍵を前記第1機器に送信するステップと、前記更新用暗号化共通鍵を前記第2機器に送信するステップと、をさらに実行してもよく、前記第1機器が、前記通信制御装置から前記更新用暗号化共通鍵を受信するステップと、前記共通鍵を用いて前記更新用暗号化共通鍵を復号して前記新たな共通鍵を取得するステップと、前記共通鍵を破棄するステップと、をさらに実行してもよく、前記第2機器が、前記通信制御装置から前記更新用暗号化共通鍵を受信するステップと、前記共通鍵を用いて前記更新用暗号化共通鍵を復号して前記新たな共通鍵を取得するステップと、前記共通鍵を破棄するステップと、をさらに実行してもよい。
【0011】
前記機器間通信制御方法において、前記通信制御装置が、前記第1機器と前記第2機器との間の機器間通信を停止することを指示する停止命令を生成するステップと、前記停止命令を前記第1公開鍵で暗号化して第1暗号化停止命令を生成するステップと、前記停止命令を前記第2公開鍵で暗号化して第2暗号化停止命令を生成するステップと、前記第1暗号化停止命令を前記第1機器に送信するステップと、前記第2暗号化停止命令を前記第2機器に送信するステップと、をさらに実行してもよい。
【0012】
前記機器間通信制御方法において、前記通信制御装置が、前記第1機器に保持させる第1秘密鍵と、当該第1秘密鍵に対応する前記第1公開鍵とを生成するステップと、前記第2機器に保持させる第2秘密鍵と、当該第2秘密鍵に対応する前記第2公開鍵とを生成するステップと、前記第1公開鍵を前記第1機器識別子と対応づけて前記ブロックチェーンに登録するステップと、前記第2公開鍵を前記第2機器識別子と対応づけて前記ブロックチェーンに登録するステップと、前記第1秘密鍵を前記第1機器に送付するステップと、前記第2秘密鍵を前記第2機器に送付するステップと、をさらに実行してもよい。
【0013】
本発明の第2の態様は、第1機器と第2機器との間の機器間通信を管理する通信制御装置である。この装置は、前記第1機器から、前記第1機器を識別するための第1機器識別子と、前記第1機器と通信するための情報である第1接続情報と、を含む第1接続要求を受信するとともに、前記第2機器から、前記第2機器を識別するための第2機器識別子と、前記第2機器と通信するための情報である第2接続情報と、を含む第2接続要求を受信する通信部と、前記第1機器と前記第2機器との間の機器間通信で用いる共通鍵を生成する鍵生成部と、複数の機器それぞれが保持している秘密鍵に対応する公開鍵と、複数の前記機器それぞれを識別するための機器識別子とを対応づけて登録しているブロックチェーンを参照して、前記第1機器識別子に対応する公開鍵である第1公開鍵と、前記第2機器識別子に対応する公開鍵である第2公開鍵とを取得するブロックチェーン操作部と、前記共通鍵と前記第2接続情報とを含む情報を前記第1公開鍵で暗号化して第1暗号化情報を生成するとともに、前記共通鍵と前記第1接続情報とを含む情報を前記第2公開鍵で暗号化して第2暗号化情報を生成する暗号化部と、を備える。前記通信部は、前記第1暗号化情報を前記第1機器に送信するとともに、前記第2暗号化情報を前記第2機器に送信する。
【0014】
本発明の第3の態様は、プログラムである。このプログラムは、第1機器と第2機器との間の機器間通信を管理するコンピュータに、前記第1機器から、前記第1機器を識別するための第1機器識別子と、前記第1機器と通信するための情報である第1接続情報と、を含む第1接続要求を受信する機能と、前記第2機器から、前記第2機器を識別するための第2機器識別子と、前記第2機器と通信するための情報である第2接続情報と、を含む第2接続要求を受信する機能と、前記第1機器と前記第2機器との間の機器間通信で用いる共通鍵を生成する機能と、複数の機器それぞれが保持している秘密鍵に対応する公開鍵と、複数の前記機器それぞれを識別するための機器識別子とを対応づけて登録しているブロックチェーンを参照して、前記第1機器識別子に対応する公開鍵である第1公開鍵を取得する機能と、前記ブロックチェーンを参照して、前記第2機器識別子に対応する公開鍵である第2公開鍵を取得する機能と、前記共通鍵と前記第2接続情報とを含む情報を前記第1公開鍵で暗号化して第1暗号化情報を生成する機能と、前記共通鍵と前記第1接続情報とを含む情報を前記第2公開鍵で暗号化して第2暗号化情報を生成する機能と、前記第1暗号化情報を前記第1機器に送信する機能と、前記第2暗号化情報を前記第2機器に送信する機能と、を実現させる。
【0015】
このプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【0016】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0017】
本発明によれば、電子証明書を用いずに安全な機器間通信を実現することができる。
【図面の簡単な説明】
【0018】
【
図1】TLS及びTLSを用いた機器間通信を説明するための模式図である。
【
図2】実施の形態に係る通信制御システムの全体構成の概要を模式的に示す図である。
【
図3】実施の形態に係る通信制御部及び機器それぞれの機能構成を模式的に示す図である。
【
図4】実施の形態に係る通信制御システムにおいて実行される機器間通信の共通鍵の共有処理の流れを説明するためのシーケンス図の前半部である。
【
図5】実施の形態に係る通信制御システムにおいて実行される機器間通信の共通鍵の共有処理の流れを説明するためのシーケンス図の後半部である。
【
図6】実施の形態に係る通信制御システムにおいて実行される機器間通信の流れを説明するためのシーケンス図である。
【
図7】実施の形態に係る通信制御システムにおいて実行される共通鍵の更新処理の流れを説明するためのシーケンス図である。
【
図8】実施の形態に係る通信制御システムにおいて実行される機器間通信の停止処理の流れを説明するためのシーケンス図である。
【発明を実施するための形態】
【0019】
<暗号化通信の一例>
実施の形態に係る通信制御システムを説明する前に、暗号化通信の一例としてTLSを用いた通信(以下、「TLS通信」と記載することがある。)及びTLS通信を用いた機器間通信について簡単に説明する。
【0020】
図1(a)-(c)は、TLS及びTLSを用いた機器間通信を説明するための模式図である。具体的には、
図1(a)はTLSの仕組みを説明するための図であり、
図1(b)及び
図1(c)はTLSを用いた機器間通信を説明するための模式図である。
【0021】
(TLS通信の確立)
既知の技術のため詳細な説明は省略するが、
図1(a)を参照して、送信側の機器Tが受信側のサーバRとTLS通信を確立するときの流れについて簡単に説明する。
図1(a)において、文字Sが付された鍵はサーバRの秘密鍵であり、文字Pが付された鍵はサーバRの秘密鍵に対応するサーバRの公開鍵であり、文字Cが付された鍵は機器TとサーバRとの共通鍵である。以下説明の便宜上、サーバRの秘密鍵を秘密鍵S、サーバRの公開鍵を公開鍵P、機器TとサーバRとの共通鍵を共通鍵Cと記載する。
【0022】
サーバRは、機器TからTSL通信の接続要求を受信すると、公開鍵Pと公開鍵証明書とを機器Tに送信する。ここで、「公開鍵証明書」はデジタル証明書とも呼ばれ、デジタルデータである公開鍵PをサーバRが所有していることを証明する情報である。典型的には、所定の認証局が公開鍵証明書に署名を付すことにより、公開鍵Pの所有者がサーバRであることを保証している。
【0023】
機器Tは、サーバRから受信した公開鍵証明書を検証することで、公開鍵Pの正当性を検証することができる。公開鍵Pの正当性の検証が成功すると、機器Tは、機器TとサーバRとの間でやり取りする情報を暗号化するための共通鍵Cを生成し、公開鍵Pで暗号化する。機器Tは、公開鍵Pで暗号化した暗号化共通鍵をサーバRに送信する。
【0024】
サーバRは、機器Tから受信した暗号化共通鍵を秘密鍵Sで復号し、共通鍵Cを取得する。これにより、機器TとサーバRとは共通鍵Cを共有できるため、送信側が受信側に送信すべき情報を共通鍵Cで暗号化して送信すれば、受信側は受信したデータを共通鍵Cで復号して元の情報を取得することができる。万が一送信されたデータが第三者に漏洩したとしても、第三者は共通鍵Cを所持していないため、データを復号することができない。このように、TLS通信を確立することにより、機器TとサーバRとは安全な通信をすることができる。
【0025】
(TLS通信を用いた機器間通信)
続いて、TLS通信を用いて機器間通信をする場合の態様について検討する。
【0026】
[第1の態様]
TLS通信を用いた機器間通信の第1の態様として、機器間通信を行う可能性がある全ての機器について公開鍵証明書を取得することが挙げられる。これにより、任意の2つの機器間同士でTLS通信が可能となる。しかしながら、第1の態様は少なくとも2つの課題が挙げられる。
【0027】
1つ目の課題は、機器間通信を行う可能性がある全ての機器について公開鍵証明書を取得することは、コスト及び手間が発生しうることである。信頼のおける公開鍵であることを保証するためには所定の認証局に対価を支払って公開鍵証明書を取得する必要がある。このため、例えば工場におけるセンサ機器のように多数の機器が存在する場合にその全ての機器について公開鍵証明書を取得することは費用の点で必ずしも現実的とはいえない。
【0028】
2つ目の課題は、TLS通信は1対1の通信が前提となっていることである。したがって、3以上の機器で機器間通信を実行するためには各機器で一つの共通鍵Cを共有する必要があるが、TLS通信では各機器がそれぞれ共通鍵Cを発行するため、いずれかの共通鍵Cに統一するための調整の手間が発生する。
【0029】
[第2の態様]
図1(b)は、TLS通信を用いた機器間通信の第2の態様を示す模式図である。
図1(b)において、実線はTLS通信を示し、一点鎖線は機器間通信を示している。また、破線で囲まれた機器Tは、プライベートネットワークNpを構成していることを示している。
【0030】
図1(b)において、第2の態様は、機器間通信を行う可能性がある全ての機器のうち少なくとも1つのゲートウェイ機器Tgが定められているとともに、他の機器T(機器T1、機器T2、機器T3、及び機器T4)はプライベートネットワークNpに閉じ込められている。この場合、プライベートネットワークNp内の機器Tは暗号化をしないで機器間通信を開始できる。ゲートウェイ機器TgのみがプライベートネットワークNpの外部のサーバRとTLS通信をし、プライベートネットワークNpの内部の機器Tが外部のサーバRと通信する場合にはゲートウェイ機器Tgを中継する。これにより、機器間通信を行う可能性がある全ての機器Tについて公開鍵証明書を取得しなくても、3以上の機器Tで機器間通信を実行することができる。
【0031】
しかしながら、第2の態様では、プライベートネットワークNp内の機器T間の通信は暗号化されていないため、万が一ゲートウェイ機器Tgが第三者に侵入されると、プライベートネットワークNp内の全ての機器T間の通信が傍受され得るという課題がある。機器間通信を行う可能性がある全ての機器について公開鍵証明書を取得ればこの問題を回避できるが、これは第1の態様と同様の課題が生じる。
【0032】
[第3の態様]
図1(c)は、TLS通信を用いた機器間通信の第3の態様を示す模式図である。
図1(c)において、第3の態様は、3つの機器T(機器T1、機器T2、及び機器T3)が、ゲートウェイ機器を介さずにサーバRと通信可能な態様で直接接続している。このため、3つの機器Tは、それぞれサーバRと独立にTLS通信を開始することができる。
【0033】
3つの機器TがそれぞれサーバRと独立にTLS通信を開始できれば、3つの機器Tは、サーバRを介して通信することができる。そこで、3つの機器TがサーバRを介して共通鍵Cを共有することで、3つの機器Tは互いに機器間通信を実行することができる。
【0034】
しかしながら、第3の態様においても、上述した第1の態様の2つ目の課題と同様に、2以上の機器で機器間通信を実行するためには各機器で1つの共通鍵Cを共有する必要がある。このため、機器間通信を開始するためにいずれかの共通鍵Cに統一するための調整ための手間が発生する。
【0035】
[TLS通信を用いた機器間通信の課題]
以上を踏まえると、TLS通信を用いた機器間通信が抱える課題の1つの要因として、サーバRではなく各機器T(機器Tg)がそれぞれ共通鍵Cを生成することが考えられる。すなわち、複数の機器Tそれぞれが共通鍵Cを生成すると複数の「共通鍵C」が存在することになり、もはや「共通」ではなくなる。このため、共通鍵Cに統一するための調整が必要となる。また、サーバRとは異なり、各機器Tの身元が所定の認証局によって証明されていることは必ずしも保証されない。このため、機器Tが生成する共通鍵Cの信頼性が担保されているとは言えないことになる。
【0036】
<実施の形態の概要>
図2、実施の形態に係る通信制御システムSの全体構成の概要を模式的に示す図である。
図2に示すように、通信制御システムSは、機器間通信を実施しようとする2つの機器2(第1機器2a及び第2機器2b)と、第1機器2aと第2機器2bとの間の機器間通信を管理する通信制御装置1と、通信制御装置1のみがアクセス可能なセキュアな記憶装置3と、ブロックチェーンBとを備えている。
図2に示す例では、第1機器2aは監視カメラであり第2機器2bは計測機器であるが、これらに限定されない。また、機器間通信を実施しようとする機器2の数も2に限られず、3以上であってもよい。以下、本明細書において、第1機器2aと第2機器2bとを特に区別しない場合には、単に「機器2」と記載することがある。
【0037】
実施の形態に係る通信制御システムSにおいては、通信制御装置1と機器2との間で通信する際に情報を暗号化するための共通鍵Cを通信制御装置1が生成する点で、従来のTLS通信と異なる。これを実現するために、実施の形態に係る通信制御システムSにおいては、各機器2がそれぞれ保持している秘密鍵に対応する公開鍵を、各機器2を特定するための機器識別子と対応づけてあらかじめブロックチェーンBが格納している。
【0038】
周知のように、ブロックチェーンBは耐改ざん性に優れており、ひとたびブロックチェーンBに格納された情報は事後的に書き換えることは実質的に不可能と考えられている。通信制御装置1は、機器2から受信した機器識別子を用いることで、機器識別子に対応する機器2の公開鍵をブロックチェーンBから取得することができる。
【0039】
以下、
図2を参照しながら通信制御システムSで実行される処理及びデータの流れの概要を(1)から(8)の順で説明するが、その番号は
図2における(1)から(8)と対応する。
【0040】
(1)通信制御装置1は、第1機器2aから、第1機器2aを識別するための第1機器識別子と、第1機器2aと通信するための情報である第1接続情報と、を含む第1接続要求を受信する。ここで第1接続情報は、例えば、第1機器2aのIP(Internet Protocol)アドレスや、MAC(Media Access Control)アドレスである。また、第1機器2aが携帯電話通信網を利用した通信をする場合には、第1接続情報は、第1機器2aが備えるSIM(Subscriber Identity Module)に紐づけられた電話番号であってもよい。
【0041】
(2)通信制御装置1は、第2機器2bから、第2機器2bを識別するための第2機器識別子と、第2機器2bと通信するための情報である第2接続情報と、を含む第2接続要求を受信する。第1接続情報と同様に、第2接続情報は、例えば第2機器2bのIPアドレスや、MACアドレス、又は第2機器2bが備えるSIMに紐づけられた電話番号である。
【0042】
(3)通信制御装置1は、第1機器2aと第2機器2bとの間の機器間通信で用いる共通鍵Cを生成する。
(4)通信制御装置1は、ブロックチェーンBを参照して、第1機器識別子に対応する公開鍵である第1公開鍵を取得する。同様に、通信制御装置1は、ブロックチェーンBを参照して、第2機器識別子に対応する公開鍵である第2公開鍵を取得する。
【0043】
(5)通信制御装置1は、共通鍵Cと第2接続情報とを含む情報を第1公開鍵で暗号化して第1暗号化情報を生成する。同様に、通信制御装置1は、共通鍵Cと第1接続情報とを含む情報を第2公開鍵で暗号化して第2暗号化情報を生成する。
【0044】
(6)通信制御装置1は、第1暗号化情報を第1機器2aに送信する。
(7)通信制御装置1は、第2暗号化情報を第2機器2bに送信する。
(8)通信制御装置1は、第1機器識別子、第1接続情報、第2機器識別子、第2接続情報、及び共通鍵Cを含む機器間通信情報を、記憶装置3に格納する。
【0045】
これにより、第1機器2aと第2機器2bとはそれぞれ通信制御装置1が生成した共通鍵Cを受信することで共通鍵Cを共有できるので、共通鍵Cを統一するための調整は不要である。第1機器2aと第2機器2bとは、共通鍵Cを用いることで、互いに情報を暗号化して機器間通信をすることができる。万が一、第1機器2aと第2機器2bとが共有する共通鍵Cが第三者に漏洩した場合、通信制御装置1は新たな共通鍵Cを生成して第1機器2aと第2機器2bとに送信することにより、情報の漏洩を止めることができる。
【0046】
実施の形態に係る通信制御システムSはいわゆる公開鍵暗号における「公開鍵」を利用しているが、各機器2の「公開鍵」は、耐改ざん性に優れたデータベースであるブロックチェーンBにおいて管理され、むやみに公開してよい情報とはなっていない。この意味で、実施の形態に係る通信制御システムSにおける公開鍵は、「暗号化鍵」と言うこともできる。実施の形態に係る通信制御システムSにおいて、通信制御装置1は、各機器2に送信する共通鍵Cを暗号化するための公開鍵を耐改ざん性に優れたブロックチェーンBから取得することにより、公開鍵の出所の信頼性を担保している。
【0047】
この信頼性をより強化するために、実施の形態に係る通信制御システムSにおいては、通信制御装置1又は通信制御装置1の管理下における装置が各機器2の秘密鍵及び公開鍵を生成し、生成した公開鍵をブロックチェーンBに登録してもよい。また、通信制御装置1が生成した秘密鍵は、例えばUSB(Universal Serial Bus)メモリに格納して機器2の所有者に郵送してもよいし、機器2の製造時に製造者が機器2の安全な記憶領域に格納するようにしてもよい。
【0048】
このように、実施の形態に係る通信制御システムSは、従来型の電子証明書を用いずに、第1機器2aと第2機器2bとの間で安全な機器間通信を実現することができる。
【0049】
<実施の形態に係る通信制御装置1及び機器2の機能構成>
図3は、実施の形態に係る通信制御装置1及び機器2それぞれの機能構成を模式的に示す図である。通信制御装置1は、記憶部10、通信部11、及び制御部12を備える。また、機器2は、記憶部20、通信部21、復号部22、暗号化部23、及び鍵更新部24を備える。
【0050】
図3において、矢印は主なデータの流れを示しており、
図3に示していないデータの流れがあってもよい。
図3において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図3に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に分かれて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0051】
記憶部10は、通信制御装置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)等の大容量記憶装置である。同様に、記憶部20は、機器2を実現するコンピュータのBIOS等を格納するROMや機器2の作業メモリとなるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納する記憶装置である。
【0052】
通信部11は、通信制御装置1が外部の装置と通信するための通信インタフェースであり、既知のLAN(Local Area Network)モジュールや、Wi-Fi(登録商標)モジュール等の無線通信モジュールによって実現される。同様に、通信制御装置1は、機器2が外部の装置と通信するための通信インタフェースであり、既知のLANモジュールや、Wi-Fiモジュール、携帯通信モジュール等である。
【0053】
制御部12は、通信制御装置1のCPU(Central Processing Unit)やGPU(Graphics Processing Unit)等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによって、鍵生成部120、ブロックチェーン操作部121、暗号化部122、停止命令生成部123、及び記憶装置操作部124として機能する。なお、
図3は、通信制御装置1が単一の装置で構成されている場合の例を示している。しかしながら、通信制御装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部12を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0054】
<通信制御システムSで実行される機器間通信制御方法の処理フロー>
続いて、
図3から
図8を適宜参照しながら、通信制御システムSで実行される機器間通信制御方法の処理フローを説明する。
【0055】
(機器間通信の共通鍵の共有)
図4は、実施の形態に係る通信制御システムSにおいて実行される機器間通信における共通鍵の共有処理の流れを説明するためのシーケンス図の前半部である。また、
図5は、実施の形態に係る通信制御システムSにおいて実行される機器間通信の共通鍵の共有処理の流れを説明するためのシーケンス図の後半部である。以下、
図4及び
図5を参照して実施の形態に係る機器間通信の共通鍵の共有処理の流れを説明する。
【0056】
図4において、第1機器2aの通信部21は、第1機器2aを識別するための第1機器識別子と、第1機器2aと通信するための情報である第1接続情報と、を含む第1接続要求を通信制御装置1に送信する(S2)。通信制御装置1の通信部11は、第1機器2aから送信された第1接続要求を受信する(S4)。
【0057】
第2機器2bの通信部21は、第2機器2bを識別するための第2機器識別子と、第2機器2bと通信するための情報である第2接続情報と、を含む第2接続要求を通信制御装置1に送信する(S6)。通信制御装置1の通信部11は、第2機器2bから送信された第2接続要求を受信する(S8)。
【0058】
通信制御装置1の鍵生成部120は、第1機器2aと第2機器2bとの間の機器間通信で用いる共通鍵Cを生成する(S10)。通信制御装置1のブロックチェーン操作部121は、複数の機器2それぞれが保持している秘密鍵に対応する公開鍵と、複数の機器2それぞれを識別するための機器識別子とを対応づけて登録しているブロックチェーンBに、第1機器識別子に対応する公開鍵である第1公開鍵と、第2機器識別子に対応する公開鍵である第2公開鍵とを問い合わせる(S12)。ブロックチェーン操作部121は、ブロックチェーンBをから、第1公開鍵と第2公開鍵とを取得する(S14)。
【0059】
図5において、通信制御装置1の暗号化部122は、共通鍵Cと第2機器2bから取得した第2接続情報とを含む情報を第1公開鍵で暗号化して第1暗号化情報を生成する(S16)。同様に、暗号化部122は、共通鍵Cと第1機器2aから取得した第1接続情報とを含む情報を第2公開鍵で暗号化して第2暗号化情報を生成する(S18)。
【0060】
通信制御装置1の通信部11は、第1暗号化情報を第1機器2aに送信する(S20)。第1機器2aの通信部21は、通信制御装置1が送信した第1暗号化情報を受信する(S22)。また、通信制御装置1の通信部11は、第2暗号化情報を第2機器2bに送信する(S24)。第2機器2bの通信部21は、通信制御装置1が送信した第2暗号化情報を受信する(S26)。これにより、第1機器2aと第2機器2bとは、互いの機器間通信で用いるための共通鍵Cを共有することができる。
【0061】
なお、通信制御装置1の記憶装置操作部124は、第1機器識別子、第1接続情報、第2機器識別子、第2接続情報、及び共通鍵を含む機器間通信情報を、記憶装置3に格納する。これにより、通信制御装置1は、第1機器2a及び第2機器2bとの間で行われている機器間通信を管理することができる。
【0062】
(機器間通信の実施)
図6は、実施の形態に係る通信制御システムSにおいて実行される機器間通信の流れを説明するためのシーケンス図である。以下、
図6を参照して、機器間通信の流れを説明する。
【0063】
第1機器2aの復号部22は、第1機器2aが保持している秘密鍵である第1秘密鍵を用いて第1暗号化情報を復号することにより、共通鍵Cと第2接続情報とを取得する(S28)。共通鍵Cと第2接続情報とは、第1機器2aの記憶部20に格納される。
【0064】
第1機器2aの暗号化部23は、第2機器に送信するための送信データを共通鍵Cで暗号化して(S30)暗号化送信データを生成する。第1機器2aの通信部21は、第2接続情報を用いて暗号化送信データを第2機器2bに送信する(S32)。
【0065】
第2機器2bの通信部21は、第1機器2aが送信した暗号化送信データを受信する(S34)。第2機器2bの復号部22は、第2機器2bが保持している秘密鍵である第2秘密鍵を用いて第2暗号化情報を復号することにより(S36)、共通鍵Cと第1接続情報とを取得する。共通鍵Cと第1接続情報とは、第2機器2bの記憶部20に格納される。第2機器2bの復号部22は、第1機器2aから受信した暗号化送信データを共通鍵Cで復号し(S38)、送信データを取得する。これにより、第1機器2aは、第2機器2bに対して情報を安全に送信することができる。
【0066】
なお、暗号化送信データは共通鍵Cを用いて暗号化されているため、第1機器2aは、暗号化されていない通常の通信プロトコル(例えば、TCP/IP通信)を用いて第2機器2bに対して情報を送信すればよい。第2機器2bから第1機器2aに対して情報を送信する際も同様である。
【0067】
このように、第1機器2aと第2機器2bとがそれぞれ通信制御装置1から共通鍵Cを受信することにより、第1機器2aと第2機器2bとは安全に機器間通信を実行することができる。
【0068】
(共通鍵の更新)
図7は、実施の形態に係る通信制御システムSにおいて実行される共通鍵Cの更新処理の流れを説明するためのシーケンス図である。通信制御装置1は、例えば第1機器2aと第2機器2bとの間の機器間通信で用いられている共通鍵Cが漏洩したことを検知した場合や、あるいは第1機器2aと第2機器2bとの間の機器間通信の安全性をより高めることを目的として定期的に、共通鍵Cを更新する処理を実行する。以下、
図7を参照して、共通鍵Cの更新の流れを説明する。
【0069】
通信制御装置1の鍵生成部120は、第1機器2aと第2機器2bとの間の機器間通信で用いられている共通鍵Cとは異なる新たな共通鍵C2を生成する(S40)。通信制御装置1の暗号化部122は、新たな共通鍵C2を第1公開鍵で暗号化して第1暗号化共通鍵を生成する(S42)。同様に、通信制御装置1の暗号化部122は、新たな共通鍵C2を第2公開鍵で暗号化して第2暗号化共通鍵を生成する(S44)。
【0070】
通信制御装置1の通信部11は、第1暗号化共通鍵を第1機器2aに送信する(S46)。第1機器2aの通信部21は、通信制御装置1から第1暗号化共通鍵を受信する(S48)。第1機器2aの復号部22は、第1機器2aが保持している第1秘密鍵を用いて第1暗号化共通鍵を復号して(S50)、新たな共通鍵C2を取得する。第1機器2aの鍵更新部24は、第1機器2aの記憶部20に格納された共通鍵Cを破棄するとともに(S52)、新たな共通鍵C2を第1機器2aの記憶部20に格納する。
【0071】
通信制御装置1の通信部11は、第2暗号化共通鍵を第2機器2bに送信する(S54)。第2機器2bの通信部21は、通信制御装置1から第2暗号化共通鍵を受信する(S56)。第2機器2bの復号部22は、第2機器2bが保持している第2秘密鍵を用いて第2暗号化共通鍵を復号して(S58)、新たな共通鍵C2を取得する。第2機器2bの鍵更新部24は、第2機器2bの記憶部20に格納された共通鍵Cを破棄するとともに(S60)、新たな共通鍵C2を第2機器2bの記憶部20に格納する。
【0072】
これにより、第1機器2aと第2機器2bとは、古い共通鍵Cを破棄するととともに、新たな共通鍵C2を共有することができる。通信制御装置1は、第1公開鍵及び第2公開鍵を用いて新たな共通鍵C2を暗号化するため、たとえ共通鍵Cが第三者に漏洩されていたとしても、新たな共通鍵C2を第1機器2aと第2機器2bとに安全に送信することができる。なお、通信制御装置1の記憶装置操作部124は、記憶装置3に格納されている機器間通信情報のうち、古い共通鍵Cを新たな共通鍵C2で上書きして更新する。
【0073】
(共通鍵の更新の別の態様)
第1機器2aと第2機器2bとの間の機器間通信の安全性をより高めることを目的として定期的に共通鍵Cを更新する場合等、共通鍵Cが第三者に漏洩されていることが確認されていない場合には、通信制御装置1は、新たな共通鍵C2を既存の共通鍵Cで暗号化してもよい。この場合、通信制御装置1の復号部22は1度の暗号化処理で各機器2に送信するデータを生成できるため、特に機器間通信を実施している機器2の数が多い場合には計算リソースを抑制できる点で効果がある。以下、この場合について説明する。
【0074】
通信制御装置1の暗号化部122は、鍵生成部120が生成した新たな共通鍵C2を、既に第1機器2aと第2機器2bとの間の機器間通信で用いられている共通鍵Cで暗号化して更新用暗号化共通鍵を生成する。通信制御装置1の通信部11は、更新用暗号化共通鍵を第1機器2aと第2機器2bとのそれぞれに送信する。
【0075】
第1機器2aの通信部21と第2機器2bの通信部21とは、それぞれ通信制御装置1から更新用暗号化共通鍵を受信する。その後、第1機器2aの復号部22と第2機器2bの復号部22とは、それぞれ共通鍵Cを用いて更新用暗号化共通鍵を復号することにより、新たな共通鍵C2を取得する。第1機器2aの鍵更新部24は、第1機器2aの記憶部20に格納された共通鍵Cを破棄するとともに、新たな共通鍵C2を第1機器2aの記憶部20に格納する。同様に、第2機器2bの鍵更新部24は、第2機器2bの記憶部20に格納された共通鍵Cを破棄するとともに、新たな共通鍵C2を第2機器2bの記憶部20に格納する。
【0076】
これにより、第1機器2aと第2機器2bとは古い共通鍵Cを破棄して新たな共通鍵C2に更新することができる。一つの共通鍵Cを使い続ける場合と比較して、通信の安全性をより高めうる点で効果がある。
【0077】
(機器間通信の停止)
図8は、実施の形態に係る通信制御システムSにおいて実行される機器間通信の停止処理の流れを説明するためのシーケンス図である。以下、
図8を参照して、機器間通信の停止処理の流れを説明する。
【0078】
通信制御装置1の停止命令生成部123は、第1機器2aと第2機器2bとの間の機器間通信を停止することを指示する停止命令を生成する(S62)。通信制御装置1の暗号化部122は、停止命令生成部123が生成した停止命令を第1公開鍵で暗号化して第1暗号化停止命令を生成する(S64)。同様に、通信制御装置1の暗号化部122は、停止命令生成部123が生成した停止命令を第2公開鍵で暗号化して第2暗号化停止命令を生成する(S66)。
【0079】
通信制御装置1の通信部11は、第1暗号化停止命令を第1機器2aに送信する(S68)。第1機器2aの通信部21は、通信制御装置1から第1暗号化停止命令を受信する(S70)。第1機器2aの復号部22は、第1秘密鍵を用いて第1暗号化停止命令を復号し(S72)、停止命令を取得する。第1機器2aの通信部21は、停止命令にしたがって、第2機器2bとの間の機器間通信を停止する(S74)。
【0080】
通信制御装置1の通信部11は、第2暗号化停止命令を第2機器2bに送信する(S76)。第2機器2bの通信部21は、通信制御装置1から第2暗号化停止命令を受信する(S78)。第2機器2bの復号部22は、第2秘密鍵を用いて第2暗号化停止命令を復号し(S80)、停止命令を取得する。第2機器2bの通信部21は、停止命令にしたがって、第1機器2aとの間の機器間通信を停止する(S82)。
【0081】
このように、実施の形態に係る通信制御システムSにおいては、機器間通信を確立している第1機器2a及び第2機器2bとは異なる通信制御装置1が、第1機器2aと第2機器2bとの間の機器間通信に介入し、機器間通信を停止させることができる。
【0082】
(秘密鍵及び公開鍵の生成)
上述したように、実施の形態に係る通信制御システムSにおいては、各機器2が保持する秘密鍵を通信制御装置1が生成してもよい。この場合、通信制御装置1の鍵生成部120が第1機器2aに保持させる第1秘密鍵と、その第1秘密鍵に対応する第1公開鍵とを生成する。同様に、通信制御装置1の鍵生成部120は、第2機器2bに保持させる第2秘密鍵と、その第2秘密鍵に対応する第2公開鍵とを生成する。
【0083】
通信制御装置1のブロックチェーン操作部121は、第1公開鍵を第1機器識別子と対応づけてブロックチェーンBに登録するとともに、第2公開鍵を第2機器識別子と対応づけてブロックチェーンBに登録する。その後、通信制御装置1の通信部11は、第1秘密鍵を第1機器2aに送付するとともに、第2秘密鍵を第2機器2bに送付する。これは、第1機器2aと第2機器2bとが、それぞれ通信制御装置1とTLS通信等の安全な通信を確立できる場合には、通信部11は第1秘密鍵と第2秘密鍵とをそれぞれ第1機器2aと第2機器2bとに電気通信によって送信してもよい。
【0084】
また、第1機器2aと第2機器2bとがそれぞれ通信制御装置1と安全な通信を確立できない場合には、通信制御装置1の管理者は、第1秘密鍵と第2秘密鍵とをそれぞれUSBメモリ等の記録媒体に格納し、第1機器2aと第2機器2bとの管理者に郵送によって送付してもよい。この場合、通信制御装置1の通信部11は、第1秘密鍵と第2秘密鍵とを図示しない通信制御装置1の出力インタフェースを介して記録媒体に出力するとともに、記録媒体の送付先を印字したラベルも出力してもよい。
【0085】
これにより、ブロックチェーンBに登録されている各機器2の公開鍵は、各機器2が保持している秘密鍵に対応させることができる。また、ブロックチェーンBは耐改ざん性に優れているため、ブロックチェーンBに登録されている公開鍵は各機器2が保持する秘密鍵に対応する公開鍵として通信制御装置1が生成したことを保証できる。
【0086】
<実施の形態に係る通信制御システムSの利用シーン>
実施の形態に係る通信制御システムSの利用シーンの一例を説明する。
【0087】
実施の形態に係る通信制御システムSは、一例として、工場等において各種情報を計測するために設置された多数のIoT(Internet Of Things)機器の間で機器間通信を実行するために用いられる。ここで、多くのIoT機器は、一般的なPC(Personal Computer)やスマートホンと比較して非常に乏しい計算リソースしか持たない場合も想定されている。さらに、機器間通信を行うIoT機器が置かれた環境が、例えば、人が常駐したり頻繁に立ち入ったりすることが難しい過酷な環境である場合等に、無人を前提として機器間通信を運用することが望まれる場合にも、実施の形態に係る通信制御システムSを利用することができる。
【0088】
ブロックチェーンBは、各IoT機器を識別するための機器識別子と、各IoT機器が保持している秘密鍵に対応する公開鍵とを紐づけてあらかじめ格納している。IoT機器の利用者は機器間通信を確立させたいIoT機器群を選択してそれらの機器識別子を通信制御装置1に通知するとともに、各IoT機器に対して機器間通信を開始することを指示する。各IoT機器が、自身の機器識別子と接続情報とを含む識別要求を通信制御装置1に送信すると、通信制御装置1は、機器間通信を確立させたいIoT機器それぞれの機器識別子に基づいて、各IoT機器に共通鍵Cと接続情報とを送信する。
【0089】
これにより、各IoT機器は機器間通信を行うIoT機器の接続情報と、機器間通信に用いる共通鍵Cを取得できるので、機器間通信を開始することができる。なお、本手法は、機器間通信を構成するネットワークの形状に依存しない。各IoT機器が通信制御装置1と通信して接続情報と共通鍵Cとを取得できればよく、各IoT機器がそれらの情報を取得した後は、機器間通信を構成するネットワークが仮にスター形状であってもメッシュ形状であっても、機器間通信を実施することができる。また、本手法は、IoTが機器間通信を構成しているか否かに関わらず、通信制御装置1は、各IoTが保持する秘密鍵のみがそれぞれ復号することができる暗号化された情報を各IoT機器に送信することができる。これにより、通信制御装置1は、IoT機器による機器間通信を、いわば中央集権的に制御することができる。
【0090】
<実施の形態に係る通信制御システムSが奏する効果>
以上説明したように、実施の形態に係る通信制御システムSによれば、電子証明書を用いずに安全な機器間通信を実現することができる。
【0091】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果をあわせ持つ。
【0092】
1・・・通信制御装置
10・・・記憶部
11・・・通信部
12・・・制御部
120・・・鍵生成部
121・・・ブロックチェーン操作部
122・・・暗号化部
123・・・停止命令生成部
124・・・停止命令生成部
2・・・機器
2a・・・第1機器
2b・・・第2機器
20・・・記憶部
21・・・通信部
22・・・復号部
23・・・暗号化部
24・・・鍵更新部
3・・・記憶装置
B・・・ブロックチェーン
N・・・ネットワーク
S・・・通信制御システム