ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Mobile Security Access Serverの管理
11gリリース2 (11.1.2.3)
E64863-01
  目次へ移動
目次

前
 
次
 

7 SSLキーストアとトラストストアの構成

この章では、SSLキーストアとトラストストアの概要を示し、MSASと他のシステム構成要素の間でSSLを構成する方法を説明します。内容は次のとおりです。

7.1 SSLキーストアとトラストストアの理解

モバイル・セキュリティ・アクセス・サーバーは、SSLキーストアとSSLトラストストアをサポートします。SSLキーストアはサーバーのアイデンティティ・キーを保持し、SSLトラストストアは信頼できる証明書のリポジトリとして使用されます。SSLトラストストアは、クライアント証明書を信頼または認証するために使用されます(双方向SSLの場合)。

SSLキーストアとトラストストアの構成が実行されるのは、idmConfigToolを実行するときです。idmConfigToolの実行の詳細は、『Oracle Mobile Security Access Serverのインストール』の、MSASインスタンス用アイデンティティ・ストアの構成に関する項を参照してください。

idmConfigToolを実行すると、

  • MSASインスタンス用のSSLキーストアとトラストストアが作成されます。

  • 自己署名CA(認証局)によって署名されたSSLキーが作成されます。

  • モバイル・デバイス管理/モバイル・アプリケーション管理(MDM/MAM)フロー、およびモバイル・クライアントとの双方向SSL通信で必要とされるSSL証明書がトラストストアにインポートされます。


注意:

モバイル・セキュリティ・アクセス・サーバーは、SSLキーストアおよびトラストストアに対してはOPSS KSSキーストアのみサポートします。

7.1.1 SSLキーストアとトラストストアの場所

SSLキーストアとトラストストアは、次の場所の論理インスタンス・レベルに作成されます。

  • SSLキーストア: kss://msas_instance_id/sslkeystore (KSSストライプ)

    この場所は、構成プロパティによって識別されます。

    • カテゴリ: ServerSettings

    • プロパティ名: ssl.keystore.location

  • SSLトラストストア: kss://msas_instance_id/ssltruststore (KSSストライプ)。

    この場所は、構成プロパティによって識別されます。

    • カテゴリ: ServerSettings

    • プロパティ名: ssl.truststore.location

これらのプロパティの設定の詳細は、「WLSTを使用したサーバー設定の構成」を参照してください。


注意:

両方のKSSストライプで、msas_instance_idは、キーストアとトラストストアが関連付けられている論理MSASインスタンスの名前です。これらの場所を変更しないでください。

7.1.2 SSLキーストアとトラストストアの管理

SSLキーストアとトラストストアは、OAMコンソールのMSASコンソール・ページを使用して管理できます。コンソールを使用すると、SSLキーストアにキーをインポートしたり、キーを生成したりできます。SSLトラストストアに証明書をインポートすることもできます。詳細は、『SSLキーストアとトラストストアの構成』を参照してください。

KSS SSLキーストアとトラストストアを詳細に管理するには、Oracle Platform Security Service (OPSS)に用意されているキーストア・サービス・コマンドを使用できます。キーストア・サービスでは、キーストアの作成と管理、証明書のエクスポート、鍵ペアの生成などのキーストア操作に、専用のコマンドラインのコマンド・セットを使用します。これらのコマンドの使用方法は似ていますが、他のWLSTコマンドとは異なります。これらのコマンドと使用方法の詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』の、「キーストア・サービス・コマンドについて」にあります。


注意:

デフォルトでは、MSASサーバーで双方向SSLは有効化されていず、構成プロパティによって制御されます。
  • カテゴリ: MSASConfig

  • プロパティ名: security.clientAuthenticationRequired

このプロパティの設定は、次のとおりです。

  • NO (デフォルト): クライアント認証は必須でなく、双方向SSLはMSASサーバー・レベルで無効です。

  • YES: クライアント認証が必須で、双方向SSLはMSASサーバー・レベルで有効です。この場合、アクセス先のURLがクライアント証明書を要求するかどうかに関係なく、すべてのクライアントが、リクエストごとにクライアント証明書を提示する必要があります。

  • MAY: オプションのクライアント認証。

このプロパティの設定の詳細は、「WLSTを使用した追加のサーバー設定の構成」を参照してください。


次のコンポーネント間の通信では、追加のSSL構成は不要です。

  • MSASとモバイル・セキュリティ・マネージャ

  • MSASとOracle Access ManagerとOAuth Server

他のコンポーネント間のSSL構成の詳細は、次の項を参照してください。

7.2 モバイル・デバイスとMSASの間のSSLの構成

デフォルトで、SSLはMSASで必須であり、SSLポートは常に一方向SSLに対して有効です。SSLポートは、MSAS構成ツールconfigMSASを実行してMSASインスタンスを作成するときに構成します。idmConfigToolを実行するときに構成されるSSLキーストアには、自己署名認証局(CA)によって署名された1つのキーが含まれ、インスタンスのアイデンティティ・キーとして使用されます。configMSASツールとidmConfigToolの実行の詳細は、『Oracle Mobile Security Access Serverのインストール』の次のトピックを参照してください。

  • 「MSASインスタンスの構成」

  • 「MSASインスタンスのアイデンティティ・ストアとキーストアの構成」

SSLキーストアに複数のキーがある場合、アイデンティティ・キーの別名を、構成プロパティMSASConfig:security.keystoreAliasで指定する必要があります。キーは、MSASコンソールまたはWLSTコマンドを使用してインポートまたは生成できます。

PKINITベースの認証とモバイル・デバイス登録などのシナリオの場合、クライアント証明書が要求されて認証されるため、発行者証明書チェーンがSSLトラストストアで信頼される必要があります。クライアント証明書は、クライアントのユーザー・プリンシパル名(UPN)を含むサブジェクト代替名拡張を持つ必要があります。

「SSLキーストアとトラストストアの構成」で定めるMSASコンソールを使用して、クライアント証明書に対応する署名者の証明書チェーンをSSLトラストストアにインポートできます。OPSSキーストア・サービス・コマンドを使用して、クライアント証明書に対応する署名者の証明書チェーンをSSLトラストストアにインポートすることもできます。これらのコマンドと使用方法の詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』の、「キーストア・サービス・コマンドについて」にあります。

7.2.1 信頼できる証明書の入手と、SSLキーストアへのインポート

MSASインスタンスのデフォルトのアイデンティティ・キーは、自己署名CAによって署名されます。次の手順で説明するように、必要に応じて、この証明書は、既知のCAによって署名されたものに置換できます。

  1. キーストア・サービス・コマンドを使用して、既存のKSSキーストア・エントリをJKSキーストアにエクスポートします。

    1. 「MSAS WLSTコマンドへのアクセス」の説明に従って、実行中のサーバーに接続します。

    2. getOpssServiceコマンドを実行して、キーストア・サービス・コマンドにアクセスします。

      wls:/base_domain/serverConfig>svc = getOpssService(name='KeyStoreService')
      
    3. exportKeyStoreコマンドを使用して、KSSキーストアをエクスポートします。

      svc.exportKeyStore(appStripe='<msas-id>', name='sslkeystore', password='<keystore-password>', aliases='<msas-id>_msasidentity', keypasswords='<key-password>', type='JKS',filepath='/tmp/<msas-id>_sslkeystore.jks')
      

      コマンドのpasswordkeypasswords引数は、JKSキーストアとキー・パスワードに適用されます。このパスワードは、エクスポートされた鍵とJKSキーストアを保護するために使用されます。

  2. keytool -certreqコマンドを使用して証明書署名リクエスト(CSR)ファイルを作成するために、サーバー証明書リクエストを生成します。

    keytool -keystore /tmp/<msas-id>_sslkeystore.jks -storepass <keystore-password> -alias <msas-id>_msasidentity -certreq -file /tmp/msasidentity.csr -keypass <key-password>
    
  3. CSRファイルをCAに送信します。CAはリクエストを認証して、MSASインスタンスの証明書を発行し、証明書と証明書チェーンを戻します。

  4. サーバーで、MSASアイデンティティ証明書を更新します。それには、手順1でエクスポートしたJKSキーストアを先に更新し、JKSキーストアをKSSキーストアにインポートします。

    1. 新しいCA証明書チェーンをJKSキーストアにインポートします。これは、完全なチェーンを作成するために必要です。

      keytool -keystore /tmp/<msas-id>_sslkeystore.jks -import -file <CA_CERT>.crt -alias ca -storepass <keystore-password>
      
    2. 更新されたMSASアイデンティティ証明書を同じJKSキーストアにインポートします。このコマンドは、署名された証明書が/tmp/msasidentity.crtで利用できると想定します。

      keytool -keystore /tmp/<msas-id>_sslkeystore.jks -import -file /tmp/msasidentity.crt -alias <msas-id>_msasidentity -storepass <keystore-password>
      
    3. キーストア・サービス・コマンドを使用して、JKSキーストアをKSSキーストアにインポートします。「MSAS WLSTコマンドへのアクセス」の説明に従って、実行中のサーバーに接続し、次のコマンドを実行します。

      svc = getOpssService(name='KeyStoreService')
      
      svc.deleteKeyStoreEntry(appStripe='<msas-id>',name='sslkeystore',password='', alias='<msas-id>_msasidentity', keypassword='')
      
      svc.importKeyStore(appStripe='<msas-id>',name='sslkeystore',password='<keystore-password>', aliases='<msas-id>_msasidentity', keypasswords='<key-password>', type='JKS',permission=true, filepath='/tmp/<msas-id<_keystore.jks')
      
  5. MSASサーバーを再起動します。


    注意:

    SSLキーストアまたはトラストストアにおけるあらゆる変更で、MSASサーバーを再起動することが必要です。

7.2.2 モバイル・デバイスへのMSASアイデンティティ証明書のダウンロード

MSASアイデンティティ証明書に署名するエンティティは、モバイル・デバイスで信頼されている必要があります。そうでない場合、モバイル・デバイスはMSASに接続できません。証明書に署名しているエンティティが既知の認証局(CA)である場合、署名者がモバイル・デバイスですでに信用されていることを確認します。

SSLキーストアからMSASアイデンティティ証明書チェーンをダウンロードするプロセスを簡素化するために、MSASには次のURLが用意されています。

https://msas_host:msas_port/bmax/msas_cert[n].pem

ここで、[n]は、チェーン内の証明書を表します(0から4まで)。指数0の証明書は、サーバー証明書の発行者であり、指数1の証明書は指数0の証明書の発行者、以下同様です。

例:

https://msas_host:msas_port/bmax/msas_cert0.pem
https://msas_host:msas_port/bmax/msas_cert1.pem

注意:

SSLキーストアには単一の自己署名ルート証明書が含まれるため、デフォルトで、http://msas_host:msas_port/bmax/msas_cert0.pemに、デバイス上にインストールするルート証明書が用意されています。

7.3 MSASとバックエンド・リソースの間のSSLの構成

デフォルトで、バックエンド・サーバーの証明書認証は、MSAS上ではオフにされています。その結果、バックエンド・リソースのSSL証明書は、MSAS SSLトラストストアで信頼される必要がなく、構成は不要です。

この動作は、構成プロパティによって制御されます。

  • カテゴリ: ClientConfiguration

  • プロパティ名: ssl.security.level

このプロパティのデフォルト値は、looseです。このプロパティの値をstrictに変更するには、バックエンド・リソースのSSL証明書がMSAS SSLトラストストアで信頼される必要があり、そうでない場合、MSASがそれに接続できなくなります。

これ、およびその他のプロパティをClientConfigurationカテゴリで設定する場合の詳細は、「WLSTを使用したアウトバウンド・メッセージ設定の構成」を参照してください。


注意:

バックエンド・リソースを使用した双方向SSLは、このリリースではサポートされません。

7.4 MSASとアイデンティティ・ストアの間のSSLの構成

SSLポート上にアイデンティティ・ストアが構成されている場合、アイデンティティ・ストアのSSL証明書が、MSAS SSLトラストストアで信頼される必要があります。「SSLキーストアとトラストストアの構成」で説明しているように、MSASコンソールを使用して、アイデンティティ・ストア用の自己署名SSL証明書または署名者の証明書チェーンをインポートすることができます(本番環境では必須)。

OPSSキーストア・サービス・コマンドを使用して、アイデンティティ・ストアに対応する自己署名証明書または署名者の証明書チェーンを、SSLトラストストアにインポートすることもできます。これらのコマンドと使用方法の詳細は、『Oracle Platform Security Servicesによるアプリケーションの保護』の、「キーストア・サービス・コマンドについて」にあります。


注意:

SSLキーストアまたはトラストストアにおけるあらゆる変更で、MSASサーバーを再起動することが必要です。