説明

リモートアクセス管理システム及び方法

【課題】シンクライアントサーバにリモートアクセスできる環境を複数人で共有することのできるリモートアクセス管理システムを提供する。
【解決手段】アクセス管理サーバ12は,シンクライアントサーバ13のログインに利用するパスワードが関連付けられたアカウントIDを複数記憶し,アカウントIDの割り当て要求を受けると,割り当て可能なアカウントIDの中から,ユーザに一つのアカウントIDを動的に割り当て,割り当てたアカウントIDとパスワードをコンピュータ10に送信する。コンピュータ10は,受信したアカウントIDとパスワードを用いて,シンクライアントサーバ13にログイン要求し,シンクライアントサーバ13は,コンピュータから送信されたアカウントIDのログイン処理を実行し,ログインに成功したコンピュータに対し,該アカウントIDで特定されるリモートアクセス環境を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータのリモートアクセスを管理するための技術に関する。
【背景技術】
【0002】
企業で利用されるコンピュータの高機能化が進む一方で,個人情報などの機密情報を扱う企業では,機密情報漏洩防止の観点から,ネットワーク通信機能など必要最小限の機能のみを持たせたシンクライアント端末と、機密情報などの情報資源の管理や、アプリケーションの処理などの機能を集約させたシンクライアントサーバとから構成されるシンクライアントシステム(Thin Client System)を導入するケースが増えている。
【0003】
企業がシンクライアントシステムを導入する背景には、個人情報流出防止などを目的としたセキュリティの強化以外に、システムの運用管理コスト(パッチ情報、ライセンス管理など)の削減、テレワーク(Telework)の実現等などがある。
【0004】
例えば,特許文献1では,耐タンパ性を有し,シンクライアントサーバにリモートアクセスするためのアプリケーションと,リモートアクセスに利用する認証情報を記憶したストレージデバイスをユーザに配布し,該ストレージデバイスが装着されたコンピュータが該アプリケーションと該認証情報を利用して,シンクライアントサーバにリモートアクセスすることにより,テレワークを実現するシステムが開示されている。
【0005】
また,特許文献2では,シンクライアント端末として利用するコンピュータに着脱自在とした外部接続型記憶デバイス(例えば,USBメモリ)に、該コンピュータが接続するシンクライアントサーバの識別情報と、該シンクライアントサーバへの接続処理に用いるプログラムと、該シンクライアントサーバの接続認証に用いる認証情報とを記憶させ,該コンピュータに該外部接続型記憶デバイスが装着されたとき,該コンピュータのメモリに該プログラムの一部または全部をコピーして、該コピーしたプログラムに基づいて、該コンピュータを該識別情報で指定されたシンクライアントサーバにリモートアクセスする方法が開示されている。
【0006】
【特許文献1】特開2005-235159号公報
【特許文献2】特開2006-120092公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら,各従業員に対してPCを導入している企業では,企業に在籍している従業員すべてがシンクライアントサーバにリモートアクセスできる環境を整えるようとすると,企業内の既存のインフラストラクチャをすべて変更しなければならず,納期・コストが膨大に膨らんでしまう問題がある。
【0008】
そこで,本発明は,シンクライアントサーバにリモートアクセスできる環境を複数人で共有することのできるリモートアクセス管理システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決する第1の発明は,コンピュータのリモートアクセスを管理するリモートアクセス管理システムであって,前記コンピュータがリモートアクセスするシンクライアントサーバのログインに利用するパスワードが関連付けられたアカウントIDを複数記憶し,前記コンピュータから前記アカウントIDの割り当て要求を受けると,割り当て可能な前記アカウントIDの中から,前記コンピュータを操作するユーザに一つの前記アカウントIDを動的に割り当て,割り当てた前記アカウントIDと該アカウントIDに関連付けられた前記パスワードを前記コンピュータに送信すると共に,前記コンピュータに割り当てた前記アカウントIDを割り当て不可能な状態にし,更に,前記コンピュータと前記シンクライアントサーバの接続が切断されたことを検知すると,接続が切断された前記コンピュータに割り当てた前記アカウントIDを割り当て可能な状態にするアカウント管理手段を備えたアカウント管理サーバを含み,前記コンピュータは,前記アカウント管理サーバから受信した前記アカウントIDと前記パスワードを用いて,前記シンクライアントサーバにログイン要求するリモートアクセス手段を備え,前記シンクライアントサーバは,前記コンピュータから送信される前記パスワードを照合し,前記コンピュータから送信された前記アカウントIDのログイン処理を実行するログイン手段と,ログインに成功した前記コンピュータに対し,該アカウントIDで特定されるリモートアクセス環境を提供するリモートアクセス環境提供手段を備えていることを特徴とするリモートアクセス管理システムである。
【0010】
上述した第1の発明によれば,シンクライアントサーバにログインするために利用されるパスワードが関連付けられたアカウントIDをユーザに動的に割り当てる機能を備えたアカウント管理サーバを設置し,アカウント管理サーバが動的に割り当てたアカウントID及び該アカウントIDに関連付けられたパスワードを用いて,シンクライアントサーバにログインするようにすることで, シンクライアントサーバにリモートアクセスできる環境を複数人で共有することのできるようになる。
【0011】
なお,シンクライアントサーバにリモートアクセスできる環境を複数人で共有することのできれば,シンクライアントシステムの規模は小さくなり,シンクライアントシステムを企業が導入する経費を抑えることができるようになる。
【0012】
更に,第2の発明は,第1の発明に記載のリモートアクセス管理システムであって,前記アカウント管理サーバは,リモートアクセスできるリソースを特定する属性情報を関連付けて前記アカウントIDを記憶し,前記アカウント管理手段は,前記ユーザの前記属性情報を前記コンピュータから取得し,取得した前記属性情報が関連付けられ,かつ,割り当て可能な前記アカウントIDの中から,前記ユーザに一つの前記アカウントIDを動的に割り当て,前記シンクライアントサーバのリモートアクセス環境提供手段は,ログイン処理に利用した前記アカウントIDで特定されるリソースを利用するリモートアクセス環境の利用を許可することを特徴とするリモートアクセス管理システムである。
【0013】
上述した第2の発明によれば,前記コンピュータを操作する前記ユーザの属性情報に応じて,リモートアクセスできるリソースを限定されるため,前記ユーザに応じて,前記ユーザが利用できるリソースを変更することができるようになる。
【0014】
更に,第3の発明は,第1の発明または第2の発明に記載のリモートアクセス管理システムであって,前記アカウント管理サーバは,前記コンピュータの正当性を検証する検証手段を備え,正当性を検証に成功した場合のみ,前記アカウントIDを前記ユーザに動的に割り当てることを特徴とするリモートアクセス管理システムである。
【0015】
更に,第4の発明は,第3の発明に記載のリモートアクセス管理システムであって,前記アカウント管理サーバに備えられた前記検証手段は,前記コンピュータ上で起動しているOS(OS: Operating System)の完全性を検証する手段であることを特徴とするリモート管理システムである。
【0016】
更に,第5の発明は,第4の発明に記載のリモートアクセス管理システムであって,前記コンピュータは,前記コンピュータのメモリに展開された前記OSのイメージのハッシュ値を演算した後,前記ハッシュ値を含む構成証明メッセージのデジタル署名を生成し、前記構成証明メッセージと前記構成証明メッセージのデジタル署名を前記アカウント管理サーバに送信する計測手段を備え、前記アカウント管理サーバの完全性検証手段は、前記コンピュータから送信された前記構成証明メッセージのデジタル署名と、前記構成証明メッセージの本体を検証する手段であることを特徴とするリモートアクセス管理システムである。
【0017】
更に,第6の発明は,第5の発明に記載のリモートアクセス管理システムであって,前記リモートアクセス管理システムには,外部から送信されたメッセージのデジタル署名を生成する手段を備えたセキュリティトークンが含まれ,前記コンピュータに備えられた前記計測手段は,前記セキュリティトークンを利用して,前記ハッシュ値を含む構成証明メッセージのデジタル署名を生成することを特徴とするリモート管理システムである。
【0018】
上述した第3の発明によれば,前記アカウント管理サーバが,前記アカウントIDを動的に割り当てる前に,前記コンピュータの正当性を検証することで,前記リモートアクセス管理システムのセキュリティを高めることができる。
【0019】
前記コンピュータの正当性としては,第4の発明に記載のように,前記コンピュータ上で起動しているOSの完全性を検証することが好適で,前記コンピュータ上で起動しているOSの完全性を検証する手法としては,第5の発明に記載の手法が,ソフトウェアで実現できるため好適である。
【0020】
なお,前記コンピュータ上で起動しているOSの完全性を検証するときに利用するデジタル署名を前記セキュリティトークンで生成させると,更に,前記リモートアクセス管理システムのセキュリティを高めることができる。
【0021】
更に,第7の発明は,第6の発明に記載のリモートアクセス管理システムであって,前記リモートアクセス管理システムには,前記コンピュータの前記リモートアクセス手段及び前記計測手段として機能するコンピュータプログラムが含まれたシンクライアント用のOSが記憶された携帯型記憶デバイスが含まれ,前記コンピュータは,マウントされた前記携帯型記憶デバイスに記憶された前記シンクライアント用のOSを読み込み起動する起動手段を備えていることを特徴とするリモートアクセス管理システムである。
【0022】
シンクライアントシステムを実現するとき,シンクライアント用のOSは,USBメモリなどの携帯型記憶デバイスに記憶しておくことが一般的であるため,本発明のリモートアクセスシステムをシンクライアントシステムに適用するとき,第7の発明のような仕組みを設けておくことが好適である。
【0023】
更に,第8の発明は,コンピュータのリモートアクセスを管理するリモートアクセス管理方法であって,前記コンピュータがリモートアクセスするシンクライアントサーバのログインに利用するパスワードが関連付けられたアカウントIDを複数記憶したアカウント管理サーバが, 前記コンピュータから前記アカウントIDの割り当て要求を受けると,割り当て可能な前記アカウントIDの中から,前記コンピュータを操作するユーザに一つの前記アカウントIDを動的に割り当て,割り当てた前記アカウントIDと該アカウントIDに関連付けられた前記パスワードを前記コンピュータに送信すると共に,前記コンピュータに割り当てた前記アカウントIDを割り当て不可能な状態にするステップ,
前記コンピュータが,前記アカウント管理サーバから受信した前記アカウントIDと前記パスワードを用いて,前記シンクライアントサーバにログイン要求するステップ,
前記シンクライアントサーバが,前記コンピュータから送信される前記パスワードを照合し,前記コンピュータから送信された前記アカウントIDのログイン処理を実行し,ログインに成功した前記コンピュータに対し,該アカウントIDで特定されるリモートアクセス環境を提供するステップ,を含むことを特徴とするリモートアクセス管理方法である。
【0024】
なお,本発明において,セキュリティトークンとは,ICカードのように,デジタル署名などに利用する暗号鍵などを耐タンパー性高く記憶し,外部装置からの要求に応じて,該暗号鍵を利用した演算を行う機能を備えた物理デバイスを意味する。更に,携帯型記憶デバイスとは,USBメモリのように,比較的大きな記憶容量を持ち,コンピュータに装着されたときに,補助記憶装置として認識される物理デバイスを意味する。
【発明の効果】
【0025】
このように,上述した本発明によれば,シンクライアントサーバにリモートアクセスできる環境を複数人で共有することのできるリモートアクセス管理システム及び方法を提供できる。
【発明を実施するための最良の形態】
【0026】
ここから,本発明に係わる発明の好適な実施形態について,図を参照しながら詳細に説明する。図1は,本実施形態に係わるリモートアクセス管理システム1を説明する図である。
【0027】
図1で図示したリモートアクセス管理システム1には,インターネット2(The Internet)と,企業内で利用されるLAN3(LAN: Local Area Network)が含まれ, FW機器21(FW: Fire Wall)やVPN機器20(VPN: Virtual Private Network)によって,LAN3はインターネット2から隔離され,LAN3は,業務の部門(例えば,営業部門や開発部門など)毎に設けられたサブネット3aに分割されて管理されている。
【0028】
一つのサブネット3aは,既存のネットワークシステムで,一つのサブネット3aには,サブネット3aに対応する部門の業務サーバ14bと,業務サーバ14bが利用するデータファイルが記憶されたファイルサーバ14aなどのリソースが設置され,該部門に所属する従業員の席に置かれる社内のパーソナルコンピュータ(PC: Personal Computer)15は,ルータ16などを介して,ファイルサーバ14aと業務サーバ14bに接続されるように構成されている。
【0029】
図1で図示したリモートアクセス管理システム1には,Aladdin社製のeToken(登録商標)のように,デジタル署名を生成する機能を備えたスマートカード用ICチップ11aと,シンクライアントオペレーティングシステム(OS: Operating System)が記憶されるフラッシュメモリ11bとが組み合わされたUSBトークン11と,シンクライアント端末として利用されるコンピュータ10と,コンピュータ10のプラットフォーム完全性を検証するアカウント管理サーバ12と,サブネット3a内のリソースへのリモートアクセス環境を提供するシンクライアントサーバ13が含まれ,これらの装置を利用して,LAN3外からサブネット3aへのリモートアクセスが管理される。
【0030】
なお,シンクライアントPCはLAN3外に設置され,アカウント管理サーバ12及びシンクライアントサーバ13は,LAN3のサブネット3a外に設置され,USBトークン11は,コンピュータ10を操作するユーザが所持している。
【0031】
シンクライアントサーバ13へログインするためのアカウントIDは部門毎に予め設定され,アカウント管理サーバ12は,アカウントIDに関連付けて,アカウントIDのパスワードと,アカウントIDが設定されている部門を示す属性情報とを記憶している。
【0032】
USBトークン11に記憶されたシンクライアントOS105がコンピュータ10上で起動し,コンピュータ10がシンクライアント端末化すると,コンピュータ10とアカウント管理サーバ12間で特許文献3に従うプラットフォーム完全性検証が実行される。
【0033】
【特許文献3】特願2008−012402号公報
【0034】
アカウント管理サーバ12は,プラットフォーム完全性検証を実行した後,ユーザが所属する部門を示す属性情報をコンピュータ10から取得し,該属性情報が関連付けられ,かつ,割り当て可能な状態のアカウントIDから,一つのアカウントIDをユーザに動的に割り当て,割り当てたアカウントIDを割り当て不可の状態に変更すると共に,割り当てたアカウントIDと,該アカウントIDに関連付けられたパスワードをコンピュータ10に送信する。
【0035】
コンピュータ10は,アカウントID及びパスワードをアカウント管理サーバ12から受信すると,アカウントID及びパスワードを用いたログイン要求をシンクライアントサーバ13に要求し,アカウントIDのログイン処理にシンクライアントサーバ13が成功すると,シンクライアントサーバ13は,アカウントIDで特定される部門のサブネット3a内に設置されたリソース(例えば,業務サーバ14b)へリモートアクセスする環境を,ログイン要求したコンピュータ10に対して提供する。
【0036】
なお,アカウント管理サーバ12はプロキシ的な役割を果たし,コンピュータ10とシンクライアントサーバ13間のデータのやりとりを中継する機能を備え,アカウントIDを割り当てたコンピュータ10とシンクライアントサーバ13の通信を監視し,コンピュータ10とシンクライアントサーバ13の通信の終了を検知すると,該コンピュータ10に割り当てたアカウントIDを割り当て可能な状態に戻す処理を実行する。
【0037】
このように,本発明によれば,シンクライアントサーバ13にログインするために利用されるアカウントID及びパスワードをユーザに動的に割り当てる機能を備えたアカウント管理サーバ12を設置し,アカウント管理サーバ12が動的に割り当てたアカウントID及びパスワードを用いて,シンクライアントサーバ13にログインするようにすることで, シンクライアントサーバ13にリモートアクセスできる環境を複数人で共有することのできるようになる。
【0038】
シンクライアントサーバ13にリモートアクセスできる環境を複数人で共有することのできれば,シンクライアントシステムの規模は小さくなり,シンクライアントシステムを企業が導入する経費を抑えることができるようになる。
【0039】
なお,アカウント管理サーバ12が,アカウントIDを動的にユーザに割り当てる前に,コンピュータ10のプラットフォーム完全性検証を実施するのは,コンピュータ10で起動するシンクライアントOS105の改竄などを検知するためで,コンピュータ10のプラットフォーム完全性検証を実施しておけば,システム全体のセキュリティを高めることができる。
【0040】
ここから,図1で図示したリモートアクセス管理システム1で実行される手順について説明する。図2は,リモートアクセス管理システム1で実行される手順を示したフロー図である。
【0041】
ユーザは、LAN3外に設置されたコンピュータ10を操作してLAN3内に設置されたシンクライアントサーバ13にリモートアクセスするとき、ユーザは、USBポートにUSBトークン11を接続させた状態でコンピュータ10を起動させると(図2のS1)、コンピュータ10に備えられた機能によって、USBトークン11に記憶されたシンクライアントOS105のイメージ(バイトコード)がコンピュータ10のメモリに展開され、コンピュータ10上でシンクライアントOS105が起動する(図2のS2)。
【0042】
図3は,図2のS2でコンピュータ10のメモリに展開されるシンクライアントOS105を説明する図である。
【0043】
図3に図示したように,図2のS2でコンピュータ10のメモリに展開されるシンクライアントOS105には,プラットフォーム完全性検証を実行するために必要なプログラムである計測ソフトウェア106と,シンクライアントサーバ13にリモートアクセスするためのリモートアクセスクライアント108が含まれている。
【0044】
シンクライアントOS105が起動すると,シンクライアント端末化したコンピュータ10は,VPN機器21に接続し,USBトークン11のスマートカード用ICチップ11aに記憶されている認証情報などを用いてユーザ認証を実行した後,アカウント管理サーバ12にアクセスし,アカウントIDの割り当てを要求する(図2のS3)。
【0045】
アカウント管理サーバ12は、アカウントIDの割り当て要求をコンピュータ10から受けると、アクセスしたコンピュータ10に対してプラットフォーム完全性検証を要求し,シンクライアントOS105に含まれる計測ソフトウェア106を用いて,特許文献3で開示されている発明に従い,アカウント管理サーバ12とコンピュータ10間でプラットフォーム完全性検証処理が実行される(図2のS4)。
【0046】
プラットフォーム完全性検証処理が終了すると,アカウント管理サーバ12は,プラットフォーム完全性検証の検証結果によって処理を分岐させる(図2のS5)。
【0047】
アカウント管理サーバ12は,プラットフォーム完全性検証が失敗した場合,プラットフォーム完全性検証の検証結果(失敗)をコンピュータ10に送信した後(図2のS13),この手順を終了する。
【0048】
また,プラットフォーム完全性検証が成功した場合,アカウント管理サーバ12は,アカウントIDを動的に割り当てるときに利用する属性情報(ここでは,ユーザの部門を示す情報)の送信要求をコンピュータ10に行い(図2のS6),コンピュータ10は,属性情報の送信要求をアカウント管理サーバ12から受信すると,ユーザの属性情報をアカウント管理サーバ12に送信する(図2のS7)。
【0049】
コンピュータ10からアカウント管理サーバ12に送信されるユーザの属性情報は,USBトークン11のスマートカード用ICチップ11aに記憶されていることが好適であるが,コンピュータ10のメモリに展開されたシンクライアントOS105にコーディングされていてもよい。
【0050】
USBトークン11のスマートカード用ICチップ11aに属性情報が記憶されている場合,コンピュータ10は,コンピュータ10にマウントされたUSBトークン11から読み出した属性情報をアカウント管理サーバ12に送信する。また,コンピュータ10のメモリに展開されたシンクライアントOS105に属性情報がコーディングされている場合,コンピュータ10は,コーディングされた属性情報をアカウント管理サーバ12に送信する。
【0051】
アカウント管理サーバ12は,コンピュータ10から属性情報が送信されると,図2のS3でユーザ認証に成功したユーザに,該属性情報が関連付けられ,かつ,割り当て可能な状態のアカウントIDの中から,一つのアカウントIDを動的に割り当て,該ユーザに割り当てたアカウントIDと該アカウントIDに関連付けられたパスワードをコンピュータ10に送信する(図2のS8)。
【0052】
図4は,アカウントIDを管理するためにアカウント管理サーバ12が記憶しているアカウント管理テーブル4を説明する図である。
【0053】
例えば,アカウント管理サーバ12は,図4で図示したアカウント管理テーブル4を記憶し,アカウント管理テーブル4を参照することで,ユーザ認証に成功したユーザに対して,コンピュータ10から送信された属性情報が関連付けられ,かつ,割り当て可能な状態のアカウントIDの中から,一つのアカウントIDを動的に割り当てる。
【0054】
図4で図示したアカウント管理テーブル4の一つのレコードには,シーケンシャルにレコードに振られるNoと,アカウントIDと,アカウントIDに対応するパスワードと,アカウントIDに対応する属性情報(ここでは,ユーザの部門を示す情報)と,アカウントIDの割り当て可能状態を示す状態フラグと,アカウントIDを割り当てたコンピュータ10の識別情報としてMACアドレスと,アカウントIDを動的に割り振った管理番号となるセッションIDが記述されている。
【0055】
アカウント管理テーブル4のレコードのアカウントID及びパスワードは,コンピュータ10がシンクライアントサーバ13にログインするときに利用される情報で,アカウント管理テーブル4に記憶されているアカウントID及びパスワードは,シンクライアントサーバ13にも記憶されている。
【0056】
アカウント管理テーブル4のレコードの属性情報は,アカウント管理サーバ12が,アカウントIDを動的に割り当てるときに利用される情報で,ユーザの属性情報に従いアカウントIDを管理する必要がない場合は,アカウント管理テーブルのレコードに属性情報を記述する必要はない。
【0057】
アカウント管理テーブル4のレコードの状態フラグは,アカウントIDの割り当て情報を示すフラグで,アカウントIDが割り当てられているときは「On」にセットされ,アカウントIDが割り当てられていないときは「Off」にセットされる。
【0058】
アカウント管理テーブル4のレコードのMACアドレスは,シンクライアントサーバ13と接続しているコンピュータ10を識別するための情報で,セッションIDは,アカウントIDの割り当て状況や,VPN機器21のユーザ認証で得られるユーザ情報などを含むログを管理するとき,ログを識別するために利用される情報(例えば,ファイル名)である。
【0059】
アカウント管理サーバ12は,コンピュータ10から属性情報を受信すると,図4で図示したアカウント管理テーブル4から該属性情報を含み,かつ,状態フラグが「Off」のレコードを検索する。
【0060】
そして,アカウント管理サーバ12は,検索したレコードの中から「No.」が最も小さいレコードを選択するなどして,検索したレコードの中から一つのレコードを選択し,選択したレコードのアカウントIDをユーザに動的に割り当てるアカウントIDとして決定し,選択したレコードの状態フラグを「On」にセットした後,アカウントIDの割り当て要求をしたコンピュータ10のMACアドレスと,アカウントIDを動的に割り振るごとに一つだけインクリメントされるデータを該レコードに書き込む。
【0061】
コンピュータ10は,アカウント管理サーバ12からアカウントID及びパスワードを受信すると,該アカウントID及びパスワードを引数として,コンピュータ10のメモリに展開されたシンクライアントOS105のリモートアクセスクライアント108を起動させる(図2のS9)。
【0062】
リモートアクセスクライアント108が起動すると,コンピュータ10は,アカウント管理サーバ12から受信したアカウントID及びパスワードを用いて,シンクライアントサーバ13にログイン要求し(図2のS10),シンクライアントサーバ13は,コンピュータ10から受信したパスワードを照合し,コンピュータ10から受信したアカウントIDのログイン処理を実行する(図2のS11)。
【0063】
シンクライアントサーバ13は,アカウント管理サーバ12に記憶されているアカウントIDに関連付けてパスワードとサブネット3aのネットワーク名などを記憶し,コンピュータ10からアカウントID及びパスワードを受信すると,受信したアカウントIDに関連付けて記憶しているパスワードと受信したパスワードを照合し,照合に成功すると,アカウントIDに関連付けられたネットワーク名で特定されるサブネット3a内に設置されたリソースへリモートアクセスする環境の利用を,アカウントID及びパスワードを送信したコンピュータ10に対して許可し(図2のS12),この手順は終了する。
【0064】
コンピュータ10がシンクライアントサーバ13に送信するパスワードは,アカウント管理サーバ12から受信したパスワードであるため,アカウントIDやパスワードが2重に利用させるなど,アカウントIDやパスワードが不正使用された場合を除けば,シンクライアントサーバ13は,コンピュータ10から送信されたパスワードの照合に成功することになる。
【0065】
なお,アカウント管理サーバ12は,アカウント管理テーブルに記述されているMACアドレスで識別されるコンピュータ10とシンクライアントサーバ13の通信を監視し,コンピュータ10とシンクライアントサーバ13の通信の終了を検知すると,該コンピュータ10のMACアドレスが記述されているレコードの状態フラグを「Off」にセットすると共に,該レコードのMACアドレス及びセッションIDを消去する。
【0066】
ここから,図2で図示した手順のS4で実行されるプラットフォーム完全性検証処理について説明しておく。図5は,プラットフォーム完全性検証処理の手順を示したフロー図である。なお,図5で図示した手順の内容は,特許文献3で開示している内容と同じである。
【0067】
プラットフォーム完全性検証処理が開始されると、シンクライアントOS105が起動しているコンピュータ10は,プラットフォーム完全性検証に利用する乱数Rcを生成し、インターネットを介して、乱数Rcを含む乱数生成要求メッセージをアカウント管理サーバ12に送信する(図5のS20)。なお、コンピュータ10は、プラットフォーム完全性検証が終了するまで生成した乱数Rcをコンピュータ10のメモリに保持しておく。
【0068】
アカウント管理サーバ12は、コンピュータ10から乱数Rcを受信すると、プラットフォーム完全性検証で利用する乱数Rsを生成し、乱数Rsをコンピュータ10に送信すると共に(図5のS21)、プラットフォーム完全性検証が終了するまで乱数Rc及び乱数Rsをアカウント管理サーバ12のメモリに保持する。
【0069】
コンピュータ10は、アカウント管理サーバ12から乱数Rsを受信すると、アカウント管理サーバ12から送信された乱数Rsをコンピュータ10のメモリに保持した後、コンピュータ10のメモリに展開されたシンクライアントOS105のイメージすべてから、定められたアルゴリズム(例えば、SHA1)に従いハッシュ値を演算し(図5のS22)、ハッシュ値、乱数Rc及び乱数Rsを結合した構成証明メッセージを生成する(図5のS23)。
【0070】
コンピュータ10は構成証明メッセージを生成すると、シンクライアントOS105にハードコードされているMAC鍵を用い、定められた手順(例えば、ISO/IEC 9797-1に準じた手順)に従い、構成証明メッセージのMACを演算する。
【0071】
コンピュータ10は構成証明メッセージのMACを演算すると、構成証明メッセージ及びMACを含ませたコマンドメッセージをUSBトークン11に送信することで、構成証明メッセージのデジタル署名の生成をUSBトークン11に要求する(図5のS24)。
【0072】
USBトークン11は、構成証明メッセージ及びMACを含んだコマンドメッセージを受信すると、USBトークン11のスマートカード用ICチップ11aがコマンドメッセージを解釈し、該スマートカード用ICチップ11aは,MAC鍵を用い、コンピュータ10と同じアルゴリズムで構成証明メッセージからMACを演算し、コンピュータ10から送信されたMACと自身が演算したMACとが同一であるか検証することで、コンピュータ10で起動しているシンクライアントOS105を検証する(図5のS25)。
【0073】
USBトークン11のスマートカード用ICチップ11aは,構成証明メッセージのMACの検証に成功/失敗で処理を分岐させ(図5のS26)、構成証明メッセージのMACの検証に成功したときは、構成証明メッセージのデジタル署名を生成する処理を実行し、構成証明メッセージのMACの検証に失敗したときは、MACの検証に失敗したことを示すエラーメッセージをコンピュータ10に返信して、この手順を終了する。
【0074】
USBトークン11のスマートカード用ICチップ11aは、構成証明メッセージのMACの検証に成功すると、デジタル署名秘密鍵を用い、定められたデジタル署名生成アルゴリズム(例えば、PKCS#1など)に従い、構成証明メッセージのデジタル署名を生成し、生成したデジタル署名をコンピュータ10に返信する(図5のS27)。
【0075】
コンピュータ10は、USBトークン11のスマートカード用ICチップ11aから、構成証明メッセージのデジタル署名を受信すると、インターネット2を介して、構成証明メッセージとデジタル署名をアカウント管理サーバ12に送信する(図5のS28)。
【0076】
構成証明メッセージとデジタル署名をアカウント管理サーバ12が受信すると、アカウント管理サーバ12は、アカウント管理サーバ12が記憶しているデジタル署名公開鍵を用いて、定められたアルゴリズムに従い、構成証明メッセージのデジタル署名を検証することで、デジタル署名を生成したUSBトークン11の正当性を検証する(図5のS29)。
【0077】
アカウント管理サーバ12は、構成証明メッセージのデジタル署名の検証に成功すると、アカウント管理サーバ12は、アカウント管理サーバ12のメモリに保持されている乱数Rc及び乱数Rs、並びに、ハードディスクなどに記憶しているハッシュ値の期待値を参照し、構成証明メッセージに含まれる乱数Rc、乱数Rs及びハッシュ値が正しい値であるか確認することで、構成証明メッセージの正当性を検証し,プラットフォーム完全性検証を終了する(図5のS30)。
【0078】
ここから,図1で図示したプラットフォーム完全性検証システムを構成するコンピュータ10、USBトークン11,アカウント管理サーバ12及びシンクライアントサーバ13について説明する。
【0079】
図6は、USBトークン11のブロック図である。上述したように,図1で図示したUSBトークン11は、スマートカード用ICチップ11aとフラッシュメモリ11bが統合されたデバイスで,USBトークン11のスマートカード用ICチップ11aには,図5のS27で利用され,デジタル署名を生成するデジタル署名コマンド100と,図2のS7で利用される読み出しコマンド103と,デジタル署名コマンド100が利用する暗号鍵としてMAC鍵101及びデジタル署名秘密鍵102と,読み出しコマンド103で読み出しされる属性情報104が記憶されている。
【0080】
また,上述したように,USBトークン11のフラッシュメモリ11bには,図2及び図5で図示した手順をコンピュータ10に実行させるためのシンクライアントOS105のイメージ(バイトコード)が記憶されている。
【0081】
このシンクライアントOS105には、図5のS20,S22,S23,S24及びS28を実行し,シンクライアントOS105のイメージのハッシュ値を演算する機能を備えたコンピュータプログラムである計測ソフトウェア106と,図2のS9のときに起動し,Windows(登録商標)のリモートデスクトップのように,シンクライアントサーバ13にリモートアクセスするためのアプリケーションであるリモートアクセスクライアント108が含まれ、更に、計測ソフトウェア106にはMAC鍵107がハードコードされている。
【0082】
図7は、シンクライアント端末として利用されるコンピュータ10のブロック図で、図7(a)は機能ブロック図、図7(b)はハードウェアブロック図である。
【0083】
図7(a)に図示しているように、コンピュータ10には、シンクライアントOS105を起動させるための起動手段100と,シンクライアントOS105によって実現される手段として,計測手段101とリモートアクセス手段102が備えられている。
【0084】
図7(b)に図示したようにコンピュータ10は、ハードウェア資源として、中央演算装置10a(CPU: Central Processing Unit)と、コンピュータ10のメインメモリであるRAM10b(RAM: Random Access Memory)と、BIOSが実装されるROM10c(ROM: Read-Only Memory)と、USB機器と通信するためのUSBインターフェース10dと、ネットワーク通信するためのネットワークインターフェース10eと、補助記憶装置として大容量のデータ記憶装置であるハードディスク10fを備え、ハードディスク10fには、シンクライアント端末として利用されないときにブートされるOS、例えば、マイクロソフト社のWINDOWS(登録商標)が記憶されている。
【0085】
コンピュータ10の起動手段100は、コンピュータ10にUSBトークン11が装着されたことを検知すると、USBトークン11に記憶されたシンクライアントOS105のイメージをRAM10bに展開し、シンクライアントOS105を起動させる手段で、起動手段100は,ROM10cに実装されるBIOSの機能などで実現される。
【0086】
コンピュータ10の計測手段101は,シンクライアントOS105の計測ソフトウェア106によって実現される手段である。
【0087】
コンピュータ10の計測手段101は,コンピュータ10のRAM10bに展開されたシンクライアントOS105のイメージのハッシュ値を演算した後、ハッシュ値を含む構成証明メッセージを生成する。
【0088】
そして、コンピュータ10は、シンクライアントOS105にハードコートされたMAC鍵107を用いて、構成証明メッセージの認証コードとしてMAC(MAC: Message Authentication Code)を演算し、構成証明メッセージと認証コードをUSBトークン11に送信することで、構成証明メッセージのデジタル署名の生成をUSBトークン11に要求し、構成証明メッセージのデジタル署名がUSBトークン11から送信されると、構成証明メッセージとデジタル署名をアカウント管理サーバ12に送信する。
【0089】
なお、コンピュータ10が,アカウント管理サーバ12が生成した乱数Rsを構成証明メッセージに含ませると、構成証明メッセージが毎回変わることになるため、同じ構成証明メッセージを不正に再利用することを防止できる。
【0090】
また、コンピュータ10が構成メッセージを生成する前に乱数Rcを生成し、生成した乱数Rcをアカウント管理サーバ12に送信しておき、構成証明メッセージに乱数Rcを含ませることで、アカウント管理サーバ12は、構成証明メッセージをコンピュータ10から受信したときに、間違いなく、プラットフォーム完全性を検証するコンピュータ10から送信された構成証明メッセージであることが判断できるようになる。
【0091】
更に,コンピュータ10のリモートアクセス手段102は,シンクライアントOS105のリモートアクセスクライアント108で実現される手段で,コンピュータ10のリモートアクセス手段102は,図2のS10を少なくとも実行する手段である。
【0092】
すなわち,コンピュータ10のリモートアクセス手段102は,アカウント管理サーバ12から受信したアカウントID及びパスワードを用いて,リモートアクセスクライアント108にアドレスが設定されたシンクライアントサーバ13にログイン要求する動作を行い,シンクライアントサーバ13で提供されているリモートアクセス環境をコンピュータ10のディスプレイに表示させる。
【0093】
図8は、アカウント管理サーバ12のブロック図である。図8(a)は機能ブロック図、図8(b)はハードウェアブロック図である。
【0094】
図8(a)に図示しているように、アカウント管理サーバ12は、特許文献3で開示されているプラットフォーム完全性検証の手順を実行する検証手段120と、プラットフォーム完全性検証に成功したコンピュータ10を操作するユーザに対し、該ユーザの属性情報が関連付けられ,更に,割り当て可能な状態のアカウントIDの中から,一つのアカウントIDを該ユーザに割り当てるアカウント管理手段123を備え、これらの手段は,アカウント管理サーバ12を各手段として機能させるためのコンピュータプログラムで実現される。
【0095】
図8(b)に図示しているように、アカウント管理サーバ12は、ハードウェア資源として、CPU12aと、アカウント管理サーバ12のメインメモリであるRAM12bと、BIOSが実装されるROM12cと、ネットワーク通信するためのネットワークインターフェース12dと、補助記憶装置として大容量のデータ記憶装置であるハードディスク11eを備え、ハードディスク11eには、図8(a)で図示した手段として機能するコンピュータプログラムが記憶されている。
【0096】
アカウント管理サーバ12の検証手段120は、図5のS21,S29及びS30を実行する手段で,コンピュータ10から、構成証明メッセージとデジタル署名を受信すると作動し、デジタル署名公開鍵を用いて、定められたデジタル署名検証アルゴリズムに従い、構成証明メッセージのデジタル署名を検証することで、デジタル署名を生成したUSBトークン11の正当性を検証する。
【0097】
そして,検証手段120は、シンクライアントOS105のハッシュ値の期待値を参照し、構成証明メッセージに含まれるハッシュ値が正しい内容であるか確認することで、構成証明メッセージの正当性を検証する。
【0098】
なお、構成証明メッセージが乱数Rc及び乱数Rsを含んでいるとき、検証手段120は、シンクライアントOS105のハッシュ値の期待値に加え、RAMに記憶している乱数Rc及び乱数Rsを参照して、構成証明メッセージの正当性を検証する。
【0099】
アカウント管理サーバ12のアカウント管理手段123は,図2のS6及びS8を実行する手段で,検証手段120がコンピュータ10のプラットフォーム完全性検証に成功すると,該コンピュータ10からユーザの属性情報を取得し,図4で図示したアカウント管理テーブル4を参照し,取得した属性情報を含み,かつ,状態フラグが「Off」のレコードを検索し,検索したレコードの中から一つのレコードを決定する。
【0100】
アカウント管理手段123は,検索したレコードの中から一つのレコードを決定すると,該レコードに記述されたアカウントID及びパスワードをコンピュータ10に送信すると共に,該レコードの状態フラグを「On」にセットし,更に,該レコードのMACアドレス及びセッションIDにデータを書き込む。
【0101】
なお,アカウント管理サーバ12のアカウント管理手段123は,コンピュータ10とシンクライアントサーバ13間の接続を監視し,該接続が切断されると,シンクライアントサーバ13との接続が切断したコンピュータ10のMACアドレスが記述されたレコードの状態フラグを「Off」にセットすると共に,該レコードのMACアドレス及びセッションIDを消去する。
【0102】
次に,LAN3のサブネット3a内に配置されたリソースへのリモートアクセス環境を提供するシンクライアントサーバ13について説明する。図9は,シンクライアントサーバのブロック図で,図9(a)は機能ブロック図,図9(b)はハードウェアブロック図である。
【0103】
図9(a)に図示しているように、シンクライアントサーバ13は,コンピュータ10からアカウントIDとパスワードを受信すると,受信したパスワードを照合することで,該アカウントIDのログイン処理を実行するログイン手段130と、受信したパスワードの照合に成功すると,受信したアカウントIDで特定される部門のサブネット3a内に配置されているリソースのリモートアクセス環境の利用を許可するリモートアクセス環境提供手段131を備え,これらの手段は,アカウント管理サーバ12を各手段として機能させるためのコンピュータプログラムで実現される。
【0104】
図9(b)に図示しているように、シンクライアントサーバ13は、ハードウェア資源として、CPU13aと、アカウント管理サーバ12のメインメモリであるRAM13bと、BIOSが実装されるROM13cと、ネットワーク通信するためのネットワークインターフェース13dと、補助記憶装置として大容量のデータ記憶装置であるハードディスク13eを備え、ハードディスク13eには、シンクライアントサーバ13に備えられた各手段を実現するためのコンピュータプログラムが記憶されている。
【0105】
シンクライアントサーバ13のログイン手段130は,コンピュータ10から送信されるパスワードを照合するため、アカウントIDに関連付けて少なくともパスワードを記憶し,コンピュータ10からアカウントID及びパスワードが送信されると,該アカウントIDに関連付けられたパスワードと送信されたパスワードを照合する。
【0106】
シンクライアントサーバ13のリモートアクセス環境提供手段131が,パスワードの照合に成功したコンピュータ10に対して利用を許可するリモートアクセス環境は,例えば,仮想コンピュータ(Virtual Computer)で実現することができる。
【0107】
リモートアクセス環境を仮想コンピュータで実現するとき,シンクライアントサーバ13のハードディスク13eには,シンクライアントサーバ13が記憶しているアカウントIDの数だけ仮想PCが用意される。
【0108】
シンクライアントサーバ13に用意された仮想PCはアカウントIDに関連付けられており,仮想PCで利用可能なアプリケーションは,仮想PCが関連付けられているアカウントIDが対応する属性情報に依存する。
【0109】
例えば,図4で図示したアカウント管理テーブル4において,属性情報が「営業」であるアカウントIDに関連付けられている仮想PCには,売り上げなどを管理している業務サーバ14bを利用するためのアプリケーションが含まれる。
【0110】
また,図4で図示したアカウント管理テーブル4において,属性情報が「開発」であるアカウントIDに関連付けられている仮想PCには,ソフトウェアの開発用の業務サーバ14bを利用するためのアプリケーションが含まれる。
【0111】
なお、本発明は、これまで説明した実施の形態に限定されることなく、種々の変形や変更が可能である。例えば,図1で図示したリモートアクセス管理システム1においては,セキュリティトークンの機能と携帯型記憶デバイスの機能を兼ね備えたUSBトークン11を利用していたが,セキュリティトークンと携帯型記憶デバイスを個別の装置とすることもできる。
【0112】
このとき,ユーザは,セキュリティトークンとして,USBトークン11のスマートカード用ICチップ11aに備えられたデジタル署名コマンド100,MAC鍵102及びデジタル署名秘密鍵101を記憶したICカードを所持し,更に,携帯型記憶デバイスとして,USBトークン11のフラッシュメモリ11bに記憶していたシンクライアントOS105を記憶したUSBメモリを所持し,シンクライアント端末として利用するコンピュータ10に該ICカードと通信するためのICカードリーダを備えさせる。
【図面の簡単な説明】
【0113】
【図1】リモートアクセス管理システム1を説明する図。
【図2】リモートアクセス管理システムで実行される手順を示したフロー図。
【図3】コンピュータのメモリに展開されるシンクライアントOSを説明する図。
【図4】アカウント管理テーブルを説明する図。
【図5】プラットフォーム完全性検証処理の手順を示したフロー図。
【図6】USBトークンのブロック図。
【図7】コンピュータのブロック図。
【図8】アカウント管理サーバのブロック図。
【図9】シンクライアントサーバのブロック図。
【符号の説明】
【0114】
1 リモートアクセス管理システム
10 コンピュータ
100 起動手段
101 計測手段
102 リモートアクセス手段
11 USBトークン
11a スマートカード用ICチップ
11b フラッシュメモリ
105 シンクライアントOS
12 アカウント管理サーバ
120 検証手段
123 アカウント管理手段
13 シンクライアントサーバ
130 ログイン手段
132 リモートアクセス環境提供手段
14a ファイルサーバ
14b 業務サーバ
15 社内PC
16 ルータ
2 インターネット
3 LAN
3a サブネット


【特許請求の範囲】
【請求項1】
コンピュータのリモートアクセスを管理するリモートアクセス管理システムであって,
前記コンピュータがリモートアクセスするシンクライアントサーバのログインに利用するパスワードが関連付けられたアカウントIDを複数記憶し,前記コンピュータから前記アカウントIDの割り当て要求を受けると,割り当て可能な前記アカウントIDの中から,前記コンピュータを操作するユーザに一つの前記アカウントIDを動的に割り当て,割り当てた前記アカウントIDと該アカウントIDに関連付けられた前記パスワードを前記コンピュータに送信すると共に,前記コンピュータに割り当てた前記アカウントIDを割り当て不可能な状態にし,更に,前記コンピュータと前記シンクライアントサーバの接続が切断されたことを検知すると,接続が切断された前記コンピュータに割り当てた前記アカウントIDを割り当て可能な状態にするアカウント管理手段を備えたアカウント管理サーバを含み,
前記コンピュータは,前記アカウント管理サーバから受信した前記アカウントIDと前記パスワードを用いて,前記シンクライアントサーバにログイン要求するリモートアクセス手段を備え,
前記シンクライアントサーバは,前記コンピュータから送信される前記パスワードを照合し,前記コンピュータから送信された前記アカウントIDのログイン処理を実行するログイン手段と,ログインに成功した前記コンピュータに対し,該アカウントIDで特定されるリモートアクセス環境の利用を許可するリモートアクセス環境提供手段を備え,
ていることを特徴とするリモートアクセス管理システム。
【請求項2】
請求項1に記載のリモートアクセス管理システムであって,前記アカウント管理サーバは,リモートアクセスできるリソースを特定する属性情報を関連付けて前記アカウントIDを記憶し,前記アカウント管理手段は,前記ユーザの前記属性情報を前記コンピュータから取得し,取得した前記属性情報が関連付けられ,かつ,割り当て可能な前記アカウントIDの中から,前記ユーザに一つの前記アカウントIDを動的に割り当て,前記シンクライアントサーバのリモートアクセス環境提供手段は,ログイン処理に利用した前記アカウントIDで特定されるリソースを利用するリモートアクセス環境の利用を許可することを特徴とするリモートアクセス管理システム。
【請求項3】
請求項1または請求項2に記載のリモートアクセス管理システムであって,前記アカウント管理サーバは,前記コンピュータの正当性を検証する検証手段を備え,正当性を検証に成功した場合のみ,前記アカウントIDを前記ユーザに動的に割り当てることを特徴とするリモートアクセス管理システム。
【請求項4】
請求項3に記載のリモートアクセス管理システムであって,前記アカウント管理サーバに備えられた前記検証手段は,前記コンピュータ上で起動しているOS(OS: Operating System)の完全性を検証する手段であることを特徴とするリモート管理システム。
【請求項5】
請求項4に記載のリモートアクセス管理システムであって,
前記コンピュータは,前記コンピュータのメモリに展開された前記OSのイメージのハッシュ値を演算した後,前記ハッシュ値を含む構成証明メッセージのデジタル署名を生成し、前記構成証明メッセージと前記構成証明メッセージのデジタル署名を前記アカウント管理サーバに送信する計測手段を備え、
前記アカウント管理サーバの完全性検証手段は、前記コンピュータから送信された前記構成証明メッセージのデジタル署名と、前記構成証明メッセージの本体を検証する手段であることを特徴とするリモートアクセス管理システム。
【請求項6】
請求項5に記載のリモートアクセス管理システムであって,前記リモートアクセス管理システムには,外部から送信されたメッセージのデジタル署名を生成する手段を備えたセキュリティトークンが含まれ,
前記コンピュータに備えられた前記計測手段は,前記セキュリティトークンを利用して,前記ハッシュ値を含む構成証明メッセージのデジタル署名を生成することを特徴とするリモート管理システム。
【請求項7】
請求項6に記載のリモートアクセス管理システムであって,前記リモートアクセス管理システムには,前記コンピュータの前記リモートアクセス手段及び前記計測手段として機能するコンピュータプログラムが含まれたシンクライアント用のOSが記憶された携帯型記憶デバイスが含まれ,
前記コンピュータは,マウントされた前記携帯型記憶デバイスに記憶された前記シンクライアント用のOSを読み込み起動する起動手段を備えていることを特徴とするリモートアクセス管理システム。
【請求項8】
コンピュータのリモートアクセスを管理するリモートアクセス管理方法であって,
前記コンピュータがリモートアクセスするシンクライアントサーバのログインに利用するパスワードが関連付けられたアカウントIDを複数記憶したアカウント管理サーバが, 前記コンピュータから前記アカウントIDの割り当て要求を受けると,割り当て可能な前記アカウントIDの中から,前記コンピュータを操作するユーザに一つの前記アカウントIDを動的に割り当て,割り当てた前記アカウントIDと該アカウントIDに関連付けられた前記パスワードを前記コンピュータに送信すると共に,前記コンピュータに割り当てた前記アカウントIDを割り当て不可能な状態にするステップ,
前記コンピュータが,前記アカウント管理サーバから受信した前記アカウントIDと前記パスワードを用いて,前記シンクライアントサーバにログイン要求するステップ,
前記シンクライアントサーバが,前記コンピュータから送信される前記パスワードを照合し,前記コンピュータから送信された前記アカウントIDのログイン処理を実行し,ログインに成功した前記コンピュータに対し,該アカウントIDで特定されるリモートアクセス環境を提供するステップ,
を含むことを特徴とするリモートアクセス管理方法。


【図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


【公開番号】特開2010−140349(P2010−140349A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2008−317329(P2008−317329)
【出願日】平成20年12月12日(2008.12.12)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】