(57)【特許請求の範囲】
【請求項１】
利用対象に対応するパスワードを変更する場合、前記利用対象に対応するパスワードの変更回数を第１の回数から第２の回数に更新し、
入力された文字列と、前記利用対象に対応する利用対象情報と、所定のユニーク情報とに基づいて第１の値を生成し、
前記第１の値に対して前記第２の回数を用いて所定の演算を施すことで得られた第２の値から、所定の生成ルールに則した第１のパスワードを生成する、
前記第１のパスワードを含むエントリが変更履歴情報に登録されていない場合、前記第１のパスワードと、前記利用対象に対応する利用対象情報と、前記所定のユニーク情報と、前記第２の回数とを含むエントリを、前記変更履歴情報に登録し、
前記第１のパスワードを含むエントリが前記変更履歴情報に登録されている場合、前記変更回数を前記第２の回数から第３の回数に更新し、
前記第１の値に対して前記第３の回数を用いて前記所定の演算を施すことで得られた第３の値から、前記所定の生成ルールに則した第２のパスワードを生成する、
処理をコンピュータに実行させるパスワード管理プログラム。
【請求項２】
前記第１のパスワードを表示部の表示画面に表示し、
前記表示部の表示画面に表示された前記第１のパスワードが使用された場合、前記第１のパスワードが使用されたことに関する情報を含むエントリを使用履歴情報に登録する、
処理を更に前記コンピュータに実行させる請求項１に記載のパスワード管理プログラム。
【請求項３】
前記変更履歴情報及び前記使用履歴情報を他のコンピュータに出力し、
前記他のコンピュータから第２の変更履歴情報及び第２の使用履歴情報が入力された場合、前記変更履歴情報に含まれていない前記第２の変更履歴情報のエントリを前記変更履歴情報に登録し、及び、前記使用履歴情報に含まれていない前記第２の使用履歴情報のエントリを前記使用履歴情報に登録する、
処理を更に前記コンピュータに実行させる請求項２に記載のパスワード管理プログラム。
【請求項４】
前記表示部の前記表示画面に表示された前記第１のパスワードが使用された場合、前記表示画面から前記第１のパスワードを消す、
処理を更に前記コンピュータに実行させる請求項２又は３に記載のパスワード管理プログラム。
【請求項５】
利用対象に対応するパスワードを変更する場合、前記利用対象に対応するパスワードの変更回数を第１の回数から第２の回数に更新する更新部と、
入力された文字列と、前記利用対象に対応する利用対象情報と、所定のユニーク情報とに基づいて第１の値を生成する生成部と、
前記第１の値に対して前記第２の回数を用いて所定の演算を施すことで得られた第２の値から、所定の生成ルールに則した第１のパスワードを生成するパスワード生成部と、
前記第１のパスワードを含むエントリが変更履歴情報に登録されていない場合、前記第１のパスワードと、前記利用対象に対応する利用対象情報と、前記所定のユニーク情報と、前記第２の回数とを含むエントリを、前記変更履歴情報に登録する制御部と、を含み、
前記第１のパスワードを含むエントリが前記変更履歴情報に登録されている場合、
前記更新部は、前記変更回数を前記第２の回数から第３の回数に更新し、
前記パスワード生成部は、前記第１の値に対して前記第３の回数を用いて前記所定の演算を施すことで得られた第３の値から、前記所定の生成ルールに則した第２のパスワードを生成する、
ことを特徴とするパスワード管理装置。
【請求項６】
利用対象に対応するパスワードを変更する場合、前記利用対象に対応するパスワードの変更回数を第１の回数から第２の回数に更新する工程と、
入力された文字列と、前記利用対象に対応する利用対象情報と、所定のユニーク情報とに基づいて第１の値を生成する工程と、
前記第１の値に対して前記第２の回数を用いて所定の演算を施すことで得られた第２の値から、所定の生成ルールに則した第１のパスワードを生成する工程と、
前記第１のパスワードを含むエントリが変更履歴情報に登録されていない場合、前記第１のパスワードと、前記利用対象に対応する利用対象情報と、前記所定のユニーク情報と、前記第２の回数とを含むエントリを、前記変更履歴情報に登録する工程と、
前記第１のパスワードを含むエントリが前記変更履歴情報に登録されている場合、前記変更回数を前記第２の回数から第３の回数に更新する工程と、
前記第１の値に対して前記第３の回数を用いて前記所定の演算を施すことで得られた第３の値から、前記所定の生成ルールに則した第２のパスワードを生成する工程と、
を含む、コンピュータが実行するパスワード管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスワード管理プログラム、パスワード管理装置、及びパスワード管理方法に関する。
【背景技術】
【０００２】
近年、銀行のＡＴＭ（Automatic Teller Machine）、ウェブ（Ｗｅｂ）サイト、アプリケーションなどのさまざまなシステムでパスワードによる認証処理が利用されている。ユーザは、例えば、パスワードを記憶する、又はメモを残すなどによりパスワードを管理している。
【０００３】
この様な場合、利用するパスワードの数が少なければユーザにとっての負担は少ないが、取り扱うパスワードの数が多くなると、ユーザがパスワードを管理しきれずに間違える、又は忘れてしまうことがある。
【０００４】
また、パスワードの管理負担を軽減するために、例えば生年月日や電話番号などの自身の覚えやすいパスワードを用いたり、複数の認証先に同じパスワードを使いまわしたりすることがある。この場合、セキュリティは低くなる。また、セキュリティを高めるために、システムからパスワードの定期的な変更が求められることもある。
【０００５】
これに関し、複数のアプリケーションでのセキュリティを有する認証を管理する方法を提供するための技術が知られている（例えば、特許文献１）。また、パスワードなどの秘匿情報を外出先でも参照することが可能で、かつ、万が一、その秘匿情報を紛失しても復旧することが可能な情報管理システムを提供するための技術が知られている（例えば、特許文献２）。アプリケーションサーバにネットワークを介してクライアント装置が接続してアプリケーションを利用するシステムにおける利便性を高めるための技術が知られている（例えば、特許文献３）。認証情報を動的に更新するシングルサインオンシステムの提供のための技術が知られている（例えば、特許文献４）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−３５０４１号公報
【特許文献２】特開２００９−１１６７２６号公報
【特許文献３】特開２００５−１８２３４３号公報
【特許文献４】特開２０１２−３３０４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
パスワードのセキュリティ強度は、例えば、他人に類推し難くなるようにパスワードを複雑にすることで、高く保つことができる。一方で、パスワードの管理を容易にし、忘却を防ぐためにはパスワードは、例えば、自身の覚えやすい簡単な文字列であることが望ましい。このようにパスワードには相反する性質が求められている。そのため、高いセキュリティを保ちつつ、ユーザのパスワードの管理負担を軽減することのできる技術の提供が望まれる。
１つの側面では、本発明は、ユーザのパスワードの管理負担を軽減することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一つの態様のパスワード管理プログラムは、コンピュータに、更新する処理と、生成する処理と、パスワードを生成する処理とを実行させる。コンピュータは、更新する処理において、利用対象に対応するパスワードを変更する場合、利用対象に対応するパスワードの変更回数を第１の回数から第２の回数に更新する。コンピュータは、生成する処理において、入力された文字列と、利用対象に対応する利用対象情報と、所定のユニーク情報とに基づいて第１の値を生成する。コンピュータは、パスワードを生成する処理において、第１の値に対して第２の回数を用いて所定の演算を施すことで得られた第２の値から、所定の生成ルールに則した第１のパスワードを生成する。
【発明の効果】
【０００９】
ユーザのパスワードの管理負担を軽減することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るパスワード管理装置の機能ブロック構成を例示する図である。
【図２】パスワード管理装置の表示部に表示されるパスワード管理画面を例示する図である。
【図３】表示部の表示画面に表示される変更履歴画面を例示する図である。
【図４】表示部の表示画面に表示される使用履歴画面を例示する図である。
【図５】表示部の表示画面に表示される検証結果画面を例示する図である。
【図６】パスワードの生成処理の動作フローを例示する図である。
【図７】パスワードの生成処理を例示する図である。
【図８】実施形態に係る変更履歴情報を例示する図である。
【図９】パスワードの変更処理の動作フローを例示する図である。
【図１０】変更履歴の表示処理の動作フローを例示する図である。
【図１１】実施形態に係る使用履歴情報を例示する図である。
【図１２】使用履歴の生成処理の動作フローを例示する図である。
【図１３】使用履歴の表示処理の動作フローを例示する図である。
【図１４】パスワード管理機能のエクスポート処理の動作フローを例示する図である。
【図１５】パスワード管理機能のインポート処理の動作フローを例示する図である。
【図１６】パスワードの検証処理の動作フローを例示する図である。
【図１７】実施形態に係るパスワード管理装置を実現するためのコンピュータのハードウェア構成を例示する図である。
【発明を実施するための形態】
【００１１】
上述のように、ユーザのパスワードの管理負担を軽減することのできる技術の提供が望まれている。以下で述べる実施形態では、パスワード生成装置は、例えば、単語と、パスワードの利用対象に対応する利用対象情報と、ユニーク情報と、パスワードの変更回数とを用いてパスワードを生成する。なお、単語は、例えば、生年月日、電話番号、ペットの名前、好きな単語などの自身の覚えやすい文字列であってよい。利用対象情報は、例えば、パスワードの利用対象を識別する情報と、利用対象においてユーザを識別する情報とを含んでよい。利用対象を識別する情報は、例えば、利用対象が銀行であれば銀行名、利用対象がログイン認証を行うウェブサイトであればウェブサイト名などであってよい。また、利用対象においてユーザを識別する情報は、例えば、利用対象が銀行であれば口座番号であってよく、また、利用対象がログイン認証を行うウェブサイトであれば登録しているユーザＩＤ（identifier）などであってよい。ユニーク情報は、例えば、ＭＡＣアドレス（Media Access Control address）などのユニークＩＤ、或いはユーザが指定した文字列などであってよく、パスワード生成装置のユーザ以外が入手困難な情報であってよい。パスワードの変更回数は、例えば、利用対象に対応するパスワードを変更した回数であってよい。
【００１２】
このように実施形態では、ユーザが覚えやすい単語に、利用対象に対応する利用対象情報と、他人に知られにくいユニーク情報と、パスワードの変更回数とを用いて個々の利用対象に対応するパスワードを生成する。ユーザが覚えやすい単語に、他の情報を組み合わせてパスワードが生成されるため、高いセキュリティ強度のパスワードを生成することができる。また、ユーザは覚えやすい単語を覚えていればパスワードを生成することができるため、パスワードの管理が容易になる。更に、利用対象情報は利用対象毎に異なるため、利用対象毎に異なるパスワードを容易に生成することができる。ユニーク情報には、他人が入手困難な情報を用いているため、例えば単語が他人に知られてしまったとしてもユニーク情報が分からず、他人はパスワードを生成することが困難である。また、パスワードの生成にパスワードの変更回数を用いることで、例えば、パスワードを変更する場合にも、変更の度に異なるパスワードを容易に生成することができる。
【００１３】
以下、図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、複数の図面において対応する要素には同一の符号を付す。
【００１４】
図１は、実施形態に係るパスワード管理装置１００の機能ブロック構成を例示する図である。パスワード管理装置１００は、例えば、パーソナルコンピュータ（ＰＣ）、ノートＰＣ、スマートフォン、携帯電話機、タブレット端末などであってよい。パスワード管理装置１００は、例えば、制御部１０１、記憶部１０２及び表示部１０３を含んでいる。制御部１０１は、例えば、更新部１１１、生成部１１２、パスワード生成部１１３などの機能部を含んでいる。パスワード管理装置１００の記憶部１０２は、例えば、ユニーク情報、及び後述する変更履歴情報８００、使用履歴情報１１００などの情報を記憶している。表示部１０３は、例えば、ディスプレーなどの表示装置であってよく、制御部１０１の指示に従って、パスワード管理画面等を表示してよい。これらの各機能部の詳細及び記憶部１０２に格納されている情報の詳細については後述する。
【００１５】
以下、図２〜図５を参照して、パスワード管理装置１００の表示部１０３に表示される表示画面について例示する。なお、これらの表示画面は、例えば、パスワード管理装置１００の制御部１０１が、パスワード管理プログラムを実行することで、表示部１０３の表示画面に表示されてよい。
【００１６】
図２は、パスワード管理装置１００の表示部１０３が、制御部１０１の指示に従って表示画面に表示するパスワード管理画面２００を例示する図である。パスワード管理画面２００は、例えば、パスワード生成情報２０１と、パスワード一覧情報２０２とを含んでいる。パスワード生成情報２０１は、単語２１１、生成ルール２１２、期間２１３、利用対象２１４、利用者ＩＤ２１５、及びパスワード２１６を含む。また、パスワード生成情報２０１は、生成ボタン２１７と、保存ボタン２１８とを含む。
【００１７】
単語２１１は、パスワード生成に使用する単語であってよく、例えば、カンマや空白による区切りで複数の単語をつなげてもよい。また、生成ルール２１２は、パスワードを生成するためのルールであり、例えば、桁数、及び文字種別を含む。桁数は、例えば、パスワードの桁数である。また、文字種別は、例えば、パスワードで用いることが許される文字の種類である。文字種別は、例えば、数字のみ、英文字の大文字と数字、英文字の小文字と数字、英文字の大文字及び小文字と数字、英文字の大文字と数字と記号、英文字の小文字と数字と記号、英文字の大文字及び小文字と数字と記号などから選択されてよい。期間２１３は、パスワードの有効期間であってよく、例えば、パスワードを定期的に変更することが要求される場合は"あり"に設定されていてよい。また、その場合は、期間２１３では、パスワードを有効とする日数が指定されていてよい。利用対象２１４は、パスワードを利用する対象を示す情報であってよく、例えば、パスワードを利用する対象を表す銀行名、カード名、アプリケーション名などであってよい。利用者ＩＤ２１５は、例えば、利用対象２１４に示されるパスワードの利用先で、ユーザを識別するための情報であってよい。利用者ＩＤ２１５は、例えば、銀行の口座番号、カードのカード番号、及びアプリケーションにおけるユーザＩＤなどであってよい。また、ユーザがパスワード管理画面２００において生成ボタン２１７を押すと、例えば、単語２１１、生成ルール２１２、利用対象２１４、利用者ＩＤ２１５などの情報を用いて制御部１０１は、パスワードを生成し、パスワード２１６に表示する。また、ユーザがパスワード管理画面２００において保存ボタン２１８を押すと、生成されたパスワードについての情報は、記憶部１０２に保存され、また、生成されたパスワードについての情報を含むエントリが、パスワード一覧情報２０２にも表示されてよい。
【００１８】
パスワード一覧情報２０２は、例えば、ユーザがパスワード管理画面２００のパスワード生成情報２０１において保存ボタン２１８を押すことで、記憶部１０２に保存されたパスワードについての情報を含む。パスワード一覧情報２０２に登録されているエントリは、例えば、利用対象、利用者ＩＤ、パスワード、生成ルール、使用履歴、変更履歴を含む。利用対象、利用者ＩＤ、生成ルールは、エントリに含まれるパスワードの生成の際に利用対象２１４、利用者ＩＤ２１５、生成ルール２１２に登録されており、パスワードの生成に用いられた情報であってよい。使用履歴は、エントリに含まれるパスワードの使用履歴を記録するか否かを示す情報であり、図２の例では、使用履歴を記録する場合には「有」が登録されており、使用履歴を記録しない場合には「無」が登録されている。例えば、使用履歴に「有」が登録されている場合、ユーザがクリックなどを介して「有」を押すと、制御部１０１は、後述する図４の使用履歴画面４００を表示部１０３に表示してよい。変更履歴は、エントリに含まれるパスワードの変更履歴を記録するか否かを示す情報であり、図２の例では、変更履歴を記録する場合には「有」が登録されており、変更履歴を記録しない場合には「無」が登録されている。また、変更履歴に「有」が登録されている場合、ユーザが例えばクリックなどを介して「有」を押すと、制御部１０１は、後述する図３の変更履歴画面３００を表示部１０３に表示してよい。また、パスワード一覧情報２０２は、例えば、検証ボタン２２１と、削除ボタン２２２と、変更ボタン２２３と、及び終了ボタン２２４とを含む。
【００１９】
ユーザが、例えば、パスワード一覧情報２０２の中からチェックボックスなどを介してエントリを選択し、検証ボタン２２１を押すと、制御部１０１は、選択したエントリのパスワードについてセキュリティ強度を判定する。そして、制御部１０１は、例えば、後述する図５の検証結果画面５００を表示部１０３に表示してよい。
【００２０】
ユーザが、例えば、パスワード一覧情報２０２の中からチェックボックスなどを介してエントリを選択し、削除ボタン２２２を押すと、制御部１０１は、パスワード一覧情報２０２の中からチェックボックスなどを介して選択されたエントリを削除する。また、ユーザが、例えば、パスワード一覧情報２０２の中からチェックボックスなどを介してエントリを選択し、変更ボタン２２３を押すと、制御部１０１は、後述するパスワードを変更する処理を実行する。それにより、ユーザはパスワードを変更することができる。なお、パスワードの変更の詳細については後述する。また、ユーザが、例えば、パスワード一覧情報２０２の終了ボタン２２４を押すと、制御部１０１は、パスワード管理画面２００を閉じ、パスワードの管理を終了してよい。
【００２１】
図３は、表示部１０３の表示画面に表示される変更履歴画面３００を例示する図である。例えば、ユーザがパスワード一覧情報２０２において変更履歴の「有」を押すと、制御部１０１は、「有」が押されたエントリのパスワードについて変更履歴画面３００を表示してよい。変更履歴画面３００は、例えば、変更履歴の「有」が押されたエントリの利用対象、及び利用者ＩＤの情報を含み、更に表示期間３０１、及び変更履歴３０２を含む。また、変更履歴画面３００は、例えば、表示ボタン３０３、記入ボタン３０４、終了ボタン３０５を含む。表示期間３０１は、例えば、「有」が押されたエントリのパスワードについての変更履歴を表示する期間を指定するために用いられる。例えば、ユーザが表示期間３０１に期間を指定し、表示ボタン３０３を押すと、制御部１０１は、指定された期間におけるパスワードの変更履歴を変更履歴３０２に表示する。
【００２２】
変更履歴３０２のエントリは、例えば、Ｎｏ．と、日時と、メモを含む。Ｎｏ．は、例えば、変更履歴に含まれるエントリに割り振られた番号であってよい。日時は、パスワードの生成又は変更が行われた日時を示し、メモは、例えば、ユーザによって記入されたメモであってよい。ユーザは、例えば、記入ボタン３０４を押して表示された画面にメモを記入することで、変更履歴３０２のエントリにメモを登録してよい。また、ユーザが、終了ボタン３０５を押すと、表示部１０３の表示画面に表示された変更履歴画面３００は閉じてよい。
【００２３】
図４は、表示部１０３の表示画面に表示される使用履歴画面４００を例示する図である。例えば、ユーザがパスワード一覧情報２０２において使用履歴の「有」を押すと、制御部１０１は、「有」が押されたエントリのパスワードについて使用履歴画面４００を表示してよい。使用履歴画面４００は、例えば、使用履歴の「有」が押されたエントリの利用対象、及び利用者ＩＤの情報を含み、更に表示期間４０１、及び使用履歴４０２を含む。また、使用履歴画面４００は、例えば、表示ボタン４０３、記入ボタン４０４、終了ボタン４０５を含む。表示期間４０１は、例えば、「有」が押されたエントリのパスワードについての使用履歴を表示する期間を指定するために用いられる。例えば、ユーザが表示期間４０１に期間を指定し、表示ボタン４０３を押すと、制御部１０１は、指定された期間におけるパスワードの使用履歴を使用履歴４０２に表示する。
【００２４】
使用履歴４０２のエントリは、例えば、Ｎｏ．（Number）と、日時と、メモを含む。Ｎｏ．は、例えば、使用履歴に含まれるエントリに割り振られた番号であってよい。日時は、例えば、パスワードが使用された日時を示し、メモは、例えば、ユーザによって記入されたメモであってよい。ユーザは、例えば、記入ボタン４０４を押して表示された画面にメモを記入することで、使用履歴４０２のエントリにメモを登録してよい。また、ユーザが、終了ボタン４０５を押すと、表示部１０３の表示画面に表示された使用履歴画面４００は閉じてよい。
【００２５】
図５は、表示部１０３の表示画面に表示される検証結果画面５００を例示する図である。例えば、ユーザがパスワード一覧情報２０２において、チェックボックスを介してエントリを選択し、検証ボタン２２１を押すと、制御部１０１は、検証結果画面５００を表示してよい。検証結果画面５００は、例えば、パスワード一覧情報２０２において選択されたエントリのパスワードの検証の結果を示すエントリを含んでよい。検証結果画面５００のエントリは、例えば、Ｎｏ．、結果、利用対象、パスワード、判定理由などを含む。Ｎｏ．は、例えば、検証結果画面５００に含まれるエントリに割り振られた番号である。結果は、例えば、エントリに含まれるパスワードのセキュリティ強度の評価結果を示す情報であってよい。利用対象は、例えば、エントリに含まれるパスワードの利用対象を示す情報である。判定理由は、エントリの結果に示される評価結果に判定された理由を示す情報であってよい。また、検証結果画面５００は、例えば、詳細ボタン５０１と、終了ボタン５０２とを含む。ユーザは、例えば、詳細ボタン５０１を押すことで表示部１０３の表示画面に表示される情報を見て、エントリに含まれるパスワードのセキュリティ強度に関する詳細な情報を知ることができる。また、ユーザが、終了ボタン５０２を押すと、表示部１０３の表示画面に表示された検証結果画面５００は閉じてよい。
【００２６】
例えば、以上のような表示画面を用いて、パスワード管理装置１００は、ユーザから情報の入力を受け付け、また、ユーザに情報を提示してよい。
【００２７】
続いて、実施形態に係るパスワードの生成について説明する。図６は、パスワード管理装置１００の制御部１０１が実行するパスワードの生成処理の動作フローを例示する図である。なお、図６の動作フローは、例えば、パスワード管理装置１００の制御部１０１が、表示部１０３の表示画面にパスワード管理画面２００を表示させると開始してよい。
【００２８】
Ｓ６０１においてパスワード管理装置１００の制御部１０１は、単語、利用対象情報、生成ルール、期間の入力を受け付ける。以下では、利用対象情報として、利用対象及び利用者ＩＤとを用いる場合を例示する。しかしながら、実施形態はこれに限定されるものではなく、例えば、利用対象、又は利用者ＩＤのいずれかを、或いは別な情報を利用対象情報として用いて実施形態が実施されてもよい。また、ユーザは、例えば、パスワード管理画面２００の単語２１１、利用対象２１４、利用者ＩＤ２１５、生成ルール２１２、期間２１３に情報を入力し、生成ボタン２１７を押すことで、これらの情報をパスワード管理装置１００に入力してよい。ユーザが、生成ボタン２１７を押すと、制御部１０１は、処理をＳ６０２へと進めてよい。Ｓ６０２において、制御部１０１は、単語、利用対象情報、生成ルール、期間のうちで未入力の情報があるか否かを判定する。未入力の情報がある場合（Ｓ６０２がＹｅｓ）フローはＳ６０１へと戻り、ユーザに入力を指示する情報を通知する。一方、未入力の情報がない場合（Ｓ６０２がＮｏ）、フローはＳ６０３へと進む。Ｓ６０３において制御部１０１は、単語、利用対象情報（例えば、利用対象及び利用者ＩＤ）、及びユニーク情報を連結して、１つのデータ値とする。なお、ユニーク情報は、例えば、パスワード管理装置１００に対して設定されている値である。ユニーク情報は、例えば、ＭＡＣアドレスなどのユニークＩＤ、又は、ユーザが決めた所定の情報などであってよい。ユニーク情報は、例えば、記憶部１０２に記憶されていてよく、制御部１０１は、記憶部１０２からユニーク情報を読み出して利用してよい。
【００２９】
Ｓ６０４において制御部１０１は、連結したデータ値をハッシュ関数に入力して、ハッシュ値を求める。なお、ハッシュ値のサイズは、ハッシュ関数により異なってよい。例えば、ハッシュ関数がＭＤ５（Message Digest Algorithm 5）であれば１６Ｂｙｔｅｓであってよい。ハッシュ関数がＳＨＡ２５６（Secure Hash Algorithm 256-bit）であれば３２Ｂｙｔｅｓであってよい。ハッシュ関数がＲＩＰＥＭＤ１６０（RACE Integrity Primitives Evaluation Message Digest）であれば２０Ｂｙｔｅｓであってよい。続いて、Ｓ６０５において制御部１０１は、ハッシュ値に、パスワードの変更回数を用いて所定の演算を施し、得られた値から生成ルールに従ってパスワードを生成する。
【００３０】
図７は、Ｓ６０５におけるパスワードの生成処理を例示する図である。例えば、Ｓ６０１で入力されたパスワードの生成ルール２１２において、パスワードに使用可能な文字列として、英文字の大文字及び小文字と数字と記号とが指定されており、また、桁数として８桁が指定されているとする。この場合、制御部１０１は、例えば、連結したデータ値をハッシュ関数に入力して得られたハッシュ値のバイト数を、生成ルールで指定された桁数で除算する。例えば、ハッシュ値が１６バイトであれば、８で除算し、得られた２をハッシュ値からパスワードを生成するために処理対象とするバイトの間隔として取得する。即ち、例えば、ハッシュ値が１６バイトであり、処理対象とするバイトの間隔が２であるとする。この場合、制御部１０１は、１バイト目、３バイト目、５バイト目、７バイト目、９バイト目、１１バイト目、１３バイト目、１５バイト目のデータ（図７の斜線部）を処理対象としてよい（図７のＳ７０１）。そして、制御部１０１は、処理対象としたそれぞれの位置でのバイトの値に、パスワードの変更回数を加算する（図７のＳ７０２）。なお、図６の動作フローは、パスワードの初回の生成時に実行される処理であるため、変更回数は０回である。この場合、制御部１０１は、１バイト目、３バイト目、５バイト目、７バイト目、９バイト目、１１バイト目、１３バイト目、１５バイト目のデータにそれぞれ０を加算する。なお、例えば、変更回数が２回であり、１バイト目のデータが「０１１０１００１」であれば、制御部１０１は２を加算し、それにより、データは「０１１０１０１１」となってよい。
【００３１】
続いて、制御部１０１は、変更回数を加算したそれぞれの位置でのデータの値を、英文字の大文字Ａ〜Ｚ、英文字の小文字ａ〜ｚ、数字０〜９、記号（所定の１０種など）のいずれかの値に変換する（図７のＳ７０３）。この変換は、一例では、１バイトの値と、これらの文字とを対応づけた対応表を用いて実行されてよい。そして、得られた文字を１バイト目、３バイト目、５バイト目、７バイト目、９バイト目、１１バイト目、１３バイト目、１５バイト目の順に並べることでパスワードが生成されてよい（図７のＳ７０４）。
【００３２】
なお、以上のパスワードの生成処理は、例示であり、実施形態はこれに限定されるものではない。例えば、Ｓ６０１で入力されたパスワードの生成ルール２１２により、パスワードに使用可能な文字列として、数字のみが指定されており、また、桁数として４桁が指定されているとする。この場合、制御部１０１は、例えば、ハッシュ値のバイト数を、桁数：４で除算する。例えば、ハッシュ値が１６バイトであれば、４で除算し、得られた４をハッシュ値からパスワードを生成するために処理対象とするバイトの間隔として取得する。即ち、例えば、ハッシュ値が１６バイトであり、処理対象とするバイトの間隔が４であれば、制御部１０１は、１バイト目、５バイト目、９バイト目、１３バイト目のデータを処理対象としてよい。そして、制御部１０１は、処理対象としたそれぞれの位置でのバイトの値に、パスワードの変更回数を加算し、得られた値を数字へと変換してよい。また、処理対象としたそれぞれの位置でのバイトの値にパスワードの変更回数を用いて施す所定の演算は、加算に限定されるものではなく、例えば、別の実施形態では減算などその他の演算であってもよい。
【００３３】
図７を参照して以上に例示した様に、制御部１０１が生成ルール２１２に従ってハッシュ値からパスワードを生成すると、フローはＳ６０６へと進む。Ｓ６０６において制御部１０１は、保存ボタン２１８が押されたか否かを判定する。保存ボタン２１８が押されていない場合（Ｓ６０６がＮｏ）、フローはＳ６０６を繰り返す。一方、保存ボタン２１８が押された場合（Ｓ６０６がＹｅｓ）、フローはＳ６０７へと進む。Ｓ６０７において制御部１０１は、生成したパスワードの情報を変更履歴情報８００に保存する。
【００３４】
図８は、変更履歴情報８００を例示する図である。変更履歴情報８００に登録されている各エントリは、例えば、利用者情報、ユニーク情報、生成ルール、生成／変更日付、単語、パスワード、期間、回数、メモを含む。変更履歴情報８００の利用者情報には、例えば、エントリに含まれるパスワードの利用対象と、その利用対象における利用者ＩＤとが登録されてよい。変更履歴情報８００のユニーク情報には、例えば、エントリに含まれるパスワードの生成に用いられたユニーク情報が登録されてよい。変更履歴情報８００の生成ルールには、例えば、エントリに含まれるパスワードの生成に用いられた生成ルールが登録されてよい。変更履歴情報８００の生成／変更日付には、エントリに含まれるパスワードを生成した日付、又は変更した日付が登録されてよい。変更履歴情報８００の単語には、例えば、エントリに含まれるパスワードの生成に用いられた単語が登録されてよい。変更履歴情報８００の期間には、パスワードの有効期間が登録されてよい。一例として、所定の期間でパスワードの変更が要求される場合、期間には、所定の期間の日数が登録されてよく、変更が要求されない場合には、０が登録されてよい。変更履歴情報８００の回数には、パスワードの変更回数が登録されてよい。メモには、例えば、ユーザにより入力されたメモが登録される。
【００３５】
そして、Ｓ６０７において制御部１０１は、Ｓ６０１で入力された単語、利用対象情報、生成ルール、及び期間と、Ｓ６０３で用いたユニーク情報とを、変更履歴情報８００の単語、利用対象情報、生成ルール、期間、及びユニーク情報にそれぞれ登録してよい。また、Ｓ６０７において制御部１０１は、Ｓ６０５で生成したパスワードと、そのパスワードを生成した日付を、変更履歴情報８００のパスワード、生成／変更日付に登録してよい。また、例えば、図６の動作フローはパスワードの初回の生成で実行される処理であるため、Ｓ６０７では変更回数に０回が登録されてよい。また、例えば、Ｓ６０７ではユーザからのメモの入力を受けていないため、メモは空欄であってよい。なお、Ｓ６０７において制御部１０１は、変更履歴情報８００に保存したパスワードに関する情報を基に、パスワード一覧情報２０２にエントリを表示してよい。
【００３６】
Ｓ６０７で制御部１０１が生成したパスワードに関する情報を変更履歴情報８００に保存すると、本動作フローは終了する。なお、Ｓ６０６において保存ボタン２１８が押されておらず、Ｓ６０６の処理を繰り返している場合にも、例えば、パスワード一覧情報２０２において終了ボタン２２４が押された場合には、本動作フローは終了してよい。
【００３７】
以上の図６、図７で述べたパスワードの生成処理において、Ｓ６０４の処理ではパスワード管理装置１００の制御部１０１は、例えば生成部１１２として機能する。また、Ｓ６０５及びＳ７０１〜Ｓ７０４の処理では制御部１０１は、例えばパスワード生成部１１３として機能する。
【００３８】
続いて、パスワードの変更について説明する。図９は、パスワード管理装置１００の制御部１０１が実行するパスワードの変更処理の動作フローを例示する図である。なお、図９の動作フローは、例えば、制御部１０１が、表示部１０３の表示画面にパスワード管理画面２００を表示させると開始してよい。
【００３９】
Ｓ９０１においてパスワード管理装置１００の制御部１０１は、例えば、表示部１０３の表示画面に表示させているパスワード管理画面２００において変更ボタン２２３が押されるのを待機する。そして、制御部１０１は、変更ボタン２２３が押されると、例えばチェックボックスになされたチェックなどを介して、パスワード一覧情報２０２においてパスワードが選択されているか否かの情報を取得する。そして、Ｓ９０２において制御部１０１は、パスワードが１つ選択されているか否かを判定する。複数のパスワードが選択されている場合（Ｓ９０２がＮｏ）、パスワードを１つ選択して変更ボタン２２３を押すように指示を通知し、フローはＳ９０１へと戻る。一方、１つのパスワードが選択されている場合（Ｓ９０２がＹｅｓ）、フローはＳ９０３へと進む。
【００４０】
Ｓ９０３において制御部１０１は、変更履歴情報８００から、選択されたパスワードを含むエントリの情報を読み込む。Ｓ９０４において制御部１０１は、例えば、読み込んだパスワードの情報を表示部１０３の表示画面に表示させる。Ｓ９０５において制御部１０１は、読み込んだパスワードの情報に含まれる単語、及び生成ルールが、パスワード生成情報２０１の単語２１１、及び生成ルール２１２に設定されている値と同じか比較する。また、制御部１０１は、読み込んだパスワードの情報に含まれるユニーク情報が、パスワード管理装置１００の記憶部１０２に記憶されているユニーク情報と同じか比較する。
【００４１】
単語、生成ルール、及びユニーク情報の比較の結果がいずれも同じである場合、Ｓ９０６において制御部１０１はＹｅｓと判定し、フローはＳ９０７へと進む。Ｓ９０７において制御部１０１は、Ｓ９０３で変更履歴情報８００から読み込んだパスワードの情報に含まれる回数を１加算し、変更回数を更新する。Ｓ９０８において制御部１０１は、単語、利用者情報、及びユニーク情報と、Ｓ９０７で更新した回数とを用いてパスワードを生成する。なお、この場合、パスワードの生成に用いられる単語、利用者情報、生成ルール、及びユニーク情報は、Ｓ９０３で変更履歴情報８００から読み込んだパスワードの情報に含まれる単語、利用者情報、生成ルール、並びにユニーク情報と一致していてよい。
【００４２】
一方、Ｓ９０６において単語、生成ルール、及びユニーク情報の比較の結果、いずれかが同じでない場合（Ｓ９０６がＮｏ）、フローはＳ９０８へと進む。この場合、以前とは異なる新しい情報を基にパスワードを生成することになる。そのため、制御部１０１は、パスワード管理画面２００の単語２１１、利用者情報（利用対象２１４及び利用者ＩＤ２１５）、及び、記憶部１０２に記憶されているユニーク情報を用い、変更回数に０回を用いて、生成ルール２１２に従い、パスワードを生成する。なお、Ｓ９０８におけるパスワードの生成は、例えば、Ｓ６０３からＳ６０５までの処理と同様に実行されてよい。
【００４３】
Ｓ９０９において制御部１０１は、Ｓ９０８で生成したパスワードが、変更履歴情報８００に登録されているか否かを判定する。生成したパスワードが、変更履歴情報８００に登録されている場合（Ｓ９０９がＹｅｓ）、フローはＳ９０７へと戻り、制御部１０１は、パスワードの生成に用いた変更回数に更に１を加算して変更回数を更新し、再度パスワードの生成を行う。一方、Ｓ９０８で生成したパスワードが変更履歴情報８００に登録されていない場合（Ｓ９０９がＮｏ）、フローはＳ９１０へと進む。
【００４４】
Ｓ９１０において制御部１０１は、生成したパスワードをパスワード管理画面２００のパスワード２１６に表示する。Ｓ９１１において制御部１０１は、保存ボタン２１８が押されたか否かを判定する。保存ボタン２１８が押されていない場合（Ｓ９１１がＮｏ）、フローはＳ９１１を繰り返す。一方、保存ボタン２１８が押された場合（Ｓ９１１がＹｅｓ）、フローはＳ９１２へと進む。Ｓ９１２において制御部１０１は、生成したパスワードの情報を変更履歴情報８００に保存する。なお、Ｓ９１２における変更履歴情報８００への生成したパスワードの情報の保存は、例えば、Ｓ６０７と同様に実行されてよい。Ｓ９１２で制御部１０１が生成したパスワードに関する情報を変更履歴情報８００に保存すると、本動作フローは終了する。なお、Ｓ９１１において保存ボタン２１８が押されておらず、Ｓ９１１の処理を繰り返している場合にも、例えば、パスワード一覧情報２０２において終了ボタン２２４が押された場合には、本動作フローは終了してよい。
【００４５】
以上で述べた様に、実施形態に係るパスワードの生成処理及び変更処理では制御部１０１は、ユーザが覚えやすい単語と、利用対象情報と、ユニーク情報と、パスワードの変更回数とを用いて個々の利用対象に対応するパスワードを生成する。ユーザが覚えやすい単語に、他の情報を組み合わせてパスワードが生成されるため、高いセキュリティ強度のパスワードを生成することができる。また、ユーザは覚えやすい単語を覚えていればパスワードを生成することができるため、パスワードの管理が容易になる。また更に、利用対象に対応する利用対象情報は利用対象毎に異なるため、利用対象毎に異なるパスワードを容易に生成することができる。ユニーク情報には、他人が入手困難な情報を用いているため、例えば単語が他人に知られてしまったとしてもユニーク情報が分からず、他人はパスワードを生成することが困難である。また、パスワードの生成にパスワードの変更回数を用いることで、例えば、パスワードを変更する場合にも、変更の度に異なるパスワードを容易に生成することができる。
【００４６】
以上の図９で述べたパスワードの変更処理において、Ｓ９０７の処理ではパスワード管理装置１００の制御部１０１は、例えば、更新部１１１として機能する。また、Ｓ９０８の処理では制御部１０１は、例えば、生成部１１２及びパスワード生成部１１３として機能する。
【００４７】
続いて、実施形態に係る変更履歴の表示処理を例示する。図１０は、パスワード管理装置１００の制御部１０１が実行する変更履歴の表示処理の動作フローを例示する図である。なお、図１０の動作フローは、例えば、ユーザが、パスワード管理画面２００のパスワード一覧情報２０２において変更履歴の「有」を押すと、開始してよい。
【００４８】
Ｓ１００１において制御部１０１は、パスワード管理画面２００のパスワード一覧情報２０２において変更履歴の「有」が押されたパスワードを含むエントリを、変更履歴情報８００から読み込む。Ｓ１００２において制御部１０１は、読み込んだ情報に基づいて変更履歴を生成し、表示部１０３の表示画面に表示する。表示部１０３の表示画面に表示される変更履歴は、例えば、変更履歴画面３００であってよい。Ｓ１００３において制御部１０１は、変更履歴画面３００において記入ボタン３０４が押されたか否かを判定する。記入ボタン３０４が押されていない場合、制御部１０１は、Ｓ１００４においてＮｏと判定し、フローはＳ１００７へと進む。一方、記入ボタン３０４が押された場合、制御部１０１は、Ｓ１００４においてＹｅｓと判定し、フローはＳ１００５へと進む。
【００４９】
Ｓ１００５において制御部１０１は、表示画面にメモを記入するための記入ウィンドウを表示し、ユーザからのメモの入力を受け付ける。Ｓ１００６において制御部１０１は、記入ウィンドウにおいて、記入された情報を保存するための保存ボタンが押されたか否かを判定する。記入ウィンドウにおいて、保存ボタンが押されていない場合（Ｓ１００６がＮｏ）、フローはＳ１００５へと戻り処理を繰り返す。一方、記入ウィンドウにおいて、保存ボタンが押された場合（Ｓ１００６がＹｅｓ）、制御部１０１は、記入された情報を、Ｓ１００１で読み込んだ変更履歴情報８００のエントリのメモに保存し、また、記入された情報を変更履歴画面３００のメモ欄に反映させる。その後、フローはＳ１００７に進む。Ｓ１００７において制御部１０１は、変更履歴画面３００の終了ボタン３０５が押されたか否かを判定する。変更履歴画面３００の終了ボタン３０５が押されていない場合（Ｓ１００７がＮｏ）、フローはＳ１００３へと戻る。一方、変更履歴画面３００の終了ボタン３０５が押された場合（Ｓ１００７がＹｅｓ）、本動作フローは終了する。
【００５０】
以上において図１０を参照して述べたパスワードの変更履歴の表示処理によれば、ユーザはパスワードの変更履歴を確認できるため、例えば、過去に使用したことのないパスワードを容易に生成することができる。
【００５１】
続いて、実施形態に係るパスワードの使用履歴の生成処理と表示処理について例示する。図１１は、実施形態に係る使用履歴情報１１００を例示する図である。使用履歴情報１１００に登録されている各エントリは、例えば、利用対象情報、パスワード、使用日付、メモを含む。使用履歴情報１１００の利用対象情報には、例えば、エントリに含まれるパスワードの利用対象及びその利用対象における利用者ＩＤが登録されてよい。使用日付は、エントリに含まれるパスワードを使用した日付であってよい。メモは、ユーザにより入力されたメモが登録される。
【００５２】
図１２は、パスワード管理装置１００の制御部１０１が実行する使用履歴の生成処理の動作フローを例示する図である。なお、図１２の動作フローは、例えば、パスワード管理装置１００の制御部１０１が、表示部１０３の表示画面にパスワード管理画面２００を表示させると開始してよい。
【００５３】
Ｓ１２０１において制御部１０１は、パスワード管理画面２００のパスワード一覧情報２０２からパスワードがコピー＆ペースト（コピー・アンド・ペースト）されたか否かを判定する。例えば、パスワード一覧情報２０２からパスワードがコピーされ、その後、ログイン画面などにおいてパスワードがペーストされた場合、制御部１０１は、パスワードがコピー＆ペーストされたと判定してよい。制御部１０１は、パスワードがコピー＆ペーストされたと判定した場合、Ｓ１２０２においてＹｅｓと判定し、フローはＳ１２０３へと進む。なお、この場合に、制御部１０１は、コピー＆ペーストされたパスワードをパスワード管理画面２００から消す処理を実行してもよい。
【００５４】
Ｓ１２０３において制御部１０１は、コピー＆ペーストされたパスワードの使用履歴を使用履歴情報１１００に登録する。例えば、制御部１０１は、パスワード一覧情報２０２から、コピー＆ペーストされたパスワードの利用対象及び利用者ＩＤを取得し、使用履歴情報１１００の利用対象情報の欄に登録する。また、制御部１０１は、コピー＆ペーストが実行されたパスワードを、使用履歴情報１１００のパスワードの欄に登録する。制御部１０１は、コピー＆ペーストが実行された日付を使用履歴情報１１００の使用日付に登録する。メモの欄は、使用履歴情報１１００への情報の登録時には空欄であってもよい。例えば、以上のようにして、制御部１０１は、使用履歴情報１１００に使用履歴の情報を登録してよい。
【００５５】
一方、Ｓ１２０１においてパスワードがコピー＆ペーストされていない場合、制御部１０１はＳ１２０２においてＮｏと判定し、フローはＳ１２０４へと進む。
【００５６】
Ｓ１２０４において制御部１０１は、パスワードのドラッグ＆ドロップ（ドラッグ・アンド・ドロップ）が行われたか否かを判定する。例えば、パスワード一覧情報２０２からパスワードが選択され、ログイン画面などにパスワードがドラッグ＆ドロップされた場合、制御部１０１は、パスワードがドラッグ＆ドロップされたと判定してよい。そして、制御部１０１は、パスワードがドラッグ＆ドロップされたと判定した場合、Ｓ１２０５においてＹｅｓと判定し、フローはＳ１２０６へと進む。なお、この場合に、制御部１０１は、ドラッグ＆ドロップされたパスワードをパスワード管理画面２００から消す処理を実行してもよい。
【００５７】
Ｓ１２０６において制御部１０１は、ドラッグ＆ドロップされたパスワードの使用履歴を使用履歴情報１１００に登録する。なお、ドラッグ＆ドロップされたパスワードの使用履歴の使用履歴情報１１００への登録は、例えば、Ｓ１２０３で述べたのと同様に実行されてよい。Ｓ１２０７において制御部１０１は、パスワード管理処理の終了指示が入力されたか否かを判定する。例えば、制御部１０１は、パスワード管理画面２００において終了ボタン２２４が押された場合に、Ｓ１２０７においてＹｅｓと判定してよく、この場合、本動作フローは終了する。一方、パスワード管理処理の終了指示が入力されていない場合（Ｓ１２０７がＮｏ）、フローはＳ１２０１へと戻る。
【００５８】
なお、以上の図１２の動作フローでは、パスワードが使用されたことを、パスワードのコピー＆ペースト又はドラッグ＆ドロップの実行に基づいて検知する例を述べている。しかしながら、実施形態はこれに限定されるものではない。別の実施形態では、例えば、パスワード管理画面２００に表示されるパスワードに対応づけられた入力ボタンをユーザが押すことで、パスワードが使用されたことを制御部１０１が検知し、使用履歴を記録してもよい。
【００５９】
続いて、実施形態に係る使用履歴の表示処理を例示する。図１３は、パスワード管理装置１００の制御部１０１が実行する使用履歴の表示処理の動作フローを例示する図である。なお、図１３の動作フローは、例えば、ユーザが、パスワード管理画面２００のパスワード一覧情報２０２において使用履歴の「有」を押すと、開始してよい。
【００６０】
Ｓ１３０１において制御部１０１は、パスワード管理画面２００のパスワード一覧情報２０２において使用履歴の「有」が押されたパスワードを含むエントリを、使用履歴情報１１００から読み込む。Ｓ１３０２において制御部１０１は、読み込んだ情報に基づいて使用履歴を生成し、表示部１０３の表示画面に表示する。表示部１０３の表示画面に表示される使用履歴は、例えば、使用履歴画面４００であってよい。Ｓ１３０３において制御部１０１は、使用履歴画面４００において記入ボタン４０４が押されたか否かを判定する。記入ボタン４０４が押されていない場合、制御部１０１は、Ｓ１３０４においてＮｏと判定し、フローはＳ１３０７へと進む。一方、記入ボタン４０４が押された場合、制御部１０１は、Ｓ１３０４においてＹｅｓと判定し、フローはＳ１３０５へと進む。
【００６１】
Ｓ１３０５において制御部１０１は、表示画面にメモを記入するための記入ウィンドウを表示し、ユーザからのメモの入力を受け付ける。Ｓ１３０６において制御部１０１は、記入ウィンドウにおいて、記入された情報を保存するための保存ボタンが押されたか否かを判定する。記入ウィンドウにおいて、保存ボタンが押されていない場合（Ｓ１３０６がＮｏ）、フローはＳ１３０５へと戻り処理を繰り返す。一方、記入ウィンドウにおいて、保存ボタンが押された場合（Ｓ１３０６がＹｅｓ）、制御部１０１は記入された情報を、Ｓ１３０１で読み込んだ使用履歴情報１１００のエントリのメモに保存し、また、記入された情報を使用履歴画面４００のメモ欄に反映させる。その後、フローはＳ１３０７に進む。Ｓ１３０７において制御部１０１は、使用履歴画面４００の終了ボタン４０５が押されたか否かを判定する。使用履歴画面４００の終了ボタン４０５が押されていない場合（Ｓ１３０７がＮｏ）、フローはＳ１３０３へと戻る。一方、使用履歴画面４００の終了ボタン４０５が押された場合（Ｓ１３０７がＹｅｓ）、本動作フローは終了する。
【００６２】
以上において図１１から図１３を参照して述べたパスワードの使用履歴の生成処理と表示処理とによれば、パスワードの使用履歴が記録され、ユーザは使用履歴を確認することができる。そのため、例えば、第３者によるパスワードの不正使用が行われた場合には、その不正使用を検出することができる。
【００６３】
続いて、実施形態に係るパスワード管理機能のエクスポート処理について説明する。図１４は、パスワード管理装置１００の制御部１０１が実行するパスワード管理機能のエクスポート処理の動作フローを例示する図である。なお、図１４の動作フローは、例えば、制御部１０１にエクスポート処理の実行指示が入力されると、開始してよい。
【００６４】
Ｓ１４０１において制御部１０１は、パスワード管理プログラムに含まれるパスワード管理機能を実行するための所定のプログラムを、エクスポート先の装置に転送する。Ｓ１４０２において制御部１０１は、変更履歴情報８００に登録されているエントリの情報をエクスポート先の装置に転送する。Ｓ１４０３において制御部１０１は、変更履歴情報８００に登録されている全てのエントリの転送が完了したか否かを判定する。変更履歴情報８００に登録されている全てのエントリの転送が完了していない場合（Ｓ１４０３がＮｏ）、フローはＳ１４０２へと戻り、転送を行う。一方、変更履歴情報８００に登録されている全てのエントリの転送が完了している場合（Ｓ１４０３がＹｅｓ）、フローはＳ１４０４へと進む。
【００６５】
Ｓ１４０４において制御部１０１は、使用履歴情報１１００に登録されているエントリの情報をエクスポート先の装置に転送する。Ｓ１４０５において制御部１０１は、使用履歴情報１１００に登録されている全てのエントリの転送が完了したか否かを判定する。使用履歴情報１１００に登録されている全てのエントリの転送が完了していない場合（Ｓ１４０５がＮｏ）、フローはＳ１４０４へと戻り、転送を行う。一方、使用履歴情報１１００に登録されている全てのエントリの転送が完了している場合（Ｓ１４０５がＹｅｓ）、フローはＳ１４０６へと進む。Ｓ１４０６において制御部１０１は、エクスポート元のパスワード管理装置１００の記憶部１０２に記憶されているユニーク情報を、エクスポート先の装置に転送し、本動作フローは終了する。
【００６６】
エクスポート処理の完了後は、エクスポート先の装置は、例えば、転送された所定のプログラムを実行することで、図６、図９、図１０、及び図１２から後述する図１６の動作フローの少なくとも一部の処理を実行することが可能となる。そのため、ユーザは、エクスポート先の装置において転送された変更履歴情報８００及び使用履歴情報１１００を用いて実施形態に係るパスワードの管理機能を利用することができる。例えば、普段はパーソナルコンピュータ上で管理機能を動作させているユーザが、銀行に行く際に、スマートフォンに管理機能をエクスポートすることで、銀行のＡＴＭの利用時にスマートフォンにパスワードを表示させて利用することができる。
【００６７】
続いて、実施形態に係るパスワード管理機能のインポート処理を説明する。図１５は、パスワード管理装置１００の制御部１０１が実行するパスワード管理機能のインポート処理の動作フローを例示する図である。なお、図１５の動作フローは、例えば、制御部１０１にインポート処理の実行指示が入力されると、開始してよい。
【００６８】
Ｓ１５０１において制御部１０１は、エクスポート先の装置から、エクスポート先の装置の変更履歴情報８００に登録されているエントリの情報の転送を受ける。Ｓ１５０２において制御部１０１は、エクスポート先から転送されてきたエントリと、記憶部１０２に記憶される変更履歴情報８００に登録されているエントリとを比較する。そして、Ｓ１５０３において、制御部１０１は、エクスポート先から転送されてきたエントリに一致するエントリが、記憶部１０２に記憶されている変更履歴情報８００に登録されているか否かを判定する。同じエントリが登録されている場合（Ｓ１５０３がＹｅｓ）、フローはＳ１５０１へと戻り、次のエントリの転送を行う。一方、同じエントリが登録されていない場合（Ｓ１５０３がＮｏ）、フローはＳ１５０４へと進み、制御部１０１は、転送されてきたエントリを変更履歴情報８００に追加する。Ｓ１５０５において制御部１０１は、エクスポート先からの全てのエントリの転送が完了したか否かを判定する。全てのエントリの転送が完了していない場合（Ｓ１５０５がＮｏ）、フローはＳ１５０１へと戻り、転送を行う。一方、全てのエントリの転送が完了している場合（Ｓ１５０５がＹｅｓ）、フローはＳ１５０６へと進む。
【００６９】
Ｓ１５０６において制御部１０１は、エクスポート先の装置から、エクスポート先の装置の使用履歴情報１１００に登録されているエントリの情報の転送を受ける。Ｓ１５０７において制御部１０１は、エクスポート先から転送されてきたエントリと、記憶部１０２に記憶されている使用履歴情報１１００に登録されているエントリとを比較する。そして、Ｓ１５０８において、制御部１０１は、エクスポート先から転送されてきたエントリに一致するエントリが、使用履歴情報１１００に登録されているか否かを判定する。同じエントリが登録されている場合（Ｓ１５０８がＹｅｓ）、フローはＳ１５０６へと戻り、次のエントリの転送を行う。一方、同じエントリが登録されていない場合（Ｓ１５０８がＮｏ）、フローはＳ１５０９へと進み、制御部１０１は、転送されてきたエントリを、使用履歴情報１１００に追加する。Ｓ１５１０において制御部１０１は、エクスポート先からの全てのエントリの転送が完了したか否かを判定する。全てのエントリの転送が完了していない場合（Ｓ１５１０がＮｏ）、フローはＳ１５０６へと戻り、転送を行う。一方、全てのエントリの転送が完了している場合（Ｓ１５１０がＹｅｓ）、本動作フローは終了する。
【００７０】
以上のインポート処理により、エクスポート先の装置で行われたパスワードの変更とパスワードの使用の履歴の情報が、エクスポート元のパスワード管理装置１００の変更履歴情報８００及び使用履歴情報１１００に反映される。そのため、例えば、ユーザはパスワードの変更履歴及び使用履歴を、エクスポート元のパスワード管理装置１００において一元管理することができる。
【００７１】
続いて、実施形態に係るパスワードの検証処理について説明する。図１６は、パスワード管理装置１００の制御部１０１が実行するパスワードの検証処理の動作フローを例示する図である。なお、図１６の動作フローは、例えば、パスワード管理装置１００の制御部１０１が、表示部１０３の表示画面にパスワード管理画面２００を表示させると開始してよい。
【００７２】
Ｓ１６０１においてパスワード管理装置１００の制御部１０１は、例えば、パスワード管理画面２００において検証ボタン２２１が押されるのを待機する。そして、制御部１０１は、検証ボタン２２１が押されると、例えばチェックボックスへのチェックなどを介して、パスワード一覧情報２０２においてパスワードが選択されているか否かの情報を取得する。Ｓ１６０２において制御部１０１は、取得した情報をもとに、パスワードが１つ以上選択されているか否かを判定する。パスワードが選択されていない場合（Ｓ１６０２がＮｏ）、パスワードを１つ以上選択して検証ボタン２２１を押すように指示を通知し、フローはＳ１６０１へと戻る。一方、１つ以上のパスワードが選択されている場合（Ｓ１６０２がＹｅｓ）、フローはＳ１６０３へと進む。
【００７３】
Ｓ１６０３において制御部１０１は、選択されたパスワードの変更履歴を変更履歴情報８００から読み込む。また、制御部１０１は、選択されたパスワードの使用履歴を使用履歴情報１１００から読み込む。Ｓ１６０４において制御部１０１は、変更履歴情報８００から読み込んだパスワードの生成ルールから、パスワードの桁数と、パスワードに使用できる文字の種数とを特定する。
【００７４】
Ｓ１６０５において制御部１０１は、変更履歴情報８００から読み込んだパスワードの生成／変更日付から、パスワードの使用期間を特定する。例えば、制御部１０１は、選択されたパスワードに対して変更履歴情報８００から特定されたパスワードの生成／変更日付から現在までの日数を使用期間として取得してよい。
【００７５】
Ｓ１６０６において制御部１０１は、使用履歴情報１１００から読み込んだパスワードの使用履歴から、パスワードの使用回数を特定する。そして、Ｓ１６０７において制御部１０１は、以上で特定したパスワードの桁数及び文字種数と、パスワードの使用期間と、パスワードの使用回数とに基づいて、パスワードのセキュリティ強度を評価する。Ｓ１６０８において制御部１０１は、表示部１０３の表示画面に評価結果を表示する。制御部１０１は、例えば、検証結果画面５００を評価結果として表示してよい。
【００７６】
Ｓ１６０９において制御部１０１は、検証結果画面５００の終了ボタン５０２が押されたか否かを判定する。終了ボタン５０２が押されていない場合（Ｓ１６０９がＮｏ）、フローはＳ１６０９を繰り返す。一方、終了ボタン５０２が押された場合（Ｓ１６０９がＹｅｓ）、フローはＳ１６１０へと進む。Ｓ１６１０において制御部１０１は、表示部１０３に表示させている検証結果画面５００を閉じ、本動作フローは終了する。
【００７７】
以上において図１６を参照して述べた実施形態に係るパスワードのセキュリティ強度の検証処理によれば、ユーザは使用しているパスワードが安全か否かを知ることができる。
【００７８】
以上で述べた様に、実施形態によれば、単語と、利用対象情報と、ユニーク情報と、パスワードの変更回数とを用いて、生成ルールに従ってパスワードが生成される。そのため、ユーザは、覚えやすい単語を覚えていれば、記憶部１０２に記憶されている利用対象情報と、ユニーク情報と、パスワードの変更回数とを用いてセキュリティ強度の高いパスワードを生成することができる。また、例えば、パスワードの利用対象を識別する利用対象情報は利用対象毎に異なるため、ユーザは、利用対象毎に異なるパスワードを容易に生成することができる。また更に、パスワードの変更回数を用いてパスワードを生成しているため、パスワードの変更を行う場合にも、ユーザはパスワードの変更回数の変化に応じて異なるパスワードを容易に生成することができる。
【００７９】
更に、例えば、パスワードの利用対象の認証システムにおいて過去に使用したことのないパスワードに変更することが求められているとする。この様な場合にも、実施形態によれば、変更履歴が記録される。そのため、例えば、制御部１０１は、生成したパスワードが変更履歴に既に存在すれば、更に別のパスワードの生成を行うことができ、その結果、ユーザは過去に使用したことのないパスワードを容易に得ることができる。
【００８０】
また、利用対象情報と、ユニーク情報と、及び生成ルールとには既知の固定的に定まった情報を用いることができ、また、パスワードの変更回数も規則性を持って変化する情報である。そのため、例えば、パスワード管理装置１００の故障などにより、管理していたパスワードが消失したとしても、ユーザが単語さえ覚えていれば、パスワードを容易に復旧することができる。
【００８１】
また、実施形態によれば使用履歴が記録されるため、例えば、第３者によるパスワードの不正使用が行われた場合には、その不正使用を検出することができる。
【００８２】
また、実施形態によればパスワード管理装置１００は、パスワード管理機能のエクスポート機能を有するため、例えば、パスワード管理装置１００以外の別の装置を用いてパスワードを利用することができる。更に、パスワード管理装置１００は、パスワード管理機能のインポート機能を有するため、エクスポート機能により別の装置を用いてパスワードを利用した場合にも、その利用に関する情報を、パスワード管理装置１００において一元管理することができる。
【００８３】
また、実施形態によればパスワード管理装置１００は、例えば、生成したパスワードのセキュリティ強度を検証できるため、ユーザは使用しているパスワードが安全か否かを知ることができる。
【００８４】
また、上記の実施形態では、パスワードを生成する際に生成ルールを指定できるため、利用対象に応じた適切なパスワードを簡単に生成することができる。更に、パスワードを生成する際にパスワードの有効期限を指定することができるため、例えば、指定した期限に近づいた場合に、アラートや警告でユーザに通知することができる。
【００８５】
従って、実施形態によれば、パスワードに関する管理やセキュリティの保持などの問題を解決することができ、ユーザのパスワードの管理負担を軽減することができる。
【００８６】
以上において、実施形態を例示したが、実施形態はこれに限定されるものではない。例えば、上述の動作フローは例示であり、実施形態はこれに限定されるものではない。可能な場合には、動作フローは、処理の順番を変更して実行されてもよく、別に更なる処理を含んでもよく、又は、一部の処理が省略されてもよい。
【００８７】
例えば、図１２のＳ１２０１〜Ｓ１２０３の処理と、Ｓ１２０４〜Ｓ１２０６の処理とは順序を入れ替えて実行してもよい。また同様に、図１４のＳ１４０２〜Ｓ１４０３の処理と、Ｓ１４０４〜Ｓ１４０５の処理とは順序を入れ替えて実行してもよい。図１５のＳ１５０１〜Ｓ１５０５の処理と、Ｓ１５０６〜Ｓ１５１０の処理とは順序を入れ替えて実行してもよい。
【００８８】
また、上述の実施形態において、例えば、パスワードのコピー＆ペーストやドラッグ＆ドロップが実行されたと判定され、パスワードが利用されたことが検知された場合に、制御部１０１は、利用したパスワードを表示画面から消すように処理を実行してもよい。例えば、この様に、パスワードの利用後にパスワードを自動的に消すことで、ショルダーハッキングを受ける可能性を低くすることができる。
【００８９】
図１７は、実施形態に係るパスワード管理装置１００を実現するためのコンピュータ１７００のハードウェア構成を例示する図である。図１７のハードウェア構成は、例えば、プロセッサ１７０１、メモリ１７０２、記憶装置１７０３、読取装置１７０４、通信インタフェース１７０６、入出力インタフェース１７０７、及び表示装置１７１０を備える。なお、プロセッサ１７０１、メモリ１７０２、記憶装置１７０３、読取装置１７０４、通信インタフェース１７０６、入出力インタフェース１７０７は、例えば、バス１７０８を介して互いに接続されている。
【００９０】
プロセッサ１７０１は、メモリ１７０２を利用して例えば上述の動作フローの手順を記述したパスワード管理プログラムを実行することにより、上述の制御部１０１の一部または全部の機能を提供する。例えば、プロセッサ１７０１は、メモリ１７０２に格納されているパスワード管理プログラムを実行することで、更新部１１１、生成部１１２、パスワード生成部１１３として機能する。また、記憶部１０２は、例えば、メモリ１７０２、記憶装置１７０３、及び着脱可能記憶媒体１７０５を含む。パスワード管理装置１００の記憶装置１７０３には、例えば、ユニーク情報、変更履歴情報８００、使用履歴情報１１００などの情報が記憶されていてよい。
【００９１】
メモリ１７０２は、例えば半導体メモリであり、ＲＡＭ領域及びＲＯＭ領域を含んでいてよい。なお、ＲＡＭは、Random Access Memoryの略称である。また、ＲＯＭは、Read Only Memoryの略称である。記憶装置１７０３は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、又は外部記憶装置である。
【００９２】
読取装置１７０４は、プロセッサ１７０１の指示に従って着脱可能記憶媒体１７０５にアクセスする。着脱可能記憶媒体１７０５は、例えば、半導体デバイス（ＵＳＢメモリ等）、磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ−ＲＯＭ、ＤＶＤ等）などにより実現される。なお、ＵＳＢは、Universal Serial Busの略称である。ＣＤは、Compact Discの略称である。ＤＶＤは、Digital Versatile Diskの略称である。
【００９３】
通信インタフェース１７０６は、例えば、プロセッサ１７０１の指示に従ってネットワーク１７２０に接続し、データを送受信する。入出力インタフェース１７０７は、例えば、入力装置及び出力装置との間のインタフェースであってよい。入力装置は、例えばユーザからの指示を受け付けるキーボード、マウス、及びタッチパネルなどのデバイスである。出力装置は、例えばスピーカなどの音声装置、及びプリンタなどの印刷装置である。また、入出力インタフェース１７０７は、表示装置１７１０と接続されている。表示装置１７１０は、例えば、ディスプレーなどであってよい。上述の表示部１０３は、例えば表示装置１７１０である。そして、図２から図５の表示画面は、例えば表示装置１７１０に表示されてよい。
【００９４】
実施形態に係る各プログラムは、例えば、下記の形態でパスワード管理装置１００に提供される。
（１）メモリ１７０２に予めインストールされている。
（２）着脱可能記憶媒体１７０５により提供される。
（３）プログラムサーバなどのサーバ１７３０から提供される。 
【００９５】
なお、図１７を参照して述べたコンピュータ１７００のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の機能部の一部または全部の機能がＦＰＧＡ及びＳｏＣなどによるハードウェアとして実装されてもよい。なお、ＦＰＧＡは、Field Programmable Gate Arrayの略称である。ＳｏＣは、System-on-a-chipの略称である。
【００９６】
以上において、いくつかの実施形態が説明される。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態が実施され得ることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
【符号の説明】
【００９７】
１００      パスワード管理装置
１０１      制御部
１０２      記憶部
１０３      表示部
１１１      更新部
１１２      生成部
１１３      パスワード生成部
１７００    コンピュータ
１７０１    プロセッサ
１７０２    メモリ
１７０３    記憶装置
１７０４    読取装置
１７０５    着脱可能記憶媒体
１７０６    通信インタフェース
１７０７    入出力インタフェース
１７０８    バス
１７１０    表示装置
１７２０    ネットワーク
１７３０    サーバ
【図１】
0006589518.tif 000002
【図２】
0006589518.tif 000003
【図３】
0006589518.tif 000004
【図４】
0006589518.tif 000005
【図５】
0006589518.tif 000006
【図６】
0006589518.tif 000007
【図７】
0006589518.tif 000008
【図８】
0006589518.tif 000009
【図９】
0006589518.tif 000010
【図１０】
0006589518.tif 000011
【図１１】
0006589518.tif 000012
【図１２】
0006589518.tif 000013
【図１３】
0006589518.tif 000014
【図１４】
0006589518.tif 000015
【図１５】
0006589518.tif 000016
【図１６】
0006589518.tif 000017
【図１７】
0006589518.tif 000018