6.5   ユーザ認証システム

  6.5.1ユーザ認証システム

図:6.5.1ユーザ認証システム
  ユーザ認証システムとは、文字どおりユーザを認証して特定し、ネットワークシステムのセキュリティレベルを高めるために使用されるシステムのことです。ユーザIDやパスワードなどの組み合わせにより、ログインしてきたユーザが、ネットワークの利用可能ユーザであるかどうかを識別します。



  6.5.2 PAP認証

図:6.5.2 PAP認証

  PAP(Password Authentication Protocol:RFC1334)と呼ばれるシステムでは、パスワードファイルは暗号化されています。ユーザがイントラネットにログオンしようとすると、サーバーはユーザ名とパスワードの入力を求めてきます。ユーザが入力した文字はクライアント上では、暗号化されずにそのままの形で回線上を送られてきます。サーバーはユーザのパスワードを受け取るとそれをパスワードファイルを暗号化したときと同じ方法で暗号化します。その後、サーバーは2つのパスワードを比較して、一致していればユーザのログインが許可されます。

PAPの問題点
  PAPシステムの場合、パスワードファイルは暗号化されているので、パスワードファイルそのものは安全ですが、ユーザが入力したパスワードは、サーバーで暗号化されるまでは暗号化されていないので、パケットが盗聴される危険があります。また、パスワードを暗号化してから回線に流したとしても、盗聴によって横取りされて再生されれば、サーバーは正規ユーザであるとだまされる可能性があります。



  6.5.3 CHAP認証

図:6.5.3 CHAP認証

  CHAP(Challenge Handshake Authentication Protocol)認証は、チャレンジ/レスポンスという方式を利用した認証システムです。このシステムでは次のような処理が行われます。
  ユーザがユーザ名を入力すると、サーバーは乱数鍵を生成してそれをユーザに送り返します。(チャレンジコード)ユーザはその鍵を使ってパスワードを暗号化しサーバーに送ります(レスポンスコード)。サーバーは、ユーザから送られてきた暗号化されたパスワードをサーバー自身が生成した暗号化されたパスワードと比較して、一致すればユーザのログインを許可するという仕組みです。
  このCHAP認証は、パスワード盗聴の危険を減らすことはできますが、サーバーに侵入され、パスワードを盗まれてしまうケースや、パスワードを打ち込む際に盗み見られてしまうケースでの危険性は残ります。



  6.5.4ワンタイムパスワード

ワンタイムパスワードの実現方式として下記でチャレンジレスポンス方式とタイムシンクロナス方式について、詳細を述べます。

  PAP認証やCHAP認証の問題点を解決し、より安全なユーザ認証を行うための仕組みに、ワンタイムパスワードがあります。ワンタイムパスワードとは、文字通り、接続する毎に入力するパスワードが毎回変わる方式で、1回パスワードが使用されると、そのパスワードは次回からは使用できないようになっています。また専用プログラムやハードウエアを利用するため、パスワードの盗み見等に対するリスクも軽減できます。


    チャレンジレスポンス方式

図:6.5.4 チャレンジレスポンス方式
  チャレンジレスポンス方式を採用したワンタイムパスワードのシステムは、先に説明した、CHAP認証と同じ方式をとっています。
  ユーザは登録されているIDを入力します。要求を受けたサーバーは毎回異なるチャレンジコードを送付します。ユーザはパスワード生成ツールを使って、送られてきたチャレンジコードと固定パスワードを使ってレスポンスコードと呼ばれるワンタイムパスワードを生成し送り返します。サーバー側でもパスワード生成ツールを持っており、クライアントと同じ手順でレスポンスコードを作成します。送られてきたレスポンスコードと作成したレスポンスコードを比較し、合っていればログインを許可します。
  サードパーティ製のシステムを利用すれば、パスワードとともにパスワード生成ツールも入手しなければなりませんので、OSで提供されているCHAP認証を利用するのに比べてセキュリティ強度は高いといえます。


    タイムシンクロナス方式

図:6.5.4 タイムシンクロナス方式
  タイムシンクロナス方式は、キャッシュカード程度の専用ハードウエアを使います。このカードには、決まった時間ごとに、毎回違ったコードが表示されます。このカードと認証サーバーでは時間の同期を図っており、カードに表示されるコードと、同じコードが認証サーバー側でも発生します。ユーザはIDを入力した後、専用のハードウェアに表示されている4桁の暗証番号(PINコードと呼ばれる)を付加してパスワードを生成し、送信します。認証サーバー側でも、同じ処理が行われ送信されてきたパスワードが一致すればログインできるようになります。
  このシステムは、専用のハードウエアを利用し、なおかつ毎回、回線上を流れるパスワードが変化するため、盗聴とパスワードを盗む両方の行為に対して威力を発揮します。



  6.5.5バイオメトリックス

