JP2019149763A - データの処理方法、制御システム、制御装置 - Google Patents

データの処理方法、制御システム、制御装置 Download PDF

Info

Publication number
JP2019149763A
JP2019149763A JP2018034695A JP2018034695A JP2019149763A JP 2019149763 A JP2019149763 A JP 2019149763A JP 2018034695 A JP2018034695 A JP 2018034695A JP 2018034695 A JP2018034695 A JP 2018034695A JP 2019149763 A JP2019149763 A JP 2019149763A
Authority
JP
Japan
Prior art keywords
control device
data
key
public key
encrypted data
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
Application number
JP2018034695A
Other languages
English (en)
Inventor
拓也 廣田
Takuya Hirota
拓也 廣田
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
Omron Tateisi Electronics Co
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, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2018034695A priority Critical patent/JP2019149763A/ja
Priority to EP18211319.1A priority patent/EP3534228A1/en
Priority to CN201811509676.8A priority patent/CN110209105B/zh
Priority to US16/223,117 priority patent/US20190268144A1/en
Publication of JP2019149763A publication Critical patent/JP2019149763A/ja
Pending legal-status Critical Current

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/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program 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/056Programming the PLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24164Parts of program accesible only during execution, no access with programming tool
    • 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/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24167Encryption, password, user access privileges

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Programmable Controllers (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】制御対象を制御する制御装置においてデータの漏洩を防止する技術を提供する。【解決手段】方法は、秘密鍵および公開鍵を制御装置100が生成するステップと、データに対する公開鍵による暗号化で得られた暗号化データを制御装置100が取得するステップと、制御装置100が処理する場合において、暗号化データに対して制御装置100が秘密鍵で復号化するステップと、暗号化データに対する秘密鍵による復号化で得られたデータを、外部からアクセス不可能な揮発性の記憶領域に制御装置100が記憶するステップと、記憶領域に記憶されたデータを制御装置100が参照して処理を実行するステップとを含む。【選択図】図1

Description

本発明は、制御対象を制御する制御装置においてサポート装置から提供されるデータの処理方法、制御装置と制御装置にデータを提供するサポート装置とを備える制御システム、およびサポート装置から提供されるデータを用いて制御対象を制御する制御装置に関する。
様々な生産現場において、PLC(プログラマブルコントローラ)などの制御装置を用いたFA(Factory Automation)技術が広く普及している。近年の情報通信技術(ICT:Information and Communication Technology)の発展に伴って、このようなFA分野における制御装置においても、従来のシーケンスプログラムだけではなく、各種のアプリケーションプログラムが実行されるようになっている。
このような制御装置におけるプログラムの実行は、予め設定されたタスク周期内で完了させるものであったが、近年では、複数のタスク周期に亘ってプログラムの実行を完了させるものもある。
たとえば、特開2012−194663号公報(特許文献1)は、プログラムを実行することで制御対象を制御するPLCのCPUユニットを開示しており、当該CPUユニットは、制御サイクル内でプログラムの実行を完了させることができない場合に、次の制御サイクルにおいてプログラムの未実行の部分を実行するように構成されている。
特開2012−194663号公報
上述したように、複数のタスク周期に亘ってプログラムを実行する制御装置の登場によって、様々なプログラムが制御装置に用いられるようになってきた。たとえば、コンピュータが処理できるバイナリ形式のプログラムに限らず、人間が作成したソースコードをコンピュータが直接理解して処理できるインタープリタ形式のプログラムも制御装置に用いられるようになってきた。このようなインタープリタ形式のプログラムが制御装置において用いられることは、ユーザにとって非常に利便性がよいが、その反面、そのソースコードが制御装置において直接記憶されるため、外部への漏洩対策が重要である。
本発明は、制御対象を制御する制御装置においてデータの漏洩を防止する技術を提供することを目的とする。
本開示の一例に従えば、制御対象を制御する制御装置においてサポート装置から提供されるデータの処理方法が提供される。方法は、秘密鍵および公開鍵を制御装置が生成するステップと、データに対する公開鍵による暗号化で得られた暗号化データを制御装置が取得するステップと、制御装置が処理する場合において、暗号化データに対して制御装置が秘密鍵で復号化するステップと、暗号化データに対する秘密鍵による復号化で得られたデータを、外部からアクセス不可能な揮発性の記憶領域に制御装置が記憶するステップと、記憶領域に記憶されたデータを制御装置が参照して処理を実行するステップとを含む。
この開示によれば、制御装置が生成した公開鍵を用いて、サポート装置から提供されるデータが暗号化されるため、サポート装置から提供されるデータがそのまま外部に漏洩することを防止することができる。また、制御装置が処理する場合には、制御装置が生成した秘密鍵を用いて制御装置が暗号化データを復号化するとともに、復号化されたデータをアクセス不可能な揮発性の記憶領域に制御装置が記憶するため、復号化されたデータが外部に漏洩することも防止することができる。
上述の開示において、暗号化データは、サポート装置によって提供されたデータを、制御装置が公開鍵を用いて暗号化することで生成される。取得するステップは、制御装置が生成した暗号化データを取得するステップを含む。
この開示によれば、サポート装置から提供されるデータを制御装置が単独で暗号化するため、制御装置が生成した公開鍵を外部に転送する必要がなく、処理を複雑化することなくデータの漏洩を防止することができる。
上述の開示において、暗号化データは、サポート装置が公開鍵を用いてデータを暗号化することで生成される。取得するステップは、サポート装置によって転送された暗号化データを取得することを含む。
この開示によれば、データを提供するサポート装置がデータを暗号化した状態で制御装置に転送するため、転送経路でデータが漏洩することを防止することができ、データの漏洩防止をより強化することができる。
上述の開示において、制御装置は、外部からデータが転送されたこと、外部からの指令を受け付けたこと、および当該制御装置が起動したことの少なくともいずれか一方の条件が成立した場合に、生成するステップを実行する。
この開示によれば、適切なタイミングで制御装置が秘密鍵および公開鍵を生成することができる。
上述の開示において、方法は、公開鍵および秘密鍵の旧鍵ペアが既に記憶されている場合において新たに秘密鍵および公開鍵の新鍵ペアを制御装置が生成するステップと、旧鍵ペアの公開鍵による暗号化で得られた暗号化データを制御装置が旧鍵ペアの秘密鍵で復号化するステップと、旧鍵ペアの秘密鍵による復号化で得られたデータを制御装置が新鍵ペアの公開鍵で暗号化するステップと、新鍵ペアの公開鍵による暗号化で得られた暗号化データを制御装置が記憶するステップと、旧鍵ペアを制御装置が削除するステップとを含む。
この開示によれば、データの暗号化および復号化に用いられる鍵ペアを制御装置が交換することができるため、データの漏洩防止をより強化することができる。
上述の開示において、方法は、公開鍵および秘密鍵の旧鍵ペアが既に記憶されている場合において新たに秘密鍵および公開鍵の新鍵ペアを制御装置が生成するステップと、旧鍵ペアの公開鍵による暗号化で得られた複数の暗号化データのうちから少なくとも一の暗号化データを制御装置が旧鍵ペアの秘密鍵で復号化するステップと、旧鍵ペアの秘密鍵による復号化で得られたデータを制御装置が新鍵ペアの公開鍵で暗号化するステップと、新鍵ペアの公開鍵による暗号化で得られた暗号化データを制御装置が記憶するステップと、旧鍵ペアの公開鍵による暗号化で得られた複数の暗号化データの全てが新鍵ペアの公開鍵で暗号化された場合に、旧鍵ペアを制御装置が削除するステップとを含む。
この開示によれば、複数のデータの暗号化および復号化に用いられる鍵ペアを制御装置が交換することができるため、データの漏洩防止をより強化することができる。
上述の開示において、方法は、旧鍵ペアの公開鍵による暗号化で得られた複数の暗号化データのそれぞれに対応する項目をまとめたリストから、新鍵ペアの公開鍵による暗号化で得られた暗号化データに対応する項目を制御装置が削除するステップと、旧鍵ペアの公開鍵による暗号化で得られた複数の暗号化データの全てが新鍵ペアの公開鍵で暗号化されたことによって全ての項目が削除された場合に、リストを制御装置が削除するステップとを含む。
この開示によれば、リストを用いることで制御装置が過不足なく鍵ペアを交換することができる。また、鍵交換が一旦中断されたとしても、リストを用いることで中断時の状態から制御装置が鍵ペアを交換することができる。
上述の開示において、制御装置は、秘密鍵および公開鍵を生成するときにおける当該制御装置内の環境に依存して変化する値を用いて当該秘密鍵および当該公開鍵を生成する。
この開示によれば、再現性のない値を用いて制御装置が秘密鍵および公開鍵を生成することができるため、データの漏洩防止をより強化することができる。
上述の開示において、制御装置は、データのハッシュ値を、当該データに対応する暗号化データに関連付けて記憶する。
この開示によれば、暗号化データに関連付けられたハッシュ値を照合することで、暗号化データを復号化することなくデータを照合することができるため、照合に要する時間を短縮することができる。
上述の開示において、データは、制御装置が制御対象を制御するプログラムのソースコードである。
この開示によれば、プログラムのソースコードのようなインタープリタ形式のデータが外部に漏洩することを防止することができる。
本開示の別の一例に従えば、制御対象を制御する制御装置と制御装置にデータを提供するサポート装置とを備える制御システムが提供される。制御装置は、秘密鍵および公開鍵を生成する生成手段と、データに対する公開鍵による暗号化で得られた暗号化データを取得する取得手段と、処理する場合において、暗号化データに対して秘密鍵で復号化する復号化手段と、暗号化データに対する秘密鍵による復号化で得られたデータを、外部からアクセス不可能な揮発性の記憶領域に記憶する記憶手段と、記憶領域に記憶されたデータを参照して処理を実行する実行手段とを含む。
この開示によれば、制御装置が生成した公開鍵を用いて、サポート装置から提供されるデータが暗号化されるため、サポート装置から提供されるデータがそのまま外部に漏洩することを防止することができる。また、制御装置が処理する場合には、制御装置が生成した秘密鍵を用いて制御装置が暗号化データを復号化するとともに、復号化されたデータをアクセス不可能な揮発性の記憶領域に制御装置が記憶するため、復号化されたデータが外部に漏洩することも防止することができる。
本開示のさらに別の一例に従えば、サポート装置から提供されるデータを用いて制御対象を制御する制御装置が提供される。制御装置は、秘密鍵および公開鍵を生成する生成手段と、データに対する公開鍵による暗号化で得られた暗号化データを取得する取得手段と、処理する場合において、暗号化データに対して秘密鍵で復号化する復号化手段と、暗号化データに対する秘密鍵による復号化で得られたデータを、外部からアクセス不可能な揮発性の記憶領域に記憶する記憶手段と、記憶領域に記憶されたデータを参照して処理を実行する実行手段とを含む。
この開示によれば、制御装置が生成した公開鍵を用いて、サポート装置から提供されるデータが暗号化されるため、サポート装置から提供されるデータがそのまま外部に漏洩することを防止することができる。また、制御装置が処理する場合には、制御装置が生成した秘密鍵を用いて制御装置が暗号化データを復号化するとともに、復号化されたデータをアクセス不可能な揮発性の記憶領域に制御装置が記憶するため、復号化されたデータが外部に漏洩することも防止することができる。
本発明によれば、制御対象を制御する制御装置においてデータの漏洩を防止する技術を提供することができる。
本実施の形態に係る制御装置においてサポート装置から提供されるデータの処理方法の概要を示す模式図である。 本実施の形態に係る制御システムの全体構成例を示す模式図である。 本実施の形態に係る制御装置のハードウェア構成例を示すブロック図である。 本実施の形態に係るサポート装置のハードウェア構成例を示すブロック図である。 本実施の形態に係る制御装置において制御プログラムのタスク周期に対するアプリケーションプログラムの実行タイミングの一例を説明するためのタイミングチャートである。 本実施の形態に係る制御システムの各種機能を示す機能ブロック図である。 本実施の形態に係る制御システムの鍵生成工程を説明するための機能ブロック図である。 第1実施形態に係る制御システムの暗号化工程を説明するための機能ブロック図である。 第1実施形態に係る制御システムの暗号化工程を説明するためのシーケンス図である。 第2実施形態に係る制御システムの暗号化工程を説明するための機能ブロック図である。 第3実施形態に係る制御システムの暗号化工程を説明するための機能ブロック図である。 第3実施形態に係る制御システムの暗号化工程を説明するためのシーケンス図である。 本実施の形態に係る制御システムの複合化工程を説明するための機能ブロック図である。 本実施の形態に係る制御システムの複合化工程を説明するためのシーケンス図である。 本実施の形態に係る制御システムの鍵交換工程を説明するための機能ブロック図である。 本実施の形態に係る制御システムにおいて旧暗号化データリストの更新例を説明するための図である。 本実施の形態に係る制御装置の鍵交換工程を説明するためのフローチャートである。 本実施の形態に係る制御システムにおいてデータの照合を説明するための模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御装置においてサポート装置から提供されるデータの処理方法の概要を示す模式図である。以下の説明においては、制御装置の一例として、主として、PLC(プログラマブルコントローラ)を想定する。
図1に示すように、本実施の形態に係る制御システム1は、制御装置100とサポート装置200とを備える。制御装置100は、サポート装置200から提供されるデータを参照して所定の処理を実行することで制御対象を制御する。サポート装置200から提供される「データ」には、制御対象を制御する際に用いられるプログラムやパラメータなどが含まれる。これらのデータは、制御装置100の設計者などのユーザによって作成される。
制御装置100によって実行される上述したプログラムには、ユーザプログラムおよびシステムプログラムが含まれる。ユーザプログラムは、制御対象に応じて任意に作成される命令の組み合わせであり、ユーザが任意に作成および修正可能である。ユーザプログラムは、典型的には、国際電気標準会議(International Electrotechnical Commission:IEC)によって規定された国際規格IEC61131−3に従って記述された一または複数の命令からなるソースコードを含む。
これに対して、システムプログラムは、ユーザプログラムを実行するための実行環境や、制御装置100に含まれるハードウェアの制御を実現するためのプログラムである。基本的には、システムプログラムは予め制御装置100にインストールされている。
ユーザプログラムとしては、いずれかのタスクの一部として登録され、かつ当該タスクに設定される一定の制御周期であるタスク周期ごとに繰り返し実行される制御プログラムがある。あるタスク周期において、制御プログラムの先頭から最終までが順次実行され、次のタスク周期においても、制御プログラムの先頭から最終までが順次実行される。
また、ユーザプログラムとしては、あるタスク周期内において予め定められた実行条件が成立すると実行されるアプリケーションプログラムがある。アプリケーションプログラムは、当該アプリケーションプログラムが提供する処理が1タスク周期内で完了できない場合もあり、このような場合には、複数のタスク周期に亘って処理が実行される。
このようなアプリケーションプログラムは、ユーザが任意に作成および修正可能となるように、インタープリタ形式のプログラムであるため、そのソースコードが制御装置100において直接記憶される。このため、ソースコードが制御装置100の外部へ漏洩してしまうと、部外者によって容易にデータを利用されてしまう。
上述したような課題に鑑みて、本実施の形態は、制御対象を制御する制御装置100においてデータの漏洩を防止する技術を提供する。具体的には、本実施の形態においては、公開鍵および秘密鍵を用いた暗号化技術をPLCなどの制御装置100に適用することで、プログラムの漏洩防止を実現している。以下、データの漏洩を防止する技術について具体的に説明する。
まず、図1を参照しながら、データの暗号化工程について説明する。図1に示すように、ステップ1において、サポート装置200から制御装置100に対して、ユーザによって作成されたデータ(プログラムやパラメータなどのデータ)が提供される。
ステップ2において、制御装置100は、公開鍵および秘密鍵のセット(以下、「鍵ペア」とも称する)を生成する。なお、公開鍵および秘密鍵の生成は、一般的に知られている公知の技術を採用すればよいが、その際に用いる因数には、制御装置100内の環境に依存して変化する値を採用することが好ましい。つまり、公開鍵および秘密鍵の生成の際には、再現性のない値を採用することが好ましい。公開鍵および秘密鍵は、電源が供給されなくとも記憶を保持する不揮発性の記憶領域に記憶される。
ステップ3において、サポート装置200から提供されるデータが、制御装置100によって作成された公開鍵を用いて暗号化される。ここでは、制御装置100が公開鍵を用いてサポート装置200から提供されたデータを暗号化してもよいし、サポート装置200が公開鍵を用いてデータを暗号化した上でその暗号化データを制御装置100に転送してもよい。なお、公開鍵を用いた暗号化は、一般的に知られている公知の技術を採用すればよい。
ステップ4において、制御装置100は、暗号化データを取得して記憶する。暗号化データは、不揮発性の記憶部に記憶される。
このようにして、サポート装置200から提供されたデータは、制御装置100またはサポート装置200によって暗号化された上で、制御装置100によって記憶されて保持される。
次に、図1を参照しながら、制御装置100が処理を実行する場合における暗号化データの復号化工程について説明する。図1に示すように、ステップ11において、制御装置100は、不揮発性の記憶部に保持されている暗号化データを、秘密鍵を用いて復号化する。なお、秘密鍵を用いた復号化は、一般的に知られている公知の技術を採用すればよい。
ステップ12において、制御装置100は、復号化したデータを記憶する。復号化されたデータは、電源が供給されないと記憶を保持できない揮発性の記憶領域であって、かつ外部からアクセス不可能な記憶部に記憶される。「外部」とは、制御装置100による処理に用いられるデータを知り得ない領域のことであり、一般的には、当該データの作成ツールを有するサポート装置200とは異なる装置などを想定する。
ステップ13において、制御装置100は、揮発性の記憶部に記憶されたデータを参照して処理を実行することで制御対象を制御する。
このようにして、暗号化データは、制御装置100によって復号化されることで、制御対象を制御する際の処理に用いられる。
<B.制御システムの全体構成例>
まず、本実施の形態に係る制御装置100を含む制御システム1の全体構成例について説明する。図2は、本実施の形態に係る制御システム1の全体構成例を示す模式図である。
図2に示すように、制御システム1の主たる構成要素である制御装置100は、予め用意されたユーザプログラムを実行することで、任意の制御対象を制御する。具体的には、制御装置100は、制御対象から計測値や状態値(以下、「入力データ」とも称す)などを収集するとともに、収集された入力データに基づいて制御演算を実行し、制御演算の実行により得られる指令値や状態値(以下、「出力データ」とも称す)を制御対象へ出力するという、一連の制御処理をサイクリックに実行する。
図2には、制御装置100がフィールドネットワーク2を介して1または複数のデバイス10に接続されている構成例を示す。1または複数のデバイス10は、制御装置100からの出力データに従って制御対象を制御し、制御対象から計測された入力データを制御装置100へ提供する。一例として、デバイス10は、リモートI/O(Input/Output)装置12と、リレー群14と、画像センサ18およびカメラ20と、サーボドライバ22およびサーボモータ24とを含む。
図示は省略するが、リモートI/O装置12は、フィールドネットワーク2を介して通信を行う通信部と、入力データの取得および出力データの出力を行うための入出力部(以下、「I/Oユニット」とも称す。)とを含む。
I/Oユニットは、フィールドネットワーク2に直接接続されるようにしてもよいし、制御装置100の一部に組み込まれてもよい。図2に示す例では、フィールドネットワーク2にI/Oユニット16が直接的に接続されている。
画像センサ18は、カメラ20によって撮像された画像データに対して、パターンマッチングなどの画像計測処理を行って、その処理結果を制御装置100へ送信する。サーボドライバ22は、制御装置100からの出力データ(たとえば、位置指令など)に従って、サーボモータ24を駆動する。
フィールドネットワーク2は、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
制御装置100には、ユーザプログラムの開発やデバッグを行うためのサポート装置200が接続されることもある。サポート装置200により提供される機能の詳細については、後述する。
制御装置100は、上位ネットワーク6を介して、サーバ装置500および表示装置400に接続されている。
サーバ装置500は、制御装置100との間で必要なデータを遣り取りする。サーバ装置500は、たとえば、データベース機能を有しており、制御装置100が出力するイベントログなどを時系列に収集するようにしてもよい。
表示装置400は、ユーザからの操作を受けて、制御装置100に対してユーザ操作に応じたコマンドなどを送信するとともに、制御装置100での演算結果などをグラフィカルに表示する。
<C.各装置のハードウェア構成例>
次に、本実施の形態に係る制御システム1を構成する主要な装置のハードウェア構成例について説明する。
(c1:制御装置100のハードウェア構成例)
次に、本実施の形態に係る制御装置100のハードウェア構成例について説明する。図3は、本実施の形態に係る制御装置のハードウェア構成例を示すブロック図である。
図3に示すように、制御装置100は、プロセッサ102と、メインメモリ104と、ストレージ106と、上位ネットワークコントローラ108と、フィールドネットワークコントローラ110と、外部インターフェイス112とを含む。これらのコンポーネントは、プロセッサバス130を介して互いに接続されている。
プロセッサ102は、制御演算などを実行する演算部に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ106に格納されたプログラムを読み出して、メインメモリ104におけるワーク領域97にプログラムを展開して実行することで、制御対象に応じた制御および処理を実現する。
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ106は、たとえば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。
ストレージ106には、ユーザプログラムを実現するための一または複数の実行モジュール98、および各種のプログラムを格納するためのプログラム領域99が含まれる。たとえば、プログラム領域には、公開鍵および秘密鍵を生成するための生成プログラム、データを暗号化するための暗号化プログラム、暗号化データを復号化するための復号化プログラム、およびデータを用いて処理を実行する実行プログラムなどが格納されている。
上位ネットワークコントローラ108は、上位ネットワーク6を介して、表示装置400やサーバ装置500(図4参照)といった任意の情報処理装置との間でデータを遣り取りする。
フィールドネットワークコントローラ110は、フィールドネットワーク2を介して、フィールドデバイスとの間でデータを遣り取りする。フィールドネットワークコントローラ110は、フィールドネットワーク2を介した定周期通信を行うための通信マスタとして機能する。
外部インターフェイス112は、たとえば、USB(Universal Serial Bus)コントローラやメモリカードインターフェイスなどで構成される。USBコントローラは、USB接続を介して、サポート装置200などとの間でデータを遣り取りする。また、メモリカードインターフェイスは、着脱可能な記録媒体の一例であるメモリカードなどの外部ストレージ300を受け付ける。メモリカードインターフェイスは、外部ストレージ300に対してデータを書き込み、外部ストレージ300から各種データ(ログやトレースデータなど)を読み出すことが可能になっている。
図3に示す例では、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部が、専用のハードウェア回路(たとえば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装されてもよい。あるいは、制御装置100の主要部が、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現されてもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。さらに、制御装置100に表示装置400やサポート装置200などの機能を統合した構成を採用してもよい。
(c2:サポート装置200のハードウェア構成例)
次に、本実施の形態に係るサポート装置200のハードウェア構成例について説明する。図4は、本実施の形態に係るサポート装置200のハードウェア構成例を示すブロック図である。
本実施の形態に係るサポート装置200は、一例として、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコン)を用いてプログラムを実行することで実現される。
図4に示すように、サポート装置200は、CPUやMPUなどのプロセッサ202と、光学ドライブ204と、主記憶装置206と、ストレージ208と、USBコントローラ212と、ネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントは、バス220を介して互いに接続される。
プロセッサ202は、ストレージ208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、各種処理を実現する。
ストレージ208は、たとえば、HDDやSSDなどで構成される。ストレージ208には、典型的には、サポート装置200において実行されるユーザプログラムの作成、作成したプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うためのサポートプログラム230が格納される。
サポートプログラム230は、コンピュータであるサポート装置200を、アプリケーションプログラムを生成する装置として機能させる。より具体的には、サポートプログラム230は、ソースコードの作成および編集処理などを実現するためのプログラミングツール234を含む。
サポート装置200は、光学ドライブ204を有しており、コンピュータで読み取り可能なプログラムを非一過的に格納する記録媒体205(たとえば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られてストレージ208などにインストールされる。
サポート装置200で実行される各種プログラムは、記録媒体205を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードされる形でインストールされてもよい。また、本実施の形態に係るサポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
USBコントローラ212は、USB接続を介して制御装置100との間のデータの遣り取りを制御する。ネットワークコントローラ214は、任意のネットワークを介した他の装置との間のデータの遣り取りを制御する。
入力部216は、キーボードやマウスなどで構成され、ユーザによる操作を受付ける。表示部218は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。
図4に示す例では、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
(c3:サーバ装置500のハードウェア構成例)
本実施の形態に係る制御システム1を構成するサーバ装置500は、一例として、汎用的なファイルサーバまたはデータベースサーバを用いて実現できる。このような装置のハードウェア構成については公知であるので、ここでは、その詳細な説明は行わない。
(c4:表示装置400のハードウェア構成例)
本実施の形態に係る制御システム1を構成する表示装置400は、HMI装置と称されるものであり、専用機として実装された構成を採用してもよいし、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。
汎用パソコンをベースとした産業用パソコンを用いて表示装置400を実現する場合には、上述の図4に示すようなサポート装置200と同様のハードウェア構成が採用される。但し、図4に示す構成例のうち、サポートプログラム230に代えて、HMI機能を実現するためのプログラムが表示装置400にインストールされる。
<D.制御プログラムのタスク周期とアプリケーションプログラムの実行タイミング>
次に、本実施の形態に係る制御装置100において制御プログラムのタスク周期に対するアプリケーションプログラムの実行タイミングの一例について説明する。図5は、本実施の形態に係る制御装置100において制御プログラムのタスク周期に対するアプリケーションプログラムの実行タイミングの一例を説明するためのタイミングチャートである。
なお、図5に示す例において、「E]は、定周期で実行される制御プログラムの処理の実行に要する時間を示し、「P」は、タスク内で呼び出されるアプリケーションプログラムの実行に要する時間を示す。
図5に示すように、一定のタスク周期ごとに制御プログラムが繰り返し実行される。各タスク周期内では、制御プログラムがその先頭から最終まで実行される。このように定周期間隔で実行される制御プログラムの実行が完了した後、1タスク周期内の残時間を使って、アプリケーションプログラムが実行される。さらに、1タスク周期内の残時間ではアプリケーションプログラムの実行が完了しなかった場合には、複数のタスク周期に亘ってアプリケーションプログラムが実行される。
たとえば、図5に示す例では、1周期目における1タスク周期内でアプリケーションプログラムの実行が完了しているが、2周期目における1タスク周期内では、アプリケーションプログラムの実行が完了していない。この場合、次の3周期目における1タスク周期内においてアプリケーションプログラムの未実行の部分が実行される。
このように、サポート装置200から制御装置100に提供されるデータに含まれるアプリケーションプログラムは、タスク周期ごとに繰り返し実行される制御プログラムが実行された後の残時間を利用して、一または複数のタスク周期に亘って実行され、それによって制御装置100が制御対象を制御するための処理を実現する。
<E.制御システムの機能構成例>
次に、本実施の形態に係る制御システム1の機能構成について説明する。図6は、本実施の形態に係る制御システム1の各種機能を示す機能ブロック図である。なお、図6においては、サポート装置200から制御装置100に提供されるデータの漏洩を防止する技術に関する機能構成について特に説明する。
図6に示すように、制御装置100のプロセッサ102は、主な機能部として、演算部122と、鍵生成部124と、暗号化部126と、複合化部128とを有する。制御装置100のメインメモリ104は、主な機能部として、揮発性の記憶領域に情報を記憶する揮発性記憶部142を有する。制御装置100のストレージ106は、主な機能部として、不揮発性の記憶領域に情報を記憶する不揮発性記憶部162を有する。
プロセッサ102、メインメモリ104、およびストレージ106は、それぞれ外部インターフェイス112を介してサポート装置200および外部ストレージ300に接続されている。
<F.制御システムの各工程>
次に、制御システム1が実施する各工程について説明する。
(f1:鍵生成工程)
まず、制御システム1の鍵生成工程について説明する。図7は、本実施の形態に係る制御システムの鍵生成工程を説明するための機能ブロック図である。なお、図7および後述する図8、図10、図11、図13、図15においては、各工程において実行される処理の順番の一例が、たとえば、「(1)」、「(2)」、「(3)」、…といったように括弧付きの数字で示されている。
図7に示すように、制御装置100は、鍵を生成するための条件が成立したときに、公開鍵および秘密鍵のセットである鍵ペアを生成する。鍵を生成するための条件としては、外部から外部インターフェイス112を介して制御装置100のメインメモリ104にデータが転送されたこと(1a)、鍵を交換する旨の指令を受け付けたこと(1b)、および鍵が存在しない状態で制御装置100が起動したこと(1c)などが想定される。
(1a)のデータ転送は、制御装置100の製造時あるいは量産工程において、アプリケーションプログラムやパラメータなどの新たなデータが制御装置100に登録されることを想定する。また、データは、サポート装置200から外部インターフェイス112を介して制御装置100に転送されてもよいし、外部ストレージ300から外部インターフェイス112を介して制御装置100に読み込まれてもよい。
外部から転送されるデータは、メインメモリ104の揮発性記憶部142によって記憶される。このため、制御装置100が稼働しない時間帯においては、メインメモリ104に電源が供給されなくなることで揮発性の記憶領域内のデータが消去される。これにより、データの漏洩を防止することができる。なお、データがメインメモリ104に収まらない場合には、一旦、ストレージ106に記憶してもよい。
(1b)の鍵交換指令は、既に鍵ペアが存在する状態で、ユーザ操作によって鍵を交換する旨の指令を制御装置100が受け付けたことを想定する。
(1c)の制御装置100の起動は、制御装置100の工場出荷時や設定のリセット時における起動を想定する。
制御装置100は、上述した(1a),(1b),(1c)のうちのいずれか一方の処理が実行された場合に、プロセッサ102の鍵生成部124によって新たに鍵ペアを生成する(2)。
(2)の鍵ペアの生成において、制御装置100は、鍵ペアを生成する時点において、制御装置100内の環境に依存して変化する値を用いて鍵ペアを生成する。つまり、制御装置100は、鍵ペアの生成の際には、再現性のない値を採用する。具体的には、制御装置100は、制御装置100を構成する部品の情報や各種センサの現在値、自己診断データ(たとえば、内部回路の電流値や内部素子の温度、その他の環境ノイズデータ、装置利用の統計情報など)、あるいは不揮発性のストレージ106の現在値など、再現性のない因数を用いて鍵ペアを生成する。これにより、データの漏洩防止をより強化することができる。
制御装置100は、鍵ペアを生成すると、ストレージ106の不揮発性記憶部162によって鍵ペアを記憶する。
このようにして、サポート装置200や外部ストレージ300からデータが転送されたこと、外部からの指令を受け付けたこと、および制御装置100が起動したことの少なくともいずれか一方の条件が成立した場合に、制御装置100は新たな鍵ペアを生成することができる。
(f2:第1実施形態に係る暗号化工程)
次に、本実施形態に係る暗号化工程のうち、第1実施形態に係る暗号化工程について説明する。図8は、第1実施形態に係る制御システム1の暗号化工程を説明するための機能ブロック図である。
図8に示すように、まず、サポート装置200から外部インターフェイス112を介して制御装置100のメインメモリ104にデータが転送される(1)。サポート装置200から転送されるデータは、メインメモリ104の揮発性記憶部142によって記憶される。なお、データがメインメモリ104に収まらない場合には、一旦、ストレージ106に記憶してもよい。
制御装置100は、サポート装置200からデータが転送されると、鍵ペアを生成する(2)。なお、この鍵ペアの生成は、図7で示した(1a)の処理を経た後の(2)の鍵ペア生成に相当する処理である。
制御装置100は、鍵ペアを生成すると、ストレージ106の不揮発性記憶部162によって鍵ペアを記憶する(3)。
制御装置100は、プロセッサ102の暗号化部126によって、メインメモリ104に記憶されたデータを参照する(4)。また、制御装置100は、プロセッサ102の暗号化部126によって、ストレージ106に記憶された鍵ペアのうちの公開鍵を取得する(5)。そして、制御装置100は、プロセッサ102の暗号化部126によって、公開鍵を用いてデータを暗号化する(6)。
制御装置100は、暗号化によって得られた暗号化データを、ストレージ106の不揮発性記憶部162によって記憶する(7)。なお、ストレージ106には、一または複数の暗号化データが記憶される。また、制御装置100は、外部インターフェイス112を介して、暗号化データを外部ストレージ300にも転送する(8)。外部ストレージ300は、制御装置100から転送された暗号化データを記憶する(9)。なお、外部ストレージ300には、一または複数の暗号化データが記憶される。
上述したような第1実施形態に係る暗号化工程を、図9に示すシーケンス図にまとめる。図9は、第1実施形態に係る制御システム1の暗号化工程を説明するためのシーケンス図である。
図9に示すように、サポート装置200からデータが転送されると(Sb2)、制御装置100は、鍵ペアを生成するとともに(Sa2)、生成した鍵ペアをストレージ106の不揮発性の記憶領域に記憶する(Sa4)。
次に、制御装置100は、メインメモリ104に記憶されたデータを参照する(Sa6)。そして、制御装置100は、ストレージ106に記憶された鍵ペアのうちの公開鍵を用いてデータを暗号化する(Sa8)。
制御装置100は、暗号化によって得られた暗号化データを、ストレージ106の不揮発性の記憶領域に記憶し(Sa10)、外部インターフェイス112を介して、暗号化データを外部ストレージ300にも転送する(Sa12)。外部ストレージ300は、制御装置100から転送された暗号化データを記憶する(Sc2)。
このようにして、制御装置100は、サポート装置200から提供されたデータを暗号化し、その暗号化データを不揮発性のストレージ106や外部ストレージ300に記憶することができる。
(f3:第2実施形態に係る暗号化工程)
次に、本実施形態に係る暗号化工程のうち、第2実施形態に係る暗号化工程について説明する。図10は、第2実施形態に係る制御システム1の暗号化工程を説明するための機能ブロック図である。
図10に示す第2実施形態に係る暗号化工程は、外部ストレージ600がサポート装置200から提供されたデータを記憶する例であり、外部ストレージ600から外部インターフェイス112を介して制御装置100のメインメモリ104にデータが転送される点のみにおいて、図8に示す第1実施形態に係る暗号化工程と異なり、その他の処理については、図8に示す例と同じである。このため、これ以上の詳細な説明は行わない。なお、外部ストレージ600は、外部ストレージ300と共通のストレージであってもよいし、外部ストレージ300とは別のストレージであってもよい。
(f4:第3実施形態に係る暗号化工程)
次に、本実施形態に係る暗号化工程のうち、第3実施形態に係る暗号化工程について説明する。図11は、第3実施形態に係る制御システム1の暗号化工程を説明するための機能ブロック図である。
図11に示す第3実施形態に係る暗号化工程は、サポート装置200がデータを暗号化した上でその暗号化データを制御装置100に転送する点において、図8に示す第1実施形態に係る暗号化工程や図10に示す第2実施形態に係る暗号化工程と異なる。以下、具体的に説明する。
図11に示すように、制御装置100は、ストレージ106に記憶された鍵ペアのうちの公開鍵を、外部インターフェイス112を介してサポート装置200に転送する(1)。サポート装置200は、公開鍵を用いてデータを暗号化する(2)。
サポート装置200は、暗号化によって得られた暗号化データを、外部インターフェイス112を介して、制御装置100のストレージ106、および外部ストレージ300に転送する(3)。
制御装置100は、ストレージ106の不揮発性記憶部162によって、暗号化データを記憶する(4)。また、外部ストレージ300においても、暗号化データが記憶される(5)。
上述したような第3実施形態に係る暗号化工程を、図12に示すシーケンス図にまとめる。図12は、第3実施形態に係る制御システム1の暗号化工程を説明するためのシーケンス図である。
図12に示すように、制御装置100は、ストレージ106に記憶された鍵ペアのうちの公開鍵を、外部インターフェイス112を介してサポート装置200に転送する(Sa102)。
一方、サポート装置200は、公開鍵を用いてデータを暗号化する(Sb102)。そして、サポート装置200は、暗号化によって得られた暗号化データを、外部インターフェイス112を介して、制御装置100のストレージ106、および外部ストレージ300に転送する(Sb104)。
一方、制御装置100は、ストレージ106に、暗号化データを記憶する(Sa104)。また、外部ストレージ300も同様に、暗号化データを記憶する(Sc102)。
このようにして、サポート装置200から提供されるデータが暗号化された上で制御装置100のストレージ106や外部ストレージ300に転送され、暗号化データがストレージ106や外部ストレージ300に記憶される。
(f5:複合化工程)
次に、本実施形態に係る復号化工程について説明する。図13は、本実施の形態に係る制御システム1の複合化工程を説明するための機能ブロック図である。
図13に示すように、制御装置100が起動すると(1)、外部ストレージ300に記憶された暗号化データが、外部インターフェイス112を介して制御装置100に転送される(2)。制御装置100は、プロセッサ102の複合化部128によって、ストレージ106に記憶された暗号化データ、あるいは、外部ストレージ300から転送された暗号化データを参照する(3)。
また、制御装置100は、プロセッサ102の複合化部128によって、ストレージ106に記憶された鍵ペアのうちの秘密鍵を取得する(4)。
制御装置100は、暗号化データを秘密鍵で複合化する(5)。そして、制御装置100は、複合化によって得られたデータを、メインメモリ104の揮発性記憶部142によって記憶する(6)。
制御装置100は、プロセッサ102の演算部122によって、メインメモリ104に記憶されたデータを参照し(7)、そのデータを用いて処理を実行する(8)。
上述したような複合化工程を、図14に示すシーケンス図にまとめる。図14は、本実施の形態に係る制御システム1の複合化工程を説明するためのシーケンス図である。
図14に示すように、外部ストレージ300は、外部インターフェイス112を介して、暗号化データを制御装置100に転送する(Sc202)。一方、制御装置100は、ストレージ106に記憶された暗号化データ、あるいは、外部ストレージ300から転送された暗号化データを参照する(Sa202)。
制御装置100は、ストレージ106に記憶された鍵ペアのうちの秘密鍵を用いて、暗号化データを複合化する(Sa204)。そして、制御装置100は、複合化によって得られたデータを、メインメモリ104の揮発性の記憶領域に記憶する(Sa206)。
制御装置100は、メインメモリ104に記憶されたデータを参照し(Sa208)、そのデータを用いて処理を実行する(Sa210)。
このようにして、制御装置100は、ストレージ106に記憶された暗号化データを復号化して、制御対象を制御するための処理などに用いることができる。
(f6:鍵交換工程)
次に、本実施形態に係る鍵交換工程について説明する。図15は、本実施の形態に係る制御システム1の鍵交換工程を説明するための機能ブロック図である。
この鍵交換工程において、制御装置100は、サポート装置から提供されるデータの暗号化および復号化に用いられる鍵ペアを交換する。また、制御装置100は、鍵交換を行う際、鍵交換の作業経過を把握するために、リストを利用する。本実施の形態においては、このようなリストを、「旧暗号化データリスト」とも称する。図16は、本実施の形態に係る制御システム1において旧暗号化データリストの更新例を説明するための図である。
図16に示すように、旧暗号化データリストには、複数の暗号化データのそれぞれに対応する項目として、「NO」、「名称」、および「フラグ」がまとめられている。「NO」の欄には、各暗号化データに対して割り当てられた番号が格納される。「名称」の欄には、各暗号化データの名称が格納される。「フラグ」の欄には、鍵交換の有無を示す情報が格納され、鍵交換前であれば「0」が、鍵交換後であれば「1」が格納される。
図16に示す例では、n個の暗号化データに対応する各項目が旧暗号化データリストにまとめられている。このような旧暗号化データリストは、鍵交換工程において制御装置100のプロセッサ102によって作成されてもよいし、暗号化工程において暗号化データが作成されるたびに制御装置100のプロセッサ102によって作成または更新されてもよい。
以下では、図15に加えて、図16に示す旧暗号化データリストの更新例を参照しながら、鍵交換工程について説明する。なお、以下の説明においては、鍵交換前の鍵ペアを旧鍵ペア(旧公開鍵,旧秘密鍵)と称し、鍵交換後の鍵ペアを新鍵ペア(新公開鍵,新秘密鍵)とも称する。
図15に示すように、制御装置100は、既にストレージ106に旧鍵ペアが存在する状態で、ユーザ操作によって鍵を交換する旨の指令を受け付けると(1)、新たに鍵ペアを生成する(2)。なお、この新鍵ペアの生成は、図7で示した(1b)の処理を経た後の(2)の鍵ペア生成に相当する処理である。
制御装置100は、新鍵ペアを生成すると、ストレージ106の不揮発性記憶部162によって新鍵ペアを記憶する(3)。
制御装置100は、プロセッサ102の複合化部128によって、ストレージ106に既に記憶されている旧暗号化データを参照する(4)。たとえば、図16に示すように、旧暗号化データリストに含まれるNO.1に対応する暗号化データ1を参照する。
制御装置100は、プロセッサ102の複合化部128によって、ストレージ106に記憶された旧鍵ペアのうち、暗号化データ1の旧秘密鍵を取得する(5)。そして、制御装置100は、旧暗号化データ1を旧秘密鍵で複合化する(6)。なお、制御装置100が稼働中であって、既に暗号化データを復号化している場合には、(4)〜(6)の処理を省略してもよい。このようにすれば、鍵交換に要する時間を短縮することができる。
制御装置100は、プロセッサ102の暗号化部126によって、ストレージ106に記憶された新鍵ペアのうちの新公開鍵を取得する(7)。そして、制御装置100は、プロセッサ102の暗号化部126によって、新公開鍵を用いてデータを暗号化する(8)。
制御装置100は、暗号化によって得られた新暗号化データを、ストレージ106の不揮発性記憶部162によって不揮発性の記憶領域に記憶する(9)。このようにして、暗号化データ1の鍵交換が完了する。
暗号化データ1の鍵交換が完了すると、制御装置100は、暗号化データ1を削除するとともに、旧暗号化データリストにおいて暗号化データ1に対応する項目を更新する(10)。たとえば、図16の(A),(B)に示すように、NO.1の暗号化データ1に対応する「フラグ」が「0」から「1」に更新される。
次に、暗号化データが複数ある場合、制御装置100は、上述したような(4)〜(10)の処理を、未だ鍵交換していない暗号化データに対しても実行する。そうすると、たとえば、図16の(B),(C)に示すように、NO.2の暗号化データ2に対応する「フラグ」が「0」から「1」に更新される。制御装置100によって旧暗号化データリストに格納されている旧暗号化データの全てに対して(4)〜(10)の処理が実行されると、図16の(D)に示すように、全ての暗号化データに対応する「フラグ」が「1」になる。
制御装置100は、全ての旧暗号化データの鍵交換が完了すると、ストレージ106に記憶された旧鍵ペア(旧公開鍵,旧秘密鍵)を削除するとともに(11)、旧暗号化データリストも削除する(12)。
上述したような鍵交換工程を、図17に示すフローチャートにまとめる。図17は、本実施の形態に係る制御装置100の鍵交換工程を説明するためのフローチャートである。
図17に示すように、制御装置100は、既にストレージ106に旧鍵ペアが存在する状態で、ユーザ操作によって鍵を交換する旨の指令を受け付けたか否かを判定する(Sa302)。制御装置100は、鍵交換指令を受け付けていない場合(Sa302でNO)、鍵交換工程の処理を終了する。
一方、制御装置100は、鍵交換指令を受け付けた場合(Sa302でYES)、新たに鍵ペアを生成する(Sa304)。そして、制御装置100は、ストレージ106の不揮発性の記憶領域に新鍵ペアを記憶する(Sa306)。
次に、制御装置100は、ストレージ106に既に記憶されている旧暗号化データを参照する(Sa308)。制御装置100は、ストレージ106に記憶された旧鍵ペアのうちの旧秘密鍵を用いて、旧暗号化データを複合化する(Sa310)。なお、制御装置100が稼働中であって、既に暗号化データを復号化している場合には、(Sa308)および(Sa310)の処理を省略してもよい。このようにすれば、鍵交換に要する時間を短縮することができる。
制御装置100は、ストレージ106に記憶された新鍵ペアのうちの新公開鍵を用いて、Sa310の処理で暗号化したデータを暗号化する(Sa312)。制御装置100は、暗号化によって得られた新暗号化データを、ストレージ106の不揮発性の記憶領域に記憶する(Sa314)。
制御装置100は、一の暗号化データの鍵交換が完了すると、当該一の暗号化データを削除するとともに、旧暗号化データリストにおいて当該一の暗号化データに対応する項目を更新する(Sa316)。
制御装置100は、全ての暗号化データの鍵交換が完了したか否かを判定する(Sa318)。制御装置100は、全ての暗号化データの鍵交換が完了していない場合(Sa318でNO)、再びSa308〜Sa316の処理を繰り返す。
一方、制御装置100は、全ての暗号化データの鍵交換が完了した場合(Sa318でYES)、ストレージ106に記憶された旧鍵ペア(旧公開鍵,旧秘密鍵)を削除するとともに(Sa320)、旧暗号化データリストも削除する(Sa322)。その後、制御装置100は、鍵交換工程の処理を終了する。
このようにして、制御装置100は、ストレージ106に記憶された一または複数の暗号化データの鍵ペアを交換することができる。
以上、図8〜図12に示す暗号化工程について説明したように、制御装置100が生成した公開鍵を用いて、サポート装置200から提供されるデータが暗号化されるため、サポート装置200から提供されるデータがそのまま外部に漏洩することを防止することができる。また、図13および図14に示す復号化工程について説明したように、制御装置100が処理する場合には、制御装置100が生成した秘密鍵を用いて制御装置100が暗号化データを復号化するとともに、復号化されたデータをアクセス不可能な揮発性の記憶領域に制御装置100が記憶するため、復号化されたデータが外部に漏洩することも防止することができる。
図8および図9に示す第1実施形態に係る暗号化工程、および図10に示す第2実施形態に係る暗号化工程について説明したように、サポート装置200から提供されるデータを制御装置100が単独で暗号化するため、制御装置100が生成した公開鍵を外部に転送する必要がなく、処理を複雑化することなくデータの漏洩を防止することができる。
図11および図12に示す第3実施形態に係る暗号化工程について説明したように、サポート装置200がデータを暗号化した状態で制御装置100に転送するため、転送経路でデータが漏洩することを防止することができ、データの漏洩防止をより強化することができる。
さらに、秘密鍵および公開鍵を生成するときにおける制御装置100内の環境に依存して変化する値を用いて制御装置100が秘密鍵および公開鍵を生成するため、データの漏洩防止をより強化することができる。
また、同一ロットの複数の制御装置間においても、装置ごとで特有でかつ再現性のない因数を用いて秘密鍵および公開鍵が生成されるため、装置ごとに個別に異なる暗号化を行うことができ、データの漏洩防止をより強化することができる。
特に、図10に示す第2実施形態に係る暗号化工程のように、ユーザがサポート装置200を用いて作成したデータを外部ストレージ600に格納する場合においては、データが漏洩する可能性が高まる。しかしながら、このような場合であっても、暗号化された状態で外部ストレージ600に格納され、しかも復号化するための秘密鍵は制御装置100内の外部からアクセス不可能なストレージ106に記憶されているため、データの漏洩を防止することができる。
図7に示す鍵生成工程について説明したように、外部からデータが転送されたこと、外部からの指令を受け付けたこと、および制御装置100が起動したことの少なくともいずれか一方の条件が成立した場合に、制御装置100が秘密鍵および公開鍵を生成するため、適切なタイミングで制御装置100が秘密鍵および公開鍵を生成することができる。
図15〜図17に示す鍵交換工程について説明したように、データの暗号化および復号化に用いられる鍵ペアを制御装置100が交換することができるため、データの漏洩防止をより強化することができる。
さらに、図15〜図17に示す鍵交換工程においては、旧暗号化データリストを用いることで、大量のデータが存在する場合であっても、制御装置100が過不足なく鍵ペアを交換することができる。また、鍵交換が一旦中断されたとしても、旧暗号化データリストにおいて「フラグ」を参照することで鍵交換の有無を認識することができるため、電源環境が不安定な現場であっても、中断時の状態から制御装置100が鍵ペアを交換することができる。
<H.データの照合>
次に、データの照合について説明する。本実施の形態のように、データが暗号化された状態で制御装置100に記憶されている場合、データの同一性を照合することが難しい。そこで、本実施の形態においては、暗号化される前の平文で記載されたデータ(以下、「オリジナルデータ」とも称する)のハッシュ値を比較することで同一性を照合する。以下、図18を参照しながら、オリジナルデータのハッシュ値を用いたデータの照合について説明する。
図18は、本実施の形態に係る制御システム1においてデータの照合を説明するための模式図である。図18に示す例は、サポート装置200から複数の制御装置100に対してオリジナルデータの更新を行うことを想定しており、その更新過程において、各制御装置100に記憶された暗号化データに対応するオリジナルデータと、サポート装置200に記憶された更新データとが比較される。
具体的には、複数の制御装置100a〜100cはそれぞれ、オリジナルデータのハッシュ値を暗号化データに関連付けて予め各ストレージ106a〜106cに記憶する。一方、サポート装置200は、オリジナルデータのハッシュ値の算出時と同じハッシュ関数を用いて算出された更新データのハッシュ値を予め記憶する。サポート装置200は、更新データおよびハッシュ値を、各制御装置100a〜100cに転送する。
そして、各制御装置100a〜100cは、サポート装置200から転送された更新データのハッシュ値と、自身が記憶しているオリジナルデータのハッシュ値とを比較し、両者が同一であれば、既にデータが更新されていると判断してオリジナルデータの更新を行わず、両者が同一でなければ、未だデータが更新されていないと判断してオリジナルデータの更新を行う。
このように、制御装置100は、暗号化データに関連付けられたハッシュ値を照合することで、暗号化データを復号化することなくデータを照合することができるため、照合に要する時間を短縮することができる。
なお、データの照合は、制御装置100が実行するものに限らない。たとえば、各制御装置100a〜100cからサポート装置200に対してオリジナルデータのハッシュ値を転送し、サポート装置200が各制御装置100a〜100cから転送されたハッシュ値と自身が記憶している更新データのハッシュ値とを比較してもよい。そして、サポート装置200は、両者が同一でない場合に、対象となる制御装置100に対して更新データを転送してもよい。
また、各制御装置100a〜100cは、オリジナルデータのハッシュ値を複数記憶してもよく、この場合、複数のハッシュ値は、互いに異なるハッシュ関数によって算出されてもよい。複数のハッシュ値を用いてデータの照合を行うことで、衝突頻度を極力抑えることができる。
<I.付記>
以上のように、本実施の形態では以下のような開示を含む。
(構成1)
制御対象を制御する制御装置(100)においてサポート装置(200)から提供されるデータの処理方法であって、
秘密鍵および公開鍵を前記制御装置が生成するステップ(Sa2)と、
前記データに対する前記公開鍵による暗号化で得られた暗号化データを前記制御装置が取得するステップ(Sa10,Sa104)と、
前記制御装置が処理する場合において、前記暗号化データに対して前記制御装置が前記秘密鍵で復号化するステップ(Sa204)と、
前記暗号化データに対する前記秘密鍵による復号化で得られた前記データを、外部からアクセス不可能な揮発性の記憶領域に前記制御装置が記憶するステップ(Sa206)と、
前記記憶領域に記憶された前記データを前記制御装置が参照して処理を実行するステップ(Sa208,Sa210)とを含む、データの処理方法。
(構成2)
前記暗号化データは、前記サポート装置によって提供された前記データを、前記制御装置が前記公開鍵を用いて暗号化することで生成され(Sa8)、
前記取得するステップは、前記制御装置が生成した前記暗号化データを取得するステップを含む、構成1に記載のデータの処理方法。
(構成3)
前記暗号化データは、前記サポート装置が前記公開鍵を用いて前記データを暗号化することで生成され(Sb102)、
前記取得するステップは、前記サポート装置によって転送された前記暗号化データを取得することを含む、構成1に記載のデータの処理方法。
(構成4)
前記制御装置は、外部から前記データが転送されたこと、外部からの指令、および当該制御装置が起動したことの少なくともいずれか一方の条件が成立した場合に、前記生成するステップを実行する、構成1〜構成3のいずれかに記載のデータの処理方法。
(構成5)
前記公開鍵および前記秘密鍵の旧鍵ペアが既に記憶されている場合において新たに秘密鍵および公開鍵の新鍵ペアを前記制御装置が生成するステップ(Sa304)と、
前記旧鍵ペアの前記公開鍵による暗号化で得られた前記暗号化データを前記制御装置が前記旧鍵ペアの前記秘密鍵で復号化するステップ(Sa310)と、
前記旧鍵ペアの前記秘密鍵による復号化で得られた前記データを前記制御装置が前記新鍵ペアの前記公開鍵で暗号化するステップ(Sa312)と、
前記新鍵ペアの前記公開鍵による暗号化で得られた暗号化データを前記制御装置が記憶するステップ(Sa314)と、
前記旧鍵ペアを前記制御装置が削除するステップ(Sa320)とを含む、構成1〜構成4のいずれかに記載のデータの処理方法。
(構成6)
前記公開鍵および前記秘密鍵の旧鍵ペアが既に記憶されている場合において新たに秘密鍵および公開鍵の新鍵ペアを前記制御装置が生成するステップ(Sa304)と、
前記旧鍵ペアの前記公開鍵による暗号化で得られた複数の前記暗号化データのうちから少なくとも一の前記暗号化データを前記制御装置が前記旧鍵ペアの前記秘密鍵で復号化するステップ(Sa310)と、
前記旧鍵ペアの前記秘密鍵による復号化で得られた前記データを前記制御装置が前記新鍵ペアの前記公開鍵で暗号化するステップ(Sa312)と、
前記新鍵ペアの前記公開鍵による暗号化で得られた暗号化データを前記制御装置が記憶するステップ(Sa314)と、
前記旧鍵ペアの前記公開鍵による暗号化で得られた複数の前記暗号化データの全てが前記新鍵ペアの前記公開鍵で暗号化された場合に、前記旧鍵ペアを前記制御装置が削除するステップ(Sa320)とを含む、構成1〜構成4のいずれかに記載のデータの処理方法。
(構成7)
前記旧鍵ペアの前記公開鍵による暗号化で得られた複数の前記暗号化データのそれぞれに対応する項目をまとめたリストから、前記新鍵ペアの前記公開鍵による暗号化で得られた暗号化データに対応する項目を前記制御装置が削除するステップ(Sa316)と、
前記旧鍵ペアの前記公開鍵による暗号化で得られた複数の前記暗号化データの全てが前記新鍵ペアの前記公開鍵で暗号化されたことによって全ての前記項目が削除された場合に、前記リストを前記制御装置が削除するステップ(Sa322)とを含む、構成6に記載のデータの処理方法。
(構成8)
前記制御装置は、前記秘密鍵および前記公開鍵を生成するときにおける当該制御装置内の環境に依存して変化する値を用いて当該秘密鍵および当該公開鍵を生成する、構成1〜構成7のいずれかに記載のデータの処理方法。
(構成9)
前記制御装置は、前記データのハッシュ値を、当該データに対応する前記暗号化データに関連付けて記憶する、構成1〜構成8のいずれかに記載のデータの処理方法。
(構成10)
前記データは、前記制御装置が前記制御対象を制御するプログラムのソースコードである、構成1〜構成9のいずれかに記載のデータの処理方法。
(構成11)
制御対象を制御する制御装置(100)と前記制御装置にデータを提供するサポート装置(200)とを備える制御システム(1)であって、
前記制御装置は、
秘密鍵および公開鍵を生成する生成手段(124)と、
前記データに対する前記公開鍵による暗号化で得られた暗号化データを取得する取得手段(112,128)と、
処理する場合において、前記暗号化データに対して前記秘密鍵で復号化する復号化手段(128)と、
前記暗号化データに対する前記秘密鍵による復号化で得られた前記データを、外部からアクセス不可能な揮発性の記憶領域に記憶する記憶手段(162)と、
前記記憶領域に記憶された前記データを参照して処理を実行する実行手段(122)とを含む、制御システム。
(構成12)
サポート装置(200)から提供されるデータを用いて制御対象を制御する制御装置(100)であって、
秘密鍵および公開鍵を生成する生成手段(124)と、
前記データに対する前記公開鍵による暗号化で得られた暗号化データを取得する取得手段(112,128)と、
処理する場合において、前記暗号化データに対して前記秘密鍵で復号化する復号化手段(128)と、
前記暗号化データに対する前記秘密鍵による復号化で得られた前記データを、外部からアクセス不可能な揮発性の記憶領域に記憶する記憶手段(162)と、
前記記憶領域に記憶された前記データを参照して処理を実行する実行手段(122)とを含む、制御装置。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、6 上位ネットワーク、10 デバイス、12 装置、14 リレー群、16 ユニット、18 画像センサ、20 カメラ、22 サーボドライバ、24 サーボモータ、97 ワーク領域、98 実行モジュール、99 プログラム領域、100,100a,100b,100c 制御装置、102,202 プロセッサ、104 メインメモリ、106,106a,106c,208 ストレージ、108 上位ネットワークコントローラ、110 フィールドネットワークコントローラ、112 外部インターフェイス、122 演算部、124 鍵生成部、126 暗号化部、128 複合化部、130 プロセッサバス、142 揮発性記憶部、162 不揮発性記憶部、200 サポート装置、204 光学ドライブ、205 記録媒体、206 主記憶装置、212 コントローラ、214 ネットワークコントローラ、216 入力部、218 表示部、220 バス、230 サポートプログラム、234 プログラミングツール、300,600 外部ストレージ、400 表示装置、500 サーバ装置。

Claims (12)

  1. 制御対象を制御する制御装置においてサポート装置から提供されるデータの処理方法であって、
    秘密鍵および公開鍵を前記制御装置が生成するステップと、
    前記データに対する前記公開鍵による暗号化で得られた暗号化データを前記制御装置が取得するステップと、
    前記制御装置が処理する場合において、前記暗号化データに対して前記制御装置が前記秘密鍵で復号化するステップと、
    前記暗号化データに対する前記秘密鍵による復号化で得られた前記データを、外部からアクセス不可能な揮発性の記憶領域に前記制御装置が記憶するステップと、
    前記記憶領域に記憶された前記データを前記制御装置が参照して処理を実行するステップとを含む、データの処理方法。
  2. 前記暗号化データは、前記サポート装置によって提供された前記データを、前記制御装置が前記公開鍵を用いて暗号化することで生成され、
    前記取得するステップは、前記制御装置が生成した前記暗号化データを取得するステップを含む、請求項1に記載のデータの処理方法。
  3. 前記暗号化データは、前記サポート装置が前記公開鍵を用いて前記データを暗号化することで生成され、
    前記取得するステップは、前記サポート装置によって転送された前記暗号化データを取得することを含む、請求項1に記載のデータの処理方法。
  4. 前記制御装置は、外部から前記データが転送されたこと、外部からの指令を受け付けたこと、および当該制御装置が起動したことの少なくともいずれか一方の条件が成立した場合に、前記生成するステップを実行する、請求項1〜請求項3のいずれか1項に記載のデータの処理方法。
  5. 前記公開鍵および前記秘密鍵の旧鍵ペアが既に記憶されている場合において新たに秘密鍵および公開鍵の新鍵ペアを前記制御装置が生成するステップと、
    前記旧鍵ペアの前記公開鍵による暗号化で得られた前記暗号化データを前記制御装置が前記旧鍵ペアの前記秘密鍵で復号化するステップと、
    前記旧鍵ペアの前記秘密鍵による復号化で得られた前記データを前記制御装置が前記新鍵ペアの前記公開鍵で暗号化するステップと、
    前記新鍵ペアの前記公開鍵による暗号化で得られた暗号化データを前記制御装置が記憶するステップと、
    前記旧鍵ペアを前記制御装置が削除するステップとを含む、請求項1〜請求項4のいずれか1項に記載のデータの処理方法。
  6. 前記公開鍵および前記秘密鍵の旧鍵ペアが既に記憶されている場合において新たに秘密鍵および公開鍵の新鍵ペアを前記制御装置が生成するステップと、
    前記旧鍵ペアの前記公開鍵による暗号化で得られた複数の前記暗号化データのうちから少なくとも一の前記暗号化データを前記制御装置が前記旧鍵ペアの前記秘密鍵で復号化するステップと、
    前記旧鍵ペアの前記秘密鍵による復号化で得られた前記データを前記制御装置が前記新鍵ペアの前記公開鍵で暗号化するステップと、
    前記新鍵ペアの前記公開鍵による暗号化で得られた暗号化データを前記制御装置が記憶するステップと、
    前記旧鍵ペアの前記公開鍵による暗号化で得られた複数の前記暗号化データの全てが前記新鍵ペアの前記公開鍵で暗号化された場合に、前記旧鍵ペアを前記制御装置が削除するステップとを含む、請求項1〜請求項4のいずれか1項に記載のデータの処理方法。
  7. 前記旧鍵ペアの前記公開鍵による暗号化で得られた複数の前記暗号化データのそれぞれに対応する項目をまとめたリストから、前記新鍵ペアの前記公開鍵による暗号化で得られた暗号化データに対応する項目を前記制御装置が削除するステップと、
    前記旧鍵ペアの前記公開鍵による暗号化で得られた複数の前記暗号化データの全てが前記新鍵ペアの前記公開鍵で暗号化されたことによって全ての前記項目が削除された場合に、前記リストを前記制御装置が削除するステップとを含む、請求項6に記載のデータの処理方法。
  8. 前記制御装置は、前記秘密鍵および前記公開鍵を生成するときにおける当該制御装置内の環境に依存して変化する値を用いて当該秘密鍵および当該公開鍵を生成する、請求項1〜請求項7のいずれか1項に記載のデータの処理方法。
  9. 前記制御装置は、前記データのハッシュ値を、当該データに対応する前記暗号化データに関連付けて記憶する、請求項1〜請求項8のいずれか1項に記載のデータの処理方法。
  10. 前記データは、前記制御装置が前記制御対象を制御するプログラムのソースコードである、請求項1〜請求項9のいずれか1項に記載のデータの処理方法。
  11. 制御対象を制御する制御装置と前記制御装置にデータを提供するサポート装置とを備える制御システムであって、
    前記制御装置は、
    秘密鍵および公開鍵を生成する生成手段と、
    前記データに対する前記公開鍵による暗号化で得られた暗号化データを取得する取得手段と、
    処理する場合において、前記暗号化データに対して前記秘密鍵で復号化する復号化手段と、
    前記暗号化データに対する前記秘密鍵による復号化で得られた前記データを、外部からアクセス不可能な揮発性の記憶領域に記憶する記憶手段と、
    前記記憶領域に記憶された前記データを参照して処理を実行する実行手段とを含む、制御システム。
  12. サポート装置から提供されるデータを用いて制御対象を制御する制御装置であって、
    秘密鍵および公開鍵を生成する生成手段と、
    前記データに対する前記公開鍵による暗号化で得られた暗号化データを取得する取得手段と、
    処理する場合において、前記暗号化データに対して前記秘密鍵で復号化する復号化手段と、
    前記暗号化データに対する前記秘密鍵による復号化で得られた前記データを、外部からアクセス不可能な揮発性の記憶領域に記憶する記憶手段と、
    前記記憶領域に記憶された前記データを参照して処理を実行する実行手段とを含む、制御装置。
JP2018034695A 2018-02-28 2018-02-28 データの処理方法、制御システム、制御装置 Pending JP2019149763A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018034695A JP2019149763A (ja) 2018-02-28 2018-02-28 データの処理方法、制御システム、制御装置
EP18211319.1A EP3534228A1 (en) 2018-02-28 2018-12-10 Data processing method, control system, and control device
CN201811509676.8A CN110209105B (zh) 2018-02-28 2018-12-11 数据的处理方法、控制系统及控制装置
US16/223,117 US20190268144A1 (en) 2018-02-28 2018-12-18 Data processing method, control system, and control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018034695A JP2019149763A (ja) 2018-02-28 2018-02-28 データの処理方法、制御システム、制御装置

Publications (1)

Publication Number Publication Date
JP2019149763A true JP2019149763A (ja) 2019-09-05

Family

ID=64900727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018034695A Pending JP2019149763A (ja) 2018-02-28 2018-02-28 データの処理方法、制御システム、制御装置

Country Status (4)

Country Link
US (1) US20190268144A1 (ja)
EP (1) EP3534228A1 (ja)
JP (1) JP2019149763A (ja)
CN (1) CN110209105B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12230260B2 (en) * 2021-03-05 2025-02-18 Lenovo (Singapore) Pte. Ltd. Anonymization of text transcripts corresponding to user commands
EP4105745A1 (de) 2021-06-14 2022-12-21 Siemens Aktiengesellschaft Erzeugung und abarbeitung von verschlüsselten programmanweisungen mittels einer numerischen steuereinrichtung
US12335387B2 (en) * 2021-11-08 2025-06-17 Adobe Inc. Distributing and synchronizing encrypted data for multi-regional accessibility

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03282904A (ja) * 1990-03-30 1991-12-13 Matsushita Electric Works Ltd プログラマブルコントローラ
JPH0612909U (ja) * 1992-07-17 1994-02-18 株式会社ニコン 測量機用データバックアップ装置
JP2002009752A (ja) * 2000-06-20 2002-01-11 Casio Comput Co Ltd データ暗号システムにおける復号化装置、暗号化装置、暗号データ復号化方法、及び記憶媒体
JP2002111679A (ja) * 2000-09-28 2002-04-12 Hitachi Ltd 閉域グループ通信方法および通信端末装置
JP2005512170A (ja) * 2001-11-12 2005-04-28 ネットワーク リサーチ ラブ リミテッド 不正使用に対する情報保護の方法および装置
JP2006209703A (ja) * 2005-01-31 2006-08-10 Nippon Telegr & Teleph Corp <Ntt> プログラム実行保護プロセッサ
JP2006331130A (ja) * 2005-05-26 2006-12-07 Matsushita Electric Works Ltd プログラマブルコントローラ
JP2007215087A (ja) * 2006-02-13 2007-08-23 Canon Inc 拠点監視装置、情報処理装置、画像形成装置監視システム、拠点監視方法、情報処理方法および記憶媒体
JP2008042556A (ja) * 2006-08-07 2008-02-21 Canon Inc 撮像装置、撮像装置の制御方法、プログラムおよび記憶媒体
JP2008067162A (ja) * 2006-09-08 2008-03-21 Pit:Kk 制御システムおよびシステムの制御方法
JP2008065678A (ja) * 2006-09-08 2008-03-21 Omron Corp 機器の制御システム、制御装置およびプログラムの保護方法
JP2009017537A (ja) * 2007-06-04 2009-01-22 Panasonic Corp 利用装置、サーバ装置、サービス利用システム、サービス利用方法、サービス利用プログラム及び集積回路
JP2009507433A (ja) * 2005-09-01 2009-02-19 クゥアルコム・インコーポレイテッド マルチメディア・コンテント配信のための効率的鍵階層構造
WO2009119049A1 (ja) * 2008-03-25 2009-10-01 パナソニック株式会社 電子端末、制御方法、コンピュータプログラム及び集積回路
JP2011123790A (ja) * 2009-12-14 2011-06-23 Canon Inc 情報保存方法
JP2013065237A (ja) * 2011-09-20 2013-04-11 Hyper Tec:Kk モジュールの暗号化/復号化プログラム
WO2014097444A1 (ja) * 2012-12-20 2014-06-26 三菱電機株式会社 制御システム及びプログラム送信装置及び認証サーバ及びプログラム保護方法及びプログラム送信方法及びプログラム送信装置のプログラム
JP2017058798A (ja) * 2015-09-15 2017-03-23 日本電気株式会社 電子メール管理装置、方法およびプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI114061B (fi) * 2002-05-17 2004-07-30 Nokia Corp Menetelmä ja järjestelmä digitaalisessa langattomassa tiedonsiirtoverkossa datasalauksen järjestämiseksi ja vastaava palvelin
US7379551B2 (en) * 2004-04-02 2008-05-27 Microsoft Corporation Method and system for recovering password protected private data via a communication network without exposing the private data
US7487512B2 (en) * 2004-09-30 2009-02-03 Sap Ag Publish-subscribe event notifications
JP5052287B2 (ja) * 2007-10-23 2012-10-17 株式会社Ihi ロボット不正使用防止装置およびロボット不正使用防止方法
US8995665B1 (en) * 2008-08-20 2015-03-31 Symantec Corporation Role based encryption without key management system
JP4894961B1 (ja) 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP5367039B2 (ja) * 2011-09-30 2013-12-11 株式会社東芝 サーバ装置及びプログラム
JP5435022B2 (ja) * 2011-12-28 2014-03-05 株式会社デンソー 車載システム及び通信方法
JP2013153327A (ja) * 2012-01-25 2013-08-08 Toshiba Corp 記憶装置、ホスト装置および情報処理方法
WO2013147732A1 (en) * 2012-03-26 2013-10-03 Siemens Aktiengesellschaft Programmable logic controller having embedded dynamic generation of encryption keys
US9342699B2 (en) * 2013-11-06 2016-05-17 Blackberry Limited Method and apparatus for controlling access to encrypted data
EP2937806A1 (en) * 2014-04-22 2015-10-28 ALSTOM Renewable Technologies Method and system for securing electronic data exchange between an industrial programmable device and a portable programmable device
US10764063B2 (en) * 2016-04-13 2020-09-01 Rockwell Automation Technologies, Inc. Device specific cryptographic content protection
CN106209916A (zh) * 2016-08-31 2016-12-07 南京普瑶电子科技有限公司 工业自动化生产业务数据传输加解密方法及系统

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03282904A (ja) * 1990-03-30 1991-12-13 Matsushita Electric Works Ltd プログラマブルコントローラ
JPH0612909U (ja) * 1992-07-17 1994-02-18 株式会社ニコン 測量機用データバックアップ装置
JP2002009752A (ja) * 2000-06-20 2002-01-11 Casio Comput Co Ltd データ暗号システムにおける復号化装置、暗号化装置、暗号データ復号化方法、及び記憶媒体
JP2002111679A (ja) * 2000-09-28 2002-04-12 Hitachi Ltd 閉域グループ通信方法および通信端末装置
JP2005512170A (ja) * 2001-11-12 2005-04-28 ネットワーク リサーチ ラブ リミテッド 不正使用に対する情報保護の方法および装置
JP2006209703A (ja) * 2005-01-31 2006-08-10 Nippon Telegr & Teleph Corp <Ntt> プログラム実行保護プロセッサ
JP2006331130A (ja) * 2005-05-26 2006-12-07 Matsushita Electric Works Ltd プログラマブルコントローラ
JP2009507433A (ja) * 2005-09-01 2009-02-19 クゥアルコム・インコーポレイテッド マルチメディア・コンテント配信のための効率的鍵階層構造
JP2007215087A (ja) * 2006-02-13 2007-08-23 Canon Inc 拠点監視装置、情報処理装置、画像形成装置監視システム、拠点監視方法、情報処理方法および記憶媒体
JP2008042556A (ja) * 2006-08-07 2008-02-21 Canon Inc 撮像装置、撮像装置の制御方法、プログラムおよび記憶媒体
JP2008067162A (ja) * 2006-09-08 2008-03-21 Pit:Kk 制御システムおよびシステムの制御方法
JP2008065678A (ja) * 2006-09-08 2008-03-21 Omron Corp 機器の制御システム、制御装置およびプログラムの保護方法
JP2009017537A (ja) * 2007-06-04 2009-01-22 Panasonic Corp 利用装置、サーバ装置、サービス利用システム、サービス利用方法、サービス利用プログラム及び集積回路
WO2009119049A1 (ja) * 2008-03-25 2009-10-01 パナソニック株式会社 電子端末、制御方法、コンピュータプログラム及び集積回路
JP2011123790A (ja) * 2009-12-14 2011-06-23 Canon Inc 情報保存方法
JP2013065237A (ja) * 2011-09-20 2013-04-11 Hyper Tec:Kk モジュールの暗号化/復号化プログラム
WO2014097444A1 (ja) * 2012-12-20 2014-06-26 三菱電機株式会社 制御システム及びプログラム送信装置及び認証サーバ及びプログラム保護方法及びプログラム送信方法及びプログラム送信装置のプログラム
JP2017058798A (ja) * 2015-09-15 2017-03-23 日本電気株式会社 電子メール管理装置、方法およびプログラム

Also Published As

Publication number Publication date
EP3534228A1 (en) 2019-09-04
CN110209105A (zh) 2019-09-06
US20190268144A1 (en) 2019-08-29
CN110209105B (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
CN112602025A (zh) 工业控制器的数字孪生的自动设置
JP2019149763A (ja) データの処理方法、制御システム、制御装置
CN114237561B (zh) 一种基于流水线方式发布组件的设计方法及系统
CN109462475B (zh) 数据加密方法、解密方法及相关装置
JP6354178B2 (ja) 画像処理装置、管理システムおよび管理方法
JP7300866B2 (ja) 制御システム
JP6919973B2 (ja) プログラムコードのコンピュータ支援難読化方法
CN116127426A (zh) 一种设备控制方法、装置、存储介质及电子设备
JP2019504519A (ja) ライフサイクル状態の暗号化マネジメント
US10474132B2 (en) Information processing device, information processing method, and recording medium
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
JP7151161B2 (ja) 制御システム、サポート装置、サポートプログラム
JP6455096B2 (ja) コントロールシステム、その支援装置、プログラマブルコントロール装置
JP5062499B2 (ja) フィールド機器管理装置
JP7539593B1 (ja) プログラム可能機器、バージョン管理方法及びプログラム
JP7462860B1 (ja) プログラム可能機器、バージョン管理システム、バージョン管理方法及びプログラム
CN118414231A (zh) 机器人或机床的模拟装置
JP2014222420A (ja) 半導体記憶装置及びデータ処理システム
CN120569710B (zh) 可编程设备、版本管理方法及记录介质
KR102878206B1 (ko) Plc 및 plc의 제어방법
JP7634774B2 (ja) ソフトウェア更新システムおよびソフトウェア更新方法
US20250238529A1 (en) Method for encrypting a source code, method for decrypting a source code and development system
JP6573749B1 (ja) 制御装置、制御方法及びプログラム
Mayer Modeling IT Systems in TRIZ
WO2022249713A1 (ja) 制御システム、システムプログラムおよびデバッグ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210317

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210824