SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Faculté des Sciences de Tunis: Département des Sciences de l'Informatique
Les protocoles SSL/TLS
Section : IF4 IRSA
Proposé par : Mme H. Kaffel Ben Ayed
Réalisé par : Haifa Rafiaa FTIRICH
Nada HELAOUI
Oussama JABNOUN
Meriem MEJHED MKHININI
08/05/2015
Plan
I. Définition
II. Historique
III. Environnement
IV. Architecture
V. Fonctionnement et structure des messages
I- Definition :
TLS, abréviation de Transport Layer Security, est
un protocole qui garantit la vie privée et
l'intégrité des données entre les applications
client / serveur de communication sur Internet.
Il assure qu'aucun tiers ne peut espionner ou
altérer les messages echangés.
II- Historique
Le protocole TLS est le successeur de la Secure Sockets Layer
(SSL) qui a été développé par Netscape. La première version
du protocole a été testée par l'éditeur en interne, mais c'est la
deuxième version (SSL v2) qui a été publiquement diffusée en
1994.
Le développement de ce protocole a été repris par l'IETF au sein
du groupe TLS (Transport Layer Security).
Le protocole TLS v1.0 a été normalisé en 1999 par l'IETF dans la
RFC 2246 (cf. section Documentation) et présente quelques
évolutions mineures par rapport à la version SSL v3.
Actuellement la version utilisée est TLSv1.2 . Ces protocoles ne
sont pas compatibles mais la plupart des serveurs et des
navigateurs web peuvent mettre en œuvre les deux protocoles.
III- Environnement
1- Modèle en couche :
Le positionnement du protocole SSL dans le modèle OSI peut être
schématisé comme suit :
2- Utilisateurs :
TLS offre ses services aux protocoles de la couche application :
3- Diagramme de cas d'utilisation :
IV- Architecture
Le protocole TLS / SSL peut être divisée en deux couches. La
première couche est constituée du protocole d'application (the
application protocol) et les trois sous-Handshake protocoles
(the three Handshake sub-protocols): le Protocole Poignée de
main (the Handshake Protocol), le protocole Spec Change
Cipher ( the Change Cipher Spec Protocol), et le Protocole
d'alerte (the Alert Protocol). La deuxième couche est le
protocole d'enregistrement ou « Record Protocol ». La figure
suivante illustre les différentes couches et de leurs composants.
1- Le protocole Handshake :
Les trois sous-protocoles du Handshake sont :
a- Handshake : utilisé pour négocier les informations de session(ID de session, les
certificats homologues, la spécification de chiffrement à utiliser, l'algorithme de
compression à utiliser, un secret partagé pour générer des clés..) entre le client
et le serveur.
b- Change Cipher Spec : modifie le matériel de chiffrement(données brutes qui
sont utilisées pour créer des clés pour une utilisation cryptographique) qui est
utilisé pour le cryptage entre le client et le serveur. Ce sous-protocole se
compose d'un message unique pour informer l'autre partie de la session
TLS/SSL que l'émetteur veut changer la collection des clés. La clé est
determinée à partir des informations échangées par le handshake.
c- Alert : utilise des messages pour indiquer un changement d'état ou une condition
d'erreur à l'hôte. Une liste complète peut être trouvée dans le RFC 2246 . Les
alertes sont couramment envoyées lorsque : la connexion est fermée, un
message non valide est reçu, un message ne peut pas être déchiffré, l'utilisateur
annule l'opération.
2-Le Protocole Record :
Le protocole Record reçoit et crypte les données à partir
de la couche d'application et le remet à la couche de
transport. Ensuite, il prend les données, les fragmente à
une taille appropriée pour l'algorithme cryptographique,
les compresse (ou, pour les données reçues, les
décompresse), applique un MAC ou HMAC puis chiffrer
( déchiffrer) les données en utilisant les informations
négociées au cours du protocole Handshake.
V- Fonctionnement et Structure des messages
1- Diagramme de séquence :
2- SSL et TLS proposent les fonctionnalités
suivantes :
a- Authentification - Le client doit pouvoir s'assurer de l'identité du
serveur. Depuis SSL 3.0, le serveur peut aussi demander au client
de s'authentifier. Cette fonctionnalité est assurée par l'emploi de
certificats.
b-Confidentialité - Le client et le serveur doivent avoir l'assurance que
leur conversationne pourra pas être écoutée par un tiers. Cette
fonctionnalité est assurée par un algorithme de chiffrement.
c-Identification et intégrité - Le client et le serveur doivent pouvoir
s'assurer que les messages transmis ne sont ni tronqués ni modifiés
(intégrité), qu'ils proviennent bien de l'expéditeur attendu. Ces
fonctionnalités sont assurées par la signature des données.
3-Structures des messages:
HELLOCLIENT :
Quand un client se connecte pour la première fois à un serveur, il est
nécessaire d'envoyer le ClientHello comme son premier message.
Le client peut également envoyer un ClientHello en réponse à une
HelloRequest ou de sa propre initiative afin de renégocier les paramètres
de sécurité dans une connexion existante
struct {
ProtocolVersion client_version;
Random random;
SessionID session_id;
CipherSuite cipher_suites<2..2^16-2>;
CompressionMethod compression_methods<1..2^8-1>;
select (extensions_present) {
case false:
struct {};
case true:
Extension extensions<0..2^16-1>
};
} ClientHello
HelloServer
struct {
ProtocolVersion server_version;
Random random;
SessionID session_id;
CipherSuite cipher_suite;
CompressionMethod compression_method;
select (extensions_present) {
case false:
struct {};
case true:
Extension extensions>0..2^16-1<;
};
} ServerHello ;
Server Certificate
ce message suivra toujours immédiatement le message
ServerHello.
Ce message transmet la chaîne de certificats du serveur
vers le client.
Le certificat doit être appropriée pour l'algorithme
d'échange de clé de la suite de chiffrement négocié et
toutes les extensions négociés.
Structure du message:
opaque ASN.1Cert<1..2^24-1>;
struct {
ASN.1Cert certificate_list<0..2^24-1>;
} Certificate;
ServerHelloDone
Le message d'ServerHelloDone est envoyé par le serveur pour
indiquer la fin de la ServerHello et messages associés. Après
l'envoi de ce message, le serveur va attendre une réponse du
client.
Ce message signifie que le serveur se fait en envoyant des
messages à soutenir l'échange de clés, et le client peut
procéder à sa phase de l'échange de clés.
Structure du message:
struct { } ServerHelloDone;
Client Key Exchange Message
Ce message est toujours envoyé par le client. Il doit suivre immédiatement le message de
certificat client, si elle est envoyée. Sinon, il DOIT être le premier message envoyé par le client
après avoir reçu le message d'ServerHelloDone. Avec ce message, le code secret préliminaire
est fixé, soit par transmission directe du secret RSA crypté ou par la transmission de
paramètres Diffie-Hellman qui permettront de chaque côté se mettre d'accord sur le même
secret préliminaire.
Structure du message : Le choix des messages dépend de la méthode d'échange de clé a été
sélectionné
struct { select (KeyExchangeAlgorithm) {
case rsa:
EncryptedPreMasterSecret;
case dhe_dss:
case dhe_rsa:
case dh_dss:
case dh_rsa:
case dh_anon:
ClientDiffieHellmanPublic; } exchange_keys; } ClientKeyExchange;
Change Cipher Spec Protocol
Le protocole de spec changement de chiffrement existe
pour signaler les transitions dans les stratégies de
chiffrement. Le protocole consiste en un seul message,
qui est crypté et compressé sous le (pas en attente) l'état
actuel de la connexion. Le message se compose d'un
seul octet de valeur 1.Le message est envoyé par
ChangeCipherSpec la fois le client et le serveur d'avertir
le destinataire que les enregistrements suivants seront
protégés en vertu de la CipherSpec nouvellement
négocié et touches.
struct {
enum { change_cipher_spec(1), (255) } type;
} ChangeCipherSpec;
Finished
Le message Terminé est le premier protégé par les
algorithmes juste négociés, les clés et secrets. Les
destinataires des messages finis doivent vérifier que le
contenu est correct. Une fois un côté a envoyé son
message Terminé et reçu et validé le message fini de
ses pairs, il peut commencer à envoyer et recevoir des
données d'application sur la connexion.
Structure du message:
struct {
opaque verify_data[verify_data_length];
} Finished;
Conclusion :
Les caractéristiques de SSL/TLS sont donc :
- L'indépendance vis à vis des couches inférieures et
supérieures
- Le fonctionnement en mode Client/Serveur
- L'assurance aux deux parties d'une transaction
authentifiée (certificats), privée (cryptage) identifiée et
intègre (MAC).
L'âge de SSL lui confère une maturité certaine et d'une
longue expérience. Malgré ses défaillances au niveau
de l'authentification, son utilisation est très répandue
et cela prouve sa robustesse. Son évolutivité, ainsi
que son évolution lui promettent un bel avenir.
Merci pour votre attention
^_^

