(57)【要約】【課題】個人認証を確実に行うための解決策が提供される。【解決手段】本発明はＰＩＮ等のユーザの識別子の入力を確実に行わせる方法及び装置からなる。電子デバイスと関連づけられた表示画面の表示領域内にあるスクランブルされた動作可能なキーパッドの上に、複数のキーが標準の順序で描写された画像が重合される。画像に描写されたキーの位置と動作可能なキーパッドのキーの位置との違いによりエンコードされた識別子が生成され、エンコードされていない識別子がデバイスのメモリに記憶されないようにする。好ましくはデバイス用の標準のキーパッドが画像に描写される。デバイスは、モバイルフォン、タブレットＰＣ、ラップトップＰＣ、決済端末などの画像を備えたデバイスである。下層にあって少なくとも一部がユーザの視界から隠されたキーパッドが、デバイスに標準として備えられたライブラリの一部であるプロシージャを呼び出すことにより、ランタイムで生成される。【選択図】    図１
2018527640.tif 000002
【特許請求の範囲】
【請求項１】
動作可能なスクランブルされたキーパッドを生成して、このキーパッドを電子デバイスと関連づけられた表示画面の表示領域内に用意するステップと、前記表示領域の少なくとも一部にスクランブルされていないキーパッドの画像を見えるように提示して、ユーザが前記画像を介して前記キーパッドの少なくとも一つを動作させることができるようにするステップとを備えた認証方法。
【請求項２】
前記動作可能なスクランブルされたキーパッドは、コードの一部を呼び出すことによりランタイムで生成される請求項１に記載の認証方法。
【請求項３】
前記動作可能なスクランブルされたキーパッドは、前記デバイスに標準として備えられたサブルーチンにより生成される請求項１又は２に記載の認証方法。
【請求項４】
前記画像は前記デバイスと関連しているデフォルトのキーパッドを描写している請求項１，２又は３に記載の認証方法。
【請求項５】
前記画像は、前記デバイスで生成されるか、又は離れた所にあるコンピュータ資源から前記デバイスにより受信される請求項１，２，３又は４に記載の認証方法。
【請求項６】
前記動作可能なキーパッドは、乱数若しくは疑似乱数又は前記ユーザと関係を有する生体データを用いて得られたキーパッド配列を用いて生成される請求項１乃至５のいずれか一つの認証方法。
【請求項７】
前記動作可能なキーパッドに設けられている動作可能なキーの配列順序の少なくとも一部は、前記ユーザから取得した生体データ又は前記ユーザと関係を有する生体データを用いて決定され、前記生体データは、前記動作可能なキーの配列順序を特定するために用いられる１以上のストリング、バリューのアレイ若しくはバリューのシーケンスからなっているか、又は前記動作可能なキーの配列順序を特定するために用いられる１以上のストリング、バリューのアレイ若しくはバリューのシーケンスを得るように処理されている請求項１乃至６のいずれか一つに記載の認証方法。
【請求項８】
複数の動作可能なキーパッドが生成され、前記複数の動作可能なキーパッドの内の少なくとも一つのキーパッドは、スクランブルされたキーパッドである請求項１乃至７のいずれか一つに記載の認証方法。
【請求項９】
複数のキーパッド画像が生成され、前記複数のキーパッド画像の内の少なくとも一つの画像はスクランブルされていないキーパッドの画像である請求項１乃至８のいずれか一つに記載の認証方法。
【請求項１０】
前記スクランブルされていないキーパッドの画像に描写されているキーと前記動作可能なキーパッドのキーとの間のマッピングが生成される請求項１乃至９のいずれか一つに記載の認証方法。
【請求項１１】
前記マッピングが、ユーザによる入力のエンコードされたバージョンが前記デバイスに入力されるのを可能にする請求項１０に記載の認証方法。
【請求項１２】
前記入力のエンコードされたバージョンを離れた所にあるコンピュータ資源に伝送するステップを備えている請求項１１に記載の認証方法。
【請求項１３】
前記電子デバイスは、モバイルフォン、タブレットコンピュータ、決済端末、携帯可能なコンピュータデバイス又はパーソナルコンピュータである請求項１乃至１２のいずれか一つに記載の認証方法。
【請求項１４】
電子デバイスと、前記電子デバイスと関連づけられた表示画面とを備え、
前記電子デバイスは、動作可能な、スクランブルされたキーパッドを生成して前記表示画面の表示領域内に用意し、前記表示領域の少なくとも一部にスクランブルされていないキーパッドの画像を表示させて、ユーザが前記画像を介して前記キーパッドの少なくとも一つの動作可能なキー動作させることができるように構成されている認証システム。
【請求項１５】
前記請求項１乃至１３のいずれか一つに記載された認証方法を実施するように構成されている請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概略的に述べると、ユーザ認証の技術分野に関するものである。本発明は、ユーザがある操作を行う前に、有効化されている識別子又は識別コード（例えばＰＩＮやパスワードなど）を入力することが必要とされる状況で使用するのに好適である。上記の操作は、如何なるタイプの操作であってもよい。本発明はまた、スマートフォンやタブレットコンピュータ（これらに限定されるものではないが）等のモバイルデバイスでのユーザの認証にも適している。
【背景技術】
【０００２】
認証技術は、何らかのデバイス、建物、コンピュータシステム、金融口座、サービス等の管理されたリソース（資源）に対して何らかの行為を行うことの許可、又は当該リソースにアクセスすることの許可を得るのに先だって、個人の身元（identity）及び／又は権限を確認することが必要とされる種々の状況で用いられる。
【０００３】
1つの共通な認証へのアプローチは、符号（code）や複数のシンボルの組み合わせ等からなる、予め選択された何らかの識別子を登録し、それを、機密が保持された場所に秘匿した状態に保って、権限を有する関係者のみが利用し得るようにしておくことである。便宜のために、本明細書においては、識別子を、個人識別コードＰＩＣ（Personal Identification Code）と呼ぶことにするが、識別子は、他の形態のものや、記号や符号の組み合わせからなっていてもよく、数字だけに限定されるものではないことに留意することが重要である。本明細書で用いる‘ＰＩＣ’という語により、ユーザ認証の形式やフォーマットに関して、発明が限定されると解釈すべきではない。
【０００４】
登録されて許可された個人（又は個人のグループ）に識別子が割り当てられた後、ユーザは、リソース又はサービスに対して管理されている行為又はアクセスを行うための許可を求める毎に、正しい識別子を提示することが要求される。ユーザが入力した識別子は、予め記憶されたバージョンの識別子と比較される。入力された識別子が記憶された識別子と一致している場合には、そのユーザの識別子が認証されたとみなされて、アクセスが許可される。入力された識別子が予め記憶されたバージョンの識別子に一致していない場合には、アクセスが拒否される。
【０００５】
特に、銀行取引や金融関係の手続に関しては、ＰＩＮ（暗証番号や個人識別番号）の使用がありふれたものとなっている。顧客は、ＰＩＮに基づいた認証を使用することになれており、またこの認証に信頼を置いている。ＰＩＮに基づく認証は、署名などと比べてより確実に照合を行うので、金融機関にも好まれている。更にまた、商取引がＰＩＮによる認証を必要とする場合、その商取引から生じた詐欺行為に対する責任は、そのＰＩＮを入力したユーザにあるとみなされる。これは、オンラインによる取引のような、金融機関に責任がある、カードを介在させない取引とは対照的である。
【０００６】
他の認証方法には、虹彩パターン、掌紋、あるいは指紋などの個人に固有の身体的又は行動的な特徴に関する生物的データ（バイオメトリックデータ）を得るためのデバイスを用いることが含まれる。生体認証の利点は、ユーザがパスワードやコードを記憶する必要がなく、必要とされる情報は、個人が生まれつき身に備えているものであるため、ユーザがどこに行こうとも、トークン（token）などの余計なハードウェアを持ち歩く必要がないということである。従って，生体認証は、エンドユーザにとって魅力的な、便利で簡単な認証についての解決策を提供する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】ＷＯ ２０１４／０１３２５２号公報
【特許文献２】ＥＰ １６１５１８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、生体認証は、その魅力にもかかわらず、銀行業界などのいくつかの業界では広く採用されるようになっていない。その理由の一つは、銀行業界のインフラが４桁のＰＩＮに適合するようになっていることにある。これには、決済（支払）端末（payment terminal）、ＡＴＭ，切換器，承継銀行及び発行銀行双方における装置が含まれるが、ＰＩＮに基づく認証から生体認証に移行するためには、これらの装置を交換するためにかなりの費用がかかることになる。また、生体認証データのセキュリティに関しては、そのデータが公開の場所から取得される可能性もあるのではないかという他の懸念が生じ得る。例えば、指紋は、公の場所から盗み出すことができるかもしれ乃至、声は、録音されることがあり得る。更に、個人が指紋や虹彩パターン等の生体データを変えることは不可能であるが、記憶されたＰＩＮ又は識別子を変えることは容易である。
【０００９】
これらの懸念は、認証を行う際に以下に示す要素を２以上用いる２要素認証（two-factor authentication）又は３要素認証（three-factor authentication）を使用することにより少なくすることができる。
＊ユーザが知っているもの（例えば暗証番号やパスワード）
＊ユーザに固有のもの（例えば、指紋、網膜パターン、顔又は声紋）
＊ユーザが所有しているもの（例えばスマートカード、セキュリティー・トークン（security token）,モバイル装置）
【００１０】
従って、暗証番号による認証と、ユーザが所有するデバイス又はユーザが運用するデバイスによる認証との双方をユーザに要求するシステムによれば、強化されたセキュリティがもたらされるだろう。
【００１１】
モバイル技術に関して、ますます多くの人々が、スマートフォンやタブレットコンピュータ等の携帯情報端末(handheld computing device)を、銀行取引のように、本人の認証に慎重を期する必要がある業務に使用するようになっている。しかし、このようなデバイスは、安全とは到底言えないものであり、パスワードや、ＰＩＮs や他の大切な認証データが第三者により漏洩される可能性がある。従って、モバイルデバイスで使用された場合でも安全な認証手法を提供することが重要な課題となる。
【００１２】
上記の課題の解決策の一つがＷＯ２０１４／０１３２５２に開示されている。ＷＯ２０１４／０１３２５２は、サーバーからユーザのデバイス（ＰＣ，モバイルフォン，タブレットなどのデバイス）へスクランブルされたキーパッド（keypad）の画像を送信するという考え方を教示している。キーパッドとしての機能を果たす動作可能なキーパッド（operable keypad）がユーザのデバイスで生成され、この動作可能なキーパッドと同じ位置に、キーバッドの画像が表示される。スクランブルされたキーパッドの画像が動作可能なキーパッドの上に重ねて表示されることにより、動作可能な（操作可能な）キーパッドは視界から隠されるが、背後では依然としてキーパッドとして機能することが可能になっている。下層にあって隠されている動作可能なキーパッドのキーの位置は、画像に見えている同じキーの位置とは一致していない。ユーザには、キー位置がスクランブルされたキーパッドの画像のみが見えるため、ユーザが入力するデータを選択するためにその画像の一部にタッチするか又はその画像の一部をクリックしたときに、動作可能なキーパッドは、入力データをユーザが入力したデータとは異なるデータとして読み取って、ユーザの入力データのエンコード（符号化）されたバージョンをデバイスのメモリに記憶させる。従って、ユーザの真の識別子（例えば暗証番号）がキーボードバッファ（keyboard buffer）又はデバイスの他の箇所に入力されることは絶対になく、その識別子がデバイスから不正に取得されることはあり得ない。エンコードされた識別子は、キーパッド画像に表示されたキーの順序を知っているリモート・サーバー（remote server)に送信され、ユーザが入力したデータをデコード（復号化）することを可能にする。実際には、キーパッド配列相互間のマッピングが作成され、このマッピングが識別子のエンコードとデコードとの双方に使用される。この解決策は、他の認証技術に勝る有意な利点をもたらす。何故なら、ユーザに異なる識別子を記憶させたり、他の特別なハードウェアを使用させたりする必要がなく、またユーザの真の識別子が安全でないデバイスに記録されるのを避けることができるからである。
【００１３】
欧州特許出願第１６１５１８１公開公報は、ランダムな文字列を画像生成器（image generator）に供給する認証方法を開示している。画像生成器は、ランダムなストリング（文字列）（string）を受け取って、クライアントの端末に表示するのに適した画像データを生成する。この画像データは、端末の表示を変化させてユーザに複数の文字を提示するために用いられる。ユーザは、文字を選択することにより自らのＰＩＮを入力する。ユーザが選択した各入力データは、位置データ（例えば第１行，第２列のようなデータ）としてクライアントの端末により記憶される。この位置データは、次いでクライアントの端末により、例えば数字２のような文字データに変換される。ＷＯ２０１４／０１３２５２の構成とは異なり、入力時の符号化を行うために覆い画像により隠される動作可能なキーボードは用いられない。その代わりに、位置データを後処理して、ユーザの入力データをエンコードされたバージョンとするために、特別に作成されたアルゴリズムが用いられる。
【００１４】
本明細書では上記の解決策とは異なる解決策を提案する。
【課題を解決するための手段】
【００１５】
本発明によれば、添付された請求の範囲で規定された通りの認証についての解決策が提案される。
【００１６】
本発明によれば、照合方法が提供される。この照合方法は、管理されたリソース（資源）にアクセスすることを許可する前に、ユーザ本人の確認又は認証を行うために用いられる。管理されたリソースは、物理的なリソースでもよく、仮想的、電気的又はデジタル的なリソースであってもよい。本発明によれば、セキュリティが強化された解決策が提供される。
【００１７】
本発明は、スクランブルされた動作可能なキーパッドを生成して、電子デバイス（electronic device）と関係がある表示画面（スクリーン）の表示領域内に前記キーパッドを形成するステップと、前記表示領域の少なくとも一部にスクランブルされていないキーパッドの画像を表示させて、ユーザが前記画像を通して前記動作可能なキーパッドの少なくとも一つのキーを操作することができるようにするステップとを備えている。
【００１８】
上記のようにして、同じ画面の同じ表示領域に前記画像とキーパッドとが生成される。ユーザは、画像の一部を選択することにより識別子を入力することができる。これにより、ユーザの識別子のエンコード（符号化）されたバージョンが生成されて、動作可能なキーパッドにより前記デバイスに入力される。このようにすると、識別子のエンコード又は解読を行うために、識別子又はその位置データを後処理で変形したり加工したりする必要がなくなる。
【００１９】
好ましい態様では、コード（プログラム）の一部を呼び出すことにより、スクランブルされた動作可能なキーパッドがランタイム（run-time）で生成される。スクランブルされた動作可能なキーパッドはデバイスに標準として設けられたサブルーチンにより生成することができる。前記画像に描写されるキーパッドは、デバイスに標準の（デフォルトの）キーパッドであってよい。動作可能なキーパッドは、イベント・ハンドラー（他のプログラミングの専門用語ではイベント・リスナーと呼ばれる。）からなっていてもよい。イベント（event）は、キーボード・イベント(keyboard event)でもよく、タッチスクリーン・イベント(touchscreen event)或いは他の入力関連のイベントであってもよい。
【００２０】
上記画像は、デバイス内で生成してもよく、離れた所にあるコンピュータ資源（computing resource）からデバイスが受信してもよい。離れたところにあるコンピュータ資源は、例えばサーバーである。
【００２１】
動作可能なキーパッドは、乱数、疑似乱数又はユーザに関連する生体データを用いることにより得られるキーパッド配列を用いて生成することができる。動作可能なキーの配列順序は、少なくとも一部が、ユーザから得られた生体データ（バイオメタリックデータ）、即ちユーザと関連している生体データを用いて決められる。上記生体データは、動作可能なキーの順序を特定するために用いることができる１以上の数字やシンボル等のストリング(strings)、アレイ（arrays）又はシーケンス（sequences）を提供するように処理されたものでもよい。
【００２２】
本明細書においては、「生体データ」という語を、ユーザから直接取得したデータ（即ち、何らかのセンサにより取得された生の生体データ）を意味する語として用いることがある。また上記の語は、生体データを取得して処理する過程で得られた生体データを意味することもある。例えば、生体データは、生体認証プロセスを行った直後に得られて、処理が施されたデータであってもよい。
【００２３】
複数の動作可能なキーパッドを発生させることができる。複数のキーパッドのうちの少なくとも一つは、スクランプルされたキーパッドである。複数のキーパッド画像を発生させることができる。複数のキーパッド画像のうちの少なくとも一つは、スクランプルされていないキーパッドの画像であってもよい。
【００２４】
スクランブルされていないキーパッドの画像に示されたキーと、動作可能なキーパッドのキーとの間の関係を与えるマッピングを生成することができる。このマッピングにより、ユーザによる入力データのエンコードされたバージョン（エンコードバージョン又は符号化バージョン）が電子デバイス（electronic device）に入力されるのを可能にする。電子デバイスへの入力方法は、入力データのエンコードされたバージョンを離れた所にあるコンピュータ資源に送信する過程からなる。
【００２５】
電子デバイスは、プロセッサを有し、計算機能を有するデバイスであれば如何なるものでもよい。電子デバイスは、携帯端末（handheld computing device）であってもよい。携帯端末は、携帯電話、タブレットコンピュータ、決済端末(payment terminal)、ラップトップコンピュータ、携帯型コンピュータ、又はパーソナルコンピューター等であってよい。
【００２６】
また本発明によれば、本明細書に記載される方法を具体化する種々の実施形態を実現するように構成されたシステムが提供される。本発明との関係で説明される特徴はすべてこのシステムに適用することができるし、システムに関して説明される特徴もまた本発明の方法に適用される。
【００２７】
本発明に係る認証システムは、電子デバイスと、この電子デバイスと関連づけられた表示画面（screen）とを備えている。上記電子デバイスは、スクランブルされた動作可能なキーパッドを生成してこのキーパッドを前記表示画面の表示領域内に表示させるとともに、前記表示領域の少なくとも一部にスクランプルされていないキーパッドの画像を現出させて、ユーザがこの非スクランブルキーパッドの画像を通して前記動作可能なキーパッドの少なくとも一つのキーを操作することを可能にするように構成されている。
【００２８】
本発明の１以上の実施形態においては、ＷＯ ２０１４／０１３２５２に開示された装置又は方法と一部同じ構成を備えた装置又は方法により発明が構成される。しかしながら、ＷＯ ２０１４／０１３２５２に開示された構成においては、複数のスクランブルされたキーパッド配列が、リモート・サーバーから当該複数のスクランブルされたキーパッドを生成するために用いる電子デバイスへと送信される。またＷＯ ２０１４／０１３２５２は、スクランブルされた画像を動作可能なキーパッドの上に重ねて用いることを開示している。
【００２９】
これに対し、本発明においては、キーパッド画像がスクランブルされていないキーパッドを描写する。複数のキーパッド画像を生成して、１以上のスクランブルされたキーパッドの上で用いるようにすることができる。複数のキーパッド画像のうちの１以上の画像は、スクランブルされたキーパッドを描写していてもよいが、複数のキーパッド画像のうちの少なくとも一つは、スクランブルされていないキーパッドを描写する。動作可能なキーパッドの上に重ねて表示するキーパッドの画像をスクランブルされていない画像とすることにより、ユーザに提示されるキーパッド配列を慣れ親しんだ配列とすることができるという利点が得られる。これにより、スクランブルされたキーパッドの画像を用いる場合に比べて、ユーザが犯す入力の誤りが少なくなるという結果が得られる。
【００３０】
キーパッド画像がスクランブルされていないため、デコード（復号化）を行うためには、スクランブルされていないキーパッド画像とスクランブルされた動作可能なキーパッドとの間のマッピングをリモート・デバイス（サーバー）に知らせておくか、又はリモート・デバイスに通信で知らせる必要がある。従って、スクランブルされていないキーパッド画像を用いることにより、本発明で解決しなければならないいくつかの重要な問題が生じる。
【００３１】
キーパッド画像及び動作可能なキーパッドの双方が複数生成されてもよいし、キーパッド画像又は動作可能なキーパッドのいずれかが複数生成されてもよい。しかし、少なくとも一つのキーパッド画像は、スクランブルされていないキーパッドを描写して、スクランブルされた動作可能なキーパッドの上に生成され、キーパッド画像中の「キー（複数）」とその下層にある動作可能なキーパッドの機能キー（複数）との間のマッピングが行われる。
【００３２】
本明細書において、「スクランブルされていない」という語は、画像に描出されたキー（複数）の配列順序が標準のフォーマット又は形態に従っているという意味に解釈してよい。キーパッド画像内に描出されている「キー」の配列順序は、ユーザが予測する通りのものであってもよい。従って、それぞれのキーに割り当てられる値（value）は、連続していてもよい。キーは昇順に配列されていてもよく、降順に配列されていてもよい。
【００３３】
これに対し、「スクランブルされた」という語は、キーの配列順序が乱されているか、または何らかの形で、デフォルトの配列順序や、標準の配列順序や予想される配列順序とは異なっているとの意味に解釈してよい。標準の配列とはデバイスとの関係で標準的な配列であるということである。スクランブルされたという語は、キーパッド内のキー（複数）の配列が標準の配列に対して変更されていることを意味する。標準のキー配列は、デバイスで本来採用されている配列又はデバイスに標準として設けられているキーの配列により特定される。
【００３４】
画像は、ユーザの電子デバイスで生成されてもよく、別のリソースから当該デバイスに向けて送信されて、当該デバイスにより受信されてもよい。
【００３５】
１以上のキーパッド配列を離れた所にあるコンピュータ資源（例えばサーバー）からデバイスに送信するようにしてもよい。この１以上のキーパッド配列を動作可能なスクランブルされたキーパッドを生成するために用いることができる。このキーパッド配列は、ファイル名でデバイスに送信することができる。
【００３６】
また上記に加えて又は上記の代わりに、１以上のスクランプルされたキーパッド配列を電子デバイス側で又は電子デバイス自身で生成するようにしてもよい。上記少なくとも一つのスクランブルされたキーパッド配列は、少なくとも一つの動作可能なキーパッを生成するために用いることができる。キーパッド画像及び／又は動作可能なキーパッドを電子デバイスで又は電子デバイス側で生成することができる。
【００３７】
上記の作業は離れた所にあるリソースに負担させるよりもローカルな（手元の）デバイスに負担させるのが有利である。これによりデバイスにキーパッド配列を伝送する必要性をなくすことができる。
【００３８】
上記動作可能なキーパッドは、関数や方法や手順などのサブルーチンを電子デバイスで実行することにより生成することができる。上記サブルーチンは、ライブラリーの一部であってもよい。ライブラリーは、電子デバイスに標準として備えられているものでよい。サブルーチンを実行することにより、電子デバイスに設けられている揮発性メモリ内にキーパッドオブジェクトを生成させることができる。キーパッドオブジェクトは、機械的なキーパッドのヴァーチャルな、電子的モデルである。動作可能なキーパッドはプログラムの実行時に生成される。
【００３９】
前記「電子デバイス側で又は電子デバイス自身で生成する」（電子デバイス上で又は電子デバイスで）という語は、スクランブルされたキーパッドの形態を、電子デバイスと物理的に又はワイヤレスで接続されることにより電子デバイスと関連づけられた１以上のデバイスにより生成するか、又は電子デバイスそれ自体により生成するとの意味に解釈することができる。従ってスクランブルされたキーパッド配列は、離れた所にあるリソース（サーバ）から受信されるというよりはむしろ電子デバイス（クライアント）のためにローカル的（手元で）に生成されるものである。
【００４０】
本明細書では、「キーパッド配列」という語を、キーパッド内にあるキーの順序や配列又は位置に言及するために用いている。また「キーパッド配列」という語を、キーパッド画像内に表されたキーの順序に言及するために用いることもあるが、画像が動作可能なキーを実際に備えているわけではないということに注意すべきである。
【００４１】
スクランブルされたキーパッド配列は、電子デバイスで又は電子デバイス側でソフトウェア・コンポーネント（software component）により生成するのが好ましい。このソフトウェア・コンポーネントをキーパッド生成要素ＫＧＣ（keypad generation component）と呼ぶことがある。上記ソフトウェア・コンポーネントは、キーパッド画像及び／又は動作可能なキーパッド（複数）を生成するように構成することができる。
【００４２】
また上記の構成に加えて、又は上記の構成に代えて、ソフトウェア・コンポーネントを、スクランブルされた動作可能なキーパッド（複数）におけるキーの配列を規定するための１以上の配列を生成するように構成することもできる。キーパッド生成要素は、暗証番号入力機器ＰＥＤ（Pin Entry Device）を生成するように構成することができる。これは、ヴァーチャルな、非実体的なＰＥＤであってもよい。上記キーパッド生成要素は、リモート・リソース、即ち電子デバイスから離れている所にあるリソースからダウンロードした後、電子デバイスにインストールされる。リモート・リソースはサーバーであってよい。このリソースはクラウドベースのリソースであってもよい。
【００４３】
ソフトウェア・コンポーネントは、ある入力データを受信するように構成される。ソフトウェア・コンポーネントは、キーパッド画像及び／又は動作可能なキーを生成するために用いる１以上のキーパッド配列を受信した入力データを用いて生成するように構成することができる。上記入力データは、疑似乱数又は真の乱数であってもよく、ユーザに関連した生体データであってもよい。当該ユーザは電子デバイスと関係を有していても、いなくてもよい。
【００４４】
キーパッド画像は、キーパッドを描出したものでよい。キーパッド画像は静止画像でもよく、動画像であってもよい。またキーパッド画像は、透かし画像であってもよい。キーパッド画像は、キーパッドに似せたものであるが、キーパッドとしての機能は備えていないという点で動作可能なキーパッドとは異なるものであり、動作可能なキーパッドとは区別されるべきものである。従って、キーパッド画像の一部に「キー」が描出されていて、ユーザには画像の一部がキーを表しているように見えはするが、画像自体は動作可能な特性を何等有しない。従って、キーパッド画像の一部のクリック、当該画像の一部へのタッチ、当該画像の一部の選択それ自体によっては、電子デバイスにより受信される入力がもたらされることはない。少なくとの一つの実施形態においては、キーパッド画像が正当なソースにより提供されたものであることをユーザに視覚的に確信させるために、キーパッド画像に描出された１以上のキーを色分けするか、透かし画像とするか、又はタグを付することにより識別する。
【００４５】
これに対し、動作可能なキーパッドは、キーパッドであることを当業者に思わせる機能性と特性とを備えている。従って動作可能なキーパッドは、複数のキー又はボタンを備えている。キーパッドは、各キー又はボタンが、各キー又はボタンに割り当てられた‘バリュ−’（値）（各キーを識別する役割を果たす数字、文字又は他のシンボル等）を持つように構成される。キーへのバリューの割り当ては、通常はキーパッドを作成する際に（プログラムの実行時にサブルーチンが起動された際に）行われるが、キーパッドを変更可能な仕様とする場合には、キーパッドを作成した後に割り当てが行われる。いずれの場合にも、キーへのバリューの割り当てはユーザが入力を行う前に、例えばユーザが提示されたキーを選択する前に実行され、予め割り当てられたバリューが電子デバイス内のメモリの一部に入れられる。メモリーの一部は、キーボードバッファであってよい。
【００４６】
本発明は、ユーザがキーパッド画像を通して動作可能なキーパッドの１以上のキーを操作することにより、電子デバイスへの入力を行うことを可能にする。キーパッド画像は、動作可能なキーパッドの上に重ね合わされている。これは、動作可能なキーパッドが表示画面の表示領域内に設けられてはいるが、キーパッド画像の少なくとも一部が同じ領域に表示されているために、動作可能なキーパッドがユーザの視界から隠されているということを意味している。動作可能なキーパッドは、ユーザには見えないが、背後にあって入力に備えている。好ましい態様では、キーパッド画像が動作可能なキーパッドを完全に隠しているため、ユーザには動作可能なキーパッドが見えるように思われても、実際にはキーパッド画像が見えるだけである。好ましい態様では、下に隠れているキーパッドの動作可能なキー上のシンボルの位置が、キーパッド画像に示されている対応するキーの位置に一致しないようになっている。これは、キーパッド画像がスクランブルされていないキーパッドを示しているのに対し、下層のキーパッドはスクランブルされているからである。別の言い方をすると、動作可能なキーパッドの配列は、キーパッド画像に示されたキーパッドの配列と同じではない（一致していない）ということである。従って、ユーザがキーパッド画像内でキーのように見えている部分を選択した際に、その表示領域内で機能する動作可能なキーパッドは、デバイスのメモリに入力されたシンボルとは異なるシンボルを入力する。このようにして、ユーザの実際の（ユーザが意図した）入力データがデバイスのメモリの如何なる部分にも絶対に入力されることがないようにされる。ユーザが意図した入力は、キーボードバッファにより受信されることも絶対にない。キーパッドの生成のため及びキーパッド画像の生成のためにそれぞれ用いられた異なる配列の間のマッピングにより、エンコードされたバージョンの識別子が創出される。
【００４７】
この特徴により得られる有意な利点は、電子デバイスに権限を持たずにアクセスした者によりユーザの真の入力データが取得されることがあり得ないということである。本発明はまた、位置データや識別子等のデータをユーザから受け取ってメモリに記憶させてから、そのデータをユーザ入力のエンコードバージョンに置き換える公知の解決策よりも格段に優れている。
【００４８】
認証を行っている間１以上の動作可能なキーパッドを電子デバイスで生成させるようにしてもよい。また上記のように構成した上で更に、又は上記のように構成する代わりに、認証を行っている間、１又は複数のキーパッドの画像を生成させるようにしてもよい。１以上のキーパッドは一つのスクランブルされたキーパッド配列から生成させるようにすることができる。
【００４９】
複数の動作可能なキーパッド及び／又はキーパッド画像を発生させることができる。これらは、シリーズ（series）、スタック（stack）、キュー（queue）その他のデータ構造で配列することができる。
【００５０】
複数のキーパッドの内の一つのキーボードが、ユーザからの入力を受け入れるための実動作可能なキーパッドとして指定又は選択される。実動作可能なキーパッドはキーパッド画像の下に設けられたキーパッドであるので、ユーザが表示画面上の画像の一部を選択したときにアクティブになっている動作可能なキーパッドが機能させられる。如何なる時点でも、アクティブになっている動作可能なキーパッドは一つだけであることが好ましい。複数の動作可能なキーパッドの内、他の動作可能なキーパッドは、アクティブな（実際に動作する）キーパッドとして指定されるまでの間休止状態又は不動作状態に置かれる。このように、複数の動作可能なキーパッドを生成してデータ構造内に置いておくことができる。時間がくるとアクティブなキーパッドとして指定する動作可能なキーパッドが切り換えられるように、データ構造が繰り返し変化させられる。アクティブなキーパッドの切換は、一定の期間が経過した後に有効にされるか、又はユーザからの入力の受信などのイベントが行われた後に有効にされる。従って、ユーザからの入力があった後、実際に動作するキーパッドは、複数の動作可能なキーパッドの内の他のキーパッドに置き換えられる。これまで動作していたキーパッドは、それが無効にされた後は、メモリから削除されてもよく、又は除去されたもとして識別されてもよい。このように、特定の動作可能なキーパッドを用いて行われた入力（キー操作）が受信された後に、その動作可能なキーパッドを電子デバイスから削除するようにすることができる。
【００５１】
予め生成された複数の動作可能なキーパッドを順に使用する代わりに、必要に応じて各入力に備えて新たな動作可能なキーパッドを生成するようにしてもよい。新たに生成する動作可能なキーパッドは、他の動作可能なキーパッドとは異なる配列を持たせるようにするのがよい。新しい動作可能なキーパッドは、ユーザが入力を求めているときに生成するようにすることができる。例えば、識別子の長さが４桁である場合には、最初の入力の受信に備えて第１のキーパッドを用い、第２の入力の受信に備えて第２のキーパッドを用いるというようにして、全４つの入力に対して新しい動作可能なキーパッドを用いるようにすることができる。
【００５２】
更に、複数の動作可能なキーパッドに加えて、又は複数の動作可能なキーパッドの代わりに、変化させることが可能なキーパッドを用意しておくようにすることもできる。変化が可能な動作可能キーパッドの配列は、ユーザからの入力の受信のようなイベントが行われた後、若しくは当該イベントが行われた際、又は当該イベントが行われてから一定の時間が経過した後に変更するようにすることができる。このようにすれば、同じ動作可能なキーパッドを有効なキーパッドのままとしておいても、キーパッドの配列を変化させることができる。スクランブルされたキーパッドの配列を、そのキーパッドの異なる配列を決定するために用いることができる。
【００５３】
スクランブルされたキーパッドの配列は、真の乱数又は疑似乱数を発生する乱数発生器を用いることにより発生させることができる。真の乱数又は疑似乱数（以下単に乱数という。）は、キーパッド発生コンポーネントと呼ばれるソフトウェア・コンポーネント（ソフトウェア部品）に入力として供給される。ソフトウェア・コンポーネントへの入力データとして乱数を用いると、ユーザが本発明を用いる毎に異なるキーパッドの配列が生成される。
【００５４】
乱数は、電子デバイスのためにローカルに（電子デバイス側で）発生させるのが好ましい。乱数は、電子デバイスのプロセッサで発生させてもよく、電子デバイスと有線又は無線でローカルな通信を行うデバイスを用いて発生させてもよい。このように、乱数は、電子デバイスに組み込まれたデバイスにより発生させてもよく、ブルートゥース（登録商標）、ＮＦＣ等のワイヤレスのプロトコルで電子デバイスに接続されたデバイスにより発生させるようにしてもよい。
【００５５】
スクランブルされたキーパッド配列は、ユーザと関係する生体データを用いて発生させるようにしてもよい。この生体データは、種々の方法により発生又は取得することができる。上記の乱数発生器と同様に、生体データは、電子デバイスにより発生させるか、又は電子デバイス向けにローカルに発生させるのが好ましい。生体データは、ユーザの肉体的又は行動的属性に関する任意の形のデータからなっていればよい。生体データは、指紋や虹彩パターン等に関するデータ、又は指紋や虹彩パターン等から得られたデータとすることができる。生体データは、生体データ取得装置により取得された生の（未加工の）生体データから得ることができる。本発明は、生体データの形態や、生体データを収集する方法又は処理する方法によっては限定されない。種々の生体データ取得システム及び生体データ解析システムが知られており、種々の生体データ取得システム及び生体データ解析システムが本発明に関して用いるのに適していると思われる。
【００５６】
生体データは、ユーザに固有のデータ列（sequence）、即ち識別子を得るために処理される。データ列は、数字又は文字の連なりであればよい。このデータ列は、電子デバイスにより発生させられる又は電子デバイス側で発生させられる１以上の動作可能なキーパッド及び／又はキーパッド画像におけるキーの順序を特定するために、ソフトウェア・コンポーネント（ＫＧＣ）に供給される。従って、ソフトウェア・コンポーネントへの入力として生体データを用いる場合には、本発明を同じユーザにより実施する場合に毎回同じキーパッド配列が生成される。
【００５７】
生体データは、キーパッドの配列に影響を及ぼすために用いられるシード（seed）を発生させるために用いられる。キーパッド配列を生成するソフトウェアへの入力データとして、生体データに加えて、又は生体データの代わりに他の何らかの形態のデータを用いることができる。このデータは、ユーザの生体データ又はユーザの生体データにある程度関連しているデータから得ることができる。このデータは例えば暗号鍵とすることができる。暗号鍵は、キー配列発生コンポーネントに入力するためのシード（seed）を発生させるために用いることができる。暗号鍵はユーザと関連する個人用の暗号鍵又は公開鍵、及び／又はユーザと関連するデジタルウォレット（digital wallet）であってもよい。デジタルウォレットは電子デバイスに記憶させておくことができる。暗号鍵は、生体認証プロセスを行う間、又はユーザの生体データの取得を含む登録プロセス（registration process）を行う間発生させておく。例えば、公開用暗号鍵及び個人用暗号鍵は、ビットコイン（Bitcoin） その他の暗号通貨ウォレット（cryptocurrency wallet）のデジタルウォレットの作成、セットアップ又は登録を行う間発生させておく。
【００５８】
前記電子デバイスは、モバイルデバイス及び／又は携帯デバイス、例えば、スマートフォン、タブレット、決済端末（payment terminal）、決済カードリーダー（payment card reader）又はスマートカードリーダー（smart-card reader)等であってよい。これらに加えて、又はこれらに代えて、ユーザと関係がある又はユーザとともに登録されているパーソナルコンピュータデバイス（personal computing device）を前記電子デバイスとしてもよい。これにより、本発明は、ＡＴＭのような非個人的なコンピュータデバイスで用いるように設計された従来技術による構成とは区別される。本明細書では、「パーソナルコンピューターデバイス」という語を、個人と関係し、個人に対して登録され、及び／又は個人により所有されている、ＰＣ，ラップトップコンピュータ、モバイルフォン、タブレットコンピュータ等の電子計算装置（electronic computing device）を意味する語として用いる。
【００５９】
動作可能なキーパッド及び（又は）キーパッド画像は、ユーザによる入力が１回以上行われた後に、又は設定された時間が経過した後にデバイスから消去されることが好ましい。表示画面上の表示領域の位置及び／又はその寸法は、プロシージャコール（procedure call）又はメソッド・コール（method call）等のサブルーチンにより規定することができる。表示領域は、複数のサブ領域（sub-zones）からなっていて、各サブ領域がキーパッドの一つのキーに対応している。サブ領域を「ホットスポット」と呼ぶこともある。従って、表示画面上の特定のホットスポットを選択することにより、アクティブになっている動作可能なキーパッドのキーを動作させて、エンコードされた入力データをメモリに格納することができる。
【００６０】
本発明の方法は、ユーザの識別子のエンコードされたバージョンを電子デバイスと関連づけられたメモリに記憶させるステップを備えていることが好ましい。識別子はキーパッド画像を介して動作可能なキーパッドにより受信されるので、ユーザの識別子がエンコードされない形でデバイスに記憶されることは絶対にない。
【００６１】
上記の方法は、キーパッド画像を通して動作可能なキーパッドにより電子デバイスに入力された識別子のエンコードされたバージョンを記憶するステップと、当該識別子のエンコードされたバージョンを離れた所にあるコンピュータ資源（remote computing resource）に送信するステップとを備えている。
【００６２】
スクランブルされたキーパッドの配列を、離れた所にあるコンピュータ資源に送信するようにすることができる。複数のスクランブルされたキーパッド配列を離れた所にあるコンピュータ資源に送信するようにすることもできる。離れた所にあるコンピュータ資源（例えばサーバ）は、ユーザの識別子のエンコードされたバージョンをデコードする。ユーザの識別子のエンコードされたバージョンをデコードするために、１以上のスクランブルされたキーパッド配列を用いることができる。
【００６３】
本発明は、ユーザの識別子の各バリュー（value）に対して１つのキーパッド配列を発生させるように構成することができる。このキーパッド配列に加えて更に一つのキーパッド画像を発生させる際に用いるキーパッド配列を発生させることもできる。
【００６４】
本発明はまた、上記の方法を実行するように構成された電子計算装置を提供する。本装置は、表示画面と、上記の方法のいずれかのバージョンを実行するように構成された少なくとも一つのソフトウェア・コンポーネントとを備えている。表示画面はタッチスクリーンとすることができる。
【００６５】
本装置は、真乱数発生器及び／又は疑似乱数発生器と、ユーザの生体データを取得又は発生させる手段及び／又はスマートカードからデータを読み取る手段とを備えるか、これらと関わり合いを持つか、又はこれらと通信を行うように構成される。スマートカードは、決済カード（payment card）であってよい。このカードは任意のタイプのＩＣカードであってよいが、ＳＩＭカードではない。
【００６６】
本発明はまた、個人と関係がある生体データを用いてキーパッド配列を生成するステップと、そのキーパッド配列を用いて動作可能なキーパッド及び／又はキーパッド画像を生成するステップとを備える照合方法を提供する。本発明の態様にも、前述した特徴部分のいずれか又はすべてを適用することができる。複数のキーパッド画像を生成することができるが、少なくとも一つの画像はスクランブルされていないキーパッドの画像である。
【００６７】
キーパッド配列は、スクランブルされたキーパッド配列であることが好ましい。この配列により特定されるキーパッドのキーの順序はデフォルトの配列又は標準の配列からは変更されている。
【００６８】
本発明の方法は、電子デバイスで、又は電子デバイス側で生体データを捕捉、発生又は受信するステップと、動作可能なキーパッド及び／又はキーパッド画像を電子でバイスで又は電子デバイス側で生成するステップとを備えることができる。
【００６９】
本発明は,また、タッチスクリーンと、決済カード又は他のＩＣカードを読み取るように構成された構成要素（component）と、個人に関係する生体データ及び／又は真の乱数若しくは疑似乱数から少なくとも一つのキーパッド配列を生成して、この少なくとも一つのキーパッド配列を用いてキーパッド画像及び／又は動作可能なキーパッドを生成するように構成されたソフトウェアとを備えた電子決済装置を提供する。
【００７０】
決済カード又は他のＩＣカードは電子デバイスにとっては別物である。カードは電子デバイスから物理的に独立したものであってよい。このカードは例えば銀行のカードやクレジットカードのような金融カードである。カードはデバイスに機能を付与しなくてもよい。このカードは、ＳＩＭカードとは異なるものであってよい。
【００７１】
また、本発明によれば、電子デバイスと関連づけられた表示画面の一領域内で、第１の動作可能なキーパッドの上にスクランブルされていないキーパッドを表示させるステップと、第１の動作可能なキーパッドを用いてユーザの第１のキー操作を受け入れるステップと、他の少なくとも一つのキーパッドを用いて少なくとも一つの他のキー操作を受け入れるステップとを備えて、第１の動作可能なキーパッドのキー配列及び／又は他の少なくとも一つの動作可能なキーパッドのキー配列と、キーパッド画像のキー配列との少なくとも一方を、電子デバイスで得られた入力系列（input sequence）又は電子デバイス向けにローカルに取得された入力系列を用いて決定する照合方法が提供される。
【００７２】
前述した特徴部分は、そのいずれか又はすべてを本発明の態様にも適用することができる。
【００７３】
本発明の他の態様に関して既に説明されたように、スクランブルされていない画像をスクランブルされた動作可能キーパッドの上に重ねることができる。このようにして、スクランブルされていない画像が、動作可能なキーパッドの少なくとも一部を見えなくするマスク又はカバーを形成する。従って、ユーザが見ることができるのは、スクランブルされた動作可能なキーパッドではなく、スクランブルされていないキーパッドの画像であり、ユーザがスクランブルされていないキーパッドの画像の一部を選択したときにスクランブルされた動作可能なキーパッドが機能させられる。このようにして、本発明の方法によれば、ユーザの入力のエンコードされたバージョンがメモリ（例えばキーボードバッファ）により受信される。
【００７４】
複数の動作可能なキーパッドが電子デバイスで生成される。如何なるときでも、一つの動作可能なキーパッドがアクティブなキーパッドとして選択されるか又は用意される。アクティブなキーパッドは、デバイスにより、ユーザの次のキー操作（keystroke）を受け入れるようにされたキーパッドである。
【００７５】
入力系列（input sequence）は、疑似乱数とすることができる。疑似乱数に加えて、又は疑似乱数に代えて、ユーザに関連する生体データを用いて入力系列を発生させることもできる。
【００７６】
識別子のエンコードされたバージョンが作成される。エンコードされた識別子は、最初のキー入力を含んでいてもよい。またエンコードされた識別子は少なくとも一つの更に他のキー入力を含んでいてもよい。識別子は、コード（code）やパスワードであってもよく、ユーザと関連がある他の任意のタイプの識別子であってよい。
【００７７】
スクランブルされたキーパッドは、デフォルトの又は標準のキーパッドのキー配列に対してランダムな配列にした、即ちキーの配列順序を異ならせたキー配列を備えている。キーの配列順序を異ならせた動作可能なキーパッドは、ユーザから得られる各キー入力を取得するために用いることができる。複数存在するキーパッドの内の各動作可能なキーパッドは、独立し、他のキーパッドと区別し得る動作可能なキーパッドであるという意味で、他のキーパッドとは異なっている。代案として、動作が可能で、変更が可能なキーパッドを一つだけ生成して、各キー操作毎にキーの順序を変更するようにしてもよい。このように、複数のキーパッドは、異なるキー配列を有するという意味で互いに相違していてもよい。
【００７８】
電子デバイスは、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、あるいは決済端末のようなモバイルデバイス又は携帯デバイスである。電子デバイスは、ソフトウェアと、カードからデータを読み取る能力を有するハードウェアとの双方からなっていてもよく、これらのいずれか一方からなっていてもよい。カードは決済カードのようなＩＣカード又はスマートカードであってよい。カードは、電子デバイスの動作により支配されないものであってもよい。言い換えると、カードは、ＳＩＭカード等、デバイスの動作と密接な関係を有するカードではない。
【００７９】
２要素認証（two-factor authentication）の解決策を提供する態様として、本発明の１以上の態様を記載することができる。２要素態様は、以下の解決策を提供する。
１）ユーザのアイデンティティーを生体データを用いて検証し、且つ、
２）ユーザが取引を行うための認証を、正しい、事前に選択された識別子の入力により検証する。
【００８０】
説明を簡潔かつ明瞭にするため、本発明の一態様に関して上記で説明した特徴については、本発明の他の態様との関係では繰り返し説明しないということに注意すべきである。本発明の一態様に関して上記で説明された特徴的な構成はいずれも、本発明の他の態様にも同じように適用することができる。システムに関して記載された特徴的な構成は、方法についても適用することができるし、方法に関して記載された特徴は、システムにも適用することができる。
【００８１】
本発明の上記態様及び他の態様は、以下に記載される実施形態から明らかにされ、以下に記載される実施形態を参照することにより明確にされる。一例として、添付図面を参照して、本発明の一実施形態が記載される。
【図面の簡単な説明】
【００８２】
【図１】図１は、本発明の方法による一実施形態を示したフローチャートである。
【発明を実施するための形態】
【００８３】
本発明によれば、個人の身元（identity）を確認するために用いる確実な認証解決策が提供される。本発明は、本明細書には記載されていない、より広範な認証プロセスや認証システムの一部として用いることができる。
【００８４】
一実施形態においては、本発明が、ＷＯ２０１４／０１３２５２に記載の認証技術とは異なる構成とされる。ＷＯ２０１４／０１３２５２に記載の認証技術は、動作可能なキーパッドをユーザの視界から見えなくするためにモバイルフォンなどのユーザの電子デバイスにスクランブルされたキーパッドの画像を提供することを含む。従って、ユーザには、動作可能なキーパッドらしいものが見えはするが、それは機能性を有しない単なる画像にすぎない。本発明によれば、少なくとも一つのスクランブルされていないキーパッド画像が、スクランブルされた動作可能なキーパッドとともに用いられる。
【００８５】
画像の下にある動作可能なキーパッドは、複数のキー又はボタンを備えており、従来技術と同様に、これらには記号、符号などのシンボルが割り当てられている。動作可能なキーボードは、実キーボード（virtual keyboard）と呼ぶこともできる。ユーザは，自分の識別子を構成しているシンボルに一致するキーが描写されている画像の一部を選択することにより、ＰＩＮ、パスワード，又は個人識別コードＰＩＣ（Personal Identification Code)等の自分の識別子を入力する。画像の裏に生成されている動作可能なキーパッドは、ユーザのキー操作を検出して、キーバットの選択されたキーに割り当てられたシンボルをバッファに入力する。これにより、真の識別子のエンコードされたバージョンが生成されて、認証を行うリモート・サーバーに送信される。本発明では、いくつかの従来技術による構成で知られているように、ユーザの入力に関して変換処理を行ったり、エンコード処理を行ったりすることはないということに注目することが重要である。従来技術によるシステムでは、真の識別子が、エンコードされる前にキーボードバッファに入力される。このことは、権限を有しない団体がバッファを介してユーザの識別子にアクセスすることを可能にする。これに対し、本発明では、識別子の真のバージョンを、たとえ一時的であってもバッファに記憶させることはしないようにすることにより、上記の問題を回避する。
【００８６】
動作可能なキーパッドにおけるキーの配列順序は、キーパッド画像に表されたキーの配列順序とは異なっているため、ユーザの真の入力データがモバイルフォン等のメモリに入力されることは絶対にない。これにより、権限を有しない団体が携帯電話等から真の識別子を引き出すのを不可能にすることができるという重要な利点が得られる。更にまた動作可能なキーパッドのキー配列とキーパッド画像のキー配列との双方を知らない限り、如何なる者でも、エンコード（符号化）された識別子をデコード（復号）することはできない。
【００８７】
一実施形態においては，キーパッド画像及び／又は動作可能なキーパッド用のキー配列がユーザのデバイスで生成される。これにより，処理作業がサーバーからクライアント（ユーザ）のデバイスへと移管されるという利点が得られる。他の実施形態では、キーパッド画像及び／又はキー配列がデバイスからリモート・サーバへと送信される。更に他の実施形態では、デバイスで発生させたキーパッド画像／キー配列及びサーバから提供されたキーパッド画像／キー配列の双方が用いられる。
【００８８】
一実施形態においては、ユーザのデバイスにインストールされたソフトウェア・コンポーネントが入力データを受信する。ソフトウェア・コンポーネントは、その入力データを用いて１以上の動作可能なキーパッド用のキー配列を決定する。ソフトウェア・コンポーネントは、動作可能なキーパッド用のキー配列の決定に加えて、又は動作可能なキーパッド用のキー配列の決定に代えて、１以上のキーパッド画像に表されるキーの配列を前記入力データを用いて決定する。次いで、ソフトウェア・コンポーネントにより特定される配列を用いて動作可能なキーパッド及び／又はキーパッド画像が生成される。しかし、スクランブルされていないキーパッド画像が少なくとも一つは用いられる。
【００８９】
一実施形態においては、キー配列発生用のソフトウェア・コンポーネントへの入力データが乱数である。他の実施形態においては、その入力データがユーザと関係がある生体データである。生体データは、例えば指紋でよい。当業者であれば、如何なるタイプの生体データをも使用できることを容易に理解するであろう。本発明は、生体データの形態や生体データを取得する方法によって限定されることはない。
【００９０】
乱数を入力データとして用いる場合には、発明が用いられる毎に得られるキー配列が異なることになる。しかしながら、生体データを入力データとして用いる場合には、発明が用いられる毎に得られるキー配列が同じになるであろう。何故なら、指紋、網膜パターン等のユーザの生体データは一定であって、常に同じ入力データが得られるからである。
【００９１】
いずれの実施形態においても、入力データは、ユーザのデバイスで、ユーザのデバイスにより、又はユーザのデバイス側で発生させられる。換言すると、入力データは、離れた所にある資源（remote resource）により発生させられるのではなく、ユーザのデバイスに対してローカルに発生させられる。入力データは、ユーザのデバイスの一部を構成する１以上のコンポーネントにより発生させられるか、又はユーザのデバイスの近傍にあってユーザのデバイスに物理的又はワイヤレスなインターフェースにより接続されたコンポーネントにより発生させられる。
【００９２】
使用に際して、ユーザは、本発明を踏まえてシステムに登録する手続を行う。登録手続を行うと、ユーザのデバイスに、キー配列発生コンポーネントを含む必要なソフトウェアがダウンロードされる。本実施形態では、ユーザのデバイスをモバイルフォンとしているが、コンピュータ機能を備えた如何なる電子デバイスをも用いることができる。
【００９３】
ユーザが本人であることを検証する必要がある場合に、必要とされる入力データは、乱数発生器、又は生体データ取得装置のいずれかによって発生させられる。例えば、ユーザは、モバイルフォンの表示画面に指を押し付けたり、カメラを覗き込んだり、マイクロフォンに向かって話しかけたりすると、生体データ取得装置は、取得した生体特性を表す文字列（string）を発生する。
【００９４】
生体データ又は乱数（ストリング）は、次いでキーパッド生成コンポーネントに入力される。このコンポーネントは、入力されたデータを用いて複数のキーパッド配列を生成する。キーの配列が重複することがないようにするため、複数のキーボード配列のそれぞれにおけるシンボル又は数字の順序は、唯一通りのものであることが好ましい。キーパッドの配列は、乱数又は生体データのストリングから、それぞれのストリングから選択されたサブストリング（substring)を用いて発生させることができる。例えば、ストリングの最初の１０個の数字を最初の１０桁のキーパッドのキー配列のために用い、次の１０個の数字を二番目のキーパッドのキー配列のために用いる等である。従って、ソフトウェア・コンポーネントは、入力データのストリングが、キーパッド配列のために必要とする数のバリューを得るために十分な長さのストリングからなっていることを保証しなければならない。
【００９５】
数字‘０’乃至‘９’のキーからなるキーパッドを用いる一実施例においては、本発明により生成される各キー配列に１０個のバリュー（文字、数字、記号等）が存在する。この場合、発生させるキー配列の数は、ユーザの識別子を構成しているバリューの数に１を加えた数になる。これにより、ユーザが識別子を入力するために必要とされる各キー操作毎に発生させるスクランブルされた動作可能なキーパッド用のキー配列と、キーパッド画像用の一つのキー配列とを発生させることが可能になる。例えば、一例として、ユーザの識別子が４桁の数字からなっている場合、キー配列生成用コンポーネントは、識別子の各桁に用いる数字と、ユーザが目視することになる画像を生成するために用いる一つのキー配列とからなる５個のキー配列を生成する。
【００９６】
如何なる時でも、アクティブになっている（有効になっている）動作可能なキーパッドは唯一つだけである。従って、ユーザがキーパッド画像上のあるキー（キーとして見えている部分）を選択した時に、ユーザの入力を検出することができるのは、アクティブになっているキーパッドだけである。一実施例においては、認証を開始する際に複数の動作可能なキーパッドがデバイスにより生成され、ユーザの次のキー操作の受信に備えて、一つの動作可能なキーパッドが指定されて、アクティブな動作可能キーバッドとされる。ユーザの入力を受信した後、何らかの方法で（例えばキーを配列し直す等の方法で、又はメモリから削除するか若しくはメモリスタックから除去する等の方法で）アクティブなキーパッドが変更される。
【００９７】
ユーザの識別子は如何なるタイプの識別子もよく、如何なる長さの識別子でもよいが、何らかの形のバリュー（value）からなっている。このバリューは、任意の形の文字からなっていてもよく、シンボル等からなっていてもよい。
【００９８】
少なくとも一つ設けられるキーパッド画像は、デフォルトのキーパッド（キー配列がスクランブルされていないキーパッド）の画像である。従って、キーパッド画像に表されている‘キー’は、例えばデバイスの標準のキーパッドに準拠した、ユーザが予期している通りの順序で表示される。他の実施例においては、下層に配置される動作可能なキーパッドが唯一つだけ生成されて、このキーパッドがユーザのすべてのキー操作を受信する。更に他の実施例では、複数のキーパッド画像が、１以上の動作可能なキーパッドの上で用いられる。この場合複数のキーパッド画像は、少なくとも一つのスクランブルされたキーパッドの画像を含む。キーパッド画像は、ユーザが各入力キー操作を行った後に変更されるか、又は誤入力操作が３回行われた等の予め定められたイベントが発生した後に変更される。例えば、ユーザの識別子を取得するためにスクランブルされたキーパッド画像を用い、ユーザの識別子の取得が不成功に終わった場合、又は認証が失敗した場合に、スクランブルされた他のキーパッド画像を用いて認証過程を繰り返すようにしてもよい。スクランブルされたキーパッド画像を用いた認証の試みが例えば３回失敗したときに、スクランブルされていないキーパッド画像をユーザに提示するようにしてもよい。
【００９９】
スクランブルされたキーパッド画像を、スクランブルされた動作可能なキーパッド又はスクランブルされていない動作可能なキーパッドとともに用いてもよいことに留意すべきであるが、スクランブルされていないキーパッド画像を用いる場合には、当該キーパッド画像がスクランブルされた動作可能なキーパッドをマスクするように配置されて、エンコードプロセスを行うために必要なマッピングが行われる。
【０１００】
図１に目を向けると、キーパッド配列がデバイスで生成される本発明の一実施形態に適用される一般概念が以下のように表されている。
１．入力データのストリングを、生体データ取得器又は乱数発生器を用いて、ユーザのデバイスで又はユーザのデバイス側で発生させる。（図１のステップ１０１参照）
２．入力データのストリングをキーパッド発生コンポーネント（ＫＧＣ）に供給する。（ステップ１０２）
３．キーパッド発生コンポーネントが入力データのストリングを用いて５個のキーパッド配列を生成する。（ステップ１０３）
４．キーパッド配列の一つを用いてスクランブルされた一つのキーパッド画像を生成して表示させ、残りのキーパッド配列を用いて４個のスクランブルされた動作可能なキーパッドを生成して前記キーパッド画像の下に配置する。；アクティブな動作可能なキーパッドの上にキーパッド画像を重ね合わせて、ユーザがキーパッド画像を介して入力を行ったときに、アクティブなキーパッドが入力を読み取って、バッファに入力する。（ステップ１０４）
５．動作可能なキーパッドにより検出された入力から、ユーザの識別子のエンコードされたバージョンを形成する。（ステップ１０５）
６．ユーザの識別子のエンコードされたバージョンと５個のキーパッド配列とを、デコードを行うためにリモート・ロケーション（remote location）に送信する。（ステップ６）
７．入力されたユーザの識別子が正しくない場合（認証に失敗した場合）には、認証プロセスを繰り返す。：続いて行われる認証過程で（例えば認証の試みに３回失敗した後に））スクランブルされていないキーパッドの画像とスクランブルされた動作可能なキーパッドとを用いて認証プロセスを繰り返す。
【０１０１】
一実施例では、入力ストリング（乱数又は生体データ）から生成されたキーパッド配列が、実行されるプロシージャ・コール（procedure call）への入力として用いられてランタイム・スタック（runtime stack）の上に配置される。
【０１０２】
本発明の一実施形態の実施例は、例えば下記のように表現することができる。
String input // input (RN/biometric) used to generate keypad configurations
（ストリング入力／／キーパッド配列を生成するために入力（RN/biometric）を用いる）
String userslnput // (encoded) identifier built from user's keystrokes
（ストリングユーザ入力／／ユーザのキーストロークから（符号化）識別子が構築される）
int p = 10 // number of keys on keypad
（キーボード上のキーの数）
int start = 0 //  index of start of substring in input
（入力内のサブストリングの開始のインデックス）
int end = p−1 // index of end of substring in input
（入力内のサブ外リングの終わりのインデックス）;
input = getlnput() // get input String somehow: random number or biometric data
（何らかの方法で入力ストリングを得る：乱数又は生体データ）
// display image of scrambled keypad using first p chars from input
（入力からｐ個のキャラクター（chars）を用いてスクランブルされたキーパッドの画像を表示）
generateandDisplayImage(input.substring(start, end))
// increment start and end indices in the input String
（入力ストリング内の開始と終わりとのインデックスをインクリメント）
start = start + p
end = end + p
for (int i = 0; i < N; i++) { // N = length of PIN
// generate a new keypad using next p values from input
（入力から次のp個の 値を用いて新しいキーパッドを生成）
Keypad k = new Keypad(input.substring(start, end))
//get user's keystroke and add to return String
（ユーザのキーストロークを得てストリングを復帰するために追加） 
usersInput.concat(k.getKeyStroke())
//increment start and end indices in the input String
（入力ストリング内の開始と終わりとのインデックスをインクリメント）
start = start + p
end = end + p
}
return userslnput // send user's encoded input for decoding and verification
（復号化と認証とを行うためにユーザの符号化入力を送信する）
【０１０３】
上記の実施例においては、予期される各キー操作に対して新しいキーパッドが必要とされる時に、新しいキーパッドが生成される。以下に示す他の具体例においては、異なる配列を有する複数のキーパッドが、セッション（session）の開始時に予め生成されてデータ構造内に置かれる。これをデータ構造に繰り返し適用することにより、エンコードされた結果を生成することができる。
Stack keypads // data structure to hold the keypads
（キーパッドを保持するためのデータ構造）
for(int i = 0; i < N; i++){
//populate the Stack of keypads
（キーパッドのスタックを追加する）
keypads. push(new Keypad(input.substring(start, end))
// increment start and end indices in the input String
（入力ストリング内の開始と終了とインデックスをインクリメント）
start = start + p;
end = end + p;
}
for(int i = 0; i < N; i++){ // iterate over the Stack, one key stroke per keypad
（1つのキーパッド毎に1つのキーストロークでスタックを繰り返す）
String temp = keypads.pop().getKeyStroke() 
userslnput.concat(temp) // build encoded version of user's input
（ユーザの入力の符号化バージョンをビルド）
}
【０１０４】
更に他の実施形態においては、唯一つの変更が可能な動作可能なキーパッドオブジェクトが生成される。複数のキー配列は、各キー操作が検出された後に、同じ動作可能なキーパッド内におけるキーの配列順序を変更するために用いられる。
【０１０５】
エンコードされたユーザの識別子が構成されると、その識別子は、記憶されているバージョンの識別子と比較するためにリモート・サーバーに送信される。その識別子をデコードするため、サーバーはキーパッド内のキーとキーパッド画像内のキーとのマッピングを知る必要がある。従って、ユーザのデバイスで生成されたキー配列もまたサーバーに送信される。
【０１０６】
本発明は、決済端末（payment terminal）に関して適用することができる。決済端末はカード読み取り部品（card-reading component）を備えているので、チップ及び／又はＩＣカードのマグネットストライプ（magnet strip）から、又は近接型無線通信システムＮＦＣ（非接触通信技術）を介してデータを読み取ることができる。決済端末は，取引のために決済処理とユーザの認証とを行う専用のデバイスであってよい。そのような決済端末は、スマートフォンやＰＣのような汎用のコンピュータデバイスではない。他の実施形態においては、本発明が、モバイルフォン、タブレットコンピュータ、パーソナルコンピュータ、ラップトップコンピュータ等の非専用デバイスに対して実施されることもある。非専用デバイスは、個人のユーザ又は複数のユーザのグループと関係があるデバイス、例えば、ユーザに対して登録された電話であってもよい。
【０１０７】
従って、本発明によれば、モバイルデバイスに適用された場合でも確実な認証を行うための解決策が提供される。ユーザのデバイスでキーパッド配列を発生させることにより、処理が遠く離れた所で行われるのではなく、近くで（ローカルに）行われるという利点が得られる。バイオメトリクスとＰＩＮ等の識別子とを組み合わせることにより、デバイスでの認証（ユーザが誰であるかの認証）と、識別子による認証（ユーザが知っている事項による認証）とによりユーザを認証することを要求する多要素認証が行われる。これにより、生体認証だけを用いることにより生じる安全性の懸念が軽減される。
【０１０８】
上記の実施形態は、本発明を限定することを示すものではなく、当業者であれば、添付されたクレームにより定めされる本発明の範囲から逸脱することなく、多くの代替的な実施例を設計することができるということに注意すべきである。クレームにおいて、括弧内に示された参照符号はクレームを限定するものとして解釈されるべきではない。‘〜を備える’、‘〜からなっている’等の語は、クレーム又は明細書に挙げられた構成要素やステップ以外の構成要素やステップを備えることを排除するものではない。本明細書において、‘備える’は‘含む‘又は‘からなる’を意味し、‘備えている’‘含んでいる’又は‘からなっている’を意味する。ある構成要素について単数形で言及していても、その構成要素について複数形で言及することを排除し乃至、その逆もまた真である。本発明は、いくつかの異なるエレメントを備えたハードウェアにより実現されてもよいし、適正にプログラムされたコンピュータにより実現されてもよい。複数の手段が列挙された装置クレームにおいて、それら複数の手段は、同じハードウェアにより具体化することができる。複数の手段が互いに異なる従属クレームに記載されていることがあったとしても、そのことだけで、これらの手段を組み合わせて用いることが有利ではないということが示唆されるわけではない。
【図１】
2018527640.tif 000003
【国際調査報告】
2018527640.tif 000004
2018527640.tif 000005
2018527640.tif 000006