Product Documentation

PKIエンティティ

2018年2月21日

XenMobileのPKI(Public Key Infrastructure:公開キーのインフラストラクチャ)エンティティ構成は、実際のPKI処理(発行、失効、状態情報)を実行するコンポーネントを表します。これらのコンポーネントは、XenMobileに対して内部または外部のどちらかです。内部コンポーネントは、任意として参照されます。外部コンポーネントは企業インフラストラクチャの一部です。

XenMobileは次の種類のPKIエンティティをサポートします。

  • 汎用PKIs(GPKIs)

XenMobile Serverの汎用PKIサポートには、Symantec Managed PKIが含まれます。

  • Microsoft証明書サービス
  • 任意CA(Certificate Authority:証明機関)

XenMobileでは、次のCAサーバーがサポートされます。

  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2

共通のPKI概念

種類に関係なく、すべてのPKIエンティティには以下の機能のサブセットがあります。

  • 署名: 証明書署名要求(CSR)に基づく新しい証明書の発行
  • フェッチ: 既存の証明書とキーペアの回収
  • 失効: クライアント証明書の失効

CA証明書

PKIエンティティを構成するときに、そのエンティティにより発行される(またはそのエンティティから回収される)証明書の署名者であるCA証明書をXenMobileに示します。そのPKIエンティティから、複数の異なるCAが署名した、(フェッチされたか、または新たに署名された)証明書が返されることがあります。

これらのCAそれぞれの証明書を、PKIエンティティ構成の一部として提供します。これを行うために、証明書をXenMobileにアップロードして、PKIエンティティでそれらを参照します。任意CAの場合、証明書は暗黙的に署名CA証明書です。外部エンティティの場合は、証明書を手動で指定する必要があります。

重要:

Microsoft証明書サービスのエンティティテンプレートを作成する場合は、登録済みデバイスの認証に関する問題を避けるため、テンプレート名に特殊文字を使用しないでください。たとえば、以下は使用しないでください: ! : $ ( ) # % + * ~ ? | { } [ ]

汎用PKI

汎用PKI(Generic PKI:GPKI)プロトコルは、さまざまなPKIソリューションとの統一された連携を目的としてSOAP Webサービスレイヤーで実行される独自のXenMobileプロトコルです。GPKIプロトコルは、以下の3つの基本PKI処理を定義します。

  • 署名: アダプターはCSRを取得し、それらの要求をPKIに送信して、新しい署名入り証明書を返すことができます。
  • フェッチ: アダプターは既存の証明書とキーペア(入力パラメーターによる)をPKIから取得できます。
  • 失効: アダプターはPKIで特定の証明書を失効させることができます。

GPKIプロトコルの受信側はGPKIアダプターです。GPKIアダプターによって、基本処理がそのアダプターが作成された特定の種類のPKIに変換されます。たとえば、RSAやEntrust用のGPKIアダプターがあります。

GPKIアダプターは、SOAP Webサービスのエンドポイントとして、自己記述型のWeb Services Description Language(WSDL)定義を公開します。GPKI PKIエンティティの作成は、URLを通じてまたはファイルそのものをアップロードして、XenMobileにそのWSDL定義を提供することを意味します。

アダプターでの各PKI操作のサポートはオプションです。アダプターが特定の処理をサポートする場合、アダプターには対応する機能(署名、フェッチ、失効)があると見なされます。これらの各機能は一連のユーザーパラメーターに関連付けられている場合があります。

ユーザーパラメーターは、特定の処理についてGPKIアダプターで定義されるパラメーターで、XenMobileに値を提供する必要があります。アダプターが実行する処理と各処理に必要なパラメーターは、XenMobileによりWSDLファイルを解析して決定されます。選択した場合、SSLクライアント認証によってXenMobileとGPKIアダプターの間の接続が保護されます。

汎用PKIを追加するには

  1. XenMobileコンソールで、[設定]、[PKIエンティティ] の順にクリックします。

  2. [PKIエンティティ] ページで、[追加] をクリックします。

    PKIエンティティタイプのメニューが表示されます。

    PKIエンティティ構成画面のイメージ

  3. [汎用PIKエンティティ] をクリックします。

    [汎用PKIエンティティ: 一般情報]ページが開きます。

    PKIエンティティ構成画面のイメージ

  4. [汎用PKIエンティティ: 一般情報] ページで、以下を行います。

    • 名前: PKIエンティティの説明的な名前を入力します。
    • WSDL URL: アダプターについて記述しているWSDLの場所を入力します。
    • 認証の種類: 使用する認証方法を選択します。
    • なし
    • HTTP基本: アダプターへの接続に必要なユーザー名とパスワードを指定します。
    • クライアント証明書: 適切なSSLクライアント証明書を選択します。
  5. [次へ] をクリックします。

    [汎用PKIエンティティ: アダプターの機能]ページが開きます。

  6. [汎用PKIエンティティ:アダプターの機能] ページで、アダプターに関連付けられた機能とパラメーターを確認して、[次へ] をクリックします。

    [汎用PKIエンティティ:CA証明書の発行] ページが表示されます。

  7. [汎用PKIエンティティ: CA証明書の発行]ページで、エンティティで使用する証明書を選択します。

    エンティティからは、異なるCAによって署名された証明書が返される場合がありますが、特定の証明書プロバイダーから取得される証明書の署名は、すべて同じCAによって行われる必要があります。したがって、資格情報プロバイダー 設定を構成するときに、[ディストリビューション] ページで、ここで構成したいずれかの証明書を選択してください。

  8. [保存] をクリックします。

    [PKIエンティティ]の表にエンティティが表示されます。

Symantec Managed PKI

XenMobile Serverの汎用PKIサポートには、Symantec Managed PKI(MPKIとも呼ばれる)が含まれます。このセクションでは、Symantec Managed PKI用にWindows ServerとXenMobile Serverをセットアップする方法について説明します。

前提条件

  • Symantec Managed PKIインフラストラクチャへのアクセス
  • この記事で説明した、次のコンポーネントがインストールされたWindows Server 2012 R2サーバー:
    • Java
    • Apache Tomcat
    • Symantec PKI Client
    • Portecle
  • XenMobileダウンロードサイトへのアクセス

Windows ServerへのJavaのインストール

Javaをhttps://java.com/en/download/faq/java_win64bit.xmlからダウンロードして、インストールします。[セキュリティの警告]ダイアログボックスで、[実行] をクリックします。

Windows ServerにApache Tomcatをインストールする

Apache Tomcat(32ビットまたは64ビットバージョン)のWindowsサービスインストーラーをhttps://tomcat.apache.org/download-80.cgiからダウンロードして、インストールします。[セキュリティの警告]ダイアログボックスで、[実行] をクリックします。次の例を参考にして、Apache Tomcatのセットアップを完了します。

Apache Tomcatの設定画面のイメージ

Apache Tomcatの設定画面のイメージ

Apache Tomcatの設定画面のイメージ

Apache Tomcatの設定画面のイメージ

Apache Tomcatの設定画面のイメージ

次に[Windowsサービス]に移動して、[スタートアップの種類][手動] から [自動] に変更します。

Windowsサービス構成画面のイメージ

Windowsサービス構成画面のイメージ

Windows ServerにSymantec PKI Clientをインストールする

PKI Managerコンソールからインストーラーをダウンロードします。このコンソールにアクセスできない場合は、Symantecのサポートページ「How to download Symantec PKI Client 」からインストーラーをダウンロードします。圧縮解除してインストーラーを実行します。

Symantec PKI Clientインストールのイメージ

Symantec PKI Clientインストールのイメージ

[セキュリティの警告]ダイアログボックスで、[実行] をクリックします。インストーラーに従ってセットアップを完了します。インストーラーが完了すると、再起動するように求められます。

Windows ServerにPortecleをインストールする

https://sourceforge.net/projects/portecleinstall/files/からインストーラーをダウンロードし、解凍してインストーラーを実行します。

Symantec Managed PKIの登録機関(RA)証明書を生成する

クライアント証明書認証用のキーストアは、RA.jksという名前の登録機関(RA)証明書に含まれています。次の手順では、Portecleを使用してその証明書を生成する方法について説明します。Java CLIを使用してRA証明書を生成することもできます。

また、RAとパブリック証明書をアップロードする方法についても説明します。

  1. Portecleで [Tools]の[Generate Key Pair] に移動し、必要な情報を入力してキーペアを生成します。

    Portecle構成画面のイメージ

  2. キーペアを右クリックし、[Generate Certification Request] を選択します。

    Portecle構成画面のイメージ

  3. CSRをコピーします。

  4. Symantec PKI ManagerでRA証明書を生成する:[Settings][Get a RA Certificate] の順にクリックし、CSRを貼り付け、[Continue] をクリックします。

    Symantec PKI Manager構成画面のイメージ

  5. [Download] をクリックして、生成されたRA証明書をダウンロードします。

    Symantec PKI Manager構成画面のイメージ

  6. PortecleでRA証明書をインポートする:キーペアを右クリックし、[Import CA Reply] を選択します。

    Portecle構成画面のイメージ

  7. Symantec PKI Managerの場合:[Resources]、[Web Services] の順に移動し、CA証明書をダウンロードします。

    Symantec PKI Manager構成画面のイメージ

  8. PortecleでRA中間証明書およびルート証明書をキーストアにインポートする:[Tools]、[Import Trusted Certificates] の順に移動します。

    Portecle構成画面のイメージ

  9. CAのインポート後、キーストアをRA.jksという名前でWindowsサーバーのC:\Symantecフォルダに保存します。

    Portecle構成画面のイメージ

Windows ServerでSymantec PKIアダプターを構成する

  1. Windows Serverに管理者としてログオンします。

  2. 前のセクションで生成したRA.jksファイルをアップロードします。また、Symantec MPKIサーバーのパブリック証明書(cacerts.jks)もアップロードします。

  3. XenMobile Server 10のダウンロードページで、[ツール] を展開してSymantec PKI Adapterファイルをダウンロードします。ファイル名は、XenMobile_Symantec_PKI_Adapter.zipです。ファイルを解凍し、これらのファイルをWindows ServerのCドライブにコピーします。

    • custom_gpki_adapter.properties

    • Symantec.war

  4. custom_gpki_adapter.propertiesをメモ帳で開き、次の値を編集します。

    Gpki.CaSvc.Url=https://<managed PKI URL>
    
    # keystore for client-cert auth
    
    keyStore=C:\Symantec\RA.jks
    
    # truststore for server with self-signed root CA
    
    trustStore=C:\Symantec\cacerts.jks
    
  5. Symantec.warを<tomcat dir>\webappsフォルダーにコピーし、Tomcatを起動します。

  6. アプリケーションが展開されたことを確認する:Webブラウザーを開き、http://localhost/Symantecに移動します。

  7. <tomcat dir>\webapps\Symantec\WEB-INF\classesフォルダーに移動し、gpki_adapter.propertiesを編集します。次に示すように、CustomPropertiesプロパティがC:\Symantecフォルダーのcustom_gpki_adapterファイルを指すように変更します:

    CustomProperties=C:\\Symantec\\custom_gpki_adapter.properties

  8. Tomcatを再起動し、http://localhost/Symantecに移動して、エンドポイントのアドレスをコピーします。次のセクションで、PKIアダプターを構成するときにこのアドレスを貼り付けます。

    Symantec PKI構成画面のイメージ

XenMobile ServerをSymantec Managed PKI用に構成する

次のXenMobile Serverの構成を実行する前に、Windows Serverのセットアップを完了してください。

Symantec CA証明書をインポートしてPKIエンティティを構成するには

  1. 次の手順を実行して、エンドユーザー証明書を発行するSymantec CA証明書をインポートします:XenMobile Serverコンソールで、[設定]>[証明書] の順に選択し、[インポート] をクリックします。

    証明書構成画面のイメージ

  2. 次の手順を実行して、PKIエンティティを追加および構成します:[設定] >[PKI エンティティ] の順に選択し、[追加] をクリックして、[汎用 PKI エンティティ] を選択します。[WSDL URL] に、前のセクションでPKIアダプターを構成するときにコピーしたエンドポイントアドレスを貼り付けてから、以下に示すように?wsdlを追加します。

    PKIエンティティ構成画面のイメージ

  3. [次へ] をクリックします。XenMobileに、WSDLからパラメーター名が入力されます。

    PKIエンティティ構成画面のイメージ

  4. [次へ] をクリックし、適切なCA証明書を選択して、[保存] をクリックします。

    PKIエンティティ構成画面のイメージ

  5. [設定]>[PKIエンティティ] ページで、追加したPKIエンティティの [状態][有効] であることを確認します。

    PKIエンティティ構成画面のイメージ

Symantec Managed PKIの資格情報プロバイダーを作成するには

  1. Symantec PKI Managerコンソールで、証明書テンプレートから 証明書プロファイルのOID をコピーします。

    Symantec PKI Manager構成画面のイメージ

  2. XenMobile Serverコンソールで、[設定]>[資格情報プロバイダー] の順に選択し、[追加] をクリックして、次のように設定を構成します。

    • 名前: 新しいプロバイダー構成の一意の名前を入力します。この名前はXenMobileコンソールのほかの部分で構成を参照するために使用されます。

    • 説明: 資格情報プロバイダーの説明です。このフィールドはオプションですが、この資格情報プロバイダーの詳細が必要なときに説明が役立ちます。

    • 発行エンティティ: 証明書発行エンティティを選択します。

    • 発行方式: 構成されたエンティティから証明書を取得するために使用する方法として [署名] を選択します。

    • certParams: 以下の値を追加します:commonName=${user.mail},otherNameUPN=${user.userprincipalname},mail=${user.mail}

    • certificateProfileid: 手順1でコピーした証明書プロファイルのOIDを貼り付けます。

    資格情報プロバイダ構成画面のイメージ

  3. [次へ] をクリックします。残りの各ページ(書き換えによる証明書の署名要求)では、デフォルトの設定を適用します。完了したら、[保存]をクリックします。

構成をテストおよびトラブルシューティングするには

  1. 次の手順を実行し、資格情報デバイスポリシーを作成します:[構成]>[デバイス ポリシー] の順に選択し、[追加] をクリックして、「資格情報」 と入力してから [資格情報] をクリックします。

  2. ポリシー名を指定します。

  3. プラットフォームの設定を、次のように構成します。

    • 資格情報の種類: [資格情報プロバイダー] を選択します。

    • 資格情報プロバイダー: Symantecプロバイダーを選択します。

    資格情報プロバイダー構成画面のイメージ

  4. プラットフォームの設定が完了したら、引き続き [割り当て] ページに移動し、デリバリーグループにポリシーを割り当てて、[保存] をクリックします。

  5. ポリシーがデバイスに展開されたことを確認するには、[管理]>[デバイス] の順に選択し、該当するデバイスを選択して、[編集][割り当て済みポリシー] の順にクリックします。次の例は、ポリシーの展開が正常に行われたことを示しています。

    デバイス構成の管理画面のイメージ

    ポリシーが展開されていない場合は、Windows Serverにログオンして、WSDLが適切にロードされているかどうかを確認します。

    Windowsサーバー画面のイメージ

トラブルシューティングの詳細については、<tomcat dir>\logs\catalina.<current date>でTomcatのログを確認してください。

Microsoft証明書サービス

XenMobileは、Web登録インターフェイスを通じてMicrosoft Certificate Servicesと連携します。XenMobileはこのインターフェイス(GPKI署名機能と同等の機能)を使用した新しい証明書の発行のみをサポートします。Microsoft CAがNetScaler Gatewayユーザー証明書を生成する場合、NetScaler Gatewayはこれらの証明書の更新と失効をサポートします。

XenMobileでMicrosoft CA PKIエンティティを作成するには、Certificate ServicesのWebインターフェイスのベースURLを指定する必要があります。選択した場合、SSLクライアント認証によって、XenMobileとCertificate ServicesのWebインターフェイスとの間の接続が保護されます。

Microsoft Certificate Servicesエンティティを追加する

  1. XenMobileコンソールで、右上の歯車アイコンをクリックした後、[PKIエンティティ] をクリックします。

  2. [PKIエンティティ] ページで、[追加] をクリックします。

    PKIエンティティタイプのメニューが表示されます。

  3. [Microsoft証明書サービスエンティティ] をクリックします。

    [Microsoft証明書サービスエンティティ: 一般的な情報] ページが開きます。

  4. [Microsoft証明書サービスエンティティ: 一般的な情報] ページで次の設定を構成します。

    • 名前: 新しいエンティティの名前を入力します。この名前は後でそのエンティティを参照するために使用します。エンティティ名は一意の名前にする必要があります。
    • Web登録サービスルートURL: Microsoft CA Web登録サービスのベースURL(https://192.0.2.13/certsrv/など)を入力します。URLには、HTTPまたはHTTP-over-SSLを使用します。
    • certnew.cerページ名: certnew.cerページの名前。何らかの理由で名前を変更した場合を除き、デフォルト名を使用します。
    • certfnsh.asp: certfnsh.aspページの名前。何らかの理由で名前を変更した場合を除き、デフォルト名を使用します。
    • 認証の種類: 使用する認証方法を選択します。
      • なし
      • HTTP基本: 接続に必要なユーザー名とパスワードを指定します。
      • クライアント証明書: 適切なSSLクライアント証明書を選択します。
  5. [接続のテスト] をクリックして、サーバーにアクセスできることを確認します。アクセスできない場合は、接続が失敗したことを示すメッセージが表示されます。構成設定を確認してください。

  6. [次へ] をクリックします。

    [Microsoft証明書サービスエンティティ:テンプレート] ページが開きます。このページで、Microsoft CAがサポートするテンプレートの内部名を指定します。資格情報プロバイダーを作成するとき、ここで定義したテンプレートを一覧で選択します。このエンティティを使用するすべての資格情報プロバイダーが、このようなテンプレートを1つだけ使用します。

    Microsoft Certificate Servicesテンプレートの要件については、お使いのMicrosoft ServerバージョンのMicrosoftドキュメントを参照してください。XenMobileには、「証明書」 で説明している証明書の形式以外、配布する証明書の要件はありません。

  7. [Microsoft証明書サービスエンティティ:テンプレート] ページで [追加] をクリックし、テンプレートの名前を入力して、[保存] をクリックします。追加する各テンプレートについて、この手順を繰り返します。

  8. [次へ] をクリックします。

    [Microsoft証明書サービスエンティティ:HTTPパラメーター] ページが開きます。このページで、Microsoft Web登録インターフェイスに対するHTTP要求にXenMobileが追加するカスタムパラメーターを指定します。カスタムパラメーターは、CAで実行されているカスタマイズされたスクリプトでのみ有効です。

  9. [Microsoft証明書サービスエンティティ:HTTPパラメーター] ページで [追加] をクリックし、追加するHTTPパラメーターの名前と値を入力して、[次へ] をクリックします。

    [Microsoft証明書サービスエンティティ:CA証明書] ページが開きます。このページでは、このエンティティを通じてシステムが取得する証明書の署名者をXenMobileに通知する必要があります。CA証明書が更新されたら、XenMobileで更新します。XenMobileは変更をエンティティに透過的に適用します。

  10. [Microsoft証明書サービスエンティティ:CA証明書] ページで、このエンティティで使用する証明書を選択します。

  11. [保存] をクリックします。

    [PKI Entities]の表にエンティティが表示されます。

NetScaler証明書失効一覧(CRL)

XenMobileは、サードパーティ証明機関でのみ証明書失効一覧(CRL)をサポートします。Microsoft CAが構成されている場合、XenMobileはNetScalerを使用して失効を管理します。

クライアント証明書ベースの認証を構成する場合、NetScaler証明書失効一覧(CRL)設定 [CRL自動更新を有効化] を構成するかどうか検討します。この手順を使用すると、MAM-onlyモードのデバイスのユーザーがデバイス上の既存の証明書を使用して認証できなくなります。

ユーザー証明書が失効してもユーザーによる生成が制限されるわけではないため、XenMobileは新しい証明書を再発行します。この設定は、CRLが期限切れのPKIエンティティを確認する場合、PKIエンティティのセキュリティを強化します。

任意CA

任意CAは、CA証明書と関連の秘密キーをXenMobileに提供したときに作成されます。XenMobileは、管理者が指定したパラメーターに従って、証明書の発行、失効、および状態情報を内部で処理します。

随意CAを構成するときに、そのCAに対してOCSP(Online Certificate Status Protocol)サポートをアクティブにできます。OCSPサポートを有効にした場合に限り、CAは発行する証明書にid-pe-authorityInfoAccess拡張を追加します。この拡張は、次の場所にあるXenMobileの内部OCSPレスポンダーを参照します:

https://<server>/<instance>/ocsp

OCSPサービスを構成するときに、該当の任意エンティティのOCSP署名証明書を指定する必要があります。CA証明書そのものを署名者として使用できます。CA秘密キーの不必要な漏えいを防ぐには(推奨):CA証明書で署名された、委任OCSP署名証明書を作成し、id-kp-OCSPSigning extendedKeyUsage拡張を含めます。

XenMobile OCSPレスポンダーサービスは、基本のOCSP応答と要求の以下のハッシュアルゴリズムをサポートします。

  • SHA-1
  • SHA-224
  • SHA-256
  • SHA-384
  • SHA-512

応答はSHA-256および署名証明書キーアルゴリズム(DSA、RSAまたはECDSA)で署名されます。

任意CAを追加する

  1. XenMobileコンソールで、右上の歯車アイコンをクリックした後、[詳細]の[PKIエンティティ] をクリックします。

  2. [PKIエンティティ] ページで、[追加] をクリックします。

    PKIエンティティタイプのメニューが表示されます。

  3. [随意CA] をクリックします。

    [随意CA:一般情報] ページが開きます。

  4. [随意CA:一般情報] ページで以下を行います。

    • 名前: 随意CAの説明的な名前を入力します。
    • 証明書要求に署名するためのCA証明書: 一覧から、証明書要求に署名するために使用する随意CAの証明書を選択します。

      この証明書の一覧は、[構成]>[設定]>[証明書] からXenMobileにアップロードした、秘密キー付きのCA証明書から生成されます。

  5. [次へ] をクリックします。

    [随意CA:パラメーター] ページが開きます。

  6. [Discretionary CA: Parameters]ページで、以下を行います。

    • シリアル番号ジェネレーター: 随意CAは発行する証明書のシリアル番号を生成します。一覧で [シーケンシャル] または [非シーケンシャル] を選択して、番号の生成方法を指定します。
    • 次のシリアル番号: 値を入力して、次に発行される番号を指定します。
    • 証明書の有効期限: 証明書の有効期間(日数)を入力します。
    • キー使用法: 適切なキーを [オン] に設定して、随意CAが発行する証明書の目的を指定します。設定すると、CAによる証明書の発行がそれらの目的に限定されます。
    • 拡張キー使用法: さらにパラメーターを追加するには、[追加] をクリックし、キー名を入力して [保存] をクリックします。
  7. [次へ] をクリックします。

    [随意CA:ディストリビューション] ページが開きます。

  8. [Discretionary CA: Distribution]ページで、配布モードを選択します。

    • 集中:サーバー側のキー生成。この集中管理オプションをお勧めします。サーバー上で秘密キーが生成および保存され、ユーザーデバイスに配布されます。
    • 分散:デバイス側のキー生成。ユーザーデバイス上で秘密キーが生成されます。この分散モードはSCEPを使用し、keyUsage keyEncryption拡張によるRA暗号化証明書とkeyUsage digitalSignature拡張によるRA署名証明書が必要です。暗号化と署名で同じ証明書を使用できます。
  9. [次へ] をクリックします。

    [随意CA:Online Certificate Status Protocol(OCSP)] ページが開きます。

    [Discretionary CA: Online Certificate Status Protocol (OCSP)]ページで、以下を行います。

    • このCAが署名する証明書にAuthorityInfoAccess(RFC2459)拡張を追加する場合は、[このCAのOCSPサポートを有効にする][オン] に設定します。この拡張は、CAのOCSPレスポンダー(https://<server>/<instance>/ocsp)を参照します。
    • OCSPサポートを有効にした場合は、OSCP署名CA証明書を選択します。この証明書一覧は、XenMobileにアップロードしたCA証明書から生成されます。
  10. [保存] をクリックします。

    [PKIエンティティ]の表に任意CAが表示されます。