JPH06266551A - Program protection system - Google Patents
Program protection systemInfo
- Publication number
- JPH06266551A JPH06266551A JP5053920A JP5392093A JPH06266551A JP H06266551 A JPH06266551 A JP H06266551A JP 5053920 A JP5053920 A JP 5053920A JP 5392093 A JP5392093 A JP 5392093A JP H06266551 A JPH06266551 A JP H06266551A
- Authority
- JP
- Japan
- Prior art keywords
- program
- identification code
- code
- program identification
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、プログラム保護方式に
係り、特に、コンピュータ、通信制御装置等のプロセッ
サにおけるプログラム保護方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a program protection system, and more particularly to a program protection system in a processor such as a computer and a communication control device.
【0002】[0002]
【従来の技術】従来はコンピュータ、通信制御装置等の
プロセッサにおけるプログラム保護機構は、保護レベル
の異なるプログラム間での読みだし権、書込み権、実行
権の保護を行う。また、同一保護レベルでのプログラム
の読みだし権、書込み権、実行権の保護を行う。2. Description of the Related Art Conventionally, a program protection mechanism in a processor such as a computer or a communication controller protects a read right, a write right and an execution right between programs having different protection levels. It also protects the program read, write, and execute rights at the same protection level.
【0003】[0003]
【発明が解決しようとする課題】しかしながら、従来の
プログラム保護機構の範囲は、保護レベルの異なるプロ
グラム間での読みだし権、書込み権、実行権の保護及び
同一保護レベルでのプログラムの読みだし権、書込み
権、実行権の保護であり、アクセスできる権利をもつ対
象プログラムまで指定できないため、本来アクセスして
はいけないデータであってもアクセスが可能となった
り、プログラム実行順序が異常であってもそれがエラー
として検出されないという問題がある。However, the scope of the conventional program protection mechanism is that the read right, write right, execution right protection between programs having different protection levels, and program read right at the same protection level. , Write right, and execute right are protected, and even the target program that has the right to access cannot be specified, so even if data that should not be accessed can be accessed, or even if the program execution order is abnormal. There is a problem that it is not detected as an error.
【0004】本発明は上記の点に鑑みなされたもので、
アクセスするプログラムやデータをチェックすることで
プログラムへの暴走を早期に発見し、プログラムの破壊
を最小限にくい止め、システムへの影響を少なくすると
共に、障害分析を容易にすることができるプログラム保
護方式を提供することを目的とする。The present invention has been made in view of the above points,
A program protection method that can detect runaway to a program early by checking the program or data to be accessed, stop the destruction of the program to a minimum, reduce the impact on the system, and facilitate failure analysis The purpose is to provide.
【0005】[0005]
【課題を解決するための手段】本発明はコンピュータ、
通信制御装置等のプロセッサのプログラム保護方式にお
いて、プログラムの割付アドレスに対応したプログラム
識別コードを持つアクセスチェックテーブルと実行中の
プログラム識別コードを持つプロセッサの状態を表す制
御レジスタを具備し、プログラム実行時にアクセスチェ
ックテーブルと制御レジスタのプログラム識別コードを
照会し、一致していない場合には照合エラーとして検出
する。The present invention is a computer,
In a program protection method for a processor such as a communication control device, an access check table having a program identification code corresponding to an assigned address of the program and a control register showing the state of the processor having the program identification code being executed are provided, The access check table and the program identification code of the control register are inquired, and if they do not match, it is detected as a collation error.
【0006】また、本発明は、プログラム識別コードは
階層構成をとり、各階層毎にプログラム識別コードを照
合する。In the present invention, the program identification code has a hierarchical structure, and the program identification code is collated for each hierarchy.
【0007】また、本発明は、プログラム識別コードの
階層は、データアクセスチェック用、プログラム制御権
移行チェック用に任意に割当可能であり、プログラム識
別コードによるチェックを省略する。Further, according to the present invention, the hierarchy of the program identification code can be arbitrarily assigned for the data access check and the program control right transfer check, and the check by the program identification code is omitted.
【0008】また、本発明は、プログラム識別コードは
プログラム作成者がプログラム作成単位に設定する。Further, according to the present invention, the program identification code is set by the program creator in the program creation unit.
【0009】また、本発明は、プロセッサの命令形式に
制御権移行フラグを有し、実行中の命令コードにあるフ
ラグがオンの場合には、実行中の命令の次の制御権移行
先のアドレスチェックテーブルのプログラム識別コード
から読みだして、制御レジスタのプログラム識別コード
に設定する。Further, the present invention has a control right transfer flag in the instruction format of the processor, and when the flag in the instruction code being executed is on, the address of the control right transfer destination next to the instruction being executed It is read from the program identification code in the check table and set as the program identification code in the control register.
【0010】[0010]
【作用】本発明は、従来の保護レベルが異なるプログラ
ム間での読みだし権、書込み権、実行権の保護及び、同
一保護レベルでのプログラムの読みだし権、書込み権、
実行権の保護の技術に加え、さらに、プログラム識別コ
ードを使用して、アクセスするプログラムやデータをチ
ェックすることでプログラムの暴走を早期に発見し、プ
ログラムの破壊を最小限にくい止めかつ、障害分析を容
易にすることができる。The present invention protects the read right, the write right, and the execute right between programs having different protection levels, and the read right and write right of the program at the same protection level.
In addition to the technology to protect the execution right, the program identification code is used to detect the program runaway at an early stage by checking the program and data to be accessed. Can be facilitated.
【0011】[0011]
【実施例】以下、図面と共に本発明の実施例を説明す
る。Embodiments of the present invention will be described below with reference to the drawings.
【0012】図1は本発明の一実施例の構成を示す。同
図は、プログラム実行時に照合を行う場合を示す。同図
においてプログラム識別コードは2階層とする。同図の
例では、上位の階層をプログラム制御権移行チェック用
に、下位層をデータアクセスチェック用に割り当ててい
る。FIG. 1 shows the configuration of an embodiment of the present invention. The figure shows a case where collation is performed when the program is executed. In the figure, the program identification code has two layers. In the example of the figure, the upper layer is allocated for the program control right transfer check, and the lower layer is allocated for the data access check.
【0013】まず、同図において、本実施例のシステム
は、作成プログラムA11、作成プログラムB12から
なる作成プログラム1と、制御レジスタ21とアクセス
チェックテーブル22を有し、プログラムを実行するプ
ロセッサ2、プログラムローディング時にプロセッサ2
に設定されるプログラム識別コード3より構成される。First, in FIG. 1, the system of this embodiment has a creation program 1 including a creation program A11 and a creation program B12, a control register 21 and an access check table 22, and a processor 2 for executing the program and a program. Processor 2 at loading
The program identification code 3 is set to.
【0014】同図において、作成プログラム1はプログ
ラムA命令部とプログラムAデータ部からなる作成プロ
グラムAと、プログラムB命令部とプログラムBデータ
部からなる作成プログラムBを有する。In FIG. 1, a creation program 1 has a creation program A composed of a program A command part and a program A data part, and a creation program B composed of a program B command part and a program B data part.
【0015】プロセッサ2はプロセッサの状態を表す制
御レジスタ21と、プログラム割付アドレスi〜mに対
応したプログラム識別コード221、222、223、
224、225を有し、プログラムローディング時にプ
ログラム識別コード3より設定されたプログラム識別コ
ードを制御レジスタ21に設定し、プログラム制御権移
行チェックやデータアクセスチェック時に制御レジスタ
21に照合するアクセスチェックテーブル22とを有す
る。The processor 2 includes a control register 21 indicating the state of the processor and program identification codes 221, 222, 223 corresponding to the program allocation addresses i to m.
And an access check table 22 which has a program identification code 224, 225, which is set in the control register 21 by the program identification code 3 at the time of program loading, and which is collated with the control register 21 at the time of program control right transfer check and data access check. Have.
【0016】プログラム作成時に与えるプログラム識別
コード3は、プログラムAに付与するプログラム識別コ
ード31と、プログラムBに付与するプログラム識別コ
ード32よりなる。プログラム識別コード31は、プロ
グラム制御権移行チェック用のプログラム識別コードの
上位階層3111と、データアクセスチェック用のプロ
グラム識別コードの下位階層3112を有するプログラ
ム識別コード311を有する。プログラムBに付与する
プログラム識別コード32は、プログラムBの命令部の
プログラム識別コード321、プログラムBのデータ部
のプログラム識別コード322を有する。The program identification code 3 given at the time of creating the program comprises a program identification code 31 given to the program A and a program identification code 32 given to the program B. The program identification code 31 has a program identification code 311 having an upper layer 3111 of a program identification code for program control right transfer check and a lower layer 3112 of a program identification code for data access check. The program identification code 32 given to the program B has a program identification code 321 of the instruction part of the program B and a program identification code 322 of the data part of the program B.
【0017】プロセッサ2におけるアクセスチェックテ
ーブル22のプログラム識別コード221はプログラム
制御権移行チェック用のプログラム識別コードの上位階
層2211、データアクセスチェック用のプログラム識
別コード下位階層2212を有する。プログラムローデ
ィング時にプログラム制御権移行チェック用のプログラ
ム識別コード2211の内容を“A1”、データアクセ
スチェック用のプログラム識別コード2212の内容を
“A11”とする。The program identification code 221 of the access check table 22 in the processor 2 has an upper layer 2211 of the program identification code for the program control right transfer check and a lower layer 2212 of the program identification code for the data access check. At the time of program loading, the content of the program identification code 2211 for program control right transfer check is "A1", and the content of the program identification code 2212 for data access check is "A11".
【0018】また、プログラム識別コード222は上記
プログラム識別コード221と同様にプログラムローデ
ィング時にプログラム識別コード221と同様に設定さ
れる。The program identification code 222 is set in the same manner as the program identification code 221 when the program is loaded, like the program identification code 221.
【0019】プログラム識別コード223については、
プログラムローディング時にプログラムAデータ部に対
応するプログラム識別コード312(#、A11)が設
定される。Regarding the program identification code 223,
When the program is loaded, the program identification code 312 (#, A11) corresponding to the program A data part is set.
【0020】次に、プログラム実行時の照合例を説明す
る。Next, an example of collation during program execution will be described.
【0021】図1において、まず、プログラムA、プロ
グラムBを作成し、これを実行モジュールにする時、プ
ログラム作成者は、プログラムA、プログラムBの識別
コードをプログラムに付与する。同図の例では、プログ
ラムAのプログラムA命令部に対しては、プログラム識
別コード上位層3111(A1)及びプログラム識別コ
ードの下位装置3112(A11)よりなるプログラム
Aの命令部のプログラム識別コード311“A1,A1
1”を付与する。また、プログラムAデータ部に対して
は、プログラムAのデータ部のプログラム識別コード3
12“#、A11”を付与する。In FIG. 1, first, when the program A and the program B are created and used as the execution module, the program creator adds the identification codes of the program A and the program B to the program. In the example of the figure, for the program A command part of the program A, the program identification code 311 of the command part of the program A, which is composed of the program identification code upper layer 3111 (A1) and the program identification code lower device 3112 (A11). "A1, A1
1 "is added. Further, for the program A data part, the program identification code 3 of the data part of the program A is added.
12 “#, A11” is added.
【0022】同様に、プログラムB12に対しては、プ
ログラムBの命令部にプログラム識別コード321“B
1,B11”、プログラムBのデータ部にプログラム識
別コード322“#,B11”を付与する。Similarly, for the program B12, the program identification code 321 "B
1, B11 ", and a program identification code 322"#, B11 "is added to the data part of the program B.
【0023】ここで、プログラムのデータ部に対応する
プログラム識別コードのプログラム制御権移行チェック
用コードとして設定されている“#”は、特殊の固定コ
ードであり、実行可能モジュールを作成するときにデー
タ部に対して自動的に付与される。この特殊コード
“#”は、プログラムの命令部に与えられる制御権移行
用のコードとは別のものを付与する必要がある。これら
のプログラム識別コード31、32は、実行可能モジュ
ールの中に格納されている。Here, "#" set as the program control right transfer check code of the program identification code corresponding to the data part of the program is a special fixed code, which is used when the executable module is created. It is automatically given to the department. This special code "#" needs to be given differently from the control right transfer code given to the instruction part of the program. These program identification codes 31, 32 are stored in the executable module.
【0024】次に、プロセッサ1がこの実行可能モジュ
ールをメモリにローディングする時に実行可能モジュー
ルのプログラム識別コード31、32からアクセスチェ
ックテーブル22を作成する。このアクセスチェックテ
ーブル22はプログラム識別コードを付与するメモリサ
イズ単位にプログラム識別コードを持つ構成となってい
る。Next, when the processor 1 loads the executable module into the memory, the access check table 22 is created from the program identification codes 31 and 32 of the executable module. The access check table 22 has a program identification code in memory size units to which the program identification code is added.
【0025】このような状況でプロセッサ1がプログラ
ムAを実行するとき、まず、アクセスチェックテーブル
22からプログラムAの起動番地iに対応したプログラ
ム識別コード221を求めて、制御レジスタ21に設定
する。ここで、プログラムAの起動番地iに対応したプ
ログラム識別コード221のプログラム識別コードは
“A1,A11”となる。When the processor 1 executes the program A in such a situation, first, the program identification code 221 corresponding to the starting address i of the program A is obtained from the access check table 22 and set in the control register 21. Here, the program identification code of the program identification code 221 corresponding to the starting address i of the program A is "A1, A11".
【0026】次に、プロセッサ1はこのi番地から順次
プログラムを実行してゆく。この時アクセスチェックテ
ーブル22によりアクセス先の番地に対応したプログラ
ム識別コードを求め、制御レジスタ21に設定されてい
るプログラム識別コード211と照合を行う。Next, the processor 1 sequentially executes the program from the address i. At this time, the program identification code corresponding to the address of the access destination is obtained from the access check table 22 and collated with the program identification code 211 set in the control register 21.
【0027】例えば、次のアクセス先がj番地だとする
と、j番地からアクセスチェックテーブル22によりプ
ログラムAのj番地の命令コードに対応するプログラム
識別コード222を求め、制御レジスタ21に設定され
ているプログラム識別コード211と照合する。この場
合、プログラム制御権移行用のコードが同じ“A11”
であるためアクセスは正常として実行される。データア
クセス時は、データアクセスチェック用のプログラム識
別コードにより同様に照合される。For example, assuming that the next access destination is the address j, the program identification code 222 corresponding to the instruction code of the address j of the program A is obtained from the address j by the access check table 22, and the program identification set in the control register 21 is determined. Match with code 211. In this case, the code for transferring the program control right is the same "A11".
Therefore, the access is executed as normal. At the time of data access, the program identification code for data access check is similarly used.
【0028】即ち、j番地の命令を実行したとき、その
データアクセス先がk番地だとすると、k番地からアク
セスチェックテーブル22によりプログラム識別コード
223を求め、制御レジスタ21に設定されているプロ
グラム識別コードと照合する。この場合、プログラム制
御権移行用のコードは“#”であり、これは、データ部
ということで正常で、かつデータアクセスチェック用の
コードは同じ“A11”であるため、正常であるとして
実行される。データアクセス時は、データアクセスチェ
ック用のプログラム識別コードにより同様に照合され
る。That is, when the instruction at the address j is executed and the data access destination is the address k, the program identification code 223 is obtained from the address k by the access check table 22 and the program identification code set in the control register 21 is obtained. Collate. In this case, the code for transferring the program control right is "#", which is normal because it is the data part, and the code for data access check is the same "A11", so it is executed as normal. It At the time of data access, the program identification code for data access check is similarly used.
【0029】即ち、j番地の命令を実行した時にそのデ
ータアクセス先がk番地だとすると、k番地のアクセス
テーブル22によりプログラム識別コード223を求
め、制御レジスタ21に設定されている命令実行時のプ
ログラム識別コード211と照合する。この場合プログ
ラム制御権移行用のコードは#であり、これはデータ部
ということで正常で、かつデータアクセスチェック用の
コードは同じA11であるため正常として実行される。That is, when the data access destination is the address k when the instruction at the address j is executed, the program identification code 223 is obtained from the access table 22 at the address k, and the program identification at the time of executing the instruction set in the control register 21. Match with code 211. In this case, the code for transferring the program control right is #, which is normal because it is the data part, and because the code for data access check is the same A11, it is executed as normal.
【0030】しかし、j番地の命令を実行した時、その
データアクセス先がp番地だったとするとp番地に対応
するアクセスチェックテーブル22のプログラム権移行
用のコードはB1であり、データでないためエラーとし
て検出される。また、j番地の命令を実行した時そのデ
ータアクセス先がm番地だったとすると、m番地に対応
するアクセスチェックテーブル22のプログラム制御権
移行用のコードは#であり、データ部であるので、正常
であるが、次のデータアクセスチェック用のコードはB
11であり制御レジスタ21のコードA11と不一致の
ためエラーとして検出される。However, when the instruction at address j is executed and the data access destination is address p, the code for program right transfer in the access check table 22 corresponding to address p is B1, and it is an error because it is not data. To be detected. If the data access destination is the address m when the instruction at the address j is executed, the code for transferring the program control right of the access check table 22 corresponding to the address m is #, which is the data part. However, the code for the next data access check is B
11 and does not match the code A11 of the control register 21, and is detected as an error.
【0031】次に、プログラム制御権移行時について説
明する。Next, the transfer of the program control right will be described.
【0032】図2は本発明の一実施例の実行可能モジュ
ールがメモリにロードされた状態を示したものである。
同図は、メモリ100を示しており、メモリ100の中
に、図1で示したプログラムAと同様のプログラムA2
00及び図1で示したプログラムBと同様のプログラム
B300により構成される。FIG. 2 shows a state in which the executable module according to the embodiment of the present invention is loaded in the memory.
The figure shows a memory 100, in which a program A2 similar to the program A shown in FIG.
00 and a program B300 similar to the program B shown in FIG.
【0033】プログラムA200はi〜k番地に対応す
る命令コードを有しており、命令コードはそれぞれ制御
権移行フラグ2110、2210を有する。ここでは、
i番地に対応する命令コード210とj番地に対応する
命令コード220があり、命令コード210は現在“O
FF”になっている制御権移行フラグ2110を有す
る。また、j番地に対応する命令コード220は、現在
“ON”になっている制御権移行フラグ2210を有す
る。プログラムB300はp,m番地に対応する命令コ
ードを有している。The program A200 has instruction codes corresponding to addresses i to k, and the instruction codes have control right transfer flags 2110 and 2210, respectively. here,
There is an instruction code 210 corresponding to the address i and an instruction code 220 corresponding to the address j, and the instruction code 210 is currently "O".
The control code transfer flag 2110 is set to "FF". Further, the instruction code 220 corresponding to the address j has the control code transfer flag 2210 that is currently "ON". The program B300 is set to the addresses p and m. It has a corresponding instruction code.
【0034】ここで図2においてプログラムj番地の命
令からプログラムBのp番地をコールするようなプログ
ラム構成であるとする。これにより図2において、プロ
グラムA200の実行可能モジュールを作成すると、自
分のモジュール以外のプログラムをコールする命令コー
ド220については、その命令部の制御権移行フラグ2
210は“ON”になっている。プログラムA200の
i番地の命令210を実行すると、この命令制御権移行
フラグ2110は“OFF”のため制御レジスタ21の
プログラム識別コードはそのままである。Here, in FIG. 2, it is assumed that the program configuration is such that the p address of the program B is called from the instruction of the program j address. As a result, when the executable module of the program A200 is created in FIG. 2, for the instruction code 220 that calls a program other than its own module, the control right transfer flag 2
210 is “ON”. When the instruction 210 at the address i of the program A200 is executed, the instruction control right transfer flag 2110 is "OFF", so that the program identification code of the control register 21 remains unchanged.
【0035】次に、j番地にくるとこの命令コード22
0の制御権移行フラグ2210が“ON”であるため、
制御権移行先のアドレスチェックテーブル22の制御権
移行フラグ2210が“ON”のため、制御権移行先の
アドレスチェックテーブル22に対応するプログラム識
別コードを制御レジスタ21に設定し、p番地の命令の
実行に移る。この時は、プログラム制御権移行チェック
は行われない。Next, at the address j, this instruction code 22
Since the control right transfer flag 2210 of 0 is “ON”,
Since the control right transfer flag 2210 of the control right transfer destination address check table 22 is "ON", the program identification code corresponding to the control right transfer destination address check table 22 is set in the control register 21, and the instruction at the address p is set. Go to execution. At this time, the program control right transfer check is not performed.
【0036】これ以降は、プログラムBのプログラム識
別コードが制御レジスタに設定され、このコードにより
プログラム実行時の照合が行われる。After that, the program identification code of the program B is set in the control register, and the code is used for collation at the time of program execution.
【0037】[0037]
【発明の効果】上述のように、本発明によれば、従来の
技術によるプログラムの保護が図れると共に、プログラ
ム識別コードを使用してアクセスするプログラムやデー
タをチェックすることが可能となるため、従来では発見
できなったプログラムの暴走を早期に発見し、プログラ
ムの破壊を最小限にくい止め、システムへの影響を少な
くすると共に、障害分析を容易にすることができるた
め、信頼性の高いシステムの構築ができる。また、デバ
ッグの効率化も図ることができる。As described above, according to the present invention, the program can be protected by the conventional technique and the program and data to be accessed can be checked by using the program identification code. Can detect a program runaway that could not be found early, stop the destruction of the program to a minimum, reduce the impact on the system, and facilitate failure analysis, thus building a highly reliable system. You can Also, the efficiency of debugging can be improved.
【図1】本発明の一実施例の構成図である。FIG. 1 is a configuration diagram of an embodiment of the present invention.
【図2】本発明の一実施例の実行可能モジュールがメモ
リにロードされた状態を示す図である。FIG. 2 is a diagram showing a state in which an executable module according to an embodiment of the present invention is loaded in a memory.
1 作成プログラム 2 プロセッサ 3 プログラム作成時に与えるプログラム識別コード 11 作成プログラムA 12 作成プログラムB 21 制御レジスタ 22 アクセスチェックテーブル 31 プログラムAに付与するプログラム識別コード 32 プログラムBに付与するプログラム識別コード 100 メモリ 200 プログラムA 210 i番地に対応する命令コード 211 命令実行時のプログラム識別コード 220 j番地に対応する命令コード 221 プログラムAのi番地の命令コードに対応する
プログラム識別コード 222 プログラムAのj番地の命令コードに対応する
プログラム識別コード 223 プログラムAのk番地のデータに対応するプロ
グラム識別コード 224 プログラムBのp番地の命令コードに対応する
プログラム識別コード 225 プログラムBのm番地のデータに対応するプロ
グラム識別コード 300 プログラムB 310 p番地の命令コード 311 プログラムAの命令コード部に付与するプログ
ラム識別コード 312 プログラムAのデータに付与するプログラム識
別コード 321 プログラムBの命令コード部に付与するプログ
ラム識別コード 322 プログラムBのデータ部に付与するプログラム
識別コード 400 プログラムの実行順序 2110 i番地の命令制御権移行フラグ 2210 j番地の命令の制御権移行フラグ 2211 プログラム識別コードの上位階層(プログラ
ム制御権移行チェック用) 2212 プログラム識別コードの下位階層(データア
クセスチェック用) 3111 プログラム識別コードの上位階層(プログラ
ム制御権移行チェック用) 3112 プログラム識別コードの下位階層(データア
クセスチェック用)DESCRIPTION OF SYMBOLS 1 Creation program 2 Processor 3 Program identification code given at program creation 11 Creation program A 12 Creation program B 21 Control register 22 Access check table 31 Program identification code given to program A 32 Program identification code given to program B 100 Memory 200 program A 210 Command code corresponding to i address 211 Program identification code when command is executed 220 Command code corresponding to j address 221 Program identification code corresponding to command code at i address of program A 222 Command code at j address of program A Corresponding program identification code 223 Program identification code corresponding to data at address k of program A 224 Program identification code corresponding to instruction code at address p of program B Code 225 Program identification code corresponding to data at address m of program B 300 Program B 310 Instruction code at address p 311 Program identification code assigned to instruction code portion of program A 312 Program identification code assigned to data of program A 321 program Program identification code 322 given to the instruction code part of B. Program identification code given to the data part of program B 400 Execution order of programs 2110 Instruction control right migration flag 2210 Address j control right migration flag 2211 Program identification Upper layer of code (for program control right transfer check) 2212 Lower layer of program identification code (for data access check) 3111 Upper layer of program identification code (program control right transfer) Ekku for) 3112 program identification code of the lower layer (for data access check)
Claims (5)
ッサのプログラム保護方式において、 プログラムの割付アドレスに対応したプログラム識別コ
ードを持つアクセスチェックテーブルと実行中のプログ
ラム識別コードを持つプロセッサの状態を表す制御レジ
スタを具備し、 プログラム実行時に該アクセスチェックテーブルと該制
御レジスタのプログラム識別コードを照会し、一致して
いない場合には照合エラーとして検出することを特徴と
するプログラム保護方式。1. In a program protection system for a processor such as a computer and a communication control device, an access check table having a program identification code corresponding to an assigned address of the program and a control register showing the state of the processor having the program identification code being executed. A program protection system comprising: a program identification code of the access check table and the control register when the program is executed, and detecting a collation error when they do not match.
とり、各階層毎に前記プログラム識別コードを照合する
ことを特徴とする請求項1記載のプログラム保護方式。2. The program protection system according to claim 1, wherein the program identification code has a hierarchical structure, and the program identification code is collated for each hierarchy.
ータアクセスチェック用、プログラム制御権移行チェッ
ク用に任意に割り当て、該プログラム識別コードによる
チェックを省略することを特徴とする請求項1記載のプ
ログラム保護方式。3. The program protection according to claim 1, wherein the hierarchy of the program identification code is arbitrarily assigned for data access check and program control right transfer check, and the check by the program identification code is omitted. method.
作成者がプログラム作成単位に設定することを特徴とす
る請求項1記載のプログラム保護方式。4. The program protection system according to claim 1, wherein the program identification code is set by a program creator in program creation units.
グを有し、実行中の命令コードにある該フラグがオンの
場合には、実行中の命令の次の制御権移行先のアドレス
チェックテーブルのプログラム識別コードから読みだし
て、制御レジスタのプログラム識別コードに設定するこ
とを特徴とする請求項1記載のプログラム保護方式。5. A control right transfer flag is provided in the instruction format of the processor, and when the flag in the instruction code being executed is on, the address check table of the control right transfer destination next to the instruction being executed is set. 2. The program protection system according to claim 1, wherein the program protection code is read from the program identification code and set in the program identification code of the control register.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5053920A JPH06266551A (en) | 1993-03-15 | 1993-03-15 | Program protection system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5053920A JPH06266551A (en) | 1993-03-15 | 1993-03-15 | Program protection system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06266551A true JPH06266551A (en) | 1994-09-22 |
Family
ID=12956158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5053920A Pending JPH06266551A (en) | 1993-03-15 | 1993-03-15 | Program protection system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06266551A (en) |
-
1993
- 1993-03-15 JP JP5053920A patent/JPH06266551A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7373496B2 (en) | Operating system rebooting apparatus for continuing to execute a non-stop module even during rebooting | |
US8627140B2 (en) | Failure management method and computer | |
CA2020520C (en) | Apparatus and method for preventing unauthorized modification to bios in a personal computer system | |
US10102139B2 (en) | Memory management for address translation including detecting and handling a translation error condition | |
US20220366036A1 (en) | An apparatus and method for handling exceptions | |
EP0098172B1 (en) | Register control processing system | |
US6502176B1 (en) | Computer system and methods for loading and modifying a control program without stopping the computer system using reserve areas | |
EP0290942B1 (en) | Guest machine execution control system for virtual machine system | |
JP4275451B2 (en) | Illegal memory access detection method and program thereof | |
JPH0156410B2 (en) | ||
JPH06266551A (en) | Program protection system | |
JPS59154700A (en) | Data processing system | |
JPH0210456B2 (en) | ||
US20160259680A1 (en) | Memory management | |
JPH05134930A (en) | Memory protecting device | |
JPH06309236A (en) | Illegal write detecting circuit for memory | |
WO1990005951A1 (en) | Method of handling unintended software interrupt exceptions | |
WO2019237867A1 (en) | Method of isolating authority information and performing authority check on basis thereof and computing device | |
JPS6118224B2 (en) | ||
JPH07210421A (en) | Debugging method in thread environment | |
JPH03127241A (en) | Memory control method for paging virtual storage system | |
JPS6195464A (en) | Data protecting system | |
JPS58141500A (en) | Memory management protecting system | |
JPH04181447A (en) | Computer system | |
JPS59167757A (en) | Preventing system of program runaway in electronic computer |