Articulo de referencia

Ofuscación de hardware

La ofuscación de hardware es una técnica mediante la cual se modifica la descripción o la estructura del hardware electrónico para ocultar intencionalmente su funcionalidad , lo...

La ofuscación de hardware es una técnica mediante la cual se modifica la descripción o la estructura del hardware electrónico para ocultar intencionalmente su funcionalidad , lo que dificulta significativamente la ingeniería inversa .

Descripción

Los ingenieros y diseñadores electrónicos utilizan técnicas de ofuscación para dificultar que otros comprendan completamente su trabajo, ya que podrían querer realizar ingeniería inversa por cualquier motivo. Normalmente, la ofuscación de hardware modifica el diseño de tal manera que la arquitectura resultante no resulta obvia para un adversario. [ 1 ] La ofuscación de hardware puede ser de dos tipos, dependiendo de la plataforma de hardware objetivo: (a) Ofuscación de hardware del núcleo DSP : este tipo de ofuscación realiza una transformación de alto nivel en la representación gráfica del flujo de datos del núcleo DSP para convertirlo en una forma desconocida que refleja una arquitectura no obvia a nivel RTL o de compuertas. Este tipo de ofuscación también se denomina 'Ofuscación estructural. Otro tipo de método de ofuscación del núcleo DSP se llama 'Ofuscación funcional : utiliza una combinación de AES y bloques de bloqueo del núcleo IP (ILB) para bloquear la funcionalidad del núcleo DSP mediante bits de clave. Sin la aplicación de la secuencia de clave correcta, el núcleo DSP produce una salida incorrecta o ninguna salida [ 2 ]. (b) Ofuscación de hardware combinacional/secuencial : este tipo de ofuscación realiza cambios en la estructura a nivel de compuerta del propio circuito. [ 3 ] [ 4 ].

En esencia, es diferente de la marca de agua digital (donde la propiedad se oculta en el propio contenido digital) o de la marca de agua de propiedad intelectual (PI) de hardware [ 5 ] , donde la información de propiedad se integra y oculta en la descripción de un circuito . También es diferente de las técnicas de protección de PI de hardware basadas en criptografía, comunes en el flujo de diseño de matrices de puertas programables en campo (FPGA) . [ 6 ] [ 7 ]

Importancia

La importancia de la marca de agua de hardware ha aumentado en los últimos años debido a la adopción generalizada de prácticas de diseño basadas en propiedad intelectual de hardware para circuitos integrados (CI) modernos, como los sistemas en chip (SoC). Los principales problemas de seguridad asociados con la propiedad intelectual de hardware incluyen: (a) infracción de la propiedad intelectual de hardware durante el diseño de SoC; (b) ingeniería inversa de los CI fabricados o de la base de datos de diseño de CI (en las instalaciones de fabricación ) para producir CI falsificados o clonados; y (c) modificaciones maliciosas de una propiedad intelectual mediante la inserción de un troyano de hardware para causar fallas funcionales en el campo . La ofuscación de hardware tiene como objetivo minimizar estas amenazas a nivel de propiedad intelectual o de chip, dificultando que un adversario comprenda la funcionalidad real de un diseño.

Técnicas

Las técnicas de ofuscación de hardware se pueden clasificar en dos categorías principales: (a) las técnicas "pasivas", que no afectan directamente la funcionalidad del sistema electrónico , y (b) las técnicas "activas", que alteran directamente la funcionalidad del sistema. A menudo, las técnicas activas de ofuscación de hardware se basan en claves, de modo que la funcionalidad normal del diseño ofuscado solo se puede habilitar mediante la aplicación exitosa de una clave predeterminada o una secuencia de claves secretas en la entrada; de lo contrario, el circuito opera en un modo que presenta una funcionalidad incorrecta. Esto se puede lograr integrando una máquina de estados finitos (FSM) bien oculta en el circuito para controlar los modos funcionales según la aplicación de la clave. La técnica de ofuscación de hardware activa basada en claves es similar en principio a los enfoques criptográficos de clave privada para la protección de la información , ya que la "secuencia de claves" para el diseño ofuscado desempeña un papel similar al de la clave criptográfica. La técnica se puede aplicar en diferentes niveles de descripción de hardware, a saber, diseño a nivel de compuerta o nivel de transferencia de registros (RTL), y por lo tanto se puede utilizar para proteger núcleos IP de software, hardware y hardware. [ 8 ] La ofuscación también puede ayudar a ocultar eficazmente las características de seguridad en un circuito integrado y, por lo tanto, permitir la protección de los circuitos integrados contra la falsificación y la clonación en las instalaciones de fabricación. [ 9 ]

En contraste, las técnicas pasivas modifican la descripción del circuito de forma sutil (por ejemplo, cambios sintácticos), de manera que resulta difícil para un lector humano comprender su funcionalidad. Estos enfoques suelen emplear la sustitución de cadenas (incluido el cambio de nombre de variables, la eliminación de comentarios, etc.) [ 10 ] o cambios estructurales en la descripción del circuito en el lenguaje de descripción de hardware (HDL) (incluido el desenrollado de bucles , el cambio de nombre de registros , etc.) [ 11 ] . Una limitación importante de los enfoques pasivos es que no modifican la funcionalidad de caja negra de un circuito y, por lo tanto, no pueden evitar el posible uso de una IP como caja negra en un diseño. Además, la eficacia real de dicha ofuscación pasiva es cuestionable, ya que, en general, la ofuscación de caja negra no existe, al menos para programas de software que calculan ciertas funciones matemáticas [ 12 ] .

Uso

La marca de agua por hardware puede utilizarse junto con la ofuscación por hardware. En un diseño ofuscado, la marca de agua puede ser eficaz para proporcionar una segunda línea de defensa contra los intentos de copia no autorizados. [ 13 ]

Contexto histórico

La ofuscación de hardware en informática probablemente tiene su origen en las CPU de las computadoras centrales , principalmente las fabricadas por IBM durante las décadas de 1960 y 1970. Para mantener cierta ventaja competitiva, IBM implementó códigos de operación secretos que solo serían utilizados por el sistema operativo de código cerrado de la computadora central.

Véase también

Referencias

  1. Anirban Sengupta, Dipanjan Roy, Saraju Mohanty, Peter Corcoran "Protección del diseño DSP en CE mediante ofuscación estructural basada en transformación algorítmica", IEEE Transactions on Consumer Electronics, Volumen 63, Número 4, noviembre de 2017, págs.: 467-476
  2. Anirban Sengupta, Deepak Kachave, Dipanjan Roy "Ofuscación funcional de bajo costo de núcleos IP reutilizables utilizados en hardware de electrónica de consumo mediante bloqueo robusto", IEEE Transactions on Computer Aided Design of Integrated Circuits & Systems (TCAD), 2018
  3. Anirban Sengupta, Dipanjan Roy "Protección de un núcleo de propiedad intelectual durante la síntesis arquitectónica mediante ofuscación basada en transformaciones de alto nivel" IET Electronics Letters, Volumen: 53, Número: 13, junio de 2017, págs. 849-851
  4. M. Yasin, J. Rajendran, O. Sinanoglu y R. Karri. «Sobre la mejora de la seguridad del bloqueo lógico». IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 35, n.º 9 (2016): 1411-1424
  5. E. Castillo, U. Meyer-Baese, A. Garcia, L. Parilla y A. Lloris: "IPP@HDL: esquema eficiente de protección de la propiedad intelectual para núcleos IP", IEEE Transactions on VLSI, 16(5), 2007.
  6. Xilinx Corporation: "Evaluación de la propiedad intelectual de Xilinx",Archivado el 20 de septiembre de 2010 en Wayback Machine , 2009.
  7. M. Wirthlin y B. McMurtrey: "Entrega de IP para FPGAs mediante Applets y JHDL", Design Automation Conference (DAC), 2002.
  8. RS Chakraborty y S. Bhunia: "Protección de la propiedad intelectual del hardware RTL mediante la ofuscación del flujo de datos y control basada en claves", Conferencia Internacional sobre Diseño de Integración a Muy Gran Escala (VLSID), 2010.
  9. J. Roy, F. Koushanfar e IL Markov: "EPIC: acabar con la piratería de circuitos integrados", Diseño, Automatización y Pruebas en Europa (DATE), 2008.
  10. Familia Thicket de ofuscadores de origen
  11. M. Brzozowski y VN Yarmolik: "La ofuscación como protección de los derechos de propiedad intelectual en el lenguaje VHDL", Conferencia Internacional sobre Sistemas de Información Informática y Aplicaciones de Gestión Industrial (CISIM), 2007.
  12. B. Barak, O. Goldreich, R. Impagliazzo, S. Rudich, A. Sahai, SP Vadhan y K. Yang: "Sobre la (im)posibilidad de ofuscar programas", Conferencia de Criptología sobre Avances en Criptología (CRYPTO), 2001.
  13. RS Chakraborty y S. Bhunia: "HARPOON: Una metodología de diseño de SoC basada en ofuscación para la protección de hardware", IEEE Trans. on CAD of Integrated Circuits and Systems (TCAD), 2009.