La sociedad de la información ha cambiado drásticamente nuestras vidas y la implantación de las comunicaciones digitales ha hecho que en la actualidad la gran mayoría de la información sea transmitida de forma digital. El uso de tablets, Smart-phones, tarjetas inteligentes (smart-cards), DNIe, pasaporte-e, dispositivos RFiD, redes de sensores, almacenamiento en la nube, etc. están ampliamente extendidos. En todos los casos hay que establecer mecanismos para proteger la información de forma adecuada, asegurando la confidencialidad, la integridad y el no repudio. Para dispositivos portables (con fuertes restricciones de consumo) o con limitados recursos de computación los condicionantes a los mecanismos de cifrado y autenticación son muy fuertes.
El objetivo fundamental del proyecto es ofrecer soluciones hardware, para la realización de (des)cifrado seguro en aplicaciones en las que se disponga de pocos recursos hardware (criptografía lightweight) o que tengan importantes restricciones de consumo (dispositivos portables). Estas soluciones han de ser eficientes desde el punto de vista de integración de circuitos y desde el punto de vista de resistencia frente a ataques laterales. Entre las distintas propuestas de algoritmos criptográficos, los cifradores de flujo son los que menos recursos hardware necesitan y por tanto las que mejor se adaptan a nuestro objetivo. Su operación consiste en mezclar reversiblemente el mensaje, cuyo contenido se quiere proteger, con una secuencia pseudo-aleatoria generada por un complejo algoritmo criptográfico bajo el control de una clave simétrica que se guarda en secreto, y un valor de inicialización o semilla. Son de uso muy extendido en múltiples aplicaciones (terminales GSM, protocolos de Internet SSL/TLC, etc)
La implementación hardware en tecnologías VLSI de estos algoritmos plantea numerosos desafíos. Por una parte, la integración de sistemas VLSI ya no puede tener como único objetivo la consecución de sistemas funcionalmente correctos, sino que deben cumplir una serie de requerimientos como frecuencia de operación y consumo de potencia cuya consecución plantea los mayores problemas. Para aplicaciones de sistemas portables, el consumo de potencia es crítico, pues limita su portabilidad (disminución de la vida efectiva de las baterías) y su fiabilidad (estrés térmico debido al aumento de temperatura). Pero además, las implementaciones hardware de sistemas criptográficos deben ser seguras frente al criptoanálisis, y en particular frente a ataques laterales. Esto supone la necesidad de introducir en los diseños microelectrónicos contramedidas frente a estos ataques laterales, ya sean activos o pasivos, fundamentalmente técnicas de control de los tiempos de respuesta y de los consumos, tolerancia frente a inyección de fallos, corrección de los mismos o detección de intrusismo a nivel hardware.
Está claro que la sociedad y los individuos que la constituyen, necesitan proteger su información sensible. Esta necesidad ha supuesto un reto para la comunidad científico-tecnológica, sobre todo desde que los recursos de computación actuales puestos en manos alevosas ponen en jaque a gobiernos, multinacionales, empresas y particulares. En este escenario, si bien se pueden contar por miles las aportaciones de seguridad a nivel software (internet, redes, computadores), las aportaciones de seguridad a nivel hardware son más reducidas. De estas, la mayoría se ha centrado en los cifradores de bloque y en los algoritmos de clave pública, quedando los cifradores de flujo en un segundo nivel, pese a las aplicaciones tan importantes que soportan. La Comisión Europea desarrolló de 2004 a 2008 el proyecto eSTREAM, con el fin de seleccionar aquellos cifradores de flujo con algoritmos seguros basados en claves de 80 a 128 bits que puedan ser resistentes al criptoanálisis durante décadas. Actualmente se está en fase de evaluación y análisis de los seleccionados (Trivium, Grain, Mickey), disponibles en ASICs tras el proyecto eSCARGOT. El VII Programa Marco, a través de diversos calls del ICT ha mostrado su altísimo interés por el hardware criptográfico. Específicamente, dentro del Challenge 1 de ICT (Pervasive and Trusted Network and Service Infrastructures) el Objetivo ICT-2013.1.5 Trustworthy ICT tiene por objeto la ciberseguridad, privacidad en cloud computing y servicios móviles, en particular para la autenticación, encriptado en términos de velocidad de procesado y facilidad de implementación, incluyendo soluciones hardware. De igual manera, el Objetivo ICT-2013.1.4 A reliable, smart and secure Internet of Things for Smart Cities tiene por objeto IoT segura y confiable, incluyendo hardware codificado seguro.
Dentro de Horizons 2020, los “Sistemas Micro/Nano Electrónicos” y “las Sociedades Seguras, Innovativas e Inclusivas” aparecen explícitamente, los primeros como una “Key Enabling Technology”, subyacente y transversal a todo tipo de aplicaciones, y las segundas como “Societal Challenges”, lo que da carácter de profundo interés a la temática del proyecto. La falta de calls específicos no permite hacer un análisis detallado.
En EEUU, el National Institute of Standards and Technology (NIST) no ha apostado en los últimos años por nuevos cifradores de flujo, quedando el RC4 como única solución de interés en el protocolo SSL/TLS usado en Internet. No obstante, la vulnerabilidad demostrada del RC4 [3] hace necesaria la búsqueda de nuevas vías. Asimismo, las soluciones dadas por el NIST de emplear cifradores de bloque para su uso como cifradores de flujo son extremadamente poco eficientes desde el punto de vista de las aplicaciones hardware de altas prestaciones.
La oportunidad de financiación de una propuesta como la presente es elevada, pues está llamada a cubrir un hueco que a nivel internacional no está cubierto. Gran parte de los esfuerzos están centrados en el criptoanálisis y ataques laterales (pasivos y activos) de cifradores de bloques (tipo AES) y esquemas de criptografía asimétrica (tipo RSA), quedando los cifradores de flujo en un segundo plano. El esfuerzo que se hizo en los años 2008-10 para mostrar la vulnerabilidad de los cifradores de flujo frente a ataques DPA no trajo consigo el desarrollo de una batería de contramedidas, dada la simplicidad de estos cifradores. Es pues un reto que merece la pena aceptar. Por otro lado, no existe en España ningún grupo investigador que investigue sobre vulnerabilidad y defensas frente a ataques en hardware criptográfico, con excepción del CESTI (INTA), que actualmente ha cesado en esta actividad por la crisis económica. Sí se trabaja en cambio en criptología, criptoanálisis, seguridad software y biometría (véase Apdo 2.1). Sin embargo entendemos que sí existe, dentro de la Estrategia Nacional de I+D+i, recorrido para una propuesta de este tipo dentro del RETO en ECONOMÍA Y SOCIEDAD DIGITAL (6.4.7), prioridad VII “Ciberseguridad y confianza digital: (i) utilización de aplicaciones electrónicas e (ii) desarrollo de entornos seguros ligados a los derechos de los ciudadanos”, También tiene un nicho de aplicación en el RETO en SEGURIDAD, PROTECCIÓN Y DEFENSA (6.4.8), prioridad (I) “Tecnologías de Sistemas de Información y Comunicaciones”, en el reto 6.4.1 en el área de e-Salud, dados los requisitos de seguridad que necesitan los datos médicos. Cubriría en cualquier caso los objetivos específicos 1, 2 y 3 del Plan Estatal. De igual manera, la Microelectrónica es considerada Tecnología Facilitadora Esencial en el Plan Estatal.
A lo largo del proyecto se han ido alcanzando los objetivos detallados a continuación:
Las contramedidas frente a los ataques laterales pueden proponerse a distintos niveles, siendo las más efectivas aquellas aplicadas a nivel de circuito. Basándonos en actividades previas al Proyecto, se realizó un estudio de las propuestas realizadas hasta el momento, y se propuso una metodología de diseño de puertas seguras basada en la modificación del pull-down de puertas diferenciales SABL, usadas como referencia en el campo. Se realizó una evaluación de la seguridad realizando un ataque DPA por simulación eléctrica de un bloque criptográfico Sbox9, obteniendo mejoras en la seguridad de dos órdenes de magnitud. Se ha estudiado también la influencia de la temperatura en la vulnerabilidad, con resultados sorprendentes en cuanto a la presencia de ventanas de seguridad variable para ciertos rangos de temperaturas, no reportados anteriormente por otros autores.
La reducción del consumo de potencia es fundamental para aplicaciones portables, que requieren muy bajo consumo. Se han propuesto celdas básicas seguras de reducido consumo [3] y puertas XOR diseñadas en tecnología TSMC de 90 nm [4] para emplear en cualquier circuito criptográfico, ya sea cifrador de flujo o de bloque. Los resultados obtenidos mostraron que nuestras propuestas mejoraban en un 15% el área, un 12% en consumo y un 40% en el retraso de la celda. También se han propuesto implementaciones del cifrador de flujo Trivium de muy bajo consumo, basadas en la optimización de temporización en la arquitectura.
Se ha estudiado la realización de ataques de potencia DPA y cómo implementarlos tanto en simulación como de forma experimental. Se ha ideado un procedimiento que combina SPECTRE (obtención de trazas de consumo) y MATLAB (procesado de datos y extracción de claves) para realizar ataques DPA por simulación de diferentes implementaciones de una misma parte de un algoritmo criptográfico. Por ejemplo se ha aplicado al bloque Sbox9 del algoritmo Kasumi, utilizando celdas estandar CMOS, celdas de referencia (SABL) y nuestras propuestas [1,3,4]. Los resultados de los ataques mostraban que con nuestras celdas la clave secreta no podía ser revelada para los patrones aplicados, mientras que en las otras dos opciones, CMOS y SABL, se obtenía la clave después del ataque.
De forma experimental, se ha montado un setup de laboratorio para verificación de seguridad en criptoASICs y otro para FPGAs (ver figura 1). En ambos casos, se emplea MATLAB o Python para control de instrumental y obtención automática de las trazas, procesando los datos posteriormente con MATLAB. Se ha verificado el setup de ataque para cifradores de bloque.
Se han realizado dos ataques para el cifrador de flujo Trivium, uno sobre una implementación en ASIC y otra sobre una FPGA. Aunque los ataques no han tenido éxito, estamos muy próximos a obtener las claves, lo cual es muy relevante porque no hay reportado todavía ningún ataque exitoso al Trivium.
Se han desarrollado nuevos ataques DPA satisfactorios a diferentes algoritmos. En primer lugar, empleando un modelo muy preciso se ha conseguido un nuevo ataque de potencia por simulación sobre el cifrador de flujo Trivium [5]. Este ataque ha sido mejorado mediante el establecimiento de una nueva métrica basada en detección cualitativa de correlación en claves [6]. Por otra parte, se ha implementado un ataque de forma satisfactoria en laboratorio al cifrador de bloque AES en FPGA, obteniendo la clave secreta con menos de 5000 patrones aplicados.
Estos mecanismos tienen como objetivo generar un pulso de un tiempo muy corto en la señal de reloj, y además controlar tanto el ciclo en el que se inserta el pulso, como su posición relativa dentro del ciclo de reloj. Uno de los mecanismos consiste en generar un pulso de reloj muy pequeño usando dos señales de reloj cuyo desfase es controlable. Otro de los mecanismos desarrollados consiste en la utilización de un reloj de frecuencia muy elevada. La implementación en hardware de estos mecanismos es muy delicada, debido a que los cifradores de flujo tienen una muy alta frecuencia de operación. Se han probado sobre FPGA varias alternativas de implementación del cifrador Trivium, algunas de las cuales funcionan a la máxima velocidad que puede funcionar la FPGA. Este hecho ha obligado a utilizar mecanismos no convencionales, como generar señales de reloj a frecuencias ligeramente superiores a la máxima permitida. Junto con las implementaciones de los trivium y de los mecanismos de generación de los fallos se han implementado mecanismos de captura y análisis de los registros de estado para comprobar si se ha introducido o no fallos, contabilizar el número de fallos y las posiciones relativas en las que se han introducido.
Este ASIC contiene diferentes versiones del cifrador Trivium y fue diseñado por gran parte del equipo de trabajo de este proyecto dentro del marco del proyecto CITIES (TEC2010-16870). Una vez se han concluido de forma satisfactoria las tareas de caracterización y verificación del ASIC, se aprovechará la experiencia acumulada con los ataques sobre implementaciones FPGA de los cifradores (actividad 5), para la realización pruebas de inserción de fallos sobre los cifradores incluidos en dicho ASIC. Se ha montado también un sistema de comunicaciones seguras de bajos recursos en base al protocolo I2C.
La experiencia en las pruebas de inserción de fallos (O1.2), está sirviendo para el desarrollo del objetivo O1.3, consistente en la sistematización de las técnicas de ataques activos, pasivos o combinación de ambos. Al nivel actual del desarrollo del proyecto, se tiene un mecanismo de creación de pulsos de pequeña duración en dispositivos FPGA. Este mecanismo, aunque utiliza dispositivos específicos de las FPGA de Xilinx sobre las que ha sido desarrollado, puede expandirse a dispositivos FPGA de las diversas familias de Xilinx (cuyas pruebas ya se están realizando) y fácilmente a dispositivos FPGA de otros fabricantes. Sin embargo, al nivel de ejecución en el que se encuentra el proyecto, todavía queda por expandir este mecanismo a su utilización para dispositivos ASIC.
Los ataques DPA se basan en el análisis estadístico del consumo de potencia. Se puede obtener el mismo éxito si se mide con sondas específicas la radiación electromagnética del circuito (DEMA). En colaboración con profesores de ISPAJAE, Cuba, se ha atacado con éxito implementaciones del cifrador de bloque AES, con esfuerzo y coste comparable al del ataque DPA. Se está sistematizando este tipo de ataque (O1.3), establecer métricas que permita comparar la efectividad de ambos ataques (O1.4) y sobre todo la combinación de los mismos para verificar la vulnerabilidad del Trívium.