(57)【要約】【課題】機密データを処理するデータ処理装置を提供する。【解決手段】データ処理装置は、処理回路の現在の状態を保持する、少なくともそのいくつかが直列に配置された複数の状態保持セルを含む処理回路、暗号化回路およびハイバーネイト信号入力を含む。データ処理装置は、ハイバーネイト信号入力に受信したハイバーネイト信号に応答して、データ処理装置がパワー・アップされた動作モードから、少なくとも処理回路がパワー・ダウンされる低電力モードへの切り替えを実行する。データ処理装置は、処理回路をパワー・ダウンする前に、処理回路の状態を複数の保持セルから出力し、暗号化回路を使用して出力状態を暗号化し、暗号化された状態を記憶装置に保存する。【選択図】図１
2008204459.tif 000002
【特許請求の範囲】
【請求項１】
機密データを処理するデータ処理装置であって、
処理回路であって、前記処理回路の現在の状態を保持する、少なくともそのいくつかが直列に配置された複数の状態保持セルを含む処理回路と、
暗号化回路と、
ハイバーネイト信号入力と、
を含み、
前記データ処理装置は、前記ハイバーネイト信号入力にハイバーネイト信号を受信するとそれに応答して、前記データ処理装置がパワー・アップされた動作モードから、少なくとも前記処理回路がパワー・ダウンされる低電力モードへの切り替えを実行し、前記データ処理装置は、前記処理回路をパワー・ダウンする前に、前記処理回路の状態を前記複数の保持セルから出力し、前記暗号化回路を使用して前記出力状態を暗号化し、前記暗号化された状態を前記記憶装置に保存するように動作する、
データ処理装置。
【請求項２】
請求項１記載のデータ処理装置であって、前記複数の状態保持セルは、直列に配置され、また１つのスキャン・チェーンを含んでいる前記データ処理装置。
【請求項３】
請求項１記載のデータ処理装置であって、前記複数の状態保持セルは、互いに並列に配置された複数のスキャン・チェーンを含んでいる前記データ処理装置。
【請求項４】
請求項１記載のデータ処理装置であって、前記データ処理装置は、前記記憶装置を含み、前記記憶装置は、前記低電力モードの間にデータを保持するように動作する前記データ処理装置。
【請求項５】
請求項１記載のデータ処理装置であって、前記データ処理装置は、チップ上に形成される前記データ処理装置。
【請求項６】
請求項１記載のデータ処理装置であって、前記データ処理装置は、中央演算ユニットである前記データ処理装置。
【請求項７】
請求項１記載のデータ処理装置であって、前記データ処理装置は、更に別の処理回路を含み、前記別の処理回路は、コプロセッサおよび中央演算ユニットの少なくとも１つを含む前記データ処理装置。
【請求項８】
請求項１記載のデータ処理装置であって、前記回路は、更にハイバーネイト状態制御論理を含み、前記ハイバーネイト状態制御論理は、前記ハイバーネイト信号入力に前記ハイバーネイト信号を受信すると、それに応答して前記データ処理装置の前記状態の出力および暗号化を開始し、また前記暗号化された状態の記憶を制御するように動作する前記データ処理装置。
【請求項９】
請求項８記載のデータ処理装置であって、前記データ処理装置は、更に不揮発性データ記憶場所を含み、前記ハイバーネイト状態制御論理は、更に、前記動作モードの間に暗号化キーを発生させるように前記暗号化論理を制御し、また前記不揮発性データ記憶場所に前記暗号化キーを保存するように前記データ処理装置を制御するように動作する前記データ処理装置。
【請求項１０】
請求項１記載のデータ処理装置であって、前記データ処理装置は、更に不揮発性データ記憶場所を含み、前記不揮発性データ記憶場所は、前記暗号化論理が使用する暗号化キーを記憶する前記データ処理装置。
【請求項１１】
請求項１記載のデータ処理装置であって、前記データ処理装置は、更にウエイク信号入力および暗号解読回路を含み、前記データ処理装置は、前記ウエイク信号入力にウエイク信号を受信すると、それに応答して前記低電力モードから前記動作モードへの切り替えを行い、前記暗号解読回路は、前記記憶されていた状態を解読し、前記状態を前記処理回路に復元するように動作する前記データ処理装置。
【請求項１２】
請求項１０記載のデータ処理装置であって、前記暗号化回路および暗号解読回路は、単一のハードウエア暗号装置を含む前記データ処理装置。
【請求項１３】
請求項１記載のデータ処理装置であって、前記データ処理装置は、更にチェック論理を含み、前記チェック論理は、前記状態からチェック値を取り出すように動作し、前記暗号化論理は、前記チェック値を暗号化するように動作し、前記チェック値は、前記暗号化された状態と一緒に前記記憶装置に記憶される前記データ処理装置。
【請求項１４】
請求項１記載のデータ処理装置であって、前記データ処理装置は、更にチェック論理を含み、前記チェック論理は、前記暗号化された状態からチェック値を取り出すように動作し、前記チェック値は、前記暗号化された状態を記憶する前記記憶装置と別の不揮発性メモリに記憶される前記データ処理装置。
【請求項１５】
請求項１２記載のデータ処理装置であって、前記データ処理装置は、更にウエイク信号入力および暗号解読回路を含み、前記データ処理装置は、前記ウエイク信号入力にウエイク信号を受信すると、それに応答して前記低電力モードから前記動作モードへの切り替えを行うように動作し、前記暗号解読回路は、前記記憶されていた状態を解読して、前記状態を前記処理回路に復元するように動作し、ここで前記暗号解読回路は、前記チェック値から前記暗号化された状態の完全性を判定するように動作する前記データ処理装置。
【請求項１６】
請求項１記載のデータ処理装置であって、前記データ処理装置は、予め定められた状態を検出すると、それに応答して前記ハイバーネイト信号を生成するように動作する前記データ処理装置。
【請求項１７】
ハイバーネイションの間にプロセッサの状態を安全に保存する方法であって、
処理回路の現在の状態を保持する、少なくともいくつかが直列に配置された複数の状態保持セルを含む前記処理回路を用いて機密データを処理する工程と、
ハイバーネイト信号入力にハイバーネイト信号を受信する工程と、
前記ハイバーネイト信号に応答して、前記処理回路の状態を前記状態保持セルから出力することによって、前記データ処理装置がパワー・アップされている動作モードから、少なくとも前記処理回路がパワー・ダウンされる低電力モードに切り替える工程と、
暗号化回路を使用して前記出力状態を暗号化する工程と、
前記暗号化された状態を記憶装置に保存する工程と、
前記処理回路をパワー・ダウンする工程と、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムの分野に関する。更に詳細には、本発明は、機密データを処理する処理装置のハイバーネイションの分野に関する。
【背景技術】
【０００２】
システム、特に電池で動作するシステムが、特定の状態、例えば、ユーザが予め定められた時間内に何も操作を行わないとか、電池残量が特定のレベル以下になったときなどに応じて、自動的に低電力モードに入ったり、ハイバーネイションしたりすることによって電力を節約することは、知られている。これを行う際には、再びパワー・アップしたときに、プロセッサを同じ状態に復元できるように、プロセッサの状態を保存しておく必要がある。状態は、保全できるどこかの場所に保存される必要があり、プロセッサがチップ内にある場合は、チップがパワー・ダウンされることから、これは、チップから明確に離れることになる。プロセッサが機密データを処理する場合、このようにデータがチップを離れることは、セキュリティ上のリスクにつながる可能性がある。
【０００３】
いくつかのシステムでは、ＣＰＵが低電力モードに入ることをユーザが希望する旨を指示すると、ＣＰＵの状態を保存する前に、それを暗号化するソフトウエアを使用することが知られている。例えば、Ｗｉｋｉｐｅｄｉａのモジュールｓｕｓｐｅｎｄ２のＥｎｃｒｙｐｔＳｗａｐＡｎｄ  Ｒｏｏｔを参照。これは、信頼できないアクセスから、デリケートな情報を含むＣＰＵの状態を保護することを可能にする。これは、ユーザがＣＰＵをパワー・ダウンすると、それに応答してソフトウエアによって実行される。
【０００４】
更に、プロセッサをテストするスキャン・チェーンをプロセッサが有することが知られている。これらを利用して、フリップ・フロップのチェーンに任意のパターンを入力して、および／又は各々のフリップ・フロップの状態を読み出すことができる。これもまた、スマート・カードなどのセキュア・システムにおいて機密データが漏洩する原因となる可能性を有する。このことについては、Ｎｗｏｐｈａｓｉｓ  Ａｒｃｈｉｖｅｓ  ＩＳＮ−〜００８７の「ハッカーの入口と呼ばれるスキャン・デザイン（Ｓｃａｎ  ｄｅｓｉｇｎ  ｃａｌｌｅｄ  ｐｏｒｔａｌ  ｆｏｒ  ｈａｃｋｅｒｓ）」で議論されており、そこでは、スキャン・チェーンへの入力に復号論理、出力に符号化論理をおくことが示唆されている。符号化論理と復号化論理が異なれば、スキャン・インしたものをスキャン・アウトできないことが保証される。これは、セキュリティを強化する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
機密データを処理し、低電力又はハイバーネイション状態に入るシステムのセキュリティを高めることは、望ましいことである。
【課題を解決するための手段】
【０００６】
本発明の第１の態様は、機密データを処理するデータ処理装置を提供する。前記データ処理装置は、処理回路であって、前記処理回路の現在の状態を保持する、少なくともそのいくつかが直列に配置された複数の状態保持セルを含む処理回路、暗号化回路およびハイバーネイト信号入力を含み、前記データ処理装置は、前記ハイバーネイト信号入力にハイバーネイト信号を受信すると、それに応答して前記データ処理装置がパワー・アップされた動作モードから、少なくとも前記処理回路がパワー・ダウンされる低電力モードへの切り替えを行い、前記データ処理装置は、前記処理回路をパワー・ダウンする前に、前記処理回路の状態を前記複数の保持セルから出力し、前記暗号化回路を使用して前記出力状態を暗号化し、前記暗号化された状態を前記記憶装置に保存する。
【０００７】
ハイバーネイト信号を受信すると、それに応答してパワー・ダウンするように動作するデータ処理装置は、パワー・ダウンの前に状態を記憶する必要がある。この状態の記憶は、特に、他のプロセッサがアクセスできる場所に記憶される場合、セキュリティ・リスクとなる。従って、このデータを暗号化することが好都合である。しかし、ハイバーネイションへの切り替えの間に行われる任意の暗号化は、迅速かつ効率的に行われなければならない。さもなければ、このモードへの切り替えによって実現する電力節約が相殺される。実質的に、ハイバーネイションが電力節約技術であるとすれば、この状態への切り替え時に多くの処理を実行することは、明らかに有利でない。本発明は、処理回路の状態を保持する状態保持セルを活用して、少なくとも部分的にシリアルな形でこの状態を復元する。すなわち、これは、ユーザに対して透明な処理回路の状態全体を復元する便利な方法であるのみならず、それは、回路の状態を１又は複数のシリアル・データ・ストリームの形で生成する。これは、ハードウエア的な暗号化機構を用いた暗号化を効率的なものとする。すなわち、マシン状態の暗号化は、状態を保存しながら、迅速かつ電力効率的に行うことができる。
【０００８】
いくつかの実施の形態で、前記複数の状態保持セルは、シリアルに配置され、またスキャン・チェーンを含む。
【０００９】
処理回路は、しばしばスキャン・チェーンを含み、これらを用いてマシン状態を出力できる。これは、単一のスキャン・チェーンの場合もあり、その場合、処理回路の状態が単一のデータ・ストリームとして出力されるし、また複数のスキャン・チェーンの場合には、並列的なデータ・ストリームが生成される。いずれの場合も、簡単なコマンドに応答して状態を復元することができ、また効率的な方法で暗号化できる。
【００１０】
いくつかの実施の形態で、前記データ処理装置は、前記記憶装置を含み、前記記憶装置は、前記低電力モードの間にデータを保持するように動作する。他の実施の形態で、記憶装置は、データ処理装置の外部にある。
【００１１】
もし記憶装置がデータ処理装置の内部にあれば、状態は、データ処理装置の内部に保存される。もしこれがデータ処理装置の外部にあれば、これに関連して特別なセキュリティの問題が存在することになり、そのような状況では、処理回路の状態を暗号化することが特に有利となる。
【００１２】
いくつかの実施の形態で、前記データ処理装置は、チップ上に形成される。
【００１３】
本発明は、チップ上に形成されたデータ処理装置に特に適用できる。このようなケースで、状態の暗号化は、チップ内部で行うことができ、従ってこれによって可能性のあるハッキング攻撃に対して堅牢なものとなる。
【００１４】
処理回路は、複数の形態を取ることができ、いくつかの実施の形態では、中央演算ユニットである。
【００１５】
いくつかの実施の形態で、データ処理装置は、更にコプロセッサのような別の処理回路又は別の中央演算ユニットを含む。
【００１６】
いくつかの実施の形態で、前記回路は、更にハイバーネイト状態制御論理を含み、前記ハイバーネイト状態制御論理は、前記ハイバーネイト信号入力に前記ハイバーネイト信号を受信するとそれに応答して、前記データ処理装置の前記状態の出力および暗号化を開始し、前記暗号化された状態の記憶を制御するように動作する。
【００１７】
ハイバーネイションへの切り替えの制御は、ハイバーネイト状態制御論理によって実行できる。このようなケースで、この論理は、状態の暗号化およびこの暗号化された状態の記憶も制御する。
【００１８】
いくつかの実施の形態で、前記データ処理装置は、更に不揮発性データ記憶場所を含み、前記ハイバーネイト状態制御論理は、更に前記動作モード中に前記暗号化論理を制御して暗号化キーを発生させ、また前記データ処理装置を制御して前記暗号化キーを前記不揮発性データ記憶場所に記憶させるように動作する。
【００１９】
暗号化キーは、データ処理装置内の不揮発性データ記憶場所に記憶することが有利である。これは、それの保全を可能とし、またそれに対するアクセスを困難なものとする。更に、この暗号化キーの生成を動作モードの間に行うのが有利である。キーを連続的に生成することによって、セキュリティの堅牢性が向上する。
【００２０】
他の実施の形態で、前記データ処理装置は、更に不揮発性データ記憶場所を含み、前記不揮発性データ記憶場所は、前記暗号化論理が使用する暗号化キーを記憶する。
【００２１】
これは、暗号化キー生成論理がなくて、各々のデータ処理装置は、不揮発性データ記憶場所に記憶されたそれ自身のキーを備えているということである。これにより、キーを生成する必要がなくなるが、ハッキングに対する堅牢性は、低下する。
【００２２】
いくつかの実施の形態で、前記データ処理装置は、更にウエイク信号入力および暗号解読回路を含み、前記データ処理装置は、前記ウエイク信号入力にウエイク信号を受信するとそれに応答して、前記低電力モードから前記動作モードへの切り替えを行い、前記暗号解読回路は、前記記憶されている状態を暗号解読し、前記処理回路に前記状態を復元させるように動作する。
【００２３】
ウエイク時には、暗号化された状態を復元する前に、暗号解読する必要がある。
【００２４】
いくつかの実施の形態で、暗号化および暗号解読回路は、別々のユニットとすることができるが、他の実施の形態では、これらを単一のハードウエア装置とすることができる。
【００２５】
いくつかの実施の形態で、前記データ処理装置は、更にチェック論理を含み、前記チェック論理は、前記状態からチェック値を抽出するように動作し、前記暗号化論理は、前記チェック値を暗号化するように動作し、前記チェック値は、前記暗号化された状態と一緒に前記記憶装置に記憶される。
【００２６】
状態の記憶が成功したことをチェックするために、また可能性のあるハッカーによって改ざんされていないことをチェックするために、チェック論理を利用することができ、これは、チェック値を計算して、このチェック値を記憶することができる。これは、暗号化されていない状態に対して実行することができ、チェック値は、状態と一緒に暗号化でき、それと一緒に記憶できる。あるいは、これを暗号化された状態に対して実行することもできて、その場合、チェック値は、暗号化された状態と別に記憶すべきである。いずれの場合でも、チェック論理を設けることによって、ハッカーが状態に改ざんを加えたかどうかを判断する助けが得られる。もしそうであれば、データ処理装置は、ウエイク・アップによって復元される代わりに、リセットできる。
【００２７】
いくつかの実施の形態で、前記暗号解読回路は、前記チェック値から前記暗号解読された状態の完全性を判定するように動作する。
【００２８】
暗号解読時に、暗号解読論理は、予想されるチェック値を決定および計算することができ、もしこれが保存されているものと異なれば、状態が改ざんされたことが分かり、プロセッサの状態は、復元されずにリセットされる。
【００２９】
いくつかの実施の形態で、前記データ処理装置は、予め定められた状態の検出に応答して、前記ハイバーネイト信号を生成するように動作する。
【００３０】
ハイバーネイト信号は、複数の方法によって生成できるが、これは、自動的に生成できる。暗号化がハードウエア的に実行されるという事実のせいで、これを自動的な信号に応答して迅速かつ効率的に実行できることから、本発明の実施の形態は、ハイバーネイト信号の自動生成に特に適している。
【００３１】
本発明の別の態様は、ハイバーネイションの間にプロセッサの状態を安全に保存する方法を提供する。これは、処理回路の現在の状態を保持する、少なくともいくつかが直列に配置された複数の状態保持セルを含む前記処理回路を用いて機密データを処理する工程、ハイバーネイト信号入力にハイバーネイト信号を受信する工程、前記ハイバーネイト信号に応答して、前記処理回路の状態を前記状態保持セルから出力することによって、前記データ処理装置がパワー・アップされている動作モードから、少なくとも前記処理回路がパワー・ダウンされる低電力モードに切り替える工程、暗号化回路を使用して前記出力状態を暗号化する工程、前記暗号化された状態を記憶装置に保存する工程および前記処理回路をパワー・ダウンする工程を含む。
【００３２】
本発明の上記およびその他の目的、特徴および利点は、添付図面を参照しながら読むべき例示的実施の形態に関する後述の詳細な説明から明らかになろう。
【実施例】
【００３３】
図１は、本発明の１つの実施の形態に従うデータ処理チップ５を示しており、また処理チップがハイバーネイト・モードに入るときに、処理チップの保存された状態を記憶するオフ・チップのメモリ記憶場所７を示す。データ処理チップ５は、スキャン・イネーブル入力１２とスキャン・チェーン１６とを有するＣＰＵ１０を含む。この実施の形態で、ＣＰＵが示されているが、当業者には、明らかなように、本発明の実施の形態は、他の処理ブロックにも適用可能である。スキャン・チェーン１６は、入力および出力を有し、これらは、それぞれ暗号化回路２０および暗号解読回路２４に接続されている。この実施の形態で、これらは、別々の回路として示されているが、当業者には、明らかなように、これを単一の暗号ブロックとすることもできる。
【００３４】
これに加えて、データ処理チップ５は、ハイバーネイション時にＣＰＵ状態をオフ・チップに保存する前に、これの暗号化を制御するように動作するハイバーネイト暗号化制御論理３０を含む。処理チップ５は、また記憶およびチェック・サム論理５０を制御するメモリ・インタフェース４０を含む。処理チップ５４は、またオン・チップのキー発生器６０および不揮発性キー記憶領域６２を含む。不揮発性キー記憶ユニット６２は、常にパワー・オンされるドメインにあり、従って、ハイバーネイションの間にこの情報が失われることはない。
【００３５】
ハイバーネイト暗号化制御論理３０は、ハイバーネイト又はウエイク信号を受信する入力３２を有する。入力３２にハイバーネイト信号を受信すると、それに応答して、ハイバーネイト暗号化制御論理３０は、出力３３からＣＰＵ１０のスキャン・イネーブル入力１２にスキャン・イネーブル信号を送るように動作する。これは、スキャン・チェーン１６を活性化し、ＣＰＵ１０の状態が次にスキャン・チェーン１６を介してスキャン・アウトできることを意味する。この実施の形態で、互いに並列になった複数のスキャン・チェーン１６が示されている。当業者には、明らかなように、単一のスキャン・チェーンのみであったり、あるいは、複数のスキャン・チェーンであったりすることが可能である。スキャン・チェーンは、シリアル・シフト・レジスタとして機能し、実質的にＣＰＵ１０の状態を含むデータをそこからシリアルにシフト・アウトする。並列になった複数のスキャン・チェーンを有することで、この情報をシフト・アウトする時間が短縮される。この出力データは、次に、状態を暗号化するように機能する暗号化論理２０に送られる。スキャン・チェーンの性質は、データ出力が１つ又は複数のシリアル・データ・ストリームとして出力されることを意味する。シリアル・データ・ストリームがハードウエア暗号化に特に適しているため、これは、都合が良い。暗号化論理は、並列に到着するデータの集合を暗号化するよりも、データのシリアル・ストリームを暗号化するほうがやさしいことを知る。暗号化論理２０は、別の入力２２を有し、ここに暗号化キーが入力される。暗号化キーは、不揮発性キー記憶６２に保存される。この実施の形態で、暗号化キーは、オン・チップのキー発生器６０から生成される。従って、処理チップ５の機能的動作モードの間に、このオン・チップのキー発生器は、キーを生成し、このキーを不揮発性記憶６２に保存するように振舞う。チップの動作中に新しいキーを生成することによって安全性が強化される。別のやり方は、永久的に暗号化キーを不揮発性キー記憶６２に保存するものである。この暗号化キーは、チップ５の製造時にキー記憶に保存され、この特別なチップ固有のものであるか、あるいは、複数のチップに対して固定された１つのキーである。これにより、オン・チップのキー発生器６０を設ける必要がなくなるが、新しいキーを連続的に発生させる場合と比べて、安全性の堅牢さは、劣る。
【００３６】
暗号化された状態は、次に、メモリ・インタフェース４０の制御下にあるオフ・チップ・メモリ７に保存される。これをオフ・チップに保存する前に、チェック・サム発生器５０を用いてチェック・サムを実行することができる。チェック・サムは、冗長度チェックの１つの形であり、データ中にエラーを検出することによってデータの完全性を保護する非常に簡便な尺度である。これは、データの主要成分を加算していって、結果の値を記憶させることによって機能する。後に、データに対して誰でも同じ演算を実行し、結果を本物のチェック・サムと比較することができる。そして（サムが一致したと仮定して）データは、多分破壊されていないと結論づけることができる。チェック・サムは、暗号化の前にデータに対して実行することができ、次にチェック値を暗号化し、データと一緒に保存できる。あるいは、図示のように、暗号化されたデータに対してチェック・サムを実行することもできる。この場合は、チェック・サム値は、それ自身が暗号化されるのではないので、暗号化されたデータと異なる場所に記憶すべきである。
【００３７】
この実施の形態では、データを検証するために、そのデータに対してチェック・サムを実行するように示しているが、当業者には、明らかなように、データに対して異なる計算を実行して、このデータを検証する結果を生成することも可能である。例えば、暗号化されたデータおよび保存されているそれの値に対してハッシュ関数を実行することができる。ハッシュ関数は、入力として任意の長さのデータの長いストリングを取り、出力として固定長のストリングを生成する。これは、しばしばデジタルな指紋と呼ばれる。この関数は、一方通行の関数であるため、ハッシュからデータに関する情報を得ることは、できない。データに対して再び関数を実行しても同じ結果が得られるはずであり、もしそうでなければ、データが改ざんされたことを示している。ハッシュ関数は、データに関する情報を何も与えないため、これをデータと一緒に保存してかまわない。
【００３８】
この実施の形態で、状態を保存するメモリがオフ・チップにあるように示されているが、当業者には、明らかなように、オン・チップにあってもよい。しかし、本発明の実施の形態は、安全性の問題が特に重要であることから、オフ・チップ・メモリ記憶に特に適している。
【００３９】
一旦この情報が保存されると、処理チップ５は、次にハイバーネイション・モードに入り、チップの一部をパワー・ダウンすることができる。これは、ＣＰＵ１０を含み、またチップのその他多くの部分を含むことができる。これは、不揮発性キー記憶ユニット６２を含まない。それは、ＣＰＵの状態を復元するためにこのキーが必要だからユニット６２のパワーを保つ必要があるためである。注意すべき点は、この不揮発性データ記憶場所がハイバーネイトの間に常時パワー・アップされているチップ部分にあるメモリであるか、又はフラッシュのようにパワーなしで状態を保持できるメモリであるか、あるいは、もしキーが動作中に生成されるものでなくて製造時にセットされたものであれば、キーは、システムに固定配線されるということである。
【００４０】
注意すべき点は、プロセッサの状態を出力するためにスキャン・チェーンを使用することは、これらのシリアルな特性から望ましいのみならず、単一の信号に応答して状態が単に自動的に保持され、次に出力されることからも望ましいことである。これも注意すべき点は、ハイバーネイト信号入力３２のハイバーネイト信号は、ユーザが与えることができるが、予め定められた状態に応答して自動的に生成することもできることである。これは、予め定められた時間内にユーザから入力がないとか、電池残量が特定のレベルを下回ったときとか、あるいは、任意の複数の予め定められた条件が成立したときである。
【００４１】
ＣＰＵをハイバーネイト状態からウエイクすることが望ましいとき、ウエイク信号が入力３２に入力され、チップ全体がパワー・アップされ、ハイバーネイション制御論理３０が次に処理チップ５を制御してそれの状態を復元させるように振舞う。このように、信号がメモリ・インタフェース４０を通って出力３４を経由して送られ、保存されていた暗号化された状態が次にメモリ・インタフェース４０を経由して暗号解読回路２４に送られる。これは、ハイバーネイト制御論理によって制御され、キーが不揮発性キー記憶場所６２から暗号解読論理に送られる。暗号解読論理は、次に暗号化されたデータのストリームを解読し、これらは、スキャン・チェーンを経由して送られて、ＣＰＵ１０の状態を復元できる。一旦ＣＰＵが復元されると、それは、処理を続けることができる。
【００４２】
暗号解読論理２４を経由してデータを解読するとき、状態が改ざんされていないことをチェックするためにチェック・サムやハッシュ生成を実行する場合は、チェックを行うこともできる。もし状態が改ざんされていれば、これは、復元されず、ＣＰＵは、リセットされる。
【００４３】
図２は、緊密に結合されたハイバーネイション暗号化機能を有するＡＲＭ（登録商標）Ｔｒｕｓｔｚｏｎｅ（登録商標）コアを有するデータ処理装置５を示す。ＡＲＭ（登録商標）Ｔｒｕｓｔｚｏｎｅ（登録商標）コアは、機密データを処理し、機密データを危険な処理から保護するように動作するＡＲＭ（登録商標）セキュリティ・システムである。ＡＲＭ（登録商標）Ｔｒｕｓｔｚｏｎｅ（登録商標）システムの詳細は、例えば、同時譲渡された同時係属米国特許出願第１０／７１４，５６１号に見出すことができる。データ処理装置５は、緊密に結合されたハイバーネイト暗号化論理８０を備えるセキュアＴｒｕｓｔｚｏｎｅ（登録商標）処理コア１０を有する。これは、またバス、メモリ・コントローラ、その他周辺回路、暗号化キーを発生させるために使用できる乱数発生器６０および暗号化および暗号解読キーを保存する不揮発性キー記憶領域６２を有する。またフラッシュ・メモリ９２およびＳＤＲＡＭ９４を含む外部メモリもある。コア１０の暗号化された状態は、ハイバーネイションの間、ＳＤＲＡＭ９４中に記憶することができる。明示的に示されていないが、コア１０は、プロセッサの状態を保持し、スキャン・アウトするスキャン・チェーンを有する。ハイバーネイション時に、この状態は、ハイバーネイト暗号化論理８０にスキャン・アウトされて、記憶する前に暗号化される。
【００４４】
図３Ａは、本発明の１つの実施の形態に従ってセキュア・コアをハイバーネイトする方法の工程を示すフロー図を示す。このシステムで、予め定められた時間ｔ内に入力が検出されないとき、ハイバーネイト信号が生成され、ハイバーネイト制御論理に対して発行される。スキャン・セルの状態は、従って保全され、暗号化キーが取り出される。保全される状態は、次にプロセッサからスキャン・アウトされ、この出力状態が、次に暗号化される。次に、暗号化された状態に対してハッシュ関数が実行され、計算されたハッシュ値が不揮発性メモリに保存される。次にプロセッサは、パワー・ダウンされる。
【００４５】
図３Ｂは、本発明の１つの実施の形態に従ってハイバーネイトされたセキュア・コアをウエイクする方法の工程を示すフロー図を示す。最初に、ウエイク信号が検出され、これに応答してプロセッサがパワー・アップされる。次に暗号化キーが取り出される。次に暗号化された状態およびハッシュ値が不揮発性メモリ記憶から取り出されて、これに対してハッシュ関数が実行される。もし計算されたハッシュ値が取り出されたものと一致すれば、多分データは、破壊されておらず、暗号化された状態が暗号解読されて、スキャン・チェーンを通してプロセッサに復元される。次に動作モードが再開される。
【００４６】
もしハッシュ値が記憶されていたハッシュと同じでなければ、データは、多分改ざんされており、従って、これを解読することをせずに、プロセッサの状態は、復元されない。その代わり、プロセッサは、リセットされて、保存されていた暗号化された状態は、破棄される。
【００４７】
機密データがなければ状態を暗号化する理由がないことから、本発明の実施の形態は、セキュア・システムに適用可能である。
【００４８】
本発明の例示的実施の形態についてここに添付図面を参照しながら詳細に説明してきたが、本発明がこれらの実施の形態にそのまま限定されることがなく、また添付された特許請求の範囲によって定義される本発明の範囲および精神から外れることなく、当業者には、各種の変更および修正が思いつかれることは、理解されるべきである。
【図面の簡単な説明】
【００４９】
【図１】本発明の１つの実施の形態に従うデータ処理装置の模式図。
【図２】Ｔｒｕｓｔｚｏｎｅ（登録商標）システムに応用された本発明の実施の形態の回路図。
【図３Ａ】本発明の１つの実施の形態に従ってハイバーネイトするときに実行される工程を示すフロー図。
【図３Ｂ】本発明の１つの実施の形態に従ってハイバーネイト・システムをウエイクさせるときに実行される工程を示すフロー図。
【符号の説明】
【００５０】
５  データ処理チップ
７  メモリ記憶場所
１０  ＣＰＵ
１２  スキャン・イネーブル入力
１６  スキャン・チェーン
２０  暗号化回路
２２  入力
２４  暗号解読回路
３０  ハイバーネイト暗号化制御論理
３２  入力
３４  出力
４０  メモリ・インタフェース
５０  チェック・サム論理
６０  キー発生器
６２  不揮発性キー記憶領域
８０  ハイバーネイト暗号化論理
９２  フラッシュ・メモリ
９４  ＳＤＲＡＭ
【図１】
2008204459.tif 000003
【図２】
2008204459.tif 000004
【図３Ａ】
2008204459.tif 000005
【図３Ｂ】
2008204459.tif 000006
【外国語明細書】
2008204459000001.pdf