9ssl Tls Set

download 9ssl Tls Set

of 103

Transcript of 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