JP4874007B2 - 認証システム、サーバコンピュータ、プログラム、及び、記録媒体 - Google Patents

認証システム、サーバコンピュータ、プログラム、及び、記録媒体 Download PDF

Info

Publication number
JP4874007B2
JP4874007B2 JP2006164254A JP2006164254A JP4874007B2 JP 4874007 B2 JP4874007 B2 JP 4874007B2 JP 2006164254 A JP2006164254 A JP 2006164254A JP 2006164254 A JP2006164254 A JP 2006164254A JP 4874007 B2 JP4874007 B2 JP 4874007B2
Authority
JP
Japan
Prior art keywords
authentication
random number
dynamic
data holding
authentication key
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.)
Active
Application number
JP2006164254A
Other languages
English (en)
Other versions
JP2007336127A (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.)
THE UNIVERSITY OF ELECTRO-COMUNICATINS
Dai Nippon Printing Co Ltd
Original Assignee
THE UNIVERSITY OF ELECTRO-COMUNICATINS
Dai Nippon Printing Co Ltd
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 THE UNIVERSITY OF ELECTRO-COMUNICATINS, Dai Nippon Printing Co Ltd filed Critical THE UNIVERSITY OF ELECTRO-COMUNICATINS
Priority to JP2006164254A priority Critical patent/JP4874007B2/ja
Publication of JP2007336127A publication Critical patent/JP2007336127A/ja
Application granted granted Critical
Publication of JP4874007B2 publication Critical patent/JP4874007B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、使い捨てIDを利用したDoS(Denial of Service)攻撃に強い、高速かつ低負荷な効率のよい二者間通信における認証機能に関する。
近年のコンピュータネットワーク技術の発達は、ネットワークを介して提供されるサービスの増加をもたらしたが,ネットワーク技術の進展に伴い、不正アクセスなどの問題が深刻となっている。これら排除のために、サービス提供に先立ち行われる端末間の認証処理は重要なものとなっている。
例えば、ネットワークに接続された2つの端末装置を例に考える。2つの端末のうち一つをイニシエータ、もう一方をレスポンダとすると、両者間の認証処理とは、あるサービスの利用を希望するイニシエータがトリガーを引き、サービス提供者であるレスポンダがサービスを提供する一連の流れ(以後セッションとする)において、レスポンダがイニシエータの正当性を検証する作業のことである。このために,レスポンダはイニシエータの固定の識別子(以後IDとする)をキーとし、パスワードなど秘密の認証情報をテーブルにて関連付けて管理しておき、レスポンダはイニシエータからの問い合わせの際,受信したID及び認証情報と、自身が保持するID及び認証情報の突合せ処理を行うことで,イニシエータの正当性を判断する方法が広く利用されている。
しかしながら、このような場合では、パスワードが固定であることから、パスワード漏洩により不正利用の危険性が高くなる。
この危険性に対する防止のために、使い捨てIDを用いる方法がある。(例えば、特許文献1)
使い捨てIDとは「IDは一度のみ有効である」、「第三者は次のIDを予測することが不可能である」、「第三者はIDから利用者が特定できない」という性質を持つIDである。使い捨てIDは通信のセッションごとに変更されるため、たとえ攻撃者が使い捨てIDを入手し利用したとしても,レスポンダが管理するテーブルには既に更新されたIDが記録されており,攻撃者の入手したIDは存在しない。
以下、従来の使い捨てIDによる認証処理について説明する。
使い捨てIDを利用した認証方式としてSIGNAL方式がある。(例えば、非特許文献1)図19は、イニシエータ7100とレスポンダ7200間の認証処理の概要を示すフローチャートである。図20は、認証処理において使用される演算処理を示す演算処理テーブルを示す図である。図21は、イニシエータ7100が保持するイニシエータ情報管理テーブル9300を示す図であり、図22はレスポンダ7200が保持するレスポンダ情報管理テーブル9400を示す図である。
図20に示す演算処理テーブルは、図19に示す認証処理において必要となる演算9201〜9204を示す。
図21は、イニシエータ7100が保持する情報であり、レスポンダの固定ID9301に対応する受信用SIGNAL9302、認証鍵9303、送信用SIGNAL9304である。
図22は、レスポンダ7200が保持する情報であり、イニシエータの固定ID9401に対応する受信用SIGNAL9402、認証鍵9303、送信用SIGNAL9404、である。
図19に示すように、イニシエータ7100は、レスポンダ7200に対して送信する送信データ9000を作成し(ステップ8000)、送信する(ステップ8100)。
iセッションにおいて、イニシエータ7200から送信されるデータ9000は、SIGNAL 、AKを用いてr 、ID、ID、SIGNAL を暗号化したものを示すEAKi{r ,ID,ID,SIGNAL }である。
SIGNAL は、図20に示す演算処理テーブルにおける演算9201に示されるように、一方向関数であるハッシュ関数hと(i−1)セッション目で作成された共有シードKi−1によって求められる。ここで、共有シードKi−1は、iセッションの通信時にDiffie-Hellman(DH)鍵交換により交換される乱数要素r ,R を利用した演算9204によって更新される。
そのため、仮にKi−1が漏洩したとしてもKi−1からKを求めることは不可能である。ID,IDは、イニシエータ7100及びレスポンダ7200の固定IDである。
レスポンダ7200は、イニシエータから送信されたデータ9000を受信し、そのデータからSIGNAL を取り出して、自身の保持するレスポンダ情報管理テーブル9400を検索する(ステップ8200)。レスポンダ情報管理テーブル9400や演算処理テーブルに示されるデータや演算を用いて、認証処理を行い(ステップ8300)、次セッション(i+1セッション)のためのデータを更新する(ステップ8400)。イニシエータ7100に、データを送信する(ステップ8500)ことによって、認証処理が完了する。
レスポンダ7200は、イニシエータ7100から送信されたSIGNAL を受信用SIGNALとして、レスポンダ情報管理テーブル9400から「受信用SIGNAL(データ9402)=SIGNAL 」となる認証鍵欄9403に保持された認証鍵AKを特定する。次に,この認証鍵を用いて受信した暗号情報9000を復号し,認証情報としてイニシエータ7100の固定IDであるIDを得る。レスポンダ7200は、得られたIDと、レスポンダ情報管理テーブル9400から「受信用SIGNAL(データ9402)=SIGNAL 」となるID欄9401に示されたIDとを照合し、一致する場合はイニシエータ7100が正当な利用者であることを認証する。
特開2004−282295号公報 K.Imamoto and,K.Sakurai:"A Design of Diffie Hellman Based KeyExchange Using One-Time ID in Preshared Key Model",AINA 2004,Mar.2004
しかしながら、認証情報を入手する過程において、認証鍵AKによる暗号情報の復号処理やハッシュ関数を用いた暗号化処理は、非常に大きな処理能力を必要とする。また、共有シードK(図20のデータ9204)は、乱数のべき乗計算を含んでおり、これも非常に大きな処理能力を要する。
また、端末間を送受信されるデータ9000、9100は非常に冗長な情報を含むため、通信時のデータ量が大きくなるといった問題がある。
本発明は、以上の点に鑑みてなされたものであり、端末間の通信において安全性の高く、端末にとって低負荷で効率の良い認証システムを提供することを目的とする。
前述した目的を達成するために第1の発明は、ネットワークを介して接続された第1の端末装置と第2の端末装置間の認証処理を行う認証システムであって、前記第1の端末は、第1の送信用ダイナミックIDと、前記第1の送信用ダイナミックIDに関連付けられた少なくとも2つ以上の第1の認証鍵を保持する第1のデータ保持手段と、第1の乱数を生成する第1の乱数生成手段と、前記第1のデータ保持手段から第1の送信用ダイナミックIDを選択し、当該第1の送信用ダイナミックIDに対応する前記第1の認証鍵と、前記第1の認証鍵と前記第1の乱数を用いて演算を行い、第1の暗号化乱数を生成する第1の暗号化乱数生成手段と、前記第1の暗号化乱数生成手段によって生成された前記第1の暗号化乱数と、前記第1の認証鍵を用いて、第1の認証コードを生成する第1の認証コード生成手段と、前記第1の送信用ダイナミックIDと、前記第1の暗号化乱数と、前記第1の認証コードとを、前記第2の端末装置に送信する手段と、を具備し、前記第2の端末装置は、第1の受信用ダイナミックIDと、前記第1の受信用ダイナミックIDに関連付けられた、第1のIDと少なくとも2つ以上の第2の認証鍵を保持する第2のデータ保持手段と、前記第2のデータ保持手段から、前記第1の送信用ダイナミックIDと一致する第1の受信用ダイナミックIDを検出する第1の検出手段と、前記第1の検出手段によって検出された第1の受信用ダイナミックIDに関連付けられる少なくとも2つ以上の第2の認証鍵を、前記第2のデータ保持手段から取得し、前記第1の送信用ダイナミックIDと前記第2のデータ保持手段から取得した第2の認証鍵とを利用して演算を行い、IDを算出し、前記算出されたIDと、前記第2のデータ保持手段において当該第1の受信用ダイナミックIDに関連付けられて保持された第1のIDと、を照合して認証を行う第1の認証手段と、を具備することを特徴とする認証システムである。
第1の発明において、第1の端末と第2の端末は、例えば、イニシエータとレスポンダに相当し、レスポンダはサーバ或いはサーバへの接続を認証する端末であり、イニシエータ(クライアント)を認証するものである。
ここで、ダイナミックIDとは1回限り有効な使い捨てIDのことである。
また、第1の認証手段は、
(X◎Y)◎Y=X
を満たす演算子◎を使用し、第1の送信用ダイナミックIDをD−ID、第2の認証鍵をAK’、AKとしたときに、
(D−ID◎AK’)◎AK=ID
としてIDを算出する。この演算子◎は、例えば「XOR(排他的論理演算子)である。
このような演算子を用いることによって、認証鍵を使った認証処理は従来技術のSIGNAL方式に比べて負荷が非常に小さくなる。
更に、第2の端末装置は、前記第2の認証鍵と、前記第1の端末装置から送信された第1の暗号化乱数を用いて、第2の認証コードを生成する第2の認証コード生成手段と、前記第1の認証コードと前記第2の認証コードを照合する手段と、を具備する。
また、第2の端末装置は、第2の乱数を生成する第2の乱数生成手段と、前記第1の端末装置から送信された前記第1の暗号化乱数と前記第2のデータ保持手段に保持された第2の認証鍵を用いて、第1の乱数を取得し、前記第1の乱数と、前記第2の乱数と、前記第2の認証鍵とから第1の共有シードを生成する第1の共有シード生成手段と、を具備する。
ここで、共有シードは、第2の端末装置が生成する乱数と履歴情報を用いて算出される。例えば、履歴情報としてiセッションの認証鍵と、第2の乱数とを用いて簡単な演算により共有シードを計算することができる。従って、べき乗計算により共有シードを算出していた従来の方式より、かなり計算量が減ることになる。
また、さらに、第2のデータ保持手段は、前記第1の受信用ダイナミックIDに関連付けて第2の送信用ダイナミックIDを更に保持し、更に、前記第2の端末装置は、前記第2の乱数と、前記第2の認証鍵と、を用いて、前記演算子による演算を行い、第2の暗号化乱数を生成する第2の暗号化乱数生成手段と、前記第2の暗号化乱数生成手段によって生成された第2の暗号化乱数と、前記第2の認証鍵を用いて、第2の認証コードを生成する第2の認証コード生成手段と、前記第2の送信用ダイナミックIDと、前記第2の暗号化乱数と、前記第2の認証コードとを、前記第1の端末装置に送信する。
また、更に、第2の端末装置は、前記第1の共有シードと所定の関数とを用いて、前記第2の認証鍵を更新し、前記更新された認証鍵を用いて、前記第2の送信用ダイナミックID及び前記第1の受信用ダイナミックIDを更新し、前記第2のデータ保持手段に保持する。
また、第1のデータ保持手段は、第2の受信用ダイナミックIDと、前記第2の受信用ダイナミックIDに関連付けられた、第2のIDと少なくとも2つ以上の第1の認証鍵を保持し、前記第1の端末装置は、前記第1のデータ保持手段から、前記第2の送信用ダイナミックIDと一致する第2の受信用ダイナミックIDを検出する第2の検出手段と、前記第2の検出手段によって検出された第2の受信用ダイナミックIDに関連付けられる少なくとも2つ以上の第1の認証鍵を、前記第1のデータ保持手段から取得し、前記第2の送信用ダイナミックIDと前記第2のデータ保持手段から取得した第2の認証鍵とを利用して演算を行い、IDを算出し、前記算出されたIDと、前記第1のデータ保持手段において当該第2の受信用ダイナミックIDに関連付けられて保持された第2のIDと、を照合して認証を行う第2の認証手段と、を具備する。
ここで、第2の認証手段も、
(X◎Y)◎Y=X
を満たす演算子◎を使用し、前記第2のダイナミックIDをD−ID、前記第1の認証鍵をAK’、AKとしたときに、
(D−ID◎AK’)◎AK=ID
となるIDを取り出す。
更に、第1の端末装置は、前記第2の端末装置から送信された前記第2の暗号化乱数と前記第1のデータ保持手段に保持された第1の認証鍵を用いて、第2の乱数を取得し、前記第1の乱数と、前記第2の乱数と、前記第1の認証鍵から第2の共有シードを生成する第2の共有シード生成手段を具備する。
更に、第1の端末装置は、前記第2の共有シードと所定の関数とを用いて、前記第1の認証鍵を更新し、前記更新された認証鍵を用いて、前記第1の送信用ダイナミックID及び第2の受信用ダイナミックIDを更新し、前記第1のデータ保持手段に保持する
第1の発明は、第1の端末装置と第2の端末装置との相互認証を行う認証システムである。第1の発明の認証システムにおいて、第1の端末装置をクライアントとし、第2の端末装置をサーバコンピュータとし、サーバコンピュータがクライアントを認証する認証システムに拡張することも可能である。
次に、第2の発明は、ネットワークを介してクライアントに接続され、前記クライアントを認証するサーバコンピュータであって、前記クライアントから、第1の送信用ダイナミックIDと、第1の暗号化乱数と、第1の認証コードを取得する手段と、受信用ダイナミックIDと、前記受信用ダイナミックIDに関連付けられた、IDと少なくとも2つ以上の認証鍵を保持するデータ保持手段と、前記データ保持手段から、前記第1の送信用ダイナミックIDと一致する受信用ダイナミックIDを検出する検出手段と、前記検出手段によって検出された受信用ダイナミックIDに関連付けられる少なくとも2つ以上の認証鍵を、前記データ保持手段から取得し、前記第1の送信用ダイナミックIDと前記データ保持手段から取得した認証鍵とを利用して演算を行い、IDを算出し、前記算出されたIDと、前記データ保持手段において当該受信用ダイナミックIDに関連付けられて保持されたIDと、を照合して認証を行う認証手段と、を具備することを特徴とするサーバコンピュータである。
第2の発明は、ネットワークを介して接続可能な、クライアントである端末装置からのアクセスを認証するサーバコンピュータであり、その認証にはダイナミックIDを用いる。
ここで、認証手段は、
(X◎Y)◎Y=X
を満たす演算子◎を使用し、
前記第1の送信用ダイナミックIDをD−ID、前記認証鍵をAK’、AKとしたときに、
(D−ID◎AK’)◎AK=ID
となるIDを取り出す。
更に、サーバコンピュータは、認証鍵と、クライアントから送信された第1の暗号化乱数を用いて、第2の認証コードを生成する認証コード生成手段と、前記第1の認証コードと前記第2の認証コードを照合する手段を具備する。
第2の発明におけるサーバコンピュータは、第2の乱数を生成する乱数生成手段と、クライアントから送信された前記第1の暗号化乱数と前記データ保持手段に保持された認証鍵を用いて、第1の乱数を取得し、前記第1の乱数と、前記第2の乱数とから共有シードを生成する共有シード生成手段を、更に具備する。
また、サーバコンピュータは、第2の乱数を生成する乱数生成手段と、前記クライアントから送信された前記第1の暗号化乱数と前記データ保持手段に保持された認証鍵を用いて、第1の乱数を取得し、前記第1の乱数と、前記第2の乱数と、前記認証鍵とから共有シードを生成する共有シード生成手段を、更に具備する。
ここで、第2の発明におけるサーバコンピュータの機能やその効果は、第1の発明における第2の端末と同様である。
第3の発明は、ネットワークを介してクライアントに接続し、前記クライアントを認証する認証システムのサーバコンピュータであって、前記クライアントから、第1のダイナミックIDを取得する手段と、第2のダイナミックIDと、前記第2のダイナミックIDに関連付けられた、IDと少なくとも2つ以上の認証鍵を保持するデータ保持手段と、前記データ保持手段から、前記第1のダイナミックIDと一致する第2のダイナミックIDを検出する検出手段と、前記検出手段によって検出された第2のダイナミックIDに関連付けられる少なくとも2つ以上の認証鍵を、前記データ保持手段から取得し、前記第1のダイナミックIDと前記データ保持手段から取得した認証鍵とを利用して演算を行い、IDを算出し、前記算出されたIDと、前記データ保持手段において当該第2のダイナミックIDに関連付けられて保持されたIDと、を照合して認証を行う認証手段と、を具備することを特徴とするサーバコンピュータである。
第3の発明であるサーバーコンピュータは、クライアントから送信されるダイナミックIDを認証するものである。
ここで、認証手段は、
(X◎Y)◎Y=X
を満たす演算子◎を使用し、
前記第1のダイナミックIDをD−ID、前記認証鍵をAK’、AKとしたときに、
(D−ID◎AK’)◎AK=ID
となるIDを取り出す。この演算子◎は例えば「XOR」などである。
第4の発明は、コンピュータを第2の発明又は第3の発明のサーバコンピュータとして機能させるプログラムである。
第5の発明は、コンピュータを第2の発明又は第3の発明のサーバコンピュータとして機能させるプログラムを記録した記録媒体である。
上述のプログラムをCD−ROM等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
本発明によれば、ネットワークを介して接続可能な2つの端末間の通信セッションにおいて、安全性が高く、端末にとって低負荷で効率の良い認証処理を行うことができる。
以下に、添付図面を参照しながら、本発明に係る認証システム等の好適な実施形態について詳細に説明する。なお、以下の説明および添付図面において、略同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略することにする。
図1は、本発明の本実施の形態に係る認証システム1の概略構成を示す図である。
図1は、認証システム1の1例であり、図1に示すように、情報管理システム1は、ネットワーク2を介して相互に接続されるイニシエータ3、レスポンダ5等から構成される。
ネットワーク2は、公衆回線、インターネット、ローカルエリアネットワーク(LAN)等のネットワークであり、有線、無線を問わない。
レスポンダ5は、レスポンダ5に接続する各種サーバ7の認証サーバとして機能する。レスポンダ5自身がサーバ7のサービス提供機能等を備えていても構わない。イニシエータ3、レスポンダ5は、CPU、記憶装置、通信装置などを備えたVPN(Virtual Private Network)装置であるが、パーソナルコンピュータ、PDA端末、サーバ装置でもかまわない端末装置等である。
図2はイニシエータ3の内部構成ブロック図である。
イニシエータ3は、XOR演算器31、乱数発生器33、ハッシュ演算器35、認証情報テーブル39等から構成される。
XOR演算器31は、排他的論理和演算回路「XOR」を行う。乱数発生器33は乱数を発生する。ハッシュ演算器35はハッシュ関数を用いてデータの暗号化処理を行う。共有シード生成器37は共有シードを作成する。
イニシエータ3は、D−ID処理モジュール110、暗号化乱数処理モジュール112、認証鍵処理モジュール114を備える。ここで、D−IDはセッションごとに利用するダイナミックID、使い捨てIDを示す。D−ID処理モジュール110はXOR演算器31を利用し,D−IDの生成、認証等の処理を行う。暗号化乱数処理モジュール112は乱数生成器33,XOR演算器31、及びハッシュ演算器35を利用し,暗号化乱数やメッセージ認証コードなど乱数の交換に関する処理を行う。認証鍵処理モジュール114は乱数発生器33、ハッシュ演算器35、共有シード生成器37を利用し、認証鍵の生成、更新等の処理を行う。これらの処理については、後に詳細に説明する。
これらの処理はアプリケーションプログラムとしてイニシエータ3の記憶装置或いは記録媒体等に格納され、イニシエータ3のCPUはプログラムをRAM上のワークメモリ領域に呼び出して実行する。
図3はレスポンダ5の内部構成ブロック図である。
レスポンダ5は、XOR演算器51、乱数発生器53、ハッシュ演算器55、認証情報テーブル59等から構成される。
XOR演算器51は、排他的論理和演算回路「XOR」を行う。乱数発生器53は乱数を発生する。ハッシュ演算器55はハッシュ関数を用いてデータの暗号化処理を行う。共有シード生成器57は共有シードを作成する。
レスポンダ5は、D−ID処理モジュール120、暗号化乱数処理モジュール122、認証鍵処理モジュール124を備える。D−ID処理モジュール120はXOR演算器51を利用し、D−IDの生成、認証等の処理を行う。暗号化乱数処理モジュール122は乱数生成器53、XOR演算器51、及びハッシュ演算器55を利用し,暗号化乱数やメッセージ認証コードなど乱数の交換に関する処理を行う。認証鍵処理モジュール124は乱数発生器53、ハッシュ演算器55、共有シード生成器57を利用し、認証鍵の生成、更新等の処理を行う。これらの処理については、後に詳細に説明する。
これらの処理はアプリケーションプログラムとしてレスポンダ5の記憶装置や記録媒体等に格納され、レスポンダ5のCPUはプログラムをRAM上のワークメモリ領域に呼び出して実行する。
図4はイニシエータ3が保持する認証情報管理テーブル39を示す図である。認証情報管理テーブル39は、イニシエータ3の記憶装置や記録媒体等に保持される。
認証情報管理テーブル39は、ID61、受信用使い捨てID63、認証鍵65、67、送信用使い捨てID69を保持する。ID61は、レスポンダ5の固定IDであり、IDとする。受信用使い捨てID63は、例えばiセッションでイニシエータ3がレスポンダ5から受信するダイナミックIDであり、D−ID とする。
認証鍵65、67に関して、例えば、iセッションにおける認証鍵はAKとAK’である。送信用使い捨てID69は、例えばiセッションでイニシエータ3がレスポンダ5に送信するダイナミックIDであり、D−ID とする。
図5はレスポンダ5が保持する認証情報管理テーブル59を示す図である。認証情報管理テーブル59は、レスポンダ5の記憶装置や記録媒体等に保持される。
認証情報管理テーブル59は、ID71、受信用使い捨てID73、認証鍵75、77、送信用使い捨てID79を保持する。ID71は、イニシエータ3の固定IDであり、IDとする。受信用使い捨てID73は、例えばiセッションでレスポンダ5がイニシエータ3から受信するダイナミックIDであり、D−ID とする。
認証鍵75、77に関して、例えば、iセッションにおける認証鍵はAKとAK’である。送信用使い捨てID79は、例えばiセッションでレスポンダ5がイニシエータ3に送信するダイナミックIDであり、D−ID とする。
以下、認証システム1の認証処理について説明する。
図6は、イニシエータ3とレスポンダ5間における認証処理の流れを示す概略フローチャートである。ここでは、イニシエータ3とレスポンダ5のiセッションの相互認証処理を考える。
イニシエータ3は、送信データを作成し(ステップ201)、送信文2000をレスポンダ5に送信する。送信文2000は、使い捨てID(ダイナミックID)D−ID 、暗号化乱数RI 、認証コードHMACAK’i(RI )等である。レスポンダ5は、認証情報管理テーブル59から受信したD−ID をキーに検索し(ステップ202)、受信したD−ID に対応する認証鍵AK及びAK’を特定し(ステップ203)、ID を取得し(ステップ204)、ID の正当性を判断する(ステップ205)。
次に、レスポンダ5は乱数r を生成し、共有シードKを生成する(ステップ206)。レスポンダ5は、暗号化乱数R を作成して、イニシエータ3に送信する送信文を作成し(ステップ207)、i+1セッション用のデータを作成する(ステップ208)。レスポンダ5はステップ207で作成した送信文3000をイニシエータ3に送信する。送信文3000は、使い捨てID(ダイナミックID)D−ID 、暗号化乱数R 、認証コードHMACAK’i(R )等である。
イニシエータ3は、受信した送信文3000を用いて、ID の正当性を確認し(ステップ209)、共有シードKを作成し(ステップ210)、次の(i+1)番目のセッション用のデータを作成する(ステップ211)。
以下、各ステップについて詳細に説明する。
(ステップ201)
ステップ201は、イニシエータ3において、レスポンダ5に送信する送信データを作成する処理である。図7は送信データ作成処理のフローチャートを示す。
イニシエータ3は、通信を行うため、認証情報管理テーブル39からレスポンダ5との通信に利用する送信用ダイナミックID(使い捨てID)であるD−ID を選択する(ステップ221)。イニシエータ3は、乱数生成器33により乱数r を生成し(ステップ222)、認証情報管理テーブル39においてD−ID と関連付けられている認証鍵65であるAKと乱数r を使用し、XOR演算器31により
= AKXOR

