Skip to content

SCEP 証明書登録

SCEP とは

SCEP(Simple Certificate Enrollment Protocol)は、自動化された証明書の発行と管理のための標準化されたプロトコルです。これにより、デバイスは手動操作なしで認証局(CA)からデジタル証明書を要求、受信、更新できます。SCEP は RFC 8894 で定義されており、Apple の MDM プロトコルを含む、モバイルデバイス管理プラットフォーム全体で広くサポートされています。

SCEP リクエストは次のように動作します:

  1. デバイスがローカルで公開鍵と秘密鍵のペアを生成します
  2. デバイスが証明書署名要求(CSR)をワンタイムチャレンジとともに SCEP サーバーに送信します
  3. SCEP サーバーがチャレンジを検証し、証明書に署名します
  4. デバイスが署名済み証明書を受信し、デバイスのキーチェーンに保存します
  5. 証明書は TLS クライアント認証と本人確認に使用されます

SCEP が使用される理由

各デバイスへの手動による証明書インストールは、数台を超えると拡張性がありません。SCEP は以下を提供することでこの問題を解決します:

  • 自動発行 — デバイスは登録フローの一部として証明書を要求するため、管理者が個別の証明書を生成または配布する必要はありません
  • デバイス ID — 各デバイスはその ID に紐づいた一意の証明書を受け取り、MDM サーバーがその後のチェックイン時にデバイスを認証できるようにします
  • 信頼チェーン — 発行された証明書は信頼されたルートにチェーンされるため、MDM サーバーやその他のエンタープライズサービスは暗号的にデバイスの ID を検証できます
  • 拡張性 — SCEP は数十台から数十万台まで、あらゆる規模のデバイスフリートを、デバイスごとの手作業なしで処理します

SCEP がなければ、すべてのデバイスに手作業で証明書をインストールする必要があり、数台以上のデバイスを持つ組織には非現実的です。

GuardMDM が登録時に SCEP をどのように使用するか

GuardMDM は SCEP を登録フローに自動的に統合します。デバイスが登録する際:

  1. デバイスに配信される MDM プロファイルに SCEP ペイロードが含まれます
  2. デバイスが鍵ペアを生成し、GuardMDM の SCEP エンドポイントに CSR を送信します
  3. GuardMDM が登録チャレンジを検証し、内部 CA に証明書を要求します
  4. 署名済み証明書がデバイスに返され、キーチェーンに保存されます
  5. デバイスは以降のすべての MDM コマンドとチェックインにこの証明書を使用します

この証明書はデバイスの ID 資格情報として機能します。GuardMDM からデバイスへのすべての MDM コマンド、およびデバイスから GuardMDM へのすべてのチェックインは、この証明書を使用して認証されます。これにより、共有シークレットやデバイスごとのパスワードが不要になります。

証明書のライフサイクルと更新

SCEP を介して発行された証明書には有限の有効期間があります。GuardMDM は完全なライフサイクルを処理します:

フェーズ説明
発行登録時に設定可能な有効期間で証明書が作成されます
有効デバイスが MDM 認証に証明書を使用します。GuardMDM は有効期限を監視します。
更新有効期限前に、GuardMDM が SCEP 更新をトリガーします。デバイスは新しい鍵ペアを生成し、新しい証明書を要求します。
失効デバイスが登録解除されたり、紛失としてマークされた場合、GuardMDM はその証明書を失効させ、認証できなくします。

更新は自動的かつ透過的に行われます。GuardMDM は証明書の有効期限が近づくと更新を開始し、デバイスは同じ SCEP フローを通じて再登録します。ユーザーの操作は必要ありません。

SCEP は自動で動作します

GuardMDM は登録時に SCEP を自動的に設定します。以下の作業は不要です:

  • SCEP サーバーのセットアップや管理
  • SCEP URL やチャレンジの手動設定
  • デバイスへのルート証明書の配布
  • 証明書の有効期限の追跡

組み込み CA が、標準の登録ワークフローの一部として発行、更新、失効を処理します。デバイスは管理者やエンドユーザーによる手動設定なしで ID 証明書を受け取ります。

外部 CA との統合が必要な組織向けに、GuardMDM は Enrollment > SCEP 設定からカスタム SCEP 設定をサポートしています。ただし、ほとんどの導入では、デフォルトの自動設定で十分です。

MIT ライセンスの下で公開