La citadelle électronique Authentification PKI Sylvain Maret (sylvain.maret@e-xpertsolutions.com) Novembre 2002 Version 1.21
Agenda Authentification à clé publique Challenge Response RSA et DSS Exemple avec SSH Authentification basée sur les certificats X509 Certificats (X509) CA (ancre de confiance) Révocation Exemple avec SSL
Agenda Sécurité de la clé privée Génération des clés Stockage de la clé privée Les smartcards Stockage des clés sur un serveur HSM Web serveur SSL
Authentification à clé publique
Authentification à clé publique Basé sur les algorithmes à clés publiques Une clé privée Une clé publique Lié mathématiquement Fournit la non-répudiation Pas de partage de « secret » entre les deux parties Entre un client et un serveur par exemple
Authentification à clé publique Deux méthodes pour l’authentification Challenge response avec signature digital d’un nonce Challenge response avec l’encryption d’un nonce Pas utilisé Mécanisme d’authentification « off-line » Pas de contact avec un serveur d’authentification Uniquement la copie des clés publiques « Base de confiance »
Authentification à clé publique: signature digital d’un nonce Clé  privée nonce BOB Signature = Vérification ? nonce signé Clé  publique Clé  publique de BOB
Authentification à clé publique:  encryption d’un nonce Clé  privée nonce BOB décryption Encryption nonce encrypté nonce décrypté = Vérification ? Clé  publique Clé  Publique De BOB
Authentification à clé publique: trust direct Contrôle manuel ou « off-line » de chaque clé publique Trust direct (même esprit que PGP) Fingerprint Contrôle manuel Clé  publique Clé  publique
Authentification à clé publique: algorithme RSA Rivest, Shamir, Adleman  en  1977 Algorithme très connue Fournit les services suivants: Confidentialité (encryption) Non-répudation (signature) Algorithme dit « réversible » Longueur de clé jusqu’à  4096 Dans le domaine publique depuis septembre 2000
Authentification à clé publique: algorithme DSS / DSA Compatible avec le standard du NIST D igital  S ignature  S tandard (DSS) Publié en 1994  Fournit uniquement la non-repudation Signature Algorithme non « réversible » Bonne performance sur les smartcards
Authentification à clé publique: SSH Secure Shell Solution de remplacement de telnet, FTP et les commandes R (Unix) Defacto Standard maintenant 5 millions d’utilisateurs Fournit Authentification Chiffrement (3DES, AES, Blowfish, etc.) Intégrité (sha1, md5)
Pourquoi utiliser SSH ? Sniffer Network Original TCP Packet Login:  dupont Password: abc123 Unix Host Telnet to Unix Host
Authentification avec SSH Standard ouvert pour l’authentification Username et Password Public Key PKI (smartcard) RSA SecurID PAM Kerberos Etc.
Authentification à clé publique: exemple avec SSH Génération de la paire de clés sur le client SSH Protection de la clé privée par un PIN « Upload » de la clé publique sur le serveur Mise à jour de la « base de confiance » Très sensible aux attaques Configuration SSH serveur pour supporter l’authentification « public Key »
Génération des clés avec le client SSH
Authentification basée sur les certificats X509
Authentification X509: « Man in the middle » attack Pourquoi utiliser les certificats X509 ? Echange de la clé publique avec un web server… Direct Trust n’est pas possible !
Authentification X509 No more Charly Implicit Trust Autorité de certification Direct Trust Direct Trust
Authentification X509: définition du certificat Lien entre une entité et une clé publique Lien entre le monde physique et le monde digital Ce lien est certifié par une autorité tier Autorité de certification Trust direct avec l’autorité de certification Trust implicite avec les entités qui possèdent les certificats Web serveur, Personnes, etc.
Authentification X509: définition du certificat + entité Clé publique Signature du certificat Autorité de certification
Authentification X509: processus de contrôle simplifié Clé  privée nonce Signature = Vérification ? nonce signé Alice Certificat Certificat Alice
Authentification X509: contrôle complet du certificat Vérification de la date Vérification de la signature Contrôle avec la base de confiance ou ancre de confiance Vérification de la validité Certificats CA Base de confiance ou  ancre de confiance Vérification du certificat VA
Authentification X509: Validation des certificats Révocation d’un certificat… Vol ou perte du « container » des clés Quitter l’entreprise Etc. Plusieurs solutions CRL, Delta CRL, etc. Online Check  OCSP (rfc 2560) SCVP
Authentification X509: OCSP Web Server Alice Validation Authority OCSP request Valide Pas valide Inconu
Authentification X509: trust direct Contrôle manuel ou « off-line » de chaque ROOT Trust direct Bootstrapping Fingerprint Contrôle manuel Autorité de certification
Authentification X509: Root CA dans le browser ! Base de confiance du broswer Certificat Root
Authentification X509: SSL S ecure  S ockets  L ayer Protocole de protection « end 2 end » Encryption Intégrité Authentification Généralement authentification du serveur SSL Par un certificat de type serveur Authentification client possible avec un certificat personnel
Authentification X509: SSL SSL  v 1  dévellopé par Netscape en 1994 Usage interne chez Netscape SSL v2  dans les browsers Netscape V 1 et 2 SSL v3    dernière version TLS v1  repris par l’IETF Ou SSL V3.1
SSL protocol  s’implémente entre TCP et les applications http, telnet, ldap, etc. Authentification X509: SSL
Authentification X509: SSL Contrôle du challenge ? Envoie d’un nonce Contrôle de la date ? Recherche du certificat Root Dans la base de confiance Contrôle du certificat avec la base de confiance Vérification de la signature Contrôle de la validité ? OCSP, CRL, etc.
Sécurité de la clé privée
Sécurité de la clé privée La clé privée est la base du système Elle doit être unique et vraiment privée Surtout pour la clé signante (non répudation) Les clés chiffrantes peuvent être sauvergardé Restauration des clés en cas de perte On utilise généralement deux paires de clés Dual Key Pair
Sécurité de la clé privée: génération des clés La génération est un processus délicat Basé sur les nombres premiers Test si la clé est bien un nombre premier La paire de clé doit être unique Utilisation de PRNG Utilisation de « seed » Mouvement de la sourie Fréquence de frappe du clavier Etc. Processus très lent
Sécurité de la clé privée: stockage des clés Deux grand type de stockage Software Fichier Virtual Smartcard Hardware Smartcard, USB, HSM
Sécurité de la clé privée: stockage des clés software Stockage dans un fichier Norme PKCS#12 avec protection d’un PIN Dans le container Microsoft ou Netscape Sur une disquette Lotus Notes (ID file) PGP, etc. Stockage sur un serveur de smartcard virtuelle Utilise généralement la norme PKCS#12 Web Passport de RSA Security
Sécurité de la clé privée: stockage des clés hardware Utilisation de support hardware pour le stockage des clés Options: Stockage uniquement (memory card) Génération des clés « on card » Utilisation de crypto processor Deux grandes familles Support hardware pour clés  personnel Support hardware pour clés serveur
Sécurité de la clé privée: crypto processor Generate Public Key Pair Card’s Private key PRNG Card’s Certificate Encrypt Sign Hardware Input Output + Card’s Public Key Retrieve Certificate
Sécurité de la clé privée: les smartcards Mini ordinateur sans écran et clavier Contient générallement De la mémoire (RAM, ROM et EEPROM) Un Processeur (CPU) Un Co-Processor Cryptographique Un connecteur standard (ISO 7810) Carte multi-applications GSM, Carte de crédit, PayTV, etc.
Sécurité de la clé privée: les smartcards et PKI Stockage des clés (privées et publiques et le certificat X509) Fournit l’authentification forte Protection par un PIN Protection par biométrie Deux type de smartcard Mémoire uniquement Crypto-Processor Protection contre la « brute force attack » PUK
Sécurité de la clé privée: les smartcards Deux grand standard de communication PKCS #11  ou  Cryptoki Netscape,  laboratoires  RSA PC/SC  et  Crypto API http://www.pcscworkgroup.com/ Bull, Gemplus, HP, Intel, Microsoft, Schlumberger Siemens, SUN, Toshiba
Sécurité de la clé privée: les smartcards Lecteurs Série USB PCMCIA Clavier Clés USB
Sécurité de la clé privée: HSM Stockage des clés privées dans un module hardware (HSM) Stockage des ROOT CA Stockage des clés serveur SSL Backup des clés d’encryption Accès au HSM par smartcard Multi smartcard (Restauration des clés) Génération des clés
Sécurité de la clé privée: exemple d’implémentation
Sécurité de la clé privée: Web serveur SSL HSM Web Server SSL Smartcards SSL Acceleration SSL or TLS
Questions?
e-Xpert Solutions SA Intégrateur en sécurité informatique Au bénéfice d'une longue expérience dans les secteurs financiers et industriels, e-Xpert Solutions SA propose à sa clientèle des solutions « clé en main » dans le domaine de la sécurité informatique des réseaux et des applications. Des solutions qui vont de la sécurité d e périmètre  – tel le firewall, VPN, IDS, FIA, le contrôle de contenu, l’anti-virus – aux solutions plus avant-gardistes comme la prévention des intrusions (approche comportementale), l'authentification forte, la biométrie, les architectures PKI ou encore la sécurisation des OS Unix ,  Microsoft et des postes clients (firewall personnel).
Pour plus d’informations e-Xpert Solutions SA Sylvain Maret Route de Pré-Marais 29 CH-1233 Bernex / Genève +41 22 727 05 55 [email_address]

