Download - 9ssl Tls Set
Scurit des changes: problmes et solutionsAhmed Serhrouchni Telecom ParisTech
Sommaire Problmatiques Architecture et scurit Quelques statistiques Attaques sur les protocoles de la famille TCP/IP Classification des solutions Solutions intgrs aux applications Authentification Typologie Mot de passe
Solution transparente aux applications Filtrage et proxy Protocole SSL/TLS (Secure Socket Layer/Transport Layer Secure) Protocole SET (Secure Electronic Transaction)
2
Problmatiques Architecture et scurit Architecture de communications en couche Partie traitement Dans le contexte utilisateur Indpendance entre les applications
Partie transmission (4 premires couches) Intgre au noyau du systme dexploitation Peu de transparence entre les couches
Protocoles de la couche application Plutt oriente texte Complexit du ct client Seul lauthentification est intgre quelques applications
3
Problmatiques Architecture et scurit Trois principales applications des SI La messagerie Le WEB Lannuaire et bientt la ToIP Le Web support et point dentr dans les SI Banque, achat, rservation, consultation, Cible idale ou principale de toutes attaques Un rseau et des protocoles associs Ouvert Architecture: TCP/IP, Protocoles: HTTP, TCP, IP, ICMP, DNS, UDP
4
Problmatiques Quelques statistiques
Source: http://www.webappsec.org/projects/whid/
5
Problmatiques Quelques statistiques Synthse globale des attaques: 75% affectent les applications Web. 10% affectent la messagerie Si on considre le SPAM comme attaque alors on a 97% affectant la messagerie 1% affectent lannuaire 14% affectent les systmes dexploitations et autres services et protocoles Attaques au niveau des navigateurs: 55% affectent Internet Explorer 45% affectent Firefox
6
Problmatiques Attaques sur les protocoles de la famille TCP/IP Choix dimplmentation Patchs Buffer overflow, Ping of death, land, Teardrop Design des protocoles Filtrage, Smurf, email :bombing, spamming, ftp bounce ,TCP con. Killing, injection de tout types Usurpation dadresse ou didentit Authentification Sniffing, ARP spoofing, IP spoofing, TCP hijacking, email spoofing, dns cache poisoning, web spoofing, usurpation des identits, des mots de passe, Dfaut dimplmentation Patchs Voulue (chevaux de Troie, virus, iframe, ) Non voulue netscape server
7
Problmatiques Classification des solutions Les solutions protocolaires par extensions Etendre les protocoles concerns par des mcanismes protocolaires pour les renforcer Les solutions protocolaires transparentes Introduire des protocoles de scurit entre les couches de manire transparente: SSH, SSL, TLS Les solutions protocolaires de signalisation Introduire des protocoles de scurit au mme niveau que le protocole scuriser: IPsec Les solutions de traitement locales Des solutions locales de filtrage, danalyse, de dtection dintrusion, de conversion: firewall, IDS, Scan, anti-virus, Ces solutions sont en gnral transparentes
8
Solutions intgrs aux applications Authentification Seul le service dauthentification est prsent Application de la famille TCP/IP de type client/serveur (Requte/Rponse) Seul le client est authentifi Les donnes sont transmises en clair Authentification en gnral par mot de passe Souvent commun au systme dexploitation
Attaques: rejeu, homme au milieu, usurpation,
9
Solutions intgrs aux applications Authentification: typologie Authentification simple une seule entit est authentifie Authentification mutuelle lensembles des entits sont authentifies Authentification souple base sur une secret partag Authentification forte base sur un lment priv Peut tre utilise comme lment de preuve10
Solutions intgrs aux applications Authentification: typologie Authentification peut tre base sur des lments: logiques (mot de passe, certificat, ) physiques associs lentit authentifier (biomtrie) Les mots de passe sont les plus usuels actuellement: Gestion relativement simple Stock en clair ou chiffr du ct serveur Peuvent tre stockes du ct client en clair Stockes de manire opaque et non grable
Authentification par certificats: Ncessitent une infrastructure
11
Solutions intgrs aux applications Authentification: par mot de passe Authentification par mot de passe en clair change en clair sur le rseau Peut tre stock en clair du ct serveur selon les applications Telnet, Ftp, POP, HTTP basic, bases de donnes (SQL), Parfois commun plusieurs services Exemple: Protocole PAP (Password Authentication Protocol) Authentification par mot de passe avec challenge Le mot de passe ne transite pas durant lchange Est toujours stock en clair du ct serveur Rarement commun plusieurs services HTTP digest Exemple: protocole CHAP (Challenge Authentication Protocol)
12
Solutions intgrs aux applications Authentification: HTTP Basic Dfini dans le RFC2617 Usuel dans SIP pour la VoIP et dans HTTP HTTP Basic Le client fait une requte http vers le serveur Le serveur lui retourne un message derreur (status 401) et lui demande de sauthentifier avec le mode basic Le client refait sa premire requte avec des enttes en plus incluant son identifiant (login) et son mot de passe, le tout en clair Le serveur lui retourne la ressource si les paramtres fournis ont t valids
13
Solutions intgrs aux applications Authentification: HTTP Digest Dfini dans le RFC2617 HTTP Digest Le client fait une requte http vers le serveur Le serveur lui retourne un message derreur (status 401) et lui demande de sauthentifier avec le mode digest, le serveur lui renvoie un nonce (nombre alatoire) Le client refait sa premire requte avec des enttes en plus incluant son identifiant (login) et le rsultat du hach de son mot de passe combin avec le nonce et ventuellement dautres paramtres (le mot de passe ne transite pas en clair) Le serveur lui retourne la ressource si les paramtres fournis ont t valids
14
Solutions intgrs aux applications Authentification: HTTP Digest Rponse du serveur une requte du client ncessitant lauthentification du client: HTTP/1.1 401 Unauthorized WWW-Authenticate: Digest realm="[email protected]", qop="auth,auth-int", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41 Rponse du client au message prcdent: Authorization: Digest username="Mufasa", realm="[email protected]", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="/dir/index.html", qop=auth, nc=00000001, cnonce="0a4f113b", response="6629fae49393a05397450978507c4ef1", opaque="5ccc069c403ebaf9f0171e9517f40e41"
15
Solutions intgrs aux applications Authentification: OTP Objectives: Lutter contre les coutes et le rejeu du mot de passe Nempche pas lcoute mais empche le rejeu
Un mot de passe usage unique Fonctionne avec toutes solutions base de mot de passe
Propos initialement par Leslie Lamport [1] Pour protger lchange en clair des mots de passe16
Solutions intgrs aux applications Authentification: OTP (principes) Mthode de calcul dun mot de passe usage unique Traitement bas sur une fonction de hachage Ncessite une coordination entre deux entits Explicite (Asynchrone) = Modle Challenge/rponse Bas sur un ou plusieurs paramtres changs dans un sens
Implicite (Synchrone) bas sur un numro de squence ou une horloge
17
Solutions intgrs aux applications Authentification: OTP (proprits) Pour la mise en uvre de lauthentification simple Ncessite une personnalisation par une phrase secrte partage dun secret au pralable entre les deux entits Parade structurelle contre les attaques par rejeu A diffrencier avec lattaque de lhomme au milieu, qui elle dpend plus du protocole dauthentification Renforce les mots de passe Parade contre lusurpation des mots de passe par coute Permet une gestion des mots de passe limiter la dure de vie de la phrase secrte partager Capacit dintgration aux protocoles Traitement indpendant des protocoles dauthentification Capacit de choix de la fonction de hachage dterminant pour le niveau de robustesse Un consortium pour cela [2]
18
Solutions intgrs aux applications Authentification: OTP (faq) Nest pas un protocole dauthentification deux instances ncessaires pour lauthentification mutuelle Ne concerne pas la protection du secret partag (phrase secrte) la protection du secret est de lordre de limplantation Nest pas une solution ferme Possibilit de la renforcer par lajout de nouveaux paramtres Plusieurs ralisations sont possibles Problmatique de linteroprabilit Ne permet pas la non-rpudation Pas de preuve au sens juridique
19
Solutions intgrs aux applications Authentification: OTP (standards) Premier RFC S/KEY marque dpos de Bellcore RFC 1760, February 1995, statut informational [2] Une implmentation de rfrence de Bellcore [6] Utilis au sein de Bellcore durant plusieurs annes Plusieurs implantations disponibles Ran Atkinson propose une implantation de la NRL (Navy Laboratories Research) [5] OPIE: One Time Passwords In Everything (+ portable et avec MD5) http://ftp.icm.edu.pl/packages/replay/programs/nrl-opie/
20
Solutions intgrs aux applications Authentification: OTP (standards) The Internet Engineering Task Force Internet (IETF) Groupe de travail de lIETF en 2001 pour proposer une alternative S/KEY marque dpos de Bellcore Pour intgrer de nouvelles fonctions de hachage RFC 2289 (Obsoletes 1938): A One-Time Password System, statut standard [3] La rfrence actuelle au niveau des implantations. RFC4226 HOTP: An HMAC-Based One-Time Password Algorithm, , statut informational [4] LOATH (initiative for Open AuTHentication) bass sur un compteur et une fonction hmac HOTP (HMAC One Time Password) (Verisign, Aladdin, SafeHaus, etc.) http://www.openauthentication.org/
21
Solutions intgrs aux applications Authentification: OTP (standards) Permet lauthentification deux facteurs Un rfrentiel le RFC2289 Facteur limitant: manque dinteroprabilit entre matriel et logiciel Une volution vers le RFC4226 Renforcement des calculs cryptographiques Prconisations pour les protocoles dauthentification Prconisations pour les implmentations Identifications des points faibles
Permet lauthentification mutuelle (mais non support par tous) Ouvert diffrents acteurs Conus pour tre mis en Dfinition dune API uvre sur diffrents devices
22
Solutions intgrs aux applications Authentification: HOTP A linitiative de lOATH (Open AuTHentication) Acteurs: encarteur, quipementiers, oprateurs, fournisseurs de services http://www.openauthentication.org/ RFC4226 HOTP: An HMAC-Based One-Time Password Algorithm, statut informational [4] Bas sur un standard RFC2104 (HMAC: Keyed-Hashing for Message Authentication) [6,7]
23
Solutions intgrs aux applications Authentification: HOTP Standardis lIETF RFC2104 et au NIST FIPS PUB 198 hmac: Keyed-hash Message Authentication Code Fonction trois paramtres : hmac (h, Ks, M) = mac h : Fonction de hachage Ks: Une cl secrte M: Un message ou data Le rsultat dune fonction hmac se nomme un mac: mac (message authentication code) La taille du mac est identique la taille du condenst de h 20 octets pour SHA-1 et 16 octets pour MD5 Fonction usuel dans les protocoles SSL, TLS, IPsec pour les services dauthentification de lorigine des donnes et dintgrit
24
Solutions intgrs aux applications Authentification: HOTP hmac (h, Ks, M) = h (Ks XOR opad ||h(Ks XOR ipad ||M)) ipad = octet 0x36 et opad = octet 0x5C Soit B la taille des blocs ( B = 64 octets) La taille de B dpend de la fonction h La taille de Ks doit tre gale celle de B Si la taille de Ks est infrieure celle de B, un pad de 0 Si la taille de Ks est suprieure la taille du condenst de h, on lui applique la fonction h
25
Solutions intgrs aux applications Authentification: HOTP HOTP est bas: sur une fonction hmac pour linteroprabilit des diffrents systmes dauthentification: un choix fig de la fonction de hachage et de la smantique des paramtres
La fonction hmac la base de HOTP est compose de: Sha-1 fonction de hachage Ks cl secrte C un compteur (en guise de data) 26
Solutions intgrs aux applications Authentification: HOTPCalcul du HOTP sur la base du hmac-sha1Ks, C Dynamictruncature Result 4 bytes
hmac-sha1
Byte 0 4 Bytes X Bytes
Byte 194 bits 4 bits
Y
X
27
Solutions intgrs aux applications Authentification: HOTP Conversion des 4 bytes en un nombre DBC (Dynamic Binary Code) otp-passe = DBC mod 10d avec ( d = 6) Exemple:Rsultat du hmac07 67 AE 34 67 B0 54 30 A1 56 07 67 AE 34 67 B0 54 30 A1 56
dynamic binary code DBCDBC = 54 30 A1 56 en dcimale = 1412473174
otp-passe = 47317428
Solutions intgrs aux applications Authentification: OTP (comparaisons)S/KEYStandard Date Taille de la passe phrase Fonction de hachage Fonction de hachage avec cl Implantation Niveau interoprabilit Marque dposRFC1760 Fvrier 1995
OTPRFC2289 fvrier 1998 Doit tre suprieur 9 caractres MD4, MD5, SHA1 NON Disponible Faible NON
HOTPRFC4226 Dcembre 2005
Doit tre suprieur 8 caractres
Pas de phrase
MD4, MD5
SHA-1
NON
OUI - 128 bits min. 160 bits conseiller Disponible lev
Disponible Moyen
OUI (Bellcore)
NON
29
Le Protocole SSL&TLS
SSL&TLS : Introduction SSL dfini par netsacpe et intgr au browser Premire version de SSL test en interne Premire version de SSL diffus : V2 (1994) Version actuelle V3 Standard l IETF au sein du groupe Transport Layer Security (TLS) Standard au sein du WAP Forum Wireless Transport Layer Security (WTLS)
31
SSL : Architecture
NFS FTP SMTP SSL TCP IP HTTP Telnet SNMP UDP XDR RPC
32
Ports au dessus de SSL (1/2)
Protocole scurisHTTPS SSMTP SNNTP SSL-LDAP SPOP3
Port443 465 563 636 995
Protocole non scurisHTTP SMTP NNTP LDAP POP3
ApplicationTransactions requterponse scurises Messagerie lectronique News sur le rseau Internet Annuaire X.500 allg Accs distant la bote aux lettres avec rapatriement des messages
33
Ports au dessus de SSL (2/2)
Protocole scurisFTP-DATA FTPS IMAPS TELNETS IRCS
Port889 990 991 992 993
Protocole non scurisFTP FTP IMAP4 Telnet IRC
ApplicationTransfert de fichiers Contrle du transfert de fichiers Accs distant la bote aux lettres avec ou sans rapatriement des messages Protocole daccs distant un systme informatique Protocole de confrence par lcrit
34
SSL : Services Authentification Serveur (obligatoire), client (optionnel) Utilisation de certificat X509 V3 A ltablissement de la session. Confidentialit Algorithme de chiffrement symtrique ngoci, cl gnr ltablissement de la session. Intgrit Fonction de hachage avec cl secrte : hmac(cl secrte, h, Message) Non Rejeu Numro de squence
35
SSL : Protocoles
Application SSL Alert Record
Handshake CCS
TCP 36
Handshake (1/6) Authentification du serveur et ventuellement du client, Ngociation des algorithmes de chiffrement et de hachage, change dun secret, Gnration des cls.
37
Handshake (2/6)
MessageHelloRequest ClientHello
Type de messageoptionnel obligatoire
Sens de transmissionserveur p client client p serveur
SignificationCe message demande au client d'entamer le Handshake. Ce message contient : le numro de version du protocole SSL ; le nombre alatoire : client_random ; l'identificateur de session : session_ID ; la liste des suites de chiffrement choisies par le client ; la liste des mthodes de compression choisies par le client.
ServerHello
obligatoire
serveur p client
Ce message contient : le numro de version du protocole SSL ; un nombre alatoire : serveur_random ; l'identificateur de session : session_ID ; une suite de chiffrement ; une mthode de compression.
38
Handshake (3/6)
Certificate
Optionnel
serveur p client client p serveur
Ce message contient le certificat du serveur ou celui du client si le serveur le lui rclame et que le client en possde un. Ce message est envoy par le serveur que sil ne possde aucun certificat, ou seulement un certificat de signature. Par ce message, le serveur rclame un certificat au client. Ce message signale la fin de lenvoi des messages ServerHello et subsquents.
ServerKeyExchange
Optionnel
serveur p client
CertificateRequest ServerHelloDone
Optionnel Obligatoire
serveur p client serveur p client
39
Handshake (4/6)
ClientKeyExchange
Obligatoire
client p serveur
Ce message contient le PreMasterSecret crypt laide de la cl publique du serveur. Ce message permet une vrification explicite du certificat du client. Ce message signale la fin du protocole Handshake et le dbut de lmission des donnes protges avec les nouveaux paramtres ngocis.
CertificateVerify Finished
Optionnel obligatoire
client p serveur serveur p client client p serveur
40
Handshake (5/6)
Ouverture d'une session SSLv3Client Serveur
Client Hello Serveur Hello Certificate (Serveur Key Exchange) (Certificate Request) Server Hello Done (Certificate) Client Key Exchange (Certificate Verify) ChangeCipherSpec Finished ChangeCipherSpec Finished Application Data Application Data
41
Handshake (6/6)
Ouverture d'une connexionClient Serveur
Client Hello
Serveur Hello ChangeCipherSpec Finished ChangeCipherSpec Finished
Application Data
42
ChangeCipherSpec (CCS) ChangeCipherSpec signale au Record toute modification des paramtres de scurit, Constitu dun message (1 octet)
43
Le protocole Record
Reoit les donnes des couches suprieures : (Handshake, Alert, CCS, HTTP, FTP ...), et les transmet au protocole TCP. Aprs application de :
la fragmentation des donnes en blocs de taille maximum de 214 octets la compression des donnes, fonction prvue mais non supporte actuellement la gnration dun condenst pour assurer le service dintgrit le chiffrement des donnes pour assurer le service de confidentialit
44
Le protocole Alert Le protocole Alert peut tre invoqu : par lapplication, par exemple pour signaler la fin dune connexion par le protocole Handshake suite un problme survenu au cours de son droulement par la couche Record directement, par exemple si l'intgrit d'un message est mise en doute
45
Le protocole Alert (2)Messagebad_certificate bad_record_mac certificate_expired certificate_revoked certificate_unknown close_notify decompression_failure
Contextechec de vrification dun certificat rception dun MAC erron certificat prim certificat mis en opposition (rvoqu) certificat invalide pour dautres motifs que ceux prciss prcdemment interruption volontaire de session les donnes appliques la fonction de dcompression sont invalides (par exemple, trop longues) impossibilit de ngocier des paramtres satisfaisants un paramtre chang au cours du protocole Handshake dpasse les bornes admises ou ne concorde pas avec les autres paramtres rponse ngative une requte de certificat arrive inopportune dun message le certificat reu nest pas reconnu par le destinataire fatal fatal fatal fatal fatal fatal fatal
Type
handshake_ failure illegal_parameter
fatal fatal
no_certificate unexpected_message unsupported_certificate
avertissement ou fatal fatal avertissement ou fatal
46
SSL : charges (1/2) Les choix pour les calculs de la charge cryptographique de SSL: algorithme de chiffrement du protocole record : DES 64 bits en mode CBC ; algorithme de chiffrement asymtrique : RSA 1024 bits ; fonction de hachage : MD5 ; itinraire de certification comprenant une seule tape ; certificat du serveur : autorit de certification unique, dj connue du client (un seul certificat dans le message Certificate) ; taille des informations contenues, du message Certificate : 500 Koctets (notons que la taille des informations du certificat est dans la plupart des cas infrieure) ; seule le serveur est certifi.
47
SSL : charges (2/2)
OprationOuverture dune nouvelle session (Handshake complet) Rafrachissement d'une session (Handshake simplifi) Ouverture dune nouvelle connexion Temps de calcul pour 16Ko de donnes (chiffrement ou dchiffrement, laboration et vrification du MAC)
Temps de calcul pour le client (ms)18,94 0,11 0,079 5,5
Temps de calcul pour le serveur (ms)16,9 0,11 0,071 5,3
Total (ms)35,85 0,22 0,15 10,8
48
SSL : liste non exhaustive de serveurNom de lAPI AOLserver 2.3 Alibaba .0 2 Apache 1.3 Enterprise Server 3.0 Fournisseur America Online. Inc Computer Software Manufacturers The Apache Group Novonyx Adresse http://www.aolserver.com http://www.csm.co.at/alibaba/ http://www.apache.org http://www.inetmi.com http://www.novonyx.com http://www.microsoft.com/iis http://www.java.sun.com http://www.ibm.com
Commerce Server/400 1.0CI/NET, Inc.
Enterprise Web Secure/VM 1.1 Beyond-Software Incorporated http://www.beyond-software.com Internet Information Server 4.0 Microsoft Corp. Java Server 1.1 Sun Microsystems Lotus Domino Go Webserver IBM 4.6.1 Oracle Web Application Server Oracle Corp. 3.01 Roxen Challenger 1.2b I SSLava WebSite Professional 2.2 WebTen 2.1 Idonex Phaos Technologies O'Reilly Software Tenon Intersystems
Netscape Enterprise Server 3.5.1 Netscape Communications Corp. http://www. netscape.com http://www.oracle.com/products http://www.roxen.com http://www.phaos.com/main.htm http://www.website.oreilly.com/ http://www.tenon.com/products/webten http://www.zeustech.net
Zeus Web Application Server 3 Technology Zeus
49
SSL : liste de suite de chiffrement supporte par un serveurServeur et Version Apache Jigsaw Microsoft Netscape Netscape SSLLeay 08.0 2.0 Beta 1 IIS/4.0 Entreprise3.0L Entreprise 3.0F Code0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F 0x10 0x11 0x12 0x13 0x14 0x15 0x16
SSLava Beta 1
SuiteRC4-40 MD5 RC4-128 MD5 RC4- 128 SHA RSA RC2 CBC-40 MD5 IDEA CBC SHA DES40 CBC SHA DESCBC SHA 3DES EDE CBC SHA DES40 CBC SHA DH et DSA DES CBC SHA 3DES EDE CBC SHA DES40 CBC SHA DH et RSA DES CBC SHA 3DES EDE CBC SHA DES40 CBC SHA DHE et DSA DES CBC SHA 3DES EDE CBC SHA DES40 CBC SHA DHE et RSA DES CBC SHA 3DES EDE CBC SHA
Export
50
SSL : liste non exhaustive dAPIsNom de lAPI AOLserver 2.3 Alibaba .0 2 Apache 1.3 Enterprise Server 3.0 Fournisseur America Online. Inc Computer Software Manufacturers The Apache Group Novonyx Adresse http://www.aolserver.com http://www.csm.co.at/alibaba/ http://www.apache.org http://www.inetmi.com http://www.novonyx.com http://www.microsoft.com/iis http://www.java.sun.com http://www.ibm.com
Commerce Server/400 1.0CI/NET, Inc.
Enterprise Web Secure/VM 1.1 Beyond-Software Incorporated http://www.beyond-software.com Internet Information Server 4.0 Microsoft Corp. Java Server 1.1 Sun Microsystems Lotus Domino Go Webserver IBM 4.6.1 Oracle Web Application Server Oracle Corp. 3.01 Roxen Challenger 1.2b I SSLava WebSite Professional 2.2 WebTen 2.1 Idonex Phaos Technologies O'Reilly Software Tenon Intersystems
Netscape Enterprise Server 3.5.1 Netscape Communications Corp. http://www. netscape.com http://www.oracle.com/products http://www.roxen.com http://www.phaos.com/main.htm http://www.website.oreilly.com/ http://www.tenon.com/products/webten http://www.zeustech.net
Zeus Web Application Server 3 Technology Zeus
51
Attaques Pistes dattaques classiques Vulnrabilits Scnarios dattaque
52
Attaques classiques Pistes classiques Casser les clefs Attack replay Man in the middle Attaque clair ouvert Taille des clefs Nonces (connection id) Certificats servent passer les clefs Clefs + Alas
Parades de SSL
53
Sources de vulnrabilit Taille des clefs SSL v2 Certificats Implmentations
54
Scnarios dattaque SSL v2 : Forcer une faible taille de clef Tous : Diffie-Hellman anonyme SSL v3 : Accepte Finished avant ChangeCipherSpec SSL v3 : Envoi de donnes chiffres avant rponseserveur au Finished.
55
Exemple 1 Faible clefs Pas de vrification dintgrit
SSL v2 Forced weak ciphersuite
CryptoL CryptoL
56
Exemple 2 Tiers lcoute
SSL v3 DH anonymous authentification
Man in the middle attack
57
Exemple 3
Phase 1
Phase 2
58
Exemple 4 Envoi de donnes chiffres Permet de casser la clef, puis de rpondre
SSL v3 Send data before finished server
?
59
Le Protocole SET
Introduction
SET (Secure Electronic Transaction), Dvelopp par Visa et Mastercard (1997) Supporte et scurise lacte de paiement Ncessite la possession dune carte bancaire Pas de modifications des circuits bancaires dautorisation et de tlcollecte
61
Architecture et acteurs (1/2)
Dtenteur de la carte INTERNET Commerant
Autorit de certification
Passerelle de paiement
rseau financier scuris Institut d'mission Institut d'acquisition
62
Architecture et acteurs (2/2)Quatre entits Le porteur de carte Card Holder (CH) Le Commerant Merchant (M) Lautorit de certification Certificate Authority (CA) La passerelle de payement Payment Gateway (P)
Cinq tapes Inscription auprs du CA Demande dachat Autorisation de Payement Modification de lachat Collecte
63
Les services de SET Authentification et Identification, Confidentialit des instructions de paiement, Intgrit, Non rpudiation.
64
Algorithmes SET
Algorithme DES RSA
Opration Chiffrement/dchiffrement pour assurer la confidentialit des messages Cl, de siganture et de chiffrement Pour assurer lauthentification, lidentification, et lintgrit
SHA-1 HMAC-SHA-1
Gnration dun condensat pour assurer lintgrit Gnration dun condensat pour assurer lintgrit
65
Certificats
Certificat de signature Client Commerant Passerelle de paiement oui oui oui
Certificat de chiffrement non oui oui
66
SET Inscription du porteur de carte (1/7)
Demande Initiale
Condensat Reponse Initiale
Sont Egaux ?
Reponse Initiale
Reponse Initiale
SignatureCondensat CA Sig. CA Cl
SignatureCA Sig. CA Cl Condensat
67
SET Inscription du porteur de carte (2/7)
Cl alatoire de cryptage Symtrique Demande Inscription Claire Demande Inscription Chiffre
PAN
PAN
Cl Publique du CACl alatoire de cryptage Symtrique Demande Inscription Chiffre Demande Inscription Claire Formulaire InscriptionPAN PAN
Cl Prive de CA
68
SET Inscription du porteur de carte (3/7)
Formulaire Inscription
Formulaire Inscription
Signature Cl Prive de CACA Sig.Condensat Sont Egaux ? Condensat Cl Publique du CA Formulaire Inscription
Condensat
SignatureCA Sig.
69
SET Inscription du porteur de carte (4/7)
2 Formulaire Inscription Rempli Condensat Cl alatoire de cryptage Symtrique
Cl Prive de CH
Cl Publique de CH
Signature
70
SET Inscription du porteur de carte (5/7)
2 Formulaire Inscription RempliCB
Cl Prive De CA
Cl Publique CH
Cl alatoire de cryptage Symtrique
2CB
SignatureCl Publique de CA Cl alatoire de cryptage Symtrique 3CB
Formulaire Inscription Rempli
Cl Publique CH
Cl alatoire de cryptage Symtrique
3
SignatureCB
2 Formulaire Inscription Rempli
2 Formulaire Inscription Rempli
Cl Publique CH
Cl alatoire de cryptage Symtrique
Cl Publique CH
Cl alatoire de cryptage Symtrique
Signature
Signature
71
SET Inscription du porteur de carte (6/7)
2 Formulaire Inscription Rempli Condensat Cl alatoire de cryptage Symtrique Cl Publique CH Condensat Sont Egaux ?
Cl Publique CH
Signature
72
SET Inscription du porteur de carte (7/7)
2 Reponse de Certification Cl alatoire Signature de cryptage Symtrique CA Sig. CH Sig.Condensat
Reponse de Certification
Reponse de Certification
Signature
Cl Prive de CA Condensat
Sont Egaux ?
Reponse de Certification Cl Publique CA
2
Reponse de Certification
Condensat
de Signature cryptage Symtrique
Cl alatoire
SignatureCA Sig. CH Sig.
73
Transaction d achat SETCommerant
AuthReq PReq1
AuthRes3
2
PRes4
CapReq5
CapRes6
Internet
Dtenteur de carte
Passerelle de paiement
74
SET opration dachatOrdre D'Achat (OI) Concatenation des Condensats Ordre D'Achat (OI) Concatenation des CondensatsOrdre D'Achat (OI) Concatenation des Condensats Condensat Final Condensat Final
SignatureCl Alatoire de Cryptage Symtrique 1
Signature
Signature
Sont Egaux ?
Instruction De Payement (PI) Concatenation des Condensats
Instruction De Payement (PI) Concatenation des Condensats
Instruction De Payement (PI) Concatenation des Condensats
Vers La Passerelle de Payement
SignatureCl Publique de P
CH Act.
SignatureCH Act.
SignatureCH Act.
CH Sig.
CH Sig.
75
Messages du protocole SETMessages facultatifs PInitReq CH p M message dinitialisation permettant au dtenteur de carte dobtenir les certificats du commerant rponse au message PInitReq message utilis par le commerant pour annuler une autorisation ou abaisser le montant dune transaction dj autorise rponse au message AuthRevReq demande du status de la transaction rponse au message InqReq, de mme format que le message Pres message utilis pour annuler une demande de compensation rponse au message CapRevReq message utilis pour renflouer une transaction dj compense rponse au message CredReq demande dannulation dun message CredReq rponse au message CredRevReq demande du commerant la passerelle de paiement de son certificat rponse au message PCertReq message de compensation gestion des messages de Sens Signification
PInitRes AuthRevReq
M p CH Mp P
AuthRevRes InqReq InqRes CapRevReq CapRevRes CredReq CredRes CredRevReq CredRevRes PCertReq PCertRes BatchAdminReq BatchAdminRes Error
M p P CH p M M p CH M p P P p M M p P P p M M p P P p M M p P P p M M p P Pp M CH p M
rponse au message BatchAdminReq message derreur
76
Temps de calcul API BSAFE 4.0Cration Dchiffrement/ vrification
Total 0 15.34 25.27 13.48 41.29 25.22 27.18 26.58 174.36
PinitReq PiniRes PReq PRes AuthReq AuthRes CapReq CapRes Total
0 11 11.7 11 11.7 11.73 12.36 14.22 81.19
0 4.34 13.57 2.48 29.59 13.52 15.45 14.22 93.18
77
Charges de calcul
Charge du client 18.52 ms
Charge du commerant 86.74 ms
Charge de la passerelle de payement 69.1 ms
78
Temps de calcul avec lAPI JSAFE1.1
Cration
Dchiffrement/ vrification
Total 0 205 366.52 189 573.08 379.82 371.56 371.56 2456.84
PinitReq PiniRes PReq PRes AuthReq AuthRes CapReq CapRes Total
0 173 181.26 173 181.13 180.56 181.28 181.28 1251.51
0 32 185.26 16 391.95 199.56 190.28 190.28 1205.33
79
Charges de calcul
Charge du client 229.26 ms
Charge du commerant 1283.51 ms
Charge de la passerelle de payement 944.07 ms
80
Comparaisons SET/SSL
Critre de comparaison
SET
SSL
Applications
Certificat du client Longueur de la cl RSA Longueur de la cl DES Signature des donnes Cl DES unique pour chaque message Ngociation des algorithmes cryptographiques Mise en oeuvre de mcanisme de compression des donnes Authentification des participants
Transaction cartes de crdit oui 1024 bits 64 bits oui oui
gnrale optionnelle variable 64 bits non non
non non
oui oui
oui
optionnelle
81
Inconvnients de SET et SSL
SET: lourdeur de la vrification systmatique des certificats lourde charge de calculs cryptographiques logiciels peu rpandus SSL: une seule authentification au dbut de la session, certificat non ncessaire pour le client plus de signature aprs le HandShake82
Message SETtexte en clair condenst Algorithme de hachage cl prive de l'metteur signature numrique (sceau)
cl DES gnre alatoirement pour chaque message certificat de l'metteur message envoy
Message OAEP
enveloppe numrique cl publique du destinataire
83
Protocole Secure Shell (SSH) Protocole Bas sur TCP port 22 Modle client/serveur SSH est dvelopp pour remplacer laccs nonscuris des r-commandes de Unix Les r-commandes (rlogin, rcp, rsh) Version initiale SSHv1 dvelopp par Tatu Ylnen universit de Helsinki Version SSHv2 - Reprise par lIETF dans le groupe SECSH 1995. Rcriture complte de SSHv1( v1.3 et v1.5).
84
Protocole Secure Shell (SSH) Services de scurit: Authentification mutuelle (plusieurs mthodes supportes) Confidentialit Intgrit Non rejeu Connexion distance: scurisation des commandes rlogin, rsh, rcp et telnet vit la circulation du mot de passe en clair sur le rseau Redirection des sessions, notamment X11 Redirection de tous flux TCP dans le tunnel de la session
85
Protocole Secure Shell (SSH) Architecture de SSHv2
Couche connexion Couche authentification
- multiplexe plusieurs tunnels encryptes dans un mme canal - assure lauthentification du client par diffrentes mthodes - assure Intgrit , chiffrement et la compression des donnes
Couche Transport
86
Protocole Secure Shell (SSH) La couche transport: Assure authentification du client, le chiffrement et lintgrit/compression des donnes. Ngociation de la mthode dchange des clefs, des algorithmes clefs publiques, des algorithmes symtriques et de hachage . Lintgrit est assur en ajoutant un MAC dans chaque paquet MAC(master_secret, sequence number | uncrypted packet) Packet Len Padding len Une secret partage K, etPayload un hache H est utilis comme identificateur du session. padding RandomMAC
87
Protocole Secure Shell (SSH) La couche authentification: Assure lauthentification du client Un client peut essayer plusieurs mthode dauthentification envoyer par le serveur. Le client transmet par un requte dauthentification. Le serveur refuse ou accepte cette requte suivant la prsence ou non du client chez le serveur et suivant les diffrentes politiques choisies par le serveur. Le serveur peut lancer un timer (10 min) pour la priode dauthentification et le nombre dchec dauthentification du client (3 ou 4 fois). Aprs lauthentification du client, le serveur commence le service demander.
88
Protocole Secure Shell (SSH) La couche connexion: Met en relation les programmes Multiplexe plusieurs tunnels chiffs dans un mme canal, avec lexcution des commandes a distance
89
Handshake SSH (1/3)Gnralit:
ClientDemande connexionDchiffre le message et envoie le NONCE en clair
ServeurVrification de lexistante du Clefs pub de C
[NONCE] clef pub C [NONCE]
90
Handshake v1 (2/3) Authentification RSA
91
Handshake v1 (3/3) Authentification Rhost RSA En addition a lidentification traditionnelle par .rhosts, cette mthode utilise en plus une authentification par RSA pour le client
92
Handshake v2 (1/2) Handshake V2 de SSH
Client
ServeurVersion didentification
KE (listes d algorithmes, e = g^x mod p) KE (algorithmes choisies, server_pub_key,f=g^y mod p, sig) User auth request Accept User auth method 1 Accept
Couche transport
Couche authentification
93
Les algorithmes utiliss (1/2)Les algorithmes a clefs publiques support par SSH 2.4 sont :
Les algorithmes a chiffrement symtrique support par SSH 2.4 sont:
94
Les algorithmes utiliss (2/2)Les algorithmes de hachage support par SSH 2.4 sont :
95
Protocole Secure SHell (SSH)$ ssh hte-distant command $ scp hte-distant:fichier-distant fichier-local $ scp fichier-local hte-distant:fichier-distant $ slogin hte-distant ssh -Lxxx: hte-distant :yyy serveur-ssh Le client ssh local coute sur le port xxx Les connexions sur le local port xxx sont rediriges vers le serveur-SSH qui les reforwarde par TCP sur port 5678 du hte-distant ssh -Rxxx:remotehost:5678 serveur-ssh Le serveur SSH coute sur le port xxx Les connexions locals sont rediriges vers le port yyy du hte distant
96
Protocole Secure SHell (SSH)Chiffr Client 22 SSH xxx clair Application Client $ ssh -Lxxx:hte:yyy serveur Application $ telnet client xxx 97 Serveur SSH yyy clair hte
Protocole Secure SHell (SSH)Chiffr Client SSH clair yyy Hte Appli Client $ ssh -Rxxx:hte:yyy serveur Appli. $ telnet serveur xxx 98 22 serveur SSH xxx Clair
SSH en pratique (port forwarding) (1/2)Le service TCP est redirig travers le tunnel chiffr de la session SSH Le client SSH tablit un tunnel chiffr avec le port 22 du serveur depuis un port quelconque. Un client VNC (host1) veut se connecter a son station serveur VNC (host3) en passant par un serveur SSH (host 2)Connexion simple Connexion encrypte
HOST 3P2
Serveur VNC, port 5900
P1
Client SSH + Client VNC
HOST 1 99
HOST 2
Serveur SSH, port 22
SSH en pratique (port forwarding) (2/2) Rsultat: en se connectant localement (connexion vers localhost) depuis la machine HOST1 sur le port p1 (ex. 5901), il y a un transfert vers le port p2 de la machine HOST3, via HOST2. La connexion entre HOST2 et HOST3 ne sera pas encrypte, cest pourquoi on a souvent HOST2 = HOST3 Ceci va scuris les changes entre Host1 et Host2. Capacit de SSH de scuriser dautres services par le Connexion simple biais du encrypte HOST 3 Serveur VNC, port 5900 Connexion port forwarding Client SSH + Client VNCP2
ssh L 5901:host3:5900 host2 vncviewer localhost:5901P1
HOST 1 100
HOST 2
Serveur SSH, port 22
Protocole Secure Shell (SSH) Inconvnients: Ncessite linstallation dun logiciel SSH sur le poste des utilisateurs. Complexit de mise uvre avec les Proxy, les NAT et le protocole FTP. Gestion manuelle des cls chez les utilisateurs. Protocole non modulaire (SSHv1) Cot utilisateur difficile a gr : gestion des cls publiques, stockage des certificats serveur chez le client, N'intgre pas la notion de certificat X509V3 Authentification du client seul
101
Protocole Secure Shell (SSH) Quelques outils: SecureCRT: http://www.vandyke.co
Pour Win98/98/2000/NT F-Secure: http://f-secure.com
Windows et Mac SSH Secure Shell: http://www.ssh.com
- Free SSH client pour Windows et Linux TeraTerm Pro: http://www.zip.com.au/~roca/ttssh.html
Free SSH client pour Windows Mindterm: http://www.mindbright.se/mindterm/
Client java pour Windows et Mac102
Protocole Secure SHell (SSH) Rfrences:
http://www.urec.cnrs.fr/securite/outils/ssh/documenta tion-ssh.pdf http://www.uk.research.att.com/vnc/sshvnc.html http://www.tac.nyc.ny.us/kim/ssh/ http://www.ssh.com/products/ssh/winhelp32/ssh2win client.pdf http://www.vandyke.com/solutions/ssh_overview/ssh _overview.pdf Impact of authorization to response times in Open Network Environment ( http://www.tml.hut.fi/Opinnot/Tik110.501/1998/papers/9responcetimes/responcetimes.h tml)
103