JP4681105B2 - Electronic device embedded software protection method and electronic device - Google Patents

Electronic device embedded software protection method and electronic device Download PDF

Info

Publication number
JP4681105B2
JP4681105B2 JP2000207584A JP2000207584A JP4681105B2 JP 4681105 B2 JP4681105 B2 JP 4681105B2 JP 2000207584 A JP2000207584 A JP 2000207584A JP 2000207584 A JP2000207584 A JP 2000207584A JP 4681105 B2 JP4681105 B2 JP 4681105B2
Authority
JP
Japan
Prior art keywords
software
electronic device
identification means
application software
system program
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.)
Expired - Fee Related
Application number
JP2000207584A
Other languages
Japanese (ja)
Other versions
JP2002023876A (en
Inventor
和隆 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Electric Works Co Ltd
Original Assignee
Panasonic Corp
Matsushita Electric Works Ltd
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 Panasonic Corp, Matsushita Electric Works Ltd filed Critical Panasonic Corp
Priority to JP2000207584A priority Critical patent/JP4681105B2/en
Publication of JP2002023876A publication Critical patent/JP2002023876A/en
Application granted granted Critical
Publication of JP4681105B2 publication Critical patent/JP4681105B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、異品種のソフトウェアを組み込むことで、異なった機能を有する電子機器において、不正なソフトウェアの組み込みを防止する電子機器組み込みソフトウェアの保護方法及び電子機器に関するものである。
【0002】
【従来の技術】
従来より、組み込まれるアプリケーションソフトウェアによって、用途に応じて動作する電子機器が提供されている。
【0003】
電子機器は、例えば画像を撮影して処理するイメージチェッカなどの画像処理装置であって、用途に応じて電子機器を動作させるアプリケーションソフトウェアを記憶するメモリ、メモリからアプリケーションソフトウェアを読み込んで実行するCPUを具備する機器本体と、CPUから制御されて画像を撮影するカメラと、カメラで撮影された映像を映し出すモニタと、操作することにより所望の動作を行うようにCPUに指示するキーボードやマウスなどの操作入力装置とを備えている。
【0004】
このような電子機器に例えばIC外観検査用のアプリケーションソフトウェアを組み込むことによって、この電子機器は、ICの微妙な傷・欠け・異物付着などの外観を検査する外観検査装置となり、或いは、プリント配線基板上に実装する電子部品を位置決めするための計測用のアプリケーションソフトウェアを組み込むことによって、この電子機器は、プリント配線基板にある裁断用の基準マークの絶対位置を検出し、電子部品が実装される位置データを出力する位置決め装置ともなる。
【0005】
【発明が解決しようとする課題】
しかしながら、電子機器のメーカにより製作された上述のようなアプリケーションソフトウェアは、たとえこのアプリケーションソフトウェアのソースコードがメーカから公開されていなくても、ユーザが市販の開発装置を用いることによって、電子機器に不正に組み込まれるといった問題があった。
【0006】
例えば、上述のようなIC外観検査用のアプリケーションソフトウェアと、計測用のアプリケーションソフトウェアとにそれぞれ価格差があって、IC外観検査用アプリケーションソフトウェアが組み込まれた外観検査装置が、計測用アプリケーションソフトウェアが組み込まれた位置決め装置よりも高価な価格設定がされている場合、中間業者を含むユーザは、両装置を一台づつ購入した後、それ以降は低価格な位置決め装置のみを購入し、外観検査装置に組み込まれたIC外観検査用のアプリケーションソフトウェアを開発装置を用いて不正にコピーして、この不正にコピーされたアプリケーションソフトウェアを位置決め装置に組み込むことによって、結果的に安価な外観検査装置の入手を可能としてしまうことがあった。これにより、メーカは正規の価格で外観検査装置を売ることができずに不利益を被ることとなってしまう。
【0007】
本発明は上記問題点の解決を目的とするものであり、ソフトウェアの電子機器への不正な組み込みを防止する電子機器組み込みソフトウェアの保護方法及び電子機器を提供する。
【0008】
【課題を解決するための手段】
上記目的を達成するために、請求項1の発明は、用途に応じて電子機器を動作させるアプリケーションソフトウェアを組み込むことによって異なった機能を有する電子機器へのソフトウェアの不正な組み込みを防止するソフトウェアの保護方法であって、ソフトウェアおよび当該ソフトウェアが正当に組み込まれる電子機器に、互いに合致する識別手段をそれぞれ備え、電子機器に備えられた識別手段と、電子機器に組み込まれたソフトウェアの識別手段とを照合し、それぞれの識別手段が合致したときにのみ、組み込まれたソフトウェアに応じて電子機器を動作させ、ソフトウェアは、データからなる識別手段を有し、電子機器には、電子機器のハードウェアを制御するシステムプログラムが組み込まれるとともに、1乃至複数個の接点を具備する接点開閉装置が設けられており、接点の開閉状態に応じてデータからなる識別手段が設定され、システムプログラムが電子機器側の識別手段とアプリケーションソフトウェア側の識別手段とを照合し、接点開閉装置は封止されたチップで構成されていることを特徴とし、不正なソフトウェアが電子機器に組み込まれたときには、このソフトウェアの識別手段と電子機器の識別手段とが合致せずに、組み込まれたソフトウェアに応じて電子機器を動作させないことによって、ソフトウェアの電子機器への不正な組み込みを防止することができ、例えば、用途に応じて互いに異なって価格差のある2種類のソフトウェアがそれぞれ各別に組み込まれた安価な電子機器と高価な電子機器とがあって、ユーザが高価な電子機器からソフトウェアをコピーし、このソフトウェアを安価な電子機器に不正に組み替えることによって、結果的にユーザが高価な電子機器を低価格で得たことになるのを防ぐごとができる。また、ユーザによりシステムプログラムの全ての内容がコピーされた場合にも、電子機器の識別手段は接点の開閉状態に応じて設定されていることによってコピーされず、さらに、接点開閉装置を封止されたチップで構成したことにより、ソフトウェアの不正な組み込みを確実に防ぐことができる。
【0009】
請求項2の発明は、請求項1の発明において、ソフトウェアおよび当該ソフトウェアが正当に組み込まれる電子機器のそれぞれに備えられた互いに合致する識別手段のうち一方を、少なくとも一部変更し、照合するときには変更された前記一方の識別手段を所定の変更処理により元に戻した後に照合することを特徴とし、ソフトウェア及び当該ソフトウェアが正当に組み込まれる電子機器のそれぞれに備えられた識別手段のうち何れか一方がユーザに把握された場合でも、何れか一方の識別手段が変更されて、照合するときに所定の変更処理により元に戻されることによって、ユーザに変更処理の内容が知られない限り、他方の識別手段が判明されることを難しくして、ソフトウェアの電子機器への不正な組み込みをさらに防止することができる。
【0012】
請求項3の発明は、用途に応じて電子機器を動作させるアプリケーションソフトウェアを組み込むことによって異なった機能を有する電子機器であって、組み込まれたソフトウェアを実行し、当該ソフトウェアに応じて用途に則した処理を行う処理手段と、正当に組み込まれたソフトウェアに設けられたデータからなる識別手段と合致する機器側識別手段と、機器側識別手段と組み込まれたソフトウェアの識別手段とを照合し、合致したときにのみ組み込まれたソフトウェアの処理手段による実行を許可する照合手段と、1乃至複数の接点を具備して、接点の開閉状態に応じてデータからなる機器側識別手段が設定される接点開閉装置とを備え、照合手段は、電子機器のハードウェアを制御するシステムプログラムであって、接点開閉装置は封止されたチップで構成されていることを特徴とし、不正なソフトウェアが電子機器に組み込まれたときには、このソフトウェアの識別手段と機器側識別手段とが照合手段により照合され、それぞれが合致しない結果、処理手段によるソフトウェアの実行が許可されないことによって、ソフトウェアの電子機器への不正な組み込みを防止することができ、例えば、用途に応じて互いに異なって価格差のある2種類のソフトウェアがそれぞれ各別に組み込まれた安価な電子機器と高価な電子機器とがあって、ユーザが高価な電子機器からソフトウェアをコピーし、このソフトウェアを安価な電子機器に不正に組み替えることによって、結果的にユーザが高価な電子機器を低価格で得たことになるのを防ぐごとができる。また、ユーザによりシステムプログラムの全ての内容がコピーされた場合にも、電子機器の識別手段は接点の開閉状態に応じて設定されていることによってコピーされず、さらに、接点開閉装置を封止されたチップで構成したことにより、ソフトウェアの不正な組み込みを確実に防ぐことができる。
【0013】
請求項4の発明は、請求項3の発明において、正当に組み込まれたソフトウェアの識別手段および前記識別手段と合致する機器側識別手段のうち一方は、少なくとも一部変更され、照合手段は、変更された前記一方の識別手段を所定の変更処理により元に戻して照合することを特徴とし、正当に組み込まれたソフトウェアの識別手段及び機器側識別手段のうち何れか一方がユーザに把握された場合でも、何れか一方の識別手段が変更されており、照合手段が照合するときには所定の変更処理により元に戻されることによって、ユーザに照合手段の変更処理の内容が知られない限り、他方の識別手段が判明されることを難くして、ソフトウェアの電子機器への不正な組み込みをさらに防止することができる。
【0016】
【発明の実施の形態】
参考例1
本構成例の電子機器10は、図1に示すように従来例と同様、用途に応じて電子機器10を動作させるアプリケーションソフトウェア20が組み込まれる機器本体10aと、機器本体10aに制御される複数個の周辺機器10b…とからなる。
【0017】
機器本体10aは、組み込まれたアプリケーションソフトウェア20を実行し、アプリケーションソフトウェア20に応じて用途に則した処理を行う処理手段たるCPU13と、正当に組み込まれたアプリケーションソフトウェア20に設けられた識別手段1と合致する機器側識別手段2と、電子機器のハードウェアを制御するとともに、機器側識別手段2と組み込まれたアプリケーションソフトウェア20の識別手段1とを照合し、合致したときにのみ組み込まれたアプリケーションソフトウェア20のCPU13による実行を許可する照合手段たるシステムプログラム12と、各周辺機器10bとのインターフェースを図る周辺機器インターフェース部14とを備えている。また、上述の機器側識別手段2は、システムプログラム12内に備えられている。
【0018】
周辺機器インターフェース部14…はそれぞれ、機器本体10aに接続される周辺機器10bに応じて構成されている。例えば周辺機器10b…の各々が従来例のようなモニタ、キーボードやマウスなどの操作入力装置、さらにはフロッピーディスクドライブやCD−ROMドライブなどの外部記憶装置であれば、周辺機器インターフェース部14…の各々は、画像信号を出力するモニタ出力回路部、操作入力装置からの信号を入力する入力回路部、外部記憶装置に応じたデータの送受信を行うドライブ回路部となる。また、RS232Cなどのシリアルポートを介して接続される周辺機器10bに対しては、周辺機器インターフェース部14はRS232Cに応じた信号の送受信を行うシリアル回路部となり、イーサネットを介して接続される周辺機器10bに対しては、周辺機器インターフェース部14は、イーサネット用のインターフェース回路部となる。
【0019】
アプリケーションソフトウェア20とシステムプログラム12は、機器本体10aに備えられたメモリ11のバックアップ領域11aに記憶され、電子機器10の起動時にCPU13からの制御によりメモリ11の実行領域11bに移されて、それぞれ実行される。また、バックアップ領域11aとしては例えばハードディスクやROMが用いられ、実行領域11bとしては例えばDRAMなどが用いられる。
【0020】
上述のようなシステムプログラム12の機器側識別手段2とアプリケーションソフトウェア20の識別手段1との照合は、例えば図2(a),(b)に示すような概念図で表される。
【0021】
図2(a)に示す電子機器10に備えられたシステムプログラム12Aには、略三角状に突出する機器側識別手段2Aが備えられ、この電子機器10に正当に組み込まれるアプリケーションソフトウェア20Aには、システムプログラム12Aの機器側識別手段2Aと嵌合するような略三角状に凹設された識別手段1Aが設けられている。
【0022】
システムプログラム12Aは、機器側識別手段2Aをアプリケーションソフトウェア20Aの識別手段1Aに突き合わすように照合し、嵌合すれば合致したものとして、アプリケーションソフトウェア20Aが正当に組み込まれたものであることを判断し、CPU13によるアプリケーションソフトウェア20Aの実行を許可する。
【0023】
一方、図2(b)に示す電子機器10に備えられたシステムプログラム12B及び、正当に組み込まれるアプリケーションソフトウェア20Bについても、システムプログラム12A及びアプリケーションソフトウェア20Aと同様に、システムプログラム12Bには略矩形状に突出する機器側識別手段2Bが備えられ、アプリケーションソフトウェア20Bにはシステムプログラム12Bの機器側識別手段2Bと嵌合する略矩形状に凹設された識別手段1Bが設けられている。
【0024】
例えば図2(a)に示す電子機器10に、アプリケーションソフトウェア20Bを組み込んで、システムプログラム12Aにより機器側識別手段2Aとアプリケーションソフトウェア20Bの識別手段1Bとを照合させたときには、それそれの識別手段2A,1Bを突き合わせても嵌合しないので、システムプログラム12Aは、それぞれの識別手段2A,1Bが合致せず、アプリケーションソフトウェア20Bが不正に組み込まれたものであると判断し、CPU13によるアプリケーションソフトウェア20Bの実行を許可しないこととなる。
【0025】
具体的には、システムプログラム12の機器側識別手段2と、システムプログラム12が備えられた電子機器10に正当に組み込まれるアプリケーションソフトウェア20の識別手段1とは、それぞれ例えば「123456」といった同一の識別データから構成される。
【0026】
ここで、上述のようなアプリケーションソフトウェア20が正当に組み込まれた電子機器10に電源が投入され、アプリケーションソフトウェア20が実行されるまでの電子機器10の動作について、図3のフロー図に基づいて簡単に説明する。
【0027】
電子機器10に電源が投入されると(S1)、まず、CPU13はシステムプログラム12をバックアップ領域11aから実行領域11bに移して起動させ(S2)、システムプログラム12は、周辺機器インターフェース部14…を初期化するとともに(S3)、自己に備えられた機器側識別データ2(「123456」)とアプリケーションソフトウェア20の識別データ1(「123456」)とを照合する(S4)。システムプログラム12は、機器側識別データ2と識別データ1とが合致し、アプリケーションソフトウェア20が正当に組み込まれたものであると判断すると、アプリケーションソフトウェア20のCPU13による実行を許可して、アプリケーションソフトウェア20をバックアップ領域11aから実行領域11bに移し(S5)、アプリケーションソフトウェア20が実行される(S6)。
【0028】
ところが、組み込まれたアプリケーションソフトウェア20の識別データ2が例えば「456123」であった場合には、システムプログラム12は、ステップS4にて機器側識別データ2(「123456」)とアプリケーションソフトウェア20の識別データ1(「456123」)とを照合して、それぞれが合致せずにアプリケーションソフトウェア20が不正に組み込まれたものであると判断する。その結果、システムプログラム12は、このアプリケーションソフトウェア20のCPU13による実行を許可せずに、アプリケーションソフトウェア20をバックアップ領域11aに留め(S7)、例えば組み込まれたアプリケーションソフトウェア20が不正に組み込まれたものであることをユーザに知らせる警告メッセージをCPU13から通知させる(S8)。
【0029】
上述のように本構成例では、従来例と同様に、正当に組み込まれたアプリケーションソフトウェア20のバージョンアップを、開発装置を所有するユーザに委託することを可能としながらも、アプリケーションソフトウェア20及び当該アプリケーションソフトウェア20が組み込まれる電子機器10に、互いに合致する識別データ1,2をそれぞれ備え、電子機器10に備えられた機器側識別データ2と、アプリケーションソフトウェア20の識別データ1とを照合して合致したときにのみ、組み込まれたアプリケーションソフトウェア20に応じて電子機器10を動作させるようにしたことによって、不正なアプリケーションソフトウェア20が電子機器10に組み込まれたときには、識別データ1と機器側識別データ2とが合致せずに、アプリケーションソフトウェア20に応じて電子機器10を動作させないため、アプリケーションソフトウェア20の電子機器10への不正な組み込みを防止することができる。
【0030】
これにより、例えば、用途に応じて互いに異なって価格差のある2種類のアプリケーションソフトウェア20がそれぞれ各別に組み込まれた安価な電子機器10と高価な電子機器10とがあって、ユーザが高価な電子機器10からアプリケーションソフトウェア20をコピーし、このアプリケーションソフトウェア20を安価な電子機器10に不正に組み替えることによって、結果的にユーザが高価な電子機器10を低価格で得たことになるのを防ぐごとができる。
【0031】
また本構成例では、機器側識別データ2がシステムプログラム12に備えられていることによって、電子機器10のハードウェアは、正当に組み込まれるアプリケーションソフトウェア20の種類に応じて個々に変更されることなく、電子機器10のハードウェアの製造工程を一本化することができる。
【0032】
参考例2
ところで、システムプログラム12は非公開であり、製造時にメーカによってバックアップ領域11aに用いられるROMなどに記憶されて、ユーザによる変更が行えないように電子機器10に備えられている。
【0033】
しかし、アプリケーションソフトウェア20は、ユーザによる変更を行えるようにして、ユーザは市販の開発装置を用いてアプリケーションソフトウェア20の内容を変更し、アプリケーションソフトウェア20をバージョンアップすることがある。
【0034】
このときに、ユーザは、メーカ側からアプリケーションソフトウェア20のソースコードが公開されていなくても、開発装置を用いてバックアップ領域11aに記憶されているアプリケーションソフトウェア20の実行ファイルから識別データ1を見ることができる。
【0035】
さらに、開発装置を用いればアプリケーションソフトウェア20の識別データ1から同じくバックアップ領域11aに記憶されているシステムプログラム12の機器側識別データ2を比較検索することが可能であり、その結果、識別データ1及び機器側識別データ2が判明されて、不正なアプリケーションソフト20が電子機器10に組み込まれることがある。
【0036】
そこで本構成例では、正当に組み込まれるアプリケーションソフトウェア20の識別データ1は予め変換されており、システムプログラム12は、変換されたアプリケーションソフト20の識別データ1を所定の変換処理により元に戻して照合する。
【0037】
例えば、機器側識別データ2と、正当に組み込まれたアプリケーションソフトウェア20の識別データ1とがそれぞれ「123456」のデータからなっている場合、アプリケーションソフトウェア20には予め3桁ずらして変換された「456123」のデータからなる識別データ1が備えられている。
【0038】
そして電子機器10に電源が投入され、システムプログラム12が実行領域11bに移されて起動されると、システムプログラム12は、図4のフロー図に示すように、バックアップ領域11aに記憶されているアプリケーションソフトウェア20の変換された識別データ1(「456123」)を読み込み(S1)、所定の変換処理により「456123」を3桁ずらして元の識別データ1である「123456」に戻す(S2)。その後、システムプログラム12は、自己の機器側識別データ2(「123456」)と、アプリケーションソフトウェア20の元に戻された識別データ1(「123456」)とを照合し(S3)、それぞれが合致してアプリケーションソフトウェア20が正当に組み込まれたものであると判断すると、上述のようにアプリケーションソフトウェア20を実行領域11bに移して、CPU13によるアプリケーションソフトウェア20の実行を許可する(S4)。
【0039】
ところが、アプリケーションソフトウェア20に予め備えられている識別データ1が仮に「345612」であった場合、システムプログラム12は、ステップS2にて「345612」を上述と同様の変換処理により3桁ずらして元の識別データ1である「612345」に戻し、この元に戻されたアプリケーションソフトウェア20の識別データ1(「612345」)と自己の機器側識別データ2(「123456」)と照合する(S3)。
【0040】
このときシステムプログラム12は、照合した結果それぞれが合致しないため、アプリケーションソフトウェア20が不正に組み込まれたものであると判断すると、アプリケーションソフトウェア20をバックアップ領域11aに留め、CPU13によるアプリケーションソフトウェア20の実行を禁止する(S5)。
【0041】
上述のように本構成例では、ユーザが開発装置を用いて電子機器10のバックアップ領域11aに記憶されているアプリケーションソフトウェア20の識別データ1を知った場合でも、このアプリケーションソフトウェア20の識別データ1は予め変換されており、システムプログラム12が所定の変換処理により元に戻して照合していることによって、ユーザに変換処理の内容が知られない限り、識別データ1と比較検索することでシステムプログラム12内の機器側識別データ2が判明されることを難しくして、アプリケーションソフトウェア20の電子機器10への不正な組み込めをさらに防ぐことができる。
【0042】
例えばシステムプログラム12Aが備えられた一方の電子機器10に正当に組み込まれるアプリケーションソフトウェア20Aの識別データ1Aが「123456」であって、システムプログラム12Bが備えられた他方の電子機器10に正当に組み込まれるアプリケーションソフトウェア20Bの識別データ1Bが「987654」である場合、ユーザは、これらの識別データ1A,1Bを認知することができたとしても、これらの識別データ1A,1Bがシステムプログラム12A,12Bによってどのように変換されているのか分らないため、システムプログラム12A,12Bが備えられた一方の電子機器10に、他方の電子機器10のアプリケーションソフトウェア20B,20Aを組み込むことができないのである。
【0043】
なお、本構成例では、バックアップ領域11aとして用いられるROMが取り出されて、ROMに記憶された全ての内容、つまりシステムプログラム12の変換処理の内容及び機器側識別データ2がコピーされたときには、不正なアプリケーションソフトウェア20の電子機器10への組み込みを防ぐことができないので、ROMは機器本体10aから取り出されないように備えられるとともに、機器本体10aには、ROMに市販の開発装置を接続してアプリケーションソフトウェア20のバージョンアップを行うためのコネクタが設けられ、ROMに記憶された全ての内容のコピーを防止している。またさらに、剥がされたり破られたりすることによりROMが取り出されたことを証拠として残すような封印シールを機器本体10aに貼り付けることによって、ROMが取り出されたとき、ユーザにより不正な行為が行われたことを明らかにすることができる。
【0044】
ところで、本構成例ではアプリケーションソフトウェア20の識別データ1を予め変換しておいたが、システムプログラム12の機器側識別データ2を予め変更しておき、システムプログラム12に、機器側識別データ2を元に戻してアプリケーションソフトウェア20の識別データ1と照合させるようにしても良い。
【0045】
実施形態1
本実施形態における基本構成は参考例1又は2と共通するために共通する部分については同一の符号を付して説明を省略し、本実施形態の特徴となる部分についてのみ詳細に説明する。
【0046】
本実施形態の電子機器10には、図5及び図6に示すように、ジャンパーピンやディップスイッチなどの複数個の接点15a…を具備する接点開閉装置15が備えられ、機器側識別データ2は、参考例1又は2のようにシステムプログラム12に備えられず、接点開閉装置15の接点15a…の開閉状態に応じて設定されている。
【0047】
このような接点開閉装置15は、CPU13にバス16を介して接続され、CPU13は、アドレス指定することにより接点開閉装置15にアクセスして複数個の接点15a…の開閉状態に応じて設定される「0」,「1」のデータ列からなる機器側識別データ2を認識する。
【0048】
また本実施形態のシステムプログラム12は、接点開閉装置15に設定されCPU13により認識された「0」,「1」のデータ列からなる機器識別データ2を、十進数のデータに変換して読み込む。
【0049】
さらに、本実施形態においては参考例2とは逆に、正当に組み込まれたアプリケーションソフトウェア20の識別データ1と合致する機器側識別データ2が、予め変換されて接点開閉装置15に設定され、システムプログラム12は、変換された機器側識別データ2を所定の変換処理により元に戻して照合する。
【0050】
このシステムプログラム12の動作は、図7のフロー図に示すように、図4のフロー図で示した参考例2のシステムプログラム12と同様の動作であって、ステップS1のアプリケーションソフトウェア20の識別データ1が読み込まれるときに、接点開閉装置15の機器側識別データ2が十進数のデータとして読み込まれ、ステップS2にて行われる変換処理が、機器側識別データ2に対して行われる点のみ異なる。
【0051】
例えば、システムソフトウェア12は、正当に組み込まれたアプリケーションソフトウェア20の識別データ1の「456123」と、接点開閉装置15の予め3桁ずらして変換されて設定された機器側識別データ2の「123456」とを読み込む(S1)。そして、システムプログラム12は、機器側識別データ2の「123456」を3桁ずらして元の機器側識別データ2の「456123」に戻し(S2)、その後に、アプリケーションソフトウェア20の識別データ1の「456123」と、元に戻された機器側識別データ2の「456123」とを照合する(S3)。
【0052】
上述のように本実施形態では、ユーザが市販の開発装置を用いてアプリケーションソフトウェア20の識別データ1を知った場合でも、接点開閉装置15には予め変換された機器側識別データ2が設定されて、システムプログラム12が所定の変換処理により元に戻して照合していることによって、ユーザに変換処理の内容が知られない限り、機器側識別データ2が判明されることを難しくして、アプリケーションソフトウェア20の電子機器10への不正な組み込みをさらに防ぐことができる。
【0053】
また、本実施形態では、バックアップ領域11aとして用いられるROMが取り出されて、記憶された全ての内容がコピーされても、機器側識別データ2は接点開閉装置15により設定されているので、機器側識別データ2が知られることなく、アプリケーションソフトウェア20の電子機器への不正な組み込みをまたさらに防ぐことができる。
【0054】
さらに、接点開閉装置15を封止されたチップで構成しても良く、この場合には、電子機器10の製造時に、正当に組み込まれるアプリケーションソフトウェア20の種類に応じた個々の接点開閉装置15を製造して機器本体10aに備えなければならないが、アプリケーションソフトウェア20の不正な組み込みを確実に防ぐことができる。
【0055】
【発明の効果】
請求項1の発明は、用途に応じて電子機器を動作させるアプリケーションソフトウェアを組み込むことによって異なった機能を有する電子機器へのソフトウェアの不正な組み込みを防止するソフトウェアの保護方法であって、ソフトウェアおよび当該ソフトウェアが正当に組み込まれる電子機器に、互いに合致する識別手段をそれぞれ備え、電子機器に備えられた識別手段と、電子機器に組み込まれたソフトウェアの識別手段とを照合し、それぞれの識別手段が合致したときにのみ、組み込まれたソフトウェアに応じて電子機器を動作させ、ソフトウェアは、データからなる識別手段を有し、電子機器には、電子機器のハードウェアを制御するシステムプログラムが組み込まれるとともに、1乃至複数個の接点を具備する接点開閉装置が設けられており、接点の開閉状態に応じてデータからなる識別手段が設定され、システムプログラムが電子機器側の識別手段とアプリケーションソフトウェア側の識別手段とを照合し、接点開閉装置は封止されたチップで構成されているので、不正なソフトウェアが電子機器に組み込まれたときには、このソフトウェアの識別手段と電子機器の識別手段とが合致せずに、組み込まれたソフトウェアに応じて電子機器を動作させないことによって、ソフトウェアの電子機器への不正な組み込みを防止することができ、例えば、用途に応じて互いに異なって価格差のある2種類のソフトウェアがそれぞれ各別に組み込まれた安価な電子機器と高価な電子機器とがあって、ユーザが高価な電子機器からソフトウェアをコピーし、このソフトウェアを安価な電子機器に不正に組み替えることによって、結果的にユーザが高価な電子機器を低価格で得たことになるのを防ぐごとができるという効果がある。また、ユーザによりシステムプログラムの全ての内容がコピーされた場合にも、電子機器の識別手段は接点の開閉状態に応じて設定されていることによってコピーされず、さらに、接点開閉装置を封止されたチップで構成したことにより、ソフトウェアの不正な組み込みを確実に防ぐことができる。
【0056】
請求項2の発明は、ソフトウェアおよび当該ソフトウェアが正当に組み込まれる電子機器のそれぞれに備えられた互いに合致する識別手段のうち一方を、少なくとも一部変更し、照合するときには変更された前記一方の識別手段を所定の変更処理により元に戻した後に照合するので、ソフトウェア及び当該ソフトウェアが正当に組み込まれる電子機器のそれぞれに備えられた識別手段のうち何れか一方がユーザに把握された場合でも、何れか一方の識別手段が変更されて、照合するときに所定の変更処理により元に戻されることによって、ユーザに変更処理の内容が知られない限り、他方の識別手段が判明されることを難しくして、ソフトウェアの電子機器への不正な組み込みをさらに防止することができるという効果がある。
【0059】
請求項3の発明は、用途に応じて電子機器を動作させるアプリケーションソフトウェアを組み込むことによって異なった機能を有する電子機器であって、組み込まれたソフトウェアを実行し、当該ソフトウェアに応じて用途に則した処理を行う処理手段と、正当に組み込まれたソフトウェアに設けられたデータからなる識別手段と合致する機器側識別手段と、機器側識別手段と組み込まれたソフトウェアの識別手段とを照合し、合致したときにのみ組み込まれたソフトウェアの処理手段による実行を許可する照合手段と、1乃至複数の接点を具備して、接点の開閉状態に応じてデータからなる機器側識別手段が設定される接点開閉装置とを備え、照合手段は、電子機器のハードウェアを制御するシステムプログラムであって、接点開閉装置は封止されたチップで構成されているので、不正なソフトウェアが電子機器に組み込まれたときには、このソフトウェアの識別手段と機器側識別手段とが照合手段により照合され、それぞれが合致しない結果、処理手段によるソフトウェアの実行が許可されないことによって、ソフトウェアの電子機器への不正な組み込みを防止することができ、例えば、用途に応じて互いに異なって価格差のある2種類のソフトウェアがそれぞれ各別に組み込まれた安価な電子機器と高価な電子機器とがあって、ユーザが高価な電子機器からソフトウェアをコピーし、このソフトウェアを安価な電子機器に不正に組み替えることによって、結果的にユーザが高価な電子機器を低価格で得たことになるのを防ぐごとができるという効果がある。また、ユーザによりシステムプログラムの全ての内容がコピーされた場合にも、電子機器の識別手段は接点の開閉状態に応じて設定されていることによってコピーされず、さらに、接点開閉装置を封止されたチップで構成したことにより、ソフトウェアの不正な組み込みを確実に防ぐことができる。
【0062】
請求項4の発明は、正当に組み込まれたソフトウェアの識別手段および前記識別手段と合致する機器側識別手段のうち一方は、少なくとも一部変更され、照合手段は、変更された前記一方の識別手段を所定の変更処理により元に戻して照合するので、正当に組み込まれたソフトウェアの識別手段及び機器側識別手段のうち何れか一方がユーザに把握された場合でも、何れか一方の識別手段が変更されて、照合手段が照合するときには所定の変更処理により元に戻されることによって、ユーザに照合手段の変更処理の内容が知られない限り、他方の識別手段が判明されることを難くして、ソフトウェアの電子機器への不正な組み込みをさらに防止することができるという効果がある。
【図面の簡単な説明】
【図1】 参考例1を示す電子機器の概略構成ブロック図である。
【図2】 (a),(b)は同上の説明用概念図である。
【図3】 同上の動作説明用のフロー図である。
【図4】 参考例2のシステムプログラムの動作説明用のフロー図である。
【図5】 実施形態1を示す電子機器の概略構成ブロック図である。
【図6】 同上のCPUと接点開閉装置を示す概略構成図である。
【図7】 同上のシステムプログラムの動作説明用のフロー図である。
【符号の説明】
1 識別データ
2 機器側識別データ
10 電子機器
10a 機器本体
10b 周辺機器
11 メモリ
11a バックアップ領域
11b 実行領域
12 システムプログラム
13 CPU
14 周辺機器インターフェース部
20 アプリケーションソフトウェア
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an electronic device embedded software protection method and an electronic device that prevent unauthorized software from being embedded in electronic devices having different functions by incorporating different types of software.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, electronic devices that operate according to applications have been provided by using embedded application software.
[0003]
The electronic device is an image processing device such as an image checker that captures and processes an image, for example, and includes a memory that stores application software that operates the electronic device according to a use, and a CPU that reads and executes the application software from the memory. Operation of keyboard, mouse, etc. instructing the CPU to perform a desired operation by operating the device main body provided, a camera that controls images from the CPU, and a monitor that displays images captured by the camera And an input device.
[0004]
By incorporating, for example, application software for IC appearance inspection into such an electronic device, the electronic device becomes an appearance inspection device for inspecting the appearance of ICs such as subtle scratches, chips, and foreign matters, or a printed wiring board. By incorporating measurement application software for positioning electronic components to be mounted on top, this electronic device detects the absolute position of the reference mark for cutting on the printed wiring board, and the position where the electronic component is mounted It also serves as a positioning device that outputs data.
[0005]
[Problems to be solved by the invention]
However, the above-mentioned application software manufactured by the manufacturer of the electronic device may be illegal for the electronic device by the user using a commercially available development device even if the source code of the application software is not disclosed by the manufacturer. There was a problem of being incorporated into.
[0006]
For example, there is a price difference between the application software for IC appearance inspection and the application software for measurement as described above, and the appearance inspection apparatus in which the application software for IC appearance inspection is incorporated is incorporated in the application software for measurement. If the price is set more expensive than the registered positioning device, users including middlemen purchase both devices one by one, and after that, purchase only the low-cost positioning device and use it as a visual inspection device. By improperly copying the embedded IC appearance inspection application software using a development device and incorporating this illegally copied application software into the positioning device, it is possible to obtain an inexpensive appearance inspection device as a result. There was sometimes. As a result, the manufacturer cannot sell the appearance inspection apparatus at a regular price, and suffers a disadvantage.
[0007]
The present invention aims to solve the above-described problems, and provides a protection method for electronic device embedded software and an electronic device that prevent unauthorized incorporation of software into the electronic device.
[0008]
[Means for Solving the Problems]
  In order to achieve the above object, the invention of claim 1Operate electronic devices according to usageA software protection method for preventing unauthorized incorporation of software into an electronic device having a different function by incorporating application software, wherein the software and the electronic device into which the software is properly incorporated have identification means that match each other. The identification means provided in each electronic device is compared with the identification means of the software installed in the electronic device, and the electronic device operates according to the installed software only when each identification means matches. LetThe software has identification means consisting of data, and the electronic device has a system program for controlling the hardware of the electronic device and a contact opening / closing device having one or more contacts. The identification means consisting of data is set according to the open / close state of the contact, the system program checks the identification means on the electronic device side and the identification means on the application software side, and the contact open / close device is composed of a sealed chip. ingWhen unauthorized software is incorporated into an electronic device, the software identification means and the electronic device identification means do not match, and the electronic device is not operated according to the incorporated software, It is possible to prevent illegal incorporation of software into an electronic device. For example, an inexpensive electronic device and an expensive electronic device each having two types of software that are different from each other and have a price difference depending on the application. If a user copies software from an expensive electronic device and improperly rearranges this software into an inexpensive electronic device, the user can obtain an expensive electronic device at a low price. Everything you can prevent.Even when the entire contents of the system program are copied by the user, the identification means of the electronic device is not copied because it is set according to the open / close state of the contact, and the contact switching device is further sealed. By using a simple chip, illegal installation of software can be surely prevented.
[0009]
According to a second aspect of the present invention, in the first aspect of the invention, when at least a part of one of the matching means provided in each of the software and the electronic device in which the software is properly incorporated is changed and collated One of the identification means provided in each of the software and the electronic device in which the software is properly incorporated is characterized in that the one identification means that has been changed is restored after being restored by a predetermined change process. Even if the user has grasped, either one of the identification means is changed and restored by a predetermined change process when collating, so that unless the user knows the contents of the change process, Making it difficult to identify the means of identification and further preventing unauthorized incorporation of software into electronic equipment. That.
[0012]
  Claim 3The invention ofOperate electronic devices according to usageAn electronic device having different functions by incorporating application software, which is provided in processing means that executes the embedded software and performs processing in accordance with the application according to the software, and that is properly installed in the software TheDataA device-side identification unit that matches the identification unit, a device-side identification unit and a built-in software identification unit that collate, and a matching unit that permits execution by the built-in software processing unit only when they match.A contact switching device comprising one or a plurality of contacts, in which device-side identification means consisting of data is set according to the contact open / close state;WithThe collating means is a system program for controlling the hardware of the electronic device, and the contact switching device is composed of a sealed chip.When unauthorized software is incorporated into an electronic device, the software identification unit and the device-side identification unit are collated by the collation unit. As a result, the execution of software by the processing unit is not permitted. Therefore, it is possible to prevent illegal incorporation of software into an electronic device, for example, an inexpensive electronic device in which two types of software differing in price from each other depending on the application are separately incorporated and expensive. There is an electronic device, and the user copied the software from an expensive electronic device and illegally rearranged this software into an inexpensive electronic device. As a result, the user obtained an expensive electronic device at a low price. You can do everything to prevent it.Even when the entire contents of the system program are copied by the user, the identification means of the electronic device is not copied because it is set according to the open / close state of the contact, and the contact switching device is further sealed. By using a simple chip, illegal installation of software can be surely prevented.
[0013]
  Claim 4The invention ofClaim 3In the present invention, at least one of the software identification means and the device-side identification means that match the identification means that are properly incorporated is changed at least in part, and the collation means sets the changed identification means to a predetermined one. Even if one of the software identification means and device-side identification means that are properly installed is recognized by the user, either identification means is changed. When the collation means collates, it is restored by a predetermined change process, so that it is difficult for the user to find out the other identification means unless the user knows the contents of the collation means change process. In addition, unauthorized incorporation of software into electronic equipment can be further prevented.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
  (Reference example 1)
  This configuration exampleAs shown in FIG. 1, the electronic device 10 includes a device main body 10a in which application software 20 for operating the electronic device 10 is installed according to the application, and a plurality of peripheral devices controlled by the device main body 10a. 10b...
[0017]
The device main body 10a executes the embedded application software 20 and performs processing according to the application in accordance with the application software 20, and the CPU 13 as the processing means, and the identification means 1 provided in the properly incorporated application software 20 The matching device side identification means 2 and the hardware of the electronic device are controlled, and the device side identification means 2 and the identification means 1 of the incorporated application software 20 are collated, and the application software incorporated only when they match. 20 includes a system program 12 that is a verification unit that permits execution by the CPU 13 and a peripheral device interface unit 14 that interfaces with the peripheral devices 10b. Further, the above-described device side identification means 2 is provided in the system program 12.
[0018]
Each of the peripheral device interface units 14... Is configured according to the peripheral device 10b connected to the device main body 10a. For example, if each of the peripheral devices 10b... Is a monitor, an operation input device such as a keyboard or a mouse, and an external storage device such as a floppy disk drive or a CD-ROM drive as in the conventional example, the peripheral device interface unit 14. Each of them is a monitor output circuit unit that outputs an image signal, an input circuit unit that inputs a signal from an operation input device, and a drive circuit unit that transmits and receives data according to an external storage device. In addition, for the peripheral device 10b connected via a serial port such as RS232C, the peripheral device interface unit 14 becomes a serial circuit unit that transmits and receives signals according to RS232C, and is connected via Ethernet. For 10b, the peripheral device interface unit 14 is an Ethernet interface circuit unit.
[0019]
The application software 20 and the system program 12 are stored in the backup area 11a of the memory 11 provided in the apparatus main body 10a, transferred to the execution area 11b of the memory 11 by the control from the CPU 13 when the electronic apparatus 10 is started, and executed respectively. Is done. For example, a hard disk or a ROM is used as the backup area 11a, and a DRAM or the like is used as the execution area 11b.
[0020]
The collation between the device-side identification means 2 of the system program 12 and the identification means 1 of the application software 20 as described above is represented by a conceptual diagram as shown in FIGS. 2 (a) and 2 (b), for example.
[0021]
The system program 12A provided in the electronic device 10 shown in FIG. 2A is provided with device-side identification means 2A that protrudes substantially in a triangular shape, and the application software 20A that is legally incorporated in the electronic device 10 includes An identification means 1A, which is recessed in a substantially triangular shape so as to be fitted with the device side identification means 2A of the system program 12A, is provided.
[0022]
The system program 12A collates the device-side identification means 2A with the identification means 1A of the application software 20A, and determines that the application software 20A is properly incorporated as a match if fitted. Then, the execution of the application software 20A by the CPU 13 is permitted.
[0023]
On the other hand, the system program 12B provided in the electronic device 10 shown in FIG. 2B and the application software 20B that is legally incorporated are also substantially rectangular in the system program 12B, like the system program 12A and the application software 20A. The application software 20B is provided with an identification means 1B recessed in a substantially rectangular shape that fits with the apparatus side identification means 2B of the system program 12B.
[0024]
For example, when the application software 20B is incorporated in the electronic device 10 shown in FIG. 2A and the device-side identification means 2A and the identification means 1B of the application software 20B are collated by the system program 12A, the identification means 2A for each. 1B, the system program 12A determines that the identification means 2A and 1B do not match and that the application software 20B is improperly incorporated, and the CPU 13 uses the application software 20B. Execution is not permitted.
[0025]
Specifically, the device-side identification unit 2 of the system program 12 and the identification unit 1 of the application software 20 that is legitimately incorporated in the electronic device 10 provided with the system program 12 are respectively the same identification, for example, “123456”. Consists of data.
[0026]
Here, the operation of the electronic device 10 until the application software 20 is executed after the power is turned on to the electronic device 10 in which the application software 20 as described above is properly incorporated is simply described based on the flowchart of FIG. Explained.
[0027]
When the electronic device 10 is turned on (S1), first, the CPU 13 moves the system program 12 from the backup area 11a to the execution area 11b and starts it (S2), and the system program 12 starts the peripheral device interface unit 14. At the same time as initialization (S3), the device side identification data 2 ("123456") provided in itself is compared with the identification data 1 ("123456") of the application software 20 (S4). If the system program 12 determines that the device-side identification data 2 and the identification data 1 match and that the application software 20 is legitimately incorporated, the system program 12 permits the execution of the application software 20 by the CPU 13, and the application software 20 Is transferred from the backup area 11a to the execution area 11b (S5), and the application software 20 is executed (S6).
[0028]
However, if the identification data 2 of the incorporated application software 20 is “456123”, for example, the system program 12 determines the device-side identification data 2 (“123456”) and the identification data of the application software 20 in step S4. 1 (“456123”) and determine that the application software 20 is improperly incorporated without matching each other. As a result, the system program 12 does not permit the execution of the application software 20 by the CPU 13, but keeps the application software 20 in the backup area 11a (S7). For example, the embedded application software 20 is improperly incorporated. A warning message is sent from the CPU 13 to inform the user of the presence (S8).
[0029]
  As mentioned aboveThis configuration exampleThen, as in the conventional example, the application software 20 and the electronic device in which the application software 20 is incorporated can be outsourced to the user who owns the development apparatus while the version upgrade of the application software 20 that is properly incorporated can be outsourced. 10 includes identification data 1 and 2 that match each other, and is included only when the device side identification data 2 provided in the electronic device 10 and the identification data 1 of the application software 20 are matched and matched. Since the electronic device 10 is operated in accordance with the application software 20, when the unauthorized application software 20 is incorporated in the electronic device 10, the identification data 1 and the device-side identification data 2 do not match, and the application Seo Order not to operate the electronic device 10 in accordance with the Towea 20, it is possible to prevent unauthorized integration into the electronic device 10 of the application software 20.
[0030]
As a result, for example, there are an inexpensive electronic device 10 and an expensive electronic device 10 each incorporating two types of application software 20 that are different from each other and have a price difference depending on the use. Each time the application software 20 is copied from the device 10 and this application software 20 is illegally reconfigured to an inexpensive electronic device 10, the user is prevented from obtaining the expensive electronic device 10 at a low price as a result. Can do.
[0031]
  AlsoThis configuration exampleThen, since the device-side identification data 2 is provided in the system program 12, the hardware of the electronic device 10 is not individually changed according to the type of the application software 20 that is legally incorporated, and the electronic device 10 The hardware manufacturing process can be unified.
[0032]
  (Reference example 2)
  By the way, the system program 12 is not disclosed and is stored in a ROM or the like used for the backup area 11a by the manufacturer at the time of manufacture, and is provided in the electronic device 10 so that it cannot be changed by the user.
[0033]
However, the application software 20 may be changed by the user, and the user may change the contents of the application software 20 using a commercially available development device to upgrade the application software 20.
[0034]
At this time, even if the source code of the application software 20 is not disclosed from the manufacturer, the user views the identification data 1 from the execution file of the application software 20 stored in the backup area 11a using the development device. Can do.
[0035]
Furthermore, if the development apparatus is used, it is possible to compare and search the device side identification data 2 of the system program 12 stored in the backup area 11a from the identification data 1 of the application software 20, and as a result, the identification data 1 and In some cases, the device-side identification data 2 is identified, and unauthorized application software 20 is incorporated into the electronic device 10.
[0036]
  ThereforeThis configuration exampleThen, the identification data 1 of the application software 20 to be properly incorporated has been converted in advance, and the system program 12 restores the converted identification data 1 of the application software 20 to the original by a predetermined conversion process and collates it.
[0037]
For example, when the device-side identification data 2 and the identification data 1 of the application software 20 that is properly incorporated are each composed of “123456” data, the application software 20 is converted to “456123” by shifting it by three digits in advance. The identification data 1 including the data “is provided.
[0038]
When the electronic device 10 is turned on and the system program 12 is moved to the execution area 11b and started, the system program 12 is stored in the application area stored in the backup area 11a as shown in the flowchart of FIG. The converted identification data 1 (“456123”) of the software 20 is read (S1), and “456123” is shifted by three digits by a predetermined conversion process and returned to “123456” which is the original identification data 1 (S2). Thereafter, the system program 12 collates its own device-side identification data 2 (“123456”) with the identification data 1 (“123456”) returned to the original application software 20 (S3), and they match each other. If it is determined that the application software 20 is properly incorporated, the application software 20 is moved to the execution area 11b as described above, and the execution of the application software 20 by the CPU 13 is permitted (S4).
[0039]
However, if the identification data 1 preliminarily provided in the application software 20 is “345612”, the system program 12 shifts “345612” by three digits in the same conversion process as described above in step S2 to restore the original data. The identification data 1 is returned to “612345”, and the original identification data 1 (“612345”) of the application software 20 is collated with the device-side identification data 2 (“123456”) (S3).
[0040]
At this time, the system program 12 determines that the application software 20 is improperly incorporated because the comparison results do not match, so that the application software 20 is kept in the backup area 11a and the CPU 13 executes the application software 20 It is prohibited (S5).
[0041]
  As mentioned aboveThis configuration exampleThen, even if the user knows the identification data 1 of the application software 20 stored in the backup area 11a of the electronic device 10 using the development device, the identification data 1 of the application software 20 is converted in advance, and the system As a result of the program 12 reverting and collating with a predetermined conversion process, unless the contents of the conversion process are known to the user, the device side identification data 2 in the system program 12 is searched by comparison with the identification data 1. Can be made difficult, and unauthorized incorporation of the application software 20 into the electronic device 10 can be further prevented.
[0042]
For example, the identification data 1A of the application software 20A that is legitimately incorporated in one electronic device 10 provided with the system program 12A is “123456” and is legitimately incorporated in the other electronic device 10 provided with the system program 12B. When the identification data 1B of the application software 20B is “987654”, even if the user can recognize these identification data 1A and 1B, the identification data 1A and 1B can be recognized by the system programs 12A and 12B. Therefore, the application software 20B, 20A of the other electronic device 10 cannot be incorporated into one electronic device 10 provided with the system programs 12A, 12B.
[0043]
  In addition,This configuration exampleThen, when the ROM used as the backup area 11a is taken out and all the contents stored in the ROM, that is, the contents of the conversion processing of the system program 12 and the device side identification data 2 are copied, the unauthorized application software 20 Since it cannot be prevented from being incorporated into the electronic device 10, the ROM is provided so as not to be taken out from the device main body 10 a, and the application software 20 is upgraded to the device main body 10 a by connecting a commercially available development device to the ROM. Is provided to prevent copying of all the contents stored in the ROM. Furthermore, when the ROM is taken out, an illegal act is performed by the user when the ROM is taken out by sticking a seal seal on the device main body 10a so as to leave the ROM as evidence as being taken off or torn. I can clarify what happened.
[0044]
  by the way,This configuration exampleThen, the identification data 1 of the application software 20 has been converted in advance, but the device-side identification data 2 of the system program 12 is changed in advance, and the device-side identification data 2 is returned to the system program 12 to restore the application software. You may make it collate with 20 identification data 1. FIG.
[0045]
  (Embodiment 1)
  The basic configuration in this embodiment isReference example 1Or, in order to be common with 2, common parts are denoted by the same reference numerals, description thereof is omitted, and only the parts that are characteristic of this embodiment will be described in detail.
[0046]
  As shown in FIGS. 5 and 6, the electronic device 10 of the present embodiment includes a contact switching device 15 having a plurality of contacts 15 a... Such as jumper pins and dip switches. ,Reference example 1Alternatively, as in 2, the system program 12 is not provided, and is set according to the open / closed state of the contacts 15a of the contact switching device 15.
[0047]
Such a contact switching device 15 is connected to the CPU 13 via the bus 16, and the CPU 13 accesses the contact switching device 15 by addressing and is set according to the open / closed state of the plurality of contacts 15a. The device side identification data 2 composed of the data string “0” and “1” is recognized.
[0048]
Further, the system program 12 of the present embodiment converts the device identification data 2 including the data strings “0” and “1” set in the contact switching device 15 and recognized by the CPU 13 into decimal data and reads it.
[0049]
  Furthermore, in this embodiment,Reference example 2On the contrary, the device identification data 2 that matches the identification data 1 of the application software 20 that is properly incorporated is converted in advance and set in the contact switching device 15, and the system program 12 executes the converted device identification. Data 2 is restored and collated by a predetermined conversion process.
[0050]
  The operation of the system program 12 is shown in the flowchart of FIG. 4, as shown in the flowchart of FIG.Reference example 2When the identification data 1 of the application software 20 in step S1 is read, the device-side identification data 2 of the contact switch 15 is read as decimal data, and the operation proceeds to step S2. The only difference is that the conversion process performed on the device-side identification data 2 is performed.
[0051]
For example, the system software 12 is “456123” of the identification data 1 of the application software 20 that is properly incorporated, and “123456” of the device side identification data 2 that is converted and set in advance by three digits of the contact switch 15. Are read (S1). Then, the system program 12 shifts “123456” of the device-side identification data 2 by 3 digits and returns it to “456123” of the original device-side identification data 2 (S2). “456123” and “456123” of the device-side identification data 2 returned to the original are collated (S3).
[0052]
As described above, in this embodiment, even when the user knows the identification data 1 of the application software 20 using a commercially available development device, the device-side identification data 2 converted in advance is set in the contact switching device 15. The system program 12 makes it difficult to identify the device-side identification data 2 unless the user knows the contents of the conversion process by reverting to the original by a predetermined conversion process. Unauthorized incorporation into the 20 electronic devices 10 can be further prevented.
[0053]
Further, in this embodiment, even if the ROM used as the backup area 11a is taken out and all the stored contents are copied, the device side identification data 2 is set by the contact switching device 15, so that the device side Without the identification data 2 being known, unauthorized incorporation of the application software 20 into the electronic device can be further prevented.
[0054]
Furthermore, the contact switching device 15 may be configured by a sealed chip. In this case, when the electronic device 10 is manufactured, each contact switching device 15 corresponding to the type of application software 20 that is legally incorporated is provided. Although it must be manufactured and provided in the device main body 10a, unauthorized incorporation of the application software 20 can be reliably prevented.
[0055]
【The invention's effect】
  The invention of claim 1Operate electronic devices according to usageA software protection method for preventing unauthorized incorporation of software into an electronic device having a different function by incorporating application software, wherein the software and the electronic device into which the software is properly incorporated have identification means that match each other. The identification means provided in each electronic device is compared with the identification means of the software installed in the electronic device, and the electronic device operates according to the installed software only when each identification means matches. LetThe software has identification means consisting of data, and the electronic device has a system program for controlling the hardware of the electronic device and a contact opening / closing device having one or more contacts. The identification means consisting of data is set according to the open / close state of the contact, the system program checks the identification means on the electronic device side and the identification means on the application software side, and the contact open / close device is composed of a sealed chip. ingTherefore, when unauthorized software is incorporated into an electronic device, the software identification means and the electronic device identification means do not match, and the electronic device is not operated in accordance with the incorporated software. Unauthorized incorporation into equipment can be prevented, for example, there are inexpensive electronic equipment and expensive electronic equipment in which two types of software differing in price from each other depending on the application are incorporated separately. Every time a user copies software from an expensive electronic device and illegally rearranges this software into an inexpensive electronic device, the user is prevented from getting an expensive electronic device at a low price as a result. There is an effect that can be done.Even when the entire contents of the system program are copied by the user, the identification means of the electronic device is not copied because it is set according to the open / close state of the contact, and the contact switching device is further sealed. By using a simple chip, illegal installation of software can be surely prevented.
[0056]
According to the invention of claim 2, at least a part of one of the matching means provided in each of the software and the electronic device in which the software is properly incorporated is changed at least partially, and the one of the changed identifications is changed when collating Even if one of the identification means provided in each of the software and the electronic device in which the software is properly incorporated is grasped by the user, since the verification is performed after the means is restored by a predetermined change process, When one of the identification means is changed and restored by a predetermined change process when collating, it is difficult to identify the other identification means unless the user knows the contents of the change process. Thus, it is possible to further prevent unauthorized incorporation of software into electronic devices.
[0059]
  Claim 3The invention ofOperate electronic devices according to usageAn electronic device having different functions by incorporating application software, which is provided in processing means that executes the embedded software and performs processing in accordance with the application according to the software, and that is properly installed in the software TheDataA device-side identification unit that matches the identification unit, a device-side identification unit and a built-in software identification unit that collate, and a matching unit that permits execution by the built-in software processing unit only when they match.A contact switching device comprising one or a plurality of contacts, in which device-side identification means consisting of data is set according to the contact open / close state;WithThe collating means is a system program for controlling the hardware of the electronic device, and the contact switching device is composed of a sealed chip.Therefore, when unauthorized software is incorporated into an electronic device, the software identification means and the device-side identification means are collated by the collation means, and as a result of not matching each other, the execution of the software by the processing means is not permitted, It is possible to prevent illegal incorporation of software into an electronic device. For example, an inexpensive electronic device and an expensive electronic device each having two types of software that are different from each other and have a price difference depending on the application. If a user copies software from an expensive electronic device and improperly rearranges this software into an inexpensive electronic device, the user can obtain an expensive electronic device at a low price. There is an effect that you can do every prevention.Even when the entire contents of the system program are copied by the user, the identification means of the electronic device is not copied because it is set according to the open / close state of the contact, and the contact switching device is further sealed. By using a simple chip, illegal installation of software can be surely prevented.
[0062]
  Claim 4The invention ofOne of the software identification means properly incorporated and the device-side identification means that matches the identification means is at least partially changed, and the collation means restores the changed one identification means by a predetermined change process. Therefore, even if one of the software identification means and the device-side identification means properly incorporated is recognized by the user, one of the identification means is changed and the verification means is verified. When it is done, it is made difficult to find out the other identification means unless the user knows the contents of the change process of the collating means by returning to the original by a predetermined changing process.There is an effect that unauthorized incorporation can be further prevented.
[Brief description of the drawings]
[Figure 1]Reference example 1It is a schematic block diagram of the electronic device which shows this.
FIGS. 2A and 2B are conceptual diagrams for explanation.
FIG. 3 is a flowchart for explaining the operation.
[Fig. 4]Reference example 2FIG. 10 is a flowchart for explaining the operation of the system program.
[Figure 5]Embodiment 1It is a schematic block diagram of the electronic device which shows this.
FIG. 6 is a schematic configuration diagram showing the CPU and the contact switching device.
FIG. 7 is a flowchart for explaining the operation of the system program.
[Explanation of symbols]
  1 Identification data
  2 Device side identification data
  10 Electronic equipment
  10a Device body
  10b Peripheral equipment
  11 memory
  11a Backup area
  11b execution area
  12 System program
  13 CPU
  14 Peripheral device interface
  20 Application software

Claims (4)

用途に応じて電子機器を動作させるアプリケーションソフトウェアを組み込むことによって異なった機能を有する電子機器へのソフトウェアの不正な組み込みを防止するソフトウェアの保護方法であって、ソフトウェアおよび当該ソフトウェアが正当に組み込まれる電子機器に、互いに合致する識別手段をそれぞれ備え、電子機器に備えられた識別手段と、電子機器に組み込まれたソフトウェアの識別手段とを照合し、それぞれの識別手段が合致したときにのみ、組み込まれたソフトウェアに応じて電子機器を動作させ、ソフトウェアは、データからなる識別手段を有し、電子機器には、電子機器のハードウェアを制御するシステムプログラムが組み込まれるとともに、1乃至複数個の接点を具備する接点開閉装置が設けられており、接点の開閉状態に応じてデータからなる識別手段が設定され、システムプログラムが電子機器側の識別手段とアプリケーションソフトウェア側の識別手段とを照合し、接点開閉装置は封止されたチップで構成されていることを特徴とする電子機器組み込みソフトウェアの保護方法。A software protection method for preventing unauthorized incorporation of software into an electronic device having a different function by incorporating application software that operates the electronic device according to the application, and the electronic device in which the software is properly incorporated Each device has identification means that match each other. The identification means provided in the electronic device is compared with the software identification means installed in the electronic device. operating the electronic device in accordance with the software, the software has an identification means composed of the data, the electronic equipment, with the system program is incorporated to control the hardware of the electronic device, one to a plurality of contacts A contact opening / closing device comprising: Is set identification means consisting of data in accordance with the closed state, that the system program checks the identification means identifying means and application software side of the electronic device side, contact switching device that consists of a sealed tip An electronic device embedded software protection method characterized by the above. ソフトウェアおよび当該ソフトウェアが正当に組み込まれる電子機器のそれぞれに備えられた互いに合致する識別手段のうち一方を、少なくとも一部変更し、照合するときには変更された前記一方の識別手段を所定の変更処理により元に戻した後に照合することを特徴とする請求項1記載の電子機器組み込みソフトウェアの保護方法。  At least a part of one of the matching means provided in each of the software and the electronic device into which the software is properly incorporated is changed at least partially, and when the collation is performed, the changed one identification means is subjected to a predetermined change process. 2. The method for protecting software embedded in electronic equipment according to claim 1, wherein collation is performed after the restoration. 用途に応じて電子機器を動作させるアプリケーションソフトウェアを組み込むことによって異なった機能を有する電子機器であって、組み込まれたソフトウェアを実行し、当該ソフトウェアに応じて用途に則した処理を行う処理手段と、正当に組み込まれたソフトウェアに設けられたデータからなる識別手段と合致する機器側識別手段と、機器側識別手段と組み込まれたソフトウェアの識別手段とを照合し、合致したときにのみ組み込まれたソフトウェアの処理手段による実行を許可する照合手段と、1乃至複数の接点を具備して、接点の開閉状態に応じてデータからなる機器側識別手段が設定される接点開閉装置とを備え、照合手段は、電子機器のハードウェアを制御するシステムプログラムであって、接点開閉装置は封止されたチップで構成されていることを特徴とする電子機器。 A processing unit that has different functions by incorporating application software that operates the electronic device according to the application, executes the embedded software, and performs processing according to the application according to the software; Software that is installed only when the device-side identification means that matches the identification means that consists of data provided in legitimately installed software matches the device-side identification means and the identification means of the installed software. the collating means for permitting the execution by the processing means, 1 comprises a plurality of contacts, and a contact switching device device-side identification means is set consisting of data in accordance with the opening and closing state of the contact, collation means is a system program for controlling the hardware of the electronic device, the contact switching device is a sealed tip Electronic apparatus, characterized by being made. 正当に組み込まれたソフトウェアの識別手段および前記識別手段と合致する機器側識別手段のうち一方は、少なくとも一部変更され、照合手段は、変更された前記一方の識別手段を所定の変更処理により元に戻して照合することを特徴とする請求項3記載の電子機器。  One of the software identification means properly incorporated and the device-side identification means that matches the identification means is at least partially changed, and the collation means restores the changed one identification means by a predetermined change process. 4. The electronic device according to claim 3, wherein the collation is performed by returning to step (b).
JP2000207584A 2000-07-07 2000-07-07 Electronic device embedded software protection method and electronic device Expired - Fee Related JP4681105B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000207584A JP4681105B2 (en) 2000-07-07 2000-07-07 Electronic device embedded software protection method and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000207584A JP4681105B2 (en) 2000-07-07 2000-07-07 Electronic device embedded software protection method and electronic device

Publications (2)

Publication Number Publication Date
JP2002023876A JP2002023876A (en) 2002-01-25
JP4681105B2 true JP4681105B2 (en) 2011-05-11

Family

ID=18704327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000207584A Expired - Fee Related JP4681105B2 (en) 2000-07-07 2000-07-07 Electronic device embedded software protection method and electronic device

Country Status (1)

Country Link
JP (1) JP4681105B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454169B2 (en) * 2002-05-08 2008-11-18 Mediatek Inc. Method and apparatus for use in securing an electronic device such as a cell phone
US8041957B2 (en) 2003-04-08 2011-10-18 Qualcomm Incorporated Associating software with hardware using cryptography
US7921303B2 (en) 2005-11-18 2011-04-05 Qualcomm Incorporated Mobile security system and method
JP5786386B2 (en) * 2011-03-15 2015-09-30 オムロン株式会社 Programmable controller system, tool device, tool program and recording medium, and programmable controller

Also Published As

Publication number Publication date
JP2002023876A (en) 2002-01-25

Similar Documents

Publication Publication Date Title
US8762782B2 (en) Basic input-output system circuit and method for using the same
US20040070920A1 (en) Personal computer
JPH029232A (en) Data input device
US7174549B2 (en) Computer system and method for storing product keys thereof
JPH0520775B2 (en)
JP4681105B2 (en) Electronic device embedded software protection method and electronic device
US20080178275A1 (en) Method For Locking Computer And Device For The Same
TW556084B (en) Data processing device
JPH11102296A (en) Device and method for control
CN1940887A (en) Method and apparatus for master-controlled applied programm of self-repairing built-in equipment
JP2004200296A (en) System for preventing erroneous mounting of electronic component
KR101498840B1 (en) Information processing device
US20100225953A1 (en) Method and assembly for releasing and configuring specific system operations of a printer or photocopier
US7010680B2 (en) ROM writer has switching device for switching between external start-up ROM and data ROM to update control program in built-in writable ROM
US20060248393A1 (en) Electronic apparatus
US20060155978A1 (en) Method for initialising programmable systems
JP2001236132A (en) Method and program for providing tamper resistance
KR20040097435A (en) Software unlawfulness reproduction preventing device using universal serial bus portable storing device and preventing method thereof
JPH1024148A (en) Chip collator
JP2008293468A (en) Method for manufacturing motherboard
JP2019105940A (en) Storage control device and storage control method
JP2989705B2 (en) Download program protection method
EP1513039B1 (en) Transfer of security data between two memories
JP2000347853A (en) Device and method for copy guard
CN100409142C (en) Apparatus and method for recovering computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090223

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090302

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090327

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100618

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees