Planification d'une liste de révocation de certificats (CRL) - AWS Private Certificate Authority

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Planification d'une liste de révocation de certificats (CRL)

Avant de pouvoir configurer une CRL dans le cadre du processus de création de l'autorité de certification, une configuration préalable peut être nécessaire. Cette section explique les prérequis et les options que vous devez comprendre avant de créer une autorité de certification associée à une CRL.

Pour plus d'informations sur l'utilisation du protocole OCSP (Online Certificate Status Protocol) comme alternative ou complément à une CRL, consultez Options de révocation des certificats et. Configuration d'une URL personnalisée pour Autorité de certification privée AWS OCSP

Structure CRL

Chaque liste est un fichier codé DER. Pour télécharger le fichier et utiliser OpenSSL pour l'afficher, utilisez une commande similaire à la suivante :

openssl crl -inform DER -in path-to-crl-file -text -noout

Les listes de révocation de certificats sont au format suivant :

Certificate Revocation List (CRL): Version 2 (0x1) Signature Algorithm: sha256WithRSAEncryption Issuer: /C=US/ST=WA/L=Seattle/O=Example Company CA/OU=Corporate/CN=www.example.com Last Update: Feb 26 19:28:25 2018 GMT Next Update: Feb 26 20:28:25 2019 GMT CRL extensions: 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 CRL Number: 1519676905984 Revoked Certificates: Serial Number: E8CBD2BEDB122329F97706BCFEC990F8 Revocation Date: Feb 26 20:00:36 2018 GMT CRL entry extensions: X509v3 CRL Reason Code: Key Compromise Serial Number: F7D7A3FD88B82C6776483467BBF0B38C Revocation Date: Jan 30 21:21:31 2018 GMT CRL entry extensions: X509v3 CRL Reason Code: Key Compromise Signature Algorithm: sha256WithRSAEncryption 82:9a:40:76:86:a5:f5:4e:1e:43:e2:ea:83:ac:89:07:49:bf: c2:fd:45:7d:15:d0:76:fe:64:ce:7b:3d:bb:4c:a0:6c:4b:4f: 9e:1d:27:f8:69:5e:d1:93:5b:95:da:78:50:6d:a8:59:bb:6f: 49:9b:04:fa:38:f2:fc:4c:0d:97:ac:02:51:26:7d:3e:fe:a6: c6:83:34:b4:84:0b:5d:b1:c4:25:2f:66:0a:2e:30:f6:52:88: e8:d2:05:78:84:09:01:e8:9d:c2:9e:b5:83:bd:8a:3a:e4:94: 62:ed:92:e0:be:ea:d2:59:5b:c7:c3:61:35:dc:a9:98:9d:80: 1c:2a:f7:23:9b:fe:ad:6f:16:7e:22:09:9a:79:8f:44:69:89: 2a:78:ae:92:a4:32:46:8d:76:ee:68:25:63:5c:bd:41:a5:5a: 57:18:d7:71:35:85:5c:cd:20:28:c6:d5:59:88:47:c9:36:44: 53:55:28:4d:6b:f8:6a:00:eb:b4:62:de:15:56:c8:9c:45:d7: 83:83:07:21:84:b4:eb:0b:23:f2:61:dd:95:03:02:df:0d:0f: 97:32:e0:9d:38:de:7c:15:e4:36:66:7a:18:da:ce:a3:34:94: 58:a6:5d:5c:04:90:35:f1:8b:55:a9:3c:dd:72:a2:d7:5f:73: 5a:2c:88:85
Note

La CRL ne sera déposée dans Amazon S3 qu'après l'émission d'un certificat y faisant référence. Avant cela, seul un acm-pca-permission-test-key fichier sera visible dans le compartiment Amazon S3.

Politiques d'accès pour les CRL dans Amazon S3

Si vous envisagez de créer une CRL, vous devez préparer un compartiment Amazon S3 dans lequel la stocker. Autorité de certification privée AWS dépose automatiquement la CRL dans le compartiment Amazon S3 que vous désignez et la met à jour régulièrement. Pour de plus amples informations, veuillez consulter Créer un compartiment.

Votre compartiment S3 doit être sécurisé par une politique d'autorisation IAM attachée. Les utilisateurs autorisés et les responsables du service doivent être Put autorisés Autorité de certification privée AWS à placer des objets dans le compartiment et Get à les récupérer. Au cours de la procédure de création d'une autorité de certification dans la console, vous pouvez choisir d'autoriser la Autorité de certification privée AWS création d'un nouveau compartiment et d'appliquer une politique d'autorisation par défaut.

Note

La configuration de la politique IAM dépend de l'acteur Régions AWS concerné. Les régions se répartissent en deux catégories :

  • Régions activées par défaut : régions activées par défaut pour tous. Comptes AWS

  • Régions désactivées par défaut : régions désactivées par défaut, mais qui peuvent être activées manuellement par le client.

Pour plus d'informations et une liste des régions désactivées par défaut, consultez la section Gestion. Régions AWS Pour une discussion sur les principes de service dans le contexte de l'IAM, voir les principes de AWS service dans les régions optionnelles.

Lorsque vous configurez les CRL comme méthode de révocation des certificats, vous Autorité de certification privée AWS créez une CRL et la publiez dans un compartiment S3. Le compartiment S3 nécessite une politique IAM qui permet au principal du Autorité de certification privée AWS service d'écrire dans le compartiment. Le nom du principal de service varie en fonction des régions utilisées, et toutes les possibilités ne sont pas prises en charge.

PCA S3 Principal du service

Les deux dans la même région

acm-pca.amazonaws.com

Activées

Activé

acm-pca.amazonaws.com

Désactivées Activées

acm-pca.Region.amazonaws.com

Activé Désactivées

Non pris en charge

La politique par défaut n'applique aucune SourceArn restriction à l'autorité de certification. Nous vous recommandons d'appliquer manuellement la politique moins permissive décrite ci-dessous, qui restreint l'accès à un AWS compte spécifique et à une autorité de certification privée spécifique. Pour plus d'informations, consultez Ajouter une politique de compartiment à l'aide de la console Amazon S3.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:GetBucketAcl", "s3:GetBucketLocation" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ], "Condition":{ "StringEquals":{ "aws:SourceAccount":"account", "aws:SourceArn":"arn:partition:acm-pca:region:account:certificate-authority/CA_ID" } } } ] }

Si vous choisissez d'autoriser la politique par défaut, vous pourrez toujours la modifier ultérieurement.

Activation de l'accès public par blocs S3 (BPA) avec CloudFront

Les nouveaux compartiments Amazon S3 sont configurés par défaut avec la fonctionnalité Block Public Access (BPA) activée. Inclus dans les meilleures pratiques de sécurité d'Amazon S3, le BPA est un ensemble de contrôles d'accès que les clients peuvent utiliser pour affiner l'accès aux objets de leurs compartiments S3 et aux compartiments dans leur ensemble. Lorsque le BPA est actif et correctement configuré, seuls les AWS utilisateurs autorisés et authentifiés ont accès à un bucket et à son contenu.

AWS recommande l'utilisation du BPA sur tous les compartiments S3 afin d'éviter d'exposer des informations sensibles à des adversaires potentiels. Cependant, une planification supplémentaire est requise si vos clients PKI récupèrent des CRL sur Internet public (c'est-à-dire lorsqu'ils ne sont pas connectés à un AWS compte). Cette section décrit comment configurer une solution PKI privée à l'aide d'Amazon CloudFront, un réseau de diffusion de contenu (CDN), pour servir des CRL sans avoir besoin d'un accès client authentifié à un compartiment S3.

Note

L'utilisation CloudFront entraîne des frais supplémentaires sur votre AWS compte. Pour plus d'informations, consultez Amazon CloudFront Pricing.

Si vous choisissez de stocker votre CRL dans un compartiment S3 où le BPA est activé et que vous ne l'utilisez pas CloudFront, vous devez créer une autre solution CDN pour garantir que votre client PKI a accès à votre CRL.

Configurer Amazon S3 avec le BPA

Dans S3, créez un nouveau compartiment pour votre CRL, comme d'habitude, puis activez le BPA dessus.

