HTTPS – actualización inevitable

HTTPS_google

Recientemente se realizaron algunas publicaciones que involucran a este protocolo que vale la pena mencionar y detallar un poco con el objetivo de aclarar ciertas dudas que pudieran surgir.

La primer publicación sobre el tema la realizó Microsoft a finales del año pasado donde indica que eventualmente ya no aceptará certificados X.509 que hayan sido generados con SHA-1 como algoritmo de verificación de integridad tanto para HTTPS como para firma de código. Además de ello propone que ahora se utilice el algoritmo SHA-2. Algo que sabemos ya es necesario debido a las vulnerabilidades que presenta actualmente SHA-1.

El primer pensamiento que viene a la mente con esta publicación es: qué ocurriría si el día de hoy se aplicaran estos cambios en su plataforma? La respuesta es sencilla: quedarían prácticamente inaccesibles más del 99% de los sitios de Internet que utilizan HTTPS. Lo que pone a pensar un poco en la complejidad del cambio y en todas las partes que deben involucrarse para llevar a cabo esta “migración de algoritmo” de forma satisfactoria.

Alrededor de esta publicación diversas empresas de tecnología decidieron unirse a la adopción del algoritmo SHA-2 en los certificados además de aprovechar para “empujar” a los usuarios a utilizar, ya de manera regular, el protocolo HTTPS con un comunicado que hizo Google en su blog anunciando que le dará preferencia en los resultados de las búsquedas a aquellas páginas que tengan HTTPS configurado.

Esto sin lugar a duda obligará a adoptar ciertas prácticas y a adquirir nuevos servicios para los que tienen un servicio básico de hosting con algún proveedor, por ejemplo:

  • IP dedicada (no compartida): requerida para el 90% de los sitios con HTTPS. El costo varía por proveedor pero lo pueden encontrar desde unos $30 – $40 USD por año.
  • Certificado SSL: Obligatorio para habilitar HTTPS en el sitio. Sus costos varían mucho por CA emisora pero en StartSSL pueden incluso encontrar los más básicos de forma gratuita.

Otro de los temas que recientemente ha sonado relacionado con HTTPS son los warnings que Google comenzará a mostrar en su navegador Chrome en unas semanas en donde los sitios bajo HTTPS donde sus certificados hayan sido emitidos con el algoritmo SHA-1 serán puestos en evidencia por medio de una pequeña advertencia que se hará visible en la barra de direcciones. Esta advertencia se irá agravando poco a poco con los meses hasta llegar a indicarle al usuario que no es más un sitio seguro [imagen al principio].

El post completo con las versiones en las cuales ocurrirán estos cambios lo pueden encontrar aquí.

No será de sorpresa que otros navegadores y empresas se comiencen a sumar a esta causa sobre todo aquellas con una buena consciencia en seguridad informática.

Del lado de desarrollo también se requiere cierto esfuerzo ya que al estar actualizado un sitio HTTPS con un certificado ya con SHA-2, si un desarrollador requiere conectarse por HTTPS a ese sitio para descargar un recurso, el desarrollador debe asegurarse que la tecnología que esté utilizando cuenta ya con el soporte PKI completo ya con SHA-2 en la verificación de los certificados, de otra forma no será posible hacer la conexión. Si tecnologías como Java, FlashPlayer, .NET framework, PHP (OpenSSL), entre otras, son empleadas para realizar esta conexión pudieran existir problemas y habrá que validar desde qué versión es soportado el algoritmo SHA-2 para validación de certificados en HTTPS.

El mismo problema estará ocurriendo para clientes más ligeros que los navegadores comunes y tecnologías con soporte limitado para PKI. Ellos, de forma obligada, deben agregar el soporte para SHA-2 lo antes posible ya que si no lo hacen quedarán rezagados inevitablemente.

Como recomendación final es importante ir actualizando sus certificados que hoy en día tengan instalados y configurados ya en sus sitios. Para actualizarlos bastará con acceder al portal de la entidad certificadora (CA) donde adquirieron sus certificados (Trustwave, Verisign, GeoTrust, Entrust, Digicert, etc.) y solicitar una re-emisión del certificado (no tendrá costo en la mayoría de los casos). Probablemente el CA les solicite un nuevo archivo .csr (el cual es recomendable que entreguen) y solicitarlo con la opción de SHA-2 como algoritmo de verificación. Esto provocará que les sean entregados nuevos certificados (incluyendo el certificado intermedio del CA) mismos que deberán actualizar en sus servidores. Tomen en cuenta el target al cual va dirigido el sitio que están actualizando ya que si son clientes ligeros los que se conectan comúnmente podrían imposibilitarles el acceso si aún no cuentan con ese soporte comentado.