Outils pour utilisateurs

Outils du site


Ceci est une ancienne révision du document !


TLS1.3

 TLS 1.3 encore avec HTTPS Même manipulation qu'à la page précédente, mais ici nginx est autorisé à utiliser YLS1.3.

  1. Le client commence par envoyer non seulement le ClientHello et la liste des chiffrements pris en charge, mais il tente également de deviner l'algorithme d'échange de clés que le serveur choisira et envoie une clé de partage correspondante.

  2. Le serveur envoie le ServerHello, sa clé de partage, le certificat et le message Finished.

  3. Le client reçoit ces informations, génère les clés à partir de la clé de partage, vérifie le certificat et le message Finished, et est immédiatement prêt à envoyer la requête HTTP, après un seul aller-retour.

Les étapes sont plus condensées, ce qui permet de gagner du temps lors de la transaction.

Dialogue client/serveur

même Wireshark, mêmes adresses IPv6.

Client Hello

C'est le même que précédemment, avec ici les lignes en bleu italique qui prennent du sens:

Transport Layer Security
    TLSv1.3 Record Layer: Handshake Protocol: Client Hello
    ...
        Handshake Protocol: Client Hello
            ...
            Cipher Suites (17 suites)
                Cipher Suite: TLS_AES_128_GCM_SHA256 (0x1301)
                Cipher Suite: TLS_CHACHA20_POLY1305_SHA256 (0x1303)
                Cipher Suite: TLS_AES_256_GCM_SHA384 (0x1302)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)
                Cipher Suite: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
                Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
                Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)
                Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
                Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
            ...
            Extension: key_share (len=1327)
                Type: key_share (51)
                Length: 1327
                Key Share extension
                    Client Key Share Length: 1325
                    Key Share Entry: Group: Unknown (4588), Key Exchange length: 1216
                        Group: Unknown (4588)
                        Key Exchange Length: 1216
                        Key Exchange: 5bfb3a1f7278129c6820110440c4233c5c27b4e270c0c07a24ba90bdab0c5ac5900c8b7c…
                    Key Share Entry: Group: x25519, Key Exchange length: 32
                        Group: x25519 (29)
                        Key Exchange Length: 32
                        Key Exchange: 408f3eb90715584d04d0fce4037155deb6897a3fbef56fa9c80d6cf1b33cc938
                    Key Share Entry: Group: secp256r1, Key Exchange length: 65
                        Group: secp256r1 (23)
                        Key Exchange Length: 65
                        Key Exchange: 04a090373835f3bd66bd236ac4fa04d525c4eec796554a3efd9b3c005301ce9625fbe942…
            Extension: supported_versions (len=5)
                Type: supported_versions (43)
                Length: 5
                Supported Versions length: 4
                Supported Version: TLS 1.3 (0x0304)
                Supported Version: TLS 1.2 (0x0303)
            Extension: signature_algorithms (len=24)
                Type: signature_algorithms (13)
                Length: 24
                Signature Hash Algorithms Length: 22
                Signature Hash Algorithms (11 algorithms)
                    Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
                    Signature Algorithm: ecdsa_secp384r1_sha384 (0x0503)
                    Signature Algorithm: ecdsa_secp521r1_sha512 (0x0603)
                    Signature Algorithm: rsa_pss_rsae_sha256 (0x0804)
                    Signature Algorithm: rsa_pss_rsae_sha384 (0x0805)
                    Signature Algorithm: rsa_pss_rsae_sha512 (0x0806)
                    Signature Algorithm: rsa_pkcs1_sha256 (0x0401)
                    Signature Algorithm: rsa_pkcs1_sha384 (0x0501)
                    Signature Algorithm: rsa_pkcs1_sha512 (0x0601)
                    Signature Algorithm: ecdsa_sha1 (0x0203)
                    Signature Algorithm: rsa_pkcs1_sha1 (0x0201)
            Extension: psk_key_exchange_modes (len=2)
                Type: psk_key_exchange_modes (45)
                Length: 2
                PSK Key Exchange Modes Length: 1
                PSK Key Exchange Mode: PSK with (EC)DHE key establishment (psk_dhe_ke) (1)
...

Server Hello

Transport Layer Security
    TLSv1.3 Record Layer: Handshake Protocol: Server Hello
        Content Type: Handshake (22)
        Version: TLS 1.2 (0x0303)
        Length: 1210
        Handshake Protocol: Server Hello
               ...
            Cipher Suite: TLS_AES_128_GCM_SHA256 (0x1301)
            ...   
            Extension: key_share (len=1124)
                Key Share extension
                    Key Share Entry: Group: Unknown (4588), Key Exchange length: 1120
                        Group: Unknown (4588)
                        Key Exchange Length: 1120
                        Key Exchange: d24f2df9c0d50faac4cf6ff1056a2d142ca9f083965bbe4b463d61f6cc7d3270dc4ab10c…
    ... 
    TLSv1.3 Record Layer: Handshake Protocol: Certificate
        ...
        [Content Type: Handshake (22)]
        Handshake Protocol: Certificate
            Handshake Type: Certificate (11)
    ...
    ...
    ...
    TLSv1.3 Record Layer: Handshake Protocol: Certificate Verify
        Handshake Protocol: Certificate Verify
            Signature Algorithm: ecdsa_secp256r1_sha256 (0x0403)
            Signature: 304502200844b6c636d5aca69a80b89a325b0bf07aa4bf0b01c4879315ceec47883558a7…
    TLSv1.3 Record Layer: Handshake Protocol: Finished
...
Ici le serveur sélectionne une suite cryptographique différente, spécifique à TLS1.3, il envoie au client sa clé publique, son certificat signé.

L'échange TLS1.3 est terminé.

En résumé: Dernière modification le: 14/06/2026 à 14:37 par prof