(57)【特許請求の範囲】
【請求項１】
端末装置とネットワークを介して接続される認証サーバ装置であって、
前記端末装置のユーザを認証するための認証パスワードに使用される各文字を複数のグループに振り分けて、該振り分けられた文字と前記グループのＩＤとを関連付けた、１以上のパターン情報を記憶する記憶手段と、
前記ユーザが登録に際して前記認証パスワードを入力した場合に、該認証パスワードに基づいて前記パターン情報毎に前記グループＩＤの列を示す認証コードを生成し記憶するパスワード処理手段と、
前記端末装置からの認証画面の表示要求に応じて、前記記憶手段から取得した一の前記パターン情報を含む認証画面を、前記端末装置に送信する画面送信手段と、
前記認証画面においてユーザにより入力された認証パスワードに対応する前記グループＩＤの列と、前記画面送信手段により送信された前記パターン情報に対応する認証コードとに基づき、前記ユーザの認証を行う認証手段と
を有する認証サーバ装置。
【請求項２】
前記パスワード処理手段は、
前記ユーザが登録に際して前記認証パスワードを入力した場合に、該認証パスワードに基づいて前記パターン情報毎に前記グループＩＤの列を示す認証コードを生成し記憶した後、該認証パスワードを消去する、請求項１記載の認証サーバ装置。
【請求項３】
グループＩＤの列を暗号化する暗号化手段を有し、
前記パスワード処理手段は、
前記ユーザが登録に際して前記認証パスワードを入力した場合に、該認証パスワードに基づいて前記パターン情報毎に前記グループＩＤの列を生成し、該生成したグループＩＤの列を前記暗号化手段により暗号化して認証コードを生成し記憶した後、該認証パスワードを消去し、
前記認証手段は、
前記認証画面においてユーザにより入力された認証パスワードに対応する前記グループＩＤの列であって、前記暗号化手段により暗号化した前記グループＩＤの列と、前記画面送信手段により送信された前記パターン情報に対応する認証コードとに基づき、前記ユーザの認証を行う、請求項１又は２記載の認証サーバ装置。
【請求項４】
前記パスワード処理手段は、
前記ユーザが登録に際して前記認証パスワードを入力した場合に、さらに、該認証パスワードを前記暗号化手段で暗号化して、該暗号化された認証パスワードを前記ユーザと関連付けて所定の記憶領域に記憶させる、請求項３記載の認証サーバ装置。
【請求項５】
前記所定の記憶領域は、前記認証サーバ装置と異なる装置が有する、請求項４記載の認証サーバ装置。
【請求項６】
前記画面送信手段は、
前記認証手段による前記ユーザの認証が失敗した場合、前記記憶手段から取得した他の前記パターン情報を含む認証画面を、前記端末装置に送信する、請求項１ないし５のいずれか１項に記載の認証サーバ装置。
【請求項７】
端末装置とネットワークを介して接続され、該端末装置のユーザを認証するための認証パスワードに使用される各文字を複数のグループに振り分けて、該振り分けられた文字と前記グループのＩＤとを関連付けた、１以上のパターン情報を記憶する記憶手段を有する認証サーバ装置を、
前記ユーザが登録に際して前記認証パスワードを入力した場合に、該認証パスワードに基づいて前記パターン情報毎に前記グループＩＤの列を示す認証コードを生成し記憶するパスワード処理手段、
前記端末装置からの認証画面の表示要求に応じて、前記記憶手段から取得した一の前記パターン情報を含む認証画面を、前記端末装置に送信する画面送信手段、
前記認証画面においてユーザにより入力された認証パスワードに対応する前記グループＩＤの列と、前記画面送信手段により送信された前記パターン情報に対応する認証コードとに基づき、前記ユーザの認証を行う認証手段
として機能させるためのプログラム。
【請求項８】
端末装置とネットワークを介して接続され、該端末装置のユーザを認証するための認証パスワードに使用される各文字を複数のグループに振り分けて、該振り分けられた文字と前記グループのＩＤとを関連付けた、１以上のパターン情報を記憶する記憶手段を有する認証サーバ装置に用いられる認証方法であって、
前記ユーザが登録に際して前記認証パスワードを入力した場合に、該認証パスワードに基づいて前記パターン情報毎に前記グループＩＤの列を示す認証コードを生成し記憶するパスワード処理手順と、
前記端末装置からの認証画面の表示要求に応じて、前記記憶手段から取得した一の前記パターン情報を含む認証画面を、前記端末装置に送信する画面送信手順と、
前記認証画面においてユーザにより入力された認証パスワードに対応する前記グループＩＤの列と、前記画面送信手順により送信された前記パターン情報に対応する認証コードとに基づき、前記ユーザの認証を行う認証手順と
を有する認証方法。
【請求項９】
パスワードを記憶する記憶手段と、
仮想テンキーまたは仮想キーボードの各キーを複数のグループに分類する分類手段と、
一つの数字または一つの文字を入力可能な前記各キーが前記複数のグループのいずれのグループに属するかを特定可能な態様で前記各キーを表示する表示手段と、
前記仮想テンキーまたは前記仮想キーボードを用いて前記パスワードの入力を受け付けるにあたって、前記複数のグループのうち前記パスワードの各文字が属するグループに含まれるキーが入力されたか否かを判定することで認証処理を行う認証手段と、
を有する認証システム。
【請求項１０】
前記複数のグループには、３つ以上のグループが含まれること
を特徴とする請求項９記載の認証システム。
【請求項１１】
前記表示手段は、前記認証手段による認証処理が失敗した場合、前記認証処理が失敗する前とは異なる複数のグループに前記各キーが分類された仮想テンキーまたは仮想キーボードを表示すること
を特徴とする請求項９又は１０記載の認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証サーバ装置、プログラム、認証方法及び認証システムに関する。
【背景技術】
【０００２】
パスワードに使用される各数字を、２以上の数字が含まれるように複数のグループに分けて、各グループを特定するためのグループＩＤの列を認証に用いる技術が知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４７５８１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の従来技術では、登録時に入力されたパスワードを保持しておき、認証を行うたびに、当該保持したパスワードからグループＩＤの列への変換を行う。ここで、ユーザにより入力されたパスワードに基づきユーザ認証を行うシステムにおいては、認証サーバに登録（保持）されたユーザのパスワードが流出することで、第三者がパスワードを不正取得することを防止したい。また、認証時のユーザのパスワード入力操作を第三者が盗み見ることで、当該第三者がパスワードを不正取得することを防止したい。
【０００５】
本発明の実施の形態は、上記の点に鑑みてなされたもので、ユーザ認証に用いるユーザのパスワードを第三者が不正取得することを防止することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明の実施の形態は、端末装置とネットワークを介して接続される認証サーバ装置であって、前記端末装置のユーザを認証するための認証パスワードに使用される各文字を複数のグループに振り分けて、該振り分けられた文字と前記グループのＩＤとを関連付けた、１以上のパターン情報を記憶する記憶手段と、前記ユーザが登録に際して前記認証パスワードを入力した場合に、該認証パスワードに基づいて前記パターン情報毎に前記グループＩＤの列を示す認証コードを生成し記憶するパスワード処理手段と、前記端末装置からの認証画面の表示要求に応じて、前記記憶手段から取得した一の前記パターン情報を含む認証画面を、前記端末装置に送信する画面送信手段と、前記認証画面においてユーザにより入力された認証パスワードに対応する前記グループＩＤの列と、前記画面送信手段により送信された前記パターン情報に対応する認証コードとに基づき、前記ユーザの認証を行う認証手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明の実施の形態によれば、ユーザ認証に用いるユーザのパスワードを第三者が不正取得することを防止することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る認証システムの一例の構成図である。
【図２】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】本実施形態に係る認証システムの一例の処理ブロック図である。
【図４】本実施形態に係るパスワードの新規登録又は変更の一連の流れを示すシーケンス図である。
【図５】本実施形態に係るパスワード登録又は変更処理の一例のフローチャートである。
【図６】ユーザ情報テーブルの一例の構成図である。
【図７】パターン情報テーブルの一例の構成図である。
【図８】認証コード情報テーブルの一例の構成図である。
【図９】本実施形態に係るユーザ認証の一連の流れを示すシーケンス図である。
【図１０】認証画面の一例のイメージ図である。
【図１１】本実施形態に係る認証判定処理の一例のフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１０】
＜システム構成＞
まず、本実施形態に係る認証システム１について説明する。図１は、本実施形態に係る認証システムの一例の構成図である。図１に示される認証システム１は、端末装置１０と、認証サーバ装置２０とがインターネット等の広域的なネットワークＮを介して通信可能に接続されている。
【００１１】
端末装置１０は、例えばスマートフォン、タブレット端末、ウェアラブル端末、ゲーム機器、ノートＰＣ、デスクトップＰＣ等であり、ユーザが利用する端末である。ユーザは、端末装置１０を用いて、認証サーバ装置２０において認証コードを生成するためのパスワードを新規登録又は変更することができる。また、ユーザは、端末装置１０を用いて、認証サーバ装置２０によるユーザ認証を行うための情報を、予め登録したパスワードに基づき入力することができる。ここで、認証コードとは、詳細は後述するが、新規登録又は変更されたパスワードに基づき生成される認証用の情報であり、認証サーバ装置２０では、当該認証コードに基づきユーザ認証が行われる。
【００１２】
端末装置１０には、認証サーバ装置２０との間でユーザがパスワードの新規登録又は変更、及びユーザ認証を行うための端末用アプリケーション１１が搭載（インストール）されている。端末用アプリケーション１１は、例えば、インターネットショッピング用のアプリケーションやＷｅｂブラウザ等、認証サーバ装置２０との間でユーザ認証を行うことができるプログラムである。
【００１３】
認証サーバ装置２０は、例えば１台以上のコンピュータを含む情報処理装置であり、ユーザ認証に関する処理を行う装置である。認証サーバ装置２０は、端末装置１０から新規登録又は変更されたパスワードに基づき認証コードを生成して保持する。また、認証サーバ装置２０は、端末装置１０において予め登録されたパスワードに基づき入力された情報から生成した認証コードと、予め保持しておいた認証コードとに基づき、ユーザ認証を行う。さらに、認証サーバ装置２０は、ユーザが端末装置１０を用いてユーザ認証を行うための認証画面を生成し、端末装置１０に当該認証画面を表示させる。
【００１４】
認証サーバ装置２０には、端末装置１０から入力されたパスワードの新規登録又は変更、及びユーザ認証を行うための認証プログラム２１が搭載（インストール）されている。
【００１５】
なお、上記の認証システム１では、一例として、端末装置１０が１台含まれる構成を示しているが、これに限られず、端末装置１０が２台以上含まれていてもよい。
【００１６】
＜ハードウェア構成＞
次に、本実施形態に係る認証システム１に含まれる端末装置１０及び認証サーバ装置２０のハードウェア構成について説明する。本実施形態に係る端末装置１０及び認証サーバ装置２０は、例えば図２に示されるようなハードウェア構成のコンピュータ１００により実現される。図２は、本実施形態に係るコンピュータの一例のハードウェア構成図である。
【００１７】
図３に示すコンピュータ１００は、入力装置１０１と、表示装置１０２と、外部Ｉ／Ｆ１０３と、ＲＡＭ（Random Access Memory）１０４と、ＲＯＭ（Read Only Memory）１０５と、ＣＰＵ（Central Processing Unit）１０６と、通信Ｉ／Ｆ１０７と、記憶装置１０８とを備え、それぞれがバスＢで接続されている。
【００１８】
入力装置１０１は、タッチパネルやキーボード等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置１０２は、ディスプレイ等を含み、コンピュータ１００による処理結果を表示する。なお、認証サーバ装置２０は、入力装置１０１及び表示装置１０２を必要なときに接続して利用する形態であってもよい。
【００１９】
外部Ｉ／Ｆ１０３は、外部装置とのインタフェースである。外部装置には、記録媒体１０３ａ等がある。これにより、コンピュータ１００は、外部Ｉ／Ｆ１０３を介して記録媒体１０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１０３ａには、例えばＳＤメモリカード等がある。
【００２０】
ＲＡＭ１０４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ１０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ１０５には、コンピュータ１００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ（Operating System）設定、及びネットワーク設定等のプログラムやデータが格納されている。
【００２１】
ＣＰＵ１０６は、ＲＯＭ１０５や記憶装置１０８等からプログラムやデータをＲＡＭ１０４上に読み出し、処理を実行することで、コンピュータ１００全体の制御や機能を実現する演算装置である。
【００２２】
通信Ｉ／Ｆ１０７は、コンピュータ１００をネットワークＮに接続するインタフェースである。これにより、コンピュータ１００は、通信Ｉ／Ｆ１０７を介してデータ通信を行うことができる。
【００２３】
記憶装置１０８は、プログラムやデータを格納している不揮発性のメモリであり、例えば、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等である。格納されるプログラムやデータには、コンピュータ１００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションソフトウェア（例えば、端末用アプリケーション１１、認証プログラム２１）等がある。記憶装置１０８は格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢにより管理している。
【００２４】
本実施形態に係る端末装置１０及び認証サーバ装置２０は、コンピュータ１００のハードウェア構成により、後述する各種処理を実現できる。
【００２５】
＜ソフトウェア構成＞
次に、本実施形態に係る認証システム１のソフトウェア構成について説明する。図３は、本実施形態に係る認証システムの一例の処理ブロック図である。端末装置１０には、上述したように、認証サーバ装置２０との間でユーザがパスワードの新規登録又は変更、及びユーザ認証を行うための端末用アプリケーション１１が搭載されている。また、認証サーバ装置２０には、端末装置１０から入力されたパスワードの新規登録又は変更、及びユーザ認証を行うための認証プログラム２１が搭載されている。さらに、認証サーバ装置２０は、記憶装置１０８又は認証サーバ装置２０とネットワークＮを介して接続された記憶装置により実現される、ユーザ情報記憶部２２と、パターン情報記憶部２３と、認証コード情報記憶部２４とを利用する。
【００２６】
端末装置１０の端末用アプリケーション１１は、入力部１１１と、表示部１１２とを有する。これらの各部は、例えばＣＰＵ１０６等が端末用アプリケーション１１を実行することにより実現される。また、端末装置１０の端末用アプリケーション１１は、例えば記憶装置１０８等に格納されているユーザＩＤ１１３を利用する。
【００２７】
入力部１１１は、ユーザが入力装置１０１を介して入力した情報を受け付ける。例えば、入力部１１１は、ユーザが、認証コードを生成するためのパスワードを新規登録又は変更する場合、当該新規登録又は変更に係るパスワードの入力を受け付ける。また、例えば、入力部１１１は、ユーザが、ユーザ認証を行う場合、当該ユーザ認証を行うための情報の入力を受け付ける。
【００２８】
表示部１１２は、表示装置１０２に所定の画面を表示させる。例えば、表示部１１２は、認証サーバ装置２０から受け取った認証画面を、表示装置１０２に表示させる。
【００２９】
ユーザＩＤ１１３は、認証システム１内で端末装置１０を利用するユーザを一意に識別する情報である。このようなユーザＩＤ１１３は、例えば端末用アプリケーション１１のインストールの際に、認証サーバ装置２０により割り振られる。ユーザＩＤ１１３は、認証システム１内でユーザを一意に識別することができればよく、例えば、他のユーザと重複しない任意の英数字の組合せの他、端末装置１０の電話番号、メールアドレス等を用いてもよい。
【００３０】
認証サーバ装置２０の認証プログラム２１は、登録／変更処理部２１１と、認証処理部２１２と、暗号化部２１３とを有する。これらの各部は、例えばＣＰＵ１０６等が認証プログラム２１を実行することにより実現される。
【００３１】
登録／変更処理部２１１は、端末装置１０を介してユーザにより新規登録又は変更されたパスワードに基づき認証コードを生成する。例えば、端末装置１０から新規登録されたパスワードを受け取った場合、登録／変更処理部２１１は、パターン情報記憶部２３に格納されているパターン情報テーブル２２Ｄを参照して、当該パスワードから複数の所定の情報を生成する。そして、登録／変更処理部２１１は、当該複数の所定の情報を、暗号化部２１３によりそれぞれ暗号化することで、認証コードを生成する。
【００３２】
また、登録／変更処理部２１１は、端末装置１０を介してユーザにより新規登録（又は変更）に係るパスワードを暗号化部２１３により暗号化した上で、ユーザ情報記憶部２２に格納されているユーザ情報テーブル２２Ｄに格納する。
【００３３】
認証処理部２１２は、端末装置１０を介して、予め登録されたパスワードに基づきユーザにより入力されたユーザ認証を行うための情報に基づき認証コードを生成し、当該認証コードを用いた認証を行う。例えば、認証処理部２１２は、認証コード情報記憶部２４に格納されている認証コード情報テーブル２４Ｄを参照して、端末装置１０を介してユーザにより入力された情報から生成した認証コードが正しいか否かを判定することで認証を行う。
【００３４】
暗号化部２１３は、登録／変更処理部２１１又は認証処理部２１２の要求に応じて、受け取った情報を暗号化する。暗号化部２１３により行われる暗号処理は、既知の方法を用いればよい。
【００３５】
ユーザ情報記憶部２２は、ユーザ情報テーブル２２Ｄを記憶する。パターン情報記憶部２３は、パターン情報テーブル２３Ｄを記憶する。認証コード情報記憶部２４は、認証コード情報テーブル２４Ｄを記憶する。これらの各テーブルの詳細については、後述する。
【００３６】
＜処理の詳細＞
次に、本実施形態に係る認証システム１の処理の詳細について説明する。
【００３７】
≪パスワードの新規登録又は変更≫
まず、ユーザが端末装置１０を用いて、認証サーバ装置２０において認証コードを生成するためのパスワードを新規登録又は変更する場合の処理について、図４を用いて説明する。図４は、本実施形態に係るパスワードの新規登録又は変更の一連の流れを示すシーケンス図である。なお、以降では、登録又は変更に係るパスワードは、０〜９の数字７桁により構成されるものであるとして説明する。
【００３８】
ステップＳ１０１において、端末装置１０のユーザＵは、パスワードの新規登録又は変更操作を行う。このようなパスワードの新規登録又は変更操作は、例えば端末用アプリケーション１１により表示装置１０２に表示される所定の画面（パスワード登録画面やパスワード変更画面）において行うことができる。
【００３９】
ステップＳ１０２において、端末装置１０の入力部１１１は、新規登録又は変更に係るパスワードの入力を受け付けると、当該パスワードとユーザＩＤ１１３とを含むパスワード登録要求（又はパスワード変更要求）を認証サーバ装置２０に送信する。
【００４０】
ステップＳ１０３において、認証サーバ装置２０の登録／変更処理部２１１は、パスワードの登録要求又は変更要求を受け付けると、パスワード登録又は変更処理を行う。このパスワード登録又は変更処理において、パスワード登録要求又は変更要求に含まれるパスワードに基づき認証コードが生成され、当該認証コードがユーザＩＤ１１３と関連付けられて、認証コード情報テーブル２４Ｄに格納される。このようなパスワード登録又は変更処理の詳細については後述する。
【００４１】
ステップＳ１０４において、認証サーバ装置２０は、パスワードの登録又は変更処理が完了したことを示す結果を端末装置１０に送信する。これにより、本実施形態に係るパスワードの新規登録又は変更の一連の流れが完了する。
【００４２】
なお、上記のステップＳ１０１で入力されたパスワードが、所定の強度を満たさない場合（例えば、同じ数字が連続するパスワード等）、ステップＳ１０３の処理が行われる前に、認証サーバ装置２０は、エラーを示す結果を端末装置１０に送信してもよい。
【００４３】
次に、上記のステップＳ１０３におけるパスワード登録又は変更処理の詳細について、図５を用いて説明する。図５は、本実施形態に係るパスワード登録又は変更処理の一例のフローチャートである。
【００４４】
ステップＳ２０１において、認証サーバ装置２０の登録／変更処理部２１１は、パスワードの登録要求又は変更要求に含まれるパスワードを、暗号化部２１３により暗号化する。そして、登録／変更処理部２１１は、暗号化されたパスワードを、当該登録要求又は変更要求に含まれるユーザＩＤ１１３と関連付けてユーザ情報テーブル２２Ｄに格納する。
【００４５】
ここで、ユーザ情報テーブル２２Ｄは、例えば図６に示すようなデータ構成を有している。すなわち、ユーザ情報テーブル２２Ｄは、ユーザＩＤと、暗号化されたパスワードとを関連付けて格納している。なお、図６においては、数字７桁で表されたパスワードが示されているが、実際は暗号化部２１３により暗号化されたパスワードが格納されている。したがって、例えば、パスワードの登録要求又は変更要求に含まれるユーザＩＤ１１３が「user001」、パスワードが「3456789」である場合、登録／変更処理部２１１は、当該パスワード「3456789」を暗号化部２１３により暗号化する。そして、登録／変更処理部２１１は、暗号化されたパスワード「3456789」を、「user001」と関連付けてユーザ情報テーブル２２Ｄに格納する。
【００４６】
このように、認証サーバ装置２０の登録／変更処理部２１１は、パスワードの登録要求又は変更要求に含まれるパスワードを暗号化して、ユーザＩＤ１１３と関連付けてユーザ情報テーブル２２Ｄに格納する。なお、後述するように、本実施形態に係る認証システム１では、ユーザ認証において認証コードを用いた認証を行うため、暗号化されたパスワードをユーザ情報テーブル２２Ｄに格納しておくことは、必ずしも要しない。ただし、例えば、ユーザが新規登録又は変更したパスワードを失念した場合等において、当該ユーザに対していわゆるパスワードリマインダ機能を提供するために、暗号化されたパスワードをユーザ情報テーブル２２Ｄに格納しておくことが好ましい。
【００４７】
ステップＳ２０２において、認証サーバ装置２０の登録／変更処理部２１１は、グループ情報テーブル２３Ｄを参照し、パスワード登録要求又は変更要求に含まれるパスワードにから複数のグループＩＤの列を生成する。そして、登録／変更処理部２１１は、当該パスワードを、例えばＲＡＭ１０４等のメモリ上から消去（クリア）する。このように、登録／変更処理部２１１によりパスワードから複数のグループＩＤの列を生成した後は、当該パスワードをメモリ上から消去することで、暗号化されていないパスワードが流出してしまうことを防止することができる。
【００４８】
ここで、グループ情報テーブル２３Ｄは、例えば図７に示すようなデータ構成を有している。すなわち、グループ情報テーブル２３Ｄは、パスワードを構成する候補である０〜９の数字を複数のグループに分類するパターンを示すグループパターンと、当該グループパターンを一意に識別するためのパターンＩＤとを有する。
【００４９】
例えば、パターンＩＤ「P001」では、グループＩＤ「G1」で示されるグループには数字「1,2,4,5」が含まれ、グループＩＤ「G2」で示されるグループには数字「3,6」が含まれる。同様に、グループＩＤ「G3」で示されるグループには数字「7,0」が含まれ、グループＩＤ「G4」で示されるグループには数字「8,9」が含まれる。このように、グループ情報テーブル２３Ｄには、パスワードを構成する候補の数字を複数のグループに分類するパターンを示すグループパターンと、当該グループパターンを識別するパターンＩＤとが予め格納されている。これにより、例えば、パスワードの登録要求又は変更要求に含まれるパスワードが「3456789」である場合、登録／変更処理部２１１により、以下のようにしてパターンＩＤ毎に、グループＩＤの列が生成される。
・パターンＩＤ「P001」では、「3」はグループＩＤ「G2」のグループに属し、「4」はグループＩＤ「G1」のグループに属する。同様に、「5」はグループＩＤ「G1」、「6」はグループＩＤ「G2」、「7」はグループＩＤ「G3」、「8」はグループＩＤ「G4」、「9」はグループＩＤ「G4」に属する。したがって、パターンＩＤ「P001」に対して登録／変更処理部２１１により、パスワード「3456789」からグループＩＤの列「G2,G1,G1,G2,G3,G4,G4」が生成される。
・パターンＩＤ「P002」では、「3」はグループＩＤ「G2」のグループに属し、「4」はグループＩＤ「G1」のグループに属する。同様に、「5」はグループＩＤ「G1」、「6」はグループＩＤ「G2」、「7」はグループＩＤ「G3」、「8」はグループＩＤ「G3」、「9」はグループＩＤ「G3」に属する。したがって、パターンＩＤ「P002」に対して登録／変更処理部２１１により、パスワード「3456789」からグループＩＤの列「G2,G1,G1,G2,G3,G3,G3」が生成される。
【００５０】
パターンＩＤ「P003」及び「P004」についても上記と同様の方法で、それぞれ、パスワード「3456789」からグループＩＤの列「G2,G1,G2,G2,G3,G4,G4」及び「G1,G2,G2,G2,G3,G3,G4」が生成される。このように、登録／変更処理部２１１は、パスワードの登録要求又は変更要求に含まれるパスワードからパターンＩＤ毎に、グループＩＤの列を生成する。
【００５１】
なお、上記では、一例として、パスワードを構成する候補の数字０〜９が、４つのグループに分類される場合について説明したが、これに限られない。すなわち、パスワードを構成する候補の数字０〜９は、２以上の任意の数のグループに分類されてもよい。また、パスワードを構成する候補についても数字に限られず、英字、記号等を含めてもよい。
【００５２】
ステップＳ２０３において、認証サーバ装置２０の登録／変更処理部２１１は、上記のステップＳ２０２で生成した複数のグループＩＤの列について、それぞれを暗号化部２１３により暗号化して認証コードを生成する。そして、登録／変更処理部２１１は、生成した認証コードを、パスワードの登録要求又は変更要求に含まれるユーザＩＤ１１３と、パターンＩＤとに関連付けて認証コード情報テーブル２４Ｄに格納する。
【００５３】
ここで、認証コード情報テーブル２４Ｄは、例えば図８に示すようなデータ構成を有している。すなわち、認証コード情報テーブル２４Ｄは、ユーザＩＤ及びパターンＩＤ毎に、グループＩＤの列の暗号化して生成した認証コードを格納している。なお、図８においては、認証コードに、グループＩＤの列が示されているが、実際は暗号化部２１３により暗号化されたグループＩＤの列（すなわち、認証コード）が格納されている。
【００５４】
以上のように、本実施形態に係る認証システム１は、ユーザが端末装置１０を用いて新規登録又は既に登録されているパスワードの変更を行った場合、当該新規登録又は変更されたパスワードに基づき、複数の認証コードを生成する。このように、パスワードの新規登録又は変更の際に、複数の認証コードを生成し、格納しておく。そして、予め格納しておいた複数の認証コードを用いて、後述するユーザ認証で認証が行われる。
【００５５】
≪ユーザ認証≫
次に、ユーザが端末装置１０を用いて、認証サーバ装置２０においてユーザ認証を行う場合の処理について、図９を用いて説明する。図９は、本実施形態に係るユーザ認証の一連の流れを示すシーケンス図である。
【００５６】
ステップＳ３０１において、端末装置１０のユーザＵは、ユーザ認証を行うための認証画面への画面遷移操作を行う。このような画面遷移操作は、例えばインターネットショッピング用のアプリケーションにおいては、商品を購入する際にログインするためのログイン画面への画面遷移操作等である。
【００５７】
ステップＳ３０２において、端末装置１０は、ユーザＩＤ１１３を含む認証画面の表示要求を認証サーバ装置２０に送信する。
【００５８】
ステップＳ３０３において、認証サーバ装置２０の認証処理部２１２は、端末装置１０から当該表示要求を受け取ると、パターン情報テーブル２３Ｄから一のパターンＩＤ及び当該パターンＩＤに対応するグループパターンを取得する。
【００５９】
ここで、上記のステップＳ３０３で認証処理部２１２は、一のパターンＩＤ及び当該パターンＩＤに対応するグループパターンを、パターン情報テーブル２３Ｄからランダムで取得する。これは、例えばパターンＩＤが「P001」〜「P100」まで存在する場合、１以上１００以下の乱数を一つ生成し、この生成された乱数に対応するパターンＩＤ及び当該パターンＩＤに対応するグループパターンを取得するようにすればよい。
【００６０】
なお、認証処理部２１２がパターン情報テーブル２３Ｄから一のパターンＩＤ及び当該パターンＩＤに対応するグループパターンを取得する方法は上記に限られない。例えば、認証処理部２１２は、予め登録されているユーザＵのパスワードに応じて一のパターンＩＤ及び当該パターンＩＤに対応するグループパターンを取得してもよい。すなわち、認証処理部２１２は、予め登録されているユーザＵのパスワードを参照して、当該パスワードが所定の数以上（例えば３以上）のグループに分類されるグループパターン及びパターンＩＤを取得するようにしてもよい。これは、例えばパターンＩＤが「P001」〜「P100」まで存在する場合、ユーザＵのパスワードが所定の数未満のグループに分類されるパターンＩＤを除外して、上記と同様に生成された乱数に対応するパターンＩＤ及び当該パターンＩＤに対応するグループパターンを取得するようにすればよい。
【００６１】
ステップＳ３０４において、認証サーバ装置２０の認証処理部２１２は、上記のステップＳ３０３で取得されたグループパターンに基づき、認証画面を生成する。
【００６２】
例えば、上記のステップＳ３０３でグループＩＤ「P002」が取得された場合、認証処理部２１２は、図１０（ａ）に示すような認証画面１０００を生成する。認証画面１０００では、テンキー（ソフトウェアテンキー）上の数字「1,2,4,5」の位置には領域（エリア）Ｇ１が、数字「3,6」の位置には領域Ｇ２が、数字「7,8,9」の位置には領域Ｇ３が、数字「0」の位置には領域Ｇ４が重畳されている。
【００６３】
また、例えば、上記のステップＳ３０３でグループＩＤ「P003」が取得された場合、認証処理部２１２は、図１０（ｂ）に示すような認証画面２０００を生成する。認証画面２０００では、ソフトウェアテンキー上の数字「1,4」の位置には領域Ｇ１が、数字「2,3,5,6」の位置には領域Ｇ２が、数字「7」の位置には領域Ｇ３が、数字「8,9,0」の位置には領域Ｇ４が重畳されている。
【００６４】
このように、認証処理部２１２は、取得したグループＩＤに対応するグループパターンに応じて、当該グループパターンにより分類される数字を示すテンキー（ソフトウェアテンキー）上に、グループ毎に所定の領域を重畳させた画面を生成する。なお、ソフトウェアテンキーは、スクリーンテンキー又は仮想テンキー等とも称される。
【００６５】
なお、生成される認証画面は、ソフトウェアテンキー上に、グループ毎に所定の領域を重畳させる場合に限られず、例えば、グループ毎にソフトウェアテンキーの各キーの色が異なるようにしてもよい。すなわち、同一グループに属する数字を示すキーは同一の色となるようにする一方、異なるグループに属する数字を示すキーは異なる色となるようにしてもよい（換言すれば、グループ毎に各キーを色分けしてもよい。）。
【００６６】
また、上記では、ソフトウェアテンキーが表示される認証画面について説明したが、これに限られず、英字等が含まれるキーボード（ソフトウェアキーボード）が表示される認証画面が生成されてもよい。ここで、ソフトウェアテンキーやソフトウェアキーボードにおけるキー配列は、例えばＪＩＳ規格等の各国の規格によって定められた配列のものを用いればよい。なお、ソフトキーボードは、スクリーンキーボード又は仮想キーボード等とも称される。
【００６７】
ステップＳ３０５において、認証サーバ装置２０の認証処理部２１２は、上記のステップＳ３０４で生成した認証画面を端末装置１０に送信する。なお、認証処理部２１２は、認証画面と併せて、当該認証画面の生成に用いたグループパターンのパターンＩＤを、端末装置１０に送信する。
【００６８】
ステップＳ３０６において、端末装置１０の表示部１１２は、認証サーバ装置２０から受け取った認証画面を、表示装置１０２に表示させる。ここで、以降では、ユーザＵの端末装置１０の表示装置１０２には、認証画面１０００が表示されたものとして説明する。
【００６９】
ステップＳ３０７において、端末装置１０のユーザＵは、表示装置１０２に表示された認証画面１０００において、入力装置１０１を介してパスワードの入力操作を行う。
【００７０】
ここで、ユーザＵは、パスワードの入力操作において、認証画面１０００のある領域に含まれる数字を入力する場合、当該領域の任意の位置を選択（すなわち、端末装置１０が例えばスマートフォンであり、入力装置１０１がタッチパネルである場合、当該領域内の任意の位置をタップ）すればよい。具体的には、認証画面１０００において、数字「3」の入力を所望する場合、ユーザＵは、領域Ｇ２の任意の位置を選択すればよい。これにより、入力部１１１は、当該領域Ｇ１に対応するグループＩＤ「G1」の入力を受け付ける。同様に、数字の「7」の入力を所望する場合、ユーザＵは、領域Ｇ３の任意の位置を選択すればよい。これにより、入力部１１１は、当該領域Ｇ３に対応するグループＩＤ「G3」の入力を受け付ける。
【００７１】
なお、端末装置１０がノートＰＣやデスクトップＰＣ等である場合には、ユーザＵは、入力装置１０１としてキーボード（ハードウェアキーボード）を用いて上記のパスワードの入力操作を行ってもよい。この場合、ユーザＵは、認証画面１０００のある領域に含まれる数字を入力する場合、当該領域に含まれる任意の数字をハードウェアキーボードから入力すればよい。すなわち、例えば、ユーザＵが数字「3」の入力を所望する場合、領域Ｇ２に含まれる数字「3」又は「6」をハードウェアキーボードから入力すればよい。同様に、数字「7」の入力を所望する場合、ユーザＵは、領域Ｇ３に含まれる数字「7」、「8」、又は「9」のいずれかをハードウェアキーボードから入力すればよい。
【００７２】
以上により、ユーザが領域内のいずれの数字を入力したのかが第三者には判別することができなくなり、ユーザのパスワード入力操作を第三者が背後から覗き見ること等による不正取得を防止することができる。このため、スマートフォン等の端末装置１０を用いて公共の場所（例えば、電車の中等）でインターネットショッピングを行う際において、第三者が背後から覗き見ることによるパスワードの不正取得を防止することができる。
【００７３】
ステップＳ３０８において、端末装置１０は、認証画面１０００において入力されたパスワードに対応するグループＩＤの列と、上記のステップＳ３０５で受信したパターンＩＤとを含む認証情報を、認証サーバ装置２０に送信する。
【００７４】
例えば、ユーザＵが認証画面１０００において、パスワード「3456789」を入力した場合、端末装置１０は、当該パスワードに対応するグループＩＤの列「G2,G1,G1,G2,G3,G3,G3」と、パターンＩＤ「P002」とを含む認証情報を、認証サーバ装置２０に送信する。
【００７５】
ステップＳ３０９において、認証サーバ装置２０の認証処理部２１２は、認証判定処理を行い、上記のステップＳ３０７でユーザＵにより入力されたパスワードが正しいか否かを判定する。より具体的には、認証処理部２１２は、受け取ったグループＩＤの列を暗号化部２１３に暗号化して生成した認証コードと、予め認証コード情報テーブル２４Ｄに格納されているユーザＵの当該パターンＩＤの認証コードとが一致するか否かを判定する。このような認証判定処理の詳細については、後述する。
【００７６】
ステップＳ３１０において、認証サーバ装置２０の認証処理部２１２は、上記のステップＳ３０９で一致すると判定された場合、ユーザ認証成功を示す認証結果を端末装置１０に送信する。
【００７７】
ステップＳ３１１において、認証サーバ装置２０の認証処理部２１２は、上記のステップＳ３０９で一致しないと判定された場合、パターン情報テーブル２３ＤからステップＳ３０３で取得したパターンＩＤと異なるパターンＩＤ及び当該異なるパターンＩＤに対応するグループパターンを取得する。
【００７８】
ステップＳ３１２において、認証サーバ装置２０の認証処理部２１２は、上記のステップＳ３１１で取得されたグループパターンに基づき、認証画面を生成する。
【００７９】
ステップＳ３１３において、認証サーバ装置２０の認証処理部２１２は、上記のステップＳ３１２で生成した認証画面を端末装置１０に送信する。なお、認証処理部２１２は、認証画面と併せて、当該認証画面の生成に用いたグループパターンのパターンＩＤを、端末装置１０に送信する。
【００８０】
ステップＳ３１４において、端末装置１０の表示部１１２は、認証サーバ装置２０から受け取った認証画面を、表示装置１０２に表示させる。このように、上記のステップＳ３０９でユーザ認証が失敗した場合、認証サーバ装置２０は、異なる認証画面を端末装置１０の表示装置１０２に表示させて、再度、ユーザＵにパスワードの入力を促す。なお、所定の回数（例えば、３回）ユーザ認証に失敗した場合は、異なる認証画面を表示させるのではなく、ユーザのアカウントをロックさせるようにしてもよい。
【００８１】
なお、ユーザ認証に失敗した場合において、認証サーバ装置２０は、端末装置１０の表示装置１０２に前回と同じ認証画面を表示させるようにしてもよい。すなわち、認証サーバ装置２０は、ステップＳ３１１及びＳ３１２の処理を行わずに、ユーザ認証失敗を示す認証結果を端末装置１０に送信するようにしてもよい。
【００８２】
次に、上記のステップＳ３０９における認証判定処理の詳細について、図１１を用いて説明する。図１１は、本実施形態に係る認証判定処理の一例のフローチャートである。
【００８３】
ステップＳ４０１において、認証サーバ装置２０の認証処理部２１２は、認証情報に含まれるグループＩＤの列を、暗号化部２１３により暗号化して認証コードを生成する（これを第１の認証コードとする。）。
【００８４】
ステップＳ４０２において、認証サーバ装置２０の認証処理部２１２は、ステップＳ３０２で受け取ったユーザＩＤ１１３と、認証情報に含まれるパターンＩＤとに基づき、認証コード情報テーブル２４Ｄから認証コードを取得する（これを第２の認証コードとする。）。例えば、ユーザＩＤ１１３が「user001」、パターンＩＤが「P002」である場合、認証コード情報テーブル２４ＤからグループＩＤの列「G2,G1,G1,G2,G3,G3,G3」を暗号化した認証コードを取得する。
【００８５】
ステップＳ４０３において、認証サーバ装置２０の認証処理部２１２は、第１の認証コードと、第２の認証コードとが一致するか否かを判定する。これにより、ユーザＵが正当な利用者であるか否かの認証を行うことができる。このように、本実施形態に係る認証サーバ装置２０では、ユーザが新規登録又は変更したパスワードを直接用いないでユーザ認証が行われる（すなわち、パスワードの登録又は変更後は、当該パスワードはユーザ認証に用いられない）。したがって、ユーザ情報記憶部２２を、認証サーバ装置２０とは異なるセキュアなサーバ等で実現することにより、例えばハッキング等の不正行為によるパスワードの流出を防止することができる。
【００８６】
＜まとめ＞
以上のように、本実施形態に係る認証システム１では、ユーザによるパスワードの新規登録又は変更の際に、当該パスワードに基づき複数の認証コードを生成し、当該複数の認証コードを用いてユーザ認証が行われる。したがって、本実施形態に係る認証システム１では、ユーザにより新規登録又は変更された後においてパスワードを認証サーバ装置２０に保管しておく必要はない。このため、ユーザ情報記憶部２２を、例えば、認証サーバ装置２０とは異なるセキュアなサーバ等で実現することにより、パスワードの流出を防止することができる。
【００８７】
また、本実施形態に係る認証システム１では、ユーザが端末装置１０でパスワードを入力するための認証画面を、パスワードの候補となる１以上の文字（数字、英字、記号、又はこれらの組合せ等）を複数のグループに分類して表示させる。このため、ユーザがパスワードを入力する際に、当該入力された文字がいずれの文字であるのかを、例えば背後から覗き見している第三者は判別することができない。したがって、ユーザがパスワード入力操作を覗き見られることによるパスワードの流出を防止することができる。
【符号の説明】
【００８８】
１      認証システム
１０    端末装置
１１    端末用アプリケーション
２０    認証サーバ装置
２１    認証プログラム
２２    ユーザ情報記憶部
２３    パターン情報記憶部
２４    認証コード情報記憶部
１１１  入力部
１１２  表示部
１１３  ユーザＩＤ
２１１  登録／変更処理部
２１２  認証処理部
２１３  暗号化部
Ｎ      ネットワーク
【図１】
0006566644.tif 000002
【図２】
0006566644.tif 000003
【図３】
0006566644.tif 000004
【図４】
0006566644.tif 000005
【図５】
0006566644.tif 000006
【図６】
0006566644.tif 000007
【図７】
0006566644.tif 000008
【図８】
0006566644.tif 000009
【図９】
0006566644.tif 000010
【図１０】
0006566644.tif 000011
【図１１】
0006566644.tif 000012