(57)【要約】【解決手段】本発明は、ユーザ、データ、ドキュメント、デバイス、及びトランザクションを認証するために動作するプラットフォーム依存でない認証方法及びシステムである。本発明の実施形態は、任意のクライアントシステムで動作可能である。認証方法及びシステムは、複数のデバイス間で匿名ログイン関連情報の固有部分を配布させるように動作する。これらのデバイスと、配布される匿名ログイン情報の固有部分とがソリューションによって利用されて、ユーザ、データ、ドキュメント、デバイス、及びトランザクションが認証される。ログイン関連情報はソリューションのどの部分にも格納されず、ユーザとデバイスは匿名で認証される。このソリューションはまた、半自動のプロセスを通じて、ユーザがユーザのキーを明らかにする必要なく、クライアントシステムのセキュア部分にアクセスすることを可能にする。【選択図】図１７
2021500831.tif 000002
【特許請求の範囲】
【請求項１】
アイデンティティを認証するためのキーを生成、配布、及び格納する方法において、
１又は複数のサーバで第１のピアから登録要求を受け取るステップと、
前記登録要求の受取りに応答して、少なくともクライアント登録コードを含む登録データを前記１又は複数のサーバから前記第１のピアに送るステップと、
前記１又は複数のサーバで登録キー及びサーバキーを受け取るステップであって、前記登録キー及び前記サーバキーは前記第１のピアによって生成される、ステップと、
前記１又は複数のサーバで、少なくとも１つの送信者コードと、少なくとも１つの受信者コードと、少なくとも１つの配布コードと、ピアリストとを生成するステップであって、前記ピアリストは、前記少なくとも１つの受信者コード及び前記少なくとも１つの配布コードを含んでいる、ステップと、
少なくとも１つの配布キーを生成するステップであって、前記少なくとも１つの配布キーは、前記少なくとも１つの受信者コード、前記サーバキー、及び前記少なくとも１つの送信者コードに基づいている、ステップと、
前記１又は複数のサーバに関連付けられた１又は複数のデータベースに、前記登録キー、前記少なくとも１つの配布キー、及び前記ピアリストを格納するステップと、
前記１又は複数のサーバから少なくとも１つの第２のピアに、前記少なくとも１つの配布キー及び前記少なくとも１つの配布コードを送るステップと、
前記１又は複数サーバで、前記少なくとも１つの第２のピアから前記少なくとも１つの配布コードと預託キーとを受け取るステップと、
前記１又は複数サーバに関連付けられた１又は複数データベースにて前記ピアリストに、前記少なくとも１つの第２のピアから受け取った前記少なくとも１つの配布コード及び前記預託キーを格納するステップと、
を含む、方法。
【請求項２】
前記第１のピアは、
前記１又は複数のサーバから前記登録データを受け取るステップと、
２つ以上の選択コードを含むユーザ入力を受け取るステップと、
前記２つ以上の選択コードを、少なくとも選択コードの第１のグループと選択コードの第２のグループとに分割するステップと、
前記選択コードの第１のグループからクライアントキーを生成するステップと、
前記選択コードの第２のグループからサーバキーを生成するステップと、
前記クライアントキーから、少なくともクライアントキーの第１の部分とクライアントキーの第２の部分を生成するステップと、
前記サーバキーから、少なくともサーバキーの第１の部分とサーバキーの第２の部分とを生成するステップと、
前記登録キーを生成するステップであって、前記登録キーは、前記クライアントキー、前記サーバキー、及び前記クライアント登録コードに基づいている、ステップと、
前記第１のピアのメモリに、前記クライアントキー及び前記クライアント登録コードを格納するステップと、
少なくとも前記登録キー及び前記サーバキーを前記１又は複数のサーバに送るステップと、
を行うように構成されている、請求項１に記載の方法。
【請求項３】
前記登録データが、前記クライアント登録コードと選択オブジェクトのグループとを含む、請求項１に記載の方法。
【請求項４】
前記ユーザ入力が、生体認証データ、空間データ、及び時間データのうちの１又は複数を含む、請求項２に記載の方法。
【請求項５】
前記選択コードの第１のグループから前記クライアントキーを生成するステップは、
前記選択コードの第１のグループを構成する個々の選択コードを、変換された選択コードのグループに変換するステップと、
前記変換された選択コードのグループを構成する個々の変換された選択コードの各々を、クライアントプレキーを構成する１又は複数のキャラクタ列へと連結するステップと、
前記クライアントプレキーを前記クライアントキーに変換するステップと、
を含む、請求項２に記載の方法。
【請求項６】
前記選択コードの第２のグループから前記サーバキーを生成するステップは、
前記選択コードの第２のグループを構成する個々の選択コードを、変換された選択コードのグループに変換するステップと、
前記変換された選択コードのグループを構成する個々の変換された選択コードの各々を、サーバプレキーを構成する1又は複数のキャラクタ列へと連結するステップと、
前記サーバプレキーを前記サーバキーに変換するステップと、
を含む、請求項２に記載の方法。
【請求項７】
前記登録キーを生成するステップは、
前記クライアントキーの第１の部分と前記クライアントキーの第２の部分の少なくとも１つと、前記サーバキーの第１の部分と前記サーバキーの第２の部分の少なくとも１つとを連結して、第１のプレキーを構成する１又は複数のキャラクタ列を生成するステップと、
前記第１のプレキーを第２のプレキーに変換するステップと、
前記第２のプレキーと前記クライアント登録コードとを連結して、前記登録プレキーを構成する１又は複数のキャラクタ列を生成するステップと、
前記登録プレキーを前記登録キーに変換するステップと、
を含む、請求項２に記載の方法。
【請求項８】
前記少なくとも１つの第２のピアから前記少なくとも１つの配布コードと前記預託キーとを受け取るステップでは、前記少なくとも１つの第２のピアは、
前記１又は複数のサーバから、前記少なくとも１つの配布コード及び前記少なくとも１つの配布キーを受信し、
預託コードと前記預託キーとを生成し、前記預託キーは、前記預託コード及び少なくとも１つの配布キーに基づいており、
前記少なくとも１つの第２のピアのメモリに、前記少なくとも１つの配布キー、前記預託キー、及び前記少なくとも１つの配布コードを格納し、
前記１又は複数のサーバに、前記預託キー及び前記少なくとも１つの配布コードを送るように構成されている、請求項１に記載の方法。
【請求項９】
前記預託キーを生成することは、
前記少なくとも１つの配布キーと前記預託コードとを、預託プレキーを構成する１又は複数のキャラクタ列へと連結することと、
前記預託プレキーを前記預託キーに変換することと、
を含む、請求項８に記載の方法。
【請求項１０】
前記少なくとも１つの配布キーを生成するステップは、
前記サーバキー、前記登録キー、前記少なくとも１つの送信者コード、及び前記少なくとも１つの受信者コードのうちの１又は複数を、少なくとも１つの配布プレキーを構成する１又は複数のキャラクタ列へと連結するステップと、
前記少なくとも１つの配布プレキーを前記少なくとも１つの配布キーに変換するステップと、
を含む、請求項１に記載の方法。
【請求項１１】
キーを使用してアイデンティティを認証する方法において、
１又は複数のサーバで第１のピアからログイン要求を受け取るステップと、
前記１又は複数のサーバでログインソルトを生成するステップと、
前記１又は複数のサーバに関連付けられた１又は複数のデータベースに前記ログインソルトを格納するステップと、
前記１又は複数のサーバから前記第１のピアに、少なくとも前記ログインソルトを含むログインデータを送るステップと、
前記１又は複数のサーバで、前記第１のピアからログインキー及びサーバキーを受け取るステップと、
前記１又は複数のサーバに関連付けられた前記１又は複数のデータベースから、格納されている登録キー、前記ログインソルト、受信者コード、及び配布コードを取得するステップと、
前記１又は複数のサーバで比較ログインキーを生成するステップであって、前記比較ログインキーは前記格納されている登録キーと前記ログインソルトに基づいている、ステップと、
前記１又は複数のサーバで、前記比較ログインキーと前記第１のピアから受け取った前記ログインキーとを比較するステップと、
前記１つ又は複数のサーバで、送信者コード及び検証ソルトを生成するステップと、
前記１又は複数のサーバで、少なくとも１つの配布キーを生成するステップであって、前記少なくとも１つの配布キーは、少なくとも前記第１のピアから受け取った前記サーバキー、前記送信者コード、及び前記受信者コードに基づいている、ステップと、
前記１又は複数のサーバで、少なくとも１つの検証キーを生成するステップであって、前記少なくとも１つの検証キーは、前記サーバキー、前記格納されている登録キー、前記送信者コード、前記受信者コード、及び前記検証ソルトのうちの１又は複数に基づいている、ステップと、
前記少なくとも１つの検証キー及び前記検証ソルトをピアリストにて格納するステップと、
前記１又は複数のサーバから少なくとも１つの第２のピアに、前記少なくとも１つの検証キー、前記検証ソルト、及び前記配布コードを送るステップと、
前記１又は複数のサーバで、前記少なくとも１つの第２のピアから前記配布コード及び確認キーを受け取るステップと、
前記少なくとも１つの第２のピアから受け取った前記配布コードを、前記１又は複数のサーバに関連付けられた前記１又は複数のデータベースに格納されている配布コードと比較するステップと、
前記１又は複数のサーバに関連付けられた前記１又は複数のデータベースから、格納されている配布キー及び前記検証ソルトを取得するステップと、
前記格納されている配布キーと前記検証ソルトとに基づいて、第２の検証キーを生成するステップと、
前記少なくとも１つの第２のピアから受け取った前記確認キーを前記第２の検証キーと比較するステップと、
認証結果を生成するステップと、
を含む、方法。
【請求項１２】
前記第１のピアは、
前記１又は複数のサーバから前記ログインデータを受け取り、
２つ以上の選択コードを含むユーザ入力を受け取り、
前記２つ以上の選択コードを選択コードの第１のグループと選択コードの第２のグループとに分割し、
前記選択コードの第１のグループからクライアントキーを生成し、
前記選択コードの第２のグループから前記サーバキーを生成し、
前記クライアントキーから、少なくともクライアントキーの第１の部分及びクライアントキーの第２の部分を生成し、
前記サーバキーから、少なくともサーバキーの第１の部分及びサーバキーの第２部分を生成し、
前記第１のピアのメモリから、格納されているクライアント登録コードを取得し、
前記クライアントキー、前記サーバキー、及び前記クライアント登録コードに基づいて登録キーを生成し、
前記登録キーに基づいて前記ログインキーを生成し、
前記クライアントキーを前記第１のピアのメモリに格納し、
少なくとも前記ログインキー及び前記サーバキーを、前記１又は複数のサーバに送るように構成されている、請求項１１に記載の方法。
【請求項１３】
前記ログインデータが前記ログインソルトと選択オブジェクトのグループとを含んでいる、請求項１１に記載の方法。
【請求項１４】
前記ユーザ入力が、生体情報データ、空間データ、及び時間データのうちの少なくとも１つを含んでいる、請求項１２に記載の方法。
【請求項１５】
前記少なくとも１つの第２のピアは、
前記１又は複数のサーバから、前記配布コード、前記少なくとも１つの検証キー、及び前記検証ソルトを受け取り、
前記１又は複数のサーバから受け取った前記配布コードを、前記少なくとも１つの第２のピアのメモリに格納されている配布コードと比較し、
前記少なくとも１つの第２のピアの前記メモリから、格納されている配布キーを取得し、
前記格納されている配布キーと前記検証ソルトとに基づいて前記確認キーを生成し、
前記配布コード及び前記確認キーを前記１又は複数のサーバに送るように構成されている、請求項１１に記載の方法。
【請求項１６】
ウェブトークンを生成する方法において、
第１の１又は複数のサーバで、ログイン要求と第１の公開キーとを受け取るステップと、
前記ログイン要求に応答して、前記第１の１又は複数のサーバからインターネットアプリケーションに、読取可能なインディシアを送るステップであって、前記読取可能なインディシアは、ランダムキーと前記第１の公開キーとに基づいており、
前記インターネットアプリケーションは、
前記第１の１又は複数のサーバから前記読み取り可能なインディシアを受け取り、
前記読み取り可能なインディシアを第１のデバイスで読み取り可能なように表示するように構成されており、
前記第１のデバイスは、
前記第１のデバイスにてクライアントキーを生成し、
前記クライアントキーを、第１のマスクされたクライアントキー及び第２のマスクされたクライアントキーに変換し、
前記第１のマスクされたクライアントキー及び前記第２のマスクされたクライアントキーを前記第１の１又は複数のサーバに送るように構成されている、
ステップと、
前記第１のマスクされたクライアントキー及び前記第２のマスクされたクライアントキーを前記第１のデバイスから受け取るステップと、
前記第１のマスクされたクライアントキー及び前記第２のマスクされたクライアントキーの少なくとも１つを、前記第１の１又は複数のサーバに関連付けられた１又は複数のデータベースに格納するステップと、
前記第２のマスクされたクライアントキーを前記インターネットアプリケーションに送るステップであって、
前記インターネットアプリケーションは、
前記第１の１又は複数のサーバから前記第２のマスクされたクライアントキーを受け取り、
前記第２のマスクされたクライアントキーを前記クライアントキーに変換し、
前記クライアントキーを第３のマスクされたクライアントキーに変換し、
前記インターネットアプリケーションから前記第１の１又は複数のサーバに前記第３のマスクされたクライアントキーを送るように構成されている、
ステップと、
前記インターネットアプリケーションから前記第３のマスクされたクライアントキーを受け取るステップと、
前記第１の１又は複数のサーバに関連付けられた前記１又は複数のデータベースに格納されている前記第１のマスクされたクライアントキー及び前記第２のマスクされたクライアントキーのうちの少なくとも１つを取得するステップと、
前記第３のマスクされたクライアントキーを、前記第１のマスクされたクライアントキー及び前記第２のマスクされたクライアントキーのうちの少なくとも１つと比較するステップと、
前記第１の１又は複数のサーバで結果を生成するステップと、
前記第１の１又は複数のサーバから１又は複数の第２のサーバに前記結果を送るステップであって、前記１又は複数の第２のサーバは、
前記第１の１又は複数のサーバから前記結果を受け取り、
前記１又は複数の第２のサーバでウェブトークンを生成するように構成されている、
ステップと、
を含む、方法。
【請求項１７】
前記第１のデバイスは、
前記第１のデバイスで、ＩＶの第１の部分とＩＶの第２の部分とを含む初期化ベクトル（ＩＶ）を生成し、
前記第１のデバイスで反復数を生成し、
前記ＩＶの第１の部分からマスクされたＩＶの第１の部分を生成し、
前記ＩＶの第２の部分と前記反復数とを、ユーザが観察できる態様で前記第１のデバイスの表示装置に表示し、
前記マスクされたＩＶの第１の部分を前記第１のデバイスから前記第１の１又は複数のサーバに送るように更に構成されている、請求項１６に記載の方法。
【請求項１８】
前記インターネットアプリケーションは、
前記第１の１又は複数のサーバから前記ウェブトークンを受信し、
前記インターネットアプリケーションから前記１又は複数の第２のサーバに前記ウェブトークンを送るように構成されており、
前記１又は複数の第２のサーバは、
前記インターネットアプリケーションから前記ウェブトークンを受信し、
ウェブセッションを開始するように更に構成されている、請求項１７に記載の方法。
【請求項１９】
１又は複数のサーバを備えるシステムにおいて、
前記１又は複数のサーバは、
サーバ命令を含む少なくとも１つのメモリと、
前記サーバ命令を実行するように構成された少なくとも１つの処理デバイスと、
を備えており、
前記サーバ命令は、前記少なくとも１つの処理デバイスに、
前記１又は複数のサーバで第１のピアからの登録要求を受け取る動作と、
前記登録要求の受取りに応答して、前記１又は複数のサーバから前記第１のピアに、少なくともクライアント登録コードを含む登録データを送る動作と、
前記１又は複数のサーバで登録キー及びサーバキーを受け取る動作であって、前記登録キー及び前記サーバキーは前記第１のピアで生成される、動作と、
前記１又は複数のサーバで、少なくとも１つの送信者コードと、少なくとも１つの受信者コードと、少なくとも１つの配布コードと、ピアリストとを生成する動作であって、前記ピアリストは、前記少なくとも１つの受信者コード及び前記少なくとも１つの配布コードを含んでいる、動作と、
前記少なくとも１つの配布キーを生成する動作であって、前記少なくとも１つの配布キーは、前記少なくとも１つの受信者コードと、前記サーバキーと、前記少なくとも１つの送信者コードとに基づいている、動作と、
前記１又は複数のサーバに関連付けられた１又は複数のデータベースにて、前記登録キーと、前記少なくとも１つの配布キーと、前記ピアリストとを格納する動作と、
前記１又は複数のサーバから、前記少なくとも１つの配布キーと前記少なくとも１つの配布コードとを、前記少なくとも１つの第２のピアに送る動作と、
前記１又は複数のサーバで、前記少なくとも１つの第２のピアから、前記少なくとも１つの配布コードと預託キーとを受け取る動作と、
前記１又は複数のサーバに関連付けられた前記１又は複数のデータベースにて前記ピアリストに、前記少なくとも１つの第２のピアから受け取った前記少なくとも１つの配布コード及び前記預託キーを格納する動作と、
を実行させる、システム。
【請求項２０】
前記サーバ命令は更に、前記少なくとも１つの処理デバイスに、
前記１又は複数のサーバで、前記第１のピアからログイン要求を受け取る動作と、
前記１又は複数のサーバでログインソルトを生成する動作と、
前記１又は複数のサーバに関連付けられた前記１又は複数のデータベースに前記ログインソルトを格納する動作と、
前記１又は複数のサーバから前記第１のピアに、少なくとも前記ログインソルトを含むログインデータを送る動作と、
前記１又は複数のサーバで、前記第１のピアからログインキー及び前記サーバキーを受け取る動作と、
前記１又は複数のサーバに関連付けられた前記１又は複数のデータベースから、格納されている登録キー、前記ログインソルト、前記受信者コード、及び前記配布コードを取得する動作と、
前記１又は複数のサーバで、比較ログインキーを生成する動作であって、前記比較ログインキーは前記格納されている登録キー及び前記ログインソルトに基づいている、動作と、
前記１又は複数のサーバで、前記比較ログインキーと前記第１のピアから受け取った前記ログインキーとを比較する動作と、
前記１又は複数のサーバで、送信者コード及び検証ソルトを生成する動作と、
前記１又は複数のサーバで、少なくとも１つの配布キーを生成する動作であって、前記少なくとも１つの配布キーは、少なくとも前記第１のピアから受け取った前記サーバキーと、前記送信者コードと、前記受信者コードとに基づいている、動作と、
前記１又は複数のサーバで、少なくとも１つの検証キーを生成する動作であって、前記少なくとも１つの検証キーは、前記サーバキー、前記送信者コード、前記受信者コード、及び前記検証ソルトに基づいている、動作と、
前記１又は複数のサーバのピアリストにて、前記少なくとも１つの検証キー及び前記検証ソルトを格納する動作と、
前記１又は複数のサーバから前記少なくとも１つの第２のピアに、前記少なくとも１つの検証キー、前記検証ソルト、及び前記配布コードを送る動作と、
前記１又は複数のサーバで、前記少なくとも１つの第２のピアから前記配布コードと確認キーとを受け取る動作と、
前記少なくとも１つの第２のピアから受け取った前記配布コードを、前記１又は複数のサーバに関連付けられた前記１又は複数のデータベースに格納されている配布コードと比較する動作と、
前記１又は複数のサーバに関連付けられた前記１又は複数のデータベースから、格納されている配布キーと前記検証ソルトとを取得する動作と、
前記格納されている配布キーと前記検証ソルトに基づいて、第２の検証キーを生成する動作と、
前記少なくとも１つの第２のピアから受け取った前記確認キーを前記第２の検証キーと比較する動作と、
認証結果を生成する動作と、
を実行させる、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概して、ネットワーク又はシステムの認証（authentication）の分野に関しており、より具体的には、ネットワークのユーザとネットワーク又はシステムを介してユーザとの間でやり取りされるデータの認証に関する。
【背景技術】
【０００２】
全ての組織では、起こり得るセキュリティ侵害からデータを保護することが課題となっている。データセキュリティがあってこそ、組織は、許可された者のみが複数のテクノロジーにわたっている組織のシステムにアクセス許可されることを確保できる。故に、データセキュリティと許可されたシステムへのアクセスとは、今日、組織が取り組まなければならない２つの大きな課題となっている。
【０００３】
現在、システムとネットワークのユーザに関する様々な種類の認証をもたらす多数のシステム及び方法が存在している。これらの様々な種類の認証は、セキュリティと信頼性のレベルで異なっている。以下に、システム及びネットワークのための先行技術の認証方法の種類を例示する。
【０００４】
２００５年１１月８日にＩＧＴに付与された米国特許第６，９６２，５３０号は、ゲーム専用プラットフォームのためのアーキテクチャ及び方法を開示しており、当該アーキテクチャ及び方法は、ゲームコードやその他のデータを安全に格納及び検証することを特徴とする。この方法は更に、コンピュータ化された賭博ゲームシステムとの間でデータを安全に交換する能力をユーザにもたらす。この発明は、複数のデバイスの間においてログイン情報を広めることを含んでいない。
【０００５】
２０１５年６月９日にＮＥＣソリューションイノベータ株式会社に付与された米国特許第９，０５３，３０６号は、ユーザが入力したログイン情報から第１のハッシュ値及び第２のハッシュ値を計算するように動作する認証システムを開示している。第１のハッシュ値と第２のハッシュ値とが一致する場合に、サーバと端末との間でセッションが確立される。この発明は、暗号化された詳細の一部を隠しておくことを含んでいない。
【０００６】
２０１５年３月２４日にマイクロソフト社に付与された米国特許第８，９８９，７０６号は、デバイスのための自動化された安全なペアリングに関するシステム、方法及び／又は技術を開示しており、デバイスを使用したコンテンツの並列ダウンロードに関連している。デバイスをペアリングするためのツールは、アドレスに基づく認証プロトコルと、キーに基づく認証プロトコルとを実行し得る。この発明は、暗号化された詳細の一部を隠しておくことを含んでいない。
【０００７】
２０１３年１月１５日にＫｏｎｉｎｋｌｉｊｋｅ Ｐｈｉｌｉｐｓ Ｅｌｅｃｔｒｏｎｉｃｓ Ｎ．Ｖ．に付与された米国特許第８，３５６，１８０号は、深い共通セキュリティドメインでのセキュア通信に関した多次元識別、認証、承認、及びキー配布のための方法を開示している。本発明は、ユーザがシステムにユーザのキーを明かすことなくして、トランザクションを認証することはできない。
【０００８】
２０００年８月２５日にＵｎｉｔｅｄ Ｄｅｖｉｃｅｓ，Ｉｎｃ．に発行された米国特許第６，８４７，９９５号は、分散処理システム内で安全な転送をもたらすためのセキュリティアーキテクチャ及び方法を開示している。この発明は、多層暗号化を含んでおらず、又は、暗号化された詳細の一部を隠しておくことを含んでいない。
【０００９】
Ｙａｒｏｎ Ｇｖｉｌが２０１６年１１月２３日に出願した米国特許出願公開第２０１７／０１４９７９６号は、第三者の検証器が安全なデータの特徴を検証できるようにするためのシステム及び技術、又はその成功した通信を開示している。この発明は、多層暗号化を含んでおらず、又は、暗号化された詳細の一部を隠しておくことを含んでいない。
【００１０】
２０１１年６月６日に寺西勇によって出願された米国特許出願公開第２０１１／０２４６７７９号は、離散対数ゼロ知識証明を可能にするゼロ知識証明システムを開示している。この発明は、多層暗号化を含んでおらず、又は、暗号化された詳細の一部を隠しておくことを含んでいない。
【００１１】
先行技術の暗号化方法及びシステムは、ユーザとシステム又はネットワークとの間のデータ及び情報の転送における第三者の介入に対して特に脆弱である。第三者は、転送中のデータにアクセスできる場合にはその情報からログイン詳細を推定できる。ユーザとシステムの間で転送されたデータからログイン詳細の全てが利用可能であるならば、第三者はユーザのログイン詳細を使用してシステムにログインすることができる。これは、既知の認証方法やシステムが利用されている場合には、現在のシステムのセキュリティ上の危険を生じる。
【００１２】
必要とされているものは、送られたデータに第三者が干渉することで、ユーザのログイン情報が取得されないようにする認証方法及びシステムである。
【発明の概要】
【００１３】
ある態様では、本開示は、ユーザ、データ、ドキュメント、デバイス、及びトランザクションを認証することができる認証方法及びシステムに関する。本発明の実施形態は、任意のシステム又はネットワークで動作可能であって、プラットフォームに依存しない。本発明の認証方法及びシステムは、複数のデバイス間でログイン関連情報の固有部分を安全に生成して、分散させることが可能である。このようにして生成されたログイン関連情報は、システムに公開されることなく、ユーザ、データ、ドキュメント、デバイス、トランザクションなどを認証するために利用される。このシステムは、作成時、送信時、保存時、及び認証時にログイン関連情報を保護する。別の態様では、本開示は、システムにキーを明らかにすることなく認証することに関連している。
【００１４】
別の態様では、本開示は、ユーザ認証のためのシステム及び方法に関しており、セキュア部分を含むクライアントシステムと、ユーザがクライアントシステムにアクセスして、ログイン情報の一部を保存できるように動作するユーザシステムと、クライアントシステム及びユーザシステムに対して情報を送受信するために動作する検証システムと、複数の同期要素を含む同期システムと、を備えており、ユーザのログイン関連情報の固有部分は、検証システムで双方向に送られ、そして、格納され、アクセスされ、使用される。
【００１５】
更に別の態様では、本開示は、クライアントシステムとのユーザ対話（user interaction）を認証するためのシステム及び方法に関連しており、当該システム及び方法は、ユーザデバイス、クライアントシステム、クライアント表示ユニット、及びクライアント検証システムを備えており、ユーザデバイス、クライアントシステム、クライアント表示ユニット、及びクライアント検証システムは、ユーザがシステムにユーザキーを明らかにすることなく、クライアントシステムとのユーザ対話を認証するように動作する。
【００１６】
この点に関して、本発明の少なくとも１つの実施形態を詳細に説明する前に、本発明は、以下の説明に記載された、又は図面に示された構造の詳細と構成要素の配置とに限定されるものではないことは理解されるべきである。本発明は、他の実施形態が可能であって、様々な方法で実施できる。また、本明細書で採用されている表現及び用語は、説明の目的のためのものであって、限定的なものとみなされるべきではないことも理解されるべきである。
【図面の簡単な説明】
【００１７】
以下の詳細な説明を検討すると、本発明がより良く理解され、本発明の目的が明らかになるであろう。その詳細な説明は、添付の図面を参照している。
【００１８】
【図１】図１は、本発明の認証システムの一実施形態を示すシステム図である。
【図２】図２は、本発明の実施形態のクライアントシステムと検証システムとの間でデータの転送を行うように動作する要素の構成を示すシステム図である。
【図３】図３は、本発明の実施形態の登録処理を行うため動作する要素の構成を示すシステム図である。
【図４】図４は、本発明の実施形態のアクセスプロセスを実行するように動作する要素の構成を示すシステム図である。
【図５】図５は、本発明の実施形態に従って、ハッシュ化されたＯＹパケット部分を処理するために動作する同期要素を示すシステム図である。
【図６】図６は、本発明の一実施形態による復号プロセスを実行するために動作する要素の構成を示すシステム図である。
【図７】図７は、本発明の一実施形態のユーザデバイスの要素を示すシステム図である。
【図８】図８は、本発明の一実施形態のクライアントシステムの要素を示すシステム図である。
【図９】図９は、本発明の一実施形態のクライアント表示ユニットの要素を示すシステム図である。
【図１０】図１０は、本発明の一実施形態の検証システムの要素を示すシステム図である。
【図１１】図１１は、本発明の一実施形態に従って、クライアントシステムのセキュア部分にアクセスするためのユーザ認証要求の処理を行うために動作する要素の構成を示すシステム図である。
【図１２】図１２は、本発明の一実施形態に従ってユーザの認証のためのノイズ及びキーの生成及び処理を行うために動作する要素の構成を示すシステム図である。
【図１３】図１３は、本発明の実施形態に従ってユーザ認証のためのキーの検証を行うために動作する要素の構成を示すシステム図である。
【図１４】図１４は、本発明の一実施形態に従ってユーザの認証のためのトークンの検証を行うために動作する要素の構成を示すシステム図である。
【図１５】図１５は、本発明の一実施形態に従って、ユーザの認証のためのクライアント表示システムを介したチャレンジの検証を行うために動作する要素の構成を示すシステム図である。
【図１６】図１６は、本発明の一実施形態に従って、ユーザ認証のためのユーザデバイスを介したチャレンジの検証を行うために動作する要素の構成を示すシステム図である。
【図１７】図１７は、本発明の一実施形態に従った登録方法を示す。
【図１８】図１８は、本発明の一実施形態に従った１又は複数のキーを作成する方法を示す。
【図１９】図１９は、本発明の一実施形態に従った１又は複数のキーを配布する方法を示す。
【図２０】図２０は、本発明の一実施形態に従ったログイン方法を示す。
【図２１】図２１は、本発明の一実施形態に従った１又は複数のキーを作成する方法を示す。
【図２２】図２２は、本発明の一実施形態に従った１又は複数の検証キーを配布する方法を示す。
【図２３】図２３は、本発明の一実施形態に従ったローカルデータベースで検証キーを検証する方法を示す。
【図２４】図２４は、本発明の一実施形態に従った検証プロセスを有効にする方法を示す。
【図２５】図２５は、本発明の一実施形態に従った１又は複数のバーコードを生成する方法を示す。
【図２６】図２６は、本発明の一実施形態に従った１又は複数のキーを生成する方法を示す。
【図２７】図２７は、本発明の一実施形態に従った１又は複数のキーを生成する方法を示す。
【図２８】図２８は、本発明の一実施形態に従った１又は複数のキーを生成する方法を示す。
【図２９】図２９は、本発明の一実施形態に従ったウェブセッションを確立する方法を示す。
【００１９】
図面では、本発明の実施形態が例示的に図示されている。本明細書及び図面は、例示の目的のみのための、そして、理解の助けとしてのものであり、本発明の範囲の定義として意図されたものではないことは明らかに理解される。
【発明を実施するための形態】
【００２０】
本発明は、ユーザ、データ、ドキュメント、デバイス、及びトランザクションを認証するために動作する認証方法及びシステムである。本発明の実施形態は、任意の組織又は個人における任意のシステム又はネットワークで動作可能である。認証方法及びシステムは、複数のデバイスの間でログイン関連情報の固有部分を配布するために動作可能である。ログイン関連情報の配布された部分は、ログイン関連情報をシステムに明らかにすることなく、ユーザ、データ、ドキュメント、デバイス、及びトランザクションを認証するためにシステムによって利用される。ログイン関連情報は、多層暗号化及び／又はハッシュ化され、暗号化及び／又はハッシュ化された詳細情報の一部は隠される。ログイン関連情報が格納されている装置は全て、認証方法及びシステムにおいて利用される。ユーザに提供されたログイン関連情報は、システム又はどのユーザデバイスにも明らかにされず、及び／又はそれらに格納される。データ、ドキュメント、デバイス、トランザクションの認証は、システムに公開されるキーを必要としない。
【００２１】
本明細書では、「クライアントシステム」とは、組織又は個人のネットワーク又はシステムの何れかを意味する。本明細書では、「ユーザデバイス」とは、ユーザがクライアントシステムにログインするために使用するデバイスを意味し、例えば、ラップトップ、タブレット、携帯電話、スマートフォン、デスクトップコンピュータ、スマートウォッチ、コンピューティングデバイスであって、それによって、ユーザは、クライアントシステム又は安全なログインを必要とする他のデバイスにログインすることができる。ユーザとクライアントシステムの間での「情報の転送」に関する言及は、システムに関連して起こる情報の作成、転送、又は保存を含み得る。
【００２２】
明確にするために、認証システムの他のユニット又は要素に「アクセス」する認証システムのユニット又は要素に言及する場合、これは以下の何れかを含み得る。（ｉ）ユニット又は要素が他のユニット又は要素にアクセスして、そこから情報を取得すること、又は、（ｉｉ）ユニット又は要素が他のユニット又は要素に、取得又は生成される情報の要求を送り、その情報が要求に応答して取得又は生成されると、その情報が、要求を送ったユニット又は要素に送られること。
【００２３】
ユーザがユーザデバイスを使用してクライアントシステムにログインする場合、ユーザデバイスとクライアントシステムの間でのログイン関連情報の生成、転送、格納、又は認証は、第三者による攻撃に対して脆弱であり得る。ユーザデバイス又はクライアントシステムに対する第三者の攻撃の結果、ユーザデバイスとクライアントシステムの間でのログイン関連情報の生成、転送、格納、及び／又は認証の間に、第三者がそのような情報を取得し、及び／又は不正な目的のために使用する可能性がある。例えば、第三者は、取得したログイン情報を使用してクライアントシステムにログインし、それによってクライアントシステムへの不正アクセスを達成したり、クライアントシステムからより多くのログイン関連情報を取得することやその他の方法によって、クライアントシステムに接続されているシステムへと横方向に移動する可能性がある。別の例としては、第三者は、攻撃によって得られたデータ、ドキュメント、又は取引情報を様々な不正な目的（例えば、他の当事者への情報の流布、市場での優位性を得るための情報の使用、身代金のための情報人質の保持、スパイ行為、破壊など）に利用し得る。本発明は、クライアントシステムに対する、並びに、ライアントシステムとユーザデバイスの間で生成、転送、及び／又は格納されるデータ、ドキュメント、又は取引情報の不正使用に対するクライアントシステムの脆弱性を減少させる。
【００２４】
本発明の方法は、ユーザが、ユーザデバイスを利用して組織又は個人のクライアントシステムにログインすることを含む。ログイン関連情報は、単一若しくは多層のハッシュ化及び／又は暗号化プロセスを介してハッシュ化及び／又は暗号化される。特に、暗号化及び／又はハッシュ化されたキーの少なくとも一部が生成されて、ユーザのデバイスに格納されてよい。ログイン関連情報の他の固有部分は、環境内の他のデバイスに格納される。複数のデバイスの間でログイン関連情報の固有部分が配布されることは、クライアントシステムとユーザデバイスの間で転送される情報にアクセスする第三者が、クライアントシステムへのログインを成功させるために必要な情報の一部又は全部を取得することができないことを意味する。
【００２５】
更に、現行システムの一態様では、データ、ドキュメント、デバイス、トランザクション、及び／又はユーザを認証するために、ユーザデバイスは、有効なキーを持っていること、及び／又はデバイスが既に認証されていることをクライアントシステムに対して証明する必要がある。これは、本発明では、ユーザデバイスがクライアントシステムにキー又はキーを明らかにすることなく達成される。故に、データ、ドキュメント、デバイス、トランザクション、及びユーザの認証は、ユーザがそのキーをクライアントシステムに明らかにすることなく起こる。
【００２６】
ログイン関連情報は固有に作成され、且つ、格納及び/又は送られない。これは、ユーザデバイス支援マルチポイント認証と共に、第三者によるクライアントシステムへの不正アクセスを防ぐ。
【００２７】
先行技術の認証システムの大半は、ユーザデバイスとクライアントシステムの間でのログイン関連情報の作成、格納、転送、及びシングルポイント認証を伴うため、先行技術のシステムは、ログイン関連情報が第三者によって危殆化されることに対して脆弱である。ログイン関連情報が第三者によって入手されてしまうと、その情報は、システムネットワークへのシングル認証ポイントにて認証なしでログインすることに使用され、或いは、データ、ドキュメント、又はトランザクション情報の不正使用に使用される可能性がある。本発明は、クライアントシステムへの、又は、データ、ドキュメント又は取引情報への不正アクセスを可能にするであろう第三者の情報へのアクセスに対して脆弱でないという点で、先行技術のシステムに勝る利点をもたらす。本発明の認証システムは、作成、格納、転送、及び認証ポイントで危殆化される可能性がある先行技術の認証の問題を解決する。
【００２８】
先行技術のシステムに対する本発明の更なる利点の例としては、先行技術のシステムは一般に、任意のタイプのクライアントシステム、又は任意のタイプのユーザデバイスを用いて操作できないということがある。本発明は、任意のプラットフォーム、ソリューション、又は環境にわたって組織のデータにアクセスするために必要とされる安全なアクセスをユーザに提供するセキュア認証システムを組織にもたらす。本発明は、任意のタイプのクライアントシステムで、そして任意のプラットフォーム上の任意のタイプのユーザデバイスで使用するために、任意の組織によって実施可能である。
【００２９】
先行技術に対する本発明の利点の更なる例は、本発明が、環境内のデバイスのハイブ（hive）認証を行うために動作することである。例えば、ジオ‐テンポラル（geo-temporal）ゾーンにわたる複数のモバイルデバイス及び／又はストレージデバイスを、ハイブ認証の過程で承認することができる。先行技術のシステムは、ジオ‐テンポラルゾーンにわたってハイブ承認を行う動作をすることができない。
【００３０】
本発明の一実施形態は、セキュア部分を有するクライアントシステムへのユーザログインを目的として、又は、ユーザがそのようなシステムのセキュア部分にアクセスすることを目的として、ユーザを認証するために動作する複数の構成要素を含んでよい。例えば、本発明の一実施形態は、以下の３つの主要構成要素を含んでよい：（１）同期多面認証（Synchronized Multi-Faceted Authentication）（ＳＭＦＡ）；（２）対話型半自動認証（Interactive Semi-Manual Authentication）（ＩＳＭＡ）；及び（３）トランザクション認証。本発明のそのような実施形態の例をもたらすために、本発明の実施形態のこれらの３つの構成要素は全て、以下に説明される。当業者が読めば、以下に説明する３つの構成要素のうちの１つ又は２つのみを含む構成、或いは、他の構成要素を組み込む構成のような本発明の他の構成が可能であることを認識するであろう。
【００３１】
＜同期多面認証（Synchronized Multi-Faceted Authentication）（ＳＭＦＡ）＞
本発明の認証方法及びシステムにおけるユーザのための認証プロセスが動作して、ランダムなマルチユニットのログイン関連情報の暗号化又はハッシュ化された部分が、デバイス（例えば、ユーザデバイス及び／又はシステムデバイス並びに記憶ユニット）の間で配布されて、それらデバイスの全て或いは１又は複数がユーザを認証するために利用される。
【００３２】
従って、第三者による不正アクセスのように、ログインデータが作成、転送、格納、又は認証の際に危殆化される場合、未知のユーザの時間依存（time-sensitive）ランダムログイン関連情報の暗号化又はハッシュ化された一部のみが取得され、このデータはユーザを認証するためには使用できない。
【００３３】
より具体的には、本発明は、クライアントシステムにログインするためにチャレンジを行うことをユーザに要求するために動作可能であって、チャレンジは、例えば、ピン及び／又はパターンの静的チャレンジ、アニメーション及び／又は非アニメーションのチャレンジ、グラフィカル及び／又は非グラフィカルなチャレンジ、二次元及び／又は三次元のチャレンジ、動的及び／又は静的なゲーム化チャレンジ、及び／又は非ゲーム化インターフェースのチャレンジなどのチャレンジを行うことをユーザに要求するために動作可能である。システムは、一連のユニットを選択して、それらを使いてチャレンジを生成してよい。各ユニットにはランダムに複数の数字が割り当てられており、それらはログインイベントごとに変更されてよい。ユーザは、同一の認証イベント及び以降の任意の認証イベントにおいて、複数のチャレンジを選択してよい。
【００３４】
チャレンジ中に選択された一連のユニットは、認証システムによって複数の固有システム部分に分割される。各ユニット部分におけるユニットは、個別にハッシュ化又は暗号化されてユニット結果を生成してよく、その後、各システム部分のユニットは、集合的にハッシュ化及び／又は暗号化されて、システム部分の結果が生成される。システム部分内の各ユニットに適用されるハッシュ化及び／又は暗号化の数と、各システム部分に適用されるハッシュ化及び／又は暗号化の数は、変化してよい。
【００３５】
ハッシュ化及び／又は暗号化された結果の一部は、クライアント又は他のシステムの分散アーキテクチャの様々なデバイスに格納され、一部はユーザのデバイスに格納される。例えば、ハッシュ化及び／又は暗号化された結果の一部は、複数のユーザデバイス及びシステムデバイスに格納されてよい。
【００３６】
ハッシュ化及び/又は暗号化された部分データを含むクライアントシステムデバイスの全てとユーザデバイスとは、それら自身を認可しなければならない。デバイスが一旦認証されると、その後、それらのデバイスはユーザを共同認証してもよい。
【００３７】
本発明の認証システムは、プラットフォームに依存しないため、どのようなクライアントシステムで使用できる。
【００３８】
＜対話型半自動認証（Interactive Semi-Manual Authentication）（ＩＳＭＡ）＞
本発明のユーザのための認証プロセスは、多層暗号化及び／又はハッシュ関数を使用して、ログイン情報が暗号化及び／又はハッシュ化されるように動作する。ランダム暗号化及び／又はハッシュ化の詳細の部分は、隠されて手動送信され、クライアントシステム又はユーザデバイス内に格納されず、これによって、送信、格納、又は認証の間に危殆化する可能性が減少する。
【００３９】
本発明のシステムは、キー（即ち、キー＃１）をモバイルデバイスに提供する。本発明の全てのキーは、多層暗号化及び／又はハッシュ関数を使用して暗号化及び／又はハッシュ化される。
【００４０】
暗号化されたキーは、本発明の認証プロセスで使用するために必要とされ、従って、ユーザは最初に、本明細書に記載のＳＭＦＡプロセスを用いて認証を行い、そして、それによってキーを検証して、ユーザのデバイスを認証しなければならない。
【００４１】
システムは、ランダム暗号化キーに基づいてチャレンジを生成し、当該キーは、ログインイベントごとに変更される。認証されたユーザは、認証されたデバイスを使用してチャレンジをスキャンする。このプロセスの最後に、ランダム暗号化されたキーの一部又は全部がユーザデバイスに送られる。
【００４２】
本発明の幾つかの実施形態では、暗号化されたランダムキーの別のセットが存在してよく、当該セットは、ユーザデバイスによって生成されて、ログインイベントごとに変化してもよい。複数のキーが結合されて、暗号化された共有秘密キーが形成され得る。暗号化された共有秘密キーの一部又は全体は、ユーザの認証を要求している組織のクライアントシステムに送られる。
【００４３】
暗号化の複数の層は、ユーザデバイスによって生成されてよい。そのような暗号化は、要素に個別に又は纏めて適用されてよい。例えば、ソルト及びｉｖと共にランダムな３桁以上の数字（各ログインイベントの間に変化してよい）がユーザデバイスによって生成されてよく、又は他のタイプの暗号化及び／又はハッシュ化が適用されてよい。暗号化の別の層は、先行する暗号化にまとめて追加されてもよい。
【００４４】
複数のランダムキャラクタは、複数の層の暗号化の結果として生じるパッケージから削除される。例えば、６つのランダムキャラクタがパッケージから削除されてよい。複数のランダムな数字及びキャラクタがユーザに提供され、暗号化された詳細は、ユーザデバイスの認証を要求しているクライアントシステムに送られる。
【００４５】
ユーザデバイスの認証を要求するクライアントシステムは、ユーザデバイスに与えられた情報の提供をユーザに要求する。ユーザがそのような情報を提供した場合にのみ、クライアントシステムはユーザを認証できるようになる。このプロセスにより、第三者がユーザのログイン情報を傍受したり、推測したり、知ったりする可能性を減らすことができる。
【００４６】
ユーザが認証されると、セッションが、時間ジオベースアクセスコードによって認証される。例えば、ジオベースアクセスコードは、トークン又は他の任意のタイプのジオベースアクセスコードであってよい。時間が経過した場合、又はジオアスペクト（geo aspect）が無効化された場合、ジオベースアクセスコードは無効化されてよい。例えば、ジオアスペクトは、ユーザがジオベースアクセスコードに関連するジオロケーション内に位置していない場合に無効化されてよい。
【００４７】
＜トランザクション認証＞
本発明の認証システムのユーザ認証処理は、ユーザがクライアントシステムに自分のキーを明かすことなくトランザクションが認証されるように動作する。クライアントシステムは、ユーザのキーを、又はユーザのキーの有無を知らない。ユーザデバイスは、システムにキーを公開することなく、有効なキーを有していること、及び、ユーザとデバイスが認証されたこととをシステムに証明する必要がある。これを達成するために、ユーザデバイスは、本明細書に記載されたＳＭＦＡプロセス及び／又は本明細書に記載されたＩＳＭＡプロセスを用いて認証する必要があろう。ユーザデバイスが認証されると、ユーザデバイスは、それが有している又はそれが受け取ったランダム一時キーを使用してよい。
【００４８】
システムはチャレンジを生成する。このチャレンジは、多層暗号化、デジタル署名、及び／又はハッシュ化などの機能を使用して保護されてよい。保護されたパッケージは、認証を要求するユーザデバイスに送られる。ユーザデバイスはパッケージを検証し、ディスプレイに提供された復号キーを使用するか、チャレンジを解決する。
【００４９】
ある実施例では、本発明の一実施形態は、システムが、１又は複数の桁がブランクである複数のランダム桁数英数字コードを生成するように動作してよく、ブランクに記入されるべき対応アルファベット又は数字はまた、ＩＳＭＡプロセスにおけるチャレンジと共にユーザに送られる。例えば、システムは、６桁以上の複数のランダム桁数英数字コードを生成してよく、他の任意の数のランダム桁数アルファコードを生成してよい。
【００５０】
システムは、６桁以上のランダム桁数英数字コードに加えて他の要素を生成し、暗号化する。例えば、システムは、６以上のランダム桁数英数字コードを暗号化してよい。更なる暗号化及びセキュリティ機能（ソルト、ｉｖ、セキュアキーなどを含むがこれらに限定されない）、クライアントシステムによって適用されてもよい。システムは、その後、暗号化の結果にデジタル署名を追加する。この暗号化されて署名されたパッケージは、認証を要求するユーザデバイスに送られる。
【００５１】
ユーザデバイスは、デジタル署名を確認し、そして、提供された復号キーを使用して、対応するアルファベット又は数字と共に６桁以上の英数字コードを再作成する。
【００５２】
ユーザデバイスは、その後、セキュリティ機能と共に、再現された情報を暗号化する。次に、ユーザデバイスは、暗号化の結果にデジタル署名を追加する。この暗号化されて署名されたパッケージは、認証プロセスを行うクライアントシステムに送られる。
【００５３】
クライアントシステムは、ユーザデバイスからのメッセージを受け取り、メッセージを受け取ると、デジタル署名を検証し、メッセージを復号し、送られたメッセージと比較する。比較により、受け取ったメッセージが送ったメッセージと同じであれば、クライアントシステムは、ユーザが必要なキーを持っていることを知っていることになる。ユーザデバイスが認証されると、セッションは、時間ジオベースアクセスコードによって認証されるが、これらのアクセスコードは、本明細書で既に説明したように、時間が経過すると、又は、ジオが無効になると無効になる。
【００５４】
当業者が読めば、本発明の認証のための方法及びシステムは、様々な態様で実施できることを認識するであろう。図１乃至図１７は、本発明の幾つかの実施形態の例を示しており、これらは本明細書で説明される。
【００５５】
図１に示すように、認証システムは、クライアントシステム、ユーザシステム、検証システム、及び複数の記憶ユニットを含む多くの要素を含んでいる。認証システムは、ユーザのログインを証明する、検証するなどの多くの機能を実現するために動作可能である。
【００５６】
ユーザシステム１０２は、クライアントシステム９０２にログインするためにユーザによって使用される。ユーザシステムは、本明細書に記載されているように、ユーザのアイデンティティの検証及び他の行為に関与するために動作可能である。ユーザがクライアントシステムの保護された領域へのアクセスを得るためには、ユーザのアイデンティティがクライアントシステムによって検証されなければならない。検証システム２０２は、クライアントシステムに対するユーザのアイデンティティの検証に従事するように動作可能である。
【００５７】
ユーザが、ユーザデバイス９０を介して、クライアントシステムのセキュア領域にアクセスすることを希望する場合、ユーザは最初に、クライアントシステムに対してユーザのアイデンティティを証明する必要がある。クライアントシステムがユーザのアイデンティティの証明を受け取ると、システムは、その後、ユーザがクライアントシステムの保護コンテンツにアクセスすることを許可することができる。
【００５８】
ユーザは、自分のアイデンティティを証明し、クライアントシステムのセキュア領域へのアクセスを得るためにユーザシステムを使用する。検証システム２０２は、ユーザのアイデンティティの信憑性を検証するために動作可能である。同期システム３００は、１又は複数の同期要素３０２Ａ・・・３０２Ｎの集合であり、ユーザのアイデンティティの信憑性を承認するために同期的に機能するように動作する。
【００５９】
ユーザシステムは、複数の要素を含んでよい。本発明の一実施形態では、ユーザシステムは、証明ユニット１０４、表示ユニット１０６、処理ユニット１０８、承認ユニット１１２、記憶ユニット１１０、及び通信ユニット１１４を含んでよい。証明ユニットは、ユーザシステム１０２の初期アイデンティティを検証システムに証明するために動作可能である。表示ユニットは、例えば、クライアントシステム、検証システム、又は本発明の他のシステム若しくは要素からユーザシステムに転送されたチャレンジ又は他の情報などの情報をユーザに表示するために動作可能である。表示ユニットは更に、クライアントシステムによって生成された情報をユーザに表示するために動作可能である。表示ユニットはまた、入力デバイスに接続されてよく、或いは、タッチスクリーン又は他の入力操作性を有してよく、それによって、ユーザが情報を入力できる。ユーザが入力した情報は、表示ユニットに表示されてよく、さもなければ、ユーザシステムによって収集されて格納されてよく、クライアントシステム又は認証システムの別のシステム若しくは要素に転送されてよく、或いは。ユーザシステムで処理されてよい。処理ユニット１０８は、システム内の処理能力の全てを担う。承認ユニット１１２は、チャレンジと応答にアクセスして結果を提供することを担い、記憶ユニットは、一時的データと恒常的データの両方を記憶することを担う。通信ユニット１１４は、全ての外部通信を担う。
【００６０】
検証システム２０２は、複数の要素を含んでよい。本発明の一実施形態では、検証システムは、マスカ（masker）ユニット２０４、Ｎ‐パケット生成器２０６、レポート生成器２０８、処理ユニット２１０、承認ユニット２１２、１又は複数の記憶ユニット２１４Ａ・・・２１４Ｎ、及び通信ユニット２１６を含んでよい。マスカユニットは、クライアントシステム及びユーザシステムのために１又は複数の固有の非特定（non-identifying）識別子を生成するために動作する。処理ユニット２１０は、認証システムが要求するような情報やデータを処理するために動作する。承認ユニット２１２は、システム内部で受け取った応答にアクセスして、処理ユニットに送られる、又は通信ユニットを介してシステムの外部にある受信機に送られる結果を提供するために動作する。１又は複数の記憶ユニットは、一時的データと恒常的データの両方を記憶するために動作する。Ｎ‐パケット生成器２０６は、認証情報のパケットを生成するために動作する。通信ユニット２１６は、認証システムの外部にある全ての要素（即ち、クライアントシステム、ユーザシステムなど）との全ての通信を受信して転送するために動作する。
【００６１】
当業者が読むと、本発明の実施形態では、図１の検証システムの要素として記載されているユニットの一部又は全てが、クライアントシステムのような認証システムのその他のシステム又は要素内に含まれてよいことを認識するであろう。本発明の幾つかの実施形態では、図１の検証システムの要素として記載されているユニットの一部又は全ては、スタンドアロンの要素であってよく、認証システムの如何なるシステムにも含まれていないが、概ね認証システムに含まれていてよい。
【００６２】
同期システム３００は、１又は複数の同期要素３０２Ａ・・・３０２Ｎを含んでよく、各同期要素は、複数のユニットを含んでよい。本発明の一実施形態では、少なくとも２つの同期要素は、証明ユニット３０４Ａ・・・３０４Ｎ、記憶ユニット３０８Ａ・・・３０８Ｎ、処理ユニット３０６Ａ・・・３０６Ｎ、承認ユニット３１２Ａ・・・３１２Ｎ、及び通信ユニット３１０Ａ・・・３１０Ｎを含んでよい。証明ユニット３０４Ａは、同期システム３００の初期アイデンティティを検証システム２０２に証明するために動作する。
【００６３】
ユーザシステム、検証システム、及び同期要素の間の通信は、そのようなシステム及び／又は要素の通信ユニットによって受信され、且つ、そのようなシステム及び／又は要素から転送される。システム及び／又は要素間のそのような通信の全ては、１又は複数のマスキング機能の使用によって保護されてよく、１又は複数のマスキング機能は、ハッシュ化及び／又は暗号化を含んでよい。
【００６４】
図２に示すように、データは、クライアントシステム９０２と検証システムのマスカユニット２０４との間で、検証システムの通信ユニット２１６を介して転送されてよい。クライアントシステムと検証システムの間における、クライアントシステムを使用したい新規ユーザのセットアップに関連する最初の通信中に、クライアントシステムは、検証システムのマスカユニットと通信して、クライアントシステムとの保護された接続を確立するために新規ユーザに求められる資格情報を要求してよい。マスカユニットは、固有の保護された資格情報を生成し、クライアントシステムは当該資格情報を使用して、クライアントシステムと検証システムとの間のリンクを確立する。これらの固有の資格情報は、例えば、クライアントＩＤ、又は他の形態の資格情報を含んでよい。
【００６５】
クライアントシステムと検証システムの間で信頼された接続が確立されると、マスカユニットは、演算、アルゴリズム、又は別のタイプのプロセスを実行して、ユーザには秘密である固有の非特定識別子を生成する。固有の非特定識別子は、検証システムに含まれる記憶ユニット２１４Ａ（又は記憶ユニット２１４Ａ・・・２１４Ｎの何れか）の１つに格納されてよい。
【００６６】
マスカユニットは、ハッシュ化、暗号化、又は何らかの他のマスキング機能を使用して、非特定識別子をセキュアにしてよい。また、クライアントシステムは、利用可能な全ての同期要素のリストを検証システムに提供してよい。本発明の実施形態では、同期要素の１又複数は、検証システムの記憶ユニット２１４Ａ・・・２１４Ｎの１又複数に格納されてよい。
【００６７】
図３に示すように、本発明の登録プロセスは、ユーザがクライアントシステムに登録するために、ユーザと認証システムの初期対話中に必要とされる認証システムの要素の動作を含んでよい。クライアントシステム、ユーザシステムの要素、検証システムの要素、及び同期システムの要素間の全ての通信は、図３に示すように、ユーザシステム、検証システム、及び同期システムの通信ユニットを介して行われる。ユーザは、クライアントシステムのセキュア部分へのアクセスを許可されるためには、クライアントシステムに登録しなければならない。初期登録中、証明ユニット１０４は、証明情報を取得するためにクライアントシステムの１又は複数の記憶ユニット１１０にアクセスする。証明情報は、マスカユニットによって生成された非特定識別子、マスカユニットによって生成された秘密、及びユーザデバイスを識別し得る情報、並びに／或いは、固有のアプリケーション番号、又は，例えば生体情報（例えば、ユーザの指紋、ユーザの網膜スキャン、又はユーザの他の生体情報）や使用情報のようなユーザに関連する他の情報を含んでよい。証明ユニットが証明情報の全てを取得すると、証明情報は、ユーザシステムの１又は複数の記憶ユニットに記憶されてよい。
【００６８】
証明ユニット１０４が取得した証明情報は、ユーザシステムの通信ユニット１１４を介して、検証システムの処理ユニット２１０に安全に送られる。処理ユニット２１０は、検証システムの通信ユニット２１６を介して、検証システムの１又は複数の記憶ユニット２１４Ａ・・・２１４Ｎから、ユーザの情報を取得する。処理ユニット２１０は、クライアントシステムから受け取った情報と、検証システムの１又は複数の記憶ユニットから取得した情報とを組み合わせて、情報のパッケージを作成する。処理ユニットは、そのような情報パッケージを承認ユニット２１２に送る。
【００６９】
承認ユニット２１２は、先にクライアントシステムから受け取っており、検証システムの１又は複数の記憶ユニット２１４Ａ・・・２１４Ｎに格納されている情報と、処理ユニットから受け取った情報パッケージの値を比較する。比較が成功する場合、承認ユニットは、ユーザシステムとの接続を受け入れる。比較が成功しない場合、承認ユニット２１２は、ユーザシステムとの接続を拒否する。承認システムの結果は、Ｎ‐パケット生成器２０６に送られる。
【００７０】
ユーザシステムとの接続が承認されない場合、ユーザを登録することを試みる認証システムの動作は終了する。本発明の一実施形態では、ユーザシステムとの接続が承認されると、Ｎ‐パケット生成器は、ランダムチャレンジを生成する。ランダムチャレンジは、複数のパケット（Ｎ‐パケット）を含んでよい。各Ｎパケットは、複数のランダム数字又は英数字／他のキャラクタ（Ｎ‐ＲＡＮＣ）を含む。
【００７１】
Ｎ‐パケットは、ユーザシステムの表示ユニット１０６に安全に送られる。本発明の実施形態では、これらに限定されないが、Ｎ‐暗号化、ハッシュ化及び／又はデジタル署名を含む多層の保護を適用して、パケット生成器と表示ユニットの間で転送される中のＮ‐パケットに保護が、例えば、転送前にＮ‐ＲＮＡＣ及びＮ‐パケットの両方の多層保護が適用されてよい。本発明の他の実施形態では、Ｎ‐パケットは、Ｎ‐ＲＮＡＣの有無に拘わらず、ユーザシステム又は別のシステムの要素によって生成できるであろう。ユーザは、この要素と対話して、ＯＹパケットを生成する。
【００７２】
表示ユニット１０６は、Ｎ‐パケットを受け取り、Ｎ‐パケットに含まれる情報をユーザに表示する。表示されたＮ‐パケットから、ユーザは、１又は複数のＮ‐パケットを入力し、それにより、選択されたＮ‐パケットに関連するＮ‐ＲＡＮＣを選択する。参照を容易にするために、ユーザによって選択されたＮ‐パケットは、本明細書ではＹ‐パケットとする。ユーザによって選択されたＹ‐パケットの順序は、順序付け（Ordered）Ｙ‐パケット（ＯＹ‐パケット）となるように保持される。ＯＹ‐パケットは、表示ユニット１０６によってユーザシステムの処理ユニット１０８に送られる。ユーザシステムの処理ユニットは、ＯＹ‐パケットを２つ以上の部分に分割する。各部分は、２つ以上のＮ‐パケットを含んでいてよい。
【００７３】
ユーザシステムの処理ユニットは、ＯＹ‐パケットの各部分にマスキング機能を適用することにより、ＯＹ‐パケットの情報をマスキングしてよい。例えば、ユーザシステムの処理ユニットは、ＯＹ‐パケットに含まれるＮ‐ＲＮＡＣの各々、及び／又はＯＹ‐パケットに含まれるＹ‐パケットの各々、及び／又はＯＹ‐パケットの各々のうちの１又は複数にマスキングを適用してよい。１又は複数のマスキングの結果は、ユーザシステムの１又は複数の記憶ユニット１１０に格納されてよい。格納されない結果は、検証システムの処理デバイスに送られる。
【００７４】
Ｎ‐パケット生成器によって生成されたチャレンジは、ユーザシステムの表示ユニットに送られ、複数のＮ‐パケットを含んでおり、各Ｎパケットは、３つ以上のＮ‐ＲＡＮＣを含んでよい。ユーザは、ＯＹ‐パケットを形成する複数のＹ‐パケットを選択してよい。ＯＹパケットは、２つの部分（即ち、ＯＹＡ‐部とＯＹＢ‐部）に分割されてよい。
【００７５】
検証システムの処理ユニットは、ハッシュ化及び／又は暗号化を適用し、そして、検証システムの１又は複数の記憶ユニットに格納されたリストから、同期システムの２つ以上のランダム同期要素を選択してもよい。選択されたランダム同期要素は、同期レジストリを形成する。検証システムの処理ユニットは、個別に又は纏めてＯＹ‐パケット部分に秘密を追加してよく、個別に及び／又は纏めてＯＹ‐パケット部分に多層ハッシュ化及び／又は暗号化機能を実行してよい。次に、ハッシュ化及び／又は暗号化された固有のＯＹ‐パケット部分は、１又は複数の同期要素の間で配布され、ＯＹ‐パケット部分が配布される１又は複数の同期要素の１又は複数の記憶ユニットに格納されてよい。その結果、固有のＯＹ‐パケット部分が様々な同期要素に格納される。配布された情報部分は、同期要素の同期レジストリに格納されてよい。
【００７６】
図４に示すように、認証システムは、ユーザがクライアントシステムのセキュア部分へのアクセスを得るために、アクセスプロセスを実行するように動作してよく、それによって、登録されたユーザは、検証システムの動作を通じて自分自身を認証させることを試みる。ユーザシステムの要素と、検証システムの要素と、同期システムの要素との間での全ての通信は、図４に示すように、ユーザシステムの通信ユニットと、検証システムの通信ユニットと、同期システムの同期要素の通信ユニットとを介して行われる。ユーザシステムの証明ユニット１０４は、ユーザシステムの記憶ユニット１１０の１又は複数にアクセスして証明情報を取得する。証明情報は、非特定識別子及び秘密を含んでよい。
【００７７】
証明ユニットが取得した証明情報の一部又は全部は、検証システムの通信ユニット２１６を介して、ユーザシステムの通信ユニット１１４から検証システムの処理ユニット２１０に安全に送られる。処理ユニット２１０は、検証システムの記憶ユニット２１４Ａ・・・２１４Ｎにおける１又は複数からユーザのための情報を取得する。処理ユニット２１０は、クライアントシステムから受け取った情報と、検証システムの１又は複数の記憶ユニットから取得した情報とを組み合わせて、情報のパッケージを作成する。処理ユニットは、この情報のパッケージを検証システムの承認ユニット２１２に送る。
【００７８】
承認ユニット２１２は、処理ユニット２１０から受け取った情報のパッケージの値を、クライアントシステムから先に受け取っており、検証システムに格納されている情報と比較する。比較が成功した場合（即ち、比較の結果、比較された情報の間での一致が得られた場合）、承認ユニットは、ユーザシステムとの接続を受け入れる。比較が成功しない場合、承認ユニットはユーザシステムとの接続を拒否する。承認システムの結果は、Ｎ‐パケット生成器２０６に送られる。
【００７９】
ユーザシステムとの接続が承認されなかった場合、ユーザを登録することを試みる認証システムの動作は終了する。ユーザシステムとの接続が承認された場合、Ｎ‐パケット生成器は、ランダムチャレンジを生成する。ランダムチャレンジは、２つ以上のパケット（Ｎ‐パケット）を含んでよい。各Ｎ‐パケットは、更に２つ以上のランダムな数又は英数字（Ｎ‐ＲＡＮＣ）を含む。多層ハッシュ化及び／又は暗号化が、表示ユニットに送られるチャレンジに適用されてよい。ハッシュ化及び／又は暗号化は、乱数発生器を用いて適用されてよい。
【００８０】
Ｎ‐パケットは、ユーザシステムの表示ユニット１０６に安全に送られる。本発明の実施形態は、多層ハッシュ化及び／又は暗号化を適用して、Ｎ‐パケット生成器と表示ユニットの間でトランジット中のＮ‐パケットを保護してよい。例えば、多層ハッシュ化及び／又は暗号化は、転送に先立ってＮ‐ＲＮＡＣ及び／又はＮ‐パケットをハッシュ化及び／又は暗号化することを含んでよい。表示ユニット１０６は、Ｎ‐パケットを受け取り、対応情報をユーザに表示する。表示された対応情報から、ユーザは、２つ以上の対応情報を選択し、Ｎ‐パケットを選択すると、Ｎ‐ＲＡＮＣが、選択されたＮ‐ブラケットに関連付けられる。参照を容易にするために、ユーザによって選択されたＮ‐パケットは、ここではＹ‐パケットであって、これらのＹパケットは順序付けられており、ＯＹパケットと称される。
【００８１】
本発明の別の実施形態では、Ｎ‐パケット生成器は、ユーザシステム又は他のシステムに存在してよく、当該システムは、ユーザシステム又は他のシステムからの任意の要素、例えばカメラ、スキャナなどを介してユーザとの対話によってＹパケット及び／又はＯＹパケットを生成してよい。
【００８２】
ＯＹパケットは、表示ユニット１０６によってユーザシステムの処理ユニット１０８に送られる。ユーザシステムの処理ユニットは、ＯＹ‐パケットを複数の部分に分割する。各部分は、複数のＮ‐パケットを含んでいる。
【００８３】
ユーザシステムの処理ユニット１０８は、ユーザシステムの１又は複数の記憶ユニットから以前に格納されたＯＹ‐パケット部分を取り出す。当該記憶ユニットには、そのような以前に格納されたＯＹ‐パケット部分が格納されている。処理ユニットは、以前に格納されたＯＹ‐パケット部分と、より最近に作成されたＯＹ‐パケット部分とを、ユーザシステムの承認ユニット１１０に送る。ユーザシステムの承認ユニットは、ユーザシステムの処理ユニットから受け取った情報を、以前に格納されたＯＹ‐パケット部分と比較して、承認結果又は否認結果の何れかを生成する。ユーザシステムの承認ユニットが生成した結果（承認結果又は否認結果の何れかである）は、ユーザシステムの処理ユニットに転送される。ユーザシステムの承認ユニットからの結果が否認結果の場合は、認証処理が停止される。
【００８４】
ユーザシステムの承認ユニットの結果が承認結果である場合、ユーザシステムの処理ユニットは、新しく生成されたＯＹパケット部分のうちの１又は複数のＯＹパケット部分を、ユーザシステムの１又は複数の記憶ユニットに格納してよく、残りのＯＹパケット部分を検証システムの処理ユニットに送る。検証システムの処理ユニットは、ユーザのために同期システム情報を同期レジストリから取得する。検証システムの処理ユニットは、受け取ったＯＹパケット部分に秘密を追加して、これらのＯＹパケット部分に多層ハッシュ化及び／又は暗号化機能を実行してよい。ハッシュ化及び／又は暗号化後、検証システムの処理ユニットは、ハッシュ化及び／又は暗号化された固有のＯＹパケット部分を、同期システムの同期要素の処理ユニット３０２Ａ・・・３２０Ｎの１又は複数に送ってよい。同期要素の各処理ユニットは、ハッシュ化された及び／又は暗号化された固有のＯＹパケット部分を、検証システムの処理ユニット２１０から受け取る。ハッシュ化された及び／又は暗号化されたＯＹパケット部分を受け取った同期化要素の各処理ユニットは、図５に示すように処理を行ってよい。同期要素の処理ユニット３０６Ａ・・・３０６Ｎは、ハッシュ化及び／又は暗号化を復号して、１又は複数のＮ‐パケット及びＮ‐ＲＡＮＣを決定し、識別してよい。同期要素の処理ユニットは、同じ同期要素の承認ユニット３１２Ａ・・・３１２ＮにＮ‐パケット及びＮ‐ＲＡＮＣを送ってよい。
【００８５】
同期ユニットの証明ユニット３０４Ａ・・・３０４Ｎは、同期要素の記憶ユニット３０８Ａ・・・３０８Ｎから、以前に格納されたハッシュ化及び／又は暗号化ＯＹ‐パケット部分を取り出す。同期ユニットの証明ユニットは、ハッシュ化及び／又は暗号化を復号して、１又は複数のＮ‐パケット及びＮ‐ＲＡＮＣを決定及び識別してよく、当該Ｎ‐パケット及びＮ‐ＲＡＮＣは、同期要素の承認ユニットに送られる。同期要素の承認ユニットは、受け取った最近生成されたＮ‐パケット及びＮ‐ＲＡＮＣを、以前に格納されたものと比較する。この比較に基づいて、パス値又はフェイル値が生成される。生成されたパス値又はフェイル値は、同期要素の証明ユニットに転送される。
【００８６】
同期ユニットの証明ユニットは、同期ユニットの１又は複数の記憶ユニットから証明情報を取得し、前記証明情報と、証明ユニットが受け取ったパス値又はフェイル値との両方をハッシュ化及び／又は暗号化して、検証システムの処理ユニットに送ってよい。
【００８７】
検証システムの処理ユニットは、ハッシュ化及び／又は暗号化された結果及び証明情報を、その情報を生成した同期要素の各々の証明ユニットから受け取る。明確にすると、複数の同期要素は、固有のＯＹ‐パケット部分を受け取ってよく、それら同期要素の各々は、本明細書で説明されている方法に従ってＯＹ‐パケット部分を処理するであろう。ユーザシステムの要素と、検証システムの要素と、クライアントシステムの要素との間の全ての通信は、図６に示すように、ユーザシステム、クライアントシステム、及び検証システムにおける通信ユニットを介して行われる。また、図６に示すように、検証システム２０２の処理ユニット２１０は、各同期要素３０２Ａ・・・３０２Ｎから受け取った証明情報を復号し、復号された情報を検証システムの承認ユニット２１２に送る。検証システムの処理ユニット２１０は、検証システムの１又は複数の記憶ユニット２１４Ａ・・・２１４Ｎから証明情報を取得する。検証システムの処理ユニットは、取得した証明情報を検証システムの承認ユニットに送る。検証システムの承認ユニットは、受け取った情報を用いて同期要素を承認する。
【００８８】
検証システムの処理ユニットは、同期要素から受け取ったパス値及び／又はフェイル値の各々を復号する。復号された値は、検証システムの１又は複数の記憶ユニットに検証結果として保存される。検証結果レポートが、検証システムの処理ユニット又はレポート生成器２０８によって生成されてよく、このレポートは、様々な情報、例えば、要求された総同期要素、受け取ったパス値の数、受け取ったフェイル値の数、同期システムの信頼スコア、及び他の情報を含んでよい。
【００８９】
検証システムの処理ユニットは、検証結果をハッシュ化又は暗号化し、ハッシュ化及び／又は暗号化された検証結果を、検証システムの通信ユニット２１６を介して、ユーザシステム１０２の処理ユニット１０８に送ってよい。ユーザシステムの処理ユニットは、ハッシュ化又は暗号化された検証結果をクライアントシステム９０２に送る。クライアントシステムは、クライアントシステムが受け取る検証結果に基づいて、検証システムの処理ユニット２１０に認証要求を検証システムの通信ユニット２１６を介して送る。検証システムの処理ユニットは、検証システムの１又は複数の記憶ユニットに保存されている検証結果を取得し、取得した検証結果を検証システムの承認ユニットに送る。検証システムの承認ユニットは、取得した検証結果を検討し、これらを承認してクライアントシステムに検証結果を送ってよい。クライアントシステムは、検証報告の結果に基づいてユーザを認証するか否かを決定する。
【００９０】
ユーザが認証されて、クライアントシステムのセキュア部分へのアクセスが許可された後、ユーザは情報（即ち、データ、ドキュメント、取引情報など）にアクセスすること、及び／又はユーザ情報（即ち、テキスト、データなど）をクライアントシステムに提供することができる。ある例では、ユーザは、メッセージを送るために、クレジットカードによる支払いを伴う購入を行うために、電子署名を文書に添付するために、又は他の様々な目的のために、クライアントシステムにアクセスしてよい。ユーザシステムを用いたユーザとクライアントシステムとの対話の過程で、ユーザ情報がクライアントシステムとユーザシステムとの間で送られる。本発明は、このようなユーザ情報及び認証関連情報の作成、転送、格納及び認証の間のセキュリティを保護するために動作する。
【００９１】
このようなセキュリティを達成するために、本発明の実施形態は、ユーザシステム、クライアントシステム、クライアント表示ユニット、及び検証システムを含んでよい。ユーザシステムは、クライアントデバイスに全体として又は部分的に含まれてよく、クライアントデバイスは、ユーザによって、クライアントシステムと通信し、クライアントシステムにアクセスするために利用される。当業者が読めば、本発明の実施形態は、ユーザデバイスとクライアントシステムとの間で転送されるユーザ認証関連情報のセキュリティを達成するものであって、また、他の要素を含んでよいことを認識するであろう。
【００９２】
ユーザは、ユーザデバイスを使用して、クライアントシステムに対してユーザシステムとユーザ資格情報を検証する。ユーザがクライアントシステムのセキュア部分へのアクセスを許可されていることを確認するためには、ユーザ資格情報とユーザシステムは検証される必要がある。ユーザは、ユーザが認証されている場合、クライアントシステムのセキュア部分を介して特定の機能を実行し、又は、特定の情報にアクセスできるだけであろう。例えば、ユーザは、ユーザ及びユーザシステムが認証されている場合には、クライアントシステムを介して特定のトランザクションを承認できるだけであろう。クライアントシステムは、ユーザがアクセスを試みているシステムであり、従って、認証が実行されることを求める。本発明の検証システムは、ユーザ及びユーザシステムのアイデンティティを検証し、本明細書に記載されているように、ユーザ及びユーザシステムを認証されたものとしてクライアントシステムに認識させる。
【００９３】
図７に示すように、ユーザシステム１０１は、クライアントシステムとの間でユーザ情報を転送するために利用されるものであって、複数の要素を含んでいてよい。例えば、本発明の一実施形態は、対話ユニット１０３、ベリファイア（verifier）生成器１０５、ノイズ生成器１０７、処理ユニット１０９、記憶ユニット１１１、及びリーダ（reader）ユニット１１３が組み込まれたユーザシステムを含んでよい。
【００９４】
図８に示すように、本発明の一実施形態のクライアントシステム１３０は、複数の要素を含んでよい。例えば、本発明の一実施形態は、ＣＳＡＰ生成器１３１、記憶ユニット１３３、処理ユニット１３５、チャレンジ生成器１３７、及び承認ユニット１３９が組み込まれたクライアントシステムを含んでよい。
【００９５】
図９に示すように、本発明の一実施形態のクライアント表示ユニット１５０は、複数の要素を含んでよい。例えば、本発明の実施形態は、対話ユニット１５１、処理ユニット１５３、一時記憶ユニット１５５、及びキー生成器１５７が組み込まれたクライアント表示ユニットを含んでよい。
【００９６】
図１０に示すように、本発明の一実施形態の検証システム１４０は、複数の要素を含んでよい。例えば、本発明の実施形態は、ランダムキー生成器１４１、ランダムテキスト生成器１４３、ＵＳＩＤ生成器１４５、及び処理ユニット１４７が組み込まれた検証システムを含んでよい。
【００９７】
ユーザがクライアントシステムのセキュア部分へのログインを希望すると、ユーザは、クライアント表示ユニットとの対話によりその意志を宣言し、クライアント表示ユニットの対話ユニットを使用して要求を入力する。図１１に示すように、対話ユニット１５１は、クライアント表示ユニットの処理ユニット１５３に要求を伝達し、クライアント表示ユニットの処理ユニットは、その後、検証システムの処理ユニット１４７に要求を伝達する。ユーザシステムの処理ユニット１０９は、アルファキー（αｋ）コンボを生成する要求を生成する。アルファキー（αｋ）コンボ（combo）はαｋ１及びαｋ２からなり、検証システムの処理ユニット１４７を介してクライアント表示ユニットのキー生成器１５７に送られる。クライアント表示ユニットのキー生成器１５７は、αｋ１及びαｋ２の両方を検証システムの処理ユニット１４７に送る。
【００９８】
次に、検証システムの処理ユニット１４７は、検証システムのランダムテキスト生成器１４３にランダムテキストを要求し、検証システムのＵＳＩＤ生成器１４５に固有のシステム・イベント識別子（ＵＳＩＤ）を要求する。ランダムテキスト生成器は、ランダムテキストを生成して検証システムの処理ユニット１４７に送る。ＵＳＩＤ生成器は、ＵＳＩＤを生成して検証システムの処理ユニットに送る。ＵＳＩＤ生成器は、ユーザデバイスと、クライアントシステム内のセキュア領域に接続しようとしているイベントとを検証システムに特定するために動作する。ＵＳＩＤは、１又は複数のブラウザ内の各タブに固有のものであってよく、ユーザが使用するために開いているブラウザやタブの数を特定して制御する。
【００９９】
検証システムの処理ユニット１４７は、αｋ２と共に受け取ったＵＳＩＤとランダムテキストを結合してデータ列にして、そのデータ列を機械可読形式に変換し、その後、これをクライアント表示ユニットの処理ユニット１５３に送る。クライアント表示ユニットの対話ユニット１５１は、この情報をユーザシステムのリーダユニット１１３に利用可能にする。
【０１００】
図１２に示すように、図１１のプロセスが完了した後、情報は、リーダユニット１１３を介してユーザシステムに利用可能になっている。リーダユニット１１３は、聴覚、視覚、触覚、プリント、動き、及び他の種類のセンサの何れかを含む１又は複数のセンサを含んでいてよい。それらセンサは、クライアントデバイスに組み込まれてよく、又は、クライアントデバイスの外部に組み込まれて、有線接続又は無線接続の何れかを介して接続されてよい。それらセンサは、ユーザに関連する情報を得るために利用されてもよい。
【０１０１】
リーダユニット１１３は、その後、取得した情報をユーザシステムの処理ユニット１０９に送る。ユーザシステムの処理ユニットは、リーダユニットから受け取った情報を分割してよく、その情報を保持してよい。ユーザシステムの処理ユニット１０９は、ユーザシステムのノイズ生成器１０７にノイズを要求する。ノイズ生成器は、ノイズを発生させて、そのノイズをユーザシステムの処理ユニットに送る。このノイズは、転送中の情報のアイデンティティをマスキングするために使用される。
【０１０２】
ユーザが以前にクライアントシステムで認証されたことがあるならば、ユーザシステムは、ランダムなデルタ１キー（δｋ１）を有し得る。
【０１０３】
ユーザシステムの処理ユニットは、ユーザシステムのベリファイア生成器１０５にαｋ２及びδｋ１を送る。また、処理ユニットは、ユーザシステムのベリファイア生成器に、新しいベータキーを生成するように求める要求を送る。この要求に応答して、ベリファイア生成器は、αｋ２及びδｋ１を用いてβキー１（βｋ１）及びβキー２（βｋ２）を生成する。ベリファイア生成器１０５は、βｋ１及びβｋ２をユーザシステムの処理ユニット１０９に送る。
【０１０４】
ユーザシステムの処理ユニットは更に、ユーザシステムの記憶ユニット１１１にアクセスして、デルタ１キー及び／又はセッションコード及び／又はセッションコードの生成を要求する。記憶ユニット１１１は、ユーザシステムの処理ユニットにデルタ１キーを提供し、又は、セッションコードを生成して、これをユーザシステムの処理ユニットに提供する。例えば、ユーザシステムの処理ユニット１０９は、検証システムのランダムキー生成器１４１がランダムなデルタ１キー及び／又はセッションコードの生成を要求し、これを処理ユニット１０９に提供することを要求してよく、処理ユニット１０９は、提供されるδｋ１又はＳＣのためのハッシュ値を生成してよい。
【０１０５】
ユーザシステムの処理ユニットは、ノイズ発生器、ユーザシステムの記憶ユニット、及びベリファイア生成器の各々から得られた情報を用いて、手動対話コード（ＭＩＣ）を生成してもよい。ユーザシステムの処理ユニットは、ユーザシステムの対話ユニット１０３にＭＩＣを送ってよい。クライアント表示ユニットの対話ユニット１０３は、ユーザにＭＩＣを表示する。
【０１０６】
ＭＩＣが生成される場合、残留データ（「ポスト‐ＭＩＣデータ」）が存在する。ユーザシステムの処理ユニットは、ポスト‐ＭＩＣデータに対して対称暗号化又は非対称暗号化を行ってよい。ユーザシステムの処理ユニットは、ポスト‐ＭＩＣデータとハッシュ値をクライアントシステムの処理ユニット１３５に送ってよい。
【０１０７】
図１３に示すように、ＭＩＣ、ポストＭＩＣデータ及びハッシュ値がユーザシステムによって生成されると、クライアントシステムの処理ユニット１３５は、ポストＭＩＣデータ及びハッシュ値を受け取る。クライアントシステムの処理ユニット１３５は、ハッシュ値を送り、そのハッシュ値はクライアントシステムの記憶ユニット１３３に一時的に格納される。ポストＭＩＣデータは、クライアント表示ユニットの処理ユニット１５３に送られる。
【０１０８】
クライアント表示ユニットの処理ユニット１５３は、αｋ１とポスト‐ＭＩＣデータをパッケージとして結合して、そのパッケージをクライアント表示ユニットのキー生成器１５７に送る。処理ユニット１５３は、クライアント表示ユニットのキー生成器１５７にガンマキー（γＫ）の生成を要求する。γＫは、クライアント表示ユニットのキー生成器１５７によってクライアント表示ユニットの処理ユニット１５３に送られる。
【０１０９】
そして、ユーザは、クライアント表示ユニットの対話ユニット１５１と対話することが要求される。ユーザは、ＭＩＣを手動で入力する必要がある。入力されると、その後、ＭＩＣは、クライアント表示ユニットの対話ユニットによって、クライアント表示ユニットの処理ユニット１５３に送られる。処理ユニット１５３は、γＫ、ＭＩＣ、及びパッケージを使用して、ＳＣ又はδｋ１を使用可能にする。クライアント表示ユニットの処理ユニットは、ＳＣ又はδｋ１のハッシュ値を計算して、そのハッシュ値を検証のためにクライアントシステムの承認ユニット１３９に送る。
【０１１０】
クライアント表示ユニットの処理ユニットが受け取った又は生成した情報の何れも、クライアント表示ユニットの処理ユニット１５３の処理動作中の任意の時点にて、クライアント表示ユニットの一時記憶ユニット１５５に一時的に格納されてよい。
【０１１１】
クライアントシステムの処理ユニット１３５は、クライアントシステムの記憶ユニット１３３に一時的に格納されているハッシュ値を取得する。クライアントシステムの処理ユニット１３５は、ＳＣ又はδｋ１のハッシュ値の何れかと、記憶ユニットから取り出した値とを、クライアントシステムの承認ユニット１３９に送る。承認ユニット１３９は、ハッシュ値を比較して一致を判定する。
【０１１２】
ハッシュ値が一致する場合、承認ユニット１３９は、クライアントシステムの処理ユニット１３５に一致を伝える。
【０１１３】
図１４に示すように、この一致確認を受け取ると、クライアントシステムの処理ユニット１３５は、クライアントセッションアクセスパス（Client Session Access Pass）（ＣＳＡＰ）をＣＳＡＰ生成器１３１に要求する。ＣＳＡＰ生成器１３１は、ＣＳＡＰを生成し、ＣＳＡＰは、クライアントシステムの記憶ユニット１３３に送られて、一時的に格納される。ＣＳＡＰ生成器１３１はまた、検証システムの処理ユニット１４７にＣＳＡＰを送る。検証システムの処理ユニット１４７は、クライアント表示ユニットの処理ユニット１５３にＣＳＡＰを送る。クライアント表示ユニットの処理ユニット１５３は、ユーザシステムの処理ユニット１３５にＣＳＡＰを送る。ユーザシステムの処理ユニット１３５は、クライアントシステムの承認ユニット１３９にＣＳＡＰを送る。クライアントシステムの承認ユニットは、ＣＳＡＰを確認する。ユーザシステムの処理ユニットはその確認の通知を受け取って、ユーザがクライアントシステムのセキュア部分にアクセスすることを許可するように動作する。
【０１１４】
クライアントシステムの承認ユニット１３９が、値が一致しないと判定した場合、ユーザ、ユーザシステム及びクライアント表示ユニットは認証されない。
【０１１５】
クライアントシステムのＣＳＡＰ生成器１３１は、ユーザ、ユーザシステム及びクライアント表示ユニットの認証に関連する条件を周期的にテストするために使用されてよい。これは、本明細書に記載された方法に従って、ＣＳＡＰの生成と、クライアントシステムの処理ユニットによるその処理と、検証システム、ユーザシステム、クライアント表示ユニットの他の処理ユニットへのＣＳＡＰの転送と、クライアントシステム、ユーザシステム、及びクライアント表示ユニットの記憶ユニットへのＣＳＡＰの格納と介してなされる。クライアントシステムの承認ユニットが、認証条件がＣＳＡＰに関して満たされていないと判断する場合、例えば、クライアントシステムの処理ユニットが受け取ったＣＳＡＰと格納されているＣＳＡＰとが一致しないとの判断の場合、ユーザ、ユーザデバイス及びクライアント表示ユニットの認証（即ち、ＣＳＡＰ認証）が取り消され、ユーザ、ユーザデバイス及びクライアント表示ユニットについてセキュア領域へのアクセスが終了する。
【０１１６】
本発明の実施形態で採用される認証用ＣＳＡＰ条件は、次元、ジオ‐テンポラル、機械学習人工知能、行動、又はその他の条件の何れかに関連する条件を含んでよい。
【０１１７】
図１５に示す本発明の別の実施形態では、ユーザは、クライアント表示ユニットを使用して、クライアントシステムのセキュア部分へのアクセスを介してトランザクションを有効にすることを試みる。クライアント表示ユニットの処理ユニット１５３は、クライアントシステムの処理ユニット１３５にトランザクションを有効にする要求を送る。その要求に応じて、クライアントシステムの処理ユニット１３５は、チャレンジを生成する要求をクライアントシステムのチャレンジ生成器１３７に送る。この要求に応じて、クライアントシステムのチャレンジ生成器１３７は、チャレンジを生成し、更には、チャレンジの結果にハッシュ値を適用して、解及び／又はハッシュ値をクライアントシステムの記憶ユニット１３３に保存してよい。クライアントシステムのチャレンジ生成器１３７は、クライアントシステムの処理ユニット１３５にチャレンジを送る。
【０１１８】
クライアントシステムの処理ユニット１３５は、対称及び／又は非対称暗号化をチャレンジに適用してよい。処理ユニット１３５は、クライアント表示ユニットの処理ユニット１５３にチャレンジを送る。クライアント表示ユニットの処理ユニット１５３は、提供されたキーを用いてチャレンジを復号してよく、そして、クライアント表示ユニットの対話ユニット１５１にチャレンジを送る。本発明の一実施形態では、ユーザは、クライアント表示ユニットの対話ユニット１５１と対話して、チャレンジの解答を見つけることを要求されてよい。本発明の別の実施形態では、クライアント表示ユニットの処理ユニット１５３は、復号されたチャレンジを解決してよい。
【０１１９】
クライアント表示ユニットを使用するユーザがチャレンジの解答を見つけると、そのユーザの解答は、クライアント表示ユニットの処理ユニット１５３に送られる。クライアント表示ユニットの処理ユニット１５３は、ユーザの解答に基づいてハッシュ値を生成してよく、クライアント表示ユニットの処理ユニットは更に、このハッシュ値及び／又は解答に対称暗号化又は非対称暗号化の何れかを加えてよい。クライアント表示ユニットの処理ユニットによる処理の結果（例えば、ハッシュ値又は暗号化されたハッシュ値、或いは、解答又は暗号化された解答）は、クライアントシステムの処理ユニット１３５に送られてよい。クライアントシステムの処理ユニット１３５は、格納されている解答及び／又はハッシュ値を取得するための要求をクライアントシステムの記憶ユニット１３３に送ってよい。この要求があると、クライアントシステムの記憶ユニット１３３は、格納されている解答及び／又は格納されているハッシュ値を取得し、格納されている解答及び／又は格納されているハッシュ値をクライアントシステムの処理ユニット１３５に送る。
【０１２０】
クライアントシステムの処理ユニット１３５は、クライアント表示ユニットの処理ユニット１５３から受け取った、暗号化されたハッシュ値若しくは解答及び／又は非暗号化されたハッシュ値を復号する。クライアントシステムの処理ユニット１３５は、クライアント表示ユニットの処理ユニット１５３から受け取ったハッシュ値及び／又は解答（暗号化されていない形式）と、格納されている解答及び／又はハッシュ値とを、承認のためにクライアントシステムの承認ユニット１３９に送る。クライアントシステムの承認ユニット１３９は、受け取った解答を格納されている解答と、及び／又は受け取ったハッシュ値を格納されているハッシュ値と比較する。
【０１２１】
受け取った解答及び／又はハッシュ値が、格納されている解答及び／又はハッシュ値と一致する場合、承認ユニット１３９は、クライアントシステムの処理ユニット１３５に一致の確認を送る。一致する場合、クライアントシステムの処理ユニット１３５は、トランザクションの認証が正常に完了したことを確認するために、一致の確認をクライアントシステムに送り、クライアントシステムはそれによってトランザクションを承認する。
【０１２２】
受け取った解答及び／又はハッシュ値が、格納されている解答及び／又はハッシュ値と一致しない場合、承認ユニット１３９は、一致しない旨の通知をクライアントシステムの処理ユニット１３５に送る。クライアントシステムの処理ユニットは、その通知をクライアントシステムに送り、クライアントシステムにトランザクションの認証を行わないように通知する。
【０１２３】
本発明の別の実施形態では、検証システムの処理ユニットは、図１４を参照してクライアントシステムの処理ユニットについて説明した機能を実行することができる。本発明のそのような実施形態では、チャレンジ生成器及び承認ユニットは、クライアントシステム又は検証システムの何れかに含まれてよく、それらチャレンジ生成器及び承認ユニットは、図１４に従って説明されたものと同じチャレンジ生成器１３７及び承認ユニット１３９の機能を有する。
【０１２４】
ユーザがユーザシステムを使用してトランザクションを有効にすることを試みる本発明の別の実施形態を図１６に示す。本発明のこのような実施形態では、ユーザシステムの処理ユニット１０９は、クライアントシステムの処理ユニット１３５にトランザクションを有効にする要求を送る。その要求に応じて、クライアントシステムの処理ユニット１３５は、チャレンジを生成する要求をチャレンジ生成器１３７に送る。この要求に応じて、チャレンジ生成器１３７はチャレンジを生成し、更には、チャレンジの結果（チャレンジの解答）にハッシュ値を適用し、その解答及び／又はハッシュ値をクライアントシステムの記憶ユニット１３３に保存する。
【０１２５】
クライアントシステムの処理ユニット１３５は、チャレンジに対称及び／又は非対称暗号化を適用してよい。処理ユニット１３５は、暗号化されているかも知れないチャレンジを、ユーザシステムの処理ユニット１０９に送る。ユーザシステムの処理ユニット１０９は、チャレンジが暗号化されている場合には、チャレンジを復号して、チャレンジをユーザシステムの対話ユニット１０３に送る。本発明の一実施形態では、ユーザは、チャレンジの解答を見つけるために、ユーザシステムの対話ユニット１０３と対話することが要求されてよい。本発明の別の実施形態では、ユーザシステムの処理ユニット１０９は、復号されたチャレンジを解決してよい。
【０１２６】
ユーザがチャレンジに対する解答を見つけると、ユーザの解答はユーザシステムの処理ユニット１０９に送られる。ユーザシステムの処理ユニット１０９は、ユーザの解答に基づいてハッシュ値を生成してよく、ユーザシステムの処理ユニット１０９は更に、このハッシュ値及び／又は解答に対称又は非対称暗号化の何れかを加えてよい。ユーザシステムの処理ユニット１０９による処理の結果（例えば、ハッシュ値又は暗号化されたハッシュ値と、解答又は暗号化された解答）は、クライアントシステムの処理ユニット１３５に送られてよい。クライアントシステムの処理ユニット１３５は、格納されている解答及び／又は格納されているハッシュ値を取得するための要求をクライアントシステムの記憶ユニット１３３に送ってよい。この要求があると、クライアントシステムの記憶ユニット１３３は、格納されている解答及び／又は格納されているハッシュ値を取得し、格納されている解答及び／又は格納されているハッシュ値をクライアントシステムの処理ユニット１３５に送る。
【０１２７】
クライアントシステムの処理ユニット１３５は、ユーザシステムの処理ユニット１０９から受け取った、暗号化されているハッシュ値又は解答を復号する。クライアントシステムの処理ユニット１３５は、ユーザシステムの処理ユニット１０９から受け取ったハッシュ値及び解答（暗号化されていない形式）と、格納された解答及び／又はハッシュ値とを、承認のためにクライアントシステムの承認ユニット１３９に送る。クライアントシステムの承認ユニット１３９は、受け取った解答と格納されている解答とを、及び／又は受け取ったハッシュ値と格納されているハッシュ値とを比較する。
【０１２８】
受け取った解答が格納されている解答と一致し、及び／又は受け取ったハッシュ値が格納されているハッシュ値と一致する場合、承認ユニット１３９は、クライアントシステムの処理ユニット１３５に一致の確認を送る。クライアントシステムの処理ユニット１３５は、トランザクションの認証が完了して成功したことを確認するために、一致の確認をクライアントシステムに送る。
【０１２９】
受け取った解答が格納された解答と一致し、及び／又は受け取ったハッシュ値が格納されているハッシュ値と一致する場合、その後、承認ユニット１３９は、一致しない旨の通知をクライアントシステムの処理ユニットに送る。クライアントシステムの処理ユニットは、その通知をクライアントシステムに送り、クライアントシステムにトランザクションの認証を行わないように助言する。
【０１３０】
本発明の別の実施形態では、検証システムの処理ユニットは、図１６を参照してクライアントシステムの処理ユニットについて説明した機能を実行することができる。本発明のそのような実施形態では、チャレンジ生成器及び承認ユニットが、クライアントシステム又は検証システムの何れかに含まれてよく、それらチャレンジ生成器及び承認ユニットは、図１６に従って説明されたものと同じチャレンジ生成器１３７及び承認ユニット１３９の機能を有する。
【０１３１】
認証のためのシステム及びネットワークは、１又は複数の第１のピア、１又は複数のサーバ、及び、１又は複数の第２のピアで構成されており、各々は、少なくともプロセッサ及び送受信機を備えてよい。加えて、１又は複数の第１のピア及び１又は複数の第２のピアは、個別にメモリを備えてよい。幾つかの実施形態では、１又は複数の第１のピア及び１又は複数の第２のピアの各々は、表示装置を備えてよい。１又は複数のサーバは、更にデータベースを備えてよい。
【０１３２】
第１のピア、第２のピア、及びサーバの各々の送受信機は、外部ソース（exogenous source）との間で情報を送受信するように構成されてよい。幾つかの実施形態では、第１のピアは、サーバとの間で情報を送受信するように構成されてよく、サーバは、第１のピアと第２のピアの両方との間で情報を送受信するように構成されてよく、第２のピアは、サーバとの間で情報を送受信するように構成されてよい。第１のピア及び第２のピアのメモリと、サーバのデータベースとは、情報を記憶し、情報の取得を可能にするように構成されてよい。表示装置は、ユーザがディスプレイと対話するための手段、例えば、データを入力し、キャラクタを選択し、オブジェクトを選択するための手段を更に備えてよい。
【０１３３】
第１のピア、第２のピア又はサーバのプロセッサは、処理マイグレータ（migrator）、データマニピュレータ、データ変換器、処理生成器、及び処理検証器で構成されてよい。処理マイグレータは、第１のピア、第２のピア、又はサーバ内のある構成要素から、第１のピア、第２のピア、又はサーバ内の別の構成要素にデータを移行するように構成されてよい。例として、限定ではないが、処理マイグレータは、第１のピアのメモリから第１のピアのプロセッサへ、或いは、第２のピアのプロセッサから第２のピアの送受信機へデータを移動するように構成されてよい。データマニピュレータは、データを操作するように、例えば、結合、分離、分離及び再結合、リオーダなどを行うように構成されていてよい。例として、限定されないが、第１のピアのデータマニピュレータは、又は複数のキャラクタ列を第１の部分と第２の部分に分割するように構成されてよく、サーバのデータマニピュレータは、データの第１の部分とデータの第２の部分とを結合して、単一のデータパケットを生成するように構成されてよい。
【０１３４】
データ変換器は、第１のキャラクタ列を第２のキャラクタ列に変換するように構成されてよく、第１のキャラクタ列及び第２のキャラクタ列の各々は、長さ、構成、又は配置のうちの任意の１又は複数が異なってよい。幾つかの実施形態では、データ変換器は、ハッシュアルゴリズムを第１のキャラクタ列に適用するように構成されてよい。他の実施形態では、データ変換器は、第１のキャラクタ列に暗号化プロトコルを適用するように構成されてよい。更に他の実施形態では、データ変換器は、第１のキャラクタ列に復号プロトコルを適用するように構成されてよい。他の実施形態ではまた、データ変換器は、ハッシュアルゴリズム、暗号化プロトコル、復号プロトコル、又はデータ変換の他の既知方法の任意の組合せを、第１のキャラクタ列に適用して、第２のキャラクタ列を生成するように構成されてよい。
【０１３５】
処理生成器は、データを生成するように構成されてよい。幾つかの実施形態では、データは、任意の長さの１又は複数のキャラクタ列で構成されてよく、また、バーコードなどで構成されてよい。幾つかの実施形態では、データは、ランダムな方法又は規則的な方法の何れかで生成されてよい。処理検証器は、２つ以上のデータを比較して、それらのデータが同一であるか異なるかを判定するように構成されてよい。幾つかの実施形態では、処理検証器と処理生成器は対になって、第１のキャラクタ列と第２のキャラクタ列が同一であるかどうかを判定して、第１のキャラクタ列と第２のキャラクタ列の同一性に基づいて応答を生成するように構成されてよい。
【０１３６】
認証方法は、登録方法１７００とユーザログイン方法２０００とを含んでよい。幾つかの実施形態では、登録方法１７００は、１又は複数のキーを生成することと、１又は複数のキーを配布することと、１又は複数のキーをローカルデータベースに格納することと、１又は複数のキーをサーバデータベースに格納することとを含んでよい。図１７に図示されているように、登録方法１７００は更に、第１のピア１７０１、サーバ１７５０、及び少なくとも１つの第２のピア１７７５の間での通信を含んでよい。
【０１３７】
登録方法１７００の幾つかの実施形態では、サーバ１７５０は、第１のピア１７０１から登録要求１７０２を受け取ってよい。サーバ１７５０は、登録データ１７５１を第１のピア１７０１に送ってよい。登録データ１７５１は、登録方法１７００に必要な任意のデータを含んでよい。幾つかの実施形態では、登録データ１７５１は、クライアント登録コード１７０３を含んでよい。クライアント登録コード１７０３は、文字、数字、記号、又はそれらの任意の組合せで構成される１又は複数のキャラクタを含んでよく、サーバ１７５０によって生成されてよい。別の実施形態では、登録データは、ユーザ選択オブジェクトを含んでいる。更に別の実施形態では、登録データは、クライアント登録コード１７０３、ユーザ選択オブジェクト、及び登録に必要な他のデータのうちの１又は複数からなる組合せで構成されてよい。
【０１３８】
登録方法１７００は、サーバキー１７０５及びクライアントキー１７０６をユーザ入力１７０４から生成することを更に含んでよい。幾つかの実施形態では、サーバキー１７０５とクライアントキー１７０６が使用されて、登録キー１７０７が生成される。他の実施形態では、サーバキー１７０５、クライアントキー１７０６、及び少なくとも１つのクライアント登録コード１７０３が、登録キー１７０７を生成するために使用される。他の実施形態は、クライアントキー１７０６、サーバキー１７０５、及びクライアント登録コード１７０３の様々な組合せを備えており、それらは、登録キー１７０７を生成するために使用される。例えばクライアントキー１７０６、クライアント登録コード１７０３のような一部の情報は、第１のピア１７０１のメモリ１７０８に格納されてよい。更に、登録方法１７００は、第１のピア１７０１からサーバ１７５０に情報を転送することを含んでよい。幾つかの実施形態では、登録キー１７０７及びサーバキー１７０５がサーバ１７５０に転送される。
【０１３９】
登録方法１７００は、サーバ１７５０にて第１のピア１７０１から情報を受け取ることを含んでよい。幾つかの実施形態では、サーバ１７５０で受け取った情報は、登録キー１７０７とサーバキー１７０５を含んでよい。サーバ１７５０は、受信者コード１７５２を生成してよい。更に、サーバ１７５０は、送信者コード１７５４を生成してよい。更に、サーバ１７５０は、配布コード１７５６を生成してよい。サーバキー１７０５、受信者コード１７５２、及び送信者コード１７５４は、配布キー１７５３を生成するために使用されてよい。幾つかの実施形態では、配布キー１７５３は、サーバキー１７０５、受信者コード１７５２、送信者コード１７５４、又はそれらの任意の組合せのうちの任意の１又は複数から生成されてよい。例えば受信者コード１７５２、配布キー１７５３のような一部の情報は、サーバ１７５０のデータベース１７５７に格納されてよい。登録方法１７００は、サーバ１７５０から少なくとも１つの第２のピア１７７５に情報を転送することを更に含んでよい。幾つかの実施形態では、配布キー１７５３及び配布コード１７５６は、少なくとも１つの第２のピア１７７５に転送される。
【０１４０】
登録方法１７００は、１又は複数のキーをローカルデータベースに格納することを更に含んでよい。図１７に図示されているように、少なくとも１つの第２のピア１７７５は、サーバ１７５０から情報を受け取ってよい。幾つかの実施形態では、情報は、配布キー１７５３及び配布コード１７５６を含んでよい。第２のピアは、預託（deposit）コード１７７６を生成してよい。更に、配布キー１７５３及び配布コード１７５６は、預託キー１７７７を生成するために使用されてよい。幾つかの実施形態では、預託キー１７７７は、配布キー１７５３のみを、預託コード１７７６のみを、又は配布キー１７５３と預託コード１７７６の任意の組合せを使用して生成されてよい。例えば、配布キー１７５３、預託キー１７７７、配布コード１７５６のような一部の情報は、第２のピアデバイス１７７５のメモリ１７５８に格納されてよい。登録方法１７００は、第２のピア１７７５からサーバ１７５０に情報を転送することを更に含んでよい。幾つかの実施形態では、預託キー１７７７及び配布コード１７５６は、サーバ１７５０に転送される。
【０１４１】
登録方法１７００は、第２のピア１７７５から情報を受け取り、その情報をローカルデータベースに格納するように構成されてよい。幾つかの実施形態では、サーバ１７５０は、第２のピア１７７５から情報を受け取る。受け取った情報は、預託キー１７７７と、配布コード１７５６と、及び、サーバ１７５０による情報の保存に又は第２のピア１７７５における識別に必要な他の情報とから構成されてよい。
【０１４２】
次に図１８を参照すると、幾つかの実施形態では、１又は複数のキーを生成すること１８００は、第１のピア１８０１で行われてよい。第１のピア１８０１は、任意のＩｏＴデバイス、即ち、ネットワークに接続し、データを送る能力を有する任意のデバイスであってよく、携帯電話、パーソナルアシスタント、ボタン、ホームセキュリティシステム、電化製品などを含むがこれらに限定されない、第１のピア１８０１は、サーバ１８５０に登録を要求してよい。幾つかの実施形態では、サーバ１８５０は、登録データを第１のピア１８０１に送ってよい。登録データは、第１のピア１８０１の送受信機１８４１によって受け取られてよく、また、第１のピア１８０１において１又は複数のキー１８００を生成するために必要な任意のデータを含んでよい。幾つかの実施形態では、登録データは、クライアント登録コード１８０３を含んでよい。他の実施形態では、登録データは、クライアント登録コード１８０３と、ユーザ入力１８０４の前駆体（precursor）として機能する追加データとを含んでよい。クライアント登録コード１８０３は、任意の長さの１又は複数のキャラクタ列で構成されてよい。
【０１４３】
ユーザ入力１８０４は、情報の離散的ユニットを含むユーザ生成データを任意の形態で含んでよい。幾つかの実施形態では、ユーザ入力１８０４は、例えば、指紋、虹彩などの生体情報データを含んでいる。そのような実施形態では、生体情報データは、識別子を含む情報の離散的ユニットに分割されてよい。識別子は、固有の選択コード１８０９に変換されてよい。他の実施形態では、ユーザ入力１８０４は、任意の数の空間的及び／又は時間的データを含んでよい。空間データ及び／又は時間データは、識別子を含む情報の離散的ユニットに分割されてよい。識別子は、固有の選択コード１８０９に変換されてよい。更に別の実施形態では、ユーザ入力１８０４は、生体情報データと空間的及び／又は時間的データの組合せを含んでよく、それらデータの各々が固有の選択コード１８０９を生成するために使用されてよい。
【０１４４】
他の実施形態では、ユーザ入力１８０４は、１又は複数の選択オブジェクトを含んでよい。１又は複数の選択オブジェクトは、画像、アイコン、トークン、ボタン、或いは、選択オブジェクトのグループからユーザが１又は複数の選択オブジェクトを選択することを可能にする他のオブジェクトであってよい。幾つかの実施形態では、選択オブジェクトは、送受信機１８４１で受け取られ、処理マイグレータ１８４２は、選択オブジェクトを表示装置１８４３にマイグレートしてよい。表示装置１８４３上でユーザによって選択されると、選択オブジェクトは、任意の数のキャラクタ、例えば、文字、数字、記号からなる選択コード１８０９に変換されてよい。特定の実施形態では、選択オブジェクトは画像であって、サーバ１８５０から受け取られてよい。各画像には固有の選択コード１８０９が割り当てられる。選択オブジェクトの組合せのユーザによる選択は、ユーザによる選択オブジェクトの選択に固有である選択コード１８０９の組合せを含むユーザ入力１８０４を生成する。幾つかの実施形態では、生体情報データ、空間データ及び／又は時間データ、及び選択オブジェクトの任意の組合せが、ユーザ入力１８０４を構成してよい。
【０１４５】
幾つかの実施形態によれば、ユーザは、２つ以上の選択コード１８０９を含むユーザ入力１８０４を生成してよい。選択コードの数はｎに等しい。データマニピュレータ１８４４は、選択コードを２つ以上のグループに分割するように構成されてよい。幾つかの実施形態では、データマニピュレータ１８４４は、選択コード１８０９を第１のグループ１８１０と第２のグループ１８１１とに分割するように構成されてよい。第１のグループ１８１０は、１乃至ｎ−１個の選択コード１８０９からなり、第２のグループ１８１１は、１乃至ｎ−１個の選択コード１８０９からなる。第１のグループ１８１０及び第２のグループ１８１１の各選択コード１８０９は、データ変換器１８４５によって、個別に１又は複数のキャラクタ列に変換１８１２されてよく、その結果、変換された選択コードの第１のグループ１８１３と、変換された選択コードの第２のグループ１８１５とが得られる。幾つかの実施形態では、変換１８１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換１８１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換１８１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。変換された選択コードの第１のグループ１８１３は、クライアントプレキー（pre-key）１８１４を生成するために使用されてよい。変換された選択コードの第１のグループ１８１３を構成する個々の変換された選択コードは、データマニピュレータ１８４４によって結合されて、クライアントプレキー１８１４を構成する１又は複数のキャラクタ列を形成してよい。幾つかの実施形態では、個々の変換済み選択コードは、ユニットの連結（concatenation）を通じて結合される。連結は、個々の変換された選択コードの各々を１ユニットとして使用することを含んでよく、又は、個々の変換された選択コードの一部を１ユニットとして使用することを含んでよい。クライアントプレキー１８１４は、データ変換器１８４５によってクライアントキー１８０６に変換１８１２されてよい。幾つかの実施形態では、変換１８１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換１８１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換１８１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。クライアントキー１８０６は、処理マイグレータ１８４２によって第１のピア１８０１のメモリ１８０８に格納されてよい。
【０１４６】
変換された選択コードの第２のグループ１８１５は、サーバプレキー１８１６を生成するために使用されてよい。変換された選択コードの第２のグループ１８１５を構成する個々の変換された選択コードは、データマニピュレータ１８４４によって結合されて、サーバプレキー１８１６を構成する１又は複数のキャラクタ列を形成してよい。幾つかの実施形態では、個々の変換済み選択コードは、ユニットの連結によって結合されてよい。連結は、個々の変換された選択コードの各々をユニットとして使用することであってよく、或いは、個々の変換された選択コードの一部をユニットとして使用することであってよい。サーバプレキー１８１６は、データ変換器１８４５によってサーバキー１８０５に変換１８１２されてよい。幾つかの実施形態では、変換１８１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換１８１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換１８１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。
【０１４７】
幾つかの実施形態では、登録キー１８０７が生成されてよい。クライアントキー１８０６及びサーバキー１８０５の各々は、データマニピュレータ１８４４によって、クライアントキーの第１の部分１８１７、クライアントキーの第２の部分１８１８、サーバキーの第１の部分１８１９、及びサーバキーの第２の部分１８２０に分割されてよい。幾つかの実施形態では、クライアントキー１８０６は、３つ以上の部分に分割されてよい。同様に、サーバキー１８０５は、３つ以上の部分に分離されてよい。クライアントキーの第１の部分１８１７とクライアントキーの第２の部分１８１８とは、クライアントキー１８０６を構成するキャラクタの異なる部分を含んでよい。特定の実施形態では、クライアントキーの第１の部分１８１７及びクライアントキーの第２の部分１８１８の各々は、クライアントキー１８０６を構成するキャラクタの半分であってよい。サーバキーの第１の部分１８１９及びサーバキーの第２の部分１８２０は、サーバキー１８０５を構成するキャラクタの異なる部分を含んでよい。特定の実施形態では、サーバキーの第１の部分１８１９及びサーバキーの第２の部分１８２０の各々は、サーバキー１８０５を構成するキャラクタの半分であってよい。クライアントキーの第１の部分１８１７、クライアントキーの第２の部分１８１８、サーバキーの第１の部分１８１９、及びサーバキーの第２の部分１８２０は、ユニットの連結を介してデータマニピュレータ１８４４によって結合されて、第１のプレキー１８２１を構成する１又は複数のキャラクタ列を形成してよい。データマニピュレータ１８４４による連結は、クライアントキーの第１の部分１８１７、クライアントキーの第２の部分１８１８、サーバキーの第１の部分１８１９、及びサーバキーの第２の部分１８２０の各々をユニットとして使用することを含んでよく、クライアントキーの第１の部分１８１７、クライアントキーの第２の部分１８１８、サーバキーの第１の部分１８１９、及びサーバキーの第２の部分１８２０のピースをユニットとして使用することを含んでよい。更に、連結は、クライアントキー１８０６又はサーバキー１８０５の分割によって生成された部分の任意の組合せを使用することを含んでよい。第１のプレキー１８２１は、データ変換器１８４５によって、第２のプレキー１８２２を構成する１又は複数のキャラクタ列に変換されてよい。幾つかの実施形態では、変換１８１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換１８１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換１８１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。第２のプレキー１８２２は、登録プレキー１８２３を生成するために使用されてよい。幾つかの実施形態では、第２のプレキー１８２２及びクライアント登録コード１８０３がデータマニピュレータ１８４４によって連結されて、登録プレキー１８２３を構成する１又は複数のキャラクタ列が形成されてよい。連結は、第２のプレキー１８２２とクライアント登録コード１８０３の各々をユニットとして使用することを含んでよく、第２のプレキー１８２２とクライアント登録コード１８０３のピースをユニットとして使用することを含んでよい。登録プレキー１８２３は、データ変換器１８４５によって、登録キー１８０７を構成する１又は複数のキャラクタ列に変換１８１２されてよい。幾つかの実施形態では、変換１８１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換１８１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換１８１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。
【０１４８】
第１のピア１８０１は、サーバ１８５０に情報を送ってよい。幾つかの実施形態では、第１のピア１８０１の処理マイグレータ１８４２は、登録キー１８０７及びサーバキー１８０５を第１のピア１８０１の送受信機１８４１にマイグレートしてよく、送受信機１８４１が、登録キー１８０７及びサーバキー１８０５をサーバ１８５０に送ってよい。他の実施形態では、第１のピア１８０１の送受信機１８４１は、登録キー１８０７、サーバキー１８０５、及び登録方法に必要なその他の情報をサーバ１８５０に送ってよい。
【０１４９】
登録方法は、１又は複数のキーを配布すること１９００を更に含んでよい。図１９に図示されているように、サーバ２５０の送受信機１９４１は、第１のピア１９０１から情報を受け取ってよい。幾つかの実施形態では、サーバ１９５０の送受信機１９４１は、第１のピア１９０１から登録キー１９０７を受け取ってよい。サーバ１９５０の送受信機１９４１は、第１のピア１９０１からサーバキー１９０５を受け取ってよい。サーバ１９５０の送受信機１９４１は、第１のピア１９０１から登録キー１９０７及びサーバキー１９０５の両方を受け取ってよい。処理マイグレータ１９４２は、登録キー１９０７及びサーバキー１９０５をサーバ１９５０のプロセッサにマイグレートしてよい。登録キー１９０７は、処理マイグレータ１９４２によってサーバ１９５０のデータベース１９５７に格納されてよい。サーバ１９５０の処理生成器１９４６は、ピアリスト（peer list）１９５８を生成してよい。ピアリスト１９５８は、ネットワーク上のピアデバイス、例えば第１のピア１９０１、第２のピア１９７５などのリストを含んでよい。また、ピアリストは、受信者コード１９５２及び配布コード１９５６を含んでよく、これらは、任意の長さの１又は複数のキャラクタ列を含んでよい。更に、サーバ１９５０の処理生成器１９４６は、送信者コード１９５４を生成してよく、これもまた、任意の長さの１又は複数のキャラクタ列を含んでよい。
【０１５０】
幾つかの実施形態では、サーバ１９５０は、第１のピア１９０１から登録キー１９０７を受け取ってよい。登録キー１９０７は、任意の数の登録キーサブパート（subparts）を生成するために使用されてよい。データマニピュレータは、登録キー１９０７から登録キーサブパートを生成してよい。これらの実施形態では、登録キー１９０７は、ｎに等しい任意の数のキャラクタを含んでよく、各登録キーサブパートは、ｎ−１に等しい任意の数又は組合せのキャラクタを含んでよい。サーバ１９５０は、１又は複数のランダムなキャラクタ列を生成してよい。登録キーサブパートの各々は、データマニピュレータ１９４４によって、１又は複数のランダムなキャラクタ列と連結されてよい。幾つかの実施形態では、連結されたキャラクタ列は変換１９１２されてよい。各生成された連結キャラクタ列又は変換された連結キャラクタ列は、１又は複数の第２のピア１９７５に送られてよい。
【０１５１】
サーバ１９５０は、第１のピア１９０１からサーバキー１９０８を受け取ってよい。サーバキー１９０８は、任意の数のサーバキーサブパートを生成するために使用されてよい。データマニピュレータは、サーバキー１９０８からサーバキーサブパートを生成してよい。これらの実施形態では、サーバキー１９０８は、ｎに等しい任意の数のキャラクタを含んでよく、各サーバキーサブパートは、ｎ−１に等しい任意の数又はキャラクタの組合せを含んでよい。サーバ１９０５０は、１又は複数のランダムなキャラクタ列を生成してもよい。サーバキーサブパートの各々は、データマニピュレータ１９４４によって、１又は複数のランダムなキャラクタ列と連結されてよい。幾つかの実施形態では、連結されたキャラクタ列は変換１９１２されてよい。各生成された連結キャラクタ列又は変換された連結キャラクタ列は、１又は複数の第２のピア１９７５に送られてよい。
【０１５２】
サーバ１９５０のデータマニピュレータ１９４４は、サーバキー１９０５、受信者コード１９５２、送信者コード１９５４、配布コード１９５６、又は登録キー１９０７の任意の組合せを組み合せて、配布プレキー１９５９を生成してよい。幾つかの実施形態では、配布プレキーは、サーバキー１９０５、送信者コード１９０４、及び受信者コード１９０２を含んでおり、これらは、ユニットの連結によって結合されて１又は複数のキャラクタ列が形成されてよい。連結は、サーバキー１９０５、送信者コード１９０４、及び受信者コード１９０２の各々をユニットとして使用することを含んでよく、サーバキー１９０５、送信者コード１９０４、及び受信者コード１９０２のピースをユニットとして使用することを含んでよい。配布プレキー１９５９は、データ変換器によって、配布キー１９５３を構成する１又は複数のキャラクタ列に変換１９１２されてよい。幾つかの実施形態では、変換１９１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換１９１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換１９１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。配布キー１９５３は、処理マイグレータ１９４２によってサーバ１９５０のデータベース１９５７に格納されてよい。サーバ１９５０は、第２のピア１９７５に情報を送るように構成されてよい。幾つかの実施形態では、サーバ１９５０の処理マイグレータ１９４２は、配布キー１９５３及び配布コード１９５６をサーバ１９５０の送受信機１９４１にマイグレートしてよい。他の実施形態では、サーバ１９５０の送受信機１９４１は、配布キー１９５３、配布コード１９５６、及び登録方法に必要なその他の情報を第２のピア１９７５に送ってよい。幾つかの実施形態では、サーバ１９５０は、登録キー１９０７、サーバキー１９０５、及び配布キー１９５３の任意の組合せを、サーバ１９５０のデータベース１９５７に格納してよい。
【０１５３】
サーバ１９５０は、２以上の配布キー１９５３を生成し、２以上の第２のピア１９７５にデータを送ってよい。幾つかの実施形態では、ピアリスト１９５８は、ネットワーク上の２以上の第２のピア１９７５のリストを含んでよい。第２のピアは、ネットワーク上にあり、サーバ１９５０とデータを送受信することができる任意のＩｏＴデバイス、サーバ、又は任意のデバイスを含んでよい。サーバ１９５０は、各第２のピア１９７５に対して固有の配布コード１９５６を生成してよい。サーバ１９５０は、各第２のピア１９７５に対して固有の受信者コード１９５２を生成してよい。これらの実施形態では、各第２のピア１９７５のために生成された配布キー１９５３は、他の第２のピア１９７５のために生成された配布キー１９５３とは異なってよいが、第１のピア１９０１から受け取った基礎となるサーバキー１９０５は同じであってよい。
【０１５４】
幾つかの実施形態によれば、登録キー１９０７が使用されて、配布プレキー１９５９が生成されてよい。これらの実施形態では、登録キー１９０７、送信者コード１９０４、受信者コード１９０２、及びサーバキー１９０５の任意の組合せが使用されて、配布プレキー１９０９が生成されてよい。
【０１５５】
図１７を再度参照すると、登録方法１７００は、１又は複数のキーをローカルデータベースに格納することを含んでよい。幾つかの実施形態では、第２のピア１７７５は、第２のピア１７７５の送受信機を介してサーバ１７５０と情報を送受信するように構成されてよい。第２のピア１７７５は、第２のピア１７７５の送受信機を介してサーバ１７５０から配布キー１７５３を受け取ってよい。第２のピア１７７５は、サーバ１７５０から配布コード１７５６を受け取ってよい。幾つかの実施形態では、第２のピア１７７５は、サーバ１７５０から配布キー１７５３及び配布コード１７５６を受け取ってよい。配布キー１７５３及び配布コード１７５６は、第２のピア１７７５のメモリ１７７８に格納されてよい。第２のピア１７７５は、預託コード１７７６を生成してよい。預託コード１７７６は、任意の長さの１又は複数のキャラクタ列であってよく、ランダムに生成されてよい。或いは、預託コード１７７６は、サーバ１７５０によって生成され、第２のピア１７７５によって受け取られてよい。預託コード１７７６及び配布キー１７５３は、ユニットの連結によって結合されて、預託プレキー１７７９を構成する１又は複数のキャラクタ列が形成されてよい。連結は、預託コード１７７６と配布キー１７５３の各々をユニットとして使用することを含んでよく、預託コード１７７６と配布キー１７５３のピースをユニットとして使用することを含んでよい。預託プレキー１７７９は、預託キー１７７７を構成する１又は複数のキャラクタ列に変換１７１２されてよい。幾つかの実施形態では、変換１７１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換１７１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換１７１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。預託キー１７７７は、第２のピア１７７５のメモリ１７７８に格納されてよい。幾つかの実施形態では、第２のピア１７７５は、預託キー１７７７及び配布コード１７５６をサーバ１７５０に送ってよい。他の実施形態では、第２のピア１７７５は、預託キー１７７７、配布コード１７５６、及び登録方法１７００に必要な他の情報をサーバ１７５０に送ってよい。
【０１５６】
登録方法１７００は、１又は複数のキーをサーバデータベースに格納することを更に含んでもよい。図１９に示すように、サーバ１９５０の送受信機１９４１は、第２のピア１９７５から情報を受け取ってよい。幾つかの実施形態では、サーバ１９５０の送受信機１９４１は、配布コード１９５６を受け取ってよい。幾つかの実施形態では、サーバ１９５０の送受信機１９４１は、預託キー１９７７を受け取ってよい。他の実施形態では、サーバ１９５０の送受信機１９４１は、配布コード１９５６及び預託キー１９７７を受け取ってよい。更に別の実施形態では、サーバ１９５０の送受信機１９４１は、配布コード１９５６、預託キー１９７７、及び登録方法に必要な他の情報を受け取ってよい。配布コード１９５６及び預託キー１９７７は、処理マイグレータ１９４２によってサーバ１９５０のデータベース１９５７に格納されてよい。
【０１５７】
特定の実施形態では、登録方法１７００は、１又は複数のキーを作成することと、１又は複数のキーを配布することと、１又は複数のキーをローカルデータベースに格納することと、１又は複数のキーをサーバデータベースに格納することとを含んでよい。図１７に図示されているように、登録方法１７００は、第１のピア１７０１からの登録要求１７０２から始まってよい。登録要求１７０２は、１又は複数のサーバ１７５０との間で送受信されてよい。１又は複数のサーバは、登録データ１７５１を第１のピア１７０１に送ってよい。次に図１８を参照すると、特定の実施形態では、第１のピア１７０１がサーバ１８５０から登録データを受け取ってよい。登録データは、クライアント登録コード１８０３と１又は複数の選択オブジェクトとを含んでよい。クライアント登録コード１８０３は、単一の８桁のキャラクタ列を含んでよい。選択オブジェクトは、幾つかの画像を含んでよい。特定の実施形態では、選択オブジェクトは、６０に等しい数の選択オブジェクトを含んでよい。各選択オブジェクトは、固有の選択コード１８０９を含んでよい。選択コード１８０９は、１又は複数のキャラクタ列を含んでよく、特定の実施形態では、各選択コードは、５つのキャラクタからなる列を含んでよい。ユーザは、サーバ１８５０によって受け取られた選択オブジェクトから幾つかの選択オブジェクトを選択してよい。特定の実施形態では、ユーザは、６つの選択オブジェクトを選択してよい。ユーザによる選択オブジェクトの選択は、選択コード１８０９の集合からなるユーザ入力１８０４を生成してよく、それら選択コード１８０９は、各選択コード１８０９に関連付けられた特定の選択オブジェクトを選択することによって選択されてよい。特定の実施形態では、ユーザ入力１８０４は、６つの５キャラクタの選択コード１８０９を含んでいる。
【０１５８】
ユーザ入力１８０４は、第１のグループ１８１０と第２のグループ１８１１とに分割されてよい。特定の実施形態では、第１のグループ１８１０と第２のグループ１８１１の各々は、３つの異なる選択コード１８０９を含んでいる。第１のグループ１８１０及び第２のグループ１８１１を含む各選択コード１８０９は、１又は複数のキャラクタ列に変換１８１２されてよい。特定の実施形態では、各選択コード１８０９は、ハッシュアルゴリズムを使用して変換されてよく、変換された選択コードの第１のグループ１８１３と変換された選択コードの第２のグループ１８１５とをまとめて含んでよい。変換された選択コードの第１のグループ１８１３及び変換された選択コードの第２のグループ１８１５の各々が結合されて、クライアントプレキー１８１４及びサーバプレキー１８１６の各々が生成されてよい。特定の実施形態では、変換された選択コードの第１のグループ１８１３を構成する３つの変換された選択コードが連結されて、クライアントプレキー１８１４を構成する１又は複数のキャラクタ列が生成されてよい。同様に、変換された選択コードの第２のグループ１８１５を構成する３つの変換された選択コードが連結されて、サーバのプレキー１８１６を構成する１又は複数のキャラクタ列が生成されてよい。クライアントプレキー１８１４はクライアントキー１８０６に、サーバプレキー１８１６はサーバキー１８０５に変換１８１２されてよい。特定の実施形態では、変換１８１２は、ハッシュアルゴリズムを使用することを含む。
【０１５９】
登録キー１８０７は、クライアントキー１８０６、サーバキー１８０５、及びクライアント登録コード１８０３の組合せを用いて生成されてよい。特定の実施形態では、クライアントキー１８０６は、第１の部分１８１７及び第２の部分１８１８に、サーバキー１８０５は、第１の部分１８１９及び第２の部分１８２０に分割される。第１のプレキー１８２１は、クライアントキー１８０６の任意の部分とサーバキー１８０５の任意の部分とを連結することで１又は複数のキャラクタ列を形成することによって生成されてよい。第１のプレキー１８２１は、第２のプレキー１８２２を構成する１又は複数のキャラクタ列に変換されてよい。特定の実施形態では、変換１８１２は、ハッシュアルゴリズムを使用することを含む。登録プレキー１８２３は、クライアント登録コード１８０３と第２のプレキー１８２２を連結して、１又は複数のキャラクタ列を形成することによって生成されてよい。登録プレキー１８２３は、登録キー１８０７に変換されてよく、変換１８１２は、ハッシュアルゴリズムを使用することを含んでよい。特定の実施形態では、クライアントキー１８０６及びクライアント登録コード１８０３は、第１のピア１８０１のメモリ１８０８に格納されてよい。更に、サーバキー１８０５及び登録キー１８０７は、１又は複数のサーバ１８５０に送られてよい。
【０１６０】
登録方法は、１又は複数のキーを配布することで構成されてよい。図１９に示す特定の実施形態では、サーバ１９５０は、第１のピア１９０１から登録キー１９０７及びサーバキー１９０５を受け取ってよい。登録キーは、サーバ１９５０のデータベース１９５７に格納されてよい。サーバ１９５０は、ネットワーク上の第２のピア１９７５のリストを含むピアリスト１９５８を生成してよい。第２のピア１９７５の各々について、サーバ１９５０は、受信者コード１９５２及び配布コード１９５６を生成してよい。特定の実施形態では、受信者コード１９５２及び配布コード１９５６は、特定の第２のピア１９７５及び特定のトランザクションの両方に固有であってよい。更に、サーバ１９５０は、送信者コード１９５４を生成してよく、送信者コード１９５４は、特定のサーバ１９５０に固有であってよい。特定の実施形態では、受信者コード１９５２、送信者コード１９５４、及びサーバキー１９０５は、連結によって結合されて、配布プレキー１９５９を構成する１又は複数のキャラクタ列が生成されてよい。配布プレキー１９５９は、配布キー１９５３に変換１９１２されてもよい。特定の実施形態では、変換１９１２は、ハッシュアルゴリズムを使用することを含んでよい。幾つかの実施形態では、複数の固有の配布キー１９５３が生成されてよく、各々は、異なる受信者コード１９５２を含んでおり、ピアリスト１９５８からの関連する異なる配布コード１９５６を有する。固有の配布キー１９５３の各々は、最終的には、異なる第２のピア１９７５に送られてよい。特定の実施形態では、複数の固有の配布キー１９５３が同一のサーバキー１９０５から生成されて、固有の配布キー１９５３の各々は、ネットワーク上の別個の第２のピア１９７５に転送される。
【０１６１】
登録方法は、図１７に図示されているように、１又は複数のキーをローカルデータベースに格納することを更に含んでよい。特定の実施形態では、第２のピア１７７５は、サーバ１７５０から配布キー１７５３及び配布コード１７５６を受け取ってよい。この実施形態では、第２のピア１７７５は、ネットワーク内の複数の第２のピア１７７５のうちの１つであってよく、上述したように、第１のピア１７０１とサーバ１７５０の間の同じトランザクションから生じる配布キー１７５３及び配布コード１７５６を受け取る。第２のピア１７７５は、配布キー１７５３及び配布コード１７５６を第２のピア１７７５のメモリ１７７８に格納してよい。更に、第２のピア１７７５は、預託コード１７７６を生成してよい。特定の実施形態では、預託コード１７７６は、８つのキャラクタの単一の列を含んでいる。預託コード１７７６と配布キー１７５３は、連結により結合されて、預託プレキー１７７９を構成する１又は複数のキャラクタ列が生成されてよい。預託プレキー１７７９は、預託キー１７７７に変換１７１２されてよい。特定の実施形態では、変換１７１２は、ハッシュアルゴリズムを使用することを含んでよい。第２のピア１７７５は、１又は複数のサーバ１７５０に情報を送ってよい。特定の実施形態では、複数の第２のピア１７７５は、サーバ１７５０に情報を送ってよい。情報は、配布コード１７５６、預託キー１７７７、及び登録プロセス１７００を実行するために必要な他の任意の情報を含んでよい。
【０１６２】
登録方法１７００は、サーバデータベースに１又は複数のキーを格納することを含んでよい。幾つかの実施形態では、サーバ１７５０は、１又は複数の第２のピア１７７５から情報を受け取るように構成されてよい。特定の実施形態では、サーバ１７５０は、配布コード１７５６及び預託キー１７７７を含む情報を複数の第２のピア１７７５から受け取ってよい。サーバ１７５０は、配布コード１７５６及び預託キー１７７７をデータベース１７５７に格納してよい。図１９を参照すると、配布コード１７５６及び預託キー１７７７は、データベース１７５７内に格納されたピアリスト１９５８に格納されてよい。特定の実施形態では、配布コード１９５６及び預託キー１７７７は、格納された配布キー１９５３及び受信者コード１９５２と対にされており、それは、第１のピア１９０１と、サーバ１９５０と、特定の第２のピア１９７５との間で行われたトランザクションに固有のものであってよい。
【０１６３】
認証方法は、図２０に示すように、ログイン方法を含んでよい。ログイン方法２０００は、１又は複数のログインキーを作成すること、１又は複数の検証キーを配布し、ローカルデータベース内の検証キーを検証すること、検証プロセスを有効にすることから構成されてもよい。更に、ログイン方法２０００は、１又は複数の第１のピア２００１と、１又は複数のサーバ２０５０と、１又は複数の第２のピア２０７５との間の通信を含んでよい。
【０１６４】
ログイン方法２０００は、第１のピア２００１を含んでよく、第１のピアは、ユーザと対話するように構成されてよい。第１のピア２００１は、ログイン要求２００２してよく、ログイン要求２００２は、１又は複数のサーバ２０５０に送られてよい。サーバ２０５０は、ログイン要求２００２を受け取り、ログインデータ２０５１を生成してよい。幾つかの実施形態では、ログインデータ２０５１は、ログインソルト２０２４を構成してよい。ログインソルトは、文字、数字、記号、又はそれらの任意の組合せからなる１又は複数のキャラクタを含んでよい。幾つかの実施形態では、ログインデータ２０５１は、ユーザ選択オブジェクトを含んでよい。他の実施形態では、ログインデータ２０５１は、１又は複数のログインソルト２０２４と、ユーザ選択オブジェクトと、ログイン方法２０００に必要な他の任意のデータとを含んでよい。
【０１６５】
１又は複数のログインキーを生成することは、ユーザ入力２００４からサーバキー２００５及びクライアントキー２００６を生成することを更に含んでよい。幾つかの実施形態では、サーバキー２００５及びクライアントキー２００６が使用されて、ログインキー２０９９が生成されてよい。他の実施形態では、サーバキー２００５、クライアントキー２００６、及び少なくともログインソルト２０２４が、ログインキー２０９９を生成するために使用されてよい。他の実施形態では、クライアントキー２００６、サーバキー２００５、及びログインソルト２０２４の異なる組合せが、ログインキー２０９９を生成するために使用されてよい。例えばクライアントキー２００６、ログインソルト２０２４のような幾らかの情報が、第１のピア２００１のメモリ２００８に格納されてよい。更に、１又は複数のログインキーを生成することは、第１のピア２００１からサーバ２０５０に情報を転送することを含んでよい。幾つかの実施形態では、ログインキー２０９９及びサーバキー２００５がサーバ２０５０に転送される。
【０１６６】
また、図２０に示すように、１又は複数の検証キーを配布することは、サーバ２０５０にて第１のピア２００１から情報を受け取ることを含んでよい。幾つかの実施形態では、サーバ２０５０で受け取った情報は、ログインキー２０９９及びサーバキー２００５を含んでよい。サーバ２０５０は、受信者コード２０５２を生成してよい。更に、サーバ２０５０は、送信者コード２０５４を生成してよい。更に、サーバ２０５０は、配布コード２０５６を生成してよい。サーバキー２００５、受信者コード２０５２、及び送信者コード２０５４が使用されて検証キー２０６２が生成されてよい。幾つかの実施形態では、検証キー２０６２は、１又は複数のサーバキー２００５、受信者コード２０５２、検証ソルト２０２４、又は送信者コード２０５４、或いは、それらの任意の組合せから生成されてよい。幾つかの情報、例えば、受信者コード２０５２、検証キー２０６２は、サーバ２０５０のデータベース２０５７に格納されてよい。幾つかの実施形態では、検証キー２０６２は、サーバ２０５０のデータベース２０５７に格納されなくてもよい。複数の検証キーを配布することは、サーバ２０５０から少なくとも１つの第２のピア２０７５に情報を転送することを更に含んでよい。幾つかの実施形態では、検証キー２０６２及び配布コード２０５６は、少なくとも１つの第２のピア２０７５に転送される。
【０１６７】
ログイン方法２０００は、ローカルデータベース上で１又は複数の検証キーを検証することを更に含んでよい。図２０に図示されているように、少なくとも１つの第２のピア２０７５は、サーバ２０５０から情報を受け取ってよい。幾つかの実施形態では、情報は、検証キー２０６２及び配布コード２０５６を含んでよい。他の実施形態では、情報は、検証キー２０６２、配布コード２０５６、及び検証ソルト２０６３を含んでよい。第２のピア２０７５は、配布コード２０５６と検証キー２０６２の任意の組合せを使用して、対応する配布キーが第２のピア２０７５のメモリ２０７８に格納されている可能性があることを突き止めて確認してよい。格納された配布キーが使用されて、確認キー２０８１が生成されてよい。幾つかの実施形態では、格納された配布キー２０５３と、サーバ２０５０から受け取った検証ソルト２０６３とが使用されて、確認キー２０８１が生成されてよい。第２のピア２０７５は、サーバ２０５０に情報を送ってよく、この情報は、確認キー２０８１、配布コード２０５６、及びログイン方法２０００に必要な他の情報の任意の組合せを含んでよい。
【０１６８】
検証プロセスを有効にすることは、第２のピア２０７５から情報を受け取り、受け取った情報をサーバ２０５０のデータベース２０５７に格納されている情報と比較することを含んでよい。幾つかの実施形態では、サーバ２０５０は、第２のピア２０７５から情報を受け取る。受け取った情報は、確認キー２０８１と、結果と、配布コード２０５６と、サーバ２０５０による情報の保存又は比較に、又は第２のピア２０７５の特定に必要な他の情報とを含んでよい。
【０１６９】
図２１に示されているように、１又は複数のログインキー２１００を生成することは、幾つかの実施形態では、第１のピア２１０１で行われてよい。第１のピア２１０１は、任意のＩｏＴデバイス、即ち、ネットワークに接続し、データを送る能力を有する任意のデバイスであってよく、携帯電話、パーソナルアシスタント、ボタン、ホームセキュリティシステム、家電製品などを含むがこれらに限定されない。第１のピア２１０１は、サーバ２１５０からログインを要求してよい。幾つかの実施形態では、サーバ２１５０の送受信機は、ログインデータを第１のピア２１０１に送ってよい。ログインデータは、第１のピア２１０１の送受信機２１４１で受け取られてよく、第１のピア２１０１でログイン方法を開始するために必要なデータを含んでよい。幾つかの実施形態では、ログインデータは、ログインソルト２１２４を構成してよい。他の実施形態では、ログインデータは、ログインソルト２１２４と、ユーザ入力２１０４の前駆体として機能する付加的なデータとを含んでよい。ログインソルト２１２４は、任意の長さの１又は複数のキャラクタ列を含んでよい。
【０１７０】
また、図２１に示すように、ユーザ入力２１０４は、情報の離散的なユニットを構成する任意の形態のユーザ生成データを含んでよい。幾つかの実施形態では、ユーザ入力２１０４は、例えば、指紋、虹彩などの生体情報データを含んでいる。それらの実施形態では、生体情報データは、識別子を含む情報の離散的なユニットに分割されてよい。識別子は、固有の選択コード２１０９に変換されてよい。
【０１７１】
他の実施形態では、ユーザ入力２１０４は、１又は複数の選択オブジェクトを含んでよい。１又は複数の選択オブジェクトは、画像、アイコン、トークン、ボタン、或いは、ユーザが選択オブジェクトのグループか１又は複数の選択オブジェクトを選択することを可能にする任意の他のオブジェクトであってよい。選択オブジェクトは、第１のピア２１０１の表示装置２１４３に表示されてよく、任意の数のキャラクタ、例えば、文字、数字、記号を含む選択コード２１０９に変換されてよい。特定の実施形態では、選択オブジェクトは画像であって、サーバ２１５０から受け取られてよい。各画像には固有の選択コード２１０９が割り当てられており、選択オブジェクトの組合せのユーザによる選択は、選択コード２１０９の組合せを含むユーザ入力２１０４を生成し、当該組合せは、ユーザによる選択オブジェクトの選択に固有である。
【０１７２】
幾つかの実施形態では、ユーザは、選択コードの数がｎに等しい２つ以上の選択コード２１０９を含むユーザ入力２１０４を生成してよい。選択コード２１０９は、データマニピュレータ２１４４によって第１のグループ２１１０と第２のグループ２１１１とに分割されてよい。ここで、第１のグループ２１１０は、１乃至ｎ−１個の選択コード２１０９を含んでおり、第２のグループ２１１１は、１乃至ｎ−１個の選択コード２１０９を含んでいる。第１のグループ２１１０及び第２のグループ２１１１の各選択コード２１０９は、データ変換器２１４５によって１又は複数のキャラクタ列に個別に変換２１１２されてよく、その結果、変換された選択コードの第１のグループ２１１３と変換された選択コードの第２のグループ２１１５とが得られる。幾つかの実施形態では、変換２１１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換２１１２は、暗号化手段を使用することを含んでよい。更に他の実施形態では、変換２１１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。変換された選択コードの第１のグループ２１１３が使用されて、クライアントプレキー２１１４が生成されてよい。変換された選択コードの第１のグループ２１１３を構成する個々の変換された選択コードは、データマニピュレータ２１４４によって結合されて、クライアントプレキー２１１４を構成する１又は複数のキャラクタ列が形成されてよい。幾つかの実施形態では、個々の変換された選択コードは、ユニットの連結によって結合されてもよい。連結は、変換された個々の選択コードをユニットとして使用することを含んでよく、変換された個々の選択コードのピースをユニットとして使用することを含んでよい。クライアントプレキー２１１４は、データ変換器２１４５によってクライアントキー２１０６に変換されてよい。幾つかの実施形態では、変換２１１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換２１１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換２１１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。クライアントキー２１０６は、処理マイグレータ２１４７によって、第１のピア２１０１のメモリユニット２１０８に格納されてよい。ログイン方法によって生成されたクライアントキー２１０６は、処理検証器２１４７によって、アイデンティティの登録処理の間に第１のピア２１０１のメモリ２１０８に格納されたクライアントキー２１０６と比較されてよい。
【０１７３】
変換された選択コードの第２のグループ２１１５が使用されて、サーバプレキー２１１６が生成されてよい。変換された選択コードの第２のグループ２１１５を構成する個々の変換された選択コードは、データマニピュレータ２１４４によって結合されて、サーバプレキー２１１６を構成する１又は複数のキャラクタ列が形成されてよい。幾つかの実施形態では、個々の変換された選択コードは、ユニットの連結によって結合されてよい。連結は、変換された個々の選択コードをユニットとして使用することを含んでよく、変換された個々の選択コードのピースをユニットとして使用することを含んでよい。サーバプレキー２１１６は、データ変換器２１４５によってサーバキー２１０５に変換されてよい。幾つかの実施形態では、変換２１１２は、ハッシュアルゴリズムを使用して構成されてもよい。他の実施形態では、変換２１１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換２１１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。
【０１７４】
幾つかの実施形態では、ログインキー２１９９が生成されてよい。クライアントキー２１０６及びサーバキー２１０５の各々は、データマニピュレータ２１４４によって、クライアントキーの第１の部分２１１７、クライアントキーの第２の部分２１１８、サーバキーの第１の部分２１１９、及びサーバキーの第２の部分２１２０に分割されてよい。クライアントキーの第１の部分２１１７及びクライアントキーの第２の部分２１１８は、クライアントキー２１０６を構成するキャラクタの異なる部分を含んでよい。特定の実施形態では、クライアントキーの第１の部分２１１７及びクライアントキーの第２の部分２１１８の各々は、クライアントキー２１０６の半分であってもよい。サーバキーの第１の部分２１１９及びサーバキーの第２の部分２１２０は、サーバキー２１０５を構成するキャラクタの異なる部分を含んでよい。特定の実施形態では、サーバキーの第１の部分２１１９及びサーバキーの第２の部分２１２０の各々は、サーバキー２１０５を構成するキャラクタの半分であってよい。クライアントキーの第１の部分２１１７、クライアントキーの第２の部分２１１８、サーバキーの第１の部分２１１９、及びサーバキーの第２の部分２１２０は、ユニットの連結を介してデータマニピュレータ２１４４によって結合されて、第１のプレキー２１２１を構成する１又は複数のキャラクタが形成されてよい。連結は、クライアントキーの第１の部分２１１７、クライアントキーの第２の部分２１１８、サーバキーの第１の部分２１１９、及びサーバキーの第２の部分２１２０の各々をユニットとして用いることを含んでよく、或いは、クライアントキーの第１の部分２１１７、クライアントキーの第２の部分２１１８、サーバキーの第１の部分２１１９、及びサーバキーの第２の部分２１２０のピースをユニットとして用いることを含んでよい。
【０１７５】
第１のプレキー２１２１は、データ変換器２１４５によって、第２のプレキー２１２２を構成する１又は複数のキャラクタ列に変換２１１２されてよい。幾つかの実施形態では、変換２１１２は、ハッシュアルゴリズムを使用して構成されてもよい。他の実施形態では、変換２１１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換２１１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。第２のプレキー２１２２が使用されて、登録プレキー２１２３が生成されてよい。幾つかの実施形態では、第２のプレキー２１２２とクライアント登録コード２１０３は、データマニピュレータ２１４４によって連結されて、登録プレキー２１２３を構成する１又は複数のキャラクタ列が形成されてよい。連結は、第２のプレキー２１２２とクライアント登録コード２１０３の各々をユニットとして用いることを含んでよく、第２のプレキー２１２２とクライアント登録コード２１０３のピースをユニットとして用いることを含んでよい。クライアント登録コード２１０３は、処理マイグレータ２１４２によって登録処理中に第１のピア２１０１のメモリ２１０８に格納されてよい。登録プレキー２１２３は、データ変換器２１４４によって、登録キー２１０７を構成する１又は複数のキャラクタ列に変換されてよい。幾つかの実施形態では、変換２１１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換２１１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換２１１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。幾つかの実施形態では、登録キー２１０７は、図１７に示す登録方法１７００の間に第１のピア１７０１によって生成された登録キー１７０７と同一であってよい。図２１を参照すると、登録キー２１０７が使用されてログインキー２１９９が生成されてよい。幾つかの実施形態では、登録キー２１０７とログインソルト２１２４が使用されて、ログインキー２１９９が生成されてよい。登録キー２１０７及びログインソルト２１２４は、データマニピュレータ２１４４によって連結されて、ログインプレキー２１９８を構成する１又は複数のキャラクタ列が形成されてよい。連結は、登録キー２１０７とログインソルト２０２４の各々をユニットとして用いることを含んでよく、登録キー２１０７とログインソルト２０２４のピースをユニットとして用いることを含んでよい。ログインプレキー２１９８が使用されて、ログインキー２１９９が生成されてよい。幾つかの実施形態では、ログインプレキー２１９８は、データ変換器２１４５によってログインキー２１９９に変換されてよい２１１２。幾つかの実施形態では、変換２１１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換２１１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換２１１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。
【０１７６】
第１のピア２１０１は、サーバ２１５０に情報を送ってよい。幾つかの実施形態では、第１のピア２１０１の送受信機２１４１は、ログインキー２１９９及びサーバキー２１０５をサーバ２１５０に送ってよい。他の実施形態によれば、第１のピア２１０１の送受信機２１４１は、ログインキー２１９９と、サーバキー２１０５と、ログイン方法に必要な他の情報とをサーバ２１５０に送ってよい。
【０１７７】
ログイン方法は、１又は複数の検証キーを配布することを更に含んでよい。図２２に図示されているように、サーバ２２５０は、第１のピア２２０１から情報を受け取ってよい。幾つかの実施形態では、サーバ２２５０の送受信機２２４１は、第１のピア２２０１からログインキー２２９９を受け取ってよい。サーバ２２５０の送受信機２２４１は、第１のピア２２０１からサーバキー２２０５を受け取ってよい。サーバ２２５０の送受信機２２４１は、ログインキー２２９９及びサーバキー２２０５の両方を第１のピア２２０１から受け取ってよい。幾つかの実施形態では、サーバ２２５０は、比較ログインキー２２６０を生成してよい。比較ログインキー２２６０は、サーバ２２５０のデータベース２２５７に格納されている登録キー２２０７を登録方法中に使用することで生成されてよい。サーバ２２５０の処理マイグレータ２２４２は、登録キー２２０７及びログインソルト２２２４をデータベース２２５７からマイグレートしてよい。サーバ２２５０のデータマニピュレータ２２４４は、連結により登録キー２２０７とログインソルト２２２４を結合して、比較ログインプレキーを生成してよい。比較ログインプレキーは、データ変換器２２２４５によって比較ログインキー２２６０に変換されてよい。幾つかの実施形態では、変換２２１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換２２１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換２２１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。サーバ２２５０の処理検証器２２４７は、第１のピア２２０１が送ったログインキー２２９９と比較ログインキー２２６０とを比較して、第１のピア２２０１と通信してもよいか否かを判定してよい。
【０１７８】
ログインキー２２９９は、処理マイグレータ２２４２によってサーバ２２５０のデータベース２２５７に格納されてよい。サーバは、データマイグレータ２２４２を使用して、以前に格納されたピアリスト２２５８にアクセスしてよい。格納されたピアリスト２２５８は、例えば第１のピア２２０１、第２のピア２２７５のようなネットワーク上のピアデバイスのリストを含んでよい。ピアリストはまた、受信者コード２２５２及び配布コード２２５６を含んでよく、これらは、任意の長さの１又は複数のキャラクタ列を含んでよい。更に、サーバ２２５０の処理生成器２２４６は、送信者コード２２５４を生成してよく、これもまた、任意の長さの１又は複数のキャラクタ列を含んでよい。
【０１７９】
サーバ２２５０のデータマニピュレータ２２４４は、サーバキー２２０５、受信者コード２２５２、送信者コード２２５４、配布コード２２５６、又はログインキー２２９９の任意の組合せを組み合わせて、配布プレキー２２５９を生成してもよい。幾つかの実施形態では、配布プレキー２２５９は、サーバキー２２０５、送信者コード２２５４、及び受信者コード２２５２を含んでおり、これらは、ユニットの連結によって結合されて、１又は複数のキャラクタ列が形成されてよい。連結は、サーバキー２２０５、送信者コード２２５４、受信者コード２２５２の各々をユニットとして用いることを含んでよく、サーバキー２２０５、送信者コード２２５４、受信者コード２２５２のパーツをユニットとして用いることを含んでよい。
配布プレキー２２５９は、データ変換器２２４５によって、配布キー２２５３を構成する１又は複数のキャラクタ列に変換２２１２されてよい。幾つかの実施形態では、変換２２１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換２２１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換２２１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。配布キー２２５３は、サーバ２２５０のデータベース２２５７に格納されてよい。検証プレキー２２６１は、サーバ２２５０のデータマニピュレータ２２４４によって生成されてよい。幾つかの実施形態では、配布キー２２５３と、サーバ２２５０の処理生成器２２４６によって生成され、任意の数のキャラクタを含んでいる検証ソルト２２６３とが連結されて、検証プレキー２２６１が生成されてよい。連結されてよい。検証プレキー２２６１は、データ変換器２２４５によって検証キー２２６２に変換されてよい。幾つかの実施形態では、変換２２１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換２２１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換２２１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。
【０１８０】
サーバ２２５０は、第２のピア２２７５に情報を送るように構成されてよい。幾つかの実施形態では、サーバ２２５０の送受信機２２４１は、検証キー２２６２及び配布コード２２５６６を第２のピア２２７５に送ってよい。他の実施形態では、サーバ２２５０の送受信機２２４１は、検証キー２２６２、配布コード２２５６、検証ソルト２２６３、及びログイン方法２０００に必要な他の情報を第２のピア２２７５に送ってよい。幾つかの実施形態では、サーバ２２５０は、配布キー２２５３、検証ソルト２２６３、配布コード２２５６の任意の組合せを第２のピア２２７５に送ってよい。
【０１８１】
サーバ２２５０は、１又は複数の検証キー２２６２を生成し、１又は複数の第２のピア２２７５にデータを送ってよい。幾つかの実施形態では、ピアリスト２２５８は、ネットワーク上の１又は複数の第２のピア２２７５のリストを含んでよい。第２のピアは、ネットワーク上にあって、サーバ２２５０からデータを送受信することができる任意のＩｏＴデバイス、サーバ、又は任意のデバイスを含んでよい。サーバ２２５０は、各第２のピア２２７５に対して固有の配布コード２２５６を生成してよい。サーバ２２５０は、各第２のピア２２７５に対して固有の受信者コード２２５２を生成してよい。これらの実施形態では、各第２のピア２２７５のために生成される検証キー２２６２は、他の第２のピア２２７５のために生成される検証キー２２６２とは異なってよいが、第１のピア２２０１から受け取った基礎となるサーバキー２２０５は同一であってよい。検証キー２２６２は、サーバ２２５０のデータベース２２５７に格納されても、格納されていなくてもよい。
【０１８２】
ここで図２３を参照すると、ログイン方法は、ローカルデータベース上の１又は複数のログインキーを検証することを含んでよい。幾つかの実施形態では、第２のピア２３７５は、情報を受け取ってサーバ２３５０に送るように構成されてよい。第２のピア２３７５の送受信機２３４１は、サーバ２３５０から検証キー２３６２を受け取ってよい。第２のピア２３７５の送受信機２３４１は、サーバ２３５０から配布コード２３５６を受け取ってよい。幾つかの実施形態では、第２のピア２３７５の送受信機２３４１は、検証キー２３６２、配布コード２３５６、及び検証ソルト２３６３をサーバ２３５０から受け取ってよい。配布コード２３５６は、第２のピア２３７５のメモリ２３７８に格納されている全ての配布コード２３５６にわたって、処理検証器２３４７によって比較されてよい。サーバ２３５０から受け取った配布コード２３５６が、第２のピア２３７５のメモリ２３７８に格納されている配布コード２３５６と同一である場合、第２のピア２３７５の処理生成器２３４６は、肯定的である結果２３８２を生成してよい。第２のピア２３７５が受け取った配布コード２３５６が、第２のピア２３７５のメモリ２３７８に格納されている配布コード２３５６と同一でない場合、第２のピア２３７５の処理生成器２３４６は、否定的である結果２３８２を生成してよい。幾つかの実施形態では、検証キー２３６２はまた、同一の配布コード２３５６の場所を確認するために使用される。第２のピア２３７５が、第２のピア２３７５のメモリ２３７８に格納された１又は複数の配布コード２３５６が、サーバ２３５０から受け取った配布コード２３５６と同一であると判定した場合、第２のピア２３７５の処理マイグレータ２３４２は、一致する配布コード２３５６に関連する配布キー２３５３をメモリ２３７８から削除してもよい。第２のピア２３７５のメモリ２３７８から削除された配布キー２３５３と検証ソルト２３６３とがデータマニピュレータ２３４４で使用されて、連結によって確認プレキー２３８０が生成されてよい。確認プレキー２３８０は、データ変換器２３４５によって確認キー２３８１に変換されてよい。幾つかの実施形態では、変換２３１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換２３１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換２３１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。
【０１８３】
幾つかの実施形態では、第２のピア２３７５は、サーバ２３５０から配布キーと検証ソルト２３６３を受け取ってよい。第２のピア２３７５は、第２のピア２３７５にて配布キー及び検証ソルト２３６３を連結して検証プレキーを生成してよい。検証プレキーは、検証キー２３６２に変換２３１２されてよい。
【０１８４】
幾つかの実施形態では、第２のピア２３７５は、比較検証キー２３８３を生成してよい。第２のピア２３７５は、サーバ２３５０から受け取った検証ソルト２３６３と格納されている配布キー２３５３とを連結することにより、比較検証キー２３８３を生成してよい。比較検証プレキーは、比較検証キーに変換２３１２されてよい。幾つかの実施形態では、比較検証キー２３８３は、受け取った検証キー２３６２と処理検証器２３４７によって比較されて、結果２３８２が生成されてよい。幾つかの実施形態では、結果２３８２は、検証キー２３６２と比較検証キー２３８３とを比較して生成された結果と、受け取られた配布コード２３５６と格納されている配布コード２３５６とを比較して生成された結果とを含んでよい。確認キー２３８１は、検証ソルト２３６３と、第２のピア２３７５のメモリ２３７８から取得された預託キー２３７７から生成されてよい。預託キー２３７７と検証ソルト２３６３は、データマニピュレータ２３４４によって連結されて確認プレキー２３８０が生成されてよい。確認プレキー２３８０は、確認キー２３８１に変換されてよい。確認キー２３８１、配布コード２３５６、及び結果２３８２の任意の組合せは、第２のピア２３７５からサーバ２３５０に送られてよい。
【０１８５】
第２のピア２３７５は、サーバ２３５０にデータを送るように構成されてよい。幾つかの実施形態では、第２のピア２３７５の送受信機２３４１は、結果２３８２、配布コード２３５６、及び確認キー２３８１の任意の組合せをサーバ２３５０に送ってよい。幾つかの実施形態では、第２のピア２３７５は、トランザクションに関連付けられている全てのデータを削除するように構成されてよい。特定の実施形態では、第２のピア２３７５は、第２のピア２３７５のメモリ２３７８又は第２のピア２３７５のプロセッサから、配布コード２３５６、預託キー２３７７、配布キー２３５３、検証キー２３６２、検証ソルト２３２６、確認プレキー２３８０、及び確認キー２３８１の任意の組合せを削除してよい。幾つかの実施形態では、データの削除は、サーバ２３５０へのデータの送信と同時に起こってよい。他の実施形態では、データの削除は、サーバ２３５０にデータを送った後に起こってよい。
【０１８６】
ここで図２４を参照すると、ログイン方法は、検証プロセス２４００を有効にすることを更に含んでよい。サーバ２４５０は、１又は複数の第２のピア２４７５からデータを受け取るように構成されてよい。幾つかの実施形態では、サーバ２４５０の送受信機２４４１は、確認キー２４８１、結果２４８２、及び配布コード２４５６の任意の組合せを受け取ってよい。サーバ２４５０は、第２のピア２４７５から受け取った結果２４８２を承認してよい。結果が肯定的である場合、サーバ２４５０の処理検証器２４４７は、第２のピア２４７５から受け取った配布コード２４５６を、サーバ２４５０のデータベース２４５７に格納されている全て又は一部の配布コード２４５６と比較してよい。サーバ２４５０のデータベース２４５７に格納されている配布コード２４５６が第２のピア２４７５から受け取った配布コード２４５６と同一である場合、その後、サーバ２４５０の処理マイグレータ２４４２は、検証ソルト２４６３と、配布コード２４５６に関連付けられてサーバ２４５０のデータベース２４５７に格納されている可能性のある配布キー２４５３との任意の組合せを取得してよい。幾つかの実施形態では、取得された配布キー２４５３は、登録プロセス中に格納された配布キー２４５３であってもよい。取得された検証ソルト２４６３と取得された配布キー２４５３とは、データマニピュレータ２４４４によって使用されて、検証ソルト２４６３と配布キー２４５３とを連結して検証プレキー２４６１が生成されてよい。検証プレキー２４６１は、データ変換器２４４５によって検証キー２４６２に変換されてよい。幾つかの実施形態では、変換２４１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換２４１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換２４１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。
【０１８７】
サーバ２４５０の処理検証器２４４７は、生成された検証キー２４６２を第２のピア２４７５から受け取った確認キー２４８１と比較し、処理生成器２２４６が認証結果２４６４を生成してよい。検証キー２４６２が第２のピア２４７５から受け取った確認キー２４８１と同一である場合、結果は肯定的、例えば認証成功であってよい。検証キー２４６２が、第２のピア２４７５から受け取った確認キー２４８１と同一でない場合、認証結果２４６４は、否定的、例えば、認証失敗又は脅威であってよい。サーバ２４５０の処理マイグレータ２４４２は、認証結果２４６４をデータベース２４５７に格納してよい。幾つかの実施形態では、認証結果２４６４は、登録方法の間に生成された関連する配布キー２４５３と共に格納される。
【０１８８】
サーバ２４５０は、新しい配布キー２４５３を１又は複数の第２のピア２４７５に送ってよい。図１９を参照すると、サーバ２４５０は、サーバ２４５０のデータベース１９５７に新しいピアリスト１９５８を生成してよい。幾つかの実施形態では、サーバ１９５０は、新しい受信者コード１９５２と新しい配布コード１９５６の任意の組合せを割り当ててよく、新しい受信者コード１９５２と新しい配布コード１９５６の任意の組合せを使用して、１又は複数の配布キー１９００を配布することと同一であってもよい方法で新しい配布キー１９５３を生成してよい。サーバ１９５０は、新たに生成された配布キー１９５３を、第２のピア１９７５に送ってよく、第２のピア１９７５は、以前に配布キー１９５３を格納していた第２のピア１９７５とは異なってよい。
【０１８９】
ウェブ認証方法は、バーコードを生成することと、１又は複数のキーを生成することと、ウェブセッションを確立することとを含んでよい。更に、ウェブ認証システムは、１又は複数の第１のデバイス、第２のデバイス、第１のサーバ、第２のサーバ、及びインターネットアプリケーションの間での通信を含んでよい。１又は複数の第１のデバイス、第２のデバイス、第１のサーバ、及び第２のサーバは、少なくともプロセッサと送受信機とを含んでよい。１又は複数の第１のデバイス及び１又は複数の第２のデバイスは更に、それぞれのメモリを含んでよい。幾つかの実施形態では、１又は複数の第１のデバイス及び１又は複数の第２のデバイスの各々は、表示装置を含んでよい。１又は複数の第１のデバイス及び１又は複数の第２のデバイスの各々は、バーコードをスキャンするための手段を含んでよい。１又は複数の第１のサーバ及び第２のサーバは、更にデータベースを含んでよい。
【０１９０】
第１のデバイス、第２のデバイス、第１のサーバ、及び第２のサーバの送信機は、外部ソースと情報を送受信するように構成されてよい。幾つかの実施形態では、第１のデバイスは、第２のデバイス、第１のサーバ、及び第２のサーバの任意の組合せとの間で情報を送受信するように構成されてよい。第１のサーバ及び第２のサーバは、第１のデバイスと第２のデバイスの両方との間で情報を送受信するように構成されてよく、第２のデバイスは、第１のサーバ、第１のデバイス、及び第２のサーバの任意の組合せとの間で情報を送受信するように構成されてよい。第１のデバイス及び第２のデバイスのメモリと、サーバのデータベースとは、情報を格納し、情報の取得を可能にするように構成されてよい。表示装置は、更に、ユーザがディスプレイと対話する、例えば、データの入力、文字の選択、オブジェクトの選択などを行うための手段を含んでよい。インターネットアプリケーションは、第１のサーバ、第２のサーバ、第１のデバイス、及び第２のデバイスの任意の組合せから情報を送信又は受信するように構成されてよい。
【０１９１】
第１のデバイス、第２のデバイス、第１のサーバ、及び第２のサーバのプロセッサは、処理マイグレータ、データマニピュレータ、データ変換器、処理生成器、及び処理検証器を含んでよい。処理マイグレータは、第１のデバイス、第２のデバイス、第１のサーバ、又は第２のサーバ内の１つの構成要素から、第１のデバイス、第２のデバイス、第１のサーバ又は第２のサーバ内の別の構成要素にデータをマイグレートするように構成されてよい。例えば、限定ではないが、処理マイグレータは、第１のデバイスのメモリから第１のデバイスのプロセッサにデータを移動させるように、或いは、第２のデバイスのプロセッサから第２のデバイスの送受信機にデータを移動させるように構成されてよい。データマニピュレータは、データを操作するように構成されていてよく、例えば、結合、分離、分離及び再結合、リオーダなどの処理を行うように構成されていてよい。例えば、限定ではないが、第１のデバイスのデータマニピュレータは、１又は複数のキャラクタ列を第１の部分と第２の部分に分割するように構成されてよく、サーバのデータマニピュレータは、データの第１の部分とデータの第２の部分とを結合して、１又は複数のキャラクタ列を生成するように構成されてよい。
【０１９２】
データ変換器は、第１のキャラクタ列を第２のキャラクタ列に変換するように構成されてよく、ここで、第１のキャラクタ列及び第２のキャラクタ列の各々は、長さ、構成、又は配置のうちの任意の１又は複数が異なってよい。幾つかの実施形態では、データ変換器は、ハッシュアルゴリズムを第１のキャラクタ列に適用するように構成されてよい。他の実施形態では、データ変換器は、第１のキャラクタ列に暗号化プロトコルを適用するように構成されてよい。まだ他の実施形態では、データ変換器は、第１のキャラクタ列に復号プロトコルを適用するように構成されてもよい。更に他の実施形態では、データ変換器は、ハッシュアルゴリズム、暗号化プロトコル、復号プロトコル、又はデータ変換の他の既知の方法の任意の組合せを、第１のキャラクタ列に適用して、第２のキャラクタ列を生成するように構成されてよい。
【０１９３】
処理生成器は、データを生成するように構成されてよい。幾つかの実施形態では、データは、任意の長さの１又は複数のキャラクタ列を含んでよく、バーコードなどを含んでもよい。幾つかの実施形態では、データは、ランダムな方法又は規則的な方法で生成されてよい。処理検証器は、２つ以上のデータを比較して、それらのデータが同一であるか異なるかを判定するように構成されてよい。幾つかの実施形態では、処理検証器及び処理生成器は対になって、第１のキャラクタ列と第２のキャラクタ列が同一であるかどうかを判断し、第１のキャラクタ列と第２のキャラクタ列の同一性に基づいて応答を生成してよい。
【０１９４】
ウェブ認証方法は、図２５に示すように、バーコードを生成することを含んでよい。バーコード２５００の生成は、インターネットアプリケーション２５９０で開始されてよい。幾つかの実施形態では、ユーザは、ログイン要求によってインターネットアプリケーション２５９０でバーコード２５００の生成を開始してよい。第１の合意プロトコルペア２６４６は、処理生成器２６４６によって生成されてよい。幾つかの実施形態では、第１の合意プロトコルペア２６４６は、インターネットアプリケーション２５９０にて処理生成器２６４６によって生成されてよい。第１のキー合意プロトコルペア２５２６は、当技術分野の通常の技術を有する者に普通に知られている任意のキー合意プロトコルペアを含んでよい。幾つかの実施形態では、第１のキー合意プロトコルペア２５２６は、楕円曲線ディフィーヘルマン（Elliptic-curve Diffie-Hellman）（ＥＣＤＨ）ペアを含んでよい。幾つかの実施形態によれば、インターネットアプリケーション２５９０は、第１のサーバ２５２５に情報を送るように構成されてよい。処理マイグレータ２６４２は、インターネットアプリケーション２５９０の送受信機２５４１に情報を転送してよい。インターネットアプリケーション２５９０は、第１の公開キー２５０３、第１の秘密キー２５０４、及びバーコード２５０５を生成するために必要な他の情報の任意の組合せを送ってよい。
【０１９５】
幾つかの実施形態では、第１のサーバ２５２５は、インターネットアプリケーション２５９０から情報を受け取るように構成されてよい。第１のサーバ２５２５の送受信機２５４１は、第１の公開キー２５０３、第１の秘密キー２５０４、及びインターネットアプリケーション２５９０からバーコード２５００を生成するための他の必要な情報の任意の組合せを受け取ってよい。第１のサーバ２５２５は、ランダムキー２５２７を生成してよく、ランダムキー２５２７は、第１のサーバ２５２５の処理生成器２６４６によって生成されてよい。ランダムキー２５２７は、任意の長さの１又は複数のキャラクタ列を含んでよく、キャラクタは、文字、数字、及び記号を含んでよい。幾つかの実施形態では、バーコード２５０５が生成されてよい。処理生成器２５４６は、バーコード前駆体を使用してバーコード２５０５を生成してよい。バーコード２５０５は、任意のタイプのバーコード２５０５を含んでよく、限定ではなく、任意の線形バーコード、２次元バーコード、又は当技術分野の通常の技術を有する者に普通に知られている任意のタイプの読取可能なインディシア（indicia）を含んでいる。幾つかの実施形態では、バーコード２５０５は、ＱＲコードを含んでよい。バーコード２５０５は、第１の公開キー２５０３、第１の秘密キー２５０４、ランダムキー２５２７、及びバーコード２５００を生成するために必要な他の情報の任意の組合せから生成されてよい。特定の実施形態では、バーコード２５０５は、第１のサーバ２５２５のデータマニピュレータ２５４４によって生成されてよく、また、第１の公開キー２５０３及びランダムキー２５２７に基づいてよい。第１のサーバ２５２５は、インターネットアプリケーション２５９０に情報を転送するように構成されてよい。幾つかの実施形態では、第１のサーバ２５２５の送受信機２５４１は、インターネットアプリケーション２５９０に情報を送るように構成されてよい。特定の実施形態では、第１のサーバ２５２５は、バーコード２５０５をインターネットアプリケーション２５９０に送ってよい。インターネットアプリケーション２５９０は、送受信機２５４１でバーコード２５０５を受け取ってよく、インターネットアプリケーション２５９０の表示装置にバーコード２５０５を表示してよい。
【０１９６】
ウェブ認証方法は、図２６、図２７、及び図２８に示すように、１又は複数のキーを生成することを含んでよい。図２６を参照すると、１又は複数のキー２６００を生成することは、第１のデバイス２６５０がバーコード２６０５をスキャンすることを含んでよい。第１のデバイス２６５０のデータマニピュレータ２６４４は、バーコード２６０５内に含まれる情報から、ランダムキー２６２７、第１の公開キー２６０３、又はランダムキー２６２７及び第１の公開キー２６０３を生成してもよい。データマニピュレータ２６４４は、１又は複数のキー２６００を生成するために、バーコード２６０５内に含まれる任意の情報を外挿してよい。更に、第１のデバイス２６５０の処理生成器２６４６は、第２のキー合意プロトコルペア２６５１を生成してよい。第２のキー合意プロトコルペア２６５１は、当技術分野の通常の技術を有する者に普通に知られている任意のキー合意プロトコルペアを含んでよい。幾つかの実施形態では、第２のキー合意プロトコルペア２６５１は、楕円曲線ディフィーヘルマン（ＥＣＤＨ）ペアを含んでよい。幾つかの実施形態では、第２のキー合意プロトコルペア２６５１は、第２の秘密キー２６５２と第２の公開キー２６５３とを含んでよい。バーコード２６０５から外挿された第２の秘密キー２６５２と第１の公開キー２６０３は、データマニピュレータ２６４４によって結合されて、秘密キー２６５４が生成されてよい。第１のデバイス２６５０の処理生成器２６４６は、ソルト２６５５、初期化ベクトル２６５６、及び反復数２６５７の任意の組合せを生成してもよい。特定の実施形態では、第１のデバイス２６５０の処理生成器２６４６は、ソルト２６５５、初期化ベクトル２６５６、及び反復数２６５７の各々を生成してよい。ソルト２６５５、初期化ベクトル２６５６、及び反復数２６５７の各々は、任意の長さの１又は複数のキャラクタ列を含んでよく、キャラクタは、文字、数字、又は記号の任意の組合せを含んでよい。初期化ベクトル２６５６は、ｎ個に等しいキャラクタ数であってよく、更にＩＶの第１の部分２６５８及びＩＶの第２の部分２６５９を含んでもよい。ＩＶの第１の部分２６５８及びＩＶの第２の部分２６５９は、それぞれ、１乃至ｎ−１のキャラクタ数であってよい。反復数２６５７は、ｎに等しいキャラクタ数であってよく、更にＩＮの第１の部分２６６０とＩＮの第２の部分２６６１を含んでよい。ＩＮの第１の部分２６６０及びＩＮの第２の部分２６６１は、それぞれ、１乃至ｎ−１のキャラクタ数であってよい。データマニピュレータ２６４４は、ＩＶの第１の部分２６５８及びＩＶの第２の部分２６５９を初期化ベクトル２６５６から生成してよい。データマニピュレータ２６４４は、ＩＮの第１の部分２６６０及びＩＮの第２の部分２６６１を反復数２６５７から生成してよい。幾つかの実施形態によれば、秘密キー２６５４、ソルト２６５５、ＩＶの第１の部分２６５８、及びＩＮの第１の部分２６６０は、データ変換器２６４５によって、マスクされた秘密キー２６６２、マスクされたソルト２６６３、マスクされたＩＶの第１の部分２６６４、及びマスクされたＩＮの第１の部分２６６５にそれぞれ変換されてよい。幾つかの実施形態では、初期化ベクトル２６５６は、データ変換器２６４５によってマスクされたＩＶの第１の部分２６６４に変換されてよい。同様に、反復数２６５７は、データ変換器２６４５によって、マスクされたＩＮの第１の部分２６６５に変換２６１２されてよい。幾つかの実施形態では、変換２６１２は、ハッシュアルゴリズムを使用することを含んでよい。他の実施形態では、変換２６１２は、暗号化方法を使用することを含んでよい。更に他の実施形態では、変換２６１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。幾つかの実施形態では、反復数２６５７は、ＩＮの第１の部分２６６０及びＩＮの第２の部分２６６１を生成せず、そのまま残っていてよく、その結果、ＩＮの第１の部分２６６０は変換２６１２されなくてよい。
【０１９７】
第１のデバイス２６５０の処理生成器２６４６は、クライアントキー２６６６を生成してよい。クライアントキー２６６６は、任意の長さの１又は複数のキャラクタ列を含んでよく、キャラクタは、文字、数字、又は記号の任意の組合せを含んでよい。幾つかの実施形態では、クライアントキー２６６６は、データ変換器２６４５によって第１のマスクされたクライアントキー２６６７に変換されてよい。他の実施形態では、クライアントキー２６６７は、データ変換器２６４５によって、第２のマスクされたクライアントキー２６６８に変換されてよい。更に他の実施形態では、クライアントキー２６６７は、データ変換器２６４５によって、第１のマスクされたクライアントキー２６６７及び第２のマスクされたクライアントキー２６６８のそれぞれに変換２６１２されてよい。変換２６１２は、ハッシュアルゴリズムを使用することを含んでよい。更に、変換２６１２は、暗号化手段を使用することを含んでよい。幾つかの実施形態では、変換２６１２は、ハッシュアルゴリズムと暗号化方法の組合せを使用することを含んでよい。第１のデバイス２６５０は、第１のサーバ２６２５に情報を送るように構成されてよい。幾つかの実施形態では、第１のデバイス２６５０の送受信機２６４１は、第１のマスクされたクライアントキー２６６７、第２のマスクされたクライアントキー２６６８、マスクされた秘密キー２６６２、マスクされたソルト２６６３、マスクされたＩＶの第１の部分２６６４、及びマスクされたＩＮも第１の部分２６６５の任意の組合せを第１のサーバ２６２５に送るように構成されてよい。幾つかの実施形態では、第１のデバイス２６５０は、ＩＶの第２の部分２６５９及びＩＮの第２の部分２６６１のそれぞれを第１のデバイス２６５０の表示装置２６６９に表示してよい。特定の実施形態では、反復数２６５７は、その全体として第１のデバイス２６５０の表示装置２６６９に表示されてよい。
【０１９８】
図２７を参照すると、１又は複数のキーを生成することは、第１のサーバ２７２５が第１のデバイス２７５０から情報を受け取ることを含んでよい。幾つかの実施形態では、第１のサーバ２７２５の送受信機２７４１は、マスクされた秘密キー２７６２、第２のマスクされたクライアントキー２７６８、マスクされたソルト２７６３、マスクされたＩＶの第１の部分２７６４、マスクされたＩＮの第１の部分２７６５、及びマスクされた第１のマスクされたクライアントキー２７６７の任意の組合せを第１のデバイス２７５０から受け取ってよい。幾つかの実施形態では、第１のサーバ２７２５の処理マイグレータ２７４２は、第１のデバイス２７５０から受け取ったマスクされた秘密キー２７６２、第２のマスクされたクライアントキー２７６８、マスクされたソルト２７６３、マスクされたＩＶ第１部分２７６４、マスクされたＩＮの第１の部分２７６５、及び第１のマスクされたクライアントキー２７６７のうちの１又は複数を、第１のサーバ２７２５のデータベース２７２９に格納してよい。特定の実施形態によれば、第１のサーバ２７２５の処理マイグレータ２７４２は、第１のサーバ２７２５のデータベース２７２９に第１のマスクされたクライアントキー２７６７を格納してもよい。
【０１９９】
第１のサーバ２７２５は、インターネットアプリケーション２７９０に情報を送るように構成されてよい。特定の実施形態では、第１のサーバ２７２５の送受信機２７４１は、マスクされた秘密キー２７６２、第２のマスクされたクライアントキー２７６８、マスクされたソルト２７６３、マスクされたＩＶの第１の部分２７６４、マスクされたＩＮの第１の部分２７６５、及び第１のマスクされたクライアントキー２７６７の任意の組合せを第１のサーバ２７２５に送ってよい。特定の実施形態では、第１のサーバ２７２５の送受信機２７４１は、マスクされた秘密キー２７６２、第２のマスクされたクライアントキー２７６８、マスクされたソルト２７６３、マスクされたＩＶの第１の部分２７６４、及びマスクされたＩＮの第１の部分２７６５を第１のサーバ２７２５に送ってよい。他の実施形態では、第１のサーバ２７２５の送受信機２７４１は、マスクされた秘密キー２７６２、第２のマスクされたクライアントキー２７６８、マスクされたソルト２７６３、及びマスクされたＩＶの第１の部分２７６４の任意の組合せ（今後、纏めて「受信データ２７２８」と称される）をインターネットアプリケーション２７９０に送ってよい。
【０２００】
図２８に図示されているように、１又は複数のキー２８００を生成することは、インターネットアプリケーション２８９０の送受信機２８４１が第１のサーバ２８２５から、受け取ったデータ２８２８を受け取ることを含んでよい。第１のデバイス２８５０は、ユーザ入力２８６９を含んでよい。このユーザ入力２８６９は、ＩＶの第２の部分２６５９及びＩＮの第２の部分２６６１（図２６参照）を含んでよく、それらはそれぞれキャラクタ列を含んでよい。ユーザ入力２８６９は、ＩＶの第１の部分と反復数とを含んでよい。幾つかの実施形態では、ユーザ入力２８６９は、第１のデバイス２８５０の表示装置２８６９に表示されてよい。１又は複数のキーを生成することは、ユーザ入力２８６９がインターネットアプリケーション２８９０に入力されることを含んでよい。インターネットアプリケーション２８９０のデータ変換器２８４４は、受け取ったデータ２８２８を、秘密キー２８５４、ＩＮの第１の部分２８６０、ソルト２８５５、ＩＶの第１の部分２８５８、及びクライアントキー２８６６のうちの１又は複数に変換２８１２してよい。変換２８１２は、ハッシュアルゴリズムを使用することを含んでよい。更に、変換２８１２は、暗号化手段を使用することを含んでよい。変換は、復号手段を使用することを含んでよい。幾つかの実施形態では、変換２８１２は、ハッシュアルゴリズム、暗号化方法、又は復号方法の任意の組合せを使用することを含んでよい。幾つかの実施形態では、インターネットアプリケーション２８９０のデータ変換器２８４４は、ユーザ入力２８６９と受信データ２８２８８の両方を使用して、秘密キー２８５４、ＩＮの第１の部分２８６０、ソルト２８５５、ＩＶの第１の部分２８５８、及びクライアントキー２８６６のうちの１又は複数へと受信データを変換２８１２してよい。処理マイグレータ２８４２は、インターネットアプリケーション２８９０の記憶装置２８９１にクライアントキー２８６６を格納してよい。インターネットアプリケーション２８９０のデータ変換器２８４５は、クライアントキー２８６６を第３のマスクされたクライアントキー２８９２に変換してよい。幾つかの実施形態では、第３のマスクされたクライアントキー２８９２は、処理マイグレータ２８４２によって、インターネットアプリケーション２８９０の送受信機２８４１にマイグレートされてよい。インターネットアプリケーション２８９０の送受信機２８４１は、第３のマスクされたクライアントキー２８９２を第１のサーバ２８２５に送ってもよい。
【０２０１】
ウェブ認証方法は、ウェブセッションを確立することを含んでよい。図２９に図示されているように、第１のサーバ２８２５の送受信機２９４１は、インターネットアプリケーション２９９０から、第３のマスクされたクライアントキー２９９２を受け取ってよい。幾つかの実施形態では、第１のサーバ２８２５の処理マイグレータ２９４２は、格納されている第１のマスクされたクライアントキー２９６７を第１のサーバ２８２５のデータベース２９２９から取得してよい。処理検証器２９４７は、取得した第１のマスクされたクライアントキー２９６７を、インターネットアプリケーション２９９０から受け取った第３のマスクされたクライアントキー２９９２と比較してよい。処理生成器２９４６は、第１のマスクされたクライアントキー２９６７と第３のマスクされたクライアントキー２９９２の同一性に基づいて結果２９３０を生成してよい。第１のサーバ２８２５の送受信機２９４１は、その結果２９３０を第２のサーバ２９８０に送ってよい。第２のサーバ２９８０の送受信機２９４１は、第１のサーバ２８２５から結果２９３０を受け取りウェブトークン２９３１を生成してよい。ウェブトークン２９３１は、処理生成器２９４６によって生成されてよい。幾つかの実施形態では、ウェブトークン２９３１は、ウェブセッションの確立を承認するための当該分野で知られている任意の手段であってよい。第２のサーバ２９８０は、生成されたウェブトークン２９３１を第１のサーバ２８２５に送ってよい。第１のサーバ２８２５の送受信機２９４１は、第２のサーバ２９８０からウェブトークン２９３１を受け取り、受け取ったウェブトークン２９３１をインターネットアプリケーション２９９０に送ってよい。インターネットアプリケーション２９９０の送受信機２９４１は、第１のサーバ２８２５からウェブトークン２９３１を受け取ってよい。
【０２０２】
幾つかの実施形態では、インターネットアプリケーションは、受け取ったウェブトークンを第２のサーバに送ってよい。第２のサーバは、ウェブブラウザからウェブトークンを受け取り、ウェブセッションを確立してよい。更に、第２のサーバは、第１のサーバに情報を送るように構成されてよい。幾つかの実施形態では、第２のサーバは、インターネットアプリケーションからのウェブトークンの受信に関する情報を送ってよい。インターネットアプリケーションからのウェブトークンの受信に関する情報は、インターネットアプリケーションに関する任意の情報、インターネットアプリケーションのユーザに関する情報、ウェブセッションへのアクセスに関する情報、本明細書に記載されたシステムの任意の構成要素に関する場所的及び／又は時間的な情報を含むが、これらに限定されない。第１のサーバは、ウェブトークンの受信に関する情報を第２のサーバから受け取ってよい。幾つかの実施形態では、第１のサーバは、第１のデバイスに情報を送るように構成されてよく、限定ではないが、ウェブトークンの受信に関する情報が含まれてよい。
【０２０３】
本明細書に記載された実施形態の他の変形例もまた、本発明の範囲から逸脱することなく実施され得ることは、当業者には理解されるであろう。その他の変更もそれ故に可能である。
【図１】
2021500831.tif 000003
【図２】
2021500831.tif 000004
【図３】
2021500831.tif 000005
【図４】
2021500831.tif 000006
【図５】
2021500831.tif 000007
【図６】
2021500831.tif 000008
【図７】
2021500831.tif 000009
【図８】
2021500831.tif 000010
【図９】
2021500831.tif 000011
【図１０】
2021500831.tif 000012
【図１１】
2021500831.tif 000013
【図１２】
2021500831.tif 000014
【図１３】
2021500831.tif 000015
【図１４】
2021500831.tif 000016
【図１５】
2021500831.tif 000017
【図１６】
2021500831.tif 000018
【図１７】
2021500831.tif 000019
【図１８】
2021500831.tif 000020
【図１９】
2021500831.tif 000021
【図２０】
2021500831.tif 000022
【図２１】
2021500831.tif 000023
【図２２】
2021500831.tif 000024
【図２３】
2021500831.tif 000025
【図２４】
2021500831.tif 000026
【図２５】
2021500831.tif 000027
【図２６】
2021500831.tif 000028
【図２７】
2021500831.tif 000029
【図２８】
2021500831.tif 000030
【図２９】
2021500831.tif 000031
【国際調査報告】
2021500831.tif 000032
2021500831.tif 000033