JP5258258B2 - Password generating apparatus, password generating method and program - Google Patents

Password generating apparatus, password generating method and program Download PDF

Info

Publication number
JP5258258B2
JP5258258B2 JP2007279442A JP2007279442A JP5258258B2 JP 5258258 B2 JP5258258 B2 JP 5258258B2 JP 2007279442 A JP2007279442 A JP 2007279442A JP 2007279442 A JP2007279442 A JP 2007279442A JP 5258258 B2 JP5258258 B2 JP 5258258B2
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.)
Expired - Fee Related
Application number
JP2007279442A
Other languages
Japanese (ja)
Other versions
JP2009110112A (en
Inventor
浩久 生野
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/en
Publication of JP2009110112A publication Critical patent/JP2009110112A/en
Application granted granted Critical
Publication of JP5258258B2 publication Critical patent/JP5258258B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、パスワード生成装置、パスワード生成方法及びプログラムに関する。   The present invention relates to a password generation device, a password generation method, and a program.

簡単な入力方法で認証用の特徴を含む元データを入力し、入力された元データの特徴を損なうことなくデータ処理をしてパスワードを生成する装置がある(特許文献1参照)。   There is an apparatus that inputs original data including a feature for authentication by a simple input method and generates a password by performing data processing without impairing the feature of the input original data (see Patent Document 1).

また、パスワードを用いた認証においてセキュリティを高めるためには、
(1)文字、数字、記号等の多様なパスワード要素を均等に配置したパスワードにする
(2)パスワードを長くする
必要があった。
In order to increase security in password authentication,
(1) A password in which various password elements such as letters, numbers, symbols, etc. are evenly arranged is used. (2) It is necessary to lengthen the password.

特開平11−66005号公報JP-A-11-66005

しかしながら、特許文献1の技術は、特許文献1の段落番号0021に記載されているように、mビット列の数値の最大値が辞書テーブルのサイズと等しくなるようにmを設定する必要があった。つまり、巨大な用語辞書テーブルを用意しなくてはならなかった。しかしながら、用語辞書の構成要素は限られるため、非常に冗長な用語辞書テーブルとなり、生成されるパスワードに用語辞書の構成要素に係る偏りが生じ、パスワードに関する安全性上、問題があった。   However, in the technique of Patent Document 1, as described in paragraph No. 0021 of Patent Document 1, it is necessary to set m so that the maximum value of the m-bit string is equal to the size of the dictionary table. In other words, a huge term dictionary table had to be prepared. However, since the constituent elements of the term dictionary are limited, the term dictionary table becomes very redundant, and the generated password is biased with respect to the constituent elements of the term dictionary, and there has been a problem in terms of security regarding the password.

更に、特許文献1の技術は、
m≧(パスワードパラメータ)/(既存の認証システムのパスワードの文字数)
を満たす必要があった。
(パスワードパラメータ)/(既存の認証システムのパスワードの文字数)
が必ず割り切れるとは限らず、この場合、構成要素が「(パスワードパラメータ)/(既存の認証システムのパスワードの文字数)」よりも大きな辞書を使用する必要があった。そのため、辞書の構成要素において絶対に使用しない構成要素が出てくるので、生成されるパスワードに用語辞書の構成要素に係る偏りが生じ、パスワードに関する安全性に問題があった。
Furthermore, the technology of Patent Document 1
m ≧ (password parameter) / (number of characters in the password of the existing authentication system)
It was necessary to satisfy.
(Password parameter) / (Number of characters in the password of the existing authentication system)
In this case, it is necessary to use a dictionary whose component is larger than “(password parameter) / (number of characters of password of existing authentication system)”. For this reason, constituent elements that are never used appear in the constituent elements of the dictionary. Therefore, the generated password is biased with respect to the constituent elements of the term dictionary, and there is a problem regarding the security regarding the password.

また、上述した従来技術の(1)及び(2)を満たすことと、覚えやすいパスワードとは相反し、両立することができない問題があった。   Further, satisfying the above-described conventional techniques (1) and (2) and a password that is easy to remember are contradictory, and there is a problem that they cannot be compatible.

本発明はこのような問題点に鑑みなされたもので、覚えやすい入力値に対して、安全性の高いパスワードを生成することを目的とする。   The present invention has been made in view of such problems, and an object of the present invention is to generate a highly secure password for an easily memorized input value.

そこで、本発明のパスワード生成装置は、辞書列を構成する辞書の順序を決定する辞書順序決定手段と、入力された入力値に対して一方向関数を適用し、値を求める一方向関数適用手段と、パスワードを生成するパスワード生成手段と、を有し、前記パスワード生成手段は、前記一方向関数適用手段において求められた前記値を、パスワード要素の決定に用いられる辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する前記辞書の要素を用いてパスワード要素を決定するパスワード要素決定手段と、前記パスワード要素決定手段がパスワードを構成する要素分のパスワード要素を決定したか否かを判定し、パスワードを構成する要素分のパスワード要素を決定していないと判定した場合、前記パスワード要素決定手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、前記辞書順序決定手段で決定された前記辞書列を構成する辞書の順序に基づき前記パスワード要素決定手段で用いられた辞書の次の順序の辞書と、を用いて、前記パスワード要素決定手段で、次のパスワード要素を決定するよう制御するパスワード生成制御手段と、を有することを特徴とする。 Accordingly, the password generation device of the present invention includes a dictionary order determining unit that determines the order of the dictionaries constituting the dictionary sequence, and a one-way function applying unit that applies a one-way function to the input value that is input and obtains the value. And a password generating means for generating a password, wherein the password generating means determines the value obtained by the one-way function applying means as the number of elements constituting a dictionary used for determining a password element. Dividing to obtain a remainder, password element determination means for determining a password element using the dictionary element corresponding to the calculated remainder, and the password element determination means has determined the password elements for the elements constituting the password If it is determined that the password elements for the elements constituting the password have not been determined, the password element determination means The input to the one-way function application means the value had as an input value, used in the obtained value and the password element determination means based on the order of dictionary constituting the dictionary sequence determined in the dictionary order determination means and the following sequence of dictionary of the dictionary that is, by using, in the password element determination means and Rukoto to have a, a password generation control means for controlling so as to determine the next password element.

係る構成とすることにより、例えば、入力値に対して一方向関数を適用し、値を求め、求めた値を、辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する辞書の要素を用いてパスワード要素を決定し、次のパスワード要素を決定するに際し、前記値を入力値として、前記入力値に対して一方向関数を適用し、値を求め、求めた値を、辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する辞書の要素を用いてパスワード要素を決定する。このような処理を繰り返すことによって、辞書の構成要素に係る偏りが生じないパスワードを生成するので、覚えやすい入力値に対して、安全性の高いパスワードを生成することができる。   By adopting such a configuration, for example, a one-way function is applied to the input value, a value is obtained, and the obtained value is divided by the number of elements constituting the dictionary to obtain a remainder, and the obtained remainder is obtained as a numerical value. A password element is determined using a corresponding dictionary element, and when the next password element is determined, the value is used as an input value, a one-way function is applied to the input value, and a value is obtained. Is divided by the number of elements constituting the dictionary to obtain a remainder, and a password element is determined using a dictionary element corresponding to the obtained remainder. By repeating such a process, a password that does not cause bias in the components of the dictionary is generated. Therefore, a highly secure password can be generated for easily remembered input values.

ここで、一方向関数とは、例えば後述するハッシュ関数等に対応する。また、一方向関数を適用し求める値とは、例えば後述するハッシュ値等に対応する。   Here, the one-way function corresponds to, for example, a hash function described later. The value obtained by applying the one-way function corresponds to, for example, a hash value described later.

また、本発明は、パスワード生成方法及びプログラムとしてもよい。   The present invention may be a password generation method and program.

本発明によれば、覚えやすい入力値に対して、安全性の高いパスワードを生成することができる。   According to the present invention, a highly secure password can be generated for an input value that is easy to remember.

以下、本発明の実施形態について図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

<実施形態1>
図1は、パスワード生成装置(コンピュータ)のハードウェア構成の一例を示す図である。図1に示されるようにパスワード生成装置1は、ハードウェア構成として、CPU11を含む。
CPU11が、記憶装置13に記憶されている、プログラムに基づき処理を行うことによって、後述する機能、又はフローチャートを実現する。
<Embodiment 1>
FIG. 1 is a diagram illustrating an example of a hardware configuration of a password generation device (computer). As shown in FIG. 1, the password generation device 1 includes a CPU 11 as a hardware configuration.
The CPU 11 performs processing based on a program stored in the storage device 13 to realize functions or flowcharts described later.

また、CPU11には、バス10を介して、入力装置12、記憶装置13及び表示装置14が接続されている。記憶装置13は、例えば、ROM、RAM、ハードディスク装置等からなり、上述した各プログラム以外に、プログラムに基づく処理で用いられるデータ(例えば後述する辞書等)を記憶する。表示装置14は、情報を表示する例えばディスプレイ等である。入力装置12は、情報を入力する例えば操作キー等である。
なお、パスワード生成装置1のより具体的な一例としては、スマートカードや、セキュリティハードウェアトークン等である。
In addition, an input device 12, a storage device 13, and a display device 14 are connected to the CPU 11 via the bus 10. The storage device 13 includes, for example, a ROM, a RAM, a hard disk device, and the like, and stores data (for example, a dictionary described later) used in processing based on the program in addition to the above-described programs. The display device 14 is, for example, a display that displays information. The input device 12 is, for example, an operation key for inputting information.
A more specific example of the password generation device 1 is a smart card, a security hardware token, or the like.

図2は、パスワード生成装置の機能構成の一例を示す図である。図2に示されるように、パスワード生成装置1は、機能構成として、表示制御部21と、パスフレーズ取得部22と、ハッシュ関数適用部23と、辞書列決定部24と、辞書順序決定部25と、パスワード生成部26と、を含む。   FIG. 2 is a diagram illustrating an example of a functional configuration of the password generation device. As shown in FIG. 2, the password generation device 1 includes a display control unit 21, a passphrase acquisition unit 22, a hash function application unit 23, a dictionary sequence determination unit 24, and a dictionary order determination unit 25 as functional configurations. And a password generation unit 26.

表示制御部21は、画面等の表示装置14への表示を制御する。例えば、画面の例としては、パスフレーズの入力に係るパスフレーズ入力画面や、生成されたパスワードの表示に係るパスワード表示画面等である。パスフレーズ取得部22は、パスフレーズ入力画面等を介して入力されたパスフレーズを取得する。   The display control unit 21 controls display on the display device 14 such as a screen. For example, examples of the screen include a passphrase input screen for inputting a passphrase, a password display screen for displaying a generated password, and the like. The passphrase acquisition unit 22 acquires a passphrase input via a passphrase input screen or the like.

ハッシュ関数適用部23は、入力値に対してハッシュ関数を適用してハッシュ値を得る。ここで、入力値としては、パスフレーズ取得部22が取得したパスフレーズ、又はハッシュ値等がある。   The hash function application unit 23 obtains a hash value by applying a hash function to the input value. Here, the input value includes a passphrase acquired by the passphrase acquiring unit 22 or a hash value.

辞書列決定部24は、生成するパスワードの要素分(パスワード要素分)の辞書列を決定する。なお、本実施形態では、辞書の種類として、アルファベットの小文字(以下、単に小文字という)、アルファベットの大文字(以下、単に大文字という)、数字、の3種類を例に説明を行う。辞書列決定部24の詳細は、後述する図3に示す。
なお、ここで、パスワードの要素とは、パスワードを構成する要素のことをいう。例えば、パスワードが「C3gM14tT」の場合、「C」や、「3」、「g」、「M」、「1」、「4」、「t」、「T」がパスワードの要素である。また、辞書列とは、上述のような多様な辞書の種類を要素とした行列である。
The dictionary sequence determination unit 24 determines a dictionary sequence for the generated password elements (password elements). In the present embodiment, description will be made by taking three types of dictionaries as an example: alphabet lower case letters (hereinafter simply referred to as lower case letters), alphabet upper case letters (hereinafter simply referred to as upper case letters), and numbers. Details of the dictionary string determination unit 24 are shown in FIG.
Here, the element of the password means an element constituting the password. For example, when the password is “C3gM14tT”, “C”, “3”, “g”, “M”, “1”, “4”, “t”, and “T” are elements of the password. The dictionary string is a matrix having various dictionary types as described above as elements.

辞書順序決定部25は、辞書決定部24で決定された辞書列の辞書の順序(並び)を決定する。辞書順序決定部25の詳細は、後述する図4に示す。
パスワード生成部26は、辞書順序決定部25で決定された辞書の順序の辞書列を用いてパスワードを生成する。パスワード生成部26の詳細は、後述する図6に示す。
The dictionary order determining unit 25 determines the dictionary order (arrangement) of the dictionary sequence determined by the dictionary determining unit 24. Details of the dictionary order determination unit 25 are shown in FIG.
The password generation unit 26 generates a password using the dictionary sequence in the dictionary order determined by the dictionary order determination unit 25. Details of the password generation unit 26 are shown in FIG.

図3は、辞書列決定部の構成の一例を示す図である。
辞書列決定部24は、辞書・数値対応付け部31と、辞書追加部32と、辞書追加制御部33と、を含む。
FIG. 3 is a diagram illustrating an example of the configuration of the dictionary sequence determination unit.
The dictionary sequence determination unit 24 includes a dictionary / numerical value association unit 31, a dictionary addition unit 32, and a dictionary addition control unit 33.

辞書・数値対応付け部31は、辞書の種類と、数値と、を対応付ける。
辞書・数値対応付け部31は、例えば、
小文字:0
大文字:1
数字:2
等と、辞書の種類と、数値と、を対応付ける。
なお、本実施形態では、辞書・数値対応付け部31が、辞書の種類と、数値と、を対応付けるよう説明を行う。しかしながら、予め、辞書の種類と、数値と、を対応付けてプログラミングしてパスワード生成装置1にアプリケーション等を実装してもよいし、予め、辞書の種類と、数値と、を対応付けたファイル等を記憶装置13等に記憶させておき、辞書追加部32は、このファイルを参照するようにしてもよい。
The dictionary / numerical value association unit 31 associates a dictionary type with a numerical value.
The dictionary / numerical value association unit 31 is, for example,
Lower case: 0
Capital letter: 1
Number: 2
Etc. are associated with a dictionary type and a numerical value.
In the present embodiment, the dictionary / numerical value association unit 31 is described so as to associate the dictionary type with the numerical value. However, an application or the like may be implemented in the password generation apparatus 1 by programming in advance by associating the dictionary type with the numerical value, or a file in which the dictionary type and the numerical value are associated in advance. May be stored in the storage device 13 or the like, and the dictionary adding unit 32 may refer to this file.

辞書追加部32は、例えば対象としている認証システム等で必要とされる辞書を辞書列に用意(追加)すると共に、ハッシュ値を辞書の種類の数(本実施形態の例では3)で割り、余りの数値に対応する種類の辞書を辞書列に追加する。
辞書追加部32は、例えば、対象としている認証システム等で必要とされる辞書が小文字、大文字、数字の場合、辞書列に
辞書列:「小文字、大文字、数字」
を用意する。
そして、辞書追加部32は、ハッシュ値を辞書の種類の数(本実施形態の例では3)で割り、余りの数値が例えば2であった場合、以下に示すように数字の辞書を辞書列に追加する。
辞書列:「小文字、大文字、数字、数字」
なお、以下では、簡略化のため、辞書列において、小文字は「小」、大文字は「大」、数字は「数」と記載する。
The dictionary addition unit 32 prepares (adds), for example, a dictionary required by the target authentication system or the like, and divides the hash value by the number of types of dictionary (3 in the example of the present embodiment) Add a dictionary of the type corresponding to the remainder to the dictionary string.
For example, if the dictionary required by the target authentication system is lowercase letters, uppercase letters, and numbers, the dictionary addition unit 32 includes a dictionary string: “lowercase letters, uppercase letters, and numbers”.
Prepare.
Then, the dictionary adding unit 32 divides the hash value by the number of types of dictionary (3 in the example of the present embodiment), and when the remaining numerical value is 2, for example, a dictionary of numbers is converted into a dictionary string as shown below. Add to
Dictionary string: "Lowercase letters, uppercase letters, numbers, numbers"
In the following, for the sake of simplicity, lowercase letters are described as “small”, uppercase letters as “large”, and numbers as “numbers” for simplicity.

ここで、辞書追加部32が用意する辞書の情報は、例えば認証システム等より取得してもよいし、パスフレーズと同様、ユーザに入力させるようにしてもよい。また、本実施形態では、辞書追加部32は、辞書を辞書列に用意(追加)するものとして説明を行うが、例えば認証システムやユーザ等が、必要とする辞書を指定しない場合、必ずしも辞書を辞書列に用意する必要は無い。つまり、辞書追加部32は、ハッシュ値を辞書の種類の数(本実施形態の例では3)で割り、余りの数値に対応する種類の辞書を辞書列に追加していくだけでもよい。この場合、辞書の種類の数は、例えば、予めファイル等に記載しておいてもよいし、パスフレーズと同様、ユーザに入力させるようにしてもよい。   Here, the dictionary information prepared by the dictionary adding unit 32 may be acquired from, for example, an authentication system, or may be input by the user in the same manner as a passphrase. In the present embodiment, the dictionary adding unit 32 is described as preparing (adding) a dictionary to a dictionary string. However, for example, if the authentication system or the user does not specify a required dictionary, the dictionary is not necessarily used. There is no need to prepare the dictionary string. That is, the dictionary adding unit 32 may simply divide the hash value by the number of types of dictionary (3 in the example of the present embodiment) and add a dictionary of a type corresponding to the remaining numerical value to the dictionary string. In this case, the number of types of dictionaries may be described in advance in a file or the like, for example, or may be input by the user as with a passphrase.

辞書追加制御部33は、辞書追加部32が用いた前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を辞書追加部32に入力して、上述したように辞書を辞書列に追加させるよう制御する処理を、辞書列がパスワード要素数分の辞書を持つまで繰り返すよう制御する。ここで、パスワードの要素数は、例えば、予めファイル等に記載しておいてもよいし、パスフレーズと同様、ユーザに入力させるようにしてもよい。
例えば、パスワードの要素数が8で、辞書列が「小文字、大文字、数字、数字」あった場合、辞書追加制御部33は、後4回辞書を辞書列に追加するよう辞書追加部32を制御し、辞書列を決定(又は生成)する。本実施形態では、例えば、辞書列は以下のようになったものとする。
辞書列:「小、大、数、数、大、大、数、小」
The dictionary addition control unit 33 gives the hash value used by the dictionary addition unit 32 as an input value to the hash function application unit 23, receives the hash value output by the hash function application unit 23, and receives the received hash value as a dictionary addition unit. The process of inputting to 32 and controlling the dictionary to be added to the dictionary string as described above is repeated until the dictionary string has as many dictionaries as the number of password elements. Here, the number of elements of the password may be described in a file or the like in advance, for example, or may be input by the user as with the passphrase.
For example, if the number of password elements is 8 and the dictionary string is “lowercase letters, uppercase letters, numbers, numbers”, the dictionary addition control unit 33 controls the dictionary addition unit 32 to add the dictionary to the dictionary sequence four times later. Then, the dictionary string is determined (or generated). In the present embodiment, for example, it is assumed that the dictionary string is as follows.
Dictionary string: “Small, Large, Number, Number, Large, Large, Number, Small”

図4は、辞書順序決定部の構成の一例を示す図である。
図4に示されるように、辞書順序決定部25は、新辞書列生成部41と、新辞書列生成制御部42と、を含む。
FIG. 4 is a diagram illustrating an example of the configuration of the dictionary order determination unit.
As shown in FIG. 4, the dictionary order determination unit 25 includes a new dictionary sequence generation unit 41 and a new dictionary sequence generation control unit 42.

新辞書列生成部41は、入力されたハッシュ値を、入力された辞書列の大きさで割り、余りの数値に位置する辞書を辞書列から取り出し、新しい辞書列に追加する。そして、新辞書列生成部41は、元の辞書列の辞書の順序を、辞書を取り出した分、前に詰める。なお、新辞書列生成部41は、まず辞書列決定部24で用いられた前記ハッシュ値を入力値として例えば辞書列決定部24より受け取る。   The new dictionary string generation unit 41 divides the input hash value by the size of the input dictionary string, extracts the dictionary located at the remainder of the number from the dictionary string, and adds it to the new dictionary string. Then, the new dictionary string generation unit 41 prepends the dictionary order of the original dictionary string by the amount of the extracted dictionary. The new dictionary sequence generation unit 41 first receives the hash value used by the dictionary sequence determination unit 24 as an input value from the dictionary sequence determination unit 24, for example.

ここで、図5は、新辞書列生成部における処理の一例を説明するための図である。
ここで、辞書列決定部24で決定された辞書列が上述したように、
辞書列:「小、大、数、数、大、大、数、小」
0、1、2、3、4、5、6、7
であるものとする。
新辞書列生成部41は、例えば、入力されたハッシュ値を入力された辞書列の大きさ(前記辞書列の場合8)で割った余りが4の場合、4に位置する辞書(「大」)を辞書列から取り出し、新しい辞書列に追加する。そして、新辞書列生成部41は、元の辞書列の辞書の順序を、辞書を取り出した分、前に詰める。
Here, FIG. 5 is a diagram for explaining an example of processing in the new dictionary sequence generation unit.
Here, as described above, the dictionary sequence determined by the dictionary sequence determination unit 24 is as follows.
Dictionary string: “Small, Large, Number, Number, Large, Large, Number, Small”
0, 1, 2, 3, 4, 5, 6, 7
Suppose that
For example, when the remainder obtained by dividing the input hash value by the size of the input dictionary string (8 in the case of the dictionary string) is 4, the new dictionary string generation unit 41 has a dictionary located at 4 (“large”). ) From the dictionary column and add it to the new dictionary column. Then, the new dictionary string generation unit 41 prepends the dictionary order of the original dictionary string by the amount of the extracted dictionary.

再び図4の説明に戻り、新辞書列生成制御部42は、新辞書列生成部41が用いた前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を新辞書列生成部41に入力すると共に、前記辞書の順序を前に詰めた元の辞書列を新辞書列生成部41に入力し、上述したように新辞書列に辞書を追加させるよう制御する処理を、元の辞書列から辞書がなくなるまで繰り返すよう制御する。本実施形態では、例えば、新しい辞書列は以下のようになったものとする。
新しい辞書列:「大、数、小、大、数、数、小、大」
Returning to the description of FIG. 4 again, the new dictionary sequence generation control unit 42 gives the hash value used by the new dictionary sequence generation unit 41 to the hash function application unit 23 as an input value, and the hash function application unit 23 outputs the hash. A value is received and the received hash value is input to the new dictionary sequence generation unit 41, and the original dictionary sequence in which the order of the dictionary is prepended is input to the new dictionary sequence generation unit 41. Control is performed to repeat the process of adding a dictionary to a column until there are no more dictionaries in the original dictionary column. In the present embodiment, for example, it is assumed that a new dictionary string is as follows.
New dictionary string: “Large, Number, Small, Large, Number, Number, Small, Large”

図6は、パスワード生成部の構成の一例を示す図である。
図6に示されるように、パスワード生成部26は、辞書内容・数値対応付け部51と、パスワード要素決定部52と、パスワード生成制御部53と、を含む。
FIG. 6 is a diagram illustrating an example of the configuration of the password generation unit.
As shown in FIG. 6, the password generation unit 26 includes a dictionary content / numerical value association unit 51, a password element determination unit 52, and a password generation control unit 53.

