ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Access Manager with Oracle Security Token Service管理者ガイド
11g リリース1 (11.1.1)
B62265-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

18 Oracle Security Token Serviceの証明書と鍵の管理

この章の内容は次のとおりです。

前提条件

「Oracle Security Token Serviceの有効化および無効化」の説明に従って、Oracle Access ManagerサービスとOracle Security Token Serviceサービスの両方が実行されている必要があります。

Oracle Security Token Serviceの証明書と鍵の概要

この項では、Oracle Security Token Serviceに使用される証明書と鍵について説明します。

「証明書、認証局および暗号化鍵について」で説明されているとおり、公開鍵インフラストラクチャにより、デジタル証明書はWebベースのトランザクションの資格証明を確立します。

実行時の公開鍵: 実行時に公開鍵インフラストラクチャの資格証明が使用される独自のケースがあります。たとえば、(OWSMエージェントを使用した)リクエスタとOracle Security Token Serviceとの間のWebサービス・セキュリティ(WSS)プロトコル通信のときなどです。表18-1も参照してください。

表18-1 実行時に使用されるOSTS公開鍵

Oracle Security Token Serviceでの処理 説明

SAMLアサーションの発行

  • Oracle Security Token Serviceの署名アサーションは、STSグローバル設定に定義されている鍵を使用します。

  • Oracle Security Token Serviceは、タイプが公開鍵のHolder-of-Key確認メソッドの証明鍵としてリクエスタの署名証明書を使用します。

  • Oracle Security Token Serviceは、タイプが秘密鍵のHolder-of-Key確認メソッドの秘密証明鍵を暗号化するためにリライイング・パーティの暗号化証明書を使用します。

  • Oracle Security Token Serviceは、タイプが秘密鍵のHolder-of-Key確認メソッドのRSTR内の秘密証明/エントリを暗号化するためにリクエスタの暗号化証明書を使用します。

トークンの発行

  • Oracle Security Token Serviceではリライイング・パーティの暗号化証明書を使用して、送信トークンを暗号化します。

SAMLアサーションの検証

  • Oracle Security Token Serviceでは発行局の署名証明書を使用して、着信SAMLアサーションの署名を検証します。

Webサービス・セキュリティ(WSS)プロトコル通信の使用

(OWSMエージェントを使用した)リクエスタとOracle Security Token Serviceの間の通信


キーストアとOracle Security Token Serviceについて

Oracle Access Manager with Oracle Security Token Serviceのいくつかのタイプのキーストアを簡単に要約したものを次に示します。

表18-2に、これらの詳細を示します。表の後に説明が続きます。

表18-2 Oracle Access Manager with Oracle Security Token Serviceのキーストア

キーストア 説明

システム・キーストア

OAM Serverインスタンスに関連付けられた鍵および証明書のコンテナ(署名および暗号化のためのOAM秘密鍵とOracle Security Token Service秘密鍵)。

JCEKSタイプのシステム・キーストア.oamkeystoreのみが存在する可能性があります。

$DOMAIN_HOME/config/fmwconfig/.oamkeystore

表17-2「セキュリティ・トークン・サービスの設定」で説明されているとおり、Oracle Access Managerコンソールを使用して証明書別名とパスワードを構成できます。

信頼キーストア

クライアントが提示する証明書を検証するには、信頼キーストアを使用します。

$DOMAIN_HOME/config/fmwconfig/amtruststore

amtruststoreはインストール時に作成され、少なくとも1つの信頼できるアンカーを含める必要があります。

信頼キーストアは、JREのkeytoolアプリケーションを使用して管理されます。Oracle Security Token Serviceではカスタム信頼キーストアを使用できます。

証明書失効リスト(CRL)

証明書失効情報リストは、ファイルシステム上のZIPアーカイブに格納されます。これは、CRLベースの証明書失効チェックを実行するときにOracle Access Manager/Oracle Security Token Serviceサーバー・インスタンスで使用されます。amcrl.jarにはDERフォーマットのCRLファイルが含まれています。

$DOMAIN_HOME/config/fmwconfig/amcrl.jar

OAM Serverでは、キーストアおよびCRL Zipファイルの通知リスナーが定義されます。これらのファイルを変更すると、Oracle Access Manager with Oracle Security Token Serviceでは、再起動しなくてもキーストア/crl-zipが実行時にリロードされます。

「証明書失効リスト(CRL)」で説明されているとおり、amcrl.jarはインストールによって作成され、Oracle Access Managerコンソールを使用して変更できます。


表18-3のファイルは、JMXフレームワークによってドメイン内のすべての管理対象サーバーに配布されます。$DOMAIN_HOME/config/fmwconfig /mbeansディレクトリでは、ファイルを管理し、ファイルをドメイン全体に伝播する必要があることを識別するために、MBeanを示すファイルごとに登録mbeans.xmlが定義されます。

表18-3 キーストアMbean

キーストア Mbeanと説明

システム・キーストア: .oamkeystore

.oamkeystoreの構成は、JREのkeytoolアプリケーションを使用して実行されます。

信頼キーストア: .amtruststore

amtruststoreの構成は、JREのkeytoolアプリケーションを使用して実行されます。

CRL: amcrl.jar

CRL MBean: CRLの管理に使用できます。


トークン・セキュリティの鍵ペアは、Oracle Access ManagerとOracle Security Token Serviceで共有される共通のキーストアに移入されます。これにより、Oracle Web Services Managerエージェントは共通キーストアと相互作用する必要がなくなります。

「システム・キーストア(.oamkeystore)パスワードの取得」で説明されているとおり、WLSTコマンドを使用してキーストアおよびamtruststoreのパスワードを取得できます。

Oracle Web Services Managerのキーストア(default-keystore.jks)について

このトピックでは、システムおよびパートナのキーと証明書を追加するためにOracle WSMエージェントで必要なJKSタイプのキーストアについて説明します。

Oracle Security Token ServiceでOracle WSMエージェント機能を使用してWSポリシーを公開し、インバウンドおよびアウトバウンドWSメッセージのメッセージを保護できます。Oracle WSMでは、個別のキーストアにシステムおよびパートナのキーと証明書が含まれている必要があります。

Oracle WSMエージェントは、様々な暗号化操作のためにキーストアを使用します。これらのタスクの場合、Oracle Web Services Manager AgentではOracle Web Services Managerタスク用に構成されたキーストア(OWSM秘密鍵とOWSM信頼証明書を含む)が使用されます。OPSSモジュールでは、証明書の検証操作のためにOracle Web Services Managerで使用されるキーストア・サービスが公開され、$DOMAIN_HOME/config/fmwconfig/jps-config.xmlにはキーストア・サービス用の設定が追加されます。デフォルト名はdefault-keystore.jksであり、jps-config.xmlで指定されます。

Oracle WSMエージェント・キーストアとOracle Access ManagerおよびOracle Security Token Serviceキーストアは常に異なるものにすることをお薦めします。そのようにしないと、キーはOPSSによって認可された任意のモジュールでキーストアへのアクセスに使用できるようになり、Oracle Access Managerキーがアクセスされる可能性があります。


注意:

Oracle WSMエージェント・キーストアとOAM/OSTSキーストアを常に別にしておくことをお薦めします。

インストール中、Oracle WSMキーストアが構成されていない場合にインストーラが行うことを次に示します。

  • $DOMAIN_HOME/config/fmwconfigフォルダでの新しいキーストアの作成(デフォルト名はdefault-keystore.jks)

  • 署名および暗号化操作のためにOWSMで使用される、対応する証明書を持つキー・エントリの作成。このキー・エントリは、orakey別名の下のOWSMキーストアに格納されます。

  • CSF内のキーストアおよびキー・エントリのパスワードの格納

キーストアにアクセスするために、場合によっては必要となることを次に示します。

  • クライアントに配布するための署名/暗号化証明書の抽出(必要な場合)

  • 署名/暗号化キー・エントリの更新または置換

  • 信頼できる証明書の追加

リクエスタ証明書のOPSSキーストアの使用について

