JP2009104380A - Device and method for preventing unauthorized use of robot - Google Patents

Device and method for preventing unauthorized use of robot Download PDF

Info

Publication number
JP2009104380A
JP2009104380A JP2007275086A JP2007275086A JP2009104380A JP 2009104380 A JP2009104380 A JP 2009104380A JP 2007275086 A JP2007275086 A JP 2007275086A JP 2007275086 A JP2007275086 A JP 2007275086A JP 2009104380 A JP2009104380 A JP 2009104380A
Authority
JP
Japan
Prior art keywords
decryption
decryption key
encrypted
robot
key
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
Application number
JP2007275086A
Other languages
Japanese (ja)
Other versions
JP5052287B2 (en
Inventor
Hajime Sakano
肇 坂野
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.)
IHI Corp
Original Assignee
IHI 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 IHI Corp filed Critical IHI Corp
Priority to JP2007275086A priority Critical patent/JP5052287B2/en
Publication of JP2009104380A publication Critical patent/JP2009104380A/en
Application granted granted Critical
Publication of JP5052287B2 publication Critical patent/JP5052287B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a device for preventing unauthorized use of a robot, which prevents unauthorized use of the robot, and to provide its method. <P>SOLUTION: An encrypted robot control program 23 is stored in a nonvolatile memory 15. A boot loader 21 decrypts the encrypted robot control program 23 when starting the robot and develops it in a main storage 11 only when an input decryption key for program decryption is correct. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、ロボット不正使用防止装置およびロボット不正使用防止方法に関する。   The present invention relates to a robot unauthorized use preventing apparatus and a robot unauthorized use preventing method.

従来のロボットは、例えば工場などにおいて産業用ロボットとして様々な形態のものが使用されている。そして近年、その技術発展により警備用ロボットなど一般の人々の目に触れる場所での使用が広まりつつある。   Conventional robots are used in various forms as industrial robots in factories, for example. In recent years, the use of technology such as security robots in places that can be seen by the general public is becoming widespread.

このようにロボットが多くの人の目に触れるようになると、ロボットが第三者に勝手に使用されたり、盗難などによって本来の使用者以外の人が操作したりすることが考えられるため、不正使用防止機能を設ける必要がある。また、盗難後のリバースエンジニアリングによる技術漏洩などに対する対策も必要となる。   If the robot comes into contact with many people in this way, the robot may be used without permission by a third party or operated by someone other than the original user due to theft, etc. It is necessary to provide a use prevention function. In addition, it is necessary to take measures against technology leakage due to reverse engineering after theft.

このような不正使用や技術漏洩の対策として、もっとも単純な方法としてはロボットに物理的な鍵をかけて盗難などに合わないようにすることである。しかし、単に物理的な鍵をかけただけでは、鍵が破壊されてしまうこともあり、不正使用防止に対する対策としては不十分である。   As a countermeasure against such illegal use and technology leakage, the simplest method is to lock the robot with a physical key so as not to be stolen. However, simply applying a physical key may destroy the key, which is insufficient as a countermeasure against unauthorized use.

そこで、従来から、半導体メモリを利用したICカード(特許文献1)やハードディスクなどに格納されたセキュリティデータ(特許文献2)をロボットに接続しないと、ロボット自体が動かないようにしたり、また、ロボットの制御プログラムにパスワード認証を実装して、パスワードがないとプログラムが開かないようにしたり(特許文献3、4)ということが行われている。
特開2001−209773号公報 特開2002−7216号公報 特開平11−85498号公報 特開2003−24184号公報
Therefore, conventionally, if the security data (Patent Document 2) stored in an IC card (Patent Document 1) or a hard disk using a semiconductor memory is not connected to the robot, the robot itself cannot be moved, In some control programs, password authentication is implemented so that the program cannot be opened without a password (Patent Documents 3 and 4).
JP 2001-209773 A JP 2002-7216 A Japanese Patent Laid-Open No. 11-85498 JP 2003-24184 A

しかしながら、上記のような従来の不正防止方法では、半導体メモリやハードディスクに入れたセキュリティデータを使用する場合、一緒に盗難や鹵獲されてしまえば不正行為を防止ことはできず、また、時間をかければ総当りでデータを入力するなどの手法により解読されてしまうおそれがある。一方、制御プログラムそのものがリバースエンジニアリングにより解析されてしまえば、技術漏洩だけでなく、パスワード認証のプログラムブロックを回避させて動作させるなどの方法によって、不正使用されるおそれがある。   However, with the conventional fraud prevention methods as described above, if security data stored in a semiconductor memory or hard disk is used, fraud can not be prevented if it is stolen or captured together, and it takes time. For example, there is a risk that the data will be deciphered by a method such as inputting data with brute force. On the other hand, if the control program itself is analyzed by reverse engineering, it may be used illegally not only by technology leakage but also by a method such as operating by bypassing a password authentication program block.

本発明は上記課題を解決するためになされたものであり、第1の目的は、物理的な鍵の破壊やリバースエンジニアリングによるロボットの不正使用を防止することができるロボット不正使用防止装置およびロボット不正使用防止方法を提供することにある。   SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and a first object thereof is to provide a robot unauthorized use prevention apparatus and robot unauthorized use capable of preventing the destruction of a physical key and unauthorized use of a robot by reverse engineering. It is to provide a use prevention method.

また、第2の目的は、上記第1の目的に加えて、時間をかけた解読によるロボットの不正使用を可及的に防止することができるロボット不正使用防止装置およびロボット不正使用防止方法を提供することにある。   Further, in addition to the first object, the second object is to provide a robot unauthorized use prevention device and a robot unauthorized use prevention method capable of preventing unauthorized use of a robot by decoding over time. There is to do.

上記第1の目的を達成するための請求項1に係わるロボット不正使用防止装置は、揮発性記憶手段と、暗号化したロボット制御プログラムを記憶する不揮発性記憶手段と、前記暗号化したロボット制御プログラムを、当該ロボット制御プログラムを復号するためのプログラム復号用の復号鍵に基づいて復号して前記揮発性記憶手段に展開する復号手段とを備えることを特徴とするものである。   An apparatus for preventing unauthorized use of a robot according to claim 1 for achieving the first object comprises: a volatile storage means; a nonvolatile storage means for storing an encrypted robot control program; and the encrypted robot control program. And decrypting means for decrypting the program based on a decryption key for program decryption for decrypting the robot control program, and expanding the decrypted data into the volatile storage means.

また、上記第1の目的を達成するための請求項2に係わるロボット不正使用防止装置は、揮発性記憶手段と、暗号化したロボット制御プログラムと共に、当該ロボット制御プログラムを復号するためのプログラム復号用の復号鍵をさらに暗号化することで生成される暗号化した復号鍵を記憶する不揮発性記憶手段と、入力された鍵復号用の復号鍵に基づいて前記暗号化した復号鍵を復号してプログラム復号用の復号鍵を生成し、当該プログラム復号用の復号鍵に基づいて前記暗号化したロボット制御プログラムを復号して前記揮発性記憶手段に展開する復号手段とを備えることを特徴とするものである。   According to another aspect of the present invention, there is provided an apparatus for preventing unauthorized use of a robot according to claim 2 for decrypting a program for decrypting the robot control program together with the volatile storage means and the encrypted robot control program. A non-volatile storage means for storing an encrypted decryption key generated by further encrypting the decryption key, and a program for decrypting the encrypted decryption key based on the input decryption key for decryption A decryption unit configured to generate a decryption key for decryption, decrypt the encrypted robot control program based on the decryption key for decrypting the program, and expand the decrypted program in the volatile storage unit. is there.

また、上記第2の目的を達成するための請求項3に係わるロボット不正使用防止装置は、請求項2において、前記暗号化した復号鍵は、当該復号鍵を使用できる複数の期間ごとに設定された鍵復号用の復号鍵により暗号化され、前記期間ごとに関連付けられて前記不揮発性記憶手段に複数記憶され、前記復号手段は、前記鍵復号用の復号鍵が入力された日時と適合する前記暗号化した復号鍵を前記不揮発性記憶手段から取り出し、取り出した前記暗号化した復号鍵を用いてプログラム復号用の復号鍵を復号することを特徴とするものである。   According to a third aspect of the present invention, there is provided an apparatus for preventing unauthorized use of a robot according to a third aspect of the present invention, wherein the encrypted decryption key is set for each of a plurality of periods during which the decryption key can be used. Encrypted with the decryption key for key decryption, and associated with each period and stored in the nonvolatile storage means, and the decryption means matches the date and time when the decryption key for key decryption is input. The encrypted decryption key is extracted from the non-volatile storage means, and the decryption key for program decryption is decrypted using the extracted decryption key.

また、上記第2の目的を達成するための請求項4に係わるロボット不正使用防止装置は、請求項2または3において、前記暗号化した復号鍵が、前記プログラム復号用の復号鍵に、使用できる期間の日時を基にした変換処理を実施して中間データ復号鍵を生成し、当該中間データ復号鍵をさらに暗号化したものであることを特徴とするものである。   According to a fourth aspect of the present invention, there is provided an apparatus for preventing unauthorized use of a robot according to a fourth aspect, wherein the encrypted decryption key can be used as the decryption key for decrypting the program. The intermediate data decryption key is generated by performing conversion processing based on the date and time of the period, and the intermediate data decryption key is further encrypted.

また、上記第2の目的を達成するための請求項5に係わるロボット不正使用防止装置は、請求項3または4において、前記暗号化した復号鍵が、前記使用できる期間毎に前記不揮発性記憶手段に記憶されることを特徴とするものである。   The robot unauthorized use preventing apparatus according to claim 5 for achieving the second object described above is the non-volatile storage means according to claim 3 or 4, wherein the encrypted decryption key is used for each usable period. It is characterized by being stored in

また、上記第2の目的を達成するための請求項6に係わるロボット不正使用防止装置は、請求項2乃至5のいずれか一項において、前記暗号化した復号鍵が、非対称暗号方式によって送信されて前記不揮発性記憶手段に記憶されることを特徴とするものである。   According to a sixth aspect of the present invention, there is provided an apparatus for preventing unauthorized use of a robot according to a sixth aspect of the present invention, wherein the encrypted decryption key is transmitted by an asymmetric cryptosystem. And stored in the non-volatile storage means.

一方、上記第1の目的を達成するための請求項7に係わるロボット不正使用防止方法は、揮発性記憶手段と、不揮発性記憶手段と、復号手段とを備えたロボット不正使用防止装置におけるロボット不正使用防止方法であって、前記不揮発性記憶手段には、暗号化したロボット制御プログラムが記憶され、前記復号手段が、ロボットの動作開始時に、前記暗号化したロボット制御プログラムを、当該ロボット制御プログラムを復号するためのプログラム復号用の復号鍵に基づいて復号して前記揮発性記憶手段に展開することを特徴とするものである。   On the other hand, a robot unauthorized use prevention method according to claim 7 for achieving the first object is a robot unauthorized use in a robot unauthorized use preventing apparatus comprising a volatile storage means, a nonvolatile storage means, and a decryption means. In the use prevention method, an encrypted robot control program is stored in the non-volatile storage means, and the decryption means stores the encrypted robot control program at the start of robot operation. The decryption is performed based on a decryption key for decrypting a program for decryption, and the decryption key is expanded in the volatile storage means.

また、上記第1の目的を達成するための請求項8に係わるロボット不正使用防止方法は、揮発性記憶手段と、不揮発性記憶手段と、復号手段とを備えたロボット不正使用防止装置におけるロボット不正使用防止方法であって、前記不揮発性記憶手段には、暗号化したロボット制御プログラムと共に、当該ロボット制御プログラムを復号するためのプログラム復号用の復号鍵をさらに暗号化し、当該暗号化により生成される暗号化した復号鍵が記憶され、前記復号手段が、入力された鍵復号用の復号鍵に基づいて前記暗号化した復号鍵を復号してプログラム復号用の復号鍵を生成し、当該プログラム復号用の復号鍵に基づいて前記暗号化したロボット制御プログラムを復号して前記揮発性記憶手段に展開することを特徴とするものである。   According to another aspect of the present invention, there is provided a method for preventing unauthorized use of a robot according to an eighth aspect of the present invention, wherein a robot unauthorized use in a robot unauthorized use preventing apparatus comprising volatile storage means, nonvolatile storage means, and decryption means. In the use prevention method, the non-volatile storage means further encrypts a decryption key for decrypting the program for decrypting the robot control program together with the encrypted robot control program, and is generated by the encryption. An encrypted decryption key is stored, and the decryption means decrypts the encrypted decryption key based on the input key decryption key to generate a decryption key for program decryption. The encrypted robot control program is decrypted on the basis of the decryption key and expanded in the volatile storage means.

また、上記第2の目的を達成するための請求項9に係わるロボット不正使用防止方法は、請求項8において、前記暗号化した復号鍵が、前記プログラム復号用の復号鍵を当該復号鍵が使用できる期間の情報とともに暗号化したものであることを特徴とするものである。   In addition, the robot unauthorized use prevention method according to claim 9 for achieving the second object described above is the method according to claim 8, wherein the encrypted decryption key uses the decryption key for decrypting the program. It is characterized by being encrypted together with information of a possible period.

また、上記第2の目的を達成するための請求項10に係わるロボット不正使用防止方法は、前記暗号化した復号鍵が、前記プログラム復号用の復号鍵に、使用できる期間の日時を基にした変換処理を実施して中間データ復号鍵を生成し、当該中間データ復号鍵をさらに暗号化したものであることを特徴とするものである。   According to a tenth aspect of the present invention, there is provided a method for preventing unauthorized use of a robot according to a tenth aspect of the present invention, wherein the encrypted decryption key is used as a decryption key for program decryption based on the date and time of a usable period. The intermediate data decryption key is generated by performing the conversion process, and the intermediate data decryption key is further encrypted.

また、上記第2の目的を達成するための請求項11に係わるロボット不正使用防止方法は、請求項9または10において、前記暗号化した復号鍵が、前記使用できる期間毎に前記不揮発性記憶手段に記憶されることを特徴とするものである。   A robot unauthorized use prevention method according to claim 11 for achieving the second object described above is the nonvolatile storage means according to claim 9 or 10, wherein the encrypted decryption key is used for each period in which the encrypted decryption key can be used. It is characterized by being stored in

また、上記第2の目的を達成するための請求項12に係わるロボット不正使用防止方法は、請求項8乃至11のいずれか一項において、前記暗号化した復号鍵が、非対称暗号方式によって送信されて前記不揮発性記憶手段に記憶されることを特徴とするものである。   According to a twelfth aspect of the present invention, there is provided a method for preventing unauthorized use of a robot according to a twelfth aspect, wherein the encrypted decryption key is transmitted by an asymmetric encryption method. And stored in the non-volatile storage means.

上記請求項1に係わるロボット不正使用防止装置及び請求項7に係わるロボット不正使用防止方法によれば、ロボット制御プログラムを暗号化して不揮発性記憶手段に記憶しておき、ロボットを動作させる段階でプログラム復号用の復号鍵に基づいて復号して揮発性記憶手段に展開するようにしたので、物理的な鍵の破壊により動作中のロボットが盗難に遭った場合でも、ロボットの電源を止めた段階で、揮発性記憶手段に展開されていた復号したロボット制御プログラムは消えてしまうため、そのまま使用することはできなくなる。また、暗号化したロボット制御プログラムは復号鍵がないとプログラムの処理内容が一切分からないので、リバースエンジニアリグなどの解析による技術漏洩や不正使用を防止することができる。   According to the robot unauthorized use preventing apparatus according to claim 1 and the robot unauthorized use preventing method according to claim 7, the robot control program is encrypted and stored in the nonvolatile storage means, and the program is executed at the stage of operating the robot. Decryption based on the decryption key for decryption and deployment to volatile storage means, so even if the operating robot is stolen due to the destruction of the physical key, when the robot power is turned off Since the decrypted robot control program developed in the volatile storage means disappears, it cannot be used as it is. Further, since the encrypted robot control program has no decryption key, the processing contents of the program cannot be known at all, so that it is possible to prevent technical leakage and unauthorized use by analysis such as reverse engineering.

また、上記請求項2に係わるロボット不正使用防止装置及び請求項8に係わるロボット不正使用防止方法によれば、ロボットを動作させる段階で、暗号化した復号鍵を鍵復号用の復号鍵に基づいて復号してプログラム復号用の復号鍵を生成し、暗号化したロボット制御プログラムをこのプログラム復号用の復号鍵に基づいて復号して揮発性記憶手段に展開するようにしたので、物理的な鍵の破壊により動作中のロボットが盗難に遭った場合でも、ロボットの電源を止めた段階で、揮発性記憶手段に展開されていた復号したロボット制御プログラムは消えてしまうため、そのまま使用することはできなくなる。また、暗号化したロボット制御プログラムは復号鍵がないとプログラムの処理内容が一切分からないので、リバースエンジニアリグなどの解析による技術漏洩や不正使用を防止することができる。   According to the robot unauthorized use preventing apparatus according to claim 2 and the robot unauthorized use preventing method according to claim 8, the encrypted decryption key is used based on the decryption key for key decryption in the stage of operating the robot. The decryption key for decrypting the program is generated by decryption, and the encrypted robot control program is decrypted on the basis of the decryption key for decrypting the program and expanded to the volatile storage means. Even if a robot that is operating due to destruction is stolen, the decrypted robot control program deployed in the volatile storage means disappears when the robot power is turned off, so it cannot be used as it is. . Further, since the encrypted robot control program has no decryption key, the processing contents of the program cannot be known at all, so that it is possible to prevent technical leakage and unauthorized use by analysis such as reverse engineering.

また、上記請求項3に係わるロボット不正使用防止装置及び請求項9に係わるロボット不正使用防止方法によれば、暗号化した復号鍵を使用できる期間毎に作成するようにしたので、仮に運転中のロボットが、その時点での鍵復号用の復号鍵とともに盗難されたとしても、運用期間が過ぎてしまえば、それ以上はロボットを使用されることがないので、不正使用による被害を限定することができる。また暗号化したロボット制御プログラム自体の解析もできなくなる。そして、現在動作中の期間を過ぎれば、暗号化した復号鍵そのものの効力もなくなるため、動作中に暗号化した復号鍵が解析されたとしても、その復号鍵は、運用期間を過ぎればそれ以降は使うことのできないものとなる。したがって、運用期間を短く設定しておけば、ロボットの盗難後に暗号化した復号鍵の解読に時間をかけても、運用期間を過ぎれば無駄になるため、不正使用が出来なくなる。また、仮に盗難直後に暗号化した復号鍵を解読されて不正使用されたとしても、不正使用の時間をごく短時間に抑えることが可能となるため、時間をかけた解読による不正使用を可及的に防止することができる。さらに、暗号化すべきロボット制御プログラムが多くある場合や、運用期間を時間単位で細分化した場合などにおいては、不揮発性記憶手段に記憶するデータ量を大幅に少なくすることができるので、不揮発性記憶手段の記憶容量を有効利用することができる。   In addition, according to the robot unauthorized use prevention apparatus according to claim 3 and the robot unauthorized use prevention method according to claim 9, the encrypted decryption key is created for each usable period. Even if the robot is stolen with the decryption key for the key decryption at that time, if the operation period expires, the robot will not be used any further, so damage due to unauthorized use may be limited. it can. Also, the encrypted robot control program itself cannot be analyzed. And after the current operating period, the encrypted decryption key itself becomes ineffective, so even if the encrypted decryption key is analyzed during the operation, the decryption key will be Cannot be used. Therefore, if the operation period is set short, even if it takes a long time to decrypt the decryption key encrypted after the robot is stolen, it will be wasted after the operation period, and unauthorized use will not be possible. In addition, even if the decryption key encrypted immediately after theft is decrypted and used illegally, the time for unauthorized use can be kept to a very short time. Can be prevented. Furthermore, when there are many robot control programs to be encrypted or when the operation period is subdivided in units of time, the amount of data stored in the non-volatile storage means can be greatly reduced. The storage capacity of the means can be used effectively.

上記請求項4に係わるロボット不正使用防止装置及び請求項10に係わるロボット不正使用防止方法によれば、プログラム復号用の復号鍵に、使用できる期間の日時を基にした変換処理を実施して中間データ復号鍵を生成し、この中間データ復号鍵をさらに暗号化することにより暗号化した復号鍵を得るようにしたので、暗号化した復号鍵の解読をより困難なものにすることができる。   According to the robot unauthorized use preventing apparatus according to claim 4 and the robot unauthorized use preventing method according to claim 10, the decryption key for decrypting the program is subjected to the conversion process based on the date and time of the usable period, and the intermediate Since the data decryption key is generated and the intermediate data decryption key is further encrypted to obtain the encrypted decryption key, the decryption of the encrypted decryption key can be made more difficult.

上記請求項5に係わるロボット不正使用防止装置及び請求項11に係わるロボット不正使用防止方法によれば、暗号化した復号鍵を使用できる期間に応じて不揮発性記憶手段に記憶することにより、不揮発性記憶手段に記憶させておく暗号化した復号鍵は当面のロボットの動作に必要な分だけとすることができる。このため、仮に不揮発性記憶手段に記憶されている暗号化した復号鍵が解析されたとしても、解析される復号鍵の数を最小限に抑えることができる。   According to the robot unauthorized use preventing apparatus according to claim 5 and the robot unauthorized use preventing method according to claim 11, the encrypted decryption key is stored in the nonvolatile storage means according to the period in which the encrypted decryption key can be used. The number of encrypted decryption keys stored in the storage means can be as much as necessary for the operation of the robot for the time being. For this reason, even if the encrypted decryption key stored in the nonvolatile storage means is analyzed, the number of decryption keys to be analyzed can be minimized.

上記請求項6に係わるロボット不正使用防止装置及び請求項12に係わるロボット不正使用防止方法によれば、ロボット側において、送信されてきた公開鍵によりプログラム復号用の復号鍵を復号できない場合には、正しくない送信元から送られてきたデータと判断することができるため、送信経路上での改鼠に対して安全なものとすることができる。   According to the robot unauthorized use preventing apparatus according to claim 6 and the robot unauthorized use preventing method according to claim 12, when the decryption key for decrypting the program cannot be decrypted by the public key transmitted on the robot side, Since it can be determined that the data is transmitted from an incorrect transmission source, it can be made safe against falsification on the transmission path.

以下、本発明に係わるロボット不正使用防止装置を適用した実施形態について図面を参照しながら説明する。   Hereinafter, an embodiment to which a robot unauthorized use preventing apparatus according to the present invention is applied will be described with reference to the drawings.

[実施形態1]
図1は、本発明に係るロボット不正使用防止装置を適用したロボット制御システムの構成を示すブロック図である。
[Embodiment 1]
FIG. 1 is a block diagram showing a configuration of a robot control system to which a robot unauthorized use preventing apparatus according to the present invention is applied.

この実施形態1は、ブートローダを備えたロボット制御システムに本発明を適用した例である。   The first embodiment is an example in which the present invention is applied to a robot control system provided with a boot loader.

