JP4540353B2 - 認証システム及び端末装置 - Google Patents

認証システム及び端末装置 Download PDF

Info

Publication number
JP4540353B2
JP4540353B2 JP2004015638A JP2004015638A JP4540353B2 JP 4540353 B2 JP4540353 B2 JP 4540353B2 JP 2004015638 A JP2004015638 A JP 2004015638A JP 2004015638 A JP2004015638 A JP 2004015638A JP 4540353 B2 JP4540353 B2 JP 4540353B2
Authority
JP
Japan
Prior art keywords
terminal
authentication
server
unit
random number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004015638A
Other languages
English (en)
Other versions
JP2005208996A (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.)
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems Corp
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems Corp
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 Mitsubishi Electric Corp, Mitsubishi Electric Information Systems Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004015638A priority Critical patent/JP4540353B2/ja
Publication of JP2005208996A publication Critical patent/JP2005208996A/ja
Application granted granted Critical
Publication of JP4540353B2 publication Critical patent/JP4540353B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

この発明は、ユーザ認証に用いる端末装置とサーバ装置とから構成される認証システムに関するものである。
ユーザ認証に使用する秘密情報を端末に記憶させた場合には、この端末を紛失した際や盗難に遭った際に、端末から秘密情報が漏洩し、この秘密情報を利用し本人に成りすまして不正に認証されることが懸念される。
この問題を防ぐ方法として、秘密情報を2つに分割し一方だけを端末に記憶し、これを認証の際に他に記憶されたもう一方の分割された秘密情報と合わせて、秘密情報が復元されるか否かでユーザ認証を行う方法がある。図30は、例えば、特開2002−269045に示された従来のユーザ認証方式である。図30で、901はユーザ携帯装置、902はユーザ装置、903は認証センタである。本認証方式の例では、秘密情報である原情報[0111]を情報(1)[0011]と情報(2)[0101]に分割している。そして、一方(認証情報(1))をユーザ携帯装置901に記憶させ、他方(認証情報(2))をユーザ装置902に記憶させている。また、原情報を認証センタ903に記憶させている。
次に動作について説明する。
ユーザ装置902は、ユーザ携帯装置901から情報(1)を受信すると、受信した情報(1)と自身が記憶している情報(2)を、所定の公開鍵PKで暗号化する(『PK(情報(1))及び『PK(情報(2))』)。そして、情報(1)及び情報(2)を公開鍵PKで暗号化した情報を認証センタ903に送信する。認証センタ903では、ユーザ装置902から情報を受信すると、ユーザ装置902に対する原情報、ユーザ装置902で使用した公開鍵PKに対応する秘密鍵SKを検索する。そして、受信した情報(『PK(情報(1))』及び『PK(情報(2))』)を、秘密鍵SKで復号化して(『SK[PK(情報(1))]』及び『SK[PK(情報(2))]』)情報(1)及び情報(2)を得る。さらに、復号化した情報(1)及び情報(2)を所定のアルゴリズムで結合して情報(3)を形成する。本認証方式の例では、情報(1)と情報(2)をOR処理する。情報(1)が正しいユーザ携帯装置901から送信されたものである場合には、情報(1)と情報(2)をOR処理することによって、原情報[0111]が形成される。次いで、情報(3)と原情報を照合して本人確認を行う。分割方法は、図30に示した例に限定されないが、認証センタ903において秘密情報の原情報が形成し、この情報を使って認証の成否を判断する。
特開2002−269045号公報
従来の方式によれば、端末を使用している利用者が登録している正規のユーザかどうかを認証する際に、分割した秘密情報を認証センタにおいて復元することが必要なため、認証センタにおいて秘密情報そのものが漏洩する危険性があるという問題点があった。また、秘密情報そのものが認証センタの外部に漏洩しなくても、認証センタの管理者が秘密情報の内容を参照することが可能であるため、利用者は管理者に見られる可能性があることを前提に秘密情報を設定することが必要であった。
この発明は上記のような問題点を解決するためになされたもので、ユーザの使用する端末の盗難や紛失の際にも、認証サーバに登録された秘密情報が不正に認証されることを防止するともに、認証サーバ側で認証に使用するパスワードや暗証番号などの秘密情報が漏洩することを防止する認証システムを提供することを目的とする。
本発明の認証システムは、
ユーザから認証要求を受け付ける端末装置と、前記端末装置から認証要求を受信して乱数を生成し生成した乱数を前記端末装置に送信することによりユーザの認証を行うサーバとを備えた認証システムにおいて、
前記端末装置は、
ユーザの所有する原情報に基づいて生成された第2認証情報を記憶する端末側記憶部と、
前記サーバが送信する乱数を受信する端末側受信部と、
原情報を受け付ける端末側入力部と、
前記端末側入力部の受け付けた原情報と前記端末側記憶部が記憶する第2認証情報とを用いて認証用データを生成し、生成した認証用データと前記端末側受信部が受信した乱数とを用いてユーザの認証に使用する端末側認証データを生成する端末側認証データ生成部と、
前記端末側認証データ生成部が生成した端末側認証データを前記サーバに送信する端末側送信部と
を備え、
前記サーバは、
ユーザの所有する原情報に基づいて生成された第1認証情報を記憶するサーバ側記憶部と、
乱数を生成するサーバ側乱数生成部と、
前記サーバ側乱数生成部が生成した乱数を前記端末装置へ送信するサーバ側送信部と、
前記サーバ側乱数生成部が生成した乱数と前記サーバ側記憶部の記憶する第1認証情報とを用いてユーザの認証に使用するサーバ側認証データを生成するサーバ側認証データ生成部と、
前記端末装置が送信する端末側認証データを受信するサーバ側受信部と、
前記サーバ側受信部が受信した端末側認証データと前記サーバ側認証データ生成部が生成したサーバ側認証データとを比較して認証の成否を判断するサーバ側認証判断部と
を備えたことを特徴とする。
本発明によれば、端末装置の盗難や紛失が発生した際にも、端末装置からサーバ装置に登録した認証情報が漏洩することはない。また、サーバ装置に登録する認証情報は、ユーザ登録時に端末装置で生成した乱数を使って計算した数値であり、その認証情報だけではユーザのパスワードが何であるかは、サーバ装置の管理者も推測することができない。このため秘密の漏洩を防止することができる。
実施の形態1.
図1はこの発明の実施の形態1に係る認証システムの構成を示すブロック図である。認証システムは、端末装置101とサーバ装置109とから構成されている。端末装置101は、端末側通信部102、端末側表示部103、パスワード等の入力を受けつける端末側入力部104、乱数を生成する端末側乱数生成部105、後述の認証情報S1、S2を生成する端末側認証情報生成部106、端末側記憶部107、端末側認証データを生成する端末側認証データ生成部108とを備える。また、端末側通信部102は端末側送信部1021と端末側受信部1022を備える。サーバ装置109(認証装置)は、サーバ側通信部110、乱数を生成するサーバ側乱数生成部111、サーバ側認証情報記憶部112、サーバ側認証データを生成するサーバ側認証データ生成部113、端末側認証データとサーバ側認証データとを比較して判断するサーバ側認証判断部114とを備える。また、サーバ側通信部110はサーバ側送信部1101とサーバ側受信部1102を備える。
端末側記憶部107は、本実施の形態では不揮発性メモリからなり端末装置101から着脱することができる。サーバ側認証情報記憶部112は、本実施の形態ではハードディスク装置からなりユーザの認証情報をユーザIDと関連付けて記憶する。端末側乱数生成部105およびサーバ側乱数生成部111は、パスワードの文字数と同じ桁数の乱数を生成する。サーバ側乱数生成部111、サーバ側認証データ生成部113、サーバ側認証判断部114は、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスクなどに格納され、これらからサーバ装置109上にロードされCPU上で実行される。端末装置101の端末側通信部102とサーバ装置109のサーバ側通信部110は、無線通信や有線通信やインターネットなどのネットワークを介して接続される。
次に動作について説明する。まず、図2〜図4を用いてユーザ登録の際の動作について説明する。
図2は、端末装置101においてユーザ登録を行う際に実行される処理を示すフローチャートである。図3は、サーバ装置109におけるユーザ登録の際の処理を示すフローチャートである。また、図4は、ユーザ登録における端末装置101とサーバ装置109とのやり取りを示す図であり、図2と図3とを結合した図である。
図4を参照して端末装置101におけるユーザ登録を説明する。ユーザが端末装置101を使ってユーザ登録を行う場合に、端末側入力部104よりユーザIDとパスワード(原情報の一例)の入力を受付ける(S101)。次に、端末側認証情報生成部106は、端末側入力部104より受付けたパスワードをパスワードの文字数と同じ桁数の数字パスワードに変換する(S102)。この受付けたパスワードを数字パスワードへ変換する方法については後に詳しく説明する。次に、端末側乱数生成部105で乱数を生成し(S103)、端末側認証情報生成部106は、数字パスワードと乱数を使って認証情報S1(第1認証情報)と認証情報S2(第2認証情報)とを生成する(S104)。この認証情報S1と認証情報S2との生成については後述する。次に、サーバ装置109に対して端末側通信部102を介してユーザIDと認証情報S1を含む登録要求を送信する(S105)。この後、端末装置101は端末側通信部102を介して送信した登録要求に対する結果をサーバ装置109より受信し(S106)、端末側表示部103に受信した結果を表示する(S107)。次に、登録要求に対する結果が成功か否かを判別し(S108)、結果が登録成功の場合には、認証情報S2(第2認証情報)を端末側記憶部107に記憶(S109)し、ユーザ登録処理を終了する。一方、結果が登録失敗の場合には、S101からの登録処理を繰り返す。
次に図4を参照して、サーバ装置109におけるユーザ登録の動作を説明する。
端末装置101からユーザ登録要求を受信する(S201)と、サーバ装置109は、受信した登録要求に含まれるユーザIDと同じユーザIDがサーバ側認証情報記憶部112に登録されていないかを確認する(S202)。ユーザIDが登録されていない場合には、受信した登録要求に含まれる認証情報S1(第1認証情報)を登録要求に含まれるユーザIDと関連付けてサーバ側認証情報記憶部112に記憶し(S203)、端末装置101に対して登録の成功を返信する(S204)。
一方、S202でサーバ側認証情報記憶部112にユーザIDが既に登録されている場合には、端末装置101に対して登録の失敗を返信する(S205)。
次に、図5、図6を用いて、上記S102で述べた数字パスワードへの変換について説明する。図5は、アスキーコード表130を示す図である。図6は、アスキー文字列から成るパスワードを数字パスワードに変換するパスワード変換テーブル140を示す図である。端末側認証情報生成部106は、端末側入力部104が受け付けた8桁のパスワードを、8桁の数字から成る数字パスワードに変換する。本実施の形態では、端末側入力部104は、パスワードを8桁のアスキー文字列(数字、文字、記号を含む)で受付けることを想定しており、パスワード中のアルファベットの大文字と小文字を区別しない。具体的には、図5に示すようなアスキー文字列を、図6に示すパスワード変換テーブル140を用いることで、受け付けたパスワードの文字数と同じ桁数を持つ数字パスワードに変換することができる。例えば、パスワードを「Pass#9@7」の8文字とした場合、図6の変換テーブルを使うことで、「61991987」の8桁の数字パスワードに変換する。例えばアスキー文字列の「P」は図5のアスキーコード表により上位4ビットが「7」であり、下位4ビットが「0」である。この場合、図6のパスワード変換テーブル140により「70」は数字パスワードでは「6」となる。同様にアスキー文字列の「a」は図5により上位4ビットが「6」であり、下位4ビットが「1」である。この場合、図6のパスワード変換テーブル140によれば「61」は数字パスワードでは「1」となる。以下同様にしてアスキー文字列で受付けたパスワード「Pass#9@7」は、端末側認証情報生成部106により、8桁の数字パスワード「61991987」に変換される。
次に、上記S104で述べた認証情報S1と認証情報S2の生成について説明する。端末側認証情報生成部106は、変換した8桁の数字パスワードと、端末側乱数生成部105が生成した8桁の乱数とを使って、例えば、以下の計算式(式1)、(式2)とを用いて認証情報S1と認証情報S2とを生成する。
S1[i]=(10+PW[i]−RN[i])%10 (式1)
S2[i]=RN[i] (式2)
ここで、
S1[i]は認証情報S1の左からi番目の数字を示す。
PW[i]は数字パスワードの左からi番目の数字を示す。
RN[i]は乱数の左からi番の数字を示す。
S2[i]は認証情報S2の左からi番目の数字を示す。
「%」は割り算の商を求める演算を示す。
例えば、8桁の乱数が「41293547」の場合に、先のパスワード「Pass#9@7」に対して、
S1[1]=(10+6−4)%10=2
S1[2]=(10+1−1)%10=0
S1[3]=(10+9−2)%10=7
S1[4]=(10+9−9)%10=0
S1[5]=(10+1−3)%10=8
S1[6]=(10+9−5)%10=4
S1[7]=(10+8−4)%10=4
S1[8]=(10+7−7)%10=0
となり、
認証情報S1=20708440となる。
また、
認証情報S2(=RN)=41293547となる。
次に、図7〜図9を用いて、ユーザ認証の際の端末装置101及びサーバ装置109のそれぞれの動作について説明する。図7は端末装置101においてユーザ認証を行う際に実行される処理を示すフローチャートである。図8はサーバ装置109においてユーザ認証を行う際に実行される処理を示すフローチャートである。図9は、図7と図8とを結合したフローチャートであり、端末装置101とサーバ装置109とのやりとりを示している。
まず、図9を参照して、ユーザ認証の際の端末装置101の動作について説明する。ユーザが端末装置101を使ってユーザ認証を行う場合に、端末側入力部104よりユーザIDとパスワード(原情報の一例)を受付ける(S301)。次に、サーバ装置109に対して端末側通信部102の端末側送信部1021を介してユーザIDを含む認証要求をサーバ装置109に送信する(S302)。この後、端末装置101は送信した認証要求に対する乱数を、サーバ装置109より受信する(S303)。次に、端末側認証データ生成部108は、端末側入力部104で受付けたパスワードと端末側記憶部107に記憶している認証情報S2により、認証情報S1を生成する(S304)。S304における具体的な認証情報S1の生成については後述する。次に、端末側認証データ生成部108は、認証情報S1(認証用データ)を使ってサーバ装置109から受信した乱数をハッシュしたハッシュ値を端末側認証データとして求め(S305)、求めたハッシュ値を端末側認証データとして端末側送信部1021を介してサーバ装置109に送信する(S306)。この後、端末装置101は送信した端末側認証データに対する認証結果を端末側受信部1022を介して受信し(S307)、受信した結果を端末側表示部103に表示する(S308)。
次に、図9を参照して、サーバ装置109におけるユーザ認証の動作を説明する。
サーバ装置109は、端末装置101から認証要求を受信する(S401)と、受信した認証要求に含まれるユーザIDと同じユーザIDがサーバ側認証情報記憶部112に登録されているかを確認する(S402)。ユーザIDがサーバ側認証情報記憶部112に登録されている場合には、ユーザIDと関連付けてサーバ側認証情報記憶部112に記憶された認証情報S1を取り出す(S403)。一方、サーバ側認証情報記憶部112にユーザIDが登録されていない場合には、認証の失敗を記録する(S404)。次に、サーバ側乱数生成部111において乱数を生成し(S405)、この乱数を端末装置101に対して送信する(S406)。この後、端末装置101から認証データを受信する(S407)と、認証の失敗が記録されているかを確認し(S408)、失敗が記録されていない場合には、サーバ側認証データ生成部113においてサーバ側認証情報記憶部112に記憶する認証情報S1を使って、端末装置101に送信した乱数をハッシュしたハッシュ値をサーバ側認証情報として求め(S409)、サーバ側認証判断部114でハッシュ値(サーバ側認証情報)と端末装置101から受信した端末側認証データとを比較し、これらの値が一致しているか否かで認証の成否を判断する(S410)。
S410において認証が成功した場合には、端末装置101に認証の成功を送信する(S411)。一方、S408において認証の失敗が記録されている場合およびS410においてサーバ側認証判断部114で計算したハッシュ値と端末装置101から受信した認証データが一致していない場合には、端末装置101に認証の失敗を送信する(S412)。
次に、S304で述べた認証情報S1の生成について説明する。端末装置101の端末側認証データ生成部108は、端末側入力部104で受け付けたパスワードから図6のパスワード変換テーブル140を使って得られる数字パスワードと、端末側記憶部107が記憶する認証データS2を使って、例えば、以下の(式3)を用い認証情報S1(認証用データ)を求める。
S1[i]=(10+PW[i]−S2[i])%10 (式3)
ここで、
S1[i]は認証情報S1の左からi番目の数字を示す。
PW[i]は数字パスワードの左からi番目の数字を示す。
S2[i]は認証情報S2の左からi番目の数字を示す。
「%」は割り算の商を求める演算を示す。
たとえば、先の例と同じくパスワード「Pass#9@7」に対して図5の変換テーブルを使うことで得られる8桁の数字パスワード「61991987」と、認証情報S2=「41293547」については、
S1[1]=(10+6−4)%10=2
S1[2]=(10+1−1)%10=0
S1[3]=(10+9−2)%10=7
S1[4]=(10+9−9)%10=0
S1[5]=(10+1−3)%10=8
S1[6]=(10+9−5)%10=4
S1[7]=(10+8−4)%10=4
S1[8]=(10+7−7)%10=0
となり、正しいパスワードが端末側入力部104に入力された場合にサーバ装置109に登録されたものと同じ認証情報S1を求めることができる。
このようにS304において端末側認証データ生成部108は、端末側入力部104から入力したパスワードと、端末側記憶部107が記憶する認証データS2を使用して「認証情報S1」を生成する。この場合、端末側認証データ生成部108の生成する「認証情報S1」は、S203においてサーバ側認証情報記憶部112が記憶した「認証情報S1」に相当する情報であるが、両者は同一とは限らないのはもちろんである。すなわち、端末側入力部104に入力したパスワード(S301)がユーザ登録時に入力したパスワード(S101)と同じであれば、端末側認証データ生成部108の生成する「認証情報S1」は、サーバ側認証情報記憶部112の記憶する「認証情報S1」と同じ値となる。しかし、ユーザ認証時において端末側入力部104入力したパスワード(S301)がユーザ登録時(S101)に入力したパスワードと異なれば、両者は異なる値となる。このことは、実施の形態2(後述する図17のS707)、及び実施の形態3(後述する図26のS1108)についても同様である。
本実施の形態では、ユーザ登録を行う際に使用する端末装置とユーザ認証を行う際に使用する端末装置を同じものとして記述したが、これら2つの操作の際に使用する端末は2つの別の端末を使用することも可能である。この場合には、ユーザ登録を行った後に、使用した端末装置から認証情報S2を記憶した端末側記憶部107を含む不揮発性メモリを取り出し、認証を行う際に使用する端末装置に、この不揮発性メモリを挿入して使用することで、ユーザ登録を行った端末とは異なる端末においてユーザ認証を行うことが可能になる。
さらに、不揮発性メモリの内容をインターネットなどのネットワークを通じて、正規のユーザに送付し、ユーザ側で不揮発性メモリに内容をコピーしユーザの所有する端末装置を使用して認証することも可能である。このように、端末側記憶部107を含む不揮発性メモリを用いることで認証の利便性を向上することができる。
以上のように、端末装置101は、ユーザ登録時に生成した乱数を認証情報S2として記憶するだけでありパスワードそのものについての情報は全く記憶していないため、端末装置の盗難や紛失が発生した際にも、端末装置からサーバ装置に登録した認証情報が漏洩することはない。
また、サーバ装置に登録する認証情報S1は、ユーザ登録時に端末装置で生成した乱数を使って計算した数値であり、認証情報S1だけではユーザのパスワードが何であるかは、例えサーバ装置の管理者であっても推測することができないので、秘密の漏洩を防止することができる。
さらに、サーバ装置に登録する認証情報S1は、パスワードと乱数とを用いて計算により求めた値であるので、悪意の第三者にサーバ側認証情報記憶部112の中身を覗かれるような事故が起きた場合にも、ユーザはパスワードを新しいものに変えてこれを覚え直す労力は不要であり、再度ユーザ登録をやり直すだけで、パスワードは継続的に同じものを使うことが可能である。
さらに、端末装置の記憶部を1つの端末装置から別の端末装置に差し替えて使うことが可能な不揮発性メモリとした場合には、別の端末装置を使って認証を行う際にも、ユーザは同じ1つのパスワードでサーバ装置との認証を行うことが可能である。このため、不揮発性メモリ媒体を一種の物理トークンとして使うこともでき、また、不揮発性メモリ媒体の紛失や盗難が発生した場合には、ユーザ登録をやり直すだけで、物理トークンの再発行が可能になる。
実施の形態1に係る認証システムは、ユーザが利用する端末装置と、前記端末装置と通信を行ってユーザに対するユーザ認証を行う認証装置(サーバ装置)とを有する認証システムであって、前記端末装置は、前記認証装置との通信を行う端末側通信部とユーザのキー入力を受付ける端末側入力部と、乱数を生成する端末側乱数生成部と、端末側入力部から入力されたパスワードと端末側乱数生成部により生成された乱数から所定の演算により認証情報S1と認証情報S2の2つの認証情報を生成する端末側認証情報生成部と、認証情報S2を記憶する端末側記憶部と、パスワードと認証情報S2から認証情報S1を求めてさらにこの認証情報S1と乱数とから端末側認証データを生成する端末側認証データ生成部とを有し、ユーザ登録の際に、前記端末側入力部からのパスワードに関して前記端末側認証情報生成部より得られる認証情報S1を端末側通信部を介して前記認証装置に送信するとともに認証情報S2を前記端末側記憶部に記憶し、ユーザ認証の際に、前記端末側入力部からのパスワードと前記端末側記憶部に記憶した認証情報S2と前記端末側通信部を介して前記認証装置から受信した乱数から前記端末側認証データ生成部により生成される端末側認証データを前記端末側通信部を介して前記認証装置に送信し、前記認証装置は、前記端末装置との通信を行うサーバ側通信部と、乱数を生成するサーバ側乱数生成部と、
認証情報S1を記憶するサーバ側認証情報記憶部と、乱数と認証情報S1とから所定の演算によりサーバ側認証データを生成するサーバ側認証データ生成部と端末側認証データとサーバ側認証データとの2つの認証データが一致するか否かを判断するサーバ側認証判断部とを有し、ユーザ登録の際に、前記端末装置から受信した認証情報S1をサーバ側認証情報記憶部に記憶し、ユーザ認証の際に、前記サーバ側乱数生成部で生成した乱数を前記端末装置に送信し、これに対して前記端末装置から受信した端末側認証データと、前記サーバ側認証データ生成部により生成されるサーバ側認証データとが一致するか否かを前記サーバ側認証判断部により判断することで利用者認証の可否判断をすることを特徴とする。
実施の形態2.
実施の形態1では、端末装置に対して端末側入力部からパスワード文字を直接入力するものであった。これに対して実施の形態2は、例えば携帯電話のように端末装置の入力キーの種類が限られているような場合に、入力キーから直接パスワードを入力する代わりに、
画面の表示にしたがって数字パスワードを入力して認証を行う認証システムを示す。
図10は、この発明の実施の形態2に係る認証システムの構成を示すブロック図である。構成要素は実施の形態1の構成を示す図1と同様である。実施の形態2に係る認証システムは、端末装置301とサーバ装置309で構成される。図10において、端末装置301は、端末側通信部302、端末側表示部303、端末側入力部304、端末側乱数生成部305、端末側認証情報生成部306、端末側記憶部307、端末側認証データ生成部308とを備える。また、端末側通信部302は、端末側送信部3021と端末側受信部3022を備える。サーバ装置309(認証装置)は、サーバ側通信部310、サーバ側乱数生成部311、サーバ側認証情報記憶部312、サーバ側認証データ生成部313、サーバ側認証判断部314を備える。また、サーバ側通信部310は、サーバ側送信部3101と、サーバ側受信部3102を備える。
端末側記憶部307は、本実施の形態では不揮発性メモリからなり端末装置301から着脱することができる。サーバ側認証情報記憶部312は、本実施の形態ではハードディスク装置からなりユーザの認証情報S1をユーザIDと関連付けて記憶する。端末側乱数生成部305は、パスワードの文字数と同じ桁数の乱数を生成する。サーバ側乱数生成部311は、各桁の数字の間で重複のない10桁の乱数を生成する。
サーバ側乱数生成部311、サーバ側認証データ生成部313、サーバ側認証判断部314は、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスクなどに格納され、これらからサーバ装置309上にロードされCPU上で実行される。端末装置301の端末側通信部302とサーバ装置309のサーバ側通信部310は、無線通信や有線通信やインターネットなどのネットワークを介して接続される。
次に、動作について説明する。まず、図11、図12、図13を参照して端末装置301及びサーバ装置309におけるユーザ登録の際の動作について説明する。
図11は、端末装置301においてユーザ登録を行う際に実行される処理を示すフローチャートである。図12は、サーバ装置309におけるユーザ登録の際の処理を示すフローチャートである。また、図13は、ユーザ登録における端末装置101とサーバ装置109とのやり取りを示す図であり、図11と図12とを結合した図である。
まず、図13を参照して端末装置301におけるユーザ登録の過程を説明する。ユーザが端末装置301を使ってユーザ登録をする場合には、端末側入力部304よりユーザIDの入力を受付ける(S501)。次に、端末側表示部303に対してパスワード登録画面を表示する(S502)。このパスワード登録画面については後述する。このパスワード登録画面に対して端末側入力部304より数字パスワードの入力を受付ける(S503)。次に、端末側乱数生成部305で乱数を生成し(S504)、端末側認証情報生成部306はS503において受けつけた数字パスワードと、S504において端末側乱数生成部305が生成した乱数とを使って、認証情報S1(第1認証情報)と認証情報S2(第2認証情報)とを生成する(S505)。この認証情報S1認証情報S2の生成については後述する。次に、サーバ装置309に対して端末側送信部3021を介してユーザIDと認証情報S1とを含む登録要求を送信する(S506)。この後、端末装置301は端末側通信部302を介して送信した登録要求に対する結果をサーバ装置309より受信し(S507)、端末側表示部303に受信した登録要求に対する結果を表示する(S508)。次に、登録要求に対する認証結果が成功か否かを判別し(S509)、結果が登録成功の場合には、認証情報S2(第2認証情報)を端末側記憶部307に記憶し(S510)、ユーザ登録処理を終了する。一方、結果が登録失敗の場合には、S501からの登録処理を繰り返す。
次に、図13を参照して、サーバ装置309におけるユーザ登録の処理を説明する。
端末装置301からユーザ登録要求を受信する(S601)と、サーバ装置309は、受信した登録要求に含まれるユーザIDと同じユーザIDがサーバ側認証情報記憶部312に登録されていないかを確認する(S602)。ユーザIDが登録されていない場合には、受信した登録要求に含まれる認証情報S1を認証要求に含まれるユーザIDと関連付けてサーバ側認証情報記憶部312に記憶し(S603)、端末装置301に対して登録の成功を返信する(S604)。
一方、S602においてユーザIDがサーバ側認証情報記憶部312に既に登録されている場合には、サーバ装置309は端末装置301に対して登録の失敗を返信する(S605)。
次に、図14を用いて前述のS502で述べた端末側表示部303に表示するパスワード登録画面501について説明する。
図14は、S503において数字パスワードを入力する際に端末装置301の端末側表示部303に表示されるパスワード登録画面501の例を示す図である。図14において、
パスワード登録画面501には、パスワード文字配列部502、数字パスワード配列部503、入力フィールド504が表示される。パスワード登録画面501の表示にしたがって、ユーザ自身がパスワードを数字パスワードに変換して入力する。パスワード文字配列部502は、パスワードに使用する文字がグループ分けされて表示される。例えば、1列目が「1AKU#」のグループ、2列目が「2BLV$」のグループ等である。これらのグループ(列)と、数字パスワード配列部503に表示された「1234567890」とが対応付けられている。すなわち、1列目の「1AKU#」のグループは「1234567890」のうちの「1」と対応する。また、2列目の「2BLV$」は「1234567890」のうちの「2」に対応する。パスワード文字配列部502は、図6に示したパスワード変換テーブル140に基づいてパスワード文字配列部502の文字をグループ分けしている。例えば、1列目の「1AKU#」は、図6に示したパスワード変換テーブル140によれば、いずれも「1」に対応し、2列目の「2BLV$」はいずれも「2」に対応する。ユーザはパスワードの各文字について、パスワード文字配列部502の中からパスワードの各文字を検索し、検索したパスワードの文字が属するグループ(列)に対応する数字を、数字パスワード配列部503の「1234567890」中から選択して端末側入力部304に入力する。パスワードが「Pass#9@7」であれば、「P」は左から6列目に属するので「6」を選択し、「a」は左から1列目に属するので「1」を選択する。このような対応によりパスワード「Pass#9@7」は、数字パスワード「61991987」に変換される。したがって、パスワード「Pass#9@7」を図14のパスワード登録画面501に対して入力する場合には、ユーザは8桁の数字パスワード「61991987」を入力する。入力フィールド504は、入力された入力数値「61991987」を「********」と表示する。
次に、上記S505で述べた端末側認証情報生成部306による認証情報S1、認証情報S2の生成について説明する。端末装置301の端末側認証情報生成部306では、実施の形態1の端末側認証情報生成部106で使用する計算式と同じ式を用いて、端末側乱数生成部305で生成した乱数と端末側入力部304に対して入力される数字パスワードから認証情報S1と認証情報S2を生成することができる。たとえば、8桁の乱数が「41293547」の場合に、先のパスワード「Pass#9@7」に対して、
S1[1]=(10+6−4)%10=2
S1[2]=(10+1−1)%10=0
S1[3]=(10+9−2)%10=7
S1[4]=(10+9−9)%10=0
S1[5]=(10+1−3)%10=8
S1[6]=(10+9−5)%10=4
S1[7]=(10+8−4)%10=4
S1[8]=(10+7−7)%10=0
となり、認証情報S1=20708440となる。
また、認証情報S2(=RN)=41293547となる。
次に、図15〜図17を用いてユーザ認証における端末装置301及びサーバ装置309のそれぞれの動作について説明する。図15は端末装置301においてユーザ認証を行う際に実行される処理を示すフローチャートである。図16はサーバ装置109においてユーザ認証を行う際に実行される処理を示すフローチャートである。図17は、図15と図16とを結合したフローチャートであり、端末装置101とサーバ装置109とのやりとりを示している。
図17を参照して端末装置301においてユーザ認証を行う際に実行される処理を説明する。
まず、ユーザが端末装置301を使ってユーザ認証を行う場合に、端末側入力部304より認証要求としてユーザIDの入力を受付ける(S701)。次に、サーバ装置309に対して端末側送信部3021を介してユーザIDを含む認証要求を送信する(S702)。この後、端末装置301は送信した認証要求に対して複数の表示用乱数をサーバ装置309より受信する(S703)。次に、受信した表示用乱数を順に1つづつ使って、図18に示す認証画面601を端末側表示部303に表示する(S704)。なお、図18に示す認証画面601については、後に詳しく説明する。後述する認証画面601に対するユーザからの応答値を端末側入力部304より受付ける(S705)。次に、サーバ装置309から受信した全ての表示用乱数について後述の認証画面601を端末側表示部303に表示したかをチェックし(S706)、まだ表示していない表示用乱数がある場合にはS704からの処理を繰り返す。一方、全ての表示用乱数について後述の認証画面601を表示した場合には、端末側認証データ生成部708において端末側入力部304で受付けた応答値と端末側記憶部307の記憶する認証情報S2とより認証情報S1を求める(S707)。次に、端末側認証データ生成部708において表示用乱数と認証情報S1から端末側認証データを生成する(S708)。生成した端末側認証データを端末側送信部3021を介してサーバ装置309に送信する(S709)。この後、端末装置301は送信した端末側認証データに対するサーバ装置309による認証結果を端末側受信部3022を介して受信し(S710)、受信した結果を端末側表示部303に表示する(S711)。
次に、図17を参照してサーバ装置309におけるユーザ認証の動作を説明する。
サーバ装置309は、端末装置301から認証要求を受信する(S801)と、サーバ装置309は、受信した認証要求に含まれるユーザIDと同じユーザIDがサーバ側認証情報記憶部312に登録されているかどうかを確認する(S802)。ユーザIDがサーバ側認証情報記憶部312に登録されている場合には、サーバ装置309は、ユーザIDと関連付けてサーバ側認証情報記憶部312に記憶されている認証情報S1を取り出す(S803)。一方、サーバ側認証情報記憶部312にユーザIDが登録されていない場合には、サーバ装置309は、認証の失敗を記録する(S804)。次に、サーバ側乱数生成部311は、含まれる数字が重複しない10桁の乱数を、表示用乱数として複数個生成する。本実施の形態では、表示用乱数として10桁の乱数を8個生成する(S805)。これは、図18の説明で後述するが、入力フィールド604が8桁であり、各桁に対して入力ごとに表示用乱数部603の表示用乱数を切り替えて表示するためである。サーバ装置309はこれら8個の表示用乱数をサーバ側送信部3101を介して端末装置301に送信する(S806)。この後、サーバ装置309は、端末装置301から端末側認証データを受信する(S807)と、サーバ装置309は、認証の失敗が記録されているかを確認し(S808)、サーバ装置309は、失敗が記録されていない場合には、サーバ側認証データ生成部313において認証情報S1を使って端末装置301に送信した表示用乱数と認証情報S1とからサーバ側認証データを生成し(S809)、サーバ側認証判断部314は、生成したサーバ側認証データと端末装置301から受信した端末側認証データとを比較し、これらの値が一致しているか否かで、認証の成否を判断する(S810)。S810において認証が成功した場合には、端末装置301に認証の成功を送信する(S811)。一方、S808において認証の失敗が記録されている場合およびS810においてサーバ側認証判断部314で計算した認証データと端末装置301から受信した認証データが一致していない場合には、端末装置301に認証の失敗を送信する(S812)。
次に、図18を参照して、上記S704(図17)の過程で述べた認証画面601(変換方法画面の一例)を説明する。認証画面601は、上記S704で述べたように、ユーザ認証の場合には、認証画面601が端末側表示部303に表示される。図18において、認証画面601には、パスワード文字配列部602、表示用乱数部603、入力フィールド604が表示される。入力フィールド604への数値の入力方法は、図14のパスワード登録画面501の場合と同様である。この入力フィールド604にはパスワードに対応する入力値(対応情報、あるいは応答値ともいう)を入力する。数値が入力されると、入力フィールド604には入力数値(対応情報)が「*」で表示される。ユーザはパスワードの各文字について、パスワード文字配列部602の中から文字を検索し、表示用乱数部603の中から検索したパスワードの文字にある数字を入力することで、端末側入力部304から応答値を入力する。このように、認証画面601の構成は、パスワード登録画面501と類似であるが、表示用乱数部603の表示方法が異なる。すなわち、パスワード登録画面501では数字パスワード配列部503に表示された「1234567890」は固定であった。これに対して、認証画面601では、表示用乱数部603に表示される10桁の表示用乱数の値は、入力フィールド604に左から数値が入力されるごとに変更される。つまり、サーバ装置309から受信した8個の表示用乱数が、入力フィールド604に左から数値が入力されるごとに表示される。更に具体的に説明すれば、入力フィールド604の一番左の桁に入力しようとする場合には、1つ目の表示用乱数が表示用乱数部603に表示されている。ユーザは、1つ目の表示用乱数をみて入力フィールド604の一番左の桁に入力する。次に、入力フィールド604の一番左の桁に入力されると、表示用乱数部603の表示は切り替わり、2つ目の表示用乱数が表示される。
図18は、例えば表示用乱数部603の1つ目の表示用乱数を見て入力フィールド604の一番左の桁を入力した直後を示している。この場合、入力フィールド604の一番左の桁は「*」を表示するとともに、表示用乱数部603の表示は、1つ目の表示用乱数から2つ目の別の表示用乱数である「8795140362」に切り替わる。
次に、上記S707で述べた認証情報S1の算出について詳しく説明する。端末装置301の端末側認証データ生成部708は、S707の処理において、端末側入力部304から受付けた応答値である数字パスワード(対応情報)と、端末側記憶部307の記憶する認証データS2(第2認証情報)とを使って、例えば、次の(式4)より、
(RN[i]/1010−m[i])%10=PW[i] (式4)
を満たす数m[i]を求める。そして、さらに以下の(式5)を用いることで、認証情報S1(認証用データ)を求めることができる。
S1[i]=(10+m[i]−S2[i])%10 (式5)
ここで、
RN[i]は、左からi番目の数字パスワードPW[i]を入力する際に認証画面に表示した表示用乱数を示す。
S1[i]は、認証情報S1の左からi番目の数字を示す。
S2[i]は、認証情報S2の左からi番目の数字を示す。
「/」は、割り算の商を求める演算を示す。
「%」は、割り算のあまりを求める演算を示す。
たとえば、図18の認証画面601は、前述のように、具体的には応答値として2番目の数値パスワードを要求している画面である。パスワードが「Pass#9@7」の場合に、2番目の表示用乱数であるRN[2]=8795140362に対する2番目のパスワード文字‘a’の正しい数値パスワードはPW[2]=8となり、先の式に当てはめると、
(8795140362/1010−m[2])%10=8
を満たす1010−m[2]は10であり、
10−m[2]=9
を満たすm[2]は、
m[2]=1
であり、さらに2番目の式に当てはめると、
S1[2]=(10+m[2]−S[2])%10 = (10+1−1)%10 = 0
となり、S1[2]=0(なお認証情報S1=20708440であり左から2桁目は0であるので一致している。)が求められる。
次にS708で述べた端末側認証データの生成について詳しく説明する。
端末装置301の端末側認証データ生成部308は、S708の処理において、S707で求めた認証情報S1(認証用データ)と表示用乱数から端末側認証データを生成する。具体的には、次の(式6)による。
S1[i]=(RN[i]/1010−n[i])%10 (式6)
を満たすn[i]を求めて用いることで端末側認証データを生成する。ここで、
S1[i]は、認証情報S1の左からi番目の数字を示す。
RN[i]は、i番目の数字パスワードを入力する際に認証画面601に表示した表示用乱数を示す。
n[i]は、端末側認証データの左からi番目の数字を示す。
「/」は、割り算の商を求める演算を示す。
「%」は、割り算のあまりを求める演算を示す。
たとえば、先の2番目の数値パスワードの例を上記式にあてはめると、
S1[2]=(8795140362/1010−n[2])%10=0
となり、この式を満たす1010−n[2]は10であり、
10−n[2]=3
を満たすn[2]は、
n[2]=7
であり、端末側認証データの左から2番目の数字として7が求まる。
サーバ装置309のサーバ側認証データ生成部313では、S809において、端末装置301のS708の処理と同じ処理を行うことで、表示用乱数と認証情報S1とによりサーバ側認証データを生成する。
本実施の形態では、ユーザ登録を行う際に使用する端末装置とユーザ認証を行う際に使用する端末装置を同じものとして記述したが、これら2つの操作の際に使用する端末は2つの別の端末を使用することも可能である。この場合には、ユーザ登録を行った後に使用した端末装置から、記憶部を含む不揮発性メモリを取り出し、認証を行う際に使用する端末装置にこの不揮発性メモリを挿入して使用することで、ユーザ登録を行った端末と別の端末でユーザ認証を行うことが可能になる。さらに、不揮発性メモリの内容をインターネットなどのネットワークを通じて、正規のユーザに送付し、ユーザ側で不揮発性メモリに内容をコピーしユーザの所有する端末装置を使用して認証することも可能である。
以上のように、本実施の形態では、実施の形態1の効果に加えて、さらに、認証のたびに毎回異なる複数の表示用乱数を使用し、これらに対して入力される応答値を用いて認証を行うため、パスワード文字を直接入力しないので、端末装置の入力キーの種類が限られた場合にも、認証の入力の際にキー入力を覗き見られることでキー入力からパスワードが漏洩することを防止しすることができる。
実施の形態2に係る認証システムは、ユーザが利用する端末装置と、前記端末装置と通信を行ってユーザに対するユーザ認証を行う認証装置(サーバ装置)とを有する認証システムであって、前記端末装置は、前記認証装置との通信を行う端末側通信部と、複数の表示用乱数を順に表示するとともに、パスワードを構成する記号と対応関係にある記号を含む複数の参照記号から構成される参照記号群を併せて表示する端末側表示部と、ユーザのキー入力を受付ける端末側入力部と、乱数を生成する端末側乱数生成部と、端末側入力部から入力されたパスワードと端末側乱数生成部で生成した乱数から所定の演算により認証情報S1と認証情報S2の2つの認証情報を生成する端末側認証情報生成部と、認証情報S2を記憶する端末側記憶部と、端末側表示部に表示した表示用乱数に対して端末側入力部から入力された応答値と認証情報S2とから認証情報S1を求めてさらにこの認証情報S1と乱数とから端末側認証データを生成する端末側認証データ生成部とを有し、ユーザ登録の際に、前記端末側入力部から入力されたパスワードに関して前記端末側認証情報生成部より得られる認証情報S1を端末側通信部を介して前記認証装置に送信するとともに認証情報S2を前記端末側記憶部に記憶し、ユーザ認証の際に、前記認証装置から複数の表示用乱数を受信し、参照記号群と併せて前記端末側表示部に順に表示して、これら乱数に対して入力された応答値と認証情報S2と乱数とから前記端末側認証データ生成部により生成される端末側認証データを前記端末側通信部を介して前記認証装置に送信し、前記認証装置は、前記端末装置との通信を行うサーバ側通信部と、複数の表示用乱数を生成するサーバ側乱数生成部と、認証情報S1を記憶するサーバ側認証情報記憶部と、複数の乱数と認証情報S1とから所定の演算によりサーバ側認証データを生成するサーバ側認証データ生成部と、端末側認証データとサーバ側認証データとの2つの認証データが一致するか否かを判断するサーバ側認証判断部とを有し、ユーザ登録の際に、前記端末装置から受信した認証情報S1をサーバ側認証情報記憶部に記憶し、ユーザ認証の際に、前記サーバ側乱数生成部で生成した複数の表示用乱数を前記端末装置に送信し、これに対して前記端末装置から受信した端末側認証データと前記サーバ側認証データ生成部により生成されるサーバ側認証データとが一致するか否かを前記サーバ側認証判断部により判断することで利用者認証の可否判断をすることを特徴とする。
実施の形態3.
実施の形態2では、パスワードの各文字ごと(入力フィールド604の各桁ごと)に認証画面601に表示用乱数を表示して応答値の入力を受け付けることにより認証を行うものであった。これに対して、実施の形態3は、パスワードの桁ごとに表示用乱数と背景用乱数(付加要素用乱数)の組を使用し、認証画面に表示用乱数を所定の背景パターン上に表示するとともに、パスワード候補のそれぞれの背景パターンを背景用乱数から決定してパスワード候補をそれぞれの背景パターン上に表示する実施形態を示す。背景用乱数については後述する。なお、本実施の形態では、パスワードには8桁の数字とアルファベット及び特殊文字を含む記号列のパスワードを使用し、サーバ装置への認証の際と端末装置への認証の際には、ともに8桁の入力数値を入力するものとする。また、後述する背景用乱数は、5個の10桁の乱数からなる乱数配列とする。
また、本実施の形態では、サーバ装置がユーザ認証の判断をする場合に加えて、サーバ装置がユーザ認証の判断を行うのではなく端末装置がユーザ認証の判断を行う実施形態も説明する。
図19は、この発明の実施の形態3に係る認証システムの構成を示すブロック図である。図19において、
端末装置701は、端末側通信部702、端末側表示部703、端末側背景パターン決定部704、端末側入力部705、端末側乱数生成部706、端末側認証情報生成部707、端末側認証データ生成部708、端末側記憶部709、端末側乱数変化部710、及び端末側再認証判断部711を備える。また端末側通信部702は端末側送信部7021、端末側受信部7022を備える。サーバ装置713(認証装置)は、サーバ側通信部714、サーバ側乱数生成部715、はサーバ側認証情報記憶部716、サーバ側認証データ生成部717、及びサーバ側認証判断部718を備える。また、サーバ側通信部714は、サーバ側送信部7141、サーバ側受信部7142を備える。
また、端末側記憶部709と端末側乱数変化部710と端末側再認証判断部711は、本実施の形態ではICカード712内に実装されており、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムはICカード内のフラッシュメモリに格納され、ICカード内のCPUで実行される。なお、ICカードは端末装置701から着脱することができる。サーバ側認証情報記憶部716は、本実施の形態ではハードディスク装置からなりユーザの認証情報をユーザIDと関連付けて記憶する。
端末側乱数生成部706は、パスワードの文字数と同じ桁数の乱数を生成する。サーバ側乱数生成部715は、各桁の数字の間で重複のない10桁の乱数を生成する。サーバ側乱数生成部715、サーバ側認証データ生成部717、サーバ側認証判断部718は、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスクなどに格納され、これらからサーバ装置713上にロードされCPU上で実行される。
端末装置701の端末側通信部702とサーバ装置713のサーバ側通信部714は、無線通信や有線通信やインターネットなどのネットワークを介して接続される。
次に動作について説明する。まず、端末装置701及びサーバ装置713におけるユーザ登録の動作について説明する。
図20、図21、図22を参照して説明する。図20は、端末装置701においてユーザ登録を行う際に実行される処理を示すフローチャートである。図21は、サーバ装置713におけるユーザ登録の際の処理を示すフローチャートである。また、図22は、ユーザ登録における端末装置701とサーバ装置713とのやり取りを示す図であり、図20と図21とを結合した図である。
図22を参照して、端末装置701のユーザ登録における動作を説明する。
まず、ユーザが端末装置701を使ってユーザ登録を行う場合に、端末側入力部705からユーザIDと、パスワード(原情報)の入力を受付ける(S901)。次に、端末側認証情報生成部707は、端末側入力部705から受け付けたパスワードを、パスワードの文字数と同じ桁数の2つの数字パスワードに変換する(S902)。この2つの数字パスワードにへの変換については後述する。端末側乱数生成部706は、乱数を生成し(S903)、端末側認証情報生成部707は、上記2つの数字パスワードと端末側乱数生成部706が生成した乱数を使って、認証情報S1(第1認証情報)と認証情報S2(第2認証情報)と認証情報S3(第3認証情報)を生成する(S904)。この認証情報S1、認証情報S2、及び認証情報S3の生成につては後述する。次に、端末装置701は、サーバ装置713に対して端末側通信部702を介してユーザIDと、認証情報S1と、認証情報S3とを含む登録要求を送信する(S905)。この後、端末装置701は、端末側送信部7021を介して送信した登録要求に対する結果をサーバ装置713より受信し(S906)、端末側表示部703は、受信した結果を表示する(S907)。次に、端末装置701は、登録要求に対する認証結果が成功か否かを判別し(S908)、結果が登録成功の場合には、認証情報S2(第2認証情報)を端末側記憶部709に記憶し(S909)、ユーザ登録処理を終了する。一方、結果が登録失敗の場合には、S901からの登録処理を繰り返す。
次に、図22を用いて、サーバ装置713においてユーザ登録を行う際に実行される処理を説明する。
サーバ装置713は、端末装置701から登録要求を受信する(S1001)と、サーバ装置713は、受信した要求に含まれるユーザIDと同じユーザIDがサーバ側認証情報記憶部716に登録されていないかを確認する(S1002)。ユーザIDが登録されていない場合には、受信した登録要求に含まれる認証情報S1(第1認証情報)と、認証情報S3(第3認証情報)と、登録要求に含まれるユーザIDとを関連付けてサーバ側認証情報記憶部716に記憶し(S1003)、サーバ装置713は、端末装置701に対して登録の成功を返信する(S1004)。
一方、S1002でサーバ側認証情報記憶部716にユーザIDが既に登録されている場合には、サーバ装置713は、端末装置701に対して登録の失敗を返信する(S1005)。
次にS902で述べた2つの数字パスワードへの変換について詳しく説明する。端末装置701の端末側認証情報生成部707は、端末側入力部705から受付けたパスワード文字列を、例えば図6に示すパスワード変換テーブル140を用いることでパスワードの文字数と同じ桁数を持つ数字パスワードAに変換することができる。さらに、図23に示すパスワード変換テーブル730を用いることで、パスワードの文字列と同じ桁数を持つ数字パスワードBに変換することができる。なお、本実施の形態では、端末側認証情報生成部707は、パスワードをアスキー文字列で受付け、パスワード中のアルファベットの大文字と小文字を区別しない例を示している。例えば、パスワードを「Pass#9@7」の8文字とした場合、図6のパスワード変換テーブル140を使うことで、「61991987」の8桁の数字パスワードAに変換される。また、図23のパスワード変換テーブル730を使うことで、「32335141」の8桁の数字パスワードBに変換される。
次に、上記S904で述べた端末側認証情報生成部707による認証情報S1、認証情報S2、認証情報S3の生成について詳しく説明する。端末装置701の端末側認証情報生成部707は、端末側乱数生成部706が生成した8桁の乱数と、8桁の数字パスワードAとを使って、例えば、以下の(式7)、(式8)、(式9)を用いて認証情報S1と認証情報S2を生成することができる。
S1[i]=(10+PWA[i]−RN[i])%10 (式7)
S2[i]=RN[i] (式8)
S3[i]=PWB[i] (式9)
ここで、
S1[i]は認証情報S1の左からi番目の数字を示す。
PWA[i]は数字パスワードAの左からi番目の数字を示す。
RN[i]は乱数の左からi番の数字を示す。
S2[i]は認証情報S2の左からi番目の数字を示す。
S3[i]は認証情報S3の左からi番目の数字を示す。
PWB[i]は数字パスワードBの左からi番目の数字を示す。
「%」は割り算の商を求める演算を示す。
たとえば、8桁の乱数が「41293547」の場合に、先のパスワード「Pass#9@7」に対して、認証情報S1は、
S1=20708440となり、
認証情報S2とS3はそれぞれ、
S2(=RN)=41293547、
S3=32335141となる。
次に、図24〜図26を用いてユーザ認証における端末装置701及びサーバ装置713のそれぞれの動作について説明する。図24は端末装置701においてユーザ認証を行う際に実行される処理を示すフローチャートである。図24においてS1117〜S1123、S1124は端末装置701がみずから認証判断する過程である。図25はサーバ装置713においてユーザ認証を行う際に実行される処理を示すフローチャートである。図26は、図24と、図25の一部を結合したフローチャートであり、端末装置101とサーバ装置109とのやりとりを示している。図26は、図24の過程のうち、前記の端末装置701がみずから認証判断する過程(S1117〜S1123、S1124)を省いて結合している。
最初に、サーバ装置713が認証の判断を行う場合における端末装置701の動作を説明する。次に、サーバ装置713が認証の判断を行う場合におけるサーバ装置713の動作を説明する。最後に、端末装置701が認証の判断を行う場合を説明する。
図26を参照して、サーバ装置713が認証の判断を行う場合における端末装置701の動作を説明する。
まず、ユーザが端末装置701を使って認証を行う場合に、端末装置701は、端末側入力部705からユーザIDと、端末装置701への認証かサーバ装置713への認証かの認証の要求先を示す認証要求先情報(ユーザ再認証要求の一例)を含む認証要求を受け付ける(S1101)。次に、端末装置701は、受付けた認証要求に含まれる認証要求先情報を参照して、認証要求先が端末装置701に対するものであるか、サーバ装置713に対するものであるかをチェックする(S1102)。そして、認証要求がサーバ装置713に対するものである場合には、サーバ装置713に対して端末側送信部7021を介してユーザIDを含む認証要求を送信する(S1103)。この後、端末装置701は、端末側送信部7021を介して送信した認証要求に対する表示用乱数と背景用乱数配列とを含んだ乱数の組(以下、乱数組(複数の乱数の一例)ともいう)と認証情報S3(第3認証情報)とを、サーバ装置713から受信し(S1104)、受信した乱数組(複数の乱数)のセットの中から、端末側表示部703に表示用乱数を表示するとともに、背景用乱数配列に基づいて端末側背景パターン決定部704により決定された背景パターン上に、パスワード候補を表示する(S1105)。これらの表示については後述する図27、図28の説明で述べる。端末側入力部705は、乱数組を使って端末側表示部703に表示した表示用乱数に対して、ユーザが入力した入力数値(対応情報、あるいは応答値ともいう)を受け付ける(S1106)。端末装置701は、サーバ装置713から受信した全ての乱数組を使って、端末側表示部703に表示用乱数を表示したかをチェックし(S1107)、まだ使われていない乱数組がある場合には、S1105からの処理を繰り返す。一方、全ての乱数組(複数の乱数)を使って表示をした場合には、端末側認証データ生成部708において、入力数値(対応情報)と認証情報S2(第2認証情報)と認証情報S3(第3認証情報)とから認証情報S1(認証用データ)を求める(S1108)。次に、端末側認証データ生成部708は、認証情報S1(認証用データ)を使って表示用乱数の1番目の乱数をハッシュしたハッシュ値(端末側認証データの一例)を求める(S1109)。次に、端末装置701は、ハッシュ値を端末側認証データとして端末側送信部7021を介してサーバ装置713へ送信し(S1110)し、端末側受信部7022を介してサーバ装置713から認証結果を受信する(S1111)。端末装置701は、認証結果が認証成功かチェックする(S1112)。端末装置701は、認証が成功の場合には、認証情報S3を消去し(S1113)、認証に使用した乱数組とこれに対する入力数値を保存する(S1114)。この後、端末装置701は、認証の成功を端末側表示部703に表示する(S1115)。一方、S1112において、認証結果が失敗の場合には、端末装置701は、認証の失敗を端末側表示部703に結果を表示する(S1116)。
次に図26を参照して、サーバ装置713において端末装置701から認証要求を受信した際に実行される処理を示す説明する。まず、端末装置701からユーザIDを含む認証要求を受信する(S1201)と、受信した認証要求に含まれるユーザIDがサーバ側認証情報記憶部716に登録されているかをチェックする(S1202)。サーバ側認証情報記憶部716上にユーザIDが登録されている場合には、ユーザIDに関連付けて記憶されている認証情報S1と認証情報S3を取り出す。(S1203)。一方、サーバ側認証情報記憶部716上にユーザIDが登録されていない場合には、認証の失敗をサーバ側認証判断部718に記憶する(S1204)。次に、サーバ側乱数生成部715において、ユーザの認証に必要な数の乱数組(表示用乱数と背景用乱数配列の組)を生成する(S1205)。実施の形態3のサーバ認証では後述のように8つの入力値により認証を行う。このため、1回の認証に表示用乱数として10桁の乱数と背景用乱数配列として5個の10桁の乱数を要素とする乱数配列との組を8組生成する。つまり、パスワードの桁ごとに、表示用乱数と背景用乱数配列の組を生成する。生成した乱数組と認証情報S3をサーバ側通信部714を介して端末装置701に送信する。詳細は図27、図28の説明で後述する(S1206)。この後、これに対して端末装置701から端末側認証データを受信し(S1207)、サーバ側認証判断部718に認証の失敗が記録されていないかをチェックする(S1208)。サーバ側認証判断部718に認証の失敗が記録されていない場合には、サーバ側認証データ生成部717により認証に用いるサーバ側認証データとして、認証情報S1を使って表示用乱数の1番目の乱数をハッシュしたハッシュ値を計算し(S1209)、受信した端末側認証データと比較して、両者が一致するかをチェックする(S1210)。S1210のチェックにおいて、端末装置701から受信した端末側認証データとサーバ側認証データ生成部717により計算したサーバ側認証データとが一致する場合には、端末装置701に対して認証結果として認証の成功を返信する(S1211)。また、S1210のチェックにおいて端末装置1501から受信した端末側認証データとサーバ側認証データ生成部717により計算したサーバ側認証データが一致しない場合には、端末装置701に対して認証結果としての認証の失敗を送信する(S1212)。また、S1208のチェックにおいてサーバ側認証判断部718に認証の失敗が記憶されている場合には、サーバ側認証判断部718に記憶している認証の失敗をクリアし、端末装置701に対して認証結果としての認証の失敗を送信する(S1212)。
次に、図27を用いて、S1105で述べた認証画面801について説明する。図27は、認証画面801を示す図である。図27において、認証画面801(変換方法画面)には、背景用乱数配列に基づいて端末側背景パターン決定部704により決定された背景パターン上に数字とアルファベット及び特殊文字を表示したパスワード候補(参照記号群)を表示したパスワード候補表示部802と、固定の背景パターン上に表示用乱数を表示した乱数表示部803と、ユーザが乱数に対する入力数値(対応情報、あるいは応答値ともいう)を入力する入力フィールド804とが表示されている。入力フィールド804には、パスワードに対応して入力された入力数値(対応情報)を「*」で表示する。
本実施の形態に係る認証画面801では、パスワード候補表示部802に含まれるそれぞれの記号(参照記号)には、付加要素として記号の背景に「背景パターン」を付加してパスワード候補を表示している。例えば、パスワード候補表示部802の1行目の「1234567890」のそれぞれについてみると、「1」には背景が付加されており、同様に「2」から「0」のすべてに背景が付加されている。この背景は10種類であり、1列目の「1234567890」の各数字の背景を並べ代えてたものが、2列目の「ABCDEFGHIJ」の背景となっている。すなわち、各列の背景は同じ10種類の背景を並べ替えたものとなている。このようにパスワードを構成する一つ一つの文字の背景に付加されたパターンを「背景パターン」と呼ぶ。この10種類の背景パターンは乱数表示部803にも表示される。パスワード候補表示部802の各記号に付加される背景パターンは、端末側背景パターン決定部704により各記号について決定される。また、各記号に付加される背景パターンは、表示用乱数ごとに決定されており、応答値の入力により表示用乱数の表示が切替わる際には、パスワード候補の各記号の背景パターンの表示も切替わる。
S1104においてサーバ装置713から乱数組を受信している。この乱数組を用いて、認証画面801が表示される。認証画面801では入力フィールド804は8桁ある。この入力フィールド804に1組の乱数組が対応している。
図28にサーバ装置713が送信する乱数組と認証画面801の関係を示す。図28では入力フィールド804には便宜的にアルファベットを付けて804a〜804hと表記している。図28において、一番左の一桁目の入力フィールド804aには図に示す乱数組Aが対応する。また、入力フィールド804bには別の乱数組Bが対応する。乱数組は入力フィールド804a〜804hに対応して乱数組A〜乱数組Hの8組がサーバ装置713から送信される(S1206)。10桁の6つの乱数のうち、1行目が表示用乱数であり、乱数表示部803に表示される。そして、2行目〜6行目の乱数が背景用乱数配列である。背景用乱数配列の5行の各行の乱数がパスワード候補表示部802の背景パターンに対応している。すなわちパスワード候補表示部802の1列目の「1234567890」の背景には背景用乱数配列の1行目の「5124397860」が対応する。背景用乱数配列の各行における数字は背景パターンを示しており、数字が同一であれば背景パターンは同じとなっている。
入力フィールド804aに数値が入力されると、入力フィールド804bに対応する別の乱数組Bに基づいて乱数表示部803に別の表示用乱数が表示されるとともに、パスワード候補表示部802のそれぞれ行の背景パターンが背景用乱数配列にしたがって並べかわる。
ユーザは入力する場合、パスワードを構成する8つの文字について、先頭の文字から順番に、パスワード候補表示部802と乱数表示部803を使って1桁の乱数(1桁の数字)を決定する。例えば、図27の例において、これから応答値を入力しようとするパスワードの文字が「E」の場合には、まずパスワード候補表示部802の中からEをさがし、次に、「E」の背景と同じ背景パターンを持つ乱数表示部803の中の数字「6」を応答値として選択する。ユーザは、パスワードの最後の桁についての応答値の入力がおわるまで、パスワードの各文字について、この入力処理を繰り返す。
なお、本実施の形態に係る認証画面801では、表示用乱数を表示する乱数表示部803の各桁の背景パターンは固定としている。しかし、パスワード候補表示部802と同様に、背景パターンの表示を切替えるようにしても構わない。
次に、S1105における背景パターンの表示について具体的に説明する。端末装置701の端末側記憶部709は、異なる背景パターンとして表示される10種類の背景パターンコードを要素とする背景パターン配列Patern[10]を記憶部に記憶している。
(1)まず、端末側背景パターン決定部704は、この背景パターン配列を使ってS1105及びS1119において以下に示す計算式によりi番目のパスワードに対する背景用乱数配列BGRand[i][5]の各桁の値を画面描画用パターンコードに変換する。
(2)そして、次に、認証画面801のパスワード候補表示部802の上からm行目左からn列目の背景として表示する。次の(式10)による。
BGPaternmn=Patern[(BGRand[i][m−1]/1010−n)%10] (式10)
ここで、
「/」は割り算の商を求める演算、
「%」は割り算のあまりを求める演算をそれぞれ示す。
これをBGRand[i]の全ての桁(1≦m≦5,1≦n≦10)について繰り返す。また、認証画面801の乱数表示部803の固定の背景パターンとして左からn番目の背景として、Patern[n−1]を表示する。
さらに、これらの背景の上にパスワード候補の文字とi番目のパスワードに対する表示用乱数DispRand[i]の乱数を表示する。
なお、図27では、
BGRand[1][5]=[5124397860,2351869047,4790617538,9871543026,6403972815]、
DispRand[1]=2571034869
の場合の例を示している。
次に、S1108における認証情報S1の算出について説明する。端末装置701では、端末側認証データ生成部708において、端末側入力部705からの応答値と表示用乱数と背景用乱数配列と認証情報S2および認証情報S3とから、S1108において、認証情報S1を求める。
具体的には、まずi番目の応答値について、次の(式11)を満たす値kを求める。
(RN[i]/1010−k)%10=In[i] (式11)
ここで、
RN[i]は、i番目の表示用乱数を示す。
In[i]はi番目の応答値(1桁)を示す。
「/」は割り算の商を求める演算を示す。
「%」は割り算の余りを求める演算を示す。
次に、表示用乱数と組になっている背景用乱数配列について、次の(式12)を満たす値mを求める。
(BGRand[S3[i]]/1010−m)%10=k (式12)
ここで、
S3[i]は認証情報S3の左からi番目の数字を示す。
BGRand[l]は背景用乱数配列のl番目の乱数を示す。
“/”は割り算の商を求める演算、“%”は割り算の余りを求める演算を示す。
さらに、以下の(式13)によりS1が求まる。
S1[i]=(10+m−S2[i])%10 (式13)
ここで、
S1[i]は認証情報S1の左からi番目の数字を示す。
S2[i]は認証情報S2の左からi番目の数字を示す。
「%」は割り算の余りを求める演算を示す。
また、実施の形態3では、サーバ装置713への認証が成功した際に、認証に使用した8組の乱数組(表示用乱数と背景用乱数配列の組)を端末装置701の端末側記憶部709に記憶する(S1114)。後に端末装置701への認証が要求された際に、S1118において、端末側乱数変化部710は、端末側記憶部709に記憶した表示用乱数と背景用乱数配列の変換を実行する。
一方、図24に示すようにS1102において端末装置701は、受け付けた認証要求が自分(端末装置701)に対するものである場合には、端末側記憶部709に乱数組とこれに対する入力数値が記憶されているか(認証成功の場合にS1114において記憶したもの)をチェックする(S1117)。ここで、端末側記憶部709に乱数組とこれに対する入力数値とが記憶されていない場合には、端末装置701は、サーバ装置713に対して端末側送信部7021を介して、ユーザIDを含む認証要求を送信する(S1103)。以降前述したサーバ装置713による認証が行われる。
次に、端末装置701が認証の判断をする場合を説明する。図24のS1117において、端末側記憶部709上に乱数組とこれに対する入力数値が記憶されている場合には(S1114で記憶された場合)、端末側乱数変化部710は、端末側記憶部709上のこれらの数値を変換し(変化させ)、変化後の表示用乱数及び変化後の背景用乱数配列(変化後乱数)から、新たな入力数値(変化後対応情報)を算出する。そして、端末側記憶部709に、乱数変化後の表示用乱数、乱数変化後の背景用乱数配列、新たな入力数値を記憶させる(S1118)。次に、端末側記憶部709が記憶している変換後の乱数組(乱数変化後の乱数組)のセットの中から、乱数組を1つ使って端末側表示部703に乱数変化後の表示用乱数を表示するとともに、乱数変化後の背景用乱数配列に基づいて端末側背景パターン決定部704により決定された背景パターン上にパスワード候補を表示する(S1119)。この表示は、図27で説明した認証画面801と同様である。すなわち、変化後の乱数組を用いて図27に示した認証画面801と同様の画面(変換方法画面)を表示し、つぎのように入力値(受付対応情報)を受け付ける。すなわち、乱数組を使って端末側表示部703に表示した表示用乱数に対して、ユーザが入力した入力数値(受付対応情報)を端末側入力部705から受付ける(S1120)。端末側記憶部709に記憶されている全ての乱数組を使って端末側表示部703に乱数を表示したかをチェックし(S1121)、まだ使われていない乱数組がある場合にはS1118からの処理を繰り返す。一方、全ての乱数組を使って表示をした場合には、端末側再認証判断部711は、端末側入力部705から受付けた全ての入力数値と、端末側記憶部709に記憶された全ての新たな入力数値とが一致するかをチェックし(S1122)、一致する場合には、端末側表示部703に認証の成功を表示し(S1123)、認証処理を終了する。一方、端末側入力部705から受け付けた入力数値と、端末側記憶部709が記憶する変化後の入力値とが一致しない場合には、端末側表示部703に認証の失敗を表示し(S1124)、認証処理を終了する。
なお、本実施の形態では、S1118において、乱数組と入力数値とを変換する(変化させる)こととしている。しかし、端末側記憶部709に記憶されている表示用乱数、背景用乱数配列、入力数値を変換することなくそのまま用いて、端末側入力部705から入力値(再認証対応情報)を受け付けて、端末側再認証判断部711が端末装置701に対するユーザ認証を行うようにしてもよい。
図29は、S1118において、端末側乱数変化部710で実行される変換処理を示すフローチャートである。まず、端末側記憶部709から未変換の表示用乱数DispRand[i]と背景用乱数配列BGRand[i][10]と、これに対する入力数値Ans[i]の1組を取り出し(S1301)、選択された背景パターンの番号mとして次の(式14)を満たすmを求める(S1302)。ここで、入力数値Ans[i]は、S1114で端末側記憶部709に記憶された入力値(認証画面801の入力フィールドに入力され、S1114において端末側記憶部709に記憶された8桁の数値)のうち、先頭からi番目の応答値である。
(DispRand[i]/109−m)%10=Ans[i] (式14)
次に、新しい表示用乱数DispRand’[i]として、10桁の乱数で各桁の数字が重複のない乱数を生成する(S1303)。次に、次の認証時に入力を期待する入力数値Ans’[i]として1桁の乱数を生成する(S1304)。次に、次の認証で選択されることを期待する背景パターンの番号m’として次の(式15)を満たすm’を求める(S1305)。
(DispRand’[i]/109−m’)%10=Ans’[i] (式15)
次に、次の認証で使用する背景用乱数配列BGRand’[i]の要素として10桁の乱数で各桁の数字が重複のない乱数R’を生成する(S1306)。次に、新しく生成した背景用乱数配列の要素R’について要素R’の中のm’の数字の桁が、記憶していた背景用乱数配列BGRand[i]の要素Rの中のmの数字の桁に一致するまで、次の(演算1)により、要素R’の数字を左に巡回させ更新する(S1307)。
(R%10)×10+R/10 (演算1)
要素R’の中のm’の数値の桁が要素Rのmの数値の桁に一致するかを確認するには、具体的には、まず、記憶していた背景用乱数配列BGRand[i]の1つの要素Rについて次の(式16)を満たすnを求める。
(R/10)%10=m (式16)
さらに、このnについて次の(式17)が成り立つかを確認する。
(R’/10)%10=m’ (式17)
成り立たない場合には、以下の(演算2)により要素R’の数字を左に巡回させ更新する(S1307)。
(R’%10)×10+R’/10 (演算2)
次に、次の端末装置701による認証で使用する背景用乱数配列BGRand’[i]の全ての要素を生成したかをチェックし、まだ全ての要素を生成していない場合には、S1306からの処理を繰り返す(S1308)。全ての要素を生成した場合には、変換済のデータとして新しく生成した表示用乱数DispRand’[i]と背景用乱数配列BGRand’[i]とこれらに対して期待する入力数値Ans’[i]の組を端末側記憶部709に記憶する(S1309)。次に、前回の認証で記憶した全ての乱数組について上記の変換を実施したかをチェックし(S1310)、全ての乱数組について変換処理を実施していれば終了し、まだ未変換のものがあればS1301からの処理を繰り返す。
本実施の形態では、S1109で述べたように、ユーザ認証を行う際にハッシュ値を生成する乱数として1番目の表示用乱数を使用したが、乱数としてはこれに限らず、認証要求に対してサーバ装置713から端末装置701に渡す乱数の中のいずれか、あるいはこれらを変換した乱数を使用することができる。
以上のように、実施の形態3に係る認証システムでは、背景パターンを用いてパスワードに相当する応答値を入力するので、パスワードの秘密漏洩を防止することができる。また、パスワードに相当する入力値は、背景パターンを見て入力するためユーザ認証における入力が容易である。
以上のように、実施の形態3に係る端末装置701は、サーバ装置との認証が成功した際に認証に使用した表示用乱数と背景用乱数配列とこれに対しての応答値を端末側記憶部709に記憶させることで端末装置701単体での再認証が可能となる。このためサーバ装置713の認証の判断を待つことなく端末装置701単体での再認証か可能となるので迅速にユーザの再認証を行うことができる。
以上のように、端末装置単体での再認証においては、端末側乱数変化部が端末側記憶部709に記憶された表示用乱数と背景用乱数配列とこれに対しての応答値を変化させたうえで認証を行うので、秘密の漏洩を防止することができる。
実施の形態3に係る認証システムは、ユーザが利用する端末装置と、前記端末装置と通信を行ってユーザに対するユーザ認証を行う認証装置(サーバ装置)とを有する認証システムであって、前記端末装置は、前記認証装置との通信を行う端末側通信部と、複数の表示用乱数を順に表示するとともに、パスワードを構成する記号と対応関係にある記号を含む複数の参照記号から構成される参照記号群を併せて表示可能であり、参照記号群を表示する場合に、表示用乱数の桁との対応関係を示す付加要素を各参照記号に付加した参照記号群を表示する端末側表示部と、付加要素用乱数から参照記号群が表示される際の各参照記号の付加要素を決定する端末側付加要素決定部と、ユーザのキー入力を受付ける端末側入力部と、乱数を生成する端末側乱数生成部と、端末側入力部から入力されたパスワードと端末側乱数生成部で生成した表示用乱数から所定の演算により認証情報S1と認証情報S2と認証情報S3との3つの認証情報を生成する端末側認証情報生成部と、認証情報S2を記憶する端末側記憶部と、表示部に表示用乱数と参照記号群を表示する際に使用した表示用乱数と付加要素用乱数とこれらに対する端末側入力部からの応答値と認証情報S2と認証情報S3とから認証情報S1を求めてさらにこの認証情報S1と表示用乱数から端末側認証データを生成する端末側認証データ生成部とを有し、ユーザ登録の際に、前記端末側入力部から入力されたパスワードに関して前記端末側認証情報生成部より得られる認証情報S1及び認証情報S3を端末側通信部を介して前記認証装置に送信するとともに認証情報S2を前記端末側記憶部に記憶し、
ユーザ認証の際に、前記認証装置から複数の表示用乱数と付加要素用乱数を受信し、表示用乱数の桁との対応関係を示す付加要素を付加要素用乱数に応じて各参照記号に付加した参照記号群を乱数と併せて前記端末側表示部に表示し、これら乱数に対して入力された応答値と認証情報S2と認証情報S3と表示用乱数と付加要素用乱数から前記端末側認証データ生成部により生成される端末側認証データを前記端末側通信部を介して前記認証装置に送信し、前記認証装置は、前記端末装置との通信を行うサーバ側通信部と、複数の乱数と乱数群を生成するサーバ側乱数生成部と、認証情報S1と認証情報S3とを記憶するサーバ側認証情報記憶部と、複数の表示用乱数と認証情報S1とから所定の演算により認証データを生成するサーバ側認証データ生成部と、端末側認証データとサーバ側認証データとの2つの認証データが一致するか否かを判断する認証判断部とを有し、ユーザ登録の際に、前記端末装置から受信した認証情報S1と認証情報S3とをサーバ側認証情報記憶部に記憶し、ユーザ認証の際に、前記サーバ側乱数生成部で生成した複数の表示用乱数と付加要素用乱数とサーバ側認証情報記憶部に記憶する認証情報S3とを前記端末装置に送信し、これに対して前記端末装置から受信した端末側認証データと前記サーバ側認証データ生成部により生成されるサーバ側認証データとが一致するか否かを前記サーバ側認証判断部により判断することで利用者認証の可否判断をすることを特徴とする。
実施の形態3に係る認証システムは、前記端末装置は、表示用乱数ごとに表示用乱数と表示用乱数に対応する付加要素用乱数と応答値との組を記憶する端末側記憶部と、端末側入力部より入力された応答値と端末側記憶部に記憶する応答値を用いてユーザの再認証の可否判断を行う端末側再認証判断部を有し、ユーザ登録の際に、前記端末側入力部から入力されたパスワードに関して前記端末側認証情報生成部より得られる認証情報S1と認証情報S3を端末側通信部を介して前記認証装置に送信するとともに認証情報S2を前記端末側記憶部に記憶し、ユーザ認証の際に、前記認証装置から認証情報S3と複数の乱数と乱数群を受信し、認証装置との認証が成功した場合に、認証情報S3を消去するとともに認証に使用した複数の表示用乱数を付加要素用乱数とこれらに対して入力された応答値との組みを端末側記憶部に記憶し、端末装置単体でユーザの再認証を行う際に、前記端末側記憶部に記憶された複数の表示用乱数と複数の付加要素用乱数を用いて、表示用乱数を順に表示するともに、前記端末側付加要素決定部により表示用乱数ごとに決定された各参照記号の付加要素を各参照記号に付加して参照記号群を表示し、前記端末側入力部から入力された応答値と、前記端末側記憶部に記憶された応答値とを前記端末側再認証判断部で比較してユーザの再認証の可否判断を行い、 前記認証装置は、認証情報S1と認証情報S3を記憶するサーバ側認証情報記憶部を有しユーザ登録の際に、前記端末装置から受信した認証情報S1と認証情報S3をサーバ側認証情報記憶部に記憶し、ユーザ認証の際に、前記サーバ側乱数生成部で生成した複数の表示用乱数と付加要素用乱数を認証情報S3とともに前記端末装置に送信することを特徴とする。
実施の形態3に係る認証システムは、前記端末装置において、前記端末側記憶部に記憶された複数の表示用乱数と複数の付加要素用乱数と応答値との組を用いて、すくなくとも一部の複数の表示用乱数と複数の付加要素用乱数について、それぞれの乱数の内容を変化させるとともに、乱数変化後の表示用乱数ごとに、ユーザ認証の可否判断に用いる認証値を算出する端末側乱数変化部と端末側入力部より入力された応答値と前記端末側乱数変化部により算出された認証値を用いてユーザ認証の可否判断を行う端末側再認証判断部とを有し、端末装置単体でのユーザの再認証を行う際に、端末装置単体でのユーザの再認証を行う際に、端末側乱数変化部で変化させた表示用乱数と付加要素用乱数と応答値の組を用いて再認証を行うこと特徴とする。
本実施の形態3に係る認証システムは、前記端末装置において、前記端末側表示部は、参照記号群を表示する場合に、付加要素として、乱数の桁との対応関係を示す背景パターンを各参照記号に付加して参照記号群を表示することが可能であり、前記認証装置において、前記サーバ側乱数生成部は、前記端末装置において各参照記号の背景パターンを決定する際に用いられる乱数をパスワードの桁ごとに付加要素用乱数として生成し、前記端末装置において、前記端末側付加要素決定部は、表示用乱数ごとに、それぞれの表示用乱数に対応づけられた付加要素用乱数を用いて、参照記号群が表示される際の各参照記号の背景パターンを決定し、前記端末側表示部は、前記端末側通信部により受信された複数の表示用乱数を順に表示するとともに、前記端末側付加要素決定部により表示用乱数ごとに決定された各参照記号の背景パターンを各参照記号に付加して参照記号群を表示することを特徴とする。
本実施の形態3に係る認証システムは、前記端末装置において、前記端末側記憶部が端末装置から着脱可能な不揮発性メモリからなることを特徴とする。
本実施の形態3に係る認証システムは、ユーザが利用する端末装置と、前記端末装置と通信を行ってユーザに対するユーザ認証を行う認証装置とを有する認証方式であって、前記端末装置は、ユーザ登録の際に、乱数を生成する乱数生成処理と、ユーザのパスワード入力を受付ける入力処理と、入力処理で入力されたパスワードと乱数生成処理により生成された乱数から所定の演算により認証情報S1と認証情報S2の2つの認証情報を生成する認証情報生成処理と、認証情報生成処理により得られる認証情報S1を前記認証装置に送信する送信処理と、認証情報S2を前記端末側記憶部に記憶する記憶処理を行い、ユーザ認証の際に、ユーザのパスワード入力を受付ける入力処理と、前記認証装置から乱数を受信する受信処理と、入力処理で受付けたパスワードと受信処理により受信した乱数から端末側認証データを生成する認証データ生成処理と、認証データ生成処理により生成した端末側認証データを前記認証装置に送信する送信処理を行い、前記認証装置は、ユーザ登録の際に、前記端末装置から認証情報S1を受信する受信処理と、受信処理で受信した認証情報S1を記憶する認証情報記憶処理を行い、ユーザ認証の際に、乱数を生成する乱数生成処理と、乱数生成処理で生成した乱数を前記端末装置に送信する送信処理と、送信した乱数に対して前記端末装置から端末側認証データを受信する受信処理と、認証データを生成する認証データ生成処理と、受信処理で受信した端末側認証データと認証データ生成処理により生成したサーバ側認証データとが一致するか否かをにより利用者認証の可否判断を行う認証判断処理を行うことを特徴とする。
実施の形態1に係る認証システムの構成を示すブロック図である。 実施の形態1に係る端末装置のユーザ登録時の動作を示すフローチャートである。 実施の形態1に係るサーバ装置のユーザ登録時の動作を示すフローチャートである。 実施の形態1に係る端末装置とサーバ装置とのやり取りを示すフローチャートである。 アスキーコード表の一部を示す図である。 実施の形態1に係るパスワード変換テーブルの例を示す図である。 実施の形態1に係る端末装置のユーザ認証時の動作を示すフローチャートである。 実施の形態1に係るサーバ装置のユーザ認証時の動作を示すフローチャートである。 実施の形態1に係る端末装置とサーバ装置とのユーザ認証時のやり取りを示すフローチャートである。 実施の形態2に係る認証システムの構成を示すブロック図を示す。 実施の形態2に係る端末装置のユーザ登録時の動作を示すフローチャートである。 実施の形態2に係るサーバ装置のユーザ登録時の動作を示すフローチャートである。 実施の形態2に係る端末装置とサーバ装置とのユーザ登録時のやり取りを示すフローチャートである。 実施の形態2に係るパスワード登録画面を示す図である。 実施の形態2に係る端末装置のユーザ認証時の動作を示すフローチャートである。 実施の形態2に係るサーバ装置のユーザ認証時の動作を示すフローチャートである。 実施の形態2に係る端末装置とサーバ装置とのユーザ認証時のやり取りを示すフローチャートである。 実施の形態2に係る認証画面を示す図である。 実施の形態3に係る認証システムの構成を示すブロック図である。 実施の形態3に係る端末装置のユーザ登録時の動作を示すフローチャートである。 実施の形態3に係るサーバ装置のユーザ登録時の動作を示すフローチャートである。 実施の形態3に係る端末装置とサーバ装置とのユーザ登録時のやり取りを示すフローチャートである。 実施の形態3に係るパスワード変換テーブルの例を示す図である。 実施の形態3に係る端末装置のユーザ認証時の動作を示すフローチャートである。 実施の形態3に係るサーバ装置のユーザ認証時の動作を示すフローチャートである。 実施の形態3に係る端末装置とサーバ装置とのユーザ認証時のやり取りを示すフローチャートである。 実施の形態3に係る認証画面を示す図である。 実施の形態3に係る認証画面と乱数組との関係を示す図である。 端末側乱数変化部の動作を示すフローチャートである。 従来の認証方法を示す図である。
符号の説明
101 端末装置、102 端末側通信部、103 端末側表示部、104 端末側入力部、105 端末側乱数生成部、106 端末側認証情報生成部、107 端末側記憶部、108 端末側認証データ生成部、109 サーバ装置、110 サーバ側通信部、111 サーバ側乱数生成部、112 サーバ側認証情報記憶部、113 サーバ側認証データ生成部、114 サーバ側認証判断部、130 アスキーコード表示、140 パスワード変換テーブル、1021 端末側送信部、1022 端末側受信部、1101 サーバ側送信部、1102 サーバ側受信部、301 端末装置、302 端末側通信部、303 端末側表示部、304 端末側入力部、305 端末側乱数生成部、306 端末側認証情報生成部、307 端末側記憶部、308 端末側認証データ生成部、309 サーバ装置、310 サーバ側通信部、311 サーバ側乱数生成部、312 サーバ側認証情報記憶部、313 サーバ側認証データ生成部、314 サーバ側認証判断部、3021 端末側送信部、3022 端末側受信部、3101 サーバ側送信部、3102 サーバ側受信部、501 パスワード登録画面、502 パスワード文字配列部、503 数字パスワード配列部、504 入力フィールド、601 認証画面、602 パスワード文字配列部、603 表示用乱数部、604 入力フィールド、701 端末装置、702 端末側通信部、703 端末側表示部、704 端末側背景パターン決定部、705 端末側入力部、706 端末側乱数生成部、707 端末側認証情報生成部、708 端末側認証データ生成部、709 端末側記憶部、710 端末側乱数変化部、711 端末側再認証判断部、712 ICカード、713 サーバ装置、714 サーバ側通信部、7141 サーバ側送信部、7142 サーバ側受信部、715 サーバ側乱数生成部、716 サーバ側認証情報記憶部、717 サーバ側認証データ生成部、718 サーバ側認証判断部、730 パスワード変換テーブル、7021 端末側送信部、7022 端末側受信部、7141 サーバ側送信部、7142 サーバ側受信部、801 認証画面、802 パスワード候補表示部、803 乱数表示部、804,804a,804b,804c,804d,804e,804f,804g,804h 入力フィールド、901 ユーザ携帯装置、902 ユーザ装置、903 認証センタ。

