JP7334492B2 - セーフティシステムおよびメンテナンス方法 - Google Patents

セーフティシステムおよびメンテナンス方法 Download PDF

Info

Publication number
JP7334492B2
JP7334492B2 JP2019114342A JP2019114342A JP7334492B2 JP 7334492 B2 JP7334492 B2 JP 7334492B2 JP 2019114342 A JP2019114342 A JP 2019114342A JP 2019114342 A JP2019114342 A JP 2019114342A JP 7334492 B2 JP7334492 B2 JP 7334492B2
Authority
JP
Japan
Prior art keywords
support device
safety
unit
key
communication unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019114342A
Other languages
English (en)
Other versions
JP2020120367A (ja
Inventor
靖男 宗田
雄大 永田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to US17/415,743 priority Critical patent/US20220085982A1/en
Priority to PCT/JP2019/050128 priority patent/WO2020158247A1/ja
Priority to CN201980058532.1A priority patent/CN112654985B/zh
Priority to EP19913150.9A priority patent/EP3920063B1/en
Publication of JP2020120367A publication Critical patent/JP2020120367A/ja
Application granted granted Critical
Publication of JP7334492B2 publication Critical patent/JP7334492B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Description

本発明は、セーフティシステムに対するリモートメンテナンス機能に関する。
様々な製造現場で使用される設備や機械を安全に使用するためには、IEC 61508などの国際規格に従って機能安全を実現しなければならない。
このような機能安全は、セーフティコントローラにてセーフティプログラムを実行することで実現されることもある。例えば、特開2010-055652号広報(特許文献1)は、安全コントローラのプログラム開発支援装置を開示する。
特開2010-055652号広報
通常、セーフティプログラムに従ってセーフティ制御を実行するコントローラなどに対する各種メンテンサンスを行うための環境が提供される。このようなセーフティ制御に対するメンテナンスを行うための環境は、IEC 62061などの国際規格に従って、構成されなければならない。
この結果、セーフティ制御に関するメンテナンスは、コントローラが配置された現場で行わざるを得ず、メンテナンス効率や生産性を向上させる制約となっている。
本発明の一つの目的は、セーフティプログラムに従ってセーフティ制御を実行する処理実行部に対するリモートメンテナンスを確実に実行できる構成を提供することである。
本発明のある局面に従うセーフティシステムは、セーフティプログラムに従ってセーフティ制御を実行する処理実行部と、処理実行部と直接的に接続されるとともに、処理実行部が保持するセーフティプログラムに対する外部アクセスを仲介する通信部と、通信部とネットワーク接続するとともに、ユーザ操作に従って、セーフティプログラムに対する追加または変更を含むメンテナンスを実行するサポート装置とを含む。サポート装置および通信部は、予め取り交わされた情報で両者を特定し、メンテナンスに必要なデータを遣り取りする。
通信部は、予め取り交わされた情報の少なくとも一部として、鍵を保持していてもよい。サポート装置は、通信部が当該鍵で復号可能なように、メンテナンスに必要なデータを暗号化して、通信部へ転送するようにしてもよい。
通信部は、鍵として第1の秘密鍵を保持してもよい。サポート装置は、第1の秘密鍵と対にある第1の公開鍵、および、第1の公開鍵に対して発行された第1の電子証明書の少なくとも一方を保持していてもよい。
通信部は、サポート装置から転送されたデータを第1の秘密鍵で復号できた場合に、当該復号したデータを処理実行部へ転送するようにしてもよい。
通信部は、外部からの要求に応答して、第1の公開鍵に対して予め有効期限を定めた上で、当該第1の公開鍵をサポート装置へ与えるようにしてもよい。
サポート装置は、第1の秘密鍵と対にある第1の公開鍵に対して発行された第1の電子証明書を保持しており、第1の電子証明書は、処理実行部を識別するための識別情報を含んでいてもよい。サポート装置は、メンテナンスに必要なデータの送信前に、通信部を介して取得した処理実行部の識別情報と、第1の電子証明書に含まれる識別情報とが一致しているか否かを判断するようにしてもよい。
サポート装置は、通信部を介して取得した処理実行部の識別情報と、第1の電子証明書に含まれる識別情報とが一致していることを条件に、メンテナンスに必要なデータを通信部へ送信するようにしてもよい。
サポート装置は、メンテナンスに必要なデータを送信する必要がある場合に、ワンタイム鍵である第3の鍵を生成し、第3の鍵でメンテナンスに必要なデータを暗号化するとともに、通信部が鍵で復号可能なように第3の鍵を暗号化して、通信部へ送信するようにしてもよい。
サポート装置は、メンテナンスに必要なデータとしてセーフティプログラムを送信するように構成されてもよい。サポート装置は、第2の秘密鍵を保持していてもよい。通信部は、第2の秘密鍵と対にある第2の公開鍵、および、第2の公開鍵に対して発行された第2の電子証明書の少なくとも一方を保持していてもよい。サポート装置は、セーフティプログラムから算出される第1のハッシュ値を第2の秘密鍵で暗号化して通信部へ送信してもよい。通信部は、サポート装置から受信したセーフティプログラムから算出した第2のハッシュ値と、サポート装置から受信した暗号化された第1のハッシュ値を第2の公開鍵で復号して得られた結果とが一致しているか否かを判断するようにしてもよい。
通信部は、サポート装置から受信したセーフティプログラムから算出される第2のハッシュ値を暗号化して、サポート装置へ送信するようにしてもよい。サポート装置は、通信部から受信した暗号化された第2のハッシュ値を復号して得られる結果と、セーフティプログラムから算出される第1のハッシュ値とが一致しているか否かを判断するようにしてもよい。
処理実行部および通信部は、互いに独立したユニットとして構成されてもよい。
本発明の別の局面によれば、セーフティプログラムに従ってセーフティ制御を実行する処理実行部を含むコントローラシステムにおけるメンテナンス方法が提供される。メンテナンス方法は、サポート装置と通信部とをネットワーク接続するステップと、サポート装置が、ユーザ操作に従って、セーフティプログラムに対する追加または変更を含むメンテナンスを実行するステップと、サポート装置および通信部は、予め取り交わされた情報で両者を特定し、メンテナンスに必要なデータを遣り取りするステップとを含む。
本発明によれば、セーフティプログラムに従ってセーフティ制御を実行する処理実行部に対するリモートメンテナンスを確実に実行できる構成を提供できる。
本実施の形態に従うセーフティシステムの構成例を示す外観図である。 本実施の形態に従うセーフティシステムにおけるリモートメンテナンスの概要を説明するための模式図である。 本実施の形態に従うセーフティシステムを構成する制御ユニットのハードウェア構成例を示す模式図である。 本実施の形態に従うセーフティシステムを構成する中継ユニットのハードウェア構成例を示す模式図である。 本実施の形態に従うセーフティシステムを構成するセーフティユニットのハードウェア構成例を示す模式図である。 本実施の形態に従うセーフティシステムに対するメンテナンスの要件を説明するための図である。 本実施の形態に従うセーフティシステムに接続されるサポート装置のハードウェア構成例を示す模式図である。 本実施の形態に従うセーフティシステムとサポート装置とを直接接続して行うメンテナンスを説明するための図である。 セーフティシステムに対するサポート装置からのリモートメンテナンスにおける課題を説明するための図である。 本実施の形態に従うセーフティシステムに対するサポート装置からのリモートメンテナンスの一形態を説明するための図である。 図10に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。 本実施の形態に従うセーフティシステムに対するサポート装置からのリモートメンテナンスの別の一形態を説明するための図である。 図12に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。 本実施の形態に従うセーフティシステムにおいてサポート装置から見た転送先の正当性の保証処理を説明するための図である。 本実施の形態に従うセーフティシステムにおいて転送先から見たサポート装置の正当性の保証処理を説明するための図である。 本実施の形態に従うセーフティシステムにおいて中継ユニットとセーフティユニットとの組み合わせを保証するための処理を説明するための図である。 本実施の形態に従うセーフティシステムにおいて中継ユニットとセーフティユニットとの組み合わせを保証するための処理手順を示すシーケンス図である。 セーフティシステムに対するサポート装置からのリモートメンテナンスにおける別の課題を説明するための図である。 本実施の形態に従うセーフティシステムに対するサポート装置からのリモートメンテナンスのさらに別の一形態を説明するための図である。 図19に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。 本実施の形態に従うセーフティシステムにおける公開鍵の有効期限の設定例を示す図である。 本実施の形態に従うセーフティシステムに対するサポート装置からのリモートメンテナンスのさらに別の一形態を説明するための図である。 図22に示すサポート装置からのリモートメンテナンスの別形態を説明するための図である。 図22に示すサポート装置からのリモートメンテナンスのさらに別形態を説明するための図である。 本実施の形態に従うセーフティシステムの構成の変形例を示す模式図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、本実施の形態に従うセーフティシステム1の全体構成について説明する。
図1は、本実施の形態に従うセーフティシステム1の構成例を示す外観図である。図1を参照して、セーフティシステム1は、制御ユニット100と、中継ユニット200と、セーフティユニット300と、1または複数の機能ユニット400と、電源ユニット450とを含む。
制御ユニット100と中継ユニット200との間は、任意のデータ伝送路(例えば、PCI Expressあるいはイーサネット(登録商標)など)を介して接続されている。制御ユニット100とセーフティユニット300および1または複数の機能ユニット400との間は、内部バス10(図2参照)を介して接続されている。
制御ユニット100は、セーフティシステム1において中心的な処理を実行する。制御ユニット100は、任意に設計された要求仕様に従って、制御対象を制御するための制御演算を実行する。後述のセーフティユニット300で実行される制御演算との対比で、制御ユニット100で実行される制御演算を「標準制御」とも称す。図1に示す構成例において、制御ユニット100は、1または複数の通信ポートを有している。制御ユニット100は、標準制御プログラムに従って標準制御を実行する処理実行部に相当する。
中継ユニット200は、制御ユニット100に接続され、他の装置との間の通信機能を担当する。図1に示す構成例において、中継ユニット200は、1または複数の通信ポートを有している。中継ユニット200が提供する通信機能の詳細については、後述する。
セーフティユニット300は、制御ユニット100とは独立して、制御対象に関するセーフティ機能を実現するための制御演算を実行する。セーフティユニット300で実行される制御演算を「セーフティ制御」とも称す。通常、「セーフティ制御」は、IEC 61508などに規定されたセーフティ機能を実現するための要件を満たすように設計される。「セーフティ制御」は、設備や機械などによって人の安全が脅かされることを防止するための処理を総称する。セーフティユニット300は、セーフティプログラムSPGに従ってセーフティ制御を実行する処理実行部に相当する。
機能ユニット400は、セーフティシステム1による様々な制御対象に対する制御を実現するための各種機能を提供する。機能ユニット400は、典型的には、I/Oユニット、セーフティI/Oユニット、通信ユニット、モーションコントローラユニット、温度調整ユニット、パルスカウンタユニットなどを包含し得る。I/Oユニットとしては、例えば、デジタル入力(DI)ユニット、デジタル出力(DO)ユニット、アナログ出力(AI)ユニット、アナログ出力(AO)ユニット、パルスキャッチ入力ユニット、および、複数の種類を混合させた複合ユニットなどが挙げられる。セーフティI/Oユニットは、セーフティ制御に係るI/O処理を担当する。
電源ユニット450は、セーフティシステム1を構成する各ユニットに対して、所定電圧の電源を供給する。
本実施の形態に従うセーフティシステム1においては、セーフティ制御を実行するセーフティユニット300に対するリモートメンテナンスが可能になっている。
図2は、本実施の形態に従うセーフティシステム1におけるリモートメンテナンスの概要を説明するための模式図である。図2を参照して、セーフティシステム1は、中継ユニット200を介してネットワークに接続されている。ネットワークには、サポート装置500もアクセス可能になっている。
中継ユニット200は、処理実行部に相当するセーフティユニット300と直接的に接続されるとともに、セーフティユニット300が保持するセーフティプログラムSPGに対する外部アクセスを仲介する通信部に相当する。
本明細書において、「直接的に接続される」とは、接続されるユニット間に接続先を誤認させるような要素が存在しないことを意味する。すなわち、各ユニットが相手方のユニットを一意に特定できる状態を意味する。本実施の形態に従うセーフティシステム1においては、「直接的に接続される」構成として、内部バス10を例示する。但し、内部バス10に限らず、任意の媒体あるいは方式で接続するようにしてもよい。
サポート装置500は、通信部に相当する中継ユニット200とネットワーク接続するとともに、ユーザ操作に従って、セーフティプログラムSPGに対する追加または変更を含むメンテナンスを実行する。より具体的には、サポート装置500で実行されるアプリケーションによって、セーフティユニット300で実行されるセーフティプログラムSPGの作成・編集処理が可能である。
本明細書において、「メンテナンス」は、セーフティ制御を担当するセーフティユニット300の状態、あるいは、セーフティユニット300で実行されるセーフティプログラムSPGを、監視あるいは変更する操作を包括する概念である。「メンテナンス」は、基本的には、オペレータ(ユーザ)がサポート装置500を操作することによって実行される。本明細書において、「リモートメンテナンス」との用語は、サポート装置500を操作するオペレータが、メンテナンスの対象となるセーフティシステム1(セーフティユニット300)を直接的に確認(目視)することができない場所にいる状態で、メンテナンスを実行することを意味する。
本実施の形態においては、メンテナンスの対象となるセーフティシステム1を一意に特定可能になっている。すなわち、サポート装置500およびセーフティシステム1の中継ユニット200は、予め取り交わされた情報で両者を特定し、メンテナンスに必要なデータを遣り取りする。
本明細書において、「予め取り交わされた」とは、いずれか一方が保持している情報の一部または当該情報から派生した別の情報が、直接的または間接的に他方へ与えられている状態を意味する。「予め取り交わされた情報」とは、このような状態において、両者がそれぞれ保持する情報を総称する。「予め取り交わされた情報」は、サポート装置500からある中継ユニット200を一意に特定するに用いられることになる。すなわち、「予め取り交わされた情報」は、設定間違い、なりすまし、偽装などの、本来の接続先とは異なる接続先とデータを遣り取りするような事態を防止するために用いられる。
以下の説明においては、「予め取り交わされた情報」の典型例として、電子的な「鍵」(典型的には、公開鍵基盤に従う秘密鍵/公開鍵、あるいは、共通鍵)を用いる構成について例示するが、これに限らず、接続先同士を一意に特定できる情報であれば、どのような種類の情報を用いてもよい。
「予め取り交わされた情報」を用いることで、一意に特定できる機能を実現でき、これによって、セーフティプログラムSPGを実行するセーフティコントローラに必要な要件を満足しつつ、セキュアなリモートメンテナンスを提供できる。
<B.各ユニットのハードウェア構成例>
次に、本実施の形態に従うセーフティシステム1を構成する各ユニットのハードウェア構成例について説明する。
(b1:制御ユニット100)
図3は、本実施の形態に従うセーフティシステム1を構成する制御ユニット100のハードウェア構成例を示す模式図である。図3を参照して、制御ユニット100は、主たるコンポーネントとして、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、通信コントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、ネットワークコントローラ116,118,120と、内部バスコントローラ122と、インジケータ124とを含む。
プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、標準制御に係る制御演算、および、後述するような各種処理を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータの遣り取りを仲介することで、制御ユニット100全体としての処理を実現する。
主記憶装置106は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。二次記憶装置108は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。
二次記憶装置108には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する制御プログラムが格納される。
通信コントローラ110は、中継ユニット200との間のデータの遣り取りを担当する。通信コントローラ110としては、例えば、PCI Expressあるいはイーサネットなどに対応する通信チップを採用できる。
USBコントローラ112は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
メモリカードインターフェイス114は、メモリカード115を着脱可能に構成されており、メモリカード115に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード115から制御プログラムや各種設定などのデータを読出すことが可能になっている。
ネットワークコントローラ116,118,120の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ116,118,120は、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などの産業用ネットワークプロトコルを採用してもよい。
内部バスコントローラ122は、セーフティシステム1を構成するセーフティユニット300や1または複数の機能ユニット400との間のデータの遣り取りを担当する。内部バス10(図2参照)には、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
インジケータ124は、制御ユニット100の動作状態などを通知するものであり、ユニット表面に配置された1または複数のLEDなどで構成される。
図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御ユニット100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(b2:中継ユニット200)
図4は、本実施の形態に従うセーフティシステム1を構成する中継ユニット200のハードウェア構成例を示す模式図である。図4を参照して、中継ユニット200は、主たるコンポーネントとして、CPUやGPUなどのプロセッサ202と、チップセット204と、主記憶装置206と、二次記憶装置208と、通信コントローラ210と、通信インターフェイス212と、メモリカードインターフェイス214と、ネットワークコントローラ216,218と、インジケータ224とを含む。
プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するような各種通信機能を実現する。チップセット204は、プロセッサ202と各コンポーネントとの間のデータの遣り取りを仲介することで、中継ユニット200全体としての処理を実現する。
二次記憶装置208には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作する通信処理プログラムが格納される。
通信コントローラ210は、制御ユニット100との間のデータの遣り取りを担当する。通信コントローラ210としては、制御ユニット100に通信コントローラ210と同様に、例えば、PCI Expressあるいはイーサネットなどに対応する通信チップを採用できる。
通信インターフェイス212は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
メモリカードインターフェイス214は、メモリカード215を着脱可能に構成されており、メモリカード215に対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード215から制御プログラムや各種設定などのデータを読出すことが可能になっている。
ネットワークコントローラ216,218の各々は、ネットワークを介した任意のデバイスとの間のデータの遣り取りを担当する。ネットワークコントローラ216,218は、イーサネットなどの汎用的なネットワークプロトコルを採用してもよい。
インジケータ224は、中継ユニット200の動作状態などを通知するものであり、ユニット表面に配置された1または複数のLEDなどで構成される。
図4には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、中継ユニット200の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
(b3:セーフティユニット300)
図5は、本実施の形態に従うセーフティシステム1を構成するセーフティユニット300のハードウェア構成例を示す模式図である。図5を参照して、セーフティユニット300は、主たるコンポーネントとして、CPUやGPUなどのプロセッサ302と、チップセット304と、主記憶装置306と、二次記憶装置308と、メモリカードインターフェイス314と、内部バスコントローラ322と、インジケータ324とを含む。
プロセッサ302は、二次記憶装置308に格納された各種プログラムを読み出して、主記憶装置306に展開して実行することで、セーフティ制御に係る制御演算、および、後述するような各種処理を実現する。チップセット304は、プロセッサ302と各コンポーネントとの間のデータの遣り取りを仲介することで、セーフティユニット300全体としての処理を実現する。
二次記憶装置308には、システムプログラムに加えて、システムプログラムが提供する実行環境上で動作するセーフティプログラムが格納される。
メモリカードインターフェイス314は、メモリカード315を着脱可能に構成されており、メモリカード315に対してセーフティプログラムや各種設定などのデータを書込み、あるいは、メモリカード315からセーフティプログラムや各種設定などのデータを読出すことが可能になっている。
内部バスコントローラ322は、内部バス10(図2参照)を介した制御ユニット100との間のデータの遣り取りを担当する。
インジケータ324は、セーフティユニット300の動作状態などを通知するものであり、ユニット表面に配置された1または複数のLEDなどで構成される。
図5には、プロセッサ302がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、セーフティユニット300の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
<C.セーフティシステム1に対するメンテナンス>
次に、本実施の形態に従うセーフティシステム1に対するメンテナンスについて説明する。
図6は、本実施の形態に従うセーフティシステム1に対するメンテナンスの要件を説明するための図である。図6には、典型例として、セーフティユニット300(以下、「デバイス」とも称される。)に格納されているユーザプログラム(セーフティプログラムSPG)を、サポート装置500で作成したユーザプログラム(セーフティプログラムSPG)で書き換えるような場合を想定する。
図6に示す要件は、IEC 62061:2005の「6.11.2 Software Based Parameterization」などに規定されているものである。
1.メンテナンスを行うオペレータが権限を有していること(例えば、パスワードを用いた権限確認。)
2.サポート装置500からデバイスへ送られるセーフティプログラムSPGがデバッグ済みのプログラムであること
3.書き換え対象デバイスがユニークに識別できること(例えば、サポート装置500とデバイスとの直接接続。あるいは、対象デバイスが有しているユニークな名前やシリアル番号での特定。)
4.サポート装置500から書き換えたファイルとデバイス上のファイルとが一致していること(例えば、チェックサムを用いた確認。)
5.現場の作業者が安全であること(例えば、誤作動や停止によって、けがをするといった事態を生じないこと)
標準制御を実行する制御ユニット100に対するメンテナンスではなく、セーフティ制御を実行するセーフティユニット300に対するメンテナンスについては、上述したような、より厳しい要件が課されることになる。
本実施の形態においては、セーフティシステム1が配置された現場においてメンテナンスを実行することに加えて、遠隔地に配置されたサポート装置500を操作して、セーフティシステム1をメンテナンスすることが可能になっている。以下、遠隔地に配置されたサポート装置500を操作することで行うメンテナンスを「リモートメンテナンス」とも称す。
セーフティユニット300に対するリモートメンテナンスを実現するためには、特に、上述した要件3を考慮することが好ましい。また、要件1,4についても考慮することが好ましい。
要件1である「メンテナンスを行うオペレータが権限を有していること」は、セーフティプログラムSPGの送信元(あるいは、送信者)が正しいことを保証することを意味する。
要件3である「書き換え対象デバイスがユニークに識別できること」は、セーフティプログラムSPGの転送先が正しいことを保証することを意味する。
要件4である「サポート装置500から書き換えたファイルとデバイス上のファイルとが一致していること」は、セーフティユニット300への転送後のセーフティプログラムSPGが正しいことを保証することを意味する。
以下、セーフティシステム1に対するリモートメンテナンスを実現するための構成について説明する。
<D.サポート装置500のハードウェア構成例>
次に、本実施の形態に従うセーフティシステム1に接続されるサポート装置500のハードウェア構成例について説明する。
図7は、本実施の形態に従うセーフティシステム1に接続されるサポート装置500のハードウェア構成例を示す模式図である。サポート装置500は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
図7を参照して、サポート装置500は、CPUやGPUなどのプロセッサ502と、主記憶装置504と、入力部506と、出力部508と、二次記憶装置510と、光学ドライブ512と、通信インターフェイス520とを含む。これらのコンポーネントは、プロセッサバス518を介して接続されている。
プロセッサ502は、二次記憶装置510に格納されたプログラム(一例として、OS5102およびサポートプログラム5104)を読出して、主記憶装置504に展開して実行することで、後述するような各種処理を実現する。
二次記憶装置510には、基本的な機能を実現するためのOS5102に加えて、サポート装置500としての機能を提供するためのサポートプログラム5104が格納される。サポートプログラム5104は、コンピュータである情報処理装置(実質的にはプロセッサ502)により実行されることで、本実施の形態に従うサポート装置500を実現する。
二次記憶装置510には、サポートプログラム5104が実行されることで提供される開発環境においてユーザにより作成されるプロジェクト5106が格納される。さらに、二次記憶装置510には、後述するような鍵(秘密鍵および公開鍵)や証明書などが格納されていてもよい。
本実施の形態において、サポート装置500は、セーフティシステム1に含まれる各デバイスに対する設定および各デバイスで実行されるプログラムの作成が統合的に可能な開発環境を提供する。プロジェクト5106は、このような統合的な開発環境によって生成されるデータを含む。典型的には、プロジェクト5106は、標準制御ソースプログラム5108と、セーフティソースプログラム5112とを含む。
標準制御ソースプログラム5108は、オブジェクトコードに変換された上で、制御ユニット100へ転送され、標準制御プログラムとして格納される。セーフティソースプログラム5110は、オブジェクトコードに変換された上で、セーフティユニット300へ転送され、セーフティプログラムとして格納される。
入力部506は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。出力部508は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ502からの処理結果などを出力する。
通信インターフェイス520は、USBやイーサネットなどの任意の通信媒体を介して、セーフティシステム1との間のデータを遣り取りする。
サポート装置500は、光学ドライブ512を有しており、コンピュータ読取可能な命令を非一過的に格納する記録媒体514(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られて二次記憶装置510などにインストールされる。
サポート装置500で実行されるサポートプログラム5104などは、コンピュータ読取可能な記録媒体514を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に従うサポート装置500が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
図7には、プロセッサ502がプログラムを実行することで、サポート装置500として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
なお、セーフティシステム1が稼動中において、サポート装置500は、セーフティシステム1から取り外されていてもよい。
<E.セーフティプログラムの転送先が正しいことを保証するための構成(要件3)>
まず、要件3である「書き換え対象デバイスがユニークに識別できること」を実現するための構成について説明する。
(e1:課題)
図8は、本実施の形態に従うセーフティシステム1とサポート装置500とを直接接続して行うメンテナンスを説明するための図である。図8を参照して、サポート装置500とセーフティシステム1(セーフティユニット300)とを現場において直接接続する場合には、サポート装置500を操作するオペレータは、接続先のデバイス(セーフティユニット300)を目視により確認できるので、この目視および接続操作によって、書き換え対象デバイスをユニークに識別できる。
図9は、セーフティシステム1に対するサポート装置500からのリモートメンテナンスにおける課題を説明するための図である。図9を参照して、サポート装置500は、ネットワーク4を介してセーフティシステム1と電気的に接続されているとする。
ネットワーク4において、セーフティシステム1は、中継ユニット200に割り当てられたネットワークアドレス(典型的には、IPアドレス)により特定されることになる。
サポート装置500は、予め登録された転送先となるデバイス(セーフティユニット300)の名称と、IPアドレスとが対応付けられたリストLSを有しており、オペレータは、リストLSを参照して、転送先となるセーフティユニット300を選択する。図9に示す例では、IPアドレスとして「192.168.250.1」(Safety_1)が選択されている。そして、サポート装置500は、オペレータの操作に従って、選択されたIPアドレスを有するデバイスに対して、セーフティプログラムSPGを転送する。
ここで、IPアドレスは、各デバイスに対して任意に設定することができ、あるいは、ルータなどが動的に割り当てることもある。そのため、別のセーフティシステム2に対して、「192.168.250.1」が誤って設定されている可能性がある。
あるいは、なりすましなどによって、別のセーフティシステム2が転送先であると偽装されることもある。
このように、IPアドレスの指定だけでは、誤った設定やなりすましなどによって、セーフティプログラムSPGの転送先が正しいことを保証できない。すなわち、セーフティプログラムSPGを誤ったシステムへ転送しても気付かない可能性がある。
(e2:解決形態1)
図8に示すような課題に対する解決形態1として、鍵による暗号化を利用した形態について説明する。
図10は、本実施の形態に従うセーフティシステム1に対するサポート装置500からのリモートメンテナンスの一形態を説明するための図である。図10に示す構成においては、セーフティシステム1の中継ユニット200は、予め取り交わされた情報の少なくとも一部として、鍵を保持しており、サポート装置500は、中継ユニット200が保持している鍵で復号可能なように、メンテナンスに必要なデータを暗号化して、中継ユニット200へ転送する。
より具体的には、セーフティシステム1に対して、公開鍵基盤に従う秘密鍵および公開鍵からなる鍵ペアが予め用意される。秘密鍵は、中継ユニット200に格納され、対応する公開鍵は、サポート装置500に格納される。
例えば、IPアドレスとして「192.168.250.1」(Safety_1)を有するセーフティシステム1(中継ユニット200)は、秘密鍵SK1を格納しており、サポート装置500が保持しているリストLSにある「192.168.250.1」のエントリには、対応する公開鍵PK1が関連付けられている。なお、公開鍵PK1の偽装を防止するために、公開鍵PK1を認証局が認証することで生成したサーバ証明書をサポート装置500に格納するようにしてもよい。
このように、中継ユニット200は、予め取り交わされた情報である鍵として、秘密鍵SK1を保持している。また、サポート装置500は、秘密鍵SK1と対にある公開鍵PK1、および、公開鍵PK1に対して発行されたサーバ電子証明書の少なくとも一方を保持している。
リモートメンテナンスにおいて、サポート装置500は、オペレータの操作に従って、選択されたIPアドレスを有するデバイスに対して、セーフティプログラムSPGを転送する際には、選択された転送先の公開鍵でセーフティプログラムSPGを暗号化する。暗号化により生成された暗号化済みセーフティプログラムSSP(転送データ)が転送先へ転送される。
暗号化済みセーフティプログラムSSP(転送データ)が本来の転送先であるセーフティシステム1へ転送された場合には、セーフティシステム1の中継ユニット200が格納している秘密鍵SK1を用いた復号が可能となる。
一方、暗号化済みセーフティプログラムSSP(転送データ)が誤った転送先であるセーフティシステム2へ転送された場合には、セーフティシステム2の中継ユニット200が格納している秘密鍵SK2では復号が行えない。あるいは、セーフティシステム2の中継ユニット200においては、何らの秘密鍵も保持していないことも想定され、この場合においても、転送データを復号することはできない。
また、仮に、転送データを何らかの方法で受信したとしても、セーフティシステム2においては転送データを復号することはできない。
このように、サポート装置500は、選択した転送先に予め関連付けられた鍵を有しているセーフティシステム1に対して転送データを転送したときに限って、当該転送先では復号できるので、誤った転送先にセーフティプログラムSPGを送信してしまうことがない。これにより、転送先での誤ったIPアドレスの設定やIPアドレスのなりすましなどがあっても、正しい転送先にセーフティプログラムSPGを転送できる。そして、中継ユニット200は、サポート装置500から転送されたデータ(暗号化済みセーフティプログラムSSP)を秘密鍵SK1で復号できた場合に、当該復号したデータ(セーフティプログラムSPG)をセーフティユニット300へ転送する。
図11は、図10に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。図11を参照して、オペレータによるサポート装置500の操作(シーケンスSQ100)に従って、サポート装置500は、セーフティプログラムSPGの作成・編集処理を実行する(シーケンスSQ102)。
続いて、オペレータによる転送先の選択および転送の操作(シーケンスSQ104)に従って、サポート装置500は、選択された中継ユニット200とネットワーク接続し、転送先の公開鍵でセーフティプログラムSPGを暗号化して暗号化済みセーフティプログラムSSP(転送データ)を生成する(シーケンスSQ106)。そして、サポート装置500は、選択された転送先へ転送データを転送する(シーケンスSQ108)。すなわち、サポート装置500は、ユーザ操作に従って、セーフティプログラムSPGに対する追加または変更を含むメンテナンスを実行する。
転送先の中継ユニット200は、サポート装置500から転送データを受信すると、当該受信したデータを自デバイスの秘密鍵SK1でセーフティプログラムSPGに復号する(シーケンスSQ110)。そして、中継ユニット200は、復号したセーフティプログラムSPGをセーフティユニット300へ転送する(シーケンスSQ112)。この中継ユニット200からセーフティユニット300へのセーフティプログラムSPGの転送は、内部バス10を介して実行される。
このように、サポート装置500および中継ユニット200は、予め取り交わされた情報で両者を特定し、メンテナンスに必要なデータを遣り取りする。
セーフティユニット300は、中継ユニット200からのセーフティプログラムSPGを格納する(シーケンスSQ114)。そして、セーフティユニット300は、格納したセーフティプログラムSPGに従ってセーフティ制御を実行する。
これにより、サポート装置500からセーフティユニット300に対するリモートメンテナンスが完了する。
なお、中継ユニット200は、復号したセーフティプログラムSPGに対してウィルススキャンなどを実行した後に、セーフティユニット300へ転送するようにしてもよい。これは、サポート装置500での暗号化の直前にウィルスに感染している可能性を考慮したものである。
(e3:解決形態2)
上述の解決形態1においては、転送先の公開鍵を用いて転送データを生成する構成について例示したが、暗号化および復号に係る処理を効率化して、転送速度を高める観点からは、共通鍵をさらに用いるようにしてもよい。
図12は、本実施の形態に従うセーフティシステム1に対するサポート装置500からのリモートメンテナンスの別の一形態を説明するための図である。図12に示す構成においても、図10に示す構成と同様に、セーフティシステム1に対して秘密鍵および公開鍵からなる鍵ペアが予め用意される。
まず、セーフティプログラムSPGは、サポート装置500において、都度生成されるワンタイム鍵である共通鍵TCKにより暗号化されて、暗号化済みセーフティプログラムSSP(転送データ)が生成される。併せて、共通鍵TCKについては、選択された転送先の公開鍵で暗号化されることで、暗号化済み共通鍵STCが生成される。
サポート装置500から選択された転送先には、暗号化済みセーフティプログラムSSPおよび暗号化済み共通鍵STCが転送される。
このように、サポート装置500は、メンテナンスに必要なデータを送信する必要がある場合に、ワンタイム鍵である共通鍵TCKを生成する。そして、サポート装置500は、共通鍵TCKでメンテナンスに必要なデータを暗号化するとともに、中継ユニット200が保持する鍵(秘密鍵SK1)で復号可能なように共通鍵TCKを暗号化して、中継ユニット200へ送信する。
一方、転送先のセーフティシステム1の中継ユニット200は、サポート装置500から受信した暗号化済み共通鍵STCを自デバイスの秘密鍵SK1で共通鍵TCKに復号する。そして、転送先のセーフティシステム1の中継ユニット200は、復号した共通鍵TCKでサポート装置500から受信した暗号化済みセーフティプログラムSSP(転送データ)をセーフティプログラムSPGに復号する。
一方、暗号化済みセーフティプログラムSSPおよび暗号化済み共通鍵STCが誤った転送先であるセーフティシステム2へ転送された場合には、セーフティシステム2の中継ユニット200が格納している秘密鍵SK2では復号が行えない。あるいは、セーフティシステム2の中継ユニット200においては、何らの秘密鍵も保持していないことも想定され、この場合においても、転送データを復号することはできない。
また、仮に、サポート装置500からのデータを何らかの方法で受信したとしても、セーフティシステム2においては転送データを復号することはできない。
このように、サポート装置500は、選択した転送先に予め関連付けられた鍵を有しているセーフティシステム1に対して転送データを転送したときに限って、当該転送先では復号できるので、誤った転送先にセーフティプログラムSPGを送信してしまうことがない。これにより、転送先での誤ったIPアドレスの設定やIPアドレスのなりすましなどがあっても、正しい転送先にセーフティプログラムSPGを転送できる。
図13は、図12に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。図13を参照して、オペレータによるサポート装置500の操作(シーケンスSQ100)に従って、サポート装置500は、セーフティプログラムSPGの作成・編集処理を実行する(シーケンスSQ102)。
続いて、オペレータによる転送先の選択および転送の操作(シーケンスSQ104)に従って、サポート装置500は、ワンタイム鍵として共通鍵TCKを生成する(シーケンスSQ120)。そして、サポート装置500は、生成した共通鍵TCKでセーフティプログラムSPGを暗号化して暗号化済みセーフティプログラムSSP(転送データ)を生成する(シーケンスSQ122)。また、サポート装置500は、転送先の公開鍵で共通鍵TCKを暗号化して暗号化済み共通鍵STCを生成する(シーケンスSQ124)。
最終的に、サポート装置500は、暗号化済みセーフティプログラムSSPおよび暗号化済み共通鍵STCを選択された転送先へ転送する(シーケンスSQ126)。
転送先の中継ユニット200は、サポート装置500から暗号化済み共通鍵STCを受信すると、当該受信した暗号化済み共通鍵STCを自デバイスの秘密鍵SK1で共通鍵TCKに復号する(シーケンスSQ130)。
また、中継ユニット200は、暗号化済みセーフティプログラムSSP(転送データ)を共通鍵TCKでセーフティプログラムSPGに復号する(シーケンスSQ132)。
最終的に、中継ユニット200は、復号したセーフティプログラムSPGをセーフティユニット300へ転送する(シーケンスSQ112)。この中継ユニット200からセーフティユニット300へのセーフティプログラムSPGの転送は、内部バス10を介して実行される。
セーフティユニット300は、中継ユニット200からのセーフティプログラムSPGを格納する(シーケンスSQ114)。そして、セーフティユニット300は、格納したセーフティプログラムSPGに従ってセーフティ制御を実行する。
これにより、サポート装置500からセーフティユニット300に対するリモートメンテナンスが完了する。
(e4:認証局の利用)
サポート装置500が利用する各デバイスの公開鍵は、転送先となるセーフティシステム1(あるいは、中継ユニット200)から直接的または間接的に取得してもよい。あるいは、認証局(CA:Certificate Authority)に公開鍵を登録するとともに、認証局が発行する公開鍵に対するサーバ証明書を各デバイスの公開鍵として用いるようにしてもよい。認証局を利用することで、公開鍵の偽装などを防止することができる。
<F.相互認証>
次に、セーフティシステム1(中継ユニット200)とサポート装置500との間の相互認証の処理について説明する。より具体的には、(1)サポート装置500から見た転送先の正当性の保証、および/または、(2)転送先から見たサポート装置500の正当性の保証を実現する方法について説明する。セーフティシステム1の設置環境などに応じて、これらの相互認証処理のうち、いずれか一方のみ、あるいは両方を実施するようにしてもよい。
(f1:サポート装置500から見た転送先の正当性の保証)
図14は、本実施の形態に従うセーフティシステム1においてサポート装置500から見た転送先の正当性の保証処理を説明するための図である。図14には、サポート装置500へ転送先候補のデバイスへの正当な公開鍵(サーバ証明書)のインストールを保証する方法を示す。すなわち、転送先の公開鍵の生成、配布、および認証などの一連の処理手順を示す。
まず、サポート装置500は、転送先候補のデバイスである中継ユニット200に鍵ペア(秘密鍵SKおよび公開鍵PK)の生成を指示する((1)鍵生成)。この指示に従って、中継ユニット200は、鍵ペア(秘密鍵SKおよび公開鍵PK)を生成する。
続いて、サーバ証明書(公開鍵)の生成および配布などを支援するための情報処理装置700を用いて、中継ユニット200において生成された公開鍵PKを取得する((2)公開鍵を取得)。公開鍵PKは、中継ユニット200から情報処理装置700へ直接的方法により取得される。直接的方法とは、例えば、中継ユニット200と情報処理装置700とをUSBケーブルなどで直接接続して、中継ユニット200に格納されている公開鍵PKを取得する方法や、中継ユニット200にSDカードを装着して格納されている公開鍵PKを取得した後に、当該SDカードを情報処理装置700に装着して公開鍵PKを移す方法などが想定される。このような直接的方法を採用することで、対象の中継ユニット200と公開鍵PKとの対応関係を維持できる。
情報処理装置700は、中継ユニット200から取得した公開鍵PKおよび利用者情報UTを含む証明書発行要求を認証局800へ送信する((3)証明書発行要求)。すると、認証局800は、公開鍵PKに対応するサーバ証明書CRを生成し、情報処理装置700へ応答する((4)サーバ証明書発行)。
さらに、情報処理装置700からサポート装置500に対して、直接的方法でサーバ証明書CRが転送される((5)サーバ証明書インストール)。情報処理装置700とサポート装置500との間の直接的方法についても上述と同様であり、情報処理装置700とサポート装置500とをUSBケーブルなどで直接接続する方法や、USBメモリあるいはSDカードなどの記録媒体を介する方法などが想定される。このような直接的方法を採用することで、対象の中継ユニット200とサーバ証明書CRとの対応関係を維持できる。
続いて、サポート装置500は、中継ユニット200から公開鍵PKを取得する((8)接続(認証))。そして、サポート装置500は、取得した公開鍵PKおよびインストールされているサーバ証明書CRを認証局800に送信して、サーバ証明書CRの正当性の認証を要求する((7)CA認証(サーバ証明書の認証))。
以上の(1)~(7)の手順によって、サポート装置500にインストールされているサーバ証明書CRが特定の中継ユニット200の公開鍵PKに対応するものであることを保証できる。すなわち、サーバ証明書CRによって転送先の中継ユニット200の正当性を保証できる。そして、サポート装置500は、インストールされたサーバ証明書CR(公開鍵PKに相当)を用いて、セーフティシステム1(中継ユニット200)を特定して通信を行う((8)接続(通信))。
なお、情報処理装置700がサーバ証明書CRを発行するとともに、サポート装置500自体がサーバ証明書CRの認証を実行する場合には、認証局800を省略してもよい。また、認証局800は、インターネットを介してアクセス可能な公的認証局であってもよいし、セーフティシステム1を含むローカルネットワークに配置された私的認証局であってもよい。
(f2:転送先から見たサポート装置500の正当性の保証)
図15は、本実施の形態に従うセーフティシステム1において転送先から見たサポート装置500の正当性の保証処理を説明するための図である。図15には、中継ユニット200に転送元であるサポート装置500への正当な公開鍵(サーバ証明書)のインストールを保証する方法を示す。すなわち、転送元の公開鍵の生成、配布、および認証などの一連の処理手順を示す。
まず、サポート装置500は、自装置用の鍵ペア(秘密鍵SK’および公開鍵PK’)を生成する((1)鍵生成)。続いて、サポート装置500は、自装置で生成した公開鍵PK’および利用者情報UT’を含む証明書発行要求を認証局800へ送信する((2)証明書発行要求)。すると、認証局800は、公開鍵PK’に対応するクライアント証明書CR’を生成し、情報処理装置700へ応答する((3)クライアント証明書発行)。
さらに、サポート装置500から中継ユニット200に対して、直接的方法でクライアント証明書CR’が転送される((4)クライアント証明書インストール)。サポート装置500と中継ユニット200との間の直接的方法についても上述と同様であり、サポート装置500と中継ユニット200とをUSBケーブルなどで直接接続する方法や、USBメモリあるいはSDカードなどの記録媒体を介する方法などが想定される。このような直接的方法を採用することで、サポート装置500と対象の中継ユニット200との対応関係を維持できる。
続いて、サポート装置500は、中継ユニット200へ公開鍵PK’を送信する((5)接続(認証))。すると、中継ユニット200は、送信された公開鍵PK’およびインストールされているクライアント証明書CR’を認証局800に送信して、クライアント証明書CRの正当性の認証を要求する((6)CA認証(クライアント証明書の認証))。
以上の(1)~(6)の手順によって、中継ユニット200にインストールされているクライアント証明書CR’が特定のサポート装置500の公開鍵PK’に対応するものであることを保証できる。すなわち、クライアント証明書CR’によって転送元のサポート装置500の正当性を保証できる。そして、セーフティシステム1(中継ユニット200)は、インストールされたクライアント証明書CR’(公開鍵PK(に相当)を用いて、送信元のサポート装置500を特定して通信を行う((7)接続(通信))。
なお、サポート装置500がクライアント証明書CR’を発行するとともに、中継ユニット200自体がクライアント証明書CR’の認証を実行する場合には、認証局800を省略してもよい。また、認証局800は、インターネットを介してアクセス可能な公的認証局であってもよいし、セーフティシステム1を含むローカルネットワークに配置された私的認証局であってもよい。
<G.構成保証>
図1に示すセーフティシステム1は、中継ユニット200が秘密鍵を保持するとともに、中継ユニット200からセーフティプログラムがセーフティユニット300へ内部バス10を介して転送される。様々なセキュリティ脅威を考慮すると、中継ユニット200が秘密鍵を生成した後に、中継ユニット200に接続されるセーフティユニット300が交換される可能性もある。このような脅威を想定すると、中継ユニット200とセーフティユニット300との組み合わせが維持されていることも保証することが好ましい。
図16は、本実施の形態に従うセーフティシステム1において中継ユニット200とセーフティユニット300との組み合わせを保証するための処理を説明するための図である。図16を参照して、セーフティシステム1(中継ユニット200)が保持する秘密鍵SK1に対応するサーバ証明書CRを生成する際に、中継ユニット200に接続されているセーフティユニット300の識別情報(典型的には、セーフティユニット300のシリアル番号など)を予め含めるようにしてもよい。
図16に示すように、例えば、主体者情報の一部として、セーフティユニット300のシリアル番号SRNを含めるようにしてもよい。すなわち、サポート装置500は、中継ユニット200が保持する秘密鍵SK1と対にある公開鍵PK1に対して発行された電子証明書であるサーバ証明書CRを保持している。サーバ証明書CRは、セーフティユニット300を識別するための識別情報の一例である、セーフティユニット300のシリアル番を含んでいる。
このようなシリアル番号SRNを含むサーバ証明書CRの生成は、例えば、中継ユニット200が、サポート装置500あるいはその他の情報処理装置から証明書発行要求の送信指示を受け付けた際に、利用者情報UTにセーフティユニット300のシリアル番号SRNを含めて認証局800へ送信することで実現できる。
サポート装置500は、セーフティユニット300のシリアル番号SRNを含むサーバ証明書CR(転送先デバイスに対応する公開鍵に相当)を利用して、セーフティプログラムSPGの転送前に、転送先の構成の同一性を確認する。
より具体的には、サポート装置500は、セーフティプログラムSPGの転送前に、シリアル番号消化処理590を実行する。シリアル番号消化処理590においては、サーバ証明書CRに含まれるシリアル番号SRNと、転送先のセーフティシステム1から取得されるセーフティユニット300のシリアル番号SRNとが比較される。このように、サポート装置500は、メンテナンスに必要なデータの送信前に、中継ユニット200を介して取得したセーフティユニット300の識別情報(シリアル番号SRN)と、サーバ証明書CRに含まれる識別情報(シリアル番号SRN)とが一致しているか否かを判断する。
両者が一致した場合には、セーフティプログラムSPGの転送処理が続行される。すなわち、サポート装置500は、中継ユニット200を介して取得したセーフティユニット300の識別情報(シリアル番号SRN)と、サーバ証明書CRに含まれる識別情報(シリアル番号SRN)とが一致していることを条件に、メンテナンスに必要なデータを中継ユニット200へ送信するようにしてもよい。
これに対して、両者が一致しない場合には、サーバ証明書CRが発行されたときの構成から変更がなされたことを意味し、以下のいずれかの処理を実行するようにしてもよい。
(1)シリアル番号SRNが一致しない場合にはセーフティプログラムSPGの転送を中止する。併せて、サポート装置500のディスプレイなどを介して警告を出力する。
(2)サポート装置500のディスプレイなどを介して警告を出力しつつ、オペレータの明示的な操作を条件に、セーフティプログラムSPGの転送処理を継続する。
(3)セーフティプログラムSPGの転送処理自体は継続しつつ、シリアル番号SRNの不一致などの情報をログとして格納する。
なお、これらの(1)~(3)以外の処理を実行してもよいし、(1)~(3)の2つ以上を任意に組み合わせてもよい。
なお、シリアル番号SRNが一致しない理由として、不正に交換された場合だけではなく、故障により交換された場合も想定される。さらに、設備改善などによってセーフティシステム1も組み合わせが変更されることも想定される。そのため、一律にセーフティプログラムSPGの転送を中止するのではなく、警告などを出力しつつ、セーフティプログラムSPGの転送自体は継続できるような仕組みを提供しておいてもよい。
図17は、本実施の形態に従うセーフティシステム1において中継ユニット200とセーフティユニット300との組み合わせを保証するための処理手順を示すシーケンス図である。
図17を参照して、サポート装置500は、オペレータによる転送先の選択および転送の操作を受け付けると(シーケンスSQ200)、中継ユニット200に対して、セーフティユニット300のシリアル番号SRNを取得するためのシリアル番号読出要求を送信する(シーケンスSQ202)。中継ユニット200は、サポート装置500からのシリアル番号読出要求をセーフティユニット300へ転送する(シーケンスSQ204)。
セーフティユニット300は、シリアル番号読出要求に応答して、シリアル番号SRNを中継ユニット200へ送信する(シーケンスSQ206)。中継ユニット200は、セーフティユニット300からのシリアル番号SRNをサポート装置500へ転送する。
サポート装置500は、中継ユニット200からシリアル番号SRNを取得すると、サーバ証明書CRに含まれるシリアル番号SRNと取得したシリアル番号SRNとが一致しているか否かを照合する(シーケンスSQ210)。
両シリアル番号SRNが一致していれば、サポート装置500は、セーフティプログラムSPGを暗号化した転送データを中継ユニット200へ転送する(シーケンスSQ212)。中継ユニット200は、サポート装置500から受信した転送データをセーフティプログラムSPGに復号するとともに、セーフティプログラムSPGをセーフティユニット300へ転送する(シーケンスSQ214)。そして、セーフティユニット300は、新たに受信したセーフティプログラムSPGに従ってセーフティ制御を実行する。
これに対して、両シリアル番号SRNが一致していなければ、サポート装置500は、シリアル番号SRNの不一致に対応するエラー処理を実行する(シーケンスSQ216)。
上述したような処理および機能を採用することで、中継ユニット200と実際の転送先であるセーフティユニット300との組み合わせが維持されていることを保証できる。
<H.メンテナンスを行うオペレータの権限を保証するための構成(要件1)、ならびに、書き換えたファイルの同一性を保証するための構成(要件4)>
次に、要件1である「メンテナンスを行うオペレータが権限を有していること」、ならびに、要件4である「サポート装置500から書き換えたファイルとデバイス上のファイルとが一致していること」を実現するための構成について説明する。
(h1:課題)
図18は、セーフティシステム1に対するサポート装置500からのリモートメンテナンスにおける別の課題を説明するための図である。図18を参照して、サポート装置500からセーフティシステム1(セーフティユニット300)にセーフティプログラムSPGが転送される場合を想定する。様々なセキュリティ脅威を考慮すると、転送路上でのセーフティプログラムSPGの改ざんが想定される(課題1)。図18に示す例では、転送路上において、セーフティプログラムSPGが悪意あるプログラムSPG#に改ざんされている例を示す。このような改ざんにより、悪意あるプログラムSPG#がセーフティユニット300へ転送される可能性がある。
このような場合であっても、セーフティユニット300へ転送されたプログラムとサポート装置500が保持しているセーフティプログラムSPGとの同一性が照合される。具体的には、セーフティユニット300へ転送されたセーフティプログラムSPGから算出されるハッシュ値がサポート装置500へ送り戻されて、サポート装置500にてハッシュ値の同一性が判断される。
この照合処理に用いられるハッシュ値についても、転送路上での改ざんの可能性を否定できない。すなわち、セーフティユニット300へ転送された悪意あるプログラムSPG#から算出されるハッシュ値HS#は、セーフティプログラムSPGから算出されるハッシュ値HSとは一致しない。しかしながら、ハッシュ値HS#がセーフティユニット300からサポート装置500へ転送される転送路上において、ハッシュ値HS#が本来のハッシュ値HSに改ざんされると、サポート装置500が保持している正しいセーフティプログラムSPGから算出されるハッシュ値HSと一致していると誤って照合されることになる。
その結果、悪意あるプログラムSPG#がセーフティユニット300で実行されていることに気付かない可能性がある。なお、セーフティプログラムから算出されるハッシュ値がセーフティユニット300の前面に配置されたインジケータに表示される場合には、オペレータは、サポート装置500において算出したハッシュ値HSとの一致をそのインジケータで照合できる。そのため、オペレータが現場にいれば、正しいセーフティプログラムSPGがセーフティユニット300へ転送されたか否かを目視にて確認できる。
(h2:解決形態)
図18に示すような課題に対する解決形態として、鍵による暗号化を利用した形態について説明する。
図19は、本実施の形態に従うセーフティシステム1に対するサポート装置500からのリモートメンテナンスのさらに別の一形態を説明するための図である。図19に示す構成においては、サポート装置500に秘密鍵SK’および公開鍵PK’からなる鍵ペアが予め用意される。秘密鍵SK’は、サポート装置500に格納され、対応する公開鍵PK’は、中継ユニット200に格納される。なお、公開鍵PK’の偽装を防止するために、公開鍵PK’を認証局が認証することで生成したサーバ証明書を中継ユニット200に格納するようにしてもよい。
このように、サポート装置500は、秘密鍵SK’を保持しており、中継ユニット200は、秘密鍵SK’と対にある公開鍵PK’、および、公開鍵PK’に対して発行された電子証明書(クライアント証明書CR’)の少なくとも一方を保持している。
図19に示す解決形態においては、サポート装置500からセーフティユニット300へのセーフティプログラムSPGの転送、および、セーフティユニット300からサポート装置500へのハッシュ値HSの転送(照合)のいずれにおいても、鍵を用いた暗号化が利用される。以下、リモートメンテナンスにおけるセーフティプログラムSPGの転送に係る具体的な手順例を示す。すなわち、サポート装置500は、メンテナンスに必要なデータとしてセーフティプログラムSPGを送信する。
まず、転送処理において、サポート装置500は、セーフティプログラムSPGから予め定められたアルゴリズムに従ってハッシュ値HSを算出する((1)ハッシュ計算)。続いて、サポート装置500は、自装置の秘密鍵SK’で算出したハッシュ値HSを暗号化して暗号化済みハッシュ値SHSを生成する((2)秘密鍵暗号化)。そして、サポート装置500は、セーフティプログラムSPGおよび対応する暗号化済みハッシュ値SHSをセーフティシステム1(中継ユニット200)へ転送する((3)転送)。
次に、検証処理において、中継ユニット200は、転送路上でのセーフティプログラムSPGの改ざんの有無を検証する((4)検証処理)。より具体的には、中継ユニット200は、受信した転送データに含まれるセーフティプログラムSPGからハッシュ値HSを算出する。また、中継ユニット200は、受信した転送データに含まれる暗号化済みハッシュ値SHSをサポート装置500の公開鍵PK’でハッシュ値HSに復号する。そして、サポート装置500は、算出したハッシュ値HSと復号したハッシュ値HSとの同一性を検証する。
上述したように、検証処理においては、サポート装置500は、セーフティプログラムSPGから算出されるハッシュ値HSを自装置の秘密鍵SK’で暗号化して中継ユニット200へ送信する。一方、中継ユニット200は、サポート装置500から受信したセーフティプログラムSPGから算出したハッシュ値HSと、サポート装置500から受信した暗号化済みハッシュ値SHSを公開鍵PK’で復号して得られた結果とが一致しているか否かを判断する。
このようなハッシュ値同士の検証によって、サポート装置500からセーフティシステム1(中継ユニット200)へ転送された転送データが改ざんされていないことを保証できる。同時に、転送データの送信者のなりすましを防止できる。
検証処理においてハッシュ値HSの同一性が確認されると、セーフティプログラムSPGが中継ユニット200からセーフティユニット300へ転送される((5)転送)。
サポート装置500での照合に先立って、サポート装置500は、ワンタイム鍵として共通鍵TCK’を生成し((6)ワンタイム鍵生成(照合用))、自装置の秘密鍵SK’で生成した共通鍵TCK’を暗号化することで、暗号化済み共通鍵STC’が生成される((7)秘密鍵暗号化)。そして、サポート装置500は、生成した暗号化済み共通鍵STC’を中継ユニット200へ転送する。
中継ユニット200は、受信した暗号化済み共通鍵STC’をサポート装置500の公開鍵PK’で共通鍵TCK’に復号する((9)公開鍵復号化)。
さらに、中継ユニット200は、受信したセーフティプログラムSPGのハッシュ値HSを算出する((10)ハッシュ値計算)。そして、中継ユニット200は、先に復号した共通鍵TCK’で算出したハッシュ値HSを暗号化して暗号化済みハッシュ値SHSを生成する((11)共通鍵暗号化)。中継ユニット200が生成した暗号化済みハッシュ値SHSをサポート装置500へ転送すると、サポート装置500は、暗号化済みハッシュ値SHSを共通鍵TCK’でハッシュ値HSに復号する((12)ハッシュ値転送&共通鍵復号化)。
また、サポート装置500は、自装置が保持しているセーフティプログラムSPGのハッシュ値HSを算出する((13)ハッシュ値計算)。最終的に、サポート装置500は、自装置が保持しているセーフティプログラムSPGのハッシュ値HSと、中継ユニット200から受信したハッシュ値HSとの一致を判断する((14)照合)。両者が一致していれば、照合成功となる。
ここで、一例として、セーフティユニット300へ転送されたセーフティプログラムSPGが悪意あるプログラムSPG#に改ざんされた場合を想定する。この場合、中継ユニット200は、悪意あるプログラムSPG#からハッシュ値HS#が算出される。そして、ハッシュ値HS#は、共通鍵TCK’により暗号化済みハッシュ値SHS#に暗号化されてサポート装置500へ転送される。このように、共通鍵TCK’により暗号化されたデータが転送されるので、セーフティユニット300からサポート装置500への転送路上において暗号化済みハッシュ値SHS#を改ざんすることはできない。転送路上において何らかの改ざんがなされると、サポート装置500での復号ができなくなるからである。
上述したように、照合処理においては、中継ユニット200は、サポート装置500から受信したセーフティプログラムSPGから算出されるハッシュ値HSを暗号化して、サポート装置500へ送信する。サポート装置500は、中継ユニット200から受信した暗号化済みハッシュ値SHSを復号して得られる結果と、セーフティプログラムSPGから算出されるハッシュ値HSとが一致しているか否かを判断する。
なお、サポート装置500から中継ユニット200へセーフティプログラムSPGおよび対応する暗号化済みハッシュ値SHSを転送する処理((3)転送)において、上述の図12において説明したような共通鍵TCKを用いるようにしてもよい。共通鍵TCKを用いることで、暗号強度を高めることができる。
図20は、図19に示すリモートメンテナンスにおける処理手順を示すシーケンス図である。図20を参照して、サポート装置500は、オペレータによる転送先の選択および転送の操作を受け付けると(シーケンスSQ300)、セーフティプログラムSPGから予め定められたアルゴリズムに従ってハッシュ値HSを算出する(シーケンスSQ302)。続いて、サポート装置500は、自装置の秘密鍵SK’で算出したハッシュ値HSを暗号化して暗号化済みハッシュ値SHSを生成する(シーケンスSQ304)。そして、サポート装置500は、セーフティプログラムSPGおよび対応する暗号化済みハッシュ値SHSを中継ユニット200へ転送する(シーケンスSQ306)。
中継ユニット200は、受信した転送データに含まれるセーフティプログラムSPGからハッシュ値HSを算出する(シーケンスSQ308)。また、中継ユニット200は、受信した転送データに含まれる暗号化済みハッシュ値SHSをサポート装置500の公開鍵PK’でハッシュ値HSに復号する(シーケンスSQ310)。そして、サポート装置500は、算出したハッシュ値HSと復号したハッシュ値HSとの同一性を検証する(シーケンスSQ312)。中継ユニット200は、ハッシュ値HSの同一性が確認されると、セーフティプログラムSPGをセーフティユニット300へ転送する(シーケンスSQ314)。
サポート装置500は、ワンタイム鍵として共通鍵TCK’を生成する(シーケンスSQ320)。続いて、サポート装置500は、自装置の秘密鍵SK’で生成した共通鍵TCK’を暗号化することで、暗号化済み共通鍵STC’を生成する(シーケンスSQ322)。そして、サポート装置500は、生成した暗号化済み共通鍵STC’を中継ユニット200へ転送する(シーケンスSQ324)。
中継ユニット200は、受信した暗号化済み共通鍵STC’をサポート装置500の公開鍵PK’で共通鍵TCK’に復号する(シーケンスSQ326)。そして、中継ユニット200は、受信したセーフティプログラムSPGのハッシュ値HSを算出する(シーケンスSQ328)。さらに、中継ユニット200は、先に復号した共通鍵TCK’で算出したハッシュ値HSを暗号化して暗号化済みハッシュ値SHSを生成する(シーケンスSQ330)。続いて、中継ユニット200は、生成した暗号化済みハッシュ値SHSをサポート装置500へ転送する(シーケンスSQ332)。
サポート装置500は、暗号化済みハッシュ値SHSを共通鍵TCK’でハッシュ値HSに復号する(シーケンスSQ334)。そして、サポート装置500は、自装置が保持しているセーフティプログラムSPGのハッシュ値HSを算出する(シーケンスSQ336)。最終的に、サポート装置500は、自装置が保持しているセーフティプログラムSPGのハッシュ値HSと、中継ユニット200から受信したハッシュ値HSとの一致を判断する(シーケンスSQ338)。
上述したように、サポート装置500に関連付けられた鍵ペア(秘密鍵SK’および公開鍵PK’)を利用することで、書き換えたファイルの同一性を保証することができる(要件4)とともに、メンテナンスを行うオペレータの権限を保証することができる(要件1)。
<I.時限式の公開鍵>
一般的に、鍵の強度は使用期間に応じて変化し得る。鍵の有効期限が長いほど、鍵の強度は低下して、セキュリティリスク(鍵が盗聴される、あるいは解読されるなど)が増大し得る。そこで、時限式の鍵を採用することで、セキュリティリスクを低減できる。
図21は、本実施の形態に従うセーフティシステム1における公開鍵の有効期限の設定例を示す図である。図21に示すように、例えば、セーフティシステム1には、各種保守作業を担当する保守員およびセーフティを統括する責任者などが想定される。
保守員は、何らかの問題があった場合にリモートメンテナンスを行えるように、問題発生毎に一時的に付与されるような短い有効期限が設定される。一方、責任者は、セーフティシステム1を逐次管理する必要があるので、長い有効期限が設定される。但し、セキュリティリスクを増大させないために、秘密鍵は共通化することが好ましい。
図22は、本実施の形態に従うセーフティシステム1に対するサポート装置500からのリモートメンテナンスのさらに別の一形態を説明するための図である。図22を参照して、リモートメンテナンスのためのサポート装置500に対して、ある限られた期間だけ有効な公開鍵PK1を一時的に発行するような構成を採用してもよい。
図21に示すセーフティシステム1には、現場のオペレータの操作を受け付ける表示操作装置600が接続されている。現場のオペレータは、対象の設備および作業員の安全を確認した後、表示操作装置600を操作して、一時的にリモートメンテナンスを可能にするための操作を行う。この操作によって、例えば、30分の間だけ、サポート装置500からセーフティユニット300に対して、セーフティプログラムSPGを転送できるようになる。
より具体的には、表示操作装置600は、この操作に応答して、ワンタイム公開鍵生成要求をセーフティシステム1(中継ユニット200)へ出力する。中継ユニット200は、ワンタイム公開鍵生成要求に応答して、秘密鍵SK1に基づいて公開鍵PK1を生成するとともに、当該生成した公開鍵PK1をサポート装置500へインストールする。
サポート装置500においては、公開鍵PK1を用いることで、セーフティシステム1に対するリモートメンテナンス(典型的には、セーフティプログラムSPGの転送など)を行うことができる。このとき、公開鍵PK1に対しては、比較的短い有効期限(例えば、30分)が設定される。このように、セーフティシステム1の中継ユニット200は、外部からの要求に応答して、公開鍵PK1に対して予め有効期限を定めた上で、公開鍵PK1をサポート装置500へ与える。
上述したように、秘密鍵SK1および公開鍵PK1を用いることで、要件3である「書き換え対象デバイスがユニークに識別できること」を実現できる。さらに、現場のオペレータが表示操作装置600を操作することで、リモートメンテナンスが可能になる構成を採用することで、要件5である「現場の作業者が安全であること」をより確実に実現できる。
図23は、図22に示すサポート装置500からのリモートメンテナンスの別形態を説明するための図である。図23に示すように、セーフティユニット300には、ライトカーテンなどのセーフティデバイス380からの信号が入力される。このような構成において、ライトカーテンが何らかの侵入者を検知して、セーフティユニット300が何らかのセーフティアクションを実行するようになると、サポート装置500からのリモートメンテナンスを禁止するようにしてもよい。
すなわち、セーフティユニット300が何らかのセーフティアクションを実行している期間においては、当該セーフティアクションの実行を中断させるような、セーフティプログラムSPGの書き換えなどを禁止することが好ましいからである。
具体的には、セーフティデバイス380からの信号を受けて、セーフティユニット300が何らかのセーフティアクションを開始すると、中継ユニット200に対してアクセス無効要求を送信してもよい。
アクセスの無効化を実現する方法として、公開鍵失効リストINLを用いてもよい。公開鍵失効リストINLにいずれかの公開鍵が登録されると、当該登録された公開鍵は、たとえ有効期限内であっても、無効化される。すなわち、公開鍵失効リストINLに登録された公開鍵を用いて、サポート装置500かリモートメンテナンスを行うことはできなくなる。
なお、公開鍵失効リストINLについては、中継ユニット200が保持するようにしてもよいし、セーフティシステム1外の認証局などが保持するようにしてもよい。
このような公開鍵失効リストINLを用いることで、セーフティシステム1に対してリモートメンテナンスを行うことができる権限を制約して、セキュリティ強度を高めることができる。
図24は、図22に示すサポート装置500からのリモートメンテナンスのさらに別形態を説明するための図である。図24に示すように、例えば、サポート装置500を操作してリモートメンテナンスを行うオペレータと、現場のオペレータとが電話などのセキュアなコミュニケーション手段でパスワードを共有し、それぞれサポート装置500および表示操作装置600に対して、認証パスワードATPを入力する。
サポート装置500においては、入力された認証パスワードATPを公開鍵PK1で暗号化して暗号化済み認証パスワードSATを生成する。暗号化済み認証パスワードSATは、暗号化済みセーフティプログラムSSPとともに、転送データとしてセーフティシステム1へ転送される。
一方、表示操作装置600は、入力された認証パスワードATPをセーフティシステム1(中継ユニット200)へ送信する。中継ユニット200は、サポート装置500からの転送データに含まれる暗号化済み認証パスワードSATを復号するとともに、表示操作装置600から受信した認証パスワードATPと一致しているか否かを照合する。この認証パスワードATPの照合が成功した場合に限って、サポート装置500からのリモートメンテナンスを有効化する。
このように、サポート装置500を操作してリモートメンテナンスを行うオペレータと、現場のオペレータとが連絡を取り合うことで、要件5である「現場の作業者が安全であること」をより確実に実現できる。さらに、オペレータ同士が共有する認証パスワードATPを用いることで、セキュリティ強度をより高めることもできる。すなわち、中継ユニット200からサポート装置500へ提供した公開鍵PKが盗聴されたとしても、認証パスワードATPにより不正なリモートメンテナンスの実施を禁止できる。
<J.その他の形態>
上述の実施の形態においては、セーフティプログラムSPGを実行するセーフティユニット300と、サポート装置500との間でデータを遣り取りする中継ユニット200とは独立したユニットからなるシステムについて例示した。このような中継ユニット200とセーフティユニット300とを別体とした場合には、既存のシステムに対して、中継ユニット200を追加することで、上述したようなリモートメンテナンスを容易に実現できる。
但し、必ずしも、中継ユニット200とセーフティユニット300とを別体にする必要はなく、両者を一体化した構成を採用してもよい。さらに、制御ユニット100と、中継ユニット200と、セーフティユニット300とのすべてを一体化した構成を採用してもよい。この場合には、筐体をコンパクト化できるなどの利点がある。
図25は、本実施の形態に従うセーフティシステム1の構成の変形例を示す模式図である。図25には、制御ユニット100、中継ユニット200およびセーフティユニット300の一部または全部が一体化された構成例を示す。
図25(A)に示されるセーフティシステム1Aは、制御ユニット100およびセーフティユニット300を一体化した統合ユニット50Aと、中継ユニット200とから構成される。すなわち、セーフティシステム1Aの統合ユニット50Aにおいては、標準制御およびセーフティ制御が同一のユニット内で実行される。
図25(B)に示されるセーフティシステム1Bは、中継ユニット200および制御ユニット100を一体化した統合ユニット50Bと、セーフティユニット300とから構成される。すなわち、セーフティシステム1Bの統合ユニット50Bにおいては、他の装置との間の通信処理および標準制御が同一のユニット内で実行される。
図25(C)に示されるセーフティシステム1Cは、制御ユニット100、中継ユニット200およびセーフティユニット300を一体化した統合ユニット50Cから構成される。すなわち、セーフティシステム1Cの統合ユニット50Cにおいては、他の装置との間の通信処理、標準制御およびセーフティ制御が同一のユニット内で実行される。
このように、制御ユニット100、中継ユニット200およびセーフティユニット300が担当する機能および処理の実装形態はどのようなものであってもよい。さらに、制御ユニット100、中継ユニット200およびセーフティユニット300が担当する機能の一部同士を共通の処理ユニットに実装してもよい。
<K.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
セーフティプログラム(SPG)に従ってセーフティ制御を実行する処理実行部(300)と、
前記処理実行部と直接的に接続されるとともに、前記処理実行部が保持する前記セーフティプログラムに対する外部アクセスを仲介する通信部(200)と、
前記通信部とネットワーク接続するとともに、ユーザ操作に従って、前記セーフティプログラムに対する追加または変更を含むメンテナンスを実行するサポート装置(500)とを備え、
前記サポート装置および前記通信部は、予め取り交わされた情報(SK,PK,CR)で両者を特定し、前記メンテナンスに必要なデータを遣り取りする、セーフティシステム。
[構成2]
前記通信部は、前記予め取り交わされた情報の少なくとも一部として、鍵(SK)を保持しており、
前記サポート装置は、前記通信部が当該鍵で復号可能なように、前記メンテナンスに必要なデータを暗号化して、前記通信部へ転送する、構成1に記載のセーフティシステム。
[構成3]
前記通信部は、前記鍵として第1の秘密鍵(SK)を保持しており、
前記サポート装置は、前記第1の秘密鍵と対にある第1の公開鍵(PK)、および、前記第1の公開鍵に対して発行された第1の電子証明書(CR)の少なくとも一方を保持している、構成2に記載のセーフティシステム。
[構成4]
前記通信部は、前記サポート装置から転送されたデータを前記第1の秘密鍵(SK)で復号できた場合に、当該復号したデータを前記処理実行部へ転送する、構成3に記載のセーフティシステム。
[構成5]
前記通信部は、外部からの要求に応答して、前記第1の公開鍵(PK)に対して予め有効期限を定めた上で、当該第1の公開鍵(PK)を前記サポート装置へ与える、構成3または4に記載のセーフティシステム。
[構成6]
前記サポート装置は、前記第1の秘密鍵(SK)と対にある第1の公開鍵(PK)に対して発行された第1の電子証明書(CR)を保持しており、前記第1の電子証明書は、前記処理実行部を識別するための識別情報(SRN)を含んでおり、
前記サポート装置は、前記メンテナンスに必要なデータの送信前に、前記通信部を介して取得した前記処理実行部の識別情報(SRN)と、前記第1の電子証明書に含まれる識別情報(SRN)とが一致しているか否かを判断する、構成3~5のいずれか1項に記載のセーフティシステム。
[構成7]
前記サポート装置は、前記通信部を介して取得した前記処理実行部の識別情報(SRN)と、前記第1の電子証明書(CR)に含まれる識別情報(SRN)とが一致していることを条件に、前記メンテナンスに必要なデータを前記通信部へ送信する、構成6に記載のセーフティシステム。
[構成8]
前記サポート装置は、
前記メンテナンスに必要なデータを送信する必要がある場合に、ワンタイム鍵である第3の鍵(TCK)を生成し、
前記第3の鍵(TCK)で前記メンテナンスに必要なデータを暗号化するとともに、前記通信部が前記鍵で復号可能なように前記第3の鍵を暗号化して、前記通信部へ送信する、構成3~7のいずれか1項に記載のセーフティシステム。
[構成9]
前記サポート装置は、前記メンテナンスに必要なデータとして前記セーフティプログラム(SPG)を送信するように構成されており、
前記サポート装置は、第2の秘密鍵(SK’)を保持しており、
前記通信部は、前記第2の秘密鍵と対にある第2の公開鍵(PK’)、および、前記第2の公開鍵に対して発行された第2の電子証明書(CR’)の少なくとも一方を保持しており、
前記サポート装置は、前記セーフティプログラムから算出される第1のハッシュ値(HS)を前記第2の秘密鍵で暗号化して前記通信部へ送信し、
前記通信部は、前記サポート装置から受信したセーフティプログラムから算出した第2のハッシュ値(HS)と、前記サポート装置から受信した暗号化された前記第1のハッシュ値を前記第2の公開鍵で復号して得られた結果とが一致しているか否かを判断する、構成1~8のいずれか1項に記載のセーフティシステム。
[構成10]
前記通信部は、前記サポート装置から受信したセーフティプログラムから算出される前記第2のハッシュ値(HS)を暗号化して、前記サポート装置へ送信し、
前記サポート装置は、前記通信部から受信した暗号化された前記第2のハッシュ値(HS)を復号して得られる結果と、前記セーフティプログラムから算出される第1のハッシュ値とが一致しているか否かを判断する、構成9に記載のセーフティシステム。
[構成11]
前記処理実行部および前記通信部は、互いに独立したユニットとして構成される、構成1~10のいずれか1項に記載のセーフティシステム。
[構成12]
セーフティプログラム(SPG)に従ってセーフティ制御を実行する処理実行部(300)を含むコントローラシステムにおけるメンテナンス方法であって、
サポート装置と通信部とをネットワーク接続するステップ(SQSQ106)と、
前記サポート装置が、ユーザ操作に従って、前記セーフティプログラムに対する追加または変更を含むメンテナンスを実行するステップ(SQ104,SQ114)と、
前記サポート装置および前記通信部は、予め取り交わされた情報で両者を特定し、前記メンテナンスに必要なデータを遣り取りするステップ(SQ106~SQ110)とを備える、メンテナンス方法。
<L.利点>
本実施の形態に係るセーフティシステム1によれば、サポート装置500と中継ユニット200との間で予め取り交わされた情報(例えば、秘密鍵/公開鍵)で両者を特定する。これによって、サポート装置500から接続先の中継ユニット200を一意に特定できる。また、逆に、中継ユニット200は転送元のサポート装置500を一意に特定できる。これによって、IEC 62061に規定される要件を満足しつつ、リモートメンテナンスを実現できる。
その結果、リモートメンテナンスの効率を高めることともに、それによって、生産設備の生産性を向上させることができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,1A,1B,1C,2 セーフティシステム、4 ネットワーク、10 内部バス、100 制御ユニット、102,202,302,502 プロセッサ、104,204,304 チップセット、106,206,306,504 主記憶装置、108,208,308,510 二次記憶装置、110,210 通信コントローラ、112 USBコントローラ、114,214,314 メモリカードインターフェイス、115,215,315 メモリカード、116,118,120,216,218 ネットワークコントローラ、122,322 内部バスコントローラ、124,224,324 インジケータ、200 中継ユニット、212,520 通信インターフェイス、300 セーフティユニット、380 セーフティデバイス、400 機能ユニット、450 電源ユニット、50A,50B,50C 統合ユニット、500 サポート装置、506 入力部、508 出力部、512 光学ドライブ、514 記録媒体、518 プロセッサバス、590 シリアル番号消化処理、600 表示操作装置、700 情報処理装置、800 認証局、5102 OS、5104 サポートプログラム、5106 プロジェクト、5108 標準制御ソースプログラム、5110,5112 セーフティソースプログラム、ATP 認証パスワード、CR サーバ証明書、CR クライアント証明書、HS ハッシュ値、I PC、INL 公開鍵失効リスト、LS リスト、PK,PK’,PK1 公開鍵、PK1 秘密鍵、SK,SK’,SK1,SK2 秘密鍵、SAT 暗号化済み認証パスワード、SHS 暗号化済みハッシュ値、SPG セーフティプログラム、SPG# 悪意あるプログラム、SRN シリアル番号、SSP 暗号化済みセーフティプログラム、STC 暗号化済み共通鍵、TCK 共通鍵、UT 利用者情報。

Claims (12)

  1. セーフティプログラムに従ってセーフティ制御を実行する処理実行部と、
    前記処理実行部と直接的に接続されるとともに、前記処理実行部が保持する前記セーフティプログラムに対する外部アクセスを仲介する通信部と、
    前記通信部とネットワーク接続するとともに、ユーザ操作に従って、前記セーフティプログラムの状態の監視と、前記セーフティプログラムに対する追加または変更を含むメンテナンスを実行するサポート装置とを備え、
    前記サポート装置および前記通信部は、予め取り交わされた情報で両者を特定し、メンテナンスに必要なデータを遣り取りする、セーフティシステム。
  2. 前記通信部は、前記予め取り交わされた情報の少なくとも一部として、鍵を保持しており、
    前記サポート装置は、前記通信部が当該鍵で復号可能なように、前記メンテナンスに必要なデータを暗号化して、前記通信部へ転送する、請求項1に記載のセーフティシステム。
  3. 前記通信部は、前記鍵として第1の秘密鍵を保持しており、
    前記サポート装置は、前記第1の秘密鍵と対にある第1の公開鍵、および、前記第1の公開鍵に対して発行された第1の電子証明書の少なくとも一方を保持している、請求項2に記載のセーフティシステム。
  4. 前記通信部は、前記サポート装置から転送されたデータを前記第1の秘密鍵で復号できた場合に、当該復号したデータを前記処理実行部へ転送する、請求項3に記載のセーフティシステム。
  5. 前記通信部は、外部からの要求に応答して、前記第1の公開鍵に対して予め有効期限を定めた上で、当該第1の公開鍵を前記サポート装置へ与える、請求項3または4に記載のセーフティシステム。
  6. 前記サポート装置は、前記第1の秘密鍵と対にある第1の公開鍵に対して発行された第1の電子証明書を保持しており、前記第1の電子証明書は、前記処理実行部を識別するための識別情報を含んでおり、
    前記サポート装置は、前記メンテナンスに必要なデータの送信前に、前記通信部を介して取得した前記処理実行部の識別情報と、前記第1の電子証明書に含まれる識別情報とが一致しているか否かを判断する、請求項3~5のいずれか1項に記載のセーフティシステム。
  7. 前記サポート装置は、前記通信部を介して取得した前記処理実行部の識別情報と、前記第1の電子証明書に含まれる識別情報とが一致していることを条件に、前記メンテナンスに必要なデータを前記通信部へ送信する、請求項6に記載のセーフティシステム。
  8. 前記サポート装置は、
    前記メンテナンスに必要なデータを送信する必要がある場合に、ワンタイム鍵である第3の鍵を生成し、
    前記第3の鍵で前記メンテナンスに必要なデータを暗号化するとともに、前記通信部が前記鍵で復号可能なように前記第3の鍵を暗号化して、前記通信部へ送信する、請求項3~7のいずれか1項に記載のセーフティシステム。
  9. 前記サポート装置は、前記メンテナンスに必要なデータとして前記セーフティプログラムを送信するように構成されており、
    前記サポート装置は、第2の秘密鍵を保持しており、
    前記通信部は、前記第2の秘密鍵と対にある第2の公開鍵、および、前記第2の公開鍵に対して発行された第2の電子証明書の少なくとも一方を保持しており、
    前記サポート装置は、前記セーフティプログラムから算出される第1のハッシュ値を前記第2の秘密鍵で暗号化して前記通信部へ送信し、
    前記通信部は、前記サポート装置から受信したセーフティプログラムから算出した第2のハッシュ値と、前記サポート装置から受信した暗号化された前記第1のハッシュ値を前記第2の公開鍵で復号して得られた結果とが一致しているか否かを判断する、請求項1~8のいずれか1項に記載のセーフティシステム。
  10. 前記通信部は、前記サポート装置から受信したセーフティプログラムから算出される前記第2のハッシュ値を暗号化して、前記サポート装置へ送信し、
    前記サポート装置は、前記通信部から受信した暗号化された前記第2のハッシュ値を復号して得られる結果と、前記セーフティプログラムから算出される第1のハッシュ値とが一致しているか否かを判断する、請求項9に記載のセーフティシステム。
  11. 前記処理実行部および前記通信部は、互いに独立したユニットとして構成される、請求項1~10のいずれか1項に記載のセーフティシステム。
  12. セーフティプログラムに従ってセーフティ制御を実行する処理実行部を含むコントローラシステムにおけるメンテナンス方法であって、
    サポート装置と通信部とをネットワーク接続するステップと、
    前記サポート装置が、ユーザ操作に従って、前記セーフティプログラムの状態の監視と、前記セーフティプログラムに対する追加または変更を含むメンテナンスを実行するステップと、
    前記サポート装置および前記通信部は、予め取り交わされた情報で両者を特定し、メンテナンスに必要なデータを遣り取りするステップとを備える、メンテナンス方法。
JP2019114342A 2019-01-28 2019-06-20 セーフティシステムおよびメンテナンス方法 Active JP7334492B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/415,743 US20220085982A1 (en) 2019-01-28 2019-12-20 Safety system and maintenance method
PCT/JP2019/050128 WO2020158247A1 (ja) 2019-01-28 2019-12-20 セーフティシステムおよびメンテナンス方法
CN201980058532.1A CN112654985B (zh) 2019-01-28 2019-12-20 安全系统以及维护方法
EP19913150.9A EP3920063B1 (en) 2019-01-28 2019-12-20 Safety system and maintenance method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019012603 2019-01-28
JP2019012603 2019-01-28

Publications (2)

Publication Number Publication Date
JP2020120367A JP2020120367A (ja) 2020-08-06
JP7334492B2 true JP7334492B2 (ja) 2023-08-29

Family

ID=71891394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019114342A Active JP7334492B2 (ja) 2019-01-28 2019-06-20 セーフティシステムおよびメンテナンス方法

Country Status (3)

Country Link
EP (1) EP3920063B1 (ja)
JP (1) JP7334492B2 (ja)
CN (1) CN112654985B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113673718B (zh) * 2021-08-23 2024-03-15 珠海优特电力科技股份有限公司 现场作业安全措施执行过程的管控方法和装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007060959A1 (ja) 2005-11-25 2007-05-31 Yokogawa Electric Corporation プラント制御システム
JP2009124520A (ja) 2007-11-16 2009-06-04 Fujitsu Ltd データ送付方法および電子機器
JP2016072675A (ja) 2014-09-26 2016-05-09 Kddi株式会社 管理装置、車両、管理方法およびコンピュータプログラム
JP2017200031A (ja) 2016-04-27 2017-11-02 学校法人東京電機大学 電子メールシステム
JP2018041224A (ja) 2016-09-06 2018-03-15 大日本印刷株式会社 ソフトウェア更新システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3918827B2 (ja) * 2004-01-21 2007-05-23 株式会社日立製作所 セキュアリモートアクセスシステム
US9112891B2 (en) * 2007-02-02 2015-08-18 Sharp Laboratories Of America, Inc. Remote firmware management for electronic devices
JP5457363B2 (ja) * 2008-10-10 2014-04-02 パナソニック株式会社 情報処理装置、認証システム、認証装置、情報処理方法、情報処理プログラム、記録媒体及び集積回路
EP2479701B1 (en) * 2009-09-17 2019-07-03 Panasonic Corporation Information processing device, administration device, invalid-module detection system, invalid-module detection method, recording medium having an invalid-module detection program recorded thereon, administration method, recording medium having an administration program recorded thereon, and integrated circuit
JP5895471B2 (ja) * 2011-01-17 2016-03-30 株式会社リコー 情報処理装置、プログラム
US9152770B2 (en) * 2011-09-13 2015-10-06 Panasonic Intellectual Property Management Co., Ltd. Content reproduction system, information processing terminal, media server, secure device, and server secure device
US8898480B2 (en) * 2012-06-20 2014-11-25 Microsoft Corporation Managing use of a field programmable gate array with reprogammable cryptographic operations
JP2015039141A (ja) * 2013-08-19 2015-02-26 富士通株式会社 証明書発行要求生成プログラム、証明書発行要求生成装置、証明書発行要求生成システム、証明書発行要求生成方法、証明書発行装置および認証方法
KR20150074414A (ko) * 2013-12-24 2015-07-02 현대자동차주식회사 펌웨어 업그레이드 방법 및 그 시스템
JP2018117185A (ja) * 2017-01-16 2018-07-26 キヤノン株式会社 情報処理装置、情報処理方法
US10455416B2 (en) * 2017-05-26 2019-10-22 Honeywell International Inc. Systems and methods for providing a secured password and authentication mechanism for programming and updating software or firmware
JP6548172B2 (ja) * 2017-06-12 2019-07-24 パナソニックIpマネジメント株式会社 端末認証システム、サーバ装置、及び端末認証方法
CN109214168B (zh) * 2018-08-27 2020-08-18 阿里巴巴集团控股有限公司 固件升级方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007060959A1 (ja) 2005-11-25 2007-05-31 Yokogawa Electric Corporation プラント制御システム
JP2009124520A (ja) 2007-11-16 2009-06-04 Fujitsu Ltd データ送付方法および電子機器
JP2016072675A (ja) 2014-09-26 2016-05-09 Kddi株式会社 管理装置、車両、管理方法およびコンピュータプログラム
JP2017200031A (ja) 2016-04-27 2017-11-02 学校法人東京電機大学 電子メールシステム
JP2018041224A (ja) 2016-09-06 2018-03-15 大日本印刷株式会社 ソフトウェア更新システム

Also Published As

Publication number Publication date
CN112654985A (zh) 2021-04-13
EP3920063A4 (en) 2022-10-12
JP2020120367A (ja) 2020-08-06
CN112654985B (zh) 2024-04-09
EP3920063B1 (en) 2023-11-01
EP3920063A1 (en) 2021-12-08

Similar Documents

Publication Publication Date Title
TWI741041B (zh) 用於可程式化設備的統一程式設計環境
US7155616B1 (en) Computer network comprising network authentication facilities implemented in a disk drive
CN102246455B (zh) 自我认证通信设备以及设备认证系统
WO2021073170A1 (zh) 数据提供和融合的方法及装置
US9674164B2 (en) Method for managing keys in a manipulation-proof manner
US11171922B2 (en) Method and system for secure data transmission with a VPN box
JP5225412B2 (ja) 通信装置および通信方法
US10284374B2 (en) Code signing system with machine to machine interaction
JP2017175226A (ja) 公開鍵証明書を発行するためのプログラム、方法およびシステム
US20210249145A1 (en) Information communication device, authentication program for information communication device, and authentication method
TW201717574A (zh) 保全裝置以及保全方法
JP6972145B2 (ja) プログラマブル・ハードウェア・セキュリティ・モジュール及びプログラマブル・ハードウェア・セキュリティ・モジュールに用いられる方法
WO2020158247A1 (ja) セーフティシステムおよびメンテナンス方法
US11916903B2 (en) Method for setting up authorization verification for a first device
US20150047001A1 (en) Application program execution device
JP7334492B2 (ja) セーフティシステムおよびメンテナンス方法
US20160277182A1 (en) Communication system and master apparatus
US20220191191A1 (en) Cryptographically protected provision of a digital certificate
JP7127585B2 (ja) セーフティシステムおよびメンテナンス方法
US11640468B2 (en) Method for operating an industrial PC device and industrial PC device
CN105763518A (zh) 一种基于b/s架构的远程数据加密方法
KR20150074128A (ko) 적어도 하나의 소프트웨어 구성요소를 컴퓨팅 디바이스에 다운 로딩하는 방법, 관련 컴퓨터 프로그램 제조물, 컴퓨팅 디바이스, 컴퓨터 시스템
CN110972141B (zh) 信息验证方法、装置、电子设备及可读存储介质
KR101893758B1 (ko) 암호화된 트래픽 분석을 통한 내부 정보 유출 모니터링 시스템 및 방법
Biham et al. K7: A Protected Protocol for Industrial Control Systems that Fits Large Organizations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230630

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230731

R150 Certificate of patent or registration of utility model

Ref document number: 7334492

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150