辞書内容・数値対応付け部51は、辞書の内容(辞書の要素)と、数値と、を対応付ける。例えば、大文字の辞書の場合、辞書内容・数値対応付け部51は、
Aと0、Bと1、Cと2、・・・、Zと25
等と辞書の内容と、数値と、を対応付ける。また、小文字の辞書の場合も、辞書内容・数値対応付け部51は、同様に辞書の内容と、数値と、を対応付ける。
なお、本実施形態では、辞書内容・数値対応付け部51が、辞書の内容と、数値と、を対応付けるよう説明を行う。しかしながら、予め、辞書の内容と、数値と、を対応付けてプログラミングしてパスワード生成装置1にアプリケーション等を実装してもよいし、予め、辞書の内容と、数値と、を対応付けたファイル等を記憶装置13等に記憶させておき、パスワード要素決定部52は、このファイルを参照するようにしてもよい。
なお、辞書が数字の場合、辞書内容・数値対応付け部51は、対応付けの処理を行わない。
The dictionary contents / numerical value association unit 51 associates the contents of the dictionary (elements of the dictionary) with the numerical values. For example, in the case of an uppercase dictionary, the dictionary content / numerical value association unit 51
A and 0, B and 1, C and 2, ..., Z and 25
Are associated with the contents of the dictionary and the numerical values. In the case of a lowercase dictionary, the dictionary contents / numerical value association unit 51 similarly associates the contents of the dictionary with the numerical values.
In the present embodiment, the description is made so that the dictionary content / numerical value association unit 51 associates the contents of the dictionary with the numerical values. However, an application or the like may be implemented in the password generation apparatus 1 by programming the contents of the dictionary in association with the numerical values in advance, or a file in which the contents of the dictionary are associated with the numerical values in advance. May be stored in the storage device 13 or the like, and the password element determination unit 52 may refer to this file.
When the dictionary is a number, the dictionary content / numerical value association unit 51 does not perform the association process.

パスワード要素決定部52は、入力されたハッシュ値を、入力された辞書の大きさ(辞書を構成する要素の数)で割り、余りの数値に対応する文字をパスワードの要素として決定する。例えば入力された辞書が大文字の場合、パスワード要素決定部52は、入力されたハッシュ値を、大文字の辞書の大きさ(26)で割る。そして、例えば余りが2の場合、パスワード要素決定部52は、余りの数値2に対応する文字Cをパスワードの要素として決定する。   The password element determination unit 52 divides the input hash value by the size of the input dictionary (the number of elements constituting the dictionary), and determines a character corresponding to the remaining numerical value as a password element. For example, when the input dictionary is uppercase, the password element determination unit 52 divides the input hash value by the size (26) of the uppercase dictionary. For example, when the remainder is 2, the password element determination unit 52 determines the character C corresponding to the remainder 2 as a password element.

パスワード生成制御部53は、パスワード要素決定部52が用いた前記ハッシュ値を入力値としてハッシュ関数提供部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値をパスワード要素決定部52に入力すると共に、辞書順序決定部25が決定した辞書の順序に基づいて、次の辞書をパスワード要素決定部52に入力し、上述したようにパスワード要素を決定するよう制御する処理を、辞書列の辞書分繰り返すよう制御する。本実施形態では、例えばパスワードを以下のようになったものとする。
パスワード:「C3gM14tT」
The password generation control unit 53 gives the hash value used by the password element determination unit 52 as an input value to the hash function providing unit 23, receives the hash value output by the hash function application unit 23, and uses the received hash value as the password element A process of inputting to the determination unit 52 and inputting the next dictionary to the password element determination unit 52 based on the dictionary order determined by the dictionary order determination unit 25 and controlling to determine the password element as described above. Then, control is performed so that the number of dictionaries in the dictionary sequence is repeated. In the present embodiment, for example, it is assumed that the password is as follows.
Password: “C3gM14tT”

以下、フローチャートを用いて、パスワード生成処理の一例を説明する。
図7は、パスワード生成処理の一例を示すフローチャートである。
ステップS10において、パスフレーズ取得部22は、パスフレーズ入力画面等を介して入力されたパスフレーズを取得する。
Hereinafter, an example of password generation processing will be described using a flowchart.
FIG. 7 is a flowchart illustrating an example of the password generation process.
In step S10, the passphrase acquisition unit 22 acquires the passphrase input via the passphrase input screen or the like.

ステップS11において、ハッシュ関数適用部23及び辞書列決定部24は、パスワード要素分の辞書列を決定する。なお、ステップS11の処理の詳細は、後述する図8に示す。
ステップS12において、ハッシュ関数適用部23及び辞書順序決定部25は、ステップS11で決定された辞書列の辞書の順序(並び)を決定する。なお、ステップS12の処理の詳細は、後述する図9に示す。
In step S11, the hash function application unit 23 and the dictionary sequence determination unit 24 determine a dictionary sequence for the password element. Details of the processing in step S11 are shown in FIG.
In step S12, the hash function application unit 23 and the dictionary order determination unit 25 determine the dictionary order (arrangement) of the dictionary string determined in step S11. Details of the processing in step S12 are shown in FIG.

ステップS13において、ハッシュ関数適用部23及びパスワード生成部26は、ステップS12で決定された辞書の順序の辞書列を用いてパスワードを生成する。なお、ステップS13の処理の詳細は、後述する図10に示す。   In step S13, the hash function application unit 23 and the password generation unit 26 generate a password using the dictionary sequence in the dictionary order determined in step S12. Details of the processing in step S13 are shown in FIG.

図8は、辞書列決定処理の一例を示すフローチャートである。
ステップS20において、ハッシュ関数適用部23は、ステップS10でパスフレーズ取得部22が取得したパスフレーズを入力値として受け取り、ハッシュ関数を適用し、ハッシュ値を得る。ハッシュ関数適用部23は、得たハッシュ値を入力値としてハッシュ関数適用部23に渡す。
FIG. 8 is a flowchart illustrating an example of the dictionary sequence determination process.
In step S20, the hash function application unit 23 receives the passphrase acquired by the passphrase acquisition unit 22 in step S10 as an input value, applies a hash function, and obtains a hash value. The hash function application unit 23 passes the obtained hash value as an input value to the hash function application unit 23.

ステップS21において、辞書・数値対応付け部31は、辞書の種類と、数値と、を対応付ける。
ステップS22において、辞書追加部32は、例えば対象としている認証システム等で必要とされる辞書を辞書列に用意(追加)する。
In step S21, the dictionary / numerical value association unit 31 associates a dictionary type with a numerical value.
In step S <b> 22, the dictionary adding unit 32 prepares (adds), for example, a dictionary required by the target authentication system or the like in the dictionary string.

ステップS23において、辞書追加部32は、入力値として得たハッシュ値を辞書の種類の数で割り、余りの数値に対応する種類の辞書を辞書列に追加する。   In step S23, the dictionary adding unit 32 divides the hash value obtained as the input value by the number of types of dictionary, and adds a type of dictionary corresponding to the remaining numerical value to the dictionary string.

ステップS24において、辞書追加制御部33は、パスワードを構成するパスワード要素分の辞書を持つ辞書列となったか否かを判定する。パスワードを構成するパスワード要素分の辞書を持つ辞書列となったと判定した場合、辞書追加制御部33は、前記ハッシュ値を入力値として辞書順序決定部25に与えると共に決定した辞書列を辞書順序決定部25に与え、図8に示す処理を終了する。一方、パスワードを構成するパスワード要素分の辞書を持つ辞書列となっていないと判定した場合、辞書追加制御部33は、ステップS25に進む。なお、ここで、辞書追加制御部33は、パスワードを構成するパスワード要素分の辞書を持つ辞書列となったと判定した場合、前記ハッシュ値を入力値として辞書順序決定部25に与えるものとして説明を行ったが、前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を入力値として辞書順序決定部25に与えてもよい。   In step S <b> 24, the dictionary addition control unit 33 determines whether or not the dictionary string has a dictionary for the password elements constituting the password. If it is determined that the dictionary string has a dictionary corresponding to the password elements constituting the password, the dictionary addition control unit 33 gives the hash value as an input value to the dictionary order determining unit 25 and determines the determined dictionary string in the dictionary order. The processing shown in FIG. 8 is terminated. On the other hand, if it is determined that the dictionary string does not have a dictionary for the password elements constituting the password, the dictionary addition control unit 33 proceeds to step S25. Here, it is assumed that the dictionary addition control unit 33 gives the hash value as an input value to the dictionary order determination unit 25 when it is determined that the dictionary string has a dictionary for the password elements constituting the password. However, the hash value may be given to the hash function application unit 23 as an input value, the hash value output from the hash function application unit 23 may be received, and the received hash value may be given to the dictionary order determination unit 25 as an input value. .

