JP7265049B1 - パスワード管理システム、パスワード管理方法、及びプログラム - Google Patents

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

Info

Publication number
JP7265049B1
JP7265049B1 JP2022025475A JP2022025475A JP7265049B1 JP 7265049 B1 JP7265049 B1 JP 7265049B1 JP 2022025475 A JP2022025475 A JP 2022025475A JP 2022025475 A JP2022025475 A JP 2022025475A JP 7265049 B1 JP7265049 B1 JP 7265049B1
Authority
JP
Japan
Prior art keywords
password
server
terminal
hash value
high risk
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.)
Active
Application number
JP2022025475A
Other languages
English (en)
Other versions
JP2023122053A (ja
Inventor
ヤニブ ボアズ
代 威
カズミン イェヴヘン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Group Inc
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 Rakuten Group Inc filed Critical Rakuten Group Inc
Priority to JP2022025475A priority Critical patent/JP7265049B1/ja
Application granted granted Critical
Publication of JP7265049B1 publication Critical patent/JP7265049B1/ja
Publication of JP2023122053A publication Critical patent/JP2023122053A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】パスワード判定の際に通信量やサーバ負荷を軽減することが可能なパスワード管理システム、パスワード管理方法及びプログラムを提供する。【解決手段】パスワード管理システムは、判定部と禁止部を備える端末103と、サーバ判定部を備えるサーバ102で構成される。端末において、判定部は、第1アルゴリズムにより、入力されている文字列が高リスクか否かを判定する。サーバにおいて、サーバ判定部は、第2アルゴリズムにより、文字列のハッシュ値が高リスクか否かを判定する。端末において、禁止部は、サーバにより文字列のハッシュ値が高リスクであると判定されていれば、入力されている文字列をパスワードとして採用することを禁止する。【選択図】図2

Description

本発明は、パスワード管理システム、パスワード管理方法、及びプログラムに関する。
従来から、端末に入力されたパスワードの安全性を判定し、安全性の低いパスワードが入力されると他のパスワードに変更するよう要求するパスワード管理システムが知られている。
例えば、特許文献1には、クライアントにて入力されたパスワードが受信されると、サーバがそのパスワードの安全性を判定し、安全性が高ければパスワードの変更を受け付け、低ければパスワードの変更を禁止するシステムが開示されている。
また、非特許文献1には、パスワードの強度判定手法の一つとして、パスワードのエントロピーの算定方法が開示されている。
特開2010-191871号公報
William E. Burr, Donna F. Dodson, W. Timothy Polk, "Information Security" 46-53頁, [online], June 2004, National Institute of Standards and Technology, "Electric Authentication Guideline", [令和4年1月11日検索], インターネット<URL: https://web.archive.org/web/20040712152833/http://csrc.nist.gov/publications/nistpubs/800-63/SP800-63v6_3_3.pdf>
しかし、パスワードチェックをサーバのみに依存していると、パスワードを判定する度にサーバへのアクセスが必要になり、通信量やサーバ負荷が過大となるおそれがある。
本発明は、上記のような課題を解決するもので、パスワード判定の際に通信量やサーバ負荷を軽減することが可能なパスワード管理システム、パスワード管理方法、及びプログラムを提供することを目的とする。
上記課題を解決するため、本発明に係るパスワード管理システムは、端末と、サーバと、を備え、
前記端末は、
当該端末の画面にパスワード入力欄を表示する表示部と、
前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定する判定部と、
前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止する禁止部と、
高リスクでないと判定されると、前記文字列のハッシュ値を算定する算定部と、
前記算定されたハッシュ値が指定された問合せを前記サーバへ送信する端末送信部と、を備え、
前記サーバは、
前記端末から送信された問合せを受信するサーバ受信部と、
第2アルゴリズムにより、前記受信された問合せに指定されたハッシュ値が高リスクか否かを判定するサーバ判定部と、
前記第2アルゴリズムにより判定された結果を指定する回答を前記端末へ送信するサーバ送信部と、を備え、
前記端末は、前記サーバから送信された回答を受信する端末受信部をさらに備え、
前記端末において、前記禁止部は、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止し、
前記端末は、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可する許可部をさらに備える。
本発明によれば、パスワードの安全性を適切に判定するパスワード管理システム、パスワード管理方法、及びプログラムを提供することができる。
パスワード管理システムを実現する機器の連携を示す図である。 サーバ及び端末における各部の関係を示す図である。 パスワード管理システムにおいて、問題なくパスワードが更新されるまでのやりとりの様子を示すセッション図である。 パスワード管理システムにおいて、何らかの問題が生じパスワードが更新されない場合のやりとりの様子を示すセッション図である。 パスワード管理システムにおいて、端末処理の制御の流れを示すフローチャートである。 パスワード管理システムにおいて、サーバ処理の制御の流れを示すフローチャートである。 パスワード管理システムにおいて、端末処理の制御の流れを示すフローチャートである。 パスワードの更新フォームの様子を示す説明図である。 パスワードの更新フォームの様子を示す説明図である。 パスワードの更新フォームの様子を示す説明図である。
以下に本発明の実施形態を説明する。なお、本実施形態は説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
(端末及びサーバとプログラムの関係)
本実施例に係るパスワード管理システムは、ユーザが入力したパスワードの安全性を判定するものであり、1台もしくは複数台のサーバがスマートフォン、タブレットコンピュータ、パーソナルコンピュータ等の端末と協働して、端末を使用するユーザに安全なパスワードを設定することを促す。
本実施例に係るパスワード管理システムは、例えば、サーバから提供される通販サイト等の何らかのサービスに関してユーザが新たにパスワードを設定する場合に使用することができる。また、ユーザが既に設定しているパスワードを更新する場合にも使用することができる。
さて、本実施例のサーバならびに端末は、プログラムをコンピュータに実行させることにより実現するのが一般的であるが、専用電子回路により処理を実行させることも可能である。
このほか、コンピュータと専用電子回路の中間形態として、プログラムを電子回路の設計スクリプトにコンパイルして、当該設計スクリプトに基づいて電子回路を動的に構成するFPGA(Field Programmable Gate Array)などの技術を適用することにより、本実施例のサーバならびに端末を構成することも可能である。
本実施例に係るサーバは、パスワードの設定又は更新を受け付ける端末と通信をする1台又は複数台のサーバコンピュータが、1つ又は複数のサーバプログラムにより実現される各機能を実行することによって実現される。
本実施例に係る端末は、スマートフォン等を実現する端末コンピュータであり、事業者や運営者から配布サーバ等を通して提供された端末プログラムを実行することによって実現することができる。
端末プログラムとしては、いわゆる「アプリ(App)」に相当するものを採用することができる。また、端末プログラムは、通販サービスを提供するためのアプリ(App)等他のアプリ(App)に組み入れられたものであっても良い。
このほか、端末プログラムとして、一般的なブラウザを採用することもできるし、ブラウザ上で動作するスクリプトプログラムを端末プログラムとして採用することができる。
これらの場合、端末コンピュータで動作するアプリやブラウザは、アプリサーバやウェブサーバとして機能するパスワード管理システムのサーバと通信することによって、パスワードのリスク判定サービスをユーザに提供するためのインターフェースとなる。
一般に、サーバコンピュータや端末コンピュータで実行されるプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ、半導体メモリ等のコンピュータ読み取り可能な非一時的(non-transitory)情報記録媒体に記録することができる。この情報記録媒体は、サーバコンピュータや端末コンピュータとは独立して配布・販売することもできる。
サーバコンピュータや端末コンピュータでは、フラッシュメモリやハードディスク等の非一時的(non-transitory)情報記録媒体に記録されたプログラムを、一時的(temporary)記憶装置であるRAM(Random Access Memory)に読み出してから、読み出されたプログラムに含まれる指令をCPU(Central Processing Unit)が実行する。ただし、ROMとRAMを一つのメモリ空間にマッピングして実行することが可能なアーキテクチャでは、ROMに格納されたプログラムに含まれる指定を、直接CPUが読み出して実行する。
さらに、サーバプログラムや端末プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網等の一時的(transitory)伝送媒体を介して、事業者が管理する配布サーバ等からサーバコンピュータや端末コンピュータ等へ配布・販売することができる。
なお、パスワードのリスク判定サービスを提供するサーバが複数のコンピュータにより構成される場合には、各コンピュータで動作するプログラムは、互いに異なる機能を有しつつ協働する、互いに異なる複数のサーバプログラムということになる。そこで、当該複数のプログラムを合わせたものは、パスワード管理システムを実現するためのシステムプログラムと考えることができる。
以下では、本願発明の理解を容易にするために、ユーザが既にユーザ登録している通販サイトのパスワードを更新する場面を想定して説明する。
(全体構成)
図1は、パスワード管理システムを実現する機器の連携を示す説明図である。以下、本図を参照して説明する。
本図に示すパスワード管理システム101では、サーバ102と、端末103と、がインターネット等のコンピュータ通信網104を介して通信可能に接続されている。
本実施形態のパスワード管理システム101は、通販サービスも提供している。
サーバ102は、通販サービスの事業者や運営者が運用するもので、通販サイトを提供している。そして、サーバ102は、端末103を使用するユーザがユーザ登録をしている通販サイトのパスワードを更新する際に必要となる新しいパスワードの安全性を判定する。
端末103は、通販サービスを利用するユーザが通販サイトを閲覧したり商品を購入したりするために使用するもので、ユーザが設定しようとするパスワードをサーバ102に送信する前に、予めそのパスワードの安全性を判定する。
図2は、パスワード管理システム101におけるサーバ102及び端末103を構成する各部の関係を示す説明図である。以下、本図を参照して説明する。
本図に示すように、本実施形態に係る端末103は、ユーザから種々の指示を受け付けるもので、表示部171と、判定部172と、算定部173と、端末送信部174と、端末受信部175と、禁止部176と、許可部177と、を備える。
表示部171は、液晶パネル、液晶モニタ、あるいはユーザからの指示を受け付けるタッチセンサが一体となったタッチパネル等から構成され、パスワード入力欄171aを含む更新フォームを表示する。パスワード入力欄171aは、ユーザから新しいパスワードを受け付ける入力欄である。
判定部172は、第1アルゴリズムに基づき、パスワード入力欄171aに入力された新しいパスワードの文字列が高リスクであるか否かを判定する。第1アルゴリズムでは、判定部172は、例えば新しいパスワードの文字列の長さを読み、文字列の長さが8文字未満であれば高リスクであり、8文字以上であれば高リスクでないというように判定する。
算定部173は、パスワードのハッシュ値を算定する。ハッシュ値は、MD5(Message Digest 5)、SHA(Secure Hash Algorithm)等のハッシュ関数から得られる代表値を表すデータである。
端末送信部174は、問合せ、要求その他必要な情報をサーバ102に送信する。
端末受信部175は、サーバ102から回答、応答その他情報を受信する。
禁止部176は、ユーザがパスワード入力欄171aに入力したパスワードを構成する文字列をパスワードとして採用することを禁止する制御を行う。禁止部176は、例えば、表示部171が表示する更新フォームに含まれる更新ボタンを無効化し、ユーザからパスワードを更新する指示を受け付けない状態にする。
許可部177は、ユーザがパスワード入力欄171aに入力したパスワードを構成する文字列をパスワードとして採用することを許可する制御を行う。許可部177は、例えば、表示部171が表示する更新フォームに含まれる更新ボタンを有効化し、ユーザからパスワードを更新する指示を受け付けられる状態にする。
本実施形態に係るサーバ102は、端末103から送信されたユーザからの指示に対応して情報を提供するもので、本図に示すように、サーバ受信部161と、サーバ判定部162と、サーバ送信部163と、を備える。また、サーバ102は、データベース164と、サーバ算定部165と、を備えてもよい。
サーバ受信部161は、端末103から問合せ、要求その他情報を受信する。
サーバ判定部162は、第2アルゴリズムに基づき、パスワードのハッシュ値が高リスクか否かを判定する。第2アルゴリズムでは、サーバ判定部162は、例えばデータベース164を検索し、判定に係るハッシュ値がデータベース164に記録されていれば、そのハッシュ値を高リスクであると判定する。データベース164は、サーバ102が備えていてもよいし、外部のサーバに用意されたものを参照してもよい。
また、サーバ判定部162は、第1アルゴリズム及び第2アルゴリズムに基づき、パスワードの文字列が高リスクか否かを判定してもよい。この場合、サーバ判定部162は、第1アルゴリズムに基づきパスワードの文字列が高リスクか否かを判定し、第2アルゴリズムに基づきパスワードのハッシュ値が高リスクか否かを判定する。
第1アルゴリズムは、巨大な辞書を必要としないもので、第2アルゴリズムは巨大な辞書を必要とするものである。すなわち、第1アルゴリズムは、端末103におけるブラウザのスクリプトがブラウザに入力された情報等に基づいて、データベース等の外部機器に問合せをせずに判定可能な手法である。一方で、第2アルゴリズムは、サーバ102等の他の機器に用意されたデータベースにアクセスして判定する手法である。
サーバ送信部163は、回答、応答その他必要な情報を端末103に送信する。
データベース164は、パスワードのハッシュ値その他必要な情報を記録する。データベース164に記録されるハッシュ値は、例えば、過去にいずれかの端末によってサーバ102に送信されたハッシュ値等、高リスクのハッシュ値であってもよい。また、データベース164には、通販サイトを利用するユーザに係るユーザ情報を記録しておいてもよい。
また、データベース164には、端末103から受信したユーザのパスワード、ユーザの登録情報に係るデータベースが記録されていてもよい。
サーバ算定部165は、パスワードのハッシュ値を算定する。
(パスワード管理システムにおける通常のデータの送受)
続いて、パスワード管理システム101によって、問題なくパスワードが更新される様子を説明する。図3は、パスワードが更新されるまでのデータのやりとりの様子を示したセッション図である。本図においては、ユーザは、更新フォームにおいて新しいパスワードを1文字ずつ入力していくことで、パスワードを編集する(ステップS301)。
端末103は、ユーザが入力するパスワードの文字数が短い等、第1アルゴリズムによって高リスクであると判断されている間は、パスワードの更新を禁止する(第1アルゴリズムの扉が閉じているドアの図画に対応)。すなわち、端末103は、更新フォームに含まれる更新ボタンを無効化する。
ユーザがさらに文字を追加し、例えば8文字を超えると、端末103は、第1アルゴリズムにより当該パスワードを構成する文字列が高リスクでないと判定する(第1アルゴリズムの扉が開いているドアの図画に対応)。そして、端末103は、当該パスワードを構成する文字列のハッシュ値を算定し、当該ハッシュ値を指定した問合せをサーバ102に送信する(ステップS305)。ここで、端末103は、文字入力が続いている間は、第1アルゴリズムで高リスクでないと判定されても問合せを送信せず、文字入力が一定時間止まってアイドル状態になってから問合せを送信するようにしてもよい。
サーバ102は、端末103から問合せを受信すると、第2アルゴリズムにより当該問合せに指定されたハッシュ値が高リスクか否かを判定する(第2アルゴリズムの扉の図画に対応)。そして、サーバ102は、その判定結果を指定する回答を端末103に送信する(ステップS406又はステップS407)。
サーバ102からハッシュ値が高リスクであるとの判定結果(第2アルゴリズムの扉が閉じている図画に対応)を指定する回答を受信すると(ステップS406)、端末103は、ユーザが入力した文字列をパスワードとして設定することを禁止する。すなわち、端末103は、更新フォームに含まれる更新ボタンを無効化したままにする。
ユーザがさらに文字を追加すると、端末103は、文字が1文字追加される度にそのパスワードを構成する文字列のハッシュ値を算定し、そのハッシュ値を指定した問合せをサーバ102に送信する。そして、サーバ102は、その度に第2アルゴリズムによりそのハッシュ値が高リスクか否かを判定し、判定結果を指定する回答を端末103に送信する。
このように処理を繰り返していき、サーバ102が第2アルゴリズムによりパスワードのハッシュ値が低リスクであると判定すると(第2アルゴリズムの扉が開いている図画に対応)、サーバ102はその旨の判定結果を指定する回答を端末103に送信する(ステップS407)。端末103は、ハッシュ値が低リスクであるとの判定結果を指定する回答をサーバ102から受信すると、ユーザが入力した文字列をパスワードとして設定することを許可する。すなわち、端末103は、更新フォームに含まれる更新ボタンを有効化する。
サーバ102がパスワードのハッシュ値が低リスクであるとの判定結果を送信し、端末103において更新ボタンが有効化された後もユーザは文字を追加することができる。端末103が、ユーザが新しいパスワードの入力をし終え更新ボタンを押すと(ステップS306)、端末103は、パスワードの更新を要求するパスワード更新要求をサーバ102に送信する(ステップS308)。パスワード更新要求には、ユーザが入力した新しいパスワードが指定されている。
サーバ102は、端末103からパスワード更新要求を受信すると、当該パスワード更新要求に指定されたパスワードが高リスクであるか否かを判定する(ステップS410)。サーバ102は、第1アルゴリズムによりそのパスワードが高リスクであるか否かを判定し、さらにそのパスワードのハッシュ値を算定し、第2アルゴリズムによりそのハッシュ値が高リスクか否かを判定する。
通常であれば、受信したパスワード更新要求に含まれるパスワードは、ユーザが更新ボタンを押す直前にサーバ102が低リスクであると判定したハッシュ値に代表されるパスワードと同一であるので、サーバ102により再度低リスクであると判定される。サーバ102は、パスワード更新要求を受信する直前に低リスクであると判定したハッシュ値と、パスワード更新要求に含まれるパスワードから算定したハッシュ値とを比較し、これらのハッシュ値が同一である場合に、パスワードが低リスクであると判定するようにしてもよい。
なお、端末103が、文字入力がアイドル状態になってから問合せを送信する態様では、ユーザが最後の文字を入力してから更新ボタンを押すまでにアイドル時間が経過しておらず、最後の文字を含めた文字列のハッシュ値をサーバ102に送信していないことが考えられる。そうすると、パスワード更新要求に含まれるパスワードが、サーバ102が最後に低リスクであると判定したハッシュ値に代表されるパスワードと異なることになる。そこで、この態様では、第2アルゴリズムにより低リスクであるとの判定結果を指定した回答を受信した後は、端末103は、1文字ずつ問合せをサーバ102に送信するようにする。
サーバ102は、当該パスワードが低リスクであると判定すると、当該パスワード更新要求に指定されたパスワードを新しいパスワードとして更新するパスワード更新処理をする(ステップS412)。そして、サーバ102は、パスワードが無事に更新されたことを示す更新成功応答を端末103に送信する(ステップS413)。
この態様では、パスワードを更新することができ、ユーザは新しいパスワードを使用して、通販サイトを利用できるようになる。
(パスワード更新前に問題が生じた場合のデータの送受)
続いて、何らかの問題が生じパスワードが更新されない場合について説明する。図4は、ユーザにより更新ボタンが押された後、パスワードが更新されない場合の様子を示したセッション図である。本図は、ユーザにより更新ボタンが押され、端末103がサーバ102にパスワード更新要求を送信するまでは(ステップS306)、図3と同様である。
ユーザが有効化されている更新ボタンを押すと、端末103は、ユーザが入力したパスワードを指定したパスワード更新要求をサーバ102に送信する(ステップS308)。
端末103からパスワード更新要求を受信すると、サーバ102は、当該パスワード更新要求に指定されたパスワードが高リスクであるか否かを判定する(ステップS410)。
ここで、サーバ102がパスワードを高リスクであると判定すると、サーバ102は、パスワード更新処理をせず、パスワードが更新しなかったことを示す更新拒否応答を端末103に送信する(ステップS414)。そして、サーバ102及び端末103は、強制的にログアウト等の処理をしてもよい。
このように、ユーザが更新ボタンを押してパスワード更新要求を送信した後に、サーバ102がさらにリスク判定を行うことで、例えば端末プログラムの改竄によりリスクの高いパスワードが登録されてしまうようなことを防ぐことができる。つまり、端末プログラムが改ざんされて、端末103の第1アルゴリズムによるパスワード判定を行なわないままパスワード更新要求が送信されても、サーバ102にてリスク判定を行うので、リスクの高いパスワードは登録されないことになる。
(端末処理及びサーバ処理)
図5及び図7は、本実施例において、端末103にて実行される端末処理の流れを説明するフローチャートである。図6は、本実施例において、サーバ102にて実行されるサーバ処理の流れを説明するフローチャートである。以下、図5から図7を参照して説明する。
図5において、端末103は、表示部171が更新フォームを表示し、ユーザが通販サイトにおいてユーザに関する登録情報を編集できる状態になると、端末処理をスタートする。
更新フォームは、図8に示すように、新しいパスワードの入力を受け付けるパスワード入力欄171aと、パスワードを変更する指示を受け付ける更新ボタン171bとを含む。更新ボタン171bは、パスワード入力欄171aに何も入力されていない状態では無効化されており、クリックしても反応しない状態となっている。
また、更新フォームは、図9及び図10に示すように、入力されているパスワードの安全度をユーザが認知するための警告オブジェクト171cを含んでもよい。パスワード入力欄171a、更新ボタン171b、及び警告オブジェクト171cは、それぞれHTML(HyperText Markup Language)における入力欄要素、送信要素及び画像要素のほか、他のGUI(Graphical User Interface)要素、たとえば、ボタンオブジェクト等により実現することができる。
図5において、端末処理が開始すると、パスワード入力欄171aにおいてパスワードが編集されるか(ステップS301でYes)、更新ボタン171bがクリックされるまで(ステップS306でYes)、端末処理は待機状態となる(ステップS301でNo、ステップS306でNo)。
パスワード入力欄171aにおいてパスワードが編集されると(ステップS301でYes)、判定部172は、第1アルゴリズムにより、入力されているパスワードが高リスクか否かを判定する(ステップS302)。
判定部172が、入力されているパスワードが高リスクであると判定すると(ステップS302でYes)、禁止部176は、入力されているパスワードを新しいパスワードとして採用することを禁止し、図9で示すように更新ボタン171bを無効化したままにする(ステップS303)。このとき、警告オブジェクト171cでリスクが高いことを示す表示をしてもよい。
図5に戻り、一方で、判定部172が、入力されているパスワードが高リスクでないと判定すると(ステップS302でNo)、算定部173は、入力されているパスワードのハッシュ値を算定する(ステップS304)。
算定部173がハッシュ値を算定すると、端末送信部174は、算定されたハッシュ値を指定した問合せをサーバ102に送信する(ステップS305)。その後、処理は図中「A」に進み、図7に示す処理に移る。端末103は、サーバ102から回答を受信するまで待機状態となる(ステップS501でNo)。端末送信部174がサーバ102へ送信する問合せにパスワードそのものではなく、そのハッシュ値を指定することで、コンピュータ通信網104の通信量やサーバ102への負荷を抑制することができる。
図5へ戻り、ここで、ステップS305において、端末送信部174は、判定部172が第1アルゴリズムによりパスワードを低リスクであると判定して算定部173がそのハッシュ値を算定しても、ユーザによる文字入力が続いている間は問合せを送信しないようにしてもよい。端末送信部174は、文字入力がアイドル状態になってから問合せを送信するようにする。すなわち、端末103は、ユーザによるタイピング速度を記録したデータベースを有しており、1文字毎の間隔時間から間隔分布を算出し、その間隔分布に基づいてアイドル時間を設定する。例えば、文字入力の間隔分布中にいくつかあるピークのうち、最小のピークをアイドル時間として設定してもよい。端末送信部174は、ユーザによるパスワード入力欄171aへの文字入力が止まった後、設定したアイドル時間が経過したときに、アイドル状態に入ったと判定しサーバ102に問合せを送信する。このように構成することで、コンピュータ通信網104の通信量やサーバ102への負荷を抑制することができる。
なお、端末103が、文字入力がアイドル状態になってから問合せを送信する態様では、第2アルゴリズムにより低リスクであるとの判定結果を指定した回答を受信した後は(ステップS501でYes、ステップS502でNo)、端末103は、アイドル時間を無視し、1文字ずつの問合せをサーバ102に送信するようにしてもよい。
サーバ102は、端末103から問合せ、要求その他情報を受信すると図6に示すサーバ処理を開始する。本処理を開始すると、サーバ102は、まず種々の初期化を行う(ステップS401)。
サーバ102が端末103から受信したものが問合せであれば(ステップS402でYes)、サーバ102は、データベース164に、当該問合せに指定されたハッシュ値を記録する(ステップS403)。なお、ステップS403は、省略することもできる。
データベース164にハッシュ値が記録されると、サーバ判定部162は、第2アルゴリズムにより、当該ハッシュ値が高リスクか否かを判定する(ステップS405)。サーバ判定部162が、当該ハッシュ値を高リスクであると判定すると(ステップS405でYes)、サーバ送信部163は、当該ハッシュ値が高リスクであるとの判定結果を指定した禁止回答を端末103に送信する(ステップS406)。
一方で、サーバ判定部162が、当該ハッシュ値を低リスクであると判定すると(ステップS405でNo)、サーバ送信部163は、当該ハッシュ値が低リスクであるとの判定結果を指定した許可回答を端末103に送信する(ステップS407)。
サーバ102は、端末103に禁止回答または許可回答を送信すると、サーバ処理はステップS401に戻る。
続いて、図7で待機状態(ステップS501でNo)になっていた端末103は、端末受信部175がサーバ102から回答を受信すると(ステップS501でYes)、当該回答が禁止回答であるか許可回答であるか、即ち、当該回答で指定された判定結果が高リスクとの判定結果か否かを判定する(ステップS502)。
受信した回答で指定された判定結果が高リスクとの判定結果であれば(ステップS502でYes)、禁止部176は、入力されているパスワードを新しいパスワードとして採用することを禁止し、図9に示すように更新ボタン171bを無効化したままにする(ステップS503)。このとき、警告オブジェクト171cもリスクが高いことを示す表示のままにする。
図7に戻り、一方で、受信した回答で指定された判定結果が低リスクであるとの判定結果であれば(ステップS502でNo)、許可部177は、入力されているパスワードを新しいパスワードとして採用することを許可する。即ち、許可部177は、図10で示すように更新ボタン171bを有効化する(ステップS504)。このとき、警告オブジェクト171cでリスクが低いことを表示するようにしてもよい。
その後、端末処理は、図7中「B」に進み、図5に示す処理に移る。端末103は、いずれかのユーザ操作があるまで待機状態となる(ステップS301でNo、ステップS306でNo)。
更新ボタン171bが有効化された後も、パスワード入力欄171aに文字を追加することができる。パスワード入力欄171aに文字が追加する度に上述の処理が動き、その都度パスワードの安全性が判定される。
ユーザがパスワード入力欄171aに文字を追加しパスワードの入力を終え、更新ボタン171bをクリックすると(ステップS306でYes)、端末103は、更新ボタン171bが有効化されているか否か、即ち、パスワードの更新が許可されているか否かを判定する(ステップS307)。
ここでは、更新ボタン171bが有効化されており更新が許可されているので(ステップS307でYes)、端末送信部174は、入力されているパスワードを指定したパスワード更新要求を端末103に送信する(ステップS308)。その後、端末処理は「C」に進み、図7に示す処理に移る。端末103は、サーバ102から応答を受信するまで待機状態となる(ステップS505でNo)。
図5に戻り、更新ボタン171bが無効化されていない状態でユーザが更新ボタン171bをクリックしても(ステップS307でNo)、サーバ102にパスワード更新要求は送信されず、ユーザから更なる操作があるまで端末処理は待機状態となる(ステップS301でNo、ステップS306でNo)。
図6へ移り、サーバ102は、パスワード更新要求を受信すると図6に示すサーバ処理を開始する。サーバ102が本処理を開始し、初期化を終えると(ステップS401)、受信したものがパスワード更新要求であるので(ステップS408でYes)、サーバ102は、データベース164に、当該パスワード更新要求に指定されたパスワードを記録する(ステップS409)。なお、ステップS409は、省略することもできる。
データベース164にパスワードが記録されると、サーバ判定部162は、当該パスワードが高リスクであるか否かを判定する(ステップS410)。このステップでは、サーバ判定部162は、第1アルゴリズムに基づき当該パスワードが高リスクであるか否かを判定する。そして、サーバ判定部162は、第1アルゴリズムによる判定が低リスクであれば、当該パスワードのハッシュ値を算定し、第2アルゴリズムに基づき、算定したハッシュ値が高リスクであるか否かを判定する。
サーバ判定部162は、第1アルゴリズムによる判定が高リスクであるか、第2アルゴリズムによる判定が高リスクであれば、そのパスワードの安全性が高リスクであると判定する(ステップS411でYes)。一方で、サーバ判定部162は、第2アルゴリズムに基づく判定が低リスクであれば、そのパスワードの安全性が低リスクであると判定する(ステップS411でNo)。
ステップS410において、サーバ102は、パスワード更新要求を受信する直前に低リスクであると判定したハッシュ値(ステップS404)と、パスワード更新要求に含まれるパスワードから算定したハッシュ値とを比較し、これらのハッシュ値が同一である場合に、パスワードが低リスクであると判定するようにしてもよい。
サーバ判定部162がパスワード更新要求に指定されたパスワードを低リスクと判定すると(ステップS411でNo)、サーバ102は、データベース164に記録されているユーザ情報に当該パスワードを上書き等することでパスワードを更新する(ステップS412)。そして、サーバ送信部163は、端末103に、当該パスワードの更新が成功したことを示す更新成功応答を送信する(ステップS413)。
一方で、サーバ判定部162がパスワード更新要求に指定されたパスワードを高リスクであると判定すると(ステップS411でYes)、サーバ送信部163は、端末103に更新を拒否することを示す更新拒否応答を送信する(ステップS414)。そして、サーバ102は、強制的にログアウト等の処理をしてもよい。
サーバ送信部163が端末103にいずれかの回答を送信すると、サーバ処理はステップS401に戻る。なお、サーバ102が受信した情報が、上述した問合せや要求以外の情報であれば(ステップS402でNo、ステップS408でNo)、サーバ102は、受信した情報に対応する他の処理をして(ステップS415)、ステップ401に戻る。
図7へ移り、待機状態(ステップS505でNo)となっている端末103がいずれかの応答を受信すると(ステップS505でYes)、判定部172は、受信した応答が更新成功応答か更新拒否応答かを判定する(ステップS506)。受信した応答が更新成功応答であれば(ステップS506でYes)、表示部171は、更新が成功したことを示す画面を表示する(ステップS507)。その後、端末処理は終了する。
一方で、受信した応答が更新拒否応答であれば(ステップS506でNo)、表示部171は、更新が失敗したことを示す画面を表示し(ステップS508)、更新ボタン171bを無効化する(ステップS509)。そして、端末処理は図中「B」に進み、図5に示す処理に移る。端末103は、ユーザからいずれかの操作があるまで待機状態となる(ステップS301でNo、ステップS306でNo)。その後、パスワードの更新が成功するまで上述した処理を繰り返す。または、端末103は、更新拒否応答を受信した後(ステップS506でNo)、強制的にログアウト等の処理をしてもよい。
(変形例)
ここまでは、端末103がサーバ102に送信するパスワード更新要求にパスワードのみを指定することを説明したが、このパスワード更新要求に、ユーザが入力したパスワードと算定部173で算定したハッシュ値とを指定してもよい。この場合、サーバ102は、パスワード更新要求で指定されたパスワードのハッシュ値を算定し、パスワード更新要求に指定されたハッシュ値と比較する。サーバ判定部162は、これらのハッシュ値が同一であれば、パスワード更新要求に含まれるパスワードが低リスクであると判定し、そうでなければ高リスクであると判定する。
また、上述した実施形態では、ユーザが通販サイトにおけるユーザ登録を更新する場面を想定して説明したが、ユーザが新規にユーザ登録をする場合に当該実施形態に係る発明を適用してもよい。
また、上述した実施形態では、第1アルゴリズムとして、パスワード入力欄171aに入力された文字列の長さに基づきリスク判定をしたが、リスク判定の要素はこれに限られない。例えば、パスワードのエントロピー、利用されている文字種、「asdfghjkl」、「12345678」等パスワードとして頻用される文字列、ユーザの誕生日等をリスク判定の要素としてもよい。
ユーザの誕生日をリスク判定の要素とする場合で、ユーザのログインが成功した後にパスワードのリスク判定をする場合には、サーバ側でユーザの誕生日を管理していれば、ユーザの誕生日をスクリプトに埋め込んで、リスク判定することとしてもよい。また、ユーザが初めてユーザ登録をする場合には、ユーザ登録時にユーザが入力する誕生日を抽出して、リスク判定するようにしてもよい。すなわち、ユーザに提示する登録フォームにおいて、誕生日等の個人情報の入力欄をパスワードの入力欄に先行して配置しておき、ユーザが入力した誕生日等の個人情報を参照して、これらと一致あるいは類似するか否かにより、リスク判定することしてもよい。
さらに、上述した実施形態では、データベース164に、端末103から送信された問合せに指定されたハッシュ値を記録することを記載したが、端末103から送信されたパスワード更新要求で指定されたパスワードのハッシュ値を算定して記録してもよい。このようにすることで、ユーザがパスワードとして入力し終えたもののみをデータベース164に登録することができ、データベース164の容量の逼迫を抑制できる。
また、データベース164には、HIBP(Have I Been Pwned)等外部の情報サーバから、過去に漏洩したアカウントのパスワードデータを取得し、予めそのハッシュ値を記録しておいてもよい。
さらに、上述した実施形態では、端末送信部174が、ユーザの文字入力がアイドル状態になると、サーバ102にパスワード更新要求を送信することを記載したが、判定部172あるいは算定部173が、文字入力がアイドル状態になったことを起因として処理をするようにしてもよい。すなわち、判定部172が、ユーザの文字入力がアイドル状態になったことを検知すると、第1アルゴリズムに基づきそのパスワードのリスクを判定したり、算定部173がアイドル状態を検知すると、ハッシュ値を算定するようにしたりしてもよい。このように構成することで、端末103のCPU使用率を抑制することができる。
なお、上記の構成ならびに機能は、適宜省略が可能であり、当該省略された態様も、本発明の技術的範囲に含まれる。
(まとめ)
以上説明したように、本実施形態に係るパスワード管理システムは、端末と、サーバと、を備え、
前記端末は、
当該端末の画面にパスワード入力欄を表示する表示部と、
前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定する判定部と、
前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止する禁止部と、
高リスクでないと判定されると、前記文字列のハッシュ値を算定する算定部と、
前記算定されたハッシュ値が指定された問合せを前記サーバへ送信する端末送信部と、を備え、
前記サーバは、
前記端末から送信された問合せを受信するサーバ受信部と、
第2アルゴリズムにより、前記受信された問合せに指定されたハッシュ値が高リスクか否かを判定するサーバ判定部と、
前記第2アルゴリズムにより判定された結果を指定する回答を前記端末へ送信するサーバ送信部と、を備え、
前記端末は、前記サーバから送信された回答を受信する端末受信部をさらに備え、
前記端末において、前記禁止部は、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止し、
前記端末は、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可する許可部をさらに備えるように構成する。
また、本実施形態に係るパスワード管理システムにおいて、
前記サーバは、ハッシュ値を記録するデータベースに問合せが可能であり、
前記サーバ判定部は、前記受信された問合せに指定されたハッシュ値が前記データベースに記録されているハッシュ値であれば、当該受信された問合せに指定されたハッシュ値を高リスクであると判定する、
ように構成することができる。
また、本実施形態に係るパスワード管理システムにおいて、
前記データベースは、高リスクのハッシュ値を記録する、
ように構成することができる。
また、本実施形態に係るパスワード管理システムにおいて、
前記サーバは、前記受信された問合せに指定されたハッシュ値を前記データベースに記録する、
ように構成することができる。
また、本実施形態に係るパスワード管理システムにおいて、
前記端末は、さらに、前記許可部が前記文字列をパスワードとして許可している場合に、ユーザからパスワードを更新する指示を受け付ける受付部を備え、
前記端末送信部は、前記受付部がユーザからパスワードを更新する指示を受け付けると、当該パスワードを指定した当該パスワードを更新する旨の要求を前記サーバへ送信し、
前記サーバにおいて、前記サーバ受信部は、前記端末から送信された前記パスワードを更新する旨の要求を受信し、
前記サーバ判定部は、前記サーバ受信部が前記パスワードを更新する旨の要求を受信すると、当該パスワードを更新する旨の要求に指定されたパスワードを高リスクか否かを判定し、
前記サーバは、前記判定において前記パスワードが高リスクでないと判定されれば、パスワードを更新するパスワード更新部を備え、
前記サーバ送信部は、前記パスワードが更新されると、前記端末に当該パスワードが更新された旨の応答を送信する、
ように構成することができる。
また、本実施形態に係るパスワード管理システムにおいて、
前記サーバ判定部における判定において前記パスワードが高リスクあると判定されれば、前記パスワード更新部は、前記パスワードの更新を禁止し、
前記サーバ送信部は、前記端末に当該パスワードが更新されなかった旨の応答を送信する、
ように構成することができる。
また、本実施形態に係るパスワード管理システムにおいて、
前記サーバ判定部は、前記サーバ受信部が前記パスワードを更新する旨の要求を受信すると、前記第1アルゴリズムにより当該パスワードを更新する旨の要求に指定されたパスワードの文字列が高リスクか否かを判定し、
前記サーバは、前記第1アルゴリズムが、当該パスワードの文字列を高リスクでないと判定すると、当該文字列のハッシュ値を算定するサーバ算定部を備え、
前記サーバ判定部は、前記第2アルゴリズムにより前記算定したハッシュ値が高リスクか否かを判定し、
前記第1アルゴリズムによる判定が高リスクか、前記第2アルゴリズムによる判定が高リスクであれば、前記指定されたパスワードを高リスクと判定し、前記第2アルゴリズムよる判定が高リスクでなければ、前記指定されたパスワードを高リスクでないと判定する、
ように構成することができる。
また、本実施形態に係るパスワード管理システムにおいて、
前記サーバは、前記サーバ受信部が前記パスワードを更新する旨の要求を受信すると、当該パスワードの文字列のハッシュ値を算定するサーバ算定部を備え、
前記サーバ判定部は、前記パスワードを更新する旨の要求を受信する直前に前記受信した問合せに指定されたハッシュ値と、前記サーバ算定部が算定したハッシュ値とを比較し、これらのハッシュ値が同一であれば、前記受信したパスワードを更新する旨の要求に指定されたパスワードを高リスクでないと判定する、
ように構成することができる。
また、本実施形態に係るパスワード管理システムにおいて、
前記端末送信部は、ユーザによる文字入力がされ、前記第1アルゴリズムにより高リスクでないと判定される度に、前記問合せを送信する、
ように構成することができる。
また、本実施形態に係るパスワード管理システムにおいて、
前記端末送信部は、ユーザによる文字入力が続いている間は、前記第1アルゴリズムにより高リスクでないと判定されても前記問合せを送信せず、文字入力が一定時間止まってアイドル状態になってから前記問合せを送信する、
ように構成することができる。
また、本実施形態に係るパスワード管理システムにおいて、
前記端末は、ユーザによるタイピングの速度をデータベースに記録し、
アイドル時間は、前記記録されたタイピングの1文字毎の間隔時間に係る間隔分布における最小のピークに基づいて定める、
ように構成することができる。
また、本実施形態に係るパスワード管理システムにおいて、
前記端末送信部は、前記サーバから前記パスワードが更新された旨の応答を受信した後は、文字入力が一定時間止まっていなくても前記問合せを送信する、
ように構成することができる。
本実施形態に係るパスワード管理方法は、
端末と、サーバと、を備えるパスワード管理システムにおいて、
前記端末が、
当該端末の画面にパスワード入力欄を表示するステップ、
前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定するステップ、
前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止するステップ、
高リスクでないと判定されると、前記文字列のハッシュ値を算定するステップ、
前記算定されたハッシュ値が指定された問合せを前記サーバへ送信するステップ、
前記サーバが、
前記端末から送信された問合せを受信するステップ、
第2アルゴリズムにより、前記受信された問合せに指定されたハッシュ値が高リスクか否かを判定するステップ、
前記第2アルゴリズムにより判定された結果を指定する回答を前記端末へ送信するステップ、
前記端末が、
前記サーバから送信された回答を受信するステップ、
前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止するステップ、
前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可するステップ、
を備えるように構成する。
本実施形態に係る端末プログラムは、
端末コンピュータを、
当該端末の画面にパスワード入力欄を表示する表示部、
前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定する判定部、
前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止する禁止部、
高リスクでないと判定されると、前記文字列のハッシュ値を算定する算定部、
前記算定されたハッシュ値が指定された問合せをサーバへ送信する端末送信部、
前記サーバから送信された回答を受信する端末受信部、として機能させ、
前記禁止部において、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止させ、
前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可する許可部、
として機能させるように構成する。
本実施形態に係るサーバプログラムは、
ネットワークを通じて端末と通信するサーバコンピュータを、
前記端末から送信された問合せを受信するサーバ受信部、
第2アルゴリズムにより、前記受信された問合せに指定されたハッシュ値が高リスクか否かを判定するサーバ判定部、
前記第2アルゴリズムにより判定された結果を指定する回答を前記端末へ送信するサーバ送信部、
として機能させるように構成する。
本実施形態に係るシステムプログラムは、
前記端末プログラムと、前記サーバプログラムと、を備えるように構成する。
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
本発明によれば、パスワードの安全性を適切に判定するパスワード管理システム、パスワード管理方法、及びプログラムを提供することができる。
101 パスワード管理システム
102 サーバ
103 端末
104 コンピュータ通信網
161 サーバ受信部
162 サーバ判定部
163 サーバ送信部
164 データベース
165 サーバ算定部
171 表示部
171a パスワード入力欄
171b 更新ボタン
171c 警告オブジェクト
172 判定部
173 算定部
174 端末送信部
175 端末受信部
176 禁止部
177 許可部

Claims (15)

  1. 端末と、サーバと、を備えるパスワード管理システムにおいて、
    前記端末は、
    当該端末の画面にパスワード入力欄を表示する表示部と、
    前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定する判定部と、
    前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止する禁止部と、
    高リスクでないと判定されると、前記文字列のハッシュ値を算定する算定部と、
    前記算定されたハッシュ値が指定された問合せを前記サーバへ送信する端末送信部と、
    を備え、
    前記サーバは、
    前記端末から送信された問合せを受信するサーバ受信部と、
    第2アルゴリズムにより、前記受信された問合せに指定されたハッシュ値が高リスクか否かを判定するサーバ判定部と、
    前記第2アルゴリズムにより判定された結果を指定する回答を前記端末へ送信するサーバ送信部と、を備え、
    前記端末は、前記サーバから送信された回答を受信する端末受信部をさらに備え、
    前記端末において、前記禁止部は、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止し、
    前記端末は、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可する許可部をさらに備え、
    前記端末は、さらに、前記許可部が前記文字列をパスワードとして許可している場合に、ユーザからパスワードを更新する指示を受け付ける受付部を備え、
    前記端末送信部は、前記受付部がユーザからパスワードを更新する指示を受け付けると、当該パスワードを指定した当該パスワードを更新する旨の要求を前記サーバへ送信し、
    前記サーバにおいて、前記サーバ受信部は、前記端末から送信された前記パスワードを更新する旨の要求を受信し、
    前記サーバ判定部は、前記サーバ受信部が前記パスワードを更新する旨の要求を受信すると、当該パスワードを更新する旨の要求に指定されたパスワードを高リスクか否かを判定し、
    前記サーバは、前記判定において前記パスワードが高リスクでないと判定されれば、パスワードを更新するパスワード更新部を備え、
    前記サーバ送信部は、前記パスワードが更新されると、前記端末に当該パスワードが更新された旨の応答を送信し、
    前記サーバ判定部における判定において前記パスワードが高リスクあると判定されれば、前記パスワード更新部は、前記パスワードの更新を禁止し、
    前記サーバ送信部は、前記端末に当該パスワードが更新されなかった旨の応答を送信し、
    前記サーバは、前記サーバ受信部が前記パスワードを更新する旨の要求を受信すると、当該パスワードの文字列のハッシュ値を算定するサーバ算定部を備え、
    前記サーバ判定部は、前記パスワードを更新する旨の要求を受信する直前に前記受信した問合せに指定されたハッシュ値と、前記サーバ算定部が算定したハッシュ値とを比較し、これらのハッシュ値が同一であれば、前記受信したパスワードを更新する旨の要求に指定されたパスワードを高リスクでないと判定し、
    前記パスワードを更新する旨の要求を受信する直前に前記受信した問合せに指定されたハッシュ値と、前記サーバ算定部が算定したハッシュ値とを比較し、これらのハッシュ値が同一でなければ、前記受信したパスワードを更新する旨の要求に指定されたパスワードを高リスクであると判定する、
    ことを特徴とするパスワード管理システム。
  2. 端末と、サーバと、を備えるパスワード管理システムにおいて、
    前記端末は、
    当該端末の画面にパスワード入力欄を表示する表示部と、
    前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定する判定部と、
    前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止する禁止部と、
    高リスクでないと判定されると、前記文字列のハッシュ値を算定する算定部と、
    前記算定されたハッシュ値が指定された問合せを前記サーバへ送信する端末送信部と、
    を備え、
    前記サーバは、
    前記端末から送信された問合せを受信するサーバ受信部と、
    第2アルゴリズムにより、前記受信された問合せに指定されたハッシュ値が高リスクか否かを判定するサーバ判定部と、
    前記第2アルゴリズムにより判定された結果を指定する回答を前記端末へ送信するサーバ送信部と、を備え、
    前記端末は、前記サーバから送信された回答を受信する端末受信部をさらに備え、
    前記端末において、前記禁止部は、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止し、
    前記端末は、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可する許可部をさらに備え、
    前記端末送信部は、ユーザによる文字入力が続いている間は、前記第1アルゴリズムにより高リスクでないと判定されても前記問合せを送信せず、文字入力が一定時間止まってアイドル状態になってから前記問合せを送信し、
    前記端末は、ユーザによるタイピングの速度をデータベースに記録し、
    アイドル時間は、前記記録されたタイピングの1文字毎の間隔時間に係る間隔分布における最小のピークに基づいて定める、
    ことを特徴とするパスワード管理システム。
  3. 端末と、サーバと、を備えるパスワード管理システムにおいて、
    前記端末は、
    当該端末の画面にパスワード入力欄を表示する表示部と、
    前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定する判定部と、
    前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止する禁止部と、
    高リスクでないと判定されると、前記文字列のハッシュ値を算定する算定部と、
    前記算定されたハッシュ値が指定された問合せを前記サーバへ送信する端末送信部と、
    を備え、
    前記サーバは、
    前記端末から送信された問合せを受信するサーバ受信部と、
    第2アルゴリズムにより、前記受信された問合せに指定されたハッシュ値が高リスクか否かを判定するサーバ判定部と、
    前記第2アルゴリズムにより判定された結果を指定する回答を前記端末へ送信するサーバ送信部と、を備え、
    前記端末は、前記サーバから送信された回答を受信する端末受信部をさらに備え、
    前記端末において、前記禁止部は、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止し、
    前記端末は、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可する許可部をさらに備え、
    前記端末送信部は、ユーザによる文字入力が続いている間は、前記第1アルゴリズムにより高リスクでないと判定されても前記問合せを送信せず、文字入力が一定時間止まってアイドル状態になってから前記問合せを送信し、
    前記端末送信部は、前記サーバから前記第2アルゴリズムにより前記ハッシュ値が高リスクでないとの判定結果を指定した回答を受信した後は、文字入力が一定時間止まっていなくても前記問合せを送信する、
    ことを特徴とするパスワード管理システム。
  4. 前記サーバは、ハッシュ値を記録するデータベースに問合せが可能であり、
    前記サーバ判定部は、前記受信された問合せに指定されたハッシュ値が前記データベースに記録されているハッシュ値であれば、当該受信された問合せに指定されたハッシュ値を高リスクであると判定する、
    ことを特徴とする請求項1乃至3のいずれか一項に記載のパスワード管理システム。
  5. 前記データベースは、高リスクのハッシュ値を記録する、
    ことを特徴とする請求項に記載のパスワード管理システム。
  6. 前記サーバは、前記受信された問合せに指定されたハッシュ値を前記データベースに記録する、
    ことを特徴とする請求項4又は5に記載のパスワード管理システム。
  7. 前記サーバ判定部は、前記サーバ受信部が前記パスワードを更新する旨の要求を受信すると、前記第1アルゴリズムにより当該パスワードを更新する旨の要求に指定されたパスワードの文字列が高リスクか否かを判定し、
    前記サーバは、前記第1アルゴリズムが、当該パスワードの文字列を高リスクでないと判定すると、当該文字列のハッシュ値を算定するサーバ算定部を備え、
    前記サーバ判定部は、前記第2アルゴリズムにより前記算定したハッシュ値が高リスクか否かを判定し、
    前記第1アルゴリズムによる判定が高リスクか、前記第2アルゴリズムによる判定が高リスクであれば、前記指定されたパスワードを高リスクと判定し、前記第2アルゴリズムよる判定が高リスクでなければ、前記指定されたパスワードを高リスクでないと判定する、
    ことを特徴とする請求項に記載のパスワード管理システム。
  8. 前記端末送信部は、ユーザによる文字入力がされ、前記第1アルゴリズムにより高リスクでないと判定される度に、前記問合せを送信する、
    ことを特徴とする請求項1乃至のいずれか一項に記載のパスワード管理システム。
  9. 端末と、サーバと、を備えるパスワード管理システムにおいて、
    前記端末が、
    当該端末の画面にパスワード入力欄を表示するステップ、
    前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定するステップ、
    前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止するステップ、
    高リスクでないと判定されると、前記文字列のハッシュ値を算定するステップ、
    前記算定されたハッシュ値が指定された問合せを前記サーバへ送信するステップ、
    前記サーバが、
    前記端末から送信された問合せを受信するステップ、
    第2アルゴリズムにより、前記受信された問合せに指定されたハッシュ値が高リスクか否かを判定するステップ、
    前記第2アルゴリズムにより判定された結果を指定する回答を前記端末へ送信するステップ、
    前記端末が、
    前記サーバから送信された回答を受信するステップ、
    前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止するステップ、
    前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可するステップ、
    前記端末が、
    さらに、前記文字列をパスワードとして許可している場合に、ユーザからパスワードを更新する指示を受け付けるステップ、
    ユーザからパスワードを更新する指示を受け付けると、当該パスワードを指定した当該パスワードを更新する旨の要求を前記サーバへ送信するステップ、
    前記サーバが、
    前記端末から送信された前記パスワードを更新する旨の要求を受信するステップ、
    前記パスワードを更新する旨の要求を受信すると、当該パスワードを更新する旨の要求に指定されたパスワードが高リスクか否かを判定するステップ、
    前記判定において前記パスワードが高リスクでないと判定されれば、パスワードを更新するステップ、
    前記パスワードが更新されると、前記端末に当該パスワードが更新された旨の応答を送信するステップ、
    前記判定において前記パスワードが高リスクあると判定されれば、前記パスワードの更新を禁止するステップ、
    前記端末に当該パスワードが更新されなかった旨の応答を送信するステップ、
    前記パスワードを更新する旨の要求を受信すると、当該パスワードの文字列のハッシュ値を算定するステップ、
    前記パスワードを更新する旨の要求を受信する直前に前記受信した問合せに指定されたハッシュ値と、前記算定したハッシュ値とを比較し、これらのハッシュ値が同一であれば、前記受信したパスワードを更新する旨の要求に指定されたパスワードを高リスクでないと判定するステップ、
    前記パスワードを更新する旨の要求を受信する直前に前記受信した問合せに指定されたハッシュ値と、前記算定したハッシュ値とを比較し、これらのハッシュ値が同一でなければ、前記受信したパスワードを更新する旨の要求に指定されたパスワードを高リスクであると判定するステップ、
    を備えることを特徴とするパスワード管理方法。
  10. 端末と、サーバと、を備えるパスワード管理システムにおいて、
    前記端末が、
    当該端末の画面にパスワード入力欄を表示するステップ、
    前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定するステップ、
    前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止するステップ、
    高リスクでないと判定されると、前記文字列のハッシュ値を算定するステップ、
    前記算定されたハッシュ値が指定された問合せを前記サーバへ送信するステップ、
    前記サーバが、
    前記端末から送信された問合せを受信するステップ、
    第2アルゴリズムにより、前記受信された問合せに指定されたハッシュ値が高リスクか否かを判定するステップ、
    前記第2アルゴリズムにより判定された結果を指定する回答を前記端末へ送信するステップ、
    前記端末が、
    前記サーバから送信された回答を受信するステップ、
    前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止するステップ、
    前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可するステップ、を備え、
    前記端末が、
    前記問合せ前記サーバへ送信するステップにおいて、ユーザによる文字入力が続いている間は、前記第1アルゴリズムにより高リスクでないと判定されても前記問合せを送信せず、文字入力が一定時間止まってアイドル状態になってから前記問合せを送信し、
    ユーザによるタイピングの速度をデータベースに記録し、
    アイドル時間は、前記記録されたタイピングの1文字毎の間隔時間に係る間隔分布における最小のピークに基づいて定める、
    とを特徴とするパスワード管理方法。
  11. 端末と、サーバと、を備えるパスワード管理システムにおいて、
    前記端末が、
    当該端末の画面にパスワード入力欄を表示するステップ、
    前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定するステップ、
    前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止するステップ、
    高リスクでないと判定されると、前記文字列のハッシュ値を算定するステップ、
    前記算定されたハッシュ値が指定された問合せを前記サーバへ送信するステップ、
    前記サーバが、
    前記端末から送信された問合せを受信するステップ、
    第2アルゴリズムにより、前記受信された問合せに指定されたハッシュ値が高リスクか否かを判定するステップ、
    前記第2アルゴリズムにより判定された結果を指定する回答を前記端末へ送信するステップ、
    前記端末が、
    前記サーバから送信された回答を受信するステップ、
    前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止するステップ、
    前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可するステップ、を備え、
    前記端末が、
    前記問合せ前記サーバへ送信するステップにおいて、ユーザによる文字入力が続いている間は、前記第1アルゴリズムにより高リスクでないと判定されても前記問合せを送信せず、文字入力が一定時間止まってアイドル状態になってから前記問合せを送信し、
    前記問合せ前記サーバへ送信するステップにおいて、前記サーバから前記第2アルゴリズムにより前記ハッシュ値が高リスクでないとの判定結果を指定した回答を受信した後は、文字入力が一定時間止まっていなくても前記問合せを送信する、
    とを特徴とするパスワード管理方法。
  12. 端末コンピュータを、
    当該端末の画面にパスワード入力欄を表示する表示部、
    前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定する判定部、
    前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止する禁止部、
    高リスクでないと判定されると、前記文字列のハッシュ値を算定する算定部、
    前記算定されたハッシュ値が指定された問合せをサーバへ送信する端末送信部、
    前記サーバから送信された回答を受信する端末受信部、として機能させ、
    前記禁止部において、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止させ、
    前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可する許可部、として機能させ、
    前記端末送信部は、ユーザによる文字入力が続いている間は、前記第1アルゴリズムにより高リスクでないと判定されても前記問合せを送信せず、文字入力が一定時間止まってアイドル状態になってから前記問合せを送信し、
    前記端末コンピュータは、ユーザによるタイピングの速度をデータベースに記録し、
    アイドル時間は、前記記録されたタイピングの1文字毎の間隔時間に係る間隔分布における最小のピークに基づいて定める、
    とを特徴とする端末プログラム。
  13. 端末コンピュータを、
    当該端末の画面にパスワード入力欄を表示する表示部、
    前記パスワード入力欄における編集がされると、第1アルゴリズムにより、前記パスワード入力欄に入力されている文字列が高リスクか否かを判定する判定部、
    前記第1アルゴリズムにより前記文字列が高リスクであると判定されると、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止する禁止部、
    高リスクでないと判定されると、前記文字列のハッシュ値を算定する算定部、
    前記算定されたハッシュ値が指定された問合せをサーバへ送信する端末送信部、
    前記サーバから送信された回答を受信する端末受信部、として機能させ、
    前記禁止部において、前記受信された回答に指定された結果において、前記ハッシュ値が高リスクであると判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを禁止させ、
    前記受信された回答に指定された結果において、前記ハッシュ値が高リスクでないと判定されていれば、前記パスワード入力欄に入力されている文字列をパスワードとして採用することを許可する許可部、として機能させ、
    前記端末送信部は、ユーザによる文字入力が続いている間は、前記第1アルゴリズムにより高リスクでないと判定されても前記問合せを送信せず、文字入力が一定時間止まってアイドル状態になってから前記問合せを送信し、
    前記端末送信部は、前記サーバから第2アルゴリズムにより前記ハッシュ値が高リスクでないとの判定結果を指定した回答を受信した後は、文字入力が一定時間止まっていなくても前記問合せを送信する、
    とを特徴とする端末プログラム。
  14. ネットワークを通じて端末と通信するサーバコンピュータを、
    前記端末から送信された問合せを受信するサーバ受信部、
    第2アルゴリズムにより、前記受信された問合せに指定されたハッシュ値が高リスクか否かを判定するサーバ判定部、
    前記第2アルゴリズムにより判定された結果を指定する回答を前記端末へ送信するサーバ送信部、として機能させ、
    前記サーバ受信部において、前記端末から送信されたパスワードを更新する旨の要求を受信させ、
    前記サーバ判定部において、前記サーバ受信部が前記パスワードを更新する旨の要求を受信すると、当該パスワードを更新する旨の要求に指定されたパスワードを高リスクか否かを判定させ、
    前記サーバコンピュータを、前記判定において前記パスワードが高リスクでないと判定されれば、パスワードを更新するパスワード更新部、として機能させ、
    前記サーバ送信部において、前記パスワードが更新されると、前記端末に当該パスワードが更新された旨の応答を送信させ、
    前記サーバ判定部における判定において前記パスワードが高リスクあると判定されれば、前記パスワード更新部において、前記パスワードの更新を禁止させ、
    前記サーバ送信部において、前記端末に当該パスワードが更新されなかった旨の応答を送信させ、
    前記サーバコンピュータを、前記サーバ受信部が前記パスワードを更新する旨の要求を受信すると、当該パスワードの文字列のハッシュ値を算定するサーバ算定部、として機能させ、
    前記サーバ判定部において、前記パスワードを更新する旨の要求を受信する直前に前記受信した問合せに指定されたハッシュ値と、前記サーバ算定部が算定したハッシュ値とを比較し、これらのハッシュ値が同一であれば、前記受信したパスワードを更新する旨の要求に指定されたパスワードを高リスクでないと判定させ、
    前記パスワードを更新する旨の要求を受信する直前に前記受信した問合せに指定されたハッシュ値と、前記サーバ算定部が算定したハッシュ値とを比較し、これらのハッシュ値が同一でなければ、前記受信したパスワードを更新する旨の要求に指定されたパスワードを高リスクであると判定させる、
    とを特徴とするサーバプログラム。
  15. 請求項12又は13に記載の端末プログラムと、請求項14に記載のサーバプログラムと、を備えることを特徴とするシステムプログラム。
JP2022025475A 2022-02-22 2022-02-22 パスワード管理システム、パスワード管理方法、及びプログラム Active JP7265049B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022025475A JP7265049B1 (ja) 2022-02-22 2022-02-22 パスワード管理システム、パスワード管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022025475A JP7265049B1 (ja) 2022-02-22 2022-02-22 パスワード管理システム、パスワード管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP7265049B1 true JP7265049B1 (ja) 2023-04-25
JP2023122053A JP2023122053A (ja) 2023-09-01

Family

ID=86096133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022025475A Active JP7265049B1 (ja) 2022-02-22 2022-02-22 パスワード管理システム、パスワード管理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7265049B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7285294B2 (ja) 2011-06-03 2023-06-01 タバコ リサーチ アンド ディベロップメント インスティテュート (プロプリエタリー) リミテッド 喫煙品の組立てに関する改良

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134491A (ja) 1999-11-02 2001-05-18 Mitsubishi Electric Corp パスワード選定支援システム
JP2009146041A (ja) 2007-12-12 2009-07-02 Internatl Business Mach Corp <Ibm> コミュニケーション支援方法、システムおよびサーバ装置
JP2014139796A (ja) 2014-02-18 2014-07-31 Canon Marketing Japan Inc 情報処理システム、情報処理装置、その制御方法、及びプログラム
JP2018186430A (ja) 2017-04-27 2018-11-22 レノボ・シンガポール・プライベート・リミテッド 携帯端末装置の可用性を確保する方法、および情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134491A (ja) 1999-11-02 2001-05-18 Mitsubishi Electric Corp パスワード選定支援システム
JP2009146041A (ja) 2007-12-12 2009-07-02 Internatl Business Mach Corp <Ibm> コミュニケーション支援方法、システムおよびサーバ装置
JP2014139796A (ja) 2014-02-18 2014-07-31 Canon Marketing Japan Inc 情報処理システム、情報処理装置、その制御方法、及びプログラム
JP2018186430A (ja) 2017-04-27 2018-11-22 レノボ・シンガポール・プライベート・リミテッド 携帯端末装置の可用性を確保する方法、および情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7285294B2 (ja) 2011-06-03 2023-06-01 タバコ リサーチ アンド ディベロップメント インスティテュート (プロプリエタリー) リミテッド 喫煙品の組立てに関する改良
JP7341206B2 (ja) 2011-06-03 2023-09-08 タバコ リサーチ アンド ディベロップメント インスティテュート (プロプリエタリー) リミテッド 喫煙品の組立てに関する改良

Also Published As

Publication number Publication date
JP2023122053A (ja) 2023-09-01

Similar Documents

Publication Publication Date Title
JP5509334B2 (ja) コンピュータネットワーク内の保護リソースへのアクセスを管理するための方法と、そのための物理エンティティおよびコンピュータプログラム
EP2540051B1 (en) Method for managing access to protected resources and delegating authority in a computer network
US8539243B2 (en) Information processing apparatus capable of communicating with external authentication device
WO2013099065A1 (ja) 認証連携システムおよびidプロバイダ装置
US20140123240A1 (en) System and service providing apparatus
CN113079164B (zh) 堡垒机资源的远程控制方法、装置、存储介质及终端设备
JP2008197973A (ja) ユーザ認証システム
JP2011100489A (ja) ユーザ確認装置、方法及びプログラム
US20220255914A1 (en) Identity information linking
JP7265049B1 (ja) パスワード管理システム、パスワード管理方法、及びプログラム
US11601416B2 (en) Information processing apparatus, information processing system, and non-transitory computer readable medium
JP4872268B2 (ja) コンテンツ配信方法および携帯端末
CN105656856A (zh) 资源管理方法和装置
JP4400787B2 (ja) Webアクセス監視システム及び管理者用クライアントコンピュータ
CN114866247B (zh) 一种通信方法、装置、系统、终端及服务器
JP5846143B2 (ja) 自動ログイン処理システム、自動ログイン処理装置及び自動ログイン処理プログラム
CN108259456B (zh) 实现用户免登录的方法、装置、设备、计算机存储介质
JP2012208941A (ja) ユーザ確認装置、方法及びプログラム
JP2019003509A (ja) 情報処理装置及び情報処理プログラム
WO2015151251A1 (ja) ネットワークサービス提供装置、ネットワークサービス提供方法、及びプログラム
JP2013251000A (ja) ユーザ確認装置、方法及びプログラム
JP2018206087A (ja) 情報処理装置及び情報処理プログラム
JP4559648B2 (ja) 認証システム、および認証サーバ
JP2002342270A (ja) リモートアクセス制御方法、リモートアクセス制御プログラム
JP4362778B2 (ja) プロキシサーバ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230313

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230413

R150 Certificate of patent or registration of utility model

Ref document number: 7265049

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150