(57)【特許請求の範囲】
【請求項１】
リモートサーバ処理システムによって制御されるセキュア環境にアクセスしようと試みるユーザを認証するためのサーバ処理システムであって、
前記セキュア環境にアクセスしようと試みる前記ユーザを認証すべく認証要求を前記リモートサーバ処理システムから受信し、
前記ユーザ又は前記ユーザに関連付けられるユーザデバイスに、前記ユーザデバイスのメモリと、サーバがアクセス可能なメモリとに格納されるキーマップからの選択されたキーに対応するインデックスを伝送し、
前記ユーザデバイスによって提示される前記選択されたキーと個人識別子とに基づいて前記ユーザが決定するコードを示すデータを受信し、
前記サーバがアクセス可能なメモリに格納される前記選択されたキー及び前記コードを用いて、前記個人識別子のハッシュ値を決定し、
前記サーバがアクセス可能なメモリに格納されるユーザアカウントに関連付けられる格納されたハッシュ値と、前記決定されたハッシュ値とを比較し、
認証応答であり、前記比較に基づいて、前記ユーザが前記セキュア環境にアクセスすることを認証されるかどうかを示す前記応答を、前記リモートサーバ処理システムに伝送する
サーバ処理システム。
【請求項２】
前記ユーザは、
前記ユーザデバイスとは独立したユーザ処理システム、又は
前記ユーザデバイス、
のうちの１つから前記セキュア環境にアクセスしようと試みる
請求項１に記載のサーバ処理システム。
【請求項３】
前記ユーザデバイスは可搬型処理システムである
請求項１又は２に記載のサーバ処理システム。
【請求項４】
前記サーバ処理システムは、
前記ユーザのアイデンティティを証明しようと試みるアイデンティティデータと、
前記ユーザデバイスを識別する固有デバイスプロファイルと、
を示す登録要求を受信し、
前記アイデンティティデータに基づいて前記ユーザの前記アイデンティティを検証し、
前記ユーザの前記アイデンティティの肯定検証に基づいて前記ユーザアカウントを生成し、前記ユーザデバイスは、前記固有デバイスプロファイルに基づいて前記ユーザアカウントに関連付けられる
請求項１から３の何れか一項に記載のサーバ処理システム。
【請求項５】
ユーザ登録に際し、前記サーバ処理システムは、
複数のインデックス化されたキーを含む前記キーマップを前記ユーザアカウントと関連付け、
前記ユーザデバイスのメモリに格納すべく、前記キーマップを示すデータを前記ユーザデバイスに伝送する
請求項４に記載のサーバ処理システム。
【請求項６】
前記サーバ処理システムは、
前記ユーザから個人識別子登録要求を受信し、
前記キーマップからの選択されたキーを示すインデックスを、前記ユーザデバイス又は前記ユーザに伝送し、
前記ユーザデバイスによって提示される前記選択されたキーと所望の個人識別子とに基づいて前記ユーザが決定する登録コードを受信し、
前記登録コード及び前記選択されたキーに基づいて、前記所望の個人識別子のハッシュ値を決定し、
前記ユーザアカウントに前記ハッシュ値を格納する
請求項５に記載のサーバ処理システム。
【請求項７】
前記サーバ処理システムは、
前記ユーザから個人識別子登録要求を受信し、
前記キーマップからの第１の選択されたキーを示す第１のインデックスを、前記ユーザデバイス又は前記ユーザに伝送し、
前記ユーザデバイスによって提示される前記第１の選択されたキーと所望の個人識別子とに基づいて、前記ユーザが決定する登録コードを受信し、
前記登録コード及び前記第１の選択されたキーに基づいて前記所望の個人識別子の第１のハッシュ値を決定し、
前記キーマップからの第２の選択されたキーを示す第２のインデックスを、前記ユーザデバイス又は前記ユーザに伝送し、
前記第２の選択されたキー及び前記所望の個人識別子に基づいて、前記ユーザが決定する第２の登録コードを受信し、
前記キーマップからの前記第２のインデックスに対応する前記第２の選択されたキー及び前記第２の登録コードを用いて第２のハッシュ値を決定し、
前記第２のハッシュ値に対応する前記第１のハッシュ値に応じて、前記ユーザアカウントに前記第１のハッシュ値又は前記第２のハッシュ値を格納する
請求項５に記載のサーバ処理システム。
【請求項８】
前記サーバ処理システムは、
個人識別子リセット要求を前記ユーザから受信し、
前記ユーザのアイデンティティの検証を促し、
検証成功に応じて、前記キーマップからの選択されたキーのインデックスを、前記ユーザデバイス又は前記ユーザに伝送し、
前記ユーザデバイスによって提示される前記選択されたキーと新しい個人識別子とに基づいて、前記ユーザが決定するリセットコードを受信し、
前記リセットコード及び前記選択されたキーに基づいて、前記新しい個人識別子のハッシュ値を決定し、
前記ユーザアカウントに、前記新しい個人識別子の前記ハッシュ値を格納する
請求項６又は７に記載のサーバ処理システム。
【請求項９】
前記サーバ処理システムは、前記ユーザのデジタル証明書によって示される前記ユーザの前記アイデンティティを示すデータを、前記ユーザアカウントに格納する
請求項４から８の何れか一項に記載のサーバ処理システム。
【請求項１０】
前記サーバ処理システムは、インデックス要求を前記ユーザデバイスから受信し、前記インデックス要求の受信に応じて、前記サーバ処理システムは、前記キーマップからの前記選択されたキーの前記インデックスを前記ユーザデバイスに伝送する
請求項１から９の何れか一項に記載のサーバ処理システム。
【請求項１１】
リモートサーバ処理システムによって制御されるセキュア環境にアクセスしようと試みるユーザを認証するための方法であって、サーバ処理システムが、
前記セキュア環境にアクセスしようと試みる前記ユーザを認証すべく認証要求を前記リモートサーバ処理システムから受信する段階と、
前記ユーザ、又は前記ユーザに関連付けられるユーザデバイスに、前記ユーザデバイスのメモリと、サーバがアクセス可能なメモリとに格納されるキーマップからの選択されたキーに対応するインデックスを伝送する段階と、
前記ユーザデバイスによって提示される前記選択されたキーと個人識別子とに基づいて、前記ユーザが決定するコードを示すデータを受信する段階と、
前記サーバがアクセス可能なメモリに格納される前記選択されたキー及び前記コードを用いて前記個人識別子のハッシュ値を決定する段階と、
前記サーバがアクセス可能なメモリに格納されるユーザアカウントに関連付けられる格納されたハッシュ値と前記決定されたハッシュ値とを比較する段階と、
認証応答であり、前記比較に基づいて、前記ユーザが、前記セキュア環境にアクセスすることを認証されるかどうかを示す応答、を前記リモートサーバ処理システムに伝送する段階と、を含む
方法。
【請求項１２】
前記ユーザは、
前記ユーザデバイスとは独立したユーザ処理システム、又は
前記ユーザデバイス、
のうちの１つから前記セキュア環境にアクセスしようと試みる
請求項１１に記載の方法。
【請求項１３】
前記ユーザデバイスは可搬型処理システムである
請求項１１又は１２に記載の方法。
【請求項１４】
前記サーバ処理システムが、
前記ユーザのアイデンティティを証明しようと試みるアイデンティティデータと、
前記ユーザデバイスを識別する固有デバイスプロファイルと、
を示す登録要求を受信する段階と、
前記アイデンティティデータに基づいて前記ユーザの前記アイデンティティを検証する段階と、
前記ユーザの前記アイデンティティの肯定検証に基づいて前記ユーザアカウントを生成する段階と、を含み、前記ユーザデバイスは、前記固有デバイスプロファイルに基づいて前記ユーザアカウントに関連付けられる
請求項１１から１３の何れか一項に記載の方法。
【請求項１５】
ユーザ登録に際し、前記サーバ処理システムが、
複数のインデックス化されたキーを含む前記キーマップを前記ユーザアカウントと関連付ける段階と、
前記ユーザデバイスのメモリに格納すべく、前記キーマップを示すデータを前記ユーザデバイスに伝送する段階と、を含む
請求項１４に記載の方法。
【請求項１６】
前記サーバ処理システムが、
前記ユーザから個人識別子登録要求を受信する段階と、
前記キーマップからの選択されたキーを示すインデックスを、前記ユーザデバイス又は前記ユーザに伝送する段階と、
前記ユーザデバイスによって提示される前記選択されたキーと所望の個人識別子とに基づいて、前記ユーザが決定する登録コードを受信する段階と、
前記登録コード及び前記選択されたキーに基づいて、前記所望の個人識別子のハッシュ値を決定する段階と、
前記ユーザアカウントに前記ハッシュ値を格納する段階と、を含む
請求項１５に記載の方法。
【請求項１７】
前記サーバ処理システムが、
前記ユーザから個人識別子登録要求を受信する段階と、
前記キーマップからの第１の選択されたキーを示す第１のインデックスを、前記ユーザデバイス又は前記ユーザに伝送する段階と、
前記ユーザデバイスによって提示される前記第１の選択されたキーと所望の個人識別子とに基づいて、前記ユーザが決定する第１の登録コードを受信する段階と、
前記第１の登録コード及び前記第１の選択されたキーに基づいて、前記所望の個人識別子の第１のハッシュ値を決定する段階と、
前記キーマップからの第２の選択されたキーを示す第２のインデックスを、前記ユーザ又は前記ユーザデバイスに伝送する段階と、
前記ユーザデバイスによって提示される前記第２の選択されたキーと前記所望の個人識別子とに基づいて、前記ユーザが決定する第２の登録コードを受信する段階と、
前記キーマップからの前記第２のインデックスに対応する前記第２の選択されたキー及び前記第２の登録コードを用いて第２のハッシュ値を決定する段階と、
前記第２のハッシュ値に対応する前記第１のハッシュ値に応じて、前記ユーザアカウントに前記第１のハッシュ値又は前記第２のハッシュ値を格納する段階と、を含む
請求項１５に記載の方法。
【請求項１８】
前記サーバ処理システムが、
個人識別子リセット要求を前記ユーザから受信する段階と、
前記ユーザのアイデンティティの検証を促す段階と、
検証成功に応じて、前記キーマップからの選択されたキーのインデックスを、前記ユーザデバイス又は前記ユーザに伝送する段階と、
前記選択されたキーと新しい個人識別子とに基づいて、前記ユーザが決定するリセットコードを受信する段階と、
前記リセットコード及び前記選択されたキーに基づいて、前記新しい個人識別子のハッシュ値を決定する段階と、
前記ユーザアカウントに、前記新しい個人識別子の前記ハッシュ値を格納する段階と、を含む
請求項１６又は１７に記載の方法。
【請求項１９】
前記サーバ処理システムが、前記ユーザのデジタル証明書によって示される前記ユーザの前記アイデンティティを示すデータを前記ユーザアカウントに格納する段階を含む
請求項１４から１８の何れか一項に記載の方法。
【請求項２０】
前記サーバ処理システムが、インデックス要求を前記ユーザデバイスから受信する段階を含み、前記インデックス要求の受信に応じて、前記サーバ処理システムは、前記キーマップからの前記選択されたキーの前記インデックスを前記ユーザデバイスに伝送する
請求項１９に記載の方法。
【請求項２１】
リモートサーバ処理システムによって制御されるセキュア環境にアクセスしようと試みるユーザを認証するようサーバ処理システムを設定するためのプログラムであって、実行されると請求項１１から２０の何れか一項に記載の方法を実行するよう前記サーバ処理システムを設定する複数の実行可能命令を含む
プログラム。
【請求項２２】
リモートサーバ処理システムによって制御されるセキュア環境にアクセスしようと試みるユーザを認証するためのシステムであって、前記システムは、サーバ処理システム及びソフトウェアアプリケーションを含み、
前記サーバ処理システムは、
前記セキュア環境にアクセスしようと試みる前記ユーザを認証すべく認証要求を前記リモートサーバ処理システムから受信し、
前記ユーザ又は前記ユーザに関連付けられるユーザデバイスに、前記ユーザデバイスのメモリと、サーバがアクセス可能なメモリとに格納されるキーマップからの選択されたキーに対応するインデックスを伝送し、
前記ユーザデバイスによって提示される前記選択されたキーと個人識別子とに基づいて、前記ユーザが決定するコードを示すデータを受信し、
前記サーバがアクセス可能なメモリに格納される前記選択されたキー及び前記コードを用いて前記個人識別子のハッシュ値を決定し、
前記サーバがアクセス可能なメモリに格納されるユーザアカウントに関連付けられる格納されたハッシュ値と前記決定されたハッシュ値とを比較し、
認証応答であり、前記比較に基づいて、前記ユーザが、前記セキュア環境にアクセスすることを認証されるかどうかを示す応答、を前記リモートサーバ処理システムに伝送し、
前記ソフトウェアアプリケーションは、
前記キーマップを受信し、
前記ユーザデバイスのメモリに前記キーマップを格納し、
前記インデックスに基づいて前記キーマップからの前記選択されたキーを前記ユーザに提示するよう前記ユーザデバイスを設定すべく、前記ユーザデバイスによって実行可能である
システム。
【請求項２３】
リモートサーバ処理システムによって制御されるセキュア環境にアクセスするユーザを認証するために用いられる個人識別子を、ユーザがリセットできるようにするためのサーバ処理システムであって、
前記ユーザから個人識別子リセット要求を受信し、
前記ユーザのアイデンティティの検証を促し、
検証成功に応じて、ユーザデバイス又は前記ユーザに、ユーザアカウントに関連付けられるキーマップであり、前記ユーザデバイスのメモリと、サーバがアクセス可能なメモリとに格納されるキーマップからの選択されたキーに対応するインデックスを伝送し、
前記選択されたキーマップと新しい個人識別子とに基づいて前記ユーザが決定するリセットコードを受信し、
前記リセットコード及び前記選択されたキーに基づいて、前記新しい個人識別子のハッシュ値を決定し、
前記ユーザアカウントに前記新しい個人識別子の前記ハッシュ値を格納する
サーバ処理システム。
【請求項２４】
リモートサーバ処理システムによって制御されるセキュア環境にアクセスするユーザを認証するための個人識別子をリセットするための方法であって、サーバ処理システムが、
個人識別子リセット要求を前記ユーザから受信する段階と、
前記ユーザのアイデンティティの検証を促す段階と、
検証成功に応じて、ユーザデバイス又は前記ユーザに、ユーザアカウントに関連付けられるキーマップであり、前記ユーザデバイスのメモリと、サーバがアクセス可能なメモリとに格納されるキーマップからの選択されたキーに対応するインデックスを伝送する段階と、
前記選択されたキーマップと新しい個人識別子とに基づいて、前記ユーザが決定するリセットコードを受信する段階と、
前記リセットコード及び前記選択されたキーに基づいて、前記新しい個人識別子のハッシュ値を決定する段階と、
前記ユーザアカウントに前記新しい個人識別子の前記ハッシュ値を格納する段階と、を含む
方法。
【請求項２５】
リモートサーバ処理システムによって制御されるセキュア環境にアクセスするユーザを認証するために用いられる個人識別子を、ユーザがリセットできるようにするためのサーバ処理システムを設定するためのプログラムであって、実行されると請求項２４に記載の方法を実行するよう前記サーバ処理システムを設定する複数の実行可能命令を含む
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、２０１３年４月３０日出願のオーストラリア仮特許出願第２０１３９０１５０４号からの優先権を主張し、その内容が参照により本明細書に組み込まれる。
【０００２】
本発明は、ユーザ認証のためのサーバ処理システム、方法、コンピュータ可読媒体、及びシステムに関する。
【背景技術】
【０００３】
ユーザがセキュアウェブページなどのセキュア環境へのアクセスを必要とするときは、概して、ユーザの認証は、セキュア環境へのアクセスを許可する前に必要とされる。現在いくつかの方法が存在する。
【０００４】
よくある技術としては、ユーザにユーザアイデンティティ及びパスワードを提供することを要求するものである。ほとんどの例において、ユーザアイデンティティ及びパスワードは暗号化され、ユーザ認証のためにサーバ処理システムに伝送される。このタイプの認証技術には、複数の課題が存在する。例えば、端末において動作する悪意のあるソフトウェア（すなわち、キーロギングソフトウェア）は、ユーザ入力のログを取ることができ、捕えられたユーザアイデンティティ及びパスワードは、後の複数の不正行為において悪意をもって用いられることがある。
【０００５】
複数のバイオメトリック認証技術がまた、セキュア環境へのアクセスを要求するユーザを認証するために用いられてきた。しかしながら、ユーザの複数の生体的特徴は変更され得ないので、ユーザの生体的特徴が漏れた場合に複数の著しい欠点がある。
【０００６】
スマートカード、及びその類のものなどの複数の物理的トークンがまた、セキュア環境へのアクセスを要求するユーザを認証するための手段として用いられてきた。しかしながら、そのような複数のデバイスは、デバイスを常には携帯し得ないユーザにとって不便であり、そのような複数のデバイスは、その物理的トークンを提示しているユーザが、実際に、認証を要求しているユーザで間違いないのかを実際に確認することはできず、単に、認証の瞬間にそのデバイスが存在したということを確認するだけである。
【発明の概要】
【０００７】
第１の態様において、リモートサーバ処理システムによって制御されるセキュア環境にアクセスしようと試みるユーザを認証するためのサーバ処理システムが提供される。当該サーバ処理システムは、
セキュア環境にアクセスしようと試みるユーザを認証すべく認証要求をリモートサーバ処理システムから受信し、
ユーザデバイスのメモリと、サーバがアクセス可能なメモリとに格納されるキーマップからの選択されたキーに対応するインデックスを、ユーザ又はユーザに関連付けられるユーザデバイスに伝送し、
ユーザデバイスによって提示される選択されたキーと個人識別子とに基づいてユーザが決定するコードを示すデータを受信し、
サーバがアクセス可能なメモリに格納される選択されたキー及びコードを用いて、個人識別子のハッシュ値を決定し、
サーバがアクセス可能なメモリに格納されるユーザアカウントに関連付けられる格納されたハッシュ値と、決定されたハッシュ値とを比較し、
認証応答であり、当該比較に基づいて、ユーザが、セキュア環境にアクセスすることを認証されるかどうかを示す応答を、リモートサーバ処理システムに伝送するよう構成される。
【０００８】
複数の特定の実施形態において、ユーザは、
ユーザデバイスとは独立したユーザ処理システム、又は
ユーザデバイス
のうちの１つからセキュア環境にアクセスしようと試みる。
【０００９】
複数の特定の実施形態において、ユーザデバイスは可搬型処理システムである。
【００１０】
複数の特定の実施形態において、サーバ処理システムは、
ユーザのアイデンティティを証明しようと試みるアイデンティティデータと、
ユーザデバイスを識別する固有デバイスプロファイルと、
を示す登録要求を受信し、
アイデンティティデータに基づいてユーザのアイデンティティを検証し、
ユーザのアイデンティティの肯定検証に基づいてユーザアカウントを生成するよう構成され、当該ユーザデバイスは、固有デバイスプロファイルに基づいてユーザアカウントに関連付けられる。
【００１１】
複数の特定の実施形態において、ユーザ登録に際し、サーバ処理システムは、
複数のインデックス化されたキーを含むキーマップをユーザアカウントと関連付け、
ユーザデバイスのメモリに格納すべく、キーマップを示すデータをユーザデバイスに伝送するよう構成される。
【００１２】
複数の特定の実施形態において、サーバ処理システムは、
ユーザから個人識別子登録要求を受信し、
キーマップからの選択されたキーを示すインデックスを、ユーザデバイス又はユーザに伝送し、
ユーザデバイスによって提示される選択されたキーと所望の個人識別子とに基づいてユーザが決定する登録コードを受信し、
登録コード及び選択されたキーに基づいて、所望の個人識別子のハッシュ値を決定し、
ユーザアカウントにハッシュ値を格納するよう構成される。
【００１３】
複数の特定の実施形態において、サーバ処理システムは、
ユーザから個人識別子登録要求を受信し、
キーマップからの第１の選択されたキーを示す第１のインデックスを、ユーザデバイス又はユーザに伝送し、
ユーザデバイスによって提示される第１の選択されたキーと所望の個人識別子とに基づいて、ユーザが決定する登録コードを受信し、
登録コード及び第１の選択されたキーに基づいて、所望の個人識別子の第１のハッシュ値を決定し、
キーマップからの第２の選択されたキーを示す第２のインデックスを、ユーザデバイス又はユーザに伝送し、
第２の選択されたキー及び所望の個人識別子に基づいて、ユーザが決定する第２の登録コードを受信し、
キーマップからの第２のインデックスに対応する第２の選択されたキー及び第２の登録コードを用いて第２のハッシュ値を決定し、
第２のハッシュ値に対応する第１のハッシュ値に応じて、ユーザアカウントに第１のハッシュ値又は第２のハッシュ値を格納するよう構成される。
【００１４】
複数の特定の実施形態において、サーバ処理システムは、
個人識別子リセット要求をユーザから受信し、
ユーザのアイデンティティの検証を促し、
検証成功に応じて、キーマップからの選択されたキーのインデックスを、ユーザデバイス又はユーザに伝送し、
ユーザデバイスによって提示される選択されたキーと新しい個人識別子とに基づいてユーザが決定するリセットコードを受信し、
リセットコード及び選択されたキーに基づいて、新しい個人識別子のハッシュ値を決定し、
ユーザアカウントに、新しい個人識別子のハッシュ値を格納するよう構成される。
【００１５】
複数の特定の実施形態において、サーバ処理システムは、ユーザのデジタル証明書によって示されるユーザのアイデンティティを示すデータを、ユーザアカウントに格納するよう構成される。
【００１６】
複数の特定の実施形態において、サーバ処理システムは、インデックス要求をユーザデバイスから受信するよう構成され、インデックス要求の受信に応じて、サーバ処理システムは、キーマップからの選択されたキーのインデックスをユーザデバイスに伝送する。
【００１７】
第２の態様において、リモートサーバ処理システムによって制御されるセキュア環境にアクセスしようと試みるユーザを認証するための方法が提供される。当該方法は、サーバ処理システムが、
セキュア環境にアクセスしようと試みるユーザを認証すべく認証要求をリモートサーバ処理システムから受信する段階と、
ユーザデバイスのメモリと、サーバがアクセス可能なメモリとに格納されるキーマップからの選択されたキーに対応するインデックスを、ユーザ、又はユーザに関連付けられるユーザデバイスに伝送する段階と、
ユーザデバイスによって提示される選択されたキーと個人識別子とに基づいてユーザが決定するコードを示すデータを受信する段階と、
サーバがアクセス可能なメモリに格納される選択されたキー及びコードを用いて個人識別子のハッシュ値を決定する段階と、
サーバがアクセス可能なメモリに格納されるユーザアカウントに関連付けられる格納されたハッシュ値と決定されたハッシュ値とを比較する段階と、
認証応答であり、当該比較に基づいて、ユーザが、セキュア環境にアクセスすることを認証されるかどうかを示す応答、をリモートサーバ処理システムに伝送する段階と、を含む。
【００１８】
複数の特定の実施形態において、ユーザは、
ユーザデバイスとは独立したユーザ処理システム、又は
ユーザデバイス
のうちの１つからセキュア環境にアクセスしようと試みる。
【００１９】
複数の特定の実施形態において、ユーザデバイスは可搬型処理システムである。
【００２０】
複数の特定の実施形態において、当該方法は、サーバ処理システムが、
ユーザのアイデンティティを証明しようと試みるアイデンティティデータと、
ユーザデバイスを識別する固有デバイスプロファイルと、
を示す登録要求を受信する段階と、
アイデンティティデータに基づいてユーザのアイデンティティを検証する段階と、
ユーザのアイデンティティの肯定検証に基づいてユーザアカウントを生成する段階と、を含み、当該ユーザデバイスは、固有デバイスプロファイルに基づいてユーザアカウントに関連付けられる。
【００２１】
複数の特定の実施形態において、ユーザ登録に際し、当該方法は、サーバ処理システムが、
複数のインデックス化されたキーを含むキーマップをユーザアカウントと関連付ける段階と、
ユーザデバイスのメモリに格納すべく、キーマップを示すデータをユーザデバイスに伝送する段階と、を含む。
【００２２】
複数の特定の実施形態において、当該方法は、サーバ処理システムが、
ユーザから個人識別子登録要求を受信する段階と、
キーマップからの選択されたキーを示すインデックスを、ユーザデバイス又はユーザに伝送する段階と、
ユーザデバイスによって提示される選択されたキーと所望の個人識別子とに基づいてユーザが決定する登録コードを受信する段階と、
登録コード及び選択されたキーに基づいて、所望の個人識別子のハッシュ値を決定する段階と、
ユーザアカウントにハッシュ値を格納する段階と、を含む。
【００２３】
複数の特定の実施形態において、当該方法は、サーバ処理システムが、
ユーザから個人識別子登録要求を受信する段階と、
キーマップからの第１の選択されたキーを示す第１のインデックスを、ユーザデバイス又はユーザに伝送する段階と、
ユーザデバイスによって提示される第１の選択されたキーと所望の個人識別子とに基づいてユーザが決定する第１の登録コードを受信する段階と、
第１の登録コード及び第１の選択されたキーに基づいて、所望の個人識別子の第１のハッシュ値を決定する段階と、
キーマップからの第２の選択されたキーを示す第２のインデックスを、ユーザ又はユーザデバイスに伝送する段階と、
ユーザデバイスによって提示される第２の選択されたキーと所望の個人識別子とに基づいてユーザが決定する第２の登録コードを受信する段階と、
キーマップからの第２のインデックスに対応する第２の選択されたキー及び第２の登録コードを用いて第２のハッシュ値を決定する段階と、
第２のハッシュ値に対応する第１のハッシュ値に応じて、ユーザアカウントに第１のハッシュ値又は第２のハッシュ値を格納する段階と、を含む。
【００２４】
複数の特定の実施形態において、当該方法は、サーバ処理システムが、
個人識別子リセット要求をユーザから受信する段階と、
ユーザのアイデンティティの検証を促す段階と、
検証成功に応じて、キーマップからの選択されたキーのインデックスを、ユーザデバイス又はユーザに伝送する段階と、
選択されたキーと新しい個人識別子とに基づいてユーザが決定するリセットコードを受信する段階と、
リセットコード及び選択されたキーに基づいて、新しい個人識別子のハッシュ値を決定する段階と、
ユーザアカウントに、新しい個人識別子のハッシュ値を格納する段階と、を含む。
【００２５】
複数の特定の実施形態において、当該方法は、サーバ処理システムが、ユーザのデジタル証明書によって示されるユーザのアイデンティティを示すデータをユーザアカウントに格納する段階を含む。
【００２６】
複数の特定の実施形態において、当該方法は、サーバ処理システムが、インデックス要求をユーザデバイスから受信する段階を含み、インデックス要求の受信に応じて、サーバ処理システムは、キーマップからの選択されたキーのインデックスをユーザデバイスに伝送する。
【００２７】
第３の態様において、リモートサーバ処理システムによって制御されるセキュア環境にアクセスしようと試みるユーザを認証するようサーバ処理システムを設定するためのコンピュータ可読媒体が提供される。当該コンピュータ可読媒体は、実行されると第２の態様の方法を実行するようサーバ処理システムを設定する複数の実行可能命令を含む。
【００２８】
第４の態様において、リモートサーバ処理システムによって制御されるセキュア環境にアクセスしようと試みるユーザを認証するためのシステムが提供される。当該システムは、サーバ処理システム及びソフトウェアアプリケーションを含む。サーバ処理システムは、
セキュア環境にアクセスしようと試みるユーザを認証すべく認証要求をリモートサーバ処理システムから受信し、
ユーザデバイスのメモリと、サーバがアクセス可能なメモリとに格納されるキーマップからの選択されたキーに対応するインデックスを、ユーザ、又はユーザに関連付けられるユーザデバイスに伝送し、
ユーザデバイスによって提示される選択されたキーと個人識別子とに基づいてユーザが決定するコードを示すデータを受信し、
サーバがアクセス可能なメモリに格納される選択されたキー及びコードを用いて個人識別子のハッシュ値を決定し、
サーバがアクセス可能なメモリに格納されるユーザアカウントに関連付けられる格納されたハッシュ値と決定されたハッシュ値とを比較し、
認証応答であり、当該比較に基づいて、ユーザが、セキュア環境にアクセスすることを認証されるかどうかを示す応答、をリモートサーバ処理システムに伝送するよう構成される。ソフトウェアアプリケーションは、
キーマップを受信し、
ユーザデバイスのメモリにキーマップを格納し、
インデックスに基づいてキーマップからの選択されたキーをユーザに提示するようユーザデバイスを設定すべく、ユーザデバイスによって実行可能である。
【００２９】
第５の態様において、リモートサーバ処理システムによって制御されるセキュア環境にアクセスするユーザを認証するために用いられる個人識別子を、ユーザがリセットできるようにするためのサーバ処理システムが提供される。当該サーバ処理システムは、
ユーザから個人識別子リセット要求を受信し、
ユーザのアイデンティティの検証を促し、
検証成功に応じて、ユーザアカウントに関連付けられるキーマップであり、ユーザデバイスのメモリと、サーバがアクセス可能なメモリとに格納されるキーマップからの選択されたキーに対応するインデックスを、ユーザデバイス又はユーザに伝送し、
選択されたキーマップと新しい個人識別子とに基づいてユーザが決定するリセットコードを受信し、
リセットコード及び選択されたキーに基づいて、新しい個人識別子のハッシュ値を決定し、
ユーザアカウントに新しい個人識別子のハッシュ値を格納するよう構成される。
【００３０】
第６の態様において、リモートサーバ処理システムによって制御されるセキュア環境にアクセスするユーザを認証するための個人識別子をリセットするための方法が提供される。当該方法は、サーバ処理システムが、
個人識別子リセット要求をユーザから受信する段階と、
ユーザのアイデンティティの検証を促す段階と、
検証成功に応じて、ユーザアカウントに関連付けられるキーマップであり、ユーザデバイスのメモリと、サーバがアクセス可能なメモリとに格納されるキーマップからの選択されたキーに対応するインデックスを、ユーザデバイス又はユーザに伝送する段階と、
選択されたキーマップと新しい個人識別子とに基づいてユーザが決定するリセットコードを受信する段階と、
リセットコード及び選択されたキーに基づいて、新しい個人識別子のハッシュ値を決定する段階と、
ユーザアカウントに新しい個人識別子のハッシュ値を格納する段階と、を含む。
【００３１】
第７の態様において、リモートサーバ処理システムによって制御されるセキュア環境にアクセスするユーザを認証するために用いられる個人識別子を、ユーザがリセットできるようにするためのサーバ処理システムを設定するためのコンピュータ可読媒体が提供される。当該コンピュータ可読媒体は、実行されると第６の態様の方法を実行するようサーバ処理システムを設定する複数の実行可能命令を含む。
【００３２】
複数の他の態様及び複数の実施形態が詳細な説明全体にわたって実現される。
【図面の簡単な説明】
【００３３】
複数の例示的な実施形態が、複数の添付図面に関連して説明される少なくとも１つの好適な、しかし非限定的な実施形態の、例としてのみ与えられる以下の説明から明らかになるはずである。
【００３４】
【図１】特定の実施形態を具体化又は実施すべく使用され得る例示的な処理システムの機能ブロック図を示す。
【００３５】
【図２】特定の実施形態を具体化又は実施すべく使用され得る例示的なネットワークインフラストラクチャを示す。
【００３６】
【図３】セキュア環境にアクセスしようと試みるユーザを認証するためのシステムの系統図を示す。
【００３７】
【図４】セキュア環境にアクセスしようと試みるユーザを認証すべくサーバ処理システムによって実行される例示的な方法を表すフローチャートを示す。
【００３８】
【図５】サーバ処理システムによって提供される認証サービスを用いるための、ユーザ登録の例示的な方法を表すフローチャートを示す。
【００３９】
【図６Ａ】例示的なキーマップを示す。
【００４０】
【図６Ｂ】キー及び識別子参照のグラフィカル表現を含む例示的なユーザインタフェースを示す。
【００４１】
【図７】ユーザの認証における使用のための個人識別子をユーザがリセットする例示的な方法を表すフローチャートを示す。
【発明を実施するための形態】
【００４２】
例としてのみ与えられる以下の複数の形態は、好適な実施形態又は複数の実施形態の主題に対するより正確な理解を提供すべく説明される。例示的な実施形態の複数の特徴を示すべく組み込まれる複数の図面において、複数の同様の参照番号は、複数の図面全体にわたって複数の同様の要素を特定するために用いられる。
［例示的な処理システム］
【００４３】
特定の実施形態が処理システムを用いて実現され得て、その例が図１に示される。具体的に、処理システム１００は、バス又は一群のバス１１０を介して共に結合される、少なくとも１つのプロセッサ１０２、又は処理ユニット若しくは複数のプロセッサと、メモリ１０４と、少なくとも１つの入力デバイス１０６と、少なくとも１つの出力デバイス１０８とを通常含む。複数の特定の実施形態において、入力デバイス１０６と出力デバイス１０８とは同一のデバイスであってよい。処理システム１００を１又は複数の周辺デバイスに結合すべく、インタフェース１１２がまた設けられ得る。例えばインタフェース１１２はＰＣＩカード又はＰＣカードであってよい。少なくとも１つのデータベース１１６を収容する少なくとも１つの記憶デバイス１１４もまた設けられ得る。メモリ１０４は、例えば、揮発性又は不揮発性メモリ、ソリッドステートストレージデバイス、磁気デバイスなどの、任意の形態のメモリデバイスであってよい。プロセッサ１０２は、例えば処理システム１００内で複数の異なる機能を処理すべく、１より多い異なる処理デバイスを含み得る。
【００４４】
入力デバイス１０６は入力データ１１８を受信し、例えば、キーボード、ペン様デバイス若しくはマウスなどのポインタデバイス、マイクなどの音声制御起動のためのオーディオ受信デバイス、モデム若しくは無線データアダプタなどのデータ受信機若しくはアンテナ、データ取得カード、などを含み得る。入力データ１１８は複数の異なるソースから来るものであってよい。例えば、ネットワークを介して受信されるデータと併せた複数のキーボード命令といったものである。出力デバイス１０８は出力データ１２０を生成又は発生させ、例えば、ディスプレイデバイス又はモニタ（それを使用すると出力データ１２０が目に見える）、プリンタ（それを使用すると出力データ１２０が印刷される）、例えばＵＳＢポートといったポート、周辺機器アダプタ、モデム又は無線ネットワークアダプタなどのデータ送信機又はアンテナ、などを含み得る。出力データ１２０は異なり得て、複数の異なる出力デバイスから得られ得る。例えば、ネットワークに送信されるデータと併せたモニタ上の視覚ディスプレイといったものである。ユーザは、データ出力、又はデータ出力の解釈を、例えばモニタ上で、又はプリンタを用いて見ることもできる。記憶デバイス１１４は、例えば、揮発性又は不揮発性メモリ、ソリッドステートストレージデバイス、磁気デバイスなどの、任意の形態のデータ又は情報記憶手段であり得る。
【００４５】
使用において、処理システム１００は、データ又は情報が、有線又は無線通信手段を介して、少なくとも１つのデータベース１１６及び／又はメモリ１０４に格納される、及び／又はそれらから取り出されることが可能となるように適合される。インタフェース１１２は、処理ユニット１０２と、特定の目的にかない得る複数の周辺機器との間での有線及び／又は無線通信を可能にし得る。プロセッサ１０２は、入力デバイス１０６を介して入力データ１１８として複数の命令を受信し、出力デバイス１０８を使用することによって、ユーザに複数の処理結果又は他の出力を表示し得る。１より多い入力デバイス１０６及び／又は出力デバイス１０８が設けられ得る。処理システム１００は任意の形態の端末、サーバ、専用ハードウェア、又はその類のものであってよいことが理解されるべきである。
【００４６】
図２に示されるように、処理デバイス１００はネットワーク接続された通信システム２００の一部であってよい。処理デバイス１００は、例えばインターネット又はＷＡＮといったネットワーク２０２に接続し得る。入力データ１１８及び出力データ１２０はネットワーク２０２を介して複数の他のデバイスに通信され得る。複数の他の端末、例えば、シンクライアント２０４、追加的な処理システム２０６及び２０８、ノートパソコン２１０、メインフレームコンピュータ２１２、ＰＤＡ２１４、ペンベースコンピュータ２１６、サーバ２１８、などがネットワーク２０２に接続され得る。多種多様の複数の他のタイプの端末又は構成が使用され得る。ネットワーク２０２を介した情報及び／又はデータの伝送は、有線通信手段２２０又は無線通信手段２２２を用いて実現され得る。サーバ２１８は、ネットワーク２０２と１又は複数のデータベース２２４との間のデータの伝送を促し得る。サーバ２１８及び１又は複数のデータベース２２４は情報源の例を提供する。
【００４７】
複数の他のネットワークがネットワーク２０２と通信し得る。例えば、電気通信ネットワーク２３０は、無線通信手段２３６及び受信／送信ステーション２３８を使用することによって、ネットワーク２０２と、モバイル若しくはセルラー電話２３２、又はＰＤＡタイプデバイス２３４との間のデータの伝送を促し得る。衛星通信ネットワーク２４０は、衛星２４４から複数のデータ信号を受信する衛星信号受信機２４２と通信し得る。衛星２４４は、同じく衛星信号送信機２４６と遠隔通信している。複数の端末、例えば、追加的な処理システム２４８、ノートパソコン２５０、又は衛星電話２５２が、これによりネットワーク２０２と通信し得る。例えばプライベートネットワーク、ＬＡＮ、などであってよいローカルネットワーク２６０もまた、ネットワーク２０２に接続され得る。例えば、ネットワーク２０２は、複数の端末２６４と、データベース２６８への、及び／又はデータベース２６８からのデータの伝送を制御するサーバ２６６と、プリンタ２７０とを接続するＥｔｈｅｒｎｅｔ（登録商標）２６２と接続され得る。様々な他のタイプのネットワークが使用され得る。
【００４８】
処理デバイス１００は、ネットワーク２０２へ、及びネットワーク２０２からデータ１１８、１２０を送信かつ受信することによって、例えば追加的な処理システム２０６、２０８といった複数の他の端末と通信するように適合され、これにより、ネットワーク接続された通信システム２００の複数の他の構成要素との可能な通信を促す。
【００４９】
従って、例えば、ネットワーク２０２、２３０、２４０はインターネットの一部を形成し得るか、又はインターネットに接続され得る。この場合、例えば端末２０６、２１２、２１８は、複数のウェブサーバ、インターネット、複数の端末、又はその類のものであってよい。ネットワーク２０２、２３０、２４０、２６０は、ＬＡＮ型、ＷＡＮ型、Ｅｔｈｅｒｎｅｔ（登録商標）型、トークンリング型、ＦＤＤＩリング型、スター型などのネットワークなどの複数の他の通信ネットワーク、又は、ＧＳＭ（登録商標）型、ＣＤＭＡ若しくは３Ｇ型などのネットワークなどの携帯電話ネットワークであるか、又はそれらの一部を形成してよく、特定の実装に応じて、完全に又は部分的に有線か、例えば光ファイバを含むか、又は無線ネットワークであってよい。
［システムの概要］
【００５０】
図３を参照すると、セキュア環境３２５にアクセスしようと試みるユーザ３５０を認証するための例示的なシステム３００を表す系統図が示される。
【００５１】
具体的に、システム３００はデータ通信手段を介してリモートサーバ処理システム３２０とデータ通信するサーバ処理システム３１０を含む。サーバ処理システム３１０は、ユーザ３５０を認証するためのアカウントデータを格納するデータベースの形態で設けられる、サーバがアクセス可能なメモリ３１５と関連付けられている。リモート処理システム３２０は、複数の認証ユーザに限定されるセキュア環境３２５へのアクセスを制御する。セキュア環境３２５の複数の例は、セキュアなウェブサイト、セキュアなサーバサービス、及びその類のものなどの複数のデジタル環境を含み得るか、又は建物のセキュアドア、又はその類のものなどの複数の物理的環境を含む可能性がある。
【００５２】
システム３００はまた、データ通信手段を介して、リモートサーバ処理システム３２０とデータ通信するユーザ処理システム３４０を含み得る。ユーザ３５０は、セキュア環境３２５へのアクセス権を取得すべく、リモートサーバ処理システム３２０へ要求を伝送するためにユーザ処理システム３４０と対話する。ユーザ処理システム３４０の複数の例は、デスクトップ端末、ラップトップ、タブレットコンピュータ、又はその類のものを含み得る。
【００５３】
システム３００はまた、ユーザ処理システム３４０とは独立した、ユーザ３５０に関連付けられるユーザデバイス３３０を含み、データ通信手段を介して、サーバ処理システム３１０とデータ通信する。好ましくは、ユーザデバイス３３０は、ユーザ処理システム３４０とは別個であり、ユーザ３５０に関連付けられる、携帯電話（すなわち「スマートフォン」など）、ウェアラブル処理システム（すなわちＧｏｏｇｌｅ Ｇｌａｓｓ（登録商標）など）、又は任意の他の対話型デバイスなどの、ユーザ３５０に関連付けられる可搬型処理システムである。ユーザデバイス３３０は、認証のためにユーザにインタフェースを提示するソフトウェアアプリケーション３３５（一般に「ａｐｐ」と称される）をメモリに格納している。
【００５４】
一形態において、ユーザ処理システムは必要とされない。具体的に、ユーザは、セキュア環境３２５へのアクセス権を取得すべく、リモートサーバ処理システム３２０へ要求を伝送するためにユーザデバイス３３０と対話し得る。
［登録］
【００５５】
図４を参照すると、リモートサーバ処理システム３２０によって制御されるセキュア環境３２５にアクセスするときにユーザ３５０を認証するための、ユーザ３５０がサーバ処理システム３１０に登録する例示的な方法４００を表わすフローチャートが示される。
【００５６】
具体的に、ステップ４０５において、方法４００は、ユーザ３５０がサーバ処理システム３１０に登録要求を伝送する段階を含む。登録要求は、ユーザ３５０によって操作されるユーザデバイス３３０及び／又はユーザ処理システム３４０から伝送され得る。具体的に、登録要求が少なくとも部分的にユーザデバイス３３０を用いて提出される場合、これは、ユーザがユーザデバイス３３０上にソフトウェアアプリケーション３３５をインストールし、ソフトウェアアプリケーション３３５を起動し、次に登録要求を提出すべくユーザがソフトウェアアプリケーション３３５と対話する段階に応答していてよい。登録要求は、ユーザ３５０のアイデンティティを証明しようと試みるアイデンティティデータを示し得て、固有デバイス識別子は、ユーザデバイス３３０を示し得る。アイデンティティデータは、クレジットカード番号、パスポート番号、公共料金請求書、住所、及び他の同様の情報を示していてよい。複数の特定の実施形態において、固有デバイス識別子は、ソフトウェアアプリケーション３３５によって生成される固有デバイスプロファイルである。ソフトウェアアプリケーション３３５は、いくつかのユーザデバイス３３０の特性を決定し、それらの決定された特性を用いて固有デバイスプロファイルを生成する。それらの決定された特性は、ユーザデバイス３３０のハードウェア（ＣＰＵ、メモリなど）、ユーザデバイス３３０のＭＡＣアドレス、ユーザに関連付けられるデジタル証明書を示し得るソフトウェアプロファイル、及びユーザデバイス３３０に関連付けられる１又は複数の識別子、の１又は複数の特性を含み得る。ソフトウェアアプリケーション３３５は、それらの決定された特性にハッシュアルゴリズムを適用して、ハッシュ値の形態の固有デバイスプロファイルを生成する。固有デバイスプロファイルは次に、格納すべくサーバ処理システムに伝送される。固有デバイスプロファイルは、デバイスシグネチャとしてふるまい、ユーザデバイス３３０の複数の特性に基づいてユーザデバイス３３０を一意的に識別する。複数の特定の実施形態において、固有デバイスプロファイルはまた、ユーザデバイス３３０のメモリに格納され、本明細書において後にさらに詳細に説明されるように、セキュリティチェックを実行するために用いられ得る。
【００５７】
ステップ４１０において、方法４００は、サーバ処理システム３１０が、アイデンティティデータに基づいてユーザ３５０のアイデンティティの検証を促す段階を含む。具体的に、サーバ処理システム３１０は、ひとそろいの情報が単一のユーザに関連付けられているということを検証しようと試みて、アイデンティティ検証装置（ＩＤＶ）を使用し得る。肯定検証に応答して、方法はステップ４１５に進む。そうでなければ、サーバ処理システム３１０はユーザ３５０からの追加の識別情報を要求しうる。
【００５８】
ステップ４１５において、方法４００は、サーバ処理システム３１０が、サーバ処理システム３１０に関連付けられるメモリ３１５内にユーザアカウントを生成する段階を含む。メモリ３１５は、好ましくはサーバ処理システム３１０によってアクセス可能なデータベースである。サーバ処理システム３１０は、複数の特定の実施形態においては固有デバイスプロファイルである固有デバイス識別子に基づいて、ユーザデバイス３３０をユーザアカウントに関連付ける。
【００５９】
ステップ４２０において、方法４００は、サーバ処理システム３１０が、キーマップ６００とユーザアカウントとの間の関連性を格納する段階を含む。具体的に、各キーマップ６００は、固有インデックス番号６１０（すなわち通し番号）と関連付けられる複数の固有キー６２０を含む。複数のキー６２０及び複数の関連付けられたインデックス６６０を含むキーマップ６５０のグラフィカル表現の例が図６Ａに示される。具体的に、各キー６２０は複数の固有キー部分６３０を含む。この例では、各キー６２０はアルファベットのキー部分を備える。しかしながら複数の他の形態のキーが使用され得る。
【００６０】
ステップ４２５において、方法４００は、サーバ処理システム３１０が、ユーザのアカウントに関連付けられるキーマップ６００の複数のインデックス化されたキーを示すキーマップデータをユーザデバイス３３０に伝送する段階を含む。
【００６１】
ステップ４３０において、方法４００は、ユーザデバイス３３０が、キーマップデータをローカルメモリに格納する段階を含む。
【００６２】
ステップ４３５において、方法４００は、サーバ処理システム３１０が、ユーザ３５０から個人識別子登録要求を受信する段階を含む。個人識別子登録要求は、ユーザ処理システム３４０又はユーザデバイス３３０から受信され得る。それに応答して、サーバ処理システムは、ユーザが、所望の個人識別子を間接的に表わすコードを入力することを要求するユーザへの提示のために、コード要求インタフェースをユーザ処理システム３４０又はユーザデバイス３３０に伝送する。コード要求インタフェースは、ウェブブラウザ、ウェブ対応アプリケーション、又はその類のものを介して提示され得る。コード要求インタフェースは、ユーザ３５０に提示されるウェブページ又はウェブページの一部であり得る。例えば、コード要求インタフェースは、リモートサーバ処理システム３２０によってホスティングされるウェブページ内に位置するフレーム又はウィンドウであってよく、コード要求インタフェースはサーバ処理システム３２５によって生成及びホスティングされ得る。後に詳細に説明されるように、コード要求インタフェースにユーザ３５０によって入力されるコードは、サーバ処理システム３１０に伝送される。
【００６３】
ステップ４３７において、方法４００は、ユーザが、ユーザデバイス３３０のソフトウェアアプリケーション３３５を介して、サーバ処理システムからインデックスを要求する段階を含む。当該要求は、本明細書においてインデックス要求と称される。インデックス要求は、ユーザデバイス３３０からサーバ処理システムに伝送される。インデックス要求はユーザデバイスプロファイル及び／又はユーザのアイデンティティを示し得る。インデックス要求は、本明細書においてより詳細に説明されるように、ユーザのデジタル証明書に関連付けられるプライベートキーを用いてデジタル方式で署名され得る。
【００６４】
ステップ４４０において、インデックス要求を受信したことに応じて、方法４００は、サーバ処理システム３１０が、ユーザアカウントに関連付けられるキーマップ６００からの選択されたキー６２０を示すインデックス６１０をユーザデバイス３３０に伝送する段階を含む。ユーザデバイスプロファイル及び／又はユーザアイデンティティは、ユーザアカウント及び適切なキーマップを決定すべくサーバ処理システム３１０によって用いられ得る。コード要求インタフェースがユーザ処理システム３４０を介して提示され、ユーザデバイス３３０がサーバ処理システム３１０と通信していない複数の状況において、サーバ処理システム３１０は、ユーザ処理システム３４０を介してユーザにインデックス６１０を提供し得る。ユーザは次に、ユーザデバイス３３０の入力デバイスを用いて、ソフトウェアアプリケーション３３５にインデックス６１０を手動入力し得る。ユーザは、ユーザ処理システム３４０にインデックス６１０の伝送及び提示を要求すべく、ユーザ処理システム３４０と対話することを必要とされ得る。
【００６５】
ステップ４４５において、方法は、ユーザデバイス３３０が、受信したインデックス６１０に基づいて、ローカルメモリに格納されるキーマップ６００から対応するキー６２０を取得する段階を含む。
【００６６】
ステップ４５０において、方法４００は、ユーザデバイス３３０が、ユーザデバイス３３０上でユーザインタフェース６４０を生成及び表示する段階を含む。ソフトウェアアプリケーション３３５のユーザインタフェース６４０は、キー６２０及び識別子参照６５０のグラフィカル表現を提示する。図６Ｂを参照すると、昇順に一桁の数字０から９のテンキーを含む数値表示としての識別子参照６５０を提示する例示的ユーザインタフェース６４０が示される。図６Ｂに示されるように、キー６２０はランダムな複数の英文字の対応する番号を含み得る。図６に示されるように、識別子参照６５０の各一桁の数字が、キー６２０の対応するキー部分６３０に配列され、かつ隣接するように、好ましくは、ユーザインタフェース６４０は対応する識別子参照部分６６０に隣接する各キー部分６３０を提示する。キー６２０及び識別子参照６５０には、英数字のデータの複数の他の構成が用いられ得ることが理解されるだろう。
【００６７】
ステップ４５５において、方法４００は、ユーザ３５０が、提示されたキー及び所望の個人識別子を用いてコードを決定する段階を含む。一形態において、ユーザは提示されたインタフェース６４０を視覚的に検査し、コードを決定し得る。例えば、所望の個人識別子の各一桁の数字について、ユーザ３５０は識別子参照６５０におけるこの一桁の数字６６０に対応するキー部分６３０を特定する。複数のキー部分６３０は、コードを形成すべくユーザによって共に連結される。図６Ｂにおいて提示されるインタフェースに基づくと、ユーザの所望の個人識別子が「１０３２」である場合、ユーザ３５０のコードは「ＱＲＳＬ」である。個人識別子を設定すべくユーザ３５０がユーザデバイス３３０を用いている場合、ユーザは、コード要求インタフェースにコードを入力すべくユーザデバイス３３０の入力デバイスと対話し得る。当該コードは所望の個人識別子を間接的に表す。あるいは、セキュア環境へのアクセス権を取得すべくユーザがユーザ処理システム３４０を用いている場合、ユーザは、ユーザ処理システム３４０の入力デバイスを用いて、ユーザ処理システム３４０によって提示されるコード要求インタフェースにコードを入力できる。
【００６８】
ステップ４６０において、方法４００は、ユーザデバイス３３０又はユーザ処理システム３４０が、コード要求インタフェースにユーザ３５０によって入力されたコードを示すレスポンスをサーバ処理システム３１０に伝送する段階を含む。ユーザデバイス３３０又はユーザ処理システム３４０によって提示されるコード要求インタフェースは、提出ボタンを含み得る。当該コードは、提出ボタンのユーザ選択によってユーザデバイス３３０又はユーザ処理システム３４０からサーバ処理システム３１０に伝送され得る。
【００６９】
ステップ４６５において、方法４００は、サーバ処理システム３１０が、コード及び選択されたキー６２０に基づいてハッシュ値を決定する段階を含む。具体的に、サーバ処理システム３１０は、受信されたコードと、ステップ４４０において送信されたインデックス６１０に対応するキーマップ６００からの選択されたキー６２０と、ユーザ３５０に関連付けられるソルト値との複数の入力変数を、サーバ処理システム３１０によって実行されるハッシュアルゴリズムに提供して、ハッシュ値を生成する。好ましくは、ハッシュアルゴリズムは、ＳＨＡ−３、ＭＤ５、又はそれらの複数のバリアントなどの単方向ハッシュアルゴリズムである。ハッシュアルゴリズムは、個人識別子がサーバ処理システム３１０によって識別される必要がないように、複数の可換性の暗号技術を使用し得ることが理解されるだろう。
【００７０】
ステップ４７０において、方法４００は、サーバ処理システム３１０が、データベース中のユーザアカウントにハッシュ値を格納する段階を含む。有利なことに、サーバ処理システム３１０は決してユーザの個人識別子を格納せず、サーバ処理システム３１０は、個人識別子を直接的に示すデータを受信しもしない。これにより、複数のセキュリティ上の大きな利点を提供する。これらのセキュリティ上の利点は、いくつかの実施形態において、ユーザ３５０は自分の個人識別子を知っているが、他の誰も、ユーザ３５０がアクセスしようと試みているセキュア環境３２５の従業者ですらも、個人識別子を決定することができないという結果を含む。
【００７１】
サーバ処理システム３１０が２つのハッシュ値を得るべく、ステップ４４０からステップ４６５を繰り返してよいことが理解されるだろう。具体的に、サーバ処理システム３１０は、最初のインデックスとは異なる別のインデックス６１０をユーザデバイス３３０に（又は、ユーザデバイス３３０がサーバ処理システム３１０と通信していない場合はユーザ処理システムを介してユーザに）伝送し得る。次に、サーバ処理システム３１０はユーザから受信した追加のコードに基づいて第２のハッシュ値を計算する。ここで、それらのハッシュ値が合致（ｃｏｎｇｒｕｅｎｔ）（すなわち、一致（ｍａｔｃｈ））する場合、そのハッシュ値（すなわち、第１のハッシュ値又は第２のハッシュ値。なぜなら両方は同一であるから）はデータベースに格納される。それらのハッシュ値が一致しない場合、これは、ユーザ３５０が、合致しない所望の個人識別子を間違って示したということを示す。これにより登録処理は終了する。又は、ユーザ３５０は再び登録処理を繰り返すよう要求される。
［認証］
【００７２】
図５を参照すると、リモートサーバ処理システム３２０によってホスティングされるセキュア環境３２５にアクセスしようと試みるユーザ３５０をサーバ処理システム３１０が認証する例示的な方法を表すフローチャートが示されている。
【００７３】
具体的に、ステップ５０５において、方法５００は、リモートサーバ処理システム３２０からセキュア環境３２５にアクセスすべく要求を伝送するよう、ユーザ３５０がユーザ処理システム３４０又はユーザデバイス３３０を操作する段階を含む。その要求は、ウェブブラウザ、ウェブ対応アプリケーション、又はその類のものを介して提出され得る。
【００７４】
ステップ５１０において、方法５００は、リモートサーバ処理システム３２０が、ユーザ３５０を認証すべく、サーバ処理システム３１０に認証要求を伝送する段階を含む。認証要求は、ユーザがセキュア環境へのアクセスを要求していることを示す。好適な形態において、サーバ処理システム３１０に対してリモートサーバ処理システム３２０のアイデンティティを証明するデジタル証明書を用いて、リモートサーバ処理システム３２０は、当該要求をデジタル方式で署名し得る。次にサーバ処理システム３１０は、当該要求が識別可能なエンティティから受信されたということを保証するデジタル方式でサインされた要求に基づいて、リモートサーバ処理システム３２０のアイデンティティの検証を促し得る。サーバ処理システム３１０は、ユーザ３５０について認証要求が受信されたことをデータベース３１５に記録し、タイムスタンプをこの要求と関連付ける。
【００７５】
リモートサーバ処理システム３２０からセキュア環境３２５へアクセスするための要求に応じて、リモートサーバ処理システム３２０は、サーバ処理システム３１０によってホスティングされるコード要求インタフェースを含むインタフェースを、要求するデバイス３３０又は３４０に伝送する。コード要求インタフェースは、ウェブブラウザ、ウェブ対応アプリケーション、又はその類のものを介して提示され得る。
【００７６】
ステップ５１５として、方法５００は、ユーザ３５０がユーザデバイス３３０のソフトウェアアプリケーション３３５と対話してサーバ処理システム３１０にインデックス要求を伝送し、サーバ処理システムが、ユーザ３５０を認証すべく、ユーザのキーマップ６００からキー６２０のインデックス６１０を選ぶようにする段階を含む。好適な形態において、サーバ処理システム３１０は、時間的な閾値期間内にユーザ３５０からインデックス要求を受信することが必要とされる。そうでなければ、サーバ処理システム３１０は、リモートサーバ処理システム３２０に認証応答を送信して、ユーザ３５０がセキュア環境３２５へアクセスすることは認証されていないということを示す。当該要求を送信すべく、ユーザ３５０は、インデックス要求の伝送を開始するよう、ユーザデバイス３３０上のソフトウェアアプリケーション３３５を起動し得る。この時、ユーザデバイス３３０はまた、ユーザのデジタル証明書のプライベートキーを用いることによってインデックス要求をデジタル方式で署名して、サーバ処理システム３１０が、対応するパブリックキーを用いてユーザのアイデンティティを検証することを可能にし得る。デジタル署名がユーザ３５０のアイデンティティを成功裏に検証しない場合、サーバ処理システム３１０は、リモートサーバ処理システム３２０に認証応答を伝送して、ユーザ３５０がセキュア環境３２５にアクセスすることは認証されていないということを示し得る。
【００７７】
ステップ５２０において、方法５００は、リモートサーバ処理システム３２０が、ユーザ３５０に関連付けられるユーザデバイス３３０のソフトウェアアプリケーションに、ユーザのアカウントに関連付けられるキーマップ６００からの選択されたキー６２０のインデックス６１０を示すデータを伝送する段階を含む。サーバ処理システム３１０は、選択されたインデックス６１０を示す、発行されているチャレンジをユーザアカウントに記録する。先に説明したように、ユーザデバイス３３０がサーバ処理システム３１０とデータ通信していない場合、サーバ処理システム３１０は、ユーザ３５０への提示のために、選択されたインデックス６１０のインデックスを示すデータをユーザ処理システム３４０に伝送し得る。次に、ユーザ３５０は、ユーザデバイス３３０が成功裏にインデックスを受信するように、ユーザデバイス３３０の入力デバイスを介して、提示されたインデックスをソフトウェアアプリケーション３３５に手動入力し得る。ユーザ３５０は、ユーザ処理システム３４０へのインデックス６１０の伝送を要求すべく、ユーザ処理システム３４０と対話することが必要とされ得る。
【００７８】
任意選択的に、ステップ５２２において、当該方法は、ユーザデバイス３３０がセキュリティチェックを実行する段階を含む。具体的に、本文献において先に前述したとおり、ソフトウェアアプリケーション３３５は１又は複数のユーザデバイスの特性を決定して、ユーザデバイスプロファイルを生成する。次にソフトウェアアプリケーション３３５は、ユーザデバイス３３０のメモリに格納されるユーザデバイスプロファイルと新たに生成されたユーザデバイスプロファイルとを比較する。比較が成功した場合、当該方法はステップ５２５に進み、そうでなければ当該方法は終了する。この処理は、ユーザデバイス３３０に変更が生じたかどうかを識別し得る。
【００７９】
ステップ５２５において、方法５００は、ユーザデバイス３３０のソフトウェアアプリケーション３３５が、キーマップ６００からのインデックス６１０に対応するキー６２０をローカルメモリから取得する段階を含む。
【００８０】
ステップ５３０において、方法５００は、ユーザデバイス３３０のソフトウェアアプリケーション３３５が、ユーザデバイス３３０上のユーザインタフェース６００を生成かつ表示する段階を含む。ここで、ユーザインタフェース６００はキー６２０及び識別子参照６５０のグラフィカル表現を提示する。この処理は、上述されたステップ４５０と同様に実行される。
【００８１】
ステップ５３５において、方法５００は、コードを決定すべく、ユーザ３５０が、ユーザデバイス３３０によって提示されるソフトウェアアプリケーション３３５のユーザインタフェース６４０を用いる段階を含む。当該ステップは、所望の個人識別子ではなく設定された個人識別子の複数の部分に対応する複数のキー部分を、コード要求インタフェースを介してユーザが入力すること以外は、上述されたステップ４５５と同様に実行される。
【００８２】
ステップ５４０において、方法５００は、ユーザ処理システム３４０又はユーザデバイス３３０が、ユーザ３５０によって入力されるコードを示すデータを、コード要求インタフェースを介してサーバ処理システム３１０に伝送する段階を含む。
【００８３】
サーバ処理システム３１０は、チャレンジレスポンスが、受信されている最初の認証要求、及び／又は発行されているチャレンジ要求の時間的な閾値期間内に受信されたかどうかを決定するよう構成され得る。当該レスポンスが時間的な閾値期間内に受信されなかった場合、サーバ処理システム３１０は、リモートサーバ処理システム３２０に認証応答を伝送して、ユーザがセキュア環境３２５にアクセスすることは認証されていないということを示し得る。
【００８４】
ステップ５４５において、方法５００は、サーバ処理システム３１０が、コード及び選択されたキー６２０に基づいてハッシュ値を決定する段階を含む。具体的に、サーバ処理システム３１０は、受信されたコードの複数の入力変数と、ユーザデバイス３３０によって受信されるインデックス６１０に対応する選択されたキー６２０と、ユーザ３５０に関連付けられるソルト値とを、サーバ処理システム３１０によって実行されるハッシュアルゴリズムに提供してハッシュ値を生成する。好ましくは、ハッシュアルゴリズムは、ＳＨＡ−３、ＭＤ５、又はそれらの複数のバリアントなどの単方向ハッシュアルゴリズムである。ハッシュアルゴリズムは、個人識別子がサーバ処理システム３１０によって識別される必要がないように、可換性の複数の暗号技術を使用し得ることが理解されるだろう。
【００８５】
ステップ５５０において、方法５００は、サーバ処理システム３１０が、ユーザアカウント中の格納されたハッシュ値と決定されたハッシュ値とを比較する段階を含む。有利なことに、サーバ処理システム３１０はユーザの個人識別子を得る又は受信することが決してなく、これにより複数のセキュリティ上の大きな利点を提供する。これらのセキュリティ上の利点は、いくつかの実施形態において、ユーザ３５０は自分の個人識別子を知っているが、他の誰も、ユーザ３５０がアクセスしようと試みているセキュア環境３２５の従業者ですらも、個人識別子を決定することができないという結果を含む。
【００８６】
ステップ５５５において、方法５００は、サーバ処理システム３１０がリモートサーバ処理システム３２０に認証応答を生成かつ伝送する段階を含む。ここで、認証応答は、ステップ５５０における比較に基づいて、ユーザ３５０がセキュア環境３２５にアクセスすることが認証されるかどうかを示す。具体的に、それらのハッシュ値がステップ５５０で実行される比較において一致しない場合、サーバ処理システム３１０は、ユーザ３５０が、リモートサーバ処理システム３２０によって制御されるセキュア環境３２５にアクセスすることを許可されるべきではないということを示す認証応答を生成かつ伝送する。しかしながら、それらのハッシュ値がステップ５６０で実行される比較において一致する場合、サーバ処理システム３１０は、ユーザ３５０が、リモートサーバ処理システム３２０によって制御されるセキュア環境３２５にアクセスすることを許可されるべきであるということを示す認証応答を生成かつ伝送する。
【００８７】
ステップ５６０において、方法５００は、チャレンジレスポンスが受信され、認証応答がリモートサーバ処理システム３２０に伝送されたことを、サーバ処理システム３１０がユーザアカウントに記録する段階を含む。
【００８８】
ユーザ３５０がユーザ処理システム３４０を介してコードを間違って入力した場合、サーバ処理システム３１０は１又は複数の追加のチャレンジ要求を再発行し得て、固有かつ異なるインデックス６１０が各チャレンジ要求において伝送されることが理解されるだろう。間違ったコードの閾値数が、リモートサーバ処理システム３２０による１回の認証要求に対してサーバ処理システム３１０によって識別されると、サーバ処理システム３１０はリモートサーバ処理システム３２０に対して認証応答を生成かつ伝送して、ユーザ３５０がセキュア環境３２５へのアクセスを許可されるべきではないということを示し得る。
［個人識別子のリセット］
【００８９】
図７を参照すると、ユーザ３５０がサーバ処理システム３１０にリセット要求を伝送する方法を表わすフローチャートが示される。
【００９０】
具体的に、ステップ７０５において、当該方法は、ユーザの個人識別子をリセットすべく、ユーザ３５０がサーバ処理システム３１０にリセット要求を伝送する段階を含む。リセット要求は、可能性としてはソフトウェアアプリケーション３３５を介して、ユーザ処理システム３４０又はユーザデバイス３３０から送信され得る。リセット要求は、ユーザのアイデンティティを検証すべく、サーバ処理システム、すなわちＩＤＶによって用いられ得るデータを含み得る。
【００９１】
ステップ７１０において、サーバ処理システム３１０はユーザのアイデンティティの検証を促す。ユーザのアイデンティティの検証成功に応じて、サーバ処理システムによってホスティングされるコード要求インタフェースがユーザデバイス３３０又はユーザ処理システム３４０を介してユーザ３５０に提示され、方法７００はステップ７１２に進み、そうでなければリセット処理は終了する。
【００９２】
ステップ７１２において、ユーザ３５０は、サーバ処理システム３４０にインデックス要求を伝送すべく、ユーザデバイス３３５のソフトウェアアプリケーション３３５と対話する。
【００９３】
ステップ７１５において、方法７００は、サーバ処理システム３１０が、ユーザアカウントに関連付けられるキーマップ６００からの選択されたキー６２０のインデックス６１０をユーザデバイス３３０に伝送する段階を含む。先に説明したように、ユーザデバイス３３０がサーバ処理システム３１０とデータ通信していない場合、サーバ処理システム３１０は、ユーザ３５０への提示のために、選択されたキー６２０のインデックス６１０を示すデータをユーザ処理システム３４０に伝送し得る。次に、ユーザ３５０は、ユーザデバイス３３０が成功裏にインデックス６１０を受信するように、ユーザデバイス３３０の入力デバイスを介して、提示されたインデックス６１０をソフトウェアアプリケーション３３５に手動入力し得る。ユーザは、ユーザ処理システム３４０へのインデックス６１０の伝送を要求すべく、ユーザ処理システム３４０と対話することが必要とされ得る。
【００９４】
サーバ処理システム３１０は、受信されているリセット要求及びユーザに伝送されているインデックス６１０の記録をデータベース３１５に格納し得る。ここで、これらのイベントのそれぞれが起こった時間を示すタイムスタンプがデータベース３１５に記録される。
【００９５】
ステップ７２０において、方法７００は、ユーザデバイス３３０のソフトウェアアプリケーション３３５が、ユーザデバイス３３０のメモリに格納されるキーマップ６００からの受信されたインデックス６１０と対応するキー６２０を、ローカルメモリから取得する段階を含む。
【００９６】
ステップ７２５において、方法７００は、ユーザデバイス３３０が、ユーザデバイス３３０上でユーザインタフェース６００を生成かつ表示する段階を含む。ここで、ユーザインタフェース６００は、キー６２０及び識別子参照６５０のグラフィカル表現を提示する。このステップは、上述されたステップ４５０と同様に実行される。
【００９７】
ステップ７３０において、方法７００は、リセットコードを決定すべく、ユーザ３５０がユーザデバイスによって提示されるユーザインタフェースを用いる段階を含む。例えば、新しい個人識別子の各一桁の数字について、ユーザ３５０は、識別子参照６５０におけるそれぞれの一桁の数字に対応する各キー部分６３０を特定し、それらの対応するキー部分６３０を共に連結してリセットコードを形成する。図６Ｂにおいて提示されるインタフェースに基づくと、ユーザの新しい個人識別子が「５７３２」である場合、ユーザ３５０によって入力されるリセットコードは「ＸＫＳＬ」である。
【００９８】
ステップ７３５において、方法７００は、ユーザ処理システム３４０又はユーザデバイスが、ユーザ３５０によって入力されたリセットコードを示すレスポンスを、コード要求インタフェースを介してサーバ処理システム３１０に伝送する段階を含む。
【００９９】
サーバ処理システム３１０は、リセットコードが、リセット要求又はインデックスの伝送の時間的な閾値期間内に受信されたかどうかを決定するよう構成され得る。リセットコードが時間的な閾値期間内に受信されなかった場合、サーバ処理システム３１０は、受信されたリセットコードに基づいて個人識別子をリセットすることを拒否し得る。
【０１００】
ステップ７４０において、方法７００は、サーバ処理システム３１０が、リセットコード及び選択されたキーに基づいてハッシュ値を決定する段階を含む。具体的に、サーバ処理システム３１０は、受信されたリセットコードと、ユーザに伝送されたインデックスに対応するキーマップからのキーと、ユーザ３５０に関連付けられるソルト値との複数の入力変数を、サーバ処理システム３１０によって実行されるハッシュアルゴリズムに提供して、ハッシュ値を生成する。好ましくは、ハッシュアルゴリズムは、ＳＨＡ−３、ＭＤ５、又はそれらの複数のバリアントなどの単方向ハッシュアルゴリズムである。
【０１０１】
ステップ７４５において、方法７００は、サーバ処理システム３１０が、ユーザアカウントにユーザの新しい個人識別子の決定されたハッシュ値を格納し、ユーザの以前の個人識別子に対応する以前のハッシュ値を削除する段階を含む。有利なことに、サーバ処理システム３１０は決してユーザの新しい個人識別子を格納せず、サーバ処理システム３１０は、新しい個人識別子を直接的に示すデータを受信しもしない。これにより、複数のセキュリティ上の大きな利点を提供する。これらのセキュリティ上の利点は、いくつかの実施形態において、ユーザ３５０は自分の個人識別子を知っているが、他の誰も、ユーザ３５０がアクセスしようと試みているセキュア環境３２５の従業者ですらも、個人識別子を決定することができないという結果を含む。
【０１０２】
ステップ７１０から７４０は、ユーザ３５０が同一の新しい個人識別子を間接的に識別したことを確認すべく繰り返され得ることが理解されるだろう。２つのハッシュ値が一致する場合、新しい個人識別子に対応するハッシュ値は、ユーザアカウントに格納される。
【０１０３】
上記の処理の複数の部分は、ユーザがユーザ処理システム３４０と対話することに関連して説明されてきたが、同一の複数のステップを実行すべく、ユーザはユーザデバイス３３０を用い得ることが可能であることが理解されるだろう。
［変形形態］
【０１０４】
図３において示されるシステムが単一のユーザ３５０及び単一のリモートサーバ処理システム３２０のみを示しているに過ぎないことが理解されるだろう。好ましくは、サーバ処理システム３１０は、複数のリモートサーバ処理システム３２０とデータ通信し、各リモートサーバ処理システム３２０は、それぞれのセキュア環境３２５へのユーザのアクセスを制御することが理解されるだろう。
【０１０５】
好ましくはサーバ処理システム３１０が、複数のユーザ３５０のそれぞれに関連付けられる複数のユーザデバイス３３０とデータ通信しており、サーバ処理システム３１０に関連付けられるメモリ３２５は、複数のユーザ３５０を認証すべく、複数のユーザアカウントを格納することもまた理解されるだろう。
【０１０６】
サーバ処理システム３１０は、分散された処理システム、又は単一の専用処理システムの形態で提供され得ることが理解されるだろう。
【０１０７】
システムの様々な構成要素の間で伝送されるデータは、暗号化技術及びデジタル署名技術を使用し得ることが理解されるだろう。
【０１０８】
サーバ処理システム３１０によって、複数の他のハッシュ処理が適用され得ることが理解されるだろう。具体的に、サーバ処理システム３１０は、要求において送信されるインデックスに関連付けられる選択されたキーをユーザデバイス３３０に逆に適用することによってユーザの個人識別子を代替的に決定し得る。決定に際して、サーバ処理システム３１０はユーザの個人識別子を即座にハッシュし得る。次にユーザの個人識別子は、サーバ処理システム３１０によってユーザの個人識別子を直接的に示すデータが何も格納されないように、サーバ処理システム３１０のＲＡＭから即座にパージされ得る。
【０１０９】
ＩＤＶは、サーバ処理システム３１０の一部であるか、又は、サーバ処理システム３１０とデータ通信する別個の処理システムであることが理解されるだろう。
【０１１０】
複数のキー及び複数の個人識別子が一連の英文字及び／又は番号数字として上で例示されたが、固有のグラフィカルな複数のアイコン、形状、色、可聴音、及びその類のものなどの複数の他の形態のデータが用られ得ることが可能である。
【０１１１】
ステップ５２２において実行されるセキュリティチェック処理が認証処理に関連して説明されたが、セキュリティチェック処理はまた、悪意のある変更がユーザデバイスに起こっていなかったことを保証すべく、方法４００及び７００において実行され得ることが可能である。
【０１１２】
上記複数の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、ファームウェア、又はソフトウェアの態様並びにハードウェアの態様を組み合わせる実施形態、の形態を取り得る。
【０１１３】
本発明の範囲から逸脱することなく、多数の変形形態が当業者らには明らかであろう。
【図１】
0006410798.tif 000002
【図２】
0006410798.tif 000003
【図３】
0006410798.tif 000004
【図４】
0006410798.tif 000005
【図５】
0006410798.tif 000006
【図６Ａ】
0006410798.tif 000007
【図６Ｂ】
0006410798.tif 000008
【図７】
0006410798.tif 000009