jueves, 5 de noviembre de 2015

Historia

SSL fue diseñado e implementado por Netscape Communications en los noventas para proveer a sus productos (su navegador y sus servidores) con la capacidad de abrir conexiones seguras entre ellos.
Desde entonces SSL se ha convertido en el estándar internacional de comunicaciones seguras ya que ha sido adoptado por bancos, gobierno y empresas. 

Funcionamiento

SSL opera mediante el intercambio de llaves entre el cliente y el servidor para poder descifrar la información que ha sido codificada por un cipher simetrico. Lo que esto significa es que los datos encriptados solo pueden ser desencriptados por el poseedor de la llave correcta.
La informacion que viaja por SSL puede ser encriptada con diferentes algoritmos simetricos, tipicamente DES, Triple DES, Rijndael, o IDEA. El termino simétrico en este caso implica que los datos que han sido encriptados, pueden ser desencriptados después (a diferencia de hashes como SHA1 o MD5 que solo son "hacia un lado"). 

Problemas de SSL

SSL intenta resolver tres problemas principales:
  1. Seguridad de la Información: SSL garantiza que terceros no tengan acceso a la información mientras viaja por internet al encriptarla.
  2. Integridad de los datos: La información recibida desde un servidor por SSL puede ser "validada" para comprobar que no ha sido alterada en la trayectoria.
  3. Autenticidad de los Datos: Mediante los algoritmos de encriptación, es posible comprobar que los datos realmente han llegado del servidor que el cliente espera. Esto evita que alguien se haga pasar por un sitio para cometer fraudes. (evitando ataques como Phishing, Man in the Middle, etc).
    Mediante el uso de certificados digitales avalados por autoridades certificadoras SSL incorpora una eslabon más en la cadena de confianza. (Ver siguiente sección).

 Variantes de SSL

Protocolo de seguridad ampliamente difundido. Es usado en la mayoría de los navegadores y servidores web (https) y en transferencias de comercio electrónico. Fue diseñado originalmente por Netscape en 1993. Existen variantes como TLS: transport layer security [RFC 2246]. Provee de confidencialidad, integridad y autenticación. Los objetivos originales eran:
  • Permitir el comercio electrónico en la Web
  • Cifrado (especialmente de números de tarjetas de credito)
  • Autenticación de servidores Web
  • Opcionalmente autenticación de clientes
  • Minimizar riesgos al hacer negocios con nuevos clientes
  • Disponible para toda conexión TCP
  • Interfaz de socket segura
kk

Como herramientas de cifrado tenemos:
  • Algoritmos de clave pública.
  • Algoritmo de cifrado simétrico.
  • Algoritmos MAC (Message Authentication Code)
SSL permite varios mecanismos de cifrado. El cliente y el servidor deberán de acordar el mecanismo de cifrado en una negociación. El cliente ofrecerá diferentes opciones y el servidor será quien elija entre las ofrecidas.
El propósito del Handshaking será el de autenticar al servidor, acordar el algoritmo de cifrado en la negociación, establecer las claves y autenticar al cliente:
  1. El cliente envía una lista de algoritmos que soporta, junto con un número de unicidad del cliente (para evitar la replicación de mensajes)
  2. El servidor elige un algoritmo de la lista.
  3. El servidor envía su elección, el certificado y el número de unicidad del servidor.
  4. El cliente verifica el certificado, extrae la clave pública del servidor, genera el “pre-master secret”, lo cifra con la clave pública de servidor y lo envía al servidor.
  5. El cliente y el servidor calculan independientemente las claves de cifrado y MAC a partir del “pre-master secret” y los números de unicidad (ambos comparten estas cuatro claves).
  6. El cliente envía un MAC de todos los mensajes de handshake.
  7. El servidor envía un MAC de todos los mensajes de handshake.
kk3

¿En qué casos se debe usar un certificado SSL?

Independientemente de la información que se esté transmitiendo (por ejemplo, desde un formulario alojado en su página web hasta su servidor), debería contar con un certificado SSL, ya que estos certificados no sirven simplemente para proteger transacciones de tarjetas de crédito. Cualquier tipo de información personal es confidencial y debe protegerse. Ya se trate de suscripciones a boletines de noticias o accesos a cuentas, debería contarse como mínimo con un certificado SSL para proteger los datos recogidos y enviados.

  • Para proteger las transacciones online con tarjetas de crédito.
  • Para ofrecer protección online para los accesos al sistema, la información confidencial transmitida a través de formularios web o determinadas áreas protegidas de páginas web.
  • Para proteger el correo web y las aplicaciones como el acceso web a Outlook o los servidores Exchange y Office Communications.
  • Para proteger los procesos de trabajo y la virtualización de aplicaciones como plataformas Citrix Delivery o las plataformas de cloud computing.
  • Para proteger la conexión entre un cliente de correo como Microsoft Outlook y un
    servidor de correo como Microsoft Exchange.
  • Para proteger la transferencia de archivos sobre https y servicios de FTP, como podrían ser las actualizaciones de nuevas páginas por parte de un propietario de una página web o la transmisión de archivos pesados.
  • Para proteger los accesos y la actividad en paneles de control como Parallels o cPanel entre otros.
  • Para proteger el tráfico en una intranet como es el caso de las redes internas, la función compartir archivos, las extranets o las conexiones a bases de datos.
  • Para proteger los accesos a redes y cualquier otro tráfico de red con VPNs de SSL como podrían ser los servidores de acceso VPN o las aplicaciones como Citrix Access Gateway

 

No hay comentarios:

Publicar un comentario