(57)【特許請求の範囲】
【請求項１】
コンピューティングシステムの１個または複数個のプロセッサによって実行されるとき、
フォームの複数のフォームフィールドを指定するフォームフィールド仕様をウェブサイトから得る動作と、
前記フォームの前記複数のフォームフィールドのうちの少なくとも１つの中に、少なくとも１つの値を与えるために使用されるデジタルＩＤを選択しまたは作成するよう、前記コンピューティングシステムのユーザを促す動作であって、前記デジタルＩＤが、１つ以上のＩＤプロバイダにより格納された前記デジタルＩＤに関連したデータにアクセスするために、前記１つ以上のＩＤプロバイダに接続するコードを前記コンピューティングシステムが実行できるようにし、前記デジタルＩＤに関連した前記データが、前記ユーザに関する情報と、前記複数のフォームフィールドの内の前記少なくとも１つを埋めるのに使用されるデータとを含む、動作と、
前記ＩＤプロバイダは、自己発行ＩＤプロバイダとサードパーティＩＤプロバイダのいずれかであって、
前記コンピューティングシステムのユーザが、サードパーティＩＤプロバイダに格納されたデータに関連したデジタルＩＤを選択した場合には、ネットワークを介して前記デジタルＩＤに関連したデータが格納される前記サードパーティＩＤプロバイダに接続する動作と、前記デジタルＩＤを使用して、前記サードパーティＩＤプロバイダから、前記フォームの前記複数のフォームフィールドのうちの前記少なくとも１つを埋めるために使用される前記データを含む、前記デジタルＩＤに関連した前記データを得る動作を行い、
前記コンピューティングシステムのユーザが、自己発行ＩＤプロバイダに格納されたデータに関連したデジタルＩＤを選択した場合は、前記デジタルＩＤに関連したデータが格納される自己発行ＩＤプロバイダから、前記フォームの前記複数のフォームフィールドのうちの前記少なくとも１つを埋めるために使用される前記データを含む、前記デジタルＩＤに関連した前記データを得る動作を行い、
少なくとも１つの埋められたフォームフィールドを生成するために、得られた前記データを用いて前記フォームの前記複数のフォームフィールドのうちの前記少なくとも１つを埋める動作と、
前記少なくとも１つの埋められたフォームフィールドを前記ウェブサイトに提出する動作とを行い、
前記デジタルＩＤに関連した前記データを前記サードパーティＩＤプロバイダから得た場合には、少なくとも１つの埋められたフォームフィールドを生成するために、得られた前記データを用いて前記フォームの前記複数のフォームフィールドのうちの前記少なくとも１つを埋める動作は、前記デジタルＩＤに関連した前記データを解析して前記フォームの前記複数のフォームフィールドのうちの前記少なくとも１つを埋めるために互換性を有する入力となるように変換させるものであって、前記デジタルＩＤに関連した前記データは各種のフォーマットのいずれかのフォーマットであって、前記データフォームの複数のフォームフィールドを指定するフォームフィールド仕様に従って前記デジタルＩＤに関連した前記データを解析して互換性を有するよう変換させること、
を前記コンピューティングシステムに実行させるコンピュータ実行可能命令を有することを特徴とする１つまたは複数のコンピュータ可読記憶媒体。
【請求項２】
前記フォームは、前記ウェブサイトにおいて新たなアカウントを登録するためのものであることを特徴とする請求項１に記載のコンピュータ可読記憶媒体。
【請求項３】
前記フォームは、前記ウェブサイトにログインし、または別の方法で前記ウェブサイトにおいて認証するためのものであることを特徴とする請求項１に記載のコンピュータ可読記憶媒体。
【請求項４】
前記フォームの前記フォームフィールドの前記少なくとも１つのうちの、１つまたは複数は、パスワードフィールドであることを特徴とする請求項１に記載のコンピュータ可読記憶媒体。
【請求項５】
前記フォームフィールド仕様は、前記フォームの前記フォームフィールドのうちの１つまたは複数に関する、１つまたは複数のフォームフィールド制限も指定することを特徴とする請求項１に記載のコンピュータ可読記憶媒体。
【請求項６】
得られた前記データを用いて前記フォームの前記フォームフィールドのうちの前記少なくとも１つを埋める前記動作において、前記フォームフィールド仕様の中で指定される前記１つまたは複数のフォームフィールド制限が満たされることを特徴とする請求項６に記載のコンピュータ可読記憶媒体。
【請求項７】
複数のデジタルＩＤは、情報カードとして前記ユーザに提示され、前記ユーザは、前記複数のデジタルＩＤのうちの少なくとも１つを選択するように促されることを特徴とする請求項２に記載のコンピュータ可読記憶媒体。
【請求項８】
ブラウザクライアントコンピューティングシステム、および少なくとも１つのウェブページを提供する、少なくとも１つのページサーバコンピューティングシステムを含むネットワークにおいて、前記ブラウザクライアントコンピューティングシステムが、前記少なくとも１つのページサーバコンピューティングシステムにデータを提供する方法であって、前記方法は、
前記ブラウザクライアントコンピューティングシステムが、フォームの複数のフォームフィールド、および前記フォームの前記フォームフィールドのそれぞれに対してゼロ以上のフォームフィールド制限を指定する、前記少なくとも１つのウェブページのフォームフィールド仕様を得るステップと、
前記ブラウザクライアントコンピューティングシステムが、デジタルＩＤを選択または作成するよう、ユーザを促すステップであって、前記デジタルＩＤが、１つ以上のＩＤプロバイダにより格納された前記デジタルＩＤに関連したデータにアクセスするために、前記１つ以上のＩＤプロバイダに接続するコードを前記クライアントコンピューティングシステムが実行できるようにし、前記デジタルＩＤに関連した前記データが、前記ユーザに関する情報と、前記フォームの前記フォームフィールドの内の少なくとも１つを埋めるのに使用されるデータとを含む、ステップと、
前記ブラウザクライアントコンピューティングシステムが、前記デジタルＩＤを使用して前記１つ以上のＩＤプロバイダの内の少なくとも１つに接続するステップと、
前記ＩＤプロバイダは、自己発行ＩＤプロバイダとサードパーティＩＤプロバイダのいずれかであって、
前記ブラウザクライアントコンピューティングシステムのユーザが、サードパーティＩＤプロバイダに格納されたデータに関連したデジタルＩＤを選択した場合には、前記ブラウザクライアントコンピューティングシステムが、前記デジタルＩＤを使用して、ネットワークを介して、前記デジタルＩＤに関連したデータが格納される前記サードパーティＩＤプロバイダから、前記フォームの前記フォームフィールドのうちの少なくとも１つを埋めるために使用される前記データを含む、前記デジタルＩＤに関連した前記データを得るステップと、
前記ブラウザクライアントコンピューティングシステムのユーザが、自己発行ＩＤプロバイダに格納されたデータに関連したデジタルＩＤを選択した場合は、前記デジタルＩＤに関連したデータが格納される自己発行ＩＤプロバイダから、前記フォームの前記複数のフォームフィールドのうちの前記少なくとも１つを埋めるために使用される前記データを含む、前記デジタルＩＤに関連した前記データを得る動作を行うステップと、
前記ブラウザクライアントコンピューティングシステムが、得られた前記データを用いて前記フォームの前記フォームフィールドのうちの前記少なくとも１つを埋めるステップと、
前記ブラウザクライアントコンピューティングシステムが、前記フォームの前記少なくとも１つの埋められたフォームフィールドを、前記少なくとも１つのページサーバコンピューティングシステムに自動的に提出するステップを有し、
前記デジタルＩＤに関連した前記データを前記サードパーティＩＤプロバイダから得た場合には、少なくとも１つの埋められたフォームフィールドを生成するために、得られた前記データを用いて前記フォームの前記複数のフォームフィールドのうちの前記少なくとも１つを埋める動作は、前記デジタルＩＤに関連した前記データを解析して前記フォームの前記複数のフォームフィールドのうちの前記少なくとも１つを埋めるために互換性を有する入力となるように変換させるものであって、前記デジタルＩＤに関連した前記データは各種のフォーマットのいずれかのフォーマットであって、前記データフォームの複数のフォームフィールドを指定するフォームフィールド仕様に従って前記デジタルＩＤに関連した前記データを解析して互換性を有するよう変換させること
を含むことを特徴とする方法。
【請求項９】
前記フォームの前記フォームフィールドのうちの前記少なくとも１つを埋めるために得られる前記データは、前記ユーザが選択したまたは作成した前記デジタルＩＤを使用して得られるデータを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記フォームの前記フォームフィールドのうちの前記少なくとも１つを埋めるために得られる前記データは、動的に生成されるユーザ名とパスワードとの対を含むことを特徴とする請求項８に記載の方法。
【請求項１１】
前記フォームの前記フォームフィールドのうちの前記少なくとも１つを埋めるために得られる前記データは、以前に生成したユーザ名とパスワードとの対を含むことを特徴とする請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ウェブサイトは、ウェブサイトが提供するサービスを使用するために、ユーザが個人情報を提供することをしばしば要求する。例えば、ウェブサイトは、ユーザの新たなアカウントを登録し、ユーザを認証し、またはユーザの支払いを処理するために個人情報を集める場合がある。ユーザからこの情報を集めるために、ウェブサイトは多くの場合、ユーザに「フォーム」を提示する。フォームまたはウェブフォームとは、情報を入力するために確保される「フォームフィールド」と呼ばれるスペースを含む構造化ウェブドキュメントである。フォームは、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ上でユーザの入力を集めるための普遍的な手段である。
【背景技術】
【０００２】
人々がフォームを介してウェブサイトに個人情報を提供することが習慣的になるにつれ、ＩＤの盗難が増加した。ＩＤの窃盗犯は、多くの場合信頼できるウェブサイトのウェブフォームに似た、またはそうしたウェブフォームを正確にミラーリングする、個人情報を要求するウェブフォームをユーザに提示することができる。すると疑っていないユーザは、パスワード、クレジットカード番号、または他の個人情報を犯人に与える可能性がある。
【０００３】
ウェブサイト認証のために、ユーザ名およびパスワードのフォームを使用することに固有の他の問題がある。人々は、辞書の中の言葉や名前に基づく短いパスワードを多くの場合選ぶ。これらの種類のパスワードは、非常に長く、ランダム化されたパスワードよりも容易に推測しまたは破ることができる。さらに、人々は一般に複数のウェブサイトに対して同じパスワードを使用し、このことは、１つのウェブサイトのパスワードが危害を受ける場合にさらされるリスクのレベルを高める。ある人物が、非常に長く、ランダム化され、一意のパスワードを使用することを望む場合、その人物はそれらのパスワードを書き留めることなく覚えておくのに苦労する可能性があるので、個人パスワードを管理することは相当な雑事になる。
【０００４】
より安全、均一かつユーザフレンドリなデジタル情報の交換を容易にするために、デジタルＩＤの、拡張可能（ｏｐｅｎ−ｅｎｄｅｄ）相互運用システムが開発されてきた。このデジタルＩＤのシステムは、多くの場合「ＩＤメタシステム」と呼ばれる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
少なくとも１つの従来の実装形態では、このＩＤメタシステムは安全な機構を提供し、ユーザは、その安全な機構によりデジタルＩＤを管理し使用することができる。このＩＤメタシステムは、デジタル情報の交換をより均一かつユーザフレンドリにし、ユーザがインターネットを介して検証可能な相手方に情報を提供するための安全な手段を提供することにより、ＩＤの盗難防止に役立つ。ユーザのデジタルＩＤの一部は自己発行することができるのに対し、他のデジタルＩＤは信頼できるサードパーティによって提供され得る。ユーザであろうとサードパーティであろうと、デジタルＩＤを発行するエンティティは「ＩＤプロバイダ」と呼ばれる。デジタルＩＤを要求し、デジタルＩＤの情報を使用するウェブサイトなどの当事者は、「証明書利用者」と呼ばれる。ユーザが合法の証明書利用者であるウェブサイトに移動する場合、ブラウザに埋め込まれる「ＩＤセレクタ」ソフトウェアは、そのサイトに送信すべきデジタルＩＤに相当する情報カードをユーザが選択できるようにする。デジタルＩＤが選択されると、ＩＤセレクタは、ＩＤプロバイダと証明書利用者との間で、「セキュリティトークン」と呼ばれるデジタルＩＤデータの暗号化済みパッケージを安全に交換することを助ける。ＭＩＣＲＯＳＯＦＴ（登録商標）ＷＩＮＤＯＷＳ  ＣＡＲＤＳＰＡＣＥ（登録商標）は、ＩＤセレクタソフトウェアの一例である。
【課題を解決するための手段】
【０００６】
本明細書に記載する諸実施形態は、フォームフィールドのデータを埋め、提出するためにデジタルＩＤを使用することに関する。こうした実施形態は、前に実施されてきたように、ウェブサイトをＩＤメタシステムと互換性があるようにすることに伴う開発努力より少ない開発努力で、ウェブサイトにデジタルＩＤとの互換性を与える可能性を有する。本明細書に記載する諸実施形態は、ユーザ名およびパスワードの自動生成／保守のための機構も提供する。
【０００７】
一実施形態例では、コンピュータアプリケーションが、フォームを有するウェブサイトからフォームフィールド仕様を得る。このフォームフィールド仕様は、デジタルＩＤを使用してデータを与えることができる、フォームのフォームフィールドを識別する。フォームフィールド仕様を得ると、コンピュータアプリケーションが、デジタルＩＤを選択しまたは作成するようユーザを促す。コンピュータアプリケーションは、このデジタルＩＤを使用して、フォームのフォームフィールドのうちの１つまたは複数を埋めるためのデータを得る。コンピュータアプリケーションは、得られたデータを用いてフォームのフォームフィールドを埋め、その後、フォームフィールドデータはウェブサイトに提出される。
【０００８】
別の実施形態例では、コンピュータアプリケーションが、ウェブサイトまたはアプリケーションから、ユーザ名パラメーターおよびパスワードパラメーターを得る。このコンピュータアプリケーションは、指定されたパラメーターに適合するユーザ名およびパスワードを自動生成する。生成されるユーザ名とパスワードとの対は、このコンピュータアプリケーションによって安全に記憶される。このコンピュータアプリケーションは、ウェブサイトまたはアプリケーションとの将来の認証のために、このユーザ名とパスワードとの対を呼び出すことができる。
【０００９】
この発明の概要は、特許請求の範囲に記載の主題の重要な特徴または不可欠な特徴を特定することを意図せず、特許請求の範囲に記載の主題の範囲を決定する際の助けとして使用されることも意図しない。
【図面の簡単な説明】
【００１０】
本発明の、上記に列挙したおよび他の利点／特徴を得ることができる方法について記載するために、添付図面を参照することにより様々な実施形態のより具体的な説明を行う。これらの図面は諸実施形態のサンプルを描くに過ぎず、よって本発明の範囲の限定であるとみなすべきでないことを理解し、添付図面を使用することにより、諸実施形態を一層の特定性および詳細により記載し説明する。
【図１】本明細書に記載する諸実施形態を用いるために使用することができるコンピューティングシステムの一例を示す図である。
【図２】デジタルＩＤを使用するフォーム入力技法、および自動パスワード技法を実現することができる環境を示す図である。
【図３】デジタルＩＤを用いて得られるデータを使用する、ウェブフォーム入力方法のフローチャートである。
【図４】安全なユーザ名とパスワードとの対を自動生成し、記憶するための方法のフローチャートである。
【図５】デジタルＩＤを使用する、ウェブフォーム入力および自動パスワード生成の両方を取り入れる方法のフローチャートである。
【発明を実施するための形態】
【００１１】
本明細書に記載する少なくとも一部の実施形態は、デジタルＩＤを使用するフォーム入力および／または安全なパスワードの自動生成に関する。本明細書に記載する諸実施形態は、前に実施されてきたように、ウェブサイトをＩＤメタシステムと互換性があるようにすることに伴う開発努力より少ない開発努力で、ウェブサイトにデジタルＩＤとの互換性を与える可能性を有する。さらに、本明細書に記載する諸実施形態は、パスワードに基づく認証機構を効率化し、そうした認証機構のセキュリティを高め、複数のウェブサイトおよびアプリケーションのパスワードを管理することにかかわる負担からコンピュータユーザを解放することができる。一部の実施形態をウェブサイトに関して記載するが、本明細書に記載する技法は、様々な種類のウェブアプリケーションおよびスタンドアロンコンピュータアプリケーションを含む、他のアプリケーションに適用できることを当業者なら理解されよう。
【００１２】
以下にさらに詳細に説明するように、一実施形態では、フォームを有するウェブサイトは、フォームの中に含まれるフォームフィールドに関する情報を入手できるようにする。この情報は、フォームフィールドに入力することができるデータの種類および形式に関する一定の制限をオプションで含むことができる。ユーザは、デジタルＩＤを選択しまたは作成するよう促される。選択されるデジタルＩＤは、ユーザに関する一定の情報に関連付けられることができ、フォームの様々なフォームフィールドを埋めるために使用されることができる。選択されるデジタルＩＤのデータは、ウェブサイトによって指定されている任意の制限に適合するようにフォーマットされる。次いで、そのデータがウェブサイトに提出される。
【００１３】
あるいは、またはそれに加え、別の実施形態では、ウェブサイトまたはアプリケーションにおける登録で使用し、ウェブサイトまたはアプリケーションにおいて将来認証するために、安全なユーザ名とパスワードとの対を生成することができる。この安全なユーザ名とパスワードとの対は、デジタルＩＤに関連付けられることができる。
【００１４】
まず、図１に関して、本明細書に記載する様々な原理を使用することができるコンピューティングシステムを記載する。次いで、図２〜５に関して、デジタルＩＤを使用してフォームを入力すること、ならびに／または安全なユーザ名およびパスワードを生成することをもたらす様々な実施形態を記載する。
【００１５】
図１は、コンピューティングシステム１００の一例を示す。コンピューティングシステムは、今ではますます多様な形式を取りつつある。コンピューティングシステムは、例えばハンドヘルドデバイス、アプライアンス、ラップトップコンピュータ、デスクトップコンピュータ、メインフレーム、分散コンピューティングシステム、または従来はコンピューティングシステムとみなされなかったデバイスとすることさえできる。この記述および特許請求の範囲では、用語「コンピューティングシステム」は、少なくとも１個のプロセッサ、およびプロセッサによって実行され得るコンピュータ実行可能命令をその上に有することができるメモリを含む、任意のデバイスまたはシステム（あるいはその組合せ）を含むものとして広範に定義される。このメモリは任意の形を取ることができ、コンピューティングシステムの性質および形式に依拠することができる。コンピューティングシステムは、ネットワーク環境上に分散することができ、複数の構成コンピューティングシステムを含むことができる。
【００１６】
図１に示されているように、コンピューティングシステム１００は、最も基本的な構成では、少なくとも１個の処理ユニット１０２およびメモリ１０４を典型的には含む。メモリ１０４は、揮発性、不揮発性とすることができる物理システムメモリ、またはその２つの何らかの組合せとすることができる。用語「メモリ」は、物理記憶媒体などの不揮発性大容量記憶装置を指すために本明細書で使用することもできる。このコンピューティングシステムが分散される場合、処理能力、メモリ能力、および／または記憶能力も同様に分散され得る。本明細書で使用するとき、用語「モジュール」または「コンポーネント」は、このコンピューティングシステム上で実行されるソフトウェアオブジェクトまたはルーチンを指すことができる。本明細書に記載する様々なコンポーネント、モジュール、エンジン、およびサービスは、このコンピューティングシステム上で（例えば個別のスレッドとして）実行されるオブジェクトまたはプロセスとして実装することができる。
【００１７】
以下の記述では、１つまたは複数のコンピューティングシステムによって実行される動作に関して、諸実施形態を説明する。そうした動作がソフトウェアによって実装される場合、コンピュータ実行可能命令を実行したことに応答して、その動作を実行する関連するコンピューティングシステムの１個または複数個のプロセッサがコンピューティングシステムの動作を指図する。そうした動作の一例は、データを操作するものである。このコンピュータ実行可能命令（および操作されたデータ）は、コンピューティングシステム１００のメモリ１０４に記憶することができる。
【００１８】
コンピューティングシステム１００は、コンピューティングシステム１００が例えばネットワーク１１０を介して他のメッセージプロセッサと通信することを可能にする、通信チャネル１０８も含むことができる。通信チャネル１０８は通信媒体の例である。通信媒体は、典型的にはコンピュータ可読命令、データ構造、プログラムモジュール、または搬送波や他のトランスポート機構などの変調データ信号内の他のデータを具体化し、任意の情報配信媒体を含む。限定ではなく例として、通信媒体には、有線ネットワークや直接有線接続などの有線媒体、およびアコースティック、無線、赤外線や他の無線媒体などの無線媒体が含まれる。本明細書で使用するとき、用語「コンピュータ可読媒体」は、記憶媒体および通信媒体の両方を含む。
【００１９】
本発明の範囲内の諸実施形態は、コンピュータ実行可能命令もしくはデータ構造を保有し、またはその上に記憶させるためのコンピュータ可読媒体も含む。そうしたコンピュータ可読媒体は、汎用コンピュータまたは専用コンピュータによってアクセスすることができる、どんな利用可能な媒体でもよい。限定ではなく例として、そうしたコンピュータ可読媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭや他の光ディスク記憶媒体、磁気ディスク記憶装置や他の磁気記憶デバイス、所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形で保有しもしくは記憶するために使用することができ、汎用コンピュータまたは専用コンピュータによってアクセスすることができる他の任意の媒体など、物理記憶媒体および／またはメモリ媒体が含まれ得る。ネットワークまたは他の通信接続（ハードワイヤード、無線、またはハードワイヤードもしくは無線の組合せ）を介してコンピュータに情報が転送されもしくは提供されるとき、コンピュータはその接続をコンピュータ可読媒体と適切にみなす。したがって、そうした任意の接続をコンピュータ可読媒体と適切に呼ぶ。上記のものの組合せも、コンピュータ可読媒体の範囲内に含めるべきである。
【００２０】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに、特定の機能もしくは機能群を実行させる命令およびデータを含む。この主題を構造的特徴および／または方法論的動作に固有の用語で記載してきたが、添付の特許請求の範囲の中で定義するこの主題は、必ずしも本明細書に記載する特定の特徴または動作に限定されないことを理解すべきである。むしろ、本明細書に記載する特定の特徴および動作は、特許請求の範囲を実施する形態例として開示するものである。
【００２１】
図２は、本明細書に記載の、デジタルＩＤを使用するフォーム入力技法を行うことができるサンプル環境２００を示す。このサンプル環境２００内では、自動化された安全なパスワード生成技法も実行することができる。図２は、例えば図１のコンピューティングシステム１００のように構造化され得る、クライアントコンピューティングシステム２０１を含む。このクライアントコンピューティングシステム２０１はネットワーク２０５に接続される。ネットワーク２０５は、インターネットとすることができ、またあるいはネットワーク２０５は、図２に図示し以下に記載するこの環境の他のコンポーネントにクライアントコンピューティングシステム２０１を接続する任意のネットワークとすることができる。
【００２２】
図１のコンピューティングシステム１００のように構造化することができるウェブサーバ２０２は、コンピュータ実行可能命令を含み、このコンピュータ実行可能命令によりウェブサーバ２０２は、クライアントコンピュータ２０１がネットワーク２０５を介してアクセス可能なウェブサイト２１０をホストする。ウェブサイト２１０は、１つまたは複数のウェブページ２１１Ａ〜Ｄ（この説明の中では一括して「ウェブページ２１１」と呼ぶ場合もある）を含むことができる。ウェブページ２１１のそれぞれは、メタデータ２１５と、可視の対話型エレメントおよび可視の非対話型エレメントの両方を含み得る可視エレメント２１６とを含むことができる。ウェブページ２１１は、従来の手法ではＨＴＭＬを使用して記述することができ、またあるいは、当技術分野で知られているまたは将来開発される他の言語、スクリプト、プロトコル、もしくはフォーマットでクライアントコンピューティングシステムに提供することができる。
【００２３】
代替的構成では、ウェブサイト２１０を、図示されているウェブサーバ２０２と同様であり得る複数のウェブサーバにわたってホストすることができる。さらに、ウェブサイト２１０および／またはウェブページ２１１は、例えばより多くのユーザ数、より大きい帯域幅の可用性、より速い接続速度等を促進するために、ウェブページおよび他のコンテンツをミラーリングし、複数のウェブサーバにわたって分散できるようにする機構を実装する分散アーキテクチャなどの、分散アーキテクチャによって提供することができる。事実、本明細書に記載する技法は、この環境を実装するウェブサーバ（もしあれば）の数または種類に関係なく、かつウェブページおよび他のコンテンツをこの環境内のエンドユーザに分散することができる手段に関係なく、フォームを使用する任意の環境と互換性があり得る。
【００２４】
ウェブサイト２１０、またはウェブサイトのウェブページ２１１のうちの１つもしくは複数は、複数のフォームフィールドを含むフォームを含む。例えばフォーム２１２を含むウェブページ２１１Ａの場合、フォーム２１２は、フォームフィールド２１３Ａ〜２１３Ｄ（一括して「フォームフィールド２１３」と呼ぶ）を含むものとして図示される。ウェブページ２１１Ａを少し詳しく図示するが、ウェブページ２１１Ａに起因する機能の一部またはすべては、オプションで他のウェブページ２１１に同様に起因することができる。例えば、他のウェブページ２１１のうちの１つまたは複数もフォームを有することができる。しかし、典型的にはフォーム内のフォームフィールドの数、ＩＤ、およびレイアウトは、往々にしてフォームごとに異なる可能性がある。
【００２５】
概して、本明細書でこの用語を使用するとき、およびこの用語が当技術分野で知られているように、「フォーム」とは、ユーザが情報を入力するために確保されるスペースを含む構造化ドキュメントであり、「フォームフィールド」とは、ユーザまたは他のエンティティが特定の情報項目を入力することができるフォーム内のスペースである。フォームフィールド２１３を含むフォーム２１２を含むことに加え、ウェブサイト２１０のウェブページ２１１Ａは、フォームフィールド２１３の（必ずしもすべてではないが）１つまたは複数を参照するフォームフィールド仕様２１４も含むことができる。このフォームフィールド仕様２１４およびその中に含まれる参照は、本明細書に記載するフォーム入力方法およびフォーム入力技法によって埋められるべきフォームフィールドを識別する情報をクライアントコンピューティングシステム２０１に提供する。
【００２６】
フォーム２１２、フォームフィールド２１３、およびフォームフィールド仕様２１４は、すべて単一のウェブページ２１１Ａの中に含めることができ、またあるいは、図示されているウェブページ２１１などの複数のウェブページの一部とされることができる。あるいは、フォーム２１２、フォームフィールド２１３、およびフォームフィールド仕様２１４は、ウェブサーバ２０２とクライアントコンピューティングシステム２０１との間の直接の情報交換や、伝統的なウェブページであるとみなされないウェブアプリケーションを含むアプリケーションによってなど、従来のグラフィカルに表現されるウェブページ以外の手段により、クライアントコンピューティングシステム２０１に提供することができる。
【００２７】
少なくとも、フォームフィールド仕様２１４が、１つまたは複数のウェブページ２１１の一部としてクライアントコンピューティングシステム２０１に提供される実施形態では、フォームフィールド仕様２１４は、ウェブページのメタデータ２１５の一部として含まれ得る。フォームフィールド仕様２１４内のデータは、当技術分野で知られているまたはまだ開発されていない複数の種類のデータ構造のうちの任意の構造として編成されることができる。例えば、１つの従来型の機構は、例えばＸＭＬデータ構造やＨＴＭＬデータ構造などにおいて、マークアップ言語を使用してデータ構造を編成することである。あるいは、フォームフィールド仕様２１４は、ウェブページを記述する（ＨＴＭＬなどの）マークアップ言語内の１つまたは複数のタグ内に単純に記述されることができる。
【００２８】
ウェブページのメタデータ２１５の一部としてフォームフィールド仕様２１４をクライアントコンピューティングシステム２０１に提供する別の代替策として、例えばＴＣＰやＵＤＰなどの知られているプロトコルを使用してネットワーク上を送信されるデータパケットを含む、当技術分野で知られているまたはまだ開発されていない様々な手段のいずれかなどにより、ネットワーク２０５を介して、フォームフィールド仕様２１４をより直接的な方法でクライアントコンピューティングシステムに提供することができる。ただし、ネットワーク上でデータを送信するために使用することができる他の機構はいくらでもある。それらの機構のいずれかを使用して、本明細書に記載の原理に矛盾することなく、クライアントコンピューティングシステム２０１にフォームフィールド仕様２１４を送信することができる。
【００２９】
フォームフィールド仕様２１４は、その中で参照されるフォームフィールドに関する、１つまたは複数のフォームフィールド制限をオプションで指定することができる。これらのフォームフィールド制限は、多くの場合、フォームフィールド仕様２１４が参照するフォームフィールドの中に入力することができるデータについてのパラメーターまたは限度である。フォームフィールド制限の例には（これだけに限定されないが）、指定されるフォームフィールドが要求されるかどうか、フォームフィールドへのデータ入力に関する最低長さ制限および／または最大長さ制限、フォームフィールドを埋めるときに使用すべき所要の文字セット、所要のまたは禁止された文字の種類などが含まれる。フォームフィールド仕様２１４は、フォームフィールド仕様２１４内で参照されるユーザ名およびパスワードのフォームフィールドに固有のフォームフィールド制限も含むことができる。これは、図４に関して以下に論じる「ユーザ名およびパスワード仕様」の一例である。
【００３０】
クライアントコンピューティングシステム２０１は、ウェブブラウザソフトウェア２１８の一実装形態の中にウェブページ２１１Ａの可視エレメント２１６を表示することができ、ウェブブラウザソフトウェア２１８の一実装形態は、ウェブブラウザが一般に実行する機能に加え、以下により詳細に説明する、デジタルＩＤを使用してフォームを入力するための記載の方法および技法をクライアントコンピューティングシステム２０１に実行させるコンピュータ可読命令を含む。ユーザ２３０は、クライアントコンピューティングシステム２０１、とりわけウェブブラウザソフトウェア２１８と対話することができる。本明細書に記載の諸実施形態は、ウェブブラウザソフトウェア２１８に関連して説明するが、本明細書に記載する技法のいずれかをクライアントコンピューティングシステム２０１に実行させるコンピュータ実行可能コードを、ソフトウェアおよび／またはハードウェア内に実装されるアプリケーションを含む、様々な種類のコンピュータアプリケーションに組み込めることが理解されよう。
【００３１】
クライアントコンピューティングシステム２０１は、ユーザが自由裁量で有することができる１つまたは複数のデジタルＩＤを参照する、１つまたは複数のデジタルＩＤ参照２２０Ａ〜Ｅ（一括して「デジタルＩＤ参照２２０」と呼ぶ）を含む。これらのデジタルＩＤ参照２２０は、図１に関して前に記載した様々なコンピュータ可読媒体に記憶されることができる。例えば、デジタルＩＤ参照２２０は、クライアントコンピューティングシステム２０１にとってローカルな不揮発性記憶媒体に記憶されることができ、またあるいはデジタルＩＤ参照２２０は、フラッシュメモリドライブやスマートカードなどのポータブルデバイス上に記憶されることができる。ただし、デジタルＩＤ参照２２０を記憶することができる方法について制限はない。
【００３２】
デジタルＩＤ参照２２０は、クライアントコンピューティングシステム２０１によって実行されるコンピュータ実行可能コードが、ＩＤプロバイダ２０３Ａ〜Ｄおよび２０３Ｓ（以下、「ＩＤプロバイダ２０３」と呼ぶ）によって図示されている１つまたは複数のＩＤプロバイダに接続することを可能にする情報を含む。デジタルＩＤ参照２２０Ａ〜Ｄによって参照されるサードパーティＩＤプロバイダ２０３Ａ〜Ｄは、図１に示されているコンピューティングシステム１００のように構造化されるサーバによって実装されることができる。これらのサードパーティＩＤプロバイダへの接続は、ネットワーク２０５を介してクライアントコンピューティングシステム２０１に与えられる。サードパーティＩＤプロバイダ２０３Ａ〜Ｄの例には、デジタルＩＤを提供する政府機関、クレジットカードプロバイダ、ユーザ２３０がメンバーシップまたはつながりをもつクラブやグループ、ＶＥＲＩＳＩＧＮ（登録商標）ＩＮＣ．などの証明書発行機関などが含まれる。これらはサードパーティＩＤプロバイダのほんの数例であり、デジタルＩＤの形でユーザに情報を提供する事実上どんなエンティティも、サードパーティＩＤプロバイダとみなされることができる。
【００３３】
さらに、デジタルＩＤ参照２２０Ｅによって図示されているような一部のデジタルＩＤ参照は、自己発行ＩＤプロバイダ２０３Ｓ（「自己発行ＩＤプロバイダソフトウェア２０３Ｓ」とも呼ばれる）によって発行される自己発行デジタルＩＤを参照することができる。自己発行ＩＤプロバイダ２０３Ｓは、クライアントコンピューティングシステム２０１のメモリ内に存在し、実行されるとき、ユーザ２３０に関する何らかの情報を含むデジタルＩＤをユーザが作成し、記憶し、かつ／またはアクセスできるようにするコンピュータ実行可能コードによって実装されることができる。自己発行ＩＤプロバイダ２０３Ｓを含むコンピュータ実行可能コードは、ウェブブラウザソフトウェア２１８の一部として、（以下に詳細に論じる）ＩＤセレクタソフトウェア２１９の一部として、別のソフトウェア製品の一部として、またあるいは、スタンドアロンソフトウェアとして組み込まれることができる。この自己発行ＩＤプロバイダ２０３Ｓの管理における柔軟性は、図２の中で、自己発行ＩＤプロバイダ２０３Ｓをウェブブラウザソフトウェア２１８と部分的にしか重複させないことにより記号的に表される。
【００３４】
クライアントコンピューティングシステム２０１は、ＩＤセレクタソフトウェア２１９を含むことができる。ＩＤセレクタソフトウェア２１９は、グラフィカルインターフェイスをユーザ２３０に提示し、その中でデジタルＩＤ参照２２０（およびそれにより対応するＩＤ）のグラフィカル表現が表示される。ＩＤセレクタソフトウェア２１９は、表示されているデジタルＩＤ参照のグラフィカル表現から、ユーザ２３０が選択を行うことができる手段も提供する。ＩＤセレクタソフトウェア２１９は、ウェブブラウザソフトウェア２１８の一部として組み込まれることができ、またあるいは、別個のアプリケーションもしくはスタンドアロンアプリケーションの一部とされることができる。このことは、図２の中で、ＩＤセレクタソフトウェア２１９をウェブブラウザソフトウェア２１８と部分的にしか重複させないことにより記号的に表す。ＩＤセレクタソフトウェア２１９がウェブブラウザソフトウェア２１８の外部に組み込まれる一部の実装形態では、クライアントコンピューティングシステム２０１上にウェブブラウザソフトウェア２１８が存在する必要さえない場合がある。
【００３５】
デジタルＩＤ参照２２０は、ＩＤセレクタソフトウェア２１９により、情報カードまたはデジタルＩＤの他の視覚的表現としてユーザに提示されることができる。それぞれの情報カードは、カードが表すデジタルＩＤに関する情報の視覚的表示をユーザに提供することができる。本明細書に記載の原理を使用してそうしたカードが表すことができるデジタルＩＤの種類について実際に制限はない。しかし、具体例を使用することは、本明細書に記載のより広範な原理を明瞭にするのに役立つことができる。したがって、専ら一例として、デジタルＩＤは、ユーザが一定の年齢であることを主張する、政府が発行するデジタルＩＤに相当することができる。この例では、デジタルＩＤ参照は、例えばサードパーティＩＤプロバイダ２０３Ａ〜Ｄのうちの１つとされることができる、政府のＩＤプロバイダへの参照を含むことができる。この例では、政府のＩＤプロバイダがユーザの年齢の主張を保証し、確認する用意があると仮定されたい。その場合、この例を続けると、デジタルＩＤ参照を表す情報カードは、デジタルＩＤ参照が参照するデジタルＩＤを提供するＩＤプロバイダが年齢確認ＩＤを発行する能力を有することをユーザに明らかにする、グラフィカル表示を提供することができる。
【００３６】
本明細書で論じる実施形態の一部は、ウェブページおよびウェブ環境（例えば図２に示されているウェブページ２１１）に関連して記載するが、この説明を読んだ後、本明細書に記載の実施形態によって実施される概念および技法は、従来のウェブページを取り入れない可能性がある様々な環境および技術に適用できることを当業者なら理解されよう。例えば、フォームの使用を伴う実施形態に関して、フォームは、ウェブページではない様々なコンピュータアプリケーションにおいてよく使用される。フォームは、ＷＯＲＤＰＥＲＦＥＣＴ（登録商標）ドキュメントや、ＭＩＣＲＯＳＯＦＴ（登録商標）ＯＦＦＩＣＥドキュメントにおいて使用することができる。フォームは、ＭＡＣＲＯＭＥＤＩＡ（登録商標）ＦＬＡＳＨ（登録商標）技術を使用して開発されるウェブアプリケーションなど、典型的には「ウェブページ」であると考えられない様々なウェブアプリケーションにおいて使用されることができる。事実、フォームは、ユーザにデータ入力を要求する、実質的にいかなるスタンドアロンアプリケーションまたは他のコンピュータアプリケーションにおいても使用されることができる。
【００３７】
上記に述べた環境２００の一部のコンポーネントは、当技術分野で知られている他のコンピューティング環境およびアプリケーションにおいて実装されているが、ほとんどの場合、本明細書に記載の機能とは異なる機能で実装される。例えば、ＩＤセレクタおよびＩＤプロバイダを使用することを含む、デジタルＩＤを交換するための方法を使用するプラットフォームは、当技術分野において「ＩＤメタシステム」として一般に知られている。さらなる例として、ＭＩＣＲＯＳＯＦＴ（登録商標）ＷＩＮＤＯＷＳ  ＣＡＲＤＳＰＡＣＥ（登録商標）はとりわけ、ＩＤプロバイダによって提供される１つまたは複数のデジタルＩＤへの参照を含む情報カードをユーザに提示する、ＩＤセレクタソフトウェアの実装を含む。このことについては、本明細書に記載の原理に適合させるために適切な修正を加えてではあるが、本明細書に開示する有用な技法および機構の一部を、既存のＩＤメタシステム構造および当技術分野で知られている他の構造とともに実装できることを説明するために背景技術によって言及している。
【００３８】
図３は、デジタルＩＤを使用して得られるデータを用いてフォームフィールドを埋めるための方法３００を示す。この方法３００は、図２に示されている環境２００と同様の環境において実行されることができる。クライアントコンピューティングシステム２０１、およびネットワーク２０５を介してクライアントコンピューティングシステム２０１に接続される他のコンピューティングシステムなど、１つまたは複数のコンピューティングシステムが、方法３００に記載の動作を１つまたは複数のコンピューティングシステムに実行させるコンピュータ可読媒体上に含まれるコンピュータ実行可能命令を、実行することができる。
【００３９】
方法３００は、フォームのフォームフィールドを指定するフォームフィールド仕様をウェブサイトから得る、動作３０１を含む。例えば、図２との関連で、クライアントコンピューティングシステム２０１は、フォーム２１２のフォームフィールド仕様２１４をウェブサイト２１０から得ることができる。フォーム２１２は、いくつかのフォームフィールド２１３を指定し、フォームフィールド仕様２１４はフォームフィールド２１３のうちの１つまたは複数を参照できることを思い出されたい。さらに、前に論じたように、フォームフィールド仕様２１４は、フォーム２１２のフォームフィールド２１３のうちの１つまたは複数に関する、１つまたは複数のフォームフィールド制限をオプションで指定することができる。
【００４０】
一例として、動作３０１で得られるフォームフィールド仕様２１４は、ウェブサイト２１０においてユーザ２３０の新たなアカウントを登録するためのものである、フォーム（本明細書では「登録フォーム」と呼ぶ）２１２のフォームフィールド２１３を参照することができる。ウェブサイト２１０は、代わりにまたはそれに加えて、ウェブサイト２１０に対して認証しまたはログインするためのものである、やはりフォーム２１２と同様の形式の別のフォーム（本明細書では「ログインフォーム」と呼ぶ）を含むことができる。ただし、フォームは、これらの目的または他の様々な目的のうちのいずれか１つもしくは複数のために使用されることができる。どんな場合でも、フォームフィールド２１３の１つは、登録フォームの場合は新たなパスワードのための、またはログインフォームの場合は既存のパスワードのためのパスワードフィールドとされることができる。あり得るフォームフィールド２１３の他の例は、ユーザ名フィールド、クレジットカード情報フィールド、パスポート識別子フィールド、国籍フィールド、年齢フィールド、配偶者関係フィールド、住所情報フィールド、犯罪歴フィールド、職業フィールド等とされることができる。ただし、本明細書に記載の原理は、フォームフィールド２１３に関連して記載する情報の種類に限定されることはない。少なくとも１つの実施形態では、フォームフィールド２１３はテキスト情報からなることができる。しかし一部の実施形態では、専ら例として、その情報はそれに加えてまたは代わりにファイル、リスト、グラフィカルに表示されるオブジェクト、カレンダー日付選択、または他の任意の種類の情報とされることができる。本明細書に記載の原理は、利用される情報の種類について制限はなく、諸実施形態は様々な異なる種類の情報の１つまたは複数を利用することができる。
【００４１】
図３に示されている方法３００は、フォームのフォームフィールドのうちの少なくとも１つの中に、少なくとも１つの値を与えるために使用されるデジタルＩＤを選択しまたは作成するようコンピューティングシステムのユーザを促す、動作３０２も含む。ユーザ２３０は、ユーザが利用できる１つまたは複数のデジタルＩＤ参照２２０から１つのデジタルＩＤ参照を選択するよう、ＩＤセレクタソフトウェア２１９によって促され得る。前に論じたように、デジタルＩＤ参照２２０は、情報カードまたはデジタルＩＤの他のグラフィカル表現の形でユーザに提示されることができ、それぞれのグラフィカル表現は、例えば、グラフィカル表現が表すデジタルＩＤの簡潔な概要をユーザ２３０に提示することができる。
【００４２】
少なくとも１つの実施形態では、ユーザ２３０は、既存のデジタルＩＤを選択するのではなく、新たなデジタルＩＤを作成することに決めることができる。この選択が行われる場合、自己発行ＩＤプロバイダソフトウェア２０３Ｓをアクティブ化することができ、ユーザ２３０は、方法３００で使用されるデジタルＩＤを作成するために自己発行ＩＤプロバイダソフトウェア２０３Ｓが使用することができる入力を、例えばグラフィカルインターフェイスを介して行うことができる。ユーザが新たなデジタルＩＤを作成することができる、他の様々な機構があり得る。あるいは、新たなデジタルＩＤを作成することに決めるのではなく、ユーザ２３０は、１組の既存のデジタルＩＤ参照２２０Ａ〜Ｅのうちの１つを選択することに決めることができる。選ばれるデジタルＩＤ参照は、サードパーティＩＤプロバイダ２０３Ａ〜Ｄからの既存のデジタルＩＤを参照することができ、またあるいは、自己発行ＩＤプロバイダ２０３ＳからのデジタルＩＤを参照することができる。
【００４３】
方法３００における次の動作３０３は、前の動作３０２でユーザが選択しまたは作成したデジタルＩＤ参照を使用して、フォーム２１２のフォームフィールド２１３のうちの１つまたは複数を埋めるために使用することができるデータを得ることからなる。
【００４４】
この動作３０３の１つの応用例についての説明の例として、ユーザ２３０が、例えばサードパーティＩＤプロバイダ２０３Ａが提供するデジタルＩＤを参照するデジタルＩＤ参照２２０Ａを、動作３０２において前に選択した場合、クライアントコンピューティングシステム２０１は、ネットワーク２０５を介して、選択されたデジタルＩＤ参照２２０Ａが参照するサードパーティＩＤプロバイダ２０３Ａに接続する。サードパーティＩＤプロバイダ２２０Ａは、選択されたデジタルＩＤが含むデータフィールド（「要求（ｃｌａｉｍｓ）」としても知られる）をクライアントコンピューティングシステム２０１に提供することができる。このデータは、当技術分野で知られているまたは将来開発される何らかの安全な手段もしくはプロトコルによって転送することができる。このデータは、この説明および当技術分野の両方において集合的にセキュリティトークンと呼ばれる、様々な異なる種類のパッケージのいずれかへとパッケージ化されることができる。セキュリティトークンは、例えばＳＡＭＬトークンなどの安全なデータパッケージを含む、当技術分野で知られているまたは将来開発され得るどんな種類のデータパッケージでもよい。
【００４５】
前の段落の説明のための例を続けると、ユーザが前に（動作３０２で）自己発行デジタルＩＤを参照するデジタルＩＤ参照２２０Ｅを選択したか、新たな自己発行デジタルＩＤを作成することに決めた場合、クライアントコンピューティングシステム２０１上に存在する自己発行ＩＤプロバイダ２０３Ｓは、ユーザが選択したまたはユーザが作成したデジタルＩＤの中に含まれるデータを表すセキュリティトークンを提供することができる。前の段落で論じたように、このデータは、セキュリティトークンと同様であり得るパッケージにカプセル化することができる。あるいは、自己発行デジタルＩＤから得られるデータは、方法３００を実行しているソフトウェアに直接伝達することができる。
【００４６】
動作３０３においてデータを受け取ると、方法３００は、得られたデータを用いて、フォームフィールド仕様２１４内で指定されるフォームフィールド２１３のうちの１つまたは複数を埋める、動作３０４を含む。前の動作３０３で受け取るデータは、フォームフィールド２１３のうちの１つを埋めるために使用することができる前に、セキュリティトークンから抽出しかつ／または変換する必要があり得る。例えば、セキュリティトークンをＩＤプロバイダ２０３から受け取る実施形態では、フォーム仕様２１４内で指定されるフォームフィールド２１３に対する互換性のある入力である、単純なテキストデータまたは（非テキストフォームフィールドの場合）他のデータを抽出するために、セキュリティトークンを「開き」かつ／または解析する必要があり得る。さらに、フォームフィールド仕様２１４内に示されるオプションのフォームフィールド制限のいずれかまたはすべてに適合するよう、データをフォーマットしまたは変換することができる。
【００４７】
フォームフィールド仕様２１４内で指定されたフォームフィールド２１３のうちの１つまたは複数を埋めるために、動作３０４においてデータが使用されると、方法３００は、埋められたフォームフィールドをウェブサイト２１０に提出する、動作３０５を含む。データを提出するこの動作３０５は、クライアントコンピューティングシステム２０１が自動的に、かつ前の動作３０２でユーザ２３０がデジタルＩＤを選択したときに生じ得るユーザ対話以上のさらなるユーザ対話なしに実行することができる。あるいは、ユーザ２３０は、埋められたフォームフィールドを提出することができる前に、クライアントコンピューティングシステム２０１に対して何らかのさらなる対話を行う必要があり得る。一例では、ユーザ２３０は、フォーム２１２を提出する準備ができていることを確認するために、ダイアログボックスの中の確認ボタンをクリックする必要があり得る。ただし、ダイアログボックスの中のボタンをクリックすることはユーザ対話の１つの一般的な例だが、この動作３０５でデータをウェブサイト２１０に提出する前に、ユーザは、ユーザ２３０とクライアントコンピューティングシステム２０１との間の可能な多くの対話のうちの１つまたは複数を行うように要求される場合がある。
【００４８】
１つまたは複数の実施形態では、埋められたフォームフィールドをウェブサーバ２０２に提出する方法は、ユーザ２３０がフォーム２１２にデータを手入力し、フォームをウェブサイト２３０に提出した場合にデータが提出されることになるのと同じ方法で、クライアントコンピューティングシステム上のウェブブラウザソフトウェア２１８が、ウェブサーバ２０２にデータを提出するものとすることができる。この例では、ウェブブラウザソフトウェア２１８は、ユーザが「提出」ボタンをクリックすることまたは同様のユーザインターフェイス要素と対話することをシミュレートすることができる。あるいは、ウェブブラウザソフトウェア２１８は、埋められたフォームフィールド情報を含むウェブサーバ２０２に、ＨＴＴＰ要求を単に送信することができる。これらはウェブサーバにフォームフィールドを提出する２つの実装形態例だが、クライアントコンピューティングシステム２０１が、埋められたフォームフィールドデータをネットワーク２０５を介してウェブサーバ２０２に提出することができる、当技術分野で知られているまたは将来開発され得る他の様々な手段がある。
【００４９】
１つまたは複数の実施形態では、方法３００を実行する過程の前にまたはその最中に、ウェブブラウザソフトウェア２１８および／またはＩＤセレクタソフトウェア２１９は、方法３００を始める前にウェブサイト２１０が方法３００の技法と互換性があることを検出しようと試みることができる。この互換性の検出を行うことができる方法の一例として、ウェブブラウジングソフトウェア２１８は、方法３００の実行を開始する前に、ウェブページ２１１Ａが、適切にフォーマットされたフォームフィールド仕様２１４を含むことを検出することができる。その一方で、ウェブブラウジングソフトウェア２１８は、ウェブページ２１１Ａが適切にフォーマットされたフォームフィールド仕様を有さないことを認識し、方法３００の実行を開始しないことができる。このフォームフィールド仕様検出技法は、本明細書に記載の方法および技法を何らかの条件があること基づいて選択的に実行することができる方法の単なる一例であり、本明細書に記載の技法は、この説明のための例で使用した条件と異なりまたはその条件に加えることができる１つもしくは複数の条件に潜在的に依拠することができる。さらに、この段落で記載した例において説明したような何らかの条件を検出することは、方法３００および本明細書に記載の他の技法にとって完全にオプションであり、どんな条件があることにも一切依拠しない実施形態も存在することができる。
【００５０】
図４は、ユーザ名とパスワードとの対を、自動的にかつ安全に生成するための方法４００のフローチャートを示す。
【００５１】
方法４００は、アプリケーションまたはウェブサイトのユーザ名およびパスワード仕様を得る、動作４０１を含む。ウェブサイト２１０の場合、ユーザ名およびパスワード仕様は、フォームフィールド仕様２１４の中に含まれる可能性があり、または前に論じたように、ネットワーク２０５上でデータを転送する他の手段によって伝達することができる。アプリケーションの場合、このユーザ名およびパスワード仕様は、アプリケーションの機能の少なくとも一部にアクセスするためにユーザ名およびパスワードが要求されることをアプリケーションが指示する、他の何らかの構造を含むことができる。さらに、このユーザ名およびパスワード仕様は、アプリケーションまたはウェブサイトに提供されるユーザ名およびパスワードについての様々な制限をオプションで指定することができる。例えば、（最低または最大）長さ制限、所要のもしくは限定された文字セット、所要のもしくは禁止された文字の種類、辞書の言葉や名前もしくはそれらの単純な改変形態を使用することについての制限、または生成されるユーザ名およびパスワードが特定の事例において適応すべき、他の多くの考えられる制限もしくはパラメーターがあり得る。
【００５２】
次に方法４００は、得たユーザ名およびパスワード仕様に準拠するユーザ名とパスワードとの対を自動生成する、動作４０２を含む。生成されるユーザ名およびパスワードは、もし少しでも含まれていれば、ユーザ名およびパスワード仕様の中に含まれていた制限、限度、およびパラメーターのすべてに適合すべきである。
【００５３】
この生成プロセスは、このプロセスによって生成することができるユーザ名およびパスワードに対し、ユーザ名およびパスワード仕様の中で指定される制限に加え、自らの制限をオプションで課すこともできる。例えば、この生成プロセスは、辞書の言葉もしくは名前を使用することに対して自らの制限を課すことができ、またはウェブサイトもしくはアプリケーションがサポートする最大長のパスワードを常に作成することができる。そうした例では、仕様の制限が生成プロセスによって追加され、またはより制限の大きなものにされる。自らが課す制限の別の例として、この生成プロセスは、生成される任意のユーザ名とパスワードとの対が、他のアプリケーションまたはウェブサイト用に以前作成したユーザ名とパスワードとの対と重複すべきでないという制限を、生成プロセス中に課すことができる。自らが課す制限についてのこれらの例は、パスワード生成プロセスに対して課すことができる多岐にわたるあり得る制限のうちのいくつかに過ぎない。一部の実施形態では、自らが課す制限は完全にオプションであり、または存在しないものとすることができる。
【００５４】
動作４０２でユーザ名とパスワードとの対を生成した後、生成プロセス４００は、アプリケーションまたはウェブサイトにおいて将来認証するためにコンピューティングシステムがその対を呼び出すことができるよう、生成したユーザ名およびパスワードを記憶する、動作４０３を含む。ユーザ名およびパスワードは、ローカルに、またあるいは、クライアントコンピューティングシステム２０１に含まれないデバイス上もしくは記憶媒体上に記憶することができる。ユーザ名およびパスワードを記憶し得る方法について制限はない。一部の実施形態では、記憶済みのユーザ名とパスワードとの対を生成したアプリケーションだけが、その対を将来使うために復号できるように、ユーザ名およびパスワードを暗号化し安全な方法で記憶することができる。
【００５５】
代替的実施形態では、ユーザ名とパスワードとの対を１箇所以上に記憶することができ、例えばユーザは、クライアントコンピューティングシステムと、ラップトップ、ＰＤＡ、携帯電話などのポータブルコンピューティングデバイスとの両方に記憶済みのユーザ名およびパスワードを有することができる。別の可能性は、この対を、フラッシュメモリなどのポータブル記憶媒体上にまたはスマートカードなどのポータブルデバイス上に安全に記憶できることであり、これにより、ユーザ２３０がアクセスする機会がある任意のコンピュータ上で、生成済みのユーザ名とパスワードとの対を使用することができる。これらは、本明細書に記載の技法によって生成されるユーザ名およびパスワードを記憶し、使用することができる方法の多くの可能性のほんのいくつかに過ぎない。
【００５６】
生成したユーザ名とパスワードとの対を、ウェブサイトまたはアプリケーションにおいて将来認証するために呼び出すことができる方法で記憶すると、生成された対に関して行うことができるさらなるオプションのステップ４０４がある。
【００５７】
例えば、動作４１１に図示されているあるオプションステップでは、生成したユーザ名とパスワードとの対を使用して、その対が生成された対象のウェブサイトまたはアプリケーションに対して自動的に認証することができる。ウェブサイト２１０を使用する実施形態では、ユーザ２３０が、（動作４０１〜４０３に関して論じたように）ユーザ名およびパスワードを以前生成した対象のウェブサイト２１０に戻るとき、クライアントコンピューティングシステム２０１上のコンピュータ実行可能コードは、ウェブサイト２１０に自動的にログインするために生成済みの対を使用させることができる。あるいは、本明細書に記載の技法を使用するために有効にすることができる多くの異なる種類のアプリケーションのうちのあるアプリケーションを含む、ウェブサイト以外のアプリケーションを使用する実施形態では、アプリケーションに自動的にログインするために、生成済みのユーザ名とパスワードとの対を動作４１１で使用することができる。
【００５８】
ウェブサイト認証用のパスワード生成に固有の実施形態では、生成した対を記憶すると、（動作４２１に図示されているように）コンピューティングシステムが、生成したユーザ名とパスワードとの対に関連させるデジタルＩＤを選択しまたは作成するようユーザを促すことができる。生成した対に関連させるためのデジタルＩＤをユーザが選択しまたは作成すると、動作４２２に図示されているように、生成された対は、デジタルＩＤに関連付けられる。デジタルＩＤに関連付けられていることに加え、生成した対はウェブサイトにオプションで関連付けられることができ、これにより、その後、ウェブサイトに訪問するとき、ユーザ名およびパスワードは、ウェブサイトに対して知られている関連付けを有し、この関連付けを使用して、ウェブブラウザソフトウェア２１８や、ＩＤセレクタソフトウェア２１９などのアプリケーションに追加の認証機能を提供することができる。
【００５９】
方法４００の代替的構成では、オプションの動作４２１および４２２は、生成したユーザ名とパスワードとの対を記憶する動作４０３の前に実行することができる。どんな場合でも、オプションの動作４２１〜４２３を含む実施形態では、将来の認証での使用の例として、ユーザ２３０が本明細書に記載の技法と互換性があるウェブサイト２１０に移動し、ウェブサイト２１０が、その中に含まれる特定の機能にアクセスするためにユーザ２３０が認証することを要求する場合、ユーザは動作４２３でデジタルＩＤを選択するように促される。このデジタルＩＤを選択するように促すことは、方法３００の動作３０２に関して前に記載したのと同様の方法で行うことができる。ユーザ２３０が、ウェブサイトのユーザ名とパスワードとの対に関連するデジタルＩＤを選択すると、動作４１１に図示し上記に述べた動作と同様に、ユーザ２３０は自動的にウェブサイトに対して認証されまたはログインする。そうした実施形態では、例えばユーザ２３０がデジタルＩＤを選択した後に、ウェブサイト２１０において自動的に認証するために生成済みの対を使用することを含む動作４２３は、図３に示されている方法３００の動作３０３〜３０５に図示されているフォームフィールドデータを埋め、提出するための技法と同様に、後にウェブサイト２１０に提出されるフォームフィールド２１３を埋めるために、ユーザ名とパスワードとの対を使用することを含むことができる。
【００６０】
図４に示されている方法４００を使用する実施形態の１つの利点は、ユーザ２３０が、生成したユーザ名とパスワードとの対を記憶しまたは書き留めておく必要がないことである。さらに、不正使用するために他人がユーザ名およびパスワードを得ることは困難または不可能である。
【００６１】
方法４００は、ユーザ名とパスワードとの対の一般化された概念との関連で論じたが、パスワードを利用する様々な異なる認証機構があることが理解されよう。そうしたシステムでは、パスワードは多くの場合、何らかの補足的識別情報に結合され、補足的識別情報は、ユーザ名、図４の説明および本明細書の考察の全体にわたって使用する例とすることができるが、代わりに他の様々な識別手段のいずれかとすることもできる。識別手段の別の一般的な例は、電子メールアドレスを認証用のパスワードとともに使用することである。例えばスマートカードや生体認証技術などのより洗練された機構を含む、ユーザを識別するための他の機構がある。しかし、これらはパスワードを使用する技術のうちの、ごくわずかな説明のための例に過ぎない。本明細書に記載の技法は、パスワードの安全な自動生成から利益を受けることができる任意の認証システムに、そのシステムがユーザ名とパスワードとのペアリング、またはユーザ識別およびユーザ認証の他の何らかの方法を使用するかどうかに関係なく適用することができる。
【００６２】
一部の実施形態では、ウェブサイトにユーザ名およびパスワードを供給するために方法４００を使用することができ、その場合、図２の環境が当てはまる。そうした実施形態では、ユーザ名およびパスワードはフォーム２１２によってウェブサイト２１０に供給することができる。したがって、図４の技法は、図３の方法などの方法とともに利用することができる。例えば、ユーザ名およびパスワード仕様を、動作３０１で得るフォームフィールド仕様２１４の一部としてウェブサイト２１０から得ることができる。さらなる例として、生成したユーザ名およびパスワードは、動作３０５に図示し、動作３０５に関して本明細書で説明するのと同様の方法でフォーム２１２に提出することができる。さらに、一部の実施形態では、クライアントコンピューティングシステム２０１は、ウェブブラウザソフトウェア２１８を含むことができ、方法４００を、ウェブブラウザソフトウェア２１８またはＩＤセレクタソフトウェア２１９の一部として、もしくはそれらに関連して実行されるコンピュータ実行可能コードによって実行することができる。
【００６３】
代替的実施形態では、方法４００は、この方法を実行するコンピュータ実行可能命令を含む、スタンドアロンアプリケーションによって実行することができ、またはこの方法は、より大きいアプリケーションライブラリもしくはコードライブラリの一部であるコードモジュールによって実行することができる。
【００６４】
図２に示されている環境と同様の環境で実行されるとき、図３および図４に示されている方法／技法３００と４００とを組み合わせて、方法３００のフォーム入力の両方を行い、方法４００で示されている安全なユーザ名およびパスワードの自動生成を組み込むハイブリッドシステムを作成することができる。そうした方法５００は、図５に示し、いくつかある利益の中でとりわけ、ウェブサイト２１０によって提供される機能にアクセスするために一般的に使用される、登録プロセスおよび認証プロセスの両方を著しく自動化することを可能にすることができる。
【００６５】
例えば、図２の環境２００によって示されるような環境では、方法５００は、フォーム２１２の複数のフォームフィールド２１３を指定するフォームフィールド仕様２１４を得る、動作５０１を含むことができる。前に説明したように、フォームフィールド仕様２１４は、フォーム２１２のフォームフィールド２１３のうちの１つまたは複数に関するフォームフィールド制限を含むことができる。この動作５０１は、図３に示されている動作３０１に似ている。次に動作５０２で、ユーザ２３０がデジタルＩＤを選択しまたは作成するよう、クライアントコンピューティングシステム２０１によって促される。その後、動作５０３で、デジタルＩＤを使用して、フォームフィールド仕様２１４の中で指定される、フォーム２１２のフォームフィールド２１３のうちの少なくとも１つを埋めるためのデータを得る。この動作は、サードパーティＩＤプロバイダ２０３Ａ〜Ｄまたは自己発行デジタルＩＤプロバイダ２０３ＳからのデジタルＩＤを使用するものとすることができ、動作３０３に関連して前に論じたセキュリティトークンの転送および解析を含むことができる。
【００６６】
ウェブサイト２１０が要求するデータの種類に応じて、動作５０３に図示されているように、様々な異なるソースからデータを得るためにデジタルＩＤを使用することができる。これについては、図５の中で動作５０３を表すボックスに含まれる３つのボックス５１１、５１２、および５１３によってさらに説明する。したがって、動作５０３のパフォーマンスは、５１１、５１２、および５１３に記載、図示し、以下に説明する動作のうちのいずれか１つまたは複数で構成され得る。
【００６７】
あるシナリオでは、動作５１１に図示されているように、ユーザ２３０がウェブサイト２１０にアクセスしており、ウェブサイト２１０がユーザ２３０に関する情報を要求している場合、デジタルＩＤの中に含まれる情報またはデジタルＩＤによって表される情報からデータを直接得ることができる。例えば、ユーザは新たなアカウントを登録するためにウェブサイト２１０にアクセスしている可能性があり、ウェブサイトは、新たなアカウントを登録するために、ユーザに関する情報を要求している可能性がある。デジタルＩＤからデータを得るための技法は、例えば図３の動作３０３に関して上記に述べた技法と同様のものとすることができる。
【００６８】
ウェブサイト２１０がユーザに新たなユーザ名およびパスワードを供給するように要求している、動作５１２に図示されている別のシナリオでは、方法４００に関連して前に論じたプロセスと同様のプロセスを使用して新たなかつ一意のユーザ名とパスワードとの対を生成するために、デジタルＩＤを使用することができる。この動作５１２は、動作５１１および／または動作５１３の代わりに、もしくはそれらの動作に加えて行うことができる。
【００６９】
ユーザ２３０が、自身が以前訪問したウェブサイト２１０に戻り、ウェブサイト２１０が認証目的でユーザ２３０に既存のユーザ名およびパスワードを提供することを要求している、動作５１３に図示されているシナリオでは、前に生成したユーザ名とパスワードとの対を取得し、ユーザ２３０を認証するためにこの生成済みの対をウェブサイト２１０に供給するために、デジタルＩＤを使用することができる。
【００７０】
上記に論じたデータのいずれかを得るためにデジタルＩＤを使用すると、動作５０４で、そのデータを使用してフォームフィールド仕様２１４の中で指定された、フォーム２１２のフォームフィールド２１３のうちの１つまたは複数を埋める。最後に、動作５０５に図示されているように、埋められたフォームフィールドが自動的に提出される。動作５０４および動作５０５は、方法３００の動作３０４および動作３０５に近い類似性を有し、図３に関連して行った説明を適用できる場合がある。
【００７１】
したがって、本明細書に記載した原理は、デジタルＩＤを使用するフォーム入力ならびに／または安全なユーザ名およびパスワードを自動生成するための柔軟な機構を提供する。本発明は、その趣旨または本質的特徴から逸脱することなく他の特定の形態で実施することができる。記載した実施形態は、あらゆる面で限定的でなく専ら説明的であるとみなすべきである。したがって本発明の範囲は、上述の説明によってではなく、添付の特許請求の範囲によって示される。特許請求の範囲の等価物の意味および範囲に含まれるあらゆる変更は、特許請求の範囲に記載の範囲に包含されるべきである。
【図１】
0005651112.tif 000002
【図２】
0005651112.tif 000003
【図３】
0005651112.tif 000004
【図４】
0005651112.tif 000005
【図５】
0005651112.tif 000006