説明

プラットフォーム完全性検証システム及び方法,並びに,セキュリティトークン

【課題】クライアントの環境を測定するコンピュータプログラムのリバースエンジニアリングに対する耐タンパー性を高めたプラットフォーム完全性検証システムを提供する。
【解決手段】セキュリティトークンであるUSBトークン10は,クライアント20上で動作する環境測定ソフトウェアの非実行形式のファイルを記憶し,クライアント20から環境測定ソフトウェア121の送信要求を受けると,相互認証に利用する相互認証鍵を動的に生成し,生成した相互認証鍵と前記非実行形式のファイル(ここでは,オブジェクトファイル120)から環境測定ソフトウェア121の実行ファイルを生成し,コンピュータに実行ファイルを送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シンクライアントとして利用されるクライアントのプラットフォーム完全性を検証するシステム及び方法,並びに,プラットフォーム完全性検証に利用されるセキュリティトークンに関する。
【背景技術】
【0002】
近年、企業などにおいて、クライアントに必要最小限の機能のみを持たせ、機密情報などの情報資源の管理機能や、アプリケーションの処理機能などをサーバに集約させたシンクライアントシステム(Thin Client System)の導入が増えてきている。
【0003】
シンクライアントシステムの導入の背景には、(1)日本版SOX法に対応すべく内部統制の強化、(2)クライアントからの個人情報流出防止などを目的としたセキュリティの強化、(3)クライアントの運用管理コスト(パッチ情報、ライセンス管理など)の削減、(4)テレワーク(Telework)の実現等などがある。
【0004】
とりわけ、在宅勤務が可能となるテレワークは、地域活性化や少子高齢化問題などの解決手段として期待されており、テレワークを実現するためには、企業内と同じ環境で、社内のイントラネット内に設置されたサーバにリモートアクセスを行えることが必要となる。
【0005】
しかし、社内のイントラネット内に設置されたサーバにリモートアクセスするクライアントが企業と同じ環境ではなく,例えば,コンピュータウィルスに感染し、トロイの木馬のような悪意のあるソフトウェアであるマルウェア(Malware)が動作していると、ユーザ認証に利用するパスワードなどが詐取され、該サーバは不正なアクセスを受ける可能性がある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特願2008−012402号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
社内のイントラネット内に設置されたサーバにリモートアクセスするクライアントの環境を測定する手法として,特許文献1で開示されている発明の計測ソフトウェアを利用し,予め定められた測定項目を該クライアントにおけて測定することが考えられるが,該計測ソフトウェアのリバースエンジニアリングに成功されてしまうと,該計測ソフトウェアがなりすましされることで,社内のサーバが不正なアクセスコントロールを受け,社内で集中管理している機密データが漏洩してしまう可能性があった。
【0008】
そこで,本発明は,リモートアクセスするクライアントの環境を測定するコンピュータプログラムのリバースエンジニアリングに対する耐タンパー性を高めたプラットフォーム完全性検証システム及び方法,並びに,プラットフォーム完全性に利用されるセキュリティトークンを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明は,リモートアクセスに利用されるコンピュータと、コンピュータに装着されるセキュリティトークンと、リモートアクセスする前記コンピュータを認証する認証サーバとから、少なくとも構成されたプラットフォーム完全性検証システムであって、前記セキュリティトークンは,前記コンピュータと通信するコネクタと,前記コンピュータ上で動作する環境測定ソフトウェアの非実行形式のファイルを記憶するメモリと,前記コンピュータから前記環境測定ソフトウェアの送信要求を受けると,相互認証に利用する相互認証鍵を動的に生成し,生成した相互認証鍵と前記非実行形式のファイルから前記環境測定ソフトウェアの実行ファイルを生成し,前記コンピュータに前記実行ファイルを送信する実行ファイル生成手段と,前記コンピュータ上で起動した前記環境測定ソフトウェアと前記相互認証鍵を利用した相互認証を実行する相互認証手段と,該環境測定ソフトウェアからの要求を受けて,前記完全性検証メッセージのデジタル署名を生成し,デジタル署名を前記コンピュータに送信するデジタル署名生成手段を備え,前記環境測定ソフトウェアは,前記コンピュータ上で起動すると,予め定められた前記コンピュータの環境を測定する動作と,測定結果を少なくとも含む完全性検証メッセージを生成する動作と,前記セキュリティトークンと前記相互認証鍵を利用した相互認証を実行し,該相互認証に成功すると,前記セキュリティトークンに前記完全性検証メッセージのデジタル署名の生成を要求し,該デジタル署名を付与した前記完全性検証メッセージを前記認証サーバに送信する動作を行い,前記認証サーバは,前記コンピュータから受信した前記完全性検証メッセージに付与された該デジタル署名を検証するデジタル署名検証手段と,該完全性検証メッセージに含まれる測定結果を検証する完全性検証手段を備えていることを特徴とするプラットフォーム完全性検証システムである。
【0010】
更に,第2の発明は,プラットフォーム完全性検証に利用されるセキュリティトークンであって,前記コンピュータと通信するコネクタと,前記コンピュータ上で動作する環境測定ソフトウェアの非実行形式のファイルを記憶するメモリと,前記コンピュータから前記環境測定ソフトウェアの送信要求を受けると,相互認証に利用する相互認証鍵を動的に生成し,生成した相互認証鍵と前記非実行形式のファイルから前記環境測定ソフトウェアの実行ファイルを生成し,前記コンピュータに前記実行ファイルを送信する実行ファイル生成手段と,前記コンピュータ上で起動した前記環境測定ソフトウェアと前記相互認証鍵を利用した相互認証を実行する相互認証手段と,該環境測定ソフトウェアからの要求を受けて,前記完全性検証メッセージのデジタル署名を生成し,デジタル署名を前記コンピュータに送信するデジタル署名生成手段を備えていることを特徴とするセキュリティトークンである。
【0011】
更に,第3の発明は,リモートアクセスに利用されるコンピュータと、コンピュータに装着されるセキュリティトークンと、リモートアクセスする前記コンピュータを認証する認証サーバを利用したプラットフォーム完全性検証方法であって、前記コンピュータから前記セキュリティトークンに対し,前記コンピュータの環境を測定する環境測定ソフトウェアの送信を要求するステップ,前記セキュリティトークンが,相互認証に利用する相互認証鍵を動的に生成した後,前記環境測定ソフトウェアの非実行形式のファイルと該相互認証鍵から前記環境測定ソフトウェアの実行ファイルを生成し,前記コンピュータに前記実行ファイルを送信するステップ,前記実行ファイルが実行されることで,前記コンピュータ上で起動した前記環境測定ソフトウェアが,予め定められた前記コンピュータの環境を測定した後,測定結果を少なくとも含む完全性検証メッセージを生成し,前記セキュリティトークンと前記相互認証鍵を利用した相互認証を実行するステップ,前記環境測定ソフトウェアが該相互認証に成功すると,前記セキュリティトークンに前記完全性検証メッセージのデジタル署名の生成を要求し,該デジタル署名を付与した前記完全性検証メッセージを前記認証サーバに送信するステップ,前記認証サーバが,前記コンピュータから受信した前記完全性検証メッセージに付与されたデジタル署名を検証し,デジタル署名の検証に成功すると,該完全性検証メッセージに含まれる測定結果を検証するステップ,が実行されることを特徴とするプラットフォーム完全性検証方法である。
【発明の効果】
【0012】
このように,本発明によれば, このように,セキュリティトークンの内部で相互認証鍵を生成することで,相互認証に利用する相互認証鍵が毎回異なるため,リバースエンジニアリングによって相互認証鍵が解読されてしまうことはなくなるため,リバースエンジニアリングに対する耐タンパー性を高めることができ,よって,リモートアクセスするクライアントの環境を測定するコンピュータプログラムのリバースエンジニアリングに対する耐タンパー性を高めたプラットフォーム完全性検証システム及び方法,並びに,プラットフォーム完全性に利用されるセキュリティトークンを提供できる。
【図面の簡単な説明】
【0013】
【図1】リモートアクセスシステムを説明する図。
【図2】USBトークンのハードウェアブロック図。
【図3】USBトークンの機能ブロック図。
【図4】クライアントのブロック図。
【図5】認証サーバのブロック図。
【図6】環境測定ソフトウェアが起動する手順を示したフロー図。
【図7】プラットフォーム完全性を検証する手順を示したフロー図。
【発明を実施するための形態】
【0014】
ここから、本実施形態に係るプラットフォーム完全性検証システムおよび方法,並びに,プラットフォーム完全性検証システムで利用されるセキュリティトークンについて、図を参照しながら詳細に説明する。
【0015】
図1は、本発明に係わるプラットフォーム完全性検証システムが適用されたリモートアクセスシステム1を説明する図である。
【0016】
図1に図示したリモートアクセスシステム1は、テレワークなどを実現するために実施されるシステムで、本発明に係わるセキュリティトークンとして機能するUSBトークン10と、USBトークン10が装着されるクライアント20と、DMZ42(DMZ: DeMilitarized Zone)を形成するためのファイヤーオール機器51a,bと、DMZ61内に設置されるVPN機器52(VPN: Virtual Private Network)と、LAN41(LAN: Local Area Network)内に設置されるRADIUSサーバ53(Radius Server, Radius: Remote Authentication Dial In User Service)と、認証サーバ30(Authenticaion Server)と、ルータ54(Router)と、ルータ54に接続された社内のパーソナルコンピュータ55(PC: Personal Computer)及びアプリケーションサーバ56(Application Server)とから構成されている。
【0017】
本実施形態に係るリモートアクセスシステム1のクライアント20は、ユーザの自宅に設置されているPCや、持ち運び可能なノート型のPCや、或いは、インターネットカフェに設置されているPCなどの汎用的なPCなどを想定し、USBトークン10がクライアント20に装着されることで,USBトークン10に記憶された環境測定ソフトウェア121がクライアント20上で起動する。
【0018】
ユーザがクライアント20を利用してLAN41のリソースにリモートアクセスするためには、ユーザ認証(例えば,ユーザのパスワード認証)に加え、クライアント20のプラットフォーム完全性検証を必要とし、ユーザ認証とプラットフォーム完全性検証に成功すると,クライアント20とVPN機器52間に形成されたVPNを介して,クライアント20からLAN41内のリソースへのアクセスが許可される。
【0019】
なお,図1において,ユーザ認証を担うサーバはRADIUSサーバ53で,プラットフォーム完全性検証を担うサーバは認証サーバ30である。
【0020】
図1で図示した機器の中で、プラットフォームの完全性検証に利用される機器は、リモートアクセスに利用されるクライアント20と、セキュリティトークンであるUSBトークン10と、クライアント20とインターネット40を介して接続された認証サーバ30で,プラットフォーム完全性検証に利用されるコンピュータプログラムは,クライアント上で動作する環境測定ソフトウェア121で,プラットフォーム完全性検証として、クライアント20の環境が予め定められた環境に適合されていないことが検証される。
【0021】
詳しくは後述するが,LAN41内のリソースへリモートアクセスするクライアント20のプラットフォーム完全性を検証するとき、USBトークン10から送信された環境ソフトウェア60がクライアント20上で動作し,環境測定ソフトウェア121とUSBトークン10間で相互認証が行われる。
【0022】
特許文献1で開示されている発明のように,クライアント20とUSBトークン10間の相互認証に利用される相互認証鍵が,環境測定ソフトウェア121に予めコーディングされていると,リバースエンジニアリングによって相互認証鍵が解読されてしまう可能があるため,本実施形態では,USBトークン10内で動的に生成された相互認証鍵を用いて該相互認証が実行される。
【0023】
USBトークン10内で動的に相互認証鍵を生成するため,USBトークン10には,該相互認証鍵を利用する環境測定ソフトウェア121の実行形式のファイルではなく,環境測定ソフトウェア121の非実行形式のファイル(ここでは,オブジェクトコード121)を記憶し,USBトークン10内部で動的に生成された相互認証鍵と環境測定ソフトウェア121のオブジェクトコード121から環境測定ソフトウェア121の実行形式のファイルをUSBトークン10の内部が生成される。
【0024】
このように,USBトークン10の内部で相互認証鍵を生成することで,相互認証に利用する相互認証鍵が毎回異なるため,リバースエンジニアリングによって相互認証鍵が解読されてしまうことはなくなる。
【0025】
ここから,プラットフォーム完全性検証に利用されるUSBトークン10,クライアント20,環境測定ソフトウェア121及び認証サーバ30について,それぞれ詳細に説明する。
【0026】
図2は、セキュリティトークンであるUSBトークン10のハードウェアブロック図である。USBトークン10は、ALADDIN社製の「e−Token(登録商標)」のようなデバイスで,ハードウェアとして,クライアント10と接続するためのUSBコネクタ10,セキュアチップ11およびフラッシュメモリ12を備え,セキュアチップ11には,USBコネクタ10を利用してUSB通信するためのUSBドライバ回路11e,CPU11a,RAM11b,EEPROM11c(Electrically Erasable and Programmable Read Only Memory)及びRNG(RNG: Random Number Generator)11dが備えられている。
【0027】
本実施形態において、USBトークン10のフラッシュメモリ12には、環境測定ソフトウェア121のオブジェクトファイル120が記憶されている。
【0028】
USBトークン10のフラッシュメモリ12に記憶されるオブジェクトファイル120には、クライアント20上で起動した環境測定ソフトウェア121が利用する相互認証鍵が含まれず,セキュアチップ11に備えられた機能によって,環境測定ソフトウェア121がクライアント20に読み込まれるとき,セキュアチップ11内部で生成された相互認証鍵とオブジェクトファイル120がセキュアチップ11内部で連結されることで,環境測定ソフトウェア121の実行形式のファイルが生成される。
【0029】
図3は,セキュリティトークンであるUSBトークン10の機能ブロック図である。図3に図示したように,USBトークン10には,相互認証鍵を動的に生成し,フラッシュメモリ12に記憶されているオブジェクトファイル120から環境測定ソフトウェア121の実行形式のファイルを生成する実行形式のファイル生成手段100と,実行形式のファイル生成手段100が生成した相互認証鍵を用いて,クライアント20上で動作している環境測定ソフトウェア121と相互認証する相互認証手段101と,セキュアチップ11に記憶されたデジタル署名秘密鍵を用いて,クライアント20上で動作した環境測定ソフトウェア121から送信されたメッセージのデジタル署名を生成するデジタル署名生成手段102を備え,セキュアチップ11のEEPROM11cには,これらの手段としてセキュアチップ11のCPU11aを機能させるためのコンピュータプログラムが記憶されている。
【0030】
環境測定ソフトウェア121の実行形式のファイルを生成する実行形式のファイル生成手段100は,クライアント20から環境測定ソフトウェア121の送信要求を受けると,セキュアチップ11に備えられたRNG11dを利用して乱数を生成させ,該乱数を用いて動的に相互認証鍵を生成し,生成した相互認証鍵をRAM11bに格納した後,環境測定ソフトウェア121のオブジェクトファイル120と該相互認証鍵から環境測定ソフトウェア121の実行形式のファイルを生成する手段で,セキュアチップ11に備えられたハードウェア資源を利用したコンピュータプログラムで実現される。
【0031】
環境測定ソフトウェア121の実行形式のファイルを生成する具体的な手法は,USBトークン30に記憶される環境測定ソフトウェア121の形態に依存する。本実施形態では,環境測定ソフトウェア121のオブジェクトコード121がUSBトークン10に記憶されるため,実行形式のファイル生成手段100にリンカー(linker)の機能を備えさせ,RAM11bに記憶された相互認証鍵とオブジェクトファイル121とリンクさせることで,環境測定ソフトウェア121の実行形式のファイルが生成される。
【0032】
また,環境測定ソフトウェア121のソースコードがUSBトークン10に記憶されるときは,実行形式のファイル生成手段100にコンパイラ(compiler)の機能を備えさせればよい。
【0033】
USBトークン10に備えられた相互認証手段101は,定められたアルゴリズムに従い,クライアント20で動作している環境測定ソフトウェア121と相互認証を行う手段で,セキュアチップ11を機能させるコンピュータプログラムで実現される。なお,相互認証のアルゴリズムは任意でよく,例えば,IETF(IETF: The Internet Engineering Task Force)で策定されているEAP―GPSKを,相互認証のアルゴリズムとして利用できる。
【0034】
図4は、シンクライアントとして利用されるクライアント20のブロック図で、図4(a)は機能ブロック図、図4(b)はハードウェアブロック図である。
【0035】
図4(a)に図示しているように、プラットフォーム完全性検証をするために、クライアント20には,USBトークン10に対して環境測定ソフトウェア121の送信を要求し,USBトークン10から環境測定ソフトウェア121を実行するブート手段200が備えられている。
【0036】
また,図4(b)に図示したようにクライアント20は、ハードウェア資源として、中央演算装置(CPU: Central Processing Unit)21と、クライアント10クライアント20のメインメモリであるRAM22(RAM: Random Access Memory)と、BIOSが実装されるROM23(ROM: Read-Only Memory)と、USB機器と通信するためのUSBインターフェース24と、ネットワーク通信するためのネットワークインターフェース25と、補助記憶装置として大容量のデータ記憶装置26(例えば、ハードディスク)を備え、大容量のデータ記憶装置26には、クライアントOS26a、例えば、マイクロソフト社のWINDOWS(登録商標)が記憶されている。
【0037】
クライアント20のブート手段200は、クライアント20にUSBトークン10が装着されたことを検知すると、USBトークン10をマウントし、USBトークン10に環境測定ソフトウェア121の送信を要求し,環境測定ソフトウェア121を実行させる手段で、ブート手段200は、クライアント20に記憶されているクライアントOS26aの一つの機能(例えば,Windows(登録商標)の「AUTORUN」)を利用して実現される。
【0038】
環境測定ソフトウェア121はクライアントOS26a上で動作するコンピュータプログラムで、クライアント20で起動すると,環境測定ソフトウェア121のプログラムコードを実行し定められた測定項目の内容を測定する。
【0039】
例えば,環境を測定する測定項目としては,以下の測定項目が挙げられる。
(項目a)特定プロセスの検索
(項目b)特定ファイルの検索
(項目c)ウィルス対策プログラムのバージョン番号及びパターンファイル番号のチェック
【0040】
上述した測定項目に従えば、環境測定ソフトウェア121は、クライアント20のRAM22を参照し、クライアント20で起動しているプロセスに、上述した(項目a)の特定プロセスに該当するプロセス名が含まれていないか確認する。
【0041】
また、環境測定ソフトウェア121は、クライアント20のデータ記憶装置26を参照し、クライアント20に記憶されているCookieなどに、上述した(項目b)の特定ファイルに該当するファイル名が含まれていないか確認する。
【0042】
更に、環境測定ソフトウェア121は、クライアント20のデータ記憶装置26を参照し、上述した(項目c)のウィルス対策プログラムパスのバージョン番号及びパターンファイル番号を読み取り、予め指定された値と一致するか確認する。
【0043】
環境測定ソフトウェア121は、プラットフォーム完全性検証で定義された測定項目を測定すると,測定結果(例えば,確認結果)を少なくとも含む完全性検証メッセージをRAM22に生成した後,環境測定ソフトウェア121に含まれる相互認証鍵を利用してUSBトークン10と相互認証を行う。
【0044】
そして,環境測定ソフトウェア121は,クライアント20にマウントされているUSBトークン10と相互認証に成功すると,完全性検証メッセージのデジタル署名の生成をUSBトークン10に要求し,USBトークン10から受信したデジタル署名を付与した完全性検証メッセージを認証サーバ30に送信し,認証サーバ30が完全性検証メッセージの検証に成功すると,クライアント20からLAN41内へのアクセスが許可される。
【0045】
図5は、インターネット60を介してクライアント20と接続されている認証サーバ30のブロック図である。図5(a)は機能ブロック図、図5(b)はハードウェアブロック図である。
【0046】
図5(a)に図示しているように、プラットフォーム完全性検証をするために、認証サーバ30は、USBトークン10が生成したデジタル署名を検証するときに利用するデジタル署名公開鍵を利用し、完全性検証メッセージのデジタル署名を検証するデジタル署名検証手段300と、完全性検証メッセージの正当性を検証する完全性検証手段301とを備えている。
【0047】
図5(b)に図示しているように、認証サーバ30は、ハードウェア資源として、CPU31と、認証サーバ30のメインメモリであるRAM32と、BIOSが実装されるROM33と、ネットワーク通信するためのネットワークインターフェース34と、補助記憶装置として大容量のデータ記憶装置35(例えば、ハードディスク)を備え、大容量のデータ記憶装置35には、認証サーバ30上で動作するサーバOS35aが記憶され、デジタル署名検証手段300及び完全性検証手段301は,サーバOS35a上で動作し,各手段として機能するコンピュータプログラムで実現される。
【0048】
認証サーバ30のデジタル署名検証手段300は、クライアント20から、デジタル署名が付与された完全性検証メッセージを受信すると作動し、認証サーバ30のデータ記憶装置35に記憶されているデジタル署名公開鍵を用いて、定められたデジタル署名検証アルゴリズムに従い、完全性検証メッセージのデジタル署名を検証することで、デジタル署名を生成したUSBトークン10の正当性を検証する手段である。
【0049】
認証サーバ30の完全性検証手段301は、デジタル署名検証手段300が、完全性検証メッセージのデジタル署名の検証に成功すると作動し、完全性検証メッセージに含まれるハッシュ値を検証し、完全性検証メッセージに含まれる測定結果と期待値が一致することを確認することで、完全性検証メッセージの正当性を検証する手段である。
【0050】
ここから、プラットフォームの完全性を検証する手順について説明する。図6は、環境測定ソフトウェア121がクライアント20上で起動する手順を示したフロー図で、図7は、プラットフォームの完全性を検証する手順を示したフロー図である。
【0051】
まず、図6を参照しながら、環境測定ソフトウェア121がクライアント20上で起動する手順について説明する。USBトークン10がクライアント20に装着されると、クライアント20はUSBインターフェース24を利用して、USBトークン10とデータのやり取りすることで、クライアント20に装着されたUSBトークン10をマウントする(S1)。
【0052】
USBトークン10をマウントすると、クライアント20のブート手段200が作動し、ブート手段200は、環境測定ソフトウェア121の送信をUSBトークン10に要求する(S2)。
【0053】
USBトークン10が環境測定ソフトウェア121の送信要求を受けると,USBトークン10の実行形式のファイル生成手段100が作動し,既に述べた内容に従い相互認証鍵を生成し,生成した相互認証鍵をRAM11bに格納する(S3)。
【0054】
USBトークン10の内部で相互認証鍵を生成すると,USBトークン10の実行形式のファイル生成手段100は,RAM11bに格納した相互認証鍵を環境測定ソフトウェア121のオブジェクトコード121と連結し,環境測定ソフトウェア121の実行形式のファイルを生成する(S4)。
【0055】
環境測定ソフトウェア121の実行形式のファイルを生成すると,USBトークン10の実行形式のファイル生成手段100はクライアント20に対して環境測定ソフトウェア121の実行形式のファイルを送信し(S5),クライアント20のブート手段200は,クライアント20上で環境測定ソフトウェア121を起動させる(S6)。
【0056】
次に、図7を参照しながら、プラットフォーム完全性を検証する手順について説明する。図6で示した手順が実行されて、クライアント20上で環境測定ソフトウェア121が起動すると,環境測定ソフトウェア121は、環境測定ソフトウェア121に定義されている測定項目を測定し(S10)、測定結果を含む完全性検証メッセージを生成する(S11)。
【0057】
環境測定ソフトウェア121は完全性検証メッセージを生成すると、環境測定ソフトウェア121で保持している相互認証鍵を利用し,USBトークン10の相互認証手段101を作動させるコマンドメッセージをUSBトークン10に送信し,定められた手順に従い,USBトークン10と相互認証を実行する(S12)。
【0058】
クライアント20の環境測定ソフトウェア121は,USBトークン10との相互認証の成功/失敗に基づいて処理を分岐させ(S13),該相互認証に失敗したときはこの手順を終了し,USBトークン10との相互認証に成功すると,デジタル署名生成手段102を作動させるコマンドメッセージをUSBトークン10に送信することで、完全性検証メッセージのデジタル署名の生成をUSBトークン10に要求する(S14)。
【0059】
USBトークン10は、完全性検証メッセージを含み,デジタル署名生成手段102を作動させるコマンドメッセージを受信すると、USBトークン10のデジタル署名生成手段102を作動させ、デジタル署名生成手段102は、USBトークン10に記憶されているデジタル署名秘密鍵を用い、定められたデジタル署名生成アルゴリズム(例えば、PKCS#1など)に従い、完全性検証メッセージのデジタル署名を生成し、生成したデジタル署名をクライアント20に返信する(S15)。
【0060】
クライアント20で起動している環境測定ソフトウェア121は、USBトークン10から、完全性検証メッセージのデジタル署名を受信すると、インターネット40を介して、該デジタル署名を付与した完全性検証メッセージを認証サーバ30に送信する(S16)。
【0061】
該デジタル署名が付与された完全性検証メッセージを認証サーバ30が受信すると、認証サーバ30のデジタル署名検証手段300が作動し、デジタル署名検証手段300は、認証サーバ30が記憶しているデジタル署名公開鍵を用いて、定められたアルゴリズムに従い、完全性検証メッセージに付与されたデジタル署名を検証することで、デジタル署名を生成したUSBトークン10の正当性を検証する(S17)。
【0062】
認証サーバ30は、完全性検証メッセージに付与されたデジタル署名の検証の成功/失敗によって処理を分岐させ(S18)、デジタル署名の検証に失敗するとこの手順を終了し,デジタル署名の検証に成功すると,認証サーバ30の完全性検証手段301を作動させ、完全性検証手段301は、完全性検証メッセージに含まれる測定結果と期待値が一致するか確認することで、完全性検証メッセージの正当性を検証する(S19)。
【0063】
そして、認証サーバ30は、完全性検証メッセージに含まれる測定結果の検証の成功/失敗によって処理を分岐させ(S20)、認証サーバ30の完全性検証手段301は、完全性検証メッセージの測定結果の検証に成功したときは、認証サーバ30は、クライアント20のLAN41へのアクセスを許可するメッセージをVPN機器52に送信し、クライアント20からLAN41へのアクセスを許可し(S21)、この手順を終了し、完全性検証メッセージの測定結果の検証に失敗したときは、クライアント20からLAN41へのアクセスを許可することなく、この手順を終了する。
【0064】
なお、本発明は、これまで説明した実施の形態に限定されることなく、種々の変形や変更が可能である。
【0065】
上述した実施形態では,本発明に係わるセキュリティトークンをUSBトークンで実現していたが,本発明に係わるセキュリティトークンはUSBトークン以外でも実現できる。
【0066】
例えば,USBトークン10の機能を備えたSIM(Subscriber Identity)と,特許文献2、3等で開示されているような、USBコネクタを備えたSIMリーダを組み合わせることで,本発明に係わるセキュリティトークンを実現することもできる。
【0067】
【特許文献2】特開2004−118771号公報
【特許文献3】特開2004−133843号公報
【符号の説明】
【0068】
1 リモートアクセスシステム
10 USBトークン
100 実行形式のファイル生成手段
101 相互認証手段
102 デジタル署名生成手段
12 フラッシュメモリ
120 環境測定ソフトウェアのオブジェクトファイル
121 環境測定ソフトウェア
20 クライアント
200 ブート手段
30 認証サーバ
300 デジタル署名検証手段
301 完全性検証手段


【特許請求の範囲】
【請求項1】
リモートアクセスに利用されるコンピュータと、コンピュータに装着されるセキュリティトークンと、リモートアクセスする前記コンピュータを認証する認証サーバとから、少なくとも構成されたプラットフォーム完全性検証システムであって、
前記セキュリティトークンは,前記コンピュータと通信するコネクタと,前記コンピュータ上で動作する環境測定ソフトウェアの非実行形式のファイルを記憶するメモリと,前記コンピュータから前記環境測定ソフトウェアの送信要求を受けると,相互認証に利用する相互認証鍵を動的に生成し,生成した相互認証鍵と前記非実行形式のファイルから前記環境測定ソフトウェアの実行ファイルを生成し,前記コンピュータに前記実行ファイルを送信する実行ファイル生成手段と,前記コンピュータ上で起動した前記環境測定ソフトウェアと前記相互認証鍵を利用した相互認証を実行する相互認証手段と,該環境測定ソフトウェアからの要求を受けて,前記完全性検証メッセージのデジタル署名を生成し,デジタル署名を前記コンピュータに送信するデジタル署名生成手段を備え,
前記環境測定ソフトウェアは,前記コンピュータ上で起動すると,予め定められた前記コンピュータの環境を測定する動作と,測定結果を少なくとも含む完全性検証メッセージを生成する動作と,前記セキュリティトークンと前記相互認証鍵を利用した相互認証を実行し,該相互認証に成功すると,前記セキュリティトークンに前記完全性検証メッセージのデジタル署名の生成を要求し,該デジタル署名を付与した前記完全性検証メッセージを前記認証サーバに送信する動作を行い,
前記認証サーバは,前記コンピュータから受信した前記完全性検証メッセージに付与された該デジタル署名を検証するデジタル署名検証手段と,該完全性検証メッセージに含まれる測定結果を検証する完全性検証手段を備え,
ていることを特徴とするプラットフォーム完全性検証システム。
【請求項2】
プラットフォーム完全性検証に利用されるセキュリティトークンであって,
前記コンピュータと通信するコネクタと,
前記コンピュータ上で動作する環境測定ソフトウェアの非実行形式のファイルを記憶するメモリと,前記コンピュータから前記環境測定ソフトウェアの送信要求を受けると,相互認証に利用する相互認証鍵を動的に生成し,生成した相互認証鍵と前記非実行形式のファイルから前記環境測定ソフトウェアの実行ファイルを生成し,前記コンピュータに前記実行ファイルを送信する実行ファイル生成手段と,前記コンピュータ上で起動した前記環境測定ソフトウェアと前記相互認証鍵を利用した相互認証を実行する相互認証手段と,該環境測定ソフトウェアからの要求を受けて,前記完全性検証メッセージのデジタル署名を生成し,デジタル署名を前記コンピュータに送信するデジタル署名生成手段を備え,
ていることを特徴とするセキュリティトークン。
【請求項3】
リモートアクセスに利用されるコンピュータと、コンピュータに装着されるセキュリティトークンと、リモートアクセスする前記コンピュータを認証する認証サーバを利用したプラットフォーム完全性検証方法であって、
前記コンピュータから前記セキュリティトークンに対し,前記コンピュータの環境を測定する環境測定ソフトウェアの送信を要求するステップ,
前記セキュリティトークンが,相互認証に利用する相互認証鍵を動的に生成した後,前記環境測定ソフトウェアの非実行形式のファイルと該相互認証鍵から前記環境測定ソフトウェアの実行ファイルを生成し,前記コンピュータに前記実行ファイルを送信するステップ,
前記実行ファイルが実行されることで,前記コンピュータ上で起動した前記環境測定ソフトウェアが,予め定められた前記コンピュータの環境を測定した後,測定結果を少なくとも含む完全性検証メッセージを生成し,前記セキュリティトークンと前記相互認証鍵を利用した相互認証を実行するステップ,
前記環境測定ソフトウェアが該相互認証に成功すると,前記セキュリティトークンに前記完全性検証メッセージのデジタル署名の生成を要求し,該デジタル署名を付与した前記完全性検証メッセージを前記認証サーバに送信するステップ,
前記認証サーバが,前記コンピュータから受信した前記完全性検証メッセージに付与されたデジタル署名を検証し,デジタル署名の検証に成功すると,該完全性検証メッセージに含まれる測定結果を検証するステップ,
が実行されることを特徴とするプラットフォーム完全性検証方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−198139(P2010−198139A)
【公開日】平成22年9月9日(2010.9.9)
【国際特許分類】
【出願番号】特願2009−39986(P2009−39986)
【出願日】平成21年2月23日(2009.2.23)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】