この付録では、認証デバイスのサード・パーティ・ベンダーが、その認証デバイスにあわせてRADIUSチャレンジ/レスポンス・ユーザー・インタフェースをカスタマイズする方法について説明します。
項目は、次のとおりです。
RADIUS標準をサポートする認証デバイスをセットアップして、Oracleユーザーを認証できます。認証デバイスでチャレンジ/レスポンス・モードを使用する場合、グラフィカル・インタフェースを通じて最初にパスワードの入力が求められ、次に追加情報の入力が求められます。追加情報とは、ユーザーがトークン・カードから取得する動的パスワードなどです。このインタフェースはJavaベースであり、最適なプラットフォームの独立性を提供します。
認証デバイスのサード・パーティ・ベンダーは、そのデバイスに適したグラフィカル・ユーザー・インタフェースにカスタマイズする必要があります。 たとえば、スマートカードのベンダーは、スマートカード・リーダーにチャレンジを発行するように、Oracleクライアントをカスタマイズします。次に、スマートカードがチャレンジを受け取ると、PINなどの追加情報をユーザーに入力させて応答します。
このインタフェースをカスタマイズするには、表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 |
通常、ユーザーにユーザー名とパスワードを入力するよう求めます。これらの値は後から |
getUserName |
ユーザーが入力したユーザー名を取得します。このメソッドが空の文字列を戻したときは、ユーザーが操作をキャンセルしていることを意味します。ユーザーは、認証に失敗したというメッセージを受け取ります。 |
getPassword |
ユーザーが入力したパスワードを取得します。 |
radiusChallenge |
ユーザーがサーバーのチャレンジに応答できるように、RADIUSサーバーから送られてきた要求を表示します。 |
getResponse |
ユーザーが入力したレスポンスを取得します。このメソッドが有効なレスポンスを戻した場合は、新規の |