Patent Description:
The so called Internet of Things or "loT" is a network of physical devices, machines, vehicles, home appliances, and other items embedded with electronics, software, sensors, actuators, and electronic communication circuits, which enable these things or devices to connect and exchange data. The loT extends the Internet beyond traditional (standard) computing devices, such as desktops, laptops, smartphones, tablets and smart watches, to any range of traditionally non-computational and/or non-Internet-enabled physical devices and objects. The loT is proliferating to the home, the office, and the streets and beyond. In general, loT devices are configured to connect wirelessly to a network and transmit data. Typically, an loT device comprises an electronic communication circuit for close range communication, such as RFID (Radio Frequency Identification), Bluetooth, Bluetooth Low Energy (BLE), and the like, which enable data communication up to a few meters, e.g. up to one to five meters, up to ten meters, or even up to hundred meters. However, a large number of loT devices, if not the majority or typical loT device, is not configured for wireless communication over an extended range directly and independently through a mobile radio network (cellular network), such as GSM (Global System for Mobile Communication) or UMTS (Universal Mobile Telephone System). Unless these loT devices, which are limited to close range wireless communication, are installed or arranged within connectivity proximity of an access point to the Internet, it is very difficult and/or inefficient to provide these loT devices with data updates, for example update of firmware, access rights, etc..

<CIT> discloses a layer <NUM> relay to support coverage and source-constrained devices in wireless networks, such that a mobile communications device with a processor operates on behalf of a remote communication device to support communication between the remote communication device and a network node.

<CIT> discloses a method for providing a software update package (SUP) to an Internet of Things (IoT) device via a user's communication device (UCD). The UCD obtains the needed SUP from a software administration server (SAS). The UCD transmits the SUP to the loT device using a first short range wireless signal. After transmitting the SUP to the IoT device, the UCD receives confirmation data transmitted wirelessly by the loT device using a second short range wireless signal.

<CIT> discloses a method of communicating between a terminal device and a back-end system assigned to the terminal device, the terminal device receiving via a direct wireless communication link an authorization code from the mobile communication device. Responsive to receiving the authorization code, the terminal device transmits via the direct wireless communication link to the mobile communication device a terminal report message which includes a message content part and a message addressing part. The mobile communication device transmits the terminal report message in a forwarding message via a telecommunications network to a remote message processing system determined by the addressing part. The remote message processing system determines from the addressing part the back-end system assigned to the electronic terminal device and transfers the content part of the terminal report message to the back-end system.

<CIT> discloses a system and method for Internet of Things (IoT) shelf tags. A shelf tag loT device comprising a local wireless communication interface establishes a local wireless communication link with one or more loT hubs or client devices, the shelf tag loT device further comprising a secure communication module to establish a secure communication channel with an loT service over the Internet using the local wireless communication link.

<CIT> discloses methods, systems, and machine readable mediums that provide for the configuration and provisioning of computing devices, in particular computing devices with limited user interfaces, such as some loT devices.

<CIT> discloses methods, computer program products, and a system to control access to loT devices. These include a requesting device requesting, from an loT device, an loT device identifier over a first communication link. The requesting device second requests, from an authorization device over a communication network including at least one Transmission Control Protocol/Internet Protocol (TCP/IP) communication link, authorization to command the identified loT device to perform an action. An encrypted authorization is provided to the requesting device which is relayed to the loT device and performs an action specified in the authorization.

It is an object of this invention to provide a method, an loT device, and a computer system for communicating between the loT device and the computer system, whereby the computer system is arranged remotely from the loT device and there is no wireless connectivity between the loT device and the computer system.

According to the present invention, these objects are achieved through the features of the independent claims. In addition, further advantageous embodiments follow from the dependent claims and the description.

In an embodiment, for communicating between an Internet of Things device and a remote computer system, an upload data message for the remote computer system is transmitted from the Internet of Things device via a close range communication circuit to a mobile communication device within the close range of the Internet of Things device, for forwarding to the remote computer system via a mobile radio communication network. The upload data message includes a unique identifier of the Internet of Things device. The upload data message from the Internet of Things device is received in the remote computer system, as forwarded by the mobile communication device via the mobile radio communication network. In the remote computer system an address of the mobile communication device is stored, as a communication relay address, linked to the unique identifier of the Internet of Things device. A download data message for the Internet of Things device is transmitted from the remote computer system via the mobile radio communication network to the communication relay address linked to the unique identifier of the Internet of Things device, for forwarding to the Internet of Things device. The download data message from the remote computer system is received in the Internet of Things device, as forwarded by the mobile communication device via the close range communication circuit.

