図1乃至図3に、暗証番号入力ウィンドウ101の遷移例を示す。暗証番号入力ウィンドウ101は、ユーザに暗証番号を入力させるためのウィンドウである。本実施の形態では、ランダムに配置された数字をユーザが並び替え、マトリクス内のいずれかの場所に暗証番号に相当する数字列を揃えるようにする。そして、ユーザは、暗証番号入力ウィンドウ101に表示されているボタン上の数字を消させてから、暗証番号に相当する数字があったボタンの並びをなぞるようにスライド操作することによって、暗証番号を入力する。尚、暗証番号に用いられる数字を、以下では候補数字という。
図1に示した暗証番号入力ウィンドウ101a乃至101fは、暗証番号に相当する候補数字の列を揃えるまでの遷移を示している。メッセージ領域103には、その都度ユーザに操作を促すメッセージが表示される。暗証番号入力ウィンドウ101a乃至101fにおけるメッセージ領域103には、「行又は列をスライドさせて暗証番号の数字を並べて、決定ボタンに触れてください。」というメッセージが表示されている。
暗証番号入力ウィンドウ101aに示したように、当初候補数字がランダムに並べられている。この例で、暗証番号は「2807」であるものとする。そして、ユーザは、暗証番号入力ウィンドウ101fの破線に示した範囲に、下から上の方向へ暗証番号「2807」を揃える操作を行うものとする。
尚、ユーザによって選択される数字ボタンは、第3行乃至第7行、且つ第3列乃至第7列の範囲に含まれるものである。第1行、第2行、第8行及び第9行の数字ボタン及び第1列、第2列、第8列及び第9列の数字ボタンは、隠れている候補数字があることを認識させるために表示されている見せ掛けのボタンである。この例では、第1行及び第9行の数字ボタンと第1列及び第9列の数字ボタンとは、候補数字の表示を省いているが、これらの数字ボタンについて候補数字を表示するようにしてもよい。
暗証番号入力ウィンドウ101bは、ユーザが第3行第4列に位置する数字ボタンを指でタッチし、2つ下の数字ボタンの位置までスライドさせる操作が行われたことを示している。この操作によって、第4列に含まれる候補数字が夫々2つ下方向にずれる。
その結果、暗証番号入力ウィンドウ101cのように表示される。そして、候補数字「8」が想定している位置に納まる。
更に、暗証番号入力ウィンドウ101cは、ユーザが第7行第5列に位置する数字ボタンを指でタッチし、2つ左の数字ボタンの位置までスライドさせる操作が行われたことを示している。この操作によって、第7行に含まれる候補数字が夫々2つ左方向にずれる。
その結果、暗証番号入力ウィンドウ101dのように表示される。そして、候補数字「2」が想定している位置に納まる。
更に、暗証番号入力ウィンドウ101dは、ユーザが第5行第7列に位置する数字ボタンを指でタッチし、1つ左の数字ボタンの位置までスライドさせる操作が行われたことを示している。この操作によって、第5行に含まれる候補数字が夫々1つ左方向にずれる。
その結果、暗証番号入力ウィンドウ101eのように表示される。そして、候補数字「0」が想定している位置に納まる。
更に、暗証番号入力ウィンドウ101eは、ユーザが第4行第5列に位置する数字ボタンを指でタッチし、2つ右の数字ボタンの位置までスライドさせる操作が行われたことを示している。この操作によって、第4行に含まれる候補数字が夫々2つ右方向にずれる。
その結果、暗証番号入力ウィンドウ101fのように表示される。そして、候補数字「7」が想定している位置に納まり、暗証番号「2807」が揃う。
仮に、暗証番号入力ウィンドウ101a乃至101fに示した操作の様子を他人が覗き見たとしても、マトリクス内のどの位置に暗証番号が並んでいるかは、判別できない。
暗証番号入力ウィンドウ101fのように並べた段階で、数字が表示されないようにする。図2に、図1に示した遷移の続きを示す。暗証番号入力ウィンドウ101fで、ユーザが決定ボタンを指でタッチする、つまりタップ操作すると、暗証番号入力ウィンドウ101gに示すように、数字ボタンに表示されていた候補数字が消える。つまり、数字ボタンに代えて、候補数字を隠したボタンが表示される。以下では、候補数字を隠したボタンをマスクボタンと呼ぶ。
暗証番号入力ウィンドウ101gにおけるメッセージ領域103には、「暗証番号が並んでいたところを指でなぞってください。」というメッセージが表示される。
このメッセージに従って、暗証番号入力ウィンドウ101hに示したように、第7行第4列に位置するマスクボタンから上方へ第4行第4列に位置するマスクボタンまでユーザが指でなぞると、つまりスライド操作すると、これらのマスクボタンの位置に表示されていた候補数字が暗証番号として入力される。
ここでは、列内の候補数字を上方に向けてなぞる例を示したが、列内の候補数字を下方に向けてなぞるようにしてもよい。また、行内の候補数字を右方向になぞるようにしてもよいし、同じく左方向になぞるようにしてもよい
更に、斜め方向に候補数字をなぞるようにしてもよい。図3に、斜め方向に候補数字をなぞる様子を示す。暗証番号入力ウィンドウ101iに示すように、第7行第4列に位置する数字ボタンから右上方向に、第4行第7列に位置する数字ボタンまで、暗証番号「2807」が並べられている。この状態で、決定ボタンに対してタップ操作すると、暗証番号入力ウィンドウ101jに示すように、数字ボタンに表示されていた候補数字が消える。そして、暗証番号入力ウィンドウ101jにおけるメッセージ領域103には、「暗証番号が並んでいたところを指でなぞってください。」というメッセージが表示される。
このメッセージに従って、暗証番号入力ウィンドウ101kに示すように、第7行第4列に位置するマスクボタンから右上方向へ第4行第7列に位置するマスクボタンまでユーザがスライド操作すると、これらのマスクボタンの位置に表示されていた候補数字が暗証番号として入力される。
また、一方向になぞるやり方以外に、鍵形になぞるようにしてもよいし、コの字形になぞるようにしてもよい。
暗証番号入力ウィンドウ101a乃至暗証番号入力ウィンドウ101f及び暗証番号入力ウィンドウ101iのように候補数字が表示されている態様、つまり数字ボタンが表示されている態様を第1態様という。また、暗証番号入力ウィンドウ101g、暗証番号入力ウィンドウ101h、暗証番号入力ウィンドウ101j及び暗証番号入力ウィンドウ101kのように候補数字が消えている態様、つまりマスクボタンが表示されている態様を第2態様という。
尚、第1態様において数字ボタンがタップされた場合には、通常の入力方式に従って、タップされた数字ボタンに示されている候補数字が入力されるようにする。以上で、本実施の形態におえる操作の概要についての説明を終える。
次に、装置の動作について説明する。図4に、携帯端末装置401のモジュール構成例を示す。ここでは、例えば携帯電話端末或いはタブレット端末のような携帯端末装置401による実施例を示すが、携帯端末装置401以外の情報処理装置に本実施の形態を適用するようにしてもよい。例えば現金自動預け払い機のような設置型の装置に、本実施の形態を適用するようにしてもよい。
携帯端末装置401は、暗証番号入力モジュール403及びアプリケーションプログラム405を有している。この例では、暗証番号入力モジュール403は、アプリケーションプログラム405から呼び出されて起動する。
暗証番号入力モジュール403は、暗証番号入力ウィンドウ101を表示して、ユーザによって入力される暗証番号を受け付ける。暗証番号入力モジュール403は、初期化部411、表示処理部413、受付部415、変更部417、特定部419、制御部421、インターフェース部423、候補数字記憶部431、ウィンドウデータ記憶部433及び数字列バッファ435を有している。初期化部411は、候補数字データを初期化する。表示処理部413は、各種の表示を行う。受付部415は、ユーザ操作を受け付ける。変更部417は、候補数字データを変更する。特定部419は、暗証番号を特定する。制御部421は、暗証番号入力モジュール403における処理を制御する。インターフェース部423は、暗証番号を認証部441へ渡す。候補数字記憶部431は、候補数字データを記憶する。ウィンドウデータ記憶部433は、暗証番号入力ウィンドウ101、数字ボタン及びマスクボタンのデータを記憶する。数字列バッファ435は、入力された候補数字の列を記憶する。
アプリケーションプログラム405は、認証されたユーザに対して所定のサービスを提供する。アプリケーションプログラム405は、認証部441を有している。認証部441は、暗証番号入力モジュール403を呼び出し、暗証番号入力モジュール403から渡された暗証番号によってユーザの認証を行う。
上述した暗証番号入力モジュール403、アプリケーションプログラム405、初期化部411、表示処理部413、受付部415、変更部417、特定部419、制御部421、インターフェース部423及び認証部441は、ハードウエア資源(例えば、図25)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
上述した候補数字記憶部431、ウィンドウデータ記憶部433及び数字列バッファ435は、ハードウエア資源(例えば、図25)を用いて実現される。
続いて、暗証番号入力モジュール403における処理について説明する。図5に、メイン処理(A)フローを示す。初期化部411は、候補数字データに、ランダムに生成した候補数字を設定する(S501)。各数字ボタンに割り当てられる候補数字は、2次元配列形式のデータとして扱われる。このデータを、候補数字データという。
図6に、候補数字データの例を示す。数字ボタンの配置における行番号をi(1から9まで)で表し、列番号をj(1から9まで)で表すと、第N行の第M列に位置する数字ボタンに割り当てられる候補数字は、2次元配列の要素C[N][M]で表される。S501において、初期化部411は、2次元配列データの各要素に、ランダムに生成した候補数字を設定する。候補数字は、0から9までの整数である。
図5の説明に戻る。表示処理部413は、初期状態の暗証番号入力ウィンドウ101を表示し、更に候補数字データに基づいて数字ボタンを表示する(S503)。具体的には、表示処理部413は、2次元配列データの要素に設定されている候補数字を、当該要素に対応する数字ボタン内に表示する。図1に示した例では、第1行に含まれる数字ボタン、第9行に含まれる数字ボタン、第1列に含まれる数字ボタン及び第9列に含まれる数字ボタンについては、数字の表示を省略している。
受付部415は、タッチパネルに対するユーザ操作を受け付ける(S505)。ここでは、数字ボタンの行に対するスライド操作、数字ボタンの列に対するスライド操作、数字ボタンへのタップ操作又は決定ボタンへのタップ操作を受け付けることを想定する。
受付部415は、S505において受け付けたユーザ操作が、数字ボタンの列に対する下方向へのスライド操作であるか否かを判定する(S507)。
S505において受け付けたユーザ操作が、数字ボタンの列に対する下方向へのスライド操作であると判定した場合には、変更部417は、第1変更処理を実行する(S509)。第1変更処理では、第1態様において、スライド操作に従って当該列内の数字ボタンに表示されている候補数字を下方向へ移動させる処理を行う。
図7に、第1変更処理フローを示す。変更部417は、スライド開始位置に基づいて、候補数字を移動させる列を特定する(S701)。具体的には、変更部417は、スライド開始位置と重なる数字ボタンが属する列を特定する。例えば、図1に示した暗証番号入力ウィンドウ101bの例では、候補数字を移動させる列として第4列を特定している。
変更部417は、スライド距離に基づいて、下方向への候補数字の移動数を算出する(S703)。例えば、変更部417は、スライド距離を、数字ボタンの高さと縦方向の数字ボタン間隔との和で除して、その商の小数点第1位以下を四捨五入することによって、下方向への候補数字の移動数を求める。例えば、図1に示した暗証番号入力ウィンドウ101bの例では、下方向への候補数字の移動数は2である。
変更部417は、当該列中の候補数字を、移動数だけ下方向へ移動させる(S705)。ここでは、表示における向きと整合するように方向を表現している。ここでいう下方向は、データ構造的に、2次元配列の同じ列において行番号が増える方向を意味する。つまり、変更部417は、2次元配列の要素に設定されている候補数字を、同じ列において移動数だけ行番号が増える要素に移す。
図8に、暗証番号入力ウィンドウ101bに示したスライド操作によって変更された候補数字データの例を示す。図6における要素C[1][4]の値「0」は、図8において要素C[3][4]に移る。同様に、図6における要素C[2][4]から要素C[7][4]の各値は、図8において要素C[4][4]から要素C[9][4]に移る。そして、図8における要素C[1][4]には、図6における要素C[8][4]の値「0」が移り、図8における要素C[2][4]には、図6における要素C[9][4]の値「2」が移る。つまり、列内において候補数字が循環するように各候補数字が移される。尚、行方向へのスライド操作の場合にも、同様に候補数字が循環するように各候補数字が移される。
図7の説明に戻る。表示処理部413は、変更された候補数字データに基づいて、当該列に相当する数字ボタンを表示し直す(S707)。第1変更処理を終えると、図5のS505に示した処理に戻って上述した処理を繰り返す。
図5のS507に示した処理の説明に戻る。S505において受け付けたユーザ操作が、数字ボタンの列に対する下方向へのスライド操作ではないと判定した場合には、受付部415は、当該ユーザ操作が、数字ボタンの列に対する上方向へのスライド操作であるか否かを判定する(S511)。
S505において受け付けたユーザ操作が、数字ボタンの列に対する上方向へのスライド操作であると判定した場合には、変更部417は、第2変更処理を実行する(S513)。第2変更処理では、第1態様において、スライド操作に従って当該列内の数字ボタンに表示されている数字を上方向へ移動させる処理を行う。
図9に、第2変更処理フローを示す。変更部417は、スライド開始位置に基づいて、候補数字を移動させる列を特定する(S901)。第1変更処理の場合と同様に、変更部417は、スライド開始位置と重なる数字ボタンが属する列を特定する。
変更部417は、スライド距離に基づいて、上方向への候補数字の移動数を算出する(S903)。第1変更処理の場合と同様に、変更部417は、スライド距離を、数字ボタンの高さと縦方向の数字ボタン間隔との和で除して、その商の小数点第1位以下を四捨五入することによって、下方向への候補数字の移動数を求める。
変更部417は、当該列中の候補数字を、移動数だけ上方向へ移動させる(S905)。ここでいう上方向は、データ構造的に、2次元配列の同じ列において行番号が減る方向を意味する。つまり、変更部417は、2次元配列の要素に設定されている候補数字を、同じ列において移動数だけ行番号が減る要素に移す。
表示処理部413は、変更された候補数字データに基づいて、当該列に相当する数字ボタンを表示し直す(S907)。第2変更処理を終えると、図5のS505に示した処理に戻って上述した処理を繰り返す。
図5のS511に示した処理の説明に戻る。S505において受け付けたユーザ操作が、数字ボタンの列に対する上方向へのスライド操作ではないと判定した場合には、受付部415は、当該ユーザ操作が、数字ボタンの行に対する右方向へのスライド操作であるか否かを判定する(S515)。
S505において受け付けたユーザ操作が、数字ボタンの行に対する右方向へのスライド操作であると判定した場合には、変更部417は、第3変更処理を実行する(S517)。第3変更処理では、第1態様において、スライド操作に従って当該行内の数字ボタンに表示されている数字を右方向へ移動させる処理を行う。
図10に、第3変更処理フローを示す。変更部417は、スライド開始位置に基づいて、候補数字を移動させる行を特定する(S1001)。具体的には、変更部417は、スライド開始位置と重なる数字ボタンが属する行を特定する。例えば、図1に示した暗証番号入力ウィンドウ101eの例では、候補数字を移動させる行として第4行を特定している。
変更部417は、スライド距離に基づいて、右方向への候補数字の移動数を算出する(S1003)。例えば、変更部417は、スライド距離を、数字ボタンの幅と横方向の数字ボタン間隔との和で除して、その商の小数点第1位以下を四捨五入することによって、右方向への候補数字の移動数を求める。例えば、図1に示した暗証番号入力ウィンドウ101eの例では、右方向への候補数字の移動数は2である。
変更部417は、当該行中の候補数字を、移動数だけ右方向へ移動させる(S1005)。ここでいう右方向は、データ構造的に、2次元配列の同じ行において列番号が増える方向を意味する。つまり、変更部417は、2次元配列の要素に設定されている候補数字を、同じ行において移動数だけ列番号が増える要素に移す。
表示処理部413は、変更された候補数字データに基づいて、当該行に相当する数字ボタンを表示し直す(S1007)。第3変更処理を終えると、図5のS505に示した処理に戻って上述した処理を繰り返す。
図5のS515に示した処理の説明に戻る。S505において受け付けたユーザ操作が、数字ボタンの行に対する右方向へのスライド操作ではないと判定した場合には、受付部415は、当該ユーザ操作が、数字ボタンの行に対する左方向へのスライド操作であるか否かを判定する(S519)。
S505において受け付けたユーザ操作が、数字ボタンの行に対する左方向へのスライド操作であると判定した場合には、変更部417は、第4変更処理を実行する(S521)。第4変更処理では、第1態様において、スライド操作に従って当該行内の数字ボタンに表示されている数字を左方向へ移動させる処理を行う。
図11に、第4変更処理フローを示す。変更部417は、スライド開始位置に基づいて、行を特定する(S1101)。第3変更処理の場合と同様に、変更部417は、スライド開始位置と重なる数字ボタンが属する行を特定する。
変更部417は、スライド距離に基づいて、左方向への候補数字の移動数を算出する(S1103)。第3変更処理の場合と同様に、変更部417は、スライド距離を、数字ボタンの幅と横方向の数字ボタン間隔との和で除して、その商の小数点第1位以下を四捨五入することによって、左方向への候補数字の移動数を求める。
変更部417は、当該行中の候補数字を、移動数だけ左方向へ移動させる(S1105)。ここでいう左方向は、データ構造的に、2次元配列の同じ行において列番号が減る方向を意味する。つまり、変更部417は、2次元配列の要素に設定されている候補数字を、同じ行において移動数だけ列番号が減る要素に移す。
表示処理部413は、変更された候補数字データに基づいて、当該行に相当する数字ボタンを表示し直す(S1107)。第4変更処理を終えると、図5のS505に示した処理に戻って上述した処理を繰り返す。
ここで、図1に示した遷移例における候補数字データの変更について説明する。図12は、暗証番号入力ウィンドウ101cに示したスライド操作によって変更された候補数字データの例を示している。この例では、第7行の候補数字を2つ左方向へ移している。
図13は、暗証番号入力ウィンドウ101dに示したスライド操作によって変更された候補数字データの例を示している。この例では、第5行の候補数字を1つ左方向へ移している。
図14に、暗証番号入力ウィンドウ101eに示したスライド操作によって変更された候補数字データの例を示している。この例では、第4行の候補数字を2つ右方向へ移している。
図5のS519に示した処理の説明に戻る。S505において受け付けたユーザ操作が、数字ボタンの行に対する左方向へのスライド操作ではないと判定した場合には、受付部415は、当該ユーザ操作が、数字ボタンへのタップ操作であるか否かを判定する(S523)。
S505において受け付けたユーザ操作が、数字ボタンへのタップ操作であると判定した場合には、特定部419は、特定処理を実行する(S525)。特定処理では、第1態様において、通常の入力方式による暗証番号の入力を行う。
図15に、特定処理フローを示す。特定部419は、候補数字データに基づいて、タップされた数字ボタンに対応する候補数字を特定する(S1501)。つまり、特定部419は、候補数字データから当該数字ボタンの位置に対応する要素の値を読む。
特定部419は、当該候補数字を数字列バッファ435に加える(S1503)。この例で、特定部419は、数字列バッファ435の先頭から候補数字を設定する。特定処理を終えると、図5のS505に示した処理に戻って上述した処理を繰り返す。
図5のS523に示した処理の説明に戻る。S505において受け付けたユーザ操作が、数字ボタンへのタップ操作ではないと判定した場合には、受付部415は、当該ユーザ操作が、決定ボタンへのタップ操作であるか否かを判定する(S527)。
S505において受け付けたユーザ操作が、決定ボタンへのタップ操作であると判定した場合には、制御部421は、サブルーチン処理を実行する(S529)。サブルーチン処理では、決定ボタンがタップ操作された場合の処理を行う。尚、当該ユーザ操作が、決定ボタンへのタップ操作ではないと判定した場合には、S505に示した処理に戻って、上述した処理を繰り返す。
図16に、サブルーチン処理フローを示す。特定部419は、数字列バッファ435が満ちているか否かを判定する(S1601)。この例では、数字列バッファ435に4つの候補数字が設定されている場合に数字列バッファ435が満ちていると判定する。一方、数字列バッファ435に設定されている候補数字の数が3つ以下である場合には数字列バッファ435が満ちていないと判定する。
数字列バッファ435が満ちていると判定した場合には、特定部419は、数字列バッファ435に設定されている候補数字列を暗証番号とする(S1603)。インターフェース部423は、暗証番号を認証部441へ渡す(S1605)。そして、制御部421は、ステータスに「終了」を設定する(S1607)。ステータスは、サブルーチン処理の結果を示す制御用のパラメータである。ステータスには、「継続」或いは「終了」が設定されるものとする。サブルーチン処理を終えると、図5のS531に示した処理に移る。
図16のS1601に示した処理の説明に戻る。数字列バッファ435が満ちていないと判定した場合には、表示処理部413は、数字ボタンに代えて、マスクボタンを表示する(S1609)。マスクボタンは、数字を示さないボタンである。従って、マスクボタンを表示する処理は、候補数字を消去することに相当する。
受付部415は、イベントを受け付ける(S1611)。この例では、マスクボタンへのタッチ或いはマスクボタン以外の領域へのタッチに相当するイベントを受け付けるものと想定する。
受付部415は、ユーザの指がマスクボタンをタッチしたか否かを判定する(S1613)。ユーザの指がマスクボタン以外をタッチしたと判定した場合には、制御部421は、ステータスに「継続」を設定する(S1615)。表示処理部413は、候補数字データに基づいて数字ボタンを表示する(S1616)。そして、サブルーチン処理を終え、図5のS531に示した処理に移る。
一方、この例でユーザの指がマスクボタンをタッチしたと判定した場合には、通常入力方式によって途中まで入力された候補数字列を破棄する。そのため、特定部419は、数字列バッファ435をクリアする(S1617)。
特定部419は、マスクボタンに対応する候補数字を特定する(S1619)。つまり、特定部419は、候補数字データから当該マスクボタンの位置に対応する要素の値を読む。
特定部419は、当該候補数字を数字列バッファ435に加える(S1621)。S1621の処理において、最初の候補数字が設定される。そして、端子Aを介して、図18に示した処理に移る。
図17は、図1の暗証番号入力ウィンドウ101hに示したように、第4列の数字ボタンを下から上へなぞった場合に特定される暗証番号を示している。図16のS1621に示した処理では、第7行第4列の要素に設定されている値「2」が、暗証番号における先頭の数字となる。図18に示した処理では、第6行第4列の要素に設定されている値「8」、第5行第4列の要素に設定されている値「0」及び第4行第4列の要素に設定されている値「7」が順次設定される。
図18の説明に移る。受付部415は、イベントを受け付ける(S1801)。ここでは、タッチさせたまま指をスライドさせる操作或いは指を離す操作に相当するイベントを受け付けるものと想定する。
ユーザがタッチさせている指をそのままスライドさせると、タッチ位置が移る。そして、別のマスクボタンまで指でなぞると、タッチ位置が別のマスクボタンに重なるようになる。そのため、受付部415は、タッチ位置が別のマスクボタンに重なったか否かを判定する(S1803)。
タッチ位置が別のマスクボタンに重なったと判定した場合には、特定部419は、当該マスクボタンに対応する候補数字を特定する(S1805)。つまり、特定部419は、候補数字データから当該マスクボタンの位置に対応する要素の値を読む。
特定部419は、当該候補数字を数字列バッファ435に加える(S1807)。S1807の処理において、2番目以降の候補数字が設定される。
特定部419は、数字列バッファ435が満ちたか否かを判定する(S1809)。具体的には、4番目の候補数字を設定した場合に、数字列バッファ435が満ちたと判定する。一方、2番目又は3番目の候補数字を設定した場合には、数字列バッファ435が満ちていないと判定する。
数字列バッファ435が満ちていないと判定した場合には、S1801に示した処理に戻って上述した処理を繰り返す。
一方、数字列バッファ435が満ちたと判定した場合には、特定部419は、数字列バッファ435に設定されている候補数字列を暗証番号とする(S1811)。インターフェース部423は、暗証番号を認証部441へ渡す(S1813)。制御部421は、ステータスに「終了」を設定する(S1815)。そして、サブルーチン処理を終え、図5のS531に示した処理に移る。
図18のS1803に示した処理の説明に戻る。タッチ位置が別のマスクボタンに重なっていないと判定した場合には、受付部415は、ユーザの指が離れたか否かを判定する(S1817)。
ユーザの指が離れていないと判定した場合には、S1801に示した処理に戻って上述した処理を繰り返す。
一方、ユーザの指が離れたと判定した場合には、特定部419は、数字列バッファ435をクリアする(S1819)。制御部421は、ステータスに「継続」を設定する(S1821)。表示処理部413は、候補数字データに基づいて数字ボタンを表示する(S1823)。そして、サブルーチン処理を終え、図5のS531に示した処理に移る。
図5に示したメイン処理(A)フローの説明に戻る。サブルーチン処理から復帰すると、制御部421は、ステータスが「終了」であるか否かを判定する(S531)。ステータスが「終了」ではないと判定した場合、つまりステータスが「継続」である場合には、S505に示した処理に戻って上述した処理を繰り返す。
一方、ステータスが「終了」であると判定した場合には、暗証番号入力ウィンドウ101を閉じてメイン処理(A)を終える。以上で、本実施の形態における処理の説明を終える。
本実施の形態によれば、入力した暗証番号を他人が察知しにくくなる。
また、ユーザが暗証番号を選択しやすいように候補数字を並び替えることができる。
また、マトリクスの行及び列の単位で操作を受け付けるので、候補数字の配置を変更する操作及び候補数字が表示されていたマスクボタンを選択する操作が容易である。
また、暗証番号を直接選択する通常の入力方式に切り替える手間が省ける。
[実施の形態2]
上述した実施の形態では、スライド操作によって候補数字の配置を変更する例について説明したが、本実施の形態では、ボタン操作によって候補数字の配置を変更する例について説明する。
実施の形態1の場合、ユーザが移動させようとする候補数字をタッチしてスライドさせる操作を繰り返し行うと、揃えようとしている暗証番号が他人に推測されやすい。本実施の形態では、ボタン操作によって候補数字をずらすようにする。従って、いずれの候補数字を移動させようとしているのか他人にはわからない。
図19に、実施の形態2に係る暗証番号入力ウィンドウ101の例を示す。この例で、実施の形態1の例で示した第1列及び第9列の数字ボタンは省いている。また、同じく第1行及び第9行の数字ボタンは省いている。
そして、マトリクスの左側には同行の数字ボタンを左へ1つずらす指示を行うための左ボタンが設けられている。同じく右側には同行の数字ボタンを右へ1つずらす指示を行うための右ボタンが設けられている。同じく上側には同列の数字ボタンを上へ1つずらす指示を行うための上ボタンが設けられている。同じく下側には同列の数字ボタンを下へ1つずらす指示を行うための下ボタンが設けられている。メッセージ領域103には、「上下左右のボタン操作で暗証番号の数字を並べて、決定ボタンに触れてください。」と表示されている。
本実施の形態では、図5に示したメイン処理(A)フローに代えて、メイン処理(B)フローを実行する。図20に、メイン処理(B)フローを示す。S501乃至S505に示した処理は、図5の場合と同様である。
受付部415は、S505において受け付けたユーザ操作が、下ボタンへのタップ操作であるか否かを判定する(S2001)。当該ユーザ操作が、下ボタンへのタップ操作であると判定した場合には、変更部417は、第5変更処理を実行する(S2003)。第5変更処理では、第1態様において、下ボタンへのタップ操作に従って当該下ボタンに対応する列内の数字ボタンに表示されている候補数字を下方向へ1つだけ移動させる処理を行う。
図21に、第5変更処理フローを示す。変更部417は、タップされた下ボタンに基づいて、列を特定する(S2101)。変更部417は、当該列中の候補数字を、1つだけ下方向へ移動させる(S2103)。移動数が固定値1である点を除き、候補数字の移し方は実施の形態1の場合と同様である。表示処理部413は、当該列に相当する数字ボタンを表示し直す(S2105)。第5変更処理を終えると、S505に示した処理に戻って上述した処理を繰り返す。
図20のS2001に示した処理の説明に戻る。S505において受け付けたユーザ操作が、下ボタンへのタップ操作ではないと判定した場合には、受付部415は、当該ユーザ操作が、上ボタンへのタップ操作であるか否かを判定する(S2005)。
当該ユーザ操作が、上ボタンへのタップ操作であると判定した場合には、変更部417は、第6変更処理を実行する(S2007)。第6変更処理では、第1態様において、上ボタンへのタップ操作に従って当該上ボタンに対応する列内の数字ボタンに表示されている候補数字を上方向へ1つだけ移動させる処理を行う。
図21に示した第5変更処理フローをベースに、第6変更処理が第5変更処理と相違する点について説明する。
S2101に相当するステップにおいて、タップされた上ボタンに基づいて、列を特定する。S2103に相当するステップにおいて、当該列中の候補数字を、1つだけ上方向へ移動させる。S2105に相当するステップは、S2105の場合と同様である。
図20のS2005に示した処理の説明に戻る。S505において受け付けたユーザ操作が、上ボタンへのタップ操作ではないと判定した場合には、受付部415は、当該ユーザ操作が、右ボタンへのタップ操作であるか否かを判定する(S2009)。
当該ユーザ操作が、右ボタンへのタップ操作であると判定した場合には、変更部417は、第7変更処理を実行する(S2011)。第7変更処理では、第1態様において、右ボタンへのタップ操作に従って当該右ボタンに対応する行内の数字ボタンに表示されている候補数字を右方向へ1つだけ移動させる処理を行う。
図21に示した第5変更処理フローをベースに、第7変更処理が第5変更処理と相違する点について説明する。
S2101に相当するステップにおいて、タップされた右ボタンに基づいて、行を特定する。S2103に相当するステップにおいて、当該行中の候補数字を、1つだけ右方向へ移動させる。S2105に相当するステップにおいて、表示処理部413は、当該行に相当する数字ボタンを表示し直す。
図20のS2009に示した処理の説明に戻る。S505において受け付けたユーザ操作が、右ボタンへのタップ操作ではないと判定した場合には、受付部415は、当該ユーザ操作が、左ボタンへのタップ操作であるか否かを判定する(S2013)。
当該ユーザ操作が、左ボタンへのタップ操作であると判定した場合には、変更部417は、第8変更処理を実行する(S2015)。第8変更処理では、第1態様において、左ボタンへのタップ操作に従って当該左ボタンに対応する行内の数字ボタンに表示されている候補数字を左方向へ1つだけ移動させる処理を行う。
図21に示した第5変更処理フローをベースに、第8変更処理が第5変更処理と相違する点について説明する。
S2101に相当するステップにおいて、タップされた左ボタンに基づいて、行を特定する。S2103に相当するステップにおいて、当該行中の候補数字を、1つだけ左方向へ移動させる。S2105に相当するステップにおいて、表示処理部413は、当該行に相当する数字ボタンを表示し直す。
図20のS2013に示した処理の説明に戻る。S505において受け付けたユーザ操作が、左ボタンへのタップ操作ではないと判定した場合には、受付部415は、当該ユーザ操作が、数字ボタンへのタップ操作であるか否かを判定する(S523)。S523乃至S531に示した処理は、図5の場合と同様である。
本実施の形態によれば、入力しようとする番号を他人が推察しにくくなる。
尚、図4に示した例では、暗証番号入力モジュール403は認証部441から呼び出されて起動する。この例では、暗証番号入力モジュール403は各種のプログラムから呼び出されるようにしてもよい。つまり、暗証番号入力モジュール403は共用のモジュールであってもよい。
図22に、携帯端末装置401の別のモジュール構成例を示す。この例で、暗証番号入力モジュール403はアプリケーションプログラム405に含まれる。この場合にも、暗証番号入力モジュール403は、認証部441から呼び出されて起動する。そして、暗証番号入力モジュール403は、入力された暗証番号を認証部441へ渡す。但し、この例では、暗証番号入力モジュール403はアプリケーションプログラム405専用である。
また、携帯端末装置401がネットワークを介して接続する装置における認証部441に暗証番号を提供するようにしてもよい。図23に、システム構成例を示す。この例で、携帯端末装置401は、ネットワーク(例えば、インターネット或いはローカルエリアネットワーク)を介してサーバ装置2301に接続し、サービス部2303によるサービスを利用する。サービス部2303は、ユーザ認証を行う認証部2305を有している。
一方、アプリケーションプログラム405は、サービス部2303へユーザ認証を要求する要求部2307を有している。暗証番号入力モジュール403は、要求部2307に呼び出されて起動する。そして、暗証番号入力モジュール403は、暗証番号を要求部2307へ渡す。要求部2307は、例えばアカウント名と暗証番号とを認証部2305へ送信して、ユーザ認証を要求する。
認証部2305によるユーザ認証が成功すると、アプリケーションプログラム405はサービス部2303によるサービスを利用する。この場合、図4の場合と同様に、暗証番号入力モジュール403は共用のモジュールであってもよい。
また、外部のユーザ認証を要求する形態において、図24に示すように、アプリケーションプログラム405専用の暗証番号入力モジュール403で暗証番号を受け付けるようにしてもよい。暗証番号入力モジュール403、要求部2307及び認証部2305の動作は、図23の場合と同様である。
最後に、携帯端末装置401のハードウェア構成例について説明する。図25に、携帯端末装置401のハードウエア構成例を示す。携帯端末装置401は、例えばCPU(Central Processing Unit)2501、記憶回路2503、無線通信用アンテナ2511、無線通信制御回路2513、LCD(Liquid Crystal Display)制御回路2523、LCD2525、タッチパッド2527、キー群2529、GPS(Global Positioning System)装置2531及びタイマー回路2533を有している。
CPU2501は、記憶回路2503に記憶されているプログラムを実行する。記憶回路2503は、例えば、ROM(Read Only Memory)2505とRAM(Random Access Memory)2507とフラッシュメモリ2509とを有している。ROM2505は、例えば基礎的なプログラムや初期データを格納している。RAM2507は、プログラムを展開する領域を含んでいる。RAM2507は、一時的なデータを格納する領域も含んでいる。フラッシュメモリ2509は、例えば、アプリケーションなどのプログラムやユーザデータを格納している。
LCD制御回路2523は、所定の動作周波数でクロック回路を動作させ、LCD2525を駆動させる。LCD2525は、各種画面を表示する。タッチパッド2527は、例えば、LCD2525の表示面上に配置されたパネル状のセンサであり、タッチ操作による指示を受け付ける。具体的には、LCD2525とタッチパッド2527とを一体としたタッチパネルとして用いられる。キー群2529の各ハードキーは、筐体の一部に設けられている。
無線通信用アンテナ2511は、例えば、セルラー方式、無線LAN(Local Area Network)方式あるいは近距離通信方式による無線電波を受信する。無線通信制御回路2513は、各方式における使用周波数に応じて無線通信の制御を行う。タイマー回路2533は、時刻を計測する。
携帯端末装置401は、コンピュータの一態様である。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
以上述べた実施の形態をまとめると、以下のようになる。
一態様の情報処理装置は、(A)暗証番号入力に用いられる候補数字を表示する第1態様において、ユーザから所定指示を受け付けた場合に、候補数字を表示しない第2態様に切り替える表示処理部と、(B)第2態様において、候補数字を表示していた第1位置を複数選択する第1ユーザ操作を受け付ける受付部と、(C)第1ユーザ操作によって選択された第1位置に表示されていた候補数字の列を暗証番号として特定する特定部とを有する。
このようにすれば、入力した暗証番号を他人が察知しにくくなる。
更に、第1態様において、第2ユーザ操作に応じて、候補数字の配置を変更する変更部を有するようにしてもよい。
このようにすれば、ユーザが暗証番号を選択しやすいように候補数字を並び替えることができる。
更に、上記表示処理部は、第1態様において、暗証番号の桁数以上の行及び当該桁数以上の列を有するマトリクスに候補数字を表示するようにしてもよい。上記変更部は、第1態様において、第2ユーザ操作に応じて、行又は列の単位で候補数字の配置を変更するようにしてもよい。また、第1ユーザ操作は、複数の第1位置を連続して選択する操作であってもよい。
このようにすれば、第1ユーザ操作及び第2ユーザ操作が容易になる。
更に、上記受付部は、第1態様において、候補数字を表示している第2位置を選択する第3ユーザ操作を繰り返して受け付けるようにしてもよい。上記特定部は、第3ユーザ操作によって選択された第2位置に表示されている候補数字の列を暗証番号として特定するようにしてもよい。
このようにすれば、暗証番号を直接選択する方式に切り替える手間が省ける。
更に、第2ユーザ操作は、行又は列に対応するボタンに対する操作であってもよい。
このようにすれば、入力しようとする番号を他人が推察しにくくなる。
なお、上で述べた情報処理装置の処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
暗証番号入力に用いられる候補数字を表示する第1態様において、ユーザから所定指示を受け付けた場合に、前記候補数字を表示しない第2態様に切り替える表示処理部と、
前記第2態様において、前記候補数字を表示していた第1位置を複数選択する第1ユーザ操作を受け付ける受付部と、
前記第1ユーザ操作によって選択された前記第1位置に表示されていた前記候補数字の列を暗証番号として特定する特定部と
を有する情報処理装置。
(付記2)
前記第1態様において、第2ユーザ操作に応じて、前記候補数字の配置を変更する変更部を有する
付記1記載の情報処理装置。
(付記3)
前記表示処理部は、前記第1態様において、前記暗証番号の桁数以上の行及び当該桁数以上の列を有するマトリクスに前記候補数字を表示し、
前記変更部は、前記第1態様において、前記第2ユーザ操作に応じて、前記行又は前記列の単位で前記候補数字の配置を変更し、
前記第1ユーザ操作は、複数の前記第1位置を連続して選択する操作である
付記1又は2記載の情報処理装置。
(付記4)
前記受付部は、前記第1態様において、前記候補数字を表示している第2位置を選択する第3ユーザ操作を繰り返して受け付け、
前記特定部は、前記第3ユーザ操作によって選択された前記第2位置に表示されている前記候補数字の列を前記暗証番号として特定する
付記1乃至3のいずれか1つ記載の情報処理装置。
(付記5)
前記第2ユーザ操作は、前記行又は前記列に対応するボタンに対する操作である
付記3記載の情報処理装置。
(付記6)
暗証番号入力に用いられる候補数字を表示する第1態様において、ユーザから所定指示を受け付けた場合に、前記候補数字を表示しない第2態様に切り替え、
前記第2態様において、前記候補数字を表示していた第1位置を複数選択する第1ユーザ操作を受け付け、
前記第1ユーザ操作によって選択された前記第1位置に表示されていた前記候補数字の列を暗証番号として特定する
処理を含み、プロセッサ又はコンピュータにより実行される暗証番号入力方法。
(付記7)
暗証番号入力に用いられる候補数字を表示する第1態様において、ユーザから所定指示を受け付けた場合に、前記候補数字を表示しない第2態様に切り替え、
前記第2態様において、前記候補数字を表示していた第1位置を複数選択する第1ユーザ操作を受け付け、
前記第1ユーザ操作によって選択された前記第1位置に表示されていた前記候補数字の列を暗証番号として特定する
処理をプロセッサ又はコンピュータに実行させる暗証番号入力プログラム。