ヘッダーをスキップ
Oracle Database Advanced Security管理者ガイド
11g リリース1(11.1)
E05729-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

C RADIUSによる認証デバイスの統合

この付録では、認証デバイスのサード・パーティ・ベンダーが、その認証デバイスにあわせてRADIUSチャレンジ/レスポンス・ユーザー・インタフェースをカスタマイズする方法について説明します。

項目は、次のとおりです。

C.1 RADIUSチャレンジ/レスポンス・ユーザー・インタフェース

RADIUS標準をサポートする認証デバイスをセットアップして、Oracleユーザーを認証できます。認証デバイスでチャレンジ/レスポンス・モードを使用する場合、グラフィカル・インタフェースを通じて最初にパスワードの入力が求められ、次に追加情報の入力が求められます。追加情報とは、ユーザーがトークン・カードから取得する動的パスワードなどです。このインタフェースはJavaベースであり、最適なプラットフォームの独立性を提供します。

認証デバイスのサード・パーティ・ベンダーは、そのデバイスに適したグラフィカル・ユーザー・インタフェースにカスタマイズする必要があります。 たとえば、スマートカードのベンダーは、スマートカード・リーダーにチャレンジを発行するように、Oracleクライアントをカスタマイズします。次に、スマートカードがチャレンジを受け取ると、PINなどの追加情報をユーザーに入力させて応答します。

C.2 RADIUSチャレンジ/レスポンス・ユーザー・インタフェースのカスタマイズ

このインタフェースをカスタマイズするには、表C-1に示す機能をサポートする独自のクラスを作成します。次に、sqlnet.oraファイルをオープンしてSQLNET.RADIUS_AUTHENTICATION_INTERFACEパラメータを検索し、値としてリストされているクラス名DefaultRadiusInterfaceを、作成した新しいクラスの名前に置き換えます。この変更をsqlnet.oraファイルで行うと、認証手続きを処理するために、このクラスがOracleクライアントにロードされます。

サード・パーティは、ORACLE.NET.RADIUSパッケージにあるOracle RADIUSインタフェースを実装する必要があります。

public interface OracleRadiusInterface {
  public void radiusRequest();
  public void radiusChallenge(String challenge);
  public String getUserName();
  public String getPassword();
}

表C-1サーバーの暗号化レベルの設定

パラメータ 説明
radiusRequest

通常、ユーザーにユーザー名とパスワードを入力するよう求めます。これらの値は後からgetUserNamegetPasswordを通じて取得されます。

getUserName

ユーザーが入力したユーザー名を取得します。このメソッドが空の文字列を戻したときは、ユーザーが操作をキャンセルしていることを意味します。ユーザーは、認証に失敗したというメッセージを受け取ります。

getPassword

ユーザーが入力したパスワードを取得します。getUserNameが有効な文字列を返し、getPasswordが空の文字列を返した場合は、データベースでパスワードとしてチャレンジ・キーワードが設定されます。ユーザーが有効なパスワードを入力した場合は、RADIUSサーバーからチャレンジが返されるときと返されないときがあります。

radiusChallenge

ユーザーがサーバーのチャレンジに応答できるように、RADIUSサーバーから送られてきた要求を表示します。

getResponse

ユーザーが入力したレスポンスを取得します。このメソッドが有効なレスポンスを戻した場合は、新規のAccess-RequestパケットのUser-Password属性にその情報が入力されます。空の文字列が戻された場合は、対応する値を戻して、両サイドでの処理が停止されます。