Présentation des certificats SSL

SSL/TLS est le protocole cryptographique le plus utilisé sur Internet. Techniquement, TLS est le successeur de SSL, bien que les termes soient parfois utilisés de manière interchangeable, comme dans ce document.

Le protocole TLS (Transport Layer Security) permet de chiffrer les informations lors de leur envoi sur un réseau afin de garantir la confidentialité entre un client et un serveur ou un équilibreur de charge. Un équilibreur de charge d'application ou un équilibreur de charge réseau proxy qui utilise SSL nécessite au moins une clé privée et un certificat SSL.

Méthodes de configuration des certificats

Google Cloud propose trois méthodes de configuration de certificats pour les équilibreurs de charge d'application utilisant des proxys HTTPS cibles et les équilibreurs de charge réseau proxy utilisant des proxys SSL cibles.

  • Le proxy cible référence les certificats SSL Compute Engine: avec cette méthode, le proxy cible de l'équilibreur de charge peut référencer jusqu'à 15 ressources de certificat SSL Compute Engine. Chaque ressource de certificat SSL Compute Engine contient la clé privée, le certificat correspondant et, éventuellement, les certificats CA.

  • Le proxy cible fait référence à un mappage de certificats du gestionnaire de certificats : avec cette méthode, le proxy cible de l'équilibreur de charge fait référence à un seul mappage de certificats. Le mappage de certificats est compatible avec des milliers d'entrées par défaut et peut évoluer jusqu'à des millions d'entrées. Chaque entrée contient des données de clé privée et de certificat.

  • Le proxy cible référence directement les certificats du Gestionnaire de certificats: avec cette méthode, le proxy cible de l'équilibreur de charge peut référencer jusqu'à 100 certificats du Gestionnaire de certificats.

Compatibilité avec les équilibreurs de charge

Le tableau suivant indique les méthodes de configuration des certificats compatibles avec chaque équilibreur de charge.

Équilibreur de charge Méthode de configuration du certificat: références du proxy cible
Certificats SSL Compute Engine Mappage de certificats du Gestionnaire de certificats Certificats du gestionnaire de certificats directement
Équilibreurs de charge d'application (proxys HTTPS cibles)
Équilibreur de charge d'application externe global Compatible avec les certificats globaux
Autogérés
Gérés par Google
Autogéré
Géré par Google
Équilibreur de charge d'application classique Compatible avec les certificats globaux
Autogérés
Gérés par Google
Autogéré
Géré par Google
Équilibreur de charge d'application externe régional Compatible avec les certificats régionaux
Autogérés
Gérés par Google
Autogéré
Géré par Google
Équilibreur de charge d'application interne régional Compatible avec les certificats régionaux
Autogérés
Gérés par Google
Autogéré
Géré par Google
Équilibreur de charge d'application interne interrégional Autogéré
Géré par Google
Équilibreurs de charge réseau proxy (proxy SSL cibles)
Équilibreur de charge réseau proxy externe global Compatible avec les certificats globaux
Autogérés
Gérés par Google
Autogéré
Géré par Google
Équilibreur de charge réseau proxy classique Compatible avec les certificats globaux
Autogérés
Gérés par Google
Autogéré
Géré par Google

Règles de méthode de configuration

Google Cloud applique les règles de méthode de configuration des certificats suivantes:

  • Pour les équilibreurs de charge compatibles à la fois avec les certificats SSL Compute Engine et les mappages de certificats du gestionnaire de certificats: le proxy cible de l'équilibreur de charge peut référencer simultanément une carte de certificats et un ou plusieurs certificats SSL Compute Engine. Toutefois, dans ce cas, tous les certificats SSL Compute Engine sont ignorés, et seuls les certificats de la carte de certificats sont utilisés par l'équilibreur de charge.

  • Pour les équilibreurs de charge compatibles à la fois avec les certificats SSL Compute Engine et les certificats du gestionnaire de certificats directement associés: le proxy cible de l'équilibreur de charge ne peut être configuré que pour référencer jusqu'à 15 certificats SSL Compute Engine ou jusqu'à 100 certificats du gestionnaire de certificats, et non une combinaison des deux.

Types de certificat

Google Cloud est compatible avec les certificats autogérés et gérés par Google.

Certificats SSL autogérés

Les certificats SSL autogérés sont des certificats que vous obtenez, provisionnez et renouvelez vous-même. Les certificats autogérés peuvent appartenir à l'un des types de certificat de clé publique suivants:

  • Validation de domaine (DV)
  • Validation de l'organisation (OV)
  • Validation étendue (EV)

Vous pouvez créer des certificats SSL autogérés à l'aide des éléments suivants:

Certificats SSL gérés par Google

Les certificats SSL gérés par Google sont des certificats que Google Cloudobtiennent, gèrent et renouvellent automatiquement. Les certificats gérés par Google sont toujours des certificats de validation de domaine (DV). Ils ne prouvent pas l'identité d'une organisation ou d'une personne associée au certificat.

Les certificats gérés par Google qui utilisent des caractères génériques ne sont compatibles avec le gestionnaire de certificats que lorsque vous utilisez l'autorisation DNS.

Vous pouvez créer des certificats SSL gérés par Google à l'aide des éléments suivants:

  • Ressources de certificat SSL Compute Engine: seules les ressources sslCertificates Compute Engine globales sont compatibles avec les certificats SSL gérés par Google. Les regionSslCertificates ne le sont pas. Pour en savoir plus, consultez la section Utiliser des certificats SSL gérés par Google.
  • Gestionnaire de certificats: pour en savoir plus, consultez la section Présentation du déploiement.

Plusieurs certificats SSL

