説明

情報処理装置、方法、システム、プログラムおよび記憶媒体

【課題】 ユーザが入力する情報によって、入力を要求する他の情報を変更する。そして、ユーザが入力する情報に加えて、その、他の情報を入力させることによって、第三者が情報を入力した痕跡を読み取って、ユーザの入力した情報を類推することを困難にする。
【解決手段】 情報を入力する入力手段と、前記入力手段から入力された情報を識別し、前記情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、前記入力手段によって前記他の情報を入力するように要求する要求手段とを備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、第三者による情報の類推を困難にするための情報処理装置、方法、システム、プログラムおよび記憶媒体に関する。
【背景技術】
【0002】
従来、タッチパネルを持つデバイス上で暗証番号を入力する場合には、手の動きや、指紋などからどのキーが押されたかがわかってしまう。
【0003】
そこで、特開2000−182121号公報において、次のような発明が公開されている。暗証番号にダミー数字をランダムに埋め込んだ数字列を生成し、暗証番号入力中に、その数字列中のダミー数字の順番になったときに、そのキーの数字に下線を引く、または、数字を点滅させるなど入力を促す処理を行い、ダミー数字を押させる。それにより第3者が手の動きから暗証番号を類推するのを困難にしている。
【特許文献1】特開2000−182121号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、従来の方法(特開2000−182121号公報)では、ダミー数字として使用する数字は、暗証番号で使用している数字と同じものでも構わないため、ダミー数字がたまたま暗証番号内の数字と同じであれば、情報を入力した痕跡は増えない。その結果、第3者が、情報入力の痕跡を読み取ることで、入力した情報が類推されてしまうおそれがあった。
【0005】
また別の課題として、従来の方法では、暗証番号中に重複した数字がある場合のように、入力した暗証番号が手の動きや情報入力の痕跡から類推されやすいものであっても、ダミー数字の個数をデバイスがユーザの入力した情報に関わらず一方的に決めていた。
【0006】
また別の課題として、従来の方法でダミー数字を暗証番号列の途中に埋め込むため、ユーザは暗証番号列を入力している途中で、ダミー数字を入力していた。そのため、暗証番号列を連続的に入力することができず、ユーザにとって負担となってしまうおそれがあった。
【0007】
そこで本発明では、ユーザが入力する情報によって、入力を要求する他の情報を変更する。そして、ユーザが入力する情報に加えて、その、他の情報を入力させることによって、第三者が情報を入力した痕跡を読み取って、ユーザの入力した情報を類推することを困難にすることを目的とする。
【0008】
また、本発明の別の目的は、ユーザが入力した情報に重複した情報がある場合に、入力を要求する他の情報の量を増加し、第三者によるユーザの入力した情報の類推を困難にすることを目的とする。
【0009】
また、本発明の別の目的は、情報の入力が終了したあとに、他の情報を入力させることで、情報の入力の際にユーザにかかる負担を低減することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するために、本発明は、情報を入力する入力手段と、前記入力手段から入力された情報を識別し、前記情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、前記入力手段によって前記他の情報を入力するように要求する要求手段とを備えることを特徴とする。
【0011】
また本発明は、情報を入力する入力手段と、入力された情報に重複した情報があるか判断する判断手段と、他の情報を入力するように要求する要求手段とを備え、前記要求手段は、前記判断手段によって重複した情報があると判断した場合に、要求する他の情報の量を増加することを特徴とする。
【0012】
また本発明では、要求手段は、情報の入力が終了したあとに、他の情報の入力を要求することを特徴とする。
【発明の効果】
【0013】
本発明によれば、ユーザが入力する情報によって、入力を要求する他の情報を変更する。ユーザが入力する情報に加えて、他の情報も入力させることによって、第三者が情報を入力した痕跡を読み取って、ユーザの入力した情報を類推することを困難にすることができる。
【0014】
また、本発明の別の効果として、ユーザの入力した情報に重複した情報がある場合に、入力を要求する他の情報の量を増加することで、第三者によるユーザの入力した情報の類推を困難にする効果がある。
【0015】
また、本発明の別の効果として、情報の入力が終了したあとに、他の情報を入力させることで、情報の入力の際にユーザにかかる負担を低減する効果がある。
【発明を実施するための最良の形態】
【0016】
以下に、図面を参照して、本発明の好適な実施形態を例示的に説明する。
【実施例1】
【0017】
図1は本発明による第1実施例の情報処理装置の概略構成を示したブロック図である。
【0018】
第1実施例の情報処理装置は、制御部100と主記憶装置(RAM)110と入力部120と表示部130とを有し、制御部100は、CPU101とプログラムメモリ(ROM)102を備えている。
【0019】
CPU101は、中央演算処理装置で、プログラムメモリ(ROM)102と主記憶装置(RAM)110と入力部120と表示部130とに接続されている。また、CPU101は、プログラムメモリ(ROM)102に格納されているプログラムに従って動作する。プログラムROM102は、図2、図4、図6、図8のフローチャートに対応するプログラムを記憶し、かかるプログラムはCPU101により実行される。主記憶装置110は、CPU101がプログラムを実行するときに使用するワークエリアを有する。また、主記憶装置110は例えば、図1に示すような用途別の記憶領域を持っている。具体的には、主記憶装置110はパスワード格納領域111、第1の入力文字列格納領域112、第2の入力文字列格納領域113、生成文字列格納領域114、変数領域115などを有している。まず、パスワード格納領域111は、あらかじめ登録されたパスワードを記憶しておく領域である。このパスワードは、ユーザごとに登録されたパスワードであってもよいし、装置が有する固定のパスワードであってもよい。第1の入力文字列格納領域112は、パスワードの要求に対して入力された文字列を格納しておく領域である。第2の入力文字列格納領域113は、後に説明する生成文字列の入力の要求に対して、入力された文字列を格納しておく領域である。生成文字列格納領域114は、CPU101が生成した文字列を格納しておく領域である。変数領域115は、種々の変数の値を保持しておく領域である。表示部130は、CPU101から送られてくるデータを記憶するメモリを有し、メモリにあるデータに従って表示をおこなう。例えば、CPU101から送られてくる、文字や数字をどのように配置するかというデータに基づいて文字や数字を配置して表示する。また、入力手段の一例である入力部120は、文字や数字、記号を入力させるものであり、入力されたデータをCPU101に送る。入力部120の具体例として、キーボードがあげられる。キーボードはキーを押し下げることで入力するハードウェアのキーボード以外に、キーをタッチすることで入力することができる仮想のキーボードも含む。仮想キーボードの場合、仮想キーボードはタッチパネルを表示画面に重ねて配置し、そのタッチパネルを指などで押されることにより、押された位置を検出する。そして、表示画面のうち、検出した位置に対応する個所に表示してある文字や数字などのデータをCPU101に送る。またキーボードは、アルファニューメリックキーとテンキーがいっしょになったフルキーボードを含み、どちらか一方からなるものも含む。
【0020】
次に前述した図1で説明した実施例の動作を図2のフローチャートを用いて説明する。ここでは、仮想キーボードの例を用いて説明する。
【0021】
まず、ステップS1000において、図1のCPU101は、仮想キーボードが表示部130の画面に出ているかどうかを判定する。出ている場合は、ステップS1010に進む。
【0022】
ステップS1010において、CPU101は、仮想キーボードの入力対象が、パスワードであるかどうかを判定する。仮想キーボードの入力対象がパスワードであれば、ステップS1020に進む。
【0023】
ステップS1020において、CPU101は、ユーザからの入力を待ち、図1の入力部120から入力された文字を図1の主記憶装置110が有する第1の入力文字列格納領域112に格納する。
【0024】
次に、ステップS1030に進み、CPU101は、ステップS1020の入力が終了したかを判断する。入力終了の判断の仕方は、例えば暗証番号が4桁と決まっている場合に、4桁の暗証番号が入力されたことにより終了を判断する方法がある。またこれに限らず、仮想キーボード上にOKボタンや、Enterボタンなど、入力を終了させるボタンを用意しておき、そのボタンをユーザが入力したかどうかを判断する方法もある。ステップS1030で入力が終了していない場合は、ステップS1020に戻り、ステップS1020からステップS1030を繰り返す。入力された文字を複数文字格納する場合、1文字入力するごとに、文字を格納する領域を変更して格納する。ステップS1030で、入力が終了したと判断した場合は、ステップS1040に進む。
【0025】
ステップS1040において、生成手段として例えば、CPU101は次の処理を行う。CPU101は、ステップS1020で主記憶装置110の第1の入力文字列格納領域112に格納した、ユーザが入力した文字以外の文字を少なくとも1文字含ませたランダムな文字列(以下、生成文字列)を生成する。ここでは、第1の入力文字列格納領域112に格納した文字を基準に生成文字列を生成した。だが、これに限らず、生成手段による別の生成文字列の生成方法として、CPU101は、パスワード格納領域111にあらかじめ登録してあるパスワードに使われている文字以外の文字を、少なくとも1文字含ませた生成文字列を生成してもよい。また、生成文字列の生成方法は、ユーザが入力した文字(もしくは、あらかじめ登録してあるパスワードに使われている文字)以外の文字を、重複することなくランダムに選んで生成文字列を生成するようにしてもよい。
【0026】
ステップS1050において、CPU101は、ステップS1040で生成した生成文字列を生成文字列格納領域114に格納する。
【0027】
そして、ステップS1060に進み、要求手段として例えば、CPU101は、生成文字列を図1の表示部130に送り、ユーザに対して生成文字列の入力を要求する表示をおこなう。
【0028】
次に、ステップS1070に進み、CPU101は、ユーザからの生成文字列の入力を待ち、入力された文字を第2の入力文字列格納領域113に格納する。
【0029】
次に、ステップS1080に進み、判断手段として例えば、CPU101は、ステップS1070の入力が終了したかを判断する。終了していなければ、ステップS1070に戻りステップS1070からステップS1080を繰り返す。ステップS1080で、ステップS1070の入力が終了したと判断した場合は、ステップS1090に進む。
【0030】
ステップS1090において、CPU101は、ユーザがステップS1070で入力した入力文字列を図1に示す主記憶装置110の第2の入力文字列格納領域113から取り出し、生成文字列格納領域114の生成文字列と一致しているかを判定する。一致していなければ、ステップS1100に移り、表示部130にエラーメッセージを送り、エラーメッセージを表示し、ステップS1070からステップS1100を繰り返す。ステップS1090で一致していれば、処理S1110に移り、表示部130に表示されている仮想キーボードを閉じて(表示を消して、あるいは別の表示に切り替えて)、ステップS1120に移る。
【0031】
ステップS1120では、CPU101は仮想キーボードから入力された文字列によって処理をおこなう。ここでいう処理は、その文字列によって認証をおこなう処理であってもよいし、その文字列を登録する処理であってもよい。認証する場合には、例えば、CPU101は、主記憶装置110のパスワード格納領域111に格納されているパスワードと、第1の入力文字列格納領域に格納された文字列とを比較しておこなうとよい。
【0032】
認証をおこなう処理が終了すれば、情報処理装置は次の処理へ移る。次の処理とは、本情報処理装置が、例えば、銀行のATMに搭載されたものである場合は、CPU101は、入出金処理のための処理をおこなう。又、本情報処理装置が、例えば、複写機に搭載されたものである場合は、CPU101は、コピーやプリントをおこなうための処理を実行可能にする。また、文字列を登録する処理が終了した場合も、認証をおこなうための画面を表示部130に表示するなど、情報処理装置は次の処理へ移るようにするとよい。
【0033】
本実施例は上記のように動作するが、その際の入力部の変化について図3を用いて説明をおこなう。
【0034】
図3(a)は前述した仮想キーボードの一例である仮想テンキーを表す図である。暗証番号が4桁であり、生成文字列の長さは3として説明する。まず、ユーザからの入力が1、2、5、9であった場合、入力後の画面の指紋は図3(b)のようになる。その後、CPU101は前述した制御により、1、2、5、9以外の文字を含む8、2、6を生成文字列として生成し、図3(c)のように表示部に表示することで、ユーザに入力を促す。タッチパネルを介してその文字が入力された場合、入力後の画面上の指紋は図3(d)のようになる。生成文字列が正しく入力されている場合、CPU101は、図3(e)に表したように入力された暗証番号が正しいかどうか認証をおこなう。ここで、図9に示すように、制御部100で認証をおこなわず、制御部100を有する装置とは別の認証部を有する装置で認証をおこなう場合もある。その場合は、入力された暗証番号を、その別の装置に送ってもよい。
【0035】
この結果、指紋は、1、2、5、6、8、9の計6つ付くため、第三者が指紋から入力した数字を読み取ったとしても、読み取った数字のうち、どの数字が暗証番号の要求に対して入力されたものかがわからない。これにより、第三者による暗証番号の類推を困難にする効果がある。
【実施例2】
【0036】
次に本発明第2の実施例について説明する。
【0037】
実施例1では、パスワード以外の文字列を表示して、ユーザがその文字列を表示された順番で入力するまで仮想キーボードを閉じないことで処理をそれ以上進めなくしていた。しかし、本発明では、タッチパネル上の指紋の付き具合を読み取ることからパスワードに使われている文字が類推されるのを防止することが目的のため、正確に生成文字列を順番も守って入力してもらう必要はない。
【0038】
第2の実施例を実施例1の図1とフローチャート図4を用いて説明する。図1の構成は基本的に実施例1と同じであるが、表示部には図5に示すタイプの仮想キーボードを表示する場合で説明する。図5に示すタイプの仮想キーボードは、例えば複写機が備えるタッチパネルの下に表示画面が設けられ、そこに表示される。この仮想キーボードは図示のごとく数字の入力のほかに文字の入力が可能となっている。
【0039】
まず、ステップS1000〜S1060までは実施例1のフローチャートと同様である。
【0040】
ステップS2070において、CPU101は、ユーザからの文字入力を待ち、入力があれば次のステップS2080に進む。
【0041】
次に、ステップS2080において、CPU101は、ユーザが入力した文字が生成文字列中にあるかどうかを判定する。存在しなければステップS2070に戻り、ステップS2070〜S2080を繰り返す。ステップS2080で、入力した文字が生成文字列中に存在していれば、ステップS2090に進む。
【0042】
ステップS2090において、CPU101は、生成文字列から入力文字を削除したものを生成文字列とする。
【0043】
次に、ステップS2100に進み、判断手段として例えば、CPU101は、生成文字列がステップS2090の削除により無くなったかどうか判断する。無くなっていればステップS2110に移る。まだ存在すれば、ステップS1060に進む。一文字削除されて少なくなった生成文字列を表示し、ステップS2070からステップS2100を繰り返す。
【0044】
ステップS2110において、ユーザが生成文字列をすべて入力したということなので、CPU101は仮想キーボードを閉じてステップS2120に進む。
【0045】
ステップS2120では、CPU101は仮想キーボードから入力された文字列によって処理をおこなう。ここでいう処理は、その文字列によって認証をおこなう処理であってもよいし、その文字列を登録する処理であってもよい。
【0046】
認証をおこなう処理が終了すれば、情報処理装置は、実施例1の場合と同様に、次の処理へ移る。
【0047】
本実施例は上記のように動作するが、その際の入力部の変化について図5(a)〜図5(f)を用いて、詳細に説明をおこなう。
【0048】
図5(a)は仮想キーボード500を表した図である。仮想キーボードは入力フィールド510、各入力キー520、OKボタン530、Cancelボタン540を有する。入力フィールド510は各入力キー520によって押された文字を表示する領域である。OKボタン530は、仮想キーボード500を閉じるボタンである。ちなみに、Cancelボタン540は、仮想キーボード500での入力をすべて無効にして仮想キーボード500を閉じるボタンである。また図5(b)から図5(f)は、入力フィールド510がユーザから入力があるたびに遷移する様子を表したものである。
【0049】
パスワードをPOIUという4文字とする。仮想キーボードでパスワードを入力しても入力フィールド510には文字がすべて*で表示され、見た目にはわからなくなっている。図5(a)は、フローチャート図4のステップS1000〜ステップS1020までを行い、パスワードの入力をし終わった図である。
【0050】
図4のステップS1030において、CPU101は、図6のOKボタン530が押されたかを判定し、押された場合はステップS1040に進む。押されていない場合は、ステップS1020に戻り、ステップS1020とステップS1030の処理を繰り返す。
【0051】
ステップS1040において、CPU101は、次の処理を行う。CPU101は、ステップS1020で主記憶装置110の第1の入力文字列格納領域112に格納した、ユーザが入力した文字以外の文字を、少なくとも1文字含むランダムな文字列(以下、生成文字列)を生成し、生成文字列格納領域114に格納する。ここではasdfが生成されたとする。
【0052】
ステップS1050において、ステップS1040で生成した文字列を生成文字列格納領域114に格納する。
【0053】
次にステップS1060において、生成文字列を表示した入力フィールド510が図5(b)である。表示場所は、この例では入力フィールド510のパスワードを隠してある*の後に表示しているが、本発明ではその場所は問わない。ポップアップダイアログの中に表示してもよいし、表示用のフィールドをあらかじめ仮想キーボード内に設けておいてそこに表示してもよい。
【0054】
続いて、ステップS2070でユーザからの文字入力を待ち、ユーザがsを入力しようとしてキーSを押すと、ステップS2080でsが生成文字列asdf中にあるためステップS2090に移り生成文字列asdfからsを削除し、adfを生成文字列とする。ステップS2100で生成文字列はadfで存在するためステップS1060に再度移り、生成文字列adfを表示したのが図5(c)である。
【0055】
続いて、ステップS2070でユーザからの文字入力を待ち、ユーザがaを入力しようとしてキーAを押した場合、ステップS2080でaが生成文字列adf中にあるためステップS2090に移り生成文字列adfからaを削除して、dfを生成文字列とする。ステップS2100で生成文字列はdfで存在するためステップS1060に再度移り、生成文字列dfを表示したのが図5(d)である。
【0056】
続いて、ステップS2070でユーザからの文字入力を待ち、ユーザが間違ってqを入力しようとしてキーQを押した場合、ステップS2080でqが生成文字列df中にはないためステップS2070に移りユーザからの文字入力を待つ。ユーザがfを入力しようとしてキーFを押した場合、ステップS2080でfが生成文字列df中にあるためステップS2090に移り生成文字列dfからfを削除して、dを生成文字列とする。ステップS2100で生成文字列はdで存在するため、ステップS1060に再度移り、生成文字列dを表示したのが図5(e)である。
【0057】
続いて、ステップS2070でユーザからの文字入力を待ち、ユーザがdを入力しようとしてキーDを押した場合、ステップS2080でdが生成文字列d中にあるためステップS2090に移り生成文字列dからdを削除して、生成文字列が無くなる。この状態をユーザに見せてもよく、その場合は、図5(f)になる。ステップS2100で生成文字列は無いためステップS2110に移り、仮想キーボードを閉じる(ユーザに仮想キーボードのOKボタンを再度押させて閉じてもよいが、自動的に閉じてもよい。)。そして、ステップS2120で、仮想キーボードからの入力されたPOIUを用いて処理をおこなう。
【0058】
これらの処理により、タッチパネルへの指紋はパスワードのPOIU以外に、ASDFのキーの場所にも付くため、これらの情報を読み取っても、その組合せは膨大であり、パスワードが何かは類推することが困難である。例え、パスワードが4文字だとわかっていたとしても、生成文字列とあわせて8文字存在するため、その組合せは8の4乗=4096通りとなり、パスワードの類推を困難にすることができる。
【0059】
また、ここではパスワードが4文字である場合を例にとって説明したが、パスワードの桁数を増やせば、第三者によるパスワードの類推を更に困難にすることが可能である。
【実施例3】
【0060】
次に、第3の実施例として、暗証番号の中の数字が重複している場合を考えてみる。
【0061】
例えば、銀行の現行の暗証番号は4桁であり、同じ数字を暗証番号として使わないようにとの指示があるが、極端な例として、4桁同じ数字を暗証番号として登録しているとする。また、実施例1、2の方法で、生成文字列が2桁であると決まっているとする。すると、例えば、暗証番号が、3333で、生成文字列が12であった場合は、指紋のつき具合をみると、1、2、3になる。ここで、生成文字列の桁は2なので、指紋のついているキーの個数(3個)から引くと暗証番号に使われた数字は1桁とわかり、暗証番号が4桁であれば、4桁すべてが同じ数字であるということがわかってしまう。この場合は、1111、2222、3333の計3通りが暗証番号の候補となり、3通りすべてを試せば、すぐに暗証番号がわかってしまう。
【0062】
そこで、パスワードに重複文字がある場合に有効な方法である第3の実施例を実施例1の図1を流用して説明するが、例えば、主記憶装置200の定義が一部異なる。主記憶装置200内に変数領域115を設け、その変数領域115に変数PL、KL、JL、KL2を記憶可能にする。いずれの変数も初期値として0を設定しておく。かかる実施例の動作についてフローチャート図6を用いて説明する。
【0063】
図6のステップS1000からステップS1010までは、実施例1、2に同じである。ステップS1010で入力対象がパスワードであると判断された場合、ステップS3020に移る。
【0064】
ステップS3020において、CPU101は、パスワードの文字列の長さを取得して、それを変数PL(変数PLは図1の主記憶装置200の変数領域115に用意する、なお、以下の変数も同様に主記憶装置に用意する。)に代入する。そしてステップS3030に進む。
【0065】
ステップS3030において、CPU101は、あらかじめ決められている生成文字列の長さを取得して、それを変数KLに代入し、ステップS3040に進む。
【0066】
ステップS3040において、CPU101は、ユーザからのパスワードの入力を待ち、図1の入力部120から入力された文字を図1の主記憶装置110内の第1の入力文字列格納領域112に格納していく。
【0067】
次にステップS3050に進み、CPU101は、入力された文字列の長さがPLと等しくなったかどうかを判定する。等しければステップS3060に進む。等しくない場合は、ステップS3040とステップS3050の処理を繰り返す。
【0068】
ステップS3060において、CPU101は、入力された文字列中(もしくは、あらかじめ登録してあるパスワード中)に、重複文字があれば一つにまとめて1文字とした場合の、パスワードの長さを変数JLに代入する。例えば、パスワードがsucceededであれば、PLは、9文字で、JLは、cが2回重複し、eが3回重複し、dが2回重複している。そのため、それぞれ重複文字を一つにまとめて1文字にすると、sucedとなり5文字である(JL=全文字数+重複文字種類数−重複回数の総計で求まる。この例では、JL=9+3−(2+3+2)=12−7=5)。
【0069】
次にステップS3070に移り、判定手段の一例としてCPU101は、PLとJLが等しいかどうかを判定する。ここで、PLとJLは、入力された文字列中に重複文字がない場合に等しい値になり、重複文字がある場合は異なる値になる。PLとJLが等しい場合は、ステップS3090に移り、あらかじめ定められた生成文字列の長さをKLとして、ユーザが入力した文字(もしくは、予め登録してあるパスワード中の文字)以外の文字を使い、長さKLの文字列を生成し、ステップS3100に進む。
【0070】
ステップS3070で、CPU101は、PLとJLが等しくないと判定した場合は、ステップS3080に進み、新しく定める生成文字列の長さをKL2、あらかじめ定められた生成文字列の長さをKLとする。そして、KL2=KL+(PL−JL)として、ユーザが入力した文字(もしくは、予め登録してあるパスワード中の文字)以外の文字を使い長さKL2の文字列を生成し、ステップS3100に進む。
【0071】
そして、ステップS3100では、生成した文字列を生成文字列格納領域114に格納し、実施例2と同様に、ステップS1050〜ステップS2090を行う。
【0072】
ステップS2100で、判断手段として例えば、CPU101は、生成文字列がステップS2090の削除により無くなったかどうか判断する。CPU101は、生成文字列がステップS2090の削除により無くなっていればステップS3110に進む。
【0073】
そして、ステップS3110において、ステップS3040で入力された文字列によって処理をおこなう。ここでいう処理は、その文字列によって認証をおこなう処理であってもよいし、その文字列を登録する処理であってもよい。
【0074】
認証又は登録をおこなう処理が終了すれば、情報処理装置は、実施例1の場合と同様に、次の処理へ移る。
【0075】
本実施例は上記のように動作するが、その際の入力部の変化について仮想キーボードの一例である仮想テンキーを用いた例、図7(a)〜図7(g)を参照して説明する。
【0076】
暗証番号が4桁と決まっていて、生成文字列の長さは2として、暗証番号を3333とした最初の例に適用すると、フローチャート図6のステップS3020で、CPU101は暗証番号の長さを取得しPLに代入する(PL=4)。次に、ステップS3030に移り、生成文字列の長さを取得しKLに代入する(KL=2)。そして、ステップS3040に移り、ユーザが入力した暗証番号を主記憶装置110の第1の入力文字格納領域112に格納する。ステップS3050で暗証番号の長さがPLの長さになるまでステップS3040からステップS3050を繰り返す。ステップS3050で暗証番号がPL桁になった場合、ステップS3060に進む。今暗証番号3333が正しく押されたとして、図7(a)のように指紋がつく。
【0077】
次に、CPU101は入力された文字列中に、重複文字があれば一つにまとめて1文字とした場合の、暗証番号の長さをJLとする。今、暗証番号が3333であるとしたため、PLは4文字である。JLは、3が4回重複しているため、重複文字を一つにまとめて1文字にすると3となり、1文字である(JL=全文字数+重複文字種類数−重複回数の総計で求まる。この例では、JL=4+1−4=1)。次にステップS3070に移り、PLとJLが等しいかどうかを判定する。等しい場合はステップS3090に移るが、例では、等しくないためステップS3080に移り、新しく定める生成文字列の長さを変数KL2として変数領域115に用意する。そして、あらかじめ定められた生成文字列の長さをKLとした場合に、今KL=2であるため、KL2=KL+(PL−JL)として、例では、KL2=2+(4−1)=5として、ユーザが入力した文字以外の文字を用いて長さKL2の生成文字列を生成する。(この例ではKLは5なので、5桁の数字で、例えば12456を生成する。)次に、ステップS1060に移り、CPU101は、生成文字列を表示部130に送り、生成文字列をユーザに表示する。その表示した図が図7(b)である。実施例2と同様に、ステップS2070からステップS2100を行う。図7(c)は生成文字列中の1を入力したため、生成文字列が、12456から2456になった図である。図7(d)が生成文字列中の4を入力したため、生成文字列が、2456から256になった図である。図7(e)が生成文字列中の5を入力したため、生成文字列が、256から26になった図である。図7(f)が生成文字列中の2を入力したため、生成文字列が、26から6になった図である。最後に6を入力すると、生成文字列が無くなり、ステップS2100で生成文字列が無くなったと判断され、ステップS3100に移る。ステップS3110では、ステップS3040で入力された文字列(ここでは3333)によって処理をおこなう。この状態が図7(g)であり、正しい暗証番号かどうか照合している図である。結果的に指紋は、1、2、3、4、5、6の計6個つくため、その組合せは膨大となり暗証番号はこの指紋情報から特定することは困難となる。
【0078】
また、ここではパスワードが4文字である場合を例にとって説明したが、パスワードの桁数を増やせば、第三者によるパスワードの類推を更に困難にすることが可能である。
【実施例4】
【0079】
実施例1から実施例3までは、タッチパネル上の仮想キーボードでのパスワード入力をおこなう場合についての実施例であった。本実施例では、仮想キーボードではなく、キーを押し下げることで入力するハードウェアのキーボードを使ってパスワードを入力する場合について説明する。
【0080】
タッチパネルの場合には、指紋が画面に残ったり、埃や故意に粉を画面上にまかれていたりした場合に、触った部分が綺麗に拭き取られるためタッチした位置が後からわかってしまう問題があったが、ハードウェアのキーボードの場合にも同様の問題が生ずる。
【0081】
ハードウェアのキーボードの場合で、しばらく触っていないと埃がキーボードのキートップにたまっていたり、故意に粉をまかれていたりした場合に、キーを入力しようとキートップに触れるとその部分だけ、埃や粉が綺麗に拭き取られてしまう。その結果、綺麗になっているキーが押されたキーだとわかってしまう。これがパスワードの入力に使われたキーである場合には、押されたキーの組合せからパスワードがわかってしまう可能性がある。
【0082】
そこで、第4の実施例を実施例1の図1とフローチャート図8を用いて説明する。図1の構成は基本的に、実施例1と同じであるが、本実施例の入力部は、図3や図5に示す仮想キーボードではなく、キーを押し下げることで入力するハードウェアのキーボードである点で異なる。
【0083】
先ずステップS4000で、CPU101は、入力対象がパスワードかどうかを判定する。パスワードでなければAに進み、処理を終了する。この場合、通常のキー入力が行われる。
【0084】
パスワードであれば、ステップS4010に移り、次に、生成文字列の長さを取得し変数KLに代入する。そして、ステップS4020に移り、CPU101は入力された文字を第1の入力文字列格納領域112に格納し、ステップS4030に移る。ステップS4030では、キーボードのリターンキーが押されたか、または、ログインのためのパスワード入力であれば、ログインボタンがあるはずなので、そのログインボタンがマウスなどで押されたかを判断する。押されていなければ、まだステップS4020の文字の入力中であるということなので、ステップS4020〜ステップS4030の処理を繰り返す。ステップS4030で押されたと判断した場合は、ステップ4040に移り、ステップS4020で入力された文字列の長さを取得し、それを変数PLに代入する。次に、ステップS3060に移るが、ステップS3060〜ステップS3110は、実施例3で説明したことと同様である。ログインのためのパスワード入力であった場合は、最後のステップS3110でログイン処理がおこなわれる。
【0085】
この場合、ログイン処理が終了すれば、情報処理装置は、実施例1の場合と同様に、次の処理へ移る。
【実施例5】
【0086】
本発明は、例えば、図9に示すようなATM160と認証サーバ170からなる銀行のATMシステムに適用することができる。まず、図1と異なる構成について説明する。ATM160の音声出力部140も表示部130と同様に要求手段の一例である。音声出力部140は、CPU101と接続されており、CPU101から送られてくる、ユーザへの案内や指示を音声で出力する。音声出力部140は、スピーカであってもよいし、イヤホンのようにATMを利用するユーザだけが聞き取ることのできるものであってもよい。
【0087】
またATM160はネットワーク150を通じて外部の認証サーバ170に接続されており、入力部120で入力されたデータを、認証サーバ170に送る。ネットワーク150は、インターネット、LAN、WAN、無線又は有線の専用電話回線網又は公衆電話回線網、無線又は有線の専用通信回線網又は公衆通信回線網のいずれであってもよく、また、これらの中の複数を組み合わせたものであってもよい。認証サーバ170が有するデータベース171はユーザごとのパスワードを格納しており、認証サーバ170はネットワーク150を介して送られてきたデータとデータベース171に格納されているパスワードとを比較することで、ユーザの認証をおこなう。
【0088】
例えば実施例1では、CPU101は、ユーザが入力した文字から生成文字列を生成する方法のほかに、自装置内の主記憶装置200のパスワード格納領域111にあらかじめ登録してあるパスワードをもとに生成文字列を生成する方法があった。しかし、本実施例では、パスワードは外部の認証サーバ170にあるので、ATM160が有するCPU101は、認証サーバ170がパスワードをもとに生成した生成文字列を受信する。ここでは、CPU101が認証サーバからパスワードを受信し、ATM160側で受信したパスワードから生成文字列を生成する方法を用いてもよい。
【0089】
また、外部の認証サーバ170によって認証をおこなっている場合、判断手段の一例であるCPU101が、生成文字列が正しく入力されたと判断すると、第1の入力文字列格納領域112に格納したユーザが入力した文字列を認証サーバ170に送信する。認証サーバ170は送られてきた文字列とデータベース171内のパスワードを比較し、認証をおこなう。
【0090】
認証の結果、送られてきた文字列とデータベース171内のパスワードが一致している場合、認証サーバ170は、入出金処理のための処理をおこなう。例えば、認証サーバ170は、ユーザから入出金の指示を受付けるための画面のデータをATM160に送信する。
【0091】
また、実施例1〜実施例4では、CPU101が生成文字列を表示部に送り、ユーザに表示部130によって表示していた。本実施例の構成を有する装置においては、要求手段の一例である音声出力部140により、音声で生成文字列の入力をユーザに要求することが可能である。
【0092】
前述した実施例では、各構成をソフトウェアで実現する場合を例にして説明していたが、同様の処理をおこなうハードウェアで実現してもよい。また、ハードウェアによる処理とソフトウェアによる処理との組み合わせで実現してもよい。
【図面の簡単な説明】
【0093】
【図1】本発明の実施例による構成を表すブロック図。
【図2】実施例1のフローチャート。
【図3】実施例1の入力画面の遷移を表した遷移図。
【図4】実施例2のフローチャート。
【図5】実施例2の入力画面の遷移を表した遷移図。
【図6】実施例3のフローチャート。
【図7】実施例3の入力画面の遷移を表した遷移図。
【図8】実施例4のフローチャート。
【図9】本発明の他の実施例による構成を表すブロック図。
【符号の説明】
【0094】
100 制御部
110 主記憶装置
120 入力部
130 表示部

