viernes, 22 de junio de 2012

SSL 2048 bits Mejores Prácticas

SSL siglas del protocolo desarrollado por Netscape que significa Secure Socket Layer, este protocolo se utiliza para garantizar la integridad, autententicidad  y confidencialidad en la transmisión de datos a través de la red.

Esto se consigue gracias al cifrado de datos que ocurre antes de que se inicie la tranmisión, esto se ha vuelto cada día mas necesario para los sitios webs y las transacciones seguras en internet.
En la actualidad ya no es suficiente asegurar las páginas de ingreso al sistema (Login Pages) o las páginas que involucran el pago en línea (checkout pages) las compañias deben expandir el uso de SSL para proteger toda la sesión de usuario (Everywhere o Always On SSL). Tomese como ejemplo de esto, Google,®,Gmail® que ahora encriptan el 100% de sus páginas y Facebook® que ofrece a los usuarios la opción de encriptar todas sus páginas utilizando SSL.
Adicionalmente al uso de SSL otro factor a considerar es la "fuerza" de la encriptación (Esta se determinar por el tamaño de la llave),  las aplicaciones actuales deben migrar de 1024 bits a 2048 bits, lo que trae consigo mayor seguridad, pero incrementa el nivel de procesamiento entre 5-30 veces más que cuando se utiliza una llave de 1024 bits.
Desempeño vs. Seguridad SSL
  
A pesar del incremento en el procesamiento las empresas deben actualizar su infraestructura SSL y utilizar una llave de 2048 bits, de hecho el U.S. National Institute of Standards and Technology (NIST), a emitido una notificación de seguridad (NIST Special Publication 800-131B) que recomienda que las organizaciones dejen de utilizar una llave de 1024 bits entre 2011 a 2013.

Impacto al desempeño de la aplicación al utilizar llaves de 2048 bits

A grandes rasgos el proceso realizado por SSL se puede dividir en dos fases
  1. Negociación de la sesión
  2. Encriptación/Decriptación de datos

En la fase de negociación de sesión (SSL handshake), se establece la conexión, se negocia el cifrado a utilizarse, se asigna el ID de sesión y se generan e intercambias las llaves de sesión.  Luego de concluida esta fase se inicia la transferencia de datos, incluida la encriptación/decriptación de los mismos entre el cliente y el servidor. Hay que hacer notar de que la fase de transferencia es mucho menos intensiva en cpu que la fase de negociación de sesión.

Anatomia Sesión SSL

 Entender la distinción entre la fase de negociación y la fase de encriptación es crucial para parecia como la seguridad de SSL puede impactar el desempeño de la aplicación web. Para cualquier aplicación o infraestructura, el número de nuevas sesiones que pueden ser soportadas en un periodo especifico (Medida como Trasacciones SSL por Segundo TPS por sus siglas en ingles) es una medida crítica.

El TPS se impactado directamente por el tamaño de la llave SSL. Al duplicar la llave de 1024-bits a 2048-bits, se requiere una capacidad de procesamiento mayor entre 5 a 30 veces más de la que es requerida para certificados de 1024-bits.

Impacto Desempeño llave 2048 bits


Mejores Practicas

Preparando la infraestructura para certificados SSL de 2048-bits

  1. Envie la carga del establecimiento de sesion y la encriptación de de datos a un ADC (Applicacion Delivery Controller), como por ejemplo Citrix Netscaler ®. Los ADC de alto desempeño integran acelaración SSL por hardware y es capaz de manejar mas TPS para un servidor de proposito general
  2. Asegurese que todos los elementos que terminen tráfico SSL, tengan la capacidad de procesamiento necesaria para soportar niveles mayores de encriptación.
  3. Realice una auditoria de certificados SSL que esten actualmente en uso. Aquellos que expiran antes, se van a necesitar renovar primero y su autoridad certificadora puede forzar que la renovación se realice con 2048-bits
  4. Evalue el requerimiento de desempeño actual de SSL en su red y aplicaciones. Mas alla de medir la capacidad actual de tráfico, se debe extrapolar crecimiento historico de tráfico por lo menos para tres años adicionales. La meta es diseñar la infraestructura para poder satisfacer requerimientos actuales y futuros.
  5. No se enfoque solamente en las medidas de tráfico SSL. Lo que imparta evaluar es la cantidad de transacciones SSL por segundo (TPS). Asegurese que cada componente este optimizado para la llave de 2048-bits.
  6. Inicie evaluación con certificados para aplicaciones menos críticas. Existen certificados de pruebas para desarrollo disponibles de Symantec.
  7. Cambie a certificados de 2048-bits. Llaves mayores se requieren solo en circunstancias excepcionales
  8. Para aplicaciones sensibles, reencripte la comunicación entre el ADC y el servidor back-end de la infraestructura. Esto provee encriptación punto a punto que puede ser requerido en algunos ambientes. Todos las soluciones ADC actuales soportan re-encriptación SSL.
  9. Mida el desempeño desde el lado del usuario, antes, durante y luego de la transición a 2048-bits.


No hay comentarios:

Publicar un comentario