ステップS25において、辞書追加制御部33は、前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を辞書追加部32に入力し、ステップS23に処理を進める。   In step S <b> 25, the dictionary addition control unit 33 gives the hash value as an input value to the hash function application unit 23, receives the hash value output from the hash function application unit 23, and inputs the received hash value to the dictionary addition unit 32. Then, the process proceeds to step S23.

すると、再び、ステップS23において、辞書追加部32は、入力値として得たハッシュ値を、辞書の種類の数で割り、余りの数値に対応する種類の辞書を辞書列に追加する処理を行う。   Then, in step S23, the dictionary addition unit 32 again performs a process of dividing the hash value obtained as the input value by the number of types of dictionary and adding a type of dictionary corresponding to the remaining numerical value to the dictionary string.

図9は、辞書順序決定処理の一例を示すフローチャートである。
ステップS30において、新辞書列生成部41は、入力値として受け取ったハッシュ値を、辞書列の大きさで割り、余りの数値に位置する辞書を取り出し、新しい辞書列に追加する。
FIG. 9 is a flowchart illustrating an example of the dictionary order determination process.
In step S30, the new dictionary sequence generation unit 41 divides the hash value received as the input value by the size of the dictionary sequence, takes out the dictionary located at the remainder, and adds it to the new dictionary sequence.

ステップS31において、新辞書列生成部41は、元の辞書列(辞書を取り出した側の辞書列)の辞書の順序を、辞書を取り出した分、前に詰める。
ステップS32において、新辞書列生成制御部42は、元の辞書列から辞書を取り出し、新しい辞書列に追加し、全ての辞書順序(辞書の順序)を決定したか否か(つまり、パスワードを構成する要素分のパスワード要素を決定したか否か)を判定する。全ての辞書順序を決定したと判定した場合、新辞書列生成制御部42は、前記ハッシュ値を入力値としてパスワード生成部26に与えると共に生成した新たな辞書列の並びを辞書順序としてパスワード生成部26に与え、図9に示す処理を終了する。一方、全ての辞書順序を決定していないと判定すると、ステップS33に進む。なお、ここで、新辞書列生成制御部42は、全ての辞書順序を決定したと判定した場合、前記ハッシュ値を入力値としてパスワード生成部26に与えるものとして説明を行ったが、前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を入力値としてパスワード生成部26に与えてもよい。
In step S31, the new dictionary sequence generation unit 41 prepends the dictionary order of the original dictionary sequence (the dictionary sequence on the side from which the dictionary is extracted) by the amount of the dictionary extracted.
In step S32, the new dictionary sequence generation control unit 42 extracts the dictionary from the original dictionary sequence, adds it to the new dictionary sequence, and determines whether or not all dictionary orders (dictionary orders) have been determined (that is, the password is configured). Whether or not password elements corresponding to the elements to be determined have been determined). When it is determined that all the dictionary orders have been determined, the new dictionary sequence generation control unit 42 gives the hash value as an input value to the password generation unit 26 and uses the generated new sequence of dictionary sequences as a dictionary sequence to generate a password generation unit. 26, and the process shown in FIG. On the other hand, if it is determined that not all dictionary orders have been determined, the process proceeds to step S33. Here, the new dictionary sequence generation control unit 42 has been described as giving the hash value as an input value to the password generation unit 26 when it is determined that all dictionary orders have been determined. As an input value to the hash function application unit 23, a hash value output from the hash function application unit 23 may be received, and the received hash value may be provided as an input value to the password generation unit 26.

ステップS33において、新辞書列生成制御部42は、前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値を新辞書列生成部41に入力し、ステップS30に処理を進める。   In step S33, the new dictionary sequence generation control unit 42 gives the hash value as an input value to the hash function application unit 23, receives the hash value output by the hash function application unit 23, and generates the received hash value as a new dictionary sequence. The data is input to the unit 41, and the process proceeds to step S30.

すると、再び、ステップS30において、新辞書列生成部41は、入力値として受け取ったハッシュ値を、元の辞書列(辞書を取り出した側の辞書列)の大きさで割り、余りの数値に位置する辞書を取り出し、新しい辞書列に追加する処理を行う。   Then, again, in step S30, the new dictionary sequence generation unit 41 divides the hash value received as the input value by the size of the original dictionary sequence (the dictionary sequence on the side from which the dictionary is extracted), and positions it as the remaining numerical value. The dictionary to be extracted is extracted and added to a new dictionary string.

図10は、パスワード生成処理の一例を示すフローチャートである。
ステップS40において、辞書内容・数値対応付け部51は、辞書の内容と、数値と、を対応付ける。
FIG. 10 is a flowchart illustrating an example of the password generation process.
In step S40, the dictionary contents / numerical value association unit 51 associates the contents of the dictionary with the numerical values.

ステップS41において、パスワード要素決定部52は、変数iを初期化する。例えば、辞書内容・数値対応付け部51は、変数iに0を設定する。
ステップS42において、パスワード要素決定部52は、入力値として得たハッシュ値を、入力値として得た変数iが指し示す辞書列の順番の辞書の大きさで割り、余りの数値に対応付けられた文字(又は、辞書が数字の場合、余りの数値)をパスワード要素に決定する。
In step S41, the password element determination unit 52 initializes the variable i. For example, the dictionary contents / numerical value association unit 51 sets 0 to the variable i.
In step S42, the password element determination unit 52 divides the hash value obtained as the input value by the size of the dictionary in the order of the dictionary sequence indicated by the variable i obtained as the input value, and the character associated with the remaining numerical value (Or the remaining number when the dictionary is a number) is determined as the password element.

ステップS43において、パスワード生成制御部53は、前記辞書列の各辞書に対してステップS42の処理を行ったか否か(つまり、必要なパスワード要素分の辞書を用いてパスワード要素を決定したか否か)を判定する。前記辞書列の各辞書に対してステップS42の処理を行ったと判定した場合、パスワード生成制御部53は、生成したパスワードを例えば表示制御部21に渡し、図10に示す処理を終了する。表示制御部21は、パスワード生成制御部53よりパスワードを受け取ると、受け取ったパスワードを含むパスワード表示画面等を生成し、表示装置14に表示する。ユーザは、表示されたパスワードを目視し、この表示されたパスワードを用いて、認証システムに(又は認証システムを介して所望のシステムに)ログインする。
なお、本実施形態では、パスワード生成制御部53は、生成したパスワードを表示制御部21に渡し、表示制御部21が受け取ったパスワードを含むパスワード表示画面等を表示装置14に表示するよう説明を行う。しかしながら、パスワード生成制御部53は、生成したパスワードを直接、認証システムに渡すようにしてもよい。このような構成とした場合、ユーザは、パスフレーズを入力するだけで、認証システムに(又は認証システムを介して所望のシステムに)ログインすることができる。
In step S43, the password generation control unit 53 determines whether or not the process of step S42 has been performed for each dictionary in the dictionary sequence (that is, whether or not the password element has been determined using a dictionary for the necessary password elements). ). When it is determined that the process of step S42 has been performed on each dictionary in the dictionary string, the password generation control unit 53 passes the generated password to the display control unit 21, for example, and ends the process illustrated in FIG. When receiving the password from the password generation control unit 53, the display control unit 21 generates a password display screen including the received password and displays it on the display device 14. The user views the displayed password and logs in to the authentication system (or to a desired system via the authentication system) using the displayed password.
In the present embodiment, the password generation control unit 53 provides the generated password to the display control unit 21 and displays a password display screen including the password received by the display control unit 21 on the display device 14. . However, the password generation control unit 53 may pass the generated password directly to the authentication system. In such a configuration, the user can log in to the authentication system (or to a desired system via the authentication system) simply by inputting a passphrase.

