Certificados de Seguridad SSL, funcionamiento, tipos y características

Publicado el en Artículos, Seguridad

Twitter5Google+2Facebook1LinkedIn3StumbleUpon0tumblrEmail

Los certificados de seguridad, mejor conocidos como SSL (Secure Sockets Layer), son un conjunto de protocolos criptográficos desarrollados en 1994 por Nestcape Communcations; su desarrollo inicial está basado en Criptografía Simétrica, Criptografía Asimétrica (de llave pública), certificados digitales y firmas digitales para conseguir, a través de una negociación, un canal seguro de comunicación entre dos puntos a nivel de socket (máquina + puerto). Básicamente, SSL proporciona autenticación y privacidad. Su uso puede darse en diferentes escenarios, dependiendo de algunos factores.

Podríamos decir que SSL se implementa como una capa más del modelo OSI y/o TCP/IP, entre la capa de aplicación y transporte, esto lo hace ser independiente de la aplicación que lo use. De esta forma, proporciona seguridad a la pila de protocolos cifrando los datos salientes de la capa de Aplicación antes de que estos sean segmentados en la capa de Transporte y encapsulados y enviados por las demás capas. Del mismo modo, se usa en la mayoría de los casos junto a HTTP para formar HTTPS, que es el protocolo usado para asegurar las conexiones Web.

En Expresión Binaria ya hemos publicado alguno que otro artículo referente a SSL como Principios teóricos y prácticos de auditoría SSL, Seguridad en el protocolo SSL-TLS, ataques al protocolo SSL, entre otros.

La idea de este artículo es tratar (en lo posible) de clarificar el uso de certificados de seguridad para sitios Web, la necesidad de estos, los tipos de certificados y los posibles pasos para su implementación; por lo tanto, me voy a saltar algunos puntos básicos de este protocolo para pasar de forma más directa a los certificados de seguridad en sitios Web.

¿Porque usar SSL?

El propósito de SSL es proporcionar seguridad a un sitio Web cifrando las comunicaciones entre el servidor (el equipo donde está corriendo el sitio Web) y el cliente (los equipos que visitan el sitio).

Para usar SSL se necesita un certificado SSL…¿cómo? si, esto sonó confuso, así que aclaremos que para eso estamos aquí y de forma “simple”: SSL es un conjunto de protocolos, el certificado de seguridad nos permite hacer uso de ese protocolo; también podríamos decir que los certificados nos permitirán cifrar las comunicaciones a través de SSL, pero tanto el protocolo como los certificados mismos forman parte de SSL. Este certificado debe estar instalado en el servidor, debe tener una dirección IP dedicada (fija) y los visitantes deben usar un navegador que soporte este protocolo y los certificados usados, que en la actualidad son casi todos (al menos los modernos).

SSL contiene un par de claves, una clave pública y una clave privada, así como información verificada sobre la identificación. Básicamente se trata de un archivo de datos, que está vinculado con los datos del sitio Web y el sistema de cifrado. Estos datos pueden ser su nombre de dominio, nombre de servidor y nombre de host; dependiendo del caso también se pueden usar otros datos como el nombre y la ubicación de la empresa. El cifrado no es otra cosa que un proceso (algoritmo) matemático, este es usado para codificar/decodificar la información; el cifrado nos garantiza que la información estará protegida durante su transferencia.

Como vemos, el proceso que hace SSL es de “autenticación”, que es verificar la identidad de un sitio Web; esta verificación la hace un tercero para poder garantizar la confianza.

Existen dos razones principales para querer usar SSL, la primera y posiblemente la más usada, es para el comercio electrónico y poder aceptar pagos en línea con tarjeta de crédito. Si el sitio Web maneja transacciones comerciales, en donde se trasmitan datos de tarjetas de crédito, cualquier banco y sus asociados exigirán el uso de certificados de seguridad, incluso esto está estandarizado como PCI DSS (Estándar de Seguridad de Datos para la Industria de Tarjeta de Pago). Es requerido por sistemas bancarios y de pago como Visa, MasterCard, Discover Network, American Express, Diners Club, etc.

En caso opuesto, si el sitio Web realiza comercio electrónico pero NO realiza procesos de pago de forma directa sino que se realizan a través de sistemas como Paypal, Amazon, etc entonces el uso de SSL no será obligatorio.

La segunda razón es para mantener segura la información confidencial que maneja el sitio Web; normalmente se usa para proteger los inicios de sesión y evitar que los nombres de usuario y contraseñas sean transmitidos en texto plano. Esto también se aplica en caso de que un sitio Web ofrezca servicios de correo, en donde datos de carácter personal son usados diariamente por los usuarios.

Hoy en día con el auge de los servicios en la nube (cloud computing) se estan implementando mucho más los certificados de seguridad para poder garantizar la confidencialidad e integridad de la información.

Los certificados SSL deben ser emitidos por un certificado raíz, de una Autoridad de certificación que sea de confianza. Este certificado raíz debe estar presente en el ordenador del usuario para que el certificado SSL sea confiable, caso contrario, el navegador mostrará al usuario un mensaje advirtiendo que el sitio Web presenta un certificado pero no es de confianza. En el caso del comercio electrónico, este tipo de errores inducen a perder la confianza por completo de un sitio Web.

Ahora bien, este tipo de alertas no necesariamente dice que el sitio Web no es de confianza, simplemente que el navegador no conoce/reconoce su certificado de seguridad. Por ejemplo, si yo creo un certificado SSL (con OpenSSL se podría hacer) porque no quiero o no puedo pagar uno, y este certificado ha sido emitido por Expresión Binaria, por muy robusto y seguro que este sea, es muy probable que los navegadores Web no lo reconozcan, repito no es porque carece de seguridad, es más bien por un asunto “protocolar y burocrático” ya que Expresión Binaria no es una Autoridad Certificadora. En un sitio Web de carácter personal esto quizás no sea un problema, pero en un portal comercial podría generar cierta desconfianza en los clientes.

Tipos de certificados de seguridad

Existen diferentes tipo de certificados SSL que se pueden usar en un sitio Web, creo que básicamente todo dependerá de las necesidades, gustos y capacidad monetaria que se tenga, pero principalmente dependerá de las necesidades.

Certificados compartidos (Shared Certificates)

Estos certificados por lo general son gratuitos, y son dados de esta forma para empresas de hospedaje Web como los revendedores (Hosting reseller) o en otros caso pueden ser generados de forma personal (usando OpenSSL por ejemplo) o a través de algún servicio que preste un sitio Web. Cumplen su función (de forma básica), pero el hecho de ser “compartidos” no los relaciona directamente con el nombre de dominio del sitio Web, esto provocará los mensajes de alerta de los que hablé antes. Creo que ese punto quedó claro, pero hagamos un ejemplo para ilustrarlo mejor: cuando un usuario visite mi sitio Web dominio.com se intentará verificar/autenticar a través del certificado de seguridad que está emitido por certdominio.com, esto generará “la desconfianza” ya que ambos dominios son diferentes.

Estos certificados son apropiados para asegurar la conexión con un sitio Web o el servidor de un sitio Web, pero no serán usados por el todos los visitantes. Por ejemplo, para ingresar en el área administrativa de tu sitio.

Los certificados compartido no son apropiados para el comercio electrónico, en estos casos se usan certificados privados, en donde el certificado esté relacionado/emparentado con el dominio.

Certificados de validación de nombre de dominio (Domain Validated Certificate)

Estos son los certificados SSL más básicos, se enfocan en validar solo el nombre de dominio (dominio.com). Es ideal para situaciones en las que los visitantes del sitio necesitan ingresar a zonas seguras, bien sea para ingresar datos personales (nombre de usuario, contraseña, email, etc) o realizar pagos con tarjetas de crédito. A diferencia de los certificados compartidos, estos no serán objeto de mensajes de advertencia por parte de los navegadores.

