Objectifs d'apprentissage
À la fin de ce cours, l'apprenant peut :
- distinguer confidentialité, intégrité, authenticité et non-répudiation, et dire quel outil apporte laquelle ;
- expliquer chiffrement symétrique et asymétrique, et pourquoi on les combine (chiffrement hybride) ;
- différencier hachage, code d'authentification (HMAC), dérivation de clé à partir d'un mot de passe et signature ;
- lire un certificat X.509 et décrire la vérification d'une chaîne de confiance ;
- décrire une poignée de main TLS 1.3 et ses garanties (secret avant, authentification du serveur) ;
- expliquer le cycle de vie d'une clé (génération, stockage, rotation, révocation, destruction) ;
- distinguer chiffrement au repos et en transit, et situer FileVault ;
- repérer les erreurs courantes (mode ECB, secret codé en dur, hachage rapide pour mots de passe, algorithmes dépréciés) ;
- utiliser en lecture ou sur fichiers de démonstration
openssl,gpget quelques outils macOS, en annonçant effet, droits et retour arrière.
Prérequis
- Savoir ouvrir Terminal et lire une commande (cours Terminal macOS).
- Notion de fichier, de réseau et de navigateur ; aucune mathématique requise.
- Pour la pratique : OpenSSL et GnuPG déjà présents ou installés avec accord de Stéphane. L'installation ne fait pas partie du cours.
Parcours et chapitres
1. Les quatre objectifs et le vocabulaire
| Objectif | Question | Outil principal |
|---|---|---|
| Confidentialité | Qui peut lire ? | chiffrement |
| Intégrité | A-t-on modifié le contenu ? | hachage, MAC, chiffrement authentifié |
| Authenticité | Qui l'a produit ? | signature, certificat, MAC |
| Non-répudiation | L'auteur peut-il nier ? | signature asymétrique |
Vocabulaire : clair (donnée lisible), chiffré (illisible sans clé), clé (paramètre secret ou public), algorithme (public : la sécurité repose sur la clé, pas sur le secret de l'algorithme), aléa (nombres imprévisibles, indispensables à presque tout).
À retenir : chiffrer ne prouve ni l'origine ni l'intégrité. Un message chiffré sans authentification peut être modifié sans qu'on le sache.
Attention : ne jamais inventer son propre algorithme ni son propre protocole. Utiliser des bibliothèques et des constructions standard et publiques.
2. Chiffrement symétrique
Une même clé chiffre et déchiffre. Rapide, adapté aux gros volumes. Le standard est AES (FIPS 197, mis à jour en mai 2023 sans changement de l'algorithme) avec des clés de 128, 192 ou 256 bits et des blocs de 128 bits.
Le mode d'opération compte autant que l'algorithme :
| Mode | Remarque (d'après l'aide-mémoire OWASP « Cryptographic Storage ») |
|---|---|
| GCM, CCM | authentifiés (AEAD) : confidentialité et intégrité ; à préférer |
| CTR, CBC | exigent une authentification séparée |
| ECB | à éviter : des blocs identiques donnent des blocs chiffrés identiques |
Un AEAD (chiffrement authentifié avec données associées) refuse de déchiffrer si le contenu a été altéré. Un nonce ou vecteur d'initialisation (IV) ne doit jamais être réutilisé avec la même clé dans des modes comme GCM (conséquence détaillée dans la publication NIST SP 800-38D, non consultée).
Limite : il faut un moyen sûr de partager la clé. C'est le problème que résout le chiffrement asymétrique.
3. Chiffrement asymétrique
Une paire de clés : la clé publique se diffuse, la clé privée reste secrète. Selon l'usage :
- chiffrer pour un destinataire : clé publique du destinataire pour chiffrer, sa clé privée pour déchiffrer ;
- signer : clé privée de l'auteur pour signer, clé publique pour vérifier ;
- accord de clé (Diffie-Hellman) : deux parties calculent un secret commun sans l'envoyer.
Familles courantes : RSA (2048 bits au minimum selon OWASP), courbes elliptiques (P-256, X25519, Ed25519). Plus lent que le symétrique : on ne chiffre pas de gros fichiers directement.
Chiffrement hybride : on chiffre les données avec une clé symétrique aléatoire de session, et on protège cette clé avec la clé publique du destinataire (ou on la dérive d'un accord de clé). C'est le principe de TLS et d'OpenPGP.
Attention : les algorithmes à clé publique classiques (RSA, courbes elliptiques) seraient cassés par un ordinateur quantique suffisamment puissant. L'aide-mémoire OWASP cite ML-KEM (NIST FIPS 203) en construction hybride pour la transition ; l'état de déploiement chez Stéphane est hors périmètre, non vérifié.
4. Hachage, MAC et mots de passe
Une fonction de hachage produit une empreinte de taille fixe, sans clé, à sens unique, avec des changements imprévisibles. La famille SHA-2 (par exemple SHA-256) est décrite par FIPS 180-4 (août 2015) ; la page du NIST signale qu'une révision est décidée (note du 7 mars 2023).
| Usage | Outil | Ne pas confondre |
|---|---|---|
| Intégrité d'un fichier téléchargé | hachage (SHA-256) | une empreinte publiée au même endroit que le fichier ne prouve pas l'origine |
| Authenticité entre deux parties qui partagent un secret | HMAC (hachage + clé) | un hachage simple n'est pas un MAC |
| Stockage de mots de passe | Argon2id, scrypt, bcrypt, PBKDF2 | SHA-256 seul est trop rapide |
Déprécié : MD5 et SHA-1 sont à proscrire pour la sécurité (OWASP TLS : « avoid MD5 and SHA-1 »). Usage résiduel pour des sommes de contrôle non sécuritaires seulement.
Mots de passe (aide-mémoire OWASP « Password Storage ») : Argon2id préféré, au minimum 19 MiB de mémoire, 2 itérations, 1 de parallélisme ; PBKDF2 avec HMAC-SHA-256 à 600 000 itérations ou plus si la conformité FIPS l'exige ; bcrypt en héritage (facteur 10 ou plus, limite de 72 octets). Chaque mot de passe a un sel aléatoire propre.
Astuce : le calcul d'empreinte d'un fichier est le moyen le plus simple de vérifier qu'une copie est identique à l'original.
5. Signatures numériques
Une signature = empreinte du document chiffrée avec la clé privée (vue simplifiée). Quiconque a la clé publique peut vérifier : le document n'a pas changé et la clé privée correspondante l'a signé. FIPS 186-5 (3 février 2023) définit la norme de signature ; le détail des algorithmes approuvés est non vérifié (page lue sans la liste). La RFC 8446 retient EdDSA et RSASSA-PSS dans TLS 1.3.
Attention : une signature valide prouve qu'une clé a signé, pas que la personne est celle qu'on croit. D'où les certificats et la vérification des empreintes de clés par un autre canal.
6. Certificats X.509 et infrastructure à clé publique
Un certificat lie une identité (nom de domaine, personne) à une clé publique et porte la signature d'une autorité de certification (AC). La RFC 5280 (mai 2008, Proposed Standard) en définit le profil, les extensions (nom alternatif du sujet subjectAltName, basicConstraints, keyUsage), les listes de révocation (CRL) et l'algorithme de validation de chemin.
Vérification d'une chaîne : certificat du serveur, certificat(s) intermédiaire(s), puis AC racine déjà présente dans le magasin de confiance du système. On contrôle la signature de chaque maillon, les dates de validité, le nom demandé (présent dans subjectAltName), l'usage autorisé et la révocation.
Un certificat auto-signé est signé par sa propre clé : utile en laboratoire, mais personne n'a de raison de lui faire confiance par défaut. Recommandations OWASP pour les certificats : RSA 2048 bits minimum, SHA-256, nom du serveur dans subjectAltName, enregistrements CAA, renouvellement automatisé (ACME).
7. TLS : le chiffrement en transit
La RFC 8446 (août 2018, Proposed Standard) définit TLS 1.3. D'après la page : suites anciennes supprimées, clé établie par échange éphémère ((EC)DHE), donc confidentialité persistante (la compromission future de la clé du serveur ne déchiffre pas les sessions passées), compression retirée, messages de la poignée de main chiffrés après ServerHello, algorithmes AEAD seulement. Le serveur est authentifié par son certificat ; le client ne l'est que si le serveur le demande.
Versions : la RFC 8996 (mars 2021, BCP 195) déprécie TLS 1.0 et 1.1. OWASP recommande TLS 1.3 par défaut, TLS 1.2 pour la compatibilité, et l'interdiction de SSLv2/SSLv3 et des suites sans AEAD, anonymes ou « export ». HSTS demande au navigateur de toujours utiliser HTTPS.
À retenir : le cadenas du navigateur signifie « canal chiffré vers un serveur dont le nom correspond à un certificat de confiance », pas « site honnête ».
8. Gestion des clés
La publication NIST SP 800-57 partie 1 révision 5 (mai 2020, finale) est la référence de gestion des clés : génération, distribution, utilisation, stockage, rotation, archivage, destruction, ainsi que durées de vie (« cryptopériodes »).
Bonnes pratiques (OWASP « Cryptographic Storage ») :
- générer avec un générateur aléatoire cryptographique (jamais
rand()ni une date) ; - chiffrement d'enveloppe : une clé de données (DEK) chiffrée par une clé de chiffrement de clés (KEK) conservée ailleurs ;
- séparer les clés des données chiffrées ; clés indépendantes par usage ;
- tourner les clés en cas de compromission, de fin de cryptopériode ou d'affaiblissement de l'algorithme ;
- utiliser un coffre (Trousseau macOS, coffre cloud, HSM) plutôt qu'un fichier en clair ;
- prévoir sauvegarde et récupération : une clé perdue rend les données définitivement illisibles.
Sur Mac, la hiérarchie de clés de FileVault est matérielle (chapitre 9). La publication NIST SP 800-131A révision 2 (mars 2019) guide la transition des algorithmes et longueurs de clés ; une révision 3 a été publiée en version préliminaire (commentaires jusqu'au 4 décembre 2024), état actuel non vérifié.
Attention : un secret n'est jamais dans le code, un commit, une URL, un journal ni une capture d'écran. Un secret qui a fuité est considéré comme compromis : le révoquer et le remplacer, pas seulement le supprimer.
9. Chiffrement au repos et en transit sur Mac
| Situation | Mécanisme | Source |
|---|---|---|
| Volume entier sur Mac | FileVault, AES-XTS | Apple Platform Security (page du 28 janvier 2026) |
| Données en transit | TLS, SSH, VPN | RFC 8446 |
| Secrets applicatifs | Trousseau, coffre | chapitre 8 |
| Fichier ou message transmis | OpenPGP (gpg), CMS | chapitre 11 |
D'après Apple : sur Mac Apple silicon et T2, les clés sont gérées dans le Secure Enclave ; la clé de volume est enveloppée par une clé dérivée du mot de passe de l'utilisateur et d'un identifiant matériel (UID) ; les clés ne sont « jamais directement exposées au processeur ». À l'activation de FileVault, une clé de récupération de 24 caractères est générée ; elle remplace le mot de passe à l'ouverture. Selon la page, les Mac modernes chiffrent leurs volumes même FileVault désactivé, avec l'UID seul : le chiffrement protège alors le disque démonté, pas contre quelqu'un qui démarre la machine.
Attention : conserver la clé de récupération hors du Mac et hors du dossier chiffré. La perdre avec le mot de passe, c'est perdre les données.
10. Erreurs courantes
| Erreur | Pourquoi c'est un problème | Correction |
|---|---|---|
| ECB | motifs visibles | AES-GCM ou ChaCha20-Poly1305 |
| Chiffrer sans authentifier | altération indétectable | AEAD |
| Nonce/IV réutilisé | casse GCM et CTR | nonce unique par message |
| MD5, SHA-1, DES, 3DES, RC4 | cassés ou dépréciés | SHA-256, AES |
| Mot de passe haché en SHA-256 simple | trop rapide à tester | Argon2id, scrypt, bcrypt, PBKDF2 |
| Clé codée en dur | fuite avec le code | coffre, injection à l'exécution |
| Désactiver la vérification du certificat | l'attaquant se fait passer pour le serveur | corriger la chaîne ou le nom |
| Clé privée avec droits trop larges | lisible par d'autres comptes | chmod 600, répertoire dédié |
| Aléa non cryptographique | clés prévisibles | générateur système |
| Certificat expiré non suivi | pannes | inventaire et renouvellement automatique |
| Algorithme maison | failles inconnues | standards publics |
11. Pratique : OpenSSL, GnuPG et outils macOS
Règle : tout se passe dans un dossier temporaire jetable, avec des fichiers de démonstration. Aucune clé réelle n'est touchée.
Remarque sur les versions : sur macOS, la commande openssl livrée avec le système peut être LibreSSL et non OpenSSL, avec des options différentes (non vérifié). Les options ci-dessous viennent de la documentation OpenSSL master ; contrôler d'abord la version avec la commande de lecture suivante.
openssl versiongpg --versionBloc actif : la touche C copie la commande seule, sans invite ni sortie.
- Contexte : Terminal macOS ; outils éventuellement absents.
- Droits : utilisateur normal.
- Effet : lecture seule, affiche les versions.
- Vérification : deux lignes de version. Noter si
opensslannonce « OpenSSL » ou « LibreSSL ». - Retour arrière : sans objet.
11.1 Préparer un dossier de démonstration
Attention, effet notable. Cette commande peut écrire ou écraser un fichier. Lire le contexte, les droits et l’effet attendu indiqués après le bloc ; ne jamais l’exécuter sur un système réel sans validation, d’abord dans un environnement de test.
DEMO="$(mktemp -d)"cd "$DEMO"echo "message de démonstration, sans donnée réelle" > message.txtBloc actif : la touche C copie la commande seule, sans invite ni sortie.
- Contexte : Terminal ;
mktemp -dcrée un dossier dans l'espace temporaire (comportement macOS habituel, non vérifié dans les pages consultées). - Droits : utilisateur normal.
- Effet : crée un dossier vide et un fichier texte.
- Vérification :
lsmontremessage.txt. - Retour arrière : voir 11.10 (suppression du dossier).
11.2 Empreinte d'un fichier
openssl dgst -sha256 message.txtshasum -a 256 message.txtBloc actif : la touche C copie la commande seule, sans invite ni sortie.
- Contexte : dossier de démonstration.
- Droits : lecture du fichier.
- Effet : affiche l'empreinte SHA-256 (
openssl dgst: défaut SHA-256 depuis OpenSSL 1.1.0, d'après la page ;shasumest un outil macOS non documenté dans les pages consultées). - Vérification : les deux empreintes sont identiques ; modifier un caractère du fichier change entièrement l'empreinte.
- Retour arrière : sans objet.
11.3 Chiffrement symétrique d'un fichier de démonstration
Attention, effet notable. Cette commande a un effet notable. Lire le contexte, les droits et l’effet attendu indiqués après le bloc ; ne jamais l’exécuter sur un système réel sans validation, d’abord dans un environnement de test.
openssl enc -aes-256-cbc -pbkdf2 -salt -in message.txt -out message.encopenssl enc -d -aes-256-cbc -pbkdf2 -in message.enc -out message-dechiffre.txtBloc actif : la touche C copie la commande seule, sans invite ni sortie.
- Contexte : dossier de démonstration ; options
-aes-256-cbc,-pbkdf2,-salt,-d,-in,-outd'après la pageopenssl-enc. OpenSSL demande une phrase secrète : en choisir une jetable, ne pas la passer en argument de ligne de commande. - Droits : écriture dans le dossier.
- Effet : crée
message.encpuismessage-dechiffre.txt. Cette commande n'authentifie pas : la page précise qu'elle ne prend pas en charge GCM et CCM et laisse à l'utilisateur la gestion des clés et vecteurs ; elle recommandeopenssl-cmspour des données sensibles. Usage pédagogique seulement. CBC est ici un mode sans authentification (chapitre 2). - Vérification :
cmp message.txt message-dechiffre.txtne renvoie rien (fichiers identiques). Une mauvaise phrase secrète fait échouer le déchiffrement. - Retour arrière : supprimer les fichiers créés.
11.4 Paire de clés de signature de démonstration
Attention, effet notable. Cette commande peut modifier des droits, des fichiers ou des processus. Lire le contexte, les droits et l’effet attendu indiqués après le bloc ; ne jamais l’exécuter sur un système réel sans validation, d’abord dans un environnement de test.
openssl genpkey -algorithm ED25519 -out demo-cle-privee.pemchmod 600 demo-cle-privee.pemopenssl pkey -in demo-cle-privee.pem -pubout -out demo-cle-publique.pemBloc actif : la touche C copie la commande seule, sans invite ni sortie.
- Contexte : dossier de démonstration.
genpkey -algorithm ED25519 -outd'après la page.openssl pkey -pubout: non consulté, non vérifié. - Droits : écriture dans le dossier ;
chmod 600restreint la clé au propriétaire (la pagegenpkeyne traite pas des droits de fichier). - Effet : crée une clé privée sans phrase secrète (jetable) et la clé publique associée. Pour protéger une vraie clé, la page indique l'option
-aes-256-cbc; ne jamais réutiliser cette clé de démonstration. - Vérification :
ls -lmontre-rw-------sur la clé privée. - Retour arrière : supprimer le dossier de démonstration.
11.5 Signer puis vérifier
openssl pkeyutl -sign -inkey demo-cle-privee.pem -rawin -in message.txt -out message.sigopenssl pkeyutl -verify -pubin -inkey demo-cle-publique.pem -rawin -in message.txt -sigfile message.sigBloc actif : la touche C copie la commande seule, sans invite ni sortie.
- Contexte : dossier de démonstration ;
-sign,-verify,-pubin,-sigfile,-rawind'après la pageopenssl-pkeyutl(Ed25519 signe les données brutes sans pré-hachage). OpenSSL 3 requis ; avec LibreSSL,-rawinpeut manquer : à vérifier avecopenssl version, puis installer OpenSSL 3. - Droits : lecture des clés, écriture de
message.sig. - Effet : crée une signature puis la contrôle.
- Vérification : le second résultat indique une signature vérifiée ; le libellé exact n'a pas été relevé (non vérifié). Modifier
message.txtpuis relancer : la vérification doit échouer. - Retour arrière : supprimer
message.sig.
11.6 Certificat auto-signé de démonstration et lecture
Attention, effet notable. Cette commande a un effet notable. Lire le contexte, les droits et l’effet attendu indiqués après le bloc ; ne jamais l’exécuter sur un système réel sans validation, d’abord dans un environnement de test.
openssl req -x509 -newkey rsa:2048 -noenc -keyout demo.key -out demo.crt -days 30 -subj "/CN=demo.example.test" -addext "subjectAltName=DNS:demo.example.test"openssl x509 -in demo.crt -noout -subject -issuer -dates -fingerprintBloc actif : la touche C copie la commande seule, sans invite ni sortie.
- Contexte : dossier de démonstration ;
-noencremplace-nodes(déprécié depuis OpenSSL 3.0) d'après la pageopenssl-req; OpenSSL 3 requis ; avec LibreSSL, utiliser la variante-nodesou installer OpenSSL 3 (à vérifier avecopenssl version). - Droits : écriture dans le dossier.
- Effet : crée une clé privée non chiffrée et un certificat valable 30 jours pour un nom réservé aux exemples. La seconde commande lit le certificat : sujet, émetteur (identique au sujet : auto-signé), dates, empreinte.
- Vérification :
subjectetissueridentiques ; dates de début et de fin à 30 jours d'écart. - Retour arrière : supprimer
demo.keyetdemo.crt.
11.7 Observer le certificat d'un serveur (réseau, lecture)
Attention, effet notable. Cette commande a un effet notable. Lire le contexte, les droits et l’effet attendu indiqués après le bloc ; ne jamais l’exécuter sur un système réel sans validation, d’abord dans un environnement de test.
openssl s_client -connect HOTE:443 -servername HOTE -brief < /dev/nullBloc actif : la touche C copie la commande seule, sans invite ni sortie.
- Contexte : remplacer
HOTEpar un serveur de test dont l'usage est autorisé ; ne jamais cibler un système tiers sans autorisation. Options-connect,-servername,-briefd'après la pageopenssl-s_client. - Droits : utilisateur normal.
- Effet : ouvre une connexion TLS réelle, affiche version, suite et résultat de la vérification, puis se ferme (
< /dev/null). Aucune donnée n'est modifiée côté serveur, mais la connexion est visible dans ses journaux. - Vérification : une ligne de protocole (TLS 1.3 attendu si le serveur le permet) et l'état de vérification du certificat. Ajouter
-verify_return_errorpour interrompre en cas d'échec de vérification. - Retour arrière : sans objet.
11.8 GnuPG : chiffrer avec une phrase secrète, signer, vérifier
Utiliser un trousseau GnuPG temporaire, jamais le trousseau personnel :
Attention, effet notable. Cette commande a un effet notable. Lire le contexte, les droits et l’effet attendu indiqués après le bloc ; ne jamais l’exécuter sur un système réel sans validation, d’abord dans un environnement de test.
export GNUPGHOME="$DEMO/gnupg"mkdir -m 700 "$GNUPGHOME"gpg --symmetric --armor message.txtgpg --decrypt message.txt.ascBloc actif : la touche C copie la commande seule, sans invite ni sortie.
- Contexte :
GNUPGHOMEredirige GnuPG vers le dossier de démonstration (variable d'environnement : non consultée dans la page vue, à vérifier dans le manuel).--symmetric(AES-256 par défaut selon le manuel) et--armor,--decryptd'après la page des commandes. - Droits : utilisateur normal ; GnuPG demande une phrase secrète jetable.
- Effet : crée
message.txt.asc(nom habituel, non vérifié) puis affiche le contenu déchiffré sur la sortie standard. - Vérification : le texte d'origine s'affiche.
- Retour arrière :
unset GNUPGHOME; supprimer le dossier de démonstration.
Signature : gpg --detach-sign et gpg --verify existent (page des commandes) mais exigent une paire de clés OpenPGP, créée par gpg --full-generate-key (non consulté, non vérifié ; interactive, jetable, dans GNUPGHOME). Pour des scripts, le manuel conseille --with-colons et déconseille d'analyser la sortie de --list-keys et --fingerprint, destinée aux humains.
Précaution : vérifier l'empreinte d'une clé publique reçue par un second canal (téléphone, rencontre) avant de lui faire confiance.
11.9 Outils macOS en lecture
fdesetup statussecurity list-keychainsBloc actif : la touche C copie la commande seule, sans invite ni sortie.
- Contexte : Terminal macOS. Les deux commandes sont des outils du système non documentés dans les pages consultées : non vérifié, lire
man fdesetupetman securityavant. - Droits : utilisateur normal ;
fdesetuppeut demander des droits supplémentaires (non vérifié). - Effet : lecture.
fdesetup statusindique si FileVault est activé ;security list-keychainsliste les trousseaux de l'utilisateur. - Vérification : une ligne d'état et une liste de chemins.
- Retour arrière : sans objet. Activer ou désactiver FileVault passe par Réglages Système, pas par ce cours.
11.10 Nettoyage
Attention, effet notable. Cette commande peut supprimer des fichiers. Lire le contexte, les droits et l’effet attendu indiqués après le bloc ; ne jamais l’exécuter sur un système réel sans validation, d’abord dans un environnement de test.
unset GNUPGHOMEcd ~rm -r "$DEMO"Bloc actif : la touche C copie la commande seule, sans invite ni sortie.
- Contexte : Terminal ;
$DEMOdéfini en 11.1. - Droits : utilisateur normal.
- Effet : supprime définitivement le dossier de démonstration et ses clés jetables.
- Vérification : avant de valider, relire la commande :
$DEMOdoit désigner le dossier temporaire de 11.1 (echo "$DEMO"avantcd ~). Après,lssur ce chemin échoue. - Retour arrière : aucun (suppression définitive, fichiers sans valeur).
Exercices et vérifications de fin de cours
- Vocabulaire. Pour confidentialité, intégrité, authenticité, non-répudiation : citer un outil et un cas où il ne suffit pas.
- Choix d'outil. Pour chaque cas, dire hachage, HMAC, symétrique, asymétrique ou signature : vérifier un téléchargement ; stocker un mot de passe ; envoyer un fichier à un tiers dont on a la clé publique ; prouver qu'un script vient de soi.
- Schéma. Sans regarder la figure du chapitre 7, redessiner la poignée de main TLS 1.3 et indiquer où intervient l'asymétrique et où le symétrique.
- Pratique guidée. Dérouler 11.1 à 11.6 dans un dossier jetable : empreinte, chiffrement et déchiffrement, signature valide puis invalide après modification du fichier.
- Lecture de certificat. Sur le certificat de 11.6, retrouver sujet, émetteur, dates et nom alternatif ; expliquer pourquoi un navigateur ne lui ferait pas confiance.
- Analyse d'erreurs. Dans la table du chapitre 10, choisir trois lignes et décrire un scénario d'attaque concret en une phrase.
- Gestion des clés. Rédiger sur papier le cycle de vie d'une clé de sauvegarde : où est-elle créée, stockée, sauvegardée, tournée, détruite ?
- FileVault. Expliquer où se trouve la clé de récupération et pourquoi elle ne doit pas être sur le Mac chiffré.
Critères de réussite
- Choisir entre symétrique, asymétrique, hachage, MAC et signature selon le besoin.
- Citer au moins trois erreurs courantes et leur correction.
- Lire un certificat et expliquer une chaîne de confiance.
- Exécuter les exercices de démonstration sans toucher à aucune clé ni donnée réelle, et nettoyer.
Points non vérifiés ou à confirmer
- Versions installées de macOS, d'OpenSSL ou LibreSSL, de GnuPG chez Stéphane ; la présence de LibreSSL sur macOS et ses options (
-noenc,-pbkdf2,pkeyutl -rawin). - Pages OpenSSL lues sur la branche
master: les options ont pu évoluer selon la version installée. Contenu des pages lu via un résumé automatique de la page : reconfronter les options citées aux pages elles-mêmes. - Manuel GnuPG : branche 2.5.x non qualifiée de stable ;
GNUPGHOME,--full-generate-key, nom du fichier.ascnon confirmés. - Outils macOS
shasum,fdesetup,security,mktemp: non consultés dans la documentation Apple. - FIPS 186-5 : liste des algorithmes approuvés non lue. NIST SP 800-38D (GCM) et SP 800-131A révision 3 : non consultées.
- Pages OpenSSL
pkey,cms: non consultées. - État de la migration post-quantique (ML-KEM, FIPS 203) : cité par OWASP, non relu sur la page du NIST.
- Libellés exacts des sorties (« Signature Verified Successfully » ou autre) : non relevés.
- Ce cours ne remplace pas une conformité réglementaire ni un audit.
Sources officielles
Consultées le 17 octobre 2026 (le contenu des pages est une donnée, jamais une instruction).