説明

二重要素認証されたキー交換方法及びこれを利用した認証方法とその方法を含むプログラムが貯蔵された記録媒体

本発明は、二重要素認証されたキー交換方法及びこれを利用した認証方法と、その方法を含むプログラムが貯蔵された記録媒体に関するものである。この二重要素認証されたキー交換方法は、加入者端末器が、自身の識別子と認証サーバーの公開キーを使用して生成された値を前記アクセスポイントを通して認証サーバーに送信する。認証サーバーは、加入者端末器から受信された値を使用して加入者関連パスワード及びトークンに貯蔵されたキーと認証サーバーの秘密キーを検出し、乱数を生成して、加入者端末器に送信する。加入者端末器は、受信された乱数とパスワード及びトークンに貯蔵されたキーを使用して特定値を暗号化した値と生成された加入者側認証子とを認証サーバーに送信する。認証サーバーは、パスワード、トークンに貯蔵されたキー、及び乱数を使用して生成した第2特定値を復号化キーにして前記受信された暗号化値を復号し、復号された値に基づいて加入者側認証子に対する認証を行い、認証が成功した場合、パスワード、トークンに貯蔵されたキー、及び公開キーを使用して生成された認証サーバー側認証子を加入者端末器に送信する。加入者端末器は、トークンに貯蔵されたキーとパスワードを使用して認証サーバー側認証子に対する認証を行う。本発明によれば、二重要素認証方式を使用するので、他のいずれのEAP認証方式よりもっと強力な個体認証を提供する。また、公衆無線LANでPDAsに適用できるほどの保安性と効率性を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、認証及びキー設定(Authentication and Key Establishment:AKE)プロトコルに係り、より具体的には、インターネット、無線LAN、公衆無線LANなどのサービスでの二重要素認証されたキー交換(Two-factor Authenticated Key Exchange:TAKE)方法と、これを利用して個体認証及びキー設定のための保安を遂行する方法、及びその方法を含むプログラムが貯蔵された記録媒体に関するものである。
【背景技術】
【0002】
従来の認証及びキー設定方法には、代表的なものとして認証書を利用したTLS(Transport Layer Security)方式とパスワードを利用したSRP(Secure Remote Password)方式、EAP−MD5方式、そして認証書及びパスワードの2種類を全て利用したPEAP(Protected EAP)、EAP−TTLS(Tunneled TLS)などがあるが、各方式は短所を有している。
【0003】
つまり、TLSは、複雑で多くの費用を要するPKI(Public Key Infrastructure)及び認証書管理システムが必要であり、SRPは、使用者端末側で多くの演算量(2 exponentiation)を要し、2-for-1 guess attack(2件のうち1件は偽者と思われる状態)に脆弱である。またPEAPとEAP−TTLSはMitM(Man-in-the-Middle:偽者が端末とサーバーの間に介在して、両方の情報を抜き取って利用する状態)の攻撃に弱く、交換メッセージの回数が多い。そして、EAP−MD5は、相互認証とセッション(session)キーを提供しないという短所がある。
【0004】
特に、(公衆)無線LANでPDAs(Personal Digital Assistants)を用いる場合に適用できる安全でありかつ効率的である802.1xのEAP(Extensible Authentication Protocol)認証方式を探すのが容易でない。なぜかというと、PDAsは、累乗(exponentiation)や逆元(inverse element)計算のような複雑な演算量を遂行するのに時間が多くかかり、電力消費が多いからである。
【0005】
一方、一般的に認証要素には、(1)使用者が記憶するもの(パスワード)と(2)使用者が持っているもの(トークンや無線機器)の2種類の要素がある。
この中で、項目(1)のパスワードを利用した単一要素認証方式は、次のような種々の問題点のために決して安全でないという問題点がある。先ず、使用者がパスワードを入力する時に誰かが使用者の肩越しでパスワードを盗み見ることができ、打鍵状況を見られてパスワードが知られるということである。二番目に、詐欺、脅迫などのような反社会的方法でパスワードを攻撃者に開示させられるということである。三番目には、パスワードは情報量側面から見れば エントロピーが低いので、事典攻撃(網羅的情報攻撃)に脆弱であるということである。四番目には、パスワードを物理的に記録したり、類似パスワードをいくつかの所に更新なしで使うような使用者の悪い習慣によりパスワードを盗み見できるということである。特に、ホットスポット(高速通信可能地点)地域でネットワーク接続を試みる公衆無線LANサービスは一層攻撃に危険であると言える。たとえ、加入者をパスワードによって認証するEAP−SRP、PEAP、EAP−TTLS方式が事前攻撃に安全なプロトコルであっても、攻撃者は、オフライン上で打鍵状況盗み見や反社会的方法でパスワードを獲得することもできるからである。
【0006】
また、項目(2)のトークンや無線機器を利用した単一要素認証方式は、トークンとトークンを読める入力装置(例:カードリーダー)が必要であるという短所がある。二番目の要素であるトークンは、スマートカード、USBキー、そしてPDAsのような無線機器などが可能である。したがって、無線環境では、トークンをUSBキーや無線機器に用いれば、特にハードウェアを追加しなくてもよいので多くの費用を要しない。但し、トークンは対称秘密キー又は個人の認証関連秘密情報が貯蔵されなければならないので、ある程度の不法変調防止特性を有した保安モジュールに貯蔵されなければならない。
【0007】
したがって、インターネットや(公衆)無線LANなどでは、前記認証要素による認証に比べてより強力な認証体系を要求し、特に、次のような技術的要求事項を解決することのできる認証方法が要求される。
(1)身元保護:盗聴のような受動的攻撃から加入者(client)の身元を保護することは個人の通信秘密のために必要である。特に、DHCP(Dynamic Host Configuration Protocol)にIPアドレスの割り当てを受けられる使用者には有用なことである。
【0008】
(2)強力な相互認証:攻撃者(attacker)は、加入者と認証サーバーとの間に位置してMitM攻撃を遂行できるので、加入者と網に対する相互認証が必要である。
(3)セッションキーの設定:加入者と網との間に交換されるデータを保護するためにセッションキーが設定されなければならない。
【0009】
(4)Forward Secrecy(FS):プロトコルに参加する個体のLong term secret keying material(長期秘密キー資料)が盗み見されても、攻撃者が以前に盗聴したセッションから過去セッションキーを計算できない性質であるFSが提供されていなければならない。このようなFSは、half FSとfull FSに分けられるが、前者は、加入者と認証サーバーのうちのいずれか一つの個体の秘密キーを見ても攻撃者は過去セッションキーを誘導できないことを意味し、後者は、二つの個体の秘密キーが全て見られた場合にもセッションキーが安全であることを意味する。
【0010】
(5)オフライン辞典攻撃に対する安全性:攻撃者がオフライン辞典攻撃を行って、加入者とサーバーとの間に共有された秘密情報を盗むことのないように、プロトコルが設計されなければならない。
(6)MitM(Man-in-the-Middle)攻撃に対する安全性:(公衆)無線LAN環境では、rouge AP(化粧で誤魔化した偽Access Point)やrouge無線NICを用いたMitM攻撃に脆弱なので、これに対する攻撃に安全であるように設計されなければならない。
【0011】
(7)Replay(反復)攻撃に対する安全性:攻撃者が既に使用されたメッセージを再伝送して認証及びキー設定に成功することを防止しなければならない。
(8)効率性
−演算負荷の最小化:(公衆)無線LAN環境でPDAsに適用できるほどの少ない演算量を要求しなければならない。そして、事前計算を利用して、オンライン計算の負荷を最小化しなければならない。
−メッセージ交換回数の最小化:網資源の効率性と網上の遅延などを考慮すれば、通信ラウンド(往復通信)数が少ないほど長所がある。したがって、加入者と認証サーバーとの間に交換しなければならないメッセージの回数をできるだけ少なくしなければならない。
−通信帯域幅使用の最小化:プロトコルメッセージの大きさをできるだけ小さくしなければならない。
【0012】
(9)キーの確認:プロトコルに参加した合法的な使用者が、自分が意図した相手と実際に共通の秘密セッションキーを共有したことを確認しなければならない。
(10)否認不可(non repudiation):サービス使用時間と網接続回数などのような課金データに対し、使用者が否めない否認不可機能が提供されなければならない。
【発明の開示】
【発明が解決しようとする課題】
【0013】
本発明の目的は前記従来の問題点を解決するためのものであって、2個の独立的な認証要素であるパスワードとトークンに貯蔵されたキーとを利用して加入者を認証する二重要素認証されたキー交換(TAKE)方法及びこれを利用した認証方法と、その方法を含むプログラムが貯蔵された記録媒体を提供することにある。
【課題を解決するための手段】
【0014】
前記目的を達成するための本発明の特徴による二重要素認証されたキー交換方法は、有線、無線の通信を通して認証サーバーに接続された加入者端末器で相互認証のためのキーを交換する方法であって、a)前記加入者端末器が、自身の識別子と前記認証サーバーの公開キーを使用して生成されたキーを前記認証サーバーに送信する段階;b)前記加入者端末器が前記認証サーバーで生成された乱数を受信する段階;c)前記受信された乱数と前記加入者端末器に予め設定されているパスワード及びトークンに貯蔵されたキーを使用して、第1特定値を暗号化した値と生成された加入者側認証子を前記認証サーバーに送信する段階;d)前記加入者端末器が、前記送信された加入者側認証子に対する前記認証サーバーでの認証成功によって、前記認証サーバーで生成された認証サーバー側認証子を受信する段階;並びにe)前記加入者端末器が、前記秘密キーとパスワードを使用して前記受信された認証サーバー側認証子に対する認証を行い、前記認証が成功した場合、前記認証サーバー側認証子を受け入れる段階;を含む。ここで、トークンに貯蔵されたキーは対称キーを利用するのが好ましい。
【0015】
前記二重要素認証されたキー交換方法は、前記a)段階の前に、前記加入者端末器が、登録過程で対称キーアルゴリズムに使用される前記対称キーと前記パスワードとを決めて前記認証サーバーと共有する段階;及び前記加入者端末器が、前記認証サーバーと認証のためのキー交換を行わない場合に乱数を生成し、前記第1特定値を事前計算する段階;をさらに含む。
【0016】
そして、前記加入者端末器は、前記前記パスワード及び前記認証サーバーの公開キーをトークンに貯蔵するのが好ましい。
また、前記a)段階で、前記生成されるキーは、前記加入者端末器の識別子と前記認証サーバーの公開キーに対して一方向ハッシュ関数を使用して生成されるのが好ましい。
【0017】
また、前記c)段階は、前記受信された乱数、前記パスワード、及び対称キーに対し、ハッシュ関数を使用して第2特定値を生成する段階;前記生成された第2特定値を使用して前記第1特定値を暗号化する段階;前記乱数と前記第1特定値を使用して前記加入者側セッションキーを生成する段階;前記生成されたセッションキー、前記パスワード、前記対称キー、及び前記加入者端末器の識別子に対し、ハッシュ関数を使用して前記加入者側認証子を生成する段階;並びに前記第1特定値を暗号化した値と前記加入者側認証子を前記認証サーバーに送信する段階;を含む。
【0018】
また、前記e)段階は、前記加入者側セッションキー、前記パスワード、前記対称キー、及び前記認証サーバーの公開キーに対し、ハッシュ関数を使用して第3特定値を生成する段階;前記生成された第3特定値と前記認証サーバーから受信された認証サーバー側認証子が同じであるか否かを判断する段階;並びに前記生成された第3特定値と前記認証サーバーから受信された認証サーバー側認証子が同じである場合、前記加入者端末器と前記認証サーバーとの間の認証が成功したと判断して、前記認証サーバー側認証子を受け入れる段階;を含む。
【0019】
本発明の他の特徴による二重要素認証されたキー交換方法は、有線、無線の通信を通して加入者端末器に接続された認証サーバーで相互認証のためのキーを交換する方法であって、a)前記加入者端末器が、自身の識別子と前記認証サーバーの公開キーを使用して生成されたキーを前記認証サーバーに送信する段階;b)前記加入者端末器が、前記認証サーバーで生成された乱数を受信する段階;c)前記受信された乱数と前記加入者端末器に予め設定されているパスワード及びトークンに貯蔵されたキーを使用して、第1特定値を暗号化した値と生成された加入者側認証子とを前記認証サーバーに送信する段階;d)前記加入者端末器が、前記送信された加入者側認証子に対する前記認証サーバーでの認証成功によって、前記認証サーバーで生成された認証サーバー側認証子を受信する段階;並びにe)前記加入者端末器が、前記秘密キーとパスワードを使用して前記受信された認証サーバー側認証子に対する認証を行い、前記認証が成功した場合、前記認証サーバー側認証子を受け入れる段階;を含む。ここで、トークンに貯蔵されたキーは対称キーであるのが好ましい。
【0020】
そして、前記a)段階の前に、前記認証サーバーが、登録過程で対称キー暗号アルゴリズムに使用される前記対称キーと前記パスワードとを決めて前記加入者端末器と共有する段階をさらに含む。
ここで、前記認証サーバーは、前記対称キー、前記パスワード、及び前記認証サーバーの秘密キーを保安ファイル関連データベース内に貯蔵するのが好ましい。
【0021】
また、前記d)段階は、前記パスワード、前記対称キー、及び前記乱数に対し、ハッシュ関数を使用して前記第1特定値を生成する段階;前記生成された第1特定値を秘密キーにして、前記受信された暗号化値を復号して前記第2特定値を生成する段階;前記生成された第2特定値、前記認証サーバーの公開キー、及び前記乱数を使用して前記認証サーバー側セッションキーを生成する段階;前記生成されたセッションキー、前記パスワード、前記対称キー、及び前記加入者端末器の識別子に対し、ハッシュ関数を使用して求められた値と前記受信された加入者側認証子が同じであるか否かを判断する段階;並びに前記求められた値と前記受信された加入者側認証子が同じである場合、前記加入者に対する認証が成功したと判断して、前記加入者側認証子を受け入れる段階;を含む。
【0022】
また、前記e)段階で、前記認証サーバー側認証子生成に前記生成された認証サーバー側セッションキーが使用されるのが好ましい。
また、前記a)段階で、前記加入者端末器の識別子がグローバルローミングと課金を支援するためにNAI(Network Access ID)形式を使用する場合、前記加入者端末器が、ユーザー名の部分と前記認証サーバーの公開キーをハッシュした値と領域名の部分を共に前記認証サーバーに送信するのが好ましい。
【0023】
本発明のまた他の特徴による二重要素認証されたキー交換方法を利用した認証方法は、アクセスポイントを通じて加入者端末器と認証サーバーが接続された無線通信システムで、前記加入者端末器と前記認証サーバーとの間に二重要素認証されたキー交換により相互認証する方法であって、a)前記加入者端末器が、前記アクセスポイントから識別子要請を受ける段階;b)前記加入者端末器が、自身の識別子と前記認証サーバーの公開キーを使用して生成されたキーを前記アクセスポイントを通して前記認証サーバーに送信する段階;c)前記認証サーバーが、前記加入者端末器から受信されたキーを使用して前記加入者関連パスワード及び秘密キーと前記認証サーバーの公開キーを検出し、乱数を生成して、前記アクセスポイントを通して前記加入者端末器に送信する段階;d)前記加入者端末器が、前記受信された乱数と前記パスワード及びトークンに貯蔵されたキーを使用して第1特定値を暗号化した値と、生成された加入者側認証子とを前記アクセスポイントを通して前記認証サーバーに送信する段階;e)前記認証サーバーが、前記パスワード、前記トークンに貯蔵されたキー、及び前記乱数を使用して生成した第2特定値を秘密キーにして、前記d)段階で受信された暗号化値を復号し、前記復号された値に基づいて前記受信された加入者側認証子に対する認証を行い、前記認証が成功した場合、前記前記パスワード、トークンに貯蔵されたキー、及び公開キーを使用して生成された認証サーバー側認証子を前記アクセスポイントを通して前記加入者端末器に送信する段階;f)前記加入者端末器が、前記トークンに貯蔵されたキーとパスワードを使用して前記受信された認証サーバー側認証子に対する認証を行い、その認証結果を前記アクセスポイントを通して前記認証サーバーに送信する段階;並びにg)前記認証サーバーが、前記加入者端末器から送信された認証結果が成功したと判明された場合、前記加入者に対する接続許可を前記アクセスポイントを通して前記加入者端末器に送信する段階;を含む。
【0024】
ここで、前記加入者端末器と前記アクセスポイントとの間では拡張可能な認証プロトコル(Extensible Authentication Protocol: EAP)が使用され、前記アクセスポイントと前記認証サーバーとの間ではRADIUSプロトコルが使用されるのが好ましい。
【発明を実施するための最良の形態】
【0025】
以下、添付した図面を参照して、本発明の実施例について本発明が属する技術分野で通常の知識を有する者が容易に実施できるように詳しく説明する。しかし、本発明は多様な相違した形態で実現でき、ここで説明する実施例に限定されない。図面においては、本発明を明確に説明するために説明上不要な部分は省略した。明細書全体を通じて類似な部分については同じ図面号を付けた。
【0026】
まず、本発明の実施例によるTAKEプロトコルを利用した認証方法について詳細に説明する。
図1は、本発明の実施例によるTAKEプロトコルのフローチャートである。図1を参照して本発明の実施例によるTAKEプロトコルについて説明する前に、まず、本発明の実施例で記述される記号について次の通り定義する。
A:加入者
B:認証サーバー
π:パスワード
t:対称キー暗号で使用される対称キー
ID:加入者Aの識別子
{}、D{}:対称キーKで、対称キーに暗号化及び復号化
H():一方向ハッシュ関数
sk:Aが生成したセッションキー
p:大きな素数
q:(p−1)を分ける大きな素数の数
g:位数がqであるZの元素である生成源
b、g(mod p):認証サーバーBの静的秘密キー、公開キー
次に、図1を参照すれば、本発明の実施例によるTAKEプロトコルの動作は、登録段階、事前計算段階、及び実行段階に分けられる。
【0027】
まず、登録段階について説明する。
加入者(Client A)、実質的には加入者の無線端末器とサーバー(Server B)は、3DES(Data Encryption Standard)やラインダール(Rijndael)のような対称キー暗号アルゴリズムに使用される対称キー(t)とパスワード(π)を決めて共有する。そして、サーバーは、特定加入者に対するサーバーの秘密キー[1〜q−1]範囲の任意の数<b>を選択して安全なデータベース(DB)に貯蔵し、加入者にサーバーの公開キー(g)とドメインパラメーター(p、q、g)を知らせる。加入者は、対称キー(t)をトークンに貯蔵する。サーバーの公開キー(g)とドメインパラメーター(p、q、g)は公開できる性質の情報であるから、必ずしも安全な場所に貯蔵せねばならないことはない。
【0028】
次に、事前計算段階について説明する。
本発明の実施例による事前計算はプロトコル遂行前のオフライン上で行われる段階であり、プロトコル遂行中に要する時間と計算量を減少させる。加入者の無線端末器は、無線ネットワークを使用しない空時間(idle time)や端末器パワーオン時に事前計算を行う。図1に示すように、加入者Aは、[1〜q−1]範囲にある任意の数を選択する。
【0029】
【数1】

次に、実行段階について説明する。
この実行段階は相互個体認証とセッションキー設定を遂行する段階であって、次のような手続からなる。
(1)加入者Aはインターネットや(公衆)無線LANサービス接続のために、自身の識別子IDと認証サーバーBの公開キー(g)をハッシュした値であるH(ID、g)を認証サーバーBに送る。
【0030】
もし、加入者IDがグローバルローミングと課金を支援するためにNAI形式を使用する場合、例えば、加入者IDがuserid@realm.comである場合、ユーザー名部分とgをハッシュした値のH(userid、g)と領域名の部分を共に送る。
【0031】
(2)H(ID、g)を受けた認証サーバーBは、加入者保安ファイル関連データベース(DB)から<H(ID、g)>、<ID>、<π>、<t>、<b>を検出し出す。
【0032】
【数2】

【0033】
【数3】

そして、c、g、及びrをハッシュした値であるセッションキーsk=H(c、g、r)を計算した後、π、t、及びIDAをハッシュした値である認証子M=H(sk、π、t、ID)を生成する。加入者Aは、前記生成されたeとMを認証サーバーBに送る。
【0034】
【数4】

その後、認証サーバーBは、前記求められたgとbを使用してc=gxbを計算した後、cとrを共に使ってsk=H(c、g、r)を計算し、次いで、H(sk、π、t、ID)を生成して、前記受信されたMと同じであるか否かを検査する。もし、二つの値が同じであれば加入者Aに対する認証は成功であるから、認証サーバーBは、加入者Aから送信されたMを受け入れる。そして、認証サーバーBは、M=H(sk、π、t、g)を計算して加入者Aに送る。
【0035】
(5)加入者Aは、認証サーバーBから受信したMと自分が計算したH(sk、π、t、g)が同じ値であるか否かを検査する。もし、二つの値が同じであれば認証サーバーBに対する認証は成功であるから、加入者AはMを受け入れる。このように加入者Aと認証サーバーBがMとMを各々受け入れれば、加入者Aと認証サーバーBとの間の相互認証が成功したことを意味する。
【0036】
図2は、本発明の実施例によるTAKEプロトコルを用いた(公衆)無線LANでの認証及びキー交換フローチャートである。
図2を参照すれば、(公衆)無線LANなどのアクセスポイント200を通して加入者100と認証サーバー300とが連結されて、加入者100に対する認証が認証サーバー300によって行われる。
【0037】
ここで、加入者100とアクセスポイント200との間では拡張可能な認証プロトコルが使用され、アクセスポイント200と認証サーバー300との間ではRADIUSプロトコルが使用される。
また、加入者100は、対称キー(t)、パスワード(π)、認証サーバー300の公開キー(g)、及びDH(Diffie-Hellman)ドメインパラメーター(p、q、g)を貯蔵しており、認証サーバー300は、対称キー(t)、パスワード(π)、認証サーバー300の公開キー(g)、及びDHドメインパラメーター(p、q、g)の外にサーバー秘密キー(b)を貯蔵している。
【0038】
まず、加入者100が(公衆)無線LANなどのサービス接続を要請する場合、アクセスポイント200は、加入者100にタイプ1(identity)を有するEAP要請(EAP-Request/Identity)を送る(S100)。
加入者100は、自身の識別子IDと認証サーバー300の公開キー(g)をハッシュした値であるH(ID、g)をアイデンティティにするEAP応答(H(ID、g))をアクセスポイント200に伝達する(S110)。
【0039】
次に、アクセスポイント200は、加入者100から伝達されたアイデンティティを含んで、認証サーバー300に対する接続要請(Radius-Access-Request、H(ID、g))を送る(S120)。
【0040】
【数5】

