用語と概念 - AWS Private Certificate Authority

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

用語と概念

次の用語と概念は、AWS Private Certificate Authority (AWS Private CA) で作業する際に役立ちます。

信頼

ウェブブラウザがウェブサイトのアイデンティティを信頼するために、ウェブサイトの証明書がブラウザによって検証できる必要があります。しかし、ブラウザは CA ルート証明書と呼ばれるほんのわずかな証明書のみを信頼します。認証機関 (CA) と呼ばれる信頼されるサードパーティは、ウェブサイトのアイデンティティを検証し、ウェブサイト運営者に署名されたデジタル証明書を発行します。こうしてブラウザはデジタル署名を確認して、ウェブサイトのアイデンティティを検証します。検証に成功した場合は、ブラウザのアドレスバーにロックアイコンが表示されます。

TLS サーバー証明書

HTTPS トランザクションは、サーバーを認証するためにサーバー証明書を要求します。サーバー証明書とは、証明書のパブリックキーを証明書の件名にバインドする X.509 v3 データ構造です。TLS 証明書は、認証機関 (CA) によって署名されています。これには、サーバーの名前、有効期間、パブリックキー、署名アルゴリズムなどが含まれます。

証明書の署名

デジタル署名は、証明書上の暗号化されたハッシュです。署名は、証明書データの整合性を確認するために使用します。プライベート CA は、可変サイズの証明書コンテンツに SHA256 などの暗号化ハッシュ関数を使用して署名を作成します。このハッシュ関数は、効果的に偽造不可能な固定サイズのデータ文字列を生成します。この文字列はハッシュと呼ばれます。次に CA は、プライベートキーを使用してハッシュ値を暗号化し、暗号化したハッシュを証明書に連結します。

認証局

認証機関 (CA) は、デジタル証明書を発行し、必要に応じて、取り消します。最も一般的なタイプの証明書は ISO X.509 規格に基づくものです。X.509 証明書は、証明書のサブジェクトのアイデンティティを確認し、そのアイデンティティをパブリックキーにバインドします。サブジェクトは、ユーザー、アプリケーション、コンピュータ、またはその他のデバイスです。CA は証明書に署名するために、コンテンツをハッシュし、そのハッシュを証明書のパブリックキーに関連するプライベートキーで暗号化します。サブジェクトのアイデンティティを確認する必要があるクライアントアプリケーション (ウェブブラウザなど) は、パブリックキーを使用して証明書の署名を復号します。次に証明書のコンテンツをハッシュし、ハッシュした値と復号した署名を比較して一致するかどうかを確認します。証明書の署名の詳細については、「証明書の署名」を参照してください。

AWS Private CA を使用してプライベート CA を作成し、このプライベート CA を使用して証明書を発行できます。プライベート CA は、組織内で使用するプライベート SSL/TLS 証明書のみを発行します。詳細については、「プライベート証明書」を参照してください。プライベート CA を使用するには、事前に証明書が必要です。詳細については、「CA 証明書」を参照してください。

ルート CA

ルート CA とは暗号構築ブロックで、証明書を発行できる信頼のルートのことです。証明書に署名 (発行) するためのプライベートキーと、ルート CA を識別し、プライベートキーを CA 名にバインドするルート証明書で構成されています。ルート証明書は、環境内の各エンティティの信頼ストアに配布されます。管理者は、信頼する CA のみを含めるように信頼ストアを構築します。管理者は、信頼ストアをオペレーティングシステム、インスタンス、および環境内のエンティティのホストマシンイメージに更新または構築します。リソースが互いに接続しようとシた場合、各エンティティが提示する証明書を確認します。クライアントは、証明書の有効性、および証明書から信頼ストアにインストールされているルート証明書へのチェーンが存在するかどうかを確認します。これらの条件が満たされると、リソース間で「ハンドシェイク」が実行されます。このハンドシェイクは、各エンティティのアイデンティティを暗号的に証明し、それらの間に暗号化された通信チャネル (TLS/SSL) を作成します。

CA 証明書

認証機関 (CA) 証明書では、CA のアイデンティティを確認し、これを証明書内のパブリックキーにバインドします。

AWS Private CA を使用して、プライベートルート CA またはプライベート下位 CA を作成し、それぞれが CA 証明書によって裏付けられます。下位 CA 証明書は、信頼のチェーンの上位の別の CA 証明書によって署名されます。ただし、ルート CA の場合、証明書は自己署名です。また、外部ルート権限 (オンプレミスでホストされているなど) を確立することもできます。その後、ルート権限を使用して、AWS Private CA によってホストされる下位ルート CA 証明書に署名できます。

次の例では、AWS Private CA X.509 CA 証明書内の一般的なフィールドを示します。CA 証明書の場合、CA: フィールドの Basic Constraints 値は TRUE に設定します。