図:6.5.5 バイオメトリックス

  バイオメトリックスとは指紋や網膜パターン、声紋、筆跡などを用いて本人認証を行う技術です。
  バイオメトリックスの技術を応用すれば、銀行の現金自動支払機に備えてあるレンズを数秒間見つめるだけで預金をおろすといったことが可能になります。この場合、本人以外には絶対にお金はおろすことができず、また、カードのように家に置き忘れるような心配もありません。
  リモートアクセスや外部ネットワークからの接続では、指紋を利用したシステムが利用されるようになりました。
  パソコンに小型のスキャナを接続し、指を乗せて指紋の情報をサーバーに送信して認証を行うシステムです。
  サーバー側には、ユーザ登録時に本人の指紋を登録します。スキャナに写された指紋は、複雑なアルゴリズ ムを使って細かい点と線のデータに変換されます。これらの情報はさらに暗号化されサーバー内に保存されます。指紋そのものを保存するのではありません。また保存情報から元の指紋を復元することもできませんので高度なセキュリティレベルが保てます。



  6.5.6 RADIUS(Remote Authentication Dial-In User Service)

    6.5.6.1ユーザ認証一元化の必要性

図:6.5.6.1 ユーザ認証一元化の必要性

  リモートアクセスの規模が大きくなり、アクセスポイントを複数持つようなシステムの場合は、アクセスポイントのリモートアクセスサーバーごとに認証システムを用意しなければなりません。この場合、すべてのサーバーが同じ認証データを持っている必要があり、同期を取る必要性が発生するなど管理が困難になってきます。
  このように管理の複雑性を回避し、ユーザ情報を一元管理するためのシステムが必要です。


    6.5.6.2 RADIUSのアーキテクチャ

図:6.5.6.2 RADIUSのアーキテクチャ

RADIUS(RFC2138,2139)
  RADIUS(Remote Authentication Dial-In User Service)は、前記のような問題を解決し認証を一元化するためのシステムです。
  米リビングストーン社が開発したシステムで、もともとUNIXで使われていたダイヤルアップ接続のユーザ認証システムです。したがってRADIUSは、TCP/IPベースのネットワークにのみ適用されます。
  認証の仕組みはいたってシンプルで、上図のようにRADIUSサーバープログラムはRADIUSクライアント(リモートアクセスサーバー)からの認証要求を受けて認証の可否をクライアントに返します。
  RADIUSでは、認証機能のほかに、課金機能なども有しています。



  6.5.7 Kerberos

図:6.5.7 Kerberos
  Kerberos(RFC1510)は MIT(マサチューセッツ工科大学) で開発されたオープンネットワークシステムのための認証システムです。現在の最新版はバージョン5です。
  Kerberosの認証は認証チケットを元に行われます。
  その手順は、
  1. クライアントが認証サーバーにチケット発行要求を行います。
  2. パスワードやIDが正しければ認証サーバーはチケットを発行します。
  3. クライアントはリソースを利用したいサーバーにチケットを提示します。
  4. リソースサーバーはチケットを検証してリソースを提供します。
  5. 使用が終わるとクライアントはチケットを認証サーバーに返却します。
  ユーザ認証という意味では非常に強固であり、きめ細かい制御が可能ですが、リモートアクセスでの利用においては、ユーザ認証する際に、ユーザ認証サーバーとの接続を行う必要があり、特にダイヤルアップ接続での運用が難しく、不都合な点もあります。



  6.5.8認証システム選択のポイント


  認証システムの選択ポイントは、
  • コスト
  • セキュリティ強度
  • ユーザの使いやすさ
の3点になります。

  OS付属の提供システムは、比較的使いやすくコストはもっともかかりませんが、クラッキングの対象となりやすいのも事実です。
  その点では、サードパーティ製のものは、OS付属のものよりもクラッキングの対象となりにくいと言えますが、独自の設定方法や操作方法を習得しなければならないケースもあります。
  リモートアクセスで利用する場合は、顔の見えない状態で、ネットワークに接続しますので強固なセキュリティ機能が必要ですが、余り特殊で難しい設定方法をマスターしなければならないとユーザの利便性を損ない、逆にセキュリティ強度を低下させることにもなりかねません。
  上記の3つの観点から利用環境に応じてバランスのとれたものを選択することが重要です。

最初へ



Copyright ©  2002 Information-technology Promotion Agency, Japan. All rights reserved.