(Webサービス・リクエストの一部として受信される証明書トークンとは対照的に)クライアントがSKIなどの参照スキームを使用する特別な場合、リクエスタの証明書をOPSSキーストアに移入する必要があります。これは、キーをOPSSキーストアに手動でプロビジョニングする必要がある、一般的ではないシナリオです。

詳細は、「エージェントとOracle Security Token Serviceについて」を参照してください。

Oracle Security Token Serviceの暗号化/署名鍵の管理

Oracle Security Token Serviceでは、鍵を使用して次の処理が行われます。

Oracle Security Token Serviceでは、暗号化証明書および署名証明書の格納に次のキーストアが使用されます。

DOMAIN_HOME/config/fmwconfig/.oamkeystore

タスクの概要: Oracle Security Token Serviceのキーの管理

  1. システム・キーストア(.oamkeystore)・パスワードの取得

  2. システム・キーストア(.oamkeystore)への新しいキー・エントリの追加

  3. Oracle Security Token Service証明書の抽出

システム・キーストア(.oamkeystore)・パスワードの取得

次の手順を使用すると、キーストアおよびキー・エントリを保護するパスワードを表示できます。

キーストアがIM/OAM/OSTSインストーラによって作成および構成された場合、キーストア・パスワードおよびキー・エントリ・パスワードをCSFから取得する必要があります。それ以外の場合、管理者はキーストアまたはキー・エントリを変更できません。

システム・キーストア(.oamkeystore)・パスワードを取得する手順

  1. WSLTスクリプト環境を入力します。

  2. connect()コマンドを使用してWebLogic Server AdminServerに接続します。

  3. AdminServerに接続情報を提供することにより、コマンドlistCred(map="OAM_STORE", key="jks")を実行します。

  4. パスワードを書き留めます。

システム・キーストア(.oamkeystore)への新しいキー・エントリの追加

管理者は、次の手順を使用して、新しいキー・エントリを作成および追加するkeytoolコマンドを使用してシステム・キーストア(.oamkeystore)に新しいキー・エントリを追加できます。エントリを追加した後、アサーションの署名および着信メッセージの復号化に使用できるように、エントリをOracle Security Token Serviceの構成画面で定義する必要があります。

このトピックでは、新しいエントリを追加する次の手順により、SAMLアサーションの署名、またはWSSに含まれないXML暗号化データの復号化を実行します。

新しいエントリの追加

前提条件

システム・キーストア(.oamkeystore)・パスワードの取得

新しいエントリを構成する手順

  1. keytoolを探します。

  2. 次のコマンドを実行します。

    keytool -importcert -trustcacerts -keystore $DOMAIN_HOME/config/fmwconfig/de 
    fault-keystore.jks -storetype JKS -alias $TRUSTED_CERT_ALIAS -file $TRUSTED_ 
    CERT_ALIAS
    
  3. 画面のメッセージを確認します。

  4. 必要に応じて次の手順に進みます。

署名鍵を使用するためのSAML発行テンプレートの構成

有効な管理者の資格証明を持つユーザーは、署名鍵を使用するように既存のテンプレートを編集する場合に、この手順をガイドとして使用できます。

署名鍵を使用するようにSAML発行テンプレートを構成する手順

  1. 既存のトークン発行テンプレートのリストを表示します。


    Oracle Access Managerコンソール
    システム構成
    セキュリティ・トークン・サービス
    トークン発行テンプレート
  2. 新しい鍵を使用するSAML発行テンプレートを検索して開きます。たとえば、saml11-issuance-templateなどです。

  3. SAML発行テンプレートページで、「セキュリティ」タブをクリックします。

  4. 「セキュリティ」タブの「署名と暗号化」セクションで、「アサーションの署名」をクリックします。

  5. 「署名キーストア・アクセス・テンプレートID」リストから、署名キーストア・エントリとして「キーID」を選択します。

  6. ページの上部にある「適用」ボタンをクリックしてこの情報を保存します。

  7. 必要に応じて、「デフォルトの暗号化鍵の設定」に進みます。

デフォルトの暗号化鍵の設定

有効な管理者の資格証明を持つユーザーは、署名鍵を使用するように既存のテンプレートを編集する場合に、この手順をガイドとして使用できます。

