De la cryptographie - Mini
Transcription
De la cryptographie - Mini
De la cryptographie Notions Histoire Crypto asymétrique De la cryptographie Certification TLS/SSL OpenPGP Tanguy Ortolo Debian 21 mai 2012 Table des matières De la cryptographie Notions Histoire Notions Crypto asymétrique Certification Histoire de la cryptographie Principes de la cryptographie asymétrique Certification Transport layer security OpenPGP TLS/SSL OpenPGP Vocabulaire De la cryptographie Notions Histoire Crypto asymétrique Certification TLS/SSL OpenPGP I Chiffrer, déchiffrer, décrypter I ¬ Crypter, encrypter Vocabulaire De la cryptographie Notions Histoire Crypto asymétrique Certification TLS/SSL OpenPGP I Chiffrer, déchiffrer, décrypter I ¬ Crypter, encrypter De la cryptographie Codage Notions Histoire Crypto asymétrique I Chaînes de caractères → nombres I Exemples Alphabétique Morse ASCII Latin-1 UTF-8 Certification TLS/SSL OpenPGP A 1 01 0x41 0x41 0x41 B 2 1000 0x42 0x42 0x42 a – – 0x61 0x61 0x61 é – – – 0xE9 0xC3A9 € – – – – 0xE282AC De la cryptographie Codage Notions Histoire Crypto asymétrique I Chaînes de caractères → nombres I Exemples Alphabétique Morse ASCII Latin-1 UTF-8 Certification TLS/SSL OpenPGP A 1 01 0x41 0x41 0x41 B 2 1000 0x42 0x42 0x42 a – – 0x61 0x61 0x61 é – – – 0xE9 0xC3A9 € – – – – 0xE282AC Hachage cryptographique De la cryptographie Notions Histoire Crypto asymétrique Certification I Message → condensé de vérification Toto 998db284485ec6c227f8dc34086128e1 toto f71dbe52628a3f83a77ab494817525c6 Messages ≠ ⇒ hachages ≠ I Hachages ≠ ⇒ messages ≠ I Preuve par 9, clef RIB… I TLS/SSL OpenPGP Hachage cryptographique De la cryptographie Notions Histoire Crypto asymétrique Certification I Message → condensé de vérification Toto 998db284485ec6c227f8dc34086128e1 toto f71dbe52628a3f83a77ab494817525c6 Messages ≠ ⇒ hachages ≠ I Hachages ≠ ⇒ messages ≠ I Preuve par 9, clef RIB… I TLS/SSL OpenPGP Hachage cryptographique De la cryptographie Notions Histoire Crypto asymétrique Certification I Message → condensé de vérification Toto 998db284485ec6c227f8dc34086128e1 toto f71dbe52628a3f83a77ab494817525c6 Messages ≠ ⇒ hachages ≠ I Hachages ≠ ⇒ messages ≠ I Preuve par 9, clef RIB… I TLS/SSL OpenPGP Hachage cryptographique De la cryptographie Notions Histoire Crypto asymétrique Certification I Message → condensé de vérification Toto 998db284485ec6c227f8dc34086128e1 toto f71dbe52628a3f83a77ab494817525c6 Messages ≠ ⇒ hachages ≠ I Hachages ≠ ⇒ messages ≠ I Preuve par 9, clef RIB… I TLS/SSL OpenPGP Hachage cryptographique De la cryptographie Notions Histoire Crypto asymétrique Certification I Message → condensé de vérification Toto 998db284485ec6c227f8dc34086128e1 toto f71dbe52628a3f83a77ab494817525c6 Messages ≠ ⇒ hachages ≠ I Hachages ≠ ⇒ messages ≠ I Preuve par 9, clef RIB… I TLS/SSL OpenPGP Hachage cryptographique De la cryptographie Notions Histoire Crypto asymétrique Certification I Message → condensé de vérification Toto 998db284485ec6c227f8dc34086128e1 toto f71dbe52628a3f83a77ab494817525c6 Messages ≠ ⇒ hachages ≠ I Hachages ≠ ⇒ messages ≠ I Preuve par 9, clef RIB… I TLS/SSL OpenPGP Hachage cryptographique De la cryptographie Notions Histoire Crypto asymétrique Certification I Message → condensé de vérification Toto 998db284485ec6c227f8dc34086128e1 toto f71dbe52628a3f83a77ab494817525c6 Messages ≠ ⇒ hachages ≠ I Hachages ≠ ⇒ messages ≠ I Preuve par 9, clef RIB… I TLS/SSL OpenPGP Chiffres historiques De la cryptographie Notions Histoire Crypto asymétrique Certification Stéganographie César IL FAIT BEAU + 33 3333 3333 = LO IDLW EHDX Autres mono-alphabétiques Attaques fréquence des lettres TLS/SSL OpenPGP Chiffres historiques De la cryptographie Notions Histoire Crypto asymétrique Certification Stéganographie César IL FAIT BEAU + 33 3333 3333 = LO IDLW EHDX Autres mono-alphabétiques Attaques fréquence des lettres TLS/SSL OpenPGP Chiffres historiques De la cryptographie Notions Histoire Crypto asymétrique Certification Stéganographie César IL FAIT BEAU + 33 3333 3333 = LO IDLW EHDX Autres mono-alphabétiques Attaques fréquence des lettres TLS/SSL OpenPGP Course au chiffre De la cryptographie Notions Histoire I Chiffres manuels 1586 Vigenère IL FAIT BEAU CL EFCL EFCL LX KGLF GKDG 1854 Attaque de Babbage I Chiffres mécaniques 1919–1926 Enigma 1933–1941 Attaque complexe… I Chiffres électroniques : DES, 3DES, AES… Crypto asymétrique Certification TLS/SSL OpenPGP Course au chiffre De la cryptographie Notions Histoire I Chiffres manuels 1586 Vigenère IL FAIT BEAU CL EFCL EFCL LX KGLF GKDG 1854 Attaque de Babbage I Chiffres mécaniques 1919–1926 Enigma 1933–1941 Attaque complexe… I Chiffres électroniques : DES, 3DES, AES… Crypto asymétrique Certification TLS/SSL OpenPGP Course au chiffre De la cryptographie Notions Histoire I Chiffres manuels 1586 Vigenère IL FAIT BEAU CL EFCL EFCL LX KGLF GKDG 1854 Attaque de Babbage I Chiffres mécaniques 1919–1926 Enigma 1933–1941 Attaque complexe… I Chiffres électroniques : DES, 3DES, AES… Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Cryptographie asymétriques Notions Histoire Crypto asymétrique Certification I I I Chiffres symétriques : secret partagé… Alice Bob g ←→ g Échange de clefs a gb g ab Chiffres asymétriques ga −→ gb ←− ga b g ab TLS/SSL OpenPGP De la cryptographie Cryptographie asymétriques Notions Histoire Crypto asymétrique Certification I I I Chiffres symétriques : secret partagé… Alice Bob g ←→ g Échange de clefs a gb g ab Chiffres asymétriques ga −→ gb ←− ga b g ab TLS/SSL OpenPGP De la cryptographie Cryptographie asymétriques Notions Histoire Crypto asymétrique Certification I I I Chiffres symétriques : secret partagé… Alice Bob g ←→ g Échange de clefs a gb g ab Chiffres asymétriques ga −→ gb ←− ga b g ab TLS/SSL OpenPGP Principes généraux De la cryptographie Notions Histoire Crypto asymétrique Certification I Fonctions à sens unique avec trappe : I I I fP fP−1 ⁇ fS = fP−1 ! I P = clef publique I S = clef privée – secrète I Inconvénient : lent… TLS/SSL OpenPGP Principes généraux De la cryptographie Notions Histoire Crypto asymétrique Certification I Fonctions à sens unique avec trappe : I I I fP fP−1 ⁇ fS = fP−1 ! I P = clef publique I S = clef privée – secrète I Inconvénient : lent… TLS/SSL OpenPGP Principes généraux De la cryptographie Notions Histoire Crypto asymétrique Certification I Fonctions à sens unique avec trappe : I I I fP fP−1 ⁇ fS = fP−1 ! I P = clef publique I S = clef privée – secrète I Inconvénient : lent… TLS/SSL OpenPGP De la cryptographie Utilisation pratique Notions Histoire Crypto asymétrique Transmission Alice (A, A0 ) B Chiffrement A Certification A TLS/SSL B (B, B0 ) OpenPGP −→ ←− M M0 = fB (M) Signature Bob M0 M0 M = fB0 (M0 ) M∗ M∗ −→ M M∗ = fA0 (M) −→ ? fA (M∗ ) = M De la cryptographie Utilisation pratique Notions Histoire Crypto asymétrique Transmission Alice (A, A0 ) B Chiffrement A Certification A TLS/SSL B (B, B0 ) OpenPGP −→ ←− M M0 = fB (M) Signature Bob M0 M0 M = fB0 (M0 ) M∗ M∗ −→ M M∗ = fA0 (M) −→ ? fA (M∗ ) = M De la cryptographie Utilisation pratique Notions Histoire Crypto asymétrique Transmission Alice (A, A0 ) B Chiffrement A Certification A TLS/SSL B (B, B0 ) OpenPGP −→ ←− M M0 = fB (M) Signature Bob M0 M0 M = fB0 (M0 ) M∗ M∗ −→ M M∗ = fA0 (M) −→ ? fA (M∗ ) = M Problème de l'authenticité des clefs De la cryptographie Notions Histoire Crypto asymétrique Certification TLS/SSL I Problème : vraie clef d'Alice ? I Attaque de l'homme du milieu Alice Oscar (A, A0 ) M A −→ fA (M) ←− (O, O 0 ) M OpenPGP Bob O −→ fO (M) ←− M Problème de l'authenticité des clefs De la cryptographie Notions Histoire Crypto asymétrique Certification TLS/SSL I Problème : vraie clef d'Alice ? I Attaque de l'homme du milieu Alice Oscar (A, A0 ) M A −→ fA (M) ←− (O, O 0 ) M OpenPGP Bob O −→ fO (M) ←− M De la cryptographie Confiance directe Notions Histoire Crypto asymétrique Certification TLS/SSL OpenPGP I Transmission en personne I Inconvénient : peu efficace moi De la cryptographie Autorités de certification I Déléguer sa confiance I Autorité de certification : reconnue par « les gens » I Certificat : I Clef publique, identité I Signature d'une autorité I Utilisé pour SSL sur Internet I Avantage : répond au problème Inconvénients : I I pas de contrôle citoyen I peu nombreuses I vérifient mal I pas forcément intègres Notions Histoire Crypto asymétrique Certification moi AC TLS/SSL OpenPGP De la cryptographie Autorités de certification I Déléguer sa confiance I Autorité de certification : reconnue par « les gens » I Certificat : I Clef publique, identité I Signature d'une autorité I Utilisé pour SSL sur Internet I Avantage : répond au problème Inconvénients : I I pas de contrôle citoyen I peu nombreuses I vérifient mal I pas forcément intègres Notions Histoire Crypto asymétrique Certification moi AC TLS/SSL OpenPGP De la cryptographie Autorités de certification I Déléguer sa confiance I Autorité de certification : reconnue par « les gens » I Certificat : I Clef publique, identité I Signature d'une autorité I Utilisé pour SSL sur Internet I Avantage : répond au problème Inconvénients : I I pas de contrôle citoyen I peu nombreuses I vérifient mal I pas forcément intègres Notions Histoire Crypto asymétrique Certification moi AC TLS/SSL OpenPGP De la cryptographie Autorités de certification I Déléguer sa confiance I Autorité de certification : reconnue par « les gens » I Certificat : I Clef publique, identité I Signature d'une autorité I Utilisé pour SSL sur Internet I Avantage : répond au problème Inconvénients : I I pas de contrôle citoyen I peu nombreuses I vérifient mal I pas forcément intègres Notions Histoire Crypto asymétrique Certification moi AC TLS/SSL OpenPGP De la cryptographie Réseau de confiance Notions I Certifications multiples I Autorités de certifications : potentiellement tout le monde Crypto asymétrique Certificat : TLS/SSL I Histoire Certification OpenPGP I I I Clef publique, identité I Signature d'un garant n°1 I Signature d'un garant n°2 I … Avantage : beaucoup plus résistant Inconvénients : I lent à construire I aucun intérêt commercial moi De la cryptographie Réseau de confiance Notions I Certifications multiples I Autorités de certifications : potentiellement tout le monde Crypto asymétrique Certificat : TLS/SSL I Histoire Certification OpenPGP I I I Clef publique, identité I Signature d'un garant n°1 I Signature d'un garant n°2 I … Avantage : beaucoup plus résistant Inconvénients : I lent à construire I aucun intérêt commercial moi De la cryptographie Réseau de confiance Notions I Certifications multiples I Autorités de certifications : potentiellement tout le monde Crypto asymétrique Certificat : TLS/SSL I Histoire Certification OpenPGP I I I Clef publique, identité I Signature d'un garant n°1 I Signature d'un garant n°2 I … Avantage : beaucoup plus résistant Inconvénients : I lent à construire I aucun intérêt commercial moi De la cryptographie Transport layer security Notions Histoire I 1. paire de clefs 2. demande de certificat 3. certification I Certification Clef privée Client : I I Crypto asymétrique Serveur : liste d'autorités Connexion à un serveur : 1. serveur : certificat 2. client : accepte ou pas 3. clef de chiffrement symétrique 4. flux chiffré I Clef publique TLS/SSL OpenPGP De la cryptographie Transport layer security Notions Histoire I 1. paire de clefs 2. demande de certificat 3. certification I Client : I I Crypto asymétrique Serveur : liste d'autorités Certification Clef privée Demande Connexion à un serveur : I Clef publique 1. serveur : certificat 2. client : accepte ou pas 3. clef de chiffrement symétrique 4. flux chiffré I Nom de domaine TLS/SSL OpenPGP De la cryptographie Transport layer security Notions Histoire I 1. paire de clefs 2. demande de certificat 3. certification I Client : I I Crypto asymétrique Serveur : liste d'autorités Certification Clef privée Certificat Connexion à un serveur : I Clef publique 1. serveur : certificat 2. client : accepte ou pas 3. clef de chiffrement symétrique 4. flux chiffré I Nom de domaine I Signature TLS/SSL OpenPGP De la cryptographie Transport layer security Notions Histoire I 1. paire de clefs 2. demande de certificat 3. certification I Client : I I Crypto asymétrique Serveur : liste d'autorités Certification Clef privée Certificat Connexion à un serveur : I Clef publique 1. serveur : certificat 2. client : accepte ou pas 3. clef de chiffrement symétrique 4. flux chiffré I Nom de domaine I Signature TLS/SSL OpenPGP De la cryptographie Transport layer security Notions Histoire I 1. paire de clefs 2. demande de certificat 3. certification I Client : I I Crypto asymétrique Serveur : liste d'autorités Certification Clef privée Certificat Connexion à un serveur : I Clef publique 1. serveur : certificat 2. client : accepte ou pas 3. clef de chiffrement symétrique 4. flux chiffré I Nom de domaine I Signature TLS/SSL OpenPGP De la cryptographie Transport layer security Notions Histoire I 1. paire de clefs 2. demande de certificat 3. certification I Client : I I Crypto asymétrique Serveur : liste d'autorités Certification Clef privée Certificat Connexion à un serveur : I Clef publique 1. serveur : certificat 2. client : accepte ou pas 3. clef de chiffrement symétrique 4. flux chiffré I Nom de domaine I Signature TLS/SSL OpenPGP De la cryptographie Transport layer security Notions Histoire I 1. paire de clefs 2. demande de certificat 3. certification I Client : I I Crypto asymétrique Serveur : liste d'autorités Certification Clef privée Certificat Connexion à un serveur : I Clef publique 1. serveur : certificat 2. client : accepte ou pas 3. clef de chiffrement symétrique 4. flux chiffré I Nom de domaine I Signature TLS/SSL OpenPGP Cas pratiques De la cryptographie Notions Histoire I I I I transmission en clair vulnérable : écoutes, interceptions données sensibles : fuyez ! Crypto asymétrique Certification TLS/SSL OpenPGP I I I I I transmission chiffrée propriétaire de la clef ? invulnérable : écoutes simples vulnérable : interceptions I I I I I transmission chiffrée propriétaire de la clef garanti invulnérable : écoutes, interceptions vulnérable : vol de clef, corruption d'une AC Cas pratiques De la cryptographie Notions Histoire I I I I transmission en clair vulnérable : écoutes, interceptions données sensibles : fuyez ! Crypto asymétrique Certification TLS/SSL OpenPGP I I I I I transmission chiffrée propriétaire de la clef ? invulnérable : écoutes simples vulnérable : interceptions I I I I I transmission chiffrée propriétaire de la clef garanti invulnérable : écoutes, interceptions vulnérable : vol de clef, corruption d'une AC Cas pratiques De la cryptographie Notions Histoire I I I I transmission en clair vulnérable : écoutes, interceptions données sensibles : fuyez ! Crypto asymétrique Certification TLS/SSL OpenPGP I I I I I transmission chiffrée propriétaire de la clef ? invulnérable : écoutes simples vulnérable : interceptions I I I I I transmission chiffrée propriétaire de la clef garanti invulnérable : écoutes, interceptions vulnérable : vol de clef, corruption d'une AC Cas pratiques De la cryptographie Notions Histoire I I I I transmission en clair vulnérable : écoutes, interceptions données sensibles : fuyez ! Crypto asymétrique Certification TLS/SSL OpenPGP I I I I I transmission chiffrée propriétaire de la clef ? invulnérable : écoutes simples vulnérable : interceptions I I I I I transmission chiffrée propriétaire de la clef garanti invulnérable : écoutes, interceptions vulnérable : vol de clef, corruption d'une AC Cas pratiques De la cryptographie Notions Histoire I I I I transmission en clair vulnérable : écoutes, interceptions données sensibles : fuyez ! Crypto asymétrique Certification TLS/SSL OpenPGP I I I I I transmission chiffrée propriétaire de la clef ? invulnérable : écoutes simples vulnérable : interceptions I I I I I transmission chiffrée propriétaire de la clef garanti invulnérable : écoutes, interceptions vulnérable : vol de clef, corruption d'une AC Cas pratiques De la cryptographie Notions Histoire I I I I transmission en clair vulnérable : écoutes, interceptions données sensibles : fuyez ! Crypto asymétrique Certification TLS/SSL OpenPGP I I I I I transmission chiffrée propriétaire de la clef ? invulnérable : écoutes simples vulnérable : interceptions I I I I I transmission chiffrée propriétaire de la clef garanti invulnérable : écoutes, interceptions vulnérable : vol de clef, corruption d'une AC De la cryptographie Origine Notions Histoire I Zimmermann I I I I I I vie privée menacée cryptographie restrictions développer tant que c'est possible succès indirect Pretty good privacy — PGP I I I cryptographie asymétrique réseau de confiance semi-libre, livre imprimé I OpenPGP : normalisation I GnuPG — GPG : mise en œuvre libre Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Origine Notions Histoire I Zimmermann I I I I I I vie privée menacée cryptographie restrictions développer tant que c'est possible succès indirect Pretty good privacy — PGP I I I cryptographie asymétrique réseau de confiance semi-libre, livre imprimé I OpenPGP : normalisation I GnuPG — GPG : mise en œuvre libre Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Origine Notions Histoire I Zimmermann I I I I I I vie privée menacée cryptographie restrictions développer tant que c'est possible succès indirect Pretty good privacy — PGP I I I cryptographie asymétrique réseau de confiance semi-libre, livre imprimé I OpenPGP : normalisation I GnuPG — GPG : mise en œuvre libre Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Origine Notions Histoire I Zimmermann I I I I I I vie privée menacée cryptographie restrictions développer tant que c'est possible succès indirect Pretty good privacy — PGP I I I cryptographie asymétrique réseau de confiance semi-libre, livre imprimé I OpenPGP : normalisation I GnuPG — GPG : mise en œuvre libre Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Origine Notions Histoire I Zimmermann I I I I I I vie privée menacée cryptographie restrictions développer tant que c'est possible succès indirect Pretty good privacy — PGP I I I cryptographie asymétrique réseau de confiance semi-libre, livre imprimé I OpenPGP : normalisation I GnuPG — GPG : mise en œuvre libre Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Origine Notions Histoire I Zimmermann I I I I I I vie privée menacée cryptographie restrictions développer tant que c'est possible succès indirect Pretty good privacy — PGP I I I cryptographie asymétrique réseau de confiance semi-libre, livre imprimé I OpenPGP : normalisation I GnuPG — GPG : mise en œuvre libre Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Origine Notions Histoire I Zimmermann I I I I I I vie privée menacée cryptographie restrictions développer tant que c'est possible succès indirect Pretty good privacy — PGP I I I cryptographie asymétrique réseau de confiance semi-libre, livre imprimé I OpenPGP : normalisation I GnuPG — GPG : mise en œuvre libre Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Origine Notions Histoire I Zimmermann I I I I I I vie privée menacée cryptographie restrictions développer tant que c'est possible succès indirect Pretty good privacy — PGP I I I cryptographie asymétrique réseau de confiance semi-libre, livre imprimé I OpenPGP : normalisation I GnuPG — GPG : mise en œuvre libre Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Notions Notions Histoire Crypto asymétrique I Clef I I I privée, publique empreinte identifiant I Identités I Signatures I Modèle de confiance I Clef privée Certification TLS/SSL OpenPGP I Clef publique I Photo De la cryptographie Notions Notions Histoire Crypto asymétrique I Clef I I I privée, publique empreinte identifiant I Identités I Signatures I Modèle de confiance I Clef privée Certification TLS/SSL OpenPGP I Clef publique I Photo De la cryptographie Notions Notions Histoire 4B10 D847 I Clef I I I privée, publique empreinte identifiant I Identités I Signatures I Modèle de confiance I Clef privée 4B10 D847 I Clef publique I Photo Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Notions Notions Histoire 4B10 D847 I Clef I I I privée, publique empreinte identifiant I Identités I Signatures I Modèle de confiance I Clef privée 4B10 D847 I Clef publique Prénom Nom <adr1> I Prénom Nom <adr2> I Photo I Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Notions Notions Histoire 4B10 D847 I Clef I I I privée, publique empreinte identifiant I Clef privée 4B10 D847 I I Clef publique Prénom Nom <adr1> I Identités I I Signatures I I Modèle de confiance I Prénom Nom <adr2> I I Auto-signature Signature de Untel Auto-signature Photo Crypto asymétrique Certification TLS/SSL OpenPGP De la cryptographie Notions Notions Histoire 4B10 D847 I Clef I I I privée, publique empreinte identifiant I Clef privée 4B10 D847 I I Clef publique Prénom Nom <adr1> I Identités I I Signatures I I Modèle de confiance I Prénom Nom <adr2> I I Auto-signature Signature de Untel Auto-signature Photo Crypto asymétrique Certification TLS/SSL OpenPGP