JP4998019B2 - 状態表示制御装置 - Google Patents

状態表示制御装置 Download PDF

Info

Publication number
JP4998019B2
JP4998019B2 JP2007055966A JP2007055966A JP4998019B2 JP 4998019 B2 JP4998019 B2 JP 4998019B2 JP 2007055966 A JP2007055966 A JP 2007055966A JP 2007055966 A JP2007055966 A JP 2007055966A JP 4998019 B2 JP4998019 B2 JP 4998019B2
Authority
JP
Japan
Prior art keywords
display
unit
data
request
displayed
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
JP2007055966A
Other languages
English (en)
Other versions
JP2008217580A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007055966A priority Critical patent/JP4998019B2/ja
Priority to US12/042,047 priority patent/US8484735B2/en
Publication of JP2008217580A publication Critical patent/JP2008217580A/ja
Application granted granted Critical
Publication of JP4998019B2 publication Critical patent/JP4998019B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information

Description

この発明は、状態表示制御装置に関し、特に、パソコン(PC)等のコンピュータに悪意のあるソフトウェアがインストールされた場合等において、不正アクセスの存在を検出して、ユーザに警告や信頼性情報などを報知するセキュリティ機能を備えた状態表示(信頼性表示)制御装置に関する。
今日、パソコン等のコンピュータは、オペレーティングシステム(OSと呼ぶ)の管理のもと、多数のアプリケーションプログラムが起動され、種々の機能が実現されている。
アプリケーションプログラムの中には、ウイルスやスパイウェアのように、不正なアクセスや個人情報等を盗む目的を持った悪意のあるソフトウェアが存在し、これらのソフトウェアによる不正アクセス等を防止するため、種々の対策がとられている。
たとえば、パソコン(以下、PCと呼ぶ)にTPM(Trusted Platform Module)と呼ばれるハードウェアLSIを破壊不可能なように搭載し、不正なソフトウェアの存在の検出や、不正な認証を防止するセキュリティシステムが提案されている(特許文献1参照)。
また、1つのPC上に、複数のOSを搭載し、不正アクセスを検出してセキュリティを向上させるシステムも提案されている。
たとえば、2つのOSを搭載し、一方のOSの管理下では、従来と同様に、ユーザが自由にインストールしたアプリケーションプログラムを動作させ、他方のOSの管理下では、IT管理者等によって信頼されたソフトウェアのみを動作させる。
ここで信頼されたソフトウェアとは、たとえば、アンチウイルスソフトウェア,パーソナルファイアウォールなど特殊な用途目的のソフトウェア群である。2つのOSのうち一方のOSを従来OSと呼び、他方のOSを、Trusted OS(以下、T-OS)と呼ぶ。
また、T−OSの管理下で動作するソフトウェア群は、表示装置に表示された特別な表示枠の中に、その処理内容の画面を表示させるように実行させられる。そのため、表示される内容は、一般に特殊な表示メモリ領域TFB(Trusted Frame Buffer)に書き込まれる。TFBに書き込まれた情報が、その特別な表示枠(T-OS用枠)の中に表示される。
図15に、従来のセキュリティシステムの概略構成の説明図を示す。
図15は、1つのPCの構成の一部を示しており、ハードウェアとしてCPU,Display,Graphic Chipを備えている。
また、CPUによって従来OSとT−OS(Trusted OS)が動作させられ、さらに、2つのOSは、VMM(Virtual Machine Monitor)と呼ばれる管理ソフトウェアのもとに動作している。
また、Graphic Chipは、Displayへの表示内容を制御するLSIであり、その中に、2つの表示メモリ領域(TFB,UTFB)を有する。
TFB(Trusted Frame Buffer)は、T−OSによってのみ使用されるメモリ領域であり、UTFB(Untrusted Frame Buffer)は、従来OSによってのみ使用されるメモリ領域とする。
Displayは、CRTやLCDのような一般的な表示装置であるが、従来OS用の表示枠と、T−OS用の表示枠を表示する。そしてそれぞれのOSの管理下で動作するソフトウェアによって表示要求がされた場合は、対応するOS用の表示枠の中に、表示要求されたデータを表示する。
管理ソフトウェアVMMは、主として従来OSからの表示要求入力を受理する仮想Graphic部1と、T−OSからの表示要求入力を受理する仮想Graphic部2と、Graphic Chipを制御するドライバ部(Graphic Chipドライバ)とを備える。
たとえば、従来OSの管理下で動作するソフトウェアから何らかの表示要求があった場合、その表示要求入力を仮想Graphic部1が受理し、Graphic Chipドライバがその表示要求を解釈して、表示データとともにGraphic Chipに送る。
Graphic Chipは、表示要求を受理すると、それが従来OSによるものである場合は、受信した表示データを、UTFBへ書き込む。UTFBに表示データが書き込まれると、Display上に表示された従来OS用の表示枠の中に、その表示データが表示される。
同様に、Display上には、T−OS用の表示枠が表示され、T−OSの管理下で動作するソフトウェアからの表示要求があった場合に、その表示要求された表示データが、T−OS用の表示枠の中に表示される。
Displayには、2つの表示枠が表示されるが、表示枠の色を変えることなどにより、ユーザには、表示されている枠がどちらの表示枠であるかを知らせる。
T−OSの管理下で動作するソフトウェアは、常に信頼された正当なソフトウェアであるとすると、Display上のT−OS用の表示枠に表示されている内容は、不正なソフトウェアによるものではなく、ユーザは信頼できる情報と考えて、表示内容を読み、必要なデータを入力したりする。
特開2003−271254号公報
しかし、Displayに表示されるT−OS用の表示枠の色や表示位置などが固定されているとすると、その表示内容を模倣し不正な表示がされる可能性がある。たとえば、PCに従来OSの管理下において動作する不正なソフトウェアがインストールされ、その不正なソフトウェアで、Display上に、T−OS用の表示枠と同一の枠を表示させ、ユーザにその枠内に表示されている情報は、あたかもT−OSによって信頼されているソフトウェアが表示したものであるかのような表示をさせることが可能である。
図16に、このような不正ソフトウェアによって不正な表示がされる状態の説明図を示す。この場合、不正なソフトウェアは、従来OSの管理下にあるので、表示要求された表示データは、すべてUTFBに書き込まれることになる。
しかし、不正なソフトウェアによって、UTFB上に、従来OS用の表示枠とT−OS用の表示枠をどちらも書き込ませるようにすることは可能であり、Displayを見ているユーザにとっては、T−OS用の表示枠が不正なソフトウェアによって表示されたものであるか否かの区別がつかず、その表示内容は、図15に表示されたものと同一であるかのように見えてしまう。
このとき、たとえば、T−OS用の表示枠と偽っている枠に、IDやパスワードを入力させる画面が表示されていたとすると、ユーザが何の疑いもなく、IDやパスワードを入力してしまう可能性がある。
さらに、不正なソフトウェアの機能として、入力されたパスワード等をネットワークを介して他の特定のPCへ転送するような処理が組み込まれている場合は、そのパスワード等が盗まれてしまうことになる。
特に、本来のTFBを介して表示されるT−OS用の正常な表示枠そのものや、枠内への表示内容が表示されていない場合には、不正ソフトウェアによって表示されたT−OS用の表示枠やその表示内容は、ユーザが信頼できるものと判断してしまう可能性が高く、ユーザのパスワードの入力を阻止することが難しい場合がある。
不正なソフトウェアは、種々の方法でPCに侵入し、ユーザが気がつきにくい形態で存在する場合もあるので、ユーザがDisplayの表示だけを信頼して、パスワード等の入力をするのは危険である。また、アンチウイルスソフトなどをインストールしたとしても、不正なソフトウェアの侵入を完全に防止することは困難であり、Displayに不正な表示がされる可能性は残る。
そこで、DisplayのT−OS用の表示枠に表示される内容は一応信頼あるものとして処理するものの、その表示内容が本当に信頼できる内容であるかどうかを確認することのできる仕組みを、ユーザに提供することが望まれる。
この発明は、以上のような事情を考慮してなされたものであり、本来のDisplayへの表示とは別に、不正なソフトウェアが存在しないことや表示内容の信頼性等を確認できる出力手段を備えた状態表示制御装置を提供することを課題とする。
この発明は、2つの基本機能管理部と、2つの基本機能管理部の管理下でそれぞれ動作する機能モジュールからの表示要求に基づいて、表示データを表示するデータ表示部と、前記基本機能管理部のうち一方の第1基本機能管理部の管理下で動作し、かつデータ表示部への表示を管理し、予め信頼性が確認された表示管理モジュールと、前記表示管理モジュールおよび他方の第2基本機能管理部からの表示要求を受理し、その表示要求の送信元が正当か否かを検査するOS管理部と、前記OS管理部が検査した正当性の検査結果および前記表示管理モジュールからの表示要求に基づいて、信頼性判断情報を出力する出力部と、前記OS管理部が検査するための基準となる判断情報を予め記憶した信頼性情報管理部とを備え、前記OS管理部が、前記表示要求によりデータ表示部に表示データが表示された場合、前記判断情報に基づいて表示要求の送信元の正当性を検査し、データ表示部に表示されている表示データの表示状態を確認可能な情報を、出力部へ出力することを特徴とする状態表示制御装置を提供するものである。
これによれば、ユーザが出力部から出力される情報を確認することにより、データ表示部に表示されている状態の正当性を的確に判断でき、たとえば不正なソフトウェアによって表示された画面に対してユーザがデータの入力をすることを未然に防止することができ、データ表示部に表示されている表示状態の確認の信頼性を向上できる。
ここで、信頼性判断情報は、ユーザが、データ表示部に表示されているデータの信頼性を判断するための情報を意味する。この情報が視覚的な情報の場合は、図2の状態表示部およびキーボード表示部に表示される。
この発明において、前記第1基本機能管理部は、予め信頼性が確認された機能モジュールのみの動作を制御する信頼化オペレーティングシステムであることを特徴とする。
ここで、第1基本機能管理部は、図1の第2OSに相当し、信頼性が確認された機能モジュールソフトウェアの動作を管理するTrusted OSに相当する。機能モジュールとは、特定の機能を実現するために作成されたアプリケーションプログラムを意味する。
また、他方の第2基本機能管理部は、図1の第1OSに相当し、従来および現在市販されているパソコン等に搭載されているオペレーティングシステム(従来OS)に相当する。
また、この発明において、前記データ表示部は、第1基本機能管理部の管理下で動作する機能モジュールおよび前記表示管理モジュールによって表示要求された表示データを表示する第1表示枠と、第2基本機能管理部の管理下で動作する機能モジュールによって表示要求された表示データを表示する第2表示枠とを同時に表示することを特徴とする。
データ表示部は、図1の表示装置に相当し、起動された特定の機能モジュールによって表示されるべき表示データを表示するディスプレイである。ここで、第1表示枠とは、図1のT−OS枠を意味し、第2表示枠とは図1の従来OS枠を意味する。データ表示部には、CRT,LCD,有機EL,PDPなど、一般的に用いられている表示装置を用いることができる。
また、前記出力部は、データ表示部に表示されている表示データの表示状態を視覚的に確認可能な状態表示部を備えていることを特徴とする。
出力部は、ユーザに何らかの情報を提供するものであり、その出力方法は問わない。たとえば、情報を視覚的に確認することが可能な表示装置を用いることができる。状態表示部は、視覚的に確認する出力部の一つである。
状態表示部には、前記したようなCRT,LCDなどを用いることもできるが、LEDや、特定の文字,数字,図形,アイコンなどを表示可能な専用の表示デバイスを用いてもよい。
また、出力部には、情報を聴覚的に確認することのできる音声出力装置(スピーカ)や書面として出力できるプリンタなどを用いてもよい。
また、前記状態表示部が、前記第1表示枠の中に表示されている表示データが、前記第1基本機能管理部の管理下で動作する機能モジュールによる表示要求されたデータであることを示す特定状態表示をすることを特徴とする。
ここで、状態表示部は、機能モジュールから要求された表示データそのものを表示するものではなく、データ表示部に表示されるデータの表示状態を確認するための表示装置であることを意味する。そして、特に、データ表示部に表示される第1表示枠(T-OS枠)の中に表示される表示データの特定状態を確認するための表示をするものである。
ここで、特定状態とは、第1表示枠(T-OS枠)の中に表示されている表示データが、第1基本機能管理部(Trusted OS)の管理下で動作する機能モジュールによって表示要求されたデータであることを示す状態である。その特定状態表示を見れば、第1表示枠の表示状態が、信頼性のあるものかまたはないものであるかの確認ができる。
なお、特定状態表示は、後述する状態表示部51およびキーボード表示部52に表示される表示を意味する。
また、この発明において、前記信頼性情報管理部が、TPM(Trusted Platform Module)からなり、前記判断情報が、少なくとも各機能モジュール,基本機能管理部,表示管理モジュール,OS管理部をそれぞれ特定するハッシュ値であることを特徴とする。
ここで、前記TPMは、起動時に測定された前記表示管理モジュールのハッシュ値を記憶することを特徴とする。
上記ハッシュ値は、後述するTPMのハッシュ記憶部に記憶されるハッシュ値を意味する。
また、前記OS管理部は、前記表示管理モジュールを特定する認証データを予め記憶する記憶部と、表示要求の送信元の信頼性を認証する認証部とを備え、前記認証部が、前記TPMに記憶されていた表示管理モジュールのハッシュ値と、前記認証データとが一致した場合に、前記表示管理モジュールを正当と判断することを特徴とする。
OS管理部は、図1のOS管理部(VMM)に相当する。
さらに、前記TPMは、表示要求を暗号化するのに用いる鍵を記憶する鍵記憶部を備え、前記OS管理部は、前記表示要求に含まれる情報を暗号化する暗号部と、前記暗号部が暗号化処理をするための鍵を、前記TPMから取得する鍵交換部とをさらに備えることを特徴とする。
ここで、暗号化に用いる鍵は、後述する共通鍵KEYに相当する。
また、前記OS管理部は、前記表示管理モジュールからの表示要求を受理した場合、前記状態表示部に、前記特定状態表示をすることを特徴とする。
これは、後述する図9の表示例1に関連する。
さらに、前記OS管理部は、前記第2基本機能管理部からの表示要求を受理したが、前記表示管理モジュールからの表示要求を受理していない場合、前記状態表示部には、前記特定状態表示はしないことを特徴とする。
これは、後述する図10の表示例2に関連する。
この発明によれば、表示要求された表示データを表示するデータ表示部とは別に、信頼性判断情報を出力する出力部を設けているので、ユーザは、出力部から出力される情報を確認することにより、データ表示部に表示されている状態の正当性を的確に判断でき、不正な表示画面に対するデータ入力の未然防止ができ、その結果、データ表示部へ表示する表示内容の信頼性を向上できる。
以下、図に示す実施例に基づいて本発明を詳述する。なお、本発明はこれによって限定されるものではない。
<状態表示制御装置の構成>
図1に、この発明の状態表示制御装置の一実施例の概略構成ブロック図を示す。
図1の状態表示制御装置は、たとえばパソコンのような情報処理装置の中に組み込まれた状態で提供される。
図1に示した各機能ブロックは、情報処理装置のこの発明に関係する主要な機能のみを示している。また、各機能ブロックは、ハードウェア又はソフトウェアで構成されるが、このうちOS(2,3)と、OS管理部1は、ソフトウェアで構成されることが好ましい。
この発明の情報処理装置には、2つのOS(基本機能管理部)が搭載される。
第1OS(2)は、ユーザがインストールしたアプリケーションプログラムの動作を管理する従来OSであり、第2OS(3)は、信頼性が確認された正当なソフトウェア群の動作を管理するTrusted OS(T-OS)である。
このソフトウェア群とは、特定の管理担当者やOSベンダのみが、追加,修正,削除を行うことのできるソフトウェアであり、OSベンダ等によって信頼性が検証されたソフトウェアである。また、T−OSそのものを構成するソフトウェア群も、OSベンダ等によって信頼性が検証されたものである。
第1OS(2)はOS管理部1と通信する第1通信部21を備える。第1通信部21は、この発明では、アプリケーションプログラムからの表示命令を受けて、表示装置8に表示する情報を、OS管理部1に送信する機能を有する。
第2OS(3)は、この発明に特有な状態表示を管理および制御する表示管理部30を備える。表示管理部30は、第2OSの管理下で動作するアプリケーションプログラムからの表示命令を受けて、表示装置8および出力部5へ表示する情報を、OS管理部1に送信する機能を有する。
表示管理部30は、主として、エージェント31と第2通信部32を備える。エージェント31は、主として、表示要求を監視し、出力部5に表示させる状態情報の表示制御をする部分である。
第2通信部32は、第1通信部21と同様に表示する情報をOS管理部1に送信する部分であるが、エージェント31からの指令のもと、出力部5に表示をするための情報をOS管理部1へ与える部分である。
第1通信部21は、後述する図2のグラフィックドライバ1(22)と、KBCドライバ1(21)に相当する。第2通信部32は、後述するグラフィックドライバ2(33)とKBCドライバ2(34)に相当する。
OS管理部1(VMM:Virtual Machine Monitor)は、CPUから直接制御されるソフトウェア群から構成され、2つのOSと、表示装置などの外部入出力機器との通信を制御する部分である。したがって、VMM1は、論理的には2つのOSとCPUとの間に位置する。
OS管理部1(VMM)は、主として、表示入力部(10,11),表示通信部16,認証通信部17とからなる。
表示入力部は、主として第1OS(2)からの情報を受信する第1表示入力部10と、第2OS(3)からの情報を受信する第2表示入力部11とからなる。
表示通信部16は、表示する内容を表示コントローラ7へ与える部分であり、後述する表示ドライバ(Graphic Chipドライバ)に相当する。
表示通信部16は、第1表示入力部10からの表示データと、第2表示入力部11からの表示データを受け取り、表示コントローラ7へ与える。
認証通信部17は、主として、第1OS(2)および第2OS(3)から送られてきた表示要求が正当なものか否かを判断した結果とその結果を報知するための表示情報を、報知制御部4へ送信する部分である。また、報知制御部(KBCチップ)4を初期化したり、その動作を制御するための情報を送信する部分でもある。認証通信部17は、後述する認証ドライバに相当する。
報知制御部4の制御は、認証通信部17のみが可能な構成とする。
第1および第2表示入力部(10,11)は、ともに、描画処理部(12,14)と、認証制御部(13,15)とを備える。
第1および第2描画処理部(12,14)は、その対応する上位OSから送信されてきた表示データを受理し、表示通信部16へ送る部分である。この描画処理部(12,14)で取り扱う表示データは、表示装置8に表示される。
第1描画処理部12は、後述する仮想グラフィック1に相当し、第2描画処理部14は、後述する仮想グラフィック2に相当する。
第1および第2認証制御部(13,15)は、主としてOSから要求された表示命令を受けて、報知制御部4へ出力する情報を生成する部分である。
第1認証制御部13は、後述する仮想KBC1に相当し、第2認証制御部15は、後述する仮想KBC2に相当する。
また、第2認証制御部15は、第2通信部32からの表示要求と、第1認証制御部13からの表示要求に関する情報を受けて、その表示要求が正当なものか否かを判断して、その判断結果を認証通信部17へ送信する部分でもある。
第2認証制御部15の詳細構成とその動作については、後述する。
表示コントローラ7は、表示通信部16から送られる表示データを、表示メモリ領域70に展開し、表示装置にその表示データをさせる制御をする部分であり、後述するグラフィックチップに相当する。
ここで、この発明では、表示メモリ領域70には、従来OS用の領域UTFB(Untrusted Frame Buffer)71と、T−OS用の領域TFB(Trusted Frame Buffer)72とが設けられる。
表示装置8は、CRTやLCDなどの表示デバイスであり、表示メモリ領域70に格納された表示データを、表示装置8上の対応する部分に表示する。
この発明では、表示装置8の表示画面の中に、従来OS枠81と、Trusted OS(T-OS)枠82とを表示する。そしてUTFB71の領域に格納されたデータは、従来OS枠81の中に表示され、TFB72の領域に格納されたデータは、T−OS枠82の中に表示される。
従来OSの管理下で動作する正当なソフトウェアが表示要求をした場合、その表示要求された表示データは、従来OS枠81の中に表示される。
一方、T−OSの管理下で動作する信頼性のある正当なソフトウェアが表示要求をした場合、その表示要求されたデータは、T−OS枠82の中に表示される。
この表示装置8に対する表示制御と表示内容は、従来技術と同様である。
報知制御部4は、認証通信部17から送信される情報(報知命令コマンド)を受信して、その情報に対応した報知出力を、出力部5へ与える部分である。
報知制御部4は、後述するKBCチップに相当する。
また、報知制御部4は、主として、復号部41,鍵受理部42,報知出力部43とから構成される。
鍵受理部42は、TPM6に記憶されている鍵KEYをTPM6から取得する部分である。
復号部41は、認証通信部17から送信されてきた情報を、鍵受理部42が取得した鍵KEYを用いて、復元する部分である。
報知出力部43は、復号部41によって復元された情報を解釈して、出力部5に出力する情報を生成し、出力部5の動作を制御する部分である。
出力部5は、報知出力部43からの指示に基づいて、現在の表示装置8の表示内容の状態を示す情報を、ユーザに報知する部分である。また、出力部5は、報知制御部4によってのみ制御され、2つのOSから直接制御できない構成とする。
報知には、たとえば文字,数字,図形,LEDの点消灯,点滅,LEDの表示色の変化など視覚的な報知や、音声による警告など聴覚的な報知があり、この他にも種々のものが考えられる。
以下では、主として、視覚的な報知である文字の表示とLEDの点消灯による報知について説明する。
たとえば、出力部5には、T−OSの管理下で動作するソフトウェアの動作状態(たとえば、数字による表示)や、表示装置8のT−OS枠82に現在表示されている内容がT−OS管理下で動作する信頼性のあるソフトウェアによって表示されているか否かの状態を視覚的にわかる形態で表示する。
出力部5の状態表示部51は、上記のような動作状態を、文字や数字を使用してユーザに視覚的に報知する部分である。たとえば、T−OS3の管理下で動作するソフトウェアから表示装置8へ表示要求がある場合、状態表示部51に、特定アイコンや文字の表示あるいは、T−OSの表示要求があったことを意味する番号の表示などを行う。
このような表示があった場合には、表示装置8のT−OS枠82に表示されている内容は、T−OS管理下で動作する信頼性のあるソフトウェアによって表示されたものであることを意味する。
一方、上記表示がない場合は、T−OS枠82には、T−OS管理下で動作する信頼性のあるソフトウェアによって表示されるべきものが何もないことあるいは、信頼性のあるソフトウェアから表示要求はないことを意味する。
この状態表示部51に表示される状態は、図1に示したエージェント31からの指示入力(表示要求)に基づいて、第2認証制御部15,TPM6,認証通信部17,および報知制御部4を経由して与えられた状態であり、不正なソフトウェアの介在の有無にかかわらず、後述するようなこれらの機能ブロックの動作によりユーザが信頼できる状態となる。
したがって、ユーザは、状態表示部51に表示された状態表示を確認することにより、たとえば、表示装置8のT−OS枠82に表示されたパスワード入力画面に対して、パスワードを入力をするか否かを安心して決定することができる。
たとえば、状態表示部51に、信頼性のあることを意味する状態表示(番号表示)があった場合に、表示装置8のT−OS枠82にID等の入力を求める画面表示がされているとき、その表示された内容を信頼して、ユーザは、IDやパスワードなどを入力する。
一方、状態表示部51に信頼性のあることを意味する状態表示がなかった場合(状態表示なし)に、表示装置8のT−OS枠82に、何らかの入力を求める画面表示がされているとき、ユーザは、状態表示部51に状態表示が何もないことを確認することにより、現在の「入力を求める画面表示」は偽りの表示である可能性があると判断することができる。すなわち、その偽りの表示に対して、ユーザがID等を入力することを未然に防止できる。
TPM6は、従来から利用されているセキュリティデバイスであり、CPUとともに、この中にハッシュ記憶部61や鍵記憶部62を備える。
ハッシュ記憶部61は、PCに電源を投入した時から順に起動される所定の管理ソフトウェア群(BIOS,ローダー,VMMなど)から送信されてくるハッシュ値を保持するメモリである。
たとえば、ソフトウェアが、BIOS,ローダー,VMM,エージェント,T−OSの順で起動する場合、BIOSは自分自身のコードを測定し、その結果のハッシュ値,BIOSはローダーを測定し、その結果のハッシュ値,ローダーはVMMを測定し、その結果のハッシュ値,VMMはエージェントを測定し、その結果のハッシュ値,エージェントはT−OSを測定し、その結果のハッシュ値が、それぞれ、ハッシュ記憶部61に保存される。
鍵記憶部62は、この発明の第2認証制御部15および報知制御部4の復号部41で使用するための共通鍵KEYを予め保存しておくメモリである。
鍵KEYは、たとえば、VMM1の起動時に、第2認証制御部15で生成され、TPMの鍵記憶部62へ送信されて予め保存される。
また、報知制御部4が、起動時に、共通鍵KEYを生成し、鍵受理部42を介して、その鍵KEYをTPM6に送信し、TPMの鍵記憶部62に記憶してもよい。
図2に、この発明の状態表示制御装置の一実施例の構成ブロック図を示す。
図2の機能ブロックにおいて、図1に示したブロックと同じ符号がついているものは、同一の機能を有するものとする。
図2において、第1OS(従来OS)2の管理下で動作する正当なソフトウェアにより、表示要求がされた場合、その表示要求に含まれる表示データはグラフィックドライバ1(22)から、VMM1の仮想グラフィック1(12)へ送られ、さらに表示ドライバ16に送られて、表示可能な情報に変換され、グラフィックチップ7に与えられる。
グラフィックチップ7では、表示可能な情報を、表示メモリ領域70のUTFB71に展開し、表示装置8の従来OS枠81の中に表示する。
第2OS(T-OS)3の管理下で動作する正常なソフトウェアにより表示要求がされた場合、表示要求に含まれる表示データは、グラフィックドライバ2(33)から、VMM1の仮想グラフィック2(14)に送られ、さらに表示ドライバ16に送られる。
そして、表示データは、表示可能な情報に変換されてグラフィックチップ7へ与えられ、TFB72のメモリ領域に展開されて、表示装置8のT−OS枠82の中に表示される。
また、どちらかのOSから表示要求がVMM1へ送られるとき、それぞれのOS(2,3)のKBCドライバ(21,34)から、表示要求に伴う制御信号(セレクト信号,識別情報,ハッシュ値など)が対応する仮想KBC(13,15)に与えられる。
このKBCドライバ(21,34)は、VMM1の仮想KBC(13,15)を初期化する機能およびその動作を制御する機能を有する。
仮想KBC2(15)は、KBCドライバ2(34)からの制御信号に基づいて、エージェント31の認証等を行って、表示要求が正当か否かを判断し、その判断に基づく情報を報知制御部4に相当するKBCチップ4へ送信する。
仮想KBC2(15)は、主として、受信部,送信部,記憶部,認証部,鍵交換部,暗号部を備える。これらについては後述する。
図2において、KBCチップ4は、この発明では出力部4へ報知する情報を生成する機能を有するが、KBCチップ4本来の機能である外部入出力機器の監視およびコントロール機能も有する。
たとえば、キーボードから入力されたキー情報を解釈して、押されたキー入力のコードを生成し、KBCドライバ(21,34)を介して、OS(2,3)へ送信する機能や、OSからの指示に基づいてキーボードに付属されたLEDを点消灯する機能、マウスなどのポインティング入力機器からの入力情報をOSへ転送する機能,バッテリ充電機能やバッテリの監視機能が含まれる。
出力部5には、状態表示をする表示デバイスとして、専用の状態表示部51の他、キーボードに本来備えられているLEDなどからなるキーボード表示部52(以下、Status Displayとも呼ぶ)を含めてもよい。
また、キーボード表示部52に、現在T−OSからの表示要求があったことを示す専用のLED(Trustedランプとも呼ぶ)を設けてもよい。
また、エージェント31は、T−OS3内のみに存在する常駐ソフトウェアであり、出力部5への状態表示を制御するためのソフトウェアである。
エージェント31の主な機能としては、T−OSの管理下にあるソフトウェアからの表示要求を受信し、その表示要求が正当なものか否かを監視する機能、正当な場合に、グラフィックドライバ2(33)を介して仮想グラフィック2(14)に対して表示要求を送信する機能、表示要求の内容に対応した識別情報を生成する機能、生成した識別情報を、KBCドライバ2(34)を介して仮想KBC2(15)へ送信する機能などがある。
エージェント31が生成する識別情報は、図4に示すようなエージェントポリシーに基づいて生成する情報である。
識別情報には、たとえば、表示要求が正当であることを示す情報J1,表示要求に不正の可能性があることを示す情報J2などがある。
エージェントポリシーとは、出力部5に表示させる報知情報をどれにするかを記述した報知内容リストを意味する。エージェントポリシーは、IT管理者によって設定され、T-OS内に予め記憶される。
図4においては、一実施例として、3つのポリシーが示されている。たとえば、ポリシー1は、T−OSの管理下のソフトウェアから表示要求があり、T−OS枠82に何らかのメッセージを表示させる場合について示している。
このポリシー1の場合、図4には4通りのバリエーションを示している。
4通りのバリエーションから初期設定、あるいはユーザの設定入力により、いずれかを選択する。出力部5には、選択した項目に対応した表示がされる。
また、policy1-1として、Status Displayに番号を常に表示してもよいことを示している。あるいは、わずらわしい表示をできるだけしないようにするために、ユーザがキーボードの特定キーを押したときのみ、一定時間だけ番号を表示するようにしてもよいことを示している。
<仮想KBC2の構成>
図3に、この発明の仮想KBC2(15)の一実施例の構成の説明図を示す。
仮想KBC2以外の機能ブロックは、図2の中で、仮想KBC2と直接関係のあるもののみ示している。
前記したように、仮想KBC2は、受信部101,送信部102,認証部103,鍵交換部104,暗号部105,記憶部106とを備える。
受信部101は、認証ドライバ17が受信した情報(たとえば、キー入力情報,マウス入力情報)を受理し、その受信情報を、OS(2または3)に与える部分である。
この発明では、2つのOSがあるので、受信情報を与える方法として、次の4通りが考えられる。
受信部101が受信した情報を、従来OSとT−OSの両方に与える場合(ケース1)、T−OSのみに与える場合(ケース2)、従来OSのみに与える場合(ケース3)、T−OSには受信したすべての情報を与え、かつ従来OSには一部のデータのみを与える場合(ケース4)がある。
この4つのケースのどれを採用するかは、予め固定的に初期設定してもよいが、T−OSのKBCドライバ2(34)から与えられる選択信号(図示なし)により決定してもよい。
ケース4の場合、従来OSにどの一部のデータを与えるかは、たとえば、KBCドライバ2(34)からの指示情報に基づいて決定してもよい。
たとえば、その指示情報に、受信部が受信した情報のうち従来OSに与えてはいけない情報が含まれている場合、その情報(たとえば個人情報)を削除した残りの受信情報を、従来OSに与えるようにする。
仮想KBC2へ表示要求を送信してくる送信元は、従来OS(2)の管理下で動作する機能モジュール(アプリケーションプログラム)と、T−OS(3)の管理下で動作する機能モジュール(アプリケーションプログラム)の2つである。
送信部102は、T−OSおよび従来OSからの表示要求に対応して作成された要求コマンドを受け、その要求コマンドに基づいて処理を実行する部分である。要求コマンドに基づいた処理とは、たとえば、要求コマンドが単純に表示装置8への表示要求である場合には、その要求コマンドをそのまま認証ドライバ17へ送信する。
また、要求コマンドが出力部5へのアクセスを含むものである場合には、その要求コマンドの内容を解析することを認証部103に要求する。
具体例としては、T−OSのKBCドライバ2(34)から送られてきた要求コマンドが、アドレスとそのアドレスに書き込むデータで構成されている場合、アドレス範囲が例えば0x0000〜0x1000という特定領域へのアクセスコマンドであれば、その要求コマンドを送信してきたソフトウェアの認証を行うよう、認証部103へ要求する。
また、仮想KBC1(13)を介して従来OSのKBCドライバ1(21)から送られてきたコマンドが、出力部5へアクセスするような特定領域への要求コマンドであれば、その要求コマンドは受理せず、認証部103に対しても要求をしないようにする。すなわち、仮想KBC1(13)から送られてきた要求コマンドで、出力部5を制御しようとするコマンドは、キャンセルする。
これにより、従来OS下で動作する不正なソフトウェアが存在したとしても、その不正なソフトウェアによって出力部5へ表示させることを防止でき、出力部5にはT−OS管理下の信頼できるソフトウェアのみによる信頼できる表示が可能となる。
図3に示すように、従来OSの管理下で動作するソフトウェアから表示要求があった場合は、KBCドライバ1(21)、仮想KBC1(13)を介して、その表示要求に対応した要求コマンドが送信部102へ与えられる。
この要求コマンドは、たとえば、表示データ,出力すべきアドレス,このコマンドが仮想KBC1から来たことを示す情報(送信元が仮想KBC1であることを示す情報)とからなる。送信部102は、このコマンドの内容をチェックすることにより、従来OS側のソフトウェアから表示要求があったことがわかる。
T−OS側のKBCドライバ2(34)から、要求コマンドが与えられた場合も、同様にそのコマンドの内容をチェックすることにより、T−OS側のソフトウェアから表示要求があったことがわかる。
認証部103は、送信部102からの要求に基づいて、表示要求を送信してきた送信元のソフトウェアが信頼できるものか否か(正当か否か)を認証する部分である。この認証処理に、記憶部106に予め記憶された情報を用いる。
VMM1の記憶部106には、T−OSの管理下で動作するソフトウェアからの表示要求を管理するエージェント31を特定する情報(以下、認証データと呼ぶ)を、予め記憶する。この認証データは、たとえば、IT管理者が、T-OS配布のときに、記憶部106に記録する。
また、認証部103は、認証のときに上記認証データと比較するデータをTPM6から取得する。比較するデータは、PCの起動時に、TPMによって測定されたエージェント31のハッシュ値であり、TPM6のハッシュ記憶部61に保存されているデータである。
すなわち、認証部103がT−OSのエージェント31が正当なものか否かの認証を行う場合、記憶部106に予め記憶された認証データと、TPM6から取得されたエージェント31のハッシュ値とが一致するか否かのチェックを行う。
一致しない場合は、エージェント31が正当でないと判断され、エージェント31からの表示要求は受理されず、出力部5にエージェントポリシーに従った表示を行う。たとえば、エージェント31が不正な可能性があることを示す表示(!!OS!!)を行う。
一致した場合は、エージェント31は信頼できると判断されるので、T−OSからの表示要求を受理し、送信部102が受信した要求コマンドを、認証ドライバ17に送信する。
このとき、受信した要求コマンドをそのまま認証ドライバ17に送信するのではなく、暗号部105によって暗号化した後送信する。
暗号化するのは、必ずしも正しいVMMが動作しているとは限らないためである。もし暗号化しない場合は、不正なVMMが出力部5を自由に制御できる可能性があるからである。
暗号部105は、認証部103から得た要求コマンドを、鍵交換部104が取得した鍵KEYを用いて、暗号化する部分である。
鍵交換部104は、TPM6の鍵記憶部62に予め記憶されている鍵KEYを取得する部分である。また、後述するように、VMM1などのソフトウェアが起動されたときに実行される鍵交換処理の中で、生成された鍵KEYを、TPM6に送信する部分である。
認証部103は、上記したような認証が成功した場合、まず鍵交換部104を介して、鍵記憶部62に記憶された鍵KEYを取得させる。次に、送信部102から与えられた要求コマンドを暗号部105に与えると、暗号部105は、その要求コマンドを、取得された鍵KEYで暗号化する。暗号化された要求コマンドは、認証ドライバ17に与えられ、さらに、KBCチップ4に送信される。
ここで、エージェント31から送信部102に与えられる要求コマンドのうち、出力部5へ出力される特定領域へのアクセスを示す要求コマンドとは、たとえば、特定領域を示すアドレス(例えば0x0000〜0x1000),書き込みを示すフラグ,出力部5に手渡す表示データのような情報から構成されるデータである。
また、KBCチップ4では、認証ドライバ17から送信された表示データ(暗号化された要求コマンド)を受信すると、復号部41によって、その表示データを復元する。
このとき、鍵受理部42によってTPM6の鍵記憶部62から鍵KEYを取得させ、復号部41は、取得された鍵KEYを用いて、表示データを復元する。
復元された表示データには、たとえば、状態表示部51で表示するアイコン種別・数値,キーボード表示部52のLED色などの情報が含まれる。
報知出力部43は、これらの情報から出力部5に与える報知情報(状態表示情報)を生成し、出力部5へ送る。たとえば、状態表示部51に、T−OSからの表示要求があったことをアイコンで表示するための状態表示情報を生成し、状態表示部51へ送信する。
以上が、仮想KBC2(15)と、それに関連する機能ブロックの概略動作説明である。
なお、認証部103が行う認証処理において、比較する一方のデータとして、記憶部106に予め記憶しておいた認証データを用いたが、これに限るものではない。
PCの出荷時に、記憶部106などに予め記憶しておいたアクセス先情報(URL)を読み出して、そのURLに示された外部PCにアクセスして、比較するべき認証データ(ハッシュ値)を取得してもよい。
<鍵交換処理>
ここでは、OSやVMM1などのシステムの管理ソフトウェアが起動された直後や、Sleep状態からの復帰などの指定イベントが発生したときに実行される鍵交換処理について説明する。
この鍵交換処理は、VMM1の仮想KBC2(15)と、KBCチップ4とで用いる共通の鍵KEYを生成し、両者で共有できるように、TPM6の鍵記憶部62に鍵KEYを保存する処理である。
図5に、この発明の鍵交換処理の一実施例のフローチャートを示す。
この処理は、仮想KBC2が実行する処理である。
まず、ステップS11において、TPMチップが生成する乱数を用いて共通鍵KEYを生成し、TPMチップ6に対して、共通鍵KEYを書込む命令を送信する。
TPM6と仮想KBC2とがGPIOバスで接続されている場合は、GPIOバス経由で送信される。
書込み命令を受信したTPM6は、その書込み命令が正当なものか否かチェックする。このチェックは、TPM6内のCPUによって、所定の2つのハッシュ値を比較することによって行われる。
比較する一方のハッシュ値は、PCの出荷前に、VMM1の状態を示すハッシュ値を測定し、その測定値をTPMに予め記憶したものである。他方のハッシュ値は、VMM1が起動する前に、BIOSによってそのコード全体が測定され、その結果であるハッシュ値がBIOSからTPM6に与えられたものである。
この2つのハッシュ値が一致した場合、TPM6への書込み命令が正当なものであると判断され、鍵KEYの書込みが許可される。許可された場合、TPM6の鍵記憶部62に鍵KEYが書込まれ、許可したことが、TPM6から仮想KBC2へ通知される。
一方、一致しなかった場合は、書込みが許可されなかったことが、TPM6から仮想KBC2へ通知される。一致しなかった場合は、たとえば、VMM1そのものが不正なソフトウェアである可能性がある。
ステップS12において、TPM6からの通知を確認することによりTPM6への書込みアクセスが許可されたか否かチェックされる。仮想KBC2が許可されたことを認識すると、ステップS13へ進み、そうでない場合は、ステップS14へ進む。
ステップS13において、GPIOバス経由で鍵交換部104がKBCチップ4と通信を行い、共通鍵KEYの共有に成功したことを、認証部103に通知する。
さらに、ステップS15へ進み、予め設定されていた一定時間が経過したか否か、あるいは、指定したイベント(たとえばPCがSleep、休止状態,再起動処理)が発生したか否かチェックする。
指定イベントの発生あるいは一定時間が経過した場合には、ステップS11へ戻り、同様の処理を繰り返し、共通鍵KEYを更新する。
ステップS12で、書込みが許可されなかった場合、すなわちTPM6から不許可が通知された場合、ステップS14において、TPM6に対するアクセスが拒否されたことを示す情報を生成する。そして、鍵交換で異常のあったことを、仮想グラフィック2(14)に送信し、表示装置8にその旨を表示させてもよい。
また、TPM6に予め記録されていたハッシュ値が正しくないので、PCベンダから正常な設定値をダウンロードして更新するようにユーザに促す表示を行ってもよい。
これによれば、PCのユーザは、PCの起動時等において、PCの異常を知ることができ、実際の表示要求をする前の段落で、不正なVMM1あるいはVMM1内に存在する不正なソフトウェアによる不正アクセスを未然に防止できる。
また、鍵交換処理で、共通鍵の共有が成功した場合には、以後、KBCチップ4を介して、出力部5への報知出力(状態表示制御)が可能となる。
<エージェントの状態表示制御処理>
ここでは、T−OSの管理下で動作するアプリケーションプログラムの1つであるエージェント31の動作について、説明する。
エージェント31は、T−OS3が起動された後に、T−OS3によって自動的に初期化され起動される。
図6に、この発明のエージェントの状態表示制御処理のフローチャートを示す。
ステップS21において、T−OS管理下のアプリケーションプログラム(アプリソフト)から、表示要求、すなわち仮想グラフィック2(14)への表示データの書込み要求があるか否か常にチェックする。要求があった場合は、ステップS22へ進む。
ステップS22において、表示要求(仮想グラフィック2への書込み要求)をしたアプリケーションプログラム(アプリソフト)の検査をする。具体的には、アプリケーションプログラムについている信頼された機関から発行された署名を読み出し、実行しようとしているアプリソフトのハッシュ値と比較して、正当であるか否かのチェックを行う。各アプリソフトのハッシュ値は、その起動時にエージェント31によって測定され、TPM6のハッシュ記憶部61に保存されている。
署名されたものである場合は、エージェント31は署名からハッシュ値を読み出し、TPM6に保存しておいたハッシュ値と比較し一致すれば、そのアプリソフトは署名された正常なものであることを示す検査結果を返す。
一方、署名されたものでない場合は、エージェント31は、そのアプリソフトは正常なソフトでないことを示す検査結果を返す。
ステップS23において、署名から読み出したハッシュ値と、TPMから読み出したハッシュ値をチェックする。正常でないという結果であれば、ステップS26へ進み、正常であるという結果であればステップS24へ進む。
正常な場合、ステップS24において、図4に示したエージェントポリシーを参照し、識別情報と色情報を生成する。ここで、識別情報とは、たとえば状態表示部51に表示するアイコン,ランダムな数値を意味する。色情報とは、たとえばキーボード表示部52のどのLEDを光らせるか、LEDの色、またその点灯パターン命令を意味する。
たとえば、T-OS上で正当なアプリソフトがメッセージを出した場合は、図4のエージェントポリシーに照らし合わせて、識別情報として、ランダムな数値からなるデータを生成する。また、色情報としては、Trustedランプ,常時点灯命令からなるデータを生成する。
次に、ステップS25において、生成した識別情報を、仮想KBC2(15)と、仮想グラフィック2(14)へ送信する。
仮想KBC2へ送信された識別情報は、この後、仮想KBC2の暗号部105で暗号されて、KBCチップ4経由で出力部5に手渡される。
一方、仮想グラフィック2(14)へ送信された識別情報は、仮想グラフィック2で暗号化されて、TFB72に書き込みされる。
次に、ステップS28において、T−OS管理下のアプリソフトによる表示要求(仮想グラフィック2への書込み)が終了したか否か、チェックする。書込みが終了していない場合は、ステップS24へ戻り、同様の処理を繰り返す。表示要求の送信がすべて終了した場合は、ステップS29へ進む。
ステップS29では、出力部5を正当なアプリケーション表示がない時の状態に再設定するため、ステップS24に示したのと同様の処理をする。すなわち、検査結果とエージェントポリシーを参照して、識別情報と色情報を生成する。
さらに、ステップS30において、出力部5を正当なアプリケーション表示がない時の状態に再設定するのため、ステップS25と同様の処理をする。すなわち、識別情報を仮想KBC2と仮想グラフィック2へ送信する。
ステップS30の後、ステップS21へ戻り、以後処理を繰り返す。
また、ステップS23において、検査結果が正常でなかった場合、ステップS26へ進み、検査結果に問題があったことを示す識別情報を生成する。たとえば、T−OS管理下のアプリソフトに問題があることを意味するデータとして、“!!APP!!”を生成する。
ここで、識別情報には、たとえば、!!APP!!メッセージ、表示装置8に出力するより詳細なメッセージデータが含まれる。
そして、ステップS27において、生成された識別情報を、仮想KBC2と、仮想グラフィック2へ送信する。
識別情報を受信した仮想KBC2は、識別情報の中のメッセージに基づいて出力部5を制御するコマンドを生成し、KBC4に対して発行する。これにより、出力部5に!!APP!!メッセージ表示が行われる。
一方、識別情報を受信した仮想グラフィック2は、識別情報の中のメッセージに基づいて、TFB72により詳細なメッセージを出力する。
ステップS27の後、ステップS21へ戻り、同様の処理を継続する。
以上がエージェントの処理の一実施例である。
このように、エージェントにおいて、表示要求をしてきたT−OS管理下のアプリケーションソフトが正当なものか否かの検査をしているので、T−OS管理下で動作する不正なソフトウェアが存在したとしても、その不正な表示要求などを未然に防止できる。
<仮想KBC2の動作フローの説明>
図7に、仮想KBC2の状態表示処理に関係するフローチャートの一実施例を示す。
ここでは、仮想KBC2に対して表示要求などの要求を送信してきた要求元(送信元)をチェックし、出力部5に、チェック内容に対応した状態表示をさせる処理について説明する。
仮想KBC2に対する要求元(送信元)は、前記したように従来OSの管理下のプログラム(2)と、T−OS(3)の管理のプログラムの2つがある。
たとえば、従来OS(2)の管理下で動作する不正なアプリケーションソフトによる表示要求であり、その表示要求は、仮想KBC1(13)を介して、仮想KBC2の送信部102へ与えられる。
また、もう一つはT−OS(3)の管理下で動作するアプリケーションソフトからの表示要求であり、その表示要求は、エージェント31,KBCドライバ2(34)を介して、仮想KBC2の送信部102へ与えられる。
送信部102は、与えられた表示要求に含まれるデータ内容をチェックして表示要求がどちらからあったかを判断する。あるいは、従来OSからの表示要求とT−OSからの表示要求がハードウェア的に異なるポートから与えられる場合は、そのポートを認識することにより、どちらの表示要求かがわかる。
たとえば、仮に仮想KBC1(13)から、表示装置8のT−OS枠82への不正な表示要求があったような場合は、そのような表示要求は認められていないので、以後の処理を中止する必要がある。
また、仮に仮想KBC1(13)から、出力部5の状態表示部51への不正な表示要求があったような場合も、その表示要求は認められないので、以後の処理を中止する必要がある。
さらに、T−OS側のエージェント31から仮想KBC2へ送信要求があった場合においても、そのエージェントそのものが不正なソフトウェアによってなりすまされている可能性があるので、エージェント31が不正なソフトウェアでないことをチェックする必要もある。
図7に示した仮想KBC2の以下の処理では、このような不正アクセスを検出し未然に防止するとともに、出力部5に対して必要な状態表示を行う。
図7のステップS41において、仮想KBC2の呼び出しがあったか否かチェックする。呼び出しがあるまで、チェックを繰り返す。ここで、仮想KBC2の呼出とは、KBCドライバ2(34)からの呼び出し,仮想KBC1からの呼び出しを意味する。
たとえば、T−OS管理下のエージェント31から、表示要求があったか否かチェックする。これは、上記したように、送信部102が、仮想KBC1(13)から何らかの要求コマンドを受信したか、あるいはKBCドライバ2(34)から表示要求のコマンドを受信したかで、判断する。
ステップS42において、呼び出しがあったが、その呼出元が仮想KBC1(13)か、そうでないかを判断する。
呼出元が仮想KBC1(13)である場合は、ステップS47へ進む。そうでない場合は、T−OS側のエージェント31からの表示要求であるので、ステップS43へ進む。
ステップS47において、仮想KBC1から送信された表示要求コマンドのデータ内容をチェックし、その表示要求に従った表示要求処理をする。このとき状態表示命令データを認証ドライバ17に送信する。
ただし、仮想KBC1からの表示要求のうち、出力部5へ直接表示する要求は認められていないので、そのような出力部への不正表示を求めるデータは無視あるいは削除する。
仮想KBC1から送られてくる表示要求のデータ内容は、たとえば仮想KBC1を示すフラグ,書き込み先アドレス,書込データから構成される。不正表示要求か否かは、この中のアドレスをチェックする。このチェックをした時、アドレスが出力部5への書き込みであることが認められた場合、それは不正な表示要求と判断されるので、破棄をする。
一方、仮想KBC1から送られてきたデータ内容が、仮想KBC1を示すフラグ,出力部5以外を示すアドレス,書込データであったとする。このとき、仮想KBC1からの表示要求は、正常なものであるので、たとえば、KBCチップ4に対する書込アドレス,書込データからなる状態表示命令データを生成し、認証ドライバ17へ送信する。
たとえば、従来OS管理下の正常なアプリソフトからの表示要求のみがあり、T−OS管理下のソフトウェアからの表示要求がない場合は、T-OSからの表示要求終了時に、図4に示したエージェントポリシに従って生成した識別情報を保持し続ける。
この状態表示命令データを受信した認証ドライバ17は、そのままKBCチップ4へ与えるか、あるいは、その命令を解釈して出力部5に状態表示ができる形式に変換した後、表示命令をKBCチップ4へ与える。
KBCチップ4は、与えられた表示命令に従って、出力部5への表示を制御する。
たとえば、従来OS管理下のアプリソフトによる表示要求のみで、T−OS側からの表示要求がない場合は、状態表示部51には何も表示しないように制御するか(すなわち表示消去処理)、または「Un-Trust」というメッセージかあるいは所定のアイコンを表示させる。
一方、ステップS43において、エージェント31からの表示要求があった場合には、認証部103がエージェント31が正常なものであるかどうかの検査を行う。
認証部103によるエージェントの検査は、前記したように、記憶部106に予め記憶されていたエージェントの認証データと、TPM6から取得したエージェント31に関係するハッシュ値とを比較することにより行う。一致すれば、エージェントの検査が成功(エージェントは正常)したことになる。一致しない場合は、エージェント31そのものが正常でないと判断され、認証が失敗したことになる。
ステップS44において、エージェント31が正常と判断された場合は、ステップS45へ進み、正常でない(認証が失敗した)と判断された場合は、ステップS46へ進む。
ステップS45において、認証部103は、エージェント31から送信されてきた表示要求に従った状態表示要求処理をする。送信部102から表示要求データを受け取り、表示要求データを暗号化して、認証ドライバ17へ送信する。
たとえば、エージェント31から送信されてきた表示要求が、書込アドレス,識別情報を含むデータであったとする。この中のアドレス範囲から出力部5の状態表示部51への表示要求であることがわかる。
認証部103は、暗号化のための鍵KEYを取得するため、鍵交換部104に鍵の取得要求を出す。
鍵の取得要求を受けた鍵交換部104は、TPM6に対し、共通鍵KEYを出力する指示を出力する。TPM6はこの指示が正当であることを確認し、正当な場合は、共通鍵KEYを出力する。これにより、認証部はTPMの鍵記憶部62に記憶されていた鍵KEYを取得する。
その後、認証部103は、取得された鍵KEYと、暗号化すべき表示要求のデータ内容を暗号部105へ与える。
なお、鍵の取得は、鍵交換部104を介さずに、認証部103が、直接TPM6にアクセスして行ってもよい。
暗号部105は、表示要求のデータ内容を、鍵KEYで暗号化し、認証ドライバ17へ送信する。
この後、認証ドライバ17は、暗号化された表示要求データを受信すると、このデータをKBCチップ4へ送信する。KBCチップ4は、暗号化された表示要求データを受信すると、復号部41によって、このデータを復元する。
このとき、鍵受理部42を介して、TPM6から共通鍵KEYを取得し、共通鍵KEYを用いて、暗号化された表示要求データを復元する。
復元された表示要求データは、表示できる状態表示情報に変換された後、報知出力部43から出力部5へ出力される。そして、出力部5は、状態表示情報に基づいて、状態表示部51およびキーボード表示部52に対して、要求されたとおりの状態表示を行う。
たとえば、T−OSのアプリソフトからT−OS枠82への表示要求があり、エージェント31から出力部5へのランダム数値,Trustedランプ点灯の表示要求があった場合には、状態表示部51にランダム数値の表示を行い、またキーボード表示部52にあるTrustedランプ点灯を行う。
一方、ステップS46において、このときエージェント31が正常でないと判断されているので、エージェントが正常でないこと(問題があること)を示す状態表示の要求処理をする。すなわち正常でないことを報知するための状態表示要求データを認証部103が生成し、暗号部105が暗号して認証ドライバ17へ送信する。
たとえば、状態表示要求データとしては、“!!OS!!”のようなメッセージを状態表示部51に表示させるためのデータを生成する。
その後、認証ドライバ17はエージェントが正常でないことを示す状態表示要求データをKBCチップ4に送信する。
KBCチップ4は、そのデータを解釈して、復号部41を介して、状態表示部51へ表示できる表示データに変換して、報知出力部43から出力する。
これにより、状態表示部51に、エージェントが正常でないことがわかる状態表示がされ、ユーザは表示装置8に現在表示されている画面があやしいことなどを認識することができる。
<KBCチップの状態表示処理>
KBCチップ4は、前記したように、通常キーボードやマウスなどの種々の入出力デバイスの制御および監視を行うLSIであるが、この発明では、このような通常の機能の他に、出力部5に対する状態表示制御処理を行う。
状態表示制御処理では、上記したように、認証ドライバ17から送信されてくる状態表示要求データに基づいて、出力部5に表示させる形式の表示データを生成し、その表示データに基づいて、出力部5を制御する。受信した状態表示要求データが、暗号化されている場合は、TPM6から共通鍵KEYを取得して要求データを復元してから、表示データを生成し、出力部5を制御する。
ただし、出力部5に、状態表示をさせる必要のない場合は、通常の入出力デバイスの制御だけを行うようにし、状態表示制御処理を停止させるようにしてもよい。
たとえば、KBCチップ4に、VMM設定フラグVFを記憶するメモリ領域を設け、このフラグVFの値が0の場合は、通常の入出力デバイスの制御のみを行わせ、フラグVFの値が1の場合に、状態表示制御処理を起動させるようにしてもよい。
VMM設定フラグVFは、状態表示制御処理の実行の有無を判断するフラグである。
状態表示をさせる必要のない場合とは、たとえば、意図的にT−OSを起動させないときを意味する。
このVMM設定フラグVFは、たとえば、PCの電源投入時に、BIOSによって設定させるようにしてもよい。
電源を投入した直後に、まずBIOSが起動され、BIOSは、BIOS設定値を用いて組み込まれたハードウェアデバイスを順に起動させ、初期化する。
KBCチップ4も初期化されるハードウェアデバイスの1つであるので、その初期化のときに、KBCチップ4のVMMフラグVFのメモリ領域に、0または1を設定するようにすればよい。
ところで、T−OSの起動の許可または禁止は、ユーザのBIOS設定によって可能である。BIOS設定値として、T−OSが起動するように設定されている場合は、BIOSは、KBCチップ4のVMMフラグVFを‘1’にセットする。一方、T−OSが起動しないように設定されている場合は、BIOSは、KBCチップ4のVMMフラグVFを‘0’にセットする。
図8に、KBCチップの状態表示制御処理の一実施例のフローチャートを示す。
まず、ステップS51において、KBCチップ4のVMM設定フラグVFの値が‘1’か否か確認する。1の場合状態表示制御処理を実行するために、ステップS52へ進む。
一方、1でない場合(たとえば0の場合)、ステップS57へ進み、状態表示制御処理を停止させるために、出力部の状態表示部51などへの表示アクセスを禁止(Disable)し、通常の入出力デバイスの制御および監視動作のみを実行する。その後ステップS51へ戻り、処理を繰り返す。
ステップS52において、GPIOバスから、鍵書込処理が発生したか否かチェックする。この鍵書込み処理が発生したか否かは、TPM6とGPIOバスで結線されているKBCチップ4のI/Oピンを監視し、アクセスの有無をチェックすることにより判断する。アクセスの有無は、KBCチップ4内のレジスタに保持される。たとえば、アクセスがあれば1、なければ0を保持する。
鍵書込処理は、たとえば、PC起動時やSleep、休止状態からの復帰時に発生する。
鍵書込処理が発生した場合、ステップS55へ進み、共通鍵KEYを生成し、TPM6に対し、共通鍵KEYの書込み要求を出力する。
すなわち、共通鍵KEYの生成は、前記した図5のように、仮想KBC2(15)がする場合もあるが、KBCチップ4がする場合もある。どちらが生成したとしても、その共通鍵KEYは、TPM6に保存され、以後KBCチップ4と仮想KBC2(15)とで共有される鍵となる。
ステップS56において、出力部5の状態表示部51やキーボード表示部52に表示されている状態を初期化する。
たとえば、状態表示部51に、VMMに異常が発生していることを示す表示(!!VMM!!)などがされている場合、その表示を消去する。
その後、ステップS51へ戻り、処理を繰り返す。
ステップS52において、鍵書込処理が発生していない場合、ステップS53へ進み、認証ドライバ17からKBC制御コマンドが受信されるか否か、チェックする。KBC制御コマンドとは、前記した認証ドライバ17から送信される状態表示要求データも含まれる。
KBC制御コマンドが受信されない場合は、ステップS52へ戻り、処理を繰り返す。
一方、受信された場合は、ステップS54へ進み、その受信されたKBC制御コマンドに対応した制御を実行する。その後、ステップS51へ戻り処理を繰り返す。
ステップS54では、たとえば、認証ドライバ17から状態表示要求データを受信した場合は、その内容を解釈し、前記したように必要に応じて、データの復元を行い、出力部5に対する状態表示制御を行う。
また、KBC4チップ内のGPIOバスからのアクセス有無を示すレジスタ値が、アクセス無しを指していれば、VMMに異常が発生したことを示す識別情報を出力部5に表示させる。たとえば、KBCチップ内レジスタにおいて、TPM6と結線されているGPIOバスからのアクセス無しを示す0を保持しているときに、認証ドライバ17から出力部5への書込データを受信した場合には、不正なVMMの起動があったと判断し、VMM1に異常があったことを示す状態表示(“!!VMM!!”)を、状態表示部51に表示させる表示データを生成し、出力部5へ送信する。
なお、VMM設定フラグVFが1の場合、KBCチップ4は状態表示要求に関係するKBC制御コマンドのみを受理するものとし、通常の入出力デバイスを制御するKBC制御コマンドは無視するかまたは受理してもこれを異常として処理してもよい。この場合、フラグVF=1のときに、通常の入出力デバイスを制御するKBC制御コマンドを受信したとすると、ステップS54において、VMM1に異常があったことを示す状態表示をしてもよい。
以下に、状態表示の表示制御の具体例を説明する。
<表示例1:正常動作の場合>
ここでは、T−OSの管理下で動作する正当なアプリケーションプログラムによって、表示装置8のT−OS枠82への表示要求がされ、エージェント31から、状態表示要求がされた場合について示す。
図9に、この表示例1の説明図を示す。
出力部5の状態表示は、T−OSからの正常なアプリソフトによる表示要求があり、かつ、従来OSの管理下の正常なアプリソフトからも表示要求がある場合を示している。
このとき、状態表示部51に、T−OS管理下の正常なソフトウェアによる表示がされていることを意味する番号(ここでは492)を表示し、キーボード表示部52には、T−OS枠82に表示された画面がT−OS管理下の正常なソフトウェアによる表示であることを意味するTrustedランプを点灯させる。
これは、不正なソフトウェアが存在しない場合の例であるが、従来OS管理下のアプリソフトから要求される表示データは、表示メモリ領域70の中のUTBF71に展開され、表示装置8の従来OS枠81の中に、表示される。
一方、T−OS管理下のアプリソフトから要求される表示データは、表示メモリ領域70の中のTBF72に展開され、表示装置8のT−OS枠82の中に表示される。
また、T−OS管理下のアプリソフトから表示要求があると、図6のステップS22において、エージェント31が、このアプリソフトの署名をチェックする。署名確認で、アプリソフトが正常なものであると判断されると、図6のステップS24で識別情報が生成される。
そして、エージェント31は、この識別情報を、仮想KBC2と仮想グラフィック2へ送信する(ステップS25)。
この後、仮想KBC2は、図7のステップS43に示すように、エージェント31の検査を行う。この検査では、前記したように、エージェントに関する2つのデータの比較を行う。
図9の表示例1の場合、エージェントも正常であるとすると、ステップS45の状態表示要求処理を行う。
ここで、識別情報を基に、KBCチップに送る表示要求データを作成し、暗号化した後、認証ドライバ17へ送る。
図9の表示例1の場合は、たとえば、表示要求データの中に、ランダムに生成された数値,Trustedランプに対する点灯命令が含まれる。
暗号化された表示要求データは、認証ドライバ17から、KBCチップ4へ送られ、図8のステップS53において、そのデータがKBC制御コマンドの一つであると判断されると、復号した後、表示要求データの中の情報に基づいて、出力部に状態表示をする(ステップS54)。
図9の場合は、表示要求データの中に含まれるランダムに生成された数値に基づいて、状態表示部51に、「492」という数字を表示させる。また、表示要求データの中のTrustedランプに対する点灯命令に基づいて、キーボード表示部52のTrustedランプを点灯させる。
<表示例2:正常動作の場合>
ここでは、T−OSの管理下で動作する正当なアプリケーションプログラムによる表示要求がない場合で、従来OSからの正常なアプリソフトによる表示要求がある場合について示す。
図10に、この表示例2の説明図を示す。
このとき、状態表示部51には、何も表示しない。言いかえれば、すべての表示を消去する。これにより、表示装置のT−OS枠82には、T−OS管理下の正常なソフトウェアによる表示は行われていないことを示す。
また、キーボード表示部52のTrustedランプも消灯させる。
すなわち、出力部5の表示がないときは、現在T−OS管理下のソフトウェアによる表示要求はないはずなので、もし、表示装置8に、T−OS枠82が表示され、その枠内に画面が表示されていた場合は、その表示は何らかの不正ソフトウェアがどこかにインストールされていることによる不正な表示であると考えることができる。
図10において、T−OSの管理下で動作するアプリソフトによって表示されるデータはないので、表示メモリ領域70のTBF72には、何も展開されない。したがって、表示装置8には、T−OS枠82は表示されず、その中に表示される画面もない。
従来OSからの正常な表示要求があれば、その表示データがUTBF71に展開されて、表示装置8には、従来OS枠81の中にその表示データが表示されるだけである。
この表示例2では、T−OS管理下のアプリソフトから表示要求はないので、エージェント31は、ステップS21の処理を繰り返す。
一方、従来OSのアプリソフトから表示要求があるので、その表示要求により、仮想KBC1を介して、仮想KBC2が呼び出される(図7のステップS42)。
この場合、たとえば、仮想KBC1から仮想KBC2に対して、仮想KBC1を示すフラグ,書き込み先アドレス,書込データからなる表示要求データが与えられる。
図7のステップS47において、仮想KBC2は、この表示要求データのうち、書込先アドレス,書込データに基づいて、状態表示命令データを作成する。
図10の表示例2の場合は、状態表示部51の表示を消去し、キーボード表示部52のTrustedランプを消灯させることを意味する命令データが作成される。そしてこの命令データが認証ドライバ17を介して、KBCチップ2へ送信される。
KBCチップ2において、受信された命令データはKBC制御コマンドの一つと判断されて、図8のステップS54において、この命令データに基づく状態表示制御がされる。これにより、出力部5には、表示例2の図10に示したような表示がされる。
<表示例3>
ここでは、不正なソフトウェアが従来OSの管理下で動作しており、T−OS管理下のアプリケーションからは表示要求がない場合について説明する。この不正なソフトウェアは、T−OS枠82を偽り、T−OS枠82とともに、その枠の中に不正な表示をするものとする。
図11に、表示例3の説明図を示す。
表示例3では、図11に示すように、状態表示部51には、「Un-trust」という文字を表示し、キーボード表示部52のTrustedランプは消灯させる。
状態表示部51の表示「Un-trusted」は、現在T−OSからの表示要求はなく、従来OSからの表示要求があり、表示装置8には、UTBF71に展開された表示データの表示がされていることを意味する。
また、キーボード表示部52のTrustedランプが消灯しているのは、図10と同様に、T−OSからの表示要求はなく、したがって、T−OS管理下の正常なアプリソフトによる表示データはないので、T−OS枠82が表示されず、そのT−OS枠82内への表示データの表示もないはずであることを示している。
この表示例3において、もし、従来OS管理下の不正アプリソフトが表示要求をした表示データが、図11に示すようにUTBF71に展開されたとすると、表示装置8には、あたかも従来OS枠81とT−OS枠82とが表示され、なおかつどちらの表示枠の中にも表示データが表示されているような画面が表示される。
ユーザは、この表示装置8の画面を見ただけでは、不正なT−OS枠82に、不正な表示がされていることがわからない場合がある。
しかし、表示例3の場合は、出力部5の2つの状態表示を見れば、T−OS枠82とその表示内容は正常なアプリソフトによって表示されたものではないことがわかる。そこで、ユーザは、状態表示を確認することにより、偽りのT−OS枠82に表示されている画面に対して、うっかり重要な個人データなどを入力するのを未然に防ぐことができる。
実施例3の場合は、T−OSからの表示要求がないので、エージェントは、図6のステップS21を繰り返す。
一方、従来OS管理下のアプリソフトから表示要求があるので、仮想KBC2は、図7のステップS42において仮想KBC1からの呼出があったと判断し、ステップS47の処理を実行する。
この実施例3の場合は、エージェント31は、アプリソフト監視によってT−OSからの表示要求はなく、従来OSからの表示要求のみがあることがわかるので、状態表示部51に、「Un-trust」を表示させ、キーボード表示部52のTrustedランプを消灯させることを意味する状態表示命令データを作成し、認証ドライバ17に送信する。
この後、状態表示命令データは、認証ドライバ17を介して、KBCチップ4に送信される。KBCチップ4では、図8のステップS52,S53およびS54の処理が実行され、出力部5に図11に示したような状態表示がされる。
<表示例4>
ここでは、T−OSからの正常アプリソフトによる表示要求はなく、VMM1の中に、不正なソフトウェアモジュールSMが存在し、そのソフトウェアモジュールSMが、TFB72を利用して、表示装置8にT−OS枠82とその枠内への画面表示をしている場合について説明する。
また、従来OSからの正常アプリソフトによる表示要求があるものとする。ただし、この表示要求がない場合は、従来OS枠81の表示がない点が異なるだけで、出力部5の表示は、この表示例4と同様である。
図12に、表示例4の説明図を示す。
この場合は、状態表示部51に、VMM1に異常が発生していることを示す「!!VMM!!」を表示し、キーボード表示部52のTrustedランプを消灯させる。
このとき、ユーザは状態表示部51の表示内容を見れば、VMM1が異常であることがわかる。したがって、現在表示装置8に表示されている画面は信用できないことがわかり、ユーザが重要なデータを入力するのを未然に防ぐことができる。
出荷時、およびPCを初めて立ち上げ処理をするときには、VMM1には、このような不正なソフトウェアモジュールSMはないものとする。
また、この実施例4では、VMM1の中に不正なソフトウェアモジュールSMが存在し、このソフトウェアモジュールSMは、出荷後ユーザが作業しているときに混入したものと考える。
そうするとこの不正なソフトウェアモジュールの存在は、PCが起動させられ、さらにVMMが起動して仮想KBC2が鍵交換処理(図5)を行うときに、検出することができる。
すなわち、図5のステップS11において、TPM6に鍵の書き込み要求を行ったときに、TPM6内で行われる書込み命令の正当性チェックによって検出される。
前記したように、このチェックでは、VMM1の仮想KBC2からの書込み命令が正当なものかを判断するために、出荷前にTPM6に予め記憶されたVMM1のハッシュ値を用いる。
VMM1に不正なソフトウェアモジュールSMが存在しない場合は、BIOSによって測定されたVMMのハッシュ値は、TPMに予め記憶されたVMMのハッシュ値と一致する。しかし、VMM1に不正なソフトウェアモジュールSMが混入した場合は、BIOSによって測定されたVMMのハッシュ値は上記TPMに予め記憶されたVMMのハッシュ値と異なるものになる。
したがって、2つのハッシュ値が一致しなくなるので、TPM6のチェックで、書込み命令を許可しない旨が通知される。すなわち、図5のステップS12において、TPMへの書込みが許可されなかったことが検出されるので、ステップS14へ進み、書込み不許可の場合の処理をすることになる。
このステップS14の処理において、仮想KBC2は、VMM1に異常が発生し、TPMへのアクセスが拒否されたことを示す情報を生成し、表示ドライバ16を経由して表示装置8に送信する。
一方、KBCチップ4は、BIOSによってVMM1が起動した事を示すVMM設定フラグが1になっているにも関わらず、VMM1からTPMのGPIOバスを通してのアクセスがない状態となる。その状態でKBCを初期化するコマンドを受信したKBCチップ4は、出力部5の状態表示部51に、「!!VMM!!」を表示するように、表示データを生成して、出力部5に与える。
また、この場合TPMから不許可の応答をもらうのでVMM1が正常でないことがわかり、結局T−OSからの表示要求も正当なものか否か不明となるので、キーボード表示部52のtrustedランプは消灯させることが好ましい。
<表示例5>
ここでは、T−OSの管理下で動作するエージェント31が不正なソフトウェアであり、この不正なエージェントからの表示要求がある場合について、説明する。また、従来OSの管理下の正常なソフトウェアからの表示要求があるものとする。
図13に、表示例5の説明図を示す。
この場合、T−OS側のソフトウェアが異常であるので、状態表示部51に、T−OSの異常が検出されたことを示す表示(たとえば“!!OS!!”)をする。
また、T−OS側の表示を管理するエージェントが不正ではあるが、その表示要求による表示データはTBF72を介してT−OS枠82に表示されるので、キーボード表示部52のTrustedランプは点灯させる。
図13に示すように、エージェント31は不正なソフトウェアではあるが、あたかも正常なエージェントのように動作するとすれば、不正なエージェント31からの表示要求は受理され、その表示要求により与えられた表示データはTBF72に展開される。
したがって、TBF72に展開された表示データは、T−OS枠82の中に表示されることになる。ただし、この場合、T−OS枠82に表示された画面は、不正なエージェントからの表示要求であるので、不正な表示である可能性が高い。
この表示例5では、ユーザは状態表示部51に表示される「!!OS!!」という表示内容を確認することにより、T−OSに異常が発生したことを認識できる。
よって、ユーザはT−OS枠の表示内容は不正な可能性があるということを知ることができるので、T−OS枠内に表示される不正な表示画面に対して、重要なデータを入力することを未然に防止できる。
表示例5の場合は、図7のステップS43におけるエージェントの検査により、エージェントが正常でないことが検出できる。
エージェント31が不正なソフトウェアである場合、出荷時および初期起動時に起動させられるエージェント31とは異なるものである。
したがって、出荷時などのエージェント31は正規のものであり、この正規のエージェントに対応する認証データが、仮想KBC2の記憶部106に予め記憶されているとすると、T−OS管理下で動作する不正エージェント31が混入された後に、TPMで測定されるエージェント31のハッシュ値は、認証データと異なるものとなる可能性が高い。
よって、図7のステップS44で、エージェント31が正常でないと判断された場合には、ステップS46の処理が実行される。
この処理により、認証部103にてエージェント異常を示すメッセージの生成,暗号部105によるメッセージの暗号、暗号メッセージをKBCチップ4への送信が行われるので、図13の表示例5に示したような表示がされる。
<表示例6>
ここでは、T−OSの管理下で動作するアプリケーションプログラムが不正なソフトウェアであり、そのアプリケーションプログラムから不正な表示要求がある場合について、説明する。
また、従来OSの管理下で動作する正常なソフトウェアからの表示要求があるものとする。
図14に、表示例6の説明図を示す。
この場合、出力部5に表示される状態は表示例5と類似する。ただし、状態表示部51に表示される文字情報が異なる。
エージェントの検査(図6のステップS22)によって、T−OSの管理下のアプリソフトが正常でないことがわかるので、図14に示すように、たとえば「!!APP!!」という表示をする。
また、エージェントは正当なソフトウェアであるとすると、エージェントからの表示要求も正当なものであるので、T−OS枠82へ表示する表示データはTBF72に展開される。したがって、キーボード表示部52のTrustedランプは点灯させる。
この表示例6の場合もユーザは状態表示部51の「!!APP!!」という警告表示を確認することで、不正なソフトウェアが存在することを知ることができ、不正な画面表示に対して、重要なデータを入力するのを未然に防止することができる。
この表示例6の場合、不正なアプリケーションプログラムから、エージェント31に対して、不正な表示要求が出される。表示要求そのものが不正か否かはわからないが、エージェントは、この表示要求を受理したことにより図6のステップS22の処理を実行する。
すなわち、エージェント31は、表示要求をしたアプリソフトの検査を実行する。そして、TPM6から、アプリソフトのハッシュ値を読み込み前記したような署名チェックが行われ、表示要求をしたアプリソフトが、正常であるか否かがチェックされる。
TPM6内のアプリソフトに関係するハッシュ値と署名内のハッシュ値が一致しないことがわかると、アプリソフトは正常でないという結果になるので、エージェントは、ステップS26とS27の処理を実行することになる。
ステップS26では、表示要求をしたアプリソフトが正常でないことを示す識別情報が生成される。たとえば、!!APP!!という警告メッセージ,その警告メッセージの詳細、出力部5への書込アドレスなどからなる識別情報が生成される。
そして、ステップS27において、生成された識別情報が仮想KBC2へ送信される。
この識別情報をエージェントから受け取った仮想KBC2は、図7のステップS42において、ステップS43へ進み、エージェントの検査をする。
エージェントが正常なものであるとすると、ステップS44において、ステップS45へ進み、状態表示要求処理を行う。このとき、エージェントからの表示要求には、!!APP!!という警告メッセージ,出力部5への書込アドレスなどのデータが含まれるので、図14に示したような状態表示をするための表示データが生成され、KBCチップ4へ送信される。
これにより、出力部5には、図14に示したような状態表示がされる。
以上のように、この発明のいくつかの状態表示の例を示したが、これに限るものではない。
その他、あらゆる機能ブロックに、種々の形態で不正なソフトウェアが侵入することが、考えられるが、前記したようなエージェントや仮想KBC2などの状態表示の処理を行うことにより、出力部5に表示される状態表示によって、何らかの異常があることをユーザに報知することができる。
ユーザが出力部5の状態表示を確認することにより、表示装置8に正当らしき表示がされている場合でも、ユーザが重要なデータの入力をするのを未然に防止することができる。
この発明の状態表示制御装置の構成図である。 この発明の状態表示制御装置の一実施例の構成図である。 この発明の仮想KBC2の一実施例の構成図である。 この発明のエージェントポリシー内容の一実施例の説明図である。 この発明の仮想KBC2における鍵交換処理のフローチャートである。 この発明のエージェントの状態表示制御処理のフローチャートである。 この発明の仮想KBC2の状態表示処理のフローチャートである。 この発明のKBCチップの状態表示制御処理のフローチャートである。 この発明の状態表示の表示例1の説明図である。 この発明の状態表示の表示例2の説明図である。 この発明の状態表示の表示例3の説明図である。 この発明の状態表示の表示例4の説明図である。 この発明の状態表示の表示例5の説明図である。 この発明の状態表示の表示例6の説明図である。 従来のセキュリティシステムの概略構成の説明図である。 従来のシステムにおいて、不正ソフトウェアによる不正な表示状態の説明図である。
符号の説明
1 OS管理部(VMM)
2 第1OS(従来OS)
3 第2OS(Trusted OS,T-OS)
4 報知制御部(KBCチップ)
5 出力部
6 TPM
7 表示コントローラ(グラフィックチップ)
8 表示装置
10 第1表示入力部
11 第2表示入力部
12 第1描画処理部(仮想グラフィック1)
13 第1認証制御部(仮想KBC1)
14 第2描画処理部(仮想グラフィック2)
15 第2認証制御部(仮想KBC2)
16 表示通信部(表示ドライバ)
17 認証通信部(認証ドライバ)
21 第1通信部(KBCドライバ1)
22 グラフィックドライバ1
30 表示管理部
31 エージェント
32 第2通信部
33 グラフィックドライバ2
34 KBCドライバ2
41 復号部
42 鍵受理部
43 報知出力部
51 状態表示部
52 キーボード表示部
61 ハッシュ記憶部
62 鍵記憶部
70 表示メモリ領域
71 UTFB
72 TFB
81 従来OS枠
82 T−OS枠
101 受信部
102 送信部
103 認証部
104 鍵交換部
105 暗号部
106 記憶部

