JP4698195B2 - 高信頼度実行環境を有するシステムでのグラフィカルユーザインターフェースの提供の方法とシステム - Google Patents

高信頼度実行環境を有するシステムでのグラフィカルユーザインターフェースの提供の方法とシステム Download PDF

Info

Publication number
JP4698195B2
JP4698195B2 JP2004302187A JP2004302187A JP4698195B2 JP 4698195 B2 JP4698195 B2 JP 4698195B2 JP 2004302187 A JP2004302187 A JP 2004302187A JP 2004302187 A JP2004302187 A JP 2004302187A JP 4698195 B2 JP4698195 B2 JP 4698195B2
Authority
JP
Japan
Prior art keywords
user interface
nexus
graphical user
display
execution environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004302187A
Other languages
English (en)
Other versions
JP2005129050A (ja
Inventor
エム.ウィルマン ブライアン
エム.チュー クリスティーヌ
アブラハム アイダン
シー.ロバーツ ポール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005129050A publication Critical patent/JP2005129050A/ja
Application granted granted Critical
Publication of JP4698195B2 publication Critical patent/JP4698195B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

本発明は、全般的にはコンピュータセキュリティの分野に関する。具体的には、本発明は、グラフィカルユーザインターフェース要素を複数の実行環境のそれぞれのプロセスによって所有できるようにするグラフィカルユーザインターフェースを用いる、単一コンピューティングデバイス上の複数の実行環境(たとえばオペレーティングシステム)の使用に関する。
現代のコンピューティングでは、1つのコンピュータで実行できる多数のタスクが、あるレベルのセキュリティを必要とする。ある1つのレベルのセキュリティを提供するために、複数のオプションがある。1つは、すべてのセキュアアプリケーションを、可能な非セキュア要素から完全に分離されたコンピュータで実行するか、仮想コンピュータモニタ(VMM)を使用して、単一のコンピュータシステムで稼動する2つの実行環境(たとえばオペレーティングシステム)の間の完全な分離を可能にすることである。しかし、これは、非実用的である可能性がある。コストまたは便利さの理由から、セキュア実行環境が、セキュリティを保証されないアプリケーションでリソースを共有する必要がある場合があり、これらのアプリケーションおよびそのリソースが、攻撃者に対して脆弱である場合がある。さらに、VMMが使用される場合に、VMMが、マシン(コンピュータ)およびそのすべてのデバイスの完全な仮想化を必要とする(これによって、VMMが可能なすべてのデバイスについてそれ自体のデバイスドライバを提供することが必要になる)ので、VMMは、ほとんど無制限のさまざまなデバイスをマシンに追加することができるオープンアーキテクチャマシンによく適してはいない。
2つの実行環境の間でリソースを共有する能力を提供する1つの方法が、マシン上のほとんどのプロセスおよびデバイスを制御する1つの「メイン」オペレーティングシステムがあり、第2オペレーティングシステムも存在するコンピュータシステムを提供することである。この第2オペレーティングシステムは、ある限られたタスクを実行するメインオペレーティングシステムと一緒の、小規模の、目的を制限されたオペレーティングシステムである。オペレーティングシステムを「小規模の」または「目的を制限された」にする1つの方法が、小規模のオペレーティングシステムが、「メイン」オペレーティングシステムからあるインフラ基盤(たとえば、スケジューリング機能、メモリマネージャ、デバイスドライバなど)を借りることである。VMMによって、あるオペレーティングシステムが別のオペレーティングシステムから効果的に分離されるので、このインフラストラクチャの共有は、VMMを使用する場合には実用的でない。
ある他の技法を用いると、複数のオペレーティングシステムが、VMMの使用なしで、同一のマシン上にならんで存在できるようになる。そのような技法の1つが、ある1つのオペレーティングシステムに、他のオペレーティングシステムの「ホスト」として活動させることである(その「ホスト」がホスティングしているオペレーティングシステムを、「ゲスト」と呼ばれることがある)。この場合に、ホストオペレーティングシステムは、ゲストに、メモリおよびプロセッサ時間などのリソースを提供する。もう1つのそのような技法が、「exokernel(エキソカーネル)」を使用することである。exokernelは、ある種のデバイス(たとえば、プロセッサおよびメモリ)を管理し、オペレーティングシステム間のある種の対話(情報のやりとりをすること、相互作用ともいう)も管理するが、exokernelは、VMMと異なって、マシン全体を仮想化することはしない。exokernelが使用される時であっても、ある1つのオペレーティングシステム(たとえば、「メイン」オペレーティングシステム)が、他のオペレーティングシステムのインフラストラクチャ(インフラ基盤)の多くを提供する場合があり、その場合に、メインオペレーティングシステムを、やはり「ホスト」と呼ぶことができ、より小規模のオペレーティングシステムを「ゲスト」と呼ぶことができる。ホスティングモデルおよびexokernelモデルの両方が、インフラストラクチャの共有をサポートするオペレーティングシステム間の有用なタイプの対話を可能にする。
したがって、これらの技法を使用して、少なくとも2つの実行環境を伴うコンピュータシステムを提供することができる。その1つを、本明細書において「ネクサス(nexus)」と称する「高信頼度(high-assurance)」オペレーティングシステムとすることができる。高信頼度オペレーティングシステムは、その挙動に関する一定のレベルの信頼度(assurance)を提供するオペレーティングシステムである。たとえば、ネクサスは、ネクサスの外部の世界に情報を持たさないことが保証されるカーテンドメモリ(curtained memory:他から見えないメモリ)を備えることによって、およびある認証されたアプリケーションだけにネクサスの下で動作することおよびカーテンドメモリにアクセスすることを許可することによって、漏らしてはならない機密情報(たとえば、暗号キーなど)を扱うのに使用することができる。
2つの実行環境を有し、その一方がネクサスであるコンピュータシステムにおいて、ネクサスが、ゲストオペレーティングシステムであり、挙動に関する同一レベルの信頼度(assurance)の対象でない第2オペレーティングシステムが、ホストオペレーティングシステムであることが望ましい場合がある。これによって、ネクサスをできる限り小さくすることが可能になる。小規模のネクサスを用いると、ネクサスによって提供される信頼度(assurance)での高いレベルの信頼が可能になる。その結果、オペレーティングシステム機能が、ホストオペレーティングシステムによって実行される。
ホストオペレーティングシステムによって実行することができるそのようなオペレーティングシステムの1つが、ウィンドウイングシステムである。ウィンドウイングシステムが使用される時に、ユーザのディスプレイに、ウィンドウすなわちアプリケーションからの情報を表示する画面上の領域が取り込まれる。アプリケーションは、1つまたは複数のウィンドウを有することができる。
ウィンドウイングシステムが、ネクサスではなくホストオペレーティングシステムによって実行される時には、そのウィンドウイングシステムは、攻撃に対して脆弱である。そのような可能な攻撃の1つを、スプーフ(spoof:なりすまし)と呼びならわされている。スプーフは、ユーザが、あるハードウェア、システムソフトウェア、アプリケーションまたはエージェントソフトウェア、あるいは所与のウィンドウが、実際にはそうでないのに、信頼に値する実体であると思い込まされる攻撃である。攻撃者(アタッカー)は、信頼に値する実体になりすます。これは、ユーザ証明書を盗むのに利用されるか、あるいは高度にトラステッド(trusted:信頼できる、承認された)実体を使用していると考えるユーザによって入力される機密事項を扱う性質を帯びた他のデータをキャプチャ(捕獲)するのに利用されることが可能である。
たとえば、ネクサスが、ログイン(log-in)スクリーンを有するバンキングプログラム(金融プログラム)を実行するシステムにおいて、攻撃者は、ホストオペレーティングシステムで動作するプログラムを書き込み、バンキングプログラムのログインスクリーンと正確に同一に見えるウィンドウを表示することができる。ユーザが、このスプーフウィンドウにだまされる時には、そのユーザは、スプーフウィンドウに情報を入力する。この情報は、攻撃者によってキャプチャされ、その後、ユーザが知ることなく、攻撃者によって使用される可能性がある。
ウィンドウイングシステムは、スヌーカ(snooker:ペテンにかける、だます)として知られる攻撃にも脆弱である。スヌーカ攻撃では、攻撃者が、ユーザディスプレイを変更して、システムが安全でない時に、ユーザにシステムが安全であるように見えるようにする。たとえば、コンピュータシステムに、ユーザがシステムをロックするか、コンピュータにスリープ(sleep:睡眠、活動停止)またはハイバネート(hibernate:冬眠)させる能力を含めることができる。スヌーカ攻撃は、この場合に、システムが、ロックされた時、スリープしている時、またはハイバネートしている時に表示される画面をシミュレートする。ユーザが、注意をそらし、システムがインアクティブ(休止中)で安全であると思う時に、攻撃者は、そのシステムを許可されずに不正に使用することができる。
一般に、正当なネクサス側のプログラムまたは機能するシステムがモニタ上に作ることができるピクセルのパターンが何であっても、ホスト側の攻撃プログラムは、それを模倣することができる。しかし、ネクサスの高信頼度な性質を維持するためには、ユーザは、正当なネクサス側ユーザインターフェースのグラフィック要素を、偽のグラフィック要素から区別できなければならない。
上述の点に鑑みて、上述した従来技術の短所を克服したシステムが必要とされている。
本発明の一実施形態では、安全なトラステッド実行環境(ネクサス)および第2の実行環境(ホスト)を含むシステムのディスプレイに表示されるデータが、複数の技法の組合せを使用して機密保護される。ウィンドウなど、ネクサス上で稼動するプロセスに関連するグラフィカルユーザインターフェース要素は、他のグラフィカルユーザインターフェース要素にオーバーラップされずに表示される。
さらに、ネクサスユーザ機密(ネクサスユーザ秘密)が維持され、これは、グラフィカルユーザインターフェース要素内に表示される。この表示は、連続的に行うか、他にも代替案があるが、要求時に行うことができる。さらに、機密保護されたウィンドウをユーザの心の中で一緒にリンクするため、したがって、詐称者ウィンドウをより明瞭に強調するために、色においてまたは表示されるグラフィックス情報を用いて、ウィンドウデコレーション(ウィンドウ修飾)を調整することができる。これらのデコレーションは、ある一定間隔で、要求時に、またはシステムイベントが変化をトリガする時に、変更することができる。
シャドウウィンドウが、対応するネクサスウィンドウのために維持される場合に、プライベートタイトルがシャドウウィンドウで使用されている間に、プライベートタイトル情報をネクサスウィンドウに使用することができる。これによって、タイトルをセットするネクサスプロセスが、おそらくは安全でないシャドウウィンドウにどの情報が与えられるかを選択できるようになる。
本発明の他の特徴は、以下で説明する。
上述の本発明の要約、ならびに好ましい実施形態の以下の詳細な説明は、添付図面と共に読まれる時によりよく理解される。本発明の例示のために、図面に、本発明の例示的構成を示すが、本発明は、ここで開示される特定の方法および機器に制限されない。
概要
オペレーティングシステムなどの2つの実行環境が、単一のマシンで並んで稼動する時に、環境の1つが、あるセキュリティ標準規格に拘束される高信頼度実行環境である場合に、表示されるグラフィカルユーザインターフェース要素のどれが、高信頼度オペレーティングシステムで稼動するプロセスに関連するかをユーザが区別することが重要になる可能性がある。上で述べたように、ホスト側(非高信頼度)実行環境を介してグラフィカルUI要素を表示する攻撃者は、UI要素であるグラフィカルユーザインターフェース要素が高信頼度プロセスから来たものであるとユーザに思わせることを試みる可能性がある。そのような攻撃を防ぐために、本発明は、グラフィカルユーザインターフェース要素のどれが高信頼度実行環境から発したかをユーザが区別できるようにする技法を提供する。
例示的コンピューティング配置
図1に、本発明の諸態様を実施することができる例示的コンピューティング環境を示す。コンピューティングシステム環境100は、適切なコンピューティング環境の1つの例にすぎず、本発明の使用の範囲または機能性に関する制限を暗示することを意図されてはいない。コンピューティング環境100を、例示的なコンピューティング環境100に示された構成要素のいずれかまたはその組合せに関する依頼関係または要件を有するものと解釈してもならない。
本発明は、多数の他の汎用または特殊目的のコンピューティングシステムの環境または構成と共に動作する。本発明と共に使用するのに適切である可能性がある周知のコンピューティングシステム、環境、および/または構成には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイス、ラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル消費者電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、組込みシステム、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、および類似物が含まれるが、これに制限はされない。
本発明を、全般的に、プログラムモジュールなどの、コンピュータによって実行されるコンピュータ実行可能命令に関して説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明は、通信ネットワークまたは他のデータ伝送メディアを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールおよび他のデータを、メモリストレージデバイスを含む、ローカルおよびリモートの両方のコンピュータ記憶メディアに配置することができる。
図1に関して、本発明を実施する例示的システムに、コンピュータ110の形の汎用コンピューティングデバイスが含まれる。コンピュータ110の構成要素に、処理ユニット120、システムメモリ130、および、システムメモリを含むさまざまなシステム構成要素を処理ユニット120に接続するシステムバス121を含めることができるが、これに制限はされない。処理ユニット120は、マルチスレッド式プロセッサでサポートされるものなどの複数の論理処理ユニットを表すことができる。システムバス121は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを含む複数のタイプのバス構造のいずれかとすることができる。制限ではなく例として、そのようなアーキテクチャに、Industry Standard Architecture(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、およびPeripheral Component Interconnect(PCI)バス(メザニンバスとも称する)が含まれる。システムバス121は、通信デバイスの中でも、ポイントツーポイント接続、スイッチングファブリック、または類似物として実施することもできる。
コンピュータ110には、通常は、さまざまなコンピュータ可読メディアが含まれる。コンピュータ可読メディアは、コンピュータ110によってアクセスできるすべての使用可能なメディアとすることができ、コンピュータ可読メディアには、揮発性メディアおよび不揮発性メディア、取外し可能メディアおよび取外し不能メディアの両方が含まれる。制限ではなく例として、コンピュータ可読メディアに、コンピュータ記憶メディアおよび通信メディアを含めることができる。コンピュータ記憶メディアには、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の保管の任意の方法または技術で実施される揮発性および不揮発性の両方の、取外し可能または取外し不能のメディアが含まれる。コンピュータ記憶メディアには、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CDROM、ディジタル多用途ディスク(DVD)、または他の光学ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは所望の情報を保管するのに使用でき、コンピュータ110によってアクセスできる他のメディアが含まれるが、これに制限はされない。通信メディアによって、通常は、搬送波または他のトランスポート機構などの変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータが実施され、通信メディアには、すべての情報配信メディアが含まれる。用語「変調されたデータ信号」は、信号内で情報をエンコードする形で1つまたは複数の特性を設定または変更された信号を意味する。制限ではなく例として、通信メディアに、有線ネットワークまたは直接配線接続などの有線メディアと、音響、RF、赤外線、および他の無線メディアなどの無線メディアが含まれる。上記のいずれかの組合せも、コンピュータ可読メディアの範囲に含まれなければならない。
システムメモリ130には、読取専用メモリ(ROM)131およびランダムアクセスメモリ(RAM)132などの、揮発性および/または不揮発性メモリの形のコンピュータ記憶メディアが含まれる。起動中などにコンピュータ110内の要素の間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム133(BIOS)が、通常はROM131に保管される。RAM132には、通常は、処理ユニット120によって即座にアクセス可能および/または現在操作されつつあるデータおよび/またはプログラムモジュールが含まれる。制限ではなく例として、図1に、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。
コンピュータ110には、他の取外し可能/取外し不能の揮発性/不揮発性コンピュータ記憶メディアを含めることもできる。例としてのみ、図1に、取外し不能不揮発性磁気メディアから読み取り、これに書き込むハードディスクドライブ141、取外し可能不揮発性磁気ディスク152から読み取り、これに書き込む磁気ディスクドライブ151、およびCD ROMまたは他の光学メディアなどの取外し可能不揮発性光ディスク156から読み取り、これに書き込む光学ディスクドライブ155が図示されている。この例示的オペレーティング環境で使用することができる他の取外し可能/取外し不能の揮発性/不揮発性コンピュータ記憶メディアには、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM、および類似物が含まれるが、これに制限はされない。ハードディスクドライブ141は、通常は、インターフェース140などの取外し不能メモリインターフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光学ディスクドライブ155は、通常は、インターフェース150などの取外し可能メモリインターフェースによってシステムバス121に接続される。
上で説明した、図1に図示されたドライブおよびそれに関連するコンピュータ記憶メディアによって、コンピュータ110のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージが提供される。図1では、たとえば、ハードディスクドライブ141が、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を保管するものとして図示されている。これらのコンポーネントを、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同一または異なるもののいずれかとすることができることに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147は、最低限、これらが異なるコピーであることを示すために、本明細書では異なる符号を与えられている。ユーザは、キーボード162、一般にマウス、トラックボール、またはタッチパッドと称するポインティングデバイス161などの入力デバイスを介してコンピュータ110にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)に、マイクロホン、ジョイスティック、ゲームパッド、衛星放送受信用パラボラアンテナ、スキャナ、または類似物を含めることができる。上記および他の入力デバイスは、しばしば、システムバスに結合されたユーザ入力インターフェース160を介して処理ユニット120に接続されるが、パラレルポート、ゲームポート、またはuniversal serial bus(USB)などの、他のインターフェースおよびバス構造によって接続することができる。モニタ191または他のタイプのディスプレイデバイスも、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続される。モニタの他に、コンピュータに、スピーカ197およびプリンタ196など、出力周辺インターフェース190を介して接続することができる他の周辺出力デバイスも含めることができる。
コンピュータ110は、リモートコンピュータ180などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、リモートコンピュータ180には、通常は、コンピュータ110に関して上述した要素の多数またはすべてが含まれるが、図1にはメモリストレージデバイス181だけを図示した。図1に示された論理接続には、ローカルエリアネットワーク(LAN)171および広域ネットワーク(WAN)173が含まれるが、他のネットワークも含めることができる。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびインターネットでありふれたものである。
LANネットワーキング環境で使用される場合に、コンピュータ110は、ネットワークインターフェースまたはネットワークアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用される場合に、コンピュータ110には、通常は、インターネットなどのWAN173を介する通信を確立する、モデム172または他の手段が含まれる。モデム172は、内蔵または外付けとすることができるが、ユーザ入力インターフェース160または他の適当な機構を介してシステムバス121に接続することができる。ネットワーク化された環境では、コンピュータ110に関して示されたプログラムモジュールまたはその諸部分を、リモートメモリストレージデバイスに保管することができる。制限ではなく例として、図1に、メモリデバイス181に常駐するリモートアプリケーションプログラム185を図示した。図示のネットワーク接続が、例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用することができることを諒解されたい。
単一マシン上の複数のコンピューティング環境
前に説明したように、当該技術分野では、2つのオペレーティングシステムを単一のコンピューティングデバイスで並べて実行できることは公知である。本発明を使用して対処できる問題の1つが、2つのオペレーティングシステム間のあるレベルの対話を提供しながら、2つのオペレーティングシステム間のあるレベルの分離をいかにして提供するかの方法である。
図2に、2つのオペレーティングシステム134(1)および134(2)が単一のコンピュータ110で実行されるシステムを示す。ある量の対話204がオペレーティングシステム134(1)と134(2)の間で許可されるが、他のオペレーティングシステムから発するイベントに対して少なくとも1つのオペレーティングシステムを機密保護できるようにする、あるタイプの論理的分離202が、オペレーティングシステム134(1)と134(2)の間に存在する。図2の例では、オペレーティングシステム134(1)が、ホストオペレーティングシステムであり、オペレーティングシステム134(2)が、上で説明した「ネクサス」などのゲストオペレーティングシステムである。前に注記したように、オペレーティングシステム134(2)がネクサスである時に、オペレーティングシステム134(1)のインフラストラクチャを借りるためにオペレーティングシステム134(2)がオペレーティングシステム134(1)と対話することができるが、オペレーティングシステム134(1)で生じ、オペレーティングシステム134(2)に挙動仕様に反する形で振る舞わせる可能性があるアクション(悪意のある、または悪気のないいずれか)からオペレーティングシステム134(2)がそれ自体を機密保護できるようにする分離202を構成することが望ましい(しかし、本発明が、オペレーティングシステム134(2)がネクサスである場合に制限されないことを理解されたい)。
オペレーティングシステム134(1)と134(2)の間の分離202は、任意選択として、セキュリティモニタの助けを得て実施することができる。セキュリティモニタは、オペレーティングシステム134(1)および134(2)の両方の外部のコンポーネントであり、オペレーティングシステム134(2)をオペレーティングシステム134(1)から機密保護するのに使用することができるあるセキュリティサービスを提供する。たとえば、セキュリティモニタは、あるハードウェアへのアクセスを制御でき、メモリの使用を管理でき(オペレーティングシステム134(2)にメモリのある部分の排他的使用を与えるために)、オペレーティングシステム134(1)からオペレーティングシステム134(2)へのセキュアな形でのデータの通信を容易にすることができる。セキュリティモニタの使用が、オペレーティングシステム134(2)をオペレーティングシステム134(1)から機密保護できる方法の1つのモデルを表すが、セキュリティモニタの使用が、必要ではないことに留意されたい。もう1つの例として、オペレーティングシステム134(2)に、オペレーティングシステム134(1)からそれ自体を機密保護するのに必要な機能のすべてを含めることができる。
図2に、「ホスト」としてのオペレーティングシステム134(1)および「ゲスト」としてのオペレーティングシステム134(2)が示されていることに留意されたい。一般に、この特性は、この例で、オペレーティングシステム134(1)が、オペレーティングシステム134(1)および134(2)の両方によって使用されるあるオペレーティングシステムインフラストラクチャを提供し(たとえば、デバイスドライバ、スケジューリングなど)、オペレーティングシステム134(2)が、このインフラストラクチャを欠き、オペレーティングシステム134(1)のインフラストラクチャを使用することが好ましいという意味で「ゲスト」であるという事実を指す。しかし、オペレーティングシステムを「ホスト」または「ゲスト」にするパラメータが、柔軟であることに留意されたい。さらに、「ホスト」オペレーティングシステムおよび「ゲスト」オペレーティングシステムの従来の概念は、ホストがゲストのアクションからそれ自体を機密保護する必要があることが前提であることに留意されたい。しかし、図2の例では、ゲストオペレーティングシステム134(2)が、ホストオペレーティングシステム134(1)からそれ自体を機密保護する必要がある高信頼度オペレーティングシステムであると仮定されている。以下の例では、区別のために、全般的に、オペレーティングシステム134(1)を「ホスト」、オペレーティングシステム134(2)を「ゲスト」または「ネクサス」と呼ぶ。本明細書に記載の技法が、同一のマシンで(または接続されたマシンの同一の組で)稼動する複数のオペレーティングシステムの対話に適用できることを理解されたい。
単一マシン上の複数のコンピューティング環境へのグラフィカルユーザインターフェースの提供
ユーザが、高信頼度オペレーティングシステムを含むコンピュータシステム上のプログラムと対話する時に、ユーザは、マウス161またはキーボード162(図1から)などのユーザ入力デバイスによってそれを行う。上で述べたように、ホストオペレーティングシステム134(1)で稼動するウィンドウイングシステムに、入力イベントのストリームの宛先を制御させることによって、危険にさらされたホストオペレーティングシステムまたはアプリケーションを使用する攻撃が可能になる場合がある。ウィンドウまたは他のグラフィカルユーザインターフェース要素を、ホスト側プロセスによってユーザに表示することができ、このホスト側プロセスが、ネクサスオペレーティングシステム134(2)で稼動する正当なネクサス側プロセスを模倣することを試みることができる。したがって、本発明の一実施形態によれば、正当なホスト側ウィンドウおよび他のグラフィカルユーザインターフェース要素の保全性および識別可能性を機密保護する複数の技法が実施される。本発明のさまざまな実施形態で、これらの技法のいずれかまたはすべてが、一緒に実施される。
隠蔽(obscuration)および透き通し(show-through)
ホスト側プロセスおよびネクサス側プロセスの両方が、ウィンドウおよび他のユーザインターフェース要素などのグラフィックス(画像)をディスプレイに表示できる場合に、正当なネクサス側プロセスグラフィックスのすべてまたは一部をホスト側プロセスグラフィックを用いて隠蔽(見通せなく)することによって、攻撃を達成することができる。図3(a)に、ディスプレイのブロック図を示す。図3(a)では、ディスプレイ300に、ネクサスグラフィックス310が、ネクサスオペレーティングシステム134(2)で稼動するネクサスプロセスによって所有されるグラフィックスである。ホストグラフィックス(ホスト画像)320は、ホストオペレーティングシステム134(1)で稼動するホストプロセスによって所有されるグラフィックスである。図3(a)からわかるように、ホストグラフィックス320を、ネクサスグラフィックス310の上に表示することが許可される場合に、ネクサスグラフィックスが、ホストグラフィックス320によって隠蔽される場合がある。この場合に、ネクサスグラフィックス310の一部またはすべてをホストグラフィックス320によって隠蔽することによって、攻撃を開始することができる。さらに、ネクサスグラフィックス310が、ホストグラフィックス320にオーバーレイするが部分的に透明の場合に、ホストグラフィックス320を使用して、混乱を招く形でネクサスグラフィックス310の外見を変更することができる。
本発明の一実施形態では、すべてのネクサスグラフィックス310を隠蔽されないようにし、ネクサスグラフィックス310内のすべての透き通し(通して透けて見える)を禁止することによって、そのような攻撃を防ぐ。したがって、図3(a)に示された情況について、ネクサスグラフィックス310は、隠蔽されることを許可されない。図3(b)に、ネクサスグラフィックス310の隠蔽の禁止を示す。図3(b)では、2つのネクサスグラフィックス310のそれぞれが、完全に表示され、ネクサスグラフィックス310のホストグラフィックス320によるオーバーラップが許可されていない。さらに、一実施形態で、透明(完全な透明または部分的な透明のいずれか)が、ネクサスグラフィックス310内で許可されない。
一実施形態では、あるネクサス側プロセスから別のネクサス側プロセスへの類似する攻撃を防ぐために、ネクサスグラフィックス310を、オーバーラップすることができない。ウィンドウイングシステム内で、一実施形態では、これに対する1つの例外、すなわちマウスカーソルが許可され、このマウスカーソルは、ネクサスグラフィックス310の上に表示される時にネクサス側プロセスによって描画することができ、ネクサス側グラフィック310にオーバーラップすることを許可されるものとすることができる。
もう1つの実施形態で、あるネクサス側プロセスが、たとえば2つのウィンドウまたはウィンドウとダイアログボックスなど、複数のユーザインターフェースグラフィック要素を所有する場合に、オーバーラップを許容することにセキュリティ問題がかかわらない。したがって、1つの共通して所有されるユーザインターフェースグラフィック要素は、ネクサスプロセスによって所有されるもう1つの共通して所有されるユーザインターフェースグラフィック要素にオーバーレイすることを許可される。もう1つの実施形態で、共通して所有されるトップレベルグラフィックUI要素は、オーバーラップを許可されないが、トップレベルUI要素は、そのトップレベルUI要素の子UI要素によってオーバーラップされることができる。たとえば、この実施形態で、トップレベルウィンドウの子UI要素であるダイアログボックスが、そのウィンドウにオーバーラップすることができる。
一実施形態で、どのユーザインターフェースグラフィック要素がネクサス側ユーザインターフェースグラフィック要素であるかを検証するために、画面からすべての非ネクサス側ユーザインターフェースグラフィック要素を除去する担保された(hypohecated)ユーザ対話が提供される。担保されたユーザ対話は、コンピュータシステムのコンテキストで、必ず特定の結果をもたらすユーザ対話である。したがって、セキュアディスプレイの担保されたユーザ対話の時、たとえばキーストロークの組合せが発生する時には、ネクサス側ユーザインターフェースグラフィック要素を除いて、ディスプレイ全体が、クリアされる。
図4は、この方法を示す流れ図である。ステップ400で、機密保護された実行環境で稼動するプロセス(ネクサスエージェント)に関連するネクサスグラフィカルユーザインターフェース要素画像を保管する。ステップ410で、ネクサスグラフィカルユーザインターフェース要素画像を、どのホストユーザインターフェース要素によっても隠蔽されずに、完全に表示する。他の実施形態では、このプロセスに関連するもの以外のどのグラフィカルユーザインターフェース要素(ホストまたはユーザ)でも、ネクサスグラフィカルユーザインターフェース要素を隠蔽することができない。
機密の共有
一実施形態で、上で説明したスプーフ攻撃を避けるために、機密が、ホスト側から隠されて表示される。ホスト側のどのプロセスも、機密にアクセスすることができず、したがって、ウィンドウまたは他のグラフィックユーザインターフェース要素が機密を表示できる場合には、その要素は、ネクサス側グラフィックユーザインターフェース要素である。
一実施形態で、機密(秘密)が、ユーザによってネクサスに通信される。このネクサスユーザ機密(ネクサスユーザ秘密)は、たとえばパスワードがユーザによって設定される時など、信頼初期化時にネクサスに通信することができる。グラフィックユーザインターフェース要素は、ネクサスユーザ機密をいつも表示するか、チャレンジされた時にネクサスユーザ機密を表示することができる。
ネクサス側のトラステッドウィンドウマネージャが、ネクサス側のプロセスによるグラフィックユーザインターフェース要素の表示を制御する。このトラステッドウィンドウマネージャは、ウィンドウのボーダー(枠線)およびタイトル(表題)などのウィンドウデコレーション(ウィンドウ修飾)の責任も負う。一実施形態で、ネクサスユーザ機密が、一般にネクサス内のプロセスと共有されない。しかし、この機密は、トラステッドウィンドウマネージャによってウィンドウデコレーションに表示される。代替実施形態では、ネクサスユーザ機密が、ユーザがウィンドウからそれを要求する時に表示される。この要求は、担保されたユーザ対話を介してフォーカスがあるウィンドウで行うことができる。たとえば、キーストロークの特定の組合せを、担保されたユーザ対話とすることができ、これによって、フォーカスがあるウィンドウにネクサスユーザ機密が表示される。代替案では、ウィンドウに、マウスまたはキーストロークによって選択された時に有効なネクサスグラフィック(ネクサス画像)310にネクサスユーザ機密を表示させるドロップダウンメニューまたはアクティベーション領域を含めることができる。
ネクサスユーザ機密は、画像またはフレーズ(語句)とすることができる。画像は、ユーザによって容易に識別され、記述が困難なので、有用なネクサスユーザ機密になれる。ネクサスユーザ機密として使用するためにユーザによって選択された画像が、たとえば、ユーザの家の前にいるユーザの犬の写真である場合に、ユーザの画面の画像を見た攻撃者がその写真を説明することはできるが、その情報があったとしても、攻撃者は、その画像を再作成するか、そのコピーを見つけることは困難である。
図5は、この方法の流れ図である。ステップ500で、ネクサスに関連するネクサスユーザ機密を保管する。ステップ510で、ネクサスユーザ機密要素画像を、ネクサスグラフィカルユーザインターフェース要素の一部として表示する。
連続シークレット順列(continual secret permutation)
上で説明したように、一実施形態では、トラステッドウィンドウマネージャは、それを介してすべてのネクサス側プロセスがそのユーザインターフェースグラフィック要素を表示する仲介物(intermediary)であり、トラステッドウィンドウマネージャは、ボーダーなど、ユーザインターフェースグラフィック要素のウィンドウデコレーションの責任を単独で負う。一実施形態で、ウィンドウデコレーションに、継続的に更新される短期間の機密が含まれる。この継続的に更新される機密は、非ネクサスウィンドウからアクセス可能ではなく、したがって、非ホストウィンドウを識別するのに使用することができる。
たとえば、各ネクサスユーザインターフェースグラフィック要素のボーダーが、特定の色であり、その色が、15秒に1回変更される場合に、所与のウィンドウボーダーが他のネクサスユーザインターフェースグラフィック要素と一致しない場合に、そのウィンドウがネクサス側ユーザインターフェースグラフィック要素でないことが、ユーザに明らかになる。他の可能な継続的に更新される機密に、小規模のグラフィックス、ウィンドウデコレーションに表示されるアイコン、グリフ(字型)、または文字の組合せ、あるいは16進数または数値文字列を含めることができる。ユーザが、適正に容易に気付く不一致と視覚的に比較できる情報を、どれでも使用することができる。
一実施形態で、ネクサスグラフィック310が表示される時に、必ず、ネクサスシステムユーザインターフェース領域がディスプレイ300に維持される。このユーザインターフェース領域には、表示されているネクサスグラフィック310に関する情報がリスト(一覧表記)される。たとえば、ユーザインターフェース領域に、表示されているネクサスグラフィック310の数、または表示されているネクサスグラフィック310の名前(たとえばウィンドウタイトル)をリストすることができる。ネクサスグラフィック310のデコレーション内の共有される機密も、ネクサスシステムユーザインターフェース領域に表示される。図6は、本発明の一実施形態によるディスプレイのブロック図である。図6では、3つのグリフ
Figure 0004698195
からなるシリーズ(一組)が、ディスプレイ300の各ネクサスグラフィック310のウィンドウデコレーション610に表示されている。ネクサスシステムインターフェース領域600も表示され、これには、3つのグリフの同一の組が含まれる。これによって、ウィンドウがネクサス側プロセスによって表示されていることの、ユーザによる簡単な確認が可能になる。
上で説明したように、機密の変更は、15秒ごとに変化する色付きボーダーなど、時間に基づくものとすることができるが、他の実施形態で、担保されたユーザ対話を介してユーザが機密の変更を要求する時に、またはあるウィンドウから別のウィンドウへのフォーカスの変更などのシステムイベントが発生した時に、機密が変更される。
図7は、この方法の流れ図である。ステップ700で、少なくとも2つのネクサスグラフィカルデータ要素を受け入れる。ウィンドウイングシステムでは、これらが、ウィンドウデコレーションと共に、ウィンドウイメージを構成する。ステップ710で、2つのネクサスグラフィカルユーザインターフェース要素(たとえばウィンドウ)を表示し、これらのそれぞれに、各ウィンドウに共通のデコレーションのほかに、グラフィカルデータ要素の1つが含まれる。
ウィンドウタイトル−パブリック(公開)とプライベート(非公開)
前に説明したように、トラステッドウィンドウマネージャを、それを介してすべてのネクサス側プロセスがユーザインターフェースグラフィック要素を表示する仲介物として使用することができる。しかし、ホスト側ウィンドウマネージャを使用して、ホスト側プロセスのユーザインターフェースグラフィック要素の表示を管理することができる。一実施形態で、ネクサス側ユーザインターフェースグラフィック要素(ネクサスグラフィック310など)ごとに、対応するシャドウグラフィックユーザインターフェース要素が、ホスト側ウィンドウマネージャによって維持される。これによって、ホスト側ウィンドウマネージャが、ディスプレイ300のある領域がネクサスグラフィック310によって使用されていることを認識できるようになる。上で説明したように、隠蔽および透き通しが禁止される時に、これは、ホスト側ウィンドウマネージャに有用な情報である可能性があり、したがって、可視にしなければならないウィンドウが、この領域に置かれなくなる。しかし、ネクサスグラフィック310に関する限られた情報だけを、ホスト側で使用可能にしなければならない。
したがって、一実施形態で、トラステッドウィンドウマネージャは、ネクサスエージェント(ネクサスで稼動するプロセス)が、ウィンドウまたは他のユーザインターフェースグラフィック要素ごとに2つのタイトルをセットできるようにする。一方のタイトルであるプライベートタイトルは、トラステッドウィンドウマネージャに渡され、ウィンドウ管理機能およびネクサスグラフィック310での表示に使用される。プライベートタイトルは、そのウィンドウ(または他の要素)を所有するネクサスエージェント以外のすべてのホスト側プロセスおよびネクサス側プロセスと、トラステッドウィンドウマネージャとによって共有されない。
プライベートタイトル(非公開表題)のほかに、ネクサスエージェントは、パブリックタイトル(公開表題)を指定することができる。このパブリックタイトルは、ホスト側ウィンドウマネージャを含めて、ホスト側と共有することができる。パブリックタイトルは、シャドウウィンドウのタイトルとしてホスト側ウィンドウマネージャによって使用することができる。この形で、ホスト側ウィンドウマネージャは、パブリックタイトルを使用してウィンドウを参照することができ、このパブリックタイトルは、機密を暴露する可能性がある情報を含まずにユーザに理解可能になるために選択される。したがって、ホスト側ウィンドウマネージャは、ユーザが、ウィンドウのリストからフォーカスを当てるウィンドウを選択できるようにする場合に、シャドウウィンドウに関連するパブリックタイトルが、選択されるオプションとしてリストされる。シャドウウィンドウが選択される時に、関連するトラステッドウィンドウが、アクティブ化され、関連するトラステッドウィンドウに関連するネクサスエージェントが、ユーザの入力のフォーカスになる。
図8は、この方法を示す流れ図である。ステップ800で、パブリックタイトル情報およびプライベートタイトル情報が、ネクサスエージェントに関連するネクサスグラフィカルユーザインターフェース要素について保管される。ステップ810で、プライベートタイトル情報を、トラステッドウィンドウマネージャのウィンドウ管理機能に使用する。ステップ820で、パブリックタイトル情報を、ホスト側での使用のためにホストに供給する。
結言
前述の例は、単に例示のために提供されたもので、決して本発明の制限と解釈されてはならないことに留意されたい。本発明を、さまざまな実施形態を参照して説明したが、本明細書で使用された用語が、制限の用語ではなく、説明および例示の用語であることを理解されたい。さらに、本発明を、特定の手段、材料、および実施形態に関して説明したが、本発明は、本明細書に開示された詳細に制限されることは意図されておらず、本発明は、請求項の範囲に含まれる、すべての機能的同等の構造、方法、および使用に拡張される。本明細書の教示の利益を有する当業者は、本発明の範囲および趣旨から逸脱せずに、その態様において多数の修正をもたらすことができ、変更を行うことができ得る。
本発明の諸態様を実施することができる例示的コンピューティング環境を示すブロック図である。 互いにある対話、および互いからのある分離を維持する2つの例示的実行環境を示すブロック図である。 ディスプレイを示すブロック図である。 本発明の一態様によるディスプレイを示すブロック図である。 ディスプレイに表示されるデータのセキュリティを保つ方法を示す流れ図である。 ディスプレイに表示されるデータのセキュリティを保つ方法を示す流れ図である。 本発明の一実施形態によるディスプレイを示すブロック図である。 ディスプレイに表示されるデータのセキュリティを維持する方法を示す流れ図である。 ディスプレイに表示されるデータのセキュリティを維持する方法を示す流れ図である。
符号の説明
100 コンピューティング環境
110 コンピュータ
120 処理ユニット
121 システムバス
130 システムメモリ
131 ROM
132 RAM
133 BIOS
134 オペレーティングシステム
135 アプリケーションプログラム
136 他のプログラムモジュール
137 プログラムデータ
140 取外し不能不揮発性メモリインターフェース
144 オペレーティングシステム
145 アプリケーションプログラム
146 他のプログラムモジュール
147 プログラムデータ
150 取外し可能不揮発性メモリインターフェース
160 ユーザ入力インターフェース
161 マウス
162 キーボード
170 ネットワークインターフェース
171 ローカルエリアネットワーク
172 モデム
173 広域ネットワーク
180 リモートコンピュータ
185 リモートアプリケーションプログラム
190 ビデオインターフェース
191 モニタ
195 出力周辺インターフェース
196 プリンタ
197 スピーカ
300 ディスプレイ
310 ネクサスグラフィック
320 ホストグラフィック
600 ネクサスシステムユーザインターフェース領域
610 ウィンドウデコレーション

Claims (30)

  1. 1つの機密保護された実行環境および1つの第2実行環境を含むシステムのディスプレイで表示されるデータのセキュリティを維持する方法であって、
    前記機密保護された実行環境で稼動する第1プロセスに関連する少なくとも1つのネクサスグラフィカルユーザインターフェース要素の画像を保管するステップと、
    前記ネクサスグラフィカルユーザインターフェース要素のどの部分も、前記ディスプレイ上で前記第2実行環境に関連するグラフィカルユーザインターフェース要素によって隠蔽されないように、前記ディスプレイ上の前記ネクサスグラフィカルユーザインターフェース要素を完全にディスプレイに表示するステップと
    を含むことを特徴とする方法。
  2. 前記ネクサスグラフィカルユーザインターフェース要素を表示する前記ステップは、
    前記ネクサスグラフィカルユーザインターフェース要素は透明の領域を含まないことを保証すること
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記ネクサスグラフィカルユーザインターフェース要素をディスプレイに表示する前記ステップは、前記ネクサスグラフィカルユーザインターフェース要素のどの部分もが、前記機密保護された実行環境で稼動する第2プロセスに関連するグラフィカルユーザインターフェース要素によって隠蔽されないように前記ネクサスグラフィカルユーザインターフェース要素を表示することを含むことを特徴とする請求項1に記載の方法。
  4. ユーザセキュアディスプレイ指示の受領をもって前記ディスプレイに前記ネクサスグラフィカルユーザインターフェース要素だけを表示すること
    をさらに含むことを特徴とする請求項1に記載の方法。
  5. 1つの機密保護された実行環境および1つの第2実行環境を含むシステムのディスプレイに表示されるデータのセキュリティを維持する方法であって、
    前記機密保護された実行環境に関連するネクサスユーザ機密を保管するステップと、
    前記ネクサスユーザ機密をネクサスグラフィカルユーザインターフェース要素の一部として前記ディスプレイに表示するステップであって、前記ネクサスグラフィカルユーザインターフェース要素は、前記機密保護された実行環境で稼動するプロセスに関連する、表示するステップと
    を含むことを特徴とする方法。
  6. 前記ネクサスユーザ機密を含むネクサスグラフィカルユーザインターフェース要素をディスプレイに表示する前記ステップは、
    ユーザネクサスユーザ機密表示指示を受け入れることと、
    前記ネクサスユーザ機密を表示することと
    を含むことを特徴とする請求項5に記載の方法。
  7. 1つの機密保護された実行環境および1つの第2実行環境を含むシステムのディスプレイに表示されるデータのセキュリティを維持する方法であって、
    前記ディスプレイ上の表示のために、それぞれが前記機密保護された実行環境で稼動するプロセスに関連する少なくとも2つのネクサスグラフィカルデータ要素を受け入れるステップと、
    少なくとも2つのネクサスグラフィカルユーザインターフェース要素を表示するステップであって、該ネクサスグラフィカルユーザインターフェース要素のそれぞれは、前記ネクサスグラフィカルデータ要素および共通グラフィカルユーザインターフェースデコレーションの1つを含む、表示するステップと
    を含むことを特徴とする方法。
  8. 前記共通グラフィカルユーザインターフェースデコレーションは、色付きボーダーを含むことを特徴とする請求項7に記載の方法。
  9. 前記共通グラフィカルユーザインターフェースデコレーションは、1つまたは複数のランダムに選択された画像を含むことを特徴とする請求項7に記載の方法。
  10. 設定時間枠が経過した時に、前記共通グラフィカルユーザインターフェースデコレーションを変更すること
    をさらに含むことを特徴とする請求項7に記載の方法。
  11. ユーザデコレーション変更指示を受けた時に、前記共通グラフィカルユーザインターフェースデコレーションを変更すること
    をさらに含むことを特徴とする請求項7に記載の方法。
  12. 1つの機密保護された実行環境および1つの第2実行環境を含むシステムのディスプレイに表示されるデータのセキュリティを維持する方法であって、
    前記機密保護された実行環境で稼動するプロセスに関連するネクサスグラフィカルユーザインターフェース要素のパブリックタイトル情報およびプライベートタイトル情報を保管するステップと、
    前記ネクサスグラフィカルユーザインターフェース要素を表示する時に、前記機密保護された実行環境上のウィンドウ管理機能のために前記プライベートタイトル情報を使用するステップと、
    前記パブリックタイトル情報を前記第2実行環境での使用のために提供するステップと
    を含むことを特徴とする方法。
  13. 前記第2実行環境は、前記ディスプレイ上のグラフィカルユーザインターフェース要素を管理するホストウィンドウマネージャを含み、前記ホストウィンドウマネージャは、前記ネクサスグラフィカルユーザインターフェース要素に係わるシャドウグラフィカルユーザインターフェース要素を作成し、前記パブリックタイトルは、前記ホストウィンドウマネージャによって使用されることを特徴とする請求項12に記載の方法。
  14. 前記ネクサスグラフィカルユーザインターフェース要素のどの部分もが、前記ディスプレイ上の前記第2実行環境に関連するグラフィカルユーザインターフェース要素によって隠蔽されないように、前記ディスプレイ上の前記ネクサスグラフィカルユーザインターフェース要素のそれぞれを完全にディスプレイに表示するステップであって、前記ネクサスグラフィカルユーザインターフェース要素のそれぞれは、共通グラフィカルユーザインターフェースデコレーションを含む、表示するステップと、
    前記機密保護された実行環境に関連するネクサスユーザ機密を保管するステップと、
    前記ネクサスユーザ機密を含むネクサスユーザ機密グラフィカルユーザインターフェース要素を前記ディスプレイに表示するステップと
    をさらに含むことを特徴とする請求項12に記載の方法。
  15. 1つの機密保護された実行環境および1つの第2実行環境を含むシステムのディスプレイで表示されるデータのセキュリティを維持するコンピュータ実行可能命令を含むコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、
    前記機密保護された実行環境で稼動する第1プロセスに関連する少なくとも1つのネクサスグラフィカルユーザインターフェース要素の画像を保管することと、
    前記ネクサスグラフィカルユーザインターフェース要素のどの部分も、前記ディスプレイ上で前記第2実行環境に関連するグラフィカルユーザインターフェース要素によって隠蔽されないように、前記ディスプレイ上の前記ネクサスグラフィカルユーザインターフェース要素を全部完全にディスプレイに表示することと
    を含む動作を実行することを特徴とするコンピュータ可読媒体。
  16. 前記ネクサスグラフィカルユーザインターフェース要素を表示する前記動作は、
    前記ネクサスグラフィカルユーザインターフェース要素が透明の領域を含まないことを保証すること
    を含むことを特徴とする請求項15に記載のコンピュータ可読媒体。
  17. 前記ネクサスグラフィカルユーザインターフェース要素をディスプレイに表示する前記動作は、前記ネクサスグラフィカルユーザインターフェース要素のどの部分もが、前記機密保護された実行環境で稼動する第2プロセスに関連するグラフィカルユーザインターフェース要素によって隠蔽されないように前記ネクサスグラフィカルユーザインターフェース要素を表示することを含むことを特徴とする請求項15に記載のコンピュータ可読媒体。
  18. 前記コンピュータ実行可能命令は、
    ユーザセキュアディスプレイ指示の受領をもって前記ディスプレイに前記ネクサスグラフィカルユーザインターフェース要素だけを表示すること
    をさらに含む動作を実行するように適合されていることを特徴とする請求項15に記載のコンピュータ可読媒体。
  19. 1つの機密保護された実行環境および1つの第2実行環境を含むシステムのディスプレイに表示されるデータのセキュリティを維持するコンピュータ実行可能命令を含むコンピュータ可読媒体であって、前記コンピュータ実行可能命令が、
    前記機密保護された実行環境に関連するネクサスユーザ機密を保管することと、
    前記ネクサスユーザ機密をネクサスグラフィカルユーザインターフェース要素の一部として前記ディスプレイに表示することであって、前記ネクサスグラフィカルユーザインターフェース要素は、前記機密保護された実行環境で稼動するプロセスに関連する、表示することと
    を含む動作を実行することを特徴とするコンピュータ可読媒体。
  20. 前記ネクサスユーザ機密を含むネクサスグラフィカルユーザインターフェース要素をディスプレイに表示する前記動作は、
    ユーザネクサスユーザ機密表示指示を受け入れることと、
    前記ネクサスユーザ機密を表示することと
    を含むことを特徴とする請求項19に記載のコンピュータ可読媒体。
  21. 1つの機密保護された実行環境および1つの第2実行環境を含むシステムのディスプレイに表示されるデータのセキュリティを維持するコンピュータ実行可能命令を含むコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、
    前記ディスプレイ上の表示のために、それぞれが前記機密保護された実行環境で稼動するプロセスに関連する少なくとも2つのネクサスグラフィカルデータ要素を受け入れることと、
    少なくとも2つのネクサスグラフィカルユーザインターフェース要素を表示することであって、該ネクサスグラフィカルユーザインターフェース要素のそれぞれ、前記ネクサスグラフィカルデータ要素および共通グラフィカルユーザインターフェースデコレーションの1つを含む、表示することと
    を含む動作を実行することを特徴とするコンピュータ可読媒体。
  22. 前記共通グラフィカルユーザインターフェースデコレーション、色付きボーダーを含むことを特徴とする請求項21に記載のコンピュータ可読媒体。
  23. 前記共通グラフィカルユーザインターフェースデコレーションは、1つまたは複数のランダムに選択された画像を含むことを特徴とする請求項21に記載のコンピュータ可読媒体。
  24. 前記コンピュータ実行可能命令は、
    設定時間枠が経過した時に、前記共通グラフィカルユーザインターフェースデコレーションを変更すること
    をさらに含む動作を実行するように適合されていることを特徴とする請求項21に記載のコンピュータ可読媒体。
  25. 前記コンピュータ実行可能命令は、
    ユーザデコレーション変更指示を受けた時に、前記共通グラフィカルユーザインターフェースデコレーションを変更すること
    をさらに含む動作を実行するように適合されることを特徴とする請求項21に記載のコンピュータ可読媒体。
  26. 1つの機密保護された実行環境および1つの第2実行環境を含むシステムのディスプレイに表示されるデータのセキュリティを維持するコンピュータ実行可能命令を含むコンピュータ可読媒体であって、前記コンピュータ実行可能命令は、
    前記機密保護された実行環境で稼動するプロセスに関連するネクサスグラフィカルユーザインターフェース要素のパブリックタイトル情報およびプライベートタイトル情報を保管することと、
    前記ネクサスグラフィカルユーザインターフェース要素を表示する時に、前記機密保護された実行環境上のウィンドウ管理機能のために前記プライベートタイトル情報を使用することと、
    前記パブリックタイトル情報を前記第2実行環境での使用のために提供することと
    を含む動作を実行することを特徴とするコンピュータ可読媒体。
  27. 前記第2実行環境は、前記ディスプレイ上のグラフィカルユーザインターフェース要素を管理するホストウィンドウマネージャを含み、前記ホストウィンドウマネージャは、前記ネクサスグラフィカルユーザインターフェース要素に係わるシャドウグラフィカルユーザインターフェース要素を作成し、前記パブリックタイトルは、前記ホストウィンドウマネージャによって使用されることを特徴とする請求項26に記載のコンピュータ可読媒体。
  28. 前記コンピュータ実行可能命令は、
    前記ネクサスグラフィカルユーザインターフェース要素のどの部分もが、前記ディスプレイ上の前記第2実行環境に関連するグラフィカルユーザインターフェース要素によって隠蔽されないように、前記ディスプレイ上の前記ネクサスグラフィカルユーザインターフェース要素のそれぞれを全部完全にディスプレイに表示することであって、前記ネクサスグラフィカルユーザインターフェース要素のそれぞれ、共通グラフィカルユーザインターフェースデコレーションを含む、表示することと、
    前記機密保護された実行環境に関連するネクサスユーザ機密を保管することと、
    前記ネクサスユーザ機密を含むネクサスユーザ機密グラフィカルユーザインターフェース要素を前記ディスプレイに表示することと
    をさらに含む動作を実行するように適合されていることを特徴とする請求項26に記載のコンピュータ可読媒体。
  29. 1つの機密保護された実行環境および1つの第2実行環境を含むシステムのディスプレイに表示されるデータのセキュリティを維持するシステムであって、
    前記機密保護された実行環境で稼動するプロセスに関連するネクサスグラフィカルユーザインターフェース要素のプライベートタイトル情報、および前記機密保護された実行環境に関連するネクサスユーザ機密とを保管するための機密保護された第1実行環境ストレージと、
    前記ネクサスグラフィカルユーザインターフェース要素のパブリックタイトル情報を保管する第2実行環境ストレージと、
    前記ネクサスグラフィカルユーザインターフェース要素のどの部分もが、前記ディスプレイ上の前記第2実行環境に関連するグラフィカルユーザインターフェース要素によって隠蔽されないように、前記ディスプレイ上の前記ネクサスグラフィカルユーザインターフェース要素のそれぞれを全部完全にディスプレイに表示するトラステッドウィンドウマネージャであって、該ネクサスグラフィカルユーザインターフェース要素のそれぞれが、共通グラフィカルユーザインターフェースデコレーションおよび前記プライベートタイトル情報とを含む、トラステッドウィンドウマネージャと
    を含むことを特徴とするシステム。
  30. 前記トラステッドウィンドウマネージャは、前記ネクサスユーザ機密を含むネクサスユーザ機密グラフィカルユーザインターフェース要素を前記ディスプレイに表示することを特徴とする請求項29に記載のシステム。
JP2004302187A 2003-10-23 2004-10-15 高信頼度実行環境を有するシステムでのグラフィカルユーザインターフェースの提供の方法とシステム Expired - Fee Related JP4698195B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/691,759 2003-10-23
US10/691,759 US8122361B2 (en) 2003-10-23 2003-10-23 Providing a graphical user interface in a system with a high-assurance execution environment

Publications (2)

Publication Number Publication Date
JP2005129050A JP2005129050A (ja) 2005-05-19
JP4698195B2 true JP4698195B2 (ja) 2011-06-08

Family

ID=34394551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004302187A Expired - Fee Related JP4698195B2 (ja) 2003-10-23 2004-10-15 高信頼度実行環境を有するシステムでのグラフィカルユーザインターフェースの提供の方法とシステム

Country Status (16)

Country Link
US (1) US8122361B2 (ja)
EP (1) EP1526424B1 (ja)
JP (1) JP4698195B2 (ja)
KR (1) KR101076903B1 (ja)
CN (1) CN1609809B (ja)
AT (1) ATE417324T1 (ja)
AU (1) AU2004214609B2 (ja)
BR (1) BRPI0404349A (ja)
CA (1) CA2482281A1 (ja)
DE (1) DE602004018248D1 (ja)
HK (1) HK1076518A1 (ja)
MX (1) MXPA04009837A (ja)
MY (1) MY142672A (ja)
RU (1) RU2376631C2 (ja)
TW (1) TW200516541A (ja)
ZA (1) ZA200407587B (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122361B2 (en) 2003-10-23 2012-02-21 Microsoft Corporation Providing a graphical user interface in a system with a high-assurance execution environment
US7145573B2 (en) * 2003-12-19 2006-12-05 Texas Instruments Incorporated Method and system to combine a digital graphics object and a digital picture
US7721094B2 (en) * 2005-05-06 2010-05-18 Microsoft Corporation Systems and methods for determining if applications executing on a computer system are trusted
US8769433B2 (en) * 2005-05-13 2014-07-01 Entrust, Inc. Method and apparatus for protecting communication of information through a graphical user interface
US20070110244A1 (en) * 2005-11-16 2007-05-17 Kapil Sood Method, apparatus and system for enabling a secure wireless platform
US8422678B2 (en) * 2005-11-16 2013-04-16 Intel Corporation Method, apparatus and system for protecting security keys on a wireless platform
US8117441B2 (en) * 2006-06-20 2012-02-14 Microsoft Corporation Integrating security protection tools with computer device integrity and privacy policy
US8417868B2 (en) * 2006-06-30 2013-04-09 Intel Corporation Method, apparatus and system for offloading encryption on partitioned platforms
US9747426B2 (en) * 2006-08-31 2017-08-29 Invention Science Fund I, Llc Handling masquerading elements
US7913292B2 (en) * 2006-10-18 2011-03-22 Microsoft Corporation Identification and visualization of trusted user interface objects
US8561204B1 (en) * 2007-02-12 2013-10-15 Gregory William Dalcher System, method, and computer program product for utilizing code stored in a protected area of memory for securing an associated system
JP4998019B2 (ja) * 2007-03-06 2012-08-15 富士通株式会社 状態表示制御装置
FR2914457B1 (fr) 2007-03-30 2009-09-04 Ingenico Sa Procede et dispositif de visualisation securitaire
US20080244262A1 (en) * 2007-03-30 2008-10-02 Intel Corporation Enhanced supplicant framework for wireless communications
JP5004779B2 (ja) * 2007-12-11 2012-08-22 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチウインドウ・システム、マルチウインドウ・システムのセキュリティ保護方法、及びマルチウインドウ・システムのセキュリティ保護プログラム
EP2113855A1 (de) 2008-04-28 2009-11-04 Forschungszentrum Karlsruhe GmbH Verfahren zur Verwaltung und Handhabung mehrerer Betriebssysteme in einem Computer oder Computernetzwerk
JP4886063B2 (ja) 2009-12-04 2012-02-29 株式会社エヌ・ティ・ティ・ドコモ 状態報知装置、状態報知方法及びプログラム
US8839138B1 (en) * 2009-12-21 2014-09-16 Symantec Corporation Systems and methods for transitioning between user interface environments
KR101651202B1 (ko) * 2009-12-21 2016-08-26 삼성전자주식회사 가상화 장치 및 가상화 장치의 동작 방법
WO2012090072A1 (en) * 2010-12-30 2012-07-05 France Telecom System and method for cross virtual machine execution of applications
DE102011018431A1 (de) * 2011-04-21 2012-10-25 Giesecke & Devrient Gmbh Verfahren zur Anzeige von Informationen auf einer Anzeigeeinrichtung eines Endgeräts
US9298910B2 (en) 2011-06-08 2016-03-29 Mcafee, Inc. System and method for virtual partition monitoring
DE102011115135A1 (de) 2011-10-07 2013-04-11 Giesecke & Devrient Gmbh Mikroprozessorsystem mit gesicherter Laufzeitumgebung
US20130145475A1 (en) * 2011-12-02 2013-06-06 Samsung Electronics Co., Ltd. Method and apparatus for securing touch input
CN104252597B (zh) * 2013-06-25 2017-05-31 中国银联股份有限公司 一种指示移动设备操作环境的方法和能够指示操作环境的移动设备
KR102348217B1 (ko) * 2014-04-11 2022-01-10 삼성전자 주식회사 전자장치에서 보안화면을 제어하는 방법 및 장치
US10002255B2 (en) 2014-04-11 2018-06-19 Samsung Electronics Co., Ltd. Method and device for controlling security screen in electronic device
FR3026207B1 (fr) * 2014-09-22 2018-08-17 Prove & Run Terminal a affichage securise
CN104809379A (zh) * 2015-05-13 2015-07-29 上海瓶钵信息科技有限公司 基于屏幕分层管理的系统执行状态验证方法
US10496528B2 (en) * 2015-08-31 2019-12-03 Microsoft Technology Licensing, Llc User directed partial graph execution
EP3355188B1 (en) 2017-01-31 2021-08-25 OpenSynergy GmbH Instrument display on a car dashboard by checking frames of a gui by a realtime os
CN107390981B (zh) * 2017-07-21 2020-04-21 广州视源电子科技股份有限公司 一种全局菜单的控制方法、装置、设备和存储介质
RU185049U1 (ru) * 2018-06-09 2018-11-19 Общество с ограниченной ответственностью "ДЕПО Электроникс" Двухконтурный моноблочный комплекс

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06138969A (ja) * 1992-10-27 1994-05-20 Hitachi Ltd 機密保護方式
JPH08234953A (ja) * 1995-02-28 1996-09-13 Canon Inc マルチウィンドウ表示制御装置
JPH09146751A (ja) * 1995-06-07 1997-06-06 Sony Electron Inc ウィンドウ表示方法及びウィンドウ管理装置
JPH11272382A (ja) * 1998-03-19 1999-10-08 Canon Inc コンピュータシステム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596718A (en) * 1992-07-10 1997-01-21 Secure Computing Corporation Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor
US5590266A (en) * 1994-10-11 1996-12-31 International Business Machines Corporation Integrity mechanism for data transfer in a windowing system
CA2197953C (en) * 1997-02-19 2005-05-10 Steve Janssen User interface and method for maximizing the information presented on a screen
KR100521252B1 (ko) 1997-06-16 2006-01-12 삼성전자주식회사 화면출력상태 제어기능을 갖는 컴퓨터 시스템 및 그 제어방법
US6189103B1 (en) * 1998-07-21 2001-02-13 Novell, Inc. Authority delegation with secure operating system queues
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6389542B1 (en) * 1999-10-27 2002-05-14 Terence T. Flyntz Multi-level secure computer with token-based access control
US20010032319A1 (en) * 2000-01-10 2001-10-18 Authentec, Inc. Biometric security system for computers and related method
US7023459B2 (en) * 2001-03-01 2006-04-04 International Business Machines Corporation Virtual logical partition terminal
US7114177B2 (en) * 2001-03-28 2006-09-26 Geotrust, Inc. Web site identity assurance
JP4291964B2 (ja) * 2001-04-19 2009-07-08 株式会社日立製作所 仮想計算機システム
US7127683B2 (en) * 2001-08-21 2006-10-24 The Boeing Company Method to detect application spoofing in mixed use avionics display
US20050044505A1 (en) * 2003-08-19 2005-02-24 Laney Clifton W. Creating an opaque graphical user interface window when a display unit is in an off state
US8122361B2 (en) 2003-10-23 2012-02-21 Microsoft Corporation Providing a graphical user interface in a system with a high-assurance execution environment
US8769433B2 (en) * 2005-05-13 2014-07-01 Entrust, Inc. Method and apparatus for protecting communication of information through a graphical user interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06138969A (ja) * 1992-10-27 1994-05-20 Hitachi Ltd 機密保護方式
JPH08234953A (ja) * 1995-02-28 1996-09-13 Canon Inc マルチウィンドウ表示制御装置
JPH09146751A (ja) * 1995-06-07 1997-06-06 Sony Electron Inc ウィンドウ表示方法及びウィンドウ管理装置
JPH11272382A (ja) * 1998-03-19 1999-10-08 Canon Inc コンピュータシステム

Also Published As

Publication number Publication date
HK1076518A1 (en) 2006-01-20
US20050091486A1 (en) 2005-04-28
CA2482281A1 (en) 2005-04-23
CN1609809B (zh) 2011-05-11
ATE417324T1 (de) 2008-12-15
US8122361B2 (en) 2012-02-21
JP2005129050A (ja) 2005-05-19
MXPA04009837A (es) 2005-04-28
TW200516541A (en) 2005-05-16
DE602004018248D1 (de) 2009-01-22
RU2004131030A (ru) 2006-04-10
EP1526424A2 (en) 2005-04-27
BRPI0404349A (pt) 2005-06-21
ZA200407587B (en) 2006-05-31
CN1609809A (zh) 2005-04-27
EP1526424B1 (en) 2008-12-10
KR101076903B1 (ko) 2011-10-25
KR20050039530A (ko) 2005-04-29
EP1526424A3 (en) 2005-07-27
MY142672A (en) 2010-12-15
AU2004214609A1 (en) 2005-05-12
AU2004214609B2 (en) 2010-01-14
RU2376631C2 (ru) 2009-12-20

Similar Documents

Publication Publication Date Title
JP4698195B2 (ja) 高信頼度実行環境を有するシステムでのグラフィカルユーザインターフェースの提供の方法とシステム
US7565535B2 (en) Systems and methods for demonstrating authenticity of a virtual machine using a security image
US7661126B2 (en) Systems and methods for authenticating a user interface to a computer user
JP4838505B2 (ja) 高い保証の実行環境を備えたシステムにおける信頼できるエージェントへの安全な入出力の提供
US7721094B2 (en) Systems and methods for determining if applications executing on a computer system are trusted
US9355282B2 (en) Using multiple display servers to protect data
JP5094870B2 (ja) 信頼できるユーザインタフェースオブジェクトの識別及び視覚化
US7882566B2 (en) Providing secure input to a system with a high-assurance execution environment
US9177164B2 (en) System and method for a parallel world of security for non secure environments
US10846397B2 (en) Segmented workstation with common desktop control and manual access control
Fernandes et al. Tivos: Trusted visual i/o paths for android
Ye et al. Web spoofing revisited: SSL and beyond
Weber et al. Requirements and Design Guidelines for a Trusted Hypervisor Interface

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110301

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees