(57)【要約】【課題】コンピュータが使用される場所についても検証することのできるプラットフォームの完全性検証システムを提供する。【解決手段】コンピュータ１はＬＡＮ５にアクセスするとき、ユーザ３が所持するＩＣカード８に記憶された所在位置情報を読み取り、認証サーバ２に所在位置情報を送信する。認証サーバ２は、プラットフォームの完全性の検証要求をコンピュータ１から受けると、ＵＳＢメモリ１８に記憶されたシンクライアント用ＯＳのハッシュ値（設計値）を所在位置情報に関連付けて記憶したハッシュ値テーブルを参照し、コンピュータ１から受信した所在位置情報に関連付けられたハッシュ値（設計値）と、コンピュータ１で算出されたハッシュ値（実測値）を少なくとも用いて、コンピュータ１のプラットフォームの完全性検証を実行する。【選択図】図１
2010108313.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ管理されたネットワーク外のコンピュータと、前記コンピュータのプラットフォームの完全性を検証する認証サーバとから少なくとも構成されたプラットフォームの完全性検証システムであって、前記コンピュータを操作するユーザの所在位置情報を取得する所在位置情報取得手段と、前記所在位置情報を少なくとも前記認証サーバに送信し、プラットフォームの完全性の検証を要求する完全性検証要求手段と、前記認証サーバからの要求を受けて、前記コンピュータのプラットフォームの検証値の実測値を算出し、前記検証値の実測値を前記認証サーバに送信する検証値算出手段を前記コンピュータに備えさせ、プラットフォームの完全性の検証要求を受けたとき、前記検証値の実測値の送信要求し、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した検証値テーブルを参照して、前記所在位置情報に関連付けられている前記検証値の設計値を用い、前記コンピュータから受信した前記検証値の実測値の正当性を検証する完全性検証手段を前記認証サーバに備えさせるように構成されていることを特徴とするプラットフォームの完全性検証システム。
【請求項２】
請求項１に記載のプラットフォーム検証システムであって、前記プラットフォームの完全性検証システムには、部屋の出入り口に設けられるドアゲートが含まれ、前記ドアゲートは、前記ユーザの入室時にドアの施錠を解錠するとき、前記ドアゲートが設置された前記部屋を示す前記所在位置情報を、前記ユーザが所持するＩＣカードに書き込み、前記ユーザの退室時にドアの施錠を解錠するとき、前記所在位置情報を前記ＩＣカードから削除する施錠制御手段を備え、前記コンピュータに備えられる前記所在位置情報取得手段は、前記ユーザが所持する前記ＩＣカードから前記所在位置情報を読み取る手段であることを特徴とするプラットフォームの完全性検証システム。
【請求項３】
請求項２に記載のプラットフォーム検証システムであって、前記コンピュータに、前記コンピュータを操作するユーザから少なくともユーザＩＤを取得するユーザ情報取得手段を備えさせ、前記完全性検証要求手段は、前記所在位置情報に加え前記ユーザＩＤを前記認証サーバに送信する手段で、前記認証サーバの前記完全性検証手段は、前記ユーザＩＤ毎に、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した前記検証値テーブルを参照し、前記コンピュータから受信した前記ユーザＩＤにおいて、前記所在位置情報に関連付けられている前記検証値の設計値を用いることを特徴とするプラットフォームの完全性検証システム。
【請求項４】
請求項３に記載のプラットフォーム検証システムであって、前記コンピュータのプラットフォームは、前記コンピュータのメモリに展開されたシンクライアント用オペレーティングシステムであって、前記検証値は、前記シンクライアント用オペレーティングシステムのイメージのハッシュ値で、前記コンピュータに備えられる手段は、前記シンクライアント用オペレーティングシステムによって前記コンピュータに提供される手段であることを特徴とするプラットフォームの完全性検証システム。
【請求項５】
請求項４に記載のプラットフォーム検証システムであって、前記シンクライアント用オペレーティングシステムは、前記ユーザが所持するＵＳＢメモリに格納され、前記ＵＳＢメモリが前記コンピュータに装着されたとき、前記シンクライアント用オペレーティングシステムが前記コンピュータで自動的に起動するように構成されていることを特徴とするプラットフォームの完全性検証システム。
【請求項６】
セキュリティ管理されたネットワーク外のコンピュータのプラットフォームの完全性を検証する方法であって、前記コンピュータが、前記コンピュータを操作するユーザの所在位置情報を取得する共に、前記コンピュータのプラットフォームの検証値の実測値を算出して、プラットフォームの完全性を検証する認証サーバに前記所在位置情報と前記検証値の実測値を送信し、前記認証サーバが、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した検証値テーブルを参照して、前記コンピュータから受信した前記所在位置情報に関連付けられている前記検証値の設計値を用い、前記コンピュータから受信した前記検証値の実測値の正当性を検証することを特徴とするプラットフォームの完全性検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュリティ管理されたネットワークへアクセスするクライアントのプラットフォームの完全性を検証するための技術に関する。
【背景技術】
【０００２】
近年、企業などにおいて、クライアントに必要最小限の機能のみを持たせ、機密情報な
どの情報資源の管理や、アプリケーションの処理などの機能をＬＡＮ(Local Area Network)内に設定されたサーバに集約させたシンクライアントシステム（Thin Client System）の導入が増えてきている。
【０００３】
シンクライアントシステムの導入の背景には、（１）日本版ＳＯＸ法に対応すべく内部
統制の強化、（２）クライアントからの個人情報流出防止などを目的としたセキュリティ
の強化、（３）クライアントの運用管理コスト（パッチ情報、ライセンス管理など）の削
減、（４）テレワーク(Telework)の実現等などがある。
【０００４】
シンクライアントシステムを実現するとき、例えば、特許文献１にも記載があるように、最小限の機能のみを備えたシンクライアント用オペレーティングシステム（OS: Operating System）を、ＵＳＢメモリやＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの外部記憶デバイスに記憶させ、該コンピュータ上で該シンクライアント用ＯＳを起動させる。
【０００５】
シンクライアント用ＯＳを起動させれば、汎用のコンピュータをシンクライアント端末として利用できるが、故意的或いは偶発的にしても、外部記憶デバイスに記憶されたシンクライアント用ＯＳが改竄されてしまうと、予期せぬ理由により、ＬＡＮ(Local Area Network)内に設定されたサーバに記憶された機密情報が漏洩してしまう可能性があるため、シンクライアント用ＯＳからＬＡＮ内にアクセスする前に、クライアントのプラットフォームの完全性検証として、シンクライアント用ＯＳの完全性を検証することが必要になる。
【０００６】
このような問題を解決するために、本出願人は、特別なＩＣチップを使用することなく、シンクライアントシステムの端末として利用されるクライアントのプラットフォームの完全性検証を容易に検証できるシステムを特許文献２で開示しているが、特許文献２で開示されている発明では、クライアントのプラットフォームの完全性検証として、シンクライアントシステムのクライアントが使用される場所についてまでも検証することはできなかった。
【０００７】
例えば、持出し可能なノート型のコンピュータをシンクライアントの端末として利用し、シンクライアント用ＯＳにプリンタ出力機能が備えられている場合、ネットカフェなどの公共の場で機密情報がプリントアウトされると、第三者に機密情報が漏洩する可能性があるため、クライアントのプラットフォーム完全性検証として、該クライアントが利用される場所についても検証できることが望ましい。
【特許文献１】特開２００７−２９９１３号公報
【特許文献２】特願２００８−０１２４０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
そこで、本発明は、シンクライアントシステムのように、セキュリティ管理されたネットワークへリモートアクセスするコンピュータのプラットフォームの完全性を検証するときに、該コンピュータが使用される場所についても検証することのできるプラットフォームの完全性検証システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決する第１の発明は、セキュリティ管理されたネットワーク外のコンピュータと、前記コンピュータのプラットフォームの完全性を検証する認証サーバとから少なくとも構成されたプラットフォームの完全性検証システムであって、前記コンピュータを操作するユーザの所在位置情報を取得する所在位置情報取得手段と、前記所在位置情報を少なくとも前記認証サーバに送信し、プラットフォームの完全性の検証を要求する完全性検証要求手段と、前記認証サーバからの要求を受けて、前記コンピュータのプラットフォームの検証値の実測値を算出し、前記検証値の実測値を前記認証サーバに送信する検証値算出手段を前記コンピュータに備えさせ、プラットフォームの完全性の検証要求を受けたとき、前記検証値の実測値の送信要求し、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した検証値テーブルを参照して、前記所在位置情報に関連付けられている前記検証値の設計値を用い、前記コンピュータから受信した前記検証値の実測値の正当性を検証する完全性検証手段を前記認証サーバに備えさせるように構成されていることを特徴とするプラットフォームの完全性検証システムである。
【００１０】
上述した第１の発明によれば、前記認証サーバが、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した前記検証値テーブルを備え、前記コンピュータのプラットフォームの完全性を検証するときに、前記所在位置情報に関連付けられた前記検証値の設計値を用いることで、前記コンピュータの使用が許可された場所の前記所在位置情報のみ関連付けて前記検証値の設計値を記憶させておけば、該場所以外ではプラットフォームの完全性検証に失敗するため、該コンピュータが使用される場所についても検証することのできるようになる。
【００１１】
更に、第２の発明は、第１の発明に記載のプラットフォーム検証システムであって、前記プラットフォームの完全性検証システムには、部屋の出入り口に設けられるドアゲートが含まれ、前記ドアゲートは、前記ユーザの入室時にドアの施錠を解錠するとき、前記ドアゲートが設置された前記部屋を示す前記所在位置情報を、前記ユーザが所持するＩＣカードに書き込み、前記ユーザの退室時にドアの施錠を解錠するとき、前記所在位置情報を前記ＩＣカードから削除する施錠制御手段を備え、前記コンピュータに備えられる前記所在位置情報取得手段は、前記ユーザが所持する前記ＩＣカードから前記所在位置情報を読み取る手段であることを特徴とするプラットフォームの完全性検証システムである。
【００１２】
リモートアクセスを管理したい状況としては、企業のＬＡＮ（Local Area Network）へのリモートアクセスを管理したい状況が多いため、上述した第２の発明のように、前記部屋に設置された前記ドアゲートで前記所在位置情報をＩＣカードに書き込み、前記コンピュータで前記ＩＣカードに記憶された前記所在位置情報を読み取るようにすれば、企業内外も含め、前記コンピュータの使用場所を容易に特定できるようになる。
【００１３】
更に、第３の発明は、第２の発明に記載のプラットフォーム検証システムであって、前記コンピュータに、前記コンピュータを操作するユーザから少なくともユーザＩＤを取得するユーザ情報取得手段を備えさせ、前記完全性検証要求手段は、前記所在位置情報に加え前記ユーザＩＤを前記認証サーバに送信する手段で、前記認証サーバの前記完全性検証手段は、前記ユーザＩＤ毎に、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した前記検証値テーブルを参照し、前記コンピュータから受信した前記ユーザＩＤにおいて、前記所在位置情報に関連付けられている前記検証値の設計値を用いることを特徴とするプラットフォームの完全性検証システムである。
【００１４】
上述した第３の発明のように、前記認証サーバが、前記ユーザＩＤ毎に、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶することで、前記ユーザに与えられているアクセス権限に応じて、プラットフォームの完全性検証を行うようにすることができる。
【００１５】
更に、第４の発明は、第３の発明に記載のプラットフォーム検証システムであって、前記コンピュータのプラットフォームは、前記コンピュータのメモリに展開されたシンクライアント用オペレーティングシステムであって、前記検証値は、前記シンクライアント用オペレーティングシステムのイメージのハッシュ値で、前記コンピュータに備えられる手段は、前記シンクライアント用オペレーティングシステムによって前記コンピュータに提供される手段であることを特徴とするプラットフォームの完全性検証システムである。
【００１６】
更に、第５の発明は、第４の発明に記載のプラットフォーム検証システムであって、前記シンクライアント用オペレーティングシステムは、前記ユーザが所持するＵＳＢメモリに格納され、前記ＵＳＢメモリが前記コンピュータに装着されたとき、前記シンクライアント用オペレーティングシステムが前記コンピュータで自動的に起動するように構成されていることを特徴とするプラットフォームの完全性検証システムである。
【００１７】
上述した第４の発明及び第５の発明のような構成とすることで、本発明に係わるプラットフォームの完全性検証システムをシンクライアントシステムに適用できる。
【００１８】
更に、第６の発明は、セキュリティ管理されたネットワーク外のコンピュータのプラットフォームの完全性を検証する方法であって、前記コンピュータが、前記コンピュータを操作するユーザの所在位置情報を取得する共に、前記コンピュータのプラットフォームの検証値の実測値を算出して、プラットフォームの完全性を検証する認証サーバに前記所在位置情報と前記検証値の実測値を送信し、前記認証サーバが、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した検証値テーブルを参照して、前記コンピュータから受信した前記所在位置情報に関連付けられている前記検証値の設計値を用い、前記コンピュータから受信した前記検証値の実測値の正当性を検証することを特徴とするプラットフォームの完全性検証方法である。
【００１９】
上述した第６の発明によれば、第１の発明と同様の効果を得ることができる。
【発明の効果】
【００２０】
このように、上述した本発明によれば、シンクライアントシステムのように、セキュリティ管理されたネットワークへリモートアクセスするコンピュータのプラットフォームの完全性を検証するときに、該コンピュータが使用される場所についても検証することのできるプラットフォームの完全性検証システム及び方法を提供できる。
【発明を実施するための最良の形態】
【００２１】
ここから、本発明の好適な実施形態について、図を参照しながら詳細に説明する。図１は、本実施形態におけるプラットフォームの完全性検証システム９の構成を説明する図である。
【００２２】
図１で図示したプラットフォームの完全性検証システム９は、ＵＳＢメモリ１８を利用したシンクライアントシステムに本発明を適用したときの実施形態で、シンクライアント端末として利用され、ＩＣカードリーダ１７が接続されたノート型のコンピュータ１と、セキュリティ管理されたＬＡＮ５（Loacal Area Network）に接続され、コンピュータ１からＬＡＮ５内のリソースへのリモートアクセスを管理する認証サーバ２とから少なくとも構成され、図１では、ＬＡＮ５内のリソースとして、機密情報が記憶されている機密情報サーバ５０を図示し、更に、ＬＡＮ５とインターネット４を区分けするファイヤーウォール機器５１を図示している。
【００２３】
また、本実施形態のプラットフォーム完全性検証システム９を利用するユーザ３は、機能が限定されたシンクライアント用ＯＳ（OS: Operating System）が記憶されたＵＳＢメモリ１８と、企業内の部屋６（例えば、サテライトオフィス）に設置されたドアゲート７の解錠に利用するＩＣカード８を所持している。
【００２４】
図１のプラットフォーム完全性検証システム９を構成する認証サーバ２は、ＲＡＤＩＵＳ（Radius:  Remote Authentication Dial In User Service）プロトコルに対応したＲＡＤＩＵＳサーバなどを利用して実現されるＷｅｂサーバで、ＬＡＮ５外からＬＡＮ５内のリソースにアクセスするユーザ３をユーザ認証する一般的なＲＡＤＩＵＳサーバの機能に加え、ＬＡＮ５内のリソースにアクセスするコンピュータ１のプラットフォームの完全性を検証する機能を備えている。
【００２５】
図１で図示した認証サーバ２は、ＬＡＮ５内のリソースにアクセスするコンピュータ１のプラットフォームの完全性検証を実施するとき、該コンピュータ１のメモリに展開されたシンクライアント用ＯＳの正当性の検証に加え、該コンピュータ１の使用場所の正当性をも検証する。
【００２６】
認証サーバ２は、特許文献２で開示されている内容に従い、コンピュータ１のメモリに展開されたシンクライアント用ＯＳの正当性を検証するために、コンピュータ１を操作するユーザＩＤ毎に、ＵＳＢメモリ１８に記憶されたシンクライアント用ＯＳのイメージのハッシュ値（設計値）を、プラットフォームの検証値として、コンピュータ１が利用される場所を示す所在位置情報に関連付けて記憶している。
【００２７】
ユーザ３が部屋６に入室するとき、ユーザ３が入室する部屋６を特定する情報である所在位置情報がドアゲート７によってＩＣカード８に書き込まれ、コンピュータ１のメモリに展開されたシンクライアント用ＯＳの正当性を検証するとき、コンピュータ１は、ユーザ３からユーザＩＤを取得し、更に、ＩＣカード８から所在位置情報を読み取り、認証サーバ２は、コンピュータ１から受信したユーザＩＤに関連付けられたハッシュ値（設計値）の中から、所在位置情報に関連付けられたハッシュ値（設計値）を利用し、プラットフォームの完全性検証を行う。
【００２８】
このように、該コンピュータから受信した所在位置情報に関連付けられたハッシュ値（設計値）を利用してプラットフォームの完全性検証を認証サーバ３が行うことで、シンクライアント用ＯＳに備えられた機能の使用を禁止したい場所で、シンクライアント用ＯＳの使用を禁止することができるようになる。
【００２９】
例えば、機密情報サーバ５０及びプリンタを利用するための機能がシンクライアント用ＯＳに備えられ、認証サーバ２に部屋６（例えば、サテライトオフィス）に設置されたドアゲート７が保持している所在位置情報のみに関連付けてハッシュ値（設計値）を記憶しておけば、ユーザ３が部屋６に在室しているときは、部屋６から機密情報サーバ５０へのアクセスや部屋６に設置されたプリンタ６０を利用できるが、ユーザ３が企業外６ａ（例えば、ネットカフェ）でコンピュータ１を使用するとき、プラットフォームの完全性検証を失敗にするため、企業外６ａから機密情報サーバ５０へのアクセスや企業外６ａのプリンタ６０ａを利用できないようにすることができる。
【００３０】
ここから、本発明に係わる方法の説明も兼ねて、図１で図示したプラットフォームの完全性検証システム９で実行される処理について説明する。図２は、プラットフォームの完全性検証システム９で実行される手順を説明するフロー図である。
【００３１】
ユーザ３が所持するＵＳＢメモリ１８は、特許第３７６７８１８号で開示されているようなブートアップ機能を備えたデバイスで、ユーザ３は、ＬＡＮ５外のコンピュータ１を操作してＬＡＮ５内のリソースにリモートアクセスするとき、ユーザ３は、コンピュータ１のＵＳＢポートにＵＳＢメモリ１８を接続させると、ＵＳＢメモリ１８に備えられたブートアップ機能によって、ＵＳＢメモリ１８に記憶されたシンクライアント用ＯＳのイメージ（バイトコード）がコンピュータ１のメモリに展開され、該コンピュータ１上でシンクライアント用ＯＳが起動し、シンクライアント用ＯＳが起動すると、コンピュータ１は認証サーバ２にアクセス要求する（図２のＳ１）。
【００３２】
認証サーバ２は、コンピュータ１からアクセス要求を受けると、アクセス要求したコンピュータ１に対して認証要求する（図２のＳ２）。
【００３３】
シンクライアント用ＯＳが起動したコンピュータ１は、認証サーバ２にリモートアクセスする前に、ユーザＩＤ及びパスワードを入力する画面をディスプレイに表示し、キーボードなどを用いてユーザ３にユーザＩＤ及びパスワードを入力させ、ユーザ３が入力したユーザＩＤ及びパスワードを取得する（図２のＳ３）。
【００３４】
次に、コンピュータ１は、ＬＡＮ５内のリソースへのリモートアクセスにはＩＣカード８が必要であることを示すメッセージをディスプレイに表示させ、ＩＣカードリーダ１７がＩＣカード８を検知すると、コンピュータ１は、ＩＣカード８に対して所在位置情報を読み出すコマンドを送信し、ＩＣカード８に対して所在位置情報の送信要求を行う（図２のＳ４）。
【００３５】
所在位置情報を読み出すコマンドをＩＣカード８がコンピュータ１から受信すると、ＩＣカード８は所在位置情報をＩＣカードリーダ１７経由でコンピュータ１に送信し（図２のＳ５）、コンピュータ１は、ＩＣカード８から所在位置情報を受信すると、ユーザＩＤ、パスワード及び所在位置情報を含み、所定の型式に準じた検証要求メッセージを認証サーバ２に送信し、認証サーバ２に認証応答する（図２のＳ６）。
【００３６】
認証サーバ２は、ユーザ３のユーザＩＤに紐付けしてユーザ３のパスワードが記憶し、認証サーバ２は、検証要求メッセージに含まれるユーザＩＤに紐付けられているパスワードと検証要求メッセージに含まれるパスワードを照合することで、ユーザ３をユーザ認証する（図２のＳ７）。
【００３７】
ユーザ認証を実行すると、認証サーバ２は、ユーザ認証の結果に応じて処理を分岐させ、ユーザ認証に成功するとプラットフォーム完全性検証を実行する処理を続行し、ユーザ認証に失敗すると、認証サーバ２は、プラットフォーム完全性検証を実行することなく、この手順を終了する。
【００３８】
認証サーバ２は、ユーザ認証に成功すると、認証サーバ２に記憶しているハッシュ値（設計値）の中から、検証要求メッセージに含まれる所定位置情報に関連付けて記憶しているハッシュ値（設計値）を、プラットフォームの完全性検証に利用するハッシュ値（設計値）に決定する（図２のＳ８）。
【００３９】
プラットフォームの完全性検証に利用するハッシュ値（設計値）を決定すると、検証要求メッセージを送信したコンピュータ１に対して、プラットフォームの完全性検証を要求し（図２のＳ９）、特許文献２で開示されている内容に従い、コンピュータ１と認証サーバ２間でデータがやり取りされて、プラットフォーム完全性検証が実行される（図２のＳ２０）。
【００４０】
プラットフォームの完全性検証が終了すると、認証サーバ２は、プラットフォームの完全性検証の結果に応じて処理を分岐し（図２のＳ１０）、プラットフォーム完全性検証に失敗すると、コンピュータ１のリモートアクセスを許可することなく処理を終了させ、プラットフォーム完全性検証に成功すると、検証要求メッセージを送信したコンピュータ１に対して、ＬＡＮ５内のリソースへのアクセス許可を示すメッセージを送信する（図２のＳ１１）。
【００４１】
ＬＡＮ５へのアクセス許可が通知されると、コンピュータ１は、ＬＡＮ５内のいずれかのリソースへのリモートアクセスを開始し（図２のＳ１２）、図２で図示した手順は終了する。
【００４２】
次に、図３を参照しながら、図２のＳ１０で実行されるプラットフォームの完全性を検証する手順について説明する。コンピュータ１と認証サーバ２間でプラットフォームの完全性検証を実施するとき、シンクライアント用ＯＳが起動したコンピュータ１は、プラットフォームの完全性検証に利用する乱数Ｒｃを生成し、生成した乱数Ｒｃをコンピュータ１のメモリに保持すると共に、インターネット４を介して、乱数Ｒｃを含む乱数生成要求メッセージを認証サーバ２に送信する（図３のＳ２１）。
【００４３】
認証サーバ２は、コンピュータ１から乱数Ｒｃを受信すると、プラットフォームの完全性検証で利用する乱数Ｒｓを生成し、乱数Ｒｓをコンピュータ１に送信すると共に（Ｓ１１）、プラットフォームの完全性検証が終了するまで乱数Ｒｃおよび乱数Ｒｓを認証サーバ２のメモリに保持する（図３のＳ２２）。
【００４４】
コンピュータ１は、認証サーバ２から乱数Ｒｓを受信すると、認証サーバ４０から送信された乱数Ｒｓをコンピュータ１のメモリに保持した後、コンピュータ１のメモリに展開されたシンクライアント用ＯＳのイメージから、定められたアルゴリズム（例えば、ＳＨＡ１）に従いハッシュ値（実測値）を演算し（図３のＳ２３）、ハッシュ値（実測値）、乱数Ｒｃおよび乱数Ｒｓが結合された構成証明メッセージを生成する（図３のＳ２４）。
【００４５】
コンピュータ１は構成証明メッセージを生成すると、シンクライアント用ＯＳにハードコードされているＭＡＣ鍵を用い、定められた手順（例えば、ISO/IEC 9797-1に準じた手順）に従い、構成証明メッセージのＭＡＣを演算し、ＩＣカードリーダ１７を介して、構成証明メッセージおよびＭＡＣを含んだデジタル署名生成コマンドをＩＣカード８に送信することで、構成証明メッセージのデジタル署名の生成をＩＣカード８に要求する（図３のＳ２５）。
【００４６】
ＩＣカード８は、構成証明メッセージおよびＭＡＣを含んだデジタル署名生成コマンドのコマンドメッセージを受信すると、ＩＣカード８が記憶しているＭＡＣ鍵を用い、コンピュータ１と同じアルゴリズムで構成証明メッセージからＭＡＣを演算し、コンピュータ１から送信されたＭＡＣと自身が演算したＭＡＣとが同一であるか検証することで、コンピュータ１で起動しているシンクライアント用ＯＳの正当性を検証する（図３のＳ２６）。
【００４７】
ＩＣカード８は、構成証明メッセージのＭＡＣ検証に成功／失敗で処理を分岐させ、構成証明メッセージのＭＡＣ検証に成功したときは、構成証明メッセージのデジタル署名を生成する処理を実行し、構成証明メッセージのＭＡＣ検証に失敗したときは、ＭＡＣの検証に失敗したことを示すエラーメッセージをコンピュータ１に返信して、この手順を終了する。
【００４８】
ＩＣカード８は、図３のＳ２６において、構成証明メッセージのＭＡＣ検証に成功すると、デジタル秘密署名鍵を用い、定められたデジタル署名生成アルゴリズム（例えば、PKCS#1など）に従い、構成証明メッセージのデジタル署名を生成し、生成したデジタル署名をコンピュータ１に返信する（図３のＳ２７）。
【００４９】
コンピュータ１は、構成証明メッセージのデジタル署名をＩＣカード８から受信すると、インターネット４を介して、構成証明メッセージとデジタル署名を認証サーバ２に送信する（図３のＳ２８）。
【００５０】
構成証明メッセージとデジタル署名を受信すると、認証サーバ２は、認証サーバ２が記憶し，ＩＣカード８に記憶されたデジタル署名秘密鍵と対になるデジタル署名公開鍵を用いて、定められたアルゴリズムに従い、構成証明メッセージのデジタル署名を検証することで、デジタル署名を生成したＩＣカード８の正当性を検証する（図３のＳ２９）。
【００５１】
認証サーバ２は、構成証明メッセージのデジタル署名の検証に失敗すると、プラットフォーム完全性検証に失敗したと判断してこの手順を終了し、構成証明メッセージのデジタル署名の検証に成功すると、構成証明メッセージ自身の正当性を検証することで、プラットフォーム完全性を検証する（図３のＳ３０）
【００５２】
具体的に、認証サーバ２は、構成証明メッセージのデジタル署名の検証に成功すると、認証サーバ２のメモリに保持されているＲｃおよびＲｓ、並びに、図２のＳ６で決定したハッシュ値（設計値）を参照し、構成証明メッセージに含まれるＲｃ、Ｒｓおよびハッシュ値（実測値）が正しい値であるか確認することで、構成証明メッセージの正当性を検証する。
【００５３】
認証サーバ２は、構成証明メッセージ自身の検証に失敗すると、プラットフォーム完全性検証に失敗したと判断してこの手順を終了し、構成証明メッセージ自身の正当性の検証に成功すると、プラットフォーム完全性検証に成功したと判断してこの手順を終了する。
【００５４】
なお、図２で図示した手順において、認証サーバ２が、プラットフォームの完全性検証に利用するハッシュ値（設計値）を決定するときに利用する所在位置情報は、部屋６にユーザ３が入室する際に利用するドアゲート７によってＩＣカード８に書き込まれ、ユーザが該部屋６から退室する際に、ドアゲート７によってＩＣカード８から所在位置情報は削除される。
【００５５】
図４は、ユーザ３が部屋６に入退室するときに実行される手順を説明するフロー図である。
【００５６】
ユーザ３が企業内の部屋６に入室（退室）するとき、該部屋６の入口に設けられたドアゲート７にＩＣカード８を近接させると、ドアゲート７はＩＣカード８を検知する（図４のＳ４０）。
【００５７】
ドアゲート７がＩＣカード８を検知すると、ドアゲート７は、ＩＣカード８毎にユニークな番号であるカードＩＤを読み出すコマンドをＩＣカード８に送信することで、ＩＣカード８に対してカードＩＤの送信を要求する（図４のＳ４１）。
【００５８】
ＩＣカード８は、カードＩＤを読み出すコマンドを受信すると、ドアゲート７に対して自身が保持しているカードＩＤを送信し（図２のＳ４２）、ドアゲート７は、ＩＣカード８から受信したカードＩＤがドアゲート７に登録されているか確認することで、ＩＣカード８から受信したカードＩＤを照合する（図４のＳ４３）。
【００５９】
ドアゲート７は、カードＩＤの照合に失敗すると、ドアゲート７を解錠することなくこの手順を終了し、カードＩＤの照合に成功すると、ドアゲート７が保持している所在位置情報を書き込むコマンドをＩＣカード８に送信することで、ＩＣカード８に対して所在位置情報の書き込み要求を行う（図４のＳ４４）。
【００６０】
ＩＣカード８は、所在位置情報を書き込むコマンドを受信すると、該所在位置情報をメモリに書き込み（図４のＳ４５）、書き込みが終了したことを示すメッセージをドアゲート７に返信し、ドアゲート７は該メッセージをＩＣカード８から受信すると、ドアの施錠を解錠する（図４のＳ４６）。
【００６１】
なお、ユーザ３が部屋から退室するときは、図４のＳ４４において、ドアゲート７からＩＣカード８に対して所在位置情報を削除するコマンドが送信され、図４のＳ４５において、所在位置情報がＩＣカードから削除される。
【００６２】
ここから、図１で図示したアクセス管理システムを構成するコンピュータ１、ＵＳＢメモリ１８、ＩＣカード８及び認証サーバ２について、図を参照しながら詳細に説明する。
【００６３】
図５は、コンピュータ１のブロック図で、図５（ａ）はハードウェアブロック図、図５（ｂ）は機能ブロック図である。
【００６４】
図５（ａ）に図示したように、コンピュータ１は汎用的なコンピュータ１で実現され、コンピュータ１はハードウェアとして、ＣＰＵ１０（Central Processing Unit）、ＲＡＭ１１（Random Access Memory）、データ記憶装置であるハードディスク１２、ネットワークインタフェース回路１３、ディスプレイ１４、キーボード１５、ポインティングデバイス１６（例えば、マウス）及びＩＣカードリーダ１７を備えている。
【００６５】
更に、図５（ｂ）に図示したように、本実施形態においては、ＵＳＢメモリ１８に記憶されたシンクライアント用ＯＳがコンピュータ１上で起動することで、コンピュータ１には、図５（ａ）で図示したハードウェアを利用したコンピュータ１プログラムで実現される手段として、図２のＳ３を実行するときに作動するユーザ情報取得手段１００と、図２のＳ４を実行するときに作動する所在位置情報取得手段１０１と、図２のＳ６を実行するときに作動する完全性検証要求手段１０２と、図２のＳ２０を実行するときに作動する検証値算出手段１０３と、図２のＳ１１を実行するときに作動するリモートアクセス手段１０３を備えている。
【００６６】
コンピュータ１のユーザ情報取得手段１００は、キーボード１５やポィンティングデバイス１６などを利用してユーザ３がコンピュータ１に入力したユーザＩＤ及びパスワードを取得し、ユーザＩＤとパスワードをＲＡＭ１１に格納する処理を実行する手段で、所在位置情報取得手段１０１は、コンピュータ１に接続されたＩＣカードリーダ１７を制御し、ＩＣカードリーダ１７と電気的に接続しているＩＣカード８に記憶された所在位置情報を読み取り、ＩＣカード８から読み取った所在位置情報をＲＡＭ１１に格納する処理を実行する手段である。
【００６７】
更に、コンピュータ１の完全性検証要求手段１０２は、コンピュータ１のＲＡＭ１１に格納されたユーザＩＤ、パスワード及び所在位置情報を含み、所定の型式に準じた検証要求メッセージを認証サーバ２に送信して、認証サーバ２に検証要求する処理を実行する手段である。
【００６８】
コンピュータ１の検証値算出手段は、図３で図示した手順のＳ２１、Ｓ２３からＳ２５およびＳ２８を実行する手段で、図２のＳ２０でプラットフォーム完全性検証を実行するとき、コンピュータ１のＲＡＭ１１に展開されたシンクライアント用ＯＳのイメージのハッシュ値（実測値）を算出し、該ハッシュ値（実測値）に加え、コンピュータ１の内部で生成した乱数Ｒｃと認証サーバ２から受信した乱数ｓが結合された構成証明メッセージを生成し、ＩＣカード８が生成したデジタル署名を付与して該構成証明メッセージを認証サーバ２に送信する手段である。
【００６９】
リモートアクセス手段１０３は、認証サーバ２からアクセス許可を示すメッセージを受信したとき、該メッセージで示されるアドレスで示されるいずれかのリソースにリモートアクセスする処理を実行する手段である。
【００７０】
図６は、コンピュータ１に装着されて利用されるＵＳＢメモリ１８のブロック図である。ＵＳＢメモリ１８には、ハードウェアとして、ＵＳＢメモリ１８が装着されたコンピュータ１にＵＳＢメモリ１８をデータ記憶装置として認識させ、該コンピュータ１とＵＳＢ通信するためのコントローラチップ１８０とフラッシュメモリ１８１を備え、フラッシュメモリ１８１にシンクライアント用ＯＳ１８２が記憶されている。
【００７１】
更に、このシンクライアント用ＯＳ１８２には、コンピュータ１のユーザ情報取得手段１００として機能するユーザ情報取得プログラム１８２ａ、所在位置情報取得手段１０１として機能する所在位置情報取得プログラム１８２ｂ、完全性検証要求手段１０２として機能する完全性検証要求プログラム１８３ｃ、検証値算出手段１０３として機能する検証値算出プログラム１８３ｄ、リモートアクセス手段１０３として機能するリモートアクセスプログラム１８３ｅが含まれる。
【００７２】
図７は、ユーザ３が所持するＩＣカード８のブロック図である。ＩＣカード８には、ハードウェアとして、ＣＰＵ８０（Central Processing Unit）、ＲＡＭ８１（Random Access Memory）、ＲＯＭ８２（Read#Only Memory）、ＩＣカードリーダ１７との伝送制御プロトコルに準じたＵＡＲＴ８３、電気的に書き換え可能な不揮発性メモリであるＥＥＰＲＯＭ８４を備えている。
【００７３】
ＩＣカード８のＲＯＭ８２には、ＩＣカード８を動作させるためのコンピュータプログラムとして、ドアゲート７がＩＣカード８のＥＥＰＲＯＭ８４に所在位置情報を書き込むときに実行される書き込みコマンド８００と、ドアゲート７がＩＣカード８のＥＥＰＲＯＭ８４から所在位置情報を削除するときに実行される削除コマンド８０１と、コンピュータ１からの要求を受けて構成証明メッセージのデジタル署名を生成するときに実行されるデジタル署名生成コマンド８０２と、コンピュータ１が所在位置情報を読み出すときに実行される読み出しコマンド８０３が実装され、ＥＥＰＲＯＭ８４には、これらのコマンドによって操作されるデータ（例えば、所在位置情報やデジタル署名秘密鍵）が記憶される。
【００７４】
図８は、認証サーバ２のブロック図で、図８（ａ）はハードウェアブロック図、図８（ｂ）は機能ブロック図である。
【００７５】
図８（ａ）に図示したように、認証サーバ２は汎用的なサーバで実現され、認証サーバ２は、ハードウェアとして、ＣＰＵ２０（Central Processing Unit）、ＲＡＭ２１（Random Access Memory）、データ記憶装置であるハードディスク２２、ネットインタフェース回路２３、ディスプレイ２４、キーボード２５及びポインティングデバイス２６（例えば、マウス）などを備えている。
【００７６】
更に、図８（ｂ）に図示したように、本発明に係わる認証サーバ２として機能するために、認証サーバ２には、図８（ａ）で図示したハードウェアを利用したコンピュータプログラムで実現される手段として、図２のＳ７を実行する手段で、コンピュータ１から送信された検証要求メッセージに含まれるユーザＩＤ及びパスワードを利用してユーザ認証を実行するユーザ認証手段２００と、図２のＳ２０を実行する手段で、認証サーバ２に検証要求メッセージを送信したコンピュータ１のプラットフォームの完全性検証を実行する完全性検証手段２０１を備え、ハッシュ値（設計値）が記憶されているハッシュ値テーブル２０２が検証値テーブルとしてハードディスク２２に設けられている。
【００７７】
認証サーバ２のハードディスク２２に設けられるハッシュ値テーブル２０２には、ユーザ３のユーザＩＤ毎に、ユーザのパスワードと、所在位置情報に関連付けてハッシュ値（設計値）が記憶されている。
【００７８】
認証サーバ２に備えられたユーザ認証手段２００は、コンピュータ１から検証要求メッセージを受信すると、該検証要求メッセージに含まれるユーザＩＤに紐付けられたパスワードをハッシュ値テーブル２０２から取得し、該検証要求メッセージに含まれるパスワードとハッシュ値テーブル２０２から取得したパスワードを照合することで、ユーザ認証を実行する。
【００７９】
認証サーバ２に備えられた完全性検証手段２０１は、図３のＳ２２、Ｓ２９及びＳ３０を実行する手段で、コンピュータ１からの要求を受けて乱数Ｒｓを生成し、コンピュータ１が生成した乱数Ｒｃ、認証サーバ２が生成した乱数Ｒｓ及びハッシュ値（実測値）が結合された構成証明メッセージとデジタル署名を受信すると、認証サーバ２が記憶しているデジタル署名公開鍵を用いて、構成証明メッセージのデジタル署名を検証し、更に、認証サーバ２が保持している乱数Ｒｃ、Ｒｓ及びハッシュ値（設計値）を用いて構成証明メッセージ自身の正当性を検証する手段である。
【００８０】
このように、本発明によれば、認証サーバ２が、ユーザ３がいる部屋６を示す所在位置情報に従い、プラットフォームの完全性検証に利用するハッシュ値（設計値）を決定することで、同じユーザ３が同じＵＳＢメモリ１８を用いたとしても、ユーザ３の所在位置によって、認証サーバ３のプラットフォームの完全性検証の結果（成功／失敗）を変えることができるようになる。
【００８１】
最後に、これまで説明したプラットフォームの完全性検証システム９の効果について説明する。図９は、認証サーバ２が記憶しているハッシュ値テーブル２０２の一例を示した図である。
【００８２】
図９で図示したハッシュ値テーブル２０２には、「００００１」のユーザＩＤにおいて、企業のサテライトオフィスの所在位置情報「Ｒ０１」に関連付けて、プリンタの使用が許可されたシンクライアント用ＯＳ（Ａ）のハッシュ値（設計値）としてハッシュ値Ａが記憶され、それ以外の場所の所在位置情報に関連付けて、プリンタの使用が許可されていないシンクライアント用ＯＳ（Ａ）のハッシュ値（設計値）としてハッシュ値Ｂが記憶されている。
【００８３】
また、図９で図示したハッシュ値テーブル２０２には、「００００２」のユーザＩＤにおいて、すべての所在位置情報に関連付けて、プリンタの使用が許可されていないシンクライアント用ＯＳ（Ａ）のハッシュ値（設計値）としてハッシュ値Ｂが記憶されている。
【００８４】
図１０は、発明の効果を説明する補足図で、図１０ではＵＳＢメモリ１８として、サテライトオフィスに設置されたプリンタの使用が許可されたシンクライアント用ＯＳ（Ａ）が記憶されたＵＳＢメモリ１８ａと、該プリンタの使用が許可されていないシンクライアント用ＯＳ（Ｂ）が記憶されたＵＳＢメモリ１８ｂの２つを図示している。
【００８５】
ユーザＩＤが「００００１」であるユーザ３が、ＵＳＢメモリ１８ａを所持している場合、該ユーザ３がサテライトオフィスに在室しているときは、該ユーザ３が所持するＩＣカード８にサテライトオフィスの所在位置情報「Ｒ０１」が記憶されているため、認証サーバ２は、「００００１」のユーザＩＤに関連付けられ、更に、サテライトオフィスの所在位置情報「Ｒ０１」に関連付けられたハッシュ値Ａを使用してプラットフォームの完全性検証を実行するため、認証サーバ２は、プラットフォームの完全性検証に成功する。
【００８６】
上述した条件で、該ユーザ３がサテライトオフィス以外にいるとき、認証サーバ２は、ハッシュ値Ｂを使用してプラットフォームの完全性検証を実行するため、認証サーバ２は、プラットフォームの完全性検証に失敗する。ただし、該ユーザ３が、ＵＳＢメモリ１８ｂを所持している場合は、該ユーザ３がサテライトオフィス以外にいても、ＵＳＢメモリ１８ｂに記憶されたシンクライアント用ＯＳ（Ｂ）のハッシュ値（設計値）はハッシュ値Ｂであるため、認証サーバ２は、プラットフォーム完全性検証に成功する。
【００８７】
同様に、ユーザＩＤが「００００２」であるユーザ３が、ＵＳＢメモリ１８ｂを所持している場合、該ユーザ３がいる場所に係わらず、認証サーバ２は、ハッシュ値Ｂを使用してプラットフォーム完全性検証を実行するため、認証サーバ２は、該ユーザ３がいる場所に係わらず、プラットフォーム完全性検証に成功するが、該ユーザ３がいる場所に係わらず、該ユーザ３はプリンタ５１を使用することはできない。
【図面の簡単な説明】
【００８８】
【図１】プラットフォームの完全性検証システムの構成を説明する図。
【図２】ラットフォームの完全性検証システムで実行される手順を説明するフロー図。
【図３】プラットフォームの完全性を検証する手順を説明するフロー図。
【図４】ユーザが部屋に入退室するときに実行される手順を説明するフロー図。
【図５】コンピュータのブロック図。
【図６】ＵＳＢメモリのブロック図。
【図７】ＩＣカードのブロック図。
【図８】認証サーバのブロック図。
【図９】ハッシュ値テーブルの一例を示した図。
【図１０】発明の効果を説明する補足図。
【符号の説明】
【００８９】
１  コンピュータ
２  認証サーバ
３  ユーザ
４  インターネット
５  ＬＡＮ
５０  機密情報サーバ
５１  プリンタ
６  企業の部屋
７  ドアゲート
８  ＩＣカード
９  プラットフォームの完全性検証システム
【図１】
2010108313.tif 000003
【図２】
2010108313.tif 000004
【図３】
2010108313.tif 000005
【図４】
2010108313.tif 000006
【図５】
2010108313.tif 000007
【図６】
2010108313.tif 000008
【図７】
2010108313.tif 000009
【図８】
2010108313.tif 000010
【図９】
2010108313.tif 000011
【図１０】
2010108313.tif 000012