WO2018087255A1 - Procédé et dispositif d'émission de données chiffrées, procédé et dispositif d'extraction de données - Google Patents
Procédé et dispositif d'émission de données chiffrées, procédé et dispositif d'extraction de données Download PDFInfo
- Publication number
- WO2018087255A1 WO2018087255A1 PCT/EP2017/078809 EP2017078809W WO2018087255A1 WO 2018087255 A1 WO2018087255 A1 WO 2018087255A1 EP 2017078809 W EP2017078809 W EP 2017078809W WO 2018087255 A1 WO2018087255 A1 WO 2018087255A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet
- encrypted
- information
- value
- estimated
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0872—Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Definitions
- the present invention belongs to the field of digital telecommunications, and more particularly relates to a method of transmitting a packet comprising encrypted data, as well as a method for extracting data included in such a packet.
- ultra-narrowband wireless communication systems By “ultra narrow band” (“Ultra Narrow Band” or UNB in the English literature), it is meant that the instantaneous frequency spectrum of the radio signals emitted by terminals, to an access network, is of width frequency less than two kilohertz, or even less than one kilohertz.
- Such UNB wireless communication systems are particularly suitable for applications of the type M2M (acronym for machine-to-machine) or the Internet of Things ("Internet of Things” or loT in the literature Anglo-Saxon).
- the data exchanges are mainly on a link rising from terminals to an access network of said system.
- the terminals transmit packets that are collected by base stations of the access network, without first having to associate with one or more base stations of the access network.
- the packets transmitted by a terminal are not intended for a specific base station of the access network, and the terminal sends its packets assuming that they can be received by at least one base station.
- Such provisions are advantageous in that the terminal does not need to perform regular measurements, particularly greedy in terms of power consumption, to determine the most appropriate base station to receive its packets. Complexity rests on the network access, which must be able to receive packets that can be transmitted at arbitrary times, and at arbitrary central frequencies within a frequency band multiplexing the different terminals.
- the access network when receiving a packet, updates the key by applying the same key generation method as the terminal.
- a disadvantage of such an approach is that, in a UNB wireless communication system, the access network does not necessarily receive all the packets transmitted by the terminal, so that the access network does not know a priori how much times the key has been changed between the previous packet received from the same terminal and the current packet.
- the amount of information to be included in a packet can be important.
- the amount of information can be included in a package is very limited.
- the present invention aims to remedy all or part of the limitations of the solutions of the prior art, including those described above, by proposing a solution that ensures good confidentiality of trade while limiting the amount of information to include in packages.
- the invention relates to a method of sending, by a transmitting device, packets destined for a receiving device of a communication system, comprising, for the transmission of a packet, called "encrypted packet", comprising data encrypted according to a symmetric key encryption protocol:
- a calculation of a truncated information by decomposing the generation information into a first part and a second part, the first part varying more slowly over time than the second part, the truncated information being representative of said second part; part of the generation information,
- the encryption key is determined according to the value of a variable generation information over time. Therefore, the encryption key changes each time the value of the generation information changes, and can take as many different values as the generation information.
- the generation information is not included as it is in the encrypted packet to be transmitted, and it is truncated information that is included in the transmitted encrypted packet.
- the generation information being decomposed into a first part and a second part, the first part varying more slowly than the second part, the truncated information is calculated according to the second part, without taking into account the first part.
- the first part of the generation information corresponds to a part that does not vary or little over the duration of transmission of several consecutive packets, while the second part is likely to vary from one packet to another.
- the number of different values that the encryption key may take may be chosen according to the desired level of confidentiality, without affecting the amount of information to be transmitted in the encrypted packet to enable the receiving device to determine the key. encryption. Indeed, the amount of information to be transmitted can be limited to the amount of information needed to encode the truncated information.
- the receiving device must, when receiving an encrypted packet transmitted by the transmitting device, estimate the value of the first part of the generation information of said encrypted packet (not included in said encrypted packet) in order to deducing, from the truncated information, the value of the generation information and thus be able to determine the encryption key used by the transmitting device.
- the verification code which is calculated by the sending device according to the encrypted data and the first part of the generation information, is then used by the receiving device to determine whether the estimated value of the first part of the information generation is correct, that is to say if it corresponds to the first part of the generation information used by the sending device, by evaluating the integrity of the encrypted packet based on the encrypted data and the estimated value of the first part of the generation information. If the encrypted packet is considered as integrity, then it means furthermore that the estimated value of the first part of the generation information corresponds to the first part of the generation information used by the transmitting device.
- the method of transmission may further comprise one or more of the following features, taken singly or in any technically feasible combination.
- the verification code is further calculated based on an authentication key of the transmitting device, so that the verification code also makes it possible to verify the authenticity of the encrypted packet.
- the transmission method also comprises a formation and a transmission of a packet, called "registration packet", including a registration information representative of the first part of the generation information.
- This registration packet can be issued recurrently, for example periodically, or whenever the first part of the generation information varies, or whenever the transmitting device transmits a predetermined number of encrypted packets. .
- an encrypted packet transmitted by the transmitting device estimating a candidate value of the first part of the generation information of said encrypted packet is performed in addition to reset information extracted from a previously received registration packet.
- the generation information is a packet counter corresponding to the number of packets transmitted by the transmitting device or a generation date of the packet to be transmitted.
- the present invention relates to a transmitting device for sending packets to a receiving device of a communication system, comprising, for the transmission of a packet, said "encrypted packet", comprising data encrypted according to a symmetric key encryption protocol:
- means configured to encrypt data to be included in the encrypted packet to be transmitted according to the encryption key, means configured to calculate a truncated information by decomposing the generation information into a first portion and a second portion, the first portion varying more slowly over time than the second portion, the truncated information being representative of said second party,
- the transmitter device may further comprise one or more of the following characteristics, taken separately or in any technically possible combination.
- the verification code is further calculated according to an authentication key of the transmitting device, so that the verification code also makes it possible to verify the authenticity of the encrypted packet.
- the transmitter device further comprises means configured to form and transmit a packet, called "registration packet", including a registration information representative of the first part of the generation information.
- the generation information is a packet counter corresponding to the number of packets transmitted by said transmitting device or a generation date of the packet to be transmitted.
- the present invention relates to a method of extraction, by a receiver device, of data included in an encrypted packet, called "encrypted packet in progress", transmitted by a device that transmits a communication system in accordance with a transmission method according to any one of the embodiments of the invention.
- Said extraction process comprises:
- the extraction method may further comprise one or more of the following characteristics, taken separately or in any technically possible combination.
- the integrity of the current encrypted packet is evaluated in addition to an authentication key of the transmitting device.
- the extraction method further comprises an extraction of registration information included in a packet transmitted by the transmitting device, called "registration packet”.
- registration packet an extraction of registration information included in a packet transmitted by the transmitting device.
- the estimate of the candidate value of the first part of the generation information for the current encrypted packet is then further performed according to this registration information.
- candidate values for the first part of the generation information are estimated, and the integrity of the current encrypted packet is evaluated for each estimated candidate value until a criterion of stop is checked.
- information from generation is a packet counter of the transmitting device whose value of the first part for the current encrypted packet is further estimated based on the value of the estimated first part and verified for a previous packet received from the same transmitting device.
- the generation information corresponds to a generation date of the packet transmitted by the transmitting device whose value of the first part is estimated as a function also of the first part of the date of receipt of said encrypted packet in progress by the receiving device.
- the present invention relates to a receiver device for receiving packets of a transmitting device of a communication system according to any one of the embodiments of the invention.
- said receiver device comprises:
- the receiving device can in addition, include one or more of the following characteristics, taken separately or in any technically feasible combination.
- the integrity of the current encrypted packet is evaluated in addition to an authentication key of the transmitting device.
- the receiver device further comprises means configured to extract the registration information from a registration packet transmitted by the transmitting device.
- the candidate value of the first portion of the generation information for the current encrypted packet is then further estimated based on this registration information.
- the generation information corresponds to a packet counter of said transmitting device whose value of the first part for the current encrypted packet is estimated in addition to the value of the first estimated and verified part. for a previous packet received from the same transmitting device.
- the generation information corresponds to a generation date of the packet transmitted by the sending device whose value of the first part is estimated in addition to the first part of the date of receipt of said encrypted packet. in progress by the receiving device.
- the present invention relates to a communication system comprising at least one transmitting device according to any one of the embodiments of the invention, and at least one receiving device according to any one of the embodiments of the invention. 'invention.
- FIG. 1 a schematic representation of a wireless communication system
- FIG. 2 a diagram illustrating the main steps of a method of sending a packet containing encrypted data
- FIG. 3 is a diagram illustrating the main steps of a preferred embodiment of the transmission method of FIG. 2, with the transmission of a registration packet,
- FIG. 4 a diagram illustrating the main steps of a data extraction method included in an encrypted packet
- FIG. 5 a diagram illustrating the main steps of a preferred mode of implementation of the extraction method of FIG. 4, and highlighting the use of a registration packet
- FIG. 6 a diagram illustrating the main steps of evaluating the integrity of an encrypted packet
- Figure 7 a diagram illustrating the main steps of a preferred embodiment of the extraction method of Figure 5, and highlighting the estimation of several candidate values.
- FIG. 1 schematically represents a wireless communication system 10, for example of the UNB type, comprising several terminals 20 and an access network 30.
- the access network 30 comprises several base stations 31 and a server 32.
- radio signal is meant an electromagnetic wave propagating via non-wired means, the frequencies of which are included in the traditional spectrum of radio waves (a few hertz to several hundred gigahertz).
- the terminals 20 are adapted to transmit packets on an uplink link to the access network 30.
- packets are sent asynchronously.
- asynchronously transmitting is meant that the terminals 20 determine autonomously when they transmit and / or on which central frequency they transmit, without coordination of said terminals 20 to each other and to the base stations 31 of the access network. 30.
- Each base station 31 is adapted to receive the packets of the terminals 20 which are within range.
- Each packet thus received is for example transmitted to the server 32 of the access network 30, possibly accompanied by other information such as an identifier of the base station 31 which received it, the measured power of said received packet, the date of reception. measured from said packet, the measured center frequency of said received packet, etc.
- the server 32 processes, for example, all the packets received from the various base stations 31.
- FIG. 2 diagrammatically represents the main steps of a method 50 for sending, by a terminal 20 and destined for the access network 30, packets comprising data encrypted according to a symmetric key encryption protocol.
- the terminal 20 comprises a processing circuit (not shown in the figures), comprising one or more processors and storage means (magnetic hard disk, electronic memory, optical disk, etc.) in which a program product is stored. computer, in the form of a set of program code instructions to be executed to implement the different steps of the packet sending method.
- the processing circuit includes one or more programmable logic circuits (FPGA, PLD, etc.), and / or one or more specialized integrated circuits (ASICs), and / or a set discrete electronic components, etc., adapted to implement all or part of said steps of the method of transmitting packets.
- the processing circuit comprises a set of means configured in software (specific computer program product) and / or hardware (FPGA, PLD, ASIC, discrete electronic components, etc.) to implement the steps of the packet sending method 50 to the access network 30.
- the terminal 20 also comprises wireless communication means, considered as known to those skilled in the art, enabling the terminal 20 to send packets to the base stations 31 of the access network 30, under the form of radio signals.
- the method for transmitting encrypted packets comprises the following steps, all executed by the terminal 20, which will be described in detail below:
- the encryption key is determined according to the value of a generation information that is variable over time. As a result, the encryption key changes each time the value of the generation information changes.
- the generation information is not included as it is in the encrypted packet to be transmitted, and it is truncated information that is included in the transmitted encrypted packet.
- Generation information can be any variable information at course of time that can be broken down into a first part and a second part, the first part varying more slowly than the second part. Therefore, the first part, which does not vary or little over the transmission duration of several consecutive packets, does not have to be included in the encrypted packet to be transmitted.
- the second part which varies from one packet to another, is included in the encrypted packet to be transmitted in any suitable form, and the truncated information is calculated from said second part only, that is to say to say without taking into account the first part.
- the generation information is the generation date of the encrypted packet to be transmitted.
- the generation date is for example expressed as year-month-day-hour-minute-second, and is therefore decomposable into a first part that varies slowly, such as the part corresponding to year-month-day, while the second part, which varies more rapidly, is the part corresponding to hour-minute-second.
- the truncated information is therefore, in this example, representative of the part corresponding to hour-minute-second, and is for example calculated from the hour-minute-second part by means of an invertible calculation function known to the priori of the terminal 20 and the access network 30.
- the generation information is a packet counter corresponding to the number of packets transmitted by the terminal 20.
- the truncated information is hereinafter referred to as " truncated counter ".
- the terminal 20 updates the value of a packet counter, which corresponds to the number of packets transmitted by said terminal 20.
- the value of said packet counter is incremented with each new packet transmission.
- incrementing said value of the packet counter only for certain packets For example, it is possible, in order to increase the probability of reception, by the access network 30, of the data included in a packet, of duplicating Nr times said data in order to include them in Nr packets sent successively, for example on different central frequencies, with all the same data. In such a case, for example, it is possible to increment the value of said packet counter only all Nr packets, that is to say only when new data must be sent by the terminal 20.
- the value of the packet counter is, for example, incremented modulo Ne, Ne being a predetermined positive integer.
- the packet counter of the terminal 20 can take Ne different values.
- the number Ne is equal to 2 Nb1 , Nb1 being a predetermined positive integer, so that the value of the packet counter can be encoded by means of Nb1 bits.
- Nb1 is equal to 128, so that the packet counter of the terminal 20 can take more than 10 38 different values.
- the encryption key to be used for encrypting the data to be included in the encrypted packet to be transmitted, is determined according to the value of the packet counter.
- the encryption key to be used is changed each time the value of the packet counter is incremented.
- the packet counter may take different values, it follows that the encryption key may also take different values.
- the number Ne is advantageously predetermined so as to ensure in particular a good level of confidentiality of exchanges.
- the encryption key can take more than 10 38 different values, which ensures a good level of confidentiality.
- the encryption key is determined, from the value of the packet counter, according to a predefined key generation method, known a priori from the terminal 20 and the access network 30.
- the invention can implement any type of adapted key generation method known to those skilled in the art, and the choice of a particular key generation method is only an alternative embodiment of the invention.
- the encryption key can It can also be determined from additional information which, if necessary, is for example concatenated with the packet counter to obtain a generation word of greater size than that of the single packet counter. For example, it may be envisaged to concatenate with the packet counter a static sequence generated in a pseudo-random manner, unique for a given terminal 20 and known a priori by the access network 30.
- the data to be included in the encrypted packet to be transmitted is encrypted according to the encryption key, according to the symmetric key encryption protocol considered.
- the invention is applicable to any type of symmetric key encryption protocol known to those skilled in the art, and the choice of a particular symmetric key encryption protocol is only a variant of implementation of the invention.
- the symmetric key encryption protocol used is a stream encryption protocol (also known as stream cipher in the English literature) possibly emulated from a block encryption protocol like AES (Advanced Encryption Standard).
- stream encryption protocol also known as stream cipher in the English literature
- AES Advanced Encryption Standard
- a stream encryption protocol makes it possible to encrypt data regardless of their size relative to the size of the encryption key. Therefore, it is possible to choose long encryption keys, which can take a very large number of different values, without having to increase by the same amount of data to include in a package.
- the data is for example in the form of bits, as is the encryption key which comprises at least Nb1 bits.
- the encrypted data are for example obtained by combining one by one the successive bits of the data and the encryption key, for example by means of a logic function of the type "EXCLUSIVE OR" ("XOR" in the English-language literature) .
- Truncated counter calculation During the calculation step 54, a truncated counter is determined from the value of the packet counter of the terminal 20.
- the packet counter is decomposed into a first part and a second part.
- the second part of the packet counter corresponds to the value of said modulo packet counter Nt, where Nt is a predetermined positive integer less than Ne.
- Nt is a predetermined positive integer less than Ne.
- the second part corresponds to the rest of the Euclidean division of the packet counter value by Nt
- the first part corresponds to the quotient of the Euclidean division of the packet counter value by Nt.
- the number Nt is equal to 2 Nb2 , Nb2 being a predetermined positive integer less than Nb1, so that the second part then corresponds to the Nb2 least significant bits ("Least Significant Bits" or LSB in the English literature). Saxon) among the Nb1 bits of the packet counter.
- Nb2 is equal to 12, so that the second part corresponds to the value of the modulo packet counter 4096.
- the number Nt can for example be chosen such that the probability, for the access network 30, of Missing consecutive packets transmitted by the same terminal 20 is less than a predefined threshold value, for example less than 10 -6 .
- the truncated counter is representative of the second part of the packet counter, and is for example calculated from said second part according to an invariable calculation function known prior to the terminal 20 and the access network 30. In the following description, it is placed in a nonlimiting manner in the case where the truncated counter is chosen equal to the second part, so that said truncated counter corresponds to the value of the packet counter modulo Nt.
- a verification code is determined from the encrypted data and the first part of the packet counter.
- the access network 30 must, when receiving an encrypted packet transmitted by the terminal 20, estimate the value of the first part of the packet counter for said encrypted packet in order to deduce, from the truncated counter, the value of generation information, and so power determining the decryption key to be able to decrypt the encrypted data contained in said encrypted packet.
- the verification code which is calculated by the terminal 20 based on the encrypted data and the first part of the packet counter, is then used by the access network 30 to evaluate the integrity of the encrypted packet. If the encrypted packet is considered integrity, then it means that the encrypted data extracted from the encrypted packet and the estimated value of the first part of the packet counter are correct. If not, it means that the encrypted data extracted from the encrypted packet and / or the estimated value of the first part of the packet counter are not correct.
- CMOS complementary metal-oxide-semiconductor
- CAM Message Authentication Code
- MAC Message Authentication Code
- the encrypted packet to be transmitted is formed from the encrypted data, the verification code, and the truncated counter.
- the value of the packet counter is not included in the encrypted packet to be transmitted, which includes only the truncated counter.
- the quantity of information included in the encrypted packet for encoding the truncated counter is less than that necessary to encode the value of the packet counter, since the truncated counter corresponds, for example, to the Nb2 least significant bits among the Nb1 bits of the packet counter. Therefore, the (Nb1 - Nb2) most significant bits (MSB) of the packet counter, which correspond to the first part of said packet counter, are not included in the packet counter. coded packet to be transmitted, which corresponds to 1 1 6 bits not included in the case where Nb1 is equal to 128 and Nb2 is equal to 12.
- the encrypted packet thus formed is then transmitted by the terminal 20 to the access network 30.
- FIG. 3 represents the main steps of an implementation variant of the transmission method 50 comprising, in addition to the steps described above with reference to FIG. 2, a step 56 of forming a registration packet from a registration information representative of the first part of the packet counter.
- This registration packet may be issued recurrently, for example periodically, or whenever the value of the first part of the packet counter varies, or whenever the terminal 20 transmits a predetermined number of encrypted packets. etc.
- the registration information makes it possible, when receiving an encrypted packet by the access network 30, to improve the estimate of the value of the first part of the counter. packets.
- the packet counter of the terminal 20 can count only the encrypted packets, just as it can also count the set of transmitted packets, including the registration packets. This choice of behavior of the packet counter is only one variant of implementation of the invention.
- the registration packet may comprise only the registration information, just as it may also include other information, such as for example encrypted data, or the second part of the packet counter (for example if the packet counter is incremented when issuing a registration packet).
- the registration information is the first part of the packet counter, that is to say the (Nb1-Nb2) most significant bits of the packet counter in the example considered,
- a reset packet is sent each time the counter has been incremented exactly one time, that is to say each time the second part of the packet counter (the Nb2 least significant bits) returns to zero, that is to say also whenever the first part of the packet counter (the (Nb1 - Nb2) most significant bits) is incremented,
- the packet counter of the terminal 20 is incremented when issuing a registration packet.
- information identifying the type of packet may be included in the packet. This aspect is outside the scope of the invention.
- FIG. 4 schematically represents the main steps of a method 60 for extracting, by the access network 30, data included in a packet received from a terminal 20, said packet having been transmitted in accordance with a method 50 of FIG. emission according to one of the embodiments of the invention.
- the encrypted packet is designated from which it is sought to extract data by "encrypted packet in progress", in order to distinguish it from other packets previously received from the same terminal 20.
- the data extraction method 60 comprises the following steps, which will be described in detail below:
- the encrypted packet in progress from which one seeks to extract the data, is initially received by one or more base stations 31.
- Each base station 31 comprises for this purpose wireless communication means, considered as known to those skilled in the art, allowing said base station to receive packets transmitted by one or more terminals 20 in the form of signals. radio.
- the steps of the data extraction method 60 can be executed by the base station (s) 31 having received the current encrypted packet and / or by the server 32.
- the base stations 31 and the server 32 comprise respective network communication means, considered as known to those skilled in the art, allowing the base stations 31 to transmit each received packet to the server 32.
- the server 32 comprises for example a processing circuit (not shown in the figures), comprising one or more processors and storage means (magnetic hard disk, electronic memory, optical disk, etc.) in which a program product is stored. computer, in the form of a set of program code instructions to be executed to implement the different steps of the data extraction method 60.
- the processing circuit 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. , adapted to implement all or part of said steps of the data extraction method 60.
- the processing circuit comprises a set of means configured in software (specific computer program product) and / or hardware (FPGA, PLD, ASIC, discrete electronic components, etc.) to implement the steps of the method 60 of extracting data from the current encrypted packet received from the terminal 20.
- different types of generation information can be considered.
- one places oneself in the case where the truncated information included by the terminal 20 in the transmitted packet is a truncated counter which corresponds to the value of said modulo packet counter Nt.
- the truncated counter is equal to the second part of the packet counter of the terminal 20.
- the truncated counter is not directly equal to the second part of the packet counter, it is sufficient to obtain said second part of the packet counter, to apply to the truncated counter of the current encrypted packet the inverse function of the calculation function used by the terminal 20.
- the server 32 extracts from the current encrypted packet the truncated counter, the verification code, and the encrypted data.
- the extraction of the truncated counter, the verification code, and the encrypted data depends on the manner in which they have been incorporated into the current encrypted packet, and is beyond the scope of the invention.
- the server 32 estimates a candidate value of the first portion of the packet counter of the terminal 20 that has issued the current encrypted packet.
- the current encrypted packet comprises only the truncated counter of the terminal 20 that sent it, and therefore does not fully include the value of the packet counter of said terminal 20, since the truncated counter only corresponds to to the Nb2 least significant bits among the Nb1 bits of the packet counter.
- the server 32 since the encryption key, used by said terminal 20 to encrypt the data included in the current encrypted packet, has been determined according to the value of the packet counter of said terminal 20, the server 32 must estimate the value. of the first part of said counter of packets of the terminal 20 to deduce the full value of the packet counter, and thus be able to determine in turn the decryption key to use, which is identical to the encryption key.
- the server 32 can estimate the value of the first part of the packet counter of the terminal 20 when transmitting the current encrypted packet, depending on:
- next packet received it is understood the last packet received from the terminal 20 before the current encrypted packet, among the packets for which the packet counter of the terminal 20 is incremented, and for which the value of the first part of the counter of packages could be estimated and verified. It should be noted that it may therefore be another encrypted packet, or another type of packet such as a registration packet.
- the server 32 stores the estimated value of the first part of the packet counter used by the terminal 20 when transmitting the previous packet received from said terminal 20, and updates the estimated value of said first part of the packet counter each time a new packet is received from said terminal 20.
- the server 32 considers, when it receives for the first time a packet transmitted by this terminal 20 (which is not necessarily the first packet sent by the terminal 20 if some packets have been missed by the network of access 30), that the estimated value of the first part of the packet counter for the previous packet received from the same terminal 20 is equal to said predefined initial value.
- the server 32 From the value of the first part of the estimated packet counter for the previous packet received from the terminal 20, and from the truncated counter extracted from the current encrypted packet, it is then possible for the server 32 to estimate the value of said packet counter of said terminal 20 for the encrypted package in progress.
- the value of the first part of the packet counter of the terminal 20 for the current encrypted packet is estimated according to the following expression:
- C (n) is the value of the packet counter of the estimated terminal for the current encrypted packet
- C 2 (n) corresponds to the truncated counter extracted from the current encrypted packet
- Ci (n-1) corresponds to the value of the first part of the packet counter of the terminal 20 estimated and verified for the preceding packet
- k is an integer to be determined.
- the value k corresponds to the number of returns to zero of the second part of the packet counter of the terminal 20 from the previous packet received.
- the value of the first part of the packet counter (corresponding to the (Nb1 - Nb2) most significant bits of the counter) is incremented each time the value of the second part of the packet counter (the truncated part, corresponding the Nb2 low-order bits of the counter) returns to zero.
- the Nb2 least significant bits by the Nb2 bits of the truncated counter extracted from the packet. encrypted in progress, but also add one (1) to the (Nb1 - Nb2) most significant bits of the value of the estimated packet counter for the previous packet.
- FIG. 5 represents the main steps of an implementation variant of the data extraction method 60 comprising, besides the steps described above with reference to FIG. 4, a step 66 of extraction, starting from a registration packet, a registration information representative of the first part of the packet counter.
- the estimate of the value of the first part of the packet counter of an encrypted packet in progress may be erroneous, particularly in the case where a large number, for example greater than Nt, of consecutive packets would be missed by the access network. Such an error is all the more serious as it leads to an estimation error for all subsequent packets.
- the registration information included in the registration packet is representative of the first part of the packet counter. It must therefore make it possible to determine with a good accuracy the value of the first part of the packet counter. At best, and as is the case in the embodiment described, it allows to determine without error the value of the first part of the packet counter.
- the value of the generation information for a current encrypted packet can be estimated by concatenating the first part of the generation information determined using the registration information, with the truncated information extracted from the encrypted packet by Classes.
- the registration information is the first part of the packet counter
- a reset packet is sent each time the packet counter of the terminal 20 has It has been incremented exactly one time, that is to say each time the first part of the counter changes, and the packet counter of the terminal 20 is incremented each time a reset packet is transmitted. It is therefore easy, on receiving a registration packet, to determine the value of the packet counter of the terminal 20 since it corresponds, for its (Nb1 - Nb2) most significant bits, to the value of the information for resetting, and for its Nb2 low-order bits, to a zero value. As a result, a registration packet may play the role of a "previous received packet" for which the value of the packet counter has been determined without error.
- a "desynchronization" may be detected if the value of the first portion of the estimated packet counter for the registration packet from a previous packet is different from the value of the first packet. part of the packet counter determined from the registration information.
- the system 10 is then resynchronized for the terminal 20 by resetting the value of the first part of the packet counter of the terminal 20 stored by the server 32 with the value of the registration information.
- FIG. 6 details a preferred mode of implementation of step 63 of evaluating the integrity of the current encrypted packet.
- step 63 includes a step 631 of calculating a verification code from the encrypted data and the estimated candidate value of the first part of the packet counter. This calculation is carried out according to the same method as that used by the terminal 20 to calculate the verification code on issue of the encrypted packet.
- Step 63 then comprises a step 632 comparing the verification code calculated by the server 32 with the verification code extracted from the current encrypted packet, it is possible to evaluate the integrity of the current encrypted packet.
- the encrypted packet is considered integral only if the verification code extracted from the current encrypted packet and the calculated verification code are identical.
- the server 32 can perform the step 64 of determining the decryption key, and the step 65 of decryption of the encrypted data.
- the current encrypted packet is not considered integrity, then the estimated candidate value of the first part of the packet counter is considered incorrect, and therefore it is not possible to determine the decryption key.
- the current encrypted packet may, for example, simply be ignored, or it may possibly be memorized in order to revert later by a new step of estimating a candidate value of the first part of the packet counter, for example following upon receipt of a registration package.
- the verification code is a Message Authentication Code (CAM) or MAC ("Message Authentication Code" or MAC in English literature) calculated according to in addition to an authentication key which is known by both the terminal 20 and the server 32.
- the server 32 may for example determine the authentication key to use through information included in the current encrypted packet which makes it possible to uniquely identify the terminal 20 that sent the packet. More generally, the determination by the server 32 of the authentication key to be used can implement any method known to those skilled in the art and is beyond the scope of the invention.
- the verification code makes it possible simultaneously to verify the authenticity of the current encrypted packet, the integrity of the encrypted data contained in this encrypted packet, and also the candidate value. estimated from the first part of the packet counter of the current encrypted packet.
- the server 32 determines the decryption key to be used for decrypting the encrypted data extracted from the current encrypted packet.
- the value of the packet counter of the terminal 20 for the current encrypted packet is derived from the estimated and verified candidate value of the first portion, and from the truncated information.
- the decryption key is then determined from the packet counter value of the terminal 20 for the current encrypted packet using the same key generation method used by the terminal 20 to generate the encryption key. In the absence of errors, the decryption key is identical to the encryption key.
- the server 32 decrypts the encrypted data extracted from the current encrypted packet, as a function of the decryption key obtained at the end of the determination step 64.
- the decryption of the encrypted data depends on the symmetric key encryption protocol considered, and is outside the scope of the invention. For example, in the case of a stream encryption protocol in which the encrypted data is obtained by combining one by one the successive bits of the data and the encryption key by means of an "EXCLUSIVE OR" logical function. , then the unencrypted data is also obtained by combining one by one the successive bits of the encrypted data and the decryption key by means of an "EXCLUSIVE OR" type logical function. B.6) Estimation of several candidate values
- FIG. 7 represents the main steps of an implementation variant of the data extraction method 60 comprising, besides the steps described above with reference to FIG. 5, the estimation and verification of several candidate values of the first part of the packet counter until a stop criterion is verified.
- a set of several candidate values of the first part of the packet counter of the current encrypted packet is defined, and each estimated candidate value is iteratively verified using the verification code.
- the stopping criterion is for example checked when, for a given candidate value, the integrity of the current encrypted packet is verified, or as soon as the set of candidate values is exhausted without any candidate value being able to be satisfied. allow to consider the current encrypted packet as integrity.
- This implementation variant overcomes the possibility that a large number, for example greater than Nt, consecutive packets are missed by the access network 30.
- the estimate of the candidate value of the first part of the packet counter for the current encrypted packet as presented in section B.3 is false, and it is then advantageous to estimate several different candidate values of the first part of the packet counter , to allow the extraction of data.
- variable k introduced in section B.3 represents, for an encrypted packet in progress, the number of returns to zero of the second part of the counter. of packets of the terminal 20 since the last previous received packet for which the value of the first part of the packet counter could be estimated and verified.
- the current encrypted packet can, however, be considered as not being integrated due to a transmission error altering the encrypted data (for example due to interference) or if a bad authentication key has been used. In such a case, it would be unfortunate to iterate indefinitely on candidate values for which the encrypted packet can not be considered as integrity. Also, it is necessary to limit all the possible candidate values. For this purpose, it is possible, for example, to define the maximum frequency at which the terminal 20 can send packets to the access network 30.
- t (n-1) is the date of receipt of the previous packet
- t (n) is the date of receipt of the current packet
- k max is the maximum number of zero returns of the second part of the packet counter of the terminal 20 during the period of time between t (n-1) and t (n).
- the set of candidate values of the first part of the packet counter to be considered is then defined by:
- C 1 (n) (C 1 (n - 1) + k) modulo 2 (Nb1 "Nb2) , with k varying between 0 and k max .
- the terminals 20 transmit their packets asynchronously, said terminals 20 can nevertheless issue their packets with a certain regularity.
- a terminal 20 may transmit a predetermined number of packets per day, without, however, transmitting said packets in a strictly periodic manner.
- said packets will nevertheless be transmitted, on average, substantially periodically.
- the average transmission period of said terminal 20 is calculated according to the following expression: expression in which:
- Tem corresponds to the estimated average emission period for the terminal 20
- t (m) corresponds to the date of reception measured for the packet of rank m received from said terminal 20,
- C (m-1) corresponds to the value of the packet counter of the terminal 20 estimated for the rank packet (m-1) received from said terminal 20,
- t (m-1) corresponds to the measured reception date for the rank packet (m-1) received from said terminal 20,
- M is the total number of packets received from the terminal 20.
- the candidate values to be iterated can then be, for example, defined by the set:
- k k prob ⁇ i, i N, k ⁇ 0, k ⁇ k prob + k max
- the case in which the generation information is the packet counter of the terminal 20 has been considered in a nonlimiting manner.
- estimation of the value of the first part of the generation information of the terminal 20 for the current encrypted packet may depend on the type of generation information considered.
- the estimation of the first part of the value of said packet counter of the terminal 20 for the current encrypted packet advantageously takes account of the value of the first part of said estimated packet counter for the previous packet received from the same terminal
- the generation information considered corresponds to the generation date, by the terminal 20, of the packet to be transmitted then it is not necessary to take into account the value of the first part of the estimated generation date. for the previous packet received from the same terminal 20, and the value of the first part of the date of generation of the current encrypted packet by the terminal 20 is for example estimated according to the date of receipt of said current encrypted packet.
- the generation date of the current encrypted packet by the terminal 20 and the date of receipt of said current encrypted packet by the access network 30 have, in principle, respective first portions. substantially identical, and differ mainly in their respective second parts.
- the truncated information extracted from the current encrypted packet is representative of the second part of the date of generation of said current encrypted packet by the terminal 20, it is understood that it is possible to estimate the value of the date of generating said current encrypted packet based on the truncated information extracted from said current encrypted packet and depending on the date of receipt of said current encrypted packet by the access network 30.
- the value of the generation date the current encrypted packet is obtained by combining the first part of the date of receipt of the current encrypted packet with the second part of the generation date determined from the truncated information extracted from said current encrypted packet.
- the invention has been described by considering only packets transmitted on the uplink from the terminals 20 to the access network 30.
- the invention is however applicable, alternatively or in addition, on a downlink from the network.
- the invention is more generally applicable to the transmission, by a transmitting device, of a packet containing encrypted data and to the extraction, by a receiving device, data included in such a package.
- the invention has been described by considering a UNB wireless communication system. However, there is nothing to preclude, in other examples, considering other types of communication systems, including wired communication systems. However, the invention finds a particularly advantageous application in low speed wireless communication systems, that is to say with a flow rate of less than 1 kilobit / s.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
La présente invention concerne un procédé (50) d'émission, par un dispositif émetteur (20), d'un paquet à destination d'un dispositif récepteur (30) d'un système de communication, ledit paquet comportant des données chiffrées selon un protocole de chiffrement à clé symétrique, comportant : - une détermination (51) de la valeur d'une information de génération, - une détermination (52) d'une clé de chiffrement en fonction de la valeur de l'information de génération, - un chiffrement (53) des données à inclure dans le paquet chiffré à émettre en fonction de la clé de chiffrement, - un calcul (54) d'une information tronquée à partir de l'information de génération, - un calcul (55) d'un code de vérification du paquet chiffré en fonction des données chiffrées et de la première partie de l'information de génération, - une formation (56) du paquet chiffré à émettre à partir de l'information tronquée, du code de vérification et des données chiffrées.
Description
Procédé et dispositif d'émission de données chiffrées, procédé et dispositif d'extraction de données
DOMAINE TECHNIQUE
La présente invention appartient au domaine des télécommunications numériques, et concerne plus particulièrement un procédé d'émission d'un paquet comportant des données chiffrées, ainsi qu'un procédé d'extraction de données incluses dans un tel paquet.
ÉTAT DE LA TECHNIQUE
La présente invention trouve une application particulièrement avantageuse, bien que nullement limitative, dans les systèmes de communication sans fil à 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électriques émis par des terminaux, à destination d'un réseau d'accès, est de largeur fréquentielle inférieure à deux kilohertz, voire inférieure à un kilohertz.
De tels systèmes de communication sans fil UNB sont particulièrement adaptés pour des applications du type M2M (acronyme anglo-saxon pour « Machine-to-Machine ») ou du type « Internet des objets » (« Internet of Things » ou loT dans la littérature anglo-saxonne).
Dans un tel système de communication sans fil UNB, les échanges de données se font principalement sur un lien montant depuis des terminaux à destination d'un réseau d'accès dudit système.
Les terminaux émettent des paquets qui sont collectés par des stations de base du réseau d'accès, sans avoir à s'associer préalablement à une ou plusieurs stations de base du réseau d'accès. En d'autres termes, les paquets émis par un terminal ne sont pas destinés à une station de base spécifique du réseau d'accès, et le terminal émet ses paquets en supposant qu'ils pourront être reçus par au moins une station de base.
De telles dispositions sont avantageuses en ce que le terminal n'a pas besoin de réaliser des mesures régulières, gourmandes notamment d'un point de vue consommation électrique, pour déterminer la station de base la plus appropriée pour recevoir ses paquets. La complexité repose sur le réseau
d'accès, qui doit être capable de recevoir des paquets pouvant être émis à des instants arbitraires, et sur des fréquences centrales arbitraires à l'intérieur d'une bande fréquentielle de multiplexage des différents terminaux.
Dans de nombreuses applications, il peut être nécessaire de chiffrer les données incluses dans les paquets, afin d'en assurer la confidentialité sur le lien montant entre les terminaux et le réseau d'accès.
Il existe de nombreux protocoles de chiffrement. Par exemple, dans un protocole de chiffrement à clé symétrique, la même clé est utilisée pour chiffrer et déchiffrer les données. Ladite clé doit par conséquent être connue ou pouvoir être déterminée à la fois par le terminal qui émet les données, et par le réseau d'accès qui reçoit lesdites données.
En outre, pour améliorer la confidentialité des échanges, il est souhaitable de faire varier la clé utilisée au cours du temps, par exemple à chaque nouvelle émission d'un paquet.
Dans un tel cas, il faut prévoir des moyens pour assurer que le terminal et le réseau d'accès utilisent chacun de leur côté la même clé pour respectivement chiffrer et déchiffrer les données.
Par exemple, il est possible de changer la clé à chaque paquet, selon une méthode de génération de clé prédéfinie connue a priori du terminal et du réseau d'accès. Le réseau d'accès, lorsqu'il reçoit un paquet, met à jour la clé en appliquant la même méthode de génération de clé que le terminal.
Un inconvénient d'une telle approche est que, dans un système de communication sans fil UNB, le réseau d'accès ne reçoit pas forcément tous les paquets émis par le terminal, de sorte que le réseau d'accès ne sait pas a priori combien de fois la clé a été modifiée entre le paquet précédent reçu du même terminal et le paquet en cours.
Alternativement, il est possible d'inclure, dans le paquet émis par le terminal, des informations à partir desquelles le réseau d'accès peut déterminer la clé utilisée, selon la méthode de génération de clé prédéfinie. Toutefois, étant donné que le nombre de clés différentes possibles est préférentiellement très élevé pour améliorer la confidentialité des échanges, la quantité d'informations à inclure dans un paquet peut s'avérer importante. Or, dans un système de communication sans fil UNB, la quantité d'informations
pouvant être incluses dans un paquet est très limitée.
EXPOSÉ DE L'INVENTION
La présente invention a pour objectif de remédier à tout ou partie des limitations des solutions de l'art antérieur, notamment celles exposées ci-avant, en proposant une solution qui permette d'assurer une bonne confidentialité des échanges tout en limitant la quantité d'informations à inclure dans les paquets.
A cet effet, et selon un premier aspect, l'invention concerne un procédé d'émission, par un dispositif émetteur, de paquets à destination d'un dispositif récepteur d'un système de communication, comportant, pour l'émission d'un paquet, dit « paquet chiffré », comportant des données chiffrées selon un protocole de chiffrement à clé symétrique :
- une détermination de la valeur d'une information de génération,
- une détermination d'une clé de chiffrement, à utiliser pour chiffrer les données à inclure dans le paquet chiffré à émettre, en fonction de la valeur de l'information de génération,
- un chiffrement des données à inclure dans le paquet chiffré à émettre en fonction de la clé de chiffrement,
- un calcul d'une information tronquée en décomposant l'information de génération en une première partie et une seconde partie, la première partie variant plus lentement, au cours du temps, que la seconde partie, l'information tronquée étant représentative de ladite seconde partie de l'information de génération,
- un calcul d'un code de vérification du paquet chiffré en fonction des données chiffrées et de la première partie de l'information de génération,
- une formation du paquet chiffré à émettre à partir de l'information tronquée, du code de vérification, et des données chiffrées.
Ainsi, selon l'invention, la clé de chiffrement est déterminée en fonction de la valeur d'une information de génération variable au cours du temps. Par conséquent, la clé de chiffrement change à chaque fois que la valeur de l'information de génération change, et peut prendre autant de valeurs différentes que l'information de génération.
Par contre, l'information de génération n'est pas incluse telle quelle
dans le paquet chiffré à émettre, et c'est une information tronquée qui est incluse dans le paquet chiffré émis. Avantageusement, l'information de génération étant décomposée en une première partie et une seconde partie, la première partie variant plus lentement que la seconde partie, l'information tronquée est calculée en fonction de la seconde partie, sans tenir compte de la première partie. Typiquement, la première partie de l'information de génération correspond à une partie qui ne varie pas ou peu sur la durée d'émission de plusieurs paquets consécutifs, tandis que la seconde partie est susceptible de varier d'un paquet à un autre.
Par conséquent, le nombre de valeurs différentes que peut prendre la clé de chiffrement peut être choisi en fonction du niveau de confidentialité souhaité, et ce sans impacter la quantité d'informations à émettre dans le paquet chiffré pour permettre au dispositif récepteur de déterminer la clé de chiffrement. En effet, la quantité d'informations à émettre peut être limitée à la quantité d'informations nécessaires pour encoder l'information tronquée.
Par contre, le dispositif récepteur doit, lors de la réception d'un paquet chiffré émis par le dispositif émetteur, estimer la valeur de la première partie de l'information de génération dudit paquet chiffré (non incluse dans ledit paquet chiffré) afin d'en déduire, à partir de l'information tronquée, la valeur de l'information de génération et ainsi pouvoir déterminer la clé de chiffrement utilisée par le dispositif émetteur. Le code de vérification, qui est calculé par le dispositif émetteur en fonction des données chiffrées et de la première partie de l'information de génération, est alors utilisé par le dispositif récepteur pour déterminer si la valeur estimée de la première partie de l'information de génération est correcte, c'est-à-dire si elle correspond bien à la première partie de l'information de génération utilisée par le dispositif émetteur, en évaluant l'intégrité du paquet chiffré en fonction des données chiffrées et de la valeur estimée de la première partie de l'information de génération. Si le paquet chiffré est considéré comme intègre, alors cela signifie en outre que la valeur estimée de la première partie de l'information de génération correspond bien à la première partie de l'information de génération utilisée par le dispositif émetteur.
Dans des modes particuliers de mise en œuvre, le procédé d'émission
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 œuvre, le code de vérification est calculé en fonction en outre d'une clé d'authentification du dispositif émetteur, de sorte que le code de vérification permette également de vérifier l'authenticité du paquet chiffré.
Dans des modes particuliers de mise en œuvre, le procédé d'émission comporte également une formation et une émission d'un paquet, dit « paquet de recalage », incluant une information de recalage représentative de la première partie de l'information de génération. Ce paquet de recalage peut être émis de manière récurrente, par exemple de manière périodique, ou bien à chaque fois que la première partie de l'information de génération varie, ou encore à chaque fois que le dispositif émetteur émet un nombre prédéterminé de paquets chiffrés. Lors de la réception, par le dispositif récepteur, d'un paquet chiffré émis par le dispositif émetteur, l'estimation d'une valeur candidate de la première partie de l'information de génération dudit paquet chiffré est effectuée en fonction en outre de l'information de recalage extraite d'un paquet de recalage précédemment reçu.
Dans des modes particuliers de mise en œuvre, l'information de génération est un compteur de paquets correspondant au nombre de paquets émis par le dispositif émetteur ou une date de génération du paquet à émettre.
Selon un second aspect, la présente invention concerne un dispositif émetteur pour émettre des paquets à destination d'un dispositif récepteur d'un système de communication, comportant, pour l'émission d'un paquet, dit « paquet chiffré », comportant des données chiffrées selon un protocole de chiffrement à clé symétrique:
- des moyens configurés pour déterminer la valeur d'une information de génération,
- des moyens configurés pour déterminer une clé de chiffrement, à utiliser pour chiffrer les données à inclure dans le paquet chiffré à émettre, en fonction de la valeur de l'information de génération,
- des moyens configurés pour chiffrer des données à inclure dans le paquet chiffré à émettre en fonction de la clé de chiffrement,
- des moyens configurés pour calculer une information tronquée en décomposant l'information de génération en une première partie et une seconde partie, la première partie variant plus lentement, au cours du temps, que la seconde partie, l'information tronquée étant représentative de ladite seconde partie,
- des moyens configurés pour calculer un code de vérification du paquet chiffré en fonction des données chiffrées et de la première partie de l'information de génération,
- des moyens configurés pour former le paquet chiffré à émettre à partir de l'information tronquée, du code de vérification, et des données chiffrées.
Dans des modes particuliers de réalisation, le dispositif émetteur 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, le code de vérification est calculé en fonction en outre d'une clé d'authentification du dispositif émetteur, de sorte que le code de vérification permette de vérifier en outre l'authenticité du paquet chiffré.
Dans des modes particuliers de réalisation, le dispositif émetteur comporte en outre des moyens configurés pour former et émettre un paquet, dit « paquet de recalage », incluant une information de recalage représentative de la première partie de l'information de génération.
Dans des modes particuliers de réalisation, l'information de génération est un compteur de paquets correspondant au nombre de paquets émis par ledit dispositif émetteur ou une date de génération du paquet à émettre.
Selon un troisième aspect, la présente invention concerne un procédé d'extraction, par un dispositif récepteur, de données incluses dans un paquet chiffré, dit « paquet chiffré en cours », émis par un dispositif émetteur d'un système de communication conformément à un procédé d'émission selon l'un quelconque des modes de mise en œuvre de l'invention. Ledit procédé d'extraction comporte :
- une extraction, à partir du paquet chiffré en cours, de l'information tronquée, du code de vérification, et des données chiffrées,
- une estimation d'une valeur candidate pour la première partie de l'information de génération du dispositif émetteur pour le paquet chiffré en cours en fonction de l'information tronquée extraite dudit paquet chiffré en cours,
- une détermination si la valeur candidate estimée est correcte par une évaluation de l'intégrité du paquet chiffré en cours en fonction de la valeur candidate estimée, des données chiffrées, et du code de vérification extraits dudit paquet chiffré en cours,
- lorsque la valeur candidate estimée est considérée comme correcte :
o une détermination d'une clé de déchiffrement en fonction de la valeur candidate estimée et en fonction de l'information tronquée extraite,
o un déchiffrement des données chiffrées extraites en fonction de la clé de déchiffrement.
Dans des modes particuliers de mise en œuvre, le procédé d'extraction 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 œuvre, l'intégrité du paquet chiffré en cours est évaluée en fonction en outre d'une clé d'authentification du dispositif émetteur.
Dans des modes particuliers de mise en œuvre, le procédé d'extraction comporte en outre une extraction d'une information de recalage incluse dans un paquet émis par le dispositif émetteur, dit « paquet de recalage ». L'estimation de la valeur candidate de la première partie de l'information de génération pour le paquet chiffré en cours est alors effectuée en outre en fonction de cette information de recalage.
Dans des modes particuliers de mise en œuvre, plusieurs valeurs candidates pour la première partie de l'information de génération sont estimées, et l'intégrité du paquet chiffré en cours est évaluée pour chaque valeur candidate estimée jusqu'à ce qu'un critère d'arrêt soit vérifié.
Dans des modes particuliers de mise en œuvre, l'information de
génération correspond à un compteur de paquets du dispositif émetteur dont la valeur de la première partie pour le paquet chiffré en cours est estimée en fonction en outre de la valeur de la première partie estimée et vérifiée pour un paquet précédent reçu du même dispositif émetteur.
Dans des modes particuliers de mise en œuvre, l'information de génération correspond à une date de génération du paquet émis par le dispositif émetteur dont la valeur de la première partie est estimée en fonction en outre de la première partie de la date de réception dudit paquet chiffré en cours par le dispositif récepteur.
Selon un quatrième aspect, la présente invention concerne un dispositif récepteur pour recevoir des paquets d'un dispositif émetteur d'un système de communication selon l'un quelconque des modes de réalisation de l'invention. Pour extraire les données incluses dans un paquet chiffré en cours, ledit dispositif récepteur comporte :
- des moyens configurés pour extraire, à partir du paquet chiffré en cours, l'information tronquée, le code de vérification, et les données chiffrées,
- des moyens configurés pour estimer une valeur candidate de la première partie d'une information de génération du dispositif émetteur pour le paquet chiffré en cours en fonction de l'information tronquée extraite dudit paquet chiffré en cours,
- des moyens configurés pour déterminer si la valeur candidate estimée est correcte en évaluant l'intégrité du paquet chiffré en cours en fonction de la valeur candidate estimée, des données chiffrées, et du code de vérification extraits dudit paquet chiffré en cours,
- des moyens configurés pour déterminer une clé de déchiffrement en fonction de la valeur de l'information de génération du dispositif émetteur estimée pour le paquet chiffré en cours,
- des moyens configurés pour déchiffrer les données chiffrées extraites du paquet chiffré en cours en fonction de la clé de déchiffrement.
Dans des modes particuliers de réalisation, le dispositif récepteur 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, l'intégrité du paquet chiffré en cours est évaluée en fonction en outre d'une clé d'authentification du dispositif émetteur.
Dans des modes particuliers de réalisation, le dispositif récepteur comporte en outre des moyens configurés pour extraire l'information de recalage à partir d'un paquet de recalage émis par le dispositif émetteur. La valeur candidate de la première partie de l'information de génération pour le paquet chiffré en cours est alors estimée en outre en fonction de cette information de recalage.
Dans des modes particuliers de réalisation, plusieurs valeurs candidates pour la première partie de l'information de génération sont estimées, et l'intégrité du paquet chiffré en cours est évaluée pour chaque valeur candidate estimée jusqu'à ce qu'un critère d'arrêt soit vérifié.
Dans des modes particuliers de réalisation, l'information de génération correspond à un compteur de paquets dudit dispositif émetteur dont la valeur de la première partie pour le paquet chiffré en cours est estimée en fonction en outre de la valeur de la première partie estimée et vérifiée pour un paquet précédent reçu du même dispositif émetteur.
Dans des modes particuliers de réalisation, l'information de génération correspond à une date de génération du paquet émis par le dispositif émetteur dont la valeur de la première partie est estimée en fonction en outre de la première partie de la date de réception dudit paquet chiffré en cours par le dispositif récepteur.
Selon un cinquième aspect, la présente invention concerne un système de communication comportant au moins un dispositif émetteur selon l'un quelconque des modes de réalisation de l'invention, et au moins un dispositif récepteur selon l'un quelconque des modes de réalisation de l'invention.
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
qui représentent :
- Figure 1 : une représentation schématique d'un système de communication sans fil,
- Figure 2 : un diagramme illustrant les principales étapes d'un procédé d'émission d'un paquet comportant des données chiffrées,
- Figure 3 : un diagramme illustrant les principales étapes d'un mode préféré de mise en œuvre du procédé d'émission de la figure 2, avec émission d'un paquet de recalage,
- Figure 4 : un diagramme illustrant les principales étapes d'un procédé d'extraction de données incluses dans un paquet chiffré,
- Figure 5 : un diagramme illustrant les principales étapes d'un mode préféré de mise en œuvre du procédé d'extraction de la figure 4, et mettant en évidence l'utilisation d'un paquet de recalage,
- Figure 6 : un diagramme illustrant les principales étapes d'évaluation d'intégrité d'un paquet chiffré,
- Figure 7 : un diagramme illustrant les principales étapes d'un mode préféré de mise en œuvre du procédé d'extraction de la figure 5, et mettant en évidence l'estimation de plusieurs valeurs candidates.
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 à l'échelle, sauf mention contraire.
DESCRIPTION DÉTAILLÉE DE MODES DE RÉALISATION
La figure 1 représente schématiquement un système 1 0 de communication sans fil, par exemple de type UNB, comportant plusieurs terminaux 20 et un réseau d'accès 30. Dans l'exemple illustré par la figure 1 , le réseau d'accès 30 comporte plusieurs stations de base 31 et un serveur 32.
Les terminaux 20 et les stations de base 31 du réseau d'accès 30 échangent des données sous la forme de signaux radioélectriques. Par « signal radioélectrique », on entend une onde électromagnétique se propageant via des moyens non filaires, dont les fréquences sont comprises dans le spectre traditionnel des ondes radioélectriques (quelques hertz à plusieurs centaines de gigahertz).
Notamment, les terminaux 20 sont adaptés à émettre des paquets sur
un lien montant à destination du réseau d'accès 30.
Les paquets sont par exemple émis de façon asynchrone. Par « émettre de façon asynchrone », on entend que les terminaux 20 déterminent de manière autonome quand ils émettent et/ou sur quelle fréquence centrale ils émettent, sans coordination desdits terminaux 20 entre eux et avec les stations de base 31 du réseau d'accès 30.
Dans la suite de la description, on se place de manière non limitative dans le cas où les terminaux 20 sont au moins asynchrones en temps, de sorte que les paquets sont émis à des instants non connus a priori du réseau d'accès 30. Rien n'exclut cependant, suivant d'autres exemples, de considérer des terminaux 20 synchronisés temporellement avec les stations de base 31 .
Chaque station de base 31 est adaptée à recevoir les paquets des terminaux 20 qui se trouvent à sa portée. Chaque paquet ainsi reçu est par exemple transmis au serveur 32 du réseau d'accès 30, éventuellement accompagné d'autres informations comme un identifiant de la station de base 31 qui l'a reçu, la puissance mesurée dudit paquet reçu, la date de réception mesurée dudit paquet, la fréquence centrale mesurée dudit paquet reçu, etc. Le serveur 32 traite par exemple l'ensemble des paquets reçus des différentes stations de base 31 .
A) Procédé d'émission de paquets
La figure 2 représente schématiquement les principales étapes d'un procédé 50 d'émission, par un terminal 20 et à destination du réseau d'accès 30, de paquets comportant des données chiffrées selon un protocole de chiffrement à clé symétrique.
Par exemple, le terminal 20 comporte un circuit de traitement (non représenté sur les figures), comportant un ou plusieurs processeurs et des moyens de mémorisation (disque dur magnétique, mémoire électronique, disque optique, etc.) dans lesquels est mémorisé un produit programme d'ordinateur, sous la forme d'un ensemble d'instructions de code de programme à exécuter pour mettre en œuvre les différentes étapes du procédé 50 d'émission de paquets. Alternativement ou en complément, le circuit de traitement 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 œuvre tout ou partie desdites étapes du procédé 50 d'émission de paquets.
En d'autres termes, le circuit de traitement comporte un ensemble de moyens 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 œuvre les étapes du procédé 50 d'émission de paquets à destination du réseau d'accès 30.
Le terminal 20 comporte également des moyens de communication sans fil, considérés comme connus de l'homme de l'art, permettant au terminal 20 d'émettre des paquets, à destination des stations de base 31 du réseau d'accès 30, sous la forme de signaux radioélectriques.
Tel qu'illustré par la figure 2, le procédé 50 d'émission de paquets chiffrés comporte les étapes suivantes, toutes exécutées par le terminal 20, qui seront décrites en détail ci-après :
- 51 détermination de la valeur d'une information de génération,
- 52 détermination d'une clé de chiffrement en fonction de la valeur de l'information de génération,
- 53 chiffrement des données à inclure dans le paquet chiffré à émettre en fonction de la clé de chiffrement,
- 54 calcul d'une information tronquée à partir de l'information de génération,
- 55 calcul d'un code de vérification du paquet chiffré en fonction des données chiffrées et de la première partie de l'information de génération,
- 56 formation du paquet chiffré à émettre à partir de l'information tronquée, du code de vérification, et des données chiffrées.
Ainsi, la clé de chiffrement est déterminée en fonction de la valeur d'une information de génération qui est variable au cours du temps. Par conséquent, la clé de chiffrement change à chaque fois que la valeur de l'information de génération change. Par contre, l'information de génération n'est pas incluse telle quelle dans le paquet chiffré à émettre, et c'est une information tronquée qui est incluse dans le paquet chiffré émis.
L'information de génération peut être toute information variable au
cours du temps qui peut être décomposée en une première partie et une seconde partie, la première partie variant plus lentement que la seconde partie. Par conséquent, la première partie, qui ne varie pas ou peu sur la durée d'émission de plusieurs paquets consécutifs, n'a pas à être incluse dans le paquet chiffré à émettre. Par contre, la seconde partie, qui varie d'un paquet à un autre, est incluse dans le paquet chiffré à émettre sous toute forme adaptée, et l'information tronquée est calculée à partir de ladite seconde partie uniquement, c'est-à-dire sans tenir compte de la première partie.
Par exemple, l'information de génération est la date de génération du paquet chiffré à émettre. La date de génération est par exemple exprimée sous la forme année-mois-jour-heure-minute-seconde, et est donc décomposable en une première partie qui varie lentement, telle que la partie correspondant à année-mois-jour, tandis que la seconde partie, qui varie plus rapidement, est la partie correspondant à heure-minute-seconde. L'information tronquée est donc, dans cet exemple, représentative de la partie correspondant à heure-minute- seconde, et est par exemple calculée à partir de la partie heure-minute- seconde au moyen d'une fonction de calcul inversible et connue a priori du terminal 20 et du réseau d'accès 30.
Dans la suite de la description, on se place de manière non limitative dans le cas où l'information de génération est un compteur de paquets correspondant au nombre de paquets émis par le terminal 20. L'information tronquée est désignée ci-après par « compteur tronqué ».
A.1 ) Détermination de la valeur du compteur de paquets
Au cours de l'étape 51 de détermination, le terminal 20 met à jour la valeur d'un compteur de paquets, qui correspond au nombre de paquets émis par ledit terminal 20.
De préférence, la valeur dudit compteur de paquets est incrémentée à chaque nouvelle émission de paquet. Rien n'exclut cependant, suivant d'autres exemples, de n'incrémenter ladite valeur du compteur de paquets que pour certains paquets. Par exemple, il est possible, afin d'augmenter la probabilité de réception, par le réseau d'accès 30, des données incluses dans un paquet, de dupliquer Nr fois lesdites données afin de les inclure dans Nr paquets émis successivement, par exemple sur des fréquences centrales différentes,
comportant tous les mêmes données. Dans un tel cas, par exemple, il est possible de n'incrémenter la valeur dudit compteur de paquets que tous les Nr paquets, c'est-à-dire uniquement lorsque de nouvelles données doivent être émises par le terminal 20.
Dans la suite de la description, on se place de manière non limitative dans le cas où la valeur du compteur de paquets est incrémentée à chaque nouvelle émission d'un paquet.
La valeur du compteur de paquets est par exemple incrémentée modulo Ne, Ne étant un nombre entier positif prédéterminé. Ainsi, le compteur de paquets du terminal 20 peut prendre Ne valeurs différentes. Par exemple, le nombre Ne est égal à 2Nb1 , Nb1 étant un nombre entier positif prédéterminé, de sorte que la valeur du compteur de paquets peut être encodée au moyen de Nb1 bits. Par exemple, Nb1 est égal à 128, de sorte que le compteur de paquets du terminal 20 peut prendre plus de 1038 valeurs différentes.
A.2) Détermination de la clé de chiffrement
Au cours de l'étape 52 de détermination, la clé de chiffrement, à utiliser pour chiffrer les données à inclure dans le paquet chiffré à émettre, est déterminée en fonction de la valeur du compteur de paquets.
Ainsi, la clé de chiffrement à utiliser est modifiée à chaque fois que la valeur du compteur de paquets est incrémentée. En outre, comme le compteur de paquets peut prendre Ne valeurs différentes, il en résulte que la clé de chiffrement peut également prendre Ne valeurs différentes.
Par conséquent, le nombre Ne est avantageusement prédéterminé de sorte à assurer notamment un bon niveau de confidentialité des échanges. Par exemple, en considérant le nombre Ne égal à 2Nb1 et Nb1 égal à 128, alors la clé de chiffrement peut prendre plus de 1038 valeurs différentes, ce qui permet d'assurer un bon niveau de confidentialité.
La clé de chiffrement est déterminée, à partir de la valeur du compteur de paquets, selon une méthode de génération de clé prédéfinie, connue a priori du terminal 20 et du réseau d'accès 30. L'invention peut mettre en œuvre tout type de méthode de génération de clé adaptée connue de l'homme de l'art, et le choix d'une méthode de génération de clé particulière ne constitue qu'une variante de mise en œuvre de l'invention. En outre, la clé de chiffrement peut
également être déterminée à partir d'informations additionnelles qui, le cas échéant, sont par exemple concaténées avec le compteur de paquets pour obtenir un mot de génération de taille supérieure à celle du seul compteur de paquets. Par exemple, il peut être envisagé de concaténer avec le compteur de paquets une séquence statique générée de manière pseudo-aléatoire, unique pour un terminal 20 donné, et connue a priori par le réseau d'accès 30.
A.3) Chiffrement des données
Au cours de l'étape 53 de chiffrement, les données à inclure dans le paquet chiffré à émettre sont chiffrées en fonction de la clé de chiffrement, selon le protocole de chiffrement à clé symétrique considéré.
De manière générale, l'invention est applicable à tout type de protocole de chiffrement à clé symétrique connu de l'homme de l'art, et le choix d'un protocole de chiffrement à clé symétrique particulier ne constitue qu'une variante d'implémentation de l'invention.
Dans des modes préférés de mise en œuvre, le protocole de chiffrement à clé symétrique utilisé est un protocole de chiffrement de flux (aussi connu sous le terme de chiffrement par flot, « stream cipher » dans la littérature anglo-saxonne) éventuellement émulé à partir d'un protocole de chiffrement par bloc comme l'AES (« Advanced Encryption Standard »).
En effet, contrairement aux protocoles de chiffrement par bloc, un protocole de chiffrement de flux permet de chiffrer des données quelle que soit leur taille par rapport à la taille de la clé de chiffrement. Par conséquent, il est possible de choisir des clés de chiffrement longues, pouvant ainsi prendre un nombre très élevé de valeurs différentes, sans avoir à augmenter d'autant la quantité des données à inclure dans un paquet.
Dans la suite de la description, on se place de manière non limitative dans le cas d'un protocole de chiffrement de flux. De manière conventionnelle, les données se présentent par exemple sous forme de bits, de même que la clé de chiffrement qui comporte au moins Nb1 bits. Les données chiffrées sont par exemple obtenues en combinant un à un les bits successifs des données et de la clé de chiffrement, par exemple au moyen d'une fonction logique de type « OU EXCLUSIF » (« XOR » dans la littérature anglo-saxonne).
A.4) Calcul du compteur tronqué
Au cours de l'étape 54 de calcul, un compteur tronqué est déterminé à partir de la valeur du compteur de paquets du terminal 20.
A cet effet, tel qu'indiqué précédemment, le compteur de paquets est décomposé en un première partie et une seconde partie.
Par exemple, la seconde partie du compteur de paquets correspond à la valeur dudit compteur de paquets modulo Nt, Nt étant un nombre entier positif prédéterminé inférieur à Ne. En d'autres termes, la seconde partie correspond au reste de la division euclidienne de la valeur du compteur de paquets par Nt, tandis que la première partie correspond au quotient de ladite division euclidienne de la valeur du compteur de paquets par Nt.
Par exemple, le nombre Nt est égal à 2Nb2, Nb2 étant un nombre entier positif prédéterminé inférieur à Nb1 , de sorte que la seconde partie correspond alors aux Nb2 bits de poids faible (« Least Significant Bits » ou LSB dans la littérature anglo-saxonne) parmi les Nb1 bits du compteur de paquets. Par exemple, Nb2 est égal à 12, de sorte que la seconde partie correspond à la valeur du compteur de paquets modulo 4096. Le nombre Nt peut par exemple être choisi de telle sorte que la probabilité, pour le réseau d'accès 30, de manquer Nt paquets consécutifs émis par le même terminal 20 est inférieure à une valeur seuil prédéfinie, par exemple inférieure à 10"6.
Le compteur tronqué est représentatif de la seconde partie du compteur de paquets, et est par exemple calculé à partir de ladite seconde partie selon une fonction de calcul inversible connue a priori du terminal 20 et du réseau d'accès 30. Dans la suite de la description, on se place de manière non limitative dans le cas où le compteur tronqué est choisi égal à la seconde partie, de sorte que ledit compteur tronqué correspond à la valeur du compteur de paquets modulo Nt.
A.5) Calcul du code de vérification
Au cours de l'étape 55 de calcul, un code de vérification est déterminé à partir des données chiffrées et de la première partie du compteur de paquets.
En effet, le réseau d'accès 30 doit, lors de la réception d'un paquet chiffré émis par le terminal 20, estimer la valeur de la première partie du compteur de paquets pour ledit paquet chiffré afin d'en déduire, à partir du compteur tronqué, la valeur de l'information de génération, et ainsi pouvoir
déterminer la clé de déchiffrement pour pouvoir déchiffrer les données chiffrées contenues dans ledit paquet chiffré.
Le code de vérification, qui est calculé par le terminal 20 en fonction des données chiffrées et de la première partie du compteur de paquets, est alors utilisé par le réseau d'accès 30 pour évaluer l'intégrité du paquet chiffré. Si le paquet chiffré est considéré comme intègre, alors cela signifie que les données chiffrées extraites du paquet chiffré et la valeur estimée de la première partie du compteur de paquets sont correctes. Dans le cas contraire, cela signifie que les données chiffrées extraites du paquet chiffré et/ou la valeur estimée de la première partie du compteur de paquets ne sont pas correctes.
L'utilisation d'un tel code de vérification, calculé en fonction de la première partie de l'information tronquée qui n'est pas incluse dans le paquet chiffré, permet donc de vérifier la valeur de la première partie du compteur de paquets estimée par le réseau d'accès 30, et permet donc d'éviter le cas où les données chiffrées d'un paquet chiffré seraient déchiffrées à partir d'une clé de déchiffrement erronée du fait d'une erreur dans l'estimation de la première partie du compteur de paquets.
Différentes méthodes plus ou moins robustes sont connues de l'homme de l'art pour vérifier l'intégrité de données, comme par exemple l'utilisation d'un bit de parité, ou un contrôle de redondance cyclique (CRC). Dans la suite de la description, on se place de manière non limitative dans le cas où le code de vérification est un Code d'Authentification de Message ou CAM (« Message Authentication Code » ou MAC dans la littérature anglo- saxonne) calculé en fonction en outre d'une clé d'authentification du terminal 20 qui est également connue a priori par le réseau d'accès 30.
Il est en effet courant, dans un système de communication, d'utiliser un code d'authentification de message pour vérifier simultanément l'authenticité d'un paquet reçu et l'intégrité des données contenues dans ce paquet. Dans notre exemple, comme ce code est calculé en fonction en outre de la première partie du compteur de paquets, il permet également, sans augmenter la quantité d'informations à inclure dans le paquet chiffré, de vérifier au niveau du réseau d'accès 30 l'estimation de la première partie du compteur
de paquets d'un paquet reçu. Ainsi, un tel code de vérification permet au réseau d'accès 30 :
- de vérifier l'intégrité des données chiffrées reçues ;
- de vérifier la valeur estimée de la première partie du compteur de paquets ;
- d'authentifier le terminal 20 qui a émis le paquet chiffré.
A.6) Formation du paquet chiffré à émettre
Au cours de l'étape 56 de formation, le paquet chiffré à émettre est formé à partir des données chiffrées, du code de vérification, et du compteur tronqué. En d'autres termes, la valeur du compteur de paquets n'est pas incluse dans le paquet chiffré à émettre, qui ne comporte que le compteur tronqué.
On comprend donc que la quantité d'informations incluses, dans le paquet chiffré, pour encoder le compteur tronqué est inférieure à celle nécessaire pour encoder la valeur du compteur de paquets, puisque le compteur tronqué correspond par exemple aux Nb2 bits de poids faible parmi les Nb1 bits du compteur de paquets. Par conséquent, les (Nb1 - Nb2) bits de poids fort (« Most Significant Bits » ou MSB dans la littérature anglo-saxonne) du compteur de paquets, qui correspondent à la première partie dudit compteur de paquets, ne sont pas inclus dans le paquet chiffré à émettre, ce qui correspond à 1 1 6 bits non inclus dans le cas où Nb1 est égal à 128 et où Nb2 est égal à 12.
Ainsi, il est possible d'assurer un bon niveau de confidentialité, par le choix d'une valeur Ne élevée, tout en limitant la quantité d'informations à inclure dans le paquet chiffré, par le choix d'une valeur Nt significativement inférieure.
Le paquet chiffré ainsi formé est ensuite émis, par le terminal 20, à destination du réseau d'accès 30.
A.7) Variante de mise en œuyre utilisant un paquet de recalaqe
La figure 3 représente les principales étapes d'une variante de mise en œuvre du procédé 50 d'émission comportant, outre les étapes décrites ci-avant en référence à la figure 2, une étape 56 de formation d'un paquet de recalage à partir d'une information de recalage représentative de la première partie du
compteur de paquets.
Ce paquet de recalage peut être émis de manière récurrente, par exemple de manière périodique, ou bien à chaque fois que la valeur de la première partie du compteur de paquets varie, ou à chaque fois que le terminal 20 émet un nombre prédéterminé de paquets chiffrés, etc.
Comme cela sera expliqué plus en détail par la suite, l'information de recalage permet, lors de la réception d'un paquet chiffré par le réseau d'accès 30, d'améliorer l'estimation de la valeur de la première partie du compteur de paquets.
Il est à noter que le compteur de paquets du terminal 20 peut ne compter que les paquets chiffrés, tout comme il peut également compter l'ensemble des paquets émis, en incluant les paquets de recalage. Ce choix de comportement du compteur de paquets ne constitue qu'une variante de mise en œuvre de l'invention.
Il est à noter également que le paquet de recalage peut ne comporter que l'information de recalage, tout comme il peut également comporter d'autres informations, comme par exemple des données chiffrées, ou la seconde partie du compteur de paquets (par exemple si le compteur de paquets est incrémenté lors de l'émission d'un paquet de recalage).
Dans la suite de la description, on se place de manière non limitative dans le cas où ;
- l'information de recalage est la première partie du compteur de paquets, c'est-à-dire les (Nb1 - Nb2) bits de poids fort du compteur de paquets dans l'exemple considéré,
- un paquet de recalage est émis à chaque fois que le compteur a été incrémenté Nt fois exactement, c'est-à-dire à chaque fois que la seconde partie du compteur de paquets (les Nb2 bits de poids faible) repasse à zéro, c'est-à-dire aussi à chaque fois que la première partie du compteur de paquets (les (Nb1 - Nb2) bits de poids fort) est incrémentée,
- le compteur de paquets du terminal 20 est incrémenté lors de l'émission d'un paquet de recalage.
Pour permettre au réseau d'accès 30 de discriminer les différents
types de paquets reçus (paquet chiffré, paquet de recalage, ou autre), une information permettant d'identifier le type de paquet peut être incluse dans le paquet. Cet aspect sort du cadre de l'invention.
B) Procédé d'extraction des données incluses dans le paquet
La figure 4 représente schématiquement les principales étapes d'un procédé 60 d'extraction, par le réseau d'accès 30, de données incluses dans un paquet reçu d'un terminal 20, ledit paquet ayant été émis conformément à un procédé 50 d'émission selon l'un des modes de mise en œuvre de l'invention. Dans la suite de la description, on désigne le paquet chiffré à partir duquel on cherche à extraire des données par « paquet chiffré en cours », afin de le distinguer d'autres paquets précédemment reçus du même terminal 20.
Tel qu'illustré par la figure 4, le procédé 60 d'extraction de données comporte les étapes suivantes, qui seront décrites en détail ci-après :
- 61 extraction, à partir du paquet chiffré en cours, de l'information tronquée, du code de vérification, et des données chiffrées incluses dans le paquet chiffré en cours,
- 62 estimation d'une valeur candidate pour la première partie de l'information de génération du terminal 20 pour le paquet chiffré en cours en fonction de l'information tronquée extraite du paquet chiffré en cours,
- 63 évaluation d'intégrité du paquet chiffré en cours en fonction de la valeur candidate estimée, des données chiffrées, et du code de vérification extraits dudit paquet chiffré en cours,
- lorsque le paquet chiffré en cours est considéré comme intègre :
o 64 détermination d'une clé de déchiffrement en fonction de la valeur de l'information de génération du terminal 20 estimée pour le paquet chiffré en cours,
o 65 déchiffrement des données chiffrées extraites du paquet chiffré en cours en fonction de la clé de déchiffrement.
II est à noter que les étapes représentées par la figure 4 sont toutes mises en œuvre par le réseau d'accès 30.
Dans l'exemple décrit en référence à la figure 1 , dans lequel le réseau d'accès 30 comporte une pluralité de stations de base 31 et un serveur 32, le
paquet chiffré en cours, à partir duquel on cherche à extraire les données, est initialement reçu par une ou plusieurs stations de base 31 .
Chaque station de base 31 comporte à cet effet des moyens de communication sans fil, considérés comme connus de l'homme de l'art, permettant à ladite station de base de recevoir des paquets émis par un ou plusieurs terminaux 20 sous la forme de signaux radioélectriques.
Par contre, les étapes du procédé 60 d'extraction de données, représentées sur la figure 4, peuvent être exécutées par la ou les stations de base 31 ayant reçu le paquet chiffré en cours et/ou par le serveur 32.
Dans la suite de la description, on se place de manière non limitative dans le cas où les étapes listées ci-dessus sont toutes mises en œuvre par le serveur 32, après avoir reçu le paquet chiffré en cours de la ou des stations de base 31 ayant initialement reçu ledit paquet chiffré en cours sur le lien montant.
A cet effet, les stations de base 31 et le serveur 32 comportent des moyens de communication de réseau respectifs, considérés comme connus de l'homme de l'art, permettant aux stations de base 31 de transmettre chaque paquet reçu au serveur 32.
Le serveur 32 comporte par exemple un circuit de traitement (non représenté sur les figures), comportant un ou plusieurs processeurs et des moyens de mémorisation (disque dur magnétique, mémoire électronique, disque optique, etc.) dans lesquels est mémorisé un produit programme d'ordinateur, sous la forme d'un ensemble d'instructions de code de programme à exécuter pour mettre en œuvre les différentes étapes du procédé 60 d'extraction de données. Alternativement ou en complément, le circuit de traitement 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 œuvre tout ou partie desdites étapes du procédé 60 d'extraction de données.
En d'autres termes, le circuit de traitement comporte un ensemble de moyens 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 œuvre les étapes du procédé 60 d'extraction de données à partir du paquet chiffré en cours reçu du terminal 20.
Tel qu'indiqué précédemment, différents types d'information de génération peuvent être considérés. Dans la suite de la description, on se place de manière non limitative dans le cas où l'information de génération est le compteur de paquets du terminal 20. On se place en outre dans le cas où l'information tronquée incluse par le terminal 20 dans le paquet émis est un compteur tronqué qui correspond à la valeur dudit compteur de paquets modulo Nt. En d'autres termes, le compteur tronqué est égal à la seconde partie du compteur de paquets du terminal 20. Pour les autres cas, dans lesquels le compteur tronqué n'est pas directement égal à la seconde partie du compteur de paquets, il suffit, pour obtenir ladite seconde partie du compteur de paquets, d'appliquer sur le compteur tronqué du paquet chiffré en cours la fonction inverse de la fonction de calcul utilisée par le terminal 20.
B.1 ) Extraction du compteur tronqué, du code de vérification, et des données chiffrées
Au cours de l'étape 61 d'extraction, le serveur 32 extrait du paquet chiffré en cours le compteur tronqué, le code de vérification, et les données chiffrées. L'extraction du compteur tronqué, du code de vérification, et des données chiffrées dépend de la manière dont ils ont été incorporés dans le paquet chiffré en cours, et sort du cadre de l'invention.
B.2) Estimation d'une valeur candidate de la première partie du compteur de paquets
Au cours de l'étape 62 d'estimation, le serveur 32 estime une valeur candidate de la première partie du compteur de paquets du terminal 20 qui a émis le paquet chiffré en cours.
En effet, tel qu'indiqué précédemment, le paquet chiffré en cours comporte uniquement le compteur tronqué du terminal 20 qui l'a émis, et ne comporte donc pas entièrement la valeur du compteur de paquets dudit terminal 20, puisque le compteur tronqué correspond uniquement aux Nb2 bits de poids faible parmi les Nb1 bits du compteur de paquets.
Toutefois, étant donné que la clé de chiffrement, utilisée par ledit terminal 20 pour chiffrer les données incluses dans le paquet chiffré en cours, a été déterminée en fonction de la valeur du compteur de paquets dudit terminal 20, le serveur 32 doit estimer la valeur de la première partie dudit compteur de
paquets du terminal 20 pour en déduire la valeur complète du compteur de paquets, et ainsi pouvoir déterminer à son tour la clé de déchiffrement à utiliser, qui est identique à la clé de chiffrement.
En pratique, le serveur 32 peut estimer la valeur de la première partie du compteur de paquets du terminal 20 lors de l'émission du paquet chiffré en cours, en fonction :
- du compteur tronqué extrait dudit paquet chiffré en cours et
- de la valeur de la première partie du compteur de paquets dudit terminal 20 estimée et vérifiée pour un paquet précédent reçu du même terminal 20.
Par « paquet précédent reçu », il est entendu le dernier paquet reçu du terminal 20 avant le paquet chiffré en cours, parmi les paquets pour lesquels le compteur de paquets du terminal 20 est incrémenté, et pour lequel la valeur de la première partie du compteur de paquets a pu être estimée et vérifiée. Il est à noter qu'il peut donc s'agir d'un autre paquet chiffré, ou d'un autre type de paquet comme par exemple un paquet de recalage.
Ainsi, le serveur 32 mémorise la valeur estimée de la première partie du compteur de paquets utilisée par le terminal 20 lors de l'émission du paquet précédent reçu dudit terminal 20, et met à jour la valeur estimée de ladite première partie du compteur de paquets à chaque fois qu'un nouveau paquet est reçu dudit terminal 20. Pour initialiser ce processus, il est par exemple possible de forcer le terminal 20 à utiliser une valeur initiale prédéfinie de la première partie du compteur de paquets lors de sa toute première émission de paquet, de préférence égale à zéro. Le cas échéant, le serveur 32 considère, lorsqu'il reçoit pour la première fois un paquet émis par ce terminal 20 (qui n'est pas nécessairement le premier paquet émis par le terminal 20 si certains paquets ont été manqués par le réseau d'accès 30), que la valeur estimée de la première partie du compteur de paquets pour le paquet précédent reçu du même terminal 20 est égale à ladite valeur initiale prédéfinie.
A partir de la valeur de la première partie du compteur de paquets estimée pour le paquet précédent reçu du terminal 20, et à partir du compteur tronqué extrait du paquet chiffré en cours, il est alors possible pour le serveur 32 d'estimer la valeur dudit compteur de paquets dudit terminal 20 pour le
paquet chiffré en cours.
Par exemple, la valeur de la première partie du compteur de paquets du terminal 20 pour le paquet chiffré en cours est estimée selon l'expression suivante :
C1(n) = (C1(n - l)+ k) modulo 2(Nb1 "Nb2) et la valeur du compteur de paquets du terminal 20 pour le paquet chiffré en cours est estimée selon l'expression suivante :
C(n) = (C1(n) Nt + C2(n))
expressions dans lesquelles :
- C(n) correspond à la valeur du compteur de paquets du terminal 20 estimée pour le paquet chiffré en cours,
- C-i(n) correspond à la première partie du compteur de paquets pour le paquet chiffré en cours,
- C2(n) correspond au compteur tronqué extrait du paquet chiffré en cours,
- Ci(n-1 ) correspond à la valeur de la première partie du compteur de paquets du terminal 20 estimée et vérifiée pour le paquet précédent,
- k est un nombre entier à déterminer.
Dans notre exemple, la valeur k correspond au nombre de retours à zéro de la seconde partie du compteur de paquets du terminal 20 depuis le paquet précédent reçu. En effet, la valeur de la première partie du compteur de paquets (correspondant aux (Nb1 - Nb2) bits de poids fort du compteur) est incrémentée à chaque fois que la valeur de la seconde partie du compteur de paquets (la partie tronquée, correspondant aux Nb2 bits de poids faible du compteur) repasse à zéro.
Par exemple, il est possible de considérer d'office que le nombre de paquets éventuellement manqués par le réseau d'accès 30, entre le paquet chiffré en cours et le paquet précédent reçu du même terminal 20, est inférieur à Nt.
Dans ce cas, si le compteur tronqué du paquet chiffré en cours est supérieur au compteur tronqué du paquet précédent, alors le nombre k est égal
à zéro (k = 0). Pour obtenir la valeur estimée du compteur de paquets pour le paquet chiffré en cours, il suffit de remplacer, dans la valeur du compteur de paquets estimée pour le paquet précédent, les Nb2 bits de poids faible par les Nb2 bits du compteur tronqué extrait du paquet chiffré en cours.
Par contre, si le compteur tronqué du paquet chiffré en cours est inférieur au compteur tronqué du paquet précédent, alors le nombre k est égal à un (k = 1 ), car il y a eu un retour à zéro. Pour obtenir la valeur estimée du compteur de paquets pour le paquet chiffré en cours, il faut alors remplacer, dans la valeur du compteur de paquets estimée pour le paquet précédent, les Nb2 bits de poids faible par les Nb2 bits du compteur tronqué extrait du paquet chiffré en cours, mais également ajouter un (1 ) aux (Nb1 - Nb2) bits de poids fort de la valeur du compteur de paquets estimée pour le paquet précédent.
La figure 5 représente les principales étapes d'une variante de mise en œuvre du procédé 60 d'extraction de données comportant, outre les étapes décrites ci-avant en référence à la figure 4, une étape 66 d'extraction, à partir d'un paquet de recalage, d'une information de recalage représentative de la première partie du compteur de paquets.
En effet, l'estimation de la valeur de la première partie du compteur de paquets d'un paquet chiffré en cours peut être erronée, notamment dans le cas où un grand nombre, par exemple supérieur à Nt, de paquets consécutifs seraient manqués par le réseau d'accès. Une telle erreur est d'autant plus grave qu'elle entraîne une erreur d'estimation pour tous les paquets suivants.
Il convient donc de corriger cette situation où la valeur mémorisée par le serveur 32 d'une valeur estimée de la première partie du compteur de paquets du terminal 20 est « désynchronisée » avec la valeur réelle de la première partie du compteur de paquets du terminal 20 pour un paquet donné. C'est l'objectif du paquet de recalage.
En effet l'information de recalage incluse dans le paquet de recalage est représentative de la première partie du compteur de paquets. Elle doit permettre en conséquence de déterminer avec une bonne précision la valeur de la première partie du compteur de paquets. Au mieux, et comme c'est le cas dans le mode de mise en œuvre décrit, elle permet de déterminer sans erreur la valeur de la première partie du compteur de paquets. De manière générale,
la valeur de l'information de génération pour un paquet chiffré en cours peut être estimée en concaténant la première partie de l'information de génération déterminée à l'aide de l'information de recalage, avec l'information tronquée extraite du paquet chiffré en cours.
Dans le mode de mise en œuvre considéré, décrit à titre d'exemple non limitatif, l'information de recalage est la première partie du compteur de paquets, un paquet de recalage est émis à chaque fois que le compteur de paquets du terminal 20 a été incrémenté Nt fois exactement, c'est-à-dire à chaque fois que la première partie du compteur change, et le compteur de paquets du terminal 20 est incrémenté à chaque émission d'un paquet de recalage. Il est donc aisé, à la réception d'un paquet de recalage, de déterminer la valeur du compteur de paquets du terminal 20 puisqu'elle correspond, pour ses (Nb1 - Nb2) bits de poids fort, à la valeur de l'information de recalage, et pour ses Nb2 bits de poids faible, à une valeur nulle. En conséquence, un paquet de recalage peut jouer le rôle d'un « paquet précédent reçu » pour lequel la valeur du compteur de paquets a été déterminée sans erreur.
Lors de la réception d'un paquet de recalage, une « désynchronisation » peut être détectée si la valeur de la première partie du compteur de paquets estimée pour le paquet de recalage à partir d'un paquet précédent est différente de la valeur de la première partie du compteur de paquets déterminée à partir de l'information de recalage. Le système 10 est alors resynchronisé pour le terminal 20 en réinitialisant la valeur de la première partie du compteur de paquets du terminal 20 mémorisée par le serveur 32 avec la valeur de l'information de recalage.
B.3) Evaluation de l'intégrité du paquet chiffré en cours
La figure 6 détaille un mode préféré de mise en œuvre de l'étape 63 d'évaluation d'intégrité du paquet chiffré en cours.
Tel qu'illustré par la figure 6, l'étape 63 comporte une étape 631 de calcul d'un code de vérification à partir des données chiffrées et de la valeur candidate estimée de la première partie du compteur de paquets. Ce calcul est effectué selon la même méthode que celle utilisée par le terminal 20 pour calculer le code de vérification à l'émission du paquet chiffré.
L'étape 63 comporte ensuite une étape 632 de comparaison du code de vérification calculé par le serveur 32 avec le code de vérification extrait du paquet chiffré en cours, il est possible d'évaluer l'intégrité du paquet chiffré en cours. Le paquet chiffré n'est considéré comme intègre que si le code de vérification extrait du paquet chiffré en cours et le code de vérification calculé sont identiques.
Si le paquet chiffré en cours est considéré comme intègre, alors la valeur candidate estimée de la première partie du compteur de paquets est jugée correcte, et le serveur 32 peut exécuter l'étape 64 de détermination de la clé de déchiffrement, et l'étape 65 de déchiffrement des données chiffrées.
Si le paquet chiffré en cours n'est pas considéré comme intègre, alors la valeur candidate estimée de la première partie du compteur de paquets est jugée incorrecte, et il n'est en conséquence pas possible de déterminer la clé de déchiffrement. Dans ce cas, le paquet chiffré en cours peut par exemple être simplement ignoré, ou bien il peut éventuellement être mémorisé pour repasser ultérieurement par une nouvelle étape d'estimation d'une valeur candidate de la première partie du compteur de paquets, par exemple suite à la réception d'un paquet de recalage.
Dans le mode de mise en œuvre considéré, décrit à titre d'exemple non limitatif, le code de vérification est un Code d'Authentification de Message ou CAM (« Message Authentication Code » ou MAC dans la littérature anglo- saxonne) calculé en fonction en outre d'une clé d'authentification qui est connue à la fois par le terminal 20 et par le serveur 32. Le serveur 32 peut par exemple déterminer la clé d'authentification à utiliser grâce à une information incluse dans le paquet chiffré en cours qui permet d'identifier de manière unique le terminal 20 qui a émis le paquet. De manière plus générale, la détermination, par le serveur 32, de la clé d'authentification à utiliser peut mettre en œuvre toute méthode connue de l'homme de l'art et sort du cadre de l'invention.
Dans un tel cas, le code de vérification permet de vérifier simultanément l'authenticité du paquet chiffré en cours, l'intégrité des données chiffrées contenues dans ce paquet chiffré, et aussi la valeur candidate
estimée de la première partie du compteur de paquets du paquet chiffré en cours.
B.4) Détermination de la clé de déchiffrement
Au cours de l'étape 64 de détermination, le serveur 32 détermine la clé de déchiffrement à utiliser pour déchiffrer les données chiffrées extraites du paquet chiffré en cours.
La valeur du compteur de paquets du terminal 20 pour le paquet chiffré en cours est déduite à partir de la valeur candidate estimée et vérifiée de la première partie, et à partir de l'information tronquée. La clé de déchiffrement est ensuite déterminée, à partir de la valeur du compteur de paquets du terminal 20 pour le paquet chiffré en cours, selon la même méthode de génération de clé que celle utilisée par le terminal 20 pour générer la clé de chiffrement. En l'absence d'erreurs, la clé de déchiffrement est donc identique à la clé de chiffrement.
B.5) Déchiffrement des données chiffrées
Au cours de l'étape 65 de déchiffrement, le serveur 32 déchiffre les données chiffrées extraites du paquet chiffré en cours, en fonction de la clé de déchiffrement obtenue à l'issue de l'étape 64 de détermination.
Le déchiffrement des données chiffrées dépend du protocole de chiffrement à clé symétrique considéré, et sort du cadre de l'invention. Par exemple, dans le cas d'un protocole de chiffrement de flux dans lequel les données chiffrées sont obtenues en combinant un à un les bits successifs des données et de la clé de chiffrement au moyen d'une fonction logique de type « OU EXCLUSIF », alors les données non chiffrées sont obtenues également en combinant un à un les bits successifs des données chiffrées et de la clé de déchiffrement au moyen d'une fonction logique de type « OU EXCLUSIF ». B.6) Estimation de plusieurs valeurs candidates
La figure 7 représente les principales étapes d'une variante de mise en œuvre du procédé 60 d'extraction de données comportant, outre les étapes décrites ci-avant en référence à la figure 5, l'estimation et la vérification de plusieurs valeurs candidates de la première partie du compteur de paquets jusqu'à ce qu'un critère d'arrêt soit vérifié.
Ainsi, un ensemble de plusieurs valeurs candidates de la première partie du compteur de paquets du paquet chiffré en cours est défini, et chaque valeur candidate estimée est vérifiée itérativement à l'aide du code de vérification. Le critère d'arrêt est par exemple vérifié lorsque, pour une valeur candidate donnée, l'intégrité du paquet chiffré en cours est vérifiée, ou bien dès que l'ensemble des valeurs candidates est épuisé sans qu'aucune valeur candidate n'ait pu permettre de considérer le paquet chiffré en cours comme intègre.
Cette variante de mise en œuvre permet de pallier la possibilité qu'un grand nombre, par exemple supérieur à Nt, de paquets consécutifs soient manqués par le réseau d'accès 30. En effet, dans un tel cas l'estimation de la valeur candidate de la première partie du compteur de paquets pour le paquet chiffré en cours telle qu'elle a été présentée dans la section B.3 est fausse, et il est alors avantageux d'estimer plusieurs valeurs candidates différentes de la première partie du compteur de paquets, afin de permettre l'extraction des données.
Dans le mode de mise en œuvre considéré, et décrit à titre d'exemple non limitatif, la variable k introduite dans la section B.3 représente, pour un paquet chiffré en cours, le nombre de retours à zéro de la seconde partie du compteur de paquets du terminal 20 depuis le dernier paquet précédent reçu pour lequel la valeur de la première partie du compteur de paquets a pu être estimée et vérifiée.
Pour obtenir différentes valeurs candidates, il est possible d'incrémenter itérativement la valeur de k, en partant d'une valeur nulle, et de procéder ainsi jusqu'à ce que l'intégrité du paquet chiffré en cours soit vérifiée pour une valeur candidate donnée.
Le paquet chiffré en cours peut cependant être considéré comme n'étant pas intègre suite à une erreur de transmission altérant les données chiffrées (par exemple due à des interférences) ou bien si une mauvaise clé d'authentification a été utilisée. Dans un tel cas, il serait fâcheux d'itérer indéfiniment sur des valeurs candidates pour lesquelles le paquet chiffré ne pourra pas être considéré comme intègre. Aussi, il convient de borner l'ensemble des valeurs candidates possibles.
Pour ce faire, il est par exemple possible de définir la fréquence maximale à laquelle le terminal 20 peut émettre des paquets à destination du réseau d'accès 30. En mémorisant la date de réception du dernier paquet reçu, et en calculant le nombre maximum de paquets qui auraient pu être émis par le terminal 20 depuis cette date à la date de réception du paquet chiffré en cours, il est possible de définir le nombre maximum de retours à zéro qu'aurait pu faire la seconde partie du compteur de paquets du terminal 20 pendant cette période de temps selon l'expression suivante :
expression dans laquelle :
- t(n-1 ) est la date de réception du paquet précédent,
- t(n) est la date de réception du paquet courant,
- Fmax est la fréquence maximale d'émission de paquets,
- E[x] correspond à la partie entière de x,
- kmax est le nombre maximal de retours à zéro de la seconde partie du compteur de paquets du terminal 20 pendant la période de temps entre t(n-1 ) et t(n).
L'ensemble des valeurs candidates de la première partie du compteur de paquets à considérer est alors défini par :
C1(n) = (C1(n - l)+ k) modulo 2(Nb1 "Nb2), avec k variant entre 0 et kmax.
On comprend cependant qu'il existe d'autres méthodes pour définir un ensemble de valeurs candidates de la première partie du compteur de paquets. En particulier, il est par exemple possible d'estimer la valeur la plus probable de la première partie du compteur de paquets en fonction d'un temps moyen d'émission de paquets par le terminal 20. D'autres valeurs candidates peuvent ensuite être définies à partir de la valeur la plus probable, et vérifiées itérativement par ordre décroissant de probabilité. Le choix d'une méthode particulière ne constitue qu'une variante d'implémentation de l'invention.
En effet, bien que, dans l'exemple considéré ici à titre non limitatif, les terminaux 20 émettent leurs paquets de manière asynchrone, lesdits terminaux 20 peuvent néanmoins émettre leurs paquets avec une certaine régularité. Par
exemple, un terminal 20 peut émettre un nombre prédéterminé de paquets par jour, sans toutefois émettre lesdits paquets de manière strictement périodique. Dans un tel cas, lesdits paquets seront néanmoins émis, en moyenne, de manière sensiblement périodique. Dans un tel cas, notamment, il est avantageux d'estimer la période d'émission moyenne entre les émissions de paquets consécutifs par ledit terminal 20, car celle-ci peut permettre d'améliorer l'estimation de la valeur de la première partie du compteur de paquets.
Par exemple, la période d'émission moyenne dudit terminal 20 est calculée selon l'expression suivante :
expression dans laquelle :
- Tem correspond à la période d'émission moyenne estimée pour le terminal 20,
- C(m) correspond à la valeur du compteur de paquets du terminal
20 estimée pour le paquet de rang m reçu dudit terminal 20,
- t(m) correspond à la date de réception mesurée pour le paquet de rang m reçu dudit terminal 20,
- C(m-1 ) correspond à la valeur du compteur de paquets du terminal 20 estimée pour le paquet de rang (m-1 ) reçu dudit terminal 20,
- t(m-1 ) correspond à la date de réception mesurée pour le paquet de rang (m-1 ) reçu dudit terminal 20,
- M correspond au nombre total de paquets reçus dudit terminal 20. Une fois estimée la période d'émission moyenne du terminal 20, la valeur notée kpr0b la plus probable pour calculer la première partie du compteur de paquets pour le paquet chiffré en cours est par exemple estimée selon l'expression suivante :
expression dans laquelle (t(n) - t(n-1 )) correspond à la durée écoulée entre la date de réception du paquet chiffré en cours et la date de réception du paquet
précédent, et p est un nombre entier qui est déterminé comme suit :
- p = 0 si C2(n) > C2(n-1 ),
- p = 1 si C2(n) < C2(n-1 ).
Les valeurs candidates à itérer peuvent alors être, par exemple, définies par l'ensemble :
k = kprob ± i, i N, k≥0, k≤ kprob + kmax
B.7) Autres types d'information de génération
Dans les exemples de mise en œuvre du procédé 60 d'extraction décrits ci-dessus, on a considéré de manière non limitative le cas où l'information de génération est le compteur de paquets du terminal 20.
Toutefois, tel qu'indiqué précédemment, d'autres types d'information de génération peuvent être considérés, et le choix d'un type particulier d'information de génération, variable au cours du temps, ne constitue qu'une variante de mise en œuvre de l'invention.
On comprend également que l'estimation de la valeur de la première partie de l'information de génération du terminal 20 pour le paquet chiffré en cours peut dépendre du type d'information de génération considéré.
Par exemple, dans le cas où l'information de génération correspond au compteur de paquets du terminal 20, l'estimation de la première partie de la valeur dudit compteur de paquets du terminal 20 pour le paquet chiffré en cours tient avantageusement compte de la valeur de la première partie dudit compteur de paquets estimée pour le paquet précédent reçu du même terminal
20.
Dans le cas où l'information de génération considérée correspond à la date de génération, par le terminal 20, du paquet à émettre, alors il n'est pas nécessaire de tenir compte de la valeur de la première partie de la date de génération estimée pour le paquet précédent reçu du même terminal 20, et la valeur de la première partie de la date de génération du paquet chiffré en cours par le terminal 20 est par exemple estimée en fonction de la date de réception dudit paquet chiffré en cours. En effet, la date de génération du paquet chiffré en cours par le terminal 20 et la date de réception dudit paquet chiffré en cours par le réseau d'accès 30 ont en principe des premières parties respectives
sensiblement identiques, et diffèrent principalement par leurs secondes parties respectives. Etant donné que l'information tronquée extraite du paquet chiffré en cours est représentative de la seconde partie de la date de génération dudit paquet chiffré en cours par le terminal 20, on comprend qu'il est possible d'estimer la valeur de la date de génération dudit paquet chiffré en cours en fonction de l'information tronquée extraite dudit paquet chiffré en cours et en fonction de la date de réception dudit paquet chiffré en cours par le réseau d'accès 30. Par exemple, la valeur de la date de génération du paquet chiffré en cours est obtenue en combinant la première partie de la date de réception du paquet chiffré en cours avec la seconde partie de la date de génération déterminée à partir de l'information tronquée extraite dudit paquet chiffré en cours.
L'utilisation d'une date de génération de paquet comme information de génération suppose néanmoins que les dates courantes du terminal 20 et du réseau d'accès 30 sont synchronisées avec une précision suffisante.
De manière plus générale, il est à noter que les modes de mise en œuvre et de réalisation considérés ci-dessus ont été décrits à titre d'exemples non limitatifs, et que d'autres variantes sont par conséquent envisageables.
Notamment, l'invention a été décrite en considérant uniquement des paquets émis sur le lien montant, depuis les terminaux 20 vers le réseau d'accès 30. L'invention est cependant applicable, alternativement ou en complément, sur un lien descendant depuis le réseau d'accès 30 vers les terminaux 20. En d'autres termes, l'invention est applicable de manière plus générale à l'émission, par un dispositif émetteur, d'un paquet comportant des données chiffrées et à l'extraction, par un dispositif récepteur, des données incluses dans un tel paquet.
En outre, l'invention a été décrite en considérant un système 10 de communication sans fil UNB. Rien n'exclut cependant, suivant d'autres exemples, de considérer d'autres types de systèmes de communication, y compris des systèmes de communication filaires. L'invention trouve cependant une application particulièrement avantageuse dans les systèmes de communication sans fil bas débit, c'est-à-dire de débit inférieur à 1 kilobit/s.
Claims
REVENDICATIONS
Procédé (50) d'émission, par un dispositif émetteur (20), de paquets à destination d'un dispositif récepteur (30) d'un système de communication, caractérisé en ce qu'il comporte, pour l'émission d'un paquet, dit « paquet chiffré », comportant des données chiffrées selon un protocole de chiffrement à clé symétrique :
- une détermination (51 ) de la valeur d'une information de génération,
- une détermination (52) d'une clé de chiffrement, à utiliser pour chiffrer les données à inclure dans le paquet chiffré à émettre, en fonction de la valeur de l'information de génération,
- un chiffrement (53) des données à inclure dans le paquet chiffré à émettre en fonction de la clé de chiffrement,
- un calcul (54) d'une information tronquée en décomposant l'information de génération en une première partie et une seconde partie, la première partie variant plus lentement, au cours du temps, que la seconde partie, l'information tronquée étant représentative de la seconde partie de l'information de génération,
- un calcul (55) d'un code de vérification du paquet chiffré en fonction des données chiffrées et de la première partie de l'information de génération,
- une formation (56) du paquet chiffré à émettre à partir de l'information tronquée, du code de vérification et des données chiffrées.
Procédé (50) selon la revendication 1 , dans lequel le code de vérification est calculé en fonction en outre d'une clé d'authentification du dispositif émetteur (20).
Procédé selon l'une des revendications précédentes, comportant en outre une formation (57) et une émission d'un paquet, dit « paquet de recalage », incluant une information de recalage représentative de la première partie de l'information de génération.
Procédé (50) selon l'une des revendications précédentes, dans lequel l'information de génération est un compteur de paquets correspondant au
nombre de paquets émis par ledit dispositif émetteur (20) ou une date de génération du paquet à émettre.
Dispositif émetteur (20) pour émettre des paquets à destination d'un dispositif récepteur (30) d'un système de communication, caractérisé en ce qu'il comporte, pour l'émission d'un paquet, dit « paquet chiffré », comportant des données chiffrées selon un protocole de chiffrement à clé symétrique :
- des moyens configurés pour déterminer la valeur d'une information de génération,
- des moyens configurés pour déterminer une clé de chiffrement, à utiliser pour chiffrer les données à inclure dans le paquet chiffré à émettre, en fonction de la valeur de l'information de génération,
- des moyens configurés pour chiffrer des données à inclure dans le paquet chiffré à émettre en fonction de la clé de chiffrement,
- des moyens configurés pour calculer une information tronquée en décomposant l'information de génération en une première partie et une seconde partie, la première partie variant plus lentement, au cours du temps, que la seconde partie, l'information tronquée étant représentative de ladite seconde partie,
- des moyens configurés pour calculer un code de vérification du paquet chiffré en fonction des données chiffrées et de la première partie de l'information de génération,
- des moyens configurés pour former le paquet chiffré à émettre à partir de l'information tronquée, du code de vérification, et des données chiffrées.
Dispositif émetteur (20) selon la revendication 5, dans lequel le code de vérification est calculé en fonction en outre d'une clé d'authentification du dispositif émetteur (20).
Dispositif émetteur (20) selon l'une des revendications 5 ou 6, comportant en outre des moyens configurés pour former et émettre un paquet, dit « paquet de recalage », incluant une information de recalage représentative de la première partie de l'information de génération.
Dispositif émetteur (20) selon l'une des revendications 5 à 7, dans lequel
l'information de génération est un compteur de paquets correspondant au nombre de paquets émis par ledit dispositif émetteur (20) ou une date de génération du paquet à émettre.
- Procédé (60) d'extraction, par un dispositif récepteur (30), de données incluses dans un paquet chiffré, dit « paquet chiffré en cours », émis par un dispositif émetteur (20) conformément à un procédé d'émission selon l'une des revendications précédentes, caractérisé en ce qu'il comporte :
- une extraction (61 ), à partir du paquet chiffré en cours, de l'information tronquée, du code de vérification et des données chiffrées,
- une estimation (62), en fonction de l'information tronquée extraite, d'une valeur candidate pour la première partie de l'information de génération du dispositif émetteur (20) pour le paquet chiffré en cours,
- une détermination si la valeur candidate estimée est correcte par une évaluation (63) d'intégrité du paquet chiffré en cours en fonction de la valeur candidate estimée, des données chiffrées, et du code de vérification extraits dudit paquet chiffré en cours,
- lorsque la valeur candidate estimée est considérée comme correcte :
o une détermination (64) d'une clé de déchiffrement en fonction de la valeur candidate estimée et en fonction de l'information tronquée extraite,
o un déchiffrement (65) des données chiffrées extraites en fonction de la clé de déchiffrement.
- Procédé (60) selon la revendication 9, dans lequel l'intégrité du paquet chiffré en cours est évaluée en fonction en outre d'une clé d'authentification du dispositif émetteur (20).
- Procédé selon l'une des revendications 9 et 10, comportant en outre une extraction (66) d'une information de recalage incluse dans un paquet émis par le dispositif émetteur (20), dit « paquet de recalage », la valeur candidate de la première partie de l'information de génération du paquet chiffré en cours étant estimée en fonction en outre de l'information de
recalage extraite dudit paquet de recalage.
- Procédé (60) selon l'une des revendications 9 à 1 1 , dans lequel plusieurs valeurs candidates pour la première partie de l'information de génération sont estimées, et dans lequel l'intégrité du paquet chiffré en cours est évaluée pour chaque valeur candidate estimée jusqu'à ce qu'un critère d'arrêt soit vérifié.
- Procédé (60) selon l'une des revendications 9 à 12, dans lequel l'information de génération est un compteur de paquets du dispositif émetteur (20) dont la valeur de la première partie pour le paquet chiffré en cours est estimée en fonction en outre de la valeur de la première partie estimée et vérifiée pour un paquet précédent reçu du même dispositif émetteur (20).
- Procédé (60) selon l'une des revendications 9 à 12, dans lequel l'information de génération correspond à une date de génération du paquet émis par le dispositif émetteur (20) dont la valeur de la première partie est estimée et vérifiée en fonction en outre de la première partie de la date de réception dudit paquet chiffré en cours par le dispositif récepteur (30).
- Dispositif récepteur (30) pour recevoir des paquets émis par un dispositif émetteur (20) conformément à un procédé de réception selon l'une des revendications 9 à 14, caractérisé en ce qu'il comporte, pour l'extraction des données incluses dans un paquet chiffré en cours :
- des moyens configurés pour extraire, à partir du paquet chiffré en cours, l'information tronquée, le code de vérification, et les données chiffrées,
- des moyens configurés pour estimer une valeur candidate pour la première partie de l'information de génération du dispositif émetteur (20) pour le paquet chiffré en cours en fonction de l'information tronquée extraite,
- des moyens configurés pour déterminer si la valeur candidate estimée est correcte en évaluant l'intégrité du paquet chiffré en cours en fonction de la valeur candidate estimée, des données chiffrées, et du code de vérification extraits,
- des moyens configurés pour déterminer une clé de déchiffrement
en fonction de la valeur candidate considérée comme correcte et de l'information tronquée extraite,
- des moyens configurés pour déchiffrer les données chiffrées extraites du paquet chiffré en cours en fonction de la clé de déchiffrement.
1 6 - Dispositif récepteur (30) selon la revendication 15, dans lequel l'intégrité du paquet chiffré en cours est évaluée en fonction en outre d'une clé d'authentification du dispositif émetteur (20).
17 - Dispositif récepteur (30) selon l'une des revendications 15 et 1 6, comportant en outre des moyens configurés pour extraire l'information de recalage incluse dans un paquet de recalage émis par le dispositif émetteur (20), la valeur candidate de la première partie de l'information de génération du paquet chiffré en cours étant estimée en fonction en outre de l'information de recalage extraite dudit paquet de recalage.
18 - Dispositif récepteur (30) selon l'une des revendications 15 à 17, dans lequel plusieurs valeurs candidates pour la première partie de l'information de génération sont estimées, et dans lequel l'intégrité du paquet chiffré en cours est évaluée pour chaque valeur candidate estimée jusqu'à ce qu'un critère d'arrêt soit vérifié.
19 - Dispositif récepteur (30) selon l'une des revendications 15 à 18, dans lequel l'information de génération est un compteur de paquets du dispositif émetteur (20) dont la valeur de la première partie pour le paquet chiffré en cours est estimée en fonction en outre de la valeur de la première partie estimée et vérifiée pour un paquet précédent reçu du même dispositif émetteur (20).
20 - Dispositif récepteur (30) selon l'une des revendications 15 à 18, dans lequel l'information de génération correspond à une date de génération du paquet émis par le dispositif émetteur (20) dont la valeur de la première partie est estimée et vérifiée en fonction en outre de la date de réception dudit paquet chiffré en cours par le dispositif récepteur (30).
21 - Système (10) de communication caractérisé en ce qu'il comporte au moins un dispositif émetteur (20) selon l'une des revendications 5 à 8 et au moins un dispositif récepteur (30) selon l'une des revendications 15 à 20.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/347,589 US11070975B2 (en) | 2016-11-09 | 2017-11-09 | Method and device for transmitting encrypted data, method and device for extracting data |
JP2019546077A JP7100654B2 (ja) | 2016-11-09 | 2017-11-09 | 暗号化データを伝送するための方法および機器ならびにデータを抽出するための方法および機器 |
CN201780076256.2A CN110089072B (zh) | 2016-11-09 | 2017-11-09 | 用于发送加密数据的方法和设备、用于提取数据的方法和设备 |
EP17793981.6A EP3539253A1 (fr) | 2016-11-09 | 2017-11-09 | Procédé et dispositif d'émission de données chiffrées, procédé et dispositif d'extraction de données |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1660864 | 2016-11-09 | ||
FR1660864A FR3058604B1 (fr) | 2016-11-09 | 2016-11-09 | Procede et dispositif d’emission de donnees chiffrees, procede et dispositif d’extraction de donnees |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018087255A1 true WO2018087255A1 (fr) | 2018-05-17 |
Family
ID=58314366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2017/078809 WO2018087255A1 (fr) | 2016-11-09 | 2017-11-09 | Procédé et dispositif d'émission de données chiffrées, procédé et dispositif d'extraction de données |
Country Status (6)
Country | Link |
---|---|
US (1) | US11070975B2 (fr) |
EP (1) | EP3539253A1 (fr) |
JP (1) | JP7100654B2 (fr) |
CN (1) | CN110089072B (fr) |
FR (1) | FR3058604B1 (fr) |
WO (1) | WO2018087255A1 (fr) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11303447B2 (en) * | 2018-05-11 | 2022-04-12 | Syferex, LLC | Authentication system using paired, role reversing personal devices |
US10887051B2 (en) * | 2019-01-03 | 2021-01-05 | Qualcomm Incorporated | Real time MIC recovery |
US11770358B2 (en) * | 2020-03-11 | 2023-09-26 | Dell Products L.P. | Security for virtual extensible local area networks |
CN114125830B (zh) * | 2021-11-17 | 2024-05-07 | 浪潮卓数大数据产业发展有限公司 | 一种app数据的加密传输方法、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090262937A1 (en) * | 2008-04-21 | 2009-10-22 | Teknovus, Inc. | Method and apparatus for data privacy in passive optical networks |
US20100098249A1 (en) * | 2008-10-16 | 2010-04-22 | Samsung Electronics Co., Ltd. | Method and apparatus for encrypting data and method and apparatus for decrypting data |
EP3051743A1 (fr) * | 2013-09-27 | 2016-08-03 | Samsung Electronics Co., Ltd. | Procédé de sécurisation d'informations de découverte et dispositif associé |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2308282B (en) * | 1995-12-15 | 2000-04-12 | Lotus Dev Corp | Differential work factor cryptography method and system |
WO2005060148A1 (fr) * | 2003-12-18 | 2005-06-30 | Technische Universität Hamburg-Harburg | Procede et dispositif pour generer un code secret |
US20060159260A1 (en) * | 2005-01-14 | 2006-07-20 | Eaton Corporation | Method and communication system employing secure key exchange for encoding and decoding messages between nodes of a communication network |
US8769279B2 (en) * | 2006-10-17 | 2014-07-01 | Verifone, Inc. | System and method for variable length encryption |
US8423789B1 (en) * | 2007-05-22 | 2013-04-16 | Marvell International Ltd. | Key generation techniques |
CN102404721B (zh) * | 2010-09-10 | 2014-09-03 | 华为技术有限公司 | Un接口的安全保护方法、装置和基站 |
US9674155B2 (en) * | 2011-12-12 | 2017-06-06 | International Business Machines Corporation | Encrypting segmented data in a distributed computing system |
CN103684772B (zh) * | 2012-09-14 | 2016-12-21 | 北京虎符科技股份有限公司 | 动态缺失加密系统 |
CN104158788B (zh) * | 2013-05-13 | 2017-08-29 | 普天信息技术研究院有限公司 | 一种端到端传输数据的方法 |
CN103560879B (zh) * | 2013-10-09 | 2016-12-07 | 中国科学院信息工程研究所 | 一种轻量级认证与密钥协商的实现方法 |
JP6199335B2 (ja) | 2014-06-05 | 2017-09-20 | Kddi株式会社 | 通信ネットワークシステム及びメッセージ検査方法 |
CN105099672B (zh) * | 2015-08-04 | 2018-01-26 | 东南大学 | 混合加密方法及实现该方法的装置 |
US9843929B2 (en) * | 2015-08-21 | 2017-12-12 | Afero, Inc. | Apparatus and method for sharing WiFi security data in an internet of things (IoT) system |
-
2016
- 2016-11-09 FR FR1660864A patent/FR3058604B1/fr active Active
-
2017
- 2017-11-09 JP JP2019546077A patent/JP7100654B2/ja active Active
- 2017-11-09 EP EP17793981.6A patent/EP3539253A1/fr active Pending
- 2017-11-09 WO PCT/EP2017/078809 patent/WO2018087255A1/fr unknown
- 2017-11-09 US US16/347,589 patent/US11070975B2/en active Active
- 2017-11-09 CN CN201780076256.2A patent/CN110089072B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090262937A1 (en) * | 2008-04-21 | 2009-10-22 | Teknovus, Inc. | Method and apparatus for data privacy in passive optical networks |
US20100098249A1 (en) * | 2008-10-16 | 2010-04-22 | Samsung Electronics Co., Ltd. | Method and apparatus for encrypting data and method and apparatus for decrypting data |
EP3051743A1 (fr) * | 2013-09-27 | 2016-08-03 | Samsung Electronics Co., Ltd. | Procédé de sécurisation d'informations de découverte et dispositif associé |
Also Published As
Publication number | Publication date |
---|---|
FR3058604B1 (fr) | 2022-12-16 |
CN110089072B (zh) | 2023-01-31 |
FR3058604A1 (fr) | 2018-05-11 |
US11070975B2 (en) | 2021-07-20 |
EP3539253A1 (fr) | 2019-09-18 |
US20190349754A1 (en) | 2019-11-14 |
JP7100654B2 (ja) | 2022-07-13 |
JP2020511063A (ja) | 2020-04-09 |
CN110089072A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2232765B1 (fr) | Procede et entite de chiffrement symetrique probabiliste | |
WO2018087255A1 (fr) | Procédé et dispositif d'émission de données chiffrées, procédé et dispositif d'extraction de données | |
FR2956541A1 (fr) | Procede cryptographique de communication d'une information confidentielle. | |
EP3398290B1 (fr) | Procédé d'extraction univalente et univoque de clés a partir du canal de propagation | |
EP1869823B1 (fr) | Procédé de communication entre un lecteur et un marqueur d'identification sans fil, lecteur et marqueur associés | |
EP1783659A1 (fr) | Identification d'etiquette radiofrequence | |
EP2936715B1 (fr) | Procédé de leurrage d' un système d' interception et de brouillage par insertion de motifs de synchronisation factices dans le signal émis et émetteur mettant en oeuvre le procédé | |
WO2011083232A1 (fr) | Procede de chiffrement et de dechiffrement | |
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 | |
EP2533458B1 (fr) | Méthode de génération de clé secrète pour système de communication sans fil | |
EP1081855B1 (fr) | Procédé et dispositif de synchronisation d'un recepteur de communication | |
EP3857810B1 (fr) | Procédé cryptographique de comparaison sécurisée de deux données secrètes x et y | |
FR3052946A1 (fr) | Procede et dispositif d’emission de donnees chiffrees, procede et dispositif d’extraction de donnees | |
EP2659615A1 (fr) | Procede et systeme permettant de tester une integrite cryptographique d'une donnee tolerante aux erreurs | |
EP2936714B1 (fr) | Procédé de brouillage d'un système de communication par insertion de motifs factices dans un flux de données à émettre | |
EP3340508B1 (fr) | Procédé de réception, récepteur, émetteur et système de communication associés | |
FR2924549A1 (fr) | Procede de synchro-trame a base de logarithme discret | |
EP3398307B1 (fr) | Procédé d'association univalente et univoque entre émetteurs et récepteurs de transmission à partir du canal de propagation | |
FR3033105A1 (fr) | Procedes d'emission et de reception de messages descendants avec identification implicite de destinataires | |
FR3143923A1 (fr) | Procédé de distribution quantique et dispositifs de télécommunication associés | |
WO2024023234A1 (fr) | Procédés de distribution quantique et dispositifs de télécommunication associés | |
WO2010026318A1 (fr) | Procede cryptographique de generation d'une clef publique | |
FR3022421A1 (fr) | Procede de gestion d'un canal de communication virtuel prive entre un terminal et un serveur |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17793981 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019546077 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2017793981 Country of ref document: EP Effective date: 20190611 |