JP2015170352A - password management system - Google Patents
password management system Download PDFInfo
- Publication number
- JP2015170352A JP2015170352A JP2014127351A JP2014127351A JP2015170352A JP 2015170352 A JP2015170352 A JP 2015170352A JP 2014127351 A JP2014127351 A JP 2014127351A JP 2014127351 A JP2014127351 A JP 2014127351A JP 2015170352 A JP2015170352 A JP 2015170352A
- Authority
- JP
- Japan
- Prior art keywords
- character string
- password
- converted
- arithmetic expression
- input
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、パスワード管理システムに関する。 The present invention relates to a password management system.
従来、ユーザにパスワードを入力させてログインを許可するシステムで、パスワードの強度を保つために当該ユーザが過去に設定したパスワードも保存しておき、ユーザにパスワードを再設定させる際に同じパスワードが新たなパスワードとして入力された場合に警告したり拒絶したりする仕組みがある(例えば特許文献1)。 Conventionally, in a system that allows a user to enter a password and log in, the password that the user has set in the past is stored to maintain the strength of the password, and the same password is renewed when the user resets the password. There is a mechanism for warning or refusing when a password is entered as a valid password (for example, Patent Document 1).
ここで、システム側でパスワードを安全に保存するために、パスワード文字列そのものを平文で保存するのではなく、パスワード文字列に例えばハッシュ関数等の一方向性関数を用いた演算を行い、当該パスワードを一意に特定する暗号化文字列として保存することが行われる。また、このとき、例えばソルト(salt)と呼ばれる乱数値または固定値等をパスワード文字列に付加してから一方向性関数を用いた演算を行う手法も採用されている。この手法を用いた場合、一方向性関数を用いた演算結果が充分にランダム性を有しており、現実的に入力に対して演算結果の衝突が起きないことが確からしい状態であれば、同じ演算を行うことによりユーザのパスワードの検証が可能であり、かつ演算結果から元のパスワード文字列を復元することはほぼ不可能となる。そのため、万一保存していたパスワードの暗号化文字列が漏洩したとしても、元のパスワード文字列を復元することはほぼ不可能である。 Here, in order to store the password safely on the system side, the password character string itself is not stored in plain text, but an operation using a one-way function such as a hash function is performed on the password character string. Is stored as an encrypted character string that uniquely identifies. At this time, for example, a method of performing a calculation using a one-way function after adding a random value or a fixed value called salt to a password character string is also employed. When this method is used, if the calculation result using the one-way function is sufficiently random, and it is probable that the calculation result will not actually collide with the input, By performing the same calculation, the user's password can be verified, and the original password character string cannot be restored from the calculation result. Therefore, even if the encrypted password character string stored in the memory leaks, it is almost impossible to restore the original password character string.
しかし、上記のように、パスワードを暗号化文字列として保存し、パスワードを暗号化文字列に変換した際には暗号化文字列から元のパスワード文字列を復元することはほぼ不可能であったとしても、コンピュータの計算速度の向上等により、暗号化文字列から元のパスワード文字列を復元(推測)することが可能となるケースも考えられる。 However, as mentioned above, when the password was saved as an encrypted string and the password was converted to an encrypted string, it was almost impossible to restore the original password string from the encrypted string However, there may be a case where the original password character string can be restored (estimated) from the encrypted character string due to an improvement in computer calculation speed or the like.
例えば、近年、予め任意の文字列に一方向性関数を用いた演算を行った演算結果の一覧であるレインボーテーブルを用いて元のパスワード文字列を推測するというレインボー攻撃が行われている。このような攻撃が行われた場合、保存していたパスワードの暗号化文字列が漏洩した場合には、元のパスワード文字列が推測されるおそれがある。 For example, in recent years, a rainbow attack has been performed in which an original password character string is estimated using a rainbow table that is a list of calculation results obtained by performing a calculation using an unidirectional function on an arbitrary character string in advance. When such an attack is performed, there is a possibility that the original password character string is guessed when the encrypted character string of the stored password is leaked.
あるシステムから、有効なパスワードの暗号化文字列が漏洩した場合には、漏洩が生じたシステムでそのパスワードを無効とする等の対処を取ることにより、暗号化文字列から元のパスワード文字列が推測されたとしても、当該システムへの不正なアクセスは防ぐことができる。また、上述した特許文献1に記載された技術のように、ユーザが過去に設定していたパスワードも保存されており、それらのパスワードも漏洩した場合でも、そのシステムではユーザが過去に設定していたパスワードは有効ではないため、不正なアクセスを防ぐことができる。
If an encrypted password string of a valid password is leaked from a system, the original password string is changed from the encrypted string by taking measures such as invalidating the password in the leaked system. Even if inferred, unauthorized access to the system can be prevented. In addition, as in the technique described in
しかし、現在、ユーザは様々なシステムやサイトに対してそれぞれパスワードを設定しており、複数のシステムやサイトにわたって同じ、又は類似のパスワードを設定することが多い。例えば、あるシステムで過去に設定していたパスワードが他のシステムでは現在も有効なパスワードとして利用されていることがある。このような場合に、あるシステムで過去に設定していたパスワードの暗号化文字列が漏洩し、元のパスワード文字列が推測されると、そのパスワード文字列を用いて他のシステムへの不正アクセスが行われるおそれがある。 However, currently, users set passwords for various systems and sites, and often set the same or similar passwords across multiple systems and sites. For example, a password previously set in one system may be used as a valid password in another system. In such a case, if the password encryption string set in the past in one system leaks and the original password string is guessed, unauthorized access to other systems using that password string May occur.
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、パスワードの強度を高めるために過去に設定されたパスワードに関する情報を保存しつつも、そのパスワードが漏洩した場合でも他のシステムへの不正アクセスを防ぐことができる技術を提供することにある。 The present invention has been made in view of the above circumstances, and the purpose of the present invention is to save information related to a password set in the past in order to increase the strength of the password, but also in the case where the password is leaked. It is to provide a technology capable of preventing unauthorized access to the system.
本発明によれば、
同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数存在するように文字列を変換する所定の演算式を用いて、入力された文字列を当該文字列とは異なる文字列に変換する文字列変換部と、
ユーザ毎に、当該ユーザの過去のパスワード文字列PPを、前記所定の演算式を用いて当該過去のパスワード文字列PPとは異なる変換後パスワード文字列CPPに変換した状態で記憶するパスワード情報記憶部と、
パスワードの強度を判断する強度判断部と、
を含み、
前記文字列変換部は、ユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付けると、前記所定の演算式に基づき前記新たなパスワード文字列NPを当該パスワード文字列NPとは異なる変換後入力文字列CNPに変換し、
前記強度判断部は、前記変換後入力文字列CNPと前記パスワード情報記憶部に記憶された当該ユーザの前記変換後パスワード文字列CPPとに基づき、前記新たなパスワード文字列NPの強度を判断するパスワード管理システムが提供される。
According to the present invention,
For the same character string, give the same conversion result, and input the character string using a predetermined arithmetic expression that converts the character string so that there are multiple original character string candidates for the converted character string A character string conversion unit that converts the character string into a character string different from the character string,
A password information storage unit that stores, for each user, the past password character string PP of the user converted into a converted password character string CPP different from the past password character string PP using the predetermined arithmetic expression. When,
A strength judgment unit for judging the strength of the password;
Including
When the character string conversion unit receives an input of a new password character string NP along with a password change instruction from the user, the character string conversion unit converts the new password character string NP to the password character string NP based on the predetermined arithmetic expression. Convert to a different input string CNP after conversion,
The strength determination unit is a password for determining the strength of the new password character string NP based on the converted input character string CNP and the converted password character string CPP of the user stored in the password information storage unit. A management system is provided.
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.
本発明によれば、パスワードの強度を高めるために過去に設定されたパスワードに関する情報を保存しつつも、そのパスワードが漏洩した場合でも他のシステムへの不正アクセスを防ぐことができる技術を提供することができる。 According to the present invention, there is provided a technique capable of preventing unauthorized access to another system even when the password is leaked while storing information related to a password set in the past in order to increase the strength of the password. be able to.
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In all the drawings, the same reference numerals are given to the same components, and the description will be omitted as appropriate.
図1は、本実施形態におけるネットワーク構成の一例を示すブロック図である。 FIG. 1 is a block diagram illustrating an example of a network configuration in the present embodiment.
ネットワーク構成は、ユーザが操作するユーザ端末装置1、移動無線基地局やWi−Fiステーション等のアクセスポイント2、ユーザの認証処理やパスワードの変更処理を管理(制御)するパスワード管理システム4を含む。パスワード管理システム4は、ネットワーク3を介して複数のユーザ端末装置1と接続される。ユーザ端末装置1は、例えば、携帯電話機、スマートフォン、ゲーム用コンソール、パーソナルコンピュータ、タッチパッド、電子書籍リーダー等の情報処理装置である。
The network configuration includes a
図2は、本実施形態におけるユーザ端末装置1のハードウェア構成の一例を示すブロック図である。
FIG. 2 is a block diagram illustrating an example of a hardware configuration of the
ユーザ端末装置1は、電源システム101、メインシステム102、記憶部106、外部ポート107、高周波回路108、アンテナ109、オーディオ回路110、スピーカ111、マイク112、近接センサ113、I/Oサブシステム114、タッチ反応型ディスプレイシステム118、光学センサ119及び入力部120を含む。メインシステム102は、プロセッサ103、メモリコントローラ104及び周辺インタフェース105を含む。I/Oサブシステム114は、ディスプレイコントローラ115、光学センサコントローラ116及び入力コントローラ117を含む。
The
図3は、本実施形態におけるパスワード管理システム4のハードウェア構成の一例を示すブロック図である。
FIG. 3 is a block diagram illustrating an example of a hardware configuration of the
パスワード管理システム4は、システムバス401に接続されたCPU(Central Processing Unit)402、ROM(Read Only Memory)403、RAM(Random Access Memory)404、NVRAM(Non-Volatile Random Access Memory)405、I/F(Interface)406と、I/F406に接続された、キーボード、マウス、モニタ、CD/DVD(Compact Disk/Digital Versatile Disk)ドライブ等のI/O(Input/Output Device)407、HDD(Hard Disk Drive)408、NIC(Network Interface Card)409等を含む。
The
図4は、ユーザ端末装置1およびパスワード管理システム4の機能構成を示すブロック図である。
FIG. 4 is a block diagram illustrating functional configurations of the
ユーザ端末装置1は、サーバアクセス部12、操作入力受付部16及び画面表示処理部18を含む。操作入力受付部16は、ユーザ端末装置1を操作するユーザからの操作入力を受け付ける。サーバアクセス部12は、パスワード管理システム4へアクセスし、パスワード管理システム4に対してリクエストを送信し、処理結果等をレスポンスとして受信する。画面表示処理部18は、画面表示を行う。
The
パスワード管理システム4は、パスワード管理制御部42、文字列変換部44、強度判断部52、パスワード情報記憶部62、演算式記憶部64及び強度判断条件記憶部66を含む。
The
パスワード管理制御部42は、パスワード管理システム4全体の制御を行う。
The password
パスワード情報記憶部62は、複数のユーザについて、各ユーザの現在のパスワード及び過去のパスワードを複数世代分(1世代前〜n世代前)まで記憶する。セキュリティ確保のため、パスワード情報記憶部62は、ユーザの現在のパスワード文字列及び過去のパスワード文字列を、平文のままではなく、平文の文字列とは異なる暗号化文字列として記憶する。
The password
パスワード管理制御部42は、例えば、ユーザからパスワード管理システム4へのログイン指示とともに、ユーザID及びパスワードの入力を受け付けると、パスワード情報記憶部62に記憶されたユーザのユーザID及び現在のパスワードに基づき、ユーザの認証処理を行う。また、パスワード管理制御部42は、ユーザから、現在のパスワードの変更指示とともに、新たなパスワード文字列の入力を受け付けると、文字列変換部44及び強度判断部52を制御して後述のパスワードの強度判断処理を行わせる。
For example, when the password
文字列変換部44は、ユーザから入力される平文のパスワード文字列を所定の暗号化演算式や所定の演算式に従って変換する。演算式記憶部64は、文字列変換部44が入力された文字列を変換する際に参照する所定の暗号化演算式や所定の演算式を記憶する。
The character
強度判断部52は、ユーザから、現在のパスワードの変更指示とともに、新たなパスワード文字列の入力を受け付けると、パスワード情報記憶部62に記憶されたユーザの現在のパスワード及び当該ユーザの過去のパスワードに基づき、入力された新たなパスワード文字列の強度を判断する。強度判断条件記憶部66は、強度判断部52が入力されたパスワード文字列の強度を判断する際に参照する強度判断条件を記憶する。
When the
本実施形態において、強度判断条件記憶部66は、例えば、新たなパスワード文字列が当該ユーザの現在のパスワード文字列と同じである場合は、新たなパスワード文字列の強度が非常に低いとして、パスワード変更を受け付けないという条件を記憶する。また、強度判断条件記憶部66は、例えば、新たなパスワード文字列が当該ユーザの過去のパスワード文字列のいずれかと同じである場合は、新たなパスワード文字列の強度が低いとして、ユーザに警告するという条件を記憶する。 In the present embodiment, for example, when the new password character string is the same as the current password character string of the user, the strength determination condition storage unit 66 determines that the strength of the new password character string is very low and the password The condition that changes are not accepted is stored. For example, if the new password character string is the same as any of the user's past password character strings, the strength determination condition storage unit 66 warns the user that the strength of the new password character string is low. The condition is memorized.
図5は、本実施形態におけるパスワード情報記憶部62の内部構成の一例を示す図である。
FIG. 5 is a diagram illustrating an example of an internal configuration of the password
パスワード情報記憶部62は、「ユーザID」、「現在のパスワード」、「過去のパスワード」等の項目を含む。「ユーザID」は、ユーザを一意に特定する情報である。「現在のパスワード」は、当該ユーザの現在のパスワード文字列CPを一意に特定する暗号化パスワード文字列ECPである。「過去のパスワード」は、当該ユーザの過去のパスワード文字列PP1〜PPnに対応する変換後パスワード文字列CPP1〜CPPnである。
The password
上述したように、現在のパスワードは、ユーザがパスワード管理システム4にログインする際の認証処理に用いられる。ユーザの認証処理は厳密に行う必要があるため、パスワード情報記憶部62に記憶される「現在のパスワード」は、入力される平文の現在のパスワード文字列CPを一意に特定するものである必要がある。従って、パスワード情報記憶部62は、現在のパスワードを、入力された文字列を一意性のある暗号化文字列に変換する所定の暗号化演算式E1(第4の暗号化演算式)を用いて元のパスワード文字列CPとは異なる暗号化パスワード文字列ECPに変換した状態で記憶する。暗号化演算式E1は、例えば、一方向性ハッシュ関数(MD関数)等の一方向で一意に決まる暗号化演算式とすることができる。
As described above, the current password is used for authentication processing when the user logs in to the
一方、過去のパスワードは、ユーザが現在のパスワードを新たなパスワードに変更する際に、新たなパスワードが当該ユーザが過去に利用していたパスワードと一致する場合には再登録を禁止したり、強度が低いことをユーザに提示して注意を促したりする等のために用いられる。従って、パスワード情報記憶部62に記憶される過去のパスワードは、ユーザの認証処理に用いられる現在のパスワードとは異なり、ある程度の確度でパスワードの一致を検出することができれば、入力される平文の新たなパスワード文字列NPを一意に特定するものである必要はない。
On the other hand, when a user changes the current password to a new password, if the new password matches the password that the user has used in the past, re-registration is prohibited. It is used for, for example, prompting the user to indicate that the value is low. Therefore, the past password stored in the password
一方、過去のパスワードを現在のパスワードと同様に各パスワードを一意に特定する暗号化文字列として記憶しておくと、上述したように、暗号化文字列が漏洩した場合に元のパスワード文字列が推測されるおそれがある。そこで、本実施形態において、パスワード情報記憶部62は、ユーザの過去のパスワード文字列PP1〜PPnについては、当該パスワード文字列PP1〜PPnを一意に特定する暗号化文字列として記憶しない構成とする。
On the other hand, if the past password is stored as an encrypted character string that uniquely identifies each password in the same manner as the current password, as described above, when the encrypted character string is leaked, the original password character string is changed. May be guessed. Therefore, in the present embodiment, the password
本実施形態において、パスワード情報記憶部62は、ユーザの過去のパスワード文字列PP1〜PPnを、それぞれ、同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数(x個)存在するように文字列を変換する所定の演算式eを用いて元のパスワード文字列PP1〜PPnとは異なる変換後パスワード文字列CPP1〜CPPnに変換した状態で記憶する。演算式eについては後述の具体例で説明する。
In the present embodiment, the password
図6は、本実施形態における演算式記憶部64の内部構成の一例を示す図である。
FIG. 6 is a diagram illustrating an example of an internal configuration of the arithmetic
演算式記憶部64は、「対象」、「演算式」等の項目を含む。「対象」は、演算式を施した対象のデータを示す。「演算式」は、当該対象に施した演算式を示す。「現在のパスワード」には「暗号化演算式E1」が施され、「過去のパスワード」には「演算式e」が施されたことが示されている。
The arithmetic
図4に戻り、パスワード管理制御部42、文字列変換部44及び強度判断部52の具体的な処理手順を説明する。
Returning to FIG. 4, specific processing procedures of the password
まず、ユーザの認証処理について説明する。 First, user authentication processing will be described.
ユーザからパスワード管理システム4へのログイン指示とともに、ユーザIDと現在のパスワード文字列CP'の入力を受け付けると、パスワード管理制御部42は、文字列変換部44によりパスワード文字列CP'を上記暗号化演算式E1を用いて暗号化パスワード文字列ECP'に変換させ、暗号化パスワード文字列ECP'がパスワード情報記憶部62において当該ユーザIDに対応づけられた暗号化パスワード文字列ECPと一致するか否かを判断する。
When the user receives an input of the user ID and the current password character string CP ′ together with the login instruction to the
暗号化パスワード文字列ECP'が暗号化パスワード文字列ECPと完全一致する場合、パスワード管理制御部42は、認証成功として当該ユーザのパスワード管理システム4へのログインを許可する。一方、暗号化パスワード文字列ECP'が暗号化パスワード文字列ECPと完全一致しない場合、パスワード管理制御部42は、認証失敗として当該ユーザのパスワード管理システム4へのログインを許可しない。パスワード管理制御部42は、認証失敗が所定回数(例えば5回)を越えると、エラー処理としてそれ以上の認証処理を行えないようにする。
When the encrypted password character string ECP ′ completely matches the encrypted password character string ECP, the password
次に、パスワードの変更処理について説明する。 Next, password change processing will be described.
パスワード管理システム4にログインしているユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付けると、パスワード管理制御部42の制御のもと、強度判断部52は、新たなパスワード文字列NPが現在のパスワード文字列CPと同じでないかを確認する。
When an input of a new password character string NP is received together with a password change instruction from a user who has logged in to the
具体的には、パスワード管理制御部42の制御のもと、文字列変換部44は、新たなパスワード文字列NPを上記暗号化演算式E1を用いて暗号化パスワード文字列ENPに変換する。
Specifically, under the control of the password
次いで、強度判断部52は、暗号化パスワード文字列ENPがパスワード情報記憶部62において当該ユーザIDに対応づけられた暗号化パスワード文字列ECPと一致するか否かを判断する。暗号化パスワード文字列ENPが暗号化パスワード文字列ECPと完全一致する場合、強度判断部52は、強度判断条件記憶部66の強度判断条件に従って、例えば、新たなパスワード文字列NPの強度が非常に低いとして、パスワード変更を受け付けない。
Next, the
一方、暗号化パスワード文字列ENPが暗号化パスワード文字列ECPと完全一致しない場合、パスワード管理制御部42の制御のもと、強度判断部52は、新たなパスワード文字列NPが過去のパスワード文字列PPのいずれかと同じでないかを確認する。
On the other hand, when the encrypted password character string ENP does not completely match the encrypted password character string ECP, under the control of the password
具体的には、文字列変換部44は、新たなパスワード文字列NPを上記演算式eを用いて変換後入力文字列CNPに変換する。次いで、強度判断部52は、変換後入力文字列CNPと、パスワード情報記憶部62において当該ユーザIDに対応づけられた変換後パスワード文字列CPP1〜CPPnとに基づき、新たなパスワード文字列NPの強度を判断する。
Specifically, the character
例えば、少なくとも変換後入力文字列CNPにパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかが含まれる場合に、強度判断部52は、強度判断条件記憶部66の強度判断条件に従って、例えば、入力されたパスワード文字列NPの強度が低いとして、ユーザに警告する。また、例えば、変換後入力文字列CNPの所定箇所の一部とパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnの所定箇所の一部が一致する場合に、強度判断部52は、強度判断条件記憶部66の強度判断条件に従って、例えば、入力されたパスワード文字列NPの強度が低いとして、ユーザに警告する。
For example, when at least one of the converted password character strings CPP1 to CPPn stored in the password
一の変換後パスワード文字列に対する元の文字列の候補の数「x」は、対象のパスワード管理システム4における要求やコンピュータの計算速度の向上等の時代背景等により異なるが、例えば、100以上10000以下程度とすることができる。具体的には、以下を考慮して決定することができる。
The number “x” of original character string candidates with respect to one converted password character string varies depending on the request in the target
まず、「x」の下限について説明する。ユーザが入力したパスワードに基づきユーザのログインを許可する一般的なユーザ認証システムでは、上述したように、所定のユーザIDとパスワードとの組み合わせに対して、所定回数入力ミスがあると、その組み合わせに対してそれ以上の入力が不能となる設定とされる。そこで、「x」の下限は、世の中で出回っている一般的なユーザ認証システムにおいて、入力ミスが許容される回数「y」よりも充分大きくなるように設定することができる。システムによって異なるが、例えば、入力ミスが許容される回数「y」は、5回等、一桁程度の数とされることが多い。そのため、一の変換後パスワード文字列に対する元の文字列の候補の数「x」が、例えば、100以上程度となるようにすれば、たとえ変換後パスワード文字列が漏洩し、対応するパスワード文字列が推測されたとしても、パスワード文字列の候補が100以上程度挙げられることになり、第三者の不正なアクセスを防ぐことができる。 First, the lower limit of “x” will be described. In a general user authentication system that allows a user to log in based on a password entered by a user, as described above, if there is an input error a predetermined number of times for a combination of a predetermined user ID and password, On the other hand, no further input is possible. Therefore, the lower limit of “x” can be set to be sufficiently larger than the number of times “y” in which an input error is allowed in a general user authentication system in the world. Although it differs depending on the system, for example, the number of times “y” in which an input error is allowed is often a single digit number such as five times. Therefore, if the number of original character string candidates “x” for one converted password character string is set to about 100 or more, for example, the converted password character string leaks and the corresponding password character string Even if it is guessed, about 100 or more password character string candidates are listed, and unauthorized access by a third party can be prevented.
次に、「x」の上限について説明する。一の変換後パスワード文字列に対する元の文字列の候補の数「x」が多すぎると、ユーザがパスワードを変更する際に新たに設定しようとするパスワードが、過去のパスワードとは全く異なるものであるにも関わらず、新たなパスワードに対応する変換後パスワード文字列が過去のパスワードの変換後パスワード文字列と偶然一致する「衝突」が生じる可能性が高くなる。このような「衝突」が生じると、過去のパスワードと全く異なる新たなパスワードであっても、システムにより強度が低いと判断されて、システムの仕様によってはその新たなパスワードが設定できないことがある。特に、登録ユーザの数が多く、多くのユーザのパスワード情報を記憶するシステムにおいては、偶然一致により「衝突」が生じる可能性が高くなる。従って、「x」の上限は、「衝突」発生の頻度が現実のシステムの運用上で問題とならない程度となるように設定する必要がある。 Next, the upper limit of “x” will be described. If the number of original character string candidates “x” for one converted password character string is too large, the password to be newly set when the user changes the password is completely different from the past password. In spite of this, there is a high possibility that a “collision” will occur in which the converted password character string corresponding to the new password coincides with the converted password character string of the past password. When such a “collision” occurs, even if a new password is completely different from the past password, it is determined that the strength is low by the system, and the new password may not be set depending on the specifications of the system. In particular, in a system that has a large number of registered users and stores password information of many users, there is a high possibility that a “collision” will occur due to coincidence. Accordingly, the upper limit of “x” needs to be set so that the frequency of occurrence of “collisions” does not become a problem in the operation of the actual system.
以上のように、本実施形態におけるパスワード管理システム4によれば、パスワードの強度を高めるためにユーザの過去のパスワード文字列の変換後パスワード文字列CPP1〜CPPnを保存しつつも、各変換後パスワード文字列CPP1〜CPPnに対して元の文字列の候補が複数存在する構成となっている。従って、万一変換後パスワード文字列CPP1〜CPPnが漏洩して元の文字列が推測されたとしても、元のパスワード文字列の候補が複数存在することになり、本来のパスワード文字列を一意に特定することが困難となる。上述したように、一般的なユーザ認証システムにおいては、所定のユーザIDとパスワードとの組み合わせに対して、所定回数入力ミスがあると、その組み合わせに対してそれ以上の入力が不能となる設定とされる。従って、本実施形態におけるパスワード管理システム4によれば、パスワード文字列の候補をリストアップして他のシステムへの攻撃を行うリスト型アタックに対してもより強いセキュリティを担保することができる。そのため、他のシステムへの不正アクセスを防ぐことができる。
As described above, according to the
次に具体例を説明する。
(例1)
本例において、パスワード情報記憶部62は、過去のパスワードについては、例えば、パスワード文字列に一方向性ハッシュ関数(MD関数)をかけて得られたハッシュ値全体を保存するのではなく、ハッシュ値から一部の文字列のみを当該パスワード文字列の変換後パスワード文字列として保持する構成とすることができる。
Next, a specific example will be described.
(Example 1)
In this example, for the past password, the password
図7は、本例における演算式記憶部64の内部構成の一例を示す図である。
FIG. 7 is a diagram illustrating an example of the internal configuration of the arithmetic
パスワード情報記憶部62に記憶された過去の変換後パスワード文字列CPPは、入力された文字列を一意性のある暗号化文字列に変換する暗号化演算式E2(第1の暗号化演算式)を用いて変換された暗号化文字列の一部を第1の規則R1に従って抽出して得られたものとすることができる。つまり、本例においては、上記演算式eは、暗号化演算式E2を行った後に第1の規則R1の処理を行う暗号化演算式E2と第1の規則R1の組み合わせとすることができる。また、変換後入力文字列CNPは、暗号化演算式E2を用いて新たなパスワード文字列NPを変換して取得された文字列又は当該文字列の一部を第1の規則R1に従って抽出して取得された文字列とすることができる。
The past converted password character string CPP stored in the password
暗号化演算式E2は、例えば、一方向性ハッシュ関数(MD関数)等の一方向で一意に決まる暗号化演算式とすることができる。暗号化演算式E2と現在のパスワード文字列に施される上記暗号化演算式E1とは同じとすることもでき、異なるようにすることもできる。第1の規則R1は、暗号化演算式E2を用いて変換された暗号化文字列のどの位置から何桁(r桁)の文字列を抽出するかを規定した規則とすることができる。第1の規則R1は、例えば、「末尾r桁」、「先頭からa1桁目〜a2桁目」等の規則とすることができる。 The encryption arithmetic expression E2 can be an encryption arithmetic expression uniquely determined in one direction such as a one-way hash function (MD function), for example. The encryption arithmetic expression E2 and the encryption arithmetic expression E1 applied to the current password character string can be the same or different. The first rule R1 can be a rule that defines how many digits (r digits) of a character string are extracted from which position of the encrypted character string converted by using the encryption arithmetic expression E2. The first rule R1 can be, for example, a rule such as “end r digit”, “a1st to a2nd digits from the beginning”, and the like.
第1の規則R1の決定方法(何桁(r桁)の文字列を抽出するか)の一例を説明する。 An example of how to determine the first rule R1 (how many (r) digit character strings are extracted) will be described.
例えば、パスワード文字列が62種類の英数字を用いた8桁であり、暗号化演算式E2が入力されたパスワード文字列を、当該文字列を一意に特定する16進数の32桁の暗号化文字列に変換するものであるとする。この場合、想定されるパスワード文字列の総数は約2.18×1014通りとなる。また、暗号化文字列の総数は約3.40×1038通りとなる。 For example, the password character string is 8 digits using 62 types of alphanumeric characters, and the password character string to which the encryption formula E2 is input is converted into a 32-digit hexadecimal encrypted character that uniquely identifies the character string. Suppose that you want to convert to a column. In this case, the total number of assumed password character strings is about 2.18 × 10 14 patterns. The total number of encrypted character strings is about 3.40 × 10 38 .
まず、例えば、第1の規則R1が、上記暗号化文字列の所定箇所の一部(例えば末尾)6桁を抽出して変換後パスワード文字列を得るものである場合について検討する。この場合、得られる変換後パスワード文字列の総数は約1.68×107通りとなる。 First, for example, consider the case where the first rule R1 is to obtain a converted password character string by extracting a part (for example, the end) 6 digits of a predetermined portion of the encrypted character string. In this case, the total number of converted password character strings obtained is about 1.68 × 10 7 patterns.
演算結果が完全にランダムであった場合、パスワード文字列は必ずいずれかの変換後パスワード文字列に変換されるため、一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」は、
x≒(パスワード文字列の総数)/(変換後パスワード文字列の総数)=(約2.18×1014)/(約1.68×107)=約1.30×107となる。
If the calculation result is completely random, the password character string is always converted into one of the converted password character strings, and therefore the number of original password character string candidates for one converted password character string “x” Is
x≈ (total number of password character strings) / (total number of password character strings after conversion) = (about 2.18 × 10 14 ) / (about 1.68 × 10 7 ) = about 1.30 × 10 7
一方、新たに設定しようとするパスワード文字列に上述した「衝突」が生じる確率pは、
(一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」)/(パスワード文字列の総数)=(約1.30×107)/(約2.18×1014)=5.96×10−8となる。
On the other hand, the probability p that the above-mentioned “collision” occurs in the password string to be newly set is
(Number of original password character string candidates for one converted password character string “x”) / (total number of password character strings) = (approximately 1.30 × 10 7 ) / (approximately 2.18 × 10 14 ) = 5.96 × 10 −8 .
過去のパスワードを複数世代分(1世代前〜n世代)記憶している場合に新たに設定しようとするパスワード文字列に上述した「衝突」が生じる確率pnは、
(世代数「n」)×(一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」)/(パスワード文字列の総数)=n×(約1.30×107)/(約2.18×1014)=n×5.96×10−8となる。
When the past passwords are stored for a plurality of generations (one generation before to n generations), the probability pn that the above-described “collision” occurs in the password character string to be newly set is:
(Number of generations “n”) × (number of original password character string candidates “x” for one converted password character string) / (total number of password character strings) = n × (about 1.30 × 10 7 ) / (About 2.18 × 10 14 ) = n × 5.96 × 10 −8 .
以上のように、上記暗号化文字列の所定箇所の一部(例えば末尾)6桁を抽出して変換後パスワード文字列を得る場合、一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」は、約1.30×107となり、リスト型アタックに対してもより強いセキュリティを担保することができる。一方、登録ユーザの数が多く、多くのユーザのパスワード情報を記憶するシステムにおいては、偶然一致による「衝突」が問題となる可能性がある。 As described above, when obtaining a converted password character string by extracting a part (for example, the end) 6 digits of a predetermined portion of the encrypted character string, the original password character string candidate for one converted password character string The number of “x” is about 1.30 × 10 7 , and it is possible to ensure stronger security against a list type attack. On the other hand, in a system in which the number of registered users is large and password information of many users is stored, “collision” due to coincidence may be a problem.
そこで、例えば、第1の規則R1が、上記暗号化文字列の所定箇所の一部(例えば末尾)7桁を抽出して変換後パスワード文字列を得るものである場合について検討する。この場合、一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」は、
x≒(パスワード文字列の総数)/(変換後パスワード文字列の総数)=(約2.18×1014)/(約1.1012)=約198となる。
Thus, for example, consider a case where the first rule R1 is to extract a converted password character string by extracting 7 digits (for example, the end) of a predetermined portion of the encrypted character string. In this case, the number “x” of original password string candidates for one converted password string is:
x≈ (total number of password character strings) / (total number of password character strings after conversion) = (about 2.18 × 10 14 ) / (about 1.10 12 ) = about 198.
このように、上記暗号化文字列の所定箇所の一部(例えば末尾)7桁を抽出して変換後パスワード文字列を得る場合でも、一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」は、約198となり、リスト型アタックに対しても充分強いセキュリティを担保することができる。 As described above, even when a converted password character string is obtained by extracting a part (for example, the end) 7 digits of a predetermined portion of the encrypted character string, the original password character string candidate for one converted password character string is obtained. The number “x” is about 198, and sufficiently strong security can be ensured even for a list type attack.
一方、新たに設定しようとするパスワード文字列に上述した「衝突」が生じる確率pは、
(一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」)/(パスワード文字列の総数)=(約198)/(約2.18×1014)=9.08×10−13となり、「衝突」が生じる確率pを、第1の規則R1が、上記暗号化文字列の所定箇所の一部(例えば末尾)6桁を抽出して変換後パスワード文字列を得るものである場合に比べて充分に小さくすることができる。
On the other hand, the probability p that the above-mentioned “collision” occurs in the password string to be newly set is
(Number of original password character string candidates for one converted password character string “x”) / (total number of password character strings) = (approximately 198) / (approximately 2.18 × 10 14 ) = 9.08 × 10-13 and the first rule R1 obtains a password character string after conversion by extracting a part (for example, the last 6 digits) of a predetermined portion of the encrypted character string with respect to the probability p that “collision” occurs. It can be made sufficiently small as compared with the case of.
以上のように、パスワード情報記憶部62に記憶された過去の変換後パスワード文字列CPPの桁数rを何桁とするかは、想定されるリスクや対策を行うレベルに応じて決定することができる。
As described above, the number of digits r in the past password character string CPP after conversion stored in the password
図8は、本例におけるパスワード情報記憶部62の内部構成の一例を示す図である。
FIG. 8 is a diagram showing an example of the internal configuration of the password
パスワード情報記憶部62は、図5に示した例と同様、「ユーザID」、「現在のパスワード」、「過去のパスワード」等の項目を含む。パスワード情報記憶部62は、「現在のパスワード」については、例えば、32桁の暗号化文字列を記憶することができる。一方、パスワード情報記憶部62は、「過去のパスワード」については、例えば、32桁の暗号化文字列の一部である末尾r桁を抽出した変換後パスワード文字列を記憶することができる。
The password
図9は、本実施形態におけるパスワード管理システム4の処理手順の一例を示すフローチャートである。ここでは、パスワード情報記憶部62に記憶された現在のパスワード文字列に施された暗号化演算式E1が過去のパスワード文字列に施される暗号化演算式E2と同じである場合を例として説明する。
FIG. 9 is a flowchart showing an example of a processing procedure of the
パスワード管理システム4にログインしているユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付け付けると(ステップS102)、パスワード管理制御部42の制御のもと、文字列変換部44は、新たなパスワード文字列NPを暗号化演算式E1(=暗号化演算式E2)を用いて暗号化パスワード文字列ENPに変換する(ステップS104)。
When an input of a new password character string NP is accepted together with a password change instruction from a user who has logged in to the password management system 4 (step S102), a character string conversion unit is controlled under the control of the password
次いで、強度判断部52は、暗号化パスワード文字列ENPがパスワード情報記憶部62において当該ユーザIDに対応づけられた現在のパスワードの暗号化パスワード文字列ECPと一致するか否かを判断する(ステップS106)。暗号化パスワード文字列ENPが現在のパスワードの暗号化パスワード文字列ECPと完全一致する場合(ステップS108のYES)、強度判断部52は、強度判断条件記憶部66の強度判断条件に従って、例えば、新たなパスワード文字列NPの強度が非常に低いとして、パスワード変更を受け付けず、エラー表示を行う(ステップS118)。
Next, the
一方、暗号化パスワード文字列ENPが現在のパスワードの暗号化パスワード文字列ECPと完全一致しない場合(ステップS108のNO)、強度判断部52は、新たなパスワード文字列NPが当該ユーザの過去のパスワード文字列と一致するか否かを判断する。
On the other hand, when the encrypted password character string ENP does not completely match the encrypted password character string ECP of the current password (NO in step S108), the
一例として、強度判断部52は、暗号化パスワード文字列ENPをそのまま変換後入力文字列CNPとして用いる。強度判断部52は、暗号化パスワード文字列ENPにパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかが含まれるか否かを判断する(ステップS110)。
As an example, the
暗号化パスワード文字列ENPにパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかが含まれる場合(ステップS112のYES)、暗号化パスワード文字列ENPから上記第1の規則R1に従って抽出した文字列が変換後パスワード文字列CPP1〜CPPnのいずれかと一致するということであり、入力された新たなパスワード文字列NPが過去のパスワード文字列と同じである可能性が非常に高い。そのため、強度判断部52は、入力された新たなパスワード文字列NPの強度が低いと判断して、例えばユーザに警告等を行う(ステップS116)。
When any one of the converted password character strings CPP1 to CPPn stored in the password
一方、暗号化パスワード文字列ENPにパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれも含まれない場合(ステップS112のNO)、強度判断部52は、入力された新たなパスワード文字列NPの強度が高いと判断し、結果を出力する(ステップS114)。
On the other hand, when the encrypted password character string ENP does not include any of the converted password character strings CPP1 to CPPn stored in the password information storage unit 62 (NO in step S112), the
他の例として、ステップS110において、文字列変換部44は、暗号化パスワード文字列ENPから上記第1の規則R1に従って一部の文字列を抽出し、強度判断部52は、当該一部の文字列を変換後入力文字列CNPとして用い、当該一部の文字列とパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかとが一致するか否かを判断してもよい(ステップS110)。
As another example, in step S110, the character
当該文字列とパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかとが一致する場合(ステップS112のYES)、強度判断部52は、入力された新たなパスワード文字列NPの強度が低いと判断する(ステップS116)。一方、当該文字列とパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかとが一致しない場合(ステップS112のNO)、強度判断部52は、入力された新たなパスワード文字列NPの強度が高いと判断する(ステップS114)。
If the character string matches any one of the converted password character strings CPP1 to CPPn stored in the password information storage unit 62 (YES in step S112), the
なお、パスワード情報記憶部62に記憶された現在のパスワード文字列に施された暗号化演算式E1と過去のパスワード文字列に施される暗号化演算式E2とが異なる場合は、ステップS110において、パスワード管理制御部42の制御のもと、文字列変換部44は、新たなパスワード文字列NPを暗号化演算式E2を用いて暗号化文字列に変換した後、上記と同様の処理を行う。
(例2)
本例において、パスワード情報記憶部62に記憶された過去の変換後パスワード文字列CPPは、入力された文字列を第2の規則R2に従って複数の文字列に分割し、各複数の文字列を、入力された文字列を一意性のある暗号化文字列に変換する暗号化演算式E3(第2の暗号化演算式)を用いてそれぞれ一意性のある暗号化文字列に変換し、変換した各暗号化文字列の一部を第3の規則R3に従って組み合わせて得られたものとすることができる。つまり、本例においては、上記演算式eは、第2の規則R2と、暗号化演算式E3と、第3の規則R3とをこの順で行う組み合わせとすることができる。
If the encryption formula E1 applied to the current password character string stored in the password
(Example 2)
In this example, the past converted password character string CPP stored in the password
文字列変換部44は、新たなパスワード文字列NPを、第2の規則R2に従って複数の文字列に分割し、各複数の文字列を、暗号化演算式E3を用いてそれぞれ一意性のある暗号化文字列に変換し、変換した各暗号化文字列の一部を第3の規則R3に従って組み合わせて取得した文字列を変換後入力文字列CNPとすることができる。
The character
第2の規則R2は、変換前の文字列を、どのように分割するかを規定した規則とすることができる。例えば、第2の規則R2は、変換前の文字列を先頭から所定桁数sずつ分割するという規定とすることができる。例えば、変換前の文字列が「password」で、所定桁数sが2だとすると、文字列変換部44は、「password」を「pa」、「ss」、「wo」及び「rd」に分割する。
The second rule R2 can be a rule that defines how the character string before conversion is divided. For example, the second rule R2 can be defined as dividing the character string before conversion by a predetermined number of digits s from the beginning. For example, if the character string before conversion is “password” and the predetermined number of digits s is 2, the character
暗号化演算式E3は、例えば、一方向性ハッシュ関数(MD関数)等の一方向で一意に決まる暗号化演算式とすることができる。暗号化演算式E3と現在のパスワード文字列に施される上記暗号化演算式E1とは同じとすることもでき、異なるようにすることもできる。文字列変換部44は、暗号化演算式E3を用いて、分割した「pa」、「ss」、「wo」及び「rd」それぞれを暗号化文字列「E(pa)」、「E(ss)」、「E(wo)」及び「E(rd)」に変換する。
The encryption arithmetic expression E3 can be, for example, an encryption arithmetic expression uniquely determined in one direction such as a one-way hash function (MD function). The encryption arithmetic expression E3 and the encryption arithmetic expression E1 applied to the current password character string can be the same or different. The character
第3の規則R3は、暗号化演算式E3を用いて変換された各暗号化文字列のどの位置から何桁(r2)の文字列を抽出するかを規定するとともに、抽出した文字列をどのように結合するかを規定した規則とすることができる。第3の規則R3は、例えば、「末尾r2桁」、「先頭からa3桁目〜a4桁目」等の規則とすることができる。 The third rule R3 prescribes how many digits (r2) of character strings are extracted from which position of each encrypted character string converted using the encryption arithmetic expression E3, and which character string is extracted It can be a rule that defines how to combine them. The third rule R3 may be, for example, a rule such as “end r2 digit”, “a3rd to a4th digits from the beginning”, and the like.
文字列変換部44は、各暗号化文字列「E(pa)」、「E(ss)」、「E(wo)」及び「E(rd)」から、それぞれそれらの一部である所定位置の所定桁数r2の文字列「C(pa)」、「C(ss)」、「C(wo)」及び「C(rd)」を抽出する。次いで、文字列変換部44は、抽出した文字列「C(pa)」、「C(ss)」、「C(wo)」及び「C(rd)」を所定の順序で結合する。結合する順序は、例えば、変換前の文字列の配置と同様、「C(pa)」、「C(ss)」、「C(wo)」及び「C(rd)」の順とすることができる。従って、パスワード情報記憶部62に記憶される変換後パスワード文字列CPPは、例えば「C(pa)C(ss)C(wo)C(rd)」のように並べた文字列とすることができる。
The character
以上の構成としても、各文字列「C(pa)」、「C(ss)」、「C(wo)」及び「C(rd)」は、各暗号化文字列「E(pa)」、「E(ss)」、「E(wo)」及び「E(rd)」からそれぞれ一部を抽出したものであるため、一の変換後パスワード文字列に対する元の文字列の候補が複数になるようにすることができる。 Even with the above configuration, each character string “C (pa)”, “C (ss)”, “C (wo)”, and “C (rd)” is converted into each encrypted character string “E (pa)”, Since a part is extracted from each of “E (ss)”, “E (wo)”, and “E (rd)”, there are a plurality of original character string candidates for one converted password character string. Can be.
また、このような構成とした場合は、入力されたパスワード文字列と、パスワード情報記憶部62に記憶された過去のパスワード文字列の部分的な一致も検出することができるため、強度判断部52は、ユーザが過去に利用したパスワードと部分的に一致するパスワードを新たに登録しようとする際に、警告等を行うことができる。例えば、過去のパスワード文字列が「pass1122」で、新たに登録しようとするパスワードが「pass3344」の場合、上記演算式eによる変換後の文字列は、それぞれ「C(pa)C(ss)C(11)C(22)」、「C(pa)C(ss)C(33)C(44)」となる。つまり、これらの文字列の前半部分が一致することになる。本例において、強度判断部52は、このように、ユーザが過去に利用したパスワードと部分的に一致するパスワードを新たに登録しようとする際に、警告等を行うことができる。
(例3)
本例において、パスワード情報記憶部62に記憶された変換後パスワード文字列CPPは、入力された文字列の一部を第4の規則R4に従って抽出して得られた文字列を、入力された文字列を一意性のある暗号化文字列に変換する暗号化演算式E4(第3の暗号化演算式)を用いて一意性のある暗号化文字列に変換して得られたものとすることができる。つまり、本例においては、上記演算式eは、第4の規則R4と、暗号化演算式E4とをこの順で行う組み合わせとすることができる。
Further, in the case of such a configuration, a partial match between the input password character string and the past password character string stored in the password
(Example 3)
In this example, the converted password character string CPP stored in the password
文字列変換部44は、新たなパスワード文字列NPの一部を第4の規則R4に従って抽出し、抽出した文字列を暗号化演算式E4を用いて取得した暗号化文字列を変換後入力文字列CNPとすることができる。
The character
第4の規則R4は、変換前の文字列のどの位置から何桁(r3)の文字列を抽出するかを規定した規則とすることができる。第4の規則R4は、例えば、「末尾r3桁」、「先頭からa5桁目〜a6桁目」等の規則とすることができる。例えば、変換前の文字列が「password」で、第4の規則R4が「末尾4桁」だとすると、文字列変換部44は、「password」から「word」を抽出する。ここで、何桁(r3)の文字列を抽出するかは、変換後の文字列に対して元の文字列の候補が複数(x個)存在するように決定することができる。
The fourth rule R4 can be a rule that defines how many digits (r3) of character strings are extracted from which position of the character string before conversion. The fourth rule R4 may be, for example, a rule such as “last r3 digit”, “a5th to a6th digit from the beginning”, and the like. For example, assuming that the character string before conversion is “password” and the fourth rule R4 is “last 4 digits”, the character
暗号化演算式E4は、例えば、一方向性ハッシュ関数(MD関数)等の一方向で一意に決まる暗号化演算式とすることができる。暗号化演算式E4と現在のパスワード文字列に施される上記暗号化演算式E1とは同じとすることもでき、異なるようにすることもできる。 The encryption arithmetic expression E4 can be an encryption arithmetic expression uniquely determined in one direction such as a one-way hash function (MD function), for example. The encryption operation expression E4 and the encryption operation expression E1 applied to the current password character string can be the same or different.
以上の構成としても、一の変換後パスワード文字列に対する元の文字列の候補が複数になるようにすることができる。
(例4)
なお、上述したように、コンピュータの計算速度の向上等により、暗号化演算式が破られる等してセキュリティが低下してしまう可能性もあり、時代とともに、新たな暗号化技術が開発されている。そのため、以上のように、過去のパスワードを複数世代分(1世代前〜n世代前)記憶する構成とした場合、保存した時期によって、上記演算式eとして、異なる演算式を用いる可能性がある。
Even with the above configuration, a plurality of original character string candidates for one converted password character string can be provided.
(Example 4)
In addition, as described above, there is a possibility that the encryption calculation formula is broken and the security is lowered due to the improvement of the computer calculation speed, etc., and new encryption technologies are being developed with the times. . Therefore, as described above, when the past passwords are stored for a plurality of generations (1 generation to n generations before), different calculation formulas may be used as the calculation formula e depending on the stored time. .
そのため、パスワード情報記憶部62は、ユーザ毎に、第1の過去のパスワード文字列PP1及び当該第1の過去のパスワード文字列PP1よりも古い世代の第2の過去のパスワード文字列PP2を、それぞれ、同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数存在するように文字列を変換する所定の第1の演算式e1及び所定の第2の演算式e2を用いて変換した第1の変換後パスワード文字列CPP1及び第2の変換後パスワード文字列CPP2を記憶するとともに、当該変換後パスワード文字列CPP1及び第2の変換後パスワード文字列CPP2を所定の第1の演算式e1及び所定の第2の演算式e2を示す情報に対応づけて記憶することができる。
Therefore, the password
文字列変換部44は、ユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付けると、所定の第1の演算式e1及び所定の第2の演算式e2に基づき、新たなパスワード文字列NPを当該パスワード文字列NPとは異なる第1の変換後入力文字列CNP1及び第2の変換後入力文字列CNP2にそれぞれ変換することができる。
When the character
強度判断部52は、第1の変換後入力文字列CNP1と第1の変換後パスワード文字列CPP1と、及び第2の変換後入力文字列CNP2と第2の変換後パスワード文字列CPP2とに基づき、新たなパスワード文字列NPの強度を判断することができる。
The
図10は、本例におけるパスワード情報記憶部62の内部構成の一例を示す図である。
FIG. 10 is a diagram showing an example of the internal configuration of the password
ここでも、図5に示した例と同様、パスワード情報記憶部62は、「ユーザID」、「現在のパスワード」、「過去のパスワード」等の項目を含む。「過去のパスワード」は、世代毎に、当該ユーザの過去のパスワード文字列PP1〜PPnに対応する変換後パスワード文字列CPP1〜CPPnと、当該変換後パスワード文字列CPP1〜CPPnを得るために用いられた演算式を示す情報「e1」、「e2」とが対応づけられた構成となっている。演算式を示す情報「e1」、「e2」は、演算式そのものではなく、演算式を特定するID等とすることができる。
Here, as in the example shown in FIG. 5, the password
通常、より古い世代の過去のパスワードの変換後パスワード文字列に対応づけられた所定の第2の演算式e2は、所定の第1の演算式e1よりもセキュリティが低い。そのため、強度判断部52が入力されたパスワードの強度を判断する際に、古い世代の過去のパスワードは例えば参照程度とする等、強度判断のレベルを下げてもよい。具体的には、強度判断部52は、第1の変換後入力文字列CNP1と第1の変換後パスワード文字列CPP1とに基づく判断結果を第2の変換後入力文字列CNP2と第2の変換後パスワード文字列CPP2とに基づく判断結果よりも高い重み付けをして新たなパスワード文字列NPの強度を判断することができる。このような条件は、強度判断条件記憶部66に記憶される。
Usually, the predetermined second arithmetic expression e2 associated with the converted password character string of the past password of the older generation has lower security than the predetermined first arithmetic expression e1. Therefore, when the
本実施形態において、以上の構成とすることにより、パスワードの強度を高めるために過去に設定されたパスワードに関する情報を保存しつつも、そのパスワードが漏洩した場合でも他のシステムへの不正アクセスを防ぐことができる技術を提供することができる。 In the present embodiment, the above-described configuration prevents unauthorized access to other systems even when the password is leaked while storing information related to the password set in the past in order to increase the strength of the password. Technology that can be provided.
なお、図4に示したユーザ端末装置1及びパスワード管理システム4の各構成要素は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。ユーザ端末装置1及びパスワード管理システム4の各構成要素は、任意のコンピュータのCPU、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。また、パスワード管理システム4が行う機能は、一つの装置で実行される必要はなく、複数の装置に分散配置した構成としてもよい。
Each component of the
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。 As mentioned above, although embodiment of this invention was described with reference to drawings, these are the illustrations of this invention, Various structures other than the above are also employable.
1 ユーザ端末装置
2 アクセスポイント
3 ネットワーク
4 パスワード管理システム
12 サーバアクセス部
16 操作入力受付部
18 画面表示処理部
42 パスワード管理制御部
44 文字列変換部
52 強度判断部
62 パスワード情報記憶部
64 演算式記憶部
66 強度判断条件記憶部
DESCRIPTION OF
Claims (11)
ユーザ毎に、当該ユーザの過去のパスワード文字列PPを、前記所定の演算式を用いて当該過去のパスワード文字列PPとは異なる変換後パスワード文字列CPPに変換した状態で記憶するパスワード情報記憶部と、
パスワードの強度を判断する強度判断部と、
を含み、
前記文字列変換部は、ユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付けると、前記所定の演算式に基づき前記新たなパスワード文字列NPを当該パスワード文字列NPとは異なる変換後入力文字列CNPに変換し、
前記強度判断部は、前記変換後入力文字列CNPと前記パスワード情報記憶部に記憶された当該ユーザの前記変換後パスワード文字列CPPとに基づき、前記新たなパスワード文字列NPの強度を判断するパスワード管理システム。 For the same character string, give the same conversion result, and input the character string using a predetermined arithmetic expression that converts the character string so that there are multiple original character string candidates for the converted character string A character string conversion unit that converts the character string into a character string different from the character string,
A password information storage unit that stores, for each user, the past password character string PP of the user converted into a converted password character string CPP different from the past password character string PP using the predetermined arithmetic expression. When,
A strength judgment unit for judging the strength of the password;
Including
When the character string conversion unit receives an input of a new password character string NP along with a password change instruction from the user, the character string conversion unit converts the new password character string NP to the password character string NP based on the predetermined arithmetic expression. Convert to a different input string CNP after conversion,
The strength determination unit is a password for determining the strength of the new password character string NP based on the converted input character string CNP and the converted password character string CPP of the user stored in the password information storage unit. Management system.
前記パスワード情報記憶部に記憶された前記変換後パスワード文字列CPPは、入力された文字列を一意性のある暗号化文字列に変換する第1の暗号化演算式を用いて変換された暗号化文字列の一部を第1の規則に従って抽出して得られたものであって、
前記変換後入力文字列CNPは、前記第1の暗号化演算式を用いて前記新たなパスワード文字列NPを変換して取得された文字列又は当該文字列の一部を前記第1の規則に従って抽出して取得された文字列であるパスワード管理システム。 The password management system according to claim 1,
The converted password character string CPP stored in the password information storage unit is encrypted using a first encryption arithmetic expression that converts the input character string into a unique encrypted character string. It was obtained by extracting a part of the character string according to the first rule,
The converted input character string CNP is obtained by converting a character string obtained by converting the new password character string NP using the first encryption arithmetic expression or a part of the character string according to the first rule. Password management system that is a character string extracted and acquired.
前記変換後入力文字列CNPは、前記第1の暗号化演算式を用いて前記新たなパスワード文字列NPを変換して取得された文字列であって、
前記強度判断部は、前記変換後入力文字列CNPに前記パスワード情報記憶部に記憶された当該ユーザの前記変換後パスワード文字列CPPが含まれる場合に、前記新たなパスワード文字列NPの強度が低いと判断するパスワード管理システム。 In the password management system according to claim 2,
The converted input character string CNP is a character string obtained by converting the new password character string NP using the first encryption arithmetic expression,
The strength determination unit has a low strength of the new password character string NP when the converted input character string CNP includes the converted password character string CPP of the user stored in the password information storage unit. Password management system to judge
前記変換後入力文字列CNPは、前記第1の暗号化演算式を用いて当該新たなパスワード文字列NPを一意に特定する暗号化文字列に変換し、その後に前記第1の規則に従って、当該暗号化文字列の一部を抽出して取得された文字列であって、
前記強度判断部は、前記変換後入力文字列CNPと前記パスワード情報記憶部に記憶された当該ユーザの前記変換後パスワード文字列CPPとが一致する場合に、前記新たなパスワード文字列NPの強度が低いと判断するパスワード管理システム。 In the password management system according to claim 2,
The converted input character string CNP is converted into an encrypted character string that uniquely specifies the new password character string NP by using the first encryption arithmetic expression, and thereafter, according to the first rule, A character string obtained by extracting a part of the encrypted character string,
The strength determining unit determines whether the strength of the new password character string NP is equal to the converted password character string CPP of the user stored in the password information storage unit when the converted input character string CNP matches the converted password character string CPP. Password management system that is judged to be low.
前記パスワード情報記憶部に記憶された前記変換後パスワード文字列CPPは、入力された文字列を第2の規則に従って複数の文字列に分割し、各前記複数の文字列を、入力された文字列を一意性のある暗号化文字列に変換する第2の暗号化演算式を用いてそれぞれ一意性のある暗号化文字列に変換し、変換した各暗号化文字列の一部を第3の規則に従って組み合わせて得られたものであって、
前記変換後入力文字列CNPは、前記新たなパスワード文字列NPを、前記第2の規則に従って複数の文字列に分割し、各前記複数の文字列を、前記第2の暗号化演算式を用いてそれぞれ一意性のある暗号化文字列に変換し、変換した各暗号化文字列又はその一部を前記第3の規則に従って組み合わせて取得された文字列であるパスワード管理システム。 The password management system according to claim 1,
The converted password character string CPP stored in the password information storage unit divides the input character string into a plurality of character strings according to a second rule, and each of the plurality of character strings is input to the input character string. Is converted into a unique encrypted character string using the second encryption arithmetic expression for converting the encrypted character string into a unique encrypted character string, and a part of each converted encrypted character string is a third rule. Obtained by combining according to
The converted input character string CNP divides the new password character string NP into a plurality of character strings according to the second rule, and uses the second encryption arithmetic expression for each of the plurality of character strings. A password management system which is a character string obtained by converting each encrypted character string into a unique encrypted character string and combining the converted encrypted character strings or a part thereof according to the third rule.
前記パスワード情報記憶部に記憶された前記変換後パスワード文字列CPPは、入力された文字列の一部を第4の規則に従って抽出して得られた文字列を、入力された文字列を一意性のある暗号化文字列に変換する第3の暗号化演算式を用いて一意性のある暗号化文字列に変換して得られたものであって、
前記変換後入力文字列CNPは、前記新たなパスワード文字列NPの一部を前記第4の規則に従って抽出し、抽出した文字列を前記第3の暗号化演算式を用いて取得された暗号化文字列であるパスワード管理システム。 The password management system according to claim 1,
The converted password character string CPP stored in the password information storage unit is a unique character string obtained by extracting a part of the inputted character string according to the fourth rule. Obtained by converting to a unique encrypted character string using a third encryption arithmetic expression for converting to a certain encrypted character string,
The converted input character string CNP extracts a part of the new password character string NP according to the fourth rule, and the extracted character string is encrypted using the third encryption arithmetic expression. Password management system that is a string.
前記パスワード情報記憶部は、前記ユーザの現在のパスワード文字列CPを、入力された文字列を一意性のある暗号化文字列に変換する第4の暗号化演算式を用いて当該パスワード文字列CPとは異なる暗号化パスワード文字列ECPに変換した状態で、前記変換後パスワード文字列CPPとともに記憶するパスワード管理システム。 The password management system according to any one of claims 1 to 6,
The password information storage unit uses the fourth encryption arithmetic expression to convert the current password character string CP of the user into a unique encrypted character string. The password management system which stores with the said converted password character string CPP in the state converted into the encryption password character string ECP different from FIG.
前記第4の暗号化演算式は、前記第1の暗号化演算式、前記第2の暗号化演算式又は前記第3の暗号化演算式と等しいパスワード管理システム。 In the password management system according to claim 7,
The fourth encryption arithmetic expression is the same password management system as the first encryption arithmetic expression, the second encryption arithmetic expression, or the third encryption arithmetic expression.
前記パスワード情報記憶部は、ユーザ毎に、第1の過去のパスワード文字列PP1及び当該第1の過去のパスワード文字列PP1よりも古い世代の第2の過去のパスワード文字列PP2を、それぞれ、同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数存在するように文字列を変換する所定の第1の演算式及び所定の第2の演算式を用いて変換した第1の変換後パスワード文字列CPP1及び第2の変換後パスワード文字列CPP2を記憶するとともに、当該変換後パスワード文字列CPP1及び前記第2の変換後パスワード文字列CPP2を前記所定の第1の演算式及び前記所定の第2の演算式を示す情報に対応づけて記憶し、
前記文字列変換部は、ユーザから、パスワードの変更指示とともに、前記新たなパスワード文字列NPの入力を受け付けると、前記所定の第1の演算式及び前記所定の第2の演算式に基づき、前記新たなパスワード文字列NPを当該パスワード文字列NPとは異なる第1の変換後入力文字列CNP1及び第2の変換後入力文字列CNP2にそれぞれ変換し、
前記強度判断部は、前記第1の変換後入力文字列CNP1と前記第1の変換後パスワード文字列CPP1と、及び第2の変換後入力文字列CNP2と前記第2の変換後パスワード文字列CPP2とに基づき、前記新たなパスワード文字列NPの強度を判断するパスワード管理システム。 The password management system according to any one of claims 1 to 8,
The password information storage unit has the same first past password character string PP1 and second past password character string PP2 of a generation older than the first past password character string PP1 for each user. A predetermined first arithmetic expression and a predetermined second calculation that give the same conversion result for the character string and convert the character string so that there are a plurality of original character string candidates for the converted character string The first converted password character string CPP1 and the second converted password character string CPP2 converted using the formula are stored, and the converted password character string CPP1 and the second converted password character string CPP2 are stored in the Storing in association with information indicating the predetermined first arithmetic expression and the predetermined second arithmetic expression;
When the character string conversion unit receives an input of the new password character string NP together with a password change instruction from the user, based on the predetermined first arithmetic expression and the predetermined second arithmetic expression, The new password character string NP is converted into a first converted input character string CNP1 and a second converted input character string CNP2 different from the password character string NP, respectively.
The strength determination unit includes the first converted input character string CNP1 and the first converted password character string CPP1, and the second converted input character string CNP2 and the second converted password character string CPP2. And a password management system for determining the strength of the new password character string NP.
前記所定の第2の演算式は、前記所定の第1の演算式よりもセキュリティが低く、
前記強度判断部は、前記第1の変換後入力文字列CNP1と前記第1の変換後パスワード文字列CPP1とに基づく判断結果を前記第2の変換後入力文字列CNP2と前記第2の変換後パスワード文字列CPP2とに基づく判断結果よりも高い重み付けをして前記新たなパスワード文字列NPの強度を判断するパスワード管理システム。 The password management system according to claim 9, wherein
The predetermined second arithmetic expression is lower in security than the predetermined first arithmetic expression,
The strength determination unit obtains a determination result based on the first converted input character string CNP1 and the first converted password character string CPP1 and the second converted input character string CNP2 and the second converted character string. A password management system that determines a strength of the new password character string NP by weighting higher than a determination result based on the password character string CPP2.
同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数存在するように文字列を変換する所定の演算式を用いて、入力された文字列を当該文字列とは異なる文字列に変換する文字列変換手段、
ユーザ毎に、当該ユーザの過去のパスワード文字列PPを、前記所定の演算式を用いて当該過去のパスワード文字列PPとは異なる変換後パスワード文字列CPPに変換した状態で記憶するパスワード情報記憶手段、
パスワードの強度を判断する強度判断手段、
をして機能させ、
前記文字列変換手段は、ユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付けると、前記所定の演算式に基づき前記新たなパスワード文字列NPを当該パスワード文字列NPとは異なる変換後入力文字列CNPに変換し、
前記強度判断手段は、前記変換後入力文字列CNPと前記パスワード情報記憶手段に記憶された当該ユーザの前記変換後パスワード文字列CPPとに基づき、前記新たなパスワード文字列NPの強度を判断するパスワード管理システム用プログラム。 Computer
For the same character string, give the same conversion result, and input the character string using a predetermined arithmetic expression that converts the character string so that there are multiple original character string candidates for the converted character string A character string conversion means for converting the character string to a character string different from the character string,
Password information storage means for storing, for each user, a past password character string PP of the user converted into a converted password character string CPP different from the past password character string PP using the predetermined arithmetic expression. ,
Strength judging means for judging the strength of the password,
To function,
When the character string conversion means receives an input of a new password character string NP from the user together with a password change instruction, the new character string character string NP is defined as the password character string NP based on the predetermined arithmetic expression. Convert to a different input string CNP after conversion,
The strength determining means is a password for determining the strength of the new password character string NP based on the converted input character string CNP and the converted password character string CPP of the user stored in the password information storage means. Management system program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014127351A JP2015170352A (en) | 2014-06-20 | 2014-06-20 | password management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014127351A JP2015170352A (en) | 2014-06-20 | 2014-06-20 | password management system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014045494A Division JP5568696B1 (en) | 2014-03-07 | 2014-03-07 | Password management system and program for password management system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015170352A true JP2015170352A (en) | 2015-09-28 |
Family
ID=54202969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014127351A Pending JP2015170352A (en) | 2014-06-20 | 2014-06-20 | password management system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015170352A (en) |
-
2014
- 2014-06-20 JP JP2014127351A patent/JP2015170352A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10700861B2 (en) | System and method for generating a recovery key and managing credentials using a smart blockchain contract | |
JP5613855B1 (en) | User authentication system | |
JP5568696B1 (en) | Password management system and program for password management system | |
US10395065B2 (en) | Password protection under close input observation based on dynamic multi-value keyboard mapping | |
US9769154B2 (en) | Passcode operating system, passcode apparatus, and super-passcode generating method | |
US8271799B2 (en) | System and method for generating a disguised password based on a real password | |
US9208304B2 (en) | Method for web service user authentication | |
US10063538B2 (en) | System for secure login, and method and apparatus for same | |
US10715320B2 (en) | Password generation with key and derivation parameter | |
US20160105290A1 (en) | Universal anonymous cross-site authentication | |
US20150302201A1 (en) | Device and method for processing transaction request in processing environment of trust zone | |
US20180309744A1 (en) | Storage device and operation method of the same | |
CN108737094B (en) | Domain password security detection method and related equipment | |
EP3471042A1 (en) | Mobile payment method, system on chip and terminal | |
WO2013080062A1 (en) | Cross system secure logon | |
US10594693B2 (en) | Electronic device identification | |
US9984217B2 (en) | Electronic authentication of an account in an unsecure environment | |
WO2016072833A1 (en) | System and method to disable factory reset | |
JP5440710B2 (en) | Information processing apparatus, information processing apparatus control method, and information processing apparatus control program | |
US20220147613A1 (en) | Automatic password expiration based on password integrity | |
JP2015170352A (en) | password management system | |
CN108804122B (en) | Information security processing system, virtual dedicated server, and control method thereof | |
EP3306505B1 (en) | Information input method and device | |
JP2016200869A (en) | Authentication server, authentication system, and authentication method | |
JP2014164672A (en) | Authentication device and authentication method |