ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Internet Directory管理者ガイド
11g リリース1(11.1.1)
B55919-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

31 パスワード・ベリファイアの管理

パスワード・ベリファイアは、Oracle Internet Directoryおよび他のOracleコンポーネントに対してユーザーを認証するために使用するセキュリティ資格証明です。この章では、Oracle Internet Directoryでこれらのパスワード・ベリファイアを集中的に格納する方法について説明します。

この章の項目は次のとおりです。

31.1 Directoryに対する認証用パスワード・ベリファイアの概要

退職または役職が変わったユーザーの権限は、その当日に変更して、古くなった未使用のアカウントや権限が誤使用されないようにする必要があります。ユーザー・アカウントとパスワードが複数のデータベースに分散される大企業では、パスワードが集中管理されていないと、管理者が万全なセキュリティに必要な速度で変更を実行できない可能性があります。

Oracle Internet Directoryでは、セキュリティ資格証明を集中的に格納して、エンド・ユーザーと管理者が簡単に管理できるようにします。ここで格納される情報は、次のとおりです。

Oracle以外のアプリケーションがディレクトリ対応の場合、ユーザーは非Oracleの認証資格証明を格納できます。これらのアプリケーションは、製品エントリの下に独自のコンテナを作成する必要があります。

Oracle Internet Directoryでは、ユーザーのディレクトリ・パスワードをuserPassword属性に格納します。Oracle Internet Directoryでサポートされるハッシング・アルゴリズムの1つを使用して、パスワードを一方向ハッシュ値のBASE64エンコーディング文字列として格納することにより、このパスワードを保護できます。パスワードを暗号化された値ではなく一方向ハッシュ値として格納することにより、悪意のあるユーザーがパスワードを読み取ったり復号化できないため、パスワードがより完全に保護されます。

Oracle Internet DirectoryのデフォルトのuserPasswordハッシング・アルゴリズムは、MD4からSSHAに変更されました。このデフォルトのスキームは新規インストールでのみ有効です。新規インストール後に作成されたすべてのuserPassword属性は、SSHAを使用する一方向ハッシュであり、Oracle Internet Directoryに格納されます。

アップグレードを実行すると、アップグレード前に有効だったデフォルトのハッシング・スキームが保持されます。たとえば、アップグレード前のデフォルトのスキームがMD4の場合、アップグレード後もMD4がデフォルトのスキームとなります。userPasswordのセキュリティをより強化するには、アップグレード直後にデフォルトのスキームをSSHAに変更します。デフォルトのスキームをSSHAに変更しても、ユーザー・ログインには影響しません。セキュリティをより強化するために、ユーザーはSSHA値のハッシュ値がOracle Internet Directoryに格納されるように、パスワードをリセットする必要があります。


注意:

さらにセキュリティを強化する場合、11g リリース1(11.1.1.4.0)では、よりセキュアなSHA-2アルゴリズムの3つのバリアント、およびこれらのバリアントのSaltバージョンを使用できます。


Oracle Internet Directoryでは、ユーザー・パスワードをorclrevpwdという構成属性に可逆暗号化形式で格納します。この属性は、パスワード・ポリシー・エントリの属性orclpwdencryptionenable1に設定されている場合にのみ生成されます。orclrevpwd属性はサーバーで安全に保持され、問合せは不可能です。

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

31.1.1 ユーザー・パスワード・ベリファイアおよびディレクトリに対する認証

Oracle Internet Directoryでは、ユーザーのディレクトリ・パスワードを一方向ハッシュ値としてuserPassword属性に格納することによって、そのパスワードを保護します。使用するハッシング・アルゴリズムを選択します。パスワードを暗号化された値ではなく一方向ハッシュ値として格納すると、悪意のあるユーザーがパスワードを読み取ったり復号化できないため、パスワードがより完全に保護されます。

