(57)【要約】      （修正有）【課題】パスワードの提案にあるタイプミスに対する耐性を与える装置及び方法を提案する。【解決手段】少なくとも１つの受信した不正確なパスワードの提案を記憶するコンピュータ１１０のプロセッサが、ユーザからユーザインタフェースを介してさらなるパスワードの提案を受信しＳ１０、さらなるパスワードの提案に関するハッシュ値を生成しＳ１１、そのハッシュ値を認証サーバ１２０に送信し、そのハッシュ値が正確なパスワードに対応するか、不正確なパスワードに対応するかを示すメッセージを認証サーバ１２０から受信する。ハッシュ値が正確なパスワードに対応する場合、プロセッサは、各不正確なパスワードの提案に対して距離関数を用いて、不正確なパスワードの提案と正確なパスワードとの間の距離を表す距離値を取得しＳ１３、距離値が閾値以下のパスワードの提案に関するハッシュ値を認証サーバ１２０に送信する。【選択図】図２
2014212521.tif 000002
【特許請求の範囲】
【請求項１】
パスワードを管理する装置であって、
ユーザからパスワードの提案を受信する手段と、
前記パスワードの提案に関してハッシュ値を生成する手段と、
前記ハッシュ値を認証サーバに送信する手段と、
前記ハッシュ値が正確なパスワードに対応するか、不正確なパスワードに対応するかを示すメッセージを、前記認証サーバから受信する手段と、
不正確なパスワードに対応するパスワードの提案を記憶する手段と、
前記ハッシュ値が正確なパスワードに対応すると前記メッセージが示す場合、
不正確なパスワードに対応する各パスワードの提案に対して距離関数を用いて、前記パスワードの提案と前記正確なパスワードとの距離を表す距離値を取得する手段と、
前記距離値が距離基準を満たすパスワードの提案に関してのみ、ハッシュ値を前記認証サーバに送信する手段と、
を含む、前記装置。
【請求項２】
正確なパスワードを示す前記メッセージ以外のイベントに応答して、少なくとも１つの記憶されたパスワードの提案を削除する手段をさらに含む、請求項１に記載の装置。
【請求項３】
前記ユーザは、前記認証サーバが正確なパスワードとして受け入れる少なくとも１つのパスワードからなるグループであって、１つの一次パスワードとゼロ以上の二次パスワードとを含むグループを有し、前記メッセージは、前記ハッシュ値が前記一次パスワードに対応するか、前記二次パスワードの１つに対応するかをさらに示し、前記装置は、前記ハッシュ値が前記一次パスワードに対応することを前記メッセージが示す場合のみ、前記距離関数を使用し、前記距離値が閾値以下であるパスワードの提案に関するハッシュ値を送信する手段をさらに含む、請求項１に記載の装置。
【請求項４】
前記ハッシュ値が正確なパスワードに対応することを前記メッセージが示す場合、記憶されたパスワードの提案を削除する手段をさらに含む、請求項１に記載の装置。
【請求項５】
前記パスワードの提案に関する前記ハッシュ値が正確なパスワードに対応しないことを示すメッセージを受信すると、前記パスワードの提案を記憶する手段をさらに含む、請求項１に記載の装置。
【請求項６】
前記パスワードの提案を受信すると、前記パスワードの提案を記憶する手段をさらに含む、請求項１に記載の装置。
【請求項７】
前記パスワードの提案を受信すると前記パスワードの提案を記憶する前記手段は、前記パスワードの提案に関する前記ハッシュ値も記憶する、請求項６に記載の装置。
【請求項８】
前記装置は、前記認証サーバをさらに実施する、請求項１に記載の装置。
【請求項９】
ユーザのパスワードを管理する方法であって、少なくとも１つの受信した不正確なパスワードの提案を記憶する装置のプロセッサによって実行されるステップであって、
ユーザインタフェースを介して、ユーザからさらなるパスワードの提案を受信するステップと、
生成手段によって、前記さらなるパスワードの提案に関するハッシュ値を生成するステップと、
送信手段によって、認証サーバに前記ハッシュ値を送信するステップと、
受信手段によって、前記認証サーバから前記ハッシュ値が正確なパスワードに対応するか、不正確なパスワードに対応するかを示すメッセージを受信するステップと、
前記ハッシュ値が正確なパスワードに対応すると前記メッセージが示す場合、
各不正確なパスワードの提案に対して距離関数を使用して、演算手段によって、前記不正確なパスワードの提案と前記正確なパスワードとの間の距離を表す距離値を取得するステップと、
前記距離値が距離基準を満たすパスワードの提案に関してのみ、送信手段によって、ハッシュ値を前記認証サーバに送信するステップと、
を含む方法。
【請求項１０】
正確なパスワードを示す前記メッセージの受信以外のイベントに応答して、削除手段によって、少なくとも１つの受信した不正確なパスワードの提案を削除するステップをさらに含む、請求項９に記載の方法。
【請求項１１】
前記ユーザは、認証サーバが正確なパスワードとして受け入れる少なくとも１つのパスワードからなるグループであって、１つの一次パスワードと、ゼロ以上の二次パスワードとを含むグループを有し、前記メッセージは、前記ハッシュ値が前記一次パスワードに対応するか、前記二次パスワードの１つに対応するかを更に示し、前記ハッシュ値が前記一次パスワードに対応することを前記メッセージが示す場合のみ、前記距離関数を使用するステップおよび前記距離値が閾値以下であるパスワードの提案に関するハッシュ値を送信するステップを実行する、請求項９に記載の方法。
【請求項１２】
前記ハッシュ値が正確なパスワードに対応することを前記メッセージが示す場合、削除手段によって、前記少なくとも１つの受信した不正確なパスワードの提案を削除するステップをさらに含む、請求項９に記載の方法。
【請求項１３】
前記パスワードの提案に関する前記ハッシュ値が正確なパスワードに対応しないことを示すメッセージを受信すると、記憶手段によって前記パスワードの提案を記憶する、請求項９に記載の方法。
【請求項１４】
前記パスワードの提案を受信すると、記憶手段によって前記パスワードの提案を記憶するステップをさらに含む、請求項９に記載の方法。
【請求項１５】
プロセッサによって実行されると、請求項９から１４のいずれか１つの方法を実行する命令を記憶する、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的にコンピュータシステムに関し、詳細にはコンピュータシステムにおけるパスワードの処理に関する。
【背景技術】
【０００２】
この項では、様々な技術態様を読者に紹介する。それらは、下記に記載する、および／または、特許請求の範囲に記載する本開示の様々な態様に関連する。本項の記載は。本開示の様々な態様をよりよく理解するための背景情報を読者に提供する助けになると思われる。従って、本記載は、この観点で読むべきもので、先行技術の承認ではないことは理解されたい。
【０００３】
今日のコンピュータシステムにおいては、例えば、ユーザのログオンを認証するパスワードはユビキタスである。包括的定義では、パスワードは、所定のアルファベットの範囲で採用された連続した記号（例えば、ＰＩＮコードを表す４つの数字）で構成される。特に、パスワードが、大文字、小文字、数字、および、＆、“、＃などの記号の組み合わせである場合、パスワードは、一般的に、長い方が強固である。しかしながら、特に、タイプした文字が画面に現れないので、パスワードが複雑になると、一般的に、正しくタイプするのが難しくなる。さらに、ユーザが、日に何度もパスワードを入力しなければならない場合、非常に速い速度でパスワードをタイプすることが多い。従って、入力されたパスワードがタイプミスを含む場合があるのは当然である。さらに、スマートフォンやタブレットなどのタッチスクリーンベースのデバイスでは、仮想キーボードを用いてパスワードを含む何らかの文字列を入力する。この種の入力では、タイプミスはよく起こり得る。
【０００４】
先行技術は、タイプミスに強いパスワードを提供する多くの解決法を含む。
【０００５】
Ｐａｓｓｗｏｒｄ  Ｖａｒｉａｔｏｒツールは、パスワードに関する全ての可能なバリエーションを有するファイルを構築し、文字の間違い、文字の重複、余分な文字、文字順違い、および、大文字小文字の違いなどの３つのタイプミスまでをエミュレートする。Ａｎｄｒｅｗ  ＭｅｈｌｅｒとＳｔｅｖｅｎ  Ｓｋｉｅｎａは、Ｉｍｐｒｏｖｉｎｇ  Ｕｓａｂｉｌｉｔｙ  Ｔｈｒｏｕｇｈ  Ｐａｓｓｗｏｒｄ−Ｃｏｒｒｅｃｔｉｖｅ  Ｈａｓｈｉｎｇで、異なる解決法を提供している。この解決法は、例えば、入力されたパスワードをアルファベット順にソートして正しい順に並べ替えることによって、ハッシュ化する前にパスワードを処理する。そうすると、少しのスペルミスがあるパスワードは正確なパスワードと同じハッシュ値に変換される可能性が高い。このように「許容できる」パスワードを増加させることによって、パスワードの強固さが劇的に減じられることは明らかである。
【０００６】
ＵＳ７３７３５１６とＪＰ２００５／２０８７６３の解決法は、入力パスワードを、「パスワード空間」、すなわちプレーンテキストに記憶されたパスワードと比較して、入力パスワードが記憶されたパスワードと「類似している」か否かを判定する。しかしながら、これらの解決法には、パスワードのプレーンテキスト版の比較が必要となるので、パスワードをプレーンテキストで記憶することが、明らかに安全上の理由で一般的に、許されない実際のシステムでは用いることができない。一般に、認証は、パスワードのハッシュ化バージョンを記憶するサーバによって、ユーザがタイプしたパスワードの提案のハッシュ化バージョンと比較されることによって行われる。これは、ハッシュ関数への２つの入力が異なる場合、たとえ一文字異なるだけでも、出力は、通常、完全に異なるという事実による。
【０００７】
ＪＰ２００７−１１４９７６は、特に、タイプミスのあるパスワードが入力された数を数え続けて、その数が十分に大きくなると、例えば、１０回になると、許容パスワードとしてタイプミスのあるパスワードを記憶する機能を提供する、ＰＣなどのデバイスを記載している。その解決法は、タイプミスのあるパスワードの追加に何の制御もないように思われるので安全でないことを、当業者は理解されよう、なぜなら、間違ったパスワードを１０回入力すれば、そのパスワードが許容パスワードとして入力され、このことは、ハッカーがパスワードを１０回入力するだけで、そのパスワードを受け入れさせることができることを意味する。
【０００８】
従って、先行技術の解決法に見られる欠陥がなく、認証システムがタイプミスのあるパスワードを許可することを可能にする解決法が必要とされている。本開示は、このような解決法を提供する。
【発明の概要】
【０００９】
第１の態様において、本開示はパスワードを管理する装置に関し、本装置は、ユーザからパスワードの提案を受信し、パスワードの提案に関するハッシュ値を生成し、ハッシュ値を認証サーバに送信し、ハッシュ値が正確なパスワードに対応するか、それとも、不正確なパスワードに対応するかを示すメッセージを認証サーバから受信し、不正確なパスワードに対応するパスワードの提案を記憶し、ハッシュ値が正確なパスワードに対応することをメッセージが示す場合、不正確なパスワードに対応する各パスワードの提案に対して距離関数を用いて、各パスワードの提案と正確なパスワードとの間の距離を表す距離値を取得し、距離値が距離基準を満たすパスワードの提案に関してのみ、ハッシュ値を認証サーバに送信する手段を含む。
【００１０】
第１の実施形態においては、本装置は、正確なパスワードを示すメッセージの受信以外のイベントに応答して、少なくとも１つの記憶されたパスワードの提案を削除する手段をさらに含む。
【００１１】
第２の実施形態においては、ユーザは、認証サーバが正確なパスワードとして受け入れる少なくとも１つのパスワードからなるグループを有し、グループは、１つの一次パスワードとゼロ以上の二次パスワードを含み、メッセージは、ハッシュ値が、一次パスワードに対応するか、または、二次パスワードの１つに対応するかをさらに示し、本装置は、ハッシュ値が一次パスワードに対応することをメッセージが示す場合のみ、距離関数を使用し、距離値が閾値以下のパスワードの提案に関するハッシュ値を送信する手段をさらに含む。
【００１２】
第３の実施形態においては、本装置は、ハッシュ値が正確なパスワードに対応することをメッセージが示す場合、記憶されたパスワードの提案を削除する手段をさらに含む。
【００１３】
第４の実施形態においては、本装置は、パスワードの提案に関するハッシュ値が正確なパスワードに対応しないことを示すメッセージを受信すると、パスワードの提案を記憶する手段をさらに含む。
【００１４】
第５の実施形態においては、本装置は、パスワードの提案を受信すると、パスワードの提案を記録する手段をさらに含む。パスワードの提案を受信するとパスワードの提案を記憶する手段が、パスワードの提案に関するハッシュ値も記憶すると、有利である。  
第６の実施形態においては、本装置は、認証サーバをさらに実装する。
【００１５】
第２の態様において、本開示はユーザのパスワードを管理する方法に関する。少なくとも１つの受信した不正確なパスワードの提案を記憶する装置のプロセッサは、ユーザインタフェースを介して、ユーザからさらなるパスワードの提案を受信し、そのパスワードの提案に関してハッシュ値を生成し、そのハッシュ値を認証サーバに送信し、そのハッシュ値が正確なパスワードに対応するか、または、不正確なパスワードに対応するかを示すメッセージを認証サーバから受信する。ハッシュ値が正確なパスワードに対応することをメッセージが示す場合、プロセッサは、各不正確なパスワードの提案に対して距離関数を用いて、各不正確なパスワードの提案と正確なパスワード間の距離を表す距離値を取得し、その距離値が距離基準を満たすパスワードの提案に関してのみ、ハッシュ値を認証サーバに送信する。
【００１６】
第１の実施形態においては、プロセッサは、正確なパスワードを示すメッセージの受信以外のイベントに応答して、少なくとも１つの受信した不正確なパスワードの提案を削除する。
【００１７】
第２の実施形態において、ユーザは、認証サーバが正確なパスワードとして受け入れる少なくとも１つのパスワードからなるグループを有し、そのグループは、１つの一次パスワードおよびゼロ以上の二次パスワードを含み、メッセージは、ハッシュ値が一次パスワードに対応するか、または、二次パスワードの１つに対応するかをさらに示し、プロセッサは、ハッシュ値が一次パスワードに対応することをメッセージが示す場合のみ、距離関数を使用し、距離値が閾値以下であるパスワードの提案に関するハッシュ値を送信する。
【００１８】
第３の実施形態においては、プロセッサは、ハッシュ値が正確なパスワードに対応することをメッセージが示す場合、少なくとも１つの受信した不正確なパスワードの提案を削除する。
【００１９】
第４の実施形態においては、プロセッサは、パスワードの提案に関するハッシュ値が正確なパスワードに対応しないことを示すメッセージを受信すると、パスワードの提案を記憶する。
【００２０】
第５の実施形態においては、プロセッサは、パスワードの提案を受信すると、パスワードの提案を記憶する。
【００２１】
第３の態様において、本開示は、プロセッサによって実行されると、第１の態様の方法を行う命令を記憶する非一時的なコンピュータプログラムサポートに関する。
【図面の簡単な説明】
【００２２】
本開示の好ましい特徴を添付の図面を参照しながら、例を挙げて記載するが、例は制限を目的としたものではない。
【図１】本開示を実装可能な例示のシステムを示す図である。
【図２】本開示の第１の例示のパスワード認証方法を示す図である。
【図３】本開示の第２の例示のパスワード認証方法を示す図である。
【発明を実施するための形態】
【００２３】
図１は、本開示を実装可能な例示のシステムを示す。このシステムは、コンピュータデバイス（「コンピュータ」）１１０および認証サーバ１２０を含む。コンピュータ１１０と認証サーバ（以下「サーバ」）１２０は、標準的なパーソナルコンピュータ（ＰＣ）またはワークステーションなどの、計算を行うことができる任意の種類の適切なコンピュータまたはデバイスであってよい。好ましくは、コンピュータ１１０は、少なくとも１つのプロセッサ１１１、ＲＡＭメモリ１１２、ユーザと対話するためのユーザインタフェース１１３、および、接続１３０を介して他のデバイスと対話するための第２のインタフェース１１４を含み、サーバ１２０は、少なくとも１つのプロセッサ１２１、ＲＡＭメモリ１２２、ユーザと対話するためのユーザインタフェース１２３、および、接続１３０を介して他のデバイスと対話するための第２のインタフェース１２４を含む。好ましくは、コンピュータ１１０およびサーバ１２０はそれぞれ、プロセッサによって実行されると、下記のパスワード方法のいずれかを行う命令を記憶するデジタルデータサポート１４０からソフトウェアプログラムを読み出すためのインタフェースも含む。例示のデバイスは、分かりやすいように非常に簡素化してあるが、実際のデバイスは、さらに、永続記憶装置などの機能を含むことを、当業者は理解されよう。本開示は、パスワードがコンピュータ自体へのアクセスだけを提供する場合、コンピュータ１１０でのみ実装してもよく、この場合、サーバ１２０はそのコンピュータで実装されることを、当業者は理解されよう。
【００２４】
図２は、本開示の第１の例示のパスワード認証方法を示す。第１のステップにおいて、ユーザは、コンピュータ１１０のユーザインタフェース１１３を通して、ユーザのアイデンティティ、すなわち、ユーザ名を入力する（Ｓ０１）。コンピュータ１１０は、入力されたパスワードの提案のグループ（後述）を、空のグループに設定し、ユーザ名をサーバ１２０に転送する（Ｓ０２）。ユーザ名によって、サーバ１２０は、そのユーザに関する１つまたは複数の記憶された許容パスワード（後に示すように、一次パスワード、および、存在すれば、少なくとも１つの二次パスワード）のハッシュを検索することができる（Ｓ０３）。本開示が、コンピュータ１１０でのみ実施される場合、ユーザは単一となる可能性があり、その場合、ユーザ名を提供する必要はない、言い換えれば、ステップＳ０１からＳ０３は、自動的となることは理解されよう。
【００２５】
ユーザが、コンピュータ１１０のユーザインタフェース１１３を用いて、パスワードの提案Ｐｉ（下記、提案と呼ぶ）を入力する（Ｓ１０）と、コンピュータ１１０は、提案Ｐｉをハッシュ化して、サーバ１２０に送信されるハッシュ化された提案ｈ（Ｐｉ）を取得する（Ｓ１１）。コンピュータは、また、その提案Ｐｉを一時的に記憶する。サーバは、ハッシュ化された提案ｈ（Ｐｉ）を、記憶したハッシュ化された一次パスワードｈ（Ｓ）と比較する（Ｓ１２）。ハッシュ化された提案ｈ（Ｐｉ）が記憶したハッシュ化された一次パスワードｈ（Ｓ）と一致する場合は、好ましくは、ログインが成功したことをユーザに知らせるメッセージをコンピュータ１１０に送信する。コンピュータ１１０は、また、下記に記載の機能を行う（Ｓ１３）。
【００２６】
ハッシュ化された提案ｈ（Ｐｉ）が、記憶されたハッシュ化された一次パスワードｈ（Ｓ）に一致しない場合、サーバ１２０は、ハッシュ化された提案ｈ（Ｐｉ）がｈｐｓ（下記にさらに記載）に含まれる二次パスワードのハッシュのいずれかに一致するか否かを検証する（Ｓ１５）。ハッシュ化された提案ｈ（Ｐｉ）がｈｐｓ（下記にさらに記載）に含まれる二次パスワードのハッシュのいずれかと一致すると、ログインは成功し、好ましくは、メッセージがコンピュータ１１０に送信され、ユーザに知らされる。コンピュータ１１０は、入力された不正確な提案のグループＨＰ′の全ての提案をそのグループから削除する（Ｓ１６）、これについては、後にさらに記載する。
【００２７】
しかしながら、ハッシュ化された提案ｈ（Ｐｉ）が、ｈｐｓに含まれる二次パスワードのハッシュのいずれにも一致しない場合、サーバ１２０は、メッセージを送信して、その事をコンピュータに知らせる。コンピュータは、入力された不正確な提案のグループＨＰ′に提案Ｐｉを追加し（Ｓ１７）、入力された提案が不正確なことをユーザに知らせ、ユーザに新しい提案を入力するよう勧める。当然、本開示は、様々な先行技術の解決法と組み合わせて、例えば、ログインに、仮に、３度、失敗すると、さらなるログインの試みをブロックすることによって、システムの安全性を強化してよい。
【００２８】
本方法は、次に、パスワード入力ステップＳ１０、提案ハッシュ化ステップＳ１１、提案比較ステップＳ１２、および、入力された提案の正確さに応じて、上述の他のステップを繰り返すことができる。２回目以降の繰り返しで、入力された不正確な提案のグループＨＰ′は、少なくとも１つの入力された提案を含むので、ステップＳ１３においてコンピュータが行う機能の説明を、例証的に行う。
【００２９】
ステップＳ１３において、ユーザは、１度または複数回の試みの後、正確な一次パスワード、すなわち、ハッシュｈ（Ｐｉ）が一次パスワードのハッシュｈ（Ｓ）に一致するパスワードを入力した。そうすると、コンピュータ１１０は、入力された不正確な提案のグループＨＰ′内のいずれかの提案Ｐｉが、正確な一次パスワードに「近い」か否かをチェックし、「近い」パスワードのハッシュ値のグループｈｐ″を生成する。ｈｐ″＝｛ｈ（Ｐｊ）｜ＰｊＨＰ′ｄ（Ｐｉ，Ｐｊ）α｝、ここで、ｄは、距離関数を示し、αは、対応する距離値、すなわち、「近い」とみなされるものの閾値を示す。言い換えれば、不正確な提案は、距離基準を満たせば、「近い」とみなされる。レーベンシュタイン距離、Ｄａｍｅｒａｕ−Ｌｅｖｅｎｓｈｔｅｉｎ距離、またはハミング距離を計算する関数など、多くの適切な先行技術の距離関数があり、当業者は、距離の選択は、許容可能と判定される「エラー」、例えば、文字の置換、転置、追加および削除に左右されることを理解されよう。さらに、閾値αは、どれくらい「近い」タイプミスのあるパスワードを今後受け入れるべきかに応じて選択される。例えば、１、または、場合によっては２という閾値は、好ましい値である。さらに、コンピュータ１１０は、ＨＰ′の提案を削除する、すなわち、コンピュータ１１０は、そのグループを空のグループに設定する。
【００３０】
コンピュータ１１０は、次に、ハッシュ値のグループｈｐ″をサーバ１２０に送信する。コンピュータ１１０は、例えば、一次パスワードのハッシュ値をメッセージの始めに付与することによって、ハッシュ値の信頼性の証拠となるものを提供すると、有益である。サーバ１２０は、二次パスワードのグループｈｐｓに、グループｈｐ″のハッシュ値を追加する（Ｓ１４）。当然、サーバ１２０は、グループｈｐ″のハッシュ値のいずれかが、グループｈｐｓに既に存在するか否かもチェックして、新しいハッシュ値のみを追加することができる。
【００３１】
本解決法の安全性を高めるために、サーバ１２０は、ハッシュ化された提案が記憶されたハッシュに対応するとき（すなわち、ステップＳ１２のＹ）、そのユーザに関する新しい二次パスワードを待つ状態になることが好ましい。このように、サーバは、正確なパスワードが入力されたときのみ、そのユーザの二次パスワードを記憶する。このメモリをタイマに関連付けると有益である。
【００３２】
タイプミスのあるパスワードは、正確な一次パスワードが後に続くことを条件として、二次パスワードのグループに追加することができることは理解されよう。このことは、その二次パスワードがログインに使用可能なことを意味する。
【００３３】
代替実施形態においては、グループＨＰ′は、入力された提案（必ずしも不正確な提案ではない）を含み、提案は、ステップＳ１７の代わりにステップＳ１１で既にこのグループに追加される。この場合は、近いパスワードのハッシュ値のグループｈｐ″がステップＳ１３で生成される前に、正確な提案をグループＨＰ′から取り除くことができる。
【００３４】
どちらの実施形態においても、コンピュータ１１０が、上述のようにグループＨＰ′に提案Ｐｉを記憶し、ステップＳ１１で提案のハッシュ値のグループｈｐ′に提案Ｐｉのハッシュ値ｈ（Ｐｉ）を記憶し、次に、ステップＳ１３で、近いパスワードのハッシュ値を近いパスワードのハッシュ値のグループｈｐ″に加え、「遠い」パスワードに対応するハッシュ値は加えないことが可能であることは、理解されよう。言い換えれば、近いパスワードのハッシュ値のみが、グループｈｐ′からグループｈｐ″に移される。
【００３５】
さらなる変形形態においては、サーバ１２０は、受信した提案のハッシュ値ｈ（Ｐｉ）をそのユーザに関するグループｈｐｓ″に記憶し、ｈｐ″内のハッシュ値が、グループｈｐｓ″の少なくともサブセットであることを検証する。これによって、ｈｐ″のハッシュ値が、実際に、入力された提案に対応すること、および、ｈｐ″のハッシュ値が、例えば、介入者攻撃を用いて、ハッカーが追加したものでないことを保証する。
【００３６】
ある変形の実施形態においては、コンピュータ１１０は、また、入力した提案のハッシュが二次パスワードのハッシュと一致する場合、ステップ１３の機能を実行する、すなわち、ステップＳ１３は、ステップＳ１５の次に来ることもできる。
【００３７】
好ましい実施形態においては、コンピュータは、タイマを、ＨＰ′内の入力された不正確な提案のそれぞれと関連付け、タイマが終了した提案を削除する。あるいは、コンピュータは、タイマを用いて、タイマが終了すると、ＨＰ′内の入力された提案を全て削除してもよい。これについては、図２のＳ１８に示す。これによって、ユーザが提案を有効にする正確なパスワードに到達又は正確なパスワードを入力する前にハッカーが多くの提案を入力することが不可能になるので、システムのセキュリティが向上する。他の実施形態と組み合わせてよい変形形態においては、グループＨＰ′は、ｎ個の提案に限定され、新しい提案のためにスペースが必要になると、最も古い提案を放棄するとういようにＦＩＦＯの働きをする。
【００３８】
図３は、多くの変形形態および実施形態が組み込まれる、本開示の第２の例示のパスワード認証方法を示す。ユーザは、前述のように、ユーザのアイデンティティを入力する（Ｓ０１）。コンピュータ１１０は、次に、パスワードの提案のハッシュ値（Ｐｉ）のｈｐｃ′を空のグループに設定し（Ｓ００２）、ユーザ名をサーバ１２０に転送する。サーバ１２０は、そのユーザの１つまたは複数の記憶された許容パスワード（一次パスワード、および、存在すれば、少なくとも１つの二次パスワード）のハッシュを検索し（Ｓ０３）、そのユーザに関する受信したハッシュ値のグループｈｐｓ″を空のグループに設定する。
【００３９】
ユーザは、提案Ｐｉを入力する（Ｓ１０）。コンピュータ１１０は、提案Ｐｉをハッシュ化して、サーバ１２０に送信するハッシュ化された提案ｈ（Ｐｉ）を取得する（Ｓ２１）。コンピュータ１１０は、また、提案タプル（Ｐｉ，ｈ（Ｐｉ））をグループｈｐｃ′に記憶する。
【００４０】
サーバは、ハッシュ化された提案ｈ（Ｐｉ）を、記憶されたハッシュ化一次パスワードｈ（Ｓ）と比較する（Ｓ１２）。ハッシュ化された提案ｈ（Ｐｉ）が記憶されたハッシュ化一次パスワードｈ（Ｓ）と一致する場合は、好ましくは、ログインが成功したということをユーザに知らせるメッセージをコンピュータ１１０に送信する。コンピュータは、また、正確な提案とグループｈｐｃ′内の他の提案との距離ｄを決定し、「近い」提案に対応するハッシュ値をグループｈｐｃ″に入れる（Ｓ２３）。コンピュータ１１０は、また、グループｈｐｃ′を空のグループに設定し、グループｈｐｃ″をサーバに送信する。サーバ１２０は、ｈｐｃ″とｈｐｓ″の共通の要素を二次パスワードのリストｈｐｓに追加し（後述）（Ｓ２４）、ｈｐｓ″をクリアする。
【００４１】
ハッシュ化された提案ｈ（Ｐｉ）が、記憶されたハッシュ化一次パスワードｈ（Ｓ）に一致しない場合、サーバ１２０は、ハッシュ化された提案ｈ（Ｐｉ）がｈｐｓに含まれる二次パスワードのハッシュのいずれかに一致するか否かを検証する（Ｓ１５）。ハッシュ化された提案ｈ（Ｐｉ）がｈｐｓに含まれる二次パスワードのハッシュのいずれかと一致すれば、ログインは成功し、好ましくは、メッセージがコンピュータ１１０に送信されてユーザに知らされる。サーバ１２０は、提案のハッシュ値のｈｐｓ″内の全ての値を削除する（Ｓ２０）。コンピュータ１１０は、提案のハッシュ値のｈｐｃ′の全ての値を削除する（Ｓ２６）。
【００４２】
しかしながら、ハッシュ化された提案ｈ（Ｐｉ）がｈｐｓに含まれる二次パスワードのハッシュのいずれにも一致ない場合、サーバ１２０は、メッセージを送信して、これをコンピュータに知らせ、そのハッシュ値ｈ（Ｐｉ）を受信した不正確なハッシュ値のグループｈｐｓ″に追加する（Ｓ２７）。
【００４３】
本方法は、次に、図２に示す好ましい実施形態で記載したように、ステップを繰り返すことができる。
【００４４】
タイマを用いて、タイマが終了すると、グループｈｐｃ′を空にする（Ｓ２８）ことが好ましい。タイマを用いて、タイマが終了すると、グループｈｐｓ″を空にする（Ｓ２９）ことが好ましい。
【００４５】
コンピュータ１１０とサーバ１２０間のメッセージ、特に、ハッシュ値を、例えば、ソルトを用いた暗号化によって保護することが好ましいことを、当業者は理解されよう。メッセージを保護する好ましい方法は、ＷＯ２００６／０４８０４３に記載されたセキュア認証チャネル（Ｓｅｃｕｒｅ  Ａｕｔｈｅｎｔｉｃａｔｅｄ  Ｃｈａｎｎｅｌ）の使用である。
【００４６】
本開示は、タイプミスに強く、
転送中や記憶されている間、ハッシュ化によってパスワードを保護し、
多くのパスワードの変形を受け入れることによってシステムを不必要に弱体化させるのではなく、ユーザが実際に入力した、正確なパスワードに近い不正確なパスワードを受け入れる
パスワードシステムを提供できることを、理解されよう。
【００４７】
詳細な説明、（適宜）特許請求の範囲および図面で開示された各特徴は、独立して、または、任意の適切な組み合わせで提供してよい。ハードウェアに実装されているとして記載した特徴は、ソフトウェアに実装されてもよく、逆もまた同様である。特許請求の範囲に記載の参照番号は、説明のためであり、請求項の範囲を限定するものではない。
【図１】
2014212521.tif 000003
【図２】
2014212521.tif 000004
【図３】
2014212521.tif 000005
【外国語明細書】
2014212521000001.pdf