として送信用の暗号化乱数R を生成する(ステップ223)。
こうして生成したR の正当性を保証するため、イニシエータ3はハッシュ演算器35を用いて、送信用のダイナミックIDであるD−ID と関連付けられているAK’を認証鍵としてメッセージ認証コード(以後「HMAC」と記載)を生成する(ステップ224)。例えば、ハッシュ関数をH(x)とすると、HMACはH(AK’,R )という、認証鍵AK’と暗号化乱数R の関数となる。こうして、D−ID とR 及びHMACを用いて送信メッセージ2000を作成し(ステップ225)、メモリにセットする。
ステップ201の送信文作成の準備処理終了後、メモリにセットされている送信メッセージ2000をレスポンダ5に送信する。
(ステップ202〜ステップ205)
次に、レスポンダ5による認証処理について説明する。
ステップ202からステップ205の認証処理は、送信メッセージ2000を受信したレスポンダ5により実行される処理であり、DoS攻撃チェックとD−ID による認証で構成される。
図8は、DoS攻撃チェック処理手順を示すフローチャートである。
レスポンダ5は、イニシエータ3から受信したメッセージ2000のうち、D−ID をキーとして、認証情報管理テーブル59を検索し(ステップ301)、D−ID が存在するかどうかをチェックする(ステップ302)。
D−ID が存在する場合は合格出力をし,次の認証処理に移行する(ステップ303)が、D−ID が存在しない場合、DoS攻撃とみなして通信を強制終了する(ステップ304)。
図9は、D−ID による認証処理手順を示すフローチャートである。
レスポンダ5は、認証情報管理テーブル59を参照して、受信したダイナミックID73であるD−ID に対応する認証鍵75,77のAK,AK’を選択する(ステップ401)。
次に、レスポンダ5のXOR演算器51は、受信したD−ID と認証鍵AK,AK’とから
ID= D−ID XOR AK XOR AK’
を実行し、IDを取り出す(ステップ402)。
ここでは、排他的論理和演算「XOR」を用いたが、
(X◎Y)◎Y = X
となるような演算子◎を用いた演算を使用すればよい。
こうして、XOR演算により取り出されたIDと、認証情報管理テーブル59にてD−ID と関連付けられて保持されているID71であるIDとを突合せ処理を行い(ステップ403)、両者のIDが一致するかどうかを判定する(ステップ404)。
両者のIDが一致した場合は,イニシエータ3が正規の通信相手であると認証する(ステップ405)。ステップ404にて両者のIDが一致せず、D−ID が他にも存在する、つまりD−IDが重複している場合はステップ401に戻って(ステップ406)処理を繰り返す。
(ステップ206〜ステップ208)
次に、更新処理について説明する。
更新処理は、レスポンダ5により認証処理終了後に行う処理であり、共有シード作成(ステップ206)、送信データ作成(ステップ207)、i+1セッション用データ作成(ステップ208)のステップから構成される。
はじめに、図10のフローチャートを使用して、共有シード作成手順について説明する。
認証情報管理テーブル59において、受信したD−ID に対応した認証鍵77であるAK’と、イニシエータから受信した送信文2000の第2要素の暗号化乱数R を使用し,ハッシュ演算器55により認証コードHMACを作成して(H(AK’,R )を計算)、送信文2000の第3要素であるHMACの正当性、即ちレスポンダ5が作成したHMACと送信文2000として受信したHMACとが一致するかどうかを判定する(ステップ501)。
ステップ501において、HMACが一致した場合は、イニシエータ3によって正しい暗号化乱数が送信されたとみなして処理を続行するが、一致しない場合は、悪意のある者により暗号化乱数はすりかえられた等と判断して通信を強制終了する(ステップ502)。
レスポンダ5のXOR演算器51は、イニシエータ3から受信したメッセージ2000の第2要素である暗号化乱数R を獲得し(ステップ502)、認証情報管理テーブル59の認証鍵AKを用いて、
= R XOR AK
によって乱数r を生成する(ステップ503)。
次に、乱数発生器53により新たに乱数r を生成して
= y(r , r , AK’)
より共有シードKを生成する(ステップ504)。
関数yは乱数r 、r と履歴情報AK’を含む関数であり、ここでは、例えば、
= y(r , r , AK’)
=r +r +AK’
とする。
次に、図11のフローチャートを参照して、送信データ作成処理について説明する。
レスポンダ5の乱数生成器53で生成したr と、認証情報管理テーブル59でI−DIに対応した認証鍵75のAKを使用し、
=r XOR AK
により送信用の暗号化乱数R を生成する(ステップ601)。
こうして生成したR の正当性を保証するため、レスポンダ5はハッシュ演算器55を用いて、送信用のダイナミックID79であるD−ID と関連付けられている認証鍵77のAK’を認証鍵としてメッセージ認証コードHMACを生成する(ステップ602)。ここで、ハッシュ関数をH(x)とすると、HMACはH(AK’,R )という、認証鍵AK’と暗号化乱数R の関数となる。こうして、D−ID とR 及びHMACを用いて送信メッセージ3000を作成し(ステップ603)、メモリにセットする。
次に、図12のフローチャートを参照して、次セッション(i+1)セッションのデータ作成処理について説明する。
共有シードKと一方向性関数を使用し,i+1セッションで使用する認証鍵AKi+1,AK’i+1を生成する(ステップ701)。なお,一方向性関数としては、例えば、ハッシュ関数h(x)を使用して以下の演算により認証鍵を生成する。
AKi+1 = h(K
AK’i+1 = h’(K
共有シードKは,AKi+1及びAK’i+1生成後は不要であるため,削除する。
次に、イニシエータ3のIDであるIDとAKi+1,AK’i+1を使用し、i+1セッションで使用する受信用D−IDであるD−ID i+1を生成し、同様にレスポンダ5のIDであるIDとAKi+1,AK’i+1を使用し、i+1セッションで使用する送信用D−IDであるD−ID i+1を生成する(ステップ702)。
上記のD−ID i+1とD−ID i+1は、XOR演算器51によるXOR演算を使用した以下の演算により生成する。
D−ID i+1
= ID XOR AK XOR AK’
D−ID i+1
= ID XOR AK XOR AK’
こうして作成したi+1セッションにおける認証鍵75,77であるAKi+1及びAK’i+1、受信用ダイナミックID73であるD−ID i+1、送信用ダイナミックID79となるD−ID i+1をi+1セッション用の認証情報として、イニシエータ3の固定IDであるIDと関連付け、認証情報管理テーブ
ル59に保持する(ステップ703)。
こうして更新処理終了した後、ステップ206にてメモリにセットされている送信メッセージ3000をイニシエータ3に送信する(ステップ208)。
(ステップ209)
次に、イニシエータ3による認証処理について説明する。
ステップ209の認証処理は、レスポンダ5からの送信メッセージ3000を受信したイニシエータ3により実行される処理であり、DoS攻撃チェックとD−ID による認証処理で構成される。
図13は、DoS攻撃チェック処理手順を示すフローチャートである。
イニシエータ3は、レスポンダ5から受信したメッセージ3000のうち、D−ID をキーとして、認証情報管理テーブル39を検索し(ステップ901)、D−ID が存在するかどうかをチェックする(ステップ902)。
D−ID が存在する場合は合格出力をし,次の認証処理に移行する(ステップ903)が、D−ID が存在しない場合、DoS攻撃とみなして通信を強制終了する(ステップ904)。
図14は、D−IDによる認証処理手順を示すフローチャートである。
イニシエータ3は、認証情報管理テーブル39から受信したダイナミックID63であるD−ID に対応する認証鍵65,67のAK,AK’を選択する(ステップ1001)。
次に、イニシエータ3のXOR演算器31は、受信したD−ID と認証鍵AK,AK’とから
ID= D−ID XOR AK,XOR AK’
を実行し、IDを取り出す(ステップ1002)。
こうして、XOR演算により取り出されたIDと、認証情報管理テーブル39にてD−ID と関連付けられて保持されているID61であるIDとを突合せ処理を行い(ステップ1003)、両者のIDが一致するかどうかを判定する(ステップ1004)。
両者のIDが一致した場合は,イニシエータ3が正規の通信相手であると認証する(ステップ1005)。ステップ1004にて両者のIDが一致せず、D−ID が他にも存在する、つまりD−IDが重複している場合はステップ1001に戻って(ステップ1006)処理を繰り返す。
(ステップ210、ステップ211)
次に、イニシエータ3における更新処理について説明する。
更新処理は、イニシエータ3により認証処理終了後に行う処理であり、共有シード作成(ステップ211)、i+1セッション用データ作成(ステップ212)のステップから構成される。
はじめに、図15のフローチャートを使用して、共有シード作成手順について説明する。
認証情報管理テーブル39で受信したD−IDに対応した認証鍵67であるAK’と、レスポンダから受信したメッセージ3000の第2要素の暗号化乱数R を使用し、ハッシュ演算器35によりHMACを作成して(H(AK’,R )を計算)、第3要素であるHMACの正当性、即ちイニシエータ3が作成したHMACと送信文3000として受信したHMACが一致するかどうかを判定する(ステップ1101)。
ステップ1101において、HMACが一致した場合は、レスポンダ5によって正しい暗号化乱数が送信されたとみなして処理を続行するが、一致しない場合は、悪意のある者により暗号化乱数はすりかえられた等と判断して通信を強制終了する(ステップ1105)。
イニシエータ3のXOR演算器31は、受信したメッセージ3000の第2要素である暗号化乱数R を獲得し(ステップ1102)、認証情報管理テーブル39の認証鍵AKを用いて、
= R XOR AK
によって乱数r を生成する(ステップ1103)。
次に、乱数発生器33により新たに乱数r を生成して
= y(r , r , AK’)
より共有シードKを生成する(ステップ1104)。
関数yはステップ504の処理と同様に
= y(r , r , AK’)
=r +r +AK’
とする。
次に、図16のフローチャートを参照して、次セッション(i+1)セッションのデータ作成処理について説明する。
共有シードKと一方向性関数を使用し,i+1セッションで使用する認証鍵AKi+1,AK’i+1を生成する(ステップ1201)。なお,一方向性関数としては、ステップ701の処理と同様の、ハッシュ関数h(x)を使用して以下の演算により認証鍵を生成する。
AKi+1
= h(K
AK’i+1
= h’(K
共有シードKは,AKi+1及びAK’i+1生成後は不要であるため,削除する。
次に、レスポンダのIDであるIDとAKi+1,AK’i+1を使用し、i+1セッションで使用する受信用D−IDであるD−ID i+1を生成し、同様にイニシエータ3のIDであるIDとAKi+1,AK’i+1を使用し、i+1セッションで使用する送信用D−IDであるD−ID i+1を生成する(ステップ1202)。
上記のD−ID i+1とD−ID i+1は、XOR演算器31によるXOR演算を使用した以下の演算により生成する。
D−ID i+1
= ID XOR AK XOR AK’
D−ID i+1
= ID XOR AK XOR AK’
こうして作成したi+1セッションにおける認証鍵65,67であるAKi+1及びAK’i+1、受信用ダイナミックID63であるD−ID i+1、送信用ダイナミックID69となるD−ID i+1をi+1セッション用の認証情報として、レスポンダ5の固定IDであるIDと関連付け、認証情報管理テーブ
ル39に保持される(ステップ1203)。
以上説明した認証処理によって、イニシエータ3とレスポンダ5の通信における認証処理が完了する。
本実施の形態によれば、以下のような効果がある。
ダイナミックIDの生成には通信相手のIDであるID、IDや認証鍵AK及びAK’、が利用されるが、AK及びAK’、はセッション毎に更新される共有シードKを元に生成されるため、安全性が高い。
また、本実施例では、共有シードKの生成に必要な乱数は認証鍵AKを使用した演算子◎(本実施例では「XOR」)によって保護された暗号化乱数として交換されるため、従来の技術であるSIGNAL方式のように共有シードKを求めるために、べき乗計算といった負荷の高い演算処理を必要としない。
また、従来のSIGNAL方式では、認証処理の過程で暗号化された認証情報の復号処理が必要であるが、一般的な暗号化処理を用いた場合、その複合処理には負荷の高い計算が必要となる。しかし、本実施例では、◎演算子としてXORを使用した場合,必要とされる複合処理は2回のXOR演算のみであり、非常に高速かつ効率的な処理である。
また、本実施例の認証処理は従来に比べて非常に効率的である。例えば、従来のSIGNAL方式ではKの生成,使い捨てID(SIGNAL)、認証情報などの処理において1回のべき乗計算、2回の認証鍵演算、そして4回のハッシュ関数演算が必要となる。一方、本認証システム1では、3回のハッシュ関
数演算の他に、◎演算(XOR演算)を8回用いるだけでよい。
また本実施例において、イニシエータ3とレスポンダ5間で通信されるデータの通信量は従来よりも小さい。
以上述べたように、本認証システム1によれば、安全性が高く、端末にとって低負荷で効率の良い認証処理を行うことができる。
以上説明した認証処理は、イニシエータ3とレスポンダ5のそれぞれが相互に認証を行う場合であるが、第2の実施例として、イニシエータ3はレスポンダ5のクライアント端末であり、レスポンダ5だけが認証処理を行い、イニシエータ3を正しいクライアント端末として認証するシステムも考えられる。
図17は、第2の実施の形態に係る認証システムの認証処理の概略フローチャートである。
イニシエータ3は図4に示す認証情報管理テーブル39を、レスポンダ5は図5に示す認証情報管理テーブル59を、それぞれ保持する。
イニシエータ3は、送信データ(送信文)を作成し(ステップ2001)、送信文をレスポンダ5に送信する。送信文は、使い捨てIDであるD−ID 、暗号化乱数RI 、認証コードHMACAK’i(RI )である。レスポンダ5は、認証情報管理テーブル59から受信したD−ID をキーに検索し(ステップ2002)、受信したD−ID に対応する認証鍵AK及びAK’を特定し(ステップ2003)、ID を取得し(ステップ2004)、ID の正当性を判断する(ステップ2005)。
次に、レスポンダ5は乱数R の正当性を確認し(ステップ2006)、共有シードKを生成し、イニシエータ3に送信する送信文を作成し(ステップ2007)、i+1セッション用のデータを作成する(ステップ2008)。レスポンダ5はステップ2007で作成した送信文をイニシエータ3に送信する。この場合、送信文は、認証OKであるか、そうでないかの判定結果となる。
イニシエータ3は、共有シードKを作成し(ステップ2009)、次の(i+1)番目のセッション用のデータを作成する(ステップ2010)。
図17に示すフローチャートにおいて、ステップ2001からステップ2005までは、図6に示すフローチャートにおけるステップ201からステップ205の処理と同じである。
ステップ2005において、図6のステップ205と同様にして、レスポンダ5のXOR演算器51は、イニシエータ3から受信した暗号化乱数R と、認証情報管理テーブル59の認証鍵AK、AK’を用いて、
= R XOR AK
によって乱数r を生成する。
第2の実施の形態では、ステップ2006、ステップ2007における共有シードKを、乱数r と履歴情報AK、AK’で定義される関数yによって求める。
= y(r , AK, AK’) =r +AK+AK’
こうして生成された共有シードKを用いて、レスポンダ5は、ステップ208と同様にして次セッションである(i+1)セッションのデータを生成する(ステップ2008)。
レスポンダ5がイニシエータ3を認証した場合、レスポンダ5はイニシエータ3に対して「認証OK」の旨を伝える。
イニシエータ3は、関数yを用いてKを生成し(ステップ2009)、次セッションである(i+1)セッションのデータを生成する(ステップ2010)。
また、第3の実施の形態として、イニシエータ3には乱数生成能力が無く、レスポンダ5だけが認証処理を行い、イニシエータ3を正しいクライアント端末として認証するシステムも考えられる。
図18は、第3の実施の形態である認証システムの認証処理の概略フローチャートである。
イニシエータ3は図4に示す認証情報管理テーブル39を、レスポンダ5は図5に示す認証情報管理テーブル59を、それぞれ保持する。
イニシエータ3は、使い捨てID(ダイナミックID)D−ID をレスポンダ5に送信する(ステップ2501)。レスポンダ5は、認証情報管理テーブル59から受信したD−ID をキーに検索し(ステップ2502)、認証鍵AK及びAK’、を特定し(ステップ2503)、ID を取得し(ステップ2504)、ID の正当性を判断する(ステップ2505)。
次に、レスポンダ5は乱数r を生成し、共有シードKを生成する(ステップ2506)。レスポンダ5は、暗号化乱数R を作成して、イニシエータ3に送信する送信文を作成し(ステップ2507)、i+1セッション用のデータを作成する(ステップ2508)。
イニシエータ3はレスポンダ5にD−ID を送信し、レスポンダ5はD−ID を認証する。
ステップ2502からステップ2508における認証処理の詳細は、下記の点を除いて、図17に示す第2の実施例である認証システムのステップ2002からステップ2008の処理と同じである。
第2の実施例である認証システムと第3の実施例である認証システムの処理のとの相違点は、関数yの設定であり、第3の実施例ではイニシエータ3に乱数生成機能が無いため、yは乱数r と履歴情報AK、AK’を含む関数として、例えば、
= y(r , AK, AK’) =r +AK+AK’
とすることである。
レスポンダ5は、イニシエータ3が正しいクライアント端末として認証されると、イニシエータ3に対して、R とMACAK’i(R )を送信する。イニシエータ3は、暗号化乱数R の正当性を確認し(ステップ2509)、共有シードKを生成し(ステップ2510)、i+1セッション用のデータを作成する(ステップ2511)。
ステップ2509において、イニシエータ3は、レスポンダ5から送信された暗号化乱数R と自身が保持する認証鍵AK、AK’とを用いて、認証コードMACAK’i(R )を作成し、作成した認証コードMACAK’i(R )と、レスポンダ5から送信されたMACAK’i(R )とを照合し、両者が等しい場合に、暗号化乱数R の正当性を確認する。
第2の実施例、第3の実施例に係る認証システムの効果も、第1の実施例の認証システム1と同様、安全性が高く、端末にとって低負荷で効率の良い認証処理を行うことができる。
第2の実施例、第3の実施例に係る認証システムは、イニシエータ3とレスポンダ5間の相互認証の必要がない場合に有効である。例えば、レスポンダ3がショッピングサイトのサーバ(或いはサイトに入るための認証サーバ)であり、イニシエータ3はサイト利用者の端末である場合などが考えられる。
以上、添付図面を参照しながら、本発明に係る認証システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
本実施の形態に係る認証システム1の概略構成を示す図 イニシエータ3の内部構成ブロック図 レスポンダ5の内部構成ブロック図 イニシエータ3が保持する認証情報管理テーブル39を示す図 レスポンダ5が保持する認証情報管理テーブル59を示す図 本認証システム1における認証処理の概略フローチャート イニシエータ3における送信データ作成処理手順を示すフローチャート レスポンダ5におけるDoS攻撃チェック処理手順を示すフローチャート レスポンダ5におけるD−IDによる認証処理手順を示すフローチャート レスポンダ5による共有シード作成処理手順を示すフローチャート レスポンダ5による送信データ作成処理手順を示すフローチャート レスポンダ5によるi+1セッション用データ作成処理手順を示すフローチャート イニシエータ3によるDoS攻撃チェック処理手順を示すフローチャート イニシエータ3によるD−IDによる認証処理手順を示すフローチャート イニシエータ3による共有シード作成処理手順を示すフローチャート イニシエータ3によるi+1セッション用データ作成処理手順を示すフローチャート レスポンダ5がクライアントであるイニシエータ3を認証する認証システムにおける認証処理の概略フローチャート イニシエータ3が乱数生成機能を有しない場合の認証システムにおける認証処理の概略フローチャート 従来技術であるSIGNAL方式による認証システムにおける認証処理の概略フローチャート 従来技術であるSIGNAL方式による認証システムの演算処理テーブルを示す図 従来技術におけるイニシエータ7100が保持する認証情報管理テーブルを示す図 従来技術におけるレスポンダ7200が保持する認証情報管理テーブルを示す図
符号の説明
1………認証システム
2………ネットワーク
3………イニシエータ
5………レスポンダ
7………サーバ
31、51………XOR演算器
33、53………乱数生成器
35、55………ハッシュ演算器
37、57………共有シード生成器
39、59………認証情報管理テーブル

Claims (37)

  1. ネットワークを介して接続された第1の端末装置と第2の端末装置間の認証処理を行う認証システムであって、
    前記第1の端末は、
    第1の送信用ダイナミックIDと、前記第1の送信用ダイナミックIDに関連付けられた少なくとも2つ以上の第1の認証鍵を保持する第1のデータ保持手段と、
    第1の乱数を生成する第1の乱数生成手段と、
    前記第1のデータ保持手段から第1の送信用ダイナミックIDを選択し、当該第1の送信用ダイナミックIDに対応する前記第1の認証鍵と、前記第1の認証鍵と前記第1の乱数を用いて演算を行い、第1の暗号化乱数を生成する第1の暗号化乱数生成手段と、
    前記第1の暗号化乱数生成手段によって生成された前記第1の暗号化乱数と、前記第1の認証鍵を用いて、第1の認証コードを生成する第1の認証コード生成手段と、
    前記第1の送信用ダイナミックIDと、前記第1の暗号化乱数と、前記第1の認証コードとを、前記第2の端末装置に送信する手段と、
    を具備し、
    前記第2の端末装置は、
    第1の受信用ダイナミックIDと、前記第1の受信用ダイナミックIDに関連付けられた、第1のIDと少なくとも2つ以上の第2の認証鍵を保持する第2のデータ保持手段と、
    前記第2のデータ保持手段から、前記第1の送信用ダイナミックIDと一致する第1の受信用ダイナミックIDを検出する第1の検出手段と、
    前記第1の検出手段によって検出された第1の受信用ダイナミックIDに関連付けられる少なくとも2つ以上の第2の認証鍵を、前記第2のデータ保持手段から取得し、前記第1の送信用ダイナミックIDと前記第2のデータ保持手段から取得した第2の認証鍵とを利用して演算を行い、IDを算出し、前記算出されたIDと、前記第2のデータ保持手段において当該第1の受信用ダイナミックIDに関連付けられて保持された第1のIDと、を照合して認証を行う第1の認証手段と、
    を具備することを特徴とする認証システム。
  2. 前記第1の認証手段は、
    (X◎Y)◎Y=X
    を満たす演算子◎を使用し、
    前記第1の送信用ダイナミックIDをD−ID、第2の認証鍵をAK’、AKとしたときに、
    (D−ID◎AK’)◎AK=ID
    となるIDを算出することを特徴とする請求項1記載の認証システム。
  3. 更に、前記第2の端末装置は、
    前記第2の認証鍵と、前記第1の端末装置から送信された第1の暗号化乱数を用いて、第2の認証コードを生成する第2の認証コード生成手段と、
    前記第1の認証コードと前記第2の認証コードを照合する手段と、
    を具備することを特徴とする請求項1或いは請求項2記載の認証システム。
  4. 更に、前記第2の端末装置は、
    第2の乱数を生成する第2の乱数生成手段と、
    前記第1の端末装置から送信された前記第1の暗号化乱数と前記第2のデータ保持手段に保持された第2の認証鍵を用いて、第1の乱数を取得し、前記第1の乱数と、前記第2の乱数と、前記第2の認証鍵とから第1の共有シードを生成する第1の共有シード生成手段と、
    を具備することを特徴とする請求項1から請求項3のいずれかに記載の認証システム。
  5. 前記第2のデータ保持手段は、前記第1の受信用ダイナミックIDに関連付けて第2の送信用ダイナミックIDを更に保持し、
    更に、前記第2の端末装置は、
    前記第2の乱数と、前記第2の認証鍵と、を用いて、前記演算子による演算を行い、第2の暗号化乱数を生成する第2の暗号化乱数生成手段と、
    前記第2の暗号化乱数生成手段によって生成された第2の暗号化乱数と、前記第2の認証鍵を用いて、第2の認証コードを生成する第2の認証コード生成手段と、
    前記第2の送信用ダイナミックIDと、前記第2の暗号化乱数と、前記第2の認証コードとを、前記第1の端末装置に送信する手段と、
    を具備することを特徴とする請求項4記載の認証システム。
  6. 更に、前記第2の端末装置は、
    前記第1の共有シードと所定の関数とを用いて、前記第2の認証鍵を更新し、
    前記更新された認証鍵を用いて、前記第2の送信用ダイナミックID及び前記第1の受信用ダイナミックIDを更新し、前記第2のデータ保持手段に保持することを特徴とする請求項4記載の認証システム。
  7. 前記第1のデータ保持手段は、第2の受信用ダイナミックIDと、前記第2の受信用ダイナミックIDに関連付けられた、第2のIDと少なくとも2つ以上の第1の認証鍵を保持し、
    前記第1の端末装置は、
    前記第1のデータ保持手段から、前記第2の送信用ダイナミックIDと一致する第2の受信用ダイナミックIDを検出する第2の検出手段と、
    前記第2の検出手段によって検出された第2の受信用ダイナミックIDに関連付けられる少なくとも2つ以上の第1の認証鍵を、前記第1のデータ保持手段から取得し、前記第2の送信用ダイナミックIDと前記第2のデータ保持手段から取得した第2の認証鍵とを利用して演算を行い、IDを算出し、前記算出されたIDと、前記第1のデータ保持手段において当該第2の受信用ダイナミックIDに関連付けられて保持された第2のIDと、を照合して認証を行う第2の認証手段と、
    を具備することを特徴とする請求項1から請求項7のうちのいずれかに記載された認証システム。
  8. 前記第2の認証手段は、
    (X◎Y)◎Y=X
    を満たす演算子◎を使用し、
    前記第2の送信用ダイナミックIDをD−ID、前記第1の認証鍵をAK’、AKとしたときに、
    (D−ID◎AK’)◎AK=ID
    となるIDを算出することを特徴とする請求項7記載の認証システム。
  9. 更に、前記第1の端末装置は、
    前記第2の端末装置から送信された前記第2の暗号化乱数と前記第1のデータ保持手段に保持された第1の認証鍵を用いて、第2の乱数を取得し、前記第1の乱数と、前記第2の乱数と、前記第1の認証鍵から第2の共有シードを生成する第2の共有シード生成手段を具備することを特徴とする請求項7或いは請求項8記載の認証システム。
  10. 更に、前記第1の端末装置は、
    前記第2の共有シードと所定の関数とを用いて、前記第1の認証鍵を更新し、
    前記更新された認証鍵を用いて、前記第1の送信用ダイナミックID及び第2の受信用ダイナミックIDを更新し、前記第1のデータ保持手段に保持することを特徴とする請求項9記載の認証システム。
  11. 更に、前記第2の端末装置は、
    前記第1の端末装置から送信された前記第1の暗号化乱数と前記第2のデータ保持手段に保持された第2の認証鍵を用いて、第1の乱数を取得し、前記第1の乱数と、前記第2の認証鍵とから第1の共有シードを生成する第1の共有シード生成手段と、
    を具備することを特徴とする請求項1から請求項3のいずれかに記載の認証システム。
  12. 更に、前記第2の端末装置は、
    前記第1の共有シードと所定の関数とを用いて、前記第2の認証鍵を更新し、
    前記更新された認証鍵を用いて、前記第2の送信用ダイナミックID及び前記第1の受信用ダイナミックIDを更新し、前記第2のデータ保持手段に保持することを特徴とする請求項11記載の認証システム。
  13. 更に、前記第1の端末装置は、
    前記第1の乱数と前記第1の認証鍵とから第2の共有シードを生成する第2の共有シード生成手段を具備することを特徴とする請求項11或いは請求項12記載の認証システム。
  14. 更に、前記第1の端末装置は、
    前記第2の共有シードと所定の関数とを用いて、前記第1の認証鍵を更新し、
    前記更新された認証鍵を用いて、前記第1の送信用ダイナミックID及び第2の受信用ダイナミックIDを更新し、前記第1のデータ保持手段に保持することを特徴とする請求項13記載の認証システム。
  15. サーバコンピュータが、前記サーバコンピュータとネットワークを介して接続されたクライアントを認証する認証システムであって、
    前記クライアントは、
    第1のダイナミックIDと、前記第1のダイナミックIDに関連付けられた少なくとも2つ以上の第1の認証鍵を保持する第1のデータ保持手段と、
    前記第1のダイナミックIDを、前記サーバコンピュータに送信する手段と、
    を具備し、
    前記サーバコンピュータは、
    第2のダイナミックIDと、前記第2のダイナミックIDに関連付けられた、IDと少なくとも2つ以上の第2の認証鍵を保持する第2のデータ保持手段と、
    前記第2のデータ保持手段から、前記第1のダイナミックIDと一致する第2のダイナミックIDを検出する検出手段と、
    前記検出手段によって検出された第2のダイナミックIDに関連付けられる少なくとも2つ以上の第2の認証鍵を、前記第2のデータ保持手段から取得し、前記第1のダイナミックIDと前記データ保持手段から取得した第2の認証鍵とを利用して演算を行い、IDを算出し、前記算出されたIDと、前記第2のデータ保持手段において当該第2のダイナミックIDに関連付けられて保持されたIDと、を照合して認証を行う認証手段と、
    を具備することを特徴とする認証システム。
  16. 前記認証手段は、
    (X◎Y)◎Y=X
    を満たす演算子◎を使用し、
    前記第1のダイナミックIDをD−ID、前記認証鍵をAK’、AKとしたときに、
    (D−ID◎AK’)◎AK=ID
    となるIDを取り出すことを特徴とする請求項15記載の認証システム。
  17. 更に、前記サーバコンピュータは、
    乱数を生成する乱数生成手段と、
    前記乱数と、前記第2の認証鍵とから第1の共有シードを生成する第1の共有シード生成手段と、
    を具備することを特徴とする請求項15又は請求項16に記載の認証システム。
  18. 更に、前記サーバコンピュータは、
    前記乱数と、前記第2の認証鍵と、を用いて、前記演算子による演算を行い、暗号化乱数を生成する暗号化乱数生成手段と、
    前記暗号化乱数生成手段によって生成された暗号化乱数と、前記第2の認証鍵を用いて、認証コードを生成する認証コード生成手段と、
    前記暗号化乱数と、前記認証コードとを、前記クライアントに送信する手段と、
    具備することを特徴とする請求項17記載の認証システム。
  19. 更に、前記サーバコンピュータは、
    前記第1の共有シードと所定の関数とを用いて、前記第2の認証鍵を更新し、
    前記更新された認証鍵を用いて、前記第1のダイナミックIDを更新し、前記第2のデータ保持手段に保持することを特徴とする請求項17記載の認証システム。
  20. 更に、前記クライアントは、前記サーバコンピュータから送信された暗号化乱数を前記第1の認証鍵を用いて認証コードを作成し、前記作成した認証コードと、前記サーバコンピュータから送信された認証コードとを照合して認証を行うことを特徴とする請求項18に記載された認証システム。
  21. 更に、前記クライアントは、
    前記サーバコンピュータから送信された前記暗号化乱数と前記第1のデータ保持手段に保持された第1の認証鍵を用いて、第2の乱数を取得し、前記第2の乱数と、前記第1の認証鍵とから第2の共有シードを生成する第2の共有シード生成手段を具備することを特徴とする請求項20に記載された認証システム。
  22. 更に、前記クライアントは、
    前記第2の共有シードと所定の関数とを用いて、前記第1の認証鍵を更新し、
    前記更新された認証鍵を用いて、前記第1の送信用ダイナミックIDを更新し、前記第1のデータ保持手段に保持することを特徴とする請求項21記載の認証システム。
  23. ネットワークを介してクライアントに接続され、前記クライアントを認証するサーバコンピュータであって、
    前記クライアントから、第1の送信用ダイナミックIDと、第1の暗号化乱数と、第1の認証コードを取得する手段と、
    受信用ダイナミックIDと、前記受信用ダイナミックIDに関連付けられた、IDと少なくとも2つ以上の認証鍵を保持するデータ保持手段と、
    前記データ保持手段から、前記第1の送信用ダイナミックIDと一致する受信用ダイナミックIDを検出する検出手段と、
    前記検出手段によって検出された受信用ダイナミックIDに関連付けられる少なくとも2つ以上の認証鍵を、前記データ保持手段から取得し、前記第1の送信用ダイナミックIDと前記データ保持手段から取得した認証鍵とを利用して演算を行い、IDを算出し、前記算出されたIDと、前記データ保持手段において当該受信用ダイナミックIDに関連付けられて保持されたIDと、を照合して認証を行う認証手段と、
    を具備することを特徴とするサーバコンピュータ。
  24. 前記認証手段は、
    (X◎Y)◎Y=X
    を満たす演算子◎を使用し、
    前記第1の送信用ダイナミックIDをD−ID、前記認証鍵をAK’、AKとしたときに、
    (D−ID◎AK’)◎AK=ID
    となるIDを算出することを特徴とする請求項23記載のサーバコンピュータ。
  25. 前記認証鍵と、前記クライアントから送信された第1の暗号化乱数を用いて、第2の認証コードを生成する認証コード生成手段と、
    前記第1の認証コードと前記第2の認証コードを照合する手段を、
    更に具備することを特徴とする請求項23或いは請求項24記載のサーバコンピュータ。
  26. 第2の乱数を生成する乱数生成手段と、
    前記クライアントから送信された前記第1の暗号化乱数と前記データ保持手段に保持された認証鍵を用いて、第1の乱数を取得し、前記第1の乱数と、前記第2の乱数と、前記認証鍵とから共有シードを生成する共有シード生成手段を、
    更に具備することを特徴とする請求項23から請求項25のいずれかに記載のサーバコンピュータ。
  27. 前記データ保持手段は、前記受信用ダイナミックIDに関連付けて第2の送信用ダイナミックIDを更に保持し、
    前記第2の乱数と、前記認証鍵と、を用いて、前記演算子による演算を行い、第2の暗号化乱数を生成する暗号化乱数生成手段と、
    前記暗号化乱数生成手段によって生成された第2の暗号化乱数と、前記認証鍵を用いて、第2の認証コードを生成する認証コード生成手段と、
    前記第2の送信用ダイナミックIDと、前記第2の暗号化乱数と、前記第2の認証コードとを、前記クライアントに送信する手段と、
    具備することを特徴とする請求項26記載のサーバコンピュータ。
  28. 前記共有シードと所定の関数とを用いて、前記認証鍵を更新し、
    前記更新された認証鍵を用いて、前記受信用ダイナミックIDおよび前記第2の送信用ダイナミックIDを更新し、前記データ保持手段に保持することを特徴とする請求項26或いは請求項27記載のサーバコンピュータ。
  29. 前記クライアントから送信された前記第1の暗号化乱数と前記データ保持手段に保持された認証鍵を用いて、第1の乱数を取得し、前記第1の乱数と、前記認証鍵とから共有シードを生成する共有シード生成手段を、
    更に具備することを特徴とする請求項23から請求項25のいずれかに記載のサーバコンピュータ。
  30. 前記共有シードと所定の関数とを用いて、前記認証鍵を更新し、前記更新された認証鍵を用いて、前記受信用ダイナミックIDを更新し、前記データ保持手段に保持することを特徴とする請求項29記載のサーバコンピュータ。
  31. ネットワークを介してクライアントに接続し、前記クライアントを認証する認証システムのサーバコンピュータであって、
    前記クライアントから、第1のダイナミックIDを取得する手段と、
    第2のダイナミックIDと、前記第2のダイナミックIDに関連付けられた、IDと少なくとも2つ以上の認証鍵を保持するデータ保持手段と、
    前記データ保持手段から、前記第1のダイナミックIDと一致する第2のダイナミックIDを検出する検出手段と、
    前記検出手段によって検出された第2のダイナミックIDに関連付けられる少なくとも2つ以上の認証鍵を、前記データ保持手段から取得し、前記第1のダイナミックIDと前記データ保持手段から取得した認証鍵とを利用して演算を行い、IDを算出し、前記算出されたIDと、前記データ保持手段において当該第2のダイナミックIDに関連付けられて保持されたIDと、を照合して認証を行う認証手段と、
    を具備することを特徴とするサーバコンピュータ。
  32. 前記認証手段は、
    (X◎Y)◎Y=X
    を満たす演算子◎を使用し、
    前記第1のIDをD−ID、前記認証鍵をAK’、AKとしたときに、
    (D−ID◎AK’)◎AK=ID
    となるIDを取り出すことを特徴とする請求項31記載のサーバコンピュータ。
  33. 乱数を生成する乱数生成手段と、
    前記乱数と、前記認証鍵とから共有シードを生成する共有シード生成手段と、
    を具備することを特徴とする請求項31又は請求項32に記載のサーバコンピュータ。
  34. 前記乱数と、前記認証鍵と、を用いて、前記演算子による演算を行い、暗号化乱数を生成する暗号化乱数生成手段と、
    前記暗号化乱数生成手段によって生成された暗号化乱数と、前記認証鍵を用いて、認証コードを生成する認証コード生成手段と、
    前記暗号化乱数と、前記認証コードとを、前記クライアントに送信する手段と、
    を更に具備することを特徴とする請求項33記載のサーバコンピュータ。
  35. 前記共有シードと所定の関数とを用いて、前記認証鍵を更新し、
    前記更新された認証鍵を用いて、前記第1のダイナミックIDを更新し、前記データ保持手段に保持することを特徴とする請求項33記載のサーバコンピュータ。
  36. コンピュータを請求項23から請求項35のいずれかに記載されたサーバコンピュータとして機能させるプログラム。
  37. コンピュータを請求項23から請求項35のいずれかに記載されたサーバコンピュータとして機能させるプログラムを記録した記録媒体。
JP2006164254A 2006-06-14 2006-06-14 認証システム、サーバコンピュータ、プログラム、及び、記録媒体 Active JP4874007B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006164254A JP4874007B2 (ja) 2006-06-14 2006-06-14 認証システム、サーバコンピュータ、プログラム、及び、記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006164254A JP4874007B2 (ja) 2006-06-14 2006-06-14 認証システム、サーバコンピュータ、プログラム、及び、記録媒体

Publications (2)

Publication Number Publication Date
JP2007336127A JP2007336127A (ja) 2007-12-27
JP4874007B2 true JP4874007B2 (ja) 2012-02-08

Family

ID=38935188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006164254A Active JP4874007B2 (ja) 2006-06-14 2006-06-14 認証システム、サーバコンピュータ、プログラム、及び、記録媒体

Country Status (1)

Country Link
JP (1) JP4874007B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5072629B2 (ja) * 2008-02-04 2012-11-14 株式会社東芝 制御装置、被制御装置、制御方法
JP2010056673A (ja) * 2008-08-26 2010-03-11 Tss Lab:Kk 認証処理方法、認証処理プログラム、記録媒体および認証処理システム
US9755833B2 (en) 2008-12-03 2017-09-05 Nec Corporation Identification information management system, method of generating and managing identification information, terminal, and generation and management programs
JP5376663B2 (ja) * 2009-11-26 2013-12-25 イーパーセル株式会社 暗号化データ配送のための送信装置、受信装置、及び管理サーバ、並びに暗号化データ配送のための送信プログラム、受信プログラム、及び管理プログラム、並びに暗号化データ配送システム、並びに暗号化データの配送方法
EP3446549B1 (en) * 2016-04-21 2022-06-08 Signify Holding B.V. Systems and methods for verifying credentials
JP6779702B2 (ja) * 2016-08-09 2020-11-04 株式会社日立製作所 プログラムを保護する方法

Also Published As

Publication number Publication date
JP2007336127A (ja) 2007-12-27

Similar Documents

Publication Publication Date Title
CN110537346B (zh) 安全去中心化域名系统
Alizai et al. Improved IoT device authentication scheme using device capability and digital signatures
CN108111301B (zh) 基于后量子密钥交换实现ssh协议的方法及其系统
Jiang et al. Improvement of robust smart‐card‐based password authentication scheme
Jiang et al. Robust extended chaotic maps-based three-factor authentication scheme preserving biometric template privacy
CN108880822B (zh) 一种身份认证方法、装置、系统及一种智能无线设备
CN109618326B (zh) 用户动态标识符生成方法及服务注册方法、登录验证方法
CN108418691B (zh) 基于sgx的动态网络身份认证方法
He et al. A social-network-based cryptocurrency wallet-management scheme
Karuppiah et al. A secure lightweight authentication scheme with user anonymity for roaming service in ubiquitous networks
US9531540B2 (en) Secure token-based signature schemes using look-up tables
JP5224481B2 (ja) パスワード認証方法
WO2006014358A1 (en) Password-protection module
JP2003536320A (ja) 複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア
JP2004508619A (ja) トラステッド・デバイス
Albalawi et al. A survey on authentication techniques for the internet of things
CN106789032B (zh) 服务器与移动设备间秘密共享的单一口令三方认证方法
TW201426383A (zh) 身份驗證系統及方法
Lounis et al. Bad-token: denial of service attacks on WPA3
US20210241270A1 (en) System and method of blockchain transaction verification
JP4874007B2 (ja) 認証システム、サーバコンピュータ、プログラム、及び、記録媒体
Dey et al. Message digest as authentication entity for mobile cloud computing
Kumar et al. An efficient privacy-preserving id centric authentication in iot based cloud servers for sustainable smart cities
Madhusudhan et al. Security bound enhancement of remote user authentication using smart card
Andola et al. An enhanced smart card and dynamic ID based remote multi-server user authentication scheme

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090427

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

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

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

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4874007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350