![]() |
guill.net
-
La page des réseaux
|
![]() ![]() |
Etat de l'art
SSL est actuellement le standard pour les transactions sécurisées sur Internet. Ce protocole est utilisé pour chiffrer et authentifier les serveurs.
SSL est l'abréviation de Secure Sockets Layer. Il faut prendre gare au sens dans lequel on emploie ce terme. L'IETF a spécifié un standard de sécurité appelé TLS (Transport Layer Secure) et c'est ce mode de sécurité qui est utilisé sur Internet, lui-même étant conçu à partir des spécificités SSL 3.0 définies par la société Netscape. TLS en est actuellement à sa version 1.0.
Le
protocole SSL
SSL utilise les fonctionnalités offertes par TCP/IP pour permettre aux couches supérieures d'accéder à un mode d'accès sécurisé. Dans les plus courants utilisant ce mode, on va trouver bien sûr HTTP mais aussi LDAP, SMTP, NNTP ou encore IMAP. | ![]() |
Les trois fonctionnalités de SSL sont :
- Authentification du serveur : cela permet à un utilisateur d'avoir une confirmation de l'identité d'un serveur. En effet un programme client SSL utilise des méthodes de chiffrement à clé publique pour vérifier si le certificat et l'identité publique fournis par le serveur sont valides et ont été fournis par un fournisseur de certificat présent dans la liste de ceux connus du client. Cette fonctionnalité est importante dans la mesure où le client doit envoyer des données confidentielles comme son numéro de carte bleue.
-Authentification du client : la technique est ici exactement la même que pour l'authentification du serveur. Cela peut servir si le serveur envoie des informations importantes à un client, qui doit, dans ce cas être authentifier.
-Chiffrement des données : toutes les données issues de l'entité émettrice sont chiffrées et déchiffrées par l'entité réceptrice, ce qui permet de garantir la confidentialité des données. Un mécanisme permet également de garantir l'intégrité des données.
Le protocole SSL peut être divisé en 2 sous protocoles : l’encodage (record) et la négociation (handshake). Le premier définit tout ce qui touche à l'envoi des données. Le second est utilisé pendant toute la phase de négociation entre le client et le serveur jusqu'à ce que tous les paramètres soient validés par l'un et l'autre.
L'encodage dans SSL
SSL est capable d'utiliser différents mécanismes de chiffrement créés pour l'authentification, l'envoi de certificats ou l'établissement des clés. Le choix des mécanismes de sécurité mis en œuvre dépend de plusieurs paramètres : la politique de sécurité de l'entreprise possédant le serveur, la version du protocole SSL ou encore les lois gouvernementales. Le but du sous-protocole de négociation est en outre d’obtenir un accord entre le client et le serveur pour le chiffrement utilisé.
Lors de la phase de négociation, le client et le serveur vont se mettre d'accord sur le meilleur algorithme de chiffrement utilisable entre les parties. La table ci-dessous rend compte des différents algorithmes pouvant être utilisés :
MEILLEURES GARANTIES :
-3DES qui supporte un chiffrement
à 168 bits couplé avec SHA-1 pour l'intégrité.
Ce mécanisme n'est autorisé qu'à l'intérieur
des USA et est approprié aux banques car 3DES est nettement moins
rapide que RC4. Supporté par SSL 2.0 et 3.0
BONNES GARANTIES : ce chiffrement
est suffisamment fort pour garantir la plupart des transactions électroniques
-RC4 avec un chiffrement
128 bits couplé à MD5 pour l'intégrité. RC4
est le plus rapide des modes de chiffrement offert. Supporté par
SSL 2.0 et 3.0.
-RC2 avec un chiffrement
128 bits couplé à MD5 pour l'intégrité. RC2
est plus lent que RC4 et n'est plus supporté que par SSL 2.0.
-DES qui permet un chiffrement
sur 56 bits couplé avec SHA-1. Ce chiffrement reste moins performant
que RC4 ou RC2. Il est supporté par SSl 2.0 et 3.0 à la différence
que SSL 2.0 utilise MD5 pour authentifier les messages.
CHIFFREMENT DEDIE A L'EXPORTATION : C'est le chiffrement qui procure la plus haute sécurité pour une exportation internationale
-RC4 avec un chiffrement
40 bits et MD5. Supporté par SSL 2.0 et 3.0
-RC2 avec un chiffrement
40 bits et MD5. Supporté par SSL 2.0 et 3.0
FAIBLES GARANTIES : ce mécanisme
garantit l'intégrité des données, mais les données
qui circulent ne sont pas chiffrées.
-Authentification des messages
avec MD5 sans chiffrement. Cette méthode permet seulement de garantir
l'intégrité des données échangées. Elle
est typiquement utilisée dans le cas où le serveur et le
client n'ont aucun chiffrement en commun.
La négociation dans SSL
Le SSL combine simultanément
l'utilisation de clés publiques et de clés symétriques.
Les clés publiques privées ou clés asymétriques
procurent en effet une très bonne méthode pour l'authentification
mais son utilisation est coûteuse en terme de bande passante. A l'opposé,
le mécanisme de clé symétrique (identique pour chiffrer
et déchiffrer) est extrêmement rapide mais pas réellement
adapté à l'authentification d'un tiers.
Ainsi SSL va utiliser son
protocole de négociation qui va être apte à partir
des clés publiques et privées du client et du serveur d'établir
une communication entre les deux entités avec une clé secrète
(symétrique) de taille nettement inférieure à celle
rencontrée pour des clés publiques (128 bits contre 1024
ou plus).
Mécanisme
1- Le client envoie au serveur
sa version du protocole SSL, ses paramètres de chiffrement, des
données générées aléatoirement et d'autres
informations dont le serveur a besoin.
2- Le serveur renvoie sa
version de SSL, ses paramètres de chiffrement, des données
générées aléatoirement et d'autres informations
dont le client a besoin. Le serveur envoie également son propre
certificat, et si le client demande une information nécessitant
un certificat, il demande également un certificat client.
3- Le client utilise les
informations envoyées par le serveur pour l'authentifier. Si le
serveur ne peut pas être authentifié, la connexion n'a pas
lieu.
4- Avec les données
préalablement échangées, le client est en mesure d'envoyer
au serveur une pré clé secrète, qu'il chiffre avec
la clé publique du serveur. Si le serveur a requis une authentification
du client, celui ci (le client) renvoie également au serveur un
bloc de données signé ainsi que son certificat.
5- Si le serveur a requis
une authentification, il authentifie le client. Le serveur utilise alors
sa clé privée de façon à pouvoir déchiffrer
la pré clé secrète. Le serveur effectue alors une
suite d'actions (également effectuées par le client) pour
obtenir une clé secrète à partir de la pré
clé secrète.
6- Le client et le serveur
utilisent la clé secrète pour générer des clés
de session qui seront les clés symétriques utilisées
pour le chiffrement, déchiffrement des données et l'intégrité.
7- Le client envoie alors
un avertissement au serveur le prévenant que les prochains messages
seront chiffrés avec la clé de session. Puis il envoie un
message chiffré indiquant que la phase de négociation est
terminée.
8- Le serveur envoie alors
un avertissement au client comme quoi les prochains messages seront chiffrés
avec la clé de session. Puis il envoie un message (chiffré
cette fois) indiquant que la phase de négociation est terminée.
9-La phase de négociation
est alors terminée.
Authentification
Dans le cas du SSL il est pour le moment assez rare de rencontrer une authentification du client. En effet, la plupart des applications utilisées sur Internet ne requièrent pas un tel niveau de sécurité. De plus, l'authentification du client ressemble très fortement à une authentification du serveur. L'authentification serveur a lieu comme suit :
1- Vérification de
la date de validité du certificat du serveur.
2- Est-ce que l'autorité
de certification est une autorité de confiance ? Pour vérifier
cela, chaque client maintien une liste de noms de domaines. Si le nom spéficié
(nom émetteur) correspond à un nom rentré dans la
liste, le client passe à l'étape suivante.
3- Vérification de
la clé publique à partir de la signature. Le client vérifie
la validité de la signature (chiffrée avec la clé
privée) fournie dans le certificat grâce à la clé
publique qui a été fournie elle aussi dans le certificat.
A partir de ce point, le certificat du serveur est considéré
comme valable.
4-Vérification du
nom de domaine du serveur. Cette étape permet de vérifier
que le nom de domaine du serveur défini dans le certificat correspond
bien à la même adresse Internet. Cette étape n'est
pas obligatoire et dépend de l'implémentation du client SSL.
Elle permet cependant d'éviter qu'un usurpateur vienne jouer les
intermédiaires entre le client et le serveur et se fasse passer
pour l'un et l'autre auprès des deux entités. Vérifier
la validité du nom de domaine est le seul moyen d'éviter
ce genre de faille qui permet, dans ce cas, à la personne malveillante
d'intercepter les informations transitant pendant la négociation
et donc ultérieurement de prendre la place du client une fois cette
phase passée. Pour usurper l’identité du serveur, le pirate
devra également se procurer la clé privée du serveur.
5- Le serveur est maintenant
authentifié, la phase de négociation se poursuit.
En pratique
Si l’on observe les informations fournies par un navigateur quelconque sur une page SSL (https), on peut obtenir par exemple :
Les trames échangées
Demande de connexion au serveur sur le port 443 (SSL)
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:50:80:32:fa:1c
6 bytes Source Ethernet Address
00:00:b4:59:0b:79
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
48
2 bytes identification
0xe601
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 0 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
128
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0xa0a2
4 bytes source IP address
213.56.33.188
4 bytes destination IP address
195.42.250.4
28 bytes
TCP Header
2 bytes source port
1072 ( connection SYN (data) )
2 bytes destination port
443
4 bytes sequence number
444257
4 bytes acknowledgement number
0
4 bits header length (longwords)
7
6 bits reserved
0
6 bits Flags
0x2
0..... Urgent Offset is valid
FALSE
.0.... Acknowledgment number is valid
FALSE
..0... Pass without delay
FALSE
...0.. Reset connection
FALSE
....1. Synchronize sequence numbers
TRUE
.....0 Sender finshed sending data
FALSE
2 bytes window
65535
2 bytes checksum
0x1a9
2 bytes urgent pointer
0x0
1 byte Option Type
2 ( Maximum segment size )
1 byte Option Length
4
2 bytes Maximum segment size (MSS)
1460
1 byte Option Type
1 ( No operation )
1 byte Option Type
1 ( No operation )
2 bytes Unknown Option(s)
----------
Autorisation
de connexion accordée au client
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:00:b4:59:0b:79
6 bytes Source Ethernet Address
00:50:80:32:fa:1c
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
48
2 bytes identification
0xf3b
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 1 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
53
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0x8269
4 bytes source IP address
195.42.250.4
4 bytes destination IP address
213.56.33.188
28 bytes
TCP Header
2 bytes source port
443
2 bytes destination port
1072 ( connection SYN/ACK (data) )
4 bytes sequence number
3251071984
4 bytes acknowledgement number
444258
4 bits header length (longwords)
7
6 bits reserved
0
6 bits Flags
0x12
0..... Urgent Offset is valid
FALSE
.1.... Acknowledgment number is valid
TRUE
..0... Pass without delay
FALSE
...0.. Reset connection
FALSE
....1. Synchronize sequence numbers
TRUE
.....0 Sender finshed sending data
FALSE
2 bytes window
32120
2 bytes checksum
0x5667
2 bytes urgent pointer
0x0
1 byte Option Type
2 ( Maximum segment size )
1 byte Option Length
4
2 bytes Maximum segment size (MSS)
1460
1 byte Option Type
1 ( No operation )
1 byte Option Type
1 ( No operation )
2 bytes Unknown Option(s)
----------
Début
de communication
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:50:80:32:fa:1c
6 bytes Source Ethernet Address
00:00:b4:59:0b:79
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
40
2 bytes identification
0xe801
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 0 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
128
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0x9eaa
4 bytes source IP address
213.56.33.188
4 bytes destination IP address
195.42.250.4
20 bytes
TCP Header
2 bytes source port
1072 ( data )
2 bytes destination port
443
4 bytes sequence number
444258
4 bytes acknowledgement number
3251071985
4 bits header length (longwords)
5
6 bits reserved
0
6 bits Flags
0x10
0..... Urgent Offset is valid
FALSE
.1.... Acknowledgment number is valid
TRUE
..0... Pass without delay
FALSE
...0.. Reset connection
FALSE
....0. Synchronize sequence numbers
FALSE
.....0 Sender finshed sending data
FALSE
2 bytes window
65535
2 bytes checksum
0xa4
2 bytes urgent pointer
0x0
0 bytes data
----------
Le client envoie
ses paramètres SSL
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:50:80:32:fa:1c
6 bytes Source Ethernet Address
00:00:b4:59:0b:79
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
85
2 bytes identification
0xe901
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 0 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
128
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0x9d7d
4 bytes source IP address
213.56.33.188
4 bytes destination IP address
195.42.250.4
20 bytes
TCP Header
2 bytes source port
1072 ( data )
2 bytes destination port
443
4 bytes sequence number
444258
4 bytes acknowledgement number
3251071985
4 bits header length (longwords)
5
6 bits reserved
0
6 bits Flags
0x18
0..... Urgent Offset is valid
FALSE
.1.... Acknowledgment number is valid
TRUE
..1... Pass without delay
TRUE
...0.. Reset connection
FALSE
....0. Synchronize sequence numbers
FALSE
.....0 Sender finshed sending data
FALSE
2 bytes window
65535
2 bytes checksum
0x57d8
2 bytes urgent pointer
0x0
45 bytes data
----------
Le serveur envoie
ses paramètres et son certificat
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:00:b4:59:0b:79
6 bytes Source Ethernet Address
00:50:80:32:fa:1c
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
1064
2 bytes identification
0xf3d
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 1 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
53
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0x7e6f
4 bytes source IP address
195.42.250.4
4 bytes destination IP address
213.56.33.188
20 bytes
TCP Header
2 bytes source port
443
2 bytes destination port
1072 ( data )
4 bytes sequence number
3251071985
4 bytes acknowledgement number
444303
4 bits header length (longwords)
5
6 bits reserved
0
6 bits Flags
0x18
0..... Urgent Offset is valid
FALSE
.1.... Acknowledgment number is valid
TRUE
..1... Pass without delay
TRUE
...0.. Reset connection
FALSE
....0. Synchronize sequence numbers
FALSE
.....0 Sender finshed sending data
FALSE
2 bytes window
32120
2 bytes checksum
0x76b4
2 bytes urgent pointer
0x0
1024 bytes data = certificat
J
F 9a»a€~q ÍPm-[?›é}õ8¨PÃÓJ?ÄÇæÖ
x tSB+äÁÔ¸[?-ª: èZ &R¤Ê,[8~ø†q÷Ã
Ó Ï Ì É0‚ Å0‚ 2 q)Ô´_âc°
- »<„‚ê0*†H†÷ 0_10 U
US10- U RSA Data Security, Inc.1.0, U %Secure
Server Certification Authority0 - 990921000000Z 01004235959Z0?ë10
U FR1 0 U France10 U
Paris1;09 U 2www.certplus.com/RPA Incorp. By Ref.,LIAB.LTD(c)98
1%0# U Authenticated by Certplus SA1'0% U
-Member, VeriSign Trust Network 1 0 U Self Trade1 0
U www.selftrade.fr0?Ÿ0 *†H†÷
?? 0?‰ ?? ÖW†É>öGQ Å¢Ç )Ž¡,ÀnÂ?
?øü;¢ú-àŒÜ $Ó?Ê RN÷=f™
Kÿ\]À @÷ ×9SO›e‰zIwñ)ñØå
Š + 8†ÎSê|íÿÁ9v è;¥ÚÚ
»o-³ß Ø cÌ*yœ÷)N“ñ –-fo•ò¦Û¥
0 *†H†÷ ~ ?ÍE:uXÇWÈýÊjuD]Ù¥yµsxH:‰·l<lÞNÁM—AŽH#3»*ÿ‘ë
Ê? Ø#8 ˆ z¥þ
ØÏ…Îâ©C· $Nˆ¼9–¯Ï:
ØP‰¼g- ºùCœs)íòÈXærO
§ÛÁÅNQ öDÇKF%Ù³á
Q +÷Û2ÍXÞ ÍÉ@ÌÒÄ©ÍsÍ
À®@„ ̼? !1H.~nE Ô’ÌšõkÕ5÷=:ßmA?ÿ{
ßÖ· ©?‹@Z÷f”ä®îU
€Cù QwþÖy9n‚d÷ øËqM 9`zt íFšƒVS
¼ÊÄ !HþxŠNÁ  ÝÓï–
\@ º -[_¢ ÿ9 Ú?¦ã¸˜ :OŒ
2£a õ»<
[Í%?æ7?¿ › º¨’ú?€k ›òöös
p¾U³?¸× ¤Mô
----------
Demande de confirmation
du serveur
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:00:b4:59:0b:79
6 bytes Source Ethernet Address
00:50:80:32:fa:1c
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
42
2 bytes identification
0xf3e
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 1 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
53
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0x826c
4 bytes source IP address
195.42.250.4
4 bytes destination IP address
213.56.33.188
20 bytes
TCP Header
2 bytes source port
443
2 bytes destination port
1072 ( data )
4 bytes sequence number
3251073009
4 bytes acknowledgement number
444303
4 bits header length (longwords)
5
6 bits reserved
0
6 bits Flags
0x18
0..... Urgent Offset is valid
FALSE
.1.... Acknowledgment number is valid
TRUE
..1... Pass without delay
TRUE
...0.. Reset connection
FALSE
....0. Synchronize sequence numbers
FALSE
.....0 Sender finshed sending data
FALSE
2 bytes window
32120
2 bytes checksum
0x7ef4
2 bytes urgent pointer
0x0
6 bytes data
----------
Acquittement
du client
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:50:80:32:fa:1c
6 bytes Source Ethernet Address
00:00:b4:59:0b:79
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
40
2 bytes identification
0xeb01
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 0 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
128
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0x9baa
4 bytes source IP address
213.56.33.188
4 bytes destination IP address
195.42.250.4
20 bytes
TCP Header
2 bytes source port
1072 ( data )
2 bytes destination port
443
4 bytes sequence number
444303
4 bytes acknowledgement number
3251073011
4 bits header length (longwords)
5
6 bits reserved
0
6 bits Flags
0x10
0..... Urgent Offset is valid
FALSE
.1.... Acknowledgment number is valid
TRUE
..0... Pass without delay
FALSE
...0.. Reset connection
FALSE
....0. Synchronize sequence numbers
FALSE
.....0 Sender finshed sending data
FALSE
2 bytes window
65535
2 bytes checksum
0xfc74
2 bytes urgent pointer
0x0
0 bytes data
----------
Le client envoit
sa pré-clé secrète
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:50:80:32:fa:1c
6 bytes Source Ethernet Address
00:00:b4:59:0b:79
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
180
2 bytes identification
0xec01
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 0 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
128
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0x9a1e
4 bytes source IP address
213.56.33.188
4 bytes destination IP address
195.42.250.4
20 bytes
TCP Header
2 bytes source port
1072 ( data )
2 bytes destination port
443
4 bytes sequence number
444303
4 bytes acknowledgement number
3251073011
4 bits header length (longwords)
5
6 bits reserved
0
6 bits Flags
0x18
0..... Urgent Offset is valid
FALSE
.1.... Acknowledgment number is valid
TRUE
..1... Pass without delay
TRUE
...0.. Reset connection
FALSE
....0. Synchronize sequence numbers
FALSE
.....0 Sender finshed sending data
FALSE
2 bytes window
65535
2 bytes checksum
0x9b45
2 bytes urgent pointer
0x0
140 bytes data
----------
Le serveur et
le client ont désormais des clés de session à partir
de la clé secrète
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:00:b4:59:0b:79
6 bytes Source Ethernet Address
00:50:80:32:fa:1c
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
107
2 bytes identification
0xf3f
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 1 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
53
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0x822a
4 bytes source IP address
195.42.250.4
4 bytes destination IP address
213.56.33.188
20 bytes
TCP Header
2 bytes source port
443
2 bytes destination port
1072 ( data )
4 bytes sequence number
3251073011
4 bytes acknowledgement number
444443
4 bits header length (longwords)
5
6 bits reserved
0
6 bits Flags
0x18
0..... Urgent Offset is valid
FALSE
.1.... Acknowledgment number is valid
TRUE
..1... Pass without delay
TRUE
...0.. Reset connection
FALSE
....0. Synchronize sequence numbers
FALSE
.....0 Sender finshed sending data
FALSE
2 bytes window
32120
2 bytes checksum
0xdf19
2 bytes urgent pointer
0x0
67 bytes data
----------
Le client prévient
le serveur que les connexions vont désormais utiliser une clé
de session et met fin au protocole Handshake
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:50:80:32:fa:1c
6 bytes Source Ethernet Address
00:00:b4:59:0b:79
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
331
2 bytes identification
0xee01
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 0 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
128
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0x9787
4 bytes source IP address
213.56.33.188
4 bytes destination IP address
195.42.250.4
20 bytes
TCP Header
2 bytes source port
1072 ( data )
2 bytes destination port
443
4 bytes sequence number
444443
4 bytes acknowledgement number
3251073078
4 bits header length (longwords)
5
6 bits reserved
0
6 bits Flags
0x18
0..... Urgent Offset is valid
FALSE
.1.... Acknowledgment number is valid
TRUE
..1... Pass without delay
TRUE
...0.. Reset connection
FALSE
....0. Synchronize sequence numbers
FALSE
.....0 Sender finshed sending data
FALSE
2 bytes window
65468
2 bytes checksum
0x11e1
2 bytes urgent pointer
0x0
291 bytes data
----------
Envoi des données
HTTP sur SSL (HTTPS)
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:00:b4:59:0b:79
6 bytes Source Ethernet Address
00:50:80:32:fa:1c
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
1500
2 bytes identification
0xf40
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 1 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
53
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0x7cb8
4 bytes source IP address
195.42.250.4
4 bytes destination IP address
213.56.33.188
20 bytes
TCP Header
2 bytes source port
443
2 bytes destination port
1072 ( data )
4 bytes sequence number
3251073078
4 bytes acknowledgement number
444734
4 bits header length (longwords)
5
6 bits reserved
0
6 bits Flags
0x18
0..... Urgent Offset is valid
FALSE
.1.... Acknowledgment number is valid
TRUE
..1... Pass without delay
TRUE
...0.. Reset connection
FALSE
....0. Synchronize sequence numbers
FALSE
.....0 Sender finshed sending data
FALSE
2 bytes window
32120
2 bytes checksum
0xf2a
2 bytes urgent pointer
0x0
1460 bytes data
----------
Acquittement
du client
14 bytes
Ethernet Header
6 bytes Destination Ethernet Address
00:50:80:32:fa:1c
6 bytes Source Ethernet Address
00:00:b4:59:0b:79
2 bytes type
0x800 ( IP )
20 bytes
IP header
4 bits version
4
4 bits header length (longwords)
5
1 byte type of service
0x0
2 bytes total length
40
2 bytes identification
0xf101
3 bits Fragmentation Flags
1 bit 0 . . - Reserved
1 bit . 0 . - Don't Fragment (DF)
1 bit . . 0 - More Fragments (MF)
13 bits fragment offset
0x0
1 byte time to live
128
1 byte protocol
0x6 ( TCP )
2 bytes header checksum
0x95aa
4 bytes source IP address
213.56.33.188
4 bytes destination IP address
195.42.250.4
20 bytes
TCP Header
2 bytes source port
1072 ( data )
2 bytes destination port
443
4 bytes sequence number
444734
4 bytes acknowledgement number
3251074538
4 bits header length (longwords)
5
6 bits reserved
0
6 bits Flags
0x10
0..... Urgent Offset is valid
FALSE
.1.... Acknowledgment number is valid
TRUE
..0... Pass without delay
FALSE
...0.. Reset connection
FALSE
....0. Synchronize sequence numbers
FALSE
.....0 Sender finshed sending data
FALSE
2 bytes window
65535
2 bytes checksum
0xf4ce
2 bytes urgent pointer
0x0
0 bytes data
----------