(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】制御システム、および制御方法
(51)【国際特許分類】
G06F 21/31 20130101AFI20231108BHJP
G06F 21/44 20130101ALI20231108BHJP
G06F 21/45 20130101ALI20231108BHJP
G06F 21/60 20130101ALI20231108BHJP
H04L 12/28 20060101ALI20231108BHJP
【FI】
G06F21/31
G06F21/44 350
G06F21/45
G06F21/60 360
H04L12/28 200Z
(21)【出願番号】P 2019126824
(22)【出願日】2019-07-08
【審査請求日】2022-05-13
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】西山 佳秀
(72)【発明者】
【氏名】永田 雄大
【審査官】打出 義尚
(56)【参考文献】
【文献】特開2018-128722(JP,A)
【文献】特開2010-079354(JP,A)
【文献】特開2016-110268(JP,A)
【文献】特開2016-162314(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/31
G06F 21/44
G06F 21/45
G06F 21/60
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
複数のユニットで構成される制御システムであって、
前記複数のユニットは、
バスに接続されるマスターユニットと、
前記バスに接続され、当該バスを介して前記マスターユニットと通信するスレーブユニットとを含み、
前記マスターユニットは、秘匿対象の情報である第1セキュリティ情報を格納するための不揮発性メモリを有し、
前記第1セキュリティ情報は、ユーザのアカウント情報およびデジタル証明書のうち少なくとも一方を含み、
前記スレーブユニットは、揮発性メモリを有し、
前記スレーブユニットは、予め定められたタイミングにおいて、前記第1セキュリティ情報を前記マスターユニットから受信し、当該第1セキュリティ情報を前記揮発性メモリに格納する、制御システム。
【請求項2】
前記予め定められたタイミングは、前記制御システムの電源がオンされたタイミングを含む、請求項1に記載の制御システム。
【請求項3】
前記第1セキュリティ情報は、
前記ユーザのアカウント情報を含み、
前記スレーブユニットは、
当該スレーブユニットと通信可能に構成される外部機器から当該スレーブユニットへのデータアクセス要求を受信したことに基づいて、アカウント情報の入力を前記外部機器に要求し、
前記外部機器に入力されたアカウント情報が、前記揮発性メモリに格納されている前記第1セキュリティ情報に登録されている場合、前記外部機器による前記スレーブユニットへのデータアクセスを許可する、請求項1または2に記載の制御システム。
【請求項4】
前記第1セキュリティ情報は、
前記デジタル証明書を含み、
前記スレーブユニットは、当該スレーブユニットと通信可能に構成される外部機器から、当該スレーブユニットに格納されているデータについての取得要求を受信したことに基づいて、前記揮発性メモリに格納されている前記デジタル証明書を前記外部機器に送信する、請求項1~3のいずれか1項に記載の制御システム。
【請求項5】
前記スレーブユニットは、さらに、秘匿対象の情報である第2セキュリティ情報を格納するための不揮発性メモリを有し、
前記スレーブユニットは、前記第1セキュリティ情報に含まれる情報と、前記第2セキュリティ情報に含まれる情報との間で、競合する情報が存在する場合には、予め定められたルールに従って、当該競合する情報の内のいずれの情報を優先するかを決定する、請求項1~4のいずれか1項に記載の制御システム。
【請求項6】
前記マスターユニットは、前記予め定められたタイミングにおいて、前記第2セキュリティ情報を前記スレーブユニットから受信し、当該第2セキュリティ情報を当該マスターユニットの前記揮発性メモリに格納する、請求項5に記載の制御システム。
【請求項7】
前記スレーブユニットは、駆動機器を制御するための制御ユニットを含む、請求項1~6のいずれか1項に記載の制御システム。
【請求項8】
複数のユニットで構成される制御システムの制御方法であって、
前記複数のユニットは、
バスに接続されるマスターユニットと、
前記バスに接続され、当該バスを介して前記マスターユニットと通信するスレーブユニットとを含み、
前記制御方法は、
前記マスターユニットが、秘匿対象の情報である第1セキュリティ情報を、当該マスターユニットの不揮発性メモリに格納するステップ
を備え、前記第1セキュリティ情報は、ユーザのアカウント情報およびデジタル証明書のうち少なくとも一方を含み、
前記スレーブユニットが、予め定められたタイミングにおいて、前記第1セキュリティ情報を前記マスターユニットから受信するステップと、
前記スレーブユニットが、前記マスターユニットから受信した前記第1セキュリティ情報を、当該スレーブユニットの揮発性メモリに格納するステップとを備える、制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、複数のユニットで構成される制御システムにおいてセキュリティ情報を管理するための技術に関する。
【背景技術】
【0002】
FA(Factory Automation)を用いた生産現場などでは、各種装置の制御において、PLC(Programmable Logic Controller)などの制御ユニットが用いられる。近年、外部機器に接続できる制御ユニットが普及している。このような制御ユニットに関し、特許文献1(特開2016-194808号公報)は、外部機器のデーターベースにアクセスすることができるPLCを開示している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
制御ユニットには、種々の機能ユニットが接続され得る。各機能ユニットには、様々なアプリケーションがインストールされ得る。ユーザは、必要に応じて、機能ユニットを追加したり、アプリケーションをインストールしたりすることができる。
【0005】
各機能ユニットは、他の機能ユニットとは独立しており、アカウント情報やデジタル証明書などの情報(以下、「セキュリティ情報」ともいう。)を機能ユニットごとに管理する必要がある。そのため、ユーザは、機能ユニットの数が多くなるほど、容易なパスワードを設定したり、パスワードを忘れてしまったりして、セキュリティ情報の管理が煩雑になる。したがって、複数のユニットで構成される制御システムにおいてセキュリティ情報を一元的に管理するための技術が望まれている。
【課題を解決するための手段】
【0006】
本開示の一例では、複数のユニットで構成される制御システムが提供される。上記複数のユニットは、バスに接続されるマスターユニットと、上記バスに接続され、当該バスを介して上記マスターユニットと通信するスレーブユニットとを含む。上記マスターユニットは、秘匿対象の情報である第1セキュリティ情報を格納するための不揮発性メモリを有する。上記スレーブユニットは、揮発性メモリを有する。上記スレーブユニットは、予め定められたタイミングにおいて、上記第1セキュリティ情報を上記マスターユニットから受信し、当該第1セキュリティ情報を上記揮発性メモリに格納する。
【0007】
本開示によれば、スレーブユニットは、マスターユニットから受信したセキュリティ情報を揮発性メモリに格納する。これにより、制御システムへの電力の供給が停止する度に、マスターユニットからセキュリティ情報が消える。一方で、マスターユニットの不揮発性メモリに格納されているセキュリティ情報は、制御システムへの電力の供給が停止したとしても消えない。これにより、セキュリティ情報を一元的に管理することができる。
【0008】
本開示の一例では、上記予め定められたタイミングは、上記制御システムの電源がオンされたタイミングを含む。
【0009】
本開示によれば、スレーブユニットは、制御システムの電源がオンされる度にマスターユニットからセキュリティ情報を受信するので、セキュリティ情報を最新の状態に保つことができる。
【0010】
本開示の一例では、上記第1セキュリティ情報は、ユーザのアカウント情報を含む。上記スレーブユニットは、当該スレーブユニットと通信可能に構成される外部機器から当該スレーブユニットへのデータアクセス要求を受信したことに基づいて、アカウント情報の入力を上記外部機器に要求し、上記外部機器に入力されたアカウント情報が、上記揮発性メモリに格納されている上記第1セキュリティ情報に登録されている場合、上記外部機器による上記スレーブユニットへのデータアクセスを許可する。
【0011】
本開示によれば、スレーブユニットは、マスターユニットから受信したアカウント情報に基づいて、ユーザの認証処理を実現することができる。
【0012】
本開示の一例では、上記第1セキュリティ情報は、デジタル証明書を含む。上記スレーブユニットは、当該スレーブユニットと通信可能に構成される外部機器から、当該スレーブユニットに格納されているデータについての取得要求を受信したことに基づいて、上記揮発性メモリに格納されている上記デジタル証明書を上記外部機器に送信する。
【0013】
本開示によれば、スレーブユニットは、マスターユニットから受信したデジタル証明書に基づいて、外部機器と通信を実現することができる。
【0014】
本開示の一例では、上記スレーブユニットは、さらに、秘匿対象の情報である第2セキュリティ情報を格納するための不揮発性メモリを有する。上記スレーブユニットは、上記第1セキュリティ情報に含まれる情報と、上記第2セキュリティ情報に含まれる情報との間で、競合する情報が存在する場合には、予め定められたルールに従って、当該競合する情報の内のいずれの情報を優先するかを決定する。
【0015】
本開示によれば、第1セキュリティ情報と第2セキュリティ情報との間で、情報の競合が解消される。
【0016】
本開示の一例では、上記マスターユニットは、上記予め定められたタイミングにおいて、上記第2セキュリティ情報を上記スレーブユニットから受信し、当該第2セキュリティ情報を当該マスターユニットの上記揮発性メモリに格納する。
【0017】
本開示によれば、マスターユニットとスレーブユニットとの間で、セキュリティ情報を分散させて管理することができる。
【0018】
本開示の一例では、上記スレーブユニットは、駆動機器を制御するための制御ユニットを含む。
【0019】
本開示によれば、制御ユニットで利用されるセキュリティ情報を、マスターユニットで一元的に管理することができる。
【0020】
本開示の他の例では、複数のユニットで構成される制御システムの制御方法が提供される。上記複数のユニットは、バスに接続されるマスターユニットと、上記バスに接続され、当該バスを介して上記マスターユニットと通信するスレーブユニットとを含む。上記制御方法は、上記マスターユニットが、秘匿対象の情報である第1セキュリティ情報を、当該マスターユニットの不揮発性メモリに格納するステップと、上記スレーブユニットが、予め定められたタイミングにおいて、上記第1セキュリティ情報を上記マスターユニットから受信するステップと、前上記スレーブユニットが、上記マスターユニットから受信した上記第1セキュリティ情報を、当該スレーブユニットの揮発性メモリに格納するステップとを備える。
【0021】
本開示によれば、スレーブユニットは、マスターユニットから受信したセキュリティ情報を揮発性メモリに格納する。これにより、制御システムへの電力の供給が停止する度に、マスターユニットからセキュリティ情報が消える。一方で、マスターユニットにおいては、マスターユニットの不揮発性メモリに格納されているセキュリティ情報は、制御システムへの電力の供給が停止したとしても消えない。これにより、セキュリティ情報を一元的に管理することができる。
【図面の簡単な説明】
【0022】
【
図1】実施の形態に従う情報処理システムの構成例を示す図である。
【
図2】実施の形態に従う制御システムの構成例を示す外観図である。
【
図3】実施の形態に従う制御システムを構成する制御ユニットのハードウェア構成例を示す模式図である。
【
図4】実施の形態に従う制御システムを構成する機能ユニットのハードウェア構成例を示す模式図である。
【
図5】実施の形態に従う制御システムを構成する機能ユニットのハードウェア構成例を示す模式図である。
【
図6】実施の形態に従う情報処理システムを構成する外部機器のハードウェア構成例を示す模式図である。
【
図7】実施の形態に従う情報処理システムのユニット構成の一例を示す図である。
【
図8】機能ユニットと機能ユニットと外部機器との間のデータフローを示す図である。
【
図9】実施の形態に従う外部機器に表示される画面の一例を示す図である。
【
図10】セキュリティ情報に含まれる登録アカウント情報を示す図である。
【
図11】第1変形例に従う制御システムの構成例を示す図である。
【
図12】セキュリティ情報をマージする過程を示す図である。
【
図13】第2変形例に従う制御システムの構成例を示す図である。
【
図14】第3変形例に従う制御システムの構成例を示す図である。
【
図15】セキュリティ情報に含まれる鍵情報を示す図である。
【発明を実施するための形態】
【0023】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【0024】
<A.適用例>
図1を参照して、本発明の適用例について説明する。
図1は、実施の形態に従う情報処理システム1の構成例を示す図である。
【0025】
情報処理システム1は、1つ以上の制御システム2と、1つ以上の外部機器500とを含む。制御システム2は、生産工程を自動化するためのFAシステムである。制御システム2は、制御ユニット100と、機能ユニット200,300とを含む。機能ユニット300は、マスターユニットとして機能する。制御ユニット100および機能ユニット200は、スレーブユニットとして機能する。マスターおよびスレーブの関係は、予め設定されている。
【0026】
機能ユニット200および外部機器500は、外部ネットワークに接続される。機能ユニット200および外部機器500の間の通信は、Ethernet(登録商標)によって実現される。外部機器500は、たとえば、ノート型またはデスクトップ型のPC(Personal Computer)、タブレット端末、スマートフォン、HMI(Human Machine Interface)、または、その他の情報処理端末である。
【0027】
制御ユニット100、機能ユニット200、および機能ユニット300は、内部バス10によって接続される。これらのユニットは、内部バス10を介して、互いに通信を行う。
【0028】
制御ユニット100は、たとえば、PLCである。制御ユニット100は、予め設計されたユーザプログラムに従って、駆動機器(図示しない)を制御する。駆動機器は、生産工程を自動化するための種々の産業用機器を含む。一例として、駆動機器は、ロボットコントローラや、サーボドライバや、ロボットコントローラに制御されるアームロボットや、サーボドライバによって制御されるサーボモータなどを含む。また、駆動機器は、ワークを撮影するための視覚センサや、生産工程で利用されるその他の機器などを含んでもよい。
【0029】
制御ユニット100は、揮発性メモリ106を有する。揮発性メモリ106は、電力の供給が停止されると記憶している情報が消えてしまうようなメモリの総称である。揮発性メモリ106は、たとえば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)などのRAM(Random Access Memory)である。
【0030】
機能ユニット200は、制御ユニット100に接続される。機能ユニット200には、制御システム2に関する各種サービスを提供するための種々のアプリケーションがインストールされ得る。機能ユニット200は、揮発性メモリ206を有する。揮発性メモリ106は、たとえば、SRAMやDRAMなどのRAMである。
【0031】
機能ユニット300は、秘匿対象の情報であるセキュリティ情報330を一元的に管理するためのユニットである。機能ユニット300は、たとえば、SGU(Security Guard Unit)である。セキュリティ情報330は、たとえば、各種ユニットで利用されるアカウント情報やデジタル証明書などを含む。セキュリティ情報330は、機能ユニット300の不揮発性メモリ308に格納される。
【0032】
不揮発性メモリ308は、電力の供給がない状態でも情報を保持し続けることが可能なメモリの総称である。不揮発性メモリ308は、たとえば、ROM(Read Only Memory)、ハードディスク、または、フラッシュメモリである。
【0033】
マスターユニットとしての機能ユニット300は、予め定められたタイミングにおいて、スレーブユニットとしての制御ユニット100と機能ユニット200とに、セキュリティ情報330を送信する。制御ユニット100は、機能ユニット300から受信したセキュリティ情報330を揮発性メモリ106に格納する。同様に、機能ユニット200は、機能ユニット300から受信したセキュリティ情報330を揮発性メモリ206に格納する。
【0034】
セキュリティ情報330が配布されるタイミングは、特に限定されない。ある局面において、セキュリティ情報330は、制御システム2の電源がオンされたタイミングに、各スレーブユニットに配布される。他の局面において、セキュリティ情報330は、予め定められた周期ごとに各スレーブユニットに配布される。さらに他の局面において、セキュリティ情報330は、ユーザ操作による取得指示や更新指示を受けたタイミングに、各スレーブユニットに配布される。
【0035】
以上のように、制御システム2は、セキュリティ情報の管理を一元的に担う機能ユニット300を有する。これにより、ユーザは、アカウント情報やデジタル証明書などの管理をユニットごとに行う必要がなくなり、セキュリティ情報の管理における煩雑性が解消される。その結果、誤った設定や古い設定によって生じるセキュリティホールを防ぐことができる。また、セキュリティ情報330が一箇所で管理されると、異常発生時において確認すべき箇所を減らすことができ、迅速に異常に対応することができる。
【0036】
さらに、セキュリティ情報は、内部バス10を介して配布されるので、外部ネットワークに接続する必要がない。これにより、セキュリティ情報が外部に漏れる可能性が低くなり、制御システム2のセキュリティレベルが改善される。
【0037】
また、セキュリティ情報330は、揮発性メモリ106,206に格納される。そのため、セキュリティ情報330は、制御システム2の電源の遮断後において、スレーブユニット上に残らない。一方で、機能ユニット300の不揮発性メモリ308に格納されているセキュリティ情報330は、制御システム2への電力の供給が停止したとしても消えない。これにより、セキュリティ情報330が重複することがなくなり、セキュリティ情報330の一元的な管理がより確実に実現される。
【0038】
また、セキュリティ情報330が一元的に管理されると、ユーザは、全てのユニットについて情報漏洩対策を行う必要がない。すなわち、ユーザは、機能ユニット300の不揮発性メモリ308に対して情報漏洩対策を重点的に行えば、セキュリティレベルを改善することができる。たとえば、暗号化機能付きのメモリが不揮発性メモリ308に用いられると、セキュリティ情報330の漏洩のリスクを低減することができる。また、ユーザは、不揮発性メモリ308に対してのみ情報漏洩対策を行えばいいので、コストも抑えることができる。
【0039】
<B.制御システム2>
図2を参照して、
図1に示される制御システム2について説明する。
図2は、制御システム2の構成例を示す外観図である。
【0040】
図2を参照して、制御システム2は、1または複数の制御ユニット100と、1または複数の機能ユニット200と、1または複数の機能ユニット300と、1または複数の機能ユニット400と、電源ユニット450とを含む。
【0041】
制御ユニット100と機能ユニット200との間は、任意のデータ伝送路を介して接続されている。制御ユニット100と、機能ユニット200と、1または複数の機能ユニット300,400との間は、内部バス10(
図1参照)を介して接続されている。
【0042】
制御ユニット100は、制御システム2において中心的な処理を実行する。制御ユニット100は、任意に設計された要求仕様に従って、制御対象を制御するための制御演算を実行する。
図2に示す構成例において、制御ユニット100は、1または複数の通信ポートを有している。制御ユニット100は、標準制御プログラムに従って標準制御を実行する処理実行部に相当する。
【0043】
機能ユニット200は、制御ユニット100に接続され、他の装置との間の通信機能を担当する。
図2に示す構成例において、機能ユニット200は、1または複数の通信ポートを有している。
【0044】
機能ユニット300は、オプションのユニットであり、必要に応じて制御ユニット100に接続される。機能ユニット300は、典型的には、SGU(Security Guard Unit)、OPC UA(Object Linking and Embedding for Process Control Unified Architecture)によるデータ交換機能を有する通信ユニット、AI(Artificial Intelligence)による予防保全機能を有するAIユニットなどを包含し得る。
【0045】
機能ユニット400は、制御システム2による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット400は、典型的には、I/Oユニット、セーフティI/Oユニット、通信ユニット、モーションコントローラユニット、温度調整ユニット、パルスカウンタユニットなどを包含し得る。I/Oユニットとしては、たとえば、デジタル入力(DI)ユニット、デジタル出力(DO)ユニット、アナログ出力(AI)ユニット、アナログ出力(AO)ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。セーフティI/Oユニットは、セーフティ制御に係るI/O処理を担当する。
【0046】
電源ユニット450は、制御システム2を構成する各ユニットに対して、所定電圧の電源を供給する。
【0047】
<C.各ユニットのハードウェア構成例>
次に、本実施の形態に従う制御システム2を構成する各ユニットのハードウェア構成例について説明する。
【0048】
(c1:制御ユニット100)
図3は、本実施の形態に従う制御システム2を構成する制御ユニット100のハードウェア構成例を示す模式図である。
図3を参照して、制御ユニット100は、主たるコンポーネントとして、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などのプロセッサ102と、チップセット104と、揮発性メモリ106と、不揮発性メモリ108と、通信コントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、ネットワークコントローラ116,118,120と、内部バスコントローラ122と、インジケータ124とを含む。
【0049】
プロセッサ102は、不揮発性メモリ108に格納された各種プログラムを読み出して、揮発性メモリ106に展開して実行することで、標準制御に係る制御演算、および、後述するような各種処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータの遣り取りを仲介することで、制御ユニット100全体としての処理を実現する。
【0050】
不揮発性メモリ108には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する制御プログラムが格納される。
【0051】
通信コントローラ110は、機能ユニット300との間のデータの遣り取りを担当する。通信コントローラ110としては、たとえば、内部バスあるいはEtherNetなどに対応する通信チップを採用できる。
【0052】
USBコントローラ112は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
【0053】
メモリカードインターフェイス114は、メモリカード115を着脱可能に構成されており、メモリカード115に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード115から制御プログラムや各種設定などのデータを読出すことが可能になっている。
【0054】
ネットワークコントローラ116,118,120の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ116,118,120は、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの産業用ネットワークプロトコルを採用してもよい。
【0055】
内部バスコントローラ122は、制御システム2を構成する機能ユニット200、1または複数の機能ユニット300、1または複数の機能ユニット400との間のデータの遣り取りを担当する。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
【0056】
インジケータ124は、制御ユニット100の動作状態などを通知するものであり、ユニット表面に配置された1または複数のLEDなどで構成される。
【0057】
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御ユニット100の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
【0058】
(c2:機能ユニット200)
図4は、本実施の形態に従う制御システム2を構成する機能ユニット200のハードウェア構成例を示す模式図である。
図4を参照して、機能ユニット200は、主たるコンポーネントとして、CPUやGPUなどのプロセッサ202と、チップセット204と、揮発性メモリ206と、不揮発性メモリ208と、通信コントローラ210と、通信インターフェイス212と、メモリカードインターフェイス214と、ネットワークコントローラ216,218と、インジケータ224とを含む。
【0059】
プロセッサ202は、不揮発性メモリ208に格納された各種プログラムを読み出して、揮発性メモリ206に展開して実行することで、後述するような各種通信機能を実現する。チップセット204は、プロセッサ202と各コンポーネントとの間のデータの遣り取りを仲介することで、機能ユニット200全体としての処理を実現する。
【0060】
不揮発性メモリ208には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する通信制御プログラム232などの各種データが格納される。
【0061】
通信コントローラ210は、制御ユニット100や機能ユニット300との間のデータの遣り取りを担当する。通信コントローラ210としては、たとえば、内部バスあるいはEtherNetなどに対応する通信チップを採用できる。
【0062】
通信インターフェイス212は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
【0063】
メモリカードインターフェイス214は、メモリカード215を着脱可能に構成されており、メモリカード215に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード215から制御プログラムや各種設定などのデータを読出すことが可能になっている。
【0064】
ネットワークコントローラ216,218の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ216,218は、EtherNetなどの汎用的なネットワークプロトコルを採用してもよい。一例として、機能ユニット200は、ネットワークコントローラ216またはネットワークコントローラ218を介して外部機器500と通信する。
【0065】
インジケータ224は、機能ユニット200の動作状態などを通知するものであり、ユニット表面に配置された1または複数のLEDなどで構成される。
【0066】
図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、機能ユニット200の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
【0067】
(c3:機能ユニット300)
図5は、本実施の形態に従う制御システム2を構成する機能ユニット300のハードウェア構成例を示す模式図である。
図5を参照して、機能ユニット300は、主たるコンポーネントとして、CPUやGPUなどのプロセッサ302と、チップセット304と、揮発性メモリ306と、不揮発性メモリ308と、メモリカードインターフェイス314と、内部バスコントローラ322と、インジケータ324とを含む。
【0068】
プロセッサ302は、不揮発性メモリ308に格納された各種アプリケーションプログラムを読み出して、揮発性メモリ306に展開して実行することで、サーバ機能および各種機能を実現する。チップセット304は、プロセッサ302と各コンポーネントとの間のデータの遣り取りを仲介することで、機能ユニット300全体としての処理を実現する。
【0069】
不揮発性メモリ308には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するアプリケーションプログラムや上述のセキュリティ情報330(
図1参照)が格納される。
【0070】
メモリカードインターフェイス314は、メモリカード315を着脱可能に構成されており、メモリカード315に対してアプリケーションプログラムや各種設定などのデータを書込み、あるいは、メモリカード315からアプリケーションプログラムや各種設定などのデータを読出すことが可能になっている。
【0071】
内部バスコントローラ322は、内部バスを介した制御ユニット100や機能ユニット200との間のデータの遣り取りを担当する。
【0072】
インジケータ324は、機能ユニット300の動作状態などを通知するものであり、ユニット表面に配置された1または複数のLEDなどで構成される。
【0073】
図5には、プロセッサ302がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、機能ユニット300の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
【0074】
<D.外部機器500のハードウェア構成例>
次に、
図6を参照して、外部機器500のハードウェア構成について順に説明する。
図6は、実施の形態に従う情報処理システム1を構成する外部機器500のハードウェア構成例を示す模式図である。
【0075】
外部機器500は、一例として、汎用的なコンピュータアーキテクチャに準じて構成されるコンピュータからなる。外部機器500は、CPUやMPUなどのプロセッサ502と、揮発性メモリ504と、不揮発性メモリ510と、通信インターフェイス511と、I/O(Input/Output)インターフェイス514と、表示インターフェイス520とを含む。これらのコンポーネントは、内部バス525を介して互いに通信可能に接続されている。
【0076】
プロセッサ502は、開発支援プログラム510Aやブラウザアプリケーション(図示しない)などの各種の制御プログラムを実行することで外部機器500の動作を制御する。開発支援プログラム510Aは、制御システム2の制御プログラム(ユーザプログラム)を開発するための環境を提供するプログラムである。プロセッサ502は、開発支援プログラム510Aやブラウザアプリケーションなどの各種制御プログラムの実行命令を受け付けたことに基づいて、実行対象の制御プログラムを不揮発性メモリ510から揮発性メモリ504に読み出す。
【0077】
通信インターフェイス511は、他の通信機器との間でネットワークを介してデータを遣り取りする。当該他の通信機器は、たとえば、機能ユニット200、サーバなどを含む。外部機器500は、通信インターフェイス511を介して、当該他の通信機器から、開発支援プログラム510Aなどの各種制御プログラムをダウンロード可能なように構成されてもよい。
【0078】
I/Oインターフェイス514は、入力デバイス515に接続され、入力デバイス515からのユーザ操作を示す信号を取り込む。入力デバイス515は、典型的には、キーボード、マウス、タッチパネル、タッチパッドなどからなり、ユーザからの操作を受け付ける。なお、
図6の例では、外部機器500および入力デバイス515が別体として示されているが、外部機器500および入力デバイス515は、一体的に構成されてもよい。
【0079】
表示インターフェイス520は、ディスプレイ521と接続され、プロセッサ502などからの指令に従って、ディスプレイ521に対して、画像を表示するための画像信号を送出する。ディスプレイ521は、たとえば、LCD(Liquid Crystal Display)や有機EL(Electro Luminescence)であり、ユーザに対して各種情報を提示する。ディスプレイ521には、開発支援プログラム510Aによって提供される各種画面が表示され得る。なお、
図6の例では、外部機器500およびディスプレイ521が別体として示されているが、外部機器500およびディスプレイ521は、一体的に構成されてもよい。
【0080】
<E.情報処理システム1のユニット構成例>
図7は、情報処理システム1のユニット構成の一例を示す図である。
図7を参照して、情報処理システム1のユニット構成の具体例について説明する。
【0081】
図7に示されるように、情報処理システム1は、制御システム2と、外部機器500とを含む。制御システム2は、制御ユニット100と、機能ユニット200A,200Bと、機能ユニット300とを含む。機能ユニット200A,200Bは、上述の機能ユニット200(
図2参照)の一例である。制御ユニット100と、機能ユニット200A,200Bと、機能ユニット300とは、内部バス10を介して接続されている。これらのユニットは、内部バス10を介して互いに通信する。当該通信は、たとえば、仮想Ethernetによって実現される。
【0082】
外部ネットワークNW1には、機能ユニット200および外部機器500が接続されている。外部機器500には、IPアドレス「192.168.250.3」が割り当てられている。機能ユニット200および外部機器500は、それぞれ、物理的な通信ポートを有し、当該通信ポートを介して外部ネットワークNW1に接続される。
【0083】
内部ネットワークNW2には、制御ユニット100、機能ユニット200A,200B,300が接続されている。制御ユニット100には、仮想IPアドレス「192.168.250.1」が割り当てられている。また、制御ユニット100には、ユニット名「Unit #0」が割り当てられている。
【0084】
機能ユニット200Aには、IPアドレス「192.168.250.2」が割り当てられている。また、機能ユニット200Aには、ユニット名「Unit #1」が割り当てられている。機能ユニット200Aは、Webサーバ「Web1」として機能する。機能ユニット200Aには、アプリケーション「App11」,「App12」がインストールされている。アプリケーション「App11」,「App12」は、Webサーバ「Web1」からアクセスされる。
【0085】
機能ユニット200Bには、仮想IPアドレス「192.168.251.100」が割り当てられている。また、機能ユニット200Bには、ユニット名「Unit #2」が割り当てられている。機能ユニット200Bは、Webサーバ「Web2」として機能する。機能ユニット200Bには、アプリケーション「App21」,「App22」がインストールされている。アプリケーション「App21」,「App22」は、Webサーバ「Web2」からアクセスされる。
【0086】
機能ユニット300には、仮想IPアドレス「192.168.251.101」が割り当てられている。また、機能ユニット300には、ユニット名「Unit #3」が割り当てられている。機能ユニット300は、Webサーバ「Web3」として機能する。機能ユニット300には、アプリケーション「App31」,「App32」がインストールされている。アプリケーション「App31」,「App32」は、Webサーバ「Web3」からアクセスされる。
【0087】
<F.シーケンスフロー>
次に、
図8~
図10を参照して、制御システム2の制御フローについて説明する。
図8は、機能ユニット200と、機能ユニット300と、外部機器500との間のデータフローを示す図である。
【0088】
ステップS20において、制御システム2が起動されたとする。このことに基づいて、機能ユニット200,300の間でマスターおよびスレーブの関係が設定される。マスターおよびスレーブの関係は、予め設定されていてもよいし、ユーザによって任意に設定されてもよい。
図8の例では、機能ユニット200がスレーブユニットとして設定されており、機能ユニット300がマスターユニットとして設定されているとする。スレーブユニットとしての機能ユニット200は、マスターユニットとしての機能ユニット300に、セキュリティ情報330の取得要求を送信する。機能ユニット300は、当該取得要求を受信したことに基づいて、セキュリティ情報330を機能ユニット200に送信する。
【0089】
ステップS22において、機能ユニット200は、機能ユニット300から受信したセキュリティ情報330を揮発性メモリ206に格納する。
【0090】
ステップS30において、外部機器500は、機能ユニット200へのデータアクセス要求をユーザから受けたとする。ステップS30の時点では、機能ユニット200へのログイン処理が行われていないので、アカウント情報の入力を外部機器500に要求する。より具体的には、機能ユニット200は、外部機器500からデータアクセス要求を受信したことに基づいて、ログインページのURLを外部機器500に送信し、ログインページにリダイレクトさせる。
【0091】
ステップS32において、外部機器500は、機能ユニット200から受信したURLに基づいて、ログインページへのアクセス要求を機能ユニット200に送信する。このことに基づいて、機能ユニット200は、アクセスされたログインページを外部機器500に送信する。
【0092】
ステップS34において、外部機器500は、機能ユニット200から受信したログインページをディスプレイ521(
図6参照)に表示する。
図9は、外部機器500に表示される画面の一例を示す図である。
図9には、外部機器500に表示される画面の一例として、ログインページ700が示されている。ログインページ700は、ユーザIDやパスワードなどのアカウント情報の入力を受け付ける。ログインページ700のログインボタンが押下された場合には、入力されたアカウント情報が機能ユニット200に送信される。ログインページ700のキャンセルボタンが押下された場合には、入力されたアカウント情報が破棄され、ログインページ700が閉じられる。
【0093】
ステップS36において、ログインページ700のログインボタンが押下されたとする。これにより、外部機器500は、ログインページ700に入力されたアカウント情報を機能ユニット200に送信する。
【0094】
ステップS50において、機能ユニット200は、外部機器500からアカウント情報を受信したことに基づいて、揮発性メモリ206に格納されているセキュリティ情報330(
図1参照)を参照して、当該アカウント情報の認証処理を実行する。外部機器500に入力されたアカウント情報が、揮発性メモリ206に格納されているセキュリティ情報330に登録されている場合、機能ユニット200は、外部機器500による機能ユニット200へのデータアクセスを許可する。
【0095】
図10は、セキュリティ情報330に含まれる登録アカウント情報330Aを示す図である。登録アカウント情報330Aは、ユーザID別にパスワードなどを関連付けている。機能ユニット200は、外部機器500から受信した入力アカウント情報に含まれるユーザIDをキーとして、当該ユーザIDに対応するパスワードを登録アカウント情報330Aから取得する。次に、機能ユニット200は、登録アカウント情報330Aから取得したパスワードと、外部機器500から受信した入力アカウント情報に含まれるパスワードとを比較する。これらのパスワードが一致する場合、機能ユニット200は、外部機器500から受信した入力アカウント情報が登録アカウント情報330Aに登録されていると判断する。
【0096】
ステップS52において、機能ユニット200は、ステップS30でのデータアクセス要求に対する応答として、ポータルサイトのHTML(HyperText Markup Language)文書を外部機器500に送信する。
【0097】
ステップS54において、外部機器500は、受信したHTML文書に基づいてポータルサイトを構成し、当該ポータルサイトをディスプレイ521(
図6参照)に表示する。
図9には、外部機器500に表示されるポータルサイト710の例が示されている。
【0098】
ポータルサイト710には、機能ユニット200にインストールされているアプリケーションへのリンクがハイパーリンクで示される。
図9の例では、機能ユニット200にインストールされているアプリケーション「App11」(
図7参照)へのリンクがハイパーリンク710Aとして示され、機能ユニット200にインストールされているアプリケーション「App12」(
図7参照)へのリンクがハイパーリンク710Bとして示されている。ユーザは、ハイパーリンク710Aを選択するとアプリケーション「App11」の機能を利用することができ、ハイパーリンク710Bを選択するとアプリケーション「App12」の機能を利用することができる。
【0099】
<G.第1変形例>
次に、
図11および
図12を参照して、上述の制御システム2の変形例について説明する。
図11は、第1変形例に従う制御システム2Aの構成例を示す図である。
【0100】
上述の制御システム2においては、スレーブユニットとしての機能ユニット200は、マスターユニットとしての機能ユニット300から配布されたセキュリティ情報330を利用していた。これに対して、本変形例に従う制御システム2Aにおいては、機能ユニット200は、機能ユニット300から受信したセキュリティ情報330を利用するだけでなく、機能ユニット200に予め格納されているセキュリティ情報230も利用する。その他の点については上述の通りであるので、以下では、重複する説明については繰り返さない。
【0101】
図11に示されるように、セキュリティ情報230は、機能ユニット200の不揮発性メモリ208に予め格納されている。また、機能ユニット200は、機能ユニット300から配布されたセキュリティ情報330を揮発性メモリ206に格納する。その結果、機能ユニット200は、セキュリティ情報230と、セキュリティ情報330とを有することになる。
【0102】
機能ユニット200は、セキュリティ情報230とセキュリティ情報330とをマージする。
図12は、セキュリティ情報230およびセキュリティ情報330をマージする過程を示す図である。より詳細には、
図12には、セキュリティ情報230に含まれる登録アカウント情報230Aと、セキュリティ情報330に含まれる登録アカウント情報330Aと、登録アカウント情報230A,330Aのマージ結果233とが示されている。
【0103】
図12に示されるように、セキュリティ情報230に含まれる情報と、セキュリティ情報330含まれる情報との間で、情報が競合する場合がある。ここでいう「競合」とは、ユーザIDのような一意の情報が重複していることを意味する。
図12の例では、登録アカウント情報230Aに含まれるユーザID「user2」と、登録アカウント情報330Aに含まれるユーザID「user2」とが競合している。
【0104】
機能ユニット200は、セキュリティ情報230(第1セキュリティ情報)に含まれる情報と、セキュリティ情報330(第2セキュリティ情報)に含まれる情報との間で、情報が競合する場合には、予め定められたマージルールに従って、競合する情報の内のいずれの情報を優先するかを決定する。
【0105】
一例として、優先度が機能ユニットごとに予め設定されており、機能ユニット200は、優先度の高いユニットから取得した情報を優先する。たとえば、マスターユニットとしての機能ユニット300の優先度が、スレーブユニットとしての優先度よりも高いように、優先度が設定されているとする。この場合、機能ユニット200は、機能ユニット300から受信したセキュリティ情報330を、機能ユニット200に格納されているセキュリティ情報230よりも優先する。その結果、ユーザID「user2」およびパスワード「pass2A」のアカウント情報が、ユーザID「user2」およびパスワード「pass2B」のアカウント情報よりも優先される。これにより、アカウント情報の競合が防がれる。
【0106】
<H.第2変形例>
次に、
図13を参照して、上述の制御システム2の他の変形例について説明する。
図13は、第2変形例に従う制御システム2Bの構成例を示す図である。
【0107】
上述の制御システム2においては、マスターユニットがスレーブユニットにセキュリティ情報を配布していた。これに対して、本変形例に従う制御システム2Bにおいては、マスターユニットがスレーブユニットにセキュリティ情報を配布するだけでなく、スレーブユニットも他のユニットにセキュリティ情報を配布する。その他の点については上述の通りであるので、以下では、重複する説明については繰り返さない。
【0108】
図13に示されるように、スレーブユニットである制御ユニット100は、揮発性メモリ106と、不揮発性メモリ108とを有する。不揮発性メモリ108には、セキュリティ情報330が予め格納されている。
【0109】
スレーブユニットである機能ユニット200は、揮発性メモリ206と、不揮発性メモリ208とを有する。揮発性メモリ206には、セキュリティ情報230が予め格納されている。
【0110】
マスターユニットである機能ユニット300は、揮発性メモリ306と、不揮発性メモリ308とを有する。揮発性メモリ306には、セキュリティ情報330が予め格納されている。
【0111】
制御ユニット100は、予め定められたタイミングにおいて、不揮発性メモリ108に格納されているセキュリティ情報130を、機能ユニット200,300のそれぞれに配布する。機能ユニット200は、制御ユニット100から受信したセキュリティ情報130を揮発性メモリ206に格納する。同様に、機能ユニット300は、制御ユニット100から受信したセキュリティ情報130を揮発性メモリ306に格納する。
【0112】
機能ユニット200は、予め定められたタイミングにおいて、不揮発性メモリ208に格納されているセキュリティ情報230を、制御ユニット100と機能ユニット300とのそれぞれに配布する。制御ユニット100は、機能ユニット200から受信したセキュリティ情報230を揮発性メモリ106に格納する。同様に、機能ユニット300は、機能ユニット200から受信したセキュリティ情報230を揮発性メモリ306に格納する。
【0113】
機能ユニット300は、予め定められたタイミングにおいて、不揮発性メモリ208に格納されているセキュリティ情報330を、制御ユニット100と機能ユニット200とのそれぞれに配布する。制御ユニット100は、機能ユニット300から受信したセキュリティ情報330を揮発性メモリ106に格納する。同様に、機能ユニット200は、機能ユニット300から受信したセキュリティ情報330を揮発性メモリ206に格納する。
【0114】
セキュリティ情報130,230,330が他のユニットに配布されるタイミングは、特に限定されない。ある局面において、セキュリティ情報130,230,330は、制御システム2Bの電源がオンされたタイミングに、各ユニットに配布される。他の局面において、セキュリティ情報130,230,330は、予め定められた周期ごとに各ユニットに配布される。さらに他の局面において、セキュリティ情報130,230,330は、ユーザ操作による取得指示や更新指示を受けたタイミングに、各ユニットに配布される。
【0115】
制御ユニット100および機能ユニット200,300の各ユニットは、他のユニットからのセキュリティ情報の受信後において、予め定められたマージルールに従って、セキュリティ情報130,230,330をマージする。このとき、セキュリティ情報130,230,330の間で情報が競合する場合には、各ユニットは、上記「G.第1変形例」で説明した方法で、情報の競合を解消する。
【0116】
なお、
図13では、セキュリティ情報が他の全てのユニットに配布される例について説明を行ったが、セキュリティ情報は、必ずしも、他の全てのユニットに配布される必要はない。たとえば、セキュリティ情報の配布を許可するユニットと、セキュリティ情報の配布を禁止するユニットとが予め決められており、各ユニットは、セキュリティ情報の配布が許可されている他のユニットにのみセキュリティ情報を配布してもよい。
【0117】
<I.第3変形例>
次に、
図14および
図15を参照して、上述の制御システム2の他の変形例について説明する。
図14は、第3変形例に従う制御システム2Cの構成例を示す図である。
【0118】
上述では、セキュリティ情報330がアカウント情報を含む例について説明した。これに対して、本変形例においては、セキュリティ情報330は、暗号化に用いる秘密鍵やデジタル証明書などの鍵情報330Bを含む。その他の点については上述の通りであるので、以下では、重複する説明については繰り返さない。
【0119】
図14に示されるように、鍵情報330Bを含むセキュリティ情報330は、マスターユニットとしての機能ユニット300の不揮発性メモリ308に格納されている。
図15は、セキュリティ情報330に含まれる鍵情報330Bを示す図である。鍵情報330Bは、デジタル証明書と秘密鍵とのセットを1つ以上含む。
【0120】
デジタル証明書は、暗号化に用いられる公開鍵を含む。デジタル証明書とは、当該公開鍵の所有者を証明するためのデータセットである。典型的には、デジタル証明書は、認証局(CA:Certificate Authority)と呼ばれる認証機関によって予め発行されている。
【0121】
再び
図14を参照して、マスターユニットとしての機能ユニット300は、予め定められたタイミングにおいて、スレーブユニットとしての制御ユニット100と機能ユニット200とに、鍵情報330Bを含むセキュリティ情報330を送信する。制御ユニット100は、機能ユニット300から受信したセキュリティ情報330を揮発性メモリ106に格納する。同様に、機能ユニット200は、機能ユニット300から受信したセキュリティ情報330を揮発性メモリ206に格納する。
【0122】
制御システム2Cを構成する各ユニットは、自身が保持する鍵情報330Bを用いて、外部機器500とのセキュア通信を実現する。
図14には、機能ユニット200が外部機器500Aとセキュア通信を行っている例と、機能ユニット300が外部機器500Bとセキュア通信を行っている例とが示されている。
【0123】
一例として、機能ユニット200,300は、SSL(Secure Sockets Layer)通信により、外部機器500A,500Bとのセキュア通信を実現する。
【0124】
より具体的には、スレーブユニットである機能ユニット200は、外部機器500Aから、機能ユニット200に格納されているデータについての取得要求を受信したことに基づいて、揮発性メモリ206に格納されているデジタル証明書C1を外部機器500Aに送信する。通常、デジタル証明書C1には、登録者のホスト名が含まれる。上述のように、デジタル証明書C1は、機能ユニット300から配布されたものであるが、デジタル証明書C1の送信者が機能ユニット200であるにも関わらず、デジタル証明書C1に規定されるホスト名が機能ユニット300であると、外部機器500Aは、送信者を正しく認証することができない。そのため、デジタル証明書C1として、マルチドメイン証明書や、ワイルドカード証明書が利用される。マルチドメイン証明書は、1つのデジタル証明書C1で複数のドメインを認証することができる証明書である。ワイルドカード証明書は、コモンネームとして「*.」を付けることで、「*.」の同一階層に属する全てのサブドメインを認証することができる証明書である。
【0125】
外部機器500Aは、機能ユニット200から受信したデジタル証明書C1を検証して、デジタル証明書C1の送信者が正当な送信者であるか否かを判断する。外部機器500Aは、デジタル証明書C1の送信者が正当な送信者であると判断した場合、共通鍵(図示しない)を生成する。その後、外部機器500Aは、デジタル証明書C1に含まれる公開鍵を用いて、生成した共通鍵を暗号化し、暗号化後の共通鍵を機能ユニット200に送信する。
【0126】
機能ユニット200は、暗号化された共通鍵を外部機器500Aから受信したことに基づいて、鍵情報330Bに含まれる秘密鍵K1を用いて、当該共通鍵を復号化する。以上の処理により、共通鍵が機能ユニット200から外部機器500Aに安全に送られる。以降の通信では、機能ユニット200および外部機器500Aは、共通鍵を用いてデータを暗号化した上で、互いにデータをやり取りする。
【0127】
同様に、機能ユニット300は、不揮発性メモリ308に格納されている鍵情報330Bを用いて、外部機器500BとSSL通信を行う。
【0128】
<J.付記>
以上のように、本実施形態は以下のような開示を含む。
【0129】
[構成1]
複数のユニットで構成される制御システム(2)であって、
前記複数のユニットは、
バス(10)に接続されるマスターユニット(300)と、
前記バス(10)に接続され、当該バス(10)を介して前記マスターユニット(300)と通信するスレーブユニット(200)とを含み、
前記マスターユニット(300)は、秘匿対象の情報である第1セキュリティ情報(330)を格納するための不揮発性メモリ(308)を有し、
前記スレーブユニット(200)は、揮発性メモリ(206)を有し、
前記スレーブユニット(200)は、予め定められたタイミングにおいて、前記第1セキュリティ情報(330)を前記マスターユニット(300)から受信し、当該第1セキュリティ情報(330)を前記揮発性メモリ(206)に格納する、制御システム。
【0130】
[構成2]
前記予め定められたタイミングは、前記制御システム(2)の電源がオンされたタイミングを含む、構成1に記載の制御システム。
【0131】
[構成3]
前記第1セキュリティ情報(330)は、ユーザのアカウント情報を含み、
前記スレーブユニット(200)は、
当該スレーブユニット(200)と通信可能に構成される外部機器(500)から当該スレーブユニット(200)へのデータアクセス要求を受信したことに基づいて、アカウント情報の入力を前記外部機器(500)に要求し、
前記外部機器(500)に入力されたアカウント情報が、前記揮発性メモリ(206)に格納されている前記第1セキュリティ情報(330)に登録されている場合、前記外部機器(500)による前記スレーブユニット(200)へのデータアクセスを許可する、構成1または2に記載の制御システム。
【0132】
[構成4]
前記第1セキュリティ情報(330)は、デジタル証明書を含み、
前記スレーブユニット(200)は、当該スレーブユニット(200)と通信可能に構成される外部機器(500)から、当該スレーブユニット(200)に格納されているデータについての取得要求を受信したことに基づいて、前記揮発性メモリ(206)に格納されている前記デジタル証明書を前記外部機器(500)に送信する、構成1~3のいずれか1項に記載の制御システム。
【0133】
[構成5]
前記スレーブユニット(200)は、さらに、秘匿対象の情報である第2セキュリティ情報(230)を格納するための不揮発性メモリ(308)を有し、
前記スレーブユニット(200)は、前記第1セキュリティ情報(330)に含まれる情報と、前記第2セキュリティ情報(230)に含まれる情報との間で、競合する情報が存在する場合には、予め定められたルールに従って、当該競合する情報の内のいずれの情報を優先するかを決定する、構成1~4のいずれか1項に記載の制御システム。
【0134】
[構成6]
前記マスターユニット(300)は、前記予め定められたタイミングにおいて、前記第2セキュリティ情報(230)を前記スレーブユニット(200)から受信し、当該第2セキュリティ情報(230)を当該マスターユニット(300)の前記揮発性メモリ(306)に格納する、構成5に記載の制御システム。
【0135】
[構成7]
前記スレーブユニット(200)は、駆動機器を制御するための制御ユニット(100)を含む、構成1~6のいずれか1項に記載の制御システム。
【0136】
[構成8]
複数のユニットで構成される制御システム(2)の制御方法であって、
前記複数のユニットは、
バス(10)に接続されるマスターユニット(300)と、
前記バス(10)に接続され、当該バス(10)を介して前記マスターユニット(300)と通信するスレーブユニット(200)とを含み、
前記制御方法は、
前記マスターユニット(300)が、秘匿対象の情報である第1セキュリティ情報(330)を、当該マスターユニット(300)の不揮発性メモリ(308)に格納するステップと、
前記スレーブユニット(200)が、予め定められたタイミングにおいて、前記第1セキュリティ情報(330)を前記マスターユニット(300)から受信するステップと、
前記スレーブユニット(200)が、前記マスターユニット(300)から受信した前記第1セキュリティ情報(330)を、当該スレーブユニット(200)の揮発性メモリ(206)に格納するステップとを備える、制御方法。
【0137】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0138】
1 情報処理システム、2,2A,2B,2C 制御システム、10,525 内部バス、100 制御ユニット、102,202,302,502 プロセッサ、104,204,304 チップセット、106,206,306,504 揮発性メモリ、108,208,308,510 不揮発性メモリ、110,210 通信コントローラ、112 USBコントローラ、114,214,314 メモリカードインターフェイス、115,215,315 メモリカード、116,118,120,216,218 ネットワークコントローラ、122,322 内部バスコントローラ、124,224,324 インジケータ、130,230,330 セキュリティ情報、200,200A,200B,300,400 機能ユニット、212,511 通信インターフェイス、230A,330A 登録アカウント情報、232 通信制御プログラム、233 マージ結果、330B 鍵情報、450 電源ユニット、500,500A,500B 外部機器、510A 開発支援プログラム、514 インターフェイス、515 入力デバイス、520 表示インターフェイス、521 ディスプレイ、700 ログインページ、710 ポータルサイト、710A,710B ハイパーリンク。