JPH10124308A - プログラマブルコントローラのプログラム保護方法 - Google Patents
プログラマブルコントローラのプログラム保護方法Info
- Publication number
- JPH10124308A JPH10124308A JP8283933A JP28393396A JPH10124308A JP H10124308 A JPH10124308 A JP H10124308A JP 8283933 A JP8283933 A JP 8283933A JP 28393396 A JP28393396 A JP 28393396A JP H10124308 A JPH10124308 A JP H10124308A
- Authority
- JP
- Japan
- Prior art keywords
- program
- protection
- instruction
- programmable controller
- monitor
- 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.)
- Granted
Links
Landscapes
- Programmable Controllers (AREA)
Abstract
ラム中の任意の部分のみの編集を制限し、メーカのトレ
ードシークレットと保護と、実際の運用にあたってのユ
ーザ側でのプログラムの調整とを両立すること。 【解決手段】 プログラム命令中の任意の部分に置かれ
た保護命令と保護終了命令により保護範囲を指定し、プ
ログラムの意図された部分のみの変更を禁止する。
Description
コントローラを動作させるためのプログラム保護方法に
関し、特にプログラマブルコントローラの周辺装置など
にてプログラマブルコントローラ用のプログラムの保護
を図るプログラム保護方法に関するものである。
ーラ(以下PCと称す)の周辺装置に構成図である。こ
の周辺装置1は、PC20を動作させるためのプログラ
ムを開発するためのものであり、PCインタフェース部
2と、プログラム転送制御部3と、プログラム記憶部4
と、プログラム編集部5と、キャラクタデータ作成部6
と、プログラムモニタ部7と、オペレータインタフェー
ス部8と、補助記憶装置インタフェース部9と、補助記
憶装置10とを有している。
でデータの授受を行い、プログラム転送制御部3はPC
20や補助記憶装置10とプログラム記憶部4との間の
プログラムの転送制御を行う。
モニタ等を行うために、PC20や補助記憶装置10の
プログラムをメモリ上に記憶管理し、プログラム編集部
5はプログラム記憶部4に記憶されているプログラムを
編集する。
ラダーダイアグラムで画面上に表示するためのキャラク
タデータを作成し、プログラムモニタ部7はプログラム
記憶部4のデータとキャラクタデータ作成部6で作成さ
れたデータとPC20から得られるデータを元にプログ
ラムのモニタ表示を行う。
面表示やオペレータとのインタフェースを行う。
憶装置10にアクセスするためのインタフェースであ
り、補助記憶装置10は作成されたプログラムやパラメ
ータ等を格納する。
について、図22〜図24のフローチャートを用いて説
明する。
の動作について説明する。編集の対象となるプログラム
は、オペレータインタフェース部8からのオペレータ指
示により、プログラム転送制御部3が動作することで、
PC20あるいは補助記憶装置10よりプログラム記憶
部4に転送される。
を参照して説明する。オペレータインタフェース部8か
らの転送要求が、プログラム記憶部4からPC20への
転送であるか否かを判別し(ステップS2201)、プ
ログラム記憶部4からPC20への転送であれば(ステ
ップS2201肯定)、転送先のPC20内でプログラ
ム単位に設定されている書き込み禁止の情報をチェック
し(ステップS2202)、同一のプログラムが書き込
み禁止で存在していれば(ステップS2202肯定)、
転送を行わないで、終了する。
テップS2202否定)、プログラム記憶部4からPC
20へ、PCインタフェース部2を介してプログラムを
転送する(ステップS2203)。
要求が、プログラム記憶部4から補助記憶装置10への
転送であれば(ステップS2201否定→ステップS2
204肯定)、転送先の補助記憶装置10内の同一のプ
ログラムが、書き込み禁止で存在していないかを補助記
憶装置インタフェース部9を介してチェックし(ステッ
プS2205)、書き込み禁止であれば(ステップS2
205肯定)、転送を行わないで、終了する。
(ステップS2205否定)、プログラム記憶部4から
補助記憶装置10へ、補助記憶装置インタフェース部9
を介してプログラムを転送する(ステップS220
6)。
要求が、PC20内のプログラムの編集等の目的で、P
C20からプログラム記憶部4への転送であれば(ステ
ップS2201否定→ステップS2204否定→ステッ
プS2207肯定)、PC20内でプログラム単位に設
定されている読み出し禁止の情報をチェックし(ステッ
プS2208)、読み出し禁止であれば(ステップS2
208肯定)、転送を行わないで、終了する。
(ステップS2208否定)、PC20からプログラム
記憶部4へ、PCインタフェース部2を介してプログラ
ムを転送する(ステップS2209)。
要求が、補助記憶装置10内のプログラムの編集等の目
的で、補助記憶装置10からプログラム記憶部4への転
送であれば(ステップS2201否定→ステップS22
04否定→ステップS2207否定)、転送するファイ
ルが補助記憶装置10内で読み出し禁止になっていない
であるか否かを判別し(ステップS2210)、読み出
し禁止になっていれば(ステップS2210肯定)、転
送を行わないで、終了する。
場合には(ステップS2210否定)、補助記憶装置1
0からプログラム記憶部4へ、補助記憶装置インタフェ
ース部9を介してプログラムを転送する(ステップS2
201)。
23を参照して説明する。PC20あるいは補助記憶装
置10からプログラム記憶部4へのプログラムの転送が
完了すると、オペレータインタフェース部8によってプ
ログラム編集部5が起動される。
ラム(シーケンスプログラム)をプログラム記憶部4か
ら読み出し(ステップS2301)、実際にプログラム
の命令リストから、ラダーダイアグラムで画面上に表示
するためのキャラクタデータを作成するために、キャラ
クタデータ作成部6へ読み出したプログラムを引き渡
し、キャラクタデータを作成する(ステップS230
2)。
部6で作成されれば、オペレータインタフェース部8を
介して実際にラダーダイアグラムの編集画面をコンソー
ルに画面表示する(ステップS2303)。
ックし(ステップS2304)、編集操作があれば(ス
テップS2304肯定)、編集操作に応じた編集処理を
行い(ステップS2305)、編集結果をプログラム記
憶部4に反映する(ステップS2306)。
04否定)、編集の終了操作が行われたか否かをチェッ
クし(ステップS2307)、終了操作が行われていれ
ば(ステップS2307肯定)、プログラム編集部の処
理を終了する。
場合は、オペレータインタフェース部8から、プログラ
ム記憶部4からPC20あるいは補助記憶装置10への
転送要求がプログラム転送制御部3に対し行われる。こ
のとき、プログラム転送制御部3によって、転送先に同
一のプログラムが、書き込み禁止で存在しているかチェ
ックを行って、書き込み禁止となっていれば転送が行わ
れず、編集結果はPC20あるいは補助記憶装置10に
反映されない。
を図24を参照して説明する。オペレータインタフェー
ス部8からモニタ開始要求がプログラムモニタ部7に出
されると、まず全キャラクタデータのトレースが完了し
たか否かをチェックし(ステップS2401)、トレー
スが完了していなければ(ステップS2401否定)、
現在のキャラクタデータからラダーダイアグラムのモニ
タを行うために、1命令分のキャラクタデータの取り出
してモニタデータを作成する(ステップS2402,ス
テップS2403)。モニタデータには、ラダーダイア
グラムで表現されている接点やコイルの情報と、それぞ
れのキャラクタデータ上の位置データなどが含まれる。
が完了した時点で(ステップS2401肯定)、モニタ
データから、PC20での接点やコイルの現在の情報を
PC20に対して、PCインタフェース部3を介して要
求する(ステップS2404)。
(ステップS2405)、受信した接点やコイルの情報
を元に、画面上に接点の状態をオペレータインタフェー
ス部8を介してモニタ表示する(ステップS240
6)。
求が、オペレータから出されていないか否かをチェック
し(ステップS2407)を行い、モニタ終了要出され
ていれば(ステップS2407肯定)、プログラムモニ
タ部の処理を終了する。これに対し、モニタ終了要求が
出されていなければ(ステップS2407否定)、ステ
ップS2404からの処理を継続して行う。
ついて図25を参照して説明する。キャラクタデータ作
成部6は、渡されたプログラムの命令リスト先頭から、
終了命令までの各命令からラダーダイアグラムの表示を
行うためのデータ変換を行い、キャラクタデータを作成
する(ステップS2501,ステップS2502)。
公報平1−231102号に示されているように、PC
内部の制御パラメータの部分にも、パスワードと設定許
可コードで、書き込みの保護を行うものや、公開特許公
報平5−233036号に示されているように、プログ
ラム中の命令により、PCからのプログラムの読み出し
を禁止したり、書き込みを禁止するものがある。
ム保護方法は単にプログラムのPCからの読み出しや書
き込みを禁止するものであり、このプログラム保護方法
では、PCを搭載したシステムを製作したメーカにとっ
ては、メーカのトレードシークレットは保護できるもの
の、実際の運用にあたっては、メーカ側ではなくユーザ
側でのプログラムの調整が必要な部分までも、保護によ
って自由に変更できないと云う問題点があった。
ムメモリ中に保護のための命令が入っていたとしても、
実際に保護されるべき部分は、プログラム中にそのまま
存在するため、補助記憶装置等にプログラムを格納した
場合、プログラム中のデータを解析し、部分的にコピー
したりすることで、保護されている部分の内容が比較的
容易に取り出せてしまうと云う問題点があった。
るためになされたもので、プログラムの意図された部分
のみを変更を禁止し、またプログラムの意図された部分
の振る舞いが分からないように、意図された部分のプロ
グラムのモニタができないようし、またトレードシーク
レットを確実に保護するために、プログラムの意図され
た部分の表示を行わないようにしたりして、メーカのト
レードシークレットの保護と、実際の運用にあたっての
ユーザ側でのプログラムの調整とを両立し、また意図さ
れた部分を容易にコピーなどで取り出せないようするプ
ログラマブルコントローラのプログラム保護方法を提供
することを目的とする。
めに、この発明によるプログラマブルコントローラのプ
ログラム保護方法は、プログラマブルコントローラを動
作させるためのプログラム保護方法において、プログラ
ム命令中の任意の部分に置かれた保護命令と保護終了命
令により、プログラムの意図された部分のみの変更を禁
止するものである。
ラのプログラム保護方法では、プログラムの保護命令か
ら保護終了命令までの間以外の部分は編集できるが、保
護命令から保護終了命令の部分は編集できなくなる。
ーラのプログラム保護方法は、プログラマブルコントロ
ーラを動作させるためのプログラム保護方法において、
プログラム命令中の任意の部分に置かれた保護命令と保
護終了命令により、プログラムの意図された部分につい
てのみプログラマブルコントローラでの状態のモニタを
禁止するものである。
ラのプログラム保護方法では、プログラムの保護命令か
ら保護終了命令までの間以外の部分はモニタ可能となる
が、保護命令から保護終了命令までの間の部分はモニタ
ができなくなる。
ーラのプログラム保護方法は、プログラマブルコントロ
ーラを動作させるためのプログラム保護方法において、
プログラム命令中の任意の部分に置かれた保護命令と保
護終了命令により、プログラムの意図された部分のみの
画面表示を禁止するものである。
ラのプログラム保護方法では、プログラムの保護命令か
ら保護終了命令までの間以外の部分は画面表示可能とな
るが、保護命令から保護終了命令までの間の部分は画面
表示されなくなる。
ーラのプログラム保護方法は、プログラマブルコントロ
ーラを動作させるためのプログラム保護方法において、
プログラム命令中の任意の部分に置かれた保護命令と保
護終了命令により、プログラムの意図された部分のみを
暗号化するものである。
ラのプログラム保護方法では、プログラムを補助記憶装
置やPCに転送する際、プログラムの保護命令から保護
終了命令の間の部分は暗号化されて転送され、補助記憶
装置やPC内では暗号化された状態で格納される。
ーラのプログラム保護方法は、上述のようなモニタ禁
止、画面表示禁止、暗号化は、保護命令のオプション記
述で指定するものである。
ラのプログラム保護方法では、保護命令のオプション記
述で、モニタ禁止、画面表示禁止、暗号化を任意に指定
できる。
ーラのプログラム保護方法は、上述のプログラム保護方
法において、保護命令はパスワード記述部を有し、保護
命令の解除はパスワード入力により行うものである。
ラのプログラム保護方法では、パスワード入力によって
保護命令の解除が特定のオペレータのみにより行われ
る。
明の実施の形態を詳細に説明する。なお、以下に説明す
るこの発明の実施の形態において上述の従来例と同一構
成の部分は、上述の従来例に付した符号と同一の符号を
付してその説明を省略する。
護方法の実施に使用される周辺装置を示している。この
周辺装置1は、プログラム転送制御部3とプログラム記
憶部4との間に、データの暗号化・復号化部11を含ん
でいる。
制御部3によってプログラム記憶部4からPCインタフ
ェース部2を介してプログラムをPC20に転送した
り、PC20からプログラム記憶部4へのプログラム転
送、あるいはプログラム記憶部4から補助記憶装置10
へのプログラム転送、補助記憶装置10からプログラム
記憶部4へのプログラム転送の際に、プログラムの保護
命令から保護終了命令の間のデータを暗号化および復号
化する。
護方法の実施要領を図2〜図21のフローチャート及び
データを表す図面を用いて説明する。
に、保護命令“PROTECT”と保護終了命令“PR
OTECTEND”とが用意されており、プログラムの
意図された部分の保護を行いたい部分に、予め保護命令
“PROTECT”と保護終了命令“PROTECTE
ND”を編集してプログラムに書き込んでおく。
されているように、パスワード記述部とオプション記述
部を有しており、パスワード記述部には保護を解除する
際に必要なパスワードを記述し、オプション記述部には
保護仕様を記号で記述する。
部分をプログラムの編集を禁止する“MODIFY”
と、プログラムの表示を禁止する“DISPLAY”
と、プログラムのモニタを禁止する“MONITOR”
と、プログラムにおけるデバイスのモニタを禁止する
“DEV−MON”と、保護終了命令までの部分を暗号
化する“CIPHER”がある。“DISPLAY”が
オプション指定された場合には、表示禁止により必然的
に編集やモニタも禁止になり、“MONITOR”がオ
プション指定された場合には、モニタ禁止により必然的
に編集も禁止になる。
ラムに表示および編集、モニタ禁止の部分を設ける場合
には、図4(a)に示されているように、プログラム中
に、保護命令“PROTECT”と保護終了命令“PR
OTECTEND”を記述する。これをラダーダイアグ
ラムで表すと、図5のようになる。
命令“PROTECT”が、表示禁止“DISPLA
Y”の指定で、置かれている場合の命令リストでの画面
表示例を示している。
編集の対象となるプログラムは、オペレータインタフェ
ース部8からのオペレータの指示によって、プログラム
転送制御部3からプログラム記憶部4へ転送される。プ
ログラムの転送については、従来技術と同様であるが、
プログラムがプログラム記憶部4へ転送される際には、
暗号化・復号化部11で暗号化されている部分が復号さ
れる。
て図6のフローチャートを用いて説明する。オペレータ
インタフェース部8から起動されたプログラム編集部5
は、シーケンスプログラムをプログラム記憶部4から読
み出す(ステップS601)。続いて、読み出したプロ
グラムをキャラクタデータ作成部7に引渡し、プログラ
ムの命令リストから、ラダーダイアグラム表示のための
キャラクタデータを作成する(ステップS602)。
クタデータを元に、オペレータインタフェース部8にて
画面上にラダーダイアグラムを表示する(ステップS6
03)。このとき、プログラム中に含まれる保護命令の
オプション指定の如何によって、作成されるキャラクタ
データが異なるため、画面表示も異なる。
FY”あるいは“MONITOR”がオプション指定さ
れている場合には、編集禁止であるが、表示は許可なの
で、図7に示されているように、編集禁止領域が反転表
示され、“DISPLAY”がオプション指定されてい
るいる場合には、表示も禁止であるから、図8に示され
ているように、保護命令“PROTECT”と保護終了
命令“PROTECTEND”との間のプログラムが表
示されない。
ら編集の操作を待つ(ステップS604)。編集操作が
あった場合には(ステップS604肯定)、編集操作を
行おうとしている箇所が、保護されている範囲であるか
否かをチェックする(ステップS605)。保護されて
いる範囲でなければ(ステップS605否定)、編集操
作に応じた処理を行い(ステップS610)、続いて編
集結果をプログラム記憶部4に反映する(ステップS6
11)。
箇所が保護されている範囲である場合には(ステップS
605肯定)、既に保護が解除されているか否かをチェ
ックする(ステップS606)。既に保護が解除されて
いれば(ステップS606肯定)、保護されている範囲
外の部分と同様に、編集操作に応じた処理を行い(ステ
ップS610)、続いて編集結果をプログラム記憶部4
に反映する(ステップS611)。
プS606否定)、図9〜図11に示されているような
パスワードの入力を促す画面を表示する(ステップS6
07)。
令“PROTECT”のパスワード記述部に記述されて
いるパスワードと一致するか否かのチェックを行い(ス
テップS608)、一致すれば(ステップS608肯
定)、保護を解除し(ステップS609)、編集操作に
応じた処理を行い(ステップS610)、続いて編集結
果をプログラム記憶部4に反映する(ステップS61
1)。
テップS608否定)、該当部分が編集できないことを
示すメッセージを表示し(ステップS612)、ステッ
プS604に戻る。
ェックし、編集終了が指示されていれば(ステップS6
13肯定)、編集処理は終了する。編集終了が指示され
ていなければ(ステップS613否定)、ステップS6
04に戻る。
図12のフローチャートを用いて説明する。プログラム
編集部5からキャラクタデータの作成要求がキャラクタ
データ作成部6に出されると、まず終了命令であるか否
かをチェックし(ステップS1201)、終了命令であ
れば(ステップS1201肯定)、キャラクタデータの
作成を終了する。
01否定)、保護命令“PROTECT”であるか否か
をチェックする(ステップS1202)。保護命令“P
ROTECT”でなければ(ステップS1202否
定)、命令をキャラクタデータに変換し、通常のキャラ
クタデータを作成する(ステップS1208)。
である場合には(ステップS1202肯定)、すでにプ
ログラム編集部5で保護が解除されているか否を判別す
る(ステップS1203)。解除されていれば(ステッ
プS1203肯定)、命令をキャラクタデータに変換
し、通常のキャラクタデータを作成する(ステップS1
208)。
1203否定)、保護命令“PROTECT”のオプシ
ョン記述部をチェックし、表示禁止“DISPLAY”
がオプション指定されていれば(ステップS1204肯
定)、保護終了命令“PROTECTEND”まで、表
示プロテクト領域である旨を表示するためのキャラクタ
データを作成する(ステップS1205)。
で、編集禁止“MODIFY”あるいはあるいはモニタ
禁止“MONITOR”が指定されている場合には(ス
テップS1206肯定)、保護終了命令“PROTEC
TEND”までの範囲を、反転表示するキャラクタデー
タを作成する(ステップS1207)。
モニタ禁止あるいは表示禁止が指定されていない場合に
は(ステップS1206肯定)、通常のキャラクタデー
タを作成する(ステップS1208)。
のフローチャートを用いて説明する。オペレータインタ
フェース部8からモニタ開始要求がプログラムモニタ部
7に出されると、まず全キャラクタデータのトレースが
完了したか否かをチェックし(ステップS1301)、
トレースが完了していなければ(ステップS1301否
定)、1命令分のキャラクタデータを取出す(ステップ
S1302)。
護命令によるモニタ禁止領域内のデータであるか否かを
チェックし(ステップS1303)、モニタ禁止領域内
のデータでなければ(ステップS1303否定)、モニ
タデータを作成する(ステップS1305)。
あった場合には(ステップS1303肯定)、すでにモ
ニタ禁止の保護が解除済みであるか否かをチェックし
(ステップS1304)、解除済みであれば(ステップ
S1304肯定)、モニタデータを作成する(ステップ
S1305)。保護解除済みでなければ(ステップS1
304否定)、モニタデータを作成せずにステップS1
301に戻る。
すれば(ステップS1301肯定)モニタデータから、
PC20での接点やコイルの現在の情報をPC20に対
して、PCインタフェース部3を介して要求する(ステ
ップS1306)。
(ステップS1307)、受信した現在接点やコイルの
情報を元に、接点の状態をオペレータインタフェース部
8を介してモニタ表示する(ステップS1308)。
で、モニタ禁止の指定“MONITOR”がある場合に
は、キャラクタデータ作成部6にて、保護されている範
囲が反転され、さらにモニタも行われないため、図7に
示されているような画面表示になる。
が、オペレータインタフェース部8などから指示されて
いないか否かをチェックし(ステップS1309)、モ
ニタ禁止領域でのモニタ要求がある場合には(ステップ
S1309肯定)、ステップS1310に移行し、ここ
で、すでにモニタ禁止の保護が解除されていれば(ステ
ップS1310肯定)、そのままモニタを継続して行
う。
ていない場合には(ステップS1310否定)、図9に
示されているように、パスワード入力を促す画面を表示
し、パスワードの入力処理を行う(ステップS131
1)。
TECT”のパスワード記述部に記述されているパスワ
ードと一致すれば(ステップS1312肯定)、モニタ
禁止保護の解除を行い(ステップS1314)、ステッ
プS1301に戻り、モニタデータの作成から、再度行
う。
(ステップS1312否定)、該当部分のモニタができ
ない旨を画面に表示し(ステップS1313)、ステッ
プS1306からの処理を繰り返す。
には(ステップS1309否定)、モニタ処理中にオペ
レータインタフェース部8等から指示されるモニタ終了
要求の有無をチェックし(ステップS1315)、モニ
タ終了要求があれば(ステップS1315肯定)、プロ
グラムモニタ部7の処理を終了する。モニタ終了要求が
なければ(ステップS1315否定)、ステップS13
06からの処理を繰り返す。
部分に置かれた保護命令“PROTECT”と保護終了
命令“PROTECTEND”により、キャラクタデー
タの作成時およびプログラム編集で、保護命令“PRO
TECT”のつぎの行から保護終了命令“PROTEC
TEND”までの行の編集を禁止、即ちプログラムの意
図された部分のみの変更を禁止できるようにしたため、
その他の部分の変更は行えるようになり、PCが搭載さ
れているシステムを運用する際、運用する側(ユーザ
側)で自由に変更・調整が行える部分と、PCのプログ
ラムを作成した側とで誤って変更されてはいけない部分
を分けられるようになる。
た保護命令“PROTECT”のオプション指定で、モ
ニタ禁止“MONITOR”が指定されていれば、保護
範囲のデータのモニタを行わないから、PCが搭載され
ているシステムを製作するメーカのプログラムの振る舞
いの部分に関するトレードシークレットを守れるように
なる。
た保護命令“PROTECT”に、表示禁止“DISP
LAY”が指定されている場合には、キャラクタデータ
作成部6で、その部分のキャラクタデータを作成せず、
画面表示しないから、PCが搭載されているシステムを
製作するメーカのプログラムのトレードシークレットが
守れるようになる。
いて図14〜図16のフローチャートを用いて説明す
る。オペレータインタフェース部8などからプログラム
の転送要求がプログラム転送制御部3に対して行われる
と、プログラム記憶部4とプログラム転送制御部3の間
で、プログラムが暗号化・復号化部11により暗号化あ
るいは復号化の処理が行われる。
10あるいはPC20からプログラム記憶部4へのプロ
グラム転送であるか否かをチェックする(ステップS1
401)。プログラム記憶部4へのプログラム転送の場
合には(ステップS1401肯定)、プログラム記憶部
4への複号化処理を行う(ステップS1402)。
でないと判断した場合には、プログラム記憶部4から補
助記憶装置10あるいはPC20へのプログラム転送と
判断し、プログラム記憶部4からの暗号化処理を行う
(ステップS1403)。
処理のフローチャートであり、この暗号化処理では、プ
ログラムを順にチェックし、終了命令までの保護命令を
チェックしながら、暗号化処理を行う。
が完了したか否かを判別し(ステップS1501)、プ
ログラム終了命令までのチェックが完了していない場合
には(ステップS1501肯定)、対象命令が保護命令
“PROTECT”であるか否かを判別し(ステップS
1502)、保護命令“PROTECT”でなければ
(ステップS1502否定)、命令を暗号化せずにプロ
グラム転送制御部3へ引き渡す(ステップS150
6)。
である場合には(ステップS1502肯定)、保護命令
“PROTECT”のパスワード記述部とオプション記
述部の内容を暗号化する(ステップS1503)。
オプション記述部に暗号化の指定“CIPHER”がさ
れているか否かを判別し(ステップS1504)、指定
されていれば(ステップS1504肯定)、保護終了命
令“PROTECT”までのプログラムを暗号化してプ
ログラム転送制御部3に引き渡す(ステップS150
5)。
記述部に暗号化の指定“CIPHER”がされていない
場合には(ステップS1504否定)、以降の命令を暗
号化せずにプログラム転送制御部3へ引き渡す(ステッ
プS1506)。
に示されているように、保護命令“PROTECT”の
オプション記述部に暗号化“CIPHER”が指定され
ているプログラムは、図18に示す範囲の部分が暗号化
されてプログラム転送制御部3へ渡される。
に、保護命令“PROTECT”のオオプション記述部
に暗号化“CIPHER”が指定されていない場合に
は、図20に示されているように、保護命令“PROT
ECT”のパラメータ部分のみが暗号化される。
号化されてPC20や補助記憶装置10に転送されるか
ら、プログラム中の保護された部分のコピーやリバース
エンジニアリングによる解析が阻止される。
号化処理のフローチャートであり、この復号化処理で
は、プログラムを順にチェックし、終了命令までの保護
命令をチェックしながら、復号化処理を行う。
が完了したか否かを判別し(ステップS1601)、プ
ログラム終了命令までのチェックが完了していない場合
には(ステップS1601肯定)、対象命令が保護命令
“PROTECT”であるか否かを判別し(ステップS
1602)、保護命令“PROTECT”でなければ
(ステップS1602否定)、命令をそのままプログラ
ム記憶部4にセットする(ステップS1606)。
である場合には(ステップS1602肯定)、暗号化さ
れた保護命令“PROTECT”のパラメータを復号す
る(ステップS1603)。
オプション記述部に暗号化のパラメータ“CIPHE
R”が記述されているであるか否かを判別し(ステップ
S1604)、暗号化のパラメータの記述があれば(ス
テップS1604肯定)、保護終了命令“PROTEC
T”までのプログラムを復号してプログラム記憶部4に
セットする(ステップS1605)。
記述部に暗号化の指定“CIPHER”がされていない
場合には(ステップS1604否定)、命令をそのまま
プログラム記憶部4にセットする(ステップS150
6)。
明によるプログラマブルコントローラのプログラム保護
方法によれば、プログラムの保護命令から保護終了命令
までの間以外の部分は編集できるが、保護命令から保護
終了命令の部分は編集できなくなるから、プログラムの
任意の部分の変更は行えるようになり、PCが搭載され
ているシステムを運用する際、運用する側で自由に変更
・調整が行える部分と、PCのプログラムを作成した側
で誤って変更されてはいけない部分とを分けることがで
き、メーカのトレードシークレットの保護と、実際の運
用にあたってのユーザ側でのプログラムの調整とが両立
するようになる。
ーラのプログラム保護方法によれば、プログラムの保護
命令から保護終了命令までの間以外の部分はモニタ可能
となるが、保護命令から保護終了命令までの間の部分は
モニタができなくなるから、PCが搭載されているシス
テムを製作するメーカのプログラムの振る舞いの部分に
関するトレードシークレットを的確に守れるようにな
る。
ーラのプログラム保護方法によれば、プログラムの保護
命令から保護終了命令までの間以外の部分は画面表示可
能となるが、保護命令から保護終了命令までの間の部分
は画面表示されなくなるから、PCが搭載されているシ
ステムを製作するメーカのプログラムのトレードシーク
レットを的確に守れるようになる。
ーラのプログラム保護方法によれば、プログラムを補助
記憶装置やPCに転送する際、プログラムの保護命令か
ら保護終了命令の間の部分は暗号化されて転送され、補
助記憶装置やPC内では暗号化された状態で格納される
から、プログラム中の保護された部分をコピーやリバー
スエンジニアリングによる解析を防げるようになる。
ーラのプログラム保護方法によれば、保護命令のオプシ
ョン記述で、モニタ禁止、画面表示禁止、暗号化を任意
に指定できるから、モニタ禁止、画面表示禁止、暗号化
の選択設定が必要性に応じて容易に行われ得るようにな
る。
ーラのプログラム保護方法によればパスワード入力によ
って保護命令の解除が特定のオペレータのみにより行わ
れるから、プログラム保護に関して高いセキュリティ性
が得られる。
適用されるPC周辺装置の構成を示すブロック図であ
る。
で使用する保護命令の記述形式を示す説明図である。
命令リストを示す説明図である。
護方法において、保護命令が入っている状態のプログラ
ムの命令リスト例を示す説明図、(b)はプログラム中
に保護命令が表示禁止の指定で置かれている場合の命令
リストでの画面表示例を示す説明図である。
おいて、保護命令が入っている状態のプログラムをラダ
ーダイアグラムで表現した説明図である。
おいて、プログラム編集部の動作を表すフローチャート
である。
おいて、プログラム中に保護命令がモニタ禁止の指定で
置かれている場合のラダーダイアグラムの画面表示例を
示す説明図である。
おいて、プログラム中に保護命令が表示禁止の指定で置
かれている場合のラダーダイアグラムの画面表示例を示
す説明図である。
おいて、プログラム中にモニタ禁止の保護がされている
部分を編集・モニタしようとした際の画面表示例を示す
説明図である。
において、プログラム中に編集禁止の保護がされている
部分を編集しようとした際の画面表示を示す説明図であ
る。
において、プログラム中に表示禁止の保護がされている
部分を編集・モニタしようとした際の、画面表示を示す
説明図である。
において、キャラクタデータ作成部の動作を表すフロー
チャートである。
において、プログラムモニタ部の動作を表すフローチャ
ートである。
において、暗号化・復号化部の動作を表すフローチャー
トである。
において、暗号化・復号化部のプログラム記憶部からの
暗号化処理の動作を表すフローチャートである。
において、暗号化・復号化部のプログラム記憶部への復
号化処理の動作を表すフローチャートである。
において、プログラム中に保護命令が暗号化指定で入っ
ている状態のプログラムの命令リスト例を示す説明図で
ある。
において、プログラム中に保護命令が暗号化指定で入っ
ている状態の暗号化される範囲を示す説明図である。
において、プログラム中に保護命令が暗号化指定されて
いない状態のプログラムの命令リストを示す説明図であ
る。
において、プログラム中に保護命令が暗号化指定されて
いない状態のの暗号化される範囲を示した説明図であ
る。
適用されるPC周辺装置の構成を示すブロック図であ
る。
適用されたPC周辺装置におけるプログラム転送制御部
の動作を表すフローチャートである。
適用されたPC周辺装置におけるプログラム編集部の動
作を表すフローチャートである。
適用されたPC周辺装置におけるプログラムモニタ部の
動作を表すフローチャートである。
グラム保護方法が適用されたPC周辺装置におけるキャ
ラクタデータ作成部の動作を表すフローチャートであ
る。
ラム転送制御部,4プログラム記憶部,5 プログラム
編集部,6 キャラクタデータ作成部,7プログラムモ
ニタ部,8 オペレータインタフェース部,9 補助記
憶装置インタフェース部,10 補助記憶装置,11
暗号化・復号化部,20 PC(プログラマブルコント
ローラ)
Claims (6)
- 【請求項1】 プログラマブルコントローラを動作させ
るためのプログラム保護方法において、 プログラム命令中の任意の部分に置かれた保護命令と保
護終了命令により、プログラムの意図された部分のみの
変更を禁止することを特徴とするプログラマブルコント
ローラのプログラム保護方法。 - 【請求項2】 プログラマブルコントローラを動作させ
るためのプログラム保護方法において、 プログラム命令中の任意の部分に置かれた保護命令と保
護終了命令により、プログラムの意図された部分につい
てのみプログラマブルコントローラでの状態のモニタを
禁止することを特徴とするプログラマブルコントローラ
のプログラム保護方法。 - 【請求項3】 プログラマブルコントローラを動作させ
るためのプログラム保護方法において、 プログラム命令中の任意の部分に置かれた保護命令と保
護終了命令により、プログラムの意図された部分のみの
画面表示を禁止することを特徴とするプログラマブルコ
ントローラのプログラム保護方法。 - 【請求項4】 プログラマブルコントローラを動作させ
るためのプログラム保護方法において、 プログラム命令中の任意の部分に置かれた保護命令と保
護終了命令により、プログラムの意図された部分のみを
暗号化することを特徴とするプログラマブルコントロー
ラのプログラム保護方法。 - 【請求項5】 請求項2のモニタ禁止、請求項3の画面
表示禁止、請求項4の暗号化は、保護命令のオプション
記述で指定することを特徴とする請求項1に記載のプロ
グラマブルコントローラのプログラム保護方法。 - 【請求項6】 保護命令はパスワード記述部を有し、保
護命令の解除はパスワード入力により行うことを特徴と
する請求項1〜5のいづれか一つに記載のプログラマブ
ルコントローラのプログラム保護方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28393396A JP3688827B2 (ja) | 1996-10-25 | 1996-10-25 | プログラマブルコントローラの周辺装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28393396A JP3688827B2 (ja) | 1996-10-25 | 1996-10-25 | プログラマブルコントローラの周辺装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10124308A true JPH10124308A (ja) | 1998-05-15 |
JP3688827B2 JP3688827B2 (ja) | 2005-08-31 |
Family
ID=17672103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28393396A Expired - Fee Related JP3688827B2 (ja) | 1996-10-25 | 1996-10-25 | プログラマブルコントローラの周辺装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3688827B2 (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003157104A (ja) * | 2001-11-22 | 2003-05-30 | Fuji Electric Co Ltd | プログラミング装置 |
JP2005135165A (ja) * | 2003-10-30 | 2005-05-26 | Toshiba Corp | 制御プログラムの保護方法、制御プログラムの保護機能を備えた制御装置 |
WO2006075355A1 (ja) * | 2005-01-11 | 2006-07-20 | Mitsubishi Denki Kabushiki Kaisha | プログラマブルロジックコントローラの周辺装置 |
JP2006202165A (ja) * | 2005-01-24 | 2006-08-03 | Yokogawa Electric Corp | プログラムの編集支援方法及びその装置 |
JP2006331130A (ja) * | 2005-05-26 | 2006-12-07 | Matsushita Electric Works Ltd | プログラマブルコントローラ |
KR100787684B1 (ko) * | 2006-09-08 | 2007-12-21 | 미쓰비시덴키 가부시키가이샤 | 프로그래머블 로직 컨트롤러의 주변 장치 |
JP2009070144A (ja) * | 2007-09-13 | 2009-04-02 | Omron Corp | Plcにおけるプログラミング方法 |
JP2011113198A (ja) * | 2009-11-25 | 2011-06-09 | Koyo Electronics Ind Co Ltd | パスワードによるプログラム保護方法 |
JP2011145860A (ja) * | 2010-01-14 | 2011-07-28 | Hitachi Industrial Equipment Systems Co Ltd | シーケンスプログラム、シーケンスプログラムを記録した記録媒体、シーケンスプログラムを格納したプログラマブルコントローラ、並びにプログラマブルコントローラにおけるシーケンスプログラムの保護支援方法及び装置 |
JP2012008872A (ja) * | 2010-06-25 | 2012-01-12 | Hitachi Ltd | 制御装置の保守ツール |
JP5677623B1 (ja) * | 2013-08-21 | 2015-02-25 | 三菱電機株式会社 | プログラム編集用プログラム |
KR20190084117A (ko) | 2017-06-23 | 2019-07-15 | 미쓰비시덴키 가부시키가이샤 | 래더 프로그램 부정 이용 방지 시스템, 래더 프로그램 부정 이용 방지 방법, 및 엔지니어링 툴 |
-
1996
- 1996-10-25 JP JP28393396A patent/JP3688827B2/ja not_active Expired - Fee Related
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003157104A (ja) * | 2001-11-22 | 2003-05-30 | Fuji Electric Co Ltd | プログラミング装置 |
JP2005135165A (ja) * | 2003-10-30 | 2005-05-26 | Toshiba Corp | 制御プログラムの保護方法、制御プログラムの保護機能を備えた制御装置 |
JP4495945B2 (ja) * | 2003-10-30 | 2010-07-07 | 株式会社東芝 | 制御プログラムの保護機能を備えた制御システム |
GB2432436B (en) * | 2005-01-11 | 2010-03-31 | Mitsubishi Electric Corp | Peripheral device for programmable logic controller |
US7853787B2 (en) | 2005-01-11 | 2010-12-14 | Mitsubishi Denki Kabushiki Kaisha | Peripheral device for programmable logic controller |
GB2432436A (en) * | 2005-01-11 | 2007-05-23 | Mitsubishi Electric Corp | Programmable logic controller peripheral device |
WO2006075355A1 (ja) * | 2005-01-11 | 2006-07-20 | Mitsubishi Denki Kabushiki Kaisha | プログラマブルロジックコントローラの周辺装置 |
JPWO2006075355A1 (ja) * | 2005-01-11 | 2008-06-12 | 三菱電機株式会社 | プログラマブルロジックコントローラの周辺装置 |
CN100447772C (zh) * | 2005-01-11 | 2008-12-31 | 三菱电机株式会社 | 可编程逻辑控制器的外围装置及其使用方法 |
JP2006202165A (ja) * | 2005-01-24 | 2006-08-03 | Yokogawa Electric Corp | プログラムの編集支援方法及びその装置 |
JP2006331130A (ja) * | 2005-05-26 | 2006-12-07 | Matsushita Electric Works Ltd | プログラマブルコントローラ |
KR100787684B1 (ko) * | 2006-09-08 | 2007-12-21 | 미쓰비시덴키 가부시키가이샤 | 프로그래머블 로직 컨트롤러의 주변 장치 |
JP2009070144A (ja) * | 2007-09-13 | 2009-04-02 | Omron Corp | Plcにおけるプログラミング方法 |
JP2011113198A (ja) * | 2009-11-25 | 2011-06-09 | Koyo Electronics Ind Co Ltd | パスワードによるプログラム保護方法 |
JP2011145860A (ja) * | 2010-01-14 | 2011-07-28 | Hitachi Industrial Equipment Systems Co Ltd | シーケンスプログラム、シーケンスプログラムを記録した記録媒体、シーケンスプログラムを格納したプログラマブルコントローラ、並びにプログラマブルコントローラにおけるシーケンスプログラムの保護支援方法及び装置 |
JP2012008872A (ja) * | 2010-06-25 | 2012-01-12 | Hitachi Ltd | 制御装置の保守ツール |
JP5677623B1 (ja) * | 2013-08-21 | 2015-02-25 | 三菱電機株式会社 | プログラム編集用プログラム |
WO2015025382A1 (ja) * | 2013-08-21 | 2015-02-26 | 三菱電機株式会社 | プログラム編集用プログラム |
CN105474112A (zh) * | 2013-08-21 | 2016-04-06 | 三菱电机株式会社 | 程序编辑用程序 |
US9910643B2 (en) | 2013-08-21 | 2018-03-06 | Mitsubishi Electric Corporation | Program for program editing |
CN105474112B (zh) * | 2013-08-21 | 2019-03-08 | 三菱电机株式会社 | 程序编辑方法 |
KR20190084117A (ko) | 2017-06-23 | 2019-07-15 | 미쓰비시덴키 가부시키가이샤 | 래더 프로그램 부정 이용 방지 시스템, 래더 프로그램 부정 이용 방지 방법, 및 엔지니어링 툴 |
DE112017005726T5 (de) | 2017-06-23 | 2019-08-14 | Mitsubishi Electric Corporation | System zur Verhinderung von nicht autorisierter Kontaktplanprogramm-Verwendung, Verfahren zur Verhinderung von nicht autorisierter Kontaktplanprogramm-Verwendung, Engineering-Werkzeug, Lizenzabgabe-Server und programmierbare Steuerung |
Also Published As
Publication number | Publication date |
---|---|
JP3688827B2 (ja) | 2005-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6378071B1 (en) | File access system for efficiently accessing a file having encrypted data within a storage device | |
JPH10124308A (ja) | プログラマブルコントローラのプログラム保護方法 | |
EP2034479B1 (en) | Digital data recording apparatus and a method for protecting copyrights that facilitate reproduction of encrypted digital data recorded on recording media, and a computer-readable recording medium that records a program of the method | |
US5392351A (en) | Electronic data protection system | |
KR101016076B1 (ko) | 프로그래머블 표시기 및 제어 시스템 | |
JP2006054876A (ja) | 画像処理装置における暗号化方法と暗号化装置 | |
EP2372596A1 (en) | Content use control device, recording device, reproduction device, recording medium, and content use control method | |
JP4593549B2 (ja) | ファイル自動復号暗号化システムおよびプログラム | |
KR20080035871A (ko) | Drm 컨텐츠 및 라이센스 제공 방법 및 장치, 그리고drm 컨텐츠 사용 방법 및 장치 | |
EP2028604A1 (en) | File processing system and method, and file processing program | |
US20050246551A1 (en) | System and method for rendering selective presentation of documents | |
JP2002351744A (ja) | コンテンツ記録システム、コンテンツ転送装置、方法、プログラムおよび該プログラムを記録した記録媒体 | |
KR100975133B1 (ko) | 보조기억매체의 보안 관리 시스템 및 이를 이용한 보안관리 방법 | |
US7076063B2 (en) | Master digital data creation device and digital data reproduction device | |
CN104811580A (zh) | 能够有效地删除存储的数据的图像处理装置及其控制方法 | |
KR980010772A (ko) | 컴퓨터 소프트웨어의 복사 방지 방법 | |
JP2008165738A (ja) | ジョブ処理方法、画像処理システム、及びプログラム | |
JP2006020253A (ja) | 情報管理システム、情報管理方法、記録媒体及びプログラム | |
JP2005250752A5 (ja) | ||
JP2002190795A (ja) | 情報端末及び情報端末システム | |
JP2696219B2 (ja) | 情報保護方法 | |
JPH113349A (ja) | データ保護システム,データ作成装置及びデータ加工装置 | |
JPH10222064A (ja) | デジタル情報管理システム、端末装置、情報管理センタ及びデジタル情報管理方法 | |
JP2004246431A (ja) | コンテンツ保護システム、コンテンツ保護方法、その方法をコンピュータに実行させるプログラム | |
JP5175494B2 (ja) | 暗号化コンテンツ編集方法およびコンテンツ管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050308 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050509 |
|
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: 20050607 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050609 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080617 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090617 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100617 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100617 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130617 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |