(57)【要約】【課題】仮想環境を提供するサーバーとの間で特殊な接続手段が存在しない場合、あるいは、接続手段が変更された場合でも変更の影響を受けずに、仮想デスクトップのような仮想的にＯＳの環境を提供するサービスを介して、認証入力装置からの入力に基づき、複数の認証を一括して認証するサービスを受ける。【解決手段】提供装置へ接続するための認証情報を求める利用者装置からの要求に応じて第１の利用者認証を実施し、第１の利用者認証が成功した利用者装置に認証情報を提供する利用者認証部と、第１の利用者認証が成功した利用者情報と認証成功時刻を保存する保存部と、を備え、利用者認証部は、提供装置から利用者装置に提供された仮想環境サービスを介して第２の利用者認証要求を受けたときに、仮想環境サービスを介して引き渡される利用者情報を基に、保存された第１の利用者認証での認証成功時刻からの経過時間が所定の範囲内である場合に、認証情報を提供する。【選択図】図３
2015084190.tif 000002
【特許請求の範囲】
【請求項１】
管理装置から管理者識別情報とともに引き渡された情報を基に秘密鍵を生成する鍵生成部と、
利用者装置に仮想環境サービスを提供する提供装置からの前記管理者識別情報による認証要求に対する認証が成功したときに前記提供装置に前記秘密鍵を引き渡す鍵配布部と、
前記提供装置へ接続するための認証情報を求める利用者装置からの要求に応じて第１の利用者認証を実施し、前記第１の利用者認証が成功した利用者装置に認証情報を提供する利用者認証部と、
前記第１の利用者認証が成功した利用者情報と認証成功時刻を保存する保存部と、を備え、
前記利用者認証部は、前記提供装置から利用者装置に提供された仮想環境サービスを介して第２の利用者認証要求を受けたときに、前記仮想環境サービスを介して引き渡される前記秘密鍵を基に、前記仮想環境サービスが正当であることを確認するとともに、前記仮想環境サービスを介して引き渡される利用者情報を基に、前記保存された第１の利用者認証での認証成功時刻からの経過時間が所定の範囲内である場合に、前記第２の利用者認証要求に対して認証情報を提供する情報処理装置。
【請求項２】
利用者装置と、前記利用者装置に仮想環境サービスを提供する提供装置と、認証処理を実行する情報処理装置とを備える情報処理システムであって、
前記情報処理装置は、
前記管理装置から管理者識別情報とともに引き渡された情報を基に秘密鍵を生成する鍵生成部と、
前記利用者装置に仮想環境サービスを提供する提供装置からの前記管理者識別情報による認証要求に対する認証が成功したときに前記提供装置に前記秘密鍵を引き渡す鍵配布部と、
前記提供装置へ接続するための認証情報を求める利用者装置からの要求に応じて第１の利用者認証を実施し、前記第１の利用者認証が成功した利用者装置に認証情報を提供する利用者認証部と、
前記第１の利用者認証が成功した利用者情報と認証成功時刻を保存する保存部と、を備え、
前記利用者認証部は、前記提供装置から利用者装置に提供された仮想環境サービスを介して第２の利用者認証要求を受けたときに、前記仮想環境サービスを介して引き渡される前記秘密鍵を基に、前記仮想環境サービスが正当であることを確認するとともに、前記仮想環境サービスを介して引き渡される利用者情報を基に、前記保存された第１の利用者認証での認証成功時刻からの経過時間が所定の範囲内である場合に、前記第２の利用者認証要求に対して認証情報を提供する情報処理システム。
【請求項３】
前記利用者端末は、第１の利用者認証の要求時に、前記利用者端末に接続された認証入力装置からの入力を基に生成された利用者認証情報を前記情報処理装置に提供し、
前記利用者認証部は、前記生成された利用者認証情報を基に前記第１の利用者認証を実施する請求項２に記載の情報処理システム。
【請求項４】
前記利用者装置は、前記第１の利用者認証によって提供された認証情報によって前記提供装置から前記仮想環境サービスの提供が受けられたときに、応答が得られるまで処理を停止する同期の認証要求確認を前記情報処理装置に送信する請求項２または３に記載の情報処理システム。
【請求項５】
前記情報処理装置は、前記利用者装置から前記同期の認証要求確認を受けた後、前記利用者装置に所定時間以上確認要求を応答していない場合に、前記同期の認証要求確認に対
して応答しないことを通知することで前記同期の認証要求確認による同期関係を解放する請求項４に記載の情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想環境で複数の認証を一括して行う機能を提供する情報処理装置、情報処理システムに関する。
【背景技術】
【０００２】
図１に、デスクトップ仮想化ソリューションが導入されるとともにシングルサインオンシステムとして機能する情報処理システムを例示する。図１の情報処理システムでは、仮想デスクトップ３の割当を行う仮想デスクトップコントローラー１と、仮想デスクトップ３を動作させる仮想デスクトップサーバー２と、仮想デスクトップ３を使用するクライアント４と、シングルサインオンシステムの認証機能を担当する認証サーバー５とが、物理ネットワーク６を介して接続されている。さらに、図１の情報処理システムでは、仮想デスクトップ３が仮想デスクトップサーバー２により実行されている。さらに、仮想デスクトップ３は、仮想デスクトップサーバー２が実行する仮想ネットワーク７を介して、物理ネットワーク６に接続されている。仮想デスクトップ３とクライアント４は仮想チャネル９を介して接続されており、双方には仮想チャネル９を使用するためのシンクライアントプログラム３１、４１がインストールされている。
【０００３】
ここで、デスクトップ仮想化とは、例えば、物理的な端末であるクライアント４において、クライアント４以外の他のコンピュータである仮想デスクトップサーバー２で実行される情報処理によって、ＯＳ（オペレーティングシステム）の環境が画面で提供されることをいう。図１では、仮想デスクトップ３が、デスクトップ仮想化によって提供されるＯＳの環境の例である。クライアント４の表示装置には、仮想デスクトップ３を利用するための画面が表示される。ユーザーは、仮想デスクトップ３から提供される画面を操作することで、仮想デスクトップサーバー２で実行される仮想デスクトップ３での処理、サービスを利用できる。
【０００４】
また、シングルサインオンとは、例えば、クライアント４が１回の認証を受けることによって複数のリソース、複数のコンピュータ等への認証を受けることができる処理をいう。また、シングルサインオンのサービスを提供するシステムをシングルサインオンシステムという。
【０００５】
デスクトップ仮想化に対応したシングルサインオンシステムの課題として、認証デバイス４５を使用する認証の実現がある。認証デバイス４５は、例えば、静脈認証において静脈を読み取る装置等である。クライアント４に仮想化されたＯＳのサービスを提供する仮想デスクトップ３は仮想デスクトップサーバー２側に存在するため、ユーザーが手元の物理的な端末であるクライアント４に認証デバイス４５を物理的に接続したとしても、通常では、仮想デスクトップ３は認証デバイス４５を認識することはできない。
【０００６】
なお、ＵＳＢ接続等の物理インターフェースをエミュレートすることで、仮想デスクトップ３が物理的な端末であるクライアント４に接続されるＵＳＢデバイスを認識するような仮想化デスクトップを含むシステムも提案されている。このシステムは、例えば、仮想デスクトップ３側とクライアント４側との両方にシンクライアントプログラム３１、４１を用意する。そして、このシステムは、クライアント４側のデバイスドライバー４４でＵＳＢインターフェースを操作し、その結果を仮想デスクトップ３側に返す仕組みを有する。このようにして、仮想デスクトップ３からクライアント４の認証デバイス４５をあたかも直接利用しているように見せる技術が提案されている。このシステムの場合には、仮想デスクトップ３のシンクライアントプログラム３１と、クライアント４のシンクライアン
トプログラム４１との間で、仮想チャネル９と呼ばれる特別の通信手段が形成される。そして、仮想デスクトップ３において、シングルサインオンを実行するＳＳＯ（Single Sign On）実行部３４は、仮想チャネル９を介してクライアント４の認証デバイスからの認証情報を取得し、認証サーバー５との間で、クライアント４のシングルサインオンを実行する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２００７−５２０７８９号公報
【特許文献２】特開２００８−２１７３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の技術による情報処理システムは、シングルサインオンのような複数の認証の実行時に、クライアント４側で認証デバイス４５を操作し、その結果を仮想デスクトップ３側に返す仕組みをとる。このため、従来の技術は、クライアント４側と仮想デスクトップ３側のそれぞれにシンクライアントプログラム３１、４１を用意し、クライアント４と仮想デスクトップ３との間で、仮想チャネル９のような特別な接続手段を設けることが前提となっている。したがって、仮想環境の提供を受けるクライアント４のような利用者装置と、仮想デスクトップ３のような仮想環境を提供する装置との間で特別な接続手段が存在しない場合、あるいは、接続手段が変更された場合に問題が生じる。そこで、開示の技術は、利用者装置と仮想環境を提供する装置との間で特別な接続手段が存在しない場合、あるいは、接続手段が変更された場合でも変更の影響を受けずに、仮想デスクトップ３のような仮想的にＯＳの環境を提供するサービスを介して、利用者装置に接続された認証入力装置からの入力に基づき、複数の認証を実施し、認証によるサービスを提供することが可能な技術を提供することにある。
【課題を解決するための手段】
【０００９】
開示の実施形態は、１つの側面では、情報処理装置によって例示される。本情報処理装置は、管理装置から管理者識別情報とともに引き渡された情報を基に秘密鍵を生成する鍵生成部と、利用者装置に仮想環境サービスを提供する提供装置からの管理者識別情報による認証要求に対する認証が成功したときに提供装置に秘密鍵を引き渡す鍵配布部と、提供装置へ接続するための認証情報を求める利用者装置からの要求に応じて第１の利用者認証を実施し、第１の利用者認証が成功した利用者装置に認証情報を提供する利用者認証部と、第１の利用者認証が成功した利用者情報と認証成功時刻を保存する保存部と、を備える。そして、利用者認証部は、提供装置から利用者装置に提供された仮想環境サービスを介して第２の利用者認証要求を受けたときに、仮想環境サービスを介して引き渡される秘密鍵を基に、仮想環境サービスが正当であることを確認するとともに、仮想環境サービスを介して引き渡される利用者情報を基に、保存された第１の利用者認証での認証成功時刻からの経過時間が所定の範囲内である場合に、第２の利用者認証要求に対して認証情報を提供する。
【発明の効果】
【００１０】
開示の技術によれば、仮想環境を提供するサーバーとの間で特殊な接続手段が存在しない場合、あるいは、接続手段が変更された場合でも変更の影響を受けずに、仮想デスクトップのような仮想的にＯＳの環境を提供するサービスを介して、認証入力装置からの入力に基づき、複数の認証を実施し、認証によるサービスを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】デスクトップ仮想化ソリューションが導入され、シングルサインオンシステムとして機能する情報処理システムを例示する図である。
【図２】実施例１の情報処理システムの構成図の一例である。
【図３】実施例１の情報処理システムの具体的構成例を例示する図である。
【図４】認証サーバーが物理ネットワークに接続される際の動作を表すフローチャートの一例である。
【図５】秘密鍵関連づけ処理のフローチャートの一例である。
【図６】クライアントが認証サーバーから仮想デスクトップの認証情報を得る処理のフローチャートの一例である。
【図７】ユーザーがシングルサインオンシステムにより、アプリケーションにログオンするまでの動作のフローチャートの一例である。
【図８】仮想デスクトップ使用中にデバイス認証を行うときのシーケンス図である。
【図９】情報処理装置のハードウェア構成を例示する図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、一実施形態に係る情報処理システムについて説明する。以下の実施形態の構成は例示であり、本情報処理システムは実施形態の構成には限定されない。本情報処理システムは、管理端末、クライアント、認証サーバー、仮想デスクトップサーバーで実行される仮想デスクトップ等を含む。
【００１３】
本情報システムでは、管理端末より生成されたシードを元に、認証サーバーが秘密鍵を生成し、生成した秘密鍵を仮想デスクトップにコピーしておく。そして、仮想デスクトップが認証サーバーにアクセスするときには、認証サーバーは仮想デスクトップに秘密鍵を要求する。仮想デスクトップが秘密鍵を用いて認証サーバーに認証されることによって、管理端末と認証サーバーとの間の信頼関係が仮想デスクトップにまで拡張されることになる。
【００１４】
一方、クライアントは、仮想デスクトップを起動するときに、クライアントに設けられた認証デバイスを用いて、自身のユーザーＩＤで認証サーバーから認証を受けるとともに、認証サーバーからユーザーＩＤに対する仮想デスクトップの認証情報を取得する。この認証サーバーへの認証がシングルサインオンの起点のデバイス認証となる。クライアントは、取得した仮想デスクトップへの認証情報を用いて、ユーザーに代わって、いわば、仮想デスクトップの代行認証を実行する。そして、認証サーバーは、認証したユーザーＩＤ及び認証時刻を保存する。クライアントは、ユーザーＩＤと認証サーバーから受け取った認証情報によって仮想デスクトップにログオンし、仮想デスクトップを起動する。
【００１５】
そして、仮想デスクトップ起動後のクライアントからシングルサインオンシステムとして次の認証要求を受けたときに、認証サーバーは起点のデバイス認証時のユーザーＩＤ及び認証時刻を確認する。そして、例えば、認証サーバーは起点のデバイス認証時の時刻からの経過時間が所定の範囲内のものか否かを判定する。本情報処理システムは、起点のデバイス認証時の時刻からの経過時間が所定の範囲の場合に限り、シングルサインオンの起点のデバイス認証を有効なものと取り扱う。その結果、シングルサインオンの起点のデバイス認証の効果が所定の範囲の経過時間まで継続される。したがって、本情報処理システムは、仮想チャネルを使わずにシングルサインオンの起点のデバイス認証を等価的に実現することが可能となる。
【実施例】
【００１６】
以下、図２から図８を参照して、実施例に係る情報処理システムを説明する。
＜システム構成＞
図２は、本情報処理システムの構成図の一例である。本情報処理システムは、サーバーとクライアントを含むサーバークライアントシステムと呼ぶこともできる。本情報処理シ
ステムは、仮想デスクトップ３の割当を行う仮想デスクトップコントローラー１と、仮想デスクトップ３を動作させる仮想デスクトップサーバー２と、仮想デスクトップ３を使用するクライアント４と、シングルサインオンシステムの認証機能を担当する認証サーバー５と、システムを統括するために管理者が使用する管理端末８とを含む。ここで、仮想デスクトップ３を動作させる仮想デスクトップサーバー２は、提供装置の一例であり、仮想デスクトップ３は、仮想環境サービスの一例である。また、クライアント４は、利用者装置の一例である。さらに、認証サーバー５は、情報処理装置の一例である。さらにまた、管理端末８は、管理装置の一例である。
【００１７】
本情報処理システムは、各構成要素が物理ネットワーク６を介して接続されている。さらに、仮想デスクトップ３が仮想デスクトップサーバー２により実行されている。また、仮想デスクトップ３は、仮想デスクトップサーバー２が提供する仮想ネットワーク７を介して、物理ネットワーク６に接続されている。ここで、仮想ネットワーク７は、例えば、仮想デスクトップサーバー２が実行するハイパーバイザー等が提供する物理ネットワーク６への仮想的な接続インターフェースである。以下、図３を参照して、図２に例示した情報処理システムの具体的構成例を説明する。
【００１８】
仮想デスクトップコントローラー１は、仮想デスクトップ３をクライアント４に割り当てるサーバーである。クライアント４に対して仮想デスクトップ３を割り当てるために、仮想デスクトップコントローラー１のＩＰアドレスは固定である。仮想デスクトップコントローラー１は、固定のＩＰアドレスを介してクライアント４からのアクセスを受けるためのサービスを起動している。
【００１９】
仮想デスクトップサーバー２は、仮想デスクトップ３と仮想ネットワーク７とを提供するサーバーである。仮想デスクトップサーバー２は、例えば、仮想的なハードディスクの上にＯＳをインストールし、そのＯＳが動作するためのハードウェアリソースをエミュレートする。仮想的なハードディスク等のハードウェアの提供、あるいはハードウェアリソースのエミュレートは、例えば、物理的なハードディスクに接続されたサーバー等のコンピュータ上で、ハイパーバイザー等の仮想化ソフトウェアを実行することで提供できる。ＯＳは、ハイパーバイザー上で動作し、ハイパーバイザーを通じて、ハードディスク等のハードウェアにアクセスするようにすればよい。仮想デスクトップサーバー２は、複数の仮想デスクトップ３と複数の仮想ネットワーク７を動作させることが可能である。なお、上記コンピュータは、例えば、物理的構成としてのＣＰＵ（Central Processing Unit）
、主記憶装置、ハードディスク等の外部記憶装置、通信インターフェース等を有する。
【００２０】
仮想デスクトップ３は、仮想デスクトップサーバー２で管理されるＯＳイメージである。ＯＳイメージとは、ＯＳを含み、仮想デスクトップサーバー２にインストールされたＯＳの環境で実行される一群のプログラムをいう。また、複数の仮想デスクトップ３は、異なる種類のＯＳを含む複数の仮想デスクトップ３であってもよい。ただし、複数の仮想デスクトップ３は、単一の種類のＯＳを含み、ハイパーバイザー上で実行される複数のプロセスとしての仮想デスクトップ３であってもよい。複数の仮想ネットワーク７は、異なるプロトコルによる複数種類のネットワークでもよいし、同一プロトコルによる複数のネットワークでもよい。
仮想デスクトップ３は、仮想デスクトップコントローラー１によって、クライアント４に対して割り当てられる。仮想デスクトップコントローラー１は、仮想デスクトップ３がどのクライアント４に割り当てられるか、どのユーザーに割り当てられるかなどを決定する。
【００２１】
仮想デスクトップ３及びクライアント４は、仮想デスクトップ３の割当には関与しない。そのため、仮想デスクトップ３とクライアント４は、お互いのＩＰアドレスを知らない
状況でも、仮想デスクトップコントローラー１による割当にしたがって、通信を開始することができる。すなわち、仮想デスクトップ３は、仮想デスクトップコントローラー１による割当にしたがい、仮想チャネル９を使用しクライアント４と接続される。仮想デスクトップ３は、仮想チャネル９を使用してクライアント４に接続するためのシンクライアントプログラム３１、認証サーバー５に接続するための認証制御部３２Ｅｘ、認証方法や認証場所を設定する認証設定部３３、ＳＳＯを実行するためのＳＳＯ実行部３４、および認証サーバー５へのアクセス権の正当性を示す秘密鍵を管理する秘密鍵管理部３５を有する。仮想デスクトップ３の各処理部は、シングルサインオンシステムの構成要素として動作する。
【００２２】
クライアント４は、ユーザーが使用する情報処理端末として例示できる。クライアント４には、仮想チャネル９を使用して仮想デスクトップ３と接続するためのシンクライアントプログラム４１、シングルサインオンシステムのためのユーザー認証を制御する認証制御部４２Ｅｘ、クライアントでのＳＳＯを実行するＳＳＯ実行部４３、および認証デバイス４５を操作するためのデバイスドライバー４４がインストールされている。
【００２３】
なお、クライアント４は、例えば、ＣＰＵ、主記憶装置、ハードディスク等の外部記憶装置、通信インターフェース等を有する。そして、ＣＰＵは、主記憶装置に実行可能に展開されたプログラムにより、認証制御部４２Ｅｘ、ＳＳＯ実行部４３等の処理を実行する。ただし、認証制御部４２Ｅｘ、ＳＳＯ実行部４３等の処理が専用のハードウェア回路で実行されてもよい。また、ユーザーが認証のための入力を行う認証デバイス４５がクライアント４に接続される。認証デバイス４５は、認証入力装置の一例である。
【００２４】
認証サーバー５は、シングルサインオンシステムの一部であり、認証情報を一括管理する。認証サーバー５は、要求元からの認証要求により認証を行い、認証が成功した場合、要求された情報を認証要求元に返す働きをする。認証サーバー５は、認証要求の送受信と認証そのものを行う認証制御部５１Ｅｘ、シングルサインオンを行うときに使用するアプリケーションへの認証情報を管理するアプリ認証情報管理部５２、および管理端末８から与えられたシードから秘密鍵を生成し、管理する秘密鍵管理部５３を有する。認証サーバー５は、秘密鍵の生成に不可逆アルゴリズムを用いることで、鍵が漏洩するリスクに備える。認証制御部５１Ｅｘは、認証時に秘密鍵の入力を要求することで、管理端末８との間に得られた信頼の関係を、秘密鍵を保持する装置にまで拡張する。
【００２５】
なお、認証サーバー５は、例えば、ＣＰＵ、主記憶装置、ハードディスク等の外部記憶装置、通信インターフェース等を有する。そして、ＣＰＵは、主記憶装置に実行可能に展開されたプログラムにより、認証制御部５１Ｅｘ、アプリ認証情報管理部５２、秘密鍵管理部５３等の処理を実行する。ただし、認証制御部５１Ｅｘ、アプリ認証情報管理部５２、秘密鍵管理部５３等の処理が専用のハードウェア回路で実行されてもよい。
【００２６】
物理ネットワーク６は、有線・無線を問わず、実在するネットワークである。一方、仮想ネットワーク７は、仮想デスクトップサーバー２上のハイパーバイザー等によって作られる。仮想ネットワーク７は、ハイパーバイザー等によりネットワークとしての動作をエミュレートされ、仮想デスクトップ３に提供される。
【００２７】
管理端末８は、本情報処理システムの管理者が業務に使用する専用の端末である。管理端末８は、管理者用アカウントや管理者専用の部屋で区画して管理される。すなわち、管理端末８には、一般の端末とは異なる操作条件が付与されている。管理端末８は、認証サーバー５をネットワークに登録する認証サーバー管理部８１を有する。なお、管理端末８は、例えば、ＣＰＵ、主記憶装置、ハードディスク等の外部記憶装置、通信インターフェース等を有する。そして、ＣＰＵは、主記憶装置に実行可能に展開されたプログラムによ
り、認証サーバー管理部８１等の処理を実行する。ただし、認証サーバー管理部８１等の処理が専用のハードウェア回路で実行されてもよい。
【００２８】
仮想チャネル９は、仮想デスクトップ３とクライアント４との間に形成された仮想的な通信路である。上述のように、仮想チャネル９形成のため、仮想デスクトップ３にシンクライアントプログラム３１がインストールされ、クライアント４にシンクライアントプログラム４１がインストールされる。シンクライアントプログラム３１、４１間の通信により、仮想デスクトップ３とクライアント４との間に仮想チャネル９が形成される。
＜システムの動作＞
図４から図８を参照して、本情報処理システムによって提供されるシングルサインオンシステムの動作を説明する。以下、説明は２つのプロセスに分けて行う。第１のプロセスは、システムの管理者が、物理ネットワーク６に認証サーバー５を導入し、仮想デスクトップ３にシングルサインオンに必要な設定を行う導入時のプロセスである。また、第２のプロセスは、クライアント４が仮想デスクトップ３に接続し、シングルサインオンを利用し、認証デバイス４５による認証を行う運用時のプロセスである。まず、導入時のプロセスについて説明する。
【００２９】
図４は認証サーバー５が物理ネットワーク６に接続される際の動作を表すフローチャートの一例である。前提作業として、管理者は認証サーバー５を物理ネットワーク６に接続するために、管理端末８と認証サーバー５を物理ネットワーク６に接続する。以下、管理者の設定作業にしたがって実行される情報処理システムの処理を説明する。
【００３０】
まず、管理者は管理端末８の認証サーバー管理部８１を起動する。認証サーバー管理部８１は、認証サーバー５に管理者として接続するための管理者ＩＤとパスワードを取得するため、管理者に管理用ＩＤとパスワードの入力を要求する（ステップＳ１０１）。上記要求にしたがって、管理者は認証サーバー管理部８１に管理用ＩＤとパスワードを入力する（ステップＳ１０２）。
【００３１】
管理用ＩＤおよびパスワードの組み合わせが正しいものと確認されると、認証サーバー管理部８１は、認証サーバー５を探索するメッセージを物理ネットワーク６に対してブロードキャストで送信する（ステップＳ１０３）。そして、認証サーバー管理部８１は、ブロードキャストの応答をあらかじめ決められた時間の間待ち受ける（ステップＳ１０４）。
【００３２】
一方、認証サーバー５は、物理ネットワーク６経由で認証サーバー５を探索するメッセージを受信した場合、受信したメッセージが管理端末８からのものであるかを確認する。受信したメッセージが管理端末８からのものであるとは、例えば、認証サーバー５との接続開始を要求するための非公開の専用メッセージが予め定められており、認証サーバー５は前述した形式のメッセージを受信した場合、メッセージの発信先を管理端末８と識別することをいう。受信したメッセージが管理端末８からのものでない場合、認証サーバー５は管理者端末８に提供するサービスがない。このため、認証サーバー５はメッセージに対する応答をせずに次のメッセージを待つ（ステップＳ１０５でＮＯ）。一方、管理端末８からのメッセージであることが確認された場合（ステップＳ１０５でＹＥＳ）、認証サーバー５はブロードキャストの送信元に対し、自身が存在することを応答する（ステップＳ１０６）。
【００３３】
すると、ブロードキャストの応答がない場合（ステップＳ１０７でＮＯ）、認証サーバー管理部８１は、それ以降の処理を行わない。一方、認証サーバー管理部８１がブロードキャストの応答を受け取ることができた場合（ステップＳ１０７でＹＥＳ）、認証サーバー５との管理者権限でのセッションを確立する。すなわち、認証サーバー管理部８１は、
ステップＳ１０２で管理者から入力された管理者ＩＤとパスワードを認証サーバー５に送信し、認証を依頼する（ステップＳ１０８）。
【００３４】
認証サーバー５は、管理端末８からの認証要求を受け取った場合、管理用ＩＤとパスワードを照合する（ステップＳ１０９）。そして、認証サーバー５は、認証結果を管理端末８に返す（ステップＳ１１０）。
【００３５】
管理端末８の認証サーバー管理部８１は、認証に失敗した場合はその後の処理を続行することができない。そのため、認証サーバー管理部８１は、一旦処理を終了する（ステップＳ１１１でＮＯ）。その後の処理としては、管理端末８、例えば、管理者に再度管理用ＩＤとパスワードの入力を求めるようにすればよい。
【００３６】
一方、認証に成功した場合（ステップＳ１１１でＹＥＳ）、認証サーバー管理部８１は、認証サーバー５に対して管理端末８が未登録状態であるか確認するメッセージを送信する（ステップＳ１１２）。ここで、登録とは、管理端末８が認証サーバー５において接続済みとして登録され、かつ、管理端末８において、認証サーバー５を管理対象のサーバーとして登録することをいう。
【００３７】
認証サーバー５は、現在の接続状態を応答する（ステップＳ１１３）。認証サーバー管理部８１は、受信した応答結果により管理端末８が接続済みであるか否かを判定する（Ｓ１１４）。管理端末８が接続済みである場合、認証サーバー管理部８１は処理を終了し、管理者からの次の命令を待つ。一方、認証サーバー５において、管理端末８が未接続状態である場合、認証サーバー管理部８１は秘密鍵のシードを認証サーバー５に送信する（ステップＳ１１５）。秘密鍵のシードは、管理者識別情報とともに引き渡された情報の一例である。
【００３８】
すると、認証サーバー５は、受信したシードを秘密鍵管理部５３に送り、シードから秘密鍵を生成する（ステップＳ１１６）。そして、秘密鍵管理部５３は生成した秘密鍵を認証サーバー５内に保存し、登録成功の旨を管理端末８に返す（ステップＳ１１７）。認証サーバー５の秘密鍵管理部５３は、鍵生成部の一例として、Ｓ１１６の処理を実行する。
【００３９】
認証サーバー管理部８１は、登録に成功した認証サーバー５を管理対象のサーバーとして登録する（ステップＳ１１８）。また、認証サーバー管理部８１は、登録した認証サーバー５との管理者権限セッションを終了する（ステップＳ１１９）。認証サーバー５も同様に管理端末８との管理者権限セッションを終了する（ステップＳ１２０）。
【００４０】
次に、管理者が仮想デスクトップ３のマスタを作成する際に、秘密鍵を関連付ける方法について説明する。クライアント４に仮想デスクトップ３が割り当てられるとき、仮想デスクトップサーバー２は、マスタとなる仮想デスクトップ３を複製して、ハイパーバイザー上で実行し、クライアント４に割り当てる。そこで、管理者が仮想デスクトップサーバー２に作成する仮想デスクトップ３の初期設定がなされた状態をマスタと呼ぶ。図５は、秘密鍵関連づけ処理のフローチャートの一例である。
【００４１】
まず、管理者は仮想デスクトップ３にシングルサインオンシステムのクライアントソフトウェア（シンクライアントプログラム３１、認証制御部３２Ｅｘ、認証設定部３３、ＳＳＯ実行部３４、秘密鍵管理部３５）をインストールする。つまり、管理者は、仮想デスクトップサーバー２上で仮想的に実行されるＯＳである仮想デスクトップ３上で上記プログラムを稼働できるように設定する。そして、管理者は、仮想デスクトップ３上で、認証設定部３３を起動し、認証を得るためのアクセス先である認証先を認証サーバー５に設定する。
【００４２】
この設定により、認証設定部３３は、認証サーバー５のＩＰアドレスと、認証サーバー５で認証を受けるための管理用ＩＤおよびパスワードの組とを管理者から取得する（ステップＳ２０１）。そして、認証設定部３３は、入力されたＩＰアドレスによるアクセス先に認証サーバー５が存在すると判断し、管理用ＩＤとパスワードを送り、自身の登録要求を行う（ステップＳ２０２）。
【００４３】
すると、認証サーバー５は、登録要求を受け付ける（ステップＳ２０３）。そして、認証サーバー５は、管理用ＩＤとパスワードにより認証を行う（ステップＳ２０４）。認証サーバー５は、認証結果を判定する（ステップＳ２０５）。つまり、認証が成功であり、正当な管理者であると判断できる場合、仮想デスクトップ３の登録を行う。正当な管理者であると判断できない場合、認証サーバー５は、登録を許可できない旨を仮想デスクトップ３に返信する。
【００４４】
より具体的には、認証が失敗である場合、認証サーバー５は、登録要求元に対して、認証失敗であると返答する（ステップＳ２０６）。一方、認証が成功である場合、認証サーバー５の認証制御部５１Ｅｘは、秘密鍵管理部５３より秘密鍵を取得し、登録要求元に秘密鍵と登録成功である旨を伝達する（ステップＳ２０７）。認証サーバー５の認証制御部５１Ｅｘは、鍵配布部の一例として、Ｓ１１７の処理を実行する。仮想デスクトップ３は、登録成功の場合、秘密鍵管理部３５にて秘密鍵を保存する（ステップＳ２０８）。
【００４５】
次に、運用プロセスにおける動作について説明する。まず、ユーザーが仮想デスクトップ３に接続するまでの動作を説明する。図６は、ユーザーの操作にしたがってクライアント４が認証サーバー５から仮想デスクトップ３の認証情報を得る処理のフローチャートの一例である。
【００４６】
まず、クライアント４は、仮想デスクトップ３を利用するために、仮想デスクトップコントローラー１に接続する（ステップＳ３０１）。クライアント４が仮想デスクトップコントローラー１に接続すると、仮想デスクトップコントローラー１は、認証情報を取得するための認証画面をクライアント４の表示装置に表示する。すると、クライアント４のＳＳＯ実行部４３は、表示装置に表示された認証画面を検出する（ステップＳ３０２）。
【００４７】
ＳＳＯ実行部４３は認証画面を検出すると、認証を行うために認証制御部４２Ｅｘに処理を委譲する。認証制御部４２Ｅｘは、仮想デスクトップコントローラー１による認証画面に代えて、シングルサインオンシステムの認証画面を表示装置表示し、ユーザーの入力を受け取る（ステップＳ３０３）。例えば、認証制御部４２Ｅｘは、図３の認証デバイス４５からユーザーの入力、あるいは、生体認証情報等を受け取る。そして、認証制御部４２Ｅｘは、ユーザーの入力を認証情報に変換する（ステップＳ３０４）。そして、認証制御部４２Ｅｘは、ステップＳ３０４の変換で生成したユーザーの認証情報を、認証のために認証サーバー５に送る（ステップＳ３０５）。
【００４８】
認証サーバー５は、受信した認証情報により認証を行う（ステップＳ３０６）。ステップＳ３０６で行われる認証が第１の利用者認証の一例である。そして、認証サーバー５は、認証結果を判定する（ステップＳ３０７）。認証が失敗の場合、認証サーバー５は、その旨をクライアント４に返す。認証失敗の返答を受信したクライアント４は、認証失敗をユーザーに通知し、ユーザーに新しい入力を要求するステップに進む（Ｓ３０８）。
【００４９】
一方、認証サーバー５での認証が成功した場合、認証サーバー５は、認証されたユーザーと認証成功の時間を記録する（ステップＳ３０９）。ステップＳ３０９で記録されるユーザーと認証成功の時間とが、それぞれ、利用者情報と認証成功時刻の一例である。そし
て、認証サーバー５は、仮想デスクトップコントローラー１へのログオンのための認証情報をクライアント４に返す（ステップＳ３１０）。
【００５０】
すると、クライアント４の認証制御部４２Ｅｘは仮想デスクトップコントローラー１へのログオンのための認証情報を、認証結果と共にＳＳＯ実行部４３に引き渡す。ＳＳＯ実行部４３は、仮想デスクトップコントローラー１へのログオンのための認証情報を用いて、仮想デスクトップコントローラー１に認証を要求する（ステップＳ３１１）。以上のように、ユーザーが仮想デスクトップコントローラー１の認証画面に認証情報を入力してログオンする代わりに、ＳＳＯ実行部４３が認証画面に認証情報を入力してログオンすることを仮想デスクトップコントローラー１への認証を代行するという。
【００５１】
ステップＳ３１１の認証が成功した場合、仮想デスクトップコントローラー１は利用可能状態にある仮想デスクトップ３をクライアント４に割り当てる。その結果、クライアント４の表示装置には仮想デスクトップ３が表示している内容、つまり、仮想デスクトップ３上のプログラムからの出力内容が表示されるようになる。以降では、仮想デスクトップ３が起動されてから、ユーザーがシングルサインオンシステムにより、アプリケーションにログオンするまでの動作を、図７を用いて説明する。
【００５２】
仮想デスクトップ３がクライアント４に割り当てられ、起動された場合、仮想デスクトップ３にインストールされているＳＳＯ実行部３４が起動される（ステップＳ４０１）。ＳＳＯ実行部３４は、ＳＳＯに必要なアプリへの認証情報（ＩＤとパスワードの組など）を認証サーバー５から取得するために、認証制御部３２Ｅｘに対して、ログオン中のユーザーに関するアプリケーション認証情報を取得するように依頼する（ステップＳ４０２）。ステップＳ４０２で取得を依頼されるアプリケーション認証情報は、ユーザーが利用な複数のアプリケーションにそれぞれ対応する複数のものでもよい。ステップＳ４０２でのアプリケーション認証情報を取得するようにとの依頼が第２の利用者認証要求に一例である。
【００５３】
すると、認証制御部３２Ｅｘは、ログオン中のユーザーＩＤをＯＳから取得する（ステップＳ４０３）。さらに、認証制御部３２Ｅｘは、秘密鍵を秘密鍵管理部３５から取得する（ステップＳ４０４）。そして、認証制御部３２Ｅｘは、認証サーバー５に対してユーザーＩＤと秘密鍵を送信し、アプリ認証情報の読み出しを要求する（ステップＳ４０５）。
【００５４】
認証サーバー５の認証制御部５１Ｅｘは、要求を受け取ると、要求元がシステム管理者によって導入された正当な仮想ＯＳであるか確認する。すなわち、認証制御部５１Ｅｘは、受信した秘密鍵と秘密鍵管理部５３に保存している秘密鍵が一致するかを確認する。すなわち、認証制御部５１Ｅｘは、２つの秘密鍵を比較する（ステップＳ４０６）。
【００５５】
認証制御部５１Ｅｘは、秘密鍵の一致または不一致を判定する（ステップＳ４０７）。秘密鍵が一致しなかった場合、認証制御部５１Ｅｘは、認証失敗として返信する（ステップＳ４０８）。秘密鍵が一致した場合、認証制御部５１Ｅｘは、受信したユーザーＩＤの認証履歴を参照し、前回の仮想デスクトップへのログオン認証成功時間が閾値以内であるか確認する（ステップＳ４０９）。前回の仮想デスクトップへのログオン認証成功時間が閾値以内であることが、第１の利用者認証での認証成功時刻からの経過時間が所定の範囲内である場合の一例である。
【００５６】
最終認証時間が閾値外である場合（ステップＳ４１０でＮＯ）、認証制御部５１Ｅｘは、仮想デスクトップ３には認証失敗として返信する。一方、最終認証時間が閾値内である場合（ステップＳ４１０でＹＥＳ）、認証制御部５１Ｅｘは、仮想デスクトップ３には要
求元が正当な場合の処理を実行する。すなわち、認証制御部５１Ｅｘは、要求元が正当であると判断した場合、アプリ認証情報管理部５２からアプリ認証情報を読み出し、仮想デスクトップ３に返信する（ステップＳ４１１）。ステップＳ４１１で返信されるアプリ認証情報が、第２の利用者認証要求に対して提供される認証情報の一例である。
【００５７】
仮想デスクトップ３の認証制御部３２Ｅｘは、認証サーバーからの返信をＳＳＯ実行部３３に転送する。なお、返信にアプリ認証情報が含まれる場合には、認証制御部３２Ｅｘは、アプリ認証情報を併せてＳＳＯ実行部３３に転送する（ステップＳ４１２）。
【００５８】
以上のステップにより、仮想デスクトップ３のＳＳＯ実行部３３は、ＳＳＯに必要なアプリ認証情報を得る。アプリ対象の検知や代行入力は従来のＳＳＯと同じであるため、本文中では言及しない。
【００５９】
次に、仮想デスクトップを使用中にデバイス認証が要求された場合の動作を説明する。図８は、仮想デスクトップ使用中にデバイス認証を行うときのシーケンス図である。一旦シングルサインオンがなされた場合でも、例えば、保護対象のアプリケーションの実行要求がなされたとき、仮想デスクトップ３あるいは仮想デスクトップ３で実行されるアプリケーションは、再度のデバイス認証を要求してもよい。本情報処理システムにおいて、デバイス認証が再度要求されると、図８のシーケンスにしたがって、デバイス認証が実行される。
【００６０】
通常状態では、クライアント４の認証制御部４２は、仮想デスクトップサーバー２への認証が完了した場合、認証サーバー５に対して同期の認証要求確認を行う。同期の認証要求確認とは、認証要求確認先から認証要求を受けるまで待ち状態となる処理をいう。本実施例の認証要求確認では、タイムアウト時間が十分に長く設定されている。したがって、クライアント４の認証制御部４２は、同期の認証要求確認後、認証サーバー５からの確認要求待ちとなり、同期の認証要求確認は、認証サーバー５で認証待ち受けセッションとしての役割を果たす（ステップＳ５０１）。この場合、同期の認証要求確認を受けた認証サーバー５は、認証要求が発生するまで、クライアント４とのセッションを保留する。
【００６１】
所定のアプリケーションの起動、所定のリソースへのアクセス等によって、仮想デスクトップ３でデバイス認証の要求が発生した場合、認証制御部３２は認証サーバー５に対してデバイス認証の要求を行う。要求を受けた認証サーバー５は、ステップＳ５０１で返信を保留していたクライアント４とのセッションに対し、「認証要求：有」と返信する（ステップＳ５０２）。
【００６２】
認証サーバー５から認証要求を受けたクライアント４の認証制御部４２は、認証要求待ちの状態を脱する。そして、認証制御部４２は、デバイスドライバー４３を介して認証デバイス４４を操作し、ユーザーからの入力を取得する。その後ユーザーの入力を認証情報に変換し、認証情報を認証サーバー５に送信する（ステップＳ５０３）。一旦認証を完了した認証制御部４２は、次の認証要求を検知するために、さらに、同期の認証要求確認を行う（ステップＳ５０４）。したがって、クライアント４の認証制御部４２は、再度認証要求待ちとなる。
【００６３】
認証サーバー５は受信した認証情報により認証を行う。認証に成功した場合、認証成功通知とともにステップＳ５０２にて要求されていたサインオンのための情報を仮想デスクトップ３の認証制御部３２に応答する。認証失敗の場合、認証失敗通知を認証制御部３２に返す（ステップＳ５０５）。
【００６４】
認証サーバー５は、一定時間毎に認証要求確認セッションを確認し、長期間使用してい
ないセッションに対して「認証要求：無」と返信する。「認証要求：無」を受け取ったクライアント４の認証制御部４２は、デバイス認証を行わずに通信セッションを終了する（ステップＳ５０６）。Ｓ５０６の処理によって、認証要求確認が不要となっているセッションがクリアされ、不要セッションを消去できることになる。
【００６５】
ただし、仮想デスクトップ３によるシングルサインオンが継続し、認証要求確認が継続している場合、認証制御部４２は、通信セッション終了後、次の認証要求を検知するために、即時新しい認証要求確認を行う（ステップＳ５０７）。したがって、Ｓ５０７の処理によって、Ｓ５０６で解放されたセッションで認証確認要求待ちのクライアント４は、再度認証確認要求待ちとなる。
＜作用および効果＞
本情報処理システムでは、クライアント４が仮想デスクトップ３へのログオン時に、クライアント４に接続された認証デバイス４５からの入力を基に、認証サーバー５から認証情報を取得して、代行認証を実行する。また、認証サーバー５は、クライアント４に代行認証のための認証情報を引き渡したとき、クライアント４のユーザーＩＤと、代行認証の成功時刻を記録する。そして、認証サーバー５は、シングルサインオンによって、次回以降の認証を要求される場合に、シングルサインオンを求めるユーザーＩＤについて代行認証のための認証情報を引き渡した時刻を取得する。そして、シングルサインオンを求めるユーザーＩＤについて代行認証のための認証情報を引き渡した時刻からの経過時間が所定の範囲内である場合に、シングルサインオンを継続して認める。したがって、認証サーバー５は、仮想デスクトップ３に対して、上記所定の範囲の経過時間に限定して、代行認証のための認証情報を引き渡したときの認証結果をシングルサインオンに継続して流用する。したがって、上記所定の範囲の経過時間が長期間とならない範囲で、シングルサインオンを継続して認めることができる。
【００６６】
また、上記代行認証のための認証情報の引き渡しを受けるため、クライアント４は、クライアント４に接続された認証デバイス４５から入力された情報により認証サーバー５の認証を受けることで、代行認証に使用する認証情報を認証サーバー５から取得する。これらの処理によって、仮想デスクトップ３は、仮想チャネル９等の特殊な経路を用いずに、上記所定の範囲の経過時間に限定して、等価的に認証デバイス４５からの入力に基づく認証結果を利用して、シングルサインオンを実現できる。
【００６７】
また、上記クライアント４による代行認証時に、仮想デスクトップ３は、事前に管理端末８の処理によって配布されている秘密鍵を用いて認証を受ける。この秘密鍵を用いて認証により、仮想デスクトップ３と認証サーバー５との間で信頼情報を確認できる。
【００６８】
また、本情報処理システムでは、上記クライアント４による代行認証がなされた場合、クライアント４の認証制御部４２は、認証サーバー５に対して、同期の認証要求確認を行う。このため、通常状態では、クライアント４の認証制御部４２は、認証サーバー５からの確認要求待ちとなっている。そして、例えば、仮想デスクトップ３において、認証デバイス４５等によるデバイス認証の要求が発生した場合に、認証サーバー５は、クライアント４の認証制御部４２に認証要求を送付することできる。その結果、認証サーバー５は、再度デバイス認証を実行でき、仮想デスクトップ３は、シングルサインオンでの信頼性をさらに高めることができる。
【００６９】
さらにまた、認証サーバー５は、上記同期の認証要求確認による認証サーバー５からの確認要求待ちとなっているクライアント５とのセッションのうち、所定時間以上経過した長期待ち受けセッションについて、「認証要求：無」と返信する。この「認証要求：無」の返信によって、確認要求待ちとなっているクライアント５とのセッションのうち不要な通信セッションを終了できる。
【００７０】
以上のように、本情報処理システムは、仮想チャネルの存在を前提とすることなく、仮想チャネルが変更された場合にも実施可能な、デバイス認証を採用したシングルサインオンシステムによるサービスを提供することができる。
＜情報処理装置等について＞
上記実施例で説明した仮想デスクトップコントローラー１、 仮想デスクトップサーバ
ー２、クライアント４は、認証サーバー５、管理端末８は、例えば、通常の情報処理装置である。図９に、情報処理装置１０のハードウェア構成を例示する。情報処理装置１０は、Central Processing Unit（ＣＰＵ）１１、主記憶装置１２、インターフェース１８を
通じて接続される外部機器を有し、プログラムにより情報処理を実行する。外部機器としては、外部記憶装置１３および通信インターフェース１４を例示できる。ＣＰＵ１１は、主記憶装置１２に実行可能に展開されたコンピュータプログラムを実行し、情報処理装置１０の機能を提供する。主記憶装置１２は、ＣＰＵ１１が実行するコンピュータプログラム、ＣＰＵ１１が処理するデータ等を記憶する。主記憶装置１２は、Dynamic Random Access Memory（ＤＲＡＭ）、Static Random Access Memory（ＳＲＡＭ）、Read Only Memory（ＲＯＭ）等である。さらに、外部記憶装置１３は、例えば、主記憶装置１２を補助す
る記憶領域として使用され、ＣＰＵ１１が実行するコンピュータプログラム、ＣＰＵ１１が処理するデータ等を記憶する。外部記憶装置１３は、ハードディスクドライブ、Solid State Disk（ＳＳＤ）等である。
【００７１】
また、情報処理装置１０は、入力装置１５、表示装置１６等によるユーザインターフェースを有するようにしてもよい。入力装置１５は、例えば、キーボード、ポインティングデバイス等である。また、表示装置１６は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。さらに、情報処理装置１０は、着脱可能記憶媒体駆動装置１７を設けてもよい。着脱可能記憶媒体は、例えば、ブルーレイディスク、Digital Versatile Disk（ＤＶＤ）、Compact Disc（ＣＤ）、フラッシュメモリカード等である。なお、図９の例では、単一のインターフェース１８が例示されているが、インターフェース１８として複数種類のものが複数設けられてもよい。
＜コンピュータが読み取り可能な記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００７２】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【符号の説明】
【００７３】
１  仮想デスクトップコントローラー 
２  仮想デスクトップサーバー
３  仮想デスクトップ
４  クライアント
５  認証サーバー
６  物理ネットワーク
７  仮想ネットワーク
８  管理端末
９  仮想チャネル
１０  情報処理装置 
【図１】
2015084190.tif 000003
【図２】
2015084190.tif 000004
【図３】
2015084190.tif 000005
【図４】
2015084190.tif 000006
【図５】
2015084190.tif 000007
【図６】
2015084190.tif 000008
【図７】
2015084190.tif 000009
【図８】
2015084190.tif 000010
【図９】
2015084190.tif 000011