通信制御装置
【課題】優位性のある制御プログラムを、第三者が安直に盗み出すことができないようにした。
【解決手段】初期化プログラム・メモリ111と、制御プログラム・メモリ112を設ける。初期化プログラム・メモリ111は、マイクロプロセッサ部100のアドレス・バス101とデーターバス102に直結され、制御プログラム・メモリ112は、アドレス・ラインをバスに直結せず、間にアドレス変換(スクランブル)回路150を挿入する。このアドレス変換回路150を用いると、制御プログラム・メモリ112に予め外部の書き込み機でデータを書き込んだデバイスに置き換えても、マイクロプロセッサ部100は、書き込まれたプログラムを正常に実行することはできない。これは、マイクロプロセッサ部100が与えるアドレス情報が、アドレス変換回路150によってスクランブルされ、所望する正しいデータを読み出すことができないからである。
【解決手段】初期化プログラム・メモリ111と、制御プログラム・メモリ112を設ける。初期化プログラム・メモリ111は、マイクロプロセッサ部100のアドレス・バス101とデーターバス102に直結され、制御プログラム・メモリ112は、アドレス・ラインをバスに直結せず、間にアドレス変換(スクランブル)回路150を挿入する。このアドレス変換回路150を用いると、制御プログラム・メモリ112に予め外部の書き込み機でデータを書き込んだデバイスに置き換えても、マイクロプロセッサ部100は、書き込まれたプログラムを正常に実行することはできない。これは、マイクロプロセッサ部100が与えるアドレス情報が、アドレス変換回路150によってスクランブルされ、所望する正しいデータを読み出すことができないからである。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マイクロプロセッサを内蔵し、そのプログラムによって、制御機能を実現する通信制御機器のプログラム機密保持のための通信制御装置に関するものである。
【背景技術】
【0002】
現在、マイクロプロセッサを使用し、そのプログラムの実行によって、制御機能を行う通信制御装置では、その装置特有の制御機能をソフトウェアによって実現している。また、一般にそのソフトウェア(プログラム)は、マイクロプロセッサの信号バスに接続された不揮発のメモリ(フラッシュROMなど)に格納されていて、装置の電源投入によって、その不揮発メモリからプログラムの読み出しを行なって制御動作を行うことが普通である。
【0003】
上述のように、マイクロプロセッサによって制御機能を行う通信制御装置では、その装置特有の制御機能をソフトウェアの実行によって実現しているが、その技術の核となるソフトウェア(プログラム)は、マイクロプロセッサのバスに接続されたデバイス、例えば、Flash ROM等、装置内の不揮発メモリに格納されるのが普通である。
【0004】
図18に、従来の一般的な通信制御装置の構成を示す。図18において、100は、通信制御装置の制御を司るマイクロプロセッサ部で、101は、そのマイクロプロセッサ部100のアドレス・バス、102は、そのデータ・バスを示す。また、110は、制御用のソフトウェア(プログラム)を予め格納してあるプログラム・メモリであり、通常、不揮発性のメモリ(フラッシュROM:Flash Read On1y Memory)で実現される。120は、プログラム実行上のワーク・メモリであり、通常、RAM(Random Access Memory)で実現される。
【0005】
更に、130は、その通信制御機器の制御対象となる通信インタフェース(I/F)回路であり、200はその通信回線を示している。
【0006】
上記従来の通信制御装置では、マイクロプロセッサ部100が、バス101と102を用いて、プログラム・メモリ110上に格納されたソフトウェア(プログラム)に従い、ワークメモリ120を使用しながら、通信インタフェース130を制御して、通信回線200との間のデータの授受を行っている。
【0007】
また、プログラム・メモリ110上に格納されるソフトウェア(プログラム)は、図19に示すように、初期化プログラム111(IPL:Initial Program Loaderと呼ぶ場合がある)部分と、制御プログラム112本体部分とに分けられる。
【0008】
この通信制御装置で使用されるソフトウェアの内、初期化プログラム111は装置の完成時に必ず書き込まれていなければならないが、制御プログラム112は、予め書き込んで置くこともできるし、また、メインテナンス通信インタフェース(I/F)140を介して、プログラム開発装置(パソコンなど)300からダウンロードをして後から書き込むこともできる。特に、後者の場合、そのダウンロードと書き込みのプログラムが初期化プログラム111内に格納されるのが普通である。
【特許文献1】特開2005−346172号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
各社が提供する通信制御装置では、その装置独特の優位な機能を実現するプログラムを、前記制御プログラム112本体内に実装することが一般的である。しかし、この優位性のあるプログラムは、供給メーカにとって重要な資産であって、機密事項である。つまり、このプログラムの内容が容易に、外部に盗み出されることの無いようにすることが求められている。
【0010】
一般的に、図18に示す通信制御装置のハードウェアは、プリント基板(PCB)という形で実現されており、制御プログラム112が格納されたプログラム・メモリ110(不揮発メモリであり、以下Flash ROMであることを想定する)も部品単位で、このプリント基板上に半田付けされて搭載されていて、安直に取り外すことはできないが、悪意ある者がこの半田付けを外し、Flsah ROMメモリデバイスを取り外して、このデバイスに格納されたデータ(プログラム)を読み出すことは不可能ではない。
【0011】
また、一旦このメモリに搭載されているデータが読み出されれば、逆コンパイルによって、機密事項とされる制御プログラムを解読することが可能となる虞がある。
【0012】
折角、オリジナルで優位性のあるプログラムを製作しても、このような悪意ある行為によって、それを盗まれて海賊版を安価に製造販売されてしまうという問題も発生している。
【0013】
本発明は、上記の事情に鑑みてなされたもので、優位性のある制御プログラムを、第三者が安直に盗み出すことができないように構成した通信制御装置を提供することを課題とする。
【課題を解決するための手段】
【0014】
上記の課題を達成するために、第1発明は、マイクロプロセッサと、制御用ソフトウェア(プログラム)を格納するプログラム・メモリと、プログラム実行上のワークメモリとを有し、マイクロプロセッサがプログラム・メモリ上に格納されたソフトウェア(プログラム)に従い、ワークメモリを使用しながら、通信インタフェースを制御して通信回線との間でデータの授受を行う通信制御装置において、
前記通信制御装置の機器本体内部に筐体分解検出手段を設け、その機器本体を構成する筐体が分解されたことを電気信号の有無として判断し、その検出手段が電気信号有りの状態のときに、前記プログラム・メモリに制御プログラムを書き込んで、装置を使用する一方、その検出手段が、電気信号無しの状態のときに、筐体が分解されたと判断して、装置が立ち上げられた場合には、前記制御プログラムの一部または全部を消去するように、立ち上げプログラムを作成し、その制御プログラムを自ら消去することを特徴とするものである。
【0015】
第2発明は、前記筐体分解検出手段が、物理的電気回路接断手段から構成されることを特徴とするものである。
【0016】
第3発明は、前記物理的電気回路接断手段が、スイッチ機構による電気回路のオン・オフ手段、あるいは制御基板上のランドパターンと、ねじ、ボスによる物理的電気回路接離による電気回路のオン・オフ手段からなることを特徴とするものである。
【0017】
第4発明は、マイクロプロセッサと、制御用ソフトウェア(プログラム)を格納するプログラム・メモリと、プログラム実行上のワークメモリとを有し、マイクロプロセッサがプログラム・メモリ上に格納されたソフトウェア(プログラム)に従い、ワークメモリを使用しながら、通信インタフェースを制御して通信回線との間でデータの授受を行う通信制御装置において、
(a)前記マイクロプロセッサが実行するプログラムの格納領域(デバイス)を、初期化プログラム・メモリと制御プログラム・メモリとに分割する手段と、
(b)前記初期化プログラム・メモリ(Flash ROM)は、マイクロプロセッサのアドレス・バスに直結し、制御プログラム・メモリ(Flash ROM)は、アドレス・ラインをバスに直結せず、バスとの間にアドレス変換(スクランブル)回路を挿入し、マイクロプロセッサから与えられるアドレスをスクランブルに入れ替えて接続する手段と、
(c)前記マイクロプロセッサが初期化プログラムを実行して立ち上がった後に、メインテナンス用通信インタフェースを介して外部から制御プログラムをダウンロードして、前記制御プログラム・メモリにそのプログラムを書き込んで、制御動作させる手段とを有し、
前記ソフトウェア(プログラム)の実行によって、制御機能を実現するとともに、前記ソフトウェア(プログラム)が外部に盗み出されることを防いで、前記ソフトウェア(プログラム)の機密保持を実現するようにしたことを特徴とするものである。
【0018】
そして、第4発明では、上記のような手段を通信制御装置に搭載して、制御プログラム・メモリにプログラムを書き込むことが特徴である。このような構成によって、この通信制御装置は、稼動時、全く通常の装置と同じ機能を持ち、同じ動作をするが、休止時、この装置が盗難に遭遇しても、その制御プログラム・メモリ(Flash ROM)を取り外して、外部からそのソフトウェア(プログラム)を読み出そうとしても、アドレスがスクランブルに入れ替えてあるので、データが「ごちゃごちゃ」になっていて正しく読み出せないことから、プログラムの読み出しを防ぐことができるようになる。
【0019】
第5発明は、上記(a)〜(c)の手段の他に、(b)の手段で挿入したアドレス変換(スクランブル)回路に数多くのスクランブルパターンを用意しておいて、その内の一つを選択するためのキーコードを入力できる手段を設けるように構成し、
そのキーコード入力手段を、キーコード入力回路を介して、外部のキーカードから入力して動作させる手段を設けたことを特徴とするものである。
【0020】
更に、このような手段を設けることにより、装置が盗難に遭遇した場合にも、プログラムを読み出せなくするという他に、通常の稼動時に、キーカードを有した正当な利用者以外には装置が使用できないというセキュリティ機能が実現できる。
【0021】
第6発明は、装置にUSBインタフェース機能と、キーコードレジスタを設け、キーコードレジスタにセットした値をアドレス変換回路に与えるように構成し、
装置が初期化プログラムを実行して立ち上がった後に、USBインターフェースを使用して接続されたUSBデバイスから、キーコード・データを読み出して、この値をキーコード・レジスタにセットし、この値をアドレス変換回路に与えることによって、数多く用意されたスクランブルパターンの中から所望の一つを選択し、その後メインテナンス用通信インタフェースを介して外部から制御プログラムをダウンロードして、前記制御プログラム・メモリにそのプログラムを書き込んで、制御動作させるようにすることを特徴とするものである。
【0022】
このような手段により、装置が盗難に遭遇したとしても、プログラムを読み出せなくするという他に、通常の稼動時に、正当なUSBデバイスを有した正当な利用者以外には装置が使用できないというセキュリティ機能も実現できる。
【0023】
第7発明は、前記筐体分解検出手段の検出信号をアドレス変換回路に入力し、その検出手段が、検出信号をアドレス変換回路に入力しなくなったとき、筐体が分解されたとして、アドレス変換回路のスクランブルパターンを切り替えるようにしたことを特徴とするものである。
【0024】
第8発明は、筐体分解検出手段の検出信号をキーコード入力回路に入力し、その検出手段が、検出信号をキーコード入力回路に入力しなくなったとき、筐体が分解されたとして、アドレス変換回路のスクランブルパターンを切り替えるためのキーコードを変更することを特徴とするものである。
【0025】
第9発明は、アドレス変換(スクランブル)回路のスクランブルパターン選択をするキーコードを、揮発性のSRAMによって実現されるキーコード・レジスタから与え、このSRAMによるキーコード・レジスタは、バッテリによってバックアップするかどうかを、筐体分解検出手段からの検出信号の有無の状態によって切り替えるよう構成し、装置内には乱数発生回路を設け、初期段階での制御プログラムのダウンロードと制御プログラムメモリヘの書き込みに先立って、筐体を含んだ装置の組み立てを完成させて置き、乱数発生回路から発生させたランダムな値を、SRAMによるキーコードレジスタにセットし、その後にプログラムの書き込みを行うようにすることによって、アドレス変換(スクランブル)回路のスクランブルパターンを切り替えるためのキーコードを格納しているキーコード・レジスタの内容が、前記検出信号の無のときに、バッテリ・バックアップが切断して消滅してしまうことを特徴とするものである。
【0026】
第10発明は、前記筐体分解検出手段を実現するための機構として、筐体と制御基板取り付け用のボスが共に導電性がある場合、
「1」前記制御基板上の取り付け孔部分に、抵抗を介して電源レベル(Vccレベル)にプルアップされた筐体分解検出信号端と接続されたランドパターンを設け、
「2」筐体とボスは信号グラウンドに接地し、制御基板をねじで筐体に取り付けた場合には、筐体分解検出信号レベルが「論理L」、制御基板が筐体から取り外された場合には、この信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする。
【0027】
第11発明は、前記筐体分解検出手段を実現するための機構として、筐体と制御基板取り付け用のボスが共に絶縁体である場合、
「1」制御基板上の取り付け孔部分を囲むように、分割された2つのランドパターンを設け、
「2」その一方のパターンは、抵抗を介して電源レベル(Vccレベル)にプルアップされた筐体分解検出信号端と接続し、
「3」もう一方のランドパターンは信号グラウンドに接地(接続)し、
「4」取り付けねじで制御基板を筐体に固定する際には、このねじに導電性のワッシャを挿入することで、制御基板をねじで筐体に取り付けた場合には、これら2つのランドパターンが電気的に短絡して筐体分解検出信号レベルが「論理L」、制御基板が筐体から取り外された場合には、この2つのランドパターンが開放状態になってこの信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする。
【0028】
第12発明は、前記筐体分解検出手段を実現するための機構として、筐体が絶縁体、制御基板取り付け用のボスが導電体である場合、
「1」制御基板上の取り付け孔部分に、抵抗を介して電源レベル(Vccレベル)にプルアップされた筐体分解検出信号端と接続されたランドパターンを設け、
「2」制御基板上、上記ランドパターンの反対面(基板の裏面側)に、もう1つのランドパターンを設けると共に、
「3」この裏面(反対面)側のランドパターンは、信号グラウンドに接地し、制御基板をねじで筐体に取り付けた場合には、基板表面側のランドパターンが導電体ねじと導電体のボスを介して裏面側のランドパターンと電気的に接続状態となって筐体分解検出信号レベルが「論理L」となり、制御基板が筐体から取り外された場合には、この接続が切断されることによって、この信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする。
【発明の効果】
【0029】
本発明によれば、機器本体内部に、その本体を構成する筐体が分解されたことを電気信号の有無から判断する筐体分解検出手段を設け、この手段で電気信号が無いと判断されたとき、筐体が分解されたと判断して、通信制御装置の正常な動作を行えなくするようにして、優位性のある制御プログラムを、積極的に消去して第三者によってその制御プログラムが安直に盗み出せないようにした。
【0030】
筐体分解検出手段にはスイッチ機構や、制御基板と筐体とを組み合わせて、ランドパターン、ねじ、ボスによる電気回路接離手段を用いて装置を組み立ててスイッチ機構の一部に置き換える構成にしても良い。
【0031】
また、本発明によれば、装置内の制御プログラム・メモリのアドレスラインにアドレス変換(スクランブル)回路を挿入することによって、この装置内で書き込まれたデータは、これを分解して、制御プログラム・メモリを取り外し、その内容(プログラム)を不正に読み出そうとしてもデータを正しく読み出すことはできなくなる効果を持っている。これは、「スクランブルされて与えられたアドレス」を用いて書き込まれたデータは、「スクランブルされていない正常なアドレス」で読み出しても、正しいデータが得られないからである。これによって、本発明は、機密保持ができるようになる
また、本発明によれば、この装置が不使用中で、キーカードまたはUSBデバイスが実装されていない状態で盗まれた場合、この装置を第三者が悪意を持って分解し、制御プログラム・メモリを取り外して、その内容(プログラム)を不正に読み出そうとしても、この書き込まれたデータを正しく読み出すことはできないという利点がある。これは、アドレス変換(スクランブル)回路も取り外して、このスクランブル回路の結線まで解読をしようとしても、これらの場合は、アドレス変換(スクランブル)回路に与えられるキーコードが消えているために、そのスクランブルパターンの内どれを使用していたのかを判定することができなくなり、そのため、正しいデータを読み出すことは、まず不可能となる。これによっても、本発明の機密保持は実現される。
【0032】
また、本発明によれば、キーコード入力機構を備えることは、盗難時のプログラム不正コピーを防ぐだけでなく、通常の運用時にも、正しいキーコードを持たない人間による装置の不正使用を防ぐことに役立つ。つまり、正しいキーコードを与えない限り、利用しているスクランブルパターンが一致しないため、この装置自体が、正しい制御プログラムを実行できず、装置が正しく動作しないことになる。その意味でもこの機構によって、セキュリティが確保されるという利点を有する。この利点は上記と同等である。
【0033】
また、本発明によれば、このプログラム保護の方式を更に発展させ、当該の通信装置が分解されたことを検出するための筐体分解検出手段部分を加え、この手段を用いたプログラム保護のセキュリティ機能を付加することにより、装置が分解されているか完成状態かを検出し、装置が分解された状態では、正常な制御動作を行えなくするようにし、また、装置が分解されると、自らの設定状態やプログラムを積極的に消去して、その内容の流出を防ぐことができる。
【0034】
また、本発明によれば、筐体分解検出手段部分を、制御基板と筐体とを組み合わせて、装置を組み立てるための機構の一部に置き換えることにより、スイッチ部品を省略することによって、装置をより安価に実現した上、更に基板を筐体から取り外した場合に、正常動作をロックする機構やその動作を外部からより分かりにくくするという効果を得る。
【発明を実施するための最良の形態】
【0035】
以下本発明の実施の形態を図面に基づいて説明するに当り、一般的な通信制御装置について述べる。一般的な通信制御装置では、マイクロプロセッサによるソフトウェア(プログラム)の実行により、その通信制御を司っているのが普通であるが、このプログラムは、通常、装置のハードウェアとして不揮発性のROM(Flash ROM等のデバイス)に書き込んで実現されている。このFlash ROM等のデバイスは、第三者が悪意を持って取り外せば外部からデータを盗み出すことができるため、折角、オリジナルで優位性のあるプログラムを製作しても、このような行為によって、それが盗まれ、海賊版が安価に製造販売されてしまうという問題も発生している。そこで、以下のような実施の形態でプログラムが読み出せないように対処するようにした。
【0036】
[実施の形態1]
図1に、本発明による制御プログラムの盗難防止機構を備えた構成図を示す。図1では、図18に於けるプログラム・メモリ110(Flash ROM)部分を、図19に示すような2つの領域に分割した初期化プログラム・メモリ111と、制御プログラム・メモリ112に構成し、これらメモリ111,112は、それぞれ別々のF1ash ROMデバイスにて実現する。
【0037】
初期化プログラム・メモリ111は、マイクロプロセッサ部100のアドレス・バス101とデーターバス102に直結されるが、制御プログラム・メモリ112は、アドレス・ラインをバスに直結せず、間にアドレス変換(スクランブル)回路150を挿入している。
【0038】
このアドレス変換(スクランブル)回路150を設けることが、図18との違いであり、その他の部分については、図18と同等の機能を有している。
【0039】
図1のアドレス変換(スクランブル)回路150は、本発明の核となる回路であり、その動作の概要を図2にて説明する。
【0040】
図2に於いて、制御プログラム・メモリ112とアドレス変換(スクランブル)回路150は、図1の同部位を詳細に示したものである。
【0041】
制御プログラム・メモリ112を構成するFlash ROMは、A0からAnの(n+1)本のアドレス信号ラインを持っているものとする。一般的には、このアドレス・ラインには、同じ番号のアドレス・バス・ラインが接続されるのが普通であり、図18の構成の場合には、A0端子にはバスのA0信号が、A1端子にはバスのA1信号がというように順序よく接続される。
【0042】
ところが、図2に示すアドレス変換(スクランブル)回路150には、アドレス・バスから入力された(n+1)本のアドレス信号ラインを、制御プログラム・メモリ112のFlash ROM側に出力する際に、その接続をスクランブル(ごちゃまぜ)するという機能を持たせている。
【0043】
例えば、この例では、制御プログラム・メモリ112のFlash ROMのA0端子にはバスのAn−1信号が、An端子にはバスのA4信号が接続されるという条件を作り出している。(図2の例はあくまで1つの例であって、アドレスがスクランブルされていれば、どの番号のラインがどのアドレス端子に接続されていても構わない。)
このアドレス変換(スクランブル)回路150は、物理的な配線をクロスするワイアード・ロジツクでも良いし、PLD(プログラマブル論理デバイス)などを利用しても構成することができる。
【0044】
この様な機構を用いた回路構成では、制御プログラム・メモリ112に予め外部のFlash ROM書き込み機でデータを書き込んだデバイスを実装しても、マイクロプロセッサ部100は、この書き込まれたプログラムを正常に実行することはできない。これは、マイクロプロセッサ部100が与えるアドレス情報が、アドレス変換回路150によってスクランブルされ、制御プログラム・メモリ112のFlash ROMにそのまま伝えられないためで、所望する正しいデータを読み出すことができないからである。
【0045】
ところが、この装置では、初期化プログラム・メモリ111は、正しくアドレス・バス101に接続されているため、このメモリ111内に、書き込まれたプログラムは正しく実行される。そこで、この初期化プログラム・メモリ111上に、メインテナンス用通信I/F140を介して、外部の開発装置300などから、制御プログラムをダウンロードし、このデータを制御プログラム・メモリ112に書き込むためのプログラムを用意しておけば、この処理を行うことによって、実行すべき制御プログラムを、制御プログラム・メモリ112上にセットすることができる。
【0046】
この方法で制御プログラム・メモリ112上に書き込まれたプログラムは、マイクロプロセッサ部100が正しく読み出すことができ、正しく実行することができる。
【0047】
これは、「スクランブルされて与えられたアドレス」を用いて書き込まれたデータを、「スクランブルされて与えられた同じアドレス」で読み出せば、正しいデータが得られるからである。
【0048】
以上より、図1の回路構成の通信制御装置では、アドレス変換(スクランブル)回路150を搭載しているが、上述のような手法で、装置の完成後に後からダウンロードして書き込んだソフトウェアは、正常に実行して機能を実現することができる。
【0049】
ところが、この装置が悪意を以って第三者が分解し、制御プログラム・メモリ112を構成するFlash ROMを取り外して、その内容(プログラム)を不正に読み出そうとして、外部のFlash ROMライタ装置(読み出しのできるもの)などを用いてもこの書き込まれたデータを正しく読み出すことはできない。
【0050】
これは、「スクランブルされて与えられたアドレス」を用いて書き込まれたデータを、「スクランブルされていない正常なアドレス」で読み出しても、正しいデータが得られないからである。つまり、対象の機器の中で行われているアドレスのスクランブルの条件が得られない限り、そこから制御プログラム・メモリ112だけを取り外しても、そのプログラム自体を盗み出すことができない。これが、本発明の実現する機密保持のための機能である。
【0051】
[実施の形態2]
上記実施の形態1のように、対象となる通信機器装置内の制御プログラム・メモリ112のアドレス入カラインに、図1に示したアドレス変換(スクランブル)回路150が実装されれば、多くの場合に於いて、そのメモリ・デバイスが取り外されたとしても、その内部のデータの盗難を防止することができると思われるが、悪意ある第三者が更に深く追求して、アドレス変換(スクランブル)回路150ごと取り外し、このアドレス変換(スクランブル)回路150の結線まで解読することは全く不可能という訳ではなく、このアドレス変換(スクランブル)回路150の条件を、外部に成立させた上で外部のF1ash ROMライタ装置(読み出しのできるもの)などを用いれば、正しくソフトウェア(プログラム)のデータを読み出すことが出来てしまう惧れがある。
【0052】
そこで、実施の形態2では、アドレス変換(スクランブル)回路150のスクランブル条件(結線状態)を多数のパターン用意し、実際に正当にその装置を使用する者以外には、それら多数のパターンの内の、どのスクランブル条件が利用されたのかが分からなくするための手段を提供する。
【0053】
図3に、本発明の実施の形態2による、制御プログラムの盗難防止機構の構成図を示す。図3では、図1で示した実施の形態1の構成に加えて、キーコード入力回路160と、それに接続されるキーカード400が追加されている。また、アドレス変換(スクランブル)回路150には、キーコード入力回路160を介して入力されたキーコード入力信号が追加されている。
【0054】
この例では、アドレス変換(スクランブル)回路150は、前記実施の形態1の場合のように単一のスクランブル条件だけではなく、上述の説明のように多数のスクランブル条件の内の一つを選択することができるように構成する。つまり、アドレス変換回路150に入カされるキーコード信号の状態によって、多数のスクランブル条件の内から特定の1つの条件が選択されるように構成しておく。
【0055】
キーカード400は、その名の通り、この対象となる通信制御装置の動作のキーとなるカードで、ある特定のコードパターンをキーコード入力回路160に与えることができるものである。物理的には単純なワイアード・ロジックであっても構わないし、RF回路を用いた特定小電力無線のタグのようなものであっても良い。
【0056】
この実施の形態2の場合には、この特定の通信装置に対して固有のキーコードが与えられた状態で、前記実施の形態1の場合と同じ様に、初期化プログラム・メモリ111上に置かれたプログラムにより、メインテナンス用通信I/F140を介して、外部の開発装置300などから、制御プログラムをダウンロードし、このデータを制御プログラム・メモリ112のFlash ROMに書き込めば良い。この方法で、制御プログラム・メモリ112上に書き込まれたプログラムは、マイクロプロセッサ部100が正しく読み出すことができ、正しく実行することができる。
【0057】
これにより、図3の回路構成の通信制御装置の場合も、アドレス変換(スクランブル)回路150を搭載しているが、上述のような手法で、装置の完成後に後からダウンロードして書き込んだソフトウェアは、正常に実行して機能を実現することができる。
【0058】
一方、この実施の形態2の場合には、この装置が不使用で、キーカード400が実装されていない状態で盗まれた様な場合、この装置が第三者により悪意を持って分解され、制御プログラム・メモリ112を取り外して、その内容(プログラム)を不正に読み出そうとしても、この書き込まれたデータを正しく読み出すことはできない。
【0059】
当初の懸念のように、悪意ある第三者が更に深く追求をし、アドレス変換(スクランブル)回路150も取り外して、このアドレス変換(スクランブル)回路150の結線まで解読をしようとしても、この実施の形態2の場合は、そのスクランブルパターンの内どれを使用していたのかを判定することが極めて難しくなるため、正しいデータを読み出すことのできる確率は極めて小さいものになる。
【0060】
結局、対象の機器の中で行われているアドレスのスクランブルの条件が得られることは、まず考えられず、そこから制御プログラム・メモリ112を取り外しても、そのプログラムを盗み出すことはできないと考えて良い。これが、本発明の実施の形態2の実現する機密保持のための機能である。
【0061】
また、このようなキーコード入力回路160の機構を備えることは、盗難時のプログラム不正コピーを防ぐだけでなく、通常の運用時にも、正しいキーコードを持たない人間による装置の不正使用を防ぐことに役立つ。つまり、正しいキーコード400を与えない限り、利用しているスクランブルパターンが一致しないため、この装置自体が、正しい制御プログラムを実行できず、装置が正しく動作しないことになる。その意味でもこの機構によって、セキュリティが確保されるという利点を有している。
【0062】
[実施の形態3]
実施の形態3は、前記実施の形態2を更に発展させたものであり、図3に示す実施の形態に於ける、キーカード400の代わりに、一般的なUSBテバイスを利用するものである。
【0063】
図4は、本発明の実施の形態3による制御プログラムの盗難防止機構の構成図を示す。ここでは、図3の実施の形態2の構成の内、キーコード入力回路160の代わりにUSBインタフェース180と、キーコード・レジスタ170を設けたことである。また、キーカード400の代わりに、USBデバイス185を利用している。
【0064】
実施の形態3の場合も、アドレス変換(スクランブル)回路150には、キーコード・レジスタ170からキーコード入力信号が与えられている。キーコード・レジスタ170には、マイクロプロセッサ部100が任意のコード(データ)を書き込むことができ、このコードがアドレス変換(スクランブル)回路150に与えられることによって、多数用意されたスクランブルパターンの中の一つが選択されるようになっている。
【0065】
この実施の形態3の特徴は、一般的なUSBデバイス185の中に、対象の通信制御装置を利用する上でのキーコードを格納しておき、これをUSBインタフェース回路180に接続することによって、動作させる点である。
【0066】
マイクロプロセッサ部100は、初期化プログラム・メモリ111内のソフトウェアに従って、まずUSBインタフェース回路180に接続されたUSBデバイス185から、予め格納されているキーコードを読み出し、キーコードーレジスタ170にその値をセットする。すると、このコードが与えられたアドレス変換(スクランブル)回路150では、多数のスクランブルパターンの中から一つのパターンを抽出してアドレス変換動作を行う。
【0067】
この状態で、マイクロプロセッサ部100は、初期化プログラム・メモリ111上に置かれたプログラムにより、メインテナンス用通信I/F140を介して、外部の開発装置300などから、制御プログラムをダウンロードし、このデータを制御プログラム・メモリ112に書き込めば良い。この方法で制御プログラム・メモリ112上に書き込まれたプログラムは、マイクロプロセッサ部100が正しく読み出すことができ、正しく実行することができる。
【0068】
これにより、図4の回路構成の通信制御装置の場合も、装置の完成後に、後からダウンロードして書き込んだソフトウェアを正常に実行して機能を実現することができる。
【0069】
尚、この実施の形態3の場合には、この装置が不使用で、USBデバイス185が実装されていない状態で盗まれた場合、この装置が悪意を以って第三者により分解され、制御プログラム・メモリ112を取り外して、その内容(プログラム)を不正に読み出そうとしても、この書き込まれたデータを正しく読み出すことはできない。
【0070】
当初の懸念のように、悪意ある第三者が更に深く追求をし、アドレス変換(スクランブル)回路150も取り外して、このスクランブル回路150の結線まで解読をしようとしても、この実施の形態3の場合は、キーコードレジスタ170の内容が揮発して消えているために、そのスクランブルパターンの内、どれを使用していたのかを判定することができない。そのため、正しいデータを読み出すことは、まず不可能となる。
【0071】
結局、対象の機器の中で行われているアドレスのスクランブルの条件が得られることは、まず考えられず、そこから制御プログラム・メモリ112を取り外しても、そのプログラムを盗み出すことはできない。これが、本発明の実施の形態3の実現する機密保持のための機能である。
【0072】
また、このようなキーコード入力機構を備えることは、盗難時のプログラム不正コピーを防ぐだけでなく、通常の運用時にも、正しいキーコードを持たない人間による装置の不正使用を防ぐことに役立つ。つまり、正しいキーコードを与えない限り、利用しているスクランプルパターンが一致しないため、この装置自体が、正しい制御プログラムを実行できず、装置が正しく動作しないことになる。その意味でもこの機構によって、セキュリティが確保されるという利点を有している。この利点は実施の形態2と同等である。
【0073】
[実施の形態4]
実施の形態4では、基本的なアドレススクランブルによる保護に加えて、装置が分解されたことを検出するための、「筐体分解検出手段(筐体分解検出スイッチ)」を導入し、このスイツチの状態如何(オン・オフ)で装置のプログラムの実行ルーチンや、スクランブル回路網そのもの、更にはスクランブルの回路網を指定するためのキーコード等を変化させることによって、制御プログラム・メモリの内容(プログラム)を盗まれないように保護するものである。
【0074】
実施の形態4において、図5は、上述の「筐体分解検出スイッチ」を備えた筐体の斜視図で、この図5に於いて、500は、今回保護の対象となっている通信制御装置の全体を示す筐体(ケース)本体である。
【0075】
501はその装置のケース本体500の上ケース部材、502はその装置のケース本体500の下ケース部材、そして503は、そのケース本体500内に収められる制御用のプリント配線基板(以下基板と言う)である。
【0076】
通信制御装置のケース本体500は、基板503を、上下ケース部材501と502で覆うことで完成状態とする。図5(a)が完成の状態であり、一方、この装置を分解して上ケース部材501を取り外したところを図5(b)に示す。図5では、基板503(制御回路が搭載されている)上に、マイクロスイッチ510を搭載し、上ケース部材501が被せられた状態で「ON」、上ケース部材501が取り外された状態では「OFF」になる様な位置に設置したことを示している。(この例では分かりやすくするために、最も目立つ位置に設置してあるが、できるだけ分かり難い部分に設置することが望ましい。)このマイクロスイッチ510を「筐体分解検出スイッチ」と呼ぶことにする。
【0077】
次に、実施の形態4を実現する構成図を図6に示す。図6は、図18に示した従来の通信制御装置の構成図に、「筐体分解検出スイッチ」510と、スイッチ状態入力回路600を加えたものである。「筐体分解検出スイッチ」510の状態(スイッチON、OFFの状態)は、スイッチ状態入力回路(DI回路)600を介して、マイクロプロセッサ部100によって、常時読み込むことができるようになっている。例えば、スイッチONのとき、筐体は分解されていないと判断し、スイッチOFFのとき、筐体は分解されたと判断する。
【0078】
この構成は、極めて単純なハードウェアにて実現するものであって、知的財産であるプログラムの保護手法は、そのプログラム自体の中に埋め込まれ、そのプログラムの実行によって実現する。
【0079】
実施の形態4では、マイクロプロセッサ部100は、電源が投入後の装置の立ち上がりシーケンスの中で、スイッチ状態入カ回路600を介して、「筐体分解検出スイッチ」510のON・OFF状態を読み込む。
【0080】
「1」スイッチ状態が「ON」であった場合には、本装置は上ケース部材501が下ケース部材502に嵌められているとき、完成(組立て)状態であると判断し、マイクロプロセッサ部100は、正常なプログラム実行(通信制御装置としての正規の制御動作を実行)を行う。
【0081】
「2」一方、マイクロプロセッサ部100によって、「筐体分解検出スイッチ」510の状態を読み込んだ際に、この状態が「OFF」であった場合には、本装置の上ケース部材501が外されているか、または、完全に分解されていると判断し、マイクロプロセッサ部100は、ノウハウが埋め込まれている通信制御に関わるプログラム部分(プログラムメモリ110のプログラム格納Flash ROM内)を消去するという処理を実行する。
【0082】
プログラムメモリ110に格納されるプログラムのIPL(Initial Program Loader)部分には、上記のような動作を行うプログラムを実装しておく。
【0083】
つまり、実施の形態4による手法を取り込んだ通信制御装置は、筐体を正しく組み立てた完成状態で電源を投入すれば正しい制御動作を行うが、分解された状態で電源が投入されると、自ら制御プログラムを消去し、その内容が外部からコピー(Copy)されることを防止することができる。一旦消去されたプログラムは、自動的には復元されないので、正しく動作させるためにはプログラムの再書き込みが必要となる。この処理は製造者しか行うことはできない。
【0084】
[実施の形態5]
図7は実施の形態5を示す構成図で、この実施の形態5は、「筐体分解検出スイッチ」510を使用したプログラム盗難防止のための手段を示すものである。図7に示す実施の形態5は、図3に示した実施の形態1による通信制御装置の構成に、「筐体分解検出スイッチ」510を加えたものである。
【0085】
上述した実施の形態1に説明した通り、アドレス変換(スクランブル)回路150では、マイクロプロセッサ部100から制御プログラム・メモリ112に与えるアドレスラインをクロス(入れ替え)して、これが取り外されても外部のROMライタ等では正しく読み出せない状態を作ることを特徴としていた。
【0086】
しかし、ここでは、このアドレス変換(スクランブル)回路150の入力に、この「筐体分解検出スイッチ」510のON・OFF状態を加える。アドレス変換(スクランブル)回路150では、複数のスクランブルパターンを用意しておき、「筐体分解検出スイッチ」510の状態(ON・OFF)によって選択されるスクランブルパターンを切り替えるようにして置く。
【0087】
このような機構の下に、この通信制御装置が完全に組み立てられた状態(上ケース部材551も嵌められて、「筐体分解検出スイッチ」510が「ON」の状態)で、メインテナンス用通信1/F140を介して外部から制御プログラムをダウンロードして制御プログラム・メモリ112に書き込めば、この装置は、この完成状態では正しい制御動作を実行できる。
【0088】
一方、一旦この完成状態で正しい制御動作を行うようプログラムの書き込みが行われていても、これが製造者以外の悪意のある第三者によって、分解され、上ケース部材551が取り外されると、「筐体分解検出スイッチ」510の状態が「OFF」に反転し、アドレス変換(スクランブル)回路150内のスクランブルパターンが切り替わる。すると、この状態でこの装置の電源が投入されて立ち上げを行っても、制御プログラムに対しては正しいアドレスが与えられないので、マイクロプロセッサ部100は正しい制御を行うことが出来ずに暴走をする。
【0089】
これによって、この機構を組み込んだ通信制御装置は、分解された状態では、正しい制御動作を行うことはなく、その動作を、計測器等を利用して観測したり、解析することも出来なくなる。これによってこの装置の技術的ノウハウの流出を極めて困難な状態にすることができる。
【0090】
[実施の形態6]
図8は、実施の形態6を示す構成図で、この実施の形態6は、先の実施の形態2の機構の中に、「筐体分解検出スイッチ」510を加えたものである。図8では、アドレス変換(スクランブル)回路150のスクランブルパターンを選択するためのキーコードを、外部から挿入するキーカード400からキーコード入力回路160経由で取り込んで動作する。「筐体分解検出スイッチ」510のON・OFF状態が、キーコード入力回路160に与えられていて、これがキーコードをスクランブルするか否かの条件になっている。
【0091】
このような機構を用いると、先の実施の形態2で示したプログラム盗難防止の仕組みを更に強化することができる。
【0092】
つまり、筐体が組み立てられ、装置が完成した状態の場合には、「筐体分解検出スイッチ」510の状態は「ON」になっており、この状態では、キーコード入力回路160の出力であるアドレス変換(スクランブル)回路150のためのキーコードは、正しい値として、アドレス変換(スクランブル)回路150に与えられる。
【0093】
これによって、制御プログラム・メモリ112には正しいアドレスが与えられ、正常なプログラム実行が行われてこの通信制御装置は正常に動作する。一方、この装置の筐体が分解され、上ケース部材501が取り外されて、電源が入れられた場合には、「筐体分解検出スイッチ」510の状態が「OFF」状態となっている。この状態では、キーコード入カ回路160では出力であるアドレス変換(スクランブル)回路150のためのキーコードを変換し、誤った値として、アドレス変換(スクランブル)回路150に与えられる。
【0094】
これによって、制御プログラム・メモリ112には正しいアドレスが与えられないため、マイクロプロセッサ部100は正しい制御を行うことが出来ずに暴走をする。このため、この機構を組み込んだ通信制御装置は、たとえ、セキュリティ強化のために用意されたキーコード(キーカード)が盗まれて準備されたとしても、分解された状態では、正しい制御動作を行うことはなく、その動作を、計測器等を利用して観測したり、解析することも出来なくなる。これによって、この装置の技術的ノウハウの流出を極めて困難な状態にすることができる。
【0095】
[実施の形態7]
図9は、実施の形態7を示す構成図で、この実施の形態7は、上記実施の形態を更に進歩させた方式である。図9において、170はキーコード・レジスタであり、揮発性のSRAM(スタティックRAM)で構成し、バッテリ180でバックアップできるように構成する。
【0096】
また、900は、乱数発生回路であり、「筐体分解検出スイッチ」510が「ON」状態では、キーコード・レジスタ170はバッテリ・バックアップされるが、「OFF」状態になると、このレジスタ170のバツテリ・バツクアツプは解除される。その他の構成要素は、図8と同じである。
【0097】
この実施の形態7では、装置の制御用プログラムは、筐体を含めて全てを組み立てて、構造的に完成させた後に、メインテナンス用通信1/F140を介して、開発装置300等から制御用のプログラムをダウンロードして制御プログラムメモリ112に書き込む。この制御プログラムの書き込み処理に先立って、乱数発生回路900から、乱数を読み出し、この値をユニークなキーコードとしてキーコードレジスタ170にセットする。
【0098】
この状態で生成されたキーコードをアドレス変換(スクランブル)回路150に与えて、スクランブル・パターンを選択する。この状態で、制御プログラムを書き込めば、その後は、キーコードレジスタ170にセットされた値が書き換わらない限りは、この装置は正常な動作を続けることができる。つまり、この装置の筐体が不正に分解され、その内容や動作を、計測器等を利用して観測したり、解析したりしようとしない限りは、正常動作を続けることができる。
【0099】
一方、この装置を分解して、その内容や動作を、計測器等を利用して観測したり、解析したりしようとすると、上ケース部材501を取り外した時点で、「筐体分解検出スイッチ」510が「OFF」となり、キーコード・レジスタ(SRAM)170のバッテリ・バックアップが解除され、同時にここにセットされていたキーコードが消去される。
【0100】
すると、この状態で電源を投入すると、このキーコード・レジスタ170は正しいキーコードを生成することができないので、これがアドレス変換(スクランブル)回路150に与えられても、正しいスクランブル・パターンが選択されない。つまり、この状態では、正しく動作させることはできない。
【0101】
更に、この実施の形態7の装置では、一度、このキーコード・レジスタ170の設定値が消去されてしまうと、再度、乱数発生回路900から、乱数を読み出しても、正常動作のためのキーコードの設定値と一致することはまず考えられないため、この装置は、改めて正しい制御プログラムを書き込むまでは使用できなくなる。更に、この方式では筐体を組み立てて、装置を完成状態にしてもこの装置を正常動作させることができない。これによって、この機構を組み込んだ通信装置は、技術的ノウハウの流出を極めて困難な状態にすることができる。
【0102】
上記実施の形態では、プログラム保護の方式を更に発展させ、当該の通信制御装置が分解されたことを検出するための「筐体分解検出スイッチ」部分を加え、このスイッチを用いたプログラム保護のセキュリティ機能を付加するようにしたものである。
【0103】
上記実施の形態の方式では、この「筐体分解検出スイッチ」により、装置が分解されているか完成状態か(上ケース部材が嵌っているか否か)を検出し、装置が分解された状態では、正常な制御動作を行えなくするような工夫や、または、装置が分解されると、自らの設定状態やプログラムを故意に消去して、その内容の流出を防ぐことができる。
【0104】
上記実施の形態による機構を実際の製品に適用するに当たって、具体的な設計を実施する際に生じる問題点(サイズや加工のし易さ、価格等の問題)を解決する。本発明は、実際の製品をよりコンパクト化し、低価格にて提供することを目指すものである。
【0105】
本発明は、基本的に、図5以降、符号510で記載されている「筐体分解検出スイッチ」部分について、専用の電気部品(スイッチ部品)を使用せず、筐体と制御基板を組み立てて装置を構成する際の機構の中に、この機能を取り込んでしまい、スイッチ部品を使用する場合よりコストを低減させると共に、外部から技術を盗むための悪意ある分解調査を行われても、より判別しにくい仕組みとすることを特長としている。
【0106】
[実施の形態8]
実施の形態8を述べる前に、図10により、一般的な通信制御装置の制御基板を、筐体に取り付ける部分の構造について説明する。図10はその一部拡大斜視図で、図10において、1010は通信制御装置の制御基板、1011は制御基板を筐体に取り付ける際の取り付け孔、1001は通信制御装置の筐体の底板部、1002は制御基板を取り付ける際に、ねじ止めをするためのボス、1003は取り付け用のねじ(金属)である。この場合、ボス1002の上に基板1010を載置してから取り付け、ねじ1003を締め付けることによって、基板1010が筐体に固定される。
【0107】
なお、筐体の底板部1001と、ボス1002は、金属(導電体)の場合とプラスチックのような絶縁体の場合が考えられる。
【0108】
ここで、この装置を完成させる場合には、図10の如き構造によって必ず基板1010を、筐体の底板部1001にねじ止めすることを前提とすると、この部分の構造を用いて、上記した図5〜図9に於ける「筐体分解検出スイッチ」510の代わりをさせることが可能となる。
【0109】
次に、実施の形態8について述べる。図11は、実施の形態8を示す一部拡大斜視図で、図11において、通信制御装置の筐体の底板部1001とボス1002が、金属である場合、制御基板1010の上面のねじ孔1011の周囲部分に銅箔によるランドパターン(以下ランド)1012を形成する。このランド1012部分に、抵抗Rを介して電源レベル(Vccレベル)にプルアップされた「筐体分解検出信号」を接続する。一方、金属筐体の底板部1001と金属製のボス1002は、シグナル・グラウンド・レベルに接地しておく。
【0110】
すると、制御基板1010上の「筐体分解検出信号」は、この基板1010が金属製のねじ1003で筐体の底板部1001に取り付けられた場合には、グラウンド・レベルとなり、取り外されて使用される(電源が供給された)場合には、「H」レベル(論理「1」)となる。
【0111】
図7に示す実施の形態5を、この実施の形態8に当てはめた構成図が、図12である。図12に示すように、図7に示した「筐体分解検出スイッチ」510のあった部分が、取り付けねじと電気的に接触するランド1012となっており、ボス1002がグラウンドに結ばれている。これにより、この基板が筐体に取り付けられると、ランド1012がボス1002のグラウンドと接続され、スイッチであれば「ON」したのと同じ状態となる。
【0112】
一方、基板が取り外された場合には、ランド1012はボス1002と電気的に切り離され、スイッチが「OFF」したのと同じ状態になる。この構成により、専用のスイッチ部品を用いることなく、図7、図8に示した実施の形態2,3の機能を実現できる。
【0113】
このように構成したことにより、図11に示すように、取り外されたり、その内容を外部からスキミングしてデータを盗まれる可能性のあるフラッシュROM等の部品1030は、基板1010の裏側(筐体に取り付ける際に筐体側になり、外から部品に触れない面)にすることが必要であり、この部品1030を調べるためには、必ず基板を筐体から取り外さなくてはならない様にしておく。このようにしておけば、外部の悪意ある第三者が、この制御プログラムを奪おうとする際には、必ず制御基板1010を筐体から取り外さざるを得ず、制御基板1010が筐体から外された状態では、プログラムは正常に実行できなくなる。
【0114】
[実施の形態9]
次に、図13〜図15により実施の形態9について述べる。筐体1001と、ボス1002が共に、プラスチック・モールドのような絶縁物で出来ている場合については、図11に於けるランド1012の代わりに、図13に示すような形状のランドを形成し、その片側ランドを1013a、対になった片側ランドを1013bとする。ここで、その片側ランド1013a部分を、抵抗Rを介して電源レベル(Vccレベル)にプルアップされた「筐体分解検出信号」に接続し、一方の片側ランド1013bは、シグナル・グラウンド・レベルに接地する。
【0115】
この場合の回路を図7に示す実施の形態5の例に当てはめると、図14に示すようになる。図14に示すように、図7における「筐体分解検出スイッチ」510のあった部分が、ランド1013aと、ランド1013bとなっており、ランド1013b側がグランドに結ばれた形になる。
【0116】
このようなパターンを制御基板上に設けた上で、図15のように組み立てる。ここでは、符号1020で示す金属製のワッシャを使用する。
【0117】
図15のように、この基板が筐体に取り付けられると、金属製のワッシャ1020によってランド1013aとランド1013bが電気的に接続され、「筐体分解検出信号」がグラウンドと接続されて、スイッチであれば「ON」したのと同じ状態となる。一方、基板が取り外され、ワッシャ1020が外された場合には、ランド1013aは、ランド1013bと電気的に切り離され、スイッチが「OFF」したのと同じ状態になる。(ワッシャ1020がスイッチの接片機能を果たす。)
このように構成したことにより、専用のスイッチ部品を用いることなく、図7、図8で示した実施の形態5と形態6の機能を実現できる。この構成の場合も、実施の形態8と同様に、取り外されたり、その内容を外部からスキミングしてデータを盗まれる可能性のあるフラッシュROM等の部品1030は、基板1010の裏側(筐体に取り付ける際に筐体側になり、外から部品1030に触れない面)にすることが必要であり、この部品1030を調べるためには、必ず制御基板1010を筐体から取り外さなくてはならない様にしておく。
【0118】
[実施の形態10]
次に、図16と図17により実施の形態10について述べる。筐体1001が、プラスチック・モールドのような絶縁物、ボス1002が金属で出来ている場合については、図11に示すランド1012と同様にランド1014を設けると共に、図16に示すように丁度その裏面にランド1015を形成する。
【0119】
ここで、そのランド1014部分を、抵抗Rを介して電源レベル(Vccレベル)にプルアップされた「筐体分解検出信号」に接続し、一方の裏面側のランド1015はシグナル・グラウンド・レベルに接地する。この場合の回路を図7に示す実施の形態5の例に当てはめると図17に示すようになる。図17に示すように、図7に示した「筐体分解検出スイッチ」510のあった部分が、ランド1014と、ランド1015になっており、ランド1015側がグランドに結ばれた形になる。
【0120】
この例の場合、この基板が筐体に取り付けられると、ランド1014が金属のねじ1003を介してボス(金属)1002と接続され、更に、このボス1002は、ランド1015と接触するので、スイッチであれば「ON」したのと同じ状態となる。一方、基板が取り外された場合には、ランド1014は、ボス1002およびランド1015とは電気的に切り離され、スイッチが「OFF」したのと同じ状態となる。
【0121】
このような構成としたことにより、専用のスイッチ部品を用いることなく、図7、図8で示した実施の形態5と形態6の機能を実現できる。この構成の場合も、取り外されたり、その内容を外部からスキミングしてデータを盗まれる可能性のあるフラッシュROM等の部品1030は、基板1010の裏側(筐体に取り付ける際に筐体側になり、外から部品1030に触れない面)にすることが必要であり、この部品1030を調べるためには、必ず基板1010を筐体から取り外さなくてはならない様にしておく。このようにしておけば、外部の悪意ある第三者、この制御プログラムを奪おうとする際には、必ず制御基板1010を筐体から取り外さざるを得ず、制御基板1010が筐体から外された状態では、プログラムは正常に実行できなくなる。
【図面の簡単な説明】
【0122】
【図1】本発明の実施の形態1を示す構成図。
【図2】アドレス変換(スクランブル)回路の動作説明図。
【図3】本発明の実施の形態2を示す構成図。
【図4】本発明の実施の形態3を示す構成図。
【図5】通信機器の筐体分解検出スイッチの配置手段を示す斜視図。
【図6】本発明の実施の形態4を示す構成図。
【図7】本発明の実施の形態5を示す構成図。
【図8】本発明の実施の形態6を示す構成図。
【図9】本発明の実施の形態7を示す構成図。
【図10】通信機器の制御基板を筐体に取り付ける構成を示す斜視図。
【図11】実施の形態8で使用されるランドパターンとねじ等の斜視図。
【図12】本発明の実施の形態8を示す構成図。
【図13】制御基板取り付け孔部のランドパターンの形状構成図。
【図14】本発明の実施の形態9を示す構成図。
【図15】実施の形態9におけるランドパターンとねじ等の状態を示す具体的な構成図。
【図16】実施の形態10におけるランドパターンとねじ等の状態を示す具体的な構成図。
【図17】本発明の実施の形態10を示す構成図。
【図18】従来の通信制御装置の概略構成図。
【図19】プログラムメモリ内のソフトウェア(プログラム)の構成説明図。
【符号の説明】
【0123】
100…マイクロプロセッサ部
111…初期化プログラム・メモリ
112…制御プログラム・メモリ
120…ワークメモリ
130…通信インターフェース
140…メインテナンス用通信インターフェース
150…アドレス変換(スクランブル)回路
160…キーコード入力回路
170…キーコードレジスタ
180…USBインターフェース
200…通信回線
300…プログラム開発装置
400…キーカード
500…筐体本体
510…筐体分解検出スイッチ
【技術分野】
【0001】
本発明は、マイクロプロセッサを内蔵し、そのプログラムによって、制御機能を実現する通信制御機器のプログラム機密保持のための通信制御装置に関するものである。
【背景技術】
【0002】
現在、マイクロプロセッサを使用し、そのプログラムの実行によって、制御機能を行う通信制御装置では、その装置特有の制御機能をソフトウェアによって実現している。また、一般にそのソフトウェア(プログラム)は、マイクロプロセッサの信号バスに接続された不揮発のメモリ(フラッシュROMなど)に格納されていて、装置の電源投入によって、その不揮発メモリからプログラムの読み出しを行なって制御動作を行うことが普通である。
【0003】
上述のように、マイクロプロセッサによって制御機能を行う通信制御装置では、その装置特有の制御機能をソフトウェアの実行によって実現しているが、その技術の核となるソフトウェア(プログラム)は、マイクロプロセッサのバスに接続されたデバイス、例えば、Flash ROM等、装置内の不揮発メモリに格納されるのが普通である。
【0004】
図18に、従来の一般的な通信制御装置の構成を示す。図18において、100は、通信制御装置の制御を司るマイクロプロセッサ部で、101は、そのマイクロプロセッサ部100のアドレス・バス、102は、そのデータ・バスを示す。また、110は、制御用のソフトウェア(プログラム)を予め格納してあるプログラム・メモリであり、通常、不揮発性のメモリ(フラッシュROM:Flash Read On1y Memory)で実現される。120は、プログラム実行上のワーク・メモリであり、通常、RAM(Random Access Memory)で実現される。
【0005】
更に、130は、その通信制御機器の制御対象となる通信インタフェース(I/F)回路であり、200はその通信回線を示している。
【0006】
上記従来の通信制御装置では、マイクロプロセッサ部100が、バス101と102を用いて、プログラム・メモリ110上に格納されたソフトウェア(プログラム)に従い、ワークメモリ120を使用しながら、通信インタフェース130を制御して、通信回線200との間のデータの授受を行っている。
【0007】
また、プログラム・メモリ110上に格納されるソフトウェア(プログラム)は、図19に示すように、初期化プログラム111(IPL:Initial Program Loaderと呼ぶ場合がある)部分と、制御プログラム112本体部分とに分けられる。
【0008】
この通信制御装置で使用されるソフトウェアの内、初期化プログラム111は装置の完成時に必ず書き込まれていなければならないが、制御プログラム112は、予め書き込んで置くこともできるし、また、メインテナンス通信インタフェース(I/F)140を介して、プログラム開発装置(パソコンなど)300からダウンロードをして後から書き込むこともできる。特に、後者の場合、そのダウンロードと書き込みのプログラムが初期化プログラム111内に格納されるのが普通である。
【特許文献1】特開2005−346172号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
各社が提供する通信制御装置では、その装置独特の優位な機能を実現するプログラムを、前記制御プログラム112本体内に実装することが一般的である。しかし、この優位性のあるプログラムは、供給メーカにとって重要な資産であって、機密事項である。つまり、このプログラムの内容が容易に、外部に盗み出されることの無いようにすることが求められている。
【0010】
一般的に、図18に示す通信制御装置のハードウェアは、プリント基板(PCB)という形で実現されており、制御プログラム112が格納されたプログラム・メモリ110(不揮発メモリであり、以下Flash ROMであることを想定する)も部品単位で、このプリント基板上に半田付けされて搭載されていて、安直に取り外すことはできないが、悪意ある者がこの半田付けを外し、Flsah ROMメモリデバイスを取り外して、このデバイスに格納されたデータ(プログラム)を読み出すことは不可能ではない。
【0011】
また、一旦このメモリに搭載されているデータが読み出されれば、逆コンパイルによって、機密事項とされる制御プログラムを解読することが可能となる虞がある。
【0012】
折角、オリジナルで優位性のあるプログラムを製作しても、このような悪意ある行為によって、それを盗まれて海賊版を安価に製造販売されてしまうという問題も発生している。
【0013】
本発明は、上記の事情に鑑みてなされたもので、優位性のある制御プログラムを、第三者が安直に盗み出すことができないように構成した通信制御装置を提供することを課題とする。
【課題を解決するための手段】
【0014】
上記の課題を達成するために、第1発明は、マイクロプロセッサと、制御用ソフトウェア(プログラム)を格納するプログラム・メモリと、プログラム実行上のワークメモリとを有し、マイクロプロセッサがプログラム・メモリ上に格納されたソフトウェア(プログラム)に従い、ワークメモリを使用しながら、通信インタフェースを制御して通信回線との間でデータの授受を行う通信制御装置において、
前記通信制御装置の機器本体内部に筐体分解検出手段を設け、その機器本体を構成する筐体が分解されたことを電気信号の有無として判断し、その検出手段が電気信号有りの状態のときに、前記プログラム・メモリに制御プログラムを書き込んで、装置を使用する一方、その検出手段が、電気信号無しの状態のときに、筐体が分解されたと判断して、装置が立ち上げられた場合には、前記制御プログラムの一部または全部を消去するように、立ち上げプログラムを作成し、その制御プログラムを自ら消去することを特徴とするものである。
【0015】
第2発明は、前記筐体分解検出手段が、物理的電気回路接断手段から構成されることを特徴とするものである。
【0016】
第3発明は、前記物理的電気回路接断手段が、スイッチ機構による電気回路のオン・オフ手段、あるいは制御基板上のランドパターンと、ねじ、ボスによる物理的電気回路接離による電気回路のオン・オフ手段からなることを特徴とするものである。
【0017】
第4発明は、マイクロプロセッサと、制御用ソフトウェア(プログラム)を格納するプログラム・メモリと、プログラム実行上のワークメモリとを有し、マイクロプロセッサがプログラム・メモリ上に格納されたソフトウェア(プログラム)に従い、ワークメモリを使用しながら、通信インタフェースを制御して通信回線との間でデータの授受を行う通信制御装置において、
(a)前記マイクロプロセッサが実行するプログラムの格納領域(デバイス)を、初期化プログラム・メモリと制御プログラム・メモリとに分割する手段と、
(b)前記初期化プログラム・メモリ(Flash ROM)は、マイクロプロセッサのアドレス・バスに直結し、制御プログラム・メモリ(Flash ROM)は、アドレス・ラインをバスに直結せず、バスとの間にアドレス変換(スクランブル)回路を挿入し、マイクロプロセッサから与えられるアドレスをスクランブルに入れ替えて接続する手段と、
(c)前記マイクロプロセッサが初期化プログラムを実行して立ち上がった後に、メインテナンス用通信インタフェースを介して外部から制御プログラムをダウンロードして、前記制御プログラム・メモリにそのプログラムを書き込んで、制御動作させる手段とを有し、
前記ソフトウェア(プログラム)の実行によって、制御機能を実現するとともに、前記ソフトウェア(プログラム)が外部に盗み出されることを防いで、前記ソフトウェア(プログラム)の機密保持を実現するようにしたことを特徴とするものである。
【0018】
そして、第4発明では、上記のような手段を通信制御装置に搭載して、制御プログラム・メモリにプログラムを書き込むことが特徴である。このような構成によって、この通信制御装置は、稼動時、全く通常の装置と同じ機能を持ち、同じ動作をするが、休止時、この装置が盗難に遭遇しても、その制御プログラム・メモリ(Flash ROM)を取り外して、外部からそのソフトウェア(プログラム)を読み出そうとしても、アドレスがスクランブルに入れ替えてあるので、データが「ごちゃごちゃ」になっていて正しく読み出せないことから、プログラムの読み出しを防ぐことができるようになる。
【0019】
第5発明は、上記(a)〜(c)の手段の他に、(b)の手段で挿入したアドレス変換(スクランブル)回路に数多くのスクランブルパターンを用意しておいて、その内の一つを選択するためのキーコードを入力できる手段を設けるように構成し、
そのキーコード入力手段を、キーコード入力回路を介して、外部のキーカードから入力して動作させる手段を設けたことを特徴とするものである。
【0020】
更に、このような手段を設けることにより、装置が盗難に遭遇した場合にも、プログラムを読み出せなくするという他に、通常の稼動時に、キーカードを有した正当な利用者以外には装置が使用できないというセキュリティ機能が実現できる。
【0021】
第6発明は、装置にUSBインタフェース機能と、キーコードレジスタを設け、キーコードレジスタにセットした値をアドレス変換回路に与えるように構成し、
装置が初期化プログラムを実行して立ち上がった後に、USBインターフェースを使用して接続されたUSBデバイスから、キーコード・データを読み出して、この値をキーコード・レジスタにセットし、この値をアドレス変換回路に与えることによって、数多く用意されたスクランブルパターンの中から所望の一つを選択し、その後メインテナンス用通信インタフェースを介して外部から制御プログラムをダウンロードして、前記制御プログラム・メモリにそのプログラムを書き込んで、制御動作させるようにすることを特徴とするものである。
【0022】
このような手段により、装置が盗難に遭遇したとしても、プログラムを読み出せなくするという他に、通常の稼動時に、正当なUSBデバイスを有した正当な利用者以外には装置が使用できないというセキュリティ機能も実現できる。
【0023】
第7発明は、前記筐体分解検出手段の検出信号をアドレス変換回路に入力し、その検出手段が、検出信号をアドレス変換回路に入力しなくなったとき、筐体が分解されたとして、アドレス変換回路のスクランブルパターンを切り替えるようにしたことを特徴とするものである。
【0024】
第8発明は、筐体分解検出手段の検出信号をキーコード入力回路に入力し、その検出手段が、検出信号をキーコード入力回路に入力しなくなったとき、筐体が分解されたとして、アドレス変換回路のスクランブルパターンを切り替えるためのキーコードを変更することを特徴とするものである。
【0025】
第9発明は、アドレス変換(スクランブル)回路のスクランブルパターン選択をするキーコードを、揮発性のSRAMによって実現されるキーコード・レジスタから与え、このSRAMによるキーコード・レジスタは、バッテリによってバックアップするかどうかを、筐体分解検出手段からの検出信号の有無の状態によって切り替えるよう構成し、装置内には乱数発生回路を設け、初期段階での制御プログラムのダウンロードと制御プログラムメモリヘの書き込みに先立って、筐体を含んだ装置の組み立てを完成させて置き、乱数発生回路から発生させたランダムな値を、SRAMによるキーコードレジスタにセットし、その後にプログラムの書き込みを行うようにすることによって、アドレス変換(スクランブル)回路のスクランブルパターンを切り替えるためのキーコードを格納しているキーコード・レジスタの内容が、前記検出信号の無のときに、バッテリ・バックアップが切断して消滅してしまうことを特徴とするものである。
【0026】
第10発明は、前記筐体分解検出手段を実現するための機構として、筐体と制御基板取り付け用のボスが共に導電性がある場合、
「1」前記制御基板上の取り付け孔部分に、抵抗を介して電源レベル(Vccレベル)にプルアップされた筐体分解検出信号端と接続されたランドパターンを設け、
「2」筐体とボスは信号グラウンドに接地し、制御基板をねじで筐体に取り付けた場合には、筐体分解検出信号レベルが「論理L」、制御基板が筐体から取り外された場合には、この信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする。
【0027】
第11発明は、前記筐体分解検出手段を実現するための機構として、筐体と制御基板取り付け用のボスが共に絶縁体である場合、
「1」制御基板上の取り付け孔部分を囲むように、分割された2つのランドパターンを設け、
「2」その一方のパターンは、抵抗を介して電源レベル(Vccレベル)にプルアップされた筐体分解検出信号端と接続し、
「3」もう一方のランドパターンは信号グラウンドに接地(接続)し、
「4」取り付けねじで制御基板を筐体に固定する際には、このねじに導電性のワッシャを挿入することで、制御基板をねじで筐体に取り付けた場合には、これら2つのランドパターンが電気的に短絡して筐体分解検出信号レベルが「論理L」、制御基板が筐体から取り外された場合には、この2つのランドパターンが開放状態になってこの信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする。
【0028】
第12発明は、前記筐体分解検出手段を実現するための機構として、筐体が絶縁体、制御基板取り付け用のボスが導電体である場合、
「1」制御基板上の取り付け孔部分に、抵抗を介して電源レベル(Vccレベル)にプルアップされた筐体分解検出信号端と接続されたランドパターンを設け、
「2」制御基板上、上記ランドパターンの反対面(基板の裏面側)に、もう1つのランドパターンを設けると共に、
「3」この裏面(反対面)側のランドパターンは、信号グラウンドに接地し、制御基板をねじで筐体に取り付けた場合には、基板表面側のランドパターンが導電体ねじと導電体のボスを介して裏面側のランドパターンと電気的に接続状態となって筐体分解検出信号レベルが「論理L」となり、制御基板が筐体から取り外された場合には、この接続が切断されることによって、この信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする。
【発明の効果】
【0029】
本発明によれば、機器本体内部に、その本体を構成する筐体が分解されたことを電気信号の有無から判断する筐体分解検出手段を設け、この手段で電気信号が無いと判断されたとき、筐体が分解されたと判断して、通信制御装置の正常な動作を行えなくするようにして、優位性のある制御プログラムを、積極的に消去して第三者によってその制御プログラムが安直に盗み出せないようにした。
【0030】
筐体分解検出手段にはスイッチ機構や、制御基板と筐体とを組み合わせて、ランドパターン、ねじ、ボスによる電気回路接離手段を用いて装置を組み立ててスイッチ機構の一部に置き換える構成にしても良い。
【0031】
また、本発明によれば、装置内の制御プログラム・メモリのアドレスラインにアドレス変換(スクランブル)回路を挿入することによって、この装置内で書き込まれたデータは、これを分解して、制御プログラム・メモリを取り外し、その内容(プログラム)を不正に読み出そうとしてもデータを正しく読み出すことはできなくなる効果を持っている。これは、「スクランブルされて与えられたアドレス」を用いて書き込まれたデータは、「スクランブルされていない正常なアドレス」で読み出しても、正しいデータが得られないからである。これによって、本発明は、機密保持ができるようになる
また、本発明によれば、この装置が不使用中で、キーカードまたはUSBデバイスが実装されていない状態で盗まれた場合、この装置を第三者が悪意を持って分解し、制御プログラム・メモリを取り外して、その内容(プログラム)を不正に読み出そうとしても、この書き込まれたデータを正しく読み出すことはできないという利点がある。これは、アドレス変換(スクランブル)回路も取り外して、このスクランブル回路の結線まで解読をしようとしても、これらの場合は、アドレス変換(スクランブル)回路に与えられるキーコードが消えているために、そのスクランブルパターンの内どれを使用していたのかを判定することができなくなり、そのため、正しいデータを読み出すことは、まず不可能となる。これによっても、本発明の機密保持は実現される。
【0032】
また、本発明によれば、キーコード入力機構を備えることは、盗難時のプログラム不正コピーを防ぐだけでなく、通常の運用時にも、正しいキーコードを持たない人間による装置の不正使用を防ぐことに役立つ。つまり、正しいキーコードを与えない限り、利用しているスクランブルパターンが一致しないため、この装置自体が、正しい制御プログラムを実行できず、装置が正しく動作しないことになる。その意味でもこの機構によって、セキュリティが確保されるという利点を有する。この利点は上記と同等である。
【0033】
また、本発明によれば、このプログラム保護の方式を更に発展させ、当該の通信装置が分解されたことを検出するための筐体分解検出手段部分を加え、この手段を用いたプログラム保護のセキュリティ機能を付加することにより、装置が分解されているか完成状態かを検出し、装置が分解された状態では、正常な制御動作を行えなくするようにし、また、装置が分解されると、自らの設定状態やプログラムを積極的に消去して、その内容の流出を防ぐことができる。
【0034】
また、本発明によれば、筐体分解検出手段部分を、制御基板と筐体とを組み合わせて、装置を組み立てるための機構の一部に置き換えることにより、スイッチ部品を省略することによって、装置をより安価に実現した上、更に基板を筐体から取り外した場合に、正常動作をロックする機構やその動作を外部からより分かりにくくするという効果を得る。
【発明を実施するための最良の形態】
【0035】
以下本発明の実施の形態を図面に基づいて説明するに当り、一般的な通信制御装置について述べる。一般的な通信制御装置では、マイクロプロセッサによるソフトウェア(プログラム)の実行により、その通信制御を司っているのが普通であるが、このプログラムは、通常、装置のハードウェアとして不揮発性のROM(Flash ROM等のデバイス)に書き込んで実現されている。このFlash ROM等のデバイスは、第三者が悪意を持って取り外せば外部からデータを盗み出すことができるため、折角、オリジナルで優位性のあるプログラムを製作しても、このような行為によって、それが盗まれ、海賊版が安価に製造販売されてしまうという問題も発生している。そこで、以下のような実施の形態でプログラムが読み出せないように対処するようにした。
【0036】
[実施の形態1]
図1に、本発明による制御プログラムの盗難防止機構を備えた構成図を示す。図1では、図18に於けるプログラム・メモリ110(Flash ROM)部分を、図19に示すような2つの領域に分割した初期化プログラム・メモリ111と、制御プログラム・メモリ112に構成し、これらメモリ111,112は、それぞれ別々のF1ash ROMデバイスにて実現する。
【0037】
初期化プログラム・メモリ111は、マイクロプロセッサ部100のアドレス・バス101とデーターバス102に直結されるが、制御プログラム・メモリ112は、アドレス・ラインをバスに直結せず、間にアドレス変換(スクランブル)回路150を挿入している。
【0038】
このアドレス変換(スクランブル)回路150を設けることが、図18との違いであり、その他の部分については、図18と同等の機能を有している。
【0039】
図1のアドレス変換(スクランブル)回路150は、本発明の核となる回路であり、その動作の概要を図2にて説明する。
【0040】
図2に於いて、制御プログラム・メモリ112とアドレス変換(スクランブル)回路150は、図1の同部位を詳細に示したものである。
【0041】
制御プログラム・メモリ112を構成するFlash ROMは、A0からAnの(n+1)本のアドレス信号ラインを持っているものとする。一般的には、このアドレス・ラインには、同じ番号のアドレス・バス・ラインが接続されるのが普通であり、図18の構成の場合には、A0端子にはバスのA0信号が、A1端子にはバスのA1信号がというように順序よく接続される。
【0042】
ところが、図2に示すアドレス変換(スクランブル)回路150には、アドレス・バスから入力された(n+1)本のアドレス信号ラインを、制御プログラム・メモリ112のFlash ROM側に出力する際に、その接続をスクランブル(ごちゃまぜ)するという機能を持たせている。
【0043】
例えば、この例では、制御プログラム・メモリ112のFlash ROMのA0端子にはバスのAn−1信号が、An端子にはバスのA4信号が接続されるという条件を作り出している。(図2の例はあくまで1つの例であって、アドレスがスクランブルされていれば、どの番号のラインがどのアドレス端子に接続されていても構わない。)
このアドレス変換(スクランブル)回路150は、物理的な配線をクロスするワイアード・ロジツクでも良いし、PLD(プログラマブル論理デバイス)などを利用しても構成することができる。
【0044】
この様な機構を用いた回路構成では、制御プログラム・メモリ112に予め外部のFlash ROM書き込み機でデータを書き込んだデバイスを実装しても、マイクロプロセッサ部100は、この書き込まれたプログラムを正常に実行することはできない。これは、マイクロプロセッサ部100が与えるアドレス情報が、アドレス変換回路150によってスクランブルされ、制御プログラム・メモリ112のFlash ROMにそのまま伝えられないためで、所望する正しいデータを読み出すことができないからである。
【0045】
ところが、この装置では、初期化プログラム・メモリ111は、正しくアドレス・バス101に接続されているため、このメモリ111内に、書き込まれたプログラムは正しく実行される。そこで、この初期化プログラム・メモリ111上に、メインテナンス用通信I/F140を介して、外部の開発装置300などから、制御プログラムをダウンロードし、このデータを制御プログラム・メモリ112に書き込むためのプログラムを用意しておけば、この処理を行うことによって、実行すべき制御プログラムを、制御プログラム・メモリ112上にセットすることができる。
【0046】
この方法で制御プログラム・メモリ112上に書き込まれたプログラムは、マイクロプロセッサ部100が正しく読み出すことができ、正しく実行することができる。
【0047】
これは、「スクランブルされて与えられたアドレス」を用いて書き込まれたデータを、「スクランブルされて与えられた同じアドレス」で読み出せば、正しいデータが得られるからである。
【0048】
以上より、図1の回路構成の通信制御装置では、アドレス変換(スクランブル)回路150を搭載しているが、上述のような手法で、装置の完成後に後からダウンロードして書き込んだソフトウェアは、正常に実行して機能を実現することができる。
【0049】
ところが、この装置が悪意を以って第三者が分解し、制御プログラム・メモリ112を構成するFlash ROMを取り外して、その内容(プログラム)を不正に読み出そうとして、外部のFlash ROMライタ装置(読み出しのできるもの)などを用いてもこの書き込まれたデータを正しく読み出すことはできない。
【0050】
これは、「スクランブルされて与えられたアドレス」を用いて書き込まれたデータを、「スクランブルされていない正常なアドレス」で読み出しても、正しいデータが得られないからである。つまり、対象の機器の中で行われているアドレスのスクランブルの条件が得られない限り、そこから制御プログラム・メモリ112だけを取り外しても、そのプログラム自体を盗み出すことができない。これが、本発明の実現する機密保持のための機能である。
【0051】
[実施の形態2]
上記実施の形態1のように、対象となる通信機器装置内の制御プログラム・メモリ112のアドレス入カラインに、図1に示したアドレス変換(スクランブル)回路150が実装されれば、多くの場合に於いて、そのメモリ・デバイスが取り外されたとしても、その内部のデータの盗難を防止することができると思われるが、悪意ある第三者が更に深く追求して、アドレス変換(スクランブル)回路150ごと取り外し、このアドレス変換(スクランブル)回路150の結線まで解読することは全く不可能という訳ではなく、このアドレス変換(スクランブル)回路150の条件を、外部に成立させた上で外部のF1ash ROMライタ装置(読み出しのできるもの)などを用いれば、正しくソフトウェア(プログラム)のデータを読み出すことが出来てしまう惧れがある。
【0052】
そこで、実施の形態2では、アドレス変換(スクランブル)回路150のスクランブル条件(結線状態)を多数のパターン用意し、実際に正当にその装置を使用する者以外には、それら多数のパターンの内の、どのスクランブル条件が利用されたのかが分からなくするための手段を提供する。
【0053】
図3に、本発明の実施の形態2による、制御プログラムの盗難防止機構の構成図を示す。図3では、図1で示した実施の形態1の構成に加えて、キーコード入力回路160と、それに接続されるキーカード400が追加されている。また、アドレス変換(スクランブル)回路150には、キーコード入力回路160を介して入力されたキーコード入力信号が追加されている。
【0054】
この例では、アドレス変換(スクランブル)回路150は、前記実施の形態1の場合のように単一のスクランブル条件だけではなく、上述の説明のように多数のスクランブル条件の内の一つを選択することができるように構成する。つまり、アドレス変換回路150に入カされるキーコード信号の状態によって、多数のスクランブル条件の内から特定の1つの条件が選択されるように構成しておく。
【0055】
キーカード400は、その名の通り、この対象となる通信制御装置の動作のキーとなるカードで、ある特定のコードパターンをキーコード入力回路160に与えることができるものである。物理的には単純なワイアード・ロジックであっても構わないし、RF回路を用いた特定小電力無線のタグのようなものであっても良い。
【0056】
この実施の形態2の場合には、この特定の通信装置に対して固有のキーコードが与えられた状態で、前記実施の形態1の場合と同じ様に、初期化プログラム・メモリ111上に置かれたプログラムにより、メインテナンス用通信I/F140を介して、外部の開発装置300などから、制御プログラムをダウンロードし、このデータを制御プログラム・メモリ112のFlash ROMに書き込めば良い。この方法で、制御プログラム・メモリ112上に書き込まれたプログラムは、マイクロプロセッサ部100が正しく読み出すことができ、正しく実行することができる。
【0057】
これにより、図3の回路構成の通信制御装置の場合も、アドレス変換(スクランブル)回路150を搭載しているが、上述のような手法で、装置の完成後に後からダウンロードして書き込んだソフトウェアは、正常に実行して機能を実現することができる。
【0058】
一方、この実施の形態2の場合には、この装置が不使用で、キーカード400が実装されていない状態で盗まれた様な場合、この装置が第三者により悪意を持って分解され、制御プログラム・メモリ112を取り外して、その内容(プログラム)を不正に読み出そうとしても、この書き込まれたデータを正しく読み出すことはできない。
【0059】
当初の懸念のように、悪意ある第三者が更に深く追求をし、アドレス変換(スクランブル)回路150も取り外して、このアドレス変換(スクランブル)回路150の結線まで解読をしようとしても、この実施の形態2の場合は、そのスクランブルパターンの内どれを使用していたのかを判定することが極めて難しくなるため、正しいデータを読み出すことのできる確率は極めて小さいものになる。
【0060】
結局、対象の機器の中で行われているアドレスのスクランブルの条件が得られることは、まず考えられず、そこから制御プログラム・メモリ112を取り外しても、そのプログラムを盗み出すことはできないと考えて良い。これが、本発明の実施の形態2の実現する機密保持のための機能である。
【0061】
また、このようなキーコード入力回路160の機構を備えることは、盗難時のプログラム不正コピーを防ぐだけでなく、通常の運用時にも、正しいキーコードを持たない人間による装置の不正使用を防ぐことに役立つ。つまり、正しいキーコード400を与えない限り、利用しているスクランブルパターンが一致しないため、この装置自体が、正しい制御プログラムを実行できず、装置が正しく動作しないことになる。その意味でもこの機構によって、セキュリティが確保されるという利点を有している。
【0062】
[実施の形態3]
実施の形態3は、前記実施の形態2を更に発展させたものであり、図3に示す実施の形態に於ける、キーカード400の代わりに、一般的なUSBテバイスを利用するものである。
【0063】
図4は、本発明の実施の形態3による制御プログラムの盗難防止機構の構成図を示す。ここでは、図3の実施の形態2の構成の内、キーコード入力回路160の代わりにUSBインタフェース180と、キーコード・レジスタ170を設けたことである。また、キーカード400の代わりに、USBデバイス185を利用している。
【0064】
実施の形態3の場合も、アドレス変換(スクランブル)回路150には、キーコード・レジスタ170からキーコード入力信号が与えられている。キーコード・レジスタ170には、マイクロプロセッサ部100が任意のコード(データ)を書き込むことができ、このコードがアドレス変換(スクランブル)回路150に与えられることによって、多数用意されたスクランブルパターンの中の一つが選択されるようになっている。
【0065】
この実施の形態3の特徴は、一般的なUSBデバイス185の中に、対象の通信制御装置を利用する上でのキーコードを格納しておき、これをUSBインタフェース回路180に接続することによって、動作させる点である。
【0066】
マイクロプロセッサ部100は、初期化プログラム・メモリ111内のソフトウェアに従って、まずUSBインタフェース回路180に接続されたUSBデバイス185から、予め格納されているキーコードを読み出し、キーコードーレジスタ170にその値をセットする。すると、このコードが与えられたアドレス変換(スクランブル)回路150では、多数のスクランブルパターンの中から一つのパターンを抽出してアドレス変換動作を行う。
【0067】
この状態で、マイクロプロセッサ部100は、初期化プログラム・メモリ111上に置かれたプログラムにより、メインテナンス用通信I/F140を介して、外部の開発装置300などから、制御プログラムをダウンロードし、このデータを制御プログラム・メモリ112に書き込めば良い。この方法で制御プログラム・メモリ112上に書き込まれたプログラムは、マイクロプロセッサ部100が正しく読み出すことができ、正しく実行することができる。
【0068】
これにより、図4の回路構成の通信制御装置の場合も、装置の完成後に、後からダウンロードして書き込んだソフトウェアを正常に実行して機能を実現することができる。
【0069】
尚、この実施の形態3の場合には、この装置が不使用で、USBデバイス185が実装されていない状態で盗まれた場合、この装置が悪意を以って第三者により分解され、制御プログラム・メモリ112を取り外して、その内容(プログラム)を不正に読み出そうとしても、この書き込まれたデータを正しく読み出すことはできない。
【0070】
当初の懸念のように、悪意ある第三者が更に深く追求をし、アドレス変換(スクランブル)回路150も取り外して、このスクランブル回路150の結線まで解読をしようとしても、この実施の形態3の場合は、キーコードレジスタ170の内容が揮発して消えているために、そのスクランブルパターンの内、どれを使用していたのかを判定することができない。そのため、正しいデータを読み出すことは、まず不可能となる。
【0071】
結局、対象の機器の中で行われているアドレスのスクランブルの条件が得られることは、まず考えられず、そこから制御プログラム・メモリ112を取り外しても、そのプログラムを盗み出すことはできない。これが、本発明の実施の形態3の実現する機密保持のための機能である。
【0072】
また、このようなキーコード入力機構を備えることは、盗難時のプログラム不正コピーを防ぐだけでなく、通常の運用時にも、正しいキーコードを持たない人間による装置の不正使用を防ぐことに役立つ。つまり、正しいキーコードを与えない限り、利用しているスクランプルパターンが一致しないため、この装置自体が、正しい制御プログラムを実行できず、装置が正しく動作しないことになる。その意味でもこの機構によって、セキュリティが確保されるという利点を有している。この利点は実施の形態2と同等である。
【0073】
[実施の形態4]
実施の形態4では、基本的なアドレススクランブルによる保護に加えて、装置が分解されたことを検出するための、「筐体分解検出手段(筐体分解検出スイッチ)」を導入し、このスイツチの状態如何(オン・オフ)で装置のプログラムの実行ルーチンや、スクランブル回路網そのもの、更にはスクランブルの回路網を指定するためのキーコード等を変化させることによって、制御プログラム・メモリの内容(プログラム)を盗まれないように保護するものである。
【0074】
実施の形態4において、図5は、上述の「筐体分解検出スイッチ」を備えた筐体の斜視図で、この図5に於いて、500は、今回保護の対象となっている通信制御装置の全体を示す筐体(ケース)本体である。
【0075】
501はその装置のケース本体500の上ケース部材、502はその装置のケース本体500の下ケース部材、そして503は、そのケース本体500内に収められる制御用のプリント配線基板(以下基板と言う)である。
【0076】
通信制御装置のケース本体500は、基板503を、上下ケース部材501と502で覆うことで完成状態とする。図5(a)が完成の状態であり、一方、この装置を分解して上ケース部材501を取り外したところを図5(b)に示す。図5では、基板503(制御回路が搭載されている)上に、マイクロスイッチ510を搭載し、上ケース部材501が被せられた状態で「ON」、上ケース部材501が取り外された状態では「OFF」になる様な位置に設置したことを示している。(この例では分かりやすくするために、最も目立つ位置に設置してあるが、できるだけ分かり難い部分に設置することが望ましい。)このマイクロスイッチ510を「筐体分解検出スイッチ」と呼ぶことにする。
【0077】
次に、実施の形態4を実現する構成図を図6に示す。図6は、図18に示した従来の通信制御装置の構成図に、「筐体分解検出スイッチ」510と、スイッチ状態入力回路600を加えたものである。「筐体分解検出スイッチ」510の状態(スイッチON、OFFの状態)は、スイッチ状態入力回路(DI回路)600を介して、マイクロプロセッサ部100によって、常時読み込むことができるようになっている。例えば、スイッチONのとき、筐体は分解されていないと判断し、スイッチOFFのとき、筐体は分解されたと判断する。
【0078】
この構成は、極めて単純なハードウェアにて実現するものであって、知的財産であるプログラムの保護手法は、そのプログラム自体の中に埋め込まれ、そのプログラムの実行によって実現する。
【0079】
実施の形態4では、マイクロプロセッサ部100は、電源が投入後の装置の立ち上がりシーケンスの中で、スイッチ状態入カ回路600を介して、「筐体分解検出スイッチ」510のON・OFF状態を読み込む。
【0080】
「1」スイッチ状態が「ON」であった場合には、本装置は上ケース部材501が下ケース部材502に嵌められているとき、完成(組立て)状態であると判断し、マイクロプロセッサ部100は、正常なプログラム実行(通信制御装置としての正規の制御動作を実行)を行う。
【0081】
「2」一方、マイクロプロセッサ部100によって、「筐体分解検出スイッチ」510の状態を読み込んだ際に、この状態が「OFF」であった場合には、本装置の上ケース部材501が外されているか、または、完全に分解されていると判断し、マイクロプロセッサ部100は、ノウハウが埋め込まれている通信制御に関わるプログラム部分(プログラムメモリ110のプログラム格納Flash ROM内)を消去するという処理を実行する。
【0082】
プログラムメモリ110に格納されるプログラムのIPL(Initial Program Loader)部分には、上記のような動作を行うプログラムを実装しておく。
【0083】
つまり、実施の形態4による手法を取り込んだ通信制御装置は、筐体を正しく組み立てた完成状態で電源を投入すれば正しい制御動作を行うが、分解された状態で電源が投入されると、自ら制御プログラムを消去し、その内容が外部からコピー(Copy)されることを防止することができる。一旦消去されたプログラムは、自動的には復元されないので、正しく動作させるためにはプログラムの再書き込みが必要となる。この処理は製造者しか行うことはできない。
【0084】
[実施の形態5]
図7は実施の形態5を示す構成図で、この実施の形態5は、「筐体分解検出スイッチ」510を使用したプログラム盗難防止のための手段を示すものである。図7に示す実施の形態5は、図3に示した実施の形態1による通信制御装置の構成に、「筐体分解検出スイッチ」510を加えたものである。
【0085】
上述した実施の形態1に説明した通り、アドレス変換(スクランブル)回路150では、マイクロプロセッサ部100から制御プログラム・メモリ112に与えるアドレスラインをクロス(入れ替え)して、これが取り外されても外部のROMライタ等では正しく読み出せない状態を作ることを特徴としていた。
【0086】
しかし、ここでは、このアドレス変換(スクランブル)回路150の入力に、この「筐体分解検出スイッチ」510のON・OFF状態を加える。アドレス変換(スクランブル)回路150では、複数のスクランブルパターンを用意しておき、「筐体分解検出スイッチ」510の状態(ON・OFF)によって選択されるスクランブルパターンを切り替えるようにして置く。
【0087】
このような機構の下に、この通信制御装置が完全に組み立てられた状態(上ケース部材551も嵌められて、「筐体分解検出スイッチ」510が「ON」の状態)で、メインテナンス用通信1/F140を介して外部から制御プログラムをダウンロードして制御プログラム・メモリ112に書き込めば、この装置は、この完成状態では正しい制御動作を実行できる。
【0088】
一方、一旦この完成状態で正しい制御動作を行うようプログラムの書き込みが行われていても、これが製造者以外の悪意のある第三者によって、分解され、上ケース部材551が取り外されると、「筐体分解検出スイッチ」510の状態が「OFF」に反転し、アドレス変換(スクランブル)回路150内のスクランブルパターンが切り替わる。すると、この状態でこの装置の電源が投入されて立ち上げを行っても、制御プログラムに対しては正しいアドレスが与えられないので、マイクロプロセッサ部100は正しい制御を行うことが出来ずに暴走をする。
【0089】
これによって、この機構を組み込んだ通信制御装置は、分解された状態では、正しい制御動作を行うことはなく、その動作を、計測器等を利用して観測したり、解析することも出来なくなる。これによってこの装置の技術的ノウハウの流出を極めて困難な状態にすることができる。
【0090】
[実施の形態6]
図8は、実施の形態6を示す構成図で、この実施の形態6は、先の実施の形態2の機構の中に、「筐体分解検出スイッチ」510を加えたものである。図8では、アドレス変換(スクランブル)回路150のスクランブルパターンを選択するためのキーコードを、外部から挿入するキーカード400からキーコード入力回路160経由で取り込んで動作する。「筐体分解検出スイッチ」510のON・OFF状態が、キーコード入力回路160に与えられていて、これがキーコードをスクランブルするか否かの条件になっている。
【0091】
このような機構を用いると、先の実施の形態2で示したプログラム盗難防止の仕組みを更に強化することができる。
【0092】
つまり、筐体が組み立てられ、装置が完成した状態の場合には、「筐体分解検出スイッチ」510の状態は「ON」になっており、この状態では、キーコード入力回路160の出力であるアドレス変換(スクランブル)回路150のためのキーコードは、正しい値として、アドレス変換(スクランブル)回路150に与えられる。
【0093】
これによって、制御プログラム・メモリ112には正しいアドレスが与えられ、正常なプログラム実行が行われてこの通信制御装置は正常に動作する。一方、この装置の筐体が分解され、上ケース部材501が取り外されて、電源が入れられた場合には、「筐体分解検出スイッチ」510の状態が「OFF」状態となっている。この状態では、キーコード入カ回路160では出力であるアドレス変換(スクランブル)回路150のためのキーコードを変換し、誤った値として、アドレス変換(スクランブル)回路150に与えられる。
【0094】
これによって、制御プログラム・メモリ112には正しいアドレスが与えられないため、マイクロプロセッサ部100は正しい制御を行うことが出来ずに暴走をする。このため、この機構を組み込んだ通信制御装置は、たとえ、セキュリティ強化のために用意されたキーコード(キーカード)が盗まれて準備されたとしても、分解された状態では、正しい制御動作を行うことはなく、その動作を、計測器等を利用して観測したり、解析することも出来なくなる。これによって、この装置の技術的ノウハウの流出を極めて困難な状態にすることができる。
【0095】
[実施の形態7]
図9は、実施の形態7を示す構成図で、この実施の形態7は、上記実施の形態を更に進歩させた方式である。図9において、170はキーコード・レジスタであり、揮発性のSRAM(スタティックRAM)で構成し、バッテリ180でバックアップできるように構成する。
【0096】
また、900は、乱数発生回路であり、「筐体分解検出スイッチ」510が「ON」状態では、キーコード・レジスタ170はバッテリ・バックアップされるが、「OFF」状態になると、このレジスタ170のバツテリ・バツクアツプは解除される。その他の構成要素は、図8と同じである。
【0097】
この実施の形態7では、装置の制御用プログラムは、筐体を含めて全てを組み立てて、構造的に完成させた後に、メインテナンス用通信1/F140を介して、開発装置300等から制御用のプログラムをダウンロードして制御プログラムメモリ112に書き込む。この制御プログラムの書き込み処理に先立って、乱数発生回路900から、乱数を読み出し、この値をユニークなキーコードとしてキーコードレジスタ170にセットする。
【0098】
この状態で生成されたキーコードをアドレス変換(スクランブル)回路150に与えて、スクランブル・パターンを選択する。この状態で、制御プログラムを書き込めば、その後は、キーコードレジスタ170にセットされた値が書き換わらない限りは、この装置は正常な動作を続けることができる。つまり、この装置の筐体が不正に分解され、その内容や動作を、計測器等を利用して観測したり、解析したりしようとしない限りは、正常動作を続けることができる。
【0099】
一方、この装置を分解して、その内容や動作を、計測器等を利用して観測したり、解析したりしようとすると、上ケース部材501を取り外した時点で、「筐体分解検出スイッチ」510が「OFF」となり、キーコード・レジスタ(SRAM)170のバッテリ・バックアップが解除され、同時にここにセットされていたキーコードが消去される。
【0100】
すると、この状態で電源を投入すると、このキーコード・レジスタ170は正しいキーコードを生成することができないので、これがアドレス変換(スクランブル)回路150に与えられても、正しいスクランブル・パターンが選択されない。つまり、この状態では、正しく動作させることはできない。
【0101】
更に、この実施の形態7の装置では、一度、このキーコード・レジスタ170の設定値が消去されてしまうと、再度、乱数発生回路900から、乱数を読み出しても、正常動作のためのキーコードの設定値と一致することはまず考えられないため、この装置は、改めて正しい制御プログラムを書き込むまでは使用できなくなる。更に、この方式では筐体を組み立てて、装置を完成状態にしてもこの装置を正常動作させることができない。これによって、この機構を組み込んだ通信装置は、技術的ノウハウの流出を極めて困難な状態にすることができる。
【0102】
上記実施の形態では、プログラム保護の方式を更に発展させ、当該の通信制御装置が分解されたことを検出するための「筐体分解検出スイッチ」部分を加え、このスイッチを用いたプログラム保護のセキュリティ機能を付加するようにしたものである。
【0103】
上記実施の形態の方式では、この「筐体分解検出スイッチ」により、装置が分解されているか完成状態か(上ケース部材が嵌っているか否か)を検出し、装置が分解された状態では、正常な制御動作を行えなくするような工夫や、または、装置が分解されると、自らの設定状態やプログラムを故意に消去して、その内容の流出を防ぐことができる。
【0104】
上記実施の形態による機構を実際の製品に適用するに当たって、具体的な設計を実施する際に生じる問題点(サイズや加工のし易さ、価格等の問題)を解決する。本発明は、実際の製品をよりコンパクト化し、低価格にて提供することを目指すものである。
【0105】
本発明は、基本的に、図5以降、符号510で記載されている「筐体分解検出スイッチ」部分について、専用の電気部品(スイッチ部品)を使用せず、筐体と制御基板を組み立てて装置を構成する際の機構の中に、この機能を取り込んでしまい、スイッチ部品を使用する場合よりコストを低減させると共に、外部から技術を盗むための悪意ある分解調査を行われても、より判別しにくい仕組みとすることを特長としている。
【0106】
[実施の形態8]
実施の形態8を述べる前に、図10により、一般的な通信制御装置の制御基板を、筐体に取り付ける部分の構造について説明する。図10はその一部拡大斜視図で、図10において、1010は通信制御装置の制御基板、1011は制御基板を筐体に取り付ける際の取り付け孔、1001は通信制御装置の筐体の底板部、1002は制御基板を取り付ける際に、ねじ止めをするためのボス、1003は取り付け用のねじ(金属)である。この場合、ボス1002の上に基板1010を載置してから取り付け、ねじ1003を締め付けることによって、基板1010が筐体に固定される。
【0107】
なお、筐体の底板部1001と、ボス1002は、金属(導電体)の場合とプラスチックのような絶縁体の場合が考えられる。
【0108】
ここで、この装置を完成させる場合には、図10の如き構造によって必ず基板1010を、筐体の底板部1001にねじ止めすることを前提とすると、この部分の構造を用いて、上記した図5〜図9に於ける「筐体分解検出スイッチ」510の代わりをさせることが可能となる。
【0109】
次に、実施の形態8について述べる。図11は、実施の形態8を示す一部拡大斜視図で、図11において、通信制御装置の筐体の底板部1001とボス1002が、金属である場合、制御基板1010の上面のねじ孔1011の周囲部分に銅箔によるランドパターン(以下ランド)1012を形成する。このランド1012部分に、抵抗Rを介して電源レベル(Vccレベル)にプルアップされた「筐体分解検出信号」を接続する。一方、金属筐体の底板部1001と金属製のボス1002は、シグナル・グラウンド・レベルに接地しておく。
【0110】
すると、制御基板1010上の「筐体分解検出信号」は、この基板1010が金属製のねじ1003で筐体の底板部1001に取り付けられた場合には、グラウンド・レベルとなり、取り外されて使用される(電源が供給された)場合には、「H」レベル(論理「1」)となる。
【0111】
図7に示す実施の形態5を、この実施の形態8に当てはめた構成図が、図12である。図12に示すように、図7に示した「筐体分解検出スイッチ」510のあった部分が、取り付けねじと電気的に接触するランド1012となっており、ボス1002がグラウンドに結ばれている。これにより、この基板が筐体に取り付けられると、ランド1012がボス1002のグラウンドと接続され、スイッチであれば「ON」したのと同じ状態となる。
【0112】
一方、基板が取り外された場合には、ランド1012はボス1002と電気的に切り離され、スイッチが「OFF」したのと同じ状態になる。この構成により、専用のスイッチ部品を用いることなく、図7、図8に示した実施の形態2,3の機能を実現できる。
【0113】
このように構成したことにより、図11に示すように、取り外されたり、その内容を外部からスキミングしてデータを盗まれる可能性のあるフラッシュROM等の部品1030は、基板1010の裏側(筐体に取り付ける際に筐体側になり、外から部品に触れない面)にすることが必要であり、この部品1030を調べるためには、必ず基板を筐体から取り外さなくてはならない様にしておく。このようにしておけば、外部の悪意ある第三者が、この制御プログラムを奪おうとする際には、必ず制御基板1010を筐体から取り外さざるを得ず、制御基板1010が筐体から外された状態では、プログラムは正常に実行できなくなる。
【0114】
[実施の形態9]
次に、図13〜図15により実施の形態9について述べる。筐体1001と、ボス1002が共に、プラスチック・モールドのような絶縁物で出来ている場合については、図11に於けるランド1012の代わりに、図13に示すような形状のランドを形成し、その片側ランドを1013a、対になった片側ランドを1013bとする。ここで、その片側ランド1013a部分を、抵抗Rを介して電源レベル(Vccレベル)にプルアップされた「筐体分解検出信号」に接続し、一方の片側ランド1013bは、シグナル・グラウンド・レベルに接地する。
【0115】
この場合の回路を図7に示す実施の形態5の例に当てはめると、図14に示すようになる。図14に示すように、図7における「筐体分解検出スイッチ」510のあった部分が、ランド1013aと、ランド1013bとなっており、ランド1013b側がグランドに結ばれた形になる。
【0116】
このようなパターンを制御基板上に設けた上で、図15のように組み立てる。ここでは、符号1020で示す金属製のワッシャを使用する。
【0117】
図15のように、この基板が筐体に取り付けられると、金属製のワッシャ1020によってランド1013aとランド1013bが電気的に接続され、「筐体分解検出信号」がグラウンドと接続されて、スイッチであれば「ON」したのと同じ状態となる。一方、基板が取り外され、ワッシャ1020が外された場合には、ランド1013aは、ランド1013bと電気的に切り離され、スイッチが「OFF」したのと同じ状態になる。(ワッシャ1020がスイッチの接片機能を果たす。)
このように構成したことにより、専用のスイッチ部品を用いることなく、図7、図8で示した実施の形態5と形態6の機能を実現できる。この構成の場合も、実施の形態8と同様に、取り外されたり、その内容を外部からスキミングしてデータを盗まれる可能性のあるフラッシュROM等の部品1030は、基板1010の裏側(筐体に取り付ける際に筐体側になり、外から部品1030に触れない面)にすることが必要であり、この部品1030を調べるためには、必ず制御基板1010を筐体から取り外さなくてはならない様にしておく。
【0118】
[実施の形態10]
次に、図16と図17により実施の形態10について述べる。筐体1001が、プラスチック・モールドのような絶縁物、ボス1002が金属で出来ている場合については、図11に示すランド1012と同様にランド1014を設けると共に、図16に示すように丁度その裏面にランド1015を形成する。
【0119】
ここで、そのランド1014部分を、抵抗Rを介して電源レベル(Vccレベル)にプルアップされた「筐体分解検出信号」に接続し、一方の裏面側のランド1015はシグナル・グラウンド・レベルに接地する。この場合の回路を図7に示す実施の形態5の例に当てはめると図17に示すようになる。図17に示すように、図7に示した「筐体分解検出スイッチ」510のあった部分が、ランド1014と、ランド1015になっており、ランド1015側がグランドに結ばれた形になる。
【0120】
この例の場合、この基板が筐体に取り付けられると、ランド1014が金属のねじ1003を介してボス(金属)1002と接続され、更に、このボス1002は、ランド1015と接触するので、スイッチであれば「ON」したのと同じ状態となる。一方、基板が取り外された場合には、ランド1014は、ボス1002およびランド1015とは電気的に切り離され、スイッチが「OFF」したのと同じ状態となる。
【0121】
このような構成としたことにより、専用のスイッチ部品を用いることなく、図7、図8で示した実施の形態5と形態6の機能を実現できる。この構成の場合も、取り外されたり、その内容を外部からスキミングしてデータを盗まれる可能性のあるフラッシュROM等の部品1030は、基板1010の裏側(筐体に取り付ける際に筐体側になり、外から部品1030に触れない面)にすることが必要であり、この部品1030を調べるためには、必ず基板1010を筐体から取り外さなくてはならない様にしておく。このようにしておけば、外部の悪意ある第三者、この制御プログラムを奪おうとする際には、必ず制御基板1010を筐体から取り外さざるを得ず、制御基板1010が筐体から外された状態では、プログラムは正常に実行できなくなる。
【図面の簡単な説明】
【0122】
【図1】本発明の実施の形態1を示す構成図。
【図2】アドレス変換(スクランブル)回路の動作説明図。
【図3】本発明の実施の形態2を示す構成図。
【図4】本発明の実施の形態3を示す構成図。
【図5】通信機器の筐体分解検出スイッチの配置手段を示す斜視図。
【図6】本発明の実施の形態4を示す構成図。
【図7】本発明の実施の形態5を示す構成図。
【図8】本発明の実施の形態6を示す構成図。
【図9】本発明の実施の形態7を示す構成図。
【図10】通信機器の制御基板を筐体に取り付ける構成を示す斜視図。
【図11】実施の形態8で使用されるランドパターンとねじ等の斜視図。
【図12】本発明の実施の形態8を示す構成図。
【図13】制御基板取り付け孔部のランドパターンの形状構成図。
【図14】本発明の実施の形態9を示す構成図。
【図15】実施の形態9におけるランドパターンとねじ等の状態を示す具体的な構成図。
【図16】実施の形態10におけるランドパターンとねじ等の状態を示す具体的な構成図。
【図17】本発明の実施の形態10を示す構成図。
【図18】従来の通信制御装置の概略構成図。
【図19】プログラムメモリ内のソフトウェア(プログラム)の構成説明図。
【符号の説明】
【0123】
100…マイクロプロセッサ部
111…初期化プログラム・メモリ
112…制御プログラム・メモリ
120…ワークメモリ
130…通信インターフェース
140…メインテナンス用通信インターフェース
150…アドレス変換(スクランブル)回路
160…キーコード入力回路
170…キーコードレジスタ
180…USBインターフェース
200…通信回線
300…プログラム開発装置
400…キーカード
500…筐体本体
510…筐体分解検出スイッチ
【特許請求の範囲】
【請求項1】
マイクロプロセッサと、制御用ソフトウェア(プログラム)を格納するプログラム・メモリと、プログラム実行上のワークメモリとを有し、マイクロプロセッサがプログラム・メモリ上に格納されたソフトウェア(プログラム)に従い、ワークメモリを使用しながら、通信インタフェースを制御して通信回線との間でデータの授受を行う通信制御装置において、
前記通信制御装置の機器本体内部に筐体分解検出手段を設け、その機器本体を構成する筐体が分解されたことを電気信号の有無として判断し、その検出手段が電気信号有りの状態のときに、前記プログラム・メモリに制御プログラムを書き込んで、装置を使用する一方、その検出手段が、電気信号無しの状態のときに、筐体が分解されたと判断して、装置が立ち上げられた場合には、前記制御プログラムの一部または全部を消去するように、立ち上げプログラムを作成し、その制御プログラムを自ら消去することを特徴とする通信制御装置。
【請求項2】
前記筐体分解検出手段は、物理的電気回路接断手段から構成されることを特徴とする請求項1記載の通信制御装置。
【請求項3】
前記物理的電気回路接断手段は、スイッチ機構による電気回路のオン・オフ手段、あるいは制御基板上のランドパターンと、ねじ、ボスによる物理的電気回路接離による電気回路のオン・オフ手段からなることを特徴とする請求項2記載の通信制御装置。
【請求項4】
マイクロプロセッサと、制御用ソフトウェア(プログラム)を格納するプログラム・メモリと、プログラム実行上のワークメモリとを有し、マイクロプロセッサがプログラム・メモリ上に格納されたソフトウェア(プログラム)に従い、ワークメモリを使用しながら、通信インタフェースを制御して通信回線との間でデータの授受を行う通信制御装置において、
(a)前記マイクロプロセッサが実行するプログラムの格納領域(デバイス)を、初期化プログラム・メモリと制御プログラム・メモリとに分割する手段と、
(b)前記初期化プログラム・メモリは、マイクロプロセッサのアドレス・バスに直結し、制御プログラム・メモリは、アドレス・ラインをバスに直結せず、バスとの間にアドレス変換(スクランブル)回路を挿入し、マイクロプロセッサから与えられるアドレスをスクランブルに入れ替えて接続する手段と、
(c)前記マイクロプロセッサが初期化プログラムを実行して立ち上がった後に、メインテナンス用通信インタフェースを介して外部から制御プログラムをダウンロードして、前記制御プログラム・メモリにそのプログラムを書き込んで、制御動作させる手段とを有し、
前記ソフトウェア(プログラム)の実行によって、制御機能を実現するとともに、前記ソフトウェア(プログラム)が外部に盗み出されることを防いで、前記ソフトウェア(プログラム)の機密保持を実現するようにしたことを特徴とする通信制御装置。
【請求項5】
請求項4記載の通信制御装置において、
前記アドレス変換(スクランブル)回路に数多くのスクランブルパターンを用意しておいて、その内の一つを選択するためのキーコードを入力できる手段を設けるように構成し、そのキーコード入力手段を、キーコード入力回路を介して、外部のキーカードから入力して動作させる手段を設けたことを特徴とする通信制御装置。
【請求項6】
請求項4記載の通信制御装置において、
USBインタフェース機能と、キーコードレジスタを設け、キーコードレジスタにセットした値を前記アドレス変換(スクランブル)回路に与えるように構成し、
装置が初期化プログラムを実行して立ち上がった後に、USBインターフェースを使用して接続されたUSBデバイスから、キーコード・データを読み出して、この値をキーコード・レジスタにセットし、この値を前記アドレス変換(スクランブル)回路に与えることによって、数多く用意されたスクランブルパターンの中から所望の一つを選択し、その後メインテナンス用通信インタフェースを介して外部から制御プログラムをダウンロードして、前記制御プログラム・メモリにそのプログラムを書き込んで、制御動作させるようにすることを特徴とする通信制御装置。
【請求項7】
請求項4記載の通信制御装置において、
筐体分解検出手段の検出信号をアドレス変換(スクランブル)回路に入力し、その検出手段が、検出信号をアドレス変換回路に入力しなくなったとき、筐体が分解されたとして、アドレス変換回路のスクランブルパターンを切り替えるようにしたことを特徴とする通信制御装置。
【請求項8】
請求項5記載の通信制御装置において、
筐体分解検出手段の検出信号をキーコード入力回路に入力し、その検出手段が、検出信号をキーコード入力回路に入力しなくなったとき、筐体が分解されたとして、アドレス変換回路のスクランブルパターンを切り替えるためのキーコードを変更することを特徴とする通信制御装置。
【請求項9】
請求項6記載の通信制御装置において、
前記アドレス変換(スクランブル)回路のスクランブルパターン選択をするキーコードを、揮発性のSRAMによって実現されるキーコード・レジスタから与え、このSRAMによるキーコード・レジスタは、バッテリによってバックアップするかどうかを、筐体分解検出手段からの検出信号の有無の状態によって切り替えるよう構成し、装置内には乱数発生回路を設け、初期段階での制御プログラムのダウンロードと制御プログラムメモリヘの書き込みに先立って、筐体を含んだ装置の組み立てを完成させて置き、乱数発生回路から発生させたランダムな値を、SRAMによるキーコードレジスタにセットし、その後にプログラムの書き込みを行うようにすることによって、アドレス変換(スクランブル)回路のスクランブルパターンを切り替えるためのキーコードを格納しているキーコード・レジスタの内容が、前記検出信号の無のときに、バッテリ・バックアップが切断して消滅してしまうことを特徴とする通信制御装置。
【請求項10】
請求項1又は2記載の通信制御装置において、
前記筐体分解検出手段を実現するための機構として、筐体と制御基板取り付け用のボスが共に導電性がある場合、
前記制御基板上の取り付け孔部分に、抵抗を介して電源レベルにプルアップされた筐体分解検出信号端と接続されたランドパターンを設け、
筐体とボスは信号グラウンドに接地し、制御基板をねじで筐体に取り付けた場合には、筐体分解検出信号レベルが「論理L」、制御基板が筐体から取り外された場合には、この信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする通信制御装置。
【請求項11】
請求項1又は2記載の通信制御装置において、
前記筐体分解検出手段を実現するための機構として、筐体と制御基板取り付け用のボスが共に絶縁体である場合、
前記制御基板上の取り付け孔部分を囲むように、分割された2つのランドパターンを設け、
その一方のパターンは、抵抗を介して電源レベルにプルアップされた筐体分解検出信号端と接続し、
もう一方のランドパターンは信号グラウンドに接地(接続)し、
取り付けねじで制御基板を筐体に固定する際には、このねじに導電性のワッシャを挿入することで、制御基板をねじで筐体に取り付けた場合には、これら2つのランドパターンが電気的に短絡して筐体分解検出信号レベルが「論理L」、制御基板が筐体から取り外された場合には、この2つのランドパターンが開放状態になってこの信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする通信制御装置。
【請求項12】
請求項1又は2記載の通信制御装置において、
前記筐体分解検出手段を実現するための機構として、筐体が絶縁体、制御基板取り付け用のボスが導電体である場合、
前記制御基板上の取り付け孔部分に、抵抗を介して電源レベルにプルアップされた筐体分解検出信号端と接続されたランドパターンを設け、
前記制御基板上、上記ランドパターンの反対面(基板の裏面側)に、もう1つのランドパターンを設けると共に、
この裏面(反対面)側のランドパターンは、信号グラウンドに接地し、制御基板をねじで筐体に取り付けた場合には、基板表面側のランドパターンが導電体ねじと導電体のボスを介して裏面側のランドパターンと電気的に接続状態となって筐体分解検出信号レベルが「論理L」となり、制御基板が筐体から取り外された場合には、この接続が切断されることによって、この信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする通信制御装置。
【請求項1】
マイクロプロセッサと、制御用ソフトウェア(プログラム)を格納するプログラム・メモリと、プログラム実行上のワークメモリとを有し、マイクロプロセッサがプログラム・メモリ上に格納されたソフトウェア(プログラム)に従い、ワークメモリを使用しながら、通信インタフェースを制御して通信回線との間でデータの授受を行う通信制御装置において、
前記通信制御装置の機器本体内部に筐体分解検出手段を設け、その機器本体を構成する筐体が分解されたことを電気信号の有無として判断し、その検出手段が電気信号有りの状態のときに、前記プログラム・メモリに制御プログラムを書き込んで、装置を使用する一方、その検出手段が、電気信号無しの状態のときに、筐体が分解されたと判断して、装置が立ち上げられた場合には、前記制御プログラムの一部または全部を消去するように、立ち上げプログラムを作成し、その制御プログラムを自ら消去することを特徴とする通信制御装置。
【請求項2】
前記筐体分解検出手段は、物理的電気回路接断手段から構成されることを特徴とする請求項1記載の通信制御装置。
【請求項3】
前記物理的電気回路接断手段は、スイッチ機構による電気回路のオン・オフ手段、あるいは制御基板上のランドパターンと、ねじ、ボスによる物理的電気回路接離による電気回路のオン・オフ手段からなることを特徴とする請求項2記載の通信制御装置。
【請求項4】
マイクロプロセッサと、制御用ソフトウェア(プログラム)を格納するプログラム・メモリと、プログラム実行上のワークメモリとを有し、マイクロプロセッサがプログラム・メモリ上に格納されたソフトウェア(プログラム)に従い、ワークメモリを使用しながら、通信インタフェースを制御して通信回線との間でデータの授受を行う通信制御装置において、
(a)前記マイクロプロセッサが実行するプログラムの格納領域(デバイス)を、初期化プログラム・メモリと制御プログラム・メモリとに分割する手段と、
(b)前記初期化プログラム・メモリは、マイクロプロセッサのアドレス・バスに直結し、制御プログラム・メモリは、アドレス・ラインをバスに直結せず、バスとの間にアドレス変換(スクランブル)回路を挿入し、マイクロプロセッサから与えられるアドレスをスクランブルに入れ替えて接続する手段と、
(c)前記マイクロプロセッサが初期化プログラムを実行して立ち上がった後に、メインテナンス用通信インタフェースを介して外部から制御プログラムをダウンロードして、前記制御プログラム・メモリにそのプログラムを書き込んで、制御動作させる手段とを有し、
前記ソフトウェア(プログラム)の実行によって、制御機能を実現するとともに、前記ソフトウェア(プログラム)が外部に盗み出されることを防いで、前記ソフトウェア(プログラム)の機密保持を実現するようにしたことを特徴とする通信制御装置。
【請求項5】
請求項4記載の通信制御装置において、
前記アドレス変換(スクランブル)回路に数多くのスクランブルパターンを用意しておいて、その内の一つを選択するためのキーコードを入力できる手段を設けるように構成し、そのキーコード入力手段を、キーコード入力回路を介して、外部のキーカードから入力して動作させる手段を設けたことを特徴とする通信制御装置。
【請求項6】
請求項4記載の通信制御装置において、
USBインタフェース機能と、キーコードレジスタを設け、キーコードレジスタにセットした値を前記アドレス変換(スクランブル)回路に与えるように構成し、
装置が初期化プログラムを実行して立ち上がった後に、USBインターフェースを使用して接続されたUSBデバイスから、キーコード・データを読み出して、この値をキーコード・レジスタにセットし、この値を前記アドレス変換(スクランブル)回路に与えることによって、数多く用意されたスクランブルパターンの中から所望の一つを選択し、その後メインテナンス用通信インタフェースを介して外部から制御プログラムをダウンロードして、前記制御プログラム・メモリにそのプログラムを書き込んで、制御動作させるようにすることを特徴とする通信制御装置。
【請求項7】
請求項4記載の通信制御装置において、
筐体分解検出手段の検出信号をアドレス変換(スクランブル)回路に入力し、その検出手段が、検出信号をアドレス変換回路に入力しなくなったとき、筐体が分解されたとして、アドレス変換回路のスクランブルパターンを切り替えるようにしたことを特徴とする通信制御装置。
【請求項8】
請求項5記載の通信制御装置において、
筐体分解検出手段の検出信号をキーコード入力回路に入力し、その検出手段が、検出信号をキーコード入力回路に入力しなくなったとき、筐体が分解されたとして、アドレス変換回路のスクランブルパターンを切り替えるためのキーコードを変更することを特徴とする通信制御装置。
【請求項9】
請求項6記載の通信制御装置において、
前記アドレス変換(スクランブル)回路のスクランブルパターン選択をするキーコードを、揮発性のSRAMによって実現されるキーコード・レジスタから与え、このSRAMによるキーコード・レジスタは、バッテリによってバックアップするかどうかを、筐体分解検出手段からの検出信号の有無の状態によって切り替えるよう構成し、装置内には乱数発生回路を設け、初期段階での制御プログラムのダウンロードと制御プログラムメモリヘの書き込みに先立って、筐体を含んだ装置の組み立てを完成させて置き、乱数発生回路から発生させたランダムな値を、SRAMによるキーコードレジスタにセットし、その後にプログラムの書き込みを行うようにすることによって、アドレス変換(スクランブル)回路のスクランブルパターンを切り替えるためのキーコードを格納しているキーコード・レジスタの内容が、前記検出信号の無のときに、バッテリ・バックアップが切断して消滅してしまうことを特徴とする通信制御装置。
【請求項10】
請求項1又は2記載の通信制御装置において、
前記筐体分解検出手段を実現するための機構として、筐体と制御基板取り付け用のボスが共に導電性がある場合、
前記制御基板上の取り付け孔部分に、抵抗を介して電源レベルにプルアップされた筐体分解検出信号端と接続されたランドパターンを設け、
筐体とボスは信号グラウンドに接地し、制御基板をねじで筐体に取り付けた場合には、筐体分解検出信号レベルが「論理L」、制御基板が筐体から取り外された場合には、この信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする通信制御装置。
【請求項11】
請求項1又は2記載の通信制御装置において、
前記筐体分解検出手段を実現するための機構として、筐体と制御基板取り付け用のボスが共に絶縁体である場合、
前記制御基板上の取り付け孔部分を囲むように、分割された2つのランドパターンを設け、
その一方のパターンは、抵抗を介して電源レベルにプルアップされた筐体分解検出信号端と接続し、
もう一方のランドパターンは信号グラウンドに接地(接続)し、
取り付けねじで制御基板を筐体に固定する際には、このねじに導電性のワッシャを挿入することで、制御基板をねじで筐体に取り付けた場合には、これら2つのランドパターンが電気的に短絡して筐体分解検出信号レベルが「論理L」、制御基板が筐体から取り外された場合には、この2つのランドパターンが開放状態になってこの信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする通信制御装置。
【請求項12】
請求項1又は2記載の通信制御装置において、
前記筐体分解検出手段を実現するための機構として、筐体が絶縁体、制御基板取り付け用のボスが導電体である場合、
前記制御基板上の取り付け孔部分に、抵抗を介して電源レベルにプルアップされた筐体分解検出信号端と接続されたランドパターンを設け、
前記制御基板上、上記ランドパターンの反対面(基板の裏面側)に、もう1つのランドパターンを設けると共に、
この裏面(反対面)側のランドパターンは、信号グラウンドに接地し、制御基板をねじで筐体に取り付けた場合には、基板表面側のランドパターンが導電体ねじと導電体のボスを介して裏面側のランドパターンと電気的に接続状態となって筐体分解検出信号レベルが「論理L」となり、制御基板が筐体から取り外された場合には、この接続が切断されることによって、この信号レベルが「論理H」となることを利用して、筐体が分解されたことを検知することを特徴とする通信制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2009−25852(P2009−25852A)
【公開日】平成21年2月5日(2009.2.5)
【国際特許分類】
【出願番号】特願2007−185171(P2007−185171)
【出願日】平成19年7月17日(2007.7.17)
【出願人】(000006105)株式会社明電舎 (1,739)
【Fターム(参考)】
【公開日】平成21年2月5日(2009.2.5)
【国際特許分類】
【出願日】平成19年7月17日(2007.7.17)
【出願人】(000006105)株式会社明電舎 (1,739)
【Fターム(参考)】
[ Back to top ]