Aller au contenu

Terminologie et principes cryptographiques#


1.1. Introduction à la cryptographie#

  • Science de la protection des informations
  • Techniques mathématiques pour sécuriser les communications
  • Objectifs : confidentialité, authentification, intégrité
  • Utilisation dans les protocoles de sécurité comme SSL/TLS

Chiffrement symétrique et asymétrique#

  • Chiffrement symétrique :
    • Une seule clé pour chiffrer et déchiffrer
    • Exemples : AES, DES, 3DES, RC4
    • Plus rapide, moins de ressources nécessaires, mais distribution sécurisée des clés requise
  • Chiffrement asymétrique :
    • Paire de clés : clé publique et clé privée
    • Exemples : RSA, ECC
    • Plus lent, nécessite plus de ressources, mais résout le problème de distribution de clés
  • OpenSSL : outil de cryptographie pour générer et manipuler les clés
    • Exemple de commande : openssl genrsa -out private_key.pem 2048 (pour générer une clé privée RSA)

Clés publiques et privées#

  • Clé publique :
    • Peut être partagée librement
    • Utilisée pour chiffrer les données ou vérifier une signature
  • Clé privée :
    • Doit rester secrète
    • Utilisée pour déchiffrer les données ou signer un message
  • Infrastructure à clés publiques (PKI) pour gérer et distribuer les clés
    • Exemple de commande : openssl rsa -pubout -in private_key.pem -out public_key.pem (pour extraire la clé publique à partir d'une clé privée RSA)

Protocoles cryptographiques#

  • Ensemble de règles et de procédures pour sécuriser les communications
  • Exemples : SSL/TLS, SSH, PGP, IPSec Combinaison de différents algorithmes (symétriques, asymétriques, de hachage et d'échange de clés) pour atteindre les objectifs de sécurité
  • SSL/TLS :
    • Protocole de sécurité pour les communications sur Internet (ex: HTTPS)
    • Emploie à la fois le chiffrement symétrique et asymétrique
    • Établissement d'une session sécurisée : négociation des paramètres et échange de clés
    • Exemple de commande : openssl s_client -connect example.com:443 (pour établir une connexion TLS avec un serveur et afficher les détails de la connexion)