一方、前記辞書列の各辞書に対してステップS42の処理を行っていないと判定した場合、パスワード生成制御部53は、ステップS44に処理を進める。
ステップS44において、パスワード生成制御部53は、前記ハッシュ値を入力値としてハッシュ関数適用部23に与え、ハッシュ関数適用部23が出力するハッシュ値を受け取り、受け取ったハッシュ値をパスワード要素決定部52に入力し、ステップS45に処理を進める。
On the other hand, if it is determined that the process of step S42 is not performed for each dictionary in the dictionary row, the password generation control unit 53 advances the process to step S44.
In step S44, the password generation control unit 53 gives the hash value as an input value to the hash function application unit 23, receives the hash value output by the hash function application unit 23, and receives the received hash value in the password element determination unit 52. Then, the process proceeds to step S45.

ステップS45において、パスワード要素決定部52は、変数iの値を1つインクリメントし、ステップS42に処理を進める。
すると、再び、ステップS42において、パスワード要素決定部52は、入力値として得たハッシュ値を、入力値として得た(前記インクリメントした)変数iが指し示す辞書列の順番の辞書の大きさで割り、余りの数値に対応付けられた文字(又は、辞書が数字の場合、余りの数値)をパスワード要素に決定する処理を行う。
In step S45, the password element determination unit 52 increments the value of the variable i by one and advances the process to step S42.
Then, again, in step S42, the password element determination unit 52 divides the hash value obtained as the input value by the size of the dictionary in the order of the dictionary sequence indicated by the variable i obtained (incremented) as the input value, A process of determining a character associated with the remainder value (or a remainder number when the dictionary is a number) as a password element is performed.

以上、上述した実施形態によれば、パスフレーズ等の覚えやすい入力値に対して、例えば辞書の構成要素に係る偏りが生じない等の安全性の高いパスワードを生成することができる。   As described above, according to the above-described embodiment, it is possible to generate a highly secure password such that a bias related to a component of the dictionary does not occur with respect to an easily remembered input value such as a passphrase.

<実施形態2>
上述した実施形態1では、パスワード生成装置1は、例えば図7に示したように辞書列を決定した後、辞書順序を決定し、この決定した辞書順序を用いて、パスワードを生成するよう説明を行った。しかしながら、パスワード生成装置1は、辞書列を決定すると共に、辞書順序を決定するようにしてもよい。つまり、パスワード生成装置1は、図8のステップS23で、入力値として得たハッシュ値を辞書の種類の数で割り、余りの数値に対応する種類の辞書を選択すると共に、この辞書の辞書列の順番も決定するようにしてもよい。例えば、パスワード生成装置1は、図9に示したように順番を決める。
<Embodiment 2>
In the first embodiment described above, the password generation device 1 determines a dictionary sequence as shown in FIG. 7, for example, and then determines the dictionary order and uses the determined dictionary order to generate a password. went. However, the password generation device 1 may determine the dictionary sequence and the dictionary order. That is, the password generation device 1 divides the hash value obtained as the input value by the number of dictionary types in step S23 of FIG. 8, selects a type of dictionary corresponding to the remainder, and sets the dictionary sequence of this dictionary. May also be determined. For example, the password generation device 1 determines the order as shown in FIG.

同様に、パスワード生成装置1は、順番を決める際に、パスワード要素も決定するようにしてもよい。   Similarly, the password generation device 1 may determine a password element when determining the order.

<実施形態3>
上述した実施形態1では、図8のステップS20に示したように、ハッシュ関数適用部23は、パスフレーズ取得部22が取得したパスフレーズを入力値として受け取り、ハッシュ関数を適用し、ハッシュ値を得るよう説明を行った。しかしながら、ハッシュ関数適用部23は、パスフレーズと共に、パスワード長を入力値として受け取り、ハッシュ関数を適用し、ハッシュ値を得るようにしてもよい。
<Embodiment 3>
In the first embodiment described above, as shown in step S20 of FIG. 8, the hash function application unit 23 receives the pass phrase acquired by the pass phrase acquisition unit 22 as an input value, applies the hash function, and calculates the hash value. I explained to get. However, the hash function application unit 23 may receive the password length as an input value together with the passphrase and apply the hash function to obtain a hash value.

このような処理とすることにより、パスワード生成装置1は、同じパスフレーズであっても、パスワード長が異なれば異なるパスワードを生成することができる。なお、このパスワード長は、例えば、パスフレーズと同様、ユーザに入力させるものとする。   By adopting such a process, the password generation device 1 can generate different passwords with different password lengths even for the same passphrase. In addition, this password length shall be made to be input by a user like a passphrase, for example.

<実施形態4>
上述した実施形態1では、図8のステップS20に示したように、ハッシュ関数適用部23は、パスフレーズ取得部22が取得したパスフレーズを入力値として受け取り、ハッシュ関数を適用し、ハッシュ値を得るよう説明を行った。しかしながら、ハッシュ関数適用部23は、パスフレーズと共に、パスワード生成装置1の固有の文字列(例えば製品番号等)を入力値として受け取り、ハッシュ関数を適用し、ハッシュ値を得るようにしてもよい。
<Embodiment 4>
In the first embodiment described above, as shown in step S20 of FIG. 8, the hash function application unit 23 receives the pass phrase acquired by the pass phrase acquisition unit 22 as an input value, applies the hash function, and calculates the hash value. I explained to get. However, the hash function application unit 23 may receive a unique character string (for example, a product number) of the password generation device 1 as an input value together with the pass phrase, and apply the hash function to obtain a hash value.

このような処理とすることにより、パスワード生成装置1は、同じパスフレーズであっても、パスワード生成装置1毎に異なるパスワードを生成することができる。   By setting it as such a process, the password production | generation apparatus 1 can produce | generate a different password for every password production | generation apparatus 1, even if it is the same passphrase.

以上、上述した各実施形態によれば、パスフレーズ等の覚えやすい入力値に対して、例えば辞書の構成要素に係る偏りが生じない等の安全性の高いパスワードを生成することができる。
また、上述した各実施形態によれば、パスワードを生成するのに、特別な関数等を用いず、ハッシュ関数しか使っていない。ここで、ハッシュ関数は、どんなプログラム言語で実装しても同じ結果を出力する。つまり、上述した各実施形態は、どのようなプラットフォームにも実行することができる。
また、上述した各実施形態によれば、パスフレーズ等の入力値を少し変えただけで、全く異なったパスワードが生成されるので、安全性の高いパスワードを容易に生成することができる。
また、上述した実施形態によれば、既存の認証システムのパスワードに関する仕様に制約を受けず、且つ、既存の認証システムを変更せずに活用したまま、安全性の高いパスワードを容易に生成することができる。
As described above, according to each of the embodiments described above, it is possible to generate a highly secure password such that a bias related to the constituent elements of the dictionary does not occur with respect to an easily remembered input value such as a passphrase.
Further, according to each of the above-described embodiments, only a hash function is used to generate a password without using a special function or the like. Here, the hash function outputs the same result regardless of the programming language. In other words, each of the above-described embodiments can be executed on any platform.
Further, according to each of the above-described embodiments, since a completely different password is generated only by slightly changing an input value such as a passphrase, a highly secure password can be easily generated.
In addition, according to the above-described embodiment, it is possible to easily generate a highly secure password without being restricted by the specification related to the password of the existing authentication system and using the existing authentication system without changing it. Can do.

以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。例えば、上述した実施形態は、任意に組み合わせて実施してもよい。   The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible. For example, the above-described embodiments may be implemented in any combination.

