Method of processing a data packet before transmission over a radio communications network, a method of processing a received data packet, and associated devices and systems

09559846 ยท 2017-01-31

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for processing a data packet before transmission over a radio communications network as a succession of waveforms transmitted at positions defined by hopping codes, which are time positions or frequency positions. The packet is transmitted over a communications channel of the network by a transmitter node to a destination node. The method includes the following steps performed for each bit of the data packet to be transmitted, referred to as the current bit: calculating a hopping code at least as a function of the value of the current bit and of an encryption key generated by a pseudo-random generator, the encryption key having size greater than the maximum size of a data packet transmitted over the channel; and causing a waveform to be transmitted at the position defined by the calculated hopping code, the transmitted waveform being identical regardless of the value of the current bit.

Claims

1. A method comprising: processing a data packet by a processing device of a transmitter node for transmission over a radio communications network as a succession of waveforms transmitted at positions defined by hopping codes, said positions being time positions or frequency positions, wherein processing comprises the following acts that are performed by the transmitter node for each bit of the data packet to be transmitted, referred to as the current bit: calculating a hopping code at least as a function of a value of the current bit and of an encryption key generated by a pseudo-random generator, the encryption key having size greater than the maximum size of a data packet transmitted over the channel; and transmitting a waveform from the transmitter node toward a destination node over a communications channel of the network by a radio transmitter of the transmitter node, the waveform being transmitted at the position defined by the calculated hopping code, the transmitted waveform being identical regardless of the value of the current bit.

2. The method according to claim 1, wherein: the number of possible positions for the waveform is equal to 2.sup.p, where p is a non-zero integer, and said method comprises a prior step of mapping the current bit with a p-bit code word using a correspondence table shared with the destination node, and the calculating act comprises exclusive-OR type bit-wise addition of the code word corresponding to the bit to be transmitted and the encryption key having the same length p as the code word for the current bit, with the result corresponding to the calculated hopping code.

3. The method according to claim 2, wherein the encryption key is calculated from a pseudo-random generator set by using a key of fixed size shared between the transmitter node and the destination node.

4. A method comprising: receiving a data packet by a receiver node in a radio communications network, said data packet being transmitted by a transmitter node to a destination node as a succession of waveforms transmitted at positions defined by hopping codes, said positions possibly being time positions or frequency positions; processing the data packet by a processing device of the receiver node, comprising the following acts performed by the processing device for each waveform received by the receiver node: predicting by the receiver node a first position for receiving a 0 value bit and a second position for receiving a 1 value bit by calculating first and second hopping codes at least as a function of an encryption key generated from a pseudo-random generator and shared with the transmitter node; detecting by the receiver node first and second quantities of energy received in the received waveform at the first and second predicted positions; deciding by the receiver node on a value of the bit corresponding to the received waveform by comparing the energies detected at the first and second predictive positions; and outputting the value of the bit corresponding to the received waveform.

5. The method according to claim 4, wherein the method comprises a prior step of mapping possible bit values with a p-bit code word using a correspondence table shared with the transmitter node, p being a non-zero integer, and wherein the prediction step comprises an exclusive-OR type bit-wise addition of the code word corresponding to a possible bit value and the encryption key, with the result corresponding to the calculated hopping code.

6. A treatment device of a transmitter node, comprising: a radio transmitter; a non-transitory computer-readable medium storing instructions thereon; a processor device, which when executing the instructions processes a data packet for transmission over a radio communications network in the form of a succession of waveforms transmitted at positions defined by time hopping codes, said positions possibly being time positions or frequency positions, the processor device performing the following acts on each bit of a data word of the data packet to be transmitted, referred to as the current bit: generating an encryption key shared between the transmitter node and the destination node; calculating a hopping code at least as a function of the current bit and of the encryption key; and a waveform from the transmitter node toward a destination node over a communications channel of the network by the radio transmitter, the waveform being transmitted at a position defined by the calculated hopping code, the transmitted waveform being identical regardless of a value of the bit to be transmitted.

7. A treatment device of a receiver node, comprising: a radio receiver, which is configured to receive a data packet from a radio communications network, said data packet being transmitted by a transmitter node to a destination node in the form of a succession of waveforms at positions defined by hopping codes; a non-transitory computer-readable medium storing instructions thereon; a processor device configured by the instructions to perform, for a waveform received at a given position, the following acts for each received waveform: predicting a first position for receiving a 0 value bit and a second position for receiving a 1 value bit by calculating first and second hopping codes at least as a function of an encryption key generated from a pseudo-random generator and shared with the transmitter node; detecting first and second quantities of energy received in the received waveform at the first and second predicted positions; deciding on a value of the bit corresponding to the received waveform by comparing the energies detected at the first and second predictive positions; and outputting the value of the bit corresponding to the received waveform.

8. An apparatus comprising: an equipment node of a radio communications network suitable for transmitting and receiving data packets in the form of a succession of waveforms transmitted at positions defined by hopping codes, the equipment node comprising: a radio transceiver; a non-transitory computer-readable medium storing instructions thereon; a processor device configured by the instructions to perform the following acts: processing a data packet before transmission, said positions being time positions or frequency positions, wherein processing includes the following acts on each bit of a data word of the data packet to be transmitted, referred to as the current bit: generating an encryption key shared between the equipment node and a destination node of the network; calculating a hopping code at least as a function of the current bit and of the encryption key; and a waveform from the equipment node toward the destination node over a communications channel of the network by the radio transceiver, the waveform being transmitted at a position defined by the calculated hopping code, the transmitted waveform being identical regardless of a value of the bit to be transmitted; and processing a received data packet, which is received from the radio communications network by the radio transceiver, which comprises for a waveform received at a given position, the following acts performed for each received waveform: predicting a first position for receiving a 0 value bit and a second position for receiving a 1 value bit by calculating first and second hopping codes at least as a function of an encryption key generated from a pseudo-random generator and shared with a transmitter node that transmitted the received waveform; detecting first and second quantities of energy received in the received waveform at the first and second predicted positions; deciding on a value of the bit corresponding to the received waveform by comparing the energies detected at the first and second predictive positions; and outputting the value of the bit corresponding to the received waveform.

9. The apparatus according to claim 8, wherein the apparatus comprises a communications system for communication by radio, the system comprising a plurality of the equipment nodes.

10. A memory device comprising a computer program stored thereon and including instructions for performing a method for processing a data packet by a processor of a transmitter node when the processor executes the instructions, wherein the method comprises: processing the data packet for transmission over a radio communications network as a succession of waveforms transmitted at positions defined by hopping codes, said positions being time positions or frequency positions, wherein processing comprises the following acts that are performed by the processor of the transmitter node for each bit of the data packet to be transmitted, referred to as the current bit: calculating a hopping code at least as a function of a value of the current bit and of an encryption key generated by a pseudo-random generator, the encryption key having size greater than the maximum size of a data packet transmitted over the channel; and transmitting a waveform from the transmitter node toward a destination node over a communications channel of the network by a radio transmitter of the transmitter node, the waveform being transmitted at the position defined by the calculated hopping code, the transmitted waveform being identical regardless of the value of the current bit.

11. A memory device comprising a computer program stored thereon and including instructions for performing a method for processing a received data packet by a processor of a receiver node when the processor executes the instructions, wherein the method comprises: receiving the data packet by the receiver node from a radio communications network, said data packet being transmitted by a transmitter node to a destination node as a succession of waveforms transmitted at positions defined by hopping codes, said positions possibly being time positions or frequency positions; processing the data packet, comprising the following acts performed by the processor for each waveform received by the receiver node: predicting by the receiver node a first position for receiving a 0 value bit and a second position for receiving a 1 value bit by calculating first and second hopping codes at least as a function of an encryption key generated from a pseudo-random generator and shared with the transmitter node; detecting by the receiver node first and second quantities of energy received in the received waveform at the first and second predicted positions; deciding by the receiver node on a value of the bit corresponding to the received waveform by comparing the energies detected at the first and second predictive positions; and outputting the value of the bit corresponding to the received waveform.

Description

4. LIST OF FIGURES

(1) Other advantages and characteristics of the invention appear more clearly on reading the following description of a particular implementation of the invention given merely by way of non-limiting illustrative example and with reference to the accompanying drawings, in which:

(2) FIG. 1 is a diagram of an impulse radio communications system using a time hopping code of the invention;

(3) FIG. 2 is a diagram showing the structure of a symbol time in an impulse radio technique using a time hopping code;

(4) FIG. 3 shows the steps of the method of the invention for processing a data packet before transmission in such a network;

(5) FIG. 4 shows the steps of the method in a particular implementation of the invention for processing a data packet before transmitting it;

(6) FIG. 5 shows an example of generating an encryption key by means of a pseudo-random generator in accordance with the invention;

(7) FIG. 6 shows the steps of the method of processing a data packet received by a node in such a network of the invention;

(8) FIG. 7 shows the steps in the method of a particular implementation of the invention for processing a received data packet; and

(9) FIG. 8 is a diagram showing the structure of a node of the invention.

5. DESCRIPTION OF A PARTICULAR IMPLEMENTATION OF THE INVENTION

(10) In the description below, as an implementation of the invention, consideration is given to an impulse radio communications channel using a time hopping code. Naturally, the invention is not limited to impulse radio, but it applies equally well to a communications channel using frequency hopping.

(11) With reference to FIG. 1, consideration to a radio communications system SC comprising nodes suitable for exchanging data packets over an impulse radio communications network RRI using a time hopping technique. A node EN.sub.E in this network, referred to as a transmitter node, transmits a data packet DP.sub.E in the form of a radio signal S.sub.E over a transmission channel of the network to a destination node EN.sub.D. The data packet DP.sub.E comprises a series of data bits.

(12) In the time hopping technique, which is known to the person skilled in the art, each data bit in the series is transmitted in the form of at least one symbol by means of a group or burst B of impulses. In the description below, the current information bit for transmission is written b.sub.n.

(13) A malicious node EN.sub.M is shown to make it clear that, like a legitimate node, it too listens to traffic on one or more transmission channels of the network RRI. Depending on the type of attack used, such a node listens to the transmission channel in order to intercept the information transmitted between the legitimate nodes EN.sub.E and EN.sub.D, or else it jams the legitimate communication between EN.sub.E and EN.sub.D so as to prevent communication, or else it relays intercepted information in the form of malicious data packets in order to make the legitimate nodes inoperative (a denial of service (DoS) type attack).

(14) FIG. 2 shows the principle of transmitting symbols carried by a burst B of impulses. Each symbol is transmitted in a time interval written T.sub.symb that is subdivided into 2.sup.p subintervals referred to as slots of duration T.sub.slot, using a non-zero integer p.

(15) In the invention, the bits b.sub.n, where n is an integer in the range 0 to N1, of the series of bits making up the data packet DP.sub.E are processed in succession, at the transmitter node EN.sub.E by performing the transmission method, which is described below with reference to FIG. 3.

(16) In a first step E1, a time hopping code C.sub.n is calculated for the current information bit b.sub.n as a function of the value of this current bit and of the value k.sub.n of an encryption key previously generated during a step E0 by a pseudo-random generator.

(17) In the invention, the encryption key k.sub.n has length of the same order of magnitude as the series of information bits making up the data packet DP.sub.E.

(18) Advantageously, the encryption key k.sub.n is generated by a pseudo-random generator that is set on the basis of a key of fixed size shared between the transmitter node and the receiver node. An example of a configuration for a generator of such a key is described below with reference to FIG. 5.

(19) In a step E2, a burst B of impulses is transmitted over the radio transmission channel in a slot of the symbol time as defined by the calculated time hopping code C.sub.n.

(20) The steps E0, E1, and E2 are iterated for each information bit of the data packet.

(21) It should be observed that this burst B of impulses is used for transmitting the values of the information bit b.sub.n that make up the data packet without having resource to any modulation.

(22) With reference to FIG. 4, there follows a description of an implementation of the method for processing a data packet prior to transmission in a particular implementation of the invention.

(23) In this implementation, the step E1 has a substep E11 of mapping the information bit b.sub.n with a p-bit code word m.sub.n, where p is a non-zero integer, of value that depends on the input bit b.sub.n, in application of a correspondence table that the transmitter node shares with the destination node.

(24) It should be observed that this table is not necessarily secret and it might even be public.

(25) In a substep E12, this p-bit code word is subjected to an exclusive or (XOR) operation represented by the symbol , with a p-bit word that has been extracted from an encryption key k.sub.n.

(26) In this implementation, it can be understood that the encryption key k.sub.n is an encryption keystream comprising p bits, that thus presents the same length as the code word m.sub.n.

(27) The result of the XOR operation gives the number of the slot C.sub.n in which the impulse burst B is to be transmitted.

(28) Below, consideration is given to the particular example of a code word of length p=4. The hopping code C.sub.n may thus have 2.sup.4=16 values.

(29) For a time hopping code, each of these 16 values corresponds to a possible slot number for the hopping code C.sub.n. In a frequency hopping code, each of these 16 possible values corresponds to a transmission frequency or subband of the waveform.

(30) For p=4, the mapping function between the current bit b.sub.n and the code word m.sub.n may be as follows:
b.sub.n=0.fwdarw.m.sub.n=0101;
b.sub.n=1.fwdarw.m.sub.n=1010.

(31) By using the encryption keystream, i.e. a private key shared between the transmitter and the receiver, the information bits are not transmitted in the clear and can be transmitted without having recourse to any particular modulation scheme. Unlike the prior art, which for example uses pulse position modulation (PPM), this transmission generates a low probability of any successful use being made of the burst should it be intercepted.

(32) FIG. 5 shows an example configuration for a encryption keystream generator implemented in step E0 of the method of the invention for processing before transmission. This configuration relies on a technique known in the prior art and described in the document entitled Grain-A stream cipher for constrained environments by M. Hell, T. Johanson, and T. Meier, eSTREAM, ECRYPT Stream Cipher Project, Report 2005/010 (2005). In that technique, generation of the encryption key k.sub.n is based on a linear feedback shift register (LFSR) and a non-linear feedback shift register (NFSR), together with a Boolean function h(x). In this figure, f(x) and g(x) respectively represent the polynomials that are characteristic of the LFSR and of the NFSR. This generator enables an encryption key k.sub.n to be created that satisfies certain security properties on the basis of an initial key of fixed size. The initial key determines the initial state of the LFSR and of the NFSR.

(33) The above-described transmission method is performed by a transmission device of the invention for transmitting data packets. Advantageously, the device is incorporated in a node of a frequency hopping or impulse radio communications network.

(34) With reference to FIG. 6, there follows a description of an implementation of the method of processing a data packet DP.sub.R received in an impulse radio communications network using a time hopping code of the invention.

(35) The data packet DP.sub.R is received in the form of a radio signal S.sub.R comprising impulse burst B at time instants that are defined by time hopping codes C.sub.n calculated by the transmitter node.

(36) In a first step R.sub.0, an encryption key k.sub.n is generated for the purpose of receiving a bit b.sub.n of the data packet DP.sub.R. If the receiver node EN.sub.D is the legitimate destination of the data packet, it is suitable for generating the same encryption key k.sub.n=k.sub.n as the transmitter node EN.sub.E.

(37) In contrast, if it is a malicious node EN.sub.M, it does not have means for generating an encryption key analogous to that used by the transmitter node.

(38) At the end of this step, it is assumed that the encryption key k.sub.n is known to the receiver node.

(39) During a step R1, possible values for time hopping codes used by the transmitter node are predicted on the basis of the encryption key k.sub.n.

(40) In a particular implementation of the invention, a code word m.sub.n of length p is associated by the transmitter node with the binary value of the information bit b.sub.n to be transmitted. Under such circumstances, the destination node also knows the correspondence table for mapping between the information bit and the p-bit code word. Using the table, it applies the mapping function to predict the position of the waveform corresponding to a bit b.sub.n of value 1 and of a bit b.sub.n of value 0, on the basis of calculated values of time hopping codes. Thus, for the bit n, the receiver calculates:

(41) { C n , 0 = k n m n , 0 C n , 1 = k n m n , 1

(42) In a step R2, a quantity of energy E.sub.n,0 associated with the location corresponding to the time hopping code C.sub.n,0 in the received signal S.sub.R and a quality of energy E.sub.n,1 associated with the location corresponding to the time hopping code C.sub.n,1 are detected.

(43) In a step R3, a decision is taken on the time location or slot that is the most probable, by comparing the quantity of energy E.sub.n,0 E.sub.n,1 that have been detected and by selecting the location corresponding to the greater quantity of energy, as shown in FIG. 7.

(44) It can be understood that a malicious node EN.sub.M, which a priori does not know the encryption key, is not in a position to reproduce the reception method of the invention.

(45) It does not know firstly how to predict the instants at which impulse bursts are transmitted, which prevents it in particular from jamming the information transmitted by the transmitter node over the transmission channel. Secondly, the lack of modulation applied to the transmitted impulse bursts gives rise to low probability that it can make any use of the impulses that it might possibly intercept.

(46) The above-described method of processing a received data packet is performed by a device of the invention for processing a received data packet. Advantageously, the device is incorporated in a node of a radio communications network using a hopping code.

(47) With reference to FIG. 8, there follows a description of an example structure for a node EN of the invention.

(48) In a first aspect of the invention, the node EN has a device 100 for processing a data packet DP.sub.E before it is transmitted over a radio communications network RRI that uses a hopping code.

(49) The processor device 100 of the invention comprises a receiver module 110 suitable for receiving a data packet DP, that the node EN seeks to send to at least one other node, referred to as the destination node EN.sub.D of the network RRI. The data packet DP.sub.E is processed by a processor unit 120 having a microprocessor suitable, for each information bit b.sub.n of the packet, for implementing means constituting the invention, in particular means for generating an encryption key k.sub.n, means for calculating a hopping code C.sub.n on the basis of the value of the information bit b.sub.n and of the encryption key that has been generated, and means for controlling the transmission of a waveform at the position defined by the calculated hopping code, to a radio transceiver module MER of the node EN.

(50) When using an impulse radio communications technique, the waveform is a group of impulses to be transmitted at an instant defined by the calculated value of the time hopping code.

(51) When using a frequency hopping communications technique, the waveform is transmitted in a frequency subband defined by the calculated value of the frequency hopping code.

(52) The processor device 100 of the invention also has a memory 140 storing a computer program 130 for performing the steps of the method of the invention for processing a data packet before transmission, as described in detail above with reference to FIGS. 3 and 4. On initialization and by way of example, the code instructions of the computer program 130 are loaded into a random access memory (RAM) prior to being executed by the processor of the processor unit 120.

(53) In a particular implementation of the invention, the memory 140 also has linear and non-linear shift registers for use by the means for generating an encryption key using a running encryption scheme.

(54) In an aspect of the invention, the invention also has a correspondence table for mapping possible values of an information bit and p-bit code words, which table is shared by the transmitter node and by the destination node.

(55) In a second aspect of the invention, the node equipment EN also has a device 200 for processing a received data packet coming from a transmitter node EN.sub.E.

(56) The processor device 200 of the invention has a receiver module 210 suitable for receiving a data packet DP.sub.R as received by the radio transceiver module MER of the node equipment EN over a transmission channel of the network RRI. Such a packet is received in the form of a received signal S.sub.R comprising waveforms positioned in compliance with hopping codes calculated by the transmitter node. For communication by impulse radio, the waveforms are impulse bursts B positioned at instants defined by time hopping codes calculated by the transmitter node. For frequency hopping communication, the waveforms are positioned on subbands defined by frequency hopping codes calculated by the transmitter node.

(57) The received signal S.sub.R is processed by a processor unit 220 fitted with a microprocessor suitable for performing means constituting the invention, and in particular means for generating an encryption key with the help of a pseudo-random generator analogous to that of the transmitter node, means for predicting two possible positions for the waveform in the received signal SR for a bit of the received data packet on the basis of the generated encryption key, means for detecting a quantity of energy associated with each possible location, and decision means for deciding on the more probable location on the basis of the detected quantities of energy.

(58) The processor device 200 also has a memory 240 in which there is stored a computer program 230 for performing the steps of the method of the invention for processing on reception as described above with reference to FIGS. 6 and 7. On initialization, and by way of example, the code instructions of the computer program 230 are loaded into a RAM prior to being executed by the processor of the processor unit 220.

(59) It should be observed that for frequency hopping communication, a node having a processor device 200 of the invention necessarily includes a receiver circuit with two frequency synthesizers, thus enabling it to detect simultaneously the energies associated with two waveforms in two different frequency bands.

(60) A system for processing data packets transmitted over a radio communications network in accordance with the invention comprises at least two nodes such as the above-described node EN.