Utilisation de SLL dans Studio
La couche SSL (Secure Sockets Layer) constitue la technologie de sécurité standard permettant d'établir une liaison chiffrée entre un serveur et un client. Cette liaison chiffrée garantit que toutes les données transmises entre le serveur et les clients demeurent privées et inchangées. Pour créer une connexion SSL, un serveur a besoin d'un certificat SSL. Cette section présente l'utilisation de la couche SSL dans Studio, traite de la sécurité TLS (Transport Layer Security) et SSL, des certificats et des procédures requis pour l'importation des certificats CA et des clés privées à utiliser lors de la vérification de l'authentification de client SSL.
Sécurité TLS et SSL
TLS 1.0 représente une mise à niveau de SSL 3.0. A titre d'exemple, le protocole TLS d'établissement de liaison, d'authentification client/serveur et de chiffrement diffère du protocole SSL correspondant. De plus, TLS est désormais plus extensible. Bien qu'ils ne puissent pas interopérer, TLS offre un mécanisme grâce auquel une implémentation TLS 1.0 peut revenir à une implémentation SSL 3.0.
Le protocole TLS utilise une technologie cryptographique de clé symétrique et de clé publique. La cryptographie de clé publique utilise une clé publique et une clé privée. Les informations chiffrées à l'aide d'une clé peuvent être déchiffrées uniquement à l'aide de l'autre clé. Par exemple, les informations chiffrées à l'aide de la clé publique peuvent être déchiffrées uniquement à l'aide de la clé privée.
La clé publique de chaque serveur est publiée, tandis que la clé privée reste secrète. Pour envoyer un message sécurisé au serveur, le client chiffre le message à l'aide de la clé publique du serveur. Lorsque le serveur reçoit le message, il le déchiffre à l'aide de sa clé privée.
La cryptographie à clé symétrique utilise la même clé pour le chiffrement et le déchiffrement des messages. Le client génère de façon aléatoire une clé symétrique utilisée pour le chiffrement de toutes les données de la session. Cette clé est ensuite chiffrée à l'aide de la clé publique du serveur, et envoyée à ce dernier.
- Confidentialité des messages – Grâce à une association de chiffrement de clés publiques et de clés symétriques. La totalité du trafic entre un client et un serveur est chiffrée à l'aide d'une clé et d'un algorithme de chiffrement négocié pendant la configuration de la session.
- Intégrité des messages – Garantit que le trafic de la session n'est pas modifié lors de son acheminement vers sa destination finale. TLS et SSL utilisent une association de clés publiques/privées et de fonctions de hachage qui garantissent l'intégrité des messages.
- Authentification mutuelle – Echange d'identification via les certificats de clés publiques. Les identités du client et du serveur sont codées au sein de certificats de clé publique, qui contiennent les composants suivants :
- Nom de l'objet
- Nom de l'émetteur
- Clé publique de l'objet
- Signature de l'émetteur
- Période de validité
- Numéro de série
Certificats
SSL utilise des certificats numériques pour authentifier l'identité du serveur et, de façon facultative, du client. Les certificats numériques sont émis par une autorité de certification (agence sécurisée autorisée à émettre, renouveller et révoquer les certificats numériques après vérification de l'identité et de la légitimité de la partie à l'origine de la demande. Un certificat CA (qui peut être un certificat racine ou un certificat subordonné) inclut la signature de l'autorité de certification et la période de validité. Un certificat CA garantit la liaison entre une clé et un autre certificat CA ou une entité finale. Une entité finale est une personne, un rôle, une organisation, un pseudonyme ou un composant matériel ou logiciel.
Le chiffrement et l'authentification sont réalisés à l'aide d'une clé publique et d'une clé privée. La clé publique est intégrée à un certificat, appelé certificat serveur ou site. Le certificat contient plusieurs informations (nom de l'autorité de certification ayant émis le certificat, nom et clé publique du serveur ou du client, signature de l'autorité de certification et date/numéro de série du certificat). La clé privée est créée lorsque vous créez un certificat autosigné ou une demande de certificat CA ; elle est utilisée pour le déchiffrement des messages émis par les clients.
- Le client et le serveur échangent des messages HELLO pour négocier l'algorithme de chiffrement et la fonction de hachage (destinée à l'intégrité des messages) à utiliser pour la session.
- Le client demande un certificat ITU-T standard X.509 auprès du serveur, afin qu'il prouve son identité. (Facultatif) Le serveur peut demander un certificat au client. Les certificats sont vérifiés via le contrôle du format de certificat et des dates de validité, et via la vérification que le certificat inclut la signature d'une autorité de certification (ou qu'il est autosigné).
- Le client génère de façon aléatoire un ensemble de clés utilisé pour le chiffrement. Les clés sont chiffrées à l'aide de la clé publique du serveur, et communiquées au serveur de façon sécurisée.