(57)【要約】【課題】守秘義務に頼る必要なく、安全にテストプログラムを流通させることの可能なテストプログラムの保護方法を提供すること及び第三者によるデータの解析が困難なＬＳＩのテスト方法を提供することを課題とする。【解決手段】ソースファイルをプログラム提供者の保有する１次キーを用いて変換することにより流通ファイル１３と２次キー１３ａを作成し、流通ファイルと２次キーとを用いた場合にのみテストプログラムのオブジェクトファイルを作成できるようにしている。またＬＳＩのテスト方法においては、ソースファイル２７とスクランブル書式２８とからテストパタン２５を作成し、ＬＳＩ２３からのテストパタンに対する応答信号の良否をテストプラン２４に基づいて判定する。【選択図】      図１
2004213564.tif 000002
【特許請求の範囲】
【請求項１】
ＬＳＩのテストプログラムを格納したソースファイルをプログラム提供者の保有する１次キーを用いて変換することにより流通ファイルと２次キーを作成し、
該流通ファイルと２次キーとを用いた場合にのみテストプログラムのオブジェクトファイルを作成可能としたことを特徴とするテストプログラムの保護方法。
【請求項２】
上記２次キーに、コンパイル回数の制限を設けたことを特徴とする請求項１記載のテストプログラムの保護方法。
【請求項３】
上記２次キーに、ライセンスによる翻訳制限機能を持たせたことを特徴とする請求項１記載のテストプログラムの保護方法。
【請求項４】
ＬＳＩのテストプログラムを格納したソースファイルとＬＳＩ固有のスクランブル書式とを入力して該ＬＳＩの暗号化されたテストパタンを出力するコンパイラを備え、
テスト対象のＬＳＩがテストモードに設定されている時に、前記暗号化されたテストパタンをテストヘッドを介して前記ＬＳＩに入力し、
前記ＬＳＩ内部に前記暗号化されたテストパタンを解読するデコーダを備え、解読された前記テストパタンをＬＳＩコアに提供し、
該ＬＳＩからのテストパタンに対する応答信号の良否をテストプランに基づいて判定することを特徴とするＬＳＩのテスト方法。
【請求項５】
前記スクランブル書式は、時系列に配列されたテストパタンの配列順序をＬＳＩ毎に容易された固有の組み替えルールを用いて組み替えるための書式であることを特徴とする請求項４記載のＬＳＩのテスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＬＳＩのテストを行う際の機密保護強化を図ることにより、テストプログラム（ＴＰとも称する）の解読による製品技術の漏洩や、ＬＳＩ内部のソフトウェア、データの不正利用を防止するテストプログラムの保護方法及びＬＳＩのテスト方法に関する。
【０００２】
【従来の技術】
図３は、従来の一般的なＬＳＩテスタのテストシステムの構成を示すブロック図であり、ソースプログラム１をコンパイラ２により翻訳した結果であるオブジェクト３を、テスタ・コントローラ４上のメモリやその他のメモリにロードし、測定を行う。ソースプログラム１はテキスト形式のファイルであるため、汎用のエディタ５により容易に参照することが可能である。つまり、エディタを用いることにより不正にプログラムの内容を書き換えることが可能となる。
【０００３】
従来、コンテンツの不正なコピーなどの不正操作を事前に防止することにより安全にコンテンツを流通させることができるコンテンツ配信方法及びシステムとコンテンツ配信プログラムを記録した記録媒体を提供するために、利用者登録手段で利用者の情報を登録し、利用者が本システムを利用しようとする場合に、利用者が登録済みの利用者であるか否かを利用者認証手段で認証し、認証された利用者のみが所望のコンテンツをコンテンツ検索手段で検索し、この検索したコンテンツに対する使用権の取得を利用者に実施し得ると共に、使用権を取得したコンテンツに対する利用者の操作をコンテンツ監視手段で監視するものがある（例えば、特許文献１参照）。
【０００４】
また、ＩＣカードを含む分散環境において、ＩＣカードに転送されたデータの改竄または不正を防止し、データを安全に流通させることができるＩＣカードシステム通信データ保護処理方法及び装置とＩＣカードシステム通信データ保護処理プログラムを記録した記録媒体を提供することを目的として、ＩＣカード端末から送信されたデータ部、このデータ部を保証する人の秘密鍵を用いた署名、この署名に用いた秘密鍵に対する公開鍵の証明を行うものであって、公開鍵の所有者の識別子とデータ部署名者の公開鍵とこれらの少なくとも識別子と公開鍵情報を保証する認証機関の識別子と署名を少なくとも含み、更にこの証明の有効期限を含む証明書に基づき証明書から公開鍵を抽出し、この抽出された公開鍵に基づいて署名検証処理を実行しているものもある（例えば、特許文献２参照）。
【０００５】
【特許文献１】
特開２００１−３０６５２８号公報
【特許文献２】
特開２００１−５２１３４号公報
【０００６】
【発明が解決しようとする課題】
テストプログラムは、テストシステム固有のプログラム言語により記述されているが、そのプログラム言語に精通した技術を有する者が解読すれば、容易にテスト内容の分析が可能である。一方、テスタの基本ソフトウェア（ＯＳ）や、コンパイラは、それぞれ、メーカ推奨の版数の組み合わせで使用する必要があり、外部のテストハウスにテストを委託する場合は、ＯＳとの版数問題によるトラブルを回避するため、ソースプログラムを提供して、委託先でコンパイル（翻訳）する場合もある。
【０００７】
版数を指定して、コンパイル後のオブジェクトのみを提供する場合でも、オブジェクトを逆変換するツールを使用できれば、元のソースファイルを復元することが可能であるし、また、テスト信号をモニタすることにより内容を分析することも可能である。つまり、テストプログラムに含まれる商品の機密事項や独自の測定技術を保護しながら、テストプログラムを流通させ、外部のテストハウスにテストを委託することが非常に困難な状況になっており、守秘義務の契約に頼るしか無い状態である。
【０００８】
この発明は、守秘義務に頼る必要なく、安全にテストプログラムを流通させることの可能なテストプログラムの保護方法を提供すること及び第三者によるデータの解析が困難なＬＳＩのテスト方法を提供することを目的とする。
【０００９】
【課題を解決する為の手段】
上記課題を解決する為に、この発明のプログラム保護方法においては、ＬＳＩのテストプログラムを格納したソースファイルをプログラム提供者の保有する１次キーを用いて変換することにより流通ファイルと２次キーを作成し、流通ファイルと２次キーとを用いた場合にのみテストプログラムのオブジェクトファイルを作成可能としている。これにより、テストプログラムのソース情報は、プログラム提供者が保有する１次キーを用いて作成した２次キーと流通ファイルによってのみオブジェクトコードに変換することができるようになるので、安全にテストプログラムの流通を図ることが可能となる。
【００１０】
また、上記課題を解決するために、この発明のＬＳＩのテスト方法においては、ＬＳＩのテストプログラムを格納したソースファイルとＬＳＩ固有のスクランブル書式とを入力してＬＳＩの暗号化されたテストパタンを出力するコンパイラを備え、テスト対象のＬＳＩがテストモードに設定されている時に、暗号化されたテストパタンをテストヘッドを介してＬＳＩに入力し、ＬＳＩ内部に暗号化されたテストパタンを解読するデコーダを備え、解読されたテストパタンをＬＳＩコアに提供し、ＬＳＩからのテストパタンに対する応答信号の良否をテストプランに基づいて判定するようにしてる。これにより、第三者がテストヘッドの端子をモニタしたとしてもデータの解読は極めて困難なものとなる。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
［第１の実施の形態］
図１は、この発明の第１の実施の形態に於けるシステムのブロック図であり、このシステム１０は、テストプログラムを格納したソースファイル１１と、一次キー１１ａ及びソースファイル１１を入力して流通ファイル１３と２次キー１３ａを出力する変換ツール１２と、流通ファイル１３と２次キー１３ａを用いて流通ファイル１３の内容を翻訳するコンパイラ１４と、コンパイラ１４により作成された翻訳結果であるオブジェクトファイル１５を入力して実行するテスタコントローラ１７と、１次キー１１ａと流通ファイル１３を入力することにより、テキスト表示及びテキストファイルを出力することが出来るＶｉｅｗｅｒ１６とで構成されている。
【００１２】
上記構成によれば、ソースファイル１１は１次キー１１ａと共に変換ツール１２で変換され、流通ファイル１３と２次キー１３ａが作成される。尚、１次キーとしては、暗証番号、テストプログラム提供者の保有するテキストファイル、バイナリファイル或いは磁気カード、ＩＣカードなどから得られる情報及びその組み合わせにより作成することができる。
【００１３】
また、上記１次キーを用いて作成した流通ファイル１３は、２次キーを用いた場合にのみコンパイラによりオブジェクトコードに変換することが出来る。また、この流通ファイル１３は、１次キー１１ａと専用のＶｉｅｗｅｒ１６を用いた場合にのみその内容を表示、編集すること、及びソースファイルに変換することが可能であり、例えば、テストハウスにテストのみを委託し、プログラムのソース情報を公開したくない場合は、２次キー１３ａと流通ファイル１３のみを提供すれば良い。
【００１４】
コンパイラ１４は、流通ファイル１３と２次キー１３ａを用いてオブジェクトファイル１５を作成する。この時、コンパイラ１４は、ファイル拡張子により、ソースファイル１１と流通ファイル１３とを識別することができるので、従来のように、ソースファイル１１を直接翻訳してオブジェクトファイルを作成することも可能である。
【００１５】
以上説明したように、第１の実施の形態においては、流通ファイル１３と２次キー１３ａによるＴＰ流通を行うことにより、ＯＳの版数（バージョン）とコンパイラのバージョンの不一致に起因するテストプログラムのトラブル防止と、汎用のエディタを使用した第３者による容易なＴＰ分析を防止することが可能となる。また、２次キー１３ａに、翻訳回数制限機能や、ライセンスによる翻訳制限機能を持たせることにより、流通ファイルの違法な複製などを防止することも出来る。
【００１６】
［第２の実施の形態］
図２はこの発明の第２の実施の形態におけるシステムのブロック図を示したものであり、このシステム２０は、テストプログラムを格納したソースファイル２７と商品であるＬＳＩに固有のスクランブル情報を格納したスクランブル書式２８とを入力してＬＳＩ２３をテストするためのテストパターン２５を作成するコンパイラ２６と、テスト項目、テスト条件、テストフロー、ＰＡＳＳ／ＦＡＩＬ判定処理などを含むテストプラン２４に従って、コントローラ２１の制御の下にテストパターン２５をテストヘッド２２に供給し、テストヘッド２２からの測定信号をモニタする測定システムと、マルチプレクサ２３ａからＳｃｒａｍｂｌｅＤｅｃｏｄｅｒ（２３ｂ）を介してＬＳＩ  ｃｏｒｅ（２３ｃ）にテストパターン２５を入力するＬＳＩ２３から構成されている。
【００１７】
上記構成のシステム２０において、テストパターン２５のソースファイル２７は、商品であるＬＳＩ固有のスクランブル書式２８に従ってコンパイラ２６により変換されて作成される。この場合、ＬＳＩ固有のスクランブル書式とは、例えば、時系列に配列されているテストパターンの配列順序をＬＳＩに固有の組み替えルールを用意してこの組み替えルールを用いて組み替えるように指示する書式のことを指している。
【００１８】
コントローラ２１は、テストプラン２４とスクランブル処理されたテストパターン２５に従ってテストヘッド２２より入出力信号の処理及びテスト結果の判定処理を行う。具体的には、テストパタン２５をテストヘッド２２を介してテスト対象のＬＳＩ２３に送り、ＬＳＩ２３からの応答信号をテストヘッド２２を介して受領し、テストプラン２４の内容に従って、テスト結果の良否を判定する。
【００１９】
ＬＳＩ２３には、テストヘッド２２を介して入力されたスクランブル処理されたテストパターンを解読してＬＳＩ  Ｃｏｒｅ（２３ｃ）にデコード後の信号を送出するＳｃｒａｍｂｌｅ  Ｄｅｃｏｄｅｒ（２３ｂ）が備えられ、テストモードを選択することにより、マルチプレクサ２３ａを介して利用できる構造に成っている。
【００２０】
以上説明したように、第２の発明の実施の形態においては、テストヘッドから出力される信号は、商品であるＬＳＩ固有のスクランブル情報による暗号化が行われており、テストヘッドからの信号をモニタしても、第三者によるデータの解読は非常に困難となる。
【００２１】
【発明の効果】
以上詳細に説明したように、請求項１に記載の発明によれば、ＬＳＩのテストプログラムを格納したソースファイルをプログラム提供者の保有する１次キーを用いて変換することにより流通ファイルと２次キーを作成し、該流通ファイルと２次キーとを用いた場合にのみテストプログラムのオブジェクトファイルを作成可能としたことにより、汎用のエディタなどを使用した第三者によるＴＰ分析を防止することが可能となる。
【００２２】
また、請求項４記載の発明によれば、ＬＳＩのテストプログラムを格納したソースファイルとＬＳＩ固有のスクランブル書式とを入力して該ＬＳＩの暗号化されたテストパタンを出力するコンパイラを備え、テスト対象のＬＳＩがテストモードに設定されている時に、前記暗号化されたテストパタンをテストヘッドを介して前記ＬＳＩに入力し、前記ＬＳＩ内部に前記暗号化されたテストパタンを解読するデコーダを備え、解読された前記テストパタンをＬＳＩコアに提供し、該ＬＳＩからのテストパタンに対する応答信号の良否をテストプランに基づいて判定するようにしたので、テストヘッドからの信号をモニタできたとしてもそれによるデータの解読は極めて困難なものとなる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態におけるシステムのブロック図である。
【図２】本発明の第２の実施の形態におけるシステムのブロック図である。
【図３】従来のテストシステムのブロック図である。
【符号の説明】
１，１１，２７            ソースファイル
２，１４、２６            コンパイラ
３，１５                  オブジェクトファイル
４、１７                  テスタコントローラ
５                        エディタ
１１ａ                    １次キー
１２                      変換ツール
１３                      流通ファイル
１３ａ                    ２次キー
１６                      Ｖｉｅｗｅｒ
２１                      コントローラ
２２                      テストヘッド
２３                      ＬＳＩ
２３ａ                    マルチプレクサ
２３ｂ                    Ｓｃｒａｍｂｌｅ  Ｄｅｃｏｄｅｒ
２３ｃ                    ＬＳＩ  Ｃｏｒｅ
２４                      テストプラン
２５                      テストパターン
２８                      スクランブル書式
【図１】
2004213564.tif 000003
【図２】
2004213564.tif 000004
【図３】
2004213564.tif 000005