説明

データ出力方法、データ出力システム、プログラマブル装置、データ出力装置、及びコンピュータプログラム

【課題】 所要の論理回路が形成されているプログラマブル装置が不正に模造されることを防止することができるデータ出力方法、データ出力システム、プログラマブル装置、データ出力装置、及びコンピュータプログラムを提供する。
【解決手段】 データ出力装置1の固有情報及び装置固有情報をセキュリティキーとして用い、固有情報がソフトウェアの認証情報に一致しないか、装置固有情報が入力認証情報に一致しない場合、第1回路データが第1プログラマブルIC21に入力されること、及び/又は第2回路データが第2プログラマブルIC221,222,223に入力されることを防止する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ出力装置から、FPGA(Field Programmable Gate Array )のようなプログラマブルICを備えるプログラマブル装置へ、論理回路を形成させるための回路データを出力するデータ出力方法、データ出力システム、プログラマブル装置、データ出力装置、及びコンピュータプログラムに関する。
【背景技術】
【0002】
半導体デバイスの試験を行なう半導体試験装置は、DUT(Device Under Test )の変更にフレキシブルに対応するために、プログラマブル装置を用いて構成されている。プログラマブル装置は、その内部のロジック構成を外部から決定することができるFPGAのようなプログラマブルICを備える。プログラマブルICは、FPGAのプログラミング用のコンピュータから入力された回路データに基づき、DUTを試験するための様々な機能を有する論理回路を形成する。
【0003】
しかしながら、FPGAは汎用ICであるため、従来、プログラミング用のコンピュータが有する回路データを第三者にコピーされた場合、半導体試験装置が不正に模造されることがあった。即ち、第三者が、コピーした回路データと他のコンピュータとを用いてプログラミング用のコンピュータを得て、更にこのコンピュータとFPGAを備える他のプログラマブル装置とを用いて半導体試験装置を不正に模造することがあった。
【0004】
半導体試験装置が不正に模造されることを防止するためには、半導体試験装置に備えられるFPGA以外のICとしてカスタムICを用いることが考えられる。
【0005】
また、プログラミング用のコンピュータが、暗号化された回路データを有し、半導体試験装置が、暗号化された回路データを復号するデコーダ部を備え、コンピュータから入力された回路データをデコーダ部で復号し、復号された回路データに基づいてFPGAが論理回路を形成するデータ出力システムが提案されている。この場合、コンピュータが有する回路データをコピーされたときでも、回路データが暗号化されており、回路データの復号は半導体試験装置が備えるデコーダ部が行なうため、第三者に半導体試験装置が不正に模造されることが防止される(特許文献1参照)。
【特許文献1】特開2004−7472号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、半導体試験装置にカスタムICを用いる場合、カスタムICは高価であるため、半導体試験装置のコストが増大するという問題があった。
【0007】
また、暗号化された回路データを用いる場合、半導体試験装置がデコーダ部を備える必要があるため、デコーダ部を備える分だけ半導体試験装置のコストが増大するという問題があった。
【0008】
本発明は斯かる問題を解決するためになされたものであり、プログラミング用のコンピュータであるデータ出力装置が有するソフトウェアの認証情報とハードウェアの固有情報とが対応している場合、データ出力装置からプログラマブル装置へ、プログラマブル装置のプログラマブルICに入力すべき回路データを出力することにより、正規のデータ出力装置によって、プログラマブル装置に所要の論理回路を形成させることができるデータ出力方法、データ出力システム、プログラマブル装置、データ出力装置、及びコンピュータプログラムを提供することを目的とする。
【0009】
本発明の他の目的は、認証情報と固有情報とが対応していない場合、データ出力装置からプログラマブル装置へ回路データを出力しない構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に所要の論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【0010】
本発明の他の目的は、回路データを出力しない場合、データ出力装置からプログラマブル装置へ異種回路データを出力する構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に無意味な異種回路を形成させることができ、所要の論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【0011】
本発明の他の目的は、認証情報と固有情報とが対応している場合、データ出力装置が有するソフトウェアの入力認証情報とハードウェアの装置固有情報とが対応しているとき、データ出力装置からプログラマブル装置へ、回路データと、プログラマブル装置の後段プログラマブルICに入力すべき後段回路データとを出力する構成とすることにより、正規のデータ出力装置によって、プログラマブル装置に所要の論理回路及び後段論理回路を形成させることができるデータ出力システムを提供することにある。
【0012】
本発明の他の目的は、論理回路が備えるスイッチ回路が、論理回路及び後段プログラマブルICの接続/遮断を切り換える構成とすることにより、正規のデータ出力装置によって、プログラマブル装置に所要の後段論理回路を形成させることができ、不正なデータ出力装置によって後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【0013】
本発明の他の目的は、入力認証情報と装置固有情報とが対応していない場合、プログラマブル装置の後段プログラマブルICに後段回路データが入力されない構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に所要の後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【0014】
本発明の他の目的は、プログラマブル装置の後段プログラマブルICに後段回路データが入力されないように、データ出力装置からプログラマブル装置へ、後段回路データを出力する代わりに異種後段回路データを出力する構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に無意味な異種論理回路を形成させることができ、所要の後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【0015】
本発明の他の目的は、プログラマブル装置の後段プログラマブルICに後段回路データが入力されないように、データ出力装置からプログラマブル装置へ、正規のパスワードの代わりに不正なパスワードを出力する構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に所要の後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【0016】
本発明の他の目的は、プログラマブル装置の後段プログラマブルICに後段回路データが入力されないように、データ出力装置からプログラマブル装置へ乱数生成コマンドの代わりに不正なコマンドを出力する構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に所要の後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【0017】
本発明の更に他の目的は、プログラマブル装置の後段プログラマブルICに後段回路データが入力されないように、データ出力装置からプログラマブル装置へパスワード比較コマンドの代わりに不正なコマンドを出力する構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に所要の後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【課題を解決するための手段】
【0018】
本発明に係るデータ出力方法は、入力された回路データに基づいて論理回路を形成するプログラマブルICを有するプログラマブル装置へ出力すべき回路データと、前記プログラマブルICに対する前記回路データの入力を認証するための認証情報とを記憶してあり、自身の固有情報を有するデータ出力装置から、前記プログラマブル装置へ前記回路データを出力するデータ出力方法であって、前記データ出力装置が、前記認証情報及び前記固有情報が対応しているか否かを判定し、前記認証情報及び前記固有情報が対応していると判定した場合、前記プログラマブル装置へ前記回路データを出力することを特徴とする。
【0019】
本発明に係るデータ出力システムは、入力された回路データに基づいて論理回路を形成するプログラマブルICを有するプログラマブル装置と、該プログラマブル装置へ出力すべき回路データを記憶してあるデータ記憶手段、及び、該データ記憶手段に記憶してある回路データを前記プログラマブル装置へ出力する出力手段を有するデータ出力装置とを備えるデータ出力システムであって、前記データ出力装置は、該データ出力装置自身の固有情報を有しており、前記プログラマブルICに対する前記回路データの入力を認証するための認証情報を記憶してある認証情報記憶手段と、該認証情報記憶手段に記憶してある認証情報、及び、前記固有情報が対応しているか否かを判定する判定手段とを備え、該判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記出力手段による前記回路データの出力処理を実行するようにしてあることを特徴とする。
【0020】
本発明に係るデータ出力システムは、前記判定手段が、前記認証情報及び前記固有情報が対応していないと判定した場合、前記出力手段による前記回路データの出力処理を実行しないようにしてあることを特徴とする。
【0021】
本発明に係るデータ出力システムは、前記データ記憶手段は、前記回路データとは異なる異種回路データを記憶してあり、前記データ出力装置は、前記データ記憶手段に記憶してある異種回路データを前記プログラマブル装置へ出力する異種出力手段を備え、前記出力手段による前記回路データの出力処理を実行しない場合、前記異種出力手段による前記異種回路データの出力処理を実行するようにしてあり、前記プログラマブルICは、入力された異種回路データに基づいて前記論理回路とは異なる異種回路を形成するようにしてあることを特徴とする。
【0022】
本発明に係るデータ出力システムは、前記プログラマブル装置は、前記プログラマブルICの後段に設けられ、前記プログラマブルICに形成された前記論理回路を介して入力された後段回路データに基づいて後段論理回路を形成する後段プログラマブルICを有し、前記データ記憶手段は、前記後段プログラマブルICへ出力すべき後段回路データを記憶してあり、前記認証情報記憶手段は、前記認証情報とは異なり、前記後段プログラマブルICに対する前記後段回路データの入力を認証するための入力認証情報を記憶してあり、前記データ出力装置は、該データ出力装置自身に固有であり、前記固有情報とは異なる装置固有情報を有しており、前記出力手段による前記回路データの出力処理の実行後、前記データ記憶手段に記憶してある後段回路データを前記プログラマブル装置へ出力するデータ出力手段と、前記認証情報記憶手段に記憶してある入力認証情報、及び、前記装置固有情報が対応しているか否かを判定する対応判定手段とを備え、前記判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記対応判定手段が、前記入力認証情報及び前記装置固有情報が対応していると判定したときに、前記データ出力手段による前記後段回路データの出力処理を実行するようにしてあることを特徴とする。
【0023】
本発明に係るデータ出力システムは、前記回路データはパスワード生成アルゴリズムを含んでおり、前記論理回路は、前記データ出力装置から乱数生成コマンドが入力された場合に乱数を生成する乱数生成回路と、該乱数生成回路が生成した乱数、及び前記回路データに含まれているパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成回路と、前記データ出力装置からパスワード比較コマンドが入力された場合に、前記データ出力装置から入力されたパスワード及び前記パスワード生成回路が生成したパスワードを比較するパスワード比較回路と、該パスワード比較回路の比較結果に基づいて、前記論理回路及び前記後段プログラマブルICの接続/遮断を切り換えるスイッチ回路とを備えることを特徴とする。
【0024】
本発明に係るデータ出力システムは、前記データ出力装置は、前記出力手段による前記回路データの出力処理の実行後、前記乱数生成回路に乱数を生成させる乱数生成コマンドを前記プログラマブル装置へ出力する生成命令出力手段と、前記乱数生成回路が生成した乱数を前記プログラマブル装置から取得する乱数取得手段と、該乱数取得手段が取得した乱数、及び前記データ記憶手段に記憶してある回路データに含まれているパスワード生成アルゴリズムと同一のパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成手段と、該パスワード生成手段が生成したパスワードを前記プログラマブル装置へ出力するパスワード出力手段と、前記パスワード比較回路にパスワードを比較させるパスワード比較コマンドを前記プログラマブル装置へ出力する比較命令出力手段とを備え、前記パスワード出力手段による前記パスワードの出力処理の実行後、前記データ出力手段による前記後段回路データの出力処理を実行するようにしてあり、前記対応判定手段が、前記入力認証情報及び前記装置固有情報が対応していないと判定した場合、前記生成命令出力手段による乱数生成コマンドの出力処理、前記乱数取得手段による乱数の取得処理、前記パスワード生成手段によるパスワードの生成処理、前記パスワード出力手段によるパスワードの出力処理、前記比較命令出力手段によるパスワード比較コマンドの出力処理、及び、前記データ出力手段による前記後段回路データの出力処理の内、少なくとも一つの処理を実行しないようにしてあることを特徴とする。
【0025】
本発明に係るデータ出力システムは、前記データ記憶手段は、前記後段回路データとは異なる異種後段回路データを記憶してあり、前記データ出力装置は、前記データ記憶手段に記憶してある異種後段回路データを前記プログラマブル装置へ出力する異種データ出力手段を備え、前記データ出力手段による前記後段回路データの出力処理を実行しない場合、前記異種データ出力手段による前記異種後段回路データの出力処理を実行するようにしてあり、前記後段プログラマブルICは、入力された異種後段回路データに基づいて前記後段論理回路とは異なる異種論理回路を形成するようにしてあることを特徴とする。
【0026】
本発明に係るデータ出力システムは、前記データ出力装置は、前記パスワード生成手段によるパスワードの生成処理を実行しない場合、前記乱数取得手段が取得した乱数、及び前記パスワード生成アルゴリズムとは異なるパスワード生成アルゴリズムに基づいてパスワードを生成する異種パスワード生成手段と、該異種パスワード生成手段が生成したパスワードを前記プログラマブル装置へ出力する異種パスワード出力手段とを備えることを特徴とする。
【0027】
本発明に係るデータ出力システムは、前記データ出力装置は、前記生成命令出力手段による乱数生成コマンドの出力処理を実行しない場合、前記乱数生成コマンドとは異なるコマンドを前記プログラマブル装置へ出力する異種乱数生成命令出力手段を備えることを特徴とする。
【0028】
本発明に係るデータ出力システムは、前記データ出力装置は、前記比較命令出力手段によるパスワード比較コマンドの出力処理を実行しない場合、前記パスワード比較コマンドとは異なるコマンドを前記プログラマブル装置へ出力する異種比較命令出力手段を備えることを特徴とする。
【0029】
本発明に係るプログラマブル装置は、外部から入力された回路データに基づいて論理回路を形成するプログラマブルICと、該プログラマブルICの後段に設けられ、前記プログラマブルICに形成された前記論理回路を介して外部から入力された後段回路データに基づいて後段論理回路を形成する後段プログラマブルICとを備えるプログラマブル装置であって、前記回路データはパスワード生成アルゴリズムを含んでおり、前記論理回路は、外部から乱数生成コマンドが入力された場合に乱数を生成する乱数生成回路と、該乱数生成回路が生成した乱数、及び前記回路データに含まれているパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成回路と、外部からパスワード比較コマンドが入力された場合に、外部から入力されたパスワード及び前記パスワード生成回路が生成したパスワードを比較するパスワード比較回路と、該パスワード比較回路の比較結果に基づいて、前記論理回路及び前記後段プログラマブルICの接続/遮断を切り換えるスイッチ回路とを備えることを特徴とする。
【0030】
本発明に係るデータ出力装置は、データ記憶手段に記憶してある回路データを外部へ出力する出力手段を備えるデータ出力装置であって、自身の固有情報を有しており、外部に対する前記回路データの入力を認証するための認証情報を記憶してある認証情報記憶手段と、該認証情報記憶手段に記憶してある認証情報、及び、前記固有情報が対応しているか否かを判定する判定手段とを備え、該判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記出力手段による前記回路データの出力処理を実行するようにしてあることを特徴とする。
【0031】
本発明に係るコンピュータプログラムは、回路データと、外部に対する前記回路データの入力を認証するための認証情報とを記憶してあり、自身の固有情報を有するコンピュータに、前記認証情報及び前記固有情報が対応しているか否かを判定させるステップと、前記認証情報及び前記固有情報が対応していると判定された場合、前記回路データを外部へ出力させるステップとを実行させることを特徴とする。
【0032】
本発明にあっては、プログラマブル装置が、データ出力装置から回路データが入力されるプログラマブルICを備える。回路データの入力によって、プログラマブルICには論理回路が形成される。
【0033】
データ出力装置は、データ記憶手段に、プログラマブル装置へ出力すべき回路データを記憶してある。また、データ出力装置は、自身に固有の固有情報を有する。この固有情報は、データ出力装置の製造番号、MACアドレス、データ出力装置が備える入出力ポートに接続してあるドングルのようなハードキーが有するID等である。更に、データ出力装置は、認証情報記憶手段に、プログラマブルICに対する回路データの入力を認証するための認証情報を記憶してある。
【0034】
固有情報は、ハードウェア(データ出力装置として機能すべきコンピュータ)に一義的に対応し、認証情報は、正規のデータ出力装置に一義的に対応するよう、予めソフトウェア(例えば回路データ、及び/又はコンピュータをデータ出力装置として機能させるコンピュータプログラム)に付与してある。固有情報の盗用を防止するためには、固有情報として製造番号の任意の一部を用いる、製造番号とMACアドレスを適宜組み合わせた情報を用いる等、第三者に推察され難い固有情報を用いることが望ましい。
【0035】
データ出力装置の判定手段は、出力手段による回路データの出力処理の実行前に、認証情報記憶手段に記憶してある認証情報と、自身の固有情報とが対応しているか否かを判定する。認証情報と固有情報とが対応しているか否かの判定は、認証情報と固有情報とが一致しているか否か、認証情報と固有情報とを用いた適宜の演算の結果が所定の値であるか否か等を判定することによって行なう。
【0036】
ソフトウェアを所定のコンピュータにインストールした場合、正規のデータ出力装置が得られる。正規のデータ出力装置が備える認証情報記憶手段には、このデータ出力装置の固有情報に対応する認証情報が記憶される。即ち、正規のデータ出力装置においては、認証情報と固有情報とが対応する。
【0037】
判定手段が、認証情報と固有情報とが対応していると判定した場合、データ出力装置の出力手段が、データ記憶手段に記憶してある回路データをプログラマブル装置へ出力する。このとき、プログラマブル装置のプログラマブルICに回路データが入力され、プログラマブルICは、入力された回路データに基づいて論理回路を形成する。
【0038】
以上のことから、正規のデータ出力装置によって、プログラマブル装置に論理回路が形成される。
【0039】
一方、ソフトウェアを所定のコンピュータ以外のコンピュータにインストールした場合、例えばデータ出力装置が備えるデータ記憶手段及び認証情報記憶手段に記憶してある回路データ及び認証情報をコピーすることによって不正に入手したソフトウェアをコンピュータにインストールした場合、不正なデータ出力装置が得られる。ただし、不正なデータ出力装置が備える認証情報記憶手段には、このデータ出力装置の固有情報に対応する認証情報ではなく、正規のデータ出力装置の固有情報に対応する認証情報が記憶される。即ち、不正なデータ出力装置においては、認証情報と固有情報とが対応しない。
【0040】
判定手段が、認証情報と固有情報とが対応していないと判定した場合は、例えば、出力手段による回路データの出力処理を実行しないか、出力手段による回路データの出力処理の実行後に、プログラマブル装置側で、プログラマブルICに対する回路データの入力を阻止すれば良い。
【0041】
以上のことから、不正なデータ出力装置による場合は、プログラマブル装置に論理回路が形成されることはない。
【0042】
つまり、本発明においては、データ出力装置の認証情報及び固有情報は、論理回路の形成の実行可否を判定するセキュリティキーとして用いられる。
【0043】
本発明にあっては、判定手段が、認証情報と固有情報とが対応していないと判定した場合、出力手段による回路データの出力処理を実行しない。出力手段による回路データの出力処理を実行しないときは、プログラマブルICに論理回路が形成されない。
【0044】
以上のことから、不正なデータ出力装置による場合は、プログラマブル装置に論理回路が形成されることはない。また、プログラマブル装置側で、プログラマブルICに対する回路データの入力を阻止する必要がない。このため、プログラマブル装置の構成が簡易になる。
【0045】
本発明にあっては、データ出力装置のデータ記憶手段に、回路データとは異なる異種回路データを記憶してある。出力手段による回路データの出力処理を実行しない場合、異種出力手段が、データ記憶手段に記憶してある異種回路データをプログラマブル装置へ出力する。このとき、プログラマブル装置のプログラマブルICは、論理回路を形成せず、入力された異種回路データに基づく無意味な異種回路を形成する。
【0046】
以上のことから、不正なデータ出力装置による場合は、プログラマブル装置に論理回路が形成されることはない。
【0047】
本発明にあっては、プログラマブル装置が、データ出力装置から直接的に回路データが入力されるプログラマブルICを備える。回路データの入力によって、プログラマブルICには論理回路が形成される。また、プログラマブル装置は、プログラマブルICに形成された論理回路を介して後段回路データが入力され、データ出力装置から直接的には後段回路データが入力されない後段プログラマブルICを更に備える。後段回路データの入力によって、後段プログラマブルICには後段論理回路が形成される。プログラマブル装置は、少なくとも後段論理回路が形成された場合に、所要の機能(例えば半導体試験装置としての機能)を有する。
【0048】
データ出力装置は、データ記憶手段に、回路データだけでなく、プログラマブル装置へ出力すべき後段回路データを記憶してある。また、データ出力装置は、固有情報だけでなく、自身に固有の装置固有情報を有し、また、認証情報記憶手段に、後段プログラマブルICに対する後段回路データの入力を認証するための入力認証情報が更に記憶してある。装置固有情報は固有情報とは異なり、入力認証情報は、認証情報とは異なる。
【0049】
装置固有情報は、ハードウェアに一義的に対応し、入力認証情報は、正規のデータ出力装置に一義的に対応するよう、予めソフトウェアに付与してある。装置固有情報の盗用を防止するためには、固有情報と同様に、第三者に推察され難い装置固有情報を用いることが望ましい。また、例えば、固有情報としてコンピュータの製造番号を用いる場合、装置固有情報としてドングルのIDを用いるようにして、第三者に盗用され難い固有情報及び装置固有情報を用いることが望ましい。
【0050】
データ出力装置の対応判定手段は、認証情報記憶手段に記憶してある入力認証情報、及び、データ出力装置に固有の装置固有情報が対応しているか否かを判定する。入力認証情報と装置固有情報とが対応しているか否かの判定は、入力認証情報と装置固有情報とが一致しているか否か、入力認証情報と装置固有情報とを用いた適宜の演算の結果が所定の値であるか否か等を判定することによって行なう。
【0051】
正規のデータ出力装置が備える認証情報記憶手段には、このデータ出力装置の固有情報に対応する認証情報と装置固有情報に対応する入力認証情報とが記憶される。即ち、正規のデータ出力装置においては、認証情報と固有情報とが対応し、入力認証情報と装置固有情報とが対応する。
【0052】
判定手段が、認証情報と固有情報とが対応していると判定した場合、対応判定手段が、入力認証情報及び装置固有情報が対応していると判定したとき、データ出力装置の出力手段が、データ記憶手段に記憶してある回路データをプログラマブル装置へ出力する。このとき、プログラマブル装置のプログラマブルICに回路データが入力され、プログラマブルICは、入力された回路データに基づいて論理回路を形成する。更に、データ出力装置の出力手段が回路データを出力した後、データ出力手段が、データ記憶手段に記憶してある後段回路データをプログラマブル装置へ出力する。このとき、プログラマブル装置のプログラマブルICに形成してある論理回路を介して後段プログラマブルICに後段回路データが入力され、後段プログラマブルICは、入力された後段回路データに基づいて後段論理回路を形成する。
【0053】
以上のことから、正規のデータ出力装置によって、プログラマブル装置に論理回路及び後段論理回路が形成される。
【0054】
一方、不正なデータ出力装置においては、例えば正規のデータ出力装置の固有情報及び装置固有情報の両方が盗用されない限り、認証情報と固有情報と、及び、入力認証情報と装置固有情報との内、一方又は両方が対応しない。
【0055】
判定手段が、認証情報と固有情報とが対応していないと判定した場合は、例えば、出力手段による回路データの出力処理を実行しないか、出力手段による回路データの出力処理の実行後に、プログラマブル装置側で、プログラマブルICに対する回路データの入力を阻止すれば良い。この場合、プログラマブルICに論理回路が形成されないため、データ出力手段による後段回路データの出力処理が実行されたときでも、論理回路を介して後段プログラマブルICに後段回路データが入力されることもなく、この結果、後段プログラマブルICは後段論理回路を形成しない。
【0056】
また、対応判定手段が、入力認証情報及び装置固有情報が対応していないと判定したときは、データ出力手段による後段回路データの出力処理を実行しないか、データ出力手段による後段回路データの出力処理の実行後に、プログラマブル装置側で、後段プログラマブルICに対する後段回路データの入力を阻止すれば良い。
【0057】
以上のことから、不正なデータ出力装置による場合は、プログラマブル装置に論理回路及び後段論理回路の両方が形成されることはない。
【0058】
つまり、本発明においては、データ出力装置の認証情報及び固有情報、並びに入力認証情報及び装置固有情報は、論理回路及び後段論理回路の形成の実行可否を判定するセキュリティキーとして用いられる。
【0059】
本発明にあっては、データ出力装置の出力手段による回路データの出力処理が実行され、プログラマブル装置のプログラマブルICが、入力された回路データに基づいて論理回路を形成した場合、形成された論理回路は、データ出力装置からコマンドが入力されるようにしてある乱数生成回路と、パスワード生成回路と、データ出力装置からコマンド及びパスワードが入力されるようにしてあるパスワード比較回路と、スイッチ回路とを備える。
【0060】
このような論理回路は、データ出力装置から乱数生成回路に乱数生成コマンドが入力され、データ出力装置からパスワード比較回路にパスワード比較コマンドと、パスワード生成回路が生成したパスワードに一致するパスワードとが入力された場合に、スイッチ回路が、論理回路及び後段プログラマブルICを接続する。更に、データ出力装置から後段回路データが入力されたとき、入力された後段回路データは、論理回路を介して後段プログラマブルICに入力され、後段プログラマブルICは、入力された後段回路データに基づいて後段論理回路を形成する。
【0061】
ただし、例えば、データ出力装置からパスワード比較回路に、パスワード生成回路が生成したパスワードに一致しないパスワードが入力された場合は、スイッチ回路が、論理回路及び後段プログラマブルICを遮断する。このとき、データ出力装置から後段回路データが入力されたか否かにかかわらず、後段回路データが論理回路を介して後段プログラマブルICに入力されることはなく、このため、後段プログラマブルICは後段論理回路を形成しない。つまり、このような論理回路は、データ出力手段の対応判定手段が、入力認証情報及び装置固有情報が対応していないと判定したときに、プログラマブル装置側で後段プログラマブルICに対する後段回路データの入力を阻止する手段として機能する。
【0062】
以上のことから、正規のデータ出力装置によって、プログラマブル装置に論理回路及び後段論理回路が形成され、不正なデータ出力装置による場合は、プログラマブル装置に後段論理回路が形成されることはない。
【0063】
本発明にあっては、データ出力装置の対応判定手段が、入力認証情報及び装置固有情報が対応していると判定した場合、出力手段による回路データの出力処理の実行後、つまりプログラマブルICにおける論理回路の形成後、生成命令出力手段は、乱数生成コマンドをプログラマブル装置へ出力する。プログラマブル装置の乱数生成回路は、乱数生成コマンドが入力された場合に乱数を生成し、パスワード生成回路は、乱数生成回路が生成した乱数、及び、プログラマブルICに入力された回路データに含まれているパスワード生成アルゴリズムに基づいてパスワードを生成する。
【0064】
データ出力装置の乱数取得手段は、プログラマブル装置から、乱数生成回路が生成した乱数を取得し、パスワード生成手段は、乱数取得手段が取得した乱数、及び回路データに含まれているパスワード生成アルゴリズム、即ちプログラマブル装置のパスワード生成回路が用いるパスワード生成アルゴリズムと同一のパスワード生成アルゴリズムに基づいてパスワードを生成する。
【0065】
更に、比較命令出力手段は、パスワード比較コマンドをプログラマブル装置へ出力し、パスワード出力手段は、パスワード生成手段が生成したパスワードをプログラマブル装置へ出力する。プログラマブル装置のパスワード比較回路は、パスワード比較コマンドが入力された場合に、入力されたパスワード及びプログラマブル装置のパスワード生成回路が生成したパスワードを比較する。
【0066】
スイッチ回路は、パスワード比較回路の比較結果に基づいて、論理回路及び後段プログラマブルICの接続/遮断を切り換える。
【0067】
具体的には、パスワード比較回路が比較した2つのパスワードが一致した場合、スイッチ回路は、論理回路及び後段プログラマブルICを接続する。このとき、データ出力装置からプログラマブル装置に入力された後段回路データは、論理回路を介して後段プログラマブルICに入力され、後段プログラマブルICは、入力された後段回路データに基づいて後段論理回路を形成する。
【0068】
以上のようにして、生成命令出力手段による乱数生成コマンドの出力処理、乱数取得手段による乱数の取得処理、パスワード生成手段によるパスワードの生成処理、比較命令出力手段によるパスワード比較コマンドの出力処理、パスワード出力手段によるパスワードの出力処理、及びデータ出力手段による後段回路データの出力処理の内、全ての処理が実行されることによって、後段回路データは後段プログラマブルICに入力され、後段プログラマブルICに、後段論理回路が形成される。
【0069】
以上のことから、正規のデータ出力装置によって、プログラマブル装置に論理回路及び後段論理回路が形成される。
【0070】
一方、データ出力装置の対応判定手段が、入力認証情報と装置固有情報とが対応していないと判定した場合、乱数生成コマンドの出力処理、乱数の取得処理、パスワードの生成処理、パスワード比較コマンドの出力処理、パスワードの出力処理、及び後段回路データの出力処理の内、少なくとも一つの処理が実行されない。
【0071】
プログラマブル装置の乱数生成回路は、乱数生成コマンドが入力されない場合は乱数を生成せず、乱数生成回路が生成した乱数が得られないため、パスワード生成回路はパスワードを生成しない。また、パスワード比較回路は、パスワード比較コマンドが入力されない場合及び/又はパスワードが入力されない場合に、パスワードを比較しない。更に、スイッチ回路は、パスワード比較回路の比較結果が得られない場合、論理回路及び後段プログラマブルICを接続しない。以上の場合、プログラマブル装置の後段プログラマブルICには後段回路データが入力されず、この結果、後段プログラマブルICは、後段論理回路を形成しない。
【0072】
また、パスワード比較回路が比較した2つのパスワードが一致しなかった場合、スイッチ回路は、論理回路及び後段プログラマブルICを遮断する。このとき、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルICには入力されず、後段プログラマブルICは、後段論理回路を形成しない。
【0073】
以上のことから、不正なデータ出力装置による場合は、プログラマブル装置に後段論理回路が形成されることはない。
【0074】
本発明にあっては、データ出力装置のデータ記憶手段に、後段回路データとは異なる異種後段回路データを記憶してある。データ出力手段による後段回路データの出力処理を実行しない場合、異種データ出力手段が、データ記憶手段に記憶してある異種後段回路データをプログラマブル装置へ出力する。
【0075】
プログラマブル装置のパスワード比較回路が比較した2つのパスワードが一致したとき、スイッチ回路は、論理回路及び後段プログラマブルICを接続する。このとき、データ出力装置からプログラマブル装置に入力された異種後段回路データは、論理回路を介して後段プログラマブルICに入力され、後段プログラマブルICは、入力された異種後段回路データに基づく無意味な異種論理回路を形成する。この結果、後段論理回路は形成されない。
【0076】
本発明にあっては、パスワード生成手段がパスワードを生成しない場合、異種パスワード生成手段が、乱数取得手段が取得した乱数、及び回路データに含まれているパスワード生成アルゴリズムとは異なるパスワード生成アルゴリズム、即ちパスワード生成手段が用いるパスワード生成アルゴリズムとは異なるパスワード生成アルゴリズムに基づいてパスワードを生成する。このパスワードは、パスワード生成手段が生成する正規のパスワードとは異なる不正なパスワードである。
【0077】
また、比較命令出力手段は、パスワード比較コマンドをプログラマブル装置へ出力するが、パスワード出力手段は、パスワード生成手段が生成したパスワードをプログラマブル装置へ出力しない。代わりに、異種パスワード出力手段が、異種パスワード生成手段が生成した不正なパスワードをプログラマブル装置へ出力する。
【0078】
異種パスワード生成手段が生成した不正なパスワードは、パスワード生成の際に用いられている乱数の値は同じでも、パスワード生成アルゴリズムが異なるため、パスワード生成手段が生成したパスワード、即ち正規のパスワードとは一致しない。
【0079】
プログラマブル装置のパスワード比較回路が比較した2つのパスワードが一致しなかった場合、スイッチ回路は、論理回路及び後段プログラマブルICを遮断する。このとき、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルICには入力されず、後段プログラマブルICは、後段論理回路を形成しない。
【0080】
本発明にあっては、生成命令出力手段が、乱数生成コマンドをプログラマブル装置へ出力しない場合、異種乱数生成命令出力手段が、乱数生成コマンドとは異なる不正なコマンドをプログラマブル装置へ出力する。
【0081】
プログラマブル装置の乱数生成回路は、乱数生成コマンドとは異なる不正なコマンドが入力された場合には、乱数を生成しない。このため、プログラマブル装置のパスワード生成回路はパスワードを生成できず、データ出力装置の乱数取得手段は乱数を取得できず、パスワード生成手段はパスワードを生成できない。更に、プログラマブル装置のパスワード比較回路はパスワードを比較できず、スイッチ回路は、パスワードの比較結果に基づいて、論理回路及び後段プログラマブルICを接続することができない。以上の場合、後段回路データは後段プログラマブルICに入力されず、この結果、後段プログラマブルICに、後段論理回路が形成されない。
【0082】
本発明にあっては、データ出力装置の比較命令出力手段が、パスワード比較コマンドをプログラマブル装置へ出力しない場合、異種比較命令出力手段が、パスワード比較コマンドとは異なる不正なコマンドをプログラマブル装置へ出力する。
【0083】
プログラマブル装置のパスワード比較回路は、パスワード比較コマンドとは異なる不正なコマンドが入力された場合には、パスワードを比較しない。このため、スイッチ回路は、パスワードの比較結果に基づいて、論理回路及び後段プログラマブルICを接続することができない。以上の場合、後段回路データは後段プログラマブルICに入力されず、この結果、後段プログラマブルICに、後段論理回路が形成されない。
【発明の効果】
【0084】
本発明のデータ出力方法及びデータ出力システムによれば、正規のデータ出力装置においては認証情報と固有情報とが対応するため、プログラマブル装置のプログラマブルICに論理回路を形成することができる。一方、不正なデータ出力装置においては認証情報と固有情報とが対応しないため、プログラマブルICに論理回路が形成されることを防止することができる。この結果、プログラマブル装置の論理回路が不正に模造されることを防止することができる。
【0085】
本発明のデータ出力システムによれば、認証情報と固有情報とが対応していない場合、データ出力装置が回路データを出力せず、プログラマブル装置のプログラマブルICに、回路データが入力されない。このため、不正なデータ出力装置によってプログラマブルICに論理回路が形成されることを防止することができる。この結果、プログラマブル装置の論理回路が不正に模造されることを防止することができる。
【0086】
本発明のデータ出力システムによれば、プログラマブル装置のプログラマブルICに、回路データの代わりに異種回路データが入力される。このため、不正なデータ出力装置によってプログラマブルICに無意味な異種回路を形成させることができ、プログラマブルICに論理回路が形成されることを防止することができる。この結果、プログラマブル装置の論理回路が不正に模造されることを防止することができる。
【0087】
更に、プログラマブル装置が、論理回路を介して入力された後段回路データに基づいて後段論理回路を形成する後段プログラマブルICを有する場合、異種回路を介して後段プログラマブルICに後段回路データが入力されることはないため、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。つまり、異種回路は、プログラマブル装置側で後段プログラマブルICに対する後段回路データの入力を阻止する手段として機能する。
【0088】
本発明のデータ出力システムによれば、正規のデータ出力装置においては入力認証情報と装置固有情報とが対応するため、プログラマブル装置のプログラマブルICに論理回路が形成された後、後段プログラマブルICに後段論理回路を形成することができる。一方、不正なデータ出力装置においては入力認証情報と装置固有情報とが対応しないため、後段プログラマブルICに後段論理回路が形成されることを防止することができる。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【0089】
本発明のデータ出力システムによれば、データ出力装置のパスワード出力手段がプログラマブル装置へ出力したパスワードと、プログラマブル装置のパスワード生成回路が生成したパスワードとが一致する場合、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルICに入力され、後段プログラマブルICに後段論理回路を形成することができる。
【0090】
一方、パスワード出力手段がプログラマブル装置へ出力したパスワードと、パスワード生成回路が生成したパスワードとが一致しない場合、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルICには入力されず、後段プログラマブルICは、後段論理回路を形成しない。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【0091】
本発明のデータ出力システムによれば、正規のデータ出力装置においては入力認証情報と装置固有情報とが対応するため、プログラマブル装置のプログラマブルICに論理回路が形成された後、後段プログラマブルICに後段論理回路を形成することができる。一方、不正なデータ出力装置においては入力認証情報と装置固有情報とが対応しないため、データ出力装置が後段回路データを出力しないか、プログラマブル装置が後段プログラマブルICに対する後段回路データの入力を阻止して、後段プログラマブルICに後段論理回路が形成されることを防止することができる。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【0092】
本発明のデータ出力システムによれば、プログラマブル装置の後段プログラマブルICに、後段回路データの代わりに異種後段回路データが入力される。このため、不正なデータ出力装置によって後段プログラマブルICに無意味な異種論理回路を形成させることができ、後段論理回路が形成されることを防止することができる。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【0093】
本発明のデータ出力システムによれば、データ出力装置からパスワード比較回路に不正なパスワードが入力されるために、データ出力装置から入力されたパスワードと、プログラマブル装置のパスワード生成回路が生成したパスワードとは一致しない。この場合、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルICには入力されず、後段プログラマブルICは、後段論理回路を形成しない。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【0094】
本発明のデータ出力システムによれば、プログラマブル装置の乱数生成回路に不正なコマンドが入力されるために乱数生成回路が乱数を生成しない。このため、スイッチ回路が、論理回路及び後段プログラマブルICを接続することができない。この場合、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルICには入力されず、後段プログラマブルICは、後段論理回路を形成しない。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【0095】
本発明のデータ出力システムによれば、プログラマブル装置のパスワード比較回路に不正なコマンドが入力されるためにパスワード比較回路がパスワードを比較しない場合、スイッチ回路が、論理回路及び後段プログラマブルICを接続することができない。この場合、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルICには入力されず、後段プログラマブルICは、後段論理回路を形成しない。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【0096】
本発明のデータ出力装置及びプログラマブル装置によれば、本発明のデータ出力システムを構成することができる。また、正規のデータ出力装置を用いて、本発明のプログラマブル装置を得ることができ、不正なデータ出力装置を用いて、本発明のプログラマブル装置を不正に模造することができない。このため、プログラマブル装置のプログラマブルICとして、FPGAのような汎用ICを用いることができ、また、プログラマブル装置に、不正な模造の防止のための高価なカスタムIC、デコーダ部等を備える必要がない。この結果、プログラマブル装置のコストを低減することができ、プログラマブル装置に、カスタムIC、デコーダ部等を備えるスペースを設ける必要がない。
【0097】
本発明のコンピュータプログラムによれば、データ出力装置の出力手段、判定手段等を、コンピュータのハードウェア要素を用いてソフトウェア的に実現し、コンピュータを、本発明のデータ出力装置として機能させることができる。
【0098】
また、コンピュータプログラムは、可搬性を有する記録媒体に記憶されて配布することができ、又は、通信回線を介して配信することができ、あるいは、コンピュータが備える記憶手段(例えばROM)に予め記憶しておくことができる。このようなコンピュータプログラムは、揮発性又は不揮発性の記憶手段(RAM又はハードディスク等)にインストールされてから実行されても良く、記録媒体又は配信元から読み取られて直接的に実行されても良い。
【発明を実施するための最良の形態】
【0099】
以下、本発明を、その実施の形態を示す図面に基づいて詳述する。
【0100】
実施の形態 1.
図1は、本発明の実施の形態1に係るデータ出力システム5の構成を示すブロック図であり、データ出力システム5は、LAN3を介して接続されたデータ出力装置1及びプログラマブル装置2を備える。また、図2は、プログラマブル装置2が備える第1プログラマブルIC(プログラマブルIC)21の構成を示すブロック図である。本実施の形態においては、プログラマブル装置2を半導体試験装置として作動させるために、各種回路データをデータ出力装置1からプログラマブル装置2へ出力するデータ出力方法について説明する。
【0101】
プログラマブル装置2は、夫々汎用ICであるFPGAを用いてなる第1プログラマブルIC21及び第2プログラマブルIC(後段プログラマブルIC)221,222,223と、プログラマブル装置2及びLAN3を接続するインタフェース(I/F)23とを備える。また、プログラマブル装置2は、プログラマブル装置2が半導体試験装置として作動するための種々の機能を有する機能部24を備える。機能部24は汎用ICを用いてなり、DUTの種類にかかわらず、半導体デバイスの試験に用いられる。
【0102】
第1プログラマブルIC21及び第2プログラマブルIC221,222,223夫々を構成するFPGAは、FPGA内部に複数の論理ブロックを備える。FPGAに回路データが入力された場合、入力された各種回路データに応じて論理ブロック同士が結線され、このことによって、FPGAに各種論理回路が形成される。
【0103】
第1プログラマブルIC21は、I/F23及び第2プログラマブルIC221夫々に、信号線を介して直接的に接続されている。また、第2プログラマブルIC221は第1プログラマブルIC21及び第2プログラマブルIC222夫々に、第2プログラマブルIC222は第2プログラマブルIC221及び第2プログラマブルIC223夫々に、第2プログラマブルIC223は第2プログラマブルIC222に、夫々信号線を介して直接的に接続されている。つまり、第1プログラマブルIC21は、I/F23を介して外部から直接的に各種回路データ、各種コマンド等が入力され、第2プログラマブルIC221,222,223は、少なくとも第1プログラマブルIC21を介して外部から間接的に各種回路データ、各種コマンド等が入力される。
【0104】
図中4はCD−ROMのような可搬性を有する記録媒体であり、記録媒体4には本発明のコンピュータプログラム及びデータが記録してある。このコンピュータプログラムは、FPGAのコンフィギュレーション(各種プログラマブルICに対する各種回路データの書き込み)用ソフトウェア、半導体試験装置を作動させるための試験装置システムソフトウェア等である。各ソフトウェアには、データ出力装置1からプログラマブル装置2へ出力すべき各種コマンドが含まれている。これらのコマンドは、乱数を生成させる乱数生成コマンド、パスワードを比較させるパスワード比較コマンド等であり、夫々異なる信号を用いてなる。
【0105】
また、記録媒体4には、データとして、第1プログラマブルIC21に第1論理回路(論理回路)を形成させるための第1回路データ(回路データ)、第2プログラマブルIC221,222,223夫々に第2論理回路(後段論理回路)を形成させるための第2回路データ(後段回路データ)が記録してある。更に記録媒体4には、データとして、第1プログラマブルIC21に無意味な第1異種回路(異種回路)を形成させるための第1異種回路データ(異種回路データ)が記録してある。つまり、第1異種回路データは第1回路データとは異なり、第1異種回路は第1論理回路とは異なる。
【0106】
更にまた、記録媒体4には、データとして、第1プログラマブルIC21に対する第1回路データの入力を認証するための認証情報、及び第2プログラマブルIC221,222,223に対する第2回路データの入力を認証するための入力認証情報等が記録してある。認証情報及び入力認証情報は、正規のデータ出力装置1に一義的に対応するよう、予めコンフィギュレーション用ソフトウェアに付与される。本実施の形態においては、認証情報が、正規のデータ出力装置1の固有情報に一致し、入力認証情報が、正規のデータ出力装置1の装置固有情報に一致する(各後述)。
【0107】
データ出力装置1は、サーバ、パーソナルコンピュータ等のコンピュータを用いてなり、データ出力装置1の制御中枢であるCPU10、ROM11、RAM12、データ出力装置1とLAN3とを接続するインタフェース(I/F)13、及びCD−ROMドライブのような外部記憶部14を備える。CPU10は、バス、信号線等を介して装置各部と接続されており、RAM12を作業領域として用いて、装置各部を制御し、各種処理を実行する。
【0108】
ROM11の記憶領域の一部は、データ出力装置1に固有の固有情報及び装置固有情報を記憶してある固有情報記憶部110である。固有情報と装置固有情報とは、例えばコンピュータの製造番号及びMACアドレスであり、互いに異なる。
【0109】
RAM12の記憶領域の一部は、試験装置システムソフトウェアが記憶してある第1ソフトウェア記憶部121であり、RAM12の記憶領域の他の一部は、コンフィギュレーション用ソフトウェアが記憶してある第2ソフトウェア記憶部122である。また、RAM12の記憶領域の更に他の一部は、第1回路データ、第2回路データ、及び第1異種回路データが記憶してある回路データ記憶部123であり、RAM12の記憶領域の更に他の一部は、認証情報及び入力認証情報が記憶してある認証情報記憶部124である。
【0110】
以上のような回路データ記憶部123は、プログラマブル装置2へ出力すべき第1回路データ及び第2回路データ、並びに第1回路データとは異なる第1異種回路データを記憶してあるデータ記憶手段として機能し、認証情報記憶部124は、認証情報及び入力認証情報を記憶してある認証情報記憶手段として機能する。
【0111】
記録媒体4に記録してあるコンピュータプログラム及びデータをコンピュータにインストールする場合、コンピュータが備える外部記憶部14は、CPU10に制御されて、記録媒体4からコンピュータプログラム及びデータを読み出す。読み出されたコンピュータプログラム及びデータは、RAM12に記憶される。コンピュータが備えるCPU10は、ROM11に予め記憶してあるかRAM12に記憶されたコンピュータプログラム及びデータに従って、装置各部を制御し、各種処理を実行する。このとき、コンピュータは、データ出力装置1として機能する。
【0112】
データ出力装置1が第1回路データを用いてコンフィギュレーションを行なった場合、第1プログラマブルIC21に第1回路データが入力され、入力された第1回路データに基づいて、第1プログラマブルIC21は、第1論理回路を形成する。第1論理回路は、乱数生成回路211、パスワード生成回路212、パスワード比較回路213、及びスイッチ回路214を備える。これらの回路211〜214以外に、第1論理回路は、プログラマブル装置2を半導体試験装置となすための種々の機能を有する機能回路215を備える。
【0113】
乱数生成回路211は、信号線を介してI/F23及びパスワード生成回路212に接続してある。乱数生成回路211は、I/F23を介してデータ出力装置1からコマンドが入力されるようにしてあり、乱数生成コマンドが入力された場合に乱数を生成し、生成した乱数をパスワード生成回路212へ出力する。更に乱数生成回路211は、乱数読出コマンドが入力された場合に、生成した乱数をデータ出力装置1へI/F23を介して出力する。
【0114】
第1回路データはパスワード生成アルゴリズムを含んでおり、パスワード生成回路212は、乱数生成回路211が生成した乱数と、第1プログラマブルIC21に入力された第1回路データに含まれているパスワード生成アルゴリズムとに基づいてパスワードを生成する。更に詳細には、パスワード生成回路212は、信号線を介して乱数生成回路211及びパスワード比較回路213に接続してある。パスワード生成回路212には、第1プログラマブルIC21における第1論理回路の形成時に、パスワード生成アルゴリズムが埋め込まれ、乱数生成回路211から出力された乱数が入力された場合、入力された乱数とパスワード生成アルゴリズムとに基づいてパスワードを生成する。生成されたパスワードは、パスワード生成回路212からパスワード比較回路213へ出力される。
【0115】
パスワード比較回路213は、信号線を介してI/F23、パスワード生成回路212及びスイッチ回路214に接続してある。パスワード比較回路213は、I/F23を介してデータ出力装置1からコマンド及びパスワードが入力されるようにしてあり、パスワード比較コマンドが入力された場合に、入力されたパスワード及びパスワード生成回路212が生成したパスワードを比較する。更に詳細には、パスワード比較回路213は、データ出力装置1及びパスワード生成回路212夫々が出力した2個のパスワードを比較して、一致した場合は、パスワードが一致したことを示す一致信号をスイッチ回路214へ出力し、一致しない場合は、一致信号とは異な、パスワードが一致なかったことを示す不一致信号をスイッチ回路214へ出力する。
【0116】
スイッチ回路214は、信号線を介してパスワード比較回路213に接続してあり、更に、信号線201を介してI/F23に、信号線202を介して第2プログラマブルIC221に、夫々接続してある。また、スイッチ回路214は、パスワード比較回路213の比較結果に基づいて、信号線201と信号線202との接続/遮断、つまり第1論理回路と第2プログラマブルIC221,222,223との接続/遮断を切り換える。
【0117】
具体的には、スイッチ回路214は、パスワード比較回路213から不一致信号が入力された場合、及びパスワード比較回路213から一致信号が入力されていない場合はオフ状態であり、パスワード比較回路213から一致信号が入力された場合に、オフ状態からオン状態に切り換わるように構成されている。また、データ出力装置1が出力した第2回路データは、LAN3及びI/F23を介してプログラマブル装置2に入力され、次に、信号線201を介して第1プログラマブルIC21に入力される。
【0118】
スイッチ回路214がオン状態の場合、第1プログラマブルIC21に形成してある第1論理回路と第2プログラマブルIC221,222,223とが接続されるため、第1プログラマブルIC21に入力された第2回路データは、信号線202を介して第2プログラマブルIC221,222,223に入力される。一方、スイッチ回路214がオフ状態の場合、第1プログラマブルIC21に形成してある第1論理回路と第2プログラマブルIC221,222,223とが遮断されるため、信号線202を介して第2プログラマブルIC221,222,223に入力されることはない。
【0119】
第1プログラマブルIC21に形成してある第1論理回路においては、スイッチ回路214によって第1論理回路と第2プログラマブルIC221,222,223とが接続/遮断される。一方、第1プログラマブルIC21に形成してある第1異種回路はスイッチ回路214を備えず、第1異種回路と第2プログラマブルIC221,222,223とは常に遮断される。
【0120】
データ出力装置1が第2回路データを用いてコンフィギュレーションを行なった場合、スイッチ回路214がオン状態であって第1論理回路と第2プログラマブルIC221,222,223とが接続されているとき、第2プログラマブルIC221,222,223に第2回路データが順次入力され、入力された第2回路データに基づいて、第2プログラマブルIC221,222,223夫々は第2論理回路を順次形成する。第2論理回路は、プログラマブル装置2が所定のDUTの試験を行なう半導体試験装置として機能するための回路である。
【0121】
さて、RAM12に記憶してある各種ソフトウェア及びデータをコピーし、又は、記録媒体4を盗用し、正規のデータ出力装置1となすべき所定のコンピュータ以外のコンピュータに各種ソフトウェア及びデータをインストールすることによって、不正なデータ出力装置1が得られる。
【0122】
しかしながら、認証情報及び入力認証情報は、正規のデータ出力装置1の固有情報及び装置固有情報に夫々一致するため、不正なデータ出力装置1の固有情報記憶部110に記憶してある固有情報及び装置固有情報は、インストールされたコンフィギュレーション用ソフトウェアに付与してある認証情報及び入力認証情報とは一致しない。
【0123】
以上のことから、認証情報及び固有情報が一致し、更に入力認証情報及び装置固有情報が一致した場合、データ出力装置1は正規のデータ出力装置1である。このため、データ出力装置1は第1回路データ及び第2回路データを順次出力し、第1回路データは第1プログラマブルIC21に、第2回路データは第2プログラマブルIC221,222,223に、夫々入力される。つまり、データ出力装置1が正規のデータ出力装置1である場合、データ出力装置1に接続されたプログラマブル装置2には、プログラマブル装置2を半導体試験装置となすべく第1論理回路及び第2論理回路が形成される。
【0124】
一方、認証情報及び固有情報が一致しない場合、データ出力装置1は不正なデータ出力装置1である。このため、データ出力システム5は、第1回路データが第1プログラマブルIC21に入力されることを防止する。この結果、第2回路データは第2プログラマブルIC221,222,223に入力されない。つまり、データ出力装置1が不正なデータ出力装置1である場合、データ出力装置1に接続されたプログラマブル装置2には第1論理回路及び第2論理回路が形成されず、プログラマブル装置2は半導体試験装置として機能しない。この結果、半導体試験装置としてのプログラマブル装置2は不正に模造されない。
【0125】
第1回路データが第1プログラマブルIC21に入力されることを防止するために、本実施の形態におけるコンピュータプログラムは、不正なデータ出力装置1に、第1回路データを出力させず、第1異種回路データを出力させる。
【0126】
また、認証情報及び固有情報が一致した場合、第1回路データが第1プログラマブルIC21に入力されるが、入力認証情報及び装置固有情報が一致しないとき、データ出力装置1は不正なデータ出力装置1である。このとき、認証情報及び固有情報の一致は、例えば正規のデータ出力装置1の固有情報を盗用したことによる不正な一致である。このため、データ出力システム5は、第2回路データが第2プログラマブルIC221,222,223に入力されることを防止する。つまり、データ出力装置1が不正なデータ出力装置1である場合、データ出力装置1に接続されたプログラマブル装置2には、第1論理回路が形成されたとしても、第2論理回路は形成されず、プログラマブル装置2は半導体試験装置として機能しない。この結果、半導体試験装置としてのプログラマブル装置2は不正に模造されない。
【0127】
第2回路データが第2プログラマブルIC221,222,223に入力されることを防止するために、本実施の形態におけるコンピュータプログラムは、不正なデータ出力装置1に、正規のパスワードを出力させず、不正なパスワードを出力させる。このために、第2ソフトウェア記憶部122に記憶してあるコンフィギュレーション用ソフトウェアには、正規のパスワードを生成するための正規のパスワード生成アルゴリズムと、不正なパスワードを生成するための不正なパスワード生成アルゴリズムとが含まれている。
【0128】
ここで、正規のパスワード生成アルゴリズムは、第1回路データに含まれているパスワード生成アルゴリズム、即ち、パスワード生成回路212がパスワードを生成する場合に用いるパスワード生成アルゴリズムと同じである。一方、不正なパスワード生成アルゴリズムは、正規のパスワード生成アルゴリズムとは異なる。
【0129】
パスワード生成回路212は乱数生成回路211が生成した乱数及びパスワード生成アルゴリズムに基づいてパスワードを生成するため、パスワード生成回路212が用いた乱数及び正規のパスワード生成アルゴリズムに基づいて生成された正規のパスワードは、パスワード生成回路212が生成したパスワードに一致する。一方、パスワード生成回路212が用いた乱数及び不正なパスワード生成アルゴリズムに基づいて生成した不正なパスワードは、パスワード生成回路212が生成したパスワードに一致しない。
【0130】
図3は、データ出力装置1のCPU10が実行する第1データ出力処理の手順、及び第1データ出力処理の実行に応じてプログラマブル装置2の第1プログラマブルIC21で実行される処理の手順を示すフローチャートである。第1データ出力処理は、例えば、データ出力システム5のオペレータが、データ出力装置1が備える図示しない操作部を操作して、プログラマブル装置2の第1プログラマブルIC21に第1論理回路を形成させる命令を入力したタイミングで実行される。
【0131】
まず、データ出力装置1のCPU10は、認証情報記憶部124から認証情報を読み出し(S11)、固有情報記憶部110から固有情報を読み出し(S12)、読み出した認証情報及び固有情報が一致しているか否かを判定する(S13)。
【0132】
S11及びS12で読み出した認証情報及び固有情報が一致している場合(S13でYES)、CPU10は、回路データ記憶部123から第1回路データを読み出して(S14)、読み出した第1回路データをプログラマブル装置2へ出力する(S15)。この場合、CPU10は、第2ソフトウェア記憶部122に記憶してあるコンフィギュレーション用ソフトウェアに従ってコンフィギュレーションを行なう。S15の処理完了後、CPU10は、第1データ出力処理を終了する。
【0133】
S11及びS12で読み出した認証情報及び固有情報が一致していない場合(S13でNO)、CPU10は、回路データ記憶部123から第1異種回路データを読み出して(S16)、読み出した第1異種回路データをプログラマブル装置2へ出力する(S17)。この場合、CPU10は、第2ソフトウェア記憶部122に記憶してあるコンフィギュレーション用ソフトウェアに従ってコンフィギュレーションを行なう。S17の処理完了後、CPU10は、第1データ出力処理を終了する。
【0134】
第1プログラマブルIC21は、各種の回路データを受け付けた(各種の回路データが入力された)場合(S20でYES)、受け付けた回路データに基づいて各種の論理回路を形成し(S21)、受け付けていない場合(S20でNO)、受け付けるまで待機する。S15が実行された場合、つまりデータ出力装置1が正規のデータ出力装置1であるか、又は、例えば正規のデータ出力装置1の固有情報を盗用している不正なデータ出力装置1である場合、プログラマブル装置2に第1回路データが入力され、入力された第1回路データは第1プログラマブルIC21に入力される。第1プログラマブルIC21は、入力された第1回路データに基づき、S21にて第1論理回路を形成する。第1論理回路の形成完了後、第1プログラマブルIC21は、第1論理回路を形成したことを示す第1形成完了信号をデータ出力装置1へ出力する(不図示)。
【0135】
S17が実行された場合、つまりデータ出力装置1が不正なデータ出力装置1である場合、プログラマブル装置2に第1異種回路データが入力され、入力された第1異種回路データは第1プログラマブルIC21に入力される。第1プログラマブルIC21は、入力された第1異種回路データに基づき、S21にて無意味な第1異種回路を形成する。この第1異種回路の形成完了後は、第1プログラマブルIC21は第1形成完了信号を出力しない。
【0136】
図4〜図6は、データ出力装置1のCPU10が実行する第2データ出力処理の手順、及び第2データ出力処理の実行に応じてプログラマブル装置2の第1プログラマブルIC21及び第2プログラマブルIC221,222,223で実行される処理の手順を示すフローチャートである。
【0137】
第2データ出力処理は、第1データ出力処理の完了後、プログラマブル装置2から第1形成完了信号が入力された場合に実行される。一方、第1データ出力処理の完了後、プログラマブル装置2から第1形成完了信号が入力されなかった場合、つまり第1プログラマブルIC21に第1異種回路が形成された場合、第2データ出力処理は実行されない。このため、データ出力装置1が無駄な処理を実行することが防止される。
【0138】
データ出力装置1のCPU10は、乱数生成回路211に乱数を生成させる乱数生成コマンドをプログラマブル装置2へ出力する(S31)。S31の処理完了後、CPU10は、乱数生成コマンドの出力から、乱数生成回路211が乱数の生成を完了するまでの時間(以下、待機時間という)だけ待機する(不図示)。S31処理完了後の待機時間の値は、第2ソフトウェア記憶部122に記憶してあるコンフィギュレーション用ソフトウェアに予め含まれている。
【0139】
S31が実行された場合、プログラマブル装置2に乱数生成コマンドが入力され、入力された乱数生成コマンドは第1プログラマブルIC21の乱数生成回路211に入力される。乱数生成回路211は、乱数生成コマンドを受け付けた(乱数生成コマンドが入力された)場合に(S40でYES)、乱数を生成し(S41)、受け付けていない場合(S40でNO)、受け付けるまで待機する。
【0140】
データ出力装置1においては、CPU10は、待機時間の経過後、乱数生成回路211から乱数を読み出すための乱数読出コマンドをプログラマブル装置2へ出力する(S32)。
【0141】
S32が実行された場合、プログラマブル装置2に乱数読出コマンドが入力され、入力された乱数読出コマンドは第1プログラマブルIC21の乱数生成回路211に入力される。乱数生成回路211は、乱数読出コマンドを受け付けた(乱数読出コマンドが入力された)場合に(S42でYES)、S41にて生成した乱数を出力し(S43)、受け付けていない場合(S42でNO)、受け付けるまで待機する。S43にて出力された乱数は、データ出力装置1及びパスワード生成回路212の両方に入力される。乱数生成回路211が生成した乱数が入力された場合、パスワード生成回路212は、入力された乱数及びパスワード生成アルゴリズムに基づいて、パスワードを生成し(S44)、生成したパスワードをパスワード比較回路213へ出力する。
【0142】
また、CPU10は、乱数生成回路211が生成した乱数を受け付けたか否かを判定し(S33)、受け付けていない場合(S33でNO)、受け付けるまで待機し、乱数生成回路211が生成した乱数を受け付けた場合(S33でYES)、受け付けた乱数(入力された乱数)をRAM12に一時記憶させる。
【0143】
S33の処理完了後、CPU10は、認証情報記憶部124から入力認証情報を読み出し(S34)、固有情報記憶部110から装置固有情報を読み出し(S35)、読み出した入力認証情報及び装置固有情報が一致しているか否かを判定する(S36)。
【0144】
S34及びS35で読み出した入力認証情報及び装置固有情報が一致している場合(S36でYES)、CPU10は、RAM12に記憶してある乱数を読み出し、読み出した乱数と正規のパスワード生成アルゴリズムとに基づいて正規のパスワードを生成し(S37)、生成した正規のパスワードをプログラマブル装置2へ出力する(S38)。
【0145】
S34及びS35で読み出した入力認証情報及び装置固有情報が一致していない場合(S36でNO)、CPU10は、RAM12に記憶してある乱数を読み出し、読み出した乱数と不正なパスワード生成アルゴリズムとに基づいて不正なパスワードを生成し(S39)、処理をS38へ移して、生成した不正なパスワードをプログラマブル装置2へ出力する。
【0146】
更にCPU10は、パスワード比較回路213にパスワードを比較させるパスワード比較コマンドをプログラマブル装置2へ出力し(S51)、後述する比較終了信号を受け付けた(プログラマブル装置2から比較終了信号が入力された)か否かを判定する(S52)。比較終了信号を受け付けていない場合(S52でNO)、比較終了信号を受け付けるまで待機する。
【0147】
S38が実行された場合、プログラマブル装置2にパスワードが入力され、入力されたパスワードは第1プログラマブルIC21のパスワード比較回路213に入力される。更に、S51が実行されたとき、プログラマブル装置2にパスワード比較コマンドが入力され、入力されたパスワード比較コマンドは第1プログラマブルIC21のパスワード比較回路213に入力される。
【0148】
パスワード比較回路213は、パスワードを受け付けた(パスワードが入力された)場合(S45でYES)、パスワード比較コマンドを受け付けた(パスワード比較コマンドが入力された)とき(S60でYES)、入力された2個のパスワード、即ちデータ出力装置1が生成したパスワード及びパスワード生成回路212が生成したパスワードを比較する(S61)。また、パスワード比較回路213は、パスワードを受け付けていない場合(S45でNO)、又はパスワード比較コマンドを受け付けていないとき(S60でNO)、パスワード及びパスワード生成コマンドの両方を受け付けるまで待機する。
【0149】
入力された2個のパスワードが一致しているという比較結果が得られた場合(S62で一致)、つまりデータ出力装置1が生成したパスワードが正規のパスワードである場合、パスワード比較回路213はスイッチ回路214へ一致信号を出力する(S63)。一致信号が入力された場合、スイッチ回路214はオン状態に切り換わる(S64)。S63にて一致信号を出力したパスワード比較回路213は、パスワードの比較が終了したことを示す比較終了信号をデータ出力装置1へ出力する(S65)。
【0150】
入力された2個のパスワードが一致していないという比較結果が得られた場合(S62で不一致)、つまりデータ出力装置1が生成したパスワードが不正なパスワードである場合、パスワード比較回路213はスイッチ回路214へ不一致信号を出力する(S66)。不一致信号が入力された場合、スイッチ回路214はオフ状態のままである(S67)。S66にて不一致信号を出力したパスワード比較回路213は、処理をS65へ移して、データ出力装置1へ比較終了信号を出力する。
【0151】
データ出力装置1において、比較終了信号を受け付けた場合(S52でYES)、CPU10は、回路データ記憶部123から第2回路データを読み出して(S53)、読み出した第2回路データをプログラマブル装置2へ出力する(S54)。この場合、CPU10は、第2ソフトウェア記憶部122に記憶してあるコンフィギュレーション用ソフトウェアに従ってコンフィギュレーションを行なう。S54の処理完了後、CPU10は、第2データ出力処理を終了する。
【0152】
ここで、S61にて比較した2個のパスワードが一致した場合、つまりデータ出力装置1が正規のデータ出力装置1である場合、プログラマブル装置2に第2回路データが入力され、入力された第2回路データは第1プログラマブルIC21に入力される。また、スイッチ回路214はS64にてオン状態にされる。このため、第1プログラマブルIC21に入力された第2回路データは、スイッチ回路214を通過して、第2プログラマブルIC221,222,223に入力される。
【0153】
第2プログラマブルIC221,222,223夫々は、第2回路データを受け付けた(第2回路データが入力された)場合(S68でYES)、受け付けた第2回路データに基づき、第2論理回路を形成し(S69)、第2論理回路の形成完了後、第2論理回路を形成したことを示す第2形成完了信号をデータ出力装置1へ出力する(不図示)。また、第2プログラマブルIC221,222,223夫々は、第2回路データを受け付けていない場合(S68でNO)、受け付けるまで待機する。
【0154】
データ出力装置1のCPU10は、プログラマブル装置2から第2形成完了信号が入力された場合に、第1ソフトウェア記憶部121に記憶してある試験装置システムソフトウェアに従って、プログラマブル装置2を半導体試験装置として作動させ、半導体デバイスの試験を行なう。このとき、データ出力装置1は、半導体試験装置制御用ホストコンピュータとして機能する。
【0155】
一方、S61にて比較した2個のパスワードが一致しなかった場合、つまりデータ出力装置1が不正なデータ出力装置1である場合、プログラマブル装置2に第2回路データが入力され、入力された第2回路データは第1プログラマブルIC21に入力される。また、スイッチ回路214はS67にてオフ状態のままにされている。このため、第1プログラマブルIC21に入力された第2回路データは、スイッチ回路214を通過せず、第2プログラマブルIC221,222,223に入力されない。この結果、プログラマブル装置2は半導体試験装置として作動しない。
【0156】
以上のような第1データ出力処理及び第2データ出力処理に関し、S15におけるCPU10は、データ記憶手段に記憶してある第1回路データをプログラマブル装置2へ出力する出力手段として機能する。また、S13におけるCPU10は、認証情報記憶手段に記憶してある認証情報、及び、固有情報が対応しているか否かを判定する判定手段として機能し、判定手段が、認証情報及び固有情報が対応していると判定した場合(S13でYESの場合)、S15にて、出力手段による第1回路データの出力処理を実行するようにしてある。更に、判定手段が、認証情報及び固有情報が対応していないと判定した場合(S13でNOの場合)、出力手段による第1回路データの出力処理を実行しないようにしてある。
【0157】
更にまた、S17におけるCPU10は、データ記憶手段に記憶してある第1異種回路データをプログラマブル装置2へ出力する異種出力手段として機能し、出力手段による第1回路データの出力処理を実行しない場合(S13でNOであり、このためS15が実行されない場合)、S17にて、異種出力手段による第1異種回路データの出力処理を実行するようにしてある。
【0158】
S54におけるCPU10は、出力手段による第1回路データの出力処理の実行後(S15が実行された後)、データ記憶手段に記憶してある第2回路データをプログラマブル装置2へ出力するデータ出力手段として機能する。また、S36におけるCPU10は、認証情報記憶手段に記憶してある入力認証情報、及び、装置固有情報が対応しているか否かを判定する対応判定手段として機能する。更に、判定手段が、認証情報及び固有情報が対応していると判定した場合(S13でYESの場合)、対応判定手段が、入力認証情報及び装置固有情報が対応していると判定したとき(S36でYESのとき)に、S54にて、データ出力手段による第2回路データの出力処理を実行するようにしてある。
【0159】
更にまた、S31におけるCPU10は、出力手段による第1回路データの出力処理の実行後(S15が実行された後)、乱数生成回路211に乱数を生成させる乱数生成コマンドをプログラマブル装置2へ出力する生成命令出力手段として機能し、S32及びS33におけるCPU10は、乱数生成回路211が生成した乱数をプログラマブル装置2から取得する乱数取得手段として機能する。また、S37におけるCPU10は、S32及びS33にて乱数取得手段が取得した乱数、及びデータ記憶手段に記憶してある第1回路データに含まれているパスワード生成アルゴリズムと同一のパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成手段として機能する。
【0160】
更に、S37の処理完了後のS38におけるCPU10は、S37にてパスワード生成手段が生成したパスワードをプログラマブル装置2へ出力するパスワード出力手段として機能し、S51におけるCPU10は、パスワード比較回路213にパスワードを比較させるパスワード比較コマンドをプログラマブル装置2へ出力する比較命令出力手段として機能する。
【0161】
更にまた、パスワード出力手段によるパスワードの出力処理の実行後(S37及びS38の実行後)、S54にて、データ出力手段による第2回路データの出力処理を実行するようにしてある。
【0162】
本実施の形態においては、対応判定手段が、入力認証情報及び装置固有情報が対応していないと判定した場合(S36でNOの場合)、S37におけるパスワード生成手段によるパスワードの生成処理、S38におけるパスワード出力手段によるパスワードの出力処理、及び、S54におけるデータ出力手段による第2回路データの出力処理を実行しないようにしてある。
【0163】
また、S39におけるCPU10は、S37にてパスワード生成手段によるパスワードの生成処理を実行しない場合、S32及びS33にて乱数取得手段が取得した乱数、及びパスワード生成アルゴリズムとは異なる不正なパスワード生成アルゴリズムに基づいて不正なパスワードを生成する異種パスワード生成手段として機能する。更に、S39の処理完了後のS38におけるCPU10は、S39にて異種パスワード生成手段が生成した不正なパスワードをプログラマブル装置2へ出力する異種パスワード出力手段として機能する。
【0164】
以上のようなデータ出力システム5は、データ出力装置1の固有情報及び装置固有情報、並びにコンフィギュレーション用ソフトウェアに付与してある認証情報及び入力認証情報を、第1回路データの第1プログラマブルIC21に対する入力、正規のパスワードの生成等、各処理実行の可否を判定するためのセキュリティキーとして用いている。
【0165】
正規のデータ出力装置1は、プログラマブル装置2の第1プログラマブルIC21に第1論理回路を、第2プログラマブルIC221,222,223に第2論理回路を、夫々形成させることができる。つまり、正規のデータ出力装置1は、プログラマブル装置2をFPGA搭載の半導体試験装置となすことができる。しかも、第1ソフトウェア記憶部121に記憶される試験装置システムソフトウェア、及び/又は回路データ記憶部123に記憶される第2回路データを入れ替えることによって、DUTの変更にフレキシブルに対応することができる。
【0166】
一方、不正なデータ出力装置1は、プログラマブル装置2の第1プログラマブルIC21に第1論理回路を形成させることができないか、又は、第1論理回路を形成させることができた場合でも、第2プログラマブルIC221,222,223に第2論理回路を形成させることができない。つまり、不正なデータ出力装置1は、半導体試験装置としてのプログラマブル装置2を不正に模造することができない。
【0167】
また、プログラマブル装置2が備える第1プログラマブルIC21及び第2プログラマブルIC221,222,223夫々は、汎用ICであるFPGAであり、プログラマブル装置2には、不正な模造の防止のための高価なカスタムIC、デコーダ部等が備えられていない。この結果、プログラマブル装置2のコストを低減することができ、プログラマブル装置2を小型化することができる。
【0168】
更に、ハードウェアに固有の固有情報及び装置固有情報とソフトウェアに付与してある認証情報及び入力認証情報を用いて、第1回路データの第1プログラマブルIC21に対する入力及び第2回路データの第2プログラマブルIC221,222,223に対する入力夫々の認証を自動的に行なうため、例えばデータ出力システム5のオペレータが、ID、パスワード等をデータ出力装置1に入力する必要がない。このため、オペレータの利便性を向上させることができる。
【0169】
なお、本実施の形態においては記録媒体4から読み出したコンピュータプログラム及びデータをRAM12に記憶しているが、これに限らず、LAN3を介して受信したコンピュータプログラム及びデータでも良く、また、コンピュータが備えるハードディスクに記憶しても良い。更に、本実施の形態のコンピュータプログラム及びデータROM11に予め記憶させてあっても良い。
【0170】
また、認証情報及び固有情報が一致しなかった場合は、コンフィギュレーション自体を行なわない(つまり、第1回路データのみならず、第1異種回路データも出力しない)構成でも良い。更に、入力認証情報及び装置固有情報が一致しなかった場合は、乱数読出コマンドを出力しなかったり、パスワードの生成自体、又はパスワードの出力自体を行なわなかったり(つまり正規のパスワードのみならず、不正なパスワードの生成及び出力も行なわなかったり)する構成でも良い。
【0171】
更に、認証情報及び固有情報と入力認証情報及び装置固有情報との内、一方だけを用いて、認証情報及び固有情報が一致したとき、又は入力認証情報及び装置固有情報が一致したときは、第1論理回路及び第2論理回路を形成する構成でも良い。ここで、認証情報及び固有情報が一致しないときは第1論理回路を形成せず、このため第2論理回路も形成されず、入力認証情報及び装置固有情報が一致しないときは第2論理回路を形成しない。このような構成の場合、データ出力装置1の処理が簡便になる。しかしながら、例えば固有情報(又は装置固有情報)が盗用されただけで半導体試験装置としてのプログラマブル装置2が不正に模造されるため、本実施の形態のように、認証情報及び固有情報と入力認証情報及び装置固有情報とを両方用いる方が好ましい。
【0172】
実施の形態 2.
図7は、本発明の実施の形態2に係るデータ出力システム5の構成を示すブロック図である。本実施の形態に係るデータ出力システム5が備えるデータ出力装置1は、実施の形態1に係るデータ出力システム5のデータ出力装置1とは異なり、ROM11に固有情報記憶部110が設けられていない代わりに、固有情報記憶部15を備える。
【0173】
固有情報記憶部15は、データ出力装置1となすべきコンピュータが備える入出力ポートと、この入出力ポートに接続されたドングルのようなハードキーとを用いてなり、ハードキーに固有の固有情報及び装置固有情報を記憶してある。つまり、固有情報記憶部15を備えるデータ出力装置1は、データ出力装置1に固有の固有情報及び装置固有情報を有する。固有情報と装置固有情報とは、互いに異なるIDである。
【0174】
また、第2ソフトウェア記憶部122に記憶してあるコンフィギュレーション用ソフトウェアには、第1回路データに含まれているパスワード生成アルゴリズム、即ち、パスワード生成回路212がパスワードを生成する場合に用いるパスワード生成アルゴリズムと同じパスワード生成アルゴリズム(実施の形態1の正規のパスワード生成アルゴリズム)が含まれており、不正なパスワード生成アルゴリズムは含まれていない。
【0175】
CPU10は、図3に示す第1データ出力処理と同様の第1データ出力処理を実行する。ただし、CPU10は、S12にて、固有情報記憶部15に記憶してある固有情報を読み出す。
【0176】
入力認証情報及び装置固有情報が一致しない場合、データ出力システム5は、実施の形態1と同様に、第2回路データが第2プログラマブルIC221,222,223に入力されることを防止する。このために、本実施の形態におけるコンピュータプログラムは、不正なデータ出力装置1に、乱数生成コマンドを出力させず、不正なコマンドを出力させる。
【0177】
その他、実施の形態1に対応する部分には同一符号を付してそれらの説明を省略する。
【0178】
図8は、データ出力装置1のCPU10が実行する第2データ出力処理の手順、及び第2データ出力処理の実行に応じてプログラマブル装置2の第1プログラマブルIC21で実行される処理の手順を示すフローチャートである。図8に示す第2データ出力処理は、図4に示す第2データ出力処理と同様に、第1データ出力処理の完了後、プログラマブル装置2から第1形成完了信号が入力された場合に実行される。
【0179】
データ出力装置1のCPU10は、認証情報記憶部124から入力認証情報を読み出し(S71)、固有情報記憶部15から装置固有情報を読み出し(S72)、読み出した入力認証情報及び装置固有情報が一致しているか否かを判定する(S73)。S71〜S73は、図4に示すS34〜S36に対応する。
【0180】
S71及びS72で読み出した入力認証情報及び装置固有情報が一致している場合(S73でYES)、CPU10は、乱数生成コマンドをプログラマブル装置2へ出力する(S74)。S74の処理完了後、CPU10は、待機時間だけ待機する(不図示)。S74は、図4に示すS31に対応する。
【0181】
S74が実行された場合、プログラマブル装置2に乱数生成コマンドが入力され、入力された乱数生成コマンドは第1プログラマブルIC21の乱数生成回路211に入力される。
【0182】
S71及びS72で読み出した入力認証情報及び装置固有情報が一致していない場合(S73でNO)、CPU10は、乱数生成コマンドとは異なる不正なコマンドをプログラマブル装置2へ出力する(S75)。S75が実行された場合、プログラマブル装置2に不正なコマンドが入力され、入力された不正なコマンドは第1プログラマブルIC21の乱数生成回路211に入力される。
【0183】
乱数生成回路211は、乱数生成コマンド又は乱数生成コマンドとは異なる不正なコマンドを受け付け、受け付けた(入力された)コマンドが、乱数生成コマンドではない不正なコマンドである場合(S81でNO)、乱数生成コマンドが入力されるまで待機する。
【0184】
このように、S75にて不正なコマンドが出力された場合、乱数生成回路211は乱数を生成しないため、CPU10がS76以降の処理を実行しても無意味である。このため、S75の処理完了後、CPU10は、第2データ出力処理を終了する。
【0185】
受け付けたコマンドが乱数生成コマンドである場合(S81でYES)、乱数生成回路211は乱数を生成する(S82)。S82は、図4に示すS41に対応する。
【0186】
データ出力装置1においては、CPU10は、待機時間の経過後、乱数読出コマンドをプログラマブル装置2へ出力する(S76)。S76は、図4に示すS32に対応する。
【0187】
S83〜S86は、図4に示すS42〜S45に対応するため詳述を省略する。S85の処理完了後、プログラマブル装置2においては、図6に示すS61〜S67の処理と同様の処理が実行される。
【0188】
S84にて出力された乱数は、データ出力装置1及びパスワード生成回路212の両方に入力される。CPU10は、乱数生成回路211が生成した乱数を受け付けたか否かを判定し(S77)、受け付けていない場合(S77でNO)、受け付けるまで待機し、乱数生成回路211が生成した乱数を受け付けた場合(S77でYES)、受け付けた乱数(入力された乱数)をRAM12に一時記憶させる。S77は、図4に示すS33に対応する。
【0189】
S77の処理完了後、CPU10は、RAM12に記憶してある乱数を読み出し、読み出した乱数とパスワード生成アルゴリズムとに基づいてパスワード(実施の形態1における正規のパスワード)を生成し(S78)、生成したパスワードをプログラマブル装置2へ出力する(S79)。S78及びS79は、図4に示すS37及びS38に対応する。この後、CPU10は、図5に示すS51〜S54の処理と同様の処理を実行する。
【0190】
以上のような第2データ出力処理に関し、対応判定手段が、入力認証情報及び装置固有情報が対応していないと判定した場合(S73でNOの場合)、S74における生成命令出力手段による乱数生成コマンドの出力処理、S76及びS77における乱数取得手段による乱数の取得処理、S78におけるパスワード生成手段によるパスワードの生成処理、S79におけるパスワード出力手段によるパスワードの出力処理、S51における比較命令出力手段によるパスワード比較コマンドの出力処理、及び、S54におけるデータ出力手段による第2回路データの出力処理を実行しないようにしてある。
【0191】
S75におけるCPU10は、S74にて生成命令出力手段による乱数生成コマンドの出力処理を実行しない場合、乱数生成コマンドとは異なる不正なコマンドをプログラマブル装置2へ出力する異種乱数生成命令出力手段として機能する。
【0192】
以上のようなデータ出力システム5は、実施の形態1のデータ出力システム5と同様に、データ出力装置1の固有情報及び装置固有情報、並びにコンフィギュレーション用ソフトウェアに付与してある認証情報及び入力認証情報を、第1回路データの第1プログラマブルIC21に対する入力、乱数生成コマンドの出力等、各処理実行の可否を判定するためのセキュリティキーとして用いている。この結果、不正なデータ出力装置1が、半導体試験装置としてのプログラマブル装置2を不正に模造することを防止することができる。
【0193】
実施の形態 3.
図9は、本発明の実施の形態3に係るデータ出力システム5の構成を示すブロック図である。本実施の形態に係るデータ出力システム5が備えるデータ出力装置1は、実施の形態1のデータ出力装置1と同様に、ROM11に固有情報記憶部110が設けられており、しかも、実施の形態2のデータ出力装置1と同様に、固有情報記憶部15を備える。ただし、固有情報記憶部15には、ハードキーのIDである固有情報が記憶してあり、固有情報記憶部110には、データ出力装置1の製造番号及びMACアドレスである第1装置固有情報及び第2装置固有情報を記憶してある。
【0194】
また、第2ソフトウェア記憶部122に記憶してあるコンフィギュレーション用ソフトウェアには、第1回路データに含まれているパスワード生成アルゴリズム、即ち、パスワード生成回路212がパスワードを生成する場合に用いるパスワード生成アルゴリズムと同じパスワード生成アルゴリズム(実施の形態1の正規のパスワード生成アルゴリズム)が含まれており、不正なパスワード生成アルゴリズムは含まれていない。
【0195】
更に、記録媒体4には、第1異種回路データが記録されていない代わりに、第2プログラマブルIC221,222,223に無意味な第2異種回路(異種論理回路)を形成させるための第2異種回路データ(異種後段回路データ)が記録してある。つまり、第2異種回路データは第2回路データとは異なり、第2異種回路は第2論理回路とは異なる。
【0196】
更にまた、記録媒体4には、入力認証情報の代わりに、第2プログラマブルIC221,222,223に対する第2回路データの入力を認証するための第1入力認証情報及び第2入力認証情報等が記録してある。第1入力認証情報及び第2入力認証情報は、互いに異なり、正規のデータ出力装置1に一義的に対応するよう、予めコンフィギュレーション用ソフトウェアに付与される。本実施の形態においては、第1入力認証情報及び第2入力認証情報が、正規のデータ出力装置1の第1装置固有情報及び第2装置固有情報に一致する。
【0197】
つまり、回路データ記憶部123には、第1回路データ、第2回路データ、及び第2異種回路データが記憶してあり、認証情報記憶部124には、認証情報、第1入力認証情報及び第2入力認証情報が記憶してある。このため、回路データ記憶部123は、プログラマブル装置2へ出力すべき第1回路データ及び第2回路データ、並びに第2回路データとは異なる第2異種回路データを記憶してあるデータ記憶手段として機能し、認証情報記憶部124は、認証情報、第1入力認証情報、及び第2入力認証情報を記憶してある認証情報記憶手段として機能する。
【0198】
コンフィギュレーション用ソフトウェアに付与してある認証情報、第1入力認証情報及び第2入力認証情報は、正規のデータ出力装置1の固有情報、第1装置固有情報及び第2装置固有情報に夫々一致する。このため、不正なデータ出力装置1の固有情報記憶部110に記憶してある固有情報、第1装置固有情報及び第2装置固有情報は、コンフィギュレーション用ソフトウェアに付与してある認証情報、第1入力認証情報及び第2入力認証情報とは一致しない。
【0199】
以上のことから、認証情報及び固有情報が一致し、更に第1入力認証情報及び第1装置固有情報並びに第2入力認証情報及び第2装置固有情報が夫々一致した場合、データ出力装置1は正規のデータ出力装置1である。このため、データ出力装置1は第1回路データ及び第2回路データを順次出力し、第1回路データは第1プログラマブルIC21に、第2回路データは第2プログラマブルIC221,222,223に、夫々入力される。つまり、データ出力装置1が正規のデータ出力装置1である場合、データ出力装置1に接続されたプログラマブル装置2には、プログラマブル装置2を半導体試験装置となすべく第1論理回路及び第2論理回路が形成される。
【0200】
一方、認証情報及び固有情報が一致しない場合、データ出力装置1は不正なデータ出力装置1である。このため、データ出力システム5は、第1回路データが第1プログラマブルIC21に入力されることを防止する。この結果、第2回路データは第2プログラマブルIC221,222,223に入力されない。つまり、データ出力装置1が不正なデータ出力装置1である場合、データ出力装置1に接続されたプログラマブル装置2には第1論理回路及び第2論理回路が形成されず、プログラマブル装置2は半導体試験装置として機能しない。この結果、半導体試験装置としてのプログラマブル装置2は不正に模造されない。
【0201】
CPU10は、図3に示す第1データ出力処理と同様の第1データ出力処理を実行する。ただし、CPU10は、S12にて、固有情報記憶部15に記憶してある固有情報を読み出す。
【0202】
また、認証情報及び固有情報が一致した場合、第1回路データが第1プログラマブルIC21に入力されるが、第1入力認証情報及び第1装置固有情報が一致しないとき、データ出力装置1は不正なデータ出力装置1である。このとき、認証情報及び固有情報の一致は、例えば正規のデータ出力装置1の固有情報を盗用したことによる不正な一致である。このため、データ出力システム5は、第2回路データが第2プログラマブルIC221,222,223に入力されることを防止する。
【0203】
更に、認証情報及び固有情報が一致し、第1入力認証情報及び第1装置固有情報も一致した場合、第1回路データが第1プログラマブルIC21に入力されるが、第2入力認証情報及び第2装置固有情報が一致しないとき、データ出力装置1は不正なデータ出力装置1である。このとき、認証情報及び固有情報の一致、並びに第1入力認証情報及び第1装置固有情報の一致は、例えば正規のデータ出力装置1の固有情報及び第1装置固有情報を盗用したことによる不正な一致である。このため、データ出力システム5は、第2回路データが第2プログラマブルIC221,222,223に入力されることを防止する。
【0204】
つまり、データ出力装置1が不正なデータ出力装置1である場合、データ出力装置1に接続されたプログラマブル装置2には、第1論理回路が形成されたとしても、第2論理回路は形成されず、プログラマブル装置2は半導体試験装置として機能しない。この結果、半導体試験装置としてのプログラマブル装置2は不正に模造されない。
【0205】
第2回路データが第2プログラマブルIC221,222,223に入力されることを防止するために、本実施の形態におけるコンピュータプログラムは、第1入力認証情報及び第1装置固有情報が一致しないときに、不正なデータ出力装置1に、パスワード比較コマンドを出力させず、不正なコマンドを出力させる。また、第2入力認証情報及び第2装置固有情報が一致しないときに、本実施の形態におけるコンピュータプログラムは、不正なデータ出力装置1に、第2回路データを出力させず、第2異種回路データを出力させる。
【0206】
その他、実施の形態1,2に対応する部分には同一符号を付してそれらの説明を省略する。
【0207】
図10〜図12は、データ出力装置1のCPU10が実行する第2データ出力処理の手順、及び第2データ出力処理の実行に応じてプログラマブル装置2の第1プログラマブルIC21及び第2プログラマブルIC221,222,223で実行される処理の手順を示すフローチャートである。図10に示す第2データ出力処理は、図4に示す第2データ出力処理と同様に、第1データ出力処理の完了後、プログラマブル装置2から第1形成完了信号が入力された場合に実行される。また、S91〜S93の処理は図4に示すS31〜S33の処理と同様で、S94及びS95の処理は図7に示すS78及びS79の処理と同様であり、S101〜S106の処理は図4に示すS40〜S45の処理と同様である。
【0208】
データ出力装置1においては、S95の処理完了後、CPU10は、認証情報記憶部124から第1入力認証情報を読み出し(S96)、固有情報記憶部15から第1装置固有情報を読み出し(S97)、読み出した第1入力認証情報及び第1装置固有情報が一致しているか否かを判定する(S98)。S96〜S98は、図4に示すS34〜S36に対応する。
【0209】
S96及びS97で読み出した第1入力認証情報及び第1装置固有情報が一致している場合(S98でYES)、CPU10は、パスワード比較コマンドをプログラマブル装置2へ出力する(S99)。S99は、図5に示すS51に対応する。S99が実行された場合、プログラマブル装置2にパスワード比較コマンドが入力され、入力されたパスワード比較コマンドは第1プログラマブルIC21のパスワード比較回路213に入力される。
【0210】
S96及びS97で読み出した第1入力認証情報及び第1装置固有情報が一致していない場合(S98でNO)、CPU10は、パスワード比較コマンドとは異なる不正なコマンドをプログラマブル装置2へ出力する(S100)。S100が実行された場合、プログラマブル装置2に不正なコマンドが入力され、入力された不正なコマンドは第1プログラマブルIC21のパスワード比較回路213に入力される。
【0211】
パスワード比較回路213は、パスワード比較コマンド又はパスワード比較コマンドとは異なる不正なコマンドを受け付け、受け付けた(入力された)コマンドが、パスワード比較コマンドではない不正なコマンドである場合(S121でNO)、乱数生成コマンドが入力されるまで待機する。
【0212】
このように、S100にて不正なコマンドが出力された場合、パスワード比較回路213はパスワードを比較しないため、CPU10がS110以降の処理を実行しても無意味である。このため、S100の処理完了後、CPU10は、第2データ出力処理を終了する。
【0213】
受け付けたコマンドがパスワード比較コマンドである場合(S121でYES)、パスワード比較回路213は、図6に示すS61〜S63、S65、及びS66の処理と同様のS122〜S124、S126、及びS127の処理を実行し、スイッチ回路124は、図6に示すS64及びS67の処理と同様のS125及びS126の処理を実行する。
【0214】
データ出力装置1において、CPU10は、比較終了信号を受け付けた(比較終了信号が入力された)か否かを判定する(S110)。S110は、図5に示すS52に対応する。比較終了信号を受け付けていない場合(S110でNO)、CPU10は、比較終了信号を受け付けるまで待機する。比較終了信号を受け付けた場合(S110でYES)、CPU10は、認証情報記憶部124から第2入力認証情報を読み出し(S111)、固有情報記憶部110から第2装置固有情報を読み出し(S112)、読み出した第2入力認証情報及び第2装置固有情報が一致しているか否かを判定する(S113)。
【0215】
S111及びS112で読み出した第2入力認証情報及び第2装置固有情報が一致している場合(S113でYES)、CPU10は、回路データ記憶部123から第2回路データを読み出して(S114)、読み出した第2回路データをプログラマブル装置2へ出力する(S115)。この場合、CPU10は、第2ソフトウェア記憶部122に記憶してあるコンフィギュレーション用ソフトウェアに従ってコンフィギュレーションを行なう。S115の処理完了後、CPU10は、第2データ出力処理を終了する。
【0216】
S111及びS112で読み出した第2入力認証情報及び第2装置固有情報が一致していない場合(S113でNO)、CPU10は、回路データ記憶部123から第2異種回路データを読み出して(S116)、読み出した第2異種回路データをプログラマブル装置2へ出力する(S117)。この場合、CPU10は、第2ソフトウェア記憶部122に記憶してあるコンフィギュレーション用ソフトウェアに従ってコンフィギュレーションを行なう。S117の処理完了後、CPU10は、第2データ出力処理を終了する。
【0217】
第2プログラマブルIC221,222,223は、各種の回路データを受け付けた(各種の回路データが入力された)場合(S129でYES)、受け付けた回路データに基づいて各種の論理回路を形成し(S130)、受け付けていない場合(S129でNO)、受け付けるまで待機する。S115が実行された場合、つまりデータ出力装置1が正規のデータ出力装置1である場合、プログラマブル装置2に第2回路データが入力され、入力された第2回路データは第1プログラマブルIC21に入力される。また、スイッチ回路214はS125にてオン状態にされる。このため、第1プログラマブルIC21に入力された第2回路データは、スイッチ回路214を通過して、第2プログラマブルIC221,222,223に入力される。
【0218】
第2プログラマブルIC221,222,223は、入力された第2回路データに基づき、S130にて第2論理回路を形成し、第2論理回路の形成完了後、第2論理回路を形成したことを示す第2形成完了信号をデータ出力装置1へ出力する(不図示)。
【0219】
CPU10は、プログラマブル装置2から第2形成完了信号が入力された場合に、第1ソフトウェア記憶部121に記憶してある試験装置システムソフトウェアに従って、プログラマブル装置2を半導体試験装置として作動させ、半導体デバイスの試験を行なう。このとき、データ出力装置1は、半導体試験装置制御用ホストコンピュータとして機能する。
【0220】
一方、S117が実行された場合、つまりデータ出力装置1が不正なデータ出力装置1である場合、プログラマブル装置2に第2異種回路データが入力され、入力された第2異種回路データは第1プログラマブルIC21に入力される。また、スイッチ回路214はS125にてオン状態にされる。このため、第1プログラマブルIC21に入力された第2異種回路データは、スイッチ回路214を通過して、第2プログラマブルIC221,222,223に入力される。
【0221】
第2プログラマブルIC221,222,223は、入力された第2異種回路データに基づき、S130にて無意味な第2異種回路を形成する。この第2異種回路の形成完了後は、第2プログラマブルIC221,222,223は第2形成完了信号を出力しない。
【0222】
以上のような第2データ出力処理に関し、S98におけるCPU10は、認証情報記憶手段に記憶してある第1入力認証情報、及び、第1装置固有情報が対応しているか否かを判定する第1の対応判定手段として機能し、S113におけるCPU10は、認証情報記憶手段に記憶してある第2入力認証情報、及び、第2装置固有情報が対応しているか否かを判定する第2の対応判定手段として機能する。
【0223】
また、判定手段が、認証情報及び固有情報が対応していると判定した場合(S13でYESの場合)、第1の対応判定手段が、第1入力認証情報及び第1装置固有情報が対応していると判定し、しかも第2の対応判定手段が、第2入力認証情報及び第2装置固有情報が対応していると判定したとき(S98でYES、しかもS113でYESのとき)に、S115にて、データ出力手段による第2回路データの出力処理を実行するようにしてある。
【0224】
一方、第1の対応判定手段が、第1入力認証情報及び第1装置固有情報が対応していないと判定した場合(S98でNOの場合)、S99における比較命令出力手段によるパスワード比較コマンドの出力処理、及び、S115におけるデータ出力手段による第2回路データの出力処理を実行しないようにしてある。また、第2の対応判定手段が、第2入力認証情報及び第2装置固有情報が対応していないと判定した場合(S113でNOの場合)、S115におけるデータ出力手段による第2回路データの出力処理を実行しないようにしてある。
【0225】
S100におけるCPU10は、S99にて比較命令出力手段によるパスワード比較コマンドの出力処理を実行しない場合、パスワード比較コマンドとは異なる不正なコマンドをプログラマブル装置2へ出力する異種比較命令出力手段として機能する。また、S117におけるCPU10は、データ記憶手段に記憶してある第2異種回路データをプログラマブル装置2へ出力する異種データ出力手段として機能し、S115におけるデータ出力手段による第2回路データの出力処理を実行しない場合、S117にて異種データ出力手段による第2異種回路データの出力処理を実行するようにしてある。
【0226】
以上のようなデータ出力システム5は、実施の形態1,2のデータ出力システム5と同様に、データ出力装置1の固有情報、第1装置固有情報及び第2装置固有情報、並びにコンフィギュレーション用ソフトウェアに付与してある認証情報、第1入力認証情報及び第2入力認証情報を、パスワード比較コマンドの出力、第2回路データの第2プログラマブルIC221,222,223に対する入力等、各処理実行の可否を判定するためのセキュリティキーとして用いている。この結果、不正なデータ出力装置1が、半導体試験装置としてのプログラマブル装置2を不正に模造することを防止することができる。
【0227】
また、実施の形態1,2のように認証情報及び固有情報並びに入力認証情報及び装置固有情報の2組をセキュリティキーとして用いる構成ではなく、認証情報及び固有情報、第1入力認証情報及び第1装置固有情報、並びに第2入力認証情報及び第2装置固有情報の3個をセキュリティキーとして用いる構成であるため、セキュリティキーを2組まで盗用されても、半導体試験装置としてのプログラマブル装置2が不正に模造されることを防止することができる。
【0228】
つまり、データ出力システム5は、半導体試験装置としてのプログラマブル装置2の重要性、運用の利便性、コスト等に応じて、セキュリティキーの個数を増減することができる。このようなセキュリティキーは4組以上でも良い。
【図面の簡単な説明】
【0229】
【図1】本発明の実施の形態1に係るデータ出力システムの構成を示すブロック図である。
【図2】本発明の実施の形態1に係るプログラマブル装置が備える第1プログラマブルICの構成を示すブロック図である。
【図3】本発明の実施の形態1に係るデータ出力装置の第1データ出力処理の手順、及び第1データ出力処理の実行に応じてプログラマブル装置の第1プログラマブルICで実行される処理の手順を示すフローチャートである。
【図4】本発明の実施の形態1に係るデータ出力装置の第2データ出力処理の手順、及び第2データ出力処理の実行に応じてプログラマブル装置の第1プログラマブルICで実行される処理の手順を示すフローチャートである。
【図5】本発明の実施の形態1に係るデータ出力装置の第2データ出力処理の手順を示すフローチャートである。
【図6】本発明の実施の形態1に係るデータ出力装置の第2データ出力処理の実行に応じてプログラマブル装置の第1プログラマブルIC及び第2プログラマブルICで実行される処理の手順を示すフローチャートである。
【図7】本発明の実施の形態2に係るデータ出力システムの構成を示すブロック図である。
【図8】本発明の実施の形態2に係るデータ出力装置の第2データ出力処理の手順、及び第2データ出力処理の実行に応じてプログラマブル装置の第1プログラマブルICで実行される処理の手順を示すフローチャートである。
【図9】本発明の実施の形態3に係るデータ出力システムの構成を示すブロック図である。
【図10】本発明の実施の形態3に係るデータ出力装置の第2データ出力処理の手順、及び第2データ出力処理の実行に応じてプログラマブル装置の第1プログラマブルICで実行される処理の手順を示すフローチャートである。
【図11】本発明の実施の形態3に係るデータ出力装置の第2データ出力処理の手順を示すフローチャートである。
【図12】本発明の実施の形態3に係るデータ出力装置の第2データ出力処理の実行に応じてプログラマブル装置の第1プログラマブルIC及び第2プログラマブルICで実行される処理の手順を示すフローチャートである。
【符号の説明】
【0230】
1 データ出力装置
10 CPU
11 ROM
110,15 固有情報記憶部
12 RAM
123 回路データ記憶部(データ記憶手段)
124 認証情報記憶部(認証情報記憶手段)
2 プログラマブル装置
21 第1プログラマブルIC(プログラマブルIC)
211 乱数生成回路
212 パスワード生成回路
213 パスワード比較回路
214 スイッチ回路
221,222,223 第2プログラマブルIC(後段プログラマブルIC)
5 データ出力システム

