Info

Privacidad basadas en tecnología PUF

Estrategias, enfoques y tácticas de protección para la Industria 4.0 en ciberseguridad

Prof. Dr. Javier Areitio Bertolín, catedrático de la Facultad de Ingeniería. Universidad de Deusto. Director del Grupo de Investigación Redes y Sistemas13/02/2017

La transformación digital de los procesos de producción, la introducción para las comunicaciones de IIoT (Industry Internet of Things) están conformando la Industria conectada o Industria inteligente o Industria 4.0 o Smart-Factory, donde la ciberseguridad-privacidad son de la máxima importancia y esenciales ya que aquí nos jugamos mucho: daños con el medio ambiente, a la salud de los seres humanos-vivos además de otras pérdidas como financieras, reputación, desaparición de organizaciones, etc.

Imagen

Una PUF (Physically Unclonable Function) o P-OWF (Physical One-Way Function) es una función (o primitiva de seguridad física-hardware innovadora) que genera claves no predecibles (respuestas R a desafíos-estímulos C) utilizando un sistema, objeto o entidad física hardware compleja no repetible. Las PUFs intrínsecas se pueden ver como una modalidad de la biometría, es decir la huella dactilar electrónica intrínseca de un circuito integrado. Se basan en muchos fenómenos como por ejemplo los retardos del cableado, retardos de puertas lógicas, las fluctuaciones de mecánica cuántica, etc. Originalmente el término PUF hizo referencia a Physical Unclonable Function (desde un punto de vista semántico es una función física no clonable), pero posteriormente se utilizó la variante Physically Unclonable Function (desde un punto de vista semántico es una función que es físicamente no clonable); actualmente ambos términos se utilizan para referirse al mismo concepto PUF, aunque hay preferencia por el segundo. La reacción o respuesta al desafío se usa como secreto-contraseña y pueden generarse muchos secretos, tan sólo, cambiando el desafío. Las tuplas (C, R) se denominan CRPs (Challenge-Response Pairs) y su número se denomina espacio CRP.

Los pares desafío-respuesta vienen determinados por las variaciones de fabricación del dispositivo PUF. Algunas de las ventajas asociadas al uso de PUFs son: las claves se generan bajo petición, por tanto no se encuentran grabadas en fábrica como secretos no volátiles (que pueden leerse con ataques invasivos); no se necesita programar el secreto; pueden generar múltiples claves maestras; son extraordinariamente difíciles de predecir-caracterizar pero fáciles de medir. Posibles parámetros críticos de la fiabilidad de las PUFs son la temperatura, humedad, voltaje, edad, etc.

El término PUF fue introducido por R. Pappu en el 2001. Una PUF (Physically Unclonable Function) o PRF (Physical Random Function) es una función (que produce medidas de instancia específica inherente de objetos físicos, es decir depende de las propiedades a nano-escala intrínsecas-inherentes del chip) que:

  1. Está basada en un sistema-objeto-estructura física del mundo real analógico (con infinitos decimales).
  2. Es fácil de evaluar (utilizando el sistema físico).
  3. Su salida parece una función aleatoria.
  4. Es no predecible incluso para un atacante con acceso físico. Es una fuente de aleatoriedad.
  5. Es fácil de evaluar pero muy difícil de caracterizar es decir de modelizar.

Las PUFs son sistemas físicos cuyas respuestas a los estímulos físicos (denominados desafíos) son fáciles de medir pero extraordinariamente difíciles de clonar. El proceso de fabricación no es perfecto de modo que existen variaciones no evitables y no controlables, es decir no son idénticos dos chips iguales, se trata en esencia de “ADN-hardware”. Las variaciones de proceso CMOS son por ejemplo: el espesor del óxido, el número de átomos dopantes (impurezas que les falta un electrón o positivas y las que tienen exceso de un electrón o negativas), la densidad del dopado, la posición de los dopantes, etc.

Actualmente los dispositivos de computación van siendo cada vez más distribuidos (los computadores de IIoT-Industria conectada 4.0 (con usuarios no confiables o contaminados con malware software/hardware o con vulnerabilidades), dispositivos embebidos (vehículos conectados/autónomos, dispositivos del hogar, ropa con nanocomputadores en su composición, etc.), dispositivos móviles (smartphones, tablets, gadgets, PCs, robots, drones, cámaras de video-vigilancia, etc.), en este contexto los atacantes pueden modificar físicamente utilizando malware-hardware, dispositivos como sondas invasivas, medidas no invasivas e instalación de software-hardware malicioso (troyanos, APTs-amenazas persistentes avanzadas con vulnerabilidades multi-0day, etc.); el resultado es que las protecciones sólo de software no son suficientes (es preciso protecciones hardware).

Los chips PUF presentan un comportamiento similar a la huella-cerebral de los seres humanos, una reciente investigación de la Universidad de Binghamton (abril 2016) ha puesto de manifiesto una característica del cerebro humano. Cuando se mostraba una imagen a una persona la respuesta neuronal en el electro-encefalograma (EEG) era diferente a la del resto de participantes en el experimento, es como una huella cerebral única. Este descubrimiento se podría utilizar como mecanismo para el acceso a instalaciones en sustitución o combinación con otros sistemas de autenticación como contraseñas o biométricos más fáciles de trampear como la huella dactilar o la lectura del iris del ojo. Este mecanismo no se puede copiar sin que el propietario se entere leyéndole el cerebro y si alguien robase los datos se podría fabricar otra huella con sólo enseñarle a la persona nuevas imágenes y asociarlas con nuevos patrones cerebrales únicos.

Campos de aplicaciones de las PUF para la Industria 4.0

El campo de aplicación de las PUF va cada día en aumento. Algunas de las aplicaciones de las PUFs más relevantes son:

  1. Identificación de sistemas. Es similar a los sistemas de identificación biométricos. Como principales características
    1. Anti-falsificación. Evitar que nos cambien un cajero automático (ATM), una cámara de video-vigilancia, etc.
    2. Presentan vinculación hardware.
    3. Posibilitan medidas hardware pasivas. El método de identificación basado en PUF utiliza un identificador único y no falsificable inherente al dispositivo explorando la propia física del dispositivo. La identificación es similar a la autenticación pero es un concepto más débil. La PUF debe proporcionar la identidad del dispositivo sin ninguna prueba de convencer. En determinadas situaciones la identificación es suficiente para confiar en una entidad.
  2. Generación de claves secretas. Para criptografía basada en claves. Como principales características:
    1. Almacenamiento seguro de claves.
    2. Distribución-gestión segura de claves.
  3. Criptografía embebida en hardware. Posibilitan la integración embebida de PUFs en primitivas criptográficas. Como principales características:
    1. Resistentes a ataques side-channel.
    2. Permiten seguridad física probable.
  4. Autenticación de dispositivos/chips. Permite autenticar chips, dispositivos de computación, máquinas, cámaras de video-vigilancia, usuarios-clientes, token RFID/NFC, etc. La PUF proporciona una medida de la característica física específica del dispositivo. Consecuentemente la autenticación de dispositivos lo proporciona una PUF no un mensaje de autenticación. Además de la simple identificación, normalmente se requiere una evidencia que corrobore la identidad del dispositivo. Dicha evidencia corroborativa significa que sólo puede haber sido creada por ese dispositivo específico concreto. Para la autenticación del dispositivo se requiere la identidad de una segunda parte implicada, dicha segunda parte esta activa en el instante de tiempo en el que se creó la evidencia.
  5. Protección del software y protección de la IP (Intellectual Property). Permite que el software sólo se ejecute sobre dispositivos con licencia. Se utilizan en licencias para ppd (pay-per-device).
  6. Ejecución certificada. Permite que computaciones externalizadas se ejecuten sin alteración.
  7. Computación anónima. La entidad A desea realizar computaciones en el computador de la entidad B (el procesador de B contiene una PUF de silicio) y desea asegurarse que A obtenga los resultados correctos. Se devuelve un certificado con sus resultados para demostrar que fueron correctamente ejecutados.
  8. Licencias software. La entidad A desea vender a la entidad B un programa que sólo se ejecutará en el chip de la entidad de B (identificada por una PUF). El programa esta protegido frente a copias de modo que no se ejecutará sobre otro chip de otra entidad, por ejemplo C.
  9. Seguridad de vehículos-máquinas-CPSs. Para proteger la integridad de componentes.
  10. Sensor PUF. Mecanismo para proteger sensores remotos.
  11. Diseño de protocolos seguros. Como ZKP, transferencias trascordadas, compromisos digitales, etc.
  12. Las PUFs pueden aplicarse en protocolos-aplicaciones criptográficas para generar claves secretas eficientes y fiables y posibilitar autenticación de bajo costo de circuitos integrados.
  13. Almacenamiento seguro de claves. Por ejemplo pares de claves de criptosistemas asimétricos como RSA, EG, etc.
  14. ROKs (Read-Once Keys) creadas por PUFs. Son claves que se pueden leer y utilizar sólo una vez, actúan como nonces valores efímeros de un solo uso.
  15. Vinculación hardware-software. Extraen secretos compartidos.
  16. Identificador de producto único embebiendo por ejemplo una PUF en una etiqueta RFID/NFC, en una máquina, dron, PLC, router, etc.
  17. Sirve como tecnología anti-fraude.

Una PUF es una función instanciada como una estructura física en un chip. La definición muestra que sus acciones son fáciles de evaluar pero resulta extraordinariamente difícil de predecirlas. Se basa en variaciones mínimas creadas por el proceso de fabricación del chip a nivel matriz lo que significa que cada chip puede responder de una manera única y aleatoria a un desafío utilizando un mecanismo desafío-respuesta. Las anomalías a nivel de chip ocurren en capas, bloques, dispositivos, etc. y puede relacionarse con voltaje, reloj, resistencia, capacidad, inductancia, nivel luminoso, nivel de humedad, nivel de V/m, etc.

Esencialmente todas estas mínimas anomalías pueden ser analizadas para crear una huella dactilar digital del dispositivo. Ya que dos dispositivos no serán idénticos hace que cada dispositivo sea único con identificador que es exclusivo de dicho dispositivo. Y lo bueno de las PUFs es que cualquier chip que posee variables que fluctúan puede utilizarse con PUFs. La propiedad más interesante de las PUFs es que no son inherentemente clonables debido a su unicidad. Incluso aunque puedan programarse por alguna razón una ejecución idéntica sobre líneas idénticas con las mismas reglas de diseño. Las diferencias intrínsecas de los materiales, variaciones mínimas de tolerancia en procesos y características eléctricas de los semiconductores (puros y dopados con impurezas) y otros componentes no producirían una clonación exacta.

Caracterización de una entidad PUF

Una PUF es un hardware o sistema de almacenamiento de información con un mecanismo que: (a) Impide la duplicación de una funcionalidad de almacenamiento descrito en otro sistema separado. (b) Permanece efectivo contra un atacante con acceso temporal a todo el sistema original. Una función no clonable físicamente (PUF) es una función-entidad que se integra-vincula a una entidad o dispositivo y le proporciona características únicas de modo que su reproducibilidad se haga prácticamente imposible. Una PUF muestra diferentes respuestas a diferentes desafíos y cualquier intento para alterarlo afectará a su comportamiento del PUF y lo destruirá. Una entidad PUF ideal debe cumplir las siguientes características-propiedades:

  1. Dado un dispositivo PUF y un desafío Cx como entrada debe generar siempre la misma respuesta Rx.
  2. Dado un dispositivo PUF y una respuesta Rx, debe ser muy difícil encontrar el desafío correspondiente Cx.
  3. Dado un dispositivo PUF, dos diferentes desafíos Cx distinto de Cz debe producir diferentes respuestas diferentes Rx y Rz.
  4. Dado un desafío Cx, dos diferentes PUF (PUF1 y PUF2) deben producir dos diferentes respuestas PUF1(Cx) = Rx y PUF2(Cx) = Ry, con Rx distinta de Ry. Esta relación puede utilizarse para vincular-ligar cierta información a un sistema dado añadiendo un PUF a él. Es decir, cuando un sistema-entidad (dispositivo, circuito, equipo, máquina, etc.) produce una respuesta específica, es posible identificarlo de forma única lo que permite especificar dicho sistema-entidad de cualquier otro (impostor o autorizado) que nos presenten.
  5. Cualquier par desafío-respuesta no debe fugar nada en relación a cualquier otro par.
  6. Resistencia del fabricante. El fabricante de un sistema PUF no puede predeterminar la correspondencia entrada-salida.

La idea de utilizar características físicas aleatorias intrínsecas para identificar objetos, sistemas, máquinas y personas no es nueva. La identificación de huella dactilar de humanos data del siglo XX y conduce al área de la biometría fisiológica. En los años 80 y 90 patrones aleatorios en papel y tokens ópticos se utilizaron para identificación única de armas estratégicas. La identidad es un ingrediente esencial en protocolos de seguridad. La identidad de computadores-máquinas puede actualmente descansar en su firma hardware utilizando PUFs.

Imagen

Diferenciación entre tecnologías TPM-PUF y Tamper-Proof Package

Un dispositivo PUF proporciona una capacidad única desafío-respuesta, es decir, cuando dos PUF se proporcionan a un desafío idéntico, producirán cada uno respuestas únicas diferentes. De este modo, un PUF y el sistema-dispositivo o entidad IIoT de la Industria 4.0 que lo contiene pueden ser identificados por el valor de las respuestas que genera a un desafío concreto. Las tecnologías PUF (Phycally Uncloned Functions) y TPM (Trusted Platform Module) presentan ciertas similitudes en sus objetivos, pero son esencialmente diferentes. En TPM existe un chip separado para las funciones de seguridad y las claves secundarias descifradas pueden leerse desde el bus. La tecnología TPM normalmente se integra en la tarjeta madre del dispositivo de computación que protege. La tecnología TPM proporciona diversos servicios ya que técnicamente actúa como cripto-procesador. Esta es una diferencia respecto a un dispositivo PUF que es básicamente un proveedor de capacidad desafío-respuesta. La tecnología TPM se utiliza entre otras cosas para certificar-atestiguar remotamente, vincular-ligar y sellar criptográficamente datos, estos servicios aplican una clave de aprobación que se instala internamente en el chip TPM en tiempo de fabricación.

Una de las áreas donde las tecnologías TPM y PUF difieren es que TPM sólo tiene su clave de aprobación secreta para actuar como la clave para todas las operaciones. Si esta se viese comprometida, por ejemplo cuando se graba en el proceso de fabricación, toda la seguridad de TPM se perdería. Por el contrario el comportamiento de la tecnología PUF es característico del desafío proporcionado. Si se elige un espacio de clave suficientemente grande por ejemplo 2048 bits, entonces no es realista que un atacante pueda modelizar el espacio de respuesta entero lo que significa dos elevado a 2048 posibles elecciones. Los dispositivos hardware denominados tamper-proof package como el IBM 4758 son circuitos hardware caros y voluminosos, incluyen sensores para detectar ataques de acceso (abrir la caja) y requieren de una batería de alimentación eléctrica de forma continuada.

Requisitos de una PUF

Una PUF electrónica satisface los siguientes requisitos principales:

  1. Fiable. Las respuestas de la PUF deberían tener una cantidad baja de ruido en un amplio abanico de circunstancias, por ejemplo cuando esta presente en ambientes de elevada o baja temperatura/humedad, entornos con radiación electromagnética/rayos gamma o entornos que causan cambios en el voltaje del dispositivo, tormentas con aparato eléctrico, auroras boreales, viento sur capaz de crear mucha corriente estática. Finalmente después de muchos años de efectos de edad del silicio, el nivel de ruido debería ser suficientemente bajo.
  2. Bajo costo. El circuito de medida debería ser de bajo costo y fácil de implementar, es decir basado en componentes micro-electrónicos estándar como chips ASICs, micro-Controladores, FPGAs, etc.
  3. Resistencia a ataques físicos. Un ataque físico significa encontrar el comportamiento de la estructura física y debería dañar dicha estructura. En concreto esto implica que el comportamiento funcional de la PUF debería cambiar de tal modo que se pueda detectar dicha alteración o forzamiento. La PUF no debería basarse en un secreto que tenga que ser guardado de forma segura (cifrada-esteganografía).

Consideraciones finales

La Industria 4.0 representa un paradigma que transforma la producción de centralizada a descentralizada, esto es posible debido a los avances tecnológicos que constituyen un revés a la lógica de procesos de producción convencionales ahora el producto se comunica con la maquinaria para indicarle exactamente que hacer. La Industria conectada 4.0 conecta tecnologías de producción de sistemas embebidos y procesos de producción inteligentes para preparar el camino a una nueva edad tecnológica que transformará radicalmente la industria y la cadena de valor de producción así como los modelos de negocio (smart-factory). Y en este contexto conectado la ciberseguridad-privacidad son de la máxima urgencia.

Las PUFs se han convertido últimamente en bloques de construcción prometedores para aplicaciones y protocolos criptográficos de cara a proteger la Industria 4.0. Permiten extraer claves únicas explotando minúsculas diferencias entre dispositivos que son debidas a variaciones de fabricación. A diferencia de los enfoques tradicionales basados en hardware como TPM la clave obtenida de las PUF sólo existe durante un corto período de tiempo aumentando la dificultad del atacante para extraerla de forma ilegítima. Las PUF pueden implantarse en smartphones, microcontroladores, máquinas, sensores inteligentes, cámaras de video-vigilancia multimedia, actuadores (sobre transformadores, motores, cilindros, electro-válvulas, re-conectadores en centrales eléctricas, etc.).

No requieren hardware adicional, pueden utilizarse en protocolos de seguridad de bajo peso computacional sobre dispositivos finales de pequeña CPU. Las PUFs son funciones que establecen la correspondencia entre las propiedades intrínsecas de los dispositivos hardware (por ejemplo, modificación del retardo de propagación debido a la variabilidad del proceso intrínseco) en bits de información únicos y utilizables. Estos bits únicos se han utilizado como primitivas de seguridad de distintas formas como por ejemplo en identificadores únicos, claves secretas, generadores de bits pseudo-aleatorios, etc.

Los dispositivos electrónicos se van progresivamente extendiendo y difundiendo en nuestra vida de cada día con una tasa de crecimiento no visto anteriormente y según parece probablemente continúen haciéndolo así en el futuro (ya estamos en la IoE (Internet of Everything) que integra en su interior a Internet de las Personas, Internet de los Procesos, Internet de las Cosas o IoT, Internet de las Cosas Industrial o IIoT / Industria 4.0 objeto de este artículo, etc. Pero su ubicuidad también los hace un objetivo potencial para atacantes/adversarios y conlleva problemas de seguridad de la información y privacidad. Para luchar contra estos problemas tradicionalmente se ha utilizado criptografía basada en claves binarias secretas que se esconden en los dispositivos y que desconoce el atacante. Por desgracia este enfoque no funciona bien debido a la aparición de ataques físicos invasivos, side-channel, ataques software como ataques API y malware que pueden exponer las claves secretas guardadas. La solución es utilizar PUFs para guardar estos secretos en hardware, que son sistemas físicos. La confianza es un concepto sociológico que expresa la creencia positiva de que una máquina, persona o sistema con el que interactuamos se comportará como se espera.

En la vida actual constantemente y frecuentemente ponemos nuestra confianza en otras partes (depositamos nuestro dinero en una cuenta bancaria y confiamos que el banco guardará seguro nuestro dinero, cuando conducimos un vehículo confiamos que funcionará como se espera y que el resto de vehículos sean conducidos de forma cualificada, por personas o incluso los guiados por robot-computador, etc.). La confianza es muy difícil de conseguir y muy fácil de perder. Asimismo, es extremadamente fácil explotar la confianza que pueda tener una entidad (por ejemplo utilizando ingeniería social/desinformación o empleando métodos técnicos como el envenenando las tablas DNS en el pharming o de tablas ARP).

La IoE (Internet de Todo) y por ende la IIoT sólo trabaja debido a que todos confiamos implícitamente unos en otros. Aquí las PUF pueden ayudar a protegernos de ataques a la confianza. La confianza es siempre una vulnerabilidad a tener muy en cuenta. Si un robot (o un dron autónomo que no necesita de una persona que le guíe y con capacidad para ir por si sólo a la base y cambiar sus baterías cuando se le vayan a agotar) se sustituye por otro no autorizado como saber si es legal para realizar sus tareas, quizás muy críticas.

Referencias

  • Areitio, J. “Seguridad de la Información: Redes, Informática y Sistemas de Información”. Cengage Learning-Paraninfo. 2017.
  • Areitio, J. “Transición de la IoT a la IoE: identificación de riesgos y exploración de contramedidas en privacidad-ciberseguridad”. Eurofach Electrónica. Nº 447.
  • Areitio, J. “Implantación de la Tecnología de Seguridad CASB para el acceso a ecosistemas Cloud en IoE”. Revista Eurofach Electrónica. Nº 447. Mayo 2016.
  • Areitio, J. “Complejidad de los elementos y procesos de la seguridad-privacidad de la información”. Revista Eurofach Electrónica. Nº 453. Octubre 2016.
  • Compañía Intrinsic-ID spin-off de Philips Electronics fabrica PUF para autenticación embebida, URL: https://www.intrinsic-id.com/products/
  • Wachsmann, C. and Sadeghi, A-R “Physically Unclonable Functions (PUFs): Applications, Models and Future Directions”. Morgan & Claypool Publishers. 2015.
  • Chang, C-H and Potkonjak, M. “Secure Systems Design and Trustable Computing”. Springer. 2015.
  • Compañía Verayo fundada en 2005, fabrica tecnología PUF, URL: http://www.verayo.com/
  • Mukhopadhyay, D. and Chakraborty, R.S. “Hardware Security: Design, Threats and Safeguards”. Chapman and Hall / CRC. 2014.
  • Tehranipoor, M. and Wang, C. “Introduction to Hardware Security and Trust”. Springer. 2012.
  • Bohm, C. and Hofer, M. “Physical Unclonable Functions in Theory and Practice”. Springer-Verlag. 2013.

Comentarios al artículo/noticia

Deja un comentario

Para poder hacer comentarios y participar en el debate debes identificarte o registrarte en nuestra web.

Suscríbase a nuestra Newsletter - Ver ejemplo

Contraseña

Marcar todos

Autorizo el envío de newsletters y avisos informativos personalizados de interempresas.net

Autorizo el envío de comunicaciones de terceros vía interempresas.net

He leído y acepto el Aviso Legal y la Política de Protección de Datos

Responsable: Interempresas Media, S.L.U. Finalidades: Suscripción a nuestra(s) newsletter(s). Gestión de cuenta de usuario. Envío de emails relacionados con la misma o relativos a intereses similares o asociados.Conservación: mientras dure la relación con Ud., o mientras sea necesario para llevar a cabo las finalidades especificadasCesión: Los datos pueden cederse a otras empresas del grupo por motivos de gestión interna.Derechos: Acceso, rectificación, oposición, supresión, portabilidad, limitación del tratatamiento y decisiones automatizadas: contacte con nuestro DPD. Si considera que el tratamiento no se ajusta a la normativa vigente, puede presentar reclamación ante la AEPD. Más información: Política de Protección de Datos