Strong Authentication with PKI

  • 1.
    La citadelle électroniqueAuthentification PKI Sylvain Maret (sylvain.maret@e-xpertsolutions.com) Novembre 2002 Version 1.21
  • 2.
    Agenda Authentification àclé publique Challenge Response RSA et DSS Exemple avec SSH Authentification basée sur les certificats X509 Certificats (X509) CA (ancre de confiance) Révocation Exemple avec SSL
  • 3.
    Agenda Sécurité dela clé privée Génération des clés Stockage de la clé privée Les smartcards Stockage des clés sur un serveur HSM Web serveur SSL
  • 4.
  • 5.
    Authentification à clépublique Basé sur les algorithmes à clés publiques Une clé privée Une clé publique Lié mathématiquement Fournit la non-répudiation Pas de partage de « secret » entre les deux parties Entre un client et un serveur par exemple
  • 6.
    Authentification à clépublique Deux méthodes pour l’authentification Challenge response avec signature digital d’un nonce Challenge response avec l’encryption d’un nonce Pas utilisé Mécanisme d’authentification « off-line » Pas de contact avec un serveur d’authentification Uniquement la copie des clés publiques « Base de confiance »
  • 7.
    Authentification à clépublique: signature digital d’un nonce Clé privée nonce BOB Signature = Vérification ? nonce signé Clé publique Clé publique de BOB
  • 8.
    Authentification à clépublique: encryption d’un nonce Clé privée nonce BOB décryption Encryption nonce encrypté nonce décrypté = Vérification ? Clé publique Clé Publique De BOB
  • 9.
    Authentification à clépublique: trust direct Contrôle manuel ou « off-line » de chaque clé publique Trust direct (même esprit que PGP) Fingerprint Contrôle manuel Clé publique Clé publique
  • 10.
    Authentification à clépublique: algorithme RSA Rivest, Shamir, Adleman en 1977 Algorithme très connue Fournit les services suivants: Confidentialité (encryption) Non-répudation (signature) Algorithme dit « réversible » Longueur de clé jusqu’à 4096 Dans le domaine publique depuis septembre 2000
  • 11.
    Authentification à clépublique: algorithme DSS / DSA Compatible avec le standard du NIST D igital S ignature S tandard (DSS) Publié en 1994 Fournit uniquement la non-repudation Signature Algorithme non « réversible » Bonne performance sur les smartcards
  • 12.
    Authentification à clépublique: SSH Secure Shell Solution de remplacement de telnet, FTP et les commandes R (Unix) Defacto Standard maintenant 5 millions d’utilisateurs Fournit Authentification Chiffrement (3DES, AES, Blowfish, etc.) Intégrité (sha1, md5)
  • 13.
    Pourquoi utiliser SSH? Sniffer Network Original TCP Packet Login: dupont Password: abc123 Unix Host Telnet to Unix Host
  • 14.
    Authentification avec SSHStandard ouvert pour l’authentification Username et Password Public Key PKI (smartcard) RSA SecurID PAM Kerberos Etc.
  • 15.
    Authentification à clépublique: exemple avec SSH Génération de la paire de clés sur le client SSH Protection de la clé privée par un PIN « Upload » de la clé publique sur le serveur Mise à jour de la « base de confiance » Très sensible aux attaques Configuration SSH serveur pour supporter l’authentification « public Key »
  • 16.
    Génération des clésavec le client SSH
  • 17.
    Authentification basée surles certificats X509
  • 18.
    Authentification X509: « Manin the middle » attack Pourquoi utiliser les certificats X509 ? Echange de la clé publique avec un web server… Direct Trust n’est pas possible !
  • 19.
    Authentification X509 Nomore Charly Implicit Trust Autorité de certification Direct Trust Direct Trust
  • 20.
    Authentification X509: définitiondu certificat Lien entre une entité et une clé publique Lien entre le monde physique et le monde digital Ce lien est certifié par une autorité tier Autorité de certification Trust direct avec l’autorité de certification Trust implicite avec les entités qui possèdent les certificats Web serveur, Personnes, etc.
  • 21.
    Authentification X509: définitiondu certificat + entité Clé publique Signature du certificat Autorité de certification
  • 22.
    Authentification X509: processusde contrôle simplifié Clé privée nonce Signature = Vérification ? nonce signé Alice Certificat Certificat Alice
  • 23.
    Authentification X509: contrôlecomplet du certificat Vérification de la date Vérification de la signature Contrôle avec la base de confiance ou ancre de confiance Vérification de la validité Certificats CA Base de confiance ou ancre de confiance Vérification du certificat VA
  • 24.
    Authentification X509: Validationdes certificats Révocation d’un certificat… Vol ou perte du « container » des clés Quitter l’entreprise Etc. Plusieurs solutions CRL, Delta CRL, etc. Online Check OCSP (rfc 2560) SCVP
  • 25.
    Authentification X509: OCSPWeb Server Alice Validation Authority OCSP request Valide Pas valide Inconu
  • 26.
    Authentification X509: trustdirect Contrôle manuel ou « off-line » de chaque ROOT Trust direct Bootstrapping Fingerprint Contrôle manuel Autorité de certification
  • 27.
    Authentification X509: RootCA dans le browser ! Base de confiance du broswer Certificat Root
  • 28.
    Authentification X509: SSLS ecure S ockets L ayer Protocole de protection « end 2 end » Encryption Intégrité Authentification Généralement authentification du serveur SSL Par un certificat de type serveur Authentification client possible avec un certificat personnel
  • 29.
    Authentification X509: SSLSSL v 1 dévellopé par Netscape en 1994 Usage interne chez Netscape SSL v2 dans les browsers Netscape V 1 et 2 SSL v3  dernière version TLS v1 repris par l’IETF Ou SSL V3.1
  • 30.
    SSL protocol s’implémente entre TCP et les applications http, telnet, ldap, etc. Authentification X509: SSL
  • 31.
    Authentification X509: SSLContrôle du challenge ? Envoie d’un nonce Contrôle de la date ? Recherche du certificat Root Dans la base de confiance Contrôle du certificat avec la base de confiance Vérification de la signature Contrôle de la validité ? OCSP, CRL, etc.
  • 32.
    Sécurité de laclé privée
  • 33.
    Sécurité de laclé privée La clé privée est la base du système Elle doit être unique et vraiment privée Surtout pour la clé signante (non répudation) Les clés chiffrantes peuvent être sauvergardé Restauration des clés en cas de perte On utilise généralement deux paires de clés Dual Key Pair
  • 34.
    Sécurité de laclé privée: génération des clés La génération est un processus délicat Basé sur les nombres premiers Test si la clé est bien un nombre premier La paire de clé doit être unique Utilisation de PRNG Utilisation de « seed » Mouvement de la sourie Fréquence de frappe du clavier Etc. Processus très lent
  • 35.
    Sécurité de laclé privée: stockage des clés Deux grand type de stockage Software Fichier Virtual Smartcard Hardware Smartcard, USB, HSM
  • 36.
    Sécurité de laclé privée: stockage des clés software Stockage dans un fichier Norme PKCS#12 avec protection d’un PIN Dans le container Microsoft ou Netscape Sur une disquette Lotus Notes (ID file) PGP, etc. Stockage sur un serveur de smartcard virtuelle Utilise généralement la norme PKCS#12 Web Passport de RSA Security
  • 37.
    Sécurité de laclé privée: stockage des clés hardware Utilisation de support hardware pour le stockage des clés Options: Stockage uniquement (memory card) Génération des clés « on card » Utilisation de crypto processor Deux grandes familles Support hardware pour clés personnel Support hardware pour clés serveur
  • 38.
    Sécurité de laclé privée: crypto processor Generate Public Key Pair Card’s Private key PRNG Card’s Certificate Encrypt Sign Hardware Input Output + Card’s Public Key Retrieve Certificate
  • 39.
    Sécurité de laclé privée: les smartcards Mini ordinateur sans écran et clavier Contient générallement De la mémoire (RAM, ROM et EEPROM) Un Processeur (CPU) Un Co-Processor Cryptographique Un connecteur standard (ISO 7810) Carte multi-applications GSM, Carte de crédit, PayTV, etc.
  • 40.
    Sécurité de laclé privée: les smartcards et PKI Stockage des clés (privées et publiques et le certificat X509) Fournit l’authentification forte Protection par un PIN Protection par biométrie Deux type de smartcard Mémoire uniquement Crypto-Processor Protection contre la « brute force attack » PUK
  • 41.
    Sécurité de laclé privée: les smartcards Deux grand standard de communication PKCS #11 ou Cryptoki Netscape, laboratoires RSA PC/SC et Crypto API http://www.pcscworkgroup.com/ Bull, Gemplus, HP, Intel, Microsoft, Schlumberger Siemens, SUN, Toshiba
  • 42.
    Sécurité de laclé privée: les smartcards Lecteurs Série USB PCMCIA Clavier Clés USB
  • 43.
    Sécurité de laclé privée: HSM Stockage des clés privées dans un module hardware (HSM) Stockage des ROOT CA Stockage des clés serveur SSL Backup des clés d’encryption Accès au HSM par smartcard Multi smartcard (Restauration des clés) Génération des clés
  • 44.
    Sécurité de laclé privée: exemple d’implémentation
  • 45.
    Sécurité de laclé privée: Web serveur SSL HSM Web Server SSL Smartcards SSL Acceleration SSL or TLS
  • 46.
  • 47.
    e-Xpert Solutions SAIntégrateur en sécurité informatique Au bénéfice d'une longue expérience dans les secteurs financiers et industriels, e-Xpert Solutions SA propose à sa clientèle des solutions « clé en main » dans le domaine de la sécurité informatique des réseaux et des applications. Des solutions qui vont de la sécurité d e périmètre – tel le firewall, VPN, IDS, FIA, le contrôle de contenu, l’anti-virus – aux solutions plus avant-gardistes comme la prévention des intrusions (approche comportementale), l'authentification forte, la biométrie, les architectures PKI ou encore la sécurisation des OS Unix , Microsoft et des postes clients (firewall personnel).
  • 48.
    Pour plus d’informationse-Xpert Solutions SA Sylvain Maret Route de Pré-Marais 29 CH-1233 Bernex / Genève +41 22 727 05 55 [email_address]