Claims (11)

  1. 第1基本機能管理部の管理下で動作する、予め信頼性が確認されたモジュールからの表示要求に基づいて、第1表示枠内において第1の表示データを表示し、第2基本機能管理部の管理下で動作するモジュールからの表示要求に基づいて、第2表示枠内において第2の表示データを表示するデータ表示部と、
    自装置内で前記第1の表示データの表示に関わり且つ不正な、ソフトウェアが実行された場所と、前記第1基本機能管理部及び前記第2基本機能管理部の作動状態又は非作動状態とを特定する特定部と、
    前記特定された場所と前記第1基本機能管理部及び前記第2基本機能管理部の作動状態又は非作動状態との組み合わせパタンに応じた報知パタンで報知する報知部と、
    を具備することを特徴とする状態表示制御装置。
  2. 前記第1基本機能管理部が、前記予め信頼性が確認されたモジュールのみの動作を制御する信頼化オペレーティングシステムであることを特徴とする請求項1の状態表示制御装置。
  3. 前記データ表示部は、前記第1表示枠と、前記第2表示枠とを同時に表示することを特徴とする請求項1の状態表示制御装置。
  4. 前記報知部は、前記データ表示部に表示されている表示データの表示状態を視覚的に確認可能な状態表示部を備えていることを特徴とする請求項3の状態表示制御装置。
  5. 前記第1表示枠の中に表示されている前記第1の表示データが、前記第1基本機能管理部の管理下で動作するモジュールによって表示要求されたデータであることを示す特定状態表示を、前記状態表示部がすることを特徴とする請求項4の状態表示制御装置。
  6. 前記表示要求の送信元が正当か否かを検査するための基準となる判断情報を予め記憶し且つTPM(Trusted Platform Module)からなる信頼性情報管理部を具備し、前記判断情報が、少なくとも各モジュール前記基本機能管理部をそれぞれ特定するハッシュ値であることを特徴とする請求項1の状態表示制御装置。
  7. 前記TPMは、起動時に測定された前記予め信頼性が確認されたモジュールのハッシュ値を記憶することを特徴とする請求項6の状態表示制御装置。
  8. 前記特定部が、前記予め信頼性が確認されたモジュールを特定する認証データを予め記憶する記憶部と、前記表示要求の送信元の信頼性を認証する認証部とを備え、前記認証部が、前記TPMに記憶されていた前記予め信頼性が確認されたモジュールのハッシュ値と、前記認証データとが一致した場合に、前記予め信頼性が確認されたモジュールを正当と判断することを特徴とする請求項7の状態表示制御装置。
  9. 前記TPMは、前記表示要求を暗号化するのに用いる鍵を記憶する鍵記憶部を備え、前記特定部は、前記表示要求に含まれる情報を暗号化する暗号部と、前記暗号部が暗号化処
    理をするための鍵を、前記TPMから取得する鍵交換部とをさらに備えることを特徴とする請求項8の状態表示制御装置。
  10. 前記特定部は、前記予め信頼性が確認されたモジュールからの表示要求を受理した場合、前記状態表示部に、前記特定状態表示をすることを特徴とする請求項5の状態表示制御装置。
  11. 前記特定部は、前記第2基本機能管理部からの表示要求を受理したが、前記予め信頼性が確認されたモジュールからの表示要求を受理していない場合、前記状態表示部には、前記特定状態表示はしないことを特徴とする請求項5の状態表示制御装置。
