(57)【要約】【課題】パスワードが見破られる可能性を減少させる。【解決手段】本発明のパスワード自動更新システムは、端末装置とサーバが通信ネットワークを介して接続されている。そして、端末装置は、パスワードの有効期間とパスワード桁数と文字列を入力された際、前記文字列と日付を合成し、ハッシュ関数に入力して新文字列を生成する。次に、前記新文字列の先頭から前記パスワード桁数を抜き出して端末装置のパスワードとする制御部を備えている。また、前記サーバは、前記端末装置から受信した前記有効期間と前記パスワード桁数と前記文字列を用いて、前記文字列と日付を合成し、前記ハッシュ関数と同一のハッシュ関数に入力して第２の新文字列を生成する。そして、前記第２の新文字列の先頭から前記パスワード桁数を抜き出してサーバのパスワードとするサーバ制御部を備えている。【選択図】      図１
2015121956.tif 000002
【特許請求の範囲】
【請求項１】
端末装置とサーバが通信ネットワークを介して接続され、
前記端末装置は、パスワードの有効期間とパスワード桁数と文字列を入力された際、前記文字列と日付を合成し、ハッシュ関数に入力して新文字列を生成し、前記新文字列の先頭から前記パスワード桁数を抜き出して端末装置のパスワードとする制御部を備え、
前記サーバは、前記端末装置から受信した前記有効期間と前記パスワード桁数と前記文字列を用いて、前記文字列と日付を合成し、前記ハッシュ関数と同一のハッシュ関数に入力して第２の新文字列を生成し、前記第２の新文字列の先頭から前記パスワード桁数を抜き出してサーバのパスワードとするサーバ制御部を備える、
ことを特徴とするパスワード自動更新システム。
【請求項２】
前記有効期間が経過した際、
前記端末装置の前記制御部は、前記端末装置のパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第３の新文字列を生成し、前記第３の新文字列の先頭から前記パスワード桁数を抜き出して端末装置の次のパスワードとし、
前記サーバ制御部は、前記サーバのパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第４の新文字列を生成し、前記第４の新文字列の先頭から前記パスワード桁数を抜き出してサーバの次のパスワードとする、
ことを特徴とする請求項１に記載のパスワード自動更新システム。
【請求項３】
前記端末装置の前記制御部は、パスワードの有効期間とパスワード桁数と文字列に加えパスワード開始桁を入力された際、前記文字列と日付を合成し、前記ハッシュ関数に入力して第５の新文字列を生成し、前記第５の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出して端末装置のパスワードとし、
前記サーバ制御部は、前記端末装置から受信した前記有効期間と前記パスワード桁数と前記文字列と前記パスワード開始桁を用いて、前記文字列と日付を合成し、前記ハッシュ関数に入力して第６の新文字列を生成し、前記第６の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出してサーバのパスワードとする、
ことを特徴とする請求項１に記載のパスワード自動更新システム。
【請求項４】
前記有効期間が経過した際、
前記端末装置の前記制御部は、前記端末装置のパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第７の新文字列を生成し、前記第７の新文字列の先頭からパスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出して端末装置の次のパスワードとし、
前記サーバ制御部は、前記サーバのパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第８の新文字列を生成し、前記第８の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出してサーバの次のパスワードとする、
ことを特徴とする請求項３に記載のパスワード自動更新システム。
【請求項５】
パスワードの有効期間とパスワード桁数と文字列を入力し、前記文字列と日付を合成し、ハッシュ関数に入力して新文字列を生成し、前記新文字列の先頭から前記パスワード桁数を抜き出してパスワードとする、
ことを特徴とするパスワード自動更新方法。
【請求項６】
前記有効期間が経過した際、
前記パスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第２の新文字列を生成し、前記第２の新文字列の先頭から前記パスワード桁数を抜き出して次のパスワードとする、
ことを特徴とする請求項５に記載のパスワード自動更新方法。
【請求項７】
パスワードの有効期間とパスワード桁数と文字列を入力された際、前記文字列と日付を合成し、サーバと同一のハッシュ関数に入力して新文字列を生成し、前記新文字列の先頭から前記パスワード桁数を抜き出して自身のパスワードとする制御部を備える、
ことを特徴とする端末装置。
【請求項８】
前記有効期間が経過した際、
前記端末装置の前記制御部は、前記パスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第２の新文字列を生成し、前記第２の新文字列の先頭から前記パスワード桁数を抜き出して端末装置の次のパスワードとする、
ことを特徴とする請求項７に記載の端末装置。
【請求項９】
端末装置から受信した有効期間とパスワード桁数と文字列を用い、前記文字列と日付を合成し、前記端末装置と同一のハッシュ関数に入力して新文字列を生成し、前記新文字列の先頭から前記パスワード桁数を抜き出して自身のパスワードとするサーバ制御部を備える、
ことを特徴とするサーバ。
【請求項１０】
前記有効期間が経過した際、
前記サーバ制御部は、前記自身のパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第２の新文字列を生成し、前記第２の新文字列の先頭から前記パスワード桁数を抜き出して自身の次のパスワードとする、
ことを特徴とする請求項９に記載のサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パスワードの更新を自動的に行う、パスワード自動更新システム、パスワード自動更新方法、端末装置、及び、サーバ、に関する。
【背景技術】
【０００２】
インターネットのような、多くのコンピュータを相互接続させ、コンピュータ間の通信を可能とさせるコンピュータ・ネットワークにおいては、コンピュータやネットワークのセキュリティを強化させることが益々重要となってきている。セキュリティ対策の手法には様々なものがあり、例えば、外部からの不正なアクセスや攻撃を防ぐためのファイアウォールの設置や、外部への情報の漏洩を防止するための通信パケットの暗号化、などを挙げることが出来る。また、なりすましによる不正なアクセスを防ぐための、パスワードによるユーザ認証なども、セキュリティ対策の重要な手法となっている。
【０００３】
ここで、パスワードを用いるセキュリティ対策においては、変更の無い固定的なパスワードを使用し続けるのではなく、ある単位期間内にパスワードを更新していくことが推奨されている。
【０００４】
このように、ある単位期間内にパスワードを更新していくことは、セキュリティ対策として重要ではあるが、パスワードを使用するユーザが、自らの考えでパスワードを更新することは容易ではない。そこで、パスワードの更新を自動的に行うことを提案しているものがある（例えば、特許文献１参照。）。
【０００５】
上述した特許文献１「パスワード自動更新システム」には以下の記載がなされている。
【０００６】
すなわち、最初に、所定桁の数字列からなる秘密キーを生成し、パスワードの有効期限を設定した後、秘密キーと有効期限から疑似乱数を生成するパスワード演算手段を用いてパスワードを作成する。作成されたパスワードは、有効期限が経過したとき、再度、秘密キーと有効期限から新たなパスワードを作成する。このパスワードの自動更新は、送信側と受信側とで同時に行う。
【０００７】
このことにより、新たなパスワードを相手に知らせることなく、パスワードを定期的に変更することが可能なパスワード自動更新システムを提供することが可能となる、としている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２１７２３０号公報（第３〜９頁、図１〜６）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述した特許文献１に記載の手法においては、定期的に自動でパスワードを変更することが可能となっている。
【００１０】
しかし、秘密キーと有効期限など、特定の文字列を用いてパスワードを生成している、すなわち、規則的にパスワードを生成しているため、辞書攻撃や総当たり攻撃などによれば、パスワードが見破られてしまう可能性がある、という課題を有している。
【００１１】
周知のように、辞書攻撃とは、辞書に載っている単語を延々と試すことでパスワードを解読する方法である。また、総当たり攻撃とは、考えられる全ての暗号鍵を自動化されたプログラムによってひたすら入力し、復号化プログラムによって、暗号が意味ある文字列になるかどうかを試行錯誤しながら調べて行くことにより、パスワードを解読する方法である。
【００１２】
本発明は、上述した、パスワードが見破られてしまう可能性がある、という課題を解決するためになされたものである。従って、本発明の目的は、パスワードが見破られる可能性を減少させる、パスワード自動更新システム、パスワード自動更新方法、端末装置、及び、サーバ、を提供することにある。
【課題を解決するための手段】
【００１３】
本発明のパスワード自動更新システムは、端末装置とサーバが通信ネットワークを介して接続されている。そして、端末装置は、パスワードの有効期間とパスワード桁数と文字列を入力された際、前記文字列と日付を合成し、ハッシュ関数に入力して新文字列を生成する。次に、前記新文字列の先頭から前記パスワード桁数を抜き出して端末装置のパスワードとする制御部を備えている。また、前記サーバは、前記端末装置から受信した前記有効期間と前記パスワード桁数と前記文字列を用いて、前記文字列と日付を合成し、前記ハッシュ関数と同一のハッシュ関数に入力して第２の新文字列を生成する。そして、前記第２の新文字列の先頭から前記パスワード桁数を抜き出してサーバのパスワードとするサーバ制御部を備えている。
【００１４】
本発明のパスワード自動更新方法は、パスワードの有効期間とパスワード桁数と文字列を入力し、前記文字列と日付を合成し、ハッシュ関数に入力して新文字列を生成する。そして、前記新文字列の先頭から前記パスワード桁数を抜き出してパスワードとする、ようになっている。
【００１５】
本発明の端末装置は、パスワードの有効期間とパスワード桁数と文字列を入力された際、前記文字列と日付を合成し、サーバと同一のハッシュ関数に入力して新文字列を生成する。そして、前記新文字列の先頭から前記パスワード桁数を抜き出して自身のパスワードとする制御部を備えている。
【００１６】
本発明のサーバは、端末装置から受信した有効期間とパスワード桁数と文字列を用い、前記文字列と日付を合成し、前記端末装置と同一のハッシュ関数に入力して新文字列を生成する。そして、前記新文字列の先頭から前記パスワード桁数を抜き出して自身のパスワードとするサーバ制御部を備えている。
【発明の効果】
【００１７】
本発明によれば、パスワードが見破られる可能性が減少する。
【図面の簡単な説明】
【００１８】
【図１】本発明のパスワード自動更新システムの第１の実施形態を示すブロック図である。
【図２】第１の実施形態の動作を説明する第１のフローチャートである。
【図３】第１の実施形態の動作を説明する第２のフローチャートである。
【図４】本発明のパスワード自動更新システムが生成するパスワードの一例を説明する図である。
【図５】本発明のパスワード自動更新システムの第２の実施形態を示すブロック図である。
【図６】第２の実施形態の動作を説明する第１のフローチャートである。
【図７】第２の実施形態の動作を説明する第２のフローチャートである。
【発明を実施するための形態】
【００１９】
次に、本発明の実施形態について図面を参照して説明する。
【００２０】
[第１の実施形態]
図１は、本発明のパスワード自動更新システムの第１の実施形態を示すブロック図である。
【００２１】
図１に示すパスワード自動更新システム１００は、端末装置１０とサーバ２０が、通信ネットワーク３０を介して接続されている。なお、本実施形態においては、パスワード自動更新システム１００で使用するパスワードは、端末装置１０及びサーバ２０で同時に生成するようになっている。
【００２２】
端末装置１０は制御部１２を備えている。制御部１２は、端末装置１０全体の動作制御を行うと共に、端末装置１０にて使用するパスワードを生成する処理も併せ行うようになっている。
【００２３】
サーバ２０は制御部２２を備えている。制御部２２は、サーバ２０全体の動作制御を行うと共に、サーバ２０にて使用するパスワードを生成する処理も併せ行うようになっている。なお、サーバ２０は、端末装置１０からのアクセスが正当であるかを認証する機能も併せ備えているものとする。
【００２４】
通信ネットワーク３０は、複数のコンピュータ・ネットワークを相互に接続するインターネットなどのネットワークであり、本実施形態においては、端末装置１０とサーバ２０を通信接続させるようになっている。
【００２５】
次に、図２以降を参照して、本実施形態の動作について説明する。
【００２６】
図２は、第１の実施形態の動作を説明する第１のフローチャートである。なお、図２のフローチャートは、パスワード自動更新システム１００で使用する最初のパスワードを生成する動作について説明するものである。そして、図２においては、端末装置１０の動作を左側に示し、サーバ２０の動作を右側に示している。
【００２７】
先ず、端末装置１０の動作について説明する。
【００２８】
端末装置１０の制御部１２は、パスワードの有効期間とパスワード桁数を取得し、これを端末装置１０内に保存する（図２のステップＳ１０１）。制御部１２は、次に、パスワードの元になる文字列を取得する（ステップＳ１０２）。なお、有効期間とパスワード桁数の取得、および、文字列の取得とは、端末装置１０が備える図示しない入力部から、端末装置１０のユーザが入力する値を、制御部１２が受け取る動作を指すものである。
【００２９】
次に、制御部１２は日付を取得する（ステップＳ１０３）。この日付は、端末装置１０が備える時計から取得するようにすればよい。
【００３０】
そして、制御部１２は、ステップＳ１０２で取得した文字列と、ステップＳ１０３で取得した日付を合成する（ステップＳ１０４）。
【００３１】
そして、合成した「文字列＋日付」をハッシュ関数に入力し、ハッシュ関数の出力であるところの新たな文字列を取得する（ステップＳ１０５）。ここで使用するハッシュ関数は、任意の関数でよいが、後述するサーバ２０が使用するハッシュ関数と同一の関数であるものとする。
【００３２】
次に、制御部１２は、ステップＳ１０５で取得した新たな文字列の先頭から、ステップＳ１０１で取得したパスワード桁数と同一の桁数を抜き出し、これを、端末装置１０で使用するパスワードとして記憶し保存する（ステップＳ１０６）。
【００３３】
なお、上述したハッシュ関数（hash function）とは、周知のように、あるデータが与えられた場合に、そのデータを代表する値を得るための関数のことであり、ハッシュ関数から得られる値のことはハッシュ値と称されている。そして、ハッシュ関数は、データの暗号化や、データの誤りなどを検出する、などの用途にも用いられているものである。ハッシュ関数としては数多くのものが知られているが、代表的なハッシュ関数としては、与えられたデータに対して４０文字のハッシュ値を生成する「ｓｈａ１」や、３２文字のハッシュ値を生成する「ｍｄ５」など、を挙げることができる。
【００３４】
次に、サーバ２０の動作について説明する。
【００３５】
サーバ２０の制御部２２は、パスワードの有効期間とパスワード桁数を取得し、これをサーバ２０内に保存する（図２のステップＳ２０１）。制御部２２は、次に、パスワードの元になる文字列を取得する（ステップＳ２０２）。なお、有効期間とパスワード桁数の取得、および、文字列の取得とは、端末装置１０が送信した有効期間とパスワード桁数および文字列を、サーバ２０の制御部２２が受信する動作を指すものである。
【００３６】
次に、制御部２２は日付を取得する（ステップＳ２０３）。この日付は、サーバ２０が備える時計から取得するようにすればよい。
【００３７】
そして、制御部２２は、ステップＳ２０２で取得した文字列と、ステップＳ２０３で取得した日付を合成する（ステップＳ２０４）。
【００３８】
そして、合成した「文字列＋日付」をハッシュ関数に入力し、ハッシュ関数の出力であるところの新たな文字列を取得する（ステップＳ２０５）。ここで使用するハッシュ関数は、端末装置１０が使用したハッシュ関数と同一の関数であるものとする。
【００３９】
次に、制御部２２は、ステップＳ２０５で取得した新たな文字列の先頭から、ステップＳ２０１で取得したパスワード桁数と同一の桁数を抜き出し、これを、サーバ２０で使用するパスワードとして記憶し保存する（ステップＳ２０６）。
【００４０】
以上、図２を参照して、パスワード自動更新システム１００で使用する最初のパスワードを生成する動作について説明した。
【００４１】
上述したように、端末装置１０とサーバ２０の両者においては、それぞれ、同一の「文字列＋日付」を、同一のハッシュ関数に入力して、新たな文字列を取得するようにしている。そして、同一のパスワード桁数を用いて、新たな文字列の先頭から、同一の桁数を抜き出し、これを、端末装置１０とサーバ２０のそれぞれで使用するパスワードとしている。すなわち、端末装置１０とサーバ２０では、同一のパスワードが生成されるようになっている。
【００４２】
従って、図２の動作の後、端末装置１０から、生成したパスワードを用いてサーバ２０にアクセスした場合、サーバ２０は、端末装置１０と同一のパスワードを保持しているため、端末装置１０からのアクセスが正当であることを認証可能となる。
【００４３】
次に、図３を参照して、パスワードの有効期間が満了した際に、それまで使用していたパスワードを自動更新する動作について説明する。
【００４４】
図３は、第１の実施形態の動作を説明する第２のフローチャートである。図３においては、図２と同様、端末装置１０の動作を左側に示し、サーバ２０の動作を右側に示している。
【００４５】
先ず、端末装置１０の動作について説明する。
【００４６】
端末装置１０の制御部１２は、前回まで使用していたパスワードを取得する（図３のステップＳ１１１）。制御部１２は、次に、有効期限が満了した日の日付を取得する（ステップＳ１１２）。この日付は、端末装置１０が備える時計から取得するようにすればよい。
【００４７】
そして、制御部１２は、ステップＳ１１１で取得した前回のパスワードと、ステップＳ１１２で取得した日付を合成する（ステップＳ１１３）。
【００４８】
次に、合成した「前回のパスワード＋日付」をハッシュ関数に入力し、ハッシュ関数の出力であるところの新たな文字列を取得する（ステップＳ１１４）。ここで使用するハッシュ関数は、図２の動作で使用したハッシュ関数と同一の関数である。
【００４９】
そして、制御部１２は、ステップＳ１１４で取得した新たな文字列の先頭から、保存しておいたパスワード桁数と同一の桁数を抜き出し、これを、端末装置１０で使用する更新後のパスワードとして記憶し保存する（ステップＳ１１５）。
【００５０】
次に、サーバ２０の動作について説明する。
【００５１】
サーバ２０の制御部２２は、前回まで使用していたパスワードを取得する（図３のステップＳ２１１）。制御部２２は、次に、有効期限が満了した日の日付を取得する（ステップＳ２１２）。この日付は、サーバ２０が備える時計から取得するようにすればよい。
【００５２】
そして、制御部２２は、ステップＳ２１１で取得した前回のパスワードと、ステップＳ２１２で取得した日付を合成する（ステップＳ２１３）。
【００５３】
次に、合成した「前回のパスワード＋日付」をハッシュ関数に入力し、ハッシュ関数の出力であるところの新たな文字列を取得する（ステップＳ２１４）。ここで使用するハッシュ関数は、図２の動作で使用したハッシュ関数と同一の関数である。
【００５４】
そして、制御部２２は、ステップＳ２１４で取得した新たな文字列の先頭から、保存しておいたパスワード桁数と同一の桁数を抜き出し、これを、サーバ２０で使用する更新後のパスワードとして記憶し保存する（ステップＳ２１５）。
【００５５】
以上、図３を参照して、パスワードの有効期間が満了した際に、それまで使用していたパスワードを自動更新する動作について説明した。
【００５６】
上述したように、端末装置１０とサーバ２０の両者においては、それぞれ、同一の「前回のパスワード＋日付」を、同一のハッシュ関数に入力して、新たな文字列を取得するようにしている。そして、同一のパスワード桁数を用いて、新たな文字列の先頭から、同一の桁数を抜き出し、これを、端末装置１０とサーバ２０のそれぞれで使用するパスワードとしている。すなわち、端末装置１０とサーバ２０では、同一のパスワードが生成されるようになっている。
【００５７】
従って、図３の動作の後、端末装置１０から、生成したパスワードを用いてサーバ２０にアクセスした場合、サーバ２０は、端末装置１０と同一のパスワードを保持しているため、端末装置１０からのアクセスが正当であることを認証可能となる。
【００５８】
次に、図４を参照して、本発明のパスワード自動更新システムが生成するパスワードの具体的な一例について説明する。
【００５９】
図４は、本発明のパスワード自動更新システムが生成するパスワードの一例を説明する図である。なお、図４においては、端末装置１０における動作を一例として示している。サーバ２０における動作は、端末装置１０の動作と同一のためである。また、本例で使用するハッシュ関数は、ｍｄ５、であるものとする。
【００６０】
図４は、端末装置１０の制御部１２の動作を説明する「制御部の動作」の列（４０１）と、制御部１２が動作した結果、制御部１２が取得した値を示す「値の一例」の列（４０２）と、備考の列（４０３）を有している。備考の列（４０３）は、図２、３で説明したステップに対応する動作を示している。
【００６１】
先ず、図４の４１行に示すように、制御部１２は、パスワードの有効期間を取得する。その時に取得した有効期間は「１ヶ月」である。この時の制御部１２の動作は、備考の列（４０３）に示すように、図２のステップＳ１０１に示す動作である。
【００６２】
また、制御部１２は、パスワード桁数を取得する（図４の４２行）。ここで取得したパスワード桁数は「８」である。この時の制御部１２の動作は、備考の列（４０３）に示すように、図２のステップＳ１０１に示す動作である。
【００６３】
次に、制御部１２は、文字列を取得する（ステップＳ１０２）。取得した文字列は「ABCDE」である（図４の４３行）。
【００６４】
そして、制御部１２は、その時の日付を取得する（ステップＳ１０３）。日付は２０１３年１月１日を示す「20130101」であったものとする（図４の４４行）。
【００６５】
次に、制御部１２は、文字列と日付を合成し、「ABCDE20130101」、を得る（ステップＳ１０４。図４の４５行）。
【００６６】
次に、制御部１２は、合成した文字列と日付をハッシュ関数（すなわち、ｍｄ５）にかけ、新たな文字列を取得する（ステップＳ１０５）。この時得られる新たな文字列は、「d41d8cd98f00b204e9800998ecf8427e」である（図４の４６行）。
【００６７】
そして、制御部１２は、新たな文字列の先頭からパスワード桁数分（すなわち８桁）を抜き出して、「d41d8cd9」を得、これをパスワードとする（ステップＳ１０６。図４の４７行）。
【００６８】
以上の動作により、本発明のパスワード自動更新システムで使用する最初のパスワードが生成される。従って、この時からパスワードの有効期間が経過するまでの間、本発明のパスワード自動更新システムでは、図４の４７行で得られたパスワード、d41d8cd9、を使用することとなる。
【００６９】
そして、パスワードの有効期間「１ヶ月」（図４の４１行で取得した値）が経過したものとする（図４の４８行）。そのときの制御部１２の動作について、図４を参照し、説明を継続するものとする。
【００７０】
端末装置１０の制御部１２は、前回のパスワードを取得する（図３のステップＳ１１１）。ここで取得するパスワードは、図４の４７行に示した「d41d8cd9」である（図４の４９行）。
【００７１】
そして、制御部１２は、その時の日付を取得する（ステップＳ１１２）。日付は、２０１３年１月１日の１ヶ月後の「20130201」である（図４の５０行）。
【００７２】
次に、制御部１２は、前回のパスワードと日付を合成し、「d41d8cd920130201」、を得る（ステップＳ１１３。図４の５１行）。
【００７３】
次に、制御部１２は、合成した文字列と日付をハッシュ関数（すなわち、ｍｄ５）にかけ、新たな文字列を取得する（ステップＳ１１４）。この時得られる新たな文字列は、「ba1df12d2d1892575a651924df179427」である（図４の５２行）。
【００７４】
そして、制御部１２は、新たな文字列の先頭からパスワード桁数分（すなわち８桁）を抜き出して、「ba1df12d」を得、これをパスワードとする（ステップＳ１１５。図４の５３行）。
【００７５】
以上の動作により、有効期限が経過した後に使用するパスワードが生成される。従って、この時から、次のパスワードの有効期間が経過するまでの間、本発明のパスワード自動更新システムでは、図４の５３行で得られたパスワード、ba1df12d、を使用することとなる。
【００７６】
以上、本発明の第１の実施形態の動作について説明した。
【００７７】
以上説明したように、本実施形態のパスワード自動更新システム１００は、端末装置（端末装置１０）とサーバ（サーバ２０）が通信ネットワーク３０を介して接続されている。そして、端末装置は、パスワードの有効期間とパスワード桁数と文字列を入力された際、前記文字列と日付を合成し、ハッシュ関数に入力して新文字列を生成する。次に、前記新文字列の先頭から前記パスワード桁数を抜き出して端末装置のパスワードとする制御部（制御部１２）を備えている。また、前記サーバは、前記端末装置から前記有効期間と前記パスワード桁数と前記文字列を受信した際、前記文字列と日付を合成し、前記ハッシュ関数と同一のハッシュ関数に入力して第２の新文字列を生成する。そして、前記第２の新文字列の先頭から前記パスワード桁数を抜き出してサーバのパスワードとするサーバ制御部（制御部２２）を備えている。
【００７８】
つまり、文字列と有効期間などの特定の文字列だけでなく、ユーザが任意に設定可能なパスワード桁数という、規則的では無い値を加味してパスワードを生成するようにしている。従って、本実施形態によれば、パスワードが見破られる可能性が減少する、という効果が得られる。
【００７９】
[第２の実施形態]
次に、図１に示した第１の実施形態の変形例としての本発明による第２の実施形態について説明する。
【００８０】
図５は、本発明のパスワード自動更新システムの第２の実施形態を示すブロック図である。図５は、図１に示したパスワード自動更新システム１００の端末装置１０とサーバ２０に、更に記憶部を図示し、記憶部の詳細について説明するブロック図である。従って、図５において、図１の構成要素に対応するものは同一の参照数字または符号を付し、その説明を極力省略するものとする。なお、本実施形態と第１の実施形態との違いは、パスワードの生成方法の違いだけである。
【００８１】
図５に示すパスワード自動更新システム１００−２は、図１と同様に、端末装置１０−２とサーバ２０−２が、通信ネットワーク３０を介して接続されている。
【００８２】
端末装置１０−２は、制御部１２−２と記憶部１４を備えている。
【００８３】
制御部１２−２は、端末装置１０−２全体の動作制御を行うと共に、端末装置１０−２にて使用するパスワードを生成する処理も併せ行うようになっている。
【００８４】
記憶部１４は、第１の実施形態と同様のデータ、すなわち、パスワードの有効期間１４１と、パスワード桁数１４２と、文字列１４３を記憶する。また、記憶部１４には、本実施形態に特有のデータ、すなわち、パスワード開始桁１４４が更に記憶されるようになっている。ここで、「パスワード開始桁」とは、ハッシュ関数が出力した文字列の先頭から、パスワード開始桁分の文字数を飛ばした後、パスワード桁数分の文字を抜き出し、これを本実施形態のパスワードとするために用いられるデータである。
【００８５】
サーバ２０−２は、制御部２２−２と記憶部２４を備えている。
【００８６】
制御部２２−２は、サーバ２０−２全体の動作制御を行うと共に、サーバ２０−２にて使用するパスワードを生成する処理も併せ行うようになっている。なお、サーバ２０−２は、端末装置１０−２からのアクセスが正当であるかを認証する機能も併せ備えているものとする。
【００８７】
記憶部２４は、端末装置１０−２の記憶部１４に記憶されるデータと同一のデータ、すなわち、パスワードの有効期間２４１、パスワード桁数２４２、文字列２４３、パスワード開始桁２４４を記憶するようになっている。
【００８８】
通信ネットワーク３０は、第１の実施形態と同一であるため、その説明を省略するものとする。
【００８９】
次に、図６、図７を参照して、本実施形態の動作について説明する。なお、本実施形態と第１の実施形態との違いは、パスワードの生成方法だけであり、その違いも僅かなものではあるが、あえて、第１の実施形態と同様にして説明するものとする。
【００９０】
図６は、第２の実施形態の動作を説明する第１のフローチャートである。なお、図６のフローチャートは、パスワード自動更新システム１００−２で使用する最初のパスワードを生成する動作について説明するものである。そして、図６においては、端末装置１０−２の動作を左側に示し、サーバ２０−２の動作を右側に示している。
【００９１】
先ず、端末装置１０−２の動作について説明する。
【００９２】
端末装置１０−２の制御部１２−２は、パスワードの有効期間とパスワード桁数を取得し、これを記憶部１４内に、パスワードの有効期間１４１、パスワード桁数１４２として保存する（図６のステップＳ１２１）。制御部１２−２は、次に、パスワードの元になる文字列とパスワード開始桁を取得し、これを記憶部１４内に、文字列１４３、パスワード開始桁１４４として保存する（ステップＳ１２２）。なお、有効期間とパスワード桁数の取得、および、文字列とパスワード開始桁の取得とは、端末装置１０−２が備える図示しない入力部から、端末装置１０−２のユーザが入力する値を、制御部１２−２が受け取る動作を指すものである。
【００９３】
次に、制御部１２−２は日付を取得する（ステップＳ１２３）。この日付は、端末装置１０−２が備える時計から取得するようにすればよい。
【００９４】
そして、制御部１２−２は、ステップＳ１２２で取得した文字列と、ステップＳ１２３で取得した日付を合成する（ステップＳ１２４）。
【００９５】
そして、合成した「文字列＋日付」をハッシュ関数に入力し、ハッシュ関数の出力であるところの新たな文字列を取得する（ステップＳ１２５）。ここで使用するハッシュ関数は、任意の関数でよいが、後述するサーバ２０−２が使用するハッシュ関数と同一の関数であるものとする。
【００９６】
次に、制御部１２−２は、ステップＳ１２５で取得した新たな文字列の先頭から、パスワード開始桁分の文字数を飛ばした後、ステップＳ１２１で取得したパスワード桁数と同一の桁数を抜き出し、これを、端末装置１０−２で使用するパスワードとして記憶し保存する（ステップＳ１２６）。
【００９７】
次に、サーバ２０−２の動作について説明する。
【００９８】
サーバ２０−２の制御部２２−２は、パスワードの有効期間とパスワード桁数を取得し、これを記憶部２４内に、パスワードの有効期間２４１、パスワード桁数２４２として保存する（図６のステップＳ２２１）。制御部２２−２は、次に、パスワードの元になる文字列とパスワード開始桁を取得する（ステップＳ２２２）。なお、有効期間とパスワード桁数の取得、および、文字列とパスワード開始桁の取得とは、端末装置１０−２が送信した有効期間とパスワード桁数、および文字列とパスワード開始桁を、サーバ２０−２の制御部２２−２が受信する動作を指すものである。
【００９９】
次に、制御部２２−２は日付を取得する（ステップＳ２２３）。この日付は、サーバ２０−２が備える時計から取得するようにすればよい。
【０１００】
そして、制御部２２−２は、ステップＳ２２２で取得した文字列と、ステップＳ２２３で取得した日付を合成する（ステップＳ２２４）。
【０１０１】
そして、合成した「文字列＋日付」をハッシュ関数に入力し、ハッシュ関数の出力であるところの新たな文字列を取得する（ステップＳ２２５）。ここで使用するハッシュ関数は、端末装置１０−２が使用したハッシュ関数と同一の関数であるものとする。
【０１０２】
次に、制御部２２−２は、ステップＳ２２５で取得した新たな文字列の先頭からパスワード開始桁分の文字数を飛ばした後に、ステップＳ２２１で取得したパスワード桁数と同一の桁数を抜き出し、これを、サーバ２０−２で使用するパスワードとして記憶し保存する（ステップＳ２２６）。
【０１０３】
以上、図６を参照して、パスワード自動更新システム１００−２で使用する最初のパスワードを生成する動作について説明した。
【０１０４】
次に、図７を参照して、パスワードの有効期間が満了した際に、それまで使用していたパスワードを自動更新する動作について説明する。
【０１０５】
図７は、第２の実施形態の動作を説明する第２のフローチャートである。図７においては、図６と同様、端末装置１０−２の動作を左側に示し、サーバ２０−２の動作を右側に示している。
【０１０６】
先ず、端末装置１０−２の動作について説明する。
【０１０７】
端末装置１０−２の制御部１２−２は、前回まで使用していたパスワードを取得する（図７のステップＳ１３１）。制御部１２−２は、次に、有効期限が満了した日の日付を取得する（ステップＳ１３２）。この日付は、端末装置１０−２が備える時計から取得するようにすればよい。
【０１０８】
そして、制御部１２−２は、ステップＳ１３１で取得した前回のパスワードと、ステップＳ１３２で取得した日付を合成する（ステップＳ１３３）。
【０１０９】
次に、合成した「前回のパスワード＋日付」をハッシュ関数に入力し、ハッシュ関数の出力であるところの新たな文字列を取得する（ステップＳ１３４）。ここで使用するハッシュ関数は、図６の動作で使用したハッシュ関数と同一の関数である。
【０１１０】
そして、制御部１２−２は、ステップＳ１３４で取得した新たな文字列の先頭からパスワード開始桁分の文字数を飛ばした後に、記憶部１４に保存しておいたパスワード桁数と同一の桁数を抜き出し、これを、端末装置１０−２で使用する更新後のパスワードとして記憶し保存する（ステップＳ１３５）。
【０１１１】
次に、サーバ２０−２の動作について説明する。
【０１１２】
サーバ２０−２の制御部２２−２は、前回まで使用していたパスワードを取得する（図７のステップＳ２３１）。制御部２２−２は、次に、有効期限が満了した日の日付を取得する（ステップＳ２３２）。この日付は、サーバ２０−２が備える時計から取得するようにすればよい。
【０１１３】
そして、制御部２２−２は、ステップＳ２３１で取得した前回のパスワードと、ステップＳ２３２で取得した日付を合成する（ステップＳ２３３）。
【０１１４】
次に、合成した「前回のパスワード＋日付」をハッシュ関数に入力し、ハッシュ関数の出力であるところの新たな文字列を取得する（ステップＳ２３４）。ここで使用するハッシュ関数は、図６の動作で使用したハッシュ関数と同一の関数である。
【０１１５】
そして、制御部２２−２は、ステップＳ２３４で取得した新たな文字列の先頭からパスワード開始桁分の文字数を飛ばした後に、記憶部２４に保存しておいたパスワード桁数と同一の桁数を抜き出し、これを、サーバ２０−２で使用する更新後のパスワードとして記憶し保存する（ステップＳ２３５）。
【０１１６】
以上、図７を参照して、パスワードの有効期間が満了した際に、それまで使用していたパスワードを自動更新する動作について説明した。
【０１１７】
以上、本発明の第２の実施形態の動作について説明した。
【０１１８】
以上説明したように、本実施形態のパスワード自動更新システム１００−２は、端末装置（端末装置１０−２）とサーバ（サーバ２０−２）が通信ネットワーク３０を介して接続されている。そして、端末装置は、パスワードの有効期間とパスワード桁数と文字列に加えパスワード開始桁を入力された際、前記文字列と日付を合成し、ハッシュ関数に入力して第３の新文字列を生成する。次に、前記第３の新文字列の先頭からパスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出して端末装置のパスワードとする制御部（制御部１２−２）を備えている。また、前記サーバは、前記端末装置から前記有効期間と前記パスワード桁数と前記文字列に加え前記パスワード開始桁を受信した際、前記文字列と日付を合成し、前記ハッシュ関数に入力して第４の新文字列を生成する。そして、前記第４の新文字列の先頭からパスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出してサーバのパスワードとするサーバ制御部（制御部２２−２）を備えている。
【０１１９】
つまり、文字列と有効期間などの特定の文字列だけでなく、ユーザが任意に設定可能なパスワード桁数という、規則的では無い値を加味してパスワードの元になる文字列を生成するようにしている。更に、ユーザが任意に設定可能で、かつ、規則的でないパスワード開始桁を用いて、ハッシュ関数から出力された文字列の抜き出し位置を制御してパスワードを生成するようにしている。従って、本実施形態によれば、パスワードが見破られる可能性が更に減少する、という効果が得られる。
【０１２０】
なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
端末装置とサーバが通信ネットワークを介して接続され、
前記端末装置は、パスワードの有効期間とパスワード桁数と文字列を入力された際、前記文字列と日付を合成し、ハッシュ関数に入力して新文字列を生成し、前記新文字列の先頭から前記パスワード桁数を抜き出して端末装置のパスワードとする制御部を備え、
前記サーバは、前記端末装置から受信した前記有効期間と前記パスワード桁数と前記文字列を用いて、前記文字列と日付を合成し、前記ハッシュ関数と同一のハッシュ関数に入力して第２の新文字列を生成し、前記第２の新文字列の先頭から前記パスワード桁数を抜き出してサーバのパスワードとするサーバ制御部を備える、
ことを特徴とするパスワード自動更新システム。
（付記２）
前記有効期間が経過した際、
前記端末装置の前記制御部は、前記端末装置のパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第３の新文字列を生成し、前記第３の新文字列の先頭から前記パスワード桁数を抜き出して端末装置の次のパスワードとし、
前記サーバ制御部は、前記サーバのパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第４の新文字列を生成し、前記第４の新文字列の先頭から前記パスワード桁数を抜き出してサーバの次のパスワードとする、
ことを特徴とする付記１に記載のパスワード自動更新システム。
（付記３）
前記端末装置の前記制御部は、パスワードの有効期間とパスワード桁数と文字列に加えパスワード開始桁を入力された際、前記文字列と日付を合成し、前記ハッシュ関数に入力して第５の新文字列を生成し、前記第５の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出して端末装置のパスワードとし、
前記サーバ制御部は、前記端末装置から受信した前記有効期間と前記パスワード桁数と前記文字列と前記パスワード開始桁を用いて、前記文字列と日付を合成し、前記ハッシュ関数に入力して第６の新文字列を生成し、前記第６の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出してサーバのパスワードとする、
ことを特徴とする付記１に記載のパスワード自動更新システム。
（付記４）
前記有効期間が経過した際、
前記端末装置の前記制御部は、前記端末装置のパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第７の新文字列を生成し、前記第７の新文字列の先頭からパスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出して端末装置の次のパスワードとし、
前記サーバ制御部は、前記サーバのパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第８の新文字列を生成し、前記第８の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出してサーバの次のパスワードとする、
ことを特徴とする付記３に記載のパスワード自動更新システム。
（付記５）
パスワードの有効期間とパスワード桁数と文字列を入力し、前記文字列と日付を合成し、ハッシュ関数に入力して新文字列を生成し、前記新文字列の先頭から前記パスワード桁数を抜き出してパスワードとする、
ことを特徴とするパスワード自動更新方法。
（付記６）
前記有効期間が経過した際、
前記パスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第２の新文字列を生成し、前記第２の新文字列の先頭から前記パスワード桁数を抜き出して次のパスワードとする、
ことを特徴とする付記５に記載のパスワード自動更新方法。
（付記７）
パスワードの有効期間とパスワード桁数と文字列に加えパスワード開始桁を入力し、前記文字列と日付を合成し、前記ハッシュ関数に入力して第３の新文字列を生成し、前記第３の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出してパスワードとする、
ことを特徴とする付記５に記載のパスワード自動更新方法。
（付記８）
前記有効期間が経過した際、
前記パスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第４の新文字列を生成し、前記第４の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出して次のパスワードとする、
ことを特徴とする付記７に記載のパスワード自動更新方法。
（付記９）
パスワードの有効期間とパスワード桁数と文字列を入力された際、前記文字列と日付を合成し、サーバと同一のハッシュ関数に入力して新文字列を生成し、前記新文字列の先頭から前記パスワード桁数を抜き出して自身のパスワードとする制御部を備える、
ことを特徴とする端末装置。
（付記１０）
前記有効期間が経過した際、
前記端末装置の前記制御部は、前記パスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第２の新文字列を生成し、前記第２の新文字列の先頭から前記パスワード桁数を抜き出して端末装置の次のパスワードとする、
ことを特徴とする付記９に記載の端末装置。
（付記１１）
前記端末装置の前記制御部は、パスワードの有効期間とパスワード桁数と文字列に加えパスワード開始桁を入力された際、前記文字列と日付を合成し、前記ハッシュ関数に入力して第３の新文字列を生成し、前記第３の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出して自身のパスワードとする、
ことを特徴とする付記９に記載の端末装置。
（付記１２）
前記有効期間が経過した際、
前記端末装置の前記制御部は、前記端末装置のパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第４の新文字列を生成し、前記第４の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出して自身の次のパスワードとする、
ことを特徴とする付記１１に記載の端末装置。
（付記１３）
端末装置から受信した有効期間とパスワード桁数と文字列を用い、前記文字列と日付を合成し、前記端末装置と同一のハッシュ関数に入力して新文字列を生成し、前記新文字列の先頭から前記パスワード桁数を抜き出して自身のパスワードとするサーバ制御部を備える、
ことを特徴とするサーバ。
（付記１４）
前記有効期間が経過した際、
前記サーバ制御部は、前記自身のパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第２の新文字列を生成し、前記第２の新文字列の先頭から前記パスワード桁数を抜き出して自身の次のパスワードとする、
ことを特徴とする付記１３に記載のサーバ。
（付記１５）
前記サーバ制御部は、前記端末装置から受信した前記有効期間と前記パスワード桁数と前記文字列とパスワード開始桁を用い、前記文字列と日付を合成し、前記ハッシュ関数に入力して第３の新文字列を生成し、前記第３の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出して自身のパスワードとする、
ことを特徴とする付記１３に記載のサーバ。
（付記１６）
前記有効期間が経過した際、
前記サーバ制御部は、前記自身のパスワードと前記有効期間が経過した日の日付を合成し、前記ハッシュ関数に入力して第４の新文字列を生成し、前記第４の新文字列の先頭から前記パスワード開始桁分の文字数を飛ばした後に、前記パスワード桁数を抜き出して自身の次のパスワードとする、
ことを特徴とする付記１５に記載のサーバ。
【符号の説明】
【０１２１】
１０    端末装置
１２    制御部
１４    記憶部
２０    サーバ
２２    制御部
２４    記憶部
３０    通信ネットワーク
１００    パスワード自動更新システム
【図１】
2015121956.tif 000003
【図２】
2015121956.tif 000004
【図３】
2015121956.tif 000005
【図４】
2015121956.tif 000006
【図５】
2015121956.tif 000007
【図６】
2015121956.tif 000008
【図７】
2015121956.tif 000009