【特許請求の範囲】
【請求項1】
情報を入力する入力手段と、
前記入力手段から入力された情報を識別し、前記情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、
前記入力手段によって前記他の情報を入力するように要求する要求手段とを備えることを特徴とする情報処理装置。
【請求項2】
前記入力手段から入力された情報に重複した情報があるか判定する判定手段をさらに備え、
前記生成手段は、前記判定手段によって重複した情報があると判定した場合に、生成する他の情報の量を増加することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
情報を入力する入力手段と、
前記入力手段から入力された情報に重複した情報があるか判定する判定手段と、
前記入力された情報とは異なる他の情報を入力するように要求する要求手段とを備え、
前記要求手段は、前記判定手段によって重複した情報があると判定した場合に、要求する他の情報の量を増加することを特徴とする情報処理装置。
【請求項4】
前記要求手段は、前記入力手段による情報の入力が終了したあとに、前記他の情報の入力を要求することを特徴とする請求項1から請求項3のいずれかに記載の情報処理装置。
【請求項5】
前記要求手段によって要求した前記他の情報が入力されたか判断する判断手段と、
前記判断手段により入力がされたと判断した場合に前記情報を、外部の情報機器に送信する送信手段とをさらに備えることを特徴とする請求項1から請求項3のいずれかに記載の情報処理装置。
【請求項6】
情報を入力する入力手段と、
前記入力手段によって入力された情報と、予め登録された認証情報とを比較する比較手段と、
当該認証情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、
前記入力手段によって前記他の情報を入力するように要求する要求手段とを備え、
前記比較手段が前記入力された情報と前記認証情報とを比較し、等しい場合に、前記要求手段は前記他の情報を入力するように要求することを特徴とする情報処理装置。
【請求項7】
前記認証情報に重複した情報があるか判定する判定手段をさらに備え、
前記生成手段は、前記判定手段によって重複した情報があると判定した場合に、生成する他の情報の量を増加することを特徴とする請求項6に記載の情報処理装置。
【請求項8】
入力手段によって情報の入力を受け付ける入力工程と、
入力された情報を識別する識別工程と、
前記情報に含まれる情報以外の情報を含む他の情報を生成する生成工程と、
前記入力手段によって前記他の情報を入力するように要求する要求工程とを備えることを特徴とする情報処理方法。
【請求項9】
入力手段によって情報の入力を受け付ける入力工程と、
認証に用いる認証情報を取得する取得工程と、
前記情報と前記認証情報とを比較する比較工程と、
当該認証情報に含まれる情報以外の情報を含んだ他の情報を生成する生成工程と、
前記比較工程での比較の結果、前記情報と前記認証情報とが等しい場合に、前記生成工程で生成された前記他の情報の入力を要求する要求工程とを備えることを特徴とする情報処理方法。
【請求項10】
情報処理装置と当該情報処理装置と通信可能な情報機器とからなる情報処理システムにおいて、
前記情報処理装置は、
情報を入力する入力手段と、
前記入力手段から入力された情報を識別し、前記情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、
前記入力手段によって前記他の情報を入力するように要求する要求手段と、
要求した入力があった場合に前記情報を前記情報機器に送信する送信手段とを備え、
前記情報機器は、
予め登録された認証情報を記憶する記憶手段と、
前記情報処理装置から前記情報を受信する受信手段と、
受信した情報と前記認証情報とによって認証をおこなう認証手段とを備えることを特徴とする情報処理システム。
【請求項11】
情報処理装置と当該情報処理装置と通信可能な情報機器とからなる情報処理システムにおいて、
前記情報機器は、
予め登録された認証情報を記憶する記憶手段と、
前記認証情報を識別し、当該認証情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、
生成した他の情報を前記情報処理装置に送信する送信手段とを備え、
前記情報処理装置は、
前記送信手段によって送信された前記他の情報を受信する受信手段と、
情報を入力する入力手段と、
前記入力手段によって入力された情報を格納しておく格納手段と、
前記受信手段によって受信した他の情報を前記入力手段によって入力するように要求する要求手段と、
前記格納手段によって格納された情報を、前記要求手段によって要求した他の情報が入力された場合に前記情報機器に送信する送信手段とを備え、
前記情報機器は、前記情報処理装置から送信された情報と、前記記憶手段に記憶された前記認証情報とによって認証をおこなうことを特徴とする情報処理システム。
【請求項12】
情報処理装置のコンピュータを、
前記情報処理装置が備える入力手段によって入力された情報を識別する識別手順と、
識別した情報以外の情報を含む他の情報を生成する生成手順と、
前記入力手段によって前記他の情報を入力するように要求する要求手順として機能させることを特徴とするプログラム。
【請求項13】
情報処理装置のコンピュータを、
前記情報処理装置が備える入力手段によって入力された情報と、予め登録された認証情報とを比較する比較手順と、
前記認証情報に含まれる情報以外の情報を含む他の情報を生成する生成手順と、
前記比較手順での比較の結果、前記入力された情報と前記認証情報とが等しい場合に、前記入力手段によって前記他の情報を入力するように要求する要求手順として機能させることを特徴とするプログラム。
【請求項14】
情報処理装置のコンピュータを、
前記情報処理装置が備える入力手段によって入力された情報に重複した情報があるか判定する判定手順と、重複した情報があると判定した場合に前記情報とは異なる他の情報の量を増加する増加手順と、前記他の情報の入力を要求する要求手順として機能させることを特徴とするプログラム。
【請求項15】
請求項12から請求項14に記載のプログラムを格納した記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2008−158582(P2008−158582A)
【公開日】平成20年7月10日(2008.7.10)
【国際特許分類】
【出願番号】特願2006−343436(P2006−343436)
【出願日】平成18年12月20日(2006.12.20)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】