(57)【要約】  ユーザを認証するためにチャレンジＣｈをクライアントアプリケーションに送信したアプリケーションサーバＡＳに電気通信ネットワークＴＮを介して接続されたクライアントアプリケーションＣＡを実装する通信装置ＣＤのユーザを認証するため、通信装置ＣＤと関連付けされたユーザ装置ＵＤが、通信装置ＣＤの画面上でユーザにシークレットデータＳＤを入力するように求めるクライアントアプリケーションＣＡとの接続を確立し、クライアントアプリケーションＣＡからチャレンジＣｈを取り出し、シークレットデータＳＤを入力するようにユーザを促し、ユーザによって入力されたシークレットデータＳＤと、取り出されたチャレンジＣｈとに基づいて、チャレンジＣｈに対するレスポンスＲｐを算出し、レスポンスをアプリケーションサーバに転送するクライアントアプリケーションＣＡにレスポンスＲｐを送信する。
2015524633.tif 000002
【特許請求の範囲】
【請求項１】
ユーザを認証するためにチャレンジ（Ｃｈ）をクライアントアプリケーションに送信したアプリケーションサーバ（ＡＳ）に電気通信ネットワーク（ＴＮ）を介して接続されたクライアントアプリケーション（ＣＡ）を実装する通信装置（ＣＤ）のユーザを認証する方法であって、通信装置（ＣＤ）と関連付けされ、フィルタとして働くユーザ装置（ＵＤ）において、
通信装置（ＣＤ）の画面上でユーザにシークレットデータ（ＳＤ）を入力するように求めるクライアントアプリケーション（ＣＡ）との接続を確立するステップ（Ｓ３）と、
クライアントアプリケーション（ＣＡ）からチャレンジ（Ｃｈ）を取り出すステップ（Ｓ３）であって、チャレンジがクライアントアプリケーション（ＣＡ）によってユーザ装置（ＵＤ）に送信されるか、またはチャレンジが通信装置（ＣＤ）の画面に表示される、取り出すステップ（Ｓ３）と、
ユーザにシークレットデータ（ＳＤ）を入力するように促すステップ（Ｓ４）と、
ユーザによって入力されたシークレットデータ（ＳＤ）と、取り出されたチャレンジ（Ｃｈ）とに基づいて、チャレンジ（Ｃｈ）に対するレスポンス（Ｒｐ）を算出するステップ（Ｓ４）と、
レスポンスをアプリケーションサーバ（ＡＳ）に転送するクライアントアプリケーション（ＣＡ）にレスポンス（Ｒｐ）を送信するステップ（Ｓ５）と
を含む、方法。
【請求項２】
ユーザ装置（ＵＤ）が、通信装置（ＣＤ）にリンクしている入力装置と関連付けされている電子装置である、請求項１に記載の方法。
【請求項３】
ユーザ装置がキーボードと関連付けされている、請求項１または２に記載の方法。
【請求項４】
チャレンジ（Ｃｈ）が通信装置（ＣＤ）からユーザ装置（ＵＤ）に送信される、請求項１から３のいずれか一項に記載の方法。
【請求項５】
ユーザ装置が、チャレンジの受信を検出し、キーボード出力先をユーザ装置に変更し、かつ、ユーザに信号で通知することによってユーザにシークレットデータを入力するように促す中継装置をアクティブ化し、ユーザによって行われたキーストロークに基づいてレスポンスを算出し、レスポンスを通信装置に送信した後、キーボード出力を再び通信装置につなぐように中継装置をアクティブ化する、請求項４に記載の方法。
【請求項６】
ユーザ装置が、キーボードエクスチェンジプロトコルを介して通信装置から来てキーボードへ向かう特定のヘッダ信号の受信を検出し、チャレンジを受信し、すべてのキーストロークをインターセプトするフィルタをアクティブ化し、ユーザに信号で通知することによってユーザにシークレットデータを入力するように促し、インターセプトされたキーストロークに基づいてレスポンスを算出し、フィルタを非アクティブ化する前にレスポンスを通信装置に送信する、請求項４に記載の方法。
【請求項７】
クライアントアプリケーション（ＣＡ）がチャレンジ（Ｃｈ）を通信装置（ＣＤ）の画面に表示し、ユーザ装置が、ユーザによる所与の手段の手動でのアクティブ化時に、すべてのキーストロークをインターセプトするフィルタをアクティブ化し、ユーザに信号で通知することによってユーザにチャレンジを入力するように促し、ユーザに別の信号で通知することによってユーザにシークレットデータを入力するように促し、インターセプトされたキーストロークに基づいてレスポンスを算出し、フィルタを非アクティブ化する前にレスポンスを通信装置に送信する、請求項３に記載の方法。
【請求項８】
ユーザによる所与の手段の手動でのアクティブ化が、専用のキーキャップ、専用のボタン、またはキーストロークの専用の組合せのうちのいずれか１つに対応する、請求項７に記載の方法。
【請求項９】
ユーザ装置（ＵＤ）が、カメラを備えた移動端末であり、クライアントアプリケーション（ＣＡ）が、チャレンジ（Ｃｈ）を通信装置（ＣＤ）の画面に表示し、チャレンジがカメラによって取り込まれる、請求項１に記載の方法。
【請求項１０】
ユーザを認証するためにチャレンジ（Ｃｈ）をクライアントアプリケーションに送信したアプリケーションサーバ（ＡＳ）に電気通信ネットワーク（ＴＮ）を介して接続されたクライアントアプリケーション（ＣＡ）を実装する通信装置（ＣＤ）のユーザを認証するユーザ装置（ＵＤ）であって、ユーザ装置（ＵＤ）が、通信装置（ＣＤ）と関連付けされ、かつフィルタとして働き、
通信装置（ＣＤ）の画面上でユーザにシークレットデータ（ＳＤ）を入力するように求めるクライアントアプリケーション（ＣＡ）との接続を確立する手段（ＣＯＭ）と、
クライアントアプリケーション（ＣＡ）からチャレンジ（Ｃｈ）を取り出す手段（ＣＯＭ）であって、チャレンジがクライアントアプリケーション（ＣＡ）によってユーザ装置（ＵＤ）に送信されるか、またはチャレンジが通信装置（ＣＤ）の画面に表示される、取り出す手段（ＣＯＭ）と、
ユーザにシークレットデータ（ＳＤ）を入力するように促す手段（ＣＰＴ）と、
ユーザによって入力されたシークレットデータ（ＳＤ）と、取り出されたチャレンジ（Ｃｈ）とに基づいて、チャレンジ（Ｃｈ）に対するレスポンス（Ｒｐ）を算出する手段（ＣＰＴ）と、
レスポンスをアプリケーションサーバ（ＡＳ）に転送するクライアントアプリケーション（ＣＡ）にレスポンス（Ｒｐ）を送信する手段（ＣＯＭ）と
を備える、ユーザ装置。
【請求項１１】
ユーザを認証するためにチャレンジ（Ｃｈ）をクライアントアプリケーションに送信したアプリケーションサーバ（ＡＳ）に電気通信ネットワーク（ＴＮ）を介して接続されたクライアントアプリケーション（ＣＡ）を実装する通信装置（ＣＤ）のユーザを認証するユーザ装置（ＵＤ）において実行されるように構成されたコンピュータプログラムであって、ユーザ装置（ＵＤ）が、通信装置（ＣＤ）と関連付けされ、かつフィルタとして働き、前記プログラムが前記ユーザ装置において実行されるときに、
通信装置（ＣＤ）の画面上でユーザにシークレットデータ（ＳＤ）を入力するように求めるクライアントアプリケーション（ＣＡ）との接続を確立するステップ（Ｓ３）と、
クライアントアプリケーション（ＣＡ）からチャレンジ（Ｃｈ）を取り出すステップ（Ｓ３）であって、チャレンジがクライアントアプリケーション（ＣＡ）によってユーザ装置（ＵＤ）に送信されるか、またはチャレンジが通信装置（ＣＤ）の画面に表示される、取り出すステップ（Ｓ３）と、
ユーザにシークレットデータ（ＳＤ）を入力するように促すステップ（Ｓ４）と、
ユーザによって入力されたシークレットデータ（ＳＤ）と、取り出されたチャレンジ（Ｃｈ）とに基づいて、チャレンジ（Ｃｈ）に対するレスポンス（Ｒｐ）を算出するステップ（Ｓ４）と、
レスポンスをアプリケーションサーバ（ＡＳ）に転送するクライアントアプリケーション（ＣＡ）にレスポンス（Ｒｐ）を送信するステップ（Ｓ５）と
を実行する命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスワードのようなユーザのシークレットデータの秘匿性を保つユーザ認証システムに関する。
【背景技術】
【０００２】
任意のコンピュータ上でオンライン認証を行うことは、現在極めてリスクが大きい。暗号のチャレンジ／レスポンスの認証モデルは、特にウェブブラウザで使用されるものであり、２つの主な脅威に対処するため：ユーザとアプリケーションサーバの間にいる誰かによるパスワードの傍受を防ぎ、反射攻撃（「相手のパスワードを知らなくても、傍受した認証メッセージを再送することでアクセスの許可が得られる」）を避けるために設計された。
【０００３】
パーソナルコンピュータが信頼性のない状態であれば、侵害者が機密情報、特にアクセスコードを収集する可能性が高い。単純なキーストロークロガーが、こういったパーソナルコンピュータに入力されたシークレット情報（たとえば、アクセスコード、パスワード、ＰＩＮ番号…）を記録し、送信する。この段階では、マルウェアが大規模なスプーフィングで自動動作し、ユーザになりすます無認可のトランザクションを実施することがある。暗号のチャレンジ／レスポンスモデルは、パーソナルコンピュータとアプリケーションサーバの間ではなくパーソナルコンピュータの内部にいる攻撃者に対しては無意味である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現在の認証方法（すなわち暗号のチャレンジ／レスポンスモデル）を大きく変えることなく、パーソナルコンピュータを利用してはびこっているキーロガーからパスワードを保護する方法を見いだすことが求められている。
【課題を解決するための手段】
【０００５】
上記の問題を解消するため、ユーザを認証するためにチャレンジをクライアントアプリケーションに送信したアプリケーションサーバに電気通信ネットワークを介して接続されたクライアントアプリケーションを実装する通信装置のユーザを認証する、本発明による方法が、通信装置に関連付けされたユーザ装置において：
通信装置の画面上でユーザにシークレットデータを入力するように求めるクライアントアプリケーションとの接続を確立するステップと、
クライアントアプリケーションからチャレンジを取り出すステップと、
ユーザにシークレットデータを入力するように促すステップと、
ユーザによって入力されたシークレットデータと、取り出されたチャレンジとに基づいて、チャレンジに対するレスポンスを算出するステップと、
レスポンスをアプリケーションサーバに転送するクライアントアプリケーションにレスポンスを送信するステップと
を含む。
【０００６】
本発明は、有利には、暗号のチャレンジ／レスポンスモデルを維持したまま、同モデルのフェーズの１つを信頼性のない通信装置から別へ移すことによってパスワードを保護する。したがって、パスワード、より正確にはチャレンジに対するレスポンスは通信装置に入力されず、パスワードの入力は、結果を通信装置に渡す前に暗号化ステップを行う別の装置に委ねられる。このようにして、暗号化プロトコル全体が同じままであっても、一時たりとも、真のパスワードが暗号化されていない状態で信頼性のない通信装置に入ることはない。パスワードは、暗号化されていない状態で、別の装置に入力され、その装置がやはり最終的には信頼性が無いという可能性があるが、使用のコンテキストはわからない。
【０００７】
一実施形態において、ユーザ装置は、通信装置にリンクしている入力装置に関連付けされた電子装置である。
【０００８】
一実施形態において、ユーザ装置はキーボードに関連付けされている。
【０００９】
一実施形態において、チャレンジは通信装置からユーザ装置に送信される。
【００１０】
一実施形態において、ユーザ装置は、チャレンジの受信を検出し、キーボード出力先をユーザ装置に変更し、かつ、ユーザに信号で通知することによってユーザにシークレットデータを入力するように促す中継装置をアクティブ化し、ユーザによって行われたキーストロークに基づいてレスポンスを算出し、レスポンスを通信装置に送信した後、キーボード出力を再び通信装置につなぐように中継装置をアクティブ化する。
【００１１】
一実施形態において、ユーザ装置は、キーボードエクスチェンジプロトコルを介して通信装置から来てキーボードへ向かう特定のヘッダ信号の受信を検出し、チャレンジを受信し、すべてのキーストロークをインターセプトするフィルタをアクティブ化し、ユーザに信号で通知することによってユーザにシークレットデータを入力するように促し、インターセプトされたキーストロークに基づいてレスポンスを算出し、フィルタを非アクティブ化する前にレスポンスを通信装置に送信する。
【００１２】
一実施形態において、クライアントアプリケーションはチャレンジを通信装置の画面に表示し、ユーザ装置は、ユーザによる所与の手段の手動でのアクティブ化時に、すべてのキーストロークをインターセプトするフィルタをアクティブ化し、ユーザに信号で通知することによってユーザにチャレンジを入力するように促し、ユーザに別の信号で通知することによってユーザにシークレットデータを入力するように促し、インターセプトされたキーストロークに基づいてレスポンスを算出し、フィルタを非アクティブ化する前にレスポンスを通信装置に送信する。
【００１３】
一実施形態において、ユーザによる所与の手段の手動でのアクティブ化は、専用のキーキャップ、専用のボタン、またはキーストロークの専用の組合せのうちのいずれか１つに対応する。
【００１４】
一実施形態において、ユーザ装置は、カメラを備えた移動端末であり、クライアントアプリケーションは、チャレンジを通信装置の画面に表示し、チャレンジはカメラによって取り込まれる。
【００１５】
本発明のさらなる目的は、ユーザを認証するためにチャレンジをクライアントアプリケーションに送信したアプリケーションサーバに電気通信ネットワークを介して接続されたクライアントアプリケーションを実装する通信装置のユーザを認証するユーザ装置であり、ユーザ装置は通信装置と関連付けされ：
通信装置の画面上でユーザにシークレットデータを入力するように求めるクライアントアプリケーションとの接続を確立する手段と、
クライアントアプリケーションからチャレンジを取り出す手段と、
ユーザにシークレットデータを入力するように促す手段と、
ユーザによって入力されたシークレットデータと、取り出されたチャレンジとに基づいて、チャレンジに対するレスポンスを算出する手段と、
レスポンスをアプリケーションサーバに転送するクライアントアプリケーションにレスポンスを送信する手段と
を備える。
【００１６】
本発明は、アプリケーションサーバに電気通信ネットワークを介して接続されたクライアントアプリケーションを実装する通信装置のユーザを認証するユーザ装置において実行されるように構成されたコンピュータプログラムにさらに関し、前記プログラムは、プログラムが前記装置で実行されるときに、本発明の方法のステップを実行する命令を含む。
【００１７】
本発明のいくつかの実施形態が、あくまで一例として、添付の図面を参照しながら説明される。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態による通信システムの概略構成図である。
【図２】本発明の一実施形態によるユーザのシークレットデータの秘匿性を保つユーザ認証方法を実行するために実施されるステップを示すフローチャートである。
【発明を実施するための形態】
【００１９】
図面全体において、同じ参照符号は同じ要素または同じタイプの要素を表す。
【００２０】
図面および以下の説明は、本発明の特定の例示的実施形態を示している。したがって、本明細書に明示的な説明や図示がなくとも、本発明の原理を実現し、本発明の範囲に含まれるさまざまな構成を当業者は考案できるようになることが認識されよう。さらに、本明細書に記載されるいずれの例も、本発明の原理の理解を助けることが意図されており、そのような具体的に挙げられた例および条件には限定されないものとして解釈されるべきである。そのため、本発明は、後述する特定の実施形態または例ではなく、特許請求の範囲およびその均等物によって限定される。
【００２１】
図１を参照すると、通信システムは、アプリケーションサーバＡＳ、ユーザ装置ＵＤと関連付けされた通信装置ＣＤを含み、アプリケーションサーバＡＳと通信装置ＣＤは、電気通信ネットワークＴＮを介して互いの間で通信することができる。
【００２２】
電気通信ネットワークＴＮは、有線もしくは無線ネットワーク、または有線ネットワークと無線ネットワークの組合せであってもよい。
【００２３】
電気通信ネットワークＴＮは、パケットネットワーク、たとえば、インターネットまたはイントラネット、さらには企業専用のプライベートネットワークなどのＩＰ（「インターネットプロトコル」）高速ネットワークを含み得る。
【００２４】
アプリケーションサーバＡＳは、通信装置ＣＤと通信ができ、ユーザ認証を要求するウェブサービスを提供するネットワークエンティティである。アプリケーションサーバＡＳは、ウェブブラウザのような、通信装置に実装されたクライアントアプリケーションに送信するチャレンジに関連したユーザシークレットを含むデータベースを管理する。
【００２５】
特に、アプリケーションサーバＡＳは、チャレンジ／レスポンスモデルに基づいてユーザ認証処理を管理する。アプリケーションサーバは、クライアント要求を受信し、ユーザシークレットを取り出し、チャレンジを算出し、チャレンジをクライアントアプリケーションに送信することができる。次いでアプリケーションサーバは、ユーザを認証するために、ユーザが与えたチャレンジに対するレスポンスをクライアントアプリケーション経由で受信し、レスポンスを確認することができる。
【００２６】
チャレンジ／レスポンス認証はサーバのような一方の当事者が質問を提示し、クライアントのような別の当事者が、認証されるための有効な回答を提供しなければならないというプロトコルファミリーを対象にしていると仮定する。特に、サーバはクライアントにチャレンジを送信し、クライアントはユーザにシークレットデータを入力するように求め、チャレンジとシークレットデータのハッシュ関数に基づいてレスポンスを算出する。
【００２７】
通信装置ＣＤは移動端末または固定端末であり得る。
【００２８】
固定端末としては、通信装置は、アプリケーションサーバと通信するために有線アクセスを使用する、ｘＤＳＬ（デジタル加入者回線）またはＩＳＤＮ（統合サービスデジタル網サービス）タイプのリンクにモデムを介して直接的に接続されたパーソナルコンピュータであり得る。
【００２９】
移動端末としては、通信装置は無線通信移動端末であり得る。たとえば、通信装置は、アプリケーションサーバと通信するために無線アクセスを使用する、移動体電話であるか、または通信用携帯情報端末ＰＤＡ、もしくはスマートフォンのようなインテリジェントな電話である。
【００３０】
通信装置ＣＤは、チャレンジＣｈをアプリケーションサーバＡＳから受信し、チャレンジに対するレスポンスＲｐをアプリケーションサーバに返送することができる、ウェブブラウザのようなクライアントアプリケーションＣＡを含む。
【００３１】
クライアントアプリケーションＣＡは、チャレンジをユーザ装置に送信し、チャレンジに対するレスポンスを受け取るために、ユーザ装置ＵＤとのチャネル関連付けを確立する。
【００３２】
ユーザ装置ＵＤは、チャレンジＣｈをクライアントアプリケーションから受信すると、ユーザがパスワードのようなシークレットデータＳＤを入力できるようにするエンティティである。ユーザ装置ＵＤは通信モジュールＣＯＭおよび計算モジュールＣＰＴを備える。
【００３３】
通信モジュールＣＯＭは、チャレンジの受信前に計算モジュールＣＰＴをアクティブ化するために、クライアントアプリケーションＣＡとのチャネル関連付けを確立することができる。
【００３４】
計算モジュールＣＰＴは、ユーザが入力したシークレットデータＳＤを入力として取得することができ、またシークレットデータＳＤに基づいて、チャレンジＣｈに対するレスポンスＲｐを算出することができる。
【００３５】
一実施形態において、ユーザ装置ＵＤは、通信装置ＣＤにリンクしているキーボードなどの入力装置と関連付けされた電子装置である。一実施形態において、ユーザ装置はキーボードに組み込まれている。代替形態では、ユーザ装置ＵＤは、キーボードにリンクしている外部装置である。すべてのケースで、通信装置ＣＤは、フィルタとして働くユーザ装置ＵＤを介してキーボードにリンクしている。たとえば、ユーザ装置ＵＤは、有線およびＵＳＢインターフェースを介して通信装置ＣＤにリンクしている。別の例では、ユーザ装置ＵＤは、Ｂｌｕｅｔｏｏｔｈ（登録商標）タイプの無線接続を介して通信装置ＣＤにリンクしている。この実施形態では、ユーザ装置はキーボードを拡張したものであり、チャレンジをフィルタリングし、チャレンジに対するレスポンスを計算することが可能なマイクロコントローラを備えるものと仮定する。
【００３６】
別の実施形態において、ユーザ装置ＵＤは、たとえばＢｌｕｅｔｏｏｔｈタイプの、無線接続を介して通信装置ＣＤにリンクしているスマートフォンのような移動端末である。この例では、ユーザ装置ＵＤは通信装置ＣＤによってＢｌｕｅｔｏｏｔｈキーボードとして検出され、モジュールＣＯＭおよびＣＰＴは、移動端末に実装されたアプリケーションに対応する。また、移動端末には、通信装置の画面に表示されたチャレンジを取り込むカメラが備わっていると仮定する。
【００３７】
図２を参照すると、本発明の一実施形態によるユーザシークレットデータの秘匿性を保つユーザ認証方法が、通信システムにおいて自動的に実行されるステップＳ１からＳ６を含んでいる。
【００３８】
ステップＳ１において、ユーザは、アプリケーションサーバＡＳによって提供されるサービスを使用したいと考える。このために、通信装置ＣＤに実装されたクライアントアプリケーションＣＡは、アプリケーションサーバＡＳに実装されたサーバアプリケーションとの接続を確立し、サービスの要求を送信する。アプリケーションサーバは、チャレンジ／レスポンスモデルに基づいて認証処理を開始する。
【００３９】
ステップＳ２において、アプリケーションサーバＡＳは、ユーザシークレットを取り出し、このユーザシークレットに基づいてチャレンジＣｈを算出する。次いで、アプリケーションサーバはチャレンジＣｈをクライアントアプリケーションＣＡに送信する。
【００４０】
ステップＳ３において、クライアントアプリケーションＣＡは、ユーザ装置ＵＤの通信モジュールＣＯＭとの接続を確立し、通信装置の画面上でユーザにシークレットデータＳＤを入力するように求める。
【００４１】
一実施形態において、クライアントアプリケーションＣＡは、チャレンジを通信装置の画面に表示する。
【００４２】
ユーザ装置ＵＤは、クライアントアプリケーションＣＡからチャレンジＣｈを取り出す。
【００４３】
ユーザ装置がキーボードと関連付けされた一実施形態において、クライアントアプリケーションＣＡは、たとえばキーボードエクスチェンジプロトコルを介してチャレンジＣｈをユーザ装置ＵＤに送信する。
【００４４】
ユーザ装置が移動端末である別の実施形態において、ユーザ装置は、たとえばカメラによって、通信装置の画面に表示されたチャレンジを取り込む。
【００４５】
ステップＳ４において、計算モジュールＣＰＴは、画面に表示されたシークレットデータを入力するための求めに対して、ユーザにシークレットデータＳＤを入力するように促す。
【００４６】
計算モジュールＣＰＴは、ユーザが入力したシークレットデータとチャレンジとに基づいて、チャレンジＣｈに対するレスポンスＲｐを算出する。
【００４７】
ステップＳ５において、計算モジュールＣＰＴは、通信モジュールＣＯＭと協働して、レスポンスＲｐをクライアントアプリケーションＣＡに送信する。
【００４８】
ステップＳ６において、クライアントアプリケーションＣＡはレスポンスを受信し、受信したレスポンスＲｐによってユーザを認証することができるアプリケーションサーバＡＳにレスポンスを転送する。
【００４９】
以下、方法のステップをいくらか参照しながら、本発明による方法の実施形態を示すいくつかの例が説明される。第２および第３の例は、第１の例の代替形態を含む。
【００５０】
第１の例では、ユーザ装置は、通信装置によって、通信装置のコマンドをリッスンしているＵＳＢ  ＨＩＤ装置（ヒューマンインターフェースデバイス）として検出される拡張型キーボードである。
【００５１】
チャレンジは、ステップＳ３に従って、通信装置のＵＳＢポートを介してユーザ装置に送信される。チャレンジを受信すると、ステップＳ４に従って、ユーザ装置はチャレンジの受信を検出し、中継装置をアクティブ化し、中継装置は、キーボード出力先をユーザ装置に変更し、たとえばカラーダイオードをオンにすることによって、認証用のチャレンジが受信されたこと、すなわち、ユーザにシークレットデータの入力が求められていることをユーザに通知する。次いでユーザは自身のパスワードをタイプ入力することができ、ユーザが（たとえば「Ｅｎｔｅｒ」をタッチタイプすることによって）完了すると、ユーザ装置は、ユーザによって行われたキーストロークに基づいてレスポンスを算出し、ステップＳ５に従って、そのレスポンスを通信装置に返送する。次いでユーザ装置は、キーボード出力を再び通信装置につなぐように中継装置をアクティブ化する。
【００５２】
クライアントアプリケーションがチャレンジをユーザ装置に送信する目的で、クライアントアプリケーションとユーザ装置の間でいくつかの基本コマンドによって通信交換を行うために特定のプロトコルが実装されていてもよく、ユーザ装置内のマイクロコントローラが、これらのコマンドを解釈し、特にチャレンジの受信を検出し、ユーザにシークレットデータを入力するように促し、レスポンスを算出することができる。
【００５３】
第２の例では、ユーザ装置は、キーボードと関連付けされたキーボードフィルタとみなされる。ユーザ装置は、次世代キーボードマイクロコントローラに直接実装され得るか、または通信装置とキーボードの間にプラグ接続された外部装置であり得る。ユーザ装置は、たとえばＬＥＤまたはオーディオ信号によって人間に信号を送る手段を備える。
【００５４】
フィルタの機能は、以下のケースを除いてパススルーとして働いている：通信装置から来てキーボードへ向かう特定のヘッダ信号を受信すると、ユーザ装置はチャレンジ情報を取得しようとしていることが分かり、すべてのキーストロークをインターセプトするフィルタをアクティブ化した後、チャレンジを受信する。この信号に使用されるプロトコルは、たとえば：＜ｈｅａｄｅｒ＞＜ｃｈａｌｌｅｎｇｅ＿ｌｅｎｇｔｈ＞＜ｃｈａｌｌｅｎｇｅ＞のフォームのＴＬＶ（型−長さ−値）データであり得る。このデータはキーボードに再送されない。ユーザ装置は、シークレットデータ取り出しのステップＳ４を実行する必要がある。それについて、ユーザ装置は、オーディオ信号またはＬＥＤの点灯による視覚的信号のような対人専用信号を送ることによって、キーボード上でシークレットデータを入力する時間がきたことをユーザに知らせる。次いでユーザはキーボード上でシークレットデータを入力する。ユーザ装置はフィルタとして働くので、すべてのキーストロークを受け取り、「Ｅｎｔｅｒ」のキーストロークを受け取ったときに入力が行われたことが分かり、次いで対人専用信号をオフにする。
【００５５】
したがって、ユーザ装置はシークレットデータを有するが、それを通信装置に送信しない。ユーザ装置は、チャレンジとシークレットデータの両方に基づいて、レスポンス算出のステップＳ４を実行する。最後に、ユーザ装置は、対応するキーストロークを送ることによって、レスポンスを通信装置に送信し、自らのパススルー機能性に戻る、すなわち、フィルタを非アクティブ化する。クライアントアプリケーションは、その入力フィールドにおいて、シークレットデータではなく、レスポンスを直接取得する。
【００５６】
第３の例では、ユーザ装置は、第２の例のユーザ装置と同様に、キーボードと関連付けされたキーボードフィルタとみなされ、クライアントアプリケーションは、キーボードタイプ情報をキーボードへ送信することができる。ユーザ装置は、新たなタイプのキーボードであるキーボードに依然として組み込まれていてもよく、または通信装置とキーボードの間にプラグ接続された外部装置であってもよい。ユーザ装置は特定の状態をユーザに知らせる方法（音、光など）を依然として有する。さらに、ユーザ装置は、専用の新たなキーキャップ、新たなボタン、またはたとえば「ｐ」＋「ｓ」＋「ｗ」＋「ｒ」＋「ｄ」のような同時キーストロークの専用の組合せによって、ユーザが特定の状態をユーザ装置自体に知らせる方法を提供する。
【００５７】
方法では、クライアントアプリケーションは、シークレットデータを入力するための求めをユーザに表示し、特定の可読データとしてチャレンジも表示する。次いでユーザは、選択された手段をアクティブ化すること：新たなキーキャップを押すこと、専用のボタンを押すこと、または正しい組合せを同時に押すことによって、情報の入力をユーザ装置に知らせることができる。引き換えに、ユーザ装置は、ユーザとやり取りする適切な方法（ＬＥＤ、音など）によって、その新たな状態を知らせる。
【００５８】
次いでユーザは、キーボード上でチャレンジをタイプ入力するが、チャレンジはユーザ装置によってフィルタリングされ、通信装置に送信されない。ユーザ装置は、たとえば「Ｅｎｔｅｒ」のキーストロークによって入力の終了を検出する。
【００５９】
任意選択で、ユーザ装置はたとえば、２色ＬＥＤを点灯させること、または音を変更することなどによってユーザとやり取りする方法を変更することで、次のステップに達したことを知らせる。これは、現在ユーザにシークレットデータの入力が求められていることを示す。
【００６０】
次いでユーザは、キーボード上でシークレットデータをタイプ入力するが、シークレットデータはユーザ装置によってフィルタリングされ、通信装置に送信されない。ユーザ装置は、たとえば「Ｅｎｔｅｒ」のキーストロークによって入力の終了を検出する。
【００６１】
最後に、ユーザ装置は、チャレンジとシークレットデータの両方に基づいて、レスポンス算出のステップＳ４を実行する。最後に、ユーザ装置は、対応するキーストロークを送ることによって、レスポンスを通信装置に送信し、自らのパススルー機能性に戻る、すなわち、フィルタを非アクティブ化する。
【００６２】
第３の例のユーザ装置の機能は、第２の例のユーザ装置の機能に近いが、フィルタ機能のアクティブ化が、特定の信号ではなく、ユーザが所与の手段を手動でアクティブ化することによって行われる点が異なっている。
【００６３】
最初の３つの例においては、ユーザ装置が、シークレットデータとチャレンジに基づいてレスポンスを算出するための標準的なハッシュ関数を知っており、ハッシュ関数の選択が、チャレンジを含むメッセージに含まれていると仮定されている。第３の例では、チャレンジが特定のハッシュ関数を指定する情報に対応付けて表示され得る。
【００６４】
第４の例では、ユーザ装置はカメラ付きのスマートフォンである。ユーザ装置は、通信装置とユーザ装置の間で無線接続が確立された後、通信装置によってたとえばＢｌｕｅｔｏｏｔｈキーボードとして検出される。チャレンジは、通信装置において、バーコード（Ｂａｒｅ  ｃｏｄｅ）、ＱＲコード（登録商標）またはあらかじめ定義された枠組みでの平文文字などの可読画像として表される。チャレンジは、ステップＳ３に従って、ユーザ装置によってスキャンされ、読み取られ、それにより、ユーザ装置によって取り出される。ユーザ装置は、ステップＳ４に従って、ユーザにそのシークレットデータを入力するように求め、次いでシークレットデータとチャレンジに基づいてレスポンスを算出するアプリケーションを実装している。ユーザ装置は、ステップＳ５に従って、レスポンスをクライアントアプリケーションの入力フィールドに直接的に送信する。
【００６５】
第４の例では、チャレンジを含む可読画像が、特定のハッシュ関数を指定する情報も含み得る。
【００６６】
本明細書に記載の本発明は、ユーザのシークレットデータの秘匿性を保つユーザ認証方法およびユーザ認証装置に関する。一実施形態において、本発明の方法のステップは、本発明によるユーザ装置ＵＤなどのデータ処理装置に組み込まれたコンピュータプログラムの命令によって決定される。プログラムは、前記プログラムがデータ処理装置のプロセッサで実行され、次いでその動作がプログラムの実行によって制御されるときに、本発明による方法のステップを実行するプログラム命令を含む。
【００６７】
したがって、本発明は、コンピュータプログラム、特に、本発明を実施するように構成されたデータ処理装置が読み取り可能な情報媒体に収められたコンピュータプログラムにも適用される。そのプログラムは、任意のプログラミング言語を使用することができ、ソースコード、オブジェクトコードもしくは部分的にコンパイルされた形態などのソースコードとオブジェクトコードの間の中間コードの形態、または本発明による方法を実施する任意の他の望ましい形態であってもよい。
【００６８】
情報媒体は、プログラムを格納することが可能な任意のエンティティまたは装置であってもよい。たとえば、媒体には、ＣＤ−ＲＯＭもしくは超小型電子回路ＲＯＭなどのＲＯＭ、またはＵＳＢキー、またはディスケット（フロッピー（登録商標）ディスク）もしくはハードディスクなどの磁気記録手段などといった、本発明によるコンピュータプログラムが記録される記憶手段または記録媒体が含まれ得る。
【図１】
2015524633.tif 000003
【図２】
2015524633.tif 000004
【国際調査報告】
2015524633.tif 000005
2015524633.tif 000006