Claims (6)

  1. ユーザから認証要求を受け付ける端末装置と、ユーザの所有する原情報に基づいて生成された第1認証情報と第2認証情報と第3認証情報とのうち第1認証情報と第3認証情報とを記憶するとともに前記端末装置から認証要求を受信して複数の乱数を生成し生成した複数の乱数と記憶した第3認証情報とを前記端末装置に送信することによりユーザの認証を行うサーバとを備えた認証システムにおいて、
    前記端末装置は、
    第2認証情報を記憶する端末側記憶部と、
    前記サーバが送信する複数の乱数と前記サーバが記憶する第3認証情報とを受信する端末側受信部と、
    前記端末側受信部が受信した複数の乱数を用いて、原情報から原情報に対応する対応情報への変換方法を示す変換方法画面を表示する端末側表示部と、
    前記端末側表示部が表示する変換方法画面に示された変換方法に従って変換された対応情報の入力を受け付ける端末側入力部と、
    前記端末側入力部の受け付けた対応情報と前記端末側記憶部が記憶する第2認証情報と前記端末側受信部が受信した第3認証情報と前記端末側受信部が受信した複数の乱数とを用いて認証用データを生成し、生成した認証用データと前記端末側受信部が受信した複数の乱数のうち少なくとも一つの乱数とを用いてユーザの認証に使用する端末側認証データを生成する端末側認証データ生成部と、
    前記端末側認証データ生成部が生成した端末側認証データを前記サーバに送信する端末側送信部と
    を備え、
    前記サーバは、
    第1認証情報と第3認証情報とを記憶するサーバ側記憶部と、
    複数の乱数を生成するサーバ側乱数生成部と、
    前記サーバ側乱数生成部が生成した複数の乱数と前記サーバ側記憶部が記憶した第3認証情報とを前記端末装置へ送信するサーバ側送信部と、
    前記サーバ側乱数生成部が生成した複数の乱数のうち少なくとも一つの乱数と前記サーバ側記憶部が記憶する第1認証情報とを用いてユーザの認証に使用するサーバ側認証データを生成するサーバ側認証データ生成部と、
    前記端末装置が送信する端末側認証データを受信するサーバ側受信部と、
    前記サーバ側受信部が受信した端末側認証データと前記サーバ側認証データ生成部が生成したサーバ側認証データとを比較して認証の成否を判断するサーバ側認証判断部と
    を備えたことを特徴とする認証システム。
  2. ユーザの所有する原情報に基づいて生成された第1認証情報と第2認証情報と第3認証情報とのうち第1認証情報と第3認証情報とを記憶するとともに複数の乱数を生成してユーザの認証を行い認証の成否を送信するサーバと通信する端末装置において、
    第2認証情報を記憶する端末側記憶部と、
    前記サーバが生成した複数の乱数と前記サーバが記憶する第3認証情報とを受信する端末側受信部と、
    前記端末側受信部が受信した複数の乱数を用いて、原情報から原情報に対応する対応情報への変換方法を示す変換方法画面を表示する端末側表示部と、
    前記端末側表示部が表示する変換方法画面に示された変換方法に従って変換された対応情報の入力を受け付ける端末側入力部と、
    前記端末側入力部の受け付けた対応情報と前記端末側記憶部が記憶する第2認証情報と前記端末側受信部が受信した第3認証情報と前記端末側受信部が受信した複数の乱数とを用いて認証用データを生成し、生成した認証用データと前記端末側受信部が受信した複数の乱数のうち少なくとも一つの乱数とを用いてユーザの認証に使用する端末側認証データを生成する端末側認証データ生成部と、
    前記端末側認証データ生成部が生成した端末側認証データを前記サーバに送信する端末側送信部と
    を備えたことを特徴とする端末装置。
  3. 前記端末側受信部は、
    前記サーバから認証の成否を受信し、
    前記端末側記憶部は、
    前記端末側受信部の受信した認証の成否が認証成功の場合には対応情報と複数の乱数とを記憶し、
    前記端末側入力部は、
    ユーザの再認証を要求するユーザ再認証要求を受け付け、
    前記端末側表示部は、
    前記端末側入力部がユーザ再認証要求を受け付けた場合に、前記端末側記憶部に記憶された複数の乱数を用いて、原情報から原情報に対応する対応情報への変換方法を示す変換方法画面を表示し、
    前記端末側入力部は、
    変換方法画面に示された変換方法に従って変換された対応情報を再認証対応情報として受け付け、
    前記端末装置は、さらに、
    前記端末側入力部が受け付けた再認証対応情報と前記端末側記憶部が記憶した対応情報とを比較してユーザ再認証要求に対する認証の成否の判断を行う端末側再認証判断部を備えたことを特徴とする請求項記載の端末装置。
  4. 前記端末装置は、さらに、
    前記端末側記憶部が記憶した対応情報と複数の乱数とを変化させて変化後乱数と変化後対応情報として生成する端末側乱数変化部を備え、
    前記端末側表示部は、
    変化後乱数を用いて変換方法画面を表示し、
    前記端末側入力部は、
    変化後乱数を用いて表示された変換方法画面に示された変換方法に従って変換された対応情報を受付対応情報として受け付け、
    前記端末側再認証判断部は、
    変化後対応情報と受付対応情報とを比較してユーザ再認証要求に対する認証の成否を判断することを特徴とする請求項記載の端末装置。
  5. 前記端末側記憶部は、
    着脱可能な不揮発性メモリを含むことを特徴とする請求項記載の端末装置。
  6. 前記原情報は、
    ユーザの正当性を示すパスワードであることを特徴とする請求項記載の認証システム。
