(57)【特許請求の範囲】
【請求項１】
フィルタドライバを含むオペレーティングシステム上にて、ミドルウェアが起動された状態で所定のアプリケーションを起動可能な情報処理装置であって、
前記ミドルウェアは、ブート時に自己が認証されると、起動を許可するアプリケーションとファイルの種類との組合せを規定する組合せ情報を、前記フィルタドライバに設定するものであり、
アプリケーションの起動要求を受け付ける起動要求受付手段と、
前記起動要求受付手段が受け付けた起動要求に応答して、前記フィルタドライバに設定された組み合わせ情報に基づいて、当該アプリケーションとアクセス対象となるファイルの種類との組合せの妥当性を検証する組合せ検証手段と、
前記組合せ検証手段により組合せの妥当性が検証されると、アプリケーションの認証を行うアプリケーション認証手段と、
前記アプリケーション認証手段によりアプリケーションが認証されると、対象ファイルのアクセスを許可すると共に、当該アプリケーションの起動をカーネルに指示する起動指示手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記ミドルウェアは、暗号化された組合せ情報を取得する暗号化情報取得手段と、当該取得した組合せ情報を復号化する組合せ情報復号化手段と、を更に備え、ブート時に自己が認証されると、前記組合せ情報復号化手段により復号化された組合せ情報を、前記フィルタドライバに設定する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記アプリケーション認証手段は、ハッシュ演算及び署名用鍵を用いて改ざんの有無を検出し、改ざんがなされていないアプリケーションだけを認証する、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記アプリケーション認証手段は、ミドルウェアにて実装され、
前記ミドルウェアは、オペレーティングシステムが起動される際に、所定の署名用鍵により、自身の認証が行われる、
ことを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
少なくとも、暗号用鍵、ハッシュ演算ロジック、及び、署名用鍵を格納するＴＰＭ（Trusted Platform Module）を更に備え、
前記アプリケーション認証手段は、前記ミドルウェアにて実装され、
前記ミドルウェアは、オペレーティングシステムが起動される際に、前記ＴＰＭに格納された署名用鍵により、自身の認証が行われ、
前記組合せ検証手段は、前記フィルタドライバにて実装され、
前記フィルタドライバは、前記ミドルウェアの認証がなされた際に自己に設定された組合せ情報に基づいて、アプリケーションとファイルの種類との組合せの妥当性を検証し、
自身の認証が行われて起動している前記ミドルウェアは、前記フィルタドライバにより組合せの妥当性が検証された後に、前記ＴＰＭに格納されたハッシュ演算ロジック及び署名用鍵を用いて改ざんの有無を検出し、改ざんがなされていないアプリケーションだけを認証する、
ことを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アプリケーションをより確実に認証すると共に、アクセス対象となるファイルの安全性も高めることのできる情報処理装置に関する。
【背景技術】
【０００２】
近年、ウイルスに感染されたソフトウェアやスパイウェア等によって、機密性の高いファイル（機密ファイル等）に対する不正なアクセスを許してしまう状況が発生している。例えば、スパイウェア等では、ユーザが知らないうちに装置内に入り込み、読み出した機密ファイルを他の装置等に配布してしまったり、機密ファイルの中身を改変してしまうことがなされてしまう。
また、正当なアプリケーションのプラグインによって、機密ファイルへのアクセスにパスワード保護がなされている場合であっても、不正なアプリケーションから機密ファイルにアクセスすることで、パスワード保護を解除してしまう、といった例も存在する。
この他にも、アプリケーション自体（実行ファイル）がバイナリエディタ等によって改ざんされた場合に、顧客情報等の機密ファイルへの不正なアクセスが行われてしまっている。例えば、顧客情報を管理するアプリケーションには、通常、ＩＤ情報や鍵情報等が含まれているが、これらが改ざんされてしまうと、不正なＩＤを使用したユーザのログオン等を許してしまうことになる。また、実行ファイル（例えば、ＥＸＥファイルやＤＬＬファイル等）が改ざんされ、ユーザ認証の機能自体が止められてしまうと、同様に、不正なユーザのログイン等を許してしまう。
【０００３】
このような悪意のある脅威が存在するだけでなく、悪意を持たないユーザによる脅威も存在する。
例えば、ウイルス対策ソフト等のウイルス定義ファイルでも対応できない未知のワームやウィルスに気づかないうちに感染してしまった場合には、上記と同様に不正なアクセスを許してしまうことになる。特に近年では、ワーム、ウイルス、スパイウェアが拡散するスピードが速くなっており、ウイルス定義ファイルやパッチが提供される前に、問題が発生してしまっているケースが頻発している。
【０００４】
このような不正アクセスを防止するためには、「アプリケーション認証」を行うことが必要であると考えられている。そのため、これまでも、アプリケーションを認証することで、改ざんがなされていないことを証明する等の取り組みがなされていた。
具体的には、認証モジュールの耐タンパ領域を用いて、ダウンロードされたアプリケーションの認証を行い、出所の確認や改ざんが行われていないかどうかの確認を行うアプリケーション認証システムの技術も開示されている（例えば、特許文献１参照）。
【特許文献１】特開２００３−２２３２３５  （第７−３０頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のような、従来のアプリケーション認証システムは、端末の他に外部の認証モジュールが必要となっている。そのため、端末単独でアプリケーションを認証することができなかった。
また、認証されたアプリケーションが、全てのローカルリソースに対してアクセス可能となってしまうという問題もあった。例えば、本来、アプリケーションＡによってだけアクセスが行われるべきファイルに、他のアプリケーションＢからのアクセスを許してしまうことになる。
このため、アプリケーションを認証するだけでは、不十分であり、アプリケーションとファイル（ファイルの種類）との正当な組合せに限り、アクセスを認める技術が必要とされていた。
【０００６】
本発明は、上記実状に鑑みてなされたもので、アプリケーションをより確実に認証すると共に、アクセス対象となるファイルの安全性も高めることのできる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点に係る情報処理装置は、
フィルタドライバを含むオペレーティングシステム上にて、ミドルウェアが起動された状態で所定のアプリケーションを起動可能な情報処理装置であって、
前記ミドルウェアは、ブート時に自己が認証されると、起動を許可するアプリケーションとファイルの種類との組合せを規定する組合せ情報を、前記フィルタドライバに設定するものであり、
アプリケーションの起動要求を受け付ける起動要求受付手段と、
前記起動要求受付手段が受け付けた起動要求に応答して、前記フィルタドライバに設定された組み合わせ情報に基づいて、当該アプリケーションとアクセス対象となるファイルの種類との組合せの妥当性を検証する組合せ検証手段と、
前記組合せ検証手段により組合せの妥当性が検証されると、アプリケーションの認証を行うアプリケーション認証手段と、
前記アプリケーション認証手段によりアプリケーションが認証されると、対象ファイルのアクセスを許可すると共に、当該アプリケーションの起動をカーネルに指示する起動指示手段と、
を備えることを特徴とする。
【０００８】
この発明によれば、ブート時にミドルウェアが認証されると、起動を許可するアプリケーションとファイルの種類との組合せを規定する組合せ情報を、フィルタドライバに設定されるものであり、起動要求受付手段は、アプリケーションの起動要求を受け付ける。また、組合せ検証手段は、起動要求受付手段が受け付けた起動要求に応答して、フィルタドライバに設定された組み合わせ情報に基づいて、当該アプリケーションとアクセス対象となるファイルの種類との組合せの妥当性を検証する。アプリケーション認証手段は、組合せ検証手段により組合せの妥当性が検証されると、アプリケーションの認証を行う。そして、起動指示手段は、アプリケーション認証手段によりアプリケーションが認証されると、対象ファイルのアクセスを許可すると共に、当該アプリケーションの起動をカーネルに指示する。
この様な構成の情報処理装置は、装置単独で、アプリケーション認証を可能とし、また、正当なアプリケーションだけが、対象ファイルに正当にアクセスすることを許すことになる。
この結果、アプリケーションをより確実に認証すると共に、アクセス対象となるファイルの安全性も高めることができる。
【０００９】
前記ミドルウェアは、暗号化された組合せ情報を取得する暗号化情報取得手段と、当該取得した組合せ情報を復号化する組合せ情報復号化手段と、を更に備え、ブート時に自己が認証されると、前記組合せ情報復号化手段により復号化された組合せ情報を、前記フィルタドライバに設定してもよい。
【００１０】
前記アプリケーション認証手段は、ハッシュ演算及び署名用鍵を用いて改ざんの有無を検出し、改ざんがなされていないアプリケーションだけを認証してもよい。
【００１１】
前記アプリケーション認証手段は、ミドルウェアにて実装され、
前記ミドルウェアは、オペレーティングシステムが起動される際に、所定の署名用鍵により、自身の認証が行われるようにしてもよい。
【００１２】
上記の情報処理装置は、少なくとも、暗号用鍵、ハッシュ演算ロジック、及び、署名用鍵を格納するＴＰＭを更に備え、
前記アプリケーション認証手段は、前記ミドルウェアにて実装され、
前記ミドルウェアは、オペレーティングシステムが起動される際に、前記ＴＰＭに格納された署名用鍵により、自身の認証が行われ、
前記組合せ検証手段は、前記フィルタドライバにて実装され、
前記フィルタドライバは、前記ミドルウェアの認証がなされた際に自己に設定された組合せ情報に基づいて、アプリケーションとファイルの種類との組合せの妥当性を検証し、
自身の認証が行われて起動している前記ミドルウェアは、前記フィルタドライバにより組合せの妥当性が検証された後に、前記ＴＰＭに格納されたハッシュ演算ロジック及び署名用鍵を用いて改ざんの有無を検出し、改ざんがなされていないアプリケーションだけを認証してもよい。
【発明の効果】
【００１３】
本発明によれば、アプリケーションをより確実に認証すると共に、アクセス対象となるファイルの安全性も高めることができる。
【発明を実施するための最良の形態】
【００１４】
本発明の実施の形態にかかる情報処理装置について、以下、図面を参照して説明する。なお、情報処理装置は、一例として、チップ化されたＴＰＭ（Trusted Platform Module）を備えたパーソナルコンピュータやサーバ装置等からなり、所定のオペレーティングシステム（ＯＳ）上にて、所定のアプリケーションを実行（起動）可能であるものとする。
【００１５】
図１は、この発明の実施の形態に適用される情報処理装置の機能構成の一例を示す模式図である。
図示するように、この情報処理装置１０は、起動要求受付部１１と、組合せ検証部１２と、アプリケーション認証部１３と、起動指示部１４とを含んで構成される。
【００１６】
起動要求受付部１１は、アプリケーションの起動要求を受け付ける。例えば、情報処理装置１０にインストールされている任意のアプリケーションがユーザの操作により選択されると、起動要求受付部１１は、そのアプリケーションの起動要求を受け付ける。
【００１７】
組合せ検証部１２は、起動要求受付部１１が受け付けた起動要求に応答して、アプリケーションとアクセス対象となるファイルの種類との組合せの妥当性を検証する。例えば、組合せ検証部１２は、アプリケーションとファイルの種類との組合せを規定する組合せ情報を取得し、この組合せ情報に基づいて、アプリケーションとアクセス対象となるファイルとの組合せの妥当性を検証する。
なお、この組合せ情報は、秘匿性や安全性を高める必要があるため、暗号化されていることが望ましい。そのため、組合せ検証部１２は、後述するように、ＴＰＭに格納された暗号用鍵を使用して、暗号化された組合せ情報を復号化する。
【００１８】
アプリケーション認証部１３は、組合せ検証部１２により組合せの妥当性が検証されると、アプリケーションの認証を行う。例えば、アプリケーション認証部１３は、後述するように、ＴＰＭに格納されたハッシュ演算及び署名用鍵を用いて改ざんの有無を検出し、改ざんがなされていないアプリケーションだけを認証する。
【００１９】
起動指示部１４は、アプリケーション認証部１３によりアプリケーションが認証されると、対象ファイルのアクセスを許可すると共に、そのアプリケーションの起動をカーネルに指示する。
【００２０】
すなわち、上述した構成の情報処理装置１０は、図２に示すように、アプリケーション認証を行う。
つまり、アプリケーションＡＰから起動要求がさなれると、ファイルとアプリケーションとの組合せを検証する。その際、ＴＰＭに格納されている暗号用鍵Ｋ１により復号化した組合せ情報ＣＩを使用して、ファイルとアプリケーションとの組合せの妥当性を検証する。
そして、組合せの妥当性が検証されると、アプリケーションの実行ファイル（ＥＸＥファイルやＤＬＬファイル等）を認証する。その際、ＴＰＭに格納されているハッシュ演算ＨＡ及び署名用鍵（署名検証用鍵）Ｋ２により、アプリケーションが認証される。
最後に、アプリケーションが認証されると、対象となるファイルＦへのファイルアクセスが可能となる。
【００２１】
このように、情報処理装置１０は、装置単独で、アプリケーション認証を可能とし、また、正当なアプリケーションだけが、対象ファイルに正当にアクセスすることを許すことができる。
【００２２】
次に、図３等を参照して、本発明の情報処理装置について、より具体的に説明する。図３は、情報処理装置１０における具体的な実装状態を説明するための模式図である。
図示するように、情報処理装置１０には、ＴＰＭ１と、カーネル２と、フィルタドライバ３と、ミドルウェア４と、アプリケーション５とが、実装（適宜インストール等）されている。なお、情報処理装置１０には、この他にも、ＣＰＵ（Central Processing Unit）、メモリ（ＲＯＭやＲＡＭ）、ハードディスク、及び、各種コントローラ等も備えている。
【００２３】
ＴＰＭ１は、鍵の格納や暗号演算等を行うハードウェアである。例えば、暗号用鍵、署名用鍵等をハードウェアで制御、保存するマイクロコントローラであり、チップ化されて、実装される。
【００２４】
カーネル２は、特権モードで動作するＯＳプログラムであり、例えば、フィルタドライバ３等からの起動指示を受け、メモリ等のハードウェアにアプリケーションを展開し、起動処理等の制御を行う。
【００２５】
フィルタドライバ３は、より詳細には、ファイルシステムフィルタドライバであり、要求がターゲットに届く前にその要求を途中で受信し、機能追加や動作変更を行う。例えば、フィルタドライバ３には、組合せ情報を設定できるようになっており、アプリケーションの起動要求がなされると、設定された組合せ情報に基づいて、アプリケーションと対象となるファイル（ファイル種類）との妥当性を検証する。なお、初期状態では、全てのアプリケーションの起動を認めない情報（禁止型組合せ情報）が設定されている。
【００２６】
ミドルウェア４は、オペレーティングシステムよりも高度で具体的な機能を提供するソフトウェアであり、例えば、ＴＰＭ１を用いて認証や暗号化等を行う。
【００２７】
アプリケーション５は、オペレーティングシステム上にて実行されるアプリケーションソフトウェアであり、例えば、ワープロ（ワードプロセッサ）や表計算ソフト等のソフトウェアからなる。
なお、アプリケーション５は、ミドルウェア４と共に、ユーザモード（非特権モード）にて実行される。
【００２８】
このような構成において、ミドルウェア４自身が改ざんされるおそれもある。そのため、ミドルウェア４自身の認証も行う必要がある。このミドルウェア４の認証について、図４を参照して説明する。
なお、このミドルウェア認証は、オペレーティングシステムの起動時に行われる。
【００２９】
まず、ミドルウェア４が起動要求を行う（Ｓ１）。そして、ミドルウェア４自身の改ざんも防止しなければならないため、ミドルウェア４自身の認証を行う（Ｓ２）。
この際、ミドルウェア４の認証には、ＴＰＭ１に格納された署名用鍵が使用される。なお、ミドルウェア４の改ざんが検出されると、ミドルウェア４の起動を停止させ、フィルタドライバ３では、初期状態となる禁止型組合せ情報のままとなるため、全てのアプリケーションの起動要求を禁止する。つまり、その後に、アプリケーション５の起動要求がなされても、その起動要求は受け付けられないことになる。
【００３０】
ミドルウェア４が認証されると、組合せ情報を復号化する（Ｓ３）。つまり、ＴＰＭ１に格納された暗号用鍵が用いられて、組合せ情報が復号化される。この組合せ情報は、特定のアプリケーションとファイル（ファイルの種類）との組合せであれば起動を許可する旨の情報である。
そして、復号化した組合せ情報をフィルタドライバ３に設定する（Ｓ４）。つまり、禁止型組合せ情報を、許可型組合せ情報に置き換える。
【００３１】
このように、オペレーティングシステムの起動時に、ミドルウェア４が認証され、そして、フィルタドライバ３に、組合せ情報が設定される。
【００３２】
次に、アプリケーション５の認証について、図５を参照して説明する。なお、上述したミドルウェア認証が、既に行われているものとする。
【００３３】
まず、アプリケーション５の起動要求が行われる（Ｓ１１）。つまり、ワープロや表計算のソフトウェアが、特定の拡張子であるファイルの起動要求を行う。なお、単独で起動するアプリケーション（例えば、スケジュール管理ソフトウェアや企業内ソフトウェア等）の場合には、組合せ情報において、対応するファイルがない旨（対象ファイル名なし）が設定されている。
【００３４】
フィルタドライバ３は、この要求を横取りし（先に受信し）、設定された組合せ情報に基づいて、適切なアプリケーションとファイル（ファイルの種類）との組合せであるかを、検証する（Ｓ１２）。つまり、許可された組合せにてアプリケーション５が起動されているかが検証される。
ここで、適切な組合せであると検証されると、ミドルウェア４に対して認証処理要求を行う（Ｓ１３）。つまり、アプリケーション認証を依頼する。
なお、検証により、不適切な組合せであると判別されると、カーネル２に対してエラー結果を返すことになる。つまり、アプリケーション５の起動要求は、エラーとなる。
【００３５】
フィルタドライバ３から認証処理が要求されると、ミドルウェア４は、アプリケーション認証処理を行う（Ｓ１４）。つまり、ミドルウェア４は、ＴＰＭ１のハッシュ演算機能や署名用鍵を用いて、アプリケーション（ＥＸＥファイルやＤＬＬファイル等）を認証する。
そして、ミドルウェア４は、認証結果をフィルタドライバ３に通知する（Ｓ１５）。例えば、認証が成功した場合に、成功フラグを通知し、一方、認証が失敗した場合に、失敗フラグを通知する。
【００３６】
最後に、フィルタドライバ３は、認証が成功した旨の通知に応答して、カーネル２にアプリケーション５を起動させる（Ｓ１６）。すなわち、認証されたアプリケーション５をカーネル２にて起動させる。この際、アプリケーション５からは、対象となるファイルにアクセス可能となっている。
【００３７】
このように、本実施の形態に係る情報処理装置１０によれば、他にサーバや外部装置等を利用することなく、単体で、アプリケーション認証を行うことができる。その際、不適切な組みあわせによるファイル起動を防止し、また、アプリケーションの改ざん等も検出できる。
【００３８】
また、オペレーティングシステム（ミドルウェア）自体が信頼できないという前提でも、より適切にアプリケーション認証を行うことができる。つまり、ミドルウェア自身の認証も行い、そして、ミドルウェアが認証された場合にだけ、組合せ情報が設定される。そして、その状態で、アプリケーション認証を適切に行うことができる。
その際、組合せ情報が改ざんされるおそれもあるため、組合せ情報を暗号化している。また、ミドルウェア自身が認証されなかった場合に、組合せ情報が設定されず、全てのアプリケーションが実行不可状態となるため、ミドルウェアの改ざんに対する防御も有効となり、不正なアクセスを防止できる。
【００３９】
更に、主流となるオペレーティングシステムのアーキテクチャを想定し、アプリケーション認証等にて利用される鍵を、ＴＰＭのようなハードウェア耐タンパデバイスに格納し、フィルタドライバと組み合わせることで、鍵の流出等も防止でき、セキュリティ性をより向上させることができる。
【００４０】
この結果、アプリケーションをより確実に認証すると共に、アクセス対象となるファイルの安全性も高めることができる。
【００４１】
上記の実施の形態では、パーソナルコンピュータやサーバ装置等を一例として情報処理装置を説明したが、他の装置にも適宜適用可能である。例えば、携帯端末（携帯電話やＰＤＡ等）等にも適宜適用可能である。
【００４２】
以上説明したように、本発明によれば、アプリケーションをより確実に認証すると共に、アクセス対象となるファイルの安全性も高めることができる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施の形態に係る情報処理装置の機能構成の一例を示す模式図である。
【図２】アプリケーション認証の概略を説明するための模式図である。
【図３】情報処理装置の具体的な実装状態を説明するための模式図である。
【図４】ミドルウェアの認証について説明するための模式図である。
【図５】アプリケーションの認証について説明するための模式図である。
【符号の説明】
【００４４】
１    ＴＰＭ
２    カーネル
３    フィルタドライバ
４    ミドルウェア
５    アプリケーション
１０  情報処理装置
１１  起動要求受付部
１２  組合せ検証部
１３  アプリケーション認証部
１４  起動指示部
【図１】
0004754299.tif 000002
【図２】
0004754299.tif 000003
【図３】
0004754299.tif 000004
【図４】
0004754299.tif 000005
【図５】
0004754299.tif 000006