JP5568696B1 - パスワード管理システム及びパスワード管理システム用プログラム - Google Patents

パスワード管理システム及びパスワード管理システム用プログラム Download PDF

Info

Publication number
JP5568696B1
JP5568696B1 JP2014045494A JP2014045494A JP5568696B1 JP 5568696 B1 JP5568696 B1 JP 5568696B1 JP 2014045494 A JP2014045494 A JP 2014045494A JP 2014045494 A JP2014045494 A JP 2014045494A JP 5568696 B1 JP5568696 B1 JP 5568696B1
Authority
JP
Japan
Prior art keywords
character string
password
converted
arithmetic expression
string
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
JP2014045494A
Other languages
English (en)
Other versions
JP2015170210A (ja
Inventor
俊春 杉山
Original Assignee
株式会社 ディー・エヌ・エー
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 株式会社 ディー・エヌ・エー filed Critical 株式会社 ディー・エヌ・エー
Priority to JP2014045494A priority Critical patent/JP5568696B1/ja
Application granted granted Critical
Publication of JP5568696B1 publication Critical patent/JP5568696B1/ja
Priority to US14/521,643 priority patent/US9378358B2/en
Publication of JP2015170210A publication Critical patent/JP2015170210A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】パスワードの強度を高めるために過去に設定されたパスワードに関する情報を保存しつつも、そのパスワードが漏洩した場合でも他のシステムへの不正アクセスを防ぐことができる技術を提供する。
【解決手段】パスワード管理システム4は、同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数存在するように文字列を変換する所定の演算式を用いて、入力された文字列を当該文字列とは異なる文字列に変換する文字列変換部44と、ユーザ毎に、当該ユーザの過去のパスワード文字列PPを、上記所定の演算式を用いて当該過去のパスワード文字列PPとは異なる変換後パスワード文字列CPPに変換した状態で記憶するパスワード情報記憶部62と、新たなパスワード文字列NPの強度を判断するパスワードの強度を判断する強度判断部52とを含む。
【選択図】図4

Description

本発明は、パスワード管理システム及びパスワード管理システム用プログラムに関する。
従来、ユーザにパスワードを入力させてログインを許可するシステムで、パスワードの強度を保つために当該ユーザが過去に設定したパスワードも保存しておき、ユーザにパスワードを再設定させる際に同じパスワードが新たなパスワードとして入力された場合に警告したり拒絶したりする仕組みがある(例えば特許文献1)。
ここで、システム側でパスワードを安全に保存するために、パスワード文字列そのものを平文で保存するのではなく、パスワード文字列に例えばハッシュ関数等の一方向性関数を用いた演算を行い、当該パスワードを一意に特定する暗号化文字列として保存することが行われる。また、このとき、例えばソルト(salt)と呼ばれる乱数値または固定値等をパスワード文字列に付加してから一方向性関数を用いた演算を行う手法も採用されている。この手法を用いた場合、一方向性関数を用いた演算結果が充分にランダム性を有しており、現実的に入力に対して演算結果の衝突が起きないことが確からしい状態であれば、同じ演算を行うことによりユーザのパスワードの検証が可能であり、かつ演算結果から元のパスワード文字列を復元することはほぼ不可能となる。そのため、万一保存していたパスワードの暗号化文字列が漏洩したとしても、元のパスワード文字列を復元することはほぼ不可能である。
特開2004−280189号公報
しかし、上記のように、パスワードを暗号化文字列として保存し、パスワードを暗号化文字列に変換した際には暗号化文字列から元のパスワード文字列を復元することはほぼ不可能であったとしても、コンピュータの計算速度の向上等により、暗号化文字列から元のパスワード文字列を復元(推測)することが可能となるケースも考えられる。
例えば、近年、予め任意の文字列に一方向性関数を用いた演算を行った演算結果の一覧であるレインボーテーブルを用いて元のパスワード文字列を推測するというレインボー攻撃が行われている。このような攻撃が行われた場合、保存していたパスワードの暗号化文字列が漏洩した場合には、元のパスワード文字列が推測されるおそれがある。
あるシステムから、有効なパスワードの暗号化文字列が漏洩した場合には、漏洩が生じたシステムでそのパスワードを無効とする等の対処を取ることにより、暗号化文字列から元のパスワード文字列が推測されたとしても、当該システムへの不正なアクセスは防ぐことができる。また、上述した特許文献1に記載された技術のように、ユーザが過去に設定していたパスワードも保存されており、それらのパスワードも漏洩した場合でも、そのシステムではユーザが過去に設定していたパスワードは有効ではないため、不正なアクセスを防ぐことができる。
しかし、現在、ユーザは様々なシステムやサイトに対してそれぞれパスワードを設定しており、複数のシステムやサイトにわたって同じ、又は類似のパスワードを設定することが多い。例えば、あるシステムで過去に設定していたパスワードが他のシステムでは現在も有効なパスワードとして利用されていることがある。このような場合に、あるシステムで過去に設定していたパスワードの暗号化文字列が漏洩し、元のパスワード文字列が推測されると、そのパスワード文字列を用いて他のシステムへの不正アクセスが行われるおそれがある。
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、パスワードの強度を高めるために過去に設定されたパスワードに関する情報を保存しつつも、そのパスワードが漏洩した場合でも他のシステムへの不正アクセスを防ぐことができる技術を提供することにある。
本発明によれば、
入力された文字列を一意性のある暗号化文字列に変換する暗号化演算式を一部に含み、同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数存在するように文字列を変換する所定の演算式を用いて、入力された文字列を当該文字列とは異なる文字列に変換する文字列変換部と、
ユーザ毎に、当該ユーザの過去のパスワード文字列PPを、前記所定の演算式を用いて当該過去のパスワード文字列PPとは異なる変換後パスワード文字列CPPに変換した状態で記憶するパスワード情報記憶部と、
パスワードの強度を判断する強度判断部と、
を含み、
前記文字列変換部は、ユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付けると、前記所定の演算式又は前記暗号化演算式を用いて前記新たなパスワード文字列NPを当該パスワード文字列NPとは異なる変換後入力文字列CNPに変換し、
前記強度判断部は、前記変換後入力文字列CNPと前記パスワード情報記憶部に記憶された当該ユーザの前記変換後パスワード文字列CPPとに基づき、前記新たなパスワード文字列NPの強度を判断するパスワード管理システムが提供される。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、パスワードの強度を高めるために過去に設定されたパスワードに関する情報を保存しつつも、そのパスワードが漏洩した場合でも他のシステムへの不正アクセスを防ぐことができる技術を提供することができる。
本実施形態におけるネットワーク構成の一例を示すブロック図である。 本実施形態におけるユーザ端末装置のハードウェア構成の一例を示すブロック図である。 本実施形態におけるパスワード管理システムのハードウェア構成の一例を示すブロック図である。 本実施形態における端末装置およびパスワード管理システムの機能構成の一例を示すブロック図である。 本実施形態におけるパスワード情報記憶部の内部構成の一例を示す図である。 本実施形態における演算式記憶部の内部構成の一例を示す図である。 本実施形態の具体例における演算式記憶部の内部構成の一例を示す図である。 本実施形態の具体例におけるパスワード情報記憶部の内部構成の一例を示す図である。 本実施形態の具体例におけるパスワード管理システムの処理手順の一例を示すフローチャートである。 本実施形態の具体例におけるパスワード情報記憶部の内部構成の他の例を示す図である。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
図1は、本実施形態におけるネットワーク構成の一例を示すブロック図である。
ネットワーク構成は、ユーザが操作するユーザ端末装置1、移動無線基地局やWi−Fiステーション等のアクセスポイント2、ユーザの認証処理やパスワードの変更処理を管理(制御)するパスワード管理システム4を含む。パスワード管理システム4は、ネットワーク3を介して複数のユーザ端末装置1と接続される。ユーザ端末装置1は、例えば、携帯電話機、スマートフォン、ゲーム用コンソール、パーソナルコンピュータ、タッチパッド、電子書籍リーダー等の情報処理装置である。
図2は、本実施形態におけるユーザ端末装置1のハードウェア構成の一例を示すブロック図である。
ユーザ端末装置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を含む。
図3は、本実施形態におけるパスワード管理システム4のハードウェア構成の一例を示すブロック図である。
パスワード管理システム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等を含む。
図4は、ユーザ端末装置1およびパスワード管理システム4の機能構成を示すブロック図である。
ユーザ端末装置1は、サーバアクセス部12、操作入力受付部16及び画面表示処理部18を含む。操作入力受付部16は、ユーザ端末装置1を操作するユーザからの操作入力を受け付ける。サーバアクセス部12は、パスワード管理システム4へアクセスし、パスワード管理システム4に対してリクエストを送信し、処理結果等をレスポンスとして受信する。画面表示処理部18は、画面表示を行う。
パスワード管理システム4は、パスワード管理制御部42、文字列変換部44、強度判断部52、パスワード情報記憶部62、演算式記憶部64及び強度判断条件記憶部66を含む。
パスワード管理制御部42は、パスワード管理システム4全体の制御を行う。
パスワード情報記憶部62は、複数のユーザについて、各ユーザの現在のパスワード及び過去のパスワードを複数世代分(1世代前〜n世代前)まで記憶する。セキュリティ確保のため、パスワード情報記憶部62は、ユーザの現在のパスワード文字列及び過去のパスワード文字列を、平文のままではなく、平文の文字列とは異なる暗号化文字列として記憶する。
パスワード管理制御部42は、例えば、ユーザからパスワード管理システム4へのログイン指示とともに、ユーザID及びパスワードの入力を受け付けると、パスワード情報記憶部62に記憶されたユーザのユーザID及び現在のパスワードに基づき、ユーザの認証処理を行う。また、パスワード管理制御部42は、ユーザから、現在のパスワードの変更指示とともに、新たなパスワード文字列の入力を受け付けると、文字列変換部44及び強度判断部52を制御して後述のパスワードの強度判断処理を行わせる。
文字列変換部44は、ユーザから入力される平文のパスワード文字列を所定の暗号化演算式や所定の演算式に従って変換する。演算式記憶部64は、文字列変換部44が入力された文字列を変換する際に参照する所定の暗号化演算式や所定の演算式を記憶する。
強度判断部52は、ユーザから、現在のパスワードの変更指示とともに、新たなパスワード文字列の入力を受け付けると、パスワード情報記憶部62に記憶されたユーザの現在のパスワード及び当該ユーザの過去のパスワードに基づき、入力された新たなパスワード文字列の強度を判断する。強度判断条件記憶部66は、強度判断部52が入力されたパスワード文字列の強度を判断する際に参照する強度判断条件を記憶する。
本実施形態において、強度判断条件記憶部66は、例えば、新たなパスワード文字列が当該ユーザの現在のパスワード文字列と同じである場合は、新たなパスワード文字列の強度が非常に低いとして、パスワード変更を受け付けないという条件を記憶する。また、強度判断条件記憶部66は、例えば、新たなパスワード文字列が当該ユーザの過去のパスワード文字列のいずれかと同じである場合は、新たなパスワード文字列の強度が低いとして、ユーザに警告するという条件を記憶する。
図5は、本実施形態におけるパスワード情報記憶部62の内部構成の一例を示す図である。
パスワード情報記憶部62は、「ユーザID」、「現在のパスワード」、「過去のパスワード」等の項目を含む。「ユーザID」は、ユーザを一意に特定する情報である。「現在のパスワード」は、当該ユーザの現在のパスワード文字列CPを一意に特定する暗号化パスワード文字列ECPである。「過去のパスワード」は、当該ユーザの過去のパスワード文字列PP1〜PPnに対応する変換後パスワード文字列CPP1〜CPPnである。
上述したように、現在のパスワードは、ユーザがパスワード管理システム4にログインする際の認証処理に用いられる。ユーザの認証処理は厳密に行う必要があるため、パスワード情報記憶部62に記憶される「現在のパスワード」は、入力される平文の現在のパスワード文字列CPを一意に特定するものである必要がある。従って、パスワード情報記憶部62は、現在のパスワードを、入力された文字列を一意性のある暗号化文字列に変換する所定の暗号化演算式E1(第4の暗号化演算式)を用いて元のパスワード文字列CPとは異なる暗号化パスワード文字列ECPに変換した状態で記憶する。暗号化演算式E1は、例えば、一方向性ハッシュ関数(MD関数)等の一方向で一意に決まる暗号化演算式とすることができる。
一方、過去のパスワードは、ユーザが現在のパスワードを新たなパスワードに変更する際に、新たなパスワードが当該ユーザが過去に利用していたパスワードと一致する場合には再登録を禁止したり、強度が低いことをユーザに提示して注意を促したりする等のために用いられる。従って、パスワード情報記憶部62に記憶される過去のパスワードは、ユーザの認証処理に用いられる現在のパスワードとは異なり、ある程度の確度でパスワードの一致を検出することができれば、入力される平文の新たなパスワード文字列NPを一意に特定するものである必要はない。
一方、過去のパスワードを現在のパスワードと同様に各パスワードを一意に特定する暗号化文字列として記憶しておくと、上述したように、暗号化文字列が漏洩した場合に元のパスワード文字列が推測されるおそれがある。そこで、本実施形態において、パスワード情報記憶部62は、ユーザの過去のパスワード文字列PP1〜PPnについては、当該パスワード文字列PP1〜PPnを一意に特定する暗号化文字列として記憶しない構成とする。
本実施形態において、パスワード情報記憶部62は、ユーザの過去のパスワード文字列PP1〜PPnを、それぞれ、同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数(x個)存在するように文字列を変換する所定の演算式eを用いて元のパスワード文字列PP1〜PPnとは異なる変換後パスワード文字列CPP1〜CPPnに変換した状態で記憶する。演算式eについては後述の具体例で説明する。
図6は、本実施形態における演算式記憶部64の内部構成の一例を示す図である。
演算式記憶部64は、「対象」、「演算式」等の項目を含む。「対象」は、演算式を施した対象のデータを示す。「演算式」は、当該対象に施した演算式を示す。「現在のパスワード」には「暗号化演算式E1」が施され、「過去のパスワード」には「演算式e」が施されたことが示されている。
図4に戻り、パスワード管理制御部42、文字列変換部44及び強度判断部52の具体的な処理手順を説明する。
まず、ユーザの認証処理について説明する。
ユーザからパスワード管理システム4へのログイン指示とともに、ユーザIDと現在のパスワード文字列CP'の入力を受け付けると、パスワード管理制御部42は、文字列変換部44によりパスワード文字列CP'を上記暗号化演算式E1を用いて暗号化パスワード文字列ECP'に変換させ、暗号化パスワード文字列ECP'がパスワード情報記憶部62において当該ユーザIDに対応づけられた暗号化パスワード文字列ECPと一致するか否かを判断する。
暗号化パスワード文字列ECP'が暗号化パスワード文字列ECPと完全一致する場合、パスワード管理制御部42は、認証成功として当該ユーザのパスワード管理システム4へのログインを許可する。一方、暗号化パスワード文字列ECP'が暗号化パスワード文字列ECPと完全一致しない場合、パスワード管理制御部42は、認証失敗として当該ユーザのパスワード管理システム4へのログインを許可しない。パスワード管理制御部42は、認証失敗が所定回数(例えば5回)を越えると、エラー処理としてそれ以上の認証処理を行えないようにする。
次に、パスワードの変更処理について説明する。
パスワード管理システム4にログインしているユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付けると、パスワード管理制御部42の制御のもと、強度判断部52は、新たなパスワード文字列NPが現在のパスワード文字列CPと同じでないかを確認する。
具体的には、パスワード管理制御部42の制御のもと、文字列変換部44は、新たなパスワード文字列NPを上記暗号化演算式E1を用いて暗号化パスワード文字列ENPに変換する。
次いで、強度判断部52は、暗号化パスワード文字列ENPがパスワード情報記憶部62において当該ユーザIDに対応づけられた暗号化パスワード文字列ECPと一致するか否かを判断する。暗号化パスワード文字列ENPが暗号化パスワード文字列ECPと完全一致する場合、強度判断部52は、強度判断条件記憶部66の強度判断条件に従って、例えば、新たなパスワード文字列NPの強度が非常に低いとして、パスワード変更を受け付けない。
一方、暗号化パスワード文字列ENPが暗号化パスワード文字列ECPと完全一致しない場合、パスワード管理制御部42の制御のもと、強度判断部52は、新たなパスワード文字列NPが過去のパスワード文字列PPのいずれかと同じでないかを確認する。
具体的には、文字列変換部44は、新たなパスワード文字列NPを上記演算式eを用いて変換後入力文字列CNPに変換する。次いで、強度判断部52は、変換後入力文字列CNPと、パスワード情報記憶部62において当該ユーザIDに対応づけられた変換後パスワード文字列CPP1〜CPPnとに基づき、新たなパスワード文字列NPの強度を判断する。
例えば、少なくとも変換後入力文字列CNPにパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかが含まれる場合に、強度判断部52は、強度判断条件記憶部66の強度判断条件に従って、例えば、入力されたパスワード文字列NPの強度が低いとして、ユーザに警告する。また、例えば、変換後入力文字列CNPの所定箇所の一部とパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnの所定箇所の一部が一致する場合に、強度判断部52は、強度判断条件記憶部66の強度判断条件に従って、例えば、入力されたパスワード文字列NPの強度が低いとして、ユーザに警告する。
一の変換後パスワード文字列に対する元の文字列の候補の数「x」は、対象のパスワード管理システム4における要求やコンピュータの計算速度の向上等の時代背景等により異なるが、例えば、100以上10000以下程度とすることができる。具体的には、以下を考慮して決定することができる。
まず、「x」の下限について説明する。ユーザが入力したパスワードに基づきユーザのログインを許可する一般的なユーザ認証システムでは、上述したように、所定のユーザIDとパスワードとの組み合わせに対して、所定回数入力ミスがあると、その組み合わせに対してそれ以上の入力が不能となる設定とされる。そこで、「x」の下限は、世の中で出回っている一般的なユーザ認証システムにおいて、入力ミスが許容される回数「y」よりも充分大きくなるように設定することができる。システムによって異なるが、例えば、入力ミスが許容される回数「y」は、5回等、一桁程度の数とされることが多い。そのため、一の変換後パスワード文字列に対する元の文字列の候補の数「x」が、例えば、100以上程度となるようにすれば、たとえ変換後パスワード文字列が漏洩し、対応するパスワード文字列が推測されたとしても、パスワード文字列の候補が100以上程度挙げられることになり、第三者の不正なアクセスを防ぐことができる。
次に、「x」の上限について説明する。一の変換後パスワード文字列に対する元の文字列の候補の数「x」が多すぎると、ユーザがパスワードを変更する際に新たに設定しようとするパスワードが、過去のパスワードとは全く異なるものであるにも関わらず、新たなパスワードに対応する変換後パスワード文字列が過去のパスワードの変換後パスワード文字列と偶然一致する「衝突」が生じる可能性が高くなる。このような「衝突」が生じると、過去のパスワードと全く異なる新たなパスワードであっても、システムにより強度が低いと判断されて、システムの仕様によってはその新たなパスワードが設定できないことがある。特に、登録ユーザの数が多く、多くのユーザのパスワード情報を記憶するシステムにおいては、偶然一致により「衝突」が生じる可能性が高くなる。従って、「x」の上限は、「衝突」発生の頻度が現実のシステムの運用上で問題とならない程度となるように設定する必要がある。
以上のように、本実施形態におけるパスワード管理システム4によれば、パスワードの強度を高めるためにユーザの過去のパスワード文字列の変換後パスワード文字列CPP1〜CPPnを保存しつつも、各変換後パスワード文字列CPP1〜CPPnに対して元の文字列の候補が複数存在する構成となっている。従って、万一変換後パスワード文字列CPP1〜CPPnが漏洩して元の文字列が推測されたとしても、元のパスワード文字列の候補が複数存在することになり、本来のパスワード文字列を一意に特定することが困難となる。上述したように、一般的なユーザ認証システムにおいては、所定のユーザIDとパスワードとの組み合わせに対して、所定回数入力ミスがあると、その組み合わせに対してそれ以上の入力が不能となる設定とされる。従って、本実施形態におけるパスワード管理システム4によれば、パスワード文字列の候補をリストアップして他のシステムへの攻撃を行うリスト型アタックに対してもより強いセキュリティを担保することができる。そのため、他のシステムへの不正アクセスを防ぐことができる。
次に具体例を説明する。
(例1)
本例において、パスワード情報記憶部62は、過去のパスワードについては、例えば、パスワード文字列に一方向性ハッシュ関数(MD関数)をかけて得られたハッシュ値全体を保存するのではなく、ハッシュ値から一部の文字列のみを当該パスワード文字列の変換後パスワード文字列として保持する構成とすることができる。
図7は、本例における演算式記憶部64の内部構成の一例を示す図である。
パスワード情報記憶部62に記憶された過去の変換後パスワード文字列CPPは、入力された文字列を一意性のある暗号化文字列に変換する暗号化演算式E2(第1の暗号化演算式)を用いて変換された暗号化文字列の一部を第1の規則R1に従って抽出して得られたものとすることができる。つまり、本例においては、上記演算式eは、暗号化演算式E2を行った後に第1の規則R1の処理を行う暗号化演算式E2と第1の規則R1の組み合わせとすることができる。また、変換後入力文字列CNPは、暗号化演算式E2を用いて新たなパスワード文字列NPを変換して取得された文字列又は当該文字列の一部を第1の規則R1に従って抽出して取得された文字列とすることができる。
暗号化演算式E2は、例えば、一方向性ハッシュ関数(MD関数)等の一方向で一意に決まる暗号化演算式とすることができる。暗号化演算式E2と現在のパスワード文字列に施される上記暗号化演算式E1とは同じとすることもでき、異なるようにすることもできる。第1の規則R1は、暗号化演算式E2を用いて変換された暗号化文字列のどの位置から何桁(r桁)の文字列を抽出するかを規定した規則とすることができる。第1の規則R1は、例えば、「末尾r桁」、「先頭からa1桁目〜a2桁目」等の規則とすることができる。
第1の規則R1の決定方法(何桁(r桁)の文字列を抽出するか)の一例を説明する。
例えば、パスワード文字列が62種類の英数字を用いた8桁であり、暗号化演算式E2が入力されたパスワード文字列を、当該文字列を一意に特定する16進数の32桁の暗号化文字列に変換するものであるとする。この場合、想定されるパスワード文字列の総数は約2.18×1014通りとなる。また、暗号化文字列の総数は約3.40×1038通りとなる。
まず、例えば、第1の規則R1が、上記暗号化文字列の所定箇所の一部(例えば末尾)6桁を抽出して変換後パスワード文字列を得るものである場合について検討する。この場合、得られる変換後パスワード文字列の総数は約1.68×10通りとなる。
演算結果が完全にランダムであった場合、パスワード文字列は必ずいずれかの変換後パスワード文字列に変換されるため、一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」は、
x≒(パスワード文字列の総数)/(変換後パスワード文字列の総数)=(約2.18×1014)/(約1.68×10)=約1.30×10となる。
一方、新たに設定しようとするパスワード文字列に上述した「衝突」が生じる確率pは、
(一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」)/(パスワード文字列の総数)=(約1.30×10)/(約2.18×1014)=5.96×10−8となる。
過去のパスワードを複数世代分(1世代前〜n世代)記憶している場合に新たに設定しようとするパスワード文字列に上述した「衝突」が生じる確率pnは、
(世代数「n」)×(一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」)/(パスワード文字列の総数)=n×(約1.30×10)/(約2.18×1014)=n×5.96×10−8となる。
以上のように、上記暗号化文字列の所定箇所の一部(例えば末尾)6桁を抽出して変換後パスワード文字列を得る場合、一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」は、約1.30×10となり、リスト型アタックに対してもより強いセキュリティを担保することができる。一方、登録ユーザの数が多く、多くのユーザのパスワード情報を記憶するシステムにおいては、偶然一致による「衝突」が問題となる可能性がある。
そこで、例えば、第1の規則R1が、上記暗号化文字列の所定箇所の一部(例えば末尾)7桁を抽出して変換後パスワード文字列を得るものである場合について検討する。この場合、一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」は、
x≒(パスワード文字列の総数)/(変換後パスワード文字列の総数)=(約2.18×1014)/(約1.1012)=約198となる。
このように、上記暗号化文字列の所定箇所の一部(例えば末尾)7桁を抽出して変換後パスワード文字列を得る場合でも、一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」は、約198となり、リスト型アタックに対しても充分強いセキュリティを担保することができる。
一方、新たに設定しようとするパスワード文字列に上述した「衝突」が生じる確率pは、
(一の変換後パスワード文字列に対する元のパスワード文字列の候補の数「x」)/(パスワード文字列の総数)=(約198)/(約2.18×1014)=9.08×10−13となり、「衝突」が生じる確率pを、第1の規則R1が、上記暗号化文字列の所定箇所の一部(例えば末尾)6桁を抽出して変換後パスワード文字列を得るものである場合に比べて充分に小さくすることができる。
以上のように、パスワード情報記憶部62に記憶された過去の変換後パスワード文字列CPPの桁数rを何桁とするかは、想定されるリスクや対策を行うレベルに応じて決定することができる。
図8は、本例におけるパスワード情報記憶部62の内部構成の一例を示す図である。
パスワード情報記憶部62は、図5に示した例と同様、「ユーザID」、「現在のパスワード」、「過去のパスワード」等の項目を含む。パスワード情報記憶部62は、「現在のパスワード」については、例えば、32桁の暗号化文字列を記憶することができる。一方、パスワード情報記憶部62は、「過去のパスワード」については、例えば、32桁の暗号化文字列の一部である末尾r桁を抽出した変換後パスワード文字列を記憶することができる。
図9は、本実施形態におけるパスワード管理システム4の処理手順の一例を示すフローチャートである。ここでは、パスワード情報記憶部62に記憶された現在のパスワード文字列に施された暗号化演算式E1が過去のパスワード文字列に施される暗号化演算式E2と同じである場合を例として説明する。
パスワード管理システム4にログインしているユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付け付けると(ステップS102)、パスワード管理制御部42の制御のもと、文字列変換部44は、新たなパスワード文字列NPを暗号化演算式E1(=暗号化演算式E2)を用いて暗号化パスワード文字列ENPに変換する(ステップS104)。
次いで、強度判断部52は、暗号化パスワード文字列ENPがパスワード情報記憶部62において当該ユーザIDに対応づけられた現在のパスワードの暗号化パスワード文字列ECPと一致するか否かを判断する(ステップS106)。暗号化パスワード文字列ENPが現在のパスワードの暗号化パスワード文字列ECPと完全一致する場合(ステップS108のYES)、強度判断部52は、強度判断条件記憶部66の強度判断条件に従って、例えば、新たなパスワード文字列NPの強度が非常に低いとして、パスワード変更を受け付けず、エラー表示を行う(ステップS118)。
一方、暗号化パスワード文字列ENPが現在のパスワードの暗号化パスワード文字列ECPと完全一致しない場合(ステップS108のNO)、強度判断部52は、新たなパスワード文字列NPが当該ユーザの過去のパスワード文字列と一致するか否かを判断する。
一例として、強度判断部52は、暗号化パスワード文字列ENPをそのまま変換後入力文字列CNPとして用いる。強度判断部52は、暗号化パスワード文字列ENPにパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかが含まれるか否かを判断する(ステップS110)。
暗号化パスワード文字列ENPにパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかが含まれる場合(ステップS112のYES)、暗号化パスワード文字列ENPから上記第1の規則R1に従って抽出した文字列が変換後パスワード文字列CPP1〜CPPnのいずれかと一致するということであり、入力された新たなパスワード文字列NPが過去のパスワード文字列と同じである可能性が非常に高い。そのため、強度判断部52は、入力された新たなパスワード文字列NPの強度が低いと判断して、例えばユーザに警告等を行う(ステップS116)。
一方、暗号化パスワード文字列ENPにパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれも含まれない場合(ステップS112のNO)、強度判断部52は、入力された新たなパスワード文字列NPの強度が高いと判断し、結果を出力する(ステップS114)。
他の例として、ステップS110において、文字列変換部44は、暗号化パスワード文字列ENPから上記第1の規則R1に従って一部の文字列を抽出し、強度判断部52は、当該一部の文字列を変換後入力文字列CNPとして用い、当該一部の文字列とパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかとが一致するか否かを判断してもよい(ステップS110)。
当該文字列とパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかとが一致する場合(ステップS112のYES)、強度判断部52は、入力された新たなパスワード文字列NPの強度が低いと判断する(ステップS116)。一方、当該文字列とパスワード情報記憶部62に記憶された変換後パスワード文字列CPP1〜CPPnのいずれかとが一致しない場合(ステップS112のNO)、強度判断部52は、入力された新たなパスワード文字列NPの強度が高いと判断する(ステップS114)。
なお、パスワード情報記憶部62に記憶された現在のパスワード文字列に施された暗号化演算式E1と過去のパスワード文字列に施される暗号化演算式E2とが異なる場合は、ステップS110において、パスワード管理制御部42の制御のもと、文字列変換部44は、新たなパスワード文字列NPを暗号化演算式E2を用いて暗号化文字列に変換した後、上記と同様の処理を行う。
(例2)
本例において、パスワード情報記憶部62に記憶された過去の変換後パスワード文字列CPPは、入力された文字列を第2の規則R2に従って複数の文字列に分割し、各複数の文字列を、入力された文字列を一意性のある暗号化文字列に変換する暗号化演算式E3(第2の暗号化演算式)を用いてそれぞれ一意性のある暗号化文字列に変換し、変換した各暗号化文字列の一部を第3の規則R3に従って組み合わせて得られたものとすることができる。つまり、本例においては、上記演算式eは、第2の規則R2と、暗号化演算式E3と、第3の規則R3とをこの順で行う組み合わせとすることができる。
文字列変換部44は、新たなパスワード文字列NPを、第2の規則R2に従って複数の文字列に分割し、各複数の文字列を、暗号化演算式E3を用いてそれぞれ一意性のある暗号化文字列に変換し、変換した各暗号化文字列の一部を第3の規則R3に従って組み合わせて取得した文字列を変換後入力文字列CNPとすることができる。
第2の規則R2は、変換前の文字列を、どのように分割するかを規定した規則とすることができる。例えば、第2の規則R2は、変換前の文字列を先頭から所定桁数sずつ分割するという規定とすることができる。例えば、変換前の文字列が「password」で、所定桁数sが2だとすると、文字列変換部44は、「password」を「pa」、「ss」、「wo」及び「rd」に分割する。
暗号化演算式E3は、例えば、一方向性ハッシュ関数(MD関数)等の一方向で一意に決まる暗号化演算式とすることができる。暗号化演算式E3と現在のパスワード文字列に施される上記暗号化演算式E1とは同じとすることもでき、異なるようにすることもできる。文字列変換部44は、暗号化演算式E3を用いて、分割した「pa」、「ss」、「wo」及び「rd」それぞれを暗号化文字列「E(pa)」、「E(ss)」、「E(wo)」及び「E(rd)」に変換する。
第3の規則R3は、暗号化演算式E3を用いて変換された各暗号化文字列のどの位置から何桁(r2)の文字列を抽出するかを規定するとともに、抽出した文字列をどのように結合するかを規定した規則とすることができる。第3の規則R3は、例えば、「末尾r2桁」、「先頭からa3桁目〜a4桁目」等の規則とすることができる。
文字列変換部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)」のように並べた文字列とすることができる。
以上の構成としても、各文字列「C(pa)」、「C(ss)」、「C(wo)」及び「C(rd)」は、各暗号化文字列「E(pa)」、「E(ss)」、「E(wo)」及び「E(rd)」からそれぞれ一部を抽出したものであるため、一の変換後パスワード文字列に対する元の文字列の候補が複数になるようにすることができる。
また、このような構成とした場合は、入力されたパスワード文字列と、パスワード情報記憶部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とをこの順で行う組み合わせとすることができる。
文字列変換部44は、新たなパスワード文字列NPの一部を第4の規則R4に従って抽出し、抽出した文字列を暗号化演算式E4を用いて取得した暗号化文字列を変換後入力文字列CNPとすることができる。
第4の規則R4は、変換前の文字列のどの位置から何桁(r3)の文字列を抽出するかを規定した規則とすることができる。第4の規則R4は、例えば、「末尾r3桁」、「先頭からa5桁目〜a6桁目」等の規則とすることができる。例えば、変換前の文字列が「password」で、第4の規則R4が「末尾4桁」だとすると、文字列変換部44は、「password」から「word」を抽出する。ここで、何桁(r3)の文字列を抽出するかは、変換後の文字列に対して元の文字列の候補が複数(x個)存在するように決定することができる。
暗号化演算式E4は、例えば、一方向性ハッシュ関数(MD関数)等の一方向で一意に決まる暗号化演算式とすることができる。暗号化演算式E4と現在のパスワード文字列に施される上記暗号化演算式E1とは同じとすることもでき、異なるようにすることもできる。
以上の構成としても、一の変換後パスワード文字列に対する元の文字列の候補が複数になるようにすることができる。
(例4)
なお、上述したように、コンピュータの計算速度の向上等により、暗号化演算式が破られる等してセキュリティが低下してしまう可能性もあり、時代とともに、新たな暗号化技術が開発されている。そのため、以上のように、過去のパスワードを複数世代分(1世代前〜n世代前)記憶する構成とした場合、保存した時期によって、上記演算式eとして、異なる演算式を用いる可能性がある。
そのため、パスワード情報記憶部62は、ユーザ毎に、第1の過去のパスワード文字列PP1及び当該第1の過去のパスワード文字列PP1よりも古い世代の第2の過去のパスワード文字列PP2を、それぞれ、同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数存在するように文字列を変換する所定の第1の演算式e1及び所定の第2の演算式e2を用いて変換した第1の変換後パスワード文字列CPP1及び第2の変換後パスワード文字列CPP2を記憶するとともに、当該変換後パスワード文字列CPP1及び第2の変換後パスワード文字列CPP2を所定の第1の演算式e1及び所定の第2の演算式e2を示す情報に対応づけて記憶することができる。
文字列変換部44は、ユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付けると、所定の第1の演算式e1及び所定の第2の演算式e2に基づき、新たなパスワード文字列NPを当該パスワード文字列NPとは異なる第1の変換後入力文字列CNP1及び第2の変換後入力文字列CNP2にそれぞれ変換することができる。
強度判断部52は、第1の変換後入力文字列CNP1と第1の変換後パスワード文字列CPP1と、及び第2の変換後入力文字列CNP2と第2の変換後パスワード文字列CPP2とに基づき、新たなパスワード文字列NPの強度を判断することができる。
図10は、本例におけるパスワード情報記憶部62の内部構成の一例を示す図である。
ここでも、図5に示した例と同様、パスワード情報記憶部62は、「ユーザID」、「現在のパスワード」、「過去のパスワード」等の項目を含む。「過去のパスワード」は、世代毎に、当該ユーザの過去のパスワード文字列PP1〜PPnに対応する変換後パスワード文字列CPP1〜CPPnと、当該変換後パスワード文字列CPP1〜CPPnを得るために用いられた演算式を示す情報「e1」、「e2」とが対応づけられた構成となっている。演算式を示す情報「e1」、「e2」は、演算式そのものではなく、演算式を特定するID等とすることができる。
通常、より古い世代の過去のパスワードの変換後パスワード文字列に対応づけられた所定の第2の演算式e2は、所定の第1の演算式e1よりもセキュリティが低い。そのため、強度判断部52が入力されたパスワードの強度を判断する際に、古い世代の過去のパスワードは例えば参照程度とする等、強度判断のレベルを下げてもよい。具体的には、強度判断部52は、第1の変換後入力文字列CNP1と第1の変換後パスワード文字列CPP1とに基づく判断結果を第2の変換後入力文字列CNP2と第2の変換後パスワード文字列CPP2とに基づく判断結果よりも高い重み付けをして新たなパスワード文字列NPの強度を判断することができる。このような条件は、強度判断条件記憶部66に記憶される。
本実施形態において、以上の構成とすることにより、パスワードの強度を高めるために過去に設定されたパスワードに関する情報を保存しつつも、そのパスワードが漏洩した場合でも他のシステムへの不正アクセスを防ぐことができる技術を提供することができる。
なお、図4に示したユーザ端末装置1及びパスワード管理システム4の各構成要素は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。ユーザ端末装置1及びパスワード管理システム4の各構成要素は、任意のコンピュータのCPU、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。また、パスワード管理システム4が行う機能は、一つの装置で実行される必要はなく、複数の装置に分散配置した構成としてもよい。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
1 ユーザ端末装置
2 アクセスポイント
3 ネットワーク
4 パスワード管理システム
12 サーバアクセス部
16 操作入力受付部
18 画面表示処理部
42 パスワード管理制御部
44 文字列変換部
52 強度判断部
62 パスワード情報記憶部
64 演算式記憶部
66 強度判断条件記憶部

