Transport Layer Security

Transport Layer Security
Pile de protocoles
7.  Application
6.  Présentation
5.  Session
4.  Transport
3.  Réseau
2.  Liaison
1.  Physique
Modèle Internet
Modèle OSI

Transport Layer Security (TLS), anciennement nommé Secure Sockets Layer (SSL), est un protocole de sécurisation des échanges sur Internet, développé à l'origine par Netscape (SSL version 2 et SSL version 3). Il a été renommé en Transport Layer Security (TLS) par l'IETF suite au rachat du brevet de Netscape par l'IETF en 2001. Le groupe de travail correspondant à l'IETF a permis la création des RFC 2246 pour le TLS et RFC 4347 pour son équivalent en mode datagramme, le DTLS. Depuis son rapatriement par l'IETF, le protocole TLS a vécu deux révisions subséquentes : TLSv1.1 décrite dans la RFC 4346 et publiée en 2006 et TLSv1.2, décrite par la RFC 5246 et publiée en 2008.

Il y a très peu de différences entre SSL version 3 et TLS version 1 (qui correspond à la version 3.1 du protocole SSL) rendant les deux protocoles non interopérables. TLS a tout de même mis en place un mécanisme de compatibilité ascendante avec SSL. En outre, TLS diffère de SSL pour la génération des clés symétriques. Cette génération est plus sécurisée dans TLS que dans SSLv3 dans la mesure où aucune étape de l'algorithme ne repose uniquement sur MD5 pour lequel sont apparues des faiblesses en cryptanalyse.

Par abus de langage, on parle de SSL pour désigner indifféremment SSL ou TLS.

TLS fonctionne suivant un mode client-serveur. Il fournit les objectifs de sécurité suivants :

  • l'authentification du serveur ;
  • la confidentialité des données échangées (ou session chiffrée) ;
  • l'intégrité des données échangées ;
  • de manière optionnelle, l'authentification ou l'authentification forte du client avec l'utilisation d'un certificat numérique ;
  • la spontanéité, c'est-à-dire qu'un client peut se connecter de façon transparente à un serveur auquel il se connecte pour la première fois ;
  • la transparence, qui a contribué certainement à sa popularité : les protocoles de la couche d'application n'ont pas à être modifiés pour utiliser une connexion sécurisée par TLS. Par exemple, le protocole HTTP est identique, que l'on se connecte à un schème http ou https.

Sommaire

Présentation

Avec le développement d'Internet, de nombreuses sociétés commerciales commencent à proposer des achats en ligne pour les particuliers. L'offre se met à croître régulièrement, mais le chiffre d'affaires dégagé par le commerce électronique restera encore modeste, tant que les clients n'auront pas une confiance totale dans le paiement par carte bancaire. Une des façons de sécuriser ce paiement est d'utiliser des protocoles d'authentification et de chiffrement tels que TLS.

La première version de SSL parue, la SSL 2.0, possédait un certain nombre de défauts de sécurité, parmi lesquels la possibilité de forcer l'utilisation d'algorithmes de chiffrement plus faibles, ou bien une absence de protection pour la prise de contact et la possibilité pour un attaquant d'exécuter des attaques par troncature[1]. Les protocoles PCT 1.0, puis SSL 3.0, furent développés pour résoudre la majeure partie de ces problèmes, le second devenant rapidement le protocole le plus populaire pour sécuriser les échanges sur Internet.

Avec un système SSL/TLS, la sécurité a été sensiblement améliorée, et les risques pour le client minimisés. Le degré de confiance à placer dans cette technologie, doit être comparé aux solutions de paiement par chèque ou par mandat. Dans celles-ci, d'après différentes études, le risque est près de 20 fois supérieur au risque lié à la toute première version de SSL. De plus il est à noter que les distributeurs bancaires courants utilisent presque tous cette même technologie pour faire transiter les informations vers la banque, et utilisent parfois même une version plus ancienne de SSL que les sites de e-commerce actuels, ce qui tend à prouver la fiabilité de cette solution.

La session chiffrée est utilisée généralement lors de l'envoi du numéro de carte bancaire, mais elle peut l'être dans d'autres cas. Le chiffrement est réalisé par à la fois un chiffrement asymétrique (qui va permettre une authentification), comme par exemple l'algorithme RSA, et à la fois par un chiffrement symétrique (qui est plus léger à réaliser qu'un chiffrement asymétrique) et qui va assurer la transmission des informations (comme par exemple le AES). On y adjoint une fonction de hachage, comme le SHA-1, pour s'assurer que les données sont transmises sans être corrompues.

En 2009, TLS est utilisé par la plupart des navigateurs Web. On reconnaît qu'une transaction est chiffrée lorsqu'une clé ou un cadenas fermé s'affiche dans un coin inférieur de l'écran ainsi qu'à gauche dans la barre d'adresse[2], l'adresse commence par https://...

Fonctionnement

modèle OSI              pile de protocoles                
7 - couche application HTTP, SMTP, FTP, SSH, IRC, SNMP, SIP ...
6 - couche de présentation
5 - couche de session TLS, SSL, NetBIOS
4 - couche de transport TCP, UDP, SCTP, RTP, DCCP ...
3 - couche réseau IPv4, IPv6, ARP, IPX ...
2 - couche de liaison Ethernet, 802.11 WiFi, Token ring, FDDI, ...
1 - couche physique Câble, fibre optique, ondes radio...

Dans la pile de protocole TCP/IP, SSL se situe entre la couche application (comme HTTP, FTP, SMTP, etc.) et la couche transport TCP.
Son utilisation la plus commune reste cependant en dessous de HTTP. Le protocole SSL est implémenté par la couche session de la pile, ce qui a deux conséquences :

  • pour toute application existante utilisant TCP, il peut exister une application utilisant SSL. Par exemple, l'application HTTPS correspond à HTTP au-dessus de SSL ;
  • une application SSL se voit attribuer un nouveau numéro de port par l'IANA. Par exemple HTTPS est associé au port 443.

Navigateurs web

La plupart des navigateurs web gèrent parfaitement SSLv2, SSLv3 & TLS v1.0 (ce dernier n'étant pas activé par défaut sous Internet Explorer 6). Cependant, SSLv2 est désactivé par défaut dans Internet Explorer 7[3], ce qui obligerait la plupart des vendeurs en ligne à modifier la configuration de leurs serveurs (modification somme toute minime), comme le fait remarquer cet (fr) article de ZDNet.fr. Une extension pour Firefox est maintenue conjointement par le projet Tor et l'EFF depuis 2010[4].

Authentification du client SSL par certificat numérique

Fichier:Client-ssl-auth.png
Aperçu du fonctionnement de l'authentification client SSL

Dans la majorité des cas, l'utilisateur authentifie le serveur TLS sur lequel il se connecte. Cette authentification est réalisée par l'utilisation d'un certificat numérique X.509 délivré par une autorité de certification (AC). Mais de plus en plus d'applications web utilisent maintenant l'authentification du poste client en exploitant TLS. Il est alors possible d'offrir une authentification mutuelle entre le client et le serveur. Le certificat client peut être stocké au format logiciel sur le poste client ou au format matériel (carte à puce, token USB) pour augmenter la sécurité du lien TLS. Cette solution permet d'offrir des mécanismes d'authentification forte.

Attaques

En 2001, Serge Vaudenay découvre une attaque par canal auxiliaire contre SSL. Cette attaque profite d'une mauvaise implémentation du remplissage qui est utilisé lorsque les entrées ont une taille variable. Le mode de chiffrement CBC (cipher block chaining) consiste à diviser les données en plusieurs blocs de même taille et à les chiffrer de manière chaînée (le résultat précédent est utilisé lors du chiffrement suivant). L'attaque de Vaudenay utilise les temps de réponse des serveurs en cas d'erreurs lors du remplissage. Avec un peu de chance, il est possible de découvrir les dernières données qui ont été envoyées et de les récupérer. L'attaque est toutefois inopérante avec un chiffrement de type RC4 et n'est valable que sous certaines conditions. Elle a malgré tout été utilisée avec succès contre certains « webmails » qui envoient plusieurs fois les mêmes données. Suite à cette attaque, le standard a été mis à jour.

Cette attaque est maintenant totalement dépassée et ne peut plus du tout être utilisée.

Le 30 juillet 2009, lors de la conférence Black Hat de Las Vegas, de nombreuses failles de sécurité du protocole SSL ont été dévoilées[5]. Plus d'informations ici, et .

Sécurisation du protocole

Le protocole TLS permet de créer un tunnel entre un ordinateur et un serveur. Ce tunnel sécurisé permet un échange d'informations en contournant les dispositifs de sécurité installés pour un serveur ou un ordinateur. Passant outre les systèmes de protection il est alors possible que des actions malveillantes soient menées au travers du point d'entrée du tunnel. Afin de limiter les risques, il est techniquement possible de filtrer les contenus d'un tunnel TLS par la mise en place d'un dispositif qui authentifie le client et le serveur. Deux tunnels sont alors mis en place, un depuis le client vers le dispositif d'authentification et le second du dispositif vers le serveur. Ce système permet alors une analyse et une sécurisation transparente des contenus transférés par le tunnel TLS[6].

Textes de référence

Le premier texte formel définissant le protocole TLS est la RFC 2246 publiée par l'IETF en 1999.

D'autres textes ont suivi sur ce protocole :

Références

Bibliographie

  • (en) Eric Rescorla, SSL and TLS, Designing and Building Secure Systems, Addison Wesley, 2001.

Voir aussi

Articles connexes

Liens externes



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Transport Layer Security de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • Transport Layer Security — (TLS) and its predecessor, Secure Sockets Layer (SSL), are cryptographic protocols that provide secure communications on the Internet for such things as web browsing, e mail, Internet faxing, instant messaging and other data transfers. There are… …   Wikipedia

  • Transport layer security — Pile de protocoles 7 • Application 6 • Présentation 5 • Session 4 • T …   Wikipédia en Français

  • Transport Layer Security — Para otros usos de este término, véase TLS. Secure Sockets Layer (SSL; protocolo de capa de conexión segura) y su sucesor Transport Layer Security (TLS; seguridad de la capa de transporte) son protocolos criptográficos que proporcionan… …   Wikipedia Español

  • Transport Layer Security — SSL im TCP/IP Protokollstapel Anwendung HTTPS IMAPS POP3S SMTPS ... Transport SSL/TLS TCP Intern …   Deutsch Wikipedia

  • Transport Layer Security — TLS (англ. Transport Layer Security)  криптографический протокол, обеспечивающий защищённую передачу данных между узлами в сети Интернет. TLS протокол основан на Netscape TLS Working Group, основанная в 1996 году, продолжает работать над… …   Википедия

  • transport layer security — TLS protokolas statusas T sritis informatika apibrėžtis ↑Transporto lygmens protokolas, skirtas saugumui užtikrinti TCP/IP tinkluose. Reglamentuoja abipusį tapatumo nustatymą tarp ↑kliento ir ↑serverio, kad būtų užtikrintas ↑šifruotas ryšys tarp… …   Enciklopedinis kompiuterijos žodynas

  • Transport Layer Security — SSL (Secure Sockets Layer) es un protocolo diseñado por la empresa Netscape Communications, que permite cifrar la conexión, incluso garantiza la autenticación. Se basa en la criptografía asimétrica y en el concepto de los certificados. La versión …   Enciclopedia Universal

  • Datagram Transport Layer Security — Saltar a navegación, búsqueda Datagram Transport Layer Security (DTLS) es un protocolo que proporciona privacidad en las comunicaciones para protocolos de datagramas. Este protocolo permite a las aplicaciones cliente/servidor comunicarse de… …   Wikipedia Español

  • Wireless Transport Layer Security — (WTLS) is a security protocol, part of the Wireless Application Protocol (WAP) stack. It sits between the WTP and WDP layers in the WAP communications stack.OverviewWTLS is derived from TLS. WTLS uses similar semantics adapted for a low bandwidth …   Wikipedia

  • Multiplexed Transport Layer Security — In information technology, the Transport Layer Security (TLS) protocol provides connection security with mutual authentication, data confidentiality and integrity, key generation and distribution, and security parameters negotiation. However,… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”