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:-
Seguridad de la Información:
SSL garantiza que terceros no tengan acceso a la información
mientras viaja por internet al encriptarla.
-
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.
-
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
Como herramientas de cifrado tenemos:
- Algoritmos de clave pública.
- Algoritmo de cifrado simétrico.
- Algoritmos MAC (Message Authentication Code)
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:
- 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)
- El servidor elige un algoritmo de la lista.
- El servidor envía su elección, el certificado y el número de unicidad del servidor.
- 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.
- 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).
- El cliente envía un MAC de todos los mensajes de handshake.
- El servidor envía un MAC de todos los mensajes de handshake.
¿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