Claims (11)

  1. 入力された文字列を一意性のある暗号化文字列に変換する暗号化演算式を一部に含み、同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数存在するように文字列を変換する所定の演算式を用いて、入力された文字列を当該文字列とは異なる文字列に変換する文字列変換部と、
    ユーザ毎に、当該ユーザの過去のパスワード文字列PPを、前記所定の演算式を用いて当該過去のパスワード文字列PPとは異なる変換後パスワード文字列CPPに変換した状態で記憶するパスワード情報記憶部と、
    パスワードの強度を判断する強度判断部と、
    を含み、
    前記文字列変換部は、ユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付けると、前記所定の演算式又は前記暗号化演算式を用いて前記新たなパスワード文字列NPを当該パスワード文字列NPとは異なる変換後入力文字列CNPに変換し、
    前記強度判断部は、前記変換後入力文字列CNPと前記パスワード情報記憶部に記憶された当該ユーザの前記変換後パスワード文字列CPPとに基づき、前記新たなパスワード文字列NPの強度を判断するパスワード管理システム。
  2. 請求項1に記載のパスワード管理システムにおいて、
    前記パスワード情報記憶部に記憶された前記変換後パスワード文字列CPPは、前記過去のパスワード文字列PPを、入力された文字列を一意性のある暗号化文字列に変換する第1の暗号化演算式を用いて変換して得られた暗号化文字列の一部を第1の規則に従って抽出して得られたものであって、
    前記変換後入力文字列CNPは、前記新たなパスワード文字列NPを前記第1の暗号化演算式を用いて変換して得られた暗号化文字列の一部を前記第1の規則に従って抽出して得られた文字列、又は前記新たなパスワード文字列NPを前記第1の暗号化演算式を用いて変換して得られた暗号化文字列であるパスワード管理システム。
  3. 請求項2に記載のパスワード管理システムにおいて、
    前記変換後入力文字列CNPは、前記新たなパスワード文字列NPを前記第1の暗号化演算式を用いて変換して得られた暗号化文字列であって、
    前記強度判断部は、前記変換後入力文字列CNPに前記パスワード情報記憶部に記憶された当該ユーザの前記変換後パスワード文字列CPPが含まれる場合に、前記新たなパスワード文字列NPの強度が低いと判断するパスワード管理システム。
  4. 請求項2に記載のパスワード管理システムにおいて、
    前記変換後入力文字列CNPは、前記新たなパスワード文字列NPを前記第1の暗号化演算式を用いて変換して得られた暗号化文字列の一部を前記第1の規則に従って抽出して得られた文字列であって、
    前記強度判断部は、前記変換後入力文字列CNPと前記パスワード情報記憶部に記憶された当該ユーザの前記変換後パスワード文字列CPPとが一致する場合に、前記新たなパスワード文字列NPの強度が低いと判断するパスワード管理システム。
  5. 請求項1に記載のパスワード管理システムにおいて、
    前記パスワード情報記憶部に記憶された前記変換後パスワード文字列CPPは、入力された文字列を第2の規則に従って複数の文字列に分割し、各前記複数の文字列を、入力された文字列を一意性のある暗号化文字列に変換する第2の暗号化演算式を用いてそれぞれ一意性のある暗号化文字列に変換し、変換した各暗号化文字列の一部を第3の規則に従って組み合わせて得られたものであって、
    前記変換後入力文字列CNPは、前記新たなパスワード文字列NPを、前記第2の規則に従って複数の文字列に分割し、各前記複数の文字列を、前記第2の暗号化演算式を用いてそれぞれ一意性のある暗号化文字列に変換し、変換した各暗号化文字列の一部を前記第3の規則に従って組み合わせて取得された文字列であるパスワード管理システム。
  6. 請求項1に記載のパスワード管理システムにおいて、
    前記パスワード情報記憶部に記憶された前記変換後パスワード文字列CPPは、入力された文字列の一部を第4の規則に従って抽出して得られた文字列を、入力された文字列を一意性のある暗号化文字列に変換する第3の暗号化演算式を用いて一意性のある暗号化文字列に変換して得られたものであって、
    前記変換後入力文字列CNPは、前記新たなパスワード文字列NPの一部を前記第4の規則に従って抽出し、抽出した文字列を前記第3の暗号化演算式を用いて取得された暗号化文字列であるパスワード管理システム。
  7. 請求項1から6いずれかに記載のパスワード管理システムにおいて、
    前記パスワード情報記憶部は、前記ユーザの現在のパスワード文字列CPを、入力された文字列を一意性のある暗号化文字列に変換する第4の暗号化演算式を用いて当該パスワード文字列CPとは異なる暗号化パスワード文字列ECPに変換した状態で、前記変換後パスワード文字列CPPとともに記憶するパスワード管理システム。
  8. 請求項に記載のパスワード管理システムにおいて、
    前記パスワード情報記憶部は、前記ユーザの現在のパスワード文字列CPを、入力された文字列を一意性のある暗号化文字列に変換する第4の暗号化演算式を用いて当該パスワード文字列CPとは異なる暗号化パスワード文字列ECPに変換した状態で、前記変換後パスワード文字列CPPとともに記憶し、
    前記第4の暗号化演算式は、前記第1の暗号化演算式と等しいパスワード管理システム。
  9. 請求項1から8いずれかに記載のパスワード管理システムにおいて、
    前記パスワード情報記憶部は、ユーザ毎に、第1の過去のパスワード文字列PP1及び当該第1の過去のパスワード文字列PP1よりも古い世代の第2の過去のパスワード文字列PP2を、それぞれ、入力された文字列を一意性のある暗号化文字列に変換する暗号化演算式を一部に含み、同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数存在するように文字列を変換する所定の第1の演算式及び所定の第2の演算式を用いて変換した第1の変換後パスワード文字列CPP1及び第2の変換後パスワード文字列CPP2を記憶するとともに、当該変換後パスワード文字列CPP1及び前記第2の変換後パスワード文字列CPP2を前記所定の第1の演算式及び前記所定の第2の演算式を示す情報に対応づけて記憶し、
    前記文字列変換部は、ユーザから、パスワードの変更指示とともに、前記新たなパスワード文字列NPの入力を受け付けると、前記所定の第1の演算式又は当該第1の演算式に含まれる前記暗号化演算式を用いて前記新たなパスワード文字列NPを当該パスワード文字列NPとは異なる第1の変換後入力文字列CNP1に変換するとともに前記所定の第2の演算式又は当該第2の演算式に含まれる前記暗号化演算式を用いて前記新たなパスワード文字列NPを当該パスワード文字列NPとは異なる第2の変換後入力文字列CNP2に変換し、
    前記強度判断部は、前記第1の変換後入力文字列CNP1と前記第1の変換後パスワード文字列CPP1と、及び第2の変換後入力文字列CNP2と前記第2の変換後パスワード文字列CPP2とに基づき、前記新たなパスワード文字列NPの強度を判断するパスワード管理システム。
  10. 請求項9に記載のパスワード管理システムにおいて、
    前記所定の第2の演算式は、前記所定の第1の演算式よりもセキュリティが低く、
    前記強度判断部は、前記第1の変換後入力文字列CNP1と前記第1の変換後パスワード文字列CPP1とに基づく判断結果を前記第2の変換後入力文字列CNP2と前記第2の変換後パスワード文字列CPP2とに基づく判断結果よりも高い重み付けをして前記新たなパスワード文字列NPの強度を判断するパスワード管理システム。
  11. コンピュータを、
    入力された文字列を一意性のある暗号化文字列に変換する暗号化演算式を一部に含み、同じ文字列については同じ変換結果を与えるとともに、変換後の文字列に対して元の文字列の候補が複数存在するように文字列を変換する所定の演算式を用いて、入力された文字列を当該文字列とは異なる文字列に変換する文字列変換手段、
    ユーザ毎に、当該ユーザの過去のパスワード文字列PPを、前記所定の演算式を用いて当該過去のパスワード文字列PPとは異なる変換後パスワード文字列CPPに変換した状態で記憶するパスワード情報記憶手段、
    パスワードの強度を判断する強度判断手段、
    をして機能させ、
    前記文字列変換手段は、ユーザから、パスワードの変更指示とともに、新たなパスワード文字列NPの入力を受け付けると、前記所定の演算式又は前記暗号化演算式を用いて前記新たなパスワード文字列NPを当該パスワード文字列NPとは異なる変換後入力文字列CNPに変換し、
    前記強度判断手段は、前記変換後入力文字列CNPと前記パスワード情報記憶手段に記憶された当該ユーザの前記変換後パスワード文字列CPPとに基づき、前記新たなパスワード文字列NPの強度を判断するパスワード管理システム用プログラム。
