(57)【要約】  【課題】  所要の論理回路が形成されているプログラマブル装置が不正に模造されることを防止することができるデータ出力方法、データ出力システム、プログラマブル装置、データ出力装置、及びコンピュータプログラムを提供する。  【解決手段】  データ出力装置１の固有情報及び装置固有情報をセキュリティキーとして用い、固有情報がソフトウェアの認証情報に一致しないか、装置固有情報が入力認証情報に一致しない場合、第１回路データが第１プログラマブルＩＣ２１に入力されること、及び／又は第２回路データが第２プログラマブルＩＣ２２１，２２２，２２３に入力されることを防止する。【選択図】      図１
2006195672.tif 000002
【特許請求の範囲】
【請求項１】
入力された回路データに基づいて論理回路を形成するプログラマブルＩＣを有するプログラマブル装置へ出力すべき回路データと、前記プログラマブルＩＣに対する前記回路データの入力を認証するための認証情報とを記憶してあり、自身の固有情報を有するデータ出力装置から、前記プログラマブル装置へ前記回路データを出力するデータ出力方法であって、
前記データ出力装置が、
前記認証情報及び前記固有情報が対応しているか否かを判定し、
前記認証情報及び前記固有情報が対応していると判定した場合、前記プログラマブル装置へ前記回路データを出力する
ことを特徴とするデータ出力方法。
【請求項２】
入力された回路データに基づいて論理回路を形成するプログラマブルＩＣを有するプログラマブル装置と、
該プログラマブル装置へ出力すべき回路データを記憶してあるデータ記憶手段、及び、該データ記憶手段に記憶してある回路データを前記プログラマブル装置へ出力する出力手段を有するデータ出力装置と
を備えるデータ出力システムであって、
前記データ出力装置は、
該データ出力装置自身の固有情報を有しており、
前記プログラマブルＩＣに対する前記回路データの入力を認証するための認証情報を記憶してある認証情報記憶手段と、
該認証情報記憶手段に記憶してある認証情報、及び、前記固有情報が対応しているか否かを判定する判定手段と
を備え、
該判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記出力手段による前記回路データの出力処理を実行するようにしてある
ことを特徴とするデータ出力システム。
【請求項３】
前記判定手段が、前記認証情報及び前記固有情報が対応していないと判定した場合、前記出力手段による前記回路データの出力処理を実行しないようにしてある
ことを特徴とする請求項２に記載のデータ出力システム。
【請求項４】
前記データ記憶手段は、前記回路データとは異なる異種回路データを記憶してあり、
前記データ出力装置は、前記データ記憶手段に記憶してある異種回路データを前記プログラマブル装置へ出力する異種出力手段を備え、
前記出力手段による前記回路データの出力処理を実行しない場合、前記異種出力手段による前記異種回路データの出力処理を実行するようにしてあり、
前記プログラマブルＩＣは、入力された異種回路データに基づいて前記論理回路とは異なる異種回路を形成するようにしてある
ことを特徴とする請求項３に記載のデータ出力システム。
【請求項５】
前記プログラマブル装置は、前記プログラマブルＩＣの後段に設けられ、前記プログラマブルＩＣに形成された前記論理回路を介して入力された後段回路データに基づいて後段論理回路を形成する後段プログラマブルＩＣを有し、
前記データ記憶手段は、前記後段プログラマブルＩＣへ出力すべき後段回路データを記憶してあり、
前記認証情報記憶手段は、前記認証情報とは異なり、前記後段プログラマブルＩＣに対する前記後段回路データの入力を認証するための入力認証情報を記憶してあり、
前記データ出力装置は、
該データ出力装置自身に固有であり、前記固有情報とは異なる装置固有情報を有しており、
前記出力手段による前記回路データの出力処理の実行後、前記データ記憶手段に記憶してある後段回路データを前記プログラマブル装置へ出力するデータ出力手段と、
前記認証情報記憶手段に記憶してある入力認証情報、及び、前記装置固有情報が対応しているか否かを判定する対応判定手段と
を備え、
前記判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記対応判定手段が、前記入力認証情報及び前記装置固有情報が対応していると判定したときに、前記データ出力手段による前記後段回路データの出力処理を実行するようにしてある
ことを特徴とする請求項２乃至４の何れかひとつに記載のデータ出力システム。
【請求項６】
前記回路データはパスワード生成アルゴリズムを含んでおり、
前記論理回路は、
前記データ出力装置から乱数生成コマンドが入力された場合に乱数を生成する乱数生成回路と、
該乱数生成回路が生成した乱数、及び前記回路データに含まれているパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成回路と、
前記データ出力装置からパスワード比較コマンドが入力された場合に、前記データ出力装置から入力されたパスワード及び前記パスワード生成回路が生成したパスワードを比較するパスワード比較回路と、
該パスワード比較回路の比較結果に基づいて、前記論理回路及び前記後段プログラマブルＩＣの接続／遮断を切り換えるスイッチ回路と
を備える
ことを特徴とする請求項５に記載のデータ出力システム。
【請求項７】
前記データ出力装置は、
前記出力手段による前記回路データの出力処理の実行後、前記乱数生成回路に乱数を生成させる乱数生成コマンドを前記プログラマブル装置へ出力する生成命令出力手段と、
前記乱数生成回路が生成した乱数を前記プログラマブル装置から取得する乱数取得手段と、
該乱数取得手段が取得した乱数、及び前記データ記憶手段に記憶してある回路データに含まれているパスワード生成アルゴリズムと同一のパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成手段と、
該パスワード生成手段が生成したパスワードを前記プログラマブル装置へ出力するパスワード出力手段と、
前記パスワード比較回路にパスワードを比較させるパスワード比較コマンドを前記プログラマブル装置へ出力する比較命令出力手段と
を備え、
前記パスワード出力手段による前記パスワードの出力処理の実行後、前記データ出力手段による前記後段回路データの出力処理を実行するようにしてあり、
前記対応判定手段が、前記入力認証情報及び前記装置固有情報が対応していないと判定した場合、前記生成命令出力手段による乱数生成コマンドの出力処理、前記乱数取得手段による乱数の取得処理、前記パスワード生成手段によるパスワードの生成処理、前記パスワード出力手段によるパスワードの出力処理、前記比較命令出力手段によるパスワード比較コマンドの出力処理、及び、前記データ出力手段による前記後段回路データの出力処理の内、少なくとも一つの処理を実行しないようにしてある
ことを特徴とする請求項６に記載のデータ出力システム。
【請求項８】
前記データ記憶手段は、前記後段回路データとは異なる異種後段回路データを記憶してあり、
前記データ出力装置は、前記データ記憶手段に記憶してある異種後段回路データを前記プログラマブル装置へ出力する異種データ出力手段を備え、
前記データ出力手段による前記後段回路データの出力処理を実行しない場合、前記異種データ出力手段による前記異種後段回路データの出力処理を実行するようにしてあり、
前記後段プログラマブルＩＣは、入力された異種後段回路データに基づいて前記後段論理回路とは異なる異種論理回路を形成するようにしてある
ことを特徴とする請求項７に記載のデータ出力システム。
【請求項９】
前記データ出力装置は、
前記パスワード生成手段によるパスワードの生成処理を実行しない場合、前記乱数取得手段が取得した乱数、及び前記パスワード生成アルゴリズムとは異なるパスワード生成アルゴリズムに基づいてパスワードを生成する異種パスワード生成手段と、
該異種パスワード生成手段が生成したパスワードを前記プログラマブル装置へ出力する異種パスワード出力手段と
を備えることを特徴とする請求項７又は８に記載のデータ出力システム。
【請求項１０】
前記データ出力装置は、
前記生成命令出力手段による乱数生成コマンドの出力処理を実行しない場合、前記乱数生成コマンドとは異なるコマンドを前記プログラマブル装置へ出力する異種乱数生成命令出力手段
を備えることを特徴とする請求項７乃至９の何れかひとつに記載のデータ出力システム。
【請求項１１】
前記データ出力装置は、
前記比較命令出力手段によるパスワード比較コマンドの出力処理を実行しない場合、前記パスワード比較コマンドとは異なるコマンドを前記プログラマブル装置へ出力する異種比較命令出力手段
を備えることを特徴とする請求項７乃至１０の何れかひとつに記載のデータ出力システム。
【請求項１２】
外部から入力された回路データに基づいて論理回路を形成するプログラマブルＩＣと、
該プログラマブルＩＣの後段に設けられ、前記プログラマブルＩＣに形成された前記論理回路を介して外部から入力された後段回路データに基づいて後段論理回路を形成する後段プログラマブルＩＣと
を備えるプログラマブル装置であって、
前記回路データはパスワード生成アルゴリズムを含んでおり、
前記論理回路は、
外部から乱数生成コマンドが入力された場合に乱数を生成する乱数生成回路と、
該乱数生成回路が生成した乱数、及び前記回路データに含まれているパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成回路と、
外部からパスワード比較コマンドが入力された場合に、外部から入力されたパスワード及び前記パスワード生成回路が生成したパスワードを比較するパスワード比較回路と、
該パスワード比較回路の比較結果に基づいて、前記論理回路及び前記後段プログラマブルＩＣの接続／遮断を切り換えるスイッチ回路と
を備える
ことを特徴とするプログラマブル装置。
【請求項１３】
データ記憶手段に記憶してある回路データを外部へ出力する出力手段
を備えるデータ出力装置であって、
自身の固有情報を有しており、
外部に対する前記回路データの入力を認証するための認証情報を記憶してある認証情報記憶手段と、
該認証情報記憶手段に記憶してある認証情報、及び、前記固有情報が対応しているか否かを判定する判定手段と
を備え、
該判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記出力手段による前記回路データの出力処理を実行するようにしてある
ことを特徴とするデータ出力装置。
【請求項１４】
回路データと、外部に対する前記回路データの入力を認証するための認証情報とを記憶してあり、自身の固有情報を有するコンピュータに、
前記認証情報及び前記固有情報が対応しているか否かを判定させるステップと、
前記認証情報及び前記固有情報が対応していると判定された場合、前記回路データを外部へ出力させるステップと
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ出力装置から、ＦＰＧＡ（Field Programmable Gate Array ）のようなプログラマブルＩＣを備えるプログラマブル装置へ、論理回路を形成させるための回路データを出力するデータ出力方法、データ出力システム、プログラマブル装置、データ出力装置、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
半導体デバイスの試験を行なう半導体試験装置は、ＤＵＴ（Device Under Test ）の変更にフレキシブルに対応するために、プログラマブル装置を用いて構成されている。プログラマブル装置は、その内部のロジック構成を外部から決定することができるＦＰＧＡのようなプログラマブルＩＣを備える。プログラマブルＩＣは、ＦＰＧＡのプログラミング用のコンピュータから入力された回路データに基づき、ＤＵＴを試験するための様々な機能を有する論理回路を形成する。
【０００３】
しかしながら、ＦＰＧＡは汎用ＩＣであるため、従来、プログラミング用のコンピュータが有する回路データを第三者にコピーされた場合、半導体試験装置が不正に模造されることがあった。即ち、第三者が、コピーした回路データと他のコンピュータとを用いてプログラミング用のコンピュータを得て、更にこのコンピュータとＦＰＧＡを備える他のプログラマブル装置とを用いて半導体試験装置を不正に模造することがあった。
【０００４】
半導体試験装置が不正に模造されることを防止するためには、半導体試験装置に備えられるＦＰＧＡ以外のＩＣとしてカスタムＩＣを用いることが考えられる。
【０００５】
また、プログラミング用のコンピュータが、暗号化された回路データを有し、半導体試験装置が、暗号化された回路データを復号するデコーダ部を備え、コンピュータから入力された回路データをデコーダ部で復号し、復号された回路データに基づいてＦＰＧＡが論理回路を形成するデータ出力システムが提案されている。この場合、コンピュータが有する回路データをコピーされたときでも、回路データが暗号化されており、回路データの復号は半導体試験装置が備えるデコーダ部が行なうため、第三者に半導体試験装置が不正に模造されることが防止される（特許文献１参照）。
【特許文献１】特開２００４−７４７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、半導体試験装置にカスタムＩＣを用いる場合、カスタムＩＣは高価であるため、半導体試験装置のコストが増大するという問題があった。
【０００７】
また、暗号化された回路データを用いる場合、半導体試験装置がデコーダ部を備える必要があるため、デコーダ部を備える分だけ半導体試験装置のコストが増大するという問題があった。
【０００８】
本発明は斯かる問題を解決するためになされたものであり、プログラミング用のコンピュータであるデータ出力装置が有するソフトウェアの認証情報とハードウェアの固有情報とが対応している場合、データ出力装置からプログラマブル装置へ、プログラマブル装置のプログラマブルＩＣに入力すべき回路データを出力することにより、正規のデータ出力装置によって、プログラマブル装置に所要の論理回路を形成させることができるデータ出力方法、データ出力システム、プログラマブル装置、データ出力装置、及びコンピュータプログラムを提供することを目的とする。
【０００９】
本発明の他の目的は、認証情報と固有情報とが対応していない場合、データ出力装置からプログラマブル装置へ回路データを出力しない構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に所要の論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【００１０】
本発明の他の目的は、回路データを出力しない場合、データ出力装置からプログラマブル装置へ異種回路データを出力する構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に無意味な異種回路を形成させることができ、所要の論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【００１１】
本発明の他の目的は、認証情報と固有情報とが対応している場合、データ出力装置が有するソフトウェアの入力認証情報とハードウェアの装置固有情報とが対応しているとき、データ出力装置からプログラマブル装置へ、回路データと、プログラマブル装置の後段プログラマブルＩＣに入力すべき後段回路データとを出力する構成とすることにより、正規のデータ出力装置によって、プログラマブル装置に所要の論理回路及び後段論理回路を形成させることができるデータ出力システムを提供することにある。
【００１２】
本発明の他の目的は、論理回路が備えるスイッチ回路が、論理回路及び後段プログラマブルＩＣの接続／遮断を切り換える構成とすることにより、正規のデータ出力装置によって、プログラマブル装置に所要の後段論理回路を形成させることができ、不正なデータ出力装置によって後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【００１３】
本発明の他の目的は、入力認証情報と装置固有情報とが対応していない場合、プログラマブル装置の後段プログラマブルＩＣに後段回路データが入力されない構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に所要の後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【００１４】
本発明の他の目的は、プログラマブル装置の後段プログラマブルＩＣに後段回路データが入力されないように、データ出力装置からプログラマブル装置へ、後段回路データを出力する代わりに異種後段回路データを出力する構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に無意味な異種論理回路を形成させることができ、所要の後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【００１５】
本発明の他の目的は、プログラマブル装置の後段プログラマブルＩＣに後段回路データが入力されないように、データ出力装置からプログラマブル装置へ、正規のパスワードの代わりに不正なパスワードを出力する構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に所要の後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【００１６】
本発明の他の目的は、プログラマブル装置の後段プログラマブルＩＣに後段回路データが入力されないように、データ出力装置からプログラマブル装置へ乱数生成コマンドの代わりに不正なコマンドを出力する構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に所要の後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【００１７】
本発明の更に他の目的は、プログラマブル装置の後段プログラマブルＩＣに後段回路データが入力されないように、データ出力装置からプログラマブル装置へパスワード比較コマンドの代わりに不正なコマンドを出力する構成とすることにより、不正なデータ出力装置によって、プログラマブル装置に所要の後段論理回路が形成されることを防止することができるデータ出力システムを提供することにある。
【課題を解決するための手段】
【００１８】
本発明に係るデータ出力方法は、入力された回路データに基づいて論理回路を形成するプログラマブルＩＣを有するプログラマブル装置へ出力すべき回路データと、前記プログラマブルＩＣに対する前記回路データの入力を認証するための認証情報とを記憶してあり、自身の固有情報を有するデータ出力装置から、前記プログラマブル装置へ前記回路データを出力するデータ出力方法であって、前記データ出力装置が、前記認証情報及び前記固有情報が対応しているか否かを判定し、前記認証情報及び前記固有情報が対応していると判定した場合、前記プログラマブル装置へ前記回路データを出力することを特徴とする。
【００１９】
本発明に係るデータ出力システムは、入力された回路データに基づいて論理回路を形成するプログラマブルＩＣを有するプログラマブル装置と、該プログラマブル装置へ出力すべき回路データを記憶してあるデータ記憶手段、及び、該データ記憶手段に記憶してある回路データを前記プログラマブル装置へ出力する出力手段を有するデータ出力装置とを備えるデータ出力システムであって、前記データ出力装置は、該データ出力装置自身の固有情報を有しており、前記プログラマブルＩＣに対する前記回路データの入力を認証するための認証情報を記憶してある認証情報記憶手段と、該認証情報記憶手段に記憶してある認証情報、及び、前記固有情報が対応しているか否かを判定する判定手段とを備え、該判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記出力手段による前記回路データの出力処理を実行するようにしてあることを特徴とする。
【００２０】
本発明に係るデータ出力システムは、前記判定手段が、前記認証情報及び前記固有情報が対応していないと判定した場合、前記出力手段による前記回路データの出力処理を実行しないようにしてあることを特徴とする。
【００２１】
本発明に係るデータ出力システムは、前記データ記憶手段は、前記回路データとは異なる異種回路データを記憶してあり、前記データ出力装置は、前記データ記憶手段に記憶してある異種回路データを前記プログラマブル装置へ出力する異種出力手段を備え、前記出力手段による前記回路データの出力処理を実行しない場合、前記異種出力手段による前記異種回路データの出力処理を実行するようにしてあり、前記プログラマブルＩＣは、入力された異種回路データに基づいて前記論理回路とは異なる異種回路を形成するようにしてあることを特徴とする。
【００２２】
本発明に係るデータ出力システムは、前記プログラマブル装置は、前記プログラマブルＩＣの後段に設けられ、前記プログラマブルＩＣに形成された前記論理回路を介して入力された後段回路データに基づいて後段論理回路を形成する後段プログラマブルＩＣを有し、前記データ記憶手段は、前記後段プログラマブルＩＣへ出力すべき後段回路データを記憶してあり、前記認証情報記憶手段は、前記認証情報とは異なり、前記後段プログラマブルＩＣに対する前記後段回路データの入力を認証するための入力認証情報を記憶してあり、前記データ出力装置は、該データ出力装置自身に固有であり、前記固有情報とは異なる装置固有情報を有しており、前記出力手段による前記回路データの出力処理の実行後、前記データ記憶手段に記憶してある後段回路データを前記プログラマブル装置へ出力するデータ出力手段と、前記認証情報記憶手段に記憶してある入力認証情報、及び、前記装置固有情報が対応しているか否かを判定する対応判定手段とを備え、前記判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記対応判定手段が、前記入力認証情報及び前記装置固有情報が対応していると判定したときに、前記データ出力手段による前記後段回路データの出力処理を実行するようにしてあることを特徴とする。
【００２３】
本発明に係るデータ出力システムは、前記回路データはパスワード生成アルゴリズムを含んでおり、前記論理回路は、前記データ出力装置から乱数生成コマンドが入力された場合に乱数を生成する乱数生成回路と、該乱数生成回路が生成した乱数、及び前記回路データに含まれているパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成回路と、前記データ出力装置からパスワード比較コマンドが入力された場合に、前記データ出力装置から入力されたパスワード及び前記パスワード生成回路が生成したパスワードを比較するパスワード比較回路と、該パスワード比較回路の比較結果に基づいて、前記論理回路及び前記後段プログラマブルＩＣの接続／遮断を切り換えるスイッチ回路とを備えることを特徴とする。
【００２４】
本発明に係るデータ出力システムは、前記データ出力装置は、前記出力手段による前記回路データの出力処理の実行後、前記乱数生成回路に乱数を生成させる乱数生成コマンドを前記プログラマブル装置へ出力する生成命令出力手段と、前記乱数生成回路が生成した乱数を前記プログラマブル装置から取得する乱数取得手段と、該乱数取得手段が取得した乱数、及び前記データ記憶手段に記憶してある回路データに含まれているパスワード生成アルゴリズムと同一のパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成手段と、該パスワード生成手段が生成したパスワードを前記プログラマブル装置へ出力するパスワード出力手段と、前記パスワード比較回路にパスワードを比較させるパスワード比較コマンドを前記プログラマブル装置へ出力する比較命令出力手段とを備え、前記パスワード出力手段による前記パスワードの出力処理の実行後、前記データ出力手段による前記後段回路データの出力処理を実行するようにしてあり、前記対応判定手段が、前記入力認証情報及び前記装置固有情報が対応していないと判定した場合、前記生成命令出力手段による乱数生成コマンドの出力処理、前記乱数取得手段による乱数の取得処理、前記パスワード生成手段によるパスワードの生成処理、前記パスワード出力手段によるパスワードの出力処理、前記比較命令出力手段によるパスワード比較コマンドの出力処理、及び、前記データ出力手段による前記後段回路データの出力処理の内、少なくとも一つの処理を実行しないようにしてあることを特徴とする。
【００２５】
本発明に係るデータ出力システムは、前記データ記憶手段は、前記後段回路データとは異なる異種後段回路データを記憶してあり、前記データ出力装置は、前記データ記憶手段に記憶してある異種後段回路データを前記プログラマブル装置へ出力する異種データ出力手段を備え、前記データ出力手段による前記後段回路データの出力処理を実行しない場合、前記異種データ出力手段による前記異種後段回路データの出力処理を実行するようにしてあり、前記後段プログラマブルＩＣは、入力された異種後段回路データに基づいて前記後段論理回路とは異なる異種論理回路を形成するようにしてあることを特徴とする。
【００２６】
本発明に係るデータ出力システムは、前記データ出力装置は、前記パスワード生成手段によるパスワードの生成処理を実行しない場合、前記乱数取得手段が取得した乱数、及び前記パスワード生成アルゴリズムとは異なるパスワード生成アルゴリズムに基づいてパスワードを生成する異種パスワード生成手段と、該異種パスワード生成手段が生成したパスワードを前記プログラマブル装置へ出力する異種パスワード出力手段とを備えることを特徴とする。
【００２７】
本発明に係るデータ出力システムは、前記データ出力装置は、前記生成命令出力手段による乱数生成コマンドの出力処理を実行しない場合、前記乱数生成コマンドとは異なるコマンドを前記プログラマブル装置へ出力する異種乱数生成命令出力手段を備えることを特徴とする。
【００２８】
本発明に係るデータ出力システムは、前記データ出力装置は、前記比較命令出力手段によるパスワード比較コマンドの出力処理を実行しない場合、前記パスワード比較コマンドとは異なるコマンドを前記プログラマブル装置へ出力する異種比較命令出力手段を備えることを特徴とする。
【００２９】
本発明に係るプログラマブル装置は、外部から入力された回路データに基づいて論理回路を形成するプログラマブルＩＣと、該プログラマブルＩＣの後段に設けられ、前記プログラマブルＩＣに形成された前記論理回路を介して外部から入力された後段回路データに基づいて後段論理回路を形成する後段プログラマブルＩＣとを備えるプログラマブル装置であって、前記回路データはパスワード生成アルゴリズムを含んでおり、前記論理回路は、外部から乱数生成コマンドが入力された場合に乱数を生成する乱数生成回路と、該乱数生成回路が生成した乱数、及び前記回路データに含まれているパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成回路と、外部からパスワード比較コマンドが入力された場合に、外部から入力されたパスワード及び前記パスワード生成回路が生成したパスワードを比較するパスワード比較回路と、該パスワード比較回路の比較結果に基づいて、前記論理回路及び前記後段プログラマブルＩＣの接続／遮断を切り換えるスイッチ回路とを備えることを特徴とする。
【００３０】
本発明に係るデータ出力装置は、データ記憶手段に記憶してある回路データを外部へ出力する出力手段を備えるデータ出力装置であって、自身の固有情報を有しており、外部に対する前記回路データの入力を認証するための認証情報を記憶してある認証情報記憶手段と、該認証情報記憶手段に記憶してある認証情報、及び、前記固有情報が対応しているか否かを判定する判定手段とを備え、該判定手段が、前記認証情報及び前記固有情報が対応していると判定した場合、前記出力手段による前記回路データの出力処理を実行するようにしてあることを特徴とする。
【００３１】
本発明に係るコンピュータプログラムは、回路データと、外部に対する前記回路データの入力を認証するための認証情報とを記憶してあり、自身の固有情報を有するコンピュータに、前記認証情報及び前記固有情報が対応しているか否かを判定させるステップと、前記認証情報及び前記固有情報が対応していると判定された場合、前記回路データを外部へ出力させるステップとを実行させることを特徴とする。
【００３２】
本発明にあっては、プログラマブル装置が、データ出力装置から回路データが入力されるプログラマブルＩＣを備える。回路データの入力によって、プログラマブルＩＣには論理回路が形成される。
【００３３】
データ出力装置は、データ記憶手段に、プログラマブル装置へ出力すべき回路データを記憶してある。また、データ出力装置は、自身に固有の固有情報を有する。この固有情報は、データ出力装置の製造番号、ＭＡＣアドレス、データ出力装置が備える入出力ポートに接続してあるドングルのようなハードキーが有するＩＤ等である。更に、データ出力装置は、認証情報記憶手段に、プログラマブルＩＣに対する回路データの入力を認証するための認証情報を記憶してある。
【００３４】
固有情報は、ハードウェア（データ出力装置として機能すべきコンピュータ）に一義的に対応し、認証情報は、正規のデータ出力装置に一義的に対応するよう、予めソフトウェア（例えば回路データ、及び／又はコンピュータをデータ出力装置として機能させるコンピュータプログラム）に付与してある。固有情報の盗用を防止するためには、固有情報として製造番号の任意の一部を用いる、製造番号とＭＡＣアドレスを適宜組み合わせた情報を用いる等、第三者に推察され難い固有情報を用いることが望ましい。
【００３５】
データ出力装置の判定手段は、出力手段による回路データの出力処理の実行前に、認証情報記憶手段に記憶してある認証情報と、自身の固有情報とが対応しているか否かを判定する。認証情報と固有情報とが対応しているか否かの判定は、認証情報と固有情報とが一致しているか否か、認証情報と固有情報とを用いた適宜の演算の結果が所定の値であるか否か等を判定することによって行なう。
【００３６】
ソフトウェアを所定のコンピュータにインストールした場合、正規のデータ出力装置が得られる。正規のデータ出力装置が備える認証情報記憶手段には、このデータ出力装置の固有情報に対応する認証情報が記憶される。即ち、正規のデータ出力装置においては、認証情報と固有情報とが対応する。
【００３７】
判定手段が、認証情報と固有情報とが対応していると判定した場合、データ出力装置の出力手段が、データ記憶手段に記憶してある回路データをプログラマブル装置へ出力する。このとき、プログラマブル装置のプログラマブルＩＣに回路データが入力され、プログラマブルＩＣは、入力された回路データに基づいて論理回路を形成する。
【００３８】
以上のことから、正規のデータ出力装置によって、プログラマブル装置に論理回路が形成される。
【００３９】
一方、ソフトウェアを所定のコンピュータ以外のコンピュータにインストールした場合、例えばデータ出力装置が備えるデータ記憶手段及び認証情報記憶手段に記憶してある回路データ及び認証情報をコピーすることによって不正に入手したソフトウェアをコンピュータにインストールした場合、不正なデータ出力装置が得られる。ただし、不正なデータ出力装置が備える認証情報記憶手段には、このデータ出力装置の固有情報に対応する認証情報ではなく、正規のデータ出力装置の固有情報に対応する認証情報が記憶される。即ち、不正なデータ出力装置においては、認証情報と固有情報とが対応しない。
【００４０】
判定手段が、認証情報と固有情報とが対応していないと判定した場合は、例えば、出力手段による回路データの出力処理を実行しないか、出力手段による回路データの出力処理の実行後に、プログラマブル装置側で、プログラマブルＩＣに対する回路データの入力を阻止すれば良い。
【００４１】
以上のことから、不正なデータ出力装置による場合は、プログラマブル装置に論理回路が形成されることはない。
【００４２】
つまり、本発明においては、データ出力装置の認証情報及び固有情報は、論理回路の形成の実行可否を判定するセキュリティキーとして用いられる。
【００４３】
本発明にあっては、判定手段が、認証情報と固有情報とが対応していないと判定した場合、出力手段による回路データの出力処理を実行しない。出力手段による回路データの出力処理を実行しないときは、プログラマブルＩＣに論理回路が形成されない。
【００４４】
以上のことから、不正なデータ出力装置による場合は、プログラマブル装置に論理回路が形成されることはない。また、プログラマブル装置側で、プログラマブルＩＣに対する回路データの入力を阻止する必要がない。このため、プログラマブル装置の構成が簡易になる。
【００４５】
本発明にあっては、データ出力装置のデータ記憶手段に、回路データとは異なる異種回路データを記憶してある。出力手段による回路データの出力処理を実行しない場合、異種出力手段が、データ記憶手段に記憶してある異種回路データをプログラマブル装置へ出力する。このとき、プログラマブル装置のプログラマブルＩＣは、論理回路を形成せず、入力された異種回路データに基づく無意味な異種回路を形成する。
【００４６】
以上のことから、不正なデータ出力装置による場合は、プログラマブル装置に論理回路が形成されることはない。
【００４７】
本発明にあっては、プログラマブル装置が、データ出力装置から直接的に回路データが入力されるプログラマブルＩＣを備える。回路データの入力によって、プログラマブルＩＣには論理回路が形成される。また、プログラマブル装置は、プログラマブルＩＣに形成された論理回路を介して後段回路データが入力され、データ出力装置から直接的には後段回路データが入力されない後段プログラマブルＩＣを更に備える。後段回路データの入力によって、後段プログラマブルＩＣには後段論理回路が形成される。プログラマブル装置は、少なくとも後段論理回路が形成された場合に、所要の機能（例えば半導体試験装置としての機能）を有する。
【００４８】
データ出力装置は、データ記憶手段に、回路データだけでなく、プログラマブル装置へ出力すべき後段回路データを記憶してある。また、データ出力装置は、固有情報だけでなく、自身に固有の装置固有情報を有し、また、認証情報記憶手段に、後段プログラマブルＩＣに対する後段回路データの入力を認証するための入力認証情報が更に記憶してある。装置固有情報は固有情報とは異なり、入力認証情報は、認証情報とは異なる。
【００４９】
装置固有情報は、ハードウェアに一義的に対応し、入力認証情報は、正規のデータ出力装置に一義的に対応するよう、予めソフトウェアに付与してある。装置固有情報の盗用を防止するためには、固有情報と同様に、第三者に推察され難い装置固有情報を用いることが望ましい。また、例えば、固有情報としてコンピュータの製造番号を用いる場合、装置固有情報としてドングルのＩＤを用いるようにして、第三者に盗用され難い固有情報及び装置固有情報を用いることが望ましい。
【００５０】
データ出力装置の対応判定手段は、認証情報記憶手段に記憶してある入力認証情報、及び、データ出力装置に固有の装置固有情報が対応しているか否かを判定する。入力認証情報と装置固有情報とが対応しているか否かの判定は、入力認証情報と装置固有情報とが一致しているか否か、入力認証情報と装置固有情報とを用いた適宜の演算の結果が所定の値であるか否か等を判定することによって行なう。
【００５１】
正規のデータ出力装置が備える認証情報記憶手段には、このデータ出力装置の固有情報に対応する認証情報と装置固有情報に対応する入力認証情報とが記憶される。即ち、正規のデータ出力装置においては、認証情報と固有情報とが対応し、入力認証情報と装置固有情報とが対応する。
【００５２】
判定手段が、認証情報と固有情報とが対応していると判定した場合、対応判定手段が、入力認証情報及び装置固有情報が対応していると判定したとき、データ出力装置の出力手段が、データ記憶手段に記憶してある回路データをプログラマブル装置へ出力する。このとき、プログラマブル装置のプログラマブルＩＣに回路データが入力され、プログラマブルＩＣは、入力された回路データに基づいて論理回路を形成する。更に、データ出力装置の出力手段が回路データを出力した後、データ出力手段が、データ記憶手段に記憶してある後段回路データをプログラマブル装置へ出力する。このとき、プログラマブル装置のプログラマブルＩＣに形成してある論理回路を介して後段プログラマブルＩＣに後段回路データが入力され、後段プログラマブルＩＣは、入力された後段回路データに基づいて後段論理回路を形成する。
【００５３】
以上のことから、正規のデータ出力装置によって、プログラマブル装置に論理回路及び後段論理回路が形成される。
【００５４】
一方、不正なデータ出力装置においては、例えば正規のデータ出力装置の固有情報及び装置固有情報の両方が盗用されない限り、認証情報と固有情報と、及び、入力認証情報と装置固有情報との内、一方又は両方が対応しない。
【００５５】
判定手段が、認証情報と固有情報とが対応していないと判定した場合は、例えば、出力手段による回路データの出力処理を実行しないか、出力手段による回路データの出力処理の実行後に、プログラマブル装置側で、プログラマブルＩＣに対する回路データの入力を阻止すれば良い。この場合、プログラマブルＩＣに論理回路が形成されないため、データ出力手段による後段回路データの出力処理が実行されたときでも、論理回路を介して後段プログラマブルＩＣに後段回路データが入力されることもなく、この結果、後段プログラマブルＩＣは後段論理回路を形成しない。
【００５６】
また、対応判定手段が、入力認証情報及び装置固有情報が対応していないと判定したときは、データ出力手段による後段回路データの出力処理を実行しないか、データ出力手段による後段回路データの出力処理の実行後に、プログラマブル装置側で、後段プログラマブルＩＣに対する後段回路データの入力を阻止すれば良い。
【００５７】
以上のことから、不正なデータ出力装置による場合は、プログラマブル装置に論理回路及び後段論理回路の両方が形成されることはない。
【００５８】
つまり、本発明においては、データ出力装置の認証情報及び固有情報、並びに入力認証情報及び装置固有情報は、論理回路及び後段論理回路の形成の実行可否を判定するセキュリティキーとして用いられる。
【００５９】
本発明にあっては、データ出力装置の出力手段による回路データの出力処理が実行され、プログラマブル装置のプログラマブルＩＣが、入力された回路データに基づいて論理回路を形成した場合、形成された論理回路は、データ出力装置からコマンドが入力されるようにしてある乱数生成回路と、パスワード生成回路と、データ出力装置からコマンド及びパスワードが入力されるようにしてあるパスワード比較回路と、スイッチ回路とを備える。
【００６０】
このような論理回路は、データ出力装置から乱数生成回路に乱数生成コマンドが入力され、データ出力装置からパスワード比較回路にパスワード比較コマンドと、パスワード生成回路が生成したパスワードに一致するパスワードとが入力された場合に、スイッチ回路が、論理回路及び後段プログラマブルＩＣを接続する。更に、データ出力装置から後段回路データが入力されたとき、入力された後段回路データは、論理回路を介して後段プログラマブルＩＣに入力され、後段プログラマブルＩＣは、入力された後段回路データに基づいて後段論理回路を形成する。
【００６１】
ただし、例えば、データ出力装置からパスワード比較回路に、パスワード生成回路が生成したパスワードに一致しないパスワードが入力された場合は、スイッチ回路が、論理回路及び後段プログラマブルＩＣを遮断する。このとき、データ出力装置から後段回路データが入力されたか否かにかかわらず、後段回路データが論理回路を介して後段プログラマブルＩＣに入力されることはなく、このため、後段プログラマブルＩＣは後段論理回路を形成しない。つまり、このような論理回路は、データ出力手段の対応判定手段が、入力認証情報及び装置固有情報が対応していないと判定したときに、プログラマブル装置側で後段プログラマブルＩＣに対する後段回路データの入力を阻止する手段として機能する。
【００６２】
以上のことから、正規のデータ出力装置によって、プログラマブル装置に論理回路及び後段論理回路が形成され、不正なデータ出力装置による場合は、プログラマブル装置に後段論理回路が形成されることはない。
【００６３】
本発明にあっては、データ出力装置の対応判定手段が、入力認証情報及び装置固有情報が対応していると判定した場合、出力手段による回路データの出力処理の実行後、つまりプログラマブルＩＣにおける論理回路の形成後、生成命令出力手段は、乱数生成コマンドをプログラマブル装置へ出力する。プログラマブル装置の乱数生成回路は、乱数生成コマンドが入力された場合に乱数を生成し、パスワード生成回路は、乱数生成回路が生成した乱数、及び、プログラマブルＩＣに入力された回路データに含まれているパスワード生成アルゴリズムに基づいてパスワードを生成する。
【００６４】
データ出力装置の乱数取得手段は、プログラマブル装置から、乱数生成回路が生成した乱数を取得し、パスワード生成手段は、乱数取得手段が取得した乱数、及び回路データに含まれているパスワード生成アルゴリズム、即ちプログラマブル装置のパスワード生成回路が用いるパスワード生成アルゴリズムと同一のパスワード生成アルゴリズムに基づいてパスワードを生成する。
【００６５】
更に、比較命令出力手段は、パスワード比較コマンドをプログラマブル装置へ出力し、パスワード出力手段は、パスワード生成手段が生成したパスワードをプログラマブル装置へ出力する。プログラマブル装置のパスワード比較回路は、パスワード比較コマンドが入力された場合に、入力されたパスワード及びプログラマブル装置のパスワード生成回路が生成したパスワードを比較する。
【００６６】
スイッチ回路は、パスワード比較回路の比較結果に基づいて、論理回路及び後段プログラマブルＩＣの接続／遮断を切り換える。
【００６７】
具体的には、パスワード比較回路が比較した２つのパスワードが一致した場合、スイッチ回路は、論理回路及び後段プログラマブルＩＣを接続する。このとき、データ出力装置からプログラマブル装置に入力された後段回路データは、論理回路を介して後段プログラマブルＩＣに入力され、後段プログラマブルＩＣは、入力された後段回路データに基づいて後段論理回路を形成する。
【００６８】
以上のようにして、生成命令出力手段による乱数生成コマンドの出力処理、乱数取得手段による乱数の取得処理、パスワード生成手段によるパスワードの生成処理、比較命令出力手段によるパスワード比較コマンドの出力処理、パスワード出力手段によるパスワードの出力処理、及びデータ出力手段による後段回路データの出力処理の内、全ての処理が実行されることによって、後段回路データは後段プログラマブルＩＣに入力され、後段プログラマブルＩＣに、後段論理回路が形成される。
【００６９】
以上のことから、正規のデータ出力装置によって、プログラマブル装置に論理回路及び後段論理回路が形成される。
【００７０】
一方、データ出力装置の対応判定手段が、入力認証情報と装置固有情報とが対応していないと判定した場合、乱数生成コマンドの出力処理、乱数の取得処理、パスワードの生成処理、パスワード比較コマンドの出力処理、パスワードの出力処理、及び後段回路データの出力処理の内、少なくとも一つの処理が実行されない。
【００７１】
プログラマブル装置の乱数生成回路は、乱数生成コマンドが入力されない場合は乱数を生成せず、乱数生成回路が生成した乱数が得られないため、パスワード生成回路はパスワードを生成しない。また、パスワード比較回路は、パスワード比較コマンドが入力されない場合及び／又はパスワードが入力されない場合に、パスワードを比較しない。更に、スイッチ回路は、パスワード比較回路の比較結果が得られない場合、論理回路及び後段プログラマブルＩＣを接続しない。以上の場合、プログラマブル装置の後段プログラマブルＩＣには後段回路データが入力されず、この結果、後段プログラマブルＩＣは、後段論理回路を形成しない。
【００７２】
また、パスワード比較回路が比較した２つのパスワードが一致しなかった場合、スイッチ回路は、論理回路及び後段プログラマブルＩＣを遮断する。このとき、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルＩＣには入力されず、後段プログラマブルＩＣは、後段論理回路を形成しない。
【００７３】
以上のことから、不正なデータ出力装置による場合は、プログラマブル装置に後段論理回路が形成されることはない。
【００７４】
本発明にあっては、データ出力装置のデータ記憶手段に、後段回路データとは異なる異種後段回路データを記憶してある。データ出力手段による後段回路データの出力処理を実行しない場合、異種データ出力手段が、データ記憶手段に記憶してある異種後段回路データをプログラマブル装置へ出力する。
【００７５】
プログラマブル装置のパスワード比較回路が比較した２つのパスワードが一致したとき、スイッチ回路は、論理回路及び後段プログラマブルＩＣを接続する。このとき、データ出力装置からプログラマブル装置に入力された異種後段回路データは、論理回路を介して後段プログラマブルＩＣに入力され、後段プログラマブルＩＣは、入力された異種後段回路データに基づく無意味な異種論理回路を形成する。この結果、後段論理回路は形成されない。
【００７６】
本発明にあっては、パスワード生成手段がパスワードを生成しない場合、異種パスワード生成手段が、乱数取得手段が取得した乱数、及び回路データに含まれているパスワード生成アルゴリズムとは異なるパスワード生成アルゴリズム、即ちパスワード生成手段が用いるパスワード生成アルゴリズムとは異なるパスワード生成アルゴリズムに基づいてパスワードを生成する。このパスワードは、パスワード生成手段が生成する正規のパスワードとは異なる不正なパスワードである。
【００７７】
また、比較命令出力手段は、パスワード比較コマンドをプログラマブル装置へ出力するが、パスワード出力手段は、パスワード生成手段が生成したパスワードをプログラマブル装置へ出力しない。代わりに、異種パスワード出力手段が、異種パスワード生成手段が生成した不正なパスワードをプログラマブル装置へ出力する。
【００７８】
異種パスワード生成手段が生成した不正なパスワードは、パスワード生成の際に用いられている乱数の値は同じでも、パスワード生成アルゴリズムが異なるため、パスワード生成手段が生成したパスワード、即ち正規のパスワードとは一致しない。
【００７９】
プログラマブル装置のパスワード比較回路が比較した２つのパスワードが一致しなかった場合、スイッチ回路は、論理回路及び後段プログラマブルＩＣを遮断する。このとき、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルＩＣには入力されず、後段プログラマブルＩＣは、後段論理回路を形成しない。
【００８０】
本発明にあっては、生成命令出力手段が、乱数生成コマンドをプログラマブル装置へ出力しない場合、異種乱数生成命令出力手段が、乱数生成コマンドとは異なる不正なコマンドをプログラマブル装置へ出力する。
【００８１】
プログラマブル装置の乱数生成回路は、乱数生成コマンドとは異なる不正なコマンドが入力された場合には、乱数を生成しない。このため、プログラマブル装置のパスワード生成回路はパスワードを生成できず、データ出力装置の乱数取得手段は乱数を取得できず、パスワード生成手段はパスワードを生成できない。更に、プログラマブル装置のパスワード比較回路はパスワードを比較できず、スイッチ回路は、パスワードの比較結果に基づいて、論理回路及び後段プログラマブルＩＣを接続することができない。以上の場合、後段回路データは後段プログラマブルＩＣに入力されず、この結果、後段プログラマブルＩＣに、後段論理回路が形成されない。
【００８２】
本発明にあっては、データ出力装置の比較命令出力手段が、パスワード比較コマンドをプログラマブル装置へ出力しない場合、異種比較命令出力手段が、パスワード比較コマンドとは異なる不正なコマンドをプログラマブル装置へ出力する。
【００８３】
プログラマブル装置のパスワード比較回路は、パスワード比較コマンドとは異なる不正なコマンドが入力された場合には、パスワードを比較しない。このため、スイッチ回路は、パスワードの比較結果に基づいて、論理回路及び後段プログラマブルＩＣを接続することができない。以上の場合、後段回路データは後段プログラマブルＩＣに入力されず、この結果、後段プログラマブルＩＣに、後段論理回路が形成されない。
【発明の効果】
【００８４】
本発明のデータ出力方法及びデータ出力システムによれば、正規のデータ出力装置においては認証情報と固有情報とが対応するため、プログラマブル装置のプログラマブルＩＣに論理回路を形成することができる。一方、不正なデータ出力装置においては認証情報と固有情報とが対応しないため、プログラマブルＩＣに論理回路が形成されることを防止することができる。この結果、プログラマブル装置の論理回路が不正に模造されることを防止することができる。
【００８５】
本発明のデータ出力システムによれば、認証情報と固有情報とが対応していない場合、データ出力装置が回路データを出力せず、プログラマブル装置のプログラマブルＩＣに、回路データが入力されない。このため、不正なデータ出力装置によってプログラマブルＩＣに論理回路が形成されることを防止することができる。この結果、プログラマブル装置の論理回路が不正に模造されることを防止することができる。
【００８６】
本発明のデータ出力システムによれば、プログラマブル装置のプログラマブルＩＣに、回路データの代わりに異種回路データが入力される。このため、不正なデータ出力装置によってプログラマブルＩＣに無意味な異種回路を形成させることができ、プログラマブルＩＣに論理回路が形成されることを防止することができる。この結果、プログラマブル装置の論理回路が不正に模造されることを防止することができる。
【００８７】
更に、プログラマブル装置が、論理回路を介して入力された後段回路データに基づいて後段論理回路を形成する後段プログラマブルＩＣを有する場合、異種回路を介して後段プログラマブルＩＣに後段回路データが入力されることはないため、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。つまり、異種回路は、プログラマブル装置側で後段プログラマブルＩＣに対する後段回路データの入力を阻止する手段として機能する。
【００８８】
本発明のデータ出力システムによれば、正規のデータ出力装置においては入力認証情報と装置固有情報とが対応するため、プログラマブル装置のプログラマブルＩＣに論理回路が形成された後、後段プログラマブルＩＣに後段論理回路を形成することができる。一方、不正なデータ出力装置においては入力認証情報と装置固有情報とが対応しないため、後段プログラマブルＩＣに後段論理回路が形成されることを防止することができる。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【００８９】
本発明のデータ出力システムによれば、データ出力装置のパスワード出力手段がプログラマブル装置へ出力したパスワードと、プログラマブル装置のパスワード生成回路が生成したパスワードとが一致する場合、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルＩＣに入力され、後段プログラマブルＩＣに後段論理回路を形成することができる。
【００９０】
一方、パスワード出力手段がプログラマブル装置へ出力したパスワードと、パスワード生成回路が生成したパスワードとが一致しない場合、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルＩＣには入力されず、後段プログラマブルＩＣは、後段論理回路を形成しない。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【００９１】
本発明のデータ出力システムによれば、正規のデータ出力装置においては入力認証情報と装置固有情報とが対応するため、プログラマブル装置のプログラマブルＩＣに論理回路が形成された後、後段プログラマブルＩＣに後段論理回路を形成することができる。一方、不正なデータ出力装置においては入力認証情報と装置固有情報とが対応しないため、データ出力装置が後段回路データを出力しないか、プログラマブル装置が後段プログラマブルＩＣに対する後段回路データの入力を阻止して、後段プログラマブルＩＣに後段論理回路が形成されることを防止することができる。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【００９２】
本発明のデータ出力システムによれば、プログラマブル装置の後段プログラマブルＩＣに、後段回路データの代わりに異種後段回路データが入力される。このため、不正なデータ出力装置によって後段プログラマブルＩＣに無意味な異種論理回路を形成させることができ、後段論理回路が形成されることを防止することができる。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【００９３】
本発明のデータ出力システムによれば、データ出力装置からパスワード比較回路に不正なパスワードが入力されるために、データ出力装置から入力されたパスワードと、プログラマブル装置のパスワード生成回路が生成したパスワードとは一致しない。この場合、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルＩＣには入力されず、後段プログラマブルＩＣは、後段論理回路を形成しない。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【００９４】
本発明のデータ出力システムによれば、プログラマブル装置の乱数生成回路に不正なコマンドが入力されるために乱数生成回路が乱数を生成しない。このため、スイッチ回路が、論理回路及び後段プログラマブルＩＣを接続することができない。この場合、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルＩＣには入力されず、後段プログラマブルＩＣは、後段論理回路を形成しない。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【００９５】
本発明のデータ出力システムによれば、プログラマブル装置のパスワード比較回路に不正なコマンドが入力されるためにパスワード比較回路がパスワードを比較しない場合、スイッチ回路が、論理回路及び後段プログラマブルＩＣを接続することができない。この場合、データ出力装置からプログラマブル装置に入力された後段回路データは、後段プログラマブルＩＣには入力されず、後段プログラマブルＩＣは、後段論理回路を形成しない。この結果、プログラマブル装置の後段論理回路が不正に模造されることを防止することができる。
【００９６】
本発明のデータ出力装置及びプログラマブル装置によれば、本発明のデータ出力システムを構成することができる。また、正規のデータ出力装置を用いて、本発明のプログラマブル装置を得ることができ、不正なデータ出力装置を用いて、本発明のプログラマブル装置を不正に模造することができない。このため、プログラマブル装置のプログラマブルＩＣとして、ＦＰＧＡのような汎用ＩＣを用いることができ、また、プログラマブル装置に、不正な模造の防止のための高価なカスタムＩＣ、デコーダ部等を備える必要がない。この結果、プログラマブル装置のコストを低減することができ、プログラマブル装置に、カスタムＩＣ、デコーダ部等を備えるスペースを設ける必要がない。
【００９７】
本発明のコンピュータプログラムによれば、データ出力装置の出力手段、判定手段等を、コンピュータのハードウェア要素を用いてソフトウェア的に実現し、コンピュータを、本発明のデータ出力装置として機能させることができる。
【００９８】
また、コンピュータプログラムは、可搬性を有する記録媒体に記憶されて配布することができ、又は、通信回線を介して配信することができ、あるいは、コンピュータが備える記憶手段（例えばＲＯＭ）に予め記憶しておくことができる。このようなコンピュータプログラムは、揮発性又は不揮発性の記憶手段（ＲＡＭ又はハードディスク等）にインストールされてから実行されても良く、記録媒体又は配信元から読み取られて直接的に実行されても良い。
【発明を実施するための最良の形態】
【００９９】
以下、本発明を、その実施の形態を示す図面に基づいて詳述する。
【０１００】
実施の形態  １．
図１は、本発明の実施の形態１に係るデータ出力システム５の構成を示すブロック図であり、データ出力システム５は、ＬＡＮ３を介して接続されたデータ出力装置１及びプログラマブル装置２を備える。また、図２は、プログラマブル装置２が備える第１プログラマブルＩＣ（プログラマブルＩＣ）２１の構成を示すブロック図である。本実施の形態においては、プログラマブル装置２を半導体試験装置として作動させるために、各種回路データをデータ出力装置１からプログラマブル装置２へ出力するデータ出力方法について説明する。
【０１０１】
プログラマブル装置２は、夫々汎用ＩＣであるＦＰＧＡを用いてなる第１プログラマブルＩＣ２１及び第２プログラマブルＩＣ（後段プログラマブルＩＣ）２２１，２２２，２２３と、プログラマブル装置２及びＬＡＮ３を接続するインタフェース（Ｉ／Ｆ）２３とを備える。また、プログラマブル装置２は、プログラマブル装置２が半導体試験装置として作動するための種々の機能を有する機能部２４を備える。機能部２４は汎用ＩＣを用いてなり、ＤＵＴの種類にかかわらず、半導体デバイスの試験に用いられる。
【０１０２】
第１プログラマブルＩＣ２１及び第２プログラマブルＩＣ２２１，２２２，２２３夫々を構成するＦＰＧＡは、ＦＰＧＡ内部に複数の論理ブロックを備える。ＦＰＧＡに回路データが入力された場合、入力された各種回路データに応じて論理ブロック同士が結線され、このことによって、ＦＰＧＡに各種論理回路が形成される。
【０１０３】
第１プログラマブルＩＣ２１は、Ｉ／Ｆ２３及び第２プログラマブルＩＣ２２１夫々に、信号線を介して直接的に接続されている。また、第２プログラマブルＩＣ２２１は第１プログラマブルＩＣ２１及び第２プログラマブルＩＣ２２２夫々に、第２プログラマブルＩＣ２２２は第２プログラマブルＩＣ２２１及び第２プログラマブルＩＣ２２３夫々に、第２プログラマブルＩＣ２２３は第２プログラマブルＩＣ２２２に、夫々信号線を介して直接的に接続されている。つまり、第１プログラマブルＩＣ２１は、Ｉ／Ｆ２３を介して外部から直接的に各種回路データ、各種コマンド等が入力され、第２プログラマブルＩＣ２２１，２２２，２２３は、少なくとも第１プログラマブルＩＣ２１を介して外部から間接的に各種回路データ、各種コマンド等が入力される。
【０１０４】
図中４はＣＤ−ＲＯＭのような可搬性を有する記録媒体であり、記録媒体４には本発明のコンピュータプログラム及びデータが記録してある。このコンピュータプログラムは、ＦＰＧＡのコンフィギュレーション（各種プログラマブルＩＣに対する各種回路データの書き込み）用ソフトウェア、半導体試験装置を作動させるための試験装置システムソフトウェア等である。各ソフトウェアには、データ出力装置１からプログラマブル装置２へ出力すべき各種コマンドが含まれている。これらのコマンドは、乱数を生成させる乱数生成コマンド、パスワードを比較させるパスワード比較コマンド等であり、夫々異なる信号を用いてなる。
【０１０５】
また、記録媒体４には、データとして、第１プログラマブルＩＣ２１に第１論理回路（論理回路）を形成させるための第１回路データ（回路データ）、第２プログラマブルＩＣ２２１，２２２，２２３夫々に第２論理回路（後段論理回路）を形成させるための第２回路データ（後段回路データ）が記録してある。更に記録媒体４には、データとして、第１プログラマブルＩＣ２１に無意味な第１異種回路（異種回路）を形成させるための第１異種回路データ（異種回路データ）が記録してある。つまり、第１異種回路データは第１回路データとは異なり、第１異種回路は第１論理回路とは異なる。
【０１０６】
更にまた、記録媒体４には、データとして、第１プログラマブルＩＣ２１に対する第１回路データの入力を認証するための認証情報、及び第２プログラマブルＩＣ２２１，２２２，２２３に対する第２回路データの入力を認証するための入力認証情報等が記録してある。認証情報及び入力認証情報は、正規のデータ出力装置１に一義的に対応するよう、予めコンフィギュレーション用ソフトウェアに付与される。本実施の形態においては、認証情報が、正規のデータ出力装置１の固有情報に一致し、入力認証情報が、正規のデータ出力装置１の装置固有情報に一致する（各後述）。
【０１０７】
データ出力装置１は、サーバ、パーソナルコンピュータ等のコンピュータを用いてなり、データ出力装置１の制御中枢であるＣＰＵ１０、ＲＯＭ１１、ＲＡＭ１２、データ出力装置１とＬＡＮ３とを接続するインタフェース（Ｉ／Ｆ）１３、及びＣＤ−ＲＯＭドライブのような外部記憶部１４を備える。ＣＰＵ１０は、バス、信号線等を介して装置各部と接続されており、ＲＡＭ１２を作業領域として用いて、装置各部を制御し、各種処理を実行する。
【０１０８】
ＲＯＭ１１の記憶領域の一部は、データ出力装置１に固有の固有情報及び装置固有情報を記憶してある固有情報記憶部１１０である。固有情報と装置固有情報とは、例えばコンピュータの製造番号及びＭＡＣアドレスであり、互いに異なる。
【０１０９】
ＲＡＭ１２の記憶領域の一部は、試験装置システムソフトウェアが記憶してある第１ソフトウェア記憶部１２１であり、ＲＡＭ１２の記憶領域の他の一部は、コンフィギュレーション用ソフトウェアが記憶してある第２ソフトウェア記憶部１２２である。また、ＲＡＭ１２の記憶領域の更に他の一部は、第１回路データ、第２回路データ、及び第１異種回路データが記憶してある回路データ記憶部１２３であり、ＲＡＭ１２の記憶領域の更に他の一部は、認証情報及び入力認証情報が記憶してある認証情報記憶部１２４である。
【０１１０】
以上のような回路データ記憶部１２３は、プログラマブル装置２へ出力すべき第１回路データ及び第２回路データ、並びに第１回路データとは異なる第１異種回路データを記憶してあるデータ記憶手段として機能し、認証情報記憶部１２４は、認証情報及び入力認証情報を記憶してある認証情報記憶手段として機能する。
【０１１１】
記録媒体４に記録してあるコンピュータプログラム及びデータをコンピュータにインストールする場合、コンピュータが備える外部記憶部１４は、ＣＰＵ１０に制御されて、記録媒体４からコンピュータプログラム及びデータを読み出す。読み出されたコンピュータプログラム及びデータは、ＲＡＭ１２に記憶される。コンピュータが備えるＣＰＵ１０は、ＲＯＭ１１に予め記憶してあるかＲＡＭ１２に記憶されたコンピュータプログラム及びデータに従って、装置各部を制御し、各種処理を実行する。このとき、コンピュータは、データ出力装置１として機能する。
【０１１２】
データ出力装置１が第１回路データを用いてコンフィギュレーションを行なった場合、第１プログラマブルＩＣ２１に第１回路データが入力され、入力された第１回路データに基づいて、第１プログラマブルＩＣ２１は、第１論理回路を形成する。第１論理回路は、乱数生成回路２１１、パスワード生成回路２１２、パスワード比較回路２１３、及びスイッチ回路２１４を備える。これらの回路２１１〜２１４以外に、第１論理回路は、プログラマブル装置２を半導体試験装置となすための種々の機能を有する機能回路２１５を備える。
【０１１３】
乱数生成回路２１１は、信号線を介してＩ／Ｆ２３及びパスワード生成回路２１２に接続してある。乱数生成回路２１１は、Ｉ／Ｆ２３を介してデータ出力装置１からコマンドが入力されるようにしてあり、乱数生成コマンドが入力された場合に乱数を生成し、生成した乱数をパスワード生成回路２１２へ出力する。更に乱数生成回路２１１は、乱数読出コマンドが入力された場合に、生成した乱数をデータ出力装置１へＩ／Ｆ２３を介して出力する。
【０１１４】
第１回路データはパスワード生成アルゴリズムを含んでおり、パスワード生成回路２１２は、乱数生成回路２１１が生成した乱数と、第１プログラマブルＩＣ２１に入力された第１回路データに含まれているパスワード生成アルゴリズムとに基づいてパスワードを生成する。更に詳細には、パスワード生成回路２１２は、信号線を介して乱数生成回路２１１及びパスワード比較回路２１３に接続してある。パスワード生成回路２１２には、第１プログラマブルＩＣ２１における第１論理回路の形成時に、パスワード生成アルゴリズムが埋め込まれ、乱数生成回路２１１から出力された乱数が入力された場合、入力された乱数とパスワード生成アルゴリズムとに基づいてパスワードを生成する。生成されたパスワードは、パスワード生成回路２１２からパスワード比較回路２１３へ出力される。
【０１１５】
パスワード比較回路２１３は、信号線を介してＩ／Ｆ２３、パスワード生成回路２１２及びスイッチ回路２１４に接続してある。パスワード比較回路２１３は、Ｉ／Ｆ２３を介してデータ出力装置１からコマンド及びパスワードが入力されるようにしてあり、パスワード比較コマンドが入力された場合に、入力されたパスワード及びパスワード生成回路２１２が生成したパスワードを比較する。更に詳細には、パスワード比較回路２１３は、データ出力装置１及びパスワード生成回路２１２夫々が出力した２個のパスワードを比較して、一致した場合は、パスワードが一致したことを示す一致信号をスイッチ回路２１４へ出力し、一致しない場合は、一致信号とは異な、パスワードが一致なかったことを示す不一致信号をスイッチ回路２１４へ出力する。
【０１１６】
スイッチ回路２１４は、信号線を介してパスワード比較回路２１３に接続してあり、更に、信号線２０１を介してＩ／Ｆ２３に、信号線２０２を介して第２プログラマブルＩＣ２２１に、夫々接続してある。また、スイッチ回路２１４は、パスワード比較回路２１３の比較結果に基づいて、信号線２０１と信号線２０２との接続／遮断、つまり第１論理回路と第２プログラマブルＩＣ２２１，２２２，２２３との接続／遮断を切り換える。
【０１１７】
具体的には、スイッチ回路２１４は、パスワード比較回路２１３から不一致信号が入力された場合、及びパスワード比較回路２１３から一致信号が入力されていない場合はオフ状態であり、パスワード比較回路２１３から一致信号が入力された場合に、オフ状態からオン状態に切り換わるように構成されている。また、データ出力装置１が出力した第２回路データは、ＬＡＮ３及びＩ／Ｆ２３を介してプログラマブル装置２に入力され、次に、信号線２０１を介して第１プログラマブルＩＣ２１に入力される。
【０１１８】
スイッチ回路２１４がオン状態の場合、第１プログラマブルＩＣ２１に形成してある第１論理回路と第２プログラマブルＩＣ２２１，２２２，２２３とが接続されるため、第１プログラマブルＩＣ２１に入力された第２回路データは、信号線２０２を介して第２プログラマブルＩＣ２２１，２２２，２２３に入力される。一方、スイッチ回路２１４がオフ状態の場合、第１プログラマブルＩＣ２１に形成してある第１論理回路と第２プログラマブルＩＣ２２１，２２２，２２３とが遮断されるため、信号線２０２を介して第２プログラマブルＩＣ２２１，２２２，２２３に入力されることはない。
【０１１９】
第１プログラマブルＩＣ２１に形成してある第１論理回路においては、スイッチ回路２１４によって第１論理回路と第２プログラマブルＩＣ２２１，２２２，２２３とが接続／遮断される。一方、第１プログラマブルＩＣ２１に形成してある第１異種回路はスイッチ回路２１４を備えず、第１異種回路と第２プログラマブルＩＣ２２１，２２２，２２３とは常に遮断される。
【０１２０】
データ出力装置１が第２回路データを用いてコンフィギュレーションを行なった場合、スイッチ回路２１４がオン状態であって第１論理回路と第２プログラマブルＩＣ２２１，２２２，２２３とが接続されているとき、第２プログラマブルＩＣ２２１，２２２，２２３に第２回路データが順次入力され、入力された第２回路データに基づいて、第２プログラマブルＩＣ２２１，２２２，２２３夫々は第２論理回路を順次形成する。第２論理回路は、プログラマブル装置２が所定のＤＵＴの試験を行なう半導体試験装置として機能するための回路である。
【０１２１】
さて、ＲＡＭ１２に記憶してある各種ソフトウェア及びデータをコピーし、又は、記録媒体４を盗用し、正規のデータ出力装置１となすべき所定のコンピュータ以外のコンピュータに各種ソフトウェア及びデータをインストールすることによって、不正なデータ出力装置１が得られる。
【０１２２】
しかしながら、認証情報及び入力認証情報は、正規のデータ出力装置１の固有情報及び装置固有情報に夫々一致するため、不正なデータ出力装置１の固有情報記憶部１１０に記憶してある固有情報及び装置固有情報は、インストールされたコンフィギュレーション用ソフトウェアに付与してある認証情報及び入力認証情報とは一致しない。
【０１２３】
以上のことから、認証情報及び固有情報が一致し、更に入力認証情報及び装置固有情報が一致した場合、データ出力装置１は正規のデータ出力装置１である。このため、データ出力装置１は第１回路データ及び第２回路データを順次出力し、第１回路データは第１プログラマブルＩＣ２１に、第２回路データは第２プログラマブルＩＣ２２１，２２２，２２３に、夫々入力される。つまり、データ出力装置１が正規のデータ出力装置１である場合、データ出力装置１に接続されたプログラマブル装置２には、プログラマブル装置２を半導体試験装置となすべく第１論理回路及び第２論理回路が形成される。
【０１２４】
一方、認証情報及び固有情報が一致しない場合、データ出力装置１は不正なデータ出力装置１である。このため、データ出力システム５は、第１回路データが第１プログラマブルＩＣ２１に入力されることを防止する。この結果、第２回路データは第２プログラマブルＩＣ２２１，２２２，２２３に入力されない。つまり、データ出力装置１が不正なデータ出力装置１である場合、データ出力装置１に接続されたプログラマブル装置２には第１論理回路及び第２論理回路が形成されず、プログラマブル装置２は半導体試験装置として機能しない。この結果、半導体試験装置としてのプログラマブル装置２は不正に模造されない。
【０１２５】
第１回路データが第１プログラマブルＩＣ２１に入力されることを防止するために、本実施の形態におけるコンピュータプログラムは、不正なデータ出力装置１に、第１回路データを出力させず、第１異種回路データを出力させる。
【０１２６】
また、認証情報及び固有情報が一致した場合、第１回路データが第１プログラマブルＩＣ２１に入力されるが、入力認証情報及び装置固有情報が一致しないとき、データ出力装置１は不正なデータ出力装置１である。このとき、認証情報及び固有情報の一致は、例えば正規のデータ出力装置１の固有情報を盗用したことによる不正な一致である。このため、データ出力システム５は、第２回路データが第２プログラマブルＩＣ２２１，２２２，２２３に入力されることを防止する。つまり、データ出力装置１が不正なデータ出力装置１である場合、データ出力装置１に接続されたプログラマブル装置２には、第１論理回路が形成されたとしても、第２論理回路は形成されず、プログラマブル装置２は半導体試験装置として機能しない。この結果、半導体試験装置としてのプログラマブル装置２は不正に模造されない。
【０１２７】
第２回路データが第２プログラマブルＩＣ２２１，２２２，２２３に入力されることを防止するために、本実施の形態におけるコンピュータプログラムは、不正なデータ出力装置１に、正規のパスワードを出力させず、不正なパスワードを出力させる。このために、第２ソフトウェア記憶部１２２に記憶してあるコンフィギュレーション用ソフトウェアには、正規のパスワードを生成するための正規のパスワード生成アルゴリズムと、不正なパスワードを生成するための不正なパスワード生成アルゴリズムとが含まれている。
【０１２８】
ここで、正規のパスワード生成アルゴリズムは、第１回路データに含まれているパスワード生成アルゴリズム、即ち、パスワード生成回路２１２がパスワードを生成する場合に用いるパスワード生成アルゴリズムと同じである。一方、不正なパスワード生成アルゴリズムは、正規のパスワード生成アルゴリズムとは異なる。
【０１２９】
パスワード生成回路２１２は乱数生成回路２１１が生成した乱数及びパスワード生成アルゴリズムに基づいてパスワードを生成するため、パスワード生成回路２１２が用いた乱数及び正規のパスワード生成アルゴリズムに基づいて生成された正規のパスワードは、パスワード生成回路２１２が生成したパスワードに一致する。一方、パスワード生成回路２１２が用いた乱数及び不正なパスワード生成アルゴリズムに基づいて生成した不正なパスワードは、パスワード生成回路２１２が生成したパスワードに一致しない。
【０１３０】
図３は、データ出力装置１のＣＰＵ１０が実行する第１データ出力処理の手順、及び第１データ出力処理の実行に応じてプログラマブル装置２の第１プログラマブルＩＣ２１で実行される処理の手順を示すフローチャートである。第１データ出力処理は、例えば、データ出力システム５のオペレータが、データ出力装置１が備える図示しない操作部を操作して、プログラマブル装置２の第１プログラマブルＩＣ２１に第１論理回路を形成させる命令を入力したタイミングで実行される。
【０１３１】
まず、データ出力装置１のＣＰＵ１０は、認証情報記憶部１２４から認証情報を読み出し（Ｓ１１）、固有情報記憶部１１０から固有情報を読み出し（Ｓ１２）、読み出した認証情報及び固有情報が一致しているか否かを判定する（Ｓ１３）。
【０１３２】
Ｓ１１及びＳ１２で読み出した認証情報及び固有情報が一致している場合（Ｓ１３でＹＥＳ）、ＣＰＵ１０は、回路データ記憶部１２３から第１回路データを読み出して（Ｓ１４）、読み出した第１回路データをプログラマブル装置２へ出力する（Ｓ１５）。この場合、ＣＰＵ１０は、第２ソフトウェア記憶部１２２に記憶してあるコンフィギュレーション用ソフトウェアに従ってコンフィギュレーションを行なう。Ｓ１５の処理完了後、ＣＰＵ１０は、第１データ出力処理を終了する。
【０１３３】
Ｓ１１及びＳ１２で読み出した認証情報及び固有情報が一致していない場合（Ｓ１３でＮＯ）、ＣＰＵ１０は、回路データ記憶部１２３から第１異種回路データを読み出して（Ｓ１６）、読み出した第１異種回路データをプログラマブル装置２へ出力する（Ｓ１７）。この場合、ＣＰＵ１０は、第２ソフトウェア記憶部１２２に記憶してあるコンフィギュレーション用ソフトウェアに従ってコンフィギュレーションを行なう。Ｓ１７の処理完了後、ＣＰＵ１０は、第１データ出力処理を終了する。
【０１３４】
第１プログラマブルＩＣ２１は、各種の回路データを受け付けた（各種の回路データが入力された）場合（Ｓ２０でＹＥＳ）、受け付けた回路データに基づいて各種の論理回路を形成し（Ｓ２１）、受け付けていない場合（Ｓ２０でＮＯ）、受け付けるまで待機する。Ｓ１５が実行された場合、つまりデータ出力装置１が正規のデータ出力装置１であるか、又は、例えば正規のデータ出力装置１の固有情報を盗用している不正なデータ出力装置１である場合、プログラマブル装置２に第１回路データが入力され、入力された第１回路データは第１プログラマブルＩＣ２１に入力される。第１プログラマブルＩＣ２１は、入力された第１回路データに基づき、Ｓ２１にて第１論理回路を形成する。第１論理回路の形成完了後、第１プログラマブルＩＣ２１は、第１論理回路を形成したことを示す第１形成完了信号をデータ出力装置１へ出力する（不図示）。
【０１３５】
Ｓ１７が実行された場合、つまりデータ出力装置１が不正なデータ出力装置１である場合、プログラマブル装置２に第１異種回路データが入力され、入力された第１異種回路データは第１プログラマブルＩＣ２１に入力される。第１プログラマブルＩＣ２１は、入力された第１異種回路データに基づき、Ｓ２１にて無意味な第１異種回路を形成する。この第１異種回路の形成完了後は、第１プログラマブルＩＣ２１は第１形成完了信号を出力しない。
【０１３６】
図４〜図６は、データ出力装置１のＣＰＵ１０が実行する第２データ出力処理の手順、及び第２データ出力処理の実行に応じてプログラマブル装置２の第１プログラマブルＩＣ２１及び第２プログラマブルＩＣ２２１，２２２，２２３で実行される処理の手順を示すフローチャートである。
【０１３７】
第２データ出力処理は、第１データ出力処理の完了後、プログラマブル装置２から第１形成完了信号が入力された場合に実行される。一方、第１データ出力処理の完了後、プログラマブル装置２から第１形成完了信号が入力されなかった場合、つまり第１プログラマブルＩＣ２１に第１異種回路が形成された場合、第２データ出力処理は実行されない。このため、データ出力装置１が無駄な処理を実行することが防止される。
【０１３８】
データ出力装置１のＣＰＵ１０は、乱数生成回路２１１に乱数を生成させる乱数生成コマンドをプログラマブル装置２へ出力する（Ｓ３１）。Ｓ３１の処理完了後、ＣＰＵ１０は、乱数生成コマンドの出力から、乱数生成回路２１１が乱数の生成を完了するまでの時間（以下、待機時間という）だけ待機する（不図示）。Ｓ３１処理完了後の待機時間の値は、第２ソフトウェア記憶部１２２に記憶してあるコンフィギュレーション用ソフトウェアに予め含まれている。
【０１３９】
Ｓ３１が実行された場合、プログラマブル装置２に乱数生成コマンドが入力され、入力された乱数生成コマンドは第１プログラマブルＩＣ２１の乱数生成回路２１１に入力される。乱数生成回路２１１は、乱数生成コマンドを受け付けた（乱数生成コマンドが入力された）場合に（Ｓ４０でＹＥＳ）、乱数を生成し（Ｓ４１）、受け付けていない場合（Ｓ４０でＮＯ）、受け付けるまで待機する。
【０１４０】
データ出力装置１においては、ＣＰＵ１０は、待機時間の経過後、乱数生成回路２１１から乱数を読み出すための乱数読出コマンドをプログラマブル装置２へ出力する（Ｓ３２）。
【０１４１】
Ｓ３２が実行された場合、プログラマブル装置２に乱数読出コマンドが入力され、入力された乱数読出コマンドは第１プログラマブルＩＣ２１の乱数生成回路２１１に入力される。乱数生成回路２１１は、乱数読出コマンドを受け付けた（乱数読出コマンドが入力された）場合に（Ｓ４２でＹＥＳ）、Ｓ４１にて生成した乱数を出力し（Ｓ４３）、受け付けていない場合（Ｓ４２でＮＯ）、受け付けるまで待機する。Ｓ４３にて出力された乱数は、データ出力装置１及びパスワード生成回路２１２の両方に入力される。乱数生成回路２１１が生成した乱数が入力された場合、パスワード生成回路２１２は、入力された乱数及びパスワード生成アルゴリズムに基づいて、パスワードを生成し（Ｓ４４）、生成したパスワードをパスワード比較回路２１３へ出力する。
【０１４２】
また、ＣＰＵ１０は、乱数生成回路２１１が生成した乱数を受け付けたか否かを判定し（Ｓ３３）、受け付けていない場合（Ｓ３３でＮＯ）、受け付けるまで待機し、乱数生成回路２１１が生成した乱数を受け付けた場合（Ｓ３３でＹＥＳ）、受け付けた乱数（入力された乱数）をＲＡＭ１２に一時記憶させる。
【０１４３】
Ｓ３３の処理完了後、ＣＰＵ１０は、認証情報記憶部１２４から入力認証情報を読み出し（Ｓ３４）、固有情報記憶部１１０から装置固有情報を読み出し（Ｓ３５）、読み出した入力認証情報及び装置固有情報が一致しているか否かを判定する（Ｓ３６）。
【０１４４】
Ｓ３４及びＳ３５で読み出した入力認証情報及び装置固有情報が一致している場合（Ｓ３６でＹＥＳ）、ＣＰＵ１０は、ＲＡＭ１２に記憶してある乱数を読み出し、読み出した乱数と正規のパスワード生成アルゴリズムとに基づいて正規のパスワードを生成し（Ｓ３７）、生成した正規のパスワードをプログラマブル装置２へ出力する（Ｓ３８）。
【０１４５】
Ｓ３４及びＳ３５で読み出した入力認証情報及び装置固有情報が一致していない場合（Ｓ３６でＮＯ）、ＣＰＵ１０は、ＲＡＭ１２に記憶してある乱数を読み出し、読み出した乱数と不正なパスワード生成アルゴリズムとに基づいて不正なパスワードを生成し（Ｓ３９）、処理をＳ３８へ移して、生成した不正なパスワードをプログラマブル装置２へ出力する。
【０１４６】
更にＣＰＵ１０は、パスワード比較回路２１３にパスワードを比較させるパスワード比較コマンドをプログラマブル装置２へ出力し（Ｓ５１）、後述する比較終了信号を受け付けた（プログラマブル装置２から比較終了信号が入力された）か否かを判定する（Ｓ５２）。比較終了信号を受け付けていない場合（Ｓ５２でＮＯ）、比較終了信号を受け付けるまで待機する。
【０１４７】
Ｓ３８が実行された場合、プログラマブル装置２にパスワードが入力され、入力されたパスワードは第１プログラマブルＩＣ２１のパスワード比較回路２１３に入力される。更に、Ｓ５１が実行されたとき、プログラマブル装置２にパスワード比較コマンドが入力され、入力されたパスワード比較コマンドは第１プログラマブルＩＣ２１のパスワード比較回路２１３に入力される。
【０１４８】
パスワード比較回路２１３は、パスワードを受け付けた（パスワードが入力された）場合（Ｓ４５でＹＥＳ）、パスワード比較コマンドを受け付けた（パスワード比較コマンドが入力された）とき（Ｓ６０でＹＥＳ）、入力された２個のパスワード、即ちデータ出力装置１が生成したパスワード及びパスワード生成回路２１２が生成したパスワードを比較する（Ｓ６１）。また、パスワード比較回路２１３は、パスワードを受け付けていない場合（Ｓ４５でＮＯ）、又はパスワード比較コマンドを受け付けていないとき（Ｓ６０でＮＯ）、パスワード及びパスワード生成コマンドの両方を受け付けるまで待機する。
【０１４９】
入力された２個のパスワードが一致しているという比較結果が得られた場合（Ｓ６２で一致）、つまりデータ出力装置１が生成したパスワードが正規のパスワードである場合、パスワード比較回路２１３はスイッチ回路２１４へ一致信号を出力する（Ｓ６３）。一致信号が入力された場合、スイッチ回路２１４はオン状態に切り換わる（Ｓ６４）。Ｓ６３にて一致信号を出力したパスワード比較回路２１３は、パスワードの比較が終了したことを示す比較終了信号をデータ出力装置１へ出力する（Ｓ６５）。
【０１５０】
入力された２個のパスワードが一致していないという比較結果が得られた場合（Ｓ６２で不一致）、つまりデータ出力装置１が生成したパスワードが不正なパスワードである場合、パスワード比較回路２１３はスイッチ回路２１４へ不一致信号を出力する（Ｓ６６）。不一致信号が入力された場合、スイッチ回路２１４はオフ状態のままである（Ｓ６７）。Ｓ６６にて不一致信号を出力したパスワード比較回路２１３は、処理をＳ６５へ移して、データ出力装置１へ比較終了信号を出力する。
【０１５１】
データ出力装置１において、比較終了信号を受け付けた場合（Ｓ５２でＹＥＳ）、ＣＰＵ１０は、回路データ記憶部１２３から第２回路データを読み出して（Ｓ５３）、読み出した第２回路データをプログラマブル装置２へ出力する（Ｓ５４）。この場合、ＣＰＵ１０は、第２ソフトウェア記憶部１２２に記憶してあるコンフィギュレーション用ソフトウェアに従ってコンフィギュレーションを行なう。Ｓ５４の処理完了後、ＣＰＵ１０は、第２データ出力処理を終了する。
【０１５２】
ここで、Ｓ６１にて比較した２個のパスワードが一致した場合、つまりデータ出力装置１が正規のデータ出力装置１である場合、プログラマブル装置２に第２回路データが入力され、入力された第２回路データは第１プログラマブルＩＣ２１に入力される。また、スイッチ回路２１４はＳ６４にてオン状態にされる。このため、第１プログラマブルＩＣ２１に入力された第２回路データは、スイッチ回路２１４を通過して、第２プログラマブルＩＣ２２１，２２２，２２３に入力される。
【０１５３】
第２プログラマブルＩＣ２２１，２２２，２２３夫々は、第２回路データを受け付けた（第２回路データが入力された）場合（Ｓ６８でＹＥＳ）、受け付けた第２回路データに基づき、第２論理回路を形成し（Ｓ６９）、第２論理回路の形成完了後、第２論理回路を形成したことを示す第２形成完了信号をデータ出力装置１へ出力する（不図示）。また、第２プログラマブルＩＣ２２１，２２２，２２３夫々は、第２回路データを受け付けていない場合（Ｓ６８でＮＯ）、受け付けるまで待機する。
【０１５４】
データ出力装置１のＣＰＵ１０は、プログラマブル装置２から第２形成完了信号が入力された場合に、第１ソフトウェア記憶部１２１に記憶してある試験装置システムソフトウェアに従って、プログラマブル装置２を半導体試験装置として作動させ、半導体デバイスの試験を行なう。このとき、データ出力装置１は、半導体試験装置制御用ホストコンピュータとして機能する。
【０１５５】
一方、Ｓ６１にて比較した２個のパスワードが一致しなかった場合、つまりデータ出力装置１が不正なデータ出力装置１である場合、プログラマブル装置２に第２回路データが入力され、入力された第２回路データは第１プログラマブルＩＣ２１に入力される。また、スイッチ回路２１４はＳ６７にてオフ状態のままにされている。このため、第１プログラマブルＩＣ２１に入力された第２回路データは、スイッチ回路２１４を通過せず、第２プログラマブルＩＣ２２１，２２２，２２３に入力されない。この結果、プログラマブル装置２は半導体試験装置として作動しない。
【０１５６】
以上のような第１データ出力処理及び第２データ出力処理に関し、Ｓ１５におけるＣＰＵ１０は、データ記憶手段に記憶してある第１回路データをプログラマブル装置２へ出力する出力手段として機能する。また、Ｓ１３におけるＣＰＵ１０は、認証情報記憶手段に記憶してある認証情報、及び、固有情報が対応しているか否かを判定する判定手段として機能し、判定手段が、認証情報及び固有情報が対応していると判定した場合（Ｓ１３でＹＥＳの場合）、Ｓ１５にて、出力手段による第１回路データの出力処理を実行するようにしてある。更に、判定手段が、認証情報及び固有情報が対応していないと判定した場合（Ｓ１３でＮＯの場合）、出力手段による第１回路データの出力処理を実行しないようにしてある。
【０１５７】
更にまた、Ｓ１７におけるＣＰＵ１０は、データ記憶手段に記憶してある第１異種回路データをプログラマブル装置２へ出力する異種出力手段として機能し、出力手段による第１回路データの出力処理を実行しない場合（Ｓ１３でＮＯであり、このためＳ１５が実行されない場合）、Ｓ１７にて、異種出力手段による第１異種回路データの出力処理を実行するようにしてある。
【０１５８】
Ｓ５４におけるＣＰＵ１０は、出力手段による第１回路データの出力処理の実行後（Ｓ１５が実行された後）、データ記憶手段に記憶してある第２回路データをプログラマブル装置２へ出力するデータ出力手段として機能する。また、Ｓ３６におけるＣＰＵ１０は、認証情報記憶手段に記憶してある入力認証情報、及び、装置固有情報が対応しているか否かを判定する対応判定手段として機能する。更に、判定手段が、認証情報及び固有情報が対応していると判定した場合（Ｓ１３でＹＥＳの場合）、対応判定手段が、入力認証情報及び装置固有情報が対応していると判定したとき（Ｓ３６でＹＥＳのとき）に、Ｓ５４にて、データ出力手段による第２回路データの出力処理を実行するようにしてある。
【０１５９】
更にまた、Ｓ３１におけるＣＰＵ１０は、出力手段による第１回路データの出力処理の実行後（Ｓ１５が実行された後）、乱数生成回路２１１に乱数を生成させる乱数生成コマンドをプログラマブル装置２へ出力する生成命令出力手段として機能し、Ｓ３２及びＳ３３におけるＣＰＵ１０は、乱数生成回路２１１が生成した乱数をプログラマブル装置２から取得する乱数取得手段として機能する。また、Ｓ３７におけるＣＰＵ１０は、Ｓ３２及びＳ３３にて乱数取得手段が取得した乱数、及びデータ記憶手段に記憶してある第１回路データに含まれているパスワード生成アルゴリズムと同一のパスワード生成アルゴリズムに基づいてパスワードを生成するパスワード生成手段として機能する。
【０１６０】
更に、Ｓ３７の処理完了後のＳ３８におけるＣＰＵ１０は、Ｓ３７にてパスワード生成手段が生成したパスワードをプログラマブル装置２へ出力するパスワード出力手段として機能し、Ｓ５１におけるＣＰＵ１０は、パスワード比較回路２１３にパスワードを比較させるパスワード比較コマンドをプログラマブル装置２へ出力する比較命令出力手段として機能する。
【０１６１】
更にまた、パスワード出力手段によるパスワードの出力処理の実行後（Ｓ３７及びＳ３８の実行後）、Ｓ５４にて、データ出力手段による第２回路データの出力処理を実行するようにしてある。
【０１６２】
本実施の形態においては、対応判定手段が、入力認証情報及び装置固有情報が対応していないと判定した場合（Ｓ３６でＮＯの場合）、Ｓ３７におけるパスワード生成手段によるパスワードの生成処理、Ｓ３８におけるパスワード出力手段によるパスワードの出力処理、及び、Ｓ５４におけるデータ出力手段による第２回路データの出力処理を実行しないようにしてある。
【０１６３】
また、Ｓ３９におけるＣＰＵ１０は、Ｓ３７にてパスワード生成手段によるパスワードの生成処理を実行しない場合、Ｓ３２及びＳ３３にて乱数取得手段が取得した乱数、及びパスワード生成アルゴリズムとは異なる不正なパスワード生成アルゴリズムに基づいて不正なパスワードを生成する異種パスワード生成手段として機能する。更に、Ｓ３９の処理完了後のＳ３８におけるＣＰＵ１０は、Ｓ３９にて異種パスワード生成手段が生成した不正なパスワードをプログラマブル装置２へ出力する異種パスワード出力手段として機能する。
【０１６４】
以上のようなデータ出力システム５は、データ出力装置１の固有情報及び装置固有情報、並びにコンフィギュレーション用ソフトウェアに付与してある認証情報及び入力認証情報を、第１回路データの第１プログラマブルＩＣ２１に対する入力、正規のパスワードの生成等、各処理実行の可否を判定するためのセキュリティキーとして用いている。
【０１６５】
正規のデータ出力装置１は、プログラマブル装置２の第１プログラマブルＩＣ２１に第１論理回路を、第２プログラマブルＩＣ２２１，２２２，２２３に第２論理回路を、夫々形成させることができる。つまり、正規のデータ出力装置１は、プログラマブル装置２をＦＰＧＡ搭載の半導体試験装置となすことができる。しかも、第１ソフトウェア記憶部１２１に記憶される試験装置システムソフトウェア、及び／又は回路データ記憶部１２３に記憶される第２回路データを入れ替えることによって、ＤＵＴの変更にフレキシブルに対応することができる。
【０１６６】
一方、不正なデータ出力装置１は、プログラマブル装置２の第１プログラマブルＩＣ２１に第１論理回路を形成させることができないか、又は、第１論理回路を形成させることができた場合でも、第２プログラマブルＩＣ２２１，２２２，２２３に第２論理回路を形成させることができない。つまり、不正なデータ出力装置１は、半導体試験装置としてのプログラマブル装置２を不正に模造することができない。
【０１６７】
また、プログラマブル装置２が備える第１プログラマブルＩＣ２１及び第２プログラマブルＩＣ２２１，２２２，２２３夫々は、汎用ＩＣであるＦＰＧＡであり、プログラマブル装置２には、不正な模造の防止のための高価なカスタムＩＣ、デコーダ部等が備えられていない。この結果、プログラマブル装置２のコストを低減することができ、プログラマブル装置２を小型化することができる。
【０１６８】
更に、ハードウェアに固有の固有情報及び装置固有情報とソフトウェアに付与してある認証情報及び入力認証情報を用いて、第１回路データの第１プログラマブルＩＣ２１に対する入力及び第２回路データの第２プログラマブルＩＣ２２１，２２２，２２３に対する入力夫々の認証を自動的に行なうため、例えばデータ出力システム５のオペレータが、ＩＤ、パスワード等をデータ出力装置１に入力する必要がない。このため、オペレータの利便性を向上させることができる。
【０１６９】
なお、本実施の形態においては記録媒体４から読み出したコンピュータプログラム及びデータをＲＡＭ１２に記憶しているが、これに限らず、ＬＡＮ３を介して受信したコンピュータプログラム及びデータでも良く、また、コンピュータが備えるハードディスクに記憶しても良い。更に、本実施の形態のコンピュータプログラム及びデータＲＯＭ１１に予め記憶させてあっても良い。
【０１７０】
また、認証情報及び固有情報が一致しなかった場合は、コンフィギュレーション自体を行なわない（つまり、第１回路データのみならず、第１異種回路データも出力しない）構成でも良い。更に、入力認証情報及び装置固有情報が一致しなかった場合は、乱数読出コマンドを出力しなかったり、パスワードの生成自体、又はパスワードの出力自体を行なわなかったり（つまり正規のパスワードのみならず、不正なパスワードの生成及び出力も行なわなかったり）する構成でも良い。
【０１７１】
更に、認証情報及び固有情報と入力認証情報及び装置固有情報との内、一方だけを用いて、認証情報及び固有情報が一致したとき、又は入力認証情報及び装置固有情報が一致したときは、第１論理回路及び第２論理回路を形成する構成でも良い。ここで、認証情報及び固有情報が一致しないときは第１論理回路を形成せず、このため第２論理回路も形成されず、入力認証情報及び装置固有情報が一致しないときは第２論理回路を形成しない。このような構成の場合、データ出力装置１の処理が簡便になる。しかしながら、例えば固有情報（又は装置固有情報）が盗用されただけで半導体試験装置としてのプログラマブル装置２が不正に模造されるため、本実施の形態のように、認証情報及び固有情報と入力認証情報及び装置固有情報とを両方用いる方が好ましい。
【０１７２】
実施の形態  ２．
図７は、本発明の実施の形態２に係るデータ出力システム５の構成を示すブロック図である。本実施の形態に係るデータ出力システム５が備えるデータ出力装置１は、実施の形態１に係るデータ出力システム５のデータ出力装置１とは異なり、ＲＯＭ１１に固有情報記憶部１１０が設けられていない代わりに、固有情報記憶部１５を備える。
【０１７３】
固有情報記憶部１５は、データ出力装置１となすべきコンピュータが備える入出力ポートと、この入出力ポートに接続されたドングルのようなハードキーとを用いてなり、ハードキーに固有の固有情報及び装置固有情報を記憶してある。つまり、固有情報記憶部１５を備えるデータ出力装置１は、データ出力装置１に固有の固有情報及び装置固有情報を有する。固有情報と装置固有情報とは、互いに異なるＩＤである。
【０１７４】
また、第２ソフトウェア記憶部１２２に記憶してあるコンフィギュレーション用ソフトウェアには、第１回路データに含まれているパスワード生成アルゴリズム、即ち、パスワード生成回路２１２がパスワードを生成する場合に用いるパスワード生成アルゴリズムと同じパスワード生成アルゴリズム（実施の形態１の正規のパスワード生成アルゴリズム）が含まれており、不正なパスワード生成アルゴリズムは含まれていない。
【０１７５】
ＣＰＵ１０は、図３に示す第１データ出力処理と同様の第１データ出力処理を実行する。ただし、ＣＰＵ１０は、Ｓ１２にて、固有情報記憶部１５に記憶してある固有情報を読み出す。
【０１７６】
入力認証情報及び装置固有情報が一致しない場合、データ出力システム５は、実施の形態１と同様に、第２回路データが第２プログラマブルＩＣ２２１，２２２，２２３に入力されることを防止する。このために、本実施の形態におけるコンピュータプログラムは、不正なデータ出力装置１に、乱数生成コマンドを出力させず、不正なコマンドを出力させる。
【０１７７】
その他、実施の形態１に対応する部分には同一符号を付してそれらの説明を省略する。
【０１７８】
図８は、データ出力装置１のＣＰＵ１０が実行する第２データ出力処理の手順、及び第２データ出力処理の実行に応じてプログラマブル装置２の第１プログラマブルＩＣ２１で実行される処理の手順を示すフローチャートである。図８に示す第２データ出力処理は、図４に示す第２データ出力処理と同様に、第１データ出力処理の完了後、プログラマブル装置２から第１形成完了信号が入力された場合に実行される。
【０１７９】
データ出力装置１のＣＰＵ１０は、認証情報記憶部１２４から入力認証情報を読み出し（Ｓ７１）、固有情報記憶部１５から装置固有情報を読み出し（Ｓ７２）、読み出した入力認証情報及び装置固有情報が一致しているか否かを判定する（Ｓ７３）。Ｓ７１〜Ｓ７３は、図４に示すＳ３４〜Ｓ３６に対応する。
【０１８０】
Ｓ７１及びＳ７２で読み出した入力認証情報及び装置固有情報が一致している場合（Ｓ７３でＹＥＳ）、ＣＰＵ１０は、乱数生成コマンドをプログラマブル装置２へ出力する（Ｓ７４）。Ｓ７４の処理完了後、ＣＰＵ１０は、待機時間だけ待機する（不図示）。Ｓ７４は、図４に示すＳ３１に対応する。
【０１８１】
Ｓ７４が実行された場合、プログラマブル装置２に乱数生成コマンドが入力され、入力された乱数生成コマンドは第１プログラマブルＩＣ２１の乱数生成回路２１１に入力される。
【０１８２】
Ｓ７１及びＳ７２で読み出した入力認証情報及び装置固有情報が一致していない場合（Ｓ７３でＮＯ）、ＣＰＵ１０は、乱数生成コマンドとは異なる不正なコマンドをプログラマブル装置２へ出力する（Ｓ７５）。Ｓ７５が実行された場合、プログラマブル装置２に不正なコマンドが入力され、入力された不正なコマンドは第１プログラマブルＩＣ２１の乱数生成回路２１１に入力される。
【０１８３】
乱数生成回路２１１は、乱数生成コマンド又は乱数生成コマンドとは異なる不正なコマンドを受け付け、受け付けた（入力された）コマンドが、乱数生成コマンドではない不正なコマンドである場合（Ｓ８１でＮＯ）、乱数生成コマンドが入力されるまで待機する。
【０１８４】
このように、Ｓ７５にて不正なコマンドが出力された場合、乱数生成回路２１１は乱数を生成しないため、ＣＰＵ１０がＳ７６以降の処理を実行しても無意味である。このため、Ｓ７５の処理完了後、ＣＰＵ１０は、第２データ出力処理を終了する。
【０１８５】
受け付けたコマンドが乱数生成コマンドである場合（Ｓ８１でＹＥＳ）、乱数生成回路２１１は乱数を生成する（Ｓ８２）。Ｓ８２は、図４に示すＳ４１に対応する。
【０１８６】
データ出力装置１においては、ＣＰＵ１０は、待機時間の経過後、乱数読出コマンドをプログラマブル装置２へ出力する（Ｓ７６）。Ｓ７６は、図４に示すＳ３２に対応する。
【０１８７】
Ｓ８３〜Ｓ８６は、図４に示すＳ４２〜Ｓ４５に対応するため詳述を省略する。Ｓ８５の処理完了後、プログラマブル装置２においては、図６に示すＳ６１〜Ｓ６７の処理と同様の処理が実行される。
【０１８８】
Ｓ８４にて出力された乱数は、データ出力装置１及びパスワード生成回路２１２の両方に入力される。ＣＰＵ１０は、乱数生成回路２１１が生成した乱数を受け付けたか否かを判定し（Ｓ７７）、受け付けていない場合（Ｓ７７でＮＯ）、受け付けるまで待機し、乱数生成回路２１１が生成した乱数を受け付けた場合（Ｓ７７でＹＥＳ）、受け付けた乱数（入力された乱数）をＲＡＭ１２に一時記憶させる。Ｓ７７は、図４に示すＳ３３に対応する。
【０１８９】
Ｓ７７の処理完了後、ＣＰＵ１０は、ＲＡＭ１２に記憶してある乱数を読み出し、読み出した乱数とパスワード生成アルゴリズムとに基づいてパスワード（実施の形態１における正規のパスワード）を生成し（Ｓ７８）、生成したパスワードをプログラマブル装置２へ出力する（Ｓ７９）。Ｓ７８及びＳ７９は、図４に示すＳ３７及びＳ３８に対応する。この後、ＣＰＵ１０は、図５に示すＳ５１〜Ｓ５４の処理と同様の処理を実行する。
【０１９０】
以上のような第２データ出力処理に関し、対応判定手段が、入力認証情報及び装置固有情報が対応していないと判定した場合（Ｓ７３でＮＯの場合）、Ｓ７４における生成命令出力手段による乱数生成コマンドの出力処理、Ｓ７６及びＳ７７における乱数取得手段による乱数の取得処理、Ｓ７８におけるパスワード生成手段によるパスワードの生成処理、Ｓ７９におけるパスワード出力手段によるパスワードの出力処理、Ｓ５１における比較命令出力手段によるパスワード比較コマンドの出力処理、及び、Ｓ５４におけるデータ出力手段による第２回路データの出力処理を実行しないようにしてある。
【０１９１】
Ｓ７５におけるＣＰＵ１０は、Ｓ７４にて生成命令出力手段による乱数生成コマンドの出力処理を実行しない場合、乱数生成コマンドとは異なる不正なコマンドをプログラマブル装置２へ出力する異種乱数生成命令出力手段として機能する。
【０１９２】
以上のようなデータ出力システム５は、実施の形態１のデータ出力システム５と同様に、データ出力装置１の固有情報及び装置固有情報、並びにコンフィギュレーション用ソフトウェアに付与してある認証情報及び入力認証情報を、第１回路データの第１プログラマブルＩＣ２１に対する入力、乱数生成コマンドの出力等、各処理実行の可否を判定するためのセキュリティキーとして用いている。この結果、不正なデータ出力装置１が、半導体試験装置としてのプログラマブル装置２を不正に模造することを防止することができる。
【０１９３】
実施の形態  ３．
図９は、本発明の実施の形態３に係るデータ出力システム５の構成を示すブロック図である。本実施の形態に係るデータ出力システム５が備えるデータ出力装置１は、実施の形態１のデータ出力装置１と同様に、ＲＯＭ１１に固有情報記憶部１１０が設けられており、しかも、実施の形態２のデータ出力装置１と同様に、固有情報記憶部１５を備える。ただし、固有情報記憶部１５には、ハードキーのＩＤである固有情報が記憶してあり、固有情報記憶部１１０には、データ出力装置１の製造番号及びＭＡＣアドレスである第１装置固有情報及び第２装置固有情報を記憶してある。
【０１９４】
また、第２ソフトウェア記憶部１２２に記憶してあるコンフィギュレーション用ソフトウェアには、第１回路データに含まれているパスワード生成アルゴリズム、即ち、パスワード生成回路２１２がパスワードを生成する場合に用いるパスワード生成アルゴリズムと同じパスワード生成アルゴリズム（実施の形態１の正規のパスワード生成アルゴリズム）が含まれており、不正なパスワード生成アルゴリズムは含まれていない。
【０１９５】
更に、記録媒体４には、第１異種回路データが記録されていない代わりに、第２プログラマブルＩＣ２２１，２２２，２２３に無意味な第２異種回路（異種論理回路）を形成させるための第２異種回路データ（異種後段回路データ）が記録してある。つまり、第２異種回路データは第２回路データとは異なり、第２異種回路は第２論理回路とは異なる。
【０１９６】
更にまた、記録媒体４には、入力認証情報の代わりに、第２プログラマブルＩＣ２２１，２２２，２２３に対する第２回路データの入力を認証するための第１入力認証情報及び第２入力認証情報等が記録してある。第１入力認証情報及び第２入力認証情報は、互いに異なり、正規のデータ出力装置１に一義的に対応するよう、予めコンフィギュレーション用ソフトウェアに付与される。本実施の形態においては、第１入力認証情報及び第２入力認証情報が、正規のデータ出力装置１の第１装置固有情報及び第２装置固有情報に一致する。
【０１９７】
つまり、回路データ記憶部１２３には、第１回路データ、第２回路データ、及び第２異種回路データが記憶してあり、認証情報記憶部１２４には、認証情報、第１入力認証情報及び第２入力認証情報が記憶してある。このため、回路データ記憶部１２３は、プログラマブル装置２へ出力すべき第１回路データ及び第２回路データ、並びに第２回路データとは異なる第２異種回路データを記憶してあるデータ記憶手段として機能し、認証情報記憶部１２４は、認証情報、第１入力認証情報、及び第２入力認証情報を記憶してある認証情報記憶手段として機能する。
【０１９８】
コンフィギュレーション用ソフトウェアに付与してある認証情報、第１入力認証情報及び第２入力認証情報は、正規のデータ出力装置１の固有情報、第１装置固有情報及び第２装置固有情報に夫々一致する。このため、不正なデータ出力装置１の固有情報記憶部１１０に記憶してある固有情報、第１装置固有情報及び第２装置固有情報は、コンフィギュレーション用ソフトウェアに付与してある認証情報、第１入力認証情報及び第２入力認証情報とは一致しない。
【０１９９】
以上のことから、認証情報及び固有情報が一致し、更に第１入力認証情報及び第１装置固有情報並びに第２入力認証情報及び第２装置固有情報が夫々一致した場合、データ出力装置１は正規のデータ出力装置１である。このため、データ出力装置１は第１回路データ及び第２回路データを順次出力し、第１回路データは第１プログラマブルＩＣ２１に、第２回路データは第２プログラマブルＩＣ２２１，２２２，２２３に、夫々入力される。つまり、データ出力装置１が正規のデータ出力装置１である場合、データ出力装置１に接続されたプログラマブル装置２には、プログラマブル装置２を半導体試験装置となすべく第１論理回路及び第２論理回路が形成される。
【０２００】
一方、認証情報及び固有情報が一致しない場合、データ出力装置１は不正なデータ出力装置１である。このため、データ出力システム５は、第１回路データが第１プログラマブルＩＣ２１に入力されることを防止する。この結果、第２回路データは第２プログラマブルＩＣ２２１，２２２，２２３に入力されない。つまり、データ出力装置１が不正なデータ出力装置１である場合、データ出力装置１に接続されたプログラマブル装置２には第１論理回路及び第２論理回路が形成されず、プログラマブル装置２は半導体試験装置として機能しない。この結果、半導体試験装置としてのプログラマブル装置２は不正に模造されない。
【０２０１】
ＣＰＵ１０は、図３に示す第１データ出力処理と同様の第１データ出力処理を実行する。ただし、ＣＰＵ１０は、Ｓ１２にて、固有情報記憶部１５に記憶してある固有情報を読み出す。
【０２０２】
また、認証情報及び固有情報が一致した場合、第１回路データが第１プログラマブルＩＣ２１に入力されるが、第１入力認証情報及び第１装置固有情報が一致しないとき、データ出力装置１は不正なデータ出力装置１である。このとき、認証情報及び固有情報の一致は、例えば正規のデータ出力装置１の固有情報を盗用したことによる不正な一致である。このため、データ出力システム５は、第２回路データが第２プログラマブルＩＣ２２１，２２２，２２３に入力されることを防止する。
【０２０３】
更に、認証情報及び固有情報が一致し、第１入力認証情報及び第１装置固有情報も一致した場合、第１回路データが第１プログラマブルＩＣ２１に入力されるが、第２入力認証情報及び第２装置固有情報が一致しないとき、データ出力装置１は不正なデータ出力装置１である。このとき、認証情報及び固有情報の一致、並びに第１入力認証情報及び第１装置固有情報の一致は、例えば正規のデータ出力装置１の固有情報及び第１装置固有情報を盗用したことによる不正な一致である。このため、データ出力システム５は、第２回路データが第２プログラマブルＩＣ２２１，２２２，２２３に入力されることを防止する。
【０２０４】
つまり、データ出力装置１が不正なデータ出力装置１である場合、データ出力装置１に接続されたプログラマブル装置２には、第１論理回路が形成されたとしても、第２論理回路は形成されず、プログラマブル装置２は半導体試験装置として機能しない。この結果、半導体試験装置としてのプログラマブル装置２は不正に模造されない。
【０２０５】
第２回路データが第２プログラマブルＩＣ２２１，２２２，２２３に入力されることを防止するために、本実施の形態におけるコンピュータプログラムは、第１入力認証情報及び第１装置固有情報が一致しないときに、不正なデータ出力装置１に、パスワード比較コマンドを出力させず、不正なコマンドを出力させる。また、第２入力認証情報及び第２装置固有情報が一致しないときに、本実施の形態におけるコンピュータプログラムは、不正なデータ出力装置１に、第２回路データを出力させず、第２異種回路データを出力させる。
【０２０６】
その他、実施の形態１，２に対応する部分には同一符号を付してそれらの説明を省略する。
【０２０７】
図１０〜図１２は、データ出力装置１のＣＰＵ１０が実行する第２データ出力処理の手順、及び第２データ出力処理の実行に応じてプログラマブル装置２の第１プログラマブルＩＣ２１及び第２プログラマブルＩＣ２２１，２２２，２２３で実行される処理の手順を示すフローチャートである。図１０に示す第２データ出力処理は、図４に示す第２データ出力処理と同様に、第１データ出力処理の完了後、プログラマブル装置２から第１形成完了信号が入力された場合に実行される。また、Ｓ９１〜Ｓ９３の処理は図４に示すＳ３１〜Ｓ３３の処理と同様で、Ｓ９４及びＳ９５の処理は図７に示すＳ７８及びＳ７９の処理と同様であり、Ｓ１０１〜Ｓ１０６の処理は図４に示すＳ４０〜Ｓ４５の処理と同様である。
【０２０８】
データ出力装置１においては、Ｓ９５の処理完了後、ＣＰＵ１０は、認証情報記憶部１２４から第１入力認証情報を読み出し（Ｓ９６）、固有情報記憶部１５から第１装置固有情報を読み出し（Ｓ９７）、読み出した第１入力認証情報及び第１装置固有情報が一致しているか否かを判定する（Ｓ９８）。Ｓ９６〜Ｓ９８は、図４に示すＳ３４〜Ｓ３６に対応する。
【０２０９】
Ｓ９６及びＳ９７で読み出した第１入力認証情報及び第１装置固有情報が一致している場合（Ｓ９８でＹＥＳ）、ＣＰＵ１０は、パスワード比較コマンドをプログラマブル装置２へ出力する（Ｓ９９）。Ｓ９９は、図５に示すＳ５１に対応する。Ｓ９９が実行された場合、プログラマブル装置２にパスワード比較コマンドが入力され、入力されたパスワード比較コマンドは第１プログラマブルＩＣ２１のパスワード比較回路２１３に入力される。
【０２１０】
Ｓ９６及びＳ９７で読み出した第１入力認証情報及び第１装置固有情報が一致していない場合（Ｓ９８でＮＯ）、ＣＰＵ１０は、パスワード比較コマンドとは異なる不正なコマンドをプログラマブル装置２へ出力する（Ｓ１００）。Ｓ１００が実行された場合、プログラマブル装置２に不正なコマンドが入力され、入力された不正なコマンドは第１プログラマブルＩＣ２１のパスワード比較回路２１３に入力される。
【０２１１】
パスワード比較回路２１３は、パスワード比較コマンド又はパスワード比較コマンドとは異なる不正なコマンドを受け付け、受け付けた（入力された）コマンドが、パスワード比較コマンドではない不正なコマンドである場合（Ｓ１２１でＮＯ）、乱数生成コマンドが入力されるまで待機する。
【０２１２】
このように、Ｓ１００にて不正なコマンドが出力された場合、パスワード比較回路２１３はパスワードを比較しないため、ＣＰＵ１０がＳ１１０以降の処理を実行しても無意味である。このため、Ｓ１００の処理完了後、ＣＰＵ１０は、第２データ出力処理を終了する。
【０２１３】
受け付けたコマンドがパスワード比較コマンドである場合（Ｓ１２１でＹＥＳ）、パスワード比較回路２１３は、図６に示すＳ６１〜Ｓ６３、Ｓ６５、及びＳ６６の処理と同様のＳ１２２〜Ｓ１２４、Ｓ１２６、及びＳ１２７の処理を実行し、スイッチ回路１２４は、図６に示すＳ６４及びＳ６７の処理と同様のＳ１２５及びＳ１２６の処理を実行する。
【０２１４】
データ出力装置１において、ＣＰＵ１０は、比較終了信号を受け付けた（比較終了信号が入力された）か否かを判定する（Ｓ１１０）。Ｓ１１０は、図５に示すＳ５２に対応する。比較終了信号を受け付けていない場合（Ｓ１１０でＮＯ）、ＣＰＵ１０は、比較終了信号を受け付けるまで待機する。比較終了信号を受け付けた場合（Ｓ１１０でＹＥＳ）、ＣＰＵ１０は、認証情報記憶部１２４から第２入力認証情報を読み出し（Ｓ１１１）、固有情報記憶部１１０から第２装置固有情報を読み出し（Ｓ１１２）、読み出した第２入力認証情報及び第２装置固有情報が一致しているか否かを判定する（Ｓ１１３）。
【０２１５】
Ｓ１１１及びＳ１１２で読み出した第２入力認証情報及び第２装置固有情報が一致している場合（Ｓ１１３でＹＥＳ）、ＣＰＵ１０は、回路データ記憶部１２３から第２回路データを読み出して（Ｓ１１４）、読み出した第２回路データをプログラマブル装置２へ出力する（Ｓ１１５）。この場合、ＣＰＵ１０は、第２ソフトウェア記憶部１２２に記憶してあるコンフィギュレーション用ソフトウェアに従ってコンフィギュレーションを行なう。Ｓ１１５の処理完了後、ＣＰＵ１０は、第２データ出力処理を終了する。
【０２１６】
Ｓ１１１及びＳ１１２で読み出した第２入力認証情報及び第２装置固有情報が一致していない場合（Ｓ１１３でＮＯ）、ＣＰＵ１０は、回路データ記憶部１２３から第２異種回路データを読み出して（Ｓ１１６）、読み出した第２異種回路データをプログラマブル装置２へ出力する（Ｓ１１７）。この場合、ＣＰＵ１０は、第２ソフトウェア記憶部１２２に記憶してあるコンフィギュレーション用ソフトウェアに従ってコンフィギュレーションを行なう。Ｓ１１７の処理完了後、ＣＰＵ１０は、第２データ出力処理を終了する。
【０２１７】
第２プログラマブルＩＣ２２１，２２２，２２３は、各種の回路データを受け付けた（各種の回路データが入力された）場合（Ｓ１２９でＹＥＳ）、受け付けた回路データに基づいて各種の論理回路を形成し（Ｓ１３０）、受け付けていない場合（Ｓ１２９でＮＯ）、受け付けるまで待機する。Ｓ１１５が実行された場合、つまりデータ出力装置１が正規のデータ出力装置１である場合、プログラマブル装置２に第２回路データが入力され、入力された第２回路データは第１プログラマブルＩＣ２１に入力される。また、スイッチ回路２１４はＳ１２５にてオン状態にされる。このため、第１プログラマブルＩＣ２１に入力された第２回路データは、スイッチ回路２１４を通過して、第２プログラマブルＩＣ２２１，２２２，２２３に入力される。
【０２１８】
第２プログラマブルＩＣ２２１，２２２，２２３は、入力された第２回路データに基づき、Ｓ１３０にて第２論理回路を形成し、第２論理回路の形成完了後、第２論理回路を形成したことを示す第２形成完了信号をデータ出力装置１へ出力する（不図示）。
【０２１９】
ＣＰＵ１０は、プログラマブル装置２から第２形成完了信号が入力された場合に、第１ソフトウェア記憶部１２１に記憶してある試験装置システムソフトウェアに従って、プログラマブル装置２を半導体試験装置として作動させ、半導体デバイスの試験を行なう。このとき、データ出力装置１は、半導体試験装置制御用ホストコンピュータとして機能する。
【０２２０】
一方、Ｓ１１７が実行された場合、つまりデータ出力装置１が不正なデータ出力装置１である場合、プログラマブル装置２に第２異種回路データが入力され、入力された第２異種回路データは第１プログラマブルＩＣ２１に入力される。また、スイッチ回路２１４はＳ１２５にてオン状態にされる。このため、第１プログラマブルＩＣ２１に入力された第２異種回路データは、スイッチ回路２１４を通過して、第２プログラマブルＩＣ２２１，２２２，２２３に入力される。
【０２２１】
第２プログラマブルＩＣ２２１，２２２，２２３は、入力された第２異種回路データに基づき、Ｓ１３０にて無意味な第２異種回路を形成する。この第２異種回路の形成完了後は、第２プログラマブルＩＣ２２１，２２２，２２３は第２形成完了信号を出力しない。
【０２２２】
以上のような第２データ出力処理に関し、Ｓ９８におけるＣＰＵ１０は、認証情報記憶手段に記憶してある第１入力認証情報、及び、第１装置固有情報が対応しているか否かを判定する第１の対応判定手段として機能し、Ｓ１１３におけるＣＰＵ１０は、認証情報記憶手段に記憶してある第２入力認証情報、及び、第２装置固有情報が対応しているか否かを判定する第２の対応判定手段として機能する。
【０２２３】
また、判定手段が、認証情報及び固有情報が対応していると判定した場合（Ｓ１３でＹＥＳの場合）、第１の対応判定手段が、第１入力認証情報及び第１装置固有情報が対応していると判定し、しかも第２の対応判定手段が、第２入力認証情報及び第２装置固有情報が対応していると判定したとき（Ｓ９８でＹＥＳ、しかもＳ１１３でＹＥＳのとき）に、Ｓ１１５にて、データ出力手段による第２回路データの出力処理を実行するようにしてある。
【０２２４】
一方、第１の対応判定手段が、第１入力認証情報及び第１装置固有情報が対応していないと判定した場合（Ｓ９８でＮＯの場合）、Ｓ９９における比較命令出力手段によるパスワード比較コマンドの出力処理、及び、Ｓ１１５におけるデータ出力手段による第２回路データの出力処理を実行しないようにしてある。また、第２の対応判定手段が、第２入力認証情報及び第２装置固有情報が対応していないと判定した場合（Ｓ１１３でＮＯの場合）、Ｓ１１５におけるデータ出力手段による第２回路データの出力処理を実行しないようにしてある。
【０２２５】
Ｓ１００におけるＣＰＵ１０は、Ｓ９９にて比較命令出力手段によるパスワード比較コマンドの出力処理を実行しない場合、パスワード比較コマンドとは異なる不正なコマンドをプログラマブル装置２へ出力する異種比較命令出力手段として機能する。また、Ｓ１１７におけるＣＰＵ１０は、データ記憶手段に記憶してある第２異種回路データをプログラマブル装置２へ出力する異種データ出力手段として機能し、Ｓ１１５におけるデータ出力手段による第２回路データの出力処理を実行しない場合、Ｓ１１７にて異種データ出力手段による第２異種回路データの出力処理を実行するようにしてある。
【０２２６】
以上のようなデータ出力システム５は、実施の形態１，２のデータ出力システム５と同様に、データ出力装置１の固有情報、第１装置固有情報及び第２装置固有情報、並びにコンフィギュレーション用ソフトウェアに付与してある認証情報、第１入力認証情報及び第２入力認証情報を、パスワード比較コマンドの出力、第２回路データの第２プログラマブルＩＣ２２１，２２２，２２３に対する入力等、各処理実行の可否を判定するためのセキュリティキーとして用いている。この結果、不正なデータ出力装置１が、半導体試験装置としてのプログラマブル装置２を不正に模造することを防止することができる。
【０２２７】
また、実施の形態１，２のように認証情報及び固有情報並びに入力認証情報及び装置固有情報の２組をセキュリティキーとして用いる構成ではなく、認証情報及び固有情報、第１入力認証情報及び第１装置固有情報、並びに第２入力認証情報及び第２装置固有情報の３個をセキュリティキーとして用いる構成であるため、セキュリティキーを２組まで盗用されても、半導体試験装置としてのプログラマブル装置２が不正に模造されることを防止することができる。
【０２２８】
つまり、データ出力システム５は、半導体試験装置としてのプログラマブル装置２の重要性、運用の利便性、コスト等に応じて、セキュリティキーの個数を増減することができる。このようなセキュリティキーは４組以上でも良い。
【図面の簡単な説明】
【０２２９】
【図１】本発明の実施の形態１に係るデータ出力システムの構成を示すブロック図である。
【図２】本発明の実施の形態１に係るプログラマブル装置が備える第１プログラマブルＩＣの構成を示すブロック図である。
【図３】本発明の実施の形態１に係るデータ出力装置の第１データ出力処理の手順、及び第１データ出力処理の実行に応じてプログラマブル装置の第１プログラマブルＩＣで実行される処理の手順を示すフローチャートである。
【図４】本発明の実施の形態１に係るデータ出力装置の第２データ出力処理の手順、及び第２データ出力処理の実行に応じてプログラマブル装置の第１プログラマブルＩＣで実行される処理の手順を示すフローチャートである。
【図５】本発明の実施の形態１に係るデータ出力装置の第２データ出力処理の手順を示すフローチャートである。
【図６】本発明の実施の形態１に係るデータ出力装置の第２データ出力処理の実行に応じてプログラマブル装置の第１プログラマブルＩＣ及び第２プログラマブルＩＣで実行される処理の手順を示すフローチャートである。
【図７】本発明の実施の形態２に係るデータ出力システムの構成を示すブロック図である。
【図８】本発明の実施の形態２に係るデータ出力装置の第２データ出力処理の手順、及び第２データ出力処理の実行に応じてプログラマブル装置の第１プログラマブルＩＣで実行される処理の手順を示すフローチャートである。
【図９】本発明の実施の形態３に係るデータ出力システムの構成を示すブロック図である。
【図１０】本発明の実施の形態３に係るデータ出力装置の第２データ出力処理の手順、及び第２データ出力処理の実行に応じてプログラマブル装置の第１プログラマブルＩＣで実行される処理の手順を示すフローチャートである。
【図１１】本発明の実施の形態３に係るデータ出力装置の第２データ出力処理の手順を示すフローチャートである。
【図１２】本発明の実施の形態３に係るデータ出力装置の第２データ出力処理の実行に応じてプログラマブル装置の第１プログラマブルＩＣ及び第２プログラマブルＩＣで実行される処理の手順を示すフローチャートである。
【符号の説明】
【０２３０】
１      データ出力装置
１０    ＣＰＵ
１１    ＲＯＭ
１１０，１５  固有情報記憶部
１２    ＲＡＭ
１２３  回路データ記憶部（データ記憶手段）
１２４  認証情報記憶部（認証情報記憶手段）
２      プログラマブル装置
２１    第１プログラマブルＩＣ（プログラマブルＩＣ）
２１１  乱数生成回路
２１２  パスワード生成回路
２１３  パスワード比較回路
２１４  スイッチ回路
２２１，２２２，２２３  第２プログラマブルＩＣ（後段プログラマブルＩＣ）
５      データ出力システム
【図１】
2006195672.tif 000003
【図２】
2006195672.tif 000004
【図３】
2006195672.tif 000005
【図４】
2006195672.tif 000006
【図５】
2006195672.tif 000007
【図６】
2006195672.tif 000008
【図７】
2006195672.tif 000009
【図８】
2006195672.tif 000010
【図９】
2006195672.tif 000011
【図１０】
2006195672.tif 000012
【図１１】
2006195672.tif 000013
【図１２】
2006195672.tif 000014