Contenu connexe

Tendances

SSL/TLS Présentation en Français.
SSL/TLS Présentation en Français.SSL/TLS Présentation en Français.
SSL/TLS Présentation en Français.Philippe Lhardy
 
Projet sur transfert de fichiers
Projet sur transfert de fichiersProjet sur transfert de fichiers
Projet sur transfert de fichiersjosepkap
 
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.xAlphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.xAlphorm
 
La sécurité des réseaux sans fil
La sécurité des réseaux sans filLa sécurité des réseaux sans fil
La sécurité des réseaux sans filsmiste
 
Les Streams de Java 8
Les Streams de Java 8Les Streams de Java 8
Les Streams de Java 8Antoine Rey
 
Administration reseau
Administration reseauAdministration reseau
Administration reseaunadimoc
 
SSL - Secure Sockets Layer - Présentation
SSL - Secure Sockets Layer  - PrésentationSSL - Secure Sockets Layer  - Présentation
SSL - Secure Sockets Layer - PrésentationIkram Benabdelouahab
 
Etude et mise en place d’un VPN
Etude et mise en place d’un VPNEtude et mise en place d’un VPN
Etude et mise en place d’un VPNCharif Khrichfa
 
Architecture voip (1)
Architecture voip (1)Architecture voip (1)
Architecture voip (1)kenane toufik
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUCHAOUACHI marwen
 
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)Sakka Mustapha
 
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.x
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.xAlphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.x
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.xAlphorm
 
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Chapitre 6  - Protocoles TCP/IP, UDP/IPChapitre 6  - Protocoles TCP/IP, UDP/IP
Chapitre 6 - Protocoles TCP/IP, UDP/IPTarik Zakaria Benmerar
 