JP2014045494A 2014-03-07 2014-03-07 パスワード管理システム及びパスワード管理システム用プログラム Expired - Fee Related JP5568696B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014045494A JP5568696B1 (ja) 2014-03-07 2014-03-07 パスワード管理システム及びパスワード管理システム用プログラム
US14/521,643 US9378358B2 (en) 2014-03-07 2014-10-23 Password management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014045494A JP5568696B1 (ja) 2014-03-07 2014-03-07 パスワード管理システム及びパスワード管理システム用プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014127351A Division JP2015170352A (ja) 2014-06-20 2014-06-20 パスワード管理システム

Publications (2)

Publication Number Publication Date
JP5568696B1 true JP5568696B1 (ja) 2014-08-06
JP2015170210A JP2015170210A (ja) 2015-09-28

Family

ID=51427229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014045494A Expired - Fee Related JP5568696B1 (ja) 2014-03-07 2014-03-07 パスワード管理システム及びパスワード管理システム用プログラム

Country Status (2)

Country Link
US (1) US9378358B2 (ja)
JP (1) JP5568696B1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2924347T3 (es) 2015-03-26 2022-10-06 Nagravision Sa Método y sistema para buscar al menos un dato específico en una unidad de usuario
CN108701176B (zh) * 2016-02-17 2022-10-14 开利公司 系统和凭证数据的授权时间流逝视图
EP3503456A1 (en) * 2017-12-19 2019-06-26 Koninklijke Philips N.V. Homomorphic encryption for password authentication
US20200021440A1 (en) * 2018-07-16 2020-01-16 Paypal, Inc. Systems and methods for real-time hashing of password information
CN112182554A (zh) * 2020-08-18 2021-01-05 曙光信息产业(北京)有限公司 密码设置方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280189A (ja) * 2003-03-12 2004-10-07 Hitachi Information Systems Ltd パスワード管理システム及びパスワード管理サーバ及びパスワード管理プログラム
JP2006099356A (ja) * 2004-09-29 2006-04-13 Fuji Xerox Co Ltd パスワード管理用コンピュータプログラムならびに情報処理システムおよびそのパスワード管理装置および方法
JP2006318304A (ja) * 2005-05-13 2006-11-24 Toshiba Corp パスワードポリシー管理サーバ及びパスワードポリシー管理方法
US20090133120A1 (en) * 2007-11-20 2009-05-21 International Business Machines Preventing trivial character combinations
JP2010191871A (ja) * 2009-02-20 2010-09-02 Hitachi Software Eng Co Ltd 類似パスワードチェックシステム
JP2013145562A (ja) * 2006-08-22 2013-07-25 Interdigital Technology Corp アプリケーションおよびインターネットベースのサービスに対する信頼されるシングル・サインオン・アクセスを提供するための方法および装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332918B2 (en) * 2007-12-06 2012-12-11 Novell, Inc. Techniques for real-time adaptive password policies
US8286000B2 (en) * 2007-12-07 2012-10-09 Novell, Inc. Techniques for dynamic generation and management of password dictionaries
US8495715B2 (en) * 2009-02-23 2013-07-23 Oracle International Corporation Techniques for credential auditing
US9471772B2 (en) * 2011-06-01 2016-10-18 Paypal, Inc. Password check by decomposing password
US20140230028A1 (en) * 2013-02-10 2014-08-14 Stephen Oscar Petty Auxiliary password

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280189A (ja) * 2003-03-12 2004-10-07 Hitachi Information Systems Ltd パスワード管理システム及びパスワード管理サーバ及びパスワード管理プログラム
JP2006099356A (ja) * 2004-09-29 2006-04-13 Fuji Xerox Co Ltd パスワード管理用コンピュータプログラムならびに情報処理システムおよびそのパスワード管理装置および方法
JP2006318304A (ja) * 2005-05-13 2006-11-24 Toshiba Corp パスワードポリシー管理サーバ及びパスワードポリシー管理方法
JP2013145562A (ja) * 2006-08-22 2013-07-25 Interdigital Technology Corp アプリケーションおよびインターネットベースのサービスに対する信頼されるシングル・サインオン・アクセスを提供するための方法および装置
US20090133120A1 (en) * 2007-11-20 2009-05-21 International Business Machines Preventing trivial character combinations
JP2010191871A (ja) * 2009-02-20 2010-09-02 Hitachi Software Eng Co Ltd 類似パスワードチェックシステム

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSNB201200168001; エリクソン ジョン: Hacking:美しき策謀 第2版, 20111017, 第483-484,489-491頁, 株式会社オライリー・ジャパン オライリー ティム *
CSND201200274001; Temeran: '知識編1 これを読めばパスワードクラッカーも怖くない! Windows認証パスワードの基礎知識' ハッカージャパン 第11巻,第4号, 第16-19頁, 白夜書房 *
CSND201300123015; TIP: 'HJスキルアッ・ガイド' ハッカージャパン 第12巻,第3号, 20130501, 第159-161頁, 白夜書房 *
JPN6014017417; エリクソン ジョン: Hacking:美しき策謀 第2版, 20111017, 第483-484,489-491頁, 株式会社オライリー・ジャパン オライリー ティム *
JPN6014017419; TIP: 'HJスキルアッ・ガイド' ハッカージャパン 第12巻,第3号, 20130501, 第159-161頁, 白夜書房 *
JPN6014017420; Temeran: '知識編1 これを読めばパスワードクラッカーも怖くない! Windows認証パスワードの基礎知識' ハッカージャパン 第11巻,第4号, 第16-19頁, 白夜書房 *

