プライマリ・コンテンツに移動
Oracle® Database Advanced Security管理者ガイド
11gリリース2 (11.2)
B56286-10
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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属性に移入されます。空の文字列が戻された場合、操作は対応する値を戻すことによって両側から中断されます。