Patent Description:
Network-connectable sensing devices, such as internet-of-things (IoT) devices, are electronic remotely providing measures of physical entities (data) to a receiving device (e.g. server), directly or via gateways. Most of them rely on Bluetooth Low Energy (BLE) communications for transmitting these data.

As data are transmitted on uncontrollable medium, data are vulnerable to spoofing or malicious attacks that can lead to an uncomfortable or critical situation.

Even if some of network-connectable sensing devices are configured to encrypt data, network-connectable sensing devices remain still vulnerable to spoofing or malicious attacks, in particular against attacks based on identity replacement, keys replacement and/or a retransmission of an older intercepted data. <CIT> discloses secure transactions between elements that are initialized and activated independently, <CIT> an eSIM management system and <CIT> a packet-encrypted communication method for loT devices.

An aim of the invention is to provide a sensing device capable of measuring physical entities and transmit the result remotely in a way that resists against spoofing and malicious attacks better than the known systems and methods.

According to the invention, these aims are achieved by means of the network-connectable sensing device of claim <NUM> and the method for transmitting data from a sensing device to a server of claim <NUM>.

This solution provides a more robust transmission of measures of physical entities provided by the sensing device, as:.

<FIG> shows a schematically view of a communication system comprising a network-connectable sensing device <NUM> configured to remotely provide a measure of a given physical quantity or phenomenon, notably in form of digital data, to a remotely located server <NUM>.

The server <NUM> can be any electronic device providing storage and/or analysis of provided measures, such as a computer, a laptop, a smartphone, a smartwatch, a tablet, a portable device, or any other suitable device.

The sensing device <NUM> of <FIG> comprises a sensing unit <NUM> for sensing one or more desired (physical) phenomenon, i.e. events or changes of or affecting the sensing device or the environment where the sensing device is located. In particular, the sensing unit <NUM> can be configured to sense (measure): a temperature (of the environment and/or of the sensing device), a humidity, a light, a (relative and/or absolute) position of the sensing device, an acceleration of the sensing device, or a shock affecting the sensing device, or a combination thereof.

The sensing device <NUM> comprises a communication unit <NUM> for transmitting data collected from sensing unit <NUM> to the server <NUM>, directly or via a gateway device <NUM>, notably in form of a packed data <NUM>. The communication unit <NUM> is also configured for receiving digital data and/or signals from the server <NUM>, the gateway device <NUM> or from another device <NUM>,<NUM>.

The gateway device can be any device providing a transmission of data between the sensing device <NUM> and a server. The gateway device can be a mobile, transposable or static device.

The sensing device <NUM> then comprises an electronic circuit <NUM> providing a signature <NUM> of transmitted data <NUM> by means of a private key of a given asymmetric key so as the server <NUM> and/or the gateway device <NUM> can verify, by means of the public key <NUM> of the given asymmetric key, the integrity of the transmitted data. A public and permanent verification is enabled by providing the digital signature <NUM> and the public key <NUM> with the packed data <NUM>.

The packed data <NUM> also comprises a timestamp <NUM> provided by a time-keeping unit <NUM> of the sensing device <NUM>, the timestamp being also signed by the (same) private key.

The timestamp <NUM> is a sequence of symbols (being represented in a digital format) for identifying a phenomenon sensing, a data acquisition and/or a transmission event occurred. The symbols can be function or represent a giving date and time of day, preferably accurate to a small fraction of a second. Alternatively, the timestamp can be a unique sequence of symbol (e.g. random or pseudorandom sequence of symbols) assigned to a phenomenon sensing, a data acquisition and/or a transmission event.

The symbols of the timestamp <NUM> can consist in or comprise: alphanumerical symbols, one or more numerical symbols, one or more binary digits, one or more typographical symbols, and/or one or more graphical symbols, or a combination thereof.

The absolute (or at least the relative) uniqueness of the timestamp ensures a uniqueness of the generated signature (the signature of each packed data differs from the signatures of others packed data) providing an (intrinsic) detection of a spoofing or malevolent attack based on data copying or retransmission.

The time-keeping unit <NUM> can comprise a dedicated clock or can rely on a (shared) clock of the sensing device <NUM> or of a component thereof (e.g. the electronic circuit <NUM>).

Advantageously, the dedicated or shared clock may be a controlled clock <NUM>, i.e. a clock that is automatically (i.e. by itself, with no direct human control) synchronized by a synchronization signal (e.g. time code) transmitted by a single or multiple of transmitters connected to a time standard, such as an atomic clock and/or a coordinated universal time (UTC). The transmitter can be a national or regional time transmitter or a universal time transmitter. The multiple transmitters can be parts of a relative or absolute positioning system requiring a time synchronization, such as a global (satellite) positioning system (e.g. GPS, Galileo or GLONASS). Such systems may be used to automatically set and/or synchronize the controlled clock.

The synchronization signal can be a radio synchronization signal transmitted by a radio transmitter and acquired through the communication unit (<NUM>) and/or a radio antenna of the sensing device <NUM>.

Alternatively, or complementarily, the synchronization signal can be provided by a relative or absolute positioning system <NUM> of the sensing unit <NUM> and/or of the sensing device <NUM>, the system being configured to provide a clock synchronization with a time reference. Preferably, the relative or absolute positioning system <NUM> is a global satellite positioning system (GNSS), notably relying on a GPS, Galileo and/or GLONASS satellites constellation.

Alternatively or complementarily, the synchronization signal can be a wired synchronization signal provided by the communication unit <NUM> and/or by a connection interface of the communication unit <NUM> and/or of the sensing device <NUM>.

The network-connectable sensing device <NUM> is advantageously a standalone device, i.e. an off-the-grid powered device.

The sensing device can thus comprise an energy storage module <NUM> for electrical powering the active components thereof. The energy storage module <NUM> can be an non-rechargeable or a rechargeable power pack, notably comprising or constituted in one or more accumulators and/or batteries.

The sensing device can comprise a protecting case or casing <NUM> for protecting the sensing device, notably the components thereof, against tampering. The protecting casing <NUM> encloses the components of the sensing device and, advantageously, the casing can be a watertight and/or airtight casing.

The device of the invention foresees several modes of operation and is configured to operate selectively in one or another of the available modes In order to increase the robustness against attacks based on identity replacement and/or keys replacement, the sensing device <NUM> foresees and is configured to selectively operate in at least: a manufacturing mode, an unprovisioned mode, a provisioned mode, and an end-of-life mode (cf.

<FIG> shows an exemplary flow diagram of the sensing device <NUM> operating in a manufacturing mode.

In the manufacturing mode, the electronic circuit <NUM> is configured to permanently store a unique code <NUM> in a storage medium <NUM> of the sensing device <NUM>, notably in a digital format.

In particular, the unique code <NUM> can be stored in a dedicated storage unit of the storage medium <NUM>, the dedicated storage unit providing storage of the unique code <NUM> uniquely once.

The unique code <NUM> is a sequence of symbols guarantee to be unique among all the codes used for others sensing devices.

The storage medium <NUM> is any single or multiple units (e.g. having form of electronic circuits or devices) providing storing of data (in a digital format), the data being notably collected and/or operationally destined to components of the sensing device <NUM>.

In particular, the unique code <NUM> can be provided from a manufacturing device <NUM>, notably in response of providing the serial number of (e.g. unique manufacturing identifier assigned to) the sensing device <NUM>. The serial number of the sensing device <NUM> can be Hard-written during the manufacturing of the sensing device1 or stored in a read-only storage medium accessible (i.e. readable) by the electronic circuit <NUM>.

In particular, the sensing device <NUM> can be configured (notably through the electronic circuit <NUM>) to wait for a reception of the unique code <NUM> from a manufacturing device <NUM> once, notably when the sensing device is powered for the first time, e.g. by the energy storage module <NUM>.

As illustrated in <FIG>, the sensing device <NUM> can be configured to (automatically) switch from the manufacturing mode to the unprovisioned mode (S1), in response of:.

The communication between the sensing device <NUM> and the manufacturing device <NUM> can rely on a wired and/or wireless data link <NUM> provided by the communication unit <NUM>. The data link <NUM> can be mono- or bi-directional (notably in case of a transmission of the serial number to the manufacturing device <NUM>).

<FIG> shows an exemplary flow diagram of the sensing device of <FIG> operating in an unprovisioned mode;.

In the unprovisioned mode, the sensing device is configured to wait for a receiving a provisioning signal for generating the asymmetric keys pair used for signing the collected data and the timestamp of the packed data. During the wait, the sensing device is advantageously configured to operate in a sleep mode, wherein the communication unit <NUM> is configured to operate in reception-only mode (i.e. no transmission is allowed and/or operated).

In particular, the electronic circuit <NUM> is configured to wait for receiving a provisioning signal constituted of or comprising a provisioning code <NUM>, and, in response of a provisioning code <NUM> matching the unique code <NUM> of the sensing device, to:.

The provisioning code <NUM> matching the unique code <NUM> provides the authentication of the providing device.

More advantageously, the electronic circuit can be configured to wait for the provisioning signal being a near-field communication (NFC) signal, e.g. by configuring the communication unit <NUM> to establish uniquely a near-field communication <NUM> with the provisioning device <NUM>, e.g. by bringing the sensing device and the provisioning device within <NUM>, preferably according to the NFC communication protocol.

The near-field communication <NUM> can be enabled by (uniquely) activating a NFC reader of the communication unit <NUM>.

As long as the sensing device is in the sleep mode while waiting for the (NFC) provisioning signal to wake it up, any attempt to remotely attack the sensing device is impeded. This permits a safer long shelf life time.

Advantageously, in the sleep mode the sensing unit and/or the time-keeping unit <NUM> are disabled so as to reduce power consumption. This permits to further provide a longer shelf life time.

In the unprovisioned mode, the communication unit <NUM> can be configured to establish an unsecured or, advantageously a secured communication with said provisioning device <NUM> based on a shared key <NUM>.

The shared key <NUM> can be retrieved from the storage medium <NUM>.

Alternatively or complementarily, the shared key <NUM> can be generated by the electronic circuit <NUM>; notably based on a secret data of the sensing device (e.g. the unique code <NUM>) and on a pre-shared key <NUM> provided by the provisioning device <NUM>. Preferably, the electronic circuit <NUM> can provide a related pre-shared key for permitting the provisioning device to generate the same shared key, without a (direct) transmission thereof. In particular, the shared key <NUM> can be generated relying on the Diffie-Hellman key exchange protocol.

The generated shared key <NUM> can then be stored in the storage medium <NUM> for allowing later communication with the (same) providing device.

This permits, not only a creation of a secure connection between the sensing device and the providing device but also a trusted pairing between the sensing device and the providing device, with out-of-band pre-shared key exchange.

Moreover, in response of a provisioning code <NUM> matching the unique code <NUM> of the sensing device, the electronic circuit can be configured to receive provisioning setting <NUM> provided by the provisioning device <NUM>. Once received, the sensing device can be configured to apply the received provisioning setting <NUM>, notably by storing it in the storage medium and/or by setting up components of the sensing device according to the received provisioning setting <NUM>.

The provisioning setting <NUM> can comprise:.

Advantageously, the electronic circuit can be configured to transmit the public key <NUM>, once generated, to the provisioning device so as to activate the public key <NUM> on the server <NUM>.

The sensing device <NUM> can be configured to (automatically) switch from the unprovisioned mode to the provisioned mode (S2), in response of:.

<FIG> shows an exemplary flow diagram of the sensing device of <FIG> operating in a provisioned mode.

In the provisioned mode, the electronic circuit <NUM> is configured to collect data <NUM> provided by the sensing unit <NUM> and to:.

In particular, in the provisioned mode, the electronic circuit <NUM> is configured to collect data <NUM> provided by the sensing unit <NUM>, notably according to:.

Advantageously, the electronic circuit <NUM> is configured to store collected data in the in the storage medium <NUM> and to wait for a request signal <NUM> provided by the gateway device <NUM> and/or the server <NUM>. In response of the request signal <NUM> provided by the gateway device <NUM> and/or the server <NUM>, the electronic circuit <NUM> is configured to:.

In particular , the electronic circuit <NUM> can be configured to collect and store data provided by the sensing unit <NUM> in response of a movement and/or an acceleration sensed by an accelerometer <NUM> of the sensing device <NUM>, the sensed movement and/or the acceleration being above a detection threshold, preferably being provided by the provisioning setting <NUM>.

The electronic circuit <NUM> can be configured to wait for an acknowledge signal <NUM> provided by the gateway device <NUM> and/or the server <NUM> and, in response of reception of the acknowledge signal <NUM> confirming a safe reception of the packed data and/or a verification of the signature, to remove transmitted data from the storage medium <NUM>. Alternatively or complementarily, the acknowledge signal <NUM> can be provided by checking the activation of the public key on the server <NUM>.

Data removal can comprises data erasure (i.e. overwriting selected data by using zeros and ones for completely (definitely) destroying selected data on the storage medium <NUM>).

The packed data <NUM> can be transmitted to the gateway device by means of a local communication <NUM> established between the sensing device and the gateway device (i.e. a communication relying the sensing device and the gateway device being spaced away up to <NUM>, preferably in a range from <NUM> up to <NUM> meters) by means of the communication unit <NUM>. The local communication can be: a wireless area network communication, a radio wireless local area communication, a Bluetooth communication, an ANT communication, a wired communication (such as a USB communication), or a combination thereof.

Alternatively or complementarily, the packed data <NUM> can be transmitted by means of a point-to-point communication <NUM> established between the sensing device and the gateway device and/or the server <NUM>, wherein the point-to-point communication relying on at least a point-to-point computer network connection (such as a wired and/or wireless cellular network, a satellite network, a wired network).

The gateway device <NUM> can, before or advantageously after verification of the signature <NUM>, transfer the (entire) packed data <NUM> to the server <NUM> for storage, preferably using a blockchain for providing secure recording. Once stored and/or blockchained (i.e. stored or recorded using a blockchain) on the server, the packed data <NUM> can be placed at disposal of a user that can always verify the integrity of the data provided by the sensing device <NUM>, notably by means of the signature <NUM> and the public key <NUM> provided in the packed data <NUM>.

As illustrated in <FIG>, in the end-of-life mode, the sensing device is configured (notably through the electronic circuit) to be temporarily or permanently disabled, notably by permanently erase the private key <NUM>.

The electronic circuit <NUM> can be configured to permanently disable the sensing device <NUM>, notably by triggering a (mechanical and/or electronical) disabling of one or more components of the sensing device <NUM>.

In particular, the electronic circuit <NUM> can trigger:.

Alternatively, in order to provide a safe re-use of the sensing device1, in the end-of-life mode, the electronic circuit <NUM> can be configured to permanently erase (collected) data <NUM> from the storage medium and to switch the sensing device <NUM> into the unprovisioned mode (S31). Preferably, the electronic circuit <NUM> can be configured to permanently erase (e.g. by data erasure) the public key and/or the provisioning setting.

In particular, the sensing device can be configured to switch into the end-of-life mode (notably by means of the electronic circuit) in response of:.

The sensing device <NUM> can also be configured to (automatically) switch from the end-of-life mode or from the provisioned mode to the unprovisioned mode (S21, S31) in response of a reception of a provisioning code <NUM> provided by the (coupled) provisioning device <NUM>, wherein provisioning code <NUM> matches the unique code <NUM> of the sensing device. This permits a trusted re-initialization of the sensing device <NUM>.

The sensing device <NUM> provides thus a more robust transmission of measures of physical entities provided by the sensing device, as:.

In fact, as the packed data is different for each transmission, a data-replication attack will be easily detected on the server by comparing already stored and/or blockchain recorded packed data. Timestamp ensures the signature generated is different, and so the package cannot be simply copied.

The public key provided by the sensing device can provide the origin of the data, avoiding identity-stolen attacks, as the (related) private key is randomly generated on the device itself when provisioned (i.e. the sensing device is the only one to know the private key and the private key is unique). Moreover, the public key is transmitted within the packed data so as to allow a user to verify that the information was really signed by the device. This signature acts as an authentication certification.

The robustness of the transmission can be further increased by activating, on the server <NUM>, the public key <NUM> being generated on the sensing device <NUM>, preferably the public key <NUM> being transmitted to the server <NUM> by means of the provisioning device <NUM>. The activation can be used, on the server and/or on the gateway device, for validating a received packed data (notably the public key thereof) and/or for allowing a storage and/or a blokchaining of the received packed data.

Claim 1:
A sensing device (<NUM>) comprising:
a sensing unit (<NUM>) for sensing at least a given phenomenon;
a storage medium (<NUM>) for storing digital data;
a communication unit (<NUM>) for receiving and transmitting digital data and/or signals;
a time-keeping unit (<NUM>) for providing a timestamp, and
an electronic circuit (<NUM> ) being operationally connected to the storage medium (<NUM>), the sensing unit (<NUM>), the communication unit (<NUM>), and to the time-keeping unit (<NUM>);
wherein the sensing device (<NUM>) is configured to selectively operate in:
- a manufacturing mode, wherein the electronic circuit (<NUM>) is configured to permanently store an unique code (<NUM>) in the storage medium (<NUM>);
- an unprovisioned mode wherein the electronic circuit (<NUM>) is configured to wait for receiving a provisioning code (<NUM>) from a provisioning device (<NUM>), and, in response of a provisioning code (<NUM>) matching the unique code (<NUM>) of the sensing device, to:
generate a private key (<NUM>) for signing data, and
deduct a public key (<NUM>) for verifying data being signed by said private key (<NUM>);
- a provisioned mode, wherein the electronic circuit (<NUM>) is configured to collect data (<NUM>) provided by the sensing unit (<NUM>) and to:
sign, by said private key (<NUM>), the collected data and a timestamp provided by the time-keeping unit (<NUM>) so as to provide a digital signature (<NUM>) being verifiable by said public key (<NUM>), and
transmit a packed data (<NUM>) to a gateway device (<NUM>) and/or to a server (<NUM>), the packed data (<NUM>) comprising the collected data (<NUM>), the timestamp (<NUM>),the digital signature (<NUM>) and the public key (<NUM>); and
- an end-of-life mode, wherein the electronic circuit (<NUM>) is configured to permanently erase the private key (<NUM>).