(57)【要約】【課題】電子取引、電子金融取引などで必要な機密保護モード機能を提供することを目的とする。【解決手段】信頼できる命令を外部からアクセスできないＲＯＭの内部に格納し、機密保護モードへの切り換え手順および機密保護モード環境設定手順をこれらの命令で作成する。この様に設定された機密保護モード環境では、全ての使用者インタフェース駆動装置も上記の信頼できる命令のみで構築する。また、機密保護モードで使用者端末が動作していることを使用者に示す指示器を具備する。この様に、プロセッサ・コア、命令およびデータ・キャッシュ、書き込みバッファおよびメモリ管理ユニットを含むプロセッサ・システム（１０）上に、非侵略的な方法で構築された機密保護モード（特権の第３レベル）が具備される。【選択図】図１
2004199693.tif 000002
【特許請求の範囲】
【請求項１】
デジタル・システムの動作方法であって、
信頼されたコードのみが実行可能な、機密保護動作モードを用意し、
デジタル・システムの使用者が見ることが可能で、機密保護動作モード中に信頼されたプログラム・コードでのみ起動できる指示器装置を用意するステップを含む前記方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にマイクロ・プロセッサに係わり、更に詳細には秘密保護ソフトウェア・サービスを支持する秘密保護機構の改善に関する。
【背景技術】
【０００２】
マイクロ・プロセッサは、その上で動作するソフトウェアを実行するための高い命令処理能力を提供する汎用プロセッサであり、関連する個別のソフトウェア・アプリケーションに依存して、広範な処理要求を持つことが可能である。多くの異なる型式のプロセッサが知られており、その中でマイクロ・プロセッサは、１つの例に過ぎない。例えば、デジタル信号処理装置（DSP）は、広範に使用されており、特に移動体処理アプリケーションの様な特定のアプリケーションで著しい。ＤＳＰは、典型的に関連するアプリケーションの性能を最適化するように構成されており、これを実現するためにＤＳＰは、更に特殊化された実行ユニットおよび命令セットを採用している。特に、移動体遠距離通信の様なアプリケーションでは、これに限定するわけではないが、電力消費を可能な限り低く保ちながらＤＳＰ性能の更なる向上を提供することが望ましい。
【０００３】
デジタル・システムの性能を更に改善するために、２つまたはそれ以上のプロセッサを相互接続することが可能である。例えば、ＤＳＰをディジタル・システム内で汎用プロセッサと相互接続することが出来る。ＤＳＰは、数値主体の信号処理アルゴリズムを実行し、一方、汎用プロセッサは、全体的な制御フローを管理する。２つのプロセッサは、通信して信号処理用のデータを共有メモリ経由で転送する。ダイレクト・メモリ・アクセス（ＤＭＡ）制御装置が、多くの場合プロセッサと関連付けられており、１つのメモリまたは周辺機器から別のメモリまたは機器へデータ・ブロックの転送負荷を引き受けることによってプロセッサの性能を改善している。
【０００４】
オペレーティング・システム（ＯＳ）は、一般的にデジタル・システムを管理するために具備されており、種々のプログラム・モジュールまたはタスクの資源制御およびスケジュール実行を行う。複数のプロセッサを具備したシステムは、各々のプロセッサに対して個別のＯＳを持つことが好適である。一般的に１つのＯＳは、全システム資源を管理するものと考えられている。多くのＯＳは、他のＯＳとメモリおよび資源を共有するようには設計されていない。従って、２つまたはそれ以上のＯＳが単一システム内で組み合わされている場合に、資源割り当ての問題が発生する可能性がある。メモリまたは周辺装置の過剰使用による軋轢は、システム運用上ひどい結果をもたらすはずである。
【０００５】
ほとんどのプロセッサは、２つの特権レベルを具備するように構築されている。１つは、ＯＳに対して、もう１つは、使用者タスクに対してである。第３特権レベルの提案が行われてきているが、これは、現行のＣＰＵでは、ほとんど実現されていない。
【０００６】
オペレーティング・システムの中には、特定の金融または安全重視アプリケーションに対する機密保護が保証されているものもある。汎用オペレーティング・システムの中には、機密保護が構築されていると公称するものも有るが、それらが脆弱であることは公然のものである。
【０００７】
機密保護を改善するためのハードウェア機構を採用することも可能である。例えば、米国特許第４５９０５５２号、名称「不揮発メモリ内に格納されている情報の機密保護状態を示すための機密保護ビット」は、格納されたデータの機密保護を行うための機構を開示しており、オフ・チップ資源がオン・チップ・メモリにアクセスすることを禁止するように恒久的にセットされた１つまたは複数のビットを具備することにより、オン・チップ・メモリ内に格納されているコードまたはデータを保護している。しかしながら、オペレーティング・システムの誤動作により、そのような機密保護対策は破られてしまう。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ｍコマース（移動体取引）またはｅバンキング（電子銀行取引）のようなアプリケーションの機密保護クラスを可能とする高度機能機器では、使用者は、秘密情報、例えば、キーボード上でパスワードを入力したり、または画面上に表示されたメッセージにサインするように要求される。これを行う場合、使用者は他の選択肢がないので自己の機器の完全性に全て依存している。しかしながら、使用者は、ハッカまたはウィルスが自己の機器の機密保護の枠組みに侵入したか否かを検出する手段を持たない。
【課題を解決するための手段】
【０００９】
従って、システム機密保護の改善が必要である。一般的に、そして本発明の形式として、デジタル・システムにプロセッサ・システムを侵害的しないように構築された機密保護モード（特権の第３レベル）が具備されている。従って機密保護実行モードがプラットフォーム上に具備されていて、ここでは唯一信頼されたソフトウェアは、オン・チップＲＯＭ上に格納されたコードのみである。デジタル・システムの使用者が監視可能な指示装置が具備されており、その指示装置は、機密保護モード動作中に信頼されたプログラム・コードによってのみ稼働される。
【発明の効果】
【００１０】
１つの実施例において、機密保護モードは、ユニークなエントリ点を通して入る。入口／出口条件を全面的にハードウェアで査定することにより、機密保護実行モードにダイナミックに入ったり出たりすることが可能である。
【実施例】
【００１１】
次に本発明に基づく個々の実施例が単に例示を目的とした添付図面を参照して説明されるが、添付図面の中で同じ参照番号が同一部品を示すために使用されており、また断りの無い限り、これらの図は、図１のデジタル・システムに関連する。
【００１２】
使用者と交換する機密事項に関する情報、例えば、パスワードまたはスクリーン上に表示されたメッセージは、処理装置が機密保護モードの時にのみ実行されなければならない。機密保護モードを提供する装置および方法は、係属の特許出願「ＭＭＵおよび割込を支持するプロセッサに対する機密保護モード」ＥＰシリアル番号第０２１００７２７．３号、２００２年６月３０日出願に記載されている。機密保護モードの十分な説明がここに含まれており、当業者がその動作を理解することが可能である。
【００１３】
機密保護モードでは、キーボードまたは表示器の様な物理的使用者インタフェースへのアクセスが制限されて、信頼されたドライバを通してアプリケーションを保護している。機密保護モードでキーボードおよび表示器へのアクセスがロックされるというだけでは、使用者とのやり取りを完全に保護するには充分でない。本発明者により、使用者に対してＯＳが適切な信頼されたキーボードまたは表示器ドライバ、すなわち、機密保護メモリ内に格納されていて、機密保護モードへ入ることを実行するドライバを必要としていることを指示する装置が必要であることが見出されている。そうでなければ、ウィルス／ハッカが偽造したドライバを高度機能装置にダウンロードした場合、使用者はその装置を信頼できるか否かを知る方法がないからである。
【００１４】
本発明の１つの機能に基づけば、機密保護アプリケーションを実行する高度機能装置は、表示器およびキーパッドに加えて機密保護モード指示器を有する。この指示器は、使用者に対してその装置が機密保護モードにあることを通知する。この指示器は、例えば、小さなＬＥＤである。使用者は、その機密保護モード指示器が消えている場合には、機密情報（パスワード）を入力すべきではないし、スクリーン上に表示されているいずれのものにもサインすべきではない。指示器が消えている間に使用者がピン・コードの入力を促される場合、使用者は、自己の装置が故障しており、その装置が機密保護動作を提供出来ないことを理解することになる。
【００１５】
この機能を実現するために、機密保護モード時のみアクセス可能な、汎用入力／出力（GPIO）ラッチ・ビット１５４が図１のデジタル・システム上に具備されている。この機密保護ＧＰＩＯラッチは、機密保護指示器ＬＥＤ１５５を駆動するために使用される。機密保護ＲＯＭ／ＳＲＡＭ（読み取り専用メモリ／スタティック・ランダムアクセス・メモリ）から機密保護モードで動作中の信頼されたキーボードおよび表示器ドライバには、機密保護ＧＰＩＯラッチを管理する責任がある。
【００１６】
機密保護モード指示器は、キーボードおよび表示器から独立していなければならないが、それは非機密保護アプリケーション・ソフトウェアは、非機密保護モード中に、これらの装置にアクセス可能だからである。特に、表示器上に表示される「パスワードを入力して下さい」のようなメッセージは、一般的に信用できないものである。更に、スクリーン上に表示されたシンボルまたはメッセージ、例えば、機密保護動作を示す鍵記号は、信頼に足るものではなく、それはスクリーンが侵害コードでアクセスできるためである。機密保護指示器は、その装置が機密保護モードで動作している時にのみ、確実に指示しなければならない。使用者は、機密保護モード指示器が点灯していない場合、如何なる重要な情報、例えば、パスワードの入力またはスクリーン上に署名をしないように通知されなければならない。
【００１７】
図１は、複数のプロセッサ１０２，１０４を有するメガセル１００内に、本発明の一実施例を含むデジタル・システムのブロック図である。明瞭にする目的で、図１は、本発明の実施例を理解するに必要なメガセル１００の部分のみを示す。デジタル信号処理装置（ＤＳＰ）の一般的な構造は、良く知られており、他のどこかで容易に見つけられる。例えば、米国特許第５，０７２，４１８号、フレデリック・ボタード（Frederick Boutaud）その他に付与は、ＤＳＰを詳細に記述している。米国特許第５，３２９，４７１号、ゲリー・スボボダ（Gary Swoboda）その他に付与は、ＤＳＰの試験およびエミュレーション方法の詳細を記述している。本発明の実施例に関係するメガセル１００部分の詳細は、マイクロ・プロセッサ技術分野の当業者が本発明を作成し使用できることを目的として、これから十分詳しく説明される。
【００１８】
本発明は、例えば、特定用途向け集積回路（ＡＳＩＣ）内に実現するデジタル・システムに特に応用されるが、他の形式のシステムにも用途はある。ＡＳＩＣは、１つまたは複数のメガセルを内蔵し、その各々は、設計ライブラリから供給される事前設計された機能回路と結合され、専用に設計された機能回路を含む。
【００１９】
選択されたハードウェア・ブロックと保護されたソフトウェア実行環境とを組み合わせて使用する、分散型機密保護システムがメガセル１００に具備されている。分散型機密保護システムは、移動体電話環境内の電子取引（e-コマース）および移動体取引（m-コマース）機密保護問題を解決するための１つの解決策である。機密保護問題とは、下記を含む。
・秘密性：通信相手同士のみが転送された情報を理解できるように保証すること。
・完全性：情報が転送中に改変されないように保証すること。
・認証性：自称している通信相手であることを保証すること。
・否認防止性：送信者がメッセージを送信したことを拒否できないように保証すること。
・消費者保護：ペンネームおよび匿名性。
・クローンに対する保護
【００２０】
現在のオペレーティング・システム（ＯＳ）は、機密保護がなされているとは考えられない。ＯＳの中には機密保護を唱えるものもあるが、それらの複雑さはこれを実現することまたは保証することを難しくしている。電子取引およびその他の機密保護処理では、機密保護ソフトウェア層が必要とされる。これは、既存のＯＳに対して透過性を保ちつつ、実時間割込およびＯＳサポートを行いながら、メモリ管理ユニット（ＭＭＵ）およびキャッシュの使用に対応しなければならない。
【００２１】
多くのアプリケーションにおいて、ソフトウェアのみによる解決方法は、ロバスト性に乏しく、これらの問題は、ハードウェアとソフトウェア・アーキテクチャとを上手に組み合わせることによってのみ解決できることが判明している。本実施例で使用されている機密保護モードは、ハードウェアのロバスト性を機密保護機能全体にもたらすように開発されており、以下の仮定に基づいている。
・オペレーティング・システム（ＯＳ）は、信用ならない。
・プラットフォーム上で動作している全ての既存のソフトウェアは、信用ならない。
・唯一信用できるソフトウェアは、機密保護プログラムＲＯＭ／ＳＲＡＭ内に格納されているコードである。
・性能上の理由からキャッシュは、使用可能である。
・実時間性の理由から割込は、可能である。
・フレキシビリティの観点からＭＭＵは、使用可能である。
【００２２】
以上の仮定から以下の結論が導かれる。第１に、ＯＳのメモリ管理は、信用できない。すなわち、ＭＭＵ動作およびＯＳで定義された翻訳テーブルは、信頼できない。機密保護モードは、全てのＭＭＵ誤使用およびＯＳが定義した翻訳テーブルが汚染されているかもしれないという事実に対して、耐久力が無ければならない。第２に、ＯＳが定義した割込ベクトル表および割込サービス処理ルーチンは、信用できない。機密保護モードでは、割込の特別管理を実現して、その機密保護モードが全ての割込の誤使用および割込ベクトル表およびＩＳＲが汚染されているかもしれないという事実に対して耐久力が無ければならない。第３に、コンテクスト保存、キャッシュ・フラッシュ、ＴＬＢフラッシュ、書き込みバッファ消去などのようなＯＳ基本動作の完全性は、保証されず、機密保護モードは、それらに依存すべきではない。最後に、といって重要でないいわけではないが、全てのテスト、デバッグおよびエミュレーション機能は、機密保護モード中は動作不能とする必要がある。
【００２３】
本実施例において、分割「機密保護モード」がプロセッサ１０２に対して生成されており、これが機密保護動作を実行中に別の「仮想機密保護プロセッサ」として動作可能としている。この機密保護モードは、プロセッサ１０２に対する第３特権レベルと見ることができる。その起動は、特定ハードウェアの存在を前提としており、このハードウェアは、機密事項に拘わる情報が信用のないソフトウェアからアクセスされることを防止するための環境を生成することである。機密保護モードは、専用機密保護モード信号１５２をアクティブな状態にすることにより設定され、この信号は、システムを横断して伝搬され、信用できるソフトウェアがアクセスできる資源と、全てのソフトウェアが利用可能な資源との境界を作り出す。
【００２４】
機密保護モードの起動は、また、機密保護ソフトウェアで適切に制御されて行われる。機密保護ソフトウェアは、機密保護プログラムＲＯＭ／ＳＲＡＭの中に格納され、そこから実行される。信用されていないコードがハードウェアを騙して機密保護モードに切り換えたり、または信用されたコードに、それが行うべきではないタスクを実行させるような可能性のあるフローは、存在しない。その境界が適切に生成されている場合、プロセッサの通常動作を用いて情報を境界の内側から外側へ、制御された操作を通さずに移動させる方法は、存在しない。プロセッサの通常動作は、欠陥を含む可能性のある「使用者コード」の実行も含む。
【００２５】
機密保護ソフトウェア層は、信用に足り、機密保護メモリ内に格納されている。機密保護ソフトウェア層へは、ソフトウェア・シーケンスを通して導かれ、このソフトウェア・シーケンスは、ハードウェア機密保護状態機械（ＳＳＭ）１５０が確実に機密保護コードを実行するように促し、これは、ＭＭＵ修正変更に対する保護を行いながら、単一の機密保護ゲートウェイを通して機密保護モードに切り換えることで行われる。機密保護ソフトウェアが機密保護モードで実行中に、割込ベクトルがリダイレクトされて、必要で有れば機密保護制御ソフトウェアが機密保護モードからの適切な退出を開始できるようにしている。このリダイレクト処理は、ＯＳに対して透過的に行われ、いかなる機密保護データも遷移の後に見られることがないように防止している。
【００２６】
ＧＰＩＯラッチ１５４は、メモリ・マップ・ラッチであって、これが機密保護ソフトウェアからのみアクセスされまた起動されることを除いて、従来と同じ方法で動作する。指示器１５５は、ＧＰＩＯ１５４に結合されており、ＧＰＩＯに応答して点灯される。指示器１５５は、ラッチ１５４の中に論理値、例えば、論理１を書き込むことにより点灯され、相補論理値、例えば、論理０をラッチ１５４の中に書き込むことにより消灯される。ラッチ１５４は、周辺機器バス信号１５６を経由してコア１０３からアクセスされる。しかしながら、ＧＰＩＯラッチ１５４の動作は、ＳＳＭ１５０で制御されている機密保護信号１５２により条件が付けられている。従ってＧＰＩＯ１５４は、機密保護信号１５２がオン状態で、プロセッサ１０２が機密保護ソフトウェア処理ルーチンを実行中であることを示している時にのみ書き込み可能である。本実施例では、指示器１５５は、発光ダイオード（ＬＥＤ）である。しかしながら、別の実施例として２つの異なる状態、オンおよびオフを表示する任意の型式の指示器を使用することが可能である。例えば、ネオン、プラズマなどの種々の型式のランプが使用可能である。種々の機械装置が使用可能であり、例えば、回転してオン／オフ状態を示す異なる色を表示する円板、またはオン／オフ状態を表す指示器を動かす駆動装置などである。別の実施例では、この２つの状態は、表面の生地、高さ、温度などを変化させて示すことが可能であり、目の不自由な方や身体に障害を持つ方が２つの状態を検出できるようにできる。例えば、触知装置を点字表示装置と共に具備することが可能である。別の実施例では、指示器にオーディオ指示器を具備している。例えば、１つの音調を出して機密保護モード状態がオンであることを示すことができる。しかしながら、音調は、非機密保護音響源で模擬することができるので、特別な注意が必要である。
【００２７】
再び図１に戻ると、メガセル１００は、３２ビット・コア１０３を具備したマイクロ・プロセッサ（ＭＰＵ）１０２と、ＤＳＰコア１０５を具備したデジタル信号処理装置（ＤＳＰ）１０４を含み、これらは、メモリ１１３の１ブロックを共有していて、これは、レベル２（Ｌ２）メモリ・サブシステムと呼ばれる。トラヒック制御ブロック１１０は、ホスト・インタフェース１２０ｂに接続されているホスト・プロセッサから転送要求を、制御プロセッサ１０２から要求を、またＤＳＰ１０４内のメモリ・アクセス・ノードから転送要求を受け取る。トラヒック制御ブロックは、これらの要求をインタリーブして、それらを共有メモリおよびキャッシュに送る。共有周辺機器１１６もまたトラヒック制御ブロック経由でアクセスされる。直接メモリ・アクセス制御装置１０６は、オフ・チップ・メモリ１３２またはオン・チップ・メモリ１３４のような外部資源と共有メモリとの間データを転送することが可能である。種々のアプリケーション特定プロセッサまたはハードウェア加速器１０８をメガセル内に種々のアプリケーションの要求に応じて含むことが可能であり、ＤＳＰおよびＭＰＵとトラヒック制御ブロックを経由して相互作用することが可能である。
【００２８】
メガセルの外側には、レベル３（Ｌ３）制御ブロック１３０が接続されていて、ＤＳＰまたはＭＰＵからの明示的な要求に応答して内部制御ブロック１１０からのメモリ要求を受け取る。オフ・チップ外部メモリ１３２および／またはオン・チップ・メモリ１３４がシステム・トラヒック制御装置１３０に接続されている。これらは、Ｌ３メモリ・サブシステムと呼ばれる。フレーム・バッファ１３６および表示装置１３８がシステム・トラヒック制御装置に接続されており、グラフィック画像を表示するためのデータを受け取る。ホスト・プロセッサ１２０ａは、システム・トラヒック制御装置１３０を通して外部資源と相互作用を行う。トラヒック制御装置１３０に接続されたホスト・インタフェースは、ホスト１２０ａによる外部メモリおよびトラヒック制御装置１３０に接続された他の装置へのアクセスを可能とする。従って、ホスト・プロセッサを種々の実施例において、レベル３またはレベル２に接続することが可能である。固有周辺機器１４０の一組がＤＳＰに接続されており、一方、固有周辺機器１４２の別の組がＭＰＵに接続されている。
【００２９】
図２は、図１のシステムに示すＭＰＵ１０２のブロック図であり、選択されたハードウェア・ブロックと機密保護状態機械３００で強化された被保護ソフトウェア実行環境との組み合わせを使用した分散型機密保護を図示する。デジタル・システムの別の実施例において、プロセッサ１０２は、単一プロセッサとして存在していても構わないし、または例えば、協調動作用に１つまたは複数のプロセッサに結合されていても構わない。
【００３０】
機密保護モードは、プロセッサ１０２に対する「特権の第３レベル」である。この機密保護モードは、適切な実行環境が設定されている場合に、プロセッサ・サブシステム（ＣＰＵ）２００の機密保護資源に対するアクセスを制限するためのハードウェア装置を提供する。機密保護モードは、ＣＰＵ２００の周辺に構築され、これは、プロセッサ・コア、データおよび命令キャッシュ２０４，２０６並びにＭＭＵ２１０を含む。好適に本実施例の機密保護機能は、ＣＰＵ２００に対して不侵入であり、別の実施例では、別のプロセッサを本プロセッサの代わりに使用することが可能である。
【００３１】
機密保護ハードウェアは、２種類である。機密保護信号を制御するロジックおよび機密保護モードに限定されたハードウェア資源である。前者は、主として機密保護状態機械（ＳＳＭ）３００で構成されている。ＳＳＭ３００は、機密保護モードへ入るための条件監視、機密保護信号３０２の入り／切りおよび機密保護モード侵害の検出を行う。侵害は、侵害信号３０４を発することで示され、これは、リセット回路に接続されて機密保護侵害が検出されたときにシステムをリセットする。機密保護状態機械は、プロセッサ２００の外部インタフェースからの種々の信号３３０、特に命令バス上でプロセッサによりフェッチされたアドレスを監視する。機密保護状態機械は、エントリ・シーケンスからの低レベル・アセンブリ・コードに密に結合されている。これは、監視された信号上のエントリ・シーケンスで生成された事象に反応する。
【００３２】
機密保護モードに入るのは、機密保護信号３０２が成立された時である。機密保護信号が成立すると、これは、システムを通して伝搬され機密保護資源へのアクセスを解除する。機密保護モード中は、プロセッサ２００のみが機密保護資源にアクセス可能である。ＤＳＰ１０４およびＤＭＡ１０６は、本実施例では設計上の制約により機密保護資源へのアクセスは、許されていない。本実施例での機密保護資源には、機密保護ＲＯＭ３１０（全ＲＯＭの一部）、機密保護ＳＲＡＭ３１２および種々の機密保護周辺装置３１６ａ，ｂが含まれる。ＧＰＩＯラッチ３１８へのアクセスは、同様に機密保護信号３０２で制限され、ＧＰＩＯ３１８への書き込みが可能なのは、機密保護信号３０２が成立してＣＰＵ２００が機密保護ソフトウェア処理ルーチンを実行中であることを示している時のみである。機密保護信号３０２は、或る条件が成立すると、機密保護状態機械（ＳＳＭ）３００により発せられる。機密保護モード中、ＣＰＵ２００は、機密保護ＲＯＭ３１０または機密保護ＳＲＡＭ３１２内に格納されているコードのみを実行できる。これらの信頼された場所の外に格納されているコードを実行しようとする全ての試みは、信号３０４で発せられる「機密保護侵害」を生成し、これは、リセット回路３０６にシステム全体のリセットを実行させる。
【００３３】
このＲＯＭは、２つの部分に切り分けられている。ＲＯＭの機密保護部分であり、これは、機密保護ビットで保護されていて機密保護モード中にのみアクセス可能である。ＲＯＭの公開部分であり、これは、常にアクセス可能でブート領域を含む。公開ＲＯＭ３１１は、また、種々の機密保護手順を含み、全体的な機密保護手法に拘わっている。
【００３４】
機密保護格納ＲＡＭ３１２は、作業データが格納される場所である（機密保護スタック、機密保護グローバル・データ、機密保護累積）。機密保護プログラムＲＡＭ３１２（オプション）は、非常駐機密コードの実行専用である。非常駐機密コードは最初に外部メモリ装置から機密保護プログラムＲＡＭの中にダウンロードされ、続いて実行される前に認証される。
【００３５】
機密保護格納ＳＲＡＭ内の数バイトがレジスタ３０６で占められており、これは、グローバル・リセット信号でリセットされる。これらのレジスタは、いくつかの通常のＳＲＡＭ位置を写像し、汎用ＳＲＡＭアドレスとして使用可能である。唯一の違いは、これらのレジスタ／ＳＲＡＭ位置が全て１の値にリセットされることである。機密保護モード中には、リセットできるいくつかの変数を持つことは有益であり、従って機密保護モードでのみ変更可能な既知の初期値を持つことになる。例えば、この機能は、次のように使用できる。機密保護モードへの最初の登録の検出、適切な出力モード値（正常、除外、侵害）の設定、電源投入の検出などである。別の実施例において、これらのリセット可能値を別の方法で実現することが可能であり、例えば、ＳＲＡＭに重ならないアドレス領域内にレジスタを設置し、リセット信号をそのＳＲＡＭ内の選択されたメモリ・セルに接続するなどにより可能である。
【００３６】
ソフトウェアで機密保護信号３０２を発生させたり、状態機械の振る舞いを修正変更したりする方法は、存在しない。ＳＳＭは、起動シーケンスに密に結合されており、これは、後ほど図５を参照して更に詳しく説明する。ＳＳＭは、プロセッサ２００からの物理的命令アドレス・バス３３０および種々の資源から受け取られた種々のエントリ条件信号３２１−３２７を監視する。プロセッサ２００からの命令インタフェース信号３３１およびデータ・インタフェース信号３３３もまた監視され、どのような型式の処理が命令バス３３０およびデータ・バス３３２のそれぞれの上で実行されるかを定める。
【００３７】
機密保護モードには、単一エントリ点と呼ばれる公開ＲＯＭ内の特定アドレスへ分岐して切り換えられ、これは、ＳＳＭ内のハード符号化アドレスである。このエントリ点は「起動シーケンス」の開始アドレスである。起動シーケンスは、公開ＲＯＭ内に格納されているコードの一部であって、機密保護状態機械に結合されていて、機密保護モードへの切替条件のいくつかが整合していることを保証する。その他の切替条件は、特定の切替条件信号を監視することにより直接成立される。
【００３８】
起動シーケンスは、機密保護状態機械で監視されるいくつかの信号上の事象で定義されたシーケンスを生成する。これらの事象は、機密保護モードへ切り替わるのに必要な条件に整合していることを保証する。機密保護状態機械は、このパターンを認識し、機密保護信号を発生する。機密保護モードにおいて、機密保護状態機械は、いくつかの信号の監視を継続し、機密保護モード侵害を検出し、機密保護モード退出手順に従うことを保証する。侵害が発生するといつでも、ＳＳＭは、機密保護信号を解放し、機密保護侵害信号３０４を発生する。典型的な侵害は、ＲＯＭ／ＳＲＡＭアドレス範囲の外側の命令をフェッチしようと試みることである。
【００３９】
起動シーケンスは、公開ＲＯＭ内に格納されている。これは、機密保護モード切替条件に整合していることを保証する。シーケンスを設定する環境は、機密保護ＲＯＭ内に格納されている。これは、機密保護モードに対する適切な実行環境を設定し、ここでキャッシュ、割込およびＭＭＵが可能化される。退出シーケンスは、機密保護ＲＯＭ内に格納されている。これは、機密保護モード退出手順に適合して実行する。これは、ＢＲＡＮＣＨまたは割込の下に機密保護モードから退出する安全な方法を提供する。これは、また、退出に際して機密保護ＲＯＭおよびＲＡＭの「秘密」内容を保護する。
【００４０】
図２の参照を続けると、機密保護制御レジスタ３１９は、機密保護モード中のみメモリ・マップ・レジスタとしてアクセス可能であり、テスト、デバッグおよびエミュレーション機能などハッカが機密保護を侵害するのに使用する可能性があり、一方でシステム・ハードウェアおよびソフトウェアの修正やデバッグに必要な機能を可能化／不能化するために使用される。例えば、信号３２１で表現される１ビットは、プログラム開発で使用される組み込みトレース・マクロ・セル（ＥＴＭ）の動作を可能化／不能化する。信号３２２は、プロセッサ２００上のＪＴＡＧインタフェースの動作を可能化／不能化する。信号３２３は、プロセッサ２００上のデバッグ・インタフェース（dbg I/F）の動作を可能化／不能化する。
【００４１】
機密保護条件レジスタ３２０は、非機密保護モード中にメモり・マップ・レジスタとしてアクセス可能であり、機密保護モードでのエントリ条件のいくつかを設定するために使用され、これは、ハッカが機密保護を侵害するのに使用される可能性のある種々の資源の動作モードを制御することによりなされる。機密保護条件レジスタから発せられる信号は、また、条件機械で監視される。例えば、直接メモリ・アクセス（ＤＭＡ）可能化信号３２４は、機密保護メモリ３１２にアクセス可能なＤＭＡ制御装置（図示せず）を可能化するために使用される。
【００４２】
本実施例において、スキャン・チェイン・インタフェース（スキャンＩ／Ｆ）は、テスト用に具備されていて、機密保護侵害ポイントを与える可能性がある。しかしながら、プロセッサ２００は、スキャン・チェーン出力を不能化する手段を持たない。プロセッサ２００のインタフェース信号の修正変更を避けるために、スキャン・ゲート３４２が外部的に具備されていて、プロセッサ２００内の最長スキャン・チェインに等しいクロック周期数分、プロセッサ２００のスキャン出力にマスクを掛けるために使用される。このマスク処理手順は、リセット時および装置が外部テスト装置（図示せず）の制御により、スキャンが可能化されて機能モードからテスト・モードへ切り換えられる度毎に初期化（カウンタ・リセット）される。
【００４３】
外部割込処理装置３６０が割込信号のセットを受け取るために具備されており、これらを２つの割込信号３６２，３６３にマルチ・プレクスして、これらは、次にプロセッサ２００で受け取られる。割込処理装置３６０は、グローバル・マスク・ビット３６４を有し、これは、ソフトウェアでセットすることが可能で、ソフトウェアがプロセッサに対する全ての割込をグローバルに不能化できるようにしている。割込制御装置は、グローバル・マスク・ビットがセットされ、割込信号３６２，３６３が動作中で無い時には常に、マスク信号３２５を発する。マスク信号３２５が発せられた後は、割込制御装置から出力される割込信号３６２，３６３は、そのグローバル・マスク・ビットがソフトウェアで消去されるまで発生されることはできない。ＳＳＭ３００は、マスク信号３２５を監視して、割込が可能であるかマスクされているかを決定する。
【００４４】
外部メモリからのブートは、システム内の機密保護を攪乱するハッカの常套手段である。本実施例では、外部ブートは、防止されている。加えて、ＳＳＭ３００は、外部ブートが試みられた際に発せられるブート信号３２７を監視する。しかしながら、プログラム開発中は、よりよいデバッグ・ソフトウェアのために外部ブートを可能にすることは有益である。フューズ回路３２８は、製品装置から開発装置を消去するために具備されている。装置型式信号３２６は、ＳＳＭ３００で監視されており、緩和された機密保護モードが開発装置上に具備できるようにしている。開発装置に対して、ＳＳＭ３００は、ブート信号３２７を無視する。
【００４５】
図３は、図２のＲＯＭの内容と、ＲＯＭを公開部分と機密保護部分とに隔離する回路を図示するブロック図である。公開ＲＯＭ３１１および機密保護ＲＯＭ３１０は、本実施例では単一ＲＯＭとして実現されている。別の実施例では、ここに示す発明の機能に影響を与えることなく分離することが可能である。アドレス復号器回路３７０ａは、復号回路３７０の一部であって、これは、ＲＯＭへのアクセスを復号する。同様の回路がＳＲＡＭおよびその他の機器またはデータ・バス接続装置に具備されている。
【００４６】
駆動回路４００は、要求された命令データを命令バス３００ｂ上に供給するように可能化され、これは、ＲＯＭ３１０，３１１に対応するアドレスが命令アドレス・バス３３０ａ上に、公開ＲＯＭアドレスまたは機密保護ＲＯＭアドレスにそれぞれ対応するアドレス復号信号４０６または４０７が発せられると必ず行われる。
【００４７】
先に説明したように、機密保護資源が機密保護モードで無いときにアクセスされると、ダミー・データが供給される。ゲート回路４０４は、機密保護信号３０２と機密保護ＲＯＭ復号信号４０７とを監視し、機密保護ＲＯＭがアクセスされ機密保護信号が発せられていない場合に、駆動回路４００に対してヌル・データを通過させる。
【００４８】
（機密保護モード）
図４は、図２のシステム上で機密保護モード動作にアクセスする流れ図を示しており、以下に詳細に説明する。ステップ５００，５０２，５０４は、通常時に、非特権実行レベルでプロセッサ２００上で実行されるアプリケーション・プログラムを表す。時々、コール５０２がオペレーティング・システム（ＯＳ）に対してなされ、ステップ５１０，５１２，５１４，５１６で示されるような特権レベルでの動作サービスが要求される。コールされると、ＯＳは、状態を保存しステップ５１０で特権モードに切り換え、特権動作をステップ５１４で実行し、ステップ５１６で状態を復元してステップ５０４で非特権アプリケーションに戻る。これら２レベルの動作は、良く知られている。
【００４９】
ステップ５１２で、テストを行って要求されたサービスが機密保護動作であるかが決定される。そうであれば、システムは、機密保護モードと呼ばれる機密保護の第３レベルに入る。ステップ５２０において、ＯＳ駆動装置は、システムを機密保護モードへ移行するために適切な状態とするための状態監視タスクを実行する。これは割込をマスクすること、機密保護リスクを引き起こす種々の資源を不能化するように機密保護条件レジスタ３２０をセットすること、またメモリ管理ユニット２１０が可能化されているか、すなわち起動シーケンスに対応するページ・テーブル・エントリが「キャッシュ不能」と印が付けられているかを認証することを含む。これは、後で詳しく説明する。
【００５０】
ステップ５２２において、再び図３を参照すると、公開ＲＯＭ３１１内に配置されているエントリ・シーケンス４１２内のエントリ点４１０でジャンプが行われる。エントリ・シーケンスへ入ることは、「機密保護サービス」がアプリケーションでインボークされて、プラットフォーム上の全ての型式の機密保護コードを実行する前に必ず実行されるコードの一部である。このシーケンスは、また、機密保護コードの実行が中断された除外状態から復帰する際にも実行される。このエントリ・シーケンスは、ＲＯＭ内に定義されたアドレスから開始され、このアドレスは、ハード的にコード化されており「エントリ点」と呼ばれる。エントリ・シーケンスは、２つの部分で構成されている。機密保護信号起動シーケンス４１３および機密保護モード環境設定シーケンス４１４である。
【００５１】
起動シーケンスの目的は、プロセッサ２００の実行フローを継承し、他の信頼されていないコードで置き換えることができないことを保証する事である。エントリ・シーケンスのこの部分の或る時点で、機密保護信号３０２が発せられて、機密保護モードに入り機密保護資源（ＲＯＭ，ＳＲＡＭ，周辺機器など）へのアクセスを解除する。
【００５２】
環境シーケンス４１４の意図は、機密保護モード実行用の環境を設定することである。好適に、機密保護環境を設定することにより、プログラムおよびデータ・キャッシュを安全に可能化し、割込除外を処理することを可能とする。
【００５３】
機密保護信号起動シーケンス４１３は、公開ＲＯＭ内に配置されており、一方、機密保護モード環境設定シーケンス４１４は、機密保護ＲＯＭ内に配置されている。エントリ・シーケンス（部分１＋部分２）の全コード・サイズは、本実施例に関するＭＭＵ翻訳テーブル内の最少メモリ区分である１ＫＢページ内にマッピングできるように１Ｋバイトより小さい事が要求される。このように、エントリ・シーケンス仮想アドレスは、エントリ・シーケンスの実行中にある適切な点でプロセッサに代行させるために、２つの区分に渡ってマッピングすることは、できない。また、エントリ・シーケンスのメモリ・ページは、キャッシュ化不能されるかまたは命令キャッシュがエントリ・シーケンス実行中に不能化されることが重要である。
【００５４】
機密保護翻訳テーブル（ＳＴＴ）４２０および機密保護割込ベクトル・テーブル（ＳＩＶＴ）４３０は、後で説明される。
【００５５】
与えられた実施例では、１Ｋバイト・コード・サイズが余りに制限的と考えられる場合、ＭＭＵを起動シーケンス４１３が終了時点で不能化し、環境シーケンスの終了時点で再度可能化することもできる。この場合、１ＫＢ制限は、起動シーケンスのみに適用される。
【００５６】
再び図４を参照すると、起動シーケンスは、その正しさをステップ５２４でＳＳＭ３００によりチェックされるが、その詳細は、図５を参照して詳しく説明するとおりである。起動シーケンスが正しく実行されない場合、ＳＳＭ３００は、侵害信号をステップ５４０で発し、システムは、リセットされる。機密保護環境は、ステップ５２６で、後で更に詳細に説明するように、環境設定シーケンス４１４を実行して設定される。
【００５７】
一度、機密保護環境が確立されると、最初に非特権アプリケーションで要求されたように、要求された機密保護動作がステップ５２８で機密保護コード４１６から実行される。本発明の１つの機能に基づけば、機密保護コード４１６は、ステップ５２８．１でＧＰＩＯラッチ３１８に対して、機密保護モード中のみ機密保護モード指示器３１９を点灯させるように書き込む命令を含む。機密保護コード４１６は、次に使用者に対して、秘密情報を提供するようにステップ５２８．２で要求し、再びＧＰＩＯラッチに書き込むことにより、ステップ５２８．３で機密保護モード指示器を消灯させる。追加の機密保護処理は、ステップ５２８．４で実施される。この特定のシーケンスは、図示のみを目的としたものであることを理解される。例えば、他の機密保護処理を機密保護モード指示器を消灯する前に実行することも可能である。例えば、機密保護モード指示器をしばらくの間、点灯し、しばらくの間、消灯し、そして再び点灯することも可能である。アプリケーション・プログラムの要求に応じて、他の無数のシーケンスを実行できる。
【００５８】
機密保護動作が完了した後、ステップ５３０で機密保護モードから退出する通常の方法は、機密保護ＲＯＭ退出シーケンス４１８内の「正常退出シーケンス」へジャンプすることである。正常退出シーケンスの意図は、機密保護モード退出手順に準拠して、退出に際して「秘密」内容の保護を保証することである。正常退出シーケンスは、機密保護ＲＯＭのどこかに配置することが可能である。機密保護状態機械内のハード・コード・アドレスチェックは、無い。
【００５９】
機密保護モード中、ＳＳＭ３００は、信号３２１−３２７および３３１の監視を続ける。これらの信号に基づいて、ＳＳＭは機密保護侵害を検出できる。機密保護モード侵害が発生すると必ず、ＳＳＭは、それを検出し、機密保護信号を解放して、弧５４２で示すように機密保護侵害を生成する。この侵害は、装置全体のリセットを開始する。機密保護侵害は、ＳＳＭを防御状態とし、これは、リセットのみで解除できる。下記の侵害が検出できる。侵害１−ある命令が全ＲＯＭおよびＲＡＭアドレス領域以外のアドレスでフェッチされ、侵害２−プロセッサ２００がリセットされ、侵害３−テスト、エミュレーションまたはデバッグ機能が可能化された。
【００６０】
除外が発生すると、プロセッサ２００は、割込ベクトル・テーブル（ＩＶＴ）内の対応する除外ベクトルへジャンプし、そこから特定の割込処理ルーチンへリダイレクトされる。ＩＶＴは、一般的にＯＳで管理され機密保護ＳＲＡＭ内には配置されていない。従って、その内容は、保護されておらず信用できない。更に、機密保護の観点からはプロセッサが除外ベクトルへ直接ジャンプする事を認めることは、２つの理由で許容できない。（１）これは、全体の機密保護手順と相容れない。機密保護メモリ・アドレス範囲外への「ジャンプ」は、機密保護侵害と考えられる。（２）キャッシュおよびプロセッサ・レジスタには「秘密」内容が満載であり、機密保護ビットを解放し、非機密保護コードを実行する前に消去する必要がある。機密保護モード中に割込を認めるために、機密保護ＩＶＴが具備されている。
【００６１】
図５は、機密保護状態機械３００の動作を更に詳細に図示するための状態図である。機密保護状態機械は、機密保護モードに入るためにＲＯＭ内の起動シーケンス実行中のどこかの時点で機密保護信号を発する。エントリ・シーケンスのこの部分の目的は、機密保護状態機械で精査された信号上に、定義された事象シーケンスを生成することである。これらの事象は、機密保護信号を設定するために必要な条件が整合していることを保証し、それらは、ＳＳＭで追尾される。「条件」信号は、起動シーケンスの間監視される。起動シーケンス終了前にいずれかのエントリ条件が整合しないかまたは有効で無くなった場合、機密保護状態機械は、侵害状態６３０へ遷移し、機密保護侵害信号３０４を発する。ＳＳＭで監視されるエントリ条件の裏には、２つの鍵となる目的がある。（１）プロセッサ２００は、起動シーケンス・コードをフェッチし、それを実行している。（２）信頼されているコードがＣＰＵ実行フローを完全に受け継いでおり、機密保護信号が制御された動作を通して除外に設定されたことを検出されることなく、何ものもそれを代替することはできない。
【００６２】
起動シーケンスは、それがユニークなパターンを命令アドレス・バス上に生成するように構築されている。このパターンは、起動シーケンスの（物理）アドレス値と相対時刻とで作られており、これらのアドレスは、バス上に出現しなければならない。とはいえ、このパターンは、メモリ・システム・アクセス待ち時間には依存しないように作られている。実際の起動シーケンス・バス・パターンは、シミュレーションから得られ、ＳＳＭ内にハード的にコード化されている。従ってＳＳＭは、起動バス・パターンに完全に準拠していることを保証する。典型的に起動シーケンスの最後の命令は、キャッシュ・フラッシュ命令またはキャッシュ不能化命令以外の分岐命令であり、起動シーケンス内の他の全ての命令は、ＮＯＰ命令である。
【００６３】
機密保護モードに入って機密保護信号が発せられた後は、エントリ条件は、有効である必要はなく、ＳＳＭは、それらのテストを継続することは無い。しかしながら、ＳＳＭは、機密保護モード侵害を検出するための種々の信号の精査は、継続しており、これは後で説明される。機密保護モード退出条件は、機密保護モードに正式に入るまでテストされない。
【００６４】
再び図５を参照すると、状態６００は、アイドル状態であり、その間、ＳＳＭは、アドレス・バス３３０を監視して、エントリ・シーケンスのエントリ点（ＥＳＡ［ＥＰ］）を探す。エントリ点アドレスが検出されると、ＳＳＭは、全てのエントリ条件が整合している場合は、状態６０１に遷移し、整合していない場合は、侵害状態６３０へ遷移して、そこで侵害信号３０４が発せられる。
【００６５】
状態６０１−６０５は、順に、正しいエントリ・シーケンス・アドレスおよび対応するエントリ条件信号を検出しながら移行しなければならず、そうでない場合はＳＳＭは、侵害状態６３０へ遷移する。シーケンスが正しく移行されると、機密保護モード状態６２０に入り、機密保護信号３０２が発せられる。
【００６６】
例えば、状態６００から状態６０１へ遷移するために、エントリ点命令のアドレスが全ての正しい条件信号と共に現れなければならない。次に現れなければならないアドレスは、状態６０２へ遷移するための次のシーケンス命令であり、他の場合はＳＳＭは、侵害状態６３０へ遷移する。同様に、起動シーケンスの各アドレスは、状態６０２−６１５へ遷移し、最終的に機密保護モード６２０へ遷移させるために、現れなければならない。正しくないアドレス、アドレス・タイミングまたは条件信号の正しくない変化は、弧６０１ａで示されるように、侵害状態６３０へ遷移する結果となる。同様に、起動シーケンスは、起動シーケンス・アクセスのいずれか一つがキャッシュ可能であることを状態信号が示すと、破棄される。
【００６７】
機密保護モード状態６２０中で、機密保護処理ルーチン（ＥＳＡ［ＳＲ］）に正式に検出され、機密保護メモリに入ったことを示した後、ＳＳＭが公開ＲＯＭ内部のアドレスを検出した場合、弧６２１で示されるように、ＳＳＭは、アイドル状態６００へ戻る。ＳＳＭがＲＯＭまたはＳＲＡＭの外部のアドレスを検出した場合、または機密保護侵害が監視された信号内の正しくない変化として示された場合、弧６２２で示されるようにＳＳＭは、侵害状態６３０へ遷移する。
【００６８】
命令キャッシュは、起動シーケンス中に不能化される必要はない。エントリ・シーケンスのロバスト性を保証するには、命令の非キャッシュ性で充分である。そうではあるが、キャッシュを不能化することは、キャッシュ・フラッシュ機構の悪用に基づくハッカの試みを取り除くはずである。
【００６９】
（機密保護モード環境設定シーケンス）
再び図４を参照すると、ステップ５２６で機密保護環境は、機密保護ＲＯＭからの環境設定シーケンス４１４を実行することにより設定される。このシーケンスの目的は、機密保護コード実行用の適切な環境を設定することである。機密保護環境は、プログラムおよびデータ・キャッシュ、実時間割込また潜在的にＭＭＵを可能化することができる。これらのステップのいくつかは、機密保護モード動作に特有であり、いくつかの動作は、起動シーケンスをコールする前にＯＳで通常に実行されていなければならないものである。先に説明したように、機密保護モードは、基本的なＯＳ動作に依存することはできない。従って、環境設定シーケンスは、何らかのコンテキスト切り換え操作、例えば、キャッシュ・フラッシュ、ＴＬＢフラッシュなど機密保護モードの完全性に本質的に重要であるものを実行する必要がある。
【００７０】
（システム実施例）
図６は、本発明を移動体遠距離通信装置の中で実施した集積回路の例示的実施例を図示しており、例えば、表示器１４および表示器１４の周囲に配置された集積入力センサ１２ａ，１２ｂを具備した携帯情報端末（ＰＤＡ）１０である。デジタル・システム１０は、図１に基づくメガセル１００を含み、これは、入力センサ１２ａ，ｂにアダプタ（図示せず）を経由して、ＭＰＵ固有周辺機器１４２に接続されている。筆または指を用いて入力センサ１２ａ，ｂを経由してＰＤＡに情報を入力する。表示器１４は、メガセル１００にフレーム・バッファ１３６に類似のローカル・フレーム・バッファ経由で接続されている。表示器１４は、重なり合う複数のウィンドウ、例えば、ＭＰＥＧビデオ・ウィンドウ１４ａ、共有テキスト文書ウィンドウ１４ｂおよび三次元ゲームウィンドウ１４ｃ内にグラフィックおよびビデオ出力を提供する。
【００７１】
無線周波数（ＲＦ）回路（図示せず）がアンテナ１８に接続されていて、メガセル１００からＤＳＰ固有周辺機器１４０として駆動され、無線ネットワーク・リンクを提供する。コネクタ２０がケーブル・アダプタ・モデム（図示せず）に、従ってメガセル１００にＤＳＰ固有周辺機器１４０として接続され、例えば、オフィス環境の中で固定的に使用される間、有線ネットワーク・リンクを提供する。短距離無線リンク２３もまた、イヤホーン２２に「接続」されており、ＤＳＰ固有周辺機器１４０としてメガセル１００に接続されている低電力送信機（図示せず）で駆動されている。マイクロフォン２４が同様にメガセル１００に接続されていて、二方向音響情報を他の使用者との間で無線または有線ネットワーク上でマイクロフォン２４および無線イヤホーン２２を用いて交換できるようにしている。
【００７２】
メガセル１００は、無線ネットワーク・リンクおよび／または有線ネットワーク・リンクを経由して送受信された音響およびビデオ／グラフィック情報に対する全ての符号化および復号を提供する。好適に、メガセル１００は、また機密保護モード動作も提供する。これまでに説明されるように、機密保護モード指示灯３０は、ラッチにより制御され、メガセル１００が機密保護モードで実行中に実行されるコードによってのみ点灯される。機密保護モード指示灯３０は従って、ＰＤＡ１０に対して重要データをＰＤＡ上で実行中のアプリケーションに提供するのが安全な時を表示する。この様にして、ＰＤＡ１０は、移動体電話環境での電子取引（ｅコマース）および移動体取引（ｍコマース）の機密保護問題を解消する解決策を提供する。
【００７３】
もちろん、多くのその他の型式の通信システムおよびコンピュータ・システムが本発明から利益を得ると考えている。その他のコンピュータ・システムの例には、携帯コンピュータ、多機能電話機、ウェブ電話機などが含まれる。機密保護は、デスクトップおよび電力線給電型コンピュータ・システムおよびマイクロ制御器アプリケーションでも、特に信頼性の観点から心配事であり、これもまた本発明は、その様な電力線給電型システムに対しても利益を与えると考えている。
【００７４】
デジタル・システム１００の製造には、種々の量の不純物を半導体基板に注入し、それらの不純物を選択された深さまで基板の中に拡散させて、トランジスタ素子を形成する、複数のステップを含む。不純物の配置を制御するために複数のマスクが形成される。導電性材料および絶縁材料の複数の層が、蒸着されエッチングされて種々の素子を相互接続する。これらのステップは、クリーン・ルーム環境で実施される。
【００７５】
データ処理装置製造コストの大きな部分を検査が占めている。ウェハー形式の間、個々の素子は動作状態にバイアスされて基本動作機能のプローブ検査が行われる。次にウェハーは、個々のダイスに分離され、単体のダイとして販売されるかまたはパッケージ化される。パッケージ化の後、完成された部品は、動作状態にバイアスされて、動作機能の検査が行われる。
【００７６】
ここで使用される用語「適用された」「接続された」および「接続」は、電気的に接続されていることを意味し、別の構成要素が電気的接続経路内にあることを含む。「付属する」は、制御関係を意味し、例えば、付属するポートから制御されるメモリ資源などである。発する、発生、取り消す、取り消し、否定する、否定などの用語は、高時アクティブおよび低時アクティブ信号を混合して取り扱う際の混乱を避けるために使用されている。発する、発生は、信号が動作状態または論理的に正を示すために用いられる。取り消す、または取り消し、否定するおよび否定は、不活性または論理的偽であることを示すために使用される。
【００７７】
従って、デジタル・システムには、プロセッサ・コア、命令およびデータ・キャッシュ、書き込みバッファおよびメモリ管理ユニットを含むプロセッサ・システム上に、非侵略的な方法で構築された機密保護モード（特権の第３レベル）が具備されている。機密保護実行モードは、信頼されるソフトウェアがＲＯＭ内に格納されているコードのみであるプラットフォーム上に具備されている。特にＯＳが信頼できない場合、全ての固有アプリケーションは、信頼できない。機密保護モード指示器が具備されており、使用者に対してその装置が機密保護モードにあることを告げる。
【００７８】
本発明を図示された実施例を参照して説明してきたが、この説明は、制限的に解釈されることを意図していない。本発明の他の種々の実施例は、当業者には本説明を参照することにより明らかである。例えば、プロセッサ型式の全ての方式がここに記述されている機密保護モード機能を用いて改善される。例えば、ＲＩＳＣ，ＣＩＳＣ，ワイド・ワード（wide word）、ＤＳＰ等である。
【００７９】
別の実施例において、機密保護環境は、例えばＤＳＰのような、いくつかの開始プログラム資源の間で機密保護資源の共有を許すように拡張できる。その実施例において、各開始プログラム資源を機密保護状態機械で監視して、先に説明した機密保護原理を強化できる。
【００８０】
種々の実施例において、機密保護ハードウェアに異なる補足を行うことが可能であり、例えば、ウォッチドグ・タイマ、暗号化／暗号解読ハードウェア加速器、乱数発生器（ＲＮＧ）等の種々の周辺機器および例えば、キーパッド、ＬＣＤ、タッチ・スクリーンなどの種々のＩ／Ｏ装置を含む。
【００８１】
再び図１を参照すると、別の実施例において、第２のＳＳＭをＤＳＰ１０４内に組み込み、プロセッサ１０２上でと同様の方法で機密保護信号を、ＤＳＰ１０４上で実効する機密保護ソフトウェア層に対して発生させることが可能である。この実施例において、機密保護信号のバス経由版をトラヒック制御バス１１０内に含めて、プロセッサ１０２またはＤＳＰ１０４のいずれかで開始された個々の処理に機密保護資源、例えば、或る共有周辺機器１１６へのアクセスは、それぞれのＳＳＭで生成された機密保護信号に基づいて行えるようにすることが可能である。
【００８２】
再び図１を参照すると、別の実施例では機密保護信号がメガセル１００の外部に拡張されて、レベル３の資源が機密保護様式で動作できるようにしている。
【００８３】
起動シーケンス、環境設定シーケンスおよび退出シーケンスは種々の実施例の要求に基づいて変わる。例えば、命令パイプライン長およびキャッシュ・ライン長が異なると起動シーケンスを変更する必要が生じる。別の実施例において、ステップ５２０で実行される状態監視タスクを起動シーケンスに含むことも可能である。
【００８４】
別の実施例において、機密保護モードへ入るための手段がここに説明したＳＳＭとは異なる場合もある。何らかの手段によって、機密保護モード動作が実現すると、機密保護モード中にのみ利用可能な機密保護モード指示器へのアクセスが使用されて、使用者に対してシステムが機密保護モードで動作していることを指示する。
【００８５】
別の実施例において、機密保護モード指示器を動作させるためにＧＰＩＯラッチ以外の装置を具備することも可能である。例えば、機密保護制御レジスタ３１９からの１ビットを使用することができる。同様に、機密保護装置３１６ａまたは３１６ｂの１つからの１ビットを使用することができる。基本的な要求は、それらの装置が機密保護モード中にのみアクセス可能と言うことである。
【００８６】
別の実施例において、機密保護モード指示器を機密保護信号に直接応答するようにさせて、プロセッサが機密保護モード中の全ての時間、機密保護モード指示器を動作させることも可能である。しかしながら、そのような実施例では使用者が指示器が継続して点灯しているものと錯覚して無視しがちであるため、好適な実施例とは言えない。
【００８７】
再び図２を参照すると、機密保護装置３１６ａは入力装置であって、重要情報を使用者から受け取るために使用される。従って、この入力装置は、システムが機密保護モードで動作している時にのみ、重要情報を受け取るために可能化される。図２は、機密保護装置がオン・チップであることを示す。これは、全ての実施例に対して必要というものではない。これは、個別の指紋認識装置のようにオフ・チップ装置とすることも可能である。この外部装置へのアクセスは、機密保護モードに制限することが可能である。典型的に、機密保護外部装置とのデータ交換は、それが暗号化されている限り秘密データである必要はない。外部機密保護装置は、その装置が動作中に使用者が見ることのできるものである。その装置が機密保護モードの外側で動作できないものであれば、ハッカが使用者を騙すことは、益々難しくなる。
【００８８】
再び図２を参照すると、改竄検出装置３８０がオプションとして具備されている。改竄検出装置３８０からの出力３８０．１は、ＣＰＵ２００を含む範囲へのアクセスが改竄されたことの指示を与える。信号３８０．１は、次にＳＳＭ３００で監視され、改竄が検出されると機密保護モードへ入らないようにする。同様に、機密保護モード中に改竄が発生すると、ＳＳＭ３００は、これを信号３８０．１を介して検出し、先に説明したように機密保護モードから退出し、侵害が表示される。改竄検出装置は、また外部オフチップ装置とすることが可能である。改竄検出装置からの出力は、ＳＳＭで監視するかまたは機密保護ＧＰＩＯ内に記録を残すことが可能である。ＧＰＩＯへのアクセスが機密保護モードに制限されることで、ハッカがそれを消去することが不可能となる。このようにして、機密保護ソフトウェアは、次回に機密保護モードに入った際にこれを見ることになる。
【００８９】
従って、添付の特許請求の範囲は、本発明のその様な修正変更が本発明の真の範囲並びに精神に含まれることを意図している。
本発明は、欧州特許出願シリアル番号０２２９０１１５．１号、２００２年１月１６日出願、名称「ＭＭＵおよび割込を支持するプロセッサ用機密保護モード」（代理人登録番号３３７６２．１ＥＵ）および、欧州特許出願シリアル番号０２１００７２７．３号、２００２年６月３０日出願、名称「ＭＭＵおよび割込を支持するプロセッサ用機密保護モード」（代理人登録番号３３７６２．２ＥＵ）に関して優先権を主張する。
【００９０】
以上の説明に関して更に以下の項を開示する。
（１）デジタル・システムの動作方法であって、
信頼されたコードのみが実行可能な機密保護動作モードを用意し、
デジタル・システムの使用者が見ることが可能で、機密保護動作モード中に信頼されたプログラム・コードでのみ起動できる指示器装置を用意するステップを含む前記方法。
（２）第１項記載の方法は、更に、
アプリケーション・プログラムを実行し、
アプリケーション・プログラムの機密保護部分を実行するために機密保護動作モードに入り、
アプリケーション・プログラムの機密保護部分の実行に応答して、機密保護モード指示器装置を起動し、
指示器装置が動作中にアプリケーション・プログラムの機密保護部分に対して、使用者が機密情報を提供するように要求するステップを含む前記方法。
（３）第２項記載の方法は、更に、アプリケーション・プログラムの機密保護部分が機密保護モードで実行を継続中に、機密情報を受け取った後に機密保護モード指示器装置を停止するステップを含む前記方法。
（４）第２項または第３項記載の方法において、機密保護モード指示器装置を起動するステップは、メモリ写像ラッチに書き込む命令の実行を含み、メモリ写像ラッチへの書き込みは、機密保護動作モード中に命令が実行された時のみ行える前記方法。
（５）先行の項のいずれかに記載の方法において、機密保護動作モードを用意するステップは、
命令メモリ内の特定アドレスでエントリ・アドレスへジャンプし、
エントリ・アドレスの開始時に命令の起動シーケンスを実行し、
命令の起動シーケンスが予め定められた順番でＣＰＵにより完全に実行された場合にのみ、機密保護動作モードに入るステップを含む前記方法。
（６）先行の項のいずれかに記載の方法は、更に、デジタル・システムが改竄されたか否かを検出するための改竄検出装置を容易するステップを含み、
改竄検出装置がデジタル・システムが改竄されたことを示す場合に、機密保護動作モードを用意するステップが禁止される前記方法。
【００９１】
（７）デジタル・システムであって、
命令を実行するための中央処理ユニット（ＣＰＵ）と、
ＣＰＵの命令バスに接続され、非機密保護命令を保持しＣＰＵから常にアクセス可能な公開メモリと、
ＣＰＵの命令バスに接続され、機密保護命令を保持し機密保護信号が発せられている時にのみアクセス可能な機密保護メモリと、
機密保護動作モードが確立された時に機密保護信号を発する出力を有する機密保護回路と、
機密保護信号に応答し、デジタル・システムの使用者から観測可能で、機密保護信号が発せられている間に、１つの命令を実行することによってのみ動作モードに切り換えることが可能な機密保護モード指示器とを含む前記デジタル・システム。
（８）第７項記載のデジタル・システムにおいて、機密保護モード指示器は、
書き込み命令に応答してＣＰＵからデータ・ビット信号を受け取るように接続され、機密保護信号によって機密保護信号が発せられている時にのみ書き込めるように制御され、その状態を表示する出力信号を有するメモリ写像ラッチと、
メモリ写像ラッチの出力信号に接続され、ラッチの状態に応答する機密保護モード指示器であって、ランプまたはオン状態とオフ状態を表示することの可能な機構装置またはオン状態とオフ状態を指示することの可能な音響装置である機密保護モード指示器とを含む前記デジタル・システム。
（９）第７項または第８項記載のデジタル・システムは、更に、デジタル・システムが改竄されたか否かを示すように動作可能な改竄検出用装置を含み、機密保護回路が改竄検出装置を監視し、改竄検出措置に応答して機密保護動作モードの確立を阻止するように動作可能な前記デジタル・システム。
（１０）第７−９項のいずれかに記載のデジタル・システムは、無線装置であって、更に、
キーボード・アダプタを経由してＣＰＵに接続された集積キーボードと、
表示器アダプタを経由してＣＰＵに接続された表示器と、
ＲＦ回路に接続されたアンテナとを含み、
機密保護モード指示器は、表示器の近くに見えるように配置された発光ダイオード（ＬＥＤ）を含む前記デジタル・システム。
【００９２】
（１１）デジタル・システムであり、プロセッサ・コア、命令およびデータ・キャッシュ、書き込みバッファおよびメモリ管理ユニットを含むプロセッサ・システム（１０）上に、非侵略的な方法で構築された機密保護モード（特権の第３レベル）が具備されている。機密保護実行モードは、信頼されるソフトウェアがＲＯＭ内に格納されているコードのみであるプラットフォーム上に具備されている。特にＯＳが信頼できない場合、全ての固有アプリケーション（１４ａ，１４ｂ，１４ｃ）は、信頼できない。機密保護モードにはユニークなエントリ点を通って入る。機密保護実行モードにはエントリ／退出条件を完全にハードウェアで査定して、ダイナミックに入ったり出たりすることが可能である。機密保護モード指示器（３０）が具備されており、デジタル・システムの使用者に対して、その装置が機密保護モードにあることを告げる。この指示器は、例えば、小さなＬＥＤが可能である。機密保護モード指示器が起動していない場合は、使用者は、如何なる秘密情報（パスワード）を入力すべきでないし、スクリーン上に表示された如何なるものにも署名すべきではない。
【図面の簡単な説明】
【００９３】
【図１】図１は、複数のプロセッサ・コアを有するメガセル（megacell）内の本発明の１つの実施例を含むデジタル・システムのブロック図である。
【図２】図２は、図１のシステム内のＭＰＵブロックのブロック図であり、選択されたハードウェア・ブロックと、機密保護状態機械（ＳＳＭ）で強化された被保護ソフトウェア実行環境とを共に用いた分散型機密保護を図示する。
【図３】図３は、図２のＲＯＭの内容と、ＲＯＭを公開部分と機密保護部分とに隔離する回路とを示すブロック図である。
【図４】図４は、図２のシステム上で機密保護モード動作へのアクセスを示す流れ図である。
【図５】図５は、図２のシステム内の機密保護状態機械の動作を示す状態図である。
【図６】図６は、本発明の１つの実施例を含む無線携帯デジタル端末を図示する。  異なる図および表の対応する番号および記号は、特に指示が無い場合、対応する部品を参照する。
【符号の説明】
【００９４】
１０  携帯情報端末
１２ａ，１２ｂ  入力センサ
１４  表示器
１８  アンテナ
２０  コネクタ
２２  無線イヤホーン
２３  無線リンク
２４  マイクロフォン
３０  指示器
１００  メガセル
１０２  プロセッサ
１０４  デジタル信号プロセッサ
１０６  直接メモリ・アクセス制御装置
１０８  ハードウェア加速器
１１０  トラヒック制御ブロック
１１３  メモリ
１１６  共有周辺機器
１２０  ホスト・インタフェース
１３２  オフ・チップ外部メモリ
１３４  オン・チップ・メモリ
１３６  フレーム・バッファ
１３８  表示装置
１４０、１４２  固有周辺機器
１５０  ハードウェア機密保護状態機械
１５２  専用機密保護モード信号
１５４  ＧＰＩＯラッチ
１５５  指示器
１５６  周辺機器バス信号
２００  ＣＰＵ
２０４  命令キャッシュ
２１０  メモリ管理ユニット
３００  機密保護状態機械（ＳＳＭ）
３０２  機密保護信号
３０４  機密保護侵害信号
３１０  機密保護ＲＯＭ
３１１  公開ＲＯＭ
３１２  機密保護ＳＲＡＭ
３１６  機密保護周辺装置
３１８  ＧＰＩＯラッチ
３１９  機密保護制御レジスタ
３３０  物理的命令アドレス・バス
３３１  命令インタフェース信号
３３２  データ・バス
３３３  データ・インタフェース信号
３４２  スキャン・ゲート
３６０  外部割込処理装置
３６２、３６３  割込信号
３６４  グローバル・マスク・ビット
３７０  復号回路
３８０  改竄検出装置
４００  駆動回路
４０４  ゲート回路
４０６、４０７  アドレス復号信号
４１３  機密保護信号起動シーケンス
４１４  機密保護モード環境設定シーケンス
４２０  機密保護翻訳テーブル（ＳＴＴ）
４３０  機密保護割込ベクトル・テーブル（ＳＩＶＴ）
【図１】
2004199693.tif 000003
【図２】
2004199693.tif 000004
【図３】
2004199693.tif 000005
【図４】
2004199693.tif 000006
【図５】
2004199693.tif 000007
【図６】
2004199693.tif 000008