JP4993122B2 - プラットフォーム完全性検証システムおよび方法 - Google Patents

プラットフォーム完全性検証システムおよび方法 Download PDF

Info

Publication number
JP4993122B2
JP4993122B2 JP2008012402A JP2008012402A JP4993122B2 JP 4993122 B2 JP4993122 B2 JP 4993122B2 JP 2008012402 A JP2008012402 A JP 2008012402A JP 2008012402 A JP2008012402 A JP 2008012402A JP 4993122 B2 JP4993122 B2 JP 4993122B2
Authority
JP
Japan
Prior art keywords
client
message
random number
digital signature
configuration
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.)
Active
Application number
JP2008012402A
Other languages
English (en)
Other versions
JP2009175923A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2008012402A priority Critical patent/JP4993122B2/ja
Publication of JP2009175923A publication Critical patent/JP2009175923A/ja
Application granted granted Critical
Publication of JP4993122B2 publication Critical patent/JP4993122B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、シンクライアントとして利用されるクライアントのプラットフォームの完全性を検証するシステムおよび方法に関する。
近年、企業などにおいて、クライアントに必要最小限の機能のみを持たせ、機密情報などの情報資源の管理や、アプリケーションの処理などの機能をサーバに集約させたシンクライアントシステム(Thin Client System)の導入が増えてきている。
シンクライアントシステムの導入の背景には、(1)日本版SOX法に対応すべく内部統制の強化、(2)クライアントからの個人情報流出防止などを目的としたセキュリティの強化、(3)クライアントの運用管理コスト(パッチ情報、ライセンス管理など)の削減、(4)テレワーク(Telework)の実現等などがある。
とりわけ、在宅勤務が可能となるテレワークは、地域活性化や少子高齢化問題などの解決手段として期待されており、テレワークを実現するためには、企業内と同じセキュアな環境で、社内に設置されたコンピュータやサーバにリモートアクセスを行えることが必要となる。
シンクライアントシステムを実現するために、シンクライアントシステム専用のコンピュータを導入してもよいが、シンクライアントシステム専用のコンピュータの導入は、コスト・利便性両方の面から望ましとは言えない。
そこで、特許文献1にも記述されているように、USBメモリ、CD−ROMなどの携帯可能なデバイスや、ネットワークストレージにシンクライアントシステム専用のOSオペレーティングシステム(OS: Operating System)を記憶させて、汎用のコンピュータをシンクライアントシステムのクライアントとして利用するときに、シンクライアントシステム専用のOSを汎用のコンピュータ上でブートさせる手法が用いられる。
しかし、故意的或いは偶発的にしても、USBメモリなどに記憶されたシンクライアントシステム専用のOSが改竄されてしまうと、個人データなどの機密データが漏洩する可能性があるため、クライアントのメモリに展開されるシンクライアントシステム専用のOSの改竄を発見するプラットフォーム完全性検証が必要とされる。
特開2007−299136号公報
シンクライアントシステム専用のOSに係らず、一般的なソフトウェアの改竄の脅威に対して、コンピュータ業界団体の一つであるTCG(TCG: Trusted Computing Group)では、TPM(TPM: TrustedPlatform Module)と呼ばれるセキュリティチップをコンピュータのコンピュータ基板上に設け、ソフトウェアの信頼性を高める業界標準仕様の策定を進めている。
しかし、現状では、この提案に沿ってTPMを実装したコンピュータは少なく、現状では、TCGが提案しているプラットフォーム完全性検証を行うのは難しい。
そこで、上述した問題を鑑みて、本発明は、TCGが策定しているTPMのような特定なセキュリティチップをコンピュータ基板上に設けることなくても、シンクライアントシステムで利用されるクライアントのプラットフォーム完全性を検証できるシステムおよび方法を提供することを目的とする。
上述した課題を解決する第1の発明は、シンクライアントに利用されるクライアントと、クライアントに装着される携帯型記憶デバイスと、物理的なデバイスであるセキュリティトークンと、インターネットワークを介して前記クライアントと接続された認証サーバとから、少なくとも構成されたプラットフォーム完全性検証システムであって、前記携帯型記憶デバイスは、前記クライアントをシンクライアントとして動作させるためのオペレーティングシステム(OS: Operating System)のイメージを記憶し、前記クライアントは、マウントした前記携帯型記憶デバイスに記憶された前記OSのイメージを読取り、前記OSを前記クライアント上で起動させるブート手段と、前記クライアントのメモリに展開された前記OSのイメージから演算したハッシュ値を含む構成証明メッセージを生成し、前記構成証明メッセージから演算した認証コードと共に前記構成証明メッセージを前記セキュリティトークンに送信することで、前記構成証明メッセージのデジタル署名の生成を前記セキュリティトークンに要求し、前記セキュリティトークンから前記構成証明メッセージのデジタル署名を受信すると、前記構成証明メッセージのデジタル署名と前記構成証明メッセージを前記認証サーバに送信する計測手段を備え、前記セキュリティトークンは、前記構成証明メッセージのデジタル署名の生成に利用する第1のデジタル署名鍵を記憶する手段と、前記計測ソフトウェアから送信された前記構成証明メッセージを参照することで前記認証コードを検証し、前記認証コードの検証に成功すると、前記構成証明メッセージのデジタル署名を生成し、生成した前記構成証明メッセージのデジタル署名を返信する手段とを備え、前記認証サーバは、前記構成証明メッセージのデジタル署名の検証に利用する第2のデジタル署名鍵と前記OSのハッシュ値の期待値を記憶する手段と、前記第2のデジタル署名鍵を利用して、前記計測手段から送信された前記構成証明メッセージのデジタル署名を検証するデジタル署名検証手段と、前記構成証明メッセージのデジタル署名の検証に成功したときに、前記OSのハッシュ値の期待値と受信した前記構成証明メッセージに含まれる前記ハッシュ値が一致しているか確認することで、前記構成証明メッセージを検証するメッセージ検証手段を備え、前記携帯型記憶デバイスに記憶された前記OSには、前記OS上で動作し、前記計測手段として前記クライアントを機能させるためのコンピュータプログラムである計測ソフトウェアが含まれることを特徴とするプラットフォーム完全性検証システムである。
上述した第1の発明によれば、前記第1のデジタル署名鍵を記憶した前記セキュリティトークンがプラットフォーム完全性検証に利用されるため、前記クライアントのコンピュータ基板上にTPMなどの特別なセキュリティチップを設ける必要はなくなる。
なお、本発明において、前記セキュリティトークンとは、社員証などで普及しているICカード、SIM(Subscriber Identity Module)、UIM(Universal Subscriber Identity Module)などの、データを秘匿に記憶でき、更に、演算機能を備えた携帯可能なデバイスを意味し、前記携帯型記憶デバイスは、CD−ROM、DVDまたはUSBメモリなどを意味している。
前記認証サーバに備えられた前記メッセージ検証手段が、前記構成証明メッセージのデジタル署名を検証するのは、信頼性のあるユーザが操作している前記クライアントであるか検証するためである。予め信頼性のあるユーザに対してのみ前記セキュリティトークンを配布しておけば、前記構成証明メッセージのデジタル署名を検証することによって、前記クライアントを操作しているユーザをも検証できることになる。
なお、前記OSのハッシュ値を演算するために、前記クライアント上で起動する前記計測ソフトウェアの信頼性を、前記セキュリティモジュールは、前記計測ソフトウェアが演算する前記認証コードを用いて検証する。
更に、第2の発明は、第1の発明に記載のプラットフォーム完全性検証システムにおいて、前記クライアントに備えられた計測手段は、前記OSのハッシュ値を演算する前に、前記認証サーバに対して第1の乱数の生成を要求し、前記認証サーバから受信した前記第1の乱数と前記OSのハッシュ値を前記構成証明メッセージに含ませ、前記認証サーバは、前記クライアントから前記第1の乱数の生成要求を受けると、前記第1の乱数を生成すると共に、前記第1の乱数を保持し、前記メッセージ検証手段は、前記構成証明メッセージを検証するときに、前記OSのハッシュ値に加え、前記構成証明メッセージに含まれる前記第1の乱数の一致を確認することを特徴とする。
上述した第2の発明によれば、前記認証サーバが生成した前記第1の乱数を前記構成証明メッセージに含ませることで、前記構成証明メッセージの内容は、プラットフォーム完全性検証を行うごとに変わるため、前記構成証明メッセージが再利用されることを防止できる。
更に、第3の発明は、第2の発明に記載のプラットフォーム完全性検証システムにおいて、前記クライアントに備えられた計測手段は、前記認証サーバに対して第1の乱数の生成を要求するときに、第2の乱数を生成し、生成した前記第2の乱数を前記認証サーバに送信し、前記第1の乱数および前記第2の乱数を前記構成証明メッセージに含ませ、前記認証サーバは、前記クライアントから前記第1の乱数の生成要求を受けたときに受信した前記第2の乱数を保持し、前記メッセージ検証手段は、前記構成証明メッセージを検証するときに、前記OSのハッシュ値および前記第1の乱数に加え、前記第2の乱数の一致を確認することを特徴とする。
上述した第3の発明によれば、前記クライアントに備えられた前記計測手段が生成した前記第2の乱数を前記構成証明メッセージに含ませることで、前記クライアントの成りすます行為を防止することができる。
更に、第4の発明は、シンクライアントに利用されるクライアントと、前記クライアントに装着される携帯型記憶デバイスと、物理的なデバイスであるセキュリティトークンと、インターネットワークを介して前記クライアントと接続された認証サーバとを、少なくとも利用したプラットフォーム完全性検証方法であって、前記クライアントに前記携帯型記憶デバイスがマウントされたときに、前記クライアントをシンクライアントとして動作させるためのオペレーティングシステム(OS: Operating System)のイメージを前記携帯型記憶デバイスから読み込み、前記OSを前記クライアント上で起動させるステップa、前記クライアントが、前記OSのイメージから演算したハッシュ値を含む構成証明メッセージを生成し、構成証明メッセージから演算した認証コードと共に前記構成証明メッセージを前記セキュリティトークンに送信することで、前記構成証明メッセージのデジタル署名の生成を前記セキュリティトークンに要求するステップb、前記セキュリティトークンが、前記計測ソフトウェアから送信された前記構成証明メッセージの認証コードを検証し、認証コードの検証に成功すると、前記構成証明メッセージのデジタル署名の生成に利用する第1のデジタル署名鍵を利用して、前記構成証明メッセージのデジタル署名を生成し、生成した前記構成証明メッセージのデジタル署名を前記クライアントに返信するステップc、前記クライアントが、前記セキュリティトークンから前記構成証明メッセージのデジタル署名を受信すると、前記セキュリティトークンが生成したデジタル署名と前記構成証明メッセージを前記認証サーバに送信するステップd、
前記認証サーバが、前記構成証明メッセージのデジタル署名の検証に利用する第2のデジタル署名鍵を利用して、前記計測手段から送信された前記構成証明メッセージのデジタル署名を検証し、前記構成証明メッセージのデジタル署名の検証に成功したときに、前記OSのハッシュ値の期待値と受信した前記構成証明メッセージに含まれる前記ハッシュ値が一致しているか確認することで、前記構成証明メッセージを検証するステップe、を含み、前記ステップaで起動する前記OSには、前記OS上で動作し、前記ステップbおよび前記ステップdを前記クライアントに機能させるためのコンピュータプログラムである計測ソフトウェアが含まれ、前記ステップaにおいて、前記クライアントは、前記OSを起動させた後に、前記計測ソフトウェアを起動させるステップであることを特徴とするプラットフォーム完全性検証方法である。
更に、第5の発明は、第4の発明に記載のプラットフォーム完全性検証方法において、前記ステップbの前に、前記クライアントが、前記ハッシュ値を演算する前に、前記認証サーバに対して第1の乱数の生成を要求し、前記認証サーバが前記第1の乱数を前記クライアントに送信するステップa1が実行され、前記ステップbは、前記クライアントが、前記認証サーバから受信した前記第1の乱数と前記OSのハッシュ値を前記構成証明メッセージに含ませるステップで、前記ステップeは、前記認証サーバが、前記構成証明メッセージを検証するときに、前記OSのハッシュ値に加え、前記第1の乱数の一致を確認するステップであることを特徴とする。
更に、第6の発明は、第5の発明に記載のプラットフォーム完全性検証システムにおいて、前記ステップa1は、前記認証サーバに対して第1の乱数の生成を要求するときに、前記クライアントが、第2の乱数を生成し、生成した前記第2の乱数を前記認証サーバに送信するステップで、前記ステップbは、前記クライアントが、前記第1の乱数、前記第2の乱数および前記OSのハッシュ値を前記構成証明メッセージに含ませるステップで、前記ステップeは、前記認証サーバが、前記構成証明メッセージを検証するときに、前記OSのハッシュ値および前記第1の乱数に加え、前記第2の乱数の一致を確認するステップであることを特徴とする。
上述した第4の発明から第6の発明によれば、第1の発明から第3の発明と同様の効果が得られる。
このように、本発明によれば、TCGが策定しているTPMのような特定なセキュリティチップをコンピュータ基板上に設けることなくても、シンクライアントシステムで利用されるクライアントのプラットフォーム完全性を検証できるシステムおよび方法を提供できる。
ここから、本実施形態に係るプラットフォーム完全性検証システムおよび方法について、図を参照しながら詳細に説明する。図1は、プラットフォーム完全性検証システムが適用されたシンクライアントシステム1を説明する図である。
図1に図示したシンクライアントシステム1は、セキュリティトークンであるSIM20と、SIM20が装着されるSIMリーダ50と、携帯型記憶デバイスであるUSBメモリ30と、SIMリーダ50およびUSBメモリ30が装着されるクライアント10と、DMZ(DMZ: DeMilitarized Zone)を形成するためのファイヤーオール機器51と、DMZ61に設置されるVPN機器52(VPN: Virtual Private Network)と、LAN62(LAN: Local Area Network)内に設置されるRADIUSサーバ53(Radius Server, Radius: Remote Authentication Dial In User Service)と、認証サーバ40(Authenticaion Server)と、ルータ54(Router)と、ルータ54に接続された社内のパーソナルコンピュータ55(PC: Personal Computer)とから構成されている。
本実施形態に係るシンクライアントシステム1は、テレワークを実現するために実施されるシステムで、LAN62にアクセスするときにユーザが利用するクライアント10は、自宅に設置されているPCや、持ち運び可能なノート型のPCや、或いは、インターネットカフェに設置されているPCなどの汎用的なPCなどを想定し、シンクライアントオペレーティングシステム(OS: Operating System)が汎用的なPC上で動作することで、シンクライアントシステム1のクライアント10として汎用的なPCは機能する。
ユーザがクライアント10を利用してLAN62にアクセスするとき、クライアント10を利用するユーザの認証に加え、クライアント10のプラットフォーム完全性検証を必要とし、本実施形態において、クライアント10のプラットフォーム完全性検証として、シンクライアントOS310が改竄されていないことが検証される。
LAN62内に設置されたRADIUSサーバ53は、クライアント10を利用するユーザを認証する機能を担い、RADIUSサーバ53は、VPN機器52を介して、LAN62にアクセスするクライアント10から送信されるユーザ名と認証データ(例えば、ユーザパスワード)を用いて、クライアント10を利用するユーザを認証し、ユーザの認証に成功すると、ユーザの認証に成功したことを示すメッセージをVPN機器52に送信し、VPN52機器は、クライアント10とVPN機器52間をVPNで接続する。
ファイヤーウォール機器51で形成されるDMZ61に設置されるVPN機器52は、Ipsec(Ipsec: Security Architecture for Internet Protocol)を利用して、インターネット60を介してLAN62にアクセスするクライアント10と送受信するデータを暗号化することで、VPNを構築するために設置される機器である。
図1で図示した機器の中で、プラットフォーム完全性検証システムとして機能するために必要な機器は、シンクライアントとして動作するクライアント10と、携帯型記憶デバイスであるUSBメモリ30と、セキュアトークンであるSIM20と、クライアント10とインターネットを介して接続された認証サーバ40とであって、SIM20は、特許文献2、3等で開示されているような、USBコネクタを備えたSIMリーダ50に装着され利用される。
特開2004−118771号公報 特開2004−133843号公報
図2は、携帯型記憶デバイスであるUSBメモリ30のブロック図である。USBメモリ30としては、ブートアップ機能が備えられた市販されているUSBメモリ30を用いることができ、USBメモリ30は、USBドライバや、フラッシュメモリを外部記憶装置としてコンピュータに認識させる機能を備えたドライバチップと、データを記憶するためのフラッシュメモリを備えている。
本実施形態において、USBメモリ30のフラッシュメモリ301には、クライアント10上で動作するシンクライアントOS310のイメージ(バイトコード)が記憶されている。シンクライアントOS310には、シンクライアントOS310のイメージのハッシュ値を演算する機能を備えたコンピュータプログラムである計測ソフトウェア311が含まれ、更に、計測ソフトウェア311が利用する暗号鍵としてMAC鍵312がハードコードされている。
図3は、シンクライアントとして利用されるクライアント10のブロック図で、図3(a)は機能ブロック図、図3(b)はハードウェアブロック図である。
図3(a)に図示しているように、プラットフォーム完全性検証をするために、クライアント10には、ブート手段110と計測手段111が備えられている。
図3(b)に図示したようにクライアント10は、ハードウェア資源として、中央演算装置(CPU: Central Processing Unit)100と、クライアント10のメインメモリであるRAM101(RAM: Random Access Memory)と、BIOSが実装されるROM102(ROM: Read-Only Memory)と、USB機器と通信するためのUSBインターフェース103と、ネットワーク通信するためのネットワークインターフェース104と、補助記憶装置として大容量のデータ記憶装置105(例えば、ハードディスク)を備え、大容量のデータ記憶装置105には、シンクライアントシステム1のクライアント10として利用されないときにブートされるクライアントOS106、例えば、マイクロソフト社のWINDOWS(登録商標)が記憶されている。
クライアント10のブート手段110は、クライアント10にUSBメモリ30が装着されたことを検知すると、USBメモリ30をマウントし、USBメモリ30に記憶されたシンクライアントOS310のイメージをRAM101に展開し、シンクライアントOS310を起動させる手段で、ブート手段110は、クライアント10に記憶されているクライアントOS106の一つの機能や、RAM102に実装されるBIOSの機能などで実現される。
クライアント10のブート手段110によって、シンクライアントOS310がクライアント10上で起動すると、シンクライアントOS310に含まれる計測ソフトウェア311が自動的に起動する。計測ソフトウェア311とは、クライアント10を本発明の計測手段111として機能させるためのコンピュータプログラムで、この計測ソフトウェア311が起動することで、クライアント10に計測手段111が具備されることになる。
クライアント10の計測手段111は起動すると、シンクライアントOS310のイメージのハッシュ値を演算した後、ハッシュ値を含む構成証明メッセージを生成する。そして、計測手段111は、シンクライアントOS310にハードコートされたMAC鍵312を用いて、構成証明メッセージの認証コードとしてMAC(MAC: Message Authentication Code)を演算し、構成証明メッセージと認証コードをSIM20に送信することで、構成証明メッセージのデジタル署名の生成をSIM20に要求し、構成証明メッセージのデジタル署名がSIM20から送信されると、構成証明メッセージとデジタル署名を認証サーバ40に送信する。
なお、計測手段111が構成証明メッセージを生成する前に、認証サーバ40が生成した乱数Rsを構成証明メッセージに含ませておくと、構成証明メッセージが毎回変わることになるため、同じ構成証明メッセージを不正に再利用することを防止できる。また、計測手段111が構成メッセージを生成する前に乱数Rcを生成し、生成した乱数Rcを認証サーバ40に送信し、構成証明メッセージに乱数Rcを含ませることで、認証サーバ40は、構成証明メッセージをクライアント10から受信したときに、間違いなく、プラットホーム完全性を検証するクライアント10から送信された構成証明メッセージであることが判断できるようになる。
図4は、セキュリティデバイスであるSIM20のブロック図である。図4に図示したように、SIM20は、ハードウェア資源として、CPU200と、RAM201と、CPUを動作させるコンピュータプログラムが実装されるROM202(ROM: Read-Only Memory)と、ISO/7816規格のUART203(UART: Universal Asynchronous Receiver Transmitter)と、データが記憶される電気的に書換え可能なメモリとしてEEPROM204(EEPROM: Electronically Erasable and Programmable Read Only Memory)を備え、SIM20が装着されるSIMリーダ50とは、ISO/7816規格に準じデータをやりとりする。
SIM20のEEPROM204には、クライアント10のプラットフォーム完全性検証で利用される暗号鍵として、MAC鍵212とデジタル署名秘密鍵211が記憶されている。また、SIM20のROM202には、MAC鍵212を用いて、クライアント10の計測手段111が生成する構成証明メッセージのMACを検証し、構成証明メッセージの検証に成功すると、デジタル署名秘密鍵211を用いて、構成証明メッセージのデジタル署名を生成する手段となるデジタル署名コマンド210が実装されている。
なお、本実施形態では、デジタル署名コマンド210をROM202に実装しているが、JAVA(登録商標)などのマルチアプリケーションOSをROM202実装し、デジタル署名コマンド210をEEPROM204に実装させてもよい。
図5は、インターネット60を介してクライアント10と接続されている認証サーバ40のブロック図である。図5(a)は機能ブロック図、図5(b)はハードウェアブロック図である。
図5(a)に図示しているように、プラットフォーム完全性検証をするために、認証サーバ40は、SIM20が生成したデジタル署名を検証するときに利用するデジタル署名公開鍵412を記憶し、構成証明メッセージのデジタル署名を検証するデジタル署名検証手段410と、構成証明メッセージの正当性を検証するメッセージ検証手段411とを備え、それぞれの手段は、認証サーバ40を各手段として機能させるためのコンピュータプログラムで実現される。
図5(b)に図示しているように、認証サーバ40は、ハードウェア資源として、CPU400と、認証サーバ40のメインメモリであるRAM401と、BIOSが実装されるROM402と、ネットワーク通信するためのネットワークインターフェース403と、補助記憶装置として大容量のデータ記憶装置404(例えば、ハードディスク)を備え、大容量のデータ記憶装置404には、認証サーバ40上で動作するサーバOS405が記憶され、サーバOS405には、デジタル署名検証手段410およびメッセージ検証手段411として認証サーバ40を機能させるためのコンピュータプログラムと、SIM20に記憶されているデジタル署名秘密鍵211と対になるデジタル署名公開鍵412と、シンクライアントOS310のハッシュ値の期待値413が含まれる。
認証サーバ40のデジタル署名検証手段410は、クライアント10から、構成証明メッセージとデジタル署名を受信すると作動し、認証サーバ40のデジタル署名検証手段410は、認証サーバ40のデータ記憶装置404に記憶されているデジタル署名公開鍵412を用いて、定められたデジタル署名検証アルゴリズムに従い、構成証明メッセージのデジタル署名を検証することで、デジタル署名を生成したSIM20の正当性を検証する。
認証サーバ40のメッセージ検証手段411は、デジタル署名検証手段410が、構成証明メッセージのデジタル署名の検証に成功すると作動し、メッセージ検証手段411は、シンクライアントOS310のハッシュ値の期待値413を参照し、構成証明メッセージに含まれるハッシュ値が正しい内容であるか確認することで、構成証明メッセージの正当性を検証する。
なお、構成証明メッセージが乱数Rcおよび乱数Rsを含んでいるとき、メッセージ検証手段411は、シンクライアントOS310のハッシュ値の期待値413に加え、RAM401に記憶している乱数Rcおよび乱数Rsを参照して、構成証明メッセージの正当性を検証する。
ここから、プラットフォームの完全性を検証する手順について説明する。図6は、シンクライアントOS310がクライアント10上で起動する手順を示したフロー図で、図7は、プラットフォームの完全性を検証する手順を示したフロー図である。
まず、図6を参照しながら、シンクライアントOS310がクライアント10上で起動する手順について説明する。USBメモリ30がクライアント10に装着されると、クライアント10はUSBインターフェース103を利用して、USBメモリ30とデータのやり取りすることで、クライアント10に装着されたUSBメモリ30をマウントする(S1)。
USBメモリ30をマウントすると、クライアント10のブート手段110が作動し、ブート手段110は、シンクライアントOS310のイメージの読出しをUSBメモリ30に要求し(S2)、USBメモリ30は、フラッシュメモリ301に記憶されたシンクライアントOS310のイメージを、クライアント10に送信する(S3)。
USBメモリ30からシンクライアントOS310のイメージが送信されると、クライアント10のブート手段110は、USBメモリ30から受信したシンクライアントOS310のイメージをRAM101に展開し、クライアント10上でシンクライアントOS310を起動させる(S4)。
シンクライアントOS310がクライアント10上で起動すると、クライアント10を計測手段111として機能させるための計測ソフトウェア311が自動的に起動し、クライアント10に計測手段111が具備され、クライアント10の計測手段111が作動する(S5)。
次に、図7を参照しながら、プラットフォーム完全性を検証する手順について説明する。図6で示した手順が実行されて、クライアント10の計測手段111が作動すると、計測手段111は、プラットフォーム完全性検証に利用する乱数Rcを生成し、インターネット60を介して、乱数Rcを含む乱数生成要求メッセージを認証サーバ40に送信する(S10)。なお、クライアント10の計測手段111は、プラットフォーム完全性検証が終了するまで生成した乱数Rcをクライアント10のRAM101に保持しておく。
認証サーバ40は、クライアント10から乱数Rcを受信すると、プラットフォーム完全性検証で利用する乱数Rsを生成し、乱数Rsをクライアント10に送信すると共に(S11)、プラットフォーム完全性検証が終了するまで乱数Rcおよび乱数Rsを認証サーバ40のRAM401に保持する。
クライアント10の計測手段111は、認証サーバ40から乱数Rsを受信すると、認証サーバ40から送信された乱数Rsをクライアント10のRAM101に保持した後、クライアント10のRAM101に展開されたシンクライアントOS310のイメージすべてから、定めらたアルゴリズム(例えば、SHA1)に従いハッシュ値を演算し(S12)、ハッシュ値、乱数Rcおよび乱数Rsが結合された構成証明メッセージを生成する(S13)。
クライアント10の計測手段111は構成証明メッセージを生成すると、シンクライアントOS310にハードコードされているMAC鍵312を用い、定められた手順(例えば、ISO/IEC 9797-1に準じた手順)に従い、構成証明メッセージのMACを演算する。
クライアント10の計測手段111は構成証明メッセージのMACを演算すると、構成証明メッセージおよびMACをコマンドメッセージのデータに含ませ、SIMリーダ50を介して、デジタル署名コマンドのコマンドメッセージをSIM20に送信することで、構成証明メッセージのデジタル署名の生成をSIM20に要求する(S14)。
SIM20は、構成証明メッセージおよびMACを含んだデジタル署名コマンド210のコマンドメッセージを受信すると、SIM20のデジタル署名コマンド210を作動させ、デジタル署名コマンド210は、SIM20に記憶されているMAC鍵212を用い、クライアント10の計測手段111と同じアルゴリズムで構成証明メッセージからMACを演算し、クライアント10から送信されたMACと自身が演算したMACとが同一であるか検証することで、クライアント10で起動している計測ソフトウェア311を検証する(S15)。
SIM20のデジタル署名コマンド210は、構成証明メッセージのMACの検証に成功/失敗で処理を分岐させ(S16)、構成証明メッセージのMACの検証に成功したときは、構成証明メッセージのデジタル署名を生成する処理を実行し、構成証明メッセージのMACの検証に失敗したときは、MACの検証に失敗したことを示すエラーメッセージをクライアント10に返信して、この手順を終了する。
SIM20のデジタル署名コマンド210は、構成証明メッセージのMACの検証に成功すると、デジタル署名秘密鍵を用い、定められたデジタル署名生成アルゴリズム(例えば、PKCS#1など)に従い、構成証明メッセージのデジタル署名を生成し、生成したデジタル署名をクライアント10に返信する(S17)。
クライアント10の計測手段111は、SIM20から、構成証明メッセージのデジタル署名を受信すると、インターネット60を介して、構成証明メッセージとデジタル署名を認証サーバ40に送信する(S18)。
構成証明メッセージとデジタル署名を認証サーバ40が受信すると、認証サーバ40のデジタル署名検証手段410が作動し、デジタル署名検証手段410は、構成証明メッセージとデジタル署名をクライアント10から受信すると、認証サーバ40が記憶しているデジタル署名公開鍵412を用いて、定められたアルゴリズムに従い、構成証明メッセージのデジタル署名を検証することで、デジタル署名を生成したSIM20の正当性を検証する(S19)。
認証サーバ40は、構成証明メッセージのデジタル署名の検証に成功すると、認証サーバ40のメッセージ検証手段411が作動し、メッセージ検証手段411は、認証サーバ40のRAM401に保持されているRcおよびRs、並びに、データ記憶装置405に記憶しているハッシュ値の期待値413を参照し、構成証明メッセージに含まれるRc、Rsおよびハッシュ値が正しい値であるか確認することで、構成証明メッセージの正当性を検証する。
そして、認証サーバ40のメッセージ検証手段411は、構成証明メッセージの検証に成功/失敗で処理を分岐させ(S20)、構成証明メッセージの検証に成功したときは、認証サーバ40は、クライアント10のLAN62へのアクセスを許可するメッセージをVPN機器52に送信し、クライアント10からLAN62に設置されたPC55へのアクセスを許可し(S21)、この手順を終了し、構成証明メッセージの検証に成功したときは、クライアント10からLAN62に設置されたPC55へのアクセスを許可することなく、この手順を終了する(S20)。
プラットフォーム完全性検証にSIM20を利用するのは、プラットフォーム完全性検証に利用するデジタル署名秘密鍵をSIM20に記憶させ、特別なチップ(例えば、TPM)が実装されていない汎用的なコンピュータであっても、プラットフォーム完全性検証を実現可能とするためである。
認証サーバ40が構成証明メッセージを検証するときには、上述したようにSIM20の正当性が検証され、SIM20の検証には、公開暗号方式の暗号鍵対で、SIM20に記憶されたデジタル署名秘密鍵211と認証サーバ40に記憶されたデジタル署名公開鍵412とが利用される。
デジタル署名秘密鍵211をSIM20に記憶させておけば、プラットフォーム完全性検証に利用されるデジタル署名秘密鍵211が漏洩し悪用されることを防止でき、更に、LAN62へのアクセスが予め許可されたユーザにのみ、デジタル署名秘密鍵211を記憶させたSIM20を配布しておけば、許可されたユーザにのみがリモートアクセスでLAN62にアクセスすることが可能になる。
なお、上述した実施形態では、SIM20はSIMリーダ50に装着されて利用されているが、特許文献4で開示されているUSBメモリキーのような、USBメモリ30とSIM20が一体化された携帯型記憶デバイスを用いてもよい。
特開2006−227679号公報
シンクライアントシステムを説明する図。 USBメモリのブロック図。 クライアントのブロック図。 SIMのブロック図。 認証サーバのブロック図。 シンクライアントOSが起動する手順を示したフロー図。 プラットフォームの完全性を検証する手順を示したフロー図。
符号の説明
1 シンクライアントシステム
10 クライアント
110 ブート手段
111 計測手段
20 SIM
210 デジタル署名コマンド
211 デジタル署名秘密鍵
212 MAC鍵
30 USBメモリ
310 シンクライアントOS
311 計測ソフトウェア
312 MAC鍵
40 認証サーバ
410 デジタル署名検証手段
411 メッセージ検証手段
412 デジタル署名公開鍵
413 ハッシュ値の期待値

Claims (6)

  1. シンクライアントに利用されるクライアントと、クライアントに装着される携帯型記憶デバイスと、物理的なデバイスであるセキュリティトークンと、インターネットワークを介して前記クライアントと接続された認証サーバとから、少なくとも構成されたプラットフォーム完全性検証システムであって、前記携帯型記憶デバイスは、前記クライアントをシンクライアントとして動作させるためのオペレーティングシステム(OS: Operating System)のイメージを記憶し、前記クライアントは、マウントした前記携帯型記憶デバイスに記憶された前記OSのイメージを読取り、前記OSを前記クライアント上で起動させるブート手段と、前記クライアントのメモリに展開された前記OSのイメージから演算したハッシュ値を含む構成証明メッセージを生成し、前記構成証明メッセージから演算した認証コードと共に前記構成証明メッセージを前記セキュリティトークンに送信することで、前記構成証明メッセージのデジタル署名の生成を前記セキュリティトークンに要求し、前記セキュリティトークンから前記構成証明メッセージのデジタル署名を受信すると、前記構成証明メッセージのデジタル署名と前記構成証明メッセージを前記認証サーバに送信する計測手段を備え、前記セキュリティトークンは、前記構成証明メッセージのデジタル署名の生成に利用する第1のデジタル署名鍵を記憶する手段と、前記計測手段から送信された前記構成証明メッセージを参照することで前記認証コードを検証し、前記認証コードの検証に成功すると、前記構成証明メッセージのデジタル署名を生成し、生成した前記構成証明メッセージのデジタル署名を返信する手段とを備え、前記認証サーバは、前記構成証明メッセージのデジタル署名の検証に利用する第2のデジタル署名鍵と前記OSのハッシュ値の期待値を記憶する手段と、前記第2のデジタル署名鍵を利用して、前記計測手段から送信された前記構成証明メッセージのデジタル署名を検証するデジタル署名検証手段と、前記構成証明メッセージのデジタル署名の検証に成功したときに、前記OSのハッシュ値の期待値と受信した前記構成証明メッセージに含まれる前記ハッシュ値が一致しているか確認することで、前記構成証明メッセージを検証するメッセージ検証手段を備え、前記携帯型記憶デバイスに記憶された前記OSには、前記OS上で動作し、前記計測手段として前記クライアントを機能させるためのコンピュータプログラムである計測ソフトウェアが含まれていることを特徴とするプラットフォーム完全性検証システム。
  2. 請求項1に記載のプラットフォーム完全性検証システムにおいて、前記クライアントに備えられた計測手段は、前記OSのハッシュ値を演算する前に、前記認証サーバに対して第1の乱数の生成を要求し、前記認証サーバから受信した前記第1の乱数と前記OSのハッシュ値を前記構成証明メッセージに含ませ、前記認証サーバは、前記クライアントから前記第1の乱数の生成要求を受けると、前記第1の乱数を生成すると共に、前記第1の乱数を保持し、前記メッセージ検証手段は、前記構成証明メッセージを検証するときに、前記OSのハッシュ値に加え、前記構成証明メッセージに含まれる前記第1の乱数の一致を確認することを特徴とするプラットフォーム完全性検証システム。
  3. 請求項2に記載のプラットフォーム完全性検証システムにおいて、前記クライアントに備えられた計測手段は、前記認証サーバに対して第1の乱数の生成を要求するときに、第2の乱数を生成し、生成した前記第2の乱数を前記認証サーバに送信し、前記第1の乱数および前記第2の乱数を前記構成証明メッセージに含ませ、前記認証サーバは、前記クライアントから前記第1の乱数の生成要求を受けたときに受信した前記第2の乱数を保持し、前記メッセージ検証手段は、前記構成証明メッセージを検証するときに、前記OSのハッシュ値および前記第1の乱数に加え、前記第2の乱数の一致を確認することを特徴とするプラットフォーム完全性検証システム。
  4. シンクライアントに利用されるクライアントと、前記クライアントに装着される携帯型記憶デバイスと、物理的なデバイスであるセキュリティトークンと、インターネットワークを介して前記クライアントと接続された認証サーバとを、少なくとも利用したプラットフォーム完全性検証方法であって、前記クライアントに前記携帯型記憶デバイスがマウントされたときに、前記クライアントをシンクライアントとして動作させるためのオペレーティングシステム(OS: Operating System)のイメージを前記携帯型記憶デバイスから読み込み、前記OSを前記クライアント上で起動させるステップa、前記クライアントが、前記OSのイメージから演算したハッシュ値を含む構成証明メッセージを生成し、構成証明メッセージから演算した認証コードと共に前記構成証明メッセージを前記セキュリティトークンに送信することで、前記構成証明メッセージのデジタル署名の生成を前記セキュリティトークンに要求するステップb、前記セキュリティトークンが、前記計測ソフトウェアから送信された前記構成証明メッセージの認証コードを検証し、認証コードの検証に成功すると、前記構成証明メッセージのデジタル署名の生成に利用する第1のデジタル署名鍵を利用して、前記構成証明メッセージのデジタル署名を生成し、生成した前記構成証明メッセージのデジタル署名を前記クライアントに返信するステップc、前記クライアントが、前記セキュリティトークンから前記構成証明メッセージのデジタル署名を受信すると、前記セキュリティトークンが生成したデジタル署名と前記構成証明メッセージを前記認証サーバに送信するステップd、前記認証サーバが、前記構成証明メッセージのデジタル署名の検証に利用する第2のデジタル署名鍵を利用して、前記計測手段から送信された前記構成証明メッセージのデジタル署名を検証し、前記構成証明メッセージのデジタル署名の検証に成功したときに、前記OSのハッシュ値の期待値と受信した前記構成証明メッセージに含まれる前記ハッシュ値が一致しているか確認することで、前記構成証明メッセージを検証するステップe、を含み、前記ステップaで起動する前記OSには、前記OS上で動作し、前記ステップbおよび前記ステップdを前記クライアントに機能させるためのコンピュータプログラムである計測ソフトウェアが含まれ、前記ステップaにおいて、前記クライアントは、前記OSを起動させた後に、前記計測ソフトウェアを起動させるステップであることを特徴とするプラットフォーム完全性検証方法。
  5. 請求項4に記載のプラットフォーム完全性検証方法において、前記ステップbの前に、前記クライアントが、前記ハッシュ値を演算する前に、前記認証サーバに対して第1の乱数の生成を要求し、前記認証サーバが前記第1の乱数を前記クライアントに送信するステップa1が実行され、前記ステップbは、前記クライアントが、前記認証サーバから受信した前記第1の乱数と前記OSのハッシュ値を前記構成証明メッセージに含ませるステップで、前記ステップeは、前記認証サーバが、前記構成証明メッセージを検証するときに、前記OSのハッシュ値に加え、前記第1の乱数の一致を確認するステップであることを特徴とするプラットフォーム完全性検証方法。
  6. 請求項5に記載のプラットフォーム完全性検証システムにおいて、前記ステップa1は、前記認証サーバに対して第1の乱数の生成を要求するときに、前記クライアントが、第2の乱数を生成し、生成した前記第2の乱数を前記認証サーバに送信するステップで、前記ステップbは、前記クライアントが、前記第1の乱数、前記第2の乱数および前記OSのハッシュ値を前記構成証明メッセージに含ませるステップで、前記ステップeは、前記認証サーバが、前記構成証明メッセージを検証するときに、前記OSのハッシュ値および前記第1の乱数に加え、前記第2の乱数の一致を確認するステップであることを特徴とするプラットフォーム完全性検証方法。
JP2008012402A 2008-01-23 2008-01-23 プラットフォーム完全性検証システムおよび方法 Active JP4993122B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008012402A JP4993122B2 (ja) 2008-01-23 2008-01-23 プラットフォーム完全性検証システムおよび方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008012402A JP4993122B2 (ja) 2008-01-23 2008-01-23 プラットフォーム完全性検証システムおよび方法

Publications (2)

Publication Number Publication Date
JP2009175923A JP2009175923A (ja) 2009-08-06
JP4993122B2 true JP4993122B2 (ja) 2012-08-08

Family

ID=41030961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008012402A Active JP4993122B2 (ja) 2008-01-23 2008-01-23 プラットフォーム完全性検証システムおよび方法

Country Status (1)

Country Link
JP (1) JP4993122B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099705A (zh) * 2015-08-19 2015-11-25 同方计算机有限公司 一种基于usb协议的安全通信方法及其***

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5212718B2 (ja) * 2008-10-30 2013-06-19 大日本印刷株式会社 プラットフォームの完全性検証システム及び方法
JP2010198139A (ja) * 2009-02-23 2010-09-09 Dainippon Printing Co Ltd プラットフォーム完全性検証システム及び方法,並びに,セキュリティトークン
JP5560011B2 (ja) * 2009-09-24 2014-07-23 株式会社みずほフィナンシャルグループ リモートアクセス制御方法及びリモートアクセス制御システム
CN102131197B (zh) * 2010-01-20 2015-09-16 中兴通讯股份有限公司 一种在公共设备上接入网络的方法及***
CN102130887B (zh) * 2010-01-20 2019-03-12 中兴通讯股份有限公司 一种在公共设备上接入网络的方法及***
CN102130975A (zh) * 2010-01-20 2011-07-20 中兴通讯股份有限公司 一种用身份标识在公共设备上接入网络的方法及***
JP2011253511A (ja) * 2010-06-02 2011-12-15 Minoru Yoshida 情報生成システム及びその方法
JP5775589B2 (ja) * 2011-08-25 2015-09-09 株式会社Nttドコモ 移動通信端末、加入者認証モジュール、通信システムおよび通信方法
CN103067338B (zh) * 2011-10-20 2017-04-19 上海贝尔股份有限公司 第三方应用的集中式安全管理方法和***及相应通信***
JP2015007827A (ja) * 2013-06-24 2015-01-15 富士通株式会社 通信制御システム、通信端末装置、認証コンピュータ及び通信制御方法
US10757087B2 (en) * 2018-01-02 2020-08-25 Winbond Electronics Corporation Secure client authentication based on conditional provisioning of code signature
CN112019493B (zh) * 2019-05-31 2024-04-09 北京京东尚科信息技术有限公司 身份认证方法、身份认证装置、计算机设备和介质
JP7302664B2 (ja) * 2019-08-26 2023-07-04 日本電気株式会社 情報処理装置、データ記録システム、データ記録方法及びプログラム
CN114553431A (zh) * 2022-01-27 2022-05-27 北京信息科技大学 一种具有记忆功能的通信方法及装置
CN115118442B (zh) * 2022-08-30 2022-11-22 飞天诚信科技股份有限公司 一种软件定义边界框架下的端口保护方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0535487A (ja) * 1991-07-30 1993-02-12 Nec Software Ltd Osロード方式
JPH10257047A (ja) * 1997-03-12 1998-09-25 Oki Electric Ind Co Ltd 不正検出システム及び公開鍵管理システム
JP3293760B2 (ja) * 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
JPH11143833A (ja) * 1997-11-14 1999-05-28 Toshiba Corp 生体データによるユーザ確認システム及びicカード並びに記録媒体
JP2000284689A (ja) * 1999-04-01 2000-10-13 Hitachi Ltd 情報格納方法
EP1323089A4 (en) * 2000-08-04 2006-04-19 First Data Corp ENTITY AUTHENTICATION IN ELECTRONIC COMMUNICATION BY PROVIDING THE VERIFICATION STATUS OF A DEVICE
JP2004282295A (ja) * 2003-03-14 2004-10-07 Sangaku Renkei Kiko Kyushu:Kk ワンタイムidの生成方法、認証方法、認証システム、サーバ、クライアントおよびプログラム
JP2005258968A (ja) * 2004-03-15 2005-09-22 Dainippon Printing Co Ltd Icカードに書込まれたデータの正当性検証方法およびicカード用プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099705A (zh) * 2015-08-19 2015-11-25 同方计算机有限公司 一种基于usb协议的安全通信方法及其***

Also Published As

Publication number Publication date
JP2009175923A (ja) 2009-08-06

Similar Documents

Publication Publication Date Title
JP4993122B2 (ja) プラットフォーム完全性検証システムおよび方法
US7673334B2 (en) Communication system and security assurance device
EP2372597B1 (en) Methods and systems for secure remote wake, boot, and login to a computer from a mobile device
JP4067985B2 (ja) アプリケーション認証システムと装置
US20090319793A1 (en) Portable device for use in establishing trust
US20180096137A1 (en) Using a second device to enroll a secure application enclave
US20150333911A1 (en) Id system and program, and id method
TW201732669A (zh) 受控的安全碼鑑認
US20080022380A1 (en) Method of patching applications on small resource-constrained secure devices
TWI708159B (zh) 包含安全處理器之裝置平台、裝置中之安全處理器、以及相關儲存媒體
JP2004508619A (ja) トラステッド・デバイス
KR20060060664A (ko) 리모트 액세스 시스템, 게이트웨이, 클라이언트 기기,프로그램 및 기억 매체
CN110326266A (zh) 一种数据处理的方法及装置
CN110688660A (zh) 一种终端安全启动的方法及装置、存储介质
CN115001695A (zh) 平台的基板管理控制器身份的安全置备
CN114301617A (zh) 多云应用网关的身份认证方法、装置、计算机设备及介质
CN107548542B (zh) 经强化完整性及安全性的用户认证方法
US20090210719A1 (en) Communication control method of determining whether communication is permitted/not permitted, and computer-readable recording medium recording communication control program
CN116707758A (zh) 可信计算设备的认证方法、设备和服务器
JP6343928B2 (ja) 携帯端末、認証システム、認証方法、および、認証プログラム
EP1338939A1 (en) State validation device for a computer
CN111651740B (zh) 一种面向分布式智能嵌入式***的可信平台共享***
CN117063174A (zh) 用于通过基于app的身份的app间相互信任的安全模块及方法
JP5288173B2 (ja) プラットフォーム完全性検証システム及び方法
JP5212718B2 (ja) プラットフォームの完全性検証システム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120314

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: 20120411

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: 20120424

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

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4993122

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150