JP2007520791A - Method and apparatus for remote authentication in a server-based computer system - Google Patents
Method and apparatus for remote authentication in a server-based computer system Download PDFInfo
- Publication number
- JP2007520791A JP2007520791A JP2006541682A JP2006541682A JP2007520791A JP 2007520791 A JP2007520791 A JP 2007520791A JP 2006541682 A JP2006541682 A JP 2006541682A JP 2006541682 A JP2006541682 A JP 2006541682A JP 2007520791 A JP2007520791 A JP 2007520791A
- Authority
- JP
- Japan
- Prior art keywords
- server
- user
- authentication data
- client
- user authentication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/41—User authentication where a single sign-on provides access to a plurality of computers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0846—Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2115—Third party
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
サーバベースのコンピュータ環境におけるサーバに、ユーザをリモートに認証するための方法および装置である。クライアントコンピュータデバイスは、ユーザ証明を受信し、受信された証明に基づいて、ユーザ認証データを生成する。クライアントコンピュータデバイスは、サーバコンピュータデバイスに、生成されたユーザ認証データを送信する。サーバコンピュータデバイスは、送信されたユーザ認証データに応答してユーザを認証する。サーバコンピュータデバイスは、送信されたユーザ認証データに基づいて、新しいユーザ認証データを生成する。サーバコンピュータデバイスは、第2のサーバに新しいユーザ認証データを送信する。第2のサーバは、受信されたユーザ認証データに応答する、ユーザを認証する。A method and apparatus for remotely authenticating a user to a server in a server-based computing environment. The client computing device receives the user certificate and generates user authentication data based on the received certificate. The client computer device transmits the generated user authentication data to the server computer device. The server computing device authenticates the user in response to the transmitted user authentication data. The server computing device generates new user authentication data based on the transmitted user authentication data. The server computing device sends new user authentication data to the second server. The second server authenticates the user in response to the received user authentication data.
Description
本発明は、サーバベースのコンピュータシステムにおける分散されたアプリケーション処理を提供するため、特に、そのようなシステムにおける認証テクニックをリモートするための、方法および装置に関する。 The present invention relates to a method and apparatus for providing distributed application processing in server-based computer systems, and in particular for remote authentication techniques in such systems.
ネットワークされたリソースにリモートアクセスを提供するための技術は、様々なクライアント/サーバソフトウェアの組み合わせを含む。これらの技術の一つは、しばしば「シン(thin−client)」または「サーバベースのコンピュータ」システムとして言及される。これらのシステムにおいて、アプリケーションプログラムは、一つ以上のクライアントコンピュータデバイスのために、サーバコンピュータデバイスによって実行される。アプリケーションへのクライアント入力およびアプリケーション出力は、クライアントコンピュータデバイスとサーバコンピュータデバイスとの間にて送信される。これらのシステムは、一般に、アプリケーションがサーバコンピュータデバイスによってユーザのために実行され得る前に、ユーザ自身を認証するためにクライアントコンピュータデバイスのユーザを要求する。 Techniques for providing remote access to networked resources include various client / server software combinations. One of these techniques is often referred to as a “thin-client” or “server-based computer” system. In these systems, the application program is executed by the server computer device for one or more client computer devices. Client input and application output to the application are transmitted between the client computer device and the server computer device. These systems generally require a user of a client computer device to authenticate themselves before the application can be executed for the user by the server computer device.
クライアントコンピュータデバイスは、ユーザがデバイスを使用する前に、ローカルにログオンすることを要求し得る。クライアントコンピュータデバイスにローカルにログオンすることは、通常ユーザ名およびパスワードを要求するが、多数のクライントオペレーティングシステムは、例えば、ユーザが、トークンベースのスキーム、スマートカード、または指紋のようなバイオメトリックを用いてログオンすることを要求するように、ログオンメカニズムが置き換えられることを許す。 A client computing device may require a user to log on locally before using the device. Logging on locally to a client computing device usually requires a username and password, but many client operating systems use biometrics such as, for example, token-based schemes, smart cards, or fingerprints. Allows the logon mechanism to be replaced to require you to log on.
クライアントコンピュータデバイスに認証するにも関わらず、ユーザは、しばしば、サーバコンピュータデバイスに認証する必要もある。しかしながら、上述されたような置換ログオンメカニズムが使用される場合、サーバコンピュータデバイスがしばしばユーザ名およびパスワードのみを許可するため、ユーザは、サーバコンピュータデバイスに認証できな得ない。ユーザが、バイオメトリックまたはスマートカードのようなテクニックを用いて認証した場合、ユーザは、サーバコンピュータデバイスに認証するために有用な有効ユーザ名−パスワード組み合わせを知り得ない。一部の技術は、ユーザ供給されたユーザ名−パスワード組み合わせのクライアントコンピュータデバイスによる傍受(intercept)を許す。しかしながら、これらの技術は、標準の認証メカニズムが置き換えられた場合、作用しない。 Despite authenticating to the client computer device, the user often also needs to authenticate to the server computer device. However, if a replacement logon mechanism as described above is used, the user cannot be authenticated to the server computer device because the server computer device often only allows a username and password. If the user authenticates using a technique such as biometric or smart card, the user may not know a valid username-password combination useful for authenticating to the server computer device. Some techniques allow intercept by a client computing device of a user-supplied username-password combination. However, these techniques do not work if the standard authentication mechanism is replaced.
したがって、シンクライアントシステムのユーザをリモートに認証する改良された方法が望まれる。 Therefore, an improved method for remotely authenticating a user of a thin client system is desired.
一局面において、本発明は、クライアントコンピュータデバイスのユーザをリモートに認証するために、Ft.Lauderdale,Floridaに在るCitrix Systems,Inc.によって生産されるICAプロトコルまたはRedmond,Washingtonに在るMicrosoft Corporationによって生産されるRDPプロトコルのようなシンクライアントプロトコルと結合して、産業標準のGeneric Security Services Application Program Interface(GSSAPI)を使用する。 In one aspect, the present invention provides a method for remotely authenticating a user of a client computing device. Citrix Systems, Inc., Lauderdale, Florida. Use the industry standard Generic Security Services Application Interface (GSAPI) in conjunction with the thin client protocol such as the ICA protocol produced by Microsoft or the RDP protocol produced by Microsoft Corporation in Redmond, Washington.
他の局面においては、本発明は、ネットワークプロバイダにパススルー認証の代替方法を提供することによってセキュリティを強化する。クライアントコンピュータデバイスがサーバコンピュータデバイスにユーザ認証証明、例えば、パスワード、を送信する代わりに、認証仮想チャネルドライバは、シンクライアントプロトコル内にて仮想チャネルを通じて認証データを送信する。ユーザ認証データは、ユーザのアイデンティティを検証するために使用され得るが、ユーザの裏に隠された認証証明を明らかにはしない。送信されたユーザ認証データは、サーバコンピュータデバイスにユーザを認証するために使用される。クライアントは、したがって、ユーザ認証証明に一度もアクセスしない。管理者特権を要求し、認証証明をクライアントコンピュータデバイス上の任意のローカルな処理に利用可能にする、ネットワークプロバイダをインストールすることは要求されない。ユーザの認証証明は、どの形においても、ネットワークを通じて送信されない。リモート認証は、サーバコンピュータデバイスの裏に隠されたオペレーティングシステムによって実行される。 In another aspect, the present invention enhances security by providing network providers with an alternative method of pass-through authentication. Instead of the client computing device sending user authentication credentials, eg, passwords, to the server computing device, the authentication virtual channel driver sends authentication data over the virtual channel within the thin client protocol. User authentication data can be used to verify a user's identity, but does not reveal authentication credentials hidden behind the user. The transmitted user authentication data is used to authenticate the user to the server computer device. The client therefore never accesses the user authentication credentials. It is not required to install a network provider that requires administrator privileges and makes the authentication credentials available to any local processing on the client computing device. The user's authentication credentials are not transmitted over the network in any way. Remote authentication is performed by an operating system hidden behind the server computer device.
本発明の一局面においては、クライアントコンピュータデバイスは、ユーザ証明を受信し、受信された証明に基づいてユーザ認証データを生成する。クライアントコンピュータデバイスは、サーバコンピュータデバイスに、生成されたユーザ認証データを送信する。サーバコンピュータデバイスは、ユーザ認証データに応答してユーザを認証する。サーバは、受信されたユーザ認証データに基づいて、新しいユーザ認証データを生成する。サーバは、第2のサーバに、新しいユーザ認証データを送信する。第2のサーバは、受信されたユーザ認証データに応答して、ユーザを認証する。一実施形態において、ユーザは、第1のサーバと第2のサーバとの間の接続を通じて、利用可能なリソースにアクセスする。 In one aspect of the invention, the client computing device receives a user certificate and generates user authentication data based on the received certificate. The client computer device transmits the generated user authentication data to the server computer device. The server computing device authenticates the user in response to the user authentication data. The server generates new user authentication data based on the received user authentication data. The server sends new user authentication data to the second server. The second server authenticates the user in response to the received user authentication data. In one embodiment, the user accesses available resources through a connection between the first server and the second server.
他の局面においては、本発明は、ユーザのリモート認証に対して認証データを交換するために、ICAプロトコルまたはRDPプロトコル内にて仮想チャネルを使用する。仮想チャネルは、データをエンドポイント間にて送信する目的のために、二つ以上のエンドポイント間における任意の論理的結合である。 In another aspect, the present invention uses virtual channels within the ICA or RDP protocol to exchange authentication data for remote authentication of users. A virtual channel is any logical combination between two or more endpoints for the purpose of transmitting data between the endpoints.
他の局面においては、本発明は、認証のためにGSSAPIを使用する。したがって、本発明は、Kerberos認証方法のようなGSSAPI実施によってサポートされる任意の認証方法を用いて作用し、GSSAPIをサポートする任意のクライアントコンピュータプラットフォームまたはデバイスに使用され得る。 In other aspects, the present invention uses GSSAPI for authentication. Thus, the present invention works with any authentication method supported by a GSSAPI implementation, such as the Kerberos authentication method, and can be used with any client computer platform or device that supports GSSAPI.
本発明の他の局面においては、ユーザ認証証明(例、パスワード)は、クライアントまたはサーバのどちらもによって、あからさまに傍受(intercepted)または扱われない。ユーザ認証証明は、クライアントコンピュータデバイスとサーバコンピュータデバイスとの間において送信されない。 In other aspects of the present invention, user authentication credentials (e.g., passwords) are not explicitly intercepted or handled by either the client or the server. User authentication credentials are not transmitted between the client computer device and the server computer device.
本発明の他の局面においては、クライアントコンピュータデバイスは、サーバコンピュータデバイスを認証し、サーバコンピュータデバイスは、クライントコンピュータデバイスのユーザを認証する。 In another aspect of the invention, the client computer device authenticates the server computer device, and the server computer device authenticates the user of the client computer device.
本発明の他の局面においては、Microsoft Windows(登録商標)における委任(delegation)セキュリティポリシーが支持される。例えば、「アカウントは敏感であり、委任されるべきではない」を設定するユーザアカウントが可能になった場合、そのユーザは、他のサーバにログオンするために、このリモート認証テクニックを使用できない。 In another aspect of the invention, a delegation security policy in Microsoft Windows is supported. For example, if a user account is enabled that sets “Account is sensitive and should not be delegated,” that user cannot use this remote authentication technique to log on to other servers.
本発明のこれらおよび他の局面は、本発明を限定するのではなく、示すことを意味する、下記の詳細な説明および添付の図面から明らかになるであろう。 These and other aspects of the invention will become apparent from the following detailed description and the accompanying drawings, which are meant to illustrate rather than limit the invention.
本発明の例示的実施形態は、リモートユーザがコンテンツへのアクセスをリクエストする、分散されたネットワーク環境に適用可能である。本発明の特質を説明する前に、本発明の例示的実施形態が使用され得る一部のネットワーク環境を議論することが、役に立ち得る。 Exemplary embodiments of the present invention are applicable to distributed network environments where remote users request access to content. Before describing the features of the present invention, it may be helpful to discuss some network environments in which exemplary embodiments of the present invention may be used.
図1を参照すると、簡潔な概要において、本発明が使用され得るクライアントサーバシステムの一実施形態が示される。第1のコンピュータデバイス(クライントコンピュータデバイス)100は、通信ネットワーク180を通じて、第2のコンピュータデバイス(サーバコンピュータデバイス)140と通信する。一部の実施形態において、第2のコンピュータデバイスは、クライアントデバイス100でもある。クライントデバイス100がサーバデバイス140と通信するネットワーク180のトポロジは、バス、スター、またはリングトポロジになり得る。ネットワーク180は、構内情報通信網(LAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットのような広域情報通信網(WAN)になり得る。
Referring to FIG. 1, in a brief overview, one embodiment of a client server system in which the present invention may be used is shown. The first computer device (client computer device) 100 communicates with the second computer device (server computer device) 140 through the
クライアントおよびサーバデバイス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にも接続され得る。
Client and
クライアントデバイス100は、一つ以上のサーバコンピュータデバイス140によって、そのデバイスのために実行されるアプリケーションから出力を受信および表示することが可能であり、本明細書中に開示されるプロトコルに従って動作することが可能な任意のデバイスになり得る。クライアントコンピュータデバイス100は、パーソナルコンピュータ、ウィンドウズ(登録商標)ベースの端末、ネットワークコンピュータ、情報機器、Xデバイス、ワークステーション、ミニコンピュータ、携帯情報端末または携帯電話になり得る。
同様に、サーバコンピュータデバイス140は、実行するアプリケーションに対するクライアントコンピュータデバイス100ユーザ入力から受信すること、クライアントコンピュータデバイス100のためにアプリケーションプログラムを実行すること、および本明細書中に開示されるプロトコルを使用してクライアントコンピュータデバイスと相互作用することが可能である任意のコンピュータデバイスになり得る。サーバコンピュータデバイス140は、本明細書中にサーバファームとて言及される単一サーバシステムとして論理的に作用するサーバデバイスのグループとして供給され得る。一実施形態において、サーバコンピュータデバイス140は、複数の同時にアクティブなクライアント接続をサポートするマルチユーザサーバシステムである。
Similarly,
図2Aおよび図2Bは、クライアントコンピュータデバイス100およびサーバコンピュータデバイス140として有用な典型的なコンピュータ200のブロック図を示す。図2Aおよび図2Bに示されるように、各々のコンピュータ200は、中央演算処理装置202およびメインメモリユニット204を含む。各々のコンピュータ200は、一つ以上の入力/出力デバイス230a〜230bのような他の任意要素(一般に、参照番号230を使用して参照される)および中央演算処理装置202と通信するキャッシュメモリ240も含み得る。
2A and 2B show block diagrams of an
中央演算処理装置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プロセッサ、のようなマイクロプロセッサユニットによって提供される。
メインメモリユニット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になり得る。
The
図2Aおよび図2Bは、メインプロセッサ202が時々「バックサイド」バスと言及される第2のバスを介して、キャッシュメモリ240と直接通信する実施形態を示す。他の実施形態において、メインプロセッサ202は、システムバス220を使用してキャッシュメモリ240と通信する。キャッシュメモリ240は、一般に、メインメモリ204より早い応答時間を有し、一般に、SRAM,BSRAM,EDRAMによって提供される。
2A and 2B illustrate an embodiment where the
図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と通信する。
In the embodiment shown in FIG. 2A,
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ストレージデバイスも提供し得る。
A wide variety of I / O devices 230 may exist in
更なる実施形態において、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小規模コンピュータシステムインターフェースバス、のような外部の通信バスとの間のブリッジになり得る。
In a further embodiment, the I / O device 230 includes a
図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を含む。 The type of general-purpose desktop computer shown in FIGS. 2A and 2B generally operates under the control of an operating system that controls the scheduling of tasks and access to system resources. A typical operating system is Microsoft Corp., located in Redmond, Washington. MICROSOFT WINDOWS® produced by MacOS; MacOS produced by Apple Computer in Cupertino, California; OS / 2 produced by International Business Machines in Armonk, New York; Caldera Corp. Linux, which is an operating system that can be freely used among others distributed by.
他の実施形態においては、クライントコンピュータデバイス100は、デバイスと矛盾しない(consistent)、異なるプロセッサ、オペレーティングシステム、および入力デバイスを有し得る。例えば、一実施形態において、クライアントコンピュータデバイス100は、Palm,Inc.によって生産されるZire 71携帯情報端末である。この実施形態においては、Zire 71は、Dallas,Texasに在るTexas Instrumentsによって生産されるOMAP 310プロセッサを使用し、PalmOSオペレーティングシステムの管理下において動作し、液晶ディスプレイスクリーン、スタイラス入力デバイス、および5ウェイ(five−way)ナビゲータデバイスを含む。
In other embodiments, the
図3Aを参照すると、ブロック図が、本発明が実行され得るネットワーク40の実施形態を示す。サーバ30,32,および34は、同等のドメイン38に属し得る。ネットワーク40において、ドメインは、1つのセキュリティデータベースの管理下におけるアプリケーションサーバおよびクライアントノードのグループを含むサブグループである。ドメインは、一つ以上の「サーバファーム」を含み得る。(サーバファームは、集中型管理を提供するために、単一サーバシステムとして作用するように一緒にリンクされているサーバのグループである。)反対に、サーバファームは、一つ以上のドメインを含み得る。二つの異なるドメインのサーバが同等のサーバファームに属するためには、ドメイン間に信頼関係が存在する必要があり得る。信頼関係は、ユーザが1つだけのログオン認証を用いて各々のドメインに関連するリソースにアクセスすることを許す、異なるドメイン間における関係である。
With reference to FIG. 3A, a block diagram illustrates an embodiment of a
一実施形態において、アプリケーションサーバ36は、ドメイン38とは異なるドメインにある。もう1つの実施形態においては、アプリケーションサーバ36は、サーバ30,32,および34と同等のドメインにある。どちらの実施形態に対しても、サーバ36が他のサーバファームに属する一方、アプリケーションサーバ30,32,および34は、1つのサーバファームに属し得、またはアプリケーションサーバ30,32,34,および36の全ては、同等のサーバファームに属し得る。新しいサーバがネットワーク40に接続される場合、新しいサーバは、既存のサーバファームに加わるまたは新しいサーバファームを始めるのどちらかを行う。
In one embodiment,
クライアントノード10,20は、ドメインにあり得、またはどのドメインにも接続され得ない。一実施形態において、クライアントノード10は、ドメイン38にある。もう1つの実施形態においては、クライアントノード10は、アプリケーションサーバ30,32,34,または36のどれも含まない他のドメインにある。もう1つの実施形態においては、クライアントノード10は、どのドメインにもない。
一実施形態において、クライアントノード10は、ドメイン38にあり、クライアントノードのユーザは、クライアントノード10にログオンするためにユーザ証明(credential)を提供する。ユーザ証明は、一般的に、クライアントノードのユーザ名、ユーザのパスワード、およびユーザが認識されるドメイン名を含む。ユーザ証明は、スマートカード、時間ベーストークン、社会保障番号、ユーザパスワード、個人識別(PIN)番号、シンメトリックキーまたは楕円曲線暗号に基づくデジタル証明書、ユーザのバイオメトリック特徴、またはクライアントノードのユーザの識別が、認証のために得られ得および提出され得る、任意の他の手段から得られ得る。
In one embodiment, the
クライアントノード10は、ユーザによって提供される証明からユーザ認証データを生成する。クライアントノード10は、このユーザ認証データをサーバ30に送信する。この実施形態において、クライアント証明は、ネットワークを通じて送信されず、結果として生じるユーザ認証データのみがクライアントノードによって送信される。
The
サーバ30は、ユーザ認証データおよびアプリケーション関連情報から、サーバ30を含むアプリケーションサーバファームによってホストされるどのアプリケーションプログラムが、クライアントノードのユーザによる使用のために利用可能なのかも決定できる。サーバ30は、利用可能なアプリケーションプログラムを表す情報を、クライアントノード10に送信する。この処理は、クライアントノードのユーザがアプリケーション接続をセットアップする必要性を除去する。更に、サーバファームの管理者は、様々なクライアントノードユーザ間でのアプリケーションへのアクセスを制御できる。
The
下記のホストされるアプリケーションプログラムのようなアプリケーションが他のサーバに存在し得るにも関わらず、サーバ30によって実行されるユーザ認証は、クライアントノード10に示される各々のホストされるアプリケーションプログラムの使用を認証するのに十分である。したがって、この実施形態において、クライアントノードがホストアプリケーションの1つにランチ(launch)(すなわち、実行を開始する)した場合、ユーザによるユーザ証明の追加入力は、そのアプリケーションの使用を認証するために不必要になる。したがって、ユーザ証明の単一エントリは、利用可能なアプリケーションを決定し、クライアントユーザによる追加の、手動ログオン認証処理なしに、そのようなアプリケーションのランチを認証するために役立ち得る。
Although an application, such as the hosted application program described below, may exist on another server, the user authentication performed by the
図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に転送し得る(すなわち、グラフィカルユーザインターフェース)。
FIG. 3B illustrates another exemplary process by the
図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を識別することを要求する認証リクエストである。
FIG. 3C shows another exemplary process by the
ユーザは、クライアントノード20にユーザ証明を提供する。クライアントノード20は、提供されるユーザ証明に基づいて、ユーザ認証データを生成する。認証リクエストは、クライアントノード20が認証のために、サーバ30にウェブブラウザ80を介してユーザ認証データを送信することを許す。送信されたユーザ認証データは、サーバ30によって検証される。
The user provides a user certificate to the
サーバ30は、ユーザ認証データおよびアプリケーション関連情報から、アプリケーションサーバによってホストされるどのアプリケーションプログラムが、クライアントノード20のユーザによって使用可能であるかも決定できる。サーバ30は、利用可能なアプリケーションプログラムを表す情報を含むHTMLページを生成し、ウェブブラウザ80を介してこれをクライアントノード20に送信する。情報は、各々の利用可能なアプリケーションに対応する、個別のランチURLアドレスを含む。
The
本実施形態において、利用可能なアプリケーションは、ウェブブラウザ80を介してクライアントノード20に表示される。クライアントノードディスプレイは、利用可能なアプリケーションプログラムを表すグラフィックなアイコン57を現すウィンドウ58を有する。クライアントノード20のユーザは、マウスを用いてアイコン57をクリックすることによって、アプリケーションプログラムをランチできる。クライアントノード20は、サーバ30にあるアプリケーションランチサービスに対応するURLアドレスにアクセスするように、ウェブブラウザ80を介して、リクエスト86を送信する。サーバノード30は、アプリケーションの実行をし、その結果をクライアントノード20に転送するように、どのようにして接続が確立され得るかを示すランチ情報88を、ウェブブラウザ80を介して、クライアントノード20に送信する。
In the present embodiment, available applications are displayed on the
図3Dは、クライアントノード10、本実施例においてはサーバ30である第1のサーバノード、とサーバ32との間における通信の例示的処理を示す。クライアントノード10は、サーバ32とアクティブ接続72を有する。クライアントノード10およびサーバ32は、第1のアプリケーションプログラムの実行に関する情報を交換するために、アクティブ接続72を使用できる。受信されたユーザ証明から、クライアントノード10によって生成されるユーザ認証データは、クライアントノードに格納される。ユーザ認証データのそのようなストレージは、キャッシュメモリにある。
FIG. 3D illustrates an exemplary process of communication between the
本実施形態において、利用可能なアプリケーションは、クライアントノード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は、複数の接続を通じて互いに通信する。
In the present embodiment, available applications are displayed on the
図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コマンドプログラムによって提供され得る。
FIG. 4 illustrates in more detail a system for remotely authenticating a user of
図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のような外部の認証サービスを使用して、ユーザ認証データを生成し得る。
In the embodiment shown in FIG. 4, the client computing device also includes a
セキュリティサービス312は、例えば、Kerberosチケットおよび関連するKerberos認証符号(authenticator)のような、生成されたユーサ認証データを、シンクライアントアプリケーション320に提供する。シンクライアントアプリケーション320は、ユーザのリモート認証のために、ユーザ認証データをサーバコンピュータデバイス140に送信する。したがって、サーバベースコンピューティングのための既存の単一サインオンメカニズムと違って、ユーザ提供される認証証明は、サーバコンピュータデバイス140にネットワーク180を通じて送信されない。セキュリティサービス312によって生成されるユーザ認証データは、クライアントコンピュータデバイス100に認証するためにユーザによって使用される方法に依存しない。したがって、例えば、クライアントコンピュータデバイス100に認証するために、ユーザがユーザ名−パスワード組み合わせまたはバイオメトリックを使用しようとなかろうと、クライアントコンピュータデバイス100のユーザのためのKerberosチケットは得られる。
The
図4の示される実施形態において、シンクライアントアプリケーション320は、一つ以上の仮想チャネル335を有するシンクライアントプロトコルを介して、サーバコンピュータデバイス140と通信する。これらの実施形態において、シンクライアントアプリケーション320は、仮想チャネルドライバをロードし、それを、認証仮想チャネルにおいてメッセージを送信および受信するために使用する。一部の実施形態において、仮想チャネルドライバは、仮想チャネルを開口し、それを越えてデータを送信するための機能をさらす(expose)。
In the illustrated embodiment of FIG. 4, the
シンクライアントアプリケーション320は、シンクライアントプロトコル接続が確立された場合、認証仮想チャネルが利用可能であることを、サーバ側シンクライアントアプリケーション350に示し、サーバコンピュータデバイス140に仮想チャネル335のためのデータ構造をパスする。一実施形態において、認証仮想チャネルのための仮想チャネルデータ構造は、仮想チャネル情報およびクライアントコンピュータデバイス100が、仮想チャネル335を通じてサーバコンピュータデバイス140から受け取りまたは送信できる、最も大きなデータパケットのサイズの表示を含む。データパケットサイズは、最大のシンクライアントサイズおよびクライアントコンピュータデバイス100によって強制(impose)される任意の特定のメモリ制限によって抑制される。特定の一実施形態において、認証仮想チャネルのためのデータ構造は、以下のように定義される:
The
バインドリクエスト、バインド応答、およびバインドコミット初期化メッセージは、サーバ側シンクライアントアプリケーション350およびシンクライアントアプリケーション320が、サーバ側シンクライアントアプリケーション350によって開始される3方向のハンドシェイクを導く(conduct)ことを許し、可能性(capability)をネゴシエートする。仮想チャネル可能性の現在のセットが、2方向ハンドシェイクのみを使用してネゴシエートされ得る場合、2方向ハンドシェイクは、サーバ側シンクライアントアプリケーション350によって開始され得るが、3方向ハンドシェイクは、新しい可能性または現在の可能性への将来的強化によって要求され得る、より多くの柔軟性を許すようにサポートされる。例えば、3方向ハンドシェイクにおいて、サーバ側シンクライアントアプリケーション350から可能性の「メニュー」を受信した後、シンクライアントアプリケーション320は、特定のプリファランスを示し得、またはその代わりに、特定の可能性に関連するオプションの全セットを認め、従って、サーバ側シンクライアントアプリケーション350が特定のオプションにおいて決定することを許す。シンクライアントアプリケーション320によって開始される2方向ハンドシェイクにおいて、シンクライアントアプリケーション320は、ホストによってサポートされ得ないため、特定のプレファレンスを示し得ない。
The bind request, bind response, and bind commit initialization message allow the server-side
チャネルセットアップに続いて、シンクライアントアプリケーション320およびサーバ側シンクライアントアプリケーション350の両方の仮想チャネルドライバは、「ストップ」メッセージまたは「エラー」メッセージが受信されるまで、ループにおいて以下のことをする:仮想チャネルを介して、他の団体によって送信される任意の認証データを入力として提供し、セキュリティサービス312,312’から認証データを引き出す;引き出された認証データ(ある場合)を、データメッセージにおいて仮想チャネルに送信する。セキュリティサービス312,312’からのデータの引き出しが「STOP」メッセージを返した場合、信号はストップし、認証仮想チャネルを閉じる。一部の実施形態において、仮想チャネルドライバは、「CONTINUE」信号においてそれ自体をリセットし得る。セキュリティサービス312,312’からのデータの引き出しが「続ける」メッセージを返した場合、続ける。セキュリティサービス312,312’からの認証データの引き出しが「ERROR」を返した場合、エラーが生じたことを信号で伝え、認証仮想チャネルを閉じる。
Following channel setup, the virtual channel drivers in both
「stop」または「error」の信号が送られない限りは、シンクライアントアプリケーション320およびサーバ側シンクライアントアプリケーション350の仮想チャネルドライバは、セキュリティサービス312,312’が送信されるデータバッファを生成することをストップするまで、データメッセージを自由に交換できる。一部の実施形態において、交換されるメッセージの数は、仮想チャネルドライバ、サーバ側シンクライアントアプリケーション350、または仮想チャネル335によって制限され得る。他の実施形態において、シンクライアントアプリケーション320およびサーバ側シンクライアントアプリケーション350の仮想チャネルドライバは、メッセージを連続的に交換し、すなわち、もう一方に送信される第1のメッセージへの返信なしに、二つのメッセージは、一つの方向に送信されない。どちらの実施形態においても、メッセージ交換は、メッセージがどちらかの方向に送信された後、ストップし得る。
Unless a “stop” or “error” signal is sent, the virtual channel driver of the
一部の特定の実施形態において、データメッセージは、最初に、仮想チャネルLeast Significant Double Word(LSDW),Least Significant Word(LSW),Least Significant Byte(LSB)を通じて送信される。他の特定の実施形態において、データメッセージは、バイト境界において並べられ(aligned)、メモリに完全に詰め込まれる(packed)。これらの実施形態において、データフィールドは、仮想チャネルに書き込まれるまたは読み取られるように、メモリに並べられる。 In some specific embodiments, the data message is initially transmitted through a virtual channel, the Last Significant Double Word (LSDW), the Last Significant Word (LSW), and the Last Significant Byte (LSB). In other specific embodiments, data messages are aligned on byte boundaries and fully packed into memory. In these embodiments, the data fields are arranged in memory to be written to or read from the virtual channel.
認証仮想チャネルにおいて送信される一部のメッセージは、複数の仮想チャネルパケットに及ぶ(span)。これをサポートするために、あらゆるメッセージは、次に送信されるコマンドの長さを特定するメッセージに先行されるべきである。次のコマンドの長さを特定するために使用され得るメッセージの例は: Some messages sent on the authentication virtual channel span multiple virtual channel packets. To support this, every message should be preceded by a message that specifies the length of the next command to be sent. Examples of messages that can be used to specify the length of the following commands are:
これらの実施形態の一部において、PKT_CMDLENは、どの種類のメッセージが続くかを示すためにコマンド番号も含む: In some of these embodiments, PKT_CMDLEN also includes a command number to indicate what type of message follows:
サーバ側シンクライアントアプリケーション350は、認証仮想チャネルを通じて受信する認証データを、そのセキュリティサービス312’にパスする。サーバ側セキュリティサービス312’がデータを検証できる場合、ユーザのためのログオンセッションを表すアクセストークンを生成し、ユーザが、認証証明を再提出せずにサーバコンピュータデバイス140に認証することを許す。アクセストークンは、他のものに加えて、ログオンセッションのためのlocally unique identifier(LUID)を含むデータ対象物である。サーバ側セキュリティサービス312’がデータを検証できない場合、ユーザは、認証証明を再提出するのを促される。
The server-side
一部の実施形態において、サーバ側セキュリティサービス312’がユーザを認証するまで、ユーザがサーバコンピュータデバイス140と通信し得る、唯一の仮想チャネルは、認証仮想チャネルである。これらの実施形態の一部において、認証後、新しい仮想チャネルは、通信のために開始される。他の実施形態においては、仮想チャネルは一つだけ存在し、ユーザが認証されるまで認証関連通信のためだけに使用され得、ユーザが認証された後、他の通信のために使用され得る。
In some embodiments, the only virtual channel that a user can communicate with the
サーバ側コンピュータデバイス140が、MICROSOFT WINDOWS(登録商標)オペレーティングシステムの管理下において動作する実施形態に対しては、サーバ側セキュリティサービス312’によって生成されるアクセストークンは、ネットワークログオン権利だけを有する模倣(impersonation)トークンである。すなわち、生成されるアクセストークンは、WINDOWS(登録商標)サーバベースのコンピュータ環境において要求されるように、アプリケーションが対話式に走るように開始するために使用するのに適さない。アプリケーションが対話式に走ることを許すために、対話式ログオン権利を有するプライマリアクセストークンが必要である。一実施形態において、生成されるアクセストークンは、適切な権利を提供するために修正される。他の実施形態においては、新しいトークンが、ユーザのために生成される。
For embodiments in which the server-
サーバ側コンピュータデバイス140がUnix(登録商標)ベースのオペレーティングシステムの管理下において動作する実施形態に対しては、サーバ側セキュリティサービス312’が、認証仮想チャネルを通じて、サーバ側シンクライアントアプリケーション350から受信する認証データを検証した場合、サーバ側シンクライアントアプリケーション350は、リソースへのユーザアクセスを認可する。これらの実施形態において、サーバ側セキュリティサービス312’は、アクセストークンを生成しない。
For embodiments in which server-
一部の実施形態において、サーバがユーザを認証した後、サーバは、ユーザに利用可能なリソースの列挙を示す。これらの実施形態において、サーバは、複数のサーバによってホストされ、クライアントコンピュータデバイスに利用可能な、リソースの表示を説明するページを生成し得る。サーバは、次いで、表示のためにクライアントコンピュータデバイスに生成されたページを送信し得、ホストされるリソースの1つをアクセスするためのリクエストを、クライアントコンピュータデバイスから受信し得る。 In some embodiments, after the server authenticates the user, the server shows an enumeration of resources available to the user. In these embodiments, the server may generate a page that is hosted by multiple servers and that describes the display of resources available to the client computing device. The server may then send the generated page to the client computing device for display and may receive a request from the client computing device to access one of the hosted resources.
これらの実施形態の一部において、複数のサーバの1つによってホストされる利用可能なリソースの選択された一つは、次いで、クライアントコンピュータデバイスからユーザ認証データの更なる受信を要求せずに実行される。これらの実施形態の一部においては、サーバは、ユーザによる成功認証に応答して、サーバからユーザに利用可能なリソースをホストしている第2のサーバへの接続を開始する。これらの実施形態において、利用可能なリソースは、接続を通じて実行される。一部の実施形態においては、接続は仮想チャネルである。 In some of these embodiments, a selected one of the available resources hosted by one of the plurality of servers is then executed without requiring further reception of user authentication data from the client computing device. Is done. In some of these embodiments, the server initiates a connection from the server to a second server hosting resources available to the user in response to a successful authentication by the user. In these embodiments, the available resources are executed through the connection. In some embodiments, the connection is a virtual channel.
他の実施形態においては、第1のサーバは、利用可能なリソースの選択された一つをホストしている。これらの実施形態の一部においては、サーバは、既存の接続を通じて、リソースをユーザに対して利用可能にする。これらの実施形態の他の部分においては、サーバは、新しい接続を通じて、リソースをユーザに対して利用可能にする。それらの実施形態の一部においては、新しい接続は仮想チャネルを含む。 In other embodiments, the first server hosts a selected one of the available resources. In some of these embodiments, the server makes resources available to the user through existing connections. In other parts of these embodiments, the server makes resources available to users through new connections. In some of those embodiments, the new connection includes a virtual channel.
本発明は、一つ以上の製造品にまたはその上に組み入れられた一つ以上のコンピュータ読取可能プログラムとして提供され得る。製造品は、フロッピー(登録商標)ディスク、ハードディスク、CD ROM、フラッシュメモリカード、PROM、RAM、ROM、または磁気テープになり得る。一般に、コンピュータ読取可能プログラムは、任意のプログラミング言語において実施され得る。使用され得る言語の一部の例は、C、C++、またはJAVA(登録商標)を含む。ソフトウェアプログラムは、一つ以上の製造品にオブジェクトコードとして格納され得る。 The present invention may be provided as one or more computer readable programs incorporated in or on one or more articles of manufacture. The article of manufacture can be a floppy disk, hard disk, CD ROM, flash memory card, PROM, RAM, ROM, or magnetic tape. In general, a computer readable program may be implemented in any programming language. Some examples of languages that can be used include C, C ++, or JAVA. The software program can be stored as object code in one or more manufactured products.
発明が、特定の好ましい実施形態に関して示されおよび説明される一方、上記の特許請求の範囲によって定義されるような本発明の精神および範囲から逸脱することなく、形および詳細における様々な変更がその中にされ得ることが当業者によって理解されるであろう。 While the invention has been illustrated and described with respect to certain preferred embodiments, various changes in form and detail may be made without departing from the spirit and scope of the invention as defined by the appended claims. It will be appreciated by those skilled in the art that
Claims (36)
(a)クライアントコンピュータデバイスにおいて、ユーザ証明を受信するステップと、
(b)該クライアントコンピュータデバイスにおいて、該受信された証明に基づいて、ユーザ認証データを生成するステップと、
(c)サーバコンピュータデバイスに、該生成されたユーザ認証データを送信するステップと、
(d)該サーバコンピュータデバイスにおいて、該送信されたユーザ認証データに応答して、該ユーザを認証するステップと
を包含する、方法。
(e)前記送信されたユーザ認証データに基づいて、第1のサーバによって、ユーザ認証データを生成するステップと、
(f)第2のサーバに、該第1のサーバによって、該ユーザ認証データを送信するステップと、
(g)該受信されたユーザ認証データに応答して、該第2のサーバによって、前記ユーザを認証するステップと、 A method for remotely authenticating a user to a server in a server-based computing environment, the method comprising:
(A) receiving a user certificate at a client computing device;
(B) generating user authentication data based on the received certificate at the client computing device;
(C) transmitting the generated user authentication data to a server computing device;
(D) authenticating the user in response to the transmitted user authentication data at the server computing device.
(E) generating user authentication data by a first server based on the transmitted user authentication data;
(F) transmitting the user authentication data to the second server by the first server;
(G) authenticating the user by the second server in response to the received user authentication data;
(d−a)前記サーバコンピュータデバイスにおいて、前記送信されたユーザ認証データを受信することと、
(d−b)該受信されたユーザ認証データをローカルに実行するセキュリティサブシステムに提供することと、
(d−c)該ローカルに実行するセキュリティサブシステムによって、該ユーザ認証データに応答して、前記ユーザを認証することと
を包含する、請求項1に記載の方法。 Step (d) is
(Da) receiving at the server computer device the transmitted user authentication data;
(Db) providing the received user authentication data to a security subsystem executing locally;
The method of claim 1, comprising: (dc) authenticating the user in response to the user authentication data by the locally executing security subsystem.
(f)表示のために該クライアントコンピュータデバイスに、該生成されたページを、該サーバによって、送信するステップと、
(g)該ホストされるリソースの1つにアクセスするリクエストを、該クライアントコンピュータデバイスから受信するステップと、
(h)該クライアントコンピュータデバイスからユーザ認証データの更なる受信を要求せずに、該複数のサーバの1つによってホストされる該利用可能なリソースの選択された1つを実行するステップと
をさらに包含する、請求項1に記載の方法。 (E) generating a page hosted by a plurality of servers and indicating a display of resources available to the client computing device by the server;
(F) sending the generated page by the server to the client computing device for display;
(G) receiving a request from the client computing device to access one of the hosted resources;
(H) executing a selected one of the available resources hosted by one of the plurality of servers without requesting further reception of user authentication data from the client computing device; The method of claim 1 comprising.
クライアント側認証モジュール、クライアント側セキュリティプロバイダサブシステム、およびクライアント側仮想チャネルドライバを含むクライアントコンピュータデバイスであって、該クライアント側認証モジュールは、ユーザ認証証明を受信し、該クライアント側セキュリティプロバイダサブシステムに該証明を送信し、該クライアント側セキュリティプロバイダサブシステムは、送信のために、該ユーザ認証証明に基づいて、ユーザ認証データを生成し、該クライアント側仮想チャネルドライバに該ユーザ認証データを送信する、クライアントコンピュータデバイスと、
サーバ側仮想チャネルドライバ、サーバ側セキュリティプロバイダサブシステム、およびサーバ側認証モジュールを含むサーバコンピュータデバイスであって、該サーバ側仮想チャネルドライバは、該送信されたユーザ認証データを受信し、該サーバ側認証モジュールに該受信された認証データを提供し、該サーバ側認証モジュールは、該サーバ側セキュリティプロバイダサブシステムに該ユーザ認証データを送信し、該セキュリティプロバイダサブシステムは、認証表示を用いて該ユーザ認証データに応答し、受信されたユーザ認証データに基づいて新しいユーザ認証データを生成する、サーバコンピュータデバイスと、
第1のサーバコンピュータデバイスによって生成される、該新しいユーザ認証データを受信し、該受信された新しいユーザ認証データに基づいて、ユーザを認証する、第2のサーバコンピュータデバイスと
を備える、システム。 A system for remotely authenticating a user to a server in a server-based computing environment, the system comprising:
A client computing device including a client-side authentication module, a client-side security provider subsystem, and a client-side virtual channel driver, wherein the client-side authentication module receives user authentication credentials and sends the client-side security provider subsystem A client that sends a certificate, and the client-side security provider subsystem generates user authentication data based on the user authentication certificate for transmission and sends the user authentication data to the client-side virtual channel driver. A computer device;
A server computer device including a server-side virtual channel driver, a server-side security provider subsystem, and a server-side authentication module, wherein the server-side virtual channel driver receives the transmitted user authentication data and receives the server-side authentication Providing the received authentication data to a module, wherein the server-side authentication module sends the user authentication data to the server-side security provider subsystem, the security provider subsystem using the authentication indication A server computing device that is responsive to the data and generates new user authentication data based on the received user authentication data;
A second server computer device that receives the new user authentication data generated by the first server computer device and authenticates the user based on the received new user authentication data.
ユーザ証明を受信するためのコンピュータ読取可能プログラム手段と、
該受信された証明に基づいて、ユーザ認証データを生成するためのコンピュータ読取可能プログラム手段と、
該生成されたユーザ認証データをサーバコンピュータデバイスに送信するためのコンピュータ読取可能プログラム手段と、
該送信されたユーザ認証データに応答して、該ユーザを認証するためのコンピュータ読取可能プログラム手段と、
該送信されたユーザ認証データに基づいて、新しいユーザ認証データを生成するためのコンピュータ読取可能プログラム手段と、
第2のサーバコンピュータデバイスに、該サーバコンピュータデバイスによって、該新しいユーザ認証データを送信するためのコンピュータ読取可能プログラム手段と、
該第2のサーバコンピュータデバイスによって、該送信されたユーザ認証データに応答して、該ユーザを認証するためのコンピュータ読取可能プログラム手段と
を備える、製造品。 An article of manufacture incorporating computer readable program means for remotely authenticating a user to a server in a server-based computing environment, the article comprising:
Computer readable program means for receiving a user certificate;
Computer readable program means for generating user authentication data based on the received certificate;
Computer readable program means for transmitting the generated user authentication data to a server computing device;
Computer readable program means for authenticating the user in response to the transmitted user authentication data;
Computer readable program means for generating new user authentication data based on the transmitted user authentication data;
Computer readable program means for transmitting the new user authentication data to a second server computer device by the server computer device;
An article of manufacture comprising: computer readable program means for authenticating the user in response to the transmitted user authentication data by the second server computing device.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US48170803P | 2003-11-26 | 2003-11-26 | |
PCT/US2004/039442 WO2005055025A1 (en) | 2003-11-26 | 2004-11-23 | Methods and apparatus for remote authentication in a server-based |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007520791A true JP2007520791A (en) | 2007-07-26 |
Family
ID=34652233
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006541510A Withdrawn JP2007520789A (en) | 2003-11-26 | 2004-11-23 | Method and apparatus for remote authentication in a server-based computer system |
JP2006541682A Withdrawn JP2007520791A (en) | 2003-11-26 | 2004-11-23 | Method and apparatus for remote authentication in a server-based computer system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006541510A Withdrawn JP2007520789A (en) | 2003-11-26 | 2004-11-23 | Method and apparatus for remote authentication in a server-based computer system |
Country Status (7)
Country | Link |
---|---|
EP (2) | EP1695180A1 (en) |
JP (2) | JP2007520789A (en) |
KR (2) | KR20060120148A (en) |
AU (2) | AU2004294668A1 (en) |
CA (2) | CA2547407A1 (en) |
IL (2) | IL175842A0 (en) |
WO (2) | WO2005055026A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100759813B1 (en) | 2005-12-12 | 2007-09-20 | 한국전자통신연구원 | Method for authenticating user using biometrics information |
US8997193B2 (en) * | 2012-05-14 | 2015-03-31 | Sap Se | Single sign-on for disparate servers |
KR102447501B1 (en) | 2015-12-24 | 2022-09-27 | 삼성전자주식회사 | Electronic device for processing biometric information and method for controlling thereof |
US10620855B2 (en) * | 2016-09-06 | 2020-04-14 | Samsung Electronics Co., Ltd. | System and method for authenticating critical operations on solid-state drives |
JP6860796B2 (en) * | 2019-08-08 | 2021-04-21 | 富士通クライアントコンピューティング株式会社 | Information processing systems, information processing equipment and programs |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030187925A1 (en) * | 1998-12-08 | 2003-10-02 | Inala Suman Kumar | Software engine for enabling proxy chat-room interaction |
US6490679B1 (en) * | 1999-01-18 | 2002-12-03 | Shym Technology, Inc. | Seamless integration of application programs with security key infrastructure |
US20010027527A1 (en) * | 2000-02-25 | 2001-10-04 | Yuri Khidekel | Secure transaction system |
WO2002095589A1 (en) * | 2001-05-17 | 2002-11-28 | Identix Incorporated | Mobile identity verification |
-
2004
- 2004-11-23 WO PCT/US2004/041187 patent/WO2005055026A1/en not_active Application Discontinuation
- 2004-11-23 EP EP04812045A patent/EP1695180A1/en not_active Withdrawn
- 2004-11-23 CA CA002547407A patent/CA2547407A1/en not_active Abandoned
- 2004-11-23 CA CA002546872A patent/CA2546872A1/en not_active Abandoned
- 2004-11-23 KR KR1020067010247A patent/KR20060120148A/en not_active Application Discontinuation
- 2004-11-23 EP EP04813500A patent/EP1687693A1/en not_active Withdrawn
- 2004-11-23 AU AU2004294668A patent/AU2004294668A1/en not_active Abandoned
- 2004-11-23 KR KR1020067010250A patent/KR20060118510A/en not_active Application Discontinuation
- 2004-11-23 JP JP2006541510A patent/JP2007520789A/en not_active Withdrawn
- 2004-11-23 JP JP2006541682A patent/JP2007520791A/en not_active Withdrawn
- 2004-11-23 WO PCT/US2004/039442 patent/WO2005055025A1/en not_active Application Discontinuation
- 2004-11-23 AU AU2004296049A patent/AU2004296049A1/en not_active Abandoned
-
2006
- 2006-05-23 IL IL175842A patent/IL175842A0/en unknown
- 2006-05-23 IL IL175841A patent/IL175841A0/en unknown
Also Published As
Publication number | Publication date |
---|---|
IL175841A0 (en) | 2006-10-05 |
EP1687693A1 (en) | 2006-08-09 |
KR20060118510A (en) | 2006-11-23 |
CA2547407A1 (en) | 2005-06-16 |
JP2007520789A (en) | 2007-07-26 |
IL175842A0 (en) | 2006-10-05 |
CA2546872A1 (en) | 2005-06-16 |
WO2005055026A1 (en) | 2005-06-16 |
AU2004296049A1 (en) | 2005-06-16 |
AU2004294668A1 (en) | 2005-06-16 |
WO2005055025A1 (en) | 2005-06-16 |
KR20060120148A (en) | 2006-11-24 |
EP1695180A1 (en) | 2006-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8112789B2 (en) | Systems and methods for facilitating distributed authentication | |
EP1839224B1 (en) | Method and system for secure binding register name identifier profile | |
US8418234B2 (en) | Authentication of a principal in a federation | |
US7246230B2 (en) | Single sign-on over the internet using public-key cryptography | |
US7877492B2 (en) | System and method for delegating a user authentication process for a networked application to an authentication agent | |
US6629246B1 (en) | Single sign-on for a network system that includes multiple separately-controlled restricted access resources | |
CN112995219B (en) | Single sign-on method, device, equipment and storage medium | |
US20050177730A1 (en) | System and method for authentication via a single sign-on server | |
US8042165B2 (en) | Method and system for requesting and granting membership in a server farm | |
US20030005117A1 (en) | Pluggable authentication and access control for a messaging system | |
US20060236385A1 (en) | A method and system for authenticating servers in a server farm | |
JP2007520791A (en) | Method and apparatus for remote authentication in a server-based computer system | |
Lopez et al. | A standards-based approach to Federated Identity |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080205 |