Tendances (20)

SSL/TLS Présentation en Français.
SSL/TLS Présentation en Français.SSL/TLS Présentation en Français.
SSL/TLS Présentation en Français.
 
Vpn
VpnVpn
Vpn
 
Sip
SipSip
Sip
 
Projet sur transfert de fichiers
Projet sur transfert de fichiersProjet sur transfert de fichiers
Projet sur transfert de fichiers
 
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.xAlphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
Alphorm.com Formation Certification NSE4 - Fortinet Fortigate Infrastructure 6.x
 
La sécurité des réseaux sans fil
La sécurité des réseaux sans filLa sécurité des réseaux sans fil
La sécurité des réseaux sans fil
 
Les Streams de Java 8
Les Streams de Java 8Les Streams de Java 8
Les Streams de Java 8
 
Rapport finiale
Rapport finialeRapport finiale
Rapport finiale
 
Wazuh Pre.pptx
Wazuh Pre.pptxWazuh Pre.pptx
Wazuh Pre.pptx
 
Ccnp securite vpn
Ccnp securite vpnCcnp securite vpn
Ccnp securite vpn
 
Les Vpn
Les VpnLes Vpn
Les Vpn
 
Administration reseau
Administration reseauAdministration reseau
Administration reseau
 
SSL - Secure Sockets Layer - Présentation
SSL - Secure Sockets Layer  - PrésentationSSL - Secure Sockets Layer  - Présentation
SSL - Secure Sockets Layer - Présentation
 
Etude et mise en place d’un VPN
Etude et mise en place d’un VPNEtude et mise en place d’un VPN
Etude et mise en place d’un VPN
 
