説明

プラットフォームの完全性検証システム及び方法

【課題】コンピュータが使用される場所についても検証することのできるプラットフォームの完全性検証システムを提供する。
【解決手段】コンピュータ1はLAN5にアクセスするとき、ユーザ3が所持するICカード8に記憶された所在位置情報を読み取り、認証サーバ2に所在位置情報を送信する。認証サーバ2は、プラットフォームの完全性の検証要求をコンピュータ1から受けると、USBメモリ18に記憶されたシンクライアント用OSのハッシュ値(設計値)を所在位置情報に関連付けて記憶したハッシュ値テーブルを参照し、コンピュータ1から受信した所在位置情報に関連付けられたハッシュ値(設計値)と、コンピュータ1で算出されたハッシュ値(実測値)を少なくとも用いて、コンピュータ1のプラットフォームの完全性検証を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セキュリティ管理されたネットワークへアクセスするクライアントのプラットフォームの完全性を検証するための技術に関する。
【背景技術】
【0002】
近年、企業などにおいて、クライアントに必要最小限の機能のみを持たせ、機密情報な
どの情報資源の管理や、アプリケーションの処理などの機能をLAN(Local Area Network)内に設定されたサーバに集約させたシンクライアントシステム(Thin Client System)の導入が増えてきている。
【0003】
シンクライアントシステムの導入の背景には、(1)日本版SOX法に対応すべく内部
統制の強化、(2)クライアントからの個人情報流出防止などを目的としたセキュリティ
の強化、(3)クライアントの運用管理コスト(パッチ情報、ライセンス管理など)の削
減、(4)テレワーク(Telework)の実現等などがある。
【0004】
シンクライアントシステムを実現するとき、例えば、特許文献1にも記載があるように、最小限の機能のみを備えたシンクライアント用オペレーティングシステム(OS: Operating System)を、USBメモリやCD−ROM(Compact Disc Read Only Memory)などの外部記憶デバイスに記憶させ、該コンピュータ上で該シンクライアント用OSを起動させる。
【0005】
シンクライアント用OSを起動させれば、汎用のコンピュータをシンクライアント端末として利用できるが、故意的或いは偶発的にしても、外部記憶デバイスに記憶されたシンクライアント用OSが改竄されてしまうと、予期せぬ理由により、LAN(Local Area Network)内に設定されたサーバに記憶された機密情報が漏洩してしまう可能性があるため、シンクライアント用OSからLAN内にアクセスする前に、クライアントのプラットフォームの完全性検証として、シンクライアント用OSの完全性を検証することが必要になる。
【0006】
このような問題を解決するために、本出願人は、特別なICチップを使用することなく、シンクライアントシステムの端末として利用されるクライアントのプラットフォームの完全性検証を容易に検証できるシステムを特許文献2で開示しているが、特許文献2で開示されている発明では、クライアントのプラットフォームの完全性検証として、シンクライアントシステムのクライアントが使用される場所についてまでも検証することはできなかった。
【0007】
例えば、持出し可能なノート型のコンピュータをシンクライアントの端末として利用し、シンクライアント用OSにプリンタ出力機能が備えられている場合、ネットカフェなどの公共の場で機密情報がプリントアウトされると、第三者に機密情報が漏洩する可能性があるため、クライアントのプラットフォーム完全性検証として、該クライアントが利用される場所についても検証できることが望ましい。
【特許文献1】特開2007−29913号公報
【特許文献2】特願2008−012402号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
そこで、本発明は、シンクライアントシステムのように、セキュリティ管理されたネットワークへリモートアクセスするコンピュータのプラットフォームの完全性を検証するときに、該コンピュータが使用される場所についても検証することのできるプラットフォームの完全性検証システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決する第1の発明は、セキュリティ管理されたネットワーク外のコンピュータと、前記コンピュータのプラットフォームの完全性を検証する認証サーバとから少なくとも構成されたプラットフォームの完全性検証システムであって、前記コンピュータを操作するユーザの所在位置情報を取得する所在位置情報取得手段と、前記所在位置情報を少なくとも前記認証サーバに送信し、プラットフォームの完全性の検証を要求する完全性検証要求手段と、前記認証サーバからの要求を受けて、前記コンピュータのプラットフォームの検証値の実測値を算出し、前記検証値の実測値を前記認証サーバに送信する検証値算出手段を前記コンピュータに備えさせ、プラットフォームの完全性の検証要求を受けたとき、前記検証値の実測値の送信要求し、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した検証値テーブルを参照して、前記所在位置情報に関連付けられている前記検証値の設計値を用い、前記コンピュータから受信した前記検証値の実測値の正当性を検証する完全性検証手段を前記認証サーバに備えさせるように構成されていることを特徴とするプラットフォームの完全性検証システムである。
【0010】
上述した第1の発明によれば、前記認証サーバが、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した前記検証値テーブルを備え、前記コンピュータのプラットフォームの完全性を検証するときに、前記所在位置情報に関連付けられた前記検証値の設計値を用いることで、前記コンピュータの使用が許可された場所の前記所在位置情報のみ関連付けて前記検証値の設計値を記憶させておけば、該場所以外ではプラットフォームの完全性検証に失敗するため、該コンピュータが使用される場所についても検証することのできるようになる。
【0011】
更に、第2の発明は、第1の発明に記載のプラットフォーム検証システムであって、前記プラットフォームの完全性検証システムには、部屋の出入り口に設けられるドアゲートが含まれ、前記ドアゲートは、前記ユーザの入室時にドアの施錠を解錠するとき、前記ドアゲートが設置された前記部屋を示す前記所在位置情報を、前記ユーザが所持するICカードに書き込み、前記ユーザの退室時にドアの施錠を解錠するとき、前記所在位置情報を前記ICカードから削除する施錠制御手段を備え、前記コンピュータに備えられる前記所在位置情報取得手段は、前記ユーザが所持する前記ICカードから前記所在位置情報を読み取る手段であることを特徴とするプラットフォームの完全性検証システムである。
【0012】
リモートアクセスを管理したい状況としては、企業のLAN(Local Area Network)へのリモートアクセスを管理したい状況が多いため、上述した第2の発明のように、前記部屋に設置された前記ドアゲートで前記所在位置情報をICカードに書き込み、前記コンピュータで前記ICカードに記憶された前記所在位置情報を読み取るようにすれば、企業内外も含め、前記コンピュータの使用場所を容易に特定できるようになる。
【0013】
更に、第3の発明は、第2の発明に記載のプラットフォーム検証システムであって、前記コンピュータに、前記コンピュータを操作するユーザから少なくともユーザIDを取得するユーザ情報取得手段を備えさせ、前記完全性検証要求手段は、前記所在位置情報に加え前記ユーザIDを前記認証サーバに送信する手段で、前記認証サーバの前記完全性検証手段は、前記ユーザID毎に、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した前記検証値テーブルを参照し、前記コンピュータから受信した前記ユーザIDにおいて、前記所在位置情報に関連付けられている前記検証値の設計値を用いることを特徴とするプラットフォームの完全性検証システムである。
【0014】
上述した第3の発明のように、前記認証サーバが、前記ユーザID毎に、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶することで、前記ユーザに与えられているアクセス権限に応じて、プラットフォームの完全性検証を行うようにすることができる。
【0015】
更に、第4の発明は、第3の発明に記載のプラットフォーム検証システムであって、前記コンピュータのプラットフォームは、前記コンピュータのメモリに展開されたシンクライアント用オペレーティングシステムであって、前記検証値は、前記シンクライアント用オペレーティングシステムのイメージのハッシュ値で、前記コンピュータに備えられる手段は、前記シンクライアント用オペレーティングシステムによって前記コンピュータに提供される手段であることを特徴とするプラットフォームの完全性検証システムである。
【0016】
更に、第5の発明は、第4の発明に記載のプラットフォーム検証システムであって、前記シンクライアント用オペレーティングシステムは、前記ユーザが所持するUSBメモリに格納され、前記USBメモリが前記コンピュータに装着されたとき、前記シンクライアント用オペレーティングシステムが前記コンピュータで自動的に起動するように構成されていることを特徴とするプラットフォームの完全性検証システムである。
【0017】
上述した第4の発明及び第5の発明のような構成とすることで、本発明に係わるプラットフォームの完全性検証システムをシンクライアントシステムに適用できる。
【0018】
更に、第6の発明は、セキュリティ管理されたネットワーク外のコンピュータのプラットフォームの完全性を検証する方法であって、前記コンピュータが、前記コンピュータを操作するユーザの所在位置情報を取得する共に、前記コンピュータのプラットフォームの検証値の実測値を算出して、プラットフォームの完全性を検証する認証サーバに前記所在位置情報と前記検証値の実測値を送信し、前記認証サーバが、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した検証値テーブルを参照して、前記コンピュータから受信した前記所在位置情報に関連付けられている前記検証値の設計値を用い、前記コンピュータから受信した前記検証値の実測値の正当性を検証することを特徴とするプラットフォームの完全性検証方法である。
【0019】
上述した第6の発明によれば、第1の発明と同様の効果を得ることができる。
【発明の効果】
【0020】
このように、上述した本発明によれば、シンクライアントシステムのように、セキュリティ管理されたネットワークへリモートアクセスするコンピュータのプラットフォームの完全性を検証するときに、該コンピュータが使用される場所についても検証することのできるプラットフォームの完全性検証システム及び方法を提供できる。
【発明を実施するための最良の形態】
【0021】
ここから、本発明の好適な実施形態について、図を参照しながら詳細に説明する。図1は、本実施形態におけるプラットフォームの完全性検証システム9の構成を説明する図である。
【0022】
図1で図示したプラットフォームの完全性検証システム9は、USBメモリ18を利用したシンクライアントシステムに本発明を適用したときの実施形態で、シンクライアント端末として利用され、ICカードリーダ17が接続されたノート型のコンピュータ1と、セキュリティ管理されたLAN5(Loacal Area Network)に接続され、コンピュータ1からLAN5内のリソースへのリモートアクセスを管理する認証サーバ2とから少なくとも構成され、図1では、LAN5内のリソースとして、機密情報が記憶されている機密情報サーバ50を図示し、更に、LAN5とインターネット4を区分けするファイヤーウォール機器51を図示している。
【0023】
また、本実施形態のプラットフォーム完全性検証システム9を利用するユーザ3は、機能が限定されたシンクライアント用OS(OS: Operating System)が記憶されたUSBメモリ18と、企業内の部屋6(例えば、サテライトオフィス)に設置されたドアゲート7の解錠に利用するICカード8を所持している。
【0024】
図1のプラットフォーム完全性検証システム9を構成する認証サーバ2は、RADIUS(Radius: Remote Authentication Dial In User Service)プロトコルに対応したRADIUSサーバなどを利用して実現されるWebサーバで、LAN5外からLAN5内のリソースにアクセスするユーザ3をユーザ認証する一般的なRADIUSサーバの機能に加え、LAN5内のリソースにアクセスするコンピュータ1のプラットフォームの完全性を検証する機能を備えている。
【0025】
図1で図示した認証サーバ2は、LAN5内のリソースにアクセスするコンピュータ1のプラットフォームの完全性検証を実施するとき、該コンピュータ1のメモリに展開されたシンクライアント用OSの正当性の検証に加え、該コンピュータ1の使用場所の正当性をも検証する。
【0026】
認証サーバ2は、特許文献2で開示されている内容に従い、コンピュータ1のメモリに展開されたシンクライアント用OSの正当性を検証するために、コンピュータ1を操作するユーザID毎に、USBメモリ18に記憶されたシンクライアント用OSのイメージのハッシュ値(設計値)を、プラットフォームの検証値として、コンピュータ1が利用される場所を示す所在位置情報に関連付けて記憶している。
【0027】
ユーザ3が部屋6に入室するとき、ユーザ3が入室する部屋6を特定する情報である所在位置情報がドアゲート7によってICカード8に書き込まれ、コンピュータ1のメモリに展開されたシンクライアント用OSの正当性を検証するとき、コンピュータ1は、ユーザ3からユーザIDを取得し、更に、ICカード8から所在位置情報を読み取り、認証サーバ2は、コンピュータ1から受信したユーザIDに関連付けられたハッシュ値(設計値)の中から、所在位置情報に関連付けられたハッシュ値(設計値)を利用し、プラットフォームの完全性検証を行う。
【0028】
このように、該コンピュータから受信した所在位置情報に関連付けられたハッシュ値(設計値)を利用してプラットフォームの完全性検証を認証サーバ3が行うことで、シンクライアント用OSに備えられた機能の使用を禁止したい場所で、シンクライアント用OSの使用を禁止することができるようになる。
【0029】
例えば、機密情報サーバ50及びプリンタを利用するための機能がシンクライアント用OSに備えられ、認証サーバ2に部屋6(例えば、サテライトオフィス)に設置されたドアゲート7が保持している所在位置情報のみに関連付けてハッシュ値(設計値)を記憶しておけば、ユーザ3が部屋6に在室しているときは、部屋6から機密情報サーバ50へのアクセスや部屋6に設置されたプリンタ60を利用できるが、ユーザ3が企業外6a(例えば、ネットカフェ)でコンピュータ1を使用するとき、プラットフォームの完全性検証を失敗にするため、企業外6aから機密情報サーバ50へのアクセスや企業外6aのプリンタ60aを利用できないようにすることができる。
【0030】
ここから、本発明に係わる方法の説明も兼ねて、図1で図示したプラットフォームの完全性検証システム9で実行される処理について説明する。図2は、プラットフォームの完全性検証システム9で実行される手順を説明するフロー図である。
【0031】
ユーザ3が所持するUSBメモリ18は、特許第3767818号で開示されているようなブートアップ機能を備えたデバイスで、ユーザ3は、LAN5外のコンピュータ1を操作してLAN5内のリソースにリモートアクセスするとき、ユーザ3は、コンピュータ1のUSBポートにUSBメモリ18を接続させると、USBメモリ18に備えられたブートアップ機能によって、USBメモリ18に記憶されたシンクライアント用OSのイメージ(バイトコード)がコンピュータ1のメモリに展開され、該コンピュータ1上でシンクライアント用OSが起動し、シンクライアント用OSが起動すると、コンピュータ1は認証サーバ2にアクセス要求する(図2のS1)。
【0032】
認証サーバ2は、コンピュータ1からアクセス要求を受けると、アクセス要求したコンピュータ1に対して認証要求する(図2のS2)。
【0033】
シンクライアント用OSが起動したコンピュータ1は、認証サーバ2にリモートアクセスする前に、ユーザID及びパスワードを入力する画面をディスプレイに表示し、キーボードなどを用いてユーザ3にユーザID及びパスワードを入力させ、ユーザ3が入力したユーザID及びパスワードを取得する(図2のS3)。
【0034】
次に、コンピュータ1は、LAN5内のリソースへのリモートアクセスにはICカード8が必要であることを示すメッセージをディスプレイに表示させ、ICカードリーダ17がICカード8を検知すると、コンピュータ1は、ICカード8に対して所在位置情報を読み出すコマンドを送信し、ICカード8に対して所在位置情報の送信要求を行う(図2のS4)。
【0035】
所在位置情報を読み出すコマンドをICカード8がコンピュータ1から受信すると、ICカード8は所在位置情報をICカードリーダ17経由でコンピュータ1に送信し(図2のS5)、コンピュータ1は、ICカード8から所在位置情報を受信すると、ユーザID、パスワード及び所在位置情報を含み、所定の型式に準じた検証要求メッセージを認証サーバ2に送信し、認証サーバ2に認証応答する(図2のS6)。
【0036】
認証サーバ2は、ユーザ3のユーザIDに紐付けしてユーザ3のパスワードが記憶し、認証サーバ2は、検証要求メッセージに含まれるユーザIDに紐付けられているパスワードと検証要求メッセージに含まれるパスワードを照合することで、ユーザ3をユーザ認証する(図2のS7)。
【0037】
ユーザ認証を実行すると、認証サーバ2は、ユーザ認証の結果に応じて処理を分岐させ、ユーザ認証に成功するとプラットフォーム完全性検証を実行する処理を続行し、ユーザ認証に失敗すると、認証サーバ2は、プラットフォーム完全性検証を実行することなく、この手順を終了する。
【0038】
認証サーバ2は、ユーザ認証に成功すると、認証サーバ2に記憶しているハッシュ値(設計値)の中から、検証要求メッセージに含まれる所定位置情報に関連付けて記憶しているハッシュ値(設計値)を、プラットフォームの完全性検証に利用するハッシュ値(設計値)に決定する(図2のS8)。
【0039】
プラットフォームの完全性検証に利用するハッシュ値(設計値)を決定すると、検証要求メッセージを送信したコンピュータ1に対して、プラットフォームの完全性検証を要求し(図2のS9)、特許文献2で開示されている内容に従い、コンピュータ1と認証サーバ2間でデータがやり取りされて、プラットフォーム完全性検証が実行される(図2のS20)。
【0040】
プラットフォームの完全性検証が終了すると、認証サーバ2は、プラットフォームの完全性検証の結果に応じて処理を分岐し(図2のS10)、プラットフォーム完全性検証に失敗すると、コンピュータ1のリモートアクセスを許可することなく処理を終了させ、プラットフォーム完全性検証に成功すると、検証要求メッセージを送信したコンピュータ1に対して、LAN5内のリソースへのアクセス許可を示すメッセージを送信する(図2のS11)。
【0041】
LAN5へのアクセス許可が通知されると、コンピュータ1は、LAN5内のいずれかのリソースへのリモートアクセスを開始し(図2のS12)、図2で図示した手順は終了する。
【0042】
次に、図3を参照しながら、図2のS10で実行されるプラットフォームの完全性を検証する手順について説明する。コンピュータ1と認証サーバ2間でプラットフォームの完全性検証を実施するとき、シンクライアント用OSが起動したコンピュータ1は、プラットフォームの完全性検証に利用する乱数Rcを生成し、生成した乱数Rcをコンピュータ1のメモリに保持すると共に、インターネット4を介して、乱数Rcを含む乱数生成要求メッセージを認証サーバ2に送信する(図3のS21)。
【0043】
認証サーバ2は、コンピュータ1から乱数Rcを受信すると、プラットフォームの完全性検証で利用する乱数Rsを生成し、乱数Rsをコンピュータ1に送信すると共に(S11)、プラットフォームの完全性検証が終了するまで乱数Rcおよび乱数Rsを認証サーバ2のメモリに保持する(図3のS22)。
【0044】
コンピュータ1は、認証サーバ2から乱数Rsを受信すると、認証サーバ40から送信された乱数Rsをコンピュータ1のメモリに保持した後、コンピュータ1のメモリに展開されたシンクライアント用OSのイメージから、定められたアルゴリズム(例えば、SHA1)に従いハッシュ値(実測値)を演算し(図3のS23)、ハッシュ値(実測値)、乱数Rcおよび乱数Rsが結合された構成証明メッセージを生成する(図3のS24)。
【0045】
コンピュータ1は構成証明メッセージを生成すると、シンクライアント用OSにハードコードされているMAC鍵を用い、定められた手順(例えば、ISO/IEC 9797-1に準じた手順)に従い、構成証明メッセージのMACを演算し、ICカードリーダ17を介して、構成証明メッセージおよびMACを含んだデジタル署名生成コマンドをICカード8に送信することで、構成証明メッセージのデジタル署名の生成をICカード8に要求する(図3のS25)。
【0046】
ICカード8は、構成証明メッセージおよびMACを含んだデジタル署名生成コマンドのコマンドメッセージを受信すると、ICカード8が記憶しているMAC鍵を用い、コンピュータ1と同じアルゴリズムで構成証明メッセージからMACを演算し、コンピュータ1から送信されたMACと自身が演算したMACとが同一であるか検証することで、コンピュータ1で起動しているシンクライアント用OSの正当性を検証する(図3のS26)。
【0047】
ICカード8は、構成証明メッセージのMAC検証に成功/失敗で処理を分岐させ、構成証明メッセージのMAC検証に成功したときは、構成証明メッセージのデジタル署名を生成する処理を実行し、構成証明メッセージのMAC検証に失敗したときは、MACの検証に失敗したことを示すエラーメッセージをコンピュータ1に返信して、この手順を終了する。
【0048】
ICカード8は、図3のS26において、構成証明メッセージのMAC検証に成功すると、デジタル秘密署名鍵を用い、定められたデジタル署名生成アルゴリズム(例えば、PKCS#1など)に従い、構成証明メッセージのデジタル署名を生成し、生成したデジタル署名をコンピュータ1に返信する(図3のS27)。
【0049】
コンピュータ1は、構成証明メッセージのデジタル署名をICカード8から受信すると、インターネット4を介して、構成証明メッセージとデジタル署名を認証サーバ2に送信する(図3のS28)。
【0050】
構成証明メッセージとデジタル署名を受信すると、認証サーバ2は、認証サーバ2が記憶し,ICカード8に記憶されたデジタル署名秘密鍵と対になるデジタル署名公開鍵を用いて、定められたアルゴリズムに従い、構成証明メッセージのデジタル署名を検証することで、デジタル署名を生成したICカード8の正当性を検証する(図3のS29)。
【0051】
認証サーバ2は、構成証明メッセージのデジタル署名の検証に失敗すると、プラットフォーム完全性検証に失敗したと判断してこの手順を終了し、構成証明メッセージのデジタル署名の検証に成功すると、構成証明メッセージ自身の正当性を検証することで、プラットフォーム完全性を検証する(図3のS30)
【0052】
具体的に、認証サーバ2は、構成証明メッセージのデジタル署名の検証に成功すると、認証サーバ2のメモリに保持されているRcおよびRs、並びに、図2のS6で決定したハッシュ値(設計値)を参照し、構成証明メッセージに含まれるRc、Rsおよびハッシュ値(実測値)が正しい値であるか確認することで、構成証明メッセージの正当性を検証する。
【0053】
認証サーバ2は、構成証明メッセージ自身の検証に失敗すると、プラットフォーム完全性検証に失敗したと判断してこの手順を終了し、構成証明メッセージ自身の正当性の検証に成功すると、プラットフォーム完全性検証に成功したと判断してこの手順を終了する。
【0054】
なお、図2で図示した手順において、認証サーバ2が、プラットフォームの完全性検証に利用するハッシュ値(設計値)を決定するときに利用する所在位置情報は、部屋6にユーザ3が入室する際に利用するドアゲート7によってICカード8に書き込まれ、ユーザが該部屋6から退室する際に、ドアゲート7によってICカード8から所在位置情報は削除される。
【0055】
図4は、ユーザ3が部屋6に入退室するときに実行される手順を説明するフロー図である。
【0056】
ユーザ3が企業内の部屋6に入室(退室)するとき、該部屋6の入口に設けられたドアゲート7にICカード8を近接させると、ドアゲート7はICカード8を検知する(図4のS40)。
【0057】
ドアゲート7がICカード8を検知すると、ドアゲート7は、ICカード8毎にユニークな番号であるカードIDを読み出すコマンドをICカード8に送信することで、ICカード8に対してカードIDの送信を要求する(図4のS41)。
【0058】
ICカード8は、カードIDを読み出すコマンドを受信すると、ドアゲート7に対して自身が保持しているカードIDを送信し(図2のS42)、ドアゲート7は、ICカード8から受信したカードIDがドアゲート7に登録されているか確認することで、ICカード8から受信したカードIDを照合する(図4のS43)。
【0059】
ドアゲート7は、カードIDの照合に失敗すると、ドアゲート7を解錠することなくこの手順を終了し、カードIDの照合に成功すると、ドアゲート7が保持している所在位置情報を書き込むコマンドをICカード8に送信することで、ICカード8に対して所在位置情報の書き込み要求を行う(図4のS44)。
【0060】
ICカード8は、所在位置情報を書き込むコマンドを受信すると、該所在位置情報をメモリに書き込み(図4のS45)、書き込みが終了したことを示すメッセージをドアゲート7に返信し、ドアゲート7は該メッセージをICカード8から受信すると、ドアの施錠を解錠する(図4のS46)。
【0061】
なお、ユーザ3が部屋から退室するときは、図4のS44において、ドアゲート7からICカード8に対して所在位置情報を削除するコマンドが送信され、図4のS45において、所在位置情報がICカードから削除される。
【0062】
ここから、図1で図示したアクセス管理システムを構成するコンピュータ1、USBメモリ18、ICカード8及び認証サーバ2について、図を参照しながら詳細に説明する。
【0063】
図5は、コンピュータ1のブロック図で、図5(a)はハードウェアブロック図、図5(b)は機能ブロック図である。
【0064】
図5(a)に図示したように、コンピュータ1は汎用的なコンピュータ1で実現され、コンピュータ1はハードウェアとして、CPU10(Central Processing Unit)、RAM11(Random Access Memory)、データ記憶装置であるハードディスク12、ネットワークインタフェース回路13、ディスプレイ14、キーボード15、ポインティングデバイス16(例えば、マウス)及びICカードリーダ17を備えている。
【0065】
更に、図5(b)に図示したように、本実施形態においては、USBメモリ18に記憶されたシンクライアント用OSがコンピュータ1上で起動することで、コンピュータ1には、図5(a)で図示したハードウェアを利用したコンピュータ1プログラムで実現される手段として、図2のS3を実行するときに作動するユーザ情報取得手段100と、図2のS4を実行するときに作動する所在位置情報取得手段101と、図2のS6を実行するときに作動する完全性検証要求手段102と、図2のS20を実行するときに作動する検証値算出手段103と、図2のS11を実行するときに作動するリモートアクセス手段103を備えている。
【0066】
コンピュータ1のユーザ情報取得手段100は、キーボード15やポィンティングデバイス16などを利用してユーザ3がコンピュータ1に入力したユーザID及びパスワードを取得し、ユーザIDとパスワードをRAM11に格納する処理を実行する手段で、所在位置情報取得手段101は、コンピュータ1に接続されたICカードリーダ17を制御し、ICカードリーダ17と電気的に接続しているICカード8に記憶された所在位置情報を読み取り、ICカード8から読み取った所在位置情報をRAM11に格納する処理を実行する手段である。
【0067】
更に、コンピュータ1の完全性検証要求手段102は、コンピュータ1のRAM11に格納されたユーザID、パスワード及び所在位置情報を含み、所定の型式に準じた検証要求メッセージを認証サーバ2に送信して、認証サーバ2に検証要求する処理を実行する手段である。
【0068】
コンピュータ1の検証値算出手段は、図3で図示した手順のS21、S23からS25およびS28を実行する手段で、図2のS20でプラットフォーム完全性検証を実行するとき、コンピュータ1のRAM11に展開されたシンクライアント用OSのイメージのハッシュ値(実測値)を算出し、該ハッシュ値(実測値)に加え、コンピュータ1の内部で生成した乱数Rcと認証サーバ2から受信した乱数sが結合された構成証明メッセージを生成し、ICカード8が生成したデジタル署名を付与して該構成証明メッセージを認証サーバ2に送信する手段である。
【0069】
リモートアクセス手段103は、認証サーバ2からアクセス許可を示すメッセージを受信したとき、該メッセージで示されるアドレスで示されるいずれかのリソースにリモートアクセスする処理を実行する手段である。
【0070】
図6は、コンピュータ1に装着されて利用されるUSBメモリ18のブロック図である。USBメモリ18には、ハードウェアとして、USBメモリ18が装着されたコンピュータ1にUSBメモリ18をデータ記憶装置として認識させ、該コンピュータ1とUSB通信するためのコントローラチップ180とフラッシュメモリ181を備え、フラッシュメモリ181にシンクライアント用OS182が記憶されている。
【0071】
更に、このシンクライアント用OS182には、コンピュータ1のユーザ情報取得手段100として機能するユーザ情報取得プログラム182a、所在位置情報取得手段101として機能する所在位置情報取得プログラム182b、完全性検証要求手段102として機能する完全性検証要求プログラム183c、検証値算出手段103として機能する検証値算出プログラム183d、リモートアクセス手段103として機能するリモートアクセスプログラム183eが含まれる。
【0072】
図7は、ユーザ3が所持するICカード8のブロック図である。ICカード8には、ハードウェアとして、CPU80(Central Processing Unit)、RAM81(Random Access Memory)、ROM82(Read#Only Memory)、ICカードリーダ17との伝送制御プロトコルに準じたUART83、電気的に書き換え可能な不揮発性メモリであるEEPROM84を備えている。
【0073】
ICカード8のROM82には、ICカード8を動作させるためのコンピュータプログラムとして、ドアゲート7がICカード8のEEPROM84に所在位置情報を書き込むときに実行される書き込みコマンド800と、ドアゲート7がICカード8のEEPROM84から所在位置情報を削除するときに実行される削除コマンド801と、コンピュータ1からの要求を受けて構成証明メッセージのデジタル署名を生成するときに実行されるデジタル署名生成コマンド802と、コンピュータ1が所在位置情報を読み出すときに実行される読み出しコマンド803が実装され、EEPROM84には、これらのコマンドによって操作されるデータ(例えば、所在位置情報やデジタル署名秘密鍵)が記憶される。
【0074】
図8は、認証サーバ2のブロック図で、図8(a)はハードウェアブロック図、図8(b)は機能ブロック図である。
【0075】
図8(a)に図示したように、認証サーバ2は汎用的なサーバで実現され、認証サーバ2は、ハードウェアとして、CPU20(Central Processing Unit)、RAM21(Random Access Memory)、データ記憶装置であるハードディスク22、ネットインタフェース回路23、ディスプレイ24、キーボード25及びポインティングデバイス26(例えば、マウス)などを備えている。
【0076】
更に、図8(b)に図示したように、本発明に係わる認証サーバ2として機能するために、認証サーバ2には、図8(a)で図示したハードウェアを利用したコンピュータプログラムで実現される手段として、図2のS7を実行する手段で、コンピュータ1から送信された検証要求メッセージに含まれるユーザID及びパスワードを利用してユーザ認証を実行するユーザ認証手段200と、図2のS20を実行する手段で、認証サーバ2に検証要求メッセージを送信したコンピュータ1のプラットフォームの完全性検証を実行する完全性検証手段201を備え、ハッシュ値(設計値)が記憶されているハッシュ値テーブル202が検証値テーブルとしてハードディスク22に設けられている。
【0077】
認証サーバ2のハードディスク22に設けられるハッシュ値テーブル202には、ユーザ3のユーザID毎に、ユーザのパスワードと、所在位置情報に関連付けてハッシュ値(設計値)が記憶されている。
【0078】
認証サーバ2に備えられたユーザ認証手段200は、コンピュータ1から検証要求メッセージを受信すると、該検証要求メッセージに含まれるユーザIDに紐付けられたパスワードをハッシュ値テーブル202から取得し、該検証要求メッセージに含まれるパスワードとハッシュ値テーブル202から取得したパスワードを照合することで、ユーザ認証を実行する。
【0079】
認証サーバ2に備えられた完全性検証手段201は、図3のS22、S29及びS30を実行する手段で、コンピュータ1からの要求を受けて乱数Rsを生成し、コンピュータ1が生成した乱数Rc、認証サーバ2が生成した乱数Rs及びハッシュ値(実測値)が結合された構成証明メッセージとデジタル署名を受信すると、認証サーバ2が記憶しているデジタル署名公開鍵を用いて、構成証明メッセージのデジタル署名を検証し、更に、認証サーバ2が保持している乱数Rc、Rs及びハッシュ値(設計値)を用いて構成証明メッセージ自身の正当性を検証する手段である。
【0080】
このように、本発明によれば、認証サーバ2が、ユーザ3がいる部屋6を示す所在位置情報に従い、プラットフォームの完全性検証に利用するハッシュ値(設計値)を決定することで、同じユーザ3が同じUSBメモリ18を用いたとしても、ユーザ3の所在位置によって、認証サーバ3のプラットフォームの完全性検証の結果(成功/失敗)を変えることができるようになる。
【0081】
最後に、これまで説明したプラットフォームの完全性検証システム9の効果について説明する。図9は、認証サーバ2が記憶しているハッシュ値テーブル202の一例を示した図である。
【0082】
図9で図示したハッシュ値テーブル202には、「00001」のユーザIDにおいて、企業のサテライトオフィスの所在位置情報「R01」に関連付けて、プリンタの使用が許可されたシンクライアント用OS(A)のハッシュ値(設計値)としてハッシュ値Aが記憶され、それ以外の場所の所在位置情報に関連付けて、プリンタの使用が許可されていないシンクライアント用OS(A)のハッシュ値(設計値)としてハッシュ値Bが記憶されている。
【0083】
また、図9で図示したハッシュ値テーブル202には、「00002」のユーザIDにおいて、すべての所在位置情報に関連付けて、プリンタの使用が許可されていないシンクライアント用OS(A)のハッシュ値(設計値)としてハッシュ値Bが記憶されている。
【0084】
図10は、発明の効果を説明する補足図で、図10ではUSBメモリ18として、サテライトオフィスに設置されたプリンタの使用が許可されたシンクライアント用OS(A)が記憶されたUSBメモリ18aと、該プリンタの使用が許可されていないシンクライアント用OS(B)が記憶されたUSBメモリ18bの2つを図示している。
【0085】
ユーザIDが「00001」であるユーザ3が、USBメモリ18aを所持している場合、該ユーザ3がサテライトオフィスに在室しているときは、該ユーザ3が所持するICカード8にサテライトオフィスの所在位置情報「R01」が記憶されているため、認証サーバ2は、「00001」のユーザIDに関連付けられ、更に、サテライトオフィスの所在位置情報「R01」に関連付けられたハッシュ値Aを使用してプラットフォームの完全性検証を実行するため、認証サーバ2は、プラットフォームの完全性検証に成功する。
【0086】
上述した条件で、該ユーザ3がサテライトオフィス以外にいるとき、認証サーバ2は、ハッシュ値Bを使用してプラットフォームの完全性検証を実行するため、認証サーバ2は、プラットフォームの完全性検証に失敗する。ただし、該ユーザ3が、USBメモリ18bを所持している場合は、該ユーザ3がサテライトオフィス以外にいても、USBメモリ18bに記憶されたシンクライアント用OS(B)のハッシュ値(設計値)はハッシュ値Bであるため、認証サーバ2は、プラットフォーム完全性検証に成功する。
【0087】
同様に、ユーザIDが「00002」であるユーザ3が、USBメモリ18bを所持している場合、該ユーザ3がいる場所に係わらず、認証サーバ2は、ハッシュ値Bを使用してプラットフォーム完全性検証を実行するため、認証サーバ2は、該ユーザ3がいる場所に係わらず、プラットフォーム完全性検証に成功するが、該ユーザ3がいる場所に係わらず、該ユーザ3はプリンタ51を使用することはできない。
【図面の簡単な説明】
【0088】
【図1】プラットフォームの完全性検証システムの構成を説明する図。
【図2】ラットフォームの完全性検証システムで実行される手順を説明するフロー図。
【図3】プラットフォームの完全性を検証する手順を説明するフロー図。
【図4】ユーザが部屋に入退室するときに実行される手順を説明するフロー図。
【図5】コンピュータのブロック図。
【図6】USBメモリのブロック図。
【図7】ICカードのブロック図。
【図8】認証サーバのブロック図。
【図9】ハッシュ値テーブルの一例を示した図。
【図10】発明の効果を説明する補足図。
【符号の説明】
【0089】
1 コンピュータ
2 認証サーバ
3 ユーザ
4 インターネット
5 LAN
50 機密情報サーバ
51 プリンタ
6 企業の部屋
7 ドアゲート
8 ICカード
9 プラットフォームの完全性検証システム


【特許請求の範囲】
【請求項1】
セキュリティ管理されたネットワーク外のコンピュータと、前記コンピュータのプラットフォームの完全性を検証する認証サーバとから少なくとも構成されたプラットフォームの完全性検証システムであって、前記コンピュータを操作するユーザの所在位置情報を取得する所在位置情報取得手段と、前記所在位置情報を少なくとも前記認証サーバに送信し、プラットフォームの完全性の検証を要求する完全性検証要求手段と、前記認証サーバからの要求を受けて、前記コンピュータのプラットフォームの検証値の実測値を算出し、前記検証値の実測値を前記認証サーバに送信する検証値算出手段を前記コンピュータに備えさせ、プラットフォームの完全性の検証要求を受けたとき、前記検証値の実測値の送信要求し、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した検証値テーブルを参照して、前記所在位置情報に関連付けられている前記検証値の設計値を用い、前記コンピュータから受信した前記検証値の実測値の正当性を検証する完全性検証手段を前記認証サーバに備えさせるように構成されていることを特徴とするプラットフォームの完全性検証システム。
【請求項2】
請求項1に記載のプラットフォーム検証システムであって、前記プラットフォームの完全性検証システムには、部屋の出入り口に設けられるドアゲートが含まれ、前記ドアゲートは、前記ユーザの入室時にドアの施錠を解錠するとき、前記ドアゲートが設置された前記部屋を示す前記所在位置情報を、前記ユーザが所持するICカードに書き込み、前記ユーザの退室時にドアの施錠を解錠するとき、前記所在位置情報を前記ICカードから削除する施錠制御手段を備え、前記コンピュータに備えられる前記所在位置情報取得手段は、前記ユーザが所持する前記ICカードから前記所在位置情報を読み取る手段であることを特徴とするプラットフォームの完全性検証システム。
【請求項3】
請求項2に記載のプラットフォーム検証システムであって、前記コンピュータに、前記コンピュータを操作するユーザから少なくともユーザIDを取得するユーザ情報取得手段を備えさせ、前記完全性検証要求手段は、前記所在位置情報に加え前記ユーザIDを前記認証サーバに送信する手段で、前記認証サーバの前記完全性検証手段は、前記ユーザID毎に、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した前記検証値テーブルを参照し、前記コンピュータから受信した前記ユーザIDにおいて、前記所在位置情報に関連付けられている前記検証値の設計値を用いることを特徴とするプラットフォームの完全性検証システム。
【請求項4】
請求項3に記載のプラットフォーム検証システムであって、前記コンピュータのプラットフォームは、前記コンピュータのメモリに展開されたシンクライアント用オペレーティングシステムであって、前記検証値は、前記シンクライアント用オペレーティングシステムのイメージのハッシュ値で、前記コンピュータに備えられる手段は、前記シンクライアント用オペレーティングシステムによって前記コンピュータに提供される手段であることを特徴とするプラットフォームの完全性検証システム。
【請求項5】
請求項4に記載のプラットフォーム検証システムであって、前記シンクライアント用オペレーティングシステムは、前記ユーザが所持するUSBメモリに格納され、前記USBメモリが前記コンピュータに装着されたとき、前記シンクライアント用オペレーティングシステムが前記コンピュータで自動的に起動するように構成されていることを特徴とするプラットフォームの完全性検証システム。
【請求項6】
セキュリティ管理されたネットワーク外のコンピュータのプラットフォームの完全性を検証する方法であって、前記コンピュータが、前記コンピュータを操作するユーザの所在位置情報を取得する共に、前記コンピュータのプラットフォームの検証値の実測値を算出して、プラットフォームの完全性を検証する認証サーバに前記所在位置情報と前記検証値の実測値を送信し、前記認証サーバが、前記所在位置情報に関連付けて前記検証値の設計値を少なくとも記憶した検証値テーブルを参照して、前記コンピュータから受信した前記所在位置情報に関連付けられている前記検証値の設計値を用い、前記コンピュータから受信した前記検証値の実測値の正当性を検証することを特徴とするプラットフォームの完全性検証方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−108313(P2010−108313A)
【公開日】平成22年5月13日(2010.5.13)
【国際特許分類】
【出願番号】特願2008−280504(P2008−280504)
【出願日】平成20年10月30日(2008.10.30)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】