(57)【要約】【課題】クライアントの環境を測定するコンピュータプログラムのリバースエンジニアリングに対する耐タンパー性を高めたプラットフォーム完全性検証システムを提供する。【解決手段】セキュリティトークンであるＵＳＢトークン１０は，クライアント２０上で動作する環境測定ソフトウェアの非実行形式のファイルを記憶し，クライアント２０から環境測定ソフトウェア１２１の送信要求を受けると，相互認証に利用する相互認証鍵を動的に生成し，生成した相互認証鍵と前記非実行形式のファイル（ここでは，オブジェクトファイル１２０）から環境測定ソフトウェア１２１の実行ファイルを生成し，コンピュータに実行ファイルを送信する。【選択図】図７
2010198139.tif 000002
【特許請求の範囲】
【請求項１】
リモートアクセスに利用されるコンピュータと、コンピュータに装着されるセキュリティトークンと、リモートアクセスする前記コンピュータを認証する認証サーバとから、少なくとも構成されたプラットフォーム完全性検証システムであって、
前記セキュリティトークンは，前記コンピュータと通信するコネクタと，前記コンピュータ上で動作する環境測定ソフトウェアの非実行形式のファイルを記憶するメモリと，前記コンピュータから前記環境測定ソフトウェアの送信要求を受けると，相互認証に利用する相互認証鍵を動的に生成し，生成した相互認証鍵と前記非実行形式のファイルから前記環境測定ソフトウェアの実行ファイルを生成し，前記コンピュータに前記実行ファイルを送信する実行ファイル生成手段と，前記コンピュータ上で起動した前記環境測定ソフトウェアと前記相互認証鍵を利用した相互認証を実行する相互認証手段と，該環境測定ソフトウェアからの要求を受けて，前記完全性検証メッセージのデジタル署名を生成し，デジタル署名を前記コンピュータに送信するデジタル署名生成手段を備え，
前記環境測定ソフトウェアは，前記コンピュータ上で起動すると，予め定められた前記コンピュータの環境を測定する動作と，測定結果を少なくとも含む完全性検証メッセージを生成する動作と，前記セキュリティトークンと前記相互認証鍵を利用した相互認証を実行し，該相互認証に成功すると，前記セキュリティトークンに前記完全性検証メッセージのデジタル署名の生成を要求し，該デジタル署名を付与した前記完全性検証メッセージを前記認証サーバに送信する動作を行い，
前記認証サーバは，前記コンピュータから受信した前記完全性検証メッセージに付与された該デジタル署名を検証するデジタル署名検証手段と，該完全性検証メッセージに含まれる測定結果を検証する完全性検証手段を備え，
ていることを特徴とするプラットフォーム完全性検証システム。
【請求項２】
プラットフォーム完全性検証に利用されるセキュリティトークンであって，
前記コンピュータと通信するコネクタと，
前記コンピュータ上で動作する環境測定ソフトウェアの非実行形式のファイルを記憶するメモリと，前記コンピュータから前記環境測定ソフトウェアの送信要求を受けると，相互認証に利用する相互認証鍵を動的に生成し，生成した相互認証鍵と前記非実行形式のファイルから前記環境測定ソフトウェアの実行ファイルを生成し，前記コンピュータに前記実行ファイルを送信する実行ファイル生成手段と，前記コンピュータ上で起動した前記環境測定ソフトウェアと前記相互認証鍵を利用した相互認証を実行する相互認証手段と，該環境測定ソフトウェアからの要求を受けて，前記完全性検証メッセージのデジタル署名を生成し，デジタル署名を前記コンピュータに送信するデジタル署名生成手段を備え，
ていることを特徴とするセキュリティトークン。
【請求項３】
リモートアクセスに利用されるコンピュータと、コンピュータに装着されるセキュリティトークンと、リモートアクセスする前記コンピュータを認証する認証サーバを利用したプラットフォーム完全性検証方法であって、
前記コンピュータから前記セキュリティトークンに対し，前記コンピュータの環境を測定する環境測定ソフトウェアの送信を要求するステップ，
前記セキュリティトークンが，相互認証に利用する相互認証鍵を動的に生成した後，前記環境測定ソフトウェアの非実行形式のファイルと該相互認証鍵から前記環境測定ソフトウェアの実行ファイルを生成し，前記コンピュータに前記実行ファイルを送信するステップ，
前記実行ファイルが実行されることで，前記コンピュータ上で起動した前記環境測定ソフトウェアが，予め定められた前記コンピュータの環境を測定した後，測定結果を少なくとも含む完全性検証メッセージを生成し，前記セキュリティトークンと前記相互認証鍵を利用した相互認証を実行するステップ，
前記環境測定ソフトウェアが該相互認証に成功すると，前記セキュリティトークンに前記完全性検証メッセージのデジタル署名の生成を要求し，該デジタル署名を付与した前記完全性検証メッセージを前記認証サーバに送信するステップ，
前記認証サーバが，前記コンピュータから受信した前記完全性検証メッセージに付与されたデジタル署名を検証し，デジタル署名の検証に成功すると，該完全性検証メッセージに含まれる測定結果を検証するステップ，
が実行されることを特徴とするプラットフォーム完全性検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シンクライアントとして利用されるクライアントのプラットフォーム完全性を検証するシステム及び方法，並びに，プラットフォーム完全性検証に利用されるセキュリティトークンに関する。
【背景技術】
【０００２】
近年、企業などにおいて、クライアントに必要最小限の機能のみを持たせ、機密情報などの情報資源の管理機能や、アプリケーションの処理機能などをサーバに集約させたシンクライアントシステム（Thin Client System）の導入が増えてきている。
【０００３】
シンクライアントシステムの導入の背景には、（１）日本版ＳＯＸ法に対応すべく内部統制の強化、（２）クライアントからの個人情報流出防止などを目的としたセキュリティの強化、（３）クライアントの運用管理コスト（パッチ情報、ライセンス管理など）の削減、（４）テレワーク(Telework)の実現等などがある。
【０００４】
とりわけ、在宅勤務が可能となるテレワークは、地域活性化や少子高齢化問題などの解決手段として期待されており、テレワークを実現するためには、企業内と同じ環境で、社内のイントラネット内に設置されたサーバにリモートアクセスを行えることが必要となる。
【０００５】
しかし、社内のイントラネット内に設置されたサーバにリモートアクセスするクライアントが企業と同じ環境ではなく，例えば，コンピュータウィルスに感染し、トロイの木馬のような悪意のあるソフトウェアであるマルウェア（Malware）が動作していると、ユーザ認証に利用するパスワードなどが詐取され、該サーバは不正なアクセスを受ける可能性がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特願２００８−０１２４０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
社内のイントラネット内に設置されたサーバにリモートアクセスするクライアントの環境を測定する手法として，特許文献１で開示されている発明の計測ソフトウェアを利用し，予め定められた測定項目を該クライアントにおけて測定することが考えられるが，該計測ソフトウェアのリバースエンジニアリングに成功されてしまうと，該計測ソフトウェアがなりすましされることで，社内のサーバが不正なアクセスコントロールを受け，社内で集中管理している機密データが漏洩してしまう可能性があった。
【０００８】
そこで，本発明は，リモートアクセスするクライアントの環境を測定するコンピュータプログラムのリバースエンジニアリングに対する耐タンパー性を高めたプラットフォーム完全性検証システム及び方法，並びに，プラットフォーム完全性に利用されるセキュリティトークンを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は，リモートアクセスに利用されるコンピュータと、コンピュータに装着されるセキュリティトークンと、リモートアクセスする前記コンピュータを認証する認証サーバとから、少なくとも構成されたプラットフォーム完全性検証システムであって、前記セキュリティトークンは，前記コンピュータと通信するコネクタと，前記コンピュータ上で動作する環境測定ソフトウェアの非実行形式のファイルを記憶するメモリと，前記コンピュータから前記環境測定ソフトウェアの送信要求を受けると，相互認証に利用する相互認証鍵を動的に生成し，生成した相互認証鍵と前記非実行形式のファイルから前記環境測定ソフトウェアの実行ファイルを生成し，前記コンピュータに前記実行ファイルを送信する実行ファイル生成手段と，前記コンピュータ上で起動した前記環境測定ソフトウェアと前記相互認証鍵を利用した相互認証を実行する相互認証手段と，該環境測定ソフトウェアからの要求を受けて，前記完全性検証メッセージのデジタル署名を生成し，デジタル署名を前記コンピュータに送信するデジタル署名生成手段を備え，前記環境測定ソフトウェアは，前記コンピュータ上で起動すると，予め定められた前記コンピュータの環境を測定する動作と，測定結果を少なくとも含む完全性検証メッセージを生成する動作と，前記セキュリティトークンと前記相互認証鍵を利用した相互認証を実行し，該相互認証に成功すると，前記セキュリティトークンに前記完全性検証メッセージのデジタル署名の生成を要求し，該デジタル署名を付与した前記完全性検証メッセージを前記認証サーバに送信する動作を行い，前記認証サーバは，前記コンピュータから受信した前記完全性検証メッセージに付与された該デジタル署名を検証するデジタル署名検証手段と，該完全性検証メッセージに含まれる測定結果を検証する完全性検証手段を備えていることを特徴とするプラットフォーム完全性検証システムである。
【００１０】
更に，第２の発明は，プラットフォーム完全性検証に利用されるセキュリティトークンであって，前記コンピュータと通信するコネクタと，前記コンピュータ上で動作する環境測定ソフトウェアの非実行形式のファイルを記憶するメモリと，前記コンピュータから前記環境測定ソフトウェアの送信要求を受けると，相互認証に利用する相互認証鍵を動的に生成し，生成した相互認証鍵と前記非実行形式のファイルから前記環境測定ソフトウェアの実行ファイルを生成し，前記コンピュータに前記実行ファイルを送信する実行ファイル生成手段と，前記コンピュータ上で起動した前記環境測定ソフトウェアと前記相互認証鍵を利用した相互認証を実行する相互認証手段と，該環境測定ソフトウェアからの要求を受けて，前記完全性検証メッセージのデジタル署名を生成し，デジタル署名を前記コンピュータに送信するデジタル署名生成手段を備えていることを特徴とするセキュリティトークンである。
【００１１】
更に，第３の発明は，リモートアクセスに利用されるコンピュータと、コンピュータに装着されるセキュリティトークンと、リモートアクセスする前記コンピュータを認証する認証サーバを利用したプラットフォーム完全性検証方法であって、前記コンピュータから前記セキュリティトークンに対し，前記コンピュータの環境を測定する環境測定ソフトウェアの送信を要求するステップ，前記セキュリティトークンが，相互認証に利用する相互認証鍵を動的に生成した後，前記環境測定ソフトウェアの非実行形式のファイルと該相互認証鍵から前記環境測定ソフトウェアの実行ファイルを生成し，前記コンピュータに前記実行ファイルを送信するステップ，前記実行ファイルが実行されることで，前記コンピュータ上で起動した前記環境測定ソフトウェアが，予め定められた前記コンピュータの環境を測定した後，測定結果を少なくとも含む完全性検証メッセージを生成し，前記セキュリティトークンと前記相互認証鍵を利用した相互認証を実行するステップ，前記環境測定ソフトウェアが該相互認証に成功すると，前記セキュリティトークンに前記完全性検証メッセージのデジタル署名の生成を要求し，該デジタル署名を付与した前記完全性検証メッセージを前記認証サーバに送信するステップ，前記認証サーバが，前記コンピュータから受信した前記完全性検証メッセージに付与されたデジタル署名を検証し，デジタル署名の検証に成功すると，該完全性検証メッセージに含まれる測定結果を検証するステップ，が実行されることを特徴とするプラットフォーム完全性検証方法である。
【発明の効果】
【００１２】
このように，本発明によれば，  このように，セキュリティトークンの内部で相互認証鍵を生成することで，相互認証に利用する相互認証鍵が毎回異なるため，リバースエンジニアリングによって相互認証鍵が解読されてしまうことはなくなるため，リバースエンジニアリングに対する耐タンパー性を高めることができ，よって，リモートアクセスするクライアントの環境を測定するコンピュータプログラムのリバースエンジニアリングに対する耐タンパー性を高めたプラットフォーム完全性検証システム及び方法，並びに，プラットフォーム完全性に利用されるセキュリティトークンを提供できる。
【図面の簡単な説明】
【００１３】
【図１】リモートアクセスシステムを説明する図。
【図２】ＵＳＢトークンのハードウェアブロック図。
【図３】ＵＳＢトークンの機能ブロック図。
【図４】クライアントのブロック図。
【図５】認証サーバのブロック図。
【図６】環境測定ソフトウェアが起動する手順を示したフロー図。
【図７】プラットフォーム完全性を検証する手順を示したフロー図。
【発明を実施するための形態】
【００１４】
ここから、本実施形態に係るプラットフォーム完全性検証システムおよび方法，並びに，プラットフォーム完全性検証システムで利用されるセキュリティトークンについて、図を参照しながら詳細に説明する。
【００１５】
図１は、本発明に係わるプラットフォーム完全性検証システムが適用されたリモートアクセスシステム１を説明する図である。
【００１６】
図１に図示したリモートアクセスシステム１は、テレワークなどを実現するために実施されるシステムで、本発明に係わるセキュリティトークンとして機能するＵＳＢトークン１０と、ＵＳＢトークン１０が装着されるクライアント２０と、ＤＭＺ４２（DMZ: DeMilitarized Zone）を形成するためのファイヤーオール機器５１ａ，ｂと、ＤＭＺ６１内に設置されるＶＰＮ機器５２（VPN: Virtual Private Network）と、ＬＡＮ４１(LAN: Local Area Network)内に設置されるＲＡＤＩＵＳサーバ５３（Radius Server, Radius:  Remote Authentication Dial In User Service）と、認証サーバ３０（Authenticaion Server）と、ルータ５４（Router）と、ルータ５４に接続された社内のパーソナルコンピュータ５５（PC: Personal Computer）及びアプリケーションサーバ５６（Application Server）とから構成されている。
【００１７】
本実施形態に係るリモートアクセスシステム１のクライアント２０は、ユーザの自宅に設置されているＰＣや、持ち運び可能なノート型のＰＣや、或いは、インターネットカフェに設置されているＰＣなどの汎用的なＰＣなどを想定し、ＵＳＢトークン１０がクライアント２０に装着されることで，ＵＳＢトークン１０に記憶された環境測定ソフトウェア１２１がクライアント２０上で起動する。
【００１８】
ユーザがクライアント２０を利用してＬＡＮ４１のリソースにリモートアクセスするためには、ユーザ認証（例えば，ユーザのパスワード認証）に加え、クライアント２０のプラットフォーム完全性検証を必要とし、ユーザ認証とプラットフォーム完全性検証に成功すると，クライアント２０とＶＰＮ機器５２間に形成されたＶＰＮを介して，クライアント２０からＬＡＮ４１内のリソースへのアクセスが許可される。
【００１９】
なお，図１において，ユーザ認証を担うサーバはＲＡＤＩＵＳサーバ５３で，プラットフォーム完全性検証を担うサーバは認証サーバ３０である。
【００２０】
図１で図示した機器の中で、プラットフォームの完全性検証に利用される機器は、リモートアクセスに利用されるクライアント２０と、セキュリティトークンであるＵＳＢトークン１０と、クライアント２０とインターネット４０を介して接続された認証サーバ３０で，プラットフォーム完全性検証に利用されるコンピュータプログラムは，クライアント上で動作する環境測定ソフトウェア１２１で，プラットフォーム完全性検証として、クライアント２０の環境が予め定められた環境に適合されていないことが検証される。
【００２１】
詳しくは後述するが，ＬＡＮ４１内のリソースへリモートアクセスするクライアント２０のプラットフォーム完全性を検証するとき、ＵＳＢトークン１０から送信された環境ソフトウェア６０がクライアント２０上で動作し，環境測定ソフトウェア１２１とＵＳＢトークン１０間で相互認証が行われる。
【００２２】
特許文献１で開示されている発明のように，クライアント２０とＵＳＢトークン１０間の相互認証に利用される相互認証鍵が，環境測定ソフトウェア１２１に予めコーディングされていると，リバースエンジニアリングによって相互認証鍵が解読されてしまう可能があるため，本実施形態では，ＵＳＢトークン１０内で動的に生成された相互認証鍵を用いて該相互認証が実行される。
【００２３】
ＵＳＢトークン１０内で動的に相互認証鍵を生成するため，ＵＳＢトークン１０には，該相互認証鍵を利用する環境測定ソフトウェア１２１の実行形式のファイルではなく，環境測定ソフトウェア１２１の非実行形式のファイル（ここでは，オブジェクトコード１２１）を記憶し，ＵＳＢトークン１０内部で動的に生成された相互認証鍵と環境測定ソフトウェア１２１のオブジェクトコード１２１から環境測定ソフトウェア１２１の実行形式のファイルをＵＳＢトークン１０の内部が生成される。
【００２４】
このように，ＵＳＢトークン１０の内部で相互認証鍵を生成することで，相互認証に利用する相互認証鍵が毎回異なるため，リバースエンジニアリングによって相互認証鍵が解読されてしまうことはなくなる。
【００２５】
ここから，プラットフォーム完全性検証に利用されるＵＳＢトークン１０，クライアント２０，環境測定ソフトウェア１２１及び認証サーバ３０について，それぞれ詳細に説明する。
【００２６】
図２は、セキュリティトークンであるＵＳＢトークン１０のハードウェアブロック図である。ＵＳＢトークン１０は、ALADDIN社製の「ｅ−Ｔｏｋｅｎ（登録商標）」のようなデバイスで，ハードウェアとして，クライアント１０と接続するためのＵＳＢコネクタ１０，セキュアチップ１１およびフラッシュメモリ１２を備え，セキュアチップ１１には，ＵＳＢコネクタ１０を利用してＵＳＢ通信するためのＵＳＢドライバ回路１１ｅ，ＣＰＵ１１ａ，ＲＡＭ１１ｂ，ＥＥＰＲＯＭ１１ｃ（Electrically Erasable and Programmable Read Only Memory）及びＲＮＧ（RNG: Random Number Generator）１１ｄが備えられている。
【００２７】
本実施形態において、ＵＳＢトークン１０のフラッシュメモリ１２には、環境測定ソフトウェア１２１のオブジェクトファイル１２０が記憶されている。
【００２８】
ＵＳＢトークン１０のフラッシュメモリ１２に記憶されるオブジェクトファイル１２０には、クライアント２０上で起動した環境測定ソフトウェア１２１が利用する相互認証鍵が含まれず，セキュアチップ１１に備えられた機能によって，環境測定ソフトウェア１２１がクライアント２０に読み込まれるとき，セキュアチップ１１内部で生成された相互認証鍵とオブジェクトファイル１２０がセキュアチップ１１内部で連結されることで，環境測定ソフトウェア１２１の実行形式のファイルが生成される。
【００２９】
図３は，セキュリティトークンであるＵＳＢトークン１０の機能ブロック図である。図３に図示したように，ＵＳＢトークン１０には，相互認証鍵を動的に生成し，フラッシュメモリ１２に記憶されているオブジェクトファイル１２０から環境測定ソフトウェア１２１の実行形式のファイルを生成する実行形式のファイル生成手段１００と，実行形式のファイル生成手段１００が生成した相互認証鍵を用いて，クライアント２０上で動作している環境測定ソフトウェア１２１と相互認証する相互認証手段１０１と，セキュアチップ１１に記憶されたデジタル署名秘密鍵を用いて，クライアント２０上で動作した環境測定ソフトウェア１２１から送信されたメッセージのデジタル署名を生成するデジタル署名生成手段１０２を備え，セキュアチップ１１のＥＥＰＲＯＭ１１ｃには，これらの手段としてセキュアチップ１１のＣＰＵ１１ａを機能させるためのコンピュータプログラムが記憶されている。
【００３０】
環境測定ソフトウェア１２１の実行形式のファイルを生成する実行形式のファイル生成手段１００は，クライアント２０から環境測定ソフトウェア１２１の送信要求を受けると，セキュアチップ１１に備えられたＲＮＧ１１ｄを利用して乱数を生成させ，該乱数を用いて動的に相互認証鍵を生成し，生成した相互認証鍵をＲＡＭ１１ｂに格納した後，環境測定ソフトウェア１２１のオブジェクトファイル１２０と該相互認証鍵から環境測定ソフトウェア１２１の実行形式のファイルを生成する手段で，セキュアチップ１１に備えられたハードウェア資源を利用したコンピュータプログラムで実現される。
【００３１】
環境測定ソフトウェア１２１の実行形式のファイルを生成する具体的な手法は，ＵＳＢトークン３０に記憶される環境測定ソフトウェア１２１の形態に依存する。本実施形態では，環境測定ソフトウェア１２１のオブジェクトコード１２１がＵＳＢトークン１０に記憶されるため，実行形式のファイル生成手段１００にリンカー（linker）の機能を備えさせ，ＲＡＭ１１ｂに記憶された相互認証鍵とオブジェクトファイル１２１とリンクさせることで，環境測定ソフトウェア１２１の実行形式のファイルが生成される。
【００３２】
また，環境測定ソフトウェア１２１のソースコードがＵＳＢトークン１０に記憶されるときは，実行形式のファイル生成手段１００にコンパイラ（compiler）の機能を備えさせればよい。
【００３３】
ＵＳＢトークン１０に備えられた相互認証手段１０１は，定められたアルゴリズムに従い，クライアント２０で動作している環境測定ソフトウェア１２１と相互認証を行う手段で，セキュアチップ１１を機能させるコンピュータプログラムで実現される。なお，相互認証のアルゴリズムは任意でよく，例えば，ＩＥＴＦ（IETF: The Internet Engineering Task Force）で策定されているＥＡＰ―ＧＰＳＫを，相互認証のアルゴリズムとして利用できる。
【００３４】
図４は、シンクライアントとして利用されるクライアント２０のブロック図で、図４（ａ）は機能ブロック図、図４（ｂ）はハードウェアブロック図である。
【００３５】
図４（ａ）に図示しているように、プラットフォーム完全性検証をするために、クライアント２０には，ＵＳＢトークン１０に対して環境測定ソフトウェア１２１の送信を要求し，ＵＳＢトークン１０から環境測定ソフトウェア１２１を実行するブート手段２００が備えられている。
【００３６】
また，図４（ｂ）に図示したようにクライアント２０は、ハードウェア資源として、中央演算装置（CPU: Central Processing Unit）２１と、クライアント１０クライアント２０のメインメモリであるＲＡＭ２２（RAM: Random Access Memory）と、ＢＩＯＳが実装されるＲＯＭ２３（ROM: Read-Only Memory）と、ＵＳＢ機器と通信するためのＵＳＢインターフェース２４と、ネットワーク通信するためのネットワークインターフェース２５と、補助記憶装置として大容量のデータ記憶装置２６（例えば、ハードディスク）を備え、大容量のデータ記憶装置２６には、クライアントＯＳ２６ａ、例えば、マイクロソフト社のＷＩＮＤＯＷＳ（登録商標）が記憶されている。
【００３７】
クライアント２０のブート手段２００は、クライアント２０にＵＳＢトークン１０が装着されたことを検知すると、ＵＳＢトークン１０をマウントし、ＵＳＢトークン１０に環境測定ソフトウェア１２１の送信を要求し，環境測定ソフトウェア１２１を実行させる手段で、ブート手段２００は、クライアント２０に記憶されているクライアントＯＳ２６ａの一つの機能（例えば，Ｗｉｎｄｏｗｓ（登録商標）の「AUTORUN」）を利用して実現される。
【００３８】
環境測定ソフトウェア１２１はクライアントＯＳ２６ａ上で動作するコンピュータプログラムで、クライアント２０で起動すると，環境測定ソフトウェア１２１のプログラムコードを実行し定められた測定項目の内容を測定する。
【００３９】
例えば，環境を測定する測定項目としては，以下の測定項目が挙げられる。
（項目ａ）特定プロセスの検索
（項目ｂ）特定ファイルの検索
（項目ｃ）ウィルス対策プログラムのバージョン番号及びパターンファイル番号のチェック
【００４０】
上述した測定項目に従えば、環境測定ソフトウェア１２１は、クライアント２０のＲＡＭ２２を参照し、クライアント２０で起動しているプロセスに、上述した（項目ａ）の特定プロセスに該当するプロセス名が含まれていないか確認する。
【００４１】
また、環境測定ソフトウェア１２１は、クライアント２０のデータ記憶装置２６を参照し、クライアント２０に記憶されているＣｏｏｋｉｅなどに、上述した（項目ｂ）の特定ファイルに該当するファイル名が含まれていないか確認する。
【００４２】
更に、環境測定ソフトウェア１２１は、クライアント２０のデータ記憶装置２６を参照し、上述した（項目ｃ）のウィルス対策プログラムパスのバージョン番号及びパターンファイル番号を読み取り、予め指定された値と一致するか確認する。
【００４３】
環境測定ソフトウェア１２１は、プラットフォーム完全性検証で定義された測定項目を測定すると，測定結果（例えば，確認結果）を少なくとも含む完全性検証メッセージをＲＡＭ２２に生成した後，環境測定ソフトウェア１２１に含まれる相互認証鍵を利用してＵＳＢトークン１０と相互認証を行う。
【００４４】
そして，環境測定ソフトウェア１２１は，クライアント２０にマウントされているＵＳＢトークン１０と相互認証に成功すると，完全性検証メッセージのデジタル署名の生成をＵＳＢトークン１０に要求し，ＵＳＢトークン１０から受信したデジタル署名を付与した完全性検証メッセージを認証サーバ３０に送信し，認証サーバ３０が完全性検証メッセージの検証に成功すると，クライアント２０からＬＡＮ４１内へのアクセスが許可される。
【００４５】
図５は、インターネット６０を介してクライアント２０と接続されている認証サーバ３０のブロック図である。図５（ａ）は機能ブロック図、図５（ｂ）はハードウェアブロック図である。
【００４６】
図５（ａ）に図示しているように、プラットフォーム完全性検証をするために、認証サーバ３０は、ＵＳＢトークン１０が生成したデジタル署名を検証するときに利用するデジタル署名公開鍵を利用し、完全性検証メッセージのデジタル署名を検証するデジタル署名検証手段３００と、完全性検証メッセージの正当性を検証する完全性検証手段３０１とを備えている。
【００４７】
図５（ｂ）に図示しているように、認証サーバ３０は、ハードウェア資源として、ＣＰＵ３１と、認証サーバ３０のメインメモリであるＲＡＭ３２と、ＢＩＯＳが実装されるＲＯＭ３３と、ネットワーク通信するためのネットワークインターフェース３４と、補助記憶装置として大容量のデータ記憶装置３５（例えば、ハードディスク）を備え、大容量のデータ記憶装置３５には、認証サーバ３０上で動作するサーバＯＳ３５ａが記憶され、デジタル署名検証手段３００及び完全性検証手段３０１は，サーバＯＳ３５ａ上で動作し，各手段として機能するコンピュータプログラムで実現される。
【００４８】
認証サーバ３０のデジタル署名検証手段３００は、クライアント２０から、デジタル署名が付与された完全性検証メッセージを受信すると作動し、認証サーバ３０のデータ記憶装置３５に記憶されているデジタル署名公開鍵を用いて、定められたデジタル署名検証アルゴリズムに従い、完全性検証メッセージのデジタル署名を検証することで、デジタル署名を生成したＵＳＢトークン１０の正当性を検証する手段である。
【００４９】
認証サーバ３０の完全性検証手段３０１は、デジタル署名検証手段３００が、完全性検証メッセージのデジタル署名の検証に成功すると作動し、完全性検証メッセージに含まれるハッシュ値を検証し、完全性検証メッセージに含まれる測定結果と期待値が一致することを確認することで、完全性検証メッセージの正当性を検証する手段である。
【００５０】
ここから、プラットフォームの完全性を検証する手順について説明する。図６は、環境測定ソフトウェア１２１がクライアント２０上で起動する手順を示したフロー図で、図７は、プラットフォームの完全性を検証する手順を示したフロー図である。
【００５１】
まず、図６を参照しながら、環境測定ソフトウェア１２１がクライアント２０上で起動する手順について説明する。ＵＳＢトークン１０がクライアント２０に装着されると、クライアント２０はＵＳＢインターフェース２４を利用して、ＵＳＢトークン１０とデータのやり取りすることで、クライアント２０に装着されたＵＳＢトークン１０をマウントする（Ｓ１）。
【００５２】
ＵＳＢトークン１０をマウントすると、クライアント２０のブート手段２００が作動し、ブート手段２００は、環境測定ソフトウェア１２１の送信をＵＳＢトークン１０に要求する（Ｓ２）。
【００５３】
ＵＳＢトークン１０が環境測定ソフトウェア１２１の送信要求を受けると，ＵＳＢトークン１０の実行形式のファイル生成手段１００が作動し，既に述べた内容に従い相互認証鍵を生成し，生成した相互認証鍵をＲＡＭ１１ｂに格納する（Ｓ３）。
【００５４】
ＵＳＢトークン１０の内部で相互認証鍵を生成すると，ＵＳＢトークン１０の実行形式のファイル生成手段１００は，ＲＡＭ１１ｂに格納した相互認証鍵を環境測定ソフトウェア１２１のオブジェクトコード１２１と連結し，環境測定ソフトウェア１２１の実行形式のファイルを生成する（Ｓ４）。
【００５５】
環境測定ソフトウェア１２１の実行形式のファイルを生成すると，ＵＳＢトークン１０の実行形式のファイル生成手段１００はクライアント２０に対して環境測定ソフトウェア１２１の実行形式のファイルを送信し（Ｓ５），クライアント２０のブート手段２００は，クライアント２０上で環境測定ソフトウェア１２１を起動させる（Ｓ６）。
【００５６】
次に、図７を参照しながら、プラットフォーム完全性を検証する手順について説明する。図６で示した手順が実行されて、クライアント２０上で環境測定ソフトウェア１２１が起動すると，環境測定ソフトウェア１２１は、環境測定ソフトウェア１２１に定義されている測定項目を測定し（Ｓ１０）、測定結果を含む完全性検証メッセージを生成する（Ｓ１１）。
【００５７】
環境測定ソフトウェア１２１は完全性検証メッセージを生成すると、環境測定ソフトウェア１２１で保持している相互認証鍵を利用し，ＵＳＢトークン１０の相互認証手段１０１を作動させるコマンドメッセージをＵＳＢトークン１０に送信し，定められた手順に従い，ＵＳＢトークン１０と相互認証を実行する（Ｓ１２）。
【００５８】
クライアント２０の環境測定ソフトウェア１２１は，ＵＳＢトークン１０との相互認証の成功／失敗に基づいて処理を分岐させ（Ｓ１３），該相互認証に失敗したときはこの手順を終了し，ＵＳＢトークン１０との相互認証に成功すると，デジタル署名生成手段１０２を作動させるコマンドメッセージをＵＳＢトークン１０に送信することで、完全性検証メッセージのデジタル署名の生成をＵＳＢトークン１０に要求する（Ｓ１４）。
【００５９】
ＵＳＢトークン１０は、完全性検証メッセージを含み，デジタル署名生成手段１０２を作動させるコマンドメッセージを受信すると、ＵＳＢトークン１０のデジタル署名生成手段１０２を作動させ、デジタル署名生成手段１０２は、ＵＳＢトークン１０に記憶されているデジタル署名秘密鍵を用い、定められたデジタル署名生成アルゴリズム（例えば、ＰＫＣＳ＃１など）に従い、完全性検証メッセージのデジタル署名を生成し、生成したデジタル署名をクライアント２０に返信する（Ｓ１５）。
【００６０】
クライアント２０で起動している環境測定ソフトウェア１２１は、ＵＳＢトークン１０から、完全性検証メッセージのデジタル署名を受信すると、インターネット４０を介して、該デジタル署名を付与した完全性検証メッセージを認証サーバ３０に送信する（Ｓ１６）。
【００６１】
該デジタル署名が付与された完全性検証メッセージを認証サーバ３０が受信すると、認証サーバ３０のデジタル署名検証手段３００が作動し、デジタル署名検証手段３００は、認証サーバ３０が記憶しているデジタル署名公開鍵を用いて、定められたアルゴリズムに従い、完全性検証メッセージに付与されたデジタル署名を検証することで、デジタル署名を生成したＵＳＢトークン１０の正当性を検証する（Ｓ１７）。
【００６２】
認証サーバ３０は、完全性検証メッセージに付与されたデジタル署名の検証の成功／失敗によって処理を分岐させ（Ｓ１８）、デジタル署名の検証に失敗するとこの手順を終了し，デジタル署名の検証に成功すると，認証サーバ３０の完全性検証手段３０１を作動させ、完全性検証手段３０１は、完全性検証メッセージに含まれる測定結果と期待値が一致するか確認することで、完全性検証メッセージの正当性を検証する（Ｓ１９）。
【００６３】
そして、認証サーバ３０は、完全性検証メッセージに含まれる測定結果の検証の成功／失敗によって処理を分岐させ（Ｓ２０）、認証サーバ３０の完全性検証手段３０１は、完全性検証メッセージの測定結果の検証に成功したときは、認証サーバ３０は、クライアント２０のＬＡＮ４１へのアクセスを許可するメッセージをＶＰＮ機器５２に送信し、クライアント２０からＬＡＮ４１へのアクセスを許可し（Ｓ２１）、この手順を終了し、完全性検証メッセージの測定結果の検証に失敗したときは、クライアント２０からＬＡＮ４１へのアクセスを許可することなく、この手順を終了する。
【００６４】
なお、本発明は、これまで説明した実施の形態に限定されることなく、種々の変形や変更が可能である。
【００６５】
上述した実施形態では，本発明に係わるセキュリティトークンをＵＳＢトークンで実現していたが，本発明に係わるセキュリティトークンはＵＳＢトークン以外でも実現できる。
【００６６】
例えば，ＵＳＢトークン１０の機能を備えたＳＩＭ(Subscriber Identity)と，特許文献２、３等で開示されているような、ＵＳＢコネクタを備えたＳＩＭリーダを組み合わせることで，本発明に係わるセキュリティトークンを実現することもできる。
【００６７】
【特許文献２】特開２００４−１１８７７１号公報
【特許文献３】特開２００４−１３３８４３号公報
【符号の説明】
【００６８】
１  リモートアクセスシステム
１０  ＵＳＢトークン
１００  実行形式のファイル生成手段
１０１  相互認証手段
１０２  デジタル署名生成手段
１２  フラッシュメモリ
１２０  環境測定ソフトウェアのオブジェクトファイル
１２１  環境測定ソフトウェア
２０  クライアント
２００  ブート手段
３０  認証サーバ
３００  デジタル署名検証手段
３０１  完全性検証手段
【図１】
2010198139.tif 000003
【図２】
2010198139.tif 000004
【図３】
2010198139.tif 000005
【図４】
2010198139.tif 000006
【図５】
2010198139.tif 000007
【図６】
2010198139.tif 000008
【図７】
2010198139.tif 000009