(57)【要約】本発明は、中央処理装置（１０）がメモリ（１３）にアクセスするために使用するアドレス（ＬｏｇＡｄｒ）に対して２段階でスクランブルをかける方法に関する。第１の暗号化論理（１１）は、固定された不変のキー（ＫＥＹ１）を適用し、一方、第２の暗号化論理（１２）は、メモリ（１３）内に記憶された変化可能な第２のキー（ＫＥＹ２）を適用する。中央処理装置（１０）の初期化段階中に書き込まれたコンフィギュレーションデータは、第２の暗号化論理（１２）の迂回中にバイパス（１５）を介してアクセスされる特定のコンフィギュレーション領域内に記憶されることが好ましい。上記バイパスは、第１段階で暗号化されるアドレス（Ｃｉｐｈｅｒ１）と初期化段階中に記憶された値（ＳｅｃＲｏｗＣｉｐｈｅｒ１，ＳｅｃＲｏｗＣｉｐｈｅｒ２）とを比較するバイパス論理（１４）によってアクティブにされる。
2004525470.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置とメモリとの間でのデータ送信を保護する方法であって、前記中央処理装置によって供給される論理アドレスが、変化不可能に記憶された第１のキーを用いてエンコードされる方法において、このようにしてエンコードされた前記アドレスの少なくとも一部は、変化可能に記憶された第２のキーを用いて再びエンコードされることを特徴とする方法。
【請求項２】
前記メモリは、コンフィギュレーション領域と実用データ領域とに論理的に分割され、前記コンフィギュレーション領域へのアクセスは、前記第１のキーだけを用いてエンコードされ、前記実用データ領域へのアクセスは、更に前記第２のキーを用いてエンコードされることを特徴とする請求項１に記載の方法。
【請求項３】
前記第２のキーは、前記コンフィギュレーション領域内に記憶されることを特徴とする請求項２に記載の方法。
【請求項４】
前記第１及び第２のキーを用いた連続的なエンコード時に、前記第１のキーだけを用いてエンコードされた前記コンフィギュレーション領域のアドレスに対応する値をとる論理アドレスは、前記メモリへのアクセス前に、前記第２のキーを用いて更に１回エンコードされることを特徴とする請求項１乃至３のいずれかに記載の方法。
【請求項５】
前記第１のキー及び／又は前記第２のキーを用いた前記エンコードは、二重適用時の同一性を与えることを特徴とする請求項１乃至４のいずれかに記載の方法。
【請求項６】
前記第２のキー、及び／又は、エンコードされるアドレスを前記第１のキーだけを用いて認識できる値は、前記中央処理装置の初期化中に読み出され又は計算されることを特徴とする請求項１乃至５のいずれかに記載の方法。
【請求項７】
アドレスライン及びデータラインを介してメモリに接続された中央処理装置と、前記アドレスライン中に設けられ且つ前記中央処理装置によって供給される論理アドレスを変化不可能に記憶された第１のキーを用いてエンコードする第１の暗号化論理とを備えたデータ処理ユニットにおいて、前記アドレスライン中に設けられるとともに、前記第１のキーを用いてエンコードされた前記アドレスの少なくとも一部を、変化可能に記憶された第２のキーを用いて再びエンコードする第２の暗号化論理を備えていることを特徴とするデータ処理ユニット。
【請求項８】
請求項１乃至６のいずれかに記載の方法を実行することができるように適合させられていることを特徴とする請求項７に記載のデータ処理ユニット。
【請求項９】
前記第１の暗号化論理によって生成された及び／又は使用されたアドレスを入力として受けるとともに、前記アドレスが所定の値に対応するときに前記第２の暗号化論理のバイパスをアクティブにするバイパス論理を備えていることを特徴とする請求項７又は８に記載のデータ処理ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中央処理装置とメモリとの間でのデータ送信を保護する方法であって、中央処理装置によって供給される論理アドレスが変化不可能に記憶された第１のキーによってエンコードされる方法に関する。また、本発明は、アドレスライン及びデータラインを介してメモリに接続された中央処理装置と、上記アドレスライン中に設けられ且つ上記中央処理装置によって供給される論理アドレスが変化不可能に記憶された第１のキーを用いてエンコードする第１の暗号化論理とを備えたデータ処理ユニットに関する。
【背景技術】
【０００２】
ほとんど総てのデータ処理システムにおいては、中央処理装置とメモリとの間が接続されている。メモリ内のデータを不正から保護するため、データを暗号形式により記憶することが知られている。メモリ内に記憶されたデータを暗号化する動的な方法は、例えば、米国特許第５，９８７，５７２号に記載されている。この方法において、データは、変化可能なキーを用いてエンコードされるが、このキーは、かなりの計算労力を必要とする。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
また、特にスマートカードのための暗号化方法が知られている。スマートカードは、セキュリティに関連するデータのキャリアとしての小切手保証カード、マネーカード、ＩＤカード等として益々使用されており、プロセッサをオフに切換えた後、即ち、外部からの任意の電流供給が無くてもその内容を保持する不揮発性メモリを有している。スマートカードにおける周知の暗号化方法において、メモリのアドレスは、ハードウェアに記憶された又はＲＯＭメモリに記憶されたキーにより、スクランブルがかけられる。このことは、中央処理装置によって供給され又は使用されるデータの論理アドレスが、キーにより、一対一の関係で、その後にメモリ内にデータが物理的に存在する他のアドレス上にコピーされることを意味する。この方法が比較的単純であることは事実であるが、この方法は、一度解析されて解読されたスクランブリングが同じタイプ又は同じＲＯＭコードの総てのシステムに転送可能であるという欠点を有している。従って、１つの不正な解読が多数のスマートカードのセキュリティを脅かす。また、上記方法は、メモリ内のデータを常に同じ（スクランブルがかけられた）アドレスから戻すことができるため、メモリの内容を使用不可能にするためには内容全体を消去しなければならないという欠点を有している。
【課題を解決するための手段】
【０００４】
従って、本発明の目的は、中央処理装置に関連付けられたメモリ内のデータを十分に保護する方法及びデータ処理ユニットを提供することである。
【０００５】
この目的は、請求項１に記載された方法によって、また、請求項７に記載されたデータ処理ユニットによって解決される。有利な実施の形態は従属請求項に記載されている。
【０００６】
上記方法は、中央処理装置とメモリとの間でのデータ送信を保護するために使用され、特に、メモリ内のデータが読み取られたり不正に使用されたりすることを防止する。上記方法において、中央処理装置によって使用されて供給されるデータの論理アドレスは、変化不可能に記憶された第１のキーを用いてエンコードされる。この第１のキーは、例えばハードウェアコンフィギュレーション内又はＲＯＭメモリ（ＥＰＲＯＭ、ＥＥＰＲＯＭ等を含む）内に記憶することができる。また、上記方法は、上記第１のキーを用いてエンコードされたアドレスの少なくとも一部が、変化可能に記憶された第２のキーを用いて再びエンコードされることを特徴とする。
【０００７】
変化可能なキーを用いたアドレスの第２の暗号化は、第２のキーを個々に与えることによって、このタイプの各データ処理システム毎にデータを個別に暗号化できるという利点を有している。第１の暗号化段階、即ち、第１のキーが不正な攻撃により解読される場合であっても、同じ第１のキーを用いて同じタイプの総てのシステムによりデータをデコードすることはできない。なぜなら、これらのデータは、異なる第２のキーを用いて、毎度、スクランブルがかけられているからである。従って、上記方法によれば、メモリ内に記憶されたデータを極めて十分に保護することができる。
【０００８】
また、上記方法は、変化可能な第２のキーを変更することにより又は上書きすることにより、メモリの内容を使用不可能にすることができる。これは、総てのメモリを消去する必要なく、又は、乱数を用いて第２のキーを上書きする必要なく、行なうことができる。
【０００９】
上記方法の更なる実施の形態において、メモリは、コンフィギュレーション領域と実用データ領域とに論理的に分割される。上記コンフィギュレーション領域へのアクセスは、上記第１のキーだけを用いてエンコードされ、上記実用データ領域へのアクセスは、更に上記第２のキーを用いてエンコードされる。「コンフィギュレーション領域」という名前が既に示しているように、データ処理システム又は中央処理装置のコンフィギュレーションに関連するデータは、この領域に記憶されることが好ましい。このようにして、上記中央処理装置は、第２のキーを知らなくても、又は、第２のキーを使用しなくてもアクセスすることができる。これは、中央処理装置を初期化する際に特に有益である。なぜなら、その後、第２のキーと無関係な同じサイトでコンフィギュレーションデータが常に見出されるからである。
【００１０】
前述したように分割されるメモリ内において、上記第２のキーは、上記コンフィギュレーション領域内に記憶されることが好ましい。中央処理装置が初期化される場合、この領域から第２のキーを読み出すことができるとともに、その後、第２のキーを使用して第２のエンコード操作を行なうことができる。第２のキーを記憶するための別個のメモリは必要ない。このことは、特に、スマートカードの場合に有益である。
【００１１】
上記方法の更なる実施の形態においては、最初に上記第１のキーを使用し且つその後に上記第２のキーを使用する連続的なエンコード時に、第１のキーだけを用いてエンコードされた上記コンフィギュレーション領域のアドレスに対応する値をとる論理アドレスは、上記メモリへのアクセス前に、上記第２のキーを用いて更に１回エンコードされる。この方法は、以下の背景を有している。上記コンフィギュレーション領域がメモリ内に記憶されるときに第１のキーだけが使用されるため、この領域は、第１及び第２のキーの両方を用いたエンコード後に同じサイトに記憶されるメモリ内のアドレスと衝突する。この衝突を防止し且つ衝突によるデータ損失を防止するため、最後に述べたアドレスに対して二度目に第２のキーが適用され、これにより、これらのアドレスは、第１及び第２の暗号化の適用時にコンフィギュレーション領域によって想定された自由領域へと送られる。
【００１２】
第１及び第２のキーによるエンコード操作は、第１のエンコード操作が二重に適用される場合又は第２のエンコード操作が二重に適用される場合に同一性が得られるように規定されることが好ましい。従って、任意のエンコード機能は、同時に、それ自身の逆の値を表わす。
【００１３】
本発明の更なる実施の形態において、上記第２のキー、及び／又は、エンコードされるアドレスを第１のキーだけを用いて認識できる値は、中央処理装置の初期化中に読み出され又は計算される。従って、中央処理装置の初期化段階は、ハードウェア及び永久に記憶されたコンフィギュレーションが等しいそのシステムの総てにおいて同様に進行することができる。しかし、初期化段階中、各システム毎に個々のデータが生成されて記憶され、このデータは、その後、個々の暗号化を確保する。
【００１４】
また、本発明は、アドレスライン及びデータラインを介してメモリに接続された中央処理装置を備えるデータ処理ユニットに関する。また、データ処理ユニットは、上記アドレスライン中に設けられ且つ上記中央処理装置によって供給される論理アドレスを変化不可能に記憶された第１のキーを用いてエンコードする第１の暗号化論理を備えている。上記データ処理ユニットは、上記アドレスライン中に設けられ且つ上記第１のキーを用いてエンコードされた上記アドレスの少なくとも一部を変化可能に記憶された第２のキーを用いて再びエンコードする第２の暗号化論理を備えていることを特徴とする。そのようなデータ処理ユニットは、特にスマートカードであってもよい。
【００１５】
上記データ処理ユニットは、第２のキーとは無関係に、メモリ内のデータを個々に暗号化又はスクランブリングすることができるという利点を有している。そのため、第１のキーを用いた第１の暗号化論理の不正な復号化によって、総ての類似のデータ処理ユニットのデータに勝手にアクセスすることができない。むしろ、各データ処理ユニットは、そのようなアクセスのために第２のキーを必要とする。
【００１６】
また、上記データ処理ユニットは、前述したタイプの方法をこのユニットで行なうことができるように設計され又は適合されることが好ましい。
【００１７】
上記データ処理ユニットは、特に、上記第１の暗号化論理によって生成された及び／又は使用された論理アドレスを入力として受けるとともに、上記アドレスが所定の値に対応するときに上記第２の暗号化論理のバイパスをアクティブにするバイパス論理を備えていてもよい。このバイパス論理によって、第２の暗号化を選択的にオフに切換えることができる。このことは、第１の暗号化論理だけを用いて暗号化されなければならない前述したコンフィギュレーション領域を適用する場合に、特に有益である。
【００１８】
本発明のこれらの態様及び他の態様は、以下に説明する実施の形態から明らかとなる。
【発明を実施するための最良の形態】
【００１９】
図１は、中央処理装置１０とこれに接続されたメモリモジュール１３とを備えるデータ処理ユニット１００の必須の構成要素を示している。データ処理ユニットは、特にスマートカード１００であってもよい。この場合、メモリ１３は、コスト的な理由から、特に保護されるべきコンフィギュレーションパラメータ、制御データ、プログラムコード及びプログラムデータの両方を記憶する不揮発性メモリである。
【００２０】
物理的な解析からメモリ１３の内容を保護するため、中央処理装置１０によって使用され且つ第１の暗号化論理１１を介してアドレスライン上に与えられる論理アドレスＬｏｇＡｄｒをエンコードすることは知られている。論理アドレスＬｏｇＡｄｒは、ハードウェアコンフィギュレーション内又はＲＯＭメモリ内に記憶されたキーＫＥＹ１により、一対一のコピーＣ１としてアドレス「Ｃｉｐｈｅｒ１（暗号１）」に変換される。従って、データライン１９によって送信されたデータ又はアドレスは、これらがメモリ１３内に記憶される前にスクランブルがかけられる。
【００２１】
所定のキーＫＥＹ１を使用する暗号化論理１１を一つだけしか持たない周知のシステムは、メモリ１３内のデータを個々に保護しないため、本発明においては、第１の暗号化論理１１とメモリ１３との間のアドレスライン中に第２の暗号化論理１２が設けられる。第２の暗号化論理１２は、その一対一の変換Ｃ２のために第２のキーＫＥＹ２を使用する。第１のキーＫＥＹ１とは異なり、この第２のキーは、固定されず、可変形式でメモリ１３内に記憶される。第２のキーＫＥＹ２の値は、初期化中、データライン１９を介してメモリ１３から読み出される。
【００２２】
このように、第１の暗号Ｃ１及び第２の暗号Ｃ２を連続的に適用すると、アドレスＬｏｇＡｄｒにスクランブルをかけて、各スマートカード１００毎に第２のキーＫＥＹ２により予め個別に定めることができる物理メモリアドレスＰｈｙＡｄｒを形成し、これをメモリ３内に記憶することができる。
【００２３】
中央処理装置１０の初期化段階中、第２の暗号化論理１２は、第１の暗号化論理１１及び第１のキーＫＥＹ１によって予め定められるメモリ１３の同じサイトで中央処理装置のコンフィギュレーションデータが常に見出されるようにオフに切換えられることが好ましい。また、コンフィギュレーション領域のそのような「固定された」場所は、第２のキーＫＥＹ２を暗号化論理１２のためにその後に利用できるように、初期化中にメモリ１３だけから第２のキーＫＥＹ２を読み出す可能性を与える。
【００２４】
第２の暗号化論理１２を迂回しながらメモリモジュール１３内のコンフィギュレーション領域にアクセスできるように、データ処理ユニット１００は、第２の暗号化論理１２を迂回するバイパス１５と、バイパス１５をオンとオフとに選択的に切換えることができるバイパス論理１４とを備えている。バイパス論理１４の入力部は、ライン１６を介して、第１の暗号化論理１１によって暗号化された現在のアドレスＣｉｐｈｅｒ１を受ける。この値は、２つの記憶された値であるＳｅｃＲｏｗＣｉｐｈｅｒ１及びＳｅｃＲｏｗＣｉｐｈｅｒ２と比較される。Ｃｉｐｈｅｒ１がこれら２つの記憶された値の一方と等しい場合、バイパス論理１４は、バイパス１５をアクティブにして、第２の暗号化論理１２を迂回しながらメモリ１３にアクセスできるようにする。
【００２５】
前述した２つの記憶されたアドレスＳｅｃＲｏｗＣｉｐｈｅｒ１及びＳｅｃＲｏｗＣｉｐｈｅｒ２は、中央処理装置１０の初期化中、接続ライン１７、１８を介して記憶される。初期化は、以下のようにして進行する。
【００２６】
まず、第２の暗号化論理１２は、初期化中にメモリ１３のコンフィギュレーション領域から読み出された第２のキーＫＥＹ２を、ローカルメモリ内に記憶する。全初期化段階中、バイパス１５がアクティブにされ、これにより、アドレスＰｈｙＡｄｒ＝Ｃｉｐｈｅｒ１を用いて第１の暗号化論理１１だけを介してメモリ１３にアクセスすることができる。その後、初期化段階中、第２の暗号化論理１２は、ＳｅｃＲｏｗＣｉｐｈｅｒ１に基づいて第１のキーＫＥＹ１を用いて生成されたコンフィギュレーション領域のＣｉｐｈｅｒ１アドレスと、ＳｅｃＲｏｗＣｉｐｈｅｒ２に基づいて第２のキーＫＥＹ２を用いて生成されたコンフィギュレーション領域のＣｉｐｈｅｒ２アドレスとを記憶する。これは、バイパス１５がアクティブにされている間、行なわれる。
【００２７】
初期化段階を終了した後、一般に、バイパス１５は非アクティブにされ、これにより、基本的には、スクランブルコードＣ１、Ｃ２がメモリアドレスＬｏｇＡｄｒに適用される。
【００２８】
初期化段階中に記憶された２つのアドレスＳｅｃＲｏｗＣｉｐｈｅｒ１又はＳｅｃＲｏｗＣｉｐｈｅｒ２の一方をバイパス論理１４がその入力部でＣｉｐｈｅｒ１アドレスとして認識したときだけ、バイパス論理１４は、このアクセスのためのバイパス１５をアクティブにし、これにより、第２の暗号化論理１２が迂回される。従って、コンフィギュレーション領域のアドレスは、第２のスクランブルコピーＣ２によって影響されない。
【００２９】
図２は、スクランブルコード、即ち、図１に示されるデータ処理システム１００におけるアドレスのコピーを概略的に示している。
【００３０】
論理アドレスＬｏｇＡｄｒは、最初に、コピーＣ１を用いた第１の暗号化論理１１により、アドレスＣｉｐｈｅｒ１に変換される。コピーＣ２を用いた第２の暗号化論理１２を使用することにより、これらの各アドレスＣｉｐｈｅｒ１から、２回暗号化されるアドレスＣｉｐｈｅｒ２が生成される。このアドレスＣｉｐｈｅｒ２は、メモリの物理的な記憶場所ＰｈｙＡｄｒを示している。
【００３１】
総ての論理アドレスＬｏｇＡｄｒに関してコピーＣ１、Ｃ２が連続的に使用される場合には、メモリのアドレス場所ＰｈｙＡｄｒにおけるこれらのアドレスの一対一のスクランブリングが行なわれる。
【００３２】
しかしながら、前述した理由により、第１のスクランブルコードＣ１のみによってメモリ内の領域Ｋ’にコピーされるコンフィギュレーション領域Ｋを論理アドレス場所に設けることが望ましい。これは、バイパス論理１４がその入力部でコンフィギュレーション領域のＣ１暗号化アドレス即ちＳｅｃＲｏｗＣｉｐｈｅｒ１を認識したときにバイパス論理１４により第２の暗号化論理１２が確実に迂回されるという点で、図１のデータ処理ユニット１００において行なわれる。
【００３３】
第１の暗号Ｃ１の単一の適用によってコンフィギュレーション領域Ｋがコピーされるメモリの領域Ｋ’は、通常、第１の暗号Ｃ１及び第２の暗号Ｃ２を連続的に適用することにより、論理アドレス場所ＬｏｇＡｄｒの他の領域Ｘによって占有される。この衝突を防止するため、上記領域Ｘは、第１の暗号Ｃ１及び第２の暗号Ｃ２を連続的に適用するときにコンフィギュレーション領域Ｋが位置付けられるメモリの自由領域Ｋ”＝Ｘ”にコピーされる。これは、第１の暗号Ｃ１及び第２の暗号の二重適用（Ｃ２）２により論理アドレス場所の領域Ｘをコピーすることにより行なわれる。
【００３４】
第２の暗号Ｃ２がその二重適用によって同一性が得られるような逆暗号である場合には、前述した領域Ｘの転位はかなり単純化される。この場合、第２の暗号の二重適用（Ｃ２）２を行なわなくて済み、コンフィギュレーション領域Ｋと同様に、第１の暗号Ｃ１のみを用いて領域Ｘをメモリ内にコピーしなければならない。図１のデータ処理ユニット１００のバイパス論理１４は、この状況を認識する。即ち、アドレスＳｅｃＲｏｗＣｉｐｈｅｒ２がバイパス論理１４の入力部に存在し、このアドレスは、第１の暗号Ｃ１及び第２の暗号Ｃ２をコンフィギュレーション領域Ｋに適用するときに得られるメモリ内のコンフィギュレーション領域Ｋ”のアドレスに対応している。
【００３５】
図面に単なる一例として示された上記方法は、コンフィギュレーション領域内で第２のキーＫＥＹ２をプログラミングして第２のキーＫＥＹ２を個別に供給できるようにすることにより、クライアントのためにメモリ１３を個人化する場合など、いつでも、ユーザデータのスクランブリングを変えることができるという利点を有している。このことは、不正検査の試みをかなり難しくする。なぜなら、各システムが他のシステムに送信できない個別のスクランブルコードを有しているからである。また、第２のキーＫＥＹ２を変えるメモリ１３のコンフィギュレーション領域における各操作により、実用データ領域のスクランブルコードが即座に変化し、従って、ユーザデータを使用できなくなる。このことは、ランダムデータによるメモリの初期化と類似している。しかしながら、実用データ領域のためのこの別個のスクランブリング機構は、初期化段階中におけるメモリ１３のコンフィギュレーション領域への安全なアクセスに影響を与えない。
【図面の簡単な説明】
【００３６】
【図１】本発明に係るデータ処理ユニットの構成要素を概略的に示している。
【図２】異なる暗号化段階でのアドレスを概略的に示している。
【符号の説明】
【００３７】
１００  データ処理ユニット
１０  中央処理装置
１１  第１の暗号化論理
１２  第２の暗号化論理
１３  メモリ
１４  バイパス論理
１５  バイパス
１６  ライン
１７，１８  初期化ライン
１９  データライン
ＬｏｇＡｄｒ  論理アドレス
Ｃｉｐｈｅｒ１  １回暗号化されたアドレス
Ｃｉｐｈｅｒ２  ２回暗号化されたアドレス
ＫＥＹ１，ＫＥＹ２  キー
ＰｈｙＡｄｒ  物理アドレス
Ｋ  コンフィギュレーション領域
Ｃ１  第１のスクランブルコード
Ｃ２  第２のスクランブルコード
【国際公開パンフレット】
2004525470.tif 000003
2004525470.tif 000004
2004525470.tif 000005
2004525470.tif 000006
2004525470.tif 000007
2004525470.tif 000008
2004525470.tif 000009
2004525470.tif 000010
2004525470.tif 000011
2004525470.tif 000012
2004525470.tif 000013
2004525470.tif 000014
2004525470.tif 000015
【国際公開パンフレット（コレクトバージョン）】
2004525470.tif 000016
【国際調査報告】
2004525470.tif 000017
2004525470.tif 000018