Aller au contenu

Services de sécurité : confidentialité, authentification, intégrité (v1)#


Confidentialité et chiffrement des données#

  • Utilisation de chiffrement symétrique pour protéger les données échangées
  • TLS utilise des algorithmes tels que AES et ChaCha20
  • Les clés de chiffrement symétrique sont établies lors de l'échange de clés (ex : Diffie-Hellman, ECDHE)
  • Commande openssl pour tester le chiffrement : openssl enc -aes-256-cbc -in input.txt -out encrypted.txt -k yourpassword

Authentification des parties#

  • Authentification du serveur via des certificats numériques signés par des autorités de certification (CA)
  • Authentification du client optionnelle (certificats client)
  • Algorithmes de signature numérique : RSA, ECDSA, EdDSA
  • Commande OpenSSL
    • Pour vérifier un certificat : openssl x509 -in certificate.crt -text -noout
    • Pour générer une paire de clés RSA : openssl genrsa -out private_key.pem 2048

Intégrité des données et vérification des messages#

  • Utilisation de fonctions de hachage avec clé (HMAC) pour garantir l'intégrité des messages
  • Algorithmes de hachage : SHA-2, SHA-3
  • Empêche les attaques de type "man-in-the-middle" (modification des données)
  • Commande OpenSSL pour créer un HMAC : openssl dgst -sha256 -hmac yourkey -out hmac_output.txt input.txt

Composants TLS garantissant ces services de sécurité#

  • Handshake TLS pour négocier les paramètres cryptographiques et établir les clés
  • Record Protocol pour encapsuler et protéger les données échangées
  • Alert Protocol pour signaler les erreurs et problèmes de sécurité
  • Mécanismes de renégociation sécurisée pour prévenir les attaques de type "downgrade"
  • Commande OpenSSL:
    • Pour tester une connexion TLS : openssl s_client -connect example.com:443
    • Pour générer une paire de clés et un certificat auto-signé : openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365