Method and device for communicating between an IoT device and a remote computer system
By storing the digital twins of IoT devices in a remote computer system and using mobile communication devices as relays, splitting the data packet into multiple update packet parts, and transmitting only the required update packet parts, the IoT devices and remote computers are solved by storing the digital twins of IoT devices and using mobile communication devices as relays, and dividing the data packet into multiple update packet parts and transmitting only the required update packet parts. The problem of low data transmission efficiency between systems achieves efficient data transmission.
Patent Information
- Application Number
- CN202380047619.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-01
- Filing Date
- 2023-06-26
- Publication Date
- 2025-02-11
AI Technical Summary
The prior art is difficult to efficiently transmit data between IoT devices and remote computer systems, especially if IoT devices do not have the ability to directly communicate with mobile wireless networks.
By storing the digital twins of IoT devices in a remote computer system and using mobile communication devices as relays, the data packets are divided into multiple update packet parts, and only the required update packet parts are transmitted, efficient data transmission is achieved.
It improves the data transmission efficiency between IoT devices and remote computer systems, reduces unnecessary data transmission, and is suitable for most IoT devices.
Smart Images

Figure CN119422351A_ABST
Abstract
Description
Field of the Invention
[0001] The present application relates to a method and device for communicating between an IoT device and a remote computer system. In particular, the present invention relates to a method, a computer system and an IoT device for communicating between an IoT device and a computer system arranged remotely from the IoT device. Background of the Invention
[0003] The so-called Internet of Things or "IoT" is a network of physical devices, machines, vehicles, household appliances and other items embedded with electronic devices, software, sensors, actuators and electronic communication circuits that enable these things or devices to connect and exchange data. The Internet of Things extends the Internet from traditional (standard) computing devices (such as desktops, laptops, smartphones, tablets and smart watches) to any range of traditional non-computing and / or non-Internet physical devices and objects. The Internet of Things is spreading to homes, offices, streets and other places. Generally speaking, IoT devices are configured to connect to the network wirelessly and transmit data. Typically, IoT devices include electronic communication circuits for short-range communication, such as RFID (Radio Frequency Identification), Bluetooth, Bluetooth Low Energy (BLE), etc., which enable data communication up to several meters, such as up to one to five meters, up to ten meters or even up to a hundred meters. However, a large number of IoT devices, if not most or typical IoT devices, are not configured to communicate wirelessly directly and independently over extended ranges via mobile wireless networks (cellular networks), such as GSM (Global System for Mobile Communications) or UMTS (Universal Mobile Telephone System). Unless these IoT devices limited to short-range wireless communication are installed or deployed near the connection of an Internet access point, it is very difficult and / or inefficient to provide data updates, such as firmware updates, access permission updates, etc., to these IoT devices.
[0004] A digital twin is a digital representation of a real-world electronic device. A digital twin is configured to digitally reflect at least some aspects of a real-world device. For example, digital twins are used to maintain an inventory of deployed or installed equipment, or to model and predict equipment behavior (particularly for maintenance or reliability assessment).
[0005] EP3637736A1 discloses a method and apparatus for communicating between an IoT device and a remote computer system, in particular wherein a download data message is transmitted from the remote computer system to a mobile communication device, which then forwards the download data message to the IoT device. According to the disclosure, the download data message is forwarded to the IoT device in a complete form, which may be disadvantageous in certain circumstances, such as when the IoT device only needs a subset of the data contained in the download data message. For example, in the case where the download data message includes a complete and current set of access permissions associated with the IoT device recorded in the remote computer system, the IoT device may only need to change those access permissions that have been updated compared to a previous set of access permissions. Summary of the invention
[0006] The purpose of the present application is to provide a method, a remote computer system and an Internet of Things device, which overcome one or more disadvantages of the prior art.
[0007] In particular, the present application aims to provide a method for communicating between an IoT device and a remote computer system, a remote computer system configured to communicate with an IoT device, and an IoT device, thereby providing more efficient data transmission between the remote computer system and the IoT device.
[0008] According to the present application, the above-mentioned object is achieved by a method for communicating between an IoT device and a remote computer system, the method comprising storing a digital twin of the IoT device in the remote computer system. The digital twin is either linked to a unique identifier of the IoT device or uniquely identifies the IoT device itself, for example by including the unique identifier itself. The digital twin includes a current set of access rights and configuration data for the IoT device, the configuration data including an address of a mobile communication device as a communication relay address. The method comprises generating an update data packet for the IoT device in the remote computer system. The update data packet is divided into a plurality of update package parts, each of which includes a subset of the current set of access rights and update metadata for the update package part. The method comprises transmitting an update data packet for the IoT device from the remote computer system to the mobile communication device via a mobile radio communication network using a communication relay address linked to the unique identifier of the IoT device. The method comprises receiving update metadata for each update package part in the IoT device. The update metadata is received from the mobile communication device via short-range communication. The method comprises identifying one or more required update package parts in the IoT device using the update metadata received from the mobile communication device and the stored metadata associated with one or more sets of access rights stored in a memory of the IoT device. The method includes sending a request message from the IoT device to the mobile communication device via short-range communication, indicating one or more required update package parts. The method includes receiving, in the IoT device, from the mobile communication device via short-range communication, one or more required package parts of the update data packet indicated in the request message.
[0009] In one embodiment, a current set of access rights authorizes an Internet of Things device to access one or more access control terminals. A specific access right in the current set of access rights is associated with a specific access control terminal and includes an access control terminal identifier, an access control terminal encryption key and / or an access time scheme. Access is authorized according to a method. The method includes receiving an access control terminal identifier from a specific access control terminal in an Internet of Things device via short-range communication. The method includes verifying access authorization in the Internet of Things device using the specific access right and the received access control terminal identifier. The method includes generating an access authorization message in the Internet of Things device using the specific access right. The method includes sending an access authorization message from the Internet of Things device to the access control terminal via short-range communication.
[0010] In one embodiment, a current set of access rights authorizes an Internet of Things device to access one or more access control terminals. A specific access right in the current set of access rights is associated with a specific access control terminal and includes an encrypted access payload. Access is authorized according to a method. The method includes sending an encrypted access payload from the Internet of Things device to the access control terminal via short-range communication. The method includes verifying the encrypted access payload in the access control terminal. The method includes authorizing access by the Internet of Things device in the access control terminal.
[0011] In one embodiment, the method further includes storing configuration data of the digital twin in a remote computer system, the configuration data further including memory configuration characteristics, the memory configuration characteristics including memory allocations for a plurality of memory partitions. The method includes generating an update data packet to include the memory configuration characteristics and metadata for the memory update package in a memory update package portion of a plurality of update package portions. The method includes receiving, in an IoT device, a specific update package portion including the memory configuration characteristics from a mobile communication device via short-range communication.
[0012] In one embodiment, the method includes storing configuration data of a digital twin including a current firmware indicator in a remote computer system. The method includes generating an update data packet to include a current firmware according to the current firmware indicator and metadata for the firmware update package in a firmware update package portion of a plurality of update package portions. The method includes receiving, in an IoT device, a firmware update package portion including the current firmware from a mobile communication device via short-range communication.
[0013] In one embodiment, the method further includes transmitting an upload status message for a remote computer system from the IoT device to the mobile communication device via short-range communication. During the transmission, the mobile communication device is within short-range range of the IoT device. The upload status message is transmitted to the mobile communication device for forwarding to the remote computer system via a mobile radio communication network. The upload status message includes a unique identifier of the IoT device. The method includes receiving, in the remote computer system, an upload status message from the IoT device forwarded by the mobile communication device via the mobile radio communication network. The method includes storing a unique identifier linked to a digital twin of the IoT device in the remote computer system.
[0014] In one embodiment, the method further comprises storing configuration data of the digital twin in a remote computer system, the configuration data comprising an address of the mobile communication device as a communication relay address.
[0015] In one embodiment, the method further includes sending a clock update request for a remote computer system from the IoT device to the mobile communication device via short-range communication. The method includes receiving a clock update message from the IoT device in the remote computer system, which is forwarded by the mobile communication device via a mobile radio communication network. The method includes sending a clock update instruction including a current timestamp for the IoT device from the remote computer system to the mobile communication device via a mobile radio communication network using a communication relay address linked to a unique identifier of the IoT device. The method includes receiving a clock update instruction from the mobile communication device via short-range communication in the IoT device. The method includes reconfiguring the clock of the IoT device according to the current timestamp if the time difference between transmitting the clock update request and receiving the clock update instruction does not exceed a predefined timeout.
[0016] In addition to a method for communicating between an IoT device and a remote computer system, the present application also relates to a remote computer system for communicating with an IoT device, the computer system comprising a communication module configured to exchange data with a mobile communication device via a mobile wireless communication network. The computer system also includes a memory configured to store a digital twin of the IoT device linked to a unique identifier of the IoT device, the digital twin comprising a current set of access rights and configuration data for the IoT device, the configuration data comprising an address of the mobile communication device as a communication relay address. The computer system includes a processor configured to generate an update data packet for the IoT device, the data packet being divided into a plurality of update package parts, each update package part comprising a subset of the current set of access rights and update metadata for the update package part. The computer system also includes a processor configured to transmit an update data packet for the IoT device to a communication relay address linked to a unique identifier of the IoT device via a mobile radio communication network. The update data packet is transmitted to the mobile communication device so as to forward one or more required update package parts to the IoT device via short-range communication. The required update package parts are indicated by a request message received by the mobile communication device from the IoT device.
[0017] In one embodiment, the processor is further configured to extract a unique identifier of the IoT device linked to the digital twin from an upload status message from the IoT device, the upload status message being received from the IoT device by the mobile communication device via the short-range communication circuit and forwarded by the mobile communication device to the computer system via the mobile radio communication network. The processor is configured to store the address of the mobile communication device as a communication relay address in a memory of the remote computer system as part of the configuration data of the digital twin of the IoT device.
[0018] In one embodiment, the processor is further configured to receive a clock update message from the IoT device, which is received by the mobile communication device from the IoT device via the short-range communication circuit and forwarded by the mobile communication device to the computer system via the mobile radio communication network. The processor is configured to generate a clock update instruction including a current timestamp for the IoT device. The processor is configured to transmit the clock update instruction for the IoT device via the mobile radio communication network to a communication relay address linked to a unique identifier of the IoT device so as to be forwarded by the mobile communication device to the IoT device via the short-range communication circuit.
[0019] In one embodiment, a current set of access rights authorizes the IoT device to access one or more access control terminals, and one or more access rights in the current set of access rights are associated with a specific access control terminal, including an access control terminal identifier, an access control terminal encryption key, and / or an access time scheme.
[0020] In one embodiment, a current set of access rights authorizes the IoT device to access one or more access control terminals, and one or more access rights in the current set of access rights are associated with a specific access control terminal and include an encrypted access payload.
[0021] In one embodiment, the configuration data of the digital twin further includes memory configuration characteristics, which include memory allocations for multiple memory partitions, and the processor is configured to generate an update data packet to include the memory configuration characteristics and metadata for the memory update package in a memory update package portion of the multiple update package portions.
[0022] In one embodiment, the configuration data of the digital twin further includes a current firmware indicator, and the processor is configured to generate an update data packet to include, in a firmware update package portion of a plurality of update package portions, the current firmware according to the current firmware indicator and metadata for the firmware update package portion.
[0023] In addition to a method for communicating between an IoT device and a remote computer system, the present application also relates to an IoT device. The IoT device includes an electronic communication circuit for short-range communication, a processor connected to the electronic communication circuit, and a memory. The processor is configured to receive update metadata from the remote computer system, the metadata being forwarded by a mobile communication device and being associated with each of a plurality of update package parts of an update data packet received by the mobile communication device. The processor is configured to identify one or more required update package parts using the update metadata received from the mobile communication device and stored metadata associated with one or more sets of access permissions stored in the memory of the IoT device. The processor is configured to send a request message from the IoT device to the mobile communication device via short-range communication, indicating one or more required update package parts. The processor is configured to receive, in the IoT device, one or more required parts of the update data packet indicated in the request message from the mobile communication device via short-range communication.
[0024] In one embodiment, the Internet of Things device uses the required packet portion of the received update data packet to obtain a current set of access rights that authorizes the Internet of Things device to access one or more access control terminals. A specific access right in the current set of access rights is associated with a specific access control terminal and includes an access control terminal identifier, an access control terminal encryption key, and / or an access time scheme. The processor is configured to receive the access control terminal identifier from the specific access control terminal via short-range communication using an electronic communication circuit. The processor is configured to verify the access authorization using the specific access right and the received access control terminal identifier. The processor is configured to generate an access authorization message using the specific access right. The processor is configured to transmit the access authorization message to the access control terminal via short-range communication using the electronic communication circuit.
[0025] In one embodiment, the IoT device uses the required packet portion of the received update data packet to obtain a current set of access permissions that authorizes the IoT device to access one or more access control terminals. A specific access permission in the current set of access permissions is associated with a specific access control terminal and includes an encrypted access payload. The processor is further configured to transmit the encrypted access payload to the access control terminal using the electronic communication circuit.
[0026] In one embodiment, the IoT device is further configured to receive metadata for a memory update package portion from a mobile communication device using the electronic communication circuit. The processor is configured to use the memory configuration characteristics and the metadata stored in the memory in the processor to identify whether a memory update package portion is required. If a memory update package portion is required, the processor is then configured to receive the memory update package portion from the mobile communication device using the electronic communication circuit.
[0027] In one embodiment, the IoT device is further configured to receive metadata for a firmware update package portion from a mobile communication device using the electronic communication circuit. The IoT device is configured to use the firmware indicator and metadata stored in the memory in the processor to identify whether a firmware update package portion is required. If a firmware update package portion is required, the IoT device is configured to receive the firmware update package portion from the mobile communication device using the electronic communication circuit.
[0028] In one embodiment, the processor is further configured to generate an upload status message including a unique identifier of the IoT device. The processor is configured to transmit, using the electronic communication circuit, the upload status message for the remote computer system from the IoT device to a mobile communication device that is within close proximity of the IoT device for forwarding to the remote computer system via a mobile radio communication network.
[0029] In one embodiment, the processor is further configured to transmit a clock update request for the remote computer system to the mobile communication device via short-range communication using the electronic communication circuit. The processor is configured to receive a clock update instruction including a current timestamp for the IoT device from the remote computer system via the mobile communication device using the electronic communication circuit. The processor is configured to reconfigure the clock of the IoT device based on the current timestamp if the time difference between transmitting the clock update request and receiving the clock update instruction does not exceed a predefined timeout. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The present application will be described in more detail by way of example with reference to the accompanying drawings, in which:
[0031] Figure 1 : shows a block diagram schematically illustrating a mobile communication device acting as a relay device between a remote computer system and an IoT device;
[0032] Figure 2 : shows a block diagram schematically illustrating an IoT device connected to an access control terminal;
[0033] Figure 3 : shows a block diagram schematically illustrating a remote computer system;
[0034] Figure 4 : shows a block diagram schematically illustrating an update data packet;
[0035] Figure 5 : shows a block diagram schematically illustrating a mobile communication device;
[0036] Figure 6 : shows a block diagram schematically illustrating an IoT device;
[0037] Figure 7 : A block diagram schematically illustrates an IoT device, in particular an IoT device having a partitioned memory;
[0038] Figure 8 : shows a timing diagram illustrating a series of steps performed by a remote computer system, a mobile communication device, and an IoT device to transmit an update data packet from the remote computer system to the IoT device;
[0039] Fig. 9 : shows a timing diagram illustrating a series of steps performed for access control by an IoT device and an access control device for access control;
[0040] Fig.10 : shows a timing diagram illustrating a series of steps performed by an IoT device and an access control terminal for access control;
[0041] Fig.11 : shows a sequence diagram illustrating a series of steps performed by a remote computer system, a mobile communication device, and an IoT device to transmit a status message from the IoT device to the remote computer system; and
[0042] Fig.12 : Shows a timing diagram illustrating a series of steps performed by a remote computer system, a mobile communication device, and an IoT device to update the IoT device's clock. DETAILED DESCRIPTION
[0043] Reference will now be made in detail to certain embodiments, examples of which are illustrated in the accompanying drawings, in which some, but not all, features are shown. Indeed, the embodiments disclosed herein may be embodied in many different forms and should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided so that its disclosure will satisfy applicable legal requirements. Whenever possible, the same reference numerals will be used to refer to the same components or parts.
[0044] Figure 1A block diagram is shown schematically illustrating an Internet of Things (IoT) device 1. The IoT device 1 is located within a short communication range of a mobile communication device 2. The mobile communication device 2 is connected to a remote computer system 3 via a communication network 8. One or more customer backend systems 4A, 4B are also connected to the remote computer system 3 via the communication network 8. Each customer backend system 4A, 4B is accessible via a customer client computer 5A, 5B connected to the corresponding backend system 4A and 4B, respectively.
[0045] Customer A, B is a person or entity who sets, updates, controls or otherwise manages access rights to the IoT device 1, in particular for users who own the IoT device 1. Each customer A, B manages different access rights for the same IoT device 1. For example, a first customer A may manage access rights for an office building, while a second customer B may manage access rights for an apartment building. The remote computer system 3 is connected to the customer backend system 4A, 4B and is configured to provide a centralized trusted service for configuring the IoT device 1 according to the access rights set by the customer A, B, in particular by generating and providing an update data packet to the IoT device 1, the update data packet including the access rights described herein.
[0046] The Internet of Things device 1 includes a processor 10 , an electronic communication circuit 11 connected to the processor 10 , and a memory 12 connected to the processor 10 .
[0047] The processor 10 includes one or more electronic chips, such as one or more integrated circuits, microcontrollers, microprocessors, application specific integrated circuits (ASICs), etc.
[0048] The memory 12 includes a volatile (non-persistent) and / or non-volatile (persistent) storage module. For example, the memory 12 is implemented using a solid-state memory (e.g., flash memory). The memory 12 is configured to store firmware, an operating system, and / or additional data related to the firmware and / or operating system, such as application data, software libraries, log data, etc. In addition, the memory 12 is configured to store access permissions.
[0049] Each access right is configured as Figure 2 The access control terminal may be a terminal that provides access to the network (described in detail in ), and may include, for example, an access control terminal identifier, an access control terminal encryption key, and / or an access time scheme. Additionally or alternatively, the access permission may include an encrypted access payload.
[0050] The processor 10 is configured to perform one or more steps and / or functions described herein. For example, the processor 10 is configured to perform one or more steps and / or functions stored in the memory 12. These steps and / or functions may be stored in the memory 12 as program code (e.g., as part of firmware, operating system, and / or software library). Other steps and / or functions may be performed by specially arranged circuits in the processor 10.
[0051] According to this embodiment, the processor 10 and the memory 12 are integrated into a single electronic chip, for example implemented in the form of a system-on-chip (SoC).
[0052] In one embodiment, the memory 12 is configured in a specific manner. Specifically, the memory 12 is divided into a plurality of memory partitions, as shown in FIG. Figure 7 As described in more detail.
[0053] In one embodiment, the IoT device 1 includes a security element. The security element is a hardware module that is integrated into the processor 10, or is separate from and connected to the processor 10. For example, the security element is implemented using a universal integrated circuit card (UICC) and / or using an embedded security element (eSE). For example, the security element is configured to securely store one or more cryptographic keys.
[0054] The IoT device 1 is a mobile portable device implemented as a self-contained unit arranged in a housing, such as a dongle, keychain, tag, etc., or a device arranged in another mobile or fixed physical device, such as a machine, vehicle, household appliance and other items embedded with electronic devices, software, sensors and / or actuators. The IoT device 1 is powered by a battery built into the IoT device 1, and can also be powered by a power supply of a physical device integrated in the IoT device 1, or by the mobile communication device 2 through induction.
[0055] The electronic communication circuit 11 is configured to perform short-range communication R with a fixed or mobile communication device 2 within a short range of the IoT device 1. The electronic communication circuit 11 includes RFID (radio frequency identification), NFC (near field communication), Bluetooth or BLE (Bluetooth Low Energy) circuits, UWB (ultra-wideband) or other circuits for short-range wireless data communication, such as up to several meters, such as up to one to five meters, up to ten meters, or even up to one hundred meters.
[0056] Since the IoT device 1 is portable and generally does not have any long-range wireless communication capabilities, the IoT device 1 is not permanently connected to the communication network 8. Therefore, the remote computer system 3 relies on the mobile communication device 2 as a relay device to pass data between the remote computer system 3 and the IoT device 1. The mobile communication device 2, such as a mobile phone, must be brought within close range of the IoT device 1 in order for communication to take place between the IoT device 1 and the mobile communication device 2.
[0057] For at least some types of data exchange between the remote computer system 3 and the IoT device 1, the mobile communication device 2 need not be connected to the remote computer system 2 and the IoT device 1 at the same time. Specifically, during a first time period, the mobile communication device 2 may be connected to the remote computer system 3 but not to the IoT device 1, during which time data is transmitted from the remote computer system 2 and buffered (i.e., temporarily stored) in the mobile communication device 2. During a second time period, the mobile communication device 2 is connected to the IoT device 1 but not to the remote computer system 3, and at least part of the buffered data is transmitted from the mobile communication device 2 to the IoT device 1. The same applies to the opposite case, i.e., data is transmitted from the IoT device 1 to the remote computer system 3 via the mobile communication device 2.
[0058] The mobile communication device 2 is implemented as a mobile wireless phone (cellular phone), a laptop, a tablet computer, a smart watch or other mobile electronic device configured to communicate wirelessly via short-range communication R and a communication network 8 (particularly via a mobile wireless network). To this end, the mobile communication device 2 includes an electronic communication circuit 21 for short-range communication compatible with an electronic communication circuit 11 for the Internet of Things device 1, and a communication module 23 for communicating via the wireless communication network 8, such as Figure 1 The communication network 8 includes a mobile wireless network, such as a GSM (Global System for Mobile Communications) network, a UMTS (Universal Mobile Telephone System) network and / or other cellular wireless communication networks. Figure 1 As shown, the mobile communication device 2 further includes a processor 20 and a memory 22, wherein the memory 22 stores program codes for controlling the processor 20. The communication network 8 further includes the Internet and a LAN (Local Area Network) and a WLAN (Wireless LAN) for accessing the Internet.
[0059] The remote computer system 3 includes one or more computers having one or more processors 30 and a communication module 32, configured to communicate with the mobile communication device 2 and the customer backend system 4A, 4B associated with the remote computer system 3 via a communication network 8. The processor 30 is configured to perform one or more steps and / or functions described herein. The remote computer system 3 is configured as a trusted service provider for the customer backend system 4A, 4B and the associated IoT device 1. The remote computer system 3 also includes a memory 31 for storing data related to the IoT device 1, which will be described below in conjunction with Figure 3 Provide a more detailed explanation.
[0060] The remote computer system 3 is arranged at a place far away from the IoT device 1 and the mobile communication device 2 , for example, in a cloud-based computing center.
[0061] The customer backend systems 4A, 4B each include one or more computers having one or more processors 40 and communication modules for communicating with a remote computer system 3 associated with the customer backend system 4A, 4B via a communication network 8. In one embodiment, the computer system 3 and the customer backend systems 4A, 4B are configured in a shared computer center, such as a cloud-based computing center. The customer backend systems 4A, 4B are each connected to a customer client computer 5A, 5B, which is used by the customer A, B to access the customer backend system 4A, 4B, in particular for configuring access rights managed by the respective customer A, B.
[0062] Figure 2 An embodiment is shown in which the Internet of Things device 1 is configured to exchange data with an access control terminal 6. Typically, the data is exchanged using wireless short-range communication R, however, in one embodiment, a wired connection may be used.
[0063] In this embodiment, for example, the IoT device 1 is associated with a user. Alternatively or additionally, the IoT device 1 is associated with an item owned or controlled by the user, such as a vehicle. The access rights stored on the IoT device 1 allow the user to access one or more access-controlled environments. The access-controlled environment includes, for example, a physical environment, such as a fixed facility or part of a facility (such as an airport, an office building, a parking lot, a warehouse, a private residence, a room), or a portable facility (such as a vehicle). The access-controlled environment may also include a network environment, such as a computer-based resource, service, system, server, etc. Access control is performed in collaboration with the access control terminal 6 using the access rights 13 stored in the memory 12 of the IoT device 1.
[0064] The access control terminal 6 is typically implemented as a fixed installation device located near the boundary or gateway of the access controlled environment. The access control terminal 6 can be powered by a battery and / or connected to a permanent power supply, such as through a mains connection. The access control terminal 6 can also be powered passively, for example using inductive power supply, in particular obtaining power from the Internet of Things device 1. The access control terminal 6 includes an electronic circuit 60 and an electronic communication circuit 61. The electronic circuit 60 is connected to the electronic communication circuit 61. The electronic circuit 60, for example, includes a processing unit and a memory, and is configured to perform one or more steps and / or functions described herein, in particular together with the electronic communication circuit 61.
[0065] The electronic communication circuit 61 includes RFID (radio frequency identification), near field communication (NFC), Bluetooth or BLE (Bluetooth Low Energy) circuit, ultra-wideband (UWB) or other circuits for short-range wireless data communication, such as up to several meters, such as up to one to five meters, up to ten meters, or even up to one hundred meters.
[0066] According to this embodiment, the access control terminal 6 further comprises other components, such as an antenna connected to the electronic communication circuit 61 and / or a status indicator configured to indicate whether the access control is authorized.
[0067] In one embodiment, the access control terminal 6 further includes a proximity sensor configured to detect the IoT device 1 within a short distance of the access control terminal 6 .
[0068] According to this embodiment, the access control terminal 6 is connected to an actuator, or includes an actuator, which is configured to provide or allow a user to access an access-controlled environment. For example, the actuator is connected to a door or gateway that is unlocked and / or opened by the actuator.
[0069] In another embodiment, the access control terminal 6 is connected to the computer system and is configured to transmit a message to the computer system indicating whether access is granted or denied.
[0070] exist Figure 3 , reference numeral 33 represents a digital twin of the IoT device 1 stored in the memory 31 of the remote computer system 3. The digital twin 33 is a digital object associated with the IoT device 1. The digital twin 33 reflects one or more attributes of the IoT device 1. Specifically, the digital twin 33 stores the current set of access permissions for the IoT device 1, so that the administrator of the remote computer system 3 has a complete record of the current access permissions. The digital twin 33 at least partially represents the expected state of the IoT device 1, in particular the memory 12 of the IoT device.
[0071] In one embodiment, the digital twin 33 represents the complete expected state of the memory 12 of the IoT device 1. This allows, for example, the IoT device 1 to be quickly replaced if it fails, is damaged, or is lost. This is because, using the digital twin 33, the new IoT device 1 can be programmed to have the same memory 12 as the old and now failed IoT device 1. In other words, the digital twin 33 allows the storage state of the memory 12 of the IoT device 1 to be fully reconstructed. In addition, this allows the IoT device 1 in the field to be updated from a state that is outdated relative to the current expected state reflected in the digital twin 33.
[0072] For example, if the access rights A1, A2, A3, B4 of IoT device 1 are updated by Customer A and / or Customer B, the digital twin 33 is first updated according to the updated access rights A1, A2, A3, and B4. At this point, IoT device 1 still has the "old" access rights and must be updated according to the methods described herein so that the access rights on the IoT device reflect the updated "new" access rights A1, A2, A3, B4. Similarly, firmware updates or memory reconfigurations are first reflected in the updated digital twin 33, causing IoT device 1 itself to also be updated according to the methods described herein.
[0073] It should be understood that the current set of access rights A1, A2, A3, B4, current firmware 132, etc. mentioned in this document refers to the “current” from the perspective of the digital twin 33. However, from the perspective of the IoT device 1, the “current” access rights A1, A2, A3, B4 mentioned above, for example, can also be regarded as “new” access rights relative to the “old” access rights A1, A2, A3, B4 currently installed on the IoT device 1. In other words, the “old” access rights A1, A2, A3, B4 installed on the IoT device 1 are updated to the current access rights A1, A2, A3, B4.
[0074] The digital twin 33 also stores log data 3314, which includes log events received from the IoT device 1. These log events reflect, for example, state changes, anomalies, and / or access control events of the IoT device 1. The log data 3314 also includes log events related to changes in access rights A1, A2, A3, B4.
[0075] Multiple access rights A1, A2, A3, B4 are divided into different groups. Figure 3In the described example, the access rights A1, A2, A3, B4 are stored in multiple files FA1, FA2, FB3, but other arrangements, data structures and / or groupings are possible. In one embodiment, each file FA1, FA2, FB3 corresponds to a specific access control environment, and each file FA1, FA2, FB3 contains the access rights A1, A2, A3, B4 of the IoT device 1 in the specific access control environment. Specifically, if the access control environment is an office building, for example, then each access right A1, A2, A3, B4 will be assigned to a specific door, and the IoT device 1 (more precisely, the user carrying the IoT device 1) is authorized to access the door.
[0076] Thus, according to this embodiment, the IoT device 1 includes access rights A1, A2, A3, B4 for different access control environments stored in separate files FA1, FA2, FB3. The access control environments are managed by different entities designated as clients A, B. Each client A, B can set access rights A1, A2, A3, B4 for the IoT device 1 to one or more access control environments.
[0077] In reference Figure 3 In the described example, customer A manages two access control environments, so customer A has two files FA1 and FA2 for storing access rights. In the first file FA1 associated with the first access control environment, a first access right A1 and a second access right A2 are stored. Each of the two access rights A1 and A2 is associated with a specific access control terminal 6 of the first access control environment. In the second file FA2 associated with the second access control environment, an access right A3 is stored, and the access right A3 is associated with a specific access control terminal 6 of the second access control environment.
[0078] Similarly, client B has a file FB3 for storing access rights B4, which are associated with the access control terminal 6 in the access control environment managed by client B.
[0079] In addition to the access rights A1, A2, A3, B4 stored in the plurality of files FA1, FA2, FB3 stored in association with the client A and the client B, the digital twin 33 is also configured to store the configuration data 331 of the IoT device 1. The configuration data 331 includes a communication relay address 3310, which is the communication address of the mobile communication device 2 associated with the IoT device 1, a memory configuration feature 3311, a firmware indicator 3312, registration data 3313, log data 3314, and an operating system version 3315.
[0080] The memory configuration characteristics 3311 are related to the characteristics of the memory 12 of the IoT device 1, and in particular to the multiple memory partitions of the memory 12 and their attributes, as described herein.
[0081] The firmware indicator 3312 relates to the current firmware associated with the digital twin 33 and includes one or more of the following: a digital summary of the firmware, a digital digest, a firmware version indicator, or a firmware version timestamp. In one embodiment, the digital twin 33 stores the current firmware, for example in compiled form. The firmware installed on the IoT device 1 may be outdated relative to the current firmware indicated by the firmware indicator 3312, so the firmware on the IoT device 1 needs to be updated. The registration data 3313 includes the address of the remote computer system 3.
[0082] Log data 3314 relates to recorded events associated with the digital twin 33. Log data 3314 is updated based on log files received from the IoT device 1.
[0083] The operating system version 3315 relates to the version of the operating system of the IoT device 1. The operating system includes additional functionality, such as functionality specific to customers A and B, and functionality required by the IoT device 1 that is beyond what the firmware 132 already provides.
[0084] In one embodiment, the configuration data 331 also includes one or more encryption keys for encrypting data transmitted to the IoT device 1 and / or decrypting data received from the IoT device 2. In addition, other encryption keys stored in the memory 31 of the remote computer system 3 may also be used to encrypt and / or decrypt data transmitted to and / or received from the IoT device 1. For example, the encryption keys stored as part of the configuration data 331 include the public key of the IoT device 1, which is received from the IoT device 1, such as as part of a registration message. The encryption keys stored in the memory 31 of the remote computer system 3 include, for example, the private key of the remote computer system 3.
[0085] The memory 31 is also configured to store an IoT device identifier 34 associated with the digital twin 33. The IoT device identifier 34 may also be stored as part of the digital twin 33. The IoT device identifier 34 includes, for example, a serial number or a MAC address of the IoT device 1.
[0086] Figure 4 A block diagram of an update data packet 7 is shown. The update data packet 7 is generated by the remote computer system 3 as follows: Figure 8The update package 7 includes a plurality of update package parts 71, 72, 73, 74, 75. The first group of update package parts 71, 72, 73 includes access rights 13, in particular access rights A1, A2, A3, B4. More specifically, the first update package part 71 includes access rights A1, A2, the second update package part 72 includes access rights A3, and the third update package part 73 includes access rights B4.
[0087] The other update package parts 74, 75 include memory configuration properties 741 and firmware 751, respectively.
[0088] Each update package part 71, 72, 73, 74, 75 also includes metadata 710, 720, 730, 740, 750. Metadata 710, 720, 730, 740, 750 includes, for example, a digital digest (e.g., a hash value), a digest, a version number, a change date, a random number, and / or a random number.
[0089] Figure 5 2 shows a block diagram of a mobile communication device 2, which stores an update package 7 in a memory 22. After receiving the update package 7 from the remote server computer 3, the mobile communication device 2 stores the update package 7 in the memory 12 for updating the IoT device 1, as shown in FIG. Figure 8 Described in more detail.
[0090] Figure 6 A block diagram of an IoT device 1 is shown, which stores in a memory 12 access rights A1, A2, A3, B4 received from a mobile communication device 2 as part of an update data packet 7. The access rights A1, A2, A3, B4 are stored in a plurality of files FA1, FA2, FB1. Furthermore, the memory 12 has a memory configuration feature 131 and has firmware 132 stored thereon.
[0091] The processor 10 of the IoT device 1 is configured to generate and / or identify metadata for various items stored in the memory 12, in particular the files FA1, FA2, FB1 storing access rights. The metadata for each file FA1, FA2, FB1 relates to or identifies the content of the corresponding file FA1, FA2, FB1 and includes, for example, a digital digest (e.g., a hash value), a summary, a version number, a change date, a random number and / or a random number.
[0092] For example, the metadata may be generated using the files FA1, FA2, FB1 and / or the access rights A1, A2, A3, B4. Alternatively, the metadata is retrieved from the memory 12. The metadata for each file FA1, FA2, FB1 is stored, for example, as part of each file (e.g., in the header of the file) or separately from each file FA1, FA2, FB1 (e.g., as part of a directory structure of the memory 12).
[0093] The memory configuration characteristics 131 relate to: the number of partitions of the memory 131, the size of one or more memory partitions, the data format of one or more memory partitions, the read and / or write permissions of one or more memory partitions, and / or the type of data to be stored in one or more memory partitions. More detailed information about the partitions of the memory 131 will be referred to below. Figure 7 Give a description.
[0094] The firmware 132 refers to software running on the IoT device 1, in particular software executed by the processor 10, so that the IoT device 1 performs the steps and / or functions of the IoT device 1 described herein. The firmware 132 in particular controls the short-range communication circuit 11 for exchanging data with the mobile communication device 2 and / or with the access control terminal 6, for example.
[0095] The processor 10 is configured to generate or retrieve metadata related to the firmware 132 from the memory 12. The metadata includes one or more of: a digital summary, a digital digest, a firmware version indicator, or a firmware version timestamp of the firmware 132. The processor 10 is configured to make the firmware 132 updatable.
[0096] In one embodiment, the memory 12 of the IoT device 1 further includes one or more encryption keys for decrypting data received from the remote computer system 3 and / or for encrypting data transmitted to the remote computer system. For example, the encryption key includes a public key of the remote computer system 3, which is received from the remote computer system 3, for example, as a response to a registration message. The encryption key stored in the memory 12 of the IoT device 1 includes, for example, a private key of the IoT device 1.
[0097] Figure 7 A block diagram of an IoT device 1 is shown, wherein a memory 12 is divided into a plurality of memory partitions 120, 121, 122. The memory partitions 120, 121, 122 include a firmware partition 120 configured to store firmware. The access permission partition 121 is configured to store access permissions A1, A2, A3, B4. The encrypted payload partition 122 is configured to store specific types of access permissions, including a third-party authentication key, wherein the third-party authentication key is used to perform access authorization in the access control terminal 6, and more details will be referred to below Fig.10Give a description.
[0098] Each memory partition 120, 121, 122 has a header that stores, for example, the partition size, a storage table, one or more encryption types, and / or an encryption initialization vector. In addition, one or more of the above contents may be stored separately in each data file. For example, a specific data file includes a header for indicating the encryption type and the size of the data file. Figure 7 As shown, the partition sizes of the memory partitions 120, 121, 122 are reconfigurable. Specifically, in one embodiment, after receiving the memory configuration characteristics 741 forming part of the update data packet 7, the processor 10 of the IoT device 1 is configured to reconfigure the memory 12 according to the memory configuration characteristics 741. For example, the memory 12 is reconfigured by increasing or decreasing the size of one or more memory partitions 120, 121, 122.
[0099] In the following paragraphs, reference is made to Figures 8 to 10 A plurality of steps are described, which are respectively performed by an IoT device 1, a mobile communication device 2, a computer system 3 and a customer backend system 4A, 4B or its processors 10, 20, 30, 40, and which are described in an exemplary order for exchanging data between the IoT device 1, the mobile communication device 2, the remote computer system 3, and / or the customer backend system 4 via a communication network 8. In particular, a possible sequence of steps for updating the IoT device 1 is described.
[0100] exist Figure 8 In step S10, access rights for the IoT device 1 are defined. The access rights are defined in the remote computer system 3 based on data received from the customer backend system 4. The customer backend system is operated by a specific customer (e.g., customer A or customer B). The access rights are configured such that, when they are downloaded to the IoT device 1, they authorize the IoT device 1 (in one example, specifically the person carrying the IoT device 1) to access the access controlled environment. Customers A, B define these access rights using, for example, customer client computers 5A, 5B, as described above with reference to Figure 1 described.
[0101] In one embodiment, the customer backend system 4 is co-located with the remote computer system 3 .
[0102] In one example, as part of defining access rights, the remote computer system 3 may receive an identifier of an IoT device 1 from a customer backend system 4, or transmit a list of IoT devices 1 associated with a particular customer A, B to the customer backend system 4, and subsequently receive a selected IoT device 1 from the customer backend system.
[0103] In step S11, the remote computer system 3 updates the digital twin 33 with the newly defined access rights. In particular, any changes to the access rights already stored as part of the digital twin 33, including additions, deletions and / or modifications, will be implemented.
[0104] In step S12, the remote computer system 3 stores the newly updated access rights as part of the digital twin 33. At this particular point in time, the digital twin 33 has a current set of access rights. At this particular point in time, the IoT device 1 has an expired set of access rights, which will be updated through the following steps.
[0105] In step S13, the remote computer system 3 generates an update data package 7. The update data package 7 includes a plurality of update package parts 71, 72, 73, 74, 75, as described above with reference to Figure 4 At least some of the update package parts 71 , 72 , 73 include access rights A1 , A2 , A3 , B4 . The remaining update package parts 74 , 75 may relate to memory configuration properties 741 and / or firmware 751 , for example.
[0106] In one embodiment, the access rights included in the update package parts 71, 72, 73 are a complete set of current access rights stored in the digital twin 33. In other words, all access rights of the digital twin 33 are included in the update data package 7.
[0107] In one embodiment, the update data packet 7 is further generated by the remote computer system 3 to include a firmware update package part 75. Specifically, the processor 30 of the remote computer system 3 generates the update data packet 7 to include the current firmware 751 defined by the firmware indicator 3312. Similarly, in one embodiment, the update data packet 7 is further generated by the remote computer system 3 according to the memory configuration characteristics 3311 to include the storage update package part 75. In one example, the update data packet 7 does not include any update package part related to access rights, and in particular, it only includes the firmware update package part 75. From the perspective of the IoT device 1, the current firmware 751 can be regarded as "new" firmware 751.
[0108] The update data packet 7 is generated by the remote computer system 3 to include update metadata 710, 720, 730, 740, 750 related to the content of the update data packet 7, in particular metadata related to the update package parts 71, 72, 73, 74, 75. In one embodiment, the update data packet 7 and / or the update package parts 71, 72, 73, 74, 75 are digitally signed by the remote computer system 3 using one or more encryption keys, for example, including one or more keys belonging to one or more public / private key pairs. Thus, for example, the digital signature of the update data packet 7 and / or its content, including the update package parts 71, 72, 73, 74, 75, is included in the update data packet 7. For example, the digital signature of a specific update data packet part 71, 72, 73, 74, 75 is included in a specific update metadata 710, 720, 730, 740, 750, respectively. The encryption key used includes, for example, a private key of the remote computer system 3 and / or a public key of the Internet of Things device 1 stored in the remote computer system 3.
[0109] In one embodiment, the update data packet 7 and / or the update package parts 71 , 72 , 73 , 74 , 75 are encrypted by the remote computer system 3 using one or more encryption keys.
[0110] In step S14 , the update data packet 7 is transmitted by the remote computer system 3 to the mobile communication device 2 via the communication network 8 .
[0111] In step S15, the mobile communication device 2 receives the update data packet 7 from the remote computer system 3 via the communication network 8. The update data packet 7 is received while the mobile communication device 2 is connected to the communication network 8. The mobile communication device 2 does not have to be connected to the IoT device 1 at the same time. The mobile communication device 2 stores the received update data packet 7 in the memory 22. Thus, the mobile communication device 2 buffers the update data packet 7 received from the remote computer system 3.
[0112] In step S16, the mobile communication device 2 uses short-range communication to forward the update metadata 710, 720, 730, 740, 750 to the IoT device 1. Specifically, once the mobile communication device 2 enters the communication range with the IoT device 1, the electronic communication circuit 21 in the mobile communication device 2 transmits the update metadata 710, 720, 730, 740, 750 to the IoT device 1, which is received by the electronic communication circuit 11 in step S17.
[0113] In step S18, the IoT device 1 identifies which update package parts 71, 72, 73, 74, 75 of the update data package 7 are needed. Specifically, the processor 10 of the IoT device 1 compares the received update metadata with the content of the memory 12 to identify whether the update data package 7 includes any updates to the access rights, memory configuration and / or firmware. To this end, the processor 10 retrieves metadata related to the content of the memory 12 from the memory 12. For example, the processor 10 retrieves metadata for each file FA1, FA2, FB1 containing access rights A1, A2, A3, B4. The processor 10 then compares the retrieved metadata with the received update metadata 710, 720, 730, 740, 750. Additionally or alternatively, the processor 10 generates metadata for the content of the memory 12 and compares the generated metadata with the received update metadata 710, 720, 730, 740, 750. The comparison performed by the processor 10 includes, for example, comparing version numbers, digital summaries, digital abstracts, release dates, timestamps, identifiers, etc.
[0114] In one embodiment, the IoT device 1 is further configured to verify the digital signature of the update package 7 and / or one or more update package parts 71, 72, 73, 74, 75, which are included in the update metadata 710, 720, 730, 740, 750. In addition, the IoT device 1 is further configured to verify whether the IoT device 1 is the intended recipient of the update data packet 7. For example, one or more encryption keys are used to verify the digital signature. The encryption keys used include, for example, a public key of the remote computer system 3 and / or a private key of the IoT device 1 stored in the memory 12.
[0115] In one embodiment, the IoT device 1 is further configured to perform an integrity check on the contents of the memory 12. The integrity check includes, for example, identifying missing, incomplete and / or corrupted portions of the memory 12 and associating these portions with the update package parts 71, 72, 73, 74, 75 using the received update metadata. The IoT device 1 is configured to use the results of the integrity check to identify the required update package parts 71, 72, 73, 74, 75. For example, if the update package parts 71, 72, 73, 74, 75 correspond to missing, incomplete and / or corrupted portions of the memory 12, they are identified as needed.
[0116] The processor 10 then generates a request message including an indication of one or more required update package parts 71, 72, 73, 74, 75. For example, the request message includes update metadata 710, 720, 730, 740, 750 related to the update package parts 71, 72, 73, 74, 75 that have been modified and therefore need to be updated.
[0117] In step S19, the IoT device 1 uses short-range communication to transmit a request message to the mobile communication device 2. In step S110, the mobile communication device 2 receives the request message.
[0118] In step S111 , the mobile communication device 2 transmits one or more required update package parts 71 , 72 , 73 , 74 , 75 to the IoT device 1 .
[0119] In step S112, the IoT device 1 receives the required update package parts 71, 72, 73, 74, 75 from the mobile communication device 2. Typically, not all update package parts 71, 72, 73, 74, 75 will be required by the IoT device 1. This is because in one embodiment, the update package 7 contains a complete set of access rights A1, A2, A3, B4 for the IoT device 1, not all of which have been updated since the last update. Therefore, typically only a subset of the update package parts 71, 72, 73, 74, 75 will be transmitted by the mobile communication device 2 to the IoT device 1.
[0120] In one embodiment, the IoT device 1 is configured to decrypt one or more of the required update package parts 71, 72, 73, 74, 75 using an encryption key stored in the memory 12. The encryption key used is, for example, a public key of the remote computer system 3 or a private key of the IoT device 1 stored in the memory 12.
[0121] In this way, the IoT device 1 is updated efficiently because only those update package parts 71, 72, 73, 74, 75 that are required by the IoT device 1 are transmitted from the mobile communication device 2 to the IoT device 1. This is more efficient because short-range communications between the IoT device 1 and the mobile communication device 2 typically have a lower bandwidth than data communications between the mobile communication device 1 and the remote computer system 3. Furthermore, by designing the data exchange in such a way that the IoT device 1 is configured to select the required update package parts 71, 72, 73, 74, 75, in one embodiment, the IoT device 1 is able to recover missing, incomplete and / or damaged portions of the memory 12. The IoT device 1, and in particular the processor 10, then implements the received update package parts 71, 72, 73, 74, 75. Implementing the received update package parts 71, 72, 73, 74, 75 includes, for example, updating the access rights A1, A2, A3, B4 stored in the memory 12, reconfiguring the memory 12 according to the memory configuration characteristics 131 and / or updating the firmware 132.
[0122] It should be understood that, for example, access rights A1, A2, A3, B4 referred to in some places in this document as being associated with “current” access rights A1, A2, A3, B4 may be “new” access rights for IoT device 1, i.e., access rights that have not been previously stored in IoT device 1.
[0123] In one embodiment, the memory 12 is reconfigured by the processor 10, which includes, for example, the processor 10 adjusting the size of the memory partitions 120, 121, 122, reallocating the memory 12 from a particular memory partition 120, 121, 122 to another memory partition 120, 121, 122, reformatting one or more memory partitions 120, 121, 122, erasing (e.g., securely erasing) one or more memory partitions 120, 121, 122, and / or updating encryption keys of one or more memory partitions 120, 121, 122, etc.
[0124] In one embodiment, firmware 132 is updated by processor 10 , which includes writing, deleting and / or overwriting one or more components of firmware 132 using firmware 751 included in a received update packet 7 , for example.
[0125] Fig. 9 A plurality of steps are involved in performing access authorization using the IoT device 1. Specifically, access authorization is performed in the IoT device 1 based on the access rights stored in the IoT device 1 and the identifier of the access control terminal 6. In order to perform access control, the IoT device 1 is brought into a close range of communication with the access control terminal 6.
[0126] In step S20, the access control terminal 6 transmits the access control identifier to the IoT device 1. Specifically, the electronic circuit 60 of the access control terminal 6 is configured to transmit the access control terminal identifier to the nearby IoT device 1 using the electronic communication circuit 61. The short distance is defined as within 10 meters, within 5 meters, within 1 meter, within 20 centimeters, or within 2 centimeters.
[0127] In step S21 , the IoT device 1 receives an access control identifier. Specifically, the processor 10 uses the electronic communication circuit 11 to receive the access control terminal identifier.
[0128] In step S22, the IoT device 1, in particular the processor 10, selects the access right corresponding to the access control terminal identifier from the memory 12. For example, the selection is performed by the processor 10 identifying the access right, the access right including the access control terminal identifier matching the received access control terminal identifier. If the processor 10 cannot select the corresponding access right, the access authorization is terminated, and the access control terminal 6 does not provide access.
[0129] In one embodiment, in addition to the access control terminal identifier, or as a substitute for the access control terminal identifier, the access control terminal 6 also transmits a digitally signed message, such as a message signed using an encryption key stored in the IoT device 1, so that the IoT device 1 can confirm the legitimacy of the access control terminal 6. In one embodiment, the digitally signed message includes the access control terminal identifier or otherwise identifies the access control terminal 6.
[0130] In step S23, the IoT device 1, in particular the processor 10, verifies the access authorization using the received access control terminal identifier. In one example, the access authorization is verified when the access right corresponding to the access control terminal identifier is affirmatively selected. In another example, the processor 10 uses the time scheme of the access right and the internal clock of the IoT device 1 to check whether the IoT device 1 has the access authorization at a specific current time.
[0131] In step S24, the IoT device 1, in particular the processor 10, generates an access authorization message. The access authorization message is configured to enable the access control terminal 6 to grant access rights upon receipt.
[0132] In one embodiment, the access authorization message is digitally signed using an encryption key stored in the IoT device 1 .
[0133] In step S25 , the IoT device 1 , in particular the processor 10 , transmits an access authorization message to the access control terminal 6 using the electronic communication circuit 11 .
[0134] In step S26, the access control terminal 6 receives the access authorization message. In one embodiment, the access control terminal 6 verifies the digitally signed access authorization message.
[0135] In step S27, the access control terminal 6 provides access authorization to the access control environment. Depending on the embodiment and the type of access control environment, providing access authorization includes sending a control signal to an actuator of a lock, door or other entrance. In another embodiment, providing access authorization includes allowing access to a network environment.
[0136] Fig.10 A plurality of steps for performing access authorization using the IoT device 1 are shown. Specifically, access authorization is performed in the access control terminal 6 using the access rights transmitted from the IoT device 1 to the access control terminal 6, particularly the rights including the encrypted access payload. To perform access control, the IoT device 1 is brought within a close range to the access control terminal 6. For example, a close range is defined as, for example, within 10 meters, within 5 meters, within 1 meter, within 20 centimeters, or within 2 centimeters.
[0137] In step S30 , similar to the above step S20 , the access control terminal 6 transmits the access control terminal identifier to the IoT device 1 , and the IoT device 1 receives the access control terminal identifier in step S31 .
[0138] In step S32, the IoT device 1, in particular the processor 10, selects an access right corresponding to the access control terminal identifier. In this case, the access right includes an encrypted access payload. The encrypted access payload includes a third-party authentication key configured by the manufacturer or operator of the access control terminal 6. For example, the encrypted access payload is initially provided to the remote computer system 3 via the customer backend system 4. If the corresponding access right is not selected, the access control is terminated. For example, the access right is selected by matching the access control terminal identifier included in the access right with the received access control terminal identifier.
[0139] In step S33 , the IoT device 1 transmits the encrypted access payload to the access control terminal 6 using short-range communication.
[0140] In step S34 , the access control terminal 6 , in particular the electronic circuit 60 , receives the encrypted access payload using the electronic communication circuit 61 .
[0141] In step S35, the access control terminal 6 verifies the encrypted access payload. Verifying the encrypted access payload includes, for example, decrypting the encrypted access payload in the electronic circuit 60 and verifying the third-party authentication key.
[0142] In step S36, similar to the above step S27, the access control terminal provides access authorization.
[0143] Fig.11 Multiple steps of the IoT device 1 transmitting a status message to the remote computer system 3 are shown.
[0144] In step S40, the IoT device 1, in particular the processor 10, generates a status message. The status message includes the IoT device identifier 34 and further includes, for example, a status change in the IoT device 1, such as indicating that access rights have been updated, the storage configuration 131 of the memory 12 has been updated, and / or the firmware 132 has been updated. The status message also includes, for example, anomalies (such as errors occurring in the processor 10 and / or the memory) and / or access control events. For example, the status message indicates the access control terminal 6 on which the access control was performed (i.e., includes the access control terminal identifier and optionally includes one or more times when the access control was performed on the specific access control terminal 6).
[0145] In one embodiment, the status message is sent by IoT device 2 during commissioning of IoT device 1 .
[0146] In one embodiment, the status message includes the address of the remote computer system 3, so that the mobile communication device 2 can forward the status message to the remote computer system 3 using the address indicated in the status message without previously storing or otherwise receiving or retrieving the address of the remote computer system.
[0147] In step S41 , the IoT device 1 , in particular the processor 10 , transmits a status message to the mobile communication device 2 via short-range communication.
[0148] In step S42, the mobile communication device 2 receives the status message. To achieve this, the mobile communication device 2 must enter the communication range with the IoT device 1. The status message is stored in the memory 22 of the mobile communication device 2 until a connection is established in the mobile communication device 2 with the remote computer system 3 via the communication network 8.
[0149] In step S43 , the mobile communication device 2 forwards the status message to the remote computer system 3 via the communication network 8 .
[0150] In step S44, the remote computer system 3 receives the status message via the communication network 8. The remote computer system 3 identifies the communication address of the mobile communication device 2.
[0151] In step S45 , the processor 30 of the remote computer system extracts the IoT device identifier 34 from the status message.
[0152] The processor 30 is configured to check whether an IoT device identifier 34 corresponding to the extracted IoT device identifier 34 is stored in the memory 31 of the remote computer system 3. If not, it means that the IoT device 1 has not been registered in the remote computer system 3 before. The remote computer system 3 is configured to generate a digital twin 33 for the IoT device 1 and store the digital twin 33 in the memory 31.
[0153] If the extracted IoT device identifier 34 matches the stored IoT device identifier 34 , the remote computer system 3 continues with subsequent operations.
[0154] In step S46, the remote computer system 3 is configured to use the status message to update the digital twin 33. In particular, the log events are stored as part of the digital twin 33.
[0155] Furthermore, if the communication address does not match the communication relay address 3310 stored in the digital twin 33, or if the digital twin 33 is newly generated, the communication relay address 331 is respectively updated or stored as the communication address of the mobile communication device 2. In this way, at any particular point in time, only one mobile communication device 2 is designated as a relay device for the IoT device 1.
[0156] In step S47 , the updated digital twin 33 is stored in the memory 31 of the remote computer system 3 by the processor 30 .
[0157] Fig.12 A number of steps are shown that are performed to update the internal clock of the IoT device 1. The processor of the IoT device 1 uses the internal clock of the IoT device 1 to verify access control, in particular to check whether the current time at which the access control is being performed corresponds to the time at which the access control is authorized as indicated by the time scheme for the specific access right. Since the clock drifts over time, the clock needs to be reconfigured periodically as described below.
[0158] In step S50, the IoT device 1, in particular the processor 10, generates a clock update message. The clock update message may also, for example, constitute a part of the above-mentioned status message. The clock update message includes the IoT device identifier 34 of the IoT device 1.
[0159] In step S51, the clock update message is transmitted from the IoT device 1 to the mobile communication device 2 and in step S52 is received by the mobile communication device 2. The processor 10 is configured to store a timestamp from the clock in the memory 12, the timestamp indicating the time point when the clock update message is sent.
[0160] In step S53, the clock update message is forwarded to the remote computer system 3 via the communication network 8 by the mobile communication device 2. In step S54, the remote computer system 3 receives the clock update message.
[0161] In step S55, the remote computer system 3 generates a clock update instruction, which includes the current timestamp of the remote computer system 1, in particular the timestamp of the clock of the remote computer system 3. According to this embodiment, the remote computer system 3 generates the clock update instruction using the current time received from the external time server.
[0162] In one embodiment, the remote computer system 3 digitally signs the clock update instruction so that the IoT device 1 can verify the legitimacy of the clock update instruction. For example, the remote computer system 3 digitally signs the clock update instruction using one or more encryption keys. In this way, the digital signature is included in the clock update instruction. In addition, the digital signature can indicate that a specific IoT device 1 is the intended recipient. For example, the encryption key used can include a private key of the remote computer system 3 and / or a public key of the IoT device 1.
[0163] In step S56, the clock update instruction is sent from the remote computer system 3 to the mobile communication device 2 through the communication network 8. In step S57, the mobile communication device 2 receives the clock update instruction.
[0164] In step S58 , the mobile communication device 2 forwards the clock update instruction to the IoT device 1 via short-range communication.
[0165] In step S59, the IoT device 1 receives the clock update instruction. The IoT device 1 compares the current time indicated by its clock with a stored timestamp indicating the point in time when the clock update message was sent. If the difference between the current time and the stored point in time does not exceed a predefined time period, such as less than 20 seconds, such as less than 10 seconds, or such as less than 5 seconds, the clock update instruction is accepted. This ensures that the clock update instruction is received in a timely manner without excessive delay, so that the clock update instruction reflects the actual time determined by the remote computer system 3 within the accuracy defined by the predefined period. It should be understood that in order to achieve this, the mobile communication device 2 must be simultaneously within the communication range of the IoT device 1 and connected to the IoT device 1, and must also be connected to the remote server 3 via the communication network 8, and such connection must be within the communication range of the IoT device 1. Fig.12 Some of the steps shown in occur simultaneously.
[0166] In one embodiment, the IoT device 1 verifies the digital signature included in the clock update instruction, thereby verifying the legitimacy of the clock update instruction. For example, the IoT device 1 uses one or more encryption keys to verify that the clock update instruction is signed by the remote computer system 3. In addition, it can also be verified that the clock update instruction is for a specific IoT device 1. The encryption keys used include, for example, a public key of the remote computer system 3 and / or a private key of the IoT device 1 stored in the memory 12.
[0167] In step S510, the IoT device 1 reconfigures the clock using the clock update instruction. Specifically, the processor 10 of the IoT device 1 uses the current timestamp of the remote computer system 3 included in the clock update instruction to update its internal clock.
[0168] It should be noted that in the present description, the order of steps is presented in a specific order, however, those skilled in the art will understand that the order of at least some steps may be changed without departing from the scope of the present disclosure.
Claims
1. A method for communicating between an Internet of Things device (1) and a remote computer system (3), the method comprising: In a remote computer system (3), a digital twin (33) of the IoT device linked to a unique identifier (34) of the IoT device (1) is stored (S12), the digital twin (33) comprising a current set of access rights (13) and configuration data (331) for the IoT device (1), the configuration data (331) comprising an address of the mobile communication device (2) as a communication relay address (3310); In a remote computer system (3), an update data packet (7) is generated (S13) for the IoT device (1), the update data packet (7) being divided into a plurality of update package parts (71, 72, 73), each update package part (71, 72, 73) including a subset of a current set of access rights (13) and update metadata (710, 720, 730) for the update package part; transmitting (S14) an update data packet (7) for the IoT device (1) from the remote computer system (3) to the mobile communication device (2) via the mobile radio communication network using a communication relay address (3310) linked to a unique identifier (34) of the IoT device (1); In the IoT device (1), update metadata (710, 720, 730) for each update package part (71, 72, 73) is received (S17) from the mobile communication device (2) via short-range communication; In the IoT device (1), using update metadata (710, 720, 730) received from the mobile communication device (2) and stored metadata associated with one or more sets of access rights (13) stored in a memory of the IoT device (1), identifying (S18) one or more required update package parts (71, 72, 73); transmitting (S19) a request message indicating one or more required update package parts (71, 72, 73) from the IoT device (1) to the mobile communication device (2) via short-range communication; and In an IoT device (1), one or more required packet parts (71, 72, 73) of an update data packet (7) indicated in a request message are received (S110) from a mobile communication device (2) via short-range communication.
2. The method according to claim 1, wherein: A current set of access rights (13) authorizes the IoT device (1) to access one or more access control terminals (6), wherein a specific access right (1300, 1301, 1302, 1303) in the current set of access rights (13) is associated with a specific access control terminal (6) and includes one or more of the following: an access control terminal identifier, an access control terminal encryption key, or an access time scheme, wherein the authorized access is performed according to the following steps: In the IoT device (1), an access control terminal identifier is received (S21) from a specific access control terminal (6) through short-range communication; In the IoT device (1), the access authorization is verified (S23) using the specific access rights (1300, 1301, 1302, 1303) and the received access control terminal identifier; In the IoT device (1), generating (S24) an access authorization message using the specific access rights (1300, 1301, 1302, 1303); and An access authorization message is sent (S25) from the Internet of Things device (1) to the access control terminal (6) via short-range communication.
3. The method according to any one of claims 1 or 2, wherein: The current set of access rights (13) authorizes the IoT device (1) to access one or more access control terminals (6), and specific access rights (1300, 1301, 1302, 1303) in the current set of access rights are associated with specific access control terminals (6) and include an encrypted access payload, wherein authorized access is performed according to the following steps: sending (S30) an encrypted access payload from the IoT device (1) to the access control terminal (6) via short-range communication; In the access control terminal (6), verifying (S34) the encrypted access payload; and In the access control terminal (6), access to the Internet of Things device (1) is authorized (S35).
4. The method according to any one of claims 1 to 3, comprising: In a remote computer system (3), configuration data of a digital twin (33) is stored, the configuration data further comprising memory configuration characteristics (3311, 741, 131), the memory configuration characteristics comprising memory allocations of a plurality of memory partitions (120, 121, 122); generating an update data packet (7) to include memory configuration characteristics (3311, 741, 131) and metadata (740) for the memory update package component (74) in a memory update package portion (74) of a plurality of update package portions (71, 72, 73, 74, 75); and In an Internet of Things device (1), a specific update package part (74) including memory configuration characteristics (3311, 741, 131) is received from a mobile communication device (2) via short-range communication.
5. The method according to any one of claims 1 to 4, comprising: In the remote computer system (3), configuration data of the digital twin (33) is stored, the configuration data including a current firmware indicator (3312); generating an update data packet (7) to include, in a firmware update package part (75) of a plurality of update package parts (71, 72, 73, 74, 75), current firmware (751, 132) according to a current firmware indicator (3312) and metadata (750) for the firmware update package part (75); and In an IoT device (1), a firmware update package part (75) including current firmware (751, 132) is received from a mobile communication device (2) via short-range communication.
6. The method according to any one of claims 1 to 5, further comprising: transmitting (S41) an upload status message of the remote computer system (3) from the IoT device (1) to a mobile communication device (2) located within a short distance range of the IoT device (1) via short distance communication so as to be forwarded to the remote computer system (3) via a mobile radio communication network, the upload status message including a unique identifier (34) of the IoT device (1); In the remote computer system (3), receiving (S44) an upload status message from the Internet of Things device (1) forwarded by the mobile communication device (2) via the mobile radio communication network, and In a remote computer system (3), a unique identifier (34) linked to a digital twin (33) of an IoT device (1) is stored (S47).
7. The method according to claim 6, further comprising: Configuration data of the digital twin (33) is stored (S47) in the remote computer system (3), the configuration data including the address of the mobile communication device (2) as the communication relay address (3310).
8. The method according to any one of claims 1 to 7, further comprising: Transmitting (S51) a clock update request for a remote computer system (3) from an Internet of Things device (1) to a mobile communication device (2) via short-range communication; In a remote computer system (3), receiving (S54) a clock update message from an Internet of Things device (1) forwarded by a mobile communication device (2) via a mobile radio communication network; transmitting (S56) a clock update instruction including a current timestamp for the IoT device (1) from the remote computer system (3) to the mobile communication device (2) via the mobile radio communication network using a communication relay address (3310) linked to a unique identifier (34) of the IoT device (1); In the IoT device (1), a clock update instruction is received (S59) from the mobile communication device (2) via short-range communication; and If the time difference between transmitting the clock update request and receiving the clock update instruction does not exceed a predefined timeout, the clock of the Internet of Things device (1) is reconfigured (S510) according to the current timestamp.
9. A remote computer system (3) for communicating with an Internet of Things device (1), the computer system comprising a communication module (32) configured to exchange data with a mobile communication device (2) via a mobile radio communication network; wherein: The remote computer system (3) further comprises: A memory (31) configured to store a digital twin (33) of the IoT device linked to a unique identifier (34) of the IoT device (1), the digital twin (33) comprising a current set of access rights (13) for the IoT device (1) and configuration data (331), the configuration data (332) comprising an address of the mobile communication device (2) as a communication relay address (3310); A processor (30) configured to generate (S13) an update data packet (7) for an IoT device (1) divided into a plurality of update package parts (71, 72, 73), each update package part (71, 72, 73) including a subset of a set of currently accessed access rights (13) and update metadata (710, 720, 730) for the update package part (71, 72, 73); The processor (30) is configured to transmit (S14) an update data packet (7) for an Internet of Things device (1) via a mobile radio communication network to a communication relay address (3310) linked to a unique identifier (34) of the Internet of Things device (1); and forward (S16) one or more required update package parts (71, 72, 73) by the mobile communication device (2) via short-range communication, the update package parts being indicated by the mobile communication device (2) according to a request message received from the Internet of Things device (1).
10. The remote computer system (3) according to claim 9, wherein: The processor (30) is further configured to: extract (S45) a unique identifier (34) of the Internet of Things device (1) linked to the digital twin (33) from an upload status message from the Internet of Things device (1), the upload status message being received from the Internet of Things device (1) by the mobile communication device (2) via a short-range communication circuit and forwarded by the mobile communication device (2) to the remote computer system (3) via a mobile wireless communication network; and store (S47) the address of the mobile communication device (2) as a communication relay address (3310) in a memory of the remote computer system (3) as part of the configuration data (331) of the digital twin (33) of the Internet of Things device (1).
11. The remote computer system (3) according to claim 9 or 10, wherein: The processor (30) is further configured to: receiving (S54) a clock update message from the Internet of Things device (1), the clock update message being received from the Internet of Things device (1) by the mobile communication device (2) via the short-range communication circuit and forwarded (S53) by the mobile communication device (2) to the computer system (3) via the mobile radio communication network, generating (S55) a clock update instruction including a current timestamp for the IoT device (1), and A clock update instruction for the IoT device (1) is transmitted (S56) via a mobile radio communication network to a communication relay address (3310) linked to a unique identifier (34) of the IoT device (1) so as to be forwarded to the IoT device (1) by the mobile communication device (2) via a short-range communication circuit.
12. The remote computer system (3) according to any one of claims 9 to 11, wherein: A current set of access rights (13) authorizes an IoT device (1) to access one or more access control terminals (6), and a specific access right (1300, 1301, 1302, 1303) in the current set of access rights is associated with a specific access control terminal and includes one or more of the following: an access control terminal identifier, an access control terminal encryption key, or an access time scheme.
13. The remote computer system (3) according to any one of claims 9 to 12, wherein: A current set of access rights (13) authorizes the IoT device (1) to access one or more access control terminals (6), and specific access rights (1300, 1301, 1302, 1303) in the current set of access rights (13) are associated with specific access control terminals (6) and include an encrypted access payload.
14. The remote computer system (3) according to any one of claims 9 to 13, wherein: The configuration data (331) of the digital twin (33) also includes memory configuration characteristics (3311, 741, 131), wherein the memory configuration characteristics include memory allocations of multiple memory partitions (120, 121, 122), and the processor (30) is configured to generate an update data packet (7) to include the memory configuration characteristics (33111, 741, 132) and metadata (740) for the memory update package component (74) in a memory update package part of multiple update package parts (71, 72, 73, 74, 75).
15. The remote computer system (3) according to any one of claims 9 to 14, wherein: The configuration data (331) of the digital twin (33) also includes a current firmware indicator (3312), and the processor (30) is configured to generate an update data packet (7) to include the current firmware (751) according to the current firmware indicator (3312) and metadata (750) for the firmware update package component (75) in a firmware update package part of multiple update package parts (71, 72, 73, 74, 75).
16. An Internet of Things device (1), comprising an electronic communication circuit (11) for short-range communication, a processor (10) and a memory (12) connected to the electronic communication circuit (11), wherein: The processor (10) is configured to: receiving (S17) from a remote computer system (3) update metadata (710, 720, 730) forwarded by a mobile communication device (2), the update metadata (710, 720, 730) being associated with each of a plurality of update packet parts (71, 72, 73) of an update data packet (7) received by the mobile communication device (2); identifying (S18) one or more required update package parts (71, 72, 73) using update metadata (710, 720, 730) received from the mobile communication device (2) and storage metadata associated with one or more sets of access rights (13) stored in a memory (12) of the IoT device (1); transmitting (S19) a request message indicating one or more required update package parts (71, 72, 73) from the IoT device (1) to the mobile communication device (2) via short-range communication; and In the IoT device (1), one or more required update package parts (71, 72, 73) of the update data packet (7) indicated in the request message are received (S112) from the mobile communication device (2) via short-range communication.
17. The Internet of Things device (1) according to claim 16, wherein: The IoT device (1) uses the required packet portion (71, 72, 73) of the received update data packet (7) to obtain a current set of access rights (13), the current set of access rights (13) authorizing the IoT device (1) to access one or more access control terminals (6), specific access rights (1300, 1301, 1302, 1303) in the current set of access rights (13) being associated with a specific access control terminal (6) and comprising one or more of the following: an access control terminal identifier, an access control terminal encryption key, or an access time scheme, and wherein the processor (10) is further configured to: Using the electronic communication circuit (11), receiving (S21) an access control terminal identifier from a specific access control terminal (6) via short-range communication; Verifying (S23) access authorization using specific access rights (1300, 1301, 1302, 1303) and the received access control terminal identifier; Generate (S24) an access authorization message using the specific access rights (1300, 1301, 1302, 1303); and An access authorization message is transmitted (S25) to an access control terminal (6) by short-range communication using an electronic communication circuit (11).
18. The Internet of Things device (1) according to any one of claims 16 or 17, wherein: The IoT device (1) uses the required packet parts (71, 72, 73) of the received update data packet (7) to obtain a current set of access rights (13), wherein the current set of access rights (13) authorizes the IoT device (1) to access one or more access control terminals (6), specific access rights (1300, 1301, 1302, 1303) in the current set of access rights (13) are associated with specific access control terminals (6) and include an encrypted access payload, and wherein the processor (10) is further configured to transmit (S33) the encrypted access payload to the access control terminal (6) using the electronic communication circuit (11).
19. The Internet of Things device (1) according to any one of claims 16 to 18, wherein the Internet of Things device (1) is further configured to: receiving (S17) metadata (740) for a memory update package portion (74) from a mobile communication device (2) using electronic communication circuitry (11); In the processor (10), using the memory configuration characteristics (131) and metadata (740) stored in the memory (12) to identify (S18) whether a memory update package part (74) is required; and A memory update package portion (74) is received (S112) from a mobile communication device (2) using electronic communication circuitry (11).
20. The Internet of Things device (1) according to any one of claims 16 to 19, wherein the Internet of Things device (1) is further configured to: receiving (S17) metadata (750) for a firmware update package portion (75) from a mobile communication device (2) using electronic communication circuitry (11); In the processor (10), using the firmware indicator and metadata (750) stored in the memory (12) to identify (S18) whether a firmware update package part (75) is required; and A firmware update package portion (75) is received (S112) from a mobile communication device (2) using electronic communication circuitry.
21. The Internet of Things device (1) according to any one of claims 16 to 20, wherein the processor (10) is further configured to: generating (S40) an upload status message including a unique identifier (34) of the IoT device (1); and An upload status message of a remote computer system (3) is transmitted (S41) from the IoT device (1) to a mobile communication device (2) using an electronic communication circuit within a close range of the IoT device (1) for forwarding (S43) to the remote computer system (3) via a mobile radio communication network.
22. The Internet of Things device (1) according to any one of claims 16 to 21, wherein the processor (10) is further configured to: Using an electronic communication circuit (11), transmitting (S51) a clock update request for a remote computer system (3) to a mobile communication device (2) via short-range communication; Using electronic communication circuitry, receiving (S59) a clock update instruction from a remote computer system (3) via a mobile communication device (2), the clock update instruction including a current timestamp for the IoT device (1); and If the time difference between the transmission of the clock update request and the reception of the clock update instruction does not exceed a predefined timeout, the clock of the Internet of Things device (1) is reconfigured (S60) according to the current timestamp.