JP7505862B2 - 制御システム、制御方法、および制御デバイス - Google Patents

制御システム、制御方法、および制御デバイス Download PDF

Info

Publication number
JP7505862B2
JP7505862B2 JP2019046799A JP2019046799A JP7505862B2 JP 7505862 B2 JP7505862 B2 JP 7505862B2 JP 2019046799 A JP2019046799 A JP 2019046799A JP 2019046799 A JP2019046799 A JP 2019046799A JP 7505862 B2 JP7505862 B2 JP 7505862B2
Authority
JP
Japan
Prior art keywords
members
data
memory card
list
plc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019046799A
Other languages
English (en)
Other versions
JP2020149404A (ja
Inventor
功 川合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2019046799A priority Critical patent/JP7505862B2/ja
Priority to PCT/JP2020/005276 priority patent/WO2020184036A1/ja
Priority to EP20769699.8A priority patent/EP3940470A4/en
Priority to CN202080017752.2A priority patent/CN113518951B/zh
Priority to US17/434,189 priority patent/US20220164464A1/en
Publication of JP2020149404A publication Critical patent/JP2020149404A/ja
Application granted granted Critical
Publication of JP7505862B2 publication Critical patent/JP7505862B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14006Safety, monitoring in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、制御システム、制御方法、および制御デバイスに関し、より特定的には複数のデバイスが互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御システム、制御方法、および制御デバイスに関する。
多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などの制御デバイスを含む制御システムによって制御される。一般的に、このような制御システムにおいては、着脱可能な記憶媒体に記憶されたデータを用いて、システムを復旧させたり、プログラムやデータを更新させたりすることが行われている。
たとえば、特開2011-215814号公報(特許文献1)においては、プログラマブルコントローラ(PLC)に接続されたバックアップ・リストアユニットを利用して、通信機器の対象パラメータの設定値をバックアップまたはリストアすることができるバックアップ・リストアシステムが開示されている。このバックアップ・リストアシステムにおいては、メモリカードなどの着脱可能な記憶媒体に記憶させておいたバックアップデータを用いて、各種データがリストアされるようになっている。
特開2011-215814号公報
特許文献1に開示されたバックアップ・リストアシステムのように、着脱可能な記憶媒体にデータを記憶させ、必要に応じてPLCなどのデバイスからデータにアクセスさせることは一般的に行われている。このような着脱可能な記憶媒体は持ち運びができるためにユーザの利便性がよい反面、着脱可能であるが故に盗難される危険性があり、セキュリティ面においては不安要素もある。一般的な盗難対策であれば、記憶媒体に対して予め決められたホストによって個体認証などでアクセスコントロールすればよいが、FA(ファクトリオートメーション)の分野では、実使用上、必ずしも決められたホストに記憶媒体が挿入されるとは限らない。
本発明は、上述したような課題を解決することを一つの目的とし、着脱可能な記憶媒体におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高める技術を提供することを目的とする。
本開示の一例に従えば、複数のデバイスが互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御システムが提供される。制御システムは、複数のデバイスに含まれかつデータを記憶する記憶媒体を着脱可能に受け入れる第1のデバイスと、複数のデバイスに含まれる1または複数の第2のデバイスとを備える。複数のデバイスおよび記憶媒体の各メンバーは、各メンバーに関する関連情報を含むリストを保持する記憶領域と、他のメンバー各々から取得した当該他のメンバー各々の関連情報に対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々の関連情報を照合する照合手段とを有する。第1のデバイスと当該第1のデバイス以外の他のメンバーとでは、リストの内容が異なり、かつ、他のメンバー間ではリストの内容が同じである場合において、当該第1のデバイスおよび当該第1のデバイス以外の他のメンバー各々の照合手段による照合結果が所定の条件を満たしたと判定し、記憶媒体に記憶されたデータの第1のデバイスによるアクセスを有効にする。
この開示によれば、第1のデバイスによって記憶媒体が受け入れられた際、当該第1のデバイス以外の他のメンバーの各々によって実行される関連情報の照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスが有効になるため、着脱可能な記憶媒体におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
上述の開示において、第1のデバイスは、秘匿化された専用のロジックを含む読込部を有しており、記憶媒体は、読込部からのみアクセス可能に構成されている。
この開示によれば、第1のデバイスが有する秘匿化された専用のロジックを含む読込部からのみ記憶媒体にアクセス可能であるため、着脱可能な記憶媒体におけるデータのアクセスに関してさらにセキュリティを高めることができる。
上述の開示において、関連情報は、各メンバーを個別に識別するシリアルナンバーを含み、照合手段は、他のメンバー各々から取得した当該他のメンバー各々のシリアルナンバーに対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々のシリアルナンバーを照合する。
この開示によれば、各メンバーを個別に識別するシリアルナンバーの照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスが有効になるため、着脱可能な記憶媒体におけるデータのアクセスに関してさらにセキュリティを高めることができる。
上述の開示において、関連情報は、各メンバーの型式を含み、照合手段は、他のメンバー各々から取得した当該他のメンバー各々の型式に対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々の型式を照合する。
この開示によれば、各メンバーの型式の照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスが有効になるため、型式が同じである一方でシリアルナンバーが異なるメンバー構成であっても記憶媒体に記憶されたデータのアクセスを有効にすることができ、着脱可能な記憶媒体におけるデータのアクセスに関するセキュリティの向上と、ユーザの利便性の向上とのバランスを取ることができる。
上述の開示において、制御システムは、デバイス群を支援するサポート装置を備える。関連情報は、各メンバーを個別に識別するシリアルナンバーと、各メンバーの型式とを含み、照合手段は、他のメンバー各々から取得した当該他のメンバー各々のシリアルナンバーに対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々のシリアルナンバーを照合する第1の照合手段と、他のメンバー各々から取得した当該他のメンバー各々の型式に対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々の型式を照合する第2の照合手段とを含む。サポート装置は、第1の照合手段による照合および第2の照合手段による照合のいずれかを選択するためのユーザインターフェースを提供する。
この開示によれば、ユーザは、サポート装置を利用して、各メンバーを個別に識別するシリアルナンバーの照合、および各メンバーの型式の照合のいずれかを選択することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
上述の開示において、制御システムは、デバイス群を支援するサポート装置を備える。サポート装置は、第1のデバイスおよび当該第1のデバイス以外の他のメンバーのうち、照合手段による照合対象となるメンバーの数を設定するためのユーザインターフェースを提供する。
この開示によれば、ユーザは、サポート装置を利用して、照合対象となるメンバーの数を設定することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
上述の開示において、制御システムは、デバイス群を支援するサポート装置を備える。サポート装置は、メンバーの適用範囲を設定するためのユーザインターフェースを提供する。
この開示によれば、ユーザは、サポート装置を利用して、メンバーの適用範囲を設定することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
本開示の別の一例に従えば、複数のデバイスが互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御方法が提供される。複数のデバイスには、データを記憶する記憶媒体を着脱可能に受け入れる第1のデバイスと、1または複数の第2のデバイスとが含まれる。複数のデバイスおよび記憶媒体の各メンバーは、各メンバーに関する関連情報を含むリストを保持する記憶領域を有する。制御方法は、各メンバーに、他のメンバー各々から取得した当該他のメンバー各々の関連情報に対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々の関連情報を照合させるステップと、第1のデバイスと当該第1のデバイス以外の他のメンバーとでは、リストの内容が異なり、かつ、他のメンバー間ではリストの内容が同じである場合において、当該第1のデバイスおよび当該第1のデバイス以外の他のメンバー各々による照合結果が所定の条件を満たしたと判定し、記憶媒体に記憶されたデータの第1のデバイスによるアクセスを有効にさせるステップとを含む。
この開示によれば、第1のデバイスによって記憶媒体が受け入れられた際、当該第1のデバイス以外の他のメンバーの各々によって実行される関連情報の照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスが有効になるため、着脱可能な記憶媒体におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
本開示の別の一例に従えば、複数のデバイスが互いに通信可能に構成されたデバイス群に含まれかつデータのアクセスを制御する制御デバイスが提供される。制御デバイスは、データを記憶する記憶媒体を着脱可能に受け入れる受入部を備える。複数のデバイスおよび記憶媒体の各メンバーは、各メンバーに関する関連情報を含むリストを保持する記憶領域と、他のメンバー各々から取得した当該他のメンバー各々の関連情報に対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々の関連情報とを照合する照合手段とを有する。制御デバイスと当該制御デバイス以外の他のメンバーとでは、リストの内容が異なり、かつ、他のメンバー間ではリストの内容が同じである場合において、当該制御デバイスおよび当該制御デバイス以外の他のメンバー各々の照合手段による照合結果が所定の条件を満たしたと判定し、記憶媒体に記憶されたデータの制御デバイスによるアクセスを有効にする。
この開示によれば、第1のデバイスによって記憶媒体が受け入れられた際、当該第1のデバイス以外の他のメンバーの各々によって実行される関連情報の照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスが有効になるため、着脱可能な記憶媒体におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
本実施の形態に係る制御システムの適用例を示す模式図である。 本実施の形態に係るPLCのハードウェア構成例、およびメモリカードの構成例を示す模式図である。 本実施の形態に係るユニットのハードウェア構成例を示す模式図である。 本実施の形態に係るサポート装置のハードウェア構成例を示す模式図である。 本実施の形態に係る制御システムにおいて正当にデータアクセスされる場合のシリアル照合の一例を示す模式図である。 本実施の形態に係る制御システムにおけるシリアル照合の判定例を示す模式図である。 本実施の形態に係る制御システムにおいて不当にデータアクセスされる場合のシリアル照合の一例を示す模式図である。 本実施の形態に係る制御システムにおいて正当にデータアクセスされる場合のモデル照合の一例を示す模式図である。 本実施の形態に係る制御システムにおけるモデル照合の判定例を示す模式図である。 本実施の形態に係る制御システムにおいて不当にデータアクセスされる場合のモデル照合の一例を示す模式図である。 本実施の形態に係るサポート装置における設定画面の一例を示す模式図である。 本実施の形態に係る制御システムにおいて実行されるシリアル照合によるアクセス認証処理の一例を示すシーケンス図である。 本実施の形態に係る制御システムにおいて実行されるモデル照合によるアクセス認証処理の一例を示すシーケンス図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.適用例>
本発明が適用される場面の一例について説明する。
図1は、本実施の形態に係る制御システム1の適用例を示す模式図である。図1に示すように、制御システム1は、複数のデバイスが互いに通信可能に構成されたデバイス群を含む。
本明細書において、「デバイス」は、制御システム1における制御要素の単位を意味し、制御演算に必要なプログラム、構成設定、パラメータなどは、デバイスの単位で生成および管理される。典型的には、「デバイス」は、制御プログラム(シーケンス制御およびモーション制御を含み得る)を実行する処理主体であるプログラマブルコントローラ(PLC)と、PLCに接続される周辺装置とを含み得る。典型的には、周辺装置は、PLCで取り扱われる入出力データを制御対象との間で遣り取りする装置であり、具体的には、ユニット、スレーブデバイス、およびカプラユニットなどが挙げられる。
図1の例では、制御システム1は、デバイスとして、プログラマブルコントローラ(PLC)100と、PLC100と通信可能に接続された複数のユニット200-1,200-2,200-3,200-4(以下、「ユニット200」とも総称する。)とを備える。PLC100は、「第1のデバイス」の一例であり、ユニット200は、「第2のデバイス」の一例である。なお、「第1のデバイス」および「第2のデバイス」は、PLC、ユニット、スレーブデバイス、およびカプラユニットなどのいずれのデバイスに適用してもよい。
スロット1(図中のSlot1)に配置されたPLC100を中心として、スロット2に配置されたユニット200-1(図中のUnit1)、スロット3に配置されたユニット200-2(図中のUnit2)、スロット4に配置されたユニット200-3(図中のUnit3)、およびスロット5に配置されたユニット200-4(図中のUnit4)がローカルバス4を介してPLC100と通信可能に接続されている。
さらに、制御システム1は、デバイス群を支援するサポート装置400を備える。サポート装置400は、制御システム1を構成する各デバイスで実行される制御プログラムや必要なパラメータなどの開発や管理を行う。PLC100には、サポート装置400と通信接続するためのUSB(Universal Serial Bus)コネクタ105が設けられており、サポート装置400によって開発されたプログラムや設定パラメータは、ネットワーク2を介してUSBコネクタ105からPLC100およびユニット200に転送(ダウンロード)される。
このような構成を有する制御システム1においては、着脱可能な記憶媒体に記憶されたデータを用いて、システムを復旧させたり、プログラムやデータを更新させたりする機能が搭載されている。たとえば、PLC100は、メモリカード300を着脱可能に受け入れるメモリカードインターフェース103を備えており、メモリカードインターフェース103に装着されたメモリカード300にアクセスすることでデータを取得することができる。なお、メモリカードインターフェース103は、「受入部」の一例である。
具体的な例としては、システムのバックアップ/リストアが挙げられる。たとえば、ユーザは、メモリカードインターフェース103を介して、各デバイスで用いられるデータをメモリカード300に記憶させることでデータをバックアップしておく。デバイスが故障した場合には、故障したデバイスを新たなデバイスと交換し、メモリカード300にバックアップしておいたデータ(以下、「バックアップデータ」とも称する。)を、新たに導入されたデバイスにおいて復元する。このような処理を「リストア」とも称する。バックアップデータは、典型的には、制御システム1の不具合などを解消するために用いられる。
「記憶媒体」の一例であるメモリカード300としては、たとえば、SD(Secure Digital)カードなどの着脱可能なメモリカードが挙げられる。なお、「記憶媒体」は、USBメモリ、コンパクトフラッシュ(登録商標)、およびメモリースティックなど、着脱可能な記憶媒体であればいずれのものも含み得る。
記憶媒体によって記憶される「データ」は、上述したバックアップデータ、デバイスで用いられるプログラムやパラメータ、デバイスによって取得されたログデータやトレースデータなどを含み得る。
このように、着脱可能なメモリカード300にバックアップデータなどを記憶させ、必要に応じてPLC100などのデバイスからアクセスさせることがある。このような着脱可能なメモリカード300は持ち運びができるためにユーザの利便性がよい反面、着脱可能であるが故に盗難される危険性があり、セキュリティ面においては不安要素もある。一般的な盗難対策であれば、メモリカード300に対して予め決められたホスト(デバイス)によって個体認証などでアクセスコントロールすればよいが、FA(ファクトリオートメーション)の分野では、実使用上、必ずしも決められたホストにメモリカード300が挿入されるとは限らない。
つまり、メモリカード300に対するアクセス制限を厳しくすればするほど、よりセキュアなシステムを構築することができる反面、その分、実使用における作業性が悪くなる。そこで、本実施の形態に係る制御システム1においては、このようなトレードオフを解消するために、着脱可能なメモリカード300におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高める技術を提供する。
具体的には、特定のデバイスにメモリカード300が挿入された場合、メモリカード300自身が挿入元である特定のデバイスを認証していなくても、他の多くのデバイス間で現在接続されているデバイス群の構成内容が一致すれば、メモリカード300におけるデータに対する当該特定のデバイスによるアクセスを有効にするように、制御システム1が構成されている。以下、具体的に説明する。
本実施の形態においては、PLC100やユニット200-1~200-4などの複数のデバイス、およびメモリカード300を総称して「メンバー」とも称する。各メンバーは、当該各メンバーに関する関連情報を含むリストを保持する記憶領域を有する。「関連情報」は、各メンバーを特定する情報であればいずれのものであってもよく、本実施の形態においては、型式(図中のModel)と、シリアルナンバー(図中のSerial)とを含み得る。
「型式」は、各メンバーにおいて、構造、設備、および外形などの違いによって他と区別される型を意味する。「シリアルナンバー」は、各メンバーを個別に識別する番号であり、たとえば、出荷される製品の各々に割り当てられる固有の製造番号が適用され得る。通常、シリアルナンバーは各メンバーに固有に割り当てられるため、複数の異なるメンバー間でシリアルナンバーが重複することはない。一方、型式はメンバーの型ごとに割り当てられるため、複数の異なるメンバー間で型式が重複し得る。
たとえば、図1の例では、PLC100には、型式として「A」が割り当てられ、シリアルナンバーとして「a」が割り当てられている。ユニット200-1には、型式として「B」が割り当てられ、シリアルナンバーとして「b」が割り当てられている。ユニット200-2には、型式として「B」が割り当てられ、シリアルナンバーとして「c」が割り当てられている。ユニット200-3には、型式として「C」が割り当てられ、シリアルナンバーとして「d」が割り当てられている。ユニット200-4には、型式として「C」が割り当てられ、シリアルナンバーとして「e」が割り当てられている。このように、PLC100およびユニット200-1~200-4の各々に固有のシリアルナンバーが割り当てられているのに対して、ユニット200-1とユニット200-2とでは同じ型式「B」が割り当てられ、ユニット200-3とユニット200-4とでは同じ型式「C」が割り当てられている。
さらに、メモリカード300には、型式として「X」が割り当てられ、シリアルナンバーとして「y」が割り当てられている。
また、メモリカード300は、リスト300Lを保持し、PLC100は、リスト100Lを保持し、ユニット200-1~200-4は、それぞれリスト200-1L~200-4Lを保持する。各リストは、サポート装置400によって作成され、各デバイスに転送される。そして、サポート装置400またはPLC100を介して、メモリカード300にもリストが保持される。
図1の例では、メモリカード300が保持するリスト300Lの内容が示されている。リスト300Lには、スロット(Slot)1~5ごとに割り当てられた型式(Model)およびシリアルナンバー(Serial)が格納されており、さらに、メモリカード300の型式(Model)およびシリアルナンバー(Serial)も格納されている。これにより、メモリカード300は、リスト300Lを参照することで、システム上において現時点で構成されている各メンバーを把握することができる。
また、基本的には、メンバーが交換されない限り、各メンバーが保持するリスト間でその内容は同じである。具体的には、図1に示したリスト300Lの内容は、PLC100が保持するリスト100Lの内容、およびユニット200-1~200-4のそれぞれが保持するリスト200-1L~200-4Lの内容と同じである。
さらに、各メンバーは、他のメンバー各々から取得した当該他のメンバー各々の関連情報に対して、自身が保持するリストに含まれる当該他のメンバー各々の関連情報を照合するように構成されている。
具体的には、メモリカード300は、自身が保持するリストに含まれる他のメンバー(PLC100,ユニット200)の型式やシリアルナンバーと、他のメンバー(PLC100,ユニット200)から取得した型式やシリアルナンバーとを照合することで、他のメンバー(PLC100,ユニット200)について関連情報が一致するか否かを判断する。
同様に、PLC100は、自身が保持するリストに含まれる他のメンバー(メモリカード300,ユニット200)の型式やシリアルナンバーと、他のメンバー(メモリカード300,ユニット200)から取得した型式やシリアルナンバーとを照合することで、他のメンバー(メモリカード300,ユニット200)について関連情報が一致するか否かを判断する。
同様に、各ユニット200は、自身が保持するリストに含まれる他のメンバー(メモリカード300,PLC100,他のユニット200)の型式やシリアルナンバーと、他のメンバー(メモリカード300,PLC100,他のユニット200)から取得した型式やシリアルナンバーとを照合することで、他のメンバー(メモリカード300,PLC100,他のユニット200)について関連情報が一致するか否かを判断する。
PLC100は、メモリカード300が挿入された際、上述した各メンバーによる照合の結果が所定の条件を満たしたときに、メモリカード300に記憶されたデータのアクセスを有効にする。「所定の条件」は、セキュリティの観点から、メモリカード300に記憶されたデータのアクセスを有効にすることができる条件であれば、いずれのものを用いてもよい。
たとえば、メモリカード300がPLC100に挿入された際、PLC100以外の他のメンバー(メモリカード300,ユニット200)によって、自身が保持するリストに基づき、システム上において現在構成されている各メンバーが照合され、メンバー間でその照合結果の一致度合いが一定の値を超えていれば、メモリカード300におけるデータに対するPLC100によるアクセスが有効になる。
このように、本実施の形態に係る制御システム1においては、PLC100によってメモリカード300が受け入れられた際、当該PLC100以外の他のメンバー(メモリカード300,ユニット200)の各々によって実行される関連情報の照合結果が所定の条件を満たしたときに、メモリカード300に記憶されたデータのアクセスが有効になるため、着脱可能なメモリカード300におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
<B.制御システム1に含まれる各装置のハードウェア構成>
次に、制御システム1に含まれる各装置のハードウェア構成の一例について説明する。
(b1:PLC100)
図2は、本実施の形態に係るPLC100のハードウェア構成例、およびメモリカード300の構成例を示す模式図である。図2に示すように、PLC100は、プロセッサ102と、メインメモリ104と、ストレージ106と、ネットワークコントローラ108と、メモリカードインターフェース113とを含む。これらのコンポーネントは、プロセッサバス130を介して接続されている。
プロセッサ102は、制御演算などを実行する演算部であり、たとえば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ106に格納されたプログラム(一例として、制御プログラム140、システムプログラム1060、およびリストア用プログラム1065)を読み出して、メインメモリ104に展開して実行することで、所定の制御を実現する。
図2の例では、プロセッサ102が所定のプログラムを実行することで、PLC100として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
メインメモリ104は、たとえば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ106は、たとえば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。ストレージ106には、基本的な機能を実現するためのシステムプログラム1060に加えて、設備や機械などの制御対象に応じて作成される制御プログラム140、およびPLC100をリストアするためのリストア用プログラム1065が格納されている。
ネットワークコントローラ108は、ネットワーク2を介して、サポート装置400を含む任意の情報処理装置との間でデータを遣り取りする。
メモリカードインターフェース113は、着脱可能な記録媒体の一例であるメモリカード300専用のインターフェースである。メモリカードインターフェース113は、所定のアクセス認証を受けることによって、メモリカード300に対してデータを書き込み、メモリカード300から各種データ(バックアップデータなど)を読み出すことが可能になっている。
メモリカードインターフェース113には、セキュリティユニット1130が搭載されている。セキュリティユニット1130は、メモリカード300に対するプロセッサ102からのアクセスを許可または禁止するセキュリティチップであり、秘匿化された専用のロジックを含む「読込部」の一例である。本実施の形態に係るメモリカード300は、データのアクセスに関してセキュアなメモリカードであり、セキュリティユニット1130からのみアクセス可能に構成されている。これにより、メモリカード300におけるデータのアクセスに関してセキュリティを高めることができる。
セキュリティユニット1130は、プロセッサ1131と、ストレージ1132と、メモリ1133と、IOモジュール1134と、IOモジュール1135と、メモリカードコントローラ1136とを含む。
プロセッサ1131は、制御演算などを実行する演算部であり、たとえば、MPU(Micro Processing Unit)などで構成される。プロセッサ1131は、ストレージ1132に格納されたプログラム(一例として、読込プログラム1150)を読み出して、メモリ1133に展開して実行することで、所定の制御を実現する。
図2の例では、プロセッサ1131が所定のプログラムを実行することで、セキュリティユニット1130として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
メモリ1133は、たとえば、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ1132は、たとえば、フラッシュメモリなどの不揮発性記憶装置などで構成され、PLC100における「記憶領域」の一例である。ストレージ1132には、読込プログラム1150と、ユーザデータ1160と、証明書データ1170と、識別データ1180と、リスト100Lとが格納されている。
読込プログラム1150は、メモリカード300に含まれるバックアップデータなどのデータ1335に対するプロセッサ102からのアクセス指令が出力された場合に、メモリカード300のデータ1335に対するアクセスを有効にするか否かを判定するとともに、当該判定結果がポジティブな結果であればアクセスを有効にする一方、ネガティブな結果であればアクセスを禁止するといったアクセス認証処理を実行するためのプログラムを含む。ユーザデータ1160は、制御システム1におけるユーザを識別するための情報(たとえば、アカウント名やパスワード)を含む。
証明書データ1170は、PLC100が制御システム1にとって正当であることを証明するための情報を含む。たとえば、証明書データ1170は、メーカによって正当な製品であると認証された際に発行された証明書の情報を含む。なお、証明書データ1170は、メーカに限らず、ユーザや第三者の外部組織によって認証された際に発行された証明書の情報を含んでいてもよい。
識別データ1180は、PLC100の型式やシリアルナンバーなどの関連情報を含む。リスト100Lは、上述したように、各メンバーに関する関連情報を含む。
IOモジュール1134は、プロセッサバス130を介して、プロセッサ1131とプロセッサ102などとの間で入出力データを遣り取りする。IOモジュール1135は、メモリカードコントローラ1136を介して、プロセッサ1131とメモリカード300との間で入出力データを遣り取りする。
メモリカードコントローラ1136は、上述のアクセス認証処理に基づきメモリカード300に対するプロセッサ102からのアクセスを有効にする場合に、メモリカード300との間の通信経路を有効にする。
(b2:メモリカード300)
図2に示すように、メモリカード300は、データエリア1331と、セキュアエリア1332と、セキュリティコントローラ1336とを含む。データエリア1331は、バックアップデータなどのデータ1335が格納される記憶領域である。データ1335は、公開鍵などの鍵を用いて暗号化された上でデータエリア1331に格納されてもよい。
セキュアエリア1332は、アクセスに認証を要する秘匿化された記憶領域であり、メモリカード300における「記憶領域」の一例である。セキュアエリア1332には、ユーザデータ1360と、証明書データ1370と、識別データ1380と、リスト300Lとが格納されている。
ユーザデータ1360は、制御システム1におけるユーザを識別するための情報(たとえば、アカウント名やパスワード)を含む。証明書データ1370は、メモリカード300が制御システム1にとって正当であることを証明するための情報を含む。たとえば、証明書データ1370は、メーカによって正当な製品であると認証された際に発行された証明書の情報を含む。なお、証明書データ3170は、メーカに限らず、ユーザや第三者の外部組織によって認証された際に発行された証明書の情報を含んでいてもよい。
識別データ1380は、メモリカード300の型式やシリアルナンバーなどの関連情報を含む。リスト300Lは、上述したように、各メンバーに関する関連情報を含む。
セキュリティコントローラ1336は、上述のアクセス認証処理に基づきデータ1335に対するプロセッサ102からのアクセスが有効にされた場合に、セキュリティユニット1130とデータエリア1331との間の通信経路を有効にする。特に、本実施の形態に係るメモリカード300は、秘匿化された専用のロジックを含むPLC100のセキュリティユニット1130からのみアクセス可能に構成されているが、仮に、メモリカード300にアクセス可能な他の読込装置があったとしても、上述したアクセス認証処理に基づく認証ができなければ、外部からメモリカード300のデータエリア1331に格納されたデータ1335にアクセスできないように構成されている。
(b3:ユニット200)
図3は、本実施の形態に係るユニット200のハードウェア構成例を示す模式図である。図3に示すように、ユニット200は、機能モジュール210と、ローカルバスコントローラ220と、セキュリティユニット2130とを含む。
機能モジュール210は、各ユニット200の責務に応じた機能を提供する。たとえば、ユニット200がデジタル入力ユニットである場合には、機能モジュール210は、フォトカプラなどのデジタル信号の入力回路および検出回路を有している。また、ユニット200がサーボドライバなどである場合には、機能モジュール210は、軌道演算ロジックおよび指令生成ロジックなどを有している。
ローカルバスコントローラ220は、ローカルバス4を介して、接続先のPLC100または他のユニット200との間でデータを遣り取りする。
セキュリティユニット2130は、上述したアクセス認証処理を実行するためのセキュリティチップであり、機能モジュール210とローカルバスコントローラ220との間で相互に通信する。セキュリティユニット2130は、プロセッサ2161と、ストレージ2162と、メモリ2163とを含む。
プロセッサ2161は、制御演算などを実行する演算部であり、たとえば、MPUなどで構成される。プロセッサ2161は、ストレージ2162に格納されたプログラム(一例として、リストア用プログラム2150)を読み出して、メモリ2163に展開して実行することで、所定の制御を実現する。
図3の例では、プロセッサ2161が所定のプログラムを実行することで、ユニット200として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
メモリ2163は、たとえば、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ2162は、たとえば、フラッシュメモリなどの不揮発性記憶装置などで構成され、ユニット200における「記憶領域」の一例である。ストレージ2162には、リストア用プログラム2150と、ユーザデータ2160と、証明書データ2170と、識別データ2180と、リスト200Lとが格納されている。
リストア用プログラム2150は、ユニット200をリストアするためのプログラムを含む。ユーザデータ2160は、制御システム1におけるユーザを識別するための情報(たとえば、アカウント名やパスワード)を含む。証明書データ2170は、ユニット200が制御システム1にとって正当であることを証明するための情報を含む。たとえば、証明書データ2170は、メーカによって正当な製品であると認証された際に発行された証明書の情報を含む。なお、証明書データ2170は、メーカに限らず、ユーザや第三者の外部組織によって認証された際に発行された証明書の情報を含んでいてもよい。
(b4:サポート装置400)
図4は、本実施の形態に係るサポート装置400のハードウェア構成例を示す模式図である。サポート装置400は、一例として、汎用的なアーキテクチャに従うコンピュータがプログラムを実行することで実現される。
図4に示すように、サポート装置400は、プロセッサ402と、メインメモリ404と、ストレージ406と、入力部408と、表示部410と、光学ドライブ412と、ネットワークコントローラ416とを含む。これらのコンポーネントは、プロセッサバス418を介して相互に通信可能に接続されている。
プロセッサ402は、CPUやGPUなどで構成され、ストレージ406に格納されたプログラム(一例として、OS4060およびサポートプログラム4062)を読み出して、メインメモリ404に展開して実行することで、各種処理を実現する。
図4の例では、プロセッサ402が所定のプログラムを実行することで、サポート装置400として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
メインメモリ404は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ406は、たとえば、HDDやSSDなどの不揮発性記憶装置などで構成される。
ストレージ406には、基本的な機能を実現するためのOS4060に加えて、サポート装置400としての機能を提供するためのサポートプログラム4062が格納されている。サポートプログラム4062は、コンピュータをサポート装置400として機能させる。
入力部408は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部410は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ402からの処理結果などを出力する。
ネットワークコントローラ416は、ネットワーク2を介して、PLC100などの任意の外部装置などとの間でデータを遣り取りする。
サポート装置400は、光学ドライブ412を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体414(たとえば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られてストレージ406などにインストールされる。
サポート装置400で実行されるサポートプログラム4062などは、コンピュータ読取可能な記録媒体414を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置400が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
<C.シリアル照合の一例>
図5~図7を参照しながら、アクセス認証処理におけるシリアルナンバーを用いた照合(以下、「シリアル照合」とも称する。)について説明する。
(c1.正当にデータアクセスされる場合のシリアル照合の一例)
図5は、本実施の形態に係る制御システム1において正当にデータアクセスされる場合のシリアル照合の一例を示す模式図である。図6は、本実施の形態に係る制御システム1におけるシリアル照合の判定例を示す模式図である。
図5に示すように、制御システム1において、スロット1のPLC100には、型式として「A」が割り当てられ、シリアルナンバーとして「a」が割り当てられている。スロット2のユニット200-1には、型式として「B」が割り当てられ、シリアルナンバーとして「b」が割り当てられている。スロット3のユニット200-2には、型式として「B」が割り当てられ、シリアルナンバーとして「c」が割り当てられている。スロット4のユニット200-3には、型式として「C」が割り当てられ、シリアルナンバーとして「d」が割り当てられている。スロット5のユニット200-4には、型式として「C」が割り当てられ、シリアルナンバーとして「e」が割り当てられている。このように構成された制御システム1において、PLC100のバックアップデータがメモリカード300に記憶されている。
このような状況において、スロット1のPLC100が故障したため、PLC100をPLC100aに交換することで制御システム1aを構築することを想定する。PLC100aには、型式として「A」が割り当てられ、シリアルナンバーとして「f」が割り当てられている。つまり、PLC100に代わって新たに導入されたPLC100aは、型式がPLC100と同じである一方、シリアルナンバーがPLC100と異なっている。
PLC100のバックアップデータをリストアするために、PLC100aにメモリカード300が挿入されると、メモリカード300、PLC100a、およびユニット200-1~200-4によるアクセス認証処理(シリアル認証)が実行される。
ここで、メモリカード300のリスト300L、ユニット200-1のリスト200-1L、ユニット200-2のリスト200-2L、ユニット200-3のリスト200-3L、およびユニット200-4のリスト200-4Lは、ともにリストの内容が同じであるとする。なお、PLC100aは新規導入であるため、リスト100aLの内容は空(ブランク)である。
メモリカード300は、スロット1のPLC100aから識別データとしてシリアルナンバー「f」を取得して、自身のリスト300Lに格納されたスロット1に対応するシリアルナンバー「a」と照合すると、両者が一致しないと判断する。また、メモリカード300は、スロット2~スロット5の各ユニット200から識別データとしてシリアルナンバー「b」,「c」,「d」,「e」を取得して、自身のリスト300Lに格納されたスロット2~スロット5に対応するシリアルナンバー「b」,「c」,「d」,「e」と照合すると、それぞれが一致すると判断する。つまり、メモリカード300による照合の結果、スロット1のシリアルナンバーのみが異なると判断される。
たとえば、図6に示すように、メモリカード300は、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、スロット1のみにおいて、ビット「1」を設定し、残りのメンバーについてはビット「0」を設定する。
PLC100aは、メモリカード300から識別データとしてシリアルナンバー「y」を取得して、自身のリスト100aLに格納されたメモリカードに対応するシリアルナンバーと照合すると、リスト100aLの内容は空(ブランク)であるため、両者が一致しないと判断する。また、PLC100aは、スロット2~スロット5の各ユニット200から識別データとしてシリアルナンバー「b」,「c」,「d」,「e」を取得して、自身のリスト100aLに格納されたスロット2~スロット5に対応するシリアルナンバーと照合すると、リスト100aLの内容は空(ブランク)であるため、それぞれが一致しないと判断する。つまり、PLC100aによる照合の結果、メモリカード300およびスロット2~スロット5において、シリアルナンバーが異なると判断される。
たとえば、図6に示すように、スロット1のPLC100aは、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、メモリカード300およびスロット2~スロット5についてビット「1」を設定する。
ユニット200-1~200-4のそれぞれは、メモリカード300から識別データとしてシリアルナンバー「y」を取得して、自身のリスト200-1L~200-4Lのそれぞれに格納されたメモリカードに対応するシリアルナンバー「y」と照合すると、両者が一致すると判断する。また、ユニット200-1~200-4のそれぞれは、PLC100aから識別データとしてシリアルナンバー「f」を取得して、自身のリスト200-1L~200-4Lのそれぞれに格納されたスロット1に対応するシリアルナンバー「a」と照合すると、両者が一致しないと判断する。また、ユニット200のそれぞれは、自身以外の他のユニット200から識別データとしてシリアルナンバーを取得して、自身のリストに格納された他のユニット200に対応するシリアルナンバーと照合すると、両者が一致すると判断する。つまり、ユニット200-1~200-4のそれぞれによる照合の結果、スロット1のシリアルナンバーのみが異なると判断される。
たとえば、図6に示すように、スロット2~スロット5の各ユニット200は、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、スロット1のみにおいて、ビット「1」を設定し、残りのメンバーについてはビット「0」を設定する。
このようにして各メンバーにおいてシリアルナンバーが照合されると、メモリカード300およびユニット200がスロット1のシリアルナンバーのみが異なると判断したことになる。よって、多くのメンバーによって、スロット1のPLC100aが新規導入されていると判断されており、逆に言うと、その他のメンバーは変更されていないと判断できる。したがって、多数決の考え方から、シリアルナンバーを用いた照合の結果の一致度合いは高いため、メモリカード300は、PLC100aによるバックアップデータのアクセスを有効にして、リストアを許可する。
たとえば、各メンバーによって得られた照合結果は、他のメンバーに送信されることで、全てのメンバー間で図6に示すようなテーブルが共有される。そして、メンバーのうちの一のメンバー(たとえば、最も早く各メンバーの照合結果を集めたメンバー)によって、照合結果が所定の条件を満たすか否かが判定される。具体的には、図6に示すように、各メンバーによって設定されたビットが加算され、その後、加算結果がメンバー数で除算されることで平均値(%)が算出される。そして、算出された各メンバーの平均値に基づき、50%を超えるメンバーが存在するか否かが判定される。この例においては、スロット1のみが50%を超えている。
そして、50%を超えたメンバーの数が3個以上の場合、つまり、50%を超えるメンバーによって変更されたと判断されたメンバーの数が3個以上の場合、照合の結果の一致度合いが低いと判定されてデータのアクセスがNGとなる。一方、50%を超えたメンバーの数が3未満の場合、つまり、50%を超えるメンバーによって変更されたと判断されたメンバーの数が3個未満の場合、OKと判定される。
このようにして判定された結果がOKであれば、メモリカード300は、PLC100aによるバックアップデータのアクセスを有効化する。
(c2.不当にデータアクセスされる場合のシリアル照合の一例)
図7は、本実施の形態に係る制御システム1において不当にデータアクセスされる場合のシリアル照合の一例を示す模式図である。
図7に示すように、制御システム1において、スロット1のPLC100には、型式として「A」が割り当てられ、シリアルナンバーとして「a」が割り当てられている。スロット2のユニット200-1には、型式として「B」が割り当てられ、シリアルナンバーとして「b」が割り当てられている。スロット3のユニット200-2には、型式として「B」が割り当てられ、シリアルナンバーとして「c」が割り当てられている。スロット4のユニット200-3には、型式として「C」が割り当てられ、シリアルナンバーとして「d」が割り当てられている。スロット5のユニット200-4には、型式として「C」が割り当てられ、シリアルナンバーとして「e」が割り当てられている。このように構成された制御システム1において、PLC100のバックアップデータがメモリカード300に記憶されている。
このような状況において、メモリカード300が盗まれて不正に構築されたラインを有する制御システム1xにおいてデータのリストアが行われることを想定する。たとえば、スロット1のPLC100x、およびスロット2~スロット5のユニット200x-1~ユニット200x-4がローカルバス4xを介して通信可能に構成されている。
スロット1のPLC100xには、型式として「A」が割り当てられ、シリアルナンバーとして「o」が割り当てられている。スロット2のユニット200x-1には、型式として「B」が割り当てられ、シリアルナンバーとして「p」が割り当てられている。スロット3のユニット200x-2には、型式として「B」が割り当てられ、シリアルナンバーとして「q」が割り当てられている。スロット4のユニット200x-3には、型式として「C」が割り当てられ、シリアルナンバーとして「r」が割り当てられている。スロット5のユニット200x-4には、型式として「C」が割り当てられ、シリアルナンバーとして「s」が割り当てられている。
PLC100のバックアップデータを不当にリストアするために、PLC100xにメモリカード300が挿入されると、アクセス認証処理のプログラムを有していなければ、アクセス認証処理が実行されず、PLC100xによるメモリカード300におけるデータのアクセスが有効化されない。これにより、データの外部流出を防ぐことができる。
仮にアクセス認証処理のプログラムを有していた場合、メモリカード300、PLC100x、およびユニット200x-1~200x-4によるアクセス認証処理(シリアル認証)が実行される。
たとえば、メモリカード300は、スロット1のPLC100xから識別データとしてシリアルナンバー「o」を取得して、自身のリスト300Lに格納されたスロット1に対応するシリアルナンバー「a」と照合すると、両者が一致しないと判断する。また、メモリカード300は、スロット2~スロット5の各ユニット200xから識別データとしてシリアルナンバー「p」,「q」,「r」,「s」を取得して、自身のリスト300Lに格納されたスロット2~スロット5に対応するシリアルナンバー「b」,「c」,「d」,「e」と照合すると、それぞれが一致しないと判断する。つまり、メモリカード300による照合の結果、スロット1~スロット5の全てにおいて、シリアルナンバーが一致しないと判断される。
本実施の形態においては、シリアル照合を採用した場合、メモリカード300のリスト300Lに格納された各メンバーのシリアルナンバーと、各メンバーから取得した各メンバーのシリアルナンバーとの照合によって、一致したメンバーの数が一定数(たとえば、3)を超えないときには、一致度合いが低いと判断される。図7の例では、シリアルナンバーを用いた照合の結果の一致度合いは低いため、メモリカード300は、PLC100xによるバックアップデータのアクセスを有効にせず、リストアを禁止する。
<D.モデル照合の一例>
図8~図10を参照しながら、アクセス認証処理における型式を用いた照合(以下、「モデル照合」とも称する。)について説明する。
(d1.正当にデータアクセスされる場合のモデル照合の一例)
図8は、本実施の形態に係る制御システム1において正当にデータアクセスされる場合のモデル照合の一例を示す模式図である。図9は、本実施の形態に係る制御システム1におけるモデル照合の判定例を示す模式図である。
図8に示すように、制御システム1において、スロット1のPLC100には、型式として「A」が割り当てられ、シリアルナンバーとして「a」が割り当てられている。スロット2のユニット200-1には、型式として「B」が割り当てられ、シリアルナンバーとして「b」が割り当てられている。スロット3のユニット200-2には、型式として「B」が割り当てられ、シリアルナンバーとして「c」が割り当てられている。スロット4のユニット200-3には、型式として「C」が割り当てられ、シリアルナンバーとして「d」が割り当てられている。スロット5のユニット200-4には、型式として「C」が割り当てられ、シリアルナンバーとして「e」が割り当てられている。このように構成された制御システム1において、PLC100のバックアップデータがメモリカード300に記憶されている。
このような状況において、制御システム1と同じ構成を有するラインをコピーすることで制御システム1bを構築することを想定する。たとえば、スロット1のPLC100b、およびスロット2~スロット5のユニット200b-1~ユニット200b-4がローカルバス4bを介して通信可能に構成されている。
スロット1のPLC100bには、型式として「A」が割り当てられ、シリアルナンバーとして「g」が割り当てられている。スロット2のユニット200b-1には、型式として「B」が割り当てられ、シリアルナンバーとして「h」が割り当てられている。スロット3のユニット200b-2には、型式として「B」が割り当てられ、シリアルナンバーとして「i」が割り当てられている。スロット4のユニット200b-3には、型式として「C」が割り当てられ、シリアルナンバーとして「j」が割り当てられている。スロット5のユニット200b-4には、型式として「C」が割り当てられ、シリアルナンバーとして「k」が割り当てられている。
PLC100のバックアップデータをリストアするために、PLC100bにメモリカード300が挿入されると、メモリカード300、PLC100b、およびユニット200b-1~200b-4によるアクセス認証処理(モデル認証)が実行される。
ここで、メモリカード300のリスト300L、ユニット200b-1のリスト200b-1L、ユニット200b-2のリスト200b-2L、ユニット200b-3のリスト200b-3L、およびユニット200b-4のリスト200b-4Lは、ともにリストの内容が同じであるとする。
メモリカード300は、スロット1のPLC100bから識別データとして型式「A」を取得して、自身のリスト300Lに格納されたスロット1に対応する型式「A」と照合すると、両者が一致すると判断する。また、メモリカード300は、スロット2~スロット5の各ユニット200から識別データとして型式「B」,「B」,「C」,「C」を取得して、自身のリスト300Lに格納されたスロット2~スロット5に対応する型式「B」,「B」,「C」,「C」と照合すると、それぞれが一致すると判断する。つまり、メモリカード300による照合の結果、スロット1~スロット5の全てにおいて、型式が一致すると判断される。
たとえば、図9に示すように、メモリカード300は、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、スロット1~スロット5において、ビット「0」を設定する。
PLC100bは、メモリカード300から識別データとして型式「X」を取得して、自身のリスト100bLに格納されたメモリカードに対応する型式「X」と照合すると、両者が一致すると判断する。また、PLC100bは、スロット2~スロット5の各ユニット200bから識別データとして型式「B」,「B」,「C」,「C」を取得して、自身のリスト100bLに格納されたスロット2~スロット5に対応する型式「B」,「B」,「C」,「C」と照合すると、それぞれが一致すると判断する。つまり、PLC100bによる照合の結果、スロット~スロット5の全てにおいて、型式が一致すると判断される。
たとえば、図9に示すように、スロット1のPLC100bは、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、メモリカード300およびスロット2~スロット5についてビット「0」を設定する。
ユニット200b-1~200b-4のそれぞれは、メモリカード300から識別データとして型式「X」を取得して、自身のリスト200b-1L~200b-4Lのそれぞれに格納されたメモリカードに対応する型式「X」と照合すると、両者が一致すると判断する。また、ユニット200b-1~200b-4のそれぞれは、PLC100bから識別データとして型式「A」を取得して、自身のリスト200b-1L~200b-4Lのそれぞれに格納されたスロット1に対応する型式「A」と照合すると、両者が一致すると判断する。また、ユニット200bのそれぞれは、自身以外の他のユニット200bから識別データとして型式を取得して、自身のリストに格納された他のユニット200bに対応する型式と照合すると、両者が一致すると判断する。つまり、ユニット200b-1~200b-4のそれぞれによる照合の結果、スロット1~スロット5の全てにおいて、型式が一致すると判断される。
たとえば、図9に示すように、スロット2~スロット5の各ユニット200bは、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、各メンバーについてビット「0」を設定する。
このようにして各メンバーにおいて型式が照合されると、メモリカード300およびスロット1~スロット5の全てにおいて、型式が一致すると判断されたことになる。よって、多くのメンバーによって、スロット1のPLC100bを含む多くのメンバーが変更されていないと判断されている。したがって、多数決の考え方から、型式を用いた照合の結果の一致度合いは高いため、メモリカード300は、PLC100bによるバックアップデータのアクセスを有効にして、リストアを許可する。
たとえば、各メンバーによって得られた照合結果は、他のメンバーに送信されることで、全てのメンバー間で図9に示すようなテーブルが共有される。そして、メンバーのうちの一のメンバー(たとえば、最も早く各メンバーの照合結果を集めたメンバー)によって、照合結果が所定の条件を満たすか否かが判定される。具体的には、図9に示すように、各メンバーによって設定されたビットが加算され、その後、加算結果がメンバー数で除算されることで平均値(%)が算出される。そして、算出された各メンバーの平均値に基づき、50%を超えるメンバーが存在するか否かが判定される。この例においては、全てのメンバーにおいて50%を超えていない。
そして、50%を超えたメンバーの数が3個以上の場合、つまり、50%を超えるメンバーによって変更されたと判断されたメンバーの数が3個以上の場合、照合の結果の一致度合いが低いと判定されてデータのアクセスがNGとなる。一方、50%を超えたメンバーの数が3未満の場合、つまり、50%を超えるメンバーによって変更されたと判断されたメンバーの数が3個未満の場合、OKと判定される。
このようにして判定された結果がOKであれば、メモリカード300は、PLC100aによるバックアップデータのアクセスを有効化する。
なお、図8の例においては、型式が同じラインのコピーであるため、PLCやユニットのシリアルナンバーは変更される。このため、仮に、図5および図6に示すようなシリアル照合を図8の例に採用した場合、多くのメンバーによって、スロット1のPLCを含む多くのメンバーが変更されていると判断されるため、メモリカード300は、PLCによるバックアップデータのアクセスを有効にしないことになる。
この点、図8および図9の例のように、デバイス固有のシリアルナンバーを用いるのではなく、型式を用いて照合すれば、型式が同じである一方でシリアルナンバーが異なるメンバー構成であってもメモリカード300に記憶されたバックアップデータのアクセスを有効にすることができ、メモリカード300におけるデータのアクセスに関するセキュリティの向上と、ユーザの利便性の向上とのバランスを取ることができる。
(d2.不当にデータアクセスされる場合のモデル照合の一例)
図10は、本実施の形態に係る制御システム1において不当にデータアクセスされる場合のモデル照合の一例を示す模式図である。
図10に示すように、制御システム1において、スロット1のPLC100には、型式として「A」が割り当てられ、シリアルナンバーとして「a」が割り当てられている。スロット2のユニット200-1には、型式として「B」が割り当てられ、シリアルナンバーとして「b」が割り当てられている。スロット3のユニット200-2には、型式として「B」が割り当てられ、シリアルナンバーとして「c」が割り当てられている。スロット4のユニット200-3には、型式として「C」が割り当てられ、シリアルナンバーとして「d」が割り当てられている。スロット5のユニット200-4には、型式として「C」が割り当てられ、シリアルナンバーとして「e」が割り当てられている。このように構成された制御システム1において、PLC100のバックアップデータがメモリカード300に記憶されている。
このような状況において、メモリカード300が盗まれて不正に構築されたラインを有する制御システム1yにおいてデータのリストアが行われることを想定する。たとえば、スロット1のPLC100y、およびスロット2~スロット5のユニット200y-1~ユニット200y-3がローカルバス4yを介して通信可能に構成されている。
スロット1のPLC100yには、型式として「D」が割り当てられ、シリアルナンバーとして「k」が割り当てられている。スロット2のユニット200y-1には、型式として「E」が割り当てられ、シリアルナンバーとして「l」が割り当てられている。スロット3のユニット200y-2には、型式として「E」が割り当てられ、シリアルナンバーとして「m」が割り当てられている。スロット4のユニット200y-3には、型式として「F」が割り当てられ、シリアルナンバーとして「n」が割り当てられている。なお、スロット5にはユニットが存在しない。
PLC100のバックアップデータを不当にリストアするために、PLC100yにメモリカード300が挿入されると、アクセス認証処理のプログラムを有していなければ、アクセス認証処理が実行されず、PLC100yによるメモリカード300におけるデータのアクセスが有効化されない。これにより、データの外部流出を防ぐことができる。
仮にアクセス認証処理のプログラムを有していた場合、メモリカード300、PLC100y、およびユニット200y-1~200y-3によるアクセス認証処理(モデル認証)が実行される。
たとえば、メモリカード300は、スロット1のPLC100yから識別データとして型式「D」を取得して、自身のリスト300Lに格納されたスロット1に対応する型式「A」と照合すると、両者が一致しないと判断する。また、メモリカード300は、スロット2~スロット4の各ユニット200yから識別データとして型式「E」,「E」,「F」を取得して、自身のリスト300Lに格納されたスロット2~スロット4に対応する型式「B」,「B」,「C」と照合すると、それぞれが一致しないと判断する。さらに、メモリカード300は、スロット5から識別データを取得できないため、自身のリスト300Lに格納されたスロット5に対応する型式「C」と照合できず、両者が一致しないと判断する。つまり、メモリカード300による照合の結果、スロット1~スロット5の全てにおいて、型式が一致しないと判断される。
本実施の形態においては、モデル照合を採用した場合、メモリカード300のリスト300Lに格納された各メンバーの型式と、各メンバーから取得した各メンバーの型式との照合によって、一致したメンバーの数が一定数(たとえば、3)を超えないときには、一致度合いが低いと判断される。図10の例では、型式を用いた照合の結果の一致度合いは低いため、メモリカード300は、PLC100yによるバックアップデータのアクセスを有効にせず、リストアを禁止する。
<E.サポート装置400における設定画面の一例>
図11は、本実施の形態に係るサポート装置400における設定画面の一例を示す模式図である。図11に示すように、サポート装置400は、アクセス認証処理に関する各種設定を行うためのユーザインターフェースをユーザに提供する。
具体的には、サポート装置400の画面450には、ユーザ情報を設定するためのユーザ情報欄451と、ユーザ認証方法を設定するためのユーザ認証方法欄452と、パスワードを設定するためのパスワード欄453と、照合方法を設定するための照合方法欄454と、セキュリティ強度を設定するためのセキュリティ強度欄455と、適用範囲を設定するための適用範囲欄456とが含まれる。
ユーザは、ユーザ情報欄451に所望のアカウント名を入力することで、ユーザ情報として所望のアカウント名を設定することができる。ユーザは、ユーザ認証方法欄452において所望のユーザ認証方法を選択することができる。図示は省略するが、本実施の形態においては、パスワード認証の他に、顔認証や生体認証(たとえば、指紋認証)などを選択することができる。ユーザは、パスワード認証を選択した場合、パスワード欄453に所望のパスワードを入力することができる。
ユーザは、照合方法欄454において所望の照合方法を選択することができる。本実施の形態においては、ユーザは、上述したシリアル照合またはモデル照合を選択することができる。このように、本実施の形態に係るサポート装置400は、シリアル照合およびモデル照合のいずれかを選択するためのユーザインターフェースを提供する。
これにより、ユーザは、サポート装置400を利用して、各メンバーを個別に識別するシリアルナンバーの照合、および各メンバーの型式の照合のいずれかを選択することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
なお、サポート装置400は、モデル照合およびシリアル照合のいずれかのみを実行するための選択肢に限らず、モデル照合およびシリアル照合の両方を実行するための選択肢をユーザに提供してもよい。つまり、本実施の形態に係る制御システム1は、モデル照合およびシリアル照合の両方を実行することで、デバイスによるメモリカード300のデータに対するアクセスを許可または禁止を判断してもよい。
ユーザは、セキュリティ強度欄455において、制御システム1におけるセキュリティ強度を設定することができる。具体的には、ユーザは、各デバイスの中から、アクセス認証処理においてシリアル照合やモデル照合を実行するデバイスの数を設定することができる。なお、セキュリティ面を考慮すれば、全てのデバイスにおいて照合を実行した方がよいが、処理時間の省略や処理の複雑さを回避するならば、照合するデバイスの数を減らした方がよい。本実施の形態においては、全てのデバイスの数から1を減算した数が推奨されている。このように、本実施の形態に係るサポート装置400は、照合対象となるメンバーの数を設定するためのユーザインターフェースを提供する。
これにより、ユーザは、サポート装置400を利用して、照合対象となるメンバーの数を設定することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
ユーザは、適用範囲欄456において、アクセス認証処理においてシリアル照合やモデル照合を実行するメンバーの適用範囲を設定することができる。図示は省略するが、本実施の形態においては、ユーザは、PLC100と当該PLC100にローカルバス4を介して接続されたデバイスを適用範囲とすることもできるし、さらに加えてネットワーク2やサポート装置400のようなツールを適用範囲とすることもできる。このように、本実施の形態に係るサポート装置400は、メンバーの適用範囲を設定するためのユーザインターフェースを提供する。
これにより、ユーザは、サポート装置400を利用して、メンバーの適用範囲を設定することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
<F.アクセス認証処理の一例>
図12および図13を参照しながら、本実施の形態に係る制御システム1において実行されるアクセス認証処理の一例について説明する。
(f1.シリアル照合によるアクセス認証処理の一例)
図12は、本実施の形態に係る制御システム1において実行されるシリアル照合によるアクセス認証処理の一例を示すシーケンス図である。なお、図12においては、図5および図6の例におけるアクセス認証処理(シリアル照合)を例示する。つまり、スロット1においてシリアルナンバー「a」のPLC100から、シリアルナンバー「f」のPLC100aに交換された後のリストアについて例示する。
図示は省略するが、まず、スロット1のPLC100aにメモリカード300が挿入され、かつ所定のスイッチが操作されると、サポート装置400の画面上においてユーザデータの入力がユーザに求められる。ユーザが、ユーザデータとして、たとえば、ユーザ情報(たとえば、アカウント名)およびパスワードを入力すると、図12に示すように、サポート装置400は、メモリカード300、スロット1のPLC100a、およびスロット2~スロット5の各ユニット200にユーザデータを送信する(ステップ(1),(2),(3))。
スロット1のPLC100aは、自身が保持するユーザデータ1160と、サポート装置400から取得したユーザデータとを照合し、両者が一致すれば、自身が保持する証明書データ1170をスロット2~スロット5の各ユニット200に送信する(ステップ(4))。なお、スロット1のPLC100aは、ユーザデータを認証できなければ、証明書データ1170を送信しない。
一方、スロット2~スロット5の各ユニット200は、証明書データ1170に基づき、PLC100aがメーカによる正当な製品であると判断すると、PLC100aを認証した旨の認証データをPLC100aに送信する(ステップ(5))。なお、スロット2~スロット5の各ユニット200は、PLC100aがメーカによる正当な製品であると判断できなければ、認証データをPLC100aに送信しない。
また、スロット2~スロット5の各ユニット200は、自身が保持するユーザデータ2160と、サポート装置400から取得したユーザデータとを照合し、両者が一致すれば、自身が保持する証明書データ2170をスロット1のPLC100aに送信する(ステップ(6))。なお、スロット2~スロット5の各ユニット200は、ユーザデータを認証できなければ、証明書データ2170を送信しない。
また、メモリカード300は、自身が保持するユーザデータ1360と、サポート装置400から取得したユーザデータとを照合し、両者が一致すれば、自身が保持する証明書データ1370をスロット1のPLC100aに送信する(ステップ(7))。なお、メモリカード300は、ユーザデータを認証できなければ、証明書データ1370を送信しない。
一方、スロット1のPLC100aは、証明書データ2170に基づき、スロット2~スロット5の各ユニット200がメーカによる正当な製品であると判断すると、各ユニット200を認証した旨の認証データを各ユニット200に送信する(ステップ(8))。なお、スロット1のPLC100aは、スロット2~スロット5の各ユニット200がメーカによる正当な製品であると判断できなければ、認証データを送信しない。
また、スロット1のPLC100aは、証明書データ1370に基づき、メモリカード300がメーカによる正当な製品であると判断すると、メモリカード300を認証した旨の認証データをメモリカード300に送信する(ステップ(9))。なお、スロット1のPLC100aは、メモリカード300がメーカによる正当な製品であると判断できなければ、認証データを送信しない。
ステップ(1)~(9)の処理によって、スロット2~スロット5の各ユニット200によるスロット1のPLC100aの認証、スロット1のPLC100aによるスロット2~スロット5の各ユニット200の認証、およびスロット1のPLC100aによるメモリカード300の認証が完了する。
その後、スロット1のPLC100aは、シリアル照合のために、自身が保持する識別データ1180(シリアルナンバー「f」)を、スロット2~スロット5の各ユニット200に送信する(ステップ(10))。また、スロット1のPLC100aは、シリアル照合のために、自身が保持する識別データ1180(シリアルナンバー「f」)を、メモリカード300に送信する(ステップ(11))。
また、スロット2~スロット5の各ユニット200は、シリアル照合のために、自身が保持する識別データ2180(シリアルナンバー「b」,「c」,「d」,「e」)を、メモリカード300に送信する(ステップ(12))。また、メモリカード300は、シリアル照合のために、自身が保持する識別データ1380(シリアルナンバー「y」)を、スロット2~スロット5の各ユニット200に送信する(ステップ(13))。さらに、スロット2~スロット5の各ユニット200は、シリアル照合のために、自身が保持する識別データ2180を、他のユニット200に送信する(ステップ(14))。
ステップ(10)~(14)の処理によって、メモリカード300、スロット1のPLC100a、およびスロット2~スロット5の各ユニット200は、各メンバーの識別データ(シリアルナンバー)を取得する。
その後、メモリカード300、スロット1のPLC100a、およびスロット2~スロット5の各ユニット200は、各メンバーから取得した識別データ(シリアルナンバー)と、自身が保持するリストに格納された各メンバーのシリアルナンバーとを照合する(ステップ(15))。
図5および図6の例で説明したように、メンバーのうちの一のメンバー(たとえば、最も早く各メンバーの照合結果を集めたメンバー)によって、シリアルナンバーを用いた照合の結果の一致度合いが高いと判断されると、メモリカード300は、PLC100aによるバックアップデータのアクセスを有効にして、バックアップデータをスロット1のPLC100aに送信する(ステップ(16))。
そして、各メンバーは、他のメンバーから取得した識別データ(シリアルナンバー)に基づき、自身が保持するリストを更新する(ステップ(17))。これにより、各メンバーが保持するリストが、最新の内容に更新される。
その後、スロット1のPLC100aは、メモリカード300から取得したバックアップデータに基づき、リストアを実行する(ステップ(18))。
なお、図12に示す例では、シリアル照合の結果の一致度合いが高いと判断された場合に、メモリカード300からスロット1のPLC100aにバックアップデータが送信されたが、これに限らず、PLC100a、メモリカード300、および各ユニット200による相互の認証が完了した後に、メモリカード300からスロット1のPLC100aにバックアップデータが送信されてもよい。この場合、シリアル照合の結果の一致度合いが高いと判断されない限り、スロット1のPLC100aによるリストアの実行が禁止されるようにすればよい。
このように、PLC100aによってメモリカード300が受け入れられた際、当該PLC100a以外の他のメンバーの各々によって実行されるシリアルナンバーの照合の結果、各メンバー間で照合結果の一致度合いが高いときに、メモリカード300に記憶されたバックアップデータのアクセスが有効になるため、着脱可能なメモリカード300におけるバックアップデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
また、メモリカード300が盗難されたときに限らず、誤って異なる構成であるシステムにメモリカード300が挿入された場合でも、上述したようなアクセス認証処理(シリアル照合)によって許可されなければメモリカード300のデータにデバイスからアクセスできないため、メモリカード300の誤挿入も防止することができる。
(f2.モデル照合によるアクセス認証処理の一例)
図13は、本実施の形態に係る制御システム1において実行されるモデル照合によるアクセス認証処理の一例を示すシーケンス図である。なお、図13においては、図8および図9の例におけるアクセス認証処理(モデル照合)を例示する。つまり、制御システム1と同じ構成を有するラインをコピーした後のリストアについて例示する。
図示は省略するが、まず、スロット1のPLC100bにメモリカード300が挿入され、かつ所定のスイッチが操作されると、サポート装置400の画面上においてユーザデータの入力がユーザに求められる。ユーザが、ユーザデータとして、たとえば、ユーザ情報(たとえば、アカウント名)およびパスワードを入力すると、図13に示すように、サポート装置400は、メモリカード300にユーザデータを送信する(ステップ(1))。
メモリカード300は、自身が保持するユーザデータ1360と、サポート装置400から取得したユーザデータとを照合し、両者が一致すれば、自身が保持する証明書データ1370をスロット1のPLC100bに送信する(ステップ(2))。なお、メモリカード300は、ユーザデータを認証できなければ、証明書データ1370を送信しない。
一方、スロット1のPLC100bは、証明書データ1370に基づき、メモリカード300がメーカによる正当な製品であると判断すると、メモリカード300を認証した旨の認証データをメモリカード300に送信する(ステップ(3))。なお、スロット1のPLC100は、メモリカード300がメーカによる正当な製品であると判断できなければ、認証データを送信しない。
また、スロット1のPLC100bは、自身が保持するユーザデータ1160と、サポート装置400から取得したユーザデータとを照合し、両者が一致すれば、自身が保持する証明書データ1170をメモリカード300に送信する(ステップ(4))。なお、スロット1のPLC100bは、ユーザデータを認証できなければ、証明書データ1170を送信しない。
一方、メモリカード300は、証明書データ1170に基づき、スロット1のPLC100bがメーカによる正当な製品であると判断すると、PLC100bを認証した旨の認証データをPLC100bに送信する(ステップ(5))。なお、メモリカード300は、スロット1のPLC100bがメーカによる正当な製品であると判断できなければ、認証データを送信しない。
ステップ(1)~(5)の処理によって、スロット1のPLC100bによるメモリカード300の認証、およびメモリカード300によるスロット1のPLC100bの認証が完了する。
その後、スロット1のPLC100bは、モデル照合のために、自身が保持する識別データ1180(型式「A」)を、スロット2~スロット5の各ユニット200bに送信する(ステップ(6))。また、スロット1のPLC100bは、モデル照合のために、自身が保持する識別データ1180(型式「A」)を、メモリカード300に送信する(ステップ(7))。
また、スロット2~スロット5の各ユニット200bは、モデル照合のために、自身が保持する識別データ2180(型式「B」,「B」,「C」,「C」)を、メモリカード300に送信する(ステップ(8))。また、メモリカード300は、モデル照合のために、自身が保持する識別データ1380(型式「X」)を、スロット2~スロット5の各ユニット200bに送信する(ステップ(9))。さらに、スロット2~スロット5の各ユニット200bは、モデル照合のために、自身が保持する識別データ2180を、他のユニット200bに送信する(ステップ(10))。
ステップ(6)~(10)の処理によって、メモリカード300、スロット1のPLC100b、およびスロット2~スロット5の各ユニット200bは、各メンバーの識別データ(型式)を取得する。
その後、メモリカード300、スロット1のPLC100b、およびスロット2~スロット5の各ユニット200bは、各メンバーから取得した識別データ(型式)と、自身が保持するリストに格納された各メンバーの型式とを照合する(ステップ(11))。
図8および図9の例で説明したように、メンバーのうちの一のメンバー(たとえば、最も早く各メンバーの照合結果を集めたメンバー)によって、型式を用いた照合の結果の一致度合いが高いと判断されると、メモリカード300は、PLC100bによるバックアップデータのアクセスを有効にして、バックアップデータをスロット1のPLC100bに送信する(ステップ(12))。
そして、スロット1のPLC100bは、メモリカード300から取得したバックアップデータに基づき、リストアを実行する(ステップ(13))。
なお、図13に示す例では、モデル照合の結果の一致度合いが高いと判断された場合に、メモリカード300からスロット1のPLC100bにバックアップデータが送信されたが、これに限らず、PLC100bおよびメモリカード300による相互の認証が完了した後に、メモリカード300からスロット1のPLC100bにバックアップデータが送信されてもよい。この場合、モデル照合の結果の一致度合いが高いと判断されない限り、スロット1のPLC100bによるリストアの実行が禁止されるようにすればよい。
このように、PLC100bによってメモリカード300が受け入れられた際、当該PLC100b以外の他のメンバーの各々によって実行される型式の照合の結果、各メンバー間で照合結果の一致度合いが高いときに、メモリカード300に記憶されたバックアップデータのアクセスが有効になるため、着脱可能なメモリカード300におけるバックアップデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
さらに、型式が同じである一方でシリアルナンバーが異なるメンバー構成であってもメモリカード300に記憶されたバックアップデータのアクセスを有効にすることができ、着脱可能な記憶媒体におけるバックアップデータのアクセスに関するセキュリティの向上と、ユーザの利便性の向上とのバランスを取ることができる。
また、メモリカード300が盗難されたときに限らず、誤って異なる構成であるシステムにメモリカード300が挿入された場合でも、上述したようなアクセス認証処理(モデル照合)によって許可されなければメモリカード300のデータにデバイスからアクセスできないため、メモリカード300の誤挿入も防止することができる。
<G.付記>
以上のように、本実施の形態では以下のような開示を含む。
(構成1)
複数のデバイス(100,200-1~200-4)が互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御システム(1)であって、
前記複数のデバイスに含まれかつデータを記憶する記憶媒体(300)を着脱可能に受け入れる第1のデバイス(100)と、
前記複数のデバイスに含まれる1または複数の第2のデバイス(200-1~200-4)とを備え、
前記複数のデバイスおよび前記記憶媒体の各メンバーは、
前記各メンバーに関する関連情報を含むリスト(300L,100L,200-1L~200-4L)を保持する記憶領域(1332,1132,2162)と、
他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報を照合する照合手段(図12のステップ(15),図13のステップ(11))とを有し、
前記第1のデバイスは、当該第1のデバイス以外の前記他のメンバー各々の前記照合手段による照合結果が所定の条件を満たしたときに、前記記憶媒体に記憶されたデータのアクセスを有効にする、制御システム(1)。
(構成2)
前記第1のデバイスは、秘匿化された専用のロジックを含む読込部(1130)を有しており、
前記記憶媒体は、前記読込部からのみアクセス可能に構成されている、構成1の制御システム(1)。
(構成3)
前記関連情報は、前記各メンバーを個別に識別するシリアルナンバーを含み、
前記照合手段は、前記他のメンバー各々から取得した当該他のメンバー各々の前記シリアルナンバーに対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記シリアルナンバーを照合する、構成1または構成2の制御システム(1)。
(構成4)
前記関連情報は、前記各メンバーの型式を含み、
前記照合手段は、前記他のメンバー各々から取得した当該他のメンバー各々の前記型式に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記型式を照合する、構成1または構成2の制御システム(1)。
(構成5)
前記デバイス群を支援するサポート装置(400)を備え、
前記関連情報は、前記各メンバーを個別に識別するシリアルナンバーと、前記各メンバーの型式とを含み、
前記照合手段は、
前記他のメンバー各々から取得した当該他のメンバー各々の前記シリアルナンバーに対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記シリアルナンバーを照合する第1の照合手段(図12のステップ(15))と、
前記他のメンバー各々から取得した当該他のメンバー各々の前記型式に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記型式を照合する第2の照合手段(図13のステップ(11))とを含み、
前記サポート装置は、前記第1の照合手段による照合および前記第2の照合手段による照合のいずれかを選択するためのユーザインターフェース(454)を提供する、構成1または構成2の制御システム(1)。
(構成6)
前記デバイス群を支援するサポート装置(400)を備え、
前記サポート装置は、前記第1のデバイス以外の前記他のメンバーのうち、前記照合手段による照合対象となる前記メンバーの数を設定するためのユーザインターフェース(455)を提供する、構成1~構成5のいずれかの制御システム(1)。
(構成7)
前記デバイス群を支援するサポート装置(400)を備え、
前記サポート装置は、前記メンバーの適用範囲を設定するためのユーザインターフェース(456)を提供する、構成1~構成6のいずれかの制御システム(1)。
(構成8)
複数のデバイス(100,200-1~200-4)が互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御方法(図12,図13)であって、
前記複数のデバイスには、データを記憶する記憶媒体(300)を着脱可能に受け入れる第1のデバイス(100)と、1または複数の第2のデバイス(200-1~200-4)とが含まれ、
前記複数のデバイスおよび前記記憶媒体の各メンバーは、前記各メンバーに関する関連情報を含むリスト(300L,100L,200-1L~200-4L)を保持する記憶領域(1332,1132,2162)を有し、
前記制御方法は、
前記各メンバーに、他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報を照合させるステップ(図12のステップ(15),図13のステップ(11))と、
前記第1のデバイスに、当該第1のデバイス以外の前記他のメンバー各々による照合結果が所定の条件を満たしたときに、前記記憶媒体に記憶されたデータのアクセスを有効にさせるステップ(図12のステップ(16),図13のステップ(12))とを含む、制御方法。
(構成9)
複数のデバイス(100,200-1~200-4)が互いに通信可能に構成されたデバイス群に含まれかつデータのアクセスを制御する制御デバイスで(100)あって、
前記データを記憶する記憶媒体(300)を着脱可能に受け入れる受入部(103)を備え、
前記複数のデバイスおよび前記記憶媒体の各メンバーは、
前記各メンバーに関する関連情報を含むリスト(300L,100L,200-1L~200-4L)を保持する記憶領域(1332,1132,2162)と、
他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報とを照合する照合手段(図12のステップ(15),図13のステップ(11))とを有し、
前記制御デバイスは、当該制御デバイス以外の前記他のメンバー各々の前記照合手段による照合結果が所定の条件を満たしたときに、前記記憶媒体に記憶されたデータのアクセスを有効にする、制御デバイス(100)。
<H.利点>
本実施の形態に係る制御システム1によれば、PLC100によってメモリカード300が受け入れられた際、当該PLC100以外の他のユニット200の各々によって実行される関連情報の照合結果が所定の条件を満たしたときに、メモリカード300に記憶されたデータのアクセスが有効になるため、着脱可能なメモリカード300におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、200 ユニット、2 ネットワーク、4 ローカルバス、100L,200L,300L リスト、102,402,1131,2161 プロセッサ、103,113 メモリカードインターフェース、104,404 メインメモリ、105 USBコネクタ、106,406,1132,2162 ストレージ、108,416 ネットワークコントローラ、130,418 プロセッサバス、140 制御プログラム、210 機能モジュール、220 ローカルバスコントローラ、300 メモリカード、400 サポート装置、408 入力部、410 表示部、412 光学ドライブ、414 記録媒体、450 画面、451 ユーザ情報欄、452 ユーザ認証方法欄、453 パスワード欄、454 照合方法欄、455 セキュリティ強度欄、456 適用範囲欄、1060 システムプログラム、1065,2150 リストア用プログラム、1130,2130 セキュリティユニット、1133,2163 メモリ、1134,1135 IOモジュール、1136 メモリカードコントローラ、1150 読込プログラム、1160,1360,2160 ユーザデータ、1170,1370,2170,3170 証明書データ、1180,1380,2180 識別データ、1331 データエリア、1332 セキュアエリア、1335 データ、1336 セキュリティコントローラ、4062 サポートプログラム。

Claims (9)

  1. 複数のデバイスが互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御システムであって、
    前記複数のデバイスに含まれかつデータを記憶する記憶媒体を着脱可能に受け入れる第1のデバイスと、
    前記複数のデバイスに含まれる1または複数の第2のデバイスとを備え、
    前記複数のデバイスおよび前記記憶媒体の各メンバーは、
    前記各メンバーに関する関連情報を含むリストを保持する記憶領域と、
    他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報を照合する照合手段とを有し、
    前記第1のデバイスと当該第1のデバイス以外の前記他のメンバーとでは、前記リストの内容が異なり、かつ、前記他のメンバー間では前記リストの内容が同じである場合において、当該第1のデバイスおよび当該第1のデバイス以外の前記他のメンバー各々の前記照合手段による照合結果が所定の条件を満たしたと判定し、前記記憶媒体に記憶されたデータの前記第1のデバイスによるアクセスを有効にする、制御システム。
  2. 前記第1のデバイスは、秘匿化された専用のロジックを含む読込部を有しており、
    前記記憶媒体は、前記読込部からのみアクセス可能に構成されている、請求項1に記載の制御システム。
  3. 前記関連情報は、前記各メンバーを個別に識別するシリアルナンバーを含み、
    前記照合手段は、前記他のメンバー各々から取得した当該他のメンバー各々の前記シリアルナンバーに対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記シリアルナンバーを照合する、請求項1または請求項2に記載の制御システム。
  4. 前記関連情報は、前記各メンバーの型式を含み、
    前記照合手段は、前記他のメンバー各々から取得した当該他のメンバー各々の前記型式に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記型式を照合する、請求項1または請求項2に記載の制御システム。
  5. 前記デバイス群を支援するサポート装置を備え、
    前記関連情報は、前記各メンバーを個別に識別するシリアルナンバーと、前記各メンバーの型式とを含み、
    前記照合手段は、
    前記他のメンバー各々から取得した当該他のメンバー各々の前記シリアルナンバーに対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記シリアルナンバーを照合する第1の照合手段と、
    前記他のメンバー各々から取得した当該他のメンバー各々の前記型式に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記型式を照合する第2の照合手段とを含み、
    前記サポート装置は、前記第1の照合手段による照合および前記第2の照合手段による照合のいずれかを選択するためのユーザインターフェースを提供する、請求項1または請求項2に記載の制御システム。
  6. 前記デバイス群を支援するサポート装置を備え、
    前記サポート装置は、前記第1のデバイスおよび当該第1のデバイス以外の前記他のメンバーのうち、前記照合手段による照合対象となる前記メンバーの数を設定するためのユーザインターフェースを提供する、請求項1~請求項5のいずれか1項に記載の制御システム。
  7. 前記デバイス群を支援するサポート装置を備え、
    前記サポート装置は、前記メンバーの適用範囲を設定するためのユーザインターフェースを提供する、請求項1~請求項6のいずれか1項に記載の制御システム。
  8. 複数のデバイスが互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御方法であって、
    前記複数のデバイスには、データを記憶する記憶媒体を着脱可能に受け入れる第1のデバイスと、1または複数の第2のデバイスとが含まれ、
    前記複数のデバイスおよび前記記憶媒体の各メンバーは、前記各メンバーに関する関連情報を含むリストを保持する記憶領域を有し、
    前記制御方法は、
    前記各メンバーに、他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報を照合させるステップと、
    前記第1のデバイスと当該第1のデバイス以外の前記他のメンバーとでは、前記リストの内容が異なり、かつ、前記他のメンバー間では前記リストの内容が同じである場合において、当該第1のデバイスおよび当該第1のデバイス以外の前記他のメンバー各々による照合結果が所定の条件を満たしたと判定し、前記記憶媒体に記憶されたデータの前記第1のデバイスによるアクセスを有効にさせるステップとを含む、制御方法。
  9. 複数のデバイスが互いに通信可能に構成されたデバイス群に含まれかつデータのアクセスを制御する制御デバイスであって、
    前記データを記憶する記憶媒体を着脱可能に受け入れる受入部を備え、
    前記複数のデバイスおよび前記記憶媒体の各メンバーは、
    前記各メンバーに関する関連情報を含むリストを保持する記憶領域と、
    他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報とを照合する照合手段とを有し、
    前記制御デバイスと当該制御デバイス以外の前記他のメンバーとでは、前記リストの内容が異なり、かつ、前記他のメンバー間では前記リストの内容が同じである場合において、当該制御デバイスおよび当該制御デバイス以外の前記他のメンバー各々の前記照合手段による照合結果が所定の条件を満たしたと判定し、前記記憶媒体に記憶されたデータの前記制御デバイスによるアクセスを有効にする、制御デバイス。
JP2019046799A 2019-03-14 2019-03-14 制御システム、制御方法、および制御デバイス Active JP7505862B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019046799A JP7505862B2 (ja) 2019-03-14 2019-03-14 制御システム、制御方法、および制御デバイス
PCT/JP2020/005276 WO2020184036A1 (ja) 2019-03-14 2020-02-12 制御システム、制御方法、および制御デバイス
EP20769699.8A EP3940470A4 (en) 2019-03-14 2020-02-12 CONTROL SYSTEM, CONTROL METHOD, AND CONTROL DEVICE
CN202080017752.2A CN113518951B (zh) 2019-03-14 2020-02-12 控制***、控制方法以及控制设备
US17/434,189 US20220164464A1 (en) 2019-03-14 2020-02-12 Control system, method, and control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019046799A JP7505862B2 (ja) 2019-03-14 2019-03-14 制御システム、制御方法、および制御デバイス

Publications (2)

Publication Number Publication Date
JP2020149404A JP2020149404A (ja) 2020-09-17
JP7505862B2 true JP7505862B2 (ja) 2024-06-25

Family

ID=72426378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019046799A Active JP7505862B2 (ja) 2019-03-14 2019-03-14 制御システム、制御方法、および制御デバイス

Country Status (4)

Country Link
US (1) US20220164464A1 (ja)
EP (1) EP3940470A4 (ja)
JP (1) JP7505862B2 (ja)
WO (1) WO2020184036A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230308439A1 (en) * 2022-03-22 2023-09-28 Cisco Technology, Inc. Distributed hierarchical authentication of system component identities

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006106998A (ja) 2004-10-04 2006-04-20 Yokogawa Electric Corp Plc構成モジュールのセーブ手段及びロード手段

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
JP2002099344A (ja) * 2000-07-14 2002-04-05 Mitsubishi Electric Corp プログラムの不正コピー検出方法及びプログラムの不正コピー検出装置並びにアプリケーションプログラムの記憶媒体及びネットワークプロトコル対応ユニットの記憶媒体
US20030018804A1 (en) * 2001-03-28 2003-01-23 Amruth Laxman Method and apparatus for deriving a standard MAC address from physical location
JP3548829B2 (ja) * 2002-01-10 2004-07-28 オムロン株式会社 ユニット及びplc並びにユーザプログラムの処理方法
CN100347687C (zh) * 2003-03-18 2007-11-07 富士通株式会社 信息访问控制方法、访问控制程序和外部记录介质
KR20090033191A (ko) * 2006-07-07 2009-04-01 쌘디스크 코포레이션 메모리 디바이스로부터 공급된 정보를 제어하기 위한 시스템과 방법
JP2011215814A (ja) 2010-03-31 2011-10-27 Keyence Corp プログラマブルコントローラ、設定値バックアップ・リストアシステム、及び設定値バックアップ・リストアユニット
US20110264688A1 (en) * 2010-04-26 2011-10-27 International Business Machines Corporation Peer to peer (p2p) data licensing model in a distributed abstract query environment
US20120331526A1 (en) * 2011-06-22 2012-12-27 TerraWi, Inc. Multi-level, hash-based device integrity checks
US9152534B2 (en) * 2012-11-16 2015-10-06 Tata Consultancy Services Limited System and method for validating configuration settings
US10657526B2 (en) * 2016-10-28 2020-05-19 International Business Machines Corporation System and method to dynamically setup a private sub-blockchain based on agility of transaction processing
US10164983B2 (en) * 2017-01-20 2018-12-25 Verizon Patent And Licensing Inc. Distributed authentication for internet-of-things resources
US20220058259A1 (en) * 2019-01-07 2022-02-24 Nec Corporation Information processing device, verification system, and information processing method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006106998A (ja) 2004-10-04 2006-04-20 Yokogawa Electric Corp Plc構成モジュールのセーブ手段及びロード手段

Also Published As

Publication number Publication date
JP2020149404A (ja) 2020-09-17
WO2020184036A1 (ja) 2020-09-17
EP3940470A1 (en) 2022-01-19
US20220164464A1 (en) 2022-05-26
CN113518951A (zh) 2021-10-19
EP3940470A4 (en) 2022-11-23

Similar Documents

Publication Publication Date Title
US8600064B2 (en) Apparatus, method, and computer program product for processing information
US8707423B2 (en) Programmable display device, and control system
TWI435192B (zh) 控制裝置及管理裝置
CN101523399A (zh) 基于用户认证修改完整性度量的方法和***
US20120266238A1 (en) Computer Including at Least One Connector for a Replaceable Storage Medium, and Method for Starting and Operating a Computer Via a Replaceable Storage Medium
US20240094925A1 (en) Methods for restricting read access to supply chips
JP7505862B2 (ja) 制御システム、制御方法、および制御デバイス
JP5164372B2 (ja) 遊技機制御用チップ及びそのromライタ
TW201128333A (en) Programmable controller and programming device
CN113518951B (zh) 控制***、控制方法以及控制设备
JPH10327140A (ja) 暗号処理装置及びその方法
JP4757503B2 (ja) Macアドレスを有する着脱型デバイスを用いたライセンス認証システム及び方法
JP7073733B2 (ja) 制御装置、データ書き込み方法及びプログラム
JP2019105940A (ja) ストレージ制御装置およびストレージ制御方法
JP3636750B2 (ja) 情報記録媒体のセキュリティ検証作業支援装置
JP3971754B2 (ja) 数値制御装置
JP6524365B1 (ja) プログラマブル表示器、システムおよび認証方法
CN107368743B (zh) 信息处理设备和信息处理方法
US9633229B2 (en) Semiconductor device module, license setting method and medium having license setting program recorded therein
JP2023102493A (ja) 情報処理装置
CN118171262A (zh) 用于安全启动的镜像数据组织方法及装置、电子设备
KR20050119283A (ko) 보안키의 복구가 가능한 컴퓨터 및 그 제어방법
JP2014225138A (ja) 数値制御装置および数値制御装置認証システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220920

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230323

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20230323

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230330

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20230404

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20230421

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20230425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240613

R150 Certificate of patent or registration of utility model

Ref document number: 7505862

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150