(57)【要約】【課題】全般的には、サーバに対するユーザ認証を、他のサーバに対する以前の認証に基づいて行うシステム、方法および媒体が開示される。【解決手段】サーバに対してユーザの認証を行う方法の実施形態は、サーバに対してユーザの認証を行うリクエストを受信することと、認証計画との一致を、ユーザの認証を行うことが要求するかどうかを判断することとを含むとよい。計画が必要であれば、本方法はさらに、他のサーバへのユーザ・アクセスに関する期待情報をそれぞれ有する複数の認証記録を備えて格納されている認証計画にアクセスすることを含むとよい。本方法はさらに、ユーザの、現在の認証計画のインジケーションを、認証ストアから受信することを含むとよく、この計画は、ユーザ・アクセスに関する現在の情報をそれぞれ有する複数の承認記録を有する。本方法の実施形態はさらに、格納されている認証計画と、受信された現在の認証計画とを比較して、それらが一致するかどうかを判断することと、一致に応答して、ユーザを認証することとを含むとよい。【選択図】図３
2010525471.tif 000002
【特許請求の範囲】
【請求項１】
ターゲット・サーバに対してユーザの認証を行う方法であって、
前記ターゲット・サーバに対して前記ユーザの認証を行うリクエストを、ユーザ・コンピュータ・システムから受信するステップと、
認証計画との一致を、前記ユーザの認証を行うことが要求するかどうかを判断するステップと、
認証計画との一致が要求されると判断するのに応答して、前記ユーザに関連した格納されている認証計画にアクセスするステップであって、前記格納されている認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した期待データをそれぞれ有する１つ以上の認証記録を有する、前記ステップと、
前記ユーザの、現在の認証計画のインジケーションを、認証ストアから受信するステップであって、前記現在の認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した現在のデータをそれぞれ有する１つ以上の認証記録を有する、前記ステップと、
前記格納されている認証計画と、前記受信された現在の認証計画とを、それらが一致するかどうかを判断するために比較するステップと、
前記格納されている認証計画と、前記現在の認証計画との一致に応答して、前記ユーザの認証を行うステップと、
を含む方法。
【請求項２】
認証計画との一致が要求されると判断するのに応答して、現在の認証計画のリクエストを前記ユーザ・コンピュータ・システムへ送信するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記格納されている認証計画と、前記現在の認証計画との不一致に応答して、前記認証計画の不一致を解消するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記認証計画の不一致を解消する前記ステップは、追加の認証データを要求するステップと、認証計画を修正するステップと、認証計画を作成するステップとのうちの少なくとも１つを含む、請求項３に記載の方法。
【請求項５】
前記格納されている認証計画と、前記現在の認証計画とを、それらが一致するかどうかを判断するために比較する前記ステップは、前記認証計画間で、認証計画のうちの少なくとも指定のサブセットが一致するかどうかを判断するために、各認証計画の認証記録を比較するステップを含む、請求項１に記載の方法。
【請求項６】
前記ターゲット・サーバより前の認証レイヤにある１つ以上のサーバに対して、認証ステップを実行するステップと、
実行された認証ステップそれぞれの認証イベント記録を、認証ストアに格納するステップと、
をさらに含む、請求項１に記載の方法。
【請求項７】
前記ユーザに関連した認証計画を要求する前記ターゲット・サーバに対する認証を試行するステップと、
前記ターゲット・サーバへのアクセスが許可されたかどうかのインジケーションを受信するステップと、
をさらに含む、請求項１に記載の方法。
【請求項８】
前記ターゲット・サーバより前の複数の認証レイヤにある複数のサーバに対して実行された１つ以上の認証ステップの、格納されている認証記録を有する現在の認証計画を、前記ターゲット・サーバへ送信するステップをさらに含む、請求項１に記載の方法。
【請求項９】
現在の認証計画のリクエストを、前記ターゲット・サーバから受信するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
プログラム・コード手段を含むコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されると、
ターゲット・サーバに対してユーザの認証を行うリクエストを、ユーザ・コンピュータ・システムから受信するステップと、
認証計画との一致を、前記ユーザの認証を行うことが要求するかどうかを判断するステップと、
認証計画との一致が要求されると判断するのに応答して、前記ユーザに関連した格納されている認証計画にアクセスするステップであって、前記格納されている認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した期待データをそれぞれ有する１つ以上の認証記録を有する、前記ステップと、
前記ユーザの、現在の認証計画のインジケーションを、認証ストアから受信するステップであって、前記現在の認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した現在のデータをそれぞれ有する１つ以上の認証記録を有する、前記ステップと、
前記格納されている認証計画と、前記受信された現在の認証計画とを、それらが一致するかどうかを判断するために比較するステップと、
前記格納されている認証計画と、前記現在の認証計画との一致に応答して、前記ユーザの認証を行うステップと、
を実行するようになっている、コンピュータ・プログラム。
【請求項１１】
認証計画との一致が要求されると判断するのに応答して、現在の認証計画のリクエストを前記ユーザ・コンピュータ・システムへ送信することをさらに含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１２】
前記格納されている認証計画と、前記現在の認証計画との不一致に応答して、前記認証計画の不一致を解消することをさらに含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１３】
前記認証計画の不一致を解消することは、追加の認証データを要求することと、認証計画を修正することと、認証計画を作成することとのうちの少なくとも１つを含む、請求項１２に記載のコンピュータ・プログラム。
【請求項１４】
前記格納されている認証計画と、前記現在の認証計画とを、それらが一致するかどうかを判断するために比較する前記ステップは、前記認証計画間で、認証計画のうちの少なくとも指定のサブセットが一致するかどうかを判断するために、各認証計画の認証記録を比較することを含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１５】
前記ターゲット・サーバより前の認証レイヤにある１つ以上のサーバに対して、認証ステップを実行することと、
実行された認証ステップそれぞれの認証イベント記録を、認証ストアに格納することと、
をさらに含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１６】
前記ユーザに関連した認証計画を要求する前記ターゲット・サーバに対する認証を試行することと、
前記ターゲット・サーバへのアクセスが許可されたかどうかのインジケーションを受信することと、
をさらに含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１７】
前記ターゲット・サーバより前の複数の認証レイヤにある複数のサーバに対して実行された１つ以上の認証ステップの、格納されている認証記録を有する現在の認証計画を、前記ターゲット・サーバへ送信することをさらに含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１８】
現在の認証計画のリクエストを、前記ターゲット・サーバから受信することをさらに含む、請求項１０に記載のコンピュータ・プログラム。
【請求項１９】
ターゲット・サーバに対してユーザの認証を行う装置であって、
前記ターゲット・サーバに対して前記ユーザの認証を行うリクエストを、ユーザ・コンピュータ・システムから受信する手段と、
認証計画との一致を、前記ユーザの認証を行うことが要求するかどうかを判断する手段と、
認証計画との一致が要求されると判断するのに応答して、前記ユーザに関連した格納されている認証計画にアクセスする手段であって、前記格納されている認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した期待データをそれぞれ有する１つ以上の認証記録を有する、前記手段と、
前記ユーザの、現在の認証計画のインジケーションを、認証ストアから受信する手段であって、前記現在の認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した現在のデータをそれぞれ有する１つ以上の認証記録を有する、前記手段と、
前記格納されている認証計画と、前記受信された現在の認証計画とを、それらが一致するかどうかを判断するために比較する手段と、
前記格納されている認証計画と、前記現在の認証計画との一致に応答して、前記ユーザの認証を行う手段と、
を含む装置。
【請求項２０】
認証計画との一致が要求されるという判断に応答して、現在の認証計画のリクエストを前記ユーザ・コンピュータ・システムへ送信する手段をさらに含む、請求項１９に記載の装置。
【請求項２１】
前記格納されている認証計画と、前記現在の認証計画との不一致に応答して、前記認証計画の不一致を解消する手段をさらに含む、請求項１９に記載の装置。
【請求項２２】
解消する前記手段は、
追加の認証データを要求する手段と、
認証計画を修正する手段と、
認証計画を作成する手段と、
のうちの少なくとも１つをさらに含む、請求項２１に記載の装置。
【請求項２３】
前記格納されている認証計画と、前記現在の認証計画とを、それらが一致するかどうかを判断するために比較する前記手段は、前記認証計画間で、認証計画のうちの少なくとも指定のサブセットが一致するかどうかを判断するために、各認証計画の認証記録を比較する手段をさらに含む、請求項１９に記載の装置。
【請求項２４】
前記ターゲット・サーバより前の認証レイヤにある１つ以上のサーバに対して、認証ステップを実行する手段と、
実行された認証ステップそれぞれの認証イベント記録を、認証ストアに格納する手段と、
をさらに含む、請求項１９に記載の装置。
【請求項２５】
前記ユーザに関連した認証計画を要求する前記ターゲット・サーバに対する認証を試行する手段と、
前記ターゲット・サーバへのアクセスが許可されたかどうかのインジケーションを受信する手段と、
をさらに含む、請求項１９に記載の装置。
【請求項２６】
前記ターゲット・サーバより前の複数の認証レイヤにある複数のサーバに対して実行された１つ以上の認証ステップの、格納されている認証記録を有する現在の認証計画を、前記ターゲット・サーバへ送信する手段をさらに含む、請求項１９に記載の装置。
【請求項２７】
現在の認証計画のリクエストを、前記ターゲット・サーバから受信する手段をさらに含む、請求項１９に記載の装置。
【請求項２８】
ターゲット・サーバに対してユーザの認証を行うシステムであって、
ターゲット・サーバへのアクセスをリクエストしているユーザに関連した格納されている認証計画にアクセスするよう動作可能な、認証計画マネージャを有する前記ターゲット・サーバであって、前記格納されている認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザによるアクセスに関連した期待データをそれぞれ有する１つ以上の認証記録を含む、前記ターゲット・サーバと、
前記ユーザに関連した現在の認証計画を格納するよう動作可能な認証ストアであって、前記現在の認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザによるアクセスに関連した現在のデータをそれぞれ有する１つ以上の認証記録を含む、前記認証ストアと、
前記ターゲット・サーバおよび前記認証ストアと通信するよう動作可能であり、特定のユーザに関連した前記現在の認証計画を、前記ターゲット・サーバの前記認証計画マネージャに提供するよう動作可能な、認証ストア・マネージャと、
を含むシステムであって、
前記ターゲット・サーバの前記認証計画マネージャは、ユーザの認証を行うかどうかを、前記格納されている認証計画と、前記現在の認証計画との比較に基づいて判断するよう動作可能である、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムの分野に関し、特に、サーバに対するユーザ認証を、そのユーザによる、他のサーバに対する以前の認証に基づいて行う、段階的認証システム（ｃａｓｃａｄｉｎｇ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｓｙｓｔｅｍ）を実装するシステム、方法および媒体に関する。
【背景技術】
【０００２】
コンピュータ・システムは、当該技術分野において周知であり、今日の現代社会の数多くの部分にコンピュータの能力を提供するよう、広く使用されるようになった。半導体加工およびコンピュータ・アーキテクチャの進歩がコンピュータ・ハードウェアのパフォーマンスを引き続き押し進め、それにつれて、ハードウェアの高まるパフォーマンスを生かすよう、より高度なソフトウェアが発達し、結果として、複雑性および能力が上昇し続けるコンピュータ・システムがもたらされている。このように、コンピュータ・システムは、数多くの異なる環境にある極めて高度なデバイスへと発達した。
【０００３】
多くの組織が、電子商取引ウェブサイトの提供、複雑なマルチ・ユーザ・アプリケーションの提供、大規模データベースの保持、またはリソースを集中的に使用する他のタスクの実行など、複雑性の高いタスクにサーバ・コンピュータ・システムを利用する。コンピュータ処理のニーズが高い組織は、多岐にわたるタスクを実行する多数のサーバを、サーバがローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）などのネットワークを介して相互通信する状態で有することが多い。こういったシステムでは、個々のユーザは、サーバと対話して、アプリケーション、データベースまたはその他のリソースなどの種々のシステム・リソースにアクセスすることもあり、その結果、システム・リソースが複数のユーザによって共有されることもある。
【０００４】
多くの場合、ユーザは、複数レベルでの認証の通過に成功することで、ターゲット・サーバ（すなわち、ユーザがアクセスしたいソフトウェア・サーバ）に到達する。例えば、データベースであるターゲット・サーバにアクセスしたいユーザは、まず、そのユーザのコンピュータのオペレーティング・システムに対する認証を行い、次に、企業ネットワークにアクセスするためにインターネットから仮想プライベート・ネットワーク（ＶＰＮ：Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）に対する認証を行い、続いて、ラボにアクセスするためにファイアウォールに対する認証を行い、さらに最後にラボのマシンにあるデータベースとの認証を行わなければならないこともある。リモート・マシンにログインするためにリモート・コントロール・セッションを確立すること、ＳＳＨまたはＴｅｌｎｅｔなどを用いたリモート・シェル・セッションを確立すること、またはその他のステップなど、他の認証ステップも考えられる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、そのような段階的認証のシステムは、ハッカーがレイヤを「スキップ」して、ターゲット・サーバからのレイヤ数をできる限り少なくし、そこから認証試行を開始することができる場合、セキュリティ・リスクをもたらし得る。例えば、誰かが特定のユーザになりすましたい場合、複数セットの証明書よりも１セットの証明書を推測または取得する方が格段に容易である（レイヤごとに異なる証明書を想定すれば）。このため、一般的には、レイヤが少ないことが一因となり、「内部者」として不正アクセスしやすくなる。実例としては、ハッカーを阻止する可能性９５％の外側のウォール、可能性９３％の内側のファイアウォール、可能性９０％のセキュア・システム、および可能性８５％のアプリケーション・レベルの認証という、４レイヤの認証を備えたシステムを想定することができる。外部からアプリケーションへと最後まで進む累積確率は、各ポイントで阻止される可能性を１から引いたものをシステム全体を通じて求めていくと、（０．０５）（０．０７）（０．１０）（０．１５）＝０．００００５２５という確率になる。その一方、この例の場合、内部者がアプリケーションに直接アクセス可能であるとすれば、その前にあるレベルの認証を回避してしまうので、アプリケーションに達する可能性が１５％（０．１５）となる。
【０００６】
システム設計者らは、ハッカーが内部者をまねることにより複数レベルの認証をスキップする問題を解決しようと試みてきた。既知の解決策の１つは、定義済みのＩＰまたはＭＡＣアドレスからのみ認証を許し、アクセスを指定のアドレスに限定することである。しかし、この解決策は、特にＶＰＮが関係している場合に実用的でないことが多い。さらにこの解決策は、承認されたマシンが共有されていると不十分であり、認証レイヤすべてを十分に活用せず、容易になりすましをされる可能性がある。別の既知の解決策は、スマート・カードまたはその他のデバイスなど、追加の認証を要求することである。しかし、この解決策は、インフラストラクチャの費用をかなり要求し、さらにユーザに不便さを感じさせる。これらの問題はどちらも、ユーザが複数レイヤの認証を行わなければならない場合に悪化する。これは、典型的には複数レイヤのそれぞれに別々のスマート・カードが要求されることになるためである。
【課題を解決するための手段】
【０００７】
上記で特定された問題は、大部分において、サーバに対するユーザ認証を、他のサーバに対する以前の認証に基づいて行うシステム、方法および媒体により対処される。サーバに対してユーザの認証を行う方法の実施形態は、サーバに対してユーザの認証を行うリクエストを受信することと、認証計画との一致を、ユーザの認証を行うことが要求するかどうかを判断することとを含むとよい。計画が要求される場合、本方法はさらに、ターゲット・サーバよりも前の認証レイヤにある別の特定のサーバへのユーザ・アクセスに関する期待情報をそれぞれ有する複数の認証記録を備えて格納されている認証計画にアクセスすることを含むとよい。本方法はさらに、ユーザの、現在の認証計画のインジケーション（ｉｎｄｉｃａｔｉｏｎ）を、認証ストア（ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｓｔｏｒｅ）から受信することを含むとよく、この計画は、ターゲット・サーバよりも前の認証レイヤにある別の特定のサーバへのユーザ・アクセスに関する現在の情報をそれぞれ有する複数の承認記録を有する。本方法の実施形態はさらに、格納されている認証計画と、受信された現在の認証計画とを、それらが一致するかどうかを判断するために比較することと、一致に応答して、ユーザの認証を行うこととを含むとよい。
【０００８】
別の実施形態は、コンピュータ可読プログラムを有するコンピュータ使用可能媒体を含むコンピュータ・プログラム製品を提供する。このコンピュータ可読プログラムは、コンピュータ上で実行されると、コンピュータに、サーバに対してユーザの認証を行う一連の動作を実行させる。一連の動作は、概して、サーバに対してユーザの認証を行うリクエストを受信することと、認証計画との一致を、ユーザの認証を行うことが要求するかどうかを判断することとを含む。計画が要求される場合、一連の動作はさらに、ターゲット・サーバよりも前の認証レイヤにある別の特定のサーバへのユーザ・アクセスに関する期待情報をそれぞれ有する複数の認証記録を備えて格納されている認証計画にアクセスすることを含むとよい。一連の動作の実施形態はさらに、ユーザの、現在の認証計画のインジケーションを、認証ストアから受信することを含むとよく、この計画は、ターゲット・サーバよりも前の認証レイヤにある別の特定のサーバへのユーザ・アクセスに関する現在の情報をそれぞれ有する複数の承認記録を有する。一連の動作の実施形態はさらに、格納されている認証計画と、受信された現在の認証計画とを、それらが一致するかどうかを判断するために比較することと、一致に応答して、ユーザの認証を行うこととを含むとよい。
【０００９】
さらなる実施形態は、段階的認証システムを提供する。段階的認証システムは、ターゲット・サーバへのアクセスをリクエストしているユーザに関連した格納されている認証計画にアクセスする認証計画マネージャ（ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｐｌａｎ  ｍａｎａｇｅｒ）を有するターゲット・サーバを含むとよく、格納されている認証計画は、ターゲット・サーバよりも前の認証レイヤにある別の特定のサーバへのユーザによるアクセスに関する期待情報をそれぞれ有する、１つ以上の認証記録を含む。段階的認証システムはさらに、ユーザに関連した現在の認証計画を格納する認証ストアを含むとよく、現在の認証計画は、ターゲット・サーバよりも前の認証レイヤにある別の特定のサーバへのユーザによるアクセスに関する現在の情報をそれぞれ有する、１つ以上の認証記録を含む。段階的認証システムの実施形態はさらに、特定のユーザに関連した現在の認証計画をターゲット・サーバの認証計画マネージャに提供する認証ストア・マネージャ（ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｓｔｏｒｅ  ｍａｎａｇｅｒ）を含むとよく、ターゲット・サーバの認証計画マネージャは、ユーザの認証を行うかどうかを、ユーザに関する格納されている認証計画と、ユーザに関する現在の認証計画との比較に基づいて判断する。
【００１０】
別の実施形態は、ターゲット・サーバに対してユーザの認証を行う方法を提供する。本方法の実施形態は、ターゲット・サーバより前の認証レイヤにある１つ以上のサーバに対して認証ステップを実行することと、実行された認証ステップそれぞれの認証イベント記録を、認証ストアに格納することとを含むとよい。本方法の実施形態はさらに、ターゲット・サーバに対する認証を試行することを含むとよく、そこでターゲット・サーバは、ユーザに関連した認証計画を要求する。本方法の実施形態はさらに、ターゲット・サーバへのアクセスが許可されたかどうかのインジケーションを受信することを含むとよい。
【００１１】
認証計画の各認証記録は、サーバ識別子と、認証イベント・ファクト（ｅｖｅｎｔ  ｆａｃｔ）とを含むことが好ましい。認証ストアは、暗号化されたデータベースであるとより好ましい。認証ストア・マネージャは、ターゲット・サーバへのアクセスをリクエストしているユーザのユーザ・コンピュータ・システムの不揮発性メモリにおいて実行されるとさらに好ましい。認証ストア・マネージャは、信頼できる第三者機関のコンピュータ・システム上で実行されるとさらに好ましい。ターゲット・サーバへのアクセスが許可されなかったというインジケーションを受信するのに応答して、ターゲット・サーバとの認証計画の不一致が解消されるとさらに好ましい。
【００１２】
以下の詳細な説明を読み、添付の図面を参照することで、本発明の、特定の実施形態の態様が明らかとなる。図面では、同じ参照符号が同様の構成要素を示すこともある。
【図面の簡単な説明】
【００１３】
【図１】一部の実施形態による、ユーザ・コンピュータ・システム、複数のターゲット・サーバ、および認証ストアを備える段階的認証システムの環境を示す。
【図２】段階的認証システムのコンポーネントとして使用するのに適したコンピュータ・システムの一実施形態のブロック図を示す。
【図３】一部の実施形態による認証計画マネージャのソフトウェア・コンポーネントの概念図を示す。
【図４】一部の実施形態による認証ストア・マネージャのソフトウェア・コンポーネントの概念図を示す。
【図５】一部の実施形態による、特定ユーザおよびターゲット・サーバに関する認証計画作成の流れ図の例を示す。
【図６】一部の実施形態による、ユーザによるターゲット・サーバに対する認証の流れ図の例を示す。
【図７】一部の実施形態に対する、ターゲット・サーバによるユーザ認証の流れ図の例を示す。
【発明を実施するための形態】
【００１４】
以下は、添付の図面に示されている本発明の実例としての実施形態の、詳細な説明である。例示としての実施形態は、本発明を明瞭に伝えるような詳しさとなっている。ただし、示される詳しさは、実施形態の予想される変形物を制限することを意図するものではなく、それどころか、添付の特許請求の範囲により定義される本発明の意図および範囲内に入るすべての変更物、等価物、代案を対象としようとするものである。以下の説明は、当業者に対しそのような実施形態を明らかなものとすることを目的とするものである。
【００１５】
全般的には、サーバに対するユーザ認証を、他のサーバに対する以前の認証に基づいて行うシステム、方法および媒体が開示される。サーバに対してユーザの認証を行う方法の実施形態は、サーバに対してユーザの認証を行うリクエストを受信することと、認証計画との一致を、ユーザの認証を行うことが要求するかどうかを判断することとを含むとよい。計画が要求される場合、本方法はさらに、ターゲット・サーバよりも前の認証レイヤにある別の特定のサーバへのユーザ・アクセスに関する期待情報をそれぞれ有する複数の認証記録を備えて格納されている認証計画にアクセスすることを含むとよい。本方法はさらに、ユーザの、現在の認証計画のインジケーションを、認証ストアから受信することを含むとよく、この計画は、ターゲット・サーバよりも前の認証レイヤにある特定のサーバである他のサーバへのユーザ・アクセスに関する現在の情報をそれぞれ有する複数の承認記録を有する。本方法の実施形態はさらに、格納されている認証計画と、受信された現在の認証計画とを、それらが一致するかどうかを判断するために比較することと、一致に応答して、ユーザの認証を行うこととを含むとよい。
【００１６】
開示される実施形態のシステムおよび方法は、ターゲット・サーバへのユーザの効果的かつ効率的な認証を可能にするものであり、これは、他のサーバに対して前に行われた他の認証に依存することによる。開示される実施形態によるターゲット・サーバは、ユーザの認証を行う前に、あらかじめ確立されている認証計画に従って、前の複数レイヤの認証を確認および要求する能力を与えられる。この解決策は、ハッカーまたは他の者が「内部者」を装うことなどによって最初の方の認証レイヤを迂回することの防止に役立ち、ターゲット・サーバの全般的なセキュリティを強化する。したがって、層構造の承認システムの内側レイヤが、前のレイヤの承認スキームからの恩恵をより直接的に受けることができるため、内側のレイヤは以前のシステムよりもセキュアになると考えられる。企業またはユーザ指定のルールが、複数の定義済み認証レイヤをユーザが通過しなければならないと命令する場合、開示されるシステムおよび方法は、特に内部者からのセキュリティを強化すると考えられる。
【００１７】
概して、本発明の実施形態を実装するために実行されるルーチンは、特定のアプリケーション、コンポーネント、プログラム、モジュール、オブジェクトまたは命令シーケンスの一部としてもよい。本発明のコンピュータ・プログラムは、典型的には、ネイティブ・コンピュータによって機械可読フォーマットに、ひいては実行可能命令に変換されることになる、多数の命令から成る。さらにプログラムは、プログラムに対してローカルにあるか、またはメモリ内もしくはストレージ・デバイス上にある変数およびデータ構造から成る。さらに、本願明細書に記載される種々のプログラムは、本発明の特定の実施形態においてプログラムが実装される用途に基づき特定されると考えられる。なお、当然のことながら、本願明細書の特定のプログラム用語は、いずれも単に便宜上使用されているものであり、したがって本発明は、そのような用語によって特定または暗示、あるいはその両方をされる特定の用途のみでの使用に限定されるべきではない。
【００１８】
以下では、ハードウェアまたはソフトウェアあるいはその両方の特定の構造を参照して特定の実施形態について記載するが、当業者であれば当然のことながら、本発明の実施形態は、有利には、実質的に等価な他のハードウェア、ソフトウェア・システム、手動操作、またはこれらのうちいずれかまたはすべての任意の組み合わせを用いて実装されるとよい。本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェア要素およびソフトウェア要素両方を含んだ実施形態という形をとることができる。好適な実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されないソフトウェアにおいて実装される。
【００１９】
本願明細書に記載される本発明の態様は、コンピュータ可読媒体に格納されても、またはコンピュータ可読媒体上で配布されてもよく、さらに、インターネット上または無線ネットワークなどの他のネットワーク上で電子的に配布されてもよい。本発明の態様に特有のデータ構造およびデータ送信（無線送信を含む）も、本発明の範囲内に含まれる。さらに、本発明は、コンピュータまたは任意の命令実行システムにより使用される、またはそれに関連して使用されるプログラム・コードを提供するコンピュータ可読媒体からアクセス可能な、コンピュータ・プログラム製品という形をとることができる。本記載では、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置もしくはデバイスにより使用される、またはこれらに関連して使用されるプログラムを、含むこと、格納すること、伝達すること、伝播させること、または転送することができる任意の装置とすることができる。媒体は、電子、磁気、光学、電磁気、赤外線または半導体のシステム（もしくは装置もしくはデバイス）、または伝播媒質としてもよい。コンピュータ可読媒体の例には、半導体または固体メモリ、磁気テープ、取り外し可能なコンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、剛体磁気ディスクおよび光ディスクがある。光ディスクの現在の例には、コンパクト・ディスク‐読み取り専用メモリ（ＣＤ‐ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｋ‐ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、コンパクト・ディスク‐リード／ライト（ＣＤ‐Ｒ／Ｗ：ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ／ｗｒｉｔｅ）およびＤＶＤがある。
【００２０】
本願明細書に記載される各ソフトウェア・プログラムは、パーソナル・コンピュータ、サーバなど、任意の種類のデータ処理システム上で運用されればよい。プログラム・コードの格納または実行、あるいはその両方を行うのに適したデータ処理システムは、システム・バスを介して直接的または間接的にメモリ要素に結合された、少なくとも１つのプロセッサを含むと考えられる。メモリ要素は、プログラム・コードの実行中に用いられるローカル・メモリと、大容量ストレージと、実行中に大容量ストレージからコードを読み出さなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的なストレージとなるキャッシュ・メモリとを含み得る。入出力（Ｉ／Ｏ：Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）デバイス（限定されるものではないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む）を、直接、または介在するＩ／Ｏコントローラを介してシステムに結合可能である。データ処理システムを、介在するプライベート・ネットワークまたはパブリック・ネットワークを介して他のデータ処理システムまたはリモート・プリンタまたはストレージ・デバイスに結合できるよう、ネットワーク・アダプタもシステムに結合されているとよい。モデム、ケーブル・モデムおよびイーサネット（Ｒ）カードが、現時点で入手可能な種類のネットワーク・アダプタのごく一部である。
【００２１】
以下、図面を参照する。図１は、一部の実施形態による、ユーザ・コンピュータ・システム、複数のターゲット・サーバ、および認証ストアを備える段階的認証システムの環境を示す。示されている実施形態では、段階的認証システム１００は、ネットワーク１０４を介して通信している、ユーザ・コンピュータ・システム１０２と、複数のターゲット・サーバ１０６とを含む。ターゲット・サーバ１０６は、後述のように、マシンの分類の意味よりもソフトウェアの意味でのサーバであり、したがって、アクセスのために認証が要求され得るソフトウェア・エンティティ（例えばアプリケーション、オペレーティング・システム、ネットワーク・インターフェースなど）と見なされるとよい。ユーザ・コンピュータ・システム１０２またはターゲット・サーバ１０６あるいはその両方はさらに、ネットワーク１０４を介して認証ストア１０８と通信しているとよい。
【００２２】
ユーザ・コンピュータ・システム１０２のユーザは、ファイアウォール・ターゲット・サーバ１０６およびオペレーティング・システムの認証プロトコルによって保護されているデータベース・ターゲット・サーバ１０６など、一連のターゲット・サーバ１０６において１以上内側のレイヤの、特定のターゲット・サーバ１０６にアクセスすることを望むこともある。後でさらに詳しく記載されるように、開示されるシステムは、有利には、データベース・ターゲット・サーバ１０６に対する認証の前にファイアウォールまたはオペレーティング・システム・ターゲット・サーバ１０６に対するユーザの認証についての情報を要求することなどによって、特定のターゲット・サーバ１０６に対する認証を与える前に下位レベルのターゲット・サーバ１０６における認証についての情報を要求するとよい。これを達成するために、ターゲット・サーバ１０６は、前に格納された認証計画と、ユーザの現在の認証についての情報とを比較して、それらが一致するかどうかを判断するとよい。それらが一致しなければ、そのユーザは内部者を装って複数レベルの認証をスキップしている可能性があるため、ターゲット・サーバ１０６はアクセスを拒否するとよく、一方、一致すれば、ユーザはターゲット・サーバ１０６へ認証されるとよい。認証計画は、ユーザが認証を許される前に実行されなくてはならない１つ以上の定義済み認証ステップを含むとよい。実例としての認証計画は、例えば、サーバＡから独立しているとよいサーバＢがユーザの認証を許す前に、ユーザはまず、他の点では証明書が完璧であっても、サーバＡにて認証を行わなければならないと要求してもよい。認証計画は、必要なだけ、またはユーザもしくはターゲット・サーバ１０６が望むだけの数のステップを要求してよい。
【００２３】
ユーザは、認証を経てターゲット・サーバ１０６にアクセスするのを容易にするために、本実施形態によるユーザ・コンピュータ・システム１０２を利用するとよい。ユーザ・コンピュータ・システム１０２は、パーソナル・コンピュータ、ワークステーション、サーバ、ノートブックもしくはラップトップ・コンピュータ、デスクトップ・コンピュータ、携帯情報端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、移動電話、無線デバイスまたはセット・トップ・ボックスなど、コンピュータ・プログラムを実行するようになっているパーソナル・コンピュータ・システムまたはその他のコンピュータ・システムであればよい。ユーザは、ユーザ・インターフェースを介してユーザ・コンピュータ・システム１０２と対話して、例えばターゲット・サーバ１０６へのアクセスをリクエストしても、またはターゲット・サーバ１０６からアクセスが許可されたかどうかについての情報を受信してもよい。ユーザ・コンピュータ・システム１０２は、情報の送受信のためにネットワーク１０４と通信しているとよい。
【００２４】
ユーザ・コンピュータ・システム１０２は、段階的認証に役立つ認証ストア・マネージャ１１２を含むとよい。図４に関してより詳しく記載される認証ストア・マネージャ１１２は、ターゲット・サーバ１０６または認証ストア１０８、あるいはその両方との対話を実現するとよい。認証ストア・マネージャ１１２は、例えば、実行された認証ステップそれぞれの認証イベント記録を、認証ストア１０８に格納してもよい。認証ストア・マネージャ１１２はさらに、ターゲット・サーバ１０６がアクセスを許可もしくは拒否するとき、認証計画をリクエストもしくは確立するとき、または認証計画とユーザの現在の認証との間の矛盾の解消をリクエストするときなどに、ターゲット・サーバ１０６と対話するとよい。したがって、認証ストア・マネージャ１１２は、承認情報をリクエストする様々なターゲット・サーバ１０６の承認メカニズム用承認情報の、信頼できるソースとして機能するとよい。
【００２５】
ネットワーク１０４は、インターネット、イントラネット、ＬＡＮ、ＷＡＮ、イーサネット（Ｒ）ネットワーク、無線ネットワーク、電話ネットワーク、固有ネットワーク、またはブロードバンド・ケーブル・ネットワークなど、任意のタイプのデータ通信チャネルまたは複数チャネルの組み合わせであればよい。一例では、組織内での通信を容易にするには、企業環境内でのユーザ・コンピュータ・システム１０２とターゲット・サーバ１０６との間のネットワーク１０４としてＬＡＮが特に有用なこともあり、一方、他の例では、ネットワーク１０４は、ユーザ・コンピュータ・システム１０２とウェブ・ベースの認証ストア１０８とを、ネットワーク１０４としての機能を果たすインターネットを用いて接続してもよい。なお、当業者には当然のことながら、本願明細書に記載される本発明は、本発明の範囲または意図から逸脱することなく、任意のタイプまたは組み合わせのデータ通信チャネル（単数または複数）を利用して実装され得る。
【００２６】
前述のように、ターゲット・サーバ１０６は、ソフトウェア・エンティティであり、各ターゲット・サーバ１０６のリソースにアクセスするためには、ソフトウェア・エンティティに対し認証が必要でそれが許可されるようにすればよい。ターゲット・サーバ１０６は、オペレーティング・システム、データベース、ファイアウォール、仮想プライベート・ネットワーク（ＶＰＮ）、ネットワーク、アプリケーション、またはその他のエンティティを含め、多岐にわたるソフトウェア・エンティティを含んでよい。１つ以上のターゲット・サーバ１０６が、アプリケーション・サーバなどのサーバ・コンピュータ・システム、並びにその他任意のタイプのコンピュータ・システム（図２との関連で記載されているものなど）上に実装されるとよい。図１に示されているように、内側のターゲット・サーバ１０６へのアクセスが、最初に、外側（図１で）の下位レベル・ターゲット・サーバ１０６へのアクセスを要求するように、ターゲット・サーバ１０６がレイヤにネストされているとよい。例えば、示されている実施形態では、レベル３にあるターゲット・サーバ１０６へのアクセスは、レベル１および２にあるターゲット・サーバ１０６へのアクセスも要求することになる。
【００２７】
各ターゲット・サーバ１０６は、ターゲット・サーバ１０６へのアクセスをリクエストするユーザに関連した格納されている認証計画にアクセスするために、認証計画マネージャ１１０を含むとよい。格納されている認証計画は、ターゲット・サーバ１０６よりも前の認証レイヤにある別のターゲット・サーバ１０６へのユーザによるアクセスに関する期待情報をそれぞれ有する、１つ以上の認証記録を含むとよい。認証計画マネージャ１１０は、ユーザの現在の認証状況を表す現在の認証計画を、認証ストア・マネージャ１１２（それ自体が認証ストア１０８の現在の認証計画にアクセスするとよい）から提供するとよい。認証計画マネージャ１１０はさらに、ユーザの認証を行うかどうかを、格納されている認証計画と、現在の認証計画との比較に基づき判断するとよい。認証計画マネージャ１１０は、期待される、格納されている認証計画と、現在の認証計画とを比較することによって、ターゲット・サーバ１０６の下位レベルにおいてユーザが適切に認証してきたかどうかを確かめるとよく、ユーザの他の証明書（パスワードなど）が正確であってもそのようなユーザに対してアクセスを拒否することもでき、ターゲット・サーバ１０６の改善されたセキュリティを実現する。
【００２８】
レガシー・システムなどの一部のターゲット・サーバ１０６には、認証計画マネージャ１１０がなく、したがって関連の認証計画を要求しないこともあるが、それでもやはり、これらのターゲット・サーバ１０６からの認証が後続のターゲット・サーバ１０６によって使用されて、それらのセキュリティが強化されるとよい。したがって、開示されるシステムを実装していないターゲット・サーバ１０６は、認証情報をリクエストせず、代わりに、普通に認証を実行するため、開示されるシステムは既存のインフラストラクチャに適合する。図１に示されているように、１つの段階的認証システム１００内で、一部のターゲット・サーバ１０６が、認証計画マネージャ１１０を有し（したがって開示されるシステムが実装されている）、一方、その他のターゲット・サーバ１０６が、認証計画マネージャ１１０を有しなくてもよい。
【００２９】
認証ストア１０８は、ハード・ドライブ、ストレージ・エリア・ネットワーク、メモリ、固定もしくは取り外し可能ストレージ、またはその他のストレージ・デバイスなどの揮発性または不揮発性ストレージを含め、任意のタイプまたは組み合わせのストレージ・デバイスを含めばよい。一部の実施形態では、認証ストア１０８は、読み書きをリクエストする承認された任意の認証メカニズムのための、認証ストア・マネージャ１１２などの信頼できるソースによって読み書き可能な、異種のローカルおよびリモート認証情報の暗号化データベースとしてもよい。認証ストア１０８は、スタンドアロン・コンポーネント（おそらく、信頼できる第三者機関によってリモート・サーバもしくは複数サーバのネットワーク上に実装される）である、またはユーザ・コンピュータ・システム１０２もしくは認証ストア・マネージャ１１２の一部であるなど、段階的認証システム１００の種々の位置にあってよい。
【００３０】
図２は、段階的認証システムのコンポーネントとして使用するのに適したコンピュータ・システム２００の一実施形態のブロック図を示す。本願明細書で与えられる機能以外の機能、および場合によってはそれら機能より勝る機能を有するコンピュータを含め、コンピュータ・システム２００に関しては他の可能性も考えられ、他の実施形態では、ワークステーション、サーバ、メインフレーム・コンピュータ、ノートブックまたはラップトップ・コンピュータ、デスクトップ・コンピュータ、ＰＤＡ、移動電話、無線デバイス、セット・トップ・ボックスまたは同様のものなどの、処理デバイスの任意の組み合わせとしてもよい。コンピュータ・システム２００のコンポーネントのうち少なくともいくつかは、コンピュータ・システム２００のコンポーネントを電気的に相互接続する手段を提供するべく、多層プレーナまたはマザーボード（それ自体がシャーシに取り付けられていてもよい）上に取り付けられてもよい。コンピュータ・システム２００は、１つ以上のターゲット・サーバ１０６、ユーザ・コンピュータ・システム１０２、または認証ストア１０８、あるいはそれらすべてを実装するために利用されるとよい。
【００３１】
示されている実施形態では、コンピュータ・システム２００は、バス２１２またはその他のインターコネクトに接続された、プロセッサ２０２、ストレージ２０４、メモリ２０６、ユーザ・インターフェース・アダプタ２０８、ディスプレイ・アダプタ２１０を含む。バス２１２は、プロセッサ２０２と、コンピュータ・システム２００の他のコンポーネントとの間、並びにコンポーネント間の通信を促す。プロセッサ２０２は、命令を実行する、１つ以上のシステム中央処理ユニット（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）またはプロセッサを含むとよい。プロセッサ２０２は、ストレージ２０４を利用するとよく、ストレージ２０４は、１つ以上のハード・ドライブ、テープ・ドライブ、ディスケット・ドライブ、ＣＤ‐ＲＯＭドライブ、ＤＶＤ‐ＲＯＭドライブまたは同様のものなどの不揮発性ストレージであればよい。プロセッサ２０２はさらに、メモリ・コントローラ・ハブ（ＭＣＨ：ｍｅｍｏｒｙ  ｃｏｎｔｒｏｌｌｅｒ  ｈｕｂ）を介してなど、バス２１２を介してメモリ２０６に接続されているとよい。システム・メモリ２０６は、ランダム・アクセス・メモリ（ＲＡＭ）またはダブル・データ・レート（ＤＤＲ：ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ）同期型ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ：ｓｙｎｃｈｒｏｎｏｕｓ  ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）などの揮発性メモリを含むとよい。例えば、開示されるシステムでは、プロセッサ２０２は、命令を実行して認証ストア１０８と対話することなどによって、認証ストア・マネージャ１１２の機能を実行するとよく、さらに、その計算中に情報を、または計算後に結果を、ストレージ２０４またはメモリ２０６に一時的または恒久的に格納するとよい。例えば、認証ストア・マネージャ１１２の一部分はすべて、そのルーチンの実行中にメモリ２０６に格納されてもよい。
【００３２】
ユーザ・インターフェース・アダプタ２０８は、プロセッサ２０２と、マウス２２０またはキーボード２２２などのユーザ・インターフェース・デバイスとを接続するとよい。ユーザ・インターフェース・アダプタ２０８はさらに、タッチ・パッド、タッチ・スクリーン、電子ペン、マイクロホンなどの、他のタイプのユーザ入力デバイスと接続してもよい。例えば、ターゲット・サーバ１０６へのアクセスをリクエストするか、または認証計画の不一致を解消するクライアント１０２のユーザは、キーボード２２２およびマウス２２０を利用してコンピュータ・システムと対話してもよい。バス２１２はさらに、ディスプレイ・アダプタ２１０を介して、プロセッサ２０２をＬＣＤディスプレイまたはＣＲＴモニタなどのディスプレイに接続するとよい。
【００３３】
認証ストア・マネージャ１１２は、図２においてプロセッサ２０２内にあるように示されている（ＢＩＯＳのコンポーネントなど）が、当業者には当然のことながら、他の選択肢も考えられる。好適な実施形態では、認証ストア・マネージャ１１２は、ハッキングの可能性を最小限にするために、セキュリティが十分なレベルにある位置で実行すればよい。認証ストア・マネージャ１１２は、認証ストア１０８から正確な情報を提供すると信頼されるため、信頼できる機関によって、信頼できる暗号化を用いて実装され、さらに、こういった記録の偽造を防止するよう、認証されている各ターゲット・サーバ１０６と秘密鍵（またはその他適切な暗号方式）を交換することが好ましい。したがって、認証ストア・マネージャ１１２は、図２に示されているようにハードウェアにおいて低レベルにて（ＢＩＯＳ）実装されても、オペレーティング・システム（すなわちカーネル）において実装されても、またはベリサイン社（ＶｅｒｉＳｉｇｎ，Ｉｎｃ．）などの第三者機関、またはコーポレート・ライトウェイト・ディレクトリ・アクセス・プロトコル（ＬＤＡＰ：Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）ディレクトリ・エクステンション（ｄｉｒｅｃｔｏｒｙ  ｅｘｔｅｎｓｉｏｎ）によって実装されてもよい。ファイアウォール、およびその他、ネットワークの限られた可視度が理由で、リクエストに対応するようネットワーク中を橋渡しするために代理認証ストア・マネージャ（ｐｒｏｘｙ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｓｔｏｒｅ  ｍａｎａｇｅｒ）１１２が要求されることもある。
【００３４】
図３は、一部の実施形態による認証計画マネージャ１１０のソフトウェア・コンポーネントの概念図を示す。前に（および図７に関してより詳しく）記載されているように、認証計画マネージャ１１０は、格納されている認証計画、および認証ストア１０８にあるユーザの現在の認証に基づいて、ユーザの認証を行うとよい。認証計画マネージャ１１０は、認証ストア・マネージャ・インターフェース・モジュール３０２と、ユーザ・コンピュータ・システム・インターフェース・モジュール３０４と、認証計画リポジトリ３０６と、認証モジュール３０８とを含むとよい。認証ストア・マネージャ・インターフェース・モジュール３０２は、認証ストア・マネージャ１１２を介した認証ストア１０８との通信を提供し、それによって、認証ストア１０８と、認証計画マネージャ１１０の他のコンポーネントとの間のインターフェースとしての機能を果たすとよい。ユーザ・コンピュータ・システム・インターフェース・モジュール３０４は、ターゲット・サーバ１０６に対するアクセスのリクエストの受信、ユーザにアクセスが許可されたかどうかのインジケーションの送信を含む、ユーザ・コンピュータ・システムとの通信を提供するとよい。ユーザ・コンピュータ・システム１０２が認証ストア・マネージャ１１２を含む場合など、一部の実施形態では、認証ストア・マネージャ・インターフェース・モジュール３０２およびユーザ・コンピュータ・システム・インターフェース・モジュール３０４の機能性が、１つのモジュールへと組み合わせられてもよい。
【００３５】
認証モジュール３０８は、本実施形態に従って、種々の機能を提供してユーザの認証を促せばよい。認証モジュール３０８は、認証計画リポジトリ３０６に複数のユーザに関連した認証計画を格納し、それらにアクセスするとよい。認証モジュール３０８は、認証計画がユーザから受信されたときまたはユーザ用に（もしくはユーザに関連して）作られたときに、認証計画を格納するとよく、認証計画マネージャ１１０を実装するターゲット・サーバ１０６へのアクセスをユーザがリクエストするのに応答して、格納されている認証計画にアクセスするとよい。ユーザ・コンピュータ・システム・インターフェース・モジュール３０４がユーザから認証リクエストを受信した後、認証モジュール３０８は、認証計画リポジトリ３０６の、そのユーザに関して格納されている認証計画にアクセスし、その計画と、現在の認証計画（認証ストア・マネージャ・インターフェース・モジュール３０２によって受信される）とを比較するとよい。
【００３６】
図４は、一部の実施形態による認証ストア・マネージャ１１２のソフトウェア・コンポーネントの概念図を示す。前に（および図６に関してより詳しく）記載されているように、認証ストア・マネージャ１１２は、認証ストア１０８を管理することにより、複数のターゲット・サーバ１０６の、ユーザの認証に関する認証情報の格納および管理を促せばよい。認証ストア・マネージャ１１２は、ユーザ・インターフェース・モジュール４０２と、認証ストア・インターフェース・モジュール４０４と、サーバ・インターフェース・モジュール４０６と、認証イベント・モニタ４０８と、認証計画生成器４１０とを含むとよい。ユーザ・インターフェース・モジュール４０２は、ターゲット・サーバ１０６へのアクセス要求を受け取ること、および、アクセスが許可または拒否されたというインジケーション、認証計画が作成または修正される必要があるというインジケーション、またはその他の情報を送ることを含む、ユーザとの通信を促せばよい。認証ストア・インターフェース・モジュール４０４は、認証イベントのインジケーションを認証ストア１０８へ格納すること、およびターゲット・サーバ１０６などの認証エンティティのリクエストに基づいて認証計画にアクセスすることを含む、認証ストア１０８との通信を促せばよい。サーバ・インターフェース・モジュール４０６は、ターゲット・サーバ１０６（およびその認証計画マネージャ１１０）と、認証ストア・マネージャ１１２との間の通信を促せばよい。３つのインターフェース・モジュール４０２、４０４および４０６はそれぞれ、認証ストア・マネージャ１１２のコンポーネントと、外部エンティティとの間の通信を実現すればよく、それらの機能性は任意の方法で組み合わせまたは分割されてもよい。
【００３７】
認証イベント・モニタ４０８は、ユーザの実行済み認証ステップ（例えばパスワードの入力、スマート・カードの使用など）を監視するとよく、そのようなステップの暗号化されたインジケーションを、認証ストア１０８に（認証ストア・インターフェース・モジュール４０４を介して）格納するとよい。一部の実施形態では、認証イベント・モニタ４０８は、認証ステップごとに、後続の認証レイヤがリクエストし得る情報と共に認証ストア１０８に格納する暗号化されたイベント記録を作成するとよい。認証記録の情報は、内部管理用の一意の記録識別子、１つ以上のターゲット・サーバ１０６識別子（ＭＡＣアドレス、サーバ・タイプ、サーバ識別子、サーバ・グループ、ＩＰアドレスなど）、１つ以上のユーザ識別子（ユーザ名、グループ名など）、１つ以上の認証イベント・ファクト（ログイン成功前に失敗した認証試行の数、認証ストア１０８に対してローカルのタイムスタンプなど）、または他の情報のうちの１つ以上を含むとよい。
【００３８】
認証計画生成器４１０は、ユーザに関する認証計画の作成および保持を促せばよい。ユーザは、ターゲット・サーバ１０６により要求または許可された場合に、特定のターゲット・サーバ１０６に関する認証計画において使用されるべき、その認証ストア内の現在の記録を特定することなどによって、計画を作成してもよい。一部の実施形態では、ターゲット・サーバ１０６の管理者が、任意の認証計画で要求される必要な認証ステップをあらかじめ決めていてもよい。例えばサーバ管理者は、認証計画が、少なくともサーバ・タイプＢＩＯＳ、ＯＳ、ＶＰＮおよびＦＩＲＥＷＡＬＬを含み、さらに場合により、具体的なＶＰＮサーバ・グループまたはファイアウォールＩＰアドレスなどのあらかじめ知られているさらなる情報を含むよう要求することができるであろう。ユーザはさらに、ユーザの保護のために、ターゲット・サーバ１０６により要求されるもの以上の追加のステップが含まれるようリクエストしてもよい。
【００３９】
図５は、一部の実施形態による、特定ユーザおよびターゲット・サーバに関する認証計画を作成する流れ図５００の例を示す。流れ図５００の方法は、一実施形態では、認証計画マネージャ１１０および認証ストア・マネージャ１１２などの、段階的認証システム１００のコンポーネントにより実行されればよい。流れ図５００は、特定のユーザの認証計画を作成するリクエストを受信する要素５０２から開始する。認証計画のリクエストは、認証計画が要求されていることをユーザに通知しようと試行するターゲット・サーバ１０６から受信されても、特定のターゲット・サーバ１０６との認証計画を確立することをリクエストするユーザから受信されてもよい。
【００４０】
決定ブロック５０４で、認証ストア・マネージャ１１２は、その特定のユーザおよび他の認証レベルに関して現在の認証記録が存在するかどうかを判断するとよい。存在すれば、認証ストア・マネージャ１１２は、ユーザが、どの認証イベントをターゲット・サーバ１０６に関する認証計画に含めたいかを選択できるように、（認証ストア１０８からの）存在する認証記録の現在のリストをユーザに示すとよい。認証ストア・マネージャ１１２は、認証計画で使用されることになる、認証ストア１０８内の、現在の記録の識別を、要素５０６にて受信するとよい。ターゲット・サーバ１０６はさらに、ユーザが選んだものに加えて、ユーザからの特定の認証イベントを要求してもよい。要素５０８で、認証ストア・マネージャ１１２の認証計画生成器４１０が、ユーザおよびターゲット・サーバ１０６のプリファレンスおよび選択に基づいて、認証計画を作成するとよい。
【００４１】
認証計画が作成された後、続いて認証ストア・マネージャ１１２のサーバ・インターフェース・モジュール４０６が、要素５１０で、計画をターゲット・サーバ１０６へ送信するとよい。ターゲット・サーバ１０６は、要素５１２で認証計画を受信し、要素５１４で計画を認証計画リポジトリ３０６に格納し、その後方法が終了する。認証計画リポジトリ３０６は、一部の実施形態において、多数のユーザの種々の認証計画用のストレージとしての機能を果たすとよい。
【００４２】
図６は、一部の実施形態による、ユーザによるターゲット・サーバに対する認証の流れ図６００の例を示す。流れ図６００の方法は、一実施形態では、認証ストア・マネージャ１１２などの、段階的認証システム１００のコンポーネントにより実行されればよい。流れ図６００は、認証ストア１０８内の認証記録を更新する省略可能な要素６０２から開始する。認証ストア・マネージャ１１２は、様々な理由で認証記録を更新し得る。例えば、一部の実施形態では、認証ストア・マネージャ１１２は、認証済みのターゲット・サーバ１０６がログ・アウトもしくは切断された場合、または認証計画において早い方のターゲット・サーバ１０６が同様にログ・アウトもしくは切断された場合は必ず認証記録を削除することにより、古い情報を回避することを試みるとよい。これらの実施形態では、認証記録はまず、レポートまたは使用分析など、保存を目的として、別のテーブルに書き込まれるとよい。認証ストア・マネージャ１１２は、ターゲット・サーバの認証システムに現在の状況を周期的に問い合わせること、ターゲット・サーバ１０６から記録削除のリクエストを受信すること、またはそのようなリクエストをユーザから受信すること、あるいはそのいずれかの組み合わせにより、これを達成してもよい。認証ストア・マネージャ１１２はさらに、認証計画において上位のターゲット・サーバ１０６がログ・アウトされた場合、またはそのようなサーバがユーザを無効化もしくはサスペンドした場合に、下流のターゲット・サーバ１０６をログ・アウトすることにより、逆の手順を実行してもよい。
【００４３】
ユーザ・コンピュータ・システム１０２は、要素６０４で、マシン・ハードウェア（パワー・オン・パスワードを用いて）、そのオペレーティング・システム、ＶＰＮ、ファイアウォール、データベースなどのターゲット・サーバ１０６への認証に成功することなどによって、種々のターゲット・サーバ１０６に対して認証ステップを実行するとよい。要素６０６で認証ストア・マネージャ１１２は、前述のように、暗号化された認証記録をユーザの認証ストア１０８に格納するとよい。認証記録は、認証ステップの成功のインジケーション、タイムスタンプ、必要であった試行数のインジケーションなど、認証ステップの実行についての情報を含めばよい。続いて、ユーザ・コンピュータ・システム１０２は決定ブロック６０８で、ターゲット・サーバ１０６への認証を試行するとよい。当該のターゲット・サーバ１０６が認証計画を要求しなければ、本方法は、認証ステップを実行する要素６０４へ戻って、実行されたステップに基づいて認証記録を格納するとよい。
【００４４】
ターゲット・サーバ１０６が認証計画を要求する場合、認証ストア・マネージャ１１２は要素６１０で、現在の認証計画のリクエストをターゲット・サーバ１０６から受信するとよい。前述のとおり、現在の認証計画は、ターゲット・サーバ１０６より前の複数の認証レイヤにある複数サーバに関する、１つ以上の認証ステップの認証記録を含むとよい。したがって、現在の認証計画に含まれる認証記録は、ユーザに関して期待される認証記録（すなわち、ユーザが行ってきたとターゲット・サーバ１０６が期待すること）である。次に、認証ストア・マネージャ１１２は要素６１２で、ユーザに関する認証計画にアクセスするとよく、続いて要素６１４で、認証計画からの期待される情報を、ターゲット・サーバ１０６へ送信するとよい。
【００４５】
認証計画からの情報が送信された後、ユーザ・コンピュータ・システム１０２およびその認証ストア・マネージャ１１２は、要素６１６で、ターゲット・サーバ１０６によってアクセスが許可されたかどうかのインジケーションを受信するとよい。決定ブロック６１８でアクセスが許可されていたら、流れ図６００の方法は終了する（ユーザは、遂行のためにアクセスを求めていた何らかのタスクを実行する）か、または要素６０４で認証ステップを実行するよう要素６０４に戻る。決定ブロック６１８でアクセスが許可されていなければ、認証ストア・マネージャ１１２は、それらが承認されていない認証計画によってアクセスしていると通知されるとよい。認証計画の変更が必要であれば、本方法は要素６２０へ進み、そこで認証ストア・マネージャ１１２が、ターゲット・サーバ１０６との任意の認証計画の不一致を解消するとよく、その後本方法が終了する。認証計画の変更が必要な場合、典型的にはユーザと連携した管理者の介入が必要であるが、これは、秘密のパスフレーズ、スマート・カード、またはその他の認証方法などによる追加の認証を要求することなどにより、任意の方法で実行されればよい。これは、ユーザになりすましている何者かが、認証計画を、なりすましを行う者（すなわちハッカー）にとってより容易なものへ変更するよう、またはサービス攻撃の拒否として、リクエストすることを防止するのに役立つ。
【００４６】
図７は、一部の実施形態に対する、ターゲット・サーバによるユーザ認証の流れ図７００の例を示す。流れ図７００の方法は、一実施形態では、ターゲット・サーバ１０６の認証計画マネージャ１１０などの、段階的認証システム１００のコンポーネントにより実行されればよい。流れ図７００は、ターゲット・サーバ１０６に対してユーザが認証を行うためのリクエストをユーザ・コンピュータ・システム１０２から受信する要素７０２から開始する。決定ブロック７０４で、認証計画マネージャ１１０は、ターゲット・サーバ１０６への認証を望む特定のユーザが、確立されている認証計画との一致を要求するかどうかを判断するとよい。認証計画が要求されなければ、本方法は要素７２２へ進み、ここで、ユーザは標準的な方法で（すなわちユーザの認証証明書を確認して）認証され、その後本方法が終了する。認証計画が要求される場合、本方法は要素７０６へ進む。
【００４７】
要素７０６で、認証計画マネージャ１１０の認証モジュール３０８は、認証計画リポジトリ３０６に格納済みの、ユーザに関して格納されている認証計画にアクセスするとよい。ユーザ・コンピュータ・システム・インターフェース・モジュール３０４は、要素７０８で、認証計画のリクエストを認証ストア・マネージャ１１２へ送信するとよい。認証計画マネージャ１１０は、要素７１０で、現在の認証計画が認証ストア１０８に存在するかどうかのインジケーションを認証ストア・マネージャ１１２から受信するとよい。決定ブロック７１４で、現在の計画が存在しなければ、本方法は要素７２４へ進み、ここで認証モジュール３０８が、ターゲット・サーバ１０６へのアクセスを拒否し、認証ストア・マネージャ１１２との認証計画の任意の不一致を解消しようと試行する。例えば、この試行が、そのターゲット・サーバ１０６に認証しようとする、ユーザの最初の（またはリセット後の）試行であれば、ユーザと連携してターゲット・サーバ１０６に関する認証計画を作るよう、認証計画作成メソッドが呼び出されるとよい。あるいは前述のように、認証のために、パスフレーズなどの追加の認証証明書を提供するようユーザがリクエストされてもよい。
【００４８】
決定ブロック７１４で現在の認証計画が存在すれば、認証計画マネージャ１１０は要素７１６で、認証ストア・マネージャ１１２を介して、認証ストア１０８からの、格納されている認証計画に関連した認証記録をリクエストするとよい。要素７１８で、認証計画マネージャ１１０は、現在の認証計画（または格納されている認証計画への一致が要求される、現在の認証計画の、認証記録のサブセット）を受信するとよい。
【００４９】
認証モジュール３０８は決定ブロック７２０で、格納されている認証計画と、受信された現在の認証計画とを比較して、それらがユーザのアクセスを許すのに十分一致するかどうかを判断する。一部の実施形態では、認証モジュール３０８は、アクセスを許すためには、格納されている認証計画と、現在の認証計画との完全な一致を要求してもよい。他の実施形態では、認証モジュール３０８は、現在の認証計画における認証イベントのタイムスタンプを分析すること（および、時間の点で古すぎるものを認めないこと）、前の認証イベントに関する認証の問題を分析すること（例えば、認証までの試行数が多すぎるなど、疑わしいパターンを示すものを認めないことなど）、またはその他のタイプの分析などによって、より高度な分析を行うとよい。
【００５０】
認証モジュール３０８が決定ブロック７２０で、一致があると判断すれば、本方法は要素７２２へ進み、ここでユーザは標準的な方法で（特定の認証証明書を要求することなどによって）認証されるとよく、その後本方法が終了する。一致がなければ流れ図７００の方法は、前述のように、認証計画の不一致を解消する要素７２４へ進み、その後本方法が終了するとよい。したがって、流れ図７００の方法は、ユーザの現在の認証と、前に確立された認証計画とを比較して、標準的な方法でのユーザ認証を許すために十分な一致を要求することにより、ターゲット・サーバ１０６に対するユーザの改善された認証を提供すると考えられる。
【００５１】
この開示を利用できる当該技術分野の当業者には当然のことながら、本発明は、サーバに対するユーザ認証を、そのユーザによる、他のサーバに対する以前の認証に基づいて行う、方法、システムおよび媒体を意図する。当然のことながら、詳細な説明および図面に図示および記載された本発明の形は、単に実例と見なされるべきである。以下の特許請求の範囲は、開示された実例としての実施形態の変形物すべてを含むよう、広く解釈されるものとする。
【図１】
2010525471.tif 000003
【図２】
2010525471.tif 000004
【図３】
2010525471.tif 000005
【図４】
2010525471.tif 000006
【図５】
2010525471.tif 000007
【図６】
2010525471.tif 000008
【図７】
2010525471.tif 000009
【手続補正書】
【提出日】平成21年11月9日(2009.11.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ターゲット・サーバに対してユーザの認証を行う方法であって、
前記ターゲット・サーバに対して前記ユーザの認証を行うリクエストを、ユーザ・コンピュータ・システムから受信するステップと、
認証計画との一致を、前記ユーザの認証を行うことが要求するかどうかを判断するステップと、
認証計画との一致が要求されると判断するのに応答して、前記ユーザに関連した格納されている認証計画にアクセスするステップであって、前記格納されている認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した期待データをそれぞれ有する１つ以上の認証記録を有する、前記アクセスするステップと、
前記ユーザの、現在の認証計画のインジケーションを、認証ストアから受信するステップであって、前記現在の認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した現在のデータをそれぞれ有する１つ以上の認証記録を有する、前記受信するステップと、
前記格納されている認証計画と、前記受信された現在の認証計画とを、それらが一致するかどうかを判断するために比較するステップと、
前記格納されている認証計画と、前記現在の認証計画との一致に応答して、前記ユーザの認証を行うステップと、
を含む方法。
【請求項２】
認証計画との一致が要求されると判断するのに応答して、現在の認証計画のリクエストを前記ユーザ・コンピュータ・システムへ送信するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記格納されている認証計画と、前記現在の認証計画との不一致に応答して、前記認証計画の不一致を解消するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記認証計画の不一致を解消する前記ステップは、追加の認証データを要求するステップと、認証計画を修正するステップと、認証計画を作成するステップとのうちの少なくとも１つを含む、請求項３に記載の方法。
【請求項５】
前記格納されている認証計画と、前記現在の認証計画とを、それらが一致するかどうかを判断するために比較する前記ステップは、前記認証計画間で、認証計画のうちの少なくとも指定のサブセットが一致するかどうかを判断するために、各認証計画の認証記録を比較するステップを含む、請求項１に記載の方法。
【請求項６】
前記ターゲット・サーバより前の認証レイヤにある１つ以上のサーバに対して、認証ステップを実行するステップと、
実行された認証ステップそれぞれの認証イベント記録を、認証ストアに格納するステップと、
をさらに含む、請求項１に記載の方法。
【請求項７】
前記ユーザに関連した認証計画を要求する前記ターゲット・サーバに対する認証を試行するステップと、
前記ターゲット・サーバへのアクセスが許可されたかどうかのインジケーションを受信するステップと、
をさらに含む、請求項１に記載の方法。
【請求項８】
前記ターゲット・サーバより前の複数の認証レイヤにある複数のサーバに対して実行された１つ以上の認証ステップの、格納されている認証記録を有する現在の認証計画を、前記ターゲット・サーバへ送信するステップをさらに含む、請求項１に記載の方法。
【請求項９】
現在の認証計画のリクエストを、前記ターゲット・サーバから受信するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
プログラム・コード手段を含むコンピュータ・プログラムであって、前記プログラムがコンピュータ上で実行されると、
ターゲット・サーバに対してユーザの認証を行うリクエストを、ユーザ・コンピュータ・システムから受信するステップと、
認証計画との一致を、前記ユーザの認証を行うことが要求するかどうかを判断するステップと、
認証計画との一致が要求されると判断するのに応答して、前記ユーザに関連した格納されている認証計画にアクセスするステップであって、前記格納されている認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した期待データをそれぞれ有する１つ以上の認証記録を有する、前記アクセスするステップと、
前記ユーザの、現在の認証計画のインジケーションを、認証ストアから受信するステップであって、前記現在の認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した現在のデータをそれぞれ有する１つ以上の認証記録を有する、前記受信するステップと、
前記格納されている認証計画と、前記受信された現在の認証計画とを、それらが一致するかどうかを判断するために比較するステップと、
前記格納されている認証計画と、前記現在の認証計画との一致に応答して、前記ユーザの認証を行うステップと、
を実行するようになっている、コンピュータ・プログラム。
【請求項１１】
ターゲット・サーバに対してユーザの認証を行う装置であって、
前記ターゲット・サーバに対して前記ユーザの認証を行うリクエストを、ユーザ・コンピュータ・システムから受信する手段と、
認証計画との一致を、前記ユーザの認証を行うことが要求するかどうかを判断する手段と、
認証計画との一致が要求されると判断するのに応答して、前記ユーザに関連した格納されている認証計画にアクセスする手段であって、前記格納されている認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した期待データをそれぞれ有する１つ以上の認証記録を有する、前記アクセスする手段と、
前記ユーザの、現在の認証計画のインジケーションを、認証ストアから受信する手段であって、前記現在の認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザ・アクセスに関連した現在のデータをそれぞれ有する１つ以上の認証記録を有する、前記受信する手段と、
前記格納されている認証計画と、前記受信された現在の認証計画とを、それらが一致するかどうかを判断するために比較する手段と、
前記格納されている認証計画と、前記現在の認証計画との一致に応答して、前記ユーザの認証を行う手段と、
を含む装置。
【請求項１２】
認証計画との一致が要求されるという判断に応答して、現在の認証計画のリクエストを前記ユーザ・コンピュータ・システムへ送信する手段をさらに含む、請求項１１に記載の装置。
【請求項１３】
前記格納されている認証計画と、前記現在の認証計画との不一致に応答して、前記認証計画の不一致を解消する手段をさらに含む、請求項１１に記載の装置。
【請求項１４】
解消する前記手段は、
追加の認証データを要求する手段と、
認証計画を修正する手段と、
認証計画を作成する手段と、
のうちの少なくとも１つをさらに含む、請求項１３に記載の装置。
【請求項１５】
前記格納されている認証計画と、前記現在の認証計画とを、それらが一致するかどうかを判断するために比較する前記手段は、前記認証計画間で、認証計画のうちの少なくとも指定のサブセットが一致するかどうかを判断するために、各認証計画の認証記録を比較する手段をさらに含む、請求項１１に記載の装置。
【請求項１６】
前記ターゲット・サーバより前の認証レイヤにある１つ以上のサーバに対して、認証ステップを実行する手段と、
実行された認証ステップそれぞれの認証イベント記録を、認証ストアに格納する手段と、
をさらに含む、請求項１１に記載の装置。
【請求項１７】
前記ユーザに関連した認証計画を要求する前記ターゲット・サーバに対する認証を試行する手段と、
前記ターゲット・サーバへのアクセスが許可されたかどうかのインジケーションを受信する手段と、
をさらに含む、請求項１１に記載の装置。
【請求項１８】
前記ターゲット・サーバより前の複数の認証レイヤにある複数のサーバに対して実行された１つ以上の認証ステップの、格納されている認証記録を有する現在の認証計画を、前記ターゲット・サーバへ送信する手段をさらに含む、請求項１１に記載の装置。
【請求項１９】
現在の認証計画のリクエストを、前記ターゲット・サーバから受信する手段をさらに含む、請求項１１に記載の装置。
【請求項２０】
ターゲット・サーバに対してユーザの認証を行うシステムであって、
ターゲット・サーバへのアクセスをリクエストしているユーザに関連した格納されている認証計画にアクセスするよう動作可能な、認証計画マネージャを有する前記ターゲット・サーバであって、前記格納されている認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザによるアクセスに関連した期待データをそれぞれ有する１つ以上の認証記録を含む、前記ターゲット・サーバと、
前記ユーザに関連した現在の認証計画を格納するよう動作可能な認証ストアであって、前記現在の認証計画は、前記ターゲット・サーバよりも前の認証レイヤにあるサーバへのユーザによるアクセスに関連した現在のデータをそれぞれ有する１つ以上の認証記録を含む、前記認証ストアと、
前記ターゲット・サーバおよび前記認証ストアと通信するよう動作可能であり、特定のユーザに関連した前記現在の認証計画を、前記ターゲット・サーバの前記認証計画マネージャに提供するよう動作可能な、認証ストア・マネージャと、
を含むシステムであって、
前記ターゲット・サーバの前記認証計画マネージャは、ユーザの認証を行うかどうかを、前記格納されている認証計画と、前記現在の認証計画との比較に基づいて判断するよう動作可能である、システム。
【国際調査報告】
2010525471.tif 000010
2010525471.tif 000011
2010525471.tif 000012