Patent ES-2890399-T3 (ES)
Title: Arranque seguro de módulos de núcleo
Inventor: DIAZ VICO JESÚS
IPC: H04M1/725
Filed: 2018-09-20
Granted: 2022-01-19
Abstract: Un método implementado por ordenador (102) para actualizar de manera segura un módulo de núcleo actualizado de manera segura (3.4'') de un dispositivo electrónico (200) que evita la intervención del desarrollador de núcleo, en el que el dispositivo electrónico (200) comprende un sistema operativo y una estructura de núcleo autenticada (1), comprendiendo la estructura de núcleo autenticada (1) - metadatos de núcleo (2) que comprenden al menos una clave pública de módulo de núcleo (2.1, 2.2, 2.3, 2.4) de al menos un módulo de núcleo (3.1, 3.2, 3.3, 3.4), en el que cada clave pública de módulo de núcleo (2.1, 2.2, 2.3, 2.4) corresponde a una clave privada de módulo de núcleo, siendo las claves pública y privada de módulo de núcleo correspondientes un par de claves de módulo de núcleo, y un hash raíz de módulo de núcleo (2.5) que comprende un hash raíz de un árbol de Merkle (10), - datos de núcleo (3) que comprenden datos de cuerpo de núcleo (3'), al menos un módulo de núcleo (3.1, 3.2, 3.3, 3.4), en el que un módulo de núcleo (3.1, 3.2, 3.3, 3.4) está asociado con un par de claves de módulo de núcleo, - firma de metadatos de núcleo (4), - firma de datos de cuerpo de núcleo (5), en el que el método comprende las siguientes etapas, a) proporcionar mediante un ordenador (100) un módulo de núcleo actualizado de manera segura generado según el siguiente método implementado por ordenador (101), i) insertar (12) mediante un ordenador (100) un hash camaleón (8.4) de un módulo de núcleo (3.4), una clave privada de módulo de núcleo del módulo de núcleo (3.4) y un módulo de núcleo actualizado (3.4') del módulo de núcleo (3.4) en una función de colisión de hash camaleón obteniendo así unos datos de colisión (13), en el que el hash camaleón (8.4) es un nodo de hoja del árbol de Merkle (10) y los datos de colisión (13) son de tal manera que cuando se combinan los datos de colisión con el módulo de núcleo actualizado (3.4') y se aplica un algoritmo hash a dicha combinación usando una función hash camaleón (ChamHash), el resultado es igual al hash camaleón (8.4) del módulo de núcleo (3.4), ii) combinar (14) mediante el ordenador (100), el módulo de núcleo actualizado (3.4') con los datos de colisión (13) obteniendo así un módulo de núcleo actualizado de manera segura (3.4''). b) enviar (15) mediante el ordenador (100) el módulo de núcleo actualizado de manera segura (3.4'') al dispositivo electrónico (200), - insertar (18) de manera exclusivamente interna mediante el dispositivo electrónico (200) el módulo de núcleo actualizado de manera segura (3.4''), la clave pública de módulo de núcleo correspondiente (2.4) y un hash camaleón (8.4) del módulo de núcleo (3.4) en una función de verificación de hash camaleón obteniendo así un hash de prueba (19), - si el hash de prueba (19) es diferente del hash camaleón (8.4) del módulo de núcleo (3.4), notificar al sistema operativo del dispositivo electrónico (200) que la actualización de manera segura de un módulo de núcleo es inválida, - si el hash de prueba (19) es igual al hash camaleón (8.4) del módulo de núcleo (3.4), notificar (20) al sistema operativo del dispositivo electrónico (200) que la actualización de manera segura de un módulo de núcleo es válida, y continuar con la etapa c), c) instalar (16) de manera exclusivamente interna mediante el dispositivo electrónico (200) el módulo de núcleo actualizado de manera segura (3.4'') en los datos de núcleo (3) actualizando el módulo de núcleo (3.4).