Estos certificados son apropiados para cualquier situación en donde se quiera asegurar la comunicación entre el sitio Web y sus visitantes, y pueden ser adquiridos por cualquier persona. Sus costos son bajos en la mayoría de los casos.

Certificados de validación de compañías (Company Validated Certificate)

Estos certificados son muy similares a los de validación de dominios, la diferencia es que para estos es necesario validar datos de la propia compañía y no solo su dominio. Más validación, más seguridad.

Desde un punto de vista de negocio y reputación, una compañía que use este tipo de certificado de seguridad, no solo esta validando su dominio (dominio.com) sino también su empresa. Esto es un poco “superficial” pero de alguna manera y hasta cierto punto, el hecho de que un tercero (asociación certificadora) valide la empresa (y no solo su dominio) generará mayor confianza a sus clientes. Es una cuestión de “reputación” si se quiere.

Certificado de validación extendido (Extended Validation Certificates – EV)

Estamos ante el “top” de los certificados. El proceso de verificación es aún mayor, se necesitarán verificar una buena cantidad de datos, tanto del sitio Web como de la empresa que lo administra, incluyendo cuestiones jurídicas. Tanto los requerimiento como los procedimientos son minuciosos.

La barra verde es exclusiva de este certificado. Les asegura a los visitantes que están ante una empresa/organización validada y asegurada. Además, un sitio protegido mediante este certificado hace que los navegadores web muestren el nombre de la organización junto a la barra de direcciones (en este caso verde) y al nombre de la autoridad de certificación que lo emitió. El navegador y la autoridad de certificación controlan la visualización, lo que hace que las técnicas de phishing sean más difíciles de aplicar.

Certificados Wildcard (Wildcard Certificates)

Estos certificados permiten usar un único certificado SSL para ser usado en múltiples subdominios. Por ejemplo, el certificado será usado para dominio.com, compras.dominio.com, contacto.dominio.com, etc.

Certificados Multi-dominio (Multi-Domain Certificates)

Estos son similares a los Wildcard, la diferencia es que en este caso son usados para dominios (y no subdominios). Por ejemplo, el certificado será usado para dominio.com, dominio.net, dominio.org, etc.

———-

En resumen:

  • Si tienes un sitio Web pequeño, pero necesitas usar inicios de sesión para administrarlo y deseas proteger tu información, puedes conseguir un certificado gratuito, lo tuyo es irte con un certificado compartido. En Internet puedes conseguir algunos servicios que ofrecen certificados de este tipo.  StarCom es uno de ellos. Recuerda que igualmente necesitas una IP dedicada.
  • Si tienes un sitio Web particular que utiliza inicios de sesión y/o pagos puedes usar una certificado de validación de dominios para proteger la información.
  • Si lo que tiene es un sitio dedicado al comercio electrónico, pagos con tarjetas, y es tu empresa la que administra todas las operaciones, puedes usar un certificado de validación de compañías.
  • Si tu empresa es aún mayor, que realiza grandes y continuas transacciones comerciales a través de Internet, puedes usar un certificado extendido.
  • Los certificados Wildcard y multi-dominio, se pueden aplicar a cualquiera de los antes mencionados, eso dependerá de las necesidades y/o requerimientos que cada uno posea; simplemente extiende la funcionalidad de SSL a otros dominios y subdominios.
  • Los más grandes distribuidores de certificados de seguridad hasta ahora son VeriSign y COMODO
Certificados de Seguridad SSL, funcionamiento, tipos y características 4.33/5 (86.67%) 3 votos

Tags: , , ,

Deje un comentario

Cuanto es 8 + 15 ?
Please leave these two fields as-is:
IMPORTANTE! Necesitas resolver la operación matemática para poder continuar.