説明

機密情報実装システム及びLSI

【課題】不正に流出した端末装置、システムLSIあるいは記憶部からそれらを製造した製造者等の特定可能とする。
【解決手段】最終機密情報を内部機密情報により暗号化した第1の被暗号化機密情報及び内部機密情報を変換機密情報により暗号化した第2の被暗号化機密情報を記憶する記憶部と、アドレス情報を含み変換種の生成元になる第1の定数、テスト用変換種の生成元になる第2の定数及び第3の定数の記憶並びに第1、第2、第3の定数をテスト信号及びモード設定値に応じて変換種又はテスト用変換種として出力する種生成部と、変換種又はテスト用変換種を、第1の被暗号化機密情報により変換し、変換機密情報又はテスト用変換機密情報を生成する一方向関数回路と、第2の被暗号化機密情報を、一方向関数回路の出力を鍵として復号化する復号回路と、第1の被暗号化機密情報を、復号回路の出力を鍵として復号化する復号回路と、を含むLSIとを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機密情報実装システム及びこれを実現するためのLSIに関する。
【背景技術】
【0002】
DVD、SDカードなどの著作権を保護すべきコンテンツを格納した蓄積デバイス、及びそれらの蓄積デバイスを再生あるいは復調する端末装置のシステムLSI等には、暗号化された情報の復号に必要な鍵情報が埋め込まれる。
【0003】
この鍵情報は、著作権保護及び端末装置の不正使用防止のため、ユーザはもちろんのこと端末装置の製造者に対しても厳重な機密事項となっている。すなわち、鍵情報が埋め込まれるシステムLSIの開発段階、システムLSIの製造工程の一つであるヒューズ実装段階、及びそれらのシステムLSIをメモリ等と組み合わせ端末装置を製造するセット実装段階において厳重に管理されている。
【0004】
本出願人は、先に、鍵が実装されたシステムやこれに用いるLSIに関して、機密にすべき情報を分散させることにより、鍵の機密性及び秘匿性を向上させるとともに、さまざまな機密鍵を容易に実装することができ、さらに、回路規模を増大させることなく実装された値のテストを可能にする鍵実装システムについて開示した(例えば、特許文献1、図18参照)。
【0005】
図18は、上記文献で開示した鍵実装システム7を説明するための概略構成を示すブロック図である。なお、以下の説明において、暗号及び復号の処理については、対称暗号を前提とする。「対称暗号」とは、図19に示すように、暗号回路50により、Aを入力としてBを鍵として用いて暗号化したものをCとすると、復号回路51により、Cを入力としてBを鍵として復号化したものは、Aとなる特性を持つものである。また、Xに対して鍵Yを用いて暗号化して得た被暗号化鍵のことを、EX(Y)と表現するものとする。
【0006】
LSI70は、第2及び第3の入力IN2,IN3を入力とし、このいずれかを、テスト信号TESTに応じて選択出力する第1のセレクタ64を備えている。第1の復号回路X33は、この第1のセレクタ64の出力を入力とする。また、LSI70には、第1の定数記憶部72と、第2のセレクタ73と、第2の定数記憶部74と、第2の一方向関数回路B75とを備えた種生成部71が設けられている。
【0007】
第1の定数記憶部72は、変換種IDfuse1の元になる第1の定数IDfuseと、テスト用変換種IDtst1の元になる第2の定数IDtstとを記憶している。この第1の定数記憶部72は、第1の定数IDfuse及び第2の定数IDtstとして、レーザトリミング等によるヒューズ切断により任意の値が実装可能に構成されている。
【0008】
第2のセレクタ73は、第1及び第2の定数IDfuse,IDtstのいずれかを、テスト信号TESTに応じて選択出力する。第2の定数記憶部74は、第3の定数Constを記憶している。第2の一方向関数回路B75は、変換種となる第3の定数Constを、第2のセレクタ73の出力を用いて一方向関数によって変換する。
【0009】
LSI70は、変換種となる第2の一方向関数回路B75の出力を、第1の入力IN1を用いて一方向関数によって変換し、変換鍵CK又はテスト用変換鍵CKtstを生成する第1の一方向関数回路A32と、第1のセレクタ64の出力を、第1の一方向関数回路A32の出力を鍵として用いて復号化する第1の復号回路X33と、第1の入力IN1を、第1の復号回路X33の出力を鍵として用いて復号化する第2の復号回路Y34とを備えている。
【0010】
LSI70には、第2のセレクタ73の出力を検証する検証回路65が設けられている。検証回路65は、定数IDfuseに対する冗長演算の結果に相当する定数CRCfuseがヒューズ実装された定数記憶部66と、第2のセレクタ73の出力に対して上述の冗長演算を行い、その結果と定数記憶部66に記憶された定数CRCfuseとを比較する比較回路67とを備えている。
【0011】
まず、LSI70の検査時における動作について説明する。この場合、テスト信号TESTは“1”に設定する。このとき、第1のセレクタ64はテスト信号TESTとして“1”を受けて、入力IN3すなわち第3の被暗号化鍵EMKtst(CKtst)を選択出力する。また第2のセレクタ73は、テスト信号TESTとして“1”を受けて、第1の定数記憶部72に記憶された第2の定数IDtstを選択出力する。
【0012】
第2の一方向関数回路B75は、第2の定数記憶部74に記憶された第3の定数Constを、第2のセレクタ73の出力すなわち第2の定数IDtstを用いて一方向関数によって変換する。すなわち、種生成部71から、変換種としてテスト用変換種IDtst1が出力される。
【0013】
そして、第1の一方向関数回路A32は、種生成部71から出力されたテスト用変換種IDtst1を、第1の入力IN1すなわち第1の被暗号化鍵EDK(MK)を用いて、テスト用変換鍵CKtstの生成に用いたものに相当する一方向関数によって変換する。これにより、一方向関数回路A32から、テスト用変換鍵CKtstが生成出力される。
【0014】
第1の復号回路X33は、第1のセレクタ64の出力すなわち第3の被暗号化鍵EMKtst(CKtst)を、第1の一方向関数回路A32の出力すなわちテスト用変換鍵CKtstを鍵として用いて復号化する。これにより、第1の復号回路X33から、テスト用内部鍵MKtstが生成出力される。第2の復号回路Y34は、第1の入力IN1すなわち第1の被暗号化鍵EDK(MK)を、第1の復号回路X33の出力すなわちテスト用内部鍵MKtstを鍵として用いて復号化する。これにより、第2の復号回路Y34から、テスト用最終鍵DKtstが生成される。
【0015】
次に、LSI70の通常時における動作について説明する。この場合、テスト信号TESTは“0”に設定する。このとき、第1のセレクタ64はテスト信号TESTとして“0”を受けて、入力IN2すなわち第2の被暗号化鍵EMK(CK)を選択出力する。また第2のセレクタ73は、テスト信号TESTとして“0”を受けて、第1の定数記憶部72に記憶された第1の定数IDfuseを選択出力する。
【0016】
第2の一方向関数回路B75は、第2の定数記憶部74に記憶された第3の定数Constを、第2のセレクタ73の出力すなわち第1の定数IDfuseを用いて一方向関数によって変換する。これにより、種生成部71から、変換種IDfuse1が出力される。
【0017】
そして、第1の一方向関数回路A32は、種生成部71から出力された変換種IDfuse1を、第1の被暗号化鍵EDK(MK)を用いて、変換鍵CKの生成に用いたものに相当する一方向関数によって変換する。これにより、第1の一方向関数回路A32から、変換鍵CKが生成出力される。
【0018】
第1の復号回路X33は、第1のセレクタ64の出力すなわち第2の被暗号化鍵EMK(CK)を、第1の一方向関数回路A32の出力すなわち変換鍵CKを鍵として用いて復号化する。これにより、第1の復号回路X33から、内部鍵MKが生成出力される。第2の復号回路Y34は、第1の入力IN1すなわち第1の被暗号化鍵EDK(MK)を、第1の復号回路X33の出力すなわち内部鍵MKを鍵として用いて復号化する。これにより、第2の復号回路Y34から、最終鍵DKが生成される。
【0019】
このとき、第2のセレクタ73の出力は、検証回路65内の比較回路67にも入力される。比較回路67によって、第2のセレクタ73の出力に対する冗長演算の結果と、定数記憶部66にヒューズ実装されたCRCfuseとが同一であるか否かがチェックされる。これにより、種生成部71に記憶された第2の定数IDfuseの正当性を検証することができる。
【特許文献1】特開2003−101527号公報
【発明の開示】
【発明が解決しようとする課題】
【0020】
上記従来の鍵実装システムにあっては、不正に流出した端末装置、システムLSIあるいは記憶部から、その端末装置、システムLSIあるいは記憶部を製造した製造者等を特定することができないという事情があった。また、特定の機密情報が流出してしまった場合に、その特定の機密情報をコピーすることにより、通常動作が可能な端末装置あるいはシステムLSIが大量に製造できてしまい、著作権を十分に保護することができないという事情があった。
【0021】
また、上記従来の鍵実装システムにあっては、機器1台毎に違うIDfuseをもとに機密情報を保護するか、ある任意の固定値を使用するかを機密情報に応じて選択することができなかった。このため柔軟な実装を行うことができなかった。
【0022】
本発明は、不正に流出した端末装置、システムLSIあるいは記憶部から、その端末装置、システムLSIあるいは記憶部を製造した製造者等の特定を可能として機密情報の厳格な管理を行うことができる機密情報実装システム及びLSIを提供することを目的とする。
【課題を解決するための手段】
【0023】
本発明の機密情報実装システムは、最終機密情報を内部機密情報により暗号化した第1の被暗号化機密情報及び前記内部機密情報を変換機密情報により暗号化した第2の被暗号化機密情報を記憶する記憶部と、アドレス情報を含み変換種の生成元になる第1の定数、テスト用変換種の生成元になる第2の定数及び第3の定数の記憶並びに前記第1の定数、前記第2の定数又は前記第3の定数をテスト信号及びモード設定値に応じて前記変換種又は前記テスト用変換種として出力する種生成部と、前記種生成部から出力される前記変換種又は前記テスト用変換種を、前記記憶部から入力される前記第1の被暗号化機密情報により変換し、前記変換機密情報又はテスト用変換機密情報を生成する一方向関数回路と、前記記憶部から入力される前記第2の被暗号化機密情報を、前記一方向関数回路の出力を鍵として復号化する第1の復号回路と、前記記憶部から入力される前記第1の被暗号化機密情報を、前記第1の復号回路の出力を鍵として復号化する第2の復号回路と、を含むLSIと、を備える。
【0024】
本発明のLSIは、最終機密情報を内部機密情報により暗号化した第1の被暗号化機密情報と、前記内部機密情報を変換機密情報により暗号化した第2の被暗号化機密情報とが入力されるLSIであって、アドレス情報を含み変換種の生成元になる第1の定数、テスト用変換種の生成元になる第2の定数及び第3の定数の記憶並びに前記第1の定数、前記第2の定数又は前記第3の定数をテスト信号及びモード設定値に応じて前記変換種又は前記テスト用変換種として出力する種生成部と、前記種生成部から出力される前記変換種又は前記テスト用変換種を、前記第1の被暗号化機密情報により変換し、前記変換機密情報又はテスト用変換機密情報を生成する一方向関数回路と、前記第2の被暗号化機密情報を、前記一方向関数回路の出力を鍵として復号化する第1の復号回路と、前記第1の被暗号化機密情報を、前記第1の復号回路の出力を鍵として復号化する第2の復号回路と、を備える。
【発明の効果】
【0025】
本発明によれば、暗号化機密情報にアドレス情報を関連付けることにより、不正に流出してしまった端末装置、システムLSIあるいは記憶部から、その端末装置、システムLSIあるいは記憶部を製造した製造者等の特定が可能となり、機密情報の厳格な管理を行うことができる。
【発明を実施するための最良の形態】
【0026】
以下、本発明の実施の形態について、図面を参照して説明する。まず、本発明の実施形態の機密情報実装システムを開発、製造、検査及び実装する各段階において、それぞれの段階で必要となる機密情報を製造者にライセンスする場合のライセンス管理、すなわちライセンススキームについて説明する。なお、この機密情報には、鍵、パラメーター、暗号アルゴリズムあるいは変換テーブル等、機密にする必要があるすべての情報が含まれる。
【0027】
図1は、本実施形態の機密情報実装システムを、端末装置に実装するまでの全工程を説明するためのフローチャートである。また、図2、図3及び図4は、それぞれ本実施形態の機密情報実装システムに内蔵されるシステムLSIの開発工程、ヒューズ(fuse)実装工程及び端末装置等へのセット実装工程を説明するためのフローチャートである。
【0028】
図5は、本実施形態の機密情報実装システムに内蔵されるシステムLSIの開発工程において、機密情報ライセンス会社220から、システムLSIの開発及び製造を担当するLSIベンダーA230にライセンスを提供する場合のライセンススキームを説明するための図である。
【0029】
図6及び図7は、図5に示す機密情報ライセンス会社220において暗号化された機密情報を生成する暗号化機密情報生成機200,210を説明するためのブロック図である。
【0030】
図8は、本実施形態の機密情報実装システムに内蔵されるシステムLSIのfuse実装工程において、機密情報ライセンス会社220から、システムLSIのfuse実装を担当するFuse実装ベンダーC240にライセンスを提供する場合のライセンススキームを説明するための図である。
【0031】
図9は、本実施形態の機密情報実装システムに内蔵されるシステムLSIのセット実装工程において、機密情報ライセンス会社220から、システムLSIのセット実装を担当するセットメーカーB250にライセンスを提供する場合のライセンススキームを説明するための図である。また、図10は、図5、図8及び図9を総合し、端末装置に本実施形態の機密情報実装システムを実装する全工程のライセンススキームを説明するための図である。
【0032】
以下、本発明の実施形態の機密情報実装システムを開発、製造、検査及び実装する各段階におけるライセンススキームを順番に説明する。本実施形態の機密情報実装システムを内蔵する端末装置を販売するとともに、端末装置で再生等されるコンテンツの著作権を管理する主体は、機密情報ライセンス会社220である。
【0033】
まず、機密情報ライセンス会社220は、図1及び図5に示すように、LSIベンダーA230にLSI開発用のライセンスを提供するために、LSI開発用暗号化機密情報を生成する(図1のステップS11)。機密情報ライセンス会社220は、図6に示すように、暗号化機密情報生成機200により、LSIベンダーA230に提供する暗号化機密情報を生成する。すなわち、暗号回路201により、開発用機密情報DKtstを、テスト用内部機密情報MKtstを鍵として用いて暗号化し、第1の開発用被暗号化情報EDKtst(MKtst)を生成する。
【0034】
次に、セレクタ203は第1のモード設定値(mode)により、選択されたテスト用定数IDtstを出力する。ここでLSIメーカー鍵constの値を検査するためにセレクタ203はLSIメーカー鍵constを出力するように第1のモード設定値を設定しても良い。さらにその変換結果を、一方向関数回路204により、暗号回路201によって生成された第1の開発用被暗号化情報EDKtst(MKtst)を鍵として用いて一方向関数によって変換し、テスト用変換鍵CKtstを生成する。また、第1のモード設定値を実装後の変更を禁止した状態でヒューズで実装することで、機密情報の改ざんを防止することができる。
【0035】
その後、暗号回路205により、テスト用内部機密情報MKtstを、一方向関数回路204から出力されるテスト用変換鍵CKtstを鍵として用いて暗号化し、第2の開発用被暗号化情報EMKtst(CKtst)を生成する。また、CRC生成回路202により、テスト用定数IDtstに対して冗長演算(例えばCRC16)を行い、検証テスト用定数CRCtstを生成する。
【0036】
そして、機密情報ライセンス会社220は、図5に示すように、第1と第2の開発用被暗号化機密情報EDKtst(MKtst),EMKtst(CKtst)、テスト用定数IDtst、検証テスト用定数CRCtst、及びLSIメーカー鍵constをLSIベンダーA230に提供する。
【0037】
次に、開発用暗号化機密情報の提供を受けたLSIベンダーA230は、その開発用暗号化機密情報に基づいてLSIの開発及び製造を行う(図1のステップS14)。
【0038】
図2は、LSIベンダーA230で行われるLSIの開発及び製造工程のフローチャートである。LSIベンダーA230では、図2に示すように、設計データへLSIメーカー鍵const、テスト用定数IDtst、検証テスト用定数CRCtst及びaddress変換(mask)の値を実装し(ステップS21)、後述するLSI検査のためのTEST信号をオンする(ステップS22)。
【0039】
そして、第1と第2の開発用被暗号化機密情報EDKtst(MKtst),EMKtst(CKtst)を用いてLSI機能の検証を行い(ステップS23)、レイアウト設計及びマスク発注を行う(ステップS24)。
ここで前記に示したようにLSIメーカー鍵constの値を検査TEST信号をオフにしてLSIメーカー鍵constによって生成された第1と第2の開発用被暗号化機密情報EDKtst(MKtst),EMKtst(CKtst)を用いてLSI機能の検証を行っても良い。
【0040】
次に、第1と第2の開発用被暗号化機密情報EDKtst(MKtst),EMKtst(CKtst)を用いてLSI検査を行い(ステップS25)、さらに機能検査(ステップS26)がOKであればLSIを良品に分類し(ステップS27)、NGならば不良品に分類する(ステップS28)。
【0041】
次に、機密情報ライセンス会社220は、Fuse実装ベンダーC240に提供するIDfuse等の暗号化機密情報を生成するとともに(図1のステップS12)、セットメーカーB250に提供する第1の被暗号化機密情報EDK(MK)/address等の暗号化機密情報を生成する(図1のステップS13)。
【0042】
この場合、機密情報ライセンス会社220では、図7及び図8に示すように、暗号化機密情報を暗号化機密情報生成機210により生成する。すなわち、暗号回路211により、最終機密情報DKを、アドレス(address)に対応した内部機密情報MKを鍵として用いて暗号化し、アドレスに関連付けられた第1の被暗号化機密情報EDK(MK)/addressを生成する。
【0043】
次に、セレクタ213は第1のモード設定値(mode)により、選択されたアドレスに対応した定数IDfuse/addressを出力する。さらにその結果を、一方向関数回路214により、暗号回路211によって生成された第1の被暗号化機密情報EDK(MK)/addressを鍵として用いて一方向関数によって変換し、変換鍵CKを生成する。
【0044】
その後、内部機密情報MKを、一方向関数回路214により生成された変換機密情報CK及びアドレスを鍵として用いて暗号化し、第2の被暗号化機密情報EMK(CK)/addressを生成する。また、CRC生成回路212により、アドレスに対応した定数IDfuse/addressに対して冗長演算(例えばCRC16)を行い、アドレスに対応した検証定数CRCfuse/addressを生成する。更に暗号化機密情報生成機210により第1の被暗号化機密情報EDK(MK)/address及び第2の被暗号化機密情報EMK(CK)/addressと検証定数CRCfuse/addressをaddress変換(mask)により変換された変換アドレスaddress’を出力しこれに基づきaddressに対応したaddress’に関連付けられた第1の被暗号化機密情報EDK(MK)/address’及び第2の被暗号化機密情報EMK(CK)/address’と検証定数CRCfuse/address’を生成する。更にこれらの情報をaddress’の数字の順に並び変えてデータベースを生成する。
【0045】
更に暗号化機密情報生成機210は第1のモード設定値(mode)によりセレクタ213がLSIメーカー鍵constを選択するように切り替え上記と同様の処理を行ない、第3の被暗号化機密情報EDK2(MK2)/const及び第4の被暗号化機密情報EMK2(CK2)/constを生成する。
【0046】
そして、機密情報ライセンス会社220は、図8に示すように、定数IDfuse/address、検証用定数CRCfuse/addressをFuse実装ベンダーC240に提供する。実装用暗号化機密情報の提供を受けたFuse実装ベンダーC240は、それらの実装用暗号化機密情報に基づいてLSIの検査及びヒューズ実装を行う(図1のステップS15)。
【0047】
図3は、Fuse実装ベンダーC240で行われるヒューズ実装工程のフローチャートである。Fuse実装ベンダーC240は、機密情報ライセンス会社220から提供された定数IDfuse/addressを読み取り(ステップS31)、Fuse書き込み装置をオンにする(ステップS32)。
【0048】
そして、LSIに定数IDfuse/addressを書き込み(ステップS33)、TEST信号をオフにして(ステップS35)、Fuse部及びCRC検査を行う(ステップS36)。
【0049】
CRC検査の結果、定数IDfuse/addressが正常に書き込まれていれば(OK)、良品として分類し(ステップS37)、定数IDfuse/addressが正常に書き込まれていなければ(NG)、不良品として分類する(ステップS38)。
【0050】
次に、良品に対して、TEST信号をオンにして(ステップS39)、LSIに設けられた復号回路及び一方向関数回路等の機能検査を行う(ステップS40)。機能検査が正常であれば(OK)、良品として分類し(ステップS41)、機能検査が正常でなければ(NG)、不良品として分類する(ステップS42)。この機能検査段階において平行してaddress’tstを読み取り乱数性チェック装置(ステップS43)にて各実装されたaddress’tstに乱数性及び固有性が維持されているかをチェックする(ステップS44)。チェック結果で各実装されたaddress’tstに乱数性及び固有性に異状が認められた時(同じ値が読み取られた場合など)はFuse実装工程が異状であると判断して停止する(ステップS45)。
【0051】
Fuse実装ベンダーC240で、機能検査が正常であり良品として分類されたLSIは、セットメーカーB250に出荷され(図1のステップS16)、セットメーカーB250において、セット開発が行われる(ステップS17)。
【0052】
一方、機密情報ライセンス会社220では、前述のように、暗号化機密情報生成機210により、address’にソートされた第1の被暗号化機密情報EDK(MK)/address’、第2の被暗号化機密情報EMK(CK)/address’、第3の被暗号化機密情報EDK2(MK2)/const及び第4の被暗号化機密情報EMK2(CK2)/constが生成されており、これらの暗号化機密情報がセットメーカーB250に提供される(図9参照)。
【0053】
暗号化機密情報の提供を受けたセットメーカーB250では、LSIがセットに実装される(図1のステップS18)。セットメーカーB250におけるLSI実装工程は、図4のフローチャートに示される。
【0054】
すなわち、セットメーカーB250では、暗号化機密情報と相関関係を有するアドレス(Address’)を読み取り(ステップS51)、Address’値に従って、第1の被暗号化情報EDK(MK)/address’及び第2の被暗号化機密情報EMK(CK)/address’を機密情報ライセンス会社220から提供された暗号化機密情報のデータベースから検索し選択する、また同時に必要に応じて第3の被暗号化機密情報EDK2(MK2)/const及び第4の被暗号化機密情報EMK2(CK2)/constを選択する(ステップS52)。
【0055】
そして、選択した第1の被暗号化機密情報EDK(MK)/address’、第2の被暗号化機密情報EMK(CK)/address’、第3の被暗号化機密情報EDK2(MK2)/const及び第4の被暗号化機密情報EMK2(CK2)/constをセットに実装し(ステップS53)、LSI内にある第1のモード設定値のモードフラグによりIDfuseを用いるかconstを用いるかにより切り替えて同時に第1の被暗号化機密情報EDK(MK)/address’、第2の被暗号化機密情報EMK(CK)/address’か第3の被暗号化機密情報EDK2(MK2)/const及び第4の被暗号化機密情報EMK2(CK2)/constのどちらかを入力し(ステップS54)、最終的なセットの動作検査を行う(ステップS55)。なおモードフラグはFuse切断又は端子固定を行うことにより固定にしても良い。
【0056】
ここでセットメーカーはテスト信号を固定にすることでaddress’tstを読み出すことが出来ないようにすることでFuse実装ベンダーC240の持つ情報からもLSIを特定することが出来ないようにすることで更に情報を保護することが出来る。
【0057】
また、内部機密情報MK及び最終機密情報DKは、例えば、(YYYY)+(セットメーカー特定ビット)の構成を有し、LSIをセットに実装したセットメーカーが特定できるビットを有する。ただし、内部機密情報MK及び最終機密情報DKは、IDfuse毎に違う値でもかまわない。このように、定数IDfuse/addressは、アドレスに関連付けられたLSI固有のIDであるので、セットメーカーは同じ機密情報を流用することができない。また、内部機密情報MK及び最終機密情報DKには、LSIを実装したセットメーカーを特定できるビットが含まれているので、内部機密情報MK及び最終機密情報DKが流出した場合でも、その管理を強化することができる。
【実施例1】
【0058】
次に、本実施形態の機密情報実装システムの回路及びその動作について、それぞれの工程段階ごとに説明する。
【0059】
図11は、本実施形態の機密情報実装システム120のLSI開発段階における概略構成を説明するための回路図である。LSIベンダーA230におけるLSIを開発する段階では、後述するヒューズ及びアドレスには何も書き込まれていないため、検査はテスト値を用いて実施される。図11に示すように、機密情報実装システム120は、記憶部120aとLSI120bとを備えている。
【0060】
記憶部120aは、テスト用最終機密情報DKtstを、テスト用内部機密情報MKtstを用いて暗号化して得た第1のテスト用被暗号化機密情報EDKtst(MKtst)と、テスト用内部機密情報MKtstを、一方向関数による変換によって得たテスト用変換機密情報CKtstを用いて暗号化して得た第2のテスト用被暗号化機密情報EMKtst(CKtst)とを記憶している。テスト用変換機密情報CKtstは、変換機密情報CKの生成に用いられたものと同等の一方向関数によって変換されたものである。LSI120bには、第1の定数記憶部132と、第1のセレクタ133と、第2の定数記憶部134と、第1のモード設定値と第2のセレクタ135とを備えた種生成部131が設けられている。
【0061】
第1の定数記憶部132は、テスト用変換種IDtst1の元になる第2の定数IDtstを記憶している。なお、第1の定数記憶部132には、LSIの開発が完了した後のヒューズ実装段階で、変換種IDfuse1の元になる第1の定数IDfuse及びアドレスが書き込まれる領域が存在する。LSI開発段階ではこの領域のデータは使用しないので、図では第1の定数として“xxx”,“yyy”が記載されているが、商品として使用しない値であればどんな値でもかまわない。第1の定数記憶部132は、レーザトリミング等、電気ヒューズ又はその他不揮発性デバイス等によりヒューズ切断又は外部からの定数の書き込みにより、第2の定数IDtst、第1の定数IDfuse及びアドレスが実装可能に構成されている。
【0062】
第1のセレクタ133は、第1及び第2の定数“xxx”,“yyy”,IDtstのいずれかを、テスト信号TESTに応じて選択出力する。第2の定数記憶部134は、LSIメーカー鍵となる第3の定数Constを記憶している。第3のセレクタ136は第3の定数Constか第2の定数IDtstのいずれかを、テスト信号TESTに応じて選択出力する。更に第2のセレクタ135は、前記第1のセレクタ133、第3のセレクタ136により選択された2つの値を第1のモード設定値により選択し変換種を出力する。
【0063】
LSI120bは、変換種となる第2のセレクタ135の出力を、第1の入力IN1すなわち第1のテスト用被暗号化機密情報EDKtst(MKtst)を用いて一方向関数によって変換し、テスト用変換機密情報CKtstを生成する第1の一方向関数回路A32と、第2の入力IN2すなわち第2のテスト用被暗号化機密情報EMKtst(CKtst)を、第1の一方向関数回路A32の出力を鍵として用いて復号化する第1の復号回路X33と、第1の入力IN1を、第1の復号回路X33の出力を鍵として用いて復号化する第2の復号回路Y34とを備えている。
【0064】
さらにLSI120bには、第1のセレクタ133の出力を検証する検証回路165が設けられている。検証回路165は、テスト用定数IDtstに対する冗長演算の結果に相当する定数CRCtstが記憶された第3の定数記憶部166と、第1のセレクタ133の出力に対して上述の冗長演算を行い、その結果と第3の定数記憶部166に記憶された定数CRCtstとを比較する比較回路168とを備えている。
【0065】
更にLSI120bでは、第1の定数のうちアドレスを演算回路B153に入力する。そして第4のセレクタ154は155に示す第6の定数aaa又は152に示す第7の定数aaatstをテスト信号TESTに応じて選択出力する。この選択出力も演算回路B153に入力し前記演算回路B153に入力したアドレスを変換して出力する変換回路151を備えている。
【0066】
ここで第6の定数aaaは外部から入力し設定する手段を講じる場合もある。この場合は図14に示すように第6の定数aaaはLSIベンダーA230には渡されず、セットメーカB250に提供される。そして図15の変換回路151に示すようにLSI実装段階では何もかかれず任意の初期値(nodata)が入っている。
【0067】
なお、LSI開発時は、第1の定数記憶部132にはヒューズ実装段階又は外部からの定数書き込み段階で使用する第1の定数IDfuse及びアドレスが書き込まれていないことに対応して、第3の定数記憶部166にも第1の定数IDfuse及びアドレスに対応するデータが書き込まれていないので、図ではzzzと表示した。zzzもxxx,yyyと同様に、商品で使用しない値であればどんな値でもかまわない。なお第1の定数、第2の定数、第3の定数、第1の定数に対する冗長演算の結果に相当する第4の定数、第2の定数に対する冗長演算の結果に相当する第5の定数、第6の定数、第7の定数はLSI外部には読み出せない構成とし、機密上の秘匿性を向上させる。第4の定数、第5の定数を出力させて検証するので、実装段階で第1の定数、第2の定数の正当性を検証することができる。
【0068】
次に、LSI120bの検査時における動作について説明する。この場合、テスト信号TESTは“1”に設定する。このとき、第1のセレクタ133は、テスト信号TESTとして“1”を受けて、第1の定数記憶部132に記憶された第2のテスト用定数IDtstを選択出力する。
【0069】
同様に第2のセレクタ135もテスト信号TESTとして“1”を受けて第1の定数記憶部132に記憶されたIDtstを選択する。すなわち、第1のモード設定値の値に関わらず種生成部131から、変換種としてIDtstが出力される。
【0070】
そして、第1の一方向関数回路A32は、種生成部131から出力されたテスト用変換種IDtst1を、第1の入力IN1すなわち第1のテスト用被暗号化機密情報EDKtst(MKtst)を用いて、テスト用変換機密情報CKtstの生成に用いたものに相当する一方向関数によって変換する。これにより、第1の一方向関数回路A32から、テスト用変換機密情報CKtstが生成出力される。
【0071】
第1の復号回路X33は、第2の入力IN2すなわち第2の被暗号化機密情報EMKtst(CKtst)を、第1の一方向関数回路A32の出力すなわちテスト用変換機密情報CKtstを鍵として用いて復号化する。これにより、第1の復号回路X33から、テスト用内部機密情報MKtstが生成出力される。
【0072】
第2の復号回路Y34は、第1の入力IN1すなわち第1のテスト用被暗号化機密情報EDKtst(MKtst)を、第1の復号回路X33の出力すなわちテスト用内部機密情報MKtstを鍵として用いて復号化する。これにより、第2の復号回路Y34から、テスト用最終機密情報DKtstが生成される。
【0073】
一方、検証回路165内の第5のセレクタ167は、テスト信号TESTとして“1”を受けて、第3の定数記憶部166に記憶されたテスト用検証定数CRCtstを選択出力する。
【0074】
またこのとき、第1のセレクタ133の出力は、検証回路165内の比較回路168にも入力される。比較回路168によって、第1のセレクタ133の出力に対する冗長演算の結果と、第5のセレクタ167の出力である第3の定数記憶部166に記憶されたCRCtstとが同一であるか否かがチェックされる。そして、比較回路168において不一致が検出された場合は、第2の復号回路34の動作を停止する。これにより、種生成部131に記憶された第2のテスト用定数IDtstの正当性を検証することができる。また、LSI開発段階ではダミーのパラメーターで検査することにより、LSI開発者が暗号化機密情報(パラメーター)を取得できないので、暗号化機密情報の秘匿性を向上することができる。さらに、テスト値では正規の製品は動作しないので、たとえ暗号化機密情報が不正に流出した場合でも、コンテンツの著作権を守ることができる。なお、LSI120bの通常時にはテスト信号TESTが“0”に設定されるが、LSI開発段階では通常動作を行わないのでその説明は省略する。
【0075】
またLSI検査段階ではテスト信号TESTは“0”に設定し、第1のモード設定値を第3の定数Constが選択されるようにして、第3の被暗号化機密情報EDKtst(MKtst)/const及び第4の被暗号化機密情報EMKtst(CKtst)/constを用いて検査を行ってもよい。
【0076】
図12は、本実施形態の機密情報実装システム120のヒューズ実装段階における概略構成を説明するための回路図である。この段階において、ヒューズ実装ベンダーC230は、機密情報ライセンス会社220からライセンスを受けた機密情報であるIDfuseを任意のLSIに個別に実装する。この段階での機能検査もテスト信号TESTを“1”にしてテスト値を使用して行われ、ヒューズの書き込みの正当性はテスト信号を“0”にしてCRC値との比較検査で実施される。
【0077】
図12に示すように、LSI120bに対するヒューズ書き込みは、機密情報実装システム120の外部に設けられたIdfuse実装装置300から行われる。すなわち、種生成部131の第1の定数記憶部132にIDfuse/addressが書き込まれ、検証回路165の定数記憶部166にCRCfuseが書き込まれる。
【0078】
ヒューズの書き込みの正当性は、テスト信号TESTを“0”に設定して行われる。このとき、第1のセレクタ133は、テスト信号TESTとして“0”を受けて、第1の定数記憶部132に記憶された第1の定数IDfuse/addressを選択出力する。また第5のセレクタ167は、テスト信号TESTとして“0”を受けて、第3の定数記憶部166に記憶された検証定数CRCfuse/addressを選択出力する。
【0079】
第1のセレクタ133の出力は、検証回路165内の比較回路168に入力される。比較回路168によって、第1のセレクタ133の出力に対する冗長演算の結果と、第3の定数記憶部166にヒューズ実装されたCRCfuse/addressとが同一であるか否かがチェックされる。そして、比較回路168において不一致が検出された場合は、第2の復号回路34の動作を停止する。これにより、種生成部131に記憶された第1の定数IDfuse/addressの正当性を検証することができる。
【0080】
一方、LSI120bの機能検査は、図11に示したLSI開発段階と同様に、テスト信号TESTを“1”に設定し、第2のテスト用定数IDtst及びテスト用検証定数CRCtstにより行われる。また同時に第1の定数のうちaddress情報はアドレス変換回路151の演算B153に入力される。ここでaddress情報はテスト信号TESTを“1”にすることで第4のセレクタ154で選択出力される第7の定数aaatstにより変換されて変換アドレス情報2address’tst(第2の変換アドレス情報)をLSI120bの外部に出力する。この出力されたaddress’tstは乱数性チェック装置120Cに入力されデータが蓄積される。LSI毎に蓄積されるaddress’tstに乱数性又は固有性が維持されないものが判定されたときにはヒューズ実装が中断される(図3参照)。
【0081】
図13は、本実施形態の機密情報実装システム120において、セットへの機密情報実装段階における概略構成を説明するための回路図である。セットメーカーB250では、機密情報ライセンス会社220からライセンスを受けた暗号化機密情報(パラメーター)を、LSI120bから出力される変換アドレス情報1address’(第1の変換アドレス情報)に基づき、対応した暗号化機密情報(パラメーター)を記憶部120aに実装する。
【0082】
セットへの機密情報実装段階においてはテスト信号TESTを“0”に設定される。図13に示すように、暗号化機密情報実装装置301が機密情報実装システム120の外部に設けられ、一方、LSI120bの内部には、種生成部131の第1の定数記憶部132における第1の定数IDfuseと相関関係を有するアドレスを、テスト信号TESTを“0”にすることで第4のセレクタ154で選択出力される第6の定数aaaにより変換されたaddress’をLSI120bの外部に出力する。この出力されたaddress’に基づき暗号化機密情報実装装置301は暗号化機密情報(パラメーター)を記憶部120aに実装していく。
【0083】
ここで第6の定数aaaは外部から入力し設定する手段を講じる場合もある。この場合は図16に示すように第6の定数aaaは暗号化機密情報実装装置301からLSI120bの変換回路151に設定される。
【0084】
暗号化機密情報実装装置301は、アドレス変換回路151から第1の定数IDfuseと相関関係を有する変換アドレス情報1address’を読み出し、暗号化機密情報実装装置301内のデータベースにおいて、指定された変換アドレス情報1address’の順に配置された暗号化機密情報を、機密情報実装システム120の記憶部120aに書き込む。図13では、記憶部120aに第1の被暗号化機密情報EDK(MK)/address’、第2の被暗号化機密情報EMK(CK))/address’、第3の被暗号化機密情報EDK2(MK2)/const及び第4の被暗号化機密情報EMK2(CK2)/constが記憶された状態を示す。
【0085】
次に、セット動作の検査(通常時動作)が行われる。このとき、第1のセレクタ133は、テスト信号TESTとして“0”を受けて、第1の定数記憶部132に記憶された第1の定数IDfuse/addressを選択出力する。
【0086】
そして第1の被暗号化機密情報EDK(MK)/address’と、第2の被暗号化機密情報EMK(CK)/address’の情報を使用する場合には第1のモード設定値を“1”に設定する。これにより第2のセレクタ135は第1のセレクタ133から出力されたIDfuseが選択出力されこれにより、種生成部131から、変換種IDfuse1が出力される。
【0087】
そして、第1の一方向関数回路A32は、種生成部131から出力された変換種IDfuse1を、第1の被暗号化機密情報EDK(MK)/address’を用いて、変換機密情報CKの生成に用いたものに相当する一方向関数によって変換する。これにより、第1の一方向関数回路A32から、変換機密情報CKが生成出力される。
【0088】
第1の復号回路X33は、第2の被暗号化機密情報EMK(CK)/address’を、第1の一方向関数回路A32の出力すなわち変換機密情報CKを鍵として用いて復号化する。これにより、第1の復号回路X33から、内部機密情報MKが生成出力される。第2の復号回路Y34は、第1の入力IN1すなわち第1の被暗号化機密情報EDK(MK)/address’を、第1の復号回路X33の出力すなわち内部機密情報MKを鍵として用いて復号化する。これにより、第2の復号回路Y34から、最終機密情報DKが生成される。
【0089】
次に第3の被暗号化機密情報EDK2(MK2)/Constと、第4の被暗号化機密情報EMK2(CK2)/Constの情報を使用する場合には第1のモード設定値を“0”に設定する。これにより第2のセレクタ135は第3のセレクタ136からテスト信号TESTとして“0”により選択されたConstが選択出力され、種生成部131から、変換種Const1が出力される。
【0090】
そして、第1の一方向関数回路A32は、種生成部131から出力された変換種Const1を、第3の被暗号化機密情報EDK2(MK2)/Constを用いて、変換機密情報CK2の生成に用いたものに相当する一方向関数によって変換する。これにより、第1の一方向関数回路A32から、変換機密情報CK2が生成出力される。
【0091】
第1の復号回路X33は、第4の被暗号化機密情報EMK2(CK2)/Constを、第1の一方向関数回路A32の出力すなわち変換機密情報CK2を鍵として用いて復号化する。これにより、第1の復号回路X33から、内部機密情報MK2が生成出力される。第2の復号回路Y34は、第1の入力IN1すなわち第3の被暗号化機密情報EDK2(MK2)/Constを、第1の復号回路X33の出力すなわち内部機密情報MK2を鍵として用いて復号化する。これにより、第2の復号回路Y34から、最終機密情報DK2が生成される。
【0092】
またこのとき、第5のセレクタ167は、テスト信号TESTとして“0”を受けて、第3の定数記憶部166に記憶された検証用定数CRCfuse/addressを選択出力する。第5のセレクタ167の出力は、比較回路168に入力される。第1のセレクタ133の出力も、検証回路165内の比較回路168に入力される。比較回路168によって比較検査を行い、結果が不一致の場合は、第2の復号回路34の動作を停止する。これにより、種生成部131に記憶された第1の定数IDfuse/addressの正当性を検証することができる。
【0093】
このように本実施形態の機密情報実装システムによれば、LSIに固有な識別情報であるIDfuseに対応したアドレスを外部出力する場合、アドレス自体をそのまま出力するのではなく、アドレス変換回路151の演算B153により変換(排他論理等)した変換アドレス情報(address’)として出力する。その際、検査段階では検査用の定数aaatst(第7の定数)を入力とし、実装段階では定数aaa(第6の定数)を入力とする切り替えを行う。更に、実装段階において、定数aaaをnodata(任意データ)として外部から入力する仕組みをとり、nodataをセットメーカーに分散させることで耐タンパ性を向上させることができる。
【0094】
また、本実施形態の種生成部131では、モード切替部分(mode137、セレクタ135,136)において、所定数のLSIに共通の第3の定数Constと、各LSIに固有のIDfuseとを切り替えることができるため、機密情報の実装に対する柔軟性を向上させることができる。
【0095】
例えば、記憶部120aへ機密情報を実装記憶する場合において、定数Constで記憶させる場合は、機密性はいくぶん低下するが書き込み(実装時間)を短くすることができる。一方、各LSIに固有のIDfuseで記憶させる場合は、書き込み時間は長くなるが機密性を高めることができる。
【0096】
このため、記憶部120aに記憶させるデータ量に応じて定数ConstとIDfuseを切り替える。すなわち、データ量が小さい場合(鍵等はデータ量が小さく、かつ機密性の確保も必要)は、機密性を優先するため、機密情報をIDfuseに対応付けて記憶させ(EDK(MK)/address’171等)、一方、データ量が大きい場合(プログラム等はデータ量が大きく、かつそれほど機密性を確保する必要はない)は、実装時間を優先するため定数Constで記憶させ(EDK2(MK2)/const173等)、機密情報の実装に対する柔軟性を向上させることができる。
【実施例2】
【0097】
図16では更に、本実施形態の機密情報実装システム120において、LSI120bに、第2の復号回路Y34から出力される最終機密情報DKを入力とする機密処理回路141a又は機密処理回路141bを設けた構成を示す。
【0098】
ここで前記実施例と同様に第1のモード設定値の値によりセレクタ135によってIDfuseが選択出力され、このときに第1の被暗号化機密情報EDK(MK)/address’と第2の被暗号化機密情報EMK(CK)/address’を入力することで最終機密情報DKを得る。この最終機密情報は機密処理回路141aに用いられ、次に第1のモード設定値の値によりセレクタ135によってconstが選択出力され、このときに第3の被暗号化機密情報EDK(MK)/constと第4の被暗号化機密情報EMK(CK)/constを入力することで最終機密情報DK2を得る。この最終機密情報DK2は機密処理回路141aとは別の機密処理回路141bに用いるようにする。
【0099】
本実施形態によれば、最終機密情報DKとDK2を別の用途の暗号処理に用いることが出来る。これにより被暗号化機密情報の実装を柔軟に実現することが出来る。
【実施例3】
【0100】
図17は、本実施形態の機密情報実装システム120において、記憶部120aに、第2の復号回路Y34から出力される最終機密情報DKとDK2とは別に、第5の被暗号化機密情報と第6の被暗号化機密情報により復号回路Y34から出力される最終機密情報DK3を再度暗号化して第7の被暗号化機密情報を生成する方法を設けた構成を示す。
【0101】
図17において実施例1と同様にIDfuse実装、LSI検査等は実施されるので本実施例では割愛し、次に、セット動作の検査(通常時動作)以降について説明する。
セット動作の検査においては第1のセレクタ133は、テスト信号TESTとして“0”を受けて、第1の定数記憶部132に記憶された第1の定数IDfuse/addressを選択出力する。
【0102】
そして第1の被暗号化機密情報EDK(MK)/address’と、第2の被暗号化機密情報EMK(CK)/address’の情報を使用する場合には第1のモード設定値を“1”に設定する。これにより第2のセレクタ135は第1のセレクタ133から出力されたIDfuseが選択出力されこれにより、種生成部131から、変換種IDfuse1が出力される。
【0103】
そして、第1の一方向関数回路A32は、種生成部131から出力された変換種IDfuse1を、第1の被暗号化機密情報EDK(MK)/address’を用いて、変換機密情報CKの生成に用いたものに相当する一方向関数によって変換する。これにより、第1の一方向関数回路A32から、変換機密情報CKが生成出力される。
【0104】
第1の復号回路X33は、第2の被暗号化機密情報EMK(CK)/address’を、第1の一方向関数回路A32の出力すなわち変換機密情報CKを鍵として用いて復号化する。これにより、第1の復号回路X33から、内部機密情報MKが生成出力される。第2の復号回路Y34は、第1の入力IN1すなわち第1の被暗号化機密情報EDK(MK)/address’を、第1の復号回路X33の出力すなわち内部機密情報MKを鍵として用いて復号化する。これにより、第2の復号回路Y34から、最終機密情報DKが生成される。
【0105】
次に第3の被暗号化機密情報EDK2(MK2)/Constと、第4の被暗号化機密情報EMK2(CK2)/Constの情報を使用する場合には第1のモード設定値を“0”に設定する。これにより第2のセレクタ135は第3のセレクタ136からテスト信号TESTとして“0”により選択されたConstが選択出力され、種生成部131から、変換種Const1が出力される。
【0106】
そして、第1の一方向関数回路A32は、種生成部131から出力された変換種Const1を、第3の被暗号化機密情報EDK2(MK2)/Constを用いて、変換機密情報CK2の生成に用いたものに相当する一方向関数によって変換する。これにより、第1の一方向関数回路A32から、変換機密情報CK2が生成出力される。
【0107】
第1の復号回路X33は、第4の被暗号化機密情報EMK2(CK2)/Constを、第1の一方向関数回路A32の出力すなわち変換機密情報CK2を鍵として用いて復号化する。これにより、第1の復号回路X33から、内部機密情報MK2が生成出力される。第2の復号回路Y34は、第1の入力IN1すなわち第3の被暗号化機密情報EDK2(MK2)/Constを、第1の復号回路X33の出力すなわち内部機密情報MK2を鍵として用いて復号化する。これにより、第2の復号回路Y34から、最終機密情報DK2が生成される。
【0108】
ここで最終機密情報DK及び最終機密情報DK2は最終機密情報として機密処理回路A141a又は機密処理回路B141bにセットされる。
【0109】
またこのとき、第5のセレクタ167は、テスト信号TESTとして“0”を受けて、第3の定数記憶部166に記憶された検証用定数CRCfuse/addressを選択出力する。第5のセレクタ167の出力は、比較回路168に入力される。第1のセレクタ133の出力も、検証回路165内の比較回路168に入力される。比較回路168によって比較検査を行い、結果が不一致の場合は、第2の復号回路34の動作を停止する。これにより、種生成部131に記憶された第1の定数IDfuse/addressの正当性を検証することができる。
【0110】
次に第5の被暗号化機密情報EDK3(MK3)/Constと、第6の被暗号化機密情報EMK3(CK3))/Constの情報を使用する場合には第1のモード設定値を“0”に設定する。これにより第2のセレクタ135は第3のセレクタ136からテスト信号TESTとして“0”により選択されたConstが選択出力され、種生成部131から、変換種Const1が出力される。
【0111】
そして、第1の一方向関数回路A32は、種生成部131から出力された変換種Const1を、第5の被暗号化機密情報EDK3(MK3)/Constを用いて、変換機密情報CK3の生成に用いたものに相当する一方向関数によって変換する。これにより、第1の一方向関数回路A32から、変換機密情報CK3が生成出力される。
【0112】
第1の復号回路X33は、第6の被暗号化機密情報EMK3(CK3)/Constを、第1の一方向関数回路A32の出力すなわち変換機密情報CK3を鍵として用いて復号化する。これにより、第1の復号回路X33から、内部機密情報MK3が生成出力される。第2の復号回路Y34は、第1の入力IN1すなわち第3の被暗号化機密情報EDK3(MK3)/Constを、第1の復号回路X33の出力すなわち内部機密情報MK3を鍵として用いて復号化する。これにより、第2の復号回路Y34から、最終機密情報DK3が生成される。
【0113】
次に第1のモード設定値137とは独立の第2のモード設定値39を“1”に設定する。これにより第1の暗号回路XX35の動作が許可される。そして最終機密情報DK3を第1の暗号回路XX35に入力し第1の定数IDfuseを鍵として暗号化を行う。その結果得られた第7の被暗号化機密情報EDK3(IDfuse)をLSI120bの外部に出力し、記憶部120aの記憶部177に書込みを行う。
【0114】
書込みが行なわれた後は第5の被暗号化機密情報EDK3(MK3)/Constと、第6の被暗号化機密情報EMK3(CK3)/Constは消去されても良い。この段階でセット上での実装が完了し最終動作の検査(通常時動作)として第7の被暗号化機密情報EDK3(IDfuse)をLSI120bに入力する。ここで第7の被暗号化機密情報EDK3(IDfuse)は第3の復号回路YY36に入力され第1の定数IDfuseを鍵として復号化され、最終機密情報DK3を出力する。ここで最終機密情報DK3は最終機密情報として機密処理回路C141cにセットされ、通常動作の検査が実施される。
【0115】
本実施形態によれば、最終機密情報DK3をIDfuseで再暗号化して出力することも出来るようにすることで、各被暗号化機密情報の実装に柔軟性の向上を図ることができる。
【0116】
また、本実施形態では、記憶部120aへ機密情報を追加する場合に、実装処理の効率化の観点から、取り敢えず定数constで機密情報を実装し、その後、LSIに実装されているIDfuseを使用して暗号化し、暗号化機密情報EDK3(IDfuse)177を実装する。その後、定数constで実装した機密情報EDK3(MK3)/const175、EMK3(CK3)/const176を記憶部120aから削除する。
【0117】
これにより柔軟に機密情報を実装することができる。その理由は、最初から唯一鍵で実装できれば良いが、その場合は追加機密情報に割り当てる鍵を選択できるように鍵管理が必要となる。そのような管理は困難であるから、取り敢えず定数constで実装しておき、LSIに実装されている唯一鍵IDfuseで暗号化したうえで、記憶部120aに書き込むことにより、機密情報の実装の柔軟性を向上させることができる。
【実施例4】
【0118】
図20は、本実施形態の機密情報実装システム120において、LSI120bに、図18の鍵実装システム7と同様に第1の定数IDfuseを鍵として第3の定数Constを入力として変換種の生成に用いた第2の一方向関数回路B75を設けた構成を示す。
また図21、図22は本実施例における,暗号化された機密情報を生成する暗号化機密情報生成機200、210を説明するためのブロック図である。
【0119】
図21では、暗号化機密情報生成機200により、LSIベンダーA230に提供する暗号化機密情報を生成する。すなわち、暗号回路201により、開発用機密情報DKtstを、テスト用内部機密情報MKtstを鍵として用いて暗号化し、第1の開発用被暗号化情報EDKtst(MKtst)を生成する。
【0120】
次に、セレクタ203は第1のモード設定値により、選択されたテスト用定数IDtstを鍵としてLSIメーカー鍵constを入力として変換種を出力する。ここでLSIメーカー鍵constの値を検査するためにセレクタ203はLSIメーカー鍵constを出力するように第1のモード設定値を設定しても良い。さらにその変換結果を、一方向関数回路204により、暗号回路201によって生成された第1の開発用被暗号化情報EDKtst(MKtst)を鍵として用いて一方向関数によって変換し、テスト用変換鍵CKtstを生成する。
【0121】
その後、暗号回路205により、テスト用内部機密情報MKtstを、一方向関数回路204から出力されるテスト用変換鍵CKtstを鍵として用いて暗号化し、第2の開発用被暗号化情報EMKtst(CKtst)を生成する。また、CRC生成回路202により、テスト用定数IDtstに対して冗長演算(例えばCRC16)を行い、検証テスト用定数CRCtstを生成する。
【0122】
図22では、暗号回路211により、最終機密情報DKを、アドレス(address)に対応した内部機密情報MKを鍵として用いて暗号化し、アドレスに関連付けられた第1の被暗号化機密情報EDK(MK)/addressを生成する。
【0123】
次に、セレクタ213は第1のモード設定値により、選択されたアドレスに対応した定数IDfuse/addressを鍵としてLSIメーカー鍵constを入力として変換種を出力する。さらにその結果を、一方向関数回路214により、暗号回路211によって生成された第1の被暗号化機密情報EDK(MK)/addressを鍵として用いて一方向関数によって変換し、変換鍵CKを生成する。
【0124】
その後、内部機密情報MKを、一方向関数回路214により生成された変換機密情報CK及びアドレスを鍵として用いて暗号化し、第2の被暗号化機密情報EMK(CK)/addressを生成する。また、CRC生成回路212により、アドレスに対応した定数IDfuse/addressに対して冗長演算(例えばCRC16)を行い、アドレスに対応した検証定数CRCfuse/addressを生成する。更に暗号化機密情報生成機210により第1の被暗号化機密情報EDK(MK)/address及び第2の被暗号化機密情報EMK(CK)/addressと検証定数CRCfuse/addressをaddress変換(mask)により変換された変換アドレスaddress’を出力しこれに基づきaddressに対応したaddress’に関連付けられた第1の被暗号化機密情報EDK(MK)/address’及び第2の被暗号化機密情報EMK(CK)/address’と検証定数CRCfuse/address’を生成する。更にこれらの情報をaddress’の数字の順に並び変えてデータベースを生成する。
【0125】
更に暗号化機密情報生成機210は第1のモード設定値によりセレクタ213がLSIメーカー鍵constを選択するように切り替え上記と同様の処理を行ない、第3の被暗号化機密情報EDK2(MK2)/const及び第4の被暗号化機密情報EMK2(CK2)/constを生成する。
【0126】
これらで生成された各情報を実施例1と同様にLSIメーカー、fuse実装ベンダー、セットメーカーに提供し各々実装を行う。ここでセットメーカーでの検査段階以外は実施例1と同じなので割愛し、図20を基にするセットメーカーでの検査段階(通常時動作)での動作について以下に説明する。
【0127】
セット動作の検査においては第1のセレクタ133は、テスト信号TESTとして“0”を受けて、第1の定数記憶部132に記憶された第1の定数IDfuse/addressを選択出力する。そして第2の一方向関数回路B75は、第3の定数Constを、第1のセレクタ133の出力すなわち第1の定数IDfuseを鍵として用いて一方向関数によって変換しIDconstを出力する。
【0128】
そして第1の被暗号化機密情報EDK(MK)/address’と、第2の被暗号化機密情報EMK(CK)/address’の情報を使用する場合には第1のモード設定値を“1”に設定する。これにより第2のセレクタ135は第2の一方向関数回路B75から出力されたIDconstが選択出力されこれにより、種生成部131から、変換種IDfuse1が出力される。
【0129】
そして、第1の一方向関数回路A32は、種生成部131から出力された変換種IDfuse1を、第1の被暗号化機密情報EDK(MK)/address’を用いて、変換機密情報CKの生成に用いたものに相当する一方向関数によって変換する。これにより、第1の一方向関数回路A32から、変換機密情報CKが生成出力される。
【0130】
第1の復号回路X33は、第2の被暗号化機密情報EMK(CK)/address’を、第1の一方向関数回路A32の出力すなわち変換機密情報CKを鍵として用いて復号化する。これにより、第1の復号回路X33から、内部機密情報MKが生成出力される。第2の復号回路Y34は、第1の入力IN1すなわち第1の被暗号化機密情報EDK(MK)/address’を、第1の復号回路X33の出力すなわち内部機密情報MKを鍵として用いて復号化する。これにより、第2の復号回路Y34から、最終機密情報DKが生成される。
【0131】
次に第3の被暗号化機密情報EDK2(MK2)/Constと、第4の被暗号化機密情報EMK2(CK2)/Constの情報を使用する場合には第1のモード設定値を“0”に設定する。これにより第2のセレクタ135は第3のセレクタ136からテスト信号TESTとして“0”により選択されたConstが選択出力され、種生成部131から、変換種Const1が出力される。
【0132】
そして、第1の一方向関数回路A32は、種生成部131から出力された変換種Const1を、第3の被暗号化機密情報EDK2(MK2)/Constを用いて、変換機密情報CK2の生成に用いたものに相当する一方向関数によって変換する。これにより、第1の一方向関数回路A32から、変換機密情報CK2が生成出力される。
【0133】
第1の復号回路X33は、第4の被暗号化機密情報EMK2(CK2)/Constを、第1の一方向関数回路A32の出力すなわち変換機密情報CK2を鍵として用いて復号化する。これにより、第1の復号回路X33から、内部機密情報MK2が生成出力される。第2の復号回路Y34は、第1の入力IN1すなわち第3の被暗号化機密情報EDK2(MK2)/Constを、第1の復号回路X33の出力すなわち内部機密情報MK2を鍵として用いて復号化する。これにより、第2の復号回路Y34から、最終機密情報DK2が生成される。
【0134】
ここで最終機密情報DK及び最終機密情報DK2は最終機密情報として機密処理回路A141a又は機密処理回路B141bにセットされる。
【0135】
またこのとき、第5のセレクタ167は、テスト信号TESTとして“0”を受けて、第3の定数記憶部166に記憶された検証用定数CRCfuse/addressを選択出力する。第5のセレクタ167の出力は、比較回路168に入力される。第1のセレクタ133の出力も、検証回路165内の比較回路168に入力される。比較回路168によって比較検査を行い、結果が不一致の場合は、第2の復号回路34の動作を停止する。これにより、種生成部131に記憶された第1の定数IDfuse/addressの正当性を検証することができる。
【0136】
本実施形態によれば、実施例1に基づく実装方法に対してIDfuseとconstを一方向関数により変換を行うことで、実体解析に対する機密情報の秘匿性をさらに向上することができる。
【産業上の利用可能性】
【0137】
本発明の機密情報実装システム及びLSIは、暗号化機密情報にアドレス情報を関連付けることにより、不正に流出してしまった端末装置、システムLSIあるいは記憶部から、その端末装置、システムLSIあるいは記憶部を製造した製造者等の特定が可能となり、機密情報の厳格な管理を行うことができるという効果を有し、機密情報実装システム及びこれを実現するためのLSI等として有用である。
【図面の簡単な説明】
【0138】
【図1】本実施形態の機密情報実装システムを、端末装置に実装するまでの全工程を説明するためのフローチャート
【図2】本実施形態の機密情報実装システムに内蔵されるシステムLSIの開発工程を説明するためのフローチャート
【図3】本実施形態の機密情報実装システムのヒューズ(fuse)実装工程を説明するためのフローチャート
【図4】本実施形態の機密情報実装システムが内蔵される端末装置等へのセット実装工程を説明するためのフローチャート
【図5】機密情報ライセンス会社220から、システムLSIの開発及び製造を担当するLSIベンダーA230にライセンスを提供する場合のライセンススキームを説明するための図
【図6】暗号化された機密情報を生成する暗号化機密情報生成機200を説明するためのブロック図
【図7】暗号化された機密情報を生成する暗号化機密情報生成機210を説明するためのブロック図
【図8】機密情報ライセンス会社220から、システムLSIのfuse実装を担当するFuse実装ベンダーC240にライセンスを提供する場合のライセンススキームを説明するための図
【図9】機密情報ライセンス会社220から、システムLSIのセット実装を担当するセットメーカーB250にライセンスを提供する場合のライセンススキームを説明するための図
【図10】本実施形態の機密情報実装システムを端末装置に実装する全工程のライセンススキームを説明するための図
【図11】本実施形態の機密情報実装システム120のLSI開発段階における概略構成を説明するための回路図
【図12】本実施形態の機密情報実装システム120のヒューズ実装段階における概略構成を説明するための回路図
【図13】本実施形態の機密情報実装システム120において、セットへの機密情報実装段階における概略構成を説明するための回路図
【図14】本実施形態の変換アドレス情報1を生成する第6の定数aaaを外部から設定する場合の機密情報実装システムを端末装置に実装する全工程のライセンススキームを説明するための図
【図15】本実施形態の変換アドレス情報1を生成する第6の定数aaaを外部から設定する場合の機密情報実装システム120のLSI開発段階における概略構成を説明するための回路図
【図16】本実施形態の変換アドレス情報1を生成する第6の定数aaaを外部から設定する場合の機密情報実装システム120において、セットへの機密情報実装段階における概略構成を説明するための回路図
【図17】本実施形態の固有毎のIDfuse情報に基づく機密情報をLSI自体が生成する場合の機密情報実装システム120において、セットへの機密情報実装段階における概略構成を説明するための回路図
【図18】鍵実装システム7を説明するための概略構成を示すブロック図
【図19】対称暗号の特性を説明するための図
【図20】IDfuse情報に基づく種生成方法を鍵実装システム7(図18)と等価な構成の場合を説明するための図
【図21】図20の実施例における暗号化された機密情報を生成する暗号化機密情報生成機200を説明するためのブロック図
【図22】図20の実施例における暗号化された機密情報を生成する暗号化機密情報生成機210を説明するためのブロック図
【符号の説明】
【0139】
32 第1の一方向関数回路A
33 第1の復号回路X
34 第2の復号回路Y
35 第1の暗号回路XX
36 第3の復号回路YY
39 第2のモード設定値
50 暗号回路
51 復号回路
65 検証回路
66 定数記憶部
67 比較回路
71 種生成部
72 第1の定数設定部
73 第2のセレクタ
74 第2の定数記憶部
75 第2の一方向関数回路B
120 機密情報実装システム
120a 記憶部
120b LSI
131 種生成部
132 第1の定数記憶部
133 第1のセレクタ
134 第2の定数記憶部
135 第2のセレクタ
136 第3のセレクタ
137 第1のモード設定値
141 機密処理回路
142 機密情報設定部
151 アドレス変換回路
153 第1の演算回路
154 第4のセレクタ
152 第7の定数
155 第6の定数
165 検証回路
166 第3の定数記憶部
167 第5のセレクタ
168 比較回路
171 第1の被暗号化機密情報記憶部
172 第2の被暗号化機密情報記憶部
173 第3の被暗号化機密情報記憶部
174 第4の被暗号化機密情報記憶部
175 第5の被暗号化機密情報記憶部
176 第6の被暗号化機密情報記憶部
177 第7の被暗号化機密情報記憶部
200,210 暗号化機密情報生成機
201,205,211,215 暗号回路
202,212 CRC生成回路
203,204,206,213,214,216 一方向関数回路
220 機密情報ライセンス会社
230 LSIベンダーA
240 Fuse実装ベンダーC
250 セットメーカーB
300 Idfuse実装装置
301 暗号化機密情報実装装置

