(57)【特許請求の範囲】
【請求項１】
第１の通信端末（ＴＣ１）が、サービスにアクセスするためにアプリケーションサーバ（ＳＡｐｐ）に接続されており、アプリケーションサーバ（ＳＡｐｐ）が、通信端末（ＴＣ２）および第１の通信端末（ＴＣ１）と通信することが可能な認証サーバ（ＳＡｕｔｈ）に接続されている、第１の通信端末（ＴＣ１）および第２の通信端末（ＴＣ２）を持っているユーザを認証するための方法であって、認証サーバ（ＳＡｕｔｈ）内で、
第１の通信端末（ＴＣ１）から送信されたユーザ識別子（ＩｄＵ）を受信した後で、受信されたユーザ識別子（ＩｄＵ）に基づいて、第２の通信端末（ＴＣ２）を識別するステップ（Ｅ３）と、
コーディングデータ（ＤｏｎＣ）を生成するステップ（Ｅ４）と、
生成されたコーディングデータ（ＤｏｎＣ）を、第１の通信端末または第２の通信端末のいずれか一方に送信するステップ（Ｅ４）と、
第１の通信端末または第２の通信端末の前記いずれか一方により受信されたコーディングデータ（ＤｏｎＣ）を使用して秘密データ（ＤｏｎＳ）を変換することによってデータのセット（ＥｎｓＤ）を提供するようユーザを促すために、第１の通信端末および第２の通信端末のうちのもう一方にコマンドを送信するステップ（Ｅ５）と、
第１の通信端末（ＴＣ１）を介したアプリケーションサーバ（ＳＡｐｐ）へのユーザアクセスを許可するために、生成されたコーディングデータ（ＤｏｎＣ）に基づいて、ユーザにより入力されて第１の通信端末および第２の通信端末のうちの前記もう一方により送信されたデータのセット（ＥｎｓＤ）を、秘密データ（ＤｏｎＳ）と比較するステップ（Ｅ６）と
を含む、方法。
【請求項２】
ユーザ識別子（ＩｄＵ）に対応するものとして第２の通信端末の識別子（ＩｄＴＣ２）をあらかじめ保存している認証サーバ（ＳＡｕｔｈ）が、受信されたユーザ識別子（ＩｄＵ）に基づいて、第２の通信端末（ＴＣ２）を暗黙的に識別する、請求項１に記載の方法。
【請求項３】
ユーザが、第２の通信端末の識別子（ＩｄＴＣ２）に対応した追加的な情報でユーザ識別子（ＩｄＵ）を書き込んでおり、認証サーバ（ＳＡｕｔｈ）が、第２の通信端末（ＴＣ２）を明示的に識別する、請求項１に記載の方法。
【請求項４】
ユーザにより提供されて第２の通信端末（ＴＣ２）から送信された最初の識別子を受信した後で、認証サーバ（ＳＡｕｔｈ）が、受信された最初の識別子からユーザの識別情報を推定し、一時的な識別子であるユーザ識別子（ＩｄＵ）を生成し、一時的な識別子を第２の端末の識別子（ＩｄＴＣ２）に対応するものとして一時的に保存し、ユーザ識別子（ＩｄＵ）を第２の通信端末（ＴＣ２）に送信する、請求項１から３のいずれか一項に記載の方法。
【請求項５】
第２の通信端末（ＴＣ２）から送信された要求を受信した後で、認証サーバ（ＳＡｕｔｈ）が、要求に関連付けられた第２の通信端末の識別子（ＩｄＴＣ２）からユーザの識別情報を推定し、一時的な識別子であるユーザ識別子（ＩｄＵ）を生成し、一時的な識別子を第２の端末の識別子（ＩｄＴＣ２）に対応するものとして一時的に保存し、ユーザ識別子（ＩｄＵ）を第２の通信端末（ＴＣ２）に送信する、請求項１から３のいずれか一項に記載の方法。
【請求項６】
コーディングデータ（ＤｏｎＣ）の目的が、ユーザがデータのセット（ＥｎｓＤ）を介してスクランブル型で一連の文字列を提供するために、文字列の２つのセットの間に対応を確立することである、請求項１から５のいずれか一項に記載の方法。
【請求項７】
コーディングデータ（ＤｏｎＣ）が、動的であり、所定の文字数がユーザによって提供される度に変化する、請求項６に記載の方法。
【請求項８】
コーディングデータ（ＤｏｎＣ）が、第１の通信端末または第２の通信端末のいずれか一方に、テキスト形式、表形式、画像形式、または音声形式で送信される、請求項１から７のいずれか一項に記載の方法。
【請求項９】
秘密データ（ＤｏｎＳ）が、パスワード、コード、または銀行カード番号である、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
第１の通信端末が、サービスにアクセスするためにアプリケーションサーバ（ＳＡｐｐ）に接続されており、アプリケーションサーバ（ＳＡｐｐ）が、第２の通信端末（ＴＣ２）および第１の通信端末（ＴＣ１）と通信することが可能な認証サーバ（ＳＡｕｔｈ）に接続されている、第１の通信端末（ＴＣ１）および第２の通信端末（ＴＣ２）を持っているユーザを認証するための認証サーバ（ＳＡｕｔｈ）であって、
第１の通信端末（ＴＣ１）から送信されたユーザ識別子（ＩｄＵ）を受信した後で、受信されたユーザ識別子（ＩｄＵ）に基づいて、第２の通信端末（ＴＣ２）を識別するための手段（ＩＤＥ）と、
コーディングデータ（ＤｏｎＣ）を生成するための手段（ＡＵＴ）と、
生成されたコーディングデータ（ＤｏｎＣ）を、第１の通信端末または第２の通信端末のいずれか一方に送信するための手段（ＡＵＴ）と、
第１の通信端末または第２の通信端末の前記いずれか一方により受信されたコーディングデータ（ＤｏｎＣ）を使用して秘密データ（ＤｏｎＳ）を変換することによってデータのセット（ＥｎｓＤ）を提供するようユーザを促すために、第１の通信端末および第２の通信端末のうちのもう一方にコマンドを送信するための手段（ＡＵＴ）と、
第１の通信端末（ＴＣ１）を介したアプリケーションサーバ（ＳＡｐｐ）へのユーザアクセスを許可するために、生成されたコーディングデータ（ＤｏｎＣ）を使用することによって、ユーザにより提供されて第１の通信端末および第２の通信端末のうちの前記もう一方により送信されたデータのセット（ＥｎｓＤ）を、秘密データ（ＤｏｎＳ）と比較するための手段（ＡＵＴ）と
を含む、認証サーバ（ＳＡｕｔｈ）。
【請求項１１】
第１の通信端末が、サービスにアクセスするためにアプリケーションサーバ（ＳＡｐｐ）に接続されており、アプリケーションサーバ（ＳＡｐｐ）が、第２の通信端末（ＴＣ２）および第１の通信端末（ＴＣ１）と通信することが可能な認証サーバ（ＳＡｕｔｈ）に接続されている、第１の通信端末（ＴＣ１）および第２の通信端末（ＴＣ２）を持っているユーザを認証するための認証サーバ（ＳＡｕｔｈ）内で実施されることが可能なコンピュータプログラムであって、前記プログラムが、前記認証サーバ（ＳＡｕｔｈ）にロードされ、動作するときに、
第１の通信端末（ＴＣ１）から送信されたユーザ識別子（ＩｄＵ）を受信した後で、受信されたユーザ識別子（ＩｄＵ）に基づいて、第２の通信端末（ＴＣ２）を識別するステップ（Ｅ３）と、
コーディングデータ（ＤｏｎＣ）を生成するステップ（Ｅ４）と、
生成されたコーディングデータ（ＤｏｎＣ）を、第１の通信端末または第２の通信端末のいずれか一方に送信するステップ（Ｅ４）と、
第１の通信端末または第２の通信端末の前記いずれか一方により受信されたコーディングデータ（ＤｏｎＣ）を使用して秘密データ（ＤｏｎＳ）を変換することによってデータのセット（ＥｎｓＤ）を提供するようユーザを促すために、第１の通信端末および第２の通信端末のうちのもう一方にコマンドを送信するステップ（Ｅ５）と、
第１の通信端末（ＴＣ１）を介したアプリケーションサーバ（ＳＡｐｐ）へのユーザアクセスを許可するために、生成されたコーディングデータ（ＤｏｎＣ）に基づいて、ユーザにより入力されて第１の通信端末および第２の通信端末のうちの前記もう一方により送信されたデータのセット（ＥｎｓＤ）を、秘密データ（ＤｏｎＳ）と比較するステップ（Ｅ６）と
を実施する命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの通信デバイスを介したユーザの認証に関する。
【背景技術】
【０００２】
現在のところ、たとえば、インターネットカフェまたは公共の場におけるコンピュータから、認証を伴う機密トランザクションをオンラインで実行するのは危険である。これらのマシンの信頼のおけない性質は、ハッカーが、アクセスコードなどの機密情報を収集するための好機である。単純なキーロガーが、アクセスコード、パスワード、またはＰＩＮ番号などの秘密情報を送信することができる。マルウェアなどの悪意のあるソフトウェアが、アイデンティファイ窃盗を大々的に自動化し、所与のユーザになりすますことによって、権限のないトランザクションを実行することができる。
【０００３】
権限付与の前に身元確認および認証を要求することがある、オンラインで利用可能なリソースの数が増加している：イーバンキング、イーコマース、ソーシャルネットワーキングアプリケーション、およびネットワーク全体を通してホストされ、配布されるアプリケーション。さらに、モニタまたはビデオプロジェクタなどの構成要素が、認証の手段になることがある。これは、単一の識別情報またはいくつかの識別情報でのインターネットベースの身元確認および認証を支援するために、識別情報統合のソリューションが不可欠だからである。しかしながら、これらのソリューションは、ユーザの認証の保証はしない。
【０００４】
これらの理由のすべてのために、永続的なパスワードまたはＰＩＮコードなどの機密情報は、信頼のおけないマシン上で入力されるべきではない。
【発明の概要】
【課題を解決するための手段】
【０００５】
上述した欠点を改善するために、第１の通信端末が、サービスにアクセスするためにアプリケーションサーバに接続されており、アプリケーションサーバが、第２の通信端末および第１の通信端末と通信することが可能な認証サーバに接続されている、第１の通信端末および第２の通信端末を持っているユーザを認証するための方法が、認証サーバ内で、以下のステップを含む：
第１の通信端末から送信されたユーザ識別子を受信した後で、受信されたユーザ識別子から第２の通信端末を識別するステップ、
コーディングデータを生成するステップ、
生成されたコーディングデータを、第１の通信端末または第２の通信端末のいずれか一方に送信するステップ、
第１の通信端末または第２の通信端末の前記いずれか一方により受信されたコーディングデータを使用することによってデータのセットを提供するようユーザを促すために、第１の通信端末および第２の通信端末のうちのもう一方にコマンドを送信するステップ、および
第１の通信端末を介したアプリケーションサーバへのユーザアクセスを許可するために、生成されたコーディングデータを使用して、ユーザにより提供されて第１の通信端末および第２の通信端末のうちの前記もう一方により送信されたデータセットを、秘密データと比較するステップ。
【０００６】
有利なことに、本発明は、本来信頼のおけない２つの通信端末からＰＩＮコードまたはパスワードを使用するために、信頼できるやり方を提案する。このやり方は、コンピュータまたは移動電話機などの通信端末にインストールされた任意のマルウェアが、永続的な機密情報を読み出すのを妨げる。したがって、ユーザは、危険にさらされる恐れなしに、パスワードを使用することができる。
【０００７】
本発明の別の特徴によれば、ユーザ識別子に対応するものとして第２の通信端末の識別子をあらかじめ保存している認証サーバが、受信されたユーザ識別子に基づいて、第２の通信端末を暗黙的に識別することができる。
【０００８】
本発明の別の特徴によれば、ユーザが、第２の通信端末の識別子に対応した追加的な情報でユーザ識別子を書き込んでおり、認証サーバが、第２の通信端末を明示的に識別することができる。
【０００９】
本発明の別の特徴によれば、ユーザにより提供されて第２の通信端末から送信された最初の識別子を受信した後で、認証サーバは、受信された最初の識別子からユーザの識別情報を推定し、一時的な識別子であるユーザ識別子を生成し、一時的な識別子を第２の端末の識別子に対応するものとして一時的に保存し、ユーザ識別子を第２の通信端末に送信する。
【００１０】
本発明の別の特徴によれば、第２の通信端末から送信された要求を受信した後で、認証サーバは、要求に関連付けられた第２の通信端末の識別子からユーザの識別情報を推定し、一時的な識別子であるユーザ識別子を生成し、一時的な識別子を第２の端末の識別子に対応するものとして一時的に保存し、ユーザ識別子を第２の通信端末に送信する。
【００１１】
本発明の別の特徴によれば、コーディングデータの目的は、ユーザがデータのセットを介してスクランブル型で一連の文字列を提供するために、文字列の２つのセットの間に対応を確立することである。
【００１２】
本発明の別の特徴によれば、コーディングデータは、動的であり、所定の文字数がユーザによって提供される度に変化する。
【００１３】
本発明の別の特徴によれば、コーディングデータは、第１の通信端末または第２の通信端末のいずれか一方に、テキスト形式、表形式、画像形式、または音声形式で送信される。
【００１４】
本発明の別の特徴によれば、秘密データは、パスワード、コード、または銀行カード番号である。
【００１５】
本発明はまた、第１の通信端末が、サービスにアクセスするためにアプリケーションサーバに接続されており、アプリケーションサーバが、第２の通信端末および第１の通信端末と通信することが可能な認証サーバに接続されている、第１の通信端末および第２の通信端末を持っているユーザを認証するための認証サーバに関し、認証サーバは以下を含む：
第１の通信端末から送信されたユーザ識別子を受信した後で、受信されたユーザ識別子から第２の通信端末を識別するための手段、
コーディングデータを生成するための手段、
生成されたコーディングデータを、第１の通信端末または第２の通信端末のいずれか一方に送信するための手段、
第１の通信端末または第２の通信端末の前記いずれか一方により受信されたコーディングデータを使用することによってデータのセットを提供するようユーザを促すために、第１の通信端末および第２の通信端末のうちのもう一方にコマンドを送信するための手段、および
第１の通信端末を介したアプリケーションサーバへのユーザアクセスを許可するために、生成されたコーディングデータを使用して、ユーザにより提供されて第１の通信端末および第２の通信端末のうちの前記もう一方により送信されたデータセットを、秘密データと比較するための手段。
【００１６】
本発明はまた、サーバ内で実施されることが可能なコンピュータプログラムに関し、前記プログラムは、前記サーバ内でプログラムが実行される度に、本発明の方法によるステップを実行する命令を含む。
【００１７】
本発明およびその利点は、添付の図面を参照する以下の説明を検討する際に、よりよく理解されることになる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態による通信システムの概略ブロック図である。
【図２】本発明の一実施形態によるユーザの認証方法のアルゴリズムの図である。
【図３Ａ】本発明の別個の例示的な実施形態を示す図である。
【図３Ｂ】本発明の別個の例示的な実施形態を示す図である。
【図３Ｃ】本発明の別個の例示的な実施形態を示す図である。
【図３Ｄ】本発明の別個の例示的な実施形態を示す図である。
【発明を実施するための形態】
【００１９】
図１を参照すると、通信システムが、アプリケーションサーバＳＡｐｐと、認証サーバＳＡｕｔｈと、第１の通信端末ＴＣ１と、第２の通信端末ＴＣ２とを含み、アプリケーションサーバＳＡｐｐおよび認証サーバＳＡｕｔｈは、通信ネットワークＲＴ上で、互いに、かつ第１の通信端末ＴＣ１および第２の通信端末ＴＣ２の両方と、通信することが可能である。
【００２０】
通信ネットワークＲＴは、有線またはワイヤレスネットワーク、あるいは有線ネットワークとワイヤレスネットワークとの組み合わせであってよい。
【００２１】
一例において、通信ネットワークＲＴは、インターネットまたはイントラネットなどの、高速ＩＰ（「インターネットプロトコル」）パケットネットワークである。
【００２２】
別の例において、通信ネットワークＲＴは、ＴＤＭ（「時分割多重化」）ネットワーク、または独自のプロトコルをサポートする会社に固有の私設ネットワークである。
【００２３】
ユーザの通信端末ＴＣ１またはＴＣ２は、通信ネットワークＲＴ上で、アプリケーションサーバＳＡに接続されている。
【００２４】
一例において、通信端末は、通信ネットワークＲＴに接続されたｘＤＳＬ（「デジタル加入者ライン」）リンクまたはＩＳＤＮ（「統合化サービスデジタルネットワーク」）リンクに、モデムによって直接連結された、パーソナルコンピュータである。
【００２５】
別の例において、通信端末は、無線通信チャネルによって通信ネットワークに連結された、たとえば、ＧＳＭ（登録商標）（「移動通信用グローバルシステム」）タイプまたはＵＭＴＳ（「ユニバーサル移動通信システム」）タイプの移動セルラ式無線通信端末である。
【００２６】
別の例において、通信端末は、電子的な通信デバイスまたはオブジェクトを含み、これらは、通信ネットワークに接続された、公共のワイヤレスローカルエリアネットワークＷＬＡＮ、８０２．１ｘ標準を使用するネットワーク、またはＷＩＭＡＸ（ワールドワイドインターオペラビリティマイクロウェーブアクセス）プロトコルを使用するワイドエリアネットワークでアンテナに接続されることが可能な、携帯情報端末（ＰＤＡ）またはスマートフォンであってよい。
【００２７】
たとえば、通信端末は、ＴＤＭ地上通信線電話機またはボイスオーバＩＰ地上通信線電話機である。別の例によれば、通信端末は、イーサネット（登録商標）接続を介して電力供給されるＰＯＥ（「パワーオーバーイーサネット」）地上通信線電話機である。
【００２８】
アプリケーションサーバＳＡｐｐは、ユーザの身元確認および認証の後で、ユーザに所与のサービスを提供するサーバである。
【００２９】
一例によれば、アプリケーションサーバＳＡｐｐは、イーコマースサイトなどの、所与のサービスを提供するウェブサイトをホストするウェブサーバである。
【００３０】
別の例によれば、アプリケーションサーバＳＡｐｐは、たとえば、所与の製品を購入するなどのために、所与のサービスを提供する音声サーバである。
【００３１】
アプリケーションサーバＳＡｐｐは、データベース内に、さまざまなユーザに関する情報、とりわけ、ユーザごとのプロファイルを含み、情報は、パスワードもしくはコード、または銀行カード番号などの特定の配列の英数文字などの識別子ＤｏｎＳ、第１の通信端末の識別子ＩｄＴＣ１、および第２の通信端末の識別子ＩｄＴＣ２を含む。識別子ＴＣ１およびＴＣ２は、ＩＰアドレスもしくはＭＡＣ（「メディアアクセスコントロール」）アドレスなどの端末のアドレス、または電話番号、あるいは端末を識別することを可能にする任意のタイプのデータであってよい。
【００３２】
認証サーバＳＡｕｔｈは、身元確認モジュールＩＤＥと、認証モジュールＡＵＴとを含む。説明の以下の部分において、用語モジュールは、少なくとも１つの特定のタスクを実行するように構成された、デバイス、ソフトウェアプログラム、またはコンピュータハードウェアとソフトウェアとの組み合わせを指してよい。
【００３３】
身元確認モジュールＩＤＥは、ウェブサイトによって配信されるサービスなどの特定のリソースにアクセスするために、ユーザによって提供された識別子ＩｄＵを読み出す。
【００３４】
ユーザ識別子ＩｄＵは、永続的な、または単回使用のログインであってよい。
【００３５】
ユーザは、明示的にまたは暗黙的に、一時的な識別子ＩｄＵ、すなわち、単回使用の識別子を要求することができる。明示的な要求は、最初の識別子、たとえば、永続的な識別子を認証サーバに送信することによって、認証サーバに対して行われてよく、それにより、ユーザ、生成する認証サーバ、およびその後一時的な識別子を識別することを可能にする。暗黙的な要求は、認証サーバに既に知られている通信端末からそのサーバに対して行われてよく、要求に関連付けられた識別子の通信端末が既にサーバに知られていることを意味しており、それにより、識別子からユーザの識別情報を推定し、その後一時的な識別子を生成する。
【００３６】
身元確認モジュールＩＤＥは、２つの通信端末を合わせてペアにする。ペアリングは、明示的にまたは暗黙的に行われてよい。
【００３７】
暗黙的なペアリングでは、第１の通信端末からユーザによって入力されたユーザ識別子ＩｄＵが、追加的なオプションとして第１の通信端末の識別子ＩｄＴＣ１を使用しながら、第２の通信端末の識別子ＩｄＴＣ２を捜し出すために使用されてよい。それによって、サーバＳＡｕｔｈは、ユーザの識別子ＩｄＵに基づいて、端末の識別子ＩｄＴＣ１とＩｄＴＣ２との間に対応を捜し出す。
【００３８】
明示的なペアリングでは、ユーザが、第２の通信端末の識別子ＩｄＴＣ２に対応した追加的な情報でユーザ識別子ＩｄＵを入力する。
【００３９】
身元確認モジュールＩＤＥは、端末の一方を介してコーディングデータＤｏｎＣを取得するために、端末のもう一方を介して秘密データＤｏｎＳを入力するための、ユーザによる所望の端末を識別し、選択する。この身元確認は、そのユーザによって先に提供されたユーザの選好に基づいて実行されてもよいし、または、アプリケーションサーバＳＡｐｐにアクセスが要求された時点で、ユーザにより使用される端末のタイプに応じたコンテキストに基づいて推定されてもよい。
【００４０】
認証モジュールＡＵＴは、ユーザを認証するために使用されるコーディングデータＤｏｎＣを生成する。コーディングデータＤｏｎＣの目的は、ユーザが、スクランブル式で、コードまたはパスワードなどの秘密情報に対応した一連の文字列を提供するために、文字列の２つのセットの間に対応を確立することである。たとえば、コーディングデータは、一方のセットの各数字がもう一方のセットの異なる数字に対応する、数字１から９を含む２つのセットの間に関係を作るための指示を含む。
【００４１】
認証モジュールＡＵＴは、コーディングデータＤｏｎＣを、身元確認モジュールＩＤＥによって選択された通信端末のうちの一方に送信する。通信端末は次いで、通信端末の能力に応じて、およびオプションとしてユーザの選好に応じて、コーディングデータをそれぞれ可能なフォーマットでユーザに提供する。一例によれば、コーディングデータは、通信端末のスクリーンに、テキスト形式、表形式、または画像形式で表示される。別の例によれば、コーディングデータは、通信端末のスピーカを介してユーザに話される。
【００４２】
認証ＡＵＴは、身元確認モジュールＩＤＥによって選択された通信端末のうちのもう一方にコマンドを送信して、あらかじめ受信されたコーディングデータＤｏｎＣを使用して秘密データＤｏｎＳに対応したデータのセットを提供するようユーザに求める。このコマンドを受信する通信端末は、そのコマンドを解釈するための手段と、グラフィカルインターフェースまたは音声インターフェースを介して秘密情報を入力するようユーザに求めるための手段とを含む。たとえば、通信端末は、認証サーバＳＡｕｔｈから受信されたあらゆるメッセージを解釈する、バックグラウンドで動作するアプリケーションを含む。このアプリケーションは、通信端末のオペレーティングシステムによって管理されるアプリケーションであってよいし、または、ＳＩＭカードによって管理されてもよく、たとえば、端末がＧＳＭ移動電話機である場合には、通信ネットワークの構成要素と、とりわけ認証サーバＳＡｕｔｈと、直接通信することが可能な、ＳＴＫ（「ＳＩＭアプリケーションツールキット」）アプリケーションの形式であってよい。
【００４３】
２つの通信端末は、コーディングデータＤｏｎＣおよびコマンドを受信して、ほぼ同時に、秘密データＤｏｎＳを提供することが想定される。
【００４４】
説明目的のための一例において、認証サーバＳＡｕｔｈは、アプリケーションサーバＳＡによってホストされるウェブサイトに接続されたパーソナルコンピュータである第１の通信端末ＴＣ１に、コーディングデータを送信する。第１の端末ＴＣ１は、番号パッドを表す３つのカラムグリッドによる３行の形式でコーディングデータを表示し、この中で数字１から９が、左から右へ、かつ上から下へ降順で配置されている。さらに、認証サーバＳＡｕｔｈは、スマートフォンである第２の通信端末ＴＣ１に、コマンドを送信する。第２の端末ＴＣ２は、番号パッドを表す３つのカラムグリッドによる３行を表示し、この中で数字１から９が、左から右へ、かつ上から下へ昇順で配置されている。ユーザはここから、数字１が数字９に対応すること、数字２が数字８に対応することなどを推定することができる。入力されるべき秘密データが３５８９などの４桁のコードであれば、ユーザは、配列７５２１であるデータのすべてを入力することができる。
【００４５】
一実施形態において、コーディングデータは動的であり、それにより、経時的に変化してよい。第１の例では、ユーザが文字を提供する度に、またはユーザによって所定の文字数が提供される度に、文字列の２つのセットの間で対応が変化する。この目的のために、文字が入力される端末は、認証サーバにメッセージを送信することができ、認証サーバは、コーディングデータを表示している端末に、新しいコーディングデータを送信する。第２の例では、文字列の２つのセットの間での対応が、１つまたは複数の時間の間隔が終了する度に変化する。コーディングデータを表示している端末と認証サーバとは、共通して同じコーディングデータを有するので、認証サーバは、ユーザにより入力された文字配列を解釈できることになり、たとえば、日付が、端末のアプリケーションによって、ユーザにより入力されたそれぞれの文字に関連付けられる。
【００４６】
認証モジュールＡＵＴは、入力された文字列の配列、すなわち、入力されたデータのセットＥｎｓＤが、ユーザの認証のためにユーザに要求された秘密データＤｏｎＳに対応するかどうかを検査するために、コーディングデータＤｏｎＣの助けを得て、ユーザによって入力された文字列を解読する。
【００４７】
一実施形態において、認証サーバＳＡｕｔｈおよびアプリケーションサーバＳＡｐｐは、単一の構成要素に一体化されている。
【００４８】
図２を参照すると、本発明の一実施形態による認証方法が、通信システム内で自動的に実行されるステップＥ１からＥ６を含む。
【００４９】
ステップＥ１で、ユーザは、第１の通信端末ＴＣ１を介してアプリケーションサーバＳＡｐｐに接続し、アプリケーションサーバＳＡｐｐによって配信されるサービスにアクセスすることを希望する。サーバＳＡｐｐは、認証システムを使用して、ユーザ名または「ログイン」などのユーザ識別子ＩｄＵ、およびパスワードもしくはコード、または銀行カード番号など特定の配列の文字列のなどの秘密データＤｏｎＳを提供するようユーザに求めることによって、サービスへのアクセスをユーザに許可する。
【００５０】
ステップＥ２で、ユーザは、ユーザ識別子ＩｄＵを入力し、第１の通信端末ＴＣ１は、識別子ＩｄＵをアプリケーションサーバＳＡｐｐに送信し、アプリケーションサーバＳＡｐｐは、識別子ＩｄＵを認証サーバＳＡｕｔｈに再送信する。一変形において、第１の端末ＴＣ１は、識別子ＩｄＵを認証サーバＳＡｕｔｈに直接送信する。
【００５１】
先に説明された通り、ユーザは、明示的にまたは暗示的に、一時的なユーザ識別子ＩｄＵ、すなわち単回使用の識別子を、認証サーバに要求することができる。一時的な識別子を用いることによって、ユーザは、自分の永続的な識別子を発信するのを回避することが可能になる。
【００５２】
明示的な要求は、第２の通信端末ＴＣ２から、最初の識別子、たとえば永続的な識別子を、認証サーバに送信することによって、認証サーバに行われてよい。認証サーバは、受信された最初の識別子からユーザの識別情報を推定し、一時的な識別子であるユーザ識別子ＩｄＵを生成する。認証サーバは次いで、一時的な識別子を第２の端末の識別子ＩｄＴＣ２に対応するものとして一時的に保存し、識別子ＩｄＴＣ２は、たとえば、明示的な要求のコンテキストから推定される。
【００５３】
暗黙的な要求は、認証サーバに既に知られている第２の通信端末ＴＣ２から、認証サーバに対して行われてよく、すなわち、要求に関連付けられた識別子ＩｄＴＣ２の通信端末が既にサーバに知られている。認証サーバは、第２の端末の識別子ＩｄＴＣ２からユーザの識別情報を推定し、一時的な識別子であるユーザ識別子ＩｄＵを生成する。認証サーバは次いで、一時的な識別子を第２の端末の識別子ＩｄＴＣ２に対応するものとして一時的に保存する。このケースでは、認証サーバは既に、識別子ＩｄＴＣ２とユーザの永続的な識別子との対応を、メモリの中に有していることが想定される。
【００５４】
暗黙的なまたは明示的な要求についてのいずれのケースにおいても、認証サーバは、一時的なユーザ識別子を第２の通信端末ＴＣ２に送信し、ユーザは次いで、第１の通信端末ＴＣ１からユーザ識別子ＩｄＵを入力することができる。
【００５５】
オプションとして、第１の通信端末ＴＣ１の識別子ＴＣ１が、認証サーバＳＡｕｔｈに送信される。
【００５６】
ステップＥ３で、認証サーバＳＡｕｔｈは、第１の通信端末ＴＣ１を第２の通信端末ＴＣ２とペアにする。
【００５７】
その目的のために、身元確認モジュールＩＤＥは、ユーザ識別子ＩｄＵの助けを得て、第２の通信端末の識別子ＩｄＴＣ２をデータベースの中で捜し出す。
【００５８】
先に説明された通り、ペアリングは暗黙的であってよく、第２の端末の識別子ＩｄＴＣ２は、ユーザ識別子ＩｄＵの助けを得て、およびオプションとして第１の端末の識別子ＩｄＴＣ１の助けを得て、自動的に捜し出される。第１の端末の識別子ＩｄＴＣ１は、ユーザの選好、および潜在的には端末のそれぞれに関連付けられたコンテキストに基づいて、第２の端末の選択に影響を与えてよい。ペアリングはまた、明示的であってもよく、第２の端末の識別子ＩｄＴＣ２は、第２の通信端末の識別子ＩｄＴＣ２に対応する追加的な情報で入力されたユーザ識別子ＩｄＵの助けを得て、捜し出される。このケースでは、ユーザ自身が、使用を希望する第２の通信端末を指定する。
【００５９】
ユーザ識別子ＩｄＵが一時的な識別子である場合、ユーザはともかく明示的なペアリングを選ぶことができるにも関わらず、ユーザが暗黙的なペアリングを選んでいることが想定される。
【００６０】
認証サーバＳＡｕｔｈは次いで、通信端末の一方をコーディングデータをユーザに提供するための専用とし、もう一方をユーザの秘密データを入力するようユーザに求めるための専用として、通信端末の両方に役割を割り当て、第１の端末および第２の端末の両方が潜在的にいずれかの役割を果たす。わかりやすさのために、方法の以下の部分では、第２の通信端末ＴＣ１が、コーディングデータをユーザに提供するために選択され、一方、第２の通信端末ＴＣ２が、秘密データを入力するようユーザに求めるために選択されることが想定される。
【００６１】
ステップＥ４で、認証モジュールＡＵＴは、ユーザを認証するために使用されるコーディングデータＤｏｎＣを生成する。認証モジュールＡＵＴは、コーディングデータＤｏｎＣを第１の通信端末ＴＣ１に送信し、第１の通信端末ＴＣ１は、たとえば、数字の２つのセットの間の対応を見せる画像の形式で、スクリーンにコーディングデータＤｏｎＣを表示することによって、それをユーザに提供する。
【００６２】
ステップＥ５で、認証モジュールＡＵＴは、秘密データＤｏｎＳに対応するデータのセットＥｎｓＤを入力するようにユーザに求めるために、第２の通信端末ＴＣ２にコマンドを送信する。第２の通信端末ＴＣ２は、たとえば、バックグラウンドで動作するアプリケーションを用いてこのコマンドを解釈し、グラフィカルインターフェースを介してデータのセットＥｎｓＤを入力するようユーザに求める。たとえば、第２の端末は、番号パッドが表示されるタッチスクリーンを含み、ユーザは、第１の通信端末ＴＣ１に表示されたコーディングデータＤｏｎＣを使用することによって、秘密データＤｏｎＳに対応するコードを入力することが可能である。
【００６３】
第２の通信端末ＴＣ２は次いで、データのセットＥｎｓＤを認証サーバＳＡｕｔｈに送信する。
【００６４】
ステップＥ４およびＥ５は、ほぼ同時に実行されてもよいし、または、ステップＥ４およびＥ５の順序が潜在的に逆にされて、認証サーバＳＡｕｔｈが最初に第２の端末にコマンドを送信し、その後、ユーザがデータのセットを入力する前に、第１の端末にコーディングデータを送信してもよい。
【００６５】
ステップＥ６で、認証サーバＳＡｕｔｈは、あらかじめ生成されて第１の通信端末ＴＣ１に送信されたコーディングデータＤｏｎＣに基づいて、ユーザにより入力されて第２の通信端末ＴＣ２により送信されたデータのセットＥｎｓＤを、秘密データＤｏｎＳと比較する。
【００６６】
認証サーバＳＡｕｔｈは、データのセットＥｎｓＤが秘密データＤｏｎＳに対応する場合に、アプリケーションサーバＳＡｐｐによって配信されるサービスへのアクセスを許可する。
【００６７】
説明のための例として、４つの例示的な実施形態が、図３Ａ、３Ｂ、３Ｃ、および３Ｄを参照して説明される。
【００６８】
図３Ａを参照すると、識別子ＩｄＵがユーザによって明示的に提供され、２つの通信端末が暗黙的にペアにされる間に、認証方法が実行される。第１の端末ＴＣ１および第２の端末ＴＣ２がユーザの届く範囲内にあること、および、認証サーバＳＡｕｔｈが、そのメモリ内に、ユーザ識別子ＩｄＵと第１の端末の識別子ＩｄＴＣ１との対応を有することが想定される。
【００６９】
ステップ３Ａ１で、ユーザは、第２の端末ＴＣ２から、第１位の端末ＴＣ１を識別する認証サーバＳＡｕｔｈに、自分のユーザ識別子ＩｄＵを送信する。
【００７０】
ステップ３Ａ２ａで、認証サーバＳＡｕｔｈは、第２の端末ＴＣ２に表示されることになる仮想キーボード、ならびに秘密情報を入力するようユーザに求めるコマンドを送信する。
【００７１】
ステップ３Ａ２ｂで、認証サーバＳＡｕｔｈは、端末ＴＣ１に表示されることになるコーディングデータを送信する。
【００７２】
ステップ３Ａ３で、ユーザは、秘密データに対応するデータのセットを、第２の端末ＴＣ２の仮想キーボード上で入力する。このデータのセットは次いで、データのセットの有効性を検査する認証サーバＳＡｕｔｈに送信される。
【００７３】
図３Ｂを参照すると、２つの通信端末が一時的な識別子の助けを得て暗黙的にペアにされる間に、認証方法が実行される。
【００７４】
ステップ３Ｂ１で、第１の端末ＴＣ１から、ユーザは、認証サーバＳＡｕｔｈに一時的な識別子を要求する。
【００７５】
ステップ３Ｂ２で、認証サーバＳＡｕｔｈは、一時的な識別子を生成し、それを第１の端末ＴＣ１に送信する。
【００７６】
ステップ３Ｂ３で、ユーザは、第２の端末ＴＣ２から、一時的な識別子を使用することを希望する。一実施形態において、ユーザは、第２の端末から一時的な識別子を使用するために、第２の端末ＴＣ２、たとえばスマートフォンから、一時的な識別子の写真を撮り、それを読み出す。いかなるセキュリティ問題をも回避するために、第１の端末および第２の端末は、互いに通信しないことが想定される。
【００７７】
ステップ３Ｂ４で、ユーザは、端末から一時的な識別子を認証サーバＳＡｕｔｈに送信し、サーバＳＡｕｔｈは、端末とのペアリングを実施することが可能である。
【００７８】
ステップ３Ｂ５ａで、認証サーバＳＡｕｔｈは、第２の端末ＴＣ２に表示されることになる仮想キーボード、ならびに秘密情報を入力するようユーザに求めるコマンドを送信する。
【００７９】
ステップ３Ｂ５ｂで、認証サーバＳＡｕｔｈは、コーディングデータを第１の端末ＴＣ１に送信する。
【００８０】
図３Ｃを参照すると、２つの通信端末が一時的な識別子の助けを得て暗黙的にペアにされる間に、認証方法が実行される。ユーザは、第２の端末の識別子を提供し、第２の端末は、ユーザの届く範囲内にない、たとえば、公共の場におけるワイドスクリーン端末である。
【００８１】
ステップ３Ｃ１で、第１の端末ＴＣ１から、ユーザは、認証サーバＳＡｕｔｈに一時的な識別子を要求する。
【００８２】
ステップ３Ｃ２ａで、認証サーバＳＡｕｔｈは、一時的な識別子を生成し、それを第１の端末ＴＣ１に送信する。
【００８３】
ステップ３Ｃ２ｂで、認証サーバＳＡｕｔｈは、一時的な識別子を第２の端末ＴＣ２に送信する。これにより、ユーザは、自分が所望の第２の端末を占有していることを確認することが可能になる。
【００８４】
次いで前の例と同じように、認証が実行され、認証サーバＳＡｕｔｈは、第２の端末ＴＣ２に表示されることになる仮想キーボード、ならびに秘密情報を入力するようユーザに求めるコマンドを送信し、認証サーバＳＡｕｔｈは、コーディングデータを第１の端末ＴＣ１に送信する。
【００８５】
図３Ｄを参照すると、ユーザが「オンデマンドによる」ペアリングのためのコードを要求する間に、認証方法が実行される。コードは、コードそれ自体であっても、またはＵＲＬアドレス（「ユニファイドリソースロケータ」）と組み合わされたコードであってもよい。
【００８６】
ステップ３Ｄ１で、ユーザは、第２の端末ＴＣ２から、認証サーバＳＡｕｔｈに自分のユーザ識別子ＩｄＵを送信し、コードをそのサーバに要求する。
【００８７】
ステップ３Ｄ２で、認証サーバＳＡｕｔｈは、第２の端末ＴＣ２で表示するための仮想キーボード、ならびに秘密情報を入力するようユーザに求めるコマンドを送信し、あらかじめ要求されたコードもまた送信する。
【００８８】
ステップ３Ｄ３で、ユーザは、第１の端末ＴＣ１から、読み出されたコードを使用することを希望する。一実施形態において、ユーザは、第１の端末から一時的な識別子を使用するために、第２の端末ＴＣ１、たとえばスマートフォンから、一時的な識別子の写真を撮り、それを読み出す。
【００８９】
ステップ３Ｄ４で、第１の端末ＴＣ１から、ユーザは認証サーバＳＡｕｔｈにコードを提供する。認証サーバＳＡｕｔｈは、ユーザと、２つの端末ＴＣ１およびＴＣ２との間に明示的なリンクを作る。
【００９０】
ステップ３Ｄ５で、認証サーバＳＡｕｔｈは、コーディングデータを第１の端末ＴＣ１に送信する。
【００９１】
ここで説明された本発明は、ユーザの認証のための方法およびサーバに関する。本発明の一実施形態によれば、本発明の方法のステップは、サーバＳＡｕｔｈなどのサーバの中に組み込まれたコンピュータプログラムの命令によって決定される。プログラムは、前記プログラムがロードされ、サーバ内で実行されるときに、本発明の方法のステップを実行するプログラム命令を含む。
【００９２】
結果として、本発明はまた、コンピュータプログラム、とりわけ本発明を実施するために好適な、情報媒体上または情報媒体内のコンピュータプログラムに適用される。このプログラムは、任意のプログラミング言語を使用することができ、ソースコードの形式、オブジェクトコードの形式、または部分的にコンパイルされた形式などでのソースコードとオブジェクトコードとの中間コードの形式、あるいは、本発明の方法を実施するために望ましい任意の他の形式であってよい。
【図１】
0005784827.tif 000002
【図２】
0005784827.tif 000003
【図３Ａ】
0005784827.tif 000004
【図３Ｂ】
0005784827.tif 000005
【図３Ｃ】
0005784827.tif 000006
【図３Ｄ】
0005784827.tif 000007