Fonctionnement des PKI
|
|
|
- Louise Chevalier
- il y a 10 ans
- Total affichages :
Transcription
1 HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Fonctionnement des PKI Franck Davy Franck Davy
2 Fonctionnement des PKI Bases de cryptographie
3 Plan Introduction Notions de base Algorithmes à clef secrète à clef publique Fonctions de hachage Mécanismes Chiffrement Signature En pratique Boîte à outils Messagerie électronique sécurisée avec S/MIME Franck Davy - Hervé Schauer Consultants Reproduction Interdite
4 Introduction
5 Vocabulaire et notions de base
6 Vocabulaire Services de sécurité Confidentialité Intégrité Authentification Non répudiation Mécanismes Mécanismes mettant en oeuvre les services précédents, fondés sur les algorithmes cryptographiques Chiffrement Signature Chiffrement et signature étroitement liés (chiffrement d'un condensât) Scellement Algorithmes Algorithmes symétriques, à clef secrète Algorithmes asymétriques, à clef publique Franck Davy - Hervé Schauer Consultants Reproduction Interdite
7 Algorithmes à clef secrète
8 Algorithmes à clef secrète (1/4) Algorithmes dits «symétriques» Caractéristiques Opérations de chiffrement et déchiffrement identiques Clef identique pour les opérations de chiffrement et déchiffrement Utilisation pour le chiffrement de données Rapidité, et facilité de mise en oeuvre sur des circuits «bon marché» Problème de la distribution des clefs 1.Transport sécurisé de la clef de chiffrement? Problématique de l'échange de clef 2.Nombre de clefs échangées (en n²) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
9 Schéma de principe Algorithmes à clef secrète (2/4) Transmission de la clef de chiffrement par un canal sécurisé Émetteur du message Message en clair z n âøo! mlìûîš <;êlè_a Ým î lz cûáy vâbî CŽXi^Lè- ¼ s7²r sê:'ñ ävš}aˆùäìi «CtlJÕ Destinataire n 1 Message en clair Destinataire n 2 Message en clair Franck Davy - Hervé Schauer Consultants Reproduction Interdite
10 Algorithmes à clef secrète (3/4) Algorithmes de chiffrement en continu (stream Cipher) Chiffrement bit à bit Exemple : RC4 (RSA Security) Taille de clef variable (128 bits en pratique) Algorithmes de chiffrement par blocs (Block Cipher) Chiffrement par blocs de texte clair 64 bits (DES), 128 bits (AES) Modes ECB, CBC, CFB, OFB DES (56 bits), 3DES (clef de 168 bits en EDE3, 112 bits en EDE) RC2 (128 bits), Blowfish (128bits, jusqu'à 448 bits), AES (128, 192, 256 bits), IDEA (128 bits, brevet ASCOM en Europe et USA pour un usage commercial) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
11 Principal usage Algorithmes à clef secrète (4/4) Service de confidentialité Subsiste le problème de la distribution des clefs de chiffrement Peut également assurer un service d'authentification Sans service de non répudiation L'utilisateur n'est pas le seul à pouvoir produire la signature! Exemple de la Monétique : Cybercomm (système d'authentification dynamique) Clef secrète dépendante du porteur (carte à puce) Chiffrement (DES 56 bits) des paramètres suivants : Montant de la transaction Identifiant du commerçant Date (contre le rejeu) Authentification au niveau des DAB par la piste magnétique Franck Davy - Hervé Schauer Consultants Reproduction Interdite
12 Algorithmes à clef publique
13 Algorithmes à clef publique (1/16) Algorithmes dits «asymétriques» Limitation des algorithmes à clef secrète : Problématique de l'échange de la clef de chiffrement Établissement préalable d'un canal sûr pour la transmission de la clef Systèmes à clef publique Clef de chiffrement e, rendue publique Clef de déchiffrement d, gardée secrète d non déductible modulo la connaissance de e Par exemple : utilisation d'une fonction à sens unique : f(x) = x e [n]...sous certaines conditions Chiffrement d'un message à l'aide de la clef publique e Pas de communication préalable entre les tiers communiquants Franck Davy - Hervé Schauer Consultants Reproduction Interdite
14 Algorithmes à clef publique (2/16) Chiffrement Message en clair z n âøo! mlìûîš <;êlè_a Ým î lz cûáy vâbî Message en clair Chiffrement par l'émetteur avec la clef publique du destinataire Déchiffrement par le destinataire avec sa clef privée Signature Message en clair Message en clair Message en clair Chiffrement par l'émetteur avec sa clef privée Déchiffrement par les destinataires avec la clef publique de l'émetteur Franck Davy - Hervé Schauer Consultants Reproduction Interdite
15 Algorithmes à clef publique (3/16) Transport de clef de session Message en clair z n âøo! mlìûîš <;êlè_a Ým î lz cûáy vâbî Clef de session Clef publique destinataire z n âøo! mlìûîš <;êlè_a Ým î lz cûáy vâbî Message en clair Clef privée destinataire Franck Davy - Hervé Schauer Consultants Reproduction Interdite
16 Algorithme RSA Algorithmes à clef publique (4/16) Publié par Rivest, Shamir et Adelman en 1977 Fondé sur la difficulté de la factorisation des grands nombres Schéma Sécurité dite «calculatoire» : système inconditionnellement sûr 1.On choisit p, q deux «grands» nombres premiers 2.On calcule n=p.q 3.Un entier e est choisi tel que premier avec (p-1) et (q-1) 4.L'entier d tel que ed = 1 [(p-1)(q-1)] est calculé, avec l'algorithme d'euclide le couple d'entier (n, e) représente la clef publique L'entier d représente la clef privée Franck Davy - Hervé Schauer Consultants Reproduction Interdite
17 Chiffrement RSA Algorithmes à clef publique (5/16) Soit le message M, M' est le message chiffré obtenu par exponentiation modulaire M' = M e [n] Pour le déchiffrement, on calcule M' d [n] M ed = M [n], car ed = 1 [(p-1)(q-1)] par construction Signature RSA Opération de chiffrement, en inversant les rôles de e et d Le message émis est le couple (M, M d [n]) Tout le monde peut vérifier la signature par possession de la clef publique Service de non répudiation Sécurité calculatoire : repose sur la difficulté de factoriser n Franck Davy - Hervé Schauer Consultants Reproduction Interdite
18 Algorithmes à clef publique (6/16) Clef RSA principalement sous 2 formats : Format binaire : encodage de la structure ASN.1 suivant la syntaxe de transfert distinctive DER (sans ambiguïté) Format ASCII imprimable : object binaire précédent encodé au format PEM Possibilité de conserver la clef privée RSA chiffrée DES, 3DES ou IDEA (en mode CBC) par exemple Informations concernant les algorithmes dans les en-têtes PEM (IV, notamment) Format PEM «Privacy Enhanced-Mail» (RFC ) 1. Executive Summary This document defines message encryption and authentication procedures, in order to provide privacy-enhanced mail (PEM) services for electronic mail transfer in the Internet. It is intended to become one member of a related set of four RFCs. The procedures defined in the current document are intended to be compatible with a wide range of key management approaches, including both symmetric (secret-key) and asymmetric (public-key) approaches for encryption of data encrypting keys Franck Davy - Hervé Schauer Consultants Reproduction Interdite
19 Algorithmes à clef publique (7/16) Format général d'un message au format PEM -----BEGIN PRIVACY-ENHANCED MESSAGE----- Proc-Type: 4,ENCRYPTED Content-Domain: RFC822 DEK-Info: DES-CBC,F8143EDE5960C597 Originator-ID-Symmetric: Recipient-ID-Symmetric: Key-Info: DES-ECB,RSA-MD2,9FD3AAD2F2691B9A,B70665BB9BF7CBCDA60195DB94F727D3 Recipient-ID-Symmetric: Key-Info: DES-ECB,RSA-MD2,161A3F75DC82EF26,E2EF532C65CBCFF79F83 A DB47LlrHB0eJzyhP+/fSStdW8okeEnv47jxe7SJ/iN72ohNcUk2jHEU SoH1nvNSIWL9MdXd/H5LMDWnonNvPCwQUHt== -----END PRIVACY-ENHANCED MESSAGE----- Messages chiffrés «PEM Part III : Algorithms, Modes, and Identifiers» (RFC1423) Exemple : Chiffrement DES-CBC En-tête Proc-Type Identifiant de version de la RFC (4), ENCRYPTED (service de sécurité mis en oeuvre) En-tête DEK-Info : Identifiant d'algorithme (DES-CBC), vecteur d'initialisation (F8143EDE5960C597) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
20 Algorithmes à clef publique (8/16) «RSA Cryptography Specifications» (RFC2437) Recommandations sur la mise en oeuvre d'un cryptosystème fondé sur RSA Anciennement : PKCS#1 «RSA Cryptography Standard» Structure ASN.1 Clef publique RSA (« Public-key syntax») RSAPublicKey::=SEQUENCE{ modulus INTEGER, -- n publicexponent INTEGER e } Clef privée RSA (« Private-key syntax») RSAPrivateKey ::= SEQUENCE { version Version, modulus INTEGER,& -- n publicexponent INTEGER, -- e privateexponent INTEGER, -- d prime1 INTEGER, -- p prime2 INTEGER, -- q exponent1 INTEGER, -- d mod (p-1) exponent2 INTEGER, -- d mod (q-1) coefficient INTEGER -- (inverse of q) mod p } Clef RSA obtenue par encodage DER de la structure ASN.1 (fichier binaire) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
21 Algorithmes à clef publique (9/16) Exemple de génération d'une clef privée RSA Modulus n = 512 bits, exposant public e = 3 $ openssl genrsa tee rsa.pem Generating RSA private key, 512 bit long modulus e is 3 (0x3) -----BEGIN RSA PRIVATE KEY----- MIIBOQIBAAJBALGWJEoGAC6fYqpG9vCx1LEcjFtrhw2WDZ71Ne+Q2ZvgbqDE9j8S IsjEStKc2UZ/w2bnPc8k+3LTTGCTQ9SAdsMCAwEAAQJAT9VlXvmvn0X7vvzECpSH P0/MMVT3k73/RZSKuLXvfcj5Lsmce/rMWQkNxC2a5G32UzNvDbOrRIW1O3QCXZNh kqihaogrwfk4bnjjejgsgwvvaq3yntyoirfl79ienkczkv7laieayxrk9uua+vek ul1oad2kondzrqdb0snuohepinz3hicciftmcmmgp+8zjbwgkinfyryuqjmxn9gv 2ZxLx+PVxCdBAiAaD4KYJd8tpCQ/7c1dCJ0b9VMziQYp57o0d9Zo4e2dtQIgbxdY Fsf591Z/Q9sZkoxgUMpuSxBBC8qxWyUGHcEF+DY= -----END RSA PRIVATE KEY----- Clef privée RSA au format PEM (sans chiffrement) Structure ASN.1 encodée suivant la syntaxe de transfert DER (Distinguished Encoding Rules) La suite d'octets (OCTET STRING) obtenue est encodée en base Franck Davy - Hervé Schauer Consultants Reproduction Interdite
22 Algorithmes à clef publique (10/16) Comparaison des formats PEM et DER Conversion avec rsa(1ssl) $ openssl rsa -inform PEM -in./rsa.pem -outform DER./rsa.DER $ cat./rsa.der 0b G}»Öƒ¾n $&% # "! Encodage en base64 du fichier binaire avec enc(1ssl), *+ ')( / 3 21 $ cat./rsa.der openssl base64 -e MIIBOQIBAAJBALGWJEoGAC6fYqpG9vCx1LEcjFtrhw2WDZ71Ne+Q2ZvgbqDE9j8S IsjEStKc2UZ/w2bnPc8k+3LTTGCTQ9SAdsMCAwEAAQJAT9VlXvmvn0X7vvzECpSH P0/MMVT3k73/RZSKuLXvfcj5Lsmce/rMWQkNxC2a5G32UzNvDbOrRIW1O3QCXZNh kqihaogrwfk4bnjjejgsgwvvaq3yntyoirfl79ienkczkv7laieayxrk9uua+vek ul1oad2kondzrqdb0snuohepinz3hicciftmcmmgp+8zjbwgkinfyryuqjmxn9gv 2ZxLx+PVxCdBAiAaD4KYJd8tpCQ/7c1dCJ0b9VMziQYp57o0d9Zo4e2dtQIgbxdY Fsf591Z/Q9sZkoxgUMpuSxBBC8qxWyUGHcEF+DY= Franck Davy - Hervé Schauer Consultants Reproduction Interdite
23 Structure ASN.1 Algorithmes à clef publique (11/16) $ dumpasn1./rsa.der : SEQUENCE { : INTEGER : INTEGER : 00 B A E 9F 62 AA 46 F6 F0 B1 D4 : B1 1C 8C 5B 6B 87 0D 96 0D 9E F5 35 EF 90 D9 9B : E0 6E A0 C4 F6 3F C8 C4 4A D2 9C D9 46 7F : C3 66 E7 3D CF 24 FB 72 D3 4C D : C : INTEGER : INTEGER [...] : INTEGER [...] : INTEGER [...] : INTEGER [...] : INTEGER [...] : INTEGER : 6F C7 F9 F7 56 7F 43 DB C : CA 6E 4B B CA B1 5B D C1 05 F8 36 : } Franck Davy - Hervé Schauer Consultants Reproduction Interdite
24 Algorithmes à clef publique (12/16) Clef RSA chiffrée Algorithme symétrique DES, en mode CBC En pratique $ openssl genrsa -3 -DES 512 Generating RSA private key, 512 bit long modulus e is 3 (0x3) Enter PEM pass phrase: Verifying password - Enter PEM pass phrase: Vecteur d'initialisation -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-CBC,3F05FF3C5103E3BB VjgE0b88PXaA8QzwuqlRyzwVrWtIUu68vXH7FzMtAWaHHrUyK6gjPHh6nHtho+Yy RB1fn9UKMl2pzJi6dJW9J1kYJafjhuLAM09pAJYJ51F9P37qvu2TGnNq5QjutoGy Otz0H2s/OeUNmdWcGFrRnjMwXMQ8Ssaa28SHy/V0sPG8VQXdHxwBGSR3JP/Tf00C /j5y9uzblgw1gt1m4bg5howtvsjvbez1/r83dvzsbgg= -----END RSA PRIVATE KEY----- Chiffrement de la clef RSA (au format DER) en DES (mode CBC) Encodage du binaire obtenu en en base 64 La clef de chiffrement DES et le vecteur d'initialisation (IV, utilisé par le mode CBC) sont dérivés du mot de passe fourni par l'utilisateur Franck Davy - Hervé Schauer Consultants Reproduction Interdite
25 Algorithmes à clef publique (13/16) Génération des nombres premiers p et q $ openssl genrsa 1024 Generating RSA private key, 1024 bit long modulus e is (0x10001) -----BEGIN RSA PRIVATE KEY... Tests de primalité Difficulté d'engendrer de «grands» nombres premiers «aléatoires» Tests de primalité probabilistes Test de Sieve Symbolisé par «.» Test rapide, préliminaire Mis en oeuvre dans PGP Test de Miller-Rabin Symbolisé par «+» Méthode décrite dans «Handbook of Applied Cryptography» Test caractérisé par une probabilité d'erreur 1/2^80 (Cf. ${OPENSSL}/crypto/bn/bn.h) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
26 Algorithmes à clef publique (14/16) Publication de la clef publique RSA Sous-ensemble des paramètres de la clef privée Modulus n, exposant public e $ openssl rsa -in rsa.pem -pubout -----BEGIN PUBLIC KEY----- MfwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALGWJEoGAC6fYqpG9vCx1LEcjFtrhw2W DZ71Ne+Q2ZvgbqDE9j8SIsjEStKc2UZ/w2bnPc8k+3LTTGCTQ9SAdsMCAwEAAQ== -----END PUBLIC KEY----- Structure ASN.1 de la clef publique obtenue : SEQUENCE { : SEQUENCE { : OBJECT IDENTIFIER rsaencryption ( ) : NULL : } : BIT STRING 0 unused bits, encapsulates { : SEQUENCE { : INTEGER [...] : INTEGER 3 : } : } : } Franck Davy - Hervé Schauer Consultants Reproduction Interdite
27 Principaux usages Algorithmes à clef publique (15/16) Service de confidentialité Chiffrement avec la clef publique du destinataire Faible volume de données Mode opératoire par blocs? Protocole TLSv1 : travail sur un et un seul bloc (chunk) PreMasterSecret de 48 octets + bourrage PKCS#1 de 11 octets Taille de clef publique d'un certificat X.509 de 472 bits au minimum Cas d'un certificat client : 376 bits au minimum (signature d'empreinte SHA1+MD5) Signature numérique Chiffrement avec la clef privée du signataire Transport (RSA) ou échange (DH) de clef Résolution de la problématique de l'échange de clef secrète Franck Davy - Hervé Schauer Consultants Reproduction Interdite
28 Récapitulatif Algorithmes à clef publique (16/16) Algorithme le plus couramment utilisé : RSA Cryptosystème décrit dans la RFC 2437 Formats binaire (encodage DER de la structure ASN.1) et ASCII «imprimable» (PEM) Une clef de chiffrement (n,e) Transport de clef : mécanisme de chiffrement de la clef de session avec la clef de chiffrement du destinataire Clef dite «publique», déposée dans un annuaire par exemple Une clef de signature d Signature : mécanisme de chiffrement avec la clef de signature par l'émetteur Service de non-répudiation Clef privée Décomposition en facteurs premiers du modulus n = p.q p et q, probables grands nombres premiers par construction Tests de primalité probabilistes par les applications (OpenSSL, PGP etc.) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
29 Fonctions de hachage
30 Fonctions de hachage (1/7) Fonction de hachage cryptographique Obtention d'une empreinte numérique de taille fixe à partir d'un message de taille arbitraire Opération par blocs Critères de sécurité Faibles collisions Collisions : possibilité d'obtenir une même empreinte pour deux messages distincts Sécurité calculatoire Sens unique Difficulté d'inversion Franck Davy - Hervé Schauer Consultants Reproduction Interdite
31 Principaux algorithmes Fonctions de hachage (2/7) MD5, «The MD5 Message-Digest Algorithm» (RFC1321) Empreinte de 128 bits $ openssl md5 -c message.txt MD5(message.txt)= ef:79:ca:b5:4f:9b:2a:d9:8e:79:ef:46:46:e4:93:63 SHA, «Secure Hash Algorithm» (NIST) Empreinte de 160 bits $ openssl sha1 -c message.txt SHA1(message.txt)= af:06:9c:e9:bb:e9:21:29:b1:1a:7e:a8:77:9b:37:09:26:5e:84:b3 Variantes ou autres : dgst(1ssl) $ openssl dgst -h MD2, MD4, MD5, SHA, SHA-1, MDC2, RIPEMD Franck Davy - Hervé Schauer Consultants Reproduction Interdite
32 Fonctions de hachage (3/7) Exemples d'utilisation : Intégrité et scellement de fichiers md5sum(1) HIDS (Host-Based Intrusion Detection System) AIDE Site officiel : Brève HSC : Tripwire $ md5sum image.iso d41d8cd98f00b204e ecf8427e image.iso Stockage non réversible de mots de passe Fichier shadow(5), fondé sur l'algorithme md5 $ sudo grep davy /etc/shadow davy:$1$zdgjjrrg$b9oxpvedx8i4kgwanwbpd.:11924:0:99999:7::: Franck Davy - Hervé Schauer Consultants Reproduction Interdite
33 Fonctions de hachage (4/7) Utilisation de la commande passwd(1ssl) Syntaxe $ openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin] [-quiet] [-table] {password} Génération de l'empreinte $ echo -n 'secret' openssl passwd -1 -salt 'zdgjjrrg' -stdin -table secret $1$zdgjjRrg$b9oxpVEDX8I4KgWanwbpd. Signification des différents termes $(1)$(zdgjjRrg)$(b9oxpVEDX8I4KgWanwbpd.) $1 : Algorithme MD5 $2 : Piment Protection contre les attaques par dictionnaire précalculé Piment en clair (différent d'un MAC) $3 : Empreinte résultante Franck Davy - Hervé Schauer Consultants Reproduction Interdite
34 Fonctions de hachage (5/7) Générateurs de nombres pseudo-aléatoires Sources d'entropie multiples Évènements non déterministes Fonctions de hachage pour «multiplexer» la sortie des sources d'entropie et constituer un «pool d'entropie» Démons collecteurs d'entropie (sous Unix) Interfaces/pseudo-périphériques /dev/random (bloquant) /dev/urandom (non-bloquant) /dev/inter_rng, (processeurs intel de type i8xx) PRNGD sous Solaris Analyse de quelques générateurs de nombres pseudo-aléatoires Phrack 59 «Cryptographic random number generators» DrMungkee Intel RNG (SHA-1), Yarrow (SHA-1), /dev/random/ (MD5) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
35 Fonctions de hachage (6/7) Génération d'identifiants de sessions... Utilisations multiples! «Pile ou face» Influence du changement d'un caractère de texte clair sur l'empreinte résultante $ cat message.txt Contrôle d'intégrité $ cat message.txt openssl md5 -c ef:79:ca:b5:4f:9b:2a:d9:8e:79:ef:46:46:e4:93:63 $ cat message.txt tr C c openssl md5 -c c5:f1:bf:54:2a:7f:27:04:d2:65:78:a1:bc:47:7c:e Franck Davy - Hervé Schauer Consultants Reproduction Interdite
36 Principaux usages Signature numérique Norme de fait : RSA Fonctions de hachage (7/7) Mécanisme de chiffrement par une clef privée RSA d'une empreinte MD5 ou SHA-1 Service de non-répudiation Scellement Génération d'un sceau, ou code d'authentification de message MAC : «Message Authentication Code» Exemple : fonction de hachage à sens unique indexée par une clef secrète Service d'authentificité des données Authentification Intégrité Pas de service de non-répudiation Cf. SSL/TLS Horodatage Franck Davy - Hervé Schauer Consultants Reproduction Interdite
37 En pratique : «boîte à outils»
38 Projet OpenSSL Boîte à outils : OpenSSL (1/8) Versions 0.9.7a et 0.9.6i (-engine) (19/02/2003) ~ lignes de code (langage C), utilisées par de nombreuses applications openssh, apache+mod_ssl, postfix/tls, idx-pki, stunnel etc. Initié en Décembre 1998 Objectifs Fondé sur la bibliothèque cryptographique SSLeay d'eric Young et Tim Hudson Mise en oeuvre des protocoles SSL (Secure Socket Layer) Protocole de sécurisation réseau TCP/IP qui opère au niveau session du modèle OSI Opère au dessus d'un protocole de transport de données fiable (TCP RFC793) Opère au dessus du niveau transport (4) -> applications spécifiques Ports dédiés, attribués par l'iana : HTTP 80/tcp, mais HTTPS 443/tcp Franck Davy - Hervé Schauer Consultants Reproduction Interdite
39 Boîte à outils : OpenSSL (2/8) Services de sécurité mis en oeuvre Authentification des parties Optionnellement mutuelle Authenticité et confidentialité des données Sans service de non répudiation Versions du protocole SSL supportées Spécifications Netscape SSLv2 et v3 Standard TLSv1 (RFC 2246) Mise en oeuvre des standards cryptographiques associés aux protocoles SSL/TLS Algorithmes symétriques (DES,3DES etc.), asymétriques (RSA, DSA etc.), protocoles d'échanges de clefs ([E]DH), certificats X.509 (compilateur ASN.1), standards PKCS (PKCS#1 ou RFC 2437, PKCS#7, PKCS#8, PKCS#12 etc.) etc Franck Davy - Hervé Schauer Consultants Reproduction Interdite
40 Boîte à outils : OpenSSL (3/8) Interface de programmation en C Bibliothèque SSL/TLS Bibliothèque cryptographique Suite d'applications en ligne de commande openssl (1) Intégration à de multiples langages PHP Module expérimental Fonctions mises en oeuvre concernant essentiellement les certificats X.509 Manipulation de clefs RSA (clef publique/clef privée) Manipulation de certificats X.509 (génération, validation) Utilisation dans le cadre de signature et chiffrement de données (S/MIME, PKCS#7) Modules Perl (OpenCA, Net::SSLeay), Ruby etc Franck Davy - Hervé Schauer Consultants Reproduction Interdite
41 Boîte à outils : OpenSSL (4/8) Interface de programmation cryptographique en C, incluant : Bibliothèque SSL/TLS (libssl.a) Mise en oeuvre des protocoles SSLv2, SSLv3 et TLSv1 Bibliothèque cryptographique (libcrypto.a) Cryptographie clef publique et certificats X509 RSA, DSA, DH Compilateur ASN.1 Chiffrement DES, 3DES, Blowfish, RC2, CAST, IDEA (blocs), RC4 (flux) + modes ECB, CBC, CFB, OFB pour les algorithmes de chiffrement par blocs Hachage MD2, MD4, MD5, SHA, SHA1, MDC2, RIPEMD160 Bien distinguer les bibliothèques cryptographiques et SSL/TLS! Application OpenSSH fondée sur la bibliothèque cryptographique d'openssl (mais protocole SSH!= protocole SSL/TLS) $ ldd /usr/sbin/sshd grep libssl $ ldd /usr/sbin/sshd grep libcrypto => /usr/lib/libcrypto.so.0 (0x ) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
42 Boîte à outils : OpenSSL (5/8) Application en ligne de commande : openssl(1) Manipulation de paramètres RSA, DSA, DH rsa, genrsa, rsautl, dsa, dsaparam, gendh Manipulation de certificats X509, CRL ou encore CSR asn1parse, ca, req, crl, x509 (+ocsp) Mise en oeuvre du protocole de vérification en ligne OCSP dans la branche Calculs d'empreintes (MD5, SHA etc.) et opération de chiffrement (DES, BF) dgst, enc Applications spécifiques Client/Serveur SSL/TLS : s_client, s_server Manipulation de fichiers au format S/MIME smime Manipulation de fichiers SPKAC (Netscape), PKCS#12 spkac, pkcs Franck Davy - Hervé Schauer Consultants Reproduction Interdite
43 Boîte à outils : OpenSSL (6/8) Licence portant sur le code source OpenSSL Licence spécifique Pas GPL, LGPL ou encore BSD Licence cumulative (ou duale) OpenSSL et SSLeay Licence SSLeay S'applique au code source original d'eric Young Licence OpenSSL S'applique aux modifications effectuées par l'équipe de développement OpenSSL Franck Davy - Hervé Schauer Consultants Reproduction Interdite
44 Boîte à outils : OpenSSL (7/8) Conditions d'utilisation d'openssl Licence OpenSSL incompatible avec la licence GPL Compatibilité, sous certaines conditions Application liée à OpenSSL pouvant être sous licence GPL suivant le système d'exploitation ou la distribution à la condition suivante : «FAQ about the GNU GPL» «I am writing free software that uses non-free libraries. What legal issues come up if I use the GPL? If the libraries that you link with falls within the following exception in the GPL: However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable» Différence notable entre la GPL et la licence OpenSSL : Application liée à OpenSSL pouvant être distribuée sous une licence autre de la licence OpenSSL Franck Davy - Hervé Schauer Consultants Reproduction Interdite
45 Boîte à outils : OpenSSL (8/8) Projets similaires, sous licence GPL GnuTLS Licence GPL Mise en oeuvre des protocoles SSLv3 et TLS Support des certificats X.509, OpenPGP, du protocole SRP Remarque : protocole SRP au statut «Wishes» dans OpenSSL, mais existence d'un correctif Manque de maturité par rapport au projet OpenSSL «Avalaible for Beta testing»... Mozilla NSS Licences MPL et GPL Mise en oeuvre des protocoles SSLv2/v3 et TLS Support des formats PKCS#5, PKCS#7, PKCS#11, PKCS#12, des certificats X.509 et du format d'échange applicatif S/MIME Franck Davy - Hervé Schauer Consultants Reproduction Interdite
46 Boîte à outils : DumpASN.1 DumpASN.1 Téléchargement sur : Source Fichier de configuration (OID) Auteur : Peter Gutmann <[email protected]> Renvoie la structure ASN.1 d'un objet au format DER Syntaxe de transfert DER («Distinguished Encoding Rules») Conversion du format PEM (base64) vers DER (binaire) avec openssl(1) Traduction des OID réalisée via le fichier dumpasn1.cfg Extrait du fichier de configuration : OID = A F7 0D Comment = PKCS #1 Description = rsaencryption ( ) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
47 Boîte à outils : SSLDump SSLDump Téléchargement sur Analyseur de trafic SSLv3/TLSv1 Déchiffrement du trafic à la volée modulo la connaissance de la clef privée associée à la clé publique contenue dans le certificat X.509 présenté par le serveur SSL/TLS... GET / HTTP/1.0 Host: Franck Davy - Hervé Schauer Consultants Reproduction Interdite
48 En pratique : chiffrement et signature
49 Chiffrement et signature (1/8) Émission d'un message chiffré/signé Génération des clefs RSA publique et privée de l'émetteur et du destinataire Format PEM, protection par mot de passe src_rsa.pem, dst_rsa.pem respectivement pour les clefs privées émetteur et destinataire src_rsa_pub.pem, dst_rsa_pub.pem pour les clefs publiques Génération des clefs privées avec rsa(1ssl) $ openssl genrsa -des 512 tee src_rsa.pem Generating RSA private key, 512 bit long modulus e is (0x10001) Enter PEM pass phrase: Verifying password - Enter PEM pass phrase: -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-CBC,F797B90DFD6AE2BB RujFw/mVRdBjfFI8xzrHCd+AvOpD3JfoD5XMEbXDlmprBR9nOdUc/wvjHUYNO4z6 fq3ogppb8igs9iilzdlls3rdui60m3uhcgmh1hd2p+e= -----END RSA PRIVATE KEY Franck Davy - Hervé Schauer Consultants Reproduction Interdite
50 Chiffrement et signature (2/8) Génération du biclef RSA avec OpenSSL et un PRNGD Biclef RSA format PEM Chiffrement DES-CBC -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-CBC,F797B90DFD6AE2BB RujFw/mVRdBjfFI8xzrHCd+AvOpD3JfoD5XMEbXDlmprBR9nOdUc/wvjHUYNO4z6 fq3ogppb8igs9iilzdlls3rdui60m3uhcgmh1hd2p+e= -----END RSA PRIVATE KEY----- Clef publique RSA format PEM Extraction de la clef publique -----BEGIN PUBLIC KEY----- MfwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL5ApUqqRf86ZklRhstCbGSP9REkOo2R U3E/q1ZRkGxrxKszYv3PEYatDmwZbhtofbndqVfHRUGULSHFsYP8azcCAwEAAQ== -----END PUBLIC KEY Franck Davy - Hervé Schauer Consultants Reproduction Interdite
51 Chiffrement et signature (3/8) Extraction, pour publication, des clefs publiques $ openssl rsa -in src_rsa.pem -pubout tee src_rsa_pub.pem read RSA key Enter PEM pass phrase: writing RSA key -----BEGIN PUBLIC KEY----- MfwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL5ApUqqRf86ZklRhstCbGSP9REkOo2R U3E/q1ZRkGxrxKszYv3PEYatDmwZbhtofbndqVfHRUGULSHFsYP8azcCAwEAAQ== -----END PUBLIC KEY----- Idem pour dst_rsa.pem et dst_rsa_pub.pem Chiffrement du message en DES (mode CBC) avec enc(1ssl) Clef de chiffrement et vecteur d'initialisation dérivés du mot de passe ('secret') $ echo -n "Message confidentiel \!" openssl enc -des-cbc tee message.crypt enter des-cbc encryption password: Verifying password - enter des-cbc encryption password: Franck Davy - Hervé Schauer Consultants Reproduction Interdite
52 Chiffrement et signature (4/8) Calcul de l'empreinte du message chiffré avec dgst(1ssl) Algorithme md5 $ openssl dgst -md5 -binary message.crypt tee message.crypt.dgst Signature Mécanisme de chiffrement de l'empreinte avec la clef RSA privée de l'émetteur Chiffrement avec la clef privée de l'émetteur (src_rsa.pem) de l'empreinte avec rsautl(1ssl) openssl rsautl -in message.crypt.dgst -sign -inkey src_rsa.pem \ tee message.crypt.sign Enter PEM pass phrase: ½ôýÞAí) óû0ãühiwuk{³û Î!J ( $! La signature est placée en attachement (non chiffrée, dans ce cas) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
53 Chiffrement et signature (5/8) Transport de la clef de session Paramètres DES dérivant du mot de passe Clef secrète de chiffrement Vecteur d'initialisation Chiffrement du mot de passe avec la clef publique du destinataire par rsautl(1ssl) $ echo -n "secret" openssl rsautl -encrypt -pubin -inkey dst_rsa_pub.pem \ tee secret.crypt z n âøo!dièˆ/.öëµþ@² mlìûîš <;êlè_a Ýmî lz cûáy vâbî Constitution du message final 1. Message chiffré : message.crypt 2. Signature du message chiffré : message.crypt.sign 3. Clef de session chiffrée : secret.crypt 4. Paramètres «administratifs» Identifiant de la clef RSA de l'émetteur Algorithme utilisé (DES en mode CBC) Nature des différents attachements etc Franck Davy - Hervé Schauer Consultants Reproduction Interdite
54 Chiffrement et signature (6/8) Message en clair "Message confidentiel!" Secret partagé "secret" Clef publique RSA destinataire Message chiffré Chiffrement DES en mode CBC Clef de session IV z n âøo! mlìûîš <;êlè_a Ým î lz cûáy vâbî Secret partagé chiffré 1. Calcul de l'empreinte MD5 2. Chiffrement avec la clef privée RSA Clef privée RSA émetteur Signature ½ôýÞAí) óû0ãühiwuk{³û Î!J! ( $ Message chiffré et signé Franck Davy - Hervé Schauer Consultants Reproduction Interdite
55 Chiffrement et signature (7/8) Réception du message chiffré signé Vérification de la signature avec rsa(1ssl) Utilisation de la clef publique de l'émetteur du message pour déchiffrer la signature Obtention de l'empreinte du message telle que calculée par l'émetteur $ cat message.crypt.sign openssl rsautl -verify -pubin -inkey src_rsa_pub.pem \ -out dgst1 Calcul de l'empreinte du message chiffré par le destinataire $ cat message.crypt openssl dgst -md5 -binary > dgst2 Comparaison des empreintes $ diff -s dgst1 dgst2 Les fichiers dgst1 et dgst2 sont identiques. Authenticité du message avérée Authentification de l'émetteur Intégrité des données Franck Davy - Hervé Schauer Consultants Reproduction Interdite
56 Chiffrement et signature (8/8) Déchiffrement du message par le destinataire Déchiffrement de la clef de session avec la clef RSA privée du destinataire $ cat secret.crypt openssl rsautl -decrypt -inkey dst_rsa.pem Enter PEM pass phrase: secret Déchiffrement du message à l'aide de la clef de session $ cat message.crypt openssl enc -d -des-cbc enter des-cbc decryption password: Message confidentiel \! Au final, transmission d'un message avec les services de sécurité suivants : Authentification des parties Problème résiduel de l'authenticité du lien émetteur-clef publique Intégrité et confidentialité des données transmises Franck Davy - Hervé Schauer Consultants Reproduction Interdite
57 En pratique : messagerie sécurisée avec S/MIME
58 Messagerie sécurisée avec S/MIME (1/6) «Secure Multi-purpose Internet Mail Extension» Extension au format MIME (RFC 1847) Ajout du support de services de sécurité Décrit dans les RFC suivantes : «Cryptographic Message Syntax» (RFC 2630) «Diffie-Hellman Key Agreement Method» (RFC 2631) «S/MIME Version 3 Certificat Handling» (RFC 2632) «S/MIME Version 3 Message Specification» (RFC 2633) Services de sécurité au niveau applicatif (de «bout-en-bout») Authentification des parties + service de non-répudiation Confidentialité des données Intégrité des données Franck Davy - Hervé Schauer Consultants Reproduction Interdite
59 Format des messages Messagerie sécurisée avec S/MIME (2/6) Utilisation de l'outil smime(1ssl) Utilisation de certificats X.509, avec les extensions v3 S/MIME Signature d'un message $ openssl smime -sign -in message.txt -out message_signe.txt \ -text -signer src_rsa_pub.pem -inkey src_rsa.key Vérification de la signature Sauvegarde (option '-signer fichier.pem') du certificat de l'émetteur si OK Automatique sous Netscape Messenger et Microsoft Outlook Attention aux attaques par prolongation de l'itinéraire de certification! $ openssl smime -verify -CAPath./trustees/ -in message_signe.txt \ -signer src_rsa_pub.pem Content-Type: text/plain Ceci est message signé Verification Successful Franck Davy - Hervé Schauer Consultants Reproduction Interdite
60 Messagerie sécurisée avec S/MIME (3/6) Format d'un message signé au format S/MIME MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg=sha1; boundary="----d53abc9fb71e03185ae729da6dad1931" This is an S/MIME signed message D53ABC9FB71E03185AE729DA6DAD1931 Content-Type: text/plain Ceci est un message signé D53ABC9FB71E03185AE729DA6DAD1931 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIIGuwYJKoZIhvcNAQcCoIIGrDCCBqgCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3 [...] 6BmKU1IbbuR363HVCM/dsPTGQtJHRCDH+b41NneKWBCqJcs+T8Bn0OIhcr2RFLw= D53ABC9FB71E03185AE729DA6DAD Signature au format PKCS# Franck Davy - Hervé Schauer Consultants Reproduction Interdite
61 Messagerie sécurisée avec S/MIME (4/6) Chiffrement d'un message par l'émetteur Chiffrement de la clef de session (3DES-CBC) avec la clef publique du destinataire Clef publique contenue dans un certificat X.509 $ openssl smime -encrypt -in message.txt -des3 \ -out message_chiffre.txt dst_rsa.pem Déchiffrement du message par le destinataire Utilisation de sa clef RSA privée (protégée par un mot de passe) $ openssl smime -decrypt -in message_chiffre.txt \ -recip dst_rsa_pub.pem \ -inkey dst_rsa.pem Enter PEM pass phrase: Ceci est un message chiffré Franck Davy - Hervé Schauer Consultants Reproduction Interdite
62 Messagerie sécurisée avec S/MIME (5/6) Format d'un message chiffré MIME-Version: 1.0 Content-Disposition: attachment; filename="smime.p7m" Content-Type: application/x-pkcs7-mime; ; name="smime.p7m" Content-Transfer-Encoding: base64 MIIMvwYJKoZIhvcNAQcDoIIMsDCCDKwCAQAxggE0MIIBMAIBADCBmDCBkjELMAkG [...] 8YMC6VlBeF8VCoBjrP8At7P3ELCdfs812RZB1Dxw2Jddjgwce67eFmsRd8stX9pk Pax1 Structure ASN.1 Ajouter l'option '-outform DER' à l'application smime(1ssl) Utiliser dumpasn1... [...] : SEQUENCE { : OBJECT IDENTIFIER data ( ) : SEQUENCE { : OBJECT IDENTIFIER des-ede3-cbc ( ) : OCTET STRING : 48 6F F : } [...] Franck Davy - Hervé Schauer Consultants Reproduction Interdite
63 Messagerie sécurisée avec S/MIME (6/6) Démonstration avec Netscape Messenger Message signé Message chiffré Message chiffré/signé Franck Davy - Hervé Schauer Consultants Reproduction Interdite
64 Fonctionnement des PKI De la clef publique au certificat
65 Introduction De la clef publique au certificat Clef RSA, clef SSH, clef PGP Problématique de la certification Les certificats X.509 Standard X.509v3 et profil PKIX Champs standards et extensions v3 En pratique Plan Panorama des certificats inclus dans IE 5.0 Sécurisation des échanges avec SSL/TLS Franck Davy - Hervé Schauer Consultants Reproduction Interdite
66 De la clef publique au certificat
67 Exemple de clef publique RSA (1/2) Format «imprimable» PEM : $ openssl x509 -in certificate.pem -pubkey -noout -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuRyXFwdFK4QgS7Yapk/D SIVyHqBVN12VRSQy1A9y27f3IWAhAJyipGbZFDaPOnpcwOZ376gdr4XLCRXD9nCA BzNeEpIGBWjvaS8QyABoDuFo+kz01AT4WtAgVePqFydqNYV1eYiJk33B5oDW+zby 4Y5Ldtj014ktO9qjzhqZM94WvjlmMGAfjbmV6QF8JWCl/kotKJr0FjDgXgCykbBY ZgdPKCKgDp6lM3DC1OBSrB8+xlkIiJ5dFJKF1ClkfK0tQpz1B0UdCmhQ7+1Nw2jY Ht+79jN8ULa7zAzlf+lbbFrJ1hoB3YlR6FXf88HrlUGZVbLjX6NNOZIlZYbdYTx9 dwidaqab -----END PUBLIC KEY----- Format «humainement» lisible : $ openssl x509 -in server.pem -pubkey openssl rsa -text -noout -pubin Modulus (2048 bit): 00:b9:1c:97:17:07:45:2b:84:20:4b:b6:1a:a6:4f: [...] c9:d6:1a:01:dd:89:51:e8:55:df:f3:c1:eb:95:41: 99:55:b2:e3:5f:a3:4d:39:92:25:65:86:dd:61:3c: 7d:77 Exponent: (0x10001) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
68 Exemple de clef publique RSA (2/2) Donnée brute, manipulable avec ambigüité sur : Type de clef et d'usage Algorithme (RSA, DSA) Chiffrement, Signature, Échange de clef Tout autre usage spécifique à une application? Période de validité, statut de révocation Identité (paramètre «administratif») associée Adresse IP ( ) Nom DNS pleinement qualifié ( RFC822 ([email protected]) Format à enrichir et à standardiser À l'usage des applications Franck Davy - Hervé Schauer Consultants Reproduction Interdite
69 Première approche : SSH et dérivés (1/5) Méthodes d'authentification Côté client Authentification par mot de passe (permanent ou à usage unique) Authentification par clef publique RSA ou DSA (SSHv2 uniquement) Côté serveur Authentification par clef publique (RSA/DSA) Clef publique transmise au client lors de la première ouverture de session Sauvegardée côté client Un format de clef minimaliste $ cat ssh_host_key.pub root@darkstar Franck Davy - Hervé Schauer Consultants Reproduction Interdite
70 Première approche : SSH et dérivés (2/5) Exemple d'ouverture de session Notion de «clef d'hôte» Authentification du serveur est réalisée au niveau applicatif Utilsation de clef RSA ou DSA Objectif : authentification du serveur au niveau applicatif par sa clef publique Et non plus simplement identification par adresse IP ou FQDN Connexion TCP (22/TCP) Ouverture de session SSH Nombreuses attaques sur les protocoles IP, DNS et au niveau réseau... Attaques de type «Man-in-the-Middle» DNS ID Spoofing, DNS Cache poisoning ProxyARP sur un réseau ethernet commuté (dsniff, ettercap) Côté client SSH_RSA_VERIFY Non? 5A:51:41:de:62:0c... Côté serveur $ ssh darkstar The authenticity of host 'darkstar ( )' can't be established. RSA key fingerprint is 5a:51:41:de:62:0c:d8:e9:c4:00:e1:19:f5:61:57:8c. Are you sure you want to continue connecting (yes/no)? Yes Warning: Permanently added 'server' (RSA) to the list of known hosts. $ ssh-keygen -l -f ssh_host_rsa_key.pub a:51:41:de:62:0c:d8:e9:c4:00:e1:19:f5:61:57:8c ssh_host_rsa_key.pub Franck Davy - Hervé Schauer Consultants Reproduction Interdite
71 Première approche : SSH et dérivés (3/5) Avertissement lors d'un changement de clef publique WARNING: POSSIBLE DNS WARNING: REMOTE HOST IDENTIFICATION IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is: 5a:51:41:de:62:0c:d8:e9:c4:00:e1:19:f5:61:57:8c. Please contact your system administrator. Mise à jour du serveur SSH (avec changement de clef d'hôte)? Attaque de type «Man-in-the-middle»? :50:fc:20:d8: :60:97:cd:b6:9b Connexion «logique» Commutateur arp reply is-at 00:48:54:3d:7d:e7 arp reply is-at 00:48:54:3d:7d:e :48:54:3d:7d:e Franck Davy - Hervé Schauer Consultants Reproduction Interdite
72 Première approche : SSH et dérivés (4/5) Problème de l'authenticité de la clef publique présentée Contact de l'administrateur Pour une vérification locale de l'empreinte de la clef présentée Consultation d'un annuaire authentifié centralisant les clefs ou les empreintes Exemple d'utilisation de DNSSEC Empreintes placées dans l'enregistrement de ressource TXT Mais il s'agit déjà de PKI! Nécessité d'un mécanisme de vérification hors-bande Administrateur système = rôle de tiers, garant de l'authenticité de la clef présentée Notion de «tiers de confiance» Tiers certifiant le lien entre clef publique et adresse IP ou un nom pleinement qualifié Franck Davy - Hervé Schauer Consultants Reproduction Interdite
73 Récapitulatif Première approche : SSH et dérivés (5/5) Intervention d'un tiers, dit «tiers de confiance» Utilisation de mécanismes «hors-bande» Première approche Introduction d'un tiers de confiance, certifiant les clefs publiques Recours au mécanisme de signature de la cryptographie asymétrique Restriction des communications dites «hors-bande» avec ce tiers de confiance Récupération de la clef publique de signature du tiers de confiance via un canal sûr Dans l'exemple précédent (changement de clef d'hôte SSH) : Contact de l'administrateur système par téléphone Administrateur Préalablement connu de l'utilisateur tiers de confiance Possédant un accès physique au système Franck Davy - Hervé Schauer Consultants Reproduction Interdite
74 PGP et le «Web of Trust» (1/5) Principe : Cryptosystème hybride permettant l'échange chiffré/authentifié de données Cryptographie à clef secrète pour le chiffrement Cryptographie à clef publique pour la signature, le Principe de l'anneau de confiance («Web Of Trust Utilisation adaptée aux communautés... Notion de COI : «Community of interest» Exemple : le «Debian Keyring Web of Trust» Franck Davy - Hervé Schauer Consultants Reproduction Interdite
75 PGP et le «Web of Trust» (2/5) Distribution des clefs Serveurs de clefs et serveurs HTTP référençant les clefs PGP Envoi et recherche de clef sur un serveur de clef avec gpg : $ gpg keyserver hkp://wwwkeys.pgp.net: send-keys <keyid> $ gpg keyserver hkp://wwwkeys.pgp.net: recv-keys <keyid> Recherche d'une clef suivant une chaîne de caractères : $ w3m ' Public Key Server -- Index ``hsc.fr '' Type bits /keyid Date User ID pub 1024D/07ACF6FA 2001/11/22 Thomas Seyrat <[email protected]> pub 1024D/34AFBB /04/18 Jerome Poggi (Office Key) <[email protected]> pub 1024D/B068C /10/15 Alain Thivillon <[email protected]> pub 1024R/D1D602E3 1999/02/26 Denis Ducamp <[email protected]> pub 1024R/0F2C58BD 1997/07/02 Stephane Aubert <[email protected]> pub 1024R/57155CC9 1996/11/09 Alain Thivillon <[email protected]> pub 1024R/D4ED /12/08 Herve Schauer <[email protected]> Exemple d'une recherche menée sur le nom Zimmerman sur le dépôt keyserver.pgp.com Public Key Server Error Search failed The number of certificates returned by this search exceeds the maximum set for this server Franck Davy - Hervé Schauer Consultants Reproduction Interdite
76 PGP et le «Web of Trust» (3/5) Solutions retenues en pratique Téléchargement à une URL, en HTTP par exemple Empreinte diffusée par courrier électronique (en-tête SMTP : X-GPG-Fingerprint) «GnuPG Party» Procédures décrites dans le «GnuPG Keysigning Party» HOW-TO Franck Davy - Hervé Schauer Consultants Reproduction Interdite
77 Format d'une clé PGP PGP et le «Web of Trust» (4/5) Extrait avec PGPDump $./pgpdump ~/.gnupg/franck.davy.asc [...] Old: Public Key Packet(tag 6)(418 bytes) Ver 4 new Public key creation time - Fri Aug 31 16:52:54 CEST 2001 Pub alg - DSA Digital Signature Standard(pub 17) DSA p(1024 bits) -... DSA q(160 bits) -... DSA g(1024 bits) -... DSA y(1020 bits) -... Old: User ID Packet(tag 13)(32 bytes) User ID - Franck DAVY <[email protected]> Franck Davy - Hervé Schauer Consultants Reproduction Interdite
78 «GnuPG Party» PGP et le «Web of Trust» (5/5) Procédures décrites dans le «GnuPG Keysigning Party» HOW-TO What do I need for this party? Required Items 1. Physical attendance 2. Positive picture ID 3. Your Key ID, Key type, HEX fingerprint, and Key size 4. A pen/pencil or whatever you'd like to write with NO computer Why shouldn't I bring a computer? * Someone might have modified the computers programs, operating system, or hardware to steal or modify keys. Format GnuPG Party des clefs Key ID Key Owner Key Key Key Fingerprint Size Type E9EB78 Franck DAVY <[email protected]> AD11 1F76 25E B07B 1024 DSA EE22 ECA6 AE99 06E9 EB Franck Davy - Hervé Schauer Consultants Reproduction Interdite
79 Les certificats X.509
80 Définition Un certificat est un lien de confiance entre : Une identité Une clef publique Une période de validité Un usage Typologie des infrastuctures à clef publique (PKI): Une structure en théorie hierarchique 1. Au sommet : une autorité de certification dite «racine» Une autorité en laquelle la communauté d'utilisateurs a confiance Certificat auto-signé Extension par certification croisée Autorités de certification intermédiaires Certificats délivrés par l'autorité racine Habilitées, par exemple, à délivrer des certificats aux entités terminales 3. Entités terminales (Serveur SSL/TLS, client S/MIME etc.) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
81 Itinéraire de certification (1/9) Structure hiérarchique La validation du certificat d'une entité terminale est réalisé de proche en proche : 1. Validation de la signature appliquée au certificat de l'entité communicante 2. Validations successives des signatures appliquées aux certificats des autorités intermédiaires 3. Confiance accordée au certificat de l'autorité racine... Communication «hors-bande» Communication «en ligne» Franck Davy - Hervé Schauer Consultants Reproduction Interdite
82 Itinéraire de certification (2/9) Exemple : validation d'un certificat serveur SSL/TLS Franck Davy - Hervé Schauer Consultants Reproduction Interdite
83 Itinéraire de certification (3/9) s:/c=us/o=verisign, Inc./OU=Class 3 Public Primary Certification Authority i:/c=us/o=verisign, Inc./OU=Class 3 Public Primary Certification Authority s:/o=verisign Trust Network/OU=VeriSign, Inc./OU=VeriSign International Server CA - Class 3 /OU= Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign i:/c=us/o=verisign, Inc./OU=Class 3 Public Primary Certification Authority s:/c=fr/st=paris/l=paris/o=certplus SA/OU=Operations /OU=Terms of use at (c) 01/OU=Authenticated by Certplus SA /OU=Member, VeriSign Trust Network/CN= i:/o=verisign Trust Network/OU=VeriSign, Inc./OU=VeriSign International Server CA - Class 3 /OU= Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign Franck Davy - Hervé Schauer Consultants Reproduction Interdite
84 En pratique : Itinéraire de certification (4/9) Certificat = structure certifiée Ensemble clef publique + paramètres administratifs scellé par la clef privée de l'autorité signataire Pour les différentes entités Possession du certificat de l'autorité racine, uniquement Parcours de l'itinéraire de certification (suivant les applications...) pour valider la chaîne des certificats présentés Organisation hierarchique? Multiples autorités de certification 106 autorités de certification, ou autorités dites de «confiance» dans Windows 2000 Passage d'une organisation du type «hierarchy of trust» vers une (dés)organisation «spaghetti of doubt» (Peter Gutmann) À la charge des applications de permettre au client de vérifier le certificat présenté Présentation de la chaîne de certification dans les protocoles SSL/TLS, S/MIME Franck Davy - Hervé Schauer Consultants Reproduction Interdite
85 Itinéraire de certification (5/9) Validation d'un certificat serveur SSL/TLS Cas d'un serveur «correctement» configuré Présentation au client de l'intégralité de la chaîne de certification Pour le logiciel client : Pas de manipulations supplémentaires pour le téléchargement des certificats intermédiaires Possession préalable du certificat de l'autorité signataire requise, uniquement Cas d'un serveur mal configuré Les différents certificats de la chaîne ne sont pas présentés au client Le logiciel client doit-il la compléter? Explication de la présence de certificats intermédiaires dans IE? (leur importation n'est pas gratuite!) En général : Certificats terminaux, émis par une autorité racine (pathlen = 0) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
86 Validation SSL/TLS Itinéraire de certification (6/9) $ openssl s_client -connect -CAfile ca/caroot.pem -showcerts CONNECTED( ) --- Certificate chain 0 s:cn=w CN= ww.webserver.com i:cn=ca SSL -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE s:cn=ca SSL i:cn=ca ROOT -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE s:cn=ca ROOT i:cn=ca ROOT -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- Server certificate subject=/cn= issuer=/cn=ca SSL Franck Davy - Hervé Schauer Consultants Reproduction Interdite
87 Validation SSL/TLS Itinéraire de certification (7/9) SSL handshake has read 4104 bytes and written 268 bytes -- New, TLSv1/SSLv3, Cipher is EDH-RSA-DES-CBC3-SHA Server public key is 1024 bit SSL-Session: Protocol : TLSv1 Cipher : EDH-RSA-DES-CBC3-SHA Session-ID: 269BC84135E313F12A9E624065FAC6FA9452D2F728AE518FEB17E009B8E3FF8B Session-ID-ctx: Master-Key: 95F39BE9741D3B55B418A3B6BC8B0F9B3649CF \ F629B2259DEA36C4EAF16D4AB011FE6F62D914A679F7E915344AE8938E Key-Arg : None Start Time: Timeout : 300 (sec) Verify return code: 0 (ok) --- GET / HTTP/ ok Content-type: text/html[...] Seul le certificat de l'autorité racine était initialement connu du navigateur La validation a été correctement effectuée, par vérification de proche en proche des certificats constituant la chaîne de certification Franck Davy - Hervé Schauer Consultants Reproduction Interdite
88 Itinéraire de certification (8/9) Validation avec Netscape Présent dans Netscape : le certificat de l'autorité racine uniquement CA ROOT autosigné DN du porteur = DN de l'émetteur Franck Davy - Hervé Schauer Consultants Reproduction Interdite
89 Itinéraire de certification (9/9) Validation avec Netscape correctement effectuée L'émetteur du certificat serveur est CA SSL Seul le certificat de CA ROOT (CN=CA ROOT) figurait dans la base de données locale des certificats dits «de confiance» Présentation de l'empreinte du certificat calculée par le navigateur Empreinte MD5 du certificat au format DER Analogue au mécanisme employé par OpenSSH, lorsque la vérification à partir de la clef du CA n'est pas réalisable Franck Davy - Hervé Schauer Consultants Reproduction Interdite
90 Format X.509 (1/5) Historique Norme ITU-T X.509, fait partie des recommandations X.500 Version 1 (1988) : Définition des champs de base Version 2 (1993) : Ajout de 2 champs optionnels Version 3 (1996) : Ajout d'extensions Avec notion de criticité Importance pour la sécurité! basiccontraints keyusage Etc Franck Davy - Hervé Schauer Consultants Reproduction Interdite
91 Format X.509 (2/5) Structure ASN.1 Abstract Syntax Notation 1 Syntaxe abstraite normalisée (X.208) Encodage : syntaxe de transfert distinctive Règle d'encodage DER certificate ::= SEQUENCE { tbscertificate TBSCertificate, signaturealgorithm AlgorithmIdentifier, signaturevalue BIT STRING } TBSCertificate ::= SEQUENCE { version [0] EXPLICIT Version DEFAULT v1, serialnumber CertificateSerialNumber, signature AlgorithmIdentifier, issuer Name, validity Validity, subject Name, subjectpublickeyinfo SubjectPublicKeyInfo, issueruniqueid [1] IMPLICIT UniqueIdentifier OPTIONAL, -- If present, version shall be v2 or v3 subjectuniqueid [2] IMPLICIT UniqueIdentifier OPTIONAL, -- If present, version shall be v2 or v3 extensions [3] EXPLICIT Extensions OPTIONAL -- If present, version shall be v3 } Franck Davy - Hervé Schauer Consultants Reproduction Interdite
92 Format X.509 (3/5) Certificate: Data: Version: 1 (0x0) Serial Number: 32:50:33:cf:50:d1:56:f3:5c:81:ad:65:5c:4f:c8:25 Signature Algorithm: md2withrsaencryption Issuer: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority Validity Not Before: Jan 29 00:00: GMT Not After : Jan 7 23:59: GMT Subject: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority Subject Public Key Info: Public Key Algorithm: rsaencryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:e5:19:bf:6d:a3:56:61:2d:99:48:71:f6:67:de: [...] 2a:2f:31:aa:ee:a3:67:da:db Exponent: (0x10001) Signature Algorithm: md2withrsaencryption 4b:44:66:60:68:64:e4:98:1b:f3:b0:72:e6:95:89:7c:dd:7b: [...] f8:45 tbscertificate signaturealgorithm signaturevalue Franck Davy - Hervé Schauer Consultants Reproduction Interdite
93 Format X.509 (4/5) Format texte du champ identifiant l'émetteur Issuer: C=US, O=VeriSign, Inc., OU=Class 1 Public Primary Certification Authority Représentation ASN.1 :.. SEQUENCE { :... SET { :.... SEQUENCE { :..... OBJECT IDENTIFIER countryname ( ) :..... PrintableString 'US' :..... } :.... } :... SET { :.... SEQUENCE { :..... OBJECT IDENTIFIER organizationname ( ) :..... PrintableString 'VeriSign, Inc.' :..... } :.... } :... SET { :.... SEQUENCE { :..... OBJECT IDENTIFIER organizationalunitname ( ) :..... PrintableString : 'Class 1 Public Primary Certification Authority' :..... } :.... } :... } Franck Davy - Hervé Schauer Consultants Reproduction Interdite
94 Format X.509 (5/5) Structure ASN.1 pour l'attribut 'issuer' Name ::= CHOICE { RDNSequence } RDNSequence ::= SEQUENCE OF RelativeDistinguishedName RelativeDistinguishedName ::= SET OF AttributeTypeAndValue AttributeTypeAndValue ::= SEQUENCE { type AttributeType, value AttributeValue } AttributeType ::= OBJECT IDENTIFIER AttributeValue ::= ANY DEFINED BY AttributeType OID pour le RDN Country (C) id-at-countryname countryname ATTRIBUTE ::= { SUBTYPE OF name WITH SYNTAX PrintableString (SIZE (2)) SINGLE VALUE TRUE ID id-at-countryname } Avec : X.500 attribute types X.500 Directory Services 2 - ISO/ITU-T jointly assigned OIDs Top of OID tree Franck Davy - Hervé Schauer Consultants Reproduction Interdite
95 Profil PKIX (1/2) Description Groupe de travail IETF créé en 1995 Objectif : développer pour l'internet une PKI fondée sur les certificats X.509 Composantes Instanciation des certificats X.509v3 et des listes de révocations X.509 pour une infrastructure adaptée à l'internet (RFC3280) Protocoles d'exploitation (RFC2559, RFC2585) Distributions des certificats et listes de révocation Protocoles de gestion (RFC2510) Dialogues entre le différentes entités de la PKI Règles d'usage et considérations pratiques (RFC2527) Exigences de sécurité En matière d'identification des sujets, de révocation des certificats Franck Davy - Hervé Schauer Consultants Reproduction Interdite
96 Profil PKIX (2/2) Existence de nombreux profils... PKIX, FPKI (US Federal PKI Profile), MISSI (US DoD profile), ISO 15782, SEIS (Secured Electronic Information For Society), Australian Profile, German Profile, Microsoft Profile etc. «You can' be a real country unless you have a beer and a airline. It helps if you have some kind of a football team, or some nuclear weapons, but at the very least, you need a beer.» -- Franck Zappa «And an X.509 profile.» -- Peter Gutmann Difficultés dans le choix des produits (et prestataires) Conformité au profil PKIX requise? Ex : Microsoft - Ignorance du bit keyusage... et de l'extension basicconstraints! (Cf. Faille CryptoAPI) Pour aller plus loin : «X.509 Style Guide» Franck Davy - Hervé Schauer Consultants Reproduction Interdite
97 Champs standards et X.500 (1/3) Version Indique l'utilisation possible d'extensions Problème de compatibilité avec les extensions propriétaires En pratique : version 3 Numéro de Série Identifiant unique d'un certificat (pour une autorité signataire donnée) En pratique : X509v3 extensions: : 0i...[...*.9..b.S2.R0P1.0...U...US1^M0...U..0...U...US1^M0...U...MSFT1200..U...)Microsoft Authenticode(tm) Root Authority... Incrémenté aléatoirement (estimation du nombre de certificats émis?) Champs "Subject" et "Issuer" Comportent respectivement les Distinguished Names (DN) de l'émetteur et du signataire du certificat Pour le certificat d'une autorité de certification racine, ces deux champs sont égaux En théorie, constitue un chemin unique vers l'entité possédant le DN référencé dans le DIT Franck Davy - Hervé Schauer Consultants Reproduction Interdite
98 Champs standards et X.500 (2/3) En pratique : inexistence d'annuaire X Peu de sens en pratique (sauf contexte LDAP!) Seul le commonname est généralement utilisé Cas des serveurs HTTPS notamment Tous les RDN peuvent importer dans le cas d'un certificat client Gestion des autorisations par exemple Les RDN sont généralement sans grand rapport avec leur fonction originale Issuer= /O=VeriSign Trust Network /OU=VeriSign, Inc. /OU=VeriSign International Server CA - Class 3 /OU= Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign Recommendation PKIX : utiliser l'extension v3 subjectaltname Gestion des alias, pour les hôtes virtuels, ou encore les adresses multiples dans le cas du courrier électronique chiffré/signé au format S/MIME Franck Davy - Hervé Schauer Consultants Reproduction Interdite
99 Validité Champs standards et X.500 (3/3) Dates déterminant la période de validité d'un certificat Au delà de cette période, on parle d'expiration Suspension de validité durant cette période : révocation Remarques : Certificats révoqués arrivés à expiration susceptibles de rester dans les CRL Propice à l'accroissement en taille des CRL... Extrait de l'archive de CRL $ ls -al RSASecureServer* -rw davy davy sep 20 09:01 RSASecureServer.crl -rw davy davy sep 20 09:01 RSASecureServer.crl rw davy davy sep 20 09:01 RSASecureServer-p.crl.old -rw davy davy sep 20 09:01 RSASecureServer-p.crl.save Cependant certains navigateurs ne vérifient pas correctement ces dates (Netscape) Exemple : Applet Java signée... mais certificat expiré Franck Davy - Hervé Schauer Consultants Reproduction Interdite
100 Extensions X.509v3 (1/8) Notion de criticité d'une extension Contraintes d'utilisation, sur l'usage Clef publique de chiffrement (RSA), de signature (RSA/DSA), d'échange de clef (DH)? Exigences de sécurité Service de non répudiation associé? Contraintes sur l'itinéraire de certification Longueur maximale de la chaîne de certification Informations diverses Points de distribution des listes de révocation, de la politique de certification etc. Extensions propriétaires En pratique : Considération laissée à la discrétion de l'application Peu d'extensions reconnues ou prises en compte Avec de potentielles failles de sécurité en conséquence CryptoAPI MS Franck Davy - Hervé Schauer Consultants Reproduction Interdite
101 basiccontraints Extensions X.509v3 (2/8) Pathlen : nombre de certificats pouvant apparaître, dans la chaîne de certification, sous le certificat portant cette extension CA : TRUE pour une entité habilitée à délivrer des certificats, FALSE sinon X509v3 Basic Constraints : CA:TRUE, pathlen:10 CA ROOT CA OP 1 10 autorités peuvent apparaître sous CA ROOT CA OP 10 Entité terminale Entité terminale Franck Davy - Hervé Schauer Consultants Reproduction Interdite
102 keyusage Extensions X.509v3 (3/8) digitalsignature (RSA/DSA) mécanisme de signature nonrepudiation (RSA/DSA) service de non répudiation keyencipherment/dataencipherment (RSA) chiffrement de clef (de session, premastersecret) ou de données keycertsign/crlsign (RSA/DSA) signature de certificats/de listes de révocation keyagreement/encipheronly/decipheronly (DH) utilisation de Diffie-Hellman uniquement X509v3 Key Usage: Certificate Sign, CRL Sign Franck Davy - Hervé Schauer Consultants Reproduction Interdite
103 Extensions X.509v3 (4/8) Variantes autour de l'extension keyusage Extended Key Usage (extendedkeyusage) serverauth, clientauth, codesigning, protection, timestamping, mscodeind, mscodecom, msctlsign, mssgc, msefs, nssgc Netscape Cert Type (nscerttype) objsign, , server, objca, ca, sslca X509v3 Extended Key Usage: TLS Web Client Authentication, Protection Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA Franck Davy - Hervé Schauer Consultants Reproduction Interdite
104 Extensions X.509v3 (5/8) crldistributionpoints URI ou DNS: point de téléchargement de la liste de révocation correspondant au certificat portant cette extension DirName (DN) permettant de télécharger la liste de révocation via LDAP X509v3 CRL Distribution Points: URI:h I: DNS:ldap.certinomis.com DirName:/C=FR/O=CertiNomis/OU=AC Racine - Root CA/CN=CertiNomis Recherche de la CRL via ldapsearch(1) Suite d'outils OpenLDAP # CertiNomis Classe 2+, CertiNomis,FR dn: cn=certinomis Classe 2+, o=certinomis,c=fr certificaterevocationlist;binary:: MIIBJjCBkgIBATANBgkqhki... certificaterevocationlist;base64:: TulJQkpqQ0JrZ0lCQVRBTkJ... objectclass: top objectclass: crldistributionpoint cn: CertiNomis Classe Franck Davy - Hervé Schauer Consultants Reproduction Interdite
105 authorityinfoaccess Extensions X.509v3 (6/8) Indication relative à l'autorité ayant émis le certificat porteur de cette extension, en terme de service de révocation en ligne typiquement (serveur OCSP) Authority Information Access: OCSP URI: Franck Davy - Hervé Schauer Consultants Reproduction Interdite
106 Extensions X.509v3 (7/8) certificatepolicies, policyidentifier Pointeur vers l'énoncé des pratiques de certification «[Ce document énonce les] pratiques utilisées par l'igc dans la gestion des certificats pratiques qui dépendent de la politique de certification mise en oeuvre. Une IGC doit publier cette déclaration afin de décrire les modalités de fonctionnement des service s qu'elle rend.«faq du DCSSI sur les infrastructures à gestion de clef Exemple : X509v3 Certificate Policies: Policy: CPS: User Notice: Organization: VeriSign, Inc. Number: Franck Davy - Hervé Schauer Consultants Reproduction Interdite
107 Extensions X.509v3 (8/8) X509v3 extensions: Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA X509v3 CRL Distribution Points: DirName:/C=US/O=Entrust.net/OU= incorp. by ref. (limits liab.)/ou=(c) 1999 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority/CN=CRL1 URI: X509v3 Private Key Usage Period: Not Before: May 25 16:09: GMT, Not After: May 25 16:09: GMT X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Authority Key Identifier: keyid:f0:17:62:13:55:3d:b3:ff:0a:00:6b:fb:50:84:97:f3:ed:62:d0:1a X509v3 Subject Key Identifier: F0:17:62:13:55:3D:B3:FF:0A:00:6B:FB:50:84:97:F3:ED:62:D0:1A X509v3 Basic Constraints: CA:TRUE X509v3 extensions: : 0... commonname:.)microsoft Authenticode(tm) Root Authority : 0i...[...*.9..b.S2.R0P1.0...U...US1^M0...U...MSFT1200..U...)Microsoft Authenticode(tm) Root Authority Franck Davy - Hervé Schauer Consultants Reproduction Interdite
108 Faille CryptoAPI (1/2) «Internet Explorer SSL Vulnerability» (MS02-050) Description du problème Non prise en compte par Internet Explorer (5, 5.5 et 6) de l'extension v3 basiccontraints Exemple : X509v3 Basic Constraints : CA:TRUE, pathlen:10 Signification : Le certificat est celui d'une autorité de certification : CA:TRUE 10 certificats intermédiaires peuvent constituer la chaîne conduisant aux entités terminales : pathlen:10 Ces options n'ont de signification que pour le client manipulant le certificat Absence de l'option critique basicconstraints et permissité concernant les keyusage = possibilité pour la clef privée associée à la clef publique dans le certificat de délivrer un certificat Un certificat terminal peut se comporter comme une autorité de certification Un certificat serveur SSL/TLS valide peut donc certifier une clef publique Le danger est dans le prolongement de l'itinéraire de certification d'une «autorité de confiance» connue Franck Davy - Hervé Schauer Consultants Reproduction Interdite
109 Faille CryptoAPI (2/2) Scénario d'exploitation Attaque de type «Man-in-the-Middle» Certificate chain 0 s:/c=fr/st=hauts de Seine/L=CLICHY/O=WEBSERVER Company.../CN= i:/o=verisign Trust Network/OU=VeriSign, Inc./OU=VeriSign International Server CA - Class 3 /OU= Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign 1 s:/o=verisign Trust Network/OU=VeriSign, Inc./OU=VeriSign International Server CA - Class 3 /OU= Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign i:/c=us/o=verisign, Inc./OU=Class 3 Public Primary Certification Authority s:/cn= i:/c=fr/st=hauts de Seine/L=CLICHY/O=WEBSERVER Company.../CN= Commutateur Prolongation de l'itinéraire de certification Penser à bien configurer le «relais» présentant le certificat du serveur détourné pour qu'il renvoie à son tour les différents certificats de la chaîne de certification ;-) Extensible à S/MIME! Faille dans la CryptoAPI (non spécifique à IE) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
110 En pratique
111 Utilisation des certificats X.509v3 Commerce électronique, avec HTTPS (HTTP/SSL) Authentification SSL/TLS par certificat, obligatoire pour le serveur Authentification optionnelle pour le client (SSLv3/TLSv1) Message électronique sécurisée Confidentialité et authenticité des messages Entre utilisateurs finaux, avec S/MIME Entre MTA, avec SMTP-TLS Sécurisation des infrastructures réseau Tunnels IPSec Gestion de l'entreprise Intégration aux ERP Dématérialisation des procédures de l'administration Horodatage des documents, non répudiation des transactions Contrôle d'accès et gestion de privilèges Franck Davy - Hervé Schauer Consultants Reproduction Interdite
112 Les certificats dans IE 5.0 : Panorama Trois grandes classes de certificats X.509 Certificats Racines Certificats Intermédiaire s(autorités de certification non autosignées) Certificats Personnels (théoriquement non autorisées à délivrer de certificats) Manipulation des certificats X.509 Via l'interface graphique Conviviale, mais peu pratique Via la suite d'outils "Authenticode for IE 5.0" Assez «puissante», mais non livrée en standard Exemple : Exportation des certificats racines c:\ certmgr -add -all -c -s root -7 win2k_rootcerts.der Résultat : Liste de 106 certificats, au format PKCS#7 Certificats de confiance? DN : C=hk, O=C&W HKT SecureNet CA SGC Root... DN : C=UY, O=ADMINISTRACION NACIONAL DE CORREOS... DN : C=MX, CN=Autoridad Certificadora del Colegio Nacional de Correduria Publica Mexicana, A.C.,O=Colegio Franck Davy - Hervé Schauer Consultants Reproduction Interdite
113 IE 5.0 : Autorités de certification (1/3) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
114 IE 5.0 : Autorités de certification (2/3) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
115 IE 5.0 : Autorités de certification (3/3) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
116 IE 5.0 : Autorités intermédiaires (1/3) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
117 IE 5.0 : Autorités intermédiaires (2/3) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
118 IE 5.0 : Autorités intermédiaires (3/3) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
119 Quelques chiffres... (1/2) Champs Standards Nombre de certificats (racines) référencés : 106 Répartition par pays Pays AU BE BR CH DE ES FI FR GB HK HU IT JP MX NL US UY ZA Ind Version des certificats Version Taille des clefs Taille (RSA) Les racines possédant ces clefs exotiques étant : (1000) Issuer: C=US, O=RSA Data Security, Inc., OU=Secure Server Certification Authority (2046) Issuer: C=FR, O=Certiposte, CN=Certiposte Classe A Personne Issuer: C=FR, O=Certiposte, CN=Certiposte Serveur Franck Davy - Hervé Schauer Consultants Reproduction Interdite
120 Extensions v3 Quelques chiffres... (2/2) X509v3 Key Usage : 40 (14 critical) Certificate Sign : 40 CRL Sign : 38 Digital Signature : 11 Non Repudiation : 7 X509v3 Basic Constraints : 60 (33 critical) CA:TRUE : 60 Pathlen : 15 Pathlen X509v3 CRL Distribution Points : 22 URI : 13 DirName : 10 Disponibilité des CRL : 404 Not Found : Service Unavailable : OK : Franck Davy - Hervé Schauer Consultants Reproduction Interdite
121 Le protocole HTTPS Démonstrations : HTTPS (1/8) Authentification du serveur par certificat X.509 Authentification du client par certificat X.509 (SSLv3/TLSv1 uniquement) Importation de la paire certificat/clef privée via PKCS#12 Suivi de session authentifiée et gestion des autorisations au niveau du serveur Restriction d'accès selon : DN (Organisation, pays etc.) Plages horaires Configuration Serveur Apache + Mod_SSL OpenSSL, pour la génération des certificats Franck Davy - Hervé Schauer Consultants Reproduction Interdite
122 Démonstrations : HTTPS (2/8) Limitations : incompatibilité entre les protocoles SSL/TLS et HTTP/1.1 Problématique Entête 'Host: ' introduite en HTTP/1.1 Extension HTTP/1.0 dans les navigateurs modernes Hébergement de plusieurs sites pour une même instance de serveur WEB Distinction et distribution des requêtes suivant : L'adresse IP Le nom référencé par l'entête Host Limitation Utilisation des protocoles SSL/TLS Protocole SSL/TLS se déroulant avant tout dialogue HTTP Problème de validation d'un certificat Le nom présenté via le RDN 'CN' dans le certificat X.509 ne coïncide pas forcément avec le nom de domaine pleinement qualifié (FQDN) par lequel le serveur HTTPS est accédé Franck Davy - Hervé Schauer Consultants Reproduction Interdite
123 Illustration Démonstrations : HTTPS (3/8) $ openssl s_client -connect :443 CONNECTED( ) --- Server certificate -----END CERTIFICATE----- subject=/c=fr/st=ile-de-france/l=levallois-perret/o=herve Schauer Consultants/CN= issuer=/c=fr/st=ile-de-france/l=levallois-perret/o=herve Schauer Consultants/CN=CA SSL --- No client certificate CA names sent --- SSL handshake has read 3360 bytes and written 320 bytes --- New, TLSv1/SSLv3, Cipher is EDH-RSA-DES-CBC3-SHA Server public key is 1024 bit SSL-Session: Protocol : TLSv1 Cipher : EDH-RSA-DES-CBC3-SHA Session-ID: 399FF3BB460AE2A F1BE7A0DB73973F99808ED12569C571B59FEF525 Master-Key: 94B3A8FFCEA690E35AA138AFC496AF803CD8F3C70C1617E44AF5AB0919D5F6DB2630C9F1AFB0D6C53FA7F0107E38DFF3 Verify return code: 0 (ok) --- GET / HTTP/1.0 Host: UnAutre.webserver.com HTTP/ ok Content-type: text/html Franck Davy - Hervé Schauer Consultants Reproduction Interdite
124 Démonstrations : HTTPS (4/8) Hôtes virtuels par adresse IP Génération des certificats Champ CN égal au FQDN Génération «classique» Mécanisme transparent pour l'utilisateur Utilisation de plusieurs adresses IP Alternative similaire : utiliser des ports différents Hôtes virtuels par nom Une et une seule adresse IP Utilisation d'alias DNS (CNAME) Un seul certificat X.509 est présenté pour les 2 hôtes hébergés Franck Davy - Hervé Schauer Consultants Reproduction Interdite
125 Démonstrations : HTTPS (5/8) Hôtes virtuels par nom DNS Standard query A www1.webserver.com DNS Standard query response CNAME A GET / HTTP/1.0 Host: www1.webserver.com CN= Hôtes virtuels par adresse IP DNS Standard query A www1.webserver.com DNS Standard query response A GET / HTTP/1.0 Host: www1.webserver.com CN=www1.webserver.com Franck Davy - Hervé Schauer Consultants Reproduction Interdite
126 Démonstrations : HTTPS (6/8) Méthodes de validation des certificats Netscape Gestion des wildcards et expressions rationnelles dans le champ CN Gestion des CN multivalués Spécification Netscape (SSLv3) : Internet Explorer Gestion des subjectaltname multivalués de type dnsname En cas de subjectaltname non présent : Gestion du CN avec wildcards Conformité partielle à la RFC2818 [HTTP/TLS] Franck Davy - Hervé Schauer Consultants Reproduction Interdite
127 Problématique Démonstrations : HTTPS (7/8) Internet Explorer 5.01 ne gère pas les wildcards Application de correctifs nécessaire Solution Peu envisageable à grande échelle, et face à une population cliente non identifiée Certificat «hybride» Valeur du commonname (foo bar).webserver.com ou *.webserver.com X509v3 Subject Alternative Name: DNS:foo.webserver.com, DNS:bar.webserver.com Franck Davy - Hervé Schauer Consultants Reproduction Interdite
128 Pour aller plus loin... Ressources et démonstrations : HTTPS (8/8) «SSL and TLS Designing and Building Secure Systems» (Eric Rescorla) Addison-Wesley, 2001 ISBN «SSL/TLS : du concept à la pratique» Franck Davy - Hervé Schauer Consultants Reproduction Interdite
129 Exemple de PKI : télédéclaration des impôts (1/9) Service de déclaration des impôts en ligne Usage du certificat X.509 client généré Authentification client SSLv3/TLSv1 (gérée par le navigateur) Restriction de l'accès au site HTTPS Pour rappel : il n'y a pas de service de non répudiation en SSL/TLS La clef utilisée pour «signer» les données applicatives n'est pas celle associée à la clef publique contenue dans le certificat Signature numérique de la déclaration au format électronique (gérée une applet Java) À laquelle est associée un service de non-répudiation («imputabilité») Clef privée et certificat dans un fichier au format PKCS#12 contenant : 1. Les certificats des autorités signataires a) Autorité de certification racine b) Autorités de certification intermédiaires 2. Le certificat client et la clef privée associée (chiffrée en DES-EDE3-CBC) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
130 Exemple de PKI : télédéclaration des impôts (2/9) Télédéclaration des impôts : architecture AC Racine O=DIRECTION GENERALE DES IMPOTS, CN=AC DIRECTION GENERALE DES IMPOTS RACINE AC intermédiaire n 1 O=DIRECTION GENERALE DES IMPOTS, CN=AC DIRECTION GENERALE DES IMPOTS AC intermédiaire n 2 O=DIRECTION GENERALE DES IMPOTS, CN=AC DIRECTION GENERALE DES IMPOTS USAGER pathlen=0 Entité terminale C=fr, O=DIRECTION GENERALE DES IMPOTS, OU=DIRECTION GENERALE DES IMPOTS USAGER, OU=AD - 1, OU=D - 0, CN=XXXXXXXXXXXXX DAVY FRANCK Franck Davy - Hervé Schauer Consultants Reproduction Interdite
131 Exemple de PKI : télédéclaration des impôts (3/9) AC Racine Certificate: Data: Version: 3 (0x2) Serial Number: 7a:7a:cd:e8:d9:d3:65:ee:00:fb:8f:6b:3a:8b:89:70 Signature Algorithm: sha1withrsaencryption Issuer: O=DIRECTION GENERALE DES IMPOTS, CN=AC DIRECTION GENERALE DES IMPOTS RACINE Validity Not Before: Jul 5 00:00: GMT Not After : Jul 4 23:59: GMT Subject: O=DIRECTION GENERALE DES IMPOTS, CN=AC DIRECTION GENERALE DES IMPOTS RACINE Subject Public Key Info: Public Key Algorithm: rsaencryption RSA Public Key: (2048 bit) Modulus (2048 bit): [...] Exponent: (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:TRUE X509v3 CRL Distribution Points: URI: X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Subject Key Identifier: 08:F1:F8:CF:BF:01:4F:88:58:D4:9A:7F:5B:BC:ED:C7:69:69:43:DE X509v3 Authority Key Identifier: keyid:08:f1:f8:cf:bf:01:4f:88:58:d4:9a:7f:5b:bc:ed:c7:69:69:43:de Franck Davy - Hervé Schauer Consultants Reproduction Interdite
132 Exemple de PKI : télédéclaration des impôts (4/9) AC intermédiaire n 1 Certificate: Data: Version: 3 (0x2) Serial Number: 6d:61:71:7a:c0:dc:23:c0:f3:a7:2b:03:ac:21:f0:af Signature Algorithm: sha1withrsaencryption Issuer: O=DIRECTION GENERALE DES IMPOTS, CN=AC DIRECTION GENERALE DES IMPOTS RACINE Validity Not Before: Jul 5 00:00: GMT Not After : Jul 4 23:59: GMT Subject: O=DIRECTION GENERALE DES IMPOTS, CN=AC DIRECTION GENERALE DES IMPOTS Subject Public Key Info: Public Key Algorithm: rsaencryption RSA Public Key: (2048 bit) Modulus (2048 bit): [...] Exponent: (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:TRUE X509v3 CRL Distribution Points: URI: X509v3 Key Usage: Certificate Sign, CRL Sign X509v3 Subject Key Identifier: 04:6C:AE:8D:DB:03:C7:21:91:EB:5B:61:35:AD:A5:AF:43:5E:2F:DB X509v3 Authority Key Identifier: keyid:08:f1:f8:cf:bf:01:4f:88:58:d4:9a:7f:5b:bc:ed:c7:69:69:43:de Franck Davy - Hervé Schauer Consultants Reproduction Interdite
133 Exemple de PKI : télédéclaration des impôts (5/9) Certificat des autorités de certification racine et intermédiaire n 1 AC Racine : certificat autodélivré/autosigné Version 3 subject == issuer Présence d'extensions X509v3 Clef publique RSA de 2048 bits Usages : Émission de certificats (Certificate Sign) Émission de listes de révocation (CRL Sign) Liste de révocation associée via l'extension crldistributionpoints Autorités non opérationnelles $ openssl crl -inform DER \ -in AC_DIRECTION_GENERALE_DES_IMPOTS_RACINE.crl -text -noout Certificate Revocation List (CRL): Version 1 (0x0) Signature Algorithm: sha1withrsaencryption Issuer: /O=DIRECTION GENERALE DES IMPOTS/CN=AC DIRECTION GENERALE DES IMPOTS RACINE Last Update: Jul 5 00:00: GMT Next Update: Jul 4 23:59: GMT No Revoked Certificates. Signature Algorithm: sha1withrsaencryption 91:9f:54:d7:ad:67:1a:f9:b8:f6:13: Franck Davy - Hervé Schauer Consultants Reproduction Interdite
134 Exemple de PKI : télédéclaration des impôts (6/9) AC intermédiaire n 2 Certificate: Data: Version: 3 (0x2) Serial Number: 70:f8:41:2e:35:ab:81:86:b3:ea:6e:77:05:49:2a:1b Signature Algorithm: sha1withrsaencryption Issuer: O=DIRECTION GENERALE DES IMPOTS, CN=AC DIRECTION GENERALE DES IMPOTS Validity Not Before: Jul 5 00:00: GMT Not After : Jul 4 23:59: GMT Subject: O=DIRECTION GENERALE DES IMPOTS, CN=AC DIRECTION GENERALE DES IMPOTS USAGER Subject Public Key Info: Public Key Algorithm: rsaencryption RSA Public Key: (1024 bit) Modulus (1024 bit): [...] Exponent: (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:TRUE, pathlen:0 X509v3 CRL Distribution Points: URI: X509v3 Key Usage: Certificate Sign, CRL Sign Netscape Cert Type: SSL CA, S/MIME CA X509v3 Subject Alternative Name: DirName:/CN=DGI-1 X509v3 Subject Key Identifier: 03:71:E1:87:C2:F3:73:26:D0:0A:31:24:A0:34:4E:7A:38:81:7F:8A X509v3 Authority Key Identifier: keyid:04:6c:ae:8d:db:03:c7:21:91:eb:5b:61:35:ad:a5:af:43:5e:2f:db Franck Davy - Hervé Schauer Consultants Reproduction Interdite
135 Exemple de PKI : télédéclaration des impôts (7/9) Certificat de l'autorité de certification n 2 AC opérationnelle : délivre des certificats à des entités terminales Version 3 Longueur de l'itinéraire de certification égal à 0 Aucune autorité de certification intermédiaire tolérée sous l'autorité CN=AC DIRECTION GENERALE DES IMPOTS USAGER Présence d'extensions X509v3 Clef publique RSA de 1024 bits Usages : Émission de certificats clients/serveurs SSL/TLS (SSL CA, Certficate Sign) Émission de certificats clients S/MIME (S/MIME CA, Certificate Sign) Émission de listes de révocation (CRL Sign) Liste de révocation associée à ce certificat via l'extension crldistributionpoints Autorité opérationnelle $ openssl crl -inform DER \ -in AC_DIRECTION_GENERALE_DES_IMPOTS.crl -text -noout Certificate Revocation List (CRL): [...] Issuer: /O=DIRECTION GENERALE DES IMPOTS/CN=AC DIRECTION GENERALE DES IMPOTS [...] No Revoked Certificates Franck Davy - Hervé Schauer Consultants Reproduction Interdite
136 Exemple de PKI : télédéclaration des impôts (8/9) Certificat client Certificate: Data: Version: 3 (0x2) Serial Number: 54:df:be:15:c2:49:d7:02:78:47:cf:8c:ac:04:fd:0d Signature Algorithm: md5withrsaencryption Issuer: O=DIRECTION GENERALE DES IMPOTS, CN=AC DIRECTION GENERALE DES IMPOTS USAGER Validity Not Before: Mar 17 00:00: GMT Not After : Mar 16 23:59: GMT Subject: C=fr, O=DIRECTION GENERALE DES IMPOTS, OU=DIRECTION GENERALE DES IMPOTS USAGER, OU=AD - 1, OU=D - 0, CN=XXXXXXXXXXXXX DAVY FRANCK Subject Public Key Info: Public Key Algorithm: rsaencryption RSA Public Key: (512 bit) Modulus (512 bit): [...] Exponent: (0x10001) X509v3 extensions: X509v3 Basic Constraints: CA:FALSE X509v3 CRL Distribution Points: URI: DIRECTIONGENERALEDESIMPOTSDIRECTIONGENERALEDESIMPOTSUSAGER/LatestCRL X509v3 Key Usage: Digital Signature, Non Repudiation Netscape Cert Type: SSL Client : Franck Davy - Hervé Schauer Consultants Reproduction Interdite
137 Exemple de PKI : télédéclaration des impôts (9/9) Certificat d'une entité terminale Clef publique RSA de 512 bits Usages : Utilisation comme certificat client SSL/TLS (SSL Client, Digital Signature) Utilisation comme certificat de signature, avec service de non répuditation associé (Digital Signature, Non Repudiation) OID «propriétaire» Verisign : Identifie l'énoncé des pratiques de certification de l'autorité signataire OID value: OID description: -- VeriSign defined certificate extension sub tree -- ( ) -- id-extensions OBJECT IDENTIFIER ::= {id-pki extensions(6)} URL for further info: Liste de révocation associée à ce certificat via l'extension crldistributionpoints $ date lun mar 31 13:43:41 CEST 2003 $ openssl crl -inform DER -in LatestCRL -text -noout \ grep "Serial Number" wc -l Franck Davy - Hervé Schauer Consultants Reproduction Interdite
138 Fonctionnement des PKI Architecture PKI
139 Plan Introduction Architecture et composantes Analogie : carte d'identité nationale Entités et rôles respectifs Gestion/Cycle de vie des certificats Demande de certificat Signature de demande de certificat Publication de certificat Révocation de certificat Politique et énoncé des pratiques de certification Démonstrations Franck Davy - Hervé Schauer Consultants Reproduction Interdite
140 Introduction
141 Architecture et composantes
142 Analogie : Carte d'identité Nationale Procédure Retrait d'un formulaire type Dépôt du formulaire accompagné de pièces justificatives (à la mairie) Acte de naissance, justificatif de domicile, photos d'identité, empreintes digitales etc. Validation (Formulaire + Pièces) par un service émetteur Mairie, commissariat de Police par exemple Demande transmise à la préfecture/sous-préfecture, pour délivrance de la carte Mise à disposition de la carte d'identité Mairie Commissariat de Police Préfecture/sous-préfecture Franck Davy - Hervé Schauer Consultants Reproduction Interdite
143 Authentification et autorisation (1/4) Par analogie avec la carte nationale d'identité, le certificat X509v3 offre uniquement un service d'authentification Ne pas confondre authentification et autorisation! Authentification : n.f. Action d'authentifier Authentifier : v.tr. Certifier authentifique, conforme, certain Autorisation : n.f. Action d'autoriser Autoriser : v.tr. Accorder à quelqu'un la permission de (faire quelquechose) Le certificat X509v3 certifie le lien entre DN et clef publique Seul un service d'authentification est rendu Au sein d'une même communauté d'intérêt, considérant l'autorité de certification racine comme une autorité «de confiance» Franck Davy - Hervé Schauer Consultants Reproduction Interdite
144 Authentification et autorisation (2/4) Authentification et autorisation dans Apache/mod_ssl Service d'authentification assuré via les directives suivantes : SSLCACertificateFile/SSLCACertificatePath File Path Fichier ou chemin pointant vers les fichiers, au format PEM, contenant les certificats des autorités considérées comme étant dignes «de confiance» par le serveur. Les clefs publiques de ces certificats servent à la validation, au sens cryptographique (vérification d'une signature) de l'éventuel certificat présenté par un client lors de la phase handshake des protocoles SSLv3 et TLSv1. À la vérification, au sens cryptographique, d'une signature s'ajoute la composante fondamentale qu'est la confiance SSLVerifyClient none require optional optional_no_ca Directive spécifiant le caractère obligatoire de la présentation d'un certificat client. Des variables d'environnement sont initialisées suite à la présentation d'un certificat client. Dépendantes de l'implémentation SSL/TLS employée : mod_ssl, apache-ssl? Permettent l'accès, en lecture, aux paramètres du certificat par une application Franck Davy - Hervé Schauer Consultants Reproduction Interdite
145 Authentification et autorisation (3/4) Service d'autorisation assuré via la directive SSLRequire SSLRequire Expression Accorde ou refuse l'accès à un répertoire sur la base de l'évaluation de l'expression booléenne Expression, exprimée en fonction des variables d'environnement dérivées du certificat client présenté Exemple d'utilisation ( extrait de la documentation de référence de mod_ssl) : SSLRequire ( %{SSL_CIPHER}!~ m/^(exp NULL)-/ \ and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \ and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \ and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \ and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \ or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/ Nécessite une authentification préalable du client Incompatible avec l'utilisation de la directive optional_no_ca! Franck Davy - Hervé Schauer Consultants Reproduction Interdite
146 En pratique : Authentification et autorisation (4/4) 1. Authentifier les utilisateurs sur la base des certificats des autorités «publiques» et/ou «privées», mais toujours considérées comme «dignes de confiance» Exemple : base de certificats de Windows Autoriser les utilisateurs sur la base des variables d'environnement dérivées du certificat client Exemple d'utilisation : architecture de type SSO Session SSLv3/TLS Authentification mutuelle par certificat X509v3 Propagation du DN auprès des applications Ex. Réécriture de la QUERY_STRING par mod_rewrite Franck Davy - Hervé Schauer Consultants Reproduction Interdite
147 PKI : entités et rôles respectifs (1/2) Internet X509 PKI : Certificates Management Protocols (RFC2510) C e < > End entity r Operational t transactions ^ and management Management / transactions transactions PKI users C v R L ^ ^ PKI management v entities R e < RA <---+ p Publish certificate o s I v v t o < CA r Publish certificate y Publish CRL ^ Management Transaction v CA Franck Davy - Hervé Schauer Consultants Reproduction Interdite
148 PKI : entités et rôles respectifs (2/2) Autorité de certification privée Gestion de la PKI et des clefs de l'autorité de certification racine Autorité de certification publique Délivrance de certificat X.509v3 aux utilisateurs finaux Infogérance de PKI ( Verisign, GTE Cyber Trust, Certplus, Chambersign etc.) Modèle hybride Côté client : Autorité Locale d'enregistrement Contrôle du contenu des informations certifiées Génération des bi-clefs Enregistrement des demandes Authentification des entités terminales Côté prestataire de services : autorité de certification «Fabrication» des certificats Signature des demandes de certificat Publication et archivage des certificats Gestion des listes de révocation? Fourniture de services (horadatage etc.) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
149 Cycle de vie des certificats X.509
150 Demande de certificat (1/6) Génération du bi-clef Décentralisée Génération du bi-clef à l'enregistrement sur le poste client Support : carte à puce, disque dur, dongle USB, carte pcmcia etc. Demande de certificat pouvant être émise par un client léger (Cf. Netscape) Suivant le niveau de sécurité associé à la classe du certificat : Adresse électronique valide suffisante Présence physique requise Centralisée Dé-corrélation des phases d'enregistrement et de génération du bi-clef Bi-clef généré dans un site «sécurisé», puis délivrance du certificat (sur carte à puce, par exemple) à l'utilisateur Recouvrement des clefs Exigences de sécurité différentes Problème de la non-répudiation pour la clef privée de signature CA Publiques : sauvegarde des certificats X.509 seuls CA Privées : sauvegarde du certificat de signature et du bi-clef de chiffrement Franck Davy - Hervé Schauer Consultants Reproduction Interdite
151 Demande de certificat (2/6) Génération d'une demande de certificat Demande de certificat au format PKCS#10 «Certificate Request Syntax Standard» Utilisation de l'utilitaire req(1ssl) $ openssl req -new -config./openssl.cnf -newkey rsa:1024 -nodes \ -keyout private_key.pem -out req.csr Exemple de formulaire de demande de certificat You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank Pays [FR]: Departement [Ile-de-France]: Localite (e.g. Ville) [Levallois-Perret]: Organisation [Herve Schauer Consultants]: Nom ou URL []:Franck Davy Adresse []:[email protected] Challenge []:secret Franck Davy - Hervé Schauer Consultants Reproduction Interdite
152 Demande de certificat (3/6) Format de la demande de certificat Certificate Request: Data: Version: 0 (0x0) Subject: C=FR, ST=Ile-de-France, L=Levallois-Perret, O=Herve Schauer Consultants, CN=Franck DAVY/ [email protected] Subject Public Key Info: Public Key Algorithm: rsaencryption RSA Public Key: (1024 bit) Modulus (1024 bit): [...] Exponent: (0x10001) Attributes: a0:00 Signature Algorithm: md5withrsaencryption [...] Champ Data Ensemble des données «administratives» entrées via un formulaire Clef publique RSA générée (au format PKCS#1!) Champ Signature Structure ASN.1 'Data:' (encodée suivant la syntaxe de transfert DER) signée Signature avec la clef privée correspondant à la clef publique (champ 'RSA Public Key' figurant dans le certificat (la clef privée n'est pas divulguée à l'autorité signataire!) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
153 Demande de certificat : carte à puce (4/6) Utilisation d'openssl-engine Carte PCMCIA Carte Chrysalis-ITS Luna2 PC Card Procédure décrite : «Using a Cryptographic Hardware Token with Linux» Initialisation $ openssl req -engine luna2 -keyform engine -text -key DSA-public:1:1234 \ -out request.csr -engine : spécifie le token -key : Nom de la clé : Slot de la carte PCMCIA : Code PIN Après réception du certificat certificate.pem $ openssl smime -sign -engine luna2 -in .txt -out signed. .txt \ -signer certficate.pem -keyform engine -inkey DSA-Public:1: Franck Davy - Hervé Schauer Consultants Reproduction Interdite
154 Demande de certificat : client léger (5/6) Client léger : Netscape Navigator (version > 3.0) Utilisation d'une extension pour la génération de clef Tag HTML 'KEYGEN' <KEYGEN NAME="name" CHALLENGE="challenge string"> Une clef RSA de 512 (export), 768 ou 1024 bits est générée La clef privée RSA est conservée dans la base de donnée locale des certificats La clef publique et le challenge sont signés par la clef privée Protection contre le rejeu (les données soumises ne sont pas signées!) Encodage DER de la structure PublicKeyAndChallenge PublicKeyAndChallenge ::= SEQUENCE { spki SubjectPublicKeyInfo, challenge IA5STRING } SignedPublicKeyAndChallenge ::= SEQUENCE { publickeyandchallenge PublicKeyAndChallenge, signaturealgorithm AlgorithmIdentifier, signature BIT STRING } Franck Davy - Hervé Schauer Consultants Reproduction Interdite
155 Demande de certificat : client léger (6/6) Données soumises par formulaire commonname=john+doe& =John+Doe& [email protected]& [email protected]&org=foobar+computing+corp.& =Foobar+Computing+Corp.&orgunit=Bu reau+of+bureaucracy&locality locality=anytown& =Anytown&state=California& =California&country=US& =US&key=MIHFMH EwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAnX0TILJrOMUue%2BPtwBRE6XfV%0AWtKQbsshxk5Z hcuwcwyvcniq9b82qhjdoacdd34rqfcaind46fxkqunb0mvkzqid%0aaqabfhfnb3ppbgxhsxnn euzyawvuzdanbgkqhkig9w0baqqfaanbaakv2eex2n%2fs%0ar%2f7ijnrowlszsmttiqteb%2b ADWHGj9u1xrUrOilq%2Fo2cuQxIfZcNZkYAkWP4DubqW%0Ai0%2F%2FrgBvmco%3D Champ key encodé en base 64, au format SPKAC Acronyme Netscape de «Signed Public Key and Challenge» Donnée manipulable par l'outil spkac(1ssl) $ openssl spkac -key private.key -challenge 'secret' -out spki.cnf $ openssl spkac -in spki.cnf Netscape SPKI: Public Key Algorithm: rsaencryption RSA Public Key: (512 bit) Modulus (512 bit): 00:df:bd:db:40:b1:cb:28:17:42:c9:57:15:63:f8: :cb:28:17:42:c9:57:15:63:f8: [...] Exponent: (0x10001) Challenge String: secret Signature Algorithm: md5withrsaencryption -----BEGIN PUBLIC KEY----- MdwwDQYJKoZIhvcNAQEBBQADKwAwKAIhAN+920CxyygXQslXFWP4JM4B4AqTNmH9 [...] -----END PUBLIC KEY Franck Davy - Hervé Schauer Consultants Reproduction Interdite
156 Signature de demande de certificat Signature de la demande de certificat par l'autorité de certification Signature du champ 'data' de la demande de certificat au format PKCS#10, éventuellement modifié (conformité à la politique de certification) et augmenté d'extensions v3 Remarques Version 0 pour la demande de certificat Possibilité d'inclure des extensions dans la demande de certificat En pratique, avec ca(1ssl) openssl.cnf : fichier de configuration openssl Chargement des extensions à incorporer au certificat final keyusage, crldistributionpoints, etc. $ openssl ca -config./openssl.cnf -extensions SMIME -in smime.csr \ -out smime.pem Cas d'une autorité racine : certificat auto-signé $ openssl req -new -x509 -config./openssl.cnf -extensions CA -sha1 \ -newkey rsa:1024 -nodes -days keyout ca/ca.key -out ca/ca.pem Franck Davy - Hervé Schauer Consultants Reproduction Interdite
157 Publication de certificat (1/4) Éléments publiés Certificats des autorités de certification/révocation Certificats des entités terminales Listes de révocation (CRL) Publication via LDAP Schéma core objectclass certificationauthority ( ) Attributs authorityrevocationlist cacertificate certificaterevocationlist Schéma inetorgperson objectclass inetorgperson ( ) Attribut usercertificate Liste des OID référencés : «Objects Identifiers Registry» Franck Davy - Hervé Schauer Consultants Reproduction Interdite
158 Publication de certificat (2/4) Téléchargement des CRL via le protocole LDAP Extension X509v3 : X509v3 CRL Distribution Points: URI: DNS:ldap.certinomis.com DirName:/C=FR/O=CertiNomis/OU=AC Racine - Root CA/CN=CertiNomis Recherche par ldapsearch(1) sur ldap.certinomis.com # CertiNomis Classe 2+, CertiNomis,FR dn: cn=certinomis Classe 2+, o=certinomis,c=fr certificaterevocationlist;binary:: MIIBJjCBkgIBATANBgkqhkiG9w0BAQUFADBBMQswCQY [..] tsyl7hmtqh/0z2hhjv63yek1hljuj4s//53cwnzfym+607g== certificaterevocationlist;base64:: TulJQkpqQ0JrZ0lCQVRBTkJna3Foa2lHOXcwQkFRVUZ [...] zfotgp1sjrzly8kntnjd056rnlnkzywn2c9pqo= objectclass: top objectclass: crldistributionpoint cn: CertiNomis Classe 2+ Certificat DER encodé en base 64 (# Format PEM) Franck Davy - Hervé Schauer Consultants Reproduction Interdite
159 Publication de certificat (3/4) Publication via le protocole HTTP Types MIME (RFC2585).cer application/pkix-cert.crl application/pkix-crl Autres......spécifiques aux applications.cer application/x-x509-ca-cert.crl application/pkcs-crl.crt application/pkix-cert.crt application/x-x509-ca-cert.crt application/x-x509-user-cert etc. Points de publication CRL (Protocole HTTP généralement, méthode GET classiquement) Extension crldistributionpoints URI: OCSP (Protocole HTTP, méthode POST) Extension Authority Information Access OCSP URI: Franck Davy - Hervé Schauer Consultants Reproduction Interdite
160 Démonstrations Publication de certificat (4/4) Messagerie sécurisée avec S/MIME, avec des certificats clients publiés dans un annuaire LDAP Franck Davy - Hervé Schauer Consultants Reproduction Interdite
161 Révocation de certificat (1/9) «Il appartient à l'utilisateur d'un certificat de vérifier qu'un certificat qu'il se destine à utiliser n'a pas été révoqué» FAQ du DCSSI Révocation = suspension d'un certificat avant sa date de fin de validité Raisons pouvant conduire à la révocation d'un certificat Changement de statut d'une entité Arrêt d'activité d'une autorité Procédure d'émission du certificat non réglementaire Perte de la clef privée Compromission de la clef privée Demande de révocation à l'initiative de Autorité signataire Détenteur du certificat Preuve de possession (par partage de secret) Tierce partie autorisée Implication judiciaire par exemple Franck Davy - Hervé Schauer Consultants Reproduction Interdite
162 Révocation de certificat (2/9) Mise en oeuvre de mécanismes permettant à un utilisateur de s'assurer de la non-révocation d'un certificat Principaux mécanismes de révocation (Partiellement) mis en oeuvre dans les navigateurs grand-public Mécanisme de Listes de Révocation CRL («Certificate Revocation List») Protocole OCSP ( «Online Certificat Status Protocol») Mécanisme de CRL Publication d'une liste périodiquement mise à jour des certificats révoqués Certificats identifiés par Leur autorité signataire Leur numéro de série, unique pour une autorité signataire donnée Liste signée par l'autorité signataire Ou une autorité déléguée Présence de l'extension v3 crlsign dans le certificat de l'autorité émettant la CRL : X509v3 Key Usage: CRL Sign Franck Davy - Hervé Schauer Consultants Reproduction Interdite
163 Révocation de certificat (3/9) Exemple de liste de révocation : $ openssl crl -in crl.pem -text -noout -CApath /etc/ssl/trusted verify OK Certificate Revocation List (CRL): Version 1 (0x0) Signature Algorithm: md5withrsaencryption Issuer: /C=FR/L=Levallois-Perret/O=Herve Schauer Consultants /CN=CA ROOT/ [email protected] Last Update: Aug 27 21:34: GMT Next Update: Sep 26 21:34: GMT Revoked Certificates: Serial Number: 03 Revocation Date: Aug 17 21:33: GMT Serial Number: 06 Revocation Date: Aug 26 18:10: GMT Serial Number: 07 Revocation Date: Aug 26 18:15: GMT Signature Algorithm: md5withrsaencryption 56:1a:c1:b6:d9:2d:03:8f:4a:aa:dc:1a:46:74:2d:f6:42:ed: [...] a1:c0:42:e Franck Davy - Hervé Schauer Consultants Reproduction Interdite
164 Révocation de certificat (4/9) Disponibilité des CRL Nécessité d'indiquer, sur un certificat X.509 destiné à être utilisé, l'url de la liste de révocation relative au certificat Ajout d'une extension X509v3 au certificat : crldistributionpoints (CRLDP) Association au certificat de la liste de révocation dont il dépend Client qui n'a pas à connaître, au préalable, l'intégralité des adresses où télécharger les CRL relatives à une autorité signataire pour une famille de certificats donnée Permet une stratégie de partitionnement des CRL Limitation du nombre de certificats émis portant des CRLDP identiques Lutte contre la taille croissante des listes de révocation émises X509v3 extensions: X509v3 Subject Alternative Name: DirName:/CN=OCSP 1-4 X509v3 CRL Distribution Points: URI: Protocoles de distribution utilisés HTTP LDAP Mais à quel annuaire se connecter? Franck Davy - Hervé Schauer Consultants Reproduction Interdite
165 Révocation de certificat (5/9) En pratique : Connexion au site Certificat présenté comportant les extensions X509.v3 suivantes : X509v3 extensions: X509v3 Basic Constraints: CA:FALSE X509v3 Key Usage: Digital Signature, Key Encipherment X509v3 CRL Distribution Points: URI: X509v3 Certificate Policies: Policy: CPS: User Notice: Organization: VeriSign, Inc. Number: 1 Explicit Text: VeriSign's CPS incorp. by reference liab. ltd. (c)97 VeriSign X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication Authority Information Access: OCSP - URI: Franck Davy - Hervé Schauer Consultants Reproduction Interdite
166 Révocation de certificat (6/9) Téléchargement de la CRL par Internet Explorer Téléchargement automatique si présence de l'extension crldistributionpoints Option (avancée) non activée par défaut «Vérifier la révocation des certificats» Connexion sur le site Sortie de TDIMon IEXPLORE.EXE:964 TDI_SEND TCP: : : IEXPLORE.EXE:964 IRP_MJ_CREATE TCP:Connection obj SUCCESS Context:0x IEXPLORE.EXE:964 TDI_ASSOCIATE_ADDRESS TCP:Connection obj SUCCESS TCP: : IEXPLORE.EXE:964 TDI_CONNECT TCP: : : : : crl.verisign.net Franck Davy - Hervé Schauer Consultants Reproduction Interdite
167 Révocation de certificat (7/9) Sortie de FILEMon :22:08 IEXPLORE.EXE:964 IRP_MJ_CREATE C:\Documents and Settings\Administrateur\Local Settings\Temporary Internet Files\ Content.IE5\XH7R96CX\RSASecureServer[1].crl SUCCESS Attributes: N Options: Create :22:08 IEXPLORE.EXE:964 IRP_MJ_WRITE C:\Documents and Settings\Administrateur\Local Settings\Temporary Internet Files\ Content.IE5\XH7R96CX\RSASecureServer[1].crl SUCCESS Offset: 0 Length: 685 [...] :22:23 IEXPLORE.EXE:964 IRP_MJ_CREATE C:\Documents and Settings\Administrateur\ Local Settings\Temporary Internet Files\Content.IE5\4XKXAXPM\certplus[1].htm SUCCESS Attributes: N Options: Create Téléchargement préliminaire du fichier RSASecureServer.crl Téléchargement de la page certplus.htm Latence importante dûe à la taille de la CRL 797ko Fonctionnalité similaire dans Mozilla et Netscape 6 Avec la possibilité d'effectuer un téléchargement périodique des CRL, et non simplement ponctuel, à la consultation d'un site Franck Davy - Hervé Schauer Consultants Reproduction Interdite
168 Protocole OCSP Révocation de certificat (8/9) Mis en oeuvre dans Mozilla Exemple avec l'application cliente ocsp(1) d'openssl $ openssl ocsp -url -issuer./trust/ca.pem \ -CAfile./trust/ca.pem -cert./certplus.pem -text OCSP Request Data: Version: 1 (0x0) Requestor List: Certificate ID: Hash Algorithm: sha1 Issuer Name Hash: 0E9290B27AA8BAF65D3C9229AFE8F31DB953B2DA Issuer Key Hash: 034FA3A36BCBEC6D CEC9ABF67C542F26A Serial Number: 47C1C31DC6D28C5C C7F5D90C1 Request Extensions: OCSP Nonce: 705BFEE68E6F0B631DDF3C57AEDC4AD Franck Davy - Hervé Schauer Consultants Reproduction Interdite
169 Révocation de certificat (9/9) Réponse du serveur OCSP Response Data: OCSP Response Status: successful (0x0) Response Type: Basic OCSP Response Version: 1 (0x0) Responder Id: O = "VeriSign, Inc.", OU = VeriSign Trust Network, OU = Terms of use at (c)00, CN = Secure Server OCSP Responder Produced At: Jun 16 13:29: GMT Responses: Certificate ID: Hash Algorithm: sha1 Issuer Name Hash: 0E9290B27AA8BAF65D3C9229AFE8F31DB953B2DA Issuer Key Hash: 034FA3A36BCBEC6D CEC9ABF67C542F26A Serial Number: 47C1C31DC6D28C5C C7F5D90C1 Cert Status: good This Update: Jun 16 13:29: GMT Response Extensions: OCSP Nonce: 705BFEE68E6F0B631DDF3C57AEDC4AD Franck Davy - Hervé Schauer Consultants Reproduction Interdite
170 Terminologie Politique et énoncé des pratiques de certifications (1/4) Politique de certification Certificate Policies «Ce document décrit l'ensemble des règles qui définissent le type d'application auxquelles un certificat est adapté. Un certificat de clé publique contient l'identifiant de la politique de certification avec laquelle il a été émis, et selon laquelle il est destiné à être utilisé.» FAQ du DCSSI sur les infrastructures à gestion de clés Politique d'émission des certificats, qui précise dans quel cadre le certificat peut être utilisé Vérification est à la charge de l'utilisateur Franck Davy - Hervé Schauer Consultants Reproduction Interdite
171 Terminologie Politique et énoncé des pratiques de certifications (2/4) Énoncé des pratiques de certification Certificate Pratice Statement «Ce document énonce les pratiques utilisées par l'igc dans la gestion des certificats, pratiques qui dépendent de la politique de certification mise en oeuvre. Une IGC doit publier cette déclaration afin de décrire les modalités de fonctionnement des services qu'elle rend» FAQ du DCSSI sur les infrastructures à gestion de clés Énoncé des pratiques employées par l'autorité de certification pour émettre un certificat Franck Davy - Hervé Schauer Consultants Reproduction Interdite
172 Profil PKIX «Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework» (RFC2527) Description d'un ensemble de spécifications en terme de : Responsabilités légales, juridiques et financières Fonctionnalités Administration Politique et énoncé des pratiques de certifications (3/4) PC2 «Procédures et politiques de certification de clés» Franck Davy - Hervé Schauer Consultants Reproduction Interdite
173 En pratique : Politique et énoncé des pratiques de certifications (4/4) Extension v3 Certificate policies Autre... Issuer: O=VeriSign, OU=VeriSign Class 2 OnSite Individual CA X509v3 Certificate Policies: Policy: CPS: User Notice: Organization: VeriSign, Inc. Number: 1 Explicit Text: VeriSign's CPS incorp. by reference liab. ltd. (c)97 VeriSign Issuer: O=VeriSign Trust Network, OU=VeriSign, Inc., OU=VeriSign International Server CA - Class 3, OU= Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign Franck Davy - Hervé Schauer Consultants Reproduction Interdite
174 Démonstrations Franck Davy - Hervé Schauer Consultants Reproduction Interdite
175 Questions? Franck Davy - Hervé Schauer Consultants Reproduction Interdite
176 Remerciements. à Hervé Schauer, Ghislaine Labouret et à l'ensemble des consultants du cabinet HSC, pour leurs conseils et leur relecture à Ahmed Serhrouchni, pour son encadrement et ses enseignements à l'enst Franck Davy - Hervé Schauer Consultants Reproduction Interdite
Utilisation des certificats X.509v3
En pratique Utilisation des certificats X.509v3 Commerce électronique, avec HTTPS (HTTP/SSL) Authentification SSL/TLS par certificat, obligatoire pour le serveur Authentification optionnelle pour le client
Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références
Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références 2 http://securit.free.fr Introduction aux concepts de PKI Page 1/20
Architectures PKI. Sébastien VARRETTE
Université du Luxembourg - Laboratoire LACS, LUXEMBOURG CNRS/INPG/INRIA/UJF - Laboratoire LIG-IMAG [email protected] http://www-id.imag.fr/~svarrett/ Cours Cryptographie & Securité Réseau Master
Une introduction à SSL
Une introduction à SSL Felip Manyé i Ballester 6 juin 2009 Plan Introduction et concepts de base 1 Introduction et concepts de base Buts et enjeux de SSL Concepts de base 2 Certificats X.509 Protocole
Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux
Chapitre 7 Sécurité des réseaux Services, attaques et mécanismes cryptographiques Hdhili M.H Cours Administration et sécurité des réseaux 1 Partie 1: Introduction à la sécurité des réseaux Hdhili M.H Cours
SSL. Secure Socket Layer. R. Kobylanski [email protected]. janvier 2005 - version 1.1 FC INPG. Protocole SSL Application avec stunnel
SSL Secure Socket Layer R. Kobylanski [email protected] FC INPG janvier 2005 - version 1.1 1 Protocole SSL 2 SSL/TLS Encapsule des protocoles non sécurisés (HTTP IMAP...) dans une couche chiffrée
Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI
Cryptologie Algorithmes à clé publique Jean-Marc Robert Génie logiciel et des TI Plan de la présentation Introduction Cryptographie à clé publique Les principes essentiels La signature électronique Infrastructures
Cours 14. Crypto. 2004, Marc-André Léger
Cours 14 Crypto Cryptographie Définition Science du chiffrement Meilleur moyen de protéger une information = la rendre illisible ou incompréhensible Bases Une clé = chaîne de nombres binaires (0 et 1)
SSH, le shell sécurisé
, le shell sécurisé Objectifs : 1. Présenter le protocole et les outils associés Sébastien JEAN Pourquoi 1/2? Les services standards ne supportent que peu de propriétés de sécurité souvent l identification,
Devoir Surveillé de Sécurité des Réseaux
Année scolaire 2009-2010 IG2I L5GRM Devoir Surveillé de Sécurité des Réseaux Enseignant : Armand Toguyéni Durée : 2h Documents : Polycopiés de cours autorisés Note : Ce sujet comporte deux parties. La
Fonctionnement des PKI. - 3 - Architecture PKI
Fonctionnement des PKI - 3 - Architecture PKI Plan Introduction Architecture et composantes Analogie : carte d'identité nationale Entités et rôles respectifs Gestion/Cycle de vie des certificats Demande
Du 03 au 07 Février 2014 Tunis (Tunisie)
FORMATION SUR LA «CRYPTOGRAPHIE APPLIQUEE ET SECURITE DES TRANSACTIONS ELECTRONIQUES» POUR LES OPERATEURS ET REGULATEURS DE TELECOMMUNICATION Du 03 au 07 Février 2014 Tunis (Tunisie) CRYPTOGRAPHIE ET SECURITE
Protocole industriels de sécurité. S. Natkin Décembre 2000
Protocole industriels de sécurité S. Natkin Décembre 2000 1 Standards cryptographiques 2 PKCS11 (Cryptographic Token Interface Standard) API de cryptographie développée par RSA labs, interface C Définit
FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE
FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE ET SECURITE DES TRANSACTIONS ELECTRONIQUES : STANDARDS, ALGORITHMES DE HACHAGE ET PKI» DU 22 AU 26 JUIN 2015 TUNIS (TUNISIE) CRYPTOGRAPHIE APPLIQUEE ET SECURITE DES
IGC-CPS2bis. Gabarits des certificats X.509. des Classes 4, 5 et 6. 21 mars 2012. Version 3.0. 21 mars 2012 Document ASIP-Santé Page 1 / 34
Réf. : IGC-CPS2bis Certificats X-509 et CRL - v3.0.doc IGC-CPS2bis Gabarits des certificats X.509 des Classes 4, 5 et 6 21 mars 2012 Version 3.0 21 mars 2012 Document ASIP-Santé Page 1 / 34. SOMMAIRE 1.
titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7 Auteur : Charles-Alban BENEZECH
2012 Les tutos à toto CUPS server - install and configure Réalisée sur CentOS 5.7 Ecrit par Charles-Alban BENEZECH 2012 titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups 1.3.7
TP 2 : Chiffrement par blocs
USTL - Licence et Master Informatique 2006-2007 Principes et Algorithmes de Cryptographie TP 2 : Chiffrement par blocs Objectifs du TP utiliser openssl pour chiffrer/déchiffrer, étudier le remplissage
Les certificats numériques
Les certificats numériques Quoi, pourquoi, comment Freddy Gridelet 9 mai 2005 Sécurité du système d information SGSI/SISY La sécurité : quels services? L'authentification des acteurs L'intégrité des données
Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS
Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS Nicole Dausque CNRS/UREC CNRS/UREC IN2P3 Cargèse 23-27/07/2001 http://www.urec.cnrs.fr/securite/articles/certificats.kezako.pdf http://www.urec.cnrs.fr/securite/articles/pc.cnrs.pdf
Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC
Certificats X509 & Infrastructure de Gestion de Clés Claude Gross CNRS/UREC 1 Confiance et Internet Comment établir une relation de confiance indispensable à la réalisation de transaction à distance entre
Le protocole SSH (Secure Shell)
Solution transparente pour la constitution de réseaux privés virtuels (RPV) INEO.VPN Le protocole SSH (Secure Shell) Tous droits réservés à INEOVATION. INEOVATION est une marque protégée PLAN Introduction
Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009
Aristote Groupe PIN Utilisations pratiques de la cryptographie Frédéric Pailler (CNES) 13 janvier 2009 Objectifs Décrire les techniques de cryptographie les plus courantes Et les applications qui les utilisent
L3 informatique TP n o 2 : Les applications réseau
L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique
Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs
HASH LOGIC s e c u r i t y s o l u t i o n s Version 1.0 de Janvier 2007 PKI Server Une solution simple, performante et économique Les projets ayant besoin d'une infrastructure PKI sont souvent freinés
Modèle de sécurité de la Grille. Farida Fassi Master de Physique Informatique Rabat, Maroc 24-27 May 2011
Modèle de sécurité de la Grille Farida Fassi Master de Physique Informatique Rabat, Maroc 24-27 May 2011 2 Plan Introduction a la sécurité sur la Grille de Calcul Grid Security Infrastructure (GSI) Authentification
Méthode 1 : Mise en place IPSEC
Méthode 1 : Mise en place IPSEC PC1 192.168.238.130 PC2 192.168.238.131 Installation des outils «ipsec-tools» et «racoon» via les paquets ubuntu : sudo -s apt-get install ipsec-tools apt-get install racoon
I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.
DTIC@Alg 2012 16 et 17 mai 2012, CERIST, Alger, Algérie Aspects techniques et juridiques de la signature électronique et de la certification électronique Mohammed Ouamrane, Idir Rassoul Laboratoire de
Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86
Tunnels et VPN 22/01/2009 Formation Permanente Paris6 86 Sécurisation des communications Remplacement ou sécurisation de tous les protocoles ne chiffrant pas l authentification + éventuellement chiffrement
La sécurité dans les grilles
La sécurité dans les grilles Yves Denneulin Laboratoire ID/IMAG Plan Introduction les dangers dont il faut se protéger Les propriétés à assurer Les bases de la sécurité Protocoles cryptographiques Utilisation
«La Sécurité des Transactions et des Echanges Electroniques»
Séminaire «Journées d Informatique Pratique JIP 2005» Département Informatique, ISET Rades 31 Mars, 1et 2 Avril 2005 «La Sécurité des Transactions et des Echanges Electroniques» Présenté par: Mme Lamia
La citadelle électronique séminaire du 14 mars 2002
e-xpert Solutions SA 29, route de Pré-Marais CH 1233 Bernex-Genève Tél +41 22 727 05 55 Fax +41 22 727 05 50 La citadelle électronique séminaire du 14 mars 2002 4 [email protected] www.e-xpertsolutions.com
Instructions Mozilla Thunderbird Page 1
Instructions Mozilla Thunderbird Page 1 Instructions Mozilla Thunderbird Ce manuel est écrit pour les utilisateurs qui font déjà configurer un compte de courrier électronique dans Mozilla Thunderbird et
Le protocole sécurisé SSL
Chapitre 4 Le protocole sécurisé SSL Les trois systèmes de sécurisation SSL, SSH et IPSec présentés dans un chapitre précédent reposent toutes sur le même principe théorique : cryptage des données et transmission
SSL ET IPSEC. Licence Pro ATC Amel Guetat
SSL ET IPSEC Licence Pro ATC Amel Guetat LES APPLICATIONS DU CHIFFREMENT Le protocole SSL (Secure Socket Layer) La sécurité réseau avec IPSec (IP Security Protocol) SSL - SECURE SOCKET LAYER Historique
Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009
Janvier 2009 1 2 Etablissement des clés de session Protection des données échangées 3 Identification par mot de passe Identification par clé publique Identification par hôte 4 Utilisations de Secure Shell
Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple
Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises La banque en ligne et le protocole TLS : exemple 1 Introduction Définition du protocole TLS Transport Layer Security
Les infrastructures de clés publiques (PKI, IGC, ICP)
Les infrastructures de clés publiques (PKI, IGC, ICP) JDLL 14 Octobre 2006 Lyon Bruno Bonfils 1 Plan L'utilisation des certificats Le rôle d'un certificat Les autorités de confiance Le
SSL/TLS: Secure Socket Layer/Transport Layer Secure Quelques éléments d analyse. GRES 2006 Bordeaux 12 Mai 2006. Ahmed Serhrouchni ENST-PARIS CNRS
SSL/TLS: Secure Socket Layer/Transport Layer Secure Quelques éléments d analyse GRES 2006 Bordeaux 12 Mai 2006 Ahmed Serhrouchni ENST-PARIS CNRS Plan Introduction (10 minutes) Les services de sécurité
Réseaux Privés Virtuels
Réseaux Privés Virtuels Introduction Théorie Standards VPN basés sur des standards VPN non standards Nouvelles technologies, WiFi, MPLS Gestion d'un VPN, Gestion d'une PKI Introduction Organisation du
Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.
2013 Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D. Table des matières 1 Les architectures sécurisées... 3 2 La PKI : Autorité de certification... 6 3 Installation
Certificats et infrastructures de gestion de clés
ÉCOLE DU CIMPA "GÉOMÉTRIE ALGÉBRIQUE, THÉORIE DES CODES ET CRYPTOGRAPHIE" ICIMAF et Université de la Havane 20 novembre - 1er décembre 2000 La Havane, Cuba Certificats et infrastructures de gestion de
Action Spécifique Sécurité du CNRS 15 mai 2002
Action Spécifique Sécurité du CNRS 15 mai 2002 Sécurité du transport Ahmed Serhrouchni ENST-PARIS Plan. Typologie des solutions Protocole SSL/TLS Introduction Architecture Ports et applications Services
CA SIC Directives de certification Certificate Practice Statement (CPS) du SIC Customer ID CA 1024 Level 2
CA SIC Directives de certification Certificate Practice Statement (CPS) du SIC Customer ID CA 1024 Level 2 Version 2.2 / Decembre 2012 1 Notes Les informations de ce document vous sont fournies sans garantie
Livre blanc. Sécuriser les échanges
Livre blanc d information Sécuriser les échanges par emails Octobre 2013 www.bssi.fr @BSSI_Conseil «Sécuriser les échanges d information par emails» Par David Isal Consultant en Sécurité des Systèmes d
FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières
FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE Table des matières Principes de FTPS... 2 Généralités... 2 FTPS en mode implicite... 2 FTPS en mode explicite... 3 Certificats SSL / TLS... 3 Atelier de tests
HASH LOGIC. Web Key Server. Solution de déploiement des certificats à grande échelle. A quoi sert le Web Key Server? A propos de HASHLOGIC
HASH LOGIC s e c u r i t y s o l u t i o n s Version 1.0 de Janvier 2007 Web Key Server Solution de déploiement des certificats à grande échelle A propos de HASHLOGIC HASHLOGIC est Editeur spécialisé dans
Sécurité WebSphere MQ V 5.3
Guide MQ du 21/03/2003 Sécurité WebSphere MQ V 5.3 Luc-Michel Demey Demey Consulting lmd@demey demey-consulting.fr Plan Les besoins Les technologies Apports de la version 5.3 Mise en œuvre Cas pratiques
Signature électronique. Romain Kolb 31/10/2008
Romain Kolb 31/10/2008 Signature électronique Sommaire I. Introduction... 3 1. Motivations... 3 2. Définition... 3 3. La signature électronique en bref... 3 II. Fonctionnement... 4 1. Notions requises...
SSL - TLS. Histoire, fonctionnement Sécurité et failles
SSL - TLS Histoire, fonctionnement Sécurité et failles 1. SSL/TLS qu'est-ce que c'est? Chiffrement Authentification faible du serveur Authentification forte du serveur (EV, facultative) Authentification
Couche application. La couche application est la plus élevée du modèle de référence.
Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application
Annexe 8. Documents et URL de référence
Documents et URL de référence Normes et standards Normes ANSI ANSI X9.30:1-1997, Public Key Cryptography for the Financial Services Industry: Part 1: The Digital Signature Algorithm (DSA) (revision of
INSTALLATION D'OPENVPN:
INSTALLATION D'OPENVPN: http://openmaniak.com/fr/openvpn_tutorial.php Suivez le tutorial d'installation d'openvpn. ARCHITECTURE /SERVER: Parmi les deux boitiers OpenVPN, il est nécessaire d'en déclarer
Public Key Infrastructure (PKI)
Public Key Infrastructure (PKI) Introduction Authentification - Yoann Dieudonné 1 PKI : Définition. Une PKI (Public Key Infrastructure) est une organisation centralisée, gérant les certificats x509 afin
Sécurité des réseaux IPSec
Sécurité des réseaux IPSec A. Guermouche A. Guermouche Cours 4 : IPSec 1 Plan 1. A. Guermouche Cours 4 : IPSec 2 Plan 1. A. Guermouche Cours 4 : IPSec 3 Pourquoi? Premier constat sur l aspect critique
Accès aux ressources informatiques de l ENSEEIHT à distance
Ecole Nationale Supérieure d Électrotechnique, d Électronique, d Informatique, d Hydraulique et des Télécommunications Accès aux ressources informatiques de l ENSEEIHT à distance Jean-François GINESTE,
Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima
Introduction à la sécurité Cours 8 Infrastructure de clés publiques Catalin Dima 1 Gestion des clés La gestion des clés concerne : La distribution de clés cryptographiques, Les mécanismes utilisés pour
PUBLIC KEY INFRASTRUCTURE. Rappels PKI PKI des Impôts PKI de la Carte de Professionnel de Santé
PUBLIC KEY INFRASTRUCTURE Rappels PKI PKI des Impôts PKI de la Carte de Professionnel de Santé Rappels PKI Fonctionnement général Pourquoi? Authentification Intégrité Confidentialité Preuve (non-répudiation)
Gestion des clés. Génération des clés. Espaces de clés réduits. Mauvais choix de clés. Clefs aléatoires. Phrases mots de passe
Génération des clés Gestion des clés Espaces de clés réduits Codage restreint, caractères choisis, clés faibles, Mauvais choix de clés Lettre, mnémotechnique, attaque par dictionnaire Clefs aléatoires
La Technologie Carte à Puce EAP TLS v2.0
La Technologie Carte à Puce EAP TLS v2.0 Une sécurité forte, pour les services basés sur des infrastructures PKI, tels que applications WEB, VPNs, Accès Réseaux Pascal Urien Avril 2009 Architectures à
Journées MATHRICE "Dijon-Besançon" DIJON 15-17 mars 2011. Projet MySafeKey Authentification par clé USB
Journées MATHRICE "Dijon-Besançon" DIJON 15-17 mars 2011 1/23 Projet MySafeKey Authentification par clé USB Sommaire 2/23 Introduction Authentification au Système d'information Problématiques des mots
OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI
OWASP Open Web Application Security Project Jean-Marc Robert Génie logiciel et des TI A1: Injection Une faille d'injection, telle l'injection SQL, OS et LDAP, se produit quand une donnée non fiable est
Sécurité des réseaux sans fil
Sécurité des réseaux sans fil [email protected] 13/10/04 Sécurité des réseaux sans fil 1 La sécurité selon les acteurs Responsable réseau, fournisseur d accès Identification, authentification
Le format OpenPGP. Traduit par : Sébastien Person. [email protected]. Matthieu Hautreux. [email protected].
Le format OpenPGP Traduit par : Sébastien Person [email protected] Matthieu Hautreux [email protected] Odile Weyckmans [email protected] Relu et maintenu par : Yvon Benoist [email protected]
Installation et mise en œuvre de OpenSSH sous AIX 5L
Installation et mise en œuvre de OpenSSH sous AIX 5L Marie-Lorraine BONTRON (IBM Suisse) Introduction à OpenSSH Vous êtes administrateur d IBM eserver pseries et souhaitez améliorer la sécurité et l intégrité
Les certfcats. Installation de openssl
Les certfcats Cette documentation a pour but de créer des certificats afin d'authentifier et de chiffrer les échanges entre un serveur et plusieurs clients. Openssl est un outil de cryptographie qui sert
Gestion des certificats digitaux et méthodes alternatives de chiffrement
Gestion des certificats digitaux et méthodes alternatives de chiffrement Mai 2011 Julien Cathalo Section Recherches Cryptographie à clé publique Invention du concept : 1976 (Diffie, Hellman) Premier système
Université de Reims Champagne Ardenne. HTTPS, SSL, SSH, IPSEC et SOCKS. Présenté par : BOUAMAMA Mohamed Nadjib AZIZ Xerin
2007 2008 Université de Reims Champagne Ardenne Sécurité dans TCP/IP HTTPS, SSL, SSH, IPSEC et SOCKS Présenté par : BOUAMAMA Mohamed Nadjib AZIZ Xerin 1 Protocole HTTPS HTTPS signifie Hypertext Transfer
Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE
Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE sommaire MIEUX COMPRENDRE LES CERTIFICATS SSL...1 SSL et certificats SSL : définition...1
HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE
HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE Projet de semestre ITI soir 4ème année Résumé configuration OpenVpn sur pfsense 2.1 Etudiant :Tarek
EMV, S.E.T et 3D Secure
Sécurité des transactionsti A Carte Bancaire EMV, S.E.T et 3D Secure Dr. Nabil EL KADHI [email protected]; Directeur du Laboratoire L.E.R.I.A. www.leria.eu Professeur permanant A EPITECH www.epitech.net
Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader
Gestion des Clés Pr Belkhir Abdelkader Gestion des clés cryptographiques 1. La génération des clés: attention aux clés faibles,... et veiller à utiliser des générateurs fiables 2. Le transfert de la clé:
Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05
Les Protocoles de sécurité dans les réseaux WiFi Ihsane MOUTAIB & Lamia ELOFIR FM05 PLAN Introduction Notions de sécurité Types d attaques Les solutions standards Les solutions temporaires La solution
Routeur Chiffrant Navista Version 2.8.0. Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.
Routeur Chiffrant Navista Version 2.8.0 Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.0 Cibles de sécurité C.S.P.N Référence : NTS-310-CSPN-CIBLES-1.05
DISTANT ACESS. Emna TRABELSI (RT3) Chourouk CHAOUCH (RT3) Rabab AMMAR (RT3) Rania BEN MANSOUR (RT3) Mouafek BOUZIDI (RT3)
DISTANT ACESS Emna TRABELSI (RT3) Chourouk CHAOUCH (RT3) Rabab AMMAR (RT3) Rania BEN MANSOUR (RT3) Mouafek BOUZIDI (RT3) TABLE DES MATIERES I. PRESENTATION DE L ATELIER...2 1. PRESENTATION GENERALE...2
PKI PKI IGC IGC. Sécurité des RO. Partie 4. Certificats : pourquoi?
Sécurité des RO Partie 4 PKI IGC Anas ABOU EL KALAM [email protected] PKI IGC 2 Certificats : pourquoi? chiffrement & signatures supposent l authenticité des clés publiques, disponibles sur
Chapitre 3 : Crytographie «Cryptography»
Agence Nationale de Sécurité Informatique Support du Cours : Initiation aux 10 domaines fondamentaux de l expertise en sécurité des systèmes d Information, pour entamer la préparation aux certifications
POLITIQUE DE CERTIFICATION DE L'AC KEYNECTIS SSL RGS * (authentification serveur) Date : 12/08/2011
POLITIQUE DE CERTIFICATION DE L'AC KEYNECTIS SSL RGS * (authentification serveur) Date : 12/08/2011 POLITIQUE DE CERTIFICATION : AC KEYNECTIS SSL RGS * (AUTHENTIFICATION SERVEUR) Objet: Ce document consiste
A. À propos des annuaires
Chapitre 2 A. À propos des annuaires Nous sommes familiers et habitués à utiliser différents types d'annuaires dans notre vie quotidienne. À titre d'exemple, nous pouvons citer les annuaires téléphoniques
TheGreenBow IPsec VPN Client. Guide de Déploiement Options PKI. Site web: www.thegreenbow.com Contact: [email protected]
TheGreenBow IPsec VPN Client Guide de Déploiement Options PKI Site web: www.thegreenbow.com Contact: [email protected] Table des matières 1 Introduction...3 1.1 Références...3 2 Configuration du
CRYPTOGRAPHIE. Signature électronique. E. Bresson. [email protected]. SGDN/DCSSI Laboratoire de cryptographie
CRYPTOGRAPHIE Signature électronique E. Bresson SGDN/DCSSI Laboratoire de cryptographie [email protected] I. SIGNATURE ÉLECTRONIQUE I.1. GÉNÉRALITÉS Organisation de la section «GÉNÉRALITÉS»
Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol
IUT IUT d'orsay réseaux réseaux Protocoles d'applications Le courrier électronique Divers éléments POP3 IMAP protocole de transport format de l entête, de ses champs, des adresses électroniques standard
Politique de Certification Autorité de Certification Signature Gamme «Signature simple»
Responsable de la Sécurité de l Information --------- Politique de Certification Autorité de Certification Signature Gamme «Signature simple» Date : 22 septembre 2010 Version : 1.2 Rédacteur : RSI Nombre
1. Présentation de WPA et 802.1X
Lors de la mise en place d un réseau Wi-Fi (Wireless Fidelity), la sécurité est un élément essentiel qu il ne faut pas négliger. Effectivement, avec l émergence de l espionnage informatique et l apparition
18 TCP Les protocoles de domaines d applications
18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles
Cadre de Référence de la Sécurité des Systèmes d Information
Cadre de Référence de la Sécurité des Systèmes d Information POLITIQUE DE CERTIFICATION AC EXTERNES AUTHENTIFICATION SERVEUR Date : 12 décembre 2011 Version : 1.1 État du document : Validé Reproduction
Manuel des logiciels de transferts de fichiers File Delivery Services
Manuel des logiciels de transferts de fichiers File Delivery Services Editeur La Poste CH SA Technologies de l information Webergutstrasse 12 CH-3030 Berne (Zollikofen) Contact La Poste CH SA Technologies
L identité numérique. Risques, protection
L identité numérique Risques, protection Plan Communication sur l Internet Identités Traces Protection des informations Communication numérique Messages Chaque caractère d un message «texte» est codé sur
Utiliser Améliorer Prêcher. Introduction à LDAP
Introduction à LDAP Introduction à LDAP Sommaire 2 Sommaire Historique rapide Les concepts LDAP et la gestion d identité Démonstration Autre ressources 2 Historique Historique Historique rapide 4 Historique
CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)
CIBLE DE SECURITE CSPN DU PRODUIT PASS (Product for Advanced SSO) Préparé pour : ANSSI Préparé par: Thales Communications & Security S.A. 4 Avenue des Louvresses 92622 GENNEVILLIERS CEDEX France This document
Tunnels. Plan. Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs ESIL INFO 2005/2006. Sophie Nicoud [email protected].
Tunnels ESIL INFO 2005/2006 Sophie Nicoud [email protected] Plan Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs 2 Tunnels, pourquoi? Relier deux réseaux locaux à travers
Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte thawte thawte thawte thawte
Sécurisez votre serveur Web Internet Information Services de Microsoft (MS IIS) avec un certificat numérique de thawte UN GUIDE ÉTAPE PAR ÉTAPE, pour tester, acheter et utiliser un certificat numérique
Cryptographie. Cours 3/8 - Chiffrement asymétrique
Cryptographie Cours 3/8 - Chiffrement asymétrique Plan du cours Différents types de cryptographie Cryptographie à clé publique Motivation Applications, caractéristiques Exemples: ElGamal, RSA Faiblesses,
Sécurité du Système d Information. Mini PKI
Sécurité du Système d Information Mini PKI Nombres de pages : 9 Version : 1.0 Auteurs : HAMROUNI Makram POISSENOT Thomas ROUX Nicolas Destinataires : BOMBAL Sébastien Remarques : Aucune. Tables des matières
INF 4420: Sécurité Informatique Cryptographie II
: Cryptographie II José M. Fernandez M-3106 340-4711 poste 5433 Aperçu Crypto II Types de chiffrement Par bloc vs. par flux Symétrique vs. asymétrique Algorithmes symétriques modernes DES AES Masque jetable