JP2004015638A 2004-01-23 2004-01-23 認証システム及び端末装置 Expired - Fee Related JP4540353B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004015638A JP4540353B2 (ja) 2004-01-23 2004-01-23 認証システム及び端末装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004015638A JP4540353B2 (ja) 2004-01-23 2004-01-23 認証システム及び端末装置

Publications (2)

Publication Number Publication Date
JP2005208996A JP2005208996A (ja) 2005-08-04
JP4540353B2 true JP4540353B2 (ja) 2010-09-08

Family

ID=34901052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004015638A Expired - Fee Related JP4540353B2 (ja) 2004-01-23 2004-01-23 認証システム及び端末装置

Country Status (1)

Country Link
JP (1) JP4540353B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO324315B1 (no) * 2005-10-03 2007-09-24 Encap As Metode og system for sikker brukerautentisering ved personlig dataterminal
KR100969196B1 (ko) 2007-10-05 2010-07-09 인하대학교 산학협력단 웹 환경에서의 안전한 사용자 세션 관리 방법 및 이를수행하는 프로그램이 기록된 기록매체
KR101133544B1 (ko) * 2009-07-03 2012-04-05 한국인터넷진흥원 알파-뉴메릭 매트릭스를 이용한 패스워드 입력 시스템 및 방법
KR101059798B1 (ko) 2009-07-03 2011-08-26 한국인터넷진흥원 두개의 알파-뉴메릭 매트릭스를 이용한 패스워드 입력 시스템 및 방법
JP5665592B2 (ja) * 2010-06-29 2015-02-04 株式会社オンサイト サーバ装置並びにコンピュータシステムとそのログイン方法
JP5705165B2 (ja) * 2012-05-30 2015-04-22 Necパーソナルコンピュータ株式会社 入力情報認証装置、サーバ装置、入力情報認証システムおよび装置のプログラム
JP2015179382A (ja) * 2014-03-19 2015-10-08 株式会社Nttドコモ 近距離通信デバイス、認証情報管理方法、及び認証システム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171909A (ja) * 1996-10-05 1998-06-26 Samsung Electron Co Ltd 使用者認証装置及びその方法
JPH11282982A (ja) * 1998-03-31 1999-10-15 Oki Electric Ind Co Ltd 利用者カード、通信端末機、通信サーバ、通信システム、および、通信システムの利用者認証方法
JP2001005785A (ja) * 1999-06-23 2001-01-12 Makoto Matsumoto 電子認証装置
JP2001056798A (ja) * 1999-08-18 2001-02-27 Toyo Commun Equip Co Ltd 一方向性関数を用いたカード認証システム
JP2002328898A (ja) * 2001-04-27 2002-11-15 Mitsubishi Electric Information Systems Corp ユーザ認証サーバ及びユーザ認証方法及び利用者端末及びユーザ認証要求方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093680A1 (en) * 2001-11-13 2003-05-15 International Business Machines Corporation Methods, apparatus and computer programs performing a mutual challenge-response authentication protocol using operating system capabilities

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10171909A (ja) * 1996-10-05 1998-06-26 Samsung Electron Co Ltd 使用者認証装置及びその方法
JPH11282982A (ja) * 1998-03-31 1999-10-15 Oki Electric Ind Co Ltd 利用者カード、通信端末機、通信サーバ、通信システム、および、通信システムの利用者認証方法
JP2001005785A (ja) * 1999-06-23 2001-01-12 Makoto Matsumoto 電子認証装置
JP2001056798A (ja) * 1999-08-18 2001-02-27 Toyo Commun Equip Co Ltd 一方向性関数を用いたカード認証システム
JP2002328898A (ja) * 2001-04-27 2002-11-15 Mitsubishi Electric Information Systems Corp ユーザ認証サーバ及びユーザ認証方法及び利用者端末及びユーザ認証要求方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体及びプログラム

