(57)【要約】  本発明は、ワンタイムパスワード１２０を用いてパケットベースのネットワークを介してクライアント１００からサーバー２００にアクセスするためのユーザー認証の方法に関し、クライアント１００は第１の秘密情報４０、４５を備え、サーバーは、第２の秘密情報４１、４６及び第２の秘密情報４１、４６に関連付けられた選ばれたユーザー名２１を記憶するデータベース７０を備え、本方法は、クライアント１００により第１の秘密情報４０、４５に関連付けられた第２の秘密情報４１、４６をサーバー２００に提供し、第２の秘密情報及び選ばれたユーザー名２１をデータベース７０に記憶するステップと、サーバーにより符号化され、ランダムデータ１１０を含むチャレンジ８０をサーバー２００からクライアント１００に送信するステップと、第２の秘密情報４１、４６及びチャレンジ８０から復号されたランダムデータを用いてクライアント１００によりワンタイムパスワード１２０を計算するステップと、ワンタイムパスワード１２０及び選ばれたユーザー名をクライアント１１０においてサブミットし、サーバー２００にアクセスする、サブミットするステップと、ランダムデータ及びデータベースに記憶されたサーバー秘密情報を用いて、サーバーにより計算されたワンタイムパスワード１２０を用いてクライアントから受信したワンタイムパスワード１２０の正当性を確認するステップと、を含む。本発明は、方法のステップを実行するシステムにも関する。
2013509840.tif 000002
【特許請求の範囲】
【請求項１】
ワンタイムパスワード（１２０）及びユーザー名（２１）を用いてパケットベースのネットワークを介してクライアント（１００）からサーバー（２００）にアクセスするためのユーザー認証の方法であって、前記クライアントは第１の秘密情報（４０、４５）を備え、前記サーバーは、前記クライアントにより前記第１の秘密情報に関連付けて提供される第２の秘密情報（４１、４６）を記憶するデータベース（７０）を備え、該方法は、
ａ）チャレンジ（８０）を前記サーバー（２００）から前記クライアント（１００）に送信するステップであって、前記チャレンジは、前記サーバーにより符号化され、ランダムデータ（１１０）を含む、送信するステップと、
ｂ）前記第２の秘密情報（４１、４６）及び前記チャレンジ（８０）から復号された前記ランダムデータを用いて、前記クライアント（１００）により前記ワンタイムパスワード（１２０）を計算するステップと、
ｃ）前記ワンタイムパスワード（１２０）及び前記ユーザー名（２１）を前記クライアント（１１０）においてサブミットし、前記サーバー（２００）にアクセスする、サブミットするステップと、
ｄ）前記ランダムデータ及び前記データベースに記憶された前記サーバー秘密情報を用いて、前記サーバーが計算した前記ワンタイムパスワード（１２０）を用いて、前記クライアントから受信した前記ワンタイムパスワード（１２０）の正当性を確認するステップと、
を含む、ユーザー認証の方法。
【請求項２】
前記第２の秘密情報（４１、４６）は、前記クライアント（１００）により前記第１の秘密情報を用いて提供される、請求項１に記載の方法。
【請求項３】
前記チャレンジ（８０）は視覚的に表現可能な画像である、請求項１又は２に記載の方法。
【請求項４】
前記チャレンジ（８０）は２Ｄバーコードである、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記サーバー（２００）は、マルチドメイン環境に分散し、前記クライアント（１００）からアクセス可能な複数のホスト（３０）を含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記第２の秘密情報（４１、４６）は、前記第１の秘密情報（４０、４５）及びサーバー識別情報（５０）を用いて前記クライアント（１００）により生成され、前記サーバー識別情報は、前記サーバーのインターネットプロトコルアドレス又はドメイン名である、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
ステップｂ）において前記ワンタイムパスワードの計算に用いられる前記第２の秘密情報（４１、４６）は、前記第１の秘密情報（４０、４５）及び前記サーバー識別情報（５０）を用いて前記クライアント（１００）により生成される、請求項６に記載の方法。
【請求項８】
前記チャレンジは、前記サーバー識別情報（５０）を更に含み、ステップａ）は、前記チャレンジ（８０）から符号化された前記サーバー識別情報（５０）を表示するステップと、前記表示されたサーバー識別情報（５０）を、アクセスすることになっているサーバーの前記サーバー識別情報（５０）と比較することにより、前記サーバー（２００）から送信される前記チャレンジ（８０）の正当性を確認するステップと、前記チャレンジ（８０）が正当な場合、前記ステップｂ）〜ｄ）を実行し、前記チャレンジが正当でない場合、前記ステップｂ）〜ｄ）を棄却するステップと、を更に含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記第１の秘密情報は秘密鍵（４５）であり、前記第２の秘密情報は公開鍵（４６）であり、前記秘密鍵（４５）及び前記公開鍵（４６）は非対称ペアとして提供され、該非対称ペアは、ステップａ）において前記クライアント（１００）により提供されるか、又は第３者サイトから取得される、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記ステップｂ）は、前記ユーザー名（２１）及び前記ワンタイムパスワード（１２０）を入力する入力フィールドを含む前記ログインウィンドウを表示するブラウザー（９０）を開始するステップを更に含む、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
前記クライアント（１００）は、ステップａ）において前記第２の秘密情報（４１、４６）を提供し、ステップｃ）において前記ワンタイムパスワード（１２０）を計算するデータ処理ユニット（１０）を更に備え、該データ処理ユニット（１０）は暗号ユニットである、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記データ処理ユニット（１０）は、前記チャレンジ（８０）を取り込むカメラを備える、請求項１に記載の方法。
【請求項１３】
前記データ処理ユニット（１０）は携帯電話である、請求項１２に記載の方法。
【請求項１４】
前記クライアント（１００）は、前記データ処理ユニット（１０）をエミュレートし、ステップｃ）において生成される前記ワンタイムパスワード（１２０）をサブミットするプログラムを更に備える、請求項１〜１１のいずれか一項に記載の方法。
【請求項１５】
ワンタイムパスワード（１２０）及びユーザー名（２１）を用いてパケットベースのネットワークを介してクライアント（１００）からサーバー（２００）にアクセスするためのユーザー認証のシステムであって、前記クライアントは第１の秘密情報（４０、４５）を備え、前記サーバーは、前記クライアントにより前記第１の秘密情報に関連付けて提供される第２の秘密情報（４１、４６）を記憶するデータベース（７０）を備え、該システムは、
ａ）前記クライアント（１００）により前記第１の秘密情報（４０、４５）に関連付けられた前記第２の秘密情報（４１、４６）を前記サーバー（２００）に提供し、前記第２の秘密情報及び選ばれた前記ユーザー名（２１）を前記データベース（７０）に記憶する手段と、
ｂ）チャレンジ（８０）を前記サーバー（２００）から前記クライアント（１００）に送信する手段であって、前記チャレンジは、前記サーバーにより符号化され、ランダムデータ（１１０）を含む、送信する手段と、
ｃ）前記第２の秘密情報（４１、４６）及び前記チャレンジ（８０）から復号された前記ランダムデータを用いて、前記クライアント（１００）により前記ワンタイムパスワード（１２０）を計算する手段と、
ｄ）前記ワンタイムパスワード（１２０）及び前記選ばれたユーザー名を前記クライアント（１１０）においてサブミットして、前記サーバー（２００）にアクセスする、サブミットする手段と、
ｅ）前記ランダムデータ及び前記データベースに記憶された前記サーバー秘密情報を用いて前記サーバーにより計算された前記ワンタイムパスワード（１２０）を用いて、前記クライアントから受信される前記ワンタイムパスワード（１２０）の正当性を確認する手段と、
を備える、ユーザー認証のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザー認証又はサーバーとクライアントとの間における認証の方法及びシステムに関し、特に、単一の秘密情報から生成されるワンタイムパスワードを用いて複数のドメインにわたって行われるユーザー認証に関する。
【背景技術】
【０００２】
パスワードを用いて特定のサーバーへのアクセスを認可する従来のユーザー認証は、広く適用されている。ワールドワイドウェブの使用の増大とともに、ユーザーは、多くの場合、異なるサーバー保持者からの複数のドメインにわたる異なるサイトで認証するための多くの異なるアカウント、例えば、オンラインショップアカウント、検索エンジンプロファイルアカウント、電子メールアカウント等を有する。そのような大量のユーザー名及びパスワードの管理をより容易にする一方法は、技術的な実施形態に応じて、ユーザーが用いる別個のサイトのためのユーザーの全てのパスワードを安全に記憶又は生成することができるパスワード管理システムを用いることである。
【０００３】
利用可能なパスワード管理解決策は、ユーザーが多くのパスワードを記憶する必要があるという問題を解決する。それでもなお、技術的な実現（例えば、パスワード記憶装置又はパスワード生成器）によれば、これらの利用可能な解決策には、パスワード管理システムをユーザーが用いる１つ１つの装置にインストールしなければならず、同期の問題を生じさせること、まず第１にパスワード管理システムを保護する必要があること、パスワード管理システムに記憶されたパスワードが静的であること、すなわち、ユーザーが特定のサイトにアクセスする都度、同じパスワードが送信されること等の欠点がある。
【０００４】
これらの問題の大半は、いわゆるワンタイムパスワード、略称ＯＴＰにより解決される。ＯＴＰは、１回のログインセッション又はトランザクションのみに有効なパスワードである。ＯＴＰは、サーバーとクライアントとの間でのユーザー認証に広く用いられている従来の静的なパスワードに関連するいくつかの欠点を回避する。例えば、潜在的な侵入者がサービスにログインするため、又はトランザクションを行うために既に用いられたＯＴＰを首尾よく記録する場合、ＯＴＰはその後のログイン試行にはもはや有効ではないため、侵入者はＯＴＰを不正使用することができない。ＯＴＰは、新しく１度だけ生成されるランダムに見える文字列であるため、人間はＯＴＰを記憶することができないことから、ＯＴＰを使えるようにするには、追加の技術が必要である。ＯＴＰアルゴリズムは、前のパスワードに基づく新しいパスワードの生成、認証サーバーとパスワードを提供するクライアントとの時間同期に基づく新しいパスワードの生成、又はＯＴＰがチャレンジ及び／若しくはカウンターに基づいて生成されるアルゴリズム等の詳細が大きく異なる。チャレンジは、例えば、認証サーバー又はトランザクションの詳細により選ばれる乱数とすることができる。
【０００５】
ワンタイムパスワードは通常、物理的なハードウェアトークンに関連し、すなわち、各ユーザーに、ワンタイムパスワードを生成するパーソナルトークンが与えられる。携帯電話又はＰＤＡも、時間同期されたワンタイムパスワードを生成可能であると考えられるため、ユーザーは、セキュリティドメインごとに別個のハードウェアトークンを携帯する必要がない。
【０００６】
ＯＴＰの生成方法の一例は、一方向関数ｆを用いる教科書（非特許文献１）においてLeslie Lamportにより示唆されている。ＯＴＰシステムは、初期シードｓから開始し、次に、必要な回数だけパスワードｆ（ｓ）、ｆ（ｆ（ｓ））、ｆ（ｆ（ｆ（ｓ）））、...を生成することにより機能する。不定数の一続きのパスワードが必要とされる場合、ｓの集合が使い果たされた後、新しいシード値を選ぶことができる。次に、新しいパスワードのそれぞれが逆に、ｆ（ｆ（...ｆ（ｓ））...）を最初としてｆ（ｓ）まで与えられる。この場合、侵入者は、ワンタイムパスワードを見ることが可能な場合、１回の期間又はログインでアクセス可能であり得るが、その静的な期間が経過した場合、ワンタイムパスワードは役に立たなくなる。一続きのパスワードにおいて前のパスワードから有効な次のパスワードを取得するためには、侵入者は、逆関数ｆ-１を計算する方法を見つける必要がある。ｆは一方向関数として選ばれたため、そうすることは極めて困難である。関数ｆは一般に、暗号ハッシュ関数である。逆関数の計算は、計算的に実現不可能なタスクである。
【０００７】
ＯＴＰを生成する別の手法は、認証サーバーとクライアントとの間での同期クロックに基づく。時間同期されたワンタイムパスワードは通常、物理的なハードウェアトークンに関連し、すなわち、各ユーザーに、ワンタイムパスワードを生成するパーソナルトークンが与えられる。トークン装置は、認証サーバーのクロックと同期した正確なクロックを含む。これらの装置において、新しいパスワードの生成は主に、同期した時間に基づく。
【０００８】
上述したようなＯＴＰを生成する従来の解決策は、秘密情報及びいくつかの場合ではクロック／カウンターが、特定のドメインにおいてクライアントと認証サーバーとの間で共有される場合のみ、機能する。したがって、ユーザーが複数の別個のドメインに認証するためにＯＴＰを用いることを意図する場合、２つの選択肢が利用可能である：（ｉ）異なるドメインの認証サーバーと同じ「共有秘密情報」を共有するか、又は（ｉｉ）ドメインごとに異なる「共有秘密情報」を作成する。選択肢（ｉ）は、或るドメインは理論上、別のドメインにおけるユーザーになりすますことができるため、セキュリティの観点から得策ではない。選択肢（ｉｉ）は、安全ではあるが、ユーザーがドメインごとに１つずつ、複数の秘密情報を記憶する必要があり、拡張性及び使いやすさの問題を生じさせるため、ユーザーフレンドリーではない。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】「Password authentication with insecure communication」, published in 1981, SRI International
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記を考慮して、より容易かつより安全であるとともに、拡張性及び柔軟性のある、ユーザーを認証する改良された方法及びシステムを提供することが必要である。したがって、本発明は、１つの秘密情報を用いて生成されるワンタイムパスワードを用いて複数の別個のドメイン、例えば、様々なウェブサイトへのユーザー認証を可能にする。
【課題を解決するための手段】
【００１１】
これらの目的及び他の目的は、本発明の特許請求の範囲の特徴により取得することができる。従来技術における問題を克服するために、本発明によるシステム及び方法は、静的なパスワードを用いるのではなく、ユーザーが訪れるサイトごとに、そのセッション中のみ有効な動的なパスワード、すなわち、ＯＴＰを生成する。さらに、異なるサイトのこれらのＯＴＰは、単一の秘密情報を用いて生成される。すなわち、ユーザーは、電子メールサービス、オンラインショップアクセス、他のメンバーシップへのアクセス等の異なるサイトのアカウントの生成されたＯＴＰに対して１つの秘密情報を覚えるか、又は記憶するだけでよい。
【００１２】
本発明は、ワンタイムパスワード及びユーザー名を用いてパケットベースのネットワークを介してクライアントからサーバーにアクセスするためのユーザー認証の方法であって、前記クライアントは第１の秘密情報を備え、前記サーバーは、前記クライアントにより前記第１の秘密情報に基づいて提供される第２の秘密情報を記憶するデータベースを備え、前記方法は、
ａ）前記クライアントにより前記第１の秘密情報に関連付けられた前記第２の秘密情報を前記サーバーに提供し、前記第２の秘密情報及び選ばれた前記ユーザー名を前記データベースに記憶するステップと、
ｂ）チャレンジを前記サーバーから前記クライアントに送信するステップであって、前記チャレンジは、前記サーバーにより符号化され、ランダムデータを含む、送信するステップと、
ｃ）前記第２の秘密情報及び前記チャレンジから復号された前記ランダムデータを用いて、前記クライアントにより前記ワンタイムパスワードを計算するステップと、
ｄ）前記ワンタイムパスワード及び前記ユーザー名を前記クライアントにおいてサブミットし、前記サーバーにアクセスする、サブミットするステップと、
ｅ）前記ランダムデータ及び前記データベースに記憶された前記サーバー秘密情報を用いて、前記サーバーが計算した前記ワンタイムパスワードを用いて、前記クライアントから受信した前記ワンタイムパスワードの正当性を確認するステップと、
を含む、ユーザー認証の方法を提供する。
【００１３】
本発明は、方法のステップを実行するシステムにも関する。
【００１４】
第２の秘密情報は、好ましくは、特定のハッシュ関数を通じて第１の秘密情報及びサーバー識別情報を用いてクライアントにより初期段階において生成される。ステップｂ）においてワンタイムパスワードの計算に用いられる第２の秘密情報は、同じ手順に従って生成することができる。代替的に、初期段階において生成される第２の秘密情報は、クライアントに記憶し、ステップｂ）において再利用することができる。サーバー識別情報は、サーバーのインターネットプロトコルアドレス又はドメイン名とすることができる。サーバー識別情報の目的は、クライアントからアクセスするサーバーを識別することである。第２の秘密情報がクライアントにより生成され、サーバーのデータベースに記憶されると、クライアントがその後サーバーにアクセスする場合、ユーザー認証に適用される変更がなければ、これを再び繰り返す必要はない。
【００１５】
好ましい実施形態によれば、第１の秘密情報が秘密鍵であり、第２の秘密情報が公開鍵であり、公開鍵及び秘密鍵は非対称鍵ペアとして提供される。非対称鍵ペアは、ステップａ）においてクライアントにより提供することができ、又は第三者サイトから事前取得することができる。公開鍵は、チャレンジの暗号化に用いることができる一方で、秘密鍵は、公開鍵を用いて暗号化されたチャレンジの復号に用いることができる。秘密鍵は、好ましくは、クライアントに配置され、公開鍵は、初期ステップａ）中にサーバーに転送し、サーバーのデータベースに記憶することができる。
【００１６】
クライアントは、ステップａ）において第２の秘密情報を提供し、ステップｃ）においてワンタイムパスワードを計算するデータ処理ユニットを更に備えることができる。好ましくは、データ処理ユニットは暗号ユニットである。
【００１７】
好ましい実施形態によれば、チャレンジは、視覚的に表現可能な画像、特に２Ｄバーコードで符号化される。
【００１８】
好ましい実施形態によれば、データ処理ユニットは、カメラを有してチャレンジを視覚的に取り込み、チャレンジ及び第２の秘密情報から復号されるランダムデータを用いてワンタイムパスワードを計算する携帯電話に設けることができる。代替的に、データ処理ユニットは、ソフトウェア解決策、すなわち、クライアントで実行されるプログラムとして実装することができる。プログラムは、ワンタイムパスワードを計算する暗号ユニットをエミュレートし、生成されたワンタイムパスワードを自動的に入力し、正当性確認のためにサーバーにサブミットすることができる。
【００１９】
本発明は、単一の秘密情報を用いてこれらのドメインにワンタイムパスワードを生成することにより、複数のドメインを認証する効率的で拡張性のあるパスワード生成管理システムを提供する。本発明の利点の１つは、複数のサイトのパスワードを記憶する必要がなく、全てのサイトにワンタイムパスワードを生成するために必要な秘密情報が１つのみであることであり、第２の秘密情報は第１の秘密情報から生成することができ、専用ハードウェア装置が必要なく、すなわち、例えば、標準のカメラフォン内に実装することができることである。さらに、本発明は、ウェブを支配している一般的なパスワードベースの認証システムに簡単に適応する。本発明によれば、信頼できる第三者の関与は必要ない。
【００２０】
本発明について、添付図面を参照して好ましい実施形態に関してこれより詳細に説明する。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の好ましい実施形態による方法におけるクライアントからサーバーへのユーザー認証の初期化段階の概略図である。
【図１ａ】本発明の第１の好ましい実施形態による方法のステップａ）を示す図である。
【図１ｂ】本発明の第１の好ましい実施形態による方法のステップｂ）を示す図である。
【図１ｃ】本発明の第１の好ましい実施形態による方法のステップｃ）を示す図である。
【図１ｄ】本発明の第１の好ましい実施形態による方法のステップｄ）を示す図である。
【図２】本発明の第２の好ましい実施形態による方法におけるクライアントからサーバーへのユーザー認証の初期化段階の概略図である。
【図２ａ】本発明の第２の好ましい実施形態による方法のステップａ）を示す図である。
【図２ｂ】本発明の第２の好ましい実施形態による方法のステップｂ）を示す図である。
【図２ｃ】本発明の第２の好ましい実施形態による方法のステップｃ）を示す図である。
【図２ｄ】本発明の第２の好ましい実施形態による方法のステップｄ）を示す図である。
【図３】本発明の第３の好ましい実施形態によるユーザー認証方法の図である。
【発明を実施するための形態】
【００２２】
第１の好ましい実施形態
図１は、本発明の第１の好ましい実施形態によるクライアントとサーバーとの間でのユーザー認証を準備する初期化段階を示す。カメラが備えられた携帯電話１０は、データ処理ユニットとして用いることができる。カメラが備えられた携帯電話１０は、ワンタイムパスワードを生成するトークンカードとみなすことができる。クライアント１００からサーバー２００にアクセスするために、ユーザー名２１を特定のユーザー２０に選ぶことができる。本発明によるシステムは、データ処理ユニット１０、及びログインウィンドウ８０を備えたクライアントホストを含むクライアント側１００と、サーバーホスト３０及びデータベース７０を含むサーバー側２００とに実質的に分けることができる。ここに示される初期化段階は、以下のように機能する。サイトwww.example.comにおいてユーザーアカウントを作成する、すなわち、サーバー側２００に登録する必要があり、クライアント側１００、すなわち、データ処理装置１０（例えば、携帯電話）に記憶された主秘密情報４０があると仮定する。主秘密情報４０及びサイトのドメイン名「example.com」５０を暗号ハッシュ関数６０に入力して、サイト秘密情報４１を生成することができる。生成されたサイト秘密情報４１は、選ばれたユーザー名２１とともにサイトwww.example.comのデータベース７０内に。ドメイン名example.comは、サーバーの識別に用いることができるサーバーの識別情報である。初期化ステップが行われると、本発明によるシステムは、実際のユーザー認証への準備が整う。
【００２３】
図１ａは、本発明の第１の実施形態による方法の例示的なステップａ）を示す。ユーザーが、クライアント側１００のＰＣで実行されているウェブブラウザーを介してサーバーwww.example.comにアクセスしたいと仮定する。サイトは、ウェブブラウザーに表示されるログインページ９０で応答し、チャレンジ８０、例えば、ランダムデータ１１０及びサイトのドメイン名example.com５０が符号化されている２Ｄバーコード８０を送信する。２Ｄバーコードは、クライアント側１００のウェブブラウザーのログインページ９０内に表示することができる。ＰＣにおいて示される２Ｄバーコードは、携帯電話１０により取り込むことができる。
【００２４】
図１ｂは、本発明の第１の実施形態による方法の例示的なステップｂ）を示す。携帯電話１０は、２Ｄバーコードからランダムデータ１１０及びドメイン名５０を抽出し分離する。２Ｄバーコードに関して符号化／復号を行う標準の方法がある。好ましくは、携帯電話は、ユーザー２０がドメイン名を視覚的に検査して承認することができるように、ドメイン名example.com５０をディスプレイに示す。ユーザーが「はい」を押下する場合、プロセスは継続する。これは、装置１０が、意図するターゲット、すなわち、アクセスするサイトのワンタイムパスワードを生成しようとすることを確認するためである。これは、或る特定のタイプの攻撃である中間者攻撃から保護するためである。次に、携帯電話１０は、図１の初期化ステップに示されるように、主秘密情報４０及びドメイン名からサイト秘密情報４１を生成する。代替的に、生成されたサイト秘密情報４１は、初期化ステップにおいて携帯電話１０に記憶することもできる。電話は、サイト秘密情報４１及び２Ｄバーコードで送信されたランダムデータ１１０を用いて、ハッシュ関数６１を用いてワンタイムパスワードハッシュ４２を生成する。本発明を通して言及されるハッシュ関数６０及び６１が、同じハッシュアルゴリズムを用いることができることに留意されたい。ハッシュ関数の出力は通常、長い２進列である。これは、ウェブフォームに手作業で入力しにくいため、ハッシュに基づくワンタイムパスワード４２は、変換関数６２を用いて人間可読であり、より使用しやすいワンタイムパスワード１２０に変換される。
【００２５】
図１ｃは、本発明の第１の実施形態による方法の例示的なステップｃ）を示す。平文のワンタイムパスワード１２０はここで、カメラを備えた携帯電話１０に表示される場合があり、ユーザー名２１とともにログインウィンドウ９０に入力することができる。ＯＫボタンを押下した後、ワンタイムパスワード１２０及びユーザー名２１をサーバーホスト３０に転送することができる。
【００２６】
図１ｄは、本発明の第１の実施形態による方法の例示的なステップｄ）を示す。サーバー側２００において、ワンタイムパスワード１２は、以下の方法で正当性を確認することができる。初期段階においてデータベース７０に記憶されている、ユーザー名２１に関連付けられたサイト秘密情報４１をロードすることができる。ワンタイムパスワードハッシュ４２は、ハッシュ関数６１を用いてサイト秘密情報４１及びランダムデータ１１０から計算することができる。ワンタイムパスワードハッシュ４２が計算されると、変換関数６２を用いて変換して、予測ワンタイムパスワード１２０を取得することができる。ここで、ステップｃ）から受信するワンタイムパスワードを予測ワンタイムパスワードと比較することができる。ワンタイムパスワードの正当性の確認に成功すると、サーバーホスト３０は、クライアントからのアクセスを認可する肯定応答を送信することができる。
【００２７】
本発明の第１の好ましい実施形態による暗号プロトコル及びシステムを用いることにより、膨大な数の異なったドメインを拡張可能に効率的に管理することができることに留意されたい。サイト秘密情報４１は１つの暗号秘密情報４０について計算することができるため、ワンタイムパスワード装置１０は、１つの暗号秘密情報４０を記憶するだけでよい。したがって、暗号秘密情報４０は、ユーザーのパスワード装置１０にしか分からない。上述したように、サーバーホスト３０からクライアントに、すなわち、サイトからユーザーに送信されるチャレンジは、好ましくは、２Ｄバーコード、ラインバーコード、又は任意の標準化された符号化画像等の視覚的に表現可能な画像で符号化することができる。レスポンスは、２Ｄバーコードから取得されたチャレンジ上の暗号秘密情報に基づいて計算されるワンタイムパスワードである。レスポンスは、英数字文字列、すなわち、ユーザーがクライアントの標準キーボードを介して容易に入力することができる平文に変換される。
【００２８】
第２の好ましい実施形態
図２は、第２の実施形態による方法の初期化段階を示す。この第２の実施形態では、第１の実施形態での任意の主秘密情報４１に代えて、クライアントは非対称鍵ペアを保持する。サイト秘密情報ごとに作成することが必須な訳ではなく、それに代えて、ワンタイムパスワード１２０は公開鍵から直接導出される。第１の実施形態よりも優れたこの実施形態の好ましい利点は、第１の実施形態では、サイト秘密情報がサーバー側基盤のブリーチ（breach）により危険にさらされた場合、攻撃者がその特定のサイトにおいてユーザーになりすますことが可能なことである。これを防ぐために、ユーザーの公開鍵がサイトに記憶され、サイトにおいては秘密情報ではない。初期化段階において、非対称公開秘密鍵ペアはクライアントにより取得することができ、すなわち、モバイル装置は、この鍵ペアを生成するか、又は信頼できる第三者サイトから取得することができる。第１の実施形態でのサイト秘密情報４１に関して、クライアント１００は、ここでは、秘密鍵４５に関連付けられた公開鍵４６をサーバーに提供する。秘密鍵４５は、携帯電話１０内部に安全に記憶される。特定のサイトでの登録プロセス中、ユーザー名２１及び公開鍵４６をサイトに送信して、サイトのデータベース７０に記憶することができる。
【００２９】
図１ａは、本発明の第２の実施形態による方法の例示的なステップａ）を示す。ユーザー名２１は、クライアント側１００においてログインウィンドウ９０に入力され、サイトに送信される。サイトは、ユーザー名２１の対応する公開鍵４６を検索し、暗号化関数６３を介してこの公開鍵４６を用いてサイトのドメイン名example.com及びランダムデータを暗号化する。次に、第１の実施形態と同様に、結果は２Ｄバーコード８０として符号化される。２Ｄバーコードは、ログインページに示して、携帯電話１０を用いて視覚的に取り込むことができる。
【００３０】
図１ｂは、本発明の第２の実施形態による方法の例示的なステップｂ）を示す。携帯電話は、携帯電話１０に記憶されている秘密鍵４５を用いて２Ｄバーコードを復号して、サイトのドメイン名及びランダムデータを回復する。携帯電話は、ドメイン名をディスプレイ上に示す。好ましくは、ドメイン名を視覚的に検査し、承認することができる。ユーザーが「はい」を押下する場合、プロセスは継続し、その他の場合、ワンタイムパスワードの生成を棄却する。これにより、装置が意図されるターゲットのパスワードを生成していることが確実になる。これは、或る特定のタイプの攻撃である中間者攻撃からの保護に有用である。
【００３１】
図１ｃは、本発明の第２の実施形態による方法の例示的なステップｃ）を示す。電話１０は、公開鍵４６及び２Ｄバーコードで送信されたランダムデータ１１０を用いて、ハッシュ関数６１を用いてワンタイムパスワードハッシュ４７を生成する。ハッシュ関数の出力は通常、長い２進列である。これはウェブフォームに手作業で入力しにくいため、ワンタイムパスワードハッシュ４７は、変換関数６２を用いてワンタイムパスワード１２０に変換される。携帯電話は、ワンタイムパスワード１２０をディスプレイ上に示す。ワンタイムパスワード及びユーザー名２１は、ここで、ログインページ９０に入力することができる。「ＯＫ」を押下することにより、ログインページ９０はこの情報をサイト上のサービスに送信する。
【００３２】
図１ｄは、本発明の第２の実施形態による方法の例示的なステップｄ）を示す。サーバー側２００において、ワンタイムパスワードは、以下の方法で正当性を確認することができる。ユーザー名に関連付けられ、初期化段階において記憶された公開鍵４６をデータベース７０に要求することができる。公開鍵４６及びランダムデータ１１０から、ハッシュ関数６１を用いてワンタイムパスワードハッシュ４７を計算することができる。次に、予測ワンタイムパスワード１２０をサーバー側１００において独立して計算し、クライアント側１００から受信したワンタイムパスワードと比較することができる。ワンタイムパスワードの検証に成功すると、サーバーホスト３０は、クライアントからのアクセスを認可する肯定応答を送信することができる。
【００３３】
第２の実施形態では、ユーザーの秘密情報は、公開秘密鍵ペアの秘密鍵４５であり、ユーザーのみに知られている。ユーザーは、初期化段階において秘密鍵４６をサイトに転送する。次に、サイトは公開鍵４６を用いて、チャレンジ８０を暗号化する。ユーザーの秘密鍵４５のみがチャレンジを復号することができる。この実施形態では、鍵ペアは、ワンタイムパスワードを保護するためにのみ用いられるため、認証機関からのものである必要はない。したがって、ユーザーは、クライアント側１００において、例えば、ＰＣ上又は携帯電話を用いて任意の鍵生成ツールを用いて鍵ペア自体を生成することができる。
【００３４】
第３の好ましい実施形態
図３は、携帯電話１０内部のブラウザーを用いてウェブサイトにアクセスする本発明の第３の実施形態を示す。すなわち、ユーザーに表示されるページから２Ｄバーコードを取り込むために、携帯電話１０のカメラを用いる代わりにソフトウェアが用いられる。この場合、ソフトウェアは、２Ｄバーコードをページから直接抽出し、必要とされるワンタイムパスワード１２０を計算する。換言すれば、携帯電話１０は、データ処理ユニット１０、及びログインウィンドウ９０を示すクライアントホストとして動作する。この場合、携帯電話は、画像を取り込む内蔵カメラを有する必要がない。チャレンジ８０は、携帯電話に表示され、ソフトウェアを用いて計算されて、ワンタイムパスワードが生成される。ワンタイムパスワードが計算された後、携帯電話に表示して、ログインウィンドウ８０に入力することができる。代替的に、所望であれば、ワンタイムパスワードをログインウィンドウ８０の適切なフィールドに直接渡して、いかなるユーザー介入もなくパスワードを入力することができる。これらの手法は、ユーザーが自由に選ぶことができる構成可能な選択肢として実施することができる。これは、ユーザーが携帯電話を介してインターネット上のサイトにアクセスしている状況、別の電話を用いて２Ｄバーコード画像を取り込むことが実際的ではなく、かつ実現可能ではない状況に本発明を拡張する。
【００３５】
本発明を図面及び上記説明おいて詳細に図示し説明した。そのような図及び説明は、説明的又は例示的かつ非限定的に考えられるべきであり、すなわち、本発明は開示される実施形態に限定されない。さらに、用語「備える／含む」は、他の要素又はステップを除外せず、数量を特定していないもの（indefinite article “a” or “an”）は複数を除外しない。単一のプロセッサ又は他のユニットは、特許請求の範囲に記載されるいくつかの項目の機能を満たすことができる。或る特定の手段が相互に異なる従属請求項に記載されるということのみで、これらの手段の組み合わせを利益を得るように用いることができないことが示されているわけではない。特許請求の範囲内のいかなる参照符号も範囲の限定としてみなされるべきではない。
【図１】
2013509840.tif 000003
【図１ａ】
2013509840.tif 000004
【図１ｂ】
2013509840.tif 000005
【図１ｃ】
2013509840.tif 000006
【図１ｄ】
2013509840.tif 000007
【図２】
2013509840.tif 000008
【図２ａ】
2013509840.tif 000009
【図２ｂ】
2013509840.tif 000010
【図２ｃ】
2013509840.tif 000011
【図２ｄ】
2013509840.tif 000012
【図３】
2013509840.tif 000013
【国際調査報告】
2013509840.tif 000014
2013509840.tif 000015
2013509840.tif 000016