JP2022108027A - Control apparatus, management method and security program - Google Patents
Control apparatus, management method and security program Download PDFInfo
- Publication number
- JP2022108027A JP2022108027A JP2021002808A JP2021002808A JP2022108027A JP 2022108027 A JP2022108027 A JP 2022108027A JP 2021002808 A JP2021002808 A JP 2021002808A JP 2021002808 A JP2021002808 A JP 2021002808A JP 2022108027 A JP2022108027 A JP 2022108027A
- Authority
- JP
- Japan
- Prior art keywords
- identification information
- unit
- control
- security
- information
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims description 70
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000000034 method Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 24
- 238000012795 verification Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 15
- 230000004048 modification Effects 0.000 description 15
- 238000012986 modification Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 15
- 238000005065 mining Methods 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
- Programmable Controllers (AREA)
Abstract
Description
本開示は、制御装置、管理方法およびセキュリティプログラムに関する。 The present disclosure relates to control devices, management methods, and security programs.
様々な製造現場において、PLC(Programmable Logic Controller)などの制御装置が導入されている。このような制御装置は、一種のコンピュータであり、製造装置または製造設備などに応じて設計された制御プログラムを実行する。 Control devices such as PLCs (Programmable Logic Controllers) have been introduced in various manufacturing sites. Such a control device is a kind of computer and executes a control program designed according to a manufacturing device or manufacturing facility.
近年では、既に製造現場での稼働実績のある制御装置から制御プログラムを抜き取り、別の製造現場内で新たな制御装置が作られて、抜き取られた制御プログラムが利用されるという問題が発生している。 In recent years, there has been a problem in which control programs are extracted from control devices that have already been used at manufacturing sites, new control devices are created at other manufacturing sites, and the extracted control programs are used. there is
特開2008-065678号公報(特許文献1)は、このような問題に対処する一の方法を開示する。具体的には、特許文献1は、PLCが、制御プログラムを暗号化したプログラムが設備機器に固有なプログラムであるか否かを判断し、設備機器に固有なプログラムであれば、当該プログラムから制御プログラムを復号し、制御プログラムを実行して設備機器を制御する方法を開示する。
Japanese Patent Laying-Open No. 2008-065678 (Patent Document 1) discloses one method for coping with such a problem. Specifically, in
特許文献1で示された方法では、PLCは、予め入力された識別データと暗号ルールとを格納する記憶手段を備え、当該識別データを用いて、暗号化したプログラムが設備機器に固有なプログラムであるか否かを判断する。暗号化したプログラムが設備機器に固有なプログラムであると判断された場合、PLCは、暗号ルールに従って、暗号化したプログラムを復号することにより制御プログラムを得て、当該制御プログラムを利用する。そのため、暗号化したプログラムだけでなく、識別データおよび暗号ルールも抜き取られた場合、制御プログラムの利用が図られてしまう。すなわち、特許文献1で示された方法では、制御プログラムという知的財産の保護を図る上で改善の余地があった。
In the method disclosed in
本開示は、制御プログラムという知的財産の保護を図ることを一つの目的とする。 One object of the present disclosure is to protect the intellectual property of the control program.
本開示の一例に従うと、1以上のデバイスを含む制御装置は、制御プログラムを実行する制御エンジンと、制御エンジンでの制御プログラムの実行可否を管理するセキュリティエンジンとを備える。セキュリティエンジンは、生成手段と、保持手段と、照合手段と、許可手段とを含む。生成手段は、1以上のデバイスの各々から取得された識別情報を用いて固有情報を生成する。保持手段は、予め生成された第1の固有情報を保持する保持手段と、照合手段は、照合の要求に従って生成手段により生成される第2の固有情報と、第1の固有情報とを照合する。許可手段は、制御プログラムの実行開始要求に応答して、照合の要求を行い、照合手段から得られる照合結果に基づいて、制御プログラムの実行可否を判定する。生成手段は、1以上のデバイスの各々について、当該デバイスの種別を識別する第1の識別情報および当該デバイスを個別に識別する第2の識別情報からセキュリティポリシーに応じて識別情報を選択する。 According to one example of the present disclosure, a control device including one or more devices includes a control engine that executes a control program, and a security engine that manages whether the control engine can execute the control program. The security engine includes generating means, holding means, verification means, and authorization means. The generator generates unique information using identification information obtained from each of the one or more devices. The holding means holds the first unique information generated in advance, and the collating means collates the first unique information with the second unique information generated by the generating means in accordance with the collation request. . The permitting means makes a request for verification in response to the control program execution start request, and determines whether or not the control program can be executed based on the verification result obtained from the verification means. For each of the one or more devices, the generation means selects identification information from first identification information identifying the type of the device and second identification information individually identifying the device according to the security policy.
この構成によれば、セキュリティエンジンは、予め生成された第1の固有情報を基準に、制御プログラムの実行開始要求に応答して生成される第2の固有情報を照合し、その照合結果に応じて制御プログラムの実行可否を判定する。固有情報は、各デバイスの種別を識別する第1の識別情報および各デバイスを個別に識別する第2の識別情報から選択された識別情報から生成される。そのため、制御装置のソフトウェア(第1の固有情報および制御プログラムを含む)およびハードウェアをコピーすることにより新たな制御装置を作製した場合、当該新たな制御装置に含まれるデバイスの識別情報から生成される第2の固有情報は、第1の固有情報と不一致となり得る。その結果、セキュリティエンジンによって管理された環境下とは異なる環境下での制御プログラムの起動を防ぐことができる。すなわち、制御プログラムという知的財産を保護することができる。 According to this configuration, the security engine compares the second unique information generated in response to the control program execution start request based on the previously generated first unique information, and according to the comparison result, to determine whether the control program can be executed. The unique information is generated from identification information selected from first identification information identifying the type of each device and second identification information individually identifying each device. Therefore, when a new control device is created by copying the software (including the first unique information and the control program) and the hardware of the control device, the The second unique information may be inconsistent with the first unique information. As a result, it is possible to prevent activation of the control program under an environment different from the environment managed by the security engine. That is, it is possible to protect the intellectual property of the control program.
さらに、デバイスの種別を識別する第1の識別情報およびデバイスを個別に識別する第2の識別情報からセキュリティポリシーに応じて識別情報が選択される。そのため、制御プログラムの開発者は、制御プログラムに対するセキュリティ対策の優先度を考慮して、セキュリティポリシーを適宜設定できる。その結果、セキュリティエンジンにおけるセキュリティレベルを任意に変更できる。 Further, identification information is selected according to the security policy from the first identification information that identifies the device type and the second identification information that individually identifies the device. Therefore, the developer of the control program can appropriately set the security policy in consideration of the priority of security measures for the control program. As a result, the security level in the security engine can be changed arbitrarily.
上述の開示において、セキュリティポリシーは、第1のポリシー、第2のポリシーおよび第3のポリシーの中から予め設定される。第1のポリシーは、1以上のデバイスの各々について第1の識別情報を選択するポリシーである。第2のポリシーは、1以上のデバイスのうち第1のグループに属する第1のデバイスについて第1の識別情報を選択し、1以上のデバイスのうち、第1のグループよりもセキュリティ対策の優先度の高い第2のグループに属する第2のデバイスについて第2の識別情報を選択するポリシーである。第3のポリシーは、1以上のデバイスの各々について第2の識別情報を選択するポリシーである。 In the above disclosure, the security policy is preset among the first policy, the second policy and the third policy. A first policy is a policy that selects a first identification for each of the one or more devices. A second policy selects first identification information for a first device belonging to a first group among the one or more devices, and prioritizes security measures over the first group among the one or more devices. is a policy of selecting a second identity for a second device belonging to a second group with a higher . A third policy is a policy that selects the second identification for each of the one or more devices.
この開示によれば、開発者は、制御プログラムに対するセキュリティ対策の優先度を考慮して、セキュリティエンジンにおけるセキュリティレベルを任意に変更できる。 According to this disclosure, the developer can arbitrarily change the security level in the security engine in consideration of the priority of security measures for the control program.
上述の開示において、1以上のデバイスの各々は、第2の識別情報を保持する。第2の識別情報は、第1の識別情報と、第1の識別情報によって識別される種別のデバイスの個体に対してユニークに割り当てられる第3の識別情報との組み合わせである。生成手段は、第2の識別情報から第1の識別情報を取得する。この開示によれば、各デバイスは、第2の識別情報のみを記憶しておけばよい。 In the above disclosure, each of the one or more devices carries a second identification. The second identification information is a combination of the first identification information and the third identification information uniquely assigned to the individual device of the type identified by the first identification information. The generation means acquires the first identification information from the second identification information. According to this disclosure, each device need only store the second identification.
上述の開示において、1以上のデバイスは、制御エンジンを有する制御デバイスと、セキュリティエンジンを有するセキュリティデバイスとを含む。 In the above disclosure, one or more devices include a control device with a control engine and a security device with a security engine.
この開示によれば、制御プログラムに対する変更の自由度を満たす必要のある制御エンジンと、セキュリティ上、変更の自由度が好まれないセキュリティエンジンとを、互いに異なるデバイスによって実現することで、各エンジンの特性に応じたデバイス設計を可能にする。 According to this disclosure, a control engine that needs to satisfy the degree of freedom to change the control program and a security engine that does not like the degree of freedom to change from the viewpoint of security are realized by different devices, thereby enabling each engine to Enables device design according to characteristics.
上述の開示において、保持手段は、外部装置との間で、分散型台帳の形式で第1の固有情報を保持する。 In the above disclosure, the holding means holds the first unique information in the form of a distributed ledger with the external device.
この開示によれば、第1の固有情報は、より改竄困難な状態で保持される。これにより、制御プログラムという知的財産のセキュリティレベルを高めることができる。 According to this disclosure, the first unique information is held in a state that is more difficult to falsify. As a result, the security level of the intellectual property of the control program can be increased.
上述の開示において、照合手段は、第2の固有情報と外部装置が保持する第1の固有情報とをさらに照合する。 In the above disclosure, the collating means further collates the second unique information with the first unique information held by the external device.
この開示によれば、不正に制御装置をコピーした第三者は、制御プログラムを実行させるために、外部装置が保持する第1の固有情報を改竄する必要が生じる。そのため、制御プログラムのセキュリティレベルをさらに高めることができる。 According to this disclosure, a third party who illegally copies the control device needs to tamper with the first unique information held by the external device in order to execute the control program. Therefore, the security level of the control program can be further enhanced.
本開示の別の一例によれば、1以上のデバイスを含む制御装置において実行される管理方法は、第1~第4のステップを備える。第1のステップは、予め生成された第1の固有情報を保持するステップである。第2のステップは、制御プログラムの実行開始要求に応答して、1以上のデバイスの各々から取得された識別情報を用いて第2の固有情報を生成するステップである。第3のステップは、第1の固有情報と第2の固有情報とを照合するステップである。第4のステップは、照合結果に基づいて、制御プログラムの実行可否を判定するステップである。第2のステップ(生成するステップ)は、1以上のデバイスの各々について、当該デバイスの種別を識別する第1の識別情報および当該デバイスを個別に識別する第2の識別情報からセキュリティポリシーに応じて識別情報を選択するステップを含む。 According to another example of the present disclosure, a management method performed in a control device including one or more devices comprises first to fourth steps. The first step is to hold pre-generated first unique information. A second step is generating second unique information using identification information obtained from each of the one or more devices in response to a request to start execution of the control program. A third step is a step of collating the first unique information and the second unique information. A fourth step is a step of determining whether or not the control program can be executed based on the collation result. A second step (generating step) includes, for each of one or more devices, first identification information that identifies the type of the device and second identification information that individually identifies the device according to the security policy. Selecting identification information.
本開示の別の一例によれば、セキュリティプログラムは、上記の管理方法をコンピュータに実行させる。 According to another example of the present disclosure, the security program causes the computer to execute the management method described above.
これらの開示によっても、制御プログラムという知的財産の保護を図ることができる。 These disclosures also make it possible to protect the intellectual property of the control program.
本開示によれば、制御プログラムという知的財産の保護を図ることができる。 According to the present disclosure, the intellectual property of the control program can be protected.
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わせてもよい。 Hereinafter, each embodiment according to the present invention will be described with reference to the drawings. In the following description, identical parts and components are given identical reference numerals. Their names and functions are also the same. Therefore, detailed description of these will not be repeated. It should be noted that each embodiment and each modified example described below may be selectively combined as appropriate.
§1.適用例
本実施の形態にかかる制御システムの概略について説明する。図1は、実施の形態に係る制御装置1を適用した場面の一例を示す図である。図1に示されるように、制御装置1は、制御対象を制御するための制御プログラム140と、制御プログラム140を実行する制御エンジン142と、制御エンジン142での制御プログラム140の実行可否を管理するセキュリティエンジン230とを備える。
§1. APPLICATION EXAMPLE An outline of the control system according to the present embodiment will be described. FIG. 1 is a diagram showing an example of a scene in which a
制御装置1は、1以上のデバイスを含む。制御プログラム140が実行されることで各デバイスが制御され、各デバイスが制御されることで、制御対象である製造設備などが制御される。
The
セキュリティエンジン230は、許可部232と、生成部234と、保持部236と、照合部238とを含む。
Security engine 230 includes a permitting
許可部232は、制御エンジン142から制御プログラム140の開始要求を受けて、当該制御プログラム140の実行可否を判断する。
The permitting
生成部234は、制御装置1を構成する1以上のデバイスの各々から取得された識別情報を用いて固有情報を生成する。生成部234は、1以上のデバイスの各々について、当該デバイスの種別を識別する第1の識別情報および当該デバイスを個別に識別する第2の識別情報からセキュリティポリシーに応じて識別情報を選択する。固有情報は、このようにして取得された識別情報を用いて生成されるため、制御装置1の構成が変わることに応じて変化する。
The
保持部236は、制御装置1について予め生成された固有情報20を含む管理情報30を保持する。保持部236は、固有情報20が不正に改竄されることを防止するため、所定条件を満たす場合にのみ管理情報30の更新を許可する。所定条件とは、たとえば予め設定されたアクセスIDおよびパスワードと入力情報とが一致するという条件である。
The holding
照合部238は、照合の要求に従って生成部234によって生成された固有情報22と、管理情報30に含まれる固有情報20とを照合する。照合とは、一致するか否かを判定することを意味する。
The
次に、図1に示すステップ1から順に、制御装置1において実行される制御プログラムの実行可否の管理方法について説明する。なお、図1および以下の説明において、ステップを単に「S」と記す。
Next, a method for managing whether or not a control program executed by the
S1:生成部234は、予め、制御装置1の固有情報20を生成する。保持部236は、予め生成された固有情報20を含む管理情報30を保持する。
S1: The
S2:許可部232は、制御プログラム140の開始要求を受ける。なお、図1に示す例では、制御エンジン142が、開始要求を行うものとしているが、セキュリティエンジン230が開始要求を受け付ける受付部を備えていてもよい。
S2: The permitting
S3:許可部232は、制御プログラム140の開始要求に応じて、照合部238に照合の要求を行う。
S3: In response to the request to start the
S4:照合部238は、照合の要求に応じて、生成部234に対して固有情報22の生成を要求する。
S4: The
S5:生成部234は、生成の要求に応じて、制御装置1が備える1以上のデバイスから識別情報を取得し、取得した識別情報を用いて固有情報22を生成する。生成部234は、各デバイスについて、当該デバイスの種別を識別する第1の識別情報および当該デバイスを個別に識別する第2の識別情報からセキュリティポリシーに応じて識別情報を選択する。なお、生成部234は、1以上のデバイスの全てについて第1の識別情報を選択してもよいし、1以上のデバイスの全てについて第2の識別情報を選択してもよい。あるいは、生成部234は、1以上のデバイスのうちの一部のデバイスについて第1の識別情報を選択し、残りのデバイスについて第2の識別情報を選択してもよい。セキュリティポリシーは、制御装置1に対して予め設定される。
S5: The
S6:照合部238は、管理情報30に含まれている、予め生成された固有情報20と、照合の要求を受けたタイミングで生成された固有情報22とを照合して照合結果を得る。
S6: The
S7:照合部238は、得られた照合結果を許可部232に提供する。許可部232は、提供された照合結果に基づいて、制御プログラム140の実行可否を判定する。具体的には、許可部232は、照合結果が一致を示すことに応じて、制御プログラム140の実行を許可する。許可部232は、照合結果が不一致を示すことに応じて、制御プログラム140の実行を禁止する。
S7: The matching
S8:許可部232は、照合結果に基づいて判定した結果(許可または禁止)を、制御エンジン142に対して提供する。制御エンジン142は、許可部232の判定結果が「許可」である場合に限って、制御プログラム140を実行する。
S8: The
制御装置1によって管理された環境を実現するための制御プログラム140の開発は、制御装置1を利用する会社とは別の会社が行うこともある。このような場合に、制御プログラム140および制御プログラム140を利用できる環境が容易に模倣されてしまうと、制御プログラム140を開発する会社の知的財産を十分に保護することができない。
The
制御装置1を模倣する場合、制御プログラム140を実行するために、制御装置1のハードウェアおよびソフトウェアの双方がコピーされる。ソフトウェアがコピーされるということは、制御プログラム140だけでなく、制御エンジン142およびセキュリティエンジン230を動作させるためのシステムプログラムもコピーされる。さらに、ソフトウェアのコピーにより、セキュリティエンジン230によって保持されている管理情報30についてもコピーされる。
When mimicking the
一方、ハードウェアについては、制御装置1を構成する各デバイスに代わるデバイスを設置することにより、制御装置1が模倣される。制御装置1を模倣した別の制御装置では、制御装置1とは異なるデバイスから取得された識別情報を用いて固有情報22が生成される。そのため、固有情報22は、コピーされた管理情報30に含まれる固有情報20と不一致となり得る。特に、少なくとも1つのデバイスについて第2の識別情報を取得するようにセキュリティポリシーを設定することにより、固有情報22は、固有情報20と一致しない。あるいは、制御装置1を構成する少なくとも1つのデバイスについて、当該デバイスと同じ機能を有する別の機種のデバイスを用いて模倣した場合、当該デバイスについて第1の識別情報を取得したとしても、固有情報22は、固有情報20と一致しない。その結果、セキュリティエンジン230によって管理された環境下とは異なる環境下での制御プログラム140の起動を防ぐことができる。すなわち、制御プログラム140という知的財産を保護することができる。
On the other hand, as for hardware, the
なお、制御装置1を模倣した別の制御装置において、各デバイスの識別情報を改竄することにより、固有情報22が固有情報20と一致し得る。しかしながら、制御装置1を構成するデバイスの個数は数十となることもあり、このような場合に、数十のデバイスすべてについて、当該デバイスの識別情報を改竄する必要が生じる。そのため、制御プログラム140によって管理される制御装置1を模倣するには、多くの労力を要することとなる。
In another control device imitating the
また、本実施の形態では、デバイスの種別を識別する第1の識別情報およびデバイスを個別に識別する第2の識別情報からセキュリティポリシーに応じて識別情報が選択される。たとえば、制御プログラム140の開発者は、故障や定期メンテナンスなどで交換が想定されるデバイスについて、第1の識別情報を選択することによりセキュリティ対策の優先度を低くしてもよい。これにより、開発者は、デバイス交換などの保守性と知的財産保護とのバランスをとることができる。
Further, in the present embodiment, identification information is selected from the first identification information for identifying the device type and the second identification information for individually identifying the device according to the security policy. For example, the developer of the
§2.具体例
<A.制御システム>
図2は、本実施の形態に係る制御装置1を含む制御システム10の全体構成を示す模式図である。図2を参照して、制御システム10は、1以上の制御装置1と、上位機器3とを備える。
§2. Specific example <A. Control system>
FIG. 2 is a schematic diagram showing the overall configuration of a control system 10 including the
制御装置1は、制御対象を制御する。制御対象は、生産工程を自動化するための種々の産業用機器を含み、製造装置や生産ラインなど(以下、「フィールド」とも総称する。)に対して何らかの物理的な作用を与える装置と、フィールドとの間で情報を遣り取りする入出力装置とを含む。なお、生産ライン全体を制御対象としてもよい。
The
制御装置1は、情報系ネットワーク2を介して、上位機器3および他の制御装置1と通信可能に接続される。情報系ネットワーク2は、たとえば、EtherNet/IP(登録商標)または、ベンダやOS(Operating System)の種類などに依存することなくデータ交換を実現することができるOPC UA(Object Linking and Embedding for Process Control Unified Architecture)などの通信規格に従ったネットワークである。
The
制御装置1は、1以上のデバイスを含む。図2に示す例では、制御装置1は、制御ユニット100、セキュリティユニット200、I/O(Input/Output)ユニット300、通信カプラ400などから構成される。なお、以下では、制御装置1を構成する各ユニットおよび通信カプラを総じて「デバイス」とも称する。
The
制御ユニット100は、制御装置1を構成する制御デバイスの一例であって、制御対象を制御するための制御プログラムを実行し、制御装置1において中心的な処理を実行する。
The
セキュリティユニット200は、制御装置1を構成するセキュリティデバイスの一例であって、制御ユニット100での制御プログラムの実行可否を管理する。制御プログラムの実行可否の管理方法は、後述する。
The
制御ユニット100とセキュリティユニット200との間は、たとえば、任意のデータ伝送路(例えば、PCI ExpressあるいはEtherNet/IP(登録商標)など)を介して接続されている。
I/Oユニット300は、制御装置1を構成するデバイスの一例であって、一般的な入出力処理に関するユニットである。I/Oユニット300は、各種センサ、各種スイッチ、エンコーダなどを含むIOデバイスから検出値を収集する。
The I/
制御ユニット100とI/Oユニット300とは、内部バスを介して通信可能に接続されている。制御ユニット100は、I/Oユニット300により収集された検出値を用いて制御プログラムの演算を実行し、演算結果の値をI/Oユニット300に出力する。
The
通信カプラ400は、フィールドネットワーク4を介して制御ユニット100と通信可能に接続される。通信カプラ400は、フィールドネットワーク4でのデータ伝送にかかる処理を行う。通信カプラ400は、たとえば、内部バスを介して1または複数のI/Oユニット300と通信可能に接続される。通信カプラ400に接続された1または複数のI/Oユニット300の各々により収集された検出値は、フィールドネットワーク4を介して制御ユニット100に出力される。
フィールドネットワーク4としては、典型的には、各種の産業用イーサネット(登録商標)を用いることができる。産業用イーサネット(登録商標)としては、例えば、EtherCAT(登録商標)、Profinet IRT、MECHATROLINK(登録商標)-III、Powerlink、SERCOS(登録商標)-III、CIP Motionなどが知られており、これらのうちのいずれを採用してもよい。さらに、産業用イーサネット(登録商標)以外のフィールドネットワークを用いてもよい。例えば、モーション制御を行わない場合であれば、DeviceNet、CompoNet/IP(登録商標)などを用いてもよい。
As the
制御装置1を構成する各デバイスは、識別情報40を有する。典型的には、識別情報40は、SGTIN(Serialized Global Trade Item Number)のような個体識別コードである。
Each device that configures the
なお、制御装置1を構成するデバイスは、図2に示したデバイスに限られない。制御装置1を構成するデバイスは、たとえば、電源を供給する電源ユニット、I/Oユニット300ではサポートしない機能を有する特殊ユニット、設備や機械などによって人の安全が脅かされることを防止するためのセーフティ機能を提供するセーフティユニットなどを含み得る。また、制御装置1を構成するデバイスは、たとえば、制御ユニット100または他のユニットでの制御演算によって得られる各種情報をオペレータへ提示するとともに、オペレータからの操作に従って、制御ユニット100または他のユニットに対して内部コマンドなどを生成するHMI(Human Machine Interface)を含み得る。
Note that the devices that configure the
上位機器3は、制御システム100内のサーバ、またはクラウドサーバ等のような外部サーバ、または制御装置1に比較して高い性能を備えたPLC、または産業用のコンピュータ(所謂IPC:Industrial Personal Computer)として構成される。
The
<B.ハードウェア構成>
本実施の形態に従う制御装置1を構成する主なデバイスのハードウェア構成例について説明する。
<B. Hardware configuration>
A hardware configuration example of main devices constituting
(b1.制御ユニット)
図3は、本実施の形態に従う制御装置1を構成する制御ユニット100のハードウェア構成例を示す模式図である。図3を参照して、制御ユニット100は、主たるコンポーネントとして、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、通信コントローラ110と、USBコントローラ112と、メモリカードインターフェイス114と、フィールドネットワークコントローラ116と、内部バスコントローラ118と、情報系ネットワークコントローラ120とを含む。
(b1. Control unit)
FIG. 3 is a schematic diagram showing a hardware configuration example of
プロセッサ102は、二次記憶装置108またはメモリカード115に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、制御対象を制御するための制御演算、および、後述するような、制御プログラムの実行開始要求にかかる処理を実現する。
The
主記憶装置106は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。二次記憶装置108は、例えば、HDD(Hard Disc Drive)またはSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。
The
チップセット104は、プロセッサ102と各コンポーネントとの間のデータの遣り取りを仲介することで、制御ユニット100全体としての処理を実現する。
The
二次記憶装置108には、制御ユニット100の基本的な機能を実現するためのシステムプログラム1082に加えて、設備や機械などの制御対象に応じて作成される制御プログラム140と、制御ユニット100を識別するための識別情報40とが格納されている。
In the
システムプログラム1082には、認証プログラム130が組み込まれている。認証プログラム130は、制御プログラム140を起動する際に実行されるプログラムであって、セキュリティユニット200に向けて、起動する制御プログラム140の実行の許可を要求するためのプログラムである。また、システムプログラム1082は、制御プログラム140を実行する制御エンジンとしての機能を提供する。
The
制御プログラム140は、たとえば、基本的なアルゴリズムがプログラム開発会社によって作成された知的財産である。たとえば、ユーザは、制御装置1に応じてパラメータを設定することで、プログラム開発会社により提供された制御プログラム140を実行可能な環境を整える。
通信コントローラ110は、セキュリティユニット200との間のデータの遣り取りを担当する。通信コントローラ110としては、例えば、PCI Expressあるいはイーサネット(登録商標)などに対応する通信チップを採用できる。
The
USBコントローラ112は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。任意の情報処理装置は、たとえば、制御プログラム140の作成または編集、デバッグ、各種パラメータの設定などの機能をユーザに提供するサポート装置などを含む。
The
メモリカードインターフェイス114は、記憶媒体の一例であるメモリカード115を着脱可能に構成される。メモリカードインターフェイス114は、メモリカード115に対して制御プログラム140や各種設定などのデータを書込み、あるいは、メモリカード115から制御プログラム140や各種設定などのデータを読出すことが可能になっている。
The
フィールドネットワークコントローラ116は、フィールドネットワーク4を介した他の装置との間のデータの遣り取りを制御する。
内部バスコントローラ118は、内部バスを介した他の装置(I/Oユニット300など)との間のデータの遣り取りを制御する。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
The
情報系ネットワークコントローラ120は、情報系ネットワーク2を介した他の制御装置1との間のデータの遣り取りを制御する。
The information
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、制御ユニット100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
FIG. 3 shows a configuration example in which necessary functions are provided by the
(b2.セキュリティユニット)
図4は、本実施の形態に従う制御装置1を構成するセキュリティユニット200のハードウェア構成例を示す模式図である。図4を参照して、セキュリティユニット200は、主たるコンポーネントとして、CPUやGPUなどのプロセッサ202と、チップセット204と、主記憶装置206と、二次記憶装置208と、通信コントローラ210と、USBコントローラ212と、メモリカードインターフェイス214と、情報系ネットワークコントローラ220とを含む。
(b2. security unit)
FIG. 4 is a schematic diagram showing a hardware configuration example of
プロセッサ202は、二次記憶装置208またはメモリカード215に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、制御ユニット100での制御プログラムの実行可否を管理する機能を実現する。主記憶装置206は、DRAMまたはSRAMなどの揮発性記憶装置などで構成される。二次記憶装置208は、例えば、HDDまたはSSDなどの不揮発性記憶装置などで構成される。
The
チップセット204は、プロセッサ202と各コンポーネントとの間のデータの遣り取りを仲介することで、セキュリティユニット200全体としての処理を実現する。
The
二次記憶装置208には、セキュリティユニット200の基本的な機能を実現するためのシステムプログラム2082に加えて、識別情報40および管理情報30が格納されている。
The
システムプログラム2082には、セキュリティプログラム240が組み込まれている。セキュリティプログラム240は、制御装置1において実行される制御プログラム140の実行可否を管理するためのプログラムである。すなわち、セキュリティプログラム240は、制御プログラム140の実行可否を管理するセキュリティエンジンとしての機能を提供する。
A
管理情報30は、制御装置1を構成する1以上のデバイスから取得した識別情報40を用いて生成される固有情報を管理するための情報である。固有情報は、制御プログラム140の実行を許可するか否かを判定する際の基準となる情報として利用される。固有情報については、後述する。
The
通信コントローラ210は、制御ユニット100との間のデータの遣り取りを担当する。通信コントローラ210としては、制御ユニット100に通信コントローラ210と同様に、例えば、PCI Expressあるいはイーサネット(登録商標)などに対応する通信チップを採用できる。
The
USBコントローラ212は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。任意の情報処理装置は、たとえば、セキュリティプログラム240の設定などの機能をユーザに提供するサポート装置などを含む。
The
メモリカードインターフェイス214は、記憶媒体の一例であるメモリカード215を着脱可能に構成される。メモリカードインターフェイス214は、メモリカード215に対してプログラムや各種設定などのデータを書込み、あるいは、メモリカード215からプログラムや各種設定などのデータを読出すことが可能になっている。
The
情報系ネットワークコントローラ220は、情報系ネットワーク2を介した他の制御装置1との間のデータの遣り取りを制御する。情報系ネットワークコントローラ220は、イーサネット(登録商標)などの汎用的なネットワークプロトコルを採用してもよい。
The information
図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、セキュリティユニット200の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
FIG. 4 shows a configuration example in which necessary functions are provided by the
なお、図3および図4を参照して、制御装置1は、情報系ネットワーク2へ、制御ユニット100の情報系ネットワークコントローラ120を介して接続されていてもよく、また、セキュリティユニット200の情報系ネットワークコントローラ220を介して接続されていてもよい。本実施の形態において、制御装置1は、セキュリティユニット200の情報系ネットワークコントローラ220を介して接続されているものとして説明する。
3 and 4, the
<C.識別情報>
図5は、制御装置1に含まれる各デバイスが有する識別情報40の一例を示す図である。図5には、SGTINである識別情報40が示される。SGTINは、流通システム標準化機関GS1によって標準化された電子タグに書き込むための識別コードの1つであり、商品用の個別識別コードである。識別情報40は、デバイスを個別に識別するため、第2の識別情報である。
<C. Identification information>
FIG. 5 is a diagram showing an example of
図5に示されるように、識別情報40は、デバイスの種別を識別する商品識別コードである識別情報42と、当該識別情報42によって識別される種別のデバイスの個体に対してユニークに割り当てられるシリアル番号44(第3の識別情報)との組み合わせである。識別情報42は、デバイスの種別を識別するため、第1の識別情報である。
As shown in FIG. 5,
識別情報42は、流通システム標準化機関GS1によって標準化された商品識別コードGTIN(Global Trade Item Number)である。GTINは、インジケータと、事業者コードと、商品アイテムコードと、チェックデジットとによって構成される。
The
<D.セキュリティポリシー>
制御プログラム140の開発者は、制御プログラム140に対するセキュリティポリシーを設定する。なお、セキュリティポリシーの設定は、制御プログラム140の開発者に限定されず、他の者によって実行されてもよい。セキュリティポリシーは、セキュリティプログラム240に予め設定される。
<D. Security Policy>
A developer of
本実施の形態では、セキュリティポリシーは、以下のポリシー(A)~(C)の中から予め設定される。
ポリシー(A):全てのデバイスについて識別情報40(第2の識別情報)を選択する。
ポリシー(B):第1のグループに属する第1のデバイスについて識別情報42(第1の識別情報)を選択し、第1のグループよりもセキュリティ対策の優先度の高い第2のグループに属する第2のデバイスについて識別情報40(第2の識別情報)を選択する。
ポリシー(C):全てのデバイスについて識別情報42(第1の識別情報)を選択する。
In this embodiment, the security policy is set in advance from the following policies (A) to (C).
Policy (A): Select identification information 40 (second identification information) for all devices.
Policy (B): Select identification information 42 (first identification information) for a first device belonging to a first group, and select a second group belonging to a second group having a higher priority for security measures than the first group. The identification information 40 (second identification information) is selected for the second device.
Policy (C): Select identification information 42 (first identification information) for all devices.
たとえば、開発者は、制御プログラム140が模倣される可能性が高く、かつ、制御プログラム140のセキュリティレベルを高めたい場合、ポリシー(A)を設定する。開発者は、制御プログラム140が模倣される可能性が低い場合、あるいは、制御プログラム140の知的財産としての価値が高くない場合、ポリシー(B)またはポリシー(C)を設定する。
For example, the developer sets policy (A) when there is a high possibility that the
ポリシー(B)を設定する場合、開発者は、第1のグループに属するデバイスの商品識別コードGTIN(識別情報42)と、第2のグループに属するデバイスの商品識別コードGTIN(識別情報42)とを予め設定する。 When setting policy (B), the developer sets the product identification code GTIN (identification information 42) of the device belonging to the first group and the product identification code GTIN (identification information 42) of the device belonging to the second group. is set in advance.
<E.制御プログラムの実行可否の判断方法の概略>
図6は、制御プログラム140の実行可否の判断方法の流れを示す図である。なお、図6に示す例では、図面を簡略にするため、制御装置1を構成する制御ユニット100およびセキュリティユニット200以外のユニット(I/Oユニット300、通信カプラ400など)の記載を省略している。
<E. Outline of Method for Determining Whether Control Program is Executable>
FIG. 6 is a diagram showing the flow of a method for determining whether the
制御ユニット100は、まず、セキュリティユニット200に向けて制御プログラム140の実行可否判定を要求する(図中の(1))。
First, the
制御ユニット100からの判定要求を受けて、セキュリティユニット200は、制御装置1を構成する1以上のデバイスから識別情報40の収集を行う(図中の(2))。
Upon receiving the determination request from the
セキュリティユニット200は、予め設定されたセキュリティポリシーに従って、各デバイスの識別情報40(SGTIN)および識別情報40に含まれる識別情報42(GTIN)のうちの一方を選択する(図中の(3))。上記のポリシー(A)が設定されている場合、セキュリティユニット200は、全てのデバイスについて、識別情報40を選択する。上記のポリシー(B)が設定されている場合、セキュリティユニット200は、第1のグループに設定されている商品識別コードGTINに対応するデバイスについて識別情報42を選択する。さらに、セキュリティユニット200は、第2のグループに設定されている商品識別コードGTINに対応するデバイスについて識別情報40を選択する。上記のポリシー(C)が設定されている場合、セキュリティユニット200は、全てのデバイスについて、識別情報42を選択する。
The
セキュリティユニット200は、各デバイスについて選択された識別情報(識別情報40または識別情報42)に基づいて、固有情報22としてシステムハッシュ値を生成する(図中の(4))。システムハッシュ値は、制御装置1を構成するデバイスのうちセキュリティユニット200を除く他のデバイスの識別情報40を引数とし、公知のハッシュ関数を利用することで得られる。
The
セキュリティユニット200は、識別情報40を用いて生成された固有情報22(システムハッシュ値)と管理情報30によって管理されている固有情報20とを照合し、一致するか否かを判定する(図中の(5))。
The
図中の(5)において、新たに生成された固有情報22と、管理情報30によって管理されている固有情報20とを照合し、一致する場合、制御装置1は、正規に管理された装置であることが保証される。一方、一致しない場合、制御装置1は、管理情報30によって管理されていない制御装置である可能性がある。
In (5) in the figure, the newly generated unique information 22 and the
セキュリティユニット200は、(5)の処理で得られた照合結果に基づいて、(1)で要求された制御プログラム140の実行可否判定を行う(図中の(6))。セキュリティユニット200は、照合結果が「一致」を示すことに応じて、制御プログラム140の実行を許可する。
The
セキュリティユニット200は、制御ユニット100に向けて制御プログラム140の実行可否を示す判定結果を通知する(図中の(7))。
The
<F.機能構成>
図7は、制御ユニット100およびセキュリティユニット200の機能構成の一例を示すブロック図である。図7において、破線の矢印は、指示に関する流れを示す。実線の矢印は、情報の流れを示す。
<F. Functional configuration>
FIG. 7 is a block diagram showing an example of functional configurations of the
図7に示されるように、制御ユニット100は、制御プログラム実行部144と、認証部132とを含む。これらの各機能は、制御ユニット100のプロセッサ102がシステムプログラム1082を実行することで実現する。
As shown in FIG. 7,
制御プログラム実行部144は、制御プログラム140を実行するために機能する。制御プログラム実行部144は、制御プログラム140の実行開始要求を受けて、認証部132に対して、制御プログラム140の認証を要求する。認証とは、制御プログラム140の実行環境が、制御装置1が保持する管理情報30によって管理されている環境であるか否かを認証することであって、制御プログラム140を実行してよい環境であるかを認証することである。
The control
認証部132は、判定要求部134と、識別情報送信部136と、識別情報収集部138とを含む。制御プログラム実行部144から認証の要求を受けると、判定要求部134は、セキュリティユニット200の許可部232に対して、制御プログラム140の実行可否判定を要求する。
識別情報送信部136は、識別情報収集部138が収集した制御装置1を構成する各デバイスの識別情報40をセキュリティユニット200に送信する。
The identification
識別情報収集部138は、セキュリティユニット200の生成部234からの要求を受けて、制御装置1を構成する各デバイスの識別情報40を収集する。識別情報収集部138は、制御プログラム140の実行可否を判定するときに加えて、新たな固有情報(システムハッシュ値)を管理情報30に登録するときにも、セキュリティユニット200から識別情報40の収集を要求される。なお、本実施の形態においては、識別情報収集部138は、制御装置1を構成するデバイスのうち、セキュリティユニット200を除くデバイスの各々から識別情報40を収集する。なお、固有情報であるシステムハッシュ値の生成に用いられる識別情報40に、セキュリティユニット200の識別情報40を含めてもよい。
The identification
認証部132は、制御プログラム実行部144から制御プログラム140の認証が要求された後、セキュリティユニット200の許可部232から制御プログラム140の実行可否の判定結果を受ける。認証部132は、セキュリティユニット200から受けた判定結果に従った処理をする。認証部132は、実行を許可できる旨の判定結果を得た場合、制御プログラム実行部144に向けて、制御プログラム140の実行を開始するように通知する。一方、認証部132は、実行が許可できない旨の判定結果を得た場合、制御プログラム実行部144に向けて、制御プログラム140の実行を禁止するよう指示する。
After receiving a request for authentication of the
セキュリティユニット200は、許可部232と、生成部234と、保持部236と、照合部238とを含む。これらの各機能は、セキュリティユニット200のプロセッサ202がセキュリティプログラム240を実行することで実現する。
許可部232は、判定部2322と照合要求部2324とを含む。判定部2322は、判定部2322が含まれるセキュリティユニット200の照合部238および他のセキュリティユニット200の照合部238から得られる照合結果に基づいて、制御プログラム140の実行を許可するか否かを判定し、判定結果を制御ユニット100の認証部132に通知する。照合要求部2324は、照合部238に対して、固有情報の照合を要求する。
生成部234は、固有情報であるシステムハッシュ値を生成する。生成部234は、収集要求部2342とシステムハッシュ値演算部2344とを含む。
The
収集要求部2342は、照合部238から、または、保持部236からシステムハッシュ値の生成を要求されたときに機能する。照合部238は、照合を開始するときにシステムハッシュ値の生成を要求する。保持部236は、たとえば、制御装置1が正規に変更された場合など、制御装置1を構成するデバイスが変更されて、変更後の制御装置1の固有情報を管理情報30に新たに登録するときにシステムハッシュ値の生成を要求する。収集要求部2342は、制御ユニット100の識別情報収集部138に対して、識別情報40の収集を要求する。
The
システムハッシュ値演算部2344は、識別情報送信部136から送られた各デバイスの識別情報40を用いてシステムハッシュ値を生成する。システムハッシュ値演算部2344は、典型的には、公知のハッシュ関数に利用されるアルゴリズムを利用してシステムハッシュ値を生成する。
The system
システムハッシュ値演算部2344は、予め設定されているセキュリティポリシーに従って、識別情報40(SGTIN)および識別情報40の一部である識別情報42(GTIN)の中から、システムハッシュ値の生成に用いる識別情報を選択する。システムハッシュ値演算部2344は、各デバイスについて選択した識別情報(識別情報40または識別情報42)を用いて、固有情報としてシステムハッシュ値を生成する。
The system hash
システムハッシュ値演算部2344は、照合部238からシステムハッシュ値の生成が要求されている場合には、照合部238に生成したシステムハッシュ値を送る。また、システムハッシュ値演算部2344は、保持部236からシステムハッシュ値の生成が要求されている場合には、保持部236に生成したシステムハッシュ値を送る。
The system hash
保持部236は、保持部236からの要求に応じて生成された固有情報20(システムハッシュ値)を含む管理情報30を保持する。保持部236は、登録部2362を含む。
The holding
登録部2362は、制御装置1を構成するデバイスが変更され、変更後の制御装置1の固有情報20を新たに管理情報30内に登録し、当該固有情報20の管理を開始するときに機能する。登録部2362は、予め設定されたアクセスIDおよびパスワードと入力情報とが一致するという条件が満たされたことに応じて、処理を開始する。
The
登録部2362は、生成部234に向けて固有情報20の生成を要求する。登録部2362は、生成部234が生成した固有情報20を管理情報30の一部として登録する。
The
保持部236は、照合部238からの要求に応じて、管理情報30に含まれる固有情報22を照合部238に送信する。
The holding
照合部238は、照合要求部2324の要求を受けて、生成部234に対して、固有情報22の生成を要求する。また、照合部238は、照合要求部2324の要求を受けて、保持部236に対して、管理情報30に含まれる固有情報20の送信を要求する。照合部238は、システムハッシュ値演算部2344から送られた固有情報22と、保持部236から送られた固有情報20とを照合し、照合した結果を判定部2322に送る。
The
<G.シーケンス図>
図8は、本実施の形態における、制御プログラム140の実行開始要求を受けたときの処理手順を示すシーケンス図である。なお、以下では、シーケンスを単に「SQ」と記載する。
<G. Sequence diagram>
FIG. 8 is a sequence diagram showing a processing procedure when a request to start execution of
SQ102において、制御ユニット100は、制御プログラムの開始要求をセキュリティユニット200に向けて通知する。
In SQ102, the
SQ104において、セキュリティユニット200は、識別情報40の収集を制御ユニット100に向けて要求する。
At SQ104, the
SQ106において、制御ユニット100は、制御装置1を構成する各デバイスの識別情報40をセキュリティユニット200に向けて送る。
At
SQ108において、セキュリティユニット200は、セキュリティポリシーに従って、各デバイスについて識別情報40(SGTIN)および識別情報40の一部である識別情報42(GTIN)のうちの1つの識別情報を選択する。
At SQ108, the
SQ110において、セキュリティユニット200は、各デバイスについて選択された識別情報を用いて固有情報22(システムハッシュ値)を生成する。
At SQ110, the
SQ112において、セキュリティユニット200は、生成された固有情報22と、管理情報30内の固有情報20(システムハッシュ値)とを照合して照合結果を得る。
In SQ112, the
SQ114において、セキュリティユニット200は、SQ112によって得られる照合結果に基づいて、制御プログラムの実行の可否を判定する。具体的には、セキュリティユニット200は、照合結果が「一致」を示すことに応じて、制御プログラムの実行を許可する。一方、セキュリティユニット200は、照合結果が「不一致」を示すことに応じて、制御プログラムの実行を禁止する。
In SQ114, the
S116において、セキュリティユニット200は、制御ユニット100に向けて判定結果を通知する。
In S116, the
<H.変形例>
(h1.変形例1)
セキュリティエンジン230の保持部236は、他の装置との間で、分散型台帳の形式で管理情報30を保持してもよい。たとえば、管理情報30は、上位機器3との間で、分散型台帳の形式で保持される。この場合、管理情報30は、公知の分散型台帳技術を利用して制御装置1および上位機器3によって管理および共有される。あるいは、管理情報30は、他の制御装置1との間で、分散型台帳の形式で保持されてもよい。この場合、管理情報30は、公知の分散型台帳技術を利用して複数の制御装置1によって管理および共有される。あるいは、管理情報30は、クラウド上において、分散型台帳の形式で保持されてもよい。管理情報30は、分散型台帳の形式で保持されるため、改竄されにくくなる。
<H. Variation>
(h1. Modification 1)
The holding
図9は、分散型台帳の形式で保持される管理情報30の一例を示す図である。図9に示されるように、管理情報30は、ひと繋ぎの複数のブロック50で構成される。各ブロック50は、あるタイミングにおける制御装置1の構成から得られる固有情報20(システムハッシュ値)を少なくとも含む。ブロック50は、制御装置1を構成するデバイスに変更が生じた場合に生成される。各ブロック50内の情報は更新されることがなく、新たなブロック50は、最新のブロック50に関連して生成される。
FIG. 9 is a diagram showing an example of
具体的には、各ブロック50は、ブロックハッシュ値52と、システム構成情報54と、ナンス56とを含む。システム構成情報54は、セキュリティユニット200の識別情報40と、当該セキュリティユニット200を含む制御装置1の固有情報20(システムハッシュ値)とを含む。
Specifically, each
ブロックハッシュ値52は、前ブロックの情報を示すユニークな情報である。ブロックハッシュ値52は、たとえば、前ブロックの情報を引数とし、公知のハッシュ関数に従って得られた戻り値である。
The
図9には、ブロック50-1から順にブロック50-nまでが管理情報30に含まれている状況で、制御装置1のデバイス構成に変更が生じ、新たなブロック50-n+1が管理情報30に追加されたときの管理情報30が示される。ブロック50-n+1は、ブロックハッシュ値52-nを含む。ブロックハッシュ値52-nは、ブロック50-nの情報を引数とし、公知のハッシュ関数に従って得られた戻り値である。
In FIG. 9, the
ナンス56は、ブロック50を新たに生成する際に生成される数値であって、ブロック50が生成される度に生成される数値である。ナンス56は、ブロック50ごとにユニークな値となる。
The nonce 56 is a numerical value generated when the
図10は、新たなブロック50が生成される際に機能するセキュリティユニット200の機能構成を示す図である。なお、図7を参照して説明した機能については、再度の説明を省略する。また、図10には、ブロック50-nまで格納されており、制御装置1を構成するデバイスが変更されたことに基づいて、新たにブロック50-n+1が格納されるときのデータの流れが示されている。また、図10に示す例では、管理情報30は、上位機器3との間で分散型台帳の形式で保持される。
FIG. 10 is a diagram showing the functional configuration of the
上述のように、生成部234の収集要求部2342は、保持部236からの固有情報20(システムハッシュ値)の生成要求を受けて、制御ユニット100に対して識別情報40の収集を要求する。システムハッシュ値演算部2344は、制御ユニット100から送られた、制御装置1を構成する各デバイスの識別情報40に基づいて、固有情報20を生成する。
As described above, the
保持部236の登録部2362は、配布部236Aと、マイニング部236Bと、ブロックハッシュ値演算部236Cとを含む。システムハッシュ値演算部2344は、生成した固有情報20を配布部236Aに送る。
上位機器3は,マイニング部236Dと、ブロックハッシュ値演算部236Eと、管理情報30とを備える。
The
配布部236Aは、固有情報20と、セキュリティユニット200の識別情報40とからシステム構成情報54を生成し、マイニング部236Bと上位機器3とに配布する。
The
登録部2362のマイニング部236Bは、上位機器3のマイニング部236Dと協働してブロック50-n+1を生成する。
The mining unit 236B of the
登録部2362のブロックハッシュ値演算部236Cは、管理情報30に最後に登録されたブロック50からブロックハッシュ値52を生成する。図8に示す例では、最後に登録されたブロック50は、ブロック50-nであるから、ブロック50-nに基づいてブロックハッシュ値52-nが生成される。同様に、上位機器3のブロックハッシュ値演算部236Eも、管理情報30に最後に登録されたブロック50からブロックハッシュ値52を生成する。
A block hash
登録部2362のマイニング部236Bは、システム構成情報54およびブロックハッシュ値52-nに基づいて、生成するブロック50から得られる情報が所定の条件を満たすようにナンス56を設定してブロック50を生成する。なお、このように、ナンス56を設定して所定の条件を満たすブロック50を生成する処理は、マイニングと呼ばれる。上位機器3のマイニング部236Dもマイニングを行う。マイニング部236B,236Dのうち、最も早くに所定の条件を満たすナンス56を見つけたマイニング部が生成したブロック50が、制御装置1および上位機器3の各々の管理情報30に格納される。
Based on the
すなわち、システム構成情報54を生成した主体と、ブロック50を生成した主体とは、異なる場合がある。
That is, the entity that generated the
このように、ブロック50は、制御装置1および上位機器3の各々の管理情報30に格納される。すなわち、制御装置1および上位機器3の各々の管理情報30は、改ざんされない限り、共通している。
Thus, the
管理情報30に含まれる各ブロック50は、前のブロック50に基づいて得られるブロックハッシュ値52を含む。すなわち、一つのブロック50を改ざんした場合に、連鎖的に他のブロック50も改ざんする必要が生じることとなり、管理情報30の改竄には、多くの労力を要する。すなわち、管理情報30は、改竄困難な情報であるといえる。このような改竄困難な管理情報30に含まれる固有情報20を照合対象とすることにより、制御プログラム140の不正な複製利用を抑制できる。
Each
なお、一のブロック50を生成する方法は、図9および図10を参照して説明した方法に限られない。一のブロック50を生成する方法は、任意に設計されるものであってもよい。
The method for generating one
たとえば、制御装置1のセキュリティレベルに応じて、ブロック50の生成方法は選択されてもよい。たとえば、制御装置1のセキュリティレベルが高い場合、ブロック50を生成する過程のセキュリティレベル(透明性、厳格性)を下げることができる。一方、制御装置1のセキュリティレベルが低い場合、ブロック50を生成する過程のセキュリティレベル(透明性、厳格性)を上げる必要がある。
For example, the method of generating
具体的には、プライベート型またはコンソーシアム型のブロックチェーン技術を利用して分散型台帳の形式で管理情報30が保持されている場合、合意形成のハードルを下げ、合意形成に要する時間、すなわち、一のブロック50を生成して管理情報30に格納するまでに要する時間を短くできる。一方、パブリック型のブロックチェーン技術を利用して分散型台帳の形式で管理情報30が保持されている場合、合意形成のハードルを上げる必要がある。
Specifically, when the
図11は、変形例1における、制御プログラム140の実行開始要求を受けたときの処理手順を示すシーケンス図である。なお、図11において、図8と共通するSQ番号は、共通の処理であるものとする。以下、図8と異なる処理についてのみ説明する。すなわち、SQ102~SQ112,SQ116の処理は、図8と共通しており、追加されたSQ120~SQ126について説明する。
FIG. 11 is a sequence diagram showing a processing procedure when receiving a request to start execution of the
具体的には、SQ112のあとのSQ120において、セキュリティユニット200は、上位機器3に向けて、SQ110で生成した固有情報22(システムハッシュ値)を送信する。
Specifically, in SQ120 after SQ112, the
SQ122において、上位機器3は、管理情報30内の最新のブロック50に含まれる固有情報20と固有情報22とを照合して照合結果を得る。
In SQ122, the
SQ124において、上位機器3は、SQ122で得られた照合結果をセキュリティユニット200に向けて送信する。
In SQ124, the
SQ126において、セキュリティユニット200は、SQ112の照合結果とSQ124で得られた照合結果とに基づいて、制御プログラムの実行の可否を判定する。具体的には、セキュリティユニット200は、2つの照合結果のいずれも「一致」を示すことに応じて、制御プログラムの実行を許可する。一方、セキュリティユニット200は、2つの照合結果の少なくとも一方が「不一致」を示すことに応じて、制御プログラムの実行を禁止する。
In SQ126, the
たとえば、制御装置1を不正に模倣することにより別の制御装置が生成された場合に、当該別の制御装置が保持する管理情報30が改竄され、当該別の制御装置の固有情報20が管理情報30内に登録されたものとする。この場合に、当該別の制御装置のセキュリティプログラムは、自装置内の管理情報30だけでなく、上位機器3の管理情報30との間でも照合を行う。そのため、上位機器3の管理情報30についても改竄しなければ制御プログラムの実行が許可されないため、セキュリティレベルを上げることができる。
For example, when another control device is generated by illegally imitating the
(h2.変形例2)
変形例2は、変形例1と同様に、管理情報30が他の装置(たとえば上位機器3)との間で分散型台帳の形式で保持される例であり、制御プログラム140の実行開始要求を受けたときの処理手順の点で異なる。
(h2. Modification 2)
Similar to
図12は、変形例2における、制御プログラム140の実行開始要求を受けたときの処理手順の別の例を示すシーケンス図である。図12において、図11と共通するSQ番号は、共通の処理であるものとする。図12に示されるように、変形例2では、SQ112が省略され、SQ126の代わりにSQ128が実行される。
FIG. 12 is a sequence diagram showing another example of the processing procedure when a request to start execution of the
SQ128では、セキュリティユニット200は、SQ124で得られた照合結果に基づいて、制御プログラムの実行の可否を判定する。具体的には、セキュリティユニット200は、照合結果が「一致」を示すことに応じて、制御プログラムの実行を許可する。一方、セキュリティユニット200は、照合結果が「不一致」を示すことに応じて、制御プログラムの実行を禁止する。
At SQ128, the
このように、変形例2によれば、照合結果は、制御装置1が保持している管理情報30内の固有情報20と照合することで得られるものではなく、他の装置(たとえば上位機器3)が保持している管理情報30内の固有情報20と照合することにより得られる。
Thus, according to
制御装置1を不正に模倣することにより別の制御装置を設置する場合に、当該別の制御装置内のデータを改竄するよりも、上位機器3内のデータを改竄することの方が困難である。そのため、変形例2によれば、上位機器3の管理情報30についても改竄しなければ制御プログラムの実行が許可されないため、セキュリティレベルを上げることができる。
When another control device is installed by illegally imitating the
(h3.その他の変形例)
上記実施の形態において、制御プログラムを実行するプロセッサ102と、セキュリティプログラムを実行するプロセッサ202とは、互いに異なるデバイスが備えているものとした。なお、一のデバイスが、セキュリティプログラムを実行するプロセッサ202と、制御プログラムを実行するプロセッサ102とを備えていてもよい。
(h3. Other Modifications)
In the above embodiment, the
§3.付記
以上のように、上記の実施の形態および変形例による開示は以下のような開示を含む。
§3. Additional Notes As described above, the disclosure according to the above embodiments and modifications includes the following disclosures.
<構成1>
1以上のデバイスを含む制御装置(1)であって、
制御プログラム(140)を実行する制御エンジン(142)と、
前記制御エンジンでの前記制御プログラムの実行可否を管理するセキュリティエンジン(230)とを備え、
前記セキュリティエンジンは、
前記1以上のデバイスの各々から取得された識別情報を用いて固有情報を生成する生成手段(234)と、
予め生成された第1の固有情報を保持する保持手段(236)と、
照合の要求に従って前記生成手段により生成される第2の固有情報と、前記第1の固有情報とを照合する照合手段(238)と、
前記制御プログラムの実行開始要求に応答して、前記照合の要求を行い、前記照合手段から得られる照合結果に基づいて、前記制御プログラムの実行可否を判定する許可手段(232)とを含み、
前記生成手段は、前記1以上のデバイスの各々について、当該デバイスの種別を識別する第1の識別情報(42)および当該デバイスを個別に識別する第2の識別情報(42)からセキュリティポリシーに応じて前記識別情報を選択する、制御装置。
<
A controller (1) comprising one or more devices,
a control engine (142) that executes a control program (140);
a security engine (230) that manages whether or not the control program can be executed by the control engine;
The security engine is
generating means (234) for generating unique information using identification information obtained from each of said one or more devices;
holding means (236) for holding pre-generated first unique information;
collation means (238) for collating the first unique information with the second unique information generated by the generating means according to a collation request;
a permitting means (232) for making the verification request in response to the control program execution start request and determining whether or not the control program can be executed based on the verification result obtained from the verification means;
The generating means, for each of the one or more devices, according to a security policy from first identification information (42) for identifying the type of the device and second identification information (42) for individually identifying the device. to select the identification information.
<構成2>
前記セキュリティポリシーは、第1のポリシー、第2のポリシーおよび第3のポリシーの中から予め設定され、
前記第1のポリシーは、前記1以上のデバイスの各々について前記第1の識別情報を選択するポリシーであり、
前記第2のポリシーは、前記1以上のデバイスのうち第1のグループに属する第1のデバイスについて前記第1の識別情報を選択し、前記1以上のデバイスのうち、前記第1のグループよりもセキュリティ対策の優先度の高い第2のグループに属する第2のデバイスについて前記第2の識別情報を選択するポリシーであり、
前記第3のポリシーは、前記1以上のデバイスの各々について前記第2の識別情報を選択するポリシーである、構成1に記載の制御装置。
<
the security policy is preset from among a first policy, a second policy and a third policy;
the first policy is a policy for selecting the first identification information for each of the one or more devices;
The second policy selects the first identification information for a first device belonging to a first group among the one or more devices, and selects the first identification information among the one or more devices than the first group. A policy for selecting the second identification information for a second device belonging to a second group having a high security measure priority;
The controller of
<構成3>
前記1以上のデバイスの各々は、前記第2の識別情報を保持し、
前記第2の識別情報は、前記第1の識別情報と、前記第1の識別情報によって識別される種別のデバイスの個体に対してユニークに割り当てられる第3の識別情報(44)との組み合わせであり、
前記生成手段は、前記第2の識別情報から前記第1の識別情報を取得する、請求項1または2に記載の制御装置。
<
each of the one or more devices holds the second identification information;
The second identification information is a combination of the first identification information and third identification information (44) uniquely assigned to an individual device of the type identified by the first identification information. can be,
3. The control device according to
<構成4>
前記1以上のデバイスは、前記制御エンジンを有する制御デバイス(100)と、前記セキュリティエンジンを有するセキュリティデバイス(200)とを含む、構成1から3のいずれかに記載の制御装置。
<
4. The controller of any of the configurations 1-3, wherein the one or more devices include a control device (100) having the control engine and a security device (200) having the security engine.
<構成5>
前記保持手段は、外部装置(3)との間で、分散型台帳の形式で前記第1の固有情報を保持する、構成1から4のいずれかに記載の制御装置。
<
5. The control device according to any one of
<構成6>
前記照合手段は、前記第2の固有情報と前記外部装置が保持する前記第1の固有情報とをさらに照合する、構成5に記載の制御装置。
<
The control device according to
<構成7>
1以上のデバイスを含む制御装置(1)において実行される管理方法であって、
予め生成された第1の固有情報を保持するステップ(S1)と、
制御プログラム(140)の実行開始要求に応答して、前記1以上のデバイスの各々から取得された識別情報を用いて第2の固有情報を生成するステップ(S5,SQ108,SQ110)と、
前記第1の固有情報と前記第2の固有情報とを照合するステップ(S6,SQ112)と、
照合結果に基づいて、前記制御プログラムの実行可否を判定するステップ(S8,SQ114)とを備え、
前記生成するステップは、前記1以上のデバイスの各々について、当該デバイスの種別を識別する第1の識別情報および当該デバイスを個別に識別する第2の識別情報からセキュリティポリシーに応じて前記識別情報を選択するステップ(SQ108)を含む、管理方法。
<
A management method performed in a controller (1) comprising one or more devices, comprising:
a step of holding pre-generated first unique information (S1);
generating second unique information using identification information obtained from each of the one or more devices in response to a request to start execution of the control program (140) (S5, SQ108, SQ110);
a step of collating the first unique information and the second unique information (S6, SQ112);
A step (S8, SQ114) of determining whether the control program can be executed based on the collation result,
In the step of generating, for each of the one or more devices, the identification information is generated from first identification information identifying a type of the device and second identification information individually identifying the device according to a security policy. A management method including a step of selecting (SQ108).
<構成8>
1以上のデバイスを含む制御装置(1)において実行される管理方法をコンピュータに実行させるセキュリティプログラム(230)であって、
前記管理方法は、
予め生成された第1の固有情報を保持するステップ(S1)と、
制御プログラム(140)の実行開始要求に応答して、前記1以上のデバイスの各々から取得された識別情報を用いて第2の固有情報を生成するステップ(S5,SQ108,SQ110)と、
前記第1の固有情報と前記第2の固有情報とを照合するステップ(S6,SQ112)と、
照合結果に基づいて、前記制御プログラムの実行可否を判定するステップ(S8,SQ114)とを備え、
前記生成するステップは、前記1以上のデバイスの各々について、当該デバイスの種別を識別する第1の識別情報および当該デバイスを個別に識別する第2の識別情報からセキュリティポリシーに応じて前記識別情報を選択するステップ(SQ108)を含む、セキュリティプログラム。
<Configuration 8>
A security program (230) for causing a computer to execute a management method executed in a controller (1) comprising one or more devices,
The management method is
a step of holding pre-generated first unique information (S1);
generating second unique information using identification information obtained from each of the one or more devices in response to a request to start execution of the control program (140) (S5, SQ108, SQ110);
a step of collating the first unique information and the second unique information (S6, SQ112);
A step (S8, SQ114) of determining whether the control program can be executed based on the collation result,
In the step of generating, for each of the one or more devices, the identification information is generated from first identification information identifying a type of the device and second identification information individually identifying the device according to a security policy. A security program including a selecting step (SQ108).
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組み合わせても、実施することが意図される。 It should be considered that the embodiments disclosed this time are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the scope of the claims rather than the above description, and is intended to include all modifications within the scope and meaning equivalent to the scope of the claims. Also, the inventions described in the embodiments and modifications are intended to be implemented independently or in combination as much as possible.
1 制御装置、2 情報系ネットワーク、3 上位機器、4 フィールドネットワーク、10 制御システム、20 固有情報(第1の固有情報)、22 固有情報(第2の固有情報、30 管理情報、40 識別情報(第2の識別情報)、42 識別情報(第1の識別情報)、44 シリアル番号(第3の識別情報)、50 ブロック、52 ブロックハッシュ値、54 システム構成情報、56 ナンス、100 制御ユニット、102,202 プロセッサ、104,204 チップセット、106,206 主記憶装置、108,208 二次記憶装置、110,210 通信コントローラ、112,212 USBコントローラ、114,214 メモリカードインターフェイス、115,215 メモリカード、116 フィールドネットワークコントローラ、118 内部バスコントローラ、120,220 情報系ネットワークコントローラ、130 認証プログラム、132 認証部、134 判定要求部、136 識別情報送信部、138 識別情報収集部、140 制御プログラム、142 制御エンジン、144 制御プログラム実行部、200 セキュリティユニット、230 セキュリティエンジン、232 許可部、234 生成部、236 保持部、236A 配布部、236B,236D マイニング部、236C,236E ブロックハッシュ値演算部、238 照合部、240 セキュリティプログラム、300 I/Oユニット、400 通信カプラ、1082,2082 システムプログラム、2322 判定部、2324 照合要求部、2342 収集要求部、2344 システムハッシュ値演算部、2362 登録部。 1 control device, 2 information system network, 3 host device, 4 field network, 10 control system, 20 unique information (first unique information), 22 unique information (second unique information, 30 management information, 40 identification information ( second identification information), 42 identification information (first identification information), 44 serial number (third identification information), 50 block, 52 block hash value, 54 system configuration information, 56 nonce, 100 control unit, 102 , 202 processor, 104, 204 chipset, 106, 206 main storage device, 108, 208 secondary storage device, 110, 210 communication controller, 112, 212 USB controller, 114, 214 memory card interface, 115, 215 memory card, 116 field network controller, 118 internal bus controller, 120, 220 information system network controller, 130 authentication program, 132 authentication unit, 134 determination request unit, 136 identification information transmission unit, 138 identification information collection unit, 140 control program, 142 control engine , 144 control program execution unit, 200 security unit, 230 security engine, 232 permission unit, 234 generation unit, 236 holding unit, 236A distribution unit, 236B, 236D mining unit, 236C, 236E block hash value calculation unit, 238 verification unit, 240 security program, 300 I/O unit, 400 communication coupler, 1082, 2082 system program, 2322 determination unit, 2324 collation request unit, 2342 collection request unit, 2344 system hash value calculation unit, 2362 registration unit.
Claims (8)
制御プログラムを実行する制御エンジンと、
前記制御エンジンでの前記制御プログラムの実行可否を管理するセキュリティエンジンとを備え、
前記セキュリティエンジンは、
前記1以上のデバイスの各々から取得された識別情報を用いて固有情報を生成する生成手段と、
予め生成された第1の固有情報を保持する保持手段と、
照合の要求に従って前記生成手段により生成される第2の固有情報と、前記第1の固有情報とを照合する照合手段と、
前記制御プログラムの実行開始要求に応答して、前記照合の要求を行い、前記照合手段から得られる照合結果に基づいて、前記制御プログラムの実行可否を判定する許可手段とを含み、
前記生成手段は、前記1以上のデバイスの各々について、当該デバイスの種別を識別する第1の識別情報および当該デバイスを個別に識別する第2の識別情報からセキュリティポリシーに応じて前記識別情報を選択する、制御装置。 A controller comprising one or more devices,
a control engine that executes a control program;
a security engine that manages whether or not the control program can be executed by the control engine;
The security engine is
generating means for generating unique information using identification information obtained from each of the one or more devices;
holding means for holding pre-generated first unique information;
collation means for collating the first unique information with the second unique information generated by the generating means according to a collation request;
a permitting means for requesting the collation in response to a request to start execution of the control program, and determining whether or not the control program can be executed based on the collation result obtained from the collation means;
The generating means selects, for each of the one or more devices, the identification information from first identification information identifying a type of the device and second identification information individually identifying the device according to a security policy. control device.
前記第1のポリシーは、前記1以上のデバイスの各々について前記第1の識別情報を選択するポリシーであり、
前記第2のポリシーは、前記1以上のデバイスのうち第1のグループに属する第1のデバイスについて前記第1の識別情報を選択し、前記1以上のデバイスのうち、前記第1のグループよりもセキュリティ対策の優先度の高い第2のグループに属する第2のデバイスについて前記第2の識別情報を選択するポリシーであり、
前記第3のポリシーは、前記1以上のデバイスの各々について前記第2の識別情報を選択するポリシーである、請求項1に記載の制御装置。 the security policy is preset from among a first policy, a second policy and a third policy;
the first policy is a policy for selecting the first identification information for each of the one or more devices;
The second policy selects the first identification information for a first device belonging to a first group among the one or more devices, and selects the first identification information among the one or more devices than the first group. A policy for selecting the second identification information for a second device belonging to a second group having a high security measure priority;
The control device according to claim 1, wherein said third policy is a policy for selecting said second identification information for each of said one or more devices.
前記第2の識別情報は、前記第1の識別情報と、前記第1の識別情報によって識別される種別のデバイスの個体に対してユニークに割り当てられる第3の識別情報との組み合わせであり、
前記生成手段は、前記第2の識別情報から前記第1の識別情報を取得する、請求項1または2に記載の制御装置。 each of the one or more devices holds the second identification information;
the second identification information is a combination of the first identification information and third identification information uniquely assigned to an individual device of the type identified by the first identification information;
3. The control device according to claim 1, wherein said generating means acquires said first identification information from said second identification information.
予め生成された第1の固有情報を保持するステップと、
制御プログラムの実行開始要求に応答して、前記1以上のデバイスの各々から取得された識別情報を用いて第2の固有情報を生成するステップと、
前記第1の固有情報と前記第2の固有情報とを照合するステップと、
照合結果に基づいて、前記制御プログラムの実行可否を判定するステップとを備え、
前記生成するステップは、前記1以上のデバイスの各々について、当該デバイスの種別を識別する第1の識別情報および当該デバイスを個別に識別する第2の識別情報からセキュリティポリシーに応じて前記識別情報を選択するステップを含む、管理方法。 A management method executed in a control device including one or more devices,
holding pre-generated first unique information;
generating second unique information using identification information obtained from each of the one or more devices in response to a control program execution start request;
matching the first unique information with the second unique information;
and determining whether or not the control program can be executed based on the collation result,
In the step of generating, for each of the one or more devices, the identification information is generated from first identification information identifying a type of the device and second identification information individually identifying the device according to a security policy. Management method, including steps to select.
前記管理方法は、
予め生成された第1の固有情報を保持するステップと、
制御プログラムの実行開始要求に応答して、前記1以上のデバイスの各々から取得された識別情報を用いて第2の固有情報を生成するステップと、
前記第1の固有情報と前記第2の固有情報とを照合するステップと、
照合結果に基づいて、前記制御プログラムの実行可否を判定するステップとを備え、
前記生成するステップは、前記1以上のデバイスの各々について、当該デバイスの種別を識別する第1の識別情報および当該デバイスを個別に識別する第2の識別情報からセキュリティポリシーに応じて前記識別情報を選択するステップを含む、セキュリティプログラム。 A security program that causes a computer to execute a management method that is executed in a control device that includes one or more devices,
The management method is
holding pre-generated first unique information;
generating second unique information using identification information obtained from each of the one or more devices in response to a control program execution start request;
matching the first unique information with the second unique information;
and determining whether or not the control program can be executed based on the collation result,
In the step of generating, for each of the one or more devices, the identification information is generated from first identification information identifying a type of the device and second identification information individually identifying the device according to a security policy. Security program, including steps to select.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021002808A JP2022108027A (en) | 2021-01-12 | 2021-01-12 | Control apparatus, management method and security program |
PCT/JP2021/009558 WO2022153566A1 (en) | 2021-01-12 | 2021-03-10 | Control device, management method, and security program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021002808A JP2022108027A (en) | 2021-01-12 | 2021-01-12 | Control apparatus, management method and security program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022108027A true JP2022108027A (en) | 2022-07-25 |
Family
ID=82447086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021002808A Pending JP2022108027A (en) | 2021-01-12 | 2021-01-12 | Control apparatus, management method and security program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2022108027A (en) |
WO (1) | WO2022153566A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023149402A1 (en) | 2022-02-03 | 2023-08-10 | 東ソー株式会社 | Water-soluble chelating polymer and method for producing same |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106462694A (en) * | 2014-05-29 | 2017-02-22 | 三菱电机株式会社 | Device control system, device controller, device control method, and program |
JP7238632B2 (en) * | 2019-06-26 | 2023-03-14 | オムロン株式会社 | Control system, control device and management method |
-
2021
- 2021-01-12 JP JP2021002808A patent/JP2022108027A/en active Pending
- 2021-03-10 WO PCT/JP2021/009558 patent/WO2022153566A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023149402A1 (en) | 2022-02-03 | 2023-08-10 | 東ソー株式会社 | Water-soluble chelating polymer and method for producing same |
Also Published As
Publication number | Publication date |
---|---|
WO2022153566A1 (en) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2869395T3 (en) | Procedure and control system to control and/or supervise equipment | |
ES2869256T3 (en) | Procedure and control system for the control and / or supervision of devices | |
CN109074579B (en) | Method and system for protecting computer software using distributed hash table and blockchain | |
JP7162677B2 (en) | Computer-implemented method for supplying data, especially for conformance tracking | |
CN105518687A (en) | Secure data storage | |
US20190080059A1 (en) | Information processing apparatus, information processing method, and computer program product | |
CN111492355B (en) | Method and control system for controlling and/or monitoring a device | |
US11412047B2 (en) | Method and control system for controlling and/or monitoring devices | |
JP7238632B2 (en) | Control system, control device and management method | |
CN104252377B (en) | Virtualized host ID keys are shared | |
US10108786B2 (en) | Process and device for encoding of source files for secure delivery of source code | |
CN111602372B (en) | Method and control system for controlling and/or monitoring a device | |
ES2937007T3 (en) | Method to secure an automated system | |
WO2022153566A1 (en) | Control device, management method, and security program | |
US20220043434A1 (en) | Method for Managing a Production Process | |
US11231958B2 (en) | Method and control system for controlling and/or monitoring devices | |
WO2020195348A1 (en) | Control system, security device, and method | |
JP5797666B2 (en) | Safe execution of computational resources | |
US20220114276A1 (en) | Controlling a data network with respect to a use of a distributed database | |
US9361435B1 (en) | Multi-tier digital supply chain management | |
JP7412835B1 (en) | Arithmetic processing device, arithmetic processing system, arithmetic processing method, and arithmetic processing program | |
WO2020235172A1 (en) | Control device, data disabling program and control system | |
JP7388707B2 (en) | Information processing device, information processing system, information processing method, and program | |
EP3961529A1 (en) | Method, device and system for managing asset data in an industrial plant | |
US20230185968A1 (en) | Method and Secure Element for Detecting a Trusted Electronic Assembly |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240702 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240816 |