DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Security Zone»Cryptographie et connexion sécurisée : comment ça marche
    Security Zone

    Cryptographie et connexion sécurisée : comment ça marche

    novembre 18, 2021
    Cryptographie et connexion sécurisée : comment ça marche
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Dans le monde numérique d’aujourd’hui, partout et à tout moment, deux parties échangent des informations, et de jour en jour, elles croissent de façon exponentielle. L’échange de données entre les systèmes est essentiel car ils sont vulnérables aux attaques d’entités externes.

    Alors que le monde oriente tout vers le numérique, établir un support sécurisé et comprendre son fonctionnement devient également plus critique. Au cours des dernières années, il y a eu beaucoup de modernisation et l’invention des appareils PDA a complètement changé la façon dont nous gérons notre vie de tous les jours. Nous sommes passés des achats au détail aux achats en ligne, les transactions financières effectuées au comptoir sont numérisées, la numérisation de l’argent, le partage d’images et la liste continue.

    Étant donné que la plupart de nos activités se déroulent en ligne, comment nous assurons-nous que les données que nous consommons et envoyons sur le réseau sont transmises en toute sécurité ? Ce qui se passe dans les coulisses et comment cela fonctionne est celui que nous aborderons dans le cadre de cet article.

    Échange d’informations

    Lorsque deux parties sont séparées et souhaitent échanger des informations, l’utilisation d’un réseau privé n’est pas envisageable et pour tout le monde. Ainsi, l’utilisation d’un support partagé comme Internet n’est qu’une option viable, et comme il est partagé, n’importe qui peut intercepter le support et jeter un coup d’œil aux informations échangées.

    Puisque c’est le cas, deux parties peuvent adopter une stratégie de cryptographie, en envoyant le message dans un format unique appelé texte chiffré, qui peut être en lecture seule par le destinataire prévu. Les systèmes antérieurs échangeaient une clé secrète partagée que l’expéditeur utilisera pour crypter et le récepteur pour décrypter ; puisque les deux utilisent la même clé, il s’agit d’un asymétrique clé. Le récepteur décode à l’aide de la clé secrète, ce qui n’est possible que jusqu’à ce que les deux parties gardent la clé secrète. Si un homme au milieu connaît la clé secrète, la personne cachée peut lire et modifier le message.

    graphique de l'expéditeur

    Pour communiquer efficacement en utilisant un canal public, nous pouvons utiliser cryptographie à clé publique, qui utilise deux clés. L’un est public et l’autre privé. Cette technique s’appelle cryptographie asymétrique ou cryptographie à clé publique.

    Cryptographie à clé publique

    Dans la cryptographie à clé publique, deux clés sont utilisées ; l’une est appelée la clé publique et l’autre est la clé privée. La paire de clés est associée l’une à l’autre, une clé publique ne peut pas être utilisée avec d’autres clés privées ou vice versa, et elles sont liées ensemble. Ces clés sont utilisées dans une fonction de hachage pour générer la valeur de hachage des données, et elles sont chiffrées à l’aide de la clé publique. Le destinataire prévu du message utilise la clé privée correspondante pour le déchiffrer, et seule la clé privée associée le déchiffrera.

    flux de cryptographie à clé publique

    Si les clés tombaient entre les mains de l’intermédiaire, il enverrait sa clé publique pour chiffrer et utiliserait sa clé privée pour déchiffrer afin de modifier le message d’origine. Ensuite, il chiffrera avec la clé publique du destinataire prévu ; de cette façon, l’expéditeur et le destinataire d’origine ne seront pas au courant d’un homme au milieu. Ils penseront que ce qu’ils envoient et reçoivent est exact.

    graphique de l'homme du milieu

    Étant donné que les clés publiques et privées sont susceptibles de tomber entre les mains d’un intermédiaire, il devrait exister un moyen d’authentifier le serveur, pour lequel le serveur prouve son identité en montrant un certificat de son identité. Le serveur obtient le certificat de son identité auprès d’un système tiers de confiance qui s’appelle le Autorité de certification ou CA. L’AC est comme un bureau gouvernemental ou un agent de confiance qui adhère aux normes et directives PKI pour la délivrance du certificat, et il est suivi par toutes les entités qui le revendiquent en tant qu’AC.

    Après avoir validé l’authenticité de l’utilisateur visé, l’AC délivre un certificat et signe le certificat à l’aide de sa clé privée. Cette signature est connue sous le nom de signature numérique du certificat. Il existe différentes variétés de certificats qui sont utilisés, et chacun a son objectif. Dans le monde actuel des échanges Web entre un client et un serveur, un certificat X509 est utilisé et il suit la norme ASN.1 (Abstract Syntax Notation One).

    Les certificats sont généralement stockés dans le système de fichiers sous forme de données binaires, qui sont souvent converties en fichiers ASCII Base64 appelés PEM (Privacy Enhanced Email), qui ont l’une des extensions comme .pem, .crt, .cer.

    Ci-dessous le contenu du certificat X509 v3 :

      Data:
    
            Version: 3 (0x2)
    
            Serial Number
    
            Signature Algorithm
    
            Issuer
    
            Validity
    
                Not Before
    
                Not After
    
            Subject
    
            Subject Public Key Info
    
                Public Key Algorithm
    
                    Public-Key
    
            X509v3 extensions
    
        Signature Algorithm
    
        Signature Value

    Un cabinet médical souhaite disposer d’une page Web permettant aux patients d’enregistrer leurs coordonnées en ligne et de prendre rendez-vous. Le serveur s’approche de l’AC et prouve son identité, et obtient un certificat avec son nom de domaine (bureau du médecin) comme sujet. L’AC valide l’identité du cabinet du médecin et délivre au serveur un certificat X509. Voir ci-dessous l’exemple du contenu du certificat x509 généré à l’aide de la commande OpenSSL.

    code opensll commande

    Connexion sécurisée utilisant SSL/TLS

    La connexion sécurisée entre deux parties est établie en utilisant les normes du protocole SSL/TLS. Le SSL était utilisé auparavant, mais il était obsolète en raison de failles de sécurité, et maintenant le TLS est principalement utilisé. La couche SSL/TLS réside au-dessus de TCP/IP et avant la couche Application. Ainsi, l’application résidant dans la couche applicative est automatiquement couverte par le protocole sécurisé.

    Prenons l’exemple du cabinet du médecin, et avant de déployer l’application au public, le serveur effectue quelques étapes avec l’autorité de certification.

    • Le serveur Web qui héberge la page Web du cabinet médical demande le certificat à l’AC.
    • L’AC valide les demandes de cabinet médical et délivre le certificat ; il le signe également à l’aide de sa clé privée, la signature numérique.
    • Le certificat émis par l’autorité de certification est appelé certificat feuille ou certificat d’entité et contient la clé publique utilisée pour authentifier le serveur.
    • Le serveur a une clé privée correspondante et il réside côté serveur, où l’application du cabinet du médecin est déployée.
    • Comme mentionné précédemment, le certificat aura le propriétaire ou le sujet qui correspond au domaine du cabinet du médecin. Par exemple, www. doctoroffice.com.

    Prise de contact SSL

    • Les patients du navigateur appellent la page Web du cabinet du médecin. La requête est transmise au serveur via un canal non sécurisé ; le navigateur envoie la version SSL qu’il utilise, les paramètres de chiffrement et toute autre information dont le serveur a besoin pour établir un canal SSL sécurisé.
    • Le serveur, à son tour, répond avec sa version SSL, les paramètres de chiffrement et, avec lui, envoie le certificat également connu sous le nom de certificat feuille ou d’entité qu’il a reçu de l’autorité de certification.
    • Le client authentifie le certificat feuille reçu du serveur avec son truststore. Le navigateur et les ordinateurs d’aujourd’hui sont livrés avec la plupart des certificats intermédiaires et racine de l’autorité de certification tierce intégrés dans le magasin de confiance.
    • Le navigateur recherche dans son truststore le certificat intermédiaire correspondant, qui a signé le certificat feuille. Utilise ensuite la clé publique de l’émetteur du certificat intermédiaire pour valider la signature numérique (puisque la clé publique et la clé privée sont appariées) ; s’il pouvait authentifier la signature numérique, la validation va aux intermédiaires jusqu’à ce qu’elle atteigne la racine auto-signée et se termine finalement à la racine. Cette validation est appelée validation du chemin de certification ou chaîne de certification.
    • Un certificat peut avoir un ou plusieurs certificats intermédiaires, et la chaîne doit être validée.
    • Une fois le certificat du serveur authentifié, le client envoie son certificat au serveur en fonction des besoins. Dans certains cas, le client demande une ressource et prouve son identité en fournissant son certificat. Principalement dans le cas des navigateurs, il n’y a pas d’authentification client à l’aide de certificats (les applications utilisent d’autres formes d’authentification comme le nom d’utilisateur/mot de passe)

    graphique de poignée de main ssl

    • Si le client ne peut pas valider le certificat de serveur à partir du magasin de confiance du client, il mettra fin à la connexion et le navigateur affichera un message d’avertissement.
    • De plus, le navigateur vérifie le nom de domaine saisi par l’utilisateur par rapport au nom du sujet dans le domaine, affiche un message d’erreur et arrête la connexion ultérieure.
    • En cas de validation réussie, le client génère un secret pré-maître pour cette session à l’aide du chiffrement convenu et le chiffre à l’aide de la clé publique du serveur, qui fait partie du certificat feuille.
    • Le serveur déchiffre le secret pré-maître à l’aide de la clé privée du serveur, puis génère le secret principal. Ensuite, le client et le serveur utilisent le secret principal pour générer les clés de session, clé symétrique utilisée pour chiffrer et déchiffrer les messages pour cette session.

    À quoi ressemble la chaîne de certificats ?

    chaîne de certificats

    Validation de la chaîne de certificats à l’aide d’OpenSSL :

    Validation du certificat uniquement avec l’intermédiaire.

    Validation du certificat uniquement avec l'intermédiaire

    Ci-dessous montre la validation du certificat signé par un intermédiaire différent.

    Ci-dessous montre la validation du certificat signé par un intermédiaire différent.

    Intermédiaire et racine en un seul fichier pour OpenSSL.

    Intermédiaire et racine en un seul fichier pour OpenSSL.

    Vérification de la chaîne de certificats passée avec l’intermédiaire et la racine corrects.

    Vérification de la chaîne de certificats passée avec l'intermédiaire et la racine corrects.

    OpenSSL a pu valider le certificat feuille après avoir localisé les bons certificats intermédiaire et racine.

    Conclusion

    Comprendre la cryptographie nous donnera confiance sur les sites Web que nous visitons quotidiennement et donnera plus d’informations sur ce que le navigateur essaie de nous communiquer en cas d’exception lors de la poignée de main avec d’autres parties. Le pouvoir des connaissances sur l’authentification par certificat nous permettra de faire plus de choses en ligne en toute sécurité.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.