In an embodiment, a verification message is generated in in the Internet of Things device, by encrypting the unique identifier, stored securely in the Internet of Things device, using a cryptographic key stored securely in the Internet of Things device. The verification message is included in the upload data message. The unique identifier is verified by the remote computer system decrypting the verification message included in the upload data message, using a cryptographic key stored securely in the remote computer system.

In an embodiment, a secured data package is received in the Internet of Things device from the mobile communication device via the close range communication circuit. The secured data package is decrypted in the Internet of Things device, using a cryptographic key stored securely in the Internet of Things device. A replacement cryptographic key is extracted in the Internet of Things device from the decrypted secured data package, and the cryptographic key stored securely in the Internet of Things device is replaced with the replacement cryptographic key.

In an embodiment, an identifier of a back-end system, associated with the remote computer system, is extracted in the Internet of Things device from the secured data package. The identifier of the back-end system is stored in the Internet of Things device for inclusion in the upload data message for the remote computer system.

In an embodiment, customization information, included by the mobile communication device, is received in the remote computer system with the upload data message from the Internet of Things device. The customization information is stored in the remote computer system linked to the unique identifier of the Internet of Things device. The customization information is transmitted with the download data message, from the remote computer system, to the communication relay address linked to the unique identifier of the Internet of Things device, for forwarding to the Internet of Things device. The customization information, received with the download data message from the remote computer system, as forwarded by the mobile communication device, is stored in the Internet of Things device.

In an embodiment, the remote computer system includes a version indicator in the download data message. In the Internet of Things device, the download data message from the remote computer system, as forwarded by the mobile communication device, is discarded, if the version indicator included in the download data message is outdated when compared to version indicators stored in the Internet of Things device, from previously received download data message from the remote computer system, as forwarded previously by the mobile communication device.

In an embodiment, the remote computer system includes in the download data message executable code for the Internet of Things device and encrypts the download data message, using an encryption key. The Internet of Things device decrypts the download data message from the remote computer system, as forwarded by the mobile communication device, using a cryptographic key stored securely in the Internet of Things device, extracts the executable code from the download data message, and installs and executes the executable code in the Internet of Things device.

In an embodiment, the remote computer system forwards in the download data message an instruction from a back-end system for the Internet of Things device to the communication relay address linked to the unique identifier of the Internet of Things device. The Internet of Things device extracts the instruction from the download data message, as forwarded by the mobile communication device, and executes the instruction in the Internet of Things device. The instruction comprising a reset instruction, a firmware update instruction, and/or an access rights update instruction. The firmware update instructions may include executable code, as outlined above. The access rights update instruction includes access rights and/or access right time data.

An embodiment also relates to a computer system for communicating with an Internet of Things device. The computer system for communicating with an Internet of Things device comprises a communication module configured to exchange data with a mobile communication device via a mobile radio communication network. The computer system further comprises a processor configured to extract from an upload data message from the Internet of Things device, as received by the mobile communication device from the Internet of Things device via a close range communication circuit and forwarded by the mobile communication device via the mobile radio communication network to the computer system, a unique identifier of the Internet of Things device. The processor is configured to store in the remote computer system an address of the mobile communication device, as a communication relay address, linked to the unique identifier of the Internet of Things device, and to transmit via the mobile radio communication network a download data message for the Internet of Things device to the communication relay address linked to the unique identifier of the Internet of Things device, for forwarding by the mobile communication device via the close range communication circuit to the Internet of Things device.

In an embodiment, the processor is further configured to extract from the upload data message a verification message, generated in the Internet of Things device by encrypting the unique identifier using a cryptographic key, and to verify the unique identifier by decrypting the verification message included in the upload data message, using a cryptographic key stored securely in the remote computer system.

In an embodiment, the processor is further configured to receive, with the upload data message from the Internet of Things device, customization information included by the mobile communication device; to store the customization information in the remote computer system linked to the unique identifier of the Internet of Things device; and to transmit the customization information with the download data message to the communication relay address linked to the unique identifier of the Internet of Things device, for forwarding to the Internet of Things device.

In an embodiment, the processor is further configured to extract from the upload data message an identifier of a back-end system, included in the Internet of Things device; and to forward at least a part of the upload data message to a computer system defined by the identifier of the back-end system, the part including the unique identifier of the Internet of Things device.

In an embodiment, the processor is further configured to receive from a back-end system an instruction for the Internet of Things device; and to forward the instruction from the back-end system in the download data message to the communication relay address linked to the unique identifier of the Internet of Things device, for forwarding to the Internet of Things device, the instruction comprising a reset instruction, a firmware update instruction, and/or an access rights update instruction.

An embodiment also relates to an Internet of Things device. The Internet of Things device comprises an electronic communication circuit for close range communication, and a processor connected to the electronic communication circuit. The Internet of Things device further comprises a data store which has stored therein securely a unique identifier of the Internet of Things device. The processor is configured to transmit via the electronic communication circuit to a mobile communication device, within the close range of the Internet of Things device, an upload data message for a remote computer system, for forwarding by the mobile communication device via a mobile radio communication network to the remote computer system, and to receive via the close range communication circuit a download data message from the remote computer system, as received by the mobile communication device from the remote computer system via a mobile radio communication network and forwarded by the mobile communication device via the close range communication circuit to the Internet of Things device.

In an embodiment, the processor is further configured to generate in the Internet of Things device a verification message by encrypting the unique identifier, using a cryptographic key stored securely in the Internet of Things device, and including the verification message in the upload data message, for verification of the unique identifier by the remote computer system.

In an embodiment, the processor is further configured to receive in the Internet of Things device a secured data package from the mobile communication device via the electronic communication circuit; to decrypt in the Internet of Things device the secured data package, using the cryptographic key stored securely in the Internet of Things device; to extract in the Internet of Things device a replacement cryptographic key from the secured data package decrypted; and to replace the cryptographic key stored securely in the Internet of Things device with the replacement cryptographic key.

In an embodiment, the processor is further configured to extract from the secured data package an identifier of a back-end system associated with the remote computer system; and to store the identifier of the back-end system in the Internet of Things device, for inclusion in upload data message for the remote computer system.

In an embodiment, the processor is further configured to extract from the download data message customization information included by the remote computer system; and to store in the Internet of Things device the customization information received with the download data message from the remote computer system, as forwarded by the mobile communication device.

In an embodiment, the processor is further configured to extract from the download data message a version indicator, included by the remote computer system; and to discard in the Internet of Things device the download data message from the remote computer system, as forwarded by the mobile communication device, if the version indicator included in the download data message is outdated when compared to version indicators stored in the Internet of Things device, from previously received download data message from the remote computer system, as forwarded previously by the mobile communication device.

In an embodiment, the processor is further configured to decrypt the download data message from the remote computer system, as forwarded by the mobile communication device, using a cryptographic key stored securely in the Internet of Things device, to extract from the download data message executable code, included by the remote computer system, and to install and execute the executable code in the Internet of Things device.

In an embodiment, the processor is further configured to extract from the download data message, as forwarded by the mobile communication device, an instruction from a back-end system for the Internet of Things device, included by the remote computer system, and to execute the instruction in the Internet of Things device, the instruction comprising a reset instruction, a firmware update instruction, and/or an access rights update instruction.

The present invention will be explained in more detail, by way of example, with reference to the drawings in which:.

In <FIG>, reference numeral <NUM> refers to an Internet of Things (IoT) device. As illustrated schematically in <FIG>, the loT device <NUM> comprises a processor <NUM> and an electronic communication circuit <NUM> connected to the processor <NUM>. The loT device <NUM> further comprises a data store <NUM>, e.g. memory, having stored therein securely a unique identifier <NUM> of the loT device <NUM> and a cryptographic key <NUM>. In an embodiment, the processor <NUM> and/or the data store <NUM> are implemented as a hardware secure element. The loT device <NUM> is a mobile, portable device, implemented as a self-contained unit arranged in a housing, e.g. a dongle, a key fob, a tag, or the like, or a device arranged in another mobile or stationary physical device, e.g. a machine, a vehicle, a home appliance, and other items embedded with electronics, software, sensors, and/or actuators. The loT device <NUM> is powered by a battery included in the loT device <NUM>, by a power supply of the physical device having integrated the loT device <NUM> therein, or by the mobile communication device <NUM> through induction.

The electronic communication circuit <NUM> is configured for close range communication R with a stationary or mobile communication device <NUM>, within the close range of the Internet of Things device <NUM>. The electronic communication circuit <NUM> comprises an RFID (Radio Frequency Identification), Bluetooth, or BLE (Bluetooth Low Energy) circuit, or another circuit for wireless data communication over a close range, such as up to a few meters, e.g. up to one to five meters, up to ten meters, or even up to hundred meters.

The mobile communication device <NUM> is implemented as a mobile radio telephone (cellular phone), a laptop computer, a tablet computer, a smart watch, or another mobile electronic device configured for wireless communication via close range R and via a communication network <NUM>, specifically via a mobile radio network. For that purpose, the mobile communication device <NUM> comprises a communication circuit <NUM> for close range communication, compatible to the communication circuit <NUM> of the loT device <NUM>, and a communication module <NUM> for communicating via a mobile radio network, as illustrated in <FIG>. The communication network <NUM> comprises a mobile radio network such as a GSM (Global System for Mobile Communication) network, a UMTS (Universal Mobile Telephone System) network, and/or another cellular radio communication network. As illustrated in <FIG>, the mobile communication device <NUM> further comprises a processor <NUM> and a data store <NUM> having stored therein program code, configured to control the processor <NUM>, and a secured data package, as described later in more detail. The communication network <NUM> further comprises the Internet and LAN (local Area Network) and WLAN (Wireless LAN) for accessing the Internet.

In <FIG>, reference numeral <NUM> refers to a computer system, which is arranged remotely from the loT device <NUM> and the mobile communication device <NUM>. The remote computer system <NUM> comprises one or more computers with one or more processors <NUM> and a communication module <NUM> configured to communicate via the communication network <NUM> with the mobile communication device <NUM> and a partner back-end system <NUM> associated with the remote computer system <NUM>. The remote computer system <NUM> is configured as a trusted service provider for the partner back-end system <NUM> and associated loT devices <NUM>. The remote computer system <NUM> further comprises a data store <NUM> for storing loT device data and "communication relay addresses" <NUM> assigned to loT devices <NUM>.

The partner back-end system <NUM> comprises one or more computers with one or more processors <NUM> and a communication module <NUM> configured to communicate via the communication network <NUM> with the remote computer system <NUM> associated with the back-end system <NUM>. In an embodiment, the computer system <NUM> and the partner back-end system <NUM> are configured in one common computer centre, e.g. as a cloud-based computing centre.

In the following paragraphs, described with reference to <FIG> and <FIG> are possible sequences of steps performed by the loT device <NUM>, the mobile communication device <NUM>, the computer system <NUM>, and the partner back-end system <NUM>, or their processors <NUM>, <NUM>, <NUM>, <NUM>, respectively, for exchanging data securely via the communication network <NUM> between the loT device <NUM>, the mobile communication device <NUM>, the remote computer system <NUM>, and/or the partner back-end system <NUM>, respectively, for communicating between the loT device <NUM> and the remote computer system <NUM> and/or the associated partner back-end system <NUM>.

<FIG> illustrates an exemplary sequence of steps for an initial setup of the loT device <NUM> and for registering the loT device <NUM> via the mobile communication device <NUM> with the remote computer system <NUM> and the partner back-end system <NUM> associated with the remote computer system <NUM>.

In step S1, the loT device <NUM> is initialized. Specifically, in step S11, an initial setup of the loT device <NUM> is performed. Performing the initial setup includes storing securely in the data store <NUM> of the loT device <NUM> a unique identifier <NUM> of the loT device <NUM> and a cryptographic key <NUM> for the loT device <NUM>. In step S12, the unique identifier <NUM> of the loT device <NUM> and the cryptographic key <NUM> of the loT device <NUM> are recorded (stored) in the remote computer system <NUM>. For example, the unique identifier <NUM> of the loT device <NUM> and the cryptographic key <NUM> of the loT device <NUM> are generated and stored in the data store <NUM> of the loT device <NUM> in a secured environment, e.g. in facilities with secured access and strict access control, and the unique identifier <NUM> and the cryptographic key <NUM> of the loT device <NUM> are stored in the data store <NUM> of the remote computer system <NUM> either through a secured communication line or in situ inside the secured environment.

In step S2, the loT device <NUM> is customized for the partner back-end system <NUM>. Specifically, via the close range communication interface, established by the close range communication circuits <NUM>, <NUM> of the loT device <NUM> and the mobile communication device <NUM>, the loT device <NUM> is customized by transferring partner customization data from the mobile communication device <NUM> to the loT device <NUM>, e.g. by a partner customization app installed and executing on the processor <NUM> of the mobile communication device <NUM>. The partner customization data is transferred in a secured data container. The secured data container comprises the partner customization data in encrypted form and is part of the partner customization app, as provided by the partner back-end system <NUM> or a dedicated app server, for example. The processor <NUM> of the loT device <NUM> receives and decrypts the secured data package from the mobile communication device <NUM>, using the cryptographic key <NUM> stored in the loT device <NUM>. The processor <NUM> of the loT device <NUM> extracts from the decrypted data package the partner customization data. In an embodiment, the partner customization data includes a replacement cryptographic key and/or an identifier of the partner back-end system <NUM>. The processor <NUM> of the loT device <NUM> replaces the cryptographic key <NUM> stored securely in the loT device <NUM> with the replacement cryptographic key extracted from the secured data package. The processor <NUM> of the loT device <NUM> further stores in the loT device <NUM> the identifier of the partner back-end system <NUM> extracted from the secured data package.

In <FIG>, the steps of block S3 relate to a registration process for registering the loT device <NUM> with the remote computer system <NUM> and the associated partner back-end system <NUM>.

In step S31, processor <NUM> of the loT device <NUM> generates a registration request. Depending on the configuration and/or application scenario, generation of the registration request is initiated in response to a command from the mobile communication device <NUM>, as generated by the partner customization app, or to actuation by a user of an operating element of the loT device <NUM>, e.g. a switch or button which is connected to the processor <NUM> of the loT device <NUM>. The processor <NUM> of the loT device <NUM> includes in the registration request the identifier of the partner back-end system <NUM> and a verification message. The verification message is generated by the processor <NUM> of the loT device <NUM> encrypting the unique device identifier <NUM> using the cryptographic key <NUM> or its replacement key, respectively. The processor <NUM> of the loT device <NUM> transmits the registration request in an upload data message via the electronic communication circuit <NUM> to the mobile communication device <NUM>.

In step S32, the mobile communication device <NUM> or its processor <NUM> controlled by the partner customization app, respectively, receives from the user (user) customization information, such as a user name and access control information, e.g. a user password and/or a partner access code.

In step S33, the loT device <NUM> and its user are verified by the remote computer system <NUM>. The mobile communication device <NUM> or its processor <NUM> controlled by the partner customization app, respectively, forwards the upload data message, received from the loT device <NUM>, and the user customization information via the communication network <NUM>, specifically via the mobile radio network, to the remote computer system <NUM>. The remote computer system <NUM> or its processor <NUM>, respectively, extracts the verification message from the registration request and verifies the device identifier of the loT device <NUM> by decrypting the verification message, using the cryptographic key <NUM>, initially stored in the loT device <NUM>, or its replacement key, provided securely by the partner back-end system <NUM>. The the device identifier received in the uploaded verification message is verified by comparing it to the unique identifiers initially recorded for the loT device <NUM> in the remote computer system <NUM>. Upon positive verification, the registration process is continued.

In step S34, the remote computer system <NUM> or its processor <NUM>, respectively, stores, assigned to the verified device identifier of the loT device <NUM>, the received identifier of the partner back-end system, the (user) customization information, including the user name, and the address of the mobile communication device <NUM> which forwarded the upload data message to the remote computer system <NUM>, e.g. a Mobile Subscriber Integrated Services Digital Network Number (MSISDN). The address of the mobile communication device <NUM> is stored as a current "communication relay address" <NUM> for forwarding download data messages to the loT device <NUM>. The status of the loT device <NUM> is set to "registration pending, awaiting approval from partner back-end system". Furthermore, the remote computer system <NUM> or its processor <NUM>, respectively, transmits to the partner back-end system <NUM> (as defined by the received identifier of the partner back-end system) a registration message which includes the verified unique identifier of the loT device <NUM>, and the user customization information, including the user name and access control information, e.g. a user password and/or a partner access code. The partner back-end system <NUM> verifies the access control information and, upon positive verification, approves and registers the loT device <NUM> by storing the unique device identifier assigned to the user name.

In step S35, registration of the loT device <NUM> is completed by the partner back-end system <NUM> transmitting a registration confirmation message to the remote computer system <NUM>. At the remote computer system <NUM>, the status of the loT device <NUM> is set to "registration pending, awaiting acknowledgement from loT device", and the remote computer system <NUM> transmits a download data message with a confirmation to the address of the mobile communication device <NUM> stored as the current "communication relay address" <NUM> for the loT device <NUM>, for forwarding to the loT device <NUM>. If the "communication relay address" <NUM> changes before the status of the loT device is set to "registered", because the loT device <NUM> contacts the remote computer system <NUM> via another mobile communication device <NUM>, the remote computer system <NUM> retransmits the download data message with the confirmation to the "new" address of the mobile communication device <NUM>. Once the mobile communication device <NUM> and the loT device <NUM> are within communication range, the mobile communication device <NUM> transmits the download message with the confirmation via the communication circuit <NUM> to the loT device <NUM>. I an embodiment, the download data message with the confirmation includes user and/or partner customization information, e.g. the user name, included by the remote computer system <NUM> and/or the partner back-end system <NUM>, which is stored in the loT device <NUM> by the processor <NUM> of the loT device <NUM>. The processor <NUM> of the loT device <NUM> transmits an upload data message with an acknowledgement via the communication circuit <NUM> to the mobile communication device <NUM> for forwarding to the remote computer system <NUM>. The mobile communication device <NUM> transmits the upload data message with the acknowledgement to the remote computer system <NUM>. The remote computer system <NUM> sets the status of the loT device <NUM> to "registered".

<FIG> illustrates exemplary sequences of steps for transmitting a download data message from the partner back-end system <NUM> associated with the remote computer system <NUM> via the mobile communication device <NUM> to the loT device <NUM>, as shown in block S4, and for transmitting an upload data message from the loT device <NUM> via the mobile communication device <NUM> to the partner back-end system <NUM> associated with the remote computer system <NUM>, as shown in block S5.

Transmitting a download data message from the partner back-end system <NUM> and/or the remote computer system <NUM> via the mobile communication device <NUM> to the loT device <NUM>, makes it possible to transfer to the loT device <NUM> executable code, e.g. for a firmware update of the loT device <NUM>, and instructions to be executed by the loT device <NUM>, e.g. a reset instruction, a firmware update instruction, or an access rights update instruction.

The download data messages are end-to-end encrypted between either the partner back-end system <NUM> or the remote computer system <NUM> and the loT device <NUM>. Correspondingly, the upload data messages are end-to-end encrypted between the loT device <NUM> and either the remote computer system <NUM> or the partner back-end system <NUM>. The mobile communication device <NUM> is merely used to relay the secured data messages between the loT device <NUM> and the remote computer system <NUM>.

A user may use different mobile communication devices <NUM> as an intermediary communication relay device, which will be recorded in the remote computer system <NUM> with its address as the current "communication relay address" <NUM>, whenever upload data messages from the loT device <NUM> are received at the remote computer system <NUM>. Download data messages which have not yet been confirmed by the loT device <NUM> will be retransmitted by the remote computer system <NUM> whenever there is a change in the mobile communication devices <NUM> or the "communication relay address" <NUM>, respectively. To avoid that the loT device <NUM> processes outdated download data messages received from a mobile communication device <NUM>, a version indicator is included in the download data message by the remote computer system <NUM> (or the partner back-end system <NUM>), enabling the loT device <NUM> to detect outdated download data message, by comparing version indicator of a newly received download data message to the stored version indicator of a previously received download data message. The version indicator includes a sequential number and/or date and time information (time stamp).

In step S41, the partner back-end system <NUM> or its processor <NUM>, respectively, generates and transmits to the remote computer system <NUM> a download data message for transmission to the loT device <NUM>, identified by its unique identifier <NUM>. The remote computer system <NUM> includes a version indicator in the download data message, encrypts the download data message with the cryptographic key <NUM> or replacement key stored in the loT device <NUM>, and stores the download data message assigned to the loT device <NUM> for possible retransmissions at a later point in time.