Certificate: Data: Version: 3 (0x2) Serial Number: 4121 (0x1019) Signature Algorithm: sha256WithRSAEncryption Issuer: C=US, ST=Washington, L=Seattle, O=Example Company Root CA, OU=Corp, CN=www.example.com/emailAddress=corp@www.example.com Validity Not Before: Feb 26 20:27:56 2018 GMT Not After : Feb 24 20:27:56 2028 GMT Subject: C=US, ST=WA, L=Seattle, O=Examples Company Subordinate CA, OU=Corporate Office, CN=www.example.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:c0: ... a3:4a:51 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Subject Key Identifier: F8:84:EE:37:21:F2:5E:0B:6C:40:C2:9D:C6:FE:7E:49:53:67:34:D9 X509v3 Authority Key Identifier: keyid:0D:CE:76:F2:E3:3B:93:2D:36:05:41:41:16:36:C8:82:BC:CB:F8:A0 X509v3 Basic Constraints: critical CA:TRUE X509v3 Key Usage: critical Digital Signature, CRL Sign Signature Algorithm: sha256WithRSAEncryption 6:bb:94: ... 80:d8

ルート CA 証明書

認証機関 (CA) は通常、相互の親子関係を明確に定義した他の複数の CA を含む段階構造内に存在します。子または下位の CA はその親 CA に証明され、証明書チェーンを造り上げます。階層の最上部にある CA はルート CA とされ、その証明書はルート証明書と呼ばれます。この証明書は通常、自己署名されています。

エンドエンティティ証明書

エンドエンティティ証明書は、サーバー、インスタンス、コンテナ、デバイスなどのリソースを識別します。CA 証明書とは異なり、エンドエンティティ証明書は証明書の発行に使用できません。エンドエンティティ証明書のその他の一般的な用語は、「クライアント」証明書または「リーフ」証明書です。

自己署名証明書

上位の CA ではなく、発行者によって署名された証明書。CA が維持する安全なルートから発行された証明書とは異なり、自己署名証明書は自身のルートで動作するため、大きな制限があります。自己署名証明書はワイヤー暗号化での提供には使用できるものの、アイデンティティの確認はできず、取り消しもできません。セキュリティの観点からは受け入れられません。しかし、生成が容易で、専門知識やインフラストラクチャを必要とせず、多くのアプリケーションがそれらを受け入れるために、組織により使用されます。自己署名証明書の発行には、何の制御もありません。有効期限の日付を確認する方法が無いため、これを使う組織は、証明書の有効期限切れによって使用不能に陥るリスクが大きくなります。

プライベート証明書

AWS Private CA 証明書は、組織内で使用できるプライベート SSL/TLS 証明書ですが、パブリックインターネットでは信頼されません。これらの証明書を使用して、クライアント、サーバー、アプリケーション、サービス、デバイス、ユーザーなどのリソースを識別します。安全な暗号化された通信チャネルを確立する場合、各リソースは次のような証明書と暗号化手法を使用してそのアイデンティティを別のリソースに対して証明します。内部の API エンドポイント、ウェブサーバー、VPN ユーザー、IoT デバイス、およびその他多くのアプリケーションでは、プライベート証明書を使用して、安全なオペレーションに必要な暗号化された通信チャネルを確立します。デフォルトでは、プライベート証明書はパブリックに信頼されません。内部管理者は、プライベート証明書を信頼するように明示的にアプリケーションを設定し、証明書を配布する必要があります。

Certificate: Data: Version: 3 (0x2) Serial Number: e8:cb:d2:be:db:12:23:29:f9:77:06:bc:fe:c9:90:f8 Signature Algorithm: sha256WithRSAEncryption Issuer: C=US, ST=WA, L=Seattle, O=Example Company CA, OU=Corporate, CN=www.example.com Validity Not Before: Feb 26 18:39:57 2018 GMT Not After : Feb 26 19:39:57 2019 GMT Subject: C=US, ST=Washington, L=Seattle, O=Example Company, OU=Sales, CN=www.example.com/emailAddress=sales@example.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00...c7 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE X509v3 Authority Key Identifier: keyid:AA:6E:C1:8A:EC:2F:8F:21:BC:BE:80:3D:C5:65:93:79:99:E7:71:65 X509v3 Subject Key Identifier: C6:6B:3C:6F:0A:49:9E:CC:4B:80:B2:8A:AB:81:22:AB:89:A8:DA:19 X509v3 Key Usage: critical Digital Signature, Key Encipherment X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication X509v3 CRL Distribution Points: Full Name: URI:http://NA/crl/12345678-1234-1234-1234-123456789012.crl Signature Algorithm: sha256WithRSAEncryption 58:32:...:53

証明書のパス

証明書に依存するクライアントは、可能であれば中間証明書のチェーンを通して、エンドエンティティ証明書から信頼されたルートへのパスが存在することを検証します。クライアントは、パス上の各証明書が有効である (失効していない) ことを確認します。また、エンドエンティティ証明書の有効期限が切れていない、整合性 (改ざんまたは変更されていない)、証明書の制約が適用されているかどうかも確認します。

パスの長さの制約

CA 証明書pathLenConstraintの基本的な制約は、その下のチェーンに存在する可能性のある下位 CA 証明書の数を設定します。たとえば、パスの長さの制約が 0 の CA 証明書は、下位 CA を持つことはできません パス長の制約が 1 の CA は、その下に最大 1 つのレベルの下位 CA を持つことができます。RFC 5280 では、これを「有効な証明書パスでこの non-self-issued 証明書に続く中間証明書の最大数」と定義しています。パスの長さの値にはエンドエンティティ証明書は含まれていませんが、検証チェーンの「長さ」や「深さ」に関する非公式な表現には含まれている場合があり、混乱を招きます。