【特許請求の範囲】
【請求項1】
最終機密情報を内部機密情報により暗号化した第1の被暗号化機密情報及び前記内部機密情報を変換機密情報により暗号化した第2の被暗号化機密情報を記憶する記憶部と、
アドレス情報を含み変換種の生成元になる第1の定数、テスト用変換種の生成元になる第2の定数及び第3の定数の記憶並びに前記第1の定数、前記第2の定数又は前記第3の定数をテスト信号及びモード設定値に応じて前記変換種又は前記テスト用変換種として出力する種生成部と、
前記種生成部から出力される前記変換種又は前記テスト用変換種を、前記記憶部から入力される前記第1の被暗号化機密情報により変換し、前記変換機密情報又はテスト用変換機密情報を生成する一方向関数回路と、
前記記憶部から入力される前記第2の被暗号化機密情報を、前記一方向関数回路の出力を鍵として復号化する第1の復号回路と、
前記記憶部から入力される前記第1の被暗号化機密情報を、前記第1の復号回路の出力を鍵として復号化する第2の復号回路と、を含むLSIと、を備える機密情報実装システム。
【請求項2】
請求項1記載の機密情報実装システムであって、
前記記憶部は、前記最終機密情報を前記内部機密情報により暗号化した第3の被暗号化機密情報と、前記内部機密情報を前記変換機密情報により暗号化した第4の被暗号化機密情報とを記憶し、
前記種生成部は、アドレス情報を含み第1の変換種の生成元になる第1の定数と、第1のテスト用変換種の生成元になる第2の定数と、第2の変換種の生成元になる第3の定数と、第2のテスト用変換種の生成元になる第2の定数とを記憶する定数記憶部を持ち、それぞれテスト信号により選択した前記第3の定数又は前記第2の定数及び前記第1の定数又は前記第2の定数を前記モード設定値により選択し、
前記一方向関数回路は、前記種生成部から出力される前記第1の変換種、前記第1のテスト用変換種、前記第2の変換種又は前記第2のテスト用変換種を、前記モード設定値に応じて前記記憶部から入力される前記第1の被暗号化機密情報又は前記第3の被暗号化機密情報を鍵として変換して前記変換機密情報又はテスト用変換機密情報を生成し、
前記第1の復号回路は、前記モード設定値に応じて前記記憶部から入力される前記第2の被暗号化機密情報又は前記第4の被暗号化機密情報を、前記一方向関数回路の出力を鍵として復号化する機密情報実装システム。
【請求項3】
請求項2記載の機密情報実装システムであって、
前記種生成部は、前記第1の定数及び前記第2の定数を記憶する第1の定数記憶部と、
前記第1の定数及び前記第2の定数を前記テスト信号に応じて選択出力する第1のセレクタと、
前記第3の定数及び前記第2の定数を記憶する第2の定数記憶部と、
前記モード設定値に応じて選択出力する第2のセレクタと、
前記第1の変換種若しくは前記第1のテスト用変換種又は前記第2の変換種若しくは前記第2のテスト用変換種を前記テスト信号に応じて選択出力する第3のセレクタと、を備える機密情報実装システム。
【請求項4】
請求項2記載の機密情報実装システムであって、
前記モード設定値は、特定の動作モードでのみ変更が可能な機密情報実装システム。
【請求項5】
請求項2記載の機密情報実装システムであって、
前記LSIは、前記第1の定数に含まれる前記アドレス情報が入力される演算回路を備え、
前記演算回路は、前記テスト信号により選択した実装段階における第6の定数又は検査段階における第7の定数に所定の演算を行って第1の変換アドレス情報又は第2の変換アドレス情報を出力する機密情報実装システム。
【請求項6】
請求項2記載の機密情報実装システムであって、
前記第1の被暗号化機密情報及び前記第2の被暗号化機密情報により生成される第1の機密情報と、前記第3の被暗号化機密情報及び前記第4の被暗号化機密情報により生成される第2の機密情報とは、互いに別の機密情報処理に使用される機密情報実装システム。
【請求項7】
請求項2記載の機密情報実装システムであって、
前記第1の被暗号化機密情報及び前記第2の被暗号化機密情報並びに前記第3の被暗号化機密情報及び前記第4の被暗号化機密情報の少なくとも一方が実装されている機密情報実装システム。
【請求項8】
請求項5記載の機密情報実装システムであって、
前記演算回路は、テスト時は前記第7の定数を選択して前記第2の変換アドレス情報を出力し、テスト時以外は前記第6の定数を選択して前記第1の変換アドレス情報を出力する機密情報実装システム。
【請求項9】
請求項8記載の機密情報実装システムであって、
前記第6の定数を外部から入力設定する手段を備える機密情報実装システム。
【請求項10】
請求項5記載の機密情報実装システムであって、
前記記憶部に記憶される前記第1及び第2の被暗号化機密情報は、前記演算回路から出力される前記第1の変換アドレス情報に関連付けられる機密情報実装システム。
【請求項11】
請求項5記載の機密情報実装システムであって、
前記最終機密情報及び前記内部機密情報は、前記第1の変換アドレス情報に関連付けられる機密情報実装システム。
【請求項12】
請求項5記載の機密情報実装システムであって、
前記最終機密情報及び前記内部機密情報を、前記第1の変換アドレス情報の順に並べて配置する機密情報実装システム。
【請求項13】
請求項2記載の機密情報実装システムであって、
前記第2の復号回路の出力に対して暗号化処理又は改ざん検出処理などの機密処理を行う機密処理回路ブロックを備える機密情報実装システム。
【請求項14】
請求項5記載の機密情報実装システムであって、
前記第1の定数は、前記LSIの固体毎に乱数性を持つものであって、前記演算回路から出力された前記第2の変換アドレス情報により乱数性を検査する機能を含む機密情報実装システム。
【請求項15】
請求項2記載の機密情報実装システムであって、
前記第1の定数は、前記LSIの固体毎に固有な定数であり、
前記第2の定数、前記第3の定数、前記第6の定数、前記第7の定数は、前記LSIの所定数毎に固有な定数である機密情報実装システム。
【請求項16】
請求項5記載の機密情報実装システムであって、
前記第2の変換アドレス情報として同一の値が実装されていた場合に、実装を停止する機能を含む機密情報実装システム。
【請求項17】
請求項8記載の機密情報実装システムであって、
前記第1の変換アドレス情報のテスト時における出力を禁止する手段を備える機密情報実装システム。
【請求項18】
最終機密情報を内部機密情報により暗号化した第1の被暗号化機密情報と、前記内部機密情報を変換機密情報により暗号化した第2の被暗号化機密情報とが入力されるLSIであって、
アドレス情報を含み変換種の生成元になる第1の定数、テスト用変換種の生成元になる第2の定数及び第3の定数の記憶並びに前記第1の定数、前記第2の定数又は前記第3の定数をテスト信号及びモード設定値に応じて前記変換種又は前記テスト用変換種として出力する種生成部と、
前記種生成部から出力される前記変換種又は前記テスト用変換種を、前記第1の被暗号化機密情報により変換し、前記変換機密情報又はテスト用変換機密情報を生成する一方向関数回路と、
前記第2の被暗号化機密情報を、前記一方向関数回路の出力を鍵として復号化する第1の復号回路と、
前記第1の被暗号化機密情報を、前記第1の復号回路の出力を鍵として復号化する第2の復号回路と、を備えるLSI。
【請求項19】
請求項18記載のLSIであって、
前記種生成部は、アドレス情報を含み第1の変換種の生成元になる第1の定数と、第1のテスト用変換種の生成元になる第2の定数と、第2の変換種の生成元になる第3の定数と、第2のテスト用変換種の生成元になる第2の定数とを記憶する定数記憶部を持ち、それぞれテスト信号により選択した前記第3の定数又は前記第2の定数及び前記第1の定数又は前記第2の定数を前記モード設定値により選択し、
前記一方向関数回路は、前記種生成部から出力される前記第1の変換種、前記第1のテスト用変換種、前記第2の変換種又は第2のテスト用変換種を、前記モード設定値に応じて前記第1の被暗号化機密情報又は前記最終機密情報を前記内部機密情報により暗号化した第3の被暗号化機密情報を鍵として変換して前記変換機密情報又はテスト用変換機密情報を生成し、
前記第1の復号回路は、前記モード設定値に応じて前記第2の被暗号化機密情報又は前記内部機密情報を前記変換機密情報により暗号化した第4の被暗号化機密情報を、前記第1の一方向関数回路の出力を鍵として復号化するLSI。
【請求項20】
請求項19記載のLSIであって、
前記種生成部に記憶される前記第1の定数又は前記第2の定数を、前記テスト信号に応じて検証する検証回路を備えるLSI。
【請求項21】
請求項19記載のLSIであって、
前記第1のモード設定値は、実装後の変更を禁止した状態でヒューズで実装されるLSI。
【請求項22】
請求項1記載の第1の定数、第3の定数、最終機密情報及び内部機密情報を入力し、前記第1の被暗号化機密情報及び前記第2の被暗号化機密情報を前記アドレス情報に相関させてソート出力する機能を持った機密情報生成装置。
【請求項23】
請求項1記載の第2の定数又は第3の定数、テスト用機密情報、テスト用内部機密情報及びモード設定値を入力し、前記第1の被暗号化機密情報及び前記第2の被暗号化機密情報を出力する機能を持った機密情報生成装置。
【請求項24】
請求項1記載の第1の定数、第3の定数、最終機密情報及び内部機密情報を入力し、前記モード設定値に応じて前記第1の定数を選択し、前記第1の被暗号化機密情報及び前記第2の被暗号化機密情報を前記第1の変換アドレス情報に相関させてソート出力する機密情報生成方法。
【請求項25】
請求項1記載の第1の定数、第3の定数、最終機密情報及び内部機密情報を入力し、前記モード設定値に応じて第3の定数を選択し前記第3の被暗号化機密情報及び前記第4の被暗号化機密情報を出力する機密情報生成方法。
【請求項26】
請求項24記載の機密情報生成方法であって、
前記第1の定数に対する冗長演算の結果に相当する第4の定数を出力させる機密情報生成方法。
【請求項27】
請求項1記載の第2の定数、第3の定数、テスト用機密情報及びテスト用変換機密情報を入力し、前記モード設定値に応じて前記第2の定数又は前記第3の定数を選択し前記第1の被暗号化機密情報及び前記第2の被暗号化機密情報を出力させる機密情報生成方法。
【請求項28】
請求項27記載の機密情報実装方法であって、
前記第2の定数に対する冗長演算の結果に相当する第5の定数を出力させる機密情報生成方法。
【請求項29】
請求項19記載のLSIであって、
前記第1の定数、前記第2の定数、前記第3の定数、前記第1の定数に対する冗長演算の結果に相当する第4の定数、前記第2の定数に対する冗長演算の結果に相当する第5の定数、実装段階における第6の定数及び検査段階における第7の定数を外部読み出し不能に実装したLSI。
【請求項30】
最終機密情報を内部機密情報により暗号化した第1の被暗号化機密情報及び第3の被暗号化機密情報及び第5の被暗号化機密情報と、前記内部機密情報を変換機密情報により暗号化した第2の被暗号化機密情報及び第4の被暗号化機密情報及び第6の被暗号化機密情報を記憶する記憶部と、
アドレス情報を含み第1の変換種の生成元になる第1の定数、第1のテスト用変換種の生成元になる第2の定数、第2の変換種の生成元になる第3の定数及び第2のテスト用変換種の生成元になる第2の定数を記憶する定数記憶部を持ち、それぞれテスト信号により選択した前記第3の定数又は前記第2の定数及び前記第1の定数又は前記第2の定数を前記モード設定値により選択する種生成部と、
前記種生成部から出力される前記第1の変換種、前記第1のテスト用変換種、前記第2の変換種又は第2のテスト用変換種を、前記モード設定値に応じて前記記憶部から入力される前記第1の被暗号化機密情報又は前記第3の被暗号化機密情報を鍵として変換して前記変換機密情報又はテスト用変換機密情報を生成する一方向関数回路と、
前記モード設定値に応じて前記記憶部から入力される前記第2の被暗号化機密情報又は第4の被暗号化機密情報を、前記一方向関数回路の出力を鍵として復号化を行う第1の復号回路と、
前記記憶部から入力される前記第1の被暗号化機密情報を、前記第1の復号回路の出力を鍵として復号化を行う第2の復号回路と、
前記第5の被暗号化機密情報及び前記第6の被暗号化機密情報により得られる最終機密情報を前記モード設定値とは独立したモード設定値に応じて前記第1の定数を鍵として暗号化を行い第7の被暗号化機密情報として前記記憶部へ出力する暗号回路と、
前記記憶部から入力される前記第7の被暗号化機密情報を前記第1の定数を鍵として復号化を行う第3の復号回路と、を含むLSIとを備える機密情報実装システム。
【請求項31】
請求項30記載の機密情報実装システムであって、
前記第1の被暗号化機密情報及び前記第2の被暗号化機密情報、前記第3の被暗号化機密情報及び前記第4の被暗号化機密情報並びに前記第5の被暗号化機密情報及び前記第6の被暗号化機密情報の少なく一組が実装されている機密情報実装システム。

【図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

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2007−11871(P2007−11871A)
【公開日】平成19年1月18日(2007.1.18)
【国際特許分類】
【出願番号】特願2005−193948(P2005−193948)
【出願日】平成17年7月1日(2005.7.1)
【出願人】(000005821)松下電器産業株式会社 (73,050)
【Fターム(参考)】