JP2013134530A - 認証システム、認証方法及び認証プログラム - Google Patents

認証システム、認証方法及び認証プログラム Download PDF

Info

Publication number
JP2013134530A
JP2013134530A JP2011282835A JP2011282835A JP2013134530A JP 2013134530 A JP2013134530 A JP 2013134530A JP 2011282835 A JP2011282835 A JP 2011282835A JP 2011282835 A JP2011282835 A JP 2011282835A JP 2013134530 A JP2013134530 A JP 2013134530A
Authority
JP
Japan
Prior art keywords
authentication
response value
server
terminal
unit
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.)
Pending
Application number
JP2011282835A
Other languages
English (en)
Inventor
Katsuki Inamura
勝樹 稲村
Makoto Nishikawa
真 西川
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2011282835A priority Critical patent/JP2013134530A/ja
Publication of JP2013134530A publication Critical patent/JP2013134530A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】設備コストの増大を抑制し、かつ、安全性を高められる認証システム、認証方法及び認証プログラムを提供すること。
【解決手段】認証システム1において、ユーザ端末10は、認証サーバから受信したチャレンジ用の乱数及び第1の認証コードによりレスポンス値を生成した後、第2の認証コードにより暗号化レスポンス値を生成して認証サーバ20へ送信する。認証サーバ20は、暗号化レスポンス値を復号した第1の検証用レスポンス値と、乱数及び第1の認証コードにより生成した第2の検証用レスポンス値とを比較した認証結果をユーザ端末10へ通知する。
【選択図】図1

Description

本発明は、通信サービスにおける認証システム、認証方法及び認証プログラムに関する。
従来、ユーザは、端末からネットワークを介して様々な通信サービスを利用することができる。このとき、他のユーザや端末等、契約で規定されていないエンティティでサービスが利用されることは、ユーザにとっては、なりすましや乗っ取りの観点で、サービス提供者にとっては、サービスの無断利用の観点で望ましくない。
そこで、ユーザが通信サービスを利用する際には、ユーザ又は端末の正当性を認証するための認証プロセスが実行されることが多い(例えば、特許文献1及び非特許文献1参照)。
特開平5−323874号公報
PPP Challenge Handshake Authentication Protocol (CHAP), RFC 1994
ところで、通信サービスにおける上述の認証プロセスでは、ユーザ又は端末等に対応する1つの認証コード(例えば、パスワード、生体情報、端末情報等)の正当性を認証する。したがって、さらに安全性を高めるために複数の認証コードによる認証を行う場合、認証プロセスを複数回行う必要がある。
しかしながら、通信機器は、通常、1回の認証プロセスのみに対応しているため、複数回の認証プロセスを行うプロトコルを組み込むためには、認証サーバの設置の他に通信機器の大幅な改修が必要となり、コストが増大する。
そこで、通信機器の改修を行わないためには、例えば、ユーザ認証と生体認証、又はユーザ認証と端末認証等、2種類の認証を行う場合、認証サーバは、一方の認証でユーザをログインさせた後、改めて他方の認証を行う。しかしながら、この場合、認証サーバは、2種類の認証が完了する前に、少なくとも一方のログインを認めているので、一方の認証を通過した時点で攻撃を許してしまうこととなり、セキュリティ強度が十分でなかった。
本発明は、設備コストの増大を抑制し、かつ、安全性を高められる認証システム、認証方法及び認証プログラムを提供することを目的とする。
本発明では、以下のような解決手段を提供する。
(1)端末からの要求に応じてサーバが前記端末のユーザを認証する認証システムであって、前記端末は、前記サーバに対して認証要求を送信する認証要求部と、前記認証要求に応じて前記サーバから送信される乱数を受信する乱数受信部と、前記乱数に対して、第1の認証コードを用いた所定の演算によりレスポンス値を生成する第1の演算部と、前記レスポンス値に対して、第2の認証コードを用いた暗号化処理により暗号化レスポンス値を生成する暗号化部と、前記暗号化レスポンス値を、前記端末のユーザを識別するIDと共に、前記サーバへ送信するレスポンス送信部と、前記サーバから、前記暗号化レスポンス値に基づく認証結果を受信する結果受信部と、を備え、前記サーバは、前記IDに関連付けて、予め前記第1の認証コード及び前記第2の認証コードを記憶する記憶部と、前記端末から前記認証要求を受信したことに応じて、前記乱数を生成する乱数生成部と、前記乱数を前記端末へ送信する乱数送信部と、前記端末から前記ID及び前記暗号化レスポンス値を受信したことに応じて、当該IDに関連付けられている前記第1の認証コード及び前記第2の認証コードを前記記憶部から抽出する認証コード抽出部と、前記暗号化レスポンス値に対して、前記第2の認証コードを用いた復号処理により第1の検証用レスポンス値を生成する復号部と、前記乱数に対して、前記第1の認証コードを用いた前記所定の演算により第2の検証用レスポンス値を生成する第2の演算部と、前記復号部により生成された前記第1の検証用レスポンス値と前記第2の演算部により生成された前記第2の検証用レスポンス値とが等しいか否かを判定する判定部と、前記判定部により前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しいと判定された場合、認証に成功したことを示す認証結果を前記端末へ送信し、前記判定部により前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しくないと判定された場合、認証に失敗したことを示す認証結果を前記端末へ送信する結果送信部と、を備える認証システム。
このような構成によれば、複数の認証コードのいずれか1つでも違っていれば認証は成功しないので、たとえ、認証コードのいずれかが漏洩したとしても、全てが漏洩したのでなければ、認証システムは、不正認証を防止できる。このとき、認証システムは、第1の認証コード及び第2の認証コードを1回の認証プロセス内で使用し、複数の認証を同一のレイヤで同時に行うので、認証の時間差は生じず、セキュリティ強度の差が生じない。この結果、認証システムは、単一の認証に比べて、より安全に通信サービスを提供できる。
また、暗号化レスポンス値は、ビット列であり、従来の認証プロセスにおけるレスポンスと見かけ上は相違しないので、送受信されるデータパケットは、既存の認証プロトコルと同様に扱うことができる。したがって、認証システムは、通信機器の改修を必要とせず、設備コストの増大を抑制できる。
(2)前記サーバは、第1のサーバ及び第2のサーバ(プロキシサーバ)で構成され、前記第1のサーバは、前記IDに関連付けて、予め前記第1の認証コードを記憶する第1の記憶部と、前記乱数生成部と、前記乱数送信部と、前記ID及び前記第1の検証用レスポンス値を受信したことに応じて、当該IDに関連付けられている前記第1の認証コードを前記第1の記憶部から抽出する第1の認証コード抽出部と、前記第2の演算部と、前記判定部と、前記結果送信部と、を備え、前記第2のサーバは、前記IDに関連付けて、予め前記第2の認証コードを記憶する第2の記憶部と、前記端末から前記ID及び前記暗号化レスポンス値を受信したことに応じて、当該IDに関連付けられている前記第2の認証コードを前記第2の記憶部から抽出する第2の認証コード抽出部と、前記復号部と、前記復号部により生成された前記第1の検証用レスポンス値を、前記IDと共に前記第1のサーバへ通知する通知部と、を備える(1)に記載の認証システム。
このような構成によれば、認証システムにおける認証サーバの入出力データ及び機能は、従来の認証プロセスに用いられるものと同等である。したがって、認証システムは、従来の認証サーバの改修を抑えられる。
(3)前記第2の認証コードは、複数設けられており、前記暗号化部は、前記複数設けられている第2の認証コードを所定の順序で用いて暗号化処理を繰り返し実行し、前記復号部は、前記複数設けられている第2の認証コードを前記所定の順序の逆順で用いて復号処理を繰り返し実行する(1)又は(2)に記載の認証システム。
このような構成によれば、認証システムは、同時に認証できる認証コードの数を2種類に限定せず、3種類以上の認証コードに対応できるので、安全性を高められる。
(4)繰り返し実行される前記暗号化処理は、それぞれ異なる暗号化アルゴリズムが用いられる(3)に記載の認証システム。
このような構成によれば、認証システムは、複数の認証コードのそれぞれに対応して、それぞれ異なる暗号化アルゴリズムを採用して、安全性をさらに高めることができる。
(5)端末からの要求に応じてサーバが前記端末のユーザを認証する認証方法であって、前記サーバは、前記端末のユーザを識別するIDに関連付けて、予め第1の認証コード及び第2の認証コードを記憶する記憶部を備え、前記端末が、前記サーバに対して認証要求を送信する認証要求ステップと、前記サーバが、前記端末から前記認証要求を受信したことに応じて、乱数を生成する乱数生成ステップと、前記サーバが、前記乱数を前記端末へ送信する乱数送信ステップと、前記端末が、前記乱数を受信する乱数受信ステップと、前記端末が、前記乱数に対して、前記第1の認証コードを用いた所定の演算によりレスポンス値を生成する第1の演算ステップと、前記端末が、前記レスポンス値に対して、前記第2の認証コードを用いた暗号化処理により暗号化レスポンス値を生成する暗号化ステップと、前記端末が、前記暗号化レスポンス値を、前記IDと共に、前記サーバへ送信するレスポンス送信ステップと、前記サーバが、前記端末から前記ID及び前記暗号化レスポンス値を受信したことに応じて、当該IDに関連付けられている前記第1の認証コード及び前記第2の認証コードを前記記憶部から抽出する認証コード抽出ステップと、前記サーバが、前記暗号化レスポンス値に対して、前記第2の認証コードを用いた復号処理により第1の検証用レスポンス値を生成する復号ステップと、前記サーバが、前記乱数に対して、前記第1の認証コードを用いた前記所定の演算により第2の検証用レスポンス値を生成する第2の演算ステップと、前記サーバが、前記復号ステップにおいて生成された前記第1の検証用レスポンス値と前記第2の演算ステップにおいて生成された前記第2の検証用レスポンス値とが等しいか否かを判定する判定ステップと、前記サーバが、前記判定ステップにおいて前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しいと判定された場合、認証に成功したことを示す認証結果を前記端末へ送信し、前記判定ステップにおいて前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しくないと判定された場合、認証に失敗したことを示す認証結果を前記端末へ送信する結果送信ステップと、前記端末が、前記サーバから認証結果を受信する結果受信ステップと、を含む認証方法。
このような構成によれば、認証方法を認証システムが実行することにより、(1)と同様の効果が期待できる。
(6)端末からの要求に応じてサーバに前記端末のユーザを認証させるための認証プログラムであって、前記サーバは、前記端末のユーザを識別するIDに関連付けて、予め第1の認証コード及び第2の認証コードを記憶する記憶部を備え、前記端末が、前記サーバに対して認証要求を送信する認証要求ステップと、前記サーバが、前記端末から前記認証要求を受信したことに応じて、乱数を生成する乱数生成ステップと、前記サーバが、前記乱数を前記端末へ送信する乱数送信ステップと、前記端末が、前記乱数を受信する乱数受信ステップと、前記端末が、前記乱数に対して、前記第1の認証コードを用いた所定の演算によりレスポンス値を生成する第1の演算ステップと、前記端末が、前記レスポンス値に対して、前記第2の認証コードを用いた暗号化処理により暗号化レスポンス値を生成する暗号化ステップと、前記端末が、前記暗号化レスポンス値を、前記IDと共に、前記サーバへ送信するレスポンス送信ステップと、前記サーバが、前記端末から前記ID及び前記暗号化レスポンス値を受信したことに応じて、当該IDに関連付けられている前記第1の認証コード及び前記第2の認証コードを前記記憶部から抽出する認証コード抽出ステップと、前記サーバが、前記暗号化レスポンス値に対して、前記第2の認証コードを用いた復号処理により第1の検証用レスポンス値を生成する復号ステップと、前記サーバが、前記乱数に対して、前記第1の認証コードを用いた前記所定の演算により第2の検証用レスポンス値を生成する第2の演算ステップと、前記サーバが、前記復号ステップにおいて生成された前記第1の検証用レスポンス値と前記第2の演算ステップにおいて生成された前記第2の検証用レスポンス値とが等しいか否かを判定する判定ステップと、前記サーバが、前記判定ステップにおいて前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しいと判定された場合、認証に成功したことを示す認証結果を前記端末へ送信し、前記判定ステップにおいて前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しくないと判定された場合、認証に失敗したことを示す認証結果を前記端末へ送信する結果送信ステップと、前記端末が、前記サーバから認証結果を受信する結果受信ステップと、を実行させるための認証プログラム。
このような構成によれば、認証プログラムを認証システムに実行させることにより、(1)と同様の効果が期待できる。
本発明によれば、認証システムにおける設備コストの増大を抑制し、かつ、安全性を高められる。
第1実施形態に係る認証システムの機能構成を示すブロック図である。 第1実施形態に係る認証方法を示すシーケンス図である。 第2実施形態に係る認証システムの機能構成を示すブロック図である。 第2実施形態に係る認証方法を示すシーケンス図である。
<第1実施形態>
以下、本発明の第1実施形態について説明する。
本実施形態に係る認証システム1は、ユーザ端末10からの要求に応じて、認証サーバ20がユーザ端末10のユーザを認証するシステムである。
図1は、本実施形態に係る認証システム1が有するユーザ端末10(端末)及び認証サーバ20(サーバ)の機能構成を示すブロック図である。
ユーザ端末10は、制御部11と、記憶部12と、通信部13とを備え、さらに、図示しないが、情報処理装置として動作するために、操作部及び表示部等、各種ハードウェアを備えている。
制御部11は、ユーザ端末10の全体を制御する部分であり、記憶部12に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各種機能を実現している。制御部11は、CPU(Central Processing Unit)であってよい。なお、制御部11が備える各部の機能は後述する。
記憶部12は、ハードウェア群をユーザ端末10として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスク(HDD)であってよい。具体的には、記憶部12には、本実施形態の各種機能を制御部11に実行させるプログラムを記憶し、さらに、ユーザ端末10のユーザを識別するためのユーザ識別情報(ID)、及び複数の認証コード(W1、W2、・・・)を互いに関連付けて記憶してもよい。
通信部13は、ネットワークを介して所定のプロトコルにより、外部装置とデータ通信を行うネットワーク・アダプタである。通信部13は、認証サーバ20との間で通信を確立し、データを送受信する。
また、制御部11は、認証要求部111と、乱数受信部112と、ハッシュ演算部113(第1の演算部)と、暗号化部114と、レスポンス送信部115と、結果受信部116とを備える。
認証要求部111は、通信サービスを開始したいユーザからの指示入力に応じて、認証サーバ20に対してユーザ識別情報(ID)の認証要求を送信する。
乱数受信部112は、認証要求に応じて認証サーバから送信される乱数(R)を受信する。この乱数(R)は、CHAPにおけるチャレンジに相当するデータである。
ハッシュ演算部113は、乱数受信部112により受信した乱数(R)に対して、第1の認証コード(W1)を用いた所定の演算によりレスポンス値(Res)を生成する。具体的には、ハッシュ演算部113は、一方向性ハッシュ関数に第1の認証コード(W1)と乱数(R)とを入力し、レスポンス値(Res:=Hash(W1,R))を生成する。
ここで、2つの変数が入力される一方向性ハッシュ関数としては、鍵付きハッシュ関数が利用できる。また、入力が1変数である一方向性ハッシュ関数に対して、2つの変数を連接して入力することにより、2つの変数が入力される一方向性ハッシュ関数として代用できる。
暗号化部114は、レスポンス値(Res)に対して、第2の認証コード(W2)を用いた暗号化処理により暗号化レスポンス値(ER:=Enc(W2,Res))を生成する。
また、第2の認証コードは、複数設けられてもよい。この場合、暗号化部114は、複数設けられている第2の認証コード(W2、W3、・・・)を所定の順序で用いて暗号化処理を繰り返し実行する。すなわち、暗号化部114は、前の認証コード(例えば、W2)に基づく暗号化処理によって得られた暗号化レスポンス値(ER)と、次の認証コード(例えば、W3)とを、次の暗号化関数の変数として入力する(ER:=Enc(W3,ER))。
このとき、複数回繰り返し実行される暗号化処理は、それぞれ異なる暗号化アルゴリズムが用いられてもよい。
レスポンス送信部115は、暗号化レスポンス値(ER)を、ユーザ識別情報(ID)と共に、認証サーバ20へ送信する。
結果受信部116は、認証サーバ20から、暗号化レスポンス値(ER)に基づく認証結果として、Ack(acknowledgement)又はNak(non−acknowledgement)を受信する。
なお、上述のユーザ識別情報(ID)、並びに第1の認証コード(W1)及び第2の認証コード(W2、W3、・・・)は、操作部を介してユーザから入力されてもよいし、予め記憶部12に記憶されていてもよい。
認証サーバ20は、制御部21と、記憶部22と、通信部23とを備え、さらに、図示しないが、情報処理装置として動作するために、操作部及び表示部等、各種ハードウェアを備えている。
制御部21は、認証サーバ20の全体を制御する部分であり、記憶部22に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各種機能を実現している。制御部21は、CPUであってよい。なお、制御部21が備える各部の機能は後述する。
記憶部22は、ハードウェア群を認証サーバ20として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスク(HDD)であってよい。具体的には、記憶部22には、本実施形態の各種機能を制御部21に実行させるプログラムの他、ユーザ識別情報(ID)及び複数の認証コード(W1、W2、・・・)を互いに関連付けたユーザ情報テーブル221を記憶する。
通信部23は、ネットワークを介して所定のプロトコルにより、外部装置とデータ通信を行うネットワーク・アダプタである。通信部23は、ユーザ端末10との間で通信を確立し、データを送受信する。
また、制御部21は、乱数生成部211と、乱数送信部212と、認証コード抽出部213と、復号部214と、ハッシュ演算部215(第2の演算部)と、判定部216と、結果送信部217とを備える。
乱数生成部211は、ユーザ端末10から認証要求を受信したことに応じて、チャレンジ用の乱数(R)を生成する。
乱数送信部212は、乱数生成部211により生成された乱数(R)を、ユーザ端末10へ送信する。
認証コード抽出部213は、ユーザ端末10からユーザ識別情報(ID)及び暗号化レスポンス値(ER)を受信したことに応じて、このユーザ識別情報(ID)に関連付けられている第1の認証コード(W1)及び第2の認証コード(W2、W3、・・・)をユーザ情報テーブル221から抽出する。
復号部214は、暗号化レスポンス値(ER)に対して、第2の認証コード(W2)を用いた復号処理により第1の検証用レスポンス値(C:=Dec(W2,ER))を生成する。
また、復号部214は、第2の認証コードが複数設けられている場合、これら第2の認証コード(W2、W3、・・・)を暗号化部114とは逆順で用いて復号処理を繰り返し実行する。
ハッシュ演算部215は、乱数生成部211により生成された乱数(R)に対して、第1の認証コード(W1)を用いた一方向性ハッシュ関数演算により第2の検証用レスポンス値(Res’:=Hash(W1,R))を生成する。なお、この一方向性ハッシュ関数は、ユーザ端末10のハッシュ演算部113が用いるものと同一である。
判定部216は、復号部214により生成された第1の検証用レスポンス値(C)とハッシュ演算部215により生成された第2の検証用レスポンス値(Res’)とが等しいか否かを判定する。
結果送信部217は、判定部216により第1の検証用レスポンス値(C)と第2の検証用レスポンス値(Res’)とが等しいと判定された場合、認証に成功したことを示す認証結果(Ack)をユーザ端末10へ送信する。一方、判定部216により第1の検証用レスポンス値(C)と第2の検証用レスポンス値(Res’)とが等しくないと判定された場合、認証に失敗したことを示す認証結果(Nak)をユーザ端末10へ送信する。
図2は、本実施形態に係る認証方法を示すシーケンス図である。
ステップS1において、ユーザ端末10は、認証要求を認証サーバ20へ送信する。
ステップS2において、認証サーバ20は、ステップS1で認証要求を受信したことに応じて、チャレンジ用の乱数(R)を生成する。
ステップS3において、認証サーバ20は、ステップS2で生成された乱数(R)を、ユーザ端末10へ送信する。
ステップS4において、ユーザ端末10は、ステップS3で受信した乱数(R)と第1の認証コード(W1)とを用いて、一方向性ハッシュ関数演算によりレスポンス値(Res)を生成する。
ステップS5において、ユーザ端末10は、ステップS4で生成されたレスポンス値(Res)を、第2の認証コード(W2、W3、・・・)により暗号化し、暗号化レスポンス値(ER)を生成する。
ステップS6において、ユーザ端末10は、ステップS5で生成された暗号化レスポンス値(ER)と、ユーザ識別情報(ID)とを、認証サーバ20へ送信する。
ステップS7において、認証サーバ20は、ステップS6で受信したユーザ識別情報(ID)に関連付けられている第1の認証コード(W1)及び第2の認証コード(W2、W3、・・・)を、ユーザ情報テーブル221から抽出する。
ステップS8において、認証サーバ20は、ステップS6で受信された暗号化レスポンス値(ER)を、ステップS7で抽出された第2の認証コード(W2、W3、・・・)を逆順に用いて復号し、第1の検証用レスポンス値(C)を生成する。
ステップS9において、認証サーバ20は、ステップS2で生成された乱数(R)と、ステップS7で抽出された第1の認証コード(W1)とを用いて、一方向性ハッシュ関数演算により第2の検証用レスポンス値(Res’)を生成する。
ステップS10において、認証サーバ20は、ステップS8で生成された第1の検証用レスポンス値(C)と、ステップS9で生成された第2の検証用レスポンス値(Res’)とを比較する。そして、認証サーバ20は、両者が同一であれば正規ユーザと判断してAckを出力し、相違すれば不正ユーザと判断してNakを出力する。
ステップS11において、認証サーバ20は、ステップS10で出力された認証結果(Ack又はNak)を、ユーザ端末10へ送信する。
本認証方法では、ユーザ端末10は、認証リクエストに応じて認証サーバ20からCHAPのチャレンジに相当する乱数を受信し、認証サーバ20へCHAPのレスポンスに相当する暗号化レスポンス値を送信すると、認証サーバ20から認証結果が通知される。
以上のように、本実施形態によれば、複数の認証コードのいずれか1つでも違っていれば認証は成功しないので、たとえ、認証コードのいずれかが漏洩したとしても、全てが漏洩したのでなければ、認証システム1は、不正認証を防止できる。このとき、認証システム1は、第1の認証コード及び第2の認証コードを1回の認証プロセス内で使用し、複数の認証を同一のレイヤで同時に行うので、認証の時間差は生じず、セキュリティ強度の差が生じない。この結果、認証システム1は、単一の認証に比べて、より安全に通信サービスを提供できる。
また、暗号化レスポンス値は、ビット列であり、CHAPのレスポンスと見かけ上は相違しないので、送受信されるデータパケットは、既存の認証プロトコルと同様に扱うことができる。したがって、認証システム1は、通信機器の改修を必要とせず、設備コストの増大を抑制できる。
また、認証システム1は、同時に認証できる認証コードの数を2種類に限定せず、3種類以上の認証コードに対応できるので、安全性を高められる。
さらに、認証システム1は、各認証コードに対応して、それぞれ異なる暗号化アルゴリズムを採用して、安全性をさらに高めることができる。
<第2実施形態>
以下、本発明の第2実施形態について説明する。
本実施形態は、第1実施形態の認証サーバ20の機能を、認証サーバ20a(第1のサーバ)及びプロキシサーバ30(第2のサーバ)に分散する構成である。なお、第1実施形態と同様の構成に対しては、同一の符号を付し、説明を省略又は簡略化する。
図3は、本実施形態に係る認証システム1aが有するユーザ端末10、認証サーバ20a及びプロキシサーバ30の機能構成を示すブロック図である。
認証サーバ20は、第1実施形態と比べて、制御部21aの認証コード抽出部213aの機能が異なり、復号部214を備えていない。また、記憶部22a(第1の記憶部)のユーザ情報テーブル221aの内容が異なる。
ユーザ情報テーブル221aは、ユーザ識別情報(ID)及び第1の認証コード(W1)を互いに関連付けて記憶する。
認証コード抽出部213aは、プロキシサーバ30からユーザ識別情報(ID)及び第1の検証用レスポンス値(C)を受信したことに応じて、このIDに関連付けられている第1の認証コード(W1)をユーザ情報テーブル221aから抽出する。
プロキシサーバ30は、認証サーバ20aと同様に、少なくとも、制御部31と、記憶部32(第2の記憶部)と、通信部33とを備える。
制御部31は、プロキシサーバ30の全体を制御する部分であり、記憶部32に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各種機能を実現している。制御部31は、CPUであってよい。なお、制御部31が備える各部の機能は後述する。
記憶部32は、ハードウェア群をプロキシサーバ30として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスク(HDD)であってよい。具体的には、記憶部32には、本実施形態の各種機能を制御部31に実行させるプログラムの他、ユーザ識別情報(ID)及び第2の認証コード(W2、W3、・・・)を互いに関連付けたユーザ情報テーブル321を記憶する。
通信部33は、ネットワークを介して所定のプロトコルにより、外部装置とデータ通信を行うネットワーク・アダプタである。通信部33は、ユーザ端末10及び認証サーバ20aとの間で通信を確立し、データを送受信する。
また、制御部31は、認証コード抽出部311と、復号部312と、通知部313とを備える。
認証コード抽出部311は、ユーザ端末10からユーザ識別情報(ID)及び暗号化レスポンス値(ER)を受信したことに応じて、このユーザ識別情報(ID)に関連付けられている第2の認証コード(W2、W3、・・・)をユーザ情報テーブル321から抽出する。
復号部312は、第1実施形態の復号部214と同一の機能を有し、暗号化レスポンス値(ER)に対して、第2の認証コード(W2)を用いた復号処理により第1の検証用レスポンス値(C:=Dec(W2,ER))を生成する。
また、復号部312は、復号部214と同様に、第2の認証コードが複数設けられている場合、これら第2の認証コード(W2、W3、・・・)を暗号化部114とは逆順で用いて復号処理を繰り返し実行する。
通知部313は、復号部312により生成された第1の検証用レスポンス値(C)を、ユーザ識別情報(ID)と共に認証サーバ20aへ通知する。
図4は、本実施形態に係る認証方法を示すシーケンス図である。
ステップS1a及びステップS1bにおいて、ユーザ端末10は、認証要求を、プロキシサーバ30を介して認証サーバ20aへ送信する。
ステップS2において、認証サーバ20aは、ステップS1bで認証要求を受信したことに応じて、チャレンジ用の乱数(R)を生成する。
ステップS3a及びステップS3bにおいて、認証サーバ20は、ステップS2で生成された乱数(R)を、プロキシサーバ30を介してユーザ端末10へ送信する。
ステップS4において、ユーザ端末10は、ステップS3bで受信した乱数(R)と第1の認証コード(W1)とを用いて、一方向性ハッシュ関数演算によりレスポンス値(Res)を生成する。
ステップS5において、ユーザ端末10は、ステップS4で生成されたレスポンス値(Res)を、第2の認証コード(W2、W3、・・・)により暗号化し、暗号化レスポンス値(ER)を生成する。
ステップS6aにおいて、ユーザ端末10は、ステップS5で生成された暗号化レスポンス値(ER)と、ユーザ識別情報(ID)とを、プロキシサーバ30へ送信する。
ステップS7aにおいて、認証サーバ20aは、ステップS6aで受信したユーザ識別情報(ID)に関連付けられている第2の認証コード(W2、W3、・・・)を、ユーザ情報テーブル321から抽出する。
ステップS8において、プロキシサーバ30は、ステップS6aで受信された暗号化レスポンス値(ER)を、ステップS7aで抽出された第2の認証コード(W2、W3、・・・)を逆順に用いて復号し、第1の検証用レスポンス値(C)を生成する。
ステップS6bにおいて、プロキシサーバ30は、ステップS8で生成された第1の検証用レスポンス値(C)と、ユーザ識別情報(ID)とを、認証サーバ20aへ送信する。
ステップS7bにおいて、認証サーバ20aは、ステップS6bで受信したユーザ識別情報(ID)に関連付けられている第1の認証コード(W1)を、ユーザ情報テーブル221から抽出する。
ステップS9において、認証サーバ20aは、ステップS2で生成された乱数(R)と、ステップS7bで抽出された第1の認証コード(W1)とを用いて、一方向性ハッシュ関数演算により第2の検証用レスポンス値(Res’)を生成する。
ステップS10において、認証サーバ20aは、ステップS6bで受信された第1の検証用レスポンス値(C)と、ステップS9で生成された第2の検証用レスポンス値(Res’)とを比較する。そして、認証サーバ20aは、両者が同一であれば正規ユーザと判断してAckを出力し、相違すれば不正ユーザと判断してNakを出力する。
ステップS11a及びステップS11bにおいて、認証サーバ20aは、ステップS10で出力された認証結果(Ack又はNak)を、プロキシサーバ30を介してユーザ端末10へ送信する。
本認証方法では、プロキシサーバ30で暗号化レスポンス値が復号された後、この復号された第1の検証用レスポンス値が認証サーバ20aへ提供され、認証サーバ20aで第2の検証用レスポンス値と比較される。
本実施形態によれば、認証サーバ20aの入出力データ及び機能は、従来のCHAPと同等である。したがって、認証システム1aでは、第1実施形態と同様の効果が得られると共に、従来の認証サーバの改修を抑えられる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
前述の認証システム1又は認証システム1aは、通信サービスを提供する際の認証の形態の一例であり、ユーザ端末10は、サーバ装置、PC(Personal Computer)又は携帯端末等、様々な情報処理装置(コンピュータ)であってよく、認証サーバ20についても、同様に、様々な情報処理装置(コンピュータ)であってよい。そして、前述の各機能は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、上記情報処理装置にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してコンピュータにダウンロードされることにより配布されてもよい。
1、1a 認証システム
10 ユーザ端末(端末)
11 制御部
12 記憶部
20 認証サーバ(サーバ)
20a 認証サーバ(第1のサーバ)
21、21a 制御部
22 記憶部
22a 記憶部(第1の記憶部)
30 プロキシサーバ(第2のサーバ)
31 制御部
32 記憶部(第2の記憶部)
111 認証要求部
112 乱数受信部
113 ハッシュ演算部(第1の演算部)
114 暗号化部
115 レスポンス送信部
116 結果受信部
211 乱数生成部
212 乱数送信部
213、213a 認証コード抽出部
214 復号部
215 ハッシュ演算部(第2の演算部)
216 判定部
217 結果送信部
311 認証コード抽出部
312 復号部
313 通知部

