JP2009111594A - 短い系列を用いた認証システム - Google Patents

短い系列を用いた認証システム Download PDF

Info

Publication number
JP2009111594A
JP2009111594A JP2007280297A JP2007280297A JP2009111594A JP 2009111594 A JP2009111594 A JP 2009111594A JP 2007280297 A JP2007280297 A JP 2007280297A JP 2007280297 A JP2007280297 A JP 2007280297A JP 2009111594 A JP2009111594 A JP 2009111594A
Authority
JP
Japan
Prior art keywords
authentication
server
terminal device
key
user
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.)
Granted
Application number
JP2007280297A
Other languages
English (en)
Other versions
JP5004086B2 (ja
Inventor
Kazukuni Kohara
和邦 古原
Seonghan Shin
星漢 辛
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
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 National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2007280297A priority Critical patent/JP5004086B2/ja
Publication of JP2009111594A publication Critical patent/JP2009111594A/ja
Application granted granted Critical
Publication of JP5004086B2 publication Critical patent/JP5004086B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】短い系列を入力してユーザの端末装置とサーバの認証装置の間に安全性を確保しながら相互認証とセッション鍵の確立を行うことができる認証システムを提供する。
【解決手段】短い系列(パスワードなど)を用いた認証システムは、安全性を落とさないセキュリティパラメータを設定して、その範囲で計算量と通信量を小さくするパラメータを選び、そのパラメータで後の処理を行うようにしてシステムを構成する。ユーザの端末装置に短い系列を入力して、ユーザの端末装置とサーバの認証装置の間において相互に認証子を生成して送信し、相互の認証子に基づく相互認証を行い、認証結果によりユーザの端末装置とサーバの認証装置の間でセッション鍵の確立を行う。
【選択図】図1

Description

本発明は、例えば、パスワードなど、ユーザが短い系列を入力してユーザの端末装置とサーバの認証装置の間に安全性を確保しながら高速に相互認証とセッション鍵の確立を行う認証システムに関するものである。
パスワードを用いる認証システムに関係する技術としては、例えば、次のような特許文献1、特許文献2,特許文献3に記載された技術がある。
特許文献1に記載されている「遠隔システムアクセス接続規制方法」の発明は、構内電子交換機が提供するサービス(Remote System Access)を公衆網から利用する際、電子交換機の内部にあるセキュリティ管理装置は利用者(発信者)のパスワードコードと同期して発生された乱数をチェックすることで認証を行う方法である。しかしながら、この方法では、攻撃者が利用者に成りすませるため安全ではない。
特許文献2に記載されている「暗号鍵の配送における認証方式」の発明は、RSA暗号で配送鍵を暗号化した暗号文とその暗号文に署名を付け、相手側に送るとともに、配送鍵を使って共通鍵暗号で共通鍵暗号方式に使うデータ通信用の鍵をパスワードとともに暗号化して送ることで認証を行う。さらに、RSA暗号用の秘密鍵はマスタ鍵で暗号化され保存される。この方式は、認証の際に公開鍵基盤(PKI)を必要とする。つまり、利用者はサーバの公開鍵あるいは認証局の公開鍵を持たなければならない。
特許文献3に記載されている「データ署名装置」の発明は、データ署名に必要とする秘密鍵あるいは公開鍵暗号に必要とする相手側の公開鍵を携帯可能なハウジング内に格納して、利用者から入力されたパスワードが正しい時のみに、暗号用の演算処理を行う。ただし、この方式を安全に利用するには、秘密鍵を保存している携帯可能なハウジングが外部からアクセスや読み取りが不可能であることが必要となっており、デバイスの耐タンパー性が必要となる。
特開平7−245657号公報 特開平62−190943号公報 特開平9−107352号公報
認証システムにおいてパスワードなどの短い系列を安全に利用する場合には、公開鍵暗号など、処理の重い多倍長のべき剰余演算が必要となる。そのため、このような方式をICカードなど、処理能力の小さなデバイスへ実装することは敬遠される。
しかし、電子決済や交通系のゲート通過などでは、低機能のデバイスを用いて高速かつ安全に処理を行うことが必要とされており、認証システムにおいて、安全性を損なうことなく、処理の高速化を実現することが課題となっている。
本発明は、このような課題を解決するためになされたものであり、本発明の目的は、RSA公開鍵暗号方式を使うにもかかわらず、ユーザが短い系列(パスワードなど)を入力してユーザの端末装置とサーバの認証装置の間に安全性を確保しながら高速に相互認証とセッション鍵の確立を行うことができる認証システムを提供することにある。
また、本発明の別の目的は、ユーザが短い系列を入力してユーザの端末装置とサーバの認証装置の間に安全性を確保しながら相互認証とセッション鍵の確立を行う認証システムを用いて、パスワードオンライン攻撃を検出する方法と、以降において他の認証方式を利用するためのデータを安全に共有して記録する方法を提供することにある。
上記の目的を達成するため、本発明の認証システムは、基本的な概念として、短い系列(パスワードなど)を用いた認証システムとし、安全性を落とさないセキュリティパラメータを設定して、その範囲で計算量と通信量を小さくするパラメータを選び、そのパラメータで後の処理を行うようにしてシステムを構成する。これにより、認証システム全体の処理が軽く済むという効果が期待できる。また、これにより、低機能デバイスでの処理を安全性を落とすことなく削減することができるという利点が期待できる。
更には、このような認証システムを用いて共有されたセッション鍵で安全な通信路を確立して、この通信路を経由してオンライン攻撃が行われたか否かを検出できる検出システムを構成する。これによって、認証システム上のユーザが覚えているパスワードの更新時期に関するセキュリティポリシーを立てることが可能になる。
パスワードなどの短い系列に基づく認証システムでは、例えば、オンラインによる短い系列の全数探索(オンライン攻撃)が深刻な問題となるため、それを検出するメカニズムを備えておくことが、その利便性を左右する短い系列の更新時期を決める上でも非常に重要となる。
更に、このような認証システムを用いて、ユーザの端末装置とサーバの認証装置の間で相互認証を行った後に新しい認証データを登録するシステムを構成する。これにより、サーバの認証装置に登録された認証データに基づくほかの認証システムを容易に使うことが可能になる。
具体的に、本発明による認証システムは、システム構成としては、ユーザの端末装置が、サーバの認証装置との間のデータ通信を行う通信処理部と、サーバの認証装置からのRSA公開鍵とパラメータLに基づく前記通信処理部の通信によりユーザの端末装置とサーバの認証装置の間で公開鍵の正しさを決定するユーザ側質問生成・応答確認装置と、入力された短い系列と前記ユーザ側質問生成・応答確認装置により受け取った公開鍵に基づいてサーバの認証装置に送信する認証データを生成するユーザ側認証用データ生成装置と、サーバの認証装置から受信した認証子に対して認証処理を行い、認証の結果によりサーバの認証装置に送信する認証子とセッション鍵を生成するユーザ側認証結果判定装置を備え、サーバの認証装置が、ユーザの端末装置との間のデータ通信を行う通信処理部と、RSA公開鍵を生成して前記通信処理部の通信によりユーザの端末装置に送信し、RSA公開鍵とパラメータLに基づく前記通信処理部の通信によりユーザの端末装置とサーバの認証装置の間で公開鍵の正しさを示すための応答を生成するサーバ側RSA鍵生成・応答生成装置と、ユーザの端末装置からの認証データと前記サーバ側RSA鍵生成・応答生成装置により生成された秘密鍵に基づいてユーザの端末装置に送信する認証子を生成するサーバ側認証用データ生成装置と、ユーザの端末装置から受信した認証子に対して認証処理を行い、認証の結果によりセッション鍵を生成するサーバ側認証結果判定装置とを備える構成される。
認証システムは、このように構成のシステムにおいて、ユーザの端末装置に短い系列を入力して、ユーザの端末装置とサーバの認証装置の間において相互に認証子を生成して送信し、相互の認証子に基づく相互認証を行い、認証結果によりユーザの端末装置とサーバの認証装置の間でセッション鍵の確立を行う。
この認証システムによりユーザの端末装置とサーバの認証装置の間で確立したセッション鍵を使って構成できる安全な通信路を用いて、攻撃者がオンラインで試したパスワードの回数を検出する場合には、上記の認証システムにおいて、ユーザ側認証結果判定装置およびサーバ側認証結果判定装置にそれぞれのログ用メモリを備え、ユーザの端末装置とサーバの認証装置の間において相互に認証子を生成して送信し、相互の認証子に基づく相互認証を行う際に、エラーが発生した時の認証用のデータおよび認証子を前記ログ用メモリに記憶し、前記ログ用メモリに記憶されたデータに基づいて前記通信処理部の通信により不正検出の判断処理を行い、その結果を前記ユーザの端末装置に出力するようにシステムが構成される。
また、この認証システムによりユーザの端末装置とサーバの認証装置の間で確立したセッション鍵を使って構成できる安全な通信路を用いて、ユーザの認証データを登録する場合には、上記の構成の認証システムにおいて、ユーザの端末装置およびサーバの認証装置にそれぞれの認証データを登録する認証データ登録用メモリと、セッション鍵と認証データから共通鍵暗号文を出力する共通鍵暗号演算器と、前記共通鍵暗号文からセッション鍵に基づいて認証データを復号する共通鍵復号演算器とを備え、ユーザの端末装置とサーバの認証装置の間において相互に認証子を生成して送信し、相互の認証子に基づく相互認証を行った際のセッション鍵とRSA鍵に加えてユーザの端末装置とサーバの認証装置の認証データを、それぞれの認証データ登録用メモリに登録して、前記共通鍵暗号演算器により各自の認証データを暗号文とした共通鍵暗号文を送信し、送信された共通鍵暗号文を受信すると、前記共通鍵復号演算器により共通鍵暗号文から相手の認証データを復号して前記認証用データ登録用のメモリに記憶するようにシステムが構成される。
本発明により提供される認証システムは、短い系列を用いても十分なセキュリティを得られるため、基本的に、利用者やサーバ認証を必要とするサービスやアプリケーションのシステムにおいて利用できる。現在、利用者認証やサーバ認証は、電子商取引、サーバやネットワークへのログイン、入退室管理、公的交通機関への搭乗など、リアル、サイバーを問わず至るところで必要とされており、その応用先は広い。
また、本発明による認証システムは、端末動作にかかる処理を、安全性を損なうことなく軽くできるという利点があり、ユビキタスデバイスなど計算能力の低いデバイスへの応用が期待できる。また、この認証システムを用いるパスワードオンライン攻撃検出方法、この認証システムを用いる認証データ登録方法により安全性を損なうことなく利便性を高めることができる。
以下、図面を参照しつつ、本発明の好適な実施例について説明する。本発明は以下の各実施例に限定されるものではなく、例えば、これら実施例の構成要素同士を適宜組み合わせてもよい。
図1は、短い系列を用いた認証システムの構成を示すブロック図である。この認証システム100は、ユーザの端末装置200とサーバの認証装置300が、ネットワークなどの通信路110により結合されて、短い系列(例えば、パスワードなど)のみに基づいて互いに通信を行って認証処理を実行する。ユーザの端末装置200に入力された利用者のパスワード(短い系列入力データ)に基づいて、ユーザの端末装置200およびサーバの認証装置300がお互いに相互認証して、その相互認証が成功した時、同じセッション鍵が確保される。
ここで、RSA公開鍵暗号方式を使った実施例を説明する前に、本発明の実施例の理解を容易とするため、いくつかの背景知識及び以下の説明において用いる記号について説明しておく。
公開鍵暗号方式では、公開鍵(PK)および秘密鍵(SK)の対(PK,SK)が存在する。公開鍵PKは秘密の状態ではなく、誰でも入手できるように公開しておく。それに対して、秘密鍵SKは秘密の状態とされる。
暗号化は、公開鍵PKを用いて、送信したいメッセージmを、暗号化関数EncによりC=EncPK(m)となるようにして、暗号文Cを生成することにより行う。この暗号文Cは、秘密鍵SKを用いてのみ、復号化関数Decによりm=DecSK(C)として復号できる。つまり、暗号文Cは、公開鍵PKを用いては復号できない。
また、公開鍵署名方式では、送信したいメッセージmを、署名化関数Sigによりs=SigSK(m)となるように署名化して、署名文(m,s)を生成することにより認証して送信する。署名文の検証は、公開鍵PKを用いて、検証化関数Verによって、メッセージm’=VerPK(s)を求め、メッセージmとメッセージm’とを比較することにより行う。つまり、メッセージmとメッセージm’が一致した場合は、その署名文(m,s)が正しいことを検証する。そうではない場合は、署名文(m,s)が正しい署名文ではないことになる。
周知のRSA公開鍵方式においては、nを2つのランダムに選択された大きな第1の素数pと第2の素数qの積(すなわち、n=p・q)とし、第1の所定の数eを、当該数eと(p−1)・(q−1)の最大公約数が1であるような任意の数(例えば、e=3あるいはe=216+1)とし、第2の所定の数dを、e−1 mod ((p−1)・(q−1))とすると、この場合に、公開鍵は(e,n)であり、秘密鍵は(d,n)となる。
安全性を最大化するには、第1の素数pと第2の素数qを同じ長さにする。一般に、暗号システムでは、その安全性のレベルを記述するセキュリティパラメータを有する。RSA公開鍵方式において、セキュリティパラメータをkにすると2k−1<n<2である。
メッセージm(m∈Z )に対して、暗号化関数Encは、
EncPK(m)=m mod n
であり、復号化関数Decは、
DecSK(C)=C mod n
である。ここで、暗号文Cと公開鍵(e,n)が与えられた時、メッセージmを求めることは、計算量的に困難である。RSA公開鍵暗号方式は、大きな数nの素因数分解が難しいことから安全性を得ている。また、公開鍵署名方式では、署名化関数Sigは、
SigSK(m)=m mod n
であり、検証化関数Verは、
VerPK(s)=s mod n
である。
ここでは、ハッシュ関数Hのセキュリティパラメータを、v(ただし、1/2は無視できるほど小さいと仮定する)にし、オンライン攻撃に対するセキュリティパラメータをKon(例えば、Kon=2−40)にする。セキュリティパラメータKonは、攻撃者が短い系列(例えば、パスワードなど)に対して、一回のオンライン攻撃で得られる成功確率より小さく設定される。
集合{0,1}は有限の2進数のストリングの集合を示し、集合{0,1}は長さvの2進数のストリングの集合を示す。この場合に、ハッシュ関数Hは、集合{0,1}の入力から集合{0,1}の出力を出す安全な一方向関数であり、FDH(Full−Domain Hash)関数Gは、集合{0,1}の入力から認証データZ \{1}の出力を出す安全な一方向関数である。乱数発生器から発生される乱数としては、乱数t(t∈Z )を無作為に生成する。‖は値を連結(concatenation)するという意味である。ここでの記号CとSは、それぞれユーザとサーバを表すIDである。
このような認証システムにおいて特徴的なことは、与えられたセキュリティパラメータKonに対して、L(エル)を1以上logon −1┐以下の範囲で変化させ、e≧(Kon −1/Lを満たし、(m mod n)の計算量が最も小さくなる素数e(計算量が同じ場合にはその中で最大の素数e)と、それより計算量は大きいが、Lが小さくなる素数e(計算量が同じ場合にはその中でLが最も小さくなる素数eを選択し、計算量とLが同じ場合にはその中で最も大きな素数e)を選択することである。
具体的には、数値例として、Kon=2−40の場合、素数eとして、257、12289、1179649、2748779069441(その際のL(エル)にはそれぞれ5、3、2、1)が選択され、Kon=2−20の場合、素数eとして、17,41,1153,1179649(その際のLにはそれぞれ5、4、2、1)が選択される。
<認証システムの初期化>
まず、ユーザは、自分の短い系列(例えば、パスワードなど)を入力して、これをサーバに安全に登録することにより認証システムの初期化を行う。すなわち、ユーザは自分の短い系列(パスワードpw)を、直接にサーバに渡したり、郵便で送付したり、あるいは電話で知らせるなどして、安全に通知する必要がある。サーバは、サーバの認証装置の内部にあるメモリへユーザの端末装置200のユーザID(C)とパスワードpwを記憶して保存する。これにより、認証システムを初期化する。
次に、前述した初期化を行った後、ユーザの端末装置200とサーバの認証装置300との間で、相互認証および鍵交換の処理を行う。この動作について、図2および図3を参照して説明する。ここで、図2は、ユーザの端末装置200のシステム構成を詳細に示す図であり、図3は、サーバの認証装置300のシステム構成を詳細に示す図である。図2に示すように、ユーザの端末装置200は、通信処理部210、ユーザ側質問生成・応答確認装置220、ユーザ側認証用データ生成装置230、およびユーザ側認証結果判定装置240により構成されており、サーバの認証装置300は、図3に示すように、通信処理部310,サーバ側RSA鍵生成・応答生成装置320、サーバ側認証用データ生成装置330、およびサーバ側認証結果判定装置340から構成されている。
短い系列を用いた認証システム100では、サーバの認証装置300は、RSA公開鍵方式に従って公開鍵と秘密鍵の対を生成し、その公開鍵をユーザの端末装置200に、通信路110を介して送信する。この通信路110を介する通信は安全でない通信であるため、つまり、その公開鍵は、安全が約束されていない通信路110を利用して送信されることになるため、ユーザは、受信した公開鍵が正しいかどうかを決定する必要がある。
この決定は、具体的には、サーバが提供した公開鍵の素数eと(p−1)・(q−1)の最大公約数が1であるかどうか(すなわち、gcd(e,(p−1)・(q−1))=1であるかどうか)を決定する。そのために、ユーザはRSA暗号方式あるいはRSA署名方式を使った質問・応答方式を利用する場合の実施例について説明する。
まず、サーバの認証装置300の動作について説明する。
<サーバの動作>
(1)質問・応答方式を利用する場合(第1の実施例):
図4はサーバ側RSA鍵生成・応答生成装置の第1の実施例の構成を示す図であり、図5はサーバ側認証用データ生成装置の第1の実施例の構成を示す図であり、図6はサーバ側認証結果判定装置の第1の実施例の構成を示す図である。これらの図4〜図6を参照して、第1の実施例の質問・応答方式を利用するサーバの認証装置の動作例について説明する。
図4に示すように、まず、サーバ側RSA鍵生成・応答生成装置320に設けられているRSA鍵生成器321により、公開鍵(e,n)と秘密鍵(d,n)の対を生成する。通信処理部310は、サーバID(S)とRSA鍵生成器321により生成された公開鍵(e,n)をユーザの端末装置200へ送信する。その際、公開鍵の素数eについては予め決められた記号を送ることで指定してもよい。秘密鍵(d,n)は質問適切性判断部322に送られる。
質問適切性判断部322は、ユーザの端末装置200から受信した暗号文のデータ(C,{c1≦i≦L)とRSA鍵生成器321から生成されて送られた秘密鍵(d,n)入力として、暗号文{c1≦i≦Lの適切性を判断する。受信した暗号文のデータ数だけ、つまり、すべてのiに対して最大公約数gcd(c,n)が1になるか否かを確認する。ここで、LはL=log(Kon −1になるような整数である。
質問適切性判断部322において、最大公約数gcd(c,n)と1が一致しないiが一つでもあった場合、質問適切性判断部322はエラーメッセージ発生器324に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器324はエラーを発生して、システムの処理を中断する。一方、質問適切性判断部322において、すべてのiに対する最大公約数gcd(c,n)と1が一致した場合には、その暗号文{c1≦i≦Lが適切なものとして判断して、応答生成器323に秘密鍵(d,n)と暗号文{c1≦i≦Lを出力する。応答生成器323は、質問適切性判断部322からの秘密鍵(d,n)と暗号文{c1≦i≦Lを入力として、すべてのiに対する
「r’=c mod n」と
「v=H(00‖i‖r’ ‖n)」
を計算する。通信処理部310は応答生成器323により計算された応答{v1≦i≦Lをユーザの端末装置200へ送信する。
次に、図5を参照すると、サーバ側認証用データ生成装置330に備えられたメモリ332から、先に保存されたユーザID(C)と短い系列(pw)を読み出す。マスク生成器331はメモリ332から読み出した短い系列のパスワードpwと、サーバ側RSA鍵生成・応答生成装置320の応答生成器323(図4)から出力された秘密鍵(d,n)を入力として、FDH関数G(n,pw)によりマスクを計算して、秘密鍵(d,n)とともに出力する。RSA復号演算器333は、ユーザの端末装置200から受信した認証データZとマスク生成器から出力されたFDH関数G(n,pw)と秘密鍵(d,n)を入力として、t’を、
t’=(Z/G(n,pw)) mod n
により計算して出力する。認証子生成器334は、RSA復号演算器333から入力された認証用のデータ(n,Z,t’)とメモリ332から読み出したパスワードpwから認証子Vを、ハッシュ関数Hにより、
=H(01‖C‖S‖n‖Z‖pw‖t’)
として計算して、認証子Vとデータ「trans」を出力する。ここで、データ「trans」は(C‖S‖n‖Z‖pw‖t’)である。通信処理部310は、認証子生成器334により計算して得られた認証子Vをユーザの端末装置200へ送信する。
続いて、サーバ側認証結果判定装置340の認証結果判断部341(図6)は、ユーザの端末装置200から受信した認証子Vと認証子生成器334から出力されたデータ「trans」を入力として、ハッシュ関数H(10‖trans)を計算して、ユーザの端末装置200から受信した認証子Vと比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。認証結果判断部341において認証子Vとハッシュ関数H(10‖trans)が一致しない場合、認証結果判断部341は、エラーメッセージ発生器342に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器342はエラーを発生して、システムの処理を中断する。一方、認証結果判断部341において認証子Vとハッシュ関数H(10‖trans)が一致した場合は、ユーザの端末装置200が正当な装置として認証して、セッション鍵生成器343は、SK=H(11‖trans)によりセッション鍵SKを生成して出力する。
(2)質問・応答方式を利用する場合(第2の実施例):
次に、第2の実施例の質問・応答方式を利用するサーバの認証装置の動作例について説明する。図7はサーバ側RSA鍵生成・応答生成装置の第2の実施例の構成を示す図である。サーバ側認証用データ生成装置については、図5に示した第1の構成例と同じものが用いられる。サーバ側認証結果判定装置は、図6に示した第1の構成例と同じものが用いられる。これらの図5〜図7を参照して、第2の実施例の質問・応答方式を利用するサーバの認証装置300の動作について説明する。
図7に示すように、第2の実施例のサーバ側RSA鍵生成・応答生成装置350は、RSA鍵生成器351および応答生成器352から構成されている。第2の実施例の動作では、第1実施例の動作と同様に、まず、サーバ側RSA鍵生成・応答生成装置350のRSA鍵生成器351により、公開鍵(e,n)と秘密鍵(d,n)の対を生成する。サーバの認証装置300は、通信処理部310を介して、サーバID(S)と、RSA鍵生成器351により生成された公開鍵(e,n)をユーザの端末装置200へ送信する。その際、公開鍵の素数eについては予め決められた記号を送ることで指定してもよい。
応答生成器352は、RSA鍵生成器351からの秘密鍵(d,n)とユーザの端末装置200から、ユーザID(C)と共に受信した乱数rを入力として、すべてのiに対して、FDH関数Gにより、
=G(i,r,n)
=x mod n
を計算する。サーバの認証装置300は、通信処理部310を介して、応答生成器352により計算された応答{y1≦i≦Lをユーザの端末装置200へ送信する。ここで、LはL=log(Kon −1になるような整数である。
次に、サーバ側認証用データ生成装置330に備えられたメモリ332から、先に保存されたユーザID(C)と短い系列(pw)を読み出す。マスク生成器331はメモリ332から読み出したパスワードpwと応答生成器323から出力された秘密鍵(d,n)を入力として、FDH関数G(n,pw)によりマスクを計算して、秘密鍵(d,n)とともに出力する。RSA復号演算器333は、ユーザの端末装置200から受信した認証データZとマスク生成器331から出力されたFDH関数Gの計算結果G(n,pw)と、秘密鍵(d,n)を入力として、t’を、
t’=(Z/G(n,pw)) mod n
により計算して出力する。認証子生成器334は、RSA復号演算器333から入力されたデータ(n,Z,t’)とメモリ332から読み出したパスワードpwから認証子Vを、
=H(01‖C‖S‖n‖Z‖pw‖t’)
により計算し、認証子Vとデータ「trans」を出力する。ここで、データ「trans」は(C‖S‖n‖Z‖pw‖t’)である。サーバの認証装置300は、通信処理部310により、認証子生成器334により計算して得られた認証子Vをユーザの端末装置200へ送信する。
続いて、サーバ側認証結果判定装置340の認証結果判断部341(図6)は、ユーザの端末装置200から受信した認証子Vと認証子生成器334(図5)から出力されたデータ「trans」を入力として、ハッシュ関数H(10‖trans)を計算して、ユーザの端末装置200から受信した認証子Vと比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。認証結果判断部341において認証子Vとハッシュ関数Hによる計算結果H(10‖trans)が一致しない場合、認証結果判断部341は、エラーメッセージ発生器342に対して、一致しないことを通知する。この通知を受けて、エラーメッセージ発生器342はエラーを発生して、システムの処理を中断する。一方、認証結果判断部341において、認証子Vとハッシュ関数Hの計算結果H(10‖trans)が一致した場合は、ユーザの端末装置200を正当な装置であるとして認証して、セッション鍵生成器343は、ハッシュ関数Hを計算し、SK=H(11‖trans)により、セッション鍵SKを生成して出力する。
次にユーザの端末装置200の動作について説明する。
<ユーザの端末装置の動作>
(1)質問・応答方式を利用する場合(第1の実施例):
図8はユーザ側質問生成・応答確認装置の第1の実施例の構成を示す図であり、図9はユーザ側認証用データ生成装置の第1の実施例の構成を示す図であり、図10はユーザ側認証結果判定装置の第1の実施例の構成を示す図である。これらの図8〜図10を参照して、第1の実施例の質問・応答方式を利用するサーバの端末装置の動作例について説明する。
図8に示すように、ユーザ側質問生成・応答確認装置220のRSA鍵適切性判断部22は、サーバの認証装置300から受信したサーバID(S)と公開鍵(e,n)を入力として、RSA公開鍵(e,n)の適切性を判断する。つまり、公開鍵eが素数(もしくは予め指定された集合の要素)であり、かつ素数の積nがkビットの奇数であることを確認する。それらが確認できない場合、RSA鍵適切性判断部221は、エラーメッセージ発生器222に対して、確認が取れないことを通知する。これを受けて、エラーメッセージ発生器222はエラーを発生して、システムの処理を中断する。一方、RSA鍵適切性判断部221において、公開鍵eと素数の積nの妥当性が確認できた場合は、サーバのRSA公開鍵(e,n)が適切なものとして判断して、質問生成器224に、公開鍵(e,n)を出力する。
質問生成器224は乱数発生器223によりランダムに発生させた乱数{r1≦i≦L(r∈Z )と、RSA鍵適切性判断部221により出力されたRSA公開鍵(e,n)とを入力として、各iに対して暗号文「c=r mod n」を計算して、出力する。ここで、LはL=log(Kon −1になるような整数である。
質問適切性判断部225は、質問生成器224により出力された暗号文cの適切性を判断する。質問適切性判断部225において最大公約数gcd(c,n)と1が一致しない場合、質問適切性判断部225は、質問生成器224を再び呼び出し、iに対する暗号文cを計算して出力させる。一方、質問適切性判断部225において、すべてのiに対する最大公約数gcd(c,n)と1が一致した場合は、暗号文{c1≦i≦Lが適切なものとして判断して、暗号文{c1≦i≦Lを出力する。ユーザの端末装置200は、通信処理部210を介して、質問適切性判断部225によって、出力された暗号文{c1≦i≦LとユーザID(C)をサーバの認証装置300へ送信する。
応答確認判断部226は、質問生成器224から出力された公開鍵(e,n)と乱数{r1≦i≦Lと、サーバの認証装置300から受信した応答{v1≦i≦Lを入力として、応答{v1≦i≦Lの確認を行う。応答確認判断部226において、応答vとハッシュ関数Hによる計算結果H(00‖i‖r‖n)が一致しないiが一つでもあった場合、応答確認判断部226は、エラーメッセージ発生器227に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器227はエラーを発生して、システムの処理を中断する。一方、応答確認判断部226において、すべてのiに対する応答viとハッシュ関数Hによる計算結果H(00‖i‖r‖n)が一致した場合は、サーバの応答の確認が取れたと判断して、公開鍵(e,n)を出力する。
図9を参照すると、次に、ユーザ側認証用データ生成装置230のRSA暗号演算器232は、応答確認判断部226からの公開鍵(e,n)と乱数発生器231によりランダムに発生させた乱数t(t∈Z )を入力として、暗号文zを「z=t mod n」により計算して、乱数t,公開鍵(e,n)とともに、これらのデータ(z,t,(e,n))を出力する。
一方、マスク生成器233は、ユーザが入力した短い系列(例えば、パスワードpwなど)によりFDH関数G(n,pw)を計算して出力するので、認証データ生成器234は、RSA暗号演算器から出力された認証用のデータ(z,t,(e,n))とマスク生成器から出力されたFDH関数G(n,pw)を入力として、認証データZを「Z=z・G(n,pw) mod n」により計算して、データ「trans」とともに出力する。ここで、データ「trans」は(C‖S‖n‖Z‖pw‖t)である。ユーザの端末装置200は、通信処理部210によって、認証データ生成器234により出力された認証データZをサーバの認証装置300へ送信する。
図10に示すように、続いて、ユーザ側認証結果判定装置240における認証結果判断部241は、サーバの認証装置300から受信した認証子VSと認証データ生成器234から出力されたデータ「trans」を入力として、ハッシュ関数H(01‖trans)を計算して、サーバの認証装置300から受信した認証子VSと比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。認証結果判断部241において、認証子VSとハッシュ関数H(01‖trans)が一致しない場合、認証結果判断部241は、エラーメッセージ発生器242に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器242はエラーを発生して、システムの処理を中断する。
一方、認証結果判断部241において認証子Vとハッシュ関数H(01‖trans)が一致した場合は、認証子Vを送信したサーバの認証装置300が正当な装置として認証して、データ「trans」を出力する。認証子生成器243は、認証結果判断部241から入力されたデータ「trans」から認証子Vを「V=H(10‖trans)」により計算して、認証子Vとデータ「trans」を出力する。ユーザの端末装置200は、通信処理部210によって、認証子生成器243により出力された認証子Vをサーバの認証装置300へ送信する。セッション鍵生成器244は、認証子生成器243により出力されたデータ「trans」を入力として、ハッシュ関数Hを計算し、SK=H(11‖trans)により、セッション鍵SKを生成して出力する。
(2)質問・応答方式を利用する場合(第2の実施例):
次に、第2の実施例の質問・応答方式を利用するユーザの端末装置の動作例について説明する。図11は、ユーザ側質問生成・応答確認装置の第2の実施例の構成を示す図である。ユーザ側認証用データ生成装置については、図9に示した第1の構成例と同じものが用いられる。ユーザ側認証結果判定装置は、図10に示した第1の構成例と同じものが用いられる。これらの図9〜図11を参照して、第2の実施例の質問・応答方式を利用するユーザの端末装置200の動作について説明する。
図11に示すように、第2の実施例のユーザ側質問生成・応答確認装置250に設けられたRSA鍵適切性判断部251は、サーバの認証装置300から受信したサーバID(S)と公開鍵(e,n)を入力として、RSA公開鍵(e,n)の適切性を判断する。つまり、公開鍵eが素数(もしくは予め指定された集合の要素)であり、かつ素数の積nがkビットの奇数であることを確認する。それらが確認されない場合、RSA鍵適切性判断部251は、エラーメッセージ発生器252に対して、確認が取れないことを通知する。これを受けて、エラーメッセージ発生器252はエラーを発生して、システムの処理を中断する。
一方、RSA鍵適切性判断部251において、公開鍵eと素数の積nの妥当性が確認された場合は、サーバの認証装置300から送られたRSA公開鍵(e,n)が適切なものとして判断して、公開鍵(e,n)を出力する。そして、ユーザの端末装置200は、通信処理部210により、乱数発生器253においてランダムに発生させた乱数r(r∈{0,1})と、ユーザID(C)をサーバの認証装置300へ送信する。
RSA暗号演算器254は、RSA鍵適切性判断部251から出力された公開鍵(e,n)とサーバの認証装置300から受信した署名{y1≦i≦Lを入力として、
{y mod n}1≦i≦L
を計算して公開鍵(e,n)とともに出力する。ここで、LはL=log(Kon −1になるような整数である。
応答確認判断部255は、乱数発生器253によりランダムに発生させた乱数rとRSA暗号演算器254により出力されたRSA公開鍵(e,n)と計算結果「{y mod n}1≦i≦L」を入力として、各iに対して応答の正当性を確認する。応答確認判断部255において、署名y とFDH関数G(i,r,n)が一致しないあるいは最大公約数gcd(y,n)と1が一致しないiが一つでもあった場合、応答確認判断部255は、エラーメッセージ発生器に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器はエラーを発生して、システムの処理を中断する。一方、応答確認判断部255において、すべてのiに対する署名y とFDH関数G(i,r,n)が一致して、かつ最大公約数gcd(y,n)と1が一致した場合は、サーバの応答の確認が取れたと判断して、公開鍵(e,n)を出力する。
次に、ユーザ側認証用データ生成装置230のRSA暗号演算器232(図9)は、応答確認判断部255からの公開鍵(e,n)と乱数発生器231によりランダムに発生させた乱数t(t∈Z )を入力として、暗号文zを「z=t mod n」により計算して(t,(e,n))とともに出力する。そして、マスク生成器はユーザが入力した短い系列(例えば、パスワードなど)によりG(n,pw)を計算して出力する。認証データ生成器は、RSA暗号演算器から出力された認証用のデータ(z,t,(e,n))とマスク生成器から出力されたFDH関数G(n,pw)を入力として、認証データZを「Z=z・G(n,pw) mod n」により計算して、データ「trans」とともに出力する。ここで、データ「trans」は(C‖S‖n‖Z‖pw‖t)である。ユーザの端末装置200は、通信処理部210によって、認証データ生成器234により出力された認証データZをサーバの認証装置300へ送信する。
続いて、図10に示すように、ユーザ側認証結果判定装置240の認証結果判断部241は、サーバの認証装置300から受信した認証子Vと認証データ生成器234から出力されたデータ「trans」を入力として、ハッシュ関数H(01‖trans)を計算して、サーバの認証装置300から受信した認証子Vと比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。認証結果判断部241において、認証子VSとハッシュ関数H(01‖trans)が一致しない場合、認証結果判断部241は、エラーメッセージ発生器242に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器242はエラーを発生して、システムの処理を中断する。
一方、認証結果判断部241において認証子VSとハッシュ関数H(01‖trans)が一致した場合は、認証子Vを送信したサーバの認証装置300が正当な装置として認証して、データ「trans」を出力する。認証子生成器243は、認証結果判断部241から入力されたデータ「trans」から認証子Vを「V=H(10‖trans)」により計算して、認証子Vとデータ「trans」を出力する。ユーザの端末装置200は、通信処理部210によって、認証子生成器243により出力された認証子VCをサーバの認証装置300へ送信する。セッション鍵生成器244は、認証子生成器243により出力されたデータ「trans」を入力として、ハッシュ関数Hを計算し、SK=H(11‖trans)により、セッション鍵SKを生成して出力する。
<パスワードオンライン攻撃検出のためのログ管理及び照合方法>
本発明による認証システムは、パスワードなどの短い系列を用いてセッション鍵の確立を行うようにしているため、パスワードのオンライン攻撃を受ける可能性がある。これに対しては、認証システムにおけるセッション鍵の確立までの認証動作のログを作成することにより、作成されたログを用いて、パスワードオンライン攻撃を検出することができるシステム構成とすることができる。
次に、このような認証システムの変形例について説明する。ログの作成は、ユーザの端末装置およびサーバの認証装置において、それぞれにログ作成するためのメモリを設け、メモリに作成したログを蓄積するシステム構成とされる。図12は、ユーザの端末装置200に設けられるログ用のユーザ側認証結果判定装置の構成を示す図であり、図13は、サーバの認証装置300に設けられるログ用のサーバ側認証結果判定装置の構成を示す図である。ユーザの端末装置200に設けられるユーザ側認証結果判定装置240が、図12に示すログ用のユーザ側認証結果判定装置440に置き換えられ、また、サーバの認証装置300に設けられるサーバ側認証結果判定装置340が、図13に示すログ用のサーバ側認証結果判定装置540に置き換えられたシステム構成となる。これにより、ログ作成に対応した認証システムとなる。
(1)ログ用のユーザ側認証結果判定装置の動作:
初めに、図12を参照して、ログ用のユーザ側認証結果判定装置440の動作について説明する。ユーザの端末装置200において、ユーザ側質問生成・応答確認装置220、ユーザ側認証用データ生成装置230については、先に説明した第1の実施例の構成と同様である。
ログ用のユーザ側認証結果判定装置440の認証結果判断部441は、サーバの認証装置300から受信した認証子Vと認証データ生成器234から出力されたデータ「trans」を入力として、ハッシュ関数H(01‖trans)を計算して、サーバの認証装置300から受信した認証子Vと比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。
認証結果判断部441において、認証子VSとハッシュ関数H(01‖trans)が一致しない場合、認証結果判断部441は、エラーメッセージ発生器442に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器442はログ用のメモリ445にログとしてハッシュ関数の計算結果h(Z)、認証子VSを時間などの属性情報とともに「log_data」として保存し、もしくはそれらが保存されているログにそのセッションが正常に終了しなかったことを記述して、エラーメッセージを発生して、システムの処理を中断する。ここで、ハッシュ関数hは安全な一方向性ハッシュ関数である。
一方、認証結果判断部441において認証子VSとハッシュ関数H(01‖trans)が一致した場合には、サーバの認証装置300を正当な装置として認証して、データ「trans」を出力する。認証子生成器443は、認証結果判断部441から入力されたデータ「trans」から認証子Vを、V=H(10‖trans)により計算して、認証子Vとデータ「trans」を出力する。ユーザの端末装置200の通信処理部210は、認証子生成器443により出力された認証子Vをサーバの認証装置300へ送信する。セッション鍵生成器444は、認証子生成器443により出力されたデータ「trans」を入力として、ハッシュ関数Hを計算し、SK=H(11‖trans)により、セッション鍵SKを生成して出力する。
(2)ログ用のサーバ側認証結果判定装置の動作:
続いて、図13を参照して、ログ用のサーバ側認証結果判定装置540の動作について説明する。サーバの認証装置300において、サーバ側RSA鍵生成・応答生成装置320、サーバ側認証用データ生成装置330については、先に説明した第1の実施例の構成と同様である。
ログ用のサーバ側認証結果判定装置540に設けられるログ用メモリ545には、ログとして、ハッシュ関数h(Z)、認証子Vを時間などのほかの属性情報とともに保存する。もしくは、それらが保存されているログにそのセッションが正常に終了しなかったことを記述する。ここで、ハッシュ関数hは安全な一方向性ハッシュ関数である。
認証結果判断部541は、ユーザの端末装置200から受信した認証子Vと認証子生成器334から出力されたデータ「trans」を入力として、ハッシュ関数H(10‖trans)を計算して、ユーザの端末装置200から受信した認証子Vと比較する。ここで、ハッシュ関数Hの代わりにMAC(Message Authentication Code)を使ってもよい。認証結果判断部541において、認証子Vとハッシュ関数H(10‖trans)が一致しない場合、認証結果判断部541は、エラーメッセージ発生器に対して、一致しないことを通知する。これを受けて、エラーメッセージ発生器はエラーを発生して、システムの処理を中断する。
一方、認証結果判断部541において認証子Vとハッシュ関数H(10‖trans)が一致した場合は、ユーザの端末装置200を正当な装置として認証して、セッション鍵生成器543は、ハッシュ関数Hを計算し、SK=H(11‖trans)により、セッション鍵SKを生成して出力し、ログ用メモリ545にログとして保存されているハッシュ関数h(Z)、認証子Vに対応するエントリを削除する。もしくは、それらが保存されているログにそのセッションが正常に終了しなかったことを記述した場合には、その記述を破棄する。
このようにして、ログが作成された場合、その作成されたログのデータを用いて、パスワードオンライン攻撃を検出する動作について説明する。図14は、パスワートオンライン攻撃を検出する動作を説明するための認証システム全体のデータの流れを説明する図であり、図15は、ユーザの端末装置における不正検出動作に係るデータの流れを説明する図であり、また、図16は、サーバの認証装置における不正検出動作に係るデータの流れを説明する図である。これらの図14〜図15を参照して、パスワートオンライン攻撃を検出する動作を説明する。
図14に示すように、認証システム1000において、前述したようにユーザの端末装置とサーバの認証装置の間で相互に認証子のデータ通信が行われて相互認証を行い、その認証処理が成功して、それぞれのセッション鍵が出力されている状態であるとする。つまり、この場合には、既にユーザの端末装置1200およびサーバの認証装置1300との間でセッション鍵が確立されている状態であるとする。その後に、ユーザの端末装置1200およびサーバの認証装置1300の間が通信路1010により結合された状態において不正検出の動作が行われる。
(3)不正検出用のユーザの端末装置の動作:
図15を参照して、ユーザの端末装置1200における不正検出動作に係るデータの流れを説明すると、ユーザの端末装置1200で不正検出を行う場合に、ユーザの端末装置1200の共通鍵暗号演算器1201は、セッション鍵生成器から出力されたセッション鍵SKとログ用メモリから読み出したログデータ「log_data」を入力として、共通鍵暗号文Ctx_lを「Ctx_l=Enc(SK,log_data)」の演算処理により計算して出力する。ここで、Enc()は任意の安全な共通鍵暗号の暗号化(および改ざん検出符号生成)アルゴリズムを表す。
通信処理部1204は、共通鍵暗号演算器1201が出力した共通鍵暗号文Ctx_lを通信路1010を介して、不正検出の動作を行っているサーバの認証装置1300(図16)に送信する。共通鍵復号演算器1203は、通信処理部1205により不正検出の動作を行っているサーバの認証装置1300から受信した暗号文Ctx_rを、「report=Dec(SK,Ctx_r)」の演算処理によりにより復号して不正検出データ「report」を得て、それを結果表示器1206に出力する。結果表示器1206は共通鍵復号演算器1203より得た不正検出データ「report」をユーザの見易いように加工して検出結果をユーザに表示する。
(4)不正検出用のサーバの認証装置の動作:
続いて、図16を参照して、サーバの認証装置1300における不正検出動作に係るデータの流れを説明すると、サーバの認証装置1300で不正検出を行う場合、サーバの認証装置1300の共通鍵復号演算器1301は、通信処理部1306により不正検出の動作を行っているユーザの端末装置1200から受信した暗号文Ctx_lとセッション鍵生成器により出力されたセッション鍵SKを入力として、復号文log_dataを「log_data=Dec(SK,Ctx)」の演算処理により計算して出力する。ここで、Dec()は任意の安全な共通鍵暗号の復号(および改ざん検出)アルゴリズムを表す。
不正検出判断部1303は、共通鍵復号演算器1301から出力されたログデータlog_dataとログ用メモリ1302から読み出したログの「ハッシュ関数h(Z)、認証子V」を入力として、ユーザ側の各ログに対してサーバ側のログである「ハッシュ関数h(Z)、認証子V」と比較し、それらが一致していればパスワードオンライン攻撃は行われていないと判断し、さもなくば、パスワードオンライン攻撃が行われている可能性があると判断し、それぞれオンライン攻撃が行われている可能性のある時刻や回数などに関するレポートとして不正検出データ「report」を出力する。
また、不正検出判断部1303は、比較の結果一致していたエントリをログ用メモリから削除(もしくは、一致していたことを示す目印を付与)する。作成された不正検出データ「report」のレポートは、共通鍵暗号演算器1304で暗号化されて、通信処理部1305を介してユーザの端末装置1200へ送られる。なお、不正検出判断の処理については、サーバの認証装置1300にあるログデータをユーザの端末装置1200に送り、ユーザの端末装置1200において処理を行うようにしても良い。
<安全な通信路を経由する認証データの送信方法>
次に安全な通信路を経由して認証データを送信するシステムについて説明する。このような通信システムを利用することにより、他の認証方式を利用するためのデータを安全に共有して記録することできる。図17は、安全な通信路を経由して認証データを送信する認証データ送信システムのシステム全体のデータの流れを説明する図であり、図18は、ユーザの端末装置における認証データ登録に係るデータの流れを説明する図であり、また、図19は、サーバの認証装置における認証データ登録に係るデータの流れを説明する図である。これらの図17〜図19を参照して、安全な通信路を経由して認証データを送信するシステムの動作を説明する。
前述したシステムの場合と同様に、図17に示すように、認証システム2000において、ユーザの端末装置2200とサーバの認証装置2300の間で通信路2010を介して相互に認証子のデータ通信が行われて相互認証を行い、認証処理が成功して、それぞれのセッション鍵が出力されている状態であるとする。この場合には既にユーザの端末装置2200およびサーバの認証装置2300との間で通信路2010を介してセッション鍵が確立されている状態であるとする。ユーザの端末装置とサーバの認証装置の間にセッション鍵が確立した時の認証データ登録用のユーザの端末装置の動作について説明する。
(1)認証データ登録用のユーザの端末装置の動作:
図18を参照すると、まず、認証データ登録用のユーザの端末装置2200にある共通鍵暗号演算器2202は、認証処理が成功した後のセッション鍵生成器から出力されたセッション鍵SKと認証データ生成器2201から出力された認証データauth_data_sを入力として、共通鍵暗号文Ctx_sを「Ctx_s=Enc(SK,auth_data_s)」の計算を行い、計算結果を出力する。ここで、Enc()は任意の安全な共通鍵暗号の暗号化(および改ざん検出符号生成)アルゴリズムを表す。通信処理部2203は共通鍵暗号演算器2202が出力した共通鍵暗号文Ctx_sを、認証データ登録用のサーバの認証装置2300に送信する。
また、通信処理部2207は、サーバの認証装置2300から共通鍵暗号文Ctx_cを受信し、それを共通鍵復号演算器2205に渡す。共通鍵暗号演算器2202は、セッション鍵生成器から出力されたセッション鍵SKと通信処理部2207から出力された暗号文Ctx_cを入力として、共通鍵暗号文Ctx_cを「auth_data_c=Dec(SK,Ctx_c)」の計算を行うことにより、復号(および改ざんが無いことを確認)して、その計算結果「auth_data_c」を出力する。ここで、Dec()は任意の安全な共通鍵暗号の復号(および改ざん検出)アルゴリズムを表す。
記録情報構成器2204は、認証データ生成器2201から出力された認証データ「auth_data_s」と、共通鍵復号演算器2205から出力された認証データ「auth_data_c」および応答確認判断部から出力された「RSA公開鍵(e,n)」からメモリ2206に記録する認証用のデータ(S,auth_c)を生成し、それをメモリ2206に記録する。
(2)認証データ登録用のサーバの認証装置の動作:
続いて、安全な通信路2010を経由するユーザの端末装置2200とサーバの認証装置2300の間にセッション鍵が確立した時の認証データ登録用のサーバの認証装置2300の動作について説明する。
図19を参照する。まず、認証データ登録用のサーバの認証装置2300にある共通鍵復号演算器2302は、安全な通信路2010を経由して通信処理部2301により認証データ登録用のユーザの端末装置から受信して、暗号文Ctx_sとセッション鍵生成器により出力されたセッション鍵SKを入力として、復号文auth_data_sをauth_data_s=Dec(SK,Ctx_s)により計算してauth_data_sを記録情報構成器に出力する。また、共通鍵暗号演算器は、認証データ生成器の生成したauth_data_cとセッション鍵生成器により出力されたセッション鍵SKを入力として、共通鍵暗号文Ctx_cを「Ctx_c=Enc(SK,auth_data_c)」により計算して出力する。通信処理部2307は、共通鍵暗号演算器2306が出力した計算結果の共通鍵暗号文Ctx_cを、認証データ登録用のユーザの端末装置2200に送信する。
記録情報構成器2303は、認証データ生成器2305から出力された認証データ「auth_data_c」と共通鍵復号演算器2302から出力された認証データ「auth_data_s」およびRSA鍵生成器から出力されたRSA復号鍵(d,n)からメモリ2304に記録する認証用のデータ(C,auth_c)を生成し、それをメモリ2304に記録する。
本発明により提供される認証システムは、基本的には、利用者やサーバ認証を必要とするサービスやアプリケーションで利用できる。現在、利用者認証やサーバ認証は、電子商取引、サーバやネットワークへのログイン、入退室管理、公的交通機関への搭乗など、リアル、サイバーを問わず至るところで必要とされており、その応用先は広い。また、本発明による認証システムは、端末動作にかかる処理を、安全性を損なうことなく軽くできるという利点があり、ユビキタスデバイスなど計算能力の低いデバイスへの応用が期待できる。また、パスワードオンライン攻撃検出システムおよび認証データ送信システムにより安全性を損なうことなく利便性を高めることができる。
短い系列を用いた認証システムの構成を示すブロック図である。 ユーザの端末装置200のシステム構成を詳細に示す図である。 サーバの認証装置300のシステム構成を詳細に示す図である。 サーバ側RSA鍵生成・応答生成装置の第1の実施例の構成を示す図である。 サーバ側認証用データ生成装置の第1の実施例の構成を示す図である。 サーバ側認証結果判定装置の第1の実施例の構成を示す図である。 サーバ側RSA鍵生成・応答生成装置の第2の実施例の構成を示す図である。 ユーザ側質問生成・応答確認装置の第1の実施例の構成を示す図である。 ユーザ側認証用データ生成装置の第1の実施例の構成を示す図である。 ユーザ側認証結果判定装置の第1の実施例の構成を示す図である。 ユーザ側質問生成・応答確認装置の第2の実施例の構成を示す図である。 ユーザの端末装置200に設けられるログ用のユーザ側認証結果判定装置の構成を示す図である。 サーバの認証装置300に設けられるログ用のサーバ側認証結果判定装置の構成を示す図である。 パスワートオンライン攻撃を検出する動作を説明するための認証システム全体のデータの流れを説明する図である。 ユーザの端末装置における不正検出動作に係るデータの流れを説明する図である。 サーバの認証装置における不正検出動作に係るデータの流れを説明する図である。 安全な通信路を経由して認証データを送信する認証データ送信システムのシステム全体のデータの流れを説明する図である。 ユーザの端末装置における認証データ登録に係るデータの流れを説明する図である。 サーバの認証装置における認証データ登録に係るデータの流れを説明する図である。
符号の説明
100 認証システム
110 通信路
200 ユーザの端末装置
210 通信処理部
220 ユーザ側質問生成・応答確認装置
230 ユーザ側認証用データ生成装置
240 ユーザ側認証結果判定装置
300 サーバの認証装置
310 通信処理部
320 サーバ側RSA鍵生成・応答生成装置
330 サーバ側認証用データ生成装置
340 サーバ側認証結果判定装置

Claims (3)

  1. ユーザの端末装置が
    サーバの認証装置との間のデータ通信を行う通信処理部と、
    サーバの認証装置からのRSA公開鍵とパラメータLに基づく前記通信処理部の通信によりユーザの端末装置とサーバの認証装置の間で公開鍵の正しさを決定するユーザ側質問生成・応答確認装置と、
    入力された短い系列と前記ユーザ側質問生成・応答確認装置により受け取った公開鍵に基づいてサーバの認証装置に送信する認証データを生成するユーザ側認証用データ生成装置と、
    サーバの認証装置から受信した認証子に対して認証処理を行い、認証の結果によりサーバの認証装置に送信する認証子とセッション鍵を生成するユーザ側認証結果判定装置と、
    を備え、
    サーバの認証装置が
    ユーザの端末装置との間のデータ通信を行う通信処理部と、
    RSA公開鍵を生成して前記通信処理部の通信によりユーザの端末装置に送信し、RSA公開鍵とパラメータLに基づく前記通信処理部の通信によりユーザの端末装置とサーバの認証装置の間で公開鍵の正しさを示すための応答を生成するサーバ側RSA鍵生成・応答生成装置と、
    ユーザの端末装置からの認証データと前記サーバ側RSA鍵生成・応答生成装置により生成された秘密鍵に基づいてユーザの端末装置に送信する認証子を生成するサーバ側認証用データ生成装置と、
    ユーザの端末装置から受信した認証子に対して認証処理を行い、認証の結果によりセッション鍵を生成するサーバ側認証結果判定装置と、
    を備え、
    ユーザの端末装置に短い系列を入力して、ユーザの端末装置とサーバの認証装置の間において相互に認証子を生成して送信し、相互の認証子に基づく相互認証を行い、認証結果によりユーザの端末装置とサーバの認証装置の間でセッション鍵の確立を行う
    ことを特徴とする認証システム。
  2. 請求項1に記載の認証システムによりユーザの端末装置とサーバの認証装置の間で確立したセッション鍵を使って構成できる安全な通信路を用いて、攻撃者がオンラインで試したパスワードの回数を検出するパスワードオンライン攻撃検出方法であって、
    前記ユーザ側認証結果判定装置およびサーバ側認証結果判定装置にそれぞれのログ用メモリを備え、
    ユーザの端末装置とサーバの認証装置の間において相互に認証子を生成して送信し、
    相互の認証子に基づく相互認証を行う際に、エラーが発生した時の認証用のデータおよび認証子を前記ログ用メモリに記憶し、
    前記ログ用メモリに記憶されたデータに基づいて前記通信処理部の通信により不正検出の判断処理を行い、
    その結果を前記ユーザの端末装置に出力する
    ことを特徴とするパスワードオンライン攻撃検出方法。
  3. 請求項1に記載の認証システムによりユーザの端末装置とサーバの認証装置の間で確立したセッション鍵を使って構成できる安全な通信路を用いて、ユーザの認証データを登録する認証データ登録方法であって、
    前記ユーザの端末装置およびサーバの認証装置にそれぞれの認証データを登録する認証データ登録用メモリと、
    セッション鍵と認証データから共通鍵暗号文を出力する共通鍵暗号演算器と、
    前記共通鍵暗号文からセッション鍵に基づいて認証データを復号する共通鍵復号演算器と
    を備え、
    ユーザの端末装置とサーバの認証装置の間において相互に認証子を生成して送信し、相互の認証子に基づく相互認証を行った際のセッション鍵とRSA鍵に加えてユーザの端末装置とサーバの認証装置の認証データを、それぞれの認証データ登録用メモリに登録して、前記共通鍵暗号演算器により各自の認証データを暗号文とした共通鍵暗号文を送信し、
    送信された共通鍵暗号文を受信すると、前記共通鍵復号演算器により共通鍵暗号文から相手の認証データを復号して前記認証用データ登録用のメモリに記憶する
    ことを特徴とする認証データ登録方法。
JP2007280297A 2007-10-29 2007-10-29 短い系列を用いた認証システム Active JP5004086B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007280297A JP5004086B2 (ja) 2007-10-29 2007-10-29 短い系列を用いた認証システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007280297A JP5004086B2 (ja) 2007-10-29 2007-10-29 短い系列を用いた認証システム

Publications (2)

Publication Number Publication Date
JP2009111594A true JP2009111594A (ja) 2009-05-21
JP5004086B2 JP5004086B2 (ja) 2012-08-22

Family

ID=40779635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007280297A Active JP5004086B2 (ja) 2007-10-29 2007-10-29 短い系列を用いた認証システム

Country Status (1)

Country Link
JP (1) JP5004086B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009267451A (ja) * 2008-04-21 2009-11-12 National Institute Of Advanced Industrial & Technology Rsaをベースとしたパスワード認証方式及びその応用
JP2011248778A (ja) * 2010-05-28 2011-12-08 Mitsubishi Electric Corp 認証システム及び端末装置及びアイシーカード及びコンピュータプログラム及び認証方法及びコマンド送信方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5224481B2 (ja) * 2008-07-10 2013-07-03 独立行政法人産業技術総合研究所 パスワード認証方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340254A (ja) * 1997-04-11 1998-12-22 Hitachi Ltd 不正利用検出可能ネットワークシステム
JP2002245013A (ja) * 2001-02-19 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> セキュリティ実現方法及びセキュリティ実現プログラム及びセキュリティ実現プログラムを格納した記憶媒体
JP2007108973A (ja) * 2005-10-13 2007-04-26 Eath:Kk 認証サーバ装置、認証システムおよび認証方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10340254A (ja) * 1997-04-11 1998-12-22 Hitachi Ltd 不正利用検出可能ネットワークシステム
JP2002245013A (ja) * 2001-02-19 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> セキュリティ実現方法及びセキュリティ実現プログラム及びセキュリティ実現プログラムを格納した記憶媒体
JP2007108973A (ja) * 2005-10-13 2007-04-26 Eath:Kk 認証サーバ装置、認証システムおよび認証方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009267451A (ja) * 2008-04-21 2009-11-12 National Institute Of Advanced Industrial & Technology Rsaをベースとしたパスワード認証方式及びその応用
JP2011248778A (ja) * 2010-05-28 2011-12-08 Mitsubishi Electric Corp 認証システム及び端末装置及びアイシーカード及びコンピュータプログラム及び認証方法及びコマンド送信方法

Also Published As

Publication number Publication date
JP5004086B2 (ja) 2012-08-22

Similar Documents

Publication Publication Date Title
JP5201136B2 (ja) 匿名認証システムおよび匿名認証方法
US8670563B2 (en) System and method for designing secure client-server communication protocols based on certificateless public key infrastructure
CN103763631B (zh) 认证方法、服务器和电视机
JP5224481B2 (ja) パスワード認証方法
KR20080051753A (ko) 보안 제공 시스템 및 방법
CN111769938B (zh) 一种区块链传感器的密钥管理***、数据验证***
CN104901935A (zh) 一种基于cpk的双向认证及数据交互安全保护方法
CN101931536B (zh) 一种无需认证中心的高效数据加密及认证方法
WO2019093478A1 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
Zhang et al. Robust and efficient password authenticated key agreement with user anonymity for session initiation protocol‐based communications
Yoon et al. A new authentication scheme for session initiation protocol
JP5004086B2 (ja) 短い系列を用いた認証システム
KR20080005344A (ko) 인증서버가 사용자단말기를 인증하는 시스템
Chang et al. On making U2F protocol leakage-resilient via re-keying
Yang et al. Security of improvement on methods for protecting password transmission
KR20070035342A (ko) 패스워드 기반의 경량화된 상호 인증 방법
JP5393594B2 (ja) 効率的相互認証方法,プログラム,及び装置
CN110572257B (zh) 基于身份的数据来源鉴别方法和***
Yang et al. Security enhancement for protecting password transmission
JP5099771B2 (ja) 二要素認証システム
EP3361670B1 (en) Multi-ttp-based method and device for verifying validity of identity of entity
JP5392741B2 (ja) Rsaをベースとしたパスワード認証方式及びその応用
Shojaie et al. Improving EAP-TLS performance using cryptographic methods
Téllez et al. Security in mobile payment systems
JP3862397B2 (ja) 情報通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120404

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

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

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

Free format text: PAYMENT UNTIL: 20150601

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5004086

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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