(57)【要約】【課題】秘密鍵の変更に伴う開発工数を最小限に抑えることができ、またマスク設計を行う必要のない半導体集積回路を提供する。【解決手段】予め固定鍵１０１で秘密鍵を暗号化し、外部デバイス６００に格納する。データの暗復号を行う場合、セレクタ１０４で固定鍵１０１で暗号化している暗号化秘密鍵を選択して暗復号回路１０５にセットする。そして、セレクタ１０３で固定鍵１０１を選択し、暗復号回路１０５により暗号化秘密鍵を復号化して秘密鍵格納レジスタ１０２に秘密鍵を格納する。格納した秘密鍵をセレクタ１０３で選択し、更にセレクタ１０４で暗号化データ又は平文データを選択してデータの暗復号を行う。このように、任意の秘密鍵を固定鍵１０１で予め暗号化しておくことで任意の秘密鍵をＬＳＩにセキュアに設定できるため、秘密鍵をＲＯＭに格納する必要がなくなる。【選択図】　図１
2004007053.tif 000002
【特許請求の範囲】
【請求項１】
秘密鍵を格納する記憶手段と、
半導体集積回路固有の固定鍵を用いて暗号化した秘密鍵を格納した外部記憶手段から取り込んだ前記暗号化秘密鍵および前記固定鍵から秘密鍵を復号して前記記憶手段に格納し、前記記憶手段に格納した前記秘密鍵からコンテンツ秘密鍵を生成してデータの暗復号を行う暗復号手段と、
を備えたことを特徴とする半導体集積回路。
【請求項２】
秘密鍵を格納する記憶手段と、
半導体集積回路固有の固定鍵を用いて暗号化した秘密鍵を格納した外部記憶手段から取り込んだ前記暗号化秘密鍵および前記固定鍵から秘密鍵を復号して前記記憶手段に格納する復号手段と、
前記記憶手段に格納された前記秘密鍵からコンテンツ秘密鍵を生成してデータの暗復号を行う暗復号手段と、
を備えたことを特徴とする半導体集積回路。
【請求項３】
乱数発生手段と、前記乱数発生手段から乱数を発生させるタイミングを決定するタイミング発生手段とを具備し、前記タイミング発生手段に入力されるタイミングデータに対応した乱数を固定鍵として用いることを特徴とする請求項１または請求項２記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データの暗復号化を行う暗復号回路を備え、秘密鍵を取り扱う半導体集積回路に関する。
【０００２】
【従来の技術】
図４は、データの暗復号化を行う暗復号回路を備え、秘密鍵を取り扱う半導体集積回路の従来構成を示すブロック図である。図４において、４０１はＲＯＭ、４０２はデータセレクタ、４０３はＣＲＣ演算回路、４０４はコンパレータ、４０５はロジック回路である。
【０００３】
ＲＯＭ４０１は、複数の秘密鍵データと各秘密鍵に対応したＣＲＣ演算結果（機密ＣＲＣデータ）を記憶する。データセレクタ４０２はＲＯＭ４０１に記憶されている秘密鍵データや機密ＣＲＣデータの選択を行う。ＣＲＣ演算回路４０３は、ＲＯＭ４０１に記憶されている秘密鍵データのＣＲＣ演算を行う。コンパレータ４０４は、ＣＲＣ演算回路４０３のＣＲＣ演算結果とＲＯＭ４０１に記憶されている機密ＣＲＣデータとが等しいかどうかを判定し、その結果（判定結果信号）ａを出力する。ロジック回路４０５は、通常の動作時にはＲＯＭ４０１に記憶されている秘密鍵データを用いる。
【０００４】
次に、上記構成の半導体集積回路の動作について説明する。秘密鍵のテストを行うときは、まずデータセレクタ４０２がＲＯＭ４０１から秘密鍵データを選択してＣＲＣ演算回路４０３に入力する。ＣＲＣ演算回路４０３は、入力された秘密鍵データのＣＲＣ演算を行い、その結果をコンパレータ４０４に入力する。また、データセレクタ４０２は、ＲＯＭ４０１から秘密鍵データを選択してＣＲＣ演算回路４０３に入力した後、今度は機密ＣＲＣデータをＲＯＭ４０１から選択してコンパレータ４０４に入力する。
【０００５】
コンパレータ４０４は、ＣＲＣ演算回路４０３からのＣＲＣ演算結果と機密ＣＲＣデータとを比較し、その結果である判定結果信号ａを出力する。これにより、ＲＯＭ４０１に記憶されたデータの機密性を保ちつつ、ＲＯＭ４０１のテストが可能となる。なお、通常動作時は、データセレクタ４０２が選択した秘密鍵データがロジック回路４０５に入力されてデータとして使用される。
【０００６】
【発明が解決しようとする課題】
ところで、従来の半導体集積回路においては、秘密鍵を変更する場合、ＲＯＭ５０１を交換しなければならないことと、その新たなＲＯＭに対するテストパターンを作成しなければならないので、開発工数やマスク設計費がかかるという問題がある。
【０００７】
本発明は上記従来の問題点を解決するもので、秘密鍵の変更に伴う開発工数を最小限に抑えることができ、またマスク設計を行う必要のない半導体集積回路を提供することを目的とする。
【０００８】
【課題を解決するための手段】
請求項１記載の半導体集積回路は、秘密鍵を格納する記憶手段（秘密鍵格納レジスタ１０２）と、半導体集積回路固有の固定鍵を用いて暗号化した秘密鍵を格納した外部記憶手段（外部デバイス６００）から取り込んだ前記暗号化秘密鍵および前記固定鍵から秘密鍵を復号して前記記憶手段に格納し、前記記憶手段に格納した前記秘密鍵からコンテンツ秘密鍵を生成してデータの暗復号を行う暗復号手段（暗復号回路１０５）と、を備えたものである。
【０００９】
上記構成によれば、任意の秘密鍵を固定鍵で予め暗号化して外部記憶手段に持たせておくので、その秘密鍵の機密性を保持できるとともに、安全に半導体集積回路内部に設定することができる。また、秘密鍵のＲＯＭ化が不要となるので、秘密鍵が変わる毎にマスクを変更する必要がなくなる。また、検査は秘密鍵格納記憶手段のアクセス検査を行うのみで良いので、秘密鍵が変わっても検査パターンを変更する必要もなくなる。
【００１０】
請求項２記載の半導体集積回路は、秘密鍵を格納する記憶手段（秘密鍵格納レジスタ１０２）と、半導体集積回路固有の固定鍵を用いて暗号化した秘密鍵を格納した外部記憶手段（外部デバイス６００）から取り込んだ前記暗号化秘密鍵および前記固定鍵から秘密鍵を復号して前記記憶手段に格納する復号手段（復号回路２０３）と、前記記憶手段に格納された前記秘密鍵からコンテンツ秘密鍵を生成してデータの暗復号を行う暗復号手段（暗復号回路２０４）と、を備えたものである。
【００１１】
上記構成によれば、通常のデータの暗号と秘密鍵の暗号とを異なる方式としたので、秘密鍵の機密性をさらに高めることができる。
【００１２】
請求項３記載の半導体集積回路は、請求項１または請求項２記載の半導体集積回路において、乱数発生手段（乱数発生器３０２）と、前記乱数発生手段から乱数を発生させるタイミングを決定するタイミング発生手段（タイミング発生器３０１）とを具備し、前記タイミング発生手段に入力されるタイミングデータに対応した乱数を固定鍵として用いるものである。
【００１３】
上記構成によれば、固定鍵を乱数から生成させるので、秘密鍵の機密性を更に高めることができる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。
図１は、本発明の実施の形態１に係る半導体集積回路の構成を示すブロック図である。図１において、本実施の形態の半導体集積回路は、暗号化秘密鍵ａを復号するための固定鍵（半導体集積回路固有の鍵）１０１と、暗復号回路１０５と、秘密鍵を格納する秘密鍵格納レジスタ１０２と、固定鍵１０１と秘密鍵のいずれか一方を選択するセレクタ１０３と、暗号化秘密鍵ａと暗号化データｂ１又は平文データｂ２のいずれか一方を選択するセレクタ１０４とを有して構成される。
【００１５】
暗復号回路１０５は、秘密鍵からコンテンツ秘密鍵を生成し、生成したコンテンツ秘密鍵で暗号化データｂ１を復号化して平文データｃ１を出力する。または、生成したコンテンツ秘密鍵で平文データｂ２を暗号化して暗号化データｃ２を出力する。また、固定鍵１０１で暗号化秘密鍵ａを復号化して秘密鍵を出力する。
【００１６】
以上のように構成された半導体集積回路の動作について説明する。予め秘密鍵を固定鍵１０１で暗号化し、ＥＰＲＯＭなどの外部デバイス６００に暗号化秘密鍵ａを格納しておく。データの暗復号を行う場合、まずセレクタ１０４で暗号化秘密鍵ａが選択されて暗復号回路１０５にセットされる。次いで、セレクタ１０３で固定鍵１０１が選択されて暗復号回路１０５にセットされる。暗復号回路１０５に暗号化秘密鍵ａと固定鍵１０１がセットされると、暗復号回路１０５が固定鍵１０１で暗号化秘密鍵ａを復号化して秘密鍵を得る。そして、得られた秘密鍵が秘密鍵格納レジスタ１０２に格納される。
【００１７】
次に、セレクタ１０３で秘密鍵格納レジスタ１０２格納された秘密鍵が選択されて暗復号回路１０５にセットされる。次いで、セレクタ１０４で暗号化データｂ１又は平文データｂ２のいずれか一方が選択されて暗復号回路１０５にセットされる。この場合、暗復号回路１０５に秘密鍵と暗号化データｂ１がセットされると、暗復号回路１０５が秘密鍵を使用して暗号化データｂ１の復号を行う。また、暗復号回路１０５に秘密鍵と平文データｂ２がセットされると、暗復号回路１０５が秘密鍵を使用して平文データｂ２の暗号化を行う。
【００１８】
このように、本実施の形態によれば、任意の秘密鍵を固定鍵１０１で予め暗号化して外部デバイス６００に持たせておくので、その秘密鍵の機密性を保持できるとともに、安全に半導体集積回路内部に設定することができる。また、秘密鍵のＲＯＭ化が不要となるので、秘密鍵が変わる毎にマスクを変更する必要がなくなる。さらに、検査は秘密鍵格納レジスタ１０２のアクセス検査を行うのみで良いので、秘密鍵が変わっても検査パターンを変更する必要もなくなる。
【００１９】
なお、本実施の形態において、秘密鍵を格納する手段として秘密鍵格納レジスタ１０２を用いたが、ＲＡＭを用いても良い。
【００２０】
図２は、本発明の実施の形態２に係る半導体集積回路の構成を示すブロック図である。図２において、本実施の形態の半導体集積回路は、暗号化秘密鍵ａを復号化するための固定鍵２０１と、秘密鍵を格納する秘密鍵格納レジスタ２０２と、暗号化秘密鍵ａを復号化して秘密鍵を出力する復号回路２０３と、半導体集積回路固有の復号回路２０３と暗号方式が異なる暗復号回路２０４とを備えて構成される。
【００２１】
暗復号回路２０４は、秘密鍵からコンテンツ秘密鍵を生成し、生成したコンテンツ秘密鍵で暗号化データｂ１を復号化して平文データｃ１を出力する。また、
生成したコンテンツ秘密鍵で平文データｂ２を暗号化して暗号化データｃ２を出力する。
【００２２】
以上のように構成された半導体集積回路の動作について説明する。
予め固定鍵２０１で秘密鍵を暗号化し、ＥＰＲＯＭなどの外部デバイス６００に暗号化秘密鍵を格納する。
【００２３】
データの暗復号を行う場合、暗号化秘密鍵ａと固定鍵２０１が半導体集積回路固有の復号回路２０３にセットされる。復号回路２０３に暗号化秘密鍵ａと固定鍵２０１がセットされると、復号回路２０３が暗号化秘密鍵ａと固定鍵２０１とから秘密鍵を復号する。得られた秘密鍵は秘密鍵格納レジスタ２０２に格納される。そして、秘密鍵格納レジスタ２０２に格納された秘密鍵が暗復号回路２０４にセットされる。暗復号回路２０４は、セットされた秘密鍵を用いて暗号化データｂ１又は平文データｂ２の暗復号を行う。
【００２４】
このように、通常データの暗号方式と秘密鍵の暗号方式を別方式にすることで、秘密鍵の機密性をさらに高めることができる。
【００２５】
図３は、本発明の実施の形態３に係る半導体集積回路の構成を示すブロック図である。図３において、本実施の形態の半導体集積回路は、タイミング発生器３０１と、乱数発生器３０２と、固定鍵格納レジスタ３０３と、秘密鍵格納レジスタ３０４と、セレクタ３０５及び３０６と、暗復号回路３０７とを備えて構成される。
【００２６】
タイミング発生器３０１は、タイミングデータｄに基づいてタイミング信号ｅを発生させる。乱数発生器３０２は、タイミング信号ｅに同期して乱数を発生する。固定鍵格納レジスタ３０３は、乱数発生器３０２で生成した乱数を固定鍵として格納する。秘密鍵格納レジスタ３０４は秘密鍵を格納する。セレクタ３０６は固定鍵又は秘密鍵のいずれか一方を選択する。
【００２７】
セレクタ３０５は暗号化秘密鍵ａと暗号化データ又は平文データｂのいずれか一方を選択する。暗復号回路３０７は、秘密鍵からコンテンツ秘密鍵を生成し、生成したコンテンツ秘密鍵で暗号化データｂ１を復号化して平文データｃ１を出力する。また、生成したコンテンツ秘密鍵で平文データｂ２を暗号化して暗号化データｃ２を出力する。また、暗号化秘密鍵ａを固定鍵で復号化して秘密鍵を出力する。
【００２８】
以上のように構成された半導体集積回路の動作について説明する。予めタイミングデータｄに基づいて生成される乱数（固定鍵）で秘密鍵を暗号化し、ＥＰＲＯＭなどの外部デバイス６００に格納する。データの暗復号を行う場合、タイミング発生器３０１にタイミングデータｄが入力され、その値に対応したタイミング信号ｅに同期して乱数が発生し、固定鍵として固定鍵格納レジスタ３０３に格納される。次いで、セレクタ３０６で暗号化秘密鍵ａが選択されて暗復号回路３０７にセットされる。
【００２９】
次いで、セレクタ３０５で固定鍵格納レジスタ３０３が選択されて、固定鍵が暗復号回路３０７にセットされる。暗復号回路３０７に固定鍵がセットされると、暗復号回路３０７が暗号化秘密鍵ａと固定鍵とから秘密鍵を復号して秘密鍵格納レジスタ３０４に格納する。秘密鍵格納レジスタ３０４に秘密鍵が格納された後、セレクタ３０５で秘密鍵格納レジスタ３０４が選択されて、秘密鍵が暗復号回路３０７にセットされる。暗復号回路３０７に秘密鍵がセットされると、暗復号回路３０７が秘密鍵を用いてセレクタ３０６で選択された暗号化データｂ１又は平文データｂ２の暗復号を行う。
【００３０】
このように、本実施の形態によれば、固定鍵を乱数から生成させるので、上記実施の形態１及び２よりも秘密鍵の機密性を高めることができる。
【００３１】
【発明の効果】
以上説明したように本発明によれば、任意の秘密鍵を固定鍵で予め暗号化して外部記憶手段に持たせておくので、その秘密鍵の機密性を保持できるとともに、安全に半導体集積回路内部に設定することができる。また、秘密鍵のＲＯＭ化が不要となるので、秘密鍵が変わる毎にマスクを変更する必要がなくなる。また、検査は秘密鍵格納記憶手段のアクセス検査を行うのみで良いので、秘密鍵が変わっても検査パターンを変更する必要もなくなる。
【図面の簡単な説明】
【図１】本発明の実施の形態１に係る半導体集積回路の構成を示すブロック図である。
【図２】本発明の実施の形態２に係る半導体集積回路の構成を示すブロック図である。
【図３】本発明の実施の形態３に係る半導体集積回路の構成を示すブロック図である。
【図４】従来の半導体集積回路の構成を示すブロック図である。
【符号の説明】
１０１、２０１　固定鍵
１０２、２０２、３０４　秘密鍵格納レジスタ
１０３、１０４、３０５、３０６　セレクタ
１０５、２０４、３０７　暗復号回路
２０３　復号回路
３０１　タイミング発生器
３０２　乱数発生器
３０３　固定鍵格納レジスタ
６００　外部デバイス
【図１】
2004007053.tif 000003
【図２】
2004007053.tif 000004
【図３】
2004007053.tif 000005
【図４】
2004007053.tif 000006