Claims (6)

  1. 端末からの要求に応じてサーバが前記端末のユーザを認証する認証システムであって、
    前記端末は、
    前記サーバに対して認証要求を送信する認証要求部と、
    前記認証要求に応じて前記サーバから送信される乱数を受信する乱数受信部と、
    前記乱数に対して、第1の認証コードを用いた所定の演算によりレスポンス値を生成する第1の演算部と、
    前記レスポンス値に対して、第2の認証コードを用いた暗号化処理により暗号化レスポンス値を生成する暗号化部と、
    前記暗号化レスポンス値を、前記端末のユーザを識別するIDと共に、前記サーバへ送信するレスポンス送信部と、
    前記サーバから、前記暗号化レスポンス値に基づく認証結果を受信する結果受信部と、を備え、
    前記サーバは、
    前記IDに関連付けて、予め前記第1の認証コード及び前記第2の認証コードを記憶する記憶部と、
    前記端末から前記認証要求を受信したことに応じて、前記乱数を生成する乱数生成部と、
    前記乱数を前記端末へ送信する乱数送信部と、
    前記端末から前記ID及び前記暗号化レスポンス値を受信したことに応じて、当該IDに関連付けられている前記第1の認証コード及び前記第2の認証コードを前記記憶部から抽出する認証コード抽出部と、
    前記暗号化レスポンス値に対して、前記第2の認証コードを用いた復号処理により第1の検証用レスポンス値を生成する復号部と、
    前記乱数に対して、前記第1の認証コードを用いた前記所定の演算により第2の検証用レスポンス値を生成する第2の演算部と、
    前記復号部により生成された前記第1の検証用レスポンス値と前記第2の演算部により生成された前記第2の検証用レスポンス値とが等しいか否かを判定する判定部と、
    前記判定部により前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しいと判定された場合、認証に成功したことを示す認証結果を前記端末へ送信し、前記判定部により前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しくないと判定された場合、認証に失敗したことを示す認証結果を前記端末へ送信する結果送信部と、を備える認証システム。
  2. 前記サーバは、第1のサーバ及び第2のサーバで構成され、
    前記第1のサーバは、
    前記IDに関連付けて、予め前記第1の認証コードを記憶する第1の記憶部と、
    前記乱数生成部と、
    前記乱数送信部と、
    前記ID及び前記第1の検証用レスポンス値を受信したことに応じて、当該IDに関連付けられている前記第1の認証コードを前記第1の記憶部から抽出する第1の認証コード抽出部と、
    前記第2の演算部と、
    前記判定部と、
    前記結果送信部と、を備え、
    前記第2のサーバは、
    前記IDに関連付けて、予め前記第2の認証コードを記憶する第2の記憶部と、
    前記端末から前記ID及び前記暗号化レスポンス値を受信したことに応じて、当該IDに関連付けられている前記第2の認証コードを前記第2の記憶部から抽出する第2の認証コード抽出部と、
    前記復号部と、
    前記復号部により生成された前記第1の検証用レスポンス値を、前記IDと共に前記第1のサーバへ通知する通知部と、を備える請求項1に記載の認証システム。
  3. 前記第2の認証コードは、複数設けられており、
    前記暗号化部は、前記複数設けられている第2の認証コードを所定の順序で用いて暗号化処理を繰り返し実行し、
    前記復号部は、前記複数設けられている第2の認証コードを前記所定の順序の逆順で用いて復号処理を繰り返し実行する請求項1又は請求項2に記載の認証システム。
  4. 繰り返し実行される前記暗号化処理は、それぞれ異なる暗号化アルゴリズムが用いられる請求項3に記載の認証システム。
  5. 端末からの要求に応じてサーバが前記端末のユーザを認証する認証方法であって、
    前記サーバは、前記端末のユーザを識別するIDに関連付けて、予め第1の認証コード及び第2の認証コードを記憶する記憶部を備え、
    前記端末が、前記サーバに対して認証要求を送信する認証要求ステップと、
    前記サーバが、前記端末から前記認証要求を受信したことに応じて、乱数を生成する乱数生成ステップと、
    前記サーバが、前記乱数を前記端末へ送信する乱数送信ステップと、
    前記端末が、前記乱数を受信する乱数受信ステップと、
    前記端末が、前記乱数に対して、前記第1の認証コードを用いた所定の演算によりレスポンス値を生成する第1の演算ステップと、
    前記端末が、前記レスポンス値に対して、前記第2の認証コードを用いた暗号化処理により暗号化レスポンス値を生成する暗号化ステップと、
    前記端末が、前記暗号化レスポンス値を、前記IDと共に、前記サーバへ送信するレスポンス送信ステップと、
    前記サーバが、前記端末から前記ID及び前記暗号化レスポンス値を受信したことに応じて、当該IDに関連付けられている前記第1の認証コード及び前記第2の認証コードを前記記憶部から抽出する認証コード抽出ステップと、
    前記サーバが、前記暗号化レスポンス値に対して、前記第2の認証コードを用いた復号処理により第1の検証用レスポンス値を生成する復号ステップと、
    前記サーバが、前記乱数に対して、前記第1の認証コードを用いた前記所定の演算により第2の検証用レスポンス値を生成する第2の演算ステップと、
    前記サーバが、前記復号ステップにおいて生成された前記第1の検証用レスポンス値と前記第2の演算ステップにおいて生成された前記第2の検証用レスポンス値とが等しいか否かを判定する判定ステップと、
    前記サーバが、前記判定ステップにおいて前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しいと判定された場合、認証に成功したことを示す認証結果を前記端末へ送信し、前記判定ステップにおいて前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しくないと判定された場合、認証に失敗したことを示す認証結果を前記端末へ送信する結果送信ステップと、
    前記端末が、前記サーバから認証結果を受信する結果受信ステップと、を含む認証方法。
  6. 端末からの要求に応じてサーバに前記端末のユーザを認証させるための認証プログラムであって、
    前記サーバは、前記端末のユーザを識別するIDに関連付けて、予め第1の認証コード及び第2の認証コードを記憶する記憶部を備え、
    前記端末が、前記サーバに対して認証要求を送信する認証要求ステップと、
    前記サーバが、前記端末から前記認証要求を受信したことに応じて、乱数を生成する乱数生成ステップと、
    前記サーバが、前記乱数を前記端末へ送信する乱数送信ステップと、
    前記端末が、前記乱数を受信する乱数受信ステップと、
    前記端末が、前記乱数に対して、前記第1の認証コードを用いた所定の演算によりレスポンス値を生成する第1の演算ステップと、
    前記端末が、前記レスポンス値に対して、前記第2の認証コードを用いた暗号化処理により暗号化レスポンス値を生成する暗号化ステップと、
    前記端末が、前記暗号化レスポンス値を、前記IDと共に、前記サーバへ送信するレスポンス送信ステップと、
    前記サーバが、前記端末から前記ID及び前記暗号化レスポンス値を受信したことに応じて、当該IDに関連付けられている前記第1の認証コード及び前記第2の認証コードを前記記憶部から抽出する認証コード抽出ステップと、
    前記サーバが、前記暗号化レスポンス値に対して、前記第2の認証コードを用いた復号処理により第1の検証用レスポンス値を生成する復号ステップと、
    前記サーバが、前記乱数に対して、前記第1の認証コードを用いた前記所定の演算により第2の検証用レスポンス値を生成する第2の演算ステップと、
    前記サーバが、前記復号ステップにおいて生成された前記第1の検証用レスポンス値と前記第2の演算ステップにおいて生成された前記第2の検証用レスポンス値とが等しいか否かを判定する判定ステップと、
    前記サーバが、前記判定ステップにおいて前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しいと判定された場合、認証に成功したことを示す認証結果を前記端末へ送信し、前記判定ステップにおいて前記第1の検証用レスポンス値と前記第2の検証用レスポンス値とが等しくないと判定された場合、認証に失敗したことを示す認証結果を前記端末へ送信する結果送信ステップと、
    前記端末が、前記サーバから認証結果を受信する結果受信ステップと、を実行させるための認証プログラム。
