ES3045140T3 - Electronic lock comprising a lock-core software module - Google Patents
Electronic lock comprising a lock-core software moduleInfo
- Publication number
- ES3045140T3 ES3045140T3 ES22728788T ES22728788T ES3045140T3 ES 3045140 T3 ES3045140 T3 ES 3045140T3 ES 22728788 T ES22728788 T ES 22728788T ES 22728788 T ES22728788 T ES 22728788T ES 3045140 T3 ES3045140 T3 ES 3045140T3
- Authority
- ES
- Spain
- Prior art keywords
- lock
- software
- electronic lock
- hardware
- soc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
- G06F21/87—Secure or tamper-resistant housings by means of encapsulation, e.g. for integrated circuits
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00309—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C9/00571—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by interacting with a central unit
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/20—Individual registration on entry or exit involving the use of a pass
- G07C9/29—Individual registration on entry or exit involving the use of a pass the pass containing active electronic elements, e.g. smartcards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/00174—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
- G07C2009/00753—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys
- G07C2009/00769—Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys with data transmission performed by wireless means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
- Lock And Its Accessories (AREA)
Abstract
Se proporciona una cerradura electrónica (12) para controlar el acceso a un espacio físico restringido (16). La cerradura electrónica (12) comprende: hardware de cerradura controlable electrónicamente (68); un sistema en chip (SoC) (61) con procesador (60) y memoria (64). El SoC (61) comprende: un entorno de confianza (67a) con un almacenamiento de datos seguro (22) y un módulo de software de núcleo de cerradura (20) con instrucciones que, al ser ejecutadas por el procesador, hacen que la cerradura electrónica (12): evalúe el acceso de un usuario (6) basándose en los datos almacenados en el almacenamiento de datos seguro (22) y controle el hardware de cerradura (68) basándose en dicha evaluación; y un entorno no confiable (67b) con software no confiable (25, 26) al que se le impide eludir el módulo de software de núcleo de cerradura (20) para controlar el hardware de cerradura controlable electrónicamente (68). (Traducción automática con Google Translate, sin valor legal)
Description
[0001] DESCRIPCIÓN
[0002] Cerradura electrónica que comprende un módulo de software de núcleo de cerradura
[0003] Campo técnico
[0004] La presente divulgación se refiere al campo de una cerradura electrónica para acceso físico y en particular a una cerradura electrónica que comprende un módulo de software de núcleo de cerradura que está separado del software no confiable.
[0005] Antecedentes
[0006] Las cerraduras y llaves están evolucionando desde las tradicionales cerraduras mecánicas puras. Hoy en día, las cerraduras electrónicas son cada vez más comunes. Para las cerraduras electrónicas, no se necesita ningún perfil de llave mecánica para la autenticación de un usuario. Las cerraduras electrónicas se pueden abrir, por ejemplo, mediante una llave electrónica guardada en un soporte especial (llavero, tarjeta, etc.) o en un teléfono inteligente. La llave electrónica y la cerradura electrónica pueden comunicarse, por ejemplo, a través de una interfaz inalámbrica. Estas cerraduras electrónicas ofrecen una serie de ventajas, entre las que se incluyen una mayor flexibilidad en la gestión de los derechos de acceso, registros de auditoría, gestión de llaves, etc.
[0007] Las cerraduras electrónicas también deben ser seguras. Cualquier error en el software de la cerradura electrónica no debería abrir la posibilidad de que un atacante ejecute un código malicioso en la cerradura que haga que la cerradura electrónica quede en estado desbloqueado. Documento Estados Unidos 2002/097141 es otro documento de técnica anterior relevante.
[0008] Sumario
[0009] Un objetivo es proporcionar una cerradura electrónica que sea mejor para evitar que códigos maliciosos accedan al hardware de la cerradura. La invención se define en las reivindicaciones independientes.
[0010] Según un primer aspecto, se proporciona una cerradura electrónica para controlar el acceso a un espacio físico restringido. La cerradura electrónica comprende: hardware de cerradura controlable electrónicamente; un sistema en chip, SoC, que comprende un procesador y memoria; el SoC comprende: un entorno confiable que comprende un almacenamiento de datos seguro y un módulo de software de núcleo de cerradura que comprende instrucciones que, cuando son ejecutadas por el procesador, hacen que la cerradura electrónica: evalúe el acceso de un usuario basándose en datos almacenados en el almacenamiento de datos seguro y controle el hardware de cerradura basándose en la evaluación; y un entorno no confiable que comprende un software no confiable al que se le impide eludir el módulo de software de núcleo de cerradura para controlar el hardware de cerradura controlable electrónicamente.
[0011] Se puede confiar en el módulo de software de núcleo de bloqueo en un entorno de ejecución confiable del SoC, verificado mediante una clave pública almacenada en el almacenamiento de datos seguro.
[0012] El módulo de software de núcleo de cerradura se puede instalar durante la producción de la cerradura electrónica de tal manera que cualquier modificación no autorizada del módulo de software de cerradura instalado resulte en una verificación de confianza fallida en el entorno de ejecución confiable.
[0013] La cerradura electrónica puede configurarse además para instalar una actualización del módulo de software de núcleo de cerradura, en donde el módulo de software de núcleo de cerradura actualizado se verifica utilizando una clave pública almacenada en el almacenamiento de datos seguro.
[0014] El módulo de software de núcleo de bloqueo se puede configurar para comunicarse con un servidor remoto a través del software no confiable, en donde se proporciona seguridad de extremo a extremo entre el módulo de software de núcleo de bloqueo y el servidor remoto en función de los datos almacenados en el almacenamiento de datos seguro. El módulo de software de núcleo de bloqueo se puede configurar para evaluar el acceso basándose en la verificación de una credencial utilizando una clave pública almacenada en el almacenamiento de datos seguro. La seguridad de extremo a extremo puede proporcionarse mediante PKI (Infraestructura de clave pública).
[0015] El software no confiable puede incluir software que implementa protocolos de comunicación con dispositivos externos a la cerradura electrónica.
[0016] Todo software no confiable puede verificarse utilizando claves públicas almacenadas en el almacenamiento de datos seguro.
[0017] El SoC se puede configurar para evitar que el software no confiable controle el hardware de bloqueo controlable electrónicamente al permitir que solo el software en el entorno confiable, verificado mediante una firma criptográfica del software, controle el hardware de bloqueo controlable electrónicamente.
[0018] El SoC se puede configurar para evitar que el software no confiable controle el hardware de bloqueo controlable electrónicamente al permitir que solo el software en el entorno confiable acceda al espacio de direcciones asignado para comunicarse con el hardware de bloqueo controlable electrónicamente.
[0019] El SoC se puede configurar para evitar que el software no confiable controle el hardware de bloqueo controlable electrónicamente mediante un sistema operativo de bajo nivel del SoC.
[0020] El SoC se puede configurar para evitar que el software no confiable controle el hardware de bloqueo controlable electrónicamente mediante el aislamiento del hardware físico.
[0021] El SoC se puede configurar para evitar que el software no confiable controle el hardware de bloqueo controlable electrónicamente mediante el aislamiento de hardware lógico.
[0022] En general, todos los términos utilizados en las reivindicaciones deben interpretarse según su significado ordinario en el ámbito técnico, a menos que se definan explícitamente lo contrario. Todas las referencias a "un/una/el/la elemento, aparato, componente, medio, etapa, etc." deben interpretarse abiertamente como una referencia a al menos una instancia del elemento, aparato, componente, medio, etapa, etc., a menos que se indique explícitamente lo contrario. Las etapas de cualquier método descrito en este documento no tienen que realizarse en el orden exacto descrito, a menos que se indique explícitamente.
[0023] Breve descripción de los dibujos
[0024] A continuación se describen aspectos y realizaciones, a modo de ejemplo, con referencia a los dibujos adjuntos, en los que:
[0025] La figura 1 es un diagrama esquemático que ilustra un entorno en el que se pueden aplicar las realizaciones presentadas;
[0026] La figura 2 es un diagrama esquemático que ilustra los componentes de la cerradura electrónica de la figura 1; y La figura 3 es un diagrama esquemático que ilustra la arquitectura funcional de la cerradura electrónica.
[0027] Descripción detallada
[0028] Los aspectos de la presente divulgación se describirán ahora con más detalle a continuación con referencia a los dibujos adjuntos, en los que se muestran ciertas realizaciones de la invención. Sin embargo, estos aspectos pueden materializarse en muchas formas diferentes y no deben interpretarse como limitantes; más bien, estas realizaciones se proporcionan a modo de ejemplo para que esta divulgación sea exhaustiva y completa, y para transmitir plenamente el alcance de todos los aspectos de la invención a los expertos en la materia. Los números iguales se refieren a elementos iguales a lo largo de la descripción.
[0029] Las realizaciones presentadas en proporcionan una seguridad mejorada para las cerraduras electrónicas. Esto se logra permitiendo que solo el software de núcleo de bloqueo confiable acceda al hardware que se puede usar para desbloquear la cerradura. También existe un almacenamiento de datos seguro que solo está disponible para software confiable. El almacenamiento seguro de datos incluye datos (explicados con más detalle a continuación) que permiten la evaluación del acceso seguro y el control seguro del hardware. De esta forma se evita que software no confiable (por ejemplo, protocolos de comunicación, etc.) acceda al hardware de la cerradura. Por lo tanto, incluso si una vulnerabilidad de seguridad o un código malicioso insertado en el software de comunicación permitiera a un atacante ejecutar código en el software no confiable, este no podría manipular el bloqueo para desbloquearlo (o bloquearlo). La evaluación de acceso se realiza en el software de núcleo de bloqueo confiable, por lo que el hardware de bloqueo solo se puede configurar en un estado desbloqueado cuando la evaluación de acceso da como resultado el acceso otorgado. En comparación con la técnica anterior, el riesgo de un ataque basado en software de acceso exitoso se reduce significativamente.
[0030] La figura 1 es un diagrama esquemático que ilustra un entorno en el que se pueden aplicar las realizaciones presentadas. El acceso a un espacio físico 16 está restringido por una barrera física 15 que se puede abrir y desbloquear de forma selectiva. La barrera física 15 se sitúa entre el espacio físico restringido 16 y un espacio físico accesible 14. Téngase en cuenta que el espacio físico accesible 14 puede ser un espacio físico restringido en sí mismo, pero en relación con esta barrera física 15, el espacio físico accesible 14 es accesible. La barrera 15 puede ser una puerta, portón, trampilla, puerta de armario, cajón, ventana, etc. Se proporciona una cerradura electrónica 12 para controlar el acceso al espacio físico 16, desbloqueando selectivamente la barrera 15.
[0031] La cerradura electrónica 12 puede estar dispuesta en una estructura 17 (tal como una pared) que rodea la barrera 15 (como se muestra) o la cerradura electrónica 12 puede estar dispuesta en la propia barrera 15 (no se muestra). La cerradura electrónica 12 se puede controlar para que esté en un estado bloqueado o en un estado desbloqueado. Un usuario 6 lleva una llave electrónica 2. La llave electrónica 2 puede tener cualquier formato adecuado que permita que un dispositivo de control de acceso se comunique (de forma inalámbrica o conductiva) con la cerradura electrónica 12 para evaluar si conceder acceso. Por ejemplo, la llave electrónica 2 puede tener la forma de un llavero, una tarjeta llave, una llave híbrida mecánica/electrónica o estar integrada en un teléfono inteligente. Dependiendo de los derechos de acceso a la llave electrónica 2, se puede utilizar para desbloquear la cerradura electrónica 12. La evaluación de si se concede o no acceso se puede realizar mediante cualquier proceso adecuado. Por ejemplo, la evaluación puede basarse en la comunicación entre la cerradura electrónica 12 y la llave electrónica 2 para demostrar la propiedad de un secreto compartido. Alternativamente o adicionalmente, la evaluación puede basarse en una cadena de delegaciones de un propietario de cerradura a la llave electrónica 2, donde cada delegación es un elemento de datos que indica el delegante y el delegado, y la delegación está firmada por el delegante. La primera delegación de la cadena tendría entonces como delegante al propietario de la cerradura y la última delegación de la cadena tendría como delegada la llave electrónica 2. Alternativamente o adicionalmente, la cerradura electrónica 12 autentica la llave electrónica 2 y/o autoriza el acceso a la llave electrónica basándose en la comunicación con un servidor 3.
[0032] Opcionalmente se proporciona el servidor 3 que puede comunicarse con la llave 2 y/o la cerradura electrónica 12. Esta comunicación puede tener lugar a través de una red 7, que puede ser una red basada en el protocolo de Internet (IP). La red 7 puede comprender, por ejemplo, una o más de las siguientes: una red inalámbrica local, una red celular, una red de área local cableada, una red de área amplia (como Internet), etc. El servidor 3 puede, por ejemplo, soportar el desbloqueo remoto desde una aplicación de servidor o desde otro dispositivo de usuario.
[0033] La figura 2 es un diagrama esquemático que ilustra los componentes de la cerradura electrónica 12 de la figura 1. La cerradura electrónica 12 comprende un sistema en chip (SoC) 61 y un hardware de cerradura 68. El SoC 61 es una implementación compacta de un ordenador, por ejemplo en una única placa de circuito o incluso en un único circuito integrado.
[0034] Opcionalmente, parte o la totalidad del hardware de bloqueo 68 se proporciona en la misma placa de circuito que el SoC 61. El SoC comprende un procesador 60 que se implementa utilizando cualquier combinación de uno o más de una unidad central de procesamiento (CPU), unidad de procesamiento de gráficos (GPU), multiprocesador, microcontrolador, procesador de señal digital (DSP), etc. adecuados, capaces de ejecutar instrucciones de software 67 almacenadas en una memoria 64 del SoC 61. El procesador 60 podría implementarse alternativamente, parcial o totalmente, utilizando un circuito integrado de aplicación específica (ASIC), una matriz de puertas programables en campo (FPGA), etc.
[0035] La memoria 64 puede ser cualquier combinación de memoria de acceso aleatorio (RAM) y/o memoria de sólo lectura (ROM). La memoria 64 también comprende un almacenamiento persistente no transitorio, que, por ejemplo, puede ser cualquier memoria individual o una combinación de memoria magnética, memoria óptica, memoria de estado sólido o incluso una memoria montada de forma remota.
[0036] También se proporciona una memoria de datos 66 para leer y/o almacenar datos durante la ejecución de instrucciones de software en el procesador 60. La memoria de datos 66 puede incluir, por ejemplo, RAM y/o almacenamiento persistente.
[0037] El SoC 61 incluye además una interfaz de E/S 62 para comunicarse con entidades internas, como el hardware de la cerradura 68, y entidades externas como la llave electrónica 2 y el servidor 3. Opcionalmente, la interfaz de E/S 62 también incluye una interfaz de usuario.
[0038] El hardware de la cerradura 68 puede incluir, por ejemplo, un motor y/o solenoide para controlar la mecánica de manera que la cerradura electrónica 12 asuma un estado bloqueado o desbloqueado.
[0039] Se omiten otros componentes de la cerradura electrónica 12 para no oscurecer los conceptos presentados.
[0040] La figura 3 es un diagrama esquemático que ilustra la arquitectura funcional de la cerradura electrónica 12. En el SoC 1, hay un entorno confiable 67a y un entorno no confiable 67b.
[0041] El entorno confiable 67a comprende un módulo de software de núcleo de cerradura 20 que incluye instrucciones que, cuando son ejecutadas por el procesador, hacen que la cerradura electrónica 12: evalúe el acceso para un usuario 6 y controle el hardware de la cerradura 68 en función de la evaluación. El módulo de software de núcleo de bloqueo 20 es confiable en un entorno de ejecución confiable del SoC 61, verificado mediante una infraestructura de clave pública (PKI), basada en pares de claves que consisten en una clave pública y una clave secreta. De esta manera, es el módulo software del núcleo de la cerradura el que, en su evaluación de acceso, autoriza la llave electrónica 2 del usuario 6. Esto se lleva a cabo en el entorno de confianza 67a.
[0042] El almacenamiento de datos seguro 22 contiene las claves públicas para el fabricante del SoC (para verificar la secuencia de arranque inicial) y para el fabricante de la cerradura (para verificar el software de la cerradura en la secuencia de arranque y para verificar el módulo de software de núcleo de cerradura 20 y, opcionalmente, otro software en el entorno confiable 67a). Además, el almacenamiento de datos seguro 22 puede contener una clave pública para el servidor 3 para la comunicación de autorización/autenticación. Por ejemplo, el módulo de software de núcleo de bloqueo 20 se puede configurar para comunicarse únicamente con servidores (en comunicación segura de extremo a extremo) para los cuales se encuentra una clave pública en el almacenamiento de datos seguro 22. Esto evita ataques de otras entidades en Internet.
[0043] Opcionalmente, el módulo de software de núcleo de bloqueo 20 se instala durante la producción de la cerradura electrónica 12 de tal manera que cualquier modificación no autorizada del módulo de software de núcleo de bloqueo 20 instalado da como resultado una verificación fallida de la confianza en el entorno de ejecución confiable. Esto se puede lograr mediante una firma criptográfica (electrónica), que se requiere para que cualquier software se considere confiable y se basa en una clave secreta, por ejemplo, asociada con el fabricante u otra parte considerada confiable y para la cual se instala una clave pública en el SoC.
[0044] El entorno confiable 67a también incluye datos seguros 22 que no se pueden leer desde el entorno no confiable 67b. En otras palabras, los datos seguros 22 sólo se pueden leer desde el entorno confiable 67a. Los datos seguros 22 pueden comprender, por ejemplo, claves secretas y/o identidad del SoC 61 y/o la cerradura electrónica 12 y/o claves públicas para verificar firmas de módulos de software confiables, tales como el módulo de software de núcleo de cerradura 20 y para verificar firmas de módulos de software no confiables 25, 26 en el entorno no confiable 67b. Esta estructura también permite instalar una actualización del módulo de software del núcleo de bloqueo (o cualquier otro módulo). Luego, el módulo de software de núcleo de bloqueo actualizado 20 se verifica utilizando una clave pública almacenada en el almacenamiento de datos seguro 22.
[0045] El entorno confiable 67a comprende además otro software confiable 21, que incluye componentes de bajo nivel, como el cargador de arranque, para garantizar la separación adecuada entre el entorno confiable 67a y el entorno no confiable 67b, y para verificar que el módulo de software de núcleo de bloqueo 20 es un módulo de software confiable. Esta verificación puede basarse en la verificación de una firma criptográfica del módulo de software de núcleo de cerradura 20, aplicada utilizando una clave secreta, por ejemplo, del fabricante de la cerradura electrónica 12. La firma criptográfica se verifica con una clave pública (correspondiente a la clave secreta) que se almacena en el almacenamiento de datos seguro 22.
[0046] El entorno de confianza 67a se puede implementar, por ejemplo, de acuerdo con lo siguiente. Durante el arranque, la secuencia de arranque inicial del proveedor SoC se carga en el área segura 67a y se ejecuta. Esta secuencia de arranque del proveedor SoC se verifica con una clave pública de firmware que se almacena en el almacenamiento de datos seguro 22. Luego, el bloqueo procede a una fase de arranque de bloqueo, donde cualquier software de secuencia de arranque de bloqueo se verifica con una clave pública del proveedor almacenada en los datos seguros 22 del firmware. Estas claves públicas se almacenan en el almacenamiento de datos seguro 22, al que sólo puede acceder el software en el entorno confiable 67a.
[0047] Se evita que el entorno no confiable 67b eluda el módulo de software de núcleo de bloqueo 20 para controlar el hardware de bloqueo controlable electrónicamente 68. El entorno no confiable 67b no es confiable en el entorno de ejecución confiable del SoC. El sistema operativo de bajo nivel garantiza que solo el software en el entorno confiable 67a tenga permiso para acceder al espacio de direcciones u otros componentes de interfaz para comunicarse con el hardware de bloqueo 68 y, opcionalmente, con otro hardware protegido.
[0048] De este modo, el SoC 61 puede evitar que el software no confiable 25, 26 controle el hardware de bloqueo controlable electrónicamente 68 al permitir que solo el software en el entorno confiable 67a (verificado usando una firma criptográfica del software) controle el hardware de bloqueo controlable electrónicamente 68.
[0049] En una realización, solo el software en el entorno confiable 67a puede acceder al espacio de direcciones asignado para comunicarse con el hardware de bloqueo controlable electrónicamente 68.
[0050] En una realización, se impide que el software no confiable 25, 26 controle el hardware de bloqueo controlable electrónicamente 68 mediante un sistema operativo de bajo nivel del SoC 61. El sistema operativo de bajo nivel puede entonces, por ejemplo, imponer que sólo el software confiable (software en el entorno confiable 67a) sea capaz de direccionar el espacio de direcciones (es decir, direcciones de memoria) que está asignado para comunicarse con el hardware de bloqueo controlable electrónicamente 68. Esto se puede implementar mediante el sistema operativo categorizando cada módulo de software como confiable o no confiable antes de la ejecución, o en tiempo real cuando se invoca o ejecuta cada módulo de software.
[0051] En una realización, se evita que el software no confiable 25, 26 controle el hardware de bloqueo controlable electrónicamente 68 mediante el aislamiento de hardware físico. Por ejemplo, el entorno confiable puede ser una sección física de la memoria para almacenar software, mientras que el entorno no confiable puede ser otra sección
física de la memoria para almacenar software. De manera alternativa o adicional, se evita que el software no confiable 25, 26 controle el hardware de bloqueo controlable electrónicamente 68 mediante aislamiento de hardware lógico, por ejemplo asignando espacios de memoria separados para el entorno confiable y el entorno no confiable. El entorno no confiable 67b puede, por ejemplo, comprender un software de comunicación 25 que implementa protocolos de comunicación con dispositivos externos a la cerradura electrónica. Dichos protocolos de comunicación pueden incluir, por ejemplo, uno o más de los siguientes: Bluetooth, Bluetooth de Baja Energía (BLE), Comunicación de Campo Cercano (<n>F<c>), ZigBee, WiFi (IEEE 802.11x), etc. También se puede proporcionar otro software no confiable 26 en el entorno no confiable 67b. Una o más partes del software de comunicación 25 y/u otro software no confiable 26 pueden proporcionarse utilizando bibliotecas de terceros.
[0052] Los módulos de software no confiables 25, 26 también se pueden verificar con claves públicas almacenadas en el almacenamiento de datos seguro 22. De esta manera, en la cerradura electrónica 12 sólo se pueden instalar módulos de software autorizados, por ejemplo, por el fabricante de la cerradura electrónica 12. En otras palabras, existe el nivel más alto de seguridad para el entorno confiable 67a, en el que los módulos de software confiables pueden acceder al almacenamiento de datos seguro 22 y al hardware de bloqueo 68. Es posible que no se pueda confiar en los módulos de software no confiables 25, 26 para acceder al almacenamiento de datos seguro 22 y al hardware de la cerradura 68, pero estos módulos aún se verifican con la clave pública para evitar que un atacante instale software de ataque aleatorio (no firmado válidamente) en la cerradura electrónica 12.
[0053] El módulo de software de núcleo de cerradura 20 puede comunicarse con un servidor remoto 3 y/o la llave electrónica a través del software de comunicación no confiable 25 sin que el software de comunicación 25 pueda acceder directamente al hardware de cerradura 68 (a través de un controlador en el entorno confiable 67a o directamente sin un controlador intermedio). Se puede proporcionar seguridad de extremo a extremo entre el módulo de software de núcleo de bloqueo 20 y el servidor remoto 3 o la clave electrónica 2, por ejemplo utilizando PKI basada en claves públicas almacenadas en el almacenamiento de datos seguro 22. La clave pública en el almacenamiento de datos seguro 22 puede ser utilizada alternativa o adicionalmente por el módulo de software de núcleo de bloqueo 20 para verificar una credencial que se recibe para evaluar el acceso. En este caso, la credencial se puede recibir a través de una comunicación local (como Bluetooth, Bluetooth de Baja Energía (BLE) o NFC (Comunicación de Campo Cercano)) desde un portador de credenciales, como un teléfono inteligente, una tarjeta llave, etc., con lo que la cerradura electrónica 21 se puede configurar para estar fuera de línea y comunicarse principalmente de manera local con el portador de credenciales. Dado que la clave pública se almacena en el almacenamiento de datos seguro, la fuente original de la credencial aún se puede verificar comparando la firma criptográfica con la clave pública almacenada en el almacenamiento de datos seguro.
[0054] De esta manera, si algún código en el entorno no confiable 67b provoca una violación de seguridad, por ejemplo por un error en el software y/o código malicioso insertado en el software antes de generar su firma, para ejecutar código malicioso, se evita que dicho código acceda al hardware de bloqueo 68. Esto se debe a que sólo el software confiable, como por ejemplo el módulo de software de núcleo de bloqueo 20, tiene acceso a la interfaz con el hardware de bloqueo 68. En otras palabras, cualquier entorno no confiable 67b debe interactuar con el módulo de software de núcleo de cerradura 20 para cambiar el estado de la cerradura electrónica 12, por ejemplo para abrir la cerradura. Dado que es el módulo de software del núcleo de bloqueo 20 el que evalúa si se debe evaluar el acceso, solo mediante credenciales proporcionadas que estén autenticadas y autorizadas por el módulo de software del núcleo de bloqueo 20 cualquier software no confiable puede contribuir a desbloquear el bloqueo 12. El módulo de comunicación 25 del entorno no confiable 67b puede, por ejemplo, obtener dichas credenciales a partir de una clave electrónica. El flujo de datos entre el módulo de comunicación 25 y el módulo de núcleo de bloqueo 20 se puede abstraer y acceder mediante una API (Interfaz de programación de aplicaciones). Esta API puede basarse en una memoria compartida que sea accesible para lectura y escritura tanto para el módulo de comunicación 25 como para el módulo de núcleo de cerradura 20, implementando una interfaz de comunicación bidireccional. El módulo receptor puede recibir datos sondeando la memoria compartida. La memoria compartida puede ser una memoria RAM de doble puerto.
[0055] De esta manera, los módulos de comunicación 25 pueden obtenerse de forma segura, por ejemplo, de fuentes de terceros, e incluso si se encontraran fugas de seguridad en dichos módulos de comunicación, e incluso si se ejecutara algún código malicioso en la cerradura electrónica, dicho código malicioso no podría controlar el hardware de la cerradura, por ejemplo, para poner la cerradura electrónica 12 en un estado desbloqueado.
[0056] Los aspectos de la presente divulgación se han descrito anteriormente principalmente con referencia a unas pocas realizaciones. Sin embargo, como podrá apreciar fácilmente una persona experta en la materia, otras realizaciones distintas de las descritas anteriormente son igualmente posibles dentro del alcance de la invención, tal como se define en las reivindicaciones de patente adjuntas. Por lo tanto, si bien en este documento se han descrito diversos aspectos y realizaciones, otros aspectos y realizaciones serán evidentes para aquellos expertos en la materia. Los diversos aspectos y realizaciones aquí descritas son a modo de ilustración y no pretenden ser limitativos, quedando el verdadero alcance indicado por las reivindicaciones siguientes.
Claims (14)
1. REIVINDICACIONES
1. Una cerradura electrónica (12) para controlar el acceso a un espacio físico restringido (16), comprendiendo la cerradura electrónica (12):
hardware de cerradura controlable electrónicamente (68);
un sistema en chip, SoC, (61) que comprende un procesador (60) y una memoria (64);
donde el SoC (61) comprende:
un entorno confiable (67a) que comprende un almacenamiento de datos seguro (22) y un módulo de software de núcleo de cerradura (20) que comprende instrucciones que, cuando son ejecutadas por el procesador, hacen que la cerradura electrónica (12): evalúe el acceso para un usuario (6) basándose en datos almacenados en el almacenamiento de datos seguro (22) y controle el hardware de la cerradura (68) basándose en la evaluación, en donde el acceso se evalúa basándose en credenciales, a partir de una clave electrónica del usuario que se obtienen por un entorno no confiable del SOC y
que se autentican y autorizan por el módulo de software de núcleo de bloqueo; y el SOC comprende el entorno no confiable (67b) que comprende software no confiable (25, 26) al que se le impide eludir el módulo de software de núcleo de bloqueo (20) para controlar el hardware de bloqueo controlable electrónicamente (68).
2. La cerradura electrónica (12) de acuerdo con la reivindicación 1, en donde el módulo de software de núcleo de cerradura (20) es confiable en un entorno de ejecución confiable del SoC (61), verificado utilizando una clave pública almacenada en el almacenamiento de datos seguro (22).
3. La cerradura electrónica (12) de acuerdo con la reivindicación 2, en donde el módulo de software de núcleo de cerradura (20) se instala durante la producción de la cerradura electrónica (12) de tal manera que cualquier modificación no autorizada del módulo de software de cerradura instalado (20) da como resultado una verificación fallida de la confianza en el entorno de ejecución confiable.
4. La cerradura electrónica (12) de acuerdo con la reivindicación 2 o 3, en donde la cerradura electrónica está configurada además para instalar una actualización del módulo de software de núcleo de cerradura (20), en donde el módulo de software de núcleo de cerradura (20) actualizado se verifica utilizando una clave pública almacenada en el almacenamiento de datos seguro (22).
5. La cerradura electrónica (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el módulo de software de núcleo de cerradura (20) está configurado para comunicarse con un servidor remoto (3) a través del software no confiable (25), en donde se proporciona seguridad de extremo a extremo entre el módulo de software de núcleo de cerradura (20) y el servidor remoto (3) basándose en datos almacenados en el almacenamiento de datos seguro (22).
6. La cerradura electrónica (12) de acuerdo con la reivindicación 5, en donde la seguridad de extremo a extremo se proporciona utilizando PKI, infraestructura de clave pública.
7. La cerradura electrónica (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el módulo de software de núcleo de cerradura (20) está configurado para evaluar el acceso basándose en la verificación de una credencial utilizando una clave pública almacenada en el almacenamiento de datos seguro (22).
8. La cerradura electrónica (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el software no confiable (25, 26) comprende software (25) que implementa protocolos de comunicación con dispositivos externos a la cerradura electrónica.
9. La cerradura electrónica (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde todo el software no confiable (25, 26) se verifica utilizando claves públicas almacenadas en el almacenamiento de datos seguro (22).
10. La cerradura electrónica (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el SoC (61) está configurado para evitar que el software no confiable (25, 26) controle el hardware de cerradura controlable electrónicamente (68) permitiendo únicamente que software del entorno confiable (67a), verificado usando una firma criptográfica del software, controle el hardware de cerradura controlable electrónicamente (68).
11. La cerradura electrónica (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el SoC (61) está configurado para evitar que el software no confiable (25, 26) controle el hardware de cerradura controlable electrónicamente (68) permitiendo únicamente que software del entorno confiable (67a) acceda al espacio de direcciones que está asignado para comunicarse con el hardware de cerradura controlable electrónicamente (68). 12. La cerradura electrónica (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el SoC (61)
está configurado para evitar que el software no confiable (25, 26) controle el hardware de cerradura controlable electrónicamente (68) utilizando un sistema operativo de bajo nivel del SoC (61).
13. La cerradura electrónica (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el SoC (61) está configurado para evitar que el software no confiable (25, 26) controle el hardware de cerradura controlable electrónicamente (68) usando aislamiento de hardware físico.
14. La cerradura electrónica (12) de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el SoC (61) está configurado para evitar que el software no confiable (25, 26) controle el hardware de cerradura controlable electrónicamente (68) usando aislamiento de hardware lógico.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| SE2150597 | 2021-05-11 | ||
| PCT/EP2022/062671 WO2022238424A1 (en) | 2021-05-11 | 2022-05-10 | Electronic lock comprising a lock-core software module |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3045140T3 true ES3045140T3 (en) | 2025-11-27 |
Family
ID=81984567
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES22728788T Active ES3045140T3 (en) | 2021-05-11 | 2022-05-10 | Electronic lock comprising a lock-core software module |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20240257589A1 (es) |
| EP (1) | EP4338081B1 (es) |
| CN (1) | CN117296057A (es) |
| ES (1) | ES3045140T3 (es) |
| WO (1) | WO2022238424A1 (es) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE547831C2 (en) * | 2023-02-20 | 2025-12-09 | Abloy Oy | Controlling access to a restricted physical space using an authorisation signal and unlock trigger signal |
| CN117456645B (zh) * | 2023-11-15 | 2024-08-02 | 苏州琨山通用锁具有限公司 | 一种蓝牙智能门锁配置系统及方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6359547B1 (en) * | 1994-11-15 | 2002-03-19 | William D. Denison | Electronic access control device |
| CN108605034B (zh) * | 2015-10-14 | 2021-02-12 | 总锁有限责任公司 | 无线固件更新 |
| WO2020007339A1 (en) * | 2018-07-04 | 2020-01-09 | Yunding Network Technology (Beijing) Co., Ltd. | Method and system for operating an electronic device |
-
2022
- 2022-05-10 EP EP22728788.5A patent/EP4338081B1/en active Active
- 2022-05-10 CN CN202280034427.6A patent/CN117296057A/zh active Pending
- 2022-05-10 WO PCT/EP2022/062671 patent/WO2022238424A1/en not_active Ceased
- 2022-05-10 US US18/559,645 patent/US20240257589A1/en active Pending
- 2022-05-10 ES ES22728788T patent/ES3045140T3/es active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US20240257589A1 (en) | 2024-08-01 |
| WO2022238424A1 (en) | 2022-11-17 |
| CN117296057A (zh) | 2023-12-26 |
| EP4338081B1 (en) | 2025-09-10 |
| EP4338081A1 (en) | 2024-03-20 |
| EP4338081C0 (en) | 2025-09-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8402267B1 (en) | Security enhanced network device and method for secure operation of same | |
| US20210240869A1 (en) | Secure memory device with unique identifier for authentication | |
| ES2323524T3 (es) | Control de acceso a un recurso por medio de un programa usando una firma digital. | |
| US7500098B2 (en) | Secure mode controlled memory | |
| ES2739896T5 (es) | Acceso seguro a datos de un dispositivo | |
| ES3037484T3 (en) | Method for handling data in a secure container | |
| EP2063378B1 (en) | Telecommunications device security | |
| US20180091315A1 (en) | Revocation and updating of compromised root of trust (rot) | |
| JP5373062B2 (ja) | システム管理コマンドを提供するシステム及び方法 | |
| ES3045140T3 (en) | Electronic lock comprising a lock-core software module | |
| BR102014015634A2 (pt) | método implementado por computador para evitar ataques contra sistemas de autorização, e produto de programa de computador | |
| US11475107B2 (en) | Hardware security | |
| US20100174913A1 (en) | Multi-factor authentication system for encryption key storage and method of operation therefor | |
| CN111199058B (zh) | 用于确保数据的完整性和机密性的系统和方法 | |
| US20020073306A1 (en) | System and method for protecting information stored on a computer | |
| Löhr et al. | Patterns for secure boot and secure storage in computer systems | |
| US20120204254A1 (en) | Method and apparatus for managing security state transitions | |
| ES2986651T3 (es) | Delegaciones de cofirma | |
| Kornaros et al. | Hardware-assisted security in electronic control units: Secure automotive communications by utilizing one-time-programmable network on chip and firewalls | |
| CN119475308A (zh) | 一种软件保护系统、方法、存储介质、设备及程序产品 | |
| US10067770B2 (en) | Platform key hierarchy | |
| NL2022902B1 (en) | Integrated circuit device for loT applications | |
| Dai et al. | A framework to eliminate backdoors from response-computable authentication | |
| EP4670143A1 (en) | AUTHENTICATION OF AN INSTRUCTION PROVIDED TO AN ELECTRONIC LOCK | |
| Murti | Security in embedded systems |