(57)【特許請求の範囲】
【請求項１】
与えられたアドレスに応じてＩＤ値を出力する記憶部を有するＬＳＩを、テスター用ＬＳＩを用いてテストする工程を備え、
前記ＬＳＩは、第１のテスト回路を備えたものであり、
前記テスター用ＬＳＩは、第２のテスト回路を備えたものであり、
前記第１および第２のテスト回路は、互いに接続された状態においてのみ、前記記憶部と共通のアドレスを受けたとき、前記記憶部と同一の値を出力するテスト回路を、構成するものであり、
前記工程は、
前記第１のテスト回路と前記第２のテスト回路とを接続し、
接続した第１および第２のテスト回路によって構成された前記テスト回路と、前記記憶部とに、共通のアドレスを与え、
共通のアドレスを与えたときの、前記テスト回路の出力と、前記記憶部の出力とを比較することによって、テストを行うものである
ことを特徴とするＬＳＩテスト方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＤや機密鍵が実装されたＬＳＩの開発、製造およびテストに関する技術に属する。
【０００２】
【発明が解決しようとする課題】
通常のＣＭＯＳＬＳＩの内部では、複数の鍵を実装するのは困難である。すなわち、ＬＳＩ内部に閉じた鍵を、変更する手段がない。
【０００３】
また、外部ＲＯＭ等からのロードでは、セット上で解析が可能となる。
【０００４】
また、鍵管理者以外に、ネットワーク配信者、ＬＳＩ設計者またはセット設計者等が鍵を知るおそれがある。
【０００５】
また、違った値の鍵を大量生産技術によって書き込みにくい。
【０００６】
また、開封してチップ解析することが可能である。
【０００７】
また、鍵実装が正確に行われたか否かを検証することができない。すなわち、内部鍵のテストが困難である。
【０００８】
そこで、本発明は、ＬＳＩテスト方法として、ＬＳＩの回路規模を増大させることなく、実装されたＩＤ値のテストを可能にすることを課題とする。
【０００９】
【課題を解決するための手段】
請求項１の発明が講じた解決手段は、ＬＳＩテスト方法として、与えられたアドレスに応じてＩＤ値を出力する記憶部を有するＬＳＩをテスター用ＬＳＩを用いてテストする工程を備え、前記ＬＳＩは第１のテスト回路を備えたものであり、前記テスター用ＬＳＩは第２のテスト回路を備えたものであり、前記第１および第２のテスト回路は、互いに接続された状態においてのみ、前記記憶部と共通のアドレスを受けたとき、前記記憶部と同一の値を出力するテスト回路を、構成するものであり、前記工程は、前記第１のテスト回路と前記第２のテスト回路とを接続し、接続した第１および第２のテスト回路によって構成された前記テスト回路と、前記記憶部とに、共通のアドレスを与え、共通のアドレスを与えたときの、前記テスト回路の出力と、前記記憶部の出力とを比較することによって、テストを行うものである。
【００１０】
請求項１の発明によると、ＬＳＩの回路規模を増大させることなく、実装されたＩＤ値のテストを行うことができる。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１２】
（第１の参考例）
図１は本発明の第１の参考例に係るＩＤ実装可能なＬＳＩの構成を示す図である。図１に示すＬＳＩ１０は、機密鍵としてのＩＤが、その製造工程において付与可能に構成されている。すなわち、例えばＬＳＩ１０の出荷検査用のテスタを用いて、信号Ｆｕｓｅ，Ｆｕｓｅｄｅｃを与えることによって、異なる値のＩＤが実装されたＬＳＩ１０を容易に大量生産することができる。
【００１３】
デコード部１１は、ＬＳＩ１０の外部から受けた，ＩＤを表すＩＤ信号Ｆｕｓｅｄｅｃを入力とし、このＩＤ信号Ｆｕｓｅｄｅｃをデコードする。値保持回路としてのヒューズ回路１２は、デコード部１１から出力されたデコード信号を入力とし、動作設定信号Ｆｕｓｅがアクティブのとき、このデコード信号が表す値を記憶する。また、動作設定信号Ｆｕｓｅがノンアクティブのとき、記憶した値を保持する。ＩＤ記憶部としてのＩＤＲＡＭ１３は、ヒューズ回路１２の保持値をＩＤとして記憶する。
【００１４】
図２は図１におけるデコード部１１およびヒューズ回路１２の具体的な構成例を示す図である。デコード部１１はＩＤ信号ＦｕｓｅｄｅｃおよびクロックＣＬＫを受けて、３ビットのデコード信号Ｆｕｓｅｄｅｃ２を出力する。ヒューズ回路１２は不揮発性素子からなる３組のヒューズ対１２１，１２２，１２３を有しており、デコード信号Ｆｕｓｅｄｅｃ２を受けて、３ビットの値を保持する。
【００１５】
図３は図２に示すヒューズ回路１２の一構成単位を抜き出したものである。図３に示す構成単位は１ビットの値に対応したものであり、２個のヒューズＦＵＳＥＡ，ＦＵＳＥＢを有している。
【００１６】
図３に示すヒューズ回路１２の構成単位の動作について、図４を用いて説明する。まず図４（ａ）（ｂ）に示すように、書き込み動作時は、動作設定信号Ｆｕｓｅを“２”レベルにする（アクティブ）。そして、デコード信号Ｆｕｓｅｄｅｃ２が“０”のときはヒューズＦＵＳＥＡが接続状態になり（ａ）、デコード信号Ｆｕｓｅｄｅｃ２が“１”のときはヒューズＦＵＳＥＢが接続状態になる（ｂ）。書き込み動作後は、図４（ｃ）（ｄ）に示すように、動作設定信号Ｆｕｓｅを“Ｘ”レベルにする。このとき、デコード信号Ｆｕｓｅｄｅｃ２の値に拘わらず、ヒューズＦＵＳＥＡが接続状態である場合は値“１”が保持され（ｃ）、ヒューズＦＵＳＥＢが接続状態である場合は値“０”が保持される（ｄ）。ここで、“２”レベルは例えば５Ｖ、“１”レベルは例えば３Ｖ、“Ｘ”レベルは例えば０または３Ｖである。
【００１７】
以上のような構成によって、ＩＤ信号Ｆｕｓｅｄｅｃの値を変えるだけで、様々な値のＩＤをＬＳＩ１０に実装することができ、ＩＤが実装されたＬＳＩを大量生産することが可能になる。また、ＩＤ値を書き込んだ後、製品の出荷前に信号Ｆｕｓｅｄｅｃの端子をＬＳＩパッケージ上で“１”に固定する、または信号Ｆｕｓｅｄｅｃ自体もヒューズによって製品の出荷前に“１”に固定することによって、製品の出荷後には外部からＩＤ値を変化することができないようにする。図５はこのようなＩＤ実装可能なＬＳＩを利用する暗号ＬＳＩの製造工程のフローの一例である。
【００１８】
図６は図１の構成に加えて、乱数生成回路１４を設けた例を示す図である。図６に示すＬＳＩ１０Ａでは、乱数生成回路１４は、ヒューズ回路１２の保持値を入力とし、この保持値を基にして乱数を生成する。ＩＤＲＡＭ１３は、ヒューズ回路１２の保持値の代わりに、乱数生成回路１４によって生成された乱数を、ＩＤとして記憶する。
【００１９】
なお、値保持回路としては、ここで示したヒューズ回路１２の代わりに、値が固定でき、かつ、その固定値が製造工程で設定可能な構成であれば、どのようなものを用いてもかまわない。ヒューズ回路１２はＦＰＧＡ、Ｆｌａｓｈ、マスクＲＯＭ、またはレーザ光線による配線層のトリミングによるヒューズ回路でもよい。また、ＩＤＲＡＭ１３の代わりに、例えばレジスタを用いてもかまわない。
【００２０】
（第２の参考例）
図７は本発明の第２の参考例に係る機密鍵実装方法を示す図である。図７に示すように、本参考例では、第１のＬＳＩとしての暗号用ＬＳＩ２１に、第２のＬＳＩとしてのＩＤＬＳＩ２２を貼り合わせることによって、ＩＤＬＳＩ２２が記憶する量産用機密鍵を、暗号化ＬＳＩ２１に実装する。
【００２１】
図７（ａ）に示すように、暗号化ＬＳＩ２１は、第１の機密鍵としての開発用機密鍵を記憶する記憶部としてのＲＯＭ２１１と、第１および第２の外部入力端子としてのパッド２１２，２１３と、セレクタ２１４と、セレクタ２１４の選択出力を機密鍵として用いる処理回路としての暗号用回路２１５とを備えている。セレクタ２１４は、ＲＯＭ２１１に記憶された開発用機密鍵を一の入力とするとともに、他の入力がパッド２１２と接続されている。またセレクタ２１４の選択信号入力は、パッド２１３と接続されている。セレクタ２１４は、選択信号として“Ｈ”が与えられたときは、ＲＯＭ２１１に内蔵された開発用機密鍵を選択出力する一方、選択信号として“Ｌ”が与えられたときは、パッド２１２に入力された信号を選択出力するように構成されている。なお、暗号化ＬＳＩ２１では、パッド２１３は内部プルアップされており、これにより、開発用機密鍵がセレクタ２１４を介して暗号用回路２１５に入力されるようになっている。
【００２２】
一方、ＩＤＬＳＩ２２は、第２の機密鍵としての量産用機密鍵を記憶する記憶部２２１と、量産用機密鍵が出力される第１の外部出力端子としてのパッド２２２と、グランドＧＮＤと接続された第２の外部出力端子としてのパッド２２３とを備えている。
【００２３】
そして、図７（ｂ）に示すように、暗号化ＬＳＩ２１のパッド２１２，２１３がＩＤＬＳＩ２２のパッド２２２，２２３にそれぞれ接続されるように、暗号化ＬＳＩ２１にＩＤＬＳＩ２２を貼り合わせる。この結果、セレクタ２１４の選択信号の入力端子はパッド２１３およびＩＤＬＳＩ２２のパッド２２３を介してグランドＧＮＤに接続され、選択信号として“Ｌ”が入力される。これにより、ＩＤＬＳＩ２２に実装された量産用機密鍵が、セレクタ２１４を介して暗号用回路２１５に入力される。
【００２４】
本参考例によると、量産用機密鍵が実装されたＩＤＬＳＩ２２が暗号化ＬＳＩ２１に貼り合わされているので、ＬＳＩ外部から量産用機密鍵をモニターすることはきわめて困難になる。したがって、量産用機密鍵の秘匿性が向上する。
【００２５】
（第３の参考例）
図８は本発明の第３の参考例に係る機密鍵実装方法を示す図である。図８では、第１のＬＳＩとしてのシステムＬＳＩ３１に、第１の機密鍵としての開発用機密鍵とともに、量産用機密鍵を生成するための第１の乱数種が実装されている。そして、このシステムＬＳＩ３１に、量産用機密鍵を生成するための第２の乱数種を有する第２のＬＳＩとしてのＩＤＬＳＩ３２を張り合わせる。そして、第１および第２の乱数種から乱数生成回路３１３によって生成された値を、量産用機密鍵として用いる。
【００２６】
すなわち、図８に示すように、システムＬＳＩ３１において、記憶部としてのＲＯＭ３１１は開発用機密鍵および第１の乱数種を記憶し、第１の外部入力端子としてのパッド３１２に入力された信号に応じてそのいずれかを出力する。乱数生成回路３１３はＲＯＭ３１１から出力された第１の乱数種と第２の外部入力端子としてのパッド３１４から入力された第２の乱数種とを基にして、量産用機密鍵を生成する。セレクタ３１６は第３の外部入力端子としてのパッド３１５に入力された信号に応じて、ＲＯＭ３１１からの出力および乱数生成回路３１３からの出力のいずれかを選択出力する。処理回路としての認証処理部３１７はセレクタ３１６の選択出力を機密鍵として用いる。
【００２７】
ＲＯＭ３１１は、パッド３１２の入力信号が“Ｈ”のときは開発用機密鍵を出力する一方、“Ｌ”のときは第１の乱数種を出力する。セレクタ３１６は、パッド３１５の入力信号が“Ｈ”のときはＲＯＭ３１１の出力を選択出力する一方、“Ｌ”のときは乱数生成回路３１３の出力を選択出力する。ＩＤＬＳＩ３２が貼り合わされる前は、パッド３１２，３１５はともに内部プルアップされており、このため、セレクタ３１６からはＲＯＭ３１１の出力すなわち開発用機密鍵が出力される。
【００２８】
一方、ＩＤＬＳＩ３２は、第２の乱数種を記憶する記憶部３２１と、グランドＧＮＤと接続された第１の外部出力端子としてのパッド３２２と、記憶部３２１に記憶された第２の乱数種が出力される第２の外部出力端子としてのパッド３２３と、グランドＧＮＤと接続された第３の外部出力端子としてのパッド３２４とを備えている。
【００２９】
そして、システムＬＳＩ３１のパッド３１２，３１４，３１５がＩＤＬＳＩ３２のパッド３２２，３２３，３２４にそれぞれ接続されるように、システムＬＳＩ３１にＩＤＬＳＩ３２を貼り合わせる。この結果、システムＬＳＩ３１のパッド３１２，３１５にはともに“Ｌ”が与えられ、これにより、ＲＯＭ３１１に記憶された第１の乱数種およびパッド３１４に与えられた第２の乱数種を基にして乱数生成回路３１３によって生成された量産用機密鍵が、セレクタ３１６を介して認証処理部３１７に入力される。
【００３０】
本参考例によると、第２の乱数種が実装されたＩＤＬＳＩ３２がシステムＬＳＩ３１に貼り合わされているので、ＬＳＩ外部から量産用機密鍵をモニターすることはきわめて困難になる。したがって、量産用機密鍵の秘匿性が向上する。
【００３１】
また本参考例では、システムＬＳＩ３１にＩＤＬＳＩ３２を貼り合わせる位置を変更することによって、量産用機密鍵の値を変えることができる。
【００３２】
図８に示すように、システムＬＳＩ３１では、パッド３１４は複数の端子、ここでは３つの端子に分かれて構成されている。そして各端子は、互いに異なる入力線３１８ａ，３１８ｂ，３１８ｃを介して乱数生成回路３１３と接続されている。乱数生成回路３１３は、信号が入力される入力線３１８ａ，３１８ｂ，３１８ｃに応じて、互いに異なる論理をもって乱数を生成する。また、ＩＤＬＳＩ３２では、第２の乱数種を出力するためのパッド３２３が３行３列に構成されており、このパッド３２３の各列は、システムＬＳＩ３１のパッド３１４の各端子にそれぞれ対応している。
【００３３】
図９はシステムＬＳＩ３１のパッド３１４とＩＤＬＳＩ３２のパッド３２３との接続関係と、貼り合わせ位置との関係を示す図である。図９において、ＩＤＬＳＩ３２に示した破線の矩形Ｂ１，Ｂ２，Ｂ３は、図８に示すシステムＬＳＩ３１における破線の矩形Ａに対応している。すなわち、図９（ａ）を基準にすると、図９（ｂ）ではＩＤＬＳＩ３２がパッド１個分だけ下にずれた位置に貼られており、図９（ｃ）ではパッド２個分だけ下にずれた位置に貼られている。
【００３４】
図９（ａ）に示すように、ＩＤＬＳＩ３２のパッド３２３の最下行がシステムＬＳＩ３１のパッド３１４に合うように貼り合わされた場合には、第２の乱数種は、入力線３１８ａを介して乱数生成回路３１３に入力される。同様に、図９（ｂ）に示すように、パッド３２３の第２行がパッド３１４に合うように貼り合わされた場合は、第２の乱数種は入力線３１８ｂを介して乱数生成回路３１３に入力される。さらに、図９（ｃ）に示すように、パッド３２３の最上行がパッド３１４に合うように貼り合わされた場合は、第２の乱数種は入力線３１８ｃを介して入力される。
【００３５】
このように、ＩＤＬＳＩ３２の貼り合わせ位置を変えることによって、第２の乱数種の乱数生成回路３１３への入力線を変更することができる。したがって、乱数生成回路の３１３出力すなわち量産用機密鍵の値を、ＩＤＬＳＩ３２の貼り合わせ位置によって変えることができる。
【００３６】
（第４の参考例）
図１０および図１１は本発明の第４の参考例に係る機密鍵実装方法を示す図である。図１０（ａ）に示すように、第１のＬＳＩとしての暗号ＬＳＩ４１は、ＲＯＭ構造の回路４１１と、回路４１１から出力されたＩＤ値を入力する暗号回路４１３とを備えている。回路４１１はそのパッド４１２に供給される電位を受けてＩＤ値を出力する。一方、図１０（ｂ）に示すように、第２のＬＳＩとしてのＩＤＬＳＩ４２は、複数のパッド４２１を備えており、各パッド４２１はＶＤＤまたはＶＳＳのいずれかの電源配線に接続されている。
【００３７】
ここで、まず、暗号ＬＳＩ４１に付与するＩＤに応じて、ＩＤＬＳＩ４２のパッド部においてバンプを打つ位置を決定する。ここで、ＩＤ値をＦｈとＡｈ（ｈは１６進数を表す）とすると、バンプを打つ位置は、図１０（ｃ）において、矩形４２２によって囲まれていないパッド４２１の位置に決定される。
【００３８】
その後、ＩＤＬＳＩ４２に対して、決定した位置にバンプを打ち、図１１に示すように、暗号ＬＳＩ４１に、バンプを打ったＩＤＬＳＩ４２を貼り合わせる。これにより、バンプが打たれたパッド４２１の電位がＩＤ値として暗号回路４１３に入力される。
【００３９】
以上のように本参考例によると、ＩＤＬＳＩに対してバンプを打つ位置を変更するだけで、暗号ＬＳＩに付与されるＩＤ値を変更することができる。
【００４０】
（第５の参考例）
図１２および図１３は本発明の第５の参考例に係る機密鍵実装方法を示す図である。本参考例では、配線ＬＳＩ５３に、第１のＬＳＩとしてのシステムＬＳＩ５１と第２のＬＳＩとしての乱数ＬＳＩ５２とを貼り合わせることによって、機密鍵を実装する。そして、複数種類の配線ＬＳＩの中から、貼り合わせに用いる配線ＬＳＩを選択することによって、システムＬＳＩにおける乱数生成の論理を変更する
図１２に示すように、第１のＬＳＩとしてのシステムＬＳＩ５１において、ＲＯＭ５１１は開発用機密鍵および乱数種を記憶し、パッド５１２に入力された信号に応じてそのいずれかを出力する。すなわち、セレクタ５１６はパッド５１２に入力された選択信号ｓｅｌ１が“Ｈ”のときは、入力Ａすなわち“Ｈ”を出力し、これにより、ＲＯＭ５１１のアドレスの最上位ビットＡＤＤｎが“Ｈ”に固定され、開発用機密鍵が記憶されたアドレス領域のみが有効になる。一方、選択信号ｓｅｌ１が“Ｌ”のときは、入力Ｂすなわち“Ｌ”を出力し、これにより、ＲＯＭ５１１では乱数種が記憶されたアドレス領域のみが有効になる。
【００４１】
乱数生成回路５１３はＲＯＭ５１１から出力された乱数種と乱数入力端子としてのパッド５１４から入力された乱数データとを基にして、量産用機密鍵となる乱数を生成する。セレクタ５１７はパッド５１５に入力された信号に応じて、ＲＯＭ５１１からの出力および乱数生成回路５１３からの出力のいずれかを選択出力する。すなわち、セレクタ５１７は、パッド５１５に入力された選択信号ｓｅｌ２が“Ｈ”のときは、入力ＡすなわちＲＯＭ５１１の出力を出力する一方、“Ｌ”のときは、入力Ｂすなわち乱数生成回路５１３の出力を出力する。認証処理部５１８はセレクタ５１７の選択出力を機密鍵として用いる。
【００４２】
パッド５１２，５１５は内部プルアップされている。したがって、選択信号ｓｅｌ１，ｓｅｌ２はともに“Ｈ”になり、セレクタ５１７はＲＯＭ５１１から出力された開発用機密鍵を選択出力する。
【００４３】
一方、乱数ＬＳＩ５２は、乱数データを記憶する記憶部５２１と、記憶部５２１に記憶された乱数データを出力するための乱数出力端子としてのパッド５２２とを備えている。
【００４４】
また、配線ＬＳＩ５３は、外部入力端子としてのパッド５３１と、外部出力端子としてのパッド５３２とを備えている。そして、パッド５３２のうち配線ＬＳＩ５３の種類に応じて定まるいずれかのパッドと、パッド５３１とが接続されている。図１２に示す配線ＬＳＩ５３では、出力１となるパッド５３２ａがパッド５３１と接続されている。
【００４５】
そして、図１３（ａ）に示すように、配線ＬＳＩ５３に対して、システムＬＳＩ５１と、乱数ＬＳＩ５２とを貼り合わせる。このとき、システムＬＳＩ５１のパッド５１４が配線ＬＳＩ５３のパッド５３２とそれぞれ接続されるようにするとともに、乱数ＬＳＩ５２のパッド５２２が配線ＬＳＩ５３のパッド５３１と接続されるようにする。またこのとき、システムＬＳＩ５１のパッド５１２，５１５はともにグランドＧＮＤに接続される。
【００４６】
この結果、乱数ＬＳＩ５２の記憶部５２１に記憶された乱数データは、配線ＬＳＩ５３を介して、システムＬＳＩ５１の乱数生成回路５１３に入力線５１８ｃを介して入力される。これにより、乱数生成回路５１３は、入力線５１８ｃに応じた論理をもって、ＲＯＭ５１１に記憶された乱数種と配線ＬＳＩ５３を介して入力された乱数データとを基にして、量産用機密鍵となる乱数を生成する。生成された量産用機密鍵はセレクタ５１７を介して認証処理部５１８に供給される。
【００４７】
また、図１３（ｂ）に示すように、パッド５３１がパッド５３２ｂと接続された配線ＬＳＩ５３Ａを選択した場合には、乱数ＬＳＩ５２の記憶部５２１に記憶された乱数データは、配線ＬＳＩ５３Ａを介して、システムＬＳＩ５１の乱数生成回路５１３に入力線５１８ｂを介して入力される。これにより、乱数生成回路５１３は、入力線５１８ｂに応じた論理をもって、ＲＯＭ５１１に記憶された乱数種と配線ＬＳＩ５３Ａを介して入力された乱数データとを基にして、量産用機密鍵となる乱数を生成する。
【００４８】
以上のように本参考例によると、配線ＬＳＩの種類を変更することによって、乱数生成回路に乱数データが入力される入力線を変えることができ、これにより、異なる論理をもって量産用機密鍵を生成させることができる。
【００４９】
（第１の実施形態）
本発明の第１の実施形態は、与えられたアドレスに応じてＩＤ値を出力する記憶部を有するＬＳＩを、テスター用ＬＳＩを用いてテストするものである。
【００５０】
図１４は本実施形態に係るＬＳＩテスト方法を示す図である。図１４（ａ）において、ＬＳＩ６１は、記憶部としてのＲＯＭ６１１と、第１のテスト回路６１２と、ＲＯＭ６１１の出力と第１のテスト回路６１２の出力とを比較するコンパレータ６１３と、ＲＯＭ６１１から出力されたＩＤ値を用いて処理を行う認証処理部６１４とを備えている。ＲＯＭ６１１は複数のＩＤ値を記憶しており、与えられたアドレスに応じていずれかのＩＤ値を出力する。
【００５１】
一方、テスター用ＬＳＩ６２は、第２のテスト回路６２１を備えている。第２のテスト回路６２１は、ＬＳＩ６１の第１のテスト回路６１２と接続された状態において、ＲＯＭ６１１と同一の機能となるように構成されている。すなわち、第１および第２のテスト回路６１２，６２１が接続された状態において、記憶部６１１と共通のアドレスを受けたとき、第１のテスト回路６１２は記憶部６１１と同一の値を出力する。アドレスと、ＲＯＭ６１１の出力、並びに第１および第２のテスト回路６１２，６２１が接続されたときの出力との関係は、例えば図１４（ｂ）のようになる。
【００５２】
ＬＳＩ６１をテストする工程では、テスター用ＬＳＩ６２の第２のテスト回路６２１をＬＳＩ６１の第１のテスト回路６１２と接続する。そして、様々なアドレス値を与えて、ＲＯＭ６１１の出力と接続した第１および第２のテスト回路６１２，６２１の出力とを比較する。
【００５３】
図１５および図１６は本実施形態の他の例を示す図である。図１５（ａ）において、ＬＳＩ６３は、記憶部としてのＲＯＭ６３１と、第１のテスト回路６３２と、ＲＯＭ６３１の出力と第１のテスト回路６３２の出力とを比較するコンパレータ６３３と、ＲＯＭ６３１から出力されたＩＤ値を用いて処理を行う認証処理部６３４とを備えている。ＲＯＭ６３１は複数のＩＤ値を記憶しており、与えられたアドレスに応じていずれかのＩＤ値を出力する。
【００５４】
一方、テスター用ＬＳＩ６４は、第２のテスト回路６４１を備えている。第２のテスト回路６４１は、ＬＳＩ６３の第１のテスト回路６３２と接続された状態において、ＲＯＭ６３１と同一の機能となるように構成されている。図１６は第２のテスト回路６４１の具体的な構成例である。すなわち、第１および第２のテスト回路６３２，６４１が接続された状態において、記憶部６３１と共通のアドレスを受けたとき、第１のテスト回路６３２は記憶部６３１と同一の値を出力する。アドレスと、ＲＯＭ６３１の出力、並びに第１および第２のテスト回路６３２，６４１が接続されたときの出力との関係は、例えば図１５（ｂ）のようになる。
【００５５】
ＬＳＩ６３をテストする工程では、テスター用ＬＳＩ６４の第２のテスト回路６４１をＬＳＩ６３の第１のテスト回路６３２と接続する。そして、様々なアドレス値を与えて、ＲＯＭ６３１の出力と接続した第１および第２のテスト回路６３２，６４１の出力とを比較する。
【００５６】
（第６の参考例）
本発明の第６の参考例は、暗号ＬＳＩとＩＤＬＳＩとを貼り合わせて実装する暗号ＩＤＬＳＩの開発方法に関するものである。
【００５７】
図１７は本参考例に係る暗号ＩＤＬＳＩの構成を示す図である。まず図１７（ａ）に示すように、第１のＬＳＩとしての暗号ＬＳＩ７１では、セレクタ７１１によって選択された開発鍵Ｘが暗号化回路７１２に入力される。この暗号化回路７１２に外部から生データＡを入力すると、開発鍵Ｘで暗号化された暗号データＢが出力される。この暗号ＬＳＩ７１に対して、図１７（ｂ）に示すように、第２のＬＳＩとしてのＩＤＬＳＩ７２が貼り合わされ、これにより暗号ＩＤＬＳＩ７３が生成される。ＩＤＬＳＩ７２は乱数Ｒ２を記憶する記憶部７２１を備えており、暗号ＬＳＩ７１の乱数回路７１３は、乱数種Ｒ１と乱数Ｒ２とを基にして、量産鍵Ｙを生成する。このとき、乱数回路７１３は、ＩＤＬＳＩ７２の貼り合わせ位置Ｎに応じて、異なる量産鍵Ｙを生成する。この量産鍵Ｙがセレクタ７１１によって選択され、暗号化回路７１２に入力される。この暗号化回路７１２に外部から生データＡを入力すると、量産鍵Ｙで暗号化された暗号データＣが出力される。
【００５８】
図１８および図１９は図１７に示す暗号ＩＤＬＳＩ７３の開発方法を示すフローチャートである。まず図１８において、鍵発行者は、開発用機密鍵Ｘを生成するとともに乱数種Ｒ１を生成し（Ｓ１）、これらを第１の開発者としての暗号ＬＳＩ開発者に提供する（Ｓ２）。暗号ＬＳＩ開発者は、開発用機密鍵Ｘでの暗号ＬＳＩ検査パターンを生成する（Ｓ３）。すなわち、生データＡに対する暗号データＢを出力させる。そして、提供された開発用機密鍵Ｘを用いて暗号ＬＳＩ７１を開発し（Ｓ４）、これをセット開発者に提供する（Ｓ５）。一方、鍵発行者は、開発用機密鍵Ｘ対応の認証試験装置を生成し（Ｓ６）、これをセット開発者に提供する（Ｓ７）。セット開発者は、開発システムの確認を行う（Ｓ８）。
【００５９】
その後、鍵発行者は、乱数Ｒ２を生成し（Ｓ９）、第２の開発者としてのＩＤＬＳＩ開発者に提供する（Ｓ１０）。ＩＤＬＳＩ開発者は、提供された乱数Ｒ２を用いてＩＤＬＳＩ７２を開発し（Ｓ１１）、これを暗号ＩＤＬＳＩ生産者に提供する（Ｓ１２）。また、暗号ＬＳＩ開発者は、開発した暗号ＬＳＩ７１を暗号ＬＳＩ生産者に提供する（Ｓ１３）。
【００６０】
その後、鍵発行者は、貼り合わせ位置Ｎを生成し（Ｓ１４）、これを暗号ＩＤＬＳＩ生産者に提供する（Ｓ１５）。暗号ＩＤＬＳＩ生産者は、提供された貼り合わせ位置Ｎに従って、暗号ＬＳＩ７１とＩＤＬＳＩ７２とを貼り合わせ、これにより暗号ＩＤＬＳＩ７３を開発する（Ｓ１６）。鍵発行者は、乱数種Ｒ１、乱数Ｒ２および貼り合わせ位置Ｎに基づいて、量産用機密鍵Ｙを生成する。この量産用機密鍵Ｙの値は、鍵発行者以外の者は知ることができない。
【００６１】
次に図１９において、暗号ＩＤＬＳＩ生産者は、暗号ＩＤＬＳＩ７３の貼り合わせ確認テストを行う（Ｓ１８）。そして、暗号ＩＤＬＳＩ７３のサンプルＺをセット開発者に出荷する（Ｓ１９）。一方、鍵発行者は、量産用機密鍵Ｙ対応の認証試験装置を生成し（Ｓ２０）、これをセット開発者に提供する（Ｓ２１）。セット開発者は、開発システムの確認を行う（Ｓ２２）。そして、動作承認後、サンプルＺを暗号ＩＤＬＳＩ生産者に返却する（Ｓ２３）。暗号ＩＤＬＳＩ生産者は、返却されたサンプルＺをリファレンスチップとして、テストパターンを作成する（Ｓ２４）。すなわち、サンプルＺに生データＡを入力し、これに対する暗号データＣを入出力の検査パターンとする。
【００６２】
その後、暗号ＩＤＬＳＩ生産者は、暗号ＩＤＬＳＩ７３を量産し（Ｓ２５）、検査パターンを用いて出荷検査を行い（Ｓ２６）、セット開発者に出荷する（Ｓ２７）。
【００６３】
以上のような開発方法によって、量産用機密鍵の値を、鍵発行者以外の者が知ることなく、暗号ＩＤＬＳＩを開発することができる。
【００６４】
【発明の効果】
以上のように本発明によると、回路規模を増大を招くことなく、ＬＳＩに実装されたＩＤ値のテストが可能になる。
【図面の簡単な説明】
【図１】  本発明の第１の参考例に係るＩＤ実装可能なＬＳＩの構成を示す図である。
【図２】  デコード部およびヒューズ回路の具体的な構成例を示す図である。
【図３】  ヒューズ回路の構成単位を示す図である。
【図４】  ヒューズ回路の構成単位の動作を示す図である。
【図５】  ＩＤ実装可能なＬＳＩを利用する暗号ＬＳＩの製造工程のフローである。
【図６】  図１の構成に乱数発生回路を加えた例である。
【図７】  本発明の第２の参考例に係る機密鍵実装方法を示す図である。
【図８】  本発明の第３の参考例に係る機密鍵実装方法を示す図である。
【図９】  （ａ）〜（ｃ）はＩＤＬＳＩの張り合わせ位置と第２の乱数種が入力されるパッドとの関係を示す図である。
【図１０】  （ａ）〜（ｃ）は本発明の第４の参考例に係る機密鍵実装方法を示す図である。
【図１１】  本発明の第４の参考例の実行結果を示す図である。
【図１２】  本発明の第５の参考例に係る機密鍵実装方法を示す図である。
【図１３】  本発明の第５の参考例の実行結果を示す図である。
【図１４】  本発明の第１の実施形態に係るＬＳＩ検査方法を示す図である。
【図１５】  本発明の第１の実施形態に係るＬＳＩ検査方法の他の例を示す図である。
【図１６】  図１５におけるテスター用ＬＳＩの具体的な構成例を示す図である。
【図１７】  本発明の第６の参考例に係る暗号ＩＤＬＳＩの構成を示す図である。
【図１８】  図１７に示す暗号ＩＤＬＳＩの開発方法を示すフローチャートである。
【図１９】  図１７に示す暗号ＩＤＬＳＩの開発方法を示すフローチャートである。
【符号の説明】
１０，１０Ａ  ＬＳＩ
１１  デコード部
１２  ヒューズ回路（値保持回路）
１３  ＩＤＲＡＭ（ＩＤ記憶部）
１４  乱数発生回路
Ｆｕｓｅｄｅｃ  ＩＤ信号
Ｆｕｓｅ  動作設定信号
Ｆｕｓｅｄｅｃ２  デコード信号
２１  暗号化ＬＳＩ（第１のＬＳＩ）
２２  ＩＤＬＳＩ（第２のＬＳＩ）
２１１  ＲＯＭ（記憶部）
２１２  パッド（第１の外部入力端子）
２１３  パッド（第２の外部入力端子）
２１４  セレクタ
２１５  暗号用回路（処理回路）
２２１  記憶部
２２２  パッド（第１の外部出力端子）
２２３  パッド（第２の外部出力端子）
３１  システムＬＳＩ（第１のＬＳＩ）
３２  ＩＤＬＳＩ（第２のＬＳＩ）
３１１  ＲＯＭ（記憶部）
３１２  パッド（第１の外部入力端子）
３１３  乱数生成回路
３１４  パッド（第２の外部入力端子）
３１５  パッド（第３の外部入力端子）
３１６  セレクタ
３１７  認証処理部（処理回路）
３１８ａ，３１９ｂ，３１９ｃ  入力線
３２１  記憶部
３２２  パッド（第１の外部出力端子）
３２３  パッド（第２の外部出力端子）
３２４  パッド（第３の外部出力端子）
４１  暗号ＬＳＩ（第１のＬＳＩ）
４２  ＩＤＬＳＩ（第２のＬＳＩ）
４２１  パッド
５１  システムＬＳＩ（第１のＬＳＩ）
５２  乱数ＬＳＩ（第２のＬＳＩ）
５３，５３Ａ  配線ＬＳＩ
５１３  乱数生成回路
５１４  パッド（複数の乱数入力端子）
５１８ａ，５１８ｂ，５１８ｃ  入力線
５２１  記憶部
５２２  パッド（乱数出力端子）
５３１  パッド（外部入力端子）
５３２  パッド（複数の外部出力端子）
６１  ＬＳＩ
６２  テスター用ＬＳＩ
６３  ＬＳＩ
６４  テスター用ＬＳＩ
６１１  記憶部
６１２  第１のテスト回路
６２１  第２のテスト回路
６３１  記憶部
６３２  第１のテスト回路
６４１  第２のテスト回路
７１  暗号ＬＳＩ（第１のＬＳＩ）
７２  ＩＤＬＳＩ（第２のＬＳＩ）
【図１】
0003719654.tif 000002
【図２】
0003719654.tif 000003
【図３】
0003719654.tif 000004
【図４】
0003719654.tif 000005
【図５】
0003719654.tif 000006
【図６】
0003719654.tif 000007
【図７】
0003719654.tif 000008
【図８】
0003719654.tif 000009
【図９】
0003719654.tif 000010
【図１０】
0003719654.tif 000011
【図１１】
0003719654.tif 000012
【図１２】
0003719654.tif 000013
【図１３】
0003719654.tif 000014
【図１４】
0003719654.tif 000015
【図１５】
0003719654.tif 000016
【図１６】
0003719654.tif 000017
【図１７】
0003719654.tif 000018
【図１８】
0003719654.tif 000019
【図１９】
0003719654.tif 000020