(57)【特許請求の範囲】
【請求項１】
認証システムであって、
複数のアクセス制限されたネットワークリソースであって、各アクセス制限されたネットワークリソースは、個々のアクセス許可を有する、前記複数のアクセス制限されたネットワークリソースと、
第一のプロセッサを含む第一のコンピューティングデバイスであって、前記第一のプロセッサは、
第一のユーザからアクセスリクエストおよびアクセス信用確認情報を受け取り、
前記アクセス信用確認情報が有効であるということを決定し、
前記アクセス信用確認情報が有効であるという決定に応答して、第一のユーザを認証して、第一のユーザ用の認証トークンを発行するように構成されている、前記第一のコンピューティングデバイスと、
第二のプロセッサを含む第二のコンピューティングデバイスであって、前記第二のプロセッサは、
第一のユーザから前記複数のアクセス制限されたネットワークリソースのうちの第一のアクセス制限されたネットワークリソースにアクセスするためのリクエストを受け取り、
前記認証トークンおよび前記認証トークンに対するリファレンスのうちの一方を受け取り、
第一のユーザが前記第一のアクセス制限されたネットワークリソースにアクセスする許可を有しているということを決定し、
第一のユーザ用の秘密鍵および公開鍵を伴うデジタル証明書を含む第一のユーザ用のスマートカード信用確認情報を生成し、
前記スマートカード信用確認情報を仮想スマートカードに保存し、
前記仮想スマートカードを前記第一のアクセス制限されたネットワークリソースに関連付けて、第一のユーザが、追加のアクセス信用確認情報の入力無しで、前記スマートカード信用確認情報を用いて前記第一のアクセス制限されたネットワークリソースにアクセスできるようにし、
第一のユーザから前記複数のアクセス制限されたネットワークリソースのうち、前記第一のアクセス制限されたネットワークリソースとは異なるアクセス許可を有する第二のアクセス制限されたネットワークリソースにアクセスするためのリクエストを受け取り、
前記認証トークンおよび前記認証トークンに対するリファレンスのうちの一方から第一のユーザが前記第二のアクセス制限されたネットワークリソースにアクセスする許可を有しているということを決定し、
前記仮想スマートカードを前記第二のアクセス制限されたネットワークリソースに関連付けて、第一のユーザが、追加のアクセス信用確認情報の入力無しで、前記スマートカード信用確認情報を用いて前記第二のアクセス制限されたネットワークリソースにアクセスできるようにするように構成されている、前記第二のコンピューティングデバイスと
を備え、
前記複数のアクセス制限されたネットワークリソース、前記第一のコンピューティングデバイス、および前記第二のコンピューティングデバイスは、ドメイン内に含まれる、認証システム。
【請求項２】
前記認証トークンが、第一のユーザが認証されたというセキュリティ・アサーション・マークアップ・ランゲージ（ＳＡＭＬ）アサーションを含む、請求項１に記載の認証システム。
【請求項３】
ディレクトリサービスをさらに備え、第一のユーザが前記第一のアクセス制限されたネットワークリソースにアクセスする許可を有しているということを決定することは、前記ディレクトリサービスに対して、第一のユーザがアクセス制限されたネットワークリソースにアクセスする許可を有しているかどうかを確認するリクエストを送信するようにさらに構成される、請求項１に記載の認証システム。
【請求項４】
前記第一のプロセッサが、前記第二のコンピューティングデバイスに対して、前記認証トークンおよび前記認証トークンに対する前記リファレンスのうちの一方を送信するようにさらに構成される、請求項１に記載の認証システム。
【請求項５】
前記第二のプロセッサが、認証ポータルで前記認証トークンの有効性を確認するようにさらに構成される、請求項１に記載の認証システム。
【請求項６】
前記ドメイン内に含まれるディレクトリサービスをさらに備える、請求項１に記載の認証システム。
【請求項７】
前記第二のコンピューティングデバイスが、前記仮想スマートカードを使って第一のユーザを前記ディレクトリサービスにログインさせるようにさらに構成される、請求項６に記載の認証システム。
【請求項８】
非一時的なコンピュータ可読ストレージ媒体にコンピュータ実行可能命令が実装されている非一時的なコンピュータ可読ストレージ媒体であって、１つまたは複数のコンピューティングデバイスによって実行されたときに、前記コンピュータ実行可能命令が前記コンピューティングデバイスに、
第一のユーザから複数のアクセス制限された仮想デスクトップのうちの第一のアクセス制限された仮想デスクトップにアクセスするためのリクエストを受け取る処理と、
認証トークンおよび前記認証トークンに対するリファレンスのうちの一方を受け取る処理であって、前記認証トークンは、アクセス信用確認情報を認証ポータルに提示することにより第一のユーザが認証ポータルに成功裏にログインされたことを示す、一方を受け取る処理と、
第一のユーザが前記第一のアクセス制限された仮想デスクトップにアクセスする許可を有しているということを決定する処理と、
第一のユーザ用のスマートカード信用確認情報を生成する処理であって、前記スマートカード信用確認情報は、第一のユーザ用の秘密鍵、デジタル証明書、および個人識別番号（ＰＩＮ）を含む、生成する処理と、
前記スマートカード信用確認情報を仮想スマートカードに保存し、
追加のアクセス信用確認情報の入力無しで、前記仮想スマートカードに保存された前記スマートカード信用確認情報を用いてクライアントコンピューティングデバイスが前記第一のアクセス制限された仮想デスクトップにログインするのを許可する処理と、
第一のユーザから複数のアクセス制限されたネットワークリソースのうちの、第一のアクセス制限されたネットワークリソースとは異なるアクセス許可を有する第二のアクセス制限されたネットワークリソースにアクセスするためのリクエストを受け取る処理と、
前記認証トークンおよび前記認証トークンに対するリファレンスのうちの一方から第一のユーザが前記第二のアクセス制限されたネットワークリソースにアクセスする許可を有しているということを決定する処理と、
前記仮想スマートカードを前記第二のアクセス制限されたネットワークリソースに関連付けて、第一のユーザが、追加のアクセス信用確認情報の入力無しで、前記スマートカード信用確認情報を用いて前記第二のアクセス制限されたネットワークリソースにアクセスできるようにする処理と
を実行させ、
前記複数のアクセス制限されたネットワークリソースおよび１つまたは複数のデバイスは、ドメイン内に含まれる、コンピュータ可読ストレージ媒体。
【請求項９】
前記コンピュータ実行可能命令がさらに、少なくとも１つのプロセッサに、ディレクトリサービスに対して、第一のユーザが前記第一のアクセス制限された仮想デスクトップにアクセスする許可を有しているかどうかを確認するリクエストを送信させる、請求項８に記載のコンピュータ可読ストレージ媒体。
【請求項１０】
前記コンピュータ実行可能命令がさらに、前記少なくとも１つのプロセッサに、前記仮想スマートカードを使って第一のユーザを前記ディレクトリサービスにログインさせる、請求項９に記載のコンピュータ可読ストレージ媒体。
【請求項１１】
前記コンピュータ実行可能命令がさらに、少なくとも１つのプロセッサに、前記認証ポータルに対してログインリクエストを送信させ、前記ログインリクエストがユーザに関連する信用確認情報を含む、請求項８に記載のコンピュータ可読ストレージ媒体。
【請求項１２】
前記コンピュータ実行可能命令がさらに、前記少なくとも１つのプロセッサに、前記ログインリクエストに応答して、前記認証トークンおよび前記認証トークンに対する前記リファレンスのうちの一方を前記認証ポータルから受け取らせる、請求項１１に記載のコンピュータ可読ストレージ媒体。
【請求項１３】
第一のユーザの仮想デスクトップへのアクセスを許可する方法であって、
第一のユーザから複数のアクセス制限された仮想デスクトップのうちの第一のアクセス制限された仮想デスクトップにアクセスするためのリクエストを第一のコンピューティングデバイスにより受け取るステップと、
認証トークンおよび前記認証トークンに対するリファレンスのうちの一方を前記第一のコンピューティングデバイスにより受け取るステップであって、前記認証トークンは、アクセス信用確認情報を認証ポータルに提示することにより第一のユーザが認証ポータルに成功裏にログインされたことを示す、一方を受け取るステップと、
第一のユーザが第一のアクセス制限された仮想デスクトップにアクセスする許可を有していることを決定するステップと、
第一のユーザ用のスマートカード信用確認情報を生成するステップであって、前記スマートカード信用確認情報は、第一のユーザ用の秘密鍵、デジタル証明書、および個人識別番号（ＰＩＮ）を含む、生成するステップと、
前記スマートカード信用確認情報を仮想スマートカードに保存し、
前記仮想スマートカードを前記第一のアクセス制限された仮想デスクトップに関連づけて、追加のアクセス信用確認情報の入力無しで、前記スマートカード信用確認情報を用いて第一のユーザが前記第一のアクセス制限された仮想デスクトップにログインできる
ようにするステップと、
第一のユーザから複数のアクセス制限されたネットワークリソースのうち、第一のアクセス制限されたネットワークリソースとは異なるアクセス許可を有する第二のアクセス制限されたネットワークリソースにアクセスするためのリクエストを受け取るステップと、
前記認証トークンおよび前記認証トークンに対するリファレンスのうちの一方から第一のユーザが前記第二のアクセス制限されたネットワークリソースにアクセスする許可を有しているということを決定するステップと、
前記仮想スマートカードを前記第二のアクセス制限されたネットワークリソースに関連付けて、第一のユーザが、追加のアクセス信用確認情報の入力無しで、前記スマートカード信用確認情報を用いて前記第二のアクセス制限されたネットワークリソースにアクセスできるようにするステップと
を含み、
前記複数のアクセス制限されたネットワークリソースおよび前記第一のコンピューティングデバイスは、ドメイン内に含まれる、方法。
【請求項１４】
第一のユーザが第一のアクセス制限された仮想デスクトップにアクセスする許可を有していることを決定するステップは、ディレクトリサービスに対し、ユーザが前記仮想デスクトップへのアクセスの許可を有しているかどうかを確認するリクエストを送信することを含む、請求項１３に記載の方法。
【請求項１５】
第二のコンピューティングデバイスにより、前記アクセス信用確認情報を前記認証ポータルに送信するステップをさらに含む、請求項１３に記載の方法。
【請求項１６】
前記第二のコンピューティングデバイスにより、前記認証ポータルから前記認証トークンおよび前記認証トークンに対する前記リファレンスのうちの一方を受け取るステップをさらに含む、請求項１５に記載の方法。
【請求項１７】
前記第二のコンピューティングデバイスから前記第一のコンピューティングデバイスに、
前記認証トークンおよび前記認証トークンに対する前記リファレンスのうちの一方を送信するステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記仮想スマートカードを使ってユーザをディレクトリサービスにログインさせるステップをさらに含む、請求項１３に記載の方法。
【請求項１９】
第一のユーザを前記ドメインにログインさせて、ユーザが前記スマートカード信用確認情報を使って前記ドメイン内の複数のアクセス制限された仮想デスクトップにログインできるようにするステップをさらに含む、請求項１８に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
仮想マシン（ＶＭ：ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）は、ホストコンピューティングデバイスの集合、すなわち「クラスタ」によって動作させてもよい。各ＶＭは、ＶＭを動作させるホストの物理コンピューティングリソース、例えばプロセッサおよびメモリを抽象化する。ＶＭ内で実行されるゲストオペレーティングシステムとゲストソフトウェアアプリケーションは、物理リソース上で直接実行されたときに機能する方法と同様に機能しうる。
【０００２】
ＶＭは、１つまたは複数のリモートユーザがネットワークを通じてアクセス可能な仮想デスクトップを提供してもよい。仮想デスクトップは、ゲストオペレーティングシステムと、エンドユーザと対話するように意図された生産性ソフトウェアを使って構成される仮想マシンである。一般に、各仮想デスクトップは標準的な物理デスクトップコンピュータシステムとして構成され、これは、ワードプロセッサ、スプレッドシート、電子メール等の生産性アプリケーションと共に、特定のユーザ、すなわちデスクトップがユーザのために構成され、デスクトップがユーザに割り当てられるユーザと対話するためのリッチユーザインタフェースを提供する。
【０００３】
物理デスクトップと同様に、各仮想デスクトップはユーザに対し、そのユーザがその仮想デスクトップにアクセスできるようにするためにログイン信用証明情報を供給するように求めてもよいが、仮想デスクトップの場合、ユーザはそのシステムに遠隔的にアクセスしていてもよく、ユーザはクライアントコンピューティングデバイスを使ってログイン信用証明情報を供給する必要がある。複数の仮想デスクトップがそのユーザにとってアクセス可能でありうるため、ユーザは各仮想デスクトップについて異なるアクセス信用証明情報（例えば、ユーザ名とパスワード）を保持する必要があることがあり、このアクセス信用証明情報を、そのユーザがアクセスしたい各仮想デスクトップについて入力する必要がありうる。これに加えて、１つまたは複数の仮想デスクトップのためのユーザのパスワードが失効した場合、ユーザはパスワードが変更されるまで、その仮想デスクトップにログインできないこともある。
【発明の概要】
【課題を解決するための手段】
【０００４】
本明細書で説明する方法、コンピュータ可読ストレージ媒体、システムは、ホストコンピューティングデバイスの仮想デスクトップにアクセスできるようにするのを容易にする。認証システムは、認証トークンおよびその認証トークンへのリファレンスの一方を受け取り、認証トークンは、ユーザによるクライアントコンピューティングデバイスを使った認証ポータルへのログインが成功したかを示す。認証システムは、認証トークンまたは認証トークンへのリファレンスのいずれかを受け取ったことに応答して、そのユーザのための秘密鍵、デジタル証明書、個人識別番号（ＰＩＮ：ｐｅｒｓｏｎａｌ  ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｎｕｍｂｅｒ）を発行する。秘密鍵、デジタル証明書、ＰＩＮは仮想スマートカードに保存され、クライアントコンピューティングデバイスは、この仮想スマートカードを使って仮想デスクトップにログインすることが許可される。
【図面の簡単な説明】
【０００５】
【図１】コンピューティングデバイスの仮想デスクトップにアクセスするための例示的なシステムのブロック図である。
【図２】複数のコンピューティングデバイスを含む例示的な認証システムのブロック図である。
【図３】図２に示される認証システムで使用してもよい、仮想デスクトップにアクセスするための例示的な方法のフロー図である。
【発明を実施するための形態】
【０００６】
図１は、ネットワークリソース、例えばリモートまたは仮想デスクトップ等にアクセスするための例示的なシステム１００のブロック図である。システム１００は、例えばクライアントコンピューティングデバイス１０４（以下、「クライアント１０４｝と呼ぶ）、及びクライアント１０４にネットワーク１０８で通信可能に接続されたホストコンピューティングデバイス１０６（以下、「ホスト１０６」と呼ぶ）等の複数のコンピューティングデバイス１０２を含む。ユーザはクライアント１０４を利用してホスト１０６のリソースにアクセスし、これについて本明細書でより詳しく説明する。
【０００７】
各コンピューティングデバイス１０２は命令を実行するためのプロセッサ１１０を含む。コンピューティングデバイス１０２は異種かつ多様であってもよい。クライアント１０４は、例えばステートレスまたはその他のシンクライアントであってもよく、タブレットまたはモバイルデバイスであってもよく、または従来のコンピュータシステム上で実行されるアプリケーションであってもよい。コンピュータ実行可能な命令は、本明細書に記載の動作の１つまたは複数を行うためにメモリ１１２に保存される。メモリ１１２は例えば実行可能な命令、構成オプションおよびその他のデータのうちの少なくとも一つ等の情報を保存し、読み出すことができる任意のデバイスである。例えば、メモリ１１２は、１つまたは複数のコンピュータ可読ストレージ媒体、例えば１つまたは複数のランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）モジュール、フラッシュメモリモジュール、ハードディスク、ソリッドステートディスク、および光ディスクのうちの少なくとも一つを含む。
【０００８】
クライアント１０４は、プロセッサ１１０と、メモリ１１２とを含む。これに加えて、クライアント１０４はクライアントアクセスプログラム１１４を含み、このクライアントアクセスプログラム１１４はプロセッサ１１０によって実行可能な複数のコンピュータ可読命令としてメモリ１１２内に保存される。クライアントアクセスプログラム１１４は、ユーザがホスト１０６に接続し、ホスト１０６のリソースにアクセスできるように実行される。クライアント１０４は、デスクトップコンピュータ、サーバ、スマートフォン、タブレットコンピュータ、シンクライアントまたは、システム１００が本明細書に記載されているように機能できるようにする他の任意のコンピューティングデバイスであってもよい。
【０００９】
ホスト１０６は、プロセッサ１１０と、メモリ１１２とを含む。これに加えて、ホスト１０６は仮想化ソフトウェアレイヤ、例えばハイパーバイザ１１６を含み、ハイパーバイザ１１６は、プロセッサ１１０とメモリ１１２を含むホスト１０６のハードウェアプラットフォームにインストールされる。仮想化ソフトウェアレイヤは、複数の仮想マシン実行スペースをサポートしてもよく、その各々において、仮想マシン（ＶＭ：ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）１１８が同時にインスタンス化され、実行されてもよい。ハイパーバイザ１１６は、ホスト１０６の物理リソースを各ＶＭ  １１８の仮想リソースにマッピングし、各ＶＭ  １１８に専用の実行スペースとリソースを持たせるようにしてもよい。
【００１０】
これに加えて、ＶＭ  １１８は、各々がゲストオペレーティングシステム１２２と複数のゲストアプリケーション１２４を含む仮想デスクトップ１２０として構成されてもよく、またはこれを含んでいてもよい。ユーザは、仮想デスクトップ１２０およびホスト１０６のうちの少なくとも一方に「ログイン」して（すなわち、それによって認証されて）、デスクトップ１２０のリソース、例えばアプリケーション１２４とオペレーティングシステム１２２にアクセスしてもよい。クライアント１０４と仮想デスクトップ１２０との間の認証と通信を容易にするために、通信エージェント１２６が仮想デスクトップ１２０に含められてもよい。
【００１１】
図２は、クライアント１０４による仮想デスクトップ１２０へのアクセスを可能にするために使用可能な例示的な認証システム２００のブロック図である。認証システム２００は複数のコンピューティングデバイス１０２を含み、これらは例えばクライアント１０４、１つまたは複数のホスト１０６、認証ポータルサーバ２０２、接続サーバ２０４、証明書サーバ２０６、ディレクトリサーバ２０８である。ある実施形態において、接続サーバ２０４、証明書サーバ２０６、ホスト１０６、ディレクトリサーバ２０８は、ドメイン２１０の中にまとめられている。対応する物理デバイス１０２上にあるように示されているが、理解すべき点として、ディレクトリサーバ２０８、証明書サーバ２０６、接続サーバ２０４の機能は、ドメイン２１０の中の、またはそこからアクセス可能な、単独のサーバアプリケーションもしくは単独の物理システム上の複数のサーバアプリケーションに合成されてもよく、または同じ物理システムまたは複数の異なる物理システム上の任意の場所で動作する全く異なる仮想マシン上にあってもよく、またはこれらのあらゆる組み合わせであってもよい。
【００１２】
ドメイン２１０の中のコンピューティングデバイス１０２は、ユーザに対し、コンピューティングデバイス１０２にアクセできるようにするために別々の認証プロセスを実行するように求めうる。認証システム２００は、クライアント１０４（すなわち、クライアント１０４のユーザ）のドメイン２１０のコンピューティングデバイス１０２へのシングルサインオン（ＳＳＯ：ｓｉｎｇｌｅ  ｓｉｇｎ−ｏｎ）を可能にするのを容易にし、それによってクライアント１０４のユーザは、認証とドメイン２１０のコンピューティングデバイス１０２へのアクセスとを可能にするのに、認証信用証明情報、例えばユーザ名とパスワードを１度だけ入力すればよいこともある。
【００１３】
認証ポータルサーバ２０２は、クライアント１０４と接続サーバ２０４に通信可能に接続される。認証ポータルサーバ２０２は認証ポータル（以下、「ＡＰ」（ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｐｏｒｔａｌ））２１２を含み、これはメモリ１１２の中に保存された複数のコンピュータ実行可能命令として具体化され、プロセッサ１１０によって実行されて、本明細書に記載された機能を行う。認証ポータル２１２は信用された許可として動作し、ユーザが認証ポータル２１２によって認証されるときにドメイン２１０内でそのユーザのための信用レベルを確立するのを容易にする。ある実施形態において、認証ポータル２１２は、ヴイエムウェア・ホライズン・プログラム・マネージャ（ＶＭｗａｒｅ  Ｈｏｒｉｚｏｎ  Ｐｒｏｇｒａｍ  Ｍａｎａｇｅｒ）プログラムスイートを含み、これはカリフォルニア州パロアルトのヴイエムウェア社（ＶＭｗａｒｅ，Ｉｎｃ．）から市販されている。あるいは、認証ポータル２１２は認証システム２００が本明細書に記載されているように機能できるようにする、他の任意のポータルまたはゲートウェアであってもよい。
【００１４】
接続サーバ２０４は、クライアント１０４、認証ポータルサーバ２０２、証明書サーバ２０６、ホスト１０６、ディレクトリサーバ２０８に通信可能に接続される。接続サーバ２０４は、認証ポータル２１２によって確立されたユーザの信用レベルに基づく、ドメイン２１０でのユーザの認証と、特に１つまたは複数の仮想デスクトップ１２０でのユーザの認証を容易にする。
【００１５】
証明書サーバ２０６は、接続サーバ２０４とディレクトリサーバ２０８に通信可能に接続される。証明書サーバ２０６は、ドメイン２１０内のコンピューティングデバイス１０２にユーザを認証する際に使用する暗号デジタル証明書を発行し、有効性を確認する。
【００１６】
ディレクトリサーバ２０８は、証明書サーバ２０６、接続サーバ２０４、ホスト１０６に通信可能に接続される。ディレクトリサーバ２０８はディレクトリサービス（以下、「ＤＳ」（ｄｉｒｅｃｔｏｒｙ  ｓｅｒｖｉｃｅ））２１４を含み、これはメモリ１１２に保存された複数のコンピュータ実行可能命令として具体化され、プロセッサ１１０によって実行されて、本明細書に記載された機能が行われる。ある実施形態において、ディレクトリサービス２１４は、ドメイン２１０内のユーザアカウントと許可を構成し、管理する。
【００１７】
動作中、仮想デスクトップ１２０にアクセスしたいユーザはまず、アクセス信用確認情報、例えばユーザ名とパスワードを認証ポータル２１２に（クライアント１０４を介して）送信することによって認証ポータル２１２にログインする。認証ポータル２１２は、アクセスのための信用確認情報がポータル２１２にアクセスできるのに有効であるかを判断することによって、ユーザを認証する。アクセス信用確認情報が有効であれば、認証ポータル２１２は認証が成功したことを示す認証トークンを発行する。ある実施形態において、認証トークンは、ユーザが認証ポータル２１２によって認証されたというセキュリティ・アサーション・マークアップ・ランゲージ（ＳＡＭＬ：Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）によるアサーションである。
【００１８】
ユーザはクライアント１０４を通じて、接続リクエストを接続サーバ２０４に送信することによって仮想デスクトップ１２０へのアクセスをリクエストする。接続サーバ２０４は、ユーザのアクセス許可をディレクトリサービス２１４で検証し、認証トークンを使ってそのユーザが信用されるか否かを判断する。ユーザが信用されると、接続サーバ２０４はそのユーザのための秘密鍵、デジタル証明書、個人識別番号（ＰＩＮ）を発行する。ある実施形態において、秘密鍵、デジタル証明書、ＰＩＮは「１回限りの」信用確認情報であり、これはそのユーザによる１回の接続セッションについてのみ有効である。これに加えて、ＰＩＮはデジタル証明書に関連付けられた、すなわちデジタル証明書に関連付けられた秘密鍵を使って暗号動作を実行する能力に関連付けられた乱数である。あるいは、ＰＩＮは、他の任意の英数字、記号、および認証システム２００が本明細書に記載されているように機能するための入力のうちの少なくとも一つを含んでいてもよい。ある実施形態において、接続サーバ２０４は、仮想スマートカード２１６の中に秘密鍵、デジタル証明書、ＰＩＮを保存する。
【００１９】
仮想スマートカード２１６はホスト１０６に保存され、ユーザがアクセスをリクエストしている仮想デスクトップ１２０に通信可能に接続され、またはその中に保存される。仮想スマートカード２１６は、秘密鍵、デジタル証明書、および任意選択でＰＩＮ等の信用確認情報を保存する物理スマートカードまたは認証デバイスのソフトウェアに基づく表現である。信用確認情報は、仮想スマートカード２１６に関連付けられたユーザを認証し、そのユーザがユーザ名とパスワードを入力する必要なしにドメイン２１０内のリソースにアクセスできるようにするために使用される。
【００２０】
クライアント１０４は仮想デスクトップ１２０に接続し、仮想デスクトップ１２０にユーザ名とパスワード等のアクセス信用確認情報を提供する代わりに仮想スマートカード２１６を使用する。仮想デスクトップ１２０は、仮想スマートカード２１６を介して（例えば、秘密鍵、デジタル証明書、ＰＩＮを使って）ディレクトリサービス２１４と証明書サーバ２０６でユーザを認証する。ユーザが認証されると、このユーザには仮想デスクトップ１２０へのアクセスが認められる。
【００２１】
理解すべき点として、ユーザは各々が異なるアクセス信用確認情報の要求事項を有する複数の仮想デスクトップ１２０に、仮想スマートカード２１６と認証システム２００を使用してアクセスでき、その際、認証ポータル２１２においてアクセス信用確認情報（他えばユーザ名とパスワード）を１度入力するだけでよい。したがって、認証システム２００は、ユーザが仮想デスクトップ１２０およびその他のリソースのうちの少なくとも一つへのパスワードを知らなくても、ドメイン２１０内の仮想デスクトップ１２０およびその他のリソースのうちの少なくとも一方にアクセスできるようにする。理解すべき点として、認証システム２００は、ユーザが仮想デスクトップ以外のリソース、例えば１つまたは複数の物理コンピューティングデバイス１０２、１つまたは複数の端末サーバのセッションインスタンス、および例えばデスクトップコンピュータおよびサーバのうちの少なくとも一つ等の１つまたは複数のコンピューティングデバイス１０２上で実行されるアプリケーションのうちの少なくとも一つにアクセスできるようにするために使用されてもよく、その際、認証ポータル２１２でアクセス信用確認情報を１度だけ入力すればよい。
【００２２】
図３は、クライアントコンピューティングデバイス（以下、「クライアント」）からホストコンピューティングデバイス（以下、「ホスト」）の仮想デスクトップにアクセスするための例示的な方法３００のフロー図である。方法３００は、システム１００（図１に示される）および認証システム２００（図２に示される）のうちの少なくとも一方で使用できる。方法３００は、１つまたは複数のメモリ、例えば１つまたは複数のコンピュータ可読ストレージ媒体に保存された複数のコンピュータ実行可能命令において具体化される。命令は、１つまたは複数のプロセッサによって実行され、本明細書に記載された機能が実施される。
【００２３】
方法３００は、認証システムによって実行または実施され、ユーザがクライアントを介してホスト内のアクセス制限された仮想デスクトップにアクセスできるようにする。これに加えて、方法３００によって、ユーザの接続セッション中に、仮想デスクトップへの、かつその他のアクセス制限された仮想デスクトップおよび認証システムのリソースのうちの少なくとも一方へのシングルサインオンアクセスを可能にする。
【００２４】
ユーザの接続セッションは、ユーザが認証ポータルに接続すると開始される。方法３００は、認証ポータルにおいて、ユーザによりクライアントを介して供給されるアクセス信用確認情報を使ってユーザを認証すること（３０２）を含む。アクセス信用確認情報には例えば、認証ポータルのためのユーザ名とパスワードが含まれる。認証ポータルがそのアクセス信用確認情報は認証ポータルへのアクセスを可能にするのに有効であると判断すると、ポータルは、例えばユーザのアカウント設定およびアカウント許可のうちの少なくとも一方に基づいてユーザがアクセス可能な仮想デスクトップリストを表示する（３０４）。
【００２５】
認証ポータルは、ユーザがアクセスを希望する仮想デスクトップの選択をクライアントから受け取る（３０６）。仮想デスクトップへの通信と認証を容易にするために、クライアントアクセスプログラムがクライアント内で実行されてもよい。認証ポータルは、ユーザの認証の成功を示す認証トークンを発行し（３０８）、認証トークンをクライアントに（例えば、クライアントアクセスプログラムに）転送する（３１０）。ある実施形態において、認証トークンは、ユーザが認証ポータルによって認証されたというＳＡＭＬアサーションである。
【００２６】
認証システム内のコネクタサーバは、選択された仮想デスクトップに接続するためのリクエスト（すなわち、接続リクエスト）をクライアントから受け取る（３１２）。接続リクエストは、認証トークンまたは認証トークンへのリファレンスを含む。接続サーバは、トークン（またはリファレンス）を認証ポータルに送信することによって認証トークンを検証する（３１４）。認証トークンが有効であると、接続サーバは認証ポータルからトークンの確認を受け取る。この確認は、ユーザが認証ポータルによって信用されたことを検証し、接続サーバもしたがって、ユーザを信用する。
【００２７】
接続サーバは、例えばユーザアカウント許可を含むディレクトリサービスのクエリを行うことによって、ユーザのためのアクセス許可を検証する（３１６）。ユーザが仮想デスクトップにアクセスするのに十分な許可を有する場合、接続サーバは仮想スマートカードのための信用確認情報を発行する（３１８）。仮想スマートカードは、それがなければドメイン内でアクセス制限されているコンピューティングデバイスおよび仮想デスクトップのうちの少なくとも一方へのＳＳＯアクセスを容易にするために使用される。仮想スマートカードのための信用確認情報（「スマートカード信用確認情報」とも呼ばれる）には、そのユーザのための秘密鍵、デジタル証明書、個人識別番号（ＰＩＮ）が含まれる。接続サーバは、スマートカード信用確認情報を仮想スマートカードに保存し（３２０）、仮想スマートカードを、そのユーザが接続しようとしている仮想デスクトップに関連付ける。例えば、仮想スマートカードは、その仮想デスクトップのホストコンピューティングデバイス内に保存され、仮想デスクトップに通信可能に接続される。あるいは、仮想スマートカードは仮想デスクトップ内に保存される。
【００２８】
接続サーバは、ユーザの仮想デスクトップに接続するためのリクエスト（すなわち、上記３１２で受け取った接続リクエスト）を許可して、ユーザがクライアントを介して仮想デスクトップへ接続リクエストを送信することができるようにする（３２２）。仮想デスクトップは、クライアントから接続リクエストを受け取る（３２４）。接続リクエストは、ユーザ名とパスワードを提供するのではなく、スマートカード信用確認情報を使って、仮想デスクトップへのアクセスを獲得する。
【００２９】
仮想デスクトップは、仮想スマートカード信用確認情報を介してユーザを認証する（３２６）。認証プロセスの一部として、仮想スマートカード信用確認情報が、ユーザをその仮想デスクトップのあるドメインにログインさせるためにディレクトリサービスに提示する（３２８）。仮想スマートカード信用確認情報は、ディレクトリサービスによって有効性が確認され（３３０）、ユーザはドメインにログインする。仮想デスクトップは、ユーザの識別およびそのユーザによるドメインへのログインの成功のうちの少なくとも一方を表すトークンをディレクトリサービスから受け取る（３３２）。ユーザは、仮想デスクトップおよびその中に含まれるリソースのうちの少なくとも一方へのアクセスが可能となる（３３４）。理解すべき点として、クライアントおよび認証システムのうちの少なくとも一方は、仮想スマートカードを使って、ユーザ名またはパスワードを仮想デスクトップに入力せずにそのドメイン内の他の仮想デスクトップにログインしてもよい。
【００３０】
本明細書で説明した各種の実施形態は、コンピュータシステム内に保存されるデータに関わる各種のコンピュータ実装動作を利用してもよい。例えば、これらの動作は、物理的数量の物理的操作を必要とすることもあり、通常、ただし必ずしもではないが、これらの数量は電気または磁気信号の形態で得られてもよく、これら、またはこれらを表すものは、保存、転送、合成、比較、またはその他の操作が可能である。さらに、このような操作はしばしば、生成、特定、決定または比較等の用語で呼ばれる。本明細書で説明されている発明の１つまたは複数の実施形態の一部を形成する動作はいずれも、有益なマシン動作であってもよい。これに加えて、本発明の１つまたは複数の実施形態はまた、これらの動作を実行するためのデバイスまたは装置に関連する。装置は、具体的な必要な目的のために特に構成されてもよく、またはコンピュータ内に保存されるコンピュータプログラムによって選択的にアクティベートまたは構成される汎用コンピュータであってもよい。詳しくは。各種の汎用マシンは、本明細書の教示に従って書かれたコンピュータプログラムと共に使用されてもよく、または必要な動作を実行するためのより専門的な装置を構成することがより好都合でありうる。
【００３１】
本明細書で説明した各種の実施形態は他のコンピュータシステム構成、例えばハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な民生用電子機器、ミニコンピュータ、メインフレームコンピュータおよびその他でも実現できる。
【００３２】
本発明の１つまたは複数の実施形態は、１つまたは複数のコンピュータ可読媒体で具体化される１つまたは複数のコンピュータプログラムとして、または１つまたは複数のコンピュータプログラムモジュールとして実装されてもよい。コンピュータ可読媒体という用語は、その後、コンピュータシステムに入力可能なデータを保存できる任意のデータストレージデバイスを指し、すなわちコンピュータ可読媒体は、コンピュータがそれを読み取ることができるような方法でコンピュータプログラムを具体化する他の任意の既存の、または今後開発される技術に基づいていてもよい。コンピュータ可読媒体の例としては、ハードドライブ、ネットワークアタッチドストレージ（ＮＡＳ：ｎｅｔｗｏｒｋ  ａｔｔａｃｈｅｄ  ｓｔｏｒａｇｅ）、リードオンリメモリ、ランダムアクセスメモリ（例えば、フラッシュメモリデバイス）、ＣＤ（コンパクトディスク）、例えばＣＤ−ＲＯＭ、ＣＤ−ＲまたはＣＤ−ＲＷ、ＤＶＤ（デジタルバーサタイルディスク）、磁気テープ、およびその他の光および光以外のデータストレージデバイスがある。コンピュータ可読媒体はまた、ネットワーク接続コンピュータシステム上に分散させて、コンピュータ可読コードが分散的に保存され、実行されるようにすることもできる。
【００３３】
本発明の１つまたは複数の実施形態を明瞭に理解するためにある程度詳しく説明したが、特許請求の範囲内で特定の変更や改変が可能であることは明らかであろう。したがって、説明された実施形態は、限定的ではなく例示的と考えられ、特許請求の範囲は本明細書に記載されている詳細事項に限定されるのではなく、特許請求の範囲の範囲と均等物の中で改変されてもよい。特許請求の範囲において、要素およびステップのうちの少なくとも一方は、特許請求の範囲で明記されていないかぎり、いずれの特定の動作の順序も黙示していない。
【００３４】
これに加えて、説明した仮想化方法は一般に、仮想マシンが特定のハードウェアシステムと適合するインタフェースを示すことを前提としているが、当業者であれば、説明した方法を、いずれの特定のハードウェアシステムにも直接対応しない仮想化に関連して使用してもよいことがわかるであろう。ホストされた実施形態、ホストされていない実施形態、またはこれら２つの区別があいまいになる傾向のある実施形態として実装される各種の実施形態による仮想化システムは、すべて想定される。さらに、各種の仮想化動作は、全体的または部分的にハードウェアで実装され、または従来の仮想化または準仮想化技術により実装されてもよい。多くの変更、改変、追加、改良が、仮想化の程度に関係なく可能である。仮想化ソフトウェアはしたがって、仮想化機能を実行するホスト、コンソール、またはゲストオペレーティングシステムの構成要素を含むことができる。複数のインスタンスが、本明細書で単独のインスタンスとして説明された構成要素、動作または構造のために提供されてもよい。最後に、各種の構成要素、動作、データストア間の境界は幾分任意であり、特定の動作が具体的な例示的構成に関連して示されている。機能のその他の割り振りも想定され、本発明の範囲に含まれる可能性がある。一般に、例示的な構成の中で別々の構成要素として示されている構造と機能は、複合的な構造または構成要素として実装されてもよい。同様に、単独の構成要素として示されている構造と機能は、別々の構成要素として実装されてもよい。これらおよびその他の変更形態、改変形態、追加形態、改良形態は付属の特許請求の範囲に含まれる可能性がある。
【図１】
0005877278.tif 000002
【図２】
0005877278.tif 000003
【図３】
0005877278.tif 000004