JP2011282835A 2011-12-26 2011-12-26 認証システム、認証方法及び認証プログラム Pending JP2013134530A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011282835A JP2013134530A (ja) 2011-12-26 2011-12-26 認証システム、認証方法及び認証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011282835A JP2013134530A (ja) 2011-12-26 2011-12-26 認証システム、認証方法及び認証プログラム

Publications (1)

Publication Number Publication Date
JP2013134530A true JP2013134530A (ja) 2013-07-08

Family

ID=48911203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011282835A Pending JP2013134530A (ja) 2011-12-26 2011-12-26 認証システム、認証方法及び認証プログラム

Country Status (1)

Country Link
JP (1) JP2013134530A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015125984A1 (ko) * 2014-02-18 2015-08-27 한양대학교에리카산학협력단 접근 관리 장치 및 관리 방법, 접근 관리 시스템
JP2018116708A (ja) * 2013-09-17 2018-07-26 アマゾン テクノロジーズ インコーポレイテッド ネットワーク接続自動化
CN111722831A (zh) * 2020-05-07 2020-09-29 中山大学 一种加密系统及其实现方法
CN115134157A (zh) * 2022-06-29 2022-09-30 上海众人智能科技有限公司 一种基于数据安全访问的动态确权认证方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018116708A (ja) * 2013-09-17 2018-07-26 アマゾン テクノロジーズ インコーポレイテッド ネットワーク接続自動化
US11843589B2 (en) 2013-09-17 2023-12-12 Amazon Technologies, Inc. Network connection automation
WO2015125984A1 (ko) * 2014-02-18 2015-08-27 한양대학교에리카산학협력단 접근 관리 장치 및 관리 방법, 접근 관리 시스템
CN111722831A (zh) * 2020-05-07 2020-09-29 中山大学 一种加密系统及其实现方法
CN111722831B (zh) * 2020-05-07 2024-03-19 中山大学 一种加密系统及其实现方法
CN115134157A (zh) * 2022-06-29 2022-09-30 上海众人智能科技有限公司 一种基于数据安全访问的动态确权认证方法

