(57)【特許請求の範囲】
【請求項１】
アカウントへのアクセスに対するユーザ認証に用いられるパスワードに含まれる一部の情報を維持したまま、該パスワードに含まれる文字をランダムに変換することで、該パスワードを想起させる手がかりとなるヒント文字列を生成する生成部と、
該アカウントに対応付けられたパスワードの文字列と入力された文字列とを照合することで、前記ユーザ認証を実行する認証部と、
前記ユーザ認証が失敗した場合、前記アカウントに対応付けられたパスワードについて生成された前記ヒント文字列を出力する出力部と、
を備える、
情報処理装置。
【請求項２】
前記出力部は、存在しないアカウントに対してのユーザ認証を前記認証部が受け付けた場合、前記ヒント文字列に代えて、該存在しないアカウントが存在するように見せるためのダミーヒント文字列を出力する、
請求項１に記載の情報処理装置。
【請求項３】
前記出力部は、前記存在しないアカウントに対してユーザ認証を前記認証部が受け付けた場合、所定のハッシュ関数により、該受け付けたユーザ認証に係るアカウントを識別するための文字列のハッシュ値を計算し、計算したハッシュ値に対応付けられた前記ダミーヒント文字列を出力する、
請求項２に記載の情報処理装置。
【請求項４】
前記生成部は、前記パスワードの文字列の先頭及び末尾の文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、前記ヒント文字列を生成する、
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記生成部は、前記パスワードの文字列の文字数を維持したまま、該文字列に含まれる文字をランダムに変換することで、前記ヒント文字列を生成する、
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項６】
前記生成部は、前記パスワードの文字列に含まれる区切り文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、前記ヒント文字列を生成する、
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項７】
前記生成部は、前記パスワードの文字列に含まれる各文字の文字種を維持したまま、該各文字をランダムに変換することで、前記ヒント文字列を生成する、
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項８】
前記生成部は、前記パスワードの文字列に含まれる各文字の文字種毎の文字数を維持したまま、該各文字をランダムに変換することで、前記ヒント文字列を生成する、
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項９】
前記生成部は、前記パスワードの文字列の中央にある所定数の文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、前記ヒント文字列を生成する、
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項１０】
前記生成部は、前記パスワードの文字列に含まれる数字の合計値を維持したまま、該文字列に含まれる文字をランダムに変換することで、前記ヒント文字列を生成する、
請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項１１】
コンピュータが、
アカウントへのアクセスに対するユーザ認証に用いられるパスワードに含まれる一部の情報を維持したまま、該パスワードに含まれる文字をランダムに変換することで、該パスワードを想起させる手がかりとなるヒント文字列を生成するステップと、
該アカウントに対応付けられたパスワードの文字列と入力された文字列とを照合することで、前記ユーザ認証を実行するステップと、
前記ユーザ認証が失敗した場合、前記アカウントに対応付けられたパスワードについて生成された前記ヒント文字列を出力するステップと、
を実行する情報処理方法。
【請求項１２】
コンピュータに、
アカウントへのアクセスに対するユーザ認証に用いられるパスワードに含まれる一部の情報を維持したまま、該パスワードに含まれる文字をランダムに変換することで、該パスワードを想起させる手がかりとなるヒント文字列を生成するステップと、
該アカウントに対応付けられたパスワードの文字列と入力された文字列とを照合することで、前記ユーザ認証を実行するステップと、
前記ユーザ認証が失敗した場合、前記アカウントに対応付けられたパスワードについて生成された前記ヒント文字列を出力するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び、プログラムの技術に関する。
【背景技術】
【０００２】
パスワードを忘却したユーザに該パスワードを思い出させるための技術として、パスワードの文字列の全ての構成文字の順序をランダムに並び替えたヒント文字列を表示する技術がある（特許文献１）。また、ユーザにパスワードを連想的に思い出させるためのヒント文字列を表示する技術がある（特許文献２）。また、身長や体重などの多項目にわたるパーソナル情報により示される数それぞれと数字で構成されたパスワード情報の所定桁に係る数とを加算等することで生成される復旧情報を表示する技術がある（特許文献３）。また、設定パスワードに関連付けられた図形に従って、設定パスワードを形成する符号を表示する表示領域の配列を変更する技術がある（特許文献４）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０６−５２１１２号公報
【特許文献２】特開平０６−２４３０９９号公報
【特許文献３】特開平１０−１７７５５１号公報
【特許文献４】特開２０１０−１５２２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、認証用のパスワードを忘却したユーザが当該パスワードを知得する方法として、例えば、パスワードを連想的に思い出させるような質問形式のヒントを提示する方法や、ユーザの個人情報に対する質問に回答させる方法がとられている。
【０００５】
これらの方法では、第三者は、比較的に容易に知り得る情報によって、認証用のパスワードを知得することが可能である。そのため、従来の方法では、認証用のパスワードが、第三者に漏洩しやすいといった問題点があった。
【０００６】
本発明は、一側面では、このような点を考慮してなされたものであり、パスワードを設定した本人に該パスワードを思い出させるための手がかりを提示しつつ、第三者には該パスワードが漏洩し難いようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【０００８】
すなわち、本発明の一側面に係る情報処理装置は、アカウントへのアクセスに対するユーザ認証に用いられるパスワードに含まれる一部の情報を維持したまま、該パスワードに含まれる文字をランダムに変換することで、該パスワードを想起させる手がかりとなるヒント文字列を生成する生成部と、該アカウントに対応付けられたパスワードの文字列と入力された文字列とを照合することで、前記ユーザ認証を実行する認証部と、前記ユーザ認証が失敗した場合、前記アカウントに対応付けられたパスワードについて生成された前記ヒント文字列を出力する出力部と、を備える。
【０００９】
上記構成によれば、ユーザ認証に用いられるパスワードに含まれる一部の情報を維持したまま、当該パスワードに含まれる文字をランダムに変換することで、当該パスワードを
想起させる手がかりとなるヒント文字列が生成される。そして、ユーザ認証に失敗した場合に、このように生成されたヒント文字列がパスワードを想起させる手がかりとして出力される。
【００１０】
ここで、生成されるヒント文字列には自身で設定したパスワードの一部の情報が維持されているため、パスワードを設定した本人には、当該ヒント文字列は、パスワードを思い出すための手がかりになり得る。他方、真のパスワードを知らない第三者には、当該ヒント文字列は、ランダムに文字が変換された文字列であるため、パスワードを知るための手がかりにはなり難い。
【００１１】
したがって、上記構成によれば、パスワードを設定した本人に該パスワードを思い出させるための手がかりを提示しつつ、第三者には該パスワードが漏洩し難いようにすることが可能となる。
【００１２】
また、上記一側面に係る情報処理装置の別の形態として、前記出力部は、存在しないアカウントに対してのユーザ認証を前記認証部が受け付けた場合、前記ヒント文字列に代えて、該存在しないアカウントが存在するように見せるためのダミーヒント文字列を出力してもよい。
【００１３】
また、上記一側面に係る情報処理装置の別の形態として、前記出力部は、前記存在しないアカウントに対してユーザ認証を前記認証部が受け付けた場合、所定のハッシュ関数により、該受け付けたユーザ認証に係るアカウントを識別するための文字列のハッシュ値を計算し、計算したハッシュ値に対応付けられた前記ダミーヒント文字列を出力してもよい。
【００１４】
また、上記一側面に係る情報処理装置の別の形態として、前記生成部は、前記パスワードの文字列の先頭及び末尾の文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、前記ヒント文字列を生成してもよい。
【００１５】
また、上記一側面に係る情報処理装置の別の形態として、前記生成部は、前記パスワードの文字列の文字数を維持したまま、該文字列に含まれる文字をランダムに変換することで、前記ヒント文字列を生成してもよい。
【００１６】
また、上記一側面に係る情報処理装置の別の形態として、前記生成部は、前記パスワードの文字列に含まれる区切り文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、前記ヒント文字列を生成してもよい。
【００１７】
また、上記一側面に係る情報処理装置の別の形態として、前記生成部は、前記パスワードの文字列に含まれる各文字の文字種を維持したまま、該各文字をランダムに変換することで、前記ヒント文字列を生成してもよい。
【００１８】
また、上記一側面に係る情報処理装置の別の形態として、前記生成部は、前記パスワードの文字列に含まれる各文字の文字種毎の文字数を維持したまま、該各文字をランダムに変換することで、前記ヒント文字列を生成してもよい。
【００１９】
また、上記一側面に係る情報処理装置の別の形態として、前記生成部は、前記パスワードの文字列の中央にある所定数の文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、前記ヒント文字列を生成してもよい。
【００２０】
また、上記一側面に係る情報処理装置の別の形態として、前記生成部は、前記パスワー
ドの文字列に含まれる数字の合計値を維持したまま、該文字列に含まれる文字をランダムに変換することで、前記ヒント文字列を生成してもよい。
【００２１】
なお、上記一側面に係る情報処理装置の別の形態として、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記録したコンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
【発明の効果】
【００２２】
本発明によれば、パスワードを設定した本人に該パスワードを思い出させるための手がかりを提示しつつ、第三者には該パスワードが漏洩し難いようにする技術を提供することができる。
【図面の簡単な説明】
【００２３】
【図１】図１は、実施の形態に係る情報処理装置に、ネットワークを介して接続される装置を例示する。
【図２Ａ】図２Ａは、実施の形態に係るアカウント登録時の画面を例示する。
【図２Ｂ】図２Ｂは、実施の形態に係るアカウント登録時の画面を例示する。
【図３Ａ】図３Ａは、実施の形態に係るユーザ認証時の画面を例示する。
【図３Ｂ】図３Ｂは、実施の形態に係るユーザ認証時の画面を例示する。
【図４】図４は、実施の形態に係る情報処理装置を例示する。
【図５】図５は、実施の形態に係るアカウント情報データベースのレコードを例示する。
【図６】図６は、実施の形態に係るダミーヒント文字列データベースのレコードを例示する。
【図７】図７は、実施の形態に係るアカウント登録の処理手順の一例を示したフローチャートである。
【図８】図８は、実施の形態に係るユーザ認証の処理手順の一例を示したフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の一側面に係る実施の形態（以下、「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、本実施形態に応じた具体的構成が適宜採用されてもよい。
【００２５】
なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメタ、マシン語等で指定される。
【００２６】
§１  情報処理装置
図１は、本実施形態に係る情報処理装置１にネットワーク３を介して接続される装置を例示する。本実施形態は、ネットワーク上のサーバ（情報処理装置１）にログインするためのアカウントに本発明が適用された一例を示す。情報処理装置１は、ネットワーク３を介したユーザ端末２からのアクセスに応じて、アカウントの登録やユーザ認証を行う。しかしながら、本発明が適用されるアカウントは、このようなネットワーク上のサーバにログインするためのアカウントに限られるものではなく、例えば、コンピュータにログインするためのアカウントに本発明が適用されてもよい。
【００２７】
図２Ａ及び図２Ｂは、本実施形態のおけるアカウント登録時にユーザ端末２の出力装置に表示される画面を例示する。情報処理装置１は、ユーザ端末２からのアカウント登録に係るアクセスに応じて、図２Ａに例示されるような画面のデータをユーザ端末２に送信する。図２Ａに例示される画面は、登録に係るアカウントのアカウント名、パスワード、及び、連絡先メールアドレスの入力をユーザに促す。図２Ａでは、所望するアカウント名として“user01”、パスワードとして“pass.word.123”、連絡先メールアドレスとして“user01@example.com”が、それぞれ既に入力されている。なお、アカウント名は、ユーザ
名と称されてもよい。
【００２８】
ユーザは、例えば、ユーザ端末２の入力装置を操作して、図２Ａに例示される画面において、各項目に所望する文字列を入力し、登録ボタンを押下する。これにより、各項目に入力された文字列に係るデータは情報処理装置１に送信され、情報処理装置１は、ユーザ端末２から各項目に入力された文字列をそれぞれ取得する。
【００２９】
情報処理装置１は、取得した文字列のうち、パスワードの項目に入力された文字列を用いて、該パスワードの文字列を想起させる手がかりとなるヒント文字列を生成する。具体的には、情報処理装置１は、取得したパスワードに含まれる一部の情報を維持したまま、該パスワードに含まれる文字列をランダムに変換することで、ヒント文字列を生成する。
【００３０】
図２Ｂに例示されるように、例えば、情報処理装置１は、パスワードの文字列（図中の”pass.word.123”）における先頭及び末尾の文字を維持したまま、該先頭及び末尾以外
の文字をランダムに変換することで、ヒント文字列（図中の”ps/JH3+a*3”）を生成する。また、例えば、情報処理装置１は、パスワードの文字列の文字数を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列（図中の”q_JfQ9#zp3Td8”）を生成する。また、例えば、情報処理装置１は、パスワードの文字列に含まれる区
切り文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列（図中の”YrA.V7.r5*e2”）を生成する。なお、区切り文字とは、文字列を複数の要素に区切る役目を果たす文字であり、例えば、ピリオド、カンマ、及び、スペース等の文字が区切り文字に設定されてよい。図２Ｂに示される例では、区切り文字は、ピリオドである。
【００３１】
情報処理装置１は、これらの変換方法により、アカウントに登録するヒント文字列の候補として、複数のヒント文字列を生成する。そして、情報処理装置１は、生成した複数のヒント文字列の候補からアカウントに登録するヒント文字列をユーザに選択させるため、図２Ｂに例示されるような画面のデータをユーザ端末２に送信する。
【００３２】
ユーザは、例えば、ユーザ端末２の入力装置を操作して、図２Ｂに例示される画面において、ラジオボタンを操作して、アカウントに登録することを所望するヒント文字列を複数のヒント文字列の候補から選択し、選択ボタンを押下する。これにより、アカウントに登録するヒント文字列が複数のヒント文字列の候補から選択され、情報処理装置１は、選択されたヒント文字列を当該アカウントに対応付けて登録する。なお、図２Ｂに例示される画面では、アカウントに登録することを所望するヒント文字列に“ps/JH3+a*3”が選択されている。また、図２Ｂに例示される画面では、ユーザは、ヒント文字列を表示しないように設定することも可能である。
【００３３】
図３Ａ及び図３Ｂは、本実施形態のおけるユーザ認証時にユーザ端末２の出力装置に表示される画面を例示する。情報処理装置１は、ユーザ端末２からのユーザ認証に係るアクセスに応じて、図３Ａに例示されるような画面のデータをユーザ端末２に送信する。図３Ａに例示される画面は、アクセス対象に係るアカウントのアカウント名及びパスワードの
入力をユーザに促す。
【００３４】
ユーザは、ユーザ端末２の入力装置を操作して、図３Ａに例示される画面において、アクセス対象に係るアカウントのアカウント名及びパスワードを入力し、ログインボタンを押下する。これにより、アカウント名及びパスワードとしてユーザにより入力された文字列に係るデータが情報処理装置１に送信され、情報処理装置１は、ユーザ端末２からアカウント名及びパスワードとして入力された文字列をそれぞれ取得する。
【００３５】
情報処理装置１は、アカウント名としてユーザにより入力された文字列によって、アクセス対象のアカウントを特定する。そして、情報処理装置１は、パスワードとしてユーザにより入力された文字列と特定したアカウントに対応付けて登録されたパスワードの文字列とを照合することで、ユーザ認証を行う。
【００３６】
パスワードとしてユーザにより入力された文字列と特定したアカウントに対応付けて登録されたパスワードの文字列とが一致する場合、ユーザ認証は成立する。これにより、ユーザは、アカウントにログインすることができる。
【００３７】
他方、パスワードとしてユーザにより入力された文字列と特定したアカウントに対応付けて登録されたパスワードの文字列とが一致しなかった場合、ユーザ認証は失敗する。この場合、情報処理装置１は、図３Ｂに例示されるように、アクセス対象のアカウントに対応付けて登録されたヒント文字列（図中の”ps/JH3+a*3”）を出力する。図３Ｂにより例示される画面は、ヒント文字列を出力しつつ、ユーザに再度パスワードの入力を促す。
【００３８】
このように、情報処理装置１は、アカウントへのアクセスに対するユーザ認証に用いられるパスワードに含まれる一部の情報を維持したまま、該パスワードに含まれる文字をランダムに変換することで、該パスワードを想起させる手がかりとなるヒント文字列を生成する。また、情報処理装置１は、ユーザ端末２からのアクセスに応じて、ユーザ端末２に入力された文字列とアカウントに対応付けられたパスワードの文字列とを照合することで、ユーザ認証を実行する。そして、情報処理装置１は、入力された文字列とパスワードの文字列とが一致せずにユーザ認証が失敗した場合、アカウントに対応付けられたパスワードについて生成されたヒント文字列を出力する。
【００３９】
ここで、生成されるヒント文字列にはユーザ自身で設定したパスワードの一部の情報が維持されているため、パスワードを設定したユーザには、当該ヒント文字列は、パスワードを思い出すための手がかりとなりうる。他方、真のパスワードを知らない第三者には、当該ヒント文字列は、ランダムに文字が変換された文字列であるため、パスワードを知るための手がかりになり難い。
【００４０】
このような情報処理を実現することで、本実施形態に係る情報処理装置１は、パスワードを設定した本人に該パスワードを思い出させるための手がかりを提示しつつ、第三者には該パスワードが漏洩し難いようにする。
【００４１】
なお、ユーザ端末２は、ネットワークを介してデータの送受信を行うことが可能なコンピュータである。例えば、ユーザ端末２は、ネットワーク接続が可能なＰＣ（Personal Computer）やスマートフォン等の携帯電話である。
【００４２】
また、情報処理装置１とユーザ端末２との間における情報の伝達は、例えば、３Ｇ（3rd Generation）ネットワーク、インターネット、電話網、及び、専用網等のネットワーク３を介したデータ通信で実現される。ネットワーク３の種類は、各データ通信に応じて、適宜選択される。
【００４３】
＜構成例＞
図４は、本実施形態に係る情報処理装置１の構成例を示す。情報処理装置１は、図４に示されるとおり、そのハードウェア構成として、バス１３に接続される、記憶部１１、制御部１２、入出力部１４、及び、通信部１５等を有する。
【００４４】
記憶部１１は、制御部１２で実行される処理で利用される各種データ及びプログラムを記憶する（不図示）。記憶部１１は、例えば、ハードディスク、フラッシュメモリ等の記憶装置によって実現される。
【００４５】
また、記憶部１１は、アカウント情報データベース２１及びダミーヒント文字列データベース２２を含む。なお、図４では、データベースを「ＤＢ」と略称する。
【００４６】
図５は、アカウント情報データベース２１の１レコードを例示する。アカウント情報データベース２１は、ユーザのアカウントとして登録された情報（アカウント情報）を格納する。なお、図５に例示されるアカウント情報の１レコードは、１ユーザに係るデータを示す。本実施形態では、アカウント情報には、アカウント名、登録メールアドレス、登録日時、パスワード、及び、ヒント文字列を示す情報が含まれる。
【００４７】
アカウント名は、例えば、対象のアカウントを識別するための情報である。アカウント名は、図２Ａの画面例におけるアカウント名の項目に入力された文字列等、ユーザによって指定された文字列であってもよいし、それ以外の方法で与えられた文字列であってもよい。
【００４８】
登録メールアドレスは、例えば、図２Ａの画面例における連絡先メールアドレスの項目に入力されたメールアドレスである。また、登録日時は、対象のアカウントが登録された日時を示す。
【００４９】
パスワードは、対象のアカウントにログインしようとするユーザが、当該対象のアカウントの正式な利用者であることを確認するための文字列である。パスワードは、図２の画面例におけるパスワードの項目に入力された文字列等、ユーザによって指定された文字列であってもよいし、それ以外の方法で与えられた文字列であってもよい。なお、パスワードの文字列は、所定の方式によって、暗号化されてもよい。当該暗号化の方式は、適宜選択される。
【００５０】
ヒント文字列は、当該対象のアカウントのパスワードに含まれる一部の情報が維持されたまま、該パスワードに含まれる文字がランダムに変換されることで生成された、該パスワードを想起させる手がかりとなる文字列である。本実施形態では、ヒント文字列は、後述する生成部３１によって生成される。ヒント文字列の詳細は後述する。
【００５１】
図６は、ダミーヒント文字列データベース２２の１レコードを例示する。ダミーヒント文字列データベース２２は、ダミーヒント文字列に係る情報を格納する。ダミーヒント文字列は、存在しないアカウントに対してのユーザ認証を後述する認証部３３が受け付けた場合に、ヒント文字列に代えて出力される、該存在しないアカウントが存在するように見せるための文字列である。
【００５２】
上述のとおり、ヒント文字列は、登録されているアカウントに対応付けられている。そのため、本実施形態では、存在する（登録されている）アカウントに対してのアクセスにおいてパスワードを誤った場合、ヒント文字列が出力される。ここで、存在しない（登録されていない）アカウントに対してのアクセスにおいて何ら文字列が出力されないとする
と、当該アカウントが存在しないことがアカウント管理者以外の者に漏洩してしまう。
【００５３】
本実施形態では、当該漏洩を防ぐため、存在しないアカウントに対しても、登録されているアカウントに対してのユーザ認証と同様に文字列（ダミーヒント文字列）を出力することで、当該アカウントが存在しないことをアカウント管理者以外の者に推測しにくくする。
【００５４】
ここで、ヒント文字列は、パスワードに含まれる一部の情報を維持したまま、該パスワードに含まれる文字をランダムに変換することで生成される。よって、ヒント文字列は、設定されたパスワードを知らない第三者にとって、ランダムな文字列に見える。ダミーヒント文字列は、このようなヒント文字列に似ていることが望ましい。すなわち、ダミーヒント文字列は、ランダムな文字列であることが望ましい。
【００５５】
なお、図６に例示されるダミーヒント文字列に係る情報には、ダミーアカウントＩＤ及びダミーヒント文字列を示す情報が含まれる。ダミーアカウントＩＤは、ダミーヒント文字列を識別するための情報である。
【００５６】
存在しないアカウントそれぞれに対して、異なるダミーヒント文字列を登録すると、記憶部１１は、膨大な量の情報を格納しなければならなくなる。他方、少数の異なるダミーヒント文字列を使いまわすと、当該ダミーヒント文字列の出力されるアカウントが存在しないアカウントであるとアカウント管理者以外の者に推測しやすくなる。
【００５７】
そこで、本実施形態に係る記憶部１１は、所定のハッシュ関数による計算によりアカウントの文字列（アカウント名）をある程度有限な個数のＩＤ（ダミーアカウントＩＤ）に振り分ける。そして、記憶部１１は、図６に例示されるように、振り分けたＩＤそれぞれにダミーヒント文字列を対応付けて格納する。本実施形態では、ハッシュ関数により割り振るＩＤの個数を調整することで、登録するダミーヒント文字列の量と、存在しないアカウントの推測のしやすさとの調整を図ることができる。
【００５８】
また、本実施形態では、登録されたアカウントにおいて出力されるヒント文字列に似た文字列が表示され、かつ、一意なダミーヒント文字列が表示されるため、そのアカウントが存在するか否かをアカウント管理者以外の者に推測しにくくすることができる。
【００５９】
なお、所定のハッシュ関数による計算により算出されるハッシュ値の範囲は、適宜設定される。また、本実施形態では、当該所定のハッシュ関数により同じハッシュ値に計算されるアカウント名では、同じダミーヒント文字列が利用される。
【００６０】
なお、上述したアカウント情報、及び、ダミーヒント文字列に係る情報は、一例に過ぎず、アカウント情報、及び、ダミーヒント文字列に係る情報の項目は、適宜選択されてもよい。
【００６１】
また、本実施形態では、アカウント情報、及び、ダミーヒント文字列に係る情報は、データベース形式で記憶部１１に格納される。しかしながら、アカウント情報、及び、ダミーヒント文字列に係る情報は、テーブル形式等、いかなる形式で格納されてもよい。そして、アカウント情報、及び、ダミーヒント文字列に係る情報は、例えば、ＮＡＳ（Network Attached Storage）等の独立した装置に格納されてもよい。
【００６２】
図４に戻り、制御部１２は、マイクロプロセッサ又はＣＰＵ（Central Processing Unit）等の１又は複数のプロセッサと、当該１又は複数のプロセッサの処理に利用される周
辺回路（ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、インタフェー
ス回路等）と、を有する。制御部１２は、記憶部１１に格納されている各種データ及びプログラムを実行することにより、本実施形態における情報処理装置１の処理を実現する。ＲＯＭ、ＲＡＭ等は、制御部１２内のプロセッサが取り扱うアドレス空間に配置されているという意味で主記憶装置と呼ばれてもよい。
【００６３】
図４に示されるとおり、制御部１２は、生成部３１、アカウント登録部３２、認証部３３、及び、出力部３４を含む。生成部３１、アカウント登録部３２、認証部３３、及び、出力部３４は、例えば、記憶部１１に格納されたプログラム等が制御部１２の周辺回路であるＲＡＭ等に展開され、制御部１２のプロセッサにより実行されることによって実現される。
【００６４】
生成部３１は、アカウントへのアクセスに対するユーザ認証に用いられるパスワードに含まれる一部の情報を維持したまま、該パスワードに含まれる文字をランダムに変換することで、該パスワードを想起させる手がかりとなるヒント文字列を生成する。
【００６５】
なお、生成部３１は、パスワードの文字列の先頭及び末尾の文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列を生成してもよい。
【００６６】
また、生成部３１は、パスワードの文字列の文字数を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列を生成してもよい。
【００６７】
また、生成部３１は、パスワードの文字列に含まれる区切り文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列を生成してもよい。
【００６８】
また、生成部３１は、パスワードの文字列に含まれる各文字の文字種を維持したまま、該各文字をランダムに変換することで、ヒント文字列を生成してもよい。
【００６９】
また、生成部３１は、パスワードの文字列に含まれる各文字の文字種毎の文字数を維持したまま、該各文字をランダムに変換することで、ヒント文字列を生成してもよい。
【００７０】
また、生成部３１は、パスワードの文字列の中央にある所定数の文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列を生成してもよい。
【００７１】
また、生成部３１は、パスワードの文字列に含まれる数字の合計値を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列を生成してもよい。
【００７２】
アカウント登録部３２は、図２Ａ及び図２Ｂにおいて説明したアカウント登録に係る処理を実行する。
【００７３】
認証部３３は、アカウントに対応付けられたパスワードの文字列とユーザによって入力された文字列とを照合することで、アカウントへのアクセスに対するユーザ認証を実行する。
【００７４】
出力部３４は、認証部３３により実行されるユーザ認証が失敗した場合、対象のアカウントに対応付けられたパスワードについて生成されたヒント文字列を出力する。
【００７５】
なお、出力部３４は、存在しないアカウントに対してのユーザ認証を認証部３３が受け付けた場合、ヒント文字列に代えて、該存在しないアカウントが存在するように見せるためのダミーヒント文字列を出力してもよい。
【００７６】
また、出力部３４は、存在しないアカウントに対してのユーザ認証を認証部３３が受け付けた場合、所定のハッシュ関数により、該受け付けたユーザ認証に係るアカウントを識別するための文字列のハッシュ値を計算し、計算したハッシュ値に対応付けられたダミーヒント文字列を出力してもよい。
【００７７】
なお、このように出力されるダミーヒント文字列は、生成部３１によって生成されてもよい。
【００７８】
入出力部１４は、情報処理装置１の外部に存在する装置とデータの送受信を行うための１又は複数のインタフェースである。入出力部１４は、例えば、入力装置及び出力装置等のユーザインタフェースと接続するためのインタフェース、若しくは、ＵＳＢ（Universal Serial Bus）メモリ等の装置とＵＳＢ接続するためのインタフェース、又は、これらのインタフェースの組合せである。入出力部１４は、例えば、不図示のユーザインタフェース（タッチパネル、テンキー、キーボード、マウス、ディスプレイ等の入出力装置）と接続してもよい。
【００７９】
通信部１５は、ネットワーク３を介して、他の装置とデータ通信を行うための１又は複数のインタフェースである。本実施形態では、情報処理装置１は、当該通信部１５により、ユーザ端末２とデータ通信を行う。
【００８０】
本実施形態に係る情報処理装置１は、これらの構成を備える装置である。情報処理装置１は、例えば、ＰＣ等の汎用コンピュータや仮想環境のコンピュータである。
【００８１】
§２  動作例
次に、図７及び８を用いて、本実施形態に係る情報処理装置１の動作例を説明する。図７は、本実施形態に係る情報処理装置１におけるアカウント登録の処理手順の一例を示したフローチャートである。また、図８は、本実施形態に係る情報処理装置１におけるユーザ認証の処理手順の一例を示したフローチャートである。なお、図７及び８では、ステップを「Ｓ」と略称する。
【００８２】
＜アカウント登録＞
図７を用いてアカウント登録に係る処理手順の一例を説明する。
【００８３】
ステップ１０１では、アカウント登録部３２によって、登録に係るアカウント情報の入力が受け付けられる。図２Ａを用いて説明したとおり、例えば、アカウント登録部３２は、図２Ａに例示される画面のデータをユーザ端末２に送信し、登録に係るアカウントのアカウント名、パスワード、及び、連絡先メールアドレスの入力をユーザに促す。そして、ユーザは、ユーザ端末２の入力装置を操作して、図２Ａに例示される画面において、各項目に所望する文字列を入力し、登録ボタンを押下する。これにより、各項目に入力された文字列に係るデータが情報処理装置１に送信され、アカウント登録部３２は、ユーザ端末２から各項目に入力された文字列をそれぞれ取得する。
【００８４】
ステップ１０２では、生成部３１によって、アカウントに対応付けて登録されるヒント文字列の候補が生成される。ここで、生成部３１は、複数のヒント文字列の候補を生成する。
【００８５】
例えば、生成部３１は、パスワードの文字列の先頭及び末尾の文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列の候補を生成する。この場合の処理の一例として、生成部３１は、まず、パスワードの文字列の先頭及び末尾の文字を記憶する。そして、生成部３１は、ランダムな文字列を生成し、生成したランダム
な文字列の先頭に、パスワードの文字列の記憶した先頭の文字を配置する。また、生成部３１は、生成したランダムな文字列の末尾に、パスワードの文字列の記憶した末尾の文字を配置する。これらの処理により、生成部３１は、パスワードの文字列の先頭及び末尾の文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列の候補を生成する。例えば、生成部３１は、“pass.word.123”というパスワードの文
字列から、“ps/JH3+a*3”というヒント文字列を生成する。ここで、ランダムな文字列を生成する方法は、適宜設定されてよい。
【００８６】
なお、この文字列の変換方法では、生成されるヒント文字列の文字数は、パスワードの文字数から増減する可能性がある。この文字数の増減の幅は、設定値によって制限されてもよい。このとき、生成部３１は、パスワードの文字列のうち、当該文字列の先頭及び末尾の文字を除いた文字の数を数える。そして、生成部３１は、「数えた文字の数＋設定値」から「数えた文字の数−設定値」の範囲で、生成するランダムな文字列の文字数を決定する。これにより、生成部３１によって生成されるヒント文字列の文字数は、パスワードの文字数から増減幅が設定値の範囲に含まれる値となる。
【００８７】
また、例えば、生成部３１は、パスワードの文字列の文字数を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列の候補を生成する。この場合の処理の一例として、生成部３１は、まず、パスワードの文字列の文字数を数える。そして、生成部３１は、数えた文字数と同じ文字数のランダムな文字列を生成する。ランダムな文字列を生成する方法は、上述と同様でよい。これらの処理により、生成部３１は、パスワードの文字列の文字数を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列の候補を生成する。例えば、生成部３１は、“pass.word.123”
という文字数１３のパスワードの文字列から、“q_JfQ9#zp3Td8”という文字数１３のヒ
ント文字列を生成する。
【００８８】
また、例えば、生成部３１は、パスワードの文字列に含まれる区切り文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列の候補を生成する。この場合の処理の一例として、生成部３１は、パスワードの文字列の先頭または末尾以外の位置に区切り文字が含まれるか否か判定する。なお、区切り文字とは、文字列を複数の要素に区切る役目を果たす文字であり、例えば、ピリオド、カンマ、及び、スペース等の文字が区切り文字に設定されてよい。
【００８９】
パスワードの文字列の先頭または末尾以外の位置に区切り文字が含まれていない場合、生成部３１は、このほかの文字列の変換方法によりヒント文字列を生成する。他方、パスワードの文字列の先頭または末尾以外の位置に区切り文字が含まれている場合、生成部３１は、当該区切り文字により文字列を区切ることで、パスワードの文字列を複数の要素に分ける。そして、生成部３１は、区切り文字の位置と各要素の位置とを記憶し、各要素に対してランダムな文字列を生成し、各要素に対して生成したランダムな文字列を、該各要素の位置に配置する。これらの処理により、生成部３１は、パスワードの文字列に含まれる区切り文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列の候補を生成する。例えば、生成部３１は、“pass.word.123”というパスワ
ードの文字列から、“YrA.V7.r5*e2”というヒント文字列を生成する。
【００９０】
なお、この文字列の変換方法では、上述の変換方法と同様に、生成されるヒント文字列の文字数は、パスワードの文字数から増減する可能性がある。よって、この場合の変換方法でも、上述と同様の方法で、文字数の増減の幅が制限されてよい。
【００９１】
また、例えば、生成部３１は、パスワードの文字列に含まれる各文字の文字種を維持したまま、該各文字をランダムに変換することで、ヒント文字列の候補を生成する。この場
合の処理の一例として、生成部３１は、パスワードの文字列に含まれる文字を１つ１つ、文字種を維持したままランダムに変換する。すなわち、生成部３１は、各文字の文字種に含まれる文字の範囲で、当該各文字をランダムに変換する。この処理により、生成部３１は、パスワードの文字列に含まれる各文字の文字種を維持したまま、該各文字をランダムに変換することで、ヒント文字列の候補を生成する。例えば、生成部３１は、“?k8fn/:LM+eX”というパスワードの文字列から、“_R0jM&.sc@VN”というヒント文字列を生成する。
【００９２】
なお、この文字列の変換方法では、パスワードの文字列において同種の文字が規則正しく並んでいる場合、ヒント文字列においても同種の文字が規則正しく並んでしまう。これにより、パスワードを知らない第三者に、パスワードの文字列が漏洩してしまう可能性が高まる。このような状態を防ぐため、生成部３１は、パスワードの文字列に含まれる各文字の文字種を先頭から判定していき、同種の文字が所定数以上続いた場合、又は、所定の規則に従って同種の文字種が登場する場合、これ以外の変換方法でヒント文字列を生成してもよい。他方、同種の文字が所定数以上続かなかった場合、及び、所定の規則に従って同種の文字種が登場しなかった場合、生成部３１は、この変換方法でヒント文字列を生成してもよい。
【００９３】
また、例えば、生成部３１は、パスワードの文字列に含まれる各文字の文字種毎の文字数を維持したまま、該各文字をランダムに変換することで、ヒント文字列の候補を生成する。この場合の処理の一例として、生成部３１は、まず、パスワードの文字列に含まれる文字数を文字種毎に数える。次に、生成部３１は、文字種毎に数えた文字数と該文字種が同じランダムな文字列を生成する。すなわち、生成部３１は、各文字種に含まれる文字の範囲で、各文字種の文字数と同じランダムな文字列を生成する。そして、生成部３１は、例えば、生成した順に、各文字種に対して生成したランダムな文字列を並べ、当該並べた文字列に含まれる文字をランダムに配置変換する。これらの処理により、生成部３１は、パスワードの文字列に含まれる各文字の文字種毎の文字数を維持したまま、該各文字をランダムに変換することで、ヒント文字列の候補を生成する。例えば、生成部３１は、“pass.word.123”というパスワードの文字列から、“D9%s8vHpyp6L+”というヒント文字列を生成する。
【００９４】
なお、この文字列の変換方法では、パスワードの文字列に含まれる文字の文字種として含まれていない文字種が存在するほど、パスワードの文字列からヒント文字列の候補に変換される範囲が限定されてしまう。このような状態を防ぐため、生成部３１は、パスワードの文字列に所定数以上の文字種が含まれていない場合、これ以外の変換方法でヒント文字列を生成してもよい。他方、パスワードの文字列に所定数以上の文字種が含まれている場合、生成部３１は、この変換方法でヒント文字列を生成してもよい。
【００９５】
また、例えば、生成部３１は、パスワードの文字列の中央にある所定数の文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列の候補を生成する。この場合の処理の一例として、生成部３１は、まず、パスワードの文字列の中央にある所定数の文字とその位置を記憶する。次に、生成部３１は、パスワードの文字列に含まれる文字数と同一の文字数のランダムな文字列を生成する。そして、生成部３１は、生成したランダムな文字列における記憶した位置の文字を記憶したパスワードの文字に上書きする。これらの処理により、生成部３１は、パスワードの文字列の中央にある所定数の文字を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列の候補を生成する。例えば、生成部３１は、“password123”というパスワードの文
字列から、“$5LsUoNG5b|”というヒント文字列を生成する。
【００９６】
また、例えば、生成部３１は、パスワードの文字列に含まれる数字の合計値を維持した
まま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列の候補を生成する。この場合の処理の一例として、生成部３１は、まず、パスワードの文字列に含まれる数字の合計値を求める。次に、生成部３１は、求めた合計値が同じ数字のランダムな文字列を生成する。
【００９７】
例えば、生成部３１は、ランダムに数字を特定していき、求めた合計値を特定した数字で減算する。減算後の合計値が負の数でなければ、生成部３１は、ランダムに特定した数字を、生成する数字のランダムな文字列に含まれる文字として特定して、減算後の合計値を用いて同じ処理を繰り返す。他方、減算後の合計値が負の数であれば、生成部３１は、減算前の合計値を、生成する数字のランダムな文字列に含まれる文字として特定して、当該処理を終了する。この処理により、生成部３１は、求めた合計値が同じ数字のランダムな文字列を生成する。
【００９８】
また、生成部３１は、数字以外の文字種を用いて、ランダムな文字列を生成する。そして、生成した数字以外の文字種のランダムな文字列の中に、生成した数字のランダムな文字列に含まれる文字（数字）をランダムに配置する。これらの処理により、生成部３１は、パスワードの文字列に含まれる数字の合計値を維持したまま、該文字列に含まれる文字をランダムに変換することで、ヒント文字列の候補を生成する。例えば、生成部３１は、“password456”というパスワードの文字列から、“+i4tj*13%k7A”というヒント文字列
を生成する。
【００９９】
なお、この文字列の変換方法では、パスワードの文字列に含まれる数字が少ないほど、パスワードの文字列からヒント文字列の候補に変換される範囲が限定されてしまう。このような状態を防ぐため、生成部３１は、パスワードの文字列に所定の文字数以上の数字が含まれていない場合、これ以外の変換方法でヒント文字列を生成してもよい。他方、パスワードの文字列に所定の文字数以上の数字が含まれている場合、生成部３１は、この変換方法でヒント文字列を生成してもよい。
【０１００】
また、この文字列の変換方法では、上述の変換方法と同様に、生成されるヒント文字列の文字数は、パスワードの文字数から増減する可能性がある。よって、この場合の変換方法でも、上述と同様の方法で、文字数の増減の幅が制限されてよい。
【０１０１】
ステップ１０３では、アカウント登録部３２によって、生成された複数のヒント文字列の候補から、アカウントに対応付けて登録されるヒント文字列の選択が受け付けられる。図２Ｂを用いて説明したとおり、例えば、アカウント登録部３２は、図２Ｂに例示される画面のデータをユーザ端末２に送信し、アカウントに登録するヒント文字列の選択をユーザに促す。そして、ユーザは、ユーザ端末２の入力装置を操作して、図２Ｂに例示される画面において、ラジオボタンを操作して、アカウントに登録することを所望するヒント文字列を複数のヒント文字列の候補から選択し、選択ボタンを押下する。これにより、アカウント登録部３２は、ユーザによりアカウントに登録することを所望されたヒント文字列を特定する。
【０１０２】
ステップ１０４では、アカウント登録部３２によって、これまでの処理で生成されるアカウント情報がアカウント情報データベース２１に登録される。アカウント登録部３２は、ステップ１０１において取得した情報により、登録に係るアカウント情報に含まれるアカウント名、登録メールアドレス、及び、パスワードを特定する。また、アカウント登録部３２は、当該アカウントの登録を受け付けた日時により、登録に係るアカウント情報に含まれる登録日時を特定する。更に、アカウント登録部３２は、ステップ１０３により特定されたヒント文字列により、登録に係るアカウント情報に含まれるヒント文字列を特定する。そして、アカウント登録部３２は、これら特定された情報を含むアカウント情報を
アカウント情報データベース２１に登録する。
【０１０３】
＜ユーザ認証＞
図８を用いてユーザ認証に係る処理手順の一例を説明する。
【０１０４】
ステップ２０１では、認証部３３によって、ユーザ認証が受け付けられる。図３Ａを用いて説明したとおり、例えば、認証部３３は、図３Ａに例示される画面のデータをユーザ端末２に送信し、アクセス対象に係るアカウントのアカウント名及びパスワードの入力をユーザに促す。そして、ユーザは、ユーザ端末２の入力装置を操作して、図３Ａに例示される画面において、アクセス対象に係るアカウントのアカウント名及びパスワードを入力し、ログインボタンを押下する。これにより、認証部３３は、ユーザ端末２からアカウント名及びパスワードとして入力された文字列をそれぞれ取得する。これにより、処理は、次のステップ２０２に進む。
【０１０５】
ステップ２０２では、認証部３３によって、アクセス対象のアカウントが存在するか否か判定される。例えば、認証部３３は、アカウント情報データベース２２にアクセスし、アカウント名としてユーザにより入力された文字列と同じ文字列が登録されたアカウント名のレコードが存在するか否か判定する。アカウント名としてユーザにより入力された文字列と同じ文字列が登録されたアカウント名のレコードがアカウント情報データベース２２に存在しない場合（ステップ２０２の「ＮＯ」）、処理は、次のステップ２０３に進む。他方、アカウント名としてユーザにより入力された文字列と同じ文字列が登録されたアカウント名のレコードがアカウント情報データベース２２に存在する場合（ステップ２０２の「ＹＥＳ」）、処理は、ステップ２０５に進む。このとき、認証部３３は、アカウント名としてユーザにより入力された文字列と同じ文字列が登録されたアカウント名のレコードをアクセス対象のアカウントに係るレコードとして特定する。
【０１０６】
ステップ２０３では、出力部３４によって、所定のハッシュ関数に基づいて、アカウント名としてユーザにより入力された文字列のハッシュ値が計算される。所定のハッシュ関数は、適宜選択される。これにより、処理は、次のステップ２０４に進む。
【０１０７】
ステップ２０４では、出力部３４によって、ダミーヒント文字列が取得される。出力部３４は、ダミーヒント文字列データベース２２にアクセスし、ステップ２０３において計算したハッシュ値と同じ値のダミーアカウントＩＤを持つレコードを検索する。そして、出力部３４は、当該検索によって特定される、ステップ２０３において計算したハッシュ値と同じ値のダミーアカウントＩＤを持つレコードから、ダミーヒント文字列を取得する。これにより、処理は、ステップ２０７に進む。
【０１０８】
なお、ダミーヒント文字列データベース２２のレコードは、所定のハッシュ関数によって算出されるハッシュ値としてとり得る値全てについて、予め作成されていてもよい。
【０１０９】
また、当該ダミーヒント文字列データベース２２のレコードは、生成部３１によって生成されてもよい。
【０１１０】
また、ダミーヒント文字列データベース２２には、所定のハッシュ関数によって算出されるハッシュ値と同じ値のダミーアカウントＩＤを持つレコードが存在しない可能性があってもよい。この場合、出力部３４は、ステップ２０３において計算したハッシュ値と同じ値のダミーアカウントＩＤを持つレコードを特定することができない。このとき、パスワードとしてユーザにより入力された文字列に上記文字列の変換方法を適用することで、生成部３１は、ダミーヒント文字列を生成してもよい。そして、生成部３１は、算出されたハッシュ値のダミーアカウントＩＤと生成したダミーヒント文字列とを含むレコードを
作成し、作成したレコードをダミーヒント文字列データベース２２に格納してもよい。これにより、存在しないハッシュ値に係るレコードが補完される。
【０１１１】
ステップ２０５では、認証部３３によって、ユーザ認証が実行される。認証部３３は、パスワードとしてユーザにより入力された文字列と特定されたレコードに含まれるパスワードの文字列とを照合することで、ユーザ認証を行う。パスワードとしてユーザにより入力された文字列と特定されたレコードに含まれるパスワードの文字列とが一致する場合、ユーザ認証は成立し（ステップ２０５の「ＹＥＳ」）、ユーザ認証に係る処理は終了する。他方、パスワードとしてユーザにより入力された文字列と特定されたレコードに含まれるパスワードの文字列とが一致しなかった場合、ユーザ認証は失敗し（ステップ２０５の「ＮＯ」）、処理は、次のステップ２０６に進む。
【０１１２】
ステップ２０６では、出力部３４によって、登録されたヒント文字列が取得される。出力部３４は、ステップ２０２において特定されたレコードから、ヒント文字列を取得する。
【０１１３】
ステップ２０７では、出力部３４によって、ステップ２０４において取得されたダミーヒント文字列、又は、ステップ２０６において取得されたヒント文字列が出力される。出力部３４は、例えば、図３Ｂにより例示されるような、ステップ２０４において取得したダミーヒント文字列、又は、ステップ２０６において取得したヒント文字列を含む認証失敗画面を出力する。そして、処理は、ステップ２０１に戻る。
【０１１４】
§３  補足
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
【０１１５】
例えば、本実施形態では、ヒント文字列は、アカウント登録時に生成されて登録されている。しかしながら、ヒント文字列は、例えば、ユーザ認証が失敗した時に生成されてもよい。この場合、アカウント情報には、ヒント文字列の代わりに、例えば、上述したヒント文字列を生成する方法を指定する情報が含まれてよい。そして、生成部３１は、当該ヒント文字列を生成する方法を指定する情報に基づいて、ヒント文字列を生成してもよい。
【符号の説明】
【０１１６】
１…情報処理装置、２…ユーザ端末、３…ネットワーク
１１…記憶部、１２…制御部
２１…アカウント情報データベース、２２…ダミーヒント文字列データベース
３１…生成部、３２…アカウント登録部、３３…認証部、３４…出力部
【図１】
0005841442.tif 000002
【図２Ａ】
0005841442.tif 000003
【図２Ｂ】
0005841442.tif 000004
【図３Ａ】
0005841442.tif 000005
【図３Ｂ】
0005841442.tif 000006
【図４】
0005841442.tif 000007
【図５】
0005841442.tif 000008
【図６】
0005841442.tif 000009
【図７】
0005841442.tif 000010
【図８】
0005841442.tif 000011