Architecture voip (1)
Architecture voip (1)Architecture voip (1)
Architecture voip (1)
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAU
 
Rapport Sockets en Java
Rapport Sockets en JavaRapport Sockets en Java
Rapport Sockets en Java
 
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
Sécurité Réseau à Base d'un Firewall Matériel (fortigate)
 
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.x
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.xAlphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.x
Alphorm.com Formation Certification NSE4 : Fortinet Fortigate Security 6.x
 
Chapitre 6 - Protocoles TCP/IP, UDP/IP
Chapitre 6  - Protocoles TCP/IP, UDP/IPChapitre 6  - Protocoles TCP/IP, UDP/IP
Chapitre 6 - Protocoles TCP/IP, UDP/IP
 

En vedette

05 01 open-vpn
05 01 open-vpn05 01 open-vpn
05 01 open-vpnNoël
 
Authentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPNAuthentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPNIsmail Rachdaoui
 
Présentation sécurité open_ssl
Présentation sécurité open_sslPrésentation sécurité open_ssl
Présentation sécurité open_ssldihiaselma
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Asad Ali
 
SSL Secure socket layer
SSL Secure socket layerSSL Secure socket layer
SSL Secure socket layerAhmed Elnaggar
 
SSL & TLS Architecture short
SSL & TLS Architecture shortSSL & TLS Architecture short
SSL & TLS Architecture shortAvirot Mitamura
 
Tutorial+movie+maker
Tutorial+movie+makerTutorial+movie+maker
Tutorial+movie+makerFabian Araya
 
Les salles de musiques actuelles et les réseaux sociaux en 2012
Les salles de musiques actuelles et les réseaux sociaux en 2012Les salles de musiques actuelles et les réseaux sociaux en 2012
Les salles de musiques actuelles et les réseaux sociaux en 2012Anthony M
 
Les jours fériés en France
Les jours fériés en FranceLes jours fériés en France
Les jours fériés en Francejuanvazquez
 
Taller de Consumer Insights Abril 2009: ¿Desea conocer las técnicas y herrami...
Taller de Consumer Insights Abril 2009: ¿Desea conocer las técnicas y herrami...Taller de Consumer Insights Abril 2009: ¿Desea conocer las técnicas y herrami...
Taller de Consumer Insights Abril 2009: ¿Desea conocer las técnicas y herrami...Consumer Truth - Insights & Planning
 
Présentation Hero Corp et le transmédia
Présentation Hero Corp et le transmédiaPrésentation Hero Corp et le transmédia
Présentation Hero Corp et le transmédialaurence allard
 
Nuestro Fin De Semana A Madrid
Nuestro Fin De Semana A MadridNuestro Fin De Semana A Madrid
Nuestro Fin De Semana A MadridCarina Lopes
 
Tutoriel Web Speaker Pro : Comment générer un commentaire audio en synthèse v...
Tutoriel Web Speaker Pro : Comment générer un commentaire audio en synthèse v...Tutoriel Web Speaker Pro : Comment générer un commentaire audio en synthèse v...
Tutoriel Web Speaker Pro : Comment générer un commentaire audio en synthèse v...Easy Video Creations
 
Marca personal conceptos y estrategias.
Marca personal conceptos y estrategias.Marca personal conceptos y estrategias.
Marca personal conceptos y estrategias.Jorge Molinera
 

En vedette (20)

05 01 open-vpn
05 01 open-vpn05 01 open-vpn
05 01 open-vpn
 
Authentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPNAuthentification TLS/SSL sous OpenVPN
Authentification TLS/SSL sous OpenVPN
 
Présentation sécurité open_ssl
Présentation sécurité open_sslPrésentation sécurité open_ssl
Présentation sécurité open_ssl
 
Memoire final sfallou
Memoire final sfallouMemoire final sfallou
Memoire final sfallou
 
Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)Ssl (Secure Sockets Layer)
Ssl (Secure Sockets Layer)
 
SSL Secure socket layer
SSL Secure socket layerSSL Secure socket layer
SSL Secure socket layer
 
SSL & TLS Architecture short
SSL & TLS Architecture shortSSL & TLS Architecture short
SSL & TLS Architecture short
 
Tutorial+movie+maker
Tutorial+movie+makerTutorial+movie+maker
Tutorial+movie+maker
 
Leaves
LeavesLeaves
Leaves
 
Les salles de musiques actuelles et les réseaux sociaux en 2012
Les salles de musiques actuelles et les réseaux sociaux en 2012Les salles de musiques actuelles et les réseaux sociaux en 2012
Les salles de musiques actuelles et les réseaux sociaux en 2012
 
Les jours fériés en France
Les jours fériés en FranceLes jours fériés en France
Les jours fériés en France
 
Taller de Consumer Insights Abril 2009: ¿Desea conocer las técnicas y herrami...
Taller de Consumer Insights Abril 2009: ¿Desea conocer las técnicas y herrami...Taller de Consumer Insights Abril 2009: ¿Desea conocer las técnicas y herrami...
Taller de Consumer Insights Abril 2009: ¿Desea conocer las técnicas y herrami...
 
Roman i la guerra
Roman i la guerraRoman i la guerra
Roman i la guerra
 
L'impitoyable sionisme , la cruauté des sionistes
L'impitoyable sionisme , la cruauté des sionistesL'impitoyable sionisme , la cruauté des sionistes
L'impitoyable sionisme , la cruauté des sionistes
 
Présentation Hero Corp et le transmédia
Présentation Hero Corp et le transmédiaPrésentation Hero Corp et le transmédia
Présentation Hero Corp et le transmédia
 
Nuestro Fin De Semana A Madrid
Nuestro Fin De Semana A MadridNuestro Fin De Semana A Madrid
Nuestro Fin De Semana A Madrid
 
presentation-Thesis
presentation-Thesispresentation-Thesis
presentation-Thesis
 
Taller de Consumer Insights - Marzo 2010
Taller de Consumer Insights - Marzo 2010Taller de Consumer Insights - Marzo 2010
Taller de Consumer Insights - Marzo 2010
 
Tutoriel Web Speaker Pro : Comment générer un commentaire audio en synthèse v...
Tutoriel Web Speaker Pro : Comment générer un commentaire audio en synthèse v...Tutoriel Web Speaker Pro : Comment générer un commentaire audio en synthèse v...
Tutoriel Web Speaker Pro : Comment générer un commentaire audio en synthèse v...
 
Marca personal conceptos y estrategias.
Marca personal conceptos y estrategias.Marca personal conceptos y estrategias.
Marca personal conceptos y estrategias.
 

Similaire à SSL/TSL Protocols

Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécuritédihiaselma
 
application SSL_TLS.pptx
application SSL_TLS.pptxapplication SSL_TLS.pptx
application SSL_TLS.pptxkohay75604
 
VPN site-to-site.pdf
VPN site-to-site.pdfVPN site-to-site.pdf
VPN site-to-site.pdfgorguindiaye
 
Cours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZeroCours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZeroCHILDZ Laurent
 
Architecture VoIP Protocol H323
Architecture VoIP Protocol H323Architecture VoIP Protocol H323
Architecture VoIP Protocol H323Siir Ayoub
 
la sécurité dans la commerce electronique
la sécurité dans la commerce electroniquela sécurité dans la commerce electronique
la sécurité dans la commerce electroniqueMouna Slama
 
Ch3_Couche application.pptx
Ch3_Couche application.pptxCh3_Couche application.pptx
Ch3_Couche application.pptxOthmaneMansouri1
 
openssh
opensshopenssh
opensshiferis
 
Architectures des applications pour l internet des objets : les files de mess...
Architectures des applications pour l internet des objets : les files de mess...Architectures des applications pour l internet des objets : les files de mess...
Architectures des applications pour l internet des objets : les files de mess...Valentin Traën
 

Similaire à SSL/TSL Protocols (20)

Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
 
SSL.TLS.pptx
SSL.TLS.pptxSSL.TLS.pptx
SSL.TLS.pptx
 
Https,ssl,ssh
Https,ssl,sshHttps,ssl,ssh
Https,ssl,ssh
 
Cours si1
Cours si1Cours si1
Cours si1
 