デフォルトの暗号化鍵を設定する手順

  1. 「セキュリティ・トークン・サービスの設定」ページに移動します。


    Oracle Access Managerコンソール
    システム構成
    セキュリティ・トークン・サービス
    セキュリティ・トークン・サービスの設定
  2. 「デフォルト暗号化テンプレート」リストから、新しいキー・エントリを選択します。

  3. ページの上部にある「適用」ボタンをクリックしてこの情報を保存します。

  4. 「デフォルトの暗号化鍵の設定」に進みます。

Oracle Security Token Service証明書の抽出

場合によっては、SAML署名操作またはXML暗号化操作に使用されるOracle Security Token Serviceキーを配布する必要があります。

  • Oracle Security Token Serviceにより発行されたSAMLアサーションを検証するために、リライイング・パーティがOracle Security Token Service署名鍵にアクセスする必要がある場合

  • トークンをOracle Security Token Service Server用に暗号化する必要がある場合

SAML署名操作またはXML暗号化操作のためにOracle Security Token Serviceで使用されるキー・エントリの証明書を配布するには、(「システム構成」>「セキュリティ・トークン・サービス」>「セキュリティ・トークン・サービスの設定」セクションにリストされる)キーIDおよび優先エンコーディング(derとpem)を指定して、証明書取得サービスを使用します。詳細は、「証明書取得サービスの使用」を参照してください。

証明書取得サービスの使用

証明書取得サービスを使用する手順

  1. (「Oracle Access Managerコンソール」の「システム構成」タブ、「セキュリティ・トークン・サービス」セクション、「セキュリティ・トークン・サービスの設定」にリストされる)証明書を取得するエントリのキーIDを取得します。

  2. URLを作成します。たとえば、http(s)://osts-hostname:osts-port/sts/servlet/samlcert?id=<KEYID>&encoding=<ENCODING>などを作成し、次のものを指定します。

    • エントリのキーIDを保持するID

    • 証明書が返されるフォーマットを表すエンコーディング。使用可能な値はpem (PEMフォーマット)またはder (DERフォーマット)です(オプション、デフォルト値はpem)。

  3. ブラウザに返された証明書を確認します。

WS-Trust通信のパートナ・キーの管理

この項の内容は次のとおりです。

パートナ証明書について

WS-Trustメッセージの処理中に、Oracle Security Token Serviceではパートナ証明書を使用することが必要となる場合があります。表18-4に示すように、必要な証明書は状況によって異なります。

表18-4 WS-Trust通信のパートナ・キー

OSTSサーバーによる発行が必要となった場合 サーバーによる処理

リライイング・パーティ用に暗号化されたSAMLアサーションの発行

リライイング・パーティの暗号化証明書を使用して、送信トークンを暗号化します。

Holder of Key/非対称タイプのサブジェクト確認を使用したSAMLアサーションの発行

リクエスタ・パートナの署名証明書をアサーションに含まれる証明鍵として使用します。

注意: 署名に使用されたSOAPヘッダー内のX.509バイナリ・セキュリティ・トークンを参照するUseKey要素がWS-Trust RSTに含まれている場合、Oracle Security Token Serviceではこの証明書を証明鍵として使用できます。

Holder of Key/対称タイプのサブジェクト確認を使用したSAMLアサーションの発行

リライイング・パーティの暗号化証明書を使用して、アサーションに含まれる秘密証明鍵を暗号化します。

Holder of Key/対称タイプのサブジェクト確認を使用したSAMLアサーションの発行

リクエスタ、秘密またはサーバー・エントロピのRSTRで暗号化できます。

この場合、サーバーは次の処理を行います。

  • リクエスタの暗号化証明書を使用して秘密を暗号化(秘密がサーバー・エントロピのみを使用して生成された場合)

  • またはサーバー・エントロピを使用してRSTR内の秘密を暗号化(秘密がクライアントおよびサーバー・エントロピから導出された場合)

注意: 署名に使用されたSOAPヘッダー内のX.509バイナリ・セキュリティ・トークンを参照するProofEncryption要素がWS-Trust RSTに含まれている場合、Oracle Security Token Serviceではこの証明書を使用して、クライアントに返された秘密またはエントロピを暗号化できます。

着信SAMLアサーションの検証

発行局の署名証明書を使用して、アサーションに存在するXMLデジタル署名を検証します。


実行時のリライイング・パーティの証明書のダウンロードについて

Oracle Security Token Serviceは実行時に、RSTのAppliesToフィールドにリストされるサービスのリライイング・パーティWSSポリシーをダウンロードできます。Oracle Security Token Serviceがリライイング・パーティのWS-Secポリシーをダウンロードするように構成されている場合は、Oracle Security Token Serviceがリライイング・パーティに接続できるように、必要に応じてプロキシ設定が正しく入力されていることを確認します。

リライイング・パーティ・パートナ・プロファイルがそのように構成されている場合、Oracle Security Token Serviceに対してサービスからWS-Secポリシーをダウンロードするように指示されます。その後、Oracle Security Token Serviceではポリシーに存在する証明書を抽出し、必要に応じて暗号化操作に使用します。また、次の点にも注意が必要です。

  • Oracle Security Token Serviceがリライイング・パーティに対して暗号化されたSAMLアサーションを発行する場合、サーバーではリライイング・パーティのWS-Secポリシーからダウンロードされた証明書を使用して送信トークンが暗号化されます。

  • Oracle Security Token ServiceがHolder of Key/対称タイプのサブジェクト確認を使用してSAMLアサーションを発行する場合、Oracle Security Token Serviceではリライイング・パーティのWS-Secポリシーからダウンロードされた証明書を使用して、アサーションに含まれる秘密証明鍵が暗号化されます。

リライイング・パーティ・パートナ・プロファイルが実行時に証明書をダウンロードするように構成するには、「パートナの署名証明書または暗号化証明書の設定」を参照してください。

パートナの署名証明書または暗号化証明書の設定

パートナの署名証明書または暗号化証明書を設定するには、次の操作を実行します。

または、WLSTパートナ・コマンドを使用して、特定のパートナの署名証明書または暗号化証明書を設定します。

前提条件

表18-4「WS-Trust通信のパートナ・キー」を確認します。

パートナの証明書を設定する手順

  1. 「Oracle Access Managerコンソール」の「システム構成」タブの「セキュリティ・トークン・サービス」セクションで、「パートナ」ノードを展開します。

  2. 「パートナ」ノード内で、「リクエスタ」(または、「リライイング・パーティ」または「発行局」(表18-4を参照))を展開します。

  3. 証明書を設定する必要があるパートナを検索して開きます(または作成します)。

  4. 必要に応じて「パートナ」設定を編集(「Token Serviceパートナの管理」を参照)し、「保存」をクリックします。

  5. 暗号化証明書: 「参照」ボタンをクリックし、暗号化証明書を検索して選択します。

  6. 署名証明書: 「参照」ボタンをクリックし、署名明書を検索して選択します。

  7. 情報を保存してページを閉じます。

  8. 「証明書検証の管理」に進みます。

証明書検証の管理

この項では、証明書検証の管理について説明します。証明書検証の条件は、表18-5で説明されています。

表18-5 Oracle Security Token Serviceの証明書検証の条件

OSTSによって証明書が検証される場合...

検証されるセキュリティ・トークンは次のタイプのいずれかです。

  • X.509

  • X.509v3

  • PKCS#7

SAMLアサーションを検証する必要があります。

OSTSはSAML発行局の署名証明書を検証するように構成されます。


検証が成功するための要件を表18-6に示します。

表18-6 証明書検証が成功するための要件

証明書が次の状態であること 方法...

信頼できるアンカーにリンクされていること:

  • 信頼できるアンカーになる

  • または発行者を信頼できるアンカーにする

取り消されていないこと:

  • 信頼できるアンカーになる

  • または発行者を信頼できるアンカーにする

証明書の取消ステータスは、次のものを確認することで判断できます。

  • 管理者によってアップロードされたCRLのリスト

  • OCSPサーバー

  • CRL配布ポイント


証明書検証には信頼アンカー・ストア(.amtruststore)が必要です。このストアおよび検証を管理する手順については、次のトピックで説明します。

信頼アンカー・ストア(amtruststore)のパスワードの取得

信頼アンカー・キーストアのパスワードをCSFから取得する必要があります。それ以外の場合、管理者はキーストアを変更できません。ストアは次の場所にあります。

$DOMAIN_HOME/config/fmwconfig/amtruststore

ストアのパスワードを取得するには、次の操作を実行します。これにより、信頼アンカー・キーストアの保護に使用されるパスワードが表示されます。

  • WSLTスクリプト環境を入力します。

  • WLS管理サーバーに接続情報を提供することにより、コマンドlistCred(map="OAM_STORE", key="jks")を実行します。

信頼アンカー・ストアのパスワードを取得する手順

  1. WSLTスクリプト環境を入力します。

  2. connect()コマンドを使用してWebLogic Server AdminServerに接続します。

  3. AdminServerに接続情報を提供することにより、コマンドlistCred(map="OAM_STORE", key="jks")を実行します。

  4. 画面のメッセージを確認してパスワードを書き留めます。

  5. 「信頼アンカー・ストア(amtruststore)の管理」に進みます。

信頼アンカー・ストア(amtruststore)の管理

信頼アンカー・キーストアは、keytoolコマンドを使用して管理されます。キーストアに追加された証明書は、証明書検証モジュールによって検出されます。


注意:

通知はJMX通知フレームワークを使用して実行されますが、通知のリフレッシュ時間(デフォルトでは60秒)に応じて時間を要する場合があります。

前提条件

信頼アンカー・ストア(amtruststore)のパスワードの取得

信頼アンカー・ストア(amtruststore)を管理する手順

  1. keytoolを探します。

  2. 次のコマンドを実行します。

    keytool -keystore $DOMAIN_HOME/config/fmwconfig/amtruststore 
    -storetype JKS -alias orakey -file $CERT_FILE 
    
  3. 画面のメッセージを確認し、要求された場合はパスワードを入力します。

  4. 「証明書失効リストの管理」に進みます。

証明書失効リストの管理

Oracle Security Token ServiceおよびOracle Access Managerでは、共通インフラストラクチャ証明書検証モジュールが使用されます。証明書の検証中に使用される信頼できる証明書および証明書失効リスト(CRL)は、信頼キーストアおよびCRLのZIPファイルに格納されます。Oracle Security Token Serviceの構成には、OCSP/CDPの設定が格納されます。

この項では、証明書の失効ステータスを確認し、次の操作を実行するために証明書失効リスト(CRL)を追加または削除する方法を説明します。

前提条件

証明書失効リストをインポート可能な状態にします。

タスクの概要: 証明書検証および失効リストの管理

  1. Oracle Access Managerコンソールの「システム構成」タブの「共通構成」セクションから、「証明書検証」を選択します。

  2. 「証明書失効リスト(CRL)の管理」を参照してください。

  3. 「証明書検証の管理」を参照してください。

  4. 「CDPの構成」を参照してください。

Oracle Security Token Serviceのカスタム信頼アンカー・ストアの使用

オプションで、特定のデプロイメントにOracle Access Managerの信頼アンカーとは別の信頼アンカーのセットが必要な場合、別のキーストアをOracle Security Token Serviceの信頼できる証明書ストアとして構成できます。これを実行するには、管理者が次のタスクを実行しておく必要があります。


注意:

カスタム信頼アンカー・ストアの使用は、ほとんどの顧客に不要なオプション機能です。

タスクの概要: 信頼できる証明書のカスタム・キーストアのデプロイ

  1. $DOMAIN_HOME/config/fmwconfigディレクトリにJKSキーストアを作成します。

  2. 「Oracle Access Managerコンソール」の「セキュリティ・トークン・サービスの設定」ページで、新しい信頼ストアのフルパス名を入力し、変更を適用します。

  3. Oracle Access Manager with Oracle Security Token Serviceがデプロイされているドメインで、管理者がカスタム信頼アンカー・キーストアをすべてのサーバーに手動で伝播する必要があります。