Product Documentation

資格情報プロバイダー

Aug 02, 2016

資格情報プロバイダーは、XenMobileシステムのさまざまな部分で使用する実際の証明書の構成です。 資格情報プロバイダーは、証明書がデバイス構成の一部であるかスタンドアロン(デバイスにそのままプッシュされる)であるかに関係なく、証明書のソース、パラメーター、およびライフサイクルを定義します。

デバイス登録によって証明書のライフサイクルは制約されます。 つまり、登録前に証明書は発行されませんが、登録の一部として一部の証明書が発行される場合があります。 また、1回の登録のコンテキスト内で内部PKIから発行された証明書は、登録が失効すると失効します。 管理関係が終了すると、証明書の有効性は維持されません。

1つの資格情報プロバイダーの構成を複数の場所で使用し、1つの構成によって任意の数の証明書を同時に管理することができます。 この場合、この全体は展開リソースおよび展開上にあります。 たとえば、資格情報プロバイダーPが構成Cの一部としてデバイスDに展開された場合、Dに展開される証明書はPの発行設定によって決まります。 同様に、Cが更新されるときにDの更新設定が適用され、Cが削除されたりDが失効したりしたときにはDの失効設定も適用されます。

この点を考慮し、XenMobileの資格情報プロバイダーの構成では以下を行います。

  • 証明書のソースを決定します。
  • 証明書を取得するときに使用する方法を決定します。新しい証明書に署名するか、既存の証明書とキーペアをフェッチ(回復)します。
  • 発行または回復のパラメーターを決定します。 キーサイズ、キーアルゴリズム、識別名、証明書拡張などの証明書署名要求(Certificate Signing Request:CSR)パラメーターがあります。
  • 証明書をデバイスに配信する方法を決定します。
  • 失効条件を決定します。 管理関係が失われるとすべての証明書がXenMobileで失効しますが、構成によっては、関連付けられたデバイス構成が削除された場合など、以前の失効を指定する場合もあります。 また、条件によっては、XenMobileで関連付けられた証明書の失効がバックエンドのPKI(Public Key Infrastructure:公開キーのインフラストラクチャ)に送信されることがあります。つまりXenMobileでの証明書の失効によってPKIでも証明書が失効する場合があります。
  • 更新設定を決定します。 特定の資格情報プロバイダーを通じて取得された証明書は、期限が近くなると自動的に更新されるか、それとは別に、期限が近づくと通知が発行されます。

使用できる各種構成オプションの範囲は、主に、資格情報プロバイダーに対して選択したPKIエンティティの種類と発行方法によって異なります。

証明書の発行方法

証明書は2つの方法で取得でき、これを発行方法と呼びます。

  • 署名。 この方法では、新しい秘密キーを作成し、CSRを作成してCA(Certificate Authority:証明機関)に送信し、署名してもらいます。 XenMobileは3種類のPKIエンティティによる署名方法をサポートします(Microsoft 証明書サービスエンティティ、汎用PKIエンティティ、任意CAエンティティ)。
  • フェッチ。 この方法におけるXenMobileのための発行は、既存のキーペアの回復を意味します。 XenMobileは汎用PKIのフェッチ方法のみをサポートします。

資格情報プロバイダーは署名またはフェッチのうちいずれかの発行方法を使用します。 選択した方法は使用可能な構成オプションに影響します。 特に、CSR構成と分散配信は、発行方法が署名の場合にのみ使用できます。 フェッチされた証明書は常にPKCS#12としてデバイスに送信されます(署名方法の集中配信モードと同じ)。

証明書の配信

XenMobileでの証明書の配信には、集中と分散の2つのモードがあります。 分散モードはSCEP(Simple Certificate Enrollment Protocol)を使い、クライアントがこのプロトコルをサポートする状況でのみ使用できます(iOSのみ)。 場合によっては分散モードが必須となります。

資格情報プロバイダーで分散(SCEPを使用した)配信をサポートするには、特別な構成手順として、RA(Registration Authority:登録機関)証明書の設定が必要です。 RA証明書が必要なのは、SCEPプロトコルを使用する場合、XenMobileが実際のCAに対する代理(登録機関)と同様に機能し、XenMobileはそのような役割を果たす権限があることをクライアントに証明する必要があるためです。 その権限は、XenMobileに前述の証明書を提供することにより確立されます。

RA署名とRA暗号化の2つの異なる証明書の役割が必要です(1つの証明書で両方の要件を満たすことができます)。 これらの役割には以下の制約があります。

  • RA署名証明書には、X.509キー使用法デジタル署名が必要です。
  • RA暗号化証明書には、X.509キー使用法キーの暗号化が必要です。

資格情報プロバイダーのRA証明書を構成するには、それらの証明書をXenMobileにアップロードし、資格情報プロバイダーでそれらの証明書にリンクします。

資格情報プロバイダーに証明書の役割について構成されている証明書がある場合、分散配信のみをサポートするとみなされます。 各資格情報プロバイダーは、集中モードを優先するか、分散モードを優先するか、または分散モードを必要とするように構成できます。 実際の結果はコンテキストに応じて異なります。コンテキストが分散モードをサポートしないにもかかわらず、資格情報プロバイダーに分散モードが必要な場合、展開は失敗します。 同様に、コンテキストに分散モードが必要な場合でも、資格情報プロバイダーが分散モードをサポートしていなければ、展開は失敗します。 ほかのすべての場合、優先設定が適用されます。

次の表は、XenMobile全体におけるSCEP分散を示しています。

コンテキスト SCEPのサポート SCEPの必要
iOSプロファイルサービス はい はい
iOSモバイルデバイス管理登録 はい いいえ
iOS構成プロファイル はい いいえ
SHTP登録 いいえ いいえ
SHTPの構成 いいえ いいえ
Windows Phone登録 いいえ いいえ
Windows Phoneの構成 いいえ いいえ

証明書の失効

失効には以下の3つの種類があります。

  • 内部失効。 内部失効はXenMobileで維持されている証明書の状態に影響します。 この状態は、XenMobileに提示された証明書をXenMobileで評価するとき、または一部の証明書のOCSP状態に関する情報をXenMobileから提供する必要がある場合に考慮されます。 資格情報プロバイダー構成により、さまざまな条件下でこの状態がどのように影響を受けるかが決まります。 たとえば、資格情報プロバイダーでは、そのプロバイダーを通じて取得した証明書がデバイスから削除されたとき、失効済みのフラグが立てられるよう指定する場合があります。
  • 外部に伝達される失効。 失効XenMobileとも呼ばれるこの種類の失効は、外部のPKIから取得した証明書に適用されます。 資格情報プロバイダー構成で定義された条件下で、証明書がXenMobileで内部失効すると、その証明書はPKIでも失効します。 失効を実行するための呼び出しを行うには、失効対応GPKI(General PKI:汎用PKI)エンティティが必要です。
  • 外部で誘導される失効。 失効PKIとも呼ばれるこの種類の失効も、外部のPKIから取得した証明書のみに適用されます。 XenMobileで特定の証明書の状態が評価されるたびに、その状態についてPKIに照会されます。 PKIで証明書が失効している場合、XenMobileで証明書が内部失効します。 このメカニズムではOCSPプロトコルが使用されます。

これらの3つの種類は排他的ではなく、同時に適用されます。内部失効は外部失効または独立した検出により生じ、その結果、内部失効が外部失効を発生させる可能性があります。

証明書の書き換え

証明書の書き換えとは、既存の証明書の失効と別の証明書の発行を両方行うことです。

XenMobileでは、発行が失敗した場合にサービスが途絶えるのを防ぐため、以前の証明書が失効する前にまず新しい証明書の取得を試行します。 (SCEP対応の)分散配信を使用する場合、失効は証明書がデバイスに正しくインストールされてから一度だけ発生します。使用しない場合、新しい証明書がデバイスに送信される前に、インストールの成否に関係なく失効が発生することになります。

失効の構成では、特定の期間を日単位で指定する必要があります。 デバイスが接続されると、証明書のNotAfterの日付からこの指定した期間を引いて、現在の日付より後になっているかどうかがサーバーによって検証されます。 現在の日付より後になっている場合、書き換えが試行されます。

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

資格情報プロバイダーの構成は、主に、資格情報プロバイダーに対して選択した発行エンティティや発行方法により異なります。 内部エンティティを使用する資格情報プロバイダー(随意など)と、外部エンティティを使用する資格情報プロバイダー(Microsoft CAやGPKIなど)に区別することができます。 随意エンティティの発行方法は 常に署名です。つまり、各発行操作で、XenMobileはエンティティに対して選択されたCA証明書で新しいキーペアに署名します。 キーペアがデバイスまたはサーバーのどちらで生成されるかは、選択した分散方法によって異なります。

1. XenMobile Webコンソールで、右上の歯車アイコンをクリックした後、[More][Credential Providers]をクリックします。

2. [Credential Providers]ページで、[Add]をクリックします。

[Credential Providers: General Information]ページが開きます。

3. [Credential Providers: General Infomation]ページで、以下を指定します。

  • Name:新しいプロバイダー構成の一意の名前を入力します。 この名前はXenMobileコンソールのほかの部分で構成を参照するために後で使用されます。
  • Description:資格情報プロバイダーの説明です。 このフィールドはオプションですが、後でこの資格情報プロバイダーの詳細を思い出すときに説明が役立ちます。
  • Issuing entity:証明書発行エンティティを選択します。
  • Issuing method[Sign]または[Fetch]をクリックして、構成されたエンティティから証明書を取得するために使用する方法を選択します。クライアント証明書による認証の場合は[Sign]を使用します。
  • テンプレート一覧が使用できる場合は、資格情報プロバイダーのテンプレートを選択します。

4. [Next]をクリックします。

注:これらのテンプレートは、[Settings][More][PKI Entities]の順にクリックすると開くページで、Microsoft証明書サービスエンティティが追加されている場合に使用可能になります。

[Credential Providers: Certificate Signing Request]ページが開きます。  

5. [Credential Providers: Certificate Signing Request]ページで、以下を指定します。  

  • Key algorithm:新しいキーペアのキーアルゴリズムを選択します。 使用可能な値は[RSA][DSA]、および[ECDSA]です。   
  • Key size:キーペアのサイズ(ビット単位)を入力します。 これは必須フィールドです。

    注:許可される値はキーの種類によって異なります。たとえば、DSAキーの最大サイズは1024ビットです。  基になるハードウェアおよびソフトウェアに依存する偽陰性を回避するため、XenMobileではキーのサイズが強制されません。 資格情報プロバイダーの構成を実稼働環境でアクティブにする前に、必ずテスト環境でテストしてください。

  • Signature algorithm:新しい証明書の値を選択します。 値はキーアルゴリズムによって異なります。
  • Subject name:新しい証明書のサブジェクトの識別名(Distinguished Name:DN)を入力します。 例:CN=${user.username}, OU=${user.department}, O=${user.companyname}, C=${user.c}\endquotation   これは必須フィールドです。

たとえば、クライアント証明書認証には次の設定を使用します。

キー アルゴリズム:RSA
キー サイズ:2048
署名アルゴリズム:SHA1withRSA
サブジェクト名:cn=$user.username

6. [Subject alternative names]の表に新しいエントリを追加するには、[Add]をクリックします。 別名の種類を選択して、2つ目の列に値を入力します。

          クライアント証明書認証では、次のように指定します。

種類:ユーザープリンシパル名
:$user.userprincipalname 

注:サブジェクト名と同様に、値フィールドでXenMobileマクロを使用できます。 

7. [Next]をクリックします。

[Credential Providers: Distribution]ページが開きます。

8. [Credential Providers: Distribution]ページで、以下を行います。  

  • [Issuing CA certificate]の一覧から、提供されたCA証明書を選択します。   資格情報プロバイダーは随意CAエンティティを使用するため、資格情報プロバイダーのCA証明書は常にエンティティそのものに構成されているCA証明書になります。ここでは外部エンティティを使用する構成との整合性のために示されます。
  • [Select distribution mode]で、次のいずれかのキーの生成および配布方法をクリックします。 
    • Prefer centralized: Server-side key generation。 この集中管理オプションをお勧めします。 このオプションはXenMobileでサポートされるすべてのプラットフォームをサポートし、NetScaler Gateway認証を使用する場合は必須です。 サーバー上で秘密キーが生成および保存され、ユーザーデバイスに配布されます。
    • Prefer distributed: Device-side key generation。 ユーザーデバイス上で秘密キーが生成および保存されます。 この分散モードはSCEPを使用し、keyUsage keyEncryptionによるRA暗号化証明書とKeyUsage digitalSignatureによるRA署名証明書が必要です。   暗号化と署名で同じ証明書を使用できます。
    • Only distributed: Device-side key generation。 このオプションは[Prefer distributed: Device-side key generation]と同じように動作しますが、「Prefer」ではなく「Only」であるため、デバイス側でのキー生成が失敗した場合または使用できない場合にはオプションを使用できない点が異なります。 

[Prefer distributed: Device-side key generation]または[Only distributed: Device-side key generation]を選択した場合は、[RA signing certificate]の一覧からRA署名証明書を選択し、[RA encryption certificate]の一覧からRA暗号化証明書を選択します。 両方に同じ証明書を使用できます。 これらの証明書のための新しいフィールドが表示されます。

9.[Next]をクリックします。

[Credential Providers: Revocation XenMobile]ページが開きます。 このページで、XenMobileがこのプロバイダー構成により発行された証明書に内部で失効のフラグを設定する条件を構成します。

12. [Credential Providers: Revocation XenMobile]ページで、以下を行います。

  • [Revoke issued certificates]で、証明書がいつ失効するかを示すいずれかのオプションを選択します。
  • 証明書が失効したときにXenMobileから通知を送信する場合は、[Send notification]の値を[On]に設定して、通知テンプレートを選択します。
  • XenMobileで証明書が失効したときに、PKIでも証明書を失効させる場合は、[Revoke certificate on PKI][On]に設定し、[Entity]の一覧からテンプレートを選択します。 [Entity]の一覧には、失効機能で使用できるすべてのGPKIエンティティが表示されます。 XenMobileで証明書が失効すると、[Entity]の一覧から選択したPKIに、失効呼び出しが送信されます。

13.[Next]をクリックします。

[Credential Providers: Revocation PKI]ページが開きます。 このページで、証明書が失効したときにPKIで行うアクションを特定します。 また、通知メッセージを作成するオプションもあります。

14. PKIで証明書を失効させる場合は、[Credential Providers: Revocation PKI]ページで以下を行います。

  • [Enable external revocation checks]の設定を[On]に変更します。 失効PKIに関連する追加のフィールドが表示されます。
  • [OCSP responder CA certificate]の一覧から、 証明書のサブジェクトの 識別名(Distinguished Name:DN)を選択します。 注:DNフィールドの値には、XenMobileマクロを使用できます。 例:CN=${user.username}, OU=${user.department}, O=${user.companyname}, C=${user.c}\endquotation
  • [When certificate is revoked]の一覧から、証明書が失効したときにPKIエンティティで行う次のいずれかのアクションを選択します。

Do nothing(何もしない)

Renew the certificate(明書を更新する)

Revoke and wipe the device(デバイスを取り消してワイプする)

  • 証明書が失効したときにXenMobileから通知を送信する場合は、[Send notification]の値を[On]に設定します。

2つの通知オプションから選択できます。

  • [Select notification template]を選択した場合は、カスタマイズ可能な事前作成済み通知メッセージを選択できます。 これらのテンプレートは、[Notification template]の一覧にあります。
  • [Enter notification details]を選択した場合は、独自の通知メッセージを作成できます。 受信者のメールアドレスやメッセージの指定のほかに、通知が送信される頻度を設定できます。

15.[Next]をクリックします。

[Credential Providers: Renewal]ページが開きます。 このページで、XenMobileを構成して次のことを実行できます。

  • 証明書の更新、(オプション)証明書更新時の通知の送信(更新に関する通知)、および(オプション)既に期限が切れた証明書の操作からの除外
  • 期限が近い証明書に関する通知の発行(更新前の通知)

16. 証明書が失効したら更新する場合は、[Credential Providers: Renewal]ページ で、 [Renew certificates when they expire][On]に設定します。

追加のフィールドが表示されます。

  • [Renew when the certificate comes within]フィールドに、 期限の 何日前に更新を行うかを入力します。
  • 任意で、[Do note renew certificates that have already expired](既に期限が切れている証明書を更新しない)チェックボックスをオンにします。 注:この場合の「already expired(既に期限が切れている)」とは、証明書のNotAfterが過去の日付であることを意味し、証明書が失効しているという意味ではありません。 XenMobileでは、内部で失効した証明書は更新されません。

17. 証明書が更新されたときにXenMobileから通知を送信する場合は、[Send notification][On]に設定します。 2つの通知オプションから選択できます。

  • [Select notification template]を選択した場合は、カスタマイズ可能な事前作成済み通知メッセージを選択できます。 これらのテンプレートは、[Notification template]の一覧にあります。
  • [Enter notification details]を選択した場合は、独自の通知メッセージを作成できます。 受信者のメールアドレスやメッセージの指定のほかに、通知が送信される頻度を設定できます。

18. 証明書の期限が近いときにXenMobileから通知を送信する場合は、[Notify when certificate nears expiration][On]に設定します。 2つの通知オプションから選択できます。

  • [Select notification template]を選択した場合は、カスタマイズ可能な事前作成済み通知メッセージを選択できます。 これらのテンプレートは、[Notification template]の一覧にあります。
  • [Enter notification details]を選択した場合は、独自の通知メッセージを作成できます。 受信者のメールアドレスやメッセージの指定のほかに、通知が送信される頻度を設定できます。

19. [Notify when the certificate comes within]フィールドで、証明書の期限の何日前に通知を送信するかを入力します。

20. [Save]をクリックします。

資格情報プロバイダーが[Credential Provider]の表に追加されます。