(57)【特許請求の範囲】
【請求項１】
−暗号化/暗号解読の利用により、権限のないアクセスに対して保護されるべきデータを格納するための少なくとも１つの不揮発性メモリモジュールと、
−前記メモリモジュールに割り当てられ、
−−少なくとも１つのキーアドレス生成ユニットと、少なくとも１つのキーレジスタと、を有する少なくとも１つの暗号化／暗号解読論理回路を有し、
−−前記メモリモジュールをアドレス指定するための、および、
−−前記メモリモジュールにデータを書き込むための、または、
−−前記メモリモジュールからデータを読み出すための少なくとも１つのメモリモジュールインタフェイス論理回路と、
−少なくとも１つのＲ[ead]Ｏ[nly]Ｍ[emory]コードを格納するための少なくとも１つのコードＲ[ead]Ｏ[nly]Ｍ[emory]モジュールと、
−前記コードＲＯＭモジュールに割り当てられた、少なくとも１つのマルチプレックスユニットを有し、
−−前記コードＲＯＭモジュールをアドレス指定するための、および、
−−前記コードＲＯＭモジュールからＲＯＭコードを読み出すための、少なくとも１つのコードＲＯＭインタフェイス論理回路と、
を備えた電子データ処理のための回路構成であって、
前記マルチプレックスユニットは前記コードＲＯＭモジュールをアドレス指定するためのアドレスデータと、前記メモリモジュールをアドレス指定するためのアドレスデータをマルチプレックスしてＲＯＭキーアドレスデータを出力するものであり、
前記メモリモジュールに割り当てられた、データを暗号化または暗号解読するための少なくとも１つのキーコードは、前記ＲＯＭキーアドレスデータにより前記コードＲＯＭモジュールの少なくとも１つのＲＯＭコードから抽出され、および/または、生成されることを特徴とする回路構成。
【請求項２】
前記メモリモジュールは、
少なくとも１つの消去可能読み出し専用メモリ（Ｅ[rasable]Ｐ[rogrammable]Ｒ[ead]Ｏ[nly]Ｍ[emory] ）、
少なくとも１つの電気的消去可能読み出し専用メモリ（Ｅ[lectrical]Ｅ[rasable]Ｐ[rogrammable]Ｒ[ead]Ｏ[nly]Ｍ[emory] ）、または、
少なくとも１つのフラッシュメモリ、
の形態をとることを特徴とする請求項１に記載の回路構成。
【請求項３】
マイクロコントローラ、特に、”内蔵されたセキュリティコントローラ”、であって、  請求項１または２に記載の少なくとも１つの回路構成を備えることを特徴とするマイクロコントローラ。
【請求項４】
少なくとも１つの不揮発性メモリモジュールにおいて権限のないアクセスから保護されるべきデータの暗号化または暗号解読の方法であって、
前記メモリモジュールに割り当てられたデータは、少なくとも１つのコードＲ[ead]Ｏ[nly]Ｍ[emory]モジュールにより供給される少なくとも１つのＲＯＭコードの利用により、
−前記メモリモジュールへの少なくとも１つのアクセスに並行する、つまり、前記メモリモジュールへの書き込み動作または読み出し動作に並行する、前記ＲＯＭコードの読み出しにより、または、
−特に、リセットシーケンスの際における、ROMコードバイトの一回限りの読み出しにより、および、前記メモリモジュールへの少なくとも１つのアクセスのときまで、つまり、前記ＲＯＭコードバイトが、前記メモリモジュールの少なくとも１つの書き込み動作または読み出し動作に必要とされるまで、少なくとも１つのキーレジスタにおけるそれらのＲＯＭコードバイトの格納により、暗号化または暗号解読に用いられるキーコードが生成されることを特徴とする、暗号化または暗号解読されることを特徴とする方法。
【請求項５】
−少なくとも１つ中央処理装置（C[entral]P[rocessing]U[nit] ）からの少なくとも１つのメモリモジュールアドレスの利用による前記メモリモジュールへのアクセスにおいて、少なくとも１つのＲＯＭキーアドレスが生成され、
−前記ＲＯＭコードは、前記ROMキーアドレスの利用により前記コードＲＯＭモジュールから取出され、
−前記ＲＯＭコードは、
−−前記メモリモジュールのアドレス、および/または、
−−前記メモリモジュールに書き込まれるデータ、または、
−−前記メモリモジュールから読み出されるデータ、
の暗号化または暗号解読のための少なくとも１つの暗号化／暗号解読キーとして使用されることを特徴とする請求項４に記載の方法。
【請求項６】
−前記メモリモジュールのアドレス、および/または、
−前記メモリモジュールに書き込まれるデータ、または、
−前記メモリモジュールから読み出されるデータ、は、
少なくとも１つのスクランブル論理回路の利用によりスクランブルされることを特徴とする請求項４または５に記載の方法。
【請求項７】
少なくとも１つのチップユニットにおける、特に、少なくとも１つの内蔵されたセキュリティコントローラにおける請求項１または２に記載の少なくとも１つの回路構成の使用。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、
−暗号化／暗号解読の方法により、権限のないアクセスに対して保護されるべきデータを格納するための少なくとも１つの不揮発性メモリモジュールを有し、
−メモリモジュールに割り当てられた、少なくとも１つのメモリモジュールインタフェイス論理回路であって、
−−メモリモジュールをアドレス指定し、
−−メモリモジュールにデータを書き込み、または、
−−メモリモジュールからデータを読み出すためのメモリモジュールインタフェイス論理回路を有し、
−少なくとも１つのＲＯＭコード（Ｒ[ead]Ｏ[nly]Ｍ[emory] code）を格納するための少なくとも１つのコードROMモジュール（codeＲ[ead]Ｏ[nly]Ｍ[emory] module）を有し、
−少なくとも１つのコードROMモジュールインタフェイス論理回路であって、
−−コードROMモジュールをアドレス指定するための、および、
−−コードROMモジュールからROMコードを読み出すためのインタフェイス論理回路を有する、電子データ処理のための回路構成に関する。
【０００２】
本発明は、さらに、少なくとも１つの不揮発性メモリモジュールにおける権限のないアクセスに対して保護されるべきデータを暗号化／暗号解読する方法に関する。
【背景技術】
【０００３】
従来は、NVメモリモジュール（N[on]V[olatile] memory module）の内容を暗号化または暗号解読するのに必要なキーコードは、特にそのために例示されたヒューズセル（fuse cell）の利用により、ハードコード(hard-code)され、定義されるか、または、不揮発性メモリモジュールの特別に保護された領域において、それら自身により、セーブされる。
【０００４】
しかしながら、それぞれの公知の手順は、不利益を有する。すなわち、ハードコードキーの場合において、このキーコードは、異なったROMコードの異なったコントローラの種類に変えられることができず、ヒューズセルにおけるキーコードのより順応性のある定義づけの場合、または、電気的消去可能読み出し専用メモリ（Ｅ[lectrical]Ｅ[rasable]Ｐ[rogrammable]Ｒ[ead]Ｏ[nly]Ｍ[emory] ）の場合において、キー長さ（key length）は、セルまたは表面積の要求の結果として制限される。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
既述の不利益と欠点と概略を述べられた先行技術の認知と、を基準として把握し、本発明の目的は、一方、キーコードは、異なったROMコードの異なったコントローラの種類に変えられ、他方、キーコードの長さは制限されないことにより、既述の型の回路構成と、既述の型の暗号化／暗号解読の方法とを発展させることである。
【課題を解決するための手段】
【０００６】
この目的は、請求項１における特徴を有する回路構成、および請求項６における特徴を有することに基づく暗号化／暗号解読の方法により達成される。有利な実施例と本発明の適切なさらなる発展は、それぞれの従属項において確認される。
【０００７】
それ故、本発明の教示によれば、例えば、内蔵されたセキュリティコントローラのための、Ｒ[ead]Ｏ[nly]Ｍ[emory]コードデータからの少なくとも１つのN[on]V[olatile]メモリモジュールの暗号化／暗号解読のための少なくとも１つの特に長いキーの生成についての、全く新しいアプローチが、開示される。
【０００８】
ＮＶメモリモジュールのこの暗号化／暗号解読のため、ROMコードはNVメモリモジュールの視点からの定数であり、このキーコードは、（マイクロ）コントローラが利用可能なROMコードから抽出される。この場合、平文/暗号文のバイトにつきキーの１バイトで、生成されるキーコードは、比較的長く記述されるかもしれない。
【０００９】
詳しい発明のさらなる発展によれば、キー（コード）は、
−不揮発性メモリモジュールの書き込み、または読み出しに並行する、コードROMモジュールからのROMコードの読み出しにより、
−または、所謂”リセットシーケンス(reset sequence)”の際における、特別のROMコードバイトの一回限りの読み出しにより、および、ROMコードバイトが、NVメモリモジュールの少なくとも１つの書き込み動作、または読み出し動作に必要とされるまでの、少なくとも１つのキーレジスタにおけるそれらのROMコードバイトの格納により、生成される。
【００１０】
本発明の有利な発展によれば、キーコードの品質は、そこで、ROMコードの比較的一般的な構造を是正する、例えば、少なくとも１つの追加のアドレスの依存による、または、少なくとも１つのスクランブル論理回路（scrambling logic circuit）を利用するスクランブルによるような、補足のまたは追加の手段により、さらに向上させられる。
【００１１】
既述の発明は、特定の暗号化／暗号解読方法に方法論的に限定することなく、しかし、キー長さに関して、および/または、使用された方法のそれぞれの要求の品質に関して適用されると有利である。
【００１２】
長いキーコードのための源としてのROMコードの二重使用により、N[on]V[olatile]メモリモジュールの暗号化または暗号解読の安全性は、より長いキー長さにより、このキーコードの格納のための対応する追加の表面積の要求に帰結するようなより長いキー長さ無しに、向上させられる。
【００１３】
そのうえ、暗号作成技術の当業者は、特に、本発明により生成されたキーコードが、コードROMモジュールのROMコードに依存する、つまり、ROMコードの変化とともに変化する事実を認識するだろう。
【００１４】
本発明は、さらに、マイクロコントローラ、特に、既述の型に従った少なくとも１つのデータ処理デバイスを含む、“内蔵されたセキュリティコントローラ（embedded security controller）”に関する。
【００１５】
本発明は、最後に、少なくとも１つのチップ単位、特に、少なくとも１つの“内蔵されたセキュリティコントローラ（embedded security controller）”における、既述の型の少なくとも１つの回路構成の使用に関する。
【００１６】
すでに前で論じたように、本発明の技術の有利な実施および発展の種々の可能な方法がある。この点で、請求項１と６と従属する請求項について、申し述べられ、そして、本発明は、図面に示された実施例の参照とともに、さらに記述されるが、本発明は、限定されるものではない。
【発明を実施するための最良の形態】
【００１７】
図１は、電子データ処理のための回路構成１００の実施例を示し、この回路構成１００は、特に、“内蔵されたセキュリティコントローラ（embedded security controller）”型における使用のために準備されている。
【００１８】
この回路構成１００は、電気的消去可能読み出し専用メモリ（Ｅ[lectrical]Ｅ[rasable]Ｐ[rogrammable]Ｒ[ead]Ｏ[nly]Ｍ[emory] ）の構成を採用するとともに、暗号化または暗号解読により権限のないアクセスから保護されるべき、データが格納されるのに利用されるマルチコンポーネントN[on]V[olatile]メモリモジュール１０を備える。
【００１９】
このN[on]V[olatile]メモリモジュール１０に割り当てられるのは、
−メモリモジュール１０がアドレス指定され（−−＞参照符号１２０ａ：メモリモジュールインタフェイス論理回路１２からメモリモジュール１０へのアドレスデータ”ＡＤＤＲ（ａ：０）”  ）、
−メモリモジュール１０が書き込みされ（−−＞参照符号１２０ｗ：メモリモジュールインタフェイス論理回路１２からメモリモジュール１０への信号データ”ＤＩＮ（ｄ：０）”  ）、
−メモリモジュール１０が読み出しされる（−−＞参照符号１２０ｒ：メモリモジュール１０からメモリモジュールインタフェイス論理回路１２への信号データ”ＤＯＵＴ（ｄ：０）、のを利用する、メモリモジュールインタフェイス論理回路１２である。
【００２０】
加えて、回路構成１００は、Ｒ[ead]Ｏ[nly]Ｍ[emory]コードを格納し、供給するためのコードＲ[ead]Ｏ[nly]Ｍ[emory]モジュール２０を備える。
【００２１】
このコードROMモジュール２０に割り当てられるのは、
−コードROMモジュール２０がアドレス指定され（−−＞参照符号２２０ａ：コードROMモジュールインタフェイス論理回路２２からコードROMモジュール２０へのアドレスデータ”Ａ”  ）、
−コードROMモジュール２０が読み出しされる（−−＞参照符号２２０ｒ：コードROMモジュール２０からコードROMモジュールインタフェイス論理回路２２へのROMコードデータまたはROMコードバイト”ＤO”）、のを利用する、コードROMモジュールインタフェイス論理回路２２である。
【００２２】
図１に従う回路構成１００の特別の特徴は、メモリモジュール１０に割り当てられたデータを暗号化または暗号解読するためのキーコードは、コードROMモジュール２０のROMコードから、抽出され、生成されることである。
【００２３】
この目的のために、メモリモジュールインタフェイス論理回路１２は、キーアドレス生成ユニット１６と、キーレジスタ１８とを有する暗号化／暗号解読論理回路１４を備えている。このキーアドレス生成ユニット１６は、Ｃ[entral]P[rocessing]U[nit]からのメモリモジュールアドレスを使用するメモリモジュール１０に書き込みまたは読み出しアクセスする場合（−−＞参照符号Ｃ１２ａ：キーアドレス生成ユニット１６からコードROMモジュールインタフェイス論理回路２２のマルチプレックスユニット２４へのROMキーアドレスデータ  ”ＣＰＵ NV addr”）において、ROMキーアドレスを生成する（−−＞参照符号１６２ａ：キーアドレス生成ユニット１６からコードROMモジュールインタフェイス論理回路２２のマルチプレックスユニット２４へのROMキーアドレスデータ）目的のための状況が準備されている。
【００２４】
コードROMモジュールインタフェイス論理回路２２に集積されたこのマルチプレックスユニット２４は、キーアドレス生成ユニット１６のROMキーアドレスだけでなく、ＣＰＵからのアドレスデータもまた受信する（−−＞参照符号Ｃ２２ａ：ＣＰＵからコードROMモジュールインタフェイス論理回路２２のマルチプレックスユニット２４へのＣＰＵ ROMアドレスデータ  ”ＣＰＵ ROM addr”）。
【００２５】
ROMコードは、そして、ROMキーアドレスの利用によりコードROMモジュール２０から取出（fetch）され、
−ＣＰＵからメモリモジュールインタフェイス論理回路１２を経由してメモリモジュール１０へのアドレスデータ”CPU NV addr”（−−＞参照符号１２ａ）、
−ＣＰＵからメモリモジュールインタフェイス論理回路１２を経由してメモリモジュール１０への信号データ” CPU NV write data”（−−＞参照符号１２ｗ）、
−メモリモジュール１０からメモリモジュールインタフェイス論理回路１２を経由してＣＰＵへの信号データ” CPU NV read data”（−−＞参照符号１２ｒ）、
の暗号化または暗号解読のための暗号化／暗号解読キーとして使用される。
【００２６】
本発明の要点は、それゆえ、図１による回路構成１００は、メモリモジュール１０に割り当てられたデータがコードROMモジュール２０により供給されるROMコードの利用により暗号化または暗号解読され、不揮発性メモリモジュール１０における権限の与えられていないアクセスに対して保護されるべきデータを暗号化または暗号解読するための方法が実行されることを可能にする、ということである。
【００２７】
生成されたキーコードの品質は、それ自体公知の（先行技術DE199 01 829 A1参照）、しかし、明快さのために図１において明示的に示されていない、スクランブル論理回路を利用する、コードROMモジュール２０により供給されたROMコードの比較的規則的な構成を是正する、スクランブルによりさらに向上される。
【００２８】
このスクランブル論理回路は、
−アドレス信号”ＡＤＤＲ（ａ：０）”および/またはスクランブル論理回路に供給されるデータ信号”ＤＩＮ（ｄ：０）”または”ＤＯＵＴ（ｄ：０）”の異なった値のビットを並べ替えるための並べ替え段階（permutation stage）、
−アドレス信号”ＡＤＤＲ（ａ：０）”および/またはデータ信号”ＤＩＮ（ｄ：０）”または”ＤＯＵＴ（ｄ：０）”のビットの値を反転するための反転段階（inversion stage）、この並べ替え段階とこの反転段階とは、スクランブルパターン信号により制御される、
−スクランブルパターン信号から並べ替え段階と反転段階のコントロール信号を得るための復号化段階（decoding stage）、を含む。
【００２９】
暗号化または暗号解読に用いられるキーコードの生成に関して、２つのバリエーション（ｉ）と（ｉｉ）との間の原理における、本発明に従う卓越性は、描かれる：
（ｉ）ＮＶメモリアクセスに並行する、つまり、メモリモジュール１０への書き込み/読み出しアクセスに並行するROMコードの読み出しによる、キーコードの生成：
ここで、NVメモリ１０のそれぞれのインタフェイス（＝メモリモジュールインタフェイス論理回路１２）における暗号化／暗号解読論理回路１４は、コードROMモジュール２０の暗号化されていない出力データ２２０ｒへの直接アクセス（direct access）を得る。NVメモリ１０への書き込みアクセス（−−＞参照符号１２０ｗ）、またはNVメモリ１０のページレジスタ（page register）への読み込みアクセス（−−＞参照符号１２０ｒ）に並行して、ROMコードのあるバイトもまた、コードROMモジュール２０から読み出される。読み出しを実施するためのROMコードアドレス２２０ａは、暗号化／暗号解読論理回路１４のキーアドレス生成ユニット１６により決定され、しかし、各ＮＶメモリアドレスのために明確であり、再生可能である必要がある。
【００３０】
ＮＶメモリデータ”ＤＩＮ（ｄ：０）”または”ＤＯＵＴ（ｄ：０）”の暗号化（書き込みアクセスの場合、参照符号１２０ｗ）、または、暗号解読（読み込みアクセスの場合、参照符号１２０ｒ）のため、このROMコードバイトは、そこで、極端な場合には、N[on]V[olatile]メモリモジュール１０のコードスペースとちょうど同じサイズである、キースペース（key space）が生成されるように、キーバイトとしてまたはキーバイトの一部として使用される。
【００３１】
（ｉｉ）リセットフェイズにおける、つまり、特に、リセットシーケンスの際における、特定のROMコードバイトの一回限りの読み出し、および、メモリモジュール１０への少なくとも１回のアクセスのときまで、つまり、ROMコードバイトが、メモリモジュール１０の少なくとも１つの書き込み動作または読み出し動作に必要とされるまでの、少なくとも１つのキーレジスタ１８におけるそれらのROMコードバイトの格納による、キーコードの生成：
コントローラの”リセットシーケンス”の一部として、多くのROMコードバイトがコードROMモジュール２０から読み出され、キーレジスタ１８に格納される。
【００３２】
メモリモジュール１０への書き込みまたは読み出しアクセスの場合は、それらのキーレジスタ１８の内容は、NVメモリデータ”ＤＩＮ（ｄ：０）”または”ＤＯＵＴ（ｄ：０）”を個々に暗号化または暗号解読するための、キーとしてまたはキーの一部として、使用される。
【図面の簡単な説明】
【００３３】
【図１】本発明に従って実行される暗号化／暗号解読方法を利用する、本発明に従う回路構成の実施例の概略的なブロック図である。
【符号の説明】
【００３４】
１００  電子データ処理のための回路構成
１０    N[on]V[olatile]メモリモジュール
１２    メモリモジュールインタフェイス論理回路
１４    メモリモジュールインタフェイス論理回路１２の暗号化／暗号解読論理回路
１６    暗号化／暗号解読論理回路１４のキーアドレス生成ユニット
１８    暗号化／暗号解読論理回路１４のキーレジスタ
２０    コードＲ[ead]Ｏ[nly]Ｍ[emory]モジュール
２２    コードROMインタフェイス論理回路
２４    コードROMインタフェイス論理回路２２のマルチプレックスユニット
１２０ａ  メモリモジュールインタフェイス論理回路１２からメモリモジュール１０へのアドレスデータ”ＡＤＤＲ（ａ：０）”
１２０ｒ  メモリモジュール１０からメモリモジュールインタフェイス論理回路１２への信号データ”ＤＯＵＴ（ｄ：０）”
１２０ｗ  メモリモジュールインタフェイス論理回路１２からメモリモジュール１０への信号データ”ＤＩＮ（ｄ：０）”
１６２ａ  キーアドレス生成ユニット１６からマルチプレックスユニット２４へのROMキーアドレスデータ
２２０ａ  マルチプレックスユニット２４からコードROMモジュール２０へのアドレスデータ”Ａ”
２２０ｒ  コードROMモジュール２０からコードROMモジュールインタフェイス論理回路２２へのROMコードデータまたはROMコードバイト”ＤO”
１２ａ  ＣＰＵからメモリモジュールインタフェイス論理回路１２へのアドレスデータ”CPU NV addr”
１２ｒ  メモリモジュールインタフェイス論理回路１２からＣＰＵへの信号データ” CPU NV read data”
１２ｗ  ＣＰＵからメモリモジュールインタフェイス論理回路１２への信号データ” CPU NV write data”
Ｃ２２ａ  ＣＰＵからマルチプレックスユニット２４へのＣＰＵ ROMアドレスデータ”ＣＰＵ ROM addr”
Ｃ２２ｒ  コードROMモジュール２０からＣＰＵへのROMコードデータ”ＣＰＵ ROM read data”
【図１】
0004611027.tif 000002