ディレクトリ・サーバーの認証時に、クライアントはディレクトリ・サーバーにクリアテキストでパスワードを指定します。ディレクトリ・サーバーで、DSE属性orclcryptoschemeに指定されたハッシュ・アルゴリズムを使用してこのパスワードをハッシュします。その後、バインディング・エントリのuserPassword属性に格納されているハッシュ・パスワードと照らして検証します。ハッシュ・パスワード値が一致する場合、サーバーはそのユーザーを認証します。一致しない場合、サーバーはユーザーに対して「無効な資格証明」エラー・メッセージを送信します。

外部ユーザーに対しては、Oracle Internet Directoryは認証中に属性orclrevpwdを生成します。特に、クライアントがクリアテキスト形式のユーザー・パスワードでldapcompareを使用して認証を行う場合に、この属性が生成されます。属性orclrevpwdが存在しない場合、Oracle Internet Directoryサーバーは、認証用に提供されたクリアテキスト形式のパスワードを使用してこの属性を生成します。ただし、外部ユーザーがldapbindを使用してOracle Internet Directoryに対して認証される場合、この属性は生成されません。

31.1.2 ユーザー・パスワード・ベリファイアを作成するためのハッシング・スキーム

インストール時、Oracle Identity Management 11gインストーラは、ユーザーのディレクトリ・パスワードを保護するために一方向ハッシング・スキームをSSHAに設定します。この値は、ルートDSEのorclCryptoScheme属性に格納されます。値は、次のハッシング・スキームに変更できます。

  • MD4: 128ビットのハッシュまたはメッセージ・ダイジェスト値を生成する一方向ハッシュ関数

  • MD5: MD4が改善された、より複合的なバージョン

  • SHA-1: MD5よりさらに長い160ビットのハッシュを生成するセキュア・ハッシュ・アルゴリズム。このアルゴリズムはMD5よりも若干速度が遅くなりますが、大きなメッセージ・ダイジェストによって、総当たり攻撃や反転攻撃に対処できます。

  • SSHA: Salted Secure Hash Algorithm。SHAと類似していますが、パスワードにランダムなsalt文字を使用して生成します。

  • SHA256、SHA384、SHA512: よりセキュアなSHA-2アルゴリズムのバリアント。数値は、ハッシュ関数のダイジェスト・サイズを表しています。

  • SSHA256、SSHA384、SSHA512: 3つのSHA-2アルゴリズムのSaltバージョン。

  • SMD5: Salt MD5。MD5と類似していますが、パスワードにランダムなsalt文字を使用して生成します。

  • UNIX Crypt: UNIXハッシング・アルゴリズム

  • None: パスワードは、クリアテキストで格納されます。

第31.2項「Directoryに対する認証用パスワード・ベリファイアのハッシング・スキームの管理」および第9.5項「ODSMデータ・ブラウザを使用したシステム構成属性の管理」を参照してください。


注意:

過去において、Oracle Internet Directoryは、UNIX CryptのDESバリアントをサポートしていました。11g リリース1(11.1.1)Oracle Internet Directoryには、UNIX CryptのMD5およびBlowfishバリアントを解釈する機能があります。つまり、これらのバリアントを使用して事前にハッシュ処理されたパスワードをOracle Internet Directoryにそのままインポートし、作業を続行できます。ただし、orclcryptoschemeとしてUNIX Cryptを選択する場合は、引き続きUNIX CryptのDESバリアントのみが生成されます。


31.2 Directoryに対する認証用パスワード・ベリファイアのハッシング・スキームの管理

次の例は、my_ldif_fileという名前のLDIFファイルを使用してパスワード・ハッシング・アルゴリズムをSHA512に変更します。

ldapmodify -D cn=orcladmin -q -h myhost -p 3060 -v -f my_ldif_file

LDIFファイルmy_ldif_fileの内容は、次のとおりです。

dn:
changetype: modify
replace: orclcryptoscheme
orclcryptoscheme: SHA512

31.3 コンポーネントに対する認証用パスワード・ベリファイアの概要

Oracleコンポーネントは、パスワードとパスワード・ベリファイアの両方をOracle Internet Directoryに格納します。この項の項目は次のとおりです。

31.3.1 Oracleコンポーネントに対する認証用パスワード・ベリファイアの概要

Oracleコンポーネントは、それぞれのコンポーネントのパスワード値をパスワード・ベリファイアとしてOracle Internet Directoryに格納できます。パスワード・ベリファイアとは、クリアテキストのパスワードをハッシュしたバージョンで、このバージョンはBASE64エンコーディング文字列としてエンコードされます。

次のいずれかのハッシング・アルゴリズムを使用して、パスワード・ベリファイアを導出できます。

  • MD5: MD4が改善された、より複合的なバージョン

  • SHA-1: MD5よりさらに長い160ビットのハッシュを生成するセキュア・ハッシュ・アルゴリズム。このアルゴリズムはMD5よりも若干速度が遅くなりますが、大きなメッセージ・ダイジェストによって、総当たり攻撃や反転攻撃に対処できます。

  • SSHAおよびSMD5

  • SHA256、SHA384、SHA512: よりセキュアなSHA-2アルゴリズムのバリアント。数値は、ハッシュ関数のダイジェスト・サイズを表しています。

  • SSHA256、SSHA384、SSHA512: 3つのSHA-2アルゴリズムのSaltバージョン。

  • UNIX Crypt: UNIXハッシング・アルゴリズム

  • SASL/MD5: Simple Authentication and Security Layer/MD5。接続ベースのプロトコルに認証サポートを追加し、チャレンジ/レスポンス・プロトコルを使用します。

  • O3LOGON: ベリファイアを生成する独自のOracleアルゴリズム。チャレンジ/レスポンス・プロトコルを使用するという点で、SASL/MD5と類似しています。

  • ORCLWEBDAV: SASL/MD5と同じ専用アルゴリズムで、username@realmの形式のユーザー名を使用します。

  • ORCLLM: SMBLMアルゴリズムのOracle表現です。SMBLMアルゴリズムは、SMB/CIFSチャレンジ/レスポンス認証アルゴリズムのLMバリアントOracle表現です。

  • ORCLNT: SMBNTアルゴリズムのOracle表現です。SMBNTアルゴリズムは、SMB/CIFSチャレンジ/レスポンス認証アルゴリズムのNTバリアントOracle表現です。

Oracleアプリケーションのインストール時に、Oracle Identity Management 11g Installerは、必要なパスワード・ベリファイア情報をすべて含むパスワード・ベリファイア・プロファイル・エントリをそのアプリケーション用に作成します。図31-1に示すように、このエントリは、レルム固有のOracleコンテキストの下にある製品エントリ下のアプリケーション・エントリの直下に配置されます。

このベリファイア・プロファイル・エントリは、指定されたレルム内のユーザーのみに適用されます。ベリファイアの生成を適切に行うには、レルム固有のOracleコンテキストの共通エントリのorclcommonusersearchbase属性に適切な値を設定する必要があります。

図31-1 パスワード・ベリファイア・プロファイル・エントリの位置

この図については本文で説明しています。

31.3.2 Oracleコンポーネントに対する認証用パスワード・ベリファイアの格納用属性

ディレクトリとOracleコンポーネントの両方とも、ユーザー・パスワードをユーザー・エントリに格納しますが、格納する属性は異なります。ディレクトリは、userPassword属性にユーザー・パスワードを格納しますが、Oracleコンポーネントは、ユーザー・パスワード・ベリファイアをauthPasswordorclPasswordVerifierまたはorclpassword属性に格納します。表31-1に、Oracleコンポーネントで使用する各属性を示します。

表31-1 ユーザー・エントリにパスワード・ベリファイアを格納するための属性

属性 説明

authPassword

パスワードが、ディレクトリに対してユーザー認証を行うために使用するパスワードuserpasswordと同じ場合に、パスワードをOracleコンポーネントに格納するための属性。この属性の値は、userpassword属性の値と同期します。

複数の異なるアプリケーションで、ディレクトリに使用されるのと同じクリアテキスト・パスワードを入力するようにユーザーに要求できますが、各アプリケーションでは、異なるアルゴリズムを使用してそのパスワードをハッシュすることがあります。この場合、同じクリアテキスト・パスワードが、複数の異なるパスワード・ベリファイア機能のソースになります。

この属性は複数値の属性であるため、異なるアプリケーションがこのユーザーのクリアテキスト・パスワードに対して使用する他のすべてのベリファイアを格納できます。userpassword属性を変更すると、すべてのアプリケーションのauthpasswordsが再生成されます。

orclPasswordVerifier

パスワードが、ディレクトリに対してユーザー認証を行うために使用するパスワードuserpasswordと異なる場合に、パスワードをOracleコンポーネントに格納するための属性。この属性の値は、userpassword属性の値とは同期しません。

authPasswordと同様に、この属性は複数値の属性であるため、異なるアプリケーションがこのユーザーのクリアテキスト・パスワードに対して使用する他のすべてのベリファイアを格納できます。

orclPassword

エンタープライズ・ユーザー用の03LOGONベリファイアのみを格納するための属性。03LOGONベリファイアは、userpassword属性と同期し、デフォルトでは、orcluserv2オブジェクト・クラスに関連付けられたすべてのユーザー・エントリに対して生成されます。

Oracle Internet Directoryをインストールすると、デフォルトではルートOracleコンテキストにデータベース・セキュリティ・プロファイルのエントリが作成されます。このエントリの存在によって、orcluserv2オブジェクト・クラスに関連付けられたユーザー・エントリを対象とする03LOGONベリファイアが生成されます。


これらの属性の型には、属性サブタイプとしてappIDがあります。この属性サブタイプで特定のアプリケーションを一意に識別します。たとえば、appIDはアプリケーション・エントリのORCLGUIDにできます。この属性サブタイプは、アプリケーションのインストール時に生成されます。

図31-2では、様々なOracleコンポーネントで、Oracle Internet Directoryにパスワード・ベリファイアが格納されています。Oracle Single Sign-Onはディレクトリ用と同じパスワードを使用し、このパスワードをauthPassword属性に格納します。その他のアプリケーションは別のパスワードを使用し、ベリファイアをorclPasswordVerifier属性に格納します。

次の記述は、アプリケーション固有のベリファイア・プロファイルの例です。共通のベリファイア・フレームワークを使用しないことを選択したアプリケーションでは、次の例のように、固有のベリファイア・プロファイル・エントリを作成する必要があります。orclappidはアプリケーション・コンテナのGUIDに設定され、ベリファイア属性authpasswordおよびorclpasswordverifierのサブタイプとしても使用されます。

dn: cn=IFSVerifierProfileEntry,cn=IFS,cn=Products,cn=OracleContext,o=Oracle,dc=com
objectclass:top
objectclass:orclpwdverifierprofile
cn:IFSVerifierProfileEntry
orclappid:8FF2DFD8203519C0E034080020C34C50
orclpwdverifierparams;authpassword: crypto:SASL/MDS $ realm:dc=com
orclpwdverifierparams;orclpasswordverifier: crypto:ORCLLM
orclpwdverifierparams;authpassword: crypto:ORCLWEBDAV $ realm:dc=com 
 $ usernameattribute: mail $ usernamecase: lower $ nodomain: TRUE 

SASL/MD5およびORCLWEBDAVベリファイアは、ユーザー名、レルムおよびパスワードを使用して生成されます。使用するユーザー名属性は、ベリファイア・プロファイル・エントリで指定できます。ユーザー名は大文字でも小文字でも指定できます。ORLWEBDAVベリファイアは、ユーザー名にアイデンティティ管理レルムの名前を追加して生成されます。レルムの名前を追加して生成する必要がない場合、ベリファイア・プロファイル・エントリではnodomain: TRUEを指定する必要があります。

前述の例では、ORCLWEBDAVベリファイアは、レルムの名前を追加せずにmail属性の値を使用して生成されます。また、ユーザー名はベリファイアが生成される前に小文字に変換されます。

図31-2 認証モデル

図31-2の説明が続きます
「図31-2 認証モデル」の説明

31.3.3 Oracleコンポーネントのデフォルトのベリファイア

各Oracleコンポーネントのプロファイルを作成する必要をなくし、すべてのコンポーネントでパスワード・ベリファイアを共有できるようにするために、Oracle Internet Directoryにはパスワード・ベリファイアのデフォルト・セットが用意されています。デフォルトのベリファイアには、MD5、MD5-IFS(ユーザー名がニックネーム属性の値に設定され、レルムがAuthorized_Usersに設定されたSASL/MD5)、WEBDAV、ORCLLMおよびORCLNTのタイプがあります。

2つのプロファイル・エントリが必要です。1つは数値のみを使用する個人識別番号(PIN)を使用するアプリケーション用、もう1つは英数字のパスワードを使用するアプリケーション用です。

PINベースのアプリケーション用ベリファイア(たとえば、OracleAS Unified Messagingのボイス・メール)は、orclpasswordverifier;orclcommonpin属性に格納されます。サブタイプorclcommonpinは、数値のPINと英数字のパスワードを区別するために使用されます。数値のPINを使用するアプリケーションでは、orclpasswordverifier;orclcommonpin属性に対して直接に問合せや比較ができます。

英数字パスワード・ベースのアプリケーション用ベリファイアは、次のいずれかに格納されます。

  • authpassword;orclcommonpwd属性: アプリケーションがそのベリファイアとuserpassword属性を同期する必要がある場合

  • orclpasswordverifier;orclcommonpwd属性: userpassword属性との同期が必要ない場合

サブタイプorclcommonpwdは、数値のPINと英数字のパスワードを区別するために使用されます。サブタイプが付いたベリファイア属性は、問合せが可能です。

これらのプロファイル・エントリには、サブスクライブ・アプリケーションのリストも含まれ、これらのアプリケーションは、プロファイル・エントリ内でuniquemember属性の値として指定されます。デフォルトでは、Oracle Single Sign-OnのアイデンティティのDNがサブスクライブ・アプリケーションの1つになっています。これは、Oracle Single Sign-Onが、すべてのパートナ・アプリケーションのプロキシ・メンバーであることを示しています。Oracle Single Sign-Onに基づいていないすべてのアプリケーションで、適切なプロファイル・エントリ内のuniquemember属性にアイデンティティ(DN)を追加する必要があります。

次に、プロファイル・エントリの例を示します。

Cn=defaultSharedPwdProfileEntry, cn=common, cn=products, cn=oraclecontext
Objectclass: orclpwdverifierprofile
Objectclass: orclcommonpwdprofile
Cn: defaultSharedPwdProfileEntry
Orclappid: orclcommonpwd
Orclpwdverifierparams;authpassword: crypto:SASL/MD5 $ realm:Authorized_Users
Orclpwdverifierparams;authpassword: crypto:ORCLWEBDAV $ realm:Authorized_Users
Orclpwdverifierparams;authpassword: crypto:ORCLLM
Orclpwdverifierparams;authpassword: crypto:ORCLNT
Orclpwdverifierparams;orclpasswordverifier: crypto:SSHA
Uniquemember: cn=SSO,cn=Products,cn=OracleContext
Uniquemember: cn=IFS,cn=Products,cn=OracleContext

Cn=defaultSharedPINProfileEntry, cn=common, cn=products, cn=oraclecontext
Objectclass: orclpwdverifierprofile
Objectclass: orclcommonpwdprofile
Cn: defaultSharedPinProfileEntry
Orclappid: orclcommonpin
Orclpwdverifierparams;orclpasswordverifier: crypto:MD5
Orclpwdverifierparams;orclpasswordverifier: crypto:SSHA
Uniquemember: cn=SSO,cn=Products,cn=OracleContext
Uniquemember: cn=Unified Messaging,cn=Products,cn=OracleContext

PINベースのアプリケーションでは、authpasswordはオプションではありません。orclpasswordverifier属性が使用されます。

31.3.4 Oracleコンポーネントに対するパスワード検証の動作

図31-3に、Oracleコンポーネントに対するパスワード検証の例を示します。この例のOracleコンポーネントは、パスワード・ベリファイアをディレクトリに格納します。

図31-3 パスワード検証の動作

この図については本文で説明しています。
  1. ユーザーは、ユーザー名とクリアテキスト・パスワードを入力して、アプリケーションへのログインを試みます。

  2. アプリケーションは、クリアテキスト・パスワードをディレクトリ・サーバーに送信します。アプリケーションは、パスワード・ベリファイアをディレクトリに格納した後、ディレクトリ・サーバーに対して、このパスワード値をディレクトリ内の対応するベリファイアと比較するようにリクエストします。

  3. ディレクトリ・サーバーは、次のように動作します。

    1. 特定のアプリケーションに指定されているハッシング・アルゴリズムを使用して、パスワード・ベリファイアを生成します。

    2. 次に、生成したパスワード・ベリファイアをディレクトリ内の対応するパスワード・ベリファイアと比較します。比較操作が成功した場合、アプリケーションは、ベリファイア属性のサブタイプとしてそのappIDを指定する必要があります。次に例を示します。

      ldapcompare -p 3060 -D "DN_of_the_appplication_entity" -q \
                  -b "DN_of_the_user" -a orclpasswordverifier;appID \
                  -v password_of_the_user
      
    3. 比較操作の結果をアプリケーションに通知します。

  4. アプリケーションは、ディレクトリ・サーバーからのメッセージに従って、ユーザーを認証または否認します。

アプリケーションは、比較操作を使用しない場合、次のように動作します。

  1. ユーザーが入力したクリアテキスト・パスワードをハッシュします。

  2. ユーザーが入力したクリアテキスト・パスワードのハッシュ値をディレクトリから取り出します。

  3. クライアントが応答するユーザーへのチャレンジを開始します。レスポンスが適切な場合、アプリケーションはユーザーを認証します。

31.4 ODSMを使用したOracleコンポーネント用パスワード・ベリファイア・プロファイルの管理

Oracle Directory Services Managerを使用して、パスワード・ハッシング・スキームを含むパスワード・ベリファイア・プロファイル・エントリを表示および変更できます。

アプリケーションのパスワード・ベリファイアを表示および変更する手順は、次のとおりです。

  1. 第7.4.5項「Oracle Directory Services Managerの起動」の説明に従って、Oracle Directory Services Managerを起動し、Oracle Internet Directoryサーバーに接続します。

  2. タスク選択バーで、「セキュリティ」を選択します。

  3. 左側のペインで「パスワード検証」を展開します。すべてのパスワード・ベリファイアが左側のペインに表示されます。

  4. 表示するパスワード・ベリファイアを選択します。右側のペインには、「パスワード検証プロファイル」タブ・ページが表示されます。

  5. パスワード・ベリファイアの生成に使用するハッシング・アルゴリズムを変更できます。「パスワード検証プロファイル」ダイアログ・ボックスで、「Oracleパスワード・パラメータ」フィールドにハッシング・アルゴリズムを指定します。構文は次のとおりです。

    crypto:hashing_algorithm
    

    たとえば、ORCLLMハッシング・アルゴリズムを使用している場合、次のように入力します。

    crypto:ORCLLM
    

    たとえば、SASL/MD5を使用している場合、次のように入力できます。

    crypto:SASL/MD5 $ realm:dc=com
    

31.5 コマンドライン・ツールを使用したコンポーネント用パスワード・ベリファイア・プロファイルの管理

コマンドライン・ツールを使用して、パスワード・ベリファイア・プロファイルを表示および変更できます。

31.5.1 コマンドライン・ツールを使用したパスワード・ベリファイア・プロファイルの表示

アプリケーションのパスワード・ベリファイアを表示するには、パスワード・ベリファイア・プロファイルの識別名を指定して検索を実行します。

31.5.2 例: コマンドライン・ツールを使用したパスワード・ベリファイア・プロファイルの変更

この例では、アプリケーションのパスワード・ベリファイア・プロファイル・エントリのハッシング・アルゴリズムを変更します。このパスワード・ベリファイアは、ユーザーのディレクトリ・パスワードと同期しています。次のように入力します。

ldapmodify -D "cn=orcladmin" -q -p 3060 -h my_host -v -f file.ldif

この場合、file.ldifには次が含まれます。

dn: cn=MyAppVerifierProfileEntry,cn=MyApp,cn=Products,cn=OracleContext,
 o=my_company,dc=com
changetype: modify
replace: orclPwdVerifierParams
orclPwdVerifierParams;authPassword: crypto:SASL/MD5 $ realm:dc=com

31.6 動的パラメータを使用したベリファイアの生成の概要

前述のパスワード・ベリファイアは、静的パスワード・ベリファイアです。つまり、通常アプリケーションのインストール中に、事前構成されたパラメータから生成されたベリファイアです。一部のアプリケーション(Oracle Calendar、Oracle EmailおよびOracle Wireless and Voiceなど)では、Oracle Internet Directoryが動的パスワード・ベリファイアを生成する必要があります。

Oracle Internet Directoryは、アプリケーションが動的パスワード・ベリファイアをリクエストした場合に、これを生成します。動的ベリファイアは、アプリケーションの実行時に使用可能になるアプリケーション・パラメータに基づいています。

Oracle Internet Directoryが動的パスワード・ベリファイアを生成するには、以前に可逆暗号化形式で格納されたユーザー・パスワードが必要です。Oracle Internet Directoryでは、これらの値を構成属性orclrevpwdおよびorclunsyncrevpwdに格納します。userpasswordに基づいて暗号化された値は、orclrevpwdパラメータに格納されます。Oracle Calendarで使用される数値のPINなど、userpassword以外のパスワードに基づいて暗号化された値は、パラメータorclunsyncrevpwdに格納されます。

31.7 動的パスワード・ベリファイアを生成するためのOracle Internet Directoryの構成

userpasswordを使用し、動的パスワード・ベリファイアを必要とするアプリケーションをデプロイする場合、Oracle Internet Directoryがorclrevpwd属性を生成することを確認する必要があります。レルムのパスワード・ポリシー・エントリの属性orclpwdencryptionenable1に設定されている場合、ユーザーをプロビジョニングすると、Oracle Internet Directoryは属性orclrevpwdを生成します。したがって、ユーザーをプロビジョニングする前に、orclpwdencryptionenable1に設定する必要があります。

orclpwdencryptionenableの値を確認するには、ldapsearchを使用して、確認対象のエントリの有効なpwdpolicyエントリを問い合せます。たとえば、デフォルトのpwdpolicyを問い合せる場合、次のように入力します。

$ ldapsearch -p port -q -D "cn=orcladmin" \
   -b "cn=default,cn=pwdPolicies,cn=Common,cn=Products,cn=OracleContext" \
   -s base "objectclass=*" 

orclpwdencryptionenableが表示されないか0の場合、ldapmodifyと次のようなLDIFファイルを使用して1に設定します。

dn: cn=DefaultSharedPinProfileEntry,cn=Common,cn=Products,cn=Oraclecontext
cn: DefaultSharedPinProfileEntry
orclappid: orclpwdencryptionenable
orclpwdencryptionenable: 1

orclpwdencryptionenableを設定する前にユーザーをプロビジョニングした場合には、かわりにすべてのユーザーのユーザー・パスワードをリセットし、暗号化された値を生成する必要があります。

数値のPINを使用し、動的パスワード・ベリファイアを必要とするアプリケーションをデプロイする場合、orclunsyncrevpwdに格納される値を生成するために、Oracle Internet Directoryが暗号タイプ3DESを使用可能であることを確認する必要があります。3DESを、ルートOracleコンテキスト下の共通ベリファイア・プロファイル・エントリの属性orclpwdverifierparams;orclpasswordverifierの値として指定する必要があります。このエントリのデフォルトの識別名はcn=DefaultSharedPINProfileEntry,cn=Common,cn=Products, cn=OracleContextです。値を設定するには、次のLDIFファイルを使用します。

dn: cn=DefaultSharedPinProfileEntry,cn=Common,cn=Products,cn=Oraclecontext
cn: DefaultSharedPinProfileEntry
orclappid: orclcommonpin
orclpwdverifierparams;orclpasswordverifier: crypto:MD5
orclpwdverifierparams;orclpasswordverifier: crypto:3DES

次のようなコマンドラインを使用します。

ldapmodify -D cn=orcladmin -q -p portNum -h hostname -f ldifFile