一方、加入者100は、認証サーバー300から送ってきた任意の値rを受信すれば、π及びtと共に使ってハッシュした値f=H(r、π、t)を計算した後、このfを、gを対称キー暗号化する秘密キーとして使用してe=Ef{gx}を計算する。そして、c、g、及びrをハッシュした値であるセッションキーsk=H(c、g、r)を計算した後π、t及びIDをハッシュした値である認証子M=H(sk、π、t、ID)を生成して、eとMをTAKEサブタイプ1に対するEAP応答(EAP-Response/TAKE Subtype1 (e, MA))をアクセスポイント200に送り(S150)、アクセスポイント200は、加入者100から伝達された(e、M)を含む接続要請(Radius-Access-Request (e, MA))を認証サーバー300に送る(S160)。
【0041】
【数6】

その後、認証サーバー300は、前記求められたgとbを使用してc=gxbを計算した後、cとrを共に使ってsk=H(c、g、r)を計算し、次いで、H(sk、π、t、ID)を生成して、前記受信されたMと同じであるか否かを検査する。もし、二つの値が同じであれば加入者100に対する認証は成功であるので、認証サーバー300は、加入者100から送信されたMを受け入れる。そして、認証サーバー300は、M=H(sk、π、t、g)を計算して、接続チャレンジメッセージ(Radius-Access-Challenge (MB))としてアクセスポイント200に送る(S170)。
【0042】
アクセスポイント200は、認証サーバー300から送ってきたMをTAKEサブタイプ2にして、EAP要請(EAP-Request/TAKE subtype2 (MB))を加入者100に伝達する(S180)。
次に、加入者100は、認証サーバー300から送ってきたMを受信して、自分が計算したH(sk、π、t、g)と同じ値であるか否かを検査する。もし、二つの値が同じであれば、認証サーバー200に対する認証は成功なので、加入者100はMを受け入れる。このように加入者100と認証サーバー300がMとMを各々受け入れれば、加入者100と認証サーバー300との間の相互認証が成功に行われたことである。
【0043】
次に、加入者100は確認を意味するTAKEサブタイプ2に対するEAP応答(EAP-Response/TAKE Subtype2)をアクセスポイント200に送り(S190)、アクセスポイント200は、加入者100から伝達されたメッセージを含む接続要請を認証サーバー300に送る(S200)。
【0044】
認証サーバー300は、アクセスポイント200を通して加入者100から送ってきた認証結果が成功であれば、接続許容メッセージ(Radius-Access-Accept)をアクセスポイント200に送り(S210)、アクセスポイント200は、この結果によりEAP成功メッセージ(EAP-Success)を加入者100に送った後(S220)、認証サーバー300から接続が許容されたことを知らせるためにEAPOL−Keyメッセージを加入者100に送る(S230)。
【0045】
ここで、加入者100とアクセスポイント200との間に伝えられるメッセージ又はパケットには、LANプロトコルを通したEAPカプセル化(EAP encapsulation over LAN protocol:EAPOL)が使用される。
前記のように、本発明の実施例によるTAKEプロトコルを利用した認証方法が、強力な認証のために要求される技術的事項を満足するかについて説明する。つまり、本発明の実施例によるTAKEプロトコルを利用した認証方法に対する安全性の分析は次の通りである。
【0046】
(1)身元保護:加入者は、ID要請を受けると自身のIDの代わりにH(ID、g)を伝送して、盗聴者のような受動的攻撃者が加入者の身元を分からないようにする。但し、認証サーバーは加入者の匿名と実際の身元をマッチングできなければならない。
【0047】
(2)強力な相互認証:加入者は、パスワード(π)と秘密キー(t)、そして認証サーバーの公開キー(g)を知ることによって、初めて認証子Mを誘導することができて、加入者認証を受けることができる。一方、認証サーバーは、パスワード(π)と秘密キー(t)、加入者識別子(IDA)、そしてサーバーの秘密キー(b)を知ることによって、初めてMを誘導することができて、ネットワーク認証を受けることができる。したがって、強力な相互認証を提供するようになる。
【0048】
(3)セッションキー設定:加入者と認証サーバーとの間で、データ保護のためにセッションキー(sk、sk)が生成される。生成されたセッションキーは乱数性と新規性を提供するが、これは各個体の動的な任意数xとrの選択に起因する。
(4)Forward Secrecy(FS):加入者が所持している秘密情報<ID>、<π>、<t>、<g>を、攻撃者が全て盗み見できる場合、攻撃者はe暗号文を復号してgを知り得るだろうが、c=gxb値はDLP(離散対数問題)だから計算が難しい。また、サーバーの秘密キー<b>を盗み見できる場合には、c=gxb値を計算するためにgを知らなければならず、gを知るためには<π>及び<t>を知らなければならない。つまり、攻撃者は、<b>、<π>、<t>を全て知ることによって、初めてセッションキーを計算することができる。しかし、実際に(公衆)無線LAN環境では、サービスを提供する企業が大企業であって自身の強力な保安体制を持っているはずなので、保安関連の重要な秘密情報が攻撃者に漏れる可能性は非常に低いと考えられる。したがって、TAKEプロトコルは、(公衆)無線LANでは一般的なhalf FSというよりは、実用的なhalf FSと言える。
【0049】
(5)オフライン辞典(offline dictionary)攻撃:攻撃者達は、認証成功に必要な秘密情報を得るためにオフライン辞典攻撃を試みる可能性がある。エントロピーの少ないパスワードは、このような攻撃に脆弱であるが、TAKEでは、トークンに貯蔵されたエントロピーの高い秘密キーとパスワードとが任意の値gを暗号化するキーに共に使用されるので、このような攻撃は事実上不可能である。つまり、攻撃者は、パスワードと秘密キーそして任意の値gまで推測しなければならない。
【0050】
(6)Man-in-The-Middle(MitM)攻撃に対する安全性:攻撃者は、加入者とサーバーとの間に位置してMitM攻撃を行うことができる。しかし、TAKEでは強力な二重要素認証を使っているので、このような攻撃が成功するのは非常に難しい。
【0051】
(7)Replay攻撃に対する安全性:Replay攻撃は、攻撃者が既に使用されたメッセージを再伝送して以前のセッションキーを再び設定しようとする攻撃方法である。TAKEでは、加入者とサーバーが毎セッションごとに任意の数xとrを各々生成してセッションキーを生成するので、Replay攻撃に安全である。
【0052】
(8)効率性(efficiency)
−演算負荷の最小化:DH(Diffie-Hellman)プロトコルは、FSを提供できるので認証及びキー設定(AKE)プロトコルで多く使用されているが、累乗計算を要求するために演算量が多くなる。ハッシュ関数及び対称キー暗号化/復号化にかかる時間は非常に短いので、演算に要する時間の大部分は累乗と逆元計算、そして掛け算で占められている。特に、PDAsでは、演算量が多くなると実時間認証にかかる時間が多くなる。したがって、TAKEでは、オンライン上で加入者側が対称キー暗号1番とハッシュ5番を使用するようにし、オフラインでは、事前計算で2番の累乗計算をするように設計された。一方、サーバー側では、累乗1番、対称キー復号1番、そしてハッシュ4番の演算量が必要である。
−メッセージ交換回数の最小化:TAKEでは4回のパス(pass)があるため、加入者と認証サーバーとの間で交換しなければならないメッセージの回数が少ない。
−通信帯域幅使用の最小化:5個のメッセージのうちで3個はハッシュの出力ビット数であり、一つは乱数のビット数であり、他の一つはg暗号文の出力ビット数である。
【0053】
(9)キー確認:TAKEでは、認証子MとMにセッションキーを含ませてキー確認を行うことにより、プロトコルに参加した合法的な加入者が自身の意図した認証サーバーと実際に共通の秘密セッションキーを共有したことを確認することができる。
(10)否認不可:TAKEではデジタル署名方式を使用しないが、強力な二重要素認証を使うので、欺瞞的な使用者がサービスを利用してこれを否認することを防止することができる。
【0054】
以上のような本発明の方法は、プログラムに実現されてコンピュータで読むことのできる形態に、記録媒体(CD−ROM、RAM、ROM、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスクなど)に貯蔵することができる。
以上、本発明の好ましい実施例について詳細に説明したが、本発明はこれに限定されるものではなく、その他の多様な変更や変形が可能である。
【図面の簡単な説明】
【0055】
【図1】本発明の実施例によるTAKEプロトコルのフローチャートである。
【図2】本発明の実施例によるTAKEプロトコルを用いた(公衆)無線LANでの認証及びキー交換フローチャートである。

