(57)【特許請求の範囲】
【請求項１】
電子情報へのアクセスを提供するためのコンピュータ実装方法であって、
第１のコンピュータによって、ネットワークを介して第２のコンピュータから、前記第２のコンピュータのユーザインターフェースに入力された情報に応じて、ユーザに関連付けられた第１のパスワード文字列および前記第１のパスワード文字列から第２のパスワード文字列を構成および生成するための規則であって、前記規則がユーザに関連付けられた第１のコンテキスト情報に基づき前記第１のパスワード文字列内の特定の位置に挿入される動的要素を特定し、指定された動的要素の値が前記ユーザに関連付けられた第２のコンテキスト情報に基づき決定される規則を受け取ることと、
前記第１のコンピュータによって、ネットワークを介して前記第２のコンピュータから、前記第２のコンピュータの前記ユーザインターフェースに入力された情報を介して、前記ユーザに関連付けられた第３のパスワード文字列を受け取ることに応答して、
前記第１のコンピュータによって、
前記ユーザと関連付けられた前記第１のコンテキスト情報に基づいて、指定された動的要素を選択することと、
前記第２の動的要素を前記第１のパスワード文字列の前記指定された位置に挿入することと、
および、前記ユーザと関連付けられた前記第２のコンテキスト情報に基づいて、前記第２の動的要素の値を決定することによって、
受信された規則に基づいて、前記第１のパスワード文字列から前記第２のパスワード文字列を構成および生成することと、
前記第１のコンピュータによって、前記第３のパスワード文字列が前記第２のパスワード文字列と一致することが決定することに応答して、
前記第１のコンピュータによって、前記第２のコンピュータに前記電子情報へのアクセスを許可することと
を含む、コンピュータ実装方法。
【請求項２】
前記第１のコンピュータによって、前記第１のパスワード文字列、および前記第１のパスワード文字列から前記第２のパスワード文字列を構成および生成するための前記規則をデータストアに記憶することをさらに含む、請求項１に記載の方法。
【請求項３】
前記第１のコンピュータは、モバイル・コンピューティング・デバイスおよびクラウド・コンピューティング・ノードから成る群から選択される、請求項１に記載の方法。
【請求項４】
前記第２のコンピュータは、モバイル・コンピューティング・デバイスおよびクラウド・コンピューティング・ノードから成る群から選択される、請求項１に記載の方法。
【請求項５】
前記第２のパスワード文字列を構成および生成するための前記規則は、前記ユーザに関連付けられた前記第２のコンテキスト情報に基づいて、前記第１のパスワード文字列の対応する基準文字位置に文字列を生成するための文字列生成規則を含む、請求項１に記載の方法。
【請求項６】
前記ユーザに関連付けられた前記第１のコンテキスト情報および前記ユーザに関連付けられた前記第２のコンテキスト情報は、それぞれ、
ロケーション、時刻、日付、月、曜日、ＰＩＮコード、事前定義された不変文字文字列、グリッド・カードに基づく文字シーケンス、およびワンタイム・パスワードから成る群から選択された１つまたは複数の情報を含む、請求項５に記載の方法。
【請求項７】
前記文字列生成規則は、前記ユーザに関連付けられた第２のコンテキスト情報が前記第１のパスワード文字列の対応する基準文字位置に挿入されることを指定するパターンを含む、請求項１に記載の方法。
【請求項８】
第２のパスワード文字列を構成および生成するための前記規則は、
前記ユーザによって定義された規則、および規則の事前定義されたセットから選択された規則から成る群から選択された規則を含む、請求項１に記載の方法。
【請求項９】
電子情報へのアクセスを提供するためのコンピュータ実装方法であって、
第１のコンピュータによって、ネットワークを介して第２のコンピュータから、前記第２のコンピュータのユーザインターフェースに入力された情報に応じて、ユーザに関連付けられた第１のパスワード文字列を受け取ることと、
前記第１のコンピュータによって、データベースから、前記ユーザに関連付けられた第２のパスワード文字列および前記第２のパスワード文字列から第３のパスワード文字列を構成および生成するための規則であって、前記規則が、前記ユーザに関連付けられた第１のコンテキスト情報に基づき前記第２のパスワード文字列に挿入するための動的要素を指定し、指定された動的要素の値がユーザに関連付けられた第２のコンテキスト情報に基づいて決定される規則を取り出すことと、
前記第１のコンピュータによって、取り出された規則に基づいて、前記第２のパスワード文字列から前記第３のパスワード文字列を構成および生成することと、
前記第１のコンピュータによって、前記第１のパスワード文字列が前記第３のパスワード文字列と一致することを決定することと、
前記第１のコンピュータによって、前記第２のコンピュータに前記電子情報へのアクセスを許可することと
を含む、コンピュータ実装方法。
【請求項１０】
前記第１のコンピュータは、モバイル・コンピューティング・デバイスおよびクラウド・コンピューティング・ノードから成る群から選択される、請求項９に記載の方法。
【請求項１１】
前記第２のコンピュータは、モバイル・コンピューティング・デバイスおよびクラウド・コンピューティング・ノードから成る群から選択される、請求項９に記載の方法。
【請求項１２】
前記第２のパスワード文字列を構成および生成するための前記規則は、前記ユーザに関連付けられた前記第２のコンテキスト情報に基づいて、前記第１のパスワード文字列の対応する基準文字位置に文字列を生成するための文字列生成規則を含む、請求項９に記載の方法。
【請求項１３】
前記ユーザに関連付けられた前記第１のコンテキスト情報および前記ユーザに関連付けられた前記第２のコンテキスト情報は、それぞれ、
ロケーション、時刻、日付、月、曜日、ＰＩＮコード、事前定義された不変文字文字列、グリッド・カードに基づく文字シーケンス、およびワンタイム・パスワードから成る群から選択された１つまたは複数の情報を含む、請求項９に記載の方法。
【請求項１４】
前記文字列生成規則は、前記ユーザに関連付けられた第２のコンテキスト情報が前記第１のパスワード文字列の対応する基準文字位置に挿入されることを指定するパターンを含む、請求項１２に記載の方法。
【請求項１５】
第２のパスワード文字列を構成および生成するための前記規則は、
前記ユーザによって定義された規則、および規則の事前定義されたセットから選択された規則から成る群から選択された規則を含む、請求項９に記載の方法。
【請求項１６】
動的パスワード文字列を生成するためのコンピュータ実装方法であって、
第１のコンピュータによって、ネットワークを介して第２のコンピュータから、前記第２のコンピュータのユーザインターフェースに入力された情報に応じて、ユーザと関連付けられた第１のパスワード文字列を受け取ることと、
前記第１のコンピュータによって、認証サーバから、前記認証サーバへの要求に応答して、前記第１のパスワード文字列から第２のパスワード文字列を構成および生成するための１つまたは複数の規則であって、前記各規則が、前記ユーザに関連付けられた第１のコンテキスト情報に基づき前記第２のパスワード文字列に挿入するための動的要素を指定し、指定された動的要素の値がユーザに関連付けられた第２のコンテキスト情報に基づいて決定される各規則を受け取ることと、
前記第１のコンピュータによって、前記第２のコンピュータから、前記ユーザによって前記第２のコンピュータのユーザインターフェースに入力された情報に応じて、前記認証サーバから受信された前記第１のパスワード文字列から第２のパスワード文字列を構成および生成するための１または複数の規則からの規則の選択を受け取ることと、
前記第１のコンピュータによって、前記認証サーバに、前記第１のパスワード文字列および前記第１のパスワード文字列から前記第２のパスワード文字列を構成および生成するための前記選択された規則を通信することと
を含む、コンピュータ実装方法。
【請求項１７】
前記第１のコンピュータは、モバイル・コンピューティング・デバイスおよびクラウド・コンピューティング・ノードから成る群から選択されるである、請求項１６に記載の方法。
【請求項１８】
前記第２のコンピュータは、モバイル・コンピューティング・デバイスおよびクラウド・コンピューティング・ノードである、請求項１６に記載の方法。
【請求項１９】
第２のパスワード文字列を構成および生成するための前記規則は、前記ユーザに関連付けられた前記第２のコンテキスト情報に基づいて前記第１のパスワード文字列の対応する基準文字位置に文字列を生成するための文字列生成規則を含む、請求項１６に記載の方法。
【請求項２０】
前記ユーザに関連付けられた前記第１のコンテキスト情報および前記ユーザに関連付けられた前記第２のコンテキスト情報は、それぞれ、
ロケーション、時刻、日付、月、曜日、ＰＩＮコード、事前定義された不変文字文字列、グリッド・カードに基づく文字シーケンス、およびワンタイム・パスワードから成る群から選択された１つまたは複数の情報を含む、請求項１９に記載の方法。
【請求項２１】
前記文字列生成規則は、前記ユーザに関連付けられた第２のコンテキスト情報が前記第１のパスワード文字列の対応する基準文字位置に挿入されることを指定するパターンを含む、請求項１６に記載の方法。
【請求項２２】
第２のパスワード文字列を構成および生成するための前記規則は、
前記ユーザによって定義された規則、および規則の事前定義されたセットから選択された規則から成る群から選択された１つまたは複数の規則を含む、請求項１６に記載の方法。
【請求項２３】
電子情報へのアクセスを提供するためのコンピュータ・システムであって、
１つまたは複数のコンピュータ・プロセッサと、１つまたは複数の非一時的コンピュータ可読記憶媒体と、前記１つまたは複数のプロセッサのうちの少なくとも１つによって実行されるように前記コンピュータ可読記憶媒体のうちの１つまたは複数に記憶されたプログラム命令とを備え、前記プログラム命令は、
ネットワークを介してコンピュータから、前記コンピュータのユーザインターフェースに入力された情報に応じて、ユーザと対応付けられた第１のパスワード文字列を受け取るプログラム命令と、
データベースから、前記ユーザと関連付けられた第２のパスワード文字列および前記第２のパスワード文字列から第３のパスワード文字列を構成および生成するための規則であって、前記規則が、前記ユーザに関連付けられた第１のコンテキスト情報に基づき前記第２のパスワード文字列に挿入するための動的要素を指定し、指定された動的要素の値がユーザに関連付けられた第２のコンテキスト情報に基づいて決定される規則を取り出すプログラム命令と、
取り出された規則に基づいて、前記第２のパスワード文字列から前記第３のパスワード文字列を構成および生成するプログラム命令と、
前記第１のパスワード文字列が前記第３のパスワード文字列と一致することを決定するプログラム命令と、
前記コンピュータに前記電子情報へのアクセスを許可するプログラム命令とを含む、コンピュータ・システム。
【請求項２４】
第２のパスワード文字列を構成および生成するための規則は、前記ユーザに関連付けられた前記第２のコンテキスト情報に基づいて文字列を前記第１のパスワード文字列の対応する基準文字位置に生成するための文字列生成規則を含む、請求項２３に記載のコンピュータ・システム。
【請求項２５】
コンピュータ・プログラムであって、請求項１−２１のいずれか１項の方法に記載の各ステップをコンピュータに実行させるための、コンピュータ・プログラム
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般に、情報セキュリティに関し、より詳細には、自動的パスワード生成および使用に関する。
【背景技術】
【０００２】
電子情報は、しばしば、パスワードなどのセキュリティ資格証明を使用してアクセスされる。増大する脅威に鑑みてパスワード・セキュリティを維持することは、課題である。パスワード・セキュリティを高める１つの一般的な方法は、最低限の強度要件、例えば、少なくとも８文字、少なくとも１つの数字、少なくとも１つの大文字、または少なくとも１つの特殊文字、あるいはこれらの組合せを有するパスワードを選択するようユーザに要求することである。しかし、ブルート・フォース攻撃、ソーシャル・エンジニアリング、リモート・アクセス・ツール（ＲＡＴ）、およびキーロガー、フィッシング、およびレインボー・テーブルを含め、そのような静的パスワードを破ることが可能な方法が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の実施形態は、動的パスワードを生成するため、および認証するためのコンピュータ実装方法、システム、およびコンピュータ・プログラム製品を開示する。
【課題を解決するための手段】
【０００４】
本発明の実施形態において、第１のパスワード文字列がユーザから受け取られる。第１のパスワード文字列の対応する基準文字位置を有する１つまたは複数の文字列生成規則が受け取られる。第１のパスワード文字列、文字列生成規則、および第１のパスワード文字列の対応する基準文字位置が、ユーザのログイン資格証明に関連付けられる。
【０００５】
本発明の別の実施形態において、ユーザに関連付けられた第１のパスワード文字列が受け取られる。ユーザに関連付けられた第１の部分的パスワード文字列が取り出される。ユーザに関連付けられた１つまたは複数の文字列生成規則が、第１の部分的パスワード文字列の対応する基準文字位置とともに識別される。それらの文字列生成規則に基づいて部分的パスワード文字列が生成される。第２のパスワード文字列が、第１の部分的パスワード文字列の対応する基準文字位置に基づいて、第１の部分的パスワード文字列と生成された部分的パスワード文字列を連結することによって生成される。第１のパスワード文字列が第２のパスワード文字列と比較され、ユーザが、第１のパスワード文字列が第２のパスワード文字列と合致することに基づいて認証される。
【図面の簡単な説明】
【０００６】
【図１】本発明の実施形態による動的パスワード・システムを示す機能ブロック図である。
【図２】本発明の実施形態による動的パスワードを生成する際、または使用する際の規則を構成するための例示的なユーザ・インターフェースを示す図である。
【図３】本発明の実施形態による動的パスワードを生成するため、または使用するための例示的なユーザ・インターフェースを示す図である。
【図４】本発明の実施形態による動的パスワードを使用するためのユーザ・インターフェースを示す図である。
【図５】本発明の実施形態による動的パスワード・プログラムの動作ステップを示す流れ図である。
【図６】本発明の実施形態による動的パスワード・プログラムのさらなる動作ステップを示すさらなる流れ図である。
【図７】本発明の実施形態による例示的なコンピューティング・デバイスを示すブロック図である。
【図８】本発明の実施形態によるクラウド・コンピューティング環境を示す図である。
【図９】本発明の実施形態による図８のクラウド・コンピューティング環境の抽象モデル層を示す図である。
【発明を実施するための形態】
【０００７】
既存のパスワード・システムは、少なくとも以下の理由で制限される。すなわち、既存のパスワード・システムは、静的であり、自動的に変更されず、変更が、ユーザ入力を要求し、パスワードは、パスワードが特殊文字を使用する場合でさえ、固定長のままであり、パスワードが、ある期間にわたって静的なままであり、コンピュータ生成されるパスワードは、覚えていることが困難な、通常、複雑な文字列であり、より高いパスワード複雑度は、ユーザが媒体上に（例えば、ペンと紙、または暗号化されていない電子ノートもしくは電子ファイルに）パスワードを記録する必要性を生じさせて、パスワード・データへの許可のないアクセスの可能性をより高くする可能性がある。静的パスワードは、通常、平文としてではなく、ハッシュされた形態で記憶されるが、例えば、レインボー・テーブルを使用する協調した作業がそのようなパスワードを破る可能性がある。記憶された静的パスワードを超えるパスワード・ポリシーが、セキュリティ侵害に対するさらなる保護をもたらす。
【０００８】
動的パスワードは、ユーザが、例えば、ユーザに関連付けられたコンテキスト情報に基づいて、静的パスワードに動的要素を追加することを可能にする。動的パスワードの使用は、静的パスワードのセキュリティをより強くすることを目標とする。動的パスワードに含められるように生成され得るコンテキスト要素は、ユーザのロケーション、ＰＩＮコード、状態、ならびに現在時刻、日付、月、曜日などを含む。認証のために静的パスワードを使用するのではなく、ユーザは、事前定義されたパターンまたは事前定義された規則あるいはその両方により、動的要素の値に依存するパスワードを入力する。パスワード認証を実行するサーバ・プロセスは、同一のパターンおよび規則を使用して正しいパスワードを生成し、ユーザ・パスワードとサーバ・パスワードが合致することを検証する。このため、ある日に入力されたパスワードは、別の日に同一のポータルに関して同一のユーザによって入力されるパスワードとは異なる可能性がある。それでも、ユーザは、ユーザによって確立されたパターンおよび規則が遵守される限り、認証される。このアプローチは、この様態で生成されるパスワードが、一定の長さも一定の型も有しないことが可能であり、静的文字列を表す形態で記憶されないので、現在のほとんどのパスワード・クラッキング方法を挫折させる。
【０００９】
本発明の実施形態は、動的パスワード生成のためのコンピュータ実装方法、コンピュータ・プログラム製品、およびシステムを開示する。ユーザが、第１の静的パスワード文字列、ならびに１つまたは複数のパターンまたは１つまたは複数の文字列生成規則あるいはその両方に基づいて、動的パスワードを確立し、次に、そのパスワードが、パスワード・データストアに記憶される。ログイン時に、ユーザが、確立された動的パスワードと適合するパスワードを入力する。パスワード認証を実行するサーバ・プロセスが、ユーザから動的パスワードを受け取り、パスワード・データストアから記憶された静的パスワードを取り出し、そのパスワードを、関連付けられたパターンまたは関連付けられた規則あるいはその両方に基づいて、最終的パスワードに変換する。ユーザが入力したパスワードとサーバによって生成された最終的パスワードが合致した場合、ユーザは、認証される。
【００１０】
図１は、本発明の実施形態による動的パスワード・システム１００の機能ブロック図である。動的パスワード・システム１００は、すべてネットワーク１３０を介して互いに接続された、動的パスワード・プログラム１１２、パスワード・データストア１２０、およびクライアント・コンピューティング・デバイス１２６をホストすることが図示されるコンピューティング・デバイス１１０を含む。図１は、一実施様態の例示を与えるに過ぎず、異なる実施形態が実施され得る環境に関する限定はまったく暗示しない。図示される環境の多くの変更が、特許請求の範囲によって記載される本発明の範囲を逸脱することなく、当業者によって行われることが可能である。
【００１１】
コンピューティング・デバイス１１０は、動的パスワード・プログラム１１２をホストするコンピューティング環境またはコンピューティング・プラットフォームを表す。様々な実施形態において、コンピューティング・デバイス１１０は、本発明の実施形態により、後段で説明されるとおり、動的パスワード・プログラム１１２をホストすることができ、かつネットワーク１３０を介してクライアント・コンピューティング・デバイス１２６と通信することができるラップトップ・コンピュータ、ネットブック・コンピュータ、パーソナル・コンピュータ（ＰＣ）、デスクトップ・コンピュータ、または任意のプログラマブル電子デバイスであることが可能である。コンピューティング・デバイス１１０は、図７を参照して後段でさらに詳細に描かれ、説明されるとおり、内部ハードウェア構成要素および外部ハードウェア構成要素を含むことが可能である。他の実施形態において、コンピューティング・デバイス１１０は、後段で図８および図９に関連して説明されるとおり、クラウド・コンピューティング環境において実装されることが可能である。
【００１２】
パスワード・データストア１２０は、本発明の実施形態による、ユーザ・パスワードに関連付けられたデータのストアを表す。例えば、パスワード・データストア１２０は、特定のユーザに関連付けられた動的パスワード・パターンおよび動的パスワード規則のデータベースを含むことが可能である。パスワード・データストア１２０は、例えば、コンピュータ可読記憶媒体９０８（図７）上に存在することが可能である。
【００１３】
例示的な実施形態において、クライアント・コンピューティング・デバイス１２６は、コンピューティング・デバイス１１０によって受け取られるユーザ・パスワード・データおよび関連する命令の源を表す。クライアント・コンピューティング・デバイス１２６は、ユーザが動的パスワードを生成し、使用するのに用いることが可能なグラフィカル・ユーザ・インターフェース１２８を含むことが可能である。様々な実施形態において、グラフィカル・ユーザ・インターフェース１２８は、例えば、コンピューティング・デバイス１１０によって送信されたウェブ・ページを受け取るウェブ・ブラウザ、またはコンピューティング・デバイス１１０上の動的パスワード・プログラム１１２とインターフェースをとる専用アプリケーションであることが可能である。他の実施形態において、クライアント・コンピューティング・デバイス１２６は、コンピューティング・デバイス１１０とインターフェースをとり、パスワード認証を使用することを要求される別のデバイスを表すことが可能である。
【００１４】
本発明の様々な実施形態において、クライアント・コンピューティング・デバイス１２６は、例えば、ラップトップ・コンピュータ、タブレット・コンピュータ、ネットブック・コンピュータ、パーソナル・コンピュータ（ＰＣ）、デスクトップ・コンピュータ、携帯情報端末（ＰＤＡ）、またはスマートフォンであることが可能である。一般に、クライアント・コンピューティング・デバイス１２６は、ネットワーク１３０を介してコンピューティング・デバイス１１０と通信すること、および本発明の１つまたは複数の実施形態によって要求される機能をサポートすることができる任意のプログラマブル電子デバイスであることが可能である。クライアント・コンピューティング・デバイス１２６は、図７を参照して後段でさらに詳細に描かれ、説明されるとおり、内部ハードウェア構成要素および外部ハードウェア構成要素を含むことが可能である。
【００１５】
ネットワーク１３０は、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、遠隔通信ネットワーク、インターネットなどのワイド・エリア・ネットワーク（ＷＡＮ）、仮想ローカル・エリア・ネットワーク（ＶＬＡＮ）、あるいは有線接続、無線接続、または光接続を含み得る任意の組合せであることが可能である。一般に、ネットワーク１３０は、コンピューティング・デバイス１１０、パスワード・データストア１２０、およびクライアント・コンピューティング・デバイス１２６の間の通信、ならびに本発明の実施形態による動的パスワード・システム１００おける動的パスワード・プログラム１１２の動作をサポートする接続およびプロトコルの任意の組合せであり得る。
【００１６】
本発明の実施形態において、コンピューティング・デバイス１１０は、動的パスワード・プログラム１１２を含む。動的パスワード・プログラム１１２は、パスワード・ジェネレータ１１４と、パターン／規則モジュール１１６と、認証モジュール１１８とをさらに含むことが可能である。
【００１７】
動的パスワード・プログラム１１２は、動的パスワード・プログラム１１２がパスワード・データストア１２０に記憶する、静的パスワード文字列、ならびに１つまたは複数のパターン生成規則または文字列生成規則あるいはその両方を含め、ユーザのログイン資格証明に関連付けられた情報を受け取るように概ね動作する。ユーザが、その後、パスワードをログイン手順の一環として入力すると、動的パスワード・プログラム１１２は、ユーザに関連付けられた静的パスワード文字列、パターン、および規則を取り出し、それらを、第２のパスワードを生成するのに使用する。ユーザによって入力されたパスワードと生成された第２のパスワードが合致した場合、ユーザは、ユーザのアカウントにアクセスすることを許可されることが可能である。
【００１８】
パスワード・ジェネレータ１１４は、後段で説明されるとおり、本発明の実施形態により、ユーザに関連付けられた事前定義されたパターンまたは事前定義された文字列生成規則あるいはその両方により、静的パスワード文字列から動的パスワードを生成するように動作する。
【００１９】
パターン／規則モジュール１１６は、後段で説明されるとおり、本発明の実施形態により、動的パスワードで使用されるパターンまたは規則あるいはその両方をユーザが定義することを可能にする。パターン／規則モジュール１１６は、パターンまたは規則あるいはその両方をパスワード・データストア１２０に記憶し、それらをユーザと関連付けることが可能である。
【００２０】
本発明の一実施形態において、ユーザが、図２および図３に示されるもののような、その目的で設計されたＧＵＩを使用することによってパターン／規則モジュール１１６を介して動的パスワードのためのパターンまたは規則あるいはその両方を定義する。別の実施形態において、パターン／規則モジュール１１６は、パスワードを入力する際に使用されるべき１つまたは複数のパターンをユーザに与えることが可能である。例えば、ユーザは、クライアント・コンピューティング・デバイス１２６を介してコンピューティング・デバイス１１０にログオンし、ユーザ設定を介して動的パスワード生成をイネーブルにすることが可能である。設定がイネーブルにされると、ユーザは、パターン／規則モジュール１１６を呼び出して、動的パスワードで使用されるパターンまたは規則あるいはその両方を定義する。
【００２１】
パターンとは、静的パスワード文字列における指定された位置で挿入されるべき、ユーザに関連付けられた事前定義されたデータ要素、例えば、コンテキスト・データを指す。指定された位置は、基準文字位置と呼ばれる。パターンは、後段でより詳細に説明される文字列生成規則の簡単な例である。例えば、ユーザが、規則「ｓｈｅｒ｛ＴＩＭＥ｝ｌｏｃｋ」を介してパターンを定義して、現在時刻値（ログイン時の）が、動的パスワードの中で表現｛ＴＩＭＥ｝が現れる文字位置で名前「ｓｈｅｒｌｏｃｋ」に挿入されるべきことを示すことが可能である。代替として、ユーザは、定義されたパターンの中で使用すべき特定の一定の文字列値を選択してもよい。
【００２２】
表１は、ユーザによって定義されることが可能である例示的なさらなるパスワード・パターンを提示する。すなわち、
【００２３】
【表１】
0006763112.tif 000002
前述の例において、長さ、型、およびパターンは変化する。この一貫性のなさが、ハッカが、パスワードの長さ、型、または他の特徴についての想定に基づいて、実際のパスワードを推定することを防止する。
【００２４】
本発明の実施形態によれば、認証モジュール１１８が、ユーザによって入力されたパスワードを受け取り、そのパスワードを、パスワード・ジェネレータ１１４によって生成された別のパスワードと比較し、その２つのパスワードが合致した場合、ユーザを認証する。
【００２５】
例えば、ユーザが、クライアント・コンピューティング・デバイス１２６を介して午後４時２０分に銀行取引ウェブサイト上のアカウントにログインすることを所望するものと想定する。ユーザは、ユーザＩＤおよびパスワードの入力を促される。パスワードの入力を促されると、ユーザは、「ｓｈｅｒ１６２０ｌｏｃｋ」を入力する。そのパスワードは、次に、動的パスワード・プログラム１１２の認証モジュール１１８に伝送され、動的パスワード・プログラム１１２が、パスワード・データストア１２０にクエリを行って、ユーザに関連付けられた事前定義された動的パスワード・パターンまたは動的パスワード規則あるいはその両方を取り出す。次に、パスワード・ジェネレータ１１４が、取り出されたパターンまたは取り出された規則あるいはその両方に基づいて、実際のパスワードを生成する。この例において、記憶されたパターンは、ｓｈｅｒ｛ＴＩＭＥ｝ｌｏｃｋである。したがって、ユーザは、午後４時２０分にログインしているので、パスワード・ジェネレータ１１４によって生成されるパスワードは、ｓｈｅｒ１６２０ｌｏｃｋである。認証モジュール１１８が、生成されたパスワードとユーザ入力パスワードの間の合致について確認する。生成されたパスワードとユーザ入力パスワードが合致する場合、ユーザは、認証され、アカウントへのアクセスを与えられることが可能である。
【００２６】
ユーザが動的パスワードのためのパターンまたは規則を定義した場合はいつでも、パターン／規則モジュール１１６が、そのパターンまたはその規則をパスワード・データストア１２０に記憶し、そのパターンまたはその規則をユーザに関連付けることができる。認証モジュール１１８が、その後、ユーザを認証するように求められると、認証モジュール１１８は、動的パスワードが使用されていることを認識し、実際のパスワードを生成するためにパスワード・ジェネレータ１１４が、記憶された規則およびパターンを取り出すことを要求する。認証モジュール１１８は、受け取られたパスワードと生成されたパスワードが合致するという条件付きで、ユーザのアカウントへのアクセスを許す。
【００２７】
パターン／規則モジュール１１６は、パスワードに含められるパターンをカスタマイズするグラフィカル・ユーザ・インターフェース（ＧＵＩ）を提供することによって、パターンまたは規則を確立するプロセスを円滑にすることが可能である。図２および図３は、本発明の様々な実施形態による、ユーザが動的パスワードを確立することを可能にすることができる例示的なＧＵＩを示す。
【００２８】
図２は、本発明の実施形態による、動的パスワードを生成する際、または使用する際の規則を構成するための例示的なユーザ・インターフェース２００の図である。例示的なユーザ・インターフェース２００を介して、ユーザは、カスタム規則を作成し、いつどのような状況下でそれらの規則が適用されるべきかを決定することができる。
【００２９】
図２は、本発明の実施形態により、例示的なユーザ・インターフェース２００を介して、どのようにユーザが例示的な規則を定義することが可能であるかを例示する。新たなパスワード・ペイン２１０が、ユーザが規則、例えば、Ｒｕｌｅ１に名前を割り当てること、およびその規則をイネーブルにすること、またはその規則をディセーブルにすることを可能にする。条件ペイン２２０を指定することは、イネーブルにされた場合にＲｕｌｅ１が動的パスワードを生成するのに使用されるべき条件をユーザが指定することを可能にする。アクション・ペイン２３０を指定することは、Ｒｕｌｅ１に遭遇した場合にいずれのアクションが行われるべきかをユーザが指定することを可能にする。この事例において、Ｒｕｌｅ１は、代用文字列を指定する。指定される規則は、以下のとおりである。すなわち、（ログイン）時刻が「偶」である、すなわち、分数が偶数である場合、ユーザは、代用文字列として「＠１２３＄」を供給するものと見込まれる。例えば、ユーザには、認証目的で、ログイン時刻が偶であるという条件付きで、添付の図３に示される表現｛Ｒｕｌｅ１｝を、｛Ｒｕｌｅ１｝が動的パスワードの中で現れる場合はいつでも、文字列「＠１２３＄」で置き換えるように要求することが可能である。他のより複雑な規則も企図される。例えば、規則は、以下のとおりであることが可能である。すなわち、ロケーションがフェニックスであり、かつ時刻が偶である場合、またはロケーションがボストンであり、時刻が奇である場合、文字列「＄１２３＠」を使用する。
【００３０】
本発明のいくつかの実施形態において、前述したとおり、動的要素からユーザによって規則が生成されることが可能である。他の実施形態において、規則は、規則の事前定義されたセットから選択されることが可能である。例えば、事前定義された規則のリストが、ＧＵＩにおけるドロップダウン・リストにおいてユーザに提示されることが可能である。
【００３１】
図３は、本発明の実施形態による動的パスワードを生成するため、または使用するための例示的なユーザ・インターフェースの図である。その例示的なユーザ・インターフェースを用いて、ユーザが、静的部分と、１つまたは複数の動的要素とを含む動的パスワードを作成することが可能である。本発明の実施形態において、各動的要素は、規則またはパターンを介して定義されることが可能である。静的部分および動的要素は、パスワード・データストア１２０に記憶されることが可能である。
【００３２】
図３は、パターンと規則の両方を組み込む動的パスワードがどのように定義され得るかを例示する。この例において、静的パスワード文字列は、ｓｈｅｒｌｏｃｋＳｔａｔｉｃ１２３４である。表現｛ＴＩＭＥ｝は、ログイン時の現在時刻で置き換えられるべきパターンを表す。表現｛Ｒｕｌｅ１｝は、時刻が偶である場合、表現｛Ｒｕｌｅ１｝が、対応する基準文字位置で文字列「＠１２３＄」で置き換えられるべきことを指定する、図２に定義される規則のような、事前定義された文字列生成規則を表す。
【００３３】
様々な実施形態において、動的パスワードのためのパターンまたは規則あるいはその両方が、ロケーションまたはＰＩＮコード、不変文字列などのコンテキスト・コンテンツ、あるいはグリッド値などのアプリケーション特有のデータを指定することが可能である。グリッド認証は、ユーザおよびサービス・プロバイダだけがコンテンツにアクセス可能であるべきグリッドにおける特定のセルからの値をユーザが入力することを要求することによって、ユーザ・ログインをセキュリティ保護する方法である。そのグリッドは、通常、カード上にあり、行と列における文字および数から成る。例えば、規則が、ユーザによって構成されたいくつかの条件下で、動的パスワードが、認証中に指定されたグリッド・セルから選択された文字のシーケンスを含むべきこと、またはそのようなシーケンスから成るべきことを指定することも可能である。また、規則は、ユーザが、アプリケーションを介してワンタイム・パスワード（ＯＴＰ）を生成するオプションを与えられる場合、ＯＴＰの使用を指定することも可能である。例えば、規則は、ユーザによって構成されたいくつかの条件下で、動的パスワードがＯＴＰを含むべきこと、またはＯＴＰから成るべきことを指定することも可能である。
【００３４】
また、図４に示されるとおり、ユーザに、ログオン画面上で、ログインする間にパスワードを供給するプロセスを簡略化する様々なオプションが提示されることも可能である。例えば、ログインＧＵＩが、時刻、場所、ユーザのＰＩＮコードなどを表示することが可能であり、ユーザが、これらを使用して、現在、正しいパスワードを生成することが可能である。
【００３５】
図４は、本発明の実施形態による動的パスワードを使用するための例示的なユーザ・インターフェースの図である。ユーザが、事前定義されたパターンまたは事前定義された規則あるいはその両方に基づいて、動的に生成された情報を使用してログイン・インターフェースを介してアカウントにログインすることが可能である。例えば、動的に生成された情報は、ロケーション、時刻、ＰＩＮコードなどを含むことが可能である。ログイン情報は、認証モジュール１１８によってユーザを認証するのに使用されることが可能である。
【００３６】
図５は、本発明の実施形態による、動的パスワードを生成する際にコンピューティング・デバイス１１０によって実行される様々な動作ステップを示す流れ図である。ユーザがまず、クライアント・コンピューティング・デバイス１２６上のユーザ・インターフェースを介して、静的パスワード文字列、および１つまたは複数の文字列生成規則を、対応する基準文字位置とともに入力する。クライアント・コンピューティング・デバイス１２６は、パスワード文字列、規則、および基準文字位置を、コンピューティング・デバイス１１０上の動的パスワード・プログラム１１２に送信する。動的パスワード・プログラム１１２が、静的パスワード文字列を受け取り（ステップ５１０）、文字列生成規則を、対応する基準文字位置とともに受け取る（ステップ５１２）。動的パスワード・プログラム１１２は、静的パスワード文字列および文字列生成規則を、対応する基準文字位置とともに、ユーザに関連付ける（ステップ５１４）。動的パスワード・プログラム１１２は、静的パスワード文字列、文字列生成規則、および対応する基準文字位置をパスワード・データストア１２０に記憶する（ステップ５１６）。
【００３７】
図６は、本発明の実施形態による、動的パスワードを認証する際にコンピューティング・デバイス１１０によって実行される様々な動作ステップを示す流れ図である。ユーザに関連付けられたパスワード文字列が受け取られる（ステップ６１０）。パスワード・ジェネレータ１１４が、ユーザに関連付けられた記憶された静的パスワード文字列をパスワード・データストア１２０から取り出す（ステップ６１２）。パスワード・ジェネレータ１１４が、ユーザに関連付けられた１つまたは複数の文字列生成規則を、対応する基準文字位置とともに識別する（ステップ６１４）。パスワード・ジェネレータ１１４が、文字列生成規則を使用してさらなるパスワード文字列を生成する（ステップ６１６）。パスワード・ジェネレータ１１４が、基準文字位置において第１の文字列をそのさらなるパスワード文字列と連結することによって最終的パスワード文字列を生成する（ステップ６１８）。認証モジュール１１８が、ユーザから受け取られたパスワード文字列を最終的パスワード文字列と比較し、それらが合致した場合、ユーザを認証する（ステップ６２０）。
【００３８】
図７は、本発明の実施形態によるコンピューティング・デバイス１１０（図１）の構成要素のブロック図９００を示す。図７は、一実施様態の例示を与えるに過ぎず、異なる実施形態が実施され得る環境に関する限定はまったく暗示しないことを理解されたい。図示される環境の多くの変形が行われることが可能である。
【００３９】
コンピューティング・デバイス１１０は、すべて通信ファブリック９１８を介して互いに接続される、１つまたは複数のプロセッサ９０２と、１つまたは複数のコンピュータ可読ＲＡＭ９０４と、１つまたは複数のコンピュータ可読ＲＯＭ９０６と、１つまたは複数のコンピュータ可読記憶媒体９０８と、デバイス・ドライバ９１２と、読取り／書込みドライブもしくは読取り／書込みインターフェース９１４と、ネットワーク・アダプタもしくはネットワーク・インターフェース９１６とを含むことが可能である。通信ファブリック９１８は、プロセッサ（マイクロプロセッサ、通信プロセッサ、およびネットワーク・プロセッサなどの）、システム・メモリ、周辺デバイス、およびシステム内の他の任意のハードウェア構成要素の間でデータまたは制御情報あるいはその両方を転送するために設計された任意のアーキテクチャで実装されることが可能である。
【００４０】
１つまたは複数のオペレーティング・システム９１０、および１つまたは複数のアプリケーション・プログラム９２８、例えば、動的パスワード・プログラム１１２（図１）が、それぞれのＲＡＭ９０４（通常、キャッシュ・メモリを含む）のうちの１つまたは複数を介してプロセッサ９０２のうちの１つまたは複数によって実行されるようにコンピュータ可読記憶媒体９０８のうちの１つまたは複数に記憶される。例示される実施形態において、コンピュータ可読記憶媒体９０８のそれぞれは、内部ハードドライブの磁気ディスク・ストレージ・デバイス、ＣＤ−ＲＯＭ、ＤＶＤ、磁気スティック、磁気テープ、磁気ディスク、光ディスク、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、フラッシュ・メモリなどの半導体ストレージ・デバイス、あるいはコンピュータ・プログラムおよびデジタル情報を記憶することができる他の任意のコンピュータ可読の有形のストレージ・デバイスであることが可能である。
【００４１】
また、コンピューティング・デバイス１１０は、１つまたは複数のポータブル・コンピュータ可読記憶媒体９２６から読み取ること、およびそのような記憶媒体９２６に書き込むことを行うＲ／ＷドライブもしくはＲ／Ｗインターフェース９１４を含むことも可能である。クライアント・コンピューティング・デバイス上、またはコンピューティング・デバイス１１０上、あるいはその両方のアプリケーション・プログラム９２８が、ポータブル・コンピュータ可読記憶媒体９２６のうちの１つまたは複数に記憶され、それぞれのＲ／ＷドライブもしくはＲ／Ｗインターフェース９１４を介して読み取られ、それぞれのコンピュータ可読記憶媒体９０８にロードされることが可能である。
【００４２】
また、コンピューティング・デバイス１１０は、ＴＣＰ／ＩＰアダプタ・カードまたは無線通信アダプタ（ＯＦＤＭＡ技術を使用する４Ｇ無線通信アダプタなどの）などのネットワーク・アダプタもしくはネットワーク・インターフェース９１６を含むことが可能である。コンピューティング・デバイス１１０上のアプリケーション・プログラム９２８は、ネットワーク（例えば、インターネット、ローカル・エリア・ネットワークまたは他のワイド・エリア・ネットワーク、あるいは無線ネットワーク）およびネットワーク・アダプタもしくはネットワーク・インターフェース９１６を介して外部コンピュータまたは外部ストレージ・デバイスからコンピューティング・デバイスにダウンロードされることが可能である。ネットワーク・アダプタもしくはネットワーク・インターフェース９１６から、プログラムは、コンピュータ可読記憶媒体９０８上にロードされることが可能である。ネットワークは、銅線、光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・コンピュータ、あるいはこれらの組合せを備えることが可能である。
【００４３】
また、コンピューティング・デバイス１１０は、ディスプレイ画面９２０と、キーボードもしくはキーパッド９２２と、コンピュータ・マウスもしくはタッチパッド９２４とを含むことも可能である。デバイス・ドライバ９１２が、画像化のためのディスプレイ画面９２０、キーボードもしくはキーパッド９２２、コンピュータ・マウスもしくはタッチパッド９２４、または英数字入力およびユーザ選択を圧力検出するためのディスプレイ画面９２０、あるいはこれらの組合せとインターフェースをとる。デバイス・ドライバ９１２、Ｒ／ＷドライブもしくはＲ／Ｗインターフェース９１４、およびネットワーク・アダプタもしくはネットワーク・インターフェース９１６は、ハードウェアと、ソフトウェア（コンピュータ可読記憶媒体９０８上、またはＲＯＭ９０６上、あるいはその両方に記憶された）とを備えることが可能である。
【００４４】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはこれらの組合せであることが可能である。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有する１つのコンピュータ可読記憶媒体（または複数の媒体）を含むことが可能である。
【００４５】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるように命令を保持し、記憶することができる有形のデバイスであることが可能である。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または以上の任意の適切な組合せであることが可能であるが、以上には限定されない。コンピュータ可読記憶媒体のより具体的な例の網羅的でないリストは、以下、すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能なプログラマブル読取り専用メモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル・バーサタイル・ディスク（ＤＶＤ）、メモリ・スティック、フロッピー（Ｒ）・ディスク、命令が記録されているパンチ・カードもしくは溝の中の隆起構造などの機械的に符号化されたデバイス、および以上の任意の適切な組合せを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を伝播する電磁波（例えば、光ファイバ・ケーブルを通過する光パルス）、または配線を伝送される電気信号などの一時的信号そのものであると解釈されるべきではない。
【００４６】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはこれらの組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードされることが可能である。そのネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはこれらの組合せを備えることが可能である。各コンピュータ／処理デバイスにおけるネットワーク・アダプタ・カードもしくはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラマブル命令を受け取り、それらのコンピュータ可読プログラマブル命令を、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体に記憶されるように転送する。
【００４７】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、機械命令、機械依存の命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはＳｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは類似したプログラミング言語などの従来の手続き型プログラミング言語を含む、１つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードであることが可能である。コンピュータ可読プログラム命令は、全部がユーザのコンピュータ上で実行されること、一部がユーザのコンピュータ上で実行されること、スタンドアロンのソフトウェア・パッケージとして実行されること、一部がユーザのコンピュータ上で、一部が遠隔コンピュータ上で実行されること、あるいは全部が遠隔コンピュータ上、もしくはサーバ上で実行されることが可能である。全部が遠隔コンピュータ上で実行されるシナリオにおいて、その遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されることが可能であり、あるいは接続は、外部コンピュータに対して行われることが可能である（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）。いくつかの実施形態において、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、またはプログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路が、コンピュータ可読プログラマブル命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して、本発明の態様を実行するために電子回路を個人用設定することが可能である。
【００４８】
本発明の態様は、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照して説明される。流れ図またはブロック図あるいはその両方の各ブロック、ならびに流れ図またはブロック図あるいはその両方のブロックの組合せが、コンピュータ可読プログラム命令によって実施され得ることが理解されよう。
【００４９】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、流れ図またはブロック図あるいはその両方の１つまたは複数のブロックにおいて指定される機能／動作を実施するための手段をもたらすように、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに供給されて、マシンを作り出すものであってよい。また、これらのコンピュータ可読プログラム命令は、命令が記憶されているコンピュータ可読記憶媒体が、流れ図またはブロック図あるいはその両方の１つまたは複数のブロックにおいて指定される機能／動作の態様を実施する命令を含む製造品を備えるように、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはこれらの組合せに特定の様態で機能するよう指示するものであってもよい。
【００５０】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、流れ図またはブロック図あるいはその両方の１つまたは複数のブロック図において指定される機能／動作を実施するように、コンピュータ実装プロセスを作り出すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【００５１】
図面における流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法、コンピュータ・プログラム製品の可能な実施様態のアーキテクチャ、機能、および動作を例示する。これに関して、流れ図またはブロック図における各ブロックは、指定された論理機能を実施するための１つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または部分を表すことが可能である。いくつかの代替の実施態様において、ブロックに記載される機能は、図に記載される順序を外れて生じてもよい。例えば、連続して示される２つのブロックが、実際には、実質的に並行に実行されてもよく、またはブロックは、関与する機能に依存して、時として、逆の順序で実行されてもよい。また、ブロック図または流れ図あるいはその両方の各ブロック、ならびにブロック図または流れ図あるいはその両方におけるブロックの組合せは、指定された機能、もしくは指定された動作を実行する、または専用ハードウェア命令とコンピュータ命令の組合せを実行する専用のハードウェア・ベースのシステムによって実施され得ることにも留意されたい。
【００５２】
本明細書で説明されるプログラムは、それらのプログラムが本発明の特定の実施形態において実施される応用例に基づいて識別される。しかし、本明細書におけるいずれの特定のプログラム名称も、便宜のために使用されるに過ぎず、このため、本発明は、そのような名称によって識別される、または暗示される、あるいは識別され、かつ暗示される、いずれかの特定の応用例における使用にだけ限定されるべきではないことを認識されたい。
【００５３】
以上のことに基づいて、コンピュータ・システム、方法、およびコンピュータ・プログラム製品が開示されてきた。しかし、多数の変形および置換が、本発明の範囲を逸脱することなく行われ得る。したがって、本発明は、例として、限定としてではなく、開示されてきた。
【００５４】
本開示は、クラウド・コンピューティングの詳細な説明を含むものの、本明細書に記載される教示の実施は、クラウド・コンピューティング環境に限定されないことをあらかじめ理解されたい。むしろ、本発明の実施形態は、現在、知られている、または後に開発される他の任意のタイプのコンピューティング環境と連携して実施されることが可能である。
【００５５】
クラウド・コンピューティングは、最小限の管理作業またはサービスのプロバイダとの最小限の対話しか伴わずに迅速にプロビジョニングされ、リリースされることが可能である、構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス）の共有されるプールに対する便利な、オンデマンドのネットワーク・アクセスを可能にするためのサービス・デリバリのモデルである。このクラウド・モデルは、少なくとも５つの特徴と、少なくとも３つのサービス・モデルと、少なくとも４つの展開モデルとを含むことが可能である。
特徴は、以下のとおりである。
【００５６】
オンデマンドのセルフ・サービス：クラウド消費者が、サービスのプロバイダとの人間同士の対話を必要とすることなしに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的にプロビジョニングすることが可能である。
【００５７】
広いネットワーク・アクセス：能力が、ネットワークを介して利用可能であり、かつ異種のシン・クライアント・プラットフォームまたはシック・クライアント・プラットフォーム（例えば、モバイル電話、ラップトップ、およびＰＤＡ）による使用を促進する標準の機構を介してアクセスされる。
【００５８】
リソース・プーリング：プロバイダのコンピューティング・リソースが、マルチテナント・モデルを使用して複数の消費者に役立てられるようにプールされ、異なる物理リソースおよび仮想リソースの割当ておよび再割当てがデマンドに応じて動的に行われる。消費者が、提供されるリソースの厳密なロケーションを一般に支配することも、知ることもないが、抽象性のより高いレベル（例えば、国、州、またはデータセンタ）でロケーションを指定することを可能にし得るという点でロケーション独立の感覚が存在する。
【００５９】
迅速な弾力性：能力は、急速にスケールアウトすること、および迅速にリリースされて、急速にスケールインすることが行われるように、迅速に、弾力的に、いくつかの事例においては自動的にプロビジョニングされることが可能である。
【００６０】
測定されるサービス：クラウド・システムが、サービスのタイプ（例えば、ストレージ、処理、帯域幅、およびアクティブなユーザ・アカウント）に適切な抽象性の何らかのレベルで計測能力を活用することによってリソース使用を自動的に制御し、最適化する。リソース使用は、監視され、制御され、報告されて、利用されるサービスのプロバイダと消費者の両方に透明性をもたらすことが可能である。
サービス・モデルは、以下のとおりである。すなわち、
【００６１】
Software as a Service（ＳａａＳ）：消費者に提供される能力は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。それらのアプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インターフェース（例えば、ウェブ・ベースの電子メール）を介して様々なクライアント・デバイスからアクセス可能である。消費者は、限られたユーザ特有のアプリケーション構成設定を可能な例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション能力さえ含め、基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしない。
【００６２】
Platform as a Service（ＰａａＳ）：消費者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびプログラミング・ツールを使用して作成された、消費者が作成した、または消費者が獲得したアプリケーションをクラウド・インフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含め、基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしないが、展開されたアプリケーション、および、場合により、アプリケーション・ホスティング環境構成を支配する。
【００６３】
Infrastructure as a Service（ＩａａＳ）：消費者に提供される能力は、処理、ストレージ、ネットワーク、および他の基本的なコンピューティング・リソースをプロビジョニングすることであり、消費者は、オペレーティング・システムと、アプリケーションとを含み得る任意のソフトウェアを展開して、実行することができる。消費者は、基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしないが、オペレーティング・システム、ストレージ、展開されたアプリケーション、および、場合により、選定されたネットワーキング構成要素（例えば、ホスト・ファイアウォール）の限られた制御を支配する。
展開モデルは、以下のとおりである。すなわち、
【００６４】
プライベート・クラウド：クラウド・インフラストラクチャが、組織だけのために運用される。クラウド・インフラストラクチャは、その組織によって管理されても、第三者によって管理されてもよく、敷地内に存在しても、敷地外に存在してもよい。
【００６５】
コミュニティ・クラウド：クラウド・インフラストラクチャが、いくつかの組織によって共有され、共有される関心（例えば、任務、セキュリティ要件、ポリシー、および遵守配慮事項）を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織によって管理されても、第三者によって管理されてもよく、敷地内に存在しても、敷地外に存在してもよい。
【００６６】
公共クラウド：クラウド・インフラストラクチャが、不特定多数の人々または業界グループによる利用に供され、クラウド・サービスを販売する組織によって所有される。
【００６７】
ハイブリッド・クラウド：クラウド・インフラストラクチャは、独自のエンティティのままであるが、データ移植性およびアプリケーション移植性を可能にする標準化された技術もしくは独自の技術（例えば、クラウド間で負荷分散するためのクラウド・バースティング）によって一緒に結び付けられた２つ以上のクラウド（プライベート、コミュニティ、または公共）の混成である。
【００６８】
クラウド・コンピューティング環境は、サービス指向であり、ステートレスである性質、低結合、モジュール性、およびセマンティクスの相互運用性に焦点を合わせている。クラウド・コンピューティングの中心には、互いに接続されたノードのネットワークを備えるインフラストラクチャがある。
【００６９】
次に図８を参照すると、例示的なクラウド・コンピューティング環境５０が示される。図示されるとおり、クラウド・コンピューティング環境５０は、例えば、携帯情報端末（ＰＤＡ）もしくはセルラー電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃ、または自動車コンピュータ・システム５４Ｎ、あるいはこれらの組合せなどのクラウド消費者によって使用されるローカル・コンピューティング・デバイスが通信することが可能な１つまたは複数のクラウド・コンピューティング・ノード１０を備える。ノード１０は、互いに通信することが可能である。ノード１０は、前述したプライベート・クラウド、コミュニティ・クラウド、公共クラウド、またはハイブリッド・クラウド、あるいはこれらの組合せなどの１つまたは複数のネットワークにおいて、物理的に、または仮想的にグループ化される（図示せず）ことが可能である。このことは、クラウド・コンピューティング環境５０が、インフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはこれらの組合せを、クラウド消費者がローカル・コンピューティング・デバイス上にリソースを維持する必要のないサービスとして提供することを可能にする。図８に示されるコンピューティング・デバイス５４Ａ〜Ｎのタイプは、例示的であることを意図しているに過ぎず、コンピューティング・ノード１０およびクラウド・コンピューティング環境５０は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能な接続あるいはその両方を介して（例えば、ウェブ・ブラウザを使用して）任意のタイプのコンピュータ化されたデバイスと通信することができることを理解されたい。
【００７０】
次に図９を参照すると、クラウド・コンピューティング環境５０（図８）によって提供される機能抽象層のセットが示される。図９に示される構成要素、層、および機能は、例示的であることを意図しているに過ぎず、本発明の実施形態は、それらに限定されないことをあらかじめ理解されたい。図示されるとおり、以下の層および対応する機能が提供される。すなわち、
【００７１】
ハードウェアおよびソフトウェア層６０が、ハードウェア構成要素およびソフトウェア構成要素を含む。ハードウェア構成要素の例は、メインフレーム６１、ＲＩＳＣ（Reduced Instruction Set Computer）アーキテクチャ・ベースのサーバ６２、サーバ６３、ブレード・サーバ６４、ストレージ・デバイス６５、ならびにネットワークおよびネットワーキング構成要素６６を含む。いくつかの実施形態において、ソフトウェア構成要素は、ネットワーク・アプリケーション・サーバ・ソフトウェア６７と、データベース・ソフトウェア６８とを含む。
【００７２】
仮想化層７０が、仮想エンティティの以下の例、すなわち、仮想サーバ７１、仮想ストレージ７２、仮想プライベート・ネットワークを含む仮想ネットワーク７３、仮想アプリケーションおよび仮想オペレーティング・システム７４、ならびに仮想クライアント７５を提供し得る抽象層を提供する。
【００７３】
一例において、管理層８０が、後段で説明される機能を提供することが可能である。リソース・プロビジョニング８１が、クラウド・コンピューティング環境内でタスクを実行するのに利用されるコンピューティング・リソースおよび他のリソースの動的調達を提供する。計測および価格設定８２が、クラウド・コンピューティング環境内でリソースが利用されるにつれての費用追跡、ならびにこれらのリソースの消費に関する料金請求もしくはインボイス送付を提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことが可能である。セキュリティが、クラウド消費者およびタスクに関するＩＤ検証、ならびにデータおよび他のリソースに関する保護を提供する。ユーザ・ポータル８３が、クラウド・コンピューティング環境へのアクセスを消費者およびシステム管理者に提供する。サービス・レベル管理８４が、要求されるサービス・レベルが満たされるようにクラウド・コンピューティング・リソース割当ておよびクラウド・コンピューティング・リソース管理を提供する。サービス・レベル・アグリーメント（ＳＬＡ）計画および履行８５が、ＳＬＡにより将来の要件が予期されるクラウド・コンピューティング・リソースに関する事前取決め、およびそのようなリソースの調達を提供する。
【００７４】
作業負荷層９０が、クラウド・コンピューティング環境が利用され得る機能の例を提供する。この層から提供され得る作業負荷および機能の例は、マッピングおよびナビゲーション９１、ソフトウェア開発およびライフサイクル管理９２、仮想教室教育デリバリ９３、データ解析処理９４、トランザクション処理９５、ならびに動的パスワード・プログラム９６を含む。
【００７５】
本発明の様々な実施形態の以上の説明は、例示および説明の目的で提示されてきた。以上の説明は、網羅的であることも、本発明を、開示される形態そのものに限定することも意図していない。多くの変形および変更が可能である。本発明の当業者には明白であり得るそのような変更および変形は、添付の特許請求の範囲によって定められる本発明の範囲に含まれることが意図される。
【符号の説明】
【００７６】
１０  クラウド・コンピューティング・ノード
５０  クラウド・コンピューティング環境
５４Ａ  携帯情報端末（ＰＤＡ）もしくはセルラー電話
５４Ｂ  デスクトップ・コンピュータ
５４Ｃ  ラップトップ・コンピュータ
５４Ｎ  自動車コンピュータ・システム
６０  ハードウェアおよびソフトウェア層
６１  メインフレーム
６２  サーバ
６３  サーバ
６４  サーバ
６５  ストレージ・デバイス
６６  ネットワークおよびネットワーキング構成要素６６
６７  ネットワーク・アプリケーション・サーバ・ソフトウェア
６８  データベース・ソフトウェア
７０  仮想化層
７１  仮想サーバ
７２  仮想ストレージ
７３  仮想ネットワーク
７４  仮想アプリケーションおよび仮想オペレーティング・システム
７５  仮想クライアント
８０  管理層
９０  作業負荷層
１００  動的パスワード・システム
１１０  コンピューティング・デバイス
１１２  動的パスワード・プログラム
１１４  パスワード・ジェネレータ
１１６  パターン／規則モジュール
１１８  認証モジュール
１２０  パスワード・データストア
１２６  クライアント・コンピューティング・デバイス
１２８  グラフィカル・ユーザ・インターフェース
１３０  ネットワーク
２００  ユーザ・インターフェース
２１０  パスワード・ペイン
２２０  条件ペイン
２３０  アクション・ペイン
９０２  プロセッサ
９０４  コンピュータ可読ＲＡＭ
９０６  コンピュータ可読ＲＯＭ
９０８  コンピュータ可読記憶媒体
９１０  オペレーティング・システム
９１２  デバイス・ドライバ
９１４  読取り／書込みドライブもしくは読取り／書込みインターフェース
９１６  ネットワーク・アダプタもしくはネットワーク・インターフェース
９１８  通信ファブリック
９２０  ディスプレイ画面
９２２  キーボードもしくはキーパッド
９２４  コンピュータ・マウスもしくはタッチパッド
９２６  ポータブル・コンピュータ可読記憶媒体
９２８  アプリケーション・プログラム
【図１】
0006763112.tif 000003
【図２】
0006763112.tif 000004
【図３】
0006763112.tif 000005
【図４】
0006763112.tif 000006
【図５】
0006763112.tif 000007
【図６】
0006763112.tif 000008
【図７】
0006763112.tif 000009
【図８】
0006763112.tif 000010
【図９】
0006763112.tif 000011