(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023166594
(43)【公開日】2023-11-21
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
G06F 21/46 20130101AFI20231114BHJP
G06F 21/31 20130101ALI20231114BHJP
G06F 21/57 20130101ALI20231114BHJP
【FI】
G06F21/46
G06F21/31
G06F21/57 370
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023152383
(22)【出願日】2023-09-20
(62)【分割の表示】P 2019183000の分割
【原出願日】2019-10-03
(71)【出願人】
【識別番号】509286983
【氏名又は名称】株式会社ロイヤリティマーケティング
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】星山 昌之
(72)【発明者】
【氏名】佐佐 將行
(57)【要約】
【課題】 状況に応じて柔軟に決定されたパスワード変更方針をユーザに提示できる技術を提供する。
【解決手段】 ユーザを認証するためのパスワードを管理する情報処理装置は、受付部と、スコア算出部と、変更方式決定部と、提示部とを備える。受付部は、前記ユーザからのログイン要求を受け付ける。前記スコア算出部は、ログイン要求に応じて前記ユーザの現在のパスワードに必要な強度向上レベルを表すスコアを算出する。前記変更方式決定部は、算出されたスコアに基づいて前記ユーザのためのパスワード変更方式を決定する。前記提示部は、決定された変更方式を前記ユーザに提示する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ユーザを認証するためのパスワードを管理する情報処理装置であって、
前記ユーザからのログイン要求を受け付ける受付部と、
前記ログイン要求に応じて、前記ユーザの現在のパスワードの強度向上の必要性を表すスコアを算出するスコア算出部と、
算出された前記スコアに基づいて前記ユーザのためのパスワード変更方式を決定する変更方式決定部と、
決定された前記パスワード変更方式を前記ユーザに提示する提示部と
を備える情報処理装置。
【請求項2】
前記変更方式決定部は、前記ユーザの現在のパスワードに対する変更方式を決定する、請求項1に記載の情報処理装置。
【請求項3】
前記変更方式決定部は、前記ユーザの初期登録時のオリジナルパスワードに対する変更方式を決定する、請求項1に記載の情報処理装置。
【請求項4】
前記変更方式決定部は、追加する文字列の桁数、追加する位置、削除する文字列の桁数、削除する位置、前記ユーザが選択した文字列、および前記情報処理装置がランダムに選択した文字列のうちの少なくとも1つをランダムに選択することによって、前記パスワード変更方式を決定する、請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項5】
前記スコア算出部は、不正アタックの発生に関する情報と前記ユーザに固有の属性とに基づいて前記スコアを算出する、請求項1乃至4のいずれか一項に記載の情報処理装置。
【請求項6】
前記スコア算出部は、前記ユーザのパスワードの構造を表す管理コードに基づいて前記スコアを算出する、請求項1乃至4のいずれか一項に記載の情報処理装置。
【請求項7】
前記管理コードは、前記ユーザの会員属性、前記パスワードの変更回数、前記パスワードの長さ、前記パスワードの前回変更時の変更位置、前記パスワードの前回変更時の追加文字数または削除文字数、および前記パスワードの前回変更時の変更文字列決定主体のうちの少なくとも1つを含む、請求項6に記載の情報処理装置。
【請求項8】
ユーザを認証するためのパスワードを管理する情報処理装置が実行する情報処理方法であって、
前記ユーザからのログイン要求を受け付けることと、
前記ログイン要求に応じて、前記ユーザの現在のパスワードの強度向上の必要性を表すスコアを算出することと、
算出された前記スコアに基づいて前記ユーザのためのパスワード変更方式を決定することと、
決定された前記パスワード変更方式を前記ユーザに提示することと
を備える情報処理方法。
【請求項9】
ユーザを認証するためのパスワードを管理する情報処理装置によって使用されるデータ構造であって、
前記ユーザのパスワードと、当該パスワードの構造を表す管理コードとを含んでおり、 少なくとも前記管理コードを用いて前記ユーザのパスワードの強度向上の必要性を表すスコアを算出し、算出された前記スコアに基づいて前記ユーザのためのパスワード変更方式を決定する処理に用いられる、
データ構造。
【請求項10】
請求項1乃至7のいずれか一項に記載の情報処理装置の各部による処理をプロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明の一態様は、ユーザを認証するためのパスワードを管理する情報処理装置、情報処理方法、データ構造およびプログラムに関する。
【背景技術】
【0002】
通信技術の発展に伴い、インターネットバンキングやネットショッピングをはじめとするオンラインサービスが普及している。一般に、各ユーザは、ユーザIDなどとも呼ばれるアカウント識別情報と、認証用のパスワードを入力することによって、システムにログインし、サービスの提供を受けることができる。
【0003】
このようなオンラインサービスの普及に伴い、パスワードの管理が問題となっている。多数のパスワードを管理する煩雑さから、ユーザは、複数のサービスで同じパスワードを使い回すことが多い。複数のサービス間で同じパスワードを使用していると、いずれかのサービスからパスワードが漏洩し、他のサービスにおいても悪用されるおそれがある。漏洩したパスワードを使用して悪意ある第三者が真のユーザになりすましてログインする、いわゆる「なりすましログイン」が発生すると、個人情報が盗まれ、現金やポイントが不正利用されかねない。また一方、ブルートフォースと呼ばれる総当たり攻撃によってパスワードが解析される事例も報告されている。以下、このような真のユーザ以外のユーザによるログインまたはその試行を総称して、「不正アタック」と言う。
【0004】
しかしながら、ユーザに定期的にパスワードを変更させるだけでは十分な対策とはいえない。パスワード変更をユーザに任せると、変更後のパスワードがユニークなものにならず、第三者から容易に推測されるおそれがあり、また複数のサービス間でのパスワードの使い回しも発生しがちである。ユーザに頻繁なパスワード変更を要求すると、使い回しをさらに助長する傾向にある。
【0005】
不正アタックを防ぐため、パスワードのエラー入力回数が所定の数に達すると、あらかじめ設定した規則に基づいてあらかじめ登録しておいた符号列を現在のパスワードに追加して新パスワードを生成する、パスワード生成装置が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1の技術は、あらかじめ決められた規則に基づいてパスワードを変更するものであり、十分に柔軟な対応とはいえない。
【0008】
この発明は、上記事情に着目してなされたもので、その目的とするところは、状況に応じて柔軟にパスワードの変更方式を決定できる、パスワード管理技術を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するためにこの発明の第1の態様は、ユーザを認証するためのパスワードを管理する情報処理装置にあって、上記ユーザからのログイン要求を受け付ける受付部と、ログイン要求に応じて上記ユーザの現在のパスワードの強度向上の必要性を表すスコアを算出するスコア算出部と、算出されたスコアに基づいて上記ユーザのためのパスワード変更方式を決定する変更方式決定部と、決定された変更方式を上記ユーザに提示する提示部とを備えるようにしたものである。
【発明の効果】
【0010】
第1の態様によれば、ユーザを認証するためのパスワードを管理する情報処理装置により、ユーザの現在のパスワードの強度向上の必要性を表すスコアが算出され、算出されたスコアに基づいて当該ユーザのパスワード変更方式が決定され、決定された変更方式がユーザに対して提示される。
【0011】
このように、情報処理装置がユーザの現在のパスワードの強度を考慮してパスワード変更方式を決定するので、全ユーザに一律な変更方式ではなく、ユーザごとに異なる変更方式が決定される。また、パスワードの変更をユーザ任せにしないので、変更後のパスワードの強度向上も期待できる。
【0012】
すなわちこの発明の一態様によれば、柔軟にパスワードの変更方式を決定できる、パスワード管理技術を提供することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、この発明の一実施形態に係る情報処理装置を備えたシステムの全体構成を示す図である。
【
図2】
図2は、この発明の一実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。
【
図3】
図3は、この発明の一実施形態に係る情報処理装置のソフトウェア構成を示すブロック図である。
【
図4】
図4は、
図3に示した情報処理装置による処理手順と処理内容を示すフローチャートである。
【
図5】
図5は、
図4に示した処理手順のうち変更方式決定処理の処理手順と処理内容を示すフローチャートである。
【
図6】
図6は、パスワード強度スコアの算出に用いられるスコア算出テーブルの一例を示す図である。
【
図7】
図7は、パスワード変更方式の決定に用いられる変更方式決定テーブルの一例を示す図である。
【
図8】
図8は、ユーザに対するパスワード変更方式の通知イメージの一例を示す図である。
【
図9】
図9は、パスワードおよび構造パターンコードの管理イメージの一例を示す図である。
【
図10】
図10は、構造パターンコードの生成規則の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照してこの発明に係わる実施形態を説明する。
【0015】
[一実施形態]
(構成)
(1)システム
図1は、この発明の一実施形態に係る情報処理装置を備えたシステムの全体構成の一例を示す図である。
このシステムは、情報処理装置1と、ユーザが使用するユーザ端末UT1,UT2,...UTi(以後、まとめて「ユーザ端末UT」と言う。)との間で、ネットワークNWを介して互いに通信可能とする。
【0016】
ユーザ端末UTは、例えば、スマートフォン、タブレット型端末、携帯電話、パーソナルコンピュータなど、あらゆる形態のクライアント端末を含み、ブラウザまたはそれに代わるアプリケーションを備える。
【0017】
ネットワークNWは、例えば広域網と、この広域網に対しアクセスするための複数のアクセス網とから構成される。広域網としては、インターネットのような公衆網が用いられる。アクセス網としては、例えば、無線LAN(Local Area Network)、携帯電話網、有線電話網、FTTH(Fiber To The Home)、CATV(Cable Television)網が用いられる。
【0018】
情報処理装置1は、例えばサーバ装置であり、ユーザを認証するためのパスワードを管理し、必要に応じてパスワードの変更方式を決定し、ユーザに提示する。
【0019】
(2)情報処理装置
(2-1)ハードウェア構成
図2は、この発明の一実施形態に係る情報処理装置1のハードウェア構成の一例を示すブロック図である。
【0020】
情報処理装置1は、例えば、CPU(Central Processing Unit)等のハードウェアプロセッサ10Aを有する。そして、このハードウェアプロセッサ10Aに対し、プログラムメモリ10B、データメモリ30、および通信インタフェース20を、バス40を介して接続したものとなっている。
【0021】
通信インタフェース20は、例えば1つ以上の有線または無線の通信インタフェースユニットを含んでおり、外部機器との間で情報の送受信を可能にする。通信インタフェース20は、ユーザ端末UTとの間で、通信ネットワークNWにより規定される通信プロトコルにしたがいデータ伝送を行う。通信プロトコルとしては、例えばTCP/IP(Transmission Control Protocol / Internet Protocol)等が使用されるが、これに限るものではない。
【0022】
プログラムメモリ10Bは、記憶媒体として、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の随時書込みおよび読出しが可能な不揮発性メモリと、ROM等の不揮発性メモリとを組み合わせて使用したもので、一実施形態に係る各種制御処理を実行するために必要なプログラムが格納されている。
【0023】
データメモリ30は、記憶媒体として、例えば、HDDまたはSSD等の随時書込みおよび読出しが可能な不揮発性メモリと、RAM(Random Access Memory)等の揮発性メモリとを組み合わせて使用したもので、処理を行う過程で取得および作成された各種データを記憶するために用いられる。
【0024】
(2-2)ソフトウェア構成
図3は、この発明の一実施形態に係る装置のソフトウェア構成または機能構成を、
図2に示したハードウェア構成と関連付けて示したブロック図である。
通信インタフェース20は、その機能部として受信部21および送信部22を備える。受信部21は、外部装置から種々のデータをネットワーク経由で受信し、制御ユニット10に渡す機能を有する。送信部22は、制御ユニット10から受け取った種々のデータをネットワーク経由で外部装置に送信する機能を有する。例えば、受信部21は、ユーザ端末UTからログイン要求やパスワード変更要求を含むメッセージを受信し、これを制御ユニット10に渡す。ログイン要求を受信する受信部と、パスワード変更要求を受信する受信部は、別個に設けられてもよい。また例えば、送信部22は、制御ユニット10から受け取った提示情報を含むメッセージをユーザ端末UTに送信する。
【0025】
データメモリ30の記憶領域には、スコア算出テーブル記憶部31と、変更方式決定テーブル記憶部32と、構造パターンコード記憶部33とが設けられている。
【0026】
スコア算出テーブル記憶部31は、パスワードの強度向上の必要性を表すスコアを算出するために使用されるスコア算出テーブルを記憶するために使用される。
【0027】
変更方式決定テーブル記憶部32は、算出されたスコアに基づいてパスワードの変更方式を決定するために使用される変更方式決定テーブルを記憶するために使用される。
【0028】
構造パターンコード記憶部33は、ユーザのパスワードの構造を表す管理コードとしての構造パターンコードを記憶するために使用される。
【0029】
なお、上記記憶部31~33は情報処理装置1の必須の構成ではなく、例えば、データベースサーバ等の外部の記憶装置に設けられたものであってもよい。
【0030】
制御ユニット10は、上記ハードウェアプロセッサ10Aと、上記プログラムメモリ10Bとから構成され、ソフトウェアによる処理機能部として、ログイン要求受付部11と、変更要否判定部12と、スコア算出部13と、変更方式決定部14と、提示情報生成部15と、パスワード変更処理部16と、構造パターンコード生成部17とを備える。これらの処理機能部は、いずれもプログラムメモリ10Bに格納されたプログラムを、上記ハードウェアプロセッサ10Aに実行させることにより実現される。制御ユニット10は、また、ASIC(Application Specific Integrated Circuit)やFPGA(field-programmable gate array)などの集積回路を含む、他の多様な形式で実現されてもよい。
【0031】
ログイン要求受付部11は、ユーザ端末UTから受信されたログイン要求を受信部21から受け取り、ユーザIDなどの必要な情報を抽出して変更要否判定部12に渡す処理を行う。
【0032】
変更要否判定部12は、ログイン要求に係るユーザIDがパスワード変更を要する対象であるか否かを判定する。当該ユーザIDがパスワード変更の対象である場合、パスワード変更方式決定処理のため、スコア算出部13に当該ユーザIDに係る情報を渡す。パスワード変更の対象でない場合、通常のログイン処理のため、提示情報生成部15に当該ユーザIDに係る情報を渡す。
【0033】
スコア算出部13は、指定されたユーザIDに対応する現在のパスワードの強度向上の必要性を表すスコアを算出し、算出されたスコアを変更方式決定部14に渡す処理を行う。一実施形態によれば、スコア算出部13は、スコア算出テーブル31に記憶されたスコア算出テーブルと、構造パターンコード記憶部33に記憶された構造パターンコードとを読み出し、これらを用いてスコアを算出する。
【0034】
変更方式決定部14は、スコア算出部13から受け取ったスコアに基づき、変更方式決定テーブル記憶部32に記憶された変更方式決定テーブルを読み出して、変更方式を決定し、決定された変更方式を提示情報生成部15に渡す。
【0035】
提示情報生成部15は、ユーザに提示すべき情報を含む提示データを生成し、送信部22を通じてユーザ端末UTに送信する。
【0036】
パスワード変更処理部16は、ユーザ端末UTからのパスワード変更要求を受信部21から受け取り、パスワードを変更する処理を行う。
【0037】
構造パターンコード生成部17は、パスワードの構造を表す管理コードとしての構造パターンコードを生成し、構造パターンコード記憶部33に記憶させる処理を行う。
【0038】
(動作)
次に、以上のように構成された情報処理装置1による情報処理動作を説明する。
図4は、情報処理装置1による処理の手順とその内容の一例を示す。
【0039】
(1)ログイン要求の受付け
まずステップS1において、情報処理装置1は、ログイン要求受付部11の制御の下、ユーザ端末UTからのログイン要求を受け付ける。ログイン要求は、例えばユーザ端末UTのブラウザを介して入力されたユーザIDとパスワードを含む。ログイン要求受付部11はまたユーザ認証を行ってもよい。例えば、ログイン要求受付部11は、情報処理装置1の記憶領域に記憶されたパスワードと一致するか否かを判定することによって、ユーザ認証を行うことができる。あるいは、ネットワークを介して通信可能な他の認証サーバがユーザ認証を実行し、ログイン要求受付部11は、その認証結果を受け取るようにしてもよい。
【0040】
ユーザ認証に失敗した場合、ログイン要求受付部11は、例えばユーザ端末UTのブラウザに対し再入力を促す表示をするよう指示する。ユーザ認証に成功した場合、ログイン要求受付部11は、ステップS2に移行する。
【0041】
ステップS2において、情報処理装置1は、変更要否判定部12の制御の下、当該ユーザIDについてパスワード変更が必要か否かを判定する。パスワード変更が必要か否かは、例えば、あらかじめ作成された、パスワード変更の対象者を指定する「パスワード変更対象者IDテーブル」と照合することにより行われる。この「パスワード変更対象者IDテーブル」は、例えば、情報処理装置1を含むシステムが不正ログインなどの攻撃を受けた場合や、他社システムでの情報漏洩事件などが明らかになった場合等、その攻撃や事件で判明した手口、問題点に対してパスワードの変更を求めることで当該ユーザが不正被害に合うリスクを下げる必要があるときに、登録されたユーザ属性やパスワードの内容、変更履歴などに基づいて作成される。ただし、これは一例にすぎず、オペレータ等の手を介して対象IDを抽出し、作成されるものであってもよい。また、すべてのユーザIDが対象として指定されてもよい。
【0042】
当該ユーザIDについて、パスワード変更が必要と判定された場合(YES)、その変更の具体的な内容を決定するため、ステップS3に移行する。パスワード変更が不要と判定された場合(NO)、ステップS8に移行し、通常のログイン処理を実行する。通常のログイン処理とは、例えば、ユーザ個別の認証後初期画面を表示させるためのHTMLファイルを含む応答メッセージを作成し、ユーザ端末UTのブラウザに送信する処理である。
【0043】
(2)変更方式の決定
ステップS3において、情報処理装置1は、パスワード変更の具体的な内容を決定するための変更方式決定処理を行う。
図5は、変更方式決定処理の詳細な処理の手順とその内容の一例を示す。
【0044】
(2-1)スコアの算出
まずステップS31において、情報処理装置1は、スコア算出部13の制御の下、パスワード強度のスコアを算出する。パスワード強度のスコアとは、ここでは、パスワードの変更における変更後パスワード強度を高める必要性を表す指標を言い、スコアが高いほど、パスワードの変更後強度向上の必要性が高いこと、すなわち現状パスワードの脆弱性が高いことを表す。パスワード強度のスコアは、ユーザIDごとに算出される。スコアは、あらかじめ設定された対応テーブルやあらかじめ設定された数式などを用いて任意の手法で算出されてよい。
【0045】
図6は、スコア算出部13によってスコアを算出するために使用されるスコア算出テーブルの一例を示す。
図6に示したように、一実施形態によれば、スコア算出部13は、「一般論」と「個別論」の観点からスコアを算出する。「一般論」は、全ユーザに共通の“外形的状況”によるスコア決定であり、「個別論」は、ユーザ個別または特定のユーザグループに共通するスコア決定となる。さらに、「個別論」は、パスワードの構造に基づく構造属性と、ユーザ個人に関する個人属性とを含む。
【0046】
より詳細には、
図6のテーブルは、「一般論」として、1日当たりの不正アタック件数、不正アタック件数の累計、1日当たりの実被害数、実被害数の累計に応じた区分を設定しており、それぞれの発生状況に該当する区分に応じてスコアが加算される。
【0047】
例えば、1日当たりの不正アタック件数が99回以下であれば、「強度必要レベル小」に該当し、スコアは「+1」が加算される。同様に、1日当たりの不正アタック件数が100回以上であれば、「強度必要レベル中」に該当し、スコアは「+3」が加算され、1,000回以上であれば、「強度必要レベル大」に該当し、スコアは「+5」が加算される。なお、1日当たりの不正アタック件数とは、例えば、前日に発生した不正アタックの件数であるが、他の基準(例えば前月の1日当たりの平均件数など)に基づくものでもよい。「不正アタック」は、例えば、同一IPアドレスからの多数のログイン試行の発生数やログインエラー発生数などに応じて判定される。
【0048】
同様に「実被害数」は、ユーザ自身から、身に覚えのない取引がされたようだ、または不正ログインされたようだとの報告の数に応じて決定される。「実被害数」はまた、サービス提供側で各種ログによるITセキュリティ上の痕跡から情報漏洩やポイント不正利用を発見/認定した数も含み得る。
【0049】
「不正アタック件数累計」とは、例えば、不正アタック開始と認定された日以降、それが収束するまでの期間の累計値であり、「実被害数累計」も同様である。
【0050】
「数値追加型PASSアタック」については、例えば、パスワードに特定桁数の数字が挿入されたパスワードへの不正アタックが行われているなどのアタック対象となっているパスワードの構造特性情報を反映する。このアタックは、例えば、上記「実被害数累計」を基準として判定に用いられる。例えば、
図6の例では、あるユーザが前回のパスワード変更で「3桁の数字」を追加する変更を行っていた場合、「3桁の数字を挿入した総当たり攻撃」が実被害累計の10%以上であれば、「強度必要レベル大」と判定され、「+7」のスコアが加算されることになる。同様に、あるユーザが前回のパスワード変更で「末尾に4桁の文字列」を追加する変更を行っていた場合、「末尾に4桁の文字列を挿入した総当たり攻撃」が実被害累計に占める割合に応じて強度が判定される。あるユーザが前回どのようなパスワード変更を行っていたかは、後述する管理コードから情報を抽出することによって判断することができる。
【0051】
「特定グループ所属アタック」は、「特定グループ」に対する不正アタックなどの情報を反映する。「特定グループ」は、例えば特定のルート、企業のHPやチェーン店の店頭などの勧誘や募集で会員登録したユーザや、特定のWebサイトで会員登録をしたユーザ、または特定のメールドメインのアドレスをIDに使用しているユーザなど、入会経路によるユーザ属性や所属サービス等を表す。例えば、
図6の例では、あるユーザが入会経路として特定の「グループA」に属する場合、全アタックに対して当該グループAに対するアタックが占める割合が実被害累計の10%以上であれば、「強度必要レベル大」と判定され、「+5」のスコアが加算されることになる。同様に、
図6には明示していないが、特定のメールドメインのアドレスをIDに使用しているユーザに対する不正アタックについても、あらかじめスコア算出テーブル内に項目を設けて区分を設定することによって、当該ユーザがどの区分に該当するかを判定しスコアを算出することができる。あるユーザがどのような入会経路を経たか、あるユーザがどのような所属サービスに属するかについては、後述する管理コードから情報を抽出することによって判断することができる。あるユーザのIDであるところのメールアドレスは、例えば、後述する構造パターンコード記憶部33に格納されるデータ構造から情報を抽出することによって、あるいは図示しない記憶部に格納されたユーザの個人情報データベースから当該ユーザの情報を抽出することによって判断することができる。
【0052】
スコア算出部13は、上記のようなテーブルを用い、該当する区分のスコアを加算していくことにより、最終的なスコアを算出する。
図6に示したスコア算出テーブルは、あらかじめ設定されたものでもよいし、必要に応じて随時更新されてもよい。例えば、不正アタックの総数が急増した場合には、各区分内のスコアの値を大きくすることができる。また、特定のパターンの不正アタックや特定の入会経路/グループに属するユーザへの不正アタックの偏りが観察された場合など、テーブル内の項目数(行数)を追加または変更することもできる。
【0053】
すなわち、
図6に示したテーブルは、パスワード変更対象者ごとに変更後の「あるべきパスワード強度」を検討するために使用される。そのため、一人一人について「強度」を算出し、システムがその値によって変更方式の選択を行うことになる。このように、情報処理装置1は、指向性の異なる複数の属性を用いてスコアを算出することにより、柔軟かつ多元的なパスワード変更後強度向上策を実現する。
【0054】
なお、
図6に関して、「個別論」としてパスワードの構造に係る情報を用いる例を説明した。しかし、これに限るものではなく、ユーザに関する種々の情報、例えば、ユーザの個人属性、ユーザの会員属性、ユーザのアカウント情報などに基づいてスコアを算出するようにしてもよい。ユーザの個人属性は、例えば、性別、年齢、職業、居住地、勤務地、使用しているユーザ端末UTの種別などを含む。ユーザの会員属性は、例えば、初期登録時の入会経路だけでなく頻繁に利用している店舗またはチェーン(やそのブランド)などを含む。ユーザのアカウント情報は、例えば、利用期間、利用頻度、ポイント残高、取引数、取引額などを含む。
【0055】
(2-2)変更対象の選択と変更方式の決定
続いて、
図5のステップS32において、情報処理装置1は、変更方式決定部14の制御の下、算出されたスコアに基づいてユーザごとの変更方式を決定する。変更方式とは、パスワード変更の具体的な内容を指定する方式を言う。変更方式は、あらかじめ設定された対応テーブルやあらかじめ設定された数式などを用いて任意の手法で算出されてよい。
【0056】
図7は、算出されたスコアに基づいて変更方式を決定するために変更方式決定部14によって使用される変更方式決定テーブルと、それによって決定された変更方式の一例を示す。この例では、変更方式決定テーブルは、「スコアの範囲」および「変更対象」カラムを含んでおり、スコアの範囲に応じて、変更前のパスワード(以下、「旧パスワード」)のどこをどのように変更すべきかを指定する。
【0057】
まず変更方式決定部14は、スコア算出部13によって算出されたスコアと、変更方式決定テーブルとをもとに、変更対象を選択する。例えば、
図7の例で、スコアが「6」の場合、「0~10」の範囲であるので、「P(位置)」「N(桁数)」「D(値決定者)」のうち「N(桁数)」が変更対象としてランダムに指定される。変更方式決定部14は、続いて「具体的な桁数」および「追加か削除か」をランダムに選択する。
図7では、そのランダムな選択の結果の一例として、「選択された変更対象の一例」のカラムにおいて「N+2」が示されている。この例は、変更方式として「2桁追加」が選択されたことを意味する。「2桁追加」でさえあれば、どのような文字列をどの位置に追加するかはユーザが自由に決定することができるので、おのずと(記録する内容には少なくとも)D=Uもセットされるので、2個がスタートになる。例えば、旧パスワードが「PASS」である場合、新パスワードは例えば「PAS12S」でもよいし「PxASyS」でもよい。使用可能な文字または使用不可の文字が別途指定されてもよい。なお、同一ユーザについて前回と全く同じ変更方式が選択された場合には、変更対象の選択からやり直すようにしてもよい。
【0058】
同様に、スコアの範囲が「11~20」の場合、
図7の例では「P(位置)」「N(桁数)」「D(値決定者)」のうちの2個を変更対象としてランダムに選択することが指定される。例えば「P」と「N」の組合せが選択された場合、「P」について「具体的な位置」が、「N」について「具体的な桁数」および「追加か削除か」がさらにランダムに選択される。
図7では、そのランダムな選択の結果の一例として「P=0,N+2」が示されている。これは、「先頭(0桁目の位置)」に「2桁追加」する変更方式が選択されたことを意味する。やはりどのような「2桁の文字」を追加するかはユーザに委ねられ、D=Uと記録される。したがって、旧パスワードが「PASS」である場合、新パスワードは例えば「34PASS」でもよいし「yzPASS」でもよい。
【0059】
同様に、スコアの範囲が「21~30」の場合、
図7の例では「P(位置)」「N(桁数)」「D(値決定者)」のすべてを変更対象として選択することが指定される。この場合、「P」について「具体的な位置」が、「N」について「具体的な桁数」および「追加か削除か」、「D」について「値決定者はシステムかユーザか」がさらにランダムに選択される。
図7では、そのランダムな選択の結果の一例として、「P=8,N-3,D=S」が示されている。これは、「8文字目の後」の位置から「桁数を3桁短くする」「文字列はシステムが選択する」という変更方式が選択されたことを意味する。したがって、旧パスワードが「PASSWORDABCD」である場合、新パスワードは、旧パスワードから「ABC」を削除した「PASSWORDD」に決まる。なお、「N」が「-(削除)」の場合には、値決定者として「D=U(ユーザ)」は考え難いので、自動的に「D=S(システム)」のみが選択されるように設定されてもよい。
【0060】
以上は例示に過ぎず、変更対象をさらに増やすこともできるし、変更方式として不明確な指示が生じないように適宜制限を加えてもよい。また、「N」および「P」の値範囲をあらかじめ指定してもよい。例えば、「N」については、0(ゼロ)を除いた[-5,-4,-3,-2,-1,+1,+2,+3,+4,+5]の中からランダムに選択されるように設定されてよい。同様に、「P」については現在のパスワードの長さを考慮して、その都度選択範囲が制限されるようにしてもよい。あるいは、指定された位置が存在しない場合(例えば旧パスワード「PASS」に対して「P=8」が選択された場合)には、ランダムな選択をやり直すようにしてもよい。
【0061】
決定された変更方式は、変更直前(現在)のパスワードに対する変更を指示するものであってもよいし、初期登録時(ユーザのオリジナル)のパスワードに対する変更を指示するものであってもよい。なお、例えば「N+n(nは任意の数字)」「D=S」が選択された場合、「システムが決定したn桁の文字列を追加」させるため、変更方式決定部14はさらに「n桁の文字列」をランダムに選択する。
【0062】
(2-3)変更方式の出力
ステップS33において、情報処理装置1は、変更方式決定部14の制御の下、選択した変更方式を提示情報生成部15に出力する。
【0063】
次いで、
図4のステップS4において、情報処理装置1は、提示情報生成部15の制御の下、変更方式決定部14から受け取った変更方式をユーザに提示するための表示データを生成し、ユーザ端末UTのブラウザに送信する。これを受信したユーザ端末UTのブラウザは、変更方式提示画面を生成して表示する。
【0064】
図8は、ユーザ端末UTのブラウザにより表示される変更方式提示画面の一例を示す。提示画面60には、変更方式を説明するテキストエリア61、変更後の新しいパスワード(以下「新パスワード」と言う)を説明するテキストエリア62、新パスワードの入力ボックス63、確認のための新パスワードの再入力ボックス64、およびパスワード変更を指示するボタン65が含まれる。
【0065】
図8の例では、表示部61,62に示したように、「登録済みパスワードXXXXXXXX」の前に文字列「1234」を追加することによって新しいパスワードを追加することが指示される。
図7の例に関連させれば、変更方式として「P=0(先頭に)」「N+4(4桁追加)」「D=S(文字列はシステムが決定)」が決定され、さらに情報処理装置1の変更方式決定部14により追加すべき4桁の文字列として「1234」が選択されたことを表す。なお、提示画面60における登録済みパスワードの「XXXXXXXX」の部分は、伏せ字で表示されてもよいし、平文で表示されてもよい。
【0066】
ユーザは、ユーザ端末UTのブラウザに表示されたこの画面60を見て、例えばスマートフォンのタッチパネルを介して、新パスワードの入力ボックス63に、指示された新パスワード「1234XXXXXXXX」を入力し、確認のために再入力ボックス64に再度同じパスワードを入力し、パスワード変更ボタン65を押す。すると、ユーザ端末UTのブラウザは、入力された文字列を表す情報とともに、パスワード変更を要求する信号を生成し、情報処理装置1に対して送信する。
【0067】
(3)新パスワードの受付け
ステップS5において、情報処理装置1は、パスワード変更処理部16の制御の下、ユーザ端末UTのブラウザからの新パスワードの入力を受け付ける。
【0068】
ステップS6において、情報処理装置1は、パスワード変更処理部16の制御の下、新パスワードが適切か否かを判定する。パスワード変更処理部16は、例えば、提示情報生成部15が生成した情報をもとに(または変更方式決定部14が決定した情報をもとに)、新パスワードが適切か否かを判定する。新パスワードが適切な場合(YES)、ステップS7に移行する。新パスワードが適切でない場合(NO)、再びステップS4に戻り、変更方式提示画面を再表示させる。このとき、入力されたパスワードが誤っている旨の表示を追加してもよい。また、入力ボックス63に入力されたパスワードと、入力ボックス64に再入力されたパスワードが異なる場合にも、パスワードが適切でないと判定するようにしてもよい。
【0069】
(4)構造パターンコードの生成
ステップS7において、情報処理装置1は、構造パターンコード生成部17の制御の下、新パスワードについて、パスワードの構造を表す管理コードとしての構造パターンコードを更新する。構造パターンコード生成部17は、例えば、構造パターンコード記憶部33から当該ユーザIDに関する旧パスワードの構造パターンコードを読み出し、新パスワードの構造パターンコードを生成して、構造パターンコード記憶部33の情報を更新する。構造パターンコード生成部17は、さらに変更方式決定部14によって決定された変更方式に基づいて構造パターンコードを生成してもよい。
【0070】
図9は、構造パターンコード記憶部33に格納されるデータ構造の一例を示す。このデータ構造は、情報処理装置1によって使用され、ユーザIDと、ユーザのパスワードと、構造パターンコードとを含む。そして、情報処理装置1によって、上記のようにパスワードの強度向上の必要性を表すスコアを算出するために使用される。
【0071】
図9の例では、ユーザIDとしてメールアドレスが登録される。またこの例では、説明の便宜上、全ユーザが初期パスワードとして、「abcde」の5桁の文字列を設定していたものとする。例えば、レコード「No.1」は、ユーザID「aaa@aaaa.com」のユーザに関するデータであり、パスワード「abcde」に対して構造パターンコード「00010000050000A0」が付与されている。このコードは、ユーザが初期登録時に設定したオリジナルパスワードであることを表す。
【0072】
図10は、
図9に示した構造パターンコードの付与規則の一例を示す。この例では、全16桁のコードのうち、第1桁、第8桁、第16桁は、拡張性を確保するための予備として設定される(初期値=0)。またこの例では、第2~第5桁の「ブランド/グループ」(初期値=0010)は、例えば、初期登録時の登録または入会経路を示し、第6~第7桁の「世代」(初期値=01)はパスワードの変更回数を示し、第9~第10桁の「長さ」(初期値=08)はパスワードの長さを示す。また、第11~第12桁の「位置」(初期値=00)は、前回の変更時に旧パスワードに対して文字列が追加または削除された位置を示す。先頭(第0桁目)に挿入した場合、値「00」が付与され、旧パスワードが5桁であった場合に末尾に文字列を追加した場合には値「05」が付与される。第13~第14桁の「区分桁数」(初期値=00)は、追加または削除された文字数を表す。第15桁の「値選択」は、パスワードの変更ルールの決定者「A(初期値)」「S(システム)」「U(ユーザ)」を表す。なお、値範囲「AN」は英数字を、「HX」は16進数、「N」は数字、「A」は英字を表す。
【0073】
図9において、レコード「No.1」は、上記のとおり初期パスワードであり、構造パターンコード「0 0010 00 0 05 00 00 A 0」を有する。この構造パターンコードのうち、第2~第5桁の「0010」は、上記のように「ブランド/グループ」を示し、「初期値」(ここでは、例えばすべてのブランド/グループの親会社)であることを示す。第9~第10桁の「05」は、上記のように「長さ」を表し、現在のパスワードの長さが5(桁)であることを示す。他の項目「世代」「位置」「区分桁数」「値決定者」は、まだパスワードが変更されていないので、すべて初期値を付与されている。
【0074】
一方、レコード「No.2」は、ユーザID「bbb@bbbb.co.jp」に関するデータであり、現在のパスワード「123abcde」は旧パスワード「abcde」に対して前方に「123」を追加した構造を有する。そのため、レコード「No.2」の構造パターンコード「0 0010 01 0 08 00 03 S 0」は、第2~第5桁の「ブランド/グループ」が「0010」のままであるが、第6~第7桁の「世代」は「01」で、1回目の変更であることを表し、第9~第10桁の「長さ」は「08」で、変更後のパスワードの全長が8桁であることを表し、第11~第14桁の「位置」および「区分桁数」は「0003」で、前回の変更時に「00」桁目に「03」桁が追加されたことを表す。また、第15桁の「値選択」は「S」で、追加された3桁の文字列がシステムにより選択された値であることを表す。
【0075】
上記のように、スコア算出部13は、このような構造パターンコードから必要な情報を抽出し、スコアの算出に用いることができる。例えば、スコア算出部13は、構造パターンコードのうち第2~第5桁の値を読み出し、当該ユーザの所属グループが上記
図6に示したスコア算出テーブルのうちのどのレベルに該当するかを判断する。また、スコア算出部13は、管理コードから前回変更時の追加文字数または削除文字数(例えば、構造パターンコードの第13~14桁の値)を読み出し、上記
図6に示したスコア算出テーブルのうちのどのレベルに該当するかを判断する。これにより、特定グループへの不正アタックの偏りや、特定の桁数の数字が挿入されたパスワードを用いた総当たり攻撃が観察された場合など、不正アタックの実情を反映して、パスワード変更の必要性を判定することができる。
【0076】
図9~10に示したコードおよびその付与規則もまた一例にすぎず、他の規則に基づく他のコード形態を用いてもよい。例えば、「世代」としてパスワードの変更回数をコード化する例を説明したが、代替的にまたは追加的に、パスワードの変更時期に関する情報を含めるようにしてもよい。例えば、「世代」として、パスワード変更の年月日情報(2019年の上半期/下半期など)を含めるようにしてもよい。あるいは、「世代」として、システムの動作開始から何回目の攻撃検知に対して行われた変更であるかを表す情報を含めてもよい。また、ユーザIDとしてメールアドレスを使用する必要もない。
【0077】
情報処理装置1は、構造パターンコードの更新後、ステップS8において通常のログイン処理を実行する。
【0078】
(効果)
以上詳述したように、この発明の一実施形態では、ユーザを認証するためのパスワードを管理する情報処理装置1、情報処理装置1が実行する方法、情報処理装置1によって使用されるデータ構造、または情報処理装置1の各部による処理をプロセッサに実行させるプログラムにあって、上記ユーザからのログイン要求を受け付け、ログイン要求に応じて上記ユーザの現在のパスワードの強度向上必要性を表すスコアを算出し、算出されたスコアに基づいて上記ユーザのためのパスワード変更方式を決定し、決定された変更方式を上記ユーザに提示するようにした。
【0079】
このように、現在のパスワードの強度向上必要性を考慮して情報処理装置1がパスワードの変更方式を決定するので、一律な変更方式ではなく、ユーザごとにポリシーの異なる変更方式を柔軟に決定し、適切な対応をとることができる。また、スコアの算出とパスワード変更方式の決定という2段階の処理を行うことにより、個別の状況に応じた最大限の効果を追求することができる。
【0080】
従来の技術では、ユーザにとって、パスワード変更のたびにすべて任意で新しいパスワードを作り出し、それを管理しなければならないという負担があった。そのため、同じパスワードの使い回しが助長されていた。また一般に、パスワードの初期設定時と再設定時のルール、例えば、文字の種類や長さなどのルールは変更されないことから、再設定した後にもブルートフォース攻撃の標的となりかねないという問題があった。また、通常はユーザが設定した新パスワードの構造をシステム側で把握できないため、パスワード攻撃へのリスクが評価できず、不正アタックに対する予防策がユーザ全体への一律な対応しかできないという問題もあった。
【0081】
上記実施形態によれば、個別の対応が可能になるとともに、システム(情報処理装置1)が変更方式の決定に介入するので、より多元的な変更ポリシーを採用することができるため、パスワードの強度向上が達成される。
【0082】
情報処理装置1では、変更方式決定部14によって決定される変更方式は、上記ユーザの現在のパスワードに対する変更方式を指定するものでもよいし、上記ユーザの初期登録時のオリジナルパスワードに対する変更方式を指定するものでもよい。これにより、不正アタックの状況やシステムの負荷を考慮してより柔軟な対応をとることができるとともに、変更後のパスワードとして、全く新しい文字列ではなく、過去に使用した文字列に基づくパスワードを使用できるので、ユーザにとっての認識性や覚えやすさ、利便性も向上する。
【0083】
また、変更方式決定部14は、追加する文字列の桁数、追加する位置、削除する文字列の桁数、削除する位置、上記ユーザが選択した文字列、および上記情報処理装置がランダムに選択した文字列のうちの少なくとも1つをランダムに選択することによって、上記パスワード変更方式を決定することができる。これにより、全ユーザに一律ではない、多様な変更方式を採用することができる。
【0084】
また、上記のように、スコア算出部13は、不正アタックの発生に関する情報と、上記ユーザに固有の属性とに基づいて上記スコアを算出することができる。これにより、他のユーザにも共通する一般論としての不正アタックの状況と、ユーザごとの個別論としての種々の属性とに応じてスコアが算出され、多元的かつ柔軟な対応をとることができる。
【0085】
またスコア算出部13は、ユーザのパスワードの構造を表す管理コード(構造パターンコード)に基づいてスコアを算出することができる。これにより、実際のパスワードがどのような構造であるかに応じてスコアが算出され、個別具体的な状況に応じた適切な対応をとることができる。
【0086】
上記管理コードは、例えば、ユーザの会員属性(入会経路など)、パスワードの変更回数、パスワードの長さ、パスワードの前回変更時の変更位置、パスワードの前回変更時の追加文字数または削除文字数、およびパスワードの前回変更時の変更文字列決定主体などを含むことができる。これにより、各ユーザの具体的状況として、パスワードが実際にどのように変更されたかを表す情報に基づいて適切な対応をとることができる。
【0087】
上記のように、パスワードが変更されるたびに、その構造を表す管理コードとしての構造パターンコードを生成し更新することによって、膨大な数のパスワードを適切に管理し、万一不正アタックが発生したときには必要な情報を容易に抽出することができる。また、実際に発生した被害と、パスワード変更頻度や入会経路との関係などに基づき、攻撃パターンや漏洩経路などの分析も容易になり、さらに柔軟かつ適切な対応に結び付けることができる。
【0088】
[他の実施形態]
なお、この発明は上記実施形態に限定されるものではない。
パスワード変更方式は、上記で例示した以外の要素を考慮して決定されてもよい。例えば、変更後のパスワードの全長が所定の値を超えないような制限を設けてもよい。また現在のパスワードの長さに応じてPやNの値の選択に一定の制限が課されるように設定されてもよい。
【0089】
また、上記の例では、「N(桁数)」について「N+n(n桁追加,nはランダムに選択された数字)」が選択された場合に、ユーザが任意に指定したn桁の文字列またはシステムがランダムに選択したn桁の文字列が追加されるものとして説明した。しかし、これに限られるものではなく、例えば、あらかじめ各ユーザと情報処理装置1との間で「秘密の質問」と「秘密の質問の答え」を複数パターン共有しておき、その「答え」の文字列が追加されるように指定することも考えられる。
【0090】
情報処理装置1が指示した変更方式にユーザが従わない場合(例えば、
図4のステップS6でNOの分岐を一定回数繰り返した場合)、サービス停止やアクセス制限などの措置をとるようにしてもよいし、変更方式を再度ランダムに決定し直すようにしてもよい。
【0091】
上記一実施形態に係る情報処理装置1が備える各機能部は、必ずしも単一の装置に設ける必要はなく、複数の装置に分散配置し、これらの装置が互いに連携することにより処理を行うようにしてもよい。また各機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
【0092】
さらに、以上で説明した各処理の流れは、説明した手順に限定されるものではなく、いくつかのステップの順序が入れ替えられてもよいし、いくつかのステップが同時並行で実施されてもよい。また、以上で説明した一連の処理は、時間的に連続して実行される必要はなく、各ステップは任意のタイミングで実行されてもよい。例えば、スコアの算出は、上記のように、ログイン要求を受けたユーザIDがパスワード変更の対象であると判定されるたびに行われてもよいし、パスワードが新規に登録または変更されたタイミングで行われてもよい。
【0093】
以上で記載した手法は、計算機(コンピュータ)に実行させることができるプログラム(ソフトウェア手段)として、例えば磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD-ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体(記憶媒体)に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウェア手段(実行プログラムのみならずテーブル、データ構造も含む)を計算機内に構成させる設定プログラムをも含む。上記装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウェア手段を構築し、このソフトウェア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスク、半導体メモリ等の記憶媒体を含むものである。
【0094】
その他、攻撃の検知や脅威度の判定の手法等についても、この発明の要旨を逸脱しない範囲で種々変形して実施可能である。
【0095】
要するにこの発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【0096】
1…情報処理装置
10…制御ユニット
10A…ハードウェアプロセッサ
10B…プログラムメモリ
11…ログイン要求受付部
12…変更要否判定部
13…スコア算出部
14…変更方式決定部
15…提示情報生成部
16…パスワード変更処理部
17…構造パターンコード生成部
20…通信インタフェース
21…受信部
22…送信部
30…データメモリ
31…スコア算出テーブル記憶部
32…変更方式決定テーブル記憶部
33…構造パターンコード記憶部
40…バス
【手続補正書】
【提出日】2023-10-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
パスワード変更の内容を決定するための情報処理装置であって、
ユーザの現在のパスワードの強度向上の必要性を表すスコアを算出するスコア算出部と、
前記スコアに基づいて、前記ユーザの現在のパスワードの強度向上の必要性に応じて、前記ユーザのための、前記パスワード変更の内容を指定するパスワード変更方式を決定する変更方式決定部と、
を備える、情報処理装置。
【請求項2】
前記パスワード変更方式は、変更前のパスワードのどこをどのように変更すべきかを指定する、請求項1に記載の情報処理装置。
【請求項3】
前記パスワードの強度向上の必要性を表すスコアは、前記ユーザごとに算出される、請求項1に記載の情報処理装置。
【請求項4】
前記パスワード変更方式は、前記スコアに基づいて、前記ユーザごとに決定される、請求項1に記載の情報処理装置。
【請求項5】
前記変更方式決定部は、前記ユーザの現在のパスワードに対するパスワード変更方式を決定する、請求項1に記載の情報処理装置。
【請求項6】
前記変更方式決定部は、前記ユーザの初期登録時のオリジナルパスワードに対するパスワード変更方式を決定する、請求項1に記載の情報処理装置。
【請求項7】
前記変更方式決定部は、追加する文字列の桁数、追加する位置、削除する文字列の桁数、削除する位置、前記ユーザが選択した文字列、および前記情報処理装置がランダムに選択した文字列、のうちの少なくとも1つを選択することによって、前記パスワード変更方式を決定する、請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項8】
ユーザからの新パスワードの入力を受け付け、新パスワードが適切か否かを判定するパスワード変更処理部をさらに備える、請求項1乃至7のいずれか一項に記載の情報処理装置。
【請求項9】
情報処理装置が実行する、パスワード変更の内容を決定するための情報処理方法であって、
ユーザの現在のパスワードの強度向上の必要性を表すスコアを算出することと、
前記スコアに基づいて、前記ユーザの現在のパスワードの強度向上の必要性に応じて、前記ユーザのための、前記パスワード変更の内容を指定するパスワード変更方式を決定することと、
を備える、情報処理方法。
【請求項10】
請求項1乃至8のいずれか一項に記載の情報処理装置の各部による処理をプロセッサに実行させるプログラム。