In step S42, the remote computer system <NUM> transmits the encrypted data message via the communication network <NUM> to the current "communication relay address" <NUM> assigned to the loT device <NUM> for forwarding to the loT device <NUM> by the respective mobile communication device <NUM>.

In step S43, the mobile communication device <NUM> receives and stores the download data message for forwarding to the loT device <NUM> (once it is within communication range).

In step S44, when the mobile communication device <NUM> is within the communication range of the loT device <NUM> (or vice versa), the mobile communication device <NUM> transmits the download data message via the communication circuit <NUM> to the loT device <NUM>.

In step S45, the processor <NUM> of the loT device <NUM> processes the received download data message. The processor <NUM> decrypts the download data message, using the cryptographic key <NUM> stored in the loT device <NUM>, and checks whether the version indicator of the received download data message indicates a newer version of download data message than previously received and stored in the loT device <NUM>. If the download data message is outdated, it is ignored and optionally an error message is transmitted to the mobile communication device <NUM>. Otherwise, if the download data message is newer than previously received messages, the processor <NUM> continues processing the download data message and stores the version indicator of the received download data message. Depending on its contents, the processor <NUM> executes instructions, such as executing a firmware update by installing and executing received executable code, executing a reset of the loT device <NUM>, replacing an encryption key, and/or performing an update of access rights with received access rights and/or access rights time information. For confirming receipt and processing of the download data message, the loT device <NUM> transmits an upload data message with a confirmation (acknowledgement) message to the partner back-end system <NUM>.

In step S51, the processor <NUM> of the loT device <NUM> generates an upload data message for the partner back-end system <NUM> and transmits it via the communication circuit <NUM> to the mobile communication device <NUM> within communication range of the loT device <NUM>. Depending on the scenario and/or application, the upload data message is encrypted by the processor <NUM>, using the cryptographic key <NUM> stored in the loT device <NUM>, and may include a confirmation (acknowledgement) message, a status report message related to the status of the loT device <NUM> (e.g. low battery), and/or a data payload with data values associated with the loT device <NUM>, such as sensor data, operational data of an appliance or machine connected to the loT device <NUM>, etc..

In step S52, the mobile communication device <NUM> or its processor <NUM>, respectively, transmits the upload data message from the loT device <NUM> via the communication network <NUM> to the remote computer system <NUM> for forwarding to the partner back-end system <NUM>.

In step S53, the remote computer system <NUM> stores the address of the mobile communication device <NUM> which forwarded the upload data message as the current "communication relay address" <NUM>.

In step S54, the remote computer system <NUM> transmits the upload data message to the partner back-end system <NUM>.

In step S55, the partner back-end system <NUM> processes the upload data message from the loT device <NUM>. If encrypted, the upload data message is decrypted by the partner back-end system <NUM>.

Claim 1:
A method of communicating between an Internet of Things device (<NUM>) and a remote computer system (<NUM>), the method comprising:
receiving in the Internet of Things device (<NUM>) a secured data package from a mobile communication device (<NUM>) via a close range communication circuit;
decrypting in the Internet of Things device (<NUM>) the secured data package, using a cryptographic key (<NUM>) stored securely in the Internet of Things device (<NUM>);
extracting in the Internet of Things device (<NUM>) a replacement cryptographic key from the secured data package decrypted;
replacing the cryptographic key (<NUM>) stored securely in the Internet of Things device (<NUM>) with the replacement cryptographic key;
transmitting via the close range communication circuit an upload data message for the remote computer system (<NUM>) from the Internet of Things device (<NUM>) to the mobile communication device (<NUM>), for forwarding to the remote computer system (<NUM>) via a mobile radio communication network, the upload data message including a unique identifier (<NUM>) of the Internet of Things device (<NUM>);
receiving in the remote computer system (<NUM>) the upload data message from the Internet of Things device (<NUM>), as forwarded by the mobile communication device (<NUM>) via the mobile radio communication network;
transmitting via the mobile radio communication network a download data message for the Internet of Things device (<NUM>) from the remote computer system (<NUM>) to the mobile communication device (<NUM>), for forwarding to the Internet of Things device (<NUM>); and
receiving in the Internet of Things device (<NUM>) the download data message from the remote computer system (<NUM>), as forwarded by the mobile communication device (<NUM>) via the close range communication circuit.