【特許請求の範囲】
【請求項1】
入力された回路データに基づいて論理回路を形成するプログラマブルICを有するプログラマブル装置へ出力すべき回路データと、前記プログラマブルICに対する前記回路データの入力を認証するための認証情報とを記憶してあり、自身の固有情報を有するデータ出力装置から、前記プログラマブル装置へ前記回路データを出力するデータ出力方法であって、
前記データ出力装置が、
前記認証情報及び前記固有情報が対応しているか否かを判定し、
前記認証情報及び前記固有情報が対応していると判定した場合、前記プログラマブル装置へ前記回路データを出力する
ことを特徴とするデータ出力方法。
【請求項2】
入力された回路データに基づいて論理回路を形成するプログラマブルICを有するプログラマブル装置と、
該プログラマブル装置へ出力すべき回路データを記憶してあるデータ記憶手段、及び、該データ記憶手段に記憶してある回路データを前記プログラマブル装置へ出力する出力手段を有するデータ出力装置と
を備えるデータ出力システムであって、
前記データ出力装置は、
該データ出力装置自身の固有情報を有しており、
前記プログラマブルICに対する前記回路データの入力を認証するための認証情報を記憶してある認証情報記憶手段と、
該認証情報記憶手段に記憶してある認証情報、及び、前記固有情報が対応しているか否かを判定する判定手段と
を備え、
該判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記出力手段による前記回路データの出力処理を実行するようにしてある
ことを特徴とするデータ出力システム。
【請求項3】
前記判定手段が、前記認証情報及び前記固有情報が対応していないと判定した場合、前記出力手段による前記回路データの出力処理を実行しないようにしてある
ことを特徴とする請求項2に記載のデータ出力システム。
【請求項4】
前記データ記憶手段は、前記回路データとは異なる異種回路データを記憶してあり、
前記データ出力装置は、前記データ記憶手段に記憶してある異種回路データを前記プログラマブル装置へ出力する異種出力手段を備え、
前記出力手段による前記回路データの出力処理を実行しない場合、前記異種出力手段による前記異種回路データの出力処理を実行するようにしてあり、
前記プログラマブルICは、入力された異種回路データに基づいて前記論理回路とは異なる異種回路を形成するようにしてある
ことを特徴とする請求項3に記載のデータ出力システム。
【請求項5】
前記プログラマブル装置は、前記プログラマブルICの後段に設けられ、前記プログラマブルICに形成された前記論理回路を介して入力された後段回路データに基づいて後段論理回路を形成する後段プログラマブルICを有し、
前記データ記憶手段は、前記後段プログラマブルICへ出力すべき後段回路データを記憶してあり、
前記認証情報記憶手段は、前記認証情報とは異なり、前記後段プログラマブルICに対する前記後段回路データの入力を認証するための入力認証情報を記憶してあり、
前記データ出力装置は、
該データ出力装置自身に固有であり、前記固有情報とは異なる装置固有情報を有しており、
前記出力手段による前記回路データの出力処理の実行後、前記データ記憶手段に記憶してある後段回路データを前記プログラマブル装置へ出力するデータ出力手段と、
前記認証情報記憶手段に記憶してある入力認証情報、及び、前記装置固有情報が対応しているか否かを判定する対応判定手段と
を備え、
前記判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記対応判定手段が、前記入力認証情報及び前記装置固有情報が対応していると判定したときに、前記データ出力手段による前記後段回路データの出力処理を実行するようにしてある
ことを特徴とする請求項2乃至4の何れかひとつに記載のデータ出力システム。
【請求項6】
前記回路データはパスワード生成アルゴリズムを含んでおり、
前記論理回路は、
前記データ出力装置から乱数生成コマンドが入力された場合に乱数を生成する乱数生成回路と、
該乱数生成回路が生成した乱数、及び前記回路データに含まれているパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成回路と、
前記データ出力装置からパスワード比較コマンドが入力された場合に、前記データ出力装置から入力されたパスワード及び前記パスワード生成回路が生成したパスワードを比較するパスワード比較回路と、
該パスワード比較回路の比較結果に基づいて、前記論理回路及び前記後段プログラマブルICの接続/遮断を切り換えるスイッチ回路と
を備える
ことを特徴とする請求項5に記載のデータ出力システム。
【請求項7】
前記データ出力装置は、
前記出力手段による前記回路データの出力処理の実行後、前記乱数生成回路に乱数を生成させる乱数生成コマンドを前記プログラマブル装置へ出力する生成命令出力手段と、
前記乱数生成回路が生成した乱数を前記プログラマブル装置から取得する乱数取得手段と、
該乱数取得手段が取得した乱数、及び前記データ記憶手段に記憶してある回路データに含まれているパスワード生成アルゴリズムと同一のパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成手段と、
該パスワード生成手段が生成したパスワードを前記プログラマブル装置へ出力するパスワード出力手段と、
前記パスワード比較回路にパスワードを比較させるパスワード比較コマンドを前記プログラマブル装置へ出力する比較命令出力手段と
を備え、
前記パスワード出力手段による前記パスワードの出力処理の実行後、前記データ出力手段による前記後段回路データの出力処理を実行するようにしてあり、
前記対応判定手段が、前記入力認証情報及び前記装置固有情報が対応していないと判定した場合、前記生成命令出力手段による乱数生成コマンドの出力処理、前記乱数取得手段による乱数の取得処理、前記パスワード生成手段によるパスワードの生成処理、前記パスワード出力手段によるパスワードの出力処理、前記比較命令出力手段によるパスワード比較コマンドの出力処理、及び、前記データ出力手段による前記後段回路データの出力処理の内、少なくとも一つの処理を実行しないようにしてある
ことを特徴とする請求項6に記載のデータ出力システム。
【請求項8】
前記データ記憶手段は、前記後段回路データとは異なる異種後段回路データを記憶してあり、
前記データ出力装置は、前記データ記憶手段に記憶してある異種後段回路データを前記プログラマブル装置へ出力する異種データ出力手段を備え、
前記データ出力手段による前記後段回路データの出力処理を実行しない場合、前記異種データ出力手段による前記異種後段回路データの出力処理を実行するようにしてあり、
前記後段プログラマブルICは、入力された異種後段回路データに基づいて前記後段論理回路とは異なる異種論理回路を形成するようにしてある
ことを特徴とする請求項7に記載のデータ出力システム。
【請求項9】
前記データ出力装置は、
前記パスワード生成手段によるパスワードの生成処理を実行しない場合、前記乱数取得手段が取得した乱数、及び前記パスワード生成アルゴリズムとは異なるパスワード生成アルゴリズムに基づいてパスワードを生成する異種パスワード生成手段と、
該異種パスワード生成手段が生成したパスワードを前記プログラマブル装置へ出力する異種パスワード出力手段と
を備えることを特徴とする請求項7又は8に記載のデータ出力システム。
【請求項10】
前記データ出力装置は、
前記生成命令出力手段による乱数生成コマンドの出力処理を実行しない場合、前記乱数生成コマンドとは異なるコマンドを前記プログラマブル装置へ出力する異種乱数生成命令出力手段
を備えることを特徴とする請求項7乃至9の何れかひとつに記載のデータ出力システム。
【請求項11】
前記データ出力装置は、
前記比較命令出力手段によるパスワード比較コマンドの出力処理を実行しない場合、前記パスワード比較コマンドとは異なるコマンドを前記プログラマブル装置へ出力する異種比較命令出力手段
を備えることを特徴とする請求項7乃至10の何れかひとつに記載のデータ出力システム。
【請求項12】
外部から入力された回路データに基づいて論理回路を形成するプログラマブルICと、
該プログラマブルICの後段に設けられ、前記プログラマブルICに形成された前記論理回路を介して外部から入力された後段回路データに基づいて後段論理回路を形成する後段プログラマブルICと
を備えるプログラマブル装置であって、
前記回路データはパスワード生成アルゴリズムを含んでおり、
前記論理回路は、
外部から乱数生成コマンドが入力された場合に乱数を生成する乱数生成回路と、
該乱数生成回路が生成した乱数、及び前記回路データに含まれているパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成回路と、
外部からパスワード比較コマンドが入力された場合に、外部から入力されたパスワード及び前記パスワード生成回路が生成したパスワードを比較するパスワード比較回路と、
該パスワード比較回路の比較結果に基づいて、前記論理回路及び前記後段プログラマブルICの接続/遮断を切り換えるスイッチ回路と
を備える
ことを特徴とするプログラマブル装置。
【請求項13】
データ記憶手段に記憶してある回路データを外部へ出力する出力手段
を備えるデータ出力装置であって、
自身の固有情報を有しており、
外部に対する前記回路データの入力を認証するための認証情報を記憶してある認証情報記憶手段と、
該認証情報記憶手段に記憶してある認証情報、及び、前記固有情報が対応しているか否かを判定する判定手段と
を備え、
該判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記出力手段による前記回路データの出力処理を実行するようにしてある
ことを特徴とするデータ出力装置。
【請求項14】
回路データと、外部に対する前記回路データの入力を認証するための認証情報とを記憶してあり、自身の固有情報を有するコンピュータに、
前記認証情報及び前記固有情報が対応しているか否かを判定させるステップと、
前記認証情報及び前記固有情報が対応していると判定された場合、前記回路データを外部へ出力させるステップと
を実行させることを特徴とするコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate