(57)【要約】【課題】  ユーザが入力する情報によって、入力を要求する他の情報を変更する。そして、ユーザが入力する情報に加えて、その、他の情報を入力させることによって、第三者が情報を入力した痕跡を読み取って、ユーザの入力した情報を類推することを困難にする。【解決手段】  情報を入力する入力手段と、前記入力手段から入力された情報を識別し、前記情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、前記入力手段によって前記他の情報を入力するように要求する要求手段とを備えることを特徴とする。【選択図】  図１
2008158582.tif 000002
【特許請求の範囲】
【請求項１】
情報を入力する入力手段と、
前記入力手段から入力された情報を識別し、前記情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、
前記入力手段によって前記他の情報を入力するように要求する要求手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記入力手段から入力された情報に重複した情報があるか判定する判定手段をさらに備え、
前記生成手段は、前記判定手段によって重複した情報があると判定した場合に、生成する他の情報の量を増加することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
情報を入力する入力手段と、
前記入力手段から入力された情報に重複した情報があるか判定する判定手段と、
前記入力された情報とは異なる他の情報を入力するように要求する要求手段とを備え、
前記要求手段は、前記判定手段によって重複した情報があると判定した場合に、要求する他の情報の量を増加することを特徴とする情報処理装置。
【請求項４】
前記要求手段は、前記入力手段による情報の入力が終了したあとに、前記他の情報の入力を要求することを特徴とする請求項１から請求項３のいずれかに記載の情報処理装置。
【請求項５】
前記要求手段によって要求した前記他の情報が入力されたか判断する判断手段と、
前記判断手段により入力がされたと判断した場合に前記情報を、外部の情報機器に送信する送信手段とをさらに備えることを特徴とする請求項１から請求項３のいずれかに記載の情報処理装置。
【請求項６】
情報を入力する入力手段と、
前記入力手段によって入力された情報と、予め登録された認証情報とを比較する比較手段と、
当該認証情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、
前記入力手段によって前記他の情報を入力するように要求する要求手段とを備え、
前記比較手段が前記入力された情報と前記認証情報とを比較し、等しい場合に、前記要求手段は前記他の情報を入力するように要求することを特徴とする情報処理装置。
【請求項７】
前記認証情報に重複した情報があるか判定する判定手段をさらに備え、
前記生成手段は、前記判定手段によって重複した情報があると判定した場合に、生成する他の情報の量を増加することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
入力手段によって情報の入力を受け付ける入力工程と、
入力された情報を識別する識別工程と、
前記情報に含まれる情報以外の情報を含む他の情報を生成する生成工程と、
前記入力手段によって前記他の情報を入力するように要求する要求工程とを備えることを特徴とする情報処理方法。
【請求項９】
入力手段によって情報の入力を受け付ける入力工程と、
認証に用いる認証情報を取得する取得工程と、
前記情報と前記認証情報とを比較する比較工程と、
当該認証情報に含まれる情報以外の情報を含んだ他の情報を生成する生成工程と、
前記比較工程での比較の結果、前記情報と前記認証情報とが等しい場合に、前記生成工程で生成された前記他の情報の入力を要求する要求工程とを備えることを特徴とする情報処理方法。
【請求項１０】
情報処理装置と当該情報処理装置と通信可能な情報機器とからなる情報処理システムにおいて、
前記情報処理装置は、
情報を入力する入力手段と、
前記入力手段から入力された情報を識別し、前記情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、
前記入力手段によって前記他の情報を入力するように要求する要求手段と、
要求した入力があった場合に前記情報を前記情報機器に送信する送信手段とを備え、
前記情報機器は、
予め登録された認証情報を記憶する記憶手段と、
前記情報処理装置から前記情報を受信する受信手段と、
受信した情報と前記認証情報とによって認証をおこなう認証手段とを備えることを特徴とする情報処理システム。
【請求項１１】
情報処理装置と当該情報処理装置と通信可能な情報機器とからなる情報処理システムにおいて、
前記情報機器は、
予め登録された認証情報を記憶する記憶手段と、
前記認証情報を識別し、当該認証情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、
生成した他の情報を前記情報処理装置に送信する送信手段とを備え、
前記情報処理装置は、
前記送信手段によって送信された前記他の情報を受信する受信手段と、
情報を入力する入力手段と、
前記入力手段によって入力された情報を格納しておく格納手段と、
前記受信手段によって受信した他の情報を前記入力手段によって入力するように要求する要求手段と、
前記格納手段によって格納された情報を、前記要求手段によって要求した他の情報が入力された場合に前記情報機器に送信する送信手段とを備え、
前記情報機器は、前記情報処理装置から送信された情報と、前記記憶手段に記憶された前記認証情報とによって認証をおこなうことを特徴とする情報処理システム。
【請求項１２】
情報処理装置のコンピュータを、
前記情報処理装置が備える入力手段によって入力された情報を識別する識別手順と、
識別した情報以外の情報を含む他の情報を生成する生成手順と、
前記入力手段によって前記他の情報を入力するように要求する要求手順として機能させることを特徴とするプログラム。
【請求項１３】
情報処理装置のコンピュータを、
前記情報処理装置が備える入力手段によって入力された情報と、予め登録された認証情報とを比較する比較手順と、
前記認証情報に含まれる情報以外の情報を含む他の情報を生成する生成手順と、
前記比較手順での比較の結果、前記入力された情報と前記認証情報とが等しい場合に、前記入力手段によって前記他の情報を入力するように要求する要求手順として機能させることを特徴とするプログラム。
【請求項１４】
情報処理装置のコンピュータを、
前記情報処理装置が備える入力手段によって入力された情報に重複した情報があるか判定する判定手順と、重複した情報があると判定した場合に前記情報とは異なる他の情報の量を増加する増加手順と、前記他の情報の入力を要求する要求手順として機能させることを特徴とするプログラム。
【請求項１５】
請求項１２から請求項１４に記載のプログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第三者による情報の類推を困難にするための情報処理装置、方法、システム、プログラムおよび記憶媒体に関する。
【背景技術】
【０００２】
従来、タッチパネルを持つデバイス上で暗証番号を入力する場合には、手の動きや、指紋などからどのキーが押されたかがわかってしまう。
【０００３】
そこで、特開２０００−１８２１２１号公報において、次のような発明が公開されている。暗証番号にダミー数字をランダムに埋め込んだ数字列を生成し、暗証番号入力中に、その数字列中のダミー数字の順番になったときに、そのキーの数字に下線を引く、または、数字を点滅させるなど入力を促す処理を行い、ダミー数字を押させる。それにより第３者が手の動きから暗証番号を類推するのを困難にしている。
【特許文献１】特開２０００−１８２１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来の方法（特開２０００−１８２１２１号公報）では、ダミー数字として使用する数字は、暗証番号で使用している数字と同じものでも構わないため、ダミー数字がたまたま暗証番号内の数字と同じであれば、情報を入力した痕跡は増えない。その結果、第３者が、情報入力の痕跡を読み取ることで、入力した情報が類推されてしまうおそれがあった。
【０００５】
また別の課題として、従来の方法では、暗証番号中に重複した数字がある場合のように、入力した暗証番号が手の動きや情報入力の痕跡から類推されやすいものであっても、ダミー数字の個数をデバイスがユーザの入力した情報に関わらず一方的に決めていた。
【０００６】
また別の課題として、従来の方法でダミー数字を暗証番号列の途中に埋め込むため、ユーザは暗証番号列を入力している途中で、ダミー数字を入力していた。そのため、暗証番号列を連続的に入力することができず、ユーザにとって負担となってしまうおそれがあった。
【０００７】
そこで本発明では、ユーザが入力する情報によって、入力を要求する他の情報を変更する。そして、ユーザが入力する情報に加えて、その、他の情報を入力させることによって、第三者が情報を入力した痕跡を読み取って、ユーザの入力した情報を類推することを困難にすることを目的とする。
【０００８】
また、本発明の別の目的は、ユーザが入力した情報に重複した情報がある場合に、入力を要求する他の情報の量を増加し、第三者によるユーザの入力した情報の類推を困難にすることを目的とする。
【０００９】
また、本発明の別の目的は、情報の入力が終了したあとに、他の情報を入力させることで、情報の入力の際にユーザにかかる負担を低減することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、情報を入力する入力手段と、前記入力手段から入力された情報を識別し、前記情報に含まれる情報以外の情報を含む他の情報を生成する生成手段と、前記入力手段によって前記他の情報を入力するように要求する要求手段とを備えることを特徴とする。
【００１１】
また本発明は、情報を入力する入力手段と、入力された情報に重複した情報があるか判断する判断手段と、他の情報を入力するように要求する要求手段とを備え、前記要求手段は、前記判断手段によって重複した情報があると判断した場合に、要求する他の情報の量を増加することを特徴とする。
【００１２】
また本発明では、要求手段は、情報の入力が終了したあとに、他の情報の入力を要求することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ユーザが入力する情報によって、入力を要求する他の情報を変更する。ユーザが入力する情報に加えて、他の情報も入力させることによって、第三者が情報を入力した痕跡を読み取って、ユーザの入力した情報を類推することを困難にすることができる。
【００１４】
また、本発明の別の効果として、ユーザの入力した情報に重複した情報がある場合に、入力を要求する他の情報の量を増加することで、第三者によるユーザの入力した情報の類推を困難にする効果がある。
【００１５】
また、本発明の別の効果として、情報の入力が終了したあとに、他の情報を入力させることで、情報の入力の際にユーザにかかる負担を低減する効果がある。
【発明を実施するための最良の形態】
【００１６】
以下に、図面を参照して、本発明の好適な実施形態を例示的に説明する。
【実施例１】
【００１７】
図１は本発明による第１実施例の情報処理装置の概略構成を示したブロック図である。
【００１８】
第１実施例の情報処理装置は、制御部１００と主記憶装置（ＲＡＭ）１１０と入力部１２０と表示部１３０とを有し、制御部１００は、ＣＰＵ１０１とプログラムメモリ（ＲＯＭ）１０２を備えている。
【００１９】
ＣＰＵ１０１は、中央演算処理装置で、プログラムメモリ（ＲＯＭ）１０２と主記憶装置（ＲＡＭ）１１０と入力部１２０と表示部１３０とに接続されている。また、ＣＰＵ１０１は、プログラムメモリ（ＲＯＭ）１０２に格納されているプログラムに従って動作する。プログラムＲＯＭ１０２は、図２、図４、図６、図８のフローチャートに対応するプログラムを記憶し、かかるプログラムはＣＰＵ１０１により実行される。主記憶装置１１０は、ＣＰＵ１０１がプログラムを実行するときに使用するワークエリアを有する。また、主記憶装置１１０は例えば、図１に示すような用途別の記憶領域を持っている。具体的には、主記憶装置１１０はパスワード格納領域１１１、第１の入力文字列格納領域１１２、第２の入力文字列格納領域１１３、生成文字列格納領域１１４、変数領域１１５などを有している。まず、パスワード格納領域１１１は、あらかじめ登録されたパスワードを記憶しておく領域である。このパスワードは、ユーザごとに登録されたパスワードであってもよいし、装置が有する固定のパスワードであってもよい。第１の入力文字列格納領域１１２は、パスワードの要求に対して入力された文字列を格納しておく領域である。第２の入力文字列格納領域１１３は、後に説明する生成文字列の入力の要求に対して、入力された文字列を格納しておく領域である。生成文字列格納領域１１４は、ＣＰＵ１０１が生成した文字列を格納しておく領域である。変数領域１１５は、種々の変数の値を保持しておく領域である。表示部１３０は、ＣＰＵ１０１から送られてくるデータを記憶するメモリを有し、メモリにあるデータに従って表示をおこなう。例えば、ＣＰＵ１０１から送られてくる、文字や数字をどのように配置するかというデータに基づいて文字や数字を配置して表示する。また、入力手段の一例である入力部１２０は、文字や数字、記号を入力させるものであり、入力されたデータをＣＰＵ１０１に送る。入力部１２０の具体例として、キーボードがあげられる。キーボードはキーを押し下げることで入力するハードウェアのキーボード以外に、キーをタッチすることで入力することができる仮想のキーボードも含む。仮想キーボードの場合、仮想キーボードはタッチパネルを表示画面に重ねて配置し、そのタッチパネルを指などで押されることにより、押された位置を検出する。そして、表示画面のうち、検出した位置に対応する個所に表示してある文字や数字などのデータをＣＰＵ１０１に送る。またキーボードは、アルファニューメリックキーとテンキーがいっしょになったフルキーボードを含み、どちらか一方からなるものも含む。
【００２０】
次に前述した図１で説明した実施例の動作を図２のフローチャートを用いて説明する。ここでは、仮想キーボードの例を用いて説明する。
【００２１】
まず、ステップＳ１０００において、図１のＣＰＵ１０１は、仮想キーボードが表示部１３０の画面に出ているかどうかを判定する。出ている場合は、ステップＳ１０１０に進む。
【００２２】
ステップＳ１０１０において、ＣＰＵ１０１は、仮想キーボードの入力対象が、パスワードであるかどうかを判定する。仮想キーボードの入力対象がパスワードであれば、ステップＳ１０２０に進む。
【００２３】
ステップＳ１０２０において、ＣＰＵ１０１は、ユーザからの入力を待ち、図１の入力部１２０から入力された文字を図１の主記憶装置１１０が有する第１の入力文字列格納領域１１２に格納する。
【００２４】
次に、ステップＳ１０３０に進み、ＣＰＵ１０１は、ステップＳ１０２０の入力が終了したかを判断する。入力終了の判断の仕方は、例えば暗証番号が４桁と決まっている場合に、４桁の暗証番号が入力されたことにより終了を判断する方法がある。またこれに限らず、仮想キーボード上にＯＫボタンや、Ｅｎｔｅｒボタンなど、入力を終了させるボタンを用意しておき、そのボタンをユーザが入力したかどうかを判断する方法もある。ステップＳ１０３０で入力が終了していない場合は、ステップＳ１０２０に戻り、ステップＳ１０２０からステップＳ１０３０を繰り返す。入力された文字を複数文字格納する場合、１文字入力するごとに、文字を格納する領域を変更して格納する。ステップＳ１０３０で、入力が終了したと判断した場合は、ステップＳ１０４０に進む。
【００２５】
ステップＳ１０４０において、生成手段として例えば、ＣＰＵ１０１は次の処理を行う。ＣＰＵ１０１は、ステップＳ１０２０で主記憶装置１１０の第１の入力文字列格納領域１１２に格納した、ユーザが入力した文字以外の文字を少なくとも１文字含ませたランダムな文字列（以下、生成文字列）を生成する。ここでは、第１の入力文字列格納領域１１２に格納した文字を基準に生成文字列を生成した。だが、これに限らず、生成手段による別の生成文字列の生成方法として、ＣＰＵ１０１は、パスワード格納領域１１１にあらかじめ登録してあるパスワードに使われている文字以外の文字を、少なくとも１文字含ませた生成文字列を生成してもよい。また、生成文字列の生成方法は、ユーザが入力した文字（もしくは、あらかじめ登録してあるパスワードに使われている文字）以外の文字を、重複することなくランダムに選んで生成文字列を生成するようにしてもよい。
【００２６】
ステップＳ１０５０において、ＣＰＵ１０１は、ステップＳ１０４０で生成した生成文字列を生成文字列格納領域１１４に格納する。
【００２７】
そして、ステップＳ１０６０に進み、要求手段として例えば、ＣＰＵ１０１は、生成文字列を図１の表示部１３０に送り、ユーザに対して生成文字列の入力を要求する表示をおこなう。
【００２８】
次に、ステップＳ１０７０に進み、ＣＰＵ１０１は、ユーザからの生成文字列の入力を待ち、入力された文字を第２の入力文字列格納領域１１３に格納する。
【００２９】
次に、ステップＳ１０８０に進み、判断手段として例えば、ＣＰＵ１０１は、ステップＳ１０７０の入力が終了したかを判断する。終了していなければ、ステップＳ１０７０に戻りステップＳ１０７０からステップＳ１０８０を繰り返す。ステップＳ１０８０で、ステップＳ１０７０の入力が終了したと判断した場合は、ステップＳ１０９０に進む。
【００３０】
ステップＳ１０９０において、ＣＰＵ１０１は、ユーザがステップＳ１０７０で入力した入力文字列を図１に示す主記憶装置１１０の第２の入力文字列格納領域１１３から取り出し、生成文字列格納領域１１４の生成文字列と一致しているかを判定する。一致していなければ、ステップＳ１１００に移り、表示部１３０にエラーメッセージを送り、エラーメッセージを表示し、ステップＳ１０７０からステップＳ１１００を繰り返す。ステップＳ１０９０で一致していれば、処理Ｓ１１１０に移り、表示部１３０に表示されている仮想キーボードを閉じて（表示を消して、あるいは別の表示に切り替えて）、ステップＳ１１２０に移る。
【００３１】
ステップＳ１１２０では、ＣＰＵ１０１は仮想キーボードから入力された文字列によって処理をおこなう。ここでいう処理は、その文字列によって認証をおこなう処理であってもよいし、その文字列を登録する処理であってもよい。認証する場合には、例えば、ＣＰＵ１０１は、主記憶装置１１０のパスワード格納領域１１１に格納されているパスワードと、第１の入力文字列格納領域に格納された文字列とを比較しておこなうとよい。
【００３２】
認証をおこなう処理が終了すれば、情報処理装置は次の処理へ移る。次の処理とは、本情報処理装置が、例えば、銀行のＡＴＭに搭載されたものである場合は、ＣＰＵ１０１は、入出金処理のための処理をおこなう。又、本情報処理装置が、例えば、複写機に搭載されたものである場合は、ＣＰＵ１０１は、コピーやプリントをおこなうための処理を実行可能にする。また、文字列を登録する処理が終了した場合も、認証をおこなうための画面を表示部１３０に表示するなど、情報処理装置は次の処理へ移るようにするとよい。
【００３３】
本実施例は上記のように動作するが、その際の入力部の変化について図３を用いて説明をおこなう。
【００３４】
図３（ａ）は前述した仮想キーボードの一例である仮想テンキーを表す図である。暗証番号が４桁であり、生成文字列の長さは３として説明する。まず、ユーザからの入力が１、２、５、９であった場合、入力後の画面の指紋は図３（ｂ）のようになる。その後、ＣＰＵ１０１は前述した制御により、１、２、５、９以外の文字を含む８、２、６を生成文字列として生成し、図３（ｃ）のように表示部に表示することで、ユーザに入力を促す。タッチパネルを介してその文字が入力された場合、入力後の画面上の指紋は図３（ｄ）のようになる。生成文字列が正しく入力されている場合、ＣＰＵ１０１は、図３（ｅ）に表したように入力された暗証番号が正しいかどうか認証をおこなう。ここで、図９に示すように、制御部１００で認証をおこなわず、制御部１００を有する装置とは別の認証部を有する装置で認証をおこなう場合もある。その場合は、入力された暗証番号を、その別の装置に送ってもよい。
【００３５】
この結果、指紋は、１、２、５、６、８、９の計６つ付くため、第三者が指紋から入力した数字を読み取ったとしても、読み取った数字のうち、どの数字が暗証番号の要求に対して入力されたものかがわからない。これにより、第三者による暗証番号の類推を困難にする効果がある。
【実施例２】
【００３６】
次に本発明第２の実施例について説明する。
【００３７】
実施例１では、パスワード以外の文字列を表示して、ユーザがその文字列を表示された順番で入力するまで仮想キーボードを閉じないことで処理をそれ以上進めなくしていた。しかし、本発明では、タッチパネル上の指紋の付き具合を読み取ることからパスワードに使われている文字が類推されるのを防止することが目的のため、正確に生成文字列を順番も守って入力してもらう必要はない。
【００３８】
第２の実施例を実施例１の図１とフローチャート図４を用いて説明する。図１の構成は基本的に実施例１と同じであるが、表示部には図５に示すタイプの仮想キーボードを表示する場合で説明する。図５に示すタイプの仮想キーボードは、例えば複写機が備えるタッチパネルの下に表示画面が設けられ、そこに表示される。この仮想キーボードは図示のごとく数字の入力のほかに文字の入力が可能となっている。
【００３９】
まず、ステップＳ１０００〜Ｓ１０６０までは実施例１のフローチャートと同様である。
【００４０】
ステップＳ２０７０において、ＣＰＵ１０１は、ユーザからの文字入力を待ち、入力があれば次のステップＳ２０８０に進む。
【００４１】
次に、ステップＳ２０８０において、ＣＰＵ１０１は、ユーザが入力した文字が生成文字列中にあるかどうかを判定する。存在しなければステップＳ２０７０に戻り、ステップＳ２０７０〜Ｓ２０８０を繰り返す。ステップＳ２０８０で、入力した文字が生成文字列中に存在していれば、ステップＳ２０９０に進む。
【００４２】
ステップＳ２０９０において、ＣＰＵ１０１は、生成文字列から入力文字を削除したものを生成文字列とする。
【００４３】
次に、ステップＳ２１００に進み、判断手段として例えば、ＣＰＵ１０１は、生成文字列がステップＳ２０９０の削除により無くなったかどうか判断する。無くなっていればステップＳ２１１０に移る。まだ存在すれば、ステップＳ１０６０に進む。一文字削除されて少なくなった生成文字列を表示し、ステップＳ２０７０からステップＳ２１００を繰り返す。
【００４４】
ステップＳ２１１０において、ユーザが生成文字列をすべて入力したということなので、ＣＰＵ１０１は仮想キーボードを閉じてステップＳ２１２０に進む。
【００４５】
ステップＳ２１２０では、ＣＰＵ１０１は仮想キーボードから入力された文字列によって処理をおこなう。ここでいう処理は、その文字列によって認証をおこなう処理であってもよいし、その文字列を登録する処理であってもよい。
【００４６】
認証をおこなう処理が終了すれば、情報処理装置は、実施例１の場合と同様に、次の処理へ移る。
【００４７】
本実施例は上記のように動作するが、その際の入力部の変化について図５（ａ）〜図５（ｆ）を用いて、詳細に説明をおこなう。
【００４８】
図５（ａ）は仮想キーボード５００を表した図である。仮想キーボードは入力フィールド５１０、各入力キー５２０、ＯＫボタン５３０、Ｃａｎｃｅｌボタン５４０を有する。入力フィールド５１０は各入力キー５２０によって押された文字を表示する領域である。ＯＫボタン５３０は、仮想キーボード５００を閉じるボタンである。ちなみに、Ｃａｎｃｅｌボタン５４０は、仮想キーボード５００での入力をすべて無効にして仮想キーボード５００を閉じるボタンである。また図５（ｂ）から図５（ｆ）は、入力フィールド５１０がユーザから入力があるたびに遷移する様子を表したものである。
【００４９】
パスワードをＰＯＩＵという４文字とする。仮想キーボードでパスワードを入力しても入力フィールド５１０には文字がすべて＊で表示され、見た目にはわからなくなっている。図５（ａ）は、フローチャート図４のステップＳ１０００〜ステップＳ１０２０までを行い、パスワードの入力をし終わった図である。
【００５０】
図４のステップＳ１０３０において、ＣＰＵ１０１は、図６のＯＫボタン５３０が押されたかを判定し、押された場合はステップＳ１０４０に進む。押されていない場合は、ステップＳ１０２０に戻り、ステップＳ１０２０とステップＳ１０３０の処理を繰り返す。
【００５１】
ステップＳ１０４０において、ＣＰＵ１０１は、次の処理を行う。ＣＰＵ１０１は、ステップＳ１０２０で主記憶装置１１０の第１の入力文字列格納領域１１２に格納した、ユーザが入力した文字以外の文字を、少なくとも１文字含むランダムな文字列（以下、生成文字列）を生成し、生成文字列格納領域１１４に格納する。ここではａｓｄｆが生成されたとする。
【００５２】
ステップＳ１０５０において、ステップＳ１０４０で生成した文字列を生成文字列格納領域１１４に格納する。
【００５３】
次にステップＳ１０６０において、生成文字列を表示した入力フィールド５１０が図５（ｂ）である。表示場所は、この例では入力フィールド５１０のパスワードを隠してある＊の後に表示しているが、本発明ではその場所は問わない。ポップアップダイアログの中に表示してもよいし、表示用のフィールドをあらかじめ仮想キーボード内に設けておいてそこに表示してもよい。
【００５４】
続いて、ステップＳ２０７０でユーザからの文字入力を待ち、ユーザがｓを入力しようとしてキーＳを押すと、ステップＳ２０８０でｓが生成文字列ａｓｄｆ中にあるためステップＳ２０９０に移り生成文字列ａｓｄｆからｓを削除し、ａｄｆを生成文字列とする。ステップＳ２１００で生成文字列はａｄｆで存在するためステップＳ１０６０に再度移り、生成文字列ａｄｆを表示したのが図５（ｃ）である。
【００５５】
続いて、ステップＳ２０７０でユーザからの文字入力を待ち、ユーザがａを入力しようとしてキーＡを押した場合、ステップＳ２０８０でａが生成文字列ａｄｆ中にあるためステップＳ２０９０に移り生成文字列ａｄｆからａを削除して、ｄｆを生成文字列とする。ステップＳ２１００で生成文字列はｄｆで存在するためステップＳ１０６０に再度移り、生成文字列ｄｆを表示したのが図５（ｄ）である。
【００５６】
続いて、ステップＳ２０７０でユーザからの文字入力を待ち、ユーザが間違ってｑを入力しようとしてキーＱを押した場合、ステップＳ２０８０でｑが生成文字列ｄｆ中にはないためステップＳ２０７０に移りユーザからの文字入力を待つ。ユーザがｆを入力しようとしてキーＦを押した場合、ステップＳ２０８０でｆが生成文字列ｄｆ中にあるためステップＳ２０９０に移り生成文字列ｄｆからｆを削除して、ｄを生成文字列とする。ステップＳ２１００で生成文字列はｄで存在するため、ステップＳ１０６０に再度移り、生成文字列ｄを表示したのが図５（ｅ）である。
【００５７】
続いて、ステップＳ２０７０でユーザからの文字入力を待ち、ユーザがｄを入力しようとしてキーＤを押した場合、ステップＳ２０８０でｄが生成文字列ｄ中にあるためステップＳ２０９０に移り生成文字列ｄからｄを削除して、生成文字列が無くなる。この状態をユーザに見せてもよく、その場合は、図５（ｆ）になる。ステップＳ２１００で生成文字列は無いためステップＳ２１１０に移り、仮想キーボードを閉じる（ユーザに仮想キーボードのＯＫボタンを再度押させて閉じてもよいが、自動的に閉じてもよい。）。そして、ステップＳ２１２０で、仮想キーボードからの入力されたＰＯＩＵを用いて処理をおこなう。
【００５８】
これらの処理により、タッチパネルへの指紋はパスワードのＰＯＩＵ以外に、ＡＳＤＦのキーの場所にも付くため、これらの情報を読み取っても、その組合せは膨大であり、パスワードが何かは類推することが困難である。例え、パスワードが４文字だとわかっていたとしても、生成文字列とあわせて８文字存在するため、その組合せは８の４乗＝４０９６通りとなり、パスワードの類推を困難にすることができる。
【００５９】
また、ここではパスワードが４文字である場合を例にとって説明したが、パスワードの桁数を増やせば、第三者によるパスワードの類推を更に困難にすることが可能である。
【実施例３】
【００６０】
次に、第３の実施例として、暗証番号の中の数字が重複している場合を考えてみる。
【００６１】
例えば、銀行の現行の暗証番号は４桁であり、同じ数字を暗証番号として使わないようにとの指示があるが、極端な例として、４桁同じ数字を暗証番号として登録しているとする。また、実施例１、２の方法で、生成文字列が２桁であると決まっているとする。すると、例えば、暗証番号が、３３３３で、生成文字列が１２であった場合は、指紋のつき具合をみると、１、２、３になる。ここで、生成文字列の桁は２なので、指紋のついているキーの個数（３個）から引くと暗証番号に使われた数字は１桁とわかり、暗証番号が４桁であれば、４桁すべてが同じ数字であるということがわかってしまう。この場合は、１１１１、２２２２、３３３３の計３通りが暗証番号の候補となり、３通りすべてを試せば、すぐに暗証番号がわかってしまう。
【００６２】
そこで、パスワードに重複文字がある場合に有効な方法である第３の実施例を実施例１の図１を流用して説明するが、例えば、主記憶装置２００の定義が一部異なる。主記憶装置２００内に変数領域１１５を設け、その変数領域１１５に変数ＰＬ、ＫＬ、ＪＬ、ＫＬ２を記憶可能にする。いずれの変数も初期値として０を設定しておく。かかる実施例の動作についてフローチャート図６を用いて説明する。
【００６３】
図６のステップＳ１０００からステップＳ１０１０までは、実施例１、２に同じである。ステップＳ１０１０で入力対象がパスワードであると判断された場合、ステップＳ３０２０に移る。
【００６４】
ステップＳ３０２０において、ＣＰＵ１０１は、パスワードの文字列の長さを取得して、それを変数ＰＬ（変数ＰＬは図１の主記憶装置２００の変数領域１１５に用意する、なお、以下の変数も同様に主記憶装置に用意する。）に代入する。そしてステップＳ３０３０に進む。
【００６５】
ステップＳ３０３０において、ＣＰＵ１０１は、あらかじめ決められている生成文字列の長さを取得して、それを変数ＫＬに代入し、ステップＳ３０４０に進む。
【００６６】
ステップＳ３０４０において、ＣＰＵ１０１は、ユーザからのパスワードの入力を待ち、図１の入力部１２０から入力された文字を図１の主記憶装置１１０内の第１の入力文字列格納領域１１２に格納していく。
【００６７】
次にステップＳ３０５０に進み、ＣＰＵ１０１は、入力された文字列の長さがＰＬと等しくなったかどうかを判定する。等しければステップＳ３０６０に進む。等しくない場合は、ステップＳ３０４０とステップＳ３０５０の処理を繰り返す。
【００６８】
ステップＳ３０６０において、ＣＰＵ１０１は、入力された文字列中（もしくは、あらかじめ登録してあるパスワード中）に、重複文字があれば一つにまとめて１文字とした場合の、パスワードの長さを変数ＪＬに代入する。例えば、パスワードがｓｕｃｃｅｅｄｅｄであれば、ＰＬは、９文字で、ＪＬは、ｃが２回重複し、ｅが３回重複し、ｄが２回重複している。そのため、それぞれ重複文字を一つにまとめて１文字にすると、ｓｕｃｅｄとなり５文字である（ＪＬ＝全文字数＋重複文字種類数−重複回数の総計で求まる。この例では、ＪＬ＝９＋３−（２＋３＋２）＝１２−７＝５）。
【００６９】
次にステップＳ３０７０に移り、判定手段の一例としてＣＰＵ１０１は、ＰＬとＪＬが等しいかどうかを判定する。ここで、ＰＬとＪＬは、入力された文字列中に重複文字がない場合に等しい値になり、重複文字がある場合は異なる値になる。ＰＬとＪＬが等しい場合は、ステップＳ３０９０に移り、あらかじめ定められた生成文字列の長さをＫＬとして、ユーザが入力した文字（もしくは、予め登録してあるパスワード中の文字）以外の文字を使い、長さＫＬの文字列を生成し、ステップＳ３１００に進む。
【００７０】
ステップＳ３０７０で、ＣＰＵ１０１は、ＰＬとＪＬが等しくないと判定した場合は、ステップＳ３０８０に進み、新しく定める生成文字列の長さをＫＬ２、あらかじめ定められた生成文字列の長さをＫＬとする。そして、ＫＬ２＝ＫＬ＋（ＰＬ−ＪＬ）として、ユーザが入力した文字（もしくは、予め登録してあるパスワード中の文字）以外の文字を使い長さＫＬ２の文字列を生成し、ステップＳ３１００に進む。
【００７１】
そして、ステップＳ３１００では、生成した文字列を生成文字列格納領域１１４に格納し、実施例２と同様に、ステップＳ１０５０〜ステップＳ２０９０を行う。
【００７２】
ステップＳ２１００で、判断手段として例えば、ＣＰＵ１０１は、生成文字列がステップＳ２０９０の削除により無くなったかどうか判断する。ＣＰＵ１０１は、生成文字列がステップＳ２０９０の削除により無くなっていればステップＳ３１１０に進む。
【００７３】
そして、ステップＳ３１１０において、ステップＳ３０４０で入力された文字列によって処理をおこなう。ここでいう処理は、その文字列によって認証をおこなう処理であってもよいし、その文字列を登録する処理であってもよい。
【００７４】
認証又は登録をおこなう処理が終了すれば、情報処理装置は、実施例１の場合と同様に、次の処理へ移る。
【００７５】
本実施例は上記のように動作するが、その際の入力部の変化について仮想キーボードの一例である仮想テンキーを用いた例、図７（ａ）〜図７（ｇ）を参照して説明する。
【００７６】
暗証番号が４桁と決まっていて、生成文字列の長さは２として、暗証番号を３３３３とした最初の例に適用すると、フローチャート図６のステップＳ３０２０で、ＣＰＵ１０１は暗証番号の長さを取得しＰＬに代入する（ＰＬ＝４）。次に、ステップＳ３０３０に移り、生成文字列の長さを取得しＫＬに代入する（ＫＬ＝２）。そして、ステップＳ３０４０に移り、ユーザが入力した暗証番号を主記憶装置１１０の第１の入力文字格納領域１１２に格納する。ステップＳ３０５０で暗証番号の長さがＰＬの長さになるまでステップＳ３０４０からステップＳ３０５０を繰り返す。ステップＳ３０５０で暗証番号がＰＬ桁になった場合、ステップＳ３０６０に進む。今暗証番号３３３３が正しく押されたとして、図７（ａ）のように指紋がつく。
【００７７】
次に、ＣＰＵ１０１は入力された文字列中に、重複文字があれば一つにまとめて１文字とした場合の、暗証番号の長さをＪＬとする。今、暗証番号が３３３３であるとしたため、ＰＬは４文字である。ＪＬは、３が４回重複しているため、重複文字を一つにまとめて１文字にすると３となり、１文字である（ＪＬ＝全文字数＋重複文字種類数−重複回数の総計で求まる。この例では、ＪＬ＝４＋１−４＝１）。次にステップＳ３０７０に移り、ＰＬとＪＬが等しいかどうかを判定する。等しい場合はステップＳ３０９０に移るが、例では、等しくないためステップＳ３０８０に移り、新しく定める生成文字列の長さを変数ＫＬ２として変数領域１１５に用意する。そして、あらかじめ定められた生成文字列の長さをＫＬとした場合に、今ＫＬ＝２であるため、ＫＬ２＝ＫＬ＋（ＰＬ−ＪＬ）として、例では、ＫＬ２＝２＋（４−１）＝５として、ユーザが入力した文字以外の文字を用いて長さＫＬ２の生成文字列を生成する。（この例ではＫＬは５なので、５桁の数字で、例えば１２４５６を生成する。）次に、ステップＳ１０６０に移り、ＣＰＵ１０１は、生成文字列を表示部１３０に送り、生成文字列をユーザに表示する。その表示した図が図７（ｂ）である。実施例２と同様に、ステップＳ２０７０からステップＳ２１００を行う。図７（ｃ）は生成文字列中の１を入力したため、生成文字列が、１２４５６から２４５６になった図である。図７（ｄ）が生成文字列中の４を入力したため、生成文字列が、２４５６から２５６になった図である。図７（ｅ）が生成文字列中の５を入力したため、生成文字列が、２５６から２６になった図である。図７（ｆ）が生成文字列中の２を入力したため、生成文字列が、２６から６になった図である。最後に６を入力すると、生成文字列が無くなり、ステップＳ２１００で生成文字列が無くなったと判断され、ステップＳ３１００に移る。ステップＳ３１１０では、ステップＳ３０４０で入力された文字列（ここでは３３３３）によって処理をおこなう。この状態が図７（ｇ）であり、正しい暗証番号かどうか照合している図である。結果的に指紋は、１、２、３、４、５、６の計６個つくため、その組合せは膨大となり暗証番号はこの指紋情報から特定することは困難となる。
【００７８】
また、ここではパスワードが４文字である場合を例にとって説明したが、パスワードの桁数を増やせば、第三者によるパスワードの類推を更に困難にすることが可能である。
【実施例４】
【００７９】
実施例１から実施例３までは、タッチパネル上の仮想キーボードでのパスワード入力をおこなう場合についての実施例であった。本実施例では、仮想キーボードではなく、キーを押し下げることで入力するハードウェアのキーボードを使ってパスワードを入力する場合について説明する。
【００８０】
タッチパネルの場合には、指紋が画面に残ったり、埃や故意に粉を画面上にまかれていたりした場合に、触った部分が綺麗に拭き取られるためタッチした位置が後からわかってしまう問題があったが、ハードウェアのキーボードの場合にも同様の問題が生ずる。
【００８１】
ハードウェアのキーボードの場合で、しばらく触っていないと埃がキーボードのキートップにたまっていたり、故意に粉をまかれていたりした場合に、キーを入力しようとキートップに触れるとその部分だけ、埃や粉が綺麗に拭き取られてしまう。その結果、綺麗になっているキーが押されたキーだとわかってしまう。これがパスワードの入力に使われたキーである場合には、押されたキーの組合せからパスワードがわかってしまう可能性がある。
【００８２】
そこで、第４の実施例を実施例１の図１とフローチャート図８を用いて説明する。図１の構成は基本的に、実施例１と同じであるが、本実施例の入力部は、図３や図５に示す仮想キーボードではなく、キーを押し下げることで入力するハードウェアのキーボードである点で異なる。
【００８３】
先ずステップＳ４０００で、ＣＰＵ１０１は、入力対象がパスワードかどうかを判定する。パスワードでなければＡに進み、処理を終了する。この場合、通常のキー入力が行われる。
【００８４】
パスワードであれば、ステップＳ４０１０に移り、次に、生成文字列の長さを取得し変数ＫＬに代入する。そして、ステップＳ４０２０に移り、ＣＰＵ１０１は入力された文字を第１の入力文字列格納領域１１２に格納し、ステップＳ４０３０に移る。ステップＳ４０３０では、キーボードのリターンキーが押されたか、または、ログインのためのパスワード入力であれば、ログインボタンがあるはずなので、そのログインボタンがマウスなどで押されたかを判断する。押されていなければ、まだステップＳ４０２０の文字の入力中であるということなので、ステップＳ４０２０〜ステップＳ４０３０の処理を繰り返す。ステップＳ４０３０で押されたと判断した場合は、ステップ４０４０に移り、ステップＳ４０２０で入力された文字列の長さを取得し、それを変数ＰＬに代入する。次に、ステップＳ３０６０に移るが、ステップＳ３０６０〜ステップＳ３１１０は、実施例３で説明したことと同様である。ログインのためのパスワード入力であった場合は、最後のステップＳ３１１０でログイン処理がおこなわれる。
【００８５】
この場合、ログイン処理が終了すれば、情報処理装置は、実施例１の場合と同様に、次の処理へ移る。
【実施例５】
【００８６】
本発明は、例えば、図９に示すようなＡＴＭ１６０と認証サーバ１７０からなる銀行のＡＴＭシステムに適用することができる。まず、図１と異なる構成について説明する。ＡＴＭ１６０の音声出力部１４０も表示部１３０と同様に要求手段の一例である。音声出力部１４０は、ＣＰＵ１０１と接続されており、ＣＰＵ１０１から送られてくる、ユーザへの案内や指示を音声で出力する。音声出力部１４０は、スピーカであってもよいし、イヤホンのようにＡＴＭを利用するユーザだけが聞き取ることのできるものであってもよい。
【００８７】
またＡＴＭ１６０はネットワーク１５０を通じて外部の認証サーバ１７０に接続されており、入力部１２０で入力されたデータを、認証サーバ１７０に送る。ネットワーク１５０は、インターネット、ＬＡＮ、ＷＡＮ、無線又は有線の専用電話回線網又は公衆電話回線網、無線又は有線の専用通信回線網又は公衆通信回線網のいずれであってもよく、また、これらの中の複数を組み合わせたものであってもよい。認証サーバ１７０が有するデータベース１７１はユーザごとのパスワードを格納しており、認証サーバ１７０はネットワーク１５０を介して送られてきたデータとデータベース１７１に格納されているパスワードとを比較することで、ユーザの認証をおこなう。
【００８８】
例えば実施例１では、ＣＰＵ１０１は、ユーザが入力した文字から生成文字列を生成する方法のほかに、自装置内の主記憶装置２００のパスワード格納領域１１１にあらかじめ登録してあるパスワードをもとに生成文字列を生成する方法があった。しかし、本実施例では、パスワードは外部の認証サーバ１７０にあるので、ＡＴＭ１６０が有するＣＰＵ１０１は、認証サーバ１７０がパスワードをもとに生成した生成文字列を受信する。ここでは、ＣＰＵ１０１が認証サーバからパスワードを受信し、ＡＴＭ１６０側で受信したパスワードから生成文字列を生成する方法を用いてもよい。
【００８９】
また、外部の認証サーバ１７０によって認証をおこなっている場合、判断手段の一例であるＣＰＵ１０１が、生成文字列が正しく入力されたと判断すると、第１の入力文字列格納領域１１２に格納したユーザが入力した文字列を認証サーバ１７０に送信する。認証サーバ１７０は送られてきた文字列とデータベース１７１内のパスワードを比較し、認証をおこなう。
【００９０】
認証の結果、送られてきた文字列とデータベース１７１内のパスワードが一致している場合、認証サーバ１７０は、入出金処理のための処理をおこなう。例えば、認証サーバ１７０は、ユーザから入出金の指示を受付けるための画面のデータをＡＴＭ１６０に送信する。
【００９１】
また、実施例１〜実施例４では、ＣＰＵ１０１が生成文字列を表示部に送り、ユーザに表示部１３０によって表示していた。本実施例の構成を有する装置においては、要求手段の一例である音声出力部１４０により、音声で生成文字列の入力をユーザに要求することが可能である。
【００９２】
前述した実施例では、各構成をソフトウェアで実現する場合を例にして説明していたが、同様の処理をおこなうハードウェアで実現してもよい。また、ハードウェアによる処理とソフトウェアによる処理との組み合わせで実現してもよい。
【図面の簡単な説明】
【００９３】
【図１】本発明の実施例による構成を表すブロック図。
【図２】実施例１のフローチャート。
【図３】実施例１の入力画面の遷移を表した遷移図。
【図４】実施例２のフローチャート。
【図５】実施例２の入力画面の遷移を表した遷移図。
【図６】実施例３のフローチャート。
【図７】実施例３の入力画面の遷移を表した遷移図。
【図８】実施例４のフローチャート。
【図９】本発明の他の実施例による構成を表すブロック図。
【符号の説明】
【００９４】
１００  制御部
１１０  主記憶装置
１２０  入力部
１３０  表示部
【図１】
2008158582.tif 000003
【図２】
2008158582.tif 000004
【図３】
2008158582.tif 000005
【図４】
2008158582.tif 000006
【図５】
2008158582.tif 000007
【図６】
2008158582.tif 000008
【図７】
2008158582.tif 000009
【図８】
2008158582.tif 000010
【図９】
2008158582.tif 000011