Pour configurer un compartiment Amazon S3 qui bloque l'accès public à votre CRL
  1. Créez un nouveau compartiment S3 en suivant la procédure décrite dans Création d'un compartiment. Au cours de la procédure, sélectionnez l'option Bloquer tout accès public.

    Pour plus d'informations, consultez Blocage de l'accès public à votre espace de stockage Amazon S3.

  2. Une fois le compartiment créé, choisissez son nom dans la liste, accédez à l'onglet Autorisations, choisissez Modifier dans la section Propriété de l'objet, puis sélectionnez Propriétaire du compartiment préféré.

  3. Également dans l'onglet Autorisations, ajoutez une politique IAM au compartiment, comme décrit dansPolitiques d'accès pour les CRL dans Amazon S3 .

Configuration CloudFront pour le BPA

Créez une CloudFront distribution qui aura accès à votre compartiment S3 privé et pourra servir des CRL à des clients non authentifiés.

Pour configurer une CloudFront distribution pour la CRL
  1. Créez une nouvelle CloudFront distribution en suivant la procédure décrite dans la section Création d'une distribution du manuel Amazon CloudFront Developer Guide.

    Au cours de la procédure, appliquez les paramètres suivants :

    • Dans Origin Domain Name, choisissez votre compartiment S3.

    • Choisissez Oui pour Restreindre l'accès au bucket.

    • Choisissez Créer une nouvelle identité pour Origin Access Identity.

    • Choisissez Yes, Update Bucket Policy sous Accorder les autorisations de lecture sur le bucket.

      Note

      Dans cette procédure, CloudFront modifie votre politique de compartiment pour lui permettre d'accéder aux objets du compartiment. Envisagez de modifier cette politique afin de n'autoriser l'accès qu'aux objets situés crl dans le dossier.

  2. Une fois la distribution initialisée, recherchez son nom de domaine dans la CloudFront console et enregistrez-le pour la procédure suivante.

    Note

    Si votre compartiment S3 vient d'être créé dans une région autre que us-east-1, vous risquez de recevoir une erreur de redirection temporaire HTTP 307 lorsque vous accédez à votre application publiée via. CloudFront La propagation de l'adresse du bucket peut prendre plusieurs heures.

Configurez votre CA pour le BPA

Lors de la configuration de votre nouvelle autorité de certification, incluez l'alias dans votre CloudFront distribution.

Pour configurer votre autorité de certification avec un CNAME pour CloudFront
  • Créez votre CA à l'aide deProcédure de création d'une autorité de certification (CLI) .

    Lorsque vous exécutez la procédure, le fichier de révocation revoke_config.txt doit inclure les lignes suivantes pour spécifier un objet CRL non public et pour fournir une URL vers le point de terminaison de distribution dans : CloudFront

    "S3ObjectAcl":"BUCKET_OWNER_FULL_CONTROL", "CustomCname":"abcdef012345.cloudfront.net"

    Par la suite, lorsque vous émettrez des certificats avec cette autorité de certification, ils contiendront un bloc comme celui-ci :

    X509v3 CRL Distribution Points: Full Name: URI:http://abcdef012345.cloudfront.net/crl/01234567-89ab-cdef-0123-456789abcdef.crl
Note

Si vous possédez d'anciens certificats émis par cette autorité de certification, elle ne pourra pas accéder à la CRL.

Chiffrement de vos listes de révocation de certificats

Vous pouvez éventuellement configurer le chiffrement sur le compartiment Amazon S3 contenant vos CRL. Autorité de certification privée AWS prend en charge deux modes de chiffrement pour les actifs dans Amazon S3 :

  • Chiffrement automatique côté serveur avec des clés AES-256 gérées par Amazon S3.

  • Chiffrement géré par le client à l'aide AWS Key Management Service et AWS KMS key configuré selon vos spécifications.

Note

Autorité de certification privée AWS ne prend pas en charge l'utilisation de clés KMS par défaut générées automatiquement par S3.

Les procédures suivantes décrivent comment configurer chacune des options de chiffrement.

Pour configurer le chiffrement automatique