図1に示すように、本実施形態のロボット制御システム1は、ロボットを動作させるときに必要なプログラムが展開される主記憶装置11(揮発性記憶手段)と、この主記憶装置11に展開(ロード)されたプログラムを実行してロボットを制御し、動作させるCPU13と、ロボットの動作に必要なプログラムを常時記憶している不揮発性メモリ15(不揮発性記憶手段)とを備えている。また、このシステムには、キーボードやネットワークなど25が接続されている。   As shown in FIG. 1, the robot control system 1 according to the present embodiment has a main storage device 11 (volatile storage means) in which a program necessary for operating the robot is developed, and the main storage device 11 develops ( A CPU 13 that controls and operates the robot by executing the loaded program and a non-volatile memory 15 (non-volatile storage means) that always stores a program necessary for the operation of the robot are provided. In addition, a keyboard and a network 25 are connected to this system.

主記憶装置11内には、展開したブートローダ17と、復号したロボット制御プログラム19とが一時記憶される。この主記憶装置11は、例えばRAMなどの揮発性メモリであり、ロボットの動作が終了した時点または電源がオフとなった時点で、記憶されている内容はすべて消去される。   In the main storage device 11, the expanded boot loader 17 and the decrypted robot control program 19 are temporarily stored. The main storage device 11 is a volatile memory such as a RAM, for example, and all stored contents are erased when the operation of the robot is completed or when the power is turned off.

一方、不揮発性メモリ15には、ブートローダ21と、暗号化したロボット制御プログラム23とが記憶されている。この暗号化したロボット制御プログラム23は、平文であるロボット制御プログラムを所定の復号鍵により暗号化して暗号文としたものであり、プログラム復号用の復号鍵により復号されるものである。   On the other hand, the nonvolatile memory 15 stores a boot loader 21 and an encrypted robot control program 23. The encrypted robot control program 23 is a ciphertext obtained by encrypting a robot control program which is a plaintext with a predetermined decryption key, and is decrypted with a decryption key for program decryption.

ここで、プログラム復号用の暗号鍵は、例えば、DES(Data Encryption Standard)のような対称暗号方式であれば、暗号化の際に使用された暗号鍵と等しいものとなる。また、例えば、RSA(Rivest,Sharmir,Adleman’s Method)のような非対称暗号方式であれば、暗号化の際に使用された暗号鍵とは異なる秘密鍵となる。これらプログラム復号用の復号鍵は、ロボットを使用することができる使用者や組織により管理されている。このときに、ロボットの動作レベルに応じて権限の切り分けを行い、各レベル毎にプログラム復号用の復号鍵を設定するようにしてもよい。例えば、監視用ロボットを例とすると、Aレベルではロボットを使って特定領域を監視することしかできないが、Bレベルでは、監視に加えて侵入者への威嚇ができ、Cレベルでは監視、威嚇に加えてさらに侵入者への攻撃ができるというように権限の切り分けを行った場合、各レベルの動作に応じてロボット制御プログラムを分け、それぞれのプログラム毎にプログラム復号用の復号鍵を設定することにより、権限に応じてロボットの機能を制限することができる。上記監視用ロボットの例で言うと、監視のみを許可された使用者、監視+威嚇が許可された使用者、監視+威嚇+攻撃が許可された使用者というような権限の切り分けとなり、下位の権限をもつAレベルの使用者は監視用プログラムについてのみ実行することができ、中位の権限をもつBレベルの使用者は監視と威嚇ができるプログラムを実行することができ、上位の権限をもつCレベルの使用者は監視、威嚇及び攻撃ができるプログラムを実行することができるようになる。   Here, if the encryption key for program decryption is a symmetric encryption method such as DES (Data Encryption Standard), it is the same as the encryption key used in the encryption. Further, for example, in the case of an asymmetric cryptosystem such as RSA (Rivest, Sharmir, Adleman's Method), the secret key is different from the encryption key used at the time of encryption. These decryption keys for program decryption are managed by a user or organization that can use the robot. At this time, authority may be divided according to the operation level of the robot, and a decryption key for program decryption may be set for each level. For example, taking a monitoring robot as an example, a specific area can only be monitored using a robot at the A level, but in addition to monitoring at the B level, threats to intruders can be achieved, and at the C level, monitoring and threatening can be performed. In addition, when the authority is separated so that further intruder attacks can be performed, the robot control program is divided according to the operation of each level, and a decryption key for program decryption is set for each program. Depending on the authority, the functions of the robot can be restricted. In the example of the above-mentioned monitoring robot, the authority is divided into a user who is permitted to monitor only, a user who is permitted to monitor + threat, and a user who is permitted to monitor + threat + attack. An authorized A level user can execute only the monitoring program, and an intermediate B level user can execute a program that can be monitored and threatened, and has a higher authority. C level users will be able to run programs that can be monitored, threatened and attacked.

また、不揮発性メモリ15は、例えばフラッシュメモリなどの半導体メモリや、ハードディスクドライブ(HDD)などを用いたものである。そのほか、例えば、ICカード形状などの可搬式のメモリ装置として、ロボットを動作させるときに接続するようにしてもよい。   The non-volatile memory 15 uses, for example, a semiconductor memory such as a flash memory, a hard disk drive (HDD), or the like. In addition, for example, a portable memory device such as an IC card shape may be connected when the robot is operated.

不揮発性メモリ15に記憶されている、暗号化したロボット制御プログラム23は、動作させるロボットに応じて複数の制御ブロック毎に記憶されていてもよいし、一つでもよい。また、複数の制御ブロックに分けて記憶する場合はロボットの動作に関わる主要ブロックのみ暗号化されたものとしてもよい。   The encrypted robot control program 23 stored in the nonvolatile memory 15 may be stored for each of a plurality of control blocks according to the robot to be operated, or may be one. In the case of storing in a plurality of control blocks, only the main blocks related to the operation of the robot may be encrypted.

この不揮発性メモリ15に記憶されているブートローダ21は復号手段を含み、ロボット起動時に主記憶装置11に展開される。そして、展開されたブートローダ21が起動して、使用者によってロボットに接続されたキーボードまたはネットワークを介してプログラム復号用の復号鍵が入力されることにより、展開したブートローダ17の復号手段が実行される。このとき、入力されたプログラム復号用の復号鍵に基づいて、暗号化したロボット制御プログラム23が復号されて、主記憶装置11内に展開される。   The boot loader 21 stored in the nonvolatile memory 15 includes a decoding unit, and is expanded in the main storage device 11 when the robot is activated. Then, the expanded boot loader 21 is activated, and the decryption means for the expanded boot loader 17 is executed by the user inputting a decryption key for program decryption via a keyboard or network connected to the robot. . At this time, the encrypted robot control program 23 is decrypted based on the input decryption key for program decryption, and is expanded in the main storage device 11.

次に、本実施形態のロボット制御システム1を動作させる際の処理手順について説明する。   Next, a processing procedure when operating the robot control system 1 of the present embodiment will be described.

図2は、ロボット動作開始時の処理手順を示すフローチャートである。ロボットの動作開始の命令、コマンドがキーボードやネットワークなど25を介して入力されると、不揮発性メモリ15内のブートローダ21が読み込まれて、主記憶装置11内に展開される(ステップS101)。そして、展開したブートローダ17が起動される(ステップS102)。   FIG. 2 is a flowchart showing a processing procedure at the start of robot operation. When a command or command for starting the operation of the robot is input via the keyboard or the network 25, the boot loader 21 in the nonvolatile memory 15 is read and expanded in the main storage device 11 (step S101). Then, the expanded boot loader 17 is activated (step S102).

次に、展開したブートローダ17は、動作モードとプログラム復号用の復号鍵を受け付け(ステップS103)、暗号化したロボット制御プログラム23を一旦、主記憶装置11内に読み込む(ステップS104)。   Next, the expanded boot loader 17 receives the operation mode and the decryption key for program decryption (step S103), and once reads the encrypted robot control program 23 into the main storage device 11 (step S104).

続いて、展開したブートローダ17は、入力されたプログラム復号用の復号鍵に基づいて、読み込んだ暗号化したロボット制御プログラム23を復号し(ステップS105)、復号したロボット制御プログラム19として主記憶装置11内の実行領域に展開する(ステップS106)。   Subsequently, the expanded boot loader 17 decrypts the read encrypted robot control program 23 based on the inputted decryption key for program decryption (step S105), and the main storage device 11 as the decrypted robot control program 19 It expands to the execution area within (step S106).

なお、後述する実施形態2のように、プログラム復号用の復号鍵自体が暗号化されている場合には、ステップS105において暗号化したロボット制御プログラム23を復号するのに先立って、暗号化した復号鍵の復号を行う。   If the decryption key for program decryption itself is encrypted as in the second embodiment to be described later, the encrypted decryption is performed prior to decrypting the robot control program 23 encrypted in step S105. Decrypt the key.

その後、復号処理が正常に行われたか否かを判断して(ステップS107)、正常に行われていればロボット制御プログラムが起動される(ステップS108)。ここで復号処理が正常に行われなかった場合には、ステップS103へ戻りプログラム復号用の復号鍵入力待ちになる。したがって、正しいプログラム復号用の復号鍵が入力されない限りロボットが動作することはない。   Thereafter, it is determined whether or not the decryption process has been performed normally (step S107). If the decryption process has been performed normally, the robot control program is started (step S108). If the decryption process is not performed normally, the process returns to step S103 and waits for the decryption key for program decryption. Therefore, the robot does not operate unless a correct decryption key for program decryption is input.

なお、一定回数以上間違ったプログラム復号用の復号鍵が入力された場合は、それ以降動作を全く受け付けなくするようにしてもよい。   If a wrong decryption key for program decryption is input more than a certain number of times, the subsequent operation may not be accepted at all.

本実施形態のロボット制御システム1によれば、ロボット制御プログラムを暗号化して記憶しておき、ロボットを動作させる段階でプログラム復号用の復号鍵に基づいて復号して、不揮発性記憶手段である主記憶装置11に展開するようにしたので、物理的な鍵の破壊により動作中のロボットが盗難に遭った場合でも、ロボットを停止させた段階で主記憶装置11に展開されていた復号したロボット制御プログラム19は消えてしまうため、そのまま使用することはできなくなる。また、暗号化したロボット制御プログラム23は復号鍵がないとプログラムの処理内容が一切分からないので、リバースエンジニアリグなどの解析による技術漏洩や不正使用を防止することができる。   According to the robot control system 1 of the present embodiment, the robot control program is encrypted and stored, and decrypted based on the decryption key for program decryption at the stage of operating the robot. Since the robot is deployed in the storage device 11, the decrypted robot control deployed in the main storage device 11 when the robot is stopped even when the operating robot is stolen due to the destruction of the physical key. Since the program 19 disappears, it cannot be used as it is. Further, since the encrypted robot control program 23 has no decryption key, the processing contents of the program cannot be known at all, so that it is possible to prevent technical leakage and unauthorized use due to analysis such as reverse engineering.

また、ロボット制御プログラム毎にプログラム復号用の復号鍵を変えることができるため、例えばロボットによる武器の使用など高い機密度を要する動作の実行に係わるプログラムについては、プログラム復号用の復号鍵を保持する使用者を限定することにより、細かい機密管理が可能となる。   In addition, since the decryption key for program decryption can be changed for each robot control program, for example, a program related to execution of an operation requiring high sensitivity such as use of a weapon by a robot holds a decryption key for program decryption. By limiting the users, it is possible to perform fine confidential management.

以上説明した実施形態1は、ブートローダ21を備えたロボットシステムの場合であるが、近年、ロボットの制御システムとして、汎用のコンピュータを使用したものが出てきており、それらはOSを備え、OS上でロボット制御プログラムを動作させている。   The first embodiment described above is a case of a robot system provided with the boot loader 21, but recently, a robot control system using a general-purpose computer has come out. Is running the robot control program.

次に、このようなOSを備えたロボット制御システムに本発明を適用した実施形態について説明する。   Next, an embodiment in which the present invention is applied to a robot control system provided with such an OS will be described.

図3は、OSを備えたロボット制御システムのブロック図であり、図4は、OSを備えたロボット制御システムにおけるロボット動作開始時の処理手順を示すフローチャートである。なお、図3において、図1と同じ機能、作用の部材には同じ符号を付している。   FIG. 3 is a block diagram of a robot control system provided with an OS, and FIG. 4 is a flowchart showing a processing procedure at the start of robot operation in the robot control system provided with an OS. In FIG. 3, members having the same functions and functions as those in FIG.

図3に示すように、本システム2は、主記憶装置11(揮発性記憶手段)と、CPU13と、不揮発性メモリ15(不揮発性記憶手段)を備えている。また、このシステムには、キーボードやネットワークなど25に接続されている。   As shown in FIG. 3, the present system 2 includes a main storage device 11 (volatile storage means), a CPU 13, and a nonvolatile memory 15 (nonvolatile storage means). This system is connected to a keyboard 25, a network 25 and the like.

不揮発性メモリ15には、OS27、ローダプログラム29、および暗号化したロボット制御プログラム23が記憶されている。OS27およびローダプログラム29は、起動時に主記憶装置11へ読み込まれる。これにより、主記憶装置11内に、OSおよびデバイスドライバ31などが展開され、また、ローダプログラム33が展開される。そして、展開したローダプログラム33の働きにより、主記憶装置11内に記憶領域としてRAMディスク(仮想ハードディスク)35が確保され、その中に、暗号化したロボット制御プログラム23が復号されて、復号したロボット制御プログラム19が展開される。   The nonvolatile memory 15 stores an OS 27, a loader program 29, and an encrypted robot control program 23. The OS 27 and the loader program 29 are read into the main storage device 11 at startup. As a result, the OS, device driver 31 and the like are expanded in the main storage device 11, and the loader program 33 is expanded. The expanded loader program 33 secures a RAM disk (virtual hard disk) 35 as a storage area in the main storage device 11, in which the encrypted robot control program 23 is decrypted and decrypted. The control program 19 is expanded.

図4のフローチャートに示す処理は、OSおよびローダプログラムの読み込みなどが異なるだけで、基本的な処理の手順は図2と同様である。   The process shown in the flowchart of FIG. 4 is the same as that of FIG. 2 except that the OS and loader program are read.

まず、ロボットの動作開始が、使用者からキーボードやネットワークなど25を介して入力されると、OS27が読み込まれて、主記憶装置11内に展開されて起動される(ステップS201)。OS起動後、ローダプログラムが読み込まれて(ステップS202)、起動される(ステップS203)。   First, when the operation start of the robot is input from the user via the keyboard, the network 25 or the like, the OS 27 is read, expanded in the main storage device 11 and activated (step S201). After the OS is activated, the loader program is read (step S202) and activated (step S203).

そして、起動されたローダプログラムによって、まず、RAMディスク領域の確保が行われる(ステップS204)。   Then, the RAM disk area is first secured by the activated loader program (step S204).

その後は、実施形態1同様に、展開したローダプログラム33が実行されることで、動作モード、プログラム復号用の復号鍵入力(ステップS205)、暗号化したロボット制御プログラム23の読み込み(ステップS206)、読み込んだ暗号化したロボット制御プログラム23の復号(ステップS207)が行われる。ここで、復号化された制御プログラムはRAMディスクへ書き出される(ステップS208)。   After that, as in the first embodiment, the developed loader program 33 is executed, so that the operation mode, decryption key input for program decryption (step S205), reading of the encrypted robot control program 23 (step S206), The read encrypted robot control program 23 is decrypted (step S207). Here, the decrypted control program is written to the RAM disk (step S208).

なお、後述する実施形態2のように、プログラム復号用の復号鍵自体が暗号化されている場合には、ステップS207において暗号化したロボット制御プログラム23を復号するのに先立って、暗号化した復号鍵の復号を行う。   If the decryption key for program decryption itself is encrypted as in the second embodiment to be described later, the encrypted decryption is performed prior to decrypting the robot control program 23 encrypted in step S207. Decrypt the key.

そして、復号処理が正常に行われたか否かを判断して(ステップS209)、正常に行われていればロボット制御プログラムが起動される(ステップS210)。ここで、復号処理が正常に行われなかった場合には、ステップS205へ戻り、動作モード、プログラム復号用の復号鍵の入力待ちになる。したがって、正しいプログラム復号用の復号鍵が入力されない限りロボットが動作することはない。なお、一定回数以上間違ったプログラム復号用の復号鍵が入力された場合は、それ以降動作を全く受け付けなくするようにしてもよい。   Then, it is determined whether or not the decryption process has been performed normally (step S209). If the decryption process has been performed normally, the robot control program is started (step S210). If the decryption process is not normally performed, the process returns to step S205 to wait for input of an operation mode and a decryption key for program decryption. Therefore, the robot does not operate unless a correct decryption key for program decryption is input. If a wrong decryption key for program decryption is input more than a certain number of times, the subsequent operation may not be accepted at all.

このように、OSを備えたロボット制御システム2についても、本発明を適用することが可能であり、先に説明した実施形態と同様に、物理的な鍵の破壊による不正使用や、リバースエンジニアリグなどの解析による技術漏洩や不正使用を防止することができる。   As described above, the present invention can also be applied to the robot control system 2 provided with an OS. Similarly to the above-described embodiment, illegal use due to physical key destruction or reverse engineering is possible. It is possible to prevent technical leakage and unauthorized use due to such analysis.

また、ロボット制御プログラム毎にプログラム復号用の復号鍵を変えることができるため、例えばロボットによる武器の使用など高い機密度を要する動作の実行に係わるプログラムについては、プログラム復号用の復号鍵を保持する使用者を限定することにより、細かい機密管理が可能となる。   In addition, since the decryption key for program decryption can be changed for each robot control program, for example, a program related to execution of an operation requiring high sensitivity such as use of a weapon by a robot holds a decryption key for program decryption. By limiting the users, it is possible to perform fine confidential management.

[実施形態2]
次に、実施形態2について説明する。ロボット制御プログラムの暗号化は、実施形態1に示したように、ロボット制御プログラムを暗号化して、それをプログラム復号用の復号鍵で解くようにしてもよい。しかし、さらに安全性を高めるために、ロボット制御プログラムを復号するためのプログラム復号用の復号鍵を、さらに暗号化して、暗号化した復号鍵をロボット内に保持するようにしてもよい。以下、不揮発性メモリ15に記憶されている「暗号化した復号鍵」に対して、この暗号化した復号鍵を復号するために使用者が入力する復号鍵を「鍵復号用の復号鍵」という。
[Embodiment 2]
Next, Embodiment 2 will be described. As shown in the first embodiment, the robot control program may be encrypted by encrypting the robot control program and using a decryption key for program decryption. However, in order to further enhance the security, the decryption key for decrypting the program for decrypting the robot control program may be further encrypted, and the encrypted decryption key may be held in the robot. Hereinafter, with respect to the “encrypted decryption key” stored in the non-volatile memory 15, the decryption key input by the user to decrypt the encrypted decryption key is referred to as “decryption key for key decryption”. .

図5は、ブートローダ21を備えたロボット制御システム3において、プログラム復号用の復号鍵をさらに暗号化した場合のシステム構成を示すブロック図である。   FIG. 5 is a block diagram showing a system configuration when the decryption key for program decryption is further encrypted in the robot control system 3 provided with the boot loader 21.

図5に示したシステムにおいて図1と異なるのは、不揮発性メモリ15内に、暗号化した復号鍵37を記憶していることにある。その他の構成は図1に示したシステムと同じである。   The system shown in FIG. 5 differs from FIG. 1 in that an encrypted decryption key 37 is stored in the nonvolatile memory 15. Other configurations are the same as those of the system shown in FIG.

図2に示したシステムでは、ロボット制御プログラムを復号するためのプログラム復号用の復号鍵をさらに暗号化し、この暗号化した複数の復号鍵37を不揮発性メモリ15に記憶させている。そして、展開したブートローダ17が機能した段階で、まず、この暗号化した復号鍵37を読み込み、その復号鍵を用いてプログラム復号用の復号鍵を復号し、さらにこのプログラム復号用の復号鍵を用いてロボット制御プログラム23を復号する。   In the system shown in FIG. 2, the decryption key for decrypting the program for decrypting the robot control program is further encrypted, and the plurality of encrypted decryption keys 37 are stored in the nonvolatile memory 15. When the expanded boot loader 17 functions, first, the encrypted decryption key 37 is read, the decryption key for program decryption is decrypted using the decryption key, and the decryption key for program decryption is further used. The robot control program 23 is decoded.

また、本実施形態では、プログラム復号用の復号鍵を暗号化する際に、使用できる複数の期間(以下、「運用期間」と称する)ごとに設定された複数の鍵復号用の復号鍵(暗号化鍵)を用いて暗号化している。これにより、運用期間と、暗号化した復号鍵37と、この暗号化した復号鍵37を復号するための鍵復号用の復号鍵との組み合わせが、運用期間ごとに複数得られることになる。そして、不揮発性メモリ15には、運用期間と、これに対応する暗号化した復号鍵37とを関連付けて複数記憶させておく。図5の不揮発性メモリ15において、暗号化した復号鍵37は、運用期間と関連付けられた暗号化した復号鍵の集まりを示している。   Further, in the present embodiment, when encrypting a decryption key for program decryption, a plurality of decryption keys (encryption keys) for key decryption set for each of a plurality of usable periods (hereinafter referred to as “operation periods”). Encryption). As a result, a plurality of combinations of the operation period, the encrypted decryption key 37, and the decryption key for key decryption for decrypting the encrypted decryption key 37 are obtained for each operation period. The non-volatile memory 15 stores a plurality of operation periods and corresponding encrypted decryption keys 37 in association with each other. In the non-volatile memory 15 in FIG. 5, the encrypted decryption key 37 indicates a group of encrypted decryption keys associated with the operation period.

ロボットの使用者は、運用期間ごとに配布された鍵復号用の復号鍵をシステムに入力して、プログラム復号用の復号鍵を復号する。   The robot user inputs the decryption key for key decryption distributed every operation period to the system, and decrypts the decryption key for program decryption.

ブートローダ21は、使用者により鍵復号用の復号鍵が入力されると、その鍵復号用の復号鍵が入力された日時と適合する暗号化した復号鍵37を、不揮発性メモリ15から取り出す。暗号化した復号鍵37は運用期間と関連付けられているため、鍵復号用の復号鍵が入力された日時と運用期間とを対比することによって、入力された日時と適合する暗号化した復号鍵37を特定することができる。例えば、鍵復号用の復号鍵が入力された日時を7月15日、8:00とすると、運用期間7月1日〜7月31と関連付けられた暗号化した復号鍵37が記憶されていれば、この暗号化した復号鍵37のみが取り出されることになる。   When the decryption key for key decryption is input by the user, the boot loader 21 takes out from the nonvolatile memory 15 an encrypted decryption key 37 that matches the date and time when the decryption key for key decryption is input. Since the encrypted decryption key 37 is associated with the operation period, the encrypted decryption key 37 that matches the input date and time is compared by comparing the date and time when the decryption key for key decryption is input with the operation period. Can be specified. For example, if the date and time when the decryption key for key decryption is input is July 15, 8:00, the encrypted decryption key 37 associated with the operation period from July 1 to July 31 is stored. In this case, only the encrypted decryption key 37 is taken out.

そして、ブートローダ21は、取り出した暗号化した復号鍵37に対し、入力された鍵復号用の復号鍵を用いてプログラム復号用の復号鍵の復号を試みる。ここで、入力された鍵復号用の復号鍵に設定された運用期間と、取り出された暗号化した復号鍵37の運用期間とが適合していれば、暗号化した復号鍵37が正しく復号され、そのプログラム復号用の復号鍵により暗号化したロボット制御プログラム23を復号することができる。一方、入力された鍵復号用の復号鍵に設定された運用期間と、取り出された暗号化した復号鍵37の運用期間とが適合していなければ、暗号化した復号鍵37を正しく復号することができないため、そのプログラム復号用の復号鍵により暗号化したロボット制御プログラム23を復号することはできないことになる。   Then, the boot loader 21 tries to decrypt the decryption key for program decryption using the input decryption key for key decryption with respect to the extracted decryption key 37. Here, if the operation period set for the input decryption key for key decryption matches the operation period of the extracted encrypted decryption key 37, the encrypted decryption key 37 is correctly decrypted. The robot control program 23 encrypted with the decryption key for decrypting the program can be decrypted. On the other hand, if the operation period set for the input decryption key for key decryption does not match the operation period of the extracted encrypted decryption key 37, the encrypted decryption key 37 is correctly decrypted. Therefore, the robot control program 23 encrypted with the decryption key for decrypting the program cannot be decrypted.

このように、暗号化した復号鍵37を使用できる運用期間を予め定めておくことによって、使用者が入力した鍵復号用の復号鍵が、予め定められた運用期間以外の期間に対応している復号鍵である場合には、暗号化した復号鍵37を復号することができず、この結果、暗号化したロボット制御プログラム23も復号できないことになる。   In this way, by setting an operation period in which the encrypted decryption key 37 can be used in advance, the decryption key for key decryption input by the user corresponds to a period other than the predetermined operation period. If it is a decryption key, the encrypted decryption key 37 cannot be decrypted, and as a result, the encrypted robot control program 23 cannot be decrypted.

本実施形態において、暗号化した復号鍵37は、運用期間に応じて後から不揮発性メモリ15に追加記憶できるようにしておき、不揮発性メモリ15に記憶させておく暗号化した復号鍵37は当面のロボットの動作に必要な分だけとすることが好ましい。そして、当面の動作に不要なさらに先の期間分の暗号化した復号鍵37は、例えば、工場の管理室や本社管理部門など、ロボットから離れた場所で管理、保管しておき、ロボットの使用現場には必要な運用期間の分だけ鍵復号用の復号鍵を配布するようしておくことが好ましい。このように、不揮発性メモリ15に記憶させておく暗号化した復号鍵を、当面のロボットの動作に必要な分だけとすることにより、仮に不揮発性メモリ15に記憶されている暗号化した復号鍵が解析されたとしても、解析される復号鍵の数を最小限に抑えることができる。   In the present embodiment, the encrypted decryption key 37 can be additionally stored in the nonvolatile memory 15 later according to the operation period, and the encrypted decryption key 37 stored in the nonvolatile memory 15 is used for the time being. It is preferable to use only the amount necessary for the operation of the robot. Then, the encrypted decryption key 37 for the further period unnecessary for the current operation is managed and stored in a place away from the robot, such as a factory management room or a head office management department. It is preferable to distribute a decryption key for key decryption to the site for the required operation period. In this way, the encrypted decryption key stored in the nonvolatile memory 15 is limited to the amount necessary for the operation of the robot for the time being, so that the encrypted decryption key stored in the nonvolatile memory 15 is temporarily stored. Even if is analyzed, the number of decryption keys to be analyzed can be minimized.

本実施形態のロボット制御システム3においても、ロボット制御プログラムを暗号化して不揮発性メモリ15記憶しておき、ロボットを動作させる段階でプログラム復号用の復号鍵に基づいて復号して主記憶装置11に展開するようにしたので、実施形態1と同様に、物理的な鍵の破壊による不正使用や、リバースエンジニアリグなどの解析による技術漏洩や不正使用を防止することができる。   Also in the robot control system 3 of the present embodiment, the robot control program is encrypted and stored in the nonvolatile memory 15, and decrypted based on the decryption key for program decryption at the stage of operating the robot, and stored in the main storage device 11. Since it has been developed, as in the first embodiment, it is possible to prevent unauthorized use due to physical key destruction and technical leaks and unauthorized use due to analysis such as reverse engineering.

また、暗号化した復号鍵37を運用期間を予め定めておくことによって、例えば、運転中のロボットが、その時点での鍵復号用の復号鍵とともに盗難されたとしても(鍵復号用の復号鍵は盗み見、作業者の不正などにより盗難される)、運用期間が過ぎてしまえば、それ以上はロボットを使用されることがなく、不正使用による被害を限定することができる。また暗号化したロボット制御プログラム23自体の解析もできなくなる。   Further, by setting an operation period in advance for the encrypted decryption key 37, for example, even if the operating robot is stolen together with the decryption key for key decryption at that time (decryption key for key decryption). If the operation period expires, the robot will not be used any more and the damage caused by unauthorized use can be limited. Also, the encrypted robot control program 23 itself cannot be analyzed.

そして、現在動作中の期間を過ぎれば、暗号化した復号鍵37そのものの効力もなくなるため、動作中に暗号化した復号鍵37が解析されたとしても、その復号鍵は、運用期間を過ぎればそれ以降は使うことのできないものとなる。したがって、運用期間を短く設定しておけば、ロボットの盗難後に暗号化した復号鍵の解読に時間をかけても、運用期間が過ぎれば無駄になるため、不正使用ができなくなる。また、仮に盗難直後に暗号化した復号鍵を解読されたとしても、不正使用の時間をごく短時間に抑えることができる。よって、時間をかけた復号鍵の解読による不正使用を可及的に防止することができる。   Then, after the current operation period, the encrypted decryption key 37 itself is no longer effective. Therefore, even if the decryption key 37 encrypted during the operation is analyzed, the decryption key is passed after the operation period. After that, it will be unusable. Therefore, if the operation period is set to be short, even if it takes a long time to decrypt the decryption key encrypted after the robot is stolen, it will be wasted if the operation period has passed, and unauthorized use will not be possible. Moreover, even if the decryption key encrypted immediately after theft is decrypted, the time for unauthorized use can be suppressed to a very short time. Therefore, unauthorized use due to time-consuming decryption of the decryption key can be prevented as much as possible.

さらに、暗号化した復号鍵37としては、例えばDESのような対称暗号方式で任意の復号鍵を選べる方式を使用することによって、複数のロボットがある場合にすべてのロボットで復号鍵を別々にするのか、または部署毎に共通の復号鍵とするのか、もしくは機種毎に同じ復号鍵とするのか、というような使用条件に応じた種々の使い分けを行うことができ、高い融通性をもった運用が可能となる。   Further, as an encrypted decryption key 37, for example, a symmetric encryption method such as DES that allows an arbitrary decryption key to be selected is used, so that when there are a plurality of robots, the decryption keys are separated for all robots. It can be used in various ways according to usage conditions such as whether it is a common decryption key for each department or the same decryption key for each model, and operation with high flexibility can be performed It becomes possible.

なお、本実施形態のように、暗号化した復号鍵に運用期間を予め定めておく手法は、実施形態1のシステムにも適用することができる。すなわち、平文のロボット制御プログラムを暗号化する際に、運用期間を決めた複数のプログラム復元用の暗号鍵を用いて暗号化するものである。この場合も、本実施形態と同様に、物理的な鍵の破壊による不正使用や、リバースエンジニアリグなどの解析による技術漏洩や不正使用を防止できるだけでなく、運用期間を短く設定しておくことにより、時間をかけた復号鍵の解読による不正使用を可及的に防止することができる。しかしながら、この場合は運用期間毎に暗号化したロボット制御プログラム23を不揮発性メモリ15に保持することになるため、メモリに記憶するデータ量が増大することになる。したがって、暗号化すべきロボット制御プログラムが多くある場合や、運用期間を時間単位で細分化した場合(例えば、使用者の勤務時間毎)などにおいては、本実施形態のように、プログラム復号用の復号鍵をさらに暗号化すると共に、暗号化した復号鍵の運用期間を定めておく手法を用いた方がメモリに記憶するデータ量が大幅に少なくなるので、メモリ容量を有効利用することができる。   Note that, as in the present embodiment, the technique for predetermining the operation period for the encrypted decryption key can also be applied to the system of the first embodiment. That is, when a plaintext robot control program is encrypted, it is encrypted using a plurality of program restoration encryption keys whose operation periods are determined. In this case as well, in the same way as in this embodiment, it is possible not only to prevent unauthorized use due to physical key destruction or technical leaks and unauthorized use due to analysis such as reverse engineering, but also by setting the operation period short. Therefore, it is possible to prevent unauthorized use as much as possible by decrypting the decryption key over time. However, in this case, since the robot control program 23 encrypted for each operation period is held in the nonvolatile memory 15, the amount of data stored in the memory increases. Therefore, when there are many robot control programs to be encrypted or when the operation period is subdivided in units of time (for example, every user's working hours), decryption for program decryption is performed as in this embodiment. When the method of further encrypting the key and determining the operation period of the encrypted decryption key is used, the amount of data stored in the memory is significantly reduced, so that the memory capacity can be used effectively.

また、本実施形態ではブートローダを備えたロボット制御システムを例として説明したが、図3に示したようなOSを備えたロボット制御システムにも適用可能である。図6は、OSを備えたロボット制御システムにおいて、プログラム復号用の復号鍵を、さらに暗号化して、暗号化した復号鍵をロボット内に保持するようにした場合のシステム構成を示すブロック図である。なお、図6では、図5と同じ機能、作用の部材には同じ符号を付している。   In the present embodiment, the robot control system including the boot loader has been described as an example. However, the present invention can be applied to a robot control system including an OS as illustrated in FIG. FIG. 6 is a block diagram showing a system configuration when a decryption key for program decryption is further encrypted and the encrypted decryption key is held in the robot in a robot control system equipped with an OS. . In FIG. 6, members having the same functions and functions as those in FIG.

図6に示すロボット制御システム4のように、不揮発性メモリ15内に複数の暗号化した復号鍵37を備える場合には、主記憶装置11に展開したローダプログラム33が暗号化した復号鍵37を読み込み、その復号鍵を用いてプログラム復号用の復号鍵を復号し、さらにこのプログラム復号用の復号鍵を用いて暗号化したロボット制御プログラム23を復号する。そして、展開したローダプログラム33の働きにより、主記憶装置11内にRAMディスク35が確保され、その中に復号したロボット制御プログラム19が展開される。本システムのように構成した場合も、図5に示すシステムと同様の作用効果を得ることができる。   When a plurality of encrypted decryption keys 37 are provided in the nonvolatile memory 15 as in the robot control system 4 shown in FIG. 6, the decryption key 37 encrypted by the loader program 33 developed in the main storage device 11 is stored. The decryption key for decrypting the program is decrypted using the decryption key, and the robot control program 23 encrypted using the decryption key for decrypting the program is decrypted. Then, the RAM disk 35 is secured in the main storage device 11 by the function of the expanded loader program 33, and the decrypted robot control program 19 is expanded therein. Even when configured like this system, it is possible to obtain the same effects as the system shown in FIG.

[実施形態3]
次に、実施形態3について説明する。本実施形態は、暗号化した復号鍵の解読をより困難なものとするため、プログラム復号用の復号鍵に使用日時をキーとした変換を実施して中間データ復号鍵を生成し、その後、暗号化した復号鍵を作成するようにしたものである。この場合のシステム構成は図5に示したものと同じであるため、説明を省略する。
[Embodiment 3]
Next, Embodiment 3 will be described. In this embodiment, in order to make the decryption of the encrypted decryption key more difficult, an intermediate data decryption key is generated by converting the decryption key for program decryption using the use date and time as a key, and then encrypting A decryption key is created. The system configuration in this case is the same as that shown in FIG.

本実施形態では、暗号化した復号鍵を作成する際に、それを運用する日時の値に基づいて、プログラム復号用の復号鍵の変換を実施して中間データ復号鍵を生成し、これを暗号化して復号鍵を得るものである。変換方法としては、日時を示す値(例えば、日にち)だけ文字列をローテーションさせる方法や、日時の値に応じた値を文字列にしたものをダミーとして挿入する方法や、日付を暗号化キーとして暗号化する方法などである。また、使用する暗号化キーは、一定期間毎に切られた有効期間の先頭時刻など、運用期間中から一意に決まる値を用いることが好ましい。   In this embodiment, when an encrypted decryption key is created, an intermediate data decryption key is generated by converting the decryption key for program decryption based on the value of the date and time when the encrypted decryption key is operated, and this is encrypted. To obtain a decryption key. Conversion methods include a method of rotating a character string by a value indicating a date and time (for example, a date), a method of inserting a character string corresponding to a date and time value as a dummy, and a date as an encryption key For example, an encryption method. Moreover, it is preferable that the encryption key to be used is a value uniquely determined from the operation period, such as the start time of the effective period cut every fixed period.

次に、図7のフローチャートを参照して、本実施形態の手法によりプログラム復号用の復号鍵を暗号化する場合の処理手順について説明する。   Next, with reference to a flowchart of FIG. 7, a processing procedure in the case of encrypting a decryption key for program decryption by the method of the present embodiment will be described.

まず、平文のロボット制御プログラム41と、これを暗号化するための暗号化キー42とを用意する。そして、用意した暗号化キー42によってロボット制御プログラム41を暗号化する(ステップS301)。これにより、暗号化したロボット制御プログラム23が生成される。また、このときプログラム復号用の復号鍵43が生成される。   First, a plaintext robot control program 41 and an encryption key 42 for encrypting it are prepared. Then, the robot control program 41 is encrypted with the prepared encryption key 42 (step S301). Thereby, the encrypted robot control program 23 is generated. At this time, a decryption key 43 for program decryption is generated.

なお、この段階で生成されたプログラム復号用の復号鍵43をそのまま使用する場合、すなわち、プログラム復号用の復号鍵43から中間データ復号鍵44を生成しないで使用する場合には、機密管理の観点から、これを司令室や工場など暗号化したロボット制御プログラム23から離れたところに保管することが好ましい。   When using the decryption key 43 for program decryption generated at this stage as it is, that is, when using the decryption key 43 for decrypting the program without generating the intermediate data decryption key 44 from the viewpoint of security management Therefore, it is preferable to store this in a place away from the encrypted robot control program 23 such as a command room or factory.

ここでは、生成されたプログラム復号用の復号鍵43を使用日時をキーとして中間データ復号鍵44とするために、続けて、運用期間の全日時を入力し(ステップS302)、実行日時(例えば運用期間の最初の日付や時刻など)による変換処理を行う(ステップS303)。これにより、中間データ復号鍵44が生成される。このとき、運用期間を細分化することで、複数の中間データ復号鍵44ができることになる。   Here, in order to use the generated decryption key 43 for program decryption as the intermediate data decryption key 44 using the use date and time as a key, all the dates and times of the operation period are input (step S302), and the execution date and time (for example, the operation date and time) Conversion processing based on the first date and time of the period is performed (step S303). Thereby, the intermediate data decryption key 44 is generated. At this time, a plurality of intermediate data decryption keys 44 can be created by subdividing the operation period.

続いて、鍵復号用の復号鍵を生成して(ステップS304)、中間データ復号鍵44を暗号化する(ステップS305)。ここで鍵復号用の復号鍵45は、任意のものでよい。   Subsequently, a decryption key for key decryption is generated (step S304), and the intermediate data decryption key 44 is encrypted (step S305). Here, the decryption key 45 for key decryption may be arbitrary.

ここで生成した鍵復号用の復号鍵は運用期間が複数ある場合には、複数の鍵復号用の復号鍵45となる。同様に、暗号化した復号鍵37も運用期間が複数ある場合には、複数の暗号化した復号鍵37が生成されることになる。   The decryption key for key decryption generated here becomes a plurality of decryption keys 45 for key decryption when there are a plurality of operation periods. Similarly, when there are a plurality of operation periods for the encrypted decryption key 37, a plurality of encrypted decryption keys 37 are generated.

このようにして生成された、暗号化したロボット制御プログラム23は不揮発性メモリ15に記憶される。また、暗号化した復号鍵37は、当面のロボット動作に必要な運用期間の分だけ不揮発性メモリ15に記憶される。一方、暗号化した復号鍵37を解くための鍵復号用の復号鍵45は運用期間毎にロボット制御プログラム23から離れた場所に保管しておくか、使用者が運用期間毎に間違えないように覚えておくことになる。   The encrypted robot control program 23 generated in this way is stored in the nonvolatile memory 15. Further, the encrypted decryption key 37 is stored in the nonvolatile memory 15 for the operation period necessary for the current robot operation. On the other hand, the decryption key 45 for decrypting the key for decrypting the encrypted decryption key 37 is stored in a place away from the robot control program 23 every operation period, or the user does not make a mistake every operation period. To remember.

次に、図8のフローチャートを参照して、本実施形態の手法によりプログラム復号用の復号鍵を復号化する場合の処理手順について説明する。   Next, a processing procedure in the case of decrypting a decryption key for program decryption by the method of the present embodiment will be described with reference to a flowchart of FIG.

この復号処理は、展開したブートローダ17により実行される処理であって、上述した図2のステップS105のサブルーチンに相当する処理である。   This decryption process is a process executed by the expanded boot loader 17 and corresponds to the subroutine of step S105 in FIG.

まず、鍵復号用の復号鍵45が入力され(ステップS401)、暗号化した復号鍵37が復号される(ステップS402)。これにより中間データ復号鍵44が生成される。   First, the decryption key 45 for key decryption is input (step S401), and the encrypted decryption key 37 is decrypted (step S402). Thereby, an intermediate data decryption key 44 is generated.

そして、生成された中間データ復号鍵44を、入力された現在日時(ステップS403)に対応する運用期間を選択し、その運用期間の日時に基づいて中間データ生成時の変換(図7:ステップS303)の逆変換となる変換処理を行い(ステップS404)、整合性のチェックを行って(ステップS405)、暗号化したロボット制御プログラム23を復号するためのプログラム復号用の復号鍵43が生成される。   Then, an operation period corresponding to the input current date and time (step S403) is selected for the generated intermediate data decryption key 44, and conversion at the time of generating intermediate data based on the date and time of the operation period (FIG. 7: step S303) ) Is converted (step S404), consistency is checked (step S405), and a decryption key 43 for decrypting the program for decrypting the encrypted robot control program 23 is generated. .

そして展開したロータプログラム33は、不揮発性メモリ15から読み込んだ暗号化したロボット制御プログラム23を、プログラム復号用の復号鍵43により復号処理する(ステップS406)。これにより、復号したロボット制御プログラム19が主記憶装置11内に展開される。   The developed rotor program 33 decrypts the encrypted robot control program 23 read from the nonvolatile memory 15 with the decryption key 43 for program decryption (step S406). As a result, the decrypted robot control program 19 is expanded in the main storage device 11.

以上説明したように、本実施形態においては、プログラム復号用の復号鍵に使用日時をキーとした変換を実施して中間データ復号鍵を生成し、その後、暗号化した復号鍵を作成するようにしたので、暗号化した復号鍵の解読をより困難なものにすることができる。これは、同じ値を暗号化したデータがたくさんあると、それらを暗号化した際に解読しやすくなる傾向があるが、本実施形態のように、日時を加味することで同じ値の暗号化という現象を防いで、解読をより困難なものとすることができる。   As described above, in this embodiment, the decryption key for program decryption is converted using the use date and time as a key to generate an intermediate data decryption key, and then an encrypted decryption key is created. As a result, the decryption of the encrypted decryption key can be made more difficult. This is because if there is a lot of data encrypted with the same value, it tends to be easy to decipher when they are encrypted, but it is called encryption of the same value by adding the date and time as in this embodiment. The phenomenon can be prevented and the decoding can be made more difficult.

また、物理的な鍵の破壊により動作中のロボットが盗難に遭った場合でも、ロボットを停止させた段階で、主記憶装置11内のRAMディスク35に展開されている復号したロボット制御プログラム19は消えてしまうため、そのまま使用することができなくなる。したがって、物理的な鍵の破壊による不正使用を防止することができる。   Even if the operating robot is stolen due to the destruction of the physical key, the decrypted robot control program 19 developed on the RAM disk 35 in the main storage device 11 is stored at the stage where the robot is stopped. Since it disappears, it cannot be used as it is. Therefore, unauthorized use due to destruction of the physical key can be prevented.

さらに、盗難された場合などに、不揮発性メモリ15上の暗号化した復号鍵37を、別の時間用に流用する操作を受けた場合について考察すると、中間データ復号鍵までは正しく復号できたとしても、その後の中間データ復号鍵からの復号においては、正しくない復号鍵となるため、リバースエンジニアリングなどの解析による技術漏洩や不正使用を防止することができる。   Furthermore, considering the case where the encrypted decryption key 37 on the non-volatile memory 15 is used for another time, such as when it is stolen, the intermediate data decryption key can be correctly decrypted. However, since subsequent decryption from the intermediate data decryption key results in an incorrect decryption key, it is possible to prevent technical leakage and unauthorized use due to analysis such as reverse engineering.

[他の実施形態]
以下、暗号化したロボット制御プログラムを復号化する段階において、安全性をさらに高めるための実施形態について説明する。
[Other Embodiments]
Hereinafter, an embodiment for further enhancing safety in the stage of decrypting the encrypted robot control program will be described.

(1)暗号化した復号鍵の時間による自動消去
この場合のシステム構成は図1に示したものと同様であり、あらかじめブートローダ21内に消去機能を実装しておくことになる。
(1) Automatic Deletion of Encrypted Decryption Key by Time The system configuration in this case is the same as that shown in FIG. 1, and an erasing function is installed in the boot loader 21 in advance.

具体的には、起動時のブートローダ21やロボット制御プログラムの切り替え中において、暗号化した復号鍵を復号する前に、現在時刻と比較して、有効期間が十分に昔の鍵(例えば12時間以上前)のデータを消去するものである。これにより、例えば、暗号化した復号鍵が漏れた場合に、過去に使用していた暗号化した復号鍵と、過去に暗号化した復号鍵を使って、復号鍵を割り出すというようなリバースエンジニアリングによる解析が困難なものとなる。   Specifically, during the switching of the boot loader 21 and the robot control program at the time of activation, before decrypting the encrypted decryption key, a key whose validity period is sufficiently long compared to the current time (for example, 12 hours or more This deletes the previous data. By this, for example, when the encrypted decryption key leaks, reverse engineering such as calculating the decryption key using the encrypted decryption key used in the past and the decryption key encrypted in the past Analysis becomes difficult.

(2)暗号化した復号鍵を復号する際の整合性チェック
この場合のシステム構成は図1に示したものと同様であり、あらかじめブートローダ21内に整合性のチェック機能を実装しておくことになる。
(2) Consistency Check when Decrypting Encrypted Decryption Key The system configuration in this case is the same as that shown in FIG. 1, and the consistency check function is installed in the boot loader 21 in advance. Become.

具体的には、例えば、暗号化するデータ、すなわち、ロボット制御プログラムにあらかじめハッシュ値(RFC1321で提唱されたMD5など)やCRCコードを付加して、これを暗号化しておく。例えば、MD5の手法は、ハッシュ関数を使った暗号化/復号化アルゴリズムであり、データを送受信する際に、送信側と受信側でハッシュ値を比較することにより、データの完全性をチェックするものである。また、CRCコードは、同じファイルからは必ず同じコードが生成され、1バイトでもデータが異なると全く別のコードが生成されるという特徴を利用した誤りチェックの手法であり、元ファイルから生成されたCRCコードと、対象ファイルから生成されたCRCコードとを比較することにより、ファイルが正常かどうか、壊れていないかを調べるものである。   Specifically, for example, data to be encrypted, that is, a hash value (MD5 proposed by RFC1321) and a CRC code are added to the robot control program in advance, and this is encrypted. For example, the MD5 method is an encryption / decryption algorithm using a hash function, and checks the integrity of data by comparing hash values on the sending side and the receiving side when sending and receiving data. It is. The CRC code is an error check method that uses the feature that the same code is always generated from the same file, and a completely different code is generated if even one byte of data is different. By comparing the CRC code with the CRC code generated from the target file, it is checked whether the file is normal or not broken.

或いは、前述した暗号化の際に用いた運用期間ごとの使用可能開始時間などでもよい。そして、暗号化した復号鍵を復号化の際に、これらコードが一致するかどうかを確認する。   Alternatively, the usable start time for each operation period used in the above-described encryption may be used. Then, when decrypting the encrypted decryption key, it is confirmed whether or not these codes match.

このようにすることで、間違ったプログラム復号用の復号鍵により、暗号化したロボット制御プログラムが復号された場合に、正しくないプログラムコードが生成され、これによりロボットが暴走することを防止することができる。なお、通常は間違った復号鍵を用いた場合、復号そのものが行われないため、このようなことが起こる可能性は低いと考えられる。   In this way, when the encrypted robot control program is decrypted with the wrong decryption key for program decryption, an incorrect program code is generated, thereby preventing the robot from running out of control. it can. Normally, when the wrong decryption key is used, decryption itself is not performed, so it is considered that such a possibility is not likely to occur.

(3)非対称暗号方式による送信
安全性を向上させるための他の手法としては、追加で暗号化した復号鍵を送信する際に、非対称暗号方式で送信することである。
(3) Transmission by Asymmetric Encryption Method Another method for improving safety is to transmit by using an asymmetric encryption method when an additional encrypted decryption key is transmitted.

上述したように、運用期間毎に、暗号化した復号鍵と鍵復号用の復号鍵とを設定した場合、それらをロボットに入力する必要があるが、その際に、ネットワークを介して送信することが考えられる。例えば、工場の管理室や本社管理部門など、ロボットから離れた場所で復号鍵を管理している場合に、ロボットの稼動している現場にネットワークを介して復号鍵をデータ送信する場合などである。このようなネットワークを介して復号鍵などを送るとネットワークから復号鍵が漏洩するおそれがあり、改竄された誤った復号鍵が送られてくる可能性がある。このような不具合を解消するため、非対称暗号方式(例えばRSAなど)を用いてデータを送信するものである。   As described above, when an encrypted decryption key and a decryption key for key decryption are set for each operation period, they need to be input to the robot, but at that time, they must be transmitted via the network. Can be considered. For example, when the decryption key is managed at a location away from the robot, such as a factory management room or head office management department, the decryption key is sent over the network to the site where the robot is operating. . If a decryption key or the like is sent via such a network, the decryption key may be leaked from the network, and there is a possibility that a falsified wrong decryption key may be sent. In order to solve such a problem, data is transmitted using an asymmetric encryption method (for example, RSA).

この場合、ロボット側には、公開鍵、データ作成者(ここでは復号鍵の作成者)側は秘密鍵をもたせることになる。したがって、ロボット側の公開鍵で復号できるデータをもつためには、秘密鍵で暗号化する必要がある。   In this case, the robot side has a public key, and the data creator (here, the decryption key creator) side has a secret key. Therefore, in order to have data that can be decrypted with the public key on the robot side, it is necessary to encrypt with the secret key.

このため、秘密鍵で暗号化できることをもって正しい送信元であることが保証されることになる。すなわち、ロボット側の公開鍵で復号できない場合には、正しくない送信元から送られてきたデータと判断することができる。このように、本手法を用いた場合には、送信経路上での改鼠に対して安全なものとなる。   For this reason, it can be ensured that the source is correct by being able to encrypt with the secret key. That is, when decryption cannot be performed with the public key on the robot side, it can be determined that the data is transmitted from an incorrect transmission source. Thus, when this method is used, it is safe against falsification on the transmission path.

以上、本発明の好適な実施形態について説明したが、本発明はこれらの実施形態に限定されるものではなく、各実施形態を様々に組み合わせることも可能であるし、また、これら実施形態以外に当業者による様々な形態が可能である。   The preferred embodiments of the present invention have been described above. However, the present invention is not limited to these embodiments, and the embodiments can be combined in various ways. Various forms by those skilled in the art are possible.

ブートローダを備えたロボット制御システムの構成を示すブロック図である。It is a block diagram which shows the structure of the robot control system provided with the boot loader. 図1のシステムにおいてロボット動作開始時の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence at the time of the robot operation start in the system of FIG. OSを備えたロボット制御システムの構成を示すブロック図である。It is a block diagram which shows the structure of the robot control system provided with OS. 図3のシステムにおいてロボット動作開始時の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence at the time of the robot operation start in the system of FIG. ブードローダを備えたロボット制御システムにおいてプログラム復号用の復号鍵をさらに暗号化した場合のシステム構成を示すブロック図である。It is a block diagram which shows the system configuration | structure at the time of further encrypting the decryption key for program decryption in the robot control system provided with the bud loader. OSを備えたロボット制御システムにおいてプログラム復号用の復号鍵をさらに暗号化してロボット内に保持するようにした場合のシステム構成を示すブロック図である。It is a block diagram showing a system configuration when a decryption key for program decryption is further encrypted and held in a robot in a robot control system provided with an OS. プログラム復号用の復号鍵を中間データを用いて暗号化する場合の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in the case of encrypting the decoding key for program decoding using intermediate data. プログラム復号用の復号鍵を中間データを用いて復号化する場合の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence in the case of decoding the decoding key for program decoding using intermediate data.

符号の説明Explanation of symbols

1、2、3、4…ロボット制御システム
11…主記憶装置(揮発性記憶手段)
13…CPU
15…不揮発性メモリ(不揮発性記憶手段)
17…展開したブートローダ
19…復号したロボット制御プログラム
21…ブートローダ
23…暗号化したロボット制御プログラム
27…OS
29…ローダプログラム
31…デバイスドライバ
33…展開したローダプログラム
35…RAMディスク(仮想ハードディスク)
37…暗号化した復号鍵
41…平文のロボット制御プログラム
42…暗号化キー
43…プログラム復号用の復号鍵
44…中間データ復号鍵
45…鍵復号用の復号鍵
1, 2, 3, 4 ... Robot control system 11 ... Main storage (volatile storage means)
13 ... CPU
15. Non-volatile memory (non-volatile storage means)
17 ... Expanded boot loader 19 ... Decrypted robot control program 21 ... Boot loader 23 ... Encrypted robot control program 27 ... OS
29 ... Loader program 31 ... Device driver 33 ... Expanded loader program 35 ... RAM disk (virtual hard disk)
37 ... Encrypted decryption key 41 ... Plain text robot control program 42 ... Encryption key 43 ... Decryption key for program decryption 44 ... Intermediate data decryption key 45 ... Decryption key for key decryption

Claims (12)

揮発性記憶手段と、
暗号化したロボット制御プログラムを記憶する不揮発性記憶手段と、
前記暗号化したロボット制御プログラムを、当該ロボット制御プログラムを復号するためのプログラム復号用の復号鍵に基づいて復号して前記揮発性記憶手段に展開する復号手段と、
を備えることを特徴とするロボット不正使用防止装置。
Volatile storage means;
Non-volatile storage means for storing the encrypted robot control program;
Decryption means for decrypting the encrypted robot control program based on a decryption key for program decryption for decrypting the robot control program, and expanding the decrypted program in the volatile storage means;
A device for preventing unauthorized use of robots, comprising:
揮発性記憶手段と、
暗号化したロボット制御プログラムと共に、当該ロボット制御プログラムを復号するためのプログラム復号用の復号鍵をさらに暗号化することで生成される暗号化した復号鍵を記憶する不揮発性記憶手段と、
入力された鍵復号用の復号鍵に基づいて前記暗号化した復号鍵を復号してプログラム復号用の復号鍵を生成し、当該プログラム復号用の復号鍵に基づいて前記暗号化したロボット制御プログラムを復号して前記揮発性記憶手段に展開する復号手段と、
を備えることを特徴とするロボット不正使用防止装置。
Volatile storage means;
Non-volatile storage means for storing an encrypted decryption key generated by further encrypting a decryption key for decrypting the program for decrypting the robot control program together with the encrypted robot control program;
A decryption key for program decryption is generated by decrypting the encrypted decryption key based on the input decryption key for key decryption, and the encrypted robot control program is created based on the decryption key for program decryption. Decryption means for decrypting and expanding the volatile storage means;
A device for preventing unauthorized use of robots, comprising:
前記暗号化した復号鍵は、当該復号鍵を使用できる複数の期間ごとに設定された鍵復号用の復号鍵により暗号化され、前記期間ごとに関連付けられて前記不揮発性記憶手段に複数記憶され、
前記復号手段は、前記鍵復号用の復号鍵が入力された日時と適合する前記暗号化した復号鍵を前記不揮発性記憶手段から取り出し、取り出した前記暗号化した復号鍵を用いてプログラム復号用の復号鍵を復号すること、
を特徴とする請求項2に記載のロボット不正使用防止装置。
The encrypted decryption key is encrypted with a decryption key for key decryption set for each of a plurality of periods in which the decryption key can be used, and is stored in the nonvolatile storage unit in association with each period,
The decryption means retrieves the encrypted decryption key that matches the date and time when the decryption key for key decryption is input from the nonvolatile storage means, and uses the retrieved decryption key for program decryption. Decrypting the decryption key,
The robot unauthorized use preventing apparatus according to claim 2.
前記暗号化した復号鍵は、前記プログラム復号用の復号鍵に、前記暗号化した復号鍵を使用できる期間の日時を基にした変換処理を実施して中間データ復号鍵を生成し、当該中間データ復号鍵をさらに暗号化したものであることを特徴とする請求項2または3に記載のロボット不正使用防止装置。   The encrypted decryption key generates an intermediate data decryption key by performing a conversion process based on the date and time of the period during which the encrypted decryption key can be used with the decryption key for program decryption. The robot unauthorized use preventing apparatus according to claim 2 or 3, wherein the decryption key is further encrypted. 前記暗号化した復号鍵は、前記使用できる期間毎に前記不揮発性記憶手段に記憶されることを特徴とする請求項3または4に記載のロボット不正使用防止装置。   The robot unauthorized use prevention device according to claim 3 or 4, wherein the encrypted decryption key is stored in the nonvolatile storage means for each usable period. 前記暗号化した復号鍵は、非対称暗号方式によって送信されて前記不揮発性記憶手段に記憶されることを特徴とする請求項2乃至5のいずれか一項に記載のロボット不正使用防止装置。   The robot unauthorized use prevention apparatus according to any one of claims 2 to 5, wherein the encrypted decryption key is transmitted by an asymmetric encryption method and stored in the nonvolatile storage means. 揮発性記憶手段と、不揮発性記憶手段と、復号手段とを備えたロボット不正使用防止装置におけるロボット不正使用防止方法であって、
前記不揮発性記憶手段には、暗号化したロボット制御プログラムが記憶され、
前記復号手段が、ロボットの動作開始時に、前記暗号化したロボット制御プログラムを、当該ロボット制御プログラムを復号するためのプログラム復号用の復号鍵に基づいて復号して前記揮発性記憶手段に展開することを特徴とするロボット不正使用防止方法。
A method for preventing unauthorized use of a robot in a robot unauthorized use prevention device comprising a volatile storage means, a nonvolatile storage means, and a decryption means,
The nonvolatile storage means stores an encrypted robot control program,
The decrypting means decrypts the encrypted robot control program based on a decryption key for decrypting the robot control program and expands the encrypted robot control program in the volatile storage means when the robot starts operating. A method for preventing unauthorized use of robots.
揮発性記憶手段と、不揮発性記憶手段と、復号手段とを備えたロボット不正使用防止装置におけるロボット不正使用防止方法であって、
前記不揮発性記憶手段には、暗号化したロボット制御プログラムと共に、当該ロボット制御プログラムを復号するためのプログラム復号用の復号鍵をさらに暗号化し、当該暗号化により生成される暗号化した復号鍵が記憶され、
前記復号手段が、入力された鍵復号用の復号鍵に基づいて前記暗号化した復号鍵を復号してプログラム復号用の復号鍵を生成し、当該プログラム復号用の復号鍵に基づいて前記暗号化したロボット制御プログラムを復号して前記揮発性記憶手段に展開することを特徴とするロボット不正使用防止方法。
A method for preventing unauthorized use of a robot in a robot unauthorized use prevention device comprising a volatile storage means, a nonvolatile storage means, and a decryption means,
The non-volatile storage means further encrypts a decryption key for decrypting the program for decrypting the robot control program together with the encrypted robot control program, and stores an encrypted decryption key generated by the encryption. And
The decryption means decrypts the encrypted decryption key based on the inputted decryption key for decryption to generate a decryption key for program decryption, and the encryption based on the decryption key for program decryption A method for preventing unauthorized use of a robot, comprising: decoding a robot control program that has been processed and deploying the program to the volatile storage means.
前記暗号化した復号鍵は、当該復号鍵を使用できる複数の期間ごとに設定された鍵復号用の復号鍵により暗号化され、前記期間ごとに関連付けられて前記不揮発性記憶手段に複数記憶され、
前記復号手段が、前記鍵復号用の復号鍵が入力された日時と適合する前記暗号化した復号鍵を前記不揮発性記憶手段から取り出し、取り出した前記暗号化した復号鍵を用いてプログラム復号用の復号鍵を復号すること、
を特徴とする請求項8に記載のロボット不正使用防止方法。
The encrypted decryption key is encrypted with a decryption key for key decryption set for each of a plurality of periods in which the decryption key can be used, and is stored in the nonvolatile storage unit in association with each period,
The decryption means retrieves the encrypted decryption key that matches the date and time when the decryption key for key decryption is input from the nonvolatile storage means, and uses the retrieved decryption key for program decryption. Decrypting the decryption key,
The method for preventing unauthorized use of a robot according to claim 8.
前記暗号化した復号鍵は、前記プログラム復号用の復号鍵に、使用できる期間の日時を基にした変換処理を実施して中間データ復号鍵を生成し、当該中間データ復号鍵をさらに暗号化したものであることを特徴とする請求項8または9に記載のロボット不正使用防止方法。   The encrypted decryption key is subjected to a conversion process based on the date and time of a usable period to the decryption key for program decryption to generate an intermediate data decryption key, and the intermediate data decryption key is further encrypted The method for preventing unauthorized use of a robot according to claim 8 or 9, wherein the method is used. 前記暗号化した復号鍵は、前記使用できる期間毎に前記不揮発性記憶手段に記憶されることを特徴とする請求項9または10に記載のロボット不正使用防止方法。   The method for preventing unauthorized use of a robot according to claim 9 or 10, wherein the encrypted decryption key is stored in the nonvolatile storage unit for each usable period. 前記暗号化した復号鍵は、非対称暗号方式によって送信されて前記不揮発性記憶手段に記憶されることを特徴とする請求項8乃至11のいずれか一項に記載のロボット不正使用防止方法。   12. The robot unauthorized use prevention method according to claim 8, wherein the encrypted decryption key is transmitted by an asymmetric encryption method and stored in the nonvolatile storage unit.
JP2007275086A 2007-10-23 2007-10-23 Robot unauthorized use prevention device and robot unauthorized use prevention method Expired - Fee Related JP5052287B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007275086A JP5052287B2 (en) 2007-10-23 2007-10-23 Robot unauthorized use prevention device and robot unauthorized use prevention method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007275086A JP5052287B2 (en) 2007-10-23 2007-10-23 Robot unauthorized use prevention device and robot unauthorized use prevention method

Publications (2)

Publication Number Publication Date
JP2009104380A true JP2009104380A (en) 2009-05-14
JP5052287B2 JP5052287B2 (en) 2012-10-17

Family

ID=40705994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007275086A Expired - Fee Related JP5052287B2 (en) 2007-10-23 2007-10-23 Robot unauthorized use prevention device and robot unauthorized use prevention method

Country Status (1)

Country Link
JP (1) JP5052287B2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010089083A3 (en) * 2009-02-03 2010-11-11 Fresenius Medical Care Deutschland Gmbh Device and method for preventing unauthorized use and/or manipulation of software
DE102009048756A1 (en) * 2009-10-08 2011-04-14 Certgate Gmbh Method for improving safety of coded data memory, from which computer is booted, involves booting computer from cryptographic equipment and requesting for inputting smart card personal identification number
JP2013097539A (en) * 2011-10-31 2013-05-20 Mitsutoyo Corp Control device and control program illegal reading prevention method
JP2013105403A (en) * 2011-11-16 2013-05-30 Mega Chips Corp Memory system, security memory and information protection method
CN103929337A (en) * 2013-01-16 2014-07-16 富士通株式会社 Communication Monitor And Occurrence Prediction Method
JP2019008625A (en) * 2017-06-27 2019-01-17 コマツ産機株式会社 Production machine and control method for production machine
JP2019511376A (en) * 2016-03-07 2019-04-25 ソフトバンク・ロボティクス・ヨーロッパSoftbank Robotics Europe Modular manufacturing of robots
JP7056785B1 (en) * 2021-03-26 2022-04-19 三菱電機株式会社 Management system and program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019149763A (en) * 2018-02-28 2019-09-05 オムロン株式会社 Data processing method, control system, and control device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232776A (en) * 1998-02-09 1999-08-27 Matsushita Electric Ind Co Ltd Video recording device and reproducing device
JP2002123172A (en) * 2000-10-16 2002-04-26 Toshiba Information Systems (Japan) Corp Encryption apparatus, decryption apparatus, information management system and locking system
JP2002236668A (en) * 2001-02-13 2002-08-23 Matsushita Electric Ind Co Ltd Robot control device
WO2004006075A1 (en) * 2002-07-09 2004-01-15 Fujitsu Limited Open type general-purpose attack-resistant cpu, and application system thereof
WO2004075475A1 (en) * 2003-02-21 2004-09-02 Fujitsu Limited Delivery system
JP2005319526A (en) * 2004-05-07 2005-11-17 Fujitsu Ltd System for providing function to network robot
JP2006209703A (en) * 2005-01-31 2006-08-10 Nippon Telegr & Teleph Corp <Ntt> Program execution protection processor
JP2007141205A (en) * 2005-10-17 2007-06-07 Yaskawa Electric Corp Built-in type controller

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11232776A (en) * 1998-02-09 1999-08-27 Matsushita Electric Ind Co Ltd Video recording device and reproducing device
JP2002123172A (en) * 2000-10-16 2002-04-26 Toshiba Information Systems (Japan) Corp Encryption apparatus, decryption apparatus, information management system and locking system
JP2002236668A (en) * 2001-02-13 2002-08-23 Matsushita Electric Ind Co Ltd Robot control device
WO2004006075A1 (en) * 2002-07-09 2004-01-15 Fujitsu Limited Open type general-purpose attack-resistant cpu, and application system thereof
WO2004075475A1 (en) * 2003-02-21 2004-09-02 Fujitsu Limited Delivery system
JP2005319526A (en) * 2004-05-07 2005-11-17 Fujitsu Ltd System for providing function to network robot
JP2006209703A (en) * 2005-01-31 2006-08-10 Nippon Telegr & Teleph Corp <Ntt> Program execution protection processor
JP2007141205A (en) * 2005-10-17 2007-06-07 Yaskawa Electric Corp Built-in type controller

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010089083A3 (en) * 2009-02-03 2010-11-11 Fresenius Medical Care Deutschland Gmbh Device and method for preventing unauthorized use and/or manipulation of software
DE102009048756A1 (en) * 2009-10-08 2011-04-14 Certgate Gmbh Method for improving safety of coded data memory, from which computer is booted, involves booting computer from cryptographic equipment and requesting for inputting smart card personal identification number
DE102009048756B4 (en) * 2009-10-08 2017-02-16 Certgate Gmbh A method and key device for enhancing the security of an encrypted data store from which a computer boots
JP2013097539A (en) * 2011-10-31 2013-05-20 Mitsutoyo Corp Control device and control program illegal reading prevention method
JP2013105403A (en) * 2011-11-16 2013-05-30 Mega Chips Corp Memory system, security memory and information protection method
CN103929337A (en) * 2013-01-16 2014-07-16 富士通株式会社 Communication Monitor And Occurrence Prediction Method
JP2019511376A (en) * 2016-03-07 2019-04-25 ソフトバンク・ロボティクス・ヨーロッパSoftbank Robotics Europe Modular manufacturing of robots
JP2019008625A (en) * 2017-06-27 2019-01-17 コマツ産機株式会社 Production machine and control method for production machine
JP7056785B1 (en) * 2021-03-26 2022-04-19 三菱電機株式会社 Management system and program

Also Published As

Publication number Publication date
JP5052287B2 (en) 2012-10-17

Similar Documents

Publication Publication Date Title
JP5052287B2 (en) Robot unauthorized use prevention device and robot unauthorized use prevention method
JP4912921B2 (en) Secure processor system, secure processor, and secure processor system control method
US8281115B2 (en) Security method using self-generated encryption key, and security apparatus using the same
CN101441601B (en) Ciphering transmission method of hard disk ATA instruction and system
WO2010134192A1 (en) Electronic device, key generation program, recording medium, and key generation method
JP5736994B2 (en) Information processing apparatus, validity verification method, and program
JP2004164491A (en) Method for updating program and server
JP2008072717A (en) Hard disc streaming cryptographic operations with embedded authentication
JPWO2012124270A1 (en) Tamper monitoring system, management device, protection control module and detection module
CN101710307A (en) Method for protecting data security of digital equipment
KR101458479B1 (en) Method of encrypting and decrypting the data of the session state
JP2008005408A (en) Recorded data processing apparatus
WO2006118101A1 (en) Confidential information processing host device and confidential information processing method
CN110674525A (en) Electronic equipment and file processing method thereof
CN107330340B (en) File encryption method, file encryption equipment, file decryption method, file decryption equipment and storage medium
JP2009284231A (en) Key generating apparatus, key generating method, key generating program, and electronic apparatus
JP2007193800A (en) Device and method for improving security level of card authentication system
CN110932853B (en) Key management device and key management method based on trusted module
CN113343215A (en) Embedded software authorization and authentication method and electronic equipment
JP4899196B2 (en) Data management system, terminal computer, management computer, data management method and program thereof
JP2007058652A (en) File destructor, information processor, information processing method, and program
JP4474267B2 (en) Cryptographic processing device
JP2008003774A (en) Microcomputer
JP4604523B2 (en) Data transfer method and data storage device
JP6455236B2 (en) Electronic equipment

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20090630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100729

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120521

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120724

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

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees