Seguimos con la serie de entradas relacionada con los certificados y firma digitales. En este punto, nos vamos a centrar en una parte fundamental de la infraestructura necesaria para la generación y custodia de claves, concretamente la que suele sustentar las claves principales de la cadena de confianza de una Autoridad de Certificación (en adelante CA). Como se ha comentado a lo largo de esta serie de entradas, se trata de un entorno crítico respecto a la confidencialidad, en el que una revelación accidental de información podría ser catastrófica.
Las claves privadas de la jerarquía de certificados de una CA y más especialmente el certificado raíz son los activos más críticos de estas organizaciones. Dados estos requisitos tan altos de seguridad, este tipo de claves se suelen almacenar offline en emplazamientos seguros (Centros de Procesos de Datos, Cajas de Seguridad, etc.); y en dispositivos que ofrezcan un cifrado fuerte y sea capaz de mantener un control férreo de acceso a las claves. Para ello, lo habitual es emplear dispositivos hardware diseñados a tal efecto. Estos dispositivos se denominan HSM o “Hardware Security Module”; y aunque existen aproximaciones de infraestructura de PKI que no lo emplean, es la solución más recomendable para obtener el nivel de seguridad adecuado para el entorno que nos ocupa.
Un HSM es un dispositivo hardware que crea, gestiona y almacena claves digitales con seguridad integrada. De forma general, los HSM se implementan como un dispositivo hardware dedicado, bien como tarjeta de ampliación para un ordenador personal, hasta un sistema diseñado para tal fin; en cualquier caso, la característica principal de este hardware es que incorpora un criptoprocesador seguro. Como es de esperar, más a la vista de las necesidades de seguridad del entorno, estos dispositivos se diseñaron para mitigar los riesgos de seguridad identificados, así como para optimizar todas las operaciones criptográficas que se tengan que realizar en cualquier entorno.
En resumen, estos dispositivos se han diseñado con las siguientes finalidades principales:
- Generación segura de claves criptográficas dentro del propio dispositivo.
- Gestión y almacenamiento de claves criptográficas en el propio dispositivo.
- Manipulación de información criptográfica o sensible.
- Liberar a los servidores de aplicaciones de la carga del cómputo criptográfico.
Comencemos con un componente fundamental dentro de cualquier HSM: el criptoprocesador. Un criptoprocesador es un tipo de procesador especializado en la gestión y creación de claves criptográficas.
¿Qué diferencia a este procesador de cualquier otro? Como más de uno sabrá, se pueden generar claves criptográficas con cualquier tipo de procesador, lo que incluye cualquier procesador de cómputo general que podríamos encontrar en un ordenador personal cualquiera. Por lo tanto, ¿que nos aporta el uso de criptoprocesadores? En primer lugar, un criptoprocesador es un dispositivo de funcionalidad específica, que incluye instrucciones internas para gestión de claves criptográficas (cosa que un procesador de cómputo general no posee). Este hecho hace que sea mucho más eficiente en la generación de claves que un procesador normal, una de las ventajas más conocidas de implementar funciones en hardware.
Ahora, ¿qué es un criptoprocesador seguro? Un criptoprocesador seguro garantiza que todo el procesado de claves se genera de forma interna, por lo que en ningún momento sale del dispositivo ningún tipo de información sin cifrar. El objetivo básico de este tipo de dispositivos es asegurar que no es necesario aplicar medidas de seguridad al resto del sistema, ya que el criptoprocesador implanta medidas de seguridad que garantizan que no se libera información sensible al resto del sistema y dotando al dispositivo de resistencia a intentos de manipulación. Algunas medidas concretas de seguridad que se suelen implementar en estos dispositivos son las siguientes:
- Detección y respuesta ante manipulación.
- Placas protectoras de conductividad para evitar la captura de señales internas del dispositivo.
- Ejecución controlada que asegure que no se producen retrasos temporales que puedan liberar información secreta.
- Borrado automático del dispositivo cuando se detecta cualquier tipo de manipulación.
- Controles de ejecución de sistema operativo o aplicaciones basados en cadena de confianza, para así asegurar su autenticidad.
Gran parte de estos dispositivos se han diseñado para el uso de criptografía de clave simétrica y asimétrica. Estos en concreto, como es evidente, son los que son determinantes dentro del entorno de una PKI. ¿Qué requisitos son deseables en este dispositivo en una PKI? Veamos hoy uno de los puntos clave de estos dispositivos, el elevado nivel de seguridad lógica y física.
Esto es fácil de decir pero, ¿cómo lo medimos? Actualmente se han establecido estándares que miden los niveles de seguridad implementados en cualquier dispositivo criptográfico que combina el uso de hardware y software, como un HSM. Concretamente, el “National Institute of Standards and Technology” (NIST), desarrolló un estándar que permite establecer el nivel de seguridad ofrecido por este tipo de dispositivos. Dicho estándar se denomina “Federal Information Processing Standard” (FIPS), actualmente en su versión FIPS-2. Este es el estándar de facto en estos casos, y surge como una guía de requisitos deseables para el uso de dispositivos criptográficos para organismos gubernamentales o sujetos a normativas muy estrictas. El estándar establece cuatro niveles distintos, los cuales gradúan el nivel de seguridad del dispositivo evaluado. Se detallan a grandes rasgos los requisitos para cada uno de los niveles establecidos:
- Nivel 1: Este es el nivel que podría tener cualquier ordenador personal con una tarjeta criptográfica genérica. En este nivel únicamente se requiere el uso de un algoritmo criptográfico y una función de seguridad reconocidos; no existen requisitos de seguridad física.
- Nivel 2: De forma adicional a los requisitos establecidos por el nivel anterior, en este caso, se requerirán mecanismos de seguridad física que permitan identificar si se han realizado manipulaciones del módulo que hayan podido permitir un acceso no autorizado a las claves gestionadas en el módulo. Estos mecanismos deben ser desde sellos que se rompan cuando se accede al dispositivo que almacena las claves en claro o a los parámetros de seguridad críticos del dispositivo (parámetros que se almacenan en claro sobre los registros del criptoprocesador y que se emplean para generar las claves).
- Nivel 3: Sumado a los requisitos incluidos en el nivel 2, se requiere que el dispositivo no sólo permita detectar accesos no autorizados, sino que responda a dichos accesos, uso no autorizado o modificación del módulo. Me explico, por ejemplo, un nivel de seguridad 3 sería un dispositivo que detectara su apertura y de forma automática y borrara por ejemplo los parámetros de seguridad críticos, inutilizándolo y asegurando la confidencialidad de las claves almacenadas.
- Nivel 4: Del mismo modo que en los casos anteriores, en el nivel 4 se mantienen los requisitos de los niveles anteriores y se añaden nuevos requisitos. En este caso, aparte de requerir más capacidad de detectar intrusiones físicas, el módulo deberá detectar condiciones inadecuadas de humedad, temperatura o tensión que pudieran afectar a su funcionamiento. De este modo, se puede asegurar que se gestionarán estas contingencias y la confidencialidad de la información custodiada en el módulo.
Cualquier HSM para implementar una PKI deberá al menos tener un certificado FIPS-2, obteniendo un nivel 3. Más información respecto a este estándar puede obtenerse de http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf
Espero que os haya parecido interesante. La semana que viene continuaremos con otros puntos clave de estos dispositivos tan interesantes.
Muy interesante la entrada, David. Me interesa -y mucho- todo lo relacionado con la gestión criptográfica. Espero más artículos así de buenos para leerlos ávidamente en el futuro.
Fantástico David, un artículo extraordinario, y aunque está perfectamente explicado reconozco que el tema de la seguridad informática se me escapa…de las manos.
Como usuario particular de ordenadores personales desconocía la existencia de los HSM. No acabo de entender por qué estos periféricos opcionales no se instalan por defecto en ordenadores personales para que todo el mundo pueda disponer de un mayor control sobre sus claves o la información que quieren mantener cifrada.
Gracias por la información,
Desde hoy…suscrito a vuestro blog
Un saludo,
Jesús
Muchas gracias a ambos por vuestras valoraciones. En mi nombre y el de mis compañeros, nos alegramos de poder aportaros diariamente una pequeña dosis de conocimientos respecto a seguridad de la información; y os agradecemos vuestra atención.
Un cordial saludo! :)
Muy interesante este post. No conocía esta información a detalle sobre la la infraestructura que se necesita hoy día para la generación y custodia de claves.
Gracias por el aporte.