パスワード生成装置(コンピュータ)のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of a password production | generation apparatus (computer). パスワード生成装置の機能構成の一例を示す図である。It is a figure which shows an example of a function structure of a password production | generation apparatus. 辞書列決定部の構成の一例を示す図である。It is a figure which shows an example of a structure of a dictionary row | line | column determination part. 辞書順序決定部の構成の一例を示す図である。It is a figure which shows an example of a structure of a dictionary order determination part. 新辞書列生成部における処理の一例を説明するための図である。It is a figure for demonstrating an example of the process in a new dictionary row | line | column production | generation part. パスワード生成部の構成の一例を示す図である。It is a figure which shows an example of a structure of a password production | generation part. パスワード生成処理の一例を示すフローチャートである。It is a flowchart which shows an example of a password production | generation process. 辞書列決定処理の一例を示すフローチャートである。It is a flowchart which shows an example of a dictionary row | line | column determination process. 辞書順序決定処理の一例を示すフローチャートである。It is a flowchart which shows an example of a dictionary order determination process. パスワード生成処理の一例を示すフローチャートである。It is a flowchart which shows an example of a password production | generation process.

符号の説明Explanation of symbols

1 パスワード生成装置
11 CPU
12 入力装置
13 記憶装置
14 表示装置
1 Password generator 11 CPU
12 Input device 13 Storage device 14 Display device

Claims (7)

辞書列を構成する辞書の順序を決定する辞書順序決定手段と、
入力された入力値に対して一方向関数を適用し、値を求める一方向関数適用手段と、
パスワードを生成するパスワード生成手段と、
を有し、
前記パスワード生成手段は、
前記一方向関数適用手段において求められた前記値を、パスワード要素の決定に用いられる辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する前記辞書の要素を用いてパスワード要素を決定するパスワード要素決定手段と、
前記パスワード要素決定手段がパスワードを構成する要素分のパスワード要素を決定したか否かを判定し、パスワードを構成する要素分のパスワード要素を決定していないと判定した場合、前記パスワード要素決定手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、前記辞書順序決定手段で決定された前記辞書列を構成する辞書の順序に基づき前記パスワード要素決定手段で用いられた辞書の次の順序の辞書と、を用いて、前記パスワード要素決定手段で、次のパスワード要素を決定するよう制御するパスワード生成制御手段と、
有することを特徴とするパスワード生成装置。
Dictionary order determining means for determining the order of the dictionaries constituting the dictionary string;
A one-way function application means for applying a one-way function to an input value and obtaining a value;
A password generation means for generating a password;
Have
The password generation means includes
Dividing the value obtained by the one-way function applying means by the number of elements constituting the dictionary used for determining the password element to obtain a remainder, and using the dictionary element corresponding to the obtained remainder A password element determining means for determining a password element;
If the password element determination means determines whether or not the password elements for the elements constituting the password have been determined, and determines that the password elements for the elements that constitute the password have not been determined, the password element determination means The password element determining means inputs the used value as an input value to the one-way function applying means, and based on the obtained value and the order of the dictionaries constituting the dictionary sequence determined by the dictionary order determining means. A password generation control means for controlling the password element determination means to determine a next password element using a dictionary in the next order of the used dictionary; and
Password generation device according to claim Rukoto to have a.
辞書列を構成する辞書の順序を決定する辞書順序決定手段と、
入力された入力値に対して一方向関数を適用し、値を求める一方向関数適用手段と、
パスワードを生成するパスワード生成手段と、
を有し、
前記辞書順序決定手段は、
前記一方向関数適用手段において求められた前記値を、辞書列の大きさで割って余りを求め、求めた余りの数値に位置する辞書を前記辞書列から取り出し、取り出した辞書を新たな辞書列に追加する新辞書列生成手段と、
前記新辞書列生成手段が前記辞書列の辞書を全て前記新たな辞書列に追加したか否かを判定し、前記辞書列の辞書を全て前記新たな辞書列に追加していないと判定した場合、前記新辞書列生成手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、前記取り出した辞書分、前記辞書列における辞書の並びを前に詰めた辞書列と、を用いて、前記新辞書列生成手段で、前記辞書列から辞書を取り出し、取り出した辞書を前記新たな辞書列に追加するよう制御し、前記新たな辞書列の並びを辞書の順序とする新辞書列生成制御手段と、
を有し、
前記パスワード生成手段は、
前記一方向関数適用手段において求められた前記値を、パスワード要素の決定に用いられる辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する前記辞書の要素を用いてパスワード要素を決定するパスワード要素決定手段と、
前記パスワード要素決定手段がパスワードを構成する要素分のパスワード要素を決定したか否かを判定し、パスワードを構成する要素分のパスワード要素を決定していないと判定した場合、前記パスワード要素決定手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、前記辞書順序決定手段で決定された前記新たな辞書列を構成する辞書の順序に基づき前記パスワード要素決定手段で用いられた辞書の次の順序の辞書と、を用いて、前記パスワード要素決定手段で、次のパスワード要素を決定するよう制御するパスワード生成制御手段と、
を有することを特徴とするパスワード生成装置。
Dictionary order determining means for determining the order of the dictionaries constituting the dictionary string;
A one-way function application means for applying a one-way function to an input value and obtaining a value;
A password generation means for generating a password;
Have
The dictionary order determining means includes
The value obtained by the one-way function applying means is divided by the size of the dictionary string to obtain a remainder, a dictionary located at the obtained remainder is taken out of the dictionary string, and the extracted dictionary is replaced with a new dictionary string. A new dictionary sequence generation means to be added to
When the new dictionary sequence generation means determines whether or not all the dictionaries of the dictionary sequence are added to the new dictionary sequence, and it is determined that all the dictionaries of the dictionary sequence are not added to the new dictionary sequence The value used in the new dictionary sequence generation unit is input to the one-way function application unit as an input value, and the obtained value, the extracted dictionary, and the dictionary sequence in the dictionary sequence are prepended. The new dictionary sequence generation means takes out a dictionary from the dictionary sequence using the dictionary sequence, and controls to add the extracted dictionary to the new dictionary sequence. New dictionary sequence generation control means for ordering;
I have a,
The password generation means includes
Dividing the value obtained by the one-way function applying means by the number of elements constituting the dictionary used for determining the password element to obtain a remainder, and using the dictionary element corresponding to the obtained remainder A password element determining means for determining a password element;
If the password element determination means determines whether or not the password elements for the elements constituting the password have been determined, and determines that the password elements for the elements that constitute the password have not been determined, the password element determination means The password element determination is performed based on the obtained value and the order of the dictionaries constituting the new dictionary sequence determined by the dictionary order determination unit by inputting the used value as an input value to the one-way function application unit. A password generation control means for controlling the password element determination means to determine the next password element using a dictionary in the next order of the dictionary used in the means;
Password generating device characterized in that it have a.
辞書列を構成する辞書を決定する辞書決定手段を更に有し、
前記辞書順序決定手段は、前記辞書決定手段において決定された辞書列を構成する辞書の順序を決定することを特徴とする請求項1又は2に記載のパスワード生成装置。
A dictionary determining means for determining a dictionary constituting the dictionary string;
The password generation apparatus according to claim 1, wherein the dictionary order determining unit determines the order of the dictionaries constituting the dictionary sequence determined by the dictionary determining unit.
前記辞書決定手段は、
前記辞書列に含まれる辞書の種類と、数値と、を対応付ける対応付け手段と、
前記一方向関数適用手段において求められた前記値を、前記辞書列を構成する辞書の種類の数で割って余りを求め、求めた余りの数値に対応する種類の辞書を辞書列に追加する辞書追加手段と、
前記辞書追加手段がパスワードを構成するパスワード要素分の辞書を前記辞書列に追加したか否かを判定し、パスワードを構成するパスワード要素分の辞書を前記辞書列に追加していないと判定した場合、前記辞書追加手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、前記辞書列を構成する辞書の種類の数と、を用いて、前記辞書追加手段で、余りを求め、求めた余りの数値に対応する種類の辞書を辞書列に追加するよう制御する辞書追加制御手段と、
を有することを特徴とする請求項3に記載のパスワード生成装置。
The dictionary determining means includes
Association means for associating the types of dictionaries included in the dictionary string with numerical values;
A dictionary in which the value obtained by the one-way function applying means is divided by the number of types of dictionaries constituting the dictionary sequence to obtain a remainder, and a dictionary of a type corresponding to the obtained remainder is added to the dictionary sequence Additional means,
When the dictionary adding means determines whether or not a dictionary for password elements constituting a password has been added to the dictionary string, and it is determined that a dictionary for password elements constituting a password has not been added to the dictionary string The dictionary addition means adds the value used in the dictionary addition means to the one-way function application means as an input value, and uses the obtained value and the number of types of dictionaries constituting the dictionary string. Means for obtaining a remainder, and a dictionary addition control means for controlling to add a dictionary of a type corresponding to the obtained remainder to the dictionary string;
The password generation device according to claim 3, further comprising:
前記パスワード生成制御手段が生成したパスワードを表示する表示制御手段を更に有することを特徴とする請求項1乃至4の何れか1項に記載のパスワード生成装置。   5. The password generation apparatus according to claim 1, further comprising display control means for displaying a password generated by the password generation control means. 入力された入力値に対して一方向関数を適用し、値を求める一方向関数適用手段を有するパスワード生成装置におけるパスワード生成方法であって、
辞書列を構成する辞書の順序を決定する辞書順序決定ステップと、
前記一方向関数適用手段において求められた前記値を、パスワード要素の決定に用いられる辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する前記辞書の要素を用いてパスワード要素を決定するパスワード要素決定ステップと、
前記パスワード要素決定ステップにおいてパスワードを構成する要素分のパスワード要素を決定したか否かを判定し、パスワードを構成する要素分のパスワード要素を決定していないと判定した場合、前記パスワード要素決定ステップで用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、前記辞書順序決定ステップで決定された前記辞書列を構成する辞書の順序に基づき前記パスワード要素決定ステップで用いられた辞書の次の順序の辞書と、を用いて、前記パスワード要素決定ステップの処理を再び実行し、次のパスワード要素を決定するよう制御するパスワード生成制御ステップと、
含むことを特徴とするパスワード生成方法。
A password generation method in a password generation device having a one-way function application means for applying a one-way function to an input value and obtaining a value,
A dictionary order determining step for determining the order of the dictionaries constituting the dictionary string;
Dividing the value obtained by the one-way function applying means by the number of elements constituting the dictionary used for determining the password element to obtain a remainder, and using the dictionary element corresponding to the obtained remainder A password element determination step for determining a password element;
In the password element determination step, it is determined whether or not the password elements for the elements constituting the password have been determined, and when it is determined that the password elements for the elements constituting the password have not been determined, In the password element determination step, the used value is input to the one-way function application means as an input value, and the obtained value and the order of the dictionaries constituting the dictionary sequence determined in the dictionary order determination step. A password generation control step for controlling to execute the process of the password element determination step again to determine the next password element using a dictionary in the next order of the used dictionaries;
Password generation method characterized by including the.
コンピュータを、
辞書列を構成する辞書の順序を決定する辞書順序決定手段と、
入力された入力値に対して一方向関数を適用し、値を求める一方向関数適用手段と、
パスワードを生成するパスワード生成手段と、
して機能させ、
前記パスワード生成手段は、
前記一方向関数適用手段において求められた前記値を、パスワード要素の決定に用いられる辞書を構成する要素の数で割って余りを求め、求めた余りの数値に対応する前記辞書の要素を用いてパスワード要素を決定するパスワード要素決定手段と、
前記パスワード要素決定手段がパスワードを構成する要素分のパスワード要素を決定したか否かを判定し、パスワードを構成する要素分のパスワード要素を決定していないと判定した場合、前記パスワード要素決定手段で用いた前記値を入力値として前記一方向関数適用手段に入力し、得られた値と、前記辞書順序決定手段で決定された前記辞書列を構成する辞書の順序に基づき前記パスワード要素決定手段で用いられた辞書の次の順序の辞書と、を用いて、前記パスワード要素決定手段で、次のパスワード要素を決定するよう制御するパスワード生成制御手段と、
有することを特徴とするプログラム。
Computer
Dictionary order determining means for determining the order of the dictionaries constituting the dictionary string;
A one-way function application means for applying a one-way function to an input value and obtaining a value;
A password generation means for generating a password;
To function,
The password generation means includes
Dividing the value obtained by the one-way function applying means by the number of elements constituting the dictionary used for determining the password element to obtain a remainder, and using the dictionary element corresponding to the obtained remainder A password element determining means for determining a password element;
If the password element determination means determines whether or not the password elements for the elements constituting the password have been determined, and determines that the password elements for the elements that constitute the password have not been determined, the password element determination means The password element determining means inputs the used value as an input value to the one-way function applying means, and based on the obtained value and the order of the dictionaries constituting the dictionary sequence determined by the dictionary order determining means. A password generation control means for controlling the password element determination means to determine a next password element using a dictionary in the next order of the used dictionary; and
Program characterized Rukoto to have a.
JP2007279442A 2007-10-26 2007-10-26 Password generating apparatus, password generating method and program Expired - Fee Related JP5258258B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007279442A JP5258258B2 (en) 2007-10-26 2007-10-26 Password generating apparatus, password generating method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007279442A JP5258258B2 (en) 2007-10-26 2007-10-26 Password generating apparatus, password generating method and program

Publications (2)

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

Family

ID=40778569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007279442A Expired - Fee Related JP5258258B2 (en) 2007-10-26 2007-10-26 Password generating apparatus, password generating method and program

Country Status (1)

Country Link
JP (1) JP5258258B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297408B (en) * 2012-03-02 2016-04-06 腾讯科技(深圳)有限公司 Login method and device and terminal, the webserver
CN114338015B (en) * 2022-01-05 2024-03-29 北京华云安信息技术有限公司 Method, device, equipment and storage medium for generating password dictionary

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1166005A (en) * 1997-08-25 1999-03-09 Sharp Corp Password generation device and password communication system
CN1905446A (en) * 2005-07-26 2007-01-31 国际商业机器公司 Client-based method, system to manage multiple authentication

Also Published As

Publication number Publication date
JP2009110112A (en) 2009-05-21

Similar Documents

Publication Publication Date Title
US10015163B2 (en) Apparatus and method for cryptographic operations using enhanced knowledge factor credentials
CN109076072B (en) Web service picture password
US20160112198A1 (en) System and method of secure text generation
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
US10366142B2 (en) Identifier based glyph search
JP5258258B2 (en) Password generating apparatus, password generating method and program
KR20180077554A (en) Key input security method
TW201712204A (en) Input authentication method, input authentication system and lock with input authentication system
JP2016021237A (en) Apparatus and method for providing feedback on input of data
US20150077774A1 (en) Image processing apparatus capable of merging character strings with original image, control method therefor, and storage medium
JP6156055B2 (en) Screen generation device, authentication system, and program
JP6214308B2 (en) Image forming apparatus and method, and program
KR101742523B1 (en) Apparatus and Method of Password Recommendation
WO2018130852A1 (en) Improved authentication
JP2007257176A (en) Information processing method, information processor and information processing program
KR102208082B1 (en) Server device, information management system, information management method, and recording medium storing a computer program
JP7150220B2 (en) Password authentication device, password authentication method, and password authentication program
CN110413366B (en) Screen capturing method, device, equipment and storage medium based on blockchain
JP6144438B1 (en) Information processing apparatus, information processing system, information processing method, and computer program
JP2009211143A (en) Information processor and information processing program
JP2017091383A (en) Image forming apparatus, image forming method, and image forming program
KR20060091062A (en) The algorithm for user login by mouse click
WO2018081414A1 (en) Apparatus and method for cryptographic operations using enhanced knowledge factor credentials
CN113841146A (en) Password generation method capable of simultaneously meeting safety and usability

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