しかしながら、コンフィギュレーション関連データを提供するための従来の方法は、ときどきユーザにあまり快適さを与えないことがある。
上述した状況に関して、ネットワークシステムに改善された特性を提供することを可能にする改善された技術が必要とされる。
この要求は、独立請求項による主題によって充足されてもよい。ここで開示される主題の効果的な実施例が従属請求項によって記載される。
ここに開示される主題の実施例によると、ネットワークシステムが提供され、当該ネットワークシステムは、検索ユニット(例えば、ここでPLSとも呼ばれるプロバイダ検索サーバなど)、記憶装置を有するクリアリングユニット、及び検索ユニットにユーザ関連データを提供するよう構成されるクライアントユニットを有し、ユーザ関連データはユーザ固有データ(ユーザ固有データの第1フィンガープリントなど)に基づき、ユーザ固有データ(電子メールアドレス、電話番号など)はユーザに関連付けされ、ユーザ関連データ(ユーザ固有データの第1フィンガープリントなど)はユーザ固有データの明確な特定を可能にし、検索ユニット(PLSなど)はユーザ関連データ(ユーザ固有データの第1フィンガープリントなど)を利用することによってクリアリングユニットから識別データ(プロバイダIDなど)を抽出するよう構成され、識別データ(プロバイダIDなど)はユーザ固有データ(ユーザの電子メールアドレスなど)に関連付けされ、クリアリングユニットはユーザ固有データに関連する識別データ(プロバイダIDなど)を記憶装置から抽出するよう構成され、クリアリングユニットは識別データ(プロバイダIDなど)を検索ユニット(PLSなど)に提供するよう構成され、検索ユニット(PLSなど)はユーザに提供されるサービスについてコンフィギュレーション関連データ(プロバイダURL、ログインネームなど)を抽出するよう構成され、検索ユニットは識別データ(プロバイダIDなど)を利用することによってコンフィギュレーション関連データ(プロバイダURLなど)を抽出するよう構成される。
ここに開示される主題の当該態様は、ユーザ固有サービスのコンフィギュレーション関連データの抽出と対応するユーザの識別とを分離することによって、ハイレベルなセキュリティ及びユーザ快適さを提供するネットワークシステムが提供されるアイデアに基づく。コンフィギュレーション関連データの抽出とユーザの識別との分離は、ここに開示される主題の実施例によると検索ユニットとクリアリングユニットとによって提供されてもよい。
実施例によると、ユーザ固有データは、ユーザを明確に特定する。例えば、実施例によると、ユーザ固有データは、ユーザの電子メールアドレス又は電話番号(又はこのようなデータのフィンガープリント)であってもよい。しかしながら、他のユーザ固有データがまた、ここに開示される主題の実施例に関連して利用されてもよい。
ユーザに提供されるサービスは、ユーザ固有サービス(1人のユーザのみに提供される)又はプロバイダ固有サービス(複数のユーザに提供される)であってもよい。
実施例によると、識別データを利用することによるコンフィギュレーション関連データの抽出は、識別データに関連するコンフィギュレーション関連データを抽出することである。抽出されたコンフィギュレーション関連データが識別データに関連するという事実は、コンフィギュレーション関連データが識別データによって明確に特定されることを必ずしも意味するものでない。むしろ、コンフィギュレーション関連データは、識別データと、ユーザ関連データ(ユーザの電子メールのフィンガープリントなど)及び/又は更なるユーザ関連データ(ユーザのパスワードのフィンガープリントなど)などの更なるデータとによって明確に特定されてもよい。
実施例によると、検索ユニットは、ローカルに、すなわち、検索ユニット内のコンフィギュレーション関連データを抽出するよう構成される。更なる実施例によると、検索ユニットは、リモートユニットからコンフィギュレーション関連データを抽出するよう構成される。
実施例によると、ユーザ関連データは、アノニマスデータ、すなわち、少なくとも妥当な計算パワーによってはユーザ関連データからユーザ固有データを再構成することを可能にしないデータである。例えば、実施例によると、ユーザ関連データは、ユーザ固有データのフィンガープリントである。ユーザ固有データのフィンガープリントは、ユーザ固有データの第1フィンガープリントと参照されてもよい。従って、ユーザ関連データの上記詳細によると、ユーザ固有データの第1フィンガープリントはユーザ固有データに基づき、第1フィンガープリントはユーザ固有データの明確な識別を可能にする。ネットワークシステム及びセキュリティの特性は、ユーザ固有サービスについてコンフィギュレーション関連データを抽出するためユーザ固有データのフィンガープリントを利用することによって向上しうる。他の実施例によると、ユーザ関連データはユーザ固有データの暗号化されたバージョンであってもよい。他のタイプのユーザ関連データもまた可能である。しかしながら、フィンガープリントの利用は、ネットワークシステムのより高いセキュリティを提供するものであってもよい。
実施例によると、“入力データ”のフィンガープリントは、明確な方法により入力データから導出されるデータである。実施例によると、“フィンガープリント”という用語は、入力データからフィンガープリントを再生可能に提供する数学的関数によるフィンガープリントの決定を意味する。このようにして、フィンガープリントは、フィンガープリントの明確な識別を可能にする。実施例によると、フィンガープリントは、少なくとも妥当な計算パワーによってはフィンガープリントから入力データを計算することを可能にしない。このため、フィンガープリントを決定するこのような関数は、一方向関数として参照されてもよい。フィンガープリントの決定のための典型的な関数は、例えば、MD5、SHA1、SHA2などのいわゆるハッシュ関数である。フィンガープリントを計算するのに利用される関数は、入力データのフィンガープリントに基づき入力データを評価(検証など)するユニットに利用可能である必要があることが理解されるべきである。このため、フィンガープリントを計算するのに利用される関数は、各ユニットにおいて予め決定されてもよい(例えば、固定的に定義又は格納される)。
他の実施例によると、フィンガープリントを計算するのに利用される関数には、受信ユニットにフィンガープリントを送信する同じ送信又は別のコンフィギュレーションの送信が提供されてもよい。
実施例によると、フィンガープリントは、入力データと暗号化ソルト(cryptographic salt)とを合成し、ソルトと入力データとを合成したもののフィンガープリントを計算することによって計算されるソルト化フィンガープリント(すなわち、(ソルト+入力データ)のフィンガープリント)であってもよい。実施例によると、ユーザ固有データは、上述した意味における入力データである。一般に、ここでは、入力データのソルト化フィンガープリントが利用される場合、ソルト化フィンガープリントが入力データの明確な特定を可能にしながら、更なる暗号化ソルトがユーザ固有データを実際に特定するため必要であることが理解されるべきである。
実施例によると、フィンガープリントは繰り返されるフィンガープリントである。例えば、繰り返されるフィンガープリントは、入力データを2回以上ハッシュ処理することによって生成されてもよい。繰り返されるフィンガープリントの一例は、ソルトと入力データとを合成し、結果を繰り返しハッシュ処理することによって取得される。例えば、更なるユーザ固有データのフィンガープリントは、ユーザのパスワードのソルト化フィンガープリントのフィンガープリントであってもよい(=Hash(salt|Hash(password))。
ユーザ関連データを利用することによってクリアリングユニットから識別データを抽出することは、例えば、ユーザ関連データをクリアリングユニットに提供することによって、又はユーザ関連データから導出されるデータをクリアリングユニットに提供するなどによって、何れか適切な方法により実行されてもよい。
実施例によると、検索ユニットは更に、ユーザ固有データのフィンガープリントをクリアリングユニットに提供するよう構成される。クリアリングユニットに提供されるユーザ固有データの当該フィンガープリントは、ユーザ固有データの第2フィンガープリントと参照されてもよい。実施例によると、ユーザ固有データの第2フィンガープリントは、ユーザ固有データの第1フィンガープリントに基づく。更なる実施例によると、第2フィンガープリントは、ユーザ固有データの明確な識別を可能にする。“第1フィンガープリント”という用語は、クライアントユニットから検索ユニットに送信されるフィンガープリントについて利用され、“第2フィンガープリント”という用語は検索ユニットからクリアリングユニットに送信されるフィンガープリントについて利用されることに留意されたい。しかしながら、これに関する“第1”及び“第2”の利用は、限定的にみなされるものでない。
一般に、ここでは“〜に基づく”という用語は、“異なっているが、〜から導出される”という意味と“〜に同一である”という意味とを含むことが意図される。すなわち、“〜に基づく”という用語は、“〜から導出される”及び“〜である”を含むものとして解釈されるべきである。
従って、実施例では、ユーザ固有データの第2フィンガープリントは、ユーザ固有データの第1フィンガープリントである。すなわち、実施例によると、検索ユニットは、クライアントユニットからユーザ固有データの第1フィンガープリントを受信し、ユーザ固有データの第1フィンガープリントをクリアリングユニットに転送するよう構成されてもよい。更なる実施例によると、ユーザ固有データの第2フィンガープリントは、ユーザ固有データの第1フィンガープリントから導出されてもよい。
実施例によると、クリアリングユニットは、ユーザ固有データの第2フィンガープリントを利用することによって、ユーザ固有データに関連する識別データを記憶装置から選択するよう構成される。例えば、クリアリングユニットは、ユーザ固有データの複数のフィンガープリント(複数のユーザのものなど)及び関連する識別データを記憶装置に格納してもよい。従って、このような実施例では、識別データは、ユーザ固有データの第2フィンガープリントに一致するフィンガープリントを記憶装置において検索し、当該一致したフィンガープリントに関連する識別データを選択することによって、クリアリングユニットにより抽出されてもよい。実施例によると、クリアリングユニットは、ユーザ固有データの第1フィンガープリント及び関連する識別データを記憶装置に格納するデータベースシステムを有する。ユーザ固有データの第1フィンガープリントを格納することによって、クリアリングユニットはユーザ固有データを知る必要がない。これは、ネットワークシステムのセキュリティを向上させるかもしれない。
コンフィギュレーション関連データは、プロバイダユニットなどのリモートユニットにクライアントユニットのアクセスを設定するのに必要なデータであってもよい。例えば、コンフィギュレーション関連データは、プロバイダユニットのドメイン(URLなど)に関する情報であってもよい。
実施例によると、ネットワークシステムはプロバイダユニットを有する。実施例によると、プロバイダユニットは、クライアントユニットによりアクセス可能である。例えば、実施例によると、プロバイダは、コンフィギュレーション関連データが対象とするユーザ固有サービスのプロバイダである。実施例によると、検索ユニットは、クライアントユニットがプロバイダユニットにアクセスすることを可能にするか、又はプロバイダに固有のカスタマイズ化、ラベリング又はディスプレイを実行するため設定される必要がある少なくとも1つのエンティティにコンフィギュレーション関連データを提供するよう構成される。更なる実施例によると、検索ユニットは、コンフィギュレーション関連データをクライアントユニットに提供するよう構成される。他の実施例によると、コンフィギュレーション関連データは、クライアントユニットによる利用のため異なるエンティティに提供されてもよい。実施例によると、コンフィギュレーション関連データ(プロバイダURLなど)は、検索ユニットにより提供される応答送信の一部であり、ここで、応答送信は更に、ユーザ関連データに対応するユーザ固有データの状態を示す状態インジケータを含む。例えば、実施例によると、状態インジケータは、ユーザ関連データに対応する(例えば、第1フィンガープリントに対応するなど)ユーザ固有データが有効であるとみなされたか否かを示す。
実施例によると、検索ユニットは、プロバイダユニットによるユーザ固有データの正しさの検証及び/又はプロバイダユニットからのコンフィギュレーション関連データの抽出などのため、ユーザ固有データのフィンガープリントをプロバイダユニットに提供するよう構成される。検索ユニットからプロバイダユニットに提供されるユーザ固有データの当該フィンガープリントはまた、ここでは第2フィンガープリントと参照される。実施例によると、第3フィンガープリントは、ユーザ固有データの第1フィンガープリントに基づく(から導出されるか、又は同一であるなど)。例えば、第3フィンガープリントは、第1フィンガープリントのフィンガープリントであってもよい。他の実施例によると、第3フィンガープリントは第1フィンガープリントと同一である。すなわち、このような実施例では、検索ユニットは、クライアントユニットから受信される第1フィンガープリントをプロバイダユニットに転送するよう構成される。
実施例によると、プロバイダユニットは、検索ユニットから受信される第3フィンガープリントに応答して、ユーザ固有データの有効性に関する状態情報を検索ユニットに提供するよう構成される。例えば、実施例によると、プロバイダユニットは、第3フィンガープリントが有効なユーザ固有データに対応する場合、第3フィンガープリントが有効なユーザ固有データに対応することを示す状態情報を検索ユニットに提供するよう構成される。ユーザ固有データの正しさの検証は、ネットワークシステムのセキュリティを向上させるかもしれない。
実施例によると、プロバイダユニットは、検索ユニットから第3フィンガープリントを受信したことに応答して、コンフィギュレーション関連データ又はコンフィギュレーション関連データの少なくとも一部を提供するよう構成される。
更なる実施例によると、検索ユニットは、識別データを利用することによって、コンフィギュレーション関連データを抽出するよう構成される。例えば、検索ユニットは、識別データを利用してプロバイダユニットを識別し、ユーザ固有データの第3フィンガープリントを識別したプロバイダユニットに送信してもよい。プロバイダの識別は、実施例では、プロバイダユニットに関連するプロバイダユニットのネットワークアドレスの抽出を含む。実施例によると、検索ユニットは、例えば、第3フィンガープリントをプロバイダユニットに提供するなどによって、第3フィンガープリントを利用することによって、プロバイダユニットからコンフィギュレーション関連データを抽出するよう構成される。実施例によると、プロバイダユニットは記憶装置又はデータベースを有し、当該記憶装置又はデータベースは、複数のプロバイダについて識別データ及び関連するネットワークアドレスを格納する。
実施例によると、クライアントユニットは、更なるユーザ関連データ(例えば、ユーザパスワードのソルト化フィンガープリント又はユーザパスワードのフィンガープリントなど)を検索ユニットに提供するよう構成され、更なるユーザ関連データは更なるユーザ固有データ(ユーザパスワードなど)に基づき、更なるユーザ固有データはユーザに関連し、更なるユーザ関連データは更なるユーザ固有データの明確な識別を可能にする。実施例によると、更なるユーザ固有データは、ユーザのユーザパスワードである。例えば、パスワードは、ユーザがプロバイダユニット、プロバイダユニットに関連するサブプロバイダユニット又は更なるエンティティにログインするのに必要なユーザのパスワードであってもよい。他の実施例によると、他の秘密が更なるユーザ固有データとして利用されてもよい。
更なる実施例によると、更なるユーザ関連データは更なるユーザ固有データのフィンガープリントである。クライアントユニットから検索ユニットに提供される更なるユーザ関連データの当該フィンガープリントはまた、以下における更なるユーザ関連データの第1フィンガープリントと参照される。実施例によると、更なるユーザ関連データの第1フィンガープリントは、ソルト化フィンガープリントであってもよく、及び/又はユーザ関連データのフィンガープリントであってもよい。
更なるユーザ関連データを検索ユニットに提供することによって、ネットワークシステムのセキュリティ及びそれの処理が向上するかもしれない。
実施例によると、検索ユニットは、更なるユーザ関連データに基づくデータをプロバイダユニットに提供し、これに応答して、更なるユーザ固有データ、更なるユーザ関連データ及び更なるユーザ関連データに基づくデータの少なくとも1つの有効性に関する状態情報を受信するよう構成される。実施例によると、更なるユーザ関連データに基づきデータは、更なるユーザ固有データのフィンガープリントである。検索ユニットからプロバイダユニットに提供される更なるユーザ関連データのフィンガープリントはまた、以下において更なるユーザ関連データの第2フィンガープリントと参照される。実施例によると、更なるユーザ固有データの第2フィンガープリントは、ユーザ固有データの第1フィンガープリントに基づく(同一であるか、又は導出されるなど)。例えば、この第2フィンガープリントは、更なるユーザ固有データの第1フィンガープリントのフィンガープリントであってもよい。他の実施例によると、第2フィンガープリントは第1フィンガープリントである。すなわち、このような実施例では、検索ユニットは、クライアントユニットから受信された更なるユーザ固有データの第1フィンガープリントをプロバイダユニットに転送するよう構成される。実施例によると、ユーザ固有データのフィンガープリントと共に更なるユーザ関連データに基づくデータがプロバイダユニットに提供され、任意的には、プロバイダユニットは、更なるユーザ関連データ(ユーザのパスワードハッシュのソルト化ハッシュなど)及びユーザ固有データ(ユーザの電子メールアドレスなど)のフィンガープリントに基づくデータを検索ユニットから受信することに応答して、コンフィギュレーション関連データ又はコンフィギュレーション関連データの少なくとも一部を提供するよう構成される。
実施例によると、プロバイダユニットは、ユーザ固有データ及び/又は更なるユーザ固有データの有効性を検証するよう構成されてもよい。これは、何れか適切な方法により実行されてもよい。例えば、実施例によると、プロバイダユニットは、更なるユーザ固有データ及び/又はユーザ固有データを格納してもよく、ユーザ固有データの各フィンガープリント及び/又は更なるユーザ固有データの各フィンガープリントを生成するよう構成されてもよい。ユーザ固有データの有効性を検証するため、プロバイダユニットは、検索ユニットから受信されたユーザ固有データのフィンガープリントとプロバイダユニットにより生成されるユーザ固有データの各フィンガープリントとを比較するよう構成されてもよい。更なるユーザ固有データの有効性を検証するため、プロバイダユニットは、検索ユニットから受信した更なるユーザ固有データのフィンガープリントとプロバイダユニットにより生成される更なるユーザ固有データの各フィンガープリントとを比較するよう構成されてもよい。比較したフィンガープリントが一致すると、プロバイダユニットは、状態情報及び/又はコンフィギュレーション関連データを検索ユニットに提供してもよい(コンフィギュレーション関連データは、例えば、ユーザ、ユーザ固有データ及び/又は更なるユーザ固有データに関連付けされてもよい)。しかしながら、何れか適切な検証方法が、検索ユニットにより提供される更なるユーザ関連データのフィンガープリントがプロバイダユニットの記憶装置に格納される更なるユーザ固有データに対応することを検証するのに利用されてもよいことが理解されるべきである。
実施例によると、プロバイダユニットはコンフィギュレーション関連データを提供してもよいが、他の実施例によると、コンフィギュレーション関連データは検索ユニットなどの異なるエンティティに格納され、プロバイダユニットにおける更なるユーザ固有データの検証が成功したことを確認すると選択されてもよい。他の実施例によると、プロバイダユニットにおける検証は省略され、このような場合、検索ユニットは、クリアリングユニットからプロバイダIDを受信すると、コンフィギュレーション関連データを提供するよう構成されてもよい。
実施例によると、プロバイダユニットからのコンフィギュレーション関連データの抽出は、ユーザ固有データのフィンガープリントと、任意的には更なるユーザ固有データのフィンガープリントとをプロバイダユニットに提供し、プロバイダユニットからコンフィギュレーション関連データを受信することを含む。実施例によると、検索ユニットは、更なるユーザ固有データのフィンガープリントをクリアリングユニットに提供しないよう構成される。例えば、実施例によると、更なるユーザ固有データ又はそれから導出されるデータは、更なるユーザ固有データ又はそれから導出されるデータ(ユーザ固有データのフィンガープリントなど)のみがすでに格納したプロバイダユニットに提供される。特に、更なるユーザ固有データが秘密データ(パスワードなど)である場合、ネットワークシステムのセキュリティは、更なるユーザ固有データのフィンガープリントをクリアリングユニットに提供しないことによって向上する。
実施例によると、プロバイダユニットは、ユーザ固有データのフィンガープリントに基づきユーザのログインネームを抽出するよう構成される(例えば、プロバイダユニットのデータベースなどから)。更に、更なるユーザ固有データがプロバイダユニットにおけるユーザのパスワードである実施例では、プロバイダユニットは、選択したログインのためのパスワードフィンガープリントを検証するよう構成されてもよい。実施例によると、プロバイダユニットは、ユーザ関連データに基づくデータ及び/又は更なるユーザ関連データに基づくデータを検索ユニットから受信することに応答して、ユーザ固有データ及び/又は更なるユーザ固有データに関連するログインネームを検索ユニットに提供するよう構成される。
上記において、クライアントユニットのためのコンフィギュレーション関連データを提供するため、クライアントユニット、検索ユニット及びクリアリングユニットの間の通信が説明されたが、以下において、検索ユニット及びクリアリングユニットへのプロバイダユニットの登録が説明される。
検索ユニット及びクリアリングユニットにおけるプロバイダユニットの登録に関連する第2の態様の実施例によると、プロバイダユニットは、レジストレーションリクエストを検索ユニットに提供するよう構成され、レジストレーションリクエストは識別データ(プロバイダIDなど)及び検証関連データ(クリアリングパスワードのフィンガープリントなど)の少なくとも一部を含み、ここで、検証関連データは検証データ(クリアリングパスワードなど)に基づき、検証関連データは検証データの明確な識別を可能にし、検索ユニットは更にレジストレーションリクエストを受信するよう構成され、検索ユニットは更に、例えば、受信したレジストレーションリクエストに応答して、クリアリングユニットにプロバイダ識別データ(プロバイダIDなど)及び検証関連データに基づくデータ(クリアリングパスワードのフィンガープリントなどの検証関連データのフィンガープリントなど)に基づくデータの少なくとも一部を提供するよう構成される。
実施例によると、検証関連データは、検証データのフィンガープリント(ソルト化フィンガープリントなど)である。当該検証データは、クリアリングユニットと、当該クリアリングユニットに登録することを所望するプロバイダユニットとに知られるクリアリング秘密などであってもよい。実施例によると、検証データ(クリアリング秘密など)は、暗号化された電子メールによって、又は他の実施例では電話により手動によりクリアリングユニットとプロバイダユニットとの間で交換される。実施例によると、検証データは、クリアリングユニットにより生成され、プロバイダユニットに提供される。
実施例によると、検証関連データに基づきデータは検証関連データのフィンガープリントであり、検証関連データは検証データの明確な識別を可能にする。他の実施例によると、検証関連データに基づくデータは、検証関連データと同一である。すなわち、実施例によると、検索ユニットは、検証関連データをクリアリングユニットに転送するよう構成される。
実施例によると、レジストレーションリクエストは、プロバイダユニットがコンタクト可能なプロバイダアドレスを含む。プロバイダアドレスは、例えば、プロバイダユニットのURL(Unified Resource Locator)であってもよい。実施例によると、検索ユニットは、識別データ及び関連するプロバイダアドレスの少なくとも一部を格納するよう構成される。
実施例によると、検索ユニットは更にレジストレーションリクエストを受信するよう構成される。さらに、実施例によると、検索ユニットは、プロバイダ識別データ及び関連するプロバイダアドレスの少なくとも一部を検索ユニットの記憶装置に格納するよう構成される。このような場合、検索ユニットは、コンフィギュレーション関連データとしてプロバイダアドレスをクライアントユニットに提供してもよい。コンフィギュレーション関連データの抽出のためのプロバイダユニットとの通信は、この場合には必ずしも必要でないが、例えば、ユーザ固有データ及び更なるユーザ固有データを検証するなどのために実行可能である。プロバイダアドレスの代わりに又は加えて、他のコンフィギュレーション関連データがレジストレーションリクエストに含まれてもよく、検索ユニットにより格納されるか、又はクリアリングユニットに提供されてもよい。
実施例によると、検索ユニットはパスワードをクリアリングユニットに提供するよう構成されてもよく、パスワードはクリアリングユニットが検索ユニットにより提供される検証データのフィンガープリントとプロバイダ識別データとの少なくとも一部を受け入れるのに必要である。
実施例によると、検証データは、検索ユニットにおけるプロバイダユニットの登録前にプロバイダユニットとクリアリングユニットとの間で合意される。このようにして、実施例では、クリアリングユニットは、検証データのフィンガープリントを計算し、当該結果と検索ユニットから受信した検証データのフィンガープリントとを比較する。例えば、ソルト化フィンガープリントが検索ユニットにより提供される場合、暗号化ソルトはまた検索ユニットにより提供され、これにより、クリアリングユニットは、検証データを検証するため、検証データに加えて合成された暗号化ソルトのフィンガープリントを計算可能になる。
実施例によると、クリアリングユニットは、検証データを検証し、状態情報要素を検索ユニットに提供するよう構成され、状態情報要素は、検証データの検証が成功したか否かを示す。
プロバイダ識別データの少なくとも一部が完全である場合、すなわち、プロバイダ識別データがプロバイダユニットの明確な識別を可能にする場合、このような場合に、クリアリングユニットは、検索ユニットに状態情報要素を提供するよう構成されてもよく、状態情報要素は、検証データの検証が成功したか否かを示す。
実施例によると、プロバイダ識別データの一部のみがプロバイダユニットによって検索ユニットに提供され、従って、プロバイダ識別データの当該部分のみが検索ユニットによってクリアリングユニットに提供される。このようにして、検索ユニットは、クリアリングユニットにプロバイダユニットを登録するためのプロバイダ識別データ全体を知る必要がなくなる。これは、ネットワークシステム全体のセキュリティを向上させることができる。プロバイダ識別データの一部しか検索ユニットによりクリアリングユニットに提供されないここに開示された主題の実現形態では、クリアリングユニットは、プロバイダ識別データを完成させ、検証データの検証が成功である場合、完成されたプロバイダ識別データ又はプロバイダ識別データの欠落部分を検索ユニットに提供するよう構成されてもよい。
実施例によると、クリアリングユニットは、プロバイダ識別データを検索する間及び/又は検証データを検証する間にエラーが発生した場合、エラー情報要素を検索ユニットに提供するよう構成される。さらに、実施例によると、クリアリングユニットは、検証データの検証が失敗した場合に情報要素を検索ユニットに提供するよう構成され、ここで、情報要素は、検証データのフィンガープリントが無効であったことを検索ユニットに通知する。
実施例によると、検索ユニットは、検索ユニットの記憶装置に識別データ(プロバイダ識別データなど)及び関連するコンフィギュレーション関連データ(関連するプロバイダURLなど)を格納するよう構成される。
第3の態様の実施例によると、ネットワークシステムのクライアントユニットが提供され、クライアントユニットは、ユーザ関連データを検索ユニットに提供することによってユーザに提供されるコンフィギュレーションを開始するよう構成され、ユーザ関連データはユーザ固有データに基づき、ユーザ関連データはユーザ固有データの明確な識別を可能にする。
第3の態様の実施例によると、クライアントユニットは、上述した実施例の1以上の機能を提供し、及び/又は上述した実施例、特に第1及び第2の態様の実施例の1以上により要求されるような機能を提供するよう構成される。さらに、実施例によると、第3の態様によるクライアントユニットは、第1及び第2の態様の実施例の1以上に関して説明されるように構成される。
第4の態様の実施例によると、ネットワークシステムの検索ユニットが提供され、検索ユニットはクライアントユニットからユーザ関連データを受信するよう構成され、ここで、ユーザ関連データはユーザ固有データに基づき、ユーザ固有データはユーザに関連付けされ、ユーザ関連データはユーザ固有データの明確な識別を可能にし、検索ユニットはユーザ関連データ(ユーザの電子メールアドレスのフィンガープリントなど)を利用することによってクリアリングユニットから識別データ(プロバイダIDなど)を抽出するよう構成され、識別データはユーザ固有データに関連付けされ、検索ユニットはユーザに提供されるサービスについてコンフィギュレーション関連データを抽出するよう構成され、検索ユニットは識別データを利用することによってコンフィギュレーション関連データを抽出するよう構成される。
第4の態様の実施例によると、検索ユニットは、上述した実施例の1以上の機能を提供し、及び/又は上述した実施例、特に第1及び第2の態様の実施例の1以上により要求されるような機能を提供するよう構成される。さらに、実施例によると、第4の態様による検索ユニットは、第1及び第2の態様の実施例の1以上に関して説明されるように構成される。例えば、実施例によると、検索ユニットはユーザ固有データのフィンガープリントを受信するよう構成され、ここで、ユーザ固有データはユーザに関連付けされ、ユーザ固有データのフィンガープリントはユーザ固有データの明確な識別を可能にし、ここで、検索ユニットは更にユーザ固有データのフィンガープリントを利用することによってコンフィギュレーション関連データを抽出するよう構成される。例えば、実施例によると、検索ユニットは、ユーザ固有データのフィンガープリントを利用することによって、プロバイダユニットからコンフィギュレーション関連データを抽出するよう構成される。
ここに開示される主題の第5の態様の実施例によると、ネットワークシステムのクリアリングユニットが提供され、クリアリングユニットは記憶装置を有し、クリアリングユニットはネットワークシステムの検索ユニットからユーザ関連データを受信するよう構成され、ユーザ関連データはユーザ固有データに基づき、ユーザ固有データはユーザに関連付けされ、ユーザ関連データはユーザ固有データの明確な識別を可能にし、クリアリングユニットはユーザ固有データに関連する識別データを記憶装置から抽出するよう構成され、クリアリングユニットは更に識別データを検索ユニットに提供するよう構成される。
第5の態様の実施例によると、クリアリングユニットは、上述した実施例の1以上の機能を提供し、及び/又は上述した実施例、特に第1及び第2の態様の実施例の1以上により要求されるような機能を提供するよう構成される。さらに、実施例によると、第5の態様によるクリアリングユニットは、第1及び第2の態様の実施例の1以上に関して説明されるように構成される。
例えば、第5の態様の実施例によると、ネットワークシステムのクリアリングユニットが提供され、クリアリングユニットは、検索ユニットからユーザ固有データのフィンガープリントを受信するよう構成され、ここで、ユーザ固有データはユーザに関連付けされ、ユーザ固有データのフィンガープリントはユーザ固有データの明確な識別を可能にし、クリアリングユニットは更にユーザ固有データの受信したフィンガープリントに関連するプロバイダ識別データを抽出するよう構成され、プロバイダ識別データはプロバイダユニットを特定する。実施例によると、プロバイダユニットは、ユーザ固有サービスをユーザに提供するよう構成される。
ここに開示される主題の第6実施例によると、ネットワークシステムのプロバイダユニットが提供され、当該プロバイダユニットはネットワークシステムの検索ユニットからユーザ関連データを受信するよう構成され、ユーザ関連データはユーザ固有データに基づき、ユーザ固有データはユーザに関連付けされ、ユーザ関連データはユーザ固有データの明確な識別を可能にし、プロバイダユニットは受信したユーザ関連データを利用することによってユーザ固有データの有効性を検証するよう構成され、プロバイダユニットは受信したユーザ関連データを利用することによって、及び/又はユーザに提供されるサービスについてコンフィギュレーション関連データを抽出することによって、ユーザ固有データの有効性を検証するよう構成される。
実施例によると、プロバイダユニットは検索ユニットに状態情報を提供するよう構成され、状態情報はフィンガープリントに対応するユーザ固有データの有効性を示す。
更なる実施例によると、プロバイダユニットは、検索ユニットにコンフィギュレーション関連データを提供するよう構成される。
第6の態様の実施例によると、プロバイダユニットは、上述した実施例の1以上の機能を提供し、及び/又は上述した実施例、特に第1及び第2の態様の実施例の1以上により要求されるような機能を提供するよう構成される。さらに、実施例によると、第6の態様によるプロバイダユニットは、第1及び第2の態様の実施例の1以上に関して説明されるように構成される。
例えば、実施例によると、プロバイダユニットはユーザ固有データのフィンガープリントを受信するよう構成され、ユーザ固有データはユーザに関連付けされ、ユーザ固有データのフィンガープリントはユーザ固有データの明確な識別を可能にし、プロバイダユニットは更にユーザ固有データのフィンガープリントを利用することによってコンフィギュレーション関連データを抽出するよう構成され、コンフィギュレーション関連データはユーザ固有データに関連付けされる。
ここに開示される主題の第7の態様によると、ネットワークシステムのクライアントユニットの動作方法は、ユーザ関連データを検索ユニットに提供することによってユーザに提供されるサービスのコンフィギュレーションを開始するステップを有し、ここで、ユーザ関連データはユーザに関連付けされ、ユーザ関連データはユーザ固有データに基づき、ユーザ関連データはユーザ固有データの明確な識別を可能にする。
第7の態様の実施例によると、本方法は、上述した実施例の1以上の機能を提供し、及び/又は上述した実施例、特に第1〜第4の態様の実施例の1以上により要求されるような機能を提供するよう構成される。
例えば、第7の態様の実施例によると、本方法はユーザ固有データのフィンガープリントを検索ユニットに提供するステップであって、ユーザ固有データはユーザに関連付けされ、ユーザ固有データのフィンガープリントはユーザ固有データの明確な識別を可能にする、提供するステップと、検索ユニットからユーザに提供されるサービスのコンフィギュレーション関連データを受信するステップとを有する。
ここに開示される主題の第8の態様の実施例によると、ネットワークシステムの検索ユニットの動作方法が提供され、当該方法は、クライアントユニットからユーザ関連データを受信するステップであって、ユーザ関連データはユーザ固有データに基づき、ユーザ固有データはユーザに関連付けされ、ユーザ関連データはユーザ固有データの明確な識別を可能にする、受信するステップと、ユーザ関連データ(電子メールアドレスのフィンガープリント)を利用することによってクリアリングユニットから識別データ(プロバイダID)を抽出するステップであって、識別データはユーザ固有データに関連付けされる、抽出するステップと、ユーザに提供されるサービスについてコンフィギュレーション関連データを抽出するステップであって、コンフィギュレーション関連データの抽出は識別データを利用することによって実行される、抽出するステップとを有する。
第8の態様の実施例によると、本方法は、上述した実施例の1以上の機能を提供し、及び/又は上述した実施例、特にここに開示された主題の第1及び第2の態様の実施例の1以上により要求されるような機能を提供するよう構成される。
例えば、第8の態様の実施例によると、本方法は、クライアントユニットからユーザ固有データのフィンガープリントを受信するステップであって、ユーザ固有データはユーザに関連付けされ、ユーザ固有データのフィンガープリントはユーザ固有データの明確な識別を可能にする、受信するステップと、ユーザ固有データのフィンガープリントを利用することによってクリアリングユニットからプロバイダ識別データを抽出するステップであって、識別データはユーザ固有データに関連付けされる、抽出するステップと、ユーザに提供されるサービスについてコンフィギュレーション関連データを抽出するステップであって、コンフィギュレーション関連データの抽出はプロバイダ識別データを利用することによって実行される、抽出するステップとを有する。
ここに開示される主題の第9の態様の実施例によると、ネットワークシステムのクリアリングユニットの動作方法が提供され、当該方法は、ネットワークシステムの検索ユニットからユーザ関連データを受信するステップであって、ユーザ関連データはユーザ固有データに基づき、ユーザ固有データはユーザに関連付けされ、ユーザ関連データはユーザ固有データの明確な識別を可能にする、受信するステップと、ユーザ固有データに関連する識別データを抽出するステップと、識別データを検索ユニットに提供するステップとを有する。
第9の態様の実施例によると、本方法は、上述した実施例の1以上の機能を提供し、及び/又は上述した実施例、特にここに開示された主題の第1及び第2の態様の実施例の1以上により要求されるような機能を提供するよう構成される。
例えば、第9の態様の実施例によると、本方法は、検索ユニットからユーザ固有データのフィンガープリントを受信するステップであって、ユーザ固有データはユーザに関連付けされ、ユーザ固有データのフィンガープリントはユーザ固有データの明確な識別を可能にする、受信するステップと、ユーザ固有データのフィンガープリントに関連するプロバイダ識別データを抽出するステップであって、プロバイダ識別データはプロバイダユニットを特定する、抽出するステップと、プロバイダ識別データを検索ユニットに提供するステップとを有する。
ここに開示される主題の第10の態様の実施例によると、ネットワークシステムのプロバイダユニットの動作方法が提供され、本方法は、ネットワークシステムの検索ユニットからユーザ関連データを受信するステップであって、ユーザ関連データはユーザ固有データに基づき、ユーザ固有データはユーザに関連付けされ、ユーザ関連データはユーザ固有データの明確な識別を可能にする、受信するステップと、受信したユーザ関連データを利用することによって、及び/又はユーザに提供されるサービスについてコンフィギュレーション関連データを抽出することによって、ユーザ固有データの有効性を検証するステップと、任意的に状態情報及び/又はコンフィギュレーション関連データを検索ユニットに提供するステップであって、状態情報はフィンガープリントに対応するユーザ固有データの有効性を示す、提供するステップとを有する。
第10の態様の実施例によると、本方法は、上述した実施例の1以上の機能を提供し、及び/又は上述した実施例、特にここに開示される主題の第1及び第2の態様の実施例の1以上により要求されるような機能を提供するよう構成される。
例えば、第10の態様の実施例によると、本方法は、検索ユニットからユーザ固有データのフィンガープリントを受信するステップであって、ユーザ固有データはユーザに関連付けされ、ユーザ固有データの受信したフィンガープリントはユーザ固有データの明確な識別を可能にする、受信するステップと、ユーザ固有データの受信したフィンガープリントの有効性を検証するステップと、情報要素が有効なユーザ固有データに対応する場合、状態情報を検索ユニットに提供するステップであって、状態情報は情報要素が有効なユーザ固有データに対応することを示す、提供するステップとを有する。
ここに開示される主題の第11の態様の実施例によると、ネットワークシステムの動作方法が提供され、ネットワークシステムは検索ユニット、クリアリングユニット及びクライアントユニットを有し、本方法は、クライアントユニットからのユーザ関連データを検索ユニットに提供するステップであって、ユーザ関連データはユーザ固有データに基づき、ユーザ固有データはユーザに関連付けされ、ユーザ関連データはユーザ固有データの明確な識別を可能にする、提供するステップと、ユーザ関連データ(ユーザの電子メールアドレスのフィンガープリントなど)を利用することによってクリアリングユニットから識別データ(プロバイダIDなど)を抽出するよう検索ユニットを実行するステップであって、識別データはユーザ固有データに関連付けされる、実行するステップと、ユーザ固有データに関連する識別データを抽出するようクリアリングユニットを実行するステップと、クリアリングユニットから識別データを検索ユニットに提供するステップと、ユーザに提供されるサービスについてコンフィギュレーション関連データを抽出するため検索ユニットを実行するステップと、識別データを利用することによってコンフィギュレーション関連データを抽出するため検索ユニットを実行するステップとを有する。
第11の態様の実施例によると、本方法は、、上述した実施例の1以上の機能を提供し、及び/又は上述した実施例、特にここに開示される主題の第1〜10の態様の実施例の1以上により要求されるような機能を提供するよう構成される。
例えば、第11の態様の実施例によると、本方法は、クライアントユニットからのユーザ固有データのフィンガープリントを検索ユニットに提供するステップであって、ユーザ固有データはユーザに関連付けされ、ユーザ固有データのフィンガープリントはユーザ固有データの明確な識別を可能にする、提供するステップと、ユーザ固有データのフィンガープリントに関連するプロバイダ識別データを抽出するためクリアリングユニットを実行するステップと、ユーザ固有データのフィンガープリントを利用することによって、プロバイダ識別データに関連するコンフィギュレーション関連データを抽出するため検索ユニットを実行するステップとを有する。
ここに開示される主題の第12の態様の実施例によると、コンピュータプログラムが提供され、コンピュータプログラムは、プロセッサデバイスにより実行される場合、第7、第9、第10及び/又は第11の態様の1以上の実施例による方法を制御(実行など)するよう構成される。特に、ここに開示される各方法について、プロセッサ装置により実行されると、各方法を制御するよう構成される各コンピュータプログラムが提供されてもよい。
ここで用いられるようなコンピュータプログラムの参照は、上述した方法の実行を実施及び/又は調整するようコンピュータシステムを制御する命令を有するプログラム要素及び/又はコンピュータ可読媒体の参照に等価であると意図される。
コンピュータプログラムは、JAVA、C++などの何れか適切なプログラミング言語を利用することによって、コンピュータ可読命令コードとして実現されてもよく、コンピュータ可読媒体(着脱可能なディスク、揮発性又は不揮発性メモリ、埋め込みメモリ/プロセッサなど)に格納されてもよい。命令コードは、意図される機能を実行するようコンピュータ又は他の何れかのプログラマブル装置をプログラムするよう実行可能である。コンピュータプログラムは、そこからダウンロード可能なワールド・ワイド・ウェブなどのネットワークから利用可能であってもよい。
ここに開示される主題は、コンピュータプログラムソフトウェアを利用して実現されてもよい。しかしながら、ここに開示される主題はまた、1以上の特定の電子回路のハードウェアを利用することによって実現されてもよい。さらに、ここに開示される主題はまた、ハイブリッド形式により、すなわち、ソフトウェアモジュール及びハードウェアモジュールの組み合わせにより実現されてもよい。
例えば、ここに開示される各ユニットは、例えば、各デバイスによって、又はコンピュータ上で実行されるサービスによって、ソフトウェア及び/又はハードウェアにより実現されてもよい。デバイスは、ユニットの説明された機能を提供するソフトウェアが実行されるサーバなどのコンピュータであってもよい。一般に、デバイスは、各エンティティの実施例に関して説明されるような機能を提供するため、命令を実行するための少なくとも1つのプロセッサを有するプロセッサデバイスなどであってもよい。
実施例によると、ここに開示されるユニット、例えば、クライアントユニット、検索ユニット、クリアリングユニット及びプロバイダユニットなどの機能は、PHPコンポーネントなどの各自のソフトウェアコンポーネントを利用して実現されてもよい。
上記及び以下において、ネットワークシステム、それの個々のユニット及びそれぞれの動作方法を参照して主題の実施例がここに開示される。もちろん、ここに開示される主題の異なる態様に関する特徴の何れかの組み合わせがまた可能であることを指摘する必要がある。特に、いくつかの特徴は装置タイプの実施例を参照して説明されるが、他の特徴は方法タイプの実施例を参照して説明される。しかしながら、当業者は、上記及び以下の説明から、他のことが指摘されない限り、1つの態様に属する特徴の何れかの組み合わせに加えて、例えば、装置タイプの実施例の特徴及び方法タイプの実施例の特徴の組み合わせなどでさえある異なる態様又は実施例に関する特徴の何れかの組み合わせが、本出願により開示されているとみなされる。
それぞれの実施例によると、ユーザ固有データはユーザの電子メールアドレスであり、更なるユーザ固有データはユーザパスワードのソルト化フィンガープリントのフィンガープリントであり、ユーザパスワードのソルト化フィンガープリントは暗号化ソルトと合成されたユーザパスワードであり、クライアントユニットは暗号化ソルトを検索ユニットに提供するよう構成され、コンフィギュレーション関連データはプロバイダユニットのURLとプロバイダユニットにおけるユーザのログインネームを有し、クライアントユニットから検索ユニットに提供されるユーザ関連データは検索リクエストにより検索ユニットに送信され、任意的には、当該ユーザ関連データはユーザ固有データのフィンガープリントであり、検索リクエストは更に、任意的にユーザがプロバイダユニットのサービスにログインするのに要求されるユーザパスワードのフィンガープリントのソルト化フィンガープリントと、ソルト化フィンガープリントを生成するのに利用される暗号化ソルトとを有し、検索ユニットからクリアリングユニットに提供されるユーザ関連データはリクエスト送信によりクリアリングユニットに送信され、ここで、任意的には当該ユーザ関連データはユーザ固有データのフィンガープリントであり、リクエスト送信は更に、任意的にはクリアリングユニットにログインするためのパスワードを有し、プロバイダユニットに提供されるユーザ関連データはプロバイダリクエストによりプロバイダユニットに送信され、任意的には、当該ユーザ関連データはユーザ固有データのフィンガープリントを有し、プロバイダリクエストは任意的には、ユーザがプロバイダユニットのサービスにログインするのに要求されるユーザパスワードのフィンガープリントのソルト化フィンガープリントと、ソルト化フィンガープリントを生成するのに利用される暗号化ソルトとを有する。
リクエスト(検索リクエスト、リクエスト送信、プロバイダリクエスト)に対するレスポンスは、それぞれのレスポンス送信において応答ユニットにより提供されてもよい。
実施例によると、ここに開示される主題の実施例により互いに通信するユニットは、バーチャルプライベートネットワークコネクション(VPNコネクション)又はセキュアソケットレイヤコネクション(SSLコネクション)など、要素が暗号化形式により送信されるセキュアコネクションなどの何れか適切なコネクション/プロトコルを介し通信接続される。通常、送信ユニットから受信ユニットへのセキュアコネクションを介した要素(ユーザ固有データのフィンガープリントなど)の提供は、要素を暗号化し、送信ユニットから受信ユニットに暗号化された要素を送信し、受信ユニットにおいて暗号化された要素を解読し、受信ユニットにおいて要素を利用可能にすることを非明示的に開示することが理解されるべきである。ここでは、送信ユニット及び受信ユニットは、ここに開示される何れか適切なユニットであってもよい。ここに開示されるようなユニットの間の通信はユニット間のセキュアコネクションを介した通信であってもよいことに留意されたい。
異なるユニットの間の通信の開示は関係するユニットによる各自の送信の送受信及び抽出を非明示的に開示することが理解されるべきである。例えば、ある入力データを受信し、その応答においてリターンデータを提供する開示は、入力データを提供することによるリターンデータの抽出、入力データの送信、リターンデータの受信などを非明示的に開示する。さらに、第1ユニットから他の第2ユニットへの各送信は、第2ユニットにより実行されるべき処理を指定する処理識別子を含むものであってもよい。さらに、第1ユニットから第2ユニットに状態情報、識別子、コンフィギュレーション関連データなどのレスポンスデータを提供する開示は、実施例によると、レスポンスデータを受信した第2ユニットが各リクエストを第1ユニットに提供するよう構成され、第1ユニットが当該リクエストを受信し、これに対する応答においてレスポンスデータを提供するよう構成されることを開示するとみなされる。
実施例によると、レスポンスデータの提供は、所定の遅延によりレスポンスデータを提供することを意味する。このようにして、レスポンスデータを送信した各ユニットに対するブルートフォース及びタイミング攻撃を防ぐことができ、ネットワークシステムのセキュリティが向上する。
一般に、ここでの“データの提供”は、非暗号化形式又は暗号化形式によりデータを提供することを含む。とにかく、“データの提供”は、一般にそれの当初の形式にデータを再構成することが可能な表現によりデータを提供することを表す。
さらに、第1エンティティ(識別データなど)が第2エンティティ(ユーザ固有データなど)に関連しているとして指定された場合、実施例によると、“関連する”という用語はまた、第1エンティティから、データベースなどによって第2エンティティに割り当てられた関連するデータ(フィンガープリントなど)が導出可能であるという意味で第1エンティティ及び第2エンティティの関連付けを含む。
ユニットにより実行されるアクション又は方法がここで開示されるときにはいつでも、実施例によると、当該ユニットがアクション又は方法を実行するよう構成されることが理解されるべきである。
クリアリングユニット及び検索ユニットは互いに異なっている。しかしながら、異なるユニットであるにもかかわらず、実施例によると、クリアリングユニット及び検索ユニットは単一のデバイスに備えられる。例えば、クリアリングユニット及び検索ユニットは、単一のプロセッサデバイス上で実行される2つの異なるソフトウェアコンポーネントであってもよい。さらに、他の実施例では、クリアリングユニット及び検索ユニットの1つは、プロセッサデバイス上で実行されるバーチャルマシーンにおいて実行されるソフトウェアコンポーネントであってもよい。クリアリングユニット及び検索ユニットの他方は、プロセッサデバイス上で直接実行されるか、又は更なる異なるバーチャルマシーンにおいて実行されるソフトウェアコンポーネントであってもよい。更なる実施例によると、クリアリングユニット及び検索ユニットは互いに空間的に離れていてもよい。
ここで開示される主題の一実現形態は、以下の特徴を含むものであってもよい(例えば、一例となる処理(A),(B)の形態などによる)。
(A)PLSプロセス(コンフィギュレーション関連データがクライアントユニットにより要求される毎に実行される)
1.クライアントユニットは、ユーザ固有データの第1フィンガープリント及び更なるユーザ固有データの第1フィンガープリントを生成し、これをPLSに送信する。
2.PLSは、クリアリングからユーザのプロバイダの数値によるプロバイダIDを取得するため、ユーザ固有データの第1フィンガープリントを利用する。
3.PLSは、それ自身のデータベースを利用して割り当てられたプロバイダのURLを決定する。
4.PLSは、プロバイダにコンタクトし(URLを利用することによって)、ユーザ固有データの第1フィンガープリント、更なるユーザ固有データの第1フィンガープリント及び使用されたソルトを送信する。
5.プロバイダは、データを検証する(このような電子メールアドレスのフィンガープリントを有するユーザが存在し、与えられたソルトによって、ユーザのパスワードフィンガープリントが与えられたものに一致する)。結果は、プロバイダにコンタクトするためのURLによる“OK”又は“INVALID”である。これは、サブプロバイダのため異なるものであってもよい。プロバイダは、自分のユーザデータベースから正しいURL(例えば、https://portal.regify.com)を決定する。
6.PLSは、使用するURLをクライアントユニットに返す。
7.クライアントユニットは、所望の情報(クライアントのコンフィギュレーションなど)を取得するため、所与のURLにおいてプロバイダにコンタクトする。
最後に、PLSはユーザのパスワード又は電子メールアドレスを依然として知らない。クリアリングは、ユーザの電子メールアドレスを知らない。
(B)PLSレジストレーションプロセス
PLSは、レジストリングによってプロバイダIDと正しいURLとの間の関連付けを学習する。このプロセスのため、
1.プロバイダユニットは、自らのURL、ID、クリアリングパスワード(clearingPassword)のフィンガープリント及び使用されたソルトと共にPLSを呼び出す。
fingerprint=Hash(salt|clearingPassword)
2.PLSは、プロバイダID及びフィンガープリントをクリアリングに送信することによって、クリアリングユニットにより当該情報を検証する。
3.これが成功した場合、PLSは自らのデータベースを更新する。ここで、PLSはプロバイダID及びそれの関連するURLを知っている(上記のステップ3,4について必要とされる)。
最後に、PLSは、プロバイダのクリアリングパスワードを知らず、クリアリングによって証明されるプロバイダID及びURLの関連付けを有する。
上述された態様及び実施例と、ここで開示される主題の更なる態様及び実施例とは、後述される具体例から明らかであり、図面を参照して説明されるが、本発明はこれに限定されるものでない。
本発明によると、ネットワークシステムに改善された特性を提供することができる。
図面の記載は概略的である。異なる図では、同様の又は同一の要素が、添えられた文字だけ対応する参照記号と異なる同一の参照符号又は参照記号により与えられることに留意されたい。
図1は、ここに開示される主題の実施例によるネットワークシステム100を示す。
実施例によると、ネットワークシステム100は、ユーザデバイス(UD)などのクライアントユニット102を有する。さらに、ネットワークシステム100は、検索サーバ(プロバイダ検索サーバ(PLS)として参照されてもよい)などの検索ユニット104を有する。クライアントユニット102は、ユーザ固有データの形式によりユーザ関連データ106を検索ユニット104に提供するよう構成される。ユーザ固有データは、クライアントユニットを操作するユーザなどのユーザに関連付けされ、フィンガープリント106はユーザ固有データの明確な識別を可能にする。例えば、フィンガープリントは、各自のハッシュ関数により取得されるユーザ固有データのハッシュコード(暗号化ハッシュコードなど)であってもよい。ハッシュコードは、何れか適切なハッシュ関数によりユーザ固有データから生成されてもよく、複数のものが当該技術において知られている(MD5、SHA−xなどのセキュアなハッシュアルゴリズムなど、http://csrc.nist.gov/publications/から入手可能な連邦情報処理規格公開(FIPS PUB)180−2などを参照されたいが、ここに開示される主題の実施例によるフィンガープリントを生成する他の関数がまた利用されてもよい)。効果的な実施例では、フィンガープリントは暗号化ハッシュ関数により生成される。
更なる実施例によると、クライアントユニット102は、更なるユーザ固有データのフィンガープリントの形式による更なるユーザ関連データ108を検索ユニット104に提供するよう構成され、ここで、更なるユーザ固有データのフィンガープリント108は、更なるユーザ固有データの明確な識別を可能にする。実施例によると、ユーザ固有データはクライアントユニット102のユーザの電子メールアドレスであり、更なるユーザ固有データはユーザのパスワードである。従って、以下において、ユーザのパスワード及び電子メールアドレスが参照されるが、以下に与えられる実施例の何れもが一般に何れかのユーザ固有データ及び何れかの更なるユーザ固有データを利用することによって実現されてもよいことが留意されるべきである。実施例によると、ユーザ固有データ及び更なるユーザ固有データの少なくとも1つは、ユーザを明確に識別する。
実施例によると、クライアントユニット102は、ユーザ固有データ及び更なるユーザ固有データをクライアントユニット102に入力するためユーザにより操作可能な入力装置103を有する。実施例によると、クライアントユニット102は、セキュアハッシュアルゴリズムを利用することによって、ユーザ固有データのフィンガープリント106を生成するよう構成される。実施例によると、クライアントユニット102は、セキュアハッシュアルゴリズムを利用することによって、更なるユーザ固有データのフィンガープリント108を生成するよう構成される。
実施例によると、パスワードのフィンガープリント108は、ソルト化フィンガープリントである。当該分野で知られるように、これは、例えば、ハッシュ関数がフィンガープリントを生成するため利用される場合、入力としてパスワードのみがハッシュ関数に提供されるのでなく、パスワードと暗号化ソルトとがハッシュ関数への入力として利用される。すなわち、パスワードのソルト化フィンガープリントは、パスワードと暗号化ソルトとの組み合わせのフィンガープリントである。更なる実施例によると、パスワードのソルト化フィンガープリントは、暗号化ソルトとパスワードのフィンガープリントとの組み合わせのフィンガープリントである。さらに、フィンガープリントの生成、フィンガープリントのソルト処理及びソルトと以前のフィンガープリントとの組み合わせのソルト化フィンガープリントの生成は、第三者が複数の推定されたパスワードについてフィンガープリントを計算することによって、パスワードのフィンガープリントを生成することを試みることを実現不可能にすることによってセキュリティを向上させるため、当該分野において知られるような2回以上繰り返し可能であることが理解されるべきである。
クライアントユニット102は、ユーザ固有データのフィンガープリント106と共に、更なるユーザ固有データのフィンガープリント108を検索ユニット104に提供するよう構成される。実施例によると、フィンガープリント106及びフィンガープリント108は、共通のレジストレーションリクエストによりクライアントユニットに提供される。
実施例によると、ネットワークシステム100は、クリアリングサーバ(CS)などのクリアリングユニット110を有する。実施例によると、検索ユニット104は、クリアリングユニット110からのユーザのプロバイダのプロバイダ情報などの識別データを要求するよう構成される。例えば、実施例によると、検索ユニット104は、ユーザ固有データの更なるフィンガープリント112(第2フィンガープリントなど)をクリアリングユニットに提供するよう構成され、ユーザ固有データの更なるフィンガープリント112は、ユーザ固有データの明確な識別を可能にする。実施例によると、ユーザ固有データの更なるフィンガープリント112は、ユーザ固有データのフィンガープリント106と同一である。すなわち、本実施例では、検索ユニットがクライアントユニット102から受信したユーザ固有データのフィンガープリントは、ユーザ固有データの更なるフィンガープリント112として、検索ユニット104によってクリアリングユニット110に転送される。更なるフィンガープリント112は、更なるフィンガープリント112に関連する識別データを要求するリクエスト送信136によりクリアリングユニット110に提供されてもよい。
ユーザ固有データの更なるフィンガープリント112を受信することに応答して、クリアリングユニット110は、例えば、レスポンス送信138により識別データ114を検索ユニットに提供する。実施例によると、クリアリングユニット110は、クリアリングユニット110の記憶装置111からユーザ固有データに関連する識別データ114を抽出する。実施例によると、記憶装置111は、複数のユーザのフィンガープリント106及び関連する識別データなどのユーザ固有データの識別子を格納する。これらのデータは、プロバイダユニットの登録中に記憶装置に格納されてもよく、プロバイダユニットは、記憶装置111に格納されるべきデータを提供する。
実施例によると、識別データ114は、ユーザ固有データに関連するプロバイダユニット(図1に示されるプロバイダユニット118など)を明確に識別する。例えば、実施例によると、識別データ114は、実施例においてユーザ固有データを形成する電子メールアドレスに関連するユーザの電子メールアカウントを運営するプロバイダユニットを識別する。
実施例によると、検索ユニット104は、識別データ114を利用することによってプロバイダ識別情報114に関連するコンフィギュレーション関連データ115を抽出するよう構成される。実施例によると、検索ユニット104は、検索ユニット104の記憶装置113などから、プロバイダ識別情報に関連するプロバイダアドレスを抽出する。プロバイダアドレスは、各プロバイダユニットがユーザ装置102によりアクセス可能なURL(Unified Resource Locator)であってもよい。実施例によると、検索ユニットは、複数のプロバイダについてプロバイダURLなどのプロバイダ識別情報と対応するプロバイダアドレスとを記憶装置113に格納している。実施例によると、検索ユニット114は、識別データ114を利用することによって(クライアントユニット102により直接コンタクト可能なサブプロバイダのログインネーム及び/又はネットワークアドレスなど)コンフィギュレーション関連データ115を抽出するよう構成される。実施例によると、検索ユニット104は、図1に示されるようなプロバイダユニットから、又は他の実施例による(図1に図示せず)クリアリングユニット110からプロバイダ識別情報114などと共に、コンフィギュレーション関連データ115を受信する。
セキュリティを向上させるため、実施例によると、検索ユニット104は、コンフィギュレーション関連データ115をクライアントユニット102に提供する前に、ユーザ関連データ及び/又は更なるユーザ関連データを検証するよう構成される。このため、実施例によると、検索ユニット104は、例えば、検索ユニット104から第1プロバイダユニット118へのプロバイダリクエスト186などによって、識別データ114により識別される第1プロバイダユニット118にユーザ固有データの更なるフィンガープリント(第3フィンガープリント122など)及び/又は更なるユーザ固有データの更なるフィンガープリント(第2フィンガープリント124など)を提供するよう構成される。実施例によると、ユーザ固有データの第3フィンガープリント122及び更なるユーザ固有データの第2フィンガープリント124の受信に応答して、第1プロバイダユニット118は、ユーザ固有データの更なる(第3)フィンガープリント122及び/又は更なるユーザ固有データの更なる(第2)フィンガープリント124の有効性を検証する。このため、実施例によると、第1プロバイダユニットは、第1プロバイダユニット118の記憶装置に格納されているユーザ固有データ及び/又は更なるユーザ固有データからユーザ固有データの第3フィンガープリント及び/又は更なるユーザ固有データの第2フィンガープリントを計算し、計算されたフィンガープリントと検索ユニット104から受信した各フィンガープリント122,124とを比較するよう構成される。計算したフィンガープリントとそれぞれ受信したフィンガープリント122,124とが一致すると、受信したフィンガープリント122,124は有効であるとみなされる。フィンガープリントの当該計算を実行するため、第1プロバイダユニット118は受信したフィンガープリント122,124がどのように生成されたか知っている必要があることが理解されるべきである。しかしながら、これは、例えば、関係する各ユニットにおける各自のフィンガープリントの計算方法の静的な実現などによって容易に実現される。従って、実施例によると、ネットワークシステム100の各ユニットの実現は他の各ユニットの処理の知識を必要とすることが理解されるべきである。更なる実施例では、ネットワークシステムのユニット102,104,110,118の間のそれぞれの送信は、各フィンガープリントがどのように計算されたかを示す。例えば、各送信は、当該送信において提供されるフィンガープリントがSHA−256アルゴリズムを利用することによって計算されることを示すものであってもよい。更なる実施例によると、2つのユニット102,104,110,118の間の送信は、ソルト化フィンガープリントが利用される暗号化ソルトを含むものであってもよい。更なる実施例によると、ユニット102,104,110,118の間の送信は、フィンガープリントの繰り返し回数を示す。さらに、ユニット102,104,110,118の間の各送信は、各データ構造の送信によって実行されてもよい。このようなデータ構造は、例えば、JavaScript Object Notation(JSON)などにおいて与えられてもよい。このようなデータ構造では、送信の全ての要素又はパラメータ(例えば、フィンガープリントの計算を含みうる要求された処理を実行するのに必要とされるパラメータなど)は、データ構造のフィールドにより定義されてもよく、パラメータの各値は、データ構造のフィールドに各値を有するデータ構造による送信の受信ユニットに提供される。
実施例によると、送信ユニットから受信ユニットに送信されるリクエストの送信は、ある処理を実行するよう受信ユニットに要求する送信とみなされる。リクエストの送信に応答して、受信ユニットは、実行される処理の結果を示すレスポンス送信を返してもよい。
実施例によると、ユーザ固有データの更なるフィンガープリントと更なるユーザ固有データの更なるフィンガープリントとが有効なユーザ固有データ及び/又は有効な更なるユーザ固有データに対応する場合、実施例によると、第1プロバイダユニット118は、状態情報123を検索ユニットに提供する。実施例によると、検索ユニット104は、第1プロバイダユニットからの状態情報123がクライアントユニット102により提供された各フィンガープリントのユーザ固有データ及び更なるユーザ固有データが有効であることを示す場合、コンフィギュレーション関連データ115をクライアントユニット102に提供するよう構成される。実施例によると、第1プロバイダユニット118は更に、コンフィギュレーション関連データ115を検索ユニット104に提供する。状態情報123及びコンフィギュレーション関連データ115は、レスポンス送信188において検索ユニット104に提供されてもよい。コンフィギュレーション関連データ115は、各自のレスポンス送信116においてクライアントユニット104に提供されてもよい。
従って、コンフィギュレーション関連データ115(プロバイダURL、サブプロバイダURL、ユーザのログインネームなどを含むものであってもよい)が、図1に示される第1プロバイダ118などの各自のプロバイダ(又はこのようなサブプロバイダがコンフィギュレーション関連データ115において指定されている場合、それのサブプロバイダ)にログインするため、ユーザのパスワードなどのユーザに既知のログインデータと共に、クライアントユニット102により利用されてもよい。図1の120において、第1プロバイダ118への検索ユニット102のアクセスが示される。
実施例によると、ネットワークシステム100は、118a,118bにより示される第1プロバイダユニット118及び更なるプロバイダユニットを含む複数のプロバイダユニットを有する。さらに、実施例によると、2以上の検索ユニットがネットワークシステム100に備えられてもよい。さらに、実施例によると、2以上のクリアリングユニットがネットワークシステム100に備えられてもよい。各プロバイダユニット118,118a,118bは、クリアリングユニット110から受信されるプロバイダ識別データ114に依存して検索ユニット104によりコンタクトされることが理解されるべきである。各プロバイダユニット118,118a,118bは、プロバイダサーバP1,P2,P3などであってもよい。実施例によると、検索ユニットは、全ての既知のプロバイダユニット118,118a,118bに自らを登録する。備えられたユニットは、例えば、pls1.regify.com、pls2.regify.com及びpls3.regify.comのURLなどの所定のURLを介し利用可能であってもよい。しかしながら、他の実施例では、検索ユニットの登録は他の何れか適切な方法により実行される。
図2は、ここに開示される主題の実施例による検索プロトコルを示す。
実施例によると、図2の検索プロトコルは、例えば、図1に関して説明されるようなネットワークシステムなどにおいて、ここに開示された主題の実施例によるネットワークシステムにおいて実現される。
ここに開示される主題の実施例によると、クライアントユニット102、検索ユニット104、クリアリングユニット110及びプロバイダユニット118の間の送信の要素は、JavaScript Object Notation(JSON)に定義される。実施例によると、ネットワークシステムのユニット102,104,110,118は、互いに通信接続される。例えば、ユニット102,104,110,118の2つの間の通信接続は、図2に関して説明されるようなタイプを有してもよい。
ここに説明され、特に図2に関して説明されたようなネットワークシステムの一例となる利用ケースは、ユーザの電子メールプロバイダユニット(プロバイダユニット118)と通信する必要があるクライアントソフトウェアをユーザに提供することである。ここに開示される主題の実施例は、このような場合において、ユーザが特定のプロバイダを覚えておくことを不要にするか、又はプロバイダの詳細にアクセスすることを不要にしながら、未設定のクライアントソフトウェアのクライアントユニット102への容易なダウンロードを可能にする。ここに開示される主題の実施例によると、本実施例においてユーザが覚えておく必要があるクライアント固有データは、プロバイダユニットにおけるユーザのログインに求められるユーザパスワードとユーザの電子メールアドレスのみである。従って、クライアントソフトウェアは、適切なプロバイダを選択する必要があるユーザにプロバイダリストをダウンロードして提示する必要はなく、ユーザは電子メールアドレスと対応するユーザパスワードを提供するだけでよく、ここで、実施例によると、検索ユニット104との通信は秘密データが検索ユニットと交換されないようなものである。特に、実施例によると、クライアントユニット102は、電子メールアドレスから各ユーザ関連データ(フィンガープリントなど)と、ユーザパスワードから更なるユーザ関連データ(ソルト化フィンガープリントなど)とを生成するよう構成される。例えば、実施例によると、クライアントユニット102は、電子メールアドレスをハッシュ処理し、ランダムな暗号化ソルトによりユーザパスワードのパスワードハッシュをハッシュ処理するよう構成される。以下において、ユーザ固有データ(電子メールアドレス)及び更なるユーザ固有データ(ユーザパスワード)とのそれぞれのフィンガープリントが参照されるが、これらの具体例は単なる一例であり、以下の実施例はまた他の何れかのユーザ関連データ及び更なるユーザ関連データにより実現されてもよいことが理解されるべきである。
テーブルIにおいて、図2に示される一例となるプロバイダ検索プロトコルによるクライアントユニット102と検索ユニット104との間の通信に関係するパラメータ値の概略と実施例とが与えられる。
実施例によると、テーブルIと対照的に、リターン値はログイン値を含まない。
クライアントユニット102から検索ユニット104への一例となる検索リクエスト105のJSONの説明は以下の通りである。
検索リクエストに応答して提供される検索ユニット104からクライアントユニット102へのレスポンス送信116のJSONの説明は以下の通りである。
従って、テーブルI〜IIIに定義されるような検索リクエスト及びレスポンス送信を実現する図2の検索プロトコルを参照すると、クライアントユニット102は、検索ユニット104とSSLコネクションを介し通信接続され、テーブルIの値セクションに指定されるような検索リクエスト105を送信する。実施例によると、クライアントユニットは、検索リクエスト105のパラメータの初期化のため構成される。このパラメータの初期化は、ボックス126により表される。検索リクエスト105において検索ユニット104に提供される電子メールハッシュ及びパスワードハッシュが有効である場合、検索ユニット104は、レスポンス送信116においてテーブルIに与えられる第1の代替によるリターン値、すなわち、状態情報と共にユーザのログインネーム及びプロバイダURLを返す。実施例によると、クライアントユニットは、レスポンス送信に与えられるプロバイダURL及びログインネームを取得し、128に示されるように、クライアントユニットに既知のユーザパスワードにより接続チェックを実行する。
実施例によると、検索リクエスト105によって、以下のデータ、すなわち、実行される処理(OP)であり、当該処理は所与の電子メールアドレスハッシュのプロバイダ及び関連するログインネームを検出するためのリクエストなどに対応する“プロバイダ検索”であってもよく、検索ユニット104に送信される。さらに、検索リクエスト105は、プロバイダユニットにログインすることを試みる電子メールアドレスの電子メールハッシュ、暗号化ソルト及びハッシュ処理されたユーザパスワードと暗号化ソルトとの組み合わせから計算されるパスワードハッシュを含むものであってもよい。テーブルIIから取得できるように、JSON説明におけるフィールドは、実行される処理のための“OP”、ユーザの電子メールアドレスのハッシュコードの“電子メールハッシュ”、暗号化ソルトの“パスハッシュソルト(pass hash salt)”、及びパスワードハッシュのソルト化ハッシュコードであるユーザパスワードのハッシュコードのための“パスハッシュハッシュ(pass hash hash)”であってもよい。
レスポンス送信116では、コンフィギュレーション関連データは、一例となる実施例では、レスポンス送信116にアドレスが含まれるプロバイダユニットにログインするのに必要なユーザのログインネームとプロバイダユニットのアドレス(プロバイダURL)とであり、クライアントユニットに提供されてもよい。例えば、実施例では、このプロバイダユニットはプロバイダユニット118である。更なる実施例によると、レスポンス送信116は更に、検索リクエスト105においてクライアントユニット102により提供されるフィンガープリントが有効であるか否かを示す状態情報を含む。例えば、実施例によると、レスポンス送信における状態情報は、“無効”、“エラー”又は“ok”の1つに設定される。ここで、状態情報は、検索リクエスト105において提供されるフィンガープリント、すなわち、電子メールハッシュ及びパスワードハッシュが有効である場合、“ok”に設定される。さらに、状態情報は、検索リクエスト105において提供されるフィンガープリントが無効である場合、“無効”に設定される。さらに、状態情報は、システムエラーが発生した場合、“エラー”となる。実施例によると、状態情報が“エラー”と“無効”との1つである場合、コンフィギュレーション関連データはレスポンス送信116において設定されない。更なる実施例によると、状態情報は、検索リクエスト105において提供されたフィンガープリントに関連するプロバイダが検索ユニット104によりサポートされていないことを示す“非サポート”であってもよい。
実施例によると、クライアントユニット102は、レスポンス送信116において提供される状態情報に対応する各メッセージを表示するよう構成される。例えば、状態情報が“非サポート”である場合、クライアントユニットは、プロバイダが検索ユニットによりサポートされていないというメッセージを表示するよう構成されてもよい(“非サポートメッセージ”を表示)。さらに、クライアントユニットは、システムエラーが発生したことを状態情報が示す場合、検索手順中にエラーが発生したというメッセージを表示するよう構成されてもよい(“エラーメッセージ”を表示)。さらに、クライアントユニット102は、検索リクエストにおけるフィンガープリントが無効であることを状態情報が示す場合、検索リクエスト105において提供されるフィンガープリントが無効であるというメッセージを表示するよう構成されてもよい(“無効メッセージ”を表示)。さらに、クライアントユニット102は、状態情報が“ok”である場合、ユーザにコンフィギュレーション関連データを表示するよう構成されてもよく、例えば、ユーザ固有データはプロバイダURL及びユーザのユーザログインである。実施例によると、クライアントユニットは、状態情報が“ok”である場合、レスポンス送信116により受信したコンフィギュレーション関連データに基づき更なるアクションを自動的に実行するよう構成されてもよい。例えば、実施例によると、クライアントユニットは、ユーザによりクライアントユニット102に入力されたユーザパスワードと共に、レスポンス送信116に提供されたプロバイダURLとユーザログインとを利用することによって、プロバイダユニット118とのコネクションを自動的にチェックしてもよい。実施例によると、クライアントユニット102は、プロバイダユニット118とのコネクションのチェックが成功すると、ユーザ固有データ、すなわち、ユーザパスワードと共にプロバイダURL及びユーザログインを格納するよう構成されてもよい。他の実施例によると、プロバイダURL及びユーザログインのみがクライアントユニットに格納され、プロバイダユニット118とのコネクションがクライアントユニットにより確立される前に、ユーザは自分のユーザパスワードを入力するよう要求される。実施例によると、プロバイダユニット118とのコネクションのチェック又は確立は少なくともプロバイダユニット118におけるログインを含むことに留意すべきである。
以下において、ここに開示された主題の実施例による検索ユニット104及びクリアリングユニット110の通信が、図2に関して説明される。
検索ユニット104とクリアリングユニット110との間の通信は、VPN又はSSLコネクションを介し実行されてもよい。従って、各実施例によると、検索ユニット104及びクリアリングユニット110は、VPN又はSSLコネクションなどを介し通信接続される。特に、検索ユニット104及びクリアリングユニット110は、VPN又はSSLコネクションを介し通信接続されてもよい。
実施例によると、検索ユニット104は、リクエスト送信136をクリアリングユニット110に提供するよう構成される。実施例によると、リクエスト送信136は、ユーザ固有データの更なるフィンガープリントを含む。リクエスト送信136におけるユーザ固有データのフィンガープリントと検索リクエスト105におけるユーザ固有データのフィンガープリントとを適切にするため、検索リクエスト105におけるユーザ固有データのフィンガープリントは“ユーザ固有データの第1フィンガープリント”と呼ばれ、リクエスト送信136におけるユーザ固有データは“ユーザ固有データの第2フィンガープリント”と呼ばれる。しかしながら、“第1”及び“第2”という用語は限定的なものとしてみなされるものでない。例えば、実施例によると、ユーザ固有データの第1フィンガープリントはユーザ固有データの第2フィンガープリントである。すなわち、ユーザ固有データの第2フィンガープリントは、検索リクエスト105において検索ユニットに提供されるユーザ固有データのフィンガープリントであってもよい。
更なる実施例によると、リクエスト送信136は、検索ユニットにより提供されるパスワードを含む。リクエスト送信を検証するため検索ユニットにより提供される当該パスワードは、ここではまたPLSパスワードと参照される。実施例によると、クリアリングユニットは、PLSパスワードが有効である場合に限って、検索ユニットからの検索リクエストを処理するよう構成される。
更なる実施例によると、リクエスト送信136は、クリアリングユニットにより実行される処理を示す処理インジケータを含む。例えば、処理インジケータは、クリアリングユニットがリクエスト送信のコンテンツ(ユーザ固有データの第2フィンガープリントなどに対応)に対応するプロバイダ情報(プロバイダの識別情報)を抽出するよう要求されていることを示す“プロバイダ検索”であってもよい。実施例によると、クリアリングユニット110から検索ユニット104へのレスポンス送信138は、リクエスト送信136に対応するリクエストの状態を示す状態情報を含む。実施例によると、レスポンス送信138は更に、リクエスト送信136においてクリアリングユニット110に提供されるユーザ固有データの更なるフィンガープリントに関連するプロバイダユニット118を識別するプロバイダ識別データを有する。
クリアリングユニット110によるリクエスト送信136の処理に関連して、実施例によると、リクエスト送信において提供されるPLSパスワードが有効であるかまずチェック139される。実施例によると、クリアリングユニットは、PLSパスワードの有効性をチェックするよう構成される。実施例によると、クリアリングユニット110は、クリアリングユニット110から検索ユニット104へのレスポンス送信138における各状態情報を提供するよう構成される。例えば、実施例によると、クリアリングユニット110は、141においてリクエスト送信136により提供されるPLSパスワードが有効でない場合、140において、リクエスト送信136の更なる処理が禁止されることを示す“禁止(forbidden)”に状態情報を設定するよう構成される。実施例によると、レスポンス送信138は、クリアリングユニットによるリクエスト送信136の処理を終了した後(例えば、“禁止”の結果によるパスワードチェック139の後など)にすぐには提供されない。むしろ、クリアリングユニットによるリクエスト送信136の処理の終了後、レスポンス送信138には検索ユニット104に所定の遅延(すなわち、所定の待機時間後)が提供される。このようにして、ネットワークシステムのセキュリティは、ブルートフォース及びタイミングアタックが防がれているため、向上しうる。所定の待機時間は、例えば、1〜10秒又は他の実施例では2〜7秒などの秒数の範囲内であってもよい。
実施例によると、クリアリングユニットは、139におけるパスワードチェックがPLSパスワードが有効であること示す場合、142に示されるように、リクエスト送信136により受信される電子メールハッシュ(ユーザ固有データの第2フィンガープリントなど)に対応するプロバイダ識別データを抽出するよう構成される。検索アクション、すなわち、電子メールハッシュに対応するプロバイダ識別データ(プロバイダID)の抽出が、図2における144により示される。145に示されるように、例えば、クリアリングユニットにおけるハードウェア又はソフトウェアの故障などによるプロバイダ識別データの抽出中にエラーが発生した場合、レスポンス送信における状態情報は、エラーが発生したことを示す。実施例によると、プロバイダ識別データの抽出中にエラーが発生したか否かの判定146が行われる。145に示されるようにエラーが発生した場合、実施例によると、148に示されるように、状態情報が“エラー(error)”に設定される。150に示されるように、エラーが発生しなかった場合、152において、ユーザ固有データの第2フィンガープリント(所与の電子メールハッシュなど)についてプロバイダ識別データが検出されたかチェックされる。153に示されるように、プロバイダ識別データがユーザ固有データの第2フィンガープリントについて検出されなかった場合、実施例によると、レスポンス送信138における状態情報は、リクエスト送信136において提供されるユーザ固有データの第2フィンガープリントについてプロバイダ識別データが利用可能でないことを示す(状態情報:“無効(invalid)”。例えば、実施例によると、クリアリングユニットは、154に示されるように、所与の電子メールハッシュについてプロバイダ識別データが検出されなかった場合、状態情報を“無効”に設定するよう構成される。
実施例によると、クリアリングユニット110は、156に示されるように、ユーザ固有データの第2フィンガープリントについてプロバイダ識別データが検出された場合、状態情報を“ok”に設定するなどによって、ユーザ固有データの第2フィンガープリント(電子メールハッシュ)についてプロバイダ識別データが検出されたことを示す状態情報を提供するよう構成される。実施例によると、この場合に限って、プロバイダ識別データがレスポンス送信138に設定される。図2における具体例では、プロバイダ識別データは“CH2”である。レスポンス送信138における状態情報の設定とプロバイダ識別データの設定とは、図2の158に示される。
実施例によると、リクエスト送信136は、対応するレスポンス送信138と共に、リクエスト送信及びレスポンス送信のパラメータのJSONの説明を利用することによって実現される。テーブルIVは、リクエスト送信136のパラメータのJSONの説明を示す。
対応する一例となるレスポンス送信138のJSONの説明がテーブルVに提供される。
図2に示される一例となるプロバイダ検索プロトコルによる検索ユニット104とクリアリングユニット110との間の通信に関係するパラメータ及びパラメータ値の実施例の概略が、テーブルVIに与えられる。
以下において、クリアリングユニット110により検索ユニット104に提供されるレスポンス送信138の更なる処理が、ここに開示された主題の実施例を参照して説明される。
レスポンス送信138が、リクエスト送信136のPLSパスワードが有効でなかったことを示す状態情報を有する場合、検索ユニット104からクライアントユニット102へのレスポンス送信116における状態情報は、検索リクエスト105の処理中にエラーが発生したことを示す。例えば、実施例によると、検索ユニットは、リクエスト送信136のPLSパスワードが有効でなかったことを示す状態情報をレスポンス送信138が含む場合、図2の160において示されるように、レスポンス送信116における状態情報を“エラー”に設定するよう構成される。
クリアリングユニット110から検索ユニット104へのレスポンス送信138が、144におけるプロバイダIDの検索中にエラーが発生したことを示す場合(状態:“エラー”)、検索ユニットは、164に示されるように、更なるクリアリング処理が実行される必要があるかチェックするよう構成されてもよい。例えば、実施例によると、2以上のクリアリングユニット(欧州、アジア、中近東などの)が備えられ、この場合、1つのクリアリングユニットが故障すると、検索ユニットが次のクリアリングユニットによる処理を繰り返すことによって継続するよう構成されてもよい。例えば、更なるクリアリング処理のチェック164が、166に示されるように、更なるクリアリング処理が実行される必要があることを示す場合、実施例によると、135において、検索ユニット104は、更なるクリアリング処理の値によりリクエスト送信136のパラメータを初期化するよう構成される。168に示されるように、更なるクリアリング処理のチェック164が更なるクリアリング処理が実行されないことを示す場合、全てのクリアリング処理が失敗したか否かチェック170が行われる。172に示されるように、このチェック170が、全てのクリアリング処理が失敗したことを示す場合、検索ユニット104からクライアントユニット102へのレスポンス送信116における状態情報は、160に示されるように、検索ユニットによって“エラー”に設定されてもよい。174に示されるように、チェック170が全てのクリアリング処理が失敗したとは限らないことを示す場合、検索ユニット104からクライアントユニット102へのレスポンス送信116における状態情報は、176に示されるように、検索ユニットによって“無効”に設定されてもよい。
クリアリングユニット110から検索ユニット104へのレスポンス送信138における状態情報が、ユーザ固有データの更なるフィンガープリントについてプロバイダ識別データが検出されなかったことを示す場合(状態:無効)、検索ユニット104は、ユーザ固有データ(電子メールアドレス)及び/又は更なるユーザ固有データ(ユーザパスワード)が無効であるという状態情報をレスポンス送信116において提供するよう構成される。例えば、実施例によると、検索ユニット104は、176に示されるように、レスポンス送信116における状態情報を“無効”に設定するよう構成される。
クリアリングユニット110から検索ユニット104へのレスポンス送信138が、ユーザ固有データの更なるフィンガープリントについてプロバイダ識別データが良好に抽出されたことを示す状態情報を含む場合、及び/又はレスポンス送信138がプロバイダ識別データを有する場合、検索ユニット104は、ユーザ固有データに関連するコンフィギュレーション関連データ(例えば、検索リクエスト105により検索ユニット104により受信されたパスワードハッシュに関連するなど)を抽出するよう構成されてもよい。コンフィギュレーション関連データを抽出するため、実施例によると、検索ユニット104は、レスポンス送信138によりクリアリングユニットから受信したプロバイダ識別データに関連するプロバイダ関連データ(プロバイダURLなどのプロバイダアドレスなど)を抽出するよう構成される。
実施例によると、ユーザ固有データの第2フィンガープリント(電子メールハッシュ)に対応するプロバイダ識別データが良好に抽出されなかった場合、プロバイダ識別データはヌル又は他の所定値に設定されてもよい。このような場合、プロバイダ識別データ自体はプロバイダ識別データの抽出の状態に関する情報を提供するため、別の状態情報がレスポンス送信138において省略されてもよい。
180に示されるように、プロバイダ識別データに対応するプロバイダ関連データの抽出178が成功した場合、すなわち、プロバイダ関連データが検出された場合、プロバイダ関連データの抽出成功のチェック179は肯定的である。検索ユニット104は、182に示されるように、プロバイダ関連データの抽出成功のチェック179が否定的である場合、ユーザ固有データに関連するクライアントユニット102のプロバイダが検索ユニット104によりサポートされていないという状態情報をレスポンス送信116においてクライアントユニット102に提供するよう構成されてもよい。例えば、実施例によると、検索ユニット104は、このような場合、184に示されるように、状態情報を“非サポート”に設定するよう構成されてもよい。
実施例によると、検索ユニット104は、180に示されるように、プロバイダ関連データ(図2に示される一例となるケースにおけるプロバイダURL)の抽出が成功した場合、プロバイダ識別データにより識別されるプロバイダユニット118にプロバイダリクエストを送信するよう構成される。実施例によると、検索ユニット104は、プロバイダ関連データを利用することによって(例えば、プロバイダURLを利用することによって)プロバイダリクエスト186をプロバイダユニット118に送信するよう構成される。
実施例によると、プロバイダユニット118は、例えば、(i)ユーザ固有データ(電子メールアドレス)及び/又は更なるユーザ固有データ(ユーザパスワード)の有効性チェック、及び(ii)コンフィギュレーション関連データの抽出の少なくとも1つを実行するなどのため、プロバイダリクエスト186を処理するよう構成される。実施例によると、プロバイダユニット118は、プロバイダリクエスト186の処理に応答して、プロバイダレスポンス188を検索ユニット104に提供するよう構成される。検索ユニット104とプロバイダユニット118との間の通信について、検索ユニット104及びプロバイダユニット118は、例えば、VPN又はSSLコネクションなどを介し通信接続されてもよい。実施例によると、プロバイダユニット118は、検索ユニット104に知られているユーザ関連データ(例えば、ユーザ固有データのフィンガープリント及び更なるユーザ固有データのフィンガープリントなど)の有効性のチェックしか実行しない。他の実施例によると、プロバイダユニット118は、あるいは又はさらに、プロバイダリクエスト186を受信すると、コンフィギュレーション関連データを抽出し、プロバイダレスポンス188においてログインデータなどのコンフィギュレーション関連データを検索ユニット104に提供するよう構成されてもよい。
実施例によると、プロバイダリクエスト186は、ユーザ固有データのフィンガープリント(電子メールアドレスのハッシュコード)、更なるユーザ固有データのフィンガープリント(パスワードハッシュのソルト化ハッシュ)、及び更なるユーザ固有データのフィンガープリントを生成するのに利用される暗号化ソルトなど、ここに説明されるようなユーザ関連データ及び更なるユーザ関連データを含む。さらに、プロバイダリクエストは、例えば、プロバイダユニットに更なるユーザ関連データを検索するよう指示するなど、プロバイダユニットに対する処理命令を含むものであってもよい。実施例によると、プロバイダリクエスト186の各パラメータは、190に示されるように、検索ユニット104に利用可能な値によって初期化されてもよい。プロバイダリクエストを提供するためのデータパラメータのJSONの説明が、テーブルVIIに与えられる。
実施例によると、プロバイダユニット118は、プロバイダリクエスト186を受信すると、検索ユニット104により提供されるユーザ関連データを検証するよう構成される。例えば、実施例によると、プロバイダユニット118は、ユーザ固有データのフィンガープリント及び更なるユーザ固有データのフィンガープリントを検証するよう構成される。このため、プロバイダユニットは、プロバイダユニット118に格納されるユーザ固有データのフィンガープリントと、プロバイダユニット118に格納される更なるユーザ固有データのフィンガープリントとを計算してもよい。例えば、更なるユーザ固有データのフィンガープリントなどのこれらのフィンガープリントの1つがソルト化フィンガープリントである場合、プロバイダユニット118は、ソルト化フィンガープリントを計算するため、プロバイダリクエスト186に備えられる暗号化ソルトを利用するよう構成される。実施例によると、プロバイダユニット118は、ユーザ固有データのフィンガープリントを計算し、当該結果をプロバイダリクエスト186により受信したユーザ固有データのフィンガープリントと比較することによって、ユーザ固有データの有効性を検証する(例えば、電子メールハッシュを検証するなど)よう構成される。実施例によると、プロバイダユニット118は、ユーザ固有データに対応するログインネームなどの更なるユーザ固有データを検出するよう構成される。さらに、実施例によると、プロバイダユニット118は、ログインネームのユーザパスワードを抽出し、抽出したユーザパスワードのフィンガープリントを計算し、結果としてのフィンガープリントとプロバイダリクエスト186により受信したユーザパスワードのフィンガープリントとを比較することによって、パスワードフィンガープリントを検証するよう構成される。プロバイダユニットによるプロバイダリクエスト186の処理の上述した実施例が、図2の191において示される。実施例によると、プロバイダリクエスト186がセキュアコネクション(VPN又はSSLコネクションなど)を介しプロバイダユニット118に送信される場合、プロバイダユニットは、プロバイダリクエストをプロバイダユニットに利用可能にするため、受信した暗号化されたプロバイダリクエスト186を解読するよう構成される。
実施例によると、プロバイダユニット118は、ログインネームの抽出中にエラーが発生したかのチェック192を実行するよう構成される。実施例によると、プロバイダユニット118は、プロバイダレスポンス188に状態情報を含めるよう構成され、当該状態情報は、図2の194に示されるように、エラーが発生したことをチェック192が示す場合、システムエラーが生したことを示す。さらに、実施例によると、プロバイダユニット118は、このような場合、プロバイダレスポンス188にログインネームを設定しないよう構成される。
実施例によると、プロバイダユニット118は、プロバイダリクエストにより提供されるユーザ関連データが有効なユーザ関連データであるかのチェック198を実行するよう構成される。例えば、実施例によると、プロバイダユニット118は、198において、ユーザ固有データのフィンガープリントに対応するユーザ固有データと、更なるユーザ固有データのフィンガープリントに対応する更なるユーザ固有データとが有効であるかチェックする。実施例によると、当該チェック198は、196に示されるように、エラーチェック192においてエラーが発生していないな愛に実行される。例えば、ユーザ固有データ及び/又は更なるユーザ固有データが有効でない場合など、図2における199に示されるように、有効性チェック198が否定的である場合、実施例によると、プロバイダユニット118は、ユーザ固有データ及び/又は更なるユーザ固有データが有効でないことを示す状態情報をプロバイダレスポンス188において検索ユニット104に提供する。例えば、実施例によると、プロバイダユニット118は、200に示されるように、状態情報を“無効”に設定するよう構成される。
プロバイダユニット118は、202に示されるように、有効性チェック198が肯定的である場合、フィンガープリントの基礎となるユーザ関連データが有効であることを示す状態情報をプロバイダレスポンスに含めるよう構成されてもよい。さらに、実施例によると、プロバイダユニット118は、有効性チェック198が肯定的である場合、プロバイダレスポンス188に更なるコンフィギュレーション関連データを含めるよう構成される。
プロバイダレスポンス188の各パラメータの初期化が204に示され、対応するJSONレスポンスの説明がテーブルVIIIに与えられる。
検索ユニット104とプロバイダユニット118との間の通信に関係するパラメータ及びパラメータ値の実施例の概略が、テーブルIXに与えられる。
実施例によると、検索ユニット104は、クライアントユニット104によってプロバイダユニット118から受信したプロバイダレスポンス188に応答して、検索ユニット104からのレスポンス送信116をクライアントユニット102に提供するよう構成される。例えば、プロバイダレスポンス188の状態情報が、システムエラーが発生したことを示す場合、エラーが発生したことを示す各状態情報は、検索ユニット104からクライアントユニット102へのレスポンス送信116に含まれる。例えば、検索ユニット104は、図2の206に示されるように、レスポンス送信116のおける状態情報を“エラー”に設定するよう構成されてもよい。さらに、プロバイダユニット118からのプロバイダレスポンス188が、検索ユニット104に検索リクエストにより提供されたフィンガープリントに対応するユーザ関連データが有効でないことを示す場合、検索ユニットは、検索ユニット104からクライアントユニット102へのレスポンス送信116に各状態情報を含めてもよい。例えば、実施例によると、検索ユニットは、208に示されるように、このようなケースにおける状態情報を“無効”に設定するよう構成されてもよい。
実施例によると、検索ユニット104は、レスポンス送信116によって、検索手順178において検索ユニット104により抽出されたプロバイダ関連データをクライアントユニット102に提供するよう構成される。実施例によると、検索ユニット104は、プロバイダレスポンス188の状態情報が検索ユニット104に検索リクエスト105により提供されたフィンガープリントに対応するユーザ関連データが有効であることを示す場合に限って、プロバイダ関連データを提供するよう構成される。
実施例によると、検索ユニット104は、コンフィギュレーション関連データがプロバイダユニット118によりプロバイダレスポンス188に提供される場合、検索ユニット104からクライアントユニット102へのレスポンス送信116において、プロバイダユニット118からプロバイダレスポンス188により受信されるコンフィギュレーション関連データを含むよう構成される。レスポンス送信116の各パラメータの初期化は、図2の210に示される。
図3は、ここに開示された主題の実施例によるネットワークシステムの処理を概略的に示す。
図3は、検索ユニット104及びクリアリングユニット110におけるプロバイダユニット118の登録に関する。特に、図3は、プロバイダユニット118がクリアリングユニット110及び検索ユニット104に登録されるプロバイダ登録プロトコルに関する。ネットワークシステムの処理に関して、図2に関連して説明されるような通信に関係する各プロバイダユニットは、クリアリングユニット110及び検索ユニット104に登録される必要がある。
実施例によると、プロバイダユニット118は、登録リクエストを検索ユニット104に提供するよう構成される。実施例によると、登録リクエスト220は、プロバイダユニット118を特定するプロバイダ識別データの少なくとも一部を有する。例えば、実施例によると、プロバイダ識別データはプリフィックス及びプロバイダIDを有する。実施例によると、一例となるケースにおけるプロバイダIDなどのプロバイダ識別データの一部のみが、登録リクエストにより検索ユニット104に提供される。プロバイダIDは、図3における“providerid”として参照される。実施例によると、登録リクエスト220は実行される処理(OP)を含む。例えば、実行される処理は、“新たなプロバイダユニットを検索ユニット104に登録する”ことであってもよい。実施例によると、検索ユニットは、例えば、検索ユニットにより制御されるデータベースなどにおいて、プロバイダユニット118のプロバイダ識別データ(プロバイダID)及びネットワークアドレスの一部を登録するよう構成される。更なる実施例によると、登録リクエスト220は、図3における“secretHash”として参照される検証データのフィンガープリントなどの検証データに基づく検証関連データを有する。検証関連データは、登録リクエスト220が登録リクエスト220に与えられるプロバイダIDに対応するプロバイダユニット118により送信されたか検証するため、検索ユニット104及び/又はクリアリングユニット110により利用されてもよい。すなわち、実施例によると、検証データは秘密データであり、図3に示される一例となるケースにおけるプロバイダユニット及びクリアリングユニットなどの関係するユニットにのみ知られる。更なる実施例によると、検証データのフィンガープリントは、登録リクエスト220により検索ユニット104に提供されるプロバイダ識別データ(プロバイダID)の一部を補完するのに利用されてもよい。プロバイダ識別データの一部と共に完全なプロバイダ識別データを形成する補完は、クリアリングユニットにより提供されてもよい。
更なる実施例によると、登録リクエスト220は、例えば、検証データのフィンガープリントが検証データのフィンガープリントを生成するのに利用された暗号化ソルトを利用することによって生成された検証データのソルト化フィンガープリントである場合などにおいて、暗号化ソルト(図3の“秘密ソルト”などとして参照される)を含むものであってもよい。実施例によると、登録リクエスト220は更に、プロバイダユニット118のURLなどのプロバイダユニット118のネットワークアドレスを含む。
プロバイダユニット118から検索ユニット104に登録リクエスト220を送信する際のデータパラメータのJSONの説明がテーブルXに示される。
プロバイダユニット118による登録リクエスト220のパラメータの初期化が図3の222に示される。
実施例によると、プロバイダユニット118は更に、登録リクエスト220に応答して検索ユニット104からレスポンス送信224を受信するよう構成される。実施例によると、レスポンス送信224は、登録リクエストの良好な処理に関するなどの状態情報を含む。例えば、状態情報が、プロバイダユニットの登録が良好に実行されたことを示す場合(例えば、状態が“ok”に設定された場合)、プロバイダユニットは、226に示される登録リクエスト220を開始した方法の実行を継続するよう構成されてもよい。このような方法は、例えば、プロバイダユニット118上で実行される登録ウィザードなどであってもよい。
更なる実施例によると、プロバイダユニット118は、レスポンス送信224における状態情報がエラーが発生したことを示す場合(状態:エラー)、エラーメッセージ228を表示するよう構成される。例えば、エラーメッセージは、エラーを報告するため検索ユニットのオペレータを呼び出すようユーザに通知するものであってもよい。
実施例によると、プロバイダユニットは、レスポンス送信224における状態情報が、登録リクエスト220の処理中のセキュリティチェックが失敗したことを示す場合(230)、無効メッセージを表示するよう構成される。
実施例によるレスポンス送信224のパラメータのJSONの説明がテーブルXIに示される。
登録リクエスト220及びレスポンス送信224に関係するパラメータ、すなわち、プロバイダ登録中にプロバイダユニットと検索ユニットとの間の通信に関係するパラメータの概略がテーブルXIIに与えられる。
実施例によると、検索ユニット104は、プロバイダユニット118から登録リクエスト220を受信するよう構成される。実施例によると、検索ユニット104は、クリアリングユニットにリクエスト送信232を送信するよう構成され、当該リクエスト送信232は、登録リクエスト220により検索ユニットが受信したプロバイダ識別データの少なくとも一部に基づくプロバイダ関連識別データを含む。リクエスト送信232のパラメータの初期化が図3の233に示される。実施例によると、プロバイダ関連識別データは、図3の初期化233における“providerid”として参照されるプロバイダIDである登録リクエスト220のプロバイダ識別データの少なくとも一部と同一である。更なる実施例によると、リクエスト送信232は、PLSパスワードとしても参照されるパスワード“plsPass”を有する。実施例によると、リクエスト送信232のPLSパスワードは、クリアリングユニットによるリクエスト送信の処理に必要である。すなわち、実施例によると、クリアリングユニットは、有効なPLSパスワードがリクエスト送信232に含まれない場合、リクエスト送信232を処理しないよう構成される。実施例によると、リクエスト送信232は、登録リクエスト220により検索ユニット104がプロバイダユニット118から受信した検証関連データを含む。検証関連データが検証データのソルト化フィンガープリントである場合、リクエスト送信232はまた、検証データのソルト化フィンガープリントを計算するのに利用した暗号化ソルトを有することが理解されるべきである。上述されたように、暗号化ソルトは、登録リクエスト220においてプロバイダユニット118により検索ユニット104に提供されてもよい。
更なる実施例によると、リクエスト送信232は更に、リクエスト送信232によりクリアリングユニットにより実行される処理を示す処理パラメータ“op”を含む。例えば、実施例によると、処理パラメータは、プロバイダ識別データ及び/又は検証関連データの少なくとも一部の検証を要求するものであってもよい。例えば、実施例によると、処理パラメータは検索ユニット104により“プロバイダの検証”に設定されてもよい。
実施例によると、クリアリングユニット110は、リクエスト送信232に応答して、レスポンス送信236を検索ユニット104に提供するよう構成される。
実施例によると、クリアリングユニット110は、234に示されるように、リクエスト送信232により提供されるPLSパスワードの有効性をチェックするよう構成される。クリアリングユニット110は、状態情報をレスポンス送信236に含めるよう構成されてもよく、状態情報は、リクエスト送信232によりクリアリングユニットに提供されるPLSパスワードが有効でない場合、238に示されるように、クリアリングユニット110によるリクエスト送信232の処理が禁止されることを示す。このような実施例によると、クリアリングユニット110は、パスワードチェック234が否定的である場合、すなわち、リクエスト送信232により提供されるPLSパスワードが有効でない場合、レスポンス送信236における状態情報(“status”)を“禁止”に設定するよう構成される。状態情報を“禁止”に設定することは、図3の240に示される。図3に図示しない更なる実施例によると、レスポンス送信236の状態情報は、PLSパスワードが有効でなかったことを示すものであってもよい。
242に示されるように、234におけるPLSパスワードの有効性チェックがPLSパスワードが有効であるという結果を示す場合、クリアリングユニットは、実施例によると、例えば、検証関連データ(検証データのフィンガープリントなど)が有効であるか検証することによって、244に示されるように、プロバイダ識別データの一部の補完を確認し、及び/又は検証データ(“秘密”)を検証するため、プロバイダ識別データ(“providerid”)を確認するよう構成される。プロバイダ識別データの確認のため、実施例によると、クリアリングユニットは、完全なプロバイダ識別データをそれの記憶装置に格納してもよい。
実施例によると、エラーチェック246が実行され、当該エラーチェック246は、プロバイダIDの確認中及び/又は検証データのフィンガープリントの検証中にエラーが発生したか示す。例えば、クリアリングユニット110は、状態情報をレスポンス送信236に含めるよう構成されてもよく、当該状態情報は、248に示されるように、システムエラーが発生した場合、リクエスト送信の処理中にエラーが発生したことを示す。例えば、実施例によると、クリアリングユニット110は、エラーチェック246がエラーが発生したことを示す場合、250に示されるように、レスポンス送信236における状態を“エラー”に設定するよう構成される。
エラーが発生しなかった場合、252に示されるように、検証データのフィンガープリントなどの検証データの検証が有効であるか判断される。この有効性チェックは254において示される。実施例によると、クリアリングユニット110は、256に示されるように、検証データ(又は検証データのフィンガープリント)が有効でないことを有効性チェック254が示す場合、検証データ又は検証データのフィンガープリントが有効でないことを示す状態情報をレスポンス送信236に含めるよう構成される。これに関して、検証データのフィンガープリントの有効性の判断は検証データの有効性の判断と同一であるとみなされることに留意すべきである。実施例によると、有効性は、クリアリングユニットに格納されている検証データから各フィンガープリントを計算し、取得したフィンガープリントとリクエスト送信232により受信した検証データのフィンガープリントとを比較することによって判断される。双方のフィンガープリントが一致する場合、検証データは有効であり、検証データのフィンガープリントもまた有効である。
256に示されるように、検証チェック254が検証データのフィンガープリントが有効でないという結果を示す場合、クリアリングユニットは、図3の258に示されるように、クリアリングユニット110にリクエスト送信により提供されるプロバイダ識別データ又はその少なくとも一部及び/又は検証関連データが有効でないことを示す“無効”にレスポンス送信236における状態を設定するよう構成されてもよい。実施例によると、254における有効性チェックが、プロバイダ識別データ及び/又は検証関連データが有効である場合、260に示されるように、クリアリングユニットは、プロバイダ識別データの補完をレスポンス送信236に含めるよう構成される。更なる実施例によると、クリアリングユニット110は更に、状態情報をレスポンス送信236に提供するよう構成されてもよく、当該状態情報は、リクエスト送信232がクリアリングユニット110により良好に処理されたことを示す(状態:ok)。
実施例によると、検索ユニット104は、クリアリングユニット110からレスポンス送信236を受信するよう構成される。実施例によると、検索ユニット104は、クリアリングユニット110から検索ユニット104へのレスポンス送信236が、リクエスト送信232により提供されるPLSパスワードが有効でないことを示す場合(状態:“禁止”)、検索ユニット104からプロバイダユニット118へのレスポンス送信224における状態情報をエラーが発生したことを示す値(264に示されるように、状態:“エラー”)に設定するよう構成される。
実施例によると、検索ユニット104は、クリアリングユニット110においてシステムエラーが発生したことをレスポンス送信236における状態情報が示す場合、266に示されるように、更なるクリアリングをチェックする、すなわち、更なる登録リクエストが検索ユニット104により処理されるべきかチェックするよう構成される。更なるクリアリングのチェックが少なくとも1つの更なる登録リクエストが検索ユニット104により処理されるべきであることを示す場合、検索ユニット104は、268に示されるように、少なくとも1つの更なる登録リクエストを処理するよう構成される。270に示されるように、更なる登録リクエストが検索ユニット104により処理されるべきでない場合、272に示されるように、全ての登録リクエストがエラーを示したか判断してもよい。274に示されるように回答がイエスである場合、エラーが発生したことを示すため(状態:“エラー”)、264に示されるように、検索ユニット104からプロバイダユニット118へのレスポンス送信224における状態情報が検索ユニット104により設定される。
全ての登録リクエストがエラーを生じさせたかの判断272が、そうでないという結果を示した場合、276に示されるように、検索ユニット104によってプロバイダユニット118に提供されるレスポンス送信224における状態情報は、“無効”に設定される。
実施例によると、検索ユニット104は、検証関連データとプロバイダ識別データの少なくとも一部の少なくとも1つが無効であることをクリアリングユニット110から検索ユニット104へのレスポンス送信236が示す場合、検証関連データとプロバイダ識別データの少なくとも一部の少なくとも1つが無効であることを示すため(278に示されるように、状態:“無効”)、検索ユニット104は、検索ユニット104からプロバイダユニット118へのレスポンス送信224における状態情報を設定するよう構成される。
実施例によると、検索ユニット104は、例えば、検索ユニット104のデータベースなど、検索ユニット104の記憶装置などにプロバイダユニットのネットワークアドレス(登録リクエスト220により検索ユニット104に提供される)と(関連する)プロバイダ識別データとを追加するよう構成される。更なる実施例によると、検索ユニット104は、検索ユニット104の記憶装置におけるプロバイダユニット118のネットワークアドレスと関連するプロバイダ識別データとを更新するよう構成される。実施例によると、プロバイダ識別データの一部のみが登録リクエスト220により検索ユニット104に提供される場合、検索ユニット104は、プロバイダ識別データの補完と登録リクエスト220により受信したプロバイダ識別データの一部とをフルプロバイダ識別データに合成するよう構成される。実施例によると、プロバイダ識別データの補完はプリフィックスであり、登録リクエスト220に提供されるプロバイダ識別データの一部は、図3に例示されるように、プロバイダIDである。記憶装置(図3に図示せず)へのプロバイダネットワークアドレス及び関連するプロバイダ識別データの追加又は更新が、280に示され、以降において登録として参照される。
実施例によると、登録280の期間中にエラーが発生したか判断282される。284に示されるように、登録280の期間中にエラーが発生した場合、検索ユニット104からプロバイダユニット118へのレスポンス送信224の状態情報は、プロバイダユニットの登録中にエラーが発生したことを示すよう設定される(264に示されるように、“状態:エラー”)。
実施例によると、検索ユニット104は、286に示されるように、検索ユニット104において登録280の期間中にエラーが発生しなかった場合、検索ユニット104(及びクリアリングユニット110)におけるプロバイダユニット118の登録が成功したことを示すため(288に示されるように、“状態:ok”)、レスポンス送信224における状態情報を設定するよう構成される。
実施例によると、リクエスト送信232は、レスポンス送信236と共に、リクエスト送信及びレスポンス送信のパラメータのためのJSONの説明を利用することによって実現される。テーブルXIVは、リクエスト送信232のパラメータのためのJSONの説明を示す。
一例となるレスポンス送信236のJSONの説明は、テーブルXIVに与えられる。
図3に示される一例となるプロバイダ登録プロトコルによる検索ユニット104とクリアリングユニット110との間の通信に関係するパラメータ及びパラメータ値の実施例の概略は、テーブルXVに与えられる。
ここに開示される実施例から、当業者は、実施例が当業者の一般的な知識を考慮することによって各種方法により実現可能であることを容易に認識する。にもかかわらず、以下において、検索ユニット104、クライアントユニット102、クリアリングユニット110及びプロバイダユニットのための一例となる実現形態の詳細が提供される。しかしながら、与えられる具体的な実現形態の詳細は単なる一例であり、限定的であるとみなされるべきでないことが理解されるべきである。
以下において、クライアントユニット102の一例となる実現形態が提供される。実施例によると、クライアントユニット102は、登録された電子メールアドレス及び当該電子メールアドレスに関連するユーザパスワードをユーザに要求するよう構成される。実施例によると、クライアントユニットは、SHA256ハッシュアルゴリズムに従ってフィンガープリントを生成し、ランダム暗号化ソルトを作成し、暗号化ソルトによりソルト処理されたハッシュ処理されたユーザパスワードのハッシュバージョンを作成するよう構成される。
SHA256(salt:SHA1(user password))
このとき、JSON符号化バージョンは、
このフィンガープリント(ソルト化パスワードハッシュのハッシュコード)は、その後に検索ユニット104に送信される(例えば、https://pls.regify.com/などに)。レスポンス送信の成功後、クライアントは残りのデータを取得する。
を利用することによって、プロバイダユニット118にログインすることができる。
エラーの場合、クライアントユニットは、当該エラーが秘密に関連しているか示すダイアログをユーザに表示し、この場合、ユーザは秘密を再入力してもよい。そうでない場合、ユーザに表示されるダイアログは、当該エラーがシステム関連のものであることを示すものであってもよく、この場合、ユーザは、手作業によりプロバイダネットワークアドレス(URL)を入力してログインすることが可能とされてもよい。
検索ユニット104に関連して、実施例によると、検索ユニット104は、プロバイダ識別データとプロバイダネットワークアドレス(プロバイダURL)とのマッピングのデータベースを維持する。プロバイダは、プロバイダユニット上でウェブベースウィザードを実行することによって検索ユニットのデータベースに追加してもよい。
実施例によると、検索ユニット104のデータベースは、以下のSQL(Structured Query Language)コマンドにより生成可能なプロバイダテーブルを有し、
テーブルXVIに示されるようなプロバイダテーブルを生成する。
当該テーブルは、プロバイダが検索ユニット104により登録されると更新される。テーブルは、クリアリングユニット110がユーザ固有データの所与のフィンガープリントについてプロバイダ識別データを提供した後(例えば、所与の電子メールハッシュについて)、図2に示される検索処理中にプロバイダネットワークアドレスについて照会される。
実施例によると、全ての登録リクエストと検索リクエストとが、追跡可能性及び統計管理のため記録される。実施例によると、検索ユニットは、ログレコードを作成する前に、プロバイダ識別データの残りの部分からプロバイダ識別データのプリフィックスを分離するよう構成される。一例となるログテーブルは、以下のSQLコマンドにより作成可能であり、
成功したプロバイダ登録及び成功した検索リクエストのためのテーブルXVIIにおけるログテーブルの一例となるエントリが以下に与えられる。
失敗した登録リクエスト及び失敗した検索リクエストのログエントリの各例は以下の通りであってもよい。
エラーの詳細のレスポンスは、クエリされた全てのクリアリングユニットからのレスポンスを含む。n個のクリアリングユニットが提供され、検索ユニット104によりクエリされることに留意されたい。一例となるエラーの詳細のレスポンスは以下の通りである。
新たに登録されたユーザに対する検索リクエストは複数のクリアリングユニットをクエリすることを求めるものであってもよいため、GeoIPによるクリアリングユニットと検索リクエストの発信元の国とを関連付ける検索テーブルが維持される。GeoIPは、サーバにネットワークアドレス(IPアドレス)を提供することによってサーバの地理的位置を決定することを可能にするインターネットを介しアクセス可能なサービスである。PHPファイルの欠如又は夜間のジョブは、これらのテーブル構造を更新可能である。検索ユニット104は、要求元の発信国における最大成功レートを有するクリアリングユニットによる電子メールハッシュの検証を開始する。以下のSQIクエリは、最適化の下、所与の国における一意的な電子メールハッシュを提供するプロバイダのリストを抽出するため、ログテーブル“TBLログ”上で利用可能である。
その後、結果がコードにより処理され、クリアリングユニットの順序のハッシュ/リスト表現を含むPHPファイルなどに書き込み可能である。クエリに検出されないクリアリングプリフィクスが、実施例により添付される。実施例によると、発信国がまだハッシュマップにない場合、デフォルトサーチ順序がある。このようなデータ構造の一例となる表現が以下に与えられる。
実施例によると、ここに開示されるようなクリアリングユニット110の機能は、PLS.PHPなどと呼ばれる新たなソフトウェアアプリケーションを提供することによって、既存のクリアリングユニットに提供される。実施例によると、当該アプリケーションは、クリアリングユニットへの各リクエスト送信136,232に指定される有効なPLSパスワードによりリクエストに応答するのみである。例えば、実施例によると、PLSパスワードは各JSON構造において“PLSpass”の値として指定される。実施例によると、各クリアリングユニットは、リクエストにおけるものと一致する必要があるちょうど1つのPLSパスワードを有する。更なる実施例によると、各クリアリングユニットは、提供されたJSON構造の処理フィールドに指定される3つの処理を処理する。
次に、プロバイダ検索ファンクションの一例となる実現形態が与えられる。クリアリングユニットの最も一般的に利用されるファンクションは、検索ユニット104からクリアリングユニット110への各リクエスト送信136により開始される“プロバイダ検索”ファンクションである。実施例によると、この“プロバイダ検索”ファンクションは、所与のユーザ固有データのフィンガープリント(電子メールハッシュなど)の関連するプロバイダ識別データを検索する。関係するロジックは、基本的には
実施例によると、クリアリングユニット110及び検索ユニット104は、結果セットがエンプティである場合、当該結果は“無効”の状態であると認識するよう構成される。そうでない場合、それは“ok”の状態であり、“providerID”フィールドは、“DE6”などの検出されたプロバイダ識別データを有する。レスポンスは、
以下において、プロバイダ検証の一例となる実現形態が説明される。プロバイダが正当なものであることを検証するため検索ユニット104により自らを登録するとき、他方の処理が利用される。この処理(op)は、実施例では“プロバイダの検証”と呼ばれる。一例となる実現形態におけるJSONデータ構造は、
ここで、クリアリングサーバは、検証データ“秘密”により所与の暗号化ソルト“秘密ソルト”をハッシュ処理するとき、プロバイダ識別データの一部(“providerID:2”)が実際に検証データのフィンガープリント(“秘密ハッシュ”)になっていることを検証する。成功すると、クリアリングユニット110は、検索ユニット104に
実施例によると、クリアリングユニット110は、検索ユニットからチェックリクエストを受信するよう構成され、当該チェックリクエストは、クリアリングユニット110が良好な実行状態にあるかチェックすることを可能にする。チェックリクエストは、以下の通りであってもよい。
プロバイダユニットに関して、実施例によると、プロバイダの登録がウェブベースウィザードを介し実行されてもよいことに留意されたい。図2に例示されるようなプロバイダ検索プロトコルなどのここに開示された主題の実施例によるネットワークシステムのプロバイダユニットの実現形態はまた、SQLデータベース及びPHPアプリケーションを利用することによって実行されてもよい。しかしながら、ここに開示された主題の実施例の他の実現形態もまた、クライアントユニット、検索ユニット及びクリアリングユニットなどの他のユニット共にプロバイダユニットについて可能である。
ここに開示された実施例に関して、異なる通信では異なるユーザ固有データ(又はそれから導出されるデータ)が交換されてもよいことに留意されたい。例えば、クライアントユニットから検索ユニットへの検索リクエストについて、電子メールアドレス及びユーザパスワードは、ユーザ関連データ及び更なるユーザ関連データのための基礎として利用されてもよく、電子メールアドレスのみが、検索ユニット及びクリアリングユニットからの通信におけるユーザ関連データの基礎として利用されてもよい。
ソルト化フィンガープリントの利用は関係するユニットの適応化を必要とすることが理解されるべきである。例えば、パスワードハッシュのソルト化フィンガープリントが利用される場合、プロバイダユニットは、それぞれの適応化がソルト化フィンガープリントを検証可能であることを必要とする。例えば、検索ユニットから受信したパスワードのソルト化フィンガープリントがプロバイダユニットに格納される各自のパスワードに対応することを検証するため、プロバイダユニットは、プロバイダユニットに格納されているパスワードのフィンガープリントを計算し、フィンんがープリントと暗号化ソルトとを合成し、ソルト化フィンガープリントの最終的なフィンガープリントを計算するよう構成されてもよい。最終的なフィンガープリントを計算するのに実現される方法は、フィンガープリントの計算の基礎となるデータが同一であるか否かの検証を可能にするため、上述された具体例におけるクライアントユニットとプロバイダユニットなどの関係するユニットにおいて同じでなければならないことが理解されるべきである。
ここに開示される主題の実施例によるユニット間の送信が実行される処理を示す処理パラメータを含むよう説明されることもあるが、このような処理パラメータは実施例により省略されてもよいことが理解されるべきである。例えば、各ユニットは、所定のデータ構造による送信がユニットにより受信される場合、特定のアクションを実行するよう構成されてもよい。このような所定のデータ構造は、処理オペレータが当該データ構造において省略されるという例外によって、ここに開示された主題の実施例に関して説明されるデータ構造と同じであってもよい。
ある実施例は異なるエンティティ又はユニットを参照して説明されるが、各エンティティのそれぞれの特徴は、他の特徴がある特徴について必須でない場合、他のエンティティ又はユニットの特徴から独立して実現されてもよいことが理解されるべきである。
実施例によると、クリアリングユニットは、ユーザ関連データに関する識別データなどの秘密データを永続的に格納するが、検索ユニットによるリクエストがあったときにのみ当該データを提供する。すなわち、実施例によると、クリアリングユニットは、他のユニットとの通信を開始せず、応答するのみである。これにより、セキュリティが向上する。従って、実施例によると、アクティブなエンティティは検索ユニットである。
図面の記載において特定のアクション系列(チェック139,146,152,164,170,179,192,198)が指定されているが、このような一例となる系列は限定的であるとみなされるべきでない。当業者は、説明されたアクションの多くが異なる系列により実行されてもよいか、又は必要なアクションが終了するまで待機しているエンティティ(ファンクション、ユニット又は以降のアクション)は単に待機する場合にここで開示されるアクションのパラレルな実行のケースなど特定の系列が必要でないことを理解するであろう。
ある実施例はJSONの説明などのデータ構造のパラメータの初期化に関するが、このような手順はあるユニットから他のユニットへの情報、情報要素及びパラメータ値のそれぞれの送信の唯一の可能性であることが理解されるべきである。
一例となるケースでは、パラメータ値及び更なるパラメータ値(例えば、コンフィギュレーション関連データ及び更なるコンフィギュレーション関連データなど)が参照されるが、このような具体例は、パラメータ値の個数に関して開示された主題を限定するものとしてみなされないことが理解されるべきである。特に、このようなケースにおける開示された2つのパラメータ(パラメータ値)に加えて、ここに開示される方法及び装置は、3以上のパラメータ(パラメータ値)により動作するか、又は単一のパラメータ(パラメータ値)のみにより動作するよう構成されてもよい。
ここに開示される主題の特定の実施例がフィンガープリントの形式によるエンティティ関連データ(ユーザ固有データのフィンガープリントの形式によるユーザ関連データなど)に関して説明されるケースにおいて、より一般的な実施例によると、各エンティティ関連データが明示的に開示されたフィンガープリントの代わりに利用される(すなわち、実施例は、ユーザ固有データのフィンガープリントを参照する代わりに、ユーザ固有データに基づくユーザ関連データを参照することによって実現されてもよい)ことが理解されるべきであることに留意されたい。
ここに開示される主題の実施例によるユニット間の通信は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、セルラネットワークなどの何れか適切なコネクション/適切なネットワークを介し実行されてもよい。
さらに、ここに開示されるようなエンティティ又はユニットは、一部の実施例において説明されたような専用のエンティティに限定されるものでないことに留意すべきである。むしろ、ここに開示される主題は、所望の機能を依然として提供しながら、ネットワークシステムにおける様々な位置において各種方法により実現されてもよい。
本発明の実施例によると、クライアントユニット、検索ユニット、クリアリングユニット及びプロバイダユニットなど、ここに開示される何れか適切なエンティティ(コンポーネント、ユニット及びデバイスなど)は、ここに開示されるような各エンティティの機能をプロセッサデバイスが提供することを可能にするそれぞれのコンピュータプログラムの形式により少なくとも部分的に提供される。他の実施例によると、ここに開示される何れか適切なエンティティはハードウェアにより提供されてもよい。他のハイブリッドな実施例によると、一部のエンティティはソフトウェアにより提供され、他のエンティティはハードウェアにより提供されてもよい。
ここに開示される何れかのエンティティ(コンポーネント、ユニット及びデバイスなど)は一部の実施例において説明されるような専用のエンティティに限定されないことに留意すべきである。むしろ、ここに開示される主題は、所望の機能を依然として提供しながら、各種方法により、またデバイスレベル又はソフトウェアモジュールレベルの各種粒度により実現されてもよい。さらに、実施例によると、ここに開示された各ファンクションについて、別のエンティティ(ソフトウェアモジュール、ハードウェアモジュール又はハイブリッドモジュール(すなわち、組み合わされたソフトウェア/ハードウェアモジュール)など)が備えられてもよいことに留意すべきである。他の実施例によると、エンティティ(ソフトウェアモジュール、ハードウェアモジュール又はハイブリッドモジュールなど)が、ここに開示される2以上のファンクションを提供するよう構成される。実施例によると、各ユニットは、ここに開示された主題の1以上の実施例によりユニットの機能を提供する少なくとも1つのコンピュータプログラムを実行する少なくとも1つのプロセッサを含むプロセッサデバイスと関連付けされる。
“有する”という用語は他の要素又はステップを排除せず、“ある”とは複数を排除しないことに留意すべきである。さらに、(あるデータを)“利用する”という用語は、これに加えて他のデータを利用することを排除しない。また、異なる実施例に関して説明された要素は組み合わせ可能である。また、請求項の参照記号は請求項の範囲を限定するものとして解釈されないことに留意すべきである。
本発明の上述した実施例を概略すると、以下を述べることができる。
実施例によると、検索ユニット104、記憶装置を有するクリアリングユニット110及びクライアントユニット102を有するネットワークシステム100が提供される。クライアントユニット102は、ユーザ関連データ106を検索ユニット104に提供するよう構成され、ここで、ユーザ関連データ106はユーザ固有データに基づき、ユーザ固有データはユーザに関連付けされ、ユーザ関連データ106はユーザ固有データの明確な識別を可能にする。さらに、検査ユニットは、ユーザ関連データ106を利用することによってクリアリングユニット110から識別データ114を抽出するよう構成され、ここで、識別データ114はユーザ固有データ106に関連付けされ、クリアリングユニット110はユーザ固有データに関連する識別データ114を記憶装置から抽出するよう構成される。クリアリングユニット110は、識別データ114を検索ユニット104に提供するよう構成される。検索ユニット104は、ユーザに提供されるサービスについてコンフィギュレーション関連データ115を抽出するよう構成され、ここで、コンフィギュレーション関連データ115は、識別データ114を利用することによって抽出される。
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。