Also Published As

Publication number Publication date
US9378358B2 (en) 2016-06-28
JP2015170210A (ja) 2015-09-28
US20150254453A1 (en) 2015-09-10

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 (ja) ユーザ認証システム
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
US10715320B2 (en) Password generation with key and derivation parameter
US10063538B2 (en) System for secure login, and method and apparatus for same
JP5568696B1 (ja) パスワード管理システム及びパスワード管理システム用プログラム
US20160105290A1 (en) Universal anonymous cross-site authentication
US20150220718A1 (en) Method for web service user authentication
US20150302201A1 (en) Device and method for processing transaction request in processing environment of trust zone
US10594693B2 (en) Electronic device identification
US9984217B2 (en) Electronic authentication of an account in an unsecure environment
CN108737094B (zh) 一种域密码安全性检测的方法及相关设备
CN106685945B (zh) 业务请求处理方法、业务办理号码的验证方法及其终端
WO2016072833A1 (en) System and method to disable factory reset
US20220147613A1 (en) Automatic password expiration based on password integrity
JP2018518779A (ja) 少なくとも1つのパスワードを生成する方法とデバイス
JP2015170352A (ja) パスワード管理システム
KR101516565B1 (ko) 온라인 상에서의 이미지를 이용한 인증방법 및 장치
CN112966276A (zh) 一种计算机的安全启动方法、装置及介质
EP3306505B1 (en) Information input method and device
KR102264720B1 (ko) 인증서버, 관리서버 및 사용자 단말에서 실행되는 사용자 인증방법
WO2018017019A1 (en) Personal security device and method
US11153320B2 (en) Invariant detection using distributed ledgers

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140530

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: 20140617

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140623

R150 Certificate of patent or registration of utility model

Ref document number: 5568696

Country of ref document: JP

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees