tecnOlogia para tOdOs

-

HSM(Hardware Security Modules): Pequeña Introduccion

Publicado por TheRjR domingo, 16 de agosto de 2009

hardware



Los dispositivos HSM (Hardware Security Module), sirven de ayuda en entornos en los que hay una necesidad de tráfico cifrado. A grandes rasgos, permiten generar claves para certificados de clave pública, permitiendo rutinas con un grado de aleatoriedad muy alto, así como almacenar las contraseñas de acceso a determinados certificados.

Principalmente se pueden adquirir en dos formatos, o una tarjeta PCI que se "pincha" en el servidor concreto o un appliance al cuál se accede vía red para las operaciones criptográficas.



nethsm





Las causas por las que se hacen útiles estos dispositivos son dos: Seguridad y Rendimiento

Seguridad: En aquellos servidores web que llevan a cabo su actividad mediante el protocolo criptográfico SSL, los certificados de clave pública como el que contiene la clave privada (key) son almacenados en el sistema de ficheros del mismo. Evidentemente se ajustan los permisos de dichos ficheros para que sólo sean accesibles por el usuario que ejecuta el servidor Web (y evidentemente root) protegiendo lo máximo posible el acceso a dichos ficheros. Sin embargo, si dicho servidor se viese comprometido, sería posible sacar esos certificados fuera del mismo pudiendo suplantar el servidor por parte de un usuario malicioso dando lugar a un mega-phising (con certificado válido si además hacemos coincidir el nombre del dominio con el que aparece en el certificado original). Evidentemente, y por defecto, esto no es tan sencillo, puesto que además el certificado de clave privado está protegido mediante una clave. Al arranque del servidor web, o le metemos la contraseña mediante la entrada estándar o harcodeamos en algún otro fichero la contraseña del certificado privado o, lo configuramos sin contraseña. La otra opción, es utilizar un módulo HSM para custodiar dicha contraseña, como indicábamos antes. De esta manera, si el servidor es comprometido remotamente, pueden llevarse los certificados, pero no la contraseña que los protege, puesto que se encuentra en el HSM. De la misma forma, si no tenemos HSM configurado, la contraseña que protege el certificado, en algún momento se encuentra en memoria, de manera que haciendo un dump de la misma podemos dar con la contraseña. Utilizando módulos HSM, la contraseña no sale del dispositivo, sino que se le pasa el certificado cifrado mediante su API, y nos devuelve el resultado ya descifrado para poderlo utilizar por la aplicación en concreto.

Rendimiento: Además de permitir la generación y custodia de la contraseña de los certificados, efectúan las operaciones criptográficas, que suelen ser tareas que consumen muchísimos ciclos de CPU (debido a la necesidad de generar números primos de gran tamaño), mediante un procesador aparte especializado, de manera que libera al servidor de ese tipo de tareas. En general, la efectividad de los módulos HSM, es mayor en criptografía de clave pública (o asimétrica), que en criptografía simétrica. En las sesiones SSL se hace uso de ambos tipos de criptografía: al principio de la sesión se utiliza clave pública o asimétrica y una vez negociada la clave a utilizar, se utiliza clave simétrica como se ve en la siguiente figura.



handshak



Y alguien dirá, ¿y qué hay de la seguridad física? ¿y si me roban el servidor con HSM incluido (ya sea tarjeta o appliance)? Serían capaces de extraer de alguna forma la contraseña que protege el certificado privado, junto a los certificados del sistema de ficheros... Pues no. Una de las características de los dispositivos HSM es que han de ser tamper-resistant, de manera que si se fuerza la tarjeta para sacar la memoria donde se guarda la tarjeta, está se autodestruye y se borra evitando el compromiso.



Fuente

0 comentarios

Publicar un comentario

somos lo mejor

votanos


voten x la categoria tecnOlogia y ciencia !!amixitos ayudenos a ganar este trofeo !