Also Published As

Publication number Publication date
JP2005208996A (ja) 2005-08-04

Similar Documents

Publication Publication Date Title
JP5764203B2 (ja) パスワードキーの移動値を利用するパスワード安全入力システム及びそのパスワード安全入力方法
US11468157B2 (en) Method for authenticating a user by user identifier and associated graphical password
WO2004025488A1 (ja) 認証システム及び認証装置及び端末装置及び認証方法
KR20040014129A (ko) 패스워드 입력을 위한 사용자 인터페이스와 패스워드 입력방법 그리고 이를 이용한 패스워드 시스템
JP2000315999A (ja) 暗号鍵生成方法
CN103297391A (zh) 图形化动态密码输入及验证方法
CN111882719A (zh) 一种基于动态密码的密码防盗方法、装置及智能锁具
CN108868367A (zh) 智能锁装置
JP4540353B2 (ja) 認証システム及び端末装置
KR101474924B1 (ko) 다이얼을 이용한 잠금 시스템 및 방법
JP4550513B2 (ja) パスワード生成装置、パスワード生成方法、パスワード生成システム、icカード、認証装置、認証方法及び認証システム
KR100927280B1 (ko) 페이크 라운드를 이용한 보안 문자열 노출 방지 방법
Salman et al. A graphical PIN entry system with shoulder surfing resistance
JP4523944B2 (ja) パスワード生成装置及びicカード及び認証装置
JP5705169B2 (ja) 入力情報認証装置、サーバ装置、入力情報認証システムおよび装置のプログラム
JP5705177B2 (ja) 入力情報認証装置、サーバ装置、入力情報認証システムおよび装置のプログラム
KR101467247B1 (ko) 그래픽 기반 일회성 패스워드 인증 시스템 및 방법
KR101063523B1 (ko) 2개 이상의 문자로 구성되는 사용자 인증 패스워드를 이용한 사용자 인증 방법
KR20080011362A (ko) 그래픽 오티피의 해킹 방지 방법
JP5774461B2 (ja) 入力情報認証装置、サーバ装置、入力情報認証システムおよび装置のプログラム
EP3594838A1 (en) Method for recovering a secret key securely stored in a secure element
JP5705165B2 (ja) 入力情報認証装置、サーバ装置、入力情報認証システムおよび装置のプログラム
JP4793751B2 (ja) パスワード認証装置、方法、プログラム及び携帯電話装置
US20230057862A1 (en) Fraud resistant passcode entry system
JP5805034B2 (ja) 入力情報認証装置および装置のプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100526

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100622

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees