Dado que los organismos gubernamentales, los centros de atención de salud y las instituciones financieras implementan servicios orientados a la red cada vez más complejos, el rango de dispositivos que acceden a estos sistemas continúa ampliándose. Paralelo a este desarrollo, hay un creciente enfoque en estos sectores en cuanto a seguridad y privacidad de la información: las organizaciones están invirtiendo enormes sumas para satisfacer los requisitos de seguridad de los datos para todo desde servidores y equipos de red hasta laptops, teléfonos inteligentes e impresoras. Por ejemplo, durante los próximos cinco años, el gobierno federal de los Estados Unidos invertirá más de $500 mil millones en tecnología informática (TI)1, y una parte considerable de este dinero será destinada al programa de modernización de cifrado y actividades relacionadas con cifrado y administración de claves.
Para ayudar a reducir la complejidad y los costos de sus redes en expansión y necesidades de seguridad, el gobierno federal de los Estados Unidos publicó estrictos requisitos de estándares e interoperabilidad: requisitos de seguridad 140-2 del Estándar Federal de Procesamiento de la Información (FIPS) para módulos criptográficos. Este estándar de seguridad criptográfica ha sido adoptado por otros gobiernos y está transformándose en un estándar de referencia en atención de salud, finanzas y el emergente sector de la red inteligente. En el programa de modernización de cifrado del gobierno de los Estados Unidos, la implementación de otras técnicas criptográficas avanzadas, como la criptografía de curva elíptica2, está creciendo y se espera que influya en el futuro de la seguridad.
Para competir en estos mercados, los vendedores de software y dispositivos deben demostrar que sus productos cumplen con los requisitos de criptografía validada del Estándar Federal de Procesamiento de la Información (FIPS), un gran, complejo y costoso esfuerzo que se debe volver a visitar con cada actualización de producto. Los vendedores también deben asegurarse de que las actualizaciones, no importa cuán triviales sean, no afecten el cumplimiento de la seguridad de FIPS de sus productos, puesto que también deben monitorear continuamente los estándares para asegurarse de que sus productos cumplan con los requisitos en permanente evolución: FIPS 140-3, que se estableció para sustituir a FIPS 140-2, ya está disponible en borrador.
De los diversos componentes que conforman los sistemas de software actuales, dos son los más importantes para la seguridad del sistema:
- un sistema operativo que cumpla con los estrictos requisitos de seguridad y que ofrezca confianza
- un módulo criptográfico validado por FIPS
En este documento, examinamos algunos desafíos clave asociados al proceso de validación de FIPS 140-2, además, se describe cómo el RTOS QNX® Neutrino® y la biblioteca criptográfica de la Edición de seguridad de gobierno (GSE) de Certicom Security Builder pueden ayudar a facilitar la carga de crear y entregar software compatible con FIPS 140-2.
COTS y seguridad
Al igual que otras organizaciones, los organismos gubernamentales desearían poder utilizar productos comerciales listos para su uso (COTS) a fin de aprovechar la experiencia y el ahorro en los costos ofrecidos por vendedores competitivos. Sin embargo, para cumplir con los requisitos requeridos para que estos organismos los puedan utilizar, los productos de estos vendedores de COTS deben cumplir con los estrictos requisitos de seguridad establecidos por organizaciones (en los Estados Unidos) como el Departamento de Defensa (DoD), la Agencia de Seguridad Nacional (NSA) y el Instituto Nacional de Normas y Tecnología (NIST). FIPS 140-2 es el denominador común en las directivas de seguridad de computadoras más importante; el DoD, por ejemplo, se refiere a este estándar en cuanto a las directivas que rigen la comunicación de datos delicados4.
Los sectores de atención de salud y servicios financieros se ven afectados de forma similar por los requisitos de seguridad de la información, especialmente con el creciente número de divulgaciones de información de carácter personal. Los requisitos de seguridad de los datos en estas industrias son controlados por la legislación de gobierno, incluida la Ley de Portabilidad y Contabilidad de los Seguros de Salud (HIPAA) y la Ley de Tecnología Informática en Salud para la Salud Económica y Clínica (HITECH) para los proveedores de atención de salud y la reglamentación de la Ley de Gramm-Leach-Bliley (GLBA) sobre privacidad del consumidor para bancos y compañías financieras. Estos requisitos naturalmente guían a los vendedores a FIPS 140-2 para que obtengan orientación con respecto a la criptografía y la seguridad de los datos.
Las reglamentaciones de la HIPAA establecen que "los procesos de cifrado válidos para los datos en movimiento son aquellos que cumplen con los requisitos de los Estándares Federales de Procesamiento de la Información (FIPS) 140-2".5 Este mismo documento especifica que los datos se deben proteger conforme a la publicación especial de NIST 800-1116, que recomienda el uso de algoritmos de cifrado certificados por FIPS. Adicionalmente, la ley HITECH incluso promueve el uso de tecnología de seguridad comprobada al ofrecer asistencia auditoría a las organizaciones que utilizan productos certificados por FIPS.
Sin embargo, la importancia de FIPS 140-2 no finaliza aquí. En la medida que los sistemas de infraestructura fundamental, como los sistemas de distribución de tuberías de gas y de control de red inteligente, cada vez operan más en red, estas industrias posiblemente adoptarán controles igualmente estrictos en la criptografía utilizada para proteger sus datos en tránsito, lo cual creará más demanda por soluciones de criptografía certificada por FIPS.
A fin de captar una parte mayor de este creciente mercado, o incluso para mantener sus posiciones actuales, los vendedores de COTS, que tradicionalmente no han requerido un alto nivel de experiencia en seguridad, no
tienen otra opción que ampliar sus conocimientos de los estándares de seguridad actuales y en desarrollo y de las tecnologías de criptografía, a la vez que deben monitorear de cerca los requisitos de FIPS en permanente evolución. También deben encontrar formas para cumplir con el gran desafío de sustentar estos requisitos en los sistemas integrados.
Una base sólida
Un requisito fundamental de cualquier sistema seguro es que se ejecute en un sistema operativo confiable. Crear un sistema seguro en un sistema operativo que no ofrece garantías de confianza es como construir una bóveda de un banco con suelo de tierra. Alguien a la larga se dará cuenta y aprovechará esta debilidad fundamental.
Entre las características clave que hacen del RTOS QNX Neutrino el sistema operativo ideal para la biblioteca criptográfica de GSE de Certicom se incluyen:
Garantías de confianza en tiempo real: solo un sistema operativo en tiempo real (RTOS) está diseñado expresamente para los sistemas que deben responder de forma correcta y predecible, y de forma oportuna 7.
Arquitectura de micronúcleo: con la arquitectura de micronúcleo del RTOS QNX Neutrino, las aplicaciones, los controladores de dispositivos, los sistemas de archivos y las pilas de operación en red residen fuera del núcleo en espacios con direcciones separadas y, de este modo, se aíslan tanto del núcleo como entre sí. Una falla en un componente no dejará inactivo todo el sistema y los mecanismos de recuperación pueden reiniciar los procesos con fallas.
Llamadas de núcleos de menor prioridad evitables: para cumplir con los compromisos de tiempo real, el RTOS QNX Neutrino le permite que los procesos de más alta prioridad eviten las llamadas de los núcleos de baja prioridad. Las ventanas de tiempo durante las cuales la preferencia podría no ocurrir son extremadamente breves. Adicionalmente, hay un límite superior respecto del tiempo que se conserva la preferencia y se desactivan las interrupciones, con lo cual es posible que los desarrolladores confirmen las latencias en el peor de los casos.
Herencia de prioridades: el RTOS QNX Neutrino implementa herencia de prioridades, técnica para evitar inversiones de prioridades (el problema que, de forma infame, fastidió al proyecto Mars Pathfinder en Julio 19978) al asignar la prioridad de una tarea de mayor prioridad bloqueada al hilo de inferior prioridad, con lo cual se realiza el bloqueo hasta que se completa la tarea de bloqueo.
Partición adaptable: el RTOS QNX Neutrino utiliza partición adaptable para evitar que los procesos o hilos monopolicen los ciclos de la CPU y entorpezcan otros procesos o hilos. Con partición adaptable, los desarrolladores pueden asignar presupuestos garantizados de tiempo de CPU a procesos e hilos, y un algoritmo de programación dinámico reasigna dinámicamente los ciclos de la CPU de las particiones que no los están utilizando a las particiones que se podrían beneficiar de tiempo de procesamiento adicional. Los presupuestos de las particiones se fuerzan solo cuando la CPU está funcionando a plena capacidad. Todos los ciclos disponibles se usan en caso que se necesiten, pero cuando los procesos en más de una parte compiten por los ciclos, la partición fuerza presupuestos de recursos y evita que estos se agoten.
Marco de trabajo de alta disponibilidad: ningún sistema está absolutamente libre de fallas; para asegurar disponibilidad continua, el RTOS QNX Neutrino admite un marco de trabajo de alta disponibilidad que incluye vigilancia para monitorear si hay fallas en los procesos; mecanismos automáticos que reinician los procesos con fallas sin un nuevo arranque; procesos reflejados que permanentemente están preparados para asumir los deberes de vigilancia si fuera necesario; y una interfaz de programación que permite al designador del sistema determinar de qué forma la vigilancia responderá ante fallas específicas.
Capacidades de multiprocesador: para asegurar la estabilidad durante y después de la migración, la eficiencia en los sistemas de múltiples núcleos, el RTOS QNX Neutrino utiliza multiprocesamiento de límites (BMP), extensión específica de QNX de afinidad de procesador (o afinidad de hilo) que permite a los desarrolladores especificar herencia de máscara de afinidad para los hilos. Al permitir que los desarrolladores establezcan máscaras de afinidad que restrinjan no solo los hilos especificados sino también sus hilos secundarios para núcleos específicos, el BMP ayuda a proteger un sistema migrado a múltiples núcleos desde fallos latentes o características de diseño, como programación de FIFO, que deja el código escrito para procesadores de un solo núcleo no confiables en sistemas de múltiples núcleos y ayuda a resolver problemas, como intercambio de caché, que comúnmente se asocia a procesamiento de múltiples núcleos simétricos. Los desarrolladores que migran sistemas a múltiples núcleos pueden unir todas las jerarquías de hilos en un solo procesador a fin de asegurar que no haya sorpresas desagradables en el nuevo entorno.
FIPS 140-2
En los Estados Unidos, los requisitos de seguridad de gobierno se regulan mediante publicaciones de FIPS. NIST desarrolla estas publicaciones para uso en todos los organismos gubernamentales. Desarrolla y lanza nuevas publicaciones de FIPS cuando existen requisitos federales convincentes para nuevos estándares de seguridad e interoperabilidad.
FIPS 140-2 describe los requisitos de criptografía del gobierno federal de los Estados Unidos que los productos de software y hardware deben cumplir para uso delicado pero no clasificado. FIPS 140-2 se refiere a la validación del módulo completo que las aplicaciones deben usar para llevar a cabo funciones criptográficas especificadas. Consulte "Validación de FIPS" a continuación. Otro FIPS, como el FIPS 186-2, que describe el Algoritmo de firma digital para curvas elípticas (ECDSA) y el FIPS 197, que especifica el Estándar de cifrado avanzado (AES), son implementaciones específicas de los algoritmos criptográficos que se incluyen en un módulo validado por el FIPS 140-2.
En 2002, la Ley Federal de Administración de Seguridad de la Información (FISMA) eliminó una disposición que permitía a los organismos gubernamentales a emitir exenciones por la compra de productos no aprobados por FIPS. Esta eliminación significó que, de ahí en adelante, la validación de FIPS 140-2 se volvía obligatoria para todos los productos que implementen criptografía y que se vendan al gobierno federal de los Estados Unidos. Sin validación de FIPS 140-2, los clientes del gobierno de los Estados Unidos no considerarán los productos. Además, fuera de los Estados Unidos, países como el Reino Unido y Canadá, a través del Establecimiento de seguridad en las comunicaciones (CSE), han adoptado FIPS 140-2 para sus requisitos de seguridad.
De igual forma, si bien la validación de FIPS no siempre es obligatoria en las aplicaciones en los sectores de atención de salud y financiero, no obstante, a menudo sí es un requisito. Por ejemplo, es obligatoria en las instalaciones médicas en edificios gubernamentales de los Estados Unidos, donde la tecnología inalámbrica se implementa para transportar datos de pacientes. Y cuando la validación de FIPS no es explícitamente obligatoria, igualmente se recomienda encarecidamente cuando se necesita seguridad en los datos. En resumen, los productos validados por FIPS disfrutan de una ventaja competitiva en estos mercados.
Validación de FIPS 140-2
Para la mayoría de los vendedores, existen dos niveles de validación de FIPS. El primer nivel valida las técnicas de cifrado utilizadas por los algoritmos específicos, como aquellos que se mencionan en FIPS 186-2 y FIPS 197. Estos algoritmos incluyen algoritmos de cifrado simétrico, como AES, DES, 3DES y RSA; algoritmos de hash, como SHA-1; y firmas digitales como RSA y ECDSA. FIPS especifica de qué forma se definen estos algoritmos y cómo se deben implementar para lograr la validación. El Programa de Validación de Algoritmos Criptográficos (CAVP) de NIST lleva a cabo estas validaciones.
La segunda validación de nivel más alto y más importante es FIPS 140-2. Este estándar especifica once áreas de seguridad que un módulo criptográfico que se ejecuta dentro de un sistema seguro debe cumplir para proteger la información en dicho sistema. Este módulo criptográfico puede ser hardware, firmware o software. Asume responsabilidad para los servicios de seguridad para el sistema en el cual se utiliza, y realiza funciones criptográficas, como cifrado, autenticación y generación aleatoria de números.
FIPS 140-2 define cuatro niveles de seguridad de 1 a 4 (siendo 4 el más seguro) para cada una de las once áreas de seguridad que especifica; luego asigna una clasificación general única para el módulo de seguridad. Para obtener información más detallada acerca de estos niveles, consulte la nota de la aplicación de Certicom: "Seguridad de Certicom para proveedores de gobierno", disponible en www.certicom.com/fips.
Para obtener la validación FIPS 140-2, un módulo criptográfico debe:
-
tener un límite de cifrado bien definido, de modo que toda la información de seguridad delicada permanezca dentro del núcleo criptográfico del producto
-
utilizar al menos un algoritmo aprobado por FIPS con implementación correcta y un límite de cifrado intacto
En la Figura 1 de arriba, se describe el proceso para validar un algoritmo o un módulo criptográfico de FIPS 140-2. CAVP debe validar al menos un algoritmo utilizado en el módulo de FIPS antes de ingresar al proceso de validación de FIPS 140-2 a través del CMVP. Todo el módulo de FIPS luego se debe validar a través del Programa de Validación de Módulo Criptográfico (CMVP), el cual, al igual que CAVP es operado por NIST. Todas las pruebas en CMVP las realiza uno de los laboratorios de Pruebas de módulos criptográficos (CMT) acreditados en el Programa Nacional Voluntario de Acreditación de Laboratorios (NVLAP).
Obstáculos y problemas de ingreso al mercado
Si bien el mercado gubernamental es atractivo y lucrativo, para muchos vendedores, el proceso de validación de FIPS representa un considerable obstáculo para el ingreso. Las opciones disponibles para los vendedores que esperan vender a organismos gubernamentales (o, de hecho, las instituciones de atención de salud y financieras) son limitadas: pueden crear un producto de cero o pueden comprar un módulo criptográfico validado por FIPS-140-2 a un vendedor comercial.
Quienquiera que esté pensando en la fabricación debe tener presente que el proceso de validación toma de ocho a 12 meses, requiere el compromiso de varios desarrolladores y costos cercanos a los $50 000, tan solo correspondientes al costo de la validación inicial. A este gasto inicial se deben agregar los costos de $10 000 a $15 000 para cada entrega posterior del mismo módulo (actualizaciones, corrección de fallos, corrección de errores iniciales, etc.). De este modo, al considerar los factores para los costos de desarrollo, la validación de módulo asciende fácilmente a más de $100 000.
Tenga presente también que al entregar un módulo de software criptográfico para validación, el vendedor debe proporcionar la siguiente documentación: política de seguridad, máquina de estados finitos, descripciones de módulo de software, lista de códigos de origen de todo el software dentro de los límites criptográficos, descripción de las funciones y servicios del módulo, descripción del ciclo de vida de administración clave y certificados de conformidad con el algoritmo. La validación es específica para la plataforma: se requieren los números de certificado de validación individual para cada plataforma. Además, cualquier cambio o adición a un producto validado implica un nuevo ciclo de validación de ese producto, junto con los costos adicionales correspondientes.
Adicionalmente, crear un módulo criptográfico para el estándar FIPS 140-2 no solo es complejo; presenta una alta tasa de fallo. Conforme a NIST, 48 % de los módulos criptográficos entregados por los nuevos solicitantes y 20 % de los módulos de antiguos solicitantes contienen defectos en la seguridad. Un 30 % de los algoritmos probados por NIST no cumplen con el estándar FIPS9. Esta tasa de fallo sugiere que las compañías puedan emplear gran cantidad de tiempo y dinero en desarrollar una solución que requiera validación FIPS, luego entregarla a un proceso de prueba que puede durar hasta un año, solo para saber que su solución presenta defectos y FIPS no la puede validar sin un trabajo y gastos adicionales.
Finalmente, el costo de la validación de FIPS no finaliza cuando un producto recibe su primera validación. Se necesita experiencia interna para monitorear los estándares de seguridad y las tendencias de la industria en permanente evolución, que podrían determinar los cambios al producto a fin de satisfacer las demandas del mercado o para ir a la par con los nuevos requisitos de FIPS. El estándar FIPS 140-2 se actualiza cada cinco años, con nuevos algoritmos que se agregan para mejorarlo, alinearlo con las tendencias de la industria y hacerlo más sólido. Si bien las validaciones existentes permanecen en vigor cuando cambia el estándar FIPS, si un vendedor desea aprovechar los nuevos algoritmos en el estándar, su producto se debe actualizar y entregar nuevamente para validación.
En lugar de intentar crear sus propios módulos criptográficos, los vendedores pueden optar por comprar un módulo criptográfico validado previamente, el cual luego se puede incorporar en susproductos. Los beneficios de este método incluye la validación de FIPS 140-2 a la vez que se evita completamente el proceso de validación, costos mínimos de desarrollo, escaso tiempo para entrar al mercado y esfuerzos de desarrollo centrados en competencias centrales. Las siguientes consideraciones ayudarán a asegurar la correcta opción de módulo criptográfico:
Arquitectura extensible: una plataforma que ofrece una API común facilita la compatibilidad de los nuevos algoritmos y los protocolos de seguridad con mínimas reescrituras de códigos.
Flexibilidad de actualización: el uso de un módulo validado previamente permite al vendedor del producto realizar cambios en su producto o solución y mantener la validación de FIPS mediante la reutilización del mismo módulo para seguridad. El proveedor del módulo de FIPS asume la responsabilidad de monitorear el estándar FIPS, y realizar los cambios en el módulo y validar el módulo actualizado. El vendedor del producto solo necesita reemplazar el módulo FIPS en su producto para mantener la validación de FIPS.
Flexibilidad de plataforma: si fuera necesaria la validación de FIPS 140-2 para múltiples plataformas del sistema, el proveedor del módulo de FIPS debe ofrecer módulos de seguridad validados para todas las plataformas requeridas.
Restricciones de recursos: al utilizar un módulo validado por FIPS que ha sido diseñado específicamente para los dispositivos de recursos restringidos se puede mejorar considerablemente el rendimiento del sistema al reducir los requisitos de memoria y ancho de banda de CPU. Esta ganancia es particularmente verdadera en dispositivos móviles en los que la vida útil de la batería es la principal preocupación.
Conclusión
Dados los obstáculos y los beneficios asociados al desarrollo de productos validados por FIPS, encontrar una implementación de FIPS confiable que pudiera llevar el producto al mercado de forma rápida y con el menor riesgo posible puede significar la diferencia entre éxito y fracaso.
QNX Software Systems y Certicom se han asociado para ofrecer una biblioteca de módulos de objetos compartidos que entregue a los desarrolladores una forma fácil y rentable de aprovechar las bibliotecas criptográficas validadas por FIPS de GSE de Security Builder de Certicom. Esta solución permite que los fabricantes de dispositivos y los vendedores de software independientes ofrezcan a sus clientes soluciones con tecnología de seguridad certificada por FIPS 140-2 en una base RTOS probada.