(57)【要約】【課題】容易に画面ロックおよび画面ロック解除を行うことが可能なシンクライアントシステム等を提供する。【解決手段】クライアント端末１０は、マウントされたUSBデバイス２０に記憶されているシンクライアントＯＳを読み出して起動する。クライアント端末１０は、VPNサーバ５０および完全性検証サーバ６０との認証に成功すると、USBデバイス２０に記憶されているデバイスＩＤを読み出して、完全性検証サーバ６０に送信し、そこで管理されているデバイスＩＤに関連付けられたユーザＩＤを取得する。クライアント端末１０は、ＩＣカードリーダ・ライタ３０で読み取らせたＩＣカード３１に記憶されているユニークなＩＤと、完全性検証サーバ６０から取得したユーザＩＤとが一致するか否かの検証を行う。クライアント端末１０は、検証の結果、ユーザＩＤとユニークＩＤが一致する場合には、画面ロック解除するように制御する。【選択図】図１
2012053529.tif 000002
【特許請求の範囲】
【請求項１】
クライアント端末、および、ネットワークを介して前記クライアント端末からの要求に応じてアプリケーションを実行するシンクライアントサーバからなるシンクライアントシステムにおいて、
前記クライアント端末は、
装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動手段と、
前記起動手段により起動された前記シンクライアントオペレーティングシステムに含まれるデバイスＩＤを、前記シンクライアントサーバに送信し、対応するユーザＩＤを取得する取得手段と、
装着されたＩＣカードに記憶されているユニークＩＤを取得し、前記取得手段により取得された前記ユーザＩＤと一致するか否かを判定する判定手段と、
前記判定手段の判定結果に応じて、画面ロックを制御する画面ロック制御手段と
を備え、
前記シンクライアントサーバは、
前記デバイスＩＤと前記ユーザＩＤを関連付けたテーブルを記憶するテーブル記憶手段と、
前記クライアント端末からの要求に応じて、前記テーブル記憶手段に記憶されている前記テーブルの中から、対応する前記ユーザＩＤを読み出して応答する応答手段と
を備えることを特徴とするシンクライアントシステム。
【請求項２】
前記クライアント端末は、位置情報を検出する位置情報検出手段をさらに備え、
前記シンクライアントサーバの前記テーブル記憶手段は、前記デバイスＩＤに関連付けて、前記画面ロックを解除することができる場所情報をさらに記憶し、
前記クライアント端末の前記取得手段は、前記シンクライアントサーバから、前記デバイスＩＤに対応する前記場所情報をさらに取得し、
前記クライアント端末の前記判定手段は、前記位置情報検出手段で検出された前記位置情報と前記取得手段により取得された前記場所情報が一致するか否かをさらに判定する
ことを特徴とする請求項１に記載のシンクライアントシステム。
【請求項３】
クライアント端末、および、ネットワークを介して前記クライアント端末からの要求に応じてアプリケーションを実行するシンクライアントサーバからなるシンクライアントシステムの画面ロック制御方法において、
前記クライアント端末は、
装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動ステップと、
前記起動ステップで起動した前記シンクライアントオペレーティングシステムに含まれるデバイスＩＤを、前記シンクライアントサーバに送信し、対応するユーザＩＤを取得する取得ステップと、
装着されたＩＣカードに記憶されているユニークＩＤを取得し、前記取得ステップで取得した前記ユーザＩＤと一致するか否かを判定する判定ステップと、
前記判定ステップの判定結果に応じて、画面ロックを制御する画面ロック制御ステップと
を含み、
前記シンクライアントサーバは、
前記デバイスＩＤと前記ユーザＩＤを関連付けたテーブルを記憶するテーブル記憶ステップと、
前記クライアント端末からの要求に応じて、前記テーブル記憶ステップで記憶した前記テーブルの中から、対応する前記ユーザＩＤを読み出して応答する応答ステップと
を含むことを特徴とする画面ロック制御方法。
【請求項４】
ネットワークを介してシンクライアントサーバに対し、アプリケーションの実行を要求するクライアント端末において、
装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動手段と、
前記起動手段により起動された前記シンクライアントオペレーティングシステムに含まれるデバイスＩＤを、前記シンクライアントサーバに送信し、対応するユーザＩＤを取得する取得手段と、
装着されたＩＣカードに記憶されているユニークＩＤを取得し、前記取得手段により取得された前記ユーザＩＤと一致するか否かを判定する判定手段と、
前記判定手段の判定結果に応じて、画面ロックを制御する画面ロック制御手段と
を備えることを特徴とするクライアント端末。
【請求項５】
ネットワークを介してシンクライアントサーバに対し、アプリケーションの実行を要求するコンピュータにより読み取り可能な形式で記述されたプログラムであって、
装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動ステップと、
前記起動ステップで起動した前記シンクライアントオペレーティングシステムに含まれるデバイスＩＤを、前記シンクライアントサーバに送信し、対応するユーザＩＤを取得する取得ステップと、
装着されたＩＣカードに記憶されているユニークＩＤを取得し、前記取得ステップで取得した前記ユーザＩＤと一致するか否かを判定する判定ステップと、
前記判定ステップの判定結果に応じて、画面ロックを制御する画面ロック制御ステップと
を含む処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シンクライアントシステムに関し、特に、通信速度が遅い環境であっても、容易に画面ロックおよび画面ロック解除を行うことが可能なシンクライアントシステム等に関するものである。
【背景技術】
【０００２】
従来、パーソナルコンピュータ等の画面ロックシステムでは、パーソナルコンピュータに専用のアプリケーションをインストールし、ユーザは、セキュリティトークン（コンピュータサービスの利用権限のあるユーザに認証の助けとなるよう与えられる物理的デバイス）あるいはＩＣカード等のデバイスをパーソナルコンピュータに装着して、装着中のみパーソナルコンピュータが利用でき、取り外した場合にパーソナルコンピュータの画面がロックされる。
【０００３】
近年、クライアント端末に必要最小限の機能のみを持たせ、アプリケーションの処理などの機能をサーバに集約させたシンクライアントシステムの導入が増えてきている。
【０００４】
例えば、シンクライアントシステムにおいて画面ロック機能を搭載する場合には、サーバに画面ロックアプリケーションをインストールし、クライアント端末側でセキュリティトークンやＩＣカードのデバイスを装着して、それらに記憶されている情報を読み取り、リダイレクトでサーバに送信して認証する。そして、認証に成功すると、クライアント端末の画面ロックが解除される。
【０００５】
このように、セキュリティ上の脆弱性があるシンクライアントシステムにおいては、画面ロックの制御は重要となる。
【０００６】
例えば、特許文献１には、操作可能な状態にあるシンクライアント装置の盗難防止に関する技術が提案されており、この技術によって、シンクライアントシステムにおけるセキュリティを確保している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−８６７３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
画面転送型のシンクライアントシステムにおいて、クライアント端末とサーバ間でデータ通信が多いと、画面更新の遅延となり、操作性が悪くなる課題があった。
【０００９】
特に、携帯電話機やデータ通信カードといったモバイル機器を利用して社外からシンクライアントシステムにアクセスするような場合には、通信速度が、LAN（Local Area Network）や光ファイバ等と比較すると格段に遅いため、操作性の悪さが深刻である。
【００１０】
また、社外でモバイル機器を利用してシンクライアントシステムにアクセスする場合、第３者に見られてしまう恐れがあり、画面ロック機能の導入の必要性は高い。
【００１１】
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、シンクライアントシステムにおいて、通信速度が遅い環境であっても、容易に画面ロックおよび画面ロック解除を行うことが可能なシンクライアントシステム、画面ロック制御方法、シンクライアント端末、およびプログラムを提供することである。
【課題を解決するための手段】
【００１２】
前述した目的を達成するために、第１の発明は、クライアント端末、および、ネットワークを介して前記クライアント端末からの要求に応じてアプリケーションを実行するシンクライアントサーバからなるシンクライアントシステムであって、前記クライアント端末は、装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動手段と、前記起動手段により起動された前記シンクライアントオペレーティングシステムに含まれるデバイスＩＤを、前記シンクライアントサーバに送信し、対応するユーザＩＤを取得する取得手段と、装着されたＩＣカードに記憶されているユニークＩＤを取得し、前記取得手段により取得された前記ユーザＩＤと一致するか否かを判定する判定手段と、前記判定手段の判定結果に応じて、画面ロックを制御する画面ロック制御手段とを備え、前記シンクライアントサーバは、前記デバイスＩＤと前記ユーザＩＤを関連付けたテーブルを記憶するテーブル記憶手段と、前記クライアント端末からの要求に応じて、前記テーブル記憶手段に記憶されている前記テーブルの中から、対応する前記ユーザＩＤを読み出して応答する応答手段とを備えることを特徴とするシンクライアントサーバである。第１の発明によって、シンクライアントシステムにおいて、容易に画面ロックおよび画面ロック解除することができる。
【００１３】
前記クライアント端末は、位置情報を検出する位置情報検出手段をさらに備え、前記シンクライアントサーバの前記テーブル記憶手段は、前記デバイスＩＤに関連付けて、前記画面ロックを解除することができる場所情報をさらに記憶し、前記クライアント端末の前記取得手段は、前記シンクライアントサーバから、前記デバイスＩＤに対応する前記場所情報をさらに取得し、前記クライアント端末の前記判定手段は、前記位置情報検出手段で検出された前記位置情報と前記取得手段により取得された前記場所情報が一致するか否かをさらに判定する。
これにより、クライアント端末がシンクライアントシステムを使用できる状態で盗難された場合にも、容易に画面ロックすることが可能となる。
【００１４】
第２の発明は、クライアント端末、および、ネットワークを介して前記クライアント端末からの要求に応じてアプリケーションを実行するシンクライアントサーバからなるシンクライアントシステムの画面ロック制御方法であって、前記クライアント端末は、装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動ステップと、前記起動ステップで起動した前記シンクライアントオペレーティングシステムに含まれるデバイスＩＤを、前記シンクライアントサーバに送信し、対応するユーザＩＤを取得する取得ステップと、装着されたＩＣカードに記憶されているユニークＩＤを取得し、前記取得ステップで取得した前記ユーザＩＤと一致するか否かを判定する判定ステップと、前記判定ステップの判定結果に応じて、画面ロックを制御する画面ロック制御ステップとを含み、前記シンクライアントサーバは、前記デバイスＩＤと前記ユーザＩＤを関連付けたテーブルを記憶するテーブル記憶ステップと、前記クライアント端末からの要求に応じて、前記テーブル記憶ステップで記憶した前記テーブルの中から、対応する前記ユーザＩＤを読み出して応答する応答ステップとを含むことを特徴とする画面ロック制御方法である。
【００１５】
第３の発明は、ネットワークを介してシンクライアントサーバに対し、アプリケーションの実行を要求するクライアント端末であって、装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動手段と、前記起動手段により起動された前記シンクライアントオペレーティングシステムに含まれるデバイスＩＤを、前記シンクライアントサーバに送信し、対応するユーザＩＤを取得する取得手段と、装着されたＩＣカードに記憶されているユニークＩＤを取得し、前記取得手段により取得された前記ユーザＩＤと一致するか否かを判定する判定手段と、前記判定手段の判定結果に応じて、画面ロックを制御する画面ロック制御手段とを備えることを特徴とするクライアント端末である。
【００１６】
第４の発明は、ネットワークを介してシンクライアントサーバに対し、アプリケーションの実行を要求するコンピュータにより読み取り可能な形式で記述されたプログラムであって、装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動ステップと、前記起動ステップで起動した前記シンクライアントオペレーティングシステムに含まれるデバイスＩＤを、前記シンクライアントサーバに送信し、対応するユーザＩＤを取得する取得ステップと、装着されたＩＣカードに記憶されているユニークＩＤを取得し、前記取得ステップで取得した前記ユーザＩＤと一致するか否かを判定する判定ステップと、前記判定ステップの判定結果に応じて、画面ロックを制御する画面ロック制御ステップとを含む処理をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１７】
本発明により、シンクライアントシステムにおいて、通信速度が遅い環境であっても、容易に画面ロックおよび画面ロック解除を行うことが可能なシンクライアントシステム、画面ロック制御方法、シンクライアント端末、およびプログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態としてのUSBシンクライアントシステムの構成例を示す図である。
【図２】クライアント端末の構成例を示す図である。
【図３】USBデバイスの構成例を示す図である。
【図４】完全性検証サーバの機能構成例を示すブロック図である。
【図５】ユーザＩＤテーブル記憶部に記憶されるテーブルの例を示す図である。
【図６】シンクライアントシステムにおいて、プラットフォームの完全性を検証し、画面ロックを制御する一連の処理を説明するフローチャートである。
【図７】図６に続くフローチャートである。
【発明を実施するための形態】
【００１９】
以下、図面に基づいて、本発明の実施形態を詳細に説明する。
【００２０】
［本発明の実施の形態］
図１は、本発明の実施の形態としてのUSB（Universal Serial Bus）シンクライアントシステムの構成例を示す図である。
【００２１】
図１に示すように、USBシンクライアントシステムは、クライアント端末１０、クライアント端末１０と接続されるUSBデバイス２０およびＩＣカードリーダ・ライタ３０、クライアント端末１０とネットワーク４０を介して接続されるVPN（Virtual Private Network）サーバ５０、VPNサーバ５０と接続される完全性検証サーバ６０、完全性検証サーバ６０と接続されるシンクライアントサーバ７０とから構成される。なお、クライアント端末１０の数は、任意であり、図１に示されるように１つに限られるものではない。
【００２２】
USBシンクライアントシステムとは、シンクライアントＯＳ（Operation System）が格納されたUSBデバイス２０をクライアント端末１０にマウント（装着）し、このクライアント端末１０をシンクライアント化させてシンクライアントサーバ７０にリモートアクセスするシステムのことである。
【００２３】
クライアント端末１０は、CPU（Central Processing Unit）、ROM（Read Only Memory）、RAM（Random Access Memory）、およびHDD（Hard Disc Drive）などを実装したコンピュータシステムである。クライアント端末１０は、マウントされたUSBデバイス２０に記憶されているシンクライアントＯＳを読み出して起動し、ネットワーク４０を介してVPNサーバ５０との認証を行う。クライアント端末１０は、VPNサーバ５０との認証に成功すると、ネットワーク４０およびVPNサーバ５０を介して完全性検証サーバ６０との認証を行う。
【００２４】
クライアント端末１０は、完全性検証サーバ６０との認証に成功すると、USBデバイス２０に記憶されているデバイスＩＤを読み出して、ネットワーク４０を介して完全性検証サーバ６０に送信し、そこで管理されているデバイスＩＤに関連付けられたユーザＩＤと場所情報を取得する。場所情報とは、クライアント端末１０の画面ロックを解除することが可能な場所を特定する情報である。
【００２５】
クライアント端末１０は、ネットワーク４０、VPNサーバ５０、および完全性検証サーバ６０を介してシンクライアントサーバ７０との認証を行い、認証に成功すると、シンクライアントＯＳに含まれる画面ロックアプリケーションを起動する。
【００２６】
クライアント端末１０は、ＩＣカードリーダ・ライタ３０で読み取らせたＩＣカード（例えば、ＩＣカード機能付き社員証）３１に記憶されているユニークなＩＤ（例えば、社員ＩＤ）と、完全性検証サーバ６０から取得したユーザＩＤとが一致するか否かの検証を行うとともに、クライアント端末１０の位置情報と、完全性検証サーバ６０から取得した場所情報とが一致するか否かの検証を行う。検証の結果、ユニークＩＤと位置情報のいずれも一致する場合には、クライアント端末１０は、画面ロックを解除し、シンクライアントサーバ７０で管理されているアプリケーションを遠隔で実行させる。尚、位置情報の検証は必須ではなく、ユニークＩＤの検証のみでも良い。
【００２７】
USBデバイス２０は、クライアント端末１０と着脱可能になされており、クライアント端末１０で実行するためのシンクライアントＯＳや、USBデバイス２０を一意に識別することが可能なデバイスＩＤ等を記憶する携帯型記憶デバイスである。またUSBデバイス２０には、位置情報を検出するための手段（GPS（Global Positioning System）受信機）も内蔵されている。本実施の形態では、携帯型記憶デバイスとしてUSBメモリを適用するが、これに限らず、他の記憶媒体を用いることも可能である。
【００２８】
ＩＣカードリーダ・ライタ３０は、ＩＣカード３１が装着（近接）されると、ＩＣカード３１に記憶されているデータを読み出して、クライアント端末１０に送信したり、クライアント端末１０から受信したデータを、ＩＣカード３１に書き込んだりする。ＩＣカード３１には、ユニークＩＤ（所有者を一意に識別する情報）が記憶されている。
【００２９】
ネットワーク４０は、公衆回線網、ローカルエリアネットワーク、またはインターネットなどのネットワーク、デジタル衛星放送といった、有線または無線のいずれのものでもよい。
【００３０】
VPNサーバ５０は、CPU、ROM、RAM、およびHDDなどを実装したコンピュータシステムであり、Ipsec（Security Architecture for Internet Protocol）またはSSL（Secure Sockets Layer）を利用して、ネットワーク４０を介してクライアント端末１０と送受信するデータを暗号化することで、VPNを構築するために設置される機器である。
【００３１】
完全性検証サーバ６０は、CPU、ROM、RAM、およびHDDなどを実装したコンピュータシステムであり、ハッシュ値を含む構成証明メッセージ等を用いて、プラットフォーム完全性を検証するための認証サーバである。プラットフォーム完全性検証とは、シンクライアントＯＳが改竄されてしまうと、個人データなどの機密データが漏洩する可能性があるため、クライアント端末１０に展開されるシンクライアントＯＳが改竄されているか否かを検証することである。
【００３２】
完全性検証サーバ６０は、デバイスＩＤ、ユーザＩＤ、および場所情報を関連付けたテーブルを記憶している。デバイスＩＤとは、USBデバイス２０を一意に識別する情報である。ユーザＩＤとは、USBデバイス２０を用いてクライアント端末１０をシンクライアント化することが許可されたユーザを一意に識別する情報である。場所情報は、上述したように、クライアント端末１０の画面ロックを解除することが可能な場所を特定する情報である。完全性検証サーバ６０は、クライアント端末１０からの要求に含まれるデバイスＩＤに基づいて、対応するユーザＩＤおよび場所情報を読み出し、VPNサーバ５０およびネットワーク４０を介してクライアント端末１０に返信する。
【００３３】
シンクライアントサーバ７０は、CPU、ROM、RAM、およびHDDなどを実装したコンピュータシステムであり、さまざまなアプリケーションを一括管理し、クライアント端末１０からの要求に応じて、アプリケーションを実行する。
【００３４】
なお、完全性検証サーバ６０が行うプラットフォーム完全性を検証する機能や、デバイスＩＤに基づいて対応するユーザＩＤおよび場所情報を返信する機能をシンクライアントサーバ７０に搭載するようにしてもよい。
【００３５】
図２は、図１に示すクライアント端末１０の構成例を示す図である。このクライアント端末１は、CPU１１、ROM１２、RAM１３、および入出力インターフェイス１４が、バス１５を介して接続されている。入出力インターフェイス１４には、入力部１６、表示部１７、記憶部１８、および通信部１９が接続されている。また入出力インターフェイス１４には、USBデバイス２０やＩＣカードリーダ・ライタ３０が着脱可能になっている。
【００３６】
CPU１１は、入力部１６からの入力信号に基づいてクライアント端末１０を起動するためのブートプログラムをROM１２から読み出して実行し、記憶部１８に格納されている各種オペレーティングシステムを読み出す。またCPU１１は、マウントされたUSBデバイス２０に記憶されているシンクライアントＯＳのイメージをRAM１３に展開し、起動させるブート手段として機能する。
【００３７】
さらにCPU１１は、入力部１６からの入力信号に基づいて各種の制御を行ったり、ROM１２や記憶部１８に記憶されたプログラムおよびデータを読み出してRAM１３にロードしたり、あるいはRAM１３から読み出されたプログラムのコマンドに基づいて、データ演算または加工などの一連の処理を実行する。
【００３８】
入力部１６は、クライアント端末１０の操作者が各種の操作を入力するキーボードやマウスなどの入力デバイスにより構成されており、操作者の操作に基づいて入力信号を生成し、入出力インターフェイス１４およびバス１５を介してCPU１１に送信する。
【００３９】
表示部１７は、例えば液晶ディスプレイであり、CPU１１からバス１５および入出力インターフェイス１４を介して受信した信号に基づいて、CPU１１の処理結果などを表示する。
【００４０】
記憶部１８は、半導体メモリや磁気ディスクなどで構成されており、CPU１１で実行されるプログラムやデータを記憶する。記憶部１８には、CPU１１が実行するプログラムとして、例えば、各サーバとの認証を行うための認証アプリケーション等が用意される。
【００４１】
通信部１９は、LAN（Local Area Network）カードやモデムなどで構成されており、クライアント端末１０をローカルエリアネットワークやインターネットといった通信媒体であるネットワーク４０に接続することを可能にする。すなわち通信部１９は、通信媒体から受信したデータを、入出力インターフェイス１４およびバス１５を介してCPU１１に送信し、CPU１１からバス１５および入出力インターフェイス１４を介して受信したデータを、ネットワーク４０に送信する。
【００４２】
USBデバイス２０には、シンクライアントＯＳやデバイスＩＤが記憶されており、CPU１１からの要求に応じて、それらの情報が、入出力インターフェイス１４およびバス１５を介してCPU１１に送信される。
【００４３】
ＩＣカードリーダ・ライタ３０は、ＩＣカード３１に記憶されているデータを読み出して、入出力インターフェイス１４およびバス１５を介してCPU１１に送信したり、CPU１１からバス１５および入出力インターフェイス１４を介して受信したデータを、ＩＣカード３１に書き込んだりする。
【００４４】
図３は、USBデバイス２０の構成例を示す図である。
【００４５】
図３に示すように、USBデバイス２０は、フラッシュメモリ部２１、セキュアメモリ部２２、および位置情報検出部２３から構成されている。
フラッシュメモリ部２１には、クライアント端末１０上で動作するシンクライアントＯＳ２１０のイメージ（バイトコード）が格納されている。シンクライアントＯＳ２１０には、ネットワーク情報２１０Ａ、情報読取機能２１０Ｂ、接続機能２１０Ｃ、送受信機能２１０Ｄ、画面ロックアプリケーション２１０Ｅ、計測ソフトウェア２１０Ｆ、ＭＡＣ鍵２１０Ｇが含まれる。尚、ネットワーク情報２１０Ａは、シンクライアントＯＳ２１０に含めずに、セキュアメモリ部２２に格納するようにしても良い。
【００４６】
ネットワーク情報２１０Ａは、VPNサーバ５０、完全性検証サーバ６０、およびシンクライアントサーバ７０の接続先に関する情報である。情報読取機能２１０Ｂは、ＩＣカードリーダ・ライタ３０を介してＩＣカード３１に記憶されている情報を読み取る機能である。接続機能２１０Ｃは、ネットワーク情報２１０Ａに基づいて、各サーバに接続する機能である。送受信機能２１０Ｄは、各サーバとデータの送受信を行う機能である。画面ロックアプリケーション２１０Ｅは、クライアント端末１０の画面をロックしたり、画面ロックを解除したりするアプリケーションである。
【００４７】
計測ソフトウェア２１０Ｆは、シンクライアントＯＳ２１０のイメージのハッシュ値を演算する機能を備えたコンピュータプログラムである。ＭＡＣ鍵２１０Ｇは、クライアント端末１０のプラットフォーム完全性検証で利用する暗号鍵としてハードコードされている。
【００４８】
セキュアメモリ部２２には、USBデバイス２０を一意に識別することが可能な情報であるデバイスＩＤ２２０Ａ、デジタル署名コマンド２２０Ｂ、デジタル署名秘密鍵２２０Ｃ、ＭＡＣ鍵２２０Ｄが格納されている。
デジタル署名秘密鍵２２０Ｃ、ＭＡＣ鍵２２０Ｄは、クライアント端末１０のプラットフォーム完全性検証で利用する暗号鍵である。デジタル署名コマンド２２０Ｂは、ＭＡＣ鍵２２０Ｄを用いて、クライアント端末１０が生成する構成証明メッセージのＭＡＣを検証し、構成証明メッセージの検証に成功すると、デジタル署名秘密鍵２２０Ｃを用いて、構成証明メッセージのデジタル署名を生成するためのコマンドである。
【００４９】
位置情報検出部２３は、USBデバイス２０の位置情報を検出するためのGPS受信機である。尚、位置情報検出部２３は、クライアント端末１０が備えるようにしても良い。
【００５０】
図４は、完全性検証サーバ６０の機能構成例を示すブロック図である。図４に示す機能部のうちの少なくとも一部は、完全検証サーバ６０のCPUにより検証プログラムが実行されることによって実現される。
【００５１】
図４に示すように、完全性検証サーバ６０は、デジタル署名検証部６１、メッセージ検証部６２、デジタル署名公開鍵記憶部６３、ハッシュ値の期待値記憶部６４、ユーザＩＤ応答部６５、およびユーザＩＤテーブル記憶部６６の機能を少なくとも有する。
【００５２】
デジタル署名検証部６１は、クライアント端末１０が生成した構成証明メッセージおよびデジタル署名を受信すると作動し、デジタル署名公開鍵記憶部６３に記憶されているデジタル署名公開鍵を用いて、定められたデジタル署名検証アルゴリズムに従い、構成証明メッセージのデジタル署名を検証することで、デジタル署名を生成したクライアント端末１０の正当性を検証する。
【００５３】
メッセージ検証部６２は、デジタル署名検証部６１が構成証明メッセージのデジタル署名の検証に成功すると作動し、シンクライアントＯＳ２１０のハッシュ値の期待値記憶部６４に記憶されているハッシュ値の期待値を参照し、構成証明メッセージに含まれるハッシュ値が正しい内容であるか否かを確認することで、構成証明メッセージの正当性を検証する。
【００５４】
デジタル署名公開鍵記憶部６３は、デジタル署名検証部６１が構成証明メッセージのデジタル署名を検証する際に利用する、USBデバイス２０に記憶されているデジタル署名秘密鍵２２０Ｃと対になるデジタル署名公開鍵を記憶する。ハッシュ値の期待値記憶部６４は、シンクライアントＯＳ２１０のハッシュ値の期待値を記憶する。
【００５５】
ユーザＩＤ応答部６５は、クライアント端末１０から送信されてきたデバイスＩＤを受信すると作動し、ユーザＩＤテーブル記憶部６６に記憶されている情報の中から、受信したデバイスＩＤに関連付けられているユーザＩＤや場所情報を読み出し、クライアント端末１０に返信（応答）する。
【００５６】
ユーザＩＤテーブル記憶部６６には、例えば、図５に示すように、デバイスＩＤ、ユーザＩＤ、および場所情報が関連付けられたテーブルが記憶されている。なお、図５の例では、デバイスＩＤに関連付けて、１つの場所情報が記憶されているが、複数の場所情報（例えば、本社の場所情報と支社の場所情報）を記憶させることも勿論可能である。
【００５７】
次に、図６および図７のフローチャートを参照して、シンクライアントシステムにおいて、プラットフォームの完全性を検証し、画面ロックを制御する一連の処理について説明する。
【００５８】
ステップＳ１において、クライアント端末１０のCPU１１は、USBデバイス２０がクライアント端末１０に装着されると、入出力インターフェイス１４を利用して、USBデバイス２０とデータのやり取りすることで、クライアント端末１０に装着されたUSBデバイス２０をマウントする。
【００５９】
ステップＳ２において、クライアント端末１０のCPU１１は、USBデバイス２０に記憶されているシンクライアントＯＳ２１０のイメージを読み出す。ステップＳ３において、クライアント端末１０のCPU１１は、ステップＳ２の処理で読み出したシンクライアントＯＳ２１０のイメージをRAM１３に展開し、クライアント端末１０上でシンクライアントＯＳ２１０を起動させる。またクライアント端末１０のCPU１１は、シンクライアントＯＳ２１０がクライアント端末１０上で起動すると、シンクライアントＯＳ２１０に含まれる計測ソフトウェア２１０Ｆを自動的に起動する。
【００６０】
ステップＳ４において、クライアント端末１０のCPU１１は、シンクライアントＯＳ２１０の接続機能２１０Ｃを用いて、ネットワーク情報２１０Ａに基づいてネットワーク４０を介してVPNサーバ５０に接続し、VPNサーバ５０にユーザ名および認証データ（例えば、パスワード）を送信してユーザ認証を要求する。
【００６１】
ステップＳ５において、VPNサーバ５０は、ネットワーク４０を介してクライアント端末１０から送信されてきたユーザ名および認証データを用いて、クライアント端末１０を利用するユーザを認証する。
【００６２】
ステップＳ６において、VPNサーバ５０は、ステップＳ５の処理でユーザ認証に成功したか否かを判定し、認証に成功したと判定した場合、ステップＳ７に進み、認証に成功したことを示すメッセージを、ネットワーク４０を介してクライアント端末１０に送信し、接続を許可する。
【００６３】
ステップＳ６において、VPNサーバ５０は、ステップＳ５の処理でユーザ認証に失敗したと判定した場合には、エラーメッセージを、ネットワーク４０を介してクライアント端末１０に送信し、処理を終了する。
【００６４】
ステップＳ８において、クライアント端末１０のCPU１１は、シンクライアントＯＳ２１０の接続機能２１０Ｃを用いて、ネットワーク情報２１０Ａに基づいて、ネットワーク４０およびVPNサーバ５０を介して完全性検証サーバ６０に接続し、プラットフォーム完全性検証に利用する乱数Ｒｃを生成し、乱数Ｒｃを含む乱数生成要求メッセージを完全性検証サーバ６０に送信する。なお、クライアント端末１０のCPU１１は、プラットフォーム完全性検証が終了するまで、生成した乱数Ｒｃをクライアント端末１０のRAM１３に保持しておく。
【００６５】
ステップＳ９において、完全性検証サーバ６０のデジタル署名検証部６１は、ネットワーク４０およびVPNサーバ５０を介してクライアント端末１０から乱数Ｒｃを受信すると、プラットフォーム完全性検証で利用する乱数Ｒｓを生成し、乱数Ｒｓをクライアント１０に送信する。なお、完全性検証サーバ６０のデジタル署名検証部６１は、プラットフォーム完全性検証が終了するまで乱数Ｒｃおよび乱数Ｒｓを図示せぬRAMに保持する。
【００６６】
ステップＳ１０において、クライアント端末１０のCPU１１は、完全性検証サーバ６０からVPNサーバ５０およびネットワーク４０を介して乱数Ｒｓを受信すると、それをRAM１３に保持した後、クライアント端末１０のRAM１３に展開されたシンクライアントＯＳ２１０のイメージすべてから、定められたアルゴリズム（例えば、ＳＨＡ１）に従いハッシュ値を演算し、ハッシュ値、乱数Ｒｃおよび乱数Ｒｓが結合された構成証明メッセージを生成する。そして、クライアント端末１０のCPU１１は、シンクライアントＯＳ２１０にハードコードされているＭＡＣ鍵２１０Ｇを用いて、定められた手順（例えば、ISO/IEC 9797-1に準じた手順）に従って、ステップＳ１０の処理で生成した構成証明メッセージのＭＡＣを演算する。
【００６７】
ステップＳ１１において、クライアント端末１０のCPU１１は、演算した構成証明メッセージおよびＭＡＣをコマンドメッセージのデータに含ませ、入出力インターフェイス１４を介してUSBデバイス２０に送信することで、構成証明メッセージのデジタル署名の生成をUSBデバイス２０に要求する。
【００６８】
ステップＳ１２において、USBデバイス２０は、構成証明メッセージおよびＭＡＣを含んだデジタル署名コマンドのコマンドメッセージを受信すると、デジタル署名コマンド２２０Ｂを作動させ、ＭＡＣ鍵２２０Ｄを用い、クライアント端末１０のCPU１１と同じアルゴリズムで構成証明メッセージからＭＡＣを演算する。USBデバイス２０のデジタル署名コマンド２２０Ｂは、クライアント端末１０から送信されたＭＡＣと自身が演算したＭＡＣとが同一であるか検証することで、クライアント端末１０で起動している計測ソフトウェア２１０Ｆを検証する。
【００６９】
ステップＳ１３において、USBデバイス２０のデジタル署名コマンド２２０Ｂは、ステップＳ１２の処理で構成証明メッセージのＭＡＣの検証に成功したか否かを判定し、検証に成功したと判定した場合、ステップＳ１４に進む。ステップＳ１４において、USBデバイス２０のデジタル署名コマンド２２０Ｂは、デジタル署名秘密鍵２２０Ｃを用い、定められたデジタル署名生成アルゴリズム（例えば、PKCS#1など）に従い、構成証明メッセージのデジタル署名を生成し、クライアント端末１０に返信する。
【００７０】
ステップＳ１３において、USBデバイス２０のデジタル署名コマンド２２０Ｂは、ステップＳ１２の処理で構成証明メッセージのＭＡＣの検証に失敗したと判定した場合、ＭＡＣの検証に失敗したことを示すエラーメッセージをクライアント端末１０に返信して、処理を終了する。
【００７１】
ステップＳ１５において、クライアント端末１０のCPU１１の送受信機能２１０Ｄは、ステップＳ１０の処理で生成した構成証明メッセージ、およびUSBデバイス２０から返信されたデジタル署名を、ネットワーク４０およびVPNサーバ５０を介して完全性検証サーバ６０に送信する。
【００７２】
ステップＳ１６において、完全性検証サーバ６０は、構成証明メッセージとデジタル署名を受信するとデジタル署名検証部６１が作動し、デジタル署名公開鍵記憶部６３に記憶されているデジタル署名公開鍵を用いて、定められたアルゴリズムに従い、構成証明メッセージのデジタル署名を検証することで、デジタル署名を生成したUSBデバイス２０の正当性を検証する。
【００７３】
そして、構成証明メッセージのデジタル署名の検証に成功すると、完全性検証サーバ６０のメッセージ検証部６２が作動し、完全性検証サーバ６０のRAMに保持されている乱数ＲｃおよびＲｓ、並びに、ハッシュ値の期待値記憶部６４に記憶されているハッシュ値の期待値を参照し、構成証明メッセージに含まれる乱数Ｒｃ、Ｒｓおよびハッシュ値が正しい値であるかを確認することで、構成証明メッセージの正当性を検証する。
【００７４】
ステップＳ１７において、完全性検証サーバ６０のメッセージ検証部６２は、構成証明メッセージの検証に成功したか否かを判定し、構成証明メッセージの検証に成功したと判定した場合、ステップＳ１８に進み、認証に成功したことを示すメッセージを、VPNサーバ５０およびネットワーク４０を介してクライアント端末１０に送信し、接続を許可する。
【００７５】
ステップＳ１７において、完全性検証サーバ６０は、ステップＳ１６の処理で構成証明メッセージの検証に失敗したと判定した場合には、エラーメッセージを、クライアント端末１０に送信し、処理を終了する。
【００７６】
ステップＳ１９において、クライアント端末１０のCPU１１は、USBデバイス２０に記憶されているデバイスＩＤ２２０Ａを読み出し、ネットワーク４０およびVPNサーバ５０を介して完全性検証サーバ６０に送信する。ステップＳ２０において、クライアント端末１０から送信されてきたデバイスＩＤ２２０Ａを受信すると、完全性検証サーバ６０のユーザＩＤ応答部６５が作動し、ユーザＩＤテーブル記憶部６６に記憶されている情報の中から、受信したデバイスＩＤ２２０Ａに関連付けられているユーザＩＤと場所情報を読み出し、クライアント端末１０に返信する。
【００７７】
ステップＳ２１において、クライアント端末１０のCPU１１の送受信機能２１０Ｄは、完全性検証サーバ６０からVPNサーバ５０およびネットワーク４０を介して送信されてきたユーザＩＤと場所情報を受信し、RAM１３に保存する。
【００７８】
ステップＳ２２において、クライアント端末１０のCPU１１は、接続機能２１０Ｃを用いて、ネットワーク情報２１０Ａに基づいて、ネットワーク４０、VPNサーバ５０、および完全性検証サーバ６０を介してシンクライアントサーバ７０に接続し、シンクライアントサーバ７０にユーザ名および認証データ（例えば、パスワード）を送信してユーザ認証を要求する。
【００７９】
ステップＳ２３において、シンクライアントサーバ７０は、クライアント端末１０からネットワーク４０、VPNサーバ５０、および完全性検証サーバ６０を介して送信されてきたユーザ名および認証データを用いて、クライアント端末１０を利用するユーザを認証する。
【００８０】
ステップＳ２４において、シンクライアントサーバ７０は、ステップＳ２３の処理でユーザ認証に成功したか否かを判定し、認証に成功したと判定した場合、ステップＳ２５に進み、認証に成功したことを示すメッセージを、完全性検証サーバ６０、VPNサーバ５０、およびネットワーク４０を介してクライアント端末１０に送信し、接続を許可する。
【００８１】
ステップＳ２４において、シンクライアントサーバ７０は、ステップＳ２３の処理でユーザ認証に失敗したと判定した場合には、エラーメッセージをクライアント端末１０に送信し、処理を終了する。
【００８２】
ステップＳ２６において、クライアント端末１０のCPU１１は、シンクライアントＯＳ２１０に含まれる画面ロックアプリケーション２１０Ｅを起動する。ステップＳ２７において、クライアント端末１０のCPU１１は、情報読取機能２１０Ｂを用いて、ＩＣカードリーダ・ライタ３０を介してＩＣカード３１に記憶されているユニークＩＤを取得する。なお、ステップＳ２７において、クライアント端末１０のCPU１１は、ＩＣカード３１からユニークＩＤを取得できない場合には、画面ロックを設定し、処理を終了する。
【００８３】
ステップＳ２８において、クライアント端末１０のCPU１１は、USBデバイス２０に内蔵されている位置情報検出部２３で検出された位置情報を取得する。ステップＳ２９において、クライアント端末１０のCPU１１は、ステップＳ２１の処理でRAM１３に保存したユーザＩＤとステップＳ２７の処理で取得したユニークＩＤが一致するか否か、および、ステップＳ２１の処理でRAM１３に保存した場所情報とステップＳ２８の処理で取得したクライアント端末１０の位置情報が一致するか否かの検証を行う。
【００８４】
ステップＳ３０において、クライアント端末１０のCPU１１は、ステップＳ２９の検証処理の結果、ユーザＩＤとユニークＩＤ、および、場所情報とクライアント端末１０の位置情報のいずれも一致すると判定した場合、ステップＳ３１に進み、画面ロック解除するように制御する。
【００８５】
ステップＳ３０において、クライアント端末１０のCPU１１は、ユーザＩＤとユニークＩＤ、および、場所情報とクライアント端末１０の位置情報のいずれか一方が少なくとも一致しないと判定した場合、ステップＳ３２に進み、画面ロックするように制御する。例えば、ＩＣカード３１がＩＣカードリーダ・ライタ３０から着脱（離隔）され、ユニークＩＤが取得できなくなった場合には、ユーザＩＤが一致しなくなる。また例えば、クライアント端末１０が、画面ロックを解除することが可能な場所から離れた場合には、場所情報が一致しなくなる。
【００８６】
ステップＳ３３において、クライアント端末１０のCPU１１は、操作者の操作により、シンクライアントサーバ７０との接続を解除することが指示されたか否かを判定し、まだ接続中であると判定した場合、ステップＳ２７に戻り、上述した処理を繰り返し実行する。そして、ステップＳ３３において、クライアント端末１０のCPU１１は、シンクライアントサーバ７０との接続を解除することが指示されたと判定した場合、シンクライアントサーバ７０に接続解除要求を送信し、処理を終了する。
【００８７】
ステップＳ３４において、シンクライアントサーバ７０は、クライアント端末１０からの接続解除要求に応じて、クライアント端末１０との接続を解除し、処理を終了する。
【００８８】
［発明の実施の形態における効果］
１．以上のように、USBデバイス２０に記憶されているデバイスＩＤに関連付けられたユーザＩＤと、ＩＣカード３１（ＩＣカード機能付き社員証）に記憶されているユニークＩＤ（社員ＩＤ）が一致するか否かを検証することで、クライアント端末１０の正規のユーザであるか否かを判定し、その判定結果に応じて、容易に画面のロックまたは画面ロックの解除を制御することができる。
【００８９】
２．USBデバイス２０に記憶されているデバイスＩＤに関連付けられた場所情報と、クライアント端末１０の位置情報が一致するか否かを検証することで、クライアント端末１０が画面ロック解除できる場所にあるか否かを判定し、その判定結果に応じて、容易に画面のロックまたは画面ロックの解除を制御することができる。
【００９０】
３．以上のように、クライアント端末１０は、ユーザ認証等の初期設定以外では、シンクライアントサーバ７０と画面ロック処理における通信を行わないため、通信速度の遅い環境においても、容易に、画面ロックまたは画面ロック解除を行うことが可能となる。
【００９１】
４．デバイスＩＤ、ユーザＩＤ、および場所情報が関連付けられたユーザＩＤテーブルを完全性検証サーバ６０で制御することにより、画面ロック解除の設定を容易に変更することが可能となる。
【００９２】
５．クライアント端末１０の位置情報と画面ロック解除できる場所情報を比較することにより、クライアント端末１０がUSBシンクライアントシステムを使用できる状態で盗難された場合にも、容易に画面ロックすることが可能となる。すなわち、盗難により画面ロック解除できる場所にクライアント端末１０が存在しなくなるため、クライアント端末１０の位置情報と場所情報とが一致しなくなり、画面ロックされることとなる。
【００９３】
以上、添付図面を参照しながら、本発明に係るシンクライアントシステム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００９４】
１０………クライアント端末
１１………CPU
２０………USBデバイス
２３………位置情報検出部
３１………ＩＣカード
４０………ネットワーク
６０………完全性検証サーバ
７０………シンクライアントサーバ
２１０………シンクライアントＯＳ
【図１】
2012053529.tif 000003
【図２】
2012053529.tif 000004
【図３】
2012053529.tif 000005
【図４】
2012053529.tif 000006
【図５】
2012053529.tif 000007
【図６】
2012053529.tif 000008
【図７】
2012053529.tif 000009