(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024068493
(43)【公開日】2024-05-20
(54)【発明の名称】端末、方法及びプログラム
(51)【国際特許分類】
G06F 21/45 20130101AFI20240513BHJP
G06F 21/31 20130101ALI20240513BHJP
【FI】
G06F21/45
G06F21/31
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022178997
(22)【出願日】2022-11-08
(71)【出願人】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】伊藤 直
(57)【要約】
【課題】OTPを利用した認証方式のセキュリティリスクを軽減できる技術を提供すること。
【解決手段】本開示の一態様による端末は、認証サーバと通信可能に接続される端末であって、前記認証サーバで認証対象となるワンタイムパスワードを生成するように構成されているワンタイムパスワード生成部と、予め決められた第1の位置に前記ワンタイムパスワードを設定すると共に、前記第1の位置以外の1以上の第2の位置のそれぞれに1以上のランダムな情報を設定した表示情報を生成するように構成されている表示情報生成部と、前記表示情報を表示装置上に表示するように構成されている表示制御部と、を有する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
認証サーバと通信可能に接続される端末であって、
前記認証サーバで認証対象となるワンタイムパスワードを生成するように構成されているワンタイムパスワード生成部と、
予め決められた第1の位置に前記ワンタイムパスワードを設定すると共に、前記第1の位置以外の1以上の第2の位置のそれぞれに1以上のランダムな情報を設定した表示情報を生成するように構成されている表示情報生成部と、
前記表示情報を表示装置上に表示するように構成されている表示制御部と、
を有する端末。
【請求項2】
前記表示情報は、予め決められた1以上の整数I及びJを用いて、縦方向のI個のセルと横方向のJ個のセルとのI×J個のセルで構成される表形式の情報であり、
前記表示情報生成部は、
前記第1の位置にあるセルに前記ワンタイムパスワードを設定すると共に、1以上の前記第2の位置にあるセルのそれぞれに1以上のランダムな情報を設定した表示情報を生成するように構成されている請求項1に記載の端末。
【請求項3】
前記表示情報を構成するセルの選択により、前記セルの位置に設定されているワンタイムパスワード又はランダムな情報を前記認証サーバに送信するように構成されている送信部、を有する請求項2に記載の端末。
【請求項4】
前記表示情報生成部は、
1以上の前記ランダムな情報の各々が、前記ワンタイムパスワード及び他のランダムな情報と重複しないように、1以上の前記ランダムな情報を生成し、
前記第1の位置に前記ワンタイムパスワードを設定すると共に、1以上の前記第2の位置のそれぞれに、生成した1以上の前記ランダムな情報を設定した表示情報を生成するように構成されている請求項1に記載の端末。
【請求項5】
前記表示制御部は、
前記ワンタイムパスワードと1以上の前記ランダムな情報とを非表示とした前記表示情報を前記表示装置上に表示するように構成されている請求項1乃至4の何れか一項に記載の端末。
【請求項6】
前記表示制御部は、
前記第1の位置に対応する第1の表示部品を前記第1の位置に表示し、
1以上の前記第2の位置のそれぞれに対応する1以上の第2の表示部品を1以上の前記第2の位置にそれぞれ表示する前記表示情報を前記表示装置上に表示するように構成されている請求項4に記載の端末。
【請求項7】
認証サーバと通信可能に接続されコンピュータが、
前記認証サーバで認証対象となるワンタイムパスワードを生成するワンタイムパスワード生成手順と、
予め決められた第1の位置に前記ワンタイムパスワードを設定すると共に、前記第1の位置以外の1以上の第2の位置のそれぞれに1以上のランダムな情報を設定した表示情報を生成する表示情報生成手順と、
前記表示情報を表示装置上に表示する表示制御手順と、
を実行する方法。
【請求項8】
認証サーバと通信可能に接続されコンピュータに、
前記認証サーバで認証対象となるワンタイムパスワードを生成するワンタイムパスワード生成手順と、
予め決められた第1の位置に前記ワンタイムパスワードを設定すると共に、前記第1の位置以外の1以上の第2の位置のそれぞれに1以上のランダムな情報を設定した表示情報を生成する表示情報生成手順と、
前記表示情報を表示装置上に表示する表示制御手順と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、端末、方法及びプログラムに関する。
【背景技術】
【0002】
ユーザ認証等に利用される認証方式の1つとして、一定時間のみ有効で、かつ、1度のみ利用可能なパスワードであるワンタイムパスワード(OTP:one-time password)を利用した認証方式が知られている。例えば、OTPを利用して本人認証を行う認証方式の従来技術として、特許文献1に記載されている技術が知られている。この特許文献1に記載されている技術では、認証サーバから送信されたランダムな記号列に対して予め決められたパターンを適用してOTPを生成している。また、これ以外にも、例えば、乱数表を利用してOTPを生成する方式、ハードウェアトークンやソフトウェアトークンを利用してOTPを生成する方式等も存在する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、OTPを利用した認証方式には、OTPの漏洩や第三者によるOTPの窃取等といったセキュリティリスクが存在する。
【0005】
例えば、上記の特許文献1に記載されている技術では認証サーバからランダムな記号列が送信されるため、これを傍受することが可能である。このため、予め決められたパターンを知っていれば、第三者がOTPを生成することが可能である。
【0006】
また、一般に、例えば、ショルダーハッキング等によってもOTPが窃取され得るし、乱数表の紛失等によってもOTPが漏洩し得る。
【0007】
本開示は、上記の点に鑑みてなされたもので、OTPを利用した認証方式のセキュリティリスクを軽減できる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本開示の一態様による端末は、認証サーバと通信可能に接続される端末であって、前記認証サーバで認証対象となるワンタイムパスワードを生成するように構成されているワンタイムパスワード生成部と、予め決められた第1の位置に前記ワンタイムパスワードを設定すると共に、前記第1の位置以外の1以上の第2の位置のそれぞれに1以上のランダムな情報を設定した表示情報を生成するように構成されている表示情報生成部と、前記表示情報を表示装置上に表示するように構成されている表示制御部と、を有する。
【発明の効果】
【0009】
OTPを利用した認証方式のセキュリティリスクを軽減できる技術が提供される。
【図面の簡単な説明】
【0010】
【
図1】本実施形態に係る認証システムの全体構成の一例を示す図である。
【
図2】本実施形態に係る利用者端末のハードウェア構成の一例を示す図である。
【
図3】本実施形態に係る認証サーバのハードウェア構成の一例を示す図である。
【
図4】本実施形態に係る利用者端末の機能構成の一例を示す図である。
【
図5】本実施形態に係る認証サーバの機能構成の一例を示す図である。
【
図6】本実施形態に係る認証処理の一例を示すシーケンス図である。
【
図8】本実施形態に係る乱数表生成処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態について説明する。
【0012】
OTPは、一般に、多要素認証によってユーザ認証等を行う認証システムで利用されることが多い。多要素認証とは、記憶情報、所持情報、生体情報のうちの2つ以上の情報を要素として用いる認証方式のことである。ここで、記憶情報とは、例えば、パスワード、パスコード、パターン認証等といった人が記憶する情報のことである。所持情報とは、例えば、キャッシュカード、スマートフォン、ハードウェアトークン等といった人が所持している物から得られる情報のことである。生体情報とは、例えば、指紋や虹彩、声紋等といった人の身体的特徴を表す情報のことである。なお、OTPは、一般に、ソフトウェアトークンがインストールされたPC(パーソナルコンピュータ)やスマートフォン等で生成されたり、ハードウェアトークンで生成されたりするため、所持情報に該当する。
【0013】
そこで、以下では、一例として、ユーザID及びパスワードとOTPの2つの要素を用いる多要素認証によって或るサービスのユーザ認証を行う場合を想定し、このユーザ認証を行う際に、OTPの漏洩や窃取といったセキュリティリスクを軽減できる認証システム1について説明する。ただし、多要素認証の要素としてユーザID及びパスワードを用いることは一例であって、これに限られるものではない。OTPは所持情報に該当するため、記憶情報又は生体情報を少なくとも用いるものであれば、ユーザID及びパスワード以外の様々な情報を多要素認証の要素とすることが可能である。また、サービスは特定のものに限定されるものではなく、ユーザ認証が必要な任意のサービスを対象とすることが可能である。ユーザ認証が必要なサービスの典型的な例としては、オンラインバンキングサービス、ECサービス、動画視聴等といったコンテンツ提供サービス、電力等の使用状況を提供サービス等といったものが挙げられる。
【0014】
<全体構成例>
本実施形態に係る認証システム1の全体構成例を
図1に示す。
図1に示すように、本実施形態に係る認証システム1には、利用者端末10と、認証サーバ20とが含まれる。また、利用者端末10と認証サーバ20は、例えば、インターネット等を含む通信ネットワーク30を介して通信可能に接続される。
【0015】
利用者端末10は、ユーザ認証が必要なサービスの利用者(ユーザ)が用いる各種端末である。利用者端末10としては、例えば、PC、スマートフォン、タブレット端末等が用いられるが、これらに限られるものではない。利用者端末10として、例えば、ウェアラブルデバイス、ゲーム機器、車載器等といったものが用いられてもよい。
【0016】
認証サーバ20は、ユーザID及びパスワードとOTPの2つの要素を用いる多要素認証によってユーザ認証を行う汎用サーバ等である。
【0017】
なお、
図1に示す認証システム1の全体構成は一例であって、これに限られるものではない。例えば、
図1に示す例では、1台の利用者端末10のみが図示されているが、認証システム1には複数台の利用者端末10が含まれていてもよい。また、例えば、認証サーバ20は複数台のサーバで構成されるサーバ群で実現されていてもよい。
【0018】
<ハードウェア構成例>
以下、本実施形態に係る利用者端末10及び認証サーバ20のハードウェア構成例について説明する。
【0019】
≪利用者端末10≫
本実施形態に係る利用者端末10のハードウェア構成例を
図2に示す。
図2に示すように、本実施形態に係る利用者端末10は、入力装置11と、表示装置12と、外部I/F13と、通信I/F14と、RAM(Random Access Memory)15と、ROM(Read Only Memory)16と、補助記憶装置17と、プロセッサ18とを有する。これらの各ハードウェアは、それぞれがバス19を介して通信可能に接続される。
【0020】
入力装置11は、例えば、キーボード、マウス、タッチパネル、物理ボタン等である。表示装置12は、例えば、ディスプレイ、表示パネル等である。
【0021】
外部I/F13は、記録媒体13a等の外部装置とのインタフェースである。記録媒体13aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0022】
通信I/F14は、利用者端末10を通信ネットワーク30に接続するためのインタフェースである。RAM15は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM16は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置17は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等の不揮発性の記憶装置である。プロセッサ18は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。
【0023】
なお、
図2に示すハードウェア構成は一例であって、利用者端末10のハードウェア構成はこれに限られるものではない。例えば、利用者端末10は、複数の補助記憶装置17や複数のプロセッサ18を有していてもよいし、図示したハードウェアの一部を有していなくてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。
【0024】
≪認証サーバ20≫
本実施形態に係る認証サーバ20のハードウェア構成例を
図3に示す。
図3に示すように、本実施形態に係る認証サーバ20は、外部I/F21と、通信I/F22と、RAM23と、ROM24と、補助記憶装置25と、プロセッサ26とを有する。これらの各ハードウェアは、それぞれがバス27を介して通信可能に接続される。
【0025】
外部I/F21は、記録媒体21a等の外部装置とのインタフェースである。記録媒体21aとしては、例えば、CD、DVD、SDメモリカード、USBメモリカード等が挙げられる。
【0026】
通信I/F22は、認証サーバ20を通信ネットワーク30に接続するためのインタフェースである。RAM23は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM24は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置25は、例えば、HDD、SSD、フラッシュメモリ等の不揮発性の記憶装置である。プロセッサ26は、例えば、CPUやGPU等の各種演算装置である。
【0027】
なお、
図3に示すハードウェア構成は一例であって、認証サーバ20のハードウェア構成はこれに限られるものではない。例えば、認証サーバ20は、複数の補助記憶装置25や複数のプロセッサ26を有していてもよいし、図示したハードウェアの一部を有していなくてもよいし、図示したハードウェア以外の種々のハードウェア(例えば、キーボードやマウス等の入力装置、ディスプレイ等の表示装置)を有していてもよい。
【0028】
<機能構成例>
以下、本実施形態に係る利用者端末10及び認証サーバ20の機能構成例について説明する。
【0029】
≪利用者端末10≫
本実施形態に係る利用者端末10の機能構成例を
図4に示す。
図4に示すように、本実施形態に係る利用者端末10は、OTP生成部101と、乱数表生成部102と、表示制御部103と、入力受付部104と、通信部105とを有する。これら各部は、利用者端末10にインストールされた1以上のプログラムが、プロセッサ18等に実行させる処理により実現される。
【0030】
OTP生成部101は、ユーザ認証に用いられるOTPを生成する。OTP生成部101は、特に、ソフトウェアトークンがプロセッサ18等に実行させる処理により実現される。なお、OTPの生成方法は、例えば、タイムスタンプ方式(時刻同期方式)、チャレンジレスポンス方式、カウンタ同期方式等といった既知の技術を用いればよい。一例として、タイムスタンプ方式によりOTPを生成する場合、OTP生成部101は、利用者のユーザIDと現在時刻とを用いて、OTPを生成する。
【0031】
乱数表生成部102は、縦方向にI個、横方向にJ個のI×J個のセルで構成され、予め決められた1つのセルにOTP、それ以外のセルに乱数が設定された乱数表を生成する。すなわち、乱数表生成部102は、予め決められた1つのセルにOTP、それ以外のセルに乱数が設定されたI行J列の乱数表を生成する。ここで、Iは予め決められた1以上の整数、Jは予め決められた1以上の整数である。ただし、I+J≧3であることが好ましい。
【0032】
ここで、I×J個のセルのうち、どのセルにOTPが設定されるかは、利用者(ユーザ)と利用者端末10との間で任意の方法により事前に決定される。例えば、利用者が、OTPが設定されるセルを決定し、そのセルを識別する情報(例:セル番号、行番号と列番号の組等)を利用者端末10に設定してもよい。又は、例えば、利用者端末10が、OTPが設定されるセルを決定し、そのセルを識別する情報を当該利用者端末10に設定してもよい。これら以外の方法によりOTPが設定されるセルを決定し、そのセルを識別する情報が利用者端末10に設定されてもよい。
【0033】
表示制御部103は、乱数表生成部102によって生成された乱数表をディスプレイ等の表示装置12上に表示する。また、これ以外にも、表示制御部103は、ユーザID及びパスワードを利用者が入力するための画面(以下、「ユーザID・PW入力画面」ともいう。)をディスプレイ等の表示装置12上に表示したり、OTPを利用者が入力するための画面(以下、「OTP入力画面」ともいう。)をディスプレイ等の表示装置12上に表示したりしてもよい。
【0034】
入力受付部104は、利用者による各種情報(例えば、ユーザID及びパスワード、OTP等)の入力を受け付ける。
【0035】
通信部105は、入力受付部104によって入力が受け付けられた情報(例えば、ユーザID及びパスワード、OTP等)が含まれる認証要求を認証サーバ20に送信する。以下、ユーザID及びパスワードが含まれる認証要求を「ID認証要求」、OTPが含まれる認証要求を「OTP認証要求」ともいう。
【0036】
≪認証サーバ20≫
本実施形態に係る認証サーバ20の機能構成例を
図5に示す。
図5に示すように、本実施形態に係る認証サーバ20は、通信部201と、ID認証部202と、OTP認証部203とを有する。これら各部は、例えば、認証サーバ20にインストールされた1以上のプログラムが、プロセッサ26等に実行させる処理により実現される。また、本実施形態に係る認証サーバ20は、認証DB204を有する。認証DB204は、例えば、補助記憶装置25等により実現される。ただし、認証DB204は、例えば、認証サーバ20と通信可能なデータベースサーバ等といった記憶装置により実現されていてもよい。
【0037】
通信部201は、利用者端末10から送信されたID認証要求やOTP認証要求を受信する。また、通信部201は、ユーザID及びパスワードによる認証が成功した場合にOTP要求を利用者端末10に送信したり、OTPによる認証が成功した場合に認証成功を示す認証結果を利用者端末10に送信したりする。
【0038】
ID認証部202は、認証DB204を参照して、ID認証要求にユーザID及びパスワードが正当なものであるか否かを判定する。
【0039】
OTP認証部203は、OTP認証要求に含まれるOTPが正当なものであるか否かを判定する。一例として、タイムスタンプ方式によって生成されたOTPが正当なものであるか否かを判定する場合、OTP認証部203は、ID認証部202によって正当なものであると判定されたユーザIDと現在時刻とを用いてOTPを生成した上で、このOTPと、OTP認証要求に含まれるOTPとが一致するか否かにより正当性を判定する。
【0040】
認証DB204は、利用者の正当なユーザIDとパスワードとの組を格納する。なお、これ以外にも、認証DB204には、利用者のユーザ認証に必要な情報が格納されていてもよい。
【0041】
<認証処理>
以下、利用者のユーザ認証を行うための認証処理について、
図6を参照しながら説明する。以下では、例えば、利用者によってユーザ認証が必要な或るサービスの利用開始操作がなされたものとする。
【0042】
利用者端末10の表示制御部103は、ユーザID・PW入力画面をディスプレイ等の表示装置12上に表示する(ステップS101)。
【0043】
利用者は、ユーザID・PW入力画面上で自身のユーザID及びパスワードを入力する(ステップS102)。
【0044】
利用者端末10の入力受付部104は、利用者によるユーザID及びパスワードの入力を受け付ける(ステップS103)。
【0045】
利用者端末10の通信部105は、上記のステップS103で入力が受け付けられたユーザID及びパスワードが含まれるID認証要求を認証サーバ20に送信する(ステップS104)。
【0046】
認証サーバ20のID認証部202は、通信部201によってID認証要求を受信すると、認証DB204を参照して、このID認証要求に含まれるユーザID及びパスワードが正当なものであるか否かを判定する(ステップS105)。すなわち、ID認証部202は、当該ID認証要求に含まれるユーザID及びパスワードの組が認証DB204に格納されている場合はそのユーザID及びパスワードを正当なものであると判定し、そうでない場合は正当でないものと判定する。以下では、ID認証要求に含まれるユーザID及びパスワードは正当なものであると判定されたものとする。なお、ID認証要求に含まれるユーザID及びパスワードが正当なものであると判定されなかった場合、認証失敗を示す認証結果が利用者端末10に送信される。
【0047】
認証サーバ20の通信部201は、OTP要求を利用者端末10に送信する(ステップS106)。
【0048】
利用者端末10は、通信部105によってOTP要求を受信すると、乱数表を生成する(ステップS107)。すなわち、利用者端末10は、OTP生成部101によってOTPを生成した上で、乱数表生成部102によって乱数表(予め決められた1つのセルにOTP、それ以外のセルに乱数が設定されたI行J列の乱数表)を生成する。なお、乱数表を生成するための処理(乱数表生成処理)の詳細については後述する。
【0049】
ここで、上記のステップS107で生成された乱数表の一例を
図7に示す。
図7に示す乱数表1100は、I=4、J=4の場合の乱数表であり、16個のセルで構成されている。これら16個のセルのうち、予め決められた1つのセルにOTPが設定されており、他のセルには乱数が設定されている。この乱数表は、後述するステップS108でディスプレイ等の表示装置12上に表示される。利用者は、OTPが設定されるセルの識別情報(例:セル番号、行番号と列番号の組等)を知っているため、表示装置12上に表示された乱数表からOTPを入力することができる。例えば、OTPが設定されるセルの行番号と列番号の組が(行,列)=(2,3)である場合、OTPは「674474」であり、利用者はこのOTPを入力することが可能となる。一方で、例えば、第三者によってショルダーハッキングが行われ、仮に乱数表内の1つの数値が読み取られたとしても、OTP及び乱数に重複がなければ、第三者がOTPを得られる確率は1/(I×J)である。このため、或る程度の大きさの乱数表であれば、ショルダーハッキングによってOTPが漏洩・窃取されるリスクを低減することができる。
【0050】
利用者端末10の表示制御部103は、上記のステップS107で生成された乱数表とOTP入力画面とをディスプレイ等の表示装置12上に表示する(ステップS108)。なお、乱数表は、OTP入力画面と異なる画面上に表示されてもよいし、OTP入力画面内に表示されてもよい。又は、乱数表上のセルを選択することで、そのセルに設定された数値の入力が可能である場合には、乱数表はOTP入力画面そのものであってもよい。乱数表上のセルを選択することで、そのセルに設定された数値の入力を可能とすることで、利用者がOTPを読み取って入力するという手間も削減できる。
【0051】
利用者は、OTP入力画面上でOTPを入力する(ステップS109)。ここで、利用者は、例えば、乱数表のセルのうち、OTPが設定されているセル内の数値を読み取って、その数値をOTPとしてOTP入力画面上で入力すればよい。これ以外にも、例えば、乱数表のセルを選択することで、そのセルに設定された数値の入力が可能である場合には、利用者は、乱数表のセルのうち、OTPが設定されているセルを選択することで、OTPを入力してもよい。なお、セルを選択するための操作は、例えば、マウス等のポインティングデバイスによって行われてもよいし、キーボード等によりセル番号や行番号と列番号の組等が指定されることによって行われてもよい。
【0052】
利用者端末10の入力受付部104は、利用者によるOTPの入力を受け付ける(ステップS110)。
【0053】
利用者端末10の通信部105は、上記のステップS110で入力が受け付けられたOTPが含まれるOTP認証要求を認証サーバ20に送信する(ステップS111)。
【0054】
認証サーバ20のOTP認証部203は、通信部201によってOTP認証要求を受信すると、このOTP認証要求に含まれるOTPが正当なものであるか否かを判定する(ステップS112)。例えば、タイムスタンプ方式によって生成されたOTPが正当なものであるか否かを判定する場合、OTP認証部203は、上記のステップS105で正当なものであると判定されたユーザIDと現在時刻とを用いてOTPを生成した上で、このOTPと、OTP認証要求に含まれるOTPとが一致するか否かにより正当性を判定する。ただし、これは一例であって、タイムスタンプ方式に限られず、チャレンジレスポンス方式やカウンタ同期方式等といった方式でOTPが生成される場合であっても、既知の技術によりOTPの正当性を判定することができる。以下では、OTP認証要求に含まれるOTPは正当なものであると判定されたものとする。なお、OTP認証要求に含まれるOTPが正当なものであると判定されなかった場合、認証失敗を示す認証結果が利用者端末10に送信される。
【0055】
そして、認証サーバ20の通信部105は、認証成功を示す認証結果を利用者端末10に送信する(ステップS113)。これにより、利用者のユーザ認証が成功し、以降、当該利用者は、当該サービスを利用することが可能となる。
【0056】
<乱数表生成処理>
以下、
図6のステップS107の乱数表生成処理について、
図8を参照しながら説明する。なお、以下では、OTP及び乱数に重複がない乱数表を生成する場合について説明する。ただし、セキュリティ強度は低下するものの、OTP及び乱数の重複を許した乱数表が生成されてもよい。
【0057】
利用者端末10のOTP生成部101は、OTPを生成する(ステップS201)。以下、本ステップで生成されたOTPをr0とする。
【0058】
利用者端末10の乱数表生成部102は、乱数の生成数を表す変数nを1に初期化する(ステップS202)。
【0059】
次に、利用者端末10の乱数表生成部102は、n番目の乱数を生成する(ステップS203)。以下、本ステップで生成されたn番目の乱数をrnとする。なお、乱数表生成部102は、予め決められた任意の既存技術により乱数(正確には、疑似乱数)を生成すればよい。
【0060】
次に、利用者端末10の乱数表生成部102は、上記のステップS203で生成されたn番目の乱数rnがr0,・・・,rn-1のいずれかと一致するか否かを判定する(ステップS204)。すなわち、n=1の場合、乱数表生成部102は、1番目の乱数r1がOTP r0と一致するか否かを判定する。一方で、n≧2である場合、乱数表生成部102は、n番目の乱数rnが、OTP r0又はn-1番目までの乱数r1,・・・,rn-1のいずれかと一致するか否かを判定する。
【0061】
上記のステップS204でn番目の乱数rnがr0,・・・,rn-1のいずれかと一致すると判定された場合、利用者端末10の乱数表生成部102は、n番目の乱数rnを破棄し(ステップS205)、上記のステップS203に戻る。これにより、上記のステップS203でn番目の乱数rnが新たに生成される。
【0062】
一方で、上記のステップS204でn番目の乱数rnがr0,・・・,rn-1のいずれかと一致すると判定されなかった場合、利用者端末10の乱数表生成部102は、n>I×J-2であるか否かを判定する(ステップS206)。これは、I×J-1個の乱数r1,・・・,rI×J-1が生成されたか否かを判定していることを意味する。なお、Iは乱数表の行数、Jは乱数表の列数である。
【0063】
上記のステップS206でn>I×J-2であると判定されなかった場合、利用者端末10の乱数表生成部102は、nに1を加算し(ステップS207)、上記のステップS203に戻る。これにより、上記のステップS203で次の乱数rnが生成される。
【0064】
一方で、上記のステップS206でn>I×J-2であると判定された場合、利用者端末10の乱数表生成部102は、乱数表の予め決められたセルにOTP r0を設定すると共に、それ以外のセルに乱数r1,・・・,rI×J-1をそれぞれ設定する(ステップS208)。なお、乱数r1,・・・,rI×J-1を設定するセルを決定する際には、例えば、任意の全単射写像f:{1,・・・,I×J-1}→Eにより決定してもよい。ここで、Eは、乱数表のセルの行番号と列番号のすべての組の集合{(1,1),・・・,(I,J)}からOTP r0が設定されるセルの行番号と列番号の組を除いた集合である。
【0065】
以上により、予め決められたセルにOTP、それ以外のセルに乱数が設定された乱数表であって、かつ、OTP及び乱数に重複がない乱数表が生成される。
【0066】
<変形例>
以下、本実施形態の変形例についていくつか説明する。
【0067】
・変形例1
上記の実施形態では、乱数表の各セルに設定された数値(OTP又は乱数)はディスプレイ等の表示装置12上に表示されるが、これらの数値は表示されないようにしてもよい。すなわち、
図6のステップS108では、例えば、
図9に示すような乱数表1200がディスプレイ等の表示装置12上に表示されてもよい。これにより、ショルダーハッキングにより第三者が乱数表を見たとしても、そのセル内の数値は視認できないため、OTP漏洩・窃取されるリスクを更に低減することができる。
【0068】
なお、変形例1では、利用者も乱数表のセルに設定されているOTPを視認できない。このため、
図6のステップS109では、利用者は、OTPが設定されているセルを選択することで、OTPを入力すればよい。
【0069】
・変形例2
上記の変形例1では乱数表の各セルに設定された数値を非表示としたが、非表示とする代わりに、セル毎に、そのセルのセル番号又は行番号と列番号の組に対応する何等かの部品(例えば、顔や動物、果物等といった何等かの対象を表すアイコン等)を表示させてもよい。これにより、利用者は、OTPが設定されているセルのセル番号や行番号と列番号の組を覚える代わりに、OTPが設定されるセルに表示される部品が表す対象を覚えればよくなる。
【0070】
・変形例3
上記の実施形態では、OTP及び乱数が表形式の乱数表のセルに設定されているが、OTP及び乱数は、例えば、リスト等に設定されてもよい。言い換えれば、乱数表はリスト形式であってもよい。その他、OTPが設定されている位置を特定可能な形式であれば、表形式やリスト形式に限られず、様々な形式で表示される表示情報上にOTP及び乱数が設定されてもよい。
【0071】
・変形例4
上記の実施形態では、OTPは数字であるものとして、乱数を生成したが、OTPが文字列である場合には、乱数の代わりに、ランダムな文字列を生成してもよい。
【0072】
<まとめ>
以上のように、本実施形態に係る認証システム1は、予め決められた1つのセルにOTP、その他のセルに乱数が設定された乱数表を生成することができる。これにより、例えば、ショルダーハッキング等によるOTPが漏洩・窃取されるリスクを低減することができる。
【0073】
また、上記の乱数表は利用者端末10で生成されるため、例えば、上記の特許文献1に記載されている技術と異なり、通信経路上にOTPを含む情報が流れることはなく、通信経路の傍受によってOTPが漏洩・窃取されるリスクも低減することができる。
【0074】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0075】
1 認証システム
10 利用者端末
11 入力装置
12 表示装置
13 外部I/F
13a 記録媒体
14 通信I/F
15 RAM
16 ROM
17 補助記憶装置
18 プロセッサ
19 バス
20 認証サーバ
21 外部I/F
21a 記録媒体
22 通信I/F
23 RAM
24 ROM
25 補助記憶装置
26 プロセッサ
27 バス
30 通信ネットワーク
101 OTP生成部
102 乱数表生成部
103 表示制御部
104 入力受付部
105 通信部
201 通信部
202 ID認証部
203 OTP認証部
204 認証DB