JP2007055966A 2007-03-06 2007-03-06 状態表示制御装置 Expired - Fee Related JP4998019B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007055966A JP4998019B2 (ja) 2007-03-06 2007-03-06 状態表示制御装置
US12/042,047 US8484735B2 (en) 2007-03-06 2008-03-04 Status display control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007055966A JP4998019B2 (ja) 2007-03-06 2007-03-06 状態表示制御装置

Publications (2)

Publication Number Publication Date
JP2008217580A JP2008217580A (ja) 2008-09-18
JP4998019B2 true JP4998019B2 (ja) 2012-08-15

Family

ID=39742849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007055966A Expired - Fee Related JP4998019B2 (ja) 2007-03-06 2007-03-06 状態表示制御装置

Country Status (2)

Country Link
US (1) US8484735B2 (ja)
JP (1) JP4998019B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9805196B2 (en) * 2009-02-27 2017-10-31 Microsoft Technology Licensing, Llc Trusted entity based anti-cheating mechanism
DK2462507T3 (da) * 2009-08-04 2019-09-23 Univ Carnegie Mellon Fremgangsmåder og apparater til brugerverificerbar sikker sti i tilstedeværelsen af malware
TWI437567B (zh) * 2009-12-11 2014-05-11 Phison Electronics Corp 快閃記憶體區塊管理方法及其控制器與儲存裝置
US9361824B2 (en) * 2010-03-12 2016-06-07 Via Technologies, Inc. Graphics display systems and methods
JP5321641B2 (ja) * 2011-05-19 2013-10-23 コニカミノルタ株式会社 情報処理システム、情報処理装置および中継サーバ
JP5719244B2 (ja) * 2011-06-29 2015-05-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 安全に管理された仮想マシンの実行環境を構築する方法、プログラムおよびコンピュータ装置
CN102752730B (zh) * 2012-07-19 2014-04-16 腾讯科技(深圳)有限公司 消息处理的方法及装置
WO2015156640A1 (en) * 2014-04-11 2015-10-15 Samsung Electronics Co., Ltd. Method and device for controlling security screen in electronic device
KR102348217B1 (ko) * 2014-04-11 2022-01-10 삼성전자 주식회사 전자장치에서 보안화면을 제어하는 방법 및 장치
JP6394385B2 (ja) * 2014-12-26 2018-09-26 富士通株式会社 ログイン処理装置、ログイン処理方法及びログイン処理プログラム
RU2018114639A (ru) * 2015-09-21 2019-10-23 УанСпэн Интернэшнл ГмбХ Многопользовательский строгий аутентификационный маркер
FR3068149B1 (fr) * 2017-06-26 2019-11-22 Continental Automotive France Procede de surveillance de l’espace libre d’une pile memoire
JP6992686B2 (ja) * 2018-06-18 2022-01-13 日本電信電話株式会社 確認システム及び確認方法
JP6564549B1 (ja) * 2019-03-11 2019-08-21 ココン株式会社 正当性認証起動管理システム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475826A (en) * 1993-11-19 1995-12-12 Fischer; Addison M. Method for protecting a volatile file using a single hash
JP3395863B2 (ja) * 1994-08-10 2003-04-14 富士通株式会社 ソフトウエア管理モジュール、ソフトウエア再生管理装置およびソフトウエア再生管理システム
JPH11143707A (ja) * 1997-11-12 1999-05-28 Tsubasa System Kk 認証システム及び記録媒体
US7055098B2 (en) * 1999-02-19 2006-05-30 Lucent Technologies Inc. Dynamic display of data item evaluation
SE516779C2 (sv) * 1999-10-01 2002-02-26 Ericsson Telefon Ab L M Bärbar kommunikationsapparat med ett användargränssnitt samt en arbetsmetod för densamma
JP4023654B2 (ja) * 2001-09-28 2007-12-19 日立ソフトウエアエンジニアリング株式会社 アプリケーションの監視方法およびプログラム
JP3863447B2 (ja) * 2002-03-08 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証システム、ファームウェア装置、電気機器、及び認証方法
US7748039B2 (en) * 2002-08-30 2010-06-29 Symantec Corporation Method and apparatus for detecting malicious code in an information handling system
US7337471B2 (en) * 2002-10-07 2008-02-26 Symantec Corporation Selective detection of malicious computer code
US7200758B2 (en) 2002-10-09 2007-04-03 Intel Corporation Encapsulation of a TCPA trusted platform module functionality within a server management coprocessor subsystem
US8122361B2 (en) * 2003-10-23 2012-02-21 Microsoft Corporation Providing a graphical user interface in a system with a high-assurance execution environment
US7496768B2 (en) * 2003-10-24 2009-02-24 Microsoft Corporation Providing secure input and output to a trusted agent in a system with a high-assurance execution environment
JP2006139747A (ja) * 2004-08-30 2006-06-01 Kddi Corp 通信システムおよび安全性保証装置
US7568225B2 (en) 2004-09-08 2009-07-28 Hewlett-Packard Development Company, L.P. System and method for remote security enablement
US7574610B2 (en) * 2004-09-30 2009-08-11 Microsoft Corporation Security state watcher
JP2006191195A (ja) * 2004-12-28 2006-07-20 Mitsumi Electric Co Ltd システム認証方法
US20060294380A1 (en) * 2005-06-28 2006-12-28 Selim Aissi Mechanism to evaluate a token enabled computer system
US7818800B1 (en) * 2005-08-05 2010-10-19 Symantec Corporation Method, system, and computer program product for blocking malicious program behaviors
US9654495B2 (en) * 2006-12-01 2017-05-16 Websense, Llc System and method of analyzing web addresses

