説明

シンクライアントシステム、画面ロック制御方法、クライアント端末、およびプログラム

【課題】容易に画面ロックおよび画面ロック解除を行うことが可能なシンクライアントシステム等を提供する。
【解決手段】クライアント端末10は、マウントされたUSBデバイス20に記憶されているシンクライアントOSを読み出して起動する。クライアント端末10は、VPNサーバ50および完全性検証サーバ60との認証に成功すると、USBデバイス20に記憶されているデバイスIDを読み出して、完全性検証サーバ60に送信し、そこで管理されているデバイスIDに関連付けられたユーザIDを取得する。クライアント端末10は、ICカードリーダ・ライタ30で読み取らせたICカード31に記憶されているユニークなIDと、完全性検証サーバ60から取得したユーザIDとが一致するか否かの検証を行う。クライアント端末10は、検証の結果、ユーザIDとユニークIDが一致する場合には、画面ロック解除するように制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シンクライアントシステムに関し、特に、通信速度が遅い環境であっても、容易に画面ロックおよび画面ロック解除を行うことが可能なシンクライアントシステム等に関するものである。
【背景技術】
【0002】
従来、パーソナルコンピュータ等の画面ロックシステムでは、パーソナルコンピュータに専用のアプリケーションをインストールし、ユーザは、セキュリティトークン(コンピュータサービスの利用権限のあるユーザに認証の助けとなるよう与えられる物理的デバイス)あるいはICカード等のデバイスをパーソナルコンピュータに装着して、装着中のみパーソナルコンピュータが利用でき、取り外した場合にパーソナルコンピュータの画面がロックされる。
【0003】
近年、クライアント端末に必要最小限の機能のみを持たせ、アプリケーションの処理などの機能をサーバに集約させたシンクライアントシステムの導入が増えてきている。
【0004】
例えば、シンクライアントシステムにおいて画面ロック機能を搭載する場合には、サーバに画面ロックアプリケーションをインストールし、クライアント端末側でセキュリティトークンやICカードのデバイスを装着して、それらに記憶されている情報を読み取り、リダイレクトでサーバに送信して認証する。そして、認証に成功すると、クライアント端末の画面ロックが解除される。
【0005】
このように、セキュリティ上の脆弱性があるシンクライアントシステムにおいては、画面ロックの制御は重要となる。
【0006】
例えば、特許文献1には、操作可能な状態にあるシンクライアント装置の盗難防止に関する技術が提案されており、この技術によって、シンクライアントシステムにおけるセキュリティを確保している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−86732号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
画面転送型のシンクライアントシステムにおいて、クライアント端末とサーバ間でデータ通信が多いと、画面更新の遅延となり、操作性が悪くなる課題があった。
【0009】
特に、携帯電話機やデータ通信カードといったモバイル機器を利用して社外からシンクライアントシステムにアクセスするような場合には、通信速度が、LAN(Local Area Network)や光ファイバ等と比較すると格段に遅いため、操作性の悪さが深刻である。
【0010】
また、社外でモバイル機器を利用してシンクライアントシステムにアクセスする場合、第3者に見られてしまう恐れがあり、画面ロック機能の導入の必要性は高い。
【0011】
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは、シンクライアントシステムにおいて、通信速度が遅い環境であっても、容易に画面ロックおよび画面ロック解除を行うことが可能なシンクライアントシステム、画面ロック制御方法、シンクライアント端末、およびプログラムを提供することである。
【課題を解決するための手段】
【0012】
前述した目的を達成するために、第1の発明は、クライアント端末、および、ネットワークを介して前記クライアント端末からの要求に応じてアプリケーションを実行するシンクライアントサーバからなるシンクライアントシステムであって、前記クライアント端末は、装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動手段と、前記起動手段により起動された前記シンクライアントオペレーティングシステムに含まれるデバイスIDを、前記シンクライアントサーバに送信し、対応するユーザIDを取得する取得手段と、装着されたICカードに記憶されているユニークIDを取得し、前記取得手段により取得された前記ユーザIDと一致するか否かを判定する判定手段と、前記判定手段の判定結果に応じて、画面ロックを制御する画面ロック制御手段とを備え、前記シンクライアントサーバは、前記デバイスIDと前記ユーザIDを関連付けたテーブルを記憶するテーブル記憶手段と、前記クライアント端末からの要求に応じて、前記テーブル記憶手段に記憶されている前記テーブルの中から、対応する前記ユーザIDを読み出して応答する応答手段とを備えることを特徴とするシンクライアントサーバである。第1の発明によって、シンクライアントシステムにおいて、容易に画面ロックおよび画面ロック解除することができる。
【0013】
前記クライアント端末は、位置情報を検出する位置情報検出手段をさらに備え、前記シンクライアントサーバの前記テーブル記憶手段は、前記デバイスIDに関連付けて、前記画面ロックを解除することができる場所情報をさらに記憶し、前記クライアント端末の前記取得手段は、前記シンクライアントサーバから、前記デバイスIDに対応する前記場所情報をさらに取得し、前記クライアント端末の前記判定手段は、前記位置情報検出手段で検出された前記位置情報と前記取得手段により取得された前記場所情報が一致するか否かをさらに判定する。
これにより、クライアント端末がシンクライアントシステムを使用できる状態で盗難された場合にも、容易に画面ロックすることが可能となる。
【0014】
第2の発明は、クライアント端末、および、ネットワークを介して前記クライアント端末からの要求に応じてアプリケーションを実行するシンクライアントサーバからなるシンクライアントシステムの画面ロック制御方法であって、前記クライアント端末は、装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動ステップと、前記起動ステップで起動した前記シンクライアントオペレーティングシステムに含まれるデバイスIDを、前記シンクライアントサーバに送信し、対応するユーザIDを取得する取得ステップと、装着されたICカードに記憶されているユニークIDを取得し、前記取得ステップで取得した前記ユーザIDと一致するか否かを判定する判定ステップと、前記判定ステップの判定結果に応じて、画面ロックを制御する画面ロック制御ステップとを含み、前記シンクライアントサーバは、前記デバイスIDと前記ユーザIDを関連付けたテーブルを記憶するテーブル記憶ステップと、前記クライアント端末からの要求に応じて、前記テーブル記憶ステップで記憶した前記テーブルの中から、対応する前記ユーザIDを読み出して応答する応答ステップとを含むことを特徴とする画面ロック制御方法である。
【0015】
第3の発明は、ネットワークを介してシンクライアントサーバに対し、アプリケーションの実行を要求するクライアント端末であって、装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動手段と、前記起動手段により起動された前記シンクライアントオペレーティングシステムに含まれるデバイスIDを、前記シンクライアントサーバに送信し、対応するユーザIDを取得する取得手段と、装着されたICカードに記憶されているユニークIDを取得し、前記取得手段により取得された前記ユーザIDと一致するか否かを判定する判定手段と、前記判定手段の判定結果に応じて、画面ロックを制御する画面ロック制御手段とを備えることを特徴とするクライアント端末である。
【0016】
第4の発明は、ネットワークを介してシンクライアントサーバに対し、アプリケーションの実行を要求するコンピュータにより読み取り可能な形式で記述されたプログラムであって、装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動ステップと、前記起動ステップで起動した前記シンクライアントオペレーティングシステムに含まれるデバイスIDを、前記シンクライアントサーバに送信し、対応するユーザIDを取得する取得ステップと、装着されたICカードに記憶されているユニークIDを取得し、前記取得ステップで取得した前記ユーザIDと一致するか否かを判定する判定ステップと、前記判定ステップの判定結果に応じて、画面ロックを制御する画面ロック制御ステップとを含む処理をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0017】
本発明により、シンクライアントシステムにおいて、通信速度が遅い環境であっても、容易に画面ロックおよび画面ロック解除を行うことが可能なシンクライアントシステム、画面ロック制御方法、シンクライアント端末、およびプログラムを提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の実施の形態としてのUSBシンクライアントシステムの構成例を示す図である。
【図2】クライアント端末の構成例を示す図である。
【図3】USBデバイスの構成例を示す図である。
【図4】完全性検証サーバの機能構成例を示すブロック図である。
【図5】ユーザIDテーブル記憶部に記憶されるテーブルの例を示す図である。
【図6】シンクライアントシステムにおいて、プラットフォームの完全性を検証し、画面ロックを制御する一連の処理を説明するフローチャートである。
【図7】図6に続くフローチャートである。
【発明を実施するための形態】
【0019】
以下、図面に基づいて、本発明の実施形態を詳細に説明する。
【0020】
[本発明の実施の形態]
図1は、本発明の実施の形態としてのUSB(Universal Serial Bus)シンクライアントシステムの構成例を示す図である。
【0021】
図1に示すように、USBシンクライアントシステムは、クライアント端末10、クライアント端末10と接続されるUSBデバイス20およびICカードリーダ・ライタ30、クライアント端末10とネットワーク40を介して接続されるVPN(Virtual Private Network)サーバ50、VPNサーバ50と接続される完全性検証サーバ60、完全性検証サーバ60と接続されるシンクライアントサーバ70とから構成される。なお、クライアント端末10の数は、任意であり、図1に示されるように1つに限られるものではない。
【0022】
USBシンクライアントシステムとは、シンクライアントOS(Operation System)が格納されたUSBデバイス20をクライアント端末10にマウント(装着)し、このクライアント端末10をシンクライアント化させてシンクライアントサーバ70にリモートアクセスするシステムのことである。
【0023】
クライアント端末10は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、およびHDD(Hard Disc Drive)などを実装したコンピュータシステムである。クライアント端末10は、マウントされたUSBデバイス20に記憶されているシンクライアントOSを読み出して起動し、ネットワーク40を介してVPNサーバ50との認証を行う。クライアント端末10は、VPNサーバ50との認証に成功すると、ネットワーク40およびVPNサーバ50を介して完全性検証サーバ60との認証を行う。
【0024】
クライアント端末10は、完全性検証サーバ60との認証に成功すると、USBデバイス20に記憶されているデバイスIDを読み出して、ネットワーク40を介して完全性検証サーバ60に送信し、そこで管理されているデバイスIDに関連付けられたユーザIDと場所情報を取得する。場所情報とは、クライアント端末10の画面ロックを解除することが可能な場所を特定する情報である。
【0025】
クライアント端末10は、ネットワーク40、VPNサーバ50、および完全性検証サーバ60を介してシンクライアントサーバ70との認証を行い、認証に成功すると、シンクライアントOSに含まれる画面ロックアプリケーションを起動する。
【0026】
クライアント端末10は、ICカードリーダ・ライタ30で読み取らせたICカード(例えば、ICカード機能付き社員証)31に記憶されているユニークなID(例えば、社員ID)と、完全性検証サーバ60から取得したユーザIDとが一致するか否かの検証を行うとともに、クライアント端末10の位置情報と、完全性検証サーバ60から取得した場所情報とが一致するか否かの検証を行う。検証の結果、ユニークIDと位置情報のいずれも一致する場合には、クライアント端末10は、画面ロックを解除し、シンクライアントサーバ70で管理されているアプリケーションを遠隔で実行させる。尚、位置情報の検証は必須ではなく、ユニークIDの検証のみでも良い。
【0027】
USBデバイス20は、クライアント端末10と着脱可能になされており、クライアント端末10で実行するためのシンクライアントOSや、USBデバイス20を一意に識別することが可能なデバイスID等を記憶する携帯型記憶デバイスである。またUSBデバイス20には、位置情報を検出するための手段(GPS(Global Positioning System)受信機)も内蔵されている。本実施の形態では、携帯型記憶デバイスとしてUSBメモリを適用するが、これに限らず、他の記憶媒体を用いることも可能である。
【0028】
ICカードリーダ・ライタ30は、ICカード31が装着(近接)されると、ICカード31に記憶されているデータを読み出して、クライアント端末10に送信したり、クライアント端末10から受信したデータを、ICカード31に書き込んだりする。ICカード31には、ユニークID(所有者を一意に識別する情報)が記憶されている。
【0029】
ネットワーク40は、公衆回線網、ローカルエリアネットワーク、またはインターネットなどのネットワーク、デジタル衛星放送といった、有線または無線のいずれのものでもよい。
【0030】
VPNサーバ50は、CPU、ROM、RAM、およびHDDなどを実装したコンピュータシステムであり、Ipsec(Security Architecture for Internet Protocol)またはSSL(Secure Sockets Layer)を利用して、ネットワーク40を介してクライアント端末10と送受信するデータを暗号化することで、VPNを構築するために設置される機器である。
【0031】
完全性検証サーバ60は、CPU、ROM、RAM、およびHDDなどを実装したコンピュータシステムであり、ハッシュ値を含む構成証明メッセージ等を用いて、プラットフォーム完全性を検証するための認証サーバである。プラットフォーム完全性検証とは、シンクライアントOSが改竄されてしまうと、個人データなどの機密データが漏洩する可能性があるため、クライアント端末10に展開されるシンクライアントOSが改竄されているか否かを検証することである。
【0032】
完全性検証サーバ60は、デバイスID、ユーザID、および場所情報を関連付けたテーブルを記憶している。デバイスIDとは、USBデバイス20を一意に識別する情報である。ユーザIDとは、USBデバイス20を用いてクライアント端末10をシンクライアント化することが許可されたユーザを一意に識別する情報である。場所情報は、上述したように、クライアント端末10の画面ロックを解除することが可能な場所を特定する情報である。完全性検証サーバ60は、クライアント端末10からの要求に含まれるデバイスIDに基づいて、対応するユーザIDおよび場所情報を読み出し、VPNサーバ50およびネットワーク40を介してクライアント端末10に返信する。
【0033】
シンクライアントサーバ70は、CPU、ROM、RAM、およびHDDなどを実装したコンピュータシステムであり、さまざまなアプリケーションを一括管理し、クライアント端末10からの要求に応じて、アプリケーションを実行する。
【0034】
なお、完全性検証サーバ60が行うプラットフォーム完全性を検証する機能や、デバイスIDに基づいて対応するユーザIDおよび場所情報を返信する機能をシンクライアントサーバ70に搭載するようにしてもよい。
【0035】
図2は、図1に示すクライアント端末10の構成例を示す図である。このクライアント端末1は、CPU11、ROM12、RAM13、および入出力インターフェイス14が、バス15を介して接続されている。入出力インターフェイス14には、入力部16、表示部17、記憶部18、および通信部19が接続されている。また入出力インターフェイス14には、USBデバイス20やICカードリーダ・ライタ30が着脱可能になっている。
【0036】
CPU11は、入力部16からの入力信号に基づいてクライアント端末10を起動するためのブートプログラムをROM12から読み出して実行し、記憶部18に格納されている各種オペレーティングシステムを読み出す。またCPU11は、マウントされたUSBデバイス20に記憶されているシンクライアントOSのイメージをRAM13に展開し、起動させるブート手段として機能する。
【0037】
さらにCPU11は、入力部16からの入力信号に基づいて各種の制御を行ったり、ROM12や記憶部18に記憶されたプログラムおよびデータを読み出してRAM13にロードしたり、あるいはRAM13から読み出されたプログラムのコマンドに基づいて、データ演算または加工などの一連の処理を実行する。
【0038】
入力部16は、クライアント端末10の操作者が各種の操作を入力するキーボードやマウスなどの入力デバイスにより構成されており、操作者の操作に基づいて入力信号を生成し、入出力インターフェイス14およびバス15を介してCPU11に送信する。
【0039】
表示部17は、例えば液晶ディスプレイであり、CPU11からバス15および入出力インターフェイス14を介して受信した信号に基づいて、CPU11の処理結果などを表示する。
【0040】
記憶部18は、半導体メモリや磁気ディスクなどで構成されており、CPU11で実行されるプログラムやデータを記憶する。記憶部18には、CPU11が実行するプログラムとして、例えば、各サーバとの認証を行うための認証アプリケーション等が用意される。
【0041】
通信部19は、LAN(Local Area Network)カードやモデムなどで構成されており、クライアント端末10をローカルエリアネットワークやインターネットといった通信媒体であるネットワーク40に接続することを可能にする。すなわち通信部19は、通信媒体から受信したデータを、入出力インターフェイス14およびバス15を介してCPU11に送信し、CPU11からバス15および入出力インターフェイス14を介して受信したデータを、ネットワーク40に送信する。
【0042】
USBデバイス20には、シンクライアントOSやデバイスIDが記憶されており、CPU11からの要求に応じて、それらの情報が、入出力インターフェイス14およびバス15を介してCPU11に送信される。
【0043】
ICカードリーダ・ライタ30は、ICカード31に記憶されているデータを読み出して、入出力インターフェイス14およびバス15を介してCPU11に送信したり、CPU11からバス15および入出力インターフェイス14を介して受信したデータを、ICカード31に書き込んだりする。
【0044】
図3は、USBデバイス20の構成例を示す図である。
【0045】
図3に示すように、USBデバイス20は、フラッシュメモリ部21、セキュアメモリ部22、および位置情報検出部23から構成されている。
フラッシュメモリ部21には、クライアント端末10上で動作するシンクライアントOS210のイメージ(バイトコード)が格納されている。シンクライアントOS210には、ネットワーク情報210A、情報読取機能210B、接続機能210C、送受信機能210D、画面ロックアプリケーション210E、計測ソフトウェア210F、MAC鍵210Gが含まれる。尚、ネットワーク情報210Aは、シンクライアントOS210に含めずに、セキュアメモリ部22に格納するようにしても良い。
【0046】
ネットワーク情報210Aは、VPNサーバ50、完全性検証サーバ60、およびシンクライアントサーバ70の接続先に関する情報である。情報読取機能210Bは、ICカードリーダ・ライタ30を介してICカード31に記憶されている情報を読み取る機能である。接続機能210Cは、ネットワーク情報210Aに基づいて、各サーバに接続する機能である。送受信機能210Dは、各サーバとデータの送受信を行う機能である。画面ロックアプリケーション210Eは、クライアント端末10の画面をロックしたり、画面ロックを解除したりするアプリケーションである。
【0047】
計測ソフトウェア210Fは、シンクライアントOS210のイメージのハッシュ値を演算する機能を備えたコンピュータプログラムである。MAC鍵210Gは、クライアント端末10のプラットフォーム完全性検証で利用する暗号鍵としてハードコードされている。
【0048】
セキュアメモリ部22には、USBデバイス20を一意に識別することが可能な情報であるデバイスID220A、デジタル署名コマンド220B、デジタル署名秘密鍵220C、MAC鍵220Dが格納されている。
デジタル署名秘密鍵220C、MAC鍵220Dは、クライアント端末10のプラットフォーム完全性検証で利用する暗号鍵である。デジタル署名コマンド220Bは、MAC鍵220Dを用いて、クライアント端末10が生成する構成証明メッセージのMACを検証し、構成証明メッセージの検証に成功すると、デジタル署名秘密鍵220Cを用いて、構成証明メッセージのデジタル署名を生成するためのコマンドである。
【0049】
位置情報検出部23は、USBデバイス20の位置情報を検出するためのGPS受信機である。尚、位置情報検出部23は、クライアント端末10が備えるようにしても良い。
【0050】
図4は、完全性検証サーバ60の機能構成例を示すブロック図である。図4に示す機能部のうちの少なくとも一部は、完全検証サーバ60のCPUにより検証プログラムが実行されることによって実現される。
【0051】
図4に示すように、完全性検証サーバ60は、デジタル署名検証部61、メッセージ検証部62、デジタル署名公開鍵記憶部63、ハッシュ値の期待値記憶部64、ユーザID応答部65、およびユーザIDテーブル記憶部66の機能を少なくとも有する。
【0052】
デジタル署名検証部61は、クライアント端末10が生成した構成証明メッセージおよびデジタル署名を受信すると作動し、デジタル署名公開鍵記憶部63に記憶されているデジタル署名公開鍵を用いて、定められたデジタル署名検証アルゴリズムに従い、構成証明メッセージのデジタル署名を検証することで、デジタル署名を生成したクライアント端末10の正当性を検証する。
【0053】
メッセージ検証部62は、デジタル署名検証部61が構成証明メッセージのデジタル署名の検証に成功すると作動し、シンクライアントOS210のハッシュ値の期待値記憶部64に記憶されているハッシュ値の期待値を参照し、構成証明メッセージに含まれるハッシュ値が正しい内容であるか否かを確認することで、構成証明メッセージの正当性を検証する。
【0054】
デジタル署名公開鍵記憶部63は、デジタル署名検証部61が構成証明メッセージのデジタル署名を検証する際に利用する、USBデバイス20に記憶されているデジタル署名秘密鍵220Cと対になるデジタル署名公開鍵を記憶する。ハッシュ値の期待値記憶部64は、シンクライアントOS210のハッシュ値の期待値を記憶する。
【0055】
ユーザID応答部65は、クライアント端末10から送信されてきたデバイスIDを受信すると作動し、ユーザIDテーブル記憶部66に記憶されている情報の中から、受信したデバイスIDに関連付けられているユーザIDや場所情報を読み出し、クライアント端末10に返信(応答)する。
【0056】
ユーザIDテーブル記憶部66には、例えば、図5に示すように、デバイスID、ユーザID、および場所情報が関連付けられたテーブルが記憶されている。なお、図5の例では、デバイスIDに関連付けて、1つの場所情報が記憶されているが、複数の場所情報(例えば、本社の場所情報と支社の場所情報)を記憶させることも勿論可能である。
【0057】
次に、図6および図7のフローチャートを参照して、シンクライアントシステムにおいて、プラットフォームの完全性を検証し、画面ロックを制御する一連の処理について説明する。
【0058】
ステップS1において、クライアント端末10のCPU11は、USBデバイス20がクライアント端末10に装着されると、入出力インターフェイス14を利用して、USBデバイス20とデータのやり取りすることで、クライアント端末10に装着されたUSBデバイス20をマウントする。
【0059】
ステップS2において、クライアント端末10のCPU11は、USBデバイス20に記憶されているシンクライアントOS210のイメージを読み出す。ステップS3において、クライアント端末10のCPU11は、ステップS2の処理で読み出したシンクライアントOS210のイメージをRAM13に展開し、クライアント端末10上でシンクライアントOS210を起動させる。またクライアント端末10のCPU11は、シンクライアントOS210がクライアント端末10上で起動すると、シンクライアントOS210に含まれる計測ソフトウェア210Fを自動的に起動する。
【0060】
ステップS4において、クライアント端末10のCPU11は、シンクライアントOS210の接続機能210Cを用いて、ネットワーク情報210Aに基づいてネットワーク40を介してVPNサーバ50に接続し、VPNサーバ50にユーザ名および認証データ(例えば、パスワード)を送信してユーザ認証を要求する。
【0061】
ステップS5において、VPNサーバ50は、ネットワーク40を介してクライアント端末10から送信されてきたユーザ名および認証データを用いて、クライアント端末10を利用するユーザを認証する。
【0062】
ステップS6において、VPNサーバ50は、ステップS5の処理でユーザ認証に成功したか否かを判定し、認証に成功したと判定した場合、ステップS7に進み、認証に成功したことを示すメッセージを、ネットワーク40を介してクライアント端末10に送信し、接続を許可する。
【0063】
ステップS6において、VPNサーバ50は、ステップS5の処理でユーザ認証に失敗したと判定した場合には、エラーメッセージを、ネットワーク40を介してクライアント端末10に送信し、処理を終了する。
【0064】
ステップS8において、クライアント端末10のCPU11は、シンクライアントOS210の接続機能210Cを用いて、ネットワーク情報210Aに基づいて、ネットワーク40およびVPNサーバ50を介して完全性検証サーバ60に接続し、プラットフォーム完全性検証に利用する乱数Rcを生成し、乱数Rcを含む乱数生成要求メッセージを完全性検証サーバ60に送信する。なお、クライアント端末10のCPU11は、プラットフォーム完全性検証が終了するまで、生成した乱数Rcをクライアント端末10のRAM13に保持しておく。
【0065】
ステップS9において、完全性検証サーバ60のデジタル署名検証部61は、ネットワーク40およびVPNサーバ50を介してクライアント端末10から乱数Rcを受信すると、プラットフォーム完全性検証で利用する乱数Rsを生成し、乱数Rsをクライアント10に送信する。なお、完全性検証サーバ60のデジタル署名検証部61は、プラットフォーム完全性検証が終了するまで乱数Rcおよび乱数Rsを図示せぬRAMに保持する。
【0066】
ステップS10において、クライアント端末10のCPU11は、完全性検証サーバ60からVPNサーバ50およびネットワーク40を介して乱数Rsを受信すると、それをRAM13に保持した後、クライアント端末10のRAM13に展開されたシンクライアントOS210のイメージすべてから、定められたアルゴリズム(例えば、SHA1)に従いハッシュ値を演算し、ハッシュ値、乱数Rcおよび乱数Rsが結合された構成証明メッセージを生成する。そして、クライアント端末10のCPU11は、シンクライアントOS210にハードコードされているMAC鍵210Gを用いて、定められた手順(例えば、ISO/IEC 9797-1に準じた手順)に従って、ステップS10の処理で生成した構成証明メッセージのMACを演算する。
【0067】
ステップS11において、クライアント端末10のCPU11は、演算した構成証明メッセージおよびMACをコマンドメッセージのデータに含ませ、入出力インターフェイス14を介してUSBデバイス20に送信することで、構成証明メッセージのデジタル署名の生成をUSBデバイス20に要求する。
【0068】
ステップS12において、USBデバイス20は、構成証明メッセージおよびMACを含んだデジタル署名コマンドのコマンドメッセージを受信すると、デジタル署名コマンド220Bを作動させ、MAC鍵220Dを用い、クライアント端末10のCPU11と同じアルゴリズムで構成証明メッセージからMACを演算する。USBデバイス20のデジタル署名コマンド220Bは、クライアント端末10から送信されたMACと自身が演算したMACとが同一であるか検証することで、クライアント端末10で起動している計測ソフトウェア210Fを検証する。
【0069】
ステップS13において、USBデバイス20のデジタル署名コマンド220Bは、ステップS12の処理で構成証明メッセージのMACの検証に成功したか否かを判定し、検証に成功したと判定した場合、ステップS14に進む。ステップS14において、USBデバイス20のデジタル署名コマンド220Bは、デジタル署名秘密鍵220Cを用い、定められたデジタル署名生成アルゴリズム(例えば、PKCS#1など)に従い、構成証明メッセージのデジタル署名を生成し、クライアント端末10に返信する。
【0070】
ステップS13において、USBデバイス20のデジタル署名コマンド220Bは、ステップS12の処理で構成証明メッセージのMACの検証に失敗したと判定した場合、MACの検証に失敗したことを示すエラーメッセージをクライアント端末10に返信して、処理を終了する。
【0071】
ステップS15において、クライアント端末10のCPU11の送受信機能210Dは、ステップS10の処理で生成した構成証明メッセージ、およびUSBデバイス20から返信されたデジタル署名を、ネットワーク40およびVPNサーバ50を介して完全性検証サーバ60に送信する。
【0072】
ステップS16において、完全性検証サーバ60は、構成証明メッセージとデジタル署名を受信するとデジタル署名検証部61が作動し、デジタル署名公開鍵記憶部63に記憶されているデジタル署名公開鍵を用いて、定められたアルゴリズムに従い、構成証明メッセージのデジタル署名を検証することで、デジタル署名を生成したUSBデバイス20の正当性を検証する。
【0073】
そして、構成証明メッセージのデジタル署名の検証に成功すると、完全性検証サーバ60のメッセージ検証部62が作動し、完全性検証サーバ60のRAMに保持されている乱数RcおよびRs、並びに、ハッシュ値の期待値記憶部64に記憶されているハッシュ値の期待値を参照し、構成証明メッセージに含まれる乱数Rc、Rsおよびハッシュ値が正しい値であるかを確認することで、構成証明メッセージの正当性を検証する。
【0074】
ステップS17において、完全性検証サーバ60のメッセージ検証部62は、構成証明メッセージの検証に成功したか否かを判定し、構成証明メッセージの検証に成功したと判定した場合、ステップS18に進み、認証に成功したことを示すメッセージを、VPNサーバ50およびネットワーク40を介してクライアント端末10に送信し、接続を許可する。
【0075】
ステップS17において、完全性検証サーバ60は、ステップS16の処理で構成証明メッセージの検証に失敗したと判定した場合には、エラーメッセージを、クライアント端末10に送信し、処理を終了する。
【0076】
ステップS19において、クライアント端末10のCPU11は、USBデバイス20に記憶されているデバイスID220Aを読み出し、ネットワーク40およびVPNサーバ50を介して完全性検証サーバ60に送信する。ステップS20において、クライアント端末10から送信されてきたデバイスID220Aを受信すると、完全性検証サーバ60のユーザID応答部65が作動し、ユーザIDテーブル記憶部66に記憶されている情報の中から、受信したデバイスID220Aに関連付けられているユーザIDと場所情報を読み出し、クライアント端末10に返信する。
【0077】
ステップS21において、クライアント端末10のCPU11の送受信機能210Dは、完全性検証サーバ60からVPNサーバ50およびネットワーク40を介して送信されてきたユーザIDと場所情報を受信し、RAM13に保存する。
【0078】
ステップS22において、クライアント端末10のCPU11は、接続機能210Cを用いて、ネットワーク情報210Aに基づいて、ネットワーク40、VPNサーバ50、および完全性検証サーバ60を介してシンクライアントサーバ70に接続し、シンクライアントサーバ70にユーザ名および認証データ(例えば、パスワード)を送信してユーザ認証を要求する。
【0079】
ステップS23において、シンクライアントサーバ70は、クライアント端末10からネットワーク40、VPNサーバ50、および完全性検証サーバ60を介して送信されてきたユーザ名および認証データを用いて、クライアント端末10を利用するユーザを認証する。
【0080】
ステップS24において、シンクライアントサーバ70は、ステップS23の処理でユーザ認証に成功したか否かを判定し、認証に成功したと判定した場合、ステップS25に進み、認証に成功したことを示すメッセージを、完全性検証サーバ60、VPNサーバ50、およびネットワーク40を介してクライアント端末10に送信し、接続を許可する。
【0081】
ステップS24において、シンクライアントサーバ70は、ステップS23の処理でユーザ認証に失敗したと判定した場合には、エラーメッセージをクライアント端末10に送信し、処理を終了する。
【0082】
ステップS26において、クライアント端末10のCPU11は、シンクライアントOS210に含まれる画面ロックアプリケーション210Eを起動する。ステップS27において、クライアント端末10のCPU11は、情報読取機能210Bを用いて、ICカードリーダ・ライタ30を介してICカード31に記憶されているユニークIDを取得する。なお、ステップS27において、クライアント端末10のCPU11は、ICカード31からユニークIDを取得できない場合には、画面ロックを設定し、処理を終了する。
【0083】
ステップS28において、クライアント端末10のCPU11は、USBデバイス20に内蔵されている位置情報検出部23で検出された位置情報を取得する。ステップS29において、クライアント端末10のCPU11は、ステップS21の処理でRAM13に保存したユーザIDとステップS27の処理で取得したユニークIDが一致するか否か、および、ステップS21の処理でRAM13に保存した場所情報とステップS28の処理で取得したクライアント端末10の位置情報が一致するか否かの検証を行う。
【0084】
ステップS30において、クライアント端末10のCPU11は、ステップS29の検証処理の結果、ユーザIDとユニークID、および、場所情報とクライアント端末10の位置情報のいずれも一致すると判定した場合、ステップS31に進み、画面ロック解除するように制御する。
【0085】
ステップS30において、クライアント端末10のCPU11は、ユーザIDとユニークID、および、場所情報とクライアント端末10の位置情報のいずれか一方が少なくとも一致しないと判定した場合、ステップS32に進み、画面ロックするように制御する。例えば、ICカード31がICカードリーダ・ライタ30から着脱(離隔)され、ユニークIDが取得できなくなった場合には、ユーザIDが一致しなくなる。また例えば、クライアント端末10が、画面ロックを解除することが可能な場所から離れた場合には、場所情報が一致しなくなる。
【0086】
ステップS33において、クライアント端末10のCPU11は、操作者の操作により、シンクライアントサーバ70との接続を解除することが指示されたか否かを判定し、まだ接続中であると判定した場合、ステップS27に戻り、上述した処理を繰り返し実行する。そして、ステップS33において、クライアント端末10のCPU11は、シンクライアントサーバ70との接続を解除することが指示されたと判定した場合、シンクライアントサーバ70に接続解除要求を送信し、処理を終了する。
【0087】
ステップS34において、シンクライアントサーバ70は、クライアント端末10からの接続解除要求に応じて、クライアント端末10との接続を解除し、処理を終了する。
【0088】
[発明の実施の形態における効果]
1.以上のように、USBデバイス20に記憶されているデバイスIDに関連付けられたユーザIDと、ICカード31(ICカード機能付き社員証)に記憶されているユニークID(社員ID)が一致するか否かを検証することで、クライアント端末10の正規のユーザであるか否かを判定し、その判定結果に応じて、容易に画面のロックまたは画面ロックの解除を制御することができる。
【0089】
2.USBデバイス20に記憶されているデバイスIDに関連付けられた場所情報と、クライアント端末10の位置情報が一致するか否かを検証することで、クライアント端末10が画面ロック解除できる場所にあるか否かを判定し、その判定結果に応じて、容易に画面のロックまたは画面ロックの解除を制御することができる。
【0090】
3.以上のように、クライアント端末10は、ユーザ認証等の初期設定以外では、シンクライアントサーバ70と画面ロック処理における通信を行わないため、通信速度の遅い環境においても、容易に、画面ロックまたは画面ロック解除を行うことが可能となる。
【0091】
4.デバイスID、ユーザID、および場所情報が関連付けられたユーザIDテーブルを完全性検証サーバ60で制御することにより、画面ロック解除の設定を容易に変更することが可能となる。
【0092】
5.クライアント端末10の位置情報と画面ロック解除できる場所情報を比較することにより、クライアント端末10がUSBシンクライアントシステムを使用できる状態で盗難された場合にも、容易に画面ロックすることが可能となる。すなわち、盗難により画面ロック解除できる場所にクライアント端末10が存在しなくなるため、クライアント端末10の位置情報と場所情報とが一致しなくなり、画面ロックされることとなる。
【0093】
以上、添付図面を参照しながら、本発明に係るシンクライアントシステム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【0094】
10………クライアント端末
11………CPU
20………USBデバイス
23………位置情報検出部
31………ICカード
40………ネットワーク
60………完全性検証サーバ
70………シンクライアントサーバ
210………シンクライアントOS

【特許請求の範囲】
【請求項1】
クライアント端末、および、ネットワークを介して前記クライアント端末からの要求に応じてアプリケーションを実行するシンクライアントサーバからなるシンクライアントシステムにおいて、
前記クライアント端末は、
装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動手段と、
前記起動手段により起動された前記シンクライアントオペレーティングシステムに含まれるデバイスIDを、前記シンクライアントサーバに送信し、対応するユーザIDを取得する取得手段と、
装着されたICカードに記憶されているユニークIDを取得し、前記取得手段により取得された前記ユーザIDと一致するか否かを判定する判定手段と、
前記判定手段の判定結果に応じて、画面ロックを制御する画面ロック制御手段と
を備え、
前記シンクライアントサーバは、
前記デバイスIDと前記ユーザIDを関連付けたテーブルを記憶するテーブル記憶手段と、
前記クライアント端末からの要求に応じて、前記テーブル記憶手段に記憶されている前記テーブルの中から、対応する前記ユーザIDを読み出して応答する応答手段と
を備えることを特徴とするシンクライアントシステム。
【請求項2】
前記クライアント端末は、位置情報を検出する位置情報検出手段をさらに備え、
前記シンクライアントサーバの前記テーブル記憶手段は、前記デバイスIDに関連付けて、前記画面ロックを解除することができる場所情報をさらに記憶し、
前記クライアント端末の前記取得手段は、前記シンクライアントサーバから、前記デバイスIDに対応する前記場所情報をさらに取得し、
前記クライアント端末の前記判定手段は、前記位置情報検出手段で検出された前記位置情報と前記取得手段により取得された前記場所情報が一致するか否かをさらに判定する
ことを特徴とする請求項1に記載のシンクライアントシステム。
【請求項3】
クライアント端末、および、ネットワークを介して前記クライアント端末からの要求に応じてアプリケーションを実行するシンクライアントサーバからなるシンクライアントシステムの画面ロック制御方法において、
前記クライアント端末は、
装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動ステップと、
前記起動ステップで起動した前記シンクライアントオペレーティングシステムに含まれるデバイスIDを、前記シンクライアントサーバに送信し、対応するユーザIDを取得する取得ステップと、
装着されたICカードに記憶されているユニークIDを取得し、前記取得ステップで取得した前記ユーザIDと一致するか否かを判定する判定ステップと、
前記判定ステップの判定結果に応じて、画面ロックを制御する画面ロック制御ステップと
を含み、
前記シンクライアントサーバは、
前記デバイスIDと前記ユーザIDを関連付けたテーブルを記憶するテーブル記憶ステップと、
前記クライアント端末からの要求に応じて、前記テーブル記憶ステップで記憶した前記テーブルの中から、対応する前記ユーザIDを読み出して応答する応答ステップと
を含むことを特徴とする画面ロック制御方法。
【請求項4】
ネットワークを介してシンクライアントサーバに対し、アプリケーションの実行を要求するクライアント端末において、
装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動手段と、
前記起動手段により起動された前記シンクライアントオペレーティングシステムに含まれるデバイスIDを、前記シンクライアントサーバに送信し、対応するユーザIDを取得する取得手段と、
装着されたICカードに記憶されているユニークIDを取得し、前記取得手段により取得された前記ユーザIDと一致するか否かを判定する判定手段と、
前記判定手段の判定結果に応じて、画面ロックを制御する画面ロック制御手段と
を備えることを特徴とするクライアント端末。
【請求項5】
ネットワークを介してシンクライアントサーバに対し、アプリケーションの実行を要求するコンピュータにより読み取り可能な形式で記述されたプログラムであって、
装着された携帯型記憶デバイスに記憶されているシンクライアントオペレーティングシステムを読み出して起動する起動ステップと、
前記起動ステップで起動した前記シンクライアントオペレーティングシステムに含まれるデバイスIDを、前記シンクライアントサーバに送信し、対応するユーザIDを取得する取得ステップと、
装着されたICカードに記憶されているユニークIDを取得し、前記取得ステップで取得した前記ユーザIDと一致するか否かを判定する判定ステップと、
前記判定ステップの判定結果に応じて、画面ロックを制御する画面ロック制御ステップと
を含む処理をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate