JP2009110112A - パスワード生成装置、パスワード生成方法及びプログラム - Google Patents

パスワード生成装置、パスワード生成方法及びプログラム Download PDF

Info

Publication number
JP2009110112A
JP2009110112A JP2007279442A JP2007279442A JP2009110112A JP 2009110112 A JP2009110112 A JP 2009110112A JP 2007279442 A JP2007279442 A JP 2007279442A JP 2007279442 A JP2007279442 A JP 2007279442A JP 2009110112 A JP2009110112 A JP 2009110112A
Authority
JP
Japan
Prior art keywords
dictionary
password
value
determining
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007279442A
Other languages
English (en)
Other versions
JP5258258B2 (ja
Inventor
Hirohisa Ikuno
浩久 生野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NS Solutions Corp
Original Assignee
NS Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NS Solutions Corp filed Critical NS Solutions Corp
Priority to JP2007279442A priority Critical patent/JP5258258B2/ja
Publication of JP2009110112A publication Critical patent/JP2009110112A/ja
Application granted granted Critical
Publication of JP5258258B2 publication Critical patent/JP5258258B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】覚えやすい入力値に対して、安全性の高いパスワードを生成することを目的とする。
【解決手段】パスワード生成手段は、一方向関数適用手段において求められた値を、パスワード要素の決定に用いられる辞書の大きさで割って余りを求め、求めた余りの数値に対応する辞書の内容を用いてパスワード要素を決定するパスワード要素決定手段と、パスワード要素決定手段がパスワードを構成する要素分のパスワード要素を決定したか否かを判定し、パスワードを構成する要素分のパスワード要素を決定していないと判定した場合、パスワード要素決定手段で用いた値を入力値として一方向関数適用手段に入力し、得られた値と、パスワード要素の決定に用いられる辞書と、を用いて、パスワード要素決定手段で、次のパスワード要素を決定するよう制御するパスワード生成制御手段と、を有することによって課題を解決する。
【選択図】図1

Description

本発明は、パスワード生成装置、パスワード生成方法及びプログラムに関する。
簡単な入力方法で認証用の特徴を含む元データを入力し、入力された元データの特徴を損なうことなくデータ処理をしてパスワードを生成する装置がある(特許文献1参照)。
また、パスワードを用いた認証においてセキュリティを高めるためには、
(1)文字、数字、記号等の多様なパスワード要素を均等に配置したパスワードにする
(2)パスワードを長くする
必要があった。
特開平11−66005号公報
しかしながら、特許文献1の技術は、特許文献1の段落番号0021に記載されているように、mビット列の数値の最大値が辞書テーブルのサイズと等しくなるようにmを設定する必要があった。つまり、巨大な用語辞書テーブルを用意しなくてはならなかった。しかしながら、用語辞書の構成要素は限られるため、非常に冗長な用語辞書テーブルとなり、生成されるパスワードに用語辞書の構成要素に係る偏りが生じ、パスワードに関する安全性上、問題があった。
更に、特許文献1の技術は、
m≧(パスワードパラメータ)/(既存の認証システムのパスワードの文字数)
を満たす必要があった。
(パスワードパラメータ)/(既存の認証システムのパスワードの文字数)
が必ず割り切れるとは限らず、この場合、構成要素が「(パスワードパラメータ)/(既存の認証システムのパスワードの文字数)」よりも大きな辞書を使用する必要があった。そのため、辞書の構成要素において絶対に使用しない構成要素が出てくるので、生成されるパスワードに用語辞書の構成要素に係る偏りが生じ、パスワードに関する安全性に問題があった。
また、上述した従来技術の(1)及び(2)を満たすことと、覚えやすいパスワードとは相反し、両立することができない問題があった。
本発明はこのような問題点に鑑みなされたもので、覚えやすい入力値に対して、安全性の高いパスワードを生成することを目的とする。
そこで、本発明のパスワード生成装置は、入力された入力値に対して一方向関数を適用し、値を求める一方向関数適用手段と、パスワードを生成するパスワード生成手段と、
を有し、前記パスワード生成手段は、前記一方向関数適用手段において求められた前記値を、パスワード要素の決定に用いられる辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する前記辞書の要素を用いてパスワード要素を決定するパスワード要素決定手段と、前記パスワード要素決定手段がパスワードを構成する要素分のパスワード要素を決定したか否かを判定し、パスワードを構成する要素分のパスワード要素を決定していないと判定した場合、前記パスワード要素決定手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、パスワード要素の決定に用いられる辞書と、を用いて、前記パスワード要素決定手段で、次のパスワード要素を決定するよう制御するパスワード生成制御手段と、を有することを特徴とする。
係る構成とすることにより、例えば、入力値に対して一方向関数を適用し、値を求め、求めた値を、辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する辞書の要素を用いてパスワード要素を決定し、次のパスワード要素を決定するに際し、前記値を入力値として、前記入力値に対して一方向関数を適用し、値を求め、求めた値を、辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する辞書の要素を用いてパスワード要素を決定する。このような処理を繰り返すことによって、辞書の構成要素に係る偏りが生じないパスワードを生成するので、覚えやすい入力値に対して、安全性の高いパスワードを生成することができる。
ここで、一方向関数とは、例えば後述するハッシュ関数等に対応する。また、一方向関数を適用し求める値とは、例えば後述するハッシュ値等に対応する。
また、本発明は、パスワード生成方法及びプログラムとしてもよい。
本発明によれば、覚えやすい入力値に対して、安全性の高いパスワードを生成することができる。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
図1は、パスワード生成装置(コンピュータ)のハードウェア構成の一例を示す図である。図1に示されるようにパスワード生成装置1は、ハードウェア構成として、CPU11を含む。
CPU11が、記憶装置13に記憶されている、プログラムに基づき処理を行うことによって、後述する機能、又はフローチャートを実現する。
また、CPU11には、バス10を介して、入力装置12、記憶装置13及び表示装置14が接続されている。記憶装置13は、例えば、ROM、RAM、ハードディスク装置等からなり、上述した各プログラム以外に、プログラムに基づく処理で用いられるデータ(例えば後述する辞書等)を記憶する。表示装置14は、情報を表示する例えばディスプレイ等である。入力装置12は、情報を入力する例えば操作キー等である。
なお、パスワード生成装置1のより具体的な一例としては、スマートカードや、セキュリティハードウェアトークン等である。
図2は、パスワード生成装置の機能構成の一例を示す図である。図2に示されるように、パスワード生成装置1は、機能構成として、表示制御部21と、パスフレーズ取得部22と、ハッシュ関数適用部23と、辞書列決定部24と、辞書順序決定部25と、パスワード生成部26と、を含む。
表示制御部21は、画面等の表示装置14への表示を制御する。例えば、画面の例としては、パスフレーズの入力に係るパスフレーズ入力画面や、生成されたパスワードの表示に係るパスワード表示画面等である。パスフレーズ取得部22は、パスフレーズ入力画面等を介して入力されたパスフレーズを取得する。
ハッシュ関数適用部23は、入力値に対してハッシュ関数を適用してハッシュ値を得る。ここで、入力値としては、パスフレーズ取得部22が取得したパスフレーズ、又はハッシュ値等がある。
辞書列決定部24は、生成するパスワードの要素分(パスワード要素分)の辞書列を決定する。なお、本実施形態では、辞書の種類として、アルファベットの小文字(以下、単に小文字という)、アルファベットの大文字(以下、単に大文字という)、数字、の3種類を例に説明を行う。辞書列決定部24の詳細は、後述する図3に示す。
なお、ここで、パスワードの要素とは、パスワードを構成する要素のことをいう。例えば、パスワードが「C3gM14tT」の場合、「C」や、「3」、「g」、「M」、「1」、「4」、「t」、「T」がパスワードの要素である。また、辞書列とは、上述のような多様な辞書の種類を要素とした行列である。
辞書順序決定部25は、辞書決定部24で決定された辞書列の辞書の順序(並び)を決定する。辞書順序決定部25の詳細は、後述する図4に示す。
パスワード生成部26は、辞書順序決定部25で決定された辞書の順序の辞書列を用いてパスワードを生成する。パスワード生成部26の詳細は、後述する図6に示す。
図3は、辞書列決定部の構成の一例を示す図である。
辞書列決定部24は、辞書・数値対応付け部31と、辞書追加部32と、辞書追加制御部33と、を含む。
辞書・数値対応付け部31は、辞書の種類と、数値と、を対応付ける。
辞書・数値対応付け部31は、例えば、
小文字:0
大文字:1
数字:2
等と、辞書の種類と、数値と、を対応付ける。
なお、本実施形態では、辞書・数値対応付け部31が、辞書の種類と、数値と、を対応付けるよう説明を行う。しかしながら、予め、辞書の種類と、数値と、を対応付けてプログラミングしてパスワード生成装置1にアプリケーション等を実装してもよいし、予め、辞書の種類と、数値と、を対応付けたファイル等を記憶装置13等に記憶させておき、辞書追加部32は、このファイルを参照するようにしてもよい。
辞書追加部32は、例えば対象としている認証システム等で必要とされる辞書を辞書列に用意(追加)すると共に、ハッシュ値を辞書の種類の数(本実施形態の例では3)で割り、余りの数値に対応する種類の辞書を辞書列に追加する。
辞書追加部32は、例えば、対象としている認証システム等で必要とされる辞書が小文字、大文字、数字の場合、辞書列に
辞書列:「小文字、大文字、数字」
を用意する。
そして、辞書追加部32は、ハッシュ値を辞書の種類の数(本実施形態の例では3)で割り、余りの数値が例えば2であった場合、以下に示すように数字の辞書を辞書列に追加する。
辞書列:「小文字、大文字、数字、数字」
なお、以下では、簡略化のため、辞書列において、小文字は「小」、大文字は「大」、数字は「数」と記載する。
ここで、辞書追加部32が用意する辞書の情報は、例えば認証システム等より取得してもよいし、パスフレーズと同様、ユーザに入力させるようにしてもよい。また、本実施形態では、辞書追加部32は、辞書を辞書列に用意(追加)するものとして説明を行うが、例えば認証システムやユーザ等が、必要とする辞書を指定しない場合、必ずしも辞書を辞書列に用意する必要は無い。つまり、辞書追加部32は、ハッシュ値を辞書の種類の数(本実施形態の例では3)で割り、余りの数値に対応する種類の辞書を辞書列に追加していくだけでもよい。この場合、辞書の種類の数は、例えば、予めファイル等に記載しておいてもよいし、パスフレーズと同様、ユーザに入力させるようにしてもよい。
辞書追加制御部33は、辞書追加部32が用いた前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を辞書追加部32に入力して、上述したように辞書を辞書列に追加させるよう制御する処理を、辞書列がパスワード要素数分の辞書を持つまで繰り返すよう制御する。ここで、パスワードの要素数は、例えば、予めファイル等に記載しておいてもよいし、パスフレーズと同様、ユーザに入力させるようにしてもよい。
例えば、パスワードの要素数が8で、辞書列が「小文字、大文字、数字、数字」あった場合、辞書追加制御部33は、後4回辞書を辞書列に追加するよう辞書追加部32を制御し、辞書列を決定(又は生成)する。本実施形態では、例えば、辞書列は以下のようになったものとする。
辞書列:「小、大、数、数、大、大、数、小」
図4は、辞書順序決定部の構成の一例を示す図である。
図4に示されるように、辞書順序決定部25は、新辞書列生成部41と、新辞書列生成制御部42と、を含む。
新辞書列生成部41は、入力されたハッシュ値を、入力された辞書列の大きさで割り、余りの数値に位置する辞書を辞書列から取り出し、新しい辞書列に追加する。そして、新辞書列生成部41は、元の辞書列の辞書の順序を、辞書を取り出した分、前に詰める。なお、新辞書列生成部41は、まず辞書列決定部24で用いられた前記ハッシュ値を入力値として例えば辞書列決定部24より受け取る。
ここで、図5は、新辞書列生成部における処理の一例を説明するための図である。
ここで、辞書列決定部24で決定された辞書列が上述したように、
辞書列:「小、大、数、数、大、大、数、小」
0、1、2、3、4、5、6、7
であるものとする。
新辞書列生成部41は、例えば、入力されたハッシュ値を入力された辞書列の大きさ(前記辞書列の場合8)で割った余りが4の場合、4に位置する辞書(「大」)を辞書列から取り出し、新しい辞書列に追加する。そして、新辞書列生成部41は、元の辞書列の辞書の順序を、辞書を取り出した分、前に詰める。
再び図4の説明に戻り、新辞書列生成制御部42は、新辞書列生成部41が用いた前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を新辞書列生成部41に入力すると共に、前記辞書の順序を前に詰めた元の辞書列を新辞書列生成部41に入力し、上述したように新辞書列に辞書を追加させるよう制御する処理を、元の辞書列から辞書がなくなるまで繰り返すよう制御する。本実施形態では、例えば、新しい辞書列は以下のようになったものとする。
新しい辞書列:「大、数、小、大、数、数、小、大」
図6は、パスワード生成部の構成の一例を示す図である。
図6に示されるように、パスワード生成部26は、辞書内容・数値対応付け部51と、パスワード要素決定部52と、パスワード生成制御部53と、を含む。
辞書内容・数値対応付け部51は、辞書の内容(辞書の要素)と、数値と、を対応付ける。例えば、大文字の辞書の場合、辞書内容・数値対応付け部51は、
Aと0、Bと1、Cと2、・・・、Zと25
等と辞書の内容と、数値と、を対応付ける。また、小文字の辞書の場合も、辞書内容・数値対応付け部51は、同様に辞書の内容と、数値と、を対応付ける。
なお、本実施形態では、辞書内容・数値対応付け部51が、辞書の内容と、数値と、を対応付けるよう説明を行う。しかしながら、予め、辞書の内容と、数値と、を対応付けてプログラミングしてパスワード生成装置1にアプリケーション等を実装してもよいし、予め、辞書の内容と、数値と、を対応付けたファイル等を記憶装置13等に記憶させておき、パスワード要素決定部52は、このファイルを参照するようにしてもよい。
なお、辞書が数字の場合、辞書内容・数値対応付け部51は、対応付けの処理を行わない。
パスワード要素決定部52は、入力されたハッシュ値を、入力された辞書の大きさ(辞書を構成する要素の数)で割り、余りの数値に対応する文字をパスワードの要素として決定する。例えば入力された辞書が大文字の場合、パスワード要素決定部52は、入力されたハッシュ値を、大文字の辞書の大きさ(26)で割る。そして、例えば余りが2の場合、パスワード要素決定部52は、余りの数値2に対応する文字Cをパスワードの要素として決定する。
パスワード生成制御部53は、パスワード要素決定部52が用いた前記ハッシュ値を入力値としてハッシュ関数提供部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値をパスワード要素決定部52に入力すると共に、辞書順序決定部25が決定した辞書の順序に基づいて、次の辞書をパスワード要素決定部52に入力し、上述したようにパスワード要素を決定するよう制御する処理を、辞書列の辞書分繰り返すよう制御する。本実施形態では、例えばパスワードを以下のようになったものとする。
パスワード:「C3gM14tT」
以下、フローチャートを用いて、パスワード生成処理の一例を説明する。
図7は、パスワード生成処理の一例を示すフローチャートである。
ステップS10において、パスフレーズ取得部22は、パスフレーズ入力画面等を介して入力されたパスフレーズを取得する。
ステップS11において、ハッシュ関数適用部23及び辞書列決定部24は、パスワード要素分の辞書列を決定する。なお、ステップS11の処理の詳細は、後述する図8に示す。
ステップS12において、ハッシュ関数適用部23及び辞書順序決定部25は、ステップS11で決定された辞書列の辞書の順序(並び)を決定する。なお、ステップS12の処理の詳細は、後述する図9に示す。
ステップS13において、ハッシュ関数適用部23及びパスワード生成部26は、ステップS12で決定された辞書の順序の辞書列を用いてパスワードを生成する。なお、ステップS13の処理の詳細は、後述する図10に示す。
図8は、辞書列決定処理の一例を示すフローチャートである。
ステップS20において、ハッシュ関数適用部23は、ステップS10でパスフレーズ取得部22が取得したパスフレーズを入力値として受け取り、ハッシュ関数を適用し、ハッシュ値を得る。ハッシュ関数適用部23は、得たハッシュ値を入力値としてハッシュ関数適用部23に渡す。
ステップS21において、辞書・数値対応付け部31は、辞書の種類と、数値と、を対応付ける。
ステップS22において、辞書追加部32は、例えば対象としている認証システム等で必要とされる辞書を辞書列に用意(追加)する。
ステップS23において、辞書追加部32は、入力値として得たハッシュ値を辞書の種類の数で割り、余りの数値に対応する種類の辞書を辞書列に追加する。
ステップS24において、辞書追加制御部33は、パスワードを構成するパスワード要素分の辞書を持つ辞書列となったか否かを判定する。パスワードを構成するパスワード要素分の辞書を持つ辞書列となったと判定した場合、辞書追加制御部33は、前記ハッシュ値を入力値として辞書順序決定部25に与えると共に決定した辞書列を辞書順序決定部25に与え、図8に示す処理を終了する。一方、パスワードを構成するパスワード要素分の辞書を持つ辞書列となっていないと判定した場合、辞書追加制御部33は、ステップS25に進む。なお、ここで、辞書追加制御部33は、パスワードを構成するパスワード要素分の辞書を持つ辞書列となったと判定した場合、前記ハッシュ値を入力値として辞書順序決定部25に与えるものとして説明を行ったが、前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を入力値として辞書順序決定部25に与えてもよい。
ステップS25において、辞書追加制御部33は、前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を辞書追加部32に入力し、ステップS23に処理を進める。
すると、再び、ステップS23において、辞書追加部32は、入力値として得たハッシュ値を、辞書の種類の数で割り、余りの数値に対応する種類の辞書を辞書列に追加する処理を行う。
図9は、辞書順序決定処理の一例を示すフローチャートである。
ステップS30において、新辞書列生成部41は、入力値として受け取ったハッシュ値を、辞書列の大きさで割り、余りの数値に位置する辞書を取り出し、新しい辞書列に追加する。
ステップS31において、新辞書列生成部41は、元の辞書列(辞書を取り出した側の辞書列)の辞書の順序を、辞書を取り出した分、前に詰める。
ステップS32において、新辞書列生成制御部42は、元の辞書列から辞書を取り出し、新しい辞書列に追加し、全ての辞書順序(辞書の順序)を決定したか否か(つまり、パスワードを構成する要素分のパスワード要素を決定したか否か)を判定する。全ての辞書順序を決定したと判定した場合、新辞書列生成制御部42は、前記ハッシュ値を入力値としてパスワード生成部26に与えると共に生成した新たな辞書列の並びを辞書順序としてパスワード生成部26に与え、図9に示す処理を終了する。一方、全ての辞書順序を決定していないと判定すると、ステップS33に進む。なお、ここで、新辞書列生成制御部42は、全ての辞書順序を決定したと判定した場合、前記ハッシュ値を入力値としてパスワード生成部26に与えるものとして説明を行ったが、前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を入力値としてパスワード生成部26に与えてもよい。
ステップS33において、新辞書列生成制御部42は、前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を新辞書列生成部41に入力し、ステップS30に処理を進める。
すると、再び、ステップS30において、新辞書列生成部41は、入力値として受け取ったハッシュ値を、元の辞書列(辞書を取り出した側の辞書列)の大きさで割り、余りの数値に位置する辞書を取り出し、新しい辞書列に追加する処理を行う。
図10は、パスワード生成処理の一例を示すフローチャートである。
ステップS40において、辞書内容・数値対応付け部51は、辞書の内容と、数値と、を対応付ける。
ステップS41において、パスワード要素決定部52は、変数iを初期化する。例えば、辞書内容・数値対応付け部51は、変数iに0を設定する。
ステップS42において、パスワード要素決定部52は、入力値として得たハッシュ値を、入力値として得た変数iが指し示す辞書列の順番の辞書の大きさで割り、余りの数値に対応付けられた文字(又は、辞書が数字の場合、余りの数値)をパスワード要素に決定する。
ステップS43において、パスワード生成制御部53は、前記辞書列の各辞書に対してステップS42の処理を行ったか否か(つまり、必要なパスワード要素分の辞書を用いてパスワード要素を決定したか否か)を判定する。前記辞書列の各辞書に対してステップS42の処理を行ったと判定した場合、パスワード生成制御部53は、生成したパスワードを例えば表示制御部21に渡し、図10に示す処理を終了する。表示制御部21は、パスワード生成制御部53よりパスワードを受け取ると、受け取ったパスワードを含むパスワード表示画面等を生成し、表示装置14に表示する。ユーザは、表示されたパスワードを目視し、この表示されたパスワードを用いて、認証システムに(又は認証システムを介して所望のシステムに)ログインする。
なお、本実施形態では、パスワード生成制御部53は、生成したパスワードを表示制御部21に渡し、表示制御部21が受け取ったパスワードを含むパスワード表示画面等を表示装置14に表示するよう説明を行う。しかしながら、パスワード生成制御部53は、生成したパスワードを直接、認証システムに渡すようにしてもよい。このような構成とした場合、ユーザは、パスフレーズを入力するだけで、認証システムに(又は認証システムを介して所望のシステムに)ログインすることができる。
一方、前記辞書列の各辞書に対してステップS42の処理を行っていないと判定した場合、パスワード生成制御部53は、ステップS44に処理を進める。
ステップS44において、パスワード生成制御部53は、前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値をパスワード要素決定部52に入力し、ステップS45に処理を進める。
ステップS45において、パスワード要素決定部52は、変数iの値を1つインクリメントし、ステップS42に処理を進める。
すると、再び、ステップS42において、パスワード要素決定部52は、入力値として得たハッシュ値を、入力値として得た(前記インクリメントした)変数iが指し示す辞書列の順番の辞書の大きさで割り、余りの数値に対応付けられた文字(又は、辞書が数字の場合、余りの数値)をパスワード要素に決定する処理を行う。
以上、上述した実施形態によれば、パスフレーズ等の覚えやすい入力値に対して、例えば辞書の構成要素に係る偏りが生じない等の安全性の高いパスワードを生成することができる。
<実施形態2>
上述した実施形態1では、パスワード生成装置1は、例えば図7に示したように辞書列を決定した後、辞書順序を決定し、この決定した辞書順序を用いて、パスワードを生成するよう説明を行った。しかしながら、パスワード生成装置1は、辞書列を決定すると共に、辞書順序を決定するようにしてもよい。つまり、パスワード生成装置1は、図8のステップS23で、入力値として得たハッシュ値を辞書の種類の数で割り、余りの数値に対応する種類の辞書を選択すると共に、この辞書の辞書列の順番も決定するようにしてもよい。例えば、パスワード生成装置1は、図9に示したように順番を決める。
同様に、パスワード生成装置1は、順番を決める際に、パスワード要素も決定するようにしてもよい。
<実施形態3>
上述した実施形態1では、図8のステップS20に示したように、ハッシュ関数適用部23は、パスフレーズ取得部22が取得したパスフレーズを入力値として受け取り、ハッシュ関数を適用し、ハッシュ値を得るよう説明を行った。しかしながら、ハッシュ関数適用部23は、パスフレーズと共に、パスワード長を入力値として受け取り、ハッシュ関数を適用し、ハッシュ値を得るようにしてもよい。
このような処理とすることにより、パスワード生成装置1は、同じパスフレーズであっても、パスワード長が異なれば異なるパスワードを生成することができる。なお、このパスワード長は、例えば、パスフレーズと同様、ユーザに入力させるものとする。
<実施形態4>
上述した実施形態1では、図8のステップS20に示したように、ハッシュ関数適用部23は、パスフレーズ取得部22が取得したパスフレーズを入力値として受け取り、ハッシュ関数を適用し、ハッシュ値を得るよう説明を行った。しかしながら、ハッシュ関数適用部23は、パスフレーズと共に、パスワード生成装置1の固有の文字列(例えば製品番号等)を入力値として受け取り、ハッシュ関数を適用し、ハッシュ値を得るようにしてもよい。
このような処理とすることにより、パスワード生成装置1は、同じパスフレーズであっても、パスワード生成装置1毎に異なるパスワードを生成することができる。
以上、上述した各実施形態によれば、パスフレーズ等の覚えやすい入力値に対して、例えば辞書の構成要素に係る偏りが生じない等の安全性の高いパスワードを生成することができる。
また、上述した各実施形態によれば、パスワードを生成するのに、特別な関数等を用いず、ハッシュ関数しか使っていない。ここで、ハッシュ関数は、どんなプログラム言語で実装しても同じ結果を出力する。つまり、上述した各実施形態は、どのようなプラットフォームにも実行することができる。
また、上述した各実施形態によれば、パスフレーズ等の入力値を少し変えただけで、全く異なったパスワードが生成されるので、安全性の高いパスワードを容易に生成することができる。
また、上述した実施形態によれば、既存の認証システムのパスワードに関する仕様に制約を受けず、且つ、既存の認証システムを変更せずに活用したまま、安全性の高いパスワードを容易に生成することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、上述した実施形態は、任意に組み合わせて実施してもよい。
パスワード生成装置(コンピュータ)のハードウェア構成の一例を示す図である。 パスワード生成装置の機能構成の一例を示す図である。 辞書列決定部の構成の一例を示す図である。 辞書順序決定部の構成の一例を示す図である。 新辞書列生成部における処理の一例を説明するための図である。 パスワード生成部の構成の一例を示す図である。 パスワード生成処理の一例を示すフローチャートである。 辞書列決定処理の一例を示すフローチャートである。 辞書順序決定処理の一例を示すフローチャートである。 パスワード生成処理の一例を示すフローチャートである。
符号の説明
1 パスワード生成装置
11 CPU
12 入力装置
13 記憶装置
14 表示装置

Claims (8)

  1. 入力された入力値に対して一方向関数を適用し、値を求める一方向関数適用手段と、
    パスワードを生成するパスワード生成手段と、
    を有し、
    前記パスワード生成手段は、
    前記一方向関数適用手段において求められた前記値を、パスワード要素の決定に用いられる辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する前記辞書の要素を用いてパスワード要素を決定するパスワード要素決定手段と、
    前記パスワード要素決定手段がパスワードを構成する要素分のパスワード要素を決定したか否かを判定し、パスワードを構成する要素分のパスワード要素を決定していないと判定した場合、前記パスワード要素決定手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、パスワード要素の決定に用いられる辞書と、を用いて、前記パスワード要素決定手段で、次のパスワード要素を決定するよう制御するパスワード生成制御手段と、
    を有することを特徴とするパスワード生成装置。
  2. 辞書列を構成する辞書の順序を決定する辞書順序決定手段を更に有し、
    前記パスワード生成制御手段は、パスワードを構成する要素分のパスワード要素を決定していないと判定した場合、前記パスワード要素決定手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、前記辞書順序決定手段で決定された前記辞書列を構成する辞書の順序に基づき前記パスワード要素決定手段で用いられた辞書の次の順序の辞書と、を用いて、前記パスワード要素決定手段で、次のパスワード要素を決定するよう制御することを特徴とする請求項1に記載のパスワード生成装置。
  3. 前記辞書順序決定手段は、
    前記一方向関数適用手段において求められた前記値を、辞書列の大きさで割って余りを求め、求めた余りの数値に位置する辞書を前記辞書列から取り出し、取り出した辞書を新たな辞書列に追加する新辞書列生成手段と、
    前記新辞書列生成手段が前記辞書列の辞書を全て前記新たな辞書列に追加したか否かを判定し、前記辞書列の辞書を全て前記新たな辞書列に追加していないと判定した場合、前記新辞書列生成手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、前記取り出した辞書分、前記辞書列における辞書の並びを前に詰めた辞書列と、を用いて、前記新辞書列生成手段で、前記辞書列から辞書を取り出し、取り出した辞書を前記新たな辞書列に追加するよう制御し、前記新たな辞書列の並びを辞書の順序とする新辞書列生成制御手段と、
    を有することを特徴とする請求項2に記載のパスワード生成装置。
  4. 辞書列を構成する辞書を決定する辞書決定手段を更に有し、
    前記辞書順序決定手段は、前記辞書決定手段において決定された辞書列を構成する辞書の順序を決定することを特徴とする請求項2又は3に記載のパスワード生成装置。
  5. 前記辞書決定手段は、
    前記辞書列に含まれる辞書の種類と、数値と、を対応付ける対応付け手段と、
    前記一方向関数適用手段において求められた前記値を、前記辞書列を構成する辞書の種類の数で割って余りを求め、求めた余りの数値に対応する種類の辞書を辞書列に追加する辞書追加手段と、
    前記辞書追加手段がパスワードを構成するパスワード要素分の辞書を前記辞書列に追加したか否かを判定し、パスワードを構成するパスワード要素分の辞書を前記辞書列に追加していないと判定した場合、前記辞書追加手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、前記辞書列を構成する辞書の種類の数と、を用いて、前記辞書追加手段で、余りを求め、求めた余りの数値に対応する種類の辞書を辞書列に追加するよう制御する辞書追加制御手段と、
    を有することを特徴とする請求項4に記載のパスワード生成装置。
  6. 前記パスワード生成制御手段が生成したパスワードを表示する表示制御手段を更に有することを特徴とする請求項1乃至5の何れか1項に記載のパスワード生成装置。
  7. 入力された入力値に対して一方向関数を適用し、値を求める一方向関数適用手段を有するパスワード生成装置におけるパスワード生成方法であって、
    前記一方向関数適用手段において求められた前記値を、パスワード要素の決定に用いられる辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する前記辞書の要素を用いてパスワード要素を決定するパスワード要素決定ステップと、
    前記パスワード要素決定ステップにおいてパスワードを構成する要素分のパスワード要素を決定したか否かを判定し、パスワードを構成する要素分のパスワード要素を決定していないと判定した場合、前記パスワード要素決定ステップで用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、パスワード要素の決定に用いられる辞書と、を用いて、前記パスワード要素決定ステップの処理を再び実行し、次のパスワード要素を決定するよう制御するパスワード生成制御ステップと、
    を有することを特徴とするパスワード生成方法。
  8. コンピュータを、
    入力された入力値に対して一方向関数を適用し、値を求める一方向関数適用手段と、
    パスワードを生成するパスワード生成手段と、
    して機能させ、
    前記パスワード生成手段は、
    前記一方向関数適用手段において求められた前記値を、パスワード要素の決定に用いられる辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する前記辞書の要素を用いてパスワード要素を決定するパスワード要素決定手段と、
    前記パスワード要素決定手段がパスワードを構成する要素分のパスワード要素を決定したか否かを判定し、パスワードを構成する要素分のパスワード要素を決定していないと判定した場合、前記パスワード要素決定手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、パスワード要素の決定に用いられる辞書と、を用いて、前記パスワード要素決定手段で、次のパスワード要素を決定するよう制御するパスワード生成制御手段と、
    を有することを特徴とするプログラム。
JP2007279442A 2007-10-26 2007-10-26 パスワード生成装置、パスワード生成方法及びプログラム Expired - Fee Related JP5258258B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007279442A JP5258258B2 (ja) 2007-10-26 2007-10-26 パスワード生成装置、パスワード生成方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007279442A JP5258258B2 (ja) 2007-10-26 2007-10-26 パスワード生成装置、パスワード生成方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2009110112A true JP2009110112A (ja) 2009-05-21
JP5258258B2 JP5258258B2 (ja) 2013-08-07

Family

ID=40778569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007279442A Expired - Fee Related JP5258258B2 (ja) 2007-10-26 2007-10-26 パスワード生成装置、パスワード生成方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5258258B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015509632A (ja) * 2012-03-02 2015-03-30 テンセント テクノロジー (シェンジェン) カンパニー リミテッド ログイン方法及びログイン装置、端末並びにネットワークサーバー
CN114338015A (zh) * 2022-01-05 2022-04-12 北京华云安信息技术有限公司 一种密码字典生成方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166005A (ja) * 1997-08-25 1999-03-09 Sharp Corp パスワード生成装置及びパスワード通信システム
JP2007035041A (ja) * 2005-07-26 2007-02-08 Internatl Business Mach Corp <Ibm> 複数の認証を管理するクライアントベースの方法、システム、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166005A (ja) * 1997-08-25 1999-03-09 Sharp Corp パスワード生成装置及びパスワード通信システム
JP2007035041A (ja) * 2005-07-26 2007-02-08 Internatl Business Mach Corp <Ibm> 複数の認証を管理するクライアントベースの方法、システム、およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015509632A (ja) * 2012-03-02 2015-03-30 テンセント テクノロジー (シェンジェン) カンパニー リミテッド ログイン方法及びログイン装置、端末並びにネットワークサーバー
CN114338015A (zh) * 2022-01-05 2022-04-12 北京华云安信息技术有限公司 一种密码字典生成方法、装置、设备及存储介质
CN114338015B (zh) * 2022-01-05 2024-03-29 北京华云安信息技术有限公司 一种密码字典生成方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP5258258B2 (ja) 2013-08-07

Similar Documents

Publication Publication Date Title
CN109076072B (zh) Web服务图片密码
US10015163B2 (en) Apparatus and method for cryptographic operations using enhanced knowledge factor credentials
JP2008236016A (ja) 情報処理装置、情報処理方法、およびそのプログラム
US9288204B1 (en) Apparatus and method for cryptographic operations using enhanced knowledge factor credentials
US20170063393A1 (en) Apparatus and method for cryptographic operations using enhanced knowledge factor credentials
CN110635914A (zh) 一种弱口令检测方法及检测系统
KR102092714B1 (ko) 키 입력 보안 방법
JP5258258B2 (ja) パスワード生成装置、パスワード生成方法及びプログラム
TW201712204A (zh) 輸入驗證方法、輸入驗證系統及具有輸入驗證系統之鎖具
US20200233997A1 (en) Image processing apparatus capable of merging character strings with original image, control method therefor, and storage medium
JP2020523719A (ja) 多言語キーボードシステム
KR20160007404A (ko) 입력 데이터에 대한 피드백을 제공하기 위한 장치 및 방법
JP6156055B2 (ja) 画面生成装置、認証システムおよびプログラム
JP6214308B2 (ja) 画像形成装置及び方法、並びにプログラム
US9613019B2 (en) Techniques for automatically generating test data
KR101742523B1 (ko) 패스워드 추천 방법 및 그 장치
US20160292402A1 (en) Password input method and system based on two-stage conversion
WO2018130852A1 (en) Improved authentication
JP2007257176A (ja) 情報処理方法、情報処理装置、および情報処理プログラム
JP2016110395A5 (ja)
JP6144438B1 (ja) 情報処理装置、情報処理システム、情報処理方法、及びコンピュータプログラム
JP2009211143A (ja) 情報処理装置および情報処理プログラム
JP6505182B2 (ja) 画像形成装置及び方法、並びにプログラム
JP2017091383A (ja) 画像形成装置、画像形成方法及び画像形成プログラム
JP6535978B2 (ja) 文字入力装置、文字入力方法、及び文字入力プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130423

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees