EP4233280A1 - Procédés et dispositifs permettant d'identifier de manière unique un émetteur d'un message - Google Patents

Procédés et dispositifs permettant d'identifier de manière unique un émetteur d'un message

Info

Publication number
EP4233280A1
EP4233280A1 EP20792453.1A EP20792453A EP4233280A1 EP 4233280 A1 EP4233280 A1 EP 4233280A1 EP 20792453 A EP20792453 A EP 20792453A EP 4233280 A1 EP4233280 A1 EP 4233280A1
Authority
EP
European Patent Office
Prior art keywords
message
sequence
identifier
sending device
sequences
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP20792453.1A
Other languages
German (de)
English (en)
Inventor
Florian EUCHNER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unabiz
Original Assignee
Unabiz
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Unabiz filed Critical Unabiz
Publication of EP4233280A1 publication Critical patent/EP4233280A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden

Definitions

  • the present invention belongs to the field of communication systems and relates more particularly to the problem of identifying a sending device of a communication system from a message sent by this sending device.
  • the invention relates to a transmission method and a reception method making it possible to identify a sending device from a message sent by this sending device.
  • the invention also relates to a transmitter device implementing said transmission method, as well as a receiving device implementing said reception method.
  • the invention is particularly well suited in cases where the size of the message sent by the sending device must be reduced as much as possible.
  • the unique identifier is usually encoded as a bit field.
  • the maximum number of different transmitting devices that the communication system can support is then limited by the size of this bit field. For example, if a unique identifier is encoded in a message as a thirty-two bit field, the communication system can support 232 (less than 4.3 billion) different sending devices because there are 232 different identifier values.
  • One solution for increasing the number of devices supported by the communication system could consist in reusing the same identifier for different transmitting devices which are assumed to be located in different geographical areas. If the communication system is able to estimate the geographical position of a sending device from a message sent by said sending device, then it is possible to discriminate two sending devices sharing the same identifier based on their geographical position. However, such a solution is not suitable for the case where the transmitting devices of the communication system can move from one geographical area to another.
  • a message number in order to order different messages received from the same sending device, in order to detect a possible loss of one or more.
  • a message number is sometimes also used as an input parameter of a message encryption algorithm or an authentication algorithm.
  • the object of the present invention is to remedy all or part of the drawbacks of the prior art, in particular those set out above, by proposing a solution which makes it possible to increase the number of devices supported by a communication system without having to increase the size of a bit field encoding a device identifier.
  • the present invention proposes a method for transmitting, by a sending device of a communication system, a message intended for a receiving device of said communication system.
  • the message includes an identifier of the sending device as well as a message number.
  • the identifier contained in the message is ambiguous in the sense that the identifier can be shared by several different sending devices.
  • the transmission method comprises a determination of the message number to be used for the message to be transmitted from: - a sequence of different message numbers assigned to the sending device, said sequence also being able to be attributed to another sending device having a different identifier, but not being able to be attributed to another sending device having the same identifier,
  • the identifier and the message number correspond, for example, to positive or harmful integers encoded by bit fields.
  • the identifier is coded on thirty-two bits and the message number is coded on twelve bits.
  • the identifier is not a unique identifier because the same identifier can be assigned to several different sending devices. This is an "ambiguous identifier".
  • the sequence assigned to the sending device defines an ordered sequence of different message numbers to be used in successive message transmissions. Two consecutive message numbers in the sequence do not necessarily correspond to two numbers whose difference is one: there can be a “jump” between two consecutive numbers in the sequence. When the last number in the sequence is used for a message, the first number at the start of the sequence is used for the next message.
  • a particular sequence can be assigned to different sending devices having different identifiers, but it cannot be assigned to several sending devices sharing the same identifier.
  • an unambiguous identification of a sending device corresponds to the combination of the identifier and the sequence assigned to said sending device.
  • a sending device is uniquely identified in the communication system by the couple formed by the ambiguous identifier and the sequence assigned to the sending device.
  • the sending device When the sending device sends a new message, it determines the message number to use from the sequence assigned to it and from the message number of the last message it sent.
  • the message number to use corresponds to the message number which follows in the sequence the message number of the last message sent. If the message number of the last message sent is not available (for example because it is the very first message sent by the sending device), it is possible to use a predetermined outgoing message number belonging to said sequence.
  • such arrangements allow a receiving device which receives the message to identify the sending device in a non-specific manner. ambiguous using the pair formed by the identifier and the sequence assigned to the sending device.
  • the present invention finds a particularly advantageous application, although in no way limiting, in communication systems of the wireless wide area networks type with low power consumption (LPWAN for “Low Power Wide Area Network” in the English literature).
  • LPWAN Low Power Wide Area Network
  • Such systems generally have particularly low bit rates and therefore aim to limit the size of the messages sent, which also helps to limit the power consumption of the devices when sending a message.
  • the invention may further include one or more of the following characteristics, taken in isolation or in any technically possible combination.
  • At least two different sequences allocated to two different sending devices sharing the same identifier include the same message number.
  • the invention goes beyond simply “stealing" bits from the bit field encoding the message number to artificially increasing the size of the bit field encoding the identifier.
  • a sequence is defined by an increment, such that a message number in the sequence corresponds to the sum, modulo the length of the sequence, of the previous message number in the sequence and of the increment, the length and the increment of the sequence being chosen so that they are coprime.
  • the length of a sequence is a prime number.
  • the length of a sequence is the largest prime number corresponding to a possible message number value.
  • the length of a sequence is meant the number of numbers contained in the sequence.
  • the term “prime number” is understood to mean an integer which admits exactly two distinct integer and positive divisors, these two divisors being the number one and the number considered. We say that two integers are “prime to each other” if their greatest common divisor is equal to one.
  • a possible message number value corresponds to a message number value which can be encoded on the bit field indicating a message number in a message transmitted by a sending device.
  • modulo is meant the operation of calculating the remainder of the Euclidean division.
  • an increment is meant an integer between one and the length of the sequence minus one.
  • the increment is an integer between 1 and (L - 1).
  • Different sequences are then defined by different increment values. At most a single sequence therefore has an increment equal to one, and the other sequences have increments other than one.
  • the possible values of the message number vary between 0 and 4095, and the largest prime number corresponding to a possible value of the message number corresponds to the number 4093.
  • choosing an increment and a sequence length which are prime between them maximizes the length of the sequence because the sequence then contains all the numbers between 0 and (L - 1) .
  • Choosing a sequence length corresponding to a prime number of large value makes it possible to maximize the number of sequences because each conceivable increment is then prime with the length of the sequence.
  • two different sequences allocated to two different transmitting devices sharing the same identifier are compatible two by two.
  • Two sequences are said to be compatible with one another if a distance between the two sequences is greater than or equal to a predetermined threshold.
  • Said distance between two sequences is defined as follows: by starting in each sequence from a starting message number common to the two sequences, and by considering the set of pairs formed by two positive integers and n 2 less than the length of the sequence such as by performing increments in one of the two sequences and by performing n 2 increments in the other sequence the same message number is again obtained for the two sequences, the distance between the two sequences is the smallest value among the greatest values of all the pairs considered, whatever the common starting number considered.
  • the present invention relates to a computer program product comprising a set of program code instructions which, when they are executed by one or more processors, configure the processor or processors to implement a method of processing. 'transmission according to any one of the preceding embodiments.
  • the present invention relates to a sending device of a communication system for sending a message to a receiving device of said communication system.
  • the message includes an identifier of the sending device as well as a message number.
  • the identifier contained in the message is ambiguous in the sense that the identifier can be shared by several different sending devices.
  • the sending device includes a processing circuit configured to determine the message number to be used for the message to be sent from:
  • sequence of message numbers assigned to the sending device said sequence also being able to be attributed to another sending device having a different identifier, but not being able to be attributed to another sending device having the same identifier,
  • the invention may further include one or more of the following characteristics, taken in isolation or in any technically possible combination.
  • the sequence which is allocated to the sending device comprises a message number also belonging to the sequence allocated to at least one other sending device sharing the same identifier.
  • said sequence allocated to the sending device is defined by an increment, such that a message number in the sequence corresponds to the sum, modulo the length of the sequence, of the previous message number in the sequence. sequence and the increment, the length and the increment of the sequence being chosen such that they are prime to each other.
  • the length of the sequence allocated to the sending device is a prime number.
  • the length of the sequence assigned to the sending device is the largest prime number corresponding to a possible message number value.
  • the sequence allocated to the sending device is predetermined so that two different sequences allocated to two different sending devices sharing the same identifier are compatible two by two. Two sequences are said to be compatible with one another if a distance between the two sequences is greater than or equal to a predetermined threshold.
  • Said distance between two sequences is defined as follows: by starting in each sequence from a starting message number common to the two sequences, and by considering the set of pairs formed by two positive integers and n 2 less than the length of the sequence such as by performing increments in one of the two sequences and by performing n 2 increments in the other sequence the same message number is again obtained for the two sequences, the distance between the two sequences is the smallest value among the greatest values of all the pairs considered, whatever the common starting number considered.
  • the present invention relates to a method for receiving, by a receiving device of a communication system, a message sent by a sending device of said communication system in accordance with a sending method according to any one. previous embodiments.
  • the reception method includes an unambiguous identification of the sending device from:
  • Each preceding message is unambiguously associated with a pair formed by an identifier and a sequence.
  • This pair unambiguously identifies the sender device that sent the message. This involves, for example, identifying, among these various previous messages, whether a previous message includes a message number which corresponds to the number which precedes, in the sequence associated with said previous message, the number of message message received. This makes it possible to unambiguously identify (by the pair formed by the identifier and the sequence) the sending device which sent the received message.
  • the invention may further include one or more of the following characteristics, taken in isolation or in any technically possible combination.
  • the unambiguous identification of the sending device comprises, for said sequence and starting from said message number of a previous message or from said outgoing message number, a calculation of the number of jumps to be performed. in said sequence to obtain the message number extracted from the received message.
  • the unambiguous identification of the sending device is also carried out on the basis of an estimated geographical position of the sending device.
  • This estimation can be made for example from an identifier of a base station that received the message (the geographical position of the station being known) or else from location information included in the message. Using an estimated geographic position of the sending device limits the number of calculations to be made to identify the sending device.
  • the present invention relates to a computer program product comprising a set of program code instructions which, when executed by one or more processors, configure the processor (s) to implement a method of reception according to any one of the preceding embodiments.
  • the present invention relates to a device receiver of a communication system for receiving a message sent by a sending device of said communication system in accordance with a sending method according to any one of the preceding embodiments.
  • the receiving device includes a processing circuit configured to extract the ambiguous identifier and the message number from the received message, and to unambiguously identify the sending device from:
  • the processing circuit is further configured to calculate, for said sequence and starting from said message number of a previous message or from said outgoing message number, a number of jumps to be performed in said sequence. to get the message number extracted from the received message.
  • FIG. 1 a schematic representation of a wireless communication system comprising several transmitting devices as well as an access network comprising a plurality of base stations, each transmitting device comprising an ambiguous identifier and a sequence,
  • FIG. 2 a schematic representation of the main steps of an emission process according to the invention
  • FIG. 3 a schematic representation of a transmitter device according to the invention
  • FIG. 4 a schematic representation of the main steps of a reception process according to the invention
  • FIG. 5 a schematic representation of a receiving device according to the invention
  • FIG. 6 a trellis schematically representing observations of a message number for two different sequences assigned to two sending devices different
  • FIG. 7 a graph representing sequences in the form of nodes and in which two mutually compatible sequences are connected to each other,
  • FIG. 8 a schematic representation of a first scenario for identifying a sending device
  • FIG. 9 a schematic representation of a second scenario for identifying a sending device
  • FIG. 10 a schematic representation of a third scenario for identifying a sending device.
  • the present invention finds a particularly advantageous application, although in no way limiting, in wireless communication systems of the loT or M2M type.
  • wireless communication systems of the loT or M2M type we consider our by way of non-limiting example in the case of such a system.
  • FIG. 1 schematically represents a wireless communication system 10 of the loT type, comprising one or more terminals 20 and an access network.
  • the access network includes several base stations 31 and a server 32 connected to said base stations 31.
  • the data exchanges are essentially one-way, in this case over an uplink from the terminals 20 to the access network of the wireless communication system 10.
  • the terminals 20 are transmitting devices 20 (nothing prevents the terminals from also being able to receive messages from the access network, but this is not particularly important for invention).
  • the planning of the access network is often carried out so that a given geographical area is simultaneously covered by several base stations 31, such that a message sent by a sending device 20 can be received by several base stations 31.
  • Each base station 31 is adapted to receive messages from transmitting devices 20 which are within its range.
  • a message sent by a sending device 20 comprises an identifier and a message number.
  • the purpose of the identifier is to make it possible to identify the sending device 20 which sent the message.
  • the purpose of the message number is to order different messages received from the same sending device, to detect a possible loss of one or more messages sent by a sending device, or to support a possible redundancy of the messages sent by a device. sender, for example to compensate for a potential loss of messages.
  • the message number can also be used as an input parameter of a message encryption algorithm or an authentication algorithm.
  • Each message thus received is for example transmitted to the server 32 of the access network 10, possibly accompanied by other information such as an identifier of the base station 31 which received it, a value representative of the quality of the radio signal carrying the message, the center frequency on which the message was received, a date the message was received, etc.
  • the server 32 processes, for example, all the messages received from the different base stations 31.
  • the communication link between a base station 31 and the server 32 can be supported by an optical fiber or an electric cable, but it can also s 'act as a radio communication link.
  • the communication system 10 is for example a wireless wide area network with low power consumption known by the term LPWAN (acronym for “Low Power Wide Area Network”).
  • LPWAN wireless wide area network with low power consumption
  • Such a wireless communication system is a long-range access network (greater than one kilometer, or even greater than a few tens of kilometers), with low energy consumption (for example energy consumption during transmission or reception. of a message less than 100 mW, or even less than 50 mW, or even less than 25 mW), and whose rates are generally less than 1 Mbits / s.
  • Such wireless communication systems are particularly suitable for applications involving connected objects of the loT type.
  • the communication system 10 may be an ultra-narrow band communication system.
  • ultra narrow band (“Ultra Narrow Band” or UNB in English literature) is meant that the instantaneous frequency spectrum of the radio signals emitted by the transmitting devices 20 has a frequency width of less than two kilohertz, or even less than one kilohertz.
  • Such a system makes it possible to significantly limit the power consumption of the transmitting devices 20 when they communicate with the access network.
  • the number of transmitter devices 20 to be supported can be very important. This number may for example be greater than several billion or even several tens or even several hundreds of billions.
  • the identifier included in a message uniquely defines a device, in which case the number of devices supported by the system would be limited to 232 .
  • the identifier is not a unique identifier because the same identifier can be assigned to several different transmitting devices. It is therefore an “ambiguous identifier”, since the identifier does not on its own make it possible to completely identify a sending device 20.
  • the invention also advantageously uses the message number of a message sent by a. transmitter device 20 to completely identify said transmitter device 20.
  • the invention makes it possible to increase the number of transmitter devices 20 supported by the communication system 10 because several transmitter devices 20 can share the same identifier.
  • the invention makes it possible to increase the number of sending devices 20 supported by the communication system 10 without increasing the size of a message, and without increasing the size of the field encoding the identifier in a message.
  • FIG. 2 schematically illustrates the main steps of a method of sending 200 a message by a sending device 20 of the communication system 10.
  • the message is received by a receiver device of the communication system 10.
  • the receiving device is for example a base station 31 or the server 32 of the access network of the communication system 10.
  • the transmission method 200 includes a step of attributing 201 an ambiguous identifier to the sending device 20.
  • the identifier is ambiguous because it can be shared between several different sending devices. In other words, the same ambiguous identifier can be assigned to several different transmitting devices.
  • the transmission method 200 also includes a step 202 of allocating a sequence of different message numbers.
  • the sequence assigned to the sending device defines an ordered sequence of different message numbers to be used during successive message transmissions. Two numbers of messages which follow one another in the sequence do not necessarily correspond to two numbers whose difference is equal to one: there can be a "jump" between two numbers which follow one another in the sequence. When the last number in the sequence is used for a message, the first number at the start of the sequence is used for the next message. Said sequence can be assigned to another transmitter device 20 having a different identifier, but it cannot be assigned to another transmitter device 20 having the same identifier.
  • a combination of the ambiguous identifier and of the sequence assigned to the sending device 20 therefore corresponds to an unambiguous identification of the sending device 20.
  • a sending device 20 is uniquely identified. in the communication system 10 by the couple formed by the ambiguous identifier and the sequence attributed to said transmitter device 20.
  • there may exist in the communication system 10 several transmitter devices 20 having the same ambiguous identifier IDi on the other hand, there can be only one transmitter device 20 comprising the ambiguous identifier IDi and the sequence Seqi. It is therefore appropriate to allocate to the other transmitting devices 20 comprising the ambiguous identifier IDi other sequences, such as for example Seq2, Seq3, ... SeqN (N being for example the number of different sequences which can be assigned a transmitter device having a particular identifier).
  • Steps 202 and 203 are for example implemented prior to the commissioning of the transmitter device 20.
  • the sending method 200 includes a step 203 of determining the message number to be included in the message to be sent.
  • the message number to be used is determined as a function of, on the one hand, the sequence assigned to the sending device 20 and, on the other hand, a message number of a previous message sent by the sending device 20.
  • the message number to be use thus corresponds to the message number which follows in the sequence the message number of the last message sent. If the message number of the last message sent is not available, for example because it is the very first message sent by the sending device, it is possible to use a predetermined outgoing message number belonging to said outgoing message. sequence.
  • FIG. 3 schematically represents an example of a sending device 20.
  • the sending device 20 is configured to implement a method of sending 200 a message according to the invention.
  • the transmitter device 20 comprises a processing circuit 21 comprising a memory 22, one or more processors 23 and a communication module 24.
  • a computer program 221 is stored in the memory 22 of the sending device 20.
  • the computer program 221 comprises a set of program code instructions which, when executed by the one or more processors 23, configure the processor or processors 23 to implement a transmission method 200 according to the invention.
  • the communication module 24 makes it possible to send a message to the access network of the communication system 10.
  • the communication module 24 comprises a set of hardware and / or software means, considered to be known to those skilled in the art (antenna, analog filter, amplifier, local oscillator, mixer, analog / digital converter, encoder , etc.).
  • the transmitter device 20 comprises one or more programmable logic circuits (FPGA, PLD, etc.), and / or one or more specialized integrated circuits (ASIC), and / or a set of discrete electronic components, etc. , suitable for implementing all or part of the steps of the transmission method 200 according to the invention.
  • the transmitter device 20 comprises means which are configured in software (specific computer program product) and / or hardware (FPGA, PLD, ASIC, discrete electronic components, etc.) to implement the steps of the transmission method 200 according to the invention.
  • the identifier 224 as well as the sequence 222 assigned to the transmitter device 20 are recorded in the memory 22 of the transmitter device 20.
  • the message number 223 of the last message sent by the sending device 20 is also stored in the memory 22 of the sending device 20 and updated each time a new message is sent. If no message has yet been sent by the sending device 20, the message number 223 is for example initialized to a predetermined outgoing message number belonging to the sequence assigned to the sending device 20.
  • FIG. 4 schematically illustrates the main steps of a method of reception 300, by a receiving device of the communication system 10, of a message sent by a sending device 20 of said communication system 10 in accordance with a sending method 200 described. with reference to figure 2.
  • the reception method 300 includes a step 301 for receiving the message, and a step 302 for extracting the ambiguous identifier and the message number included in the received message.
  • the reception method 300 also includes a step of unambiguous identification of the transmitter device 20 from:
  • Each preceding message is unambiguously associated with a pair formed by an identifier and a sequence. This pair unambiguously identifies the sender device that sent the message. This then involves, for example, identifying, among these various previous messages, which previous message has a message number which corresponds to the number which precedes, in the sequence associated with said previous message, the message number of the new message received. This makes it possible to unambiguously identify (by the pair formed by the identifier and the sequence) the sending device which sent the received message.
  • FIG. 5 schematically shows an example of a receiver device 30.
  • the receiver device 30 may correspond to a base station 31 or to the server 32 of the access network of the communication system 10.
  • the receiver device 30 is configured to implement a reception method 300 according to the invention.
  • the receiver device 30 comprises a processing circuit 31 comprising a memory 32, one or more processors 33 and a communication module 34.
  • a computer program 321 is stored in the memory 32 of the device. receiving device 30.
  • the computer program 321 comprises a set of program code instructions which, when executed by the or the processors 33, configure the processor or processors 33 to implement a reception method 300 according to the invention.
  • the communication module 34 makes it possible to receive a message sent by a sending device 20 of the communication system 10.
  • the communication module 34 comprises a set of hardware and / or software means, considered to be known to those skilled in the art (antenna, analog filter, amplifier, local oscillator, mixer, analog / digital converter, decoder , etc.). If the receiving device 30 corresponds to a base station 31, the communication module 34 makes it possible to receive the message directly from the sending device 20. If the receiving device 30 corresponds to the server 32, the communication module 34 receives the message coming from 'a base station which received the message.
  • the receiver device 30 comprises one or more programmable logic circuits (FPGA, PLD, etc.), and / or one or more specialized integrated circuits (ASIC), and / or a set of discrete electronic components, etc. , suitable for implementing all or part of the steps of the reception method 300 according to the invention.
  • the receiver device 30 comprises means which are configured in software (specific computer program product) and / or hardware (FPGA, PLD, ASIC, discrete electronic components, etc.) to implement the steps of the reception method 300 according to the invention.
  • the memory 32 of the receiver device 30 also comprises a database 322 in which each possible value of identifier IDi, ID 2 , ..., ID K is associated with several sequences Seqi, Seq 2 , ..., Seqr. It should be noted that nothing prevents lists of different sequences from being associated with different identifiers, in which case, for example, the identifier value IDi would be associated with the sequences Seqi , i , Seqi , 2 , ..., Seqi.
  • the identifier value ID 2 would be associated with the sequences Seq 2, i , Seq 2,2 , ..., Seq 2, N 2 (with N 2 corresponding to the number of sequences associated with ID 2 ), etc.
  • the same sequences Seqi, Seq 2 , ..., Seq N are associated with each identifier value IDi, ID 2,. .., ID K.
  • the maximum number of transmitting devices 20 that can be supported by the communication system 10 i.e. the maximum number of transmitting devices 20 that can be unambiguously identified
  • N x 2 32 this number corresponds to the number of different couples formed by an identifier and a sequence.
  • the database 322 also includes, for each pair formed by an identifier and a sequence, a message number LN of a last message received. a transmitter device 20 to which said identifier and said sequence have been assigned.
  • LNi , i corresponds to the message number of the last message received from the device having the identifier IDi and the sequence Seqi, LNI , 2 corresponds to the message number of the last message received from the device having the identifier IDi and the sequence Seq 2 , LN 2
  • I corresponds to the message number of the last message received from the device having the identifier ID 2
  • the sequence Seqi, LN K, N corresponds to the message number of the last message received from the device having the identifier ID K and the sequence Seqrg .
  • the database is stored directly in the memory 32 of the receiver device 30.
  • this database there is nothing to prevent this database from being stored in a server separate from the server. receiver device 30 and accessible by receiver device 30.
  • Seqi and Seq 2 are associated with each possible identifier value IDi, ID 2 , ..., ID K.
  • N 2
  • the number of different sending devices that can be supported by the network is equal to 2 x 2 32 .
  • Seqi is the increasing sequence from 0 to 4095 of the possible message number values
  • Seq 2 is the decreasing sequence from 4095 to 0 of the possible message number values:
  • Seq 2 ⁇ 4095, 4094, 4093, ..., 0 ⁇
  • the receiving device 30 when a previous message and a new message are received successively with the same identifier, it is generally possible to determine whether the two messages were sent by the sending device to which Seqi is assigned, or by the device. transmitter to which Seq 2 is assigned, or if they have each been transmitted respectively by the transmitter device to which Seqi is assigned and the transmitter device to which Seq 2 is assigned. Indeed, starting from the message number of the previous message, it is possible to determine the number ni of jumps to be made in Seqi and the number n 2 of jumps to be made in Seq 2 to obtain the message number of the new message.
  • a predetermined threshold corresponding for example to a maximum number of messages that can be lost between two messages received from the same sending device. If the smallest value between and n 2 is greater than a predetermined threshold (corresponding for example to a maximum number of messages that can be lost between two messages received from the same sending device), then it is possible to conclude that the two messages have not been sent by a single sending device. Otherwise, if m is less than n 2 , then it is highly probable that the two messages were sent by the sending device to which Seqi is assigned, and if n 2 is less than, then it is highly probable that the two messages have been sent by the sending device to which Seq 2 is assigned. According to a second exemplary implementation, four sequences Seqi, Seq2, Seq3 and Seq4 are associated with each possible identifier value IDi, ID 2 , ID K.
  • Seqi is the increasing sequence from 0 to 4094 of the possible even values of the message number
  • Seq 2 is the decreasing sequence from 4094 to 0 of the possible even values of the message number
  • Seq3 is the increasing sequence from 1 to 4095 of the possible odd values message number
  • Seq4 is the decreasing sequence from 4095 to 0 of the possible odd message number values:
  • Seq 2 ⁇ 4094, 4092, 4090, ..., 0 ⁇
  • Seq 4 ⁇ 4095, 4093, 4091, ..., 1 ⁇
  • each possible identifier value IDi ID 2 , ..., ID K.
  • N 8
  • the number of different sending devices that can be supported by the network is 8 x 2 32 .
  • Seqi ⁇ 0, 1, 2, ..., 511 ⁇ , 513, 514, ..., 1023 ⁇ 4, 1025, 1026, ..., 1535 ⁇ 6, 1537, 1538, ..., 2047 ⁇ 8, 2049, 2050, ..., 2559 ⁇ 0, 2561, 2562, ..., 3071 ⁇ 2, 3073, 3074, ..., 3583 ⁇ 4, 3585, 3586, ..., 4095 ⁇
  • the present invention therefore also proposes solutions aimed at maximizing the L and N values while using optimal sequences to completely identify a transmitter device 20.
  • At least two different sequences allocated to two different transmitting devices 20 sharing the same identifier include the same message number.
  • the invention goes beyond simply "stealing" bits from the bit field encoding the message number to artificially increasing the size of the bit field encoding the identifier.
  • all the sequences have the same message numbers, but each in a different order.
  • a sequence is defined by an increment, and a message number in the sequence corresponds to the sum, modulo a predetermined value, of the previous message number in the sequence and of the increment.
  • a sequence corresponding to the value increment 5 includes in the ordered values 0, 5, 10, 15, ... etc.
  • said predetermined value corresponds to the length L of the sequence and that said length L of the sequence is a prime number with the value of the increment.
  • the increment value of the sequence should be a prime number with the length L of the sequence.
  • the message numbers included in the sequence will take all values between 0 and (L - 1).
  • the length L of the sequence is a prime number.
  • the length L of the sequence corresponds to the largest prime number corresponding to a possible message number value.
  • the possible values of the message number vary between 0 and 4095, and the largest prime number corresponding to a possible value of the message number corresponds to the number 4093.
  • Choose from sequences of length L 4093 is therefore optimal for maximizing both the number of usable sequences and the length of a sequence.
  • Figure 6 illustrates a lattice schematically representing observations a message number for two different sequences Seq A and Seq B assigned respectively to two different transmitting devices (A and B).
  • the length L of a sequence is equal to 17 (and not to 4093).
  • the sequence Seq A assigned to A corresponds for example to the increment of value five
  • the sequence Seq B assigned to B corresponds to the increment of value three.
  • the abscissa axis represents the number of jumps that the transmitting device A must make in the sequence assigned to it in order to go from one observation to another.
  • the ordinate axis represents the number of jumps that the sending device B must make in the sequence which is assigned to it in order to go from one observation to another.
  • the lattice reads as follows: starting from observation 61 commonly made by A and B, A must perform four jumps in Seq A and B must perform one jump in Seq B to make observation 62; starting from observation 71 commonly made by A and B, A must perform three jumps in Seq A and B must perform five jumps in Seq B to make observation 72. It should be noted that the observations do not provide any information about the value of a message number in the sequence.
  • the sequence Seq A assigned to A corresponds to the ordered list ⁇ 0, 5, 10, 15, 3, 8, 13, 1, 6, 11, 16, 4, 9, 14, 2, 7, 12 ⁇ ; the sequence Seq B attributed to B corresponds to the ordered list ⁇ 0, 3, 6, 9, 12, 15, 1, 4, 7, 10, 13, 16, 2, 5, 8, 11, 14 ⁇ .
  • A must perform four jumps in Seq A and B must perform a jump in Seq B to make the common observation corresponding to the message number of value 3.
  • A starting from a common observation by A and B corresponding to the message number of value 7, A must perform three jumps in Seq A and B must perform five jumps in Seq B to make the common observation corresponding to the message number of value 5.
  • a distance D A, B is defined between two sequences SeqA and SeqB such that, for two transmitting devices 20 sharing the same identifier and to which the two sequences have been respectively allocated, it is possible, from a previous message received of each sender device 20 and comprising the same message number, to determine which of said two sender devices 20 has sent a new message received if and only if a number less than (D A, B - 1) messages are lost between two messages successively received from a sending device 20.
  • the distance between two sequences can be defined as follows: by starting in each sequence from a starting message number common to the two sequences, and by considering the set of pairs formed by two positive integers and n 2 less than the length of the sequence such as by performing increments in one of the two sequences and by performing n 2 increments in the other sequence the same message number is again obtained for the two sequences, the distance between the two sequences is the smallest value among the greatest values of all the pairs considered, whatever the common starting number considered.
  • the pairs (m, n 2 ) are (1, 13), (2, 9), (3, 5), (4, 1), (5, 14), ( 6, 10), (7, 6), (8, 2), (9, 15), (10, 11), (11, 7), (12, 3), (13, 16), (14, 12), (15, 8), (16, 4).
  • the distance D between these two sequences is therefore equal to the smallest value among ⁇ 13, 9, 5, 4, 14, 10, 7, 8, 15, 11, 12, 16 ⁇ .
  • the distance D A, B is therefore equal to 4.
  • sequence size the largest prime number corresponding to a possible message number value will not necessarily lead to the largest possible number of compatible sequences. It may therefore be advantageous to choose as sequence size a prime number, corresponding to a possible message number value, which maximizes the number of compatible sequences for a predefined threshold D s.
  • FIG. 7 represents nodes 80 corresponding to the possible sequences of length 17 (the increment value therefore varies between 1 and 16).
  • the graph illustrated in FIG. 7 is produced for a sequence length equal to 17, and not 4093.
  • the threshold D s is equal to 4
  • the nodes corresponding to mutually compatible sequences that is to say sequences for which the distance between the two sequences is greater than or equal to 4
  • FIG. 7 represents nodes 80 corresponding to the possible sequences of length 17 (the increment value therefore varies between 1 and 16).
  • a maximum size clique can in particular be determined by applying the Bron-Kerbosch algorithm.
  • FIGS. 8 to 10 represent different possible scenarios making it possible to identify unambiguously, from a received message, which sender device 20 has sent the message.
  • the message received comprises the identifier ID 2 and the message number Num.
  • the database 322 indicates that two messages comprising the identifier ID 2 were previously received.
  • One of the two preceding messages includes the message number LN 2,2 and it was associated with the sequence Seq 2 , it was therefore sent by the sending device identified unambiguously by the couple (ID 2 , Seq 2 ).
  • the other preceding message includes the message number LN 2,6 and it was associated with the sequence Seq 6 , it was therefore sent by the sending device identified unambiguously by the couple (ID 2 , Seq 6 ).
  • the number C of messages lost between a newly received message whose message number equals Num and the last previously received message whose message number equals LN is defined by:
  • the number of jumps n 2 , 2 to be performed in the sequence Seq2 starting from LN 2 , 2 to obtain Num is equal to 3, and the number of n 2.6 jumps to be performed in the sequence Seq 6 starting from LN 2.6 to obtain Num is 3716.
  • this means that if the new message has been sent by the identified sending device by the couple (ID 2 , Seq2), then C2,6 2 messages would have been lost between the previous message whose message number is LN 2 , 2 and the new message whose message number is Num.
  • the unambiguous identification of the transmitter device 20 is also carried out on the basis of an estimated geographical position of the transmitter device 20.
  • this estimate can be made for example from an identifier of a base station having received the message (the geographical position of the base station being known) or else from location information included in the message.
  • the estimated geographical position of the sending device having sent the new message is loci.
  • the database 322 indicates that four messages comprising the identifier ID 2 were previously received: a first previous message includes the message number LN 2,2 , it was sent by the sending device identified unambiguously by the couple (ID 2 , Seq 2 ) at the loci position; a second previous message includes the message number LN 2 ,, it was sent by the sending device (ID 2 , Seq 4 ) at the loci position; a third previous message includes the message number LN 2,3 , it was sent by the sending device (ID 2 , Seq 3 ) at position loc 2 ; a fourth previous message includes the message number LN 2,6 , it was sent by the sending device (ID 2 , Seq 6 ) at position loc 2 .
  • the sending device which issued the new message is one of the sending devices (ID 2 , Seq 2 ) and (ld 2 , Seq4) which are located in the same geographical area. It may therefore suffice to calculate the numbers C 2.2 and C 2.4 to identify the transmitting device. If the smallest value among C 2.2 and C 2.4 is less than the threshold value corresponding to a maximum number of messages that can be lost between two successive messages, then this will make it possible to completely identify the sending device. Otherwise, the sending device has probably changed geographical area since the last previous message received was sent (change from loc 2 to loci), and it is then necessary to also calculate the numbers C 2 , 3 and C 2.6 to identify it. The use of an estimated geographical position of the sending device thus makes it possible to limit the number of calculations to be carried out to identify the sending device.
  • FIG. 10 illustrates a third scenario for which no previous message and no starting message number is available for the different sequences Seqi, Seq 2 , ..., Seq N assigned to the sending devices having ID 2 for identifier.
  • a sending device can be identified unambiguously only after two messages have been successively received from this sending device. It is therefore appropriate initially, as illustrated in part a) of FIG. 10, to store the message number Numi associated with the first message received.
  • the various values of increments are successively calculated making it possible to switch from Numi to Num 2 by performing 1, 2, 3, ..., n jumps.
  • An increment value is calculated with the following expression:
  • the sequence assigned to the sending device having successively sent the two messages is the sequence associated with the first valid increment calculated.
  • valid increment is understood to mean an increment which corresponds to one of the N chosen sequences allocated to transmitting devices bearing the identifier ID 2 . In the example considered, the first 13 increments are not valid.
  • the number of transmitting devices 20 supported by the communication system 10 is multiplied by N (the communication system 10 can then support up to 40 x 2 32 transmitting devices, or nearly 171.8 billion devices. ).
  • a value representative of the confidence granted to the identification of the sending device at the origin of a received message that is to say a value which indicates a level of certainty for the identification of the sending device: the greater this value, the greater the probability that the identified sending device is indeed the sending device at the origin of the received message; conversely, the lower this value and the lower the probability that the identified sender device is indeed the sender device at the origin of the received message). If the confidence level is too low (compared to a predetermined threshold), it is possible to ignore the message received. On the other hand, if the confidence level is too low it is also It is conceivable to use additional identification methods based, for example, on authentication codes, or on particular behaviors of certain transmitting devices in relation to others.
  • the present invention achieves the objectives set.
  • the invention makes it possible to significantly increase the number of sending devices that can be supported by the communication system without increasing the size of the bit field encoding the identifier of a sending device.
  • the impact on the values taken by the sequence numbers is small (because the number of values taken by the sequence number is only slightly reduced).
  • the invention has been described mainly by considering that the identifier of a sending device is encoded on 32 bits and that the sequence number of a message is encoded on 12 bits. However, following other examples, nothing excludes considering other sizes for the bit fields encoding the identifier and the message number.
  • the invention has been described considering a wireless communication system for connected objects of the loT type.
  • the invention could, however, be quite applicable to other communication systems, and not necessarily to wireless communication systems.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

L'invention concerne un procédé d'émission (200) d'un message par un dispositif émetteur (20) d'un système (10) de communication. Le message comporte un identifiant du dispositif émetteur ainsi qu'un numéro de message. L'identifiant est ambigu dans le sens où l'identifiant peut être partagé par plusieurs dispositifs émetteurs différents. Le procédé d'émission (200) comporte une détermination (203) du numéro de message à utiliser pour le message à émettre à partir d'une part d'une séquence (222) de numéros de message attribuée au dispositif émetteur (20), et d'autre part d'un numéro de message (223) d'un message précédent émis par le dispositif émetteur (20). Une même séquence peut être attribuée à différents dispositifs émetteurs ayant des identifiants différents, mais elle ne peut pas être attribuée à un autre dispositif émetteur ayant le même identifiant. Un procédé de réception selon l'invention peut alors identifier de manière non ambigüe le dispositif émetteur.

Description

Procédés et dispositifs permettant d’identifier de manière unique un émetteur d’un message
Domaine de l’invention
La présente invention appartient au domaine des systèmes de communication et concerne plus particulièrement la problématique de l’identification d’un dispositif émetteur d’un système de communication à partir d’un message émis par ce dispositif émetteur. Notamment, l’invention concerne un procédé d’émission et un procédé de réception permettant d’identifier un dispositif émetteur à partir d’un message émis par ce dispositif émetteur. L’invention concerne également un dispositif émetteur mettant en oeuvre ledit procédé d’émission, ainsi qu’un dispositif récepteur mettant en oeuvre ledit procédé de réception. L’invention est particulièrement bien adaptée dans les cas où la taille du message émis par le dispositif émetteur doit être réduite au maximum.
Etat de la technique
Dans les systèmes de communication existants, il est connu d’inclure dans un message émis par un dispositif émetteur un identifiant unique du dispositif émetteur afin de pouvoir identifier de manière non ambigüe le dispositif émetteur.
L’identifiant unique est généralement codé sous la forme d’un champ de bits. Le nombre maximal de dispositifs émetteurs différents que peut supporter le système de communication est alors limité par la taille de ce champ de bits. Par exemple, si un identifiant unique est codé dans un message sous la forme d’un champ de trente-deux bits, le système de communication peut supporter 232 (soit moins de 4,3 milliards) dispositifs émetteurs différents car il existe 232 valeurs différentes d’identifiant.
Les systèmes de communication actuels doivent supporter un nombre de plus en plus important de dispositifs. C’est notamment le cas pour les systèmes de communication de type Internet des Objets (loT, pour « Internet of Things » en anglais) et de type communication entre machines (M2M, pour « Machine-to-Machine » en anglais).
Il n’est cependant parfois pas souhaitable d’augmenter la taille du champ de bits codant l’identifiant unique d’un dispositif émetteur, notamment lorsque la taille d’un message doit être réduite au maximum afin de limiter la consommation électrique des dispositifs émetteurs et/ou d’optimiser les ressources radio du système de communication (c’est généralement le cas pour les systèmes de communication de type loT ou M2M). Aussi, il n’est parfois pas possible de modifier la taille d’un message pour des raisons de rétrocompatibilité.
Une solution pour augmenter le nombre de dispositifs supportés par le système de communication pourrait consister à réutiliser un même identifiant pour des dispositifs émetteurs différents qui sont supposés se trouver dans des zones géographiques différentes. Si le système de communication est capable d’estimer la position géographique d’un dispositif émetteur à partir d’un message émis par ledit dispositif émetteur, alors il est possible de discriminer deux dispositifs émetteurs partageant le même identifiant en fonction de leur position géographique. Une telle solution n’est cependant pas adaptée au cas où les dispositifs émetteurs du système de communication peuvent se déplacer d’une zone géographique à une autre.
Dans les systèmes de communication existants, il est également connu d’inclure dans un message émis par un dispositif émetteur un numéro de message afin d’ordonner différents messages reçus d’un même dispositif émetteur, afin de détecter une éventuelle perte d’un ou de plusieurs messages émis par un dispositif émetteur, ou afin de supporter une éventuelle redondance des messages émis par un dispositif émetteur. Un tel numéro de message est parfois utilisé également comme paramètre d’entrée d’un algorithme de chiffrement du message ou d’un algorithme d’authentification.
Il n’existe actuellement pas de solution satisfaisante pour augmenter le nombre de dispositifs supportés par un système de communication sans augmenter la taille du champ de bits codant un identifiant unique de dispositif.
Exposé de l’invention
La présente invention a pour objectif de remédier à tout ou partie des inconvénients de l’art antérieur, notamment ceux exposés ci-avant, en proposant une solution qui permette d’augmenter le nombre de dispositifs supportés par un système de communication sans avoir à augmenter la taille d’un champ de bits codant un identifiant de dispositif.
A cet effet, et selon un premier aspect, il est proposé par la présente invention un procédé d’émission, par un dispositif émetteur d’un système de communication, d’un message à destination d’un dispositif récepteur dudit système de communication. Le message comporte un identifiant du dispositif émetteur ainsi qu’un numéro de message. L’identifiant contenu dans le message est ambigu dans le sens où l’identifiant peut être partagé par plusieurs dispositifs émetteurs différents. Le procédé d’émission comporte une détermination du numéro de message à utiliser pour le message à émettre à partir : - d'une séquence de numéros de message différents attribuée au dispositif émetteur, ladite séquence pouvant également être attribuée à un autre dispositif émetteur ayant un identifiant différent, mais ne pouvant pas être attribuée à un autre dispositif émetteur ayant le même identifiant,
- d’un numéro de message d’un message précédent émis par le dispositif émetteur ou, si aucun message n’a été émis précédemment par le dispositif émetteur, d’un numéro de message de départ prédéterminé appartenant à ladite séquence.
L’identifiant et le numéro de message correspondent par exemple à des nombres entiers positifs ou nuis codés par des champs de bits. Par exemple l’identifiant est codé sur trente-deux bits et le numéro de message est codé sur douze bits. L’identifiant n’est cependant pas un identifiant unique car le même identifiant peut être attribué à plusieurs dispositifs émetteurs différents. Il s’agit d’un « identifiant ambigu ».
La séquence attribuée au dispositif émetteur définit une suite ordonnée de numéros de message différents à utiliser lors d’émissions successives de messages. Deux numéros de messages qui se suivent dans la séquence ne correspondent pas nécessairement à deux nombres dont la différence vaut un : il peut exister un « saut » entre deux nombres qui se suivent dans la séquence. Quand le dernier numéro de la séquence est utilisé pour un message, le premier numéro au début de la séquence est utilisé pour le message suivant.
Une séquence particulière peut être attribuée à différents dispositifs émetteurs ayant des identifiants différents, mais elle ne peut pas être attribuée à plusieurs dispositifs émetteurs partageant le même identifiant. Avec de telles dispositions, une identification non ambigüe d’un dispositif émetteur correspond à la combinaison de l’identifiant et de la séquence attribués audit dispositif émetteur. Autrement dit, un dispositif émetteur est identifié de façon unique dans le système de communication par le couple formé par l’identifiant ambigu et la séquence attribués au dispositif émetteur.
Lorsque le dispositif émetteur émet un nouveau message, il détermine le numéro de message à utiliser à partir de la séquence qui lui est attribuée et à partir du numéro de message du dernier message qu’il a émis. Le numéro de message à utiliser correspond au numéro de message qui suit dans la séquence le numéro de message du dernier message émis. Si le numéro de message du dernier message émis n’est pas disponible (par exemple parce qu’il s’agit du tout premier message émis par le dispositif émetteur), il est possible d’utiliser un numéro de message de départ prédéterminé appartenant à ladite séquence.
Comme cela sera expliqué par la suite, de telles dispositions permettent à un dispositif récepteur qui reçoit le message d’identifier le dispositif émetteur de façon non ambigüe à l’aide du couple formé par l'identifiant et la séquence attribués au dispositif émetteur.
La présente invention trouve une application particulièrement avantageuse, bien que nullement limitative, dans les systèmes de communication de type réseaux étendus sans fil à faible consommation électrique (LPWAN pour « Low Power Wide Area Network » dans la littérature anglo-saxonne). De tels systèmes présentent généralement des débits particulièrement bas et visent par conséquent à limiter la taille des messages émis, ce qui contribue également à limiter la consommation électrique des dispositifs lors de l’émission d’un message.
Dans des modes particuliers de mise en oeuvre, l’invention peut comporter en outre l’une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles.
Dans des modes particuliers de mise en oeuvre, au moins deux séquences différentes attribuées à deux dispositifs émetteurs différents partageant le même identifiant comportent un même numéro de message.
Avec de telles dispositions, l’invention va au-delà de simplement « voler » des bits du champ de bits codant le numéro de message pour augmenter artificiellement la taille du champ de bits codant l’identifiant.
Dans des modes particuliers de mise en oeuvre, une séquence est définie par un incrément, de telle sorte qu’un numéro de message dans la séquence correspond à la somme, modulo la longueur de la séquence, du numéro de message précédent dans la séquence et de l’incrément, la longueur et l’incrément de la séquence étant choisis de telle sorte qu’ils sont premiers entre eux.
Dans des modes particuliers de mise en oeuvre, la longueur d’une séquence est un nombre premier.
Dans des modes particuliers de mise en oeuvre, la longueur d’une séquence est le plus grand nombre premier correspondant à une valeur possible de numéro de message.
On entend par « la longueur d’une séquence » le nombre de numéros que contient la séquence. On entend par « nombre premier » un nombre entier qui admet exactement deux diviseurs distincts entiers et positifs, ces deux diviseurs étant le nombre un et le nombre considéré. On dit que deux entiers sont « premiers entre eux » si leur plus grand diviseur commun est égal à un. Une valeur possible de numéro de message correspond à une valeur de numéro de message qui peut être codé sur le champ de bits indiquant un numéro de message dans un message émis par un dispositif émetteur. On entend par modulo l’opération de calcul du reste de la division euclidienne. On entend par « un incrément » un nombre entier compris entre un et la longueur de la séquence moins un. Autrement dit, si on note L la longueur de la séquence, l’incrément est un entier compris entre 1 et (L - 1). Des séquences différentes sont alors définies par des valeurs d’incrément différentes. Au maximum une seule séquence présente donc un incrément égal à un, et les autres séquences présentent des incréments différents de un. Par exemple pour un numéro de message codé sur un champ de douze bits, les valeurs possibles de numéro de message varient entre 0 et 4095, et le plus grand nombre premier correspondant à une valeur possible de numéro de message correspond au nombre 4093. Lorsqu’une séquence est définie par un incrément modulo la longueur de la séquence, choisir un incrément et une longueur de séquence premiers entre eux permet de maximiser la longueur de la séquence car la séquence contient alors tous les nombres compris entre 0 et (L - 1). Choisir une longueur de séquence correspondant à un nombre premier de grande valeur permet de maximiser le nombre de séquences car chaque incrément envisageable est alors premier avec la longueur de la séquence.
Dans des modes particuliers de mise en oeuvre, deux séquences différentes attribuées à deux dispositifs émetteurs différents partageant le même identifiant sont compatibles deux à deux. Deux séquences sont dites compatibles l’une avec l’autre si une distance entre les deux séquences est supérieure ou égale à un seuil prédéterminé. Ladite distance entre deux séquences est définie ainsi : en partant dans chaque séquence d’un numéro de message de départ commun aux deux séquences, et en considérant l’ensemble des couples formés par deux nombres entiers positifs et n2 inférieurs à la longueur de la séquence tels que en effectuant incréments dans l’une des deux séquences et en effectuant n2 incréments dans l’autre séquence un même numéro de message est à nouveau obtenu pour les deux séquences, la distance entre les deux séquences est la plus petite valeur parmi les plus grandes valeurs de tous les couples considérés, quel que soit le numéro de départ commun considéré.
On entend par « nombres entiers positifs » des nombres qui ne sont pas nuis, c'est-à-dire des nombres strictement positifs.
Avec de telles dispositions, si on considère deux dispositifs émetteurs ayant le même identifiant et une séquence différente, pour lesquels le dernier message reçu par un réseau d’accès du système de communication comporte le même numéro de message, si on peut garantir que le nombre de messages perdus par un dispositif émetteur est inférieur à (D - 1 ), avec D la distance entre les deux séquences, alors il sera toujours possible de déterminer lequel desdits deux dispositifs émetteurs a émis un nouveau message reçu comportant le même identifiant. Selon un deuxième aspect, la présente invention concerne un produit programme d’ordinateur comportant un ensemble d’instructions de code de programme qui, lorsqu’elles sont exécutées par un ou plusieurs processeurs, configurent le ou les processeurs pour mettre en oeuvre un procédé d’émission selon l’un quelconque des modes de mise en oeuvre précédents.
Selon un troisième aspect, la présente invention concerne un dispositif émetteur d’un système de communication pour émettre un message à destination d’un dispositif récepteur dudit système de communication. Le message comporte un identifiant du dispositif émetteur ainsi qu’un numéro de message. L’identifiant contenu dans le message est ambigu dans le sens où l’identifiant peut être partagé par plusieurs dispositifs émetteurs différents. Le dispositif émetteur comporte un circuit de traitement configuré pour déterminer le numéro de message à utiliser pour le message à émettre à partir :
- d'une séquence de numéros de message attribuée au dispositif émetteur, ladite séquence pouvant également être attribuée à un autre dispositif émetteur ayant un identifiant différent, mais ne pouvant pas être attribuée à un autre dispositif émetteur ayant le même identifiant,
- d’un numéro de message d’un message précédent émis par le dispositif émetteur ou, si aucun message n’a été émis précédemment par le dispositif émetteur, d’un numéro de message de départ prédéterminé appartenant à ladite séquence.
Dans des modes particuliers de réalisation, l’invention peut comporter en outre l’une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles.
Dans des modes particuliers de réalisation, la séquence qui est attribuée au dispositif émetteur comporte un numéro de message appartenant également à la séquence attribuée à au moins un autre dispositif émetteur partageant le même identifiant.
Dans des modes particuliers de réalisation, ladite séquence attribuée au dispositif émetteur est définie par un incrément, de telle sorte qu’un numéro de message dans la séquence correspond à la somme, modulo la longueur de la séquence, du numéro de message précédent dans la séquence et de l’incrément, la longueur et l’incrément de la séquence étant choisis de telle sorte qu’ils sont premiers entre eux.
Dans des modes particuliers de réalisation, la longueur de la séquence attribuée au dispositif émetteur est un nombre premier.
Dans des modes particuliers de réalisation, la longueur de la séquence attribuée au dispositif émetteur est le plus grand nombre premier correspondant à une valeur possible de numéro de message.
Dans des modes particuliers de réalisation, la séquence attribuée au dispositif émetteur est prédéterminée de sorte que deux séquences différentes attribuées à deux dispositifs émetteurs différents partageant le même identifiant sont compatibles deux à deux. Deux séquences sont dites compatibles l’une avec l’autre si une distance entre les deux séquences est supérieure ou égale à un seuil prédéterminé. Ladite distance entre deux séquences est définie ainsi : en partant dans chaque séquence d’un numéro de message de départ commun aux deux séquences, et en considérant l’ensemble des couples formés par deux nombres entiers positifs et n2 inférieurs à la longueur de la séquence tels que en effectuant incréments dans l’une des deux séquences et en effectuant n2 incréments dans l’autre séquence un même numéro de message est à nouveau obtenu pour les deux séquences, la distance entre les deux séquences est la plus petite valeur parmi les plus grandes valeurs de tous les couples considérés, quel que soit le numéro de départ commun considéré.
Selon un quatrième aspect, la présente invention concerne un procédé de réception, par un dispositif récepteur d’un système de communication, d’un message émis par un dispositif émetteur dudit système de communication conformément à un procédé d’émission selon l’un quelconque des modes de mise en oeuvre précédents. Le procédé de réception comporte une identification non ambigüe du dispositif émetteur à partir :
- de l’identifiant ambigu extrait du message reçu,
- du numéro de message extrait du message reçu,
- d’au moins une séquence ayant été attribuée à au moins un dispositif émetteur partageant le même identifiant ambigu, et
- d’au moins un numéro de message d’un message précédent reçu d’un dispositif émetteur partageant le même identifiant ambigu ou d’un numéro de message de départ appartenant à ladite séquence.
Il peut y avoir plusieurs messages précédents reçus de différents dispositifs émetteurs partageant le même identifiant ambigu. Chaque message précédent est associé de manière non ambigüe à un couple formé par un identifiant et une séquence. Ce couple identifie de manière non ambigüe le dispositif émetteur ayant émis le message. Il s’agit par exemple d’identifier, parmi ces différents messages précédents, si un message précédent comporte un numéro de message qui correspond au numéro qui précède, dans la séquence associée audit message précédent, le numéro de message du message reçu. Cela permet d’identifier de manière non ambigüe (par le couple formé par l’identifiant et la séquence) le dispositif émetteur qui a émis le message reçu.
Dans des modes particuliers de mise en oeuvre, l’invention peut comporter en outre l’une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles.
Dans des modes particuliers de mise en oeuvre, l’identification non ambigüe du dispositif émetteur comporte, pour ladite séquence et en partant dudit numéro de message d’un message précédent ou dudit numéro de message de départ, un calcul du nombre de sauts à effectuer dans ladite séquence pour obtenir le numéro de message extrait du message reçu.
En effet, des messages peuvent être perdus entre deux messages successivement reçus d’un dispositif émetteur. Calculer le nombre de sauts à effectuer dans la séquence pour obtenir le numéro de message extrait du message reçu est équivalent à calculer un nombre de messages perdus entre le message précédemment reçu et le message nouvellement reçu. On peut calculer pour chaque message précédent le nombre de sauts à effectuer, dans la séquence associée audit message précédent, en partant du numéro de message du message précédent, pour obtenir le numéro de message du message nouvellement reçu. La séquence associée au message précédent pour lequel le nombre de sauts à effectuer est minimal correspond alors très probablement à la séquence du dispositif émetteur ayant émis le message nouvellement reçu.
Dans des modes particuliers de mise en oeuvre, l’identification non ambigüe du dispositif émetteur est effectuée en outre à partir d’une position géographique estimée du dispositif émetteur.
Cette estimation peut être faite par exemple à partir d’un identifiant d’une station de base ayant reçu le message (la position géographique de la station étant connue) ou bien à partir d’une information de localisation incluse dans le message. L’utilisation d’une position géographique estimée du dispositif émetteur permet de limiter le nombre de calculs à effectuer pour identifier le dispositif émetteur.
Selon un cinquième aspect, la présente invention concerne un produit programme d’ordinateur comportant un ensemble d’instructions de code de programme qui, lorsqu’elles sont exécutées par un ou plusieurs processeurs, configurent le ou les processeurs pour mettre en oeuvre un procédé de réception selon l’un quelconque des modes de mise en oeuvre précédents.
Selon un sixième aspect, la présente invention concerne un dispositif récepteur d’un système de communication pour recevoir un message émis par un dispositif émetteur dudit système de communication conformément à un procédé d’émission selon l’un quelconque des modes de mise en oeuvre précédents. Le dispositif récepteur comporte un circuit de traitement configuré pour extraire l’identifiant ambigu et le numéro de message du message reçu, et pour identifier de manière non ambigüe le dispositif émetteur à partir :
- de l’identifiant ambigu extrait du message reçu,
- du numéro de message extrait du message reçu,
- d’au moins une séquence ayant été attribuée à au moins un dispositif émetteur partageant le même identifiant ambigu, et
- d’au moins un numéro de message d’un message précédent reçu d’un dispositif émetteur partageant le même identifiant ambigu ou d’un numéro de message de départ appartenant à ladite séquence.
Dans des modes particuliers de réalisation, le circuit de traitement est configuré en outre pour calculer, pour ladite séquence et en partant dudit numéro de message d’un message précédent ou dudit numéro de message de départ, un nombre de sauts à effectuer dans ladite séquence pour obtenir le numéro de message extrait du message reçu.
Présentation des figures
L’invention sera mieux comprise à la lecture de la description suivante, donnée à titre d’exemple nullement limitatif, et faite en se référant aux figures 1 à 10 qui représentent :
[Fig. 1] une représentation schématique d’un système de communication sans fil comportant plusieurs dispositifs émetteurs ainsi qu’un réseau d’accès comprenant une pluralité de stations de base, chaque dispositif émetteur comportant un identifiant ambigu et une séquence,
[Fig. 2] une représentation schématique des principales étapes d’un procédé d’émission selon l’invention,
[Fig. 3] une représentation schématique d’un dispositif émetteur selon l’invention,
[Fig. 4] une représentation schématique des principales étapes d’un procédé de réception selon l’invention,
[Fig. 5] une représentation schématique d’un dispositif récepteur selon l’invention,
[Fig. 6] un treillis représentant schématiquement des observations d’un numéro de message pour deux séquences différentes attribuées à deux dispositifs émetteurs différents,
[Fig. 7] un graphique représentant des séquences sous forme de noeuds et dans lequel deux séquences compatibles entre elles sont connectées l’une à l’autre,
[Fig. 8] une représentation schématique d’un premier scénario d’identification d’un dispositif émetteur,
[Fig. 9] une représentation schématique d’un deuxième scénario d’identification d’un dispositif émetteur,
[Fig. 10] une représentation schématique d’un troisième scénario d’identification d’un dispositif émetteur.
Dans ces figures, des références identiques d’une figure à une autre désignent des éléments identiques ou analogues. Pour des raisons de clarté, les éléments représentés ne sont pas nécessairement à une même échelle, sauf mention contraire.
Description détaillée d’un mode de réalisation de l’invention
Comme indiqué précédemment, la présente invention trouve une application particulièrement avantageuse, bien que nullement limitative, dans les systèmes de communication sans fil de type loT ou M2M. Dans la suite de la description, on se place à titre d’exemple nullement limitatif dans le cas d’un tel système.
La figure 1 représente schématiquement un système 10 de communication sans fil de type loT, comportant un ou plusieurs terminaux 20 et un réseau d’accès. Le réseau d’accès comporte plusieurs stations de base 31 et un serveur 32 reliées auxdites stations de base 31 .
Dans un tel système 10 de communication sans fil, les échanges de données sont essentiellement monodirectionnels, en l’occurrence sur un lien montant des terminaux 20 vers le réseau d’accès du système 10 de communication sans fil. Dans la suite de la description, on considère donc que les terminaux 20 sont des dispositifs émetteurs 20 (rien n’empêche cependant que les terminaux puissent également recevoir des messages en provenance du réseau d’accès, mais cela n’est pas particulièrement important pour l’invention).
Afin de minimiser les risques de perdre un message émis par un dispositif émetteur 20, la planification du réseau d’accès est souvent réalisée de telle sorte qu’une zone géographique donnée est couverte simultanément par plusieurs stations de base 31 , de telle manière qu’un message émis par un dispositif émetteur 20 peut être reçu par plusieurs stations de base 31 .
Chaque station de base 31 est adaptée à recevoir des messages des dispositifs émetteurs 20 qui se trouvent à sa portée. De manière conventionnelle, un message émis par un dispositif émetteur 20 comporte un identifiant et un numéro de message. L’identifiant a pour but de permettre d’identifier le dispositif émetteur 20 qui a émis le message. Le numéro de message a pour but d’ordonner différents messages reçus d’un même dispositif émetteur, de détecter une éventuelle perte d’un ou de plusieurs messages émis par un dispositif émetteur, ou de supporter une éventuelle redondance des messages émis par un dispositif émetteur, par exemple pour compenser une potentielle perte de messages. Le numéro de message peut également être utilisé comme paramètre d’entrée d’un algorithme de chiffrement du message ou d’un algorithme d’authentification.
Chaque message ainsi reçu est par exemple transmis au serveur 32 du réseau d’accès 10, éventuellement accompagné d’autres informations comme un identifiant de la station de base 31 qui l’a reçu, une valeur représentative de la qualité du signal radio transportant le message, la fréquence centrale sur laquelle le message a été reçu, une date à laquelle le message a été reçu, etc. Le serveur 32 traite par exemple l’ensemble des messages reçus des différentes stations de base 31. Le lien de communication entre une station de base 31 et le serveur 32 peut être supporté par une fibre optique ou un câble électrique, mais il peut aussi s’agir d’un lien de communication radio.
Le système 10 de communication est par exemple un réseau étendu sans fil à basse consommation électrique connu sous le terme LPWAN (acronyme anglais de « Low Power Wide Area Network »). Un tel système de communication sans fil est un réseau d’accès à longue portée (supérieure à un kilomètre, voire même supérieure à quelques dizaines de kilomètres), à faible consommation énergétique (par exemple une consommation énergétique lors de la transmission ou de la réception d’un message inférieure à 100 mW, voire inférieure à 50 mW, voire même inférieure à 25 mW), et dont les débits sont généralement inférieurs à 1 Mbits/s. De tels systèmes de communication sans fil sont particulièrement adaptés pour des applications impliquant des objets connectés de type loT.
Dans des modes particuliers de mise en oeuvre, le système 10 de communication peut être un système de communication à bande ultra étroite. Par « bande ultra étroite » (« Ultra Narrow Band » ou UNB dans la littérature anglo- saxonne), on entend que le spectre fréquentiel instantané des signaux radio émis par les dispositifs émetteurs 20 est de largeur fréquentielle inférieure à deux kilohertz, voire inférieure à un kilohertz. Un tel système permet de limiter significativement la consommation électrique des dispositifs émetteurs 20 lorsqu’ils communiquent avec le réseau d’accès.
Dans un système loT, le nombre de dispositifs émetteurs 20 à supporter peut être très important. Ce nombre peut par exemple être supérieur à plusieurs milliards voire même à plusieurs dizaines voire plusieurs centaines de milliards.
Dans la suite de la description, on considère à titre d’exemple non limitatif que l’identifiant d’un dispositif émetteur 20 est codé sur trente-deux bits (ce qui permet de définir 232 = 4 294 967 296 valeurs différentes d’identifiant), et le numéro de message est codé sur douze bits (ce qui permet de définir 212 = 4 096 valeurs différentes de numéro de message).
Conventionnellement, l’identifiant inclus dans un message définit de façon unique un dispositif, auquel cas le nombre de dispositifs supportés par le système serait limité à 232. Dans l’invention, l’identifiant n’est cependant pas un identifiant unique car le même identifiant peut être attribué à plusieurs dispositifs émetteurs différents. Il s’agit donc d’un « identifiant ambigu », car l’identifiant ne permet pas à lui seul d’identifier complètement un dispositif émetteur 20. L’invention utilise en outre avantageusement le numéro de message d’un message émis par un dispositif émetteur 20 pour identifier complètement ledit dispositif émetteur 20. L’invention permet d’augmenter le nombre de dispositifs émetteurs 20 supportés par le système 10 de communication car plusieurs dispositifs émetteurs 20 peuvent partager le même identifiant. L’invention permet d’augmenter le nombre de dispositifs émetteurs 20 supportés par le système 10 de communication sans augmenter la taille d’un message, et sans augmenter la taille du champ codant l’identifiant dans un message.
La figure 2 illustre schématiquement les principales étapes d’un procédé d’émission 200 d’un message par un dispositif émetteur 20 du système 10 de communication. Le message est reçu par un dispositif récepteur du système 10 de communication. Le dispositif récepteur est par exemple une station de base 31 ou le serveur 32 du réseau d’accès du système 10 de communication.
Le procédé d’émission 200 comporte une étape d’attribution 201 d’un identifiant ambigu au dispositif émetteur 20. Comme indiqué précédemment, l’identifiant est ambigu car il peut être partagé entre plusieurs dispositifs émetteurs différents. Autrement dit le même identifiant ambigu peut être attribué à plusieurs dispositifs émetteurs 20 différents.
Le procédé d’émission 200 comporte également une étape d’attribution 202 d’une séquence de numéros de message différents. La séquence attribuée au dispositif émetteur définit une suite ordonnée de numéros de message différents à utiliser lors d’émissions successives de messages. Deux numéros de messages qui se suivent dans la séquence ne correspondent pas nécessairement à deux nombres dont la différence vaut un : il peut exister un « saut » entre deux nombres qui se suivent dans la séquence. Quand le dernier numéro de la séquence est utilisé pour un message, le premier numéro au début de la séquence est utilisé pour le message suivant. Ladite séquence peut être attribuée à un autre dispositif émetteur 20 ayant un identifiant différent, mais elle ne peut pas être attribuée à un autre dispositif émetteur 20 ayant le même identifiant. Une combinaison de l’identifiant ambigu et de la séquence attribués au dispositif émetteur 20 correspond donc à une identification non ambigüe du dispositif émetteur 20. Autrement dit, et tel qu’illustré à la figure 1 , un dispositif émetteur 20 est identifié de façon unique dans le système 10 de communication par le couple formé par l’identifiant ambigu et la séquence attribués audit dispositif émetteur 20. Dans l’exemple illustré à la figure 1 , il peut exister dans le système 10 de communication plusieurs dispositifs émetteurs 20 ayant le même identifiant ambigu IDi, en revanche, il ne peut exister qu’un seul dispositif émetteur 20 comportant l’identifiant ambigu IDi et la séquence Seqi. Il convient donc d’attribuer aux autres dispositifs émetteurs 20 comportant l’identifiant ambigu IDi d’autres séquences, comme par exemple Seq2, Seq3, ...SeqN (N étant par exemple le nombre de séquences différentes pouvant être attribuées un dispositif émetteur ayant un identifiant particulier).
Les étapes 202 et 203 sont par exemple mise en oeuvre préalablement à la mise en service du dispositif émetteur 20.
Lorsque le dispositif émetteur 20 souhaite émettre un message, le procédé d’émission 200 comporte une étape de détermination 203 du numéro de message à inclure dans le message à émettre. Le numéro de message à utiliser est déterminé en fonction d'une part de la séquence attribuée au dispositif émetteur 20 et d’autre part d’un numéro de message d’un message précédent émis par le dispositif émetteur 20. Le numéro de message à utiliser correspond ainsi au numéro de message qui suit dans la séquence le numéro de message du dernier message émis. Si le numéro de message du dernier message émis n’est pas disponible, par exemple parce qu’il s’agit du tout premier message émis par le dispositif émetteur, il est possible d’utiliser un numéro de message de départ prédéterminé appartenant à ladite séquence.
Comme cela sera expliqué par la suite, de telles dispositions permettent alors à un dispositif récepteur qui reçoit le message d’identifier le dispositif émetteur 20 de façon non ambigüe.
La figure 3 représente schématiquement un exemple de dispositif émetteur 20. Le dispositif émetteur 20 est configuré pour mettre en oeuvre un procédé d’émission 200 d’un message selon l’invention.
Dans l’exemple illustré à la figure 3, le dispositif émetteur 20 comporte un circuit de traitement 21 comportant une mémoire 22, un ou plusieurs processeurs 23 et un module de communication 24. Un programme d’ordinateur 221 est mémorisé dans la mémoire 22 du dispositif émetteur 20. Le programme d’ordinateur 221 comporte un ensemble d’instructions de code de programme qui, lorsqu’elles sont exécutées par le ou les processeurs 23, configurent le ou les processeurs 23 pour mettre en oeuvre un procédé d’émission 200 selon l’invention.
Le module de communication 24 permet d’émettre un message au réseau d’accès du système 10 de communication. Dans ce but, le module de communication 24 comporte un ensemble de moyens matériels et/ou logiciels, considérés comme connus de l’homme de l’art (antenne, filtre analogique, amplificateur, oscillateur local, mélangeur, convertisseur analogique/numérique, encodeur, etc.).
Alternativement ou en complément, le dispositif émetteur 20 comporte un ou des circuits logiques programmables (FPGA, PLD, etc.), et/ou un ou des circuits intégrés spécialisés (ASIC), et/ou un ensemble de composants électroniques discrets, etc., adaptés à mettre en oeuvre tout ou partie des étapes du procédé d’émission 200 selon l’invention. En d’autres termes, le dispositif émetteur 20 comporte des moyens qui sont configurés de façon logicielle (produit programme d’ordinateur spécifique) et/ou matérielle (FPGA, PLD, ASIC, composants électroniques discrets, etc.) pour mettre en oeuvre les étapes du procédé d’émission 200 selon l’invention.
L’identifiant 224 ainsi que la séquence 222 attribués au dispositif émetteur 20 sont enregistrés dans la mémoire 22 du dispositif émetteur 20.
Le numéro de message 223 du dernier message émis par le dispositif émetteur 20 est également mémorisé dans la mémoire 22 du dispositif émetteur 20 et mis à jour à chaque fois qu’un nouveau message est envoyé. Si aucun message n’a encore été envoyé par le dispositif émetteur 20, le numéro de message 223 est par exemple initialisé à un numéro de message de départ prédéterminé appartenant à la séquence attribuée au dispositif émetteur 20.
La figure 4 illustre schématiquement les principales étapes d’un procédé de réception 300, par un dispositif récepteur du système 10 de communication, d’un message émis par un dispositif émetteur 20 dudit système 10 de communication conformément à un procédé d’émission 200 décrit en référence à la figure 2.
Le procédé de réception 300 comporte une étape de réception 301 du message, et une étape d’extraction 302 de l’identifiant ambigu et du numéro de message inclus dans le message reçu.
Le procédé de réception 300 comporte également une étape d’identification non ambigüe du dispositif émetteur 20 à partir :
- de l’identifiant extrait du message reçu, - du numéro de message extrait du message reçu,
- d’au moins une séquence ayant été attribuée à au moins un dispositif émetteur ayant un identifiant identique à l’identifiant extrait, et
- d’au moins un numéro de message d’un message précédent reçu d’un dispositif émetteur partageant le même identifiant, ou d’un numéro de message de départ appartenant à ladite séquence.
Il peut y avoir plusieurs messages précédents reçus de différents dispositifs émetteurs partageant le même identifiant ambigu. Chaque message précédent est associé de manière non ambigüe à un couple formé par un identifiant et une séquence. Ce couple identifie de manière non ambigüe le dispositif émetteur ayant émis le message. Il s’agit alors par exemple d’identifier, parmi ces différents messages précédents, quel message précédent comporte un numéro de message qui correspond au numéro qui précède, dans la séquence associée audit message précédent, le numéro de message du nouveau message reçu. Cela permet d’identifier de manière non ambigüe (par le couple formé par l’identifiant et la séquence) le dispositif émetteur qui a émis le message reçu. Dans une variante, si des messages peuvent être perdus entre deux messages reçus successivement d’un même dispositif émetteur, il s’agit d’identifier le message précédent qui a la plus forte probabilité d’avoir été émis par le même dispositif émetteur que le dispositif émetteur qui a émis le message nouvellement reçu. Ceci peut être déterminé en calculant pour chaque message précédent le nombre de sauts à effectuer, dans la séquence associée audit message précédent, en partant du numéro de message dudit message précédent, pour obtenir le numéro de message du message nouvellement reçu. La séquence associée au message précédent pour lequel le nombre de sauts à effectuer est minimal correspond alors très probablement à la séquence du dispositif émetteur ayant émis le message nouvellement reçu.
La figure 5 représente schématiquement un exemple de dispositif récepteur 30. Comme indiqué précédemment, le dispositif récepteur 30 peut correspondre à une station de base 31 ou au serveur 32 du réseau d’accès du système 10 de communication. Le dispositif récepteur 30 est configuré pour mettre en oeuvre un procédé de réception 300 selon l’invention.
Dans l’exemple illustré à la figure 5, le dispositif récepteur 30 comporte un circuit de traitement 31 comportant une mémoire 32, un ou plusieurs processeurs 33 et un module de communication 34. Un programme d’ordinateur 321 est mémorisé dans la mémoire 32 du dispositif récepteur 30. Le programme d’ordinateur 321 comporte un ensemble d’instructions de code de programme qui, lorsqu’elles sont exécutées par le ou les processeurs 33, configurent le ou les processeurs 33 pour mettre en oeuvre un procédé de réception 300 selon l’invention.
Le module de communication 34 permet de recevoir un message émis par un dispositif émetteur 20 du système 10 de communication. Dans ce but, le module de communication 34 comporte un ensemble de moyens matériels et/ou logiciels, considérés comme connus de l’homme de l’art (antenne, filtre analogique, amplificateur, oscillateur local, mélangeur, convertisseur analogique/numérique, décodeur, etc.). Si le dispositif récepteur 30 correspond à une station de base 31 , le module de communication 34 permet de recevoir le message directement du dispositif émetteur 20. Si le dispositif récepteur 30 correspond au serveur 32, le module de communication 34 reçoit le message en provenance d’une station de base qui a reçu le message.
Alternativement ou en complément, le dispositif récepteur 30 comporte un ou des circuits logiques programmables (FPGA, PLD, etc.), et/ou un ou des circuits intégrés spécialisés (ASIC), et/ou un ensemble de composants électroniques discrets, etc., adaptés à mettre en oeuvre tout ou partie des étapes du procédé de réception 300 selon l’invention. En d’autres termes, le dispositif récepteur 30 comporte des moyens qui sont configurés de façon logicielle (produit programme d’ordinateur spécifique) et/ou matérielle (FPGA, PLD, ASIC, composants électroniques discrets, etc.) pour mettre en oeuvre les étapes du procédé de réception 300 selon l’invention.
Dans l’exemple illustré à la figure 5, la mémoire 32 du dispositif récepteur 30 comporte également une base de données 322 dans laquelle chaque valeur possible d’identifiant IDi, ID2, ..., IDK est associée à plusieurs séquences Seqi, Seq2, ..., Seqr . Il convient de noter que rien n’empêche que des listes de séquences différentes soient associées à des identifiants différents, auquel cas, par exemple, la valeur d’identifiant IDi serait associée aux séquences Seqi,i, Seqi,2, ..., Seqi.Ni (avec Ni correspondant au nombre de séquences associées à IDi), la valeur d’identifiant ID2 serait associée aux séquences Seq2,i, Seq2,2, ..., Seq2,N2 (avec N2 correspondant au nombre de séquences associées à ID2), etc. Dans la suite de la description, on considère pour simplifier, et à titre d’exemple nullement limitatif, que les mêmes séquences Seqi, Seq2, ..., SeqN sont associées à chaque valeur d’identifiant IDi, ID2, ..., IDK. Dans ce cas, le nombre maximum de dispositifs émetteurs 20 pouvant être supportés par le système 10 de communication (c’est-à-dire le nombre maximal de dispositifs émetteurs 20 pouvant être identifiés de manière non ambigüe) est égal à N x 232 (ce nombre correspond au nombre de couples différents formés par un identifiant et une séquence).
La base de données 322 comporte également, pour chaque couple formé par un identifiant et une séquence, un numéro de message LN d’un dernier message reçu d’un dispositif émetteur 20 auquel ledit identifiant et ladite séquence ont été attribués. LNi,i correspond au numéro de message du dernier message reçu du dispositif possédant l’identifiant IDi et la séquence Seqi, LNI,2 correspond au numéro de message du dernier message reçu du dispositif possédant l’identifiant IDi et la séquence Seq2, LN2,I correspond au numéro de message du dernier message reçu du dispositif possédant l’identifiant ID2 et la séquence Seqi, LNK,N correspond au numéro de message du dernier message reçu du dispositif possédant l’identifiant IDK et la séquence Seqrg.
Dans l’exemple considéré et illustré à la figure 5, la base de données est mémorisée directement dans la mémoire 32 du dispositif récepteur 30. Rien n’empêche cependant, dans des variantes, que cette base de données soit mémorisée dans un serveur distinct du dispositif récepteur 30 et accessible par le dispositif récepteur 30.
Selon un premier exemple de mise en oeuvre, deux séquences Seqi et Seq2 sont associées à chaque valeur d’identifiant possible IDi, ID2, ..., IDK. Dans ce cas, N = 2, et le nombre de dispositifs émetteurs différents pouvant être supportés par le réseau vaut 2 x 232. Seqi est la suite croissante de 0 à 4095 des valeurs possibles de numéro de message, et Seq2 est la suite décroissante de 4095 à 0 des valeurs possibles de numéro de message :
Seqi = {0, 1 , 2, ..., 4095}
Seq2 = {4095, 4094, 4093, ..., 0}
Au niveau du dispositif récepteur 30, lorsqu’un message précédent et un nouveau message sont reçus successivement avec le même identifiant, il est généralement possible de déterminer si les deux messages ont été émis par le dispositif émetteur auquel Seqi est attribuée, ou par le dispositif émetteur auquel Seq2 est attribuée, ou s’ils ont été chacun émis respectivement par le dispositif émetteur auquel Seqi est attribuée et le dispositif émetteur auquel Seq2 est attribué. En effet, en partant du numéro de message du message précédent il est possible de déterminer le nombre ni de sauts à faire dans Seqi et le nombre n2 de sauts à faire dans Seq2 pour obtenir le numéro de message du nouveau message. Si la plus petite valeur entre et n2 est supérieure à un seuil prédéterminé (correspondant par exemple à un nombre maximal de messages pouvant être perdus entre deux messages reçus d’un même dispositif émetteur), alors il est possible de conclure que les deux messages n’ont pas été émis par un seul et même dispositif émetteur. Sinon, si m est plus petit que n2, alors il est fortement probable que les deux messages ont été émis par le dispositif émetteur auquel Seqi est attribuée, et si n2 est plus petit que , alors il est fortement probable que les deux messages ont été émis par le dispositif émetteur auquel Seq2 est attribuée. Selon un deuxième exemple de mise en œuvre, quatre séquences Seqi, Seq2, Seq3 et Seq4 Sont associées à chaque valeur d’identifiant possible IDi, ID2, IDK. Dans ce cas, N = 4, et le nombre de dispositifs émetteurs différents pouvant être supportés par le réseau vaut 4 x 232. Seqi est la suite croissante de 0 à 4094 des valeurs paires possibles de numéro de message, Seq2 est la suite décroissante de 4094 à 0 des valeurs paires possibles de numéro de message, Seq3 est la suite croissante de 1 à 4095 des valeurs impaires possibles de numéro de message, Seq4 est la suite décroissante de 4095 à 0 des valeurs impaires possibles de numéro de message :
Seqi = {0, 2, 4, ..., 4094}
Seq2 = {4094, 4092, 4090, ..., 0}
Seq3 = {1 , 3, 5, ..., 4095}
Seq4 = {4095, 4093, 4091 , ..., 1}
Similairement à ce qui a été décrit pour le premier exemple de mise en œuvre, lorsqu’un message précédent et un nouveau message sont reçus successivement avec le même identifiant, il est généralement possible de déterminer si les deux messages ont été émis par le même dispositif émetteur, et si oui déterminer quelle séquence lui est attribuée (ce qui veut dire que le dispositif émetteur est identifié de manière non ambigüe). En effet, en partant d’un numéro de message du message précédent, il est possible de déterminer le nombre de sauts à faire dans chaque séquence pour obtenir le numéro de message du nouveau message. Le plus petit nombre de sauts obtenu, s’il est inférieur au nombre maximal de messages pouvant être perdus, indiquera la séquence attribuée au dispositif émetteur qui est très probablement à l’origine de ces deux messages.
Il est ainsi possible d’associer un message précédemment reçu à un couple formé par un identifiant et une séquence. Plusieurs messages précédents peuvent avoir été reçus de différents dispositifs émetteurs partageant le même identifiant. Ces messages sont alors associés à des couples (identifiant, séquence) différents. Quand un nouveau message est reçu, il convient alors pour chaque message précédent de déterminer le nombre de sauts à faire en partant du numéro de message dudit message précédent pour obtenir le numéro de message du nouveau message en utilisant la séquence associée au message précédent. Là encore, le plus petit nombre de sauts obtenu indiquera généralement la séquence attribuée au dispositif émetteur qui est très probablement à l’origine du nouveau message.
Selon un troisième exemple de mise en œuvre, huit séquences Seqi à Seqs sont associées à chaque valeur d’identifiant possible IDi, ID2, ..., IDK. Dans ce cas, N = 8, et le nombre de dispositifs émetteurs différents pouvant être supportés par le réseau vaut 8 x 232.
Seqi = {0, 1 , 2, ..., 511} , 513, 514, ..., 1023} 4, 1025, 1026, ..., 1535} 6, 1537, 1538, ..., 2047} 8, 2049, 2050, ..., 2559} 0, 2561 , 2562, ..., 3071} 2, 3073, 3074, ..., 3583} 4, 3585, 3586, ..., 4095}
Il apparaît cependant dans le deuxième exemple et dans le troisième exemple que la longueur L de chaque séquence, c'est-à-dire le nombre de valeurs possibles d’un numéro de message émis par un dispositif émetteur 20 particulier, est réduit (L = 2048 dans le deuxième exemple, L = 1024 dans le troisième exemple). Plus particulièrement, dans le troisième exemple, tout se passe comme si on prenait artificiellement des bits du champ de bits codant le numéro de message pour les ajouter au champ de bits codant l’identifiant. Une telle solution n’est cependant parfois pas acceptable (par exemple le nombre de valeurs prises par le numéro de message doit rester supérieur au nombre maximum de messages qu’on est susceptible de perdre, et/ou le nombre de valeurs prises par le numéro de message doit être le plus grand possible pour garantir la robustesse d’un algorithme de chiffrement ou d’authentification basé sur le numéro de message).
La présente invention propose donc aussi des solutions visant à maximiser les valeurs L et N tout en utilisant des séquences optimales pour identifier complètement un dispositif émetteur 20.
Dans des modes particuliers de mise en oeuvre, au moins deux séquences différentes attribuées à deux dispositifs émetteurs 20 différents partageant le même identifiant comportent un même numéro de message. Avec de telles dispositions, l’invention va au-delà de simplement « voler » des bits du champ de bits codant le numéro de message pour augmenter artificiellement la taille du champ de bits codant l’identifiant.
Dans des modes particuliers de mise en oeuvre, toutes les séquences comportent les mêmes numéros de message, mais chacune dans un ordre différent.
Dans des modes particuliers de mise en oeuvre, une séquence est définie par un incrément, et un numéro de message dans la séquence correspond à la somme, modulo une valeur prédéterminée, du numéro de message précédent dans la séquence et de l’incrément. Par exemple, une séquence correspondant à l’incrément de valeur 5 comporte dans les valeurs ordonnées 0, 5, 10, 15, ...etc.
Il est alors avantageux que ladite valeur prédéterminée corresponde à la longueur L de la séquence et que ladite longueur L de la séquence soit un nombre premier avec la valeur de l’incrément. En effet, pour obtenir une longueur de séquence maximale, il convient que la valeur d’incrément de la séquence soit un nombre premier avec la longueur L de la séquence. Dans un tel cas, les numéros de messages compris dans la séquence prendront toutes les valeurs comprises entre 0 et (L - 1).
Il est encore plus avantageux que la longueur L de la séquence soit un nombre premier. La fonction indicatrice d’Euler cp(n) associe à tout entier naturel n le nombre d’entiers compris entre 1 et n (inclus) et premiers avec n. Les valeurs prises par cette fonction sont grandes lorsque n est un nombre premier. Plus particulièrement, si n est un nombre premier, alors cp(n) = (n - 1). Choisir une longueur L de séquence correspondant à un nombre premier de grande valeur permet de maximiser le nombre de séquences car chaque incrément envisageable compris entre 1 et (L - 1) est alors premier avec la longueur de la séquence.
Dans un mode préféré de mise en oeuvre, la longueur L de la séquence correspond au plus grand nombre premier correspondant à une valeur possible de numéro de message.
Par exemple pour un numéro de message codé sur un champ de douze bits, les valeurs possibles de numéro de message varient entre 0 et 4095, et le plus grand nombre premier correspondant à une valeur possible de numéro de message correspond au nombre 4093. Choisir des séquences de longueur L = 4093 est donc optimal pour maximiser à la fois le nombre de séquences utilisables et la longueur d’une séquence.
Il convient toutefois de noter que d’autres valeurs de L correspondant à des nombres premiers de forte valeur parmi les valeurs possibles de numéro de message pourraient être utilisées, comme par exemple L = 4091 , L = 4079, L = 4073, L = 4057, etc. Aussi, il serait envisageable d’utiliser une valeur de L qui n’est pas un nombre premier, et de se limiter à des séquences correspondant à des incréments dont les valeurs sont des nombres premiers avec la longueur L de la séquence.
Lorsque la longueur L de la séquence est un nombre premier, toutes les séquences correspondant respectivement aux valeurs d’incrément comprises entre 1 et (L - 1) semblent utilisables. Toutefois, certaines séquences sont plus efficaces que d’autres pour identifier de façon non ambigüe un dispositif émetteur 20. Cela est illustré par la figure 6.
La figure 6 illustre un treillis représentant schématiquement des observations d’un numéro de message pour deux séquences SeqA et SeqB différentes attribuées respectivement à deux dispositifs émetteurs 20 différents (A et B). Dans l’exemple illustré à la figure 6, pour des raisons de simplification, la longueur L d’une séquence est égale à 17 (et non pas à 4093). La séquence SeqA attribuée à A correspond par exemple à l’incrément de valeur cinq, et la séquence SeqB attribuée à B correspond à l’incrément de valeur trois. L’axe des abscisses représente le nombre de sauts que le dispositif émetteur A doit faire dans la séquence qui lui est attribuée pour passer d’une observation à une autre. L’axe des ordonnées représente le nombre de sauts que le dispositif émetteur B doit faire dans la séquence qui lui est attribuée pour passer d’une observation à une autre. Le treillis se lit de la manière suivante : en partant de l’observation 61 faite communément par A et B, A doit effectuer quatre sauts dans SeqA et B doit effectuer un saut dans SeqB pour faire l’observation 62 ; en partant de l’observation 71 faite communément par A et B, A doit effectuer trois sauts dans SeqA et B doit effectuer cinq sauts dans SeqB pour faire l’observation 72. Il convient de noter que les observations ne renseignent en rien sur la valeur d’un numéro de message de la séquence.
La séquence SeqA attribuée à A correspond à la liste ordonnée {0, 5, 10, 15, 3, 8, 13, 1 , 6, 11 , 16, 4, 9, 14, 2, 7, 12} ; la séquence SeqB attribuée à B correspond à la liste ordonnée {0, 3, 6, 9, 12, 15, 1 , 4, 7, 10, 13, 16, 2, 5, 8, 11 , 14}. Ainsi, par exemple, en partant d’une observation commune par A et B correspondant au numéro de message de valeur 0, A doit effectuer quatre sauts dans SeqA et B doit effectuer un saut dans SeqB pour faire l’observation commune correspondant au numéro de message de valeur 3. Selon un autre exemple, en partant d’une observation commune par A et B correspondant au numéro de message de valeur 7, A doit effectuer trois sauts dans SeqA et B doit effectuer cinq sauts dans SeqB pour faire l’observation commune correspondant au numéro de message de valeur 5.
Différentes séquences correspondant à différentes valeurs d’incrément peuvent donner des treillis différents avec des nombres de sauts différents pour faire des observations communes.
On définit une distance DA,B entre deux séquences SeqA et SeqB de telle sorte que, pour deux dispositifs émetteurs 20 partageant le même identifiant et auxquels les deux séquences ont été respectivement attribuées, il est possible, à partir d’un message précédent reçu de chaque dispositif émetteur 20 et comportant un même numéro de message, de déterminer lequel desdits deux dispositifs émetteurs 20 a émis un nouveau message reçu si et seulement si un nombre inférieur à (DA,B - 1 ) messages sont perdus entre deux messages successivement reçus d’un dispositif émetteur 20. La distance entre deux séquences peut être définie ainsi : en partant dans chaque séquence d’un numéro de message de départ commun aux deux séquences, et en considérant l’ensemble des couples formés par deux nombres entiers positifs et n2 inférieurs à la longueur de la séquence tels que en effectuant incréments dans l’une des deux séquences et en effectuant n2 incréments dans l’autre séquence un même numéro de message est à nouveau obtenu pour les deux séquences, la distance entre les deux séquences est la plus petite valeur parmi les plus grandes valeurs de tous les couples considérés, quel que soit le numéro de départ commun considéré.
Pour l’exemple illustré à la figure 6, les couples (m, n2) sont (1 , 13), (2, 9), (3, 5), (4, 1), (5, 14), (6, 10), (7, 6), (8, 2), (9, 15), (10, 11 ), (11 , 7), (12, 3), (13, 16), (14, 12), (15, 8), (16, 4). La distance D entre ces deux séquences est donc égale à la plus petite valeur parmi {13, 9, 5, 4, 14, 10, 7, 8, 15, 11 , 12, 16}. La distance DA,B est donc égale à 4.
Plus la distance entre deux séquences est grande, et plus le nombre de messages pouvant être perdus sans porter préjudice à la capacité de différencier les deux dispositifs émetteurs est grand. Il est alors possible de définir un seuil prédéterminé Ds et un ensemble de séquences tels que, quel que soit le couple de séquences (SeqA, SeqB) considéré dans l’ensemble des séquences utilisées, la distance DA,B entre ces deux séquences est supérieure ou égale au seuil Ds. On dit que deux séquences SeqA et SeqB sont compatibles si la distance DA,B entre ces deux séquences est supérieure ou égale au seuil Ds. Ainsi, pour un seuil Ds prédéterminé, il convient de maximiser le nombre N de séquences compatibles entre elles. Il est alors généralement possible d’identifier un dispositif émetteur de façon non ambigüe même si jusqu’à (Ds - 2) messages sont perdus entre deux messages émis successivement par ledit dispositif émetteur.
Il convient de noter que pour un seuil Ds prédéfini, choisir comme taille de séquence le plus grand nombre premier correspondant à une valeur possible de numéro de message ne conduira pas nécessairement au plus grand nombre possible de séquences compatibles. Il peut donc être avantageux de choisir comme taille de séquence un nombre premier, correspondant à une valeur possible de numéro de message, qui maximise le nombre de séquences compatibles pour un seuil Ds prédéfini.
Il est possible de représenter par des noeuds les valeurs d’incréments correspondant à toutes les séquences envisageables et de connecter deux à deux les noeuds correspondant à des séquences compatibles entre elles. A titre d’exemple, la figure 7 représente des noeuds 80 correspondant aux séquences envisageables de longueur 17 (la valeur d’incrément varie donc entre 1 et 16). Pour des raisons évidentes de simplification (comme pour la figure 6), le graphique illustré à la figure 7 est réalisé pour une longueur de séquence égale à 17, et non pas 4093. Dans l’exemple illustré à la figure 7, le seuil Ds est égal à 4, et les noeuds correspondant à des séquences compatibles entre elles (c’est-à-dire des séquences pour lesquelles la distance entre les deux séquences est supérieure ou égale à 4) sont connectés deux à deux. On appelle « clique » un ensemble de valeurs d’incréments correspondant à des séquences compatibles entre elles deux à deux. Dans l’exemple illustré à la figure 7, l’ensemble {1 , 4, 13, 16} forme une clique. Pour maximiser le nombre N de séquences compatibles entre elles, il convient donc de trouver une clique dont la taille est maximale. Une clique de taille maximale peut notamment être déterminée en appliquant l’algorithme de Bron-Kerbosch.
Les figures 8 à 10 représentent différents scénarios possibles permettant d’identifier de manière non ambigüe, à partir d’un message reçu, quel est le dispositif émetteur 20 ayant émis le message.
Dans le scénario illustré à la figure 8, le message reçu comporte l’identifiant ID2 et le numéro de message Num. La base de données 322 indique que deux messages comportant l’identifant ID2 ont été précédemment reçu. L’un des deux messages précédents comporte le numéro de message LN2,2 et il a été associé à la séquence Seq2, il a donc été émis par le dispositif émetteur identifié de manière non ambigüe par le couple (ID2, Seq2). L’autre message précédent comporte le numéro de message LN2,6 et il a été associé à la séquence Seq6, il a donc été émis par le dispositif émetteur identifié de manière non ambigüe par le couple (ID2, Seq6).
Le nombre de sauts n2,2 à effectuer respectivement dans la séquence Seq2 en partant de LN2,2 pour obtenir Num est calculé. Il est alors possible, en supposant que le nouveau message reçu a été émis par le dispositif émetteur (ID2, Seq2), d’en déduire le nombre C2,2 de messages perdus entre le message précédent LN2,2 et le nouveau message Num : C2,2 = n2,2 - 1 (mod L).
De façon similaire, le nombre de sauts n2,6 à effectuer respectivement dans la séquence Seq6 en partant de LN2,6 pour obtenir Num est calculé. Il est alors possible, en supposant que le nouveau message reçu a été émis par le dispositif émetteur (ID2, Seq6), d’en déduire le nombre C2,6 de messages perdus entre le message précédent LN2,6 et le nouveau message Num : C2,6 = n2,6 - 1 (mod L).
Si le plus petit nombre entre C2,2 et C2,6 est inférieur à une valeur seuil correspondant à un nombre maximal de messages pouvant être perdus entre deux messages successifs, alors il est fortement probable que le dispositif émetteur associé soit à l’origine de l’émission du nouveau message. Dans une séquence de longueur L dont l’incrément a pour valeur inc (inc est compris entre 1 et L - 1 ), le nombre n de sauts à effectuer pour obtenir la valeur Num en partant de la valeur LN satisfait la relation suivante :
[Math 1] n inc º Num — LN ( mod L)
D’après le petit théorème de Fermât, comme L est un nombre premier et inc n’est pas divisible par L, la relation suivante est satisfaite :
[Math 2] inc 1-1 º 1 ( mod L)
Ce qui signifie que la relation suivante est également satisfaite :
[Math 3] jnc-1 º incL~2 ( mod L)
Et donc :
[Math 4] n º ( Num — LN) incL~2 ( mod L)
Il convient de noter que calcul ci-dessus peut être résolu par des méthodes connues d’exponentiation modulaire qui permettent d’obtenir un résultat avec un nombre d’opérations et une puissance de calcul tout à fait raisonnables même si les nombres inc et L sont grands.
Le nombre C de messages perdus entre un message nouvellement reçu dont le numéro de message vaut Num et le dernier message précédemment reçu dont le numéro de message vaut LN est défini par :
[Math 5] c º n — 1 ( mod L)
Revenons à l’exemple illustré à la figure 8, et considérons par exemple que Num = 23 ; la séquence Seq2 est associée à un incrément inc2 = 2648 ; le dernier message reçu du dispositif émetteur identifié par le couple (ID2, Seq2) a pour valeur LN2,2 = 265 ; la séquence Seq6 est associée à un incrément inc6 = 1533 ; le dernier message reçu du dispositif émetteur identifié par le couple (ID2, Seq6) a pour valeur LN2,2 = 851 ; les séquences ont pour longueur L = 4093. D’après la formule [Math 4], le nombre de sauts n2,2 à effectuer dans la séquence Seq2 en partant de LN2,2 pour obtenir Num vaut 3, et le nombre de sauts n2,6 à effectuer dans la séquence Seq6 en partant de LN2,6 pour obtenir Num vaut 3716. D’après la formule [Math 5], cela signifie que si le nouveau message a été envoyé par le dispositif émetteur identifié par le couple (ID2, Seq2), alors C2,6 = 2 messages auraient été perdus entre le message précédent dont le numéro de message est LN2,2 et le nouveau message dont le numéro de message est Num. En revanche, si le nouveau message a été envoyé par le dispositif émetteur identifié par le couple (ID2, Seq6), alors C2,6 = 3715 messages auraient été perdus entre le message précédent dont le numéro de message est LN2,2 et le nouveau message dont le numéro de message est Num. On peut donc conclure que le nouveau message a été émis par le dispositif émetteur identifié par le couple (ID2, Seq2). La valeur de LN2,2 peut alors être mise à jour avec la valeur de Num.
Dans l’exemple illustré à la figure 8, seulement deux messages précédents LN2,2 et LN2,6 sont considérés. Il pourrait cependant y avoir plus que deux messages précédents reçus d’un dispositif émetteur comportant l’identifiant ID2. Il suffirait alors de calculer le nombre C de sauts à effectuer pour chaque message précédent et de déterminer la plus petite valeur parmi les nombres ainsi calculés pour en conclure quelle est la séquence attribuée au dispositif émetteur qui a émis le message nouvellement reçu.
Si pour une séquence particulière aucun message précédent n’est disponible, il est possible de définir en remplacement un numéro de départ prédéterminé appartenant à la séquence et connu à la fois par le dispositif émetteur et par le dispositif récepteur.
Dans un mode particulier de mise en oeuvre correspondant au deuxième scénario illustré à la figure 9, l’identification non ambigüe du dispositif émetteur 20 est effectuée en outre à partir d’une position géographique estimée du dispositif émetteur 20. De manière conventionnelle, cette estimation peut être faite par exemple à partir d’un identifiant d’une station de base ayant reçu le message (la position géographique de la station de base étant connue) ou bien à partir d’une information de localisation incluse dans le message.
Dans l’exemple illustré à la figure 9, la position géographique estimée du dispositif émetteur ayant émis le nouveau message est loci. La base de données 322 indique que quatre messages comportant l’identifiant ID2 ont été précédemment reçus : un premier message précédent comporte le numéro de message LN2,2, il a été émis par le dispositif émetteur identifié de manière non ambigüe par le couple (ID2, Seq2) à la position loci ; un deuxième message précédent comporte le numéro de message LN2, , il a été émis par le dispositif émetteur (ID2, Seq4) à la position loci ; un troisième message précédent comporte le numéro de message LN2,3, il a été émis par le dispositif émetteur (ID2, Seq3) à la position loc2 ; un quatrième message précédent comporte le numéro de message LN2,6, il a été émis par le dispositif émetteur (ID2, Seq6) à la position loc2. Dans un tel cas, il est fortement probable que le dispositif émetteur ayant émis le nouveau message soit l’un des dispositifs émetteurs (ID2, Seq2) et (ld2, Seq4) qui sont situés dans la même zone géographique. Il peut donc suffire de calculer les nombres C2,2 et C2,4 pour identifier le dispositif émetteur. Si la plus petite valeur parmi C2,2 et C2,4 est inférieur à la valeur seuil correspondant à un nombre maximal de messages pouvant être perdus entre deux messages successifs, alors cela permettra d’identifier complètement le dispositif émetteur. Dans le cas contraire, le dispositif émetteur a probablement changé de zone géographique depuis l’envoi du dernier message précédent reçu (passage de loc2 à loci), et il convient alors de calculer également les nombres C2,3 et C2,6 pour l’identifier. L’utilisation d’une position géographique estimée du dispositif émetteur permet ainsi de limiter le nombre de calculs à effectuer pour identifier le dispositif émetteur.
La figure 10 illustre un troisième scénario pour lequel aucun message précédent et aucun numéro de message de départ n’est disponible pour les différentes séquences Seqi, Seq2, ..., SeqN attribuées aux dispositifs émetteurs ayant ID2 pour identifiant. Dans ce cas, un dispositif émetteur pourra être identifié de manière non ambigüe seulement après que deux messages ont été successivement reçus de ce dispositif émetteur. Il convient donc dans un premier temps, tel qu’illustré dans la partie a) de la figure 10, de mémoriser le numéro de message Numi associé au premier message reçu. Dans un deuxième temps, tel qu’illustré dans la partie b) de la figure 10, lorsque le deuxième message est reçu (dont le numéro de message est Num2), on calcule successivement les différentes valeurs d’incréments permettant de passer de Numi à Num2 en effectuant 1 , 2, 3, ..., n sauts. Une valeur d’incrément est calculée avec l’expression suivante :
[Math 6] inc º ( Num2 — Num x) nL~2 ( mod L)
Si par exemple Nurrii = 23 et Num2 = 258, on obtient les résultats suivants :
[Table 1]
La séquence attribuée au dispositif émetteur ayant émis successivement les deux messages est la séquence associée au premier incrément valide calculé. On entend par « incrément valide » un incrément qui correspond à l’une des N séquences choisies attribuées à des dispositifs émetteurs portant l’identifiant ID2. Dans l’exemple considéré, les 13 premiers incréments ne sont pas valides. L’incrément 2648 correspond à la séquence Seq2. Avec cet incrément, il faut effectuer 14 sauts dans Seq2 en partant de Nurrii = 23 pour arriver à Num2 = 258. On en conclue que les deux messages ont été émis par le dispositif émetteur identifié de manière non ambigüe par le couple (ID2, Seq2), et que treize messages ont été perdus entre ces deux messages. La valeur de LN2,2 peut alors est mise à jour avec la valeur de Num2.
En appliquant l’algorithme de Bron-Kerbosch, pour une séquence de longueur L = 4093, il est par exemple possible de définir N = 40 séquences compatibles pour un seuil Ds = 37. Avec de telles dispositions, il est généralement possible d’identifier un dispositif émetteur de façon non ambigüe même si jusqu’à 35 messages sont perdus entre deux messages émis successivement par ledit dispositif émetteur.
Avec de telles dispositions, le nombre de dispositifs émetteurs 20 supportés par le système 10 de communication est multiplié par N (le système 10 de communication peut alors supporter jusqu’à 40 x 232 dispositifs émetteurs, soit près de 171 ,8 milliards de dispositifs).
Comme cela apparaît dans les différents exemples considérés précédemment, il est envisageable de déterminer une valeur représentative de la confiance accordée à l’identification du dispositif émetteur à l’origine d’un message reçu (c’est-à-dire une valeur qui indique un niveau de certitude pour l’identification du dispositif émetteur : plus cette valeur est grande, et plus la probabilité est grande que le dispositif émetteur identifié soit bien le dispositif émetteur à l’origine du message reçu ; inversement, plus cette valeur est faible et plus la probabilité est faible que le dispositif émetteur identifié soit bien le dispositif émetteur à l’origine du message reçu). Si le niveau de confiance est trop faible (par rapport à un seuil prédéterminé), il est envisageable d’ignorer le message reçu. D’autre part, si le niveau de confiance est trop faible il est aussi envisageable de recourir à des méthodes complémentaires d’identification basées par exemple sur des codes d’authentification, ou sur des comportements particuliers de certains dispositifs émetteurs par rapport à d’autres.
La description ci-avant illustre clairement que, par ses différentes caractéristiques et leurs avantages, la présente invention atteint les objectifs fixés. En particulier, l’invention permet d’augmenter significativement le nombre de dispositifs émetteurs pouvant être supportés par le système de communication sans augmenter la taille du champ de bits codant l’identifiant d’un dispositif émetteur. En outre, l’impact sur les valeurs prises par les numéros de séquences est faible (car le nombre de valeurs prises par le numéro de séquence n’est que faiblement réduit).
L’invention a été décrite principalement en considérant que l’identifiant d’un dispositif émetteur est codé sur 32 bits et que le numéro de séquence d’un message est codé sur 12 bits. Rien n’exclut cependant, suivant d’autres exemples, de considérer d’autres tailles pour les champs de bits codant l’identifiant et le numéro de message.
D’autre part, l’invention a été décrite en considérant un système de communication sans fil pour des objets connectés de type loT. L’invention pourrait cependant tout à fait s’appliquer à d’autres systèmes de communication, et pas nécessairement à des systèmes de communication sans fil.
Il convient également de noter que l’invention a été décrite en considérant qu’un dispositif émetteur possède un identifiant ambigu. L’invention pourrait cependant également s’appliquer au cas où aucun identifiant n’est attribué à un dispositif émetteur. Un dispositif émetteur serait alors exclusivement identifié par la séquence qui lui est attribuée (une séquence différente étant attribuée à chaque dispositif émetteur du système). Il n’y aurait alors pas d’identifiant dans le message échangé entre un dispositif émetteur et un dispositif récepteur.

Claims

Revendications
1. Procédé d’émission (200), par un dispositif émetteur (20) d’un système (10) de communication, d’un message à destination d’un dispositif récepteur dudit système (10) de communication, ledit message comportant un identifiant (224) du dispositif émetteur (20) ainsi qu’un numéro de message, l’identifiant étant ambigu dans le sens où l’identifiant peut être partagé par plusieurs dispositifs émetteurs différents, ledit procédé d’émission (200) étant caractérisé en ce qu’il comporte une détermination (203) du numéro de message à utiliser pour le message à émettre à partir :
- d'une séquence (222) de numéros de message différents attribuée au dispositif émetteur (20), ladite séquence pouvant également être attribuée à un autre dispositif émetteur ayant un identifiant différent, mais ne pouvant pas être attribuée à un autre dispositif émetteur ayant le même identifiant,
- d’un numéro de message (223) d’un message précédent émis par le dispositif émetteur (20) ou, si aucun message n’a été émis précédemment par le dispositif émetteur (20), d’un numéro de message de départ prédéterminé appartenant à ladite séquence ; et deux séquences différentes attribuées à deux dispositifs émetteurs différents partageant le même identifiant comportent un même numéro de message.
2. Procédé d’émission (200) selon la revendication 1 dans lequel une séquence est définie par un incrément, de telle sorte qu’un numéro de message dans la séquence correspond à la somme, modulo la longueur de la séquence, du numéro de message précédent et de l’incrément, la longueur et l’incrément de la séquence étant choisis de telle sorte qu’ils sont premiers entre eux.
3. Procédé d’émission (200) selon la revendication 2 dans lequel la longueur d’une séquence est un nombre premier.
4. Procédé d’émission (200) selon la revendication 3 dans lequel la longueur d’une séquence est le plus grand nombre premier correspondant à une valeur possible de numéro de message.
5. Procédé d’émission (200) selon l’une quelconque des revendications 1 à 4 dans lequel deux séquences différentes attribuées à deux dispositifs émetteurs différents partageant le même identifiant sont compatibles deux à deux, deux séquences étant dites compatibles l’une avec l’autre si une distance entre les deux séquences est supérieure ou égale à un seuil prédéterminé, ladite distance entre deux séquences étant définie ainsi : en partant dans chaque séquence d’un numéro de message de départ commun aux deux séquences, et en considérant l’ensemble des couples formés par deux nombres entiers positifs et n2 inférieurs à la longueur de la séquence tels que en effectuant incréments dans l’une des deux séquences et en effectuant n2 incréments dans l’autre séquence un même numéro de message est à nouveau obtenu pour les deux séquences, la distance entre les deux séquences est la plus petite valeur parmi les plus grandes valeurs de tous les couples considérés, quel que soit le numéro de départ commun considéré.
6. Produit programme d’ordinateur (221) comportant un ensemble d’instructions de code de programme qui, lorsqu’elles sont exécutées par un ou plusieurs processeurs (23), configurent le ou les processeurs pour mettre en oeuvre un procédé d’émission (200) selon l’une des revendications 1 à 5.
7. Dispositif émetteur (20) d’un système (10) de communication pour émettre un message à destination d’un dispositif récepteur dudit système (10) de communication, ledit message comportant un identifiant (224) du dispositif émetteur (20) ainsi qu’un numéro de message, l’identifiant étant ambigu dans le sens où l’identifiant peut être partagé par plusieurs dispositifs émetteurs différents, le dispositif émetteur (20) étant caractérisé en ce qu’il comporte un circuit de traitement (21) configuré pour déterminer le numéro de message à utiliser pour le message à émettre à partir :
- d'une séquence (222) de numéros de message attribuée au dispositif émetteur (20), ladite séquence pouvant également être attribuée à un autre dispositif émetteur ayant un identifiant différent, mais ne pouvant pas être attribuée à un autre dispositif émetteur ayant le même identifiant,
- d’un numéro de message (223) d’un message précédent émis par le dispositif émetteur (20) ou, si aucun message n’a été émis précédemment par le dispositif émetteur (20), d’un numéro de message de départ prédéterminé appartenant à ladite séquence ; et la séquence (222) qui est attribuée audit dispositif émetteur (20) comporte un numéro de message appartenant également à une séquence attribuée à au moins un autre dispositif émetteur partageant le même identifiant.
8. Dispositif émetteur (20) selon la revendication 7 dans lequel ladite séquence (222) est définie par un incrément, de telle sorte qu’un numéro de message dans la séquence correspond à la somme, modulo la longueur de la séquence, du numéro de message précédent et de l’incrément, la longueur et l’incrément de la séquence étant choisis de telle sorte qu’ils sont premiers entre eux.
9. Dispositif émetteur (20) selon la revendication 8 dans lequel la longueur de ladite séquence (222) est un nombre premier.
10. Dispositif émetteur (20) selon la revendication 9 dans lequel la longueur de ladite séquence (222) est le plus grand nombre premier correspondant à une valeur possible de numéro de message.
11. Dispositif émetteur (20) selon l’une quelconque des revendications 7 à 10 dans lequel ladite séquence (222) est prédéterminée de sorte que deux séquences différentes attribuées à deux dispositifs émetteurs différents partageant le même identifiant sont compatibles deux à deux, deux séquences étant dites compatibles l’une avec l’autre si une distance entre les deux séquences est supérieure ou égale à un seuil prédéterminé, ladite distance entre deux séquences étant définie ainsi : en partant dans chaque séquence d’un numéro de message de départ commun aux deux séquences, et en considérant l’ensemble des couples formés par deux nombres entiers positifs et n2 inférieurs à la longueur de la séquence tels que en effectuant incréments dans l’une des deux séquences et en effectuant n2 incréments dans l’autre séquence un même numéro de message est à nouveau obtenu pour les deux séquences, la distance entre les deux séquences est la plus petite valeur parmi les plus grandes valeurs de tous les couples considérés, quel que soit le numéro de départ commun considéré.
12. Procédé de réception, par un dispositif récepteur d’un système (10) de communication, d’un message émis par un dispositif émetteur (20) dudit système (10) de communication conformément à un procédé d’émission (200) selon l’une des revendications 1 à 5, ledit procédé de réception étant caractérisé en ce qu'il comporte une identification non ambigüe du dispositif émetteur (20) à partir :
- de l’identifiant ambigu extrait du message reçu,
- du numéro de message extrait du message reçu, - d’au moins une séquence ayant été attribuée à au moins un dispositif émetteur partageant le même identifiant ambigu, et
- d’au moins un numéro de message d’un message précédent reçu d’un dispositif émetteur partageant le même identifiant ambigu ou d’un numéro de message de départ appartenant à ladite séquence.
13. Procédé de réception selon la revendication 12 dans lequel l’identification non ambigüe du dispositif émetteur (20) comporte, pour ladite séquence et en partant dudit numéro de message d’un message précédent ou dudit numéro de message de départ, un calcul du nombre de sauts à effectuer dans ladite séquence pour obtenir le numéro de message extrait du message reçu.
14. Procédé de réception selon l’une des revendications 12 à 13 dans lequel l’identification non ambigüe du dispositif émetteur (20) est effectuée en outre à partir d’une position géographique estimée du dispositif émetteur (20).
15. Produit programme d’ordinateur (321 ) comportant un ensemble d’instructions de code de programme qui, lorsqu’elles sont exécutées par un ou plusieurs processeurs (33), configurent le ou les processeurs pour mettre en oeuvre un procédé de réception selon l’une des revendications 12 à 14.
16. Dispositif récepteur d’un système (10) de communication pour recevoir un message émis par un dispositif émetteur (20) dudit système (10) de communication conformément à un procédé d’émission (200) selon l’une des revendications 1 à 5, ledit dispositif récepteur étant caractérisé en ce qu'il comporte un circuit de traitement (31) configuré pour extraire l’identifiant ambigu et le numéro de message du message reçu, et pour identifier de manière non ambigüe le dispositif émetteur (20) à partir :
- de l’identifiant ambigu extrait du message reçu,
- du numéro de message extrait du message reçu,
- d’au moins une séquence ayant été attribuée à au moins un dispositif émetteur partageant le même identifiant ambigu, et
- d’au moins un numéro de message d’un message précédent reçu d’un dispositif émetteur partageant le même identifiant ambigu ou d’un numéro de message de départ appartenant à ladite séquence.
17. Dispositif récepteur selon la revendication 16 dans lequel le circuit de traitement (31 ) est configuré pour calculer, pour ladite séquence et en partant dudit numéro de message d’un message précédent ou dudit numéro de message de départ, un nombre de sauts à effectuer dans ladite séquence pour obtenir le numéro de message extrait du message reçu.
EP20792453.1A 2019-10-23 2020-10-22 Procédés et dispositifs permettant d'identifier de manière unique un émetteur d'un message Pending EP4233280A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1911871A FR3102626B1 (fr) 2019-10-23 2019-10-23 procédés et dispositifs permettant d’identifier de manière unique un émetteur d’un message
PCT/EP2020/079755 WO2021078862A1 (fr) 2019-10-23 2020-10-22 Procédés et dispositifs permettant d'identifier de manière unique un émetteur d'un message

Publications (1)

Publication Number Publication Date
EP4233280A1 true EP4233280A1 (fr) 2023-08-30

Family

ID=69173065

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20792453.1A Pending EP4233280A1 (fr) 2019-10-23 2020-10-22 Procédés et dispositifs permettant d'identifier de manière unique un émetteur d'un message

Country Status (3)

Country Link
EP (1) EP4233280A1 (fr)
FR (1) FR3102626B1 (fr)
WO (1) WO2021078862A1 (fr)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100403736C (zh) * 2006-03-14 2008-07-16 杭州华三通信技术有限公司 多单元发送时的报文序列号检测方法及装置

Also Published As

Publication number Publication date
WO2021078862A1 (fr) 2021-04-29
FR3102626B1 (fr) 2022-07-22
FR3102626A1 (fr) 2021-04-30

Similar Documents

Publication Publication Date Title
EP3488535B1 (fr) Procédé d'émission, par un terminal d'un système de communication à accès par slot, d'un message avec sauts de fréquence intra-message
WO2019162592A1 (fr) Procédé et système omamrc de transmission avec adaptation lente de lien sous contrainte d'un bler
WO2017114920A1 (fr) Procede d'extraction univalente et univoque de cles a partir du canal de propagation
EP2893712B1 (fr) Procedes d'emission et de reception de donnees dans un systeme de telecommunications numeriques
WO2018087255A1 (fr) Procédé et dispositif d'émission de données chiffrées, procédé et dispositif d'extraction de données
EP1345350A1 (fr) Procédé de modulation et de détermination du nombre de bits à transmettre sur un canal de transmission
WO2021229183A1 (fr) Procédé et système omamrc de transmission avec variation du nombre d'utilisations du canal
EP4233280A1 (fr) Procédés et dispositifs permettant d'identifier de manière unique un émetteur d'un message
EP3266256A1 (fr) Procédés d'émission de données entre un terminal et un réseau d'accès synchronisé en fréquences sur un message montant dudit terminal
EP0643545A1 (fr) Procédé de détermination, par une station mobile d'un système de radiocommunications cellulaire à plusieurs types de cellules, du type de la cellule à laquelle elle est rattachée
FR3090899A1 (fr) Procédés et dispositifs pour l’émission et pour l’estimation de l’instant d’arrivée d’une séquence de bits
EP3827624B1 (fr) Procédé et système de géolocalisation d'un terminal à portée d'un dispositif émetteur d'intérêt
CA2770112C (fr) Procede de recherche d'une entite a l'aide d'un dispositif verificateur et dispositifs associes
WO2018011517A1 (fr) Procédé d'association d'un terminal avec un réseau d'accès d'un système de communication sans fil
WO2024079309A1 (fr) Procédé de retransmission coopérative dans un système omamrc avec allocation de ressources et sélections des sources à aider conjointes
WO2024002898A1 (fr) Procédé de retransmission coopérative dans un système omamrc
WO2022243318A1 (fr) Optimisation de la géolocalisation d'un terminal à partir d'un ou plusieurs identifiants de dispositifs émetteurs voisins
WO2022269157A1 (fr) Procede d'allocation d'une ressource frequentielle a au moins un terminal, dispositif associe
EP4226173A1 (fr) Procédé de géolocalisation d'une balise de diffusion d'un système de communication sans fil
WO2024023234A1 (fr) Procédés de distribution quantique et dispositifs de télécommunication associés
FR3108008A1 (fr) Procédé et dispositif de détection de la présence éventuelle d’au moins un motif numérique au sein d’un signal
EP3675546A1 (fr) Scanner radio embarqué dans une structure mobile d'un système de radiocommunications, et procédé d'utilisation du scanner radio
EP3957128A1 (fr) Planification d'un instant d'émission d'un message sur un canal de diffusion
FR3124912A1 (fr) Procédé de retransmission coopérative dans un système OMAMRC
FR3033105A1 (fr) Procedes d'emission et de reception de messages descendants avec identification implicite de destinataires

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20230417

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)