Esta es una inmersión técnica profunda después de esta pregunta general .
¿Cuáles son las diferencias de protocolo entre SSL y TLS?
¿Existe realmente una diferencia suficiente para garantizar un cambio de nombre? (versus llamarlo "SSLv4" o SSLv5 para las versiones más nuevas de TLS)
Respuestas:
SSLv2 y SSLv3 son completamente diferentes (y ambos ahora se consideran inseguros). SSLv3 y TLSv1.0 son muy similares, pero tienen algunas diferencias.
Podría considerar TLSv1.0 como SSLv3.1 (de hecho, eso es lo que sucede dentro de los registros intercambiados). Es más fácil comparar el TLSv1.0 con TLSv1.1 y TLSv1.2 porque todos han sido editados dentro de IETF y siguen más o menos la misma estructura. SSLv3 está siendo editado por una institución diferente (Netscape), lo que hace que sea un poco más difícil detectar las diferencias.
Aquí hay algunas diferencias, pero dudo que pueda enumerarlas todas:
ClientHello
mensaje (primer mensaje enviado por el cliente, para iniciar el protocolo de enlace), la versión es{3,0}
para SSLv3,{3,1}
para TLSv1.0 y{3,2}
para TLSv1.1.ClientKeyExchange
difiere.Finished
mensaje SSL / TLS en SSLv3. En TLSv1, debe esperar elFinished
mensaje del servidor .SSL_*
aTLS_*
, manteniendo el mismo número de identificación).Recomiendo encarecidamente el libro de Eric Rescorla - SSL y TLS: Diseño y construcción de sistemas seguros , Addison-Wesley, 2001 ISBN 0-201-61598-3 , si realmente desea más detalles. He aprendido sobre algunos de los puntos mencionados anteriormente en este libro. El autor ocasionalmente menciona las diferencias entre SSLv3 y TLS (v1.0 solo en el momento en que se escribió el libro) cuando explica algunos de los mensajes SSL / TLS, pero necesita la explicación de fondo sobre estos mensajes para tener la oportunidad de entender ( y no es apropiado copiar / pegar de este libro aquí).
fuente
ClientHello
' registro extendido , mientras que los clientes solo SSL3 solo enviarían el original 'ClientHello
'.draft302.txt
y " En aras de la compatibilidad directa ... ", compare con las secciones 7.4.1.2 en las especificaciones de TLS). Para hacer frente a las pilas que no admiten esto, también hay soluciones como el pseudo cifrado de SCSV en la extensión de renegociación.Simplemente haré eco de las otras respuestas, pero quizás con un énfasis ligeramente diferente.
Había un protocolo de sockets seguros que era "propiedad" de Netscape que se llamaba SSL versión 2. Una nueva versión con una estructura de registro diferente y mejoras de seguridad también "propiedad" de Netscape se lanzó y se llamó SSL versión 3. Dentro del protocolo en varios lugares es un campo de número de versión binario. Para SSL versión 3, este campo se establece en 0x03 0x00, es decir, la versión 3.0. Luego, el IETF decidió crear su propio estándar. Posiblemente porque había algunas incertidumbres de propiedad intelectual sobre SSL, incluso si "SSL" era una marca comercial de Netscape, cuando el IETF lanzó la próxima versión de este protocolo, le dieron su propio nombre: Protocolo de seguridad de la capa de transporte o TLS versión 1.0. El formato de registro y la estructura general son idénticos y consistentes con SSL v3. El número de versión binaria se revirtió a 0x03 0x01, y como otros han notado, hubo algunos cambios criptográficos menores. Desde entonces ha habido TLS versión 1.1 y 1.2, para los cuales los números de protocolo interno son 0x03 0x02 y 0x03 0x03.
Ignorando SSLv2, fue básicamente un cambio de nombre junto con un ajuste de protocolo normal que ocurre a medida que las personas se vuelven más inteligentes sobre la seguridad y el rendimiento.
fuente
Básicamente, no es más que un cambio de nombre para una versión más nueva del protocolo. Creo que la razón principal de esto fue diferenciarlo del estándar informal más antiguo diseñado principalmente por Netscape después de que se convirtió en un protocolo oficial de seguimiento de estándares IETF.
Como se dijo en las respuestas a su pregunta anterior, esto no significa que SSLv3 y TLSv1.0 sean compatibles. Citando de RFC 2246:
Supongo que si realmente quieres saber las diferencias exactas en los protocolos, debes leer los estándares y compararte.
Borrador del protocolo SSLv3 de Netscape TLSv1.0 RFC 2246
fuente
El protocolo de cifrado SSL ahora se llama TLS, lo que da como resultado dos nombres para el mismo protocolo. El software actual negociará TLS versión 1 o SSL versión 3 automáticamente. Los humanos, por otro lado, tienen que decidir entre usar el término SSL más reconocible versus la designación TLS oficial.
SSL es el predecesor de TLS.
TLS y SSL encriptan los segmentos de las conexiones de red en la capa de aplicación para garantizar un tránsito seguro de extremo a extremo en la capa de transporte.
fuente
Diferencias:
fuente