JP6766917B1 - 制御システムおよび制御方法 - Google Patents

制御システムおよび制御方法 Download PDF

Info

Publication number
JP6766917B1
JP6766917B1 JP2019083833A JP2019083833A JP6766917B1 JP 6766917 B1 JP6766917 B1 JP 6766917B1 JP 2019083833 A JP2019083833 A JP 2019083833A JP 2019083833 A JP2019083833 A JP 2019083833A JP 6766917 B1 JP6766917 B1 JP 6766917B1
Authority
JP
Japan
Prior art keywords
program
file
authentication
mac address
plc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019083833A
Other languages
English (en)
Other versions
JP2020181364A (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 JP2019083833A priority Critical patent/JP6766917B1/ja
Priority to PCT/JP2020/010026 priority patent/WO2020217741A1/ja
Application granted granted Critical
Publication of JP6766917B1 publication Critical patent/JP6766917B1/ja
Publication of JP2020181364A publication Critical patent/JP2020181364A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • 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
    • 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/45Structures or tools for the administration of authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】容易にプログラムの不正使用を防止することが可能な認証ファイル作成装置を提供する。【解決手段】認証ファイル作成端末40は、対象となる装置用コントローラ30で運転用ユーザプログラムP12を動作可能とする認証ファイルAFを作成する認証ファイル作成端末であって、認証ファイル作成部49を備える。認証ファイル作成部49は、装置用コントローラ30から認証用ユーザプログラムP11によって読み出されたMACアドレスを含む情報に基づいて認証ファイルAFを作成する。【選択図】図4

Description

本発明は、認証ファイル作成装置、制御システム、プログラム、および制御方法に関する。
従来、FA(Factory Automation)システムにおいて、PLC(Programmable Logic Controller)が用いられている。PLCは、支援ツール等によって作成されたプログラムに基づいて対象装置の制御を行う。対象装置のセンサやスイッチ等の検出機器がPLCの入力端子に接続され、対象装置のモータ等の動作機器がPLCの出力端子に接続される。PLCは、作成されたプログラムに基づいて、入力端子への入力信号に応じた出力信号を出力端子から出力し、対象装置の制御を行う。
このようなPLCの制御に用いられるプログラムの不正使用を防止する技術が、例えば特許文献1に開示されている。
特許文献1の制御システムでは、ユーザプログラムに埋め込んだセキュリティコードと、ライセンスファイルから取得したセキュリティコードが一致した場合にプログラムが実行可能となる。
特許第5900143号明細書
しかしながら、引用文献1の制御システムでは、プログラムの使用を許可する客先ごとに異なるセキュリティコードを埋め込む必要があるため手間がかかる。また、複数の客先に対してセキュリティコードを設定するため、誤って同じセキュリティコードを埋め込むことも考えられる。
本発明は、容易にプログラムの不正使用を防止することが可能な認証ファイル作成装置、制御システム、プログラム、および制御方法を提供することを目的とする。
上記目的を達成するために、第1の発明にかかる認証ファイル作成装置は、運転用プログラムの使用許可の対象であるPLCで運転用プログラムを動作可能とする認証ファイルを作成する認証ファイル作成装置であって、認証ファイル作成部を備える。認証ファイル作成部は、PLCから認証用プログラムによって読み出されたMACアドレスを含む情報に基づいて認証ファイルを作成する。
このように、運転用プログラムの使用許可の対象となるPLCから読み出されたMACアドレスを自動的に読み出して、MACアドレスに基づいて運転用プログラムを動作可能とする認証ファイルが作成される。このため、客先ごとにプログラムに異なるセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
第2の発明にかかる認証ファイル作成装置は、第1の発明にかかる認証ファイル作成装置であって、MACアドレスを含む情報は暗号化されている。認証ファイル作成装置は、MACアドレスを含む情報を復号する復号部を更に備える。
これにより、運転用プログラムの使用許可の対象となるPLCを使用するユーザに対して認証ファイルがMACアドレスに基づいて作成されることを秘密にすることができる。
第3の発明にかかる制御システムは、第1または第2の発明の認証ファイル作成装置と、プログラム作成装置と、を備える。プログラム作成装置は、PLCのMACアドレスを読み出す認証用プログラムと、運転用プログラムを作成可能な入力部を有する。
これにより、運転用プログラムの使用許可の対象となるPLCから自動的にMACアドレスを読み出すことが可能な認証用プログラムを作成することができる。
第4の発明にかかる制御システムは、第3の発明にかかる制御システムであって、バックアップ作成装置を更に備える。バックアップ作成装置は、記録媒体を接続可能な接続部を有し、復元情報なしで認証用プログラムと運転用プログラムのバックアップを記録媒体に行う。プログラム作成装置は、認証用プログラムおよび運転用プログラムをバックアップ作成装置に復元情報なしで転送可能な転送部を有する。
このように、復元情報なしでバックアップを記録媒体に行うことによって、認証用プログラムと運転用プログラムのソースが外部に開示されないようにすることができる。
第5の発明にかかる制御システムは、第4の発明にかかる制御システムであって、PLCを更に備える。PLCは、記録媒体を接続可能な接続部を有し、記録媒体に記録された認証用プログラムおよび運転用プログラムをリストアする。認証用プログラムがリストアされたPLCは、PLCのMACアドレスと、取得した認証ファイルのMACアドレスを比較して同じ場合に運転用プログラムを起動させる認証比較部を有する。
このように、記録媒体を介して認証用プログラムと運転用プログラムをPLCにリストアするため、認証用プログラムと運転用プログラムの転送を他のツールを用いる必要なく行うことができる。
第6の発明にかかるプログラムは、運転用プログラムの使用許可の対象であるPLCに、読み出しステップと、比較ステップと、起動ステップと、を実行させる。読み出しステップは、PLCのMACアドレスを読み出す。比較ステップは、認証ファイルに含まれるMACアドレスと、読み出したMACアドレスを比較する。起動ステップは、認証ファイルのMACアドレスと読み出したMACアドレスが同じ場合に運転を実行可能な状態にする。
このように、運転用プログラムの使用許可の対象となるPLCのMACアドレスを自動的に読み出して、MACアドレスに基づいて運転用プログラムを動作可能とする認証ファイルが作成される。このため、客先ごとにプログラムに異なるセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
第7の発明にかかるプログラムは、第6の発明にかかるプログラムであって、読み出したMACアドレスを暗号化する暗号化ファイル作成ステップを更に実行させる。
これにより、運転用プログラムの使用許可の対象となるPLCを使用するユーザに対して認証ファイルがMACアドレスに基づいて作成されることを秘密にすることができる。
第8の発明にかかる制御方法は、運転用プログラムの使用許可の対象であるPLCで運転用プログラムを動作可能とする制御方法であって、読み出しステップと、比較ステップとを備える。読み出しステップは、対象PLCからMACアドレスを読み出す。比較ステップは、読み出したMACアドレスと、取得した認証ファイルに含まれるMACアドレスを比較して同じ場合に運転用プログラムを起動する。
このように、運転用プログラムの使用許可の対象となるPLCのMACアドレスを読み出して、MACアドレスに基づいて運転用プログラムを動作可能とする認証ファイルが作成される。このため、客先ごとにプログラムにセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
第9の発明にかかる制御方法は、第8の発明にかかる制御方法であって、読み出したMACアドレスを暗号化する暗号化ステップを更に備える。
これにより、運転用プログラムの使用許可の対象となるPLCを使用するユーザに対して認証ファイルがMACアドレスに基づいて作成されることを秘密にすることができる。
第10の発明にかかる制御方法は、第8または9の発明にかかる制御方法であって、読み出したMACアドレスを用いて認証ファイルを作成する認証ファイル作成ステップを更に備える。
これにより、運転用プログラムの使用許可の対象となるPLCを動作させるための認証ファイルを作成することができる。
第11の発明にかかる制御方法は、第8の発明にかかる制御方法であって、プログラム作成ステップと、バックアップ作成ステップと、リストアステップと、を備える。プログラム作成ステップは、運転用プログラムと読み出しステップを実行する認証用プログラムとを作成する。バックアップ作成ステップは、運転用プログラムと認証用プログラムを復元情報なしでバックアップを作成する。リストアステップは、バックアップされた運転用プログラムと認証用プログラムを対象PLCにリストアする。
このように、復元情報なしで認証用プログラムと運転用プログラムのバックアップを行い、そのプログラムを対象のPLCにおいてリストアすることによって認証用プログラムと運転用プログラムのソースが外部に開示されないようにすることができる。
本発明によれば、容易にプログラムの不正使用を防止することが可能な認証ファイル作成装置、制御システム、プログラム、および制御方法を提供することができる。
本発明にかかる実施の形態における制御システムのハード構成を示すブロック図。 (a)図1の開発ツールのストレージに保存されるプログラムを示すブロック図、(b)図1の開発用コントローラのカードスロットに収納された記録媒体にバックアップファイルが保存された状態を示すブロック図、(c)図1の装置用コントローラのカードスロットに収納された記録媒体にバックアップファイルが保存された状態を示すブロック図、(d)図1の装置用コントローラのストレージに保存されたプログラムを示すブロック図。 (a)図1の装置用コントローラの機能的構成を示すブロック図、(b)図1の装置用コントローラのカードスロットに収納された記録媒体に装置情報ファイルが保存された状態を示すブロック図、(c)図1の認証ファイル作成端末の機能的構成を示すブロック図、(d)図1の装置用コントローラのカードスロットに収納された記録媒体に認証ファイルが保存された状態を示すブロック図。 本発明にかかる実施の形態における制御システムの動作の流れを示すシーケンス図。 本実施の形態の制御システの動作の流れを示すフロー図。 本実施の形態の制御システの動作の流れを示すフロー図。 (a)図1の装置用コントローラの操作部の操作画面に表示される装置情報ファイル作成画面を示す図、(b)図1の装置用コントローラの操作部の操作画面に表示される認証画面を示す図。
以下に、本発明の実施の形態に係る制御システムについて図面に基づいて説明する。
<構成>
(制御システム1の概要)
図1は、本発明にかかる実施の形態の制御システム1のハードウェア構成を示す図である。制御システム1は、開発した運転用ユーザプログラムの使用許可の対象である装置用コントローラに運転用ユーザプログラムの使用を許可し、使用許可の対象としない装置用コントローラによる運転用プログラムの不正使用を防止する。
制御システム1は、開発ツール10(プログラム作成装置の一例)と、開発用コントローラ20(バックアップ作成装置の一例)と、装置用コントローラ30(PLCの一例)と、認証ファイル作成端末40(認証ファイル作成装置の一例)と、を備える。
制御システム1は、一例として、開発ツール10と、開発用コントローラ20と、認証ファイル作成端末40を備えた開発メーカが、装置用コントローラ30を有するユーザに、開発ツール10および開発用コントローラ20で開発した運転用ユーザプログラムを使用させる際に認証を行うシステムである。
(開発ツール)
開発ツール10は、例えばPC(personal Computer)であり、開発者が、PLC(Programmable Logic Controller)である開発用コントローラ20で運転するプログラムを開発するツールである。開発ツール10では、ラダー言語(ラダーロジック)で開発用コントローラ20のプログラムを作成する。
開発ツール10は、プロセッサ11と、メモリ12と、ストレージ13と、入力部14と、表示部15と、送信部16(転送部の一例)と、を有する。プロセッサ11は、ストレージ13に保存されている開発支援プログラムをメモリ12上に展開して実行する。
入力部14は、例えばキーボードなどであり、ラダー言語でユーザプログラムP10を作成する際に作業者によって入力が行われる。表示部15は、例えばディスプレイであって、ラダー言語でユーザプログラムP10を作成する際に表示を行う。
ストレージ13には、作成したユーザプログラムP10が保存される。送信部16は、作成したユーザプログラムP10を復元情報なしで開発用コントローラ20に送信する。復元情報なしで送信するとは、コンパイルされたユーザプログラムP10をデコンパイル情報なしで送信することである。デコンパイル情報を送信しないことによって、ユーザプログラムP10をデコンパイルできずラダー言語での表示を行うことができなくなるため、開発ツール10を使用する開発メーカ以外がユーザプログラムP10のプログラムソースを見ることが出来ない。
ここで、ストレージ13に保存されるユーザプログラムP10には、図2(a)に示すように、認証用ユーザプログラムP11(認証用プログラムの一例)と、運転用ユーザプログラムP12(運転用プログラムの一例)と、設定情報P13とが含まれる。認証用ユーザプログラムP11は、後述するようにPLCである装置用コントローラ30のEthernet/IPポート35のMACアドレス(Media Access Control address)を取得する動作を実行するプログラムである。運転用ユーザプログラムP12は、装置用コントローラ30を動作させてFA機器の制御を行うプログラムである。運転用ユーザプログラムP12は、例えばセンサやスイッチ等の検出機器の検出値を取得し、検出値に応じてモータ等の動作機器を動作させるといった制御を行う。
設定情報P13は、検出機器と動作機器のコントローラ(開発用コントローラ20および装置用コントローラ30)における接続位置などの情報を含む。
(開発用コントローラ)
開発用コントローラ20は、開発ツール10とともにFA機器の制御に用いられるプログラムを開発するために用いられる。
開発用コントローラ20は、上述したようにPLCであり、開発ツール10で作成されたプログラムがコンパイルされて送信される。なお、開発用コントローラ20は、FA機器に接続することにより開発ツール10によって作成されたプログラムを実行してFA機器を制御することができる。
これにより、例えば、開発用コントローラ20にFA機器を接続し、開発ツール10で作成されたプログラムを開発用コントローラ20で実行してFA機器の制御を実際に行いながらプログラムの開発を行うことができる。
開発用コントローラ20は、プロセッサ21と、メモリ22と、ストレージ23と、受信部24と、カードスロット25(接続部の一例)と、を備える。
受信部24は、開発ツール10の送信部16から送信されたユーザプログラムP10(認証用ユーザプログラムP11、運転用ユーザプログラムP12および設定情報P13)を受信する。
ストレージ23は、受信したユーザプログラムP10(認証用ユーザプログラムP11、運転用ユーザプログラムP12および設定情報P13)を保存する。
プロセッサ21は、ストレージ23に保存されたユーザプログラムP10(認証用ユーザプログラムP11、運転用ユーザプログラムP12および設定情報P13)をメモリ22に展開して実行する。
カードスロット25には、SDカード等の記録媒体51が収納可能である。カードスロット25に収納された記録媒体51に、図2(b)に示すように、ストレージ23に保存されたユーザプログラムP10のバックアップファイルBFを保存することができる。なお、記録媒体51はSDカードに限らなくても良く、CD、DVD、MicroSD、USB等であってもよく、ファイルを保存できさえすればよい。
バックアップの記録媒体51への保存は、ディップスイッチを設定することによって行ってもよいし、記録媒体51をカードスロット25に挿入することによって自動で行われてもよい。また、開発ツール10によって記録媒体51にプラグラムのバックアップを保存する操作を行ってもよいし、別途タッチパネルなどの操作部を開発用コントローラ20に接続して操作部からバックアップファイルBFの記録媒体51への保存を行ってもよい。
記録媒体51に保存されたバックアップファイルBFは、装置用コントローラ30を所有または所有する予定のユーザに送付される。送付の方法としては、記録媒体51に保存されているバックアップファイルBFを、PC等からインターネット経由でユーザに送付してもよい。
装置用コントローラ30のユーザは、PC等によって受信した上記バックアップファイルBFを記録媒体52に保存する。
(装置用コントローラ)
装置用コントローラ30は、PLCであり、FA機器の制御に用いられる。装置用コントローラ30は開発用コントローラ20と同機種であるほうが好ましい。
装置用コントローラ30は、プロセッサ31と、メモリ32と、ストレージ33と、カードスロット34と、Ethernet/IPポート35と、操作部36と、を備える。
ストレージ33には、図2(d)に示すようにリストア用プログラムP20が保存されている。
カードスロット34には、例えばSDカードである記録媒体52が収納される。図2(c)に示すように、記録媒体52には、バックアップファイルBFが保存されている。記録媒体52に保存されているバックアップファイルBFが、リストア用プログラムP20によって装置用コントローラ30にリストアされる。バックアップファイルBFがリストアされた認証用ユーザプログラムP11、運転用ユーザプログラムP12および設定情報P13は、図2(d)に示すように、ストレージ33に保存される。
プロセッサ31は、ストレージ33に保存されたリストア用プログラムP20およびユーザプログラムP10をメモリ32に展開して実行する。
Ethernet/IPポート35は、他の機器を接続する場合等に用いられる。
操作部36は、開発用コントローラ20において述べたように、タッチパネルなどであって、後述する操作情報ファイルを作成する際および認証の際の操作が行われる。なお、操作部36は、特に設けられていなくても良く、ディップスイッチを設定することによって行ってもよいし、記録媒体52をカードスロット34に挿入することによって自動で行われてもよい。
図3(a)は、装置用コントローラ30の機能的構成を示すブロック図である。図3(a)に示すように、ユーザプログラムP10およびリストア用プログラムP20をメモリ32に展開することによって、プロセッサ31は、リストア部60と、MACアドレス読み出し部61と、暗号化ファイル作成部62と、認証ファイル比較部63(認証比較部の一例)と、運転部64と、を有する。
リストア部60は、カードスロット34に収納された記録媒体52に保存されたユーザプログラムP10を装置用コントローラ30にリストアする。
MACアドレス読み出し部61は、リストアされた装置用コントローラ30のEthernet/IPポート35のMACアドレスを読み出す。MACアドレス読み出し部61は、読み込んだMACアドレスを変数に格納する。
暗号化ファイル作成部62は、読み出したMACアドレスを暗号化して装置情報ファイルMFを作成し、記録媒体52に保存する。より詳しくは、暗号化ファイル作成部62は、MACアドレスを格納した変数を読み込み、MACアドレスと認識できないようにした暗号文を作成し変数に格納する。作成された暗号文の変数は装置情報ファイルMFとして、記録媒体52にファイル保存される。図3(b)に示すように、装置情報ファイルMFはカードスロット34に収納されている記録媒体52に保存される。記録媒体52は、バックアップファイルBFが保存されている記録媒体と同じものであってもよいし、異なるものであってもよい。
記録媒体52に保存された装置情報ファイルMFは、認証ファイル作成端末40に送付される。送付の方法としては、記録媒体52に保存されている装置情報ファイルMFを、PC等からインターネット経由で認証ファイル作成端末40の受信部46に送付してもよい。
詳しくは後述するが、認証ファイル作成端末40において装置情報ファイルMDから認証ファイルAF(アクティベーションファイルともいう)が作成され、認証ファイルAFがユーザに送付され、ユーザによって認証ファイルAFが記録媒体52に保存される。
認証ファイル比較部63は、認証ファイルAFに含まれるMACアドレスと、MACアドレス読み出し部61から読み出したMACアドレスが同じか否かを比較し、同じ場合に運転用ユーザプログラムP12を起動し、運転部64として機能させてFA機器の制御を行う。より詳しくは、認証ファイル比較部63は、記録媒体52に格納された認証ファイルAFを読み出して認証情報として変数に格納する。次に、認証ファイル比較部63は、認証情報の変数を復号してMACアドレスを取り出し、認証MACアドレスとして変数に格納する。次に、認証ファイル比較部63は、認証MACアドレスとMACアドレス読み出し部61で読み込んだMACアドレスが一致しているか比較して、一致していたら運転用ユーザプログラムP12を起動する。
プロセッサ31は、運転用ユーザプログラムP12をメモリ32に展開して、運転部64として機能する。運転部64は、作成された運転用ユーザプログラムP12に従って装置用コントローラ30に接続されているFA機器を制御する。
(認証ファイル作成端末)
認証ファイル作成端末40は、例えばPC等であって、プロセッサ41と、メモリ42と、ストレージ43と、入力部44(入力部の一例)と、表示部45と、受信部46と、送信部47と、を有する。
ストレージ43には、認証ファイルAFを作成するための認証ファイル作成プログラム、および暗号鍵などが保存されている。
プロセッサ41は、ストレージ43に記憶されている認証ファイル作成プログラムをメモリ42上に展開して実行する。
入力部44は、例えばキーボードなどであり、認証ファイルAFの作成の操作が入力される。表示部15は、例えばディスプレイであって、認証ファイルAFの作成の際に表示を行う。
受信部46は、装置用コントローラ30で作成された装置情報ファイルMFを受信する。送信部47は、装置情報ファイルMFに基づいて作成した認証ファイルAFを装置用コントローラ30のユーザに送信する。たとえば、送信部47は、装置用コントローラ30のユーザが所有するPCにインターネット経由で送信することができる。
図3(c)は、認証ファイル作成端末40の機能的構成を示すブロック図である。認証ファイル作成端末40は、暗号化ファイル復号部48(復号部の一例)と、認証ファイル作成部49と、を有する。認証ファイル作成プログラムをメモリ42に展開することによって、プロセッサ41は、暗号化ファイル復号部48、および認証ファイル作成部49として機能する。
暗号化ファイル復号部48は、装置用コントローラ30において暗号化が施されて作成された装置情報ファイルMFの復号処理を行い、MACアドレスを取得する。認証ファイル作成部49は、取得したMACアドレスを暗号化して認証ファイルを作成する。
作成された認証ファイルAFは、送信部47から装置用コントローラ30のユーザに送信される。
なお、送信された認証ファイルAFは、ユーザによって、図3(d)に示すように記録媒体51に保存されて装置用コントローラ30に読み込まれる。そして、認証ファイル比較部63は、認証ファイルAFを復号し認証ファイルAFに含まれているMACアドレスとMACアドレス読み出し部61によって読み出された自身のMACアドレスを比較し、同じ場合には運転部64を動作可能とする。
なお、認証ファイルの送付に伴って課金等を行うことにより、装置用コントローラごとにライセンス料を取得することができる。
また、例えば、装置用コントローラを所有する他のユーザがプログラムを取得した場合であっても運転用プログラムを起動することができないため不正使用を防止することができる。
なお、認証ファイルAFを復号する際の暗号鍵は、ユーザプログラムP10に組み込まれており、装置情報ファイルMFを作成する際の暗号化もユーザプログラムP10に組み込まれており、ユーザプログラムP10は、開発メーカによって作成される。さらに、認証ファイル作成端末40において装置情報ファイルMFの復号処理、および認証ファイルAFの暗号化が行われる。このように、開発メーカ側に設定により暗号化および復号処理が行われる。
<動作>
次に、本実施の形態の制御システム1の動作について説明するとともに、本発明の制御方法の一例についても同時に述べる。
図4は、本実施の形態の制御システム1の動作の流れを示すシーケンス図である。図5および図6は、本実施の形態の制御システム1の動作の流れを示すフロー図である。
はじめに、ステップS10(プログラム作成ステップの一例)において、開発ツール10を用いて認証用ユーザプログラムP11と運転用ユーザプログラムP12と設定情報P13を含むユーザプログラムP10がラダー言語で作成される。
次に、ステップS11において、開発ツール10から開発用コントローラ20に、ユーザプログラムP10が復元情報なしで転送される。
次に、ステップS12において、転送された復元情報なしのユーザプログラムP10が開発用コントローラ20にインストールされる。
次に、ステップS13において、ユーザプログラムP10のバックアップファイルを作成する操作が、開発ツール10を用いて実施される。
次に、ステップS14(バックアップ作成ステップの一例)において、ステップS13の操作によって開発用コントローラ20のカードスロット25に保存された記録媒体51にバックアップファイルBFが作成されて保存される。
次に、ステップS15において、メール等によるインターネット経由でユーザに送付されたバックアップファイルBFがユーザによって記録媒体52に保存され、バックアップファイルBFを格納した記録媒体52は、装置用コントローラ30のカードスロット34に格納される。
次に、ステップS16(リストアステップの一例)において、装置用コントローラ30のリストア部60によるリストア機能を用いて、バックアップファイルBFから装置用コントローラ30にユーザプログラムP10が復元される。
次に、ステップS17(読み出しステップの一例)において、MACアドレス読み出し部61が自身のEthernet/IPポート35のMACアドレスを取得する。
次に、ステップS18(暗号化ステップの一例)において、暗号化ファイル作成部62が、取得したMACアドレスを暗号化して装置情報ファイルMFとして記録媒体52に保存する。図7(a)は、操作部36の操作画面36aに表示される一例である装置情報ファイル作成画面を示す図である。図7(a)に示すように、“File Create”スイッチ36bを押下することによって、記録媒体52の一例であるSDカードに装置情報ファイルMF(Machine.datファイル)を作成することができる。
また、作成された装置情報ファイルMFが、装置用コントローラ30のユーザから、メール等によってインターネット経由で開発メーカの認証ファイル作成端末40に送付される。
次に、ステップS19において、認証ファイル作成端末40の暗号化ファイル復号部48は、受信した装置情報ファイルMFからMACアドレスの復号処理を行う。
次に、ステップS20(認証ファイル作成ステップの一例)において、認証ファイル作成端末40の認証ファイル作成部49は、号処理したMACアドレスを暗号化し、認証ファイルAFを作成する。なお、図4では、ステップS20は、ステップS201における暗号化処理と、ステップS202における認証ファイル作成処理に分けて記載されている。
また、作成された認証ファイルAFは、認証ファイル作成端末40からメール等によってインターネット経由で、装置用コントローラ30のユーザに送付される。ユーザは、送付された認証ファイルAFを記録媒体52に保存する。
次に、ステップS21において、装置用コントローラ30のユーザによって記録媒体52に保存された認証ファイルAFが、認証ファイル比較部63によって読み出される。
次に、ステップS22(比較ステップの一例)において、装置用コントローラ30の認証ファイル比較部63が、認証ファイルAFを復号処理しMACアドレスを取得する。
次に、ステップS23において、認証ファイル比較部63は、認証ファイルAFから取得したMACアドレスと、ステップS17で取得した自身のMACアドレスを比較する。
次に、ステップS24において、認証ファイルAFから取得したMACアドレスと、ステップS17で取得した自身のMACアドレスが一致する場合には、制御はステップS25に進む。
ステップS25(起動ステップの一例)において、認証ファイル比較部63が運転部64の実行を許可して、装置用コントローラ30を運転できる状態となる。なお、図4では、ステップS23、S24、S25をまとめて、運転プログラム起動処理として示す。
一方、ステップS24において、一致しない場合には、運転部64の実行を許可せずに制御が終了する。
図7(b)は、操作部36の操作画面36aに表示される認証画面を示す図である。図7(b)に示すように、ステップS21において、認証ファイルAFを記録媒体52の一例であるSDカードに保存し、続いて、SDカードをカードスロット34に挿入して、“Activation”スイッチ36cが押下されると、ステップS21〜S25が実行される。
なお、図7(b)に示すように、装置用コントローラ30の電源投入時に毎回、MACアドレスの比較による認証が行われる。
以上のように、装置用コントローラ30のMACアドレスを自動的に読み出して、MACアドレスに基づいて運転用ユーザプログラムP12を動作可能とする認証ファイルAFが作成される。このため、客先ごとにプログラムに異なるセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
また、認証ファイル作成端末40に送付されるMACアドレスを含む情報は暗号化されているため、装置用コントローラ30を動作させる作業者に対して認証ファイルAFがMACアドレスに基づいて作成されることを秘密にすることができる。
また、開発ツール10において、装置用コントローラ30のMACアドレスを読み出す認証用ユーザプログラムP11と、運転用ユーザプログラムP12を作成することにより、対象となる装置用コントローラ30から自動的にMACアドレスを読み出すことが可能となる。
また、復元情報なしでユーザプログラムP10のバックアップを記録媒体51に行うことによって、ユーザプログラムP10のソースが外部に開示されないようにすることができる。
また、記録媒体52を介してユーザプログラムP10を装置用コントローラ30にリストアするため、ユーザプログラムP10の転送を他のツールを用いる必要なく行うことができる。
[他の実施形態]
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。
(A)
上記実施の形態では、記録媒体51に保存されたバックアップファイルBFを、PC等からインターネット経由でユーザに送付してもよいと記載したが、これに限られるものではない。
例えば、バックアップファイルBFが保存された記録媒体51を郵送で送付してもよいし、持ち運んでユーザに届けても良い。なお、開発ツール10にPCを使用している場合には開発ツール10からインターネット経由でユーザに送付してもよい。
(B)
上記実施の形態では、記録媒体52に保存されている装置情報ファイルMFを、PC等からインターネット経由で認証ファイル作成端末50の受信部46に送付してもよいと記載したが、これに限られるものではない。
例えば、記録媒体52を郵送で送付してもよいし、持ち運んで開発メーカに届けても良い。その場合、認証ファイル作成端末40がカードスロットを備えてもよい。また、認証ファイル作成端末50がカードスロットのみを備え、受信部46を備えていなくても良い。要するに、認証ファイル作成端末40のストレージ43に装置情報ファイルMFを保存できさえすればよい。
また、上記実施の形態では、認証ファイル作成端末40から装置用コントローラ30のユーザに認証ファイルAFをメール等によってインターネットを経由して送信すると記載したが、これに限られるものではなく、認証ファイルAFを記録媒体に保存して記録媒体を郵送してもよいし、持ち運んでも良い。要するに、装置用コントローラ30のカードスロット34に接続される記録媒体52に認証ファイルAFを保存できさえすればよい。
(C)
上記実施の形態では、開発ツール10と認証ファイル作成端末40は別々のPCとして設けられているが、同じPCであってもよい。例えば、開発ツール10で用いられる開発支援プログラムが認証ファイル作成端末40として使用されているPCで用いられてもよい。その場合、認証ファイル作成端末40は開発支援プログラムを使用しなくてもよい。
また、逆に、認証ファイル作成端末40で用いられている認証ファイル作成プログラムが、開発ツール10として使用されているPCで用いられてもよい。その場合、開発ツール10は、認証ファイル作成プログラムを使用しなくてもよい。
(D)
上記実施の形態では、開発メーカが、開発ツール10と開発用コントローラ20と認証ファイル作成端末40を備えると記載したが、これに限られるものではなく、例えば、認証ファイル作成端末40が開発メーカと異なる他の会社や個人が所有してもよい。また、認証ファイル作成端末40を所有するものが、ライセンス料をユーザより取得してもよい。
(E)
上記実施の形態では、装置情報ファイルMFに、装置用コントローラ30に固有の情報としてMACアドレスのみを用いているが、これに限られるものではなく、装置用コントローラ30のシリアル番号がMACアドレスと組み合わされて装置情報ファイルMFが作成されてもよい。
(F)
上記実施の形態では、装置用コントローラ30は記録媒体52を介して認証ファイルAFを取得しているが、これに限られるものではない。例えば、MACアドレスの情報が含まれ暗号化された数列を操作部36から打ち込んでもよい。要するに、装置用コントローラ30が暗号化されたMACアドレスを取得できさえすればよい。
(G)
また、本実施の形態では、FA機器の制御を行う制御システムを例として説明したが、これに限られるものではなく、プラントやビルディングオートメーションシステム等に用いても良い。
(H)
上記実施の形態では、開発用コントローラ20と装置用コントローラ30を同じ機種が望ましいと記載しているが、これに限られるものではなく、開発用コントローラ20は少なくともユーザプログラムP10のバックアップが出来ればよい。
(I)
また、プログラムの一つの利用形態は、コンピュータにより読取可能な、ROM等の記録媒体に記録され、コンピュータと協働して動作する態様であってもよく、プログラムの一つの利用形態は、インターネット等の伝送媒体、光・電波・音波などの伝送媒体中を伝送し、コンピュータにより読みとられ、コンピュータと協働して動作する態様であってもよい。
また、上述したコンピュータは、CPU(Central Processing Unit)等のハードウェアに限らずファームウェアや、OS、更に周辺機器を含むものであってもよい。
なお、以上説明したように、電力消費体の制御方法はソフトウェア的に実現してもよいし、ハードウェア的に実現しても良い。
本発明の認証ファイル作成装置は、容易にプログラムの不正使用を防止することが可能な効果を有し、例えばPLCを用いた制御システム等として有用である。
30 :装置用コントローラ
40 :認証ファイル作成端末
49 :認証ファイル作成部
P11 :認証用ユーザプログラム
P12 :運転用ユーザプログラム
AF :認証ファイル

Claims (7)

  1. 運転用プログラムおよび認証用プログラムを含むユーザプログラムを作成可能な入力部、および、コンパイルされた前記ユーザプログラムをデコンパイル情報なしで転送する転送部を有するプログラム作成装置と、
    前記転送部から転送された前記ユーザプログラムのバックアップファイルをデコンパイル情報なしで保存するバックアップ作成装置と、
    記録媒体を接続する接続部を有し、前記運転用プログラムの使用によって機器の動作を制御するように構成されたPLC(Programmable Logic Controller)と、
    前記PLCで前記運転用プログラムを動作可能するための認証ファイルを作成する認証ファイル作成装置と、を備え、
    前記PLCは、前記記録媒体に記録された前記バックアップファイルをリストアし、前記認証用プログラムを実行することによって、自身のMACアドレスを読み出し、読み出されたMACアドレスを含む情報に基づいて装置情報ファイルを作成するように構成され、
    前記認証ファイル作成装置は、前記PLCのユーザから電子的に送付された前記装置情報ファイルに含まれていたMACアドレスに基づいて前記認証ファイルを作成するように構成され、
    前記認証ファイル作成装置から前記PLCのユーザに電子的に送付された前記認証ファイルが、前記接続部に接続された前記記録媒体に保存される制御システム
  2. 前記PLCは、前記MACアドレスを含む情報暗号化することによって前記装置情報ファイルを作成するように構成されており、
    前記認証ファイル作成装置は、前記装置情報ファイルを復号するように構成されている
    請求項1に記載の制御システム
  3. 前記認証ファイル作成装置は、前記装置情報ファイルに含まれていたMACアドレスを暗号化することによって前記認証ファイルを作成するように構成されており、
    前記PLCは、前記ユーザプログラムに組み込まれている暗号鍵で前記認証ファイルを復号するように構成されている、
    請求項1または2に記載の制御システム。
  4. 前記バックアップ作成装置は、記録媒体を接続可能な接続部を有し、前記バックアップファイルを前記記録媒体に保存する
    請求項1〜3のいずれか1項に記載の制御システム。
  5. 記PLCは、前記認証プログラムを実行することによって読み出した前記PLCのMACアドレスと、記認証ファイルのMACアドレスを比較し,2つのMACアドレスが同じ場合に前記運転用プログラムを起動させるように構成されている
    請求項4に記載の制御システム。
  6. 運転用プログラムの使用許可の対象であるPLCで前記運転用プログラムを動作可能とする制御方法であって、
    前記運転用プログラムおよび認証用プログラムを含むユーザプログラムを作成するプログラム作成ステップと、
    コンパイルされた前記ユーザプログラムのバックアップファイルをデコンパイル情報なしで保存するバックアップ作成ステップと、
    前記バックアップファイルを前記PLCでリストアするリストアステップと、
    リストアされた認証用プログラムを前記PLCで実行することによって、当該PLCMACアドレスを読み出し、読み出されたMACアドレスを含む情報に基づいて装置情報ファイルを作成する読み出しステップと、
    前記装置情報ファイルに含まれていたMACアドレスに基づいて認証ファイルを作成する認証ファイル作成ステップと、
    前記読み出したMACアドレスと、前記認証ファイルに含まれるMACアドレスを比較し、2つのMACアドレスが同じ場合に前記運転用プログラムを起動する比較ステップと、を備えた、
    制御方法。
  7. 前記読み出したMACアドレスを暗号化する暗号化ステップを更に備えた、
    請求項に記載の制御方法。
JP2019083833A 2019-04-25 2019-04-25 制御システムおよび制御方法 Active JP6766917B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019083833A JP6766917B1 (ja) 2019-04-25 2019-04-25 制御システムおよび制御方法
PCT/JP2020/010026 WO2020217741A1 (ja) 2019-04-25 2020-03-09 認証ファイル作成装置、制御システム、プログラム、および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019083833A JP6766917B1 (ja) 2019-04-25 2019-04-25 制御システムおよび制御方法

Publications (2)

Publication Number Publication Date
JP6766917B1 true JP6766917B1 (ja) 2020-10-14
JP2020181364A JP2020181364A (ja) 2020-11-05

Family

ID=72745077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019083833A Active JP6766917B1 (ja) 2019-04-25 2019-04-25 制御システムおよび制御方法

Country Status (2)

Country Link
JP (1) JP6766917B1 (ja)
WO (1) WO2020217741A1 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5811265B2 (ja) * 1976-02-19 1983-03-02 ニチデン機械株式会社 物品選別装置
JP2003330506A (ja) * 2002-05-08 2003-11-21 Fuji Electric Co Ltd プログラマブルコントローラ内のデータバックアップ装置および方法
JP4993588B2 (ja) * 2007-03-19 2012-08-08 株式会社リコー 画像処理装置、画像処理方法、画像処理プログラム及びコンピュータ読み取り可能な記録媒体
JP5404463B2 (ja) * 2010-02-12 2014-01-29 三菱電機株式会社 制御装置及び管理装置
JP5811265B2 (ja) * 2012-02-29 2015-11-11 富士電機株式会社 プログラマブルコントローラ、プログラマブルコントローラシステム、及びプログラマブルコントローラの提供システム
JP6779700B2 (ja) * 2016-08-04 2020-11-04 古野電気株式会社 制御機器の認証システム、制御機器の認証方法、及び制御機器のプログラム

Also Published As

Publication number Publication date
JP2020181364A (ja) 2020-11-05
WO2020217741A1 (ja) 2020-10-29

Similar Documents

Publication Publication Date Title
CN108376211B (zh) 一种软件授权管理方法、服务器及系统
CN1960363B (zh) 一种利用网络实现信息安全设备远程更新的方法
TW200903215A (en) Program update method and server
JP2004528632A (ja) プログラマブル携帯データ記憶媒体用プログラムの分散生成方法およびシステム
CN101916346A (zh) 可防盗版的电子装置及其防盗版方法
WO2007072615A1 (ja) 認証システム及び認証対象装置
KR20160008572A (ko) 셀프-인증 장치 및 방법
US8296572B2 (en) Projector system
CN110704814B (zh) 一种防拷贝方法及设备、存储介质
JP6766917B1 (ja) 制御システムおよび制御方法
CN107171801B (zh) 加密绑定及加密显示控制的方法和装置、显示屏系统
WO2020195348A1 (ja) 制御システム、セキュリティ装置および方法
JP2008152551A (ja) ソフトウェアオプション設定システム及び設定方法
EP3104295B1 (en) Control apparatus and control apparatus system
WO2005107139A1 (ja) 通信システム、共通鍵制御装置、及び一般通信装置
JP2007282064A (ja) データ処理装置、データ処理方法、記憶媒体、プログラム
JP5169904B2 (ja) データバックアップシステム、復号装置及びデータバックアップ方法
CN114357537A (zh) 设备授权控制方法、装置、存储介质及电子设备
JP5304366B2 (ja) 記憶媒体ユニット,及び、記憶媒体自動消去システム
JP2006215714A (ja) Macアドレスを有する着脱型デバイスを用いたライセンス認証システム及び方法
JPH06110512A (ja) プログラマブルコントローラ
CN101133419A (zh) 系统程序下载系统
JP7170588B2 (ja) データ処理方法及びデータ処理システム
JP6573749B1 (ja) 制御装置、制御方法及びプログラム
JP2008306685A (ja) セキュリティ情報設定システム、そのマスタ端末、一般端末、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191122

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191122

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200324

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200520

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: 20200818

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200831

R150 Certificate of patent or registration of utility model

Ref document number: 6766917

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150