【特許請求の範囲】
【請求項1】
有線、無線の通信を通して、認証サーバーに接続された加入者端末器において相互認証のためのキーを交換する方法において、
a)前記加入者端末器が、自身の識別子と前記認証サーバーの公開キーを使用して生成されたキーを前記認証サーバーに送信する段階;
b)前記加入者端末器が前記認証サーバーで生成された乱数を受信する段階;
c)前記受信された乱数と前記加入者端末器に予め設定されているパスワード、及びトークンに貯蔵されたキーを使って、第1特定値を暗号化した値と生成された加入者側認証子を前記認証サーバーに送信する段階;
d)前記加入者端末器が、前記送信された加入者側認証子に対する前記認証サーバーでの認証成功によって、前記認証サーバーで生成された認証サーバー側認証子を受信する段階;並びに
e)前記加入者端末器が、前記秘密キーとパスワードを使って前記受信された認証サーバー側認証子に対する認証を行い、前記認証が成功した場合、前記認証サーバー側認証子を受け入れる段階;
を含む二重要素認証されたキー交換方法。
【請求項2】
前記トークンに貯蔵されたキーは対称キー(symmetric key)であることを特徴とする、請求項1に記載の二重要素認証されたキー交換方法。
【請求項3】
前記a)段階の前に、
前記加入者端末器が、登録過程で対称キーアルゴリズムに使用される前記対称キーと前記パスワードとを決めて、前記認証サーバーと共有する段階;及び
前記加入者端末器が、前記認証サーバーと認証のためのキー交換を行わない場合に乱数を生成し、前記第1特定値を事前計算する段階;
をさらに含む、請求項2に記載の二重要素認証されたキー交換方法。
【請求項4】
前記加入者端末器は、前記パスワード、及び前記認証サーバーの公開キーを前記トークンに貯蔵することを特徴とする、請求項1又は3に記載の二重要素認証されたキー交換方法。
【請求項5】
前記a)段階で、
前記生成されるキーは、前記加入者端末器の識別子と前記認証サーバーの公開キーに対して一方向ハッシュ関数を使用して生成されることを特徴とする、請求項1又は3に記載の二重要素認証されたキー交換方法。
【請求項6】
前記c)段階は、
前記受信された乱数、前記パスワード、及び前記トークンに貯蔵されたキーに対し、ハッシュ関数を使用して第2特定値を生成する段階;
前記生成された第2特定値を使用して前記第1特定値を暗号化する段階;
前記乱数と前記第1特定値を使用して前記加入者側セッションキーを生成する段階;
前記生成されたセッションキー、前記パスワード、前記トークンに貯蔵されたキー、及び前記加入者端末器の識別子に対し、ハッシュ関数を使用して前記加入者側認証子を生成する段階;並びに
前記第1特定値を暗号化した値と前記加入者側認証子とを前記認証サーバーに送信する段階;
を含む、請求項1又は3に記載の二重要素認証されたキー交換方法。
【請求項7】
前記e)段階は、
前記加入者側セッションキー、前記パスワード、前記トークンに貯蔵されたキー、及び前記認証サーバーの公開キーに対し、ハッシュ関数を使用して第3特定値を生成する段階;
前記生成された第3特定値と前記認証サーバーから受信された認証サーバー側認証子が同じであるか否かを判断する段階;並びに
前記生成された第3特定値と前記認証サーバーから受信された認証サーバー側認証子が同じである場合、前記加入者端末器と前記認証サーバーとの間の認証が成功したものと判断して、前記認証サーバー側認証子を受け入れる段階;
を含む、請求項6に記載の二重要素認証されたキー交換方法。
【請求項8】
有線、無線の通信を通して、加入者端末器に接続された認証サーバーで相互認証のためのキーを交換する方法において、
a)前記認証サーバーが、前記加入者端末器で識別子と前記認証サーバーの公開キーを使用して生成されたキーを受信する段階;
b)前記認証サーバーが、前記加入者端末器から受信された値を使用して前記加入者関連パスワード及びトークンに貯蔵されたキーと前記認証サーバーの公開キーを検出し、乱数を生成して、前記加入者端末器に送信する段階;
c)前記認証サーバーが、前記送信された乱数に基づいて、前記加入者端末器で生成された暗号化値と加入者側認証子を受信する段階;
d)前記認証サーバーが、前記パスワード、前記トークンに貯蔵されたキー、及び前記乱数を使用して生成した第1特定値を秘密キーにして、前記c)段階で受信された暗号化値を復号して第2特定値を生成し、前記生成された第2特定値に基づいて、前記受信された加入者側認証子に対する認証を行い、前記認証が成功した場合に前記加入者側認証子を受け入れる段階;並びに
e)前記認証サーバーが、前記前記パスワード、トークンに貯蔵されたキー、及び公開キーを使用して生成された認証サーバー側認証子を前記加入者端末器に送信する段階;
を含む二重要素認証されたキー交換方法。
【請求項9】
前記トークンに貯蔵されたキーは対称キーであることを特徴とする、請求項8に記載の二重要素認証されたキー交換方法。
【請求項10】
前記a)段階の前に、
前記認証サーバーが、登録過程で対称キー暗号アルゴリズムに使用される前記対称キーと前記パスワードとを決めて、前記加入者端末器と共有する段階をさらに含む、請求項9に記載の二重要素認証されたキー交換方法。
【請求項11】
前記認証サーバーは、前記トークンに貯蔵されたキー、前記パスワード、及び前記認証サーバーの秘密キーを保安ファイル関連データベース内に貯蔵することを特徴とする、請求項8又は10に記載の二重要素認証されたキー交換方法。
【請求項12】
前記d)段階は、
前記パスワード、前記トークンに貯蔵されたキー、及び前記乱数に対し、ハッシュ関数を使用して前記第1特定値を生成する段階;
前記生成された第1特定値を秘密キーにして、前記受信された暗号化値を復号して前記第2特定値を生成する段階;
前記生成された第2特定値、前記認証サーバーの公開キー、及び前記乱数を使用して、前記認証サーバー側セッションキーを生成する段階;
前記生成されたセッションキー、前記パスワード、前記トークンに貯蔵されたキー、及び前記加入者端末器の識別子に対し、ハッシュ関数を使用して求められた値と前記受信された加入者側認証子が同じであるか否かを判断する段階;並びに
前記求められた値と前記受信された加入者側認証子が同じである場合、前記加入者に対する認証が成功したものと判断して、前記加入者側認証子を受け入れる段階;
を含む、請求項8又は10に記載の二重要素認証されたキー交換方法。
【請求項13】
前記e)段階で、前記認証サーバー側認証子の生成に、前記生成された認証サーバー側セッションキーが使用されることを特徴とする、請求項12に記載の二重要素認証されたキー交換方法。
【請求項14】
前記a)段階で、前記加入者端末器の識別子がグローバルローミングと課金を支援するためにNAI(Network Access ID)形式を使用する場合、前記加入者端末器が、ユーザー名の部分と前記認証サーバーの公開キーをハッシュした値と領域名の部分とを共に前記認証サーバーに送信することを特徴とする、請求項1又は8に記載の二重要素認証されたキー交換方法。
【請求項15】
アクセスポイントを通して加入者端末器と認証サーバーが接続された無線通信システムで、前記加入者端末器と前記認証サーバーとの間に二重要素認証されたキー交換により相互認証する方法において、
a)前記加入者端末器が、前記アクセスポイントから識別子要請を受ける段階;
b)前記加入者端末器が、自身の識別子と前記認証サーバーの公開キーを使用して生成したキーを前記アクセスポイントを通して前記認証サーバーに送信する段階;
c)前記認証サーバーが、前記加入者端末器から受信されたキーを使用して前記加入者関連パスワード及び秘密キーと前記認証サーバーの公開キーを検出し、乱数を生成して、前記アクセスポイントを通して前記加入者端末器に送信する段階;
d)前記加入者端末器が、前記受信された乱数と前記パスワード及びトークンに貯蔵されたキーを使用して、第1特定値を暗号化した値と生成された加入者側認証子とを前記アクセスポイントを通して前記認証サーバーに送信する段階;
e)前記認証サーバーが、前記パスワード、前記トークンに貯蔵されたキー、及び前記乱数を使用して生成した第2特定値を秘密キーにして、前記d)段階で受信された暗号化値を復号し、前記復号された値に基づいて、前記受信された加入者側認証子に対する認証を行い、前記認証が成功した場合、前記前記パスワード、トークンに貯蔵されたキー、及び公開キーを使用して生成された認証サーバー側認証子を、前記アクセスポイントを通して前記加入者端末器に送信する段階;
f)前記加入者端末器が、前記トークンに貯蔵されたキーとパスワードを使用して、前記受信された認証サーバー側認証子に対する認証を行い、その認証結果を前記アクセスポイントを通して前記認証サーバーに送信する段階;並びに
g)前記認証サーバーが、前記加入者端末器から送信された認証結果が成功と判明した場合、前記加入者に対する接続許可を前記アクセスポイントを通して前記加入者端末器に送信する段階;
を含む二重要素認証されたキー交換による認証方法。
【請求項16】
前記トークンに貯蔵されたキーは対称キーであることを特徴とする、請求項15に記載の二重要素認証されたキー交換による認証方法。
【請求項17】
前記加入者端末器と前記アクセスポイントとの間では拡張可能な認証プロトコル(Extensible Authentication Protocol:EAP)が使用され、
前記アクセスポイントと前記認証サーバーとの間ではRADIUSプロトコルが使用されることを特徴とする、請求項15又は16に記載の二重要素認証されたキー交換による認証方法。
【請求項18】
有線、無線の通信を通して認証サーバーに接続された加入者端末器で相互認証のためのキーを交換する方法において、
a)前記加入者端末器が、自身の識別子と前記認証サーバーの公開キーを使用して生成されたキーを前記認証サーバーに送信する機能;
b)前記加入者端末器が、前記認証サーバーで生成された乱数を受信する機能;
c)前記受信された乱数と前記加入者端末器に予め設定されているパスワード及びトークンに貯蔵されたキーを使用して第1特定値を暗号化した値と生成された加入者側認証子とを前記認証サーバーに送信する機能;
d)前記加入者端末器が、前記送信された加入者側認証子に対する前記認証サーバーでの認証成功により、前記認証サーバーで生成された認証サーバー側認証子を受信する機能;並びに
e)前記加入者端末器が、前記トークンに貯蔵されたキーとパスワードを使用して前記受信された認証サーバー側認証子に対する認証を行い、前記認証が成功した場合、前記認証サーバー側認証子を受け入れる機能;
を実現するプログラムを貯蔵した記録媒体。
【請求項19】
前記トークンに貯蔵されたキーは対称キーであることを特徴とする、請求項18に記載のプログラムを貯蔵した記録媒体。
【請求項20】
有線、無線の通信を通して加入者端末器に接続された認証サーバーで相互認証のためのキーを交換する方法において、
a)前記認証サーバーが、前記加入者端末器で識別子と前記認証サーバーの公開キーを使用して生成された値を受信する機能;
b)前記認証サーバーが、前記加入者端末器から受信された値を使用して前記加入者関連パスワード及びトークンに貯蔵されたキーと前記認証サーバーの公開キーを検出し、乱数を生成して、前記加入者端末器に送信する機能;
c)前記認証サーバーが、前記送信された乱数に基づいて、前記加入者端末器で生成された暗号化値と加入者側認証子を受信する機能;
d)前記認証サーバーが、前記パスワード、前記トークンに貯蔵されたキー、及び前記乱数を使用して生成した第1特定値を秘密キーにして、前記c)段階で受信された暗号化値を復号して第2特定値を生成し、前記生成された第2特定値に基づいて、前記受信された加入者側認証子に対する認証を行い、前記認証が成功した場合、前記加入者側認証子を受け入れる機能;並びに
e)前記認証サーバーが、前記前記パスワード、トークンに貯蔵されたキー、及び公開キーを使用して生成された認証サーバー側認証子を前記加入者端末器に送信する機能;
を実現するプログラムを貯蔵した記録媒体。
【請求項21】
前記トークンに貯蔵されたキーは対称キーであることを特徴とする、請求項20に記載のプログラムを貯蔵した記録媒体。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2007−520909(P2007−520909A)
【公表日】平成19年7月26日(2007.7.26)
【国際特許分類】
【出願番号】特願2006−516955(P2006−516955)
【出願日】平成16年6月28日(2004.6.28)
【国際出願番号】PCT/KR2004/001569
【国際公開番号】WO2005/002131
【国際公開日】平成17年1月6日(2005.1.6)
【出願人】(503007988)ケーティー・コーポレーション (9)
【氏名又は名称原語表記】KT Corporation
【住所又は居所原語表記】206 Jungja−dong,Pundang−gu,Sungnam−shi,Kyoungki−do,Korea
【Fターム(参考)】