Similar Documents

Publication Publication Date Title
EP3420677B1 (en) System and method for service assisted mobile pairing of password-less computer login
CN107295011B (zh) 网页的安全认证方法及装置
WO2015192670A1 (zh) 用户身份认证方法、终端和服务端
JP2012530311A5 (ja)
CN104468115A (zh) 信息系统访问认证方法及装置
US9154304B1 (en) Using a token code to control access to data and applications in a mobile platform
KR20080015934A (ko) 일반 부트스트래핑 아키텍처(gba)의 인증 환경 설정관련 모바일 노드 아이디 제공 장치, 방법 및 컴퓨터프로그램 생성물
KR20150092719A (ko) 증명서 생성 디바이스 및 방법
KR20130131682A (ko) 웹 서비스 사용자 인증 방법
KR101739203B1 (ko) 일회용 개인키 기반 전자 서명과 동형 암호를 이용한 패스워드 기반 사용자 인증 방법
CN109716725B (zh) 数据安全系统及其操作方法和计算机可读存储介质
CN105580312A (zh) 用于认证设备的用户的方法和系统
JP2012191270A (ja) 認証システム、端末装置、認証サーバ、およびプログラム
CN103118022A (zh) 一种无密码异端登陆验证方法
US10211992B1 (en) Secure certificate pinning in user provisioned networks
CN113411187A (zh) 身份认证方法和系统、存储介质及处理器
CN106411520B (zh) 一种虚拟资源数据的处理方法、装置及系统
GB2501069A (en) Authentication using coded images to derive an encrypted passcode
CN111901303A (zh) 设备认证方法和装置、存储介质及电子装置
JP2013134530A (ja) 認証システム、認証方法及び認証プログラム
WO2017029708A1 (ja) 個人認証システム
CN103916372A (zh) 一种第三方登录信息托管方法和系统
Guo et al. Extending registration and authentication processes of FIDO2 external authenticator with qr codes
CN107171784B (zh) 突发环境事件应急指挥调度方法及系统
CN115146284A (zh) 数据处理方法、装置、电子设备和存储介质