Accense Technology

アクセンスマガジン 第4号

ハッシュ値で認証を行う/RADIUSサーバーのログで重視することとは

2015/01/30

こんにちは。アクセンスマガジンです。 このメルマガは、「読むとRADIUSの知識が身につく」内容を皆様にお届けしています。

今回は「ハッシュ値で認証を行う」「RADIUSサーバーのログで重視することとは」という2つのトピックでRADIUS知識をお届けいたします。

ハッシュ値で認証を行う

「RADIUSの場合もCHAP認証では、ハッシュ値を使って認証を行います。」と書かれていても、ピンとこないかもしれません。 ハッシュというのは、もともと可変長データを固定長データに圧縮するための操作で、充分なサイズの固定長であれば、 元の可変長データを「識別」できるという特徴があります。 この操作を行う関数をハッシュ関数と呼びます。ハッシュ関数の特徴には、元のデータからハッシュ値を得ることは容易にできても、 ハッシュ値から元のデータを知ることは出来ないという性質があります。 このような性質を用いて、元のパスワードを記録するのではなく、パスワードから作られたハッシュ値を記録しておき、 認証する側も、パスワードからハッシュ値を生成して、サーバに送ります。 ハッシュ値が一致すれば、同じパスワードだということができます。 パスワード自身は送らないので、通信内容を読み取られても、パスワードを知る方法はありません。 CHAP認証の場合、ハッシュ関数の一部を毎回変えます。この変えた部分とハッシュ値を送ることで、 同じパスワードであっても、ハッシュ値は毎回変わります。こうすることで、さらに「正しい」値をわかりにくくしています。

なお、数学的には、異なるパスワードに対して同じハッシュ値を返してしまい、元のパスワードを識別できない可能性があります。 ハッシュ関数によって異なるものの、その確率は例えば128bitのmd5では38桁分の1以下です。 数学的には、この確率で異なるパスワードでも正しいと判定することがあります。

RADIUSサーバーのログで重視することとは

当社開発中の第五世代エンジンのRADIUS認証プロトコルとRADIUSアカウンティングプロトコルでは、ログの扱い方が異なります。 RADIUS認証プロトコルを利用する場合、認証結果をすばやく返すことに重点を置いています。 そのために、認証ログへの認証結果の書き込みは非同期で行います。 これは応答パケットを送信したタイミングでは必ずしも認証ログに記録されているとは限らないということになります。 一方、RADIUSアカウンティングプロトコルでは、RADIUSクライアントに応答パケットを送信することは、 RADIUSクライアントからの通信状況などの通知を記録したことを意味する、と捉えています。 したがって、RADIUS認証とは異なり、アカウンティングログへの記録が完了した後(OSへ書き込み依頼を完了したことを意味します) 応答パケットを送信しています。

こうした違いがあるため、RADIUSアカウンティングサーバーでは、 アカウンティングログの書き込み処理がボトルネックになる可能性が高くなります。

一覧に戻る
アクセンスマガジンは、アクセンス・テクノロジーの最新の情報発信の場です。
  • RADIUS専門メーカーならではの、RADIUSに関する「豆知識」「活用方法」「技術解説」
  • アクセンス技術メンバーによる開発小話
  • 市場の流行りのトピックに関連した情報
などを不定期で発信しています。

メールマガジンを購読する

記事はメールマガジンでも配信しております。
更新情報をチェックしたい方は是非ご購読ください。

購読する