Skip to main content

ACME(Automated Certificate Management Environment)プロトコル

RFC 8555 で定義されている ACME(Automated Certificate Management Environment)プロトコルは、証明書の発行と管理プロセスを自動化するプロトコルとして広く使われています。証明書ライフサイクル運用における手作業の必要性がなくなるため、IoT デバイスやクラウドサービスなど、自動化された環境に適しています。

ACME は、主に証明書の自動プロビジョニング、更新、失効を必要とする公開鍵基盤(PKI)のデプロイメント向けに設計されています。したがってクライアントは、標準化された安全な自動プロセスを使用して、認証局(CA)とできます。

重要

DigiCert® Device Trust Manager は ACME を使用して、プライベートのトラストルート CA に接続された CA から証明書を発行します。そのため、Device Trust Manager は ACME プロトコルのドメイン認証部分を実装していません。ドメイン認証が必要になるのは、パブリックに信頼された CA によって証明書が発行されるときです。ただし、Device Trust Manager はドメイン認証が不要なプライベート PKI デプロイメントに使用されるため、この手順は省略されます。

ACME の特性の定義

  • 証明書発行が自動化: ACME は、証明書の要求と取得のプロセスを自動化し、手作業の必要性を低減します。

  • チャレンジベースの認可: プロトコルは通常、チャレンジを使用してドメインの制御を検証します。ドメイン認証は、プライベートトラスト CA から証明書を発行する際には必要ないため、Device Trust Manager には実装されていません。

  • 証明書の更新が自動化: ACME では、証明書の有効期限が切れる前にクライアントが証明書を自動更新できるため、中断のないセキュリティを確保できます。

  • RESTful API 通信: ACME は HTTPS で動作し、クライアントと CA の間の構造化された通信に JSON ベースのメッセージを使用します。

  • 暗号的な制御証明: クライアント証明書は、証明書リクエストに関連する秘密鍵の所有権を証明するために、暗号署名を使用します。

Device Trust Manager における ACME のユースケース

  • IoT デバイスの ID 管理: コネクテッドデバイスの証明書をセキュアにプロビジョニングおよび管理して、信頼を確立します。

  • エンタープライズ PKI のデプロイメント: プライベート CA 階層構造を利用した組織内での証明書発行を自動化します。

  • クラウドサービスの認証: クラウドベースのサービスで、人手を介さずに証明書を取得して管理できるようになります。

  • DevOps と CI/CD のパイプライン: セキュアなアプリケーションデプロイメントのために証明書プロビジョニングを自動化します。

Device Trust Manager での ACME の動作

  1. 認証ハンドシェイク

    1. Device Trust Manager が HMAC と鍵 ID を生成します。

    2. HMAC と鍵 ID が、ACME クライアント設定に入力されます。

    3. ACME クライアントが鍵ペアを生成します。

    4. ACME クライアントが ACME サービスに接続し、HMAC と鍵 ID を使用して公開鍵を ACME サービスに渡します。

  2. 証明書のリクエストと発行

    1. クライアントが、ACME を通じて証明書署名要求(CSR)を CA に提出します。

    2. CA がリクエストを処理し、すべてのリクエストが満たされると証明書を発行します。

      注記

      Device Trust Manager のプライベートトラスト CA には、ドメイン認証は必要ありません。

  3. 証明書の更新

    1. 有効期限が切れる前に、ACME クライアントは自動的に更新をリクエストします。

    2. CA がリクエストを検証し、新しい証明書を発行します。

  4. 証明書の失効

    1. ACME クライアントは、鍵の危殆化や廃止が発生した場合、証明書の失効を要求できます。

    2. CA は失効要求を処理し、証明書ステータスを更新します。

課題と考慮事項

  • プライベート CA のトラストモデル: Device Trust Manager の ACME は、PKI のプライベートデプロイメント用に設計されています。つまり、明示的にトラストストアに追加されない限り、パブリックブラウザや OS では証明書が信頼されないということです。

  • ドメイン認証が不要: パブリックの ACME 実装(たとえば、自動化された無償のオープンな認証局である Let's Encrypt)とは異なり、Device Trust Manager はドメインの検証を必要としないため、IoT およびエンタープライズ環境での証明書発行プロセスが簡素化されます。

  • 自動化に対応: 組織は、インフラストラクチャが ACME による証明書の自動発行および更新をサポートしていることを確認する必要があります。

  • セキュリティ上のベストプラクティス: 不正な証明書リクエストを防ぐために、適切な鍵管理、アクセス制御、モニターを実施する必要があります。

まとめ

ACME は、証明書管理に自動化された合理的なアプローチを提供するため、デバイス ID のプロビジョニングや企業の PKI 自動化にきわめて有用です。

Device Trust Manager の ACME 実装は、プライベートトラスト CA の発行に重点を置いており、セキュリティと効率性を維持しながら、ドメイン認証の必要性を排除しています。ACME を活用することで、組織はセキュリティを強化し、運用上のオーバーヘッドを削減しながら、継続的な証明書の可用性を確保できます。