Chapter 3. Definitions, Governance and Frameworks
3.7 Conceptual Frameworks
3.7.4 Decision-making: Second Order
dispositivo encriptador. Incluso operando con señales y en entornos muy ruido- sos, este tipo de ataques es capaz de revelar la clave secreta. En comparación con los ataques SPA, los ataques DPA necesitan una gran cantidad de trazas, pero el procesado de datos es más simple que en los ataques SPA.
La seguridad de los dispositivos criptográficos dependen de tres aspectos, el algorit- mo matemático implementado, la longitud de la clave y la implementación física del mismo. Por lo tanto, un circuito criptográfico se considerará seguro en la práctica si no hay ningún ataque que pueda revelar la clave en un tiempo razonable y con una capacidad de cómputo realista.
Pero como hemos dicho, debido a la implementación física de los algoritmos pue- de haber fugas de información que ayuden a revelar la clave. Es por ello por lo que después de presentar los primeros ataques de canal lateral se comenzaron a proponer contramedidas que los protegieran frente a estos ataques, tarea que sigue ininterrumpida hasta la actualidad.
1.3.
Protección frente a ataques no invasivos
Si no se emplean contramedidas específicas para bloquear los ataques no invasivos, en la mayoría de los casos, estas implementaciones físicas son vulnerables. La mejor defensa frente a este tipo de ataques reside en el diseño del criptocircuito, pudiéndose aplicar las contramedidas en diferentes niveles de abstracción, teniendo en cuenta los pros y contras de cada una de ellas.
Cuando los diseñadores se enfrentan al diseño de contramedidas frente a ataques no invasivos, necesitan asegurar una buena relación entre prestaciones y seguridad. En aplicaciones criptográficas, la frecuencia máxima de operación del circuito no suele ser un factor limitante. Sin embargo, el área ocupada, consumo de potencia, coste y seguridad son aspectos que hay que tener en cuenta. Los diseñadores, por tanto, buscan cumplir tres aspectos del diseño, a saber: seguridad, coste y prestaciones. Por norma general, es muy complicado cumplir simultáneamente los tres aspectos,
en cambio, dos de ellos se pueden conseguir fácilmente. Por ejemplo, aquellas con- tramedidas que aumentan la seguridad del diseño sin degradar las prestaciones están siempre ligadas a un aumento del área y por tanto del coste. De la misma forma, un diseño que mantenga niveles de seguridad altos sin incrementar costes se puede conseguir degradando las prestaciones de nuestro diseño.
1.3.1. Protección frente a ataques por inserción de fallos
Existen dos técnicas para proteger un circuito criptográfico frente a FAs [34, 54], [CV.3]:
Contramedidas hardware: las contramedidas son aplicadas a nivel hardware utilizando mecanismos de prevención, como pueden ser por ejemplo la aplica- ción de una capa de metal sobre el ASIC para evitar el acceso externo o la iluminación. También hay mecanismos para la detección de luz, variaciones en la alimentación o temporización, o glitches en la señal de reloj [34,55]. Otra opción es duplicar el diseño para poder comparar la salida de varios bloques con la misma funcionalidad y chequear la correcta funcionalidad del sistema. En este caso no se evitaría la inserción del fallo, pero se detectaría que ha sido introducido, tomándose por tanto las medidas necesarias como apagar o bloquear el sistema.
1.3.2. Protección frente a ataques de canal lateral
Debido a la dependencia existente entre los datos procesados y las fugas de infor- mación del dispositivo durante la encriptación, es posible revelar la clave secreta. Para que un dispositivo criptográfico sea seguro frente a SCAs, las contramedidas aplicadas tienen que eliminar dicha dependencia, o al menos enmascararla lo sufi- ciente para que los ataques sean inviables [2]. Las contramedidas pueden aplicarse a diferentes niveles de abstracción3: a nivel de transistor, puerta, arquitectura y al-
goritmo. Las contramedidas a nivel de algoritmo o arquitectura son muy específicas
3
El estudio de contramedidas frente a ataques de canal lateral se estudia en detalle en el Capítulo 3.
1.3 Protección frente a ataques no invasivos
del algoritmo que se esté implementando, por lo que son difícilmente transferibles y automatizables. Por otro lado, nos encontramos con las contramedidas a nivel de puerta. En este caso no existe dependencia con el algoritmo y pueden aplicarse in- dependientemente del cifrador utilizado. Finalmente tenemos las contramedidas a nivel de transistor, siendo las que mejores resultados ofrecen en cuanto a seguridad se refiere [CV.5]. Además, se pueden aplicar sea cual sea el algoritmo implementa- do ya que la seguridad reside en la propia construcción de la puerta y no afecta a la funcionalidad de la celda. Dentro de las contramedidas a nivel de transistor nos encontramos con dos tipos: masking y hiding [2]. Las técnicas de masking intentan enmascarar la dependencia del dato procesado con el consumo de potencia, tiempos de ejecución, etc., mientras que las técnicas de hiding buscan ocultarla.
1.3.3. Métricas de seguridad
Desde los primeros ataques SCA [29], han sido numerosas las propuestas de nuevos y más elaborados ataques, a la vez que diferentes técnicas para la medida de vul- nerabilidad de los circuitos criptográficos [2, 30, 43, 45, 56, 57]. Los diseñadores, tras proponer las contramedidas frente a ataques no invasivos, necesitan determinar la seguridad alcanzada por el criptocircuito para evaluar si el diseño es suficientemente seguro para la aplicación requerida.
La vulnerabilidad o el nivel de seguridad alcanzado por un diseño puede determinarse mediante la realización de ataques o por medio de test o medidas alternativas como puede ser el t-test [57]. Al realizar ataques, es importante distinguir entre el ataque que hace “el malo” sobre el dispositivo final, del que hace “el bueno”, para chequear la seguridad de su diseño. En este último caso, los diseñadores realizan un ataque simulando el entorno más propicio para el atacante, determinando si el dispositivo es seguro incluso en el peor de los casos. En el caso de las métricas alternativas, como puede ser el t-test, los diseñadores determinan de forma indirecta el nivel de seguridad alcanzado o la existencia de vulnerabilidades frente a cierto tipo de ataques, pero sin llegar a realizarlos.
La selección entre la realización de los ataques o el uso de métricas alternativas variará en función de la fase de diseño, tipo de algoritmo o aplicación, o de si sólo
queremos determinar si el sistema es vulnerable o por el contrario queremos saber exactamente el punto y condiciones de la fuga de información.