Also Published As

Publication number Publication date
US20080222446A1 (en) 2008-09-11
US8484735B2 (en) 2013-07-09
JP2008217580A (ja) 2008-09-18

Similar Documents

Publication Publication Date Title
JP4998019B2 (ja) 状態表示制御装置
US8806221B2 (en) Securely recovering a computing device
JP4769608B2 (ja) 起動検証機能を有する情報処理装置
JP5992457B2 (ja) オペレーティングシステムのコンフィグレーション値の保護
US8826405B2 (en) Trusting an unverified code image in a computing device
CN107408172B (zh) 从用户信任的设备安全地引导计算机
US9164925B2 (en) Method and apparatus for authorizing host to access portable storage device
US8464047B2 (en) Method and apparatus for authorizing host to access portable storage device
US9319403B2 (en) IC chip, information processing apparatus, system, method, and program
US20120278597A1 (en) Compatible trust in a computing device
WO2018090818A1 (zh) 一种版本校验方法、装置及终端设备
KR20160042897A (ko) 참조 플랫폼 매니페스트 및 데이터 씰링에 따른 보안 os 부팅 기법
JP2011210129A (ja) 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
CN112257064B (zh) 一种嵌套页表度量方法、装置及相关设备
US20200244461A1 (en) Data Processing Method and Apparatus
KR101349807B1 (ko) 이동식 저장매체 보안시스템 및 그 방법
WO2023148951A1 (ja) 情報通信システム、情報通信方法、および記録媒体
WO2023145044A1 (ja) 機器検証システム、機器検証方法、および記録媒体
US11765302B2 (en) Image forming apparatus equipped with an anti-malware function of a permission-list type, image forming method using the same, and non-transitory computer-readable recording medium on which image forming program for the same is recorded
CN112966276B (zh) 一种计算机的安全启动方法、装置及介质
CN111600732B (zh) 一种前端管理设备自动激活添加前端设备的方法及装置
JP4164069B2 (ja) 電子メール装置、電子メールシステム及び電子メール送信方法
CN116016159A (zh) 一种应用系统的防篡改安装方法、系统、介质及设备
KR20140026315A (ko) 이동식 저장매체 보안시스템 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091106

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111107

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120417

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120430

R150 Certificate of patent or registration of utility model

Ref document number: 4998019

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees