資格情報プロバイダー
資格情報プロバイダーは、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で証明書失効が発生する場合があります。
- リニューアル設定。特定の資格プロバイダーを通して取得された証明書は、有効期限が近づくと自動的に更新されます。または、そのような状況とは別に、有効期限が近づくと通知を出すこともできます。
任意エンティティの発行方法は常に署名です。
証明書の発行方法
証明書は署名による発行方法で取得できます。
この方法では、新しい秘密キーを作成し、CSRを作成してCA(Certificate Authority:証明機関)に送信し、署名してもらいます。XenMobileでは、MS証明書サービスエンティティおよび随意CAエンティティの両方の署名方法がサポートされています。
資格情報プロバイダーは署名の発行方法を使用します。
証明書の配信
XenMobileでの証明書の配信には、集中と分散の2つのモードがあります。分散モードはSCEP(Simple Certificate Enrollment Protocol)を使い、クライアントがこのプロトコルをサポートする状況でのみ使用できます(iOSのみ)。場合によっては分散モードが必須となります。
資格情報プロバイダーで分散(SCEPを使用した)配信をサポートするには、特別な構成手順として、RA(Registration Authority:登録機関)証明書の設定が必要です。RA証明書が必要なのは、SCEPプロトコルを使用する場合、XenMobileが実際の証明機関に対する代理(登録機関)と同様に機能するためです。XenMobileは、そのように行動する権限を持っていることをクライアントに証明する必要があります。その権限は、XenMobileに前述の証明書をアップロードすることにより確立されます。
RA署名とRA暗号化の2つの異なる証明書の役割が必要です(1つの証明書で両方の要件を満たすことができます)。これらの役割には以下の制約があります。
- RA署名証明書には、X.509キー使用法デジタル署名が必要です。
- RA暗号化証明書には、X.509キー使用法キーの暗号化が必要です。
資格情報プロバイダーのRA証明書を構成するには、それらの証明書をXenMobileにアップロードし、資格情報プロバイダーでそれらの証明書にリンクします。
資格情報プロバイダーに証明書の役割について構成されている証明書がある場合、分散配信のみをサポートするとみなされます。各資格情報プロバイダーは、集中モードを優先するか、分散モードを優先するか、または分散モードを必須とするように構成できます。実際の結果はコンテキストに応じて異なります。コンテキストが分散モードをサポートしないにもかかわらず、資格情報プロバイダーに分散モードが必要な場合、展開は失敗します。同様に、コンテキストに分散モードが必要な場合でも、資格情報プロバイダーが分散モードをサポートしていなければ、展開は失敗します。ほかのすべての場合、優先設定が適用されます。
次の表は、XenMobile全体におけるSCEP分散を示しています。
コンテキスト | SCEPのサポート | SCEPの必要 |
---|---|---|
iOSプロファイルサービス | はい | はい |
iOSモバイルデバイス管理登録 | はい | いいえ |
iOS構成プロファイル | はい | いいえ |
SHTP登録 | いいえ | いいえ |
SHTPの構成 | いいえ | いいえ |
Windowsタブレットの登録 | いいえ | いいえ |
Windowsタブレットの構成 | いいえ。ただし、Windows 10およびWindows 11でサポートされるWi-Fiデバイスポリシーを除く。 | いいえ |
証明書の失効
失効には以下の3つの種類があります。
- 内部失効: XenMobileで維持されている証明書の状態に影響します。XenMobileは、提示された証明書を評価するとき、または証明書のOCSPステータス情報を提供するときに、このステータスを考慮します。資格情報プロバイダー構成により、さまざまな条件下でこの状態がどのように影響を受けるかが決まります。たとえば、資格情報プロバイダーは、証明書がデバイスから削除されたときに失効済みのフラグを立てるよう指定する場合があります。
- 外部に伝達される失効: 失効XenMobileとも呼ばれるこの種類の失効は、外部のPKIから取得した証明書に適用されます。資格情報プロバイダー構成で定義された条件下で、XenMobileで証明書が内部失効すると、その証明書はPKIでも失効します。
- 外部で誘導される失効: 失効PKIとも呼ばれるこの種類の失効も、外部のPKIから取得した証明書のみに適用されます。XenMobileで特定の証明書の状態が評価されるたびに、その状態についてPKIに照会されます。PKIで証明書が失効している場合、XenMobileで証明書が内部失効します。このメカニズムではOCSPプロトコルが使用されます。
これらの3つのタイプは排他的ではなく、むしろ同時に適用されます。外部失効または個別の調査により、内部失効が発生する場合もあります。内部失効は、外部失効に影響する可能性があります。
証明書の書き換え
証明書の書き換えとは、既存の証明書の失効と別の証明書の発行を両方行うことです。
XenMobileでは、発行が失敗した場合にサービスが中断されないように、以前の証明書が失効する前にまず新しい証明書の取得を試行します。分散型(SCEP対応)配信の場合、証明書がデバイスに正常にインストールされた後にのみ失効が行われます。それ以外の場合は、新しい証明書がデバイスに送信される前に失効が発生します。そのような失効は、証明書のインストールの成功や失敗とは無関係です。
失効の構成では、特定の期間を日単位で指定する必要があります。デバイスが接続されると、証明書のNotAfter
の日付からこの指定した期間を引いて、現在の日付より後になっているかどうかがサーバーによって検証されます。証明書がこの条件を満たしている場合、XenMobileは証明書の更新を試行します。
資格情報プロバイダーの作成
資格情報プロバイダーの構成は、主に、資格情報プロバイダーに対して選択した発行エンティティや発行方法により異なります。内部エンティティを使用する資格情報プロバイダーと外部エンティティを使用する資格情報プロバイダーを区別できます。
-
XenMobileに対して内部である随意エンティティは、内部エンティティです。任意エンティティの発行方法は常に署名です。署名とは、各発行操作で、XenMobileがエンティティに対して選択されたCA証明書で新しいキーペアに署名する方法です。キーペアがデバイスまたはサーバーのどちらで生成されるかは、選択した分散方法によって異なります。
-
企業インフラストラクチャの一部である外部エンティティには、Microsoft CAが含まれます。
-
XenMobileコンソールで、右上の歯車アイコンをクリックした後、[設定]の[資格情報プロバイダー] をクリックします。
-
[資格情報プロバイダー] ページで、[追加] をクリックします。
[資格情報プロバイダー: 一般情報] ページが開きます。
-
[資格情報プロバイダー: 一般情報] ページで、以下を指定します:
- 名前: 新しいプロバイダー構成の一意の名前を入力します。この名前はXenMobileコンソールのほかの部分で構成を特定するために後で使用されます。
- 説明: 資格情報プロバイダーの説明です。このフィールドはオプションですが、この資格情報プロバイダーの詳細が必要なときに説明が役立ちます。
- 発行エンティティ: 証明書発行エンティティを選択します。
- 発行方式: [署名] または [取得] をクリックして、構成されたエンティティから証明書を取得するために使用する方法を選択します。クライアント証明書認証の場合は、[署名]を使用します。
-
テンプレート一覧が使用できる場合は、資格情報プロバイダーのPKIエンティティで追加したテンプレートを選択します。
これらのテンプレートは、[設定]、[PKIエンティティ] の順にクリックすると開くページで、Microsoft証明書サービスエンティティが追加されている場合に使用可能になります。
-
[次へ] をクリックします。
[資格情報プロバイダー: 証明書署名要求] ページが表示されます。
-
[資格情報プロバイダー:証明書署名要求] ページで、 証明書の構成に応じて以下を構成します:
-
キーアルゴリズム: 新しいキーペアのキーアルゴリズムを選択します。使用可能な値は [RSA]、[DSA]、および [ECDSA] です。
-
キーサイズ: キーペアのサイズ(ビット単位)を入力します。このフィールドは必須です。
許容値はキータイプによって異なります。たとえば、DSAキーの最大サイズは1024ビットです。基になるハードウェアおよびソフトウェアに依存する偽陰性を回避するため、XenMobileではキーサイズが強制されません。資格情報プロバイダーの構成を実稼働環境でアクティブにする前に、必ずテスト環境でテストしてください。
-
署名アルゴリズム: 新しい証明書の値を選択します。値はキーアルゴリズムによって異なります。
-
サブジェクト名: 必須です。新しい証明書のサブジェクトの識別名(Distinguished Name:DN)を入力します。たとえば、次のようになります:
CN=${user.username}, OU=${user.department}, O=${user.companyname},C=${user.c}\endquotation
たとえば、クライアント証明書認証には次の設定を使用します。
- キーアルゴリズム: RSA
- キーサイズ: 2048
- 署名アルゴリズム: SHA256withRSA
-
サブジェクト名:
cn=$user.username
-
[サブジェクトの別名] の表に新しいエントリを追加するには、[追加] をクリックします。別名の種類を選択して、2つ目の列に値を入力します。
クライアント証明書認証では、次のように指定します:
- 種類: ユーザープリンシパル名
-
値:
$user.userprincipalname
サブジェクト名と同様に、値フィールドでXenMobileマクロを使用できます。
-
-
[次へ] をクリックします。
[資格情報プロバイダー:ディストリビューション] ページが開きます。
-
[資格情報プロバイダー:ディストリビューション] ページで、以下を行います:
- [発行CA証明書] の一覧から、提供されたCA証明書を選択します。資格情報プロバイダーは任意CAエンティティを使用するため、資格情報プロバイダーのCA証明書は常にエンティティそのものに構成されているCA証明書になります。ここでは、外部エンティティを使用する構成との整合性のためにCA証明書を示します。
-
[ディストリビューションモードの選択] で、キーを生成し、配布する方法として以下のいずれかの方法をクリックします:
- 集中を優先:サーバー側のキー生成: Citrixではこの集中オプションを推奨しています。このオプションはXenMobileでサポートされるすべてのプラットフォームをサポートし、Citrix Gateway認証を使用する場合は必須です。サーバー上で秘密キーが生成および保存され、ユーザーデバイスに配布されます。
- 分散を優先:デバイス側のキー生成: 秘密キーはユーザーデバイス上で生成され、保存されます。この分散モードはSCEPを使用し、keyUsage keyEncryptionによるRA暗号化証明書とKeyUsage digitalSignatureによるRA署名証明書が必要です。暗号化と署名で同じ証明書を使用できます。
- 分散のみ:デバイス側のキー生成: このオプションは[分散を優先: デバイス側のキー生成]と同じように動作しますが、「優先」ではなく「のみ」であるため、デバイス側でのキー生成が失敗した場合、または使用できない場合にはオプションを使用できない点が異なります。
[優先分散: デバイス側のキー生成] または [分散のみ: デバイス側のキー生成] を選択した場合は、[RA署名証明]の一覧からRA署名証明書を選択し、[RA暗号化証明書]の一覧からRA暗号化証明書を選択します。両方に同じ証明書を使用できます。これらの証明書のための新しいフィールドが表示されます。
-
[次へ] をクリックします。
[資格情報プロバイダー:失効XenMobile] ページが開きます。このページで、XenMobileがこのプロバイダー構成により発行された証明書に内部で失効のフラグを設定する条件を構成します。
-
[資格情報プロバイダー:失効XenMobile] ページで、以下を行います。
- [発行された証明書の失効] で、証明書がいつ失効するかを示すいずれかのオプションを選択します。
-
証明書が失効したときにXenMobileから通知を送信する場合は、[通知の送信] の値を [オン] に設定して、通知テンプレートを選択します。
- XenMobileで証明書が失効したときに、PKIでも証明書を失効させる場合:[PKI 上の証明書の失効] を [オン] に設定し、[エンティティ一覧] からテンプレートを選択します。エンティティ一覧には、失効機能で使用できるすべてのエンティティが表示されます。XenMobileで証明書が失効すると、エンティティ一覧から選択したPKIに、失効呼び出しが送信されます。
-
[次へ] をクリックします。
[資格情報プロバイダー:失効PKI] ページが開きます。このページで、証明書が失効したときにPKIで行うアクションを特定します。また、通知メッセージを作成するオプションもあります。
-
PKIで証明書を失効させる場合、[資格情報プロバイダー:失効PKI] ページで以下を行います。
- [外部失効チェックの有効化] の設定を [オン] に変更します。失効PKIに関連する詳細フィールドが表示されます。
-
[OCSPレスポンダーCA証明書] の一覧から、証明書のサブジェクトの識別名(Distinguished Name:DN)を選択します。
DNフィールドの値には、XenMobileマクロを使用できます。たとえば、次のようになります:
CN=${user.username}, OU=${user.department}, O=${user.companyname}, C=${user.c}\endquotation
-
[証明書が失効した場合] の一覧から、証明書が失効したときにPKIエンティティで行う次のいずれかのアクションを選択します。
- 何もしない。
- 証明書の書き換え。
- デバイスの失効とワイプ。
-
証明書が失効したときにXenMobileから通知を送信する場合:[通知の送信] の値を [オン] に設定します。
2つの通知オプションから選択できます。
- [通知テンプレートを選択] を選択した場合は、カスタマイズ可能な事前作成済み通知メッセージを選択できます。これらのテンプレートは、[通知テンプレート]の一覧にあります。
- [通知の詳細を入力] を選択した場合は、独自の通知メッセージを作成できます。受信者のメールアドレスやメッセージの指定のほかに、通知が送信される頻度を設定できます。
-
[次へ] をクリックします。
[資格情報プロバイダー:更新] ページが開きます。このページで、XenMobileを構成して次のことを実行できます。
- 証明書の書き換え。必要に応じて、更新時に通知を送信したり、期限切れの証明書を操作から除外したりすることもできます。
- 期限が近い証明書に関する通知の発行(更新前の通知)。
-
証明書が失効したら更新する場合は、[資格情報プロバイダー:更新] ページで以下を行います:
[有効期限が切れたら証明書を更新] を [オン] に設定します。詳細フィールドが表示されます。
- [更新が必要な有効期限までの日数] フィールドに、期限の何日前に証明書を更新するかを入力します。
- 必要に応じて、[既に有効期限が切れている証明書は更新しない] チェックボックスをオンにします。この場合の「既に有効期限が切れている」とは、
NotAfter
が過去の日付であることを意味し、証明書が失効しているという意味ではありません。XenMobileでは、内部失効した証明書は更新しません。
証明書が更新されたときにXenMobileから通知を送信する場合:[通知の送信] を [オン] に設定します。証明書の期限が近いときにXenMobileから通知を送信する場合:[証明書の有効期限が近づいたら通知] を [オン] に設定します。 どちらの選択肢についても、以下の2つの通知オプションからいずれかを選択できます:
- 通知テンプレートを選択: カスタマイズ可能な事前作成済み通知メッセージを選択できます。これらのテンプレートは、[通知テンプレート]の一覧にあります。
- 通知の詳細を入力: 独自の通知メッセージを作成できます。受信者の電子メールアドレス、メッセージ、および通知の送信頻度を指定します。
[通知が必要な証明書の有効期限までの日数] フィールドで、証明書の期限の何日前に通知を送信するかを入力します。
-
[保存] をクリックします。
[資格情報プロバイダー]の表に資格情報プロバイダーが追加されます。