Solution standard de compensation appliquée à une architecture e business séc...
Solution standard de compensation appliquée à une architecture e business séc...Solution standard de compensation appliquée à une architecture e business séc...
Solution standard de compensation appliquée à une architecture e business séc...
 
application SSL_TLS.pptx
application SSL_TLS.pptxapplication SSL_TLS.pptx
application SSL_TLS.pptx
 
VPN site-to-site.pdf
VPN site-to-site.pdfVPN site-to-site.pdf
VPN site-to-site.pdf
 
Solution standard de compensation appliquée à une architecture e business séc...
Solution standard de compensation appliquée à une architecture e business séc...Solution standard de compensation appliquée à une architecture e business séc...
Solution standard de compensation appliquée à une architecture e business séc...
 
Tp rsa1
Tp rsa1Tp rsa1
Tp rsa1
 
Protocole Diameter
Protocole DiameterProtocole Diameter
Protocole Diameter
 
Cours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZeroCours HTTPS pour UnPointZero
Cours HTTPS pour UnPointZero
 
Architecture VoIP Protocol H323
Architecture VoIP Protocol H323Architecture VoIP Protocol H323
Architecture VoIP Protocol H323
 
vpn
vpnvpn
vpn
 
la sécurité dans la commerce electronique
la sécurité dans la commerce electroniquela sécurité dans la commerce electronique
la sécurité dans la commerce electronique
 
Ch3_Couche application.pptx
Ch3_Couche application.pptxCh3_Couche application.pptx
Ch3_Couche application.pptx
 
voip
voipvoip
voip
 
SSL.pdf
SSL.pdfSSL.pdf
SSL.pdf
 
openssh
opensshopenssh
openssh
 
Cours couche application
Cours couche applicationCours couche application
Cours couche application
 
Architectures des applications pour l internet des objets : les files de mess...
Architectures des applications pour l internet des objets : les files de mess...Architectures des applications pour l internet des objets : les files de mess...
Architectures des applications pour l internet des objets : les files de mess...
 

Plus de Haifa Ftirich

AWS containers solutions
AWS containers solutionsAWS containers solutions
AWS containers solutionsHaifa Ftirich
 
HaifaRafiaaFTIRICH2015
HaifaRafiaaFTIRICH2015HaifaRafiaaFTIRICH2015
HaifaRafiaaFTIRICH2015Haifa Ftirich
 
Présentation-Tunihack 2015
Présentation-Tunihack 2015Présentation-Tunihack 2015
Présentation-Tunihack 2015Haifa Ftirich
 
Vagrant workshop 2015
Vagrant workshop 2015Vagrant workshop 2015
Vagrant workshop 2015Haifa Ftirich
 

Plus de Haifa Ftirich (7)

AWS containers solutions
AWS containers solutionsAWS containers solutions
AWS containers solutions
 
HaifaFtirich2016
HaifaFtirich2016HaifaFtirich2016
HaifaFtirich2016
 
Crowd funding
Crowd funding Crowd funding
Crowd funding
 
HaifaRafiaaFTIRICH2015
HaifaRafiaaFTIRICH2015HaifaRafiaaFTIRICH2015
HaifaRafiaaFTIRICH2015
 
Présentation-Tunihack 2015
Présentation-Tunihack 2015Présentation-Tunihack 2015
Présentation-Tunihack 2015
 
Vagrant workshop 2015
Vagrant workshop 2015Vagrant workshop 2015
Vagrant workshop 2015
 
JenkinsPy workshop
JenkinsPy workshop JenkinsPy workshop
JenkinsPy workshop
 

SSL/TSL Protocols

  • 1. Faculté des Sciences de Tunis: Département des Sciences de l'Informatique Les protocoles SSL/TLS Section : IF4 IRSA Proposé par : Mme H. Kaffel Ben Ayed Réalisé par : Haifa Rafiaa FTIRICH Nada HELAOUI Oussama JABNOUN Meriem MEJHED MKHININI 08/05/2015
  • 2. Plan I. Définition II. Historique III. Environnement IV. Architecture V. Fonctionnement et structure des messages
  • 3. I- Definition : TLS, abréviation de Transport Layer Security, est un protocole qui garantit la vie privée et l'intégrité des données entre les applications client / serveur de communication sur Internet. Il assure qu'aucun tiers ne peut espionner ou altérer les messages echangés.
  • 4. II- Historique Le protocole TLS est le successeur de la Secure Sockets Layer (SSL) qui a été développé par Netscape. La première version du protocole a été testée par l'éditeur en interne, mais c'est la deuxième version (SSL v2) qui a été publiquement diffusée en 1994. Le développement de ce protocole a été repris par l'IETF au sein du groupe TLS (Transport Layer Security). Le protocole TLS v1.0 a été normalisé en 1999 par l'IETF dans la RFC 2246 (cf. section Documentation) et présente quelques évolutions mineures par rapport à la version SSL v3. Actuellement la version utilisée est TLSv1.2 . Ces protocoles ne sont pas compatibles mais la plupart des serveurs et des navigateurs web peuvent mettre en œuvre les deux protocoles.
  • 5. III- Environnement 1- Modèle en couche : Le positionnement du protocole SSL dans le modèle OSI peut être schématisé comme suit :
  • 6. 2- Utilisateurs : TLS offre ses services aux protocoles de la couche application :
  • 7. 3- Diagramme de cas d'utilisation :
  • 8. IV- Architecture Le protocole TLS / SSL peut être divisée en deux couches. La première couche est constituée du protocole d'application (the application protocol) et les trois sous-Handshake protocoles (the three Handshake sub-protocols): le Protocole Poignée de main (the Handshake Protocol), le protocole Spec Change Cipher ( the Change Cipher Spec Protocol), et le Protocole d'alerte (the Alert Protocol). La deuxième couche est le protocole d'enregistrement ou « Record Protocol ». La figure suivante illustre les différentes couches et de leurs composants.
  • 9. 1- Le protocole Handshake : Les trois sous-protocoles du Handshake sont : a- Handshake : utilisé pour négocier les informations de session(ID de session, les certificats homologues, la spécification de chiffrement à utiliser, l'algorithme de compression à utiliser, un secret partagé pour générer des clés..) entre le client et le serveur. b- Change Cipher Spec : modifie le matériel de chiffrement(données brutes qui sont utilisées pour créer des clés pour une utilisation cryptographique) qui est utilisé pour le cryptage entre le client et le serveur. Ce sous-protocole se compose d'un message unique pour informer l'autre partie de la session TLS/SSL que l'émetteur veut changer la collection des clés. La clé est determinée à partir des informations échangées par le handshake. c- Alert : utilise des messages pour indiquer un changement d'état ou une condition d'erreur à l'hôte. Une liste complète peut être trouvée dans le RFC 2246 . Les alertes sont couramment envoyées lorsque : la connexion est fermée, un message non valide est reçu, un message ne peut pas être déchiffré, l'utilisateur annule l'opération.
  • 10. 2-Le Protocole Record : Le protocole Record reçoit et crypte les données à partir de la couche d'application et le remet à la couche de transport. Ensuite, il prend les données, les fragmente à une taille appropriée pour l'algorithme cryptographique, les compresse (ou, pour les données reçues, les décompresse), applique un MAC ou HMAC puis chiffrer ( déchiffrer) les données en utilisant les informations négociées au cours du protocole Handshake.
  • 11. V- Fonctionnement et Structure des messages 1- Diagramme de séquence :
  • 12. 2- SSL et TLS proposent les fonctionnalités suivantes : a- Authentification - Le client doit pouvoir s'assurer de l'identité du serveur. Depuis SSL 3.0, le serveur peut aussi demander au client de s'authentifier. Cette fonctionnalité est assurée par l'emploi de certificats. b-Confidentialité - Le client et le serveur doivent avoir l'assurance que leur conversationne pourra pas être écoutée par un tiers. Cette fonctionnalité est assurée par un algorithme de chiffrement. c-Identification et intégrité - Le client et le serveur doivent pouvoir s'assurer que les messages transmis ne sont ni tronqués ni modifiés (intégrité), qu'ils proviennent bien de l'expéditeur attendu. Ces fonctionnalités sont assurées par la signature des données.
  • 13. 3-Structures des messages: HELLOCLIENT : Quand un client se connecte pour la première fois à un serveur, il est nécessaire d'envoyer le ClientHello comme son premier message. Le client peut également envoyer un ClientHello en réponse à une HelloRequest ou de sa propre initiative afin de renégocier les paramètres de sécurité dans une connexion existante struct { ProtocolVersion client_version; Random random; SessionID session_id; CipherSuite cipher_suites<2..2^16-2>; CompressionMethod compression_methods<1..2^8-1>; select (extensions_present) { case false: struct {}; case true: Extension extensions<0..2^16-1> }; } ClientHello
  • 14. HelloServer struct { ProtocolVersion server_version; Random random; SessionID session_id; CipherSuite cipher_suite; CompressionMethod compression_method; select (extensions_present) { case false: struct {}; case true: Extension extensions>0..2^16-1<; }; } ServerHello ;
  • 15. Server Certificate ce message suivra toujours immédiatement le message ServerHello. Ce message transmet la chaîne de certificats du serveur vers le client. Le certificat doit être appropriée pour l'algorithme d'échange de clé de la suite de chiffrement négocié et toutes les extensions négociés. Structure du message: opaque ASN.1Cert<1..2^24-1>; struct { ASN.1Cert certificate_list<0..2^24-1>; } Certificate;
  • 16. ServerHelloDone Le message d'ServerHelloDone est envoyé par le serveur pour indiquer la fin de la ServerHello et messages associés. Après l'envoi de ce message, le serveur va attendre une réponse du client. Ce message signifie que le serveur se fait en envoyant des messages à soutenir l'échange de clés, et le client peut procéder à sa phase de l'échange de clés. Structure du message: struct { } ServerHelloDone;
  • 17. Client Key Exchange Message Ce message est toujours envoyé par le client. Il doit suivre immédiatement le message de certificat client, si elle est envoyée. Sinon, il DOIT être le premier message envoyé par le client après avoir reçu le message d'ServerHelloDone. Avec ce message, le code secret préliminaire est fixé, soit par transmission directe du secret RSA crypté ou par la transmission de paramètres Diffie-Hellman qui permettront de chaque côté se mettre d'accord sur le même secret préliminaire. Structure du message : Le choix des messages dépend de la méthode d'échange de clé a été sélectionné struct { select (KeyExchangeAlgorithm) { case rsa: EncryptedPreMasterSecret; case dhe_dss: case dhe_rsa: case dh_dss: case dh_rsa: case dh_anon: ClientDiffieHellmanPublic; } exchange_keys; } ClientKeyExchange;
  • 18. Change Cipher Spec Protocol Le protocole de spec changement de chiffrement existe pour signaler les transitions dans les stratégies de chiffrement. Le protocole consiste en un seul message, qui est crypté et compressé sous le (pas en attente) l'état actuel de la connexion. Le message se compose d'un seul octet de valeur 1.Le message est envoyé par ChangeCipherSpec la fois le client et le serveur d'avertir le destinataire que les enregistrements suivants seront protégés en vertu de la CipherSpec nouvellement négocié et touches. struct { enum { change_cipher_spec(1), (255) } type; } ChangeCipherSpec;
  • 19. Finished Le message Terminé est le premier protégé par les algorithmes juste négociés, les clés et secrets. Les destinataires des messages finis doivent vérifier que le contenu est correct. Une fois un côté a envoyé son message Terminé et reçu et validé le message fini de ses pairs, il peut commencer à envoyer et recevoir des données d'application sur la connexion. Structure du message: struct { opaque verify_data[verify_data_length]; } Finished;
  • 20. Conclusion : Les caractéristiques de SSL/TLS sont donc : - L'indépendance vis à vis des couches inférieures et supérieures - Le fonctionnement en mode Client/Serveur - L'assurance aux deux parties d'une transaction authentifiée (certificats), privée (cryptage) identifiée et intègre (MAC). L'âge de SSL lui confère une maturité certaine et d'une longue expérience. Malgré ses défaillances au niveau de l'authentification, son utilisation est très répandue et cela prouve sa robustesse. Son évolutivité, ainsi que son évolution lui promettent un bel avenir.
  • 21. Merci pour votre attention ^_^