Aller au contenu

Création de clefs RSA

1. Objectif du cours

Expliquer le principe de l'algorithme RSA et apprendre à générer, protéger et exporter une paire de clefs RSA à l'aide d'OpenSSL depuis une interface en ligne de commande.

2. Notions et définitions essentielles

  • RSA : algorithme de chiffrement asymétrique créé par Rivest, Shamir et Adleman (1977).
  • Clé publique / clé privée : paire de clés où l'une sert à chiffrer/valider et l'autre à déchiffrer/valider.
  • PEM : Privacy Enhanced Mail, format base64 utilisé pour stocker des clés.
  • Passphrase : mot de passe protégeant une clé privée chiffrée.
  • OpenSSL : outil open source fournissant une interface CLI pour générer et manipuler des clés.

3. Fonctionnement et principes

  • RSA est asymétrique : l'émetteur peut utiliser la clé publique du destinataire pour chiffrer ; seul le détenteur de la clé privée peut déchiffrer (et inversement pour la signature).
  • Le principal avantage par rapport au chiffrement symétrique est la suppression du problème d'échange sécurisé de la clé.
  • Lors du chiffrement RSA, la longueur des données doit correspondre à la longueur de la clé RSA ; si elles sont plus courtes, elles sont complétées (padding).
  • La taille d'une clé (ex. 1024) est exprimée en bits ; elle détermine le niveau de sécurité et la capacité de chiffrement.
  • OpenSSL est largement disponible sur Windows et Linux et permet de gérer génération, visualisation, chiffrement et export de clés.

4. Commandes et manipulations

Regroupées par procédure (extraites strictement du PDF) :

  • Création de la paire de clés :
  • openssl genrsa -out tototo.pem 1024
    (génère une clé RSA privée au format PEM, taille en bits = 1024)

  • Affichage du fichier de clé privée :

  • cat tototo.pem
    (affiche le contenu entier du fichier PEM)

  • Visualisation détaillée de la clé :

  • openssl rsa -in tototo.pem -text -noout
    (décodage et affichage des éléments de la clé sans sortie PEM brute)

  • Chiffrement de la clé privée (protéger avec passphrase) :

  • openssl rsa -in tototo.pem -des3 -out tototo.pem
    (chiffre la clé privée avec l'algorithme symétrique -des3 ; le cours mentionne aussi les options -des et -idea)

  • Exportation de la clé publique et vérification :

  • openssl rsa -in tototo.pem -pubout -out tototoPublique.pem
    (exporte la clé publique dérivée de la clé privée)
  • openssl rsa -in tototoPublique.pem -pubin
    (vérifie/affiche la clé publique importée)

5. Sécurité et bonnes pratiques

  • Ne pas laisser les clés privées à découvert ; elles doivent être conservées secrètes.
  • Protéger la clé privée par une passphrase et ne pas l'oublier : la passphrase est requise pour l'accès après chiffrement.
  • Être vigilant sur les sites et les canaux utilisés pour échanger des informations sensibles.
  • Respecter les étapes de création, chiffrement et partage : créer la paire, chiffrer la clé privée, exporter et vérifier la clé publique.
  • Conserver des copies sûres et documenter la passphrase : perdre la passphrase revient à perdre l'accès à la clé privée.

6. Points essentiels à retenir pour le TSSR

  • RSA = Rivest, Shamir et Adleman (1977).
  • RSA est asymétrique : utilise toujours deux clés (publique + privée).
  • OpenSSL est l'outil CLI présenté pour générer et manipuler les clés RSA.
  • Le format PEM est du base64 lisible, indiqué par l'en-tête/footers des fichiers de clés.
  • La taille de la clé (ex. 1024 bits) définit la longueur maximale des données chiffrables et le niveau de sécurité.
  • Les données plus courtes que la clé sont complétées (padding) lors du chiffrement RSA.
  • Chiffrer la clé privée avec une passphrase (ex. via -des3) est recommandé.
  • Vérifier l'exportation de la clé publique après manipulation.
  • Ne pas confondre OpenSSL (outil utilisé) et OpenSSH (autre outil) ; le cours utilise OpenSSL.
  • Être prudent avec mots de passe et canaux d'échange d'informations sensibles.

7. Tableau récapitulatif

Élément Propriétés Risque / Remarque
RSA Asymétrique, 2 clés (publique/privée) Élimine l'échange secret de la clé
PEM Format base64 lisible Contient en-têtes/footers ; portable
Taille de clé (ex. 1024 bits) Définit capacité et sécurité Plus grand = plus sûr, impacte compatibilité
Clé privée Doit rester secrète, peut être chiffrée par passphrase La perte de la passphrase bloque l'accès
OpenSSL Outil CLI pour générer/visualiser/exporter Largement disponible sur Windows/Linux

8. Vérifications pratiques

(uniquement les vérifications abordées dans le cours, sans répéter les commandes)
- S'assurer que le fichier de la clé privée contient le bloc PEM attendu (en-tête/footers) après création.
- Vérifier que la visualisation détaillée montre les éléments de la clé (modulus, exponent, etc.), confirmant une clé valide.
- Lors du chiffrement de la clé privée, vérifier que l'outil demande une passphrase pour confirmer la protection.
- Vérifier l'exportation publique : le fichier de clé publique doit afficher le contenu attendu en format PEM, prouvant une exportation réussie.

9. Flashcards Anki

Le nom RSA vient de :: Rivest, Shamir et Adleman
RSA est un chiffrement asymétrique :: Vrai
Combien de clés utilise RSA ? :: Deux (publique et privée)
Que signifie PEM ? :: Privacy Enhanced Mail
Que représente le nombre 1024 dans la création d'une clé ? :: La taille exprimée en bits
Quel outil est utilisé dans le cours pour gérer les clés RSA ? :: OpenSSL
Que se passe-t-il si les données sont trop courtes pour la clé RSA ? :: Elles seront complétées (padding)
Nommer une option mentionnée pour chiffrer une clé privée :: -des3
Quel problème la cryptographie asymétrique aide-t-elle à résoudre ? :: L'échange sécurisé de la clé (problème de la cryptographie symétrique)
Où doit être conservée la clé privée ? :: Conservée secrètement par chaque interlocuteur (ne pas la laisser à découvert)