(58)【調査した分野】(Int.Cl.,DB名)
前記文字列は、暗証番号、パスワード、口座番号、クレジットカード番号、電話番号、誕生日、保険証番号、免許証番号、住基ネット番号、マイナンバー、又はその他秘匿性を有する文字列であることを特徴とする請求項1に記載の文字列入力方法。
前記端末装置は、論理画面に前記文字種ごとの1又は複数の文字列を表示し、前記端末装置の実画面が前記論理画面より小さい場合は、前記実画面をスクロールさせることで前記論理画面の文字列を表示可能とすることを特徴とする請求項1又は2に記載の文字列入力方法。
前記端末装置は、画面上で消去された文字列を、別の文字列が前記画面上で消去されたことに応じて、又は前記利用者が前記画面上で前記文字列を指定したことに応じて、前記消去された文字列を再表示させることを特徴とする請求項1から3までのいずれか1項に記載の文字列入力方法。
前記文字列表示ルールに従った文字列パターンは、前記端末装置からの文字列を入力の際の日時情報に基づいて、前記文字種ごとの文字列中の文字数と文字の並びを変化させることを特徴とする請求項1から4までのいずれか1項に記載の文字列入力方法。
前記文字列表示ルールに従った文字列パターンは、前記端末装置及び前記送信先装置が共に同じ時期に取得可能な文書の記載に基づいて、前記文字種ごとの文字列中の文字数と文字の並びを変化させることを特徴とする請求項1から5までのいずれか1項に記載の文字列入力方法。
前記文字列の範囲を指定することにより前記文字列の中で隣接する複数の文字を入力することを可能とすることを特徴とする請求項1から6までのいずれか1項に記載の文字列入力方法。
利用者が入力した文字列を第三者に不正に取得されることを防止するためのプログラムであって、請求項1から8までのいずれか1項に記載の方法をコンピュータに実行させることを特徴とするプログラム。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、ソフトウェア・キーボードへの入力情報を盗む新たなスパイウェアも存在する。このタイプのスパイウェアは、ユーザのパソコンなどに入り込むと、ソフトウェア・キーボードのウィンドウが表示されるのを待ち、そのウィンドウがアクティブになると、マウスがクリックされるたびにパソコン画面をキャプチャする。このキャプチャされた画像(スクリーン・ショット)を見ればユーザがソフトウェア・キーボードのどのキーをクリックしたのかが分かるのでパスワードなどを盗み取ることができる。
【0007】
特許文献1の入力方法は、マウスやソフトウェア・キーボードを用いるものではないが、入力中の画面を上記のような画面キャプチャ型のスパイウェアで継続的にキャプチャされると、どの文字を消去したかが分かってしまうので、パスワードが盗まれる可能性が依然として存在することになる。画面キャプチャ型のスパイウェアは、パソコンに限らず、急速に普及したスマートフォンやタブレット端末のようなタッチパネル型の端末も攻撃対象に広がっていくことが懸念される。したがって、特許文献1の入力方法は、タッチパネル型のディスプレイにも対応し、上記のようなスパイウェアに対しても防御する必要がある。
【0008】
また、特許文献1の入力方法においては、消去された文字、すなわち、パスワードなどの文字列は、一時的にしろ端末内に記憶された後、認証装置(認証サーバ)に送信されるため、端末内のメモリ内容がスパイウェアによって解析された場合や、SSL(Secure Sockets Layer)などの暗号が解読された場合には、パスワードの漏洩を完全には防止することはできなかった。
【0009】
したがって、本発明では、特許文献1の発明を改良し、タッチパネル型の入力装置にも対応し、画面キャプチャ型のスパイウェアにも防御可能で、かつ、内部メモリにパスワードなど秘匿性のある文字列を記憶することなく、ネットワーク上にもその文字列を送出することのない文字列入力方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するため、本発明の文字列入力方法は、以下のような解決手段を提供する。
【0011】
本発明に係る1つの態様は、
(1)利用者が入力した文字列を第三者に不正に取得されることを防止するための文字列入力方法であって、前記利用者から前記文字列の入力の開始を受け付けるステップと、前記利用者が使用する端末装置と前記文字列の送信先である送信先装置との間で同期する文字列表示ルールを決定するステップと、前記決定された文字列表示ルールに従って前記端末装置の画面に文字種ごとに1又は複数の文字列を表示するステップと、前記表示された複数の文字列のそれぞれから1つの文字が前記利用者によって指定されたことを検出するステップと、前記指定された文字を当該文字が含まれる文字列から消去するとともに当該文字列の表示を前記端末装置の画面から消去するステップと、前記指定された文字が消去された文字列を前記送信先装置に送信するステップと、を実行することを特徴とする。
【0012】
(2)また、前記文字列は、暗証番号、パスワード、口座番号、クレジットカード番号、電話番号、誕生日、保険証番号、免許証番号、住基ネット番号、マイナンバー、又はその他秘匿性を有する文字列であってもよい。
【0013】
(3)また、前記端末装置は、論理画面に前記文字種ごとの1又は複数の文字列を表示し、前記端末装置の実画面が前記論理画面より小さい場合は、前記実画面をスクロールさせることで前記論理画面の文字列を表示可能としてもよい。
【0014】
(4)また、前記端末装置は、画面上で消去された文字列を、別の文字列が前記画面上で消去されたことに応じて、又は前記利用者が前記画面上で前記文字列を指定したことに応じて、前記消去された文字列を再表示させてもよい。
【0015】
(5)また、前記文字列表示ルールに従った文字列パターンは、前記端末装置からの文字列を入力の際の日時情報に基づいて、前記文字種ごとの文字列中の文字数と文字の並びを変化させてもよい。
【0016】
(6)また、前記文字列表示ルールに従った文字列パターンは、前記端末装置及び前記送信先装置が共に同じ時期に取得可能な文書の記載に基づいて、前記文字種ごとの文字列中の文字数と文字の並びを変化させてもよい。
【0017】
(7)また、前記文字列の範囲を指定することにより前記文字列の中で隣接する複数の文字を入力することを可能とするようにしてもよい
【0018】
(8)また、前記文字列入力方法は、入力する文字列の一部に適用してもよい。
【0019】
(9)また、本発明に係る別の態様は、利用者が入力した文字列を第三者に不正に取得されることを防止するためのプログラムであって、上記(1)から(8)までのいずれか1つに記載の方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【0020】
本発明によれば、タッチパネル型の入力装置にも対応し、画面キャプチャ型のスパイウェアにも防御可能で、かつ、内部メモリにも秘匿性のある文字列を記憶することなく、ネットワーク上にその文字列が送出されることのない新たな文字列入力方法を提供することができる。
【発明を実施するための形態】
【0022】
以下、添付図面を参照して、本発明を実施するための形態(以下、実施形態)について詳細に説明する。なお、実施形態の説明の全体を通して同じ要素には同じ番号を付している。
【0023】
(機能構成)
図1は、本発明の実施形態に係るコンピュータ・システムの概略を示すブロック図である。本コンピュータ・システムは、ネットワーク300に接続された認証サーバ100を備えている。認証サーバ100は、利用者が入力したパスワードなどの文字列の送信先である送信先装置であり、例えば金融機関のオンラインバンキングや会員制のWebサイトの認証サーバなどである。ネットワーク300は、任意のコンピュータ・ネットワークであってもよいが、以降の説明では、典型的な例として、インターネットであるとして説明する。
【0024】
認証サーバ100は、ハードウェア的には、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)などで構成される一般的なコンピュータである。認証サーバ100は、インターネット上のWebサイトを構成するWebサーバ110へのアクセスを許可する認証機能を備えるものであり、Webサーバ110と一つのサーバとして構成してもよい。認証サーバ100は、ネットワーク300を介して通信制御を行う通信部101と、サービスを提供するWebサイトの利用者の登録情報などを格納した利用者情報記憶部102とを備え、利用者が望むサービスにアクセスするための認証処理を行う。
【0025】
ネットワーク300には、利用者が所持する据置型端末装置200又は携帯型端末装置210が接続される。据置型端末装置200は、デスクトップPCなどの非携帯型の端末であり、機能的には、通信制御を行う通信部201、RAM、HDDなどで構成される記憶部202、キーボードやマウスなどの操作入力部203、液晶ディスプレイなどの表示部204を備えている。表示部204は、タッチパネル型のディスプレイがサポートされているものとする。
【0026】
また、ネットワーク300には、携帯型端末装置210が無線通信により接続される。携帯型端末装置210は、スマートフォンやタブレット端末(スレート端末)、小型のノートPCなどであり、無線通信の制御を行う無線通信部211、プログラム及び設定データを格納するSSD(Solid State Drive)並びにRAMなどで構成される記憶部212、電源ボタンや音量ボタンなどの物理スイッチ213、タッチパネル型の表示部214を備えているものとする。携帯型端末装置210は、最寄りの基地局400と無線通信を行い、ネットワーク300に接続された認証サーバ100と交信する。携帯型端末装置210では、小型化が必須であるため、表示部214(タッチパネル)の画面サイズは4〜10インチ程度であり、据置型端末装置200の画面サイズと比べ、かなり小さいという制約がある。なお、以下では、据置型端末装置200を据置型端末と呼び、携帯型端末装置210を携帯端末と呼ぶことにする。また、両者を合わせて単に端末装置と呼ぶことがある。
【0027】
Webサイトは、予め利用契約を締結した利用者(会員)に対してサービスを提供するものとし、個々の会員には、契約者番号、ユーザIDなどのログインIDと、暗証番号やパスワードが認証サーバ100に登録される。ログインIDとして会員のメールアドレスも使用可能としているWebサイトもある。なお、暗証番号は、数字のみで構成されたパスワードであるので、以下では特に断らない限り、単にパスワードと記載した場合は、暗証番号も含むものとする。
【0028】
ログインID及びパスワードは、認証サーバ100の利用者情報記憶部102にデータベースとして記憶される。Webサイトで提供されるサービスを利用しようとする会員は、ネットワーク300に接続された自己の所持する端末装置を用いて、ログイン要求を行う。認証サーバ100は、このログイン要求に応じて、専用のログイン画面を端末装置に表示させ、ログインID及びパスワードの入力を求める。ログインIDとパスワードが登録情報と一致すれば正規の利用者と認証する。また、端末装置には認証サーバ100との交信を制御するソフトウェア(専用アプリケーション)が前もってインストールされているものとする。
【0029】
(暗証番号の入力操作)
本発明は、基本概念としては、利用者が入力した文字列を第三者に不正に取得されることを防止するための文字列入力方法であるが、文字列入力装置又は文字列入力システムもこれに含まれ得る。ここでは、具体例として、タッチパネル型ディスプレイで暗証番号やパスワードを入力する場合について説明する。
図2は、本発明の実施形態に係る暗証番号の入力操作の一例を示す図である。ここでは、本発明の基本概念を分かりやすく説明するため、最も簡単な例である数字のみのパスワード、すなわち暗証番号を入力する場合について説明する。
【0030】
図2(A)は、一般的なスマートフォンを使って、ネットバンキングのログイン画面を表示した例である。利用者は、この画面から契約者番号又は店番号プラス口座番号などのID番号と、暗証番号とを入力する。この例では、契約者番号を入力した後の暗証番号(ここでは“2015”とする。)を入力する場合について説明するが、契約者番号なども桁数が異なるだけなので同じ方法で入力することができる。
【0031】
まず、
図2(A)の画面で、暗証番号の欄をタッチ(タップ操作)すると、
図2(B)のような数列が複数行表示される。タップ操作とは、指やペンなどで画面を軽く叩くようにして、一瞬だけ画面に触れる操作のことである。タップ操作は、メニューから項目を選択する、ボタンを押すといった操作に用いられる。マウス操作におけるクリック(左クリック)に相当するものである。以下、単にタッチといったときはこのタップ操作を指すものとする。
【0032】
表示される行数は、暗証番号の桁数に対応しており、ここでは4行となる。この例では、各行の数列は、0,1,2,3,・・・のように順に並んでいるが、数字の並び方は順不同であってもよい。また、行ごとに数字の並び方が異なっていてもよい。ただし、0から9までの数字が各行に最低1つは含んでいる必要がある。
【0033】
図2(B)の画面で、暗証番号の最初の数字である“2”をタッチすると、
図2(C)で示すように、タッチされた数字がその行の数列から消去されるとともに、タッチされた行全体が画面から消去される。このとき端末内部のメモリにはもともとの数列から消去された“2”を除いた数列“013456789”だけが記憶される。次に、
図2(C)の画面で、“0”をタッチすると、“0”がその行の数列から消去され、その行全体が画面から消去される。このとき端末内部のメモリには、“0”を除いた数列“123456789”だけが記憶される。同様に、
図2(D)の画面で“1”をタッチし、
図2(E)の画面から“5”をタッチすると、タッチされた数字がそれぞれの行の数列から消去され、その行全体が順に画面から消去されていく。このとき、内部メモリには、数列“023456789”、“012346789”が記憶されるのみで、暗証番号“2015”が記憶されることはない。
【0034】
そして、
図2(F)のすべての数字が消去された画面において、暗証番号の入力完了を意味する確認の操作(この例では“ログイン”ボタンをタッチ)をすると、認証サーバ100(以下、単にサーバと呼ぶ)には、暗証番号そのものを送信せずに、元の数列からタッチされた数字を除いた数列が送信される。すなわち、この例では、「013456789 123456789 023456789 012346789」(実際にはスペースは入らない。)がサーバに送信される。ここで各行の数字の並び方は、端末とサーバだけが判る所定のルールで同期しており、サーバでは、端末から送信された数列と、この所定のルールで端末に表示されていた数列とを比較することで、入力された暗証番号を送信された文字列から抽出することができる。なお、上記の例では、画面上で上の行から順に入力したがどの行から始めてもよい。
【0035】
また、タッチパネル上での指等のタッチ位置の記録と画面キャプチャとを同時に行うスパイウェアに備え、例えば、
図2(B)のような数字の並びが表示される画面(暗証番号欄をタッチ後に数列の全体が表示される画面)は、その画面を表示する前にいったん画面全体を消去するようにする。そしていったん消去した後に本来の画面を表示する。このようにすることで文字列全体を表示する画面をキャプチャされにくくすることができる。あるいは、画面キャプチャが行われたことを検出する手段(例えば、端末のOS(Operating System)に対してスクリーンショットコマンドが発行されたことを検知するなど)を設け、画面キャプチャが実行される前に画面全体の表示を消去するようにしてもよい。
【0036】
図2の例では、説明を分かりやすくするため、それぞれの数字は行ごとに1つだけであり、各行の数字の並び方も単調で最も単純なパターンであるが、実際にはサーバと端末間で個々に定められた所定の「同期ルール」によって、数字の並び方(数列パターン)は毎回異なるようにする。ここで「同期ルール」は、例えば、ログイン画面の暗証番号欄をタッチした日時によって生成される「ルールID」に従って決定させるようにしてもよい。具体的には、暗証番号欄をタッチした日時分秒の数字(日時情報と呼ぶ)に所定の変換をして、「表示文字列ID」を生成し、この表示文字列IDに従って、画面上に表示される数列のパターンが特定されるようにする。
【0037】
サーバ側にも認証の際に同じ日時情報が送信されるものとし、サーバは、この日時情報を基に「表示文字列ID」を同じ変換ロジックで生成し、対応する数列パターンを特定する。そして、生成した数列パターンと端末から送信された数列パターンを比較することによって、利用者が入力した暗証番号を抽出することができる。あるいは、「同期ルール」は、利用者が登録した固有のID(例えば、端末IDなど)に所定の変換を加えることとしてもよい。なお、「同期ルール」は、サーバと端末間で定期的に変更されることは言うまでもない。
【0038】
また、入力画面に表示されている行に、暗証番号中の一部の数字の並びと同じ並びを含む行があれば、その並んだ数字の部分を「スライド操作」(指先で画面に触れて、その指をそのまま移動、又は軽く払う操作)で範囲指定してからその位置でタッチすれば、文字列中で隣接する複数の数字を一度で入力することも可能である。例えば、暗証番号「2015」のうち「01」の並びは、
図2(B)の各行に含まれているので、いずれかの行で「0」と「1」の範囲をスライド操作で指定し、その位置でタッチすれば、0と1が同時に入力できることなる。入力画面に表示されている行はいつも数字が同じ順に並ぶわけではないが、数字の列は複数あるので2文字程度であればかなりの確率で一致する可能性が高い。
【0039】
以上のようにすることで、タッチパネルで入力された数字は一切端末の画面上に表示されないので、他人からの覗き見はもちろん、たとえ画面キャプチャ型のスパイウェアに端末が感染していたとしても端末から入力された数字が盗みとられることはない。また、暗証番号自体も端末内に一時的にも記憶されることはないので、ネットワーク上に送出されることもない。
【0040】
なお、上記の文字列入力方法は、暗証番号以外にも、契約者番号(お客様番号)、口座番号、クレジットカード番号、電話番号、誕生日、保険証番号、免許証番号、住基ネット番号、さらには2015年10月に導入予定のマイナンバーなど、むやみに他人には知られたくない個人情報など、場合により秘匿性を有する数字の入力において適用が可能である。
【0041】
(複数の文字種を含むパスワードの入力)
図2では、暗証番号など数字のみを入力する場合について説明したが、本発明の入力方法は、英文字、記号など数字以外の文字も含むパスワードやIDなどの入力にも適用が可能である。パスワードは、数字のみの暗証番号より英文字(大文字、小文字の区別を含む)、記号などの複数の文字種を組み合わせたほうがセキュリティ強度は高いので、パスワード・ポリシーとして、最低限の文字数や文字種を規定したWebサイトも多い。
【0042】
図3は、スマートフォンやPCなどの端末において、複数の文字種を含むパスワードの従来の入力方法を説明するための図である。一般的に画面サイズの小さい端末に対するログイン画面では、複数の文字種を入力するために画面上にすべての文字種のキーボードを表示すると文字が非常に小さくなるため、図示するスマートフォン用入力画面のように、キーボード切替えキー10で複数のキーボードを切り替えて入力させるようになっている。このソフトウェア・キーボードは、スマートフォンのOS又はアプリケーション側で提供される。しかし、パスワードに英字、数字、記号を混在させて入力するためにはキーボードの切り替えを何度も行う必要があり煩わしい。そのため画面サイズが大きい端末に対しては、別途図示するPC用入力画面のように、複数のキーボードを並べて表示しているものもある。
【0043】
本発明では、上記のような画面サイズによって異なる画面を用意する必要のない入力方法を提案する。
図4は、本発明の実施形態に係るパスワード入力画面を説明するための図である。
【0044】
この入力方法では、パスワードとして用いられるすべての文字を文字列として文字種ごとに1又は複数並べた「文字列」を定義する。図示するように、文字列は論理画面に配置される。端末の実画面は、画面サイズによって異なるので、スライド操作で論理画面上を上下左右にスクロールさせることができる。もちろん、画面サイズが大きければ論理画面全体を実画面に表示してもよい。実画面はピンチ操作(2本の指で画面に触れてからつまむように操作)/ストレッチ操作(2本の指で画面に触れてから指を互いに遠ざける操作)によって拡大縮小が可能なのは言うまでもない。このようにすることで、論理画面の文字列をすべて実画面に表示可能となり、スマートフォンのような実画面が論理画面より小さい端末であっても、多くの文字種を含んだパスワードをキーボードの切り替えなどなしに入力することができる。
【0045】
文字列は、論理画面上の「行」と必ずしも一致させる必要はなく、図示する数字の文字列のように論理画面上の1行に複数の文字列を配置してもよい。図では数字、英大文字、英小文字、記号の文字種の順に文字列が配置されているがこのような配置に限定されないし、文字列内の文字の並び方も任意であってよい。文字列内にはその文字種の文字全部が少なくとも1文字は含まれる必要があるが、同じ文字が1つの文字列内に複数含まれてもよい。また、文字種もカタカナ、ひらがな等を追加してもよい。さらに、半角文字だけでなく全角文字を追加してもよい。例えば、パスワードの一種である「秘密の質問」の答えは、全角文字も必要とする場合があるからである。
【0046】
以下、複数の文字種を含むパスワードの入力方法について詳細に説明する。
図5A〜
図5Cは、本発明の実施形態に係るパスワード入力操作の一例を示す図である。この例では画面サイズの大きいPC画面を使用し、実画面と論理画面が一致している場合で説明するが、実画面と論理画面が一致しない場合でもスクロール操作が加わるだけで基本的には同様である。また、図を見やすくするため、数字の文字列は画面上の1行に3つとし、他の文字種の文字列は、それぞれ画面上の1行だけであるとしている。
【0047】
ここでは、入力するパスワードが例えば“ABc_123”であるとして、
図5A〜
図5Cの画面(A)〜(L)を順に参照してパスワードの入力操作を具体的に説明する。ログイン画面(図示省略)のパスワード入力欄をタッチすると、画面(A)のように文字種ごとに文字列が1又は複数表示される。ここで、暗証番号の場合と同様に、表示される文字列のパターンは、サーバと端末間で所定のルールで同期される。
【0048】
パスワード“ABc_123”を入力するには、まず画面(A)で英大文字の文字列の“A”をタッチする。図ではタッチした位置を下線で示しているが実際には下線は表示されず、画面(B)のように、タッチされた“A”を含む英大文字行全体が消去され、“A”を除く文字列“BCDE・・・”が記憶される。(以下同じ。)次に、“B”を入力する場合、画面(B)では“B”を含む行は消去されているので、消去された行をいったんタッチして元の状態で再表示させてから(画面(C)の状態)、“B”をタッチするものとする。そして“B”をタッチすると、英大文字行が再び消去される(画面(D)の状態)。
【0049】
このようにすることで、画面上でいったん消去された文字列も再表示が可能なので、文字種ごとに入力する文字の数の分だけ文字列を画面に表示させておく必要がなくなる。再表示機能がないと、例えば、“ABCdefGH”と入力させるためには、少なくとも5行の英大文字の文字列と,3行の英小文字の文字列を表示しておく必要があるが、再表示機能があればそれぞれ1行表示させておけばよい。したがって、再表示機能は画面サイズの小さい入力装置には特に有効である。
【0050】
なお、上記の画面(B)のように消去された行を再表示させるためのタッチが必要になるのは、文字列が1つしかない場合だけで、文字列が複数ある場合は再表示のためのタッチは通常は必要ない。例えば、上の例で英大文字の行が2つあれば、“A”をタッチして消去されるのは一方の行だけなので、“B”はもう一方の行から直接タッチできる。更に続けて、例えば“C”を入力する場合は、“B”の行が消去されたと同時に“A”の行が自動的に再表示されるので、その再表示された行から“C”をタッチすればよい。もちろん、同じ文字種の行が複数ある場合でも消去された行をタッチすればその行は再表示されるものとする。
【0051】
図5Bの説明に移る。画面(E)は、“B”をタッチした後の状態であるが、次に入力する“c”は、小文字なので英小文字行は表示された状態にある。したがってそのまま“c”をタッチできる。“c”をタッチすると、今度は画面(F)のように、タッチされた英小文字行が消去されるが、同時に先に消去された英大文字行が自動的に再表示される。この状態の画面(G)では、次に入力する記号“_”はそのままタッチできる。“_”をタッチすると、いままでと同様に、記号行が消去される。
【0052】
図5Cに移り、画面(I)で次に“1”をタッチすると、画面(J)のように、タッチされた“1”の行が消去されると同時に、先に消去された“_”の行が再表示される。この例では数字行は3つあるので、タッチされた“1”の行が消去されても他の数字行は消去されない。したがって、次に入力する“2”は表示されているほうの数字行からそのままタッチできる。“2”をタッチするとその数字行は消去される。このとき先に消去された“1”の数字行は消去されたままでもよいが自動で再表示してもよい。再表示した場合は画面(K)の状態になる。
【0053】
画面(K)ではパスワードの最後の文字である“3”を、表示されている数字行のどちらかを使ってタッチする。その結果、画面(L)ではタッチされた“3”の行が消去されるが、同時に先に消去された“2”の行が再表示されてもよい。最後に、確認操作、例えばログインボタンなどをタッチすると、上記の一連の手順でタッチした(消去した)文字を除いた文字列がサーバに送信される。
【0054】
なお、暗証番号の場合と同様に、タッチパネル上でのタッチ位置の記録と画面キャプチャとを同時に行うスパイウェアに備え、文字の並びが表示される画面は、その画面を表示する前にいったん画面全体を消去するようにする。そしてその後本来の画面を表示する。あるいは、画面キャプチャが行われたことを検出する手段を設け、画面キャプチャが実行される直前に文字列画面全体の表示を消去するようにしてもよい。
【0055】
(処理フロー)
図6は、本発明の実施形態に係る文字列入力方法の端末装置の処理フローを示す図である。
図6は、以上説明した入力手順を端末が実行する処理ステップのフローとしてまとめたものである。
【0056】
利用者からパスワードなどの文字列の入力の開始を受け付けると、端末は、まずステップS10で、認証サーバ100(一般的には送信先装置)と同期する文字列表示ルールを決定する。文字列表示ルールは、今回使用するルールであり、毎回決定される。続いて、ステップS11で、決定された文字列表示ルールに従った文字列(文字列パターン)を論理画面に表示する。文字列表示ルール決定の具体例は前述したとおりである。
【0057】
端末は、次にステップS12で、表示された文字列中の文字が指定されたかどうか、すなわち画面上で表示された文字列中のある文字がタッチされたかどうかをチェックする。文字列中の文字がタッチされていない場合は(ステップS12:N)、所定の取消操作がなされたかどうかをチェックし、取消操作がなされていれば(ステップS20:Y)、すべてのデータを消去して入力処理を終了する。取消操作がなされてなければ(ステップS20:N)、ステップS12に戻る。
【0058】
ステップS12で文字列中の文字のタッチが検出された場合は(ステップS12:Y)、ステップS13に移り、タッチされた文字が含まれる文字列の表示を論理画面から消去する。このとき既に消去されている文字列があればその行を再表示してもよい。また、既に消去された文字列のどこかがタッチされた場合は、その文字列全体を再表示する。
【0059】
次にステップS14で、タッチされた(消去された)文字を除いた文字列を記憶する。前述したようにタッチされた文字自体は、パスワードを構成する文字なので端末内部には記憶しない。そしてステップS15で、送信ボタンやログインボタンがタッチされたなど、所定の確認操作がなされたかどうかをチェックする。
【0060】
ステップS15で確認操作がなされたことを検出した場合は(ステップS15:Y)、ステップS16に移り、パスワードとして規定された最低文字数が入力されたかどうかをチェックし、最低文字数に満たない場合は(ステップS16:N)、ステップS17でエラー表示した後、再入力を促す。所定の回数以上エラーとなった場合は入力操作を終了させる。
【0061】
ステップS16で最低文字数の入力が確認されれば(ステップS16:Y)、ステップS18に移り、各文字列でタッチされた(消去された)文字を除いた文字列を認証サーバ100(送信先装置)に送信する。送信が完了すればパスワード入力処理を終了する。
【0062】
(文字列パターン例)
図7は、本発明の実施形態に係る文字列パターンのバリエーションの例を示す図である。既に述べたように論理画面に表示する文字列のパターンは端末とサーバで同期(共有)しているが簡単な文字列パターンの例を以下に示す。
【0063】
図7(A)は、基本的な文字列パターンであり、文字種ごとに複数の文字列(ここでは3行)が順に並んだパターンである。文字列は論理画面の1行中に複数含んでもよい。
【0064】
図7(B)は、文字列の文字の並び方を変化させたものである。この例では、数字列B11〜B13のうち、B11は1から始まるが、B12は4から始まり、B13では8から始まっている。数字の並びは昇順でなく降順であってもよい。また、英大文字列(B21〜B23)のうち、B21は通常のアルファベットの順に並んでいるが、B22はZから始まる逆順で並んでいる。また、B23はHから始まる正順で並んでいる。英小文字列B31〜B33についても同様である。
【0065】
図7(C)では、数字列C11〜C13をランダムに並べている。ただし、各数字は、最低2回は現れるようにしている。また、英大文字列のC22は、26文字のアルファベットをMとNの間で半分に分け、MとNのグループからM、Nを先頭に交互に1文字ずつ取り出して並べたものである。さらにC23は、C22に対して上記の並べ方を適用したものである。この例では、英小文字列C31〜C33についても同様にしているが、別の並べ方をしてもよいのは当然である。このように文字列パターンはほぼ無限に存在するが、必要なのは端末とサーバで文字の並べ方のルールを同期していることである。
【0066】
(文字列パターンの変形例)
図8は、本発明の実施形態に係る文字列パターンのバリエーションの変形例を示す図である。文字列パターンは、
図7のような単なる文字の列でなく、意味のある「文書」の記載から生成することもできる。ただし、この文書は、端末装置と送信先装置が共に同じ時間に取得可能な文書であるとする。
【0067】
例えば、
図8(A)は、電子新聞の株式欄の数字を文字列パターンとして採用したものである。いつの時点の株式データとその銘柄のデータを文字列表示ルールとするか予めサーバと端末間で定義しておけば、端末の論理画面に表示される文字列(数字のみ)が生成できる。しかも毎日変化させることができる。
【0068】
また、
図8(B)は、英文の電子ニュースを文字列パターンとして採用したものである。これもいつの時点の電子ニュースとそのページや行などを文字列表示ルールとするか予めサーバと端末間で定義しておけば、端末の論理画面に表示される文字列(英字、数字のみ)が生成できる。しかも毎日変化させることができる。
【0069】
また、
図8(C)は、日本語、数字、英字混じりのメールやビジネスレターなどの文書を文字列パターンとして採用したものである。このような文書を多数集め、IDを振って文字列表示ルールとして予めサーバと端末間で定義しておけば、端末の論理画面に表示される文字列が生成できる。このような文書には、英字、数字に限らず、いろいろな文字種が含まれるので、全角文字なども(使用できる文字に制限は付くが)利用できる可能性が生まれる。例えば、「母親の誕生日は?」との秘密の質問に対して、カナ漢字変換することなく、「5月7日」などと全角文字で直接入力したり、「祖父の出身地の県名は?」との質問に対して、「山梨県」などと入力したりすることができる。
【0070】
以上の説明では、秘匿性が必要な文字列として、暗証番号とパスワードを説明したが、本実施形態の文字列入力方法は、前述したように、暗証番号以外にも、契約者番号(お客様番号)、口座番号、クレジットカード番号、電話番号、誕生日、保険証番号、免許証番号、住基ネット番号、マイナンバー、その他個人情報に関する数字の入力にも適用が可能である。入力する文字数が多い場合は(例えばクレジットカード番号など)、その文字列の一部だけに(例えば、先頭の4桁又は末尾の4桁など)、本発明の実施形態の文字列入力方法を適用して、その他の文字は通常の方法で入力するようにしてもよい。一部だけに適用してもセキュリティは確保できるからである。もちろん、パスワード以外にも、数字以外の文字種を含む各種のログインIDやユーザIDなどにも適用が可能である。
【0071】
また、入力した文字列の送信先である送信先装置は、特に認証機能を備えないような装置であってもよい。例えば、先に送ったファイルのパスワードを単に送信先装置に送るような場合などである。また、上記の説明では入力装置をタッチパネルとしたが、タッチパネル型でないディプレイであってもよい。その場合は、今までの説明における「タッチ」を、「マウスのクリックボタン押下」又は「カーソルキーで移動し決定ボタン押下」と読み替えればよい。
【0072】
(実施形態の効果)
以上説明したように、本発明の実施形態によれば、画面キャプチャ型のスパイウェアにも防御可能で、かつ、内部メモリにも秘匿性が必要な文字列を記憶することなく、ネットワーク上にその文字列が送出されることのない文字列入力方法を提供することができる。
【0073】
また、本文字列入力方法は、暗証番号以外にも、契約者番号(お客様番号)、口座番号、クレジットカード番号、電話番号、誕生日、保険証番号、免許証番号、住基ネット番号、マイナンバー、又はその他秘匿性を有する文字列(個人情報に関するその他の数字や数字以外の文字種を含む各種のログインIDやユーザID)にも適用が可能である。
【0074】
また、論理画面上に文字列を表示するようにしたので、画面サイズの小さい端末であっても実画面をスクロールさせることで、キーボードの切り替えなどすることなく、多くの文字種が必要な文字列であっても入力可能な文字をすべて表示することができる。
【0075】
また、画面上でいったん消去された文字列も再表示が可能なので、文字種ごとに入力する文字の数の分だけ文字列を画面に表示させておく必要がなくなる。画面サイズの小さい端末装置には特に有効である。
【0076】
また、端末装置と送信先装置の同期ルールを入力時の日時情報に基づいて変化させるので、文字列を表示する文字列パターンがほぼ無限に広がり、たとえ送信先装置に送信された文字列(パスワードなどの文字が消去された文字列)が解読されたとしても、元々表示されていた文字列までは容易には分からないので、パスワードなどの解読を困難にすることができる。
【0077】
また、端末装置と送信先装置の両者が共有可能な文書の記載に基づいて文字列パターンを生成することもできるので、文字列パターンのバリエーションが更に広がりパスワードなどの解読を困難にすることができる。
【0078】
また、文字列の範囲を指定することにより、文字列の中で隣接する複数の文字を入力することが可能なので、表示された文字列中の一部に入力すべき文字の並びと同じ文字の並びがあれば入力操作が楽になる。
【0079】
また、本文字列入力方法は、入力する文字列の一部だけに適用するようにしてもよい。入力する文字列が長い場合は、その一部だけに本文字列入力方法を適用してもセキュリティは確保されるので、それ以外の部分は通常の方法で入力することもできる。
【0080】
以上、実施形態を用いて本発明を説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されないことは言うまでもない。上記実施形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。またその様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。