ユーザー認証の方法及びシステム
本発明は、ワンタイムパスワード120を用いてパケットベースのネットワークを介してクライアント100からサーバー200にアクセスするためのユーザー認証の方法に関し、クライアント100は第1の秘密情報40、45を備え、サーバーは、第2の秘密情報41、46及び第2の秘密情報41、46に関連付けられた選ばれたユーザー名21を記憶するデータベース70を備え、本方法は、クライアント100により第1の秘密情報40、45に関連付けられた第2の秘密情報41、46をサーバー200に提供し、第2の秘密情報及び選ばれたユーザー名21をデータベース70に記憶するステップと、サーバーにより符号化され、ランダムデータ110を含むチャレンジ80をサーバー200からクライアント100に送信するステップと、第2の秘密情報41、46及びチャレンジ80から復号されたランダムデータを用いてクライアント100によりワンタイムパスワード120を計算するステップと、ワンタイムパスワード120及び選ばれたユーザー名をクライアント110においてサブミットし、サーバー200にアクセスする、サブミットするステップと、ランダムデータ及びデータベースに記憶されたサーバー秘密情報を用いて、サーバーにより計算されたワンタイムパスワード120を用いてクライアントから受信したワンタイムパスワード120の正当性を確認するステップと、を含む。本発明は、方法のステップを実行するシステムにも関する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザー認証又はサーバーとクライアントとの間における認証の方法及びシステムに関し、特に、単一の秘密情報から生成されるワンタイムパスワードを用いて複数のドメインにわたって行われるユーザー認証に関する。
【背景技術】
【0002】
パスワードを用いて特定のサーバーへのアクセスを認可する従来のユーザー認証は、広く適用されている。ワールドワイドウェブの使用の増大とともに、ユーザーは、多くの場合、異なるサーバー保持者からの複数のドメインにわたる異なるサイトで認証するための多くの異なるアカウント、例えば、オンラインショップアカウント、検索エンジンプロファイルアカウント、電子メールアカウント等を有する。そのような大量のユーザー名及びパスワードの管理をより容易にする一方法は、技術的な実施形態に応じて、ユーザーが用いる別個のサイトのためのユーザーの全てのパスワードを安全に記憶又は生成することができるパスワード管理システムを用いることである。
【0003】
利用可能なパスワード管理解決策は、ユーザーが多くのパスワードを記憶する必要があるという問題を解決する。それでもなお、技術的な実現(例えば、パスワード記憶装置又はパスワード生成器)によれば、これらの利用可能な解決策には、パスワード管理システムをユーザーが用いる1つ1つの装置にインストールしなければならず、同期の問題を生じさせること、まず第1にパスワード管理システムを保護する必要があること、パスワード管理システムに記憶されたパスワードが静的であること、すなわち、ユーザーが特定のサイトにアクセスする都度、同じパスワードが送信されること等の欠点がある。
【0004】
これらの問題の大半は、いわゆるワンタイムパスワード、略称OTPにより解決される。OTPは、1回のログインセッション又はトランザクションのみに有効なパスワードである。OTPは、サーバーとクライアントとの間でのユーザー認証に広く用いられている従来の静的なパスワードに関連するいくつかの欠点を回避する。例えば、潜在的な侵入者がサービスにログインするため、又はトランザクションを行うために既に用いられたOTPを首尾よく記録する場合、OTPはその後のログイン試行にはもはや有効ではないため、侵入者はOTPを不正使用することができない。OTPは、新しく1度だけ生成されるランダムに見える文字列であるため、人間はOTPを記憶することができないことから、OTPを使えるようにするには、追加の技術が必要である。OTPアルゴリズムは、前のパスワードに基づく新しいパスワードの生成、認証サーバーとパスワードを提供するクライアントとの時間同期に基づく新しいパスワードの生成、又はOTPがチャレンジ及び/若しくはカウンターに基づいて生成されるアルゴリズム等の詳細が大きく異なる。チャレンジは、例えば、認証サーバー又はトランザクションの詳細により選ばれる乱数とすることができる。
【0005】
ワンタイムパスワードは通常、物理的なハードウェアトークンに関連し、すなわち、各ユーザーに、ワンタイムパスワードを生成するパーソナルトークンが与えられる。携帯電話又はPDAも、時間同期されたワンタイムパスワードを生成可能であると考えられるため、ユーザーは、セキュリティドメインごとに別個のハードウェアトークンを携帯する必要がない。
【0006】
OTPの生成方法の一例は、一方向関数fを用いる教科書(非特許文献1)においてLeslie Lamportにより示唆されている。OTPシステムは、初期シードsから開始し、次に、必要な回数だけパスワードf(s)、f(f(s))、f(f(f(s)))、...を生成することにより機能する。不定数の一続きのパスワードが必要とされる場合、sの集合が使い果たされた後、新しいシード値を選ぶことができる。次に、新しいパスワードのそれぞれが逆に、f(f(...f(s))...)を最初としてf(s)まで与えられる。この場合、侵入者は、ワンタイムパスワードを見ることが可能な場合、1回の期間又はログインでアクセス可能であり得るが、その静的な期間が経過した場合、ワンタイムパスワードは役に立たなくなる。一続きのパスワードにおいて前のパスワードから有効な次のパスワードを取得するためには、侵入者は、逆関数f-1を計算する方法を見つける必要がある。fは一方向関数として選ばれたため、そうすることは極めて困難である。関数fは一般に、暗号ハッシュ関数である。逆関数の計算は、計算的に実現不可能なタスクである。
【0007】
OTPを生成する別の手法は、認証サーバーとクライアントとの間での同期クロックに基づく。時間同期されたワンタイムパスワードは通常、物理的なハードウェアトークンに関連し、すなわち、各ユーザーに、ワンタイムパスワードを生成するパーソナルトークンが与えられる。トークン装置は、認証サーバーのクロックと同期した正確なクロックを含む。これらの装置において、新しいパスワードの生成は主に、同期した時間に基づく。
【0008】
上述したようなOTPを生成する従来の解決策は、秘密情報及びいくつかの場合ではクロック/カウンターが、特定のドメインにおいてクライアントと認証サーバーとの間で共有される場合のみ、機能する。したがって、ユーザーが複数の別個のドメインに認証するためにOTPを用いることを意図する場合、2つの選択肢が利用可能である:(i)異なるドメインの認証サーバーと同じ「共有秘密情報」を共有するか、又は(ii)ドメインごとに異なる「共有秘密情報」を作成する。選択肢(i)は、或るドメインは理論上、別のドメインにおけるユーザーになりすますことができるため、セキュリティの観点から得策ではない。選択肢(ii)は、安全ではあるが、ユーザーがドメインごとに1つずつ、複数の秘密情報を記憶する必要があり、拡張性及び使いやすさの問題を生じさせるため、ユーザーフレンドリーではない。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】「Password authentication with insecure communication」, published in 1981, SRI International
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記を考慮して、より容易かつより安全であるとともに、拡張性及び柔軟性のある、ユーザーを認証する改良された方法及びシステムを提供することが必要である。したがって、本発明は、1つの秘密情報を用いて生成されるワンタイムパスワードを用いて複数の別個のドメイン、例えば、様々なウェブサイトへのユーザー認証を可能にする。
【課題を解決するための手段】
【0011】
これらの目的及び他の目的は、本発明の特許請求の範囲の特徴により取得することができる。従来技術における問題を克服するために、本発明によるシステム及び方法は、静的なパスワードを用いるのではなく、ユーザーが訪れるサイトごとに、そのセッション中のみ有効な動的なパスワード、すなわち、OTPを生成する。さらに、異なるサイトのこれらのOTPは、単一の秘密情報を用いて生成される。すなわち、ユーザーは、電子メールサービス、オンラインショップアクセス、他のメンバーシップへのアクセス等の異なるサイトのアカウントの生成されたOTPに対して1つの秘密情報を覚えるか、又は記憶するだけでよい。
【0012】
本発明は、ワンタイムパスワード及びユーザー名を用いてパケットベースのネットワークを介してクライアントからサーバーにアクセスするためのユーザー認証の方法であって、前記クライアントは第1の秘密情報を備え、前記サーバーは、前記クライアントにより前記第1の秘密情報に基づいて提供される第2の秘密情報を記憶するデータベースを備え、前記方法は、
a)前記クライアントにより前記第1の秘密情報に関連付けられた前記第2の秘密情報を前記サーバーに提供し、前記第2の秘密情報及び選ばれた前記ユーザー名を前記データベースに記憶するステップと、
b)チャレンジを前記サーバーから前記クライアントに送信するステップであって、前記チャレンジは、前記サーバーにより符号化され、ランダムデータを含む、送信するステップと、
c)前記第2の秘密情報及び前記チャレンジから復号された前記ランダムデータを用いて、前記クライアントにより前記ワンタイムパスワードを計算するステップと、
d)前記ワンタイムパスワード及び前記ユーザー名を前記クライアントにおいてサブミットし、前記サーバーにアクセスする、サブミットするステップと、
e)前記ランダムデータ及び前記データベースに記憶された前記サーバー秘密情報を用いて、前記サーバーが計算した前記ワンタイムパスワードを用いて、前記クライアントから受信した前記ワンタイムパスワードの正当性を確認するステップと、
を含む、ユーザー認証の方法を提供する。
【0013】
本発明は、方法のステップを実行するシステムにも関する。
【0014】
第2の秘密情報は、好ましくは、特定のハッシュ関数を通じて第1の秘密情報及びサーバー識別情報を用いてクライアントにより初期段階において生成される。ステップb)においてワンタイムパスワードの計算に用いられる第2の秘密情報は、同じ手順に従って生成することができる。代替的に、初期段階において生成される第2の秘密情報は、クライアントに記憶し、ステップb)において再利用することができる。サーバー識別情報は、サーバーのインターネットプロトコルアドレス又はドメイン名とすることができる。サーバー識別情報の目的は、クライアントからアクセスするサーバーを識別することである。第2の秘密情報がクライアントにより生成され、サーバーのデータベースに記憶されると、クライアントがその後サーバーにアクセスする場合、ユーザー認証に適用される変更がなければ、これを再び繰り返す必要はない。
【0015】
好ましい実施形態によれば、第1の秘密情報が秘密鍵であり、第2の秘密情報が公開鍵であり、公開鍵及び秘密鍵は非対称鍵ペアとして提供される。非対称鍵ペアは、ステップa)においてクライアントにより提供することができ、又は第三者サイトから事前取得することができる。公開鍵は、チャレンジの暗号化に用いることができる一方で、秘密鍵は、公開鍵を用いて暗号化されたチャレンジの復号に用いることができる。秘密鍵は、好ましくは、クライアントに配置され、公開鍵は、初期ステップa)中にサーバーに転送し、サーバーのデータベースに記憶することができる。
【0016】
クライアントは、ステップa)において第2の秘密情報を提供し、ステップc)においてワンタイムパスワードを計算するデータ処理ユニットを更に備えることができる。好ましくは、データ処理ユニットは暗号ユニットである。
【0017】
好ましい実施形態によれば、チャレンジは、視覚的に表現可能な画像、特に2Dバーコードで符号化される。
【0018】
好ましい実施形態によれば、データ処理ユニットは、カメラを有してチャレンジを視覚的に取り込み、チャレンジ及び第2の秘密情報から復号されるランダムデータを用いてワンタイムパスワードを計算する携帯電話に設けることができる。代替的に、データ処理ユニットは、ソフトウェア解決策、すなわち、クライアントで実行されるプログラムとして実装することができる。プログラムは、ワンタイムパスワードを計算する暗号ユニットをエミュレートし、生成されたワンタイムパスワードを自動的に入力し、正当性確認のためにサーバーにサブミットすることができる。
【0019】
本発明は、単一の秘密情報を用いてこれらのドメインにワンタイムパスワードを生成することにより、複数のドメインを認証する効率的で拡張性のあるパスワード生成管理システムを提供する。本発明の利点の1つは、複数のサイトのパスワードを記憶する必要がなく、全てのサイトにワンタイムパスワードを生成するために必要な秘密情報が1つのみであることであり、第2の秘密情報は第1の秘密情報から生成することができ、専用ハードウェア装置が必要なく、すなわち、例えば、標準のカメラフォン内に実装することができることである。さらに、本発明は、ウェブを支配している一般的なパスワードベースの認証システムに簡単に適応する。本発明によれば、信頼できる第三者の関与は必要ない。
【0020】
本発明について、添付図面を参照して好ましい実施形態に関してこれより詳細に説明する。
【図面の簡単な説明】
【0021】
【図1】本発明の第1の好ましい実施形態による方法におけるクライアントからサーバーへのユーザー認証の初期化段階の概略図である。
【図1a】本発明の第1の好ましい実施形態による方法のステップa)を示す図である。
【図1b】本発明の第1の好ましい実施形態による方法のステップb)を示す図である。
【図1c】本発明の第1の好ましい実施形態による方法のステップc)を示す図である。
【図1d】本発明の第1の好ましい実施形態による方法のステップd)を示す図である。
【図2】本発明の第2の好ましい実施形態による方法におけるクライアントからサーバーへのユーザー認証の初期化段階の概略図である。
【図2a】本発明の第2の好ましい実施形態による方法のステップa)を示す図である。
【図2b】本発明の第2の好ましい実施形態による方法のステップb)を示す図である。
【図2c】本発明の第2の好ましい実施形態による方法のステップc)を示す図である。
【図2d】本発明の第2の好ましい実施形態による方法のステップd)を示す図である。
【図3】本発明の第3の好ましい実施形態によるユーザー認証方法の図である。
【発明を実施するための形態】
【0022】
第1の好ましい実施形態
図1は、本発明の第1の好ましい実施形態によるクライアントとサーバーとの間でのユーザー認証を準備する初期化段階を示す。カメラが備えられた携帯電話10は、データ処理ユニットとして用いることができる。カメラが備えられた携帯電話10は、ワンタイムパスワードを生成するトークンカードとみなすことができる。クライアント100からサーバー200にアクセスするために、ユーザー名21を特定のユーザー20に選ぶことができる。本発明によるシステムは、データ処理ユニット10、及びログインウィンドウ80を備えたクライアントホストを含むクライアント側100と、サーバーホスト30及びデータベース70を含むサーバー側200とに実質的に分けることができる。ここに示される初期化段階は、以下のように機能する。サイトwww.example.comにおいてユーザーアカウントを作成する、すなわち、サーバー側200に登録する必要があり、クライアント側100、すなわち、データ処理装置10(例えば、携帯電話)に記憶された主秘密情報40があると仮定する。主秘密情報40及びサイトのドメイン名「example.com」50を暗号ハッシュ関数60に入力して、サイト秘密情報41を生成することができる。生成されたサイト秘密情報41は、選ばれたユーザー名21とともにサイトwww.example.comのデータベース70内に。ドメイン名example.comは、サーバーの識別に用いることができるサーバーの識別情報である。初期化ステップが行われると、本発明によるシステムは、実際のユーザー認証への準備が整う。
【0023】
図1aは、本発明の第1の実施形態による方法の例示的なステップa)を示す。ユーザーが、クライアント側100のPCで実行されているウェブブラウザーを介してサーバーwww.example.comにアクセスしたいと仮定する。サイトは、ウェブブラウザーに表示されるログインページ90で応答し、チャレンジ80、例えば、ランダムデータ110及びサイトのドメイン名example.com50が符号化されている2Dバーコード80を送信する。2Dバーコードは、クライアント側100のウェブブラウザーのログインページ90内に表示することができる。PCにおいて示される2Dバーコードは、携帯電話10により取り込むことができる。
【0024】
図1bは、本発明の第1の実施形態による方法の例示的なステップb)を示す。携帯電話10は、2Dバーコードからランダムデータ110及びドメイン名50を抽出し分離する。2Dバーコードに関して符号化/復号を行う標準の方法がある。好ましくは、携帯電話は、ユーザー20がドメイン名を視覚的に検査して承認することができるように、ドメイン名example.com50をディスプレイに示す。ユーザーが「はい」を押下する場合、プロセスは継続する。これは、装置10が、意図するターゲット、すなわち、アクセスするサイトのワンタイムパスワードを生成しようとすることを確認するためである。これは、或る特定のタイプの攻撃である中間者攻撃から保護するためである。次に、携帯電話10は、図1の初期化ステップに示されるように、主秘密情報40及びドメイン名からサイト秘密情報41を生成する。代替的に、生成されたサイト秘密情報41は、初期化ステップにおいて携帯電話10に記憶することもできる。電話は、サイト秘密情報41及び2Dバーコードで送信されたランダムデータ110を用いて、ハッシュ関数61を用いてワンタイムパスワードハッシュ42を生成する。本発明を通して言及されるハッシュ関数60及び61が、同じハッシュアルゴリズムを用いることができることに留意されたい。ハッシュ関数の出力は通常、長い2進列である。これは、ウェブフォームに手作業で入力しにくいため、ハッシュに基づくワンタイムパスワード42は、変換関数62を用いて人間可読であり、より使用しやすいワンタイムパスワード120に変換される。
【0025】
図1cは、本発明の第1の実施形態による方法の例示的なステップc)を示す。平文のワンタイムパスワード120はここで、カメラを備えた携帯電話10に表示される場合があり、ユーザー名21とともにログインウィンドウ90に入力することができる。OKボタンを押下した後、ワンタイムパスワード120及びユーザー名21をサーバーホスト30に転送することができる。
【0026】
図1dは、本発明の第1の実施形態による方法の例示的なステップd)を示す。サーバー側200において、ワンタイムパスワード12は、以下の方法で正当性を確認することができる。初期段階においてデータベース70に記憶されている、ユーザー名21に関連付けられたサイト秘密情報41をロードすることができる。ワンタイムパスワードハッシュ42は、ハッシュ関数61を用いてサイト秘密情報41及びランダムデータ110から計算することができる。ワンタイムパスワードハッシュ42が計算されると、変換関数62を用いて変換して、予測ワンタイムパスワード120を取得することができる。ここで、ステップc)から受信するワンタイムパスワードを予測ワンタイムパスワードと比較することができる。ワンタイムパスワードの正当性の確認に成功すると、サーバーホスト30は、クライアントからのアクセスを認可する肯定応答を送信することができる。
【0027】
本発明の第1の好ましい実施形態による暗号プロトコル及びシステムを用いることにより、膨大な数の異なったドメインを拡張可能に効率的に管理することができることに留意されたい。サイト秘密情報41は1つの暗号秘密情報40について計算することができるため、ワンタイムパスワード装置10は、1つの暗号秘密情報40を記憶するだけでよい。したがって、暗号秘密情報40は、ユーザーのパスワード装置10にしか分からない。上述したように、サーバーホスト30からクライアントに、すなわち、サイトからユーザーに送信されるチャレンジは、好ましくは、2Dバーコード、ラインバーコード、又は任意の標準化された符号化画像等の視覚的に表現可能な画像で符号化することができる。レスポンスは、2Dバーコードから取得されたチャレンジ上の暗号秘密情報に基づいて計算されるワンタイムパスワードである。レスポンスは、英数字文字列、すなわち、ユーザーがクライアントの標準キーボードを介して容易に入力することができる平文に変換される。
【0028】
第2の好ましい実施形態
図2は、第2の実施形態による方法の初期化段階を示す。この第2の実施形態では、第1の実施形態での任意の主秘密情報41に代えて、クライアントは非対称鍵ペアを保持する。サイト秘密情報ごとに作成することが必須な訳ではなく、それに代えて、ワンタイムパスワード120は公開鍵から直接導出される。第1の実施形態よりも優れたこの実施形態の好ましい利点は、第1の実施形態では、サイト秘密情報がサーバー側基盤のブリーチ(breach)により危険にさらされた場合、攻撃者がその特定のサイトにおいてユーザーになりすますことが可能なことである。これを防ぐために、ユーザーの公開鍵がサイトに記憶され、サイトにおいては秘密情報ではない。初期化段階において、非対称公開秘密鍵ペアはクライアントにより取得することができ、すなわち、モバイル装置は、この鍵ペアを生成するか、又は信頼できる第三者サイトから取得することができる。第1の実施形態でのサイト秘密情報41に関して、クライアント100は、ここでは、秘密鍵45に関連付けられた公開鍵46をサーバーに提供する。秘密鍵45は、携帯電話10内部に安全に記憶される。特定のサイトでの登録プロセス中、ユーザー名21及び公開鍵46をサイトに送信して、サイトのデータベース70に記憶することができる。
【0029】
図1aは、本発明の第2の実施形態による方法の例示的なステップa)を示す。ユーザー名21は、クライアント側100においてログインウィンドウ90に入力され、サイトに送信される。サイトは、ユーザー名21の対応する公開鍵46を検索し、暗号化関数63を介してこの公開鍵46を用いてサイトのドメイン名example.com及びランダムデータを暗号化する。次に、第1の実施形態と同様に、結果は2Dバーコード80として符号化される。2Dバーコードは、ログインページに示して、携帯電話10を用いて視覚的に取り込むことができる。
【0030】
図1bは、本発明の第2の実施形態による方法の例示的なステップb)を示す。携帯電話は、携帯電話10に記憶されている秘密鍵45を用いて2Dバーコードを復号して、サイトのドメイン名及びランダムデータを回復する。携帯電話は、ドメイン名をディスプレイ上に示す。好ましくは、ドメイン名を視覚的に検査し、承認することができる。ユーザーが「はい」を押下する場合、プロセスは継続し、その他の場合、ワンタイムパスワードの生成を棄却する。これにより、装置が意図されるターゲットのパスワードを生成していることが確実になる。これは、或る特定のタイプの攻撃である中間者攻撃からの保護に有用である。
【0031】
図1cは、本発明の第2の実施形態による方法の例示的なステップc)を示す。電話10は、公開鍵46及び2Dバーコードで送信されたランダムデータ110を用いて、ハッシュ関数61を用いてワンタイムパスワードハッシュ47を生成する。ハッシュ関数の出力は通常、長い2進列である。これはウェブフォームに手作業で入力しにくいため、ワンタイムパスワードハッシュ47は、変換関数62を用いてワンタイムパスワード120に変換される。携帯電話は、ワンタイムパスワード120をディスプレイ上に示す。ワンタイムパスワード及びユーザー名21は、ここで、ログインページ90に入力することができる。「OK」を押下することにより、ログインページ90はこの情報をサイト上のサービスに送信する。
【0032】
図1dは、本発明の第2の実施形態による方法の例示的なステップd)を示す。サーバー側200において、ワンタイムパスワードは、以下の方法で正当性を確認することができる。ユーザー名に関連付けられ、初期化段階において記憶された公開鍵46をデータベース70に要求することができる。公開鍵46及びランダムデータ110から、ハッシュ関数61を用いてワンタイムパスワードハッシュ47を計算することができる。次に、予測ワンタイムパスワード120をサーバー側100において独立して計算し、クライアント側100から受信したワンタイムパスワードと比較することができる。ワンタイムパスワードの検証に成功すると、サーバーホスト30は、クライアントからのアクセスを認可する肯定応答を送信することができる。
【0033】
第2の実施形態では、ユーザーの秘密情報は、公開秘密鍵ペアの秘密鍵45であり、ユーザーのみに知られている。ユーザーは、初期化段階において秘密鍵46をサイトに転送する。次に、サイトは公開鍵46を用いて、チャレンジ80を暗号化する。ユーザーの秘密鍵45のみがチャレンジを復号することができる。この実施形態では、鍵ペアは、ワンタイムパスワードを保護するためにのみ用いられるため、認証機関からのものである必要はない。したがって、ユーザーは、クライアント側100において、例えば、PC上又は携帯電話を用いて任意の鍵生成ツールを用いて鍵ペア自体を生成することができる。
【0034】
第3の好ましい実施形態
図3は、携帯電話10内部のブラウザーを用いてウェブサイトにアクセスする本発明の第3の実施形態を示す。すなわち、ユーザーに表示されるページから2Dバーコードを取り込むために、携帯電話10のカメラを用いる代わりにソフトウェアが用いられる。この場合、ソフトウェアは、2Dバーコードをページから直接抽出し、必要とされるワンタイムパスワード120を計算する。換言すれば、携帯電話10は、データ処理ユニット10、及びログインウィンドウ90を示すクライアントホストとして動作する。この場合、携帯電話は、画像を取り込む内蔵カメラを有する必要がない。チャレンジ80は、携帯電話に表示され、ソフトウェアを用いて計算されて、ワンタイムパスワードが生成される。ワンタイムパスワードが計算された後、携帯電話に表示して、ログインウィンドウ80に入力することができる。代替的に、所望であれば、ワンタイムパスワードをログインウィンドウ80の適切なフィールドに直接渡して、いかなるユーザー介入もなくパスワードを入力することができる。これらの手法は、ユーザーが自由に選ぶことができる構成可能な選択肢として実施することができる。これは、ユーザーが携帯電話を介してインターネット上のサイトにアクセスしている状況、別の電話を用いて2Dバーコード画像を取り込むことが実際的ではなく、かつ実現可能ではない状況に本発明を拡張する。
【0035】
本発明を図面及び上記説明おいて詳細に図示し説明した。そのような図及び説明は、説明的又は例示的かつ非限定的に考えられるべきであり、すなわち、本発明は開示される実施形態に限定されない。さらに、用語「備える/含む」は、他の要素又はステップを除外せず、数量を特定していないもの(indefinite article “a” or “an”)は複数を除外しない。単一のプロセッサ又は他のユニットは、特許請求の範囲に記載されるいくつかの項目の機能を満たすことができる。或る特定の手段が相互に異なる従属請求項に記載されるということのみで、これらの手段の組み合わせを利益を得るように用いることができないことが示されているわけではない。特許請求の範囲内のいかなる参照符号も範囲の限定としてみなされるべきではない。
【技術分野】
【0001】
本発明は、ユーザー認証又はサーバーとクライアントとの間における認証の方法及びシステムに関し、特に、単一の秘密情報から生成されるワンタイムパスワードを用いて複数のドメインにわたって行われるユーザー認証に関する。
【背景技術】
【0002】
パスワードを用いて特定のサーバーへのアクセスを認可する従来のユーザー認証は、広く適用されている。ワールドワイドウェブの使用の増大とともに、ユーザーは、多くの場合、異なるサーバー保持者からの複数のドメインにわたる異なるサイトで認証するための多くの異なるアカウント、例えば、オンラインショップアカウント、検索エンジンプロファイルアカウント、電子メールアカウント等を有する。そのような大量のユーザー名及びパスワードの管理をより容易にする一方法は、技術的な実施形態に応じて、ユーザーが用いる別個のサイトのためのユーザーの全てのパスワードを安全に記憶又は生成することができるパスワード管理システムを用いることである。
【0003】
利用可能なパスワード管理解決策は、ユーザーが多くのパスワードを記憶する必要があるという問題を解決する。それでもなお、技術的な実現(例えば、パスワード記憶装置又はパスワード生成器)によれば、これらの利用可能な解決策には、パスワード管理システムをユーザーが用いる1つ1つの装置にインストールしなければならず、同期の問題を生じさせること、まず第1にパスワード管理システムを保護する必要があること、パスワード管理システムに記憶されたパスワードが静的であること、すなわち、ユーザーが特定のサイトにアクセスする都度、同じパスワードが送信されること等の欠点がある。
【0004】
これらの問題の大半は、いわゆるワンタイムパスワード、略称OTPにより解決される。OTPは、1回のログインセッション又はトランザクションのみに有効なパスワードである。OTPは、サーバーとクライアントとの間でのユーザー認証に広く用いられている従来の静的なパスワードに関連するいくつかの欠点を回避する。例えば、潜在的な侵入者がサービスにログインするため、又はトランザクションを行うために既に用いられたOTPを首尾よく記録する場合、OTPはその後のログイン試行にはもはや有効ではないため、侵入者はOTPを不正使用することができない。OTPは、新しく1度だけ生成されるランダムに見える文字列であるため、人間はOTPを記憶することができないことから、OTPを使えるようにするには、追加の技術が必要である。OTPアルゴリズムは、前のパスワードに基づく新しいパスワードの生成、認証サーバーとパスワードを提供するクライアントとの時間同期に基づく新しいパスワードの生成、又はOTPがチャレンジ及び/若しくはカウンターに基づいて生成されるアルゴリズム等の詳細が大きく異なる。チャレンジは、例えば、認証サーバー又はトランザクションの詳細により選ばれる乱数とすることができる。
【0005】
ワンタイムパスワードは通常、物理的なハードウェアトークンに関連し、すなわち、各ユーザーに、ワンタイムパスワードを生成するパーソナルトークンが与えられる。携帯電話又はPDAも、時間同期されたワンタイムパスワードを生成可能であると考えられるため、ユーザーは、セキュリティドメインごとに別個のハードウェアトークンを携帯する必要がない。
【0006】
OTPの生成方法の一例は、一方向関数fを用いる教科書(非特許文献1)においてLeslie Lamportにより示唆されている。OTPシステムは、初期シードsから開始し、次に、必要な回数だけパスワードf(s)、f(f(s))、f(f(f(s)))、...を生成することにより機能する。不定数の一続きのパスワードが必要とされる場合、sの集合が使い果たされた後、新しいシード値を選ぶことができる。次に、新しいパスワードのそれぞれが逆に、f(f(...f(s))...)を最初としてf(s)まで与えられる。この場合、侵入者は、ワンタイムパスワードを見ることが可能な場合、1回の期間又はログインでアクセス可能であり得るが、その静的な期間が経過した場合、ワンタイムパスワードは役に立たなくなる。一続きのパスワードにおいて前のパスワードから有効な次のパスワードを取得するためには、侵入者は、逆関数f-1を計算する方法を見つける必要がある。fは一方向関数として選ばれたため、そうすることは極めて困難である。関数fは一般に、暗号ハッシュ関数である。逆関数の計算は、計算的に実現不可能なタスクである。
【0007】
OTPを生成する別の手法は、認証サーバーとクライアントとの間での同期クロックに基づく。時間同期されたワンタイムパスワードは通常、物理的なハードウェアトークンに関連し、すなわち、各ユーザーに、ワンタイムパスワードを生成するパーソナルトークンが与えられる。トークン装置は、認証サーバーのクロックと同期した正確なクロックを含む。これらの装置において、新しいパスワードの生成は主に、同期した時間に基づく。
【0008】
上述したようなOTPを生成する従来の解決策は、秘密情報及びいくつかの場合ではクロック/カウンターが、特定のドメインにおいてクライアントと認証サーバーとの間で共有される場合のみ、機能する。したがって、ユーザーが複数の別個のドメインに認証するためにOTPを用いることを意図する場合、2つの選択肢が利用可能である:(i)異なるドメインの認証サーバーと同じ「共有秘密情報」を共有するか、又は(ii)ドメインごとに異なる「共有秘密情報」を作成する。選択肢(i)は、或るドメインは理論上、別のドメインにおけるユーザーになりすますことができるため、セキュリティの観点から得策ではない。選択肢(ii)は、安全ではあるが、ユーザーがドメインごとに1つずつ、複数の秘密情報を記憶する必要があり、拡張性及び使いやすさの問題を生じさせるため、ユーザーフレンドリーではない。
【先行技術文献】
【非特許文献】
【0009】
【非特許文献1】「Password authentication with insecure communication」, published in 1981, SRI International
【発明の概要】
【発明が解決しようとする課題】
【0010】
上記を考慮して、より容易かつより安全であるとともに、拡張性及び柔軟性のある、ユーザーを認証する改良された方法及びシステムを提供することが必要である。したがって、本発明は、1つの秘密情報を用いて生成されるワンタイムパスワードを用いて複数の別個のドメイン、例えば、様々なウェブサイトへのユーザー認証を可能にする。
【課題を解決するための手段】
【0011】
これらの目的及び他の目的は、本発明の特許請求の範囲の特徴により取得することができる。従来技術における問題を克服するために、本発明によるシステム及び方法は、静的なパスワードを用いるのではなく、ユーザーが訪れるサイトごとに、そのセッション中のみ有効な動的なパスワード、すなわち、OTPを生成する。さらに、異なるサイトのこれらのOTPは、単一の秘密情報を用いて生成される。すなわち、ユーザーは、電子メールサービス、オンラインショップアクセス、他のメンバーシップへのアクセス等の異なるサイトのアカウントの生成されたOTPに対して1つの秘密情報を覚えるか、又は記憶するだけでよい。
【0012】
本発明は、ワンタイムパスワード及びユーザー名を用いてパケットベースのネットワークを介してクライアントからサーバーにアクセスするためのユーザー認証の方法であって、前記クライアントは第1の秘密情報を備え、前記サーバーは、前記クライアントにより前記第1の秘密情報に基づいて提供される第2の秘密情報を記憶するデータベースを備え、前記方法は、
a)前記クライアントにより前記第1の秘密情報に関連付けられた前記第2の秘密情報を前記サーバーに提供し、前記第2の秘密情報及び選ばれた前記ユーザー名を前記データベースに記憶するステップと、
b)チャレンジを前記サーバーから前記クライアントに送信するステップであって、前記チャレンジは、前記サーバーにより符号化され、ランダムデータを含む、送信するステップと、
c)前記第2の秘密情報及び前記チャレンジから復号された前記ランダムデータを用いて、前記クライアントにより前記ワンタイムパスワードを計算するステップと、
d)前記ワンタイムパスワード及び前記ユーザー名を前記クライアントにおいてサブミットし、前記サーバーにアクセスする、サブミットするステップと、
e)前記ランダムデータ及び前記データベースに記憶された前記サーバー秘密情報を用いて、前記サーバーが計算した前記ワンタイムパスワードを用いて、前記クライアントから受信した前記ワンタイムパスワードの正当性を確認するステップと、
を含む、ユーザー認証の方法を提供する。
【0013】
本発明は、方法のステップを実行するシステムにも関する。
【0014】
第2の秘密情報は、好ましくは、特定のハッシュ関数を通じて第1の秘密情報及びサーバー識別情報を用いてクライアントにより初期段階において生成される。ステップb)においてワンタイムパスワードの計算に用いられる第2の秘密情報は、同じ手順に従って生成することができる。代替的に、初期段階において生成される第2の秘密情報は、クライアントに記憶し、ステップb)において再利用することができる。サーバー識別情報は、サーバーのインターネットプロトコルアドレス又はドメイン名とすることができる。サーバー識別情報の目的は、クライアントからアクセスするサーバーを識別することである。第2の秘密情報がクライアントにより生成され、サーバーのデータベースに記憶されると、クライアントがその後サーバーにアクセスする場合、ユーザー認証に適用される変更がなければ、これを再び繰り返す必要はない。
【0015】
好ましい実施形態によれば、第1の秘密情報が秘密鍵であり、第2の秘密情報が公開鍵であり、公開鍵及び秘密鍵は非対称鍵ペアとして提供される。非対称鍵ペアは、ステップa)においてクライアントにより提供することができ、又は第三者サイトから事前取得することができる。公開鍵は、チャレンジの暗号化に用いることができる一方で、秘密鍵は、公開鍵を用いて暗号化されたチャレンジの復号に用いることができる。秘密鍵は、好ましくは、クライアントに配置され、公開鍵は、初期ステップa)中にサーバーに転送し、サーバーのデータベースに記憶することができる。
【0016】
クライアントは、ステップa)において第2の秘密情報を提供し、ステップc)においてワンタイムパスワードを計算するデータ処理ユニットを更に備えることができる。好ましくは、データ処理ユニットは暗号ユニットである。
【0017】
好ましい実施形態によれば、チャレンジは、視覚的に表現可能な画像、特に2Dバーコードで符号化される。
【0018】
好ましい実施形態によれば、データ処理ユニットは、カメラを有してチャレンジを視覚的に取り込み、チャレンジ及び第2の秘密情報から復号されるランダムデータを用いてワンタイムパスワードを計算する携帯電話に設けることができる。代替的に、データ処理ユニットは、ソフトウェア解決策、すなわち、クライアントで実行されるプログラムとして実装することができる。プログラムは、ワンタイムパスワードを計算する暗号ユニットをエミュレートし、生成されたワンタイムパスワードを自動的に入力し、正当性確認のためにサーバーにサブミットすることができる。
【0019】
本発明は、単一の秘密情報を用いてこれらのドメインにワンタイムパスワードを生成することにより、複数のドメインを認証する効率的で拡張性のあるパスワード生成管理システムを提供する。本発明の利点の1つは、複数のサイトのパスワードを記憶する必要がなく、全てのサイトにワンタイムパスワードを生成するために必要な秘密情報が1つのみであることであり、第2の秘密情報は第1の秘密情報から生成することができ、専用ハードウェア装置が必要なく、すなわち、例えば、標準のカメラフォン内に実装することができることである。さらに、本発明は、ウェブを支配している一般的なパスワードベースの認証システムに簡単に適応する。本発明によれば、信頼できる第三者の関与は必要ない。
【0020】
本発明について、添付図面を参照して好ましい実施形態に関してこれより詳細に説明する。
【図面の簡単な説明】
【0021】
【図1】本発明の第1の好ましい実施形態による方法におけるクライアントからサーバーへのユーザー認証の初期化段階の概略図である。
【図1a】本発明の第1の好ましい実施形態による方法のステップa)を示す図である。
【図1b】本発明の第1の好ましい実施形態による方法のステップb)を示す図である。
【図1c】本発明の第1の好ましい実施形態による方法のステップc)を示す図である。
【図1d】本発明の第1の好ましい実施形態による方法のステップd)を示す図である。
【図2】本発明の第2の好ましい実施形態による方法におけるクライアントからサーバーへのユーザー認証の初期化段階の概略図である。
【図2a】本発明の第2の好ましい実施形態による方法のステップa)を示す図である。
【図2b】本発明の第2の好ましい実施形態による方法のステップb)を示す図である。
【図2c】本発明の第2の好ましい実施形態による方法のステップc)を示す図である。
【図2d】本発明の第2の好ましい実施形態による方法のステップd)を示す図である。
【図3】本発明の第3の好ましい実施形態によるユーザー認証方法の図である。
【発明を実施するための形態】
【0022】
第1の好ましい実施形態
図1は、本発明の第1の好ましい実施形態によるクライアントとサーバーとの間でのユーザー認証を準備する初期化段階を示す。カメラが備えられた携帯電話10は、データ処理ユニットとして用いることができる。カメラが備えられた携帯電話10は、ワンタイムパスワードを生成するトークンカードとみなすことができる。クライアント100からサーバー200にアクセスするために、ユーザー名21を特定のユーザー20に選ぶことができる。本発明によるシステムは、データ処理ユニット10、及びログインウィンドウ80を備えたクライアントホストを含むクライアント側100と、サーバーホスト30及びデータベース70を含むサーバー側200とに実質的に分けることができる。ここに示される初期化段階は、以下のように機能する。サイトwww.example.comにおいてユーザーアカウントを作成する、すなわち、サーバー側200に登録する必要があり、クライアント側100、すなわち、データ処理装置10(例えば、携帯電話)に記憶された主秘密情報40があると仮定する。主秘密情報40及びサイトのドメイン名「example.com」50を暗号ハッシュ関数60に入力して、サイト秘密情報41を生成することができる。生成されたサイト秘密情報41は、選ばれたユーザー名21とともにサイトwww.example.comのデータベース70内に。ドメイン名example.comは、サーバーの識別に用いることができるサーバーの識別情報である。初期化ステップが行われると、本発明によるシステムは、実際のユーザー認証への準備が整う。
【0023】
図1aは、本発明の第1の実施形態による方法の例示的なステップa)を示す。ユーザーが、クライアント側100のPCで実行されているウェブブラウザーを介してサーバーwww.example.comにアクセスしたいと仮定する。サイトは、ウェブブラウザーに表示されるログインページ90で応答し、チャレンジ80、例えば、ランダムデータ110及びサイトのドメイン名example.com50が符号化されている2Dバーコード80を送信する。2Dバーコードは、クライアント側100のウェブブラウザーのログインページ90内に表示することができる。PCにおいて示される2Dバーコードは、携帯電話10により取り込むことができる。
【0024】
図1bは、本発明の第1の実施形態による方法の例示的なステップb)を示す。携帯電話10は、2Dバーコードからランダムデータ110及びドメイン名50を抽出し分離する。2Dバーコードに関して符号化/復号を行う標準の方法がある。好ましくは、携帯電話は、ユーザー20がドメイン名を視覚的に検査して承認することができるように、ドメイン名example.com50をディスプレイに示す。ユーザーが「はい」を押下する場合、プロセスは継続する。これは、装置10が、意図するターゲット、すなわち、アクセスするサイトのワンタイムパスワードを生成しようとすることを確認するためである。これは、或る特定のタイプの攻撃である中間者攻撃から保護するためである。次に、携帯電話10は、図1の初期化ステップに示されるように、主秘密情報40及びドメイン名からサイト秘密情報41を生成する。代替的に、生成されたサイト秘密情報41は、初期化ステップにおいて携帯電話10に記憶することもできる。電話は、サイト秘密情報41及び2Dバーコードで送信されたランダムデータ110を用いて、ハッシュ関数61を用いてワンタイムパスワードハッシュ42を生成する。本発明を通して言及されるハッシュ関数60及び61が、同じハッシュアルゴリズムを用いることができることに留意されたい。ハッシュ関数の出力は通常、長い2進列である。これは、ウェブフォームに手作業で入力しにくいため、ハッシュに基づくワンタイムパスワード42は、変換関数62を用いて人間可読であり、より使用しやすいワンタイムパスワード120に変換される。
【0025】
図1cは、本発明の第1の実施形態による方法の例示的なステップc)を示す。平文のワンタイムパスワード120はここで、カメラを備えた携帯電話10に表示される場合があり、ユーザー名21とともにログインウィンドウ90に入力することができる。OKボタンを押下した後、ワンタイムパスワード120及びユーザー名21をサーバーホスト30に転送することができる。
【0026】
図1dは、本発明の第1の実施形態による方法の例示的なステップd)を示す。サーバー側200において、ワンタイムパスワード12は、以下の方法で正当性を確認することができる。初期段階においてデータベース70に記憶されている、ユーザー名21に関連付けられたサイト秘密情報41をロードすることができる。ワンタイムパスワードハッシュ42は、ハッシュ関数61を用いてサイト秘密情報41及びランダムデータ110から計算することができる。ワンタイムパスワードハッシュ42が計算されると、変換関数62を用いて変換して、予測ワンタイムパスワード120を取得することができる。ここで、ステップc)から受信するワンタイムパスワードを予測ワンタイムパスワードと比較することができる。ワンタイムパスワードの正当性の確認に成功すると、サーバーホスト30は、クライアントからのアクセスを認可する肯定応答を送信することができる。
【0027】
本発明の第1の好ましい実施形態による暗号プロトコル及びシステムを用いることにより、膨大な数の異なったドメインを拡張可能に効率的に管理することができることに留意されたい。サイト秘密情報41は1つの暗号秘密情報40について計算することができるため、ワンタイムパスワード装置10は、1つの暗号秘密情報40を記憶するだけでよい。したがって、暗号秘密情報40は、ユーザーのパスワード装置10にしか分からない。上述したように、サーバーホスト30からクライアントに、すなわち、サイトからユーザーに送信されるチャレンジは、好ましくは、2Dバーコード、ラインバーコード、又は任意の標準化された符号化画像等の視覚的に表現可能な画像で符号化することができる。レスポンスは、2Dバーコードから取得されたチャレンジ上の暗号秘密情報に基づいて計算されるワンタイムパスワードである。レスポンスは、英数字文字列、すなわち、ユーザーがクライアントの標準キーボードを介して容易に入力することができる平文に変換される。
【0028】
第2の好ましい実施形態
図2は、第2の実施形態による方法の初期化段階を示す。この第2の実施形態では、第1の実施形態での任意の主秘密情報41に代えて、クライアントは非対称鍵ペアを保持する。サイト秘密情報ごとに作成することが必須な訳ではなく、それに代えて、ワンタイムパスワード120は公開鍵から直接導出される。第1の実施形態よりも優れたこの実施形態の好ましい利点は、第1の実施形態では、サイト秘密情報がサーバー側基盤のブリーチ(breach)により危険にさらされた場合、攻撃者がその特定のサイトにおいてユーザーになりすますことが可能なことである。これを防ぐために、ユーザーの公開鍵がサイトに記憶され、サイトにおいては秘密情報ではない。初期化段階において、非対称公開秘密鍵ペアはクライアントにより取得することができ、すなわち、モバイル装置は、この鍵ペアを生成するか、又は信頼できる第三者サイトから取得することができる。第1の実施形態でのサイト秘密情報41に関して、クライアント100は、ここでは、秘密鍵45に関連付けられた公開鍵46をサーバーに提供する。秘密鍵45は、携帯電話10内部に安全に記憶される。特定のサイトでの登録プロセス中、ユーザー名21及び公開鍵46をサイトに送信して、サイトのデータベース70に記憶することができる。
【0029】
図1aは、本発明の第2の実施形態による方法の例示的なステップa)を示す。ユーザー名21は、クライアント側100においてログインウィンドウ90に入力され、サイトに送信される。サイトは、ユーザー名21の対応する公開鍵46を検索し、暗号化関数63を介してこの公開鍵46を用いてサイトのドメイン名example.com及びランダムデータを暗号化する。次に、第1の実施形態と同様に、結果は2Dバーコード80として符号化される。2Dバーコードは、ログインページに示して、携帯電話10を用いて視覚的に取り込むことができる。
【0030】
図1bは、本発明の第2の実施形態による方法の例示的なステップb)を示す。携帯電話は、携帯電話10に記憶されている秘密鍵45を用いて2Dバーコードを復号して、サイトのドメイン名及びランダムデータを回復する。携帯電話は、ドメイン名をディスプレイ上に示す。好ましくは、ドメイン名を視覚的に検査し、承認することができる。ユーザーが「はい」を押下する場合、プロセスは継続し、その他の場合、ワンタイムパスワードの生成を棄却する。これにより、装置が意図されるターゲットのパスワードを生成していることが確実になる。これは、或る特定のタイプの攻撃である中間者攻撃からの保護に有用である。
【0031】
図1cは、本発明の第2の実施形態による方法の例示的なステップc)を示す。電話10は、公開鍵46及び2Dバーコードで送信されたランダムデータ110を用いて、ハッシュ関数61を用いてワンタイムパスワードハッシュ47を生成する。ハッシュ関数の出力は通常、長い2進列である。これはウェブフォームに手作業で入力しにくいため、ワンタイムパスワードハッシュ47は、変換関数62を用いてワンタイムパスワード120に変換される。携帯電話は、ワンタイムパスワード120をディスプレイ上に示す。ワンタイムパスワード及びユーザー名21は、ここで、ログインページ90に入力することができる。「OK」を押下することにより、ログインページ90はこの情報をサイト上のサービスに送信する。
【0032】
図1dは、本発明の第2の実施形態による方法の例示的なステップd)を示す。サーバー側200において、ワンタイムパスワードは、以下の方法で正当性を確認することができる。ユーザー名に関連付けられ、初期化段階において記憶された公開鍵46をデータベース70に要求することができる。公開鍵46及びランダムデータ110から、ハッシュ関数61を用いてワンタイムパスワードハッシュ47を計算することができる。次に、予測ワンタイムパスワード120をサーバー側100において独立して計算し、クライアント側100から受信したワンタイムパスワードと比較することができる。ワンタイムパスワードの検証に成功すると、サーバーホスト30は、クライアントからのアクセスを認可する肯定応答を送信することができる。
【0033】
第2の実施形態では、ユーザーの秘密情報は、公開秘密鍵ペアの秘密鍵45であり、ユーザーのみに知られている。ユーザーは、初期化段階において秘密鍵46をサイトに転送する。次に、サイトは公開鍵46を用いて、チャレンジ80を暗号化する。ユーザーの秘密鍵45のみがチャレンジを復号することができる。この実施形態では、鍵ペアは、ワンタイムパスワードを保護するためにのみ用いられるため、認証機関からのものである必要はない。したがって、ユーザーは、クライアント側100において、例えば、PC上又は携帯電話を用いて任意の鍵生成ツールを用いて鍵ペア自体を生成することができる。
【0034】
第3の好ましい実施形態
図3は、携帯電話10内部のブラウザーを用いてウェブサイトにアクセスする本発明の第3の実施形態を示す。すなわち、ユーザーに表示されるページから2Dバーコードを取り込むために、携帯電話10のカメラを用いる代わりにソフトウェアが用いられる。この場合、ソフトウェアは、2Dバーコードをページから直接抽出し、必要とされるワンタイムパスワード120を計算する。換言すれば、携帯電話10は、データ処理ユニット10、及びログインウィンドウ90を示すクライアントホストとして動作する。この場合、携帯電話は、画像を取り込む内蔵カメラを有する必要がない。チャレンジ80は、携帯電話に表示され、ソフトウェアを用いて計算されて、ワンタイムパスワードが生成される。ワンタイムパスワードが計算された後、携帯電話に表示して、ログインウィンドウ80に入力することができる。代替的に、所望であれば、ワンタイムパスワードをログインウィンドウ80の適切なフィールドに直接渡して、いかなるユーザー介入もなくパスワードを入力することができる。これらの手法は、ユーザーが自由に選ぶことができる構成可能な選択肢として実施することができる。これは、ユーザーが携帯電話を介してインターネット上のサイトにアクセスしている状況、別の電話を用いて2Dバーコード画像を取り込むことが実際的ではなく、かつ実現可能ではない状況に本発明を拡張する。
【0035】
本発明を図面及び上記説明おいて詳細に図示し説明した。そのような図及び説明は、説明的又は例示的かつ非限定的に考えられるべきであり、すなわち、本発明は開示される実施形態に限定されない。さらに、用語「備える/含む」は、他の要素又はステップを除外せず、数量を特定していないもの(indefinite article “a” or “an”)は複数を除外しない。単一のプロセッサ又は他のユニットは、特許請求の範囲に記載されるいくつかの項目の機能を満たすことができる。或る特定の手段が相互に異なる従属請求項に記載されるということのみで、これらの手段の組み合わせを利益を得るように用いることができないことが示されているわけではない。特許請求の範囲内のいかなる参照符号も範囲の限定としてみなされるべきではない。
【特許請求の範囲】
【請求項1】
ワンタイムパスワード(120)及びユーザー名(21)を用いてパケットベースのネットワークを介してクライアント(100)からサーバー(200)にアクセスするためのユーザー認証の方法であって、前記クライアントは第1の秘密情報(40、45)を備え、前記サーバーは、前記クライアントにより前記第1の秘密情報に関連付けて提供される第2の秘密情報(41、46)を記憶するデータベース(70)を備え、該方法は、
a)チャレンジ(80)を前記サーバー(200)から前記クライアント(100)に送信するステップであって、前記チャレンジは、前記サーバーにより符号化され、ランダムデータ(110)を含む、送信するステップと、
b)前記第2の秘密情報(41、46)及び前記チャレンジ(80)から復号された前記ランダムデータを用いて、前記クライアント(100)により前記ワンタイムパスワード(120)を計算するステップと、
c)前記ワンタイムパスワード(120)及び前記ユーザー名(21)を前記クライアント(110)においてサブミットし、前記サーバー(200)にアクセスする、サブミットするステップと、
d)前記ランダムデータ及び前記データベースに記憶された前記サーバー秘密情報を用いて、前記サーバーが計算した前記ワンタイムパスワード(120)を用いて、前記クライアントから受信した前記ワンタイムパスワード(120)の正当性を確認するステップと、
を含む、ユーザー認証の方法。
【請求項2】
前記第2の秘密情報(41、46)は、前記クライアント(100)により前記第1の秘密情報を用いて提供される、請求項1に記載の方法。
【請求項3】
前記チャレンジ(80)は視覚的に表現可能な画像である、請求項1又は2に記載の方法。
【請求項4】
前記チャレンジ(80)は2Dバーコードである、請求項1〜3のいずれか一項に記載の方法。
【請求項5】
前記サーバー(200)は、マルチドメイン環境に分散し、前記クライアント(100)からアクセス可能な複数のホスト(30)を含む、請求項1〜4のいずれか一項に記載の方法。
【請求項6】
前記第2の秘密情報(41、46)は、前記第1の秘密情報(40、45)及びサーバー識別情報(50)を用いて前記クライアント(100)により生成され、前記サーバー識別情報は、前記サーバーのインターネットプロトコルアドレス又はドメイン名である、請求項1〜5のいずれか一項に記載の方法。
【請求項7】
ステップb)において前記ワンタイムパスワードの計算に用いられる前記第2の秘密情報(41、46)は、前記第1の秘密情報(40、45)及び前記サーバー識別情報(50)を用いて前記クライアント(100)により生成される、請求項6に記載の方法。
【請求項8】
前記チャレンジは、前記サーバー識別情報(50)を更に含み、ステップa)は、前記チャレンジ(80)から符号化された前記サーバー識別情報(50)を表示するステップと、前記表示されたサーバー識別情報(50)を、アクセスすることになっているサーバーの前記サーバー識別情報(50)と比較することにより、前記サーバー(200)から送信される前記チャレンジ(80)の正当性を確認するステップと、前記チャレンジ(80)が正当な場合、前記ステップb)〜d)を実行し、前記チャレンジが正当でない場合、前記ステップb)〜d)を棄却するステップと、を更に含む、請求項1〜7のいずれか一項に記載の方法。
【請求項9】
前記第1の秘密情報は秘密鍵(45)であり、前記第2の秘密情報は公開鍵(46)であり、前記秘密鍵(45)及び前記公開鍵(46)は非対称ペアとして提供され、該非対称ペアは、ステップa)において前記クライアント(100)により提供されるか、又は第3者サイトから取得される、請求項1〜8のいずれか一項に記載の方法。
【請求項10】
前記ステップb)は、前記ユーザー名(21)及び前記ワンタイムパスワード(120)を入力する入力フィールドを含む前記ログインウィンドウを表示するブラウザー(90)を開始するステップを更に含む、請求項1〜9のいずれか一項に記載の方法。
【請求項11】
前記クライアント(100)は、ステップa)において前記第2の秘密情報(41、46)を提供し、ステップc)において前記ワンタイムパスワード(120)を計算するデータ処理ユニット(10)を更に備え、該データ処理ユニット(10)は暗号ユニットである、請求項1〜10のいずれか一項に記載の方法。
【請求項12】
前記データ処理ユニット(10)は、前記チャレンジ(80)を取り込むカメラを備える、請求項1に記載の方法。
【請求項13】
前記データ処理ユニット(10)は携帯電話である、請求項12に記載の方法。
【請求項14】
前記クライアント(100)は、前記データ処理ユニット(10)をエミュレートし、ステップc)において生成される前記ワンタイムパスワード(120)をサブミットするプログラムを更に備える、請求項1〜11のいずれか一項に記載の方法。
【請求項15】
ワンタイムパスワード(120)及びユーザー名(21)を用いてパケットベースのネットワークを介してクライアント(100)からサーバー(200)にアクセスするためのユーザー認証のシステムであって、前記クライアントは第1の秘密情報(40、45)を備え、前記サーバーは、前記クライアントにより前記第1の秘密情報に関連付けて提供される第2の秘密情報(41、46)を記憶するデータベース(70)を備え、該システムは、
a)前記クライアント(100)により前記第1の秘密情報(40、45)に関連付けられた前記第2の秘密情報(41、46)を前記サーバー(200)に提供し、前記第2の秘密情報及び選ばれた前記ユーザー名(21)を前記データベース(70)に記憶する手段と、
b)チャレンジ(80)を前記サーバー(200)から前記クライアント(100)に送信する手段であって、前記チャレンジは、前記サーバーにより符号化され、ランダムデータ(110)を含む、送信する手段と、
c)前記第2の秘密情報(41、46)及び前記チャレンジ(80)から復号された前記ランダムデータを用いて、前記クライアント(100)により前記ワンタイムパスワード(120)を計算する手段と、
d)前記ワンタイムパスワード(120)及び前記選ばれたユーザー名を前記クライアント(110)においてサブミットして、前記サーバー(200)にアクセスする、サブミットする手段と、
e)前記ランダムデータ及び前記データベースに記憶された前記サーバー秘密情報を用いて前記サーバーにより計算された前記ワンタイムパスワード(120)を用いて、前記クライアントから受信される前記ワンタイムパスワード(120)の正当性を確認する手段と、
を備える、ユーザー認証のシステム。
【請求項1】
ワンタイムパスワード(120)及びユーザー名(21)を用いてパケットベースのネットワークを介してクライアント(100)からサーバー(200)にアクセスするためのユーザー認証の方法であって、前記クライアントは第1の秘密情報(40、45)を備え、前記サーバーは、前記クライアントにより前記第1の秘密情報に関連付けて提供される第2の秘密情報(41、46)を記憶するデータベース(70)を備え、該方法は、
a)チャレンジ(80)を前記サーバー(200)から前記クライアント(100)に送信するステップであって、前記チャレンジは、前記サーバーにより符号化され、ランダムデータ(110)を含む、送信するステップと、
b)前記第2の秘密情報(41、46)及び前記チャレンジ(80)から復号された前記ランダムデータを用いて、前記クライアント(100)により前記ワンタイムパスワード(120)を計算するステップと、
c)前記ワンタイムパスワード(120)及び前記ユーザー名(21)を前記クライアント(110)においてサブミットし、前記サーバー(200)にアクセスする、サブミットするステップと、
d)前記ランダムデータ及び前記データベースに記憶された前記サーバー秘密情報を用いて、前記サーバーが計算した前記ワンタイムパスワード(120)を用いて、前記クライアントから受信した前記ワンタイムパスワード(120)の正当性を確認するステップと、
を含む、ユーザー認証の方法。
【請求項2】
前記第2の秘密情報(41、46)は、前記クライアント(100)により前記第1の秘密情報を用いて提供される、請求項1に記載の方法。
【請求項3】
前記チャレンジ(80)は視覚的に表現可能な画像である、請求項1又は2に記載の方法。
【請求項4】
前記チャレンジ(80)は2Dバーコードである、請求項1〜3のいずれか一項に記載の方法。
【請求項5】
前記サーバー(200)は、マルチドメイン環境に分散し、前記クライアント(100)からアクセス可能な複数のホスト(30)を含む、請求項1〜4のいずれか一項に記載の方法。
【請求項6】
前記第2の秘密情報(41、46)は、前記第1の秘密情報(40、45)及びサーバー識別情報(50)を用いて前記クライアント(100)により生成され、前記サーバー識別情報は、前記サーバーのインターネットプロトコルアドレス又はドメイン名である、請求項1〜5のいずれか一項に記載の方法。
【請求項7】
ステップb)において前記ワンタイムパスワードの計算に用いられる前記第2の秘密情報(41、46)は、前記第1の秘密情報(40、45)及び前記サーバー識別情報(50)を用いて前記クライアント(100)により生成される、請求項6に記載の方法。
【請求項8】
前記チャレンジは、前記サーバー識別情報(50)を更に含み、ステップa)は、前記チャレンジ(80)から符号化された前記サーバー識別情報(50)を表示するステップと、前記表示されたサーバー識別情報(50)を、アクセスすることになっているサーバーの前記サーバー識別情報(50)と比較することにより、前記サーバー(200)から送信される前記チャレンジ(80)の正当性を確認するステップと、前記チャレンジ(80)が正当な場合、前記ステップb)〜d)を実行し、前記チャレンジが正当でない場合、前記ステップb)〜d)を棄却するステップと、を更に含む、請求項1〜7のいずれか一項に記載の方法。
【請求項9】
前記第1の秘密情報は秘密鍵(45)であり、前記第2の秘密情報は公開鍵(46)であり、前記秘密鍵(45)及び前記公開鍵(46)は非対称ペアとして提供され、該非対称ペアは、ステップa)において前記クライアント(100)により提供されるか、又は第3者サイトから取得される、請求項1〜8のいずれか一項に記載の方法。
【請求項10】
前記ステップb)は、前記ユーザー名(21)及び前記ワンタイムパスワード(120)を入力する入力フィールドを含む前記ログインウィンドウを表示するブラウザー(90)を開始するステップを更に含む、請求項1〜9のいずれか一項に記載の方法。
【請求項11】
前記クライアント(100)は、ステップa)において前記第2の秘密情報(41、46)を提供し、ステップc)において前記ワンタイムパスワード(120)を計算するデータ処理ユニット(10)を更に備え、該データ処理ユニット(10)は暗号ユニットである、請求項1〜10のいずれか一項に記載の方法。
【請求項12】
前記データ処理ユニット(10)は、前記チャレンジ(80)を取り込むカメラを備える、請求項1に記載の方法。
【請求項13】
前記データ処理ユニット(10)は携帯電話である、請求項12に記載の方法。
【請求項14】
前記クライアント(100)は、前記データ処理ユニット(10)をエミュレートし、ステップc)において生成される前記ワンタイムパスワード(120)をサブミットするプログラムを更に備える、請求項1〜11のいずれか一項に記載の方法。
【請求項15】
ワンタイムパスワード(120)及びユーザー名(21)を用いてパケットベースのネットワークを介してクライアント(100)からサーバー(200)にアクセスするためのユーザー認証のシステムであって、前記クライアントは第1の秘密情報(40、45)を備え、前記サーバーは、前記クライアントにより前記第1の秘密情報に関連付けて提供される第2の秘密情報(41、46)を記憶するデータベース(70)を備え、該システムは、
a)前記クライアント(100)により前記第1の秘密情報(40、45)に関連付けられた前記第2の秘密情報(41、46)を前記サーバー(200)に提供し、前記第2の秘密情報及び選ばれた前記ユーザー名(21)を前記データベース(70)に記憶する手段と、
b)チャレンジ(80)を前記サーバー(200)から前記クライアント(100)に送信する手段であって、前記チャレンジは、前記サーバーにより符号化され、ランダムデータ(110)を含む、送信する手段と、
c)前記第2の秘密情報(41、46)及び前記チャレンジ(80)から復号された前記ランダムデータを用いて、前記クライアント(100)により前記ワンタイムパスワード(120)を計算する手段と、
d)前記ワンタイムパスワード(120)及び前記選ばれたユーザー名を前記クライアント(110)においてサブミットして、前記サーバー(200)にアクセスする、サブミットする手段と、
e)前記ランダムデータ及び前記データベースに記憶された前記サーバー秘密情報を用いて前記サーバーにより計算された前記ワンタイムパスワード(120)を用いて、前記クライアントから受信される前記ワンタイムパスワード(120)の正当性を確認する手段と、
を備える、ユーザー認証のシステム。
【図1】
【図1a】
【図1b】
【図1c】
【図1d】
【図2】
【図2a】
【図2b】
【図2c】
【図2d】
【図3】
【図1a】
【図1b】
【図1c】
【図1d】
【図2】
【図2a】
【図2b】
【図2c】
【図2d】
【図3】
【公表番号】特表2013−509840(P2013−509840A)
【公表日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2012−537305(P2012−537305)
【出願日】平成21年12月30日(2009.12.30)
【国際出願番号】PCT/EP2009/068039
【国際公開番号】WO2011/079872
【国際公開日】平成23年7月7日(2011.7.7)
【出願人】(510063834)エヌイーシー ヨーロッパ リミテッド (3)
【Fターム(参考)】
【公表日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願日】平成21年12月30日(2009.12.30)
【国際出願番号】PCT/EP2009/068039
【国際公開番号】WO2011/079872
【国際公開日】平成23年7月7日(2011.7.7)
【出願人】(510063834)エヌイーシー ヨーロッパ リミテッド (3)
【Fターム(参考)】
[ Back to top ]