JP2004524591A - オンラインアプリケーション用統合型認証サービスを提供するシステム、方法およびコンピュータプログラム製品 - Google Patents
オンラインアプリケーション用統合型認証サービスを提供するシステム、方法およびコンピュータプログラム製品 Download PDFInfo
- Publication number
- JP2004524591A JP2004524591A JP2001570010A JP2001570010A JP2004524591A JP 2004524591 A JP2004524591 A JP 2004524591A JP 2001570010 A JP2001570010 A JP 2001570010A JP 2001570010 A JP2001570010 A JP 2001570010A JP 2004524591 A JP2004524591 A JP 2004524591A
- Authority
- JP
- Japan
- Prior art keywords
- user
- server
- authentication
- component
- policy
- 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
-
- 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
-
- 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
-
- 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
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- 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/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/2117—User registration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
1以上のオンラインアプリケーションのユーザにアプリケーションサービス提供設定における認証サービスを提供するシステム、方法およびコンピュータプログラム製品。このシステムは、クライアント側コンポーネントと、ユーザ管理コンポーネントと、ウェブブラウザと、デバイス特定コンポーネントと、認証制御とを含む。このシステムは、サーバ側コンポーネントと、認証サーバと、ウェブ/アプリケーションサーバと、通信コンポーネントと、フィルタとを含む。クライアント側コンポーネントの認証制御コンポーネントは、第1のアカウントのためのユーザ決定ポリシーとユーザ認定書とを獲得するプロセスを管理する。これにより、ユーザは、第1のアカウントにアクセスする保護レベルを規定することができる。
【選択図】図2
【選択図】図2
Description
【0001】
(発明の背景)
(発明の分野)
本発明は概して情報へのアクセスを制御するためのシステム、方法およびコンピュータプログラム製品に関し、より詳細には、1つ以上のオンライン(またはウェブ)アプリケーションの登録されたエンドユーザを設定するアプリケーションサービスプロバイダー(ASP)における統合された認証サービスを提供する。
【0002】
(関連技術)
現在の経済にとって高速な情報へのアクセスおよび交流が重要であることは決して大げさなことではない。このことは、インターネット、イントラネット、情報の無線交流等の人気の急激な上昇を説明する。インターネットは、量が増大する情報また改変する情報に電気的にアクセスするために用いられ得る相互接続されたコンピュータネットワークのワールド−ワイドセットである。今日のインターネットは、公開された情報または機密でない情報へのアクセスまたは交流において特によく動作する。
【0003】
インターネット上の情報へアクセスする1つの方法は、World Wide Web(wwwまたは“web”)として知られている。ウェブは、分配するハイパーメディアシステムであり、クライアントサーバをベースとする情報提示システムとして機能する。ウェブは、Hyper Text Markup Language(HTML)と呼ばれる言語にフォーマットされたドキュメントをサポートする。HTMLドキュメントは、グラフィック、オーディオ、ビデオファイル等だけでなく他のドキュメントへのリンクもサポートする。さらに、HTMLは、ウェブページがどのようにフォーマットされ表示されるかを制御する。コンピュータユーザは汎用コンピュータ(“クライアント”と呼ぶ)を使用し、ページのユニフォームリソースロケーター(URL)を特定することにより、ウェブ(またはHTML)にアクセスし得る。図1は、インターネットに接続された複数のクライアントおよびサーバを示すネットワークブロック図である。
【0004】
インターネットの人気には、インターネットがオファーしなければならない事項をいかなるユーザでも利用することが可能となるように開発されているツールおよびプロトコルの一部の貢献により得る。これらはウェブブラウザ、HTTP、S−HTTP、クッキーおよびSSLを含むが、これらに限定されない。これらのそれぞれは以下でより詳細に述べられる。
【0005】
ウェブブラウザは、ユーザがウェブページを見付け表示することを簡単にするソフトウェアアプリケーションである。ウェブブラウザの例としては、Netscape NavigatorおよびMicrosoft Internet Explorerがある。本明細書中で開示するように、ウェブブラウザはイネーブルされたクライアントとの通信プロトコル(communication protocol−enabled client)の一例である。イネーブルされたクライアントとの通信プロトコルの他の例は、TCP/IPクライアントおよび無線クライアントであるが、これらに限定されない。
【0006】
ウェブにおいて用いられる通常のプロトコルは、Hyper Text Transfer Protocol(HTTP)である。HTTPは、メッセージがどのようにフォーマットされ送信されるか、およびウェブサーバおよびブラウザが様々なコマンドに応答してどのように動作するかを定義する。例えば、ユーザが彼(または彼女)のブラウザにURLを入力する場合、これはHTTPコマンドをウェブサーバに実際に送信し、要求されたウェブページをフェッチし送信するよう指令する。
【0007】
HTTPは、無国籍プロトコルと呼ばれる。なぜなら、各コマンドは、各コマンドの前または後にくるコマンドの知識無しに独立に実行されるからである。このことは、ユーザの入力に聡明に応答するウェブサイトを実行することがなぜ難しいかということに対する1つの理由である。HTTPのこの特徴は、ActiveX、Java(R)、Java(R)Scriptおよびクッキーを含むHTTPを相補する複数の新しい技術において対応されている。
【0008】
例えばクッキーは、ウェブサーバによってウェブブラウザに提供されるメッセージである。クッキーは、サーバ側の接続がユーザ側の接続上において情報を格納および読み出すことの両方に用いられることが可能な一般的なメカニズムである。これは、単純に、持続的にクライアント側の状態がウェブベースのクライアント/サーバアプリケーションの能力を顕著に伸ばすことを付加する。
【0009】
サーバはまた、HTTPオブジェクトがユーザに戻されるとき、ユーザが格納することになる状態情報の一部を送信し得る。状態オブジェクトはその状態が正当であるURLの範囲の説明を含む。その範囲内においてユーザによって作られる将来のいかなるHTTPの要求も、ユーザからサーバに戻る状態オブジェクトの現在の値の送信を含むことになる。状態オブジェクトはクッキーである。この単純なメカニズムは、新しい型のアプリケーションのホストをイネーブルにし、ウェブをベースとする環境について書き込むパワフルなツールを提供する。ショッピングアプリケーションは、現在選択されたユーザアイテム、料金サービスが登録された情報を送り返し得、次の接続時にユーザがユーザネーム(またはユーザID)を再び入力することから解放すること、サイトがユーザーコンピューター上のユーザ毎の好みを格納し、ユーザがそのサイトに接続されているときのいつでもそれらの好みを提供すること等についての情報を格納し得る。
【0010】
ウェブ上で用いられる他の通常のプロトコルは、Secure Sockets Layer(SSL)プロトコルである。SSLは、インターネットを介してプライベートドキュメントを送信するために用いられるプロトコルである。SSLは、特定のセッションのためのウェブブラウザのみが知っているプライベートセッションキーを使用することにより動作する。セッションキーは各セッションにおいて変化する。セッションキーはSSL接続を介して送信されるデータを暗号化するために用いられる。多くのウェブサイトは、SSLプロトコルを使用してクレジットカードナンバーのような秘密のユーザ情報を入手する。
【0011】
ウェブ上で安全にデータを送信するための他のプロトコルはSecure HTTP(S−HTTP)である。SSLはどのような量のデータでも安全に送信することが出来るようにクライアントとサーバとの間の安全な接続をつくるのに対し、S−HTTPは個々のメッセージを安全に送信できるように設計されている。従って、SSLおよびS−HTTPは、競合技術よりもむしろ相補的であると見ることが出来る。
【0012】
上述のように、現在の経済にとって高速な情報へのアクセスおよび交流が重要であることはけっして大げさなことではない。インターネットの人気は上述のウェブブラウザおよび様々なプロトコルを介して上昇している。(インターネットおよび無線通信の人気もまた、それぞれに対して特定であるプロトコルを介して上昇している)。インターネットを介した秘密でない情報の高速な交流はユーザによく役立っている。しかしながら、そこにはいくつかの問題が存在する。1つの問題は、インターネットを介した秘密の情報の保護である。他の問題は、ユーザがオンライン(またはウェブ)アプリケーションに申し込んで使用するときに、ユーザのインターネットを介した秘密の情報が秘密であることについての個々のユーザの快適なレベルを満足させることである。
【0013】
ユーザの快適なレベルを満足させることの重要性は、秘密のユーザ情報へのアクセスまたは交流を必要とするインターネットを介してユーザへ提供されるアプリケーションまたはサービスとして高まっている。例えばそのようなアプリケーションまたはサービスは、ビジネス−ビジネスおよびビジネス−消費者−電子商取引、銀行、株式取引、買い物、個人コンテンツウェブサイトのようなオンラインアプリケーション等である。悪質なユーザへの秘密の情報の提供をさけるために、ユーザ(またはウェブブラウザのような通信プロトコルの使用可能なクライアント)は、ウェブアプリケーションにユーザがアクセスする前に認証する必要がある。簡単な情報へのアクセスおよび交流は全てのユーザにとって魅力的であり、ほとんどのユーザはまた、インターネット、イントラネット、無線ネットワーク等を介してアクセス可能なユーザの秘密の情報の安全性に対して関心を持っている。
【0014】
情報へのアクセスおよび交流のためのインターネットの人気の上昇を相殺しないようにするために、情報のインターネットプロバイダは、十分な秘密の情報の保護と、インターネット上の簡単な情報へのアクセスおよび交流とのバランスをとる必要がある。さらに、ウェブアプリケーションの登録されたユーザは、十分なユーザの満足レベルの達成を確実にするために、ウェブアプリケーションによって管理されるユーザアカウントに提供される保護レベル上のいくつかの制御を行うべきである。また、ユーザは登録(すなわち彼または彼女への資格の提供)を一回のみ行うべきであり、その後これらの資格は全てのユーザのアカウントの認証に再利用されるべきである。
【0015】
(発明の要旨)
情報へのアクセスを制御するシステム、方法およびコンピュータプログラム製品、より詳細には、1つ以上のオンラインアプリケーションの登録されたエンドユーザを設定するアプリケーションサービスプロバイダ(ASP)における統合された認証サービスを提供する。
【0016】
通信媒体を介してユーザが要求する情報にアクセスするように設定するASPにおいて、遠隔から登録し、認証し、統合された認証サービスを提供するシステムは、クライアント側コンポーネントを含む。また、システムに含まれるものとしては、通信媒体を介してクライアント側コンポーネントに接続されたフィルタ、および通信媒体を介してクライアント側コンポーネントに接続されたユーザ管理コンポーネントがある。ユーザ管理コンポーネントは、エンドユーザの資格の登録を1回とすることを可能にする。さらに、ユーザ管理コンポーネントは、エンドユーザが彼らのウェブアプリケーションアカウントへのアクセスの保護のレベルを定義することを可能にする。これは、特に本発明において用いられる構成であるアカウント、特定のユーザ資格、および引き続いてセットアップされるが同じユーザ資格を用いる構成であるアカウントを含むが、これに限定されない。次に、本発明は、それらの資格を再利用し、1つ以上の潜在的な関係のないウェブアプリケーションへのユーザの認証を行う。
【0017】
システムはまた、通信媒体を介してフィルタおよびユーザ管理コンポーネントに接続されたサーバ側コンポーネントを含む。クライアント側コンポーネントは、ユーザ資格をキャプチャするプロセスを管理し、キャプチャプロセス結果をフィルタへ通信する、認証制御コンポーネントを含む。サーバ側コンポーネントは認証サーバを含む。認証サーバは、複数のユーザに関するデータおよびユーザに関する少なくとも1つのポリシーを格納する。ユーザポリシーは認証レベルを定義し、認証レベルはユーザが要求された情報へのアクセスが許可される確率を定義する。さらに、認証サーバはフィルタからユーザ資格を受取り、ユーザポリシーを実行することによりユーザを認証することを試み、ユーザが認証されたかどうかについてフィルタへ通信する。最後に、フィルタは、一旦ユーザが認証サーバによって認証されると、要求された情報を含むサーバと相互に作用する。
【0018】
ユーザの遠隔からの登録を可能にするために、本発明は、認証制御コンポーネントおよび登録アプリケーションを含むクライアント側コンポーネントを提供する。登録アプリケーションは、ユーザ資格を提示するときに、ユーザと相互に作用するプレゼンテーションロジックの運用について責任がある。認証制御コンポーネントは、ユーザ資格をキャプチャするプロセスの管理およびキャプチャプロセスの結果のサーバ側コンポーネントへの通信について責任がある。
【0019】
本発明は、添付の図面を参照して説明される。
【0020】
(好適な実施形態の詳細な説明)
A.発明の概要
本発明の発明者は、インターネットのような通信媒体を介した、エンドユーザによって定義される秘密の情報の保護と、同じ秘密の情報への容易なアクセスとの効果的なバランスを実現する解決方法が無かったことを認めた。本発明はインターネットを参照して開示されるが、本発明はインターネットに限定されることを意味しないことを留意しておくことが重要である。本発明はまた、イントラネット、無線ネットワーク等に適用される。
【0021】
上述の問題についての本発明の全般的な解決方法としては3つある。第1には、インターネット上において有効な秘密の情報を保護することが可能な識別デバイスを適切に用いることである。
【0022】
第2には、適切な識別デバイスを用いて、インターネットでアクセス可能な(またはウェブ)アプリケーションおよび/または秘密の情報を管理するサービスへのユーザの効果的な認証を提供する、システム、方法およびコンピュータプログラム製品を提供することである。
【0023】
第3には、ウェブアプリケーションの登録されたエンドユーザが、彼らのアカウントへ提供される保護のレベルについてのいくつかの制御を有することを可能にし、適切なユーザの快適なレベルを実現することを確実にすることである。この要求は、全てのユーザ資格を中核的に格納し管理することを補助するユーザ管理アプリケーションを提供する。ユーザ管理アプリケーションは、エンドユーザを満足させ、ユーザの1回の登録(すなわち、彼または彼女の資格を提供すること)を可能にし、1つ以上のウェブアプリケーションの認証のために格納された資格が再使用されるように機能する。例えば、ユーザ“Jane”は、discount vacation.comと呼ばれる割引された休暇のパッケージを申し込むサービスのアカウントと、bankonline.comと呼ばれるオンライン銀行機関のアカウントとを有するとみなす。Janeは割引された休暇のパッケージを示す彼女のアカウントよりも、彼女のオンラインバンキングアカウントへのアクセスについてより高いレベルの認証を望むことが予想される。従って、Janeは、彼女に指紋スキャナー、音声認識システムおよび顔認識システムをパスさせて彼女のアカウントへアクセスさせることを要求するポリシーを伴う彼女のオンラインバンキングアカウントの保護を決定し得る。それに対し、Janeは、彼女の割引された休暇のパッケージアカウントの保護は指紋スキャナを伴うことのみを望み得る。Janeは、本発明によって、指紋測定、音声測定および顔測定を含む、彼女の資格の1回の提供を要求される。その後、彼女の指紋測定は、彼女のオンラインバンキングアカウントおよび彼女の割引された休暇のアカウントの両方へのアクセスに再使用される。
【0024】
1つの実施形態において、本発明は、アプリケーションサービスプロバイダ(ASP)において実行される。概して、ASPは、中央データセンターからのワイドエリアネットワークを介したソフトウェアをベースにしたサービスおよび顧客の問題解決方法の管理および分配を行う第三者的存在である。
【0025】
問題解決方法は、現在インターネットにより供給される容易で高速な情報のアクセスおよび交流に関するインターネットの人気を減少させてはいけない。より詳細には、本発明のシステムのアーキテクチャは、通信プロトコルのイネーブルされたクライアントの資格の遠隔からの登録のみでなく、認証された通信プロトコルのイネーブルされたクライアントのためのクロスプラットフォーム、ハイパフォーマンス、拡張性、高い拡張性のある問題解決方法を有さなければならない。
【0026】
秘密の情報についての不適切な認証、および不適切な保護により、10億ドルが、数千のE−コマースビジネス、インターネットデータコンテンツプロバイダ等において失われている。多くのユーザは、インターネットを介してユーザの秘密の情報がアクセス可能であることについて満足していない。従って、秘密の情報と関係する場合、これらのユーザは簡単に使えるインターネットをあきらめ得、より伝統的なタイプの、インターネットでアクセス不可能なビジネスおよびサービスという手段をとる。
【0027】
今日、登録されたユーザの資格についてのようなウェブアプリケーションの制御は、彼または彼女のアカウントにアクセスするために提供されなければならない。ほとんどのウェブアプリケーションにおいて、要求される資格は僅かである。例えば、ほとんどのウェブアプリケーション/サービスは、ユーザをユーザネームおよびパスワードのみによって認証している。他の識別デバイスは、スマートカード、トークンおよび様々なバイオメトリックデバイス(例えば、指紋スキャナ、音声または顔認識システム等)を含むがそれに限定されない。さらに、ほとんどのウェブアプリケーションは、パスワードのみを含む“シングルサインオン”と呼ばれるプロセスを取り入れることにより、コストおよび秘密のデータの保護の複雑な運営を削減している。
【0028】
シングルサインオンは、各ユーザに、1回のパスワード入力で(公的または秘密でない情報および秘密の情報を含む)全てのウェブアプリケーションリソースにアクセスすることを提供する。ほとんどのユーザは、1つのパスワードを書き残すことなく覚えることができる。この情報保護の運営の複雑さおよびコストを削減することで、ユーザの情報へのアクセスの取得が信頼性のあるものであることの可能性が削減される。パスワードを用いたシングルサインオンが秘密でない情報にアクセスするユーザの認証として受け入れられている間、パスワードを用いたシングルサインオンは、他のタイプの情報に追加して秘密の情報にアクセスするユーザの認証として受け入れられない。ユーザのアクセスの取得が信頼性のあるものであることの可能性は、異なるタイプの情報(例えば、秘密の情報と秘密でない情報)へのアクセスについて複数のパスワード、複数のトークン、複数のスマートカードまたは複数のバイオメトリックデバイスを用いることを各ユーザに強制することにより上昇させることが出来る。
【0029】
B.システムアーキテクチャの概要
図2は、本発明の動作環境の一例を示すブロック図である。図2に示す動作環境の例は説明のみを目的としたものであり本発明を限定するものではないことを理解されたい。本明細書中で開示される動作環境の他の実現は、本明細書中に含まれる教示に基づいて当業者には明らかであり、本発明はそのような他の実現も対象にする。図2を参照して、認証サーバ202、通信コンポーネント204、フィルタ206、ユーザ管理コンポーネント207、認証制御コンポーネント208、デバイス特定コンポーネント210、ウェブブラウザ212および1つ以上のウェブ/アプリケーションサーバ214が開示される。
【0030】
本発明の実施の形態における機能的モジュールまたはコンポーネントは、認証サーバ202、通信コンポーネント204、フィルタ206、ユーザ管理コンポーネント207および認証制御コンポーネント208を含む。本発明のコンポーネントはそれぞれ、以下のものを含むカテゴリに分類される:クライアント側コンポーネント、フィルタコンポーネント、ユーザ管理コンポーネント、サーバ側コンポーネントおよび遠隔登録コンポーネント。認証サーバ202および通信コンポーネント204は、サーバ側コンポーネントに分類される。デバイス特定コンポーネント210およびウェブブラウザ212に加えて認証制御コンポーネント208は、クライアント側コンポーネントに分類される。フィルタ206は、フィルタコンポーネントに分類される。ユーザ管理コンポーネント207はユーザ管理コンポーネントに分類される。最後に、認証制御コンポーネント208および通信コンポーネント204は、遠隔登録コンポーネントに分類される。
【0031】
本発明の1つの実施形態において、サーバ側コンポーネントおよび遠隔登録コンポーネントは、独立したプラットフォームとして設計され、それらとの通信がスタンダードで公開されたプロトコル(例えば、HTTPプロトコル(RFC 2068))を介して実施されることのみを要求する。認証制御コンポーネント208は、クライアント側コンポーネントおよび遠隔制御コンポーネントの両方に分類されることに留意されたい。さらに、通信コンポーネント204は、サーバ側コンポーネントおよび遠隔制御コンポーネントの両方に分類される。本発明の異なる分類(または機能)におけるこれらのコンポーネントの再使用は、オブジェクト指向型プログラミング言語におけるコンポーネントの実行の結果である。
【0032】
いくつかのオブジェクト指向型プログラムの利点は、新しいタイプのオブジェクトが追加されたときに変更する必要の無い(機能を実行する)モジュールをプログラマーが作ることを可能にすることである。オブジェクトは、タスクを実行することが要求されるデータおよび機能の両方を含む。従って、オブジェクトとして本発明のコンポーネントによって実行される機能の実施により、作られたモジュールは、新しいタイプのオブジェクト(または機能)が追加されたときに変更する必要が無い。この本発明の実施は複雑さを低減し、従って、能率を向上させる。本発明のカテゴリ(およびそれらそれぞれのコンポーネント)は次に開示される。
【0033】
(1.サーバ側のコンポーネント)
上述のように、認証サーバ202および通信コンポーネント204は、サーバ側のコンポーネントとして分類されている。認証サーバ202は、通信コンポーネント204(図2参照)に接続されている。認証サーバ202は、関連の同時係属中の米国出願第09/264,726号および米国出願第09/517,121に詳細に記述されている(上記「関連出願へのクロス・リファレンス」を参照)。便宜のため、以下、認証サーバ202は簡単に記述されている。
【0034】
認証サーバ202は、本発明のエンジンであり、本発明によって必要とされるデータの集合を格納する。認証サーバ202内のエンジンの機能および格納されたデータの双方が以下にさらに詳細に議論される。認証サーバ202に格納されたデータの種類が登録ステーションおよび管理ステーション(図示せず)の動作を通して部分的に判定される。登録ステーションは、本発明によって認証されることになっているユーザを登録するために用いられる。登録ステーションは、本発明がユーザを登録および最終的には認証するために用いる全種類のデバイス(例えば、指紋スキャナのような生物測定デバイス、音声または顔認識システム等、または、RSKトークン、VASCOトークン等のセキュリティトークンその他)に取り付けられている。ユーザが本発明に登録される場合、ユーザは、管理上の判断に必要となるできるだけ多くのデバイスに登録され得る。
【0035】
管理ステーションは、本発明の管理者が管理任務全般を行うために用いられる。管理者は、さらに、種々のリポートを作成するために管理ステーションを使用し得る。リポートは、認証サーバ202に格納された異なるタイプのデータのリスト(例えば、本発明において現在登録されているユーザのリスト)を含む場合がある。加えて、管理ステーションは、典型的には、認証サーバ202内のイニシャルデータをセットアップするために用いられる。
【0036】
本発明によって使用され得る他のコンポーネントとしては、同じく図2に図示しないサテライト登録ステーションがある。サテライト登録ステーションは、遠隔位置でユーザを本発明に登録するために用いられる。サテライト登録ステーションは、管理ステーションと同様に、多くのデバイスが取り付けられるようにしてもよいが、代替的に、管理ステーションをスケールダウンしたバージョンであってもよい。以下に詳細に記載するように、本発明を用いると、ウィブブラウザ(すなわち、クライアントに与えられた通信プロトコル)は、遠隔登録ステーションとして作用することができる。
【0037】
認証サーバ202は、さらに、図2において図示しない認証コンポーネント(すなわち、認証オブジェクト)を含んでいる。認証コンポーネントは、通信コンポーネント204と相互に影響し合って、ユーザの認証を行うために必要な機能を提供する。認証コンポーネントは、以下、より詳細に記載される。
【0038】
本発明の遠隔登録コンポーネントを参照して記載されるように、認証サーバ202は、さらに、通信コンポーネント204と相互作用して遠隔登録を行うための必要な機能を提供する登録コンポーネント(図2において図示せず)を含む。
【0039】
上述したように、認証サーバ202は、通信コンポーネント204に接続されている。通信コンポーネント204は、(以下に説明する)監視(listen)オブジェクトおよびコム(comm)オブジェクトを含む、特定の機能を行う異なる種類のオブジェクトを含んでいる。これらの種類のオブジェクトは、ユーザが認証されることを試みた場合に本発明によって必要な通信を提供するために用いられる。上述のように、本発明は、インターネット等の通信メディアを介した内密の情報の保護および同じ内密の情報へのアクセスの容易さの平衡を効果的に保たせる解決方法を提供する。本発明がインターネットを参照して記載される場合、本発明を制限することを意味しないことに留意することは重要である。本発明は、さらに、イントラネット、無線ネットワークその他に適用される。通信メディアの種類に依存して、通信コンポーネント204は、特定のメディアを介してユーザを認証するために、必要な通信機能を行う。このことは、図4、図5A及び図5Bを参照して示されている。
【0040】
図4において、通信コンポーネント204は、無線ネットワークのための必要な機能を行う。図5Aは、局所ネットワークまたはイントラネットのために必要な機能を行う通信コンポーネント204示している。最後に、図5Bは、イントラネットのための必要な機能を行う通信コンポーネント204を示している。通信コンポーネント204、認証コンポーネント、および、互いに相互作用する方法が、以下に、通信メディアがインターネットである場合について記載される。ただし、本発明は、インターネットに制限されるわけではない。
【0041】
(a.通信コンポーネント−監視オブジェクト)
監視オブジェクトは、認証サーバ202が始動する時に認証サーバ202によって、実例が挙げられる。監視オブジェクトは、図6によって示される次のタスクについて役割を有している。図6において、フローチャートはステップ602で開始する。一旦、その存在が示されると、監視オブジェクトは、ステップ602に示されるような入来SSL接続リクエスト用の標準SSLポート(すなわち、ポート443)上のHTTPデーモン・リスニングのように駆動する。
【0042】
ステップ604において、一旦、監視オブジェクトがSSL接続リクエストを受け取ると、以下に記載するように、監視オブジェクトは、リクエストがコムオブジェクトによって処理されることを保証する。制御は、次に、ステップ602に戻り、監視オブジェクトは、入来SSL接続リクエストを監視する。監視オブジェクトは、認証サーバ202が処理を終えると壊されるのみである。
【0043】
リクエストがステップ604で処理されることを監視オブジェクトが保証する異なる方法がある。例えば、本発明のある実施形態では、監視オブジェクトは、標準デーモンスレッド、ワーカー・スレッド・プールモデルとして実行され得る。ここで、単一のデーモンスレッドは、全ての入来接続リクエスト受け入れ、新規の創作されたソケット(各接続に対して)をプール内のワーカースレッドの一つに手放す。次に、デーモンスレッドは、より多くの入来接続のための監視に戻り得る。プール内のスレッド数は、形成可能なパラメータであり得る。スレッドは、当業者に周知である。
【0044】
本発明の他の実施形態において、監視オブジェクトは、IO完了ポートを用いて、単一ポイントのクライアントからの受信リクエストおよびクライアントへの送達レスポンスを提供し得る。この技術は、さらに、本来的に非同期の通信メカニズムに向いている。通信メカニズムは、IO中心の処理の性能を向上するために示されている。IO完了ポートおよび非同期の通信メカニズムも、当業者に周知である。本発明のコムオブジェクトは以下に議論される。
【0045】
(b.通信コンポーネント−コムオブジェクト)
コムオブジェクトは、それぞれの新しいクライアントセッションの間に、実例が挙げられる。クライアントセッションは、ウェブブラウザ212でのユーザがウェブ/アプリケーションサーバ214にアクセスすることを試みる場合の結果として生じる。一旦、認証処理が完了すると、エラーが発生するか、または、タイムアウトが発生するか、対応するコムオブジェクトが破壊される。コムオブジェクトは、図7に示される以下のタスクについて責を負う。図7において、フローは、ステップ702で始まる。ステップ702において、コムオブジェクトは、データの対称な暗号化/復号化についてのウェブブラウザ212を用いてセッションキーを取り決める。これは、サーバ側の証明並びにクライアント側の証明を交換することを含み得る。制御は、次に、ステップ704に進む。
【0046】
ステップ704において、コムオブジェクトは、セッションキーを用いて暗号化されたウェブブラウザ212からデータを受け取る。制御は、次に、ステップ706に進む。
【0047】
ステップ706において、コムオブジェクトは、ステップ704において受け取ったデータを復号化する。制御は、次に、ステップ708に進む。
【0048】
ステップ708において、コムオブジェクトは、HTTPヘッダおよび復号化されたデータ内のコンテンツを解析する。制御の後、ステップ710に進む。
【0049】
ステップ710において、コムオブジェクトは、受信したデータからの特定のフォーマットに適合するデータオブジェクトを生成し、認証サーバ202の認証コンポーネント(すなわち、認証オブジェクト)またはポリシーオブジェクト(認証オブジェクトを介して)にそれを手放す。ポリシーオブジェクトは、関連する同時係属米国出願第09/264,726号および米国出願第09/517,121号に詳細に説明されている。ポリシーオブジェクトは、用いられている特定のポリシーによって異なっている。認証サーバ202の認証コンポーネントによってユーザが認証されるべきかについての方法または方式を決定するのはポリシーである。彼または彼女が適切なポリシーを通過する(pass)までユーザが認証されないことに留意することは重要である。本発明において、ユーザは、彼または彼女のポリシーを通過することもなく、単独で通過する一つ以上のデバイスによって決して認証されない。ポリシーは、以下においてさらに議論される。制御は、次に、ステップ712に進む。
【0050】
ステップ712において、コムオブジェクトは、データオブジェクトを認証オブジェクトまたはポリシーオブジェクトから受け取り、HTTPに従ってそれをフォーマット化する。制御は、次に、ステップ714に進む。
【0051】
ステップ714において、コムオブジェクトは、ウェブブラウザ212に再送信されるセッションキーを用いてデータを暗号化する。制御は、次に、ステップ716に進む。
【0052】
ステップ716において、コムオブジェクトは、暗号化されたデータをウェブブラウザ212に送信する。一部または全ての上記ステップは、ポリシーが多要素の認証を要求する場合、数回繰り返され得ることに留意することは重要である。図7のフローチャートは、このポイントで終了する。上述したように、エラーが発生した場合、または、タイムアウトが発生した場合には、コムオブジェクトは、一旦、認証プロセスが完了した後、破壊される。本発明の認証コンポーネント(すなわち、認証オブジェクト)は、次に記載される。
【0053】
(c.認証コンポーネント−認証オブジェクト)
認証オブジェクトにおいても、それぞれの新しいクライアントセッションの間に実例が挙げられる。上記の通信オブジェクトのように、認証オブジェクトも特定の通信メディアであり得る。認証オブジェクトのタスクが図8に示されている。図8において、制御がステップ802で始まる。ステップ802において、認証オブジェクトは、ポリシー(またはポリシーオブジェクト)を、ユーザを認証するために用いられることになっているデータベース(またはデータベースオブジェクト)から取り出す。制御は、次に、ステップ804に進む。
【0054】
ステップ804において、認証オブジェクトは、通信コンポーネント204に、ウェブブラウザ212(フィルタ206および認証制御コンポーネント208を介して)を用いた通信のために要求される必要なメッセージの全てを通知する。一旦、認証メッセージの交換が完了すると、制御はステップ806に進む。
【0055】
ステップ806において、認証オブジェクトは、最終結果をフィルタ206に(通信コンポーネント204を介して)戻す。フィルタ206は、順次、サーバ/ウェブアプリケーション214と相互作用して、ユーザにアクセスすることを許容する(または禁ずる)。ユーザによるアクセスの制御から離すためのフィルタ206とサーバ/ウェブアプリケーション214との間の相互作用は、本発明によって統合と呼ばれる。図8におけるフローチャートは、このポイントで終了する。本発明のクライアント側のコンポーネントは次に記載される。
【0056】
(2.クライアント側のコンポーネント)
本発明により、認証制御コンポーネント208は、デバイス固有コンポーネント210およびウェブブラウザ212とともに、クライアント側のコンポーネントとして分類される。デバイス固有コンポーネント210はソフトウェアライブラリおよび認識デバイス(例えば、指紋スキャナ、音声または顔面認識システムのような生物測定のデバイス等、または、RSAトークン等のセキュリティトークンその他)に特有の他のコンポーネントである。デバイス固有のコンポーネント210は、典型的には、デバイス製造業者によって輸送され、通常、デバイスをインターフェースで連結するために用いられ得るアプリケーションプログラミングインターフェース(API)を含んでいる。
【0057】
認証制御コンポーネント208は、デバイス固有のコンポーネント210と共に作動して、ユーザの信用証明書を獲得する処理、必要な任意の局所プロセスを行う処理、およびこの処理の結果をフィルタ206に通信する処理を管理する。例えば、認証制御コンポーネント208は、所定のウェブブラウザ(例えば、インターネットエクスプローラー)のためのアクティブX制御として実行され得、並びに、他のウェブブラウザ(例えば、Netscape)のためのアクティブX制御と同一の論理を含むプラグ接続式として実行され得る。
【0058】
本発明のクライアント側のコンポーネントは、ソフトウェアの完全性および1回のダウンロードを含む2つの特徴を提供する。一旦、認証制御コンポーネント208がクライアントのコンピュータまたは機械上でダウンロードされると、悪意のあるユーザが、それをみだりに変更するおそれがある。このようなことを防止するため、クライアントソフトウェアの完全性が、認証制御コンポーネント208が用いられる前の各回ごとにチェックされる。これは、認証制御コンポーネント208用のコード上およびデバイス固有のコンポーネント210用のコード上のハッシュを実行することによって達成され得る。任意の変化が発見された場合、本発明の認証が進行する前に、認証制御コンポーネント208および/またはデバイス固有のコンポーネント210用のオリジナルのコードがダウンロードされる。
【0059】
本発明の、1回のダウンロードについての特徴は、登録時またはユーザが認証制御コンポーネント208を有していないコンピュータから認証することを試行する初回のいずれかの際に、ユーザのコンピュータ上で1回のみ、特定バージョンの認証制御コンポーネント208がダウンロードされるという事実を取り扱う。その後は、それぞれの新しいバージョンの認証制御コンポーネント208も、ユーザのコンピュータ上で1回のみダウンロードされる。フィルタコンポーネントは次に記載される。
【0060】
(3.フィルタコンポーネント)
フィルタ206は、ウェブ/アプリケーションサーバ214(すなわち、本発明の認証サーバを必要とする任意のウェブサーバまたはアプリケーションサーバ)に存在する軽微なコンポーネントである。フィルタ206のためのコードは、好ましくは、最適な性能のために、ウェブ/アプリケーションサーバ214の本来の言語(例えば、C、C++、Java(R)等)で書き込まれる。本発明の一実施形態において、フィルタ206は、ウェブブラウザ212から送られる全てのリクエストを見て、ウェブブラウザ212からの認証のための任意のリクエストを遮断する。フィルタは、次いで、認証リクエストを認証サーバ202に転送する。
【0061】
フィルタ206は、Netscape Enterprise Server(NES)、Microsoft Internet Information Server(MSIS)、Apache等を含む(ただし、これらに限定されない)、実在するウェブサーバと共同動作して、ウェブサイトにアクセスするための認証サーバを提供するように設計される。フィルタ206は、さらに、BEAウェブロジック、SilverStream Application Server、Oracle AppServer、Sun NetDynamics、Microsoft Site Server等を含む(ただし、これらに限定されない)、アプリケーションサーバとともに用いられて、オンラインバンキング、オンラインの株式売買その他を含むウェブアプリケーションのための認証サーバを提供し得る。図2に示されるように、フィルタ206は、一つ以上のウェブ/アプリケーションサーバ214に接続される。ウェブ/アプリケーションサーバ214は、上述のように、ウェブサーバおよびアプリケーションサーバの両方を表す。本発明の遠隔登録コンポーネントは、次に記載される。
【0062】
(4.遠隔登録コンポーネント)
本発明によると、ユーザは、自らの信用証明を遠隔から(インターネット、イントラネット、無線ネットワークその他を介して)登録することができる。本発明の遠隔登録コンポーネントは、認証制御コンポーネント208、通信コンポーネント204および中間層登録アプリケーションを含んでいる。上述のように、認証制御コンポーネント208は、さらに、登録および認証(クライアント側のコンポーネント)のために用いられ得る。上記に説明したように、通信コンポーネント204は、監視オブジェクトおよびコムオブジェクトを含んでいる。ここで、通信コンポーネント204は、認証サーバ202(すなわち、登録オブジェクト(これは上述の認証オブジェクト一部である))の登録コンポーネントと相互作用する。これにより、登録時に、認証制御コンポーネント208の「1回の」ダウンロードが許容され、あるいは、ユーザが登録されたものとは異なるコンピュータに移動した場合には、認証制御コンポーネント208は、ユーザがその異なるコンピュータから認証することを試みる初回にダウンロードされる。
【0063】
本発明の遠隔登録の機能性は、ユーザの信用証明(例えば、生物測定、パスワード等)を獲得し、その信用証明を登録オブジェクトに送信するために、認証制御コンポーネント208を必要とする。登録オブジェクトでは、認証サーバ202のデータベース内に、本発明による将来のユーザの認証のために、信用証明を格納する。
【0064】
登録アプリケーションは、遠隔登録プロセスのプレゼンテーションロジックを駆動する。登録アプリケーションは、ウェブブラウザ212において概観される、ユーザ可視のHTMLを生成する責を負う。いくつかの技術が、Active Server Pages(ASP)、Java(R) Server Pages(JSP)、JAVA(R) Servlets、Microsoft ISAPIおよびNetscape NSAPIを含む、ユーザ可視のHTMLを実行するために用いられ得る。登録アプリケーションは、一方の側において、媒介認証制御コンポーネント208として作用し、他方の側において、監視オブジェクト、コムオブジェクトおよび登録オブジェクトとして作用する。監視オブジェクト、コムオブジェクトおよび登録オブジェクトのタスクが、次に、記載される。
【0065】
(a.通信コンポーネント−監視オブジェクト)
上記に説明したように、監視オブジェクトは、認証サーバが始動する時点で、認証サーバ202によって、実例が挙げられる。監視オブジェクトは、図9に示される以下のタスクの責を負う。図9において、フローチャートがステップ902で開始する。一旦、実例が挙げられると、監視オブジェクトは、ステップ902に示されるように、入来SSL接続リクエストに対する標準SSLポート(すなわち、ポート443)上のHTTPデーモン監視と同様に作用する。制御は、次に、ステップ904に進む。
【0066】
ステップ904において、一旦、監視オブジェクトがSSL接続リクエストを受け取ると、監視オブジェクトは、リクエストのパラメータを見て、制御が登録オブジェクト、コムオブジェクト、または本発明が支持する任意の他の機能オブジェクトに移動すべきかどうかを決定する。図6がただ一つの可能な種類のリクエスト(すなわち、認証リクエスト)が存在する場合を示していることに留意すべきである。制御は、次に、ステップ906に進む。
【0067】
ステップ906において、監視オブジェクトは、リクエストが処理したことを保証する。制御は、次に、ステップ902に戻る。ここでは、監視オブジェクトは、入来SSL接続リクエストを監視する。監視オブジェクトは、一旦、認証サーバ202が停止されると、破壊されるのみである。
【0068】
(b.通信コンポーネント−コムオブジェクト)
コムオブジェクトは、それぞれの新しいクライアントセッションの間に実例が挙げられる。クライアントセッションは、ウェブブラウザ212におけるユーザがウェブ/アプリケーションサーバ214にアクセスすることを試みる場合の結果として生じる。一旦、登録プロセスが完了すると、エラーが発生するか、または、タイムアウトが発生するか、対応するコムオブジェクトが破壊される。コムオブジェクトは、図7によって示されるのと同一のタスクの責を負う。
【0069】
(c.登録コンポーネント−登録オブジェクト)
登録オブジェクトは、(登録アプリケーションを介し)認証制御コンポーネント208を用いて、メッセージ交換に対する論理を実行し、メッセージ交換を駆動するため、上記に説明された認証オブジェクトの一部である。登録オブジェクトの新しい例もまた、それぞれの新しいクライアントセッションに対して実例が挙げられる。上記の通信オブジェクトおよび認証オブジェクトと同様に、登録オブジェクトもまた、特定の通信メディアであり得る。登録オブジェクトのタスクが図10に示されている。図10において、制御は、ステップ1002で開始する。ステップ1002において、登録オブジェクトは、ポリシー(またはポリシーオブジェクト)をユーザのために生成する。制御は、ステップ1004に進む。
【0070】
ステップ1004において、生成されたポリシーに基づいて、登録オブジェクトは、必要な信用証明をユーザからリクエストする。この信用証明は、テンプレートとして格納される。例えば、ポリシーがユーザが指紋デバイスおよび手の紋様を測定するデバイスの両方で試験されることを必要とする場合、登録オブジェクトは、ユーザの指紋および手の紋様の生物測定をリクエストする。制御は、次に、ステップ1006に進む。
【0071】
ステップ1006において、登録オブジェクトは、ポリシーおよび信用証明(またはテンプレート)を認証サーバ202のデータベース内に格納する。図10のフローチャートは、このポイントで終了する。
【0072】
本発明の一実施形態は、上記に議論した本発明の機能コンポーネントの全てを含んでいるが、一部(または全て)のコンポーネントは、各コンポーネントの機能性が上記の本発明の範囲内に依然として存在している限り、実行され得る。
【0073】
(5.ユーザ管理コンポーネント)
本発明は、ユーザが自らの信用証明を本発明により一度に登録することを許容する。本発明は、次に、ユーザの信用証明を再利用して、一つ以上の関連する可能性がないオンラインアカウントにアクセスするために、ユーザを認証する。このオンラインアカウントは、ウェブ/アプリケーションサーバ214によって提供される。本発明によると、さらに、ウェブ/アプリケーションサーバ214によって提供される特定のユーザのオンラインアカウントに対して、ユーザは、どのポリシーおよびどの種類の鑑定デバイスがユーザを認証するために用いられるべきかを決定することができる。
【0074】
ユーザが最初に本発明に結合し得る方法は複数存在する。一つの方法は、ユーザがウェブ/アプリケーションサーバ214によって本発明の方に再び向けられることである。ここで、ウェブ/アプリケーションサーバ214は、ユーザが本発明を用いて登録すること、または、単に、ユーザに本発明を用いて登録する機会を提供することを必要とし得る。ユーザが最初に本発明に結合し得る他の方法は、ユーザが直接、本発明と接触して、どのウェブ/アプリケーションサーバ214が本発明を利用するかを決定することである。例えば、ユーザがオンラインバンキングアプリケーション/プロバイダを探しており、彼または彼女の内密のアカウント情報を保護することに関係する場合、ユーザは、実際に彼または彼女のオンラインバンキングプロバイダを、オンラインバンキングのプロバイダが本発明を利用するかどうかに基づいて選択し得る。
【0075】
本発明によると、ユーザは、自らのオンラインアカウントに対するアクセスの保護のレベルを規定することができる。本発明は、次に、それらの信用証明を再利用して、ユーザを、オンラインアカウントに関連しない一つ以上のポリシーを認証する。ユーザ管理コンポーネントは、ユーザ管理コンポーネント207を含んでいる。ウェブ/アプリケーションサーバ214によって提供された、関連する可能性のないオンラインアカウントへの認証に対するユーザの信用証明を格納および管理(およびしたがって再利用)する中心データを維持するのは、ユーザ管理コンポーネント207の機能である。
【0076】
ユーザ管理コンポーネント207は、ユーザ管理プロセスのプレゼンテーションロジックを駆動させる。ユーザ管理コンポーネント207は、認証制御コンポーネント208を介して、(複数の)ポリシーを獲得するようにウェブブラウザ212にて視聴されるウィザードおよび/またはユーザ可視HTMLページを提示することにより、ユーザとの相互作用を駆動させ得る。ポリシー((複数の)ポリシーを実行するために必要な識別デバイスを含む)は、ユーザおよびユーザ信用証明(すなわち、生物測定、パスワード等)により特定される。バックエンドにて、ユーザ管理コンポーネント207は、ポリシーを提供するように認証サーバ202と相互作用する。ポリシーは、特定のオンラインアカウントについてユーザを認証させる場合に使用される。ユーザ管理コンポーネント207は、任意の工業規格プラットフォームを用いて展開され得る。任意の工業規格フラットフォームは、Java(R) Servlets,Enterprise Java(R) Beans,ISAPI extensions,Active Server Page programs等を含むが、これらに限定されない。
【0077】
図15は、ユーザが1以上のユーザオンラインアカウントへのアクセス保護レベルを規定できるように、ユーザ信用証明および要求されたポリシーを要求し、次いで、ユーザ信用証明および要求されたポリシーを保存する本発明を示す上位のフローチャートである。工程1502において、本発明は、ウェブ/アプリケーションサーバ214により提供された特定のオンラインアカウントを用いるために、ユーザがどのポリシーを提供するかを示すことを要求する。これはまた、ユーザ判定ポリシーを実施するように用いられた識別デバイスを、ユーザが決定することを可能にする。以下でさらに述べるように、ユーザは、ユーザオンラインアカウント全てに対して同じポリシーを示し得るか、または、それぞれのアカウントに対して異なるポリシーを用い得る。ユーザオンラインアカウントは、同じウェブ/アプリケーションサーバ214または異なるウェブ/アプリケーション214により提供され得る。示された(複数の)ポリシーに基づいて、本発明は、ユーザを、ポリシーを実行するために必要とされる信用証明(例えば、生物測定、パスワード等)を供給するように誘導する。オンラインまたはウェブアプリケーションのエンドユーザ認証サービスに提供するユーザ信用証明を保存することおよび管理することは、本発明の認証および登録機能から分離されている。実際、ユーザの所望のポリシーを獲得し、次いで、所望のポリシーに基づいて、要求される信用証明を獲得するのは、認証制御コンポーネント208である。次いで、制御は、工程1504に進む。
【0078】
工程1504において、ユーザ管理コンポーネント207は、ユーザのオンラインアカウントおよびユーザ信用証明のそれぞれについてのユーザの所望のポリシーを認証制御コンポーネント208から受信する。
【0079】
工程1506において、ユーザ管理コンポーネント207は、受信されたユーザ信用証明および所望のポリシーを中心位置に保存する。認証サーバ202のデータベースは、本発明のユーザ管理機能の中心位置またはデータ中心として機能し得る。以下で詳細に述べるように、本発明を簡易化させるように、この情報が編集され得る多くの異なる方法がある。図15のフローチャートは、この点で終わる。
【0080】
本発明が、複数の無関係のウェブアプリケーションに1つのユーザを結合するように、中心的なデータ中心(central data center)にてデータを、どのように編集し得るかを以下で説明する。本発明は、IDを各ユーザに割り当て、ユーザを一様に識別する。本発明の1実施形態において、このIDは、本発明に対してユーザを一意的に識別するグローバルユニークID(またはGUDID)である。例えば、ユーザ「John Smith」が、いくつかの異なるウェブアプリケーションに関わるアカウントを有すると仮定する。これらのウェブアプリケーションは、日計り取引に対するtradeline.com、薬物処方をファイルしているdrugonline.com、および、銀行を必要とするbankonline.comを含む。これらのウェブアプリケーションそれぞれは、他のアプリケーションが存在することを潜在的に分かり得ないことを留意することが重要である。(これらが共通に有する1つのことは、ユーザがユーザのアカウントに割り当てられた保護レベルを規定することができるように、これらの全てが本発明と共に協働することである。)それゆえ、ウェブアプリケーションのそれぞれが一意的なユーザ名をJohn Smithに提供してきた。例えば、tradeonline.comは、John Smithに「jsmith.user.tradeonline.com」のユーザ名を提供し、bankonline.comは、「john1234.account.bankonline.com」のユーザ名を提供してきたと仮定する。本発明は、John SmithのGUIDに無関係のユーザ名のそれぞれをマッピングしなければならない。例示の目的のために、John SmithのGUIDは、「1234−5678−9101」であると仮定する。これが為され得る多くの方法がある。1方法は、次の表1により表示される。
【0081】
【表1】
表1に示されるように、本発明は、同じGUIDにJohn Smithのアカウントのそれぞれを同じGUIDにマッピングし得る。次いで、次の表2は、John SmithのGUIDをポリシーにマッピングするように使用され得る。ポリシーは、ユーザを認証するように用いられる。(John Smithは、自分のアカウントのそれぞれの同じポリシーを使用することを決定したと仮定したと仮定する)
【0082】
【表2】
本発明の別の実施形態において、ユーザは、自分のGUIDを知らされている。これに関する利点は、ウェブ/アプリケーションサーバ214と関わるアカウントの自分のユーザ名の代わりに、ユーザが自分のGUIDを入力できることである。もちろん、これには、GUIDを認識するいくらかのインテリジェンスを、ウェブ/アプリケーションサーバ214に必要とする。これへの利得は、表1が必要とされ得ないことである。本発明は、GUIDのポリシーを決定するように、表2に直接に辿りつけ得る。
【0083】
本発明の別の実施形態において、John Smithは、彼のアカウントのそれぞれに対して異なったポリシーを用いることを望んでいる。表3には、本発明によって、このことがどのようになされるかを示す。ここでは、上述の表2に類似した表は削除されている。
【0084】
【表3】
表2および表3のポリシーIDは、本発明によってすでに規定され、認証サーバ202のデータベースに格納されたポリシーを表す。上述したように、ユーザは、ユーザのオンラインアカウントにもかかわらず同じポリシーを示し得、または各オンラインアカウントの異なるポリシーを使用し得る。従って、GUIDはユーザポリシーと、1:1の関係またはm:nの関係を有し得る。本発明によって提供される所定のポリシーの特定の例は、ORポリシー、ANDポリシー、CONTINGENTポリシー、RANDOMポリシー、THRESHOLDポリシー、多数ユーザポリシー、多数ロケーションポリシー、多数テンプレートポリシー、ユーザ依存性ポリシー、ユーザ限定ポリシー、およびコンピュータ/デバイス特定ポリシーを含む。本発明によってさらに、管理者は、他のポリシーを規定するか、設定することができる。これらの所定のポリシーと、管理者が他のポリシーを定義または設定する方法とが、同時係属中の米国特許出願第09/264,726号および米国特許出願第09/517,121号に詳細に説明される。ユーザ管理コンポーネント207のタスクは、図13に関して、次に詳細に記載される。
【0085】
図13において、制御は工程1302で始まる。工程1302において、ユーザ管理コンポーネント207は、ウェブアプリケーションまたはオンラインアカウントのためのユーザ名を受信して、ユーザはアクセスしようと試みる。さらに、このユーザ名は、特定のウェブアプリケーションに関して、ユーザに固有のものである。次に、制御は工程1304に移動する。
【0086】
工程1304において、ユーザ管理コンポーネント207は本発明のユーザのGUIDにユーザ名をマッピングする。さらに、このことは、上述の表1などの表を利用することによってなされ得る。次に、制御は工程1306に移動する。
【0087】
工程1306において、ユーザ管理コンポーネント207は本発明のユーザのポリシー(または、ポリシーオブジェクト)にユーザのGUIDをマッピングする。さらに、このことは、上述の表2などの表を利用することによってなされ得る。次に、制御は工程1308に移動する。
【0088】
工程1308において、ユーザ管理コンポーネント207は、ユーザがオンラインアカウントまたはウェブアプリケーションに認証しようと試みるとき、用いるポリシーを認証サーバ202に示す。図13のフローチャートはこの点で終了する。
【0089】
本発明の実施形態は、上述の本発明の機能的なコンポーネントの全てを含むが、いくつか(または全て)のコンポーネントが組み合わされても、本発明の範囲から逸脱しない。
【0090】
(C.本発明の例示の実施)
(1.例示の環境)
認証サーバ202、コミュニケーションコンポーネント204、フィルタ206、ユーザ管理コンポーネント207、認証制御コンポーネント208、加入ステーション、管理ステーションおよび衛星管理ステーションは、図3に示されるようにコンピュータ300を使用して実行され得る。明らかに、1つ以上のこれらの機能的なコンポーネントは、単一のコンピュータ300上で実行され得る。
【0091】
本発明は、ハードウェア、ソフトウェア、またはそれの組み合わせを用いて実行され得、コンピュータシステムまたは他のプロセシングシステムにおいて実行され得る。実際に、1実施において、本発明は、明細書中で記載される機能性を達成できる1つ以上のコンピュータシステムに方向付けられている。コンピュータシステム300は、例えばプロセッサ304のように、1つ以上のプロセッサを含んでいる。プロセッサ304は、コンピュータバス306に接続される。多様なソフトウェアの実施形態は、この例示のコンピュータシステムの点に関して記載される。この記載を読んだ後、他のコンピュータシステムおよび/またはコンピュータアーキテクチャを用いて本発明を実現する方法は、当業者にとって明白になるだろう。
【0092】
コンピュータシステム300は、メインメモリ308、好適にはランダムアクセスメモリ(RAM)および2次メモリ310をさらに含む。2次メモリ310は、例えば、フロッピー(R)ディスクドライブ、磁気テープドライブ、光学ディスクドライブなどのハードディスクドライブ312および/またはリムーバブル格納ドライブ314を含み得る。このリムーバブル格納ドライブ314は、周知の方法で、リムーバブル格納ユニット318から読み出し、および/または、リムーバブル格納ユニット318へ書き込む。リムーバブル格納ユニット318は、リムーバブル格納ドライブ314によって読み書きされるフロッピー(R)ディスク、磁気テープ、光学ディスクなどに相当する。明確なことに、リムーバブル格納ユニット318は、コンピュータ使用可能格納媒体を含む。この格納媒体は、その中に格納されたコンピュータソフトウェアおよびデータを有している。
【0093】
別の実施形態において、セカンダリメモリ310は、コンピュータプログラムまたは他の命令がコンピュータシステム300中へロードすることができるほかの類似の手段を含み得る。このような手段は、例えば、リムーバブル格納ユニットット322およびインターフェース320を含み得る。このような例は、プログラムカートリッジおよびカードリッジインターフェース(例えば、ビデオゲームデバイスで構成されるようなもの)、リムーバブルメモリチップ(例えば、EPROMまたはPROM)および関連したソケット、ならびに、ソフトウェアおよびデータが、リムーバブル格納ユニット318からコンピュータシステム300へ送信され得る、他のリムーバブル格納ユニット322およびインターフェース320を含み得る。
【0094】
コンピュータシステム300はさらに、コミュニケーションインターフェース324を含み得る。コミュニケーションインターフェース324により、ソフトウェアおよびデータは、コンピュータシステム300と外部デバイスとの間に転送される。コミュニケーションインターフェース324の例示は、モデム、ネットワークインターフェース(例えば、イーサネット(R)カード)、コミュニケーションポート、PCMCIAスロットおよびPCMCIAカードなどを含み得る。コミュニケーションインターフェース324を介して転送されるソフトウェアおよびデータは、電気的、電磁気的、またはコミュニケーションインターフェース324によって受信されることができる他の信号になり得る信号の形式をとる。これらの信号326は、チャネル328を介してコミュニケーションインターフェースに提供される。このチャネル328は信号326を伝えて、ワイヤまたはケーブル、光ファイバー、電話線、携帯電話リンク、RFリンクおよび他のコミュニケーションチャネルを用いて実行され得る。
【0095】
本明細書において、用語「コンピュータプログラム媒体」および「コンピュータ使用可能媒体」は、概して、例えば、リムーバブル格納デバイス318、ハードディスク312にインストールされたハードディスクおよび信号326といった媒体を示すために用いられ得る。これらのコンピュータプログラム製品は、コンピュータシステム300にソフトウェアを提供するための方法である。
【0096】
コンピュータプログラム(またはコンピュータ制御論理とも言う)は、メインメモリおよび/またはセカンダリメモリ310に格納される。コンピュータプログラムはまた、コンピュータインタフェース324を介して受信され得る。コンピュータプログラムの実行時に、このようなコンピュータプログラムにより、コンピュータシステム300は、本明細書に記載されるような本発明の特徴を実施することができる。特に、コンピュータプログラムの実行時に、コンピュータプログラムにより、プロセッサ304は、本発明の特徴を実施することができる。従って、このようなコンピュータプログラムは、コンピュータシステム300の制御に相当する。
【0097】
ソフトウェアを用いて本発明が実行される実施形態において、ソフトウェアは、コンピュータプログラム製品に格納され、リムーバブル格納ドライブ314、ハードディスク312、またはコミュニケーションインターフェース324を用いてコンピュータシステム中にロードされ得る。この制御論理語(ソフトウェア)がプロセッサ304による実行時に、この制御論理語により、プロセッサ304は、本明細書に記載されるような本発明の特徴を実施することができる。
【0098】
別の実施形態において、本発明は、例えば、特定用途向け集積回路(ASIC)といったハードウェアコンポーネントを用いて、第1に、ハードウェアで実現される。本明細書に記載される機能を実施するために、ハードウェアの状態機械の実現は、当業者(単数または複数)に明白になる。さらに別の実施形態において、本発明はハードウェアおよびソフトウェアの両方の組み合わせを用いて実現される。
【0099】
(2.例示のネットワークアークテクチャおよびプログラミング言語)
上述のように、実行時のコンピュータプログラムにより、コンピュータ302は、本明細書に記載されるような本発明の機能を実施することができる。実施形態において、本発明は、オブジェクト指向のプログラミング言語で書かれるコンピュータプログラムを用いて実行される。オブジェクト指向のプログラミング言語は、プログラマーが1つのデータ構造によるデータタイプだけでなく、データ構造に利用され得る動作(機能)タイプもまた定義されるようなタイプのプログラムである。このように、データ構造は、データおよび機能を共に含むオブジェクトになる。さらに、プログラマーは、あるオブジェクトと別のオブジェクトとの間の関係を生成する。例えば、オブジェクトは、他のオブジェクトからの特徴を受け継ぎ得る。
【0100】
手続き型プログラミング技術を超えたオブジェクト指向プログラミング技術の原理的な利点の1つは、それらにより、新しいタイプのオブジェクトが追加される場合に、プログラマーが必要とされるモジュールを作成できることである。プログラマーは、既存のオブジェクトからのその多くの特徴を受け継ぐ新しいオブジェクトを容易に作成できる。これにより、オブジェクト指向プログラムを変更することを容易にする。オブジェクト指向プログラミングを実行するためには、オブジェクト指向プログラミング言語(OOPL)が必要とされる。C++およびSmalltalkは、よりポピュラーな言語の2つである。また、Pascalのオブジェクト指向バージョンもまた存在する。
【0101】
本発明の1実施形態がオブジェクト指向プログラミング言語で記述されたコンピュータプログラムを用いて実施される場合、本発明はまた、手続き型プログラミング言語等を用いて実施され得る。
【0102】
上述したように、1以上のコンピュータ302がネットワークによって接続される。本発明の1実施形態は、ピア−トゥ−ピアオブジェクトアーキテクチャと呼ばれるタイプのネットワークを用いる。ピア−トゥ−ピアオブジェクトアーキテクチャが理解される前に、クライアント/サーバアーキテクチャと呼ばれるタイプのネットワークアーキテクチャが説明される必要がある。クライアント/サーバアーキテクチャは、ネットワーク上の各コンピュータまたはプロセスがクライアントまたはサーバのどちらかであるネットワークアーキテクチャである。サーバは、ディスクドライブ(ファイルサーバ等)、プリンター(プリントサーバ)、アプリケーション/機能またはネットワークトラフィック(ネットワークサーバ)を管理するコンピュータまたはプロセスである。実際、サーバは、アプリケーションにリソースを割り当てる任意のコンピュータまたはデバイスである。クライアントは、パーソナルコンピュータまたはサークステーションであり、このパーソナルコンピュータまたはサークステーションで、ユーザがアプリケーションを使用し得る。クライアントは、ファイル、デバイスのリソースのサーバ、機能の実行および処理電力さえも依存する。
【0103】
上述したように、本発明の1実施形態は、ピア−ツゥ−ピアオブジェクトアーキテクチャと呼ばれるタイプのネットワークを用いる。ピア−ツゥ−ピアオブジェクトアーキテクチャでは、ネットワークにおける各コンピュータが等価なキャパシティおよび責任を有する。これは、いくつかのコンピュータが他のコンピュータに貢献することのみに用いられるクライアント/サーバアーキテクチャと異なる。それゆえ、本発明の1実施形態では、全てのコンピュータ302は、サーバまたはクライアントのどちらかとして動作し得る。サーバ202に保存されるエンジンおよびデータは、次に説明される。
【0104】
(D.本発明のエンジンおよびデータ)
上述のように、図2の認証サーバ202は、本発明のエンジンである。本発明の一実施形態において、ユーザが本発明によって認証されるかどうかを最終的に判定するのは、(ポリシーを実行する)このエンジンである。加えて、認証サーバ202は、本発明によってアクセスされたデータを格納する。認証サーバ202内に格納されたデータが形成され得る方法は、データベースとする方法及びディレクトリとする方法を含んでいる。データベースの形成およびディレクトリの形成の双方が、関連する同時係属中の米国特許出願第09/264,726号および米国出願第09/517,121号に詳細に記載されている。
【0105】
さらに、認証サーバ202内に格納された種々のデータの集合は、管理者が認証サーバ202を最初にセットアップし得る、典型的なステップのシーケンスに沿って、関連する同時係属米国特許出願第09/264,726号および米国出願第09/517,121号に詳細に記載されている。認証サーバ202内に格納された典型的なデータは、テンプレート、ポリシー(またはポリシーID)、グループ、デバイスID、ユーザID、コンピュータIDおよびアプリケーションIDを含んでいる(ただし、これらに限定されない)。付加データは、ウェブアプリケーション用のユーザ独自のユーザネームをユーザのGUIDに、その後、ユーザを特定するポリシーにマッピングする一つ以上のテーブルを含み得る。
【0106】
一つ以上の唯一のテンプレートは、ユーザが異なる識別デバイス上に登録する各回毎に、認証サーバ202に形成され、且つ、格納される。テンプレートは特定の生物測定デバイスに対するユーザ独自の測定値(これは、次に、デバイスがユーザを識別することを試みている場合に、ユーザの「生きた」測定値に対してマッチングするために用いられる)または非生物デバイス用のパスワード等を格納する。
【0107】
本発明のポリシーは、ユーザが認証サーバ202によって認証されることになっている方法または方式を判定する。本発明によって提供された事前に規定されたポリシーの具体例としては、ORポリシー、ANDポリシー、CONTENGENTポリシー、RANDOMポリシー、THRESHOLDポリシー、多数ユーザポリシー、多数ロケーションポリシー、多数テンプレートポリシー、ユーザ依存ポリシー、ロケーション制限ポリシー、およびコンピュータ/デバイス固有のポリシーが含まれる。本発明は、さらに、管理者が他のポリシーを規定または形成することを許容する。
【0108】
各事前規定されたポリシーは、そのポリシーに関連したデバイスのリストを有している。デバイスのリストは、特定のポリシーを実行するために用いられている識別デバイスを確認する。デバイスのリスト内の各デバイスは、関連する閾値およびタイムアウト値(これは、生物測定デバイスに関して典型的に真である)を有し得る。閾値(例えば、偽である容認レート)は、ユーザがデバイスを通過するために、デバイスが判定しなければならない識別レベルを示す。タイムアウト値は、デバイスがユーザを、閾値によって確認される識別レベルまで確認しなければならない時間を示す。
【0109】
本発明内のグループは、ウェブ/アプリケーションサーバ214上に格納された同じセットの情報にアクセスする必要がある、一以上のユーザを結びつける論理的な方式である。例えば、インターネット内の全てのユーザが、ユーザが株式を取引することを許容するオンラインアプリケーションのログインページをアクセスすることが許容され得る。同じオンラインアプリケーションに対して、ユーザおよびそのユーザによって特定される他のユーザのみが、ユーザ内密の情報にアクセスすることを許容されたグループ内に存在する。したがって、グループの一つが「USR24458グループ」として規定され得る。ここで、ユーザが「USR24458グループ」に入れられた場合、該当するユーザ(一旦、本発明によって認証される)は、「USR24458グループ」内の全ての他のユーザと同じリソースにアクセスする。
【0110】
各ユーザは、一つ以上のグループに入れられ得る。ユーザが、特定のグループ内の情報にアクセスを得ること試みる場合、ユーザは、特定のグループに関連するいずれかのポリシーによって認証されなければならない。
【0111】
デバイスIDは、識別デバイスを確認する。各識別デバイスは、独自IDを有している。このため、デバイスIDの集合は、本発明が、インターネット内の通信プロトコル可能クライアント(ウェブブラウザ)に接続された各識別デバイスを独自に確認する許容する。同様に、ユーザIDは、本発明を利用しているユーザを独自に確認する。ユーザを認証し、遠隔からユーザを登録するための、本発明のコンポーネント間のメッセージの流れは、次のセクションEおよびセクションFにおいて、それぞれ記載される。
【0112】
(E.本発明による認証のためのコンポーネント間のメッセージフロー)
図11は、本発明の実施形態による、ウェブブラウザ212を用いてユーザを認証するための、本発明のコンポーネント間の高水準メッセージフローを示す。ユーザが、本発明のサービスを利用しているウェブサイトまたはウェブアプリケーションにアクセスしようと試みる場合、登録プロセス中に、このユーザは、ユーザがすでに登録している「ユーザ名」を入力するよう促される。フロー線1102で示されるように、この「ユーザ名」がフィルタ206に送られる。
【0113】
フィルタ206が「ユーザ名」を受け取ると、フィルタ206は、フロー線1104で示されるように、データベースに格納されているその「ユーザ名」のポリシーおよびテンプレート(または認定書)を取り出すためのリクエストを、認証サーバ202に(通信コンポーネント204を介して)送る。
【0114】
認証サーバ202は、フロー線1106で示されるように、「ユーザ名」のポリシーおよびテンプレートを取り出し、それらを(通信コンポーネント204を介して)フィルタ206に返す。
【0115】
ポリシーおよびテンプレートに基づいて、フィルタ206は、フロー線1108で示されるように、ユーザにユーザの認定書を示すように要求する。ここで、認証制御コンポーネント208は、ユーザを任意の必須生物測定獲得/マッチングプロセスへと導く。
【0116】
その後、認証制御コンポーネント208は、フロー線1110で示されるように、測定結果をフィルタ206に送る。フィルタ206は、フロー線1112で示されるように、これらの測定結果を(通信コンポーネント204を介して)認証サーバ202に転送する。
【0117】
次いで、ユーザのポリシーに基づいて、認証サーバ202は、ユーザが要求する特定の情報にアクセスするために、マッチングが十分良好であったか、または、(複数のファクタによる認証またはポリシーの場合と同様に)さらなる認定書を必要とするかを判定する。複数のファクタによる認証が必要な場合には、フロー線1106〜1112が、必要に応じて何度も繰り返される。
【0118】
認証サーバがユーザのポリシーを実行し、ユーザが認証されたかどうかを判定することができると、通信コンポーネント204は、フロー線1114で示されるように、結果をフィルタ206に転送する。ここで、ユーザが認証されると、フィルタ206は、ウェブ/アプリケーションサーバ214と対話して、ユーザに、ユーザが要求する情報にアクセスすることを許可する。
【0119】
ユーザは、そのセッション中(すなわち、ユーザがウェブブラウザ212を閉じるまで)、ウェブアプリケーションまたはウェブサイトを使用することができる。したがって、フィルタ206によって、フロー線1116で示されるように、ユーザは、自身が要求する情報にアクセスすることを許可されるか、または、拒否される。本発明の遠隔登録のためのコンポーネント間のメッセージフローを次に説明する。
【0120】
(F.本発明による遠隔登録のためのコンポーネント間のメッセージフロー) 図12は、本発明の実施形態による、ウェブブラウザ212を用いてユーザを遠隔登録するための、本発明のコンポーネント間の高水準メッセージフローを示す。遠隔登録のためのメッセージフローは、認証のためのメッセージフローと極めて類似している。登録アプリケーションは、ユーザとの対話を管理する。登録アプリケーションそのものを用いてユーザを認証する場合、本発明によるいくつかの技術が用いられ得る。例えば、アプリケーションまたはウェブサイトにアクセスするために、今日ユーザが用いる既存のユーザ名とパスワードとの組み合わせが使用され得る。別の例では、ユーザ用に生成され、ユーザに(電子的またはその他の方法で)送られ得る1回限りのパスワードまたはPINである。いずれの場合にも、(図10を参照して上述したように)登録オブジェクトは、ユーザの認証を1回だけ行って、その後、ユーザのコンピュータに認証制御コンポーネント208をダウンロードする。
【0121】
図12を参照して、ユーザは、フロー線1202で示されるように、1回限りのパスワードまたはPINをフィルタ206に発信する。
【0122】
次いで、フィルタ206は、フロー線1204で示されるように、登録オブジェクトによってユーザを1回だけ認証することを要求する。
【0123】
フロー線1206で示されるように、1回だけの認証結果をフィルタ206に返す。
【0124】
フィルタ206は、フロー線1208で示されるように、この要求を認証制御コンポーネント208に転送する。
【0125】
認証制御コンポーネント208は、フロー線1210で示されるように、(登録アプリケーションを介して)ユーザから必須の生物測定を獲得し、その後、この獲得結果をフォイルタ206に知らせる。
【0126】
その後、この獲得結果は、フロー線1212で示されるように、フィルタ206から登録オブジェクトに転送され、認証サーバ202に結果が格納される。本発明では、この時点でユーザが登録される。本発明のコンポーネントAPIおよび拡張性を次に説明する。
【0127】
(G.本発明によるユーザ管理のためのコンポーネント間のメッセージフロー)
図14は、本発明の実施形態による、ウェブブラウザ212を用いてユーザに統合型認証サービスを提供するための、本発明のコンポーネント間の高水準メッセージフローを示す。ユーザが、本発明のサービスを用いているウェブ/アプリケーションサーバ214によって提供されたアカウントにアクセスを試みる場合、ユーザは、そのアカウントに対してユーザが登録した「ユーザ名」(例えば、「jsmith.user.tradeonline.com」)を入力するよう促される。この「ユーザ名」は、フロー線1402で示されるように、フィルタ206に送られる。
【0128】
フィルタ206が「ユーザ名」を受け取ると、フィルタ206は、フロー線1404で示されるように、「ユーザ名」をユーザ管理コンポーネント207に転送する。ここで、ユーザ管理コンポーネント207は、ユーザを認証するために使用するGUIDおよびポリシー(これは、ポリシーを実行するに必要な任意の必須識別デバイスを含む)を決定する。
【0129】
その後、ユーザ管理コンポーネント207は、フロー線1406で示されるように、ポリシーを認証サーバ202に転送する。
【0130】
次いで、認証サーバ202は、フロー線1408で示されるように、ユーザ管理コンポーネント207によってその認証サーバ202に提供されたポリシーを用いて通常通りの認証を行う。
【0131】
(H.本発明のコンポーネントAPIおよび拡張性)
サーバ側コンポーネント(すなわち、認証サーバ202および通信コンポーネント204)、フィルタ206および登録アプリケーションは、ウェブを作動させるクライアントに良好に規定されたインターフェースを提示する。これらのインターフェースは、HTTP GETまたはPOST法を用いて要求され得るURLのセットからなる。APIおよびそれに関連する以下に示す規約は、これらの対話をどのように実現するか示す単なる例示にすぎない。これらの例は、本発明を制限することを意図していない。すべてのURLリクエストは、以下の構文に従う必要があり得る。
METHOD HTTP法のタイプであり、GETまたはPOSTであり得る
HEADER HTTPのヘッダであり、フォーマットは名前=値である
BODY HTTPリクエストの本体であり、一連の名前=値の対、バイナリデータまたはその両方であり得る
<foobar> 任意の要素を定義する
foo/bar 「foo」または「bar」を定義する。
【0132】
サーバ側コンポーネント、フィルタ206および登録アプリケーションは、特定のフォーマットのリクエストを要求する。これらのリクエストに対する応答もまた、特定のフォーマットに従う。これにより、拡張型アーキテクチャが可能となり、新たなウェブを作動させるサービスを既存の設備につなぐことができる。BNFは「バッカス記法」の略称である。このBNFは、プログラミング言語、コマンドセット等の構文を特定するために用いられるメタ構文法である。以下は、本発明のリクエストのBNFである。これは、作成されるべきオブジェクトのタイプ、および、そのオブジェクトに送られるデータのIDを含む。
【0133】
【数1】
ここで、上述の同じ方法を用いれば、URLSの異なるセットにも関わらず、他のウェブ機能を認証サーバ202に追加可能にするといったアーキテクチャの拡張を容易に行うことができる。他の機能のこのような例は、認証サーバ202の遠隔管理を含む。
【0134】
(I.結論)
本発明の種々の実施形態を上述してきたが、これらの実施形態は例示を目的としており制限するものではないことを理解されたい。当業者であれば、本発明の意図および範囲から逸脱することなく、実施形態における形態および細部の種々の変更が為され得ることを理解する。このことは、後に発展し得る関連分野における技術および用語を考慮した場合に特に当てはまる。したがって、本発明は、上述の例示的な実施形態のいずれによっても制限されるのではなく、上掲の特許請求の範囲およびその均等物によってのみ規定されるべきである。
【図面の簡単な説明】
【図1】
図1は、インターネットに接続された複数のクライアントおよびサーバを示すネットワークのブロック図である。
【図2】
図2は、本発明の実施形態における動作環境の例を示すブロック図である。
【図3】
図3は、本発明の実施形態における実施コンポーネントとして用いられ得るコンピュータの例を示す。
【図4】
図4は、本発明の実施形態における、通信プロトコルが無線通信プロトコルであるときに要求される必要な機能を実行する通信コンポーネントを示す。
【図5A】
図5Aは、本発明の実施形態における、通信プロトコルがローカルネットワークまたはイントラネット用であるときに要求される必要な機能を実行する通信コンポーネントを示す。
【図5B】
図5Bは、本発明の実施形態における、通信プロトコルがインターネット用であるときに要求される必要な機能を実行する通信コンポーネントを示す。
【図6】
図6は、本発明の実施形態における認証機能の傾聴(listen)オブジェクトのタスクを示す。
【図7】
図7は、本発明の実施形態における認証機能のコム(comm)オブジェクトのタスクを示す。
【図8】
図8は、本発明の実施形態における認証機能の認証オブジェクトのタスクを示す。
【図9】
図9は、本発明の実施形態における遠隔登録機能の傾聴オブジェクトのタスクを示す。
【図10】
図10は、本発明の実施形態における遠隔登録機能の登録オブジェクトのタスクを示す。
【図11】
図11は、本発明の実施形態における、ユーザがウェブブラウザを使用することを認証するための本発明のコンポーネント間のハイレベルメッセージフローを示す。
【図12】
図12は、本発明の実施形態における、ウェブブラウザ212を用いるユーザの遠隔からの登録のための本発明のコンポーネント間のハイレベルメッセージフローを示す。
【図13】
図13は、本発明の実施形態におけるユーザ管理コンポーネントのタスクを示す。
【図14】
図14は、本発明の実施形態における、ウェブブラウザを用いるユーザ管理のための本発明のコンポーネント間のハイレベルメッセージフローを示す。
【図15】
図15は、本発明の実施形態における、ユーザ資格を要求し、次にユーザ資格を格納し、ユーザが1つ以上のユーザのオンラインアプリケーションアカウントへのアクセスの保護のレベルを定義することを可能にするためのポリシーを要求する本発明を示すハイレベルフローチャートである。
(発明の背景)
(発明の分野)
本発明は概して情報へのアクセスを制御するためのシステム、方法およびコンピュータプログラム製品に関し、より詳細には、1つ以上のオンライン(またはウェブ)アプリケーションの登録されたエンドユーザを設定するアプリケーションサービスプロバイダー(ASP)における統合された認証サービスを提供する。
【0002】
(関連技術)
現在の経済にとって高速な情報へのアクセスおよび交流が重要であることは決して大げさなことではない。このことは、インターネット、イントラネット、情報の無線交流等の人気の急激な上昇を説明する。インターネットは、量が増大する情報また改変する情報に電気的にアクセスするために用いられ得る相互接続されたコンピュータネットワークのワールド−ワイドセットである。今日のインターネットは、公開された情報または機密でない情報へのアクセスまたは交流において特によく動作する。
【0003】
インターネット上の情報へアクセスする1つの方法は、World Wide Web(wwwまたは“web”)として知られている。ウェブは、分配するハイパーメディアシステムであり、クライアントサーバをベースとする情報提示システムとして機能する。ウェブは、Hyper Text Markup Language(HTML)と呼ばれる言語にフォーマットされたドキュメントをサポートする。HTMLドキュメントは、グラフィック、オーディオ、ビデオファイル等だけでなく他のドキュメントへのリンクもサポートする。さらに、HTMLは、ウェブページがどのようにフォーマットされ表示されるかを制御する。コンピュータユーザは汎用コンピュータ(“クライアント”と呼ぶ)を使用し、ページのユニフォームリソースロケーター(URL)を特定することにより、ウェブ(またはHTML)にアクセスし得る。図1は、インターネットに接続された複数のクライアントおよびサーバを示すネットワークブロック図である。
【0004】
インターネットの人気には、インターネットがオファーしなければならない事項をいかなるユーザでも利用することが可能となるように開発されているツールおよびプロトコルの一部の貢献により得る。これらはウェブブラウザ、HTTP、S−HTTP、クッキーおよびSSLを含むが、これらに限定されない。これらのそれぞれは以下でより詳細に述べられる。
【0005】
ウェブブラウザは、ユーザがウェブページを見付け表示することを簡単にするソフトウェアアプリケーションである。ウェブブラウザの例としては、Netscape NavigatorおよびMicrosoft Internet Explorerがある。本明細書中で開示するように、ウェブブラウザはイネーブルされたクライアントとの通信プロトコル(communication protocol−enabled client)の一例である。イネーブルされたクライアントとの通信プロトコルの他の例は、TCP/IPクライアントおよび無線クライアントであるが、これらに限定されない。
【0006】
ウェブにおいて用いられる通常のプロトコルは、Hyper Text Transfer Protocol(HTTP)である。HTTPは、メッセージがどのようにフォーマットされ送信されるか、およびウェブサーバおよびブラウザが様々なコマンドに応答してどのように動作するかを定義する。例えば、ユーザが彼(または彼女)のブラウザにURLを入力する場合、これはHTTPコマンドをウェブサーバに実際に送信し、要求されたウェブページをフェッチし送信するよう指令する。
【0007】
HTTPは、無国籍プロトコルと呼ばれる。なぜなら、各コマンドは、各コマンドの前または後にくるコマンドの知識無しに独立に実行されるからである。このことは、ユーザの入力に聡明に応答するウェブサイトを実行することがなぜ難しいかということに対する1つの理由である。HTTPのこの特徴は、ActiveX、Java(R)、Java(R)Scriptおよびクッキーを含むHTTPを相補する複数の新しい技術において対応されている。
【0008】
例えばクッキーは、ウェブサーバによってウェブブラウザに提供されるメッセージである。クッキーは、サーバ側の接続がユーザ側の接続上において情報を格納および読み出すことの両方に用いられることが可能な一般的なメカニズムである。これは、単純に、持続的にクライアント側の状態がウェブベースのクライアント/サーバアプリケーションの能力を顕著に伸ばすことを付加する。
【0009】
サーバはまた、HTTPオブジェクトがユーザに戻されるとき、ユーザが格納することになる状態情報の一部を送信し得る。状態オブジェクトはその状態が正当であるURLの範囲の説明を含む。その範囲内においてユーザによって作られる将来のいかなるHTTPの要求も、ユーザからサーバに戻る状態オブジェクトの現在の値の送信を含むことになる。状態オブジェクトはクッキーである。この単純なメカニズムは、新しい型のアプリケーションのホストをイネーブルにし、ウェブをベースとする環境について書き込むパワフルなツールを提供する。ショッピングアプリケーションは、現在選択されたユーザアイテム、料金サービスが登録された情報を送り返し得、次の接続時にユーザがユーザネーム(またはユーザID)を再び入力することから解放すること、サイトがユーザーコンピューター上のユーザ毎の好みを格納し、ユーザがそのサイトに接続されているときのいつでもそれらの好みを提供すること等についての情報を格納し得る。
【0010】
ウェブ上で用いられる他の通常のプロトコルは、Secure Sockets Layer(SSL)プロトコルである。SSLは、インターネットを介してプライベートドキュメントを送信するために用いられるプロトコルである。SSLは、特定のセッションのためのウェブブラウザのみが知っているプライベートセッションキーを使用することにより動作する。セッションキーは各セッションにおいて変化する。セッションキーはSSL接続を介して送信されるデータを暗号化するために用いられる。多くのウェブサイトは、SSLプロトコルを使用してクレジットカードナンバーのような秘密のユーザ情報を入手する。
【0011】
ウェブ上で安全にデータを送信するための他のプロトコルはSecure HTTP(S−HTTP)である。SSLはどのような量のデータでも安全に送信することが出来るようにクライアントとサーバとの間の安全な接続をつくるのに対し、S−HTTPは個々のメッセージを安全に送信できるように設計されている。従って、SSLおよびS−HTTPは、競合技術よりもむしろ相補的であると見ることが出来る。
【0012】
上述のように、現在の経済にとって高速な情報へのアクセスおよび交流が重要であることはけっして大げさなことではない。インターネットの人気は上述のウェブブラウザおよび様々なプロトコルを介して上昇している。(インターネットおよび無線通信の人気もまた、それぞれに対して特定であるプロトコルを介して上昇している)。インターネットを介した秘密でない情報の高速な交流はユーザによく役立っている。しかしながら、そこにはいくつかの問題が存在する。1つの問題は、インターネットを介した秘密の情報の保護である。他の問題は、ユーザがオンライン(またはウェブ)アプリケーションに申し込んで使用するときに、ユーザのインターネットを介した秘密の情報が秘密であることについての個々のユーザの快適なレベルを満足させることである。
【0013】
ユーザの快適なレベルを満足させることの重要性は、秘密のユーザ情報へのアクセスまたは交流を必要とするインターネットを介してユーザへ提供されるアプリケーションまたはサービスとして高まっている。例えばそのようなアプリケーションまたはサービスは、ビジネス−ビジネスおよびビジネス−消費者−電子商取引、銀行、株式取引、買い物、個人コンテンツウェブサイトのようなオンラインアプリケーション等である。悪質なユーザへの秘密の情報の提供をさけるために、ユーザ(またはウェブブラウザのような通信プロトコルの使用可能なクライアント)は、ウェブアプリケーションにユーザがアクセスする前に認証する必要がある。簡単な情報へのアクセスおよび交流は全てのユーザにとって魅力的であり、ほとんどのユーザはまた、インターネット、イントラネット、無線ネットワーク等を介してアクセス可能なユーザの秘密の情報の安全性に対して関心を持っている。
【0014】
情報へのアクセスおよび交流のためのインターネットの人気の上昇を相殺しないようにするために、情報のインターネットプロバイダは、十分な秘密の情報の保護と、インターネット上の簡単な情報へのアクセスおよび交流とのバランスをとる必要がある。さらに、ウェブアプリケーションの登録されたユーザは、十分なユーザの満足レベルの達成を確実にするために、ウェブアプリケーションによって管理されるユーザアカウントに提供される保護レベル上のいくつかの制御を行うべきである。また、ユーザは登録(すなわち彼または彼女への資格の提供)を一回のみ行うべきであり、その後これらの資格は全てのユーザのアカウントの認証に再利用されるべきである。
【0015】
(発明の要旨)
情報へのアクセスを制御するシステム、方法およびコンピュータプログラム製品、より詳細には、1つ以上のオンラインアプリケーションの登録されたエンドユーザを設定するアプリケーションサービスプロバイダ(ASP)における統合された認証サービスを提供する。
【0016】
通信媒体を介してユーザが要求する情報にアクセスするように設定するASPにおいて、遠隔から登録し、認証し、統合された認証サービスを提供するシステムは、クライアント側コンポーネントを含む。また、システムに含まれるものとしては、通信媒体を介してクライアント側コンポーネントに接続されたフィルタ、および通信媒体を介してクライアント側コンポーネントに接続されたユーザ管理コンポーネントがある。ユーザ管理コンポーネントは、エンドユーザの資格の登録を1回とすることを可能にする。さらに、ユーザ管理コンポーネントは、エンドユーザが彼らのウェブアプリケーションアカウントへのアクセスの保護のレベルを定義することを可能にする。これは、特に本発明において用いられる構成であるアカウント、特定のユーザ資格、および引き続いてセットアップされるが同じユーザ資格を用いる構成であるアカウントを含むが、これに限定されない。次に、本発明は、それらの資格を再利用し、1つ以上の潜在的な関係のないウェブアプリケーションへのユーザの認証を行う。
【0017】
システムはまた、通信媒体を介してフィルタおよびユーザ管理コンポーネントに接続されたサーバ側コンポーネントを含む。クライアント側コンポーネントは、ユーザ資格をキャプチャするプロセスを管理し、キャプチャプロセス結果をフィルタへ通信する、認証制御コンポーネントを含む。サーバ側コンポーネントは認証サーバを含む。認証サーバは、複数のユーザに関するデータおよびユーザに関する少なくとも1つのポリシーを格納する。ユーザポリシーは認証レベルを定義し、認証レベルはユーザが要求された情報へのアクセスが許可される確率を定義する。さらに、認証サーバはフィルタからユーザ資格を受取り、ユーザポリシーを実行することによりユーザを認証することを試み、ユーザが認証されたかどうかについてフィルタへ通信する。最後に、フィルタは、一旦ユーザが認証サーバによって認証されると、要求された情報を含むサーバと相互に作用する。
【0018】
ユーザの遠隔からの登録を可能にするために、本発明は、認証制御コンポーネントおよび登録アプリケーションを含むクライアント側コンポーネントを提供する。登録アプリケーションは、ユーザ資格を提示するときに、ユーザと相互に作用するプレゼンテーションロジックの運用について責任がある。認証制御コンポーネントは、ユーザ資格をキャプチャするプロセスの管理およびキャプチャプロセスの結果のサーバ側コンポーネントへの通信について責任がある。
【0019】
本発明は、添付の図面を参照して説明される。
【0020】
(好適な実施形態の詳細な説明)
A.発明の概要
本発明の発明者は、インターネットのような通信媒体を介した、エンドユーザによって定義される秘密の情報の保護と、同じ秘密の情報への容易なアクセスとの効果的なバランスを実現する解決方法が無かったことを認めた。本発明はインターネットを参照して開示されるが、本発明はインターネットに限定されることを意味しないことを留意しておくことが重要である。本発明はまた、イントラネット、無線ネットワーク等に適用される。
【0021】
上述の問題についての本発明の全般的な解決方法としては3つある。第1には、インターネット上において有効な秘密の情報を保護することが可能な識別デバイスを適切に用いることである。
【0022】
第2には、適切な識別デバイスを用いて、インターネットでアクセス可能な(またはウェブ)アプリケーションおよび/または秘密の情報を管理するサービスへのユーザの効果的な認証を提供する、システム、方法およびコンピュータプログラム製品を提供することである。
【0023】
第3には、ウェブアプリケーションの登録されたエンドユーザが、彼らのアカウントへ提供される保護のレベルについてのいくつかの制御を有することを可能にし、適切なユーザの快適なレベルを実現することを確実にすることである。この要求は、全てのユーザ資格を中核的に格納し管理することを補助するユーザ管理アプリケーションを提供する。ユーザ管理アプリケーションは、エンドユーザを満足させ、ユーザの1回の登録(すなわち、彼または彼女の資格を提供すること)を可能にし、1つ以上のウェブアプリケーションの認証のために格納された資格が再使用されるように機能する。例えば、ユーザ“Jane”は、discount vacation.comと呼ばれる割引された休暇のパッケージを申し込むサービスのアカウントと、bankonline.comと呼ばれるオンライン銀行機関のアカウントとを有するとみなす。Janeは割引された休暇のパッケージを示す彼女のアカウントよりも、彼女のオンラインバンキングアカウントへのアクセスについてより高いレベルの認証を望むことが予想される。従って、Janeは、彼女に指紋スキャナー、音声認識システムおよび顔認識システムをパスさせて彼女のアカウントへアクセスさせることを要求するポリシーを伴う彼女のオンラインバンキングアカウントの保護を決定し得る。それに対し、Janeは、彼女の割引された休暇のパッケージアカウントの保護は指紋スキャナを伴うことのみを望み得る。Janeは、本発明によって、指紋測定、音声測定および顔測定を含む、彼女の資格の1回の提供を要求される。その後、彼女の指紋測定は、彼女のオンラインバンキングアカウントおよび彼女の割引された休暇のアカウントの両方へのアクセスに再使用される。
【0024】
1つの実施形態において、本発明は、アプリケーションサービスプロバイダ(ASP)において実行される。概して、ASPは、中央データセンターからのワイドエリアネットワークを介したソフトウェアをベースにしたサービスおよび顧客の問題解決方法の管理および分配を行う第三者的存在である。
【0025】
問題解決方法は、現在インターネットにより供給される容易で高速な情報のアクセスおよび交流に関するインターネットの人気を減少させてはいけない。より詳細には、本発明のシステムのアーキテクチャは、通信プロトコルのイネーブルされたクライアントの資格の遠隔からの登録のみでなく、認証された通信プロトコルのイネーブルされたクライアントのためのクロスプラットフォーム、ハイパフォーマンス、拡張性、高い拡張性のある問題解決方法を有さなければならない。
【0026】
秘密の情報についての不適切な認証、および不適切な保護により、10億ドルが、数千のE−コマースビジネス、インターネットデータコンテンツプロバイダ等において失われている。多くのユーザは、インターネットを介してユーザの秘密の情報がアクセス可能であることについて満足していない。従って、秘密の情報と関係する場合、これらのユーザは簡単に使えるインターネットをあきらめ得、より伝統的なタイプの、インターネットでアクセス不可能なビジネスおよびサービスという手段をとる。
【0027】
今日、登録されたユーザの資格についてのようなウェブアプリケーションの制御は、彼または彼女のアカウントにアクセスするために提供されなければならない。ほとんどのウェブアプリケーションにおいて、要求される資格は僅かである。例えば、ほとんどのウェブアプリケーション/サービスは、ユーザをユーザネームおよびパスワードのみによって認証している。他の識別デバイスは、スマートカード、トークンおよび様々なバイオメトリックデバイス(例えば、指紋スキャナ、音声または顔認識システム等)を含むがそれに限定されない。さらに、ほとんどのウェブアプリケーションは、パスワードのみを含む“シングルサインオン”と呼ばれるプロセスを取り入れることにより、コストおよび秘密のデータの保護の複雑な運営を削減している。
【0028】
シングルサインオンは、各ユーザに、1回のパスワード入力で(公的または秘密でない情報および秘密の情報を含む)全てのウェブアプリケーションリソースにアクセスすることを提供する。ほとんどのユーザは、1つのパスワードを書き残すことなく覚えることができる。この情報保護の運営の複雑さおよびコストを削減することで、ユーザの情報へのアクセスの取得が信頼性のあるものであることの可能性が削減される。パスワードを用いたシングルサインオンが秘密でない情報にアクセスするユーザの認証として受け入れられている間、パスワードを用いたシングルサインオンは、他のタイプの情報に追加して秘密の情報にアクセスするユーザの認証として受け入れられない。ユーザのアクセスの取得が信頼性のあるものであることの可能性は、異なるタイプの情報(例えば、秘密の情報と秘密でない情報)へのアクセスについて複数のパスワード、複数のトークン、複数のスマートカードまたは複数のバイオメトリックデバイスを用いることを各ユーザに強制することにより上昇させることが出来る。
【0029】
B.システムアーキテクチャの概要
図2は、本発明の動作環境の一例を示すブロック図である。図2に示す動作環境の例は説明のみを目的としたものであり本発明を限定するものではないことを理解されたい。本明細書中で開示される動作環境の他の実現は、本明細書中に含まれる教示に基づいて当業者には明らかであり、本発明はそのような他の実現も対象にする。図2を参照して、認証サーバ202、通信コンポーネント204、フィルタ206、ユーザ管理コンポーネント207、認証制御コンポーネント208、デバイス特定コンポーネント210、ウェブブラウザ212および1つ以上のウェブ/アプリケーションサーバ214が開示される。
【0030】
本発明の実施の形態における機能的モジュールまたはコンポーネントは、認証サーバ202、通信コンポーネント204、フィルタ206、ユーザ管理コンポーネント207および認証制御コンポーネント208を含む。本発明のコンポーネントはそれぞれ、以下のものを含むカテゴリに分類される:クライアント側コンポーネント、フィルタコンポーネント、ユーザ管理コンポーネント、サーバ側コンポーネントおよび遠隔登録コンポーネント。認証サーバ202および通信コンポーネント204は、サーバ側コンポーネントに分類される。デバイス特定コンポーネント210およびウェブブラウザ212に加えて認証制御コンポーネント208は、クライアント側コンポーネントに分類される。フィルタ206は、フィルタコンポーネントに分類される。ユーザ管理コンポーネント207はユーザ管理コンポーネントに分類される。最後に、認証制御コンポーネント208および通信コンポーネント204は、遠隔登録コンポーネントに分類される。
【0031】
本発明の1つの実施形態において、サーバ側コンポーネントおよび遠隔登録コンポーネントは、独立したプラットフォームとして設計され、それらとの通信がスタンダードで公開されたプロトコル(例えば、HTTPプロトコル(RFC 2068))を介して実施されることのみを要求する。認証制御コンポーネント208は、クライアント側コンポーネントおよび遠隔制御コンポーネントの両方に分類されることに留意されたい。さらに、通信コンポーネント204は、サーバ側コンポーネントおよび遠隔制御コンポーネントの両方に分類される。本発明の異なる分類(または機能)におけるこれらのコンポーネントの再使用は、オブジェクト指向型プログラミング言語におけるコンポーネントの実行の結果である。
【0032】
いくつかのオブジェクト指向型プログラムの利点は、新しいタイプのオブジェクトが追加されたときに変更する必要の無い(機能を実行する)モジュールをプログラマーが作ることを可能にすることである。オブジェクトは、タスクを実行することが要求されるデータおよび機能の両方を含む。従って、オブジェクトとして本発明のコンポーネントによって実行される機能の実施により、作られたモジュールは、新しいタイプのオブジェクト(または機能)が追加されたときに変更する必要が無い。この本発明の実施は複雑さを低減し、従って、能率を向上させる。本発明のカテゴリ(およびそれらそれぞれのコンポーネント)は次に開示される。
【0033】
(1.サーバ側のコンポーネント)
上述のように、認証サーバ202および通信コンポーネント204は、サーバ側のコンポーネントとして分類されている。認証サーバ202は、通信コンポーネント204(図2参照)に接続されている。認証サーバ202は、関連の同時係属中の米国出願第09/264,726号および米国出願第09/517,121に詳細に記述されている(上記「関連出願へのクロス・リファレンス」を参照)。便宜のため、以下、認証サーバ202は簡単に記述されている。
【0034】
認証サーバ202は、本発明のエンジンであり、本発明によって必要とされるデータの集合を格納する。認証サーバ202内のエンジンの機能および格納されたデータの双方が以下にさらに詳細に議論される。認証サーバ202に格納されたデータの種類が登録ステーションおよび管理ステーション(図示せず)の動作を通して部分的に判定される。登録ステーションは、本発明によって認証されることになっているユーザを登録するために用いられる。登録ステーションは、本発明がユーザを登録および最終的には認証するために用いる全種類のデバイス(例えば、指紋スキャナのような生物測定デバイス、音声または顔認識システム等、または、RSKトークン、VASCOトークン等のセキュリティトークンその他)に取り付けられている。ユーザが本発明に登録される場合、ユーザは、管理上の判断に必要となるできるだけ多くのデバイスに登録され得る。
【0035】
管理ステーションは、本発明の管理者が管理任務全般を行うために用いられる。管理者は、さらに、種々のリポートを作成するために管理ステーションを使用し得る。リポートは、認証サーバ202に格納された異なるタイプのデータのリスト(例えば、本発明において現在登録されているユーザのリスト)を含む場合がある。加えて、管理ステーションは、典型的には、認証サーバ202内のイニシャルデータをセットアップするために用いられる。
【0036】
本発明によって使用され得る他のコンポーネントとしては、同じく図2に図示しないサテライト登録ステーションがある。サテライト登録ステーションは、遠隔位置でユーザを本発明に登録するために用いられる。サテライト登録ステーションは、管理ステーションと同様に、多くのデバイスが取り付けられるようにしてもよいが、代替的に、管理ステーションをスケールダウンしたバージョンであってもよい。以下に詳細に記載するように、本発明を用いると、ウィブブラウザ(すなわち、クライアントに与えられた通信プロトコル)は、遠隔登録ステーションとして作用することができる。
【0037】
認証サーバ202は、さらに、図2において図示しない認証コンポーネント(すなわち、認証オブジェクト)を含んでいる。認証コンポーネントは、通信コンポーネント204と相互に影響し合って、ユーザの認証を行うために必要な機能を提供する。認証コンポーネントは、以下、より詳細に記載される。
【0038】
本発明の遠隔登録コンポーネントを参照して記載されるように、認証サーバ202は、さらに、通信コンポーネント204と相互作用して遠隔登録を行うための必要な機能を提供する登録コンポーネント(図2において図示せず)を含む。
【0039】
上述したように、認証サーバ202は、通信コンポーネント204に接続されている。通信コンポーネント204は、(以下に説明する)監視(listen)オブジェクトおよびコム(comm)オブジェクトを含む、特定の機能を行う異なる種類のオブジェクトを含んでいる。これらの種類のオブジェクトは、ユーザが認証されることを試みた場合に本発明によって必要な通信を提供するために用いられる。上述のように、本発明は、インターネット等の通信メディアを介した内密の情報の保護および同じ内密の情報へのアクセスの容易さの平衡を効果的に保たせる解決方法を提供する。本発明がインターネットを参照して記載される場合、本発明を制限することを意味しないことに留意することは重要である。本発明は、さらに、イントラネット、無線ネットワークその他に適用される。通信メディアの種類に依存して、通信コンポーネント204は、特定のメディアを介してユーザを認証するために、必要な通信機能を行う。このことは、図4、図5A及び図5Bを参照して示されている。
【0040】
図4において、通信コンポーネント204は、無線ネットワークのための必要な機能を行う。図5Aは、局所ネットワークまたはイントラネットのために必要な機能を行う通信コンポーネント204示している。最後に、図5Bは、イントラネットのための必要な機能を行う通信コンポーネント204を示している。通信コンポーネント204、認証コンポーネント、および、互いに相互作用する方法が、以下に、通信メディアがインターネットである場合について記載される。ただし、本発明は、インターネットに制限されるわけではない。
【0041】
(a.通信コンポーネント−監視オブジェクト)
監視オブジェクトは、認証サーバ202が始動する時に認証サーバ202によって、実例が挙げられる。監視オブジェクトは、図6によって示される次のタスクについて役割を有している。図6において、フローチャートはステップ602で開始する。一旦、その存在が示されると、監視オブジェクトは、ステップ602に示されるような入来SSL接続リクエスト用の標準SSLポート(すなわち、ポート443)上のHTTPデーモン・リスニングのように駆動する。
【0042】
ステップ604において、一旦、監視オブジェクトがSSL接続リクエストを受け取ると、以下に記載するように、監視オブジェクトは、リクエストがコムオブジェクトによって処理されることを保証する。制御は、次に、ステップ602に戻り、監視オブジェクトは、入来SSL接続リクエストを監視する。監視オブジェクトは、認証サーバ202が処理を終えると壊されるのみである。
【0043】
リクエストがステップ604で処理されることを監視オブジェクトが保証する異なる方法がある。例えば、本発明のある実施形態では、監視オブジェクトは、標準デーモンスレッド、ワーカー・スレッド・プールモデルとして実行され得る。ここで、単一のデーモンスレッドは、全ての入来接続リクエスト受け入れ、新規の創作されたソケット(各接続に対して)をプール内のワーカースレッドの一つに手放す。次に、デーモンスレッドは、より多くの入来接続のための監視に戻り得る。プール内のスレッド数は、形成可能なパラメータであり得る。スレッドは、当業者に周知である。
【0044】
本発明の他の実施形態において、監視オブジェクトは、IO完了ポートを用いて、単一ポイントのクライアントからの受信リクエストおよびクライアントへの送達レスポンスを提供し得る。この技術は、さらに、本来的に非同期の通信メカニズムに向いている。通信メカニズムは、IO中心の処理の性能を向上するために示されている。IO完了ポートおよび非同期の通信メカニズムも、当業者に周知である。本発明のコムオブジェクトは以下に議論される。
【0045】
(b.通信コンポーネント−コムオブジェクト)
コムオブジェクトは、それぞれの新しいクライアントセッションの間に、実例が挙げられる。クライアントセッションは、ウェブブラウザ212でのユーザがウェブ/アプリケーションサーバ214にアクセスすることを試みる場合の結果として生じる。一旦、認証処理が完了すると、エラーが発生するか、または、タイムアウトが発生するか、対応するコムオブジェクトが破壊される。コムオブジェクトは、図7に示される以下のタスクについて責を負う。図7において、フローは、ステップ702で始まる。ステップ702において、コムオブジェクトは、データの対称な暗号化/復号化についてのウェブブラウザ212を用いてセッションキーを取り決める。これは、サーバ側の証明並びにクライアント側の証明を交換することを含み得る。制御は、次に、ステップ704に進む。
【0046】
ステップ704において、コムオブジェクトは、セッションキーを用いて暗号化されたウェブブラウザ212からデータを受け取る。制御は、次に、ステップ706に進む。
【0047】
ステップ706において、コムオブジェクトは、ステップ704において受け取ったデータを復号化する。制御は、次に、ステップ708に進む。
【0048】
ステップ708において、コムオブジェクトは、HTTPヘッダおよび復号化されたデータ内のコンテンツを解析する。制御の後、ステップ710に進む。
【0049】
ステップ710において、コムオブジェクトは、受信したデータからの特定のフォーマットに適合するデータオブジェクトを生成し、認証サーバ202の認証コンポーネント(すなわち、認証オブジェクト)またはポリシーオブジェクト(認証オブジェクトを介して)にそれを手放す。ポリシーオブジェクトは、関連する同時係属米国出願第09/264,726号および米国出願第09/517,121号に詳細に説明されている。ポリシーオブジェクトは、用いられている特定のポリシーによって異なっている。認証サーバ202の認証コンポーネントによってユーザが認証されるべきかについての方法または方式を決定するのはポリシーである。彼または彼女が適切なポリシーを通過する(pass)までユーザが認証されないことに留意することは重要である。本発明において、ユーザは、彼または彼女のポリシーを通過することもなく、単独で通過する一つ以上のデバイスによって決して認証されない。ポリシーは、以下においてさらに議論される。制御は、次に、ステップ712に進む。
【0050】
ステップ712において、コムオブジェクトは、データオブジェクトを認証オブジェクトまたはポリシーオブジェクトから受け取り、HTTPに従ってそれをフォーマット化する。制御は、次に、ステップ714に進む。
【0051】
ステップ714において、コムオブジェクトは、ウェブブラウザ212に再送信されるセッションキーを用いてデータを暗号化する。制御は、次に、ステップ716に進む。
【0052】
ステップ716において、コムオブジェクトは、暗号化されたデータをウェブブラウザ212に送信する。一部または全ての上記ステップは、ポリシーが多要素の認証を要求する場合、数回繰り返され得ることに留意することは重要である。図7のフローチャートは、このポイントで終了する。上述したように、エラーが発生した場合、または、タイムアウトが発生した場合には、コムオブジェクトは、一旦、認証プロセスが完了した後、破壊される。本発明の認証コンポーネント(すなわち、認証オブジェクト)は、次に記載される。
【0053】
(c.認証コンポーネント−認証オブジェクト)
認証オブジェクトにおいても、それぞれの新しいクライアントセッションの間に実例が挙げられる。上記の通信オブジェクトのように、認証オブジェクトも特定の通信メディアであり得る。認証オブジェクトのタスクが図8に示されている。図8において、制御がステップ802で始まる。ステップ802において、認証オブジェクトは、ポリシー(またはポリシーオブジェクト)を、ユーザを認証するために用いられることになっているデータベース(またはデータベースオブジェクト)から取り出す。制御は、次に、ステップ804に進む。
【0054】
ステップ804において、認証オブジェクトは、通信コンポーネント204に、ウェブブラウザ212(フィルタ206および認証制御コンポーネント208を介して)を用いた通信のために要求される必要なメッセージの全てを通知する。一旦、認証メッセージの交換が完了すると、制御はステップ806に進む。
【0055】
ステップ806において、認証オブジェクトは、最終結果をフィルタ206に(通信コンポーネント204を介して)戻す。フィルタ206は、順次、サーバ/ウェブアプリケーション214と相互作用して、ユーザにアクセスすることを許容する(または禁ずる)。ユーザによるアクセスの制御から離すためのフィルタ206とサーバ/ウェブアプリケーション214との間の相互作用は、本発明によって統合と呼ばれる。図8におけるフローチャートは、このポイントで終了する。本発明のクライアント側のコンポーネントは次に記載される。
【0056】
(2.クライアント側のコンポーネント)
本発明により、認証制御コンポーネント208は、デバイス固有コンポーネント210およびウェブブラウザ212とともに、クライアント側のコンポーネントとして分類される。デバイス固有コンポーネント210はソフトウェアライブラリおよび認識デバイス(例えば、指紋スキャナ、音声または顔面認識システムのような生物測定のデバイス等、または、RSAトークン等のセキュリティトークンその他)に特有の他のコンポーネントである。デバイス固有のコンポーネント210は、典型的には、デバイス製造業者によって輸送され、通常、デバイスをインターフェースで連結するために用いられ得るアプリケーションプログラミングインターフェース(API)を含んでいる。
【0057】
認証制御コンポーネント208は、デバイス固有のコンポーネント210と共に作動して、ユーザの信用証明書を獲得する処理、必要な任意の局所プロセスを行う処理、およびこの処理の結果をフィルタ206に通信する処理を管理する。例えば、認証制御コンポーネント208は、所定のウェブブラウザ(例えば、インターネットエクスプローラー)のためのアクティブX制御として実行され得、並びに、他のウェブブラウザ(例えば、Netscape)のためのアクティブX制御と同一の論理を含むプラグ接続式として実行され得る。
【0058】
本発明のクライアント側のコンポーネントは、ソフトウェアの完全性および1回のダウンロードを含む2つの特徴を提供する。一旦、認証制御コンポーネント208がクライアントのコンピュータまたは機械上でダウンロードされると、悪意のあるユーザが、それをみだりに変更するおそれがある。このようなことを防止するため、クライアントソフトウェアの完全性が、認証制御コンポーネント208が用いられる前の各回ごとにチェックされる。これは、認証制御コンポーネント208用のコード上およびデバイス固有のコンポーネント210用のコード上のハッシュを実行することによって達成され得る。任意の変化が発見された場合、本発明の認証が進行する前に、認証制御コンポーネント208および/またはデバイス固有のコンポーネント210用のオリジナルのコードがダウンロードされる。
【0059】
本発明の、1回のダウンロードについての特徴は、登録時またはユーザが認証制御コンポーネント208を有していないコンピュータから認証することを試行する初回のいずれかの際に、ユーザのコンピュータ上で1回のみ、特定バージョンの認証制御コンポーネント208がダウンロードされるという事実を取り扱う。その後は、それぞれの新しいバージョンの認証制御コンポーネント208も、ユーザのコンピュータ上で1回のみダウンロードされる。フィルタコンポーネントは次に記載される。
【0060】
(3.フィルタコンポーネント)
フィルタ206は、ウェブ/アプリケーションサーバ214(すなわち、本発明の認証サーバを必要とする任意のウェブサーバまたはアプリケーションサーバ)に存在する軽微なコンポーネントである。フィルタ206のためのコードは、好ましくは、最適な性能のために、ウェブ/アプリケーションサーバ214の本来の言語(例えば、C、C++、Java(R)等)で書き込まれる。本発明の一実施形態において、フィルタ206は、ウェブブラウザ212から送られる全てのリクエストを見て、ウェブブラウザ212からの認証のための任意のリクエストを遮断する。フィルタは、次いで、認証リクエストを認証サーバ202に転送する。
【0061】
フィルタ206は、Netscape Enterprise Server(NES)、Microsoft Internet Information Server(MSIS)、Apache等を含む(ただし、これらに限定されない)、実在するウェブサーバと共同動作して、ウェブサイトにアクセスするための認証サーバを提供するように設計される。フィルタ206は、さらに、BEAウェブロジック、SilverStream Application Server、Oracle AppServer、Sun NetDynamics、Microsoft Site Server等を含む(ただし、これらに限定されない)、アプリケーションサーバとともに用いられて、オンラインバンキング、オンラインの株式売買その他を含むウェブアプリケーションのための認証サーバを提供し得る。図2に示されるように、フィルタ206は、一つ以上のウェブ/アプリケーションサーバ214に接続される。ウェブ/アプリケーションサーバ214は、上述のように、ウェブサーバおよびアプリケーションサーバの両方を表す。本発明の遠隔登録コンポーネントは、次に記載される。
【0062】
(4.遠隔登録コンポーネント)
本発明によると、ユーザは、自らの信用証明を遠隔から(インターネット、イントラネット、無線ネットワークその他を介して)登録することができる。本発明の遠隔登録コンポーネントは、認証制御コンポーネント208、通信コンポーネント204および中間層登録アプリケーションを含んでいる。上述のように、認証制御コンポーネント208は、さらに、登録および認証(クライアント側のコンポーネント)のために用いられ得る。上記に説明したように、通信コンポーネント204は、監視オブジェクトおよびコムオブジェクトを含んでいる。ここで、通信コンポーネント204は、認証サーバ202(すなわち、登録オブジェクト(これは上述の認証オブジェクト一部である))の登録コンポーネントと相互作用する。これにより、登録時に、認証制御コンポーネント208の「1回の」ダウンロードが許容され、あるいは、ユーザが登録されたものとは異なるコンピュータに移動した場合には、認証制御コンポーネント208は、ユーザがその異なるコンピュータから認証することを試みる初回にダウンロードされる。
【0063】
本発明の遠隔登録の機能性は、ユーザの信用証明(例えば、生物測定、パスワード等)を獲得し、その信用証明を登録オブジェクトに送信するために、認証制御コンポーネント208を必要とする。登録オブジェクトでは、認証サーバ202のデータベース内に、本発明による将来のユーザの認証のために、信用証明を格納する。
【0064】
登録アプリケーションは、遠隔登録プロセスのプレゼンテーションロジックを駆動する。登録アプリケーションは、ウェブブラウザ212において概観される、ユーザ可視のHTMLを生成する責を負う。いくつかの技術が、Active Server Pages(ASP)、Java(R) Server Pages(JSP)、JAVA(R) Servlets、Microsoft ISAPIおよびNetscape NSAPIを含む、ユーザ可視のHTMLを実行するために用いられ得る。登録アプリケーションは、一方の側において、媒介認証制御コンポーネント208として作用し、他方の側において、監視オブジェクト、コムオブジェクトおよび登録オブジェクトとして作用する。監視オブジェクト、コムオブジェクトおよび登録オブジェクトのタスクが、次に、記載される。
【0065】
(a.通信コンポーネント−監視オブジェクト)
上記に説明したように、監視オブジェクトは、認証サーバが始動する時点で、認証サーバ202によって、実例が挙げられる。監視オブジェクトは、図9に示される以下のタスクの責を負う。図9において、フローチャートがステップ902で開始する。一旦、実例が挙げられると、監視オブジェクトは、ステップ902に示されるように、入来SSL接続リクエストに対する標準SSLポート(すなわち、ポート443)上のHTTPデーモン監視と同様に作用する。制御は、次に、ステップ904に進む。
【0066】
ステップ904において、一旦、監視オブジェクトがSSL接続リクエストを受け取ると、監視オブジェクトは、リクエストのパラメータを見て、制御が登録オブジェクト、コムオブジェクト、または本発明が支持する任意の他の機能オブジェクトに移動すべきかどうかを決定する。図6がただ一つの可能な種類のリクエスト(すなわち、認証リクエスト)が存在する場合を示していることに留意すべきである。制御は、次に、ステップ906に進む。
【0067】
ステップ906において、監視オブジェクトは、リクエストが処理したことを保証する。制御は、次に、ステップ902に戻る。ここでは、監視オブジェクトは、入来SSL接続リクエストを監視する。監視オブジェクトは、一旦、認証サーバ202が停止されると、破壊されるのみである。
【0068】
(b.通信コンポーネント−コムオブジェクト)
コムオブジェクトは、それぞれの新しいクライアントセッションの間に実例が挙げられる。クライアントセッションは、ウェブブラウザ212におけるユーザがウェブ/アプリケーションサーバ214にアクセスすることを試みる場合の結果として生じる。一旦、登録プロセスが完了すると、エラーが発生するか、または、タイムアウトが発生するか、対応するコムオブジェクトが破壊される。コムオブジェクトは、図7によって示されるのと同一のタスクの責を負う。
【0069】
(c.登録コンポーネント−登録オブジェクト)
登録オブジェクトは、(登録アプリケーションを介し)認証制御コンポーネント208を用いて、メッセージ交換に対する論理を実行し、メッセージ交換を駆動するため、上記に説明された認証オブジェクトの一部である。登録オブジェクトの新しい例もまた、それぞれの新しいクライアントセッションに対して実例が挙げられる。上記の通信オブジェクトおよび認証オブジェクトと同様に、登録オブジェクトもまた、特定の通信メディアであり得る。登録オブジェクトのタスクが図10に示されている。図10において、制御は、ステップ1002で開始する。ステップ1002において、登録オブジェクトは、ポリシー(またはポリシーオブジェクト)をユーザのために生成する。制御は、ステップ1004に進む。
【0070】
ステップ1004において、生成されたポリシーに基づいて、登録オブジェクトは、必要な信用証明をユーザからリクエストする。この信用証明は、テンプレートとして格納される。例えば、ポリシーがユーザが指紋デバイスおよび手の紋様を測定するデバイスの両方で試験されることを必要とする場合、登録オブジェクトは、ユーザの指紋および手の紋様の生物測定をリクエストする。制御は、次に、ステップ1006に進む。
【0071】
ステップ1006において、登録オブジェクトは、ポリシーおよび信用証明(またはテンプレート)を認証サーバ202のデータベース内に格納する。図10のフローチャートは、このポイントで終了する。
【0072】
本発明の一実施形態は、上記に議論した本発明の機能コンポーネントの全てを含んでいるが、一部(または全て)のコンポーネントは、各コンポーネントの機能性が上記の本発明の範囲内に依然として存在している限り、実行され得る。
【0073】
(5.ユーザ管理コンポーネント)
本発明は、ユーザが自らの信用証明を本発明により一度に登録することを許容する。本発明は、次に、ユーザの信用証明を再利用して、一つ以上の関連する可能性がないオンラインアカウントにアクセスするために、ユーザを認証する。このオンラインアカウントは、ウェブ/アプリケーションサーバ214によって提供される。本発明によると、さらに、ウェブ/アプリケーションサーバ214によって提供される特定のユーザのオンラインアカウントに対して、ユーザは、どのポリシーおよびどの種類の鑑定デバイスがユーザを認証するために用いられるべきかを決定することができる。
【0074】
ユーザが最初に本発明に結合し得る方法は複数存在する。一つの方法は、ユーザがウェブ/アプリケーションサーバ214によって本発明の方に再び向けられることである。ここで、ウェブ/アプリケーションサーバ214は、ユーザが本発明を用いて登録すること、または、単に、ユーザに本発明を用いて登録する機会を提供することを必要とし得る。ユーザが最初に本発明に結合し得る他の方法は、ユーザが直接、本発明と接触して、どのウェブ/アプリケーションサーバ214が本発明を利用するかを決定することである。例えば、ユーザがオンラインバンキングアプリケーション/プロバイダを探しており、彼または彼女の内密のアカウント情報を保護することに関係する場合、ユーザは、実際に彼または彼女のオンラインバンキングプロバイダを、オンラインバンキングのプロバイダが本発明を利用するかどうかに基づいて選択し得る。
【0075】
本発明によると、ユーザは、自らのオンラインアカウントに対するアクセスの保護のレベルを規定することができる。本発明は、次に、それらの信用証明を再利用して、ユーザを、オンラインアカウントに関連しない一つ以上のポリシーを認証する。ユーザ管理コンポーネントは、ユーザ管理コンポーネント207を含んでいる。ウェブ/アプリケーションサーバ214によって提供された、関連する可能性のないオンラインアカウントへの認証に対するユーザの信用証明を格納および管理(およびしたがって再利用)する中心データを維持するのは、ユーザ管理コンポーネント207の機能である。
【0076】
ユーザ管理コンポーネント207は、ユーザ管理プロセスのプレゼンテーションロジックを駆動させる。ユーザ管理コンポーネント207は、認証制御コンポーネント208を介して、(複数の)ポリシーを獲得するようにウェブブラウザ212にて視聴されるウィザードおよび/またはユーザ可視HTMLページを提示することにより、ユーザとの相互作用を駆動させ得る。ポリシー((複数の)ポリシーを実行するために必要な識別デバイスを含む)は、ユーザおよびユーザ信用証明(すなわち、生物測定、パスワード等)により特定される。バックエンドにて、ユーザ管理コンポーネント207は、ポリシーを提供するように認証サーバ202と相互作用する。ポリシーは、特定のオンラインアカウントについてユーザを認証させる場合に使用される。ユーザ管理コンポーネント207は、任意の工業規格プラットフォームを用いて展開され得る。任意の工業規格フラットフォームは、Java(R) Servlets,Enterprise Java(R) Beans,ISAPI extensions,Active Server Page programs等を含むが、これらに限定されない。
【0077】
図15は、ユーザが1以上のユーザオンラインアカウントへのアクセス保護レベルを規定できるように、ユーザ信用証明および要求されたポリシーを要求し、次いで、ユーザ信用証明および要求されたポリシーを保存する本発明を示す上位のフローチャートである。工程1502において、本発明は、ウェブ/アプリケーションサーバ214により提供された特定のオンラインアカウントを用いるために、ユーザがどのポリシーを提供するかを示すことを要求する。これはまた、ユーザ判定ポリシーを実施するように用いられた識別デバイスを、ユーザが決定することを可能にする。以下でさらに述べるように、ユーザは、ユーザオンラインアカウント全てに対して同じポリシーを示し得るか、または、それぞれのアカウントに対して異なるポリシーを用い得る。ユーザオンラインアカウントは、同じウェブ/アプリケーションサーバ214または異なるウェブ/アプリケーション214により提供され得る。示された(複数の)ポリシーに基づいて、本発明は、ユーザを、ポリシーを実行するために必要とされる信用証明(例えば、生物測定、パスワード等)を供給するように誘導する。オンラインまたはウェブアプリケーションのエンドユーザ認証サービスに提供するユーザ信用証明を保存することおよび管理することは、本発明の認証および登録機能から分離されている。実際、ユーザの所望のポリシーを獲得し、次いで、所望のポリシーに基づいて、要求される信用証明を獲得するのは、認証制御コンポーネント208である。次いで、制御は、工程1504に進む。
【0078】
工程1504において、ユーザ管理コンポーネント207は、ユーザのオンラインアカウントおよびユーザ信用証明のそれぞれについてのユーザの所望のポリシーを認証制御コンポーネント208から受信する。
【0079】
工程1506において、ユーザ管理コンポーネント207は、受信されたユーザ信用証明および所望のポリシーを中心位置に保存する。認証サーバ202のデータベースは、本発明のユーザ管理機能の中心位置またはデータ中心として機能し得る。以下で詳細に述べるように、本発明を簡易化させるように、この情報が編集され得る多くの異なる方法がある。図15のフローチャートは、この点で終わる。
【0080】
本発明が、複数の無関係のウェブアプリケーションに1つのユーザを結合するように、中心的なデータ中心(central data center)にてデータを、どのように編集し得るかを以下で説明する。本発明は、IDを各ユーザに割り当て、ユーザを一様に識別する。本発明の1実施形態において、このIDは、本発明に対してユーザを一意的に識別するグローバルユニークID(またはGUDID)である。例えば、ユーザ「John Smith」が、いくつかの異なるウェブアプリケーションに関わるアカウントを有すると仮定する。これらのウェブアプリケーションは、日計り取引に対するtradeline.com、薬物処方をファイルしているdrugonline.com、および、銀行を必要とするbankonline.comを含む。これらのウェブアプリケーションそれぞれは、他のアプリケーションが存在することを潜在的に分かり得ないことを留意することが重要である。(これらが共通に有する1つのことは、ユーザがユーザのアカウントに割り当てられた保護レベルを規定することができるように、これらの全てが本発明と共に協働することである。)それゆえ、ウェブアプリケーションのそれぞれが一意的なユーザ名をJohn Smithに提供してきた。例えば、tradeonline.comは、John Smithに「jsmith.user.tradeonline.com」のユーザ名を提供し、bankonline.comは、「john1234.account.bankonline.com」のユーザ名を提供してきたと仮定する。本発明は、John SmithのGUIDに無関係のユーザ名のそれぞれをマッピングしなければならない。例示の目的のために、John SmithのGUIDは、「1234−5678−9101」であると仮定する。これが為され得る多くの方法がある。1方法は、次の表1により表示される。
【0081】
【表1】
表1に示されるように、本発明は、同じGUIDにJohn Smithのアカウントのそれぞれを同じGUIDにマッピングし得る。次いで、次の表2は、John SmithのGUIDをポリシーにマッピングするように使用され得る。ポリシーは、ユーザを認証するように用いられる。(John Smithは、自分のアカウントのそれぞれの同じポリシーを使用することを決定したと仮定したと仮定する)
【0082】
【表2】
本発明の別の実施形態において、ユーザは、自分のGUIDを知らされている。これに関する利点は、ウェブ/アプリケーションサーバ214と関わるアカウントの自分のユーザ名の代わりに、ユーザが自分のGUIDを入力できることである。もちろん、これには、GUIDを認識するいくらかのインテリジェンスを、ウェブ/アプリケーションサーバ214に必要とする。これへの利得は、表1が必要とされ得ないことである。本発明は、GUIDのポリシーを決定するように、表2に直接に辿りつけ得る。
【0083】
本発明の別の実施形態において、John Smithは、彼のアカウントのそれぞれに対して異なったポリシーを用いることを望んでいる。表3には、本発明によって、このことがどのようになされるかを示す。ここでは、上述の表2に類似した表は削除されている。
【0084】
【表3】
表2および表3のポリシーIDは、本発明によってすでに規定され、認証サーバ202のデータベースに格納されたポリシーを表す。上述したように、ユーザは、ユーザのオンラインアカウントにもかかわらず同じポリシーを示し得、または各オンラインアカウントの異なるポリシーを使用し得る。従って、GUIDはユーザポリシーと、1:1の関係またはm:nの関係を有し得る。本発明によって提供される所定のポリシーの特定の例は、ORポリシー、ANDポリシー、CONTINGENTポリシー、RANDOMポリシー、THRESHOLDポリシー、多数ユーザポリシー、多数ロケーションポリシー、多数テンプレートポリシー、ユーザ依存性ポリシー、ユーザ限定ポリシー、およびコンピュータ/デバイス特定ポリシーを含む。本発明によってさらに、管理者は、他のポリシーを規定するか、設定することができる。これらの所定のポリシーと、管理者が他のポリシーを定義または設定する方法とが、同時係属中の米国特許出願第09/264,726号および米国特許出願第09/517,121号に詳細に説明される。ユーザ管理コンポーネント207のタスクは、図13に関して、次に詳細に記載される。
【0085】
図13において、制御は工程1302で始まる。工程1302において、ユーザ管理コンポーネント207は、ウェブアプリケーションまたはオンラインアカウントのためのユーザ名を受信して、ユーザはアクセスしようと試みる。さらに、このユーザ名は、特定のウェブアプリケーションに関して、ユーザに固有のものである。次に、制御は工程1304に移動する。
【0086】
工程1304において、ユーザ管理コンポーネント207は本発明のユーザのGUIDにユーザ名をマッピングする。さらに、このことは、上述の表1などの表を利用することによってなされ得る。次に、制御は工程1306に移動する。
【0087】
工程1306において、ユーザ管理コンポーネント207は本発明のユーザのポリシー(または、ポリシーオブジェクト)にユーザのGUIDをマッピングする。さらに、このことは、上述の表2などの表を利用することによってなされ得る。次に、制御は工程1308に移動する。
【0088】
工程1308において、ユーザ管理コンポーネント207は、ユーザがオンラインアカウントまたはウェブアプリケーションに認証しようと試みるとき、用いるポリシーを認証サーバ202に示す。図13のフローチャートはこの点で終了する。
【0089】
本発明の実施形態は、上述の本発明の機能的なコンポーネントの全てを含むが、いくつか(または全て)のコンポーネントが組み合わされても、本発明の範囲から逸脱しない。
【0090】
(C.本発明の例示の実施)
(1.例示の環境)
認証サーバ202、コミュニケーションコンポーネント204、フィルタ206、ユーザ管理コンポーネント207、認証制御コンポーネント208、加入ステーション、管理ステーションおよび衛星管理ステーションは、図3に示されるようにコンピュータ300を使用して実行され得る。明らかに、1つ以上のこれらの機能的なコンポーネントは、単一のコンピュータ300上で実行され得る。
【0091】
本発明は、ハードウェア、ソフトウェア、またはそれの組み合わせを用いて実行され得、コンピュータシステムまたは他のプロセシングシステムにおいて実行され得る。実際に、1実施において、本発明は、明細書中で記載される機能性を達成できる1つ以上のコンピュータシステムに方向付けられている。コンピュータシステム300は、例えばプロセッサ304のように、1つ以上のプロセッサを含んでいる。プロセッサ304は、コンピュータバス306に接続される。多様なソフトウェアの実施形態は、この例示のコンピュータシステムの点に関して記載される。この記載を読んだ後、他のコンピュータシステムおよび/またはコンピュータアーキテクチャを用いて本発明を実現する方法は、当業者にとって明白になるだろう。
【0092】
コンピュータシステム300は、メインメモリ308、好適にはランダムアクセスメモリ(RAM)および2次メモリ310をさらに含む。2次メモリ310は、例えば、フロッピー(R)ディスクドライブ、磁気テープドライブ、光学ディスクドライブなどのハードディスクドライブ312および/またはリムーバブル格納ドライブ314を含み得る。このリムーバブル格納ドライブ314は、周知の方法で、リムーバブル格納ユニット318から読み出し、および/または、リムーバブル格納ユニット318へ書き込む。リムーバブル格納ユニット318は、リムーバブル格納ドライブ314によって読み書きされるフロッピー(R)ディスク、磁気テープ、光学ディスクなどに相当する。明確なことに、リムーバブル格納ユニット318は、コンピュータ使用可能格納媒体を含む。この格納媒体は、その中に格納されたコンピュータソフトウェアおよびデータを有している。
【0093】
別の実施形態において、セカンダリメモリ310は、コンピュータプログラムまたは他の命令がコンピュータシステム300中へロードすることができるほかの類似の手段を含み得る。このような手段は、例えば、リムーバブル格納ユニットット322およびインターフェース320を含み得る。このような例は、プログラムカートリッジおよびカードリッジインターフェース(例えば、ビデオゲームデバイスで構成されるようなもの)、リムーバブルメモリチップ(例えば、EPROMまたはPROM)および関連したソケット、ならびに、ソフトウェアおよびデータが、リムーバブル格納ユニット318からコンピュータシステム300へ送信され得る、他のリムーバブル格納ユニット322およびインターフェース320を含み得る。
【0094】
コンピュータシステム300はさらに、コミュニケーションインターフェース324を含み得る。コミュニケーションインターフェース324により、ソフトウェアおよびデータは、コンピュータシステム300と外部デバイスとの間に転送される。コミュニケーションインターフェース324の例示は、モデム、ネットワークインターフェース(例えば、イーサネット(R)カード)、コミュニケーションポート、PCMCIAスロットおよびPCMCIAカードなどを含み得る。コミュニケーションインターフェース324を介して転送されるソフトウェアおよびデータは、電気的、電磁気的、またはコミュニケーションインターフェース324によって受信されることができる他の信号になり得る信号の形式をとる。これらの信号326は、チャネル328を介してコミュニケーションインターフェースに提供される。このチャネル328は信号326を伝えて、ワイヤまたはケーブル、光ファイバー、電話線、携帯電話リンク、RFリンクおよび他のコミュニケーションチャネルを用いて実行され得る。
【0095】
本明細書において、用語「コンピュータプログラム媒体」および「コンピュータ使用可能媒体」は、概して、例えば、リムーバブル格納デバイス318、ハードディスク312にインストールされたハードディスクおよび信号326といった媒体を示すために用いられ得る。これらのコンピュータプログラム製品は、コンピュータシステム300にソフトウェアを提供するための方法である。
【0096】
コンピュータプログラム(またはコンピュータ制御論理とも言う)は、メインメモリおよび/またはセカンダリメモリ310に格納される。コンピュータプログラムはまた、コンピュータインタフェース324を介して受信され得る。コンピュータプログラムの実行時に、このようなコンピュータプログラムにより、コンピュータシステム300は、本明細書に記載されるような本発明の特徴を実施することができる。特に、コンピュータプログラムの実行時に、コンピュータプログラムにより、プロセッサ304は、本発明の特徴を実施することができる。従って、このようなコンピュータプログラムは、コンピュータシステム300の制御に相当する。
【0097】
ソフトウェアを用いて本発明が実行される実施形態において、ソフトウェアは、コンピュータプログラム製品に格納され、リムーバブル格納ドライブ314、ハードディスク312、またはコミュニケーションインターフェース324を用いてコンピュータシステム中にロードされ得る。この制御論理語(ソフトウェア)がプロセッサ304による実行時に、この制御論理語により、プロセッサ304は、本明細書に記載されるような本発明の特徴を実施することができる。
【0098】
別の実施形態において、本発明は、例えば、特定用途向け集積回路(ASIC)といったハードウェアコンポーネントを用いて、第1に、ハードウェアで実現される。本明細書に記載される機能を実施するために、ハードウェアの状態機械の実現は、当業者(単数または複数)に明白になる。さらに別の実施形態において、本発明はハードウェアおよびソフトウェアの両方の組み合わせを用いて実現される。
【0099】
(2.例示のネットワークアークテクチャおよびプログラミング言語)
上述のように、実行時のコンピュータプログラムにより、コンピュータ302は、本明細書に記載されるような本発明の機能を実施することができる。実施形態において、本発明は、オブジェクト指向のプログラミング言語で書かれるコンピュータプログラムを用いて実行される。オブジェクト指向のプログラミング言語は、プログラマーが1つのデータ構造によるデータタイプだけでなく、データ構造に利用され得る動作(機能)タイプもまた定義されるようなタイプのプログラムである。このように、データ構造は、データおよび機能を共に含むオブジェクトになる。さらに、プログラマーは、あるオブジェクトと別のオブジェクトとの間の関係を生成する。例えば、オブジェクトは、他のオブジェクトからの特徴を受け継ぎ得る。
【0100】
手続き型プログラミング技術を超えたオブジェクト指向プログラミング技術の原理的な利点の1つは、それらにより、新しいタイプのオブジェクトが追加される場合に、プログラマーが必要とされるモジュールを作成できることである。プログラマーは、既存のオブジェクトからのその多くの特徴を受け継ぐ新しいオブジェクトを容易に作成できる。これにより、オブジェクト指向プログラムを変更することを容易にする。オブジェクト指向プログラミングを実行するためには、オブジェクト指向プログラミング言語(OOPL)が必要とされる。C++およびSmalltalkは、よりポピュラーな言語の2つである。また、Pascalのオブジェクト指向バージョンもまた存在する。
【0101】
本発明の1実施形態がオブジェクト指向プログラミング言語で記述されたコンピュータプログラムを用いて実施される場合、本発明はまた、手続き型プログラミング言語等を用いて実施され得る。
【0102】
上述したように、1以上のコンピュータ302がネットワークによって接続される。本発明の1実施形態は、ピア−トゥ−ピアオブジェクトアーキテクチャと呼ばれるタイプのネットワークを用いる。ピア−トゥ−ピアオブジェクトアーキテクチャが理解される前に、クライアント/サーバアーキテクチャと呼ばれるタイプのネットワークアーキテクチャが説明される必要がある。クライアント/サーバアーキテクチャは、ネットワーク上の各コンピュータまたはプロセスがクライアントまたはサーバのどちらかであるネットワークアーキテクチャである。サーバは、ディスクドライブ(ファイルサーバ等)、プリンター(プリントサーバ)、アプリケーション/機能またはネットワークトラフィック(ネットワークサーバ)を管理するコンピュータまたはプロセスである。実際、サーバは、アプリケーションにリソースを割り当てる任意のコンピュータまたはデバイスである。クライアントは、パーソナルコンピュータまたはサークステーションであり、このパーソナルコンピュータまたはサークステーションで、ユーザがアプリケーションを使用し得る。クライアントは、ファイル、デバイスのリソースのサーバ、機能の実行および処理電力さえも依存する。
【0103】
上述したように、本発明の1実施形態は、ピア−ツゥ−ピアオブジェクトアーキテクチャと呼ばれるタイプのネットワークを用いる。ピア−ツゥ−ピアオブジェクトアーキテクチャでは、ネットワークにおける各コンピュータが等価なキャパシティおよび責任を有する。これは、いくつかのコンピュータが他のコンピュータに貢献することのみに用いられるクライアント/サーバアーキテクチャと異なる。それゆえ、本発明の1実施形態では、全てのコンピュータ302は、サーバまたはクライアントのどちらかとして動作し得る。サーバ202に保存されるエンジンおよびデータは、次に説明される。
【0104】
(D.本発明のエンジンおよびデータ)
上述のように、図2の認証サーバ202は、本発明のエンジンである。本発明の一実施形態において、ユーザが本発明によって認証されるかどうかを最終的に判定するのは、(ポリシーを実行する)このエンジンである。加えて、認証サーバ202は、本発明によってアクセスされたデータを格納する。認証サーバ202内に格納されたデータが形成され得る方法は、データベースとする方法及びディレクトリとする方法を含んでいる。データベースの形成およびディレクトリの形成の双方が、関連する同時係属中の米国特許出願第09/264,726号および米国出願第09/517,121号に詳細に記載されている。
【0105】
さらに、認証サーバ202内に格納された種々のデータの集合は、管理者が認証サーバ202を最初にセットアップし得る、典型的なステップのシーケンスに沿って、関連する同時係属米国特許出願第09/264,726号および米国出願第09/517,121号に詳細に記載されている。認証サーバ202内に格納された典型的なデータは、テンプレート、ポリシー(またはポリシーID)、グループ、デバイスID、ユーザID、コンピュータIDおよびアプリケーションIDを含んでいる(ただし、これらに限定されない)。付加データは、ウェブアプリケーション用のユーザ独自のユーザネームをユーザのGUIDに、その後、ユーザを特定するポリシーにマッピングする一つ以上のテーブルを含み得る。
【0106】
一つ以上の唯一のテンプレートは、ユーザが異なる識別デバイス上に登録する各回毎に、認証サーバ202に形成され、且つ、格納される。テンプレートは特定の生物測定デバイスに対するユーザ独自の測定値(これは、次に、デバイスがユーザを識別することを試みている場合に、ユーザの「生きた」測定値に対してマッチングするために用いられる)または非生物デバイス用のパスワード等を格納する。
【0107】
本発明のポリシーは、ユーザが認証サーバ202によって認証されることになっている方法または方式を判定する。本発明によって提供された事前に規定されたポリシーの具体例としては、ORポリシー、ANDポリシー、CONTENGENTポリシー、RANDOMポリシー、THRESHOLDポリシー、多数ユーザポリシー、多数ロケーションポリシー、多数テンプレートポリシー、ユーザ依存ポリシー、ロケーション制限ポリシー、およびコンピュータ/デバイス固有のポリシーが含まれる。本発明は、さらに、管理者が他のポリシーを規定または形成することを許容する。
【0108】
各事前規定されたポリシーは、そのポリシーに関連したデバイスのリストを有している。デバイスのリストは、特定のポリシーを実行するために用いられている識別デバイスを確認する。デバイスのリスト内の各デバイスは、関連する閾値およびタイムアウト値(これは、生物測定デバイスに関して典型的に真である)を有し得る。閾値(例えば、偽である容認レート)は、ユーザがデバイスを通過するために、デバイスが判定しなければならない識別レベルを示す。タイムアウト値は、デバイスがユーザを、閾値によって確認される識別レベルまで確認しなければならない時間を示す。
【0109】
本発明内のグループは、ウェブ/アプリケーションサーバ214上に格納された同じセットの情報にアクセスする必要がある、一以上のユーザを結びつける論理的な方式である。例えば、インターネット内の全てのユーザが、ユーザが株式を取引することを許容するオンラインアプリケーションのログインページをアクセスすることが許容され得る。同じオンラインアプリケーションに対して、ユーザおよびそのユーザによって特定される他のユーザのみが、ユーザ内密の情報にアクセスすることを許容されたグループ内に存在する。したがって、グループの一つが「USR24458グループ」として規定され得る。ここで、ユーザが「USR24458グループ」に入れられた場合、該当するユーザ(一旦、本発明によって認証される)は、「USR24458グループ」内の全ての他のユーザと同じリソースにアクセスする。
【0110】
各ユーザは、一つ以上のグループに入れられ得る。ユーザが、特定のグループ内の情報にアクセスを得ること試みる場合、ユーザは、特定のグループに関連するいずれかのポリシーによって認証されなければならない。
【0111】
デバイスIDは、識別デバイスを確認する。各識別デバイスは、独自IDを有している。このため、デバイスIDの集合は、本発明が、インターネット内の通信プロトコル可能クライアント(ウェブブラウザ)に接続された各識別デバイスを独自に確認する許容する。同様に、ユーザIDは、本発明を利用しているユーザを独自に確認する。ユーザを認証し、遠隔からユーザを登録するための、本発明のコンポーネント間のメッセージの流れは、次のセクションEおよびセクションFにおいて、それぞれ記載される。
【0112】
(E.本発明による認証のためのコンポーネント間のメッセージフロー)
図11は、本発明の実施形態による、ウェブブラウザ212を用いてユーザを認証するための、本発明のコンポーネント間の高水準メッセージフローを示す。ユーザが、本発明のサービスを利用しているウェブサイトまたはウェブアプリケーションにアクセスしようと試みる場合、登録プロセス中に、このユーザは、ユーザがすでに登録している「ユーザ名」を入力するよう促される。フロー線1102で示されるように、この「ユーザ名」がフィルタ206に送られる。
【0113】
フィルタ206が「ユーザ名」を受け取ると、フィルタ206は、フロー線1104で示されるように、データベースに格納されているその「ユーザ名」のポリシーおよびテンプレート(または認定書)を取り出すためのリクエストを、認証サーバ202に(通信コンポーネント204を介して)送る。
【0114】
認証サーバ202は、フロー線1106で示されるように、「ユーザ名」のポリシーおよびテンプレートを取り出し、それらを(通信コンポーネント204を介して)フィルタ206に返す。
【0115】
ポリシーおよびテンプレートに基づいて、フィルタ206は、フロー線1108で示されるように、ユーザにユーザの認定書を示すように要求する。ここで、認証制御コンポーネント208は、ユーザを任意の必須生物測定獲得/マッチングプロセスへと導く。
【0116】
その後、認証制御コンポーネント208は、フロー線1110で示されるように、測定結果をフィルタ206に送る。フィルタ206は、フロー線1112で示されるように、これらの測定結果を(通信コンポーネント204を介して)認証サーバ202に転送する。
【0117】
次いで、ユーザのポリシーに基づいて、認証サーバ202は、ユーザが要求する特定の情報にアクセスするために、マッチングが十分良好であったか、または、(複数のファクタによる認証またはポリシーの場合と同様に)さらなる認定書を必要とするかを判定する。複数のファクタによる認証が必要な場合には、フロー線1106〜1112が、必要に応じて何度も繰り返される。
【0118】
認証サーバがユーザのポリシーを実行し、ユーザが認証されたかどうかを判定することができると、通信コンポーネント204は、フロー線1114で示されるように、結果をフィルタ206に転送する。ここで、ユーザが認証されると、フィルタ206は、ウェブ/アプリケーションサーバ214と対話して、ユーザに、ユーザが要求する情報にアクセスすることを許可する。
【0119】
ユーザは、そのセッション中(すなわち、ユーザがウェブブラウザ212を閉じるまで)、ウェブアプリケーションまたはウェブサイトを使用することができる。したがって、フィルタ206によって、フロー線1116で示されるように、ユーザは、自身が要求する情報にアクセスすることを許可されるか、または、拒否される。本発明の遠隔登録のためのコンポーネント間のメッセージフローを次に説明する。
【0120】
(F.本発明による遠隔登録のためのコンポーネント間のメッセージフロー) 図12は、本発明の実施形態による、ウェブブラウザ212を用いてユーザを遠隔登録するための、本発明のコンポーネント間の高水準メッセージフローを示す。遠隔登録のためのメッセージフローは、認証のためのメッセージフローと極めて類似している。登録アプリケーションは、ユーザとの対話を管理する。登録アプリケーションそのものを用いてユーザを認証する場合、本発明によるいくつかの技術が用いられ得る。例えば、アプリケーションまたはウェブサイトにアクセスするために、今日ユーザが用いる既存のユーザ名とパスワードとの組み合わせが使用され得る。別の例では、ユーザ用に生成され、ユーザに(電子的またはその他の方法で)送られ得る1回限りのパスワードまたはPINである。いずれの場合にも、(図10を参照して上述したように)登録オブジェクトは、ユーザの認証を1回だけ行って、その後、ユーザのコンピュータに認証制御コンポーネント208をダウンロードする。
【0121】
図12を参照して、ユーザは、フロー線1202で示されるように、1回限りのパスワードまたはPINをフィルタ206に発信する。
【0122】
次いで、フィルタ206は、フロー線1204で示されるように、登録オブジェクトによってユーザを1回だけ認証することを要求する。
【0123】
フロー線1206で示されるように、1回だけの認証結果をフィルタ206に返す。
【0124】
フィルタ206は、フロー線1208で示されるように、この要求を認証制御コンポーネント208に転送する。
【0125】
認証制御コンポーネント208は、フロー線1210で示されるように、(登録アプリケーションを介して)ユーザから必須の生物測定を獲得し、その後、この獲得結果をフォイルタ206に知らせる。
【0126】
その後、この獲得結果は、フロー線1212で示されるように、フィルタ206から登録オブジェクトに転送され、認証サーバ202に結果が格納される。本発明では、この時点でユーザが登録される。本発明のコンポーネントAPIおよび拡張性を次に説明する。
【0127】
(G.本発明によるユーザ管理のためのコンポーネント間のメッセージフロー)
図14は、本発明の実施形態による、ウェブブラウザ212を用いてユーザに統合型認証サービスを提供するための、本発明のコンポーネント間の高水準メッセージフローを示す。ユーザが、本発明のサービスを用いているウェブ/アプリケーションサーバ214によって提供されたアカウントにアクセスを試みる場合、ユーザは、そのアカウントに対してユーザが登録した「ユーザ名」(例えば、「jsmith.user.tradeonline.com」)を入力するよう促される。この「ユーザ名」は、フロー線1402で示されるように、フィルタ206に送られる。
【0128】
フィルタ206が「ユーザ名」を受け取ると、フィルタ206は、フロー線1404で示されるように、「ユーザ名」をユーザ管理コンポーネント207に転送する。ここで、ユーザ管理コンポーネント207は、ユーザを認証するために使用するGUIDおよびポリシー(これは、ポリシーを実行するに必要な任意の必須識別デバイスを含む)を決定する。
【0129】
その後、ユーザ管理コンポーネント207は、フロー線1406で示されるように、ポリシーを認証サーバ202に転送する。
【0130】
次いで、認証サーバ202は、フロー線1408で示されるように、ユーザ管理コンポーネント207によってその認証サーバ202に提供されたポリシーを用いて通常通りの認証を行う。
【0131】
(H.本発明のコンポーネントAPIおよび拡張性)
サーバ側コンポーネント(すなわち、認証サーバ202および通信コンポーネント204)、フィルタ206および登録アプリケーションは、ウェブを作動させるクライアントに良好に規定されたインターフェースを提示する。これらのインターフェースは、HTTP GETまたはPOST法を用いて要求され得るURLのセットからなる。APIおよびそれに関連する以下に示す規約は、これらの対話をどのように実現するか示す単なる例示にすぎない。これらの例は、本発明を制限することを意図していない。すべてのURLリクエストは、以下の構文に従う必要があり得る。
METHOD HTTP法のタイプであり、GETまたはPOSTであり得る
HEADER HTTPのヘッダであり、フォーマットは名前=値である
BODY HTTPリクエストの本体であり、一連の名前=値の対、バイナリデータまたはその両方であり得る
<foobar> 任意の要素を定義する
foo/bar 「foo」または「bar」を定義する。
【0132】
サーバ側コンポーネント、フィルタ206および登録アプリケーションは、特定のフォーマットのリクエストを要求する。これらのリクエストに対する応答もまた、特定のフォーマットに従う。これにより、拡張型アーキテクチャが可能となり、新たなウェブを作動させるサービスを既存の設備につなぐことができる。BNFは「バッカス記法」の略称である。このBNFは、プログラミング言語、コマンドセット等の構文を特定するために用いられるメタ構文法である。以下は、本発明のリクエストのBNFである。これは、作成されるべきオブジェクトのタイプ、および、そのオブジェクトに送られるデータのIDを含む。
【0133】
【数1】
ここで、上述の同じ方法を用いれば、URLSの異なるセットにも関わらず、他のウェブ機能を認証サーバ202に追加可能にするといったアーキテクチャの拡張を容易に行うことができる。他の機能のこのような例は、認証サーバ202の遠隔管理を含む。
【0134】
(I.結論)
本発明の種々の実施形態を上述してきたが、これらの実施形態は例示を目的としており制限するものではないことを理解されたい。当業者であれば、本発明の意図および範囲から逸脱することなく、実施形態における形態および細部の種々の変更が為され得ることを理解する。このことは、後に発展し得る関連分野における技術および用語を考慮した場合に特に当てはまる。したがって、本発明は、上述の例示的な実施形態のいずれによっても制限されるのではなく、上掲の特許請求の範囲およびその均等物によってのみ規定されるべきである。
【図面の簡単な説明】
【図1】
図1は、インターネットに接続された複数のクライアントおよびサーバを示すネットワークのブロック図である。
【図2】
図2は、本発明の実施形態における動作環境の例を示すブロック図である。
【図3】
図3は、本発明の実施形態における実施コンポーネントとして用いられ得るコンピュータの例を示す。
【図4】
図4は、本発明の実施形態における、通信プロトコルが無線通信プロトコルであるときに要求される必要な機能を実行する通信コンポーネントを示す。
【図5A】
図5Aは、本発明の実施形態における、通信プロトコルがローカルネットワークまたはイントラネット用であるときに要求される必要な機能を実行する通信コンポーネントを示す。
【図5B】
図5Bは、本発明の実施形態における、通信プロトコルがインターネット用であるときに要求される必要な機能を実行する通信コンポーネントを示す。
【図6】
図6は、本発明の実施形態における認証機能の傾聴(listen)オブジェクトのタスクを示す。
【図7】
図7は、本発明の実施形態における認証機能のコム(comm)オブジェクトのタスクを示す。
【図8】
図8は、本発明の実施形態における認証機能の認証オブジェクトのタスクを示す。
【図9】
図9は、本発明の実施形態における遠隔登録機能の傾聴オブジェクトのタスクを示す。
【図10】
図10は、本発明の実施形態における遠隔登録機能の登録オブジェクトのタスクを示す。
【図11】
図11は、本発明の実施形態における、ユーザがウェブブラウザを使用することを認証するための本発明のコンポーネント間のハイレベルメッセージフローを示す。
【図12】
図12は、本発明の実施形態における、ウェブブラウザ212を用いるユーザの遠隔からの登録のための本発明のコンポーネント間のハイレベルメッセージフローを示す。
【図13】
図13は、本発明の実施形態におけるユーザ管理コンポーネントのタスクを示す。
【図14】
図14は、本発明の実施形態における、ウェブブラウザを用いるユーザ管理のための本発明のコンポーネント間のハイレベルメッセージフローを示す。
【図15】
図15は、本発明の実施形態における、ユーザ資格を要求し、次にユーザ資格を格納し、ユーザが1つ以上のユーザのオンラインアプリケーションアカウントへのアクセスの保護のレベルを定義することを可能にするためのポリシーを要求する本発明を示すハイレベルフローチャートである。
Claims (22)
- 通信媒体を介して第1のサーバによって提供された第1のアカウントにユーザ認証を提供するシステムであって、
クライアント側コンポーネントと、
該通信媒体を介して該クライアント側コンポーネントに接続されたユーザ管理コンポーネントと、
該通信媒体を介して該ユーザ管理コンポーネントに接続されたサーバ側コンポーネントと
を備え、
該クライアント側コンポーネントは、認証制御コンポーネントを備え、該認証制御コンポーネントは、該第1のアカウントのためのユーザ決定ポリシーとユーザ認定書とを獲得し、ユーザに該第1のアカウントにアクセスするための保護レベルを規定させるプロセスを管理し、かつ、該ユーザ決定ポリシーと該ユーザ認定書とを獲得した結果を該ユーザ管理コンポーネントに通信し、
該ユーザ管理コンポーネントは、該ユーザ決定ポリシーと該ユーザ認定書とを星型ロケーションに格納し、かつ、第2のサーバによって提供される第2のアカウントに対するユーザ認証用に、該ユーザ認定書を再度用い得るように、該ユーザ決定ポリシーと該ユーザ認定とを整理し、
該サーバ側コンポーネントは、認証サーバを備え、該ユーザ管理コンポーネントは、該第1のアカウントに対するユーザ認証用に該ユーザ決定ポリシーを用いることを該認証サーバに示す、システム。 - 前記通信媒体はインターネットである、請求項1に記載のシステム。
- 前記通信媒体はローカルネットワークである、請求項1に記載のシステム。
- 前記通信媒体は無線ワークである、請求項1に記載のシステム。
- 前記第1のサーバと前記第2のサーバとは、ウェブサーバである、請求項1に記載のシステム。
- 前記第1のサーバと前記第2のサーバとは、アプリケーションサーバである、請求項1に記載のシステム。
- 前記認証制御コンポーネントが呼び出されるたびに、該認証制御コンポーネントの保全性がチェックされる、請求項1に記載のシステム。
- 前記第1のアカウントのための前記ユーザ決定ポリシーは、前記第2のアカウントのための第2のユーザ決定ポリシーと同じである、請求項1に記載のシステム。
- 前記第1のアカウントのための前記ユーザ決定ポリシーは、前記第2のアカウントのための第2のユーザ決定ポリシーと異なる、請求項1に記載のシステム。
- 前記第1のサーバと前記第2のサーバとは関係がない、請求項1に記載のシステム。
- 前記第1のサーバと前記第2のサーバとは関係がある、請求項1に記載のシステム。
- 通信媒体を介して第1のサーバによって提供される第1のアカウントにユーザ認証を提供する方法であって、
認証制御コンポーネントを介して、該第1のアカウントのためのユーザ決定ポリシーとユーザ認定書とを獲得するプロセスを管理するステップであって、ユーザに該第1のアカウントにアクセスするための保護レベルを規定させる、ステップと、
該認証制御コンポーネントからユーザ管理コンポーネントへと該ユーザ決定ポリシーと該ユーザ認定書とを獲得した結果を通信するステップと、
第2のサーバによって提供された第2のアカウントに対するユーザ認証用に、該ユーザ認定書を再度用い得るように、該ユーザ管理コンポーネントによって、該ユーザ決定ポリシーと該ユーザ認定書とを星型ロケーションに整理するステップと、
該ユーザ管理コンポーネントによって、該第1のアカウントに対するユーザ認証用に該ユーザ決定ポリシーを用いることを該認証サーバに示すステップと
を包含する、方法。 - 前記通信媒体はインターネットである、請求項12に記載の方法。
- 前記通信媒体はローカルネットワークである、請求項12に記載の方法。
- 前記通信媒体は無線ワークである、請求項12に記載の方法。
- 前記第1のサーバと前記第2のサーバとは、ウェブサーバである、請求項12に記載の方法。
- 前記第1のサーバと前記第2のサーバとは、アプリケーションサーバである、請求項12に記載の方法。
- 前記認証制御コンポーネントが呼び出されるたびに、該認証制御コンポーネントの保全性がチェックされる、請求項12に記載の方法。
- 前記第1のアカウントのための前記ユーザ決定ポリシーは、前記第2のアカウントのための第2のユーザ決定ポリシーと同じである、請求項12に記載の方法。
- 前記第1のアカウントのための前記ユーザ決定ポリシーは、前記第2のアカウントのための第2のユーザ決定ポリシーと異なる、請求項12に記載の方法。
- 前記第1のサーバと前記第2のサーバとは関係がない、請求項12に記載の方法。
- 前記第1のサーバと前記第2のサーバとは関係がある、請求項12に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US19147100P | 2000-03-23 | 2000-03-23 | |
US69506000A | 2000-10-25 | 2000-10-25 | |
PCT/US2001/009188 WO2001071961A1 (en) | 2000-03-23 | 2001-03-23 | System, method and computer program product for providing unified authentication services for online applications |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004524591A true JP2004524591A (ja) | 2004-08-12 |
Family
ID=26887076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001570010A Withdrawn JP2004524591A (ja) | 2000-03-23 | 2001-03-23 | オンラインアプリケーション用統合型認証サービスを提供するシステム、方法およびコンピュータプログラム製品 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2004524591A (ja) |
AU (1) | AU2001243706A1 (ja) |
CA (1) | CA2403383C (ja) |
WO (1) | WO2001071961A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450629A (zh) * | 2015-10-29 | 2016-03-30 | 东莞酷派软件技术有限公司 | 基于生物信息验证的路由器连接方法及装置和路由器 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7441263B1 (en) | 2000-03-23 | 2008-10-21 | Citibank, N.A. | System, method and computer program product for providing unified authentication services for online applications |
GB2386445A (en) * | 2002-03-13 | 2003-09-17 | Hewlett Packard Co | Application server functions |
US8458775B2 (en) | 2006-08-11 | 2013-06-04 | Microsoft Corporation | Multiuser web service sign-in client side components |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06223041A (ja) * | 1993-01-22 | 1994-08-12 | Fujitsu Ltd | 広域環境利用者認証方式 |
US5724423A (en) * | 1995-09-18 | 1998-03-03 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for user authentication |
US5930804A (en) * | 1997-06-09 | 1999-07-27 | Philips Electronics North America Corporation | Web-based biometric authentication system and method |
US6052468A (en) * | 1998-01-15 | 2000-04-18 | Dew Engineering And Development Limited | Method of securing a cryptographic key |
US6178511B1 (en) * | 1998-04-30 | 2001-01-23 | International Business Machines Corporation | Coordinating user target logons in a single sign-on (SSO) environment |
-
2001
- 2001-03-23 AU AU2001243706A patent/AU2001243706A1/en not_active Abandoned
- 2001-03-23 CA CA2403383A patent/CA2403383C/en not_active Expired - Lifetime
- 2001-03-23 JP JP2001570010A patent/JP2004524591A/ja not_active Withdrawn
- 2001-03-23 WO PCT/US2001/009188 patent/WO2001071961A1/en active Search and Examination
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105450629A (zh) * | 2015-10-29 | 2016-03-30 | 东莞酷派软件技术有限公司 | 基于生物信息验证的路由器连接方法及装置和路由器 |
Also Published As
Publication number | Publication date |
---|---|
WO2001071961A9 (en) | 2001-12-20 |
CA2403383A1 (en) | 2001-09-27 |
AU2001243706A1 (en) | 2001-10-03 |
CA2403383C (en) | 2011-06-28 |
WO2001071961A1 (en) | 2001-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9438633B1 (en) | System, method and computer program product for providing unified authentication services for online applications | |
JP4782986B2 (ja) | パブリックキー暗号法を用いたインターネット上でのシングルサインオン | |
TWI400922B (zh) | 在聯盟中主用者之認證 | |
US8607322B2 (en) | Method and system for federated provisioning | |
US7725562B2 (en) | Method and system for user enrollment of user attribute storage in a federated environment | |
US7587491B2 (en) | Method and system for enroll-thru operations and reprioritization operations in a federated environment | |
US8060632B2 (en) | Method and system for user-determined attribute storage in a federated environment | |
US8042162B2 (en) | Method and system for native authentication protocols in a heterogeneous federated environment | |
US8561161B2 (en) | Method and system for authentication in a heterogeneous federated environment | |
US7877492B2 (en) | System and method for delegating a user authentication process for a networked application to an authentication agent | |
US7412720B1 (en) | Delegated authentication using a generic application-layer network protocol | |
CN112468481B (zh) | 一种基于CAS的单页和多页web应用身份集成认证方法 | |
JP4467256B2 (ja) | 代理認証プログラム、代理認証方法、および代理認証装置 | |
US20040128546A1 (en) | Method and system for attribute exchange in a heterogeneous federated environment | |
JP2006502496A (ja) | クライエント−サーバネットワークで通信を行うための方法およびシステム | |
US7506363B2 (en) | Methods, systems, and computer program products for user authorization levels in aggregated systems | |
US7895644B1 (en) | Method and apparatus for accessing computers in a distributed computing environment | |
US7020705B2 (en) | De-authenticating in security environments only providing authentication | |
JP2004524591A (ja) | オンラインアプリケーション用統合型認証サービスを提供するシステム、方法およびコンピュータプログラム製品 | |
CA2398584C (en) | System, method and computer program product for enrolling and authenticating communication protocol-enabled clients for access to information | |
KR20090106368A (ko) | 네트워크 위치의 하위 위치에 대한 사용자의 인증을 위한 방법 및 시스템 |
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: 20080603 |