説明

サーバベースのコンピュータシステムにおけるリモート認証のための方法および装置

サーバベースのコンピュータ環境におけるサーバに、ユーザをリモートに認証するための方法および装置である。クライアントコンピュータデバイスは、ユーザ証明を受信し、受信された証明に基づいて、ユーザ認証データを生成する。クライアントコンピュータデバイスは、サーバコンピュータデバイスに、生成されたユーザ認証データを送信する。サーバコンピュータデバイスは、送信されたユーザ認証データに応答して、ユーザを認証する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバベースのコンピュータシステムにおける分散されたアプリケーション処理を提供するため、特に、そのようなシステムにおける認証テクニックをリモートするための、方法および装置に関する。
【背景技術】
【0002】
ネットワークされたリソースにリモートアクセスを提供するための技術は、様々なクライアント/サーバソフトウェアの組み合わせを含む。これらの技術の一つは、しばしば「シン(thin−client)」または「サーバベースのコンピュータ」システムとして言及される。これらのシステムにおいて、アプリケーションプログラムは、一つ以上のクライアントコンピュータデバイスのために、サーバコンピュータデバイスによって実行される。アプリケーションへのクライアント入力およびアプリケーション出力は、クライアントコンピュータデバイスとサーバコンピュータデバイスとの間にて送信される。これらのシステムは、一般に、アプリケーションがサーバコンピュータデバイスによってユーザのために実行され得る前に、ユーザ自身を認証するためにクライアントコンピュータデバイスのユーザを要求する。
【0003】
クライアントコンピュータデバイスは、ユーザがデバイスを使用する前に、ローカルにログオンすることを要求し得る。クライアントコンピュータデバイスにローカルにログオンすることは、通常ユーザ名およびパスワードを要求するが、多数のクライントオペレーティングシステムは、例えば、ユーザが、トークンベースのスキーム、スマートカード、または指紋のようなバイオメトリックを用いてログオンすることを要求するように、ログオンメカニズムが置き換えられることを許す。
【0004】
クライアントコンピュータデバイスに認証するにも関わらず、ユーザは、しばしば、サーバコンピュータデバイスに認証する必要もある。しかしながら、上述されたような置換ログオンメカニズムが使用される場合、サーバコンピュータデバイスがしばしばユーザ名およびパスワードのみを許可するため、ユーザは、サーバコンピュータデバイスに認証できな得ない。ユーザが、バイオメトリックまたはスマートカードのようなテクニックを用いて認証した場合、ユーザは、サーバコンピュータデバイスに認証するために有用な有効ユーザ名−パスワード組み合わせを知り得ない。一部の技術は、ユーザ供給されたユーザ名−パスワード組み合わせのクライアントコンピュータデバイスによる傍受(intercept)を許す。しかしながら、これらの技術は、標準の認証メカニズムが置き換えられた場合、作用しない。
【0005】
したがって、シンクライアントシステムのユーザをリモートに認証する改良された方法が望まれる。
【発明の開示】
【課題を解決するための手段】
【0006】
一局面において、本発明は、クライアントコンピュータデバイスのユーザをリモートに認証するために、Ft.Lauderdale,Floridaに在るCitrix Systems,Inc.によって生産されるICAプロトコルまたはRedmond,Washingtonに在るMicrosoft Corporationによって生産されるRDPプロトコルのようなシンクライアントプロトコルと結合して、産業標準のGeneric Security Services Application Program Interface(GSSAPI)を使用する。
【0007】
他の局面においては、本発明は、ネットワークプロバイダにパススルー認証の代替方法を提供することによってセキュリティを強化する。クライアントコンピュータデバイスがサーバコンピュータデバイスにユーザ認証証明、例えば、パスワード、を送信する代わりに、認証仮想チャネルドライバは、シンクライアントプロトコル内にて仮想チャネルを通じて認証データを送信する。ユーザ認証データは、ユーザのアイデンティティを検証するために使用され得るが、ユーザの裏に隠された認証証明を明らかにはしない。送信されたユーザ認証データは、サーバコンピュータデバイスにユーザを認証するために使用される。クライアントは、したがって、ユーザ認証証明に一度もアクセスしない。管理者特権を要求し、認証証明をクライアントコンピュータデバイス上の任意のローカルな処理に利用可能にする、ネットワークプロバイダをインストールすることは要求されない。ユーザの認証証明は、どの形においても、ネットワークを通じて送信されない。リモート認証は、サーバコンピュータデバイスの裏に隠されたオペレーティングシステムによって実行される。
【0008】
本発明の一局面においては、クライアントコンピュータデバイスは、ユーザ証明を受信し、受信された証明に基づいてユーザ認証データを生成する。クライアントコンピュータデバイスは、サーバコンピュータデバイスに、生成されたユーザ認証データを送信する。サーバコンピュータデバイスは、ユーザ認証データに応答してユーザを認証する。サーバは、受信されたユーザ認証データに基づいて、新しいユーザ認証データを生成する。サーバは、第2のサーバに、新しいユーザ認証データを送信する。第2のサーバは、受信されたユーザ認証データに応答して、ユーザを認証する。一実施形態において、ユーザは、第1のサーバと第2のサーバとの間の接続を通じて、利用可能なリソースにアクセスする。
【0009】
他の局面においては、本発明は、ユーザのリモート認証に対して認証データを交換するために、ICAプロトコルまたはRDPプロトコル内にて仮想チャネルを使用する。仮想チャネルは、データをエンドポイント間にて送信する目的のために、二つ以上のエンドポイント間における任意の論理的結合である。
【0010】
他の局面においては、本発明は、認証のためにGSSAPIを使用する。したがって、本発明は、Kerberos認証方法のようなGSSAPI実施によってサポートされる任意の認証方法を用いて作用し、GSSAPIをサポートする任意のクライアントコンピュータプラットフォームまたはデバイスに使用され得る。
【0011】
本発明の他の局面においては、ユーザ認証証明(例、パスワード)は、クライアントまたはサーバのどちらもによって、あからさまに傍受(intercepted)または扱われない。ユーザ認証証明は、クライアントコンピュータデバイスとサーバコンピュータデバイスとの間において送信されない。
【0012】
本発明の他の局面においては、クライアントコンピュータデバイスは、サーバコンピュータデバイスを認証し、サーバコンピュータデバイスは、クライントコンピュータデバイスのユーザを認証する。
【0013】
本発明の他の局面においては、Microsoft Windows(登録商標)における委任(delegation)セキュリティポリシーが支持される。例えば、「アカウントは敏感であり、委任されるべきではない」を設定するユーザアカウントが可能になった場合、そのユーザは、他のサーバにログオンするために、このリモート認証テクニックを使用できない。
【発明を実施するための最良の形態】
【0014】
本発明のこれらおよび他の局面は、本発明を限定するのではなく、示すことを意味する、下記の詳細な説明および添付の図面から明らかになるであろう。
【0015】
本発明の例示的実施形態は、リモートユーザがコンテンツへのアクセスをリクエストする、分散されたネットワーク環境に適用可能である。本発明の特質を説明する前に、本発明の例示的実施形態が使用され得る一部のネットワーク環境を議論することが、役に立ち得る。
【0016】
図1を参照すると、簡潔な概要において、本発明が使用され得るクライアントサーバシステムの一実施形態が示される。第1のコンピュータデバイス(クライントコンピュータデバイス)100は、通信ネットワーク180を通じて、第2のコンピュータデバイス(サーバコンピュータデバイス)140と通信する。一部の実施形態において、第2のコンピュータデバイスは、クライアントデバイス100でもある。クライントデバイス100がサーバデバイス140と通信するネットワーク180のトポロジは、バス、スター、またはリングトポロジになり得る。ネットワーク180は、構内情報通信網(LAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットのような広域情報通信網(WAN)になり得る。
【0017】
クライアントおよびサーバデバイス100,140は、標準電話線、LANまたはWANリンク(例、T1,T3,56 kb,X.25)、ブロードバンド接続(ISDN、フレームリレー、ATM)、および無線接続を含む様々な接続を介して、ネットワーク180に接続できる。接続は、様々な通信プロトコルを使用して確立され得る(例、TCP/IP,IPX,SPX,NetBIOS,NetBEUI,SMB,Ethernet(登録商標),ARCNET,Fiber Distributed Data Interface(FDDI),RS232,IEEE 802.11,IEEE 802.11a,IEE 802.11b,IEEE 802.11gおよび直接非同期接続)。他のクライアントデバイスおよびサーバデバイス(図示せず)は、ネットワーク180にも接続され得る。
【0018】
クライアントデバイス100は、一つ以上のサーバコンピュータデバイス140によって、そのデバイスのために実行されるアプリケーションから出力を受信および表示することが可能であり、本明細書中に開示されるプロトコルに従って動作することが可能な任意のデバイスになり得る。クライアントコンピュータデバイス100は、パーソナルコンピュータ、ウィンドウズ(登録商標)ベースの端末、ネットワークコンピュータ、情報機器、Xデバイス、ワークステーション、ミニコンピュータ、携帯情報端末または携帯電話になり得る。
【0019】
同様に、サーバコンピュータデバイス140は、実行するアプリケーションに対するクライアントコンピュータデバイス100ユーザ入力から受信すること、クライアントコンピュータデバイス100のためにアプリケーションプログラムを実行すること、および本明細書中に開示されるプロトコルを使用してクライアントコンピュータデバイスと相互作用することが可能である任意のコンピュータデバイスになり得る。サーバコンピュータデバイス140は、本明細書中にサーバファームとて言及される単一サーバシステムとして論理的に作用するサーバデバイスのグループとして供給され得る。一実施形態において、サーバコンピュータデバイス140は、複数の同時にアクティブなクライアント接続をサポートするマルチユーザサーバシステムである。
【0020】
図2Aおよび図2Bは、クライアントコンピュータデバイス100およびサーバコンピュータデバイス140として有用な典型的なコンピュータ200のブロック図を示す。図2Aおよび図2Bに示されるように、各々のコンピュータ200は、中央演算処理装置202およびメインメモリユニット204を含む。各々のコンピュータ200は、一つ以上の入力/出力デバイス230a〜230bのような他の任意要素(一般に、参照番号230を使用して参照される)および中央演算処理装置202と通信するキャッシュメモリ240も含み得る。
【0021】
中央演算処理装置202は、メインメモリユニット204からフェッチされる命令に応答およびそれを処理する任意の論理回路である。多数の実施形態において、中央演算処理装置は、その全てが、Mountain View, Californiaに在るIntel Corporationによって生産される、8088,80286,80386,80486,Pentium(登録商標),Pentium(登録商標) Pro,Pentium(登録商標) II,Celeron,またはXeonプロセッサ;その全てがSchaumburg,Illinoisに在るMotorola Corporationによって生産される、68000,68010,68020,68030,68040,PowerPC 601,PowerPC604,PowerPC604e,MPC603e,MPC603ei,MPC603ev,MPC603r,MPC603p,MPC740,MPC745,MPC750,MPC755,MPC7400,MPC7410,MPC7441,MPC7445,MPC7447,MPC7450,MPC7451,MPC7455,MPC7457プロセッサ;Santa Clara,Californiaに在るTransmeta Corporationによって生産される、Crusoe TM5800,Crusoe TM5600,Crusoe TM5500,Crusoe TM5400,Efficeon TM8600,Efficeon TM8300,Efficeon TM8620プロセッサ;その全てがWhite Plains,New Yorkに在るInternational Business Machinesによって生産される、RS/6000プロセッサ,RS64,RS 64 II,P2SC,POWER3,RS64 III,POWER3−II,RS 64 IV,POWER4,POWER4+,POWER5,またはPOWER6プロセッサ;またはSunnyvale, Californiaに在るAdvanced Micro Devicesによって生産される、AMD Opteron,AMD Athlon 64FX,AMD Athlon,またはAMD Duronプロセッサ、のようなマイクロプロセッサユニットによって提供される。
【0022】
メインメモリユニット204は、データを格納することが可能であり、Static random access memory(SRAM),Burst SRAMまたはSynchBurst SRAM(BSRAM),Dynamic random access memory(DRAM),Fast Page Mode DRAM(FPM DRAM),Enhanced DRAM(EDRAM),Extended Data Output RAM(EDO RAM),Extended Data Output DRAM(EDO DRAM),Burst Extended Data Output DRAM(BEDO DRAM),Enhanced DRAM(EDRAM),同期(synchronous)DRAM(SDRAM),JEDEC SRAM,PC100 SDRAM,Double Data Rate SDRAM(DDR SDRAM),Enhanced SDRAM(ESDRAM),SyncLink DRAM(SLDRAM),Direct Rambus DRAM(DRDRAM)またはFerroelectric RAM(FRAM)、のようなマイクロプロセッサ202によって直接アクセスされる任意のストレージ配置を許す、一つ以上のメモリチップになり得る。図2Aに示される実施形態において、プロセッサ202は、システムバス220を介してメインメモリ204と通信する(より詳細に下記される)。図2Bは、プロセッサがメモリポートを介してメインメモリ204と直接通信する、コンピュータシステム200の実施形態を示す。例えば、図2Bにおいては、メモリ204はDRDRAMになり得る。
【0023】
図2Aおよび図2Bは、メインプロセッサ202が時々「バックサイド」バスと言及される第2のバスを介して、キャッシュメモリ240と直接通信する実施形態を示す。他の実施形態において、メインプロセッサ202は、システムバス220を使用してキャッシュメモリ240と通信する。キャッシュメモリ240は、一般に、メインメモリ204より早い応答時間を有し、一般に、SRAM,BSRAM,EDRAMによって提供される。
【0024】
図2Aに示される実施形態において、プロセッサ202は、ローカルなシステムバス220を介して、様々なI/Oデバイス230と通信する。様々なバスは、中央演算処理装置202を、VESA VLバス、ISAバス、EISAバス、MicroChannel Architecture(MCA)バス、PCIバス、PCI−Xバス、PCI−ExpressバスまたはNuBusを含むI/Oデバイス230に接続するために使用され得る。I/Oデバイスが映像ディスプレイである実施形態においては、プロセッサ202は、ディスプレイと通信するためにAdvanced Graphics Port(AGP)を使用し得る。図2Bは、メインプロセッサ202がHyperTransport,Rapid I/O,またはInfiniBandを介してI/Oデバイス230bと直接通信する、コンピュータシステム200の実施形態を示す。図2Bは、ローカルなバスと直接通信がミックスされる実施形態も示す:プロセッサ202は、I/Oデバイス230bと直接通信する一方、ローカルな相互接続バスを使用してI/Oデバイス230aと通信する。
【0025】
I/Oデバイス230の広い多様性は、コンピュータシステム200に存在し得る。入力デバイスは、キーボード、マウス、トラックパッド、トラックボール、マイクロホン、およびドローイングタブレットを含む。出力デバイスは、映像ディスプレイ、スピーカ、インクジェットプリンタ、レーザプリンタ、および色素昇華型プリンタを含む。I/Oデバイスは、コンピュータシステム200のためにハードディスクドライブのような大容量ストレージ、3.5インチ、5.25インチディスクまたはZIPディスクのようなフロッピー(登録商標)ディスクを受け取るためのフロッピー(登録商標)ディスクドライブ、CD−ROMドライブ、CD−R/RWドライブ、DVD−ROMドライブ、様々な形式のテープドライブ、およびLos Alamitos,Californiaに在るTwintech Industry,Inc.によって生産されるUSB Flash DriveラインのデバイスのようなUSBストレージデバイスも提供し得る。
【0026】
更なる実施形態において、I/Oデバイス230は、システムバス220とUSBバス、Apple Desktopバス、RS−232シリアル接続、SCSIバス、FireWireバス、FireWire800バス、Ethernet(登録商標)バス、AppleTalkバス、Gigabit Ethernet(登録商標)バス、Asynchronous Transfer Modeバス、HIPPIバス、Super HIPPIバス、SerialPlusバス、SCI/LAMPバス、FibreChannelバス、またはSerial Attached小規模コンピュータシステムインターフェースバス、のような外部の通信バスとの間のブリッジになり得る。
【0027】
図2Aおよび図2Bに示される一種の一般的(general−purpose)デスクトップコンピュータは、一般的に、タスクのスケジュリングおよびシステムリソースへのアクセスを制御するオペレーティングシステムの管理下において動作する。典型的なオペレーティングシステムは、Redmond,Washingtonに在るMicrosoft Corp.によって生産されるMICROSOFT WINDOWS(登録商標);Cupertino,Californiaに在るApple Computerによって生産されるMacOS;Armonk,New Yorkに在るInternational Business Machinesによって生産されるOS/2;Salt Lake City,Utahに在るCaldera Corp.によって分配される他人同士で自由に利用可能なオペレーティングシステムであるLinuxを含む。
【0028】
他の実施形態においては、クライントコンピュータデバイス100は、デバイスと矛盾しない(consistent)、異なるプロセッサ、オペレーティングシステム、および入力デバイスを有し得る。例えば、一実施形態において、クライアントコンピュータデバイス100は、Palm,Inc.によって生産されるZire 71携帯情報端末である。この実施形態においては、Zire 71は、Dallas,Texasに在るTexas Instrumentsによって生産されるOMAP 310プロセッサを使用し、PalmOSオペレーティングシステムの管理下において動作し、液晶ディスプレイスクリーン、スタイラス入力デバイス、および5ウェイ(five−way)ナビゲータデバイスを含む。
【0029】
図3Aを参照すると、ブロック図が、本発明が実行され得るネットワーク40の実施形態を示す。サーバ30,32,および34は、同等のドメイン38に属し得る。ネットワーク40において、ドメインは、1つのセキュリティデータベースの管理下におけるアプリケーションサーバおよびクライアントノードのグループを含むサブグループである。ドメインは、一つ以上の「サーバファーム」を含み得る。(サーバファームは、集中型管理を提供するために、単一サーバシステムとして作用するように一緒にリンクされているサーバのグループである。)反対に、サーバファームは、一つ以上のドメインを含み得る。二つの異なるドメインのサーバが同等のサーバファームに属するためには、ドメイン間に信頼関係が存在する必要があり得る。信頼関係は、ユーザが1つだけのログオン認証を用いて各々のドメインに関連するリソースにアクセスすることを許す、異なるドメイン間における関係である。
【0030】
一実施形態において、アプリケーションサーバ36は、ドメイン38とは異なるドメインにある。もう1つの実施形態においては、アプリケーションサーバ36は、サーバ30,32,および34と同等のドメインにある。どちらの実施形態に対しても、サーバ36が他のサーバファームに属する一方、アプリケーションサーバ30,32,および34は、1つのサーバファームに属し得、またはアプリケーションサーバ30,32,34,および36の全ては、同等のサーバファームに属し得る。新しいサーバがネットワーク40に接続される場合、新しいサーバは、既存のサーバファームに加わるまたは新しいサーバファームを始めるのどちらかを行う。
【0031】
クライアントノード10,20は、ドメインにあり得、またはどのドメインにも接続され得ない。一実施形態において、クライアントノード10は、ドメイン38にある。もう1つの実施形態においては、クライアントノード10は、アプリケーションサーバ30,32,34,または36のどれも含まない他のドメインにある。もう1つの実施形態においては、クライアントノード10は、どのドメインにもない。
【0032】
一実施形態において、クライアントノード10は、ドメイン38にあり、クライアントノードのユーザは、クライアントノード10にログオンするためにユーザ証明(credential)を提供する。ユーザ証明は、一般的に、クライアントノードのユーザ名、ユーザのパスワード、およびユーザが認識されるドメイン名を含む。ユーザ証明は、スマートカード、時間ベーストークン、社会保障番号、ユーザパスワード、個人識別(PIN)番号、シンメトリックキーまたは楕円曲線暗号に基づくデジタル証明書、ユーザのバイオメトリック特徴、またはクライアントノードのユーザの識別が、認証のために得られ得および提出され得る、任意の他の手段から得られ得る。
【0033】
クライアントノード10は、ユーザによって提供される証明からユーザ認証データを生成する。クライアントノード10は、このユーザ認証データをサーバ30に送信する。この実施形態において、クライアント証明は、ネットワークを通じて送信されず、結果として生じるユーザ認証データのみがクライアントノードによって送信される。
【0034】
サーバ30は、ユーザ認証データおよびアプリケーション関連情報から、サーバ30を含むアプリケーションサーバファームによってホストされるどのアプリケーションプログラムが、クライアントノードのユーザによる使用のために利用可能なのかも決定できる。サーバ30は、利用可能なアプリケーションプログラムを表す情報を、クライアントノード10に送信する。この処理は、クライアントノードのユーザがアプリケーション接続をセットアップする必要性を除去する。更に、サーバファームの管理者は、様々なクライアントノードユーザ間でのアプリケーションへのアクセスを制御できる。
【0035】
下記のホストされるアプリケーションプログラムのようなアプリケーションが他のサーバに存在し得るにも関わらず、サーバ30によって実行されるユーザ認証は、クライアントノード10に示される各々のホストされるアプリケーションプログラムの使用を認証するのに十分である。したがって、この実施形態において、クライアントノードがホストアプリケーションの1つにランチ(launch)(すなわち、実行を開始する)した場合、ユーザによるユーザ証明の追加入力は、そのアプリケーションの使用を認証するために不必要になる。したがって、ユーザ証明の単一エントリは、利用可能なアプリケーションを決定し、クライアントユーザによる追加の、手動ログオン認証処理なしに、そのようなアプリケーションのランチを認証するために役立ち得る。
【0036】
図3Bは、クライアントノード10が利用可能なアプリケーションの実行を開始し、サーバがアプリケーションの結果をクライアントノード10に示すことによる、他の例示的処理を示す。クライアントノード10のユーザは、アプリケーション41のランチをリクエストする(例えば、アプリケーションを表すクライアントノード10に表示されるアイコンをクリックすることによって)。アプリケーションに対するリクエスト42は、本実施例においてはサーバ30である、第1のサーバノードに向けられる。アプリケーションが第1のサーバノード30にある場合、第1のサーバノード30は、アプリケーションを実行し得、結果をクライアントノード10に戻し得る。代替的に、第1のサーバノード30は、アプリケーション41が、本実施例においてはサーバ32である、他のサーバにおいて利用可能であることを、クライアントノード10に示し得る(矢印43)。クライアントノード10およびサーバ32は、クライアントノード10がアプリケーション41の実行をリクエストすることによって、接続(矢印45と46)を確立する。サーバ32は、アプリケーション41を実行し得、結果をクライアントノード10に転送し得る(すなわち、グラフィカルユーザインターフェース)。
【0037】
図3Cは、クライアントノード20が、本実施例においてはワールドワイドウェブを介して、利用可能なアプリケーションの実行を開始することによる、他の例示的処理を示す。クライアントノード20は、Redmond,Washingtonに在るMicrosoft Corporationによって生産されるMICROSOFT INTERNET EXPLORERのようなウェブブラウザアプリケーション80を実行する。クライアントノード20は、ウェブブラウザ80を介して、サーバ30によってダイナミックに生成されるHTMLページに対応するUniform Resource Locator(URL)アドレスにアクセスするためにリクエスト82を送信する。一部の実施形態において、サーバ30によってクライアントノード20に戻される第1の応答84は、クライアントノード20を識別することを要求する認証リクエストである。
【0038】
ユーザは、クライアントノード20にユーザ証明を提供する。クライアントノード20は、提供されるユーザ証明に基づいて、ユーザ認証データを生成する。認証リクエストは、クライアントノード20が認証のために、サーバ30にウェブブラウザ80を介してユーザ認証データを送信することを許す。送信されたユーザ認証データは、サーバ30によって検証される。
【0039】
サーバ30は、ユーザ認証データおよびアプリケーション関連情報から、アプリケーションサーバによってホストされるどのアプリケーションプログラムが、クライアントノード20のユーザによって使用可能であるかも決定できる。サーバ30は、利用可能なアプリケーションプログラムを表す情報を含むHTMLページを生成し、ウェブブラウザ80を介してこれをクライアントノード20に送信する。情報は、各々の利用可能なアプリケーションに対応する、個別のランチURLアドレスを含む。
【0040】
本実施形態において、利用可能なアプリケーションは、ウェブブラウザ80を介してクライアントノード20に表示される。クライアントノードディスプレイは、利用可能なアプリケーションプログラムを表すグラフィックなアイコン57を現すウィンドウ58を有する。クライアントノード20のユーザは、マウスを用いてアイコン57をクリックすることによって、アプリケーションプログラムをランチできる。クライアントノード20は、サーバ30にあるアプリケーションランチサービスに対応するURLアドレスにアクセスするように、ウェブブラウザ80を介して、リクエスト86を送信する。サーバノード30は、アプリケーションの実行をし、その結果をクライアントノード20に転送するように、どのようにして接続が確立され得るかを示すランチ情報88を、ウェブブラウザ80を介して、クライアントノード20に送信する。
【0041】
図3Dは、クライアントノード10、本実施例においてはサーバ30である第1のサーバノード、とサーバ32との間における通信の例示的処理を示す。クライアントノード10は、サーバ32とアクティブ接続72を有する。クライアントノード10およびサーバ32は、第1のアプリケーションプログラムの実行に関する情報を交換するために、アクティブ接続72を使用できる。受信されたユーザ証明から、クライアントノード10によって生成されるユーザ認証データは、クライアントノードに格納される。ユーザ認証データのそのようなストレージは、キャッシュメモリにある。
【0042】
本実施形態において、利用可能なアプリケーションは、クライアントノード10に表示される。クライアントノードディスプレイは、第2のアプリケーションプログラムを表すグラフィックなアイコン57を現すウィンドウ58を有する。クライアントノード10のユーザは、マウスを用いてアイコン57をダブルクリックすることによって、第2のアプリケーションプログラムをランチできる。リクエストは、接続59を介して、第1のサーバノード30にパスする。第1のサーバノード30は、求められているアプリケーションがサーバ32において利用可能であることを、接続59を介して、クライアントノード10に示す。クライアントノード10は、第2の接続70を確立するために、サーバ32に信号を送る。サーバ32は、第2のアプリケーションプログラムへのアクセスを認証するために、クライアントノード10からユーザ認証データをリクエストする。クライアントノード10は、格納されているユーザ認証データに基づいて、ユーザ認証データを生成する。クライアントノード10は、次いで、サーバ32にユーザ認証データを送信する。成功(successful)認証において、クライアントノード10およびサーバ32は、第2の接続70を確立し、第2のアプリケーションプログラムの実行に関する情報を交換する。したがって、クライアントノード10およびサーバ32は、複数の接続を通じて互いに通信する。
【0043】
図4は、サーバコンピュータデバイス140に、クライアントノード100のユーザをリモートに認証するためのシステムをより詳細に示す。図4に示されるように、クライアントコンピュータデバイス100は、シンクライアントプログラム320と通信している認証モジュール310を含む。認証モジュール310は、クライアントコンピュータデバイス100、サーバコンピュータデバイス140、またはその両方にユーザを認証する目的のために提供されるユーザ認証証明を受信する。受信される認証証明は、ユーザ名−パスワード組み合わせ、グラフィックなパスワードデータ、Massachusetts,Bedfordに在るRSA Security Inc.によって生産されるトークンのSecurlDラインのような時間ベーストークンから引き出されるデータ、チャレンジ応答データ、スマートカードからの情報、および指紋、声紋または顔面特徴のようなバイオメトリック情報を含み得る。認証モジュール310は、クライアントコンピュータデバイス100にユーザを認証するために、提供される認証証明を使用し得る。例えば、WINDOWS(登録商標)ベースの環境において、認証モジュール310は、MSGINAダイナミックにリンクされたライブラリによって提供され得る。他の実施形態においては、例えば、Unix(登録商標)ベースの環境において、認証モジュール310は、pam_krbモジュールを使用して、Unix(登録商標) Pluggable Authentication Managerによって提供され得る。更なる他の実施形態においては、認証モジュール310は、Unix(登録商標) kinitコマンドプログラムによって提供され得る。
【0044】
図4に示される実施形態において、クライアントコンピュータデバイスは、セキュリティサービス312も含む。他の実施形態において、認証モジュール310およびセキュリティサービス312は、同等のダイナミックにリンクされたライブラリとして提供される。セキュリティサービス312は、クライアントコンピュータデバイスへの認証およびリモートホストまたはネットワークサービスへの認証のようなセキュリティサービスを、認証モジュール310およびシンクライアントアプリケーション320を含む、クライアントコンピュータデバイスにあるモジュールおよびアプリケーションに提供する。例えば、Internet Engineering Task Force(IETF)によって特定されるGSSAPIまたはRedmond,Washingtonに在るMicrosoft Corporationによって生産されるSSPIになり得るセキュリティサービス312は、クライアントコンピュータデバイスにあるモジュールまたはアプリケーションのリクエストにより、ユーザ認証証明の受信に応答してKerberosチケットを得り得、このチケットを、リモートホストまたはネットワークサービスへのユーザを認証するための追加のKerberosチケットを得るために使用する。セキュリティサービス312は、次いで、リモート認証のためにこれらのKerberosチケットを必要な場合使用し、ユーザ認証データを生成し得る。一実施形態において、セキュリティサービス312は、Kerberos環境におけるKey Distribution CenterまたはWindows(登録商標)ベースの環境におけるActive Directoryのような外部の認証サービスを使用して、ユーザ認証データを生成し得る。
【0045】
セキュリティサービス312は、例えば、Kerberosチケットおよび関連するKerberos認証符号(authenticator)のような、生成されたユーサ認証データを、シンクライアントアプリケーション320に提供する。シンクライアントアプリケーション320は、ユーザのリモート認証のために、ユーザ認証データをサーバコンピュータデバイス140に送信する。したがって、サーバベースコンピューティングのための既存の単一サインオンメカニズムと違って、ユーザ提供される認証証明は、サーバコンピュータデバイス140にネットワーク180を通じて送信されない。セキュリティサービス312によって生成されるユーザ認証データは、クライアントコンピュータデバイス100に認証するためにユーザによって使用される方法に依存しない。したがって、例えば、クライアントコンピュータデバイス100に認証するために、ユーザがユーザ名−パスワード組み合わせまたはバイオメトリックを使用しようとなかろうと、クライアントコンピュータデバイス100のユーザのためのKerberosチケットは得られる。
【0046】
図4の示される実施形態において、シンクライアントアプリケーション320は、一つ以上の仮想チャネル335を有するシンクライアントプロトコルを介して、サーバコンピュータデバイス140と通信する。これらの実施形態において、シンクライアントアプリケーション320は、仮想チャネルドライバをロードし、それを、認証仮想チャネルにおいてメッセージを送信および受信するために使用する。一部の実施形態において、仮想チャネルドライバは、仮想チャネルを開口し、それを越えてデータを送信するための機能をさらす(expose)。
【0047】
シンクライアントアプリケーション320は、シンクライアントプロトコル接続が確立された場合、認証仮想チャネルが利用可能であることを、サーバ側シンクライアントアプリケーション350に示し、サーバコンピュータデバイス140に仮想チャネル335のためのデータ構造をパスする。一実施形態において、認証仮想チャネルのための仮想チャネルデータ構造は、仮想チャネル情報およびクライアントコンピュータデバイス100が、仮想チャネル335を通じてサーバコンピュータデバイス140から受け取りまたは送信できる、最も大きなデータパケットのサイズの表示を含む。データパケットサイズは、最大のシンクライアントサイズおよびクライアントコンピュータデバイス100によって強制(impose)される任意の特定のメモリ制限によって抑制される。特定の一実施形態において、認証仮想チャネルのためのデータ構造は、以下のように定義される:
【0048】
【数1】

サーバ側シンクライアントアプリケーション350は、仮想チャネルを開口し、チャネルにバインドリクエストメッセージを送信することによる、認証仮想チャネル335を使用して認証を実行する意図を、シンクライアントアプリケーション320に示す。仮想チャネルが一度開口されると、シンクライアントアプリケーション320にある仮想チャネルドライバは、一実施形態において、仮想チャネルからバインディングをリクエストするメッセージを読み取り、バインドリクエストに応答して仮想チャネルにメッセージを送信し、およびチャネルから「コミット」メッセージを読み取る。一実施形態において、バインディングをリクエストするメッセージは、サポートされているプロトコルバージョンを特定するデータを含む。他の実施形態において、プロトコルバージョンは、バインドリクエストおよびバインド応答メッセージを使用して、シンクライアントアプリケーション320とサーバ側シンクライアントアプリケーション350との間にてネゴシエートされ得る。
【0049】
バインドリクエスト、バインド応答、およびバインドコミット初期化メッセージは、サーバ側シンクライアントアプリケーション350およびシンクライアントアプリケーション320が、サーバ側シンクライアントアプリケーション350によって開始される3方向のハンドシェイクを導く(conduct)ことを許し、可能性(capability)をネゴシエートする。仮想チャネル可能性の現在のセットが、2方向ハンドシェイクのみを使用してネゴシエートされ得る場合、2方向ハンドシェイクは、サーバ側シンクライアントアプリケーション350によって開始され得るが、3方向ハンドシェイクは、新しい可能性または現在の可能性への将来的強化によって要求され得る、より多くの柔軟性を許すようにサポートされる。例えば、3方向ハンドシェイクにおいて、サーバ側シンクライアントアプリケーション350から可能性の「メニュー」を受信した後、シンクライアントアプリケーション320は、特定のプリファランスを示し得、またはその代わりに、特定の可能性に関連するオプションの全セットを認め、従って、サーバ側シンクライアントアプリケーション350が特定のオプションにおいて決定することを許す。シンクライアントアプリケーション320によって開始される2方向ハンドシェイクにおいて、シンクライアントアプリケーション320は、ホストによってサポートされ得ないため、特定のプレファレンスを示し得ない。
【0050】
チャネルセットアップに続いて、シンクライアントアプリケーション320およびサーバ側シンクライアントアプリケーション350の両方の仮想チャネルドライバは、「ストップ」メッセージまたは「エラー」メッセージが受信されるまで、ループにおいて以下のことをする:仮想チャネルを介して、他の団体によって送信される任意の認証データを入力として提供し、セキュリティサービス312,312’から認証データを引き出す;引き出された認証データ(ある場合)を、データメッセージにおいて仮想チャネルに送信する。セキュリティサービス312,312’からのデータの引き出しが「STOP」メッセージを返した場合、信号はストップし、認証仮想チャネルを閉じる。一部の実施形態において、仮想チャネルドライバは、「CONTINUE」信号においてそれ自体をリセットし得る。セキュリティサービス312,312’からのデータの引き出しが「続ける」メッセージを返した場合、続ける。セキュリティサービス312,312’からの認証データの引き出しが「ERROR」を返した場合、エラーが生じたことを信号で伝え、認証仮想チャネルを閉じる。
【0051】
「stop」または「error」の信号が送られない限りは、シンクライアントアプリケーション320およびサーバ側シンクライアントアプリケーション350の仮想チャネルドライバは、セキュリティサービス312,312’が送信されるデータバッファを生成することをストップするまで、データメッセージを自由に交換できる。一部の実施形態において、交換されるメッセージの数は、仮想チャネルドライバ、サーバ側シンクライアントアプリケーション350、または仮想チャネル335によって制限され得る。他の実施形態において、シンクライアントアプリケーション320およびサーバ側シンクライアントアプリケーション350の仮想チャネルドライバは、メッセージを連続的に交換し、すなわち、もう一方に送信される第1のメッセージへの返信なしに、二つのメッセージは、一つの方向に送信されない。どちらの実施形態においても、メッセージ交換は、メッセージがどちらかの方向に送信された後、ストップし得る。
【0052】
一部の特定の実施形態において、データメッセージは、最初に、仮想チャネルLeast Significant Double Word(LSDW),Least Significant Word(LSW),Least Significant Byte(LSB)を通じて送信される。他の特定の実施形態において、データメッセージは、バイト境界において並べられ(aligned)、メモリに完全に詰め込まれる(packed)。これらの実施形態において、データフィールドは、仮想チャネルに書き込まれるまたは読み取られるように、メモリに並べられる。
【0053】
認証仮想チャネルにおいて送信される一部のメッセージは、複数の仮想チャネルパケットに及ぶ(span)。これをサポートするために、あらゆるメッセージは、次に送信されるコマンドの長さを特定するメッセージに先行されるべきである。次のコマンドの長さを特定するために使用され得るメッセージの例は:
【0054】
【数2】

である。
【0055】
これらの実施形態の一部において、PKT_CMDLENは、どの種類のメッセージが続くかを示すためにコマンド番号も含む:
【0056】
【数3】

Length=0を含むPKT_CMDLENパケットは、データはもう続かないことを示す(すなわち、論理チャネル閉路)。
【0057】
サーバ側シンクライアントアプリケーション350は、認証仮想チャネルを通じて受信する認証データを、そのセキュリティサービス312’にパスする。サーバ側セキュリティサービス312’がデータを検証できる場合、ユーザのためのログオンセッションを表すアクセストークンを生成し、ユーザが、認証証明を再提出せずにサーバコンピュータデバイス140に認証することを許す。アクセストークンは、他のものに加えて、ログオンセッションのためのlocally unique identifier(LUID)を含むデータ対象物である。サーバ側セキュリティサービス312’がデータを検証できない場合、ユーザは、認証証明を再提出するのを促される。
【0058】
一部の実施形態において、サーバ側セキュリティサービス312’がユーザを認証するまで、ユーザがサーバコンピュータデバイス140と通信し得る、唯一の仮想チャネルは、認証仮想チャネルである。これらの実施形態の一部において、認証後、新しい仮想チャネルは、通信のために開始される。他の実施形態においては、仮想チャネルは一つだけ存在し、ユーザが認証されるまで認証関連通信のためだけに使用され得、ユーザが認証された後、他の通信のために使用され得る。
【0059】
サーバ側コンピュータデバイス140が、MICROSOFT WINDOWS(登録商標)オペレーティングシステムの管理下において動作する実施形態に対しては、サーバ側セキュリティサービス312’によって生成されるアクセストークンは、ネットワークログオン権利だけを有する模倣(impersonation)トークンである。すなわち、生成されるアクセストークンは、WINDOWS(登録商標)サーバベースのコンピュータ環境において要求されるように、アプリケーションが対話式に走るように開始するために使用するのに適さない。アプリケーションが対話式に走ることを許すために、対話式ログオン権利を有するプライマリアクセストークンが必要である。一実施形態において、生成されるアクセストークンは、適切な権利を提供するために修正される。他の実施形態においては、新しいトークンが、ユーザのために生成される。
【0060】
サーバ側コンピュータデバイス140がUnix(登録商標)ベースのオペレーティングシステムの管理下において動作する実施形態に対しては、サーバ側セキュリティサービス312’が、認証仮想チャネルを通じて、サーバ側シンクライアントアプリケーション350から受信する認証データを検証した場合、サーバ側シンクライアントアプリケーション350は、リソースへのユーザアクセスを認可する。これらの実施形態において、サーバ側セキュリティサービス312’は、アクセストークンを生成しない。
【0061】
一部の実施形態において、サーバがユーザを認証した後、サーバは、ユーザに利用可能なリソースの列挙を示す。これらの実施形態において、サーバは、複数のサーバによってホストされ、クライアントコンピュータデバイスに利用可能な、リソースの表示を説明するページを生成し得る。サーバは、次いで、表示のためにクライアントコンピュータデバイスに生成されたページを送信し得、ホストされるリソースの1つをアクセスするためのリクエストを、クライアントコンピュータデバイスから受信し得る。
【0062】
これらの実施形態の一部において、複数のサーバの1つによってホストされる利用可能なリソースの選択された一つは、次いで、クライアントコンピュータデバイスからユーザ認証データの更なる受信を要求せずに実行される。これらの実施形態の一部においては、サーバは、ユーザによる成功認証に応答して、サーバからユーザに利用可能なリソースをホストしている第2のサーバへの接続を開始する。これらの実施形態において、利用可能なリソースは、接続を通じて実行される。一部の実施形態においては、接続は仮想チャネルである。
【0063】
他の実施形態においては、第1のサーバは、利用可能なリソースの選択された一つをホストしている。これらの実施形態の一部においては、サーバは、既存の接続を通じて、リソースをユーザに対して利用可能にする。これらの実施形態の他の部分においては、サーバは、新しい接続を通じて、リソースをユーザに対して利用可能にする。それらの実施形態の一部においては、新しい接続は仮想チャネルを含む。
【0064】
本発明は、一つ以上の製造品にまたはその上に組み入れられた一つ以上のコンピュータ読取可能プログラムとして提供され得る。製造品は、フロッピー(登録商標)ディスク、ハードディスク、CD ROM、フラッシュメモリカード、PROM、RAM、ROM、または磁気テープになり得る。一般に、コンピュータ読取可能プログラムは、任意のプログラミング言語において実施され得る。使用され得る言語の一部の例は、C、C++、またはJAVA(登録商標)を含む。ソフトウェアプログラムは、一つ以上の製造品にオブジェクトコードとして格納され得る。
【0065】
発明が、特定の好ましい実施形態に関して示されおよび説明される一方、上記の特許請求の範囲によって定義されるような本発明の精神および範囲から逸脱することなく、形および詳細における様々な変更がその中にされ得ることが当業者によって理解されるであろう。
【図面の簡単な説明】
【0066】
【図1】図1は、本発明の例示的実施形態を行うために適した環境のブロック図である。
【図2A】図2Aは、本発明との関係に有用なコンピュータの実施形態を示すブロック図である。
【図2B】図2Bは、本発明との関係に有用なコンピュータの実施形態を示すブロック図である。
【図3A】図3Aは、本発明が実行され得るネットワーク40の実施形態を示すブロック図である。
【図3B】図3Bは、クライアントノードが利用可能なアプリケーションの実行を開始し、サーバがクライアントノードにアプリケーションの結果を示す、処理の実施形態を示すブロック図である。
【図3C】図3Cは、クライアントノードがワールドワイドウェブを介して、利用可能なアプリケーションの実行を開始する、処理の実施形態を示すブロック図である。
【図3D】図3Dは、クライントノードと2つのサーバノードとの間の通信に対する、処理の実施形態を示すブロック図である。
【図4】図4は、サーバコンピュータデバイスに、クライアントノードのユーザをリモートに認証するためのシステムの実施形態のブロック図である。

【特許請求の範囲】
【請求項1】
ユーザを、サーバベースのコンピュータ環境におけるサーバにリモートに認証するための方法であって、該方法は、
(a)クライアントコンピュータデバイスにおいて、ユーザ証明を受信するステップと、
(b)該クライアントコンピュータデバイスにおいて、該受信された証明に基づいて、ユーザ認証データを生成するステップと、
(c)サーバコンピュータデバイスに、該生成されたユーザ認証データを送信するステップと、
(d)該サーバコンピュータデバイスにおいて、該送信されたユーザ認証データに応答して、該ユーザを認証するステップと
を包含する、方法。
【請求項2】
ステップ(a)が、クライアントコンピュータデバイスにおいて、バイオメトリックユーザ証明を受信することを包含する、請求項1に記載の方法。
【請求項3】
ステップ(a)が、クライアントコンピュータデバイスにおいて、時間ベースのパスコードを受信することを包含する、請求項1に記載の方法。
【請求項4】
ステップ(a)が、クライアントコンピュータデバイスにおいて、スマートカードからユーザ証明を受信することを包含する、請求項1に記載の方法。
【請求項5】
ステップ(b)が、前記クライアントデバイスにおいて、前記受信されたユーザ証明を表す暗号化されたビットストリングを生成することを包含する、請求項1に記載の方法。
【請求項6】
ステップ(b)が、前記受信された証明に基づいて、ユーザ認証データを、前記クライアントデバイスにあるセキュリティプロバイダサブシステムによって生成することを包含する、請求項1に記載の方法。
【請求項7】
前記ユーザ認証データが、外部の認証サービスを使用して生成される、請求項6に記載の方法。
【請求項8】
前記ユーザ認証データが、Microsoft Windows(登録商標) Security Service Provider Interface(SSPI)によって生成される、請求項6に記載の方法。
【請求項9】
前記ユーザ認証データが、Generic Security Service Application Program Interface(GSSAPI)によって生成される、請求項6に記載の方法。
【請求項10】
ステップ(c)が、サーバコンピュータデバイスに少なくとも1つの仮想チャネルメッセージを送信することを包含し、該少なくとも1つの仮想チャネルメッセージが、前記生成されたユーザ認証データの少なくとも一部を含む、請求項1に記載の方法。
【請求項11】
ステップ(d)が、
(d−a)前記サーバコンピュータデバイスにおいて、前記送信されたユーザ認証データを受信することと、
(d−b)該受信されたユーザ認証データをローカルに実行するセキュリティサブシステムに提供することと、
(d−c)該ローカルに実行するセキュリティサブシステムによって、該ユーザ認証データに応答して、前記ユーザを認証することと
を包含する、請求項1に記載の方法。
【請求項12】
(e)複数のサーバによってホストされ、前記クライアントコンピュータデバイスに利用可能なリソースの表示を示すページを、前記サーバによって、生成するステップと、
(f)表示のために該クライアントコンピュータデバイスに、該生成されたページを、該サーバによって、送信するステップと、
(g)該ホストされるリソースの1つにアクセスするリクエストを、該クライアントコンピュータデバイスから受信するステップと、
(h)該クライアントコンピュータデバイスからユーザ認証データの更なる受信を要求せずに、該複数のサーバの1つによってホストされる該利用可能なリソースの選択された一つを実行するステップと
をさらに包含する、請求項1に記載の方法。
【請求項13】
前記ユーザによる成功認証に応答して、前記クライアントコンピュータデバイスから該ユーザに利用可能なリソースをホストしているサーバへの接続を開始するステップをさらに包含する、請求項1に記載の方法。
【請求項14】
前記接続が、仮想チャネルを含む、請求項13に記載の方法。
【請求項15】
(a)前記受信されたユーザ認証データに基づいて、第1のサーバによって、ユーザ認証データを生成するステップと、
(b)第2のサーバに、該第1のサーバによって、該ユーザ認証データを送信するステップと、
(c)該第2のサーバによって、該受信されたユーザ認証データに応答して、前記ユーザを認証するステップと、
(d)該第2のサーバによって、該第1のサーバとの接続を維持するステップと
をさらに包含する、請求項1に記載の方法。
【請求項16】
前記第1のサーバと前記第2のサーバとの間の前記接続を通じて、前記ユーザが、該ユーザに利用可能なリソースにアクセスすることを許すステップをさらに包含する、請求項15に記載の方法。
【請求項17】
サーバベースのコンピュータ環境におけるサーバに、ユーザをリモートに認証するためのシステムであって、該システムは、
クライアント側認証モジュール、クライアント側セキュリティプロバイダサブシステム、およびクライアント側仮想チャネルドライバを含むクライアントコンピュータデバイスであって、該クライアント側認証モジュールは、ユーザ認証証明を受信し、該クライアント側セキュリティプロバイダサブシステムに該証明を送信し、該クライアント側セキュリティプロバイダサブシステムは、送信のために、該ユーザ認証証明に基づいて、ユーザ認証データを生成し、該クライアント側仮想チャネルドライバに該ユーザ認証データを送信する、クライアントコンピュータデバイスと、
サーバ側仮想チャネルドライバ、サーバ側セキュリティプロバイダサブシステム、およびサーバ側認証モジュールを含むサーバコンピュータデバイスであって、該サーバ側仮想チャネルドライバは、該送信されたユーザ認証データを受信し、該サーバ側認証モジュールに該受信された認証データを提供し、該サーバ側認証モジュールは、該サーバ側セキュリティプロバイダサブシステムに該ユーザ認証データを送信し、該セキュリティプロバイダサブシステムは、認証表示を用いて該ユーザ認証データに応答する、サーバコンピュータデバイスと
を備える、システム。
【請求項18】
前記クライアントコンピュータデバイスが、パーソナルコンピュータを備える、請求項17に記載のシステム。
【請求項19】
前記クライアントコンピュータデバイスが、携帯情報端末を備える、請求項17に記載のシステム。
【請求項20】
前記クライアントコンピュータデバイスが、携帯電話を備える、請求項17に記載のシステム。
【請求項21】
前記クライアント側認証モジュールが、Microsoft Windows(登録商標)グラフィカル識別および認証モジュールを備える、請求項17に記載のシステム。
【請求項22】
前記クライアント側認証モジュールが、pam_krbモジュールを使用する、Unix(登録商標) Pluggable Authentication Managerを備える、請求項17に記載のシステム。
【請求項23】
前記クライアント側認証モジュールが、Unix(登録商標) kinitコマンドプログラムを備える、請求項17に記載のシステム。
【請求項24】
前記クライアント側セキュリティプロバイダサブシステムが、Microsoft Windows(登録商標) Security Service Provider Interface(SSPI)を備える、請求項17に記載のシステム。
【請求項25】
前記クライアント側セキュリティプロバイダサブシステムが、Generic Security Service Application Program Interface(GSSAPI)を備える、請求項17に記載のシステム。
【請求項26】
前記クライアント側仮想チャネルドライバが、前記ユーザ認証データの少なくとも一部を含む、少なくとも1つの仮想チャネルメッセージを送信する、請求項17に記載のシステム。
【請求項27】
前記サーバ側認証モジュールが、Microsoft Windows(登録商標)グラフィカル識別および認証モジュールを備える、請求項17に記載のシステム。
【請求項28】
前記サーバ側セキュリティプロバイダサブシステムが、Microsoft Windows(登録商標) Security Service Provider Interface(SSPI)を備える、請求項17に記載のシステム。
【請求項29】
前記サーバ側セキュリティプロバイダサブシステムが、Generic Security Service Application Program Interface(GSSAPI)を備える、請求項17のシステム。
【請求項30】
前記サーバ側セキュリティプロバイダサブシステムが、前記ユーザ認証データに応答して、ログオンセッションおよび対応するアクセストークンを生成する、請求項17に記載のシステム。
【請求項31】
サーバベースのコンピュータ環境におけるサーバに、ユーザをリモートに認証するための、コンピュータ読取可能プログラム手段が組み入れられている製造品であって、該製造品は、
ユーザ証明を受信するためのコンピュータ読取可能プログラム手段と、
該受信された証明に基づいて、ユーザ認証データを生成するためのコンピュータ読取可能プログラム手段と、
該生成されたユーザ認証データをサーバコンピュータデバイスに送信するためのコンピュータ読取可能プログラム手段と、
該送信されたユーザ認証データに応答して、該ユーザを認証するためのコンピュータ読取可能プログラム手段と
を備える、製造品。
【請求項32】
受信するための前記コンピュータ読取可能プログラム手段が、バイオメトリックユーザ証明を受信するためのコンピュータ読取可能プログラム手段を備える、請求項31に記載の製造品。
【請求項33】
受信するための前記コンピュータ読取可能プログラム手段が、スマートカードからユーザ証明を受信するためのコンピュータ読取可能プログラム手段を備える、請求項31に記載の製造品。
【請求項34】
生成するための前記コンピュータ読取可能プログラム手段が、前記受信されたユーザ証明を表す暗号化されたビットストリングを生成するためのコンピュータ読取可能プログラム手段を備える、請求項31に記載の製造品。
【請求項35】
生成するための前記コンピュータ読取可能プログラム手段が、前記受信されたユーザ証明に基づいて、ユーザ認証データを生成するためのコンピュータ読取可能プログラム手段を備える、請求項31に記載の製造品。
【請求項36】
送信するための前記コンピュータ読取可能プログラム手段が、サーバコンピュータデバイスに少なくとも1つの仮想チャネルメッセージを送信するためのコンピュータ読取可能プログラム手段を備え、該少なくとも1つの仮想チャネルメッセージが、前記生成されたユーザ認証データの少なくとも一部を含む、請求項31に記載の製造品。
【請求項37】
前記ユーザによる成功認証に応答して、前記クライアントコンピュータデバイスから該ユーザに利用可能なリソースをホストしているサーバへの接続を開始するためのコンピュータ読取可能プログラム手段をさらに備える、請求項31に記載の製造品。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図3D】
image rotate

【図4】
image rotate


【公表番号】特表2007−520789(P2007−520789A)
【公表日】平成19年7月26日(2007.7.26)
【国際特許分類】
【出願番号】特願2006−541510(P2006−541510)
【出願日】平成16年11月23日(2004.11.23)
【国際出願番号】PCT/US2004/041187
【国際公開番号】WO2005/055026
【国際公開日】平成17年6月16日(2005.6.16)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FRAM
2.Linux
【出願人】(502239313)サイトリックス システムズ, インコーポレイテッド (36)
【Fターム(参考)】