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 c'est le cas 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.
Cette page traite des certificats SSL et du chiffrement en transit entre un équilibreur de charge d'application ou un équilibreur de charge réseau proxy qui utilise SSL et ses clients. Pour en savoir plus sur le chiffrement en transit entre l'équilibreur de charge Google Cloud et ses backends, consultez Chiffrement vers les backends.
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 fait référence aux 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 référence un mappage de certificats Certificate Manager : avec cette méthode, le proxy cible de l'équilibreur de charge référence un seul mappage de certificats. Le mappage de certificats accepte des milliers d'entrées par défaut et peut évoluer pour en accepter des millions. Chaque entrée contient des données de clé privée et de certificat.
Le proxy cible référence directement les certificats Certificate Manager : avec cette méthode, le proxy cible de l'équilibreur de charge peut référencer jusqu'à 100 certificats Certificate Manager.
Compatibilité avec les équilibreurs de charge
Le tableau suivant indique les méthodes de configuration de certificat compatibles avec chaque équilibreur de charge.
| Équilibreur de charge | Méthode de configuration des certificats | |||
|---|---|---|---|---|
| Certificats SSL Compute Engine | Certificate Manager (mappage de certificats) | Certificate Manager (certificats individuels) | ||
| Équilibreurs de charge d'application (proxys HTTPS cibles) | ||||
| Équilibreur de charge d'application externe global |
Autogéré Géré par Google |
Autogéré Géré par Google |
||
| Équilibreur de charge d'application classique |
Autogéré Géré par Google |
Autogéré Géré par Google |
||
| Équilibreur de charge d'application externe régional |
Autogéré Géré par Google |
Autogéré Géré par Google |
||
| Équilibreur de charge d'application interne régional |
Autogéré Géré 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 (proxys SSL cibles) | ||||
| Équilibreur de charge réseau proxy externe global |
Autogéré Géré par Google |
Autogéré Géré par Google |
||
| Équilibreur de charge réseau proxy classique |
Autogéré Géré 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 de certificat suivantes :
Pour les équilibreurs de charge compatibles à la fois avec les certificats SSL Compute Engine et les mappages de certificats Certificate Manager : le proxy cible de l'équilibreur de charge peut référencer simultanément un mappage de certificats et un ou plusieurs certificats SSL Compute Engine.
Pour les équilibreurs de charge compatibles à la fois avec les certificats SSL Compute Engine et les certificats Certificate Manager 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 Certificate Manager, 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 outils suivants :
Ressources de certificat SSL Compute Engine : pour en savoir plus, consultez Utiliser des certificats SSL autogérés.
Certificate Manager : pour en savoir plus, consultez la section Présentation du déploiement dans la documentation de Certificate Manager.
Certificats SSL gérés par Google
Les certificats SSL gérés par Google sont des certificats que Google Cloudobtient, gère et renouvelle 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 utilisant des caractères génériques ne sont compatibles avec Certificate Manager que si vous utilisez l'autorisation DNS.
Vous pouvez créer des certificats SSL gérés par Google à l'aide des outils suivants :
- Ressources de certificat SSL Compute Engine : seules les ressources
sslCertificatesCompute Engine globales sont compatibles avec les certificats SSL gérés par Google. Les ressourcesregionSslCertificatesne sont pas compatibles. Les certificats SSL Compute Engine globaux ne sont compatibles qu'avec les certificats gérés par Google et de confiance publique. Pour en savoir plus, consultez Utiliser des certificats SSL gérés par Google. - Certificate Manager : les certificats Certificate Manager (globaux et régionaux) sont compatibles avec les certificats gérés par Google de confiance publique et les certificats gérés par Google de confiance privée. Pour en savoir plus, consultez Certificats dans la documentation de Certificate Manager.
Types de clés compatibles
Les équilibreurs de charge sont compatibles avec les certificats qui utilisent des clés privées de différents types. Le tableau suivant indique les types de clés compatibles selon que les certificats sont globaux ou régionaux, et qu'ils sont autogérés ou gérés par Google.|
arrow_forward Type de certificat SSL arrow_downwardType de clé |
Certificats SSL Compute Engine | Certificats SSL de Certificate Manager | ||||
|---|---|---|---|---|---|---|
| Monde | Régional | Monde et régional | ||||
| Autogéré | Géré par Google et publiquement approuvé | Autogéré | Autogéré | Géré par Google et publiquement approuvé | Géré par Google et approuvé de manière privée | |
| RSA-2048 | ||||||
| RSA-3072 | ||||||
| RSA-4096 | ||||||
| ECDSA P-256 | ||||||
| ECDSA P-384 | ||||||
Utiliser des certificats avec des clés ECDSA
Cette section explique pourquoi nous recommandons ECDSA plutôt que RSA comme bonne pratique pour les clés de signature de certificat.
Quel type de clé utiliser ?
ECDSA P-256 est le type de clé recommandé pour la plupart des certificats TLS. Il offre une sécurité cryptographique renforcée, d'excellentes performances pour les opérations de signature et une utilisation efficace de la bande passante réseau.
Voici quelques-unes des raisons possibles d'utiliser d'autres types de clés de certificat :
- Si vous devez prendre en charge d'anciens clients qui ne sont pas compatibles avec les certificats ECDSA, vous pouvez fournir des certificats RSA-2048 en plus des certificats ECDSA P-256.
- Si vous avez des exigences de conformité spécifiques qui nécessitent l'utilisation de clés de plus grande taille ou de types de clés particuliers, vous pouvez utiliser des clés ECDSA P-384, RSA-2048, RSA-3072 et RSA-4096.
Pourquoi choisir ECDSA plutôt que RSA ?
Le principal avantage d'ECDSA réside dans sa capacité à fournir un niveau de sécurité cryptographique équivalent avec des clés nettement plus petites que celles de RSA. Cette efficacité se traduit par des avantages tangibles en termes de performances et de ressources. Une clé plus petite n'implique pas une sécurité plus faible : ECDSA est basé sur le problème du logarithme discret de la courbe elliptique, qui offre une sécurité plus forte par unité de clé et, dans certains cas, une meilleure efficacité de calcul par rapport à RSA.
Exemple :
- Une clé ECDSA de 256 bits offre un niveau de sécurité similaire à celui d'une clé RSA-3072.
- Une clé ECDSA 384 bits offre un niveau de sécurité supérieur à celui de n'importe quelle taille de clé RSA largement compatible.
Principaux avantages d'ECDSA :
Performances : les opérations de signature ECDSA sont beaucoup moins gourmandes en ressources de calcul que les opérations RSA offrant un niveau de sécurité équivalent. Cela réduit la charge du processeur et la latence, ce qui est crucial pour les systèmes à haut débit ou sensibles à la latence.
Efficacité : les clés et les signatures plus petites nécessitent moins de bande passante et d'espace de stockage, ce qui est particulièrement utile pour les environnements aux ressources limitées, comme les appareils mobiles et IoT.
Plusieurs certificats SSL
Un équilibreur de charge d'application ou un équilibreur de charge réseau proxy peut héberger simultanément deux certificats SSL ou plus lorsque son proxy cible est configuré à l'aide d'une méthode de configuration de certificat compatible. Il est recommandé d'utiliser Certificate Manager 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 Certificate Manager : le proxy cible de l'équilibreur de charge référence un seul mappage de certificats. Le mappage de certificats accepte des milliers d'entrées de mappage de certificats. Vous pouvez configurer quelle entrée de certificat est le certificat par défaut (principal) pour le mappage de certificats.
Pour les équilibreurs de charge compatibles avec le référencement direct des certificats Certificate Manager : le proxy cible de l'équilibreur de charge peut référencer jusqu'à 100 certificats Certificate Manager. La première ressource de certificat SSL Certificate Manager référencée est le certificat par défaut (principal) du proxy cible.
Pour en savoir plus, consultez :
Proxys cibles et Certificats SSL dans la documentation sur l'équilibrage de charge.
Quotas et limites de ressources dans la documentation de Certificate Manager.
Processus de sélection du certificat
Le processus de sélection de certificat suivant s'applique aux équilibreurs de charge dont les proxys cibles font référence à plusieurs certificats SSL Compute Engine ou à plusieurs certificats Certificate Manager.
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 Certificate Manager. 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 de Certificate Manager.
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é par le client n'est pas pertinente.
Si le proxy cible de l'équilibreur de charge fait référence à plusieurs certificats, l'équilibreur de charge utilise le processus suivant pour sélectionner un seul certificat :
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 correspondance suivant :
La correspondance se fait par rapport aux attributs de certificat du nom commun (CN) et de l'autre nom de l'objet (SAN). Si un seul certificat correspond au nom d'hôte SNI, l'équilibreur de charge sélectionne ce certificat. Si plusieurs certificats correspondent au nom d'hôte SNI, l'équilibreur de charge les priorise dans l'ordre suivant :
Correspondance exacte du nom d'hôte : les correspondances exactes avec le CN ou le SAN sont prioritaires sur les correspondances avec un caractère générique.
Correspondance de nom d'hôte avec caractère générique : s'il n'y a pas de correspondance exacte, l'équilibreur de charge recherche une correspondance de CN ou de SAN avec caractère générique. Un caractère générique (
*) ne correspond qu'au sous-domaine de premier niveau (par exemple,*.pets.example.comcorrespond àcats.pets.example.complutôt qu'à*.example.com).Type de clé de certificat : les certificats ECDSA sont préférés aux certificats RSA.
Taille de la chaîne de certificats : si plusieurs certificats ont la même spécificité de correspondance et le même algorithme de clé publique, l'équilibreur de charge donne la priorité au certificat dont la taille de la chaîne de certificats est la plus petite (en octets) afin de minimiser la bande passante réseau pendant le handshake TLS.
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
- CN :
Certificat B
- CN :
dogs.pets.example.com - SAN :
dogs.pets.example.com,*.pets.example.com,*.example.com
- CN :
Examinons 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, et le certificat A et le certificat B correspondent à*.pets.example.comdans leur liste de SAN. Si les deux certificats utilisent le même algorithme de clé publique, l'équilibreur de charge sélectionne le certificat dont la taille de chaîne de certificats est la plus petite. Si les tailles de chaîne de certificats sont également identiques, l'équilibreur de charge sélectionne soit le certificat A, soit le certificat B, et vous ne pouvez pas contrôler le certificat sélectionné.
Une fois qu'un certificat a été sélectionné, l'équilibreur de charge l'envoie au client uniquement 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 n'est pas compatible avec une suite de chiffrement incluant l'algorithme de clé publique (ECDSA ou RSA) du certificat sélectionné par l'équilibreur de charge.
Tarifs
Pour connaître les tarifs des certificats SSL Compute Engine et de Cloud Load Balancing, consultez Tarifs de mise en réseau : Cloud Load Balancing.
Pour en savoir plus sur les tarifs de Certificate Manager, consultez la page Tarifs de Certificate Manager.
Étapes suivantes
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 sans frais pour exécuter, tester et déployer des charges de travail.
Essayer sans frais