Procédez comme suit pour activer le chiffrement côté serveur S3.

  1. Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/.

  2. Dans le tableau Buckets, choisissez le compartiment qui contiendra vos Autorité de certification privée AWS actifs.

  3. Sur la page de votre compartiment, choisissez l'onglet Propriétés .

  4. Choisissez la carte de Chiffrement par défaut.

  5. Sélectionnez Activer.

  6. Choisissez la clé Amazon S3 (SSE-S3).

  7. Choisissez Save Changes (Enregistrer les modifications).

Pour configurer le chiffrement personnalisé

Procédez comme suit pour activer le chiffrement à l'aide d'une clé personnalisée.

  1. Ouvrez la console Amazon S3 sur https://console.aws.amazon.com/s3/.

  2. Dans le tableau Buckets, choisissez le compartiment qui contiendra vos Autorité de certification privée AWS actifs.

  3. Sur la page de votre compartiment, choisissez l'onglet Propriétés .

  4. Choisissez la carte de Chiffrement par défaut.

  5. Sélectionnez Activer.

  6. Choisissez AWS Key Management Service la clé (SSE-KMS).

  7. Choisissez Choisir parmi vos AWS KMS clés ou Entrer un AWS KMS key ARN.

  8. Choisissez Save Changes (Enregistrer les modifications).

  9. (Facultatif) Si vous ne possédez pas encore de clé KMS, créez-en une à l'aide de la commande AWS CLI create-key suivante :

    $ aws kms create-key

    La sortie contient l'ID de clé et le nom de ressource Amazon (ARN) de la clé KMS. Voici un exemple de résultat :

    { "KeyMetadata": { "KeyId": "01234567-89ab-cdef-0123-456789abcdef", "Description": "", "Enabled": true, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "CreationDate": 1478910250.94, "Arn": "arn:aws:kms:us-west-2:123456789012:key/01234567-89ab-cdef-0123-456789abcdef", "AWSAccountId": "123456789012" } }
  10. En suivant les étapes suivantes, vous autorisez le principal du Autorité de certification privée AWS service à utiliser la clé KMS. Par défaut, toutes les clés KMS sont privées ; seul le propriétaire de la ressource peut utiliser une clé KMS pour chiffrer et déchiffrer les données. Cependant, le propriétaire de la ressource peut accorder à d'autres utilisateurs et ressources des autorisations d'accès à la clé KMS. Le principal de service doit se trouver dans la même région que celle où la clé KMS est stockée.

    1. Tout d'abord, enregistrez la politique par défaut pour votre clé KMS à policy.json l'aide de la get-key-policycommande suivante :

      $ aws kms get-key-policy --key-id key-id --policy-name default --output text > ./policy.json
    2. Ouvrez le fichier policy.json dans un éditeur de texte. Sélectionnez l'une des déclarations de politique suivantes et ajoutez-la à la politique existante.

      Si votre clé de compartiment Amazon S3 est activée, utilisez l'instruction suivante :

      { "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":"arn:aws:s3:::bucket-name" } } }

      Si votre clé de compartiment Amazon S3 est désactivée, utilisez l'instruction suivante :

      { "Sid":"Allow ACM-PCA use of the key", "Effect":"Allow", "Principal":{ "Service":"acm-pca.amazonaws.com" }, "Action":[ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource":"*", "Condition":{ "StringLike":{ "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::bucket-name/acm-pca-permission-test-key", "arn:aws:s3:::bucket-name/acm-pca-permission-test-key-private", "arn:aws:s3:::bucket-name/audit-report/*", "arn:aws:s3:::bucket-name/crl/*" ] } } }
    3. Enfin, appliquez la politique mise à jour à l'aide de la put-key-policycommande suivante :

      $ aws kms put-key-policy --key-id key_id --policy-name default --policy file://policy.json

Déterminer l'URI du point de distribution CRL (CDP)

Si vous utilisez le compartiment S3 comme CDP pour votre autorité de certification, l'URI du CDP peut être dans l'un des formats suivants.

  • http://DOC-EXAMPLE-BUCKET.s3.region-code.amazonaws.com/crl/CA-ID.crl

  • http://s3.region-code.amazonaws.com/DOC-EXAMPLE-BUCKET/crl/CA-ID.crl

Si vous avez configuré votre autorité de certification avec un CNAME personnalisé, l'URI du CDP inclura le CNAME, par exemple, http://alternative.example.com/crl/CA-ID.crl