La Transport Layer Security ( TLS ; en català «seguretat de la capa de transport») i la seva antecessora Secure Sockets Layer ( SSL ; en català «capa de sòcol segur»), són protocols criptogràfics que proporcionen comunicacions segures per una xarxa, generalment Internet. SSL està ja obsoletitzat per la IETF perquè es considera insegur, cal usar sempre TLS.

Descripció

SSL proporciona autenticació i privacitat de la informació entre extrems sobre Internet mitjançant l'ús de criptografia. Habitualment, només el servidor és autenticat (és a dir, es garanteix la seva identitat) mentre que el client es manté sense autenticar.

SSL implica una sèrie de fases bàsiques:

Durant la primera fase, el client i el servidor negocien quins algorismes criptogràfics s'utilitzaran. Les implementacions actuals proporcionen les següents opcions:

Funcionament

El protocol SSL intercanvia registres; opcionalment, cada registre pot ser comprimit, xifrat i empaquetat amb un codi d'autenticació del missatge (MAC). Cada registre té un camp de content_type que especifica el protocol de nivell superior que s'està usant.

Quan s'inicia la connexió, el nivell de registre encapsula un altre protocol, el protocol handshake , que té el content_type 22.

El client envia i rep diverses estructures handshake :

TLS/SSL posseeixen una varietat de mesures de seguretat:

Aplicacions

SSL s'executa en una capa entre els protocols d'aplicació com http, SMTP, NNTP i sobre el protocol de transport TCP, que forma part de la família de protocols TCP/IP. Encara que pugui proporcionar seguretat a qualsevol protocol que usi connexions de confiança (tal com TCP), es fa servir en la majoria dels casos al costat de http per formar httpS. httpS és usat per assegurar pàgines World Wide Web per a aplicacions de comerç electrònic, utilitzant certificats de clau pública per verificar la identitat dels extrems.

Encara que un nombre creixent de productes clients i servidors poden proporcionar SSL de forma nativa, molts encara no ho permeten. En aquests casos, els nostres usuaris és fer servir una aplicació SSL independent com Stunnel per proporcionar xifrat. Això no obstant, l'Internet Engineering Task Force va recomanar el 1997 que els protocols d'aplicació oferissin una forma d'actualitzar a TLS a partir d'una connexió sense xifrat (plaintext), en comptes d'usar un port diferent per xifrar les comunicacions - això evitaria l'ús d'embolcalls (wrappers) com Stunnel.

SSL també pot ser usat per tunelizar una xarxa completa i crear una xarxa privada virtual (VPN), com en el cas de OpenVPN.

Història i desenvolupament

Desenvolupat per Netscape, SSL versió 3.0 es va publicar el 1996, que més tard va servir com a base per a desenvolupar TLS versió 1.0, un estàndard protocol IETF definit per primera vegada en el RFC 2246. Visa, MasterCard, American Express i moltes de les principals institucions financeres han aprovat SSL per al comerç sobre Internet.

SSL[1] opera d'una manera modular: els seus autors el van dissenyar extensible, amb suport per compatibilitat cap endavant i cap enrere, i negociació entre les parts (peer-to-peer).

Primeres claus febles

Algunes primeres implementacions de SSL podien usar claus simètriques amb un màxim de només 40-bit a causa de les restriccions del govern dels Estats Units sobre l'exportació de tecnologia criptogràfica. Aquest govern va imposar una clau de 40-bit prou petita per a ser "trencada" per un atac de força bruta per les agències de seguretat nacional que desitgessin llegir el tràfic xifrat, alhora que representaven un obstacle per a atacants amb menys mitjans. Una limitació similar es va aplicar a Lotus Notes en versions per a l'exportació. Després de diversos anys de controvèrsia pública, una sèrie de plets, i el reconeixement del govern dels Estats Units de canvis en la disponibilitat en el mercat de 'millors' productes criptogràfics produïts fora del país, les autoritats van relaxar alguns aspectes de les restriccions d'exportació. La limitació de claus de 40-bit en la seva majoria ha desaparegut. Les implementacions modernes usen claus de 128-bit (o més) per claus de xifrat simètriques.

Estàndards

La primera definició de TLS va aparèixer en el RFC 2246: "The TLS Protocol Version 1.0" (El protocol TLS versió 1.0).

Altres RFC posteriors van estendre TLS:

TLS 1.1

TLS 1.1 clarifica algunes ambigüitats i afegeix cert nombre de recomanacions. TLS 1.1 és molt similar a TLS 1.0. La principal raó d'aquesta nova versió és un format modificat per a xifrat RSA anterior a l'ús de 'master secret', que és part del missatge d'intercanvi de claus del client (si es fa servir RSA), per utilitzar PKCS #1 versió 2.1, en detriment de PKCS #1 versió 1.5 en TLS 1.0. La raó d'aquest canvi és per protegir-se contra atacs descoberts per Daniel Bleichenbacher que podien llançar-se contra servidors TLS 1.0, usant PKCS #1 versió 1.5, que podrien fallar de diferents formes depenent de si el format desxifrat fos correcte o no. Aquest també inclou recomanacions per evitar atacs remots programats. TLS 1.1 està actualment implementat en el navegador Opera i en GnuTLS.

TLS 1.2 és la darrera versió aprovada i, de fet, l'única que es considera realment segura actualment.

TLS 1.3 és encara un esborrany, s'hi està treballant.

Referències

  1. «Secure Sockets Layer (SSL)», 10-05-2016. [Consulta: 11 maig 2016].

Bibliografia

Vegeu també

Enllaços externs

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Transport Layer Security