Un équilibreur de charge d'application ou un équilibreur de charge réseau proxy peut héberger deux certificats SSL ou plus simultanément lorsque son proxy cible est configuré à l'aide d'une méthode de configuration de certificat compatible. Il est recommandé d'utiliser le gestionnaire de certificats lorsque plusieurs certificats SSL sont nécessaires.

  • Pour les équilibreurs de charge compatibles avec les certificats SSL Compute Engine : le proxy cible de l'équilibreur de charge peut référencer jusqu'à 15 certificats SSL Compute Engine. La première ressource de certificat SSL Compute Engine référencée est le certificat par défaut (principal) du proxy cible.

  • Pour les équilibreurs de charge compatibles avec un mappage de certificats du Gestionnaire de certificats: le proxy cible de l'équilibreur de charge ne référence qu'un seul mappage de certificats. Le mappage de certificats est compatible avec des milliers d'entrées. Vous pouvez configurer quelle entrée de certificat est le certificat par défaut (principal) pour le mappage de certificat.

  • Pour les équilibreurs de charge compatibles avec la référence directe des certificats du Gestionnaire de certificats: le proxy cible de l'équilibreur de charge peut référencer jusqu'à 100 certificats du Gestionnaire de certificats. La première ressource de certificat SSL du Gestionnaire de certificats référencée est le certificat par défaut (principal) du proxy cible.

Pour en savoir plus, consultez les pages suivantes :

Processus de sélection du certificat

Le processus de sélection de certificats suivant s'applique aux équilibreurs de charge dont les proxys cibles référencent plusieurs certificats SSL Compute Engine ou plusieurs certificats du gestionnaire de certificats.

Le processus de sélection des certificats est différent si le proxy cible d'un équilibreur de charge fait référence à un mappage de certificats du Gestionnaire de certificats. Pour en savoir plus sur le processus de sélection des certificats d'un mappage de certificats, consultez la section Logique de sélection des certificats dans la documentation du gestionnaire de certificats.

Une fois qu'un client se connecte à l'équilibreur de charge, le client et l'équilibreur de charge négocient une session TLS. Lors de la négociation de la session TLS, le client envoie à l'équilibreur de charge une liste d'algorithmes de chiffrement TLS compatibles (dans ClientHello). L'équilibreur de charge sélectionne un certificat dont l'algorithme de clé publique est compatible avec le client. Le client peut également envoyer un nom d'hôte d'indication de nom de serveur (SNI) à l'équilibreur de charge lors de cette négociation. Les données de nom d'hôte SNI sont parfois utilisées pour aider l'équilibreur de charge à choisir le certificat qu'il doit envoyer au client.

  • Si le proxy cible de l'équilibreur de charge ne fait référence qu'à un seul certificat, ce certificat est utilisé, et la valeur du nom d'hôte SNI envoyée par le client n'est pas pertinente.

  • Si le proxy cible de l'équilibreur de charge fait référence à deux certificats ou plus, l'équilibreur de charge utilise le processus suivant pour sélectionner un certificat unique:

    • Si le client n'a envoyé aucun nom d'hôte SNI dans son ClientHello, l'équilibreur de charge utilise le premier certificat de sa liste de certificats.

    • Si le client envoie un nom d'hôte SNI qui ne correspond à aucun nom commun de certificat (CN) et ne correspond à aucun autre nom d'objet de certificat (SAN), l'équilibreur de charge utilise le premier certificat de sa liste de certificats.

    • Dans toutes les autres situations: l'équilibreur de charge sélectionne un certificat à l'aide du processus de mise en correspondance suivant:

      • La correspondance se fait par suffixe le plus long par rapport aux attributs de certificat du nom commun (CN) et de l'autre nom de l'objet (SAN), avec une préférence pour les certificats ECDSA par rapport aux certificats RSA.

      • Pour illustrer la méthode de mise en correspondance, considérons un proxy cible qui référence les deux certificats suivants:

        • Certificat A

          • CN: cats.pets.example.com
          • SAN: cats.pets.example.com, *.pets.example.com, *.example.com
        • Certificat B

          • CN: dogs.pets.example.com
          • SAN: dogs.pets.example.com, *.pets.example.com, *.example.com
      • Considérons maintenant les scénarios suivants:

        • Si le nom d'hôte SNI envoyé par le client est cats.pets.example.com, l'équilibreur de charge utilise le certificat A.
        • Si le nom d'hôte SNI envoyé par le client est ferrets.pets.example.com, il n'y a pas de correspondance exacte. L'équilibreur de charge sélectionne donc soit le certificat A, soit le certificat B, car les deux incluent *.pets.example.com dans leur liste de SAN. Vous ne pouvez pas contrôler le certificat sélectionné dans cette situation.
  • Une fois qu'un certificat a été sélectionné, l'équilibreur de charge ne l'envoie au client que si le certificat sélectionné utilise un algorithme de clé publique compatible avec un algorithme de chiffrement envoyé par le client dans ClientHello. La négociation TLS échoue si le client ne prend pas en charge une suite de chiffrement incluant l'algorithme de clé publique (ECDSA ou RSA) du certificat sélectionné par l'équilibreur de charge.

Tarifs

Des frais de mise en réseau vous sont facturés lorsque vous utilisez des équilibreurs de charge Google Cloud . Pour en savoir plus, consultez la page Tous les tarifs de mise en réseau. Pour en savoir plus sur les tarifs du gestionnaire de certificats, consultez la section Tarifs dans la documentation du gestionnaire de certificats. L'utilisation des ressources de certificat SSL Compute Engine n'entraîne aucuns frais supplémentaires.

Étape suivante

Faites l'essai

Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.

Essai gratuit