EP2659615A1 - Procede et systeme permettant de tester une integrite cryptographique d'une donnee tolerante aux erreurs - Google Patents
Procede et systeme permettant de tester une integrite cryptographique d'une donnee tolerante aux erreursInfo
- Publication number
- EP2659615A1 EP2659615A1 EP11811347.1A EP11811347A EP2659615A1 EP 2659615 A1 EP2659615 A1 EP 2659615A1 EP 11811347 A EP11811347 A EP 11811347A EP 2659615 A1 EP2659615 A1 EP 2659615A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- sym
- redundancy
- code
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012360 testing method Methods 0.000 title claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims abstract description 17
- 238000012937 correction Methods 0.000 claims description 19
- 230000009897 systematic effect Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 12
- 238000013459 approach Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- 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
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- 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/26—Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
-
- 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/34—Encoding or coding, e.g. Huffman coding or error correction
Definitions
- the object of the present invention is a method and system for testing error-tolerant data integrity.
- the information transiting through the radio channels is most often received with errors
- the conventional maximum security solution consists of forging a fingerprint of the message sent and transmitting this fingerprint together with the message. On receipt, a print of the received message is calculated by the receiver and compared with the received impression. If a single bit of these two fingerprints differs then the message is rejected because potentially modified by an attacker. Indeed, the telecom error correction layer has already been applied and corrected the transmission errors.
- This security solution may for some applications be maximalist. Indeed, some applications may not be significantly altered by a small (fixed) number of modified bits and this may not have an impact on system security. The problem is therefore to guarantee security while possibly allowing certain applications to be altered by errors.
- the security policy of the system will be strict and will not tolerate any error or on the contrary will allow a pre-defined number of errors.
- One of the objectives of this patent application is to define a Message Authentication Code (MAC) function that can tolerate errors in the transmission (or preservation) of messages. More exactly, the verification procedure does not provide an OK / NOK decision but provides a note that indicates the proximity of the received data with the valid message, while maintaining the security provided by the cryptographic protection function.
- MAC Message Authentication Code
- the invention relates to a method for testing the cryptographic integrity of data m, characterized in that it comprises in combination at least the following steps:
- F (GF (p), n, M, d) be a family of linear or nonlinear systematic error correcting codes on GF (p) of length n, of cardinal M and distance d,
- a second step comprising the following steps:
- a third step comprising the following steps:
- Di is a decoding function associated with the chosen code C which has in input any data and which has at the exit the word of the code the closer in terms of distance, and successful decoding information OK or unsuccessful decoding,
- d () is the distance in the sense of the number of elements of GF (p) different, and h n _ k esi the function which takes a string of input and associates the nk first characters of the string.
- the method comprises, for example, a step of encrypting the data encrypting the whole of the useful message and the redundancy r at the transmission level and a step of decrypting said data at the level of the reception.
- the processed data may be messages used in transmission systems.
- the redundancy r is protected in confidentiality by means of a block cipher or a xor with a Pseudo-Aléa Generator.
- the invention also relates to a system for testing the cryptographic integrity of data m comprising at least the following elements a module transmitting a message M, said module comprising a memory for storing the parameters used to execute the steps of the method according to the invention, such as the key, the public data, a transmission medium, a receiver module also comprising storage means of at least the same parameters as the transmission.
- the system may include means for storing confidential data such as secret keys, a processor adapted to perform the steps of the method according to the invention.
- FIG. 1 an exemplary system for implementing the method according to the invention in the field of telecommunications
- FIG. 3 an example of steps implemented when sending a message
- FIG. 4 an example of steps of the method according to the invention implemented when receiving a frame.
- FIG. 1 schematizes an exemplary architecture of a system comprising a module 1 transmitting a message M, said module comprising a memory 2 making it possible to store the parameters used to execute the steps of the method according to the invention, such as the key, the public data, which will be explained below, a transmission medium 3, a receiver module 4 also comprising storage means 5 of at least the same parameters as the transmission and a processor 7, 8 adapted to perform the steps implemented by the method according to the invention.
- the system may include means for storing confidential data such as secret keys.
- the solution implemented by the method consists, in particular, non-standard use of error-correcting codes or more precisely a family of error-correcting codes.
- the code used at one point in the code family is considered part of the secret key. Let us first consider the case of systematic codes, which includes linear codes. The result of the coding is therefore the concatenation of the message and a redundancy. The redundancy r is then protected in confidentiality thanks to block cipher or xor with a Pseudo-Aléa Generator.
- n, k, d be non-zero natural integers
- C (GF (p), n, k, d) an error-correcting code on GF (p) of length n, dimension k and distance d.
- Fam (GF (p), n, k, d) be an error-correcting code family on GF (p) of length n, dimension k and distance d.
- a message m of length nk be used, the method according to the invention will implement at least the following 3 steps, this scheme making it possible to construct a message authentication code with error correction. or in English Message Authentication Code with Error Correcting Code (MACECC).
- MACECC Message Authentication Code with Error Correcting Code
- the first step Gen 10, FIG. 2 consists of generating a key (C, Ksym) which will be used to encrypt the additional part or redundancy r produced by application of the chosen correction code, the additional or supM part being used to correct the errors. .
- F (GF (p), n, k, d) be an error-correcting code family on GF (p) of length n, dimension k and distance d (a component of the space of the keys).
- the method executes a random selection 1 1 of an error correction code C of the family F (GF (p), n, k, d) of correction capacity t, the random selection being carried out according to a known method of FIG. 'Man of the trade.
- I be a non-zero integer less than t; I represents the number of errors accepted for the useful part or additional part or more generally for the entire message.
- the next step is to set the Ksym symmetric key.
- a symmetric block algorithm SYM and its secret key Ksym are used to encrypt the additional part to encrypt the redundancy or to encrypt all the data or the message.
- the public parameters are (F (GF (p), n, k, d), SYM). These parameters are stored in the memory space 5.
- the secret key is: Sk (C, Ksym, I); it is, for example stored in a protected memory area 6 according to means known to those skilled in the art.
- the method will encode or encode the message or the data m using the correcting code defined in the first step.
- a systematic code (message + redundancy).
- the result of the coding is therefore the concatenation of m with a redundancy r, denoted m
- the method includes a step of protecting in confidentiality (only) the redundancy r by using the secret key
- the protection of redundancy in confidentiality is ensured by an encryption mechanism.
- an encryption mode that does not propagate errors.
- the invention also works, but the tolerated errors are limited to the errors on the message.
- An encryption mode not propagating the errors is typically realized by an xor with a pseudo-random generated, for example with a block algorithm in counter mode.
- the protected redundancy rp is called MACECC.
- rp (m concatenated with rp) is then transmitted in this example to the receiver or more generally to a data processing step.
- the method Upon receipt of the message, the method performs a first Verify verification step (Messagetransmis, Sk) comprising the steps described hereinafter.
- Messagetransmis, Sk a first Verify verification step
- the received data received is considered as the concatenation of a message ma and a redundancy ra (ma
- This check is, for example, carried out as follows at the receiver.
- the mechanism for protecting the confidentiality of redundancy is reversed using the secret key SYM ⁇ ym (ra), 30, we find r, ra the encrypted redundancy received at the level of integrity checking step
- D1 a decoding function which has an input any data and that has the output of the code word closest in terms of distance (which includes redundancy) and output decoding information successful or unsuccessful decoding.
- D1 is applied on the whole message received ma, concatenated with the inverse of the redundancy SYM ⁇ ⁇ ym (rd):
- n, c / two strictly positive integers.
- M be a set of vectors of length n defined on GF (p). If for any pair of distinct elements of M, their Hamming distance is greater than or equal to c / and c / is the largest integer satisfying this property then the set of vectors of M is a code denoted C ( GF (p), n, M, d).
- C be an element of the code C (GF (p), n, M, d).
- AC is associated a defined injective encoder of GF (p) n ' to C and noted Encc-
- Encc 1 the inverse function noted Encc 1 is defined from Im (Encc) to GF (p) nk .
- Reed-Solomon codes are examples of codes for which there is an unsystematic encoder.
- Sym ksym is a symmetric encryption algorithm acting on words of length n with the secret key ksym.
- the encryption operation of the message me GF (p) n with this algorithm will be noted Sym kSy m (m).
- the operation of decrypting a word m' ⁇ GF (p) n with this algorithm will be noted:
- F (GF (p), n, M, d, k) be an error-correcting code family on GF (p) of length n, cardinal M, distance / and redundancy k.
- t is its correction capacity.
- Symksym be an encryption algorithm. This encryption algorithm may be a block-type encryption algorithm or a GPA-type algorithm. Let ksym be the secret key used for this algorithm.
- the public parameters are (F (GF (p), n, M, d, k), n, M, d, K), Sym, I ⁇ .
- S k (C, ksym).
- the chosen code family must have good correction capability and be effectively decodable for the solution to be effective.
- the error correcting code has a correction capacity denoted t, this correction capacity is greater than the desired tolerance for the transmission of the message.
- the code allows if the error number is less than t to retrieve the transmitted message.
- the method more generally is efficient, safe, and can be parameterized.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Mobile Radio Communication Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Procédé et système pour tester l'intégrité cryptographique de données m comprenant au moins les éléments suivants un module (1) émetteur d'un message M, ledit module comprenant une mémoire (2) permettant de stocker les paramètres utilisés pour exécuter les étapes du procédé selon l'invention, tels que la clé, les données publiques, qui seront explicités ci-après, un médium (3) de transmission, un module récepteur (4) comprenant aussi des moyens de stockage (5) d'au moins les mêmes paramètres qu'à l'émission. Le système peut comprendre des moyens de stockage (6) de données confidentielles telles que les clés secrètes, un processeur (7) adapté à exécuter les étapes.
Description
PROCEDE ET SYSTEME PERMETTANT DE TESTER UNE INTEGRITE CRYPTOGRAPHIQUE D'UNE DONNEE TOLERANTE AUX ERREURS
L'objet de la présente invention concerne un procédé et un système permettant de tester une intégrité de données tolérante aux erreurs.
Elle trouve notamment son application dans le domaine des télécommunications pour tester l'intégrité des messages, dans le domaine radio, dans le domaine de la cryptographie de manière plus générale pour tester l'intégrité de données.
Les informations transitant par les canaux radios sont le plus souvent réceptionnées avec des erreurs,
Du point de vue des télécommunications ce problème est résolu avec application d'un code correcteur qui permet de corriger les erreurs.
Ce que le code correcteur va considérer comme des erreurs peut résulter :
• d'erreurs de transmissions physiques,
· provenir de modifications réalisées intentionnellement par un attaquant dans le but de leurrer le récepteur.
La solution de sécurité maximale classique consiste à forger une empreinte du message émis et à transmettre cette empreinte conjointement au message. A la réception, une empreinte du message reçu est calculée par le récepteur et comparée avec l'empreinte reçue. Si un seul bit de ces deux empreintes diffère alors le message est rejeté car potentiellement modifié par un attaquant. En effet la couche télécom de correction des erreurs a déjà été appliquée et a corrigé les erreurs de transmission.
Cette solution de sécurité peut pour certaines applications être maximaliste. En effet, certaines applications peuvent ne pas être altérées de façon significative par un nombre minime (fixé) de bits modifiés et cela peut ne pas avoir d'impact sur la sécurité du système.
Le problème est donc de garantir la sécurité tout en permettant éventuellement que certaines applications puissent être altérées par des erreurs.
Ainsi en fonction des applications, la politique de sécurité du sys- tème sera stricte et ne tolérera aucune erreur ou au contraire permettra un nombre pré-défini d'erreurs.
Une approche connue de l'art antérieur consiste à diviser les codes d'authentification de message ou en abrégé anglo-saxon MACs (en plusieurs blocs mais cela ne résout pas le problème. Cette méthode permet de rejeter des messages de taille inférieure et de plus la taille des MAC étant plus petite la probabilité d'erreurs est plus faible
L'article de Ch .G. Boncelet , intitulé « The NTMAC for authentica- tion of noisy messages >> IEEE Transaction on Information Forensics and Security vol.1 n1 . March 2006 est une illustration de ce type d'approche
Malgré tous les avantages offerts par la mise en œuvre des systèmes de l'art antérieur, ces derniers présentent notamment les inconvénients suivants :
• les solutions antérieures ne permettent pas la correction des erreurs transmises,
· la couche de correction d'erreurs est appliquée en amont pour des motivations « TELECOM »,
• Les solutions antérieurs essayent de s'approcher d'une solution en diminuant la taille des MACs, sans toutefois résoudre le problème posé.
L'un des objectifs de la présente demande de brevet est de définir une fonction de type code d'authentification de message ou en anglo-saxon MAC (Message Authentification Code) pouvant tolérer des erreurs dans la transmission (ou la conservation) des messages. Plus exactement, la procé- dure de vérification ne fournit pas une décision OK/NOK mais fournit une note qui indique la proximité des données reçues avec le message valide,
tout en conservant la sécurité apportée par la fonction de protection cryptographique.
L'invention concerne un procédé pour tester l'intégrité cryptographique de données m caractérisé en ce qu'il comporte en combinaison au moins les étapes suivantes :
une première étape au cours de laquelle on génère une clé (C, Ksym) en exécutant les étapes suivantes :
• soit F(GF(p), n, M, d) une famille de codes correcteurs d'erreurs systématiques linéaires ou non linéaires sur GF(p) de longueur n, de car- dinal M et distance d,
• tirer de manière aléatoire un code correcteur C de la famille F(GF(p), n,k,d) ayant une capacité de correction t, et définir la clé Ksym, une deuxième étape comprenant les étapes suivantes :
• coder (20) lesdites données m en utilisant le code correcteur sélec- tionné lors de la première étape,
• pour un code systématique, calculer la redondance r, et utiliser la clé secrète Sk(C, Ksym, I) avec I un entier non nul inférieur à t qui représente le nombre d'erreurs accepté afin de protéger (21 ) la redondance
SYM SYM
r, on obtient la redondance protégée rp= ksym (r), avec ksym = SYM, un algorithme bloc de chiffrement symétrique et Ksym une clé secrète, transmettre (22) les données (m|rp) résultant de la deuxième étape, le message avec la redondance chiffrée,
une troisième étape comprenant les étapes suivantes :
pour un code systématique, soit (ma | ra) les données en entrée de cette fonction, inverser le mécanisme de protection en confidentialité de la redondance à l'aide de l'inverse de l'algorithme de chiffrement symétrique et de la clef secrète SYM~^ym (ra) , (30), ra la redondance chiffrée reçue au niveau de l'étape de vérification d'intégrité,
• soit Di une fonction de décodage associée au code C choisi qui a en entrée une donnée quelconque et qui a en sortie le mot du code le
plus proche en termes de distance, et une information décodage réussie OK ou décodage non réussi,
• Di est appliquée sur l'ensemble constitué du message reçu ma conca- téné avec l'inverse de la redondance SYM~ ym (m) : D (ma\ SYM^ym (ra) ),
• si le décodage n'est pas possible, il n'existe pas de mot du code à une distance suffisamment faible, (32), les données sont considérées comme non intègres,
• sinon, si le décodage est possible :
· si d{ hn_k (Di (ma | SYMk ~ sy l m (rd) ), ma) < 1+1 , alors la réponse est OK avec comme message utile effectif reçu /ζ„_λ (D-i (ma | SYM~^ym (ra) ) et l'information sur la distance d{ hn_k (Di (ma | SYMk ~ sy l m (rd) ), ma),
• sinon les données sont considérées comme non intègres d() est la distance au sens du nombre d'éléments de GF(p) différents, et hn_k esi la fonction qui prend une chaîne de caractère en entrée et lui associe les n-k premiers caractères de la chaîne.
Dans le cas d'un code systématique, le procédé comporte, par exemple, une étape de chiffrement des données chiffrant l'ensemble du message utile et de la redondance r au niveau de l'émission et une étape de déchiffrement desdites données au niveau de la réception.
Les données traitées peuvent être des messages utilisés dans des systèmes de transmission.
Selon une variante de réalisation, la redondance r est protégée en confidentialité grâce à un chiffrement par bloc ou un xor avec un Générateur de Pseudo-Aléa.
L'invention concerne aussi un système pour tester l'intégrité cryptographique de données m comprenant au moins les éléments suivants un module émetteur d'un message M, ledit module comprenant une mémoire permettant de stocker les paramètres utilisés pour exécuter les étapes du
procédé selon l'invention, tels que la clé, les données publiques, un médium de transmission, un module récepteur comprenant aussi des moyens de stockage d'au moins les mêmes paramètres qu'à l'émission. Le système peut comprendre des moyens de stockage de données confidentielles telles que les clés secrètes, un processeur adapté à exécuter les étapes du procédé selon l'invention.
D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit d'un exemple de réa- lisation donné à titre illustratif et nullement limitatif annexé des figures qui représentent :
• La figure 1 , un exemple de système permettant la mise en œuvre du procédé selon l'invention dans le domaine des télécommunications,
• La figure 2, un exemple de configuration de l'équipement,
· La figure 3, un exemple d'étapes mises en œuvre à l'émission d'un message,
• La figure 4, un exemple d'étapes du procédé selon l'invention mises en œuvre à la réception d'une trame.
Afin de mieux faire comprendre le principe mis en œuvre dans le procédé selon l'invention, la description qui suit est donnée dans un contexte d'émission-réception d'un message dans un système de télécommunications. Le procédé selon l'invention est valable pour un code systématique linéaire ou non linéaire.
La figure 1 schématise un exemple d'architecture d'un système comprenant un module 1 émetteur d'un message M, ledit module comprenant une mémoire 2 permettant de stocker les paramètres utilisés pour exécuter les étapes du procédé selon l'invention, tels que la clé, les données publiques, qui seront explicités ci-après, un médium 3 de transmission, un module récepteur 4 comprenant aussi des moyens de stockage 5 d'au moins les mêmes paramètres qu'à l'émission et un processeur 7, 8 adapté à exécu-
ter les étapes mises en œuvre par le procédé selon l'invention. Le système peut comprendre des moyens de stockage 6 de données confidentielles telles que les clés secrètes.
La solution mise en œuvre par le procédé consiste, notamment, à utiliser de façon non-standard des codes correcteurs d'erreurs ou plus précisément une famille de codes correcteurs d'erreurs.
Le code utilisé à un instant, parmi la famille de codes, est considéré comme une partie de la clef secrète. Considérons tout d'abord le cas des codes systématiques, ce qui englobe notamment les codes linéaires. Le ré- sultat du codage est donc la concaténation du message et d'une redondance. La redondance r est ensuite protégée en confidentialité grâce à un chiffrement par bloc ou un xor avec un Générateur de Pseudo-Aléa.
Dans un second temps, considérons le cas de codes quelconques, dans ce cas, l'ensemble du résultat du codage est protégé en confidentialité.
La description qui suit est donnée en relation avec les figures 2, 3 et 4.
Notations
Soit p un nombre premier, GF(p) le corps à p éléments.
Soient n, k, d des entiers naturels non nuls, C(GF(p),n,k,d) un code correcteur d'erreurs sur GF(p) de longueur n, dimension k et distance d. Soit Fam(GF(p),n,k,d) une famille de code correcteur d'erreurs sur GF(p) de longueur n, dimension k et distance d.
Nous noterons x| y la concaténation de la chaîne de caractères x avec la chaîne y. Le sigle | exprime l'opération de concaténation. Ces para- mètres concernent la donnée dont on souhaite tester l'intégrité, ou le message dont l'intégrité va être testée par le procédé selon l'invention.
Définition
Soit un message m de longueur n-k, le procédé selon l'invention va mettre en œuvre au moins les 3 étapes suivantes, ce schéma permettant de construire un code d'authentification de message avec correction d'erreur
ou en anglo-saxon Message Authentification Code with Error Correcting Code (MACECC).
Première étape explicitée avec la figure 2
La première étape Gen 10, figure 2, consiste à générer une clé (C, Ksym) qui va être utilisée pour chiffrer la partie supplémentaire ou redondance r produite par application du code correcteur choisi, la partie supplémentaire ou supM étant utilisée pour corriger les erreurs.
Soit F(GF(p),n,k,d) une famille de code correcteur d'erreurs sur GF(p) de longueur n, dimension k et distance d (une composante de l'espace des clefs).
Le procédé exécute un tirage aléatoire 1 1 d'un code correcteur d'erreurs C de la famille F(GF(p),n,k,d) de capacité de correction t, le tirage aléatoire étant effectué selon une méthode connue de l'Homme du métier.
Soit I un entier non nul inférieur à t ; I représente le nombre d'erreurs accepté pour la partie utile ou partie supplémentaire ou de manière plus générale pour l'ensemble du message. L'étape suivante est de définir la clé symétrique Ksym.
Un algorithme bloc symétrique SYM et sa clef secrète Ksym sont utilisés pour chiffrer la partie supplémentaire pour chiffrer la redondance ou encore pour chiffrer l'ensemble des données ou du message.
Les paramètres publics sont (F(GF(p),n,k,d), SYM). Ces paramètres sont mémorisés dans l'espace mémoire 5.
La clef secrète est : Sk(C, Ksym, I) ; elle est, par exemple stockée dans une zone mémoire 6 protégée selon des moyens connus de l'Homme du métier.
Deuxième étape création du MAC explicité avec la figure 3
Lors de la deuxième étape, le procédé va encoder 20 ou coder le message ou les données m en utilisant le code correcteur défini à la première étape.
Considérons dans un premier temps le cas d'un code systématique (message + redondance). Le résultat du codage est donc la concaténation de m avec une redondance r, notée m|r.
Au niveau de l'émission, le procédé comporte une étape de pro- tection en confidentialité (seule) de la redondance r en utilisant la clé secrète
SYM
Sk(C, Ksym, I). La redondance protégée est notée rp= ksym (r), 21 .
La protection de la redondance en confidentialité est assurée par un mécanisme de chiffrement. Pour tolérer des erreurs aussi au niveau de la redondance, il est préférable d'utiliser un mode de chiffrement ne propageant pas les erreurs. Dans le cas contraire, l'invention fonctionne aussi, mais les erreurs tolérées sont limitées aux erreurs sur le message. Un mode de chiffrement ne propageant pas les erreurs est typiquement réalisé par un xor avec un pseudo-aléa généré, par exemple avec un algorithme bloc en mode compteur. La redondance protégée rp est appelée MACECC.
Dans le cas d'une application de transmission où le message lui- même doit être protégé en confidentialité, pour tirer profit de l'invention, il faudra utiliser un mode de chiffrement du message m ne propageant pas les erreurs.
Le message m|rp (m concaténé avec rp) est ensuite transmis dans cet exemple au récepteur ou de manière plus générale à une étape de traitement des données.
Troisième étape explicitée en relation avec la figure 4
A la réception du message, 30 le procédé exécute une première étape de vérification Verify(messagetransmis,Sk) comprenant les étapes dé- crites ci-après.
Les données reçues messagetransmis sont considérées comme la concaténation d'un message ma et d'une redondance ra (ma|ra). Cette vérification est, par exemple, réalisée de la manière suivante au niveau du récepteur. Le mécanisme de protection en confidentialité de la redondance
est inversé à l'aide de la clef secrète SYM^ym (ra) ,30, on retrouve r, ra la redondance chiffrée reçue au niveau de l'étape de vérification d'intégrité Soit D1 une fonction de décodage qui a en entrée une donnée quelconque et qui a en sortie le mot du code le plus proche en termes de distance (ce qui inclut la redondance) et en sortie une information décodage réussie ou décodage non réussi. D1 est appliquée sur l'ensemble du message reçu ma, concaténé avec l'inverse de la redondance SYM^~ ym (rd) :
D-| (ma| SYM~^ym (ra) ).
Si le décodage n'est pas possible (il n'existe pas de mot unique du code à une distance suffisamment faible) 32, la réponse est NOK, les données ne sont pas considérées comme intègres.
Sinon, si le décodage est possible :
Si d{ hn_k (D-i (ma | SYM~^ym (ra) ), ma) < 1+1 , alors la réponse est OK avec comme message utile effectif reçu /ζ„_λ (D-i (ma | SYM~^ym (ra) ) ; sinon la ré- ponse est NOK, les données sont considérées comme non intègres. d() est la distance au sens du nombre d'éléments de GF(p) différents, et hn_k esi la fonction qui prend une chaîne de caractère en entrée et lui associe les n-k premiers caractères de la chaîne.
Une solution alternative consiste à opérer le test non pas sur la différence entre les parties utiles des messages, mais sur l'ensemble incluant la redondance. La condition d{ hn_k (D-i (ma | SYMk ~ ym (rd) ), ma) < 1+1 , devient alors : d ^ma | SYM^ym (m) ), (ma| SYM^ym (m) ) < 1+1
Les étapes décrites précédemment peuvent aussi s'appliquer pour des données autres que les messages.
Dans le cas où le code n'est pas systématique, le procédé est modifié de la manière décrite ci-après.
Codes quelconques : un schéma d'intégrité tolérant aux erreurs
Notations et définitions
Soit p un nombre premier, GF(p) le corps à p éléments Soit dn la distance de Hamming.
Soit / une application, avec lm(f) son image.
Soient n, c/deux entiers strictement positifs. Soit M un ensemble de vecteurs de longueur n définis sur GF(p). Si pour tout couple d'éléments distincts de M, leur distance de Hamming est supérieure ou égale à c/ et que c/ est le plus grand entier vérifiant cette propriété alors l'ensemble des vec- teurs de M est un code noté C(GF(p),n,M,d).
Soit C un élément du code C(GF(p),n,M,d). A C est associé un encodeur injectif défini de GF(p)n' vers C et noté Encc- Ainsi la fonction inverse notée Encc 1 est définie de Im(Encc) vers GF(p)n'k.
Soit C un C(GF(p),n,M=pk,d) code (linéaire ou non).
Soit ;rune permutation de GF(p)n et pn,k la projection de GF(p)n sur GF(p)k telle que pn,k(ui , ... , un) = (u-i , .. . , Uk). Soit un encodeur Encc associé au code c, s'il existe Ttc et pn,k tel que pour m≡ GF(p)n'k, pn,k( c(Encc(m))) = m, alors l'encodeur est dit systématique. Le code sera dit systématique ou k- systématique.
Les codes de Reed-Solomon sont des exemples de codes pour lesquels il existe un encodeur non systématique.
Soit F(GF(p),n,M,d,k) une famille de code correcteur d'erreurs sur GF(p) de longueur n, de cardinal M, de distance c/et de redondance de lon- gueur k. Si M = pk, cette famille peut contenir des codes linéaires et non linéaires.
Soit C e F(GF(p),n,M,d,k), m≡ GF(p)n'k, alors nous noterons Encc(m)≡ GF(p)n le mot de code de C associé à m. L'opération de décodage d'un mot m'≡ GF(p)n sera notée Decc(m') si cette opération admet une solution unique et alors Decc(m')≡ C.
x | y est la concaténation de la chaîne de caractères x avec la chaîne y.
Soit / une fonction inversible, son inverse est notée f1. Symksym est un algorithme de chiffrement symétrique agissant sur des mots de longueur n avec la clef secrète ksym. L'opération de chiffrement du message me GF(p)n avec cet algorithme sera notée SymkSym(m). L'opération de déchiffrement d'un mot m'≡GF(p)n avec cet algorithme sera notée :
Sym'1 ' ksym(m').
Définition d'un schéma d'intégrité tolérant aux erreurs
Soit un message m de longueur n - k. Nous appellerons schéma d'intégrité tolérant aux erreurs le schéma défini par les 3 procédés {Gen, MAC3, et Veri- fy) suivant. Ce schéma permet de construire un motif d'intégrité tolérant aux erreurs.
Gen
Soit F(GF(p),n,M,d,k) une famille de code correcteur d'erreurs sur GF(p) de longueur n, de cardinal M, de distance /et de redondance k. t est sa capacité de correction.
Soit 0 < I≤t, cet entier / représentant le nombre d'erreurs accepté pour les applications. Un code C est tiré aléatoirement dans cette famille de code. Soit Symksym un algorithme de chiffrement. Cet algorithme de chiffrement peut être un algorithme de chiffrement de type bloc ou un algorithme de type GPA. Soit donc ksym la clef secrète utilisée pour cet algorithme. Les paramètres publics sont (F(GF(p),n,M,d,k), n, M, d, K), Sym, I}.
La clef secrète notée Sk est la suivante : Sk = (C, ksym).
MAC
Les différentes étapes sont les suivantes.
1 ) Encodage du message m avec le code correcteur C : Encc(m)≡ GF(p)n
2) Protection en confidentialité SymkSym(Encc(m)).
Le résultat est donc le MAC3 résultant MAC3 (m) = SymkSym(Encc(m))
Verify
Soit mrecu le message reçu {mrecu≡ GF(p)n)
Les étapes suivantes sont réalisées.
1 ) Le mécanisme de protection en confidentialité est inversé Sym'1 ' ksym(mrecu)-
2) Le résultat est décodé Decc{Sym'1 kSym(mrecu))-
3) La réponse est définie de la manière suivante :
- si le décodage aboutit et fournit un élément du code valide
Encc 1 (Decc((Sym'1 ksym(mrecu)), alors, soit / la distance d = dH(Sym~ 1ksym(mrecu), Dec(Sym'1 kSym(mrecu))) :
- Si d≤ t, alors l'information retournée est :
(OK, d, Encc 1 (Decc((Sym~1 kSym(mrecu))
- Sinon, la réponse est NOK,
- sinon la réponse est NOK.
La famille de code choisie devra posséder une bonne capacité de correction et être efficacement décodable afin que la solution soit efficace.
Le code correcteur d'erreur a une capacité de correction notée t, cette capacité de correction est supérieure à la tolérance désirée pour la transmission du message.
Le code permet si le nombre d'erreur est inférieur à t de retrouver le message transmis. Le procédé de manière plus générale est efficace, sé- curitaire, et peut être paramétré.
Claims
REVENDICATIONS
1 - Procédé pour tester l'intégrité cryptographique de données m caractérisé en ce qu'il comporte en combinaison au moins les étapes suivantes :
une première étape au cours de laquelle on génère une clé (C, Ksym) en exécutant les étapes suivantes :
· soit F(GF(p), n, M, d) une famille de codes correcteurs d'erreurs systématiques linéaires ou non linéaires sur GF(p) de longueur n, de cardinal M et distance d,
• tirer de manière aléatoire un code correcteur C de la famille F(GF(p), n,k,d) ayant une capacité de correction t, et définir la clé Ksym, une deuxième étape comprenant les étapes suivantes :
• coder (20) lesdites données m en utilisant le code correcteur sélectionné lors de la première étape,
• pour un code systématique, calculer la redondance r, et utiliser la clé secrète Sk(C, Ksym, I) avec I un entier non nul inférieur à t qui repré- sente le nombre d'erreurs accepté afin de protéger (21 ) la redondance
SYM SYM
r, on obtient la redondance protégée rp= ksym (r), avec ksym =
SYM, un algorithme bloc de chiffrement symétrique et Ksym une clé secrète, transmettre (22) les données (m|rp) résultant de la deuxième étape, le message avec la redondance chiffrée,
une troisième étape comprenant les étapes suivantes :
pour un code systématique, soit (ma | ra) les données en entrée de cette fonction, inverser le mécanisme de protection en confidentialité de la redondance à l'aide de l'inverse de l'algorithme de chiffrement symétrique et de la clef secrète SYM^ym (ra) , (30), ra la redondance chiffrée reçue au niveau de l'étape de vérification d'intégrité,
• soit Di une fonction de décodage associée au code C choisi qui a en entrée une donnée quelconque et qui a en sortie le mot du code le
plus proche en termes de distance, et une information décodage réussie OK ou décodage non réussi,
• Di est appliquée sur l'ensemble constitué du message reçu ma conca- téné avec l'inverse de la redondance SYM~ ym (m) : D (ma\ SYM^ym (ra) ),
• si le décodage n'est pas possible, il n'existe pas de mot du code à une distance suffisamment faible, (32), les données sont considérées comme non intègres,
• sinon, si le décodage est possible :
· si d{ hn_k (Di (ma | SYMk ~ sy l m (rd) ), ma) < 1+1 , alors la réponse est OK avec comme message utile effectif reçu /ζ„_λ (D-i (ma | SYM~^ym (ra) ) et l'information sur la distance d{ hn_k (Di (ma | SYMk ~ sy l m (rd) ), ma),
• sinon les données sont considérées comme non intègres d() est la distance au sens du nombre d'éléments de GF(p) différents, et hn_k esi la fonction qui prend une chaîne de caractère en entrée et lui associe les n-k premiers caractères de la chaîne.
2 - Procédé selon la revendication 1 caractérisé en ce que dans le cas d'un code systématique, le procédé comporte une étape de chiffrement chiffrant l'ensemble du message utile et de la redondance au niveau de l'émission et une étape de déchiffrement desdites données. au niveau de la réception.
3 - Procédé selon l'une des revendications précédentes caractérisé en ce que les données traitées sont des messages utilisés dans des systèmes de transmission.
4 - Procédé selon la revendication 1 caractérisé en ce que la redondance r est protégée en confidentialité grâce à un chiffrement par bloc ou un xor avec un Générateur de Pseudo-Aléa.
5 - Système pour tester l'intégrité cryptographique de données m comprenant au moins les éléments suivants :
• un module (1 ) émetteur d'un message M, ledit module comprenant une mémoire (2) permettant de stocker les paramètres utilisés pour exécuter les étapes du procédé selon l'invention, tels que les données publiques, un médium (3) de transmission,
• un module récepteur (4) comprenant aussi des moyens de stockage (5) d'au moins les mêmes paramètres qu'à l'émission,
· des moyens de stockage (6) de données confidentielles telles que les clés secrètes, et
• un processeur (7) adapté à exécuter les étapes du procédé selon l'une des revendications 1 à 4.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1005185A FR2970133B1 (fr) | 2010-12-30 | 2010-12-30 | Procede et systeme permettant de tester une integrite cryptographique d'une donnee tolerante aux erreurs |
| PCT/EP2011/073873 WO2012089632A1 (fr) | 2010-12-30 | 2011-12-22 | Procede et systeme permettant de tester une integrite cryptographique d'une donnee tolerante aux erreurs |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP2659615A1 true EP2659615A1 (fr) | 2013-11-06 |
Family
ID=45524490
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP11811347.1A Withdrawn EP2659615A1 (fr) | 2010-12-30 | 2011-12-22 | Procede et systeme permettant de tester une integrite cryptographique d'une donnee tolerante aux erreurs |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9705675B2 (fr) |
| EP (1) | EP2659615A1 (fr) |
| FR (1) | FR2970133B1 (fr) |
| IL (1) | IL227264A (fr) |
| SG (1) | SG191427A1 (fr) |
| WO (1) | WO2012089632A1 (fr) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9992088B1 (en) | 2014-11-07 | 2018-06-05 | Speedy Packets, Inc. | Packet coding based network communication |
| US10999012B2 (en) | 2014-11-07 | 2021-05-04 | Strong Force Iot Portfolio 2016, Llc | Packet coding based network communication |
| SG10201906806XA (en) * | 2019-07-23 | 2021-02-25 | Mastercard International Inc | Methods and computing devices for auto-submission of user authentication credential |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7181572B2 (en) * | 2002-12-02 | 2007-02-20 | Silverbrook Research Pty Ltd | Cache updating method and apparatus |
| FR2933557B1 (fr) * | 2008-07-02 | 2013-02-08 | Airbus France | Procede et dispositif de protection de l'integrite de donnees transmises sur un reseau |
| US8132073B1 (en) * | 2009-06-30 | 2012-03-06 | Emc Corporation | Distributed storage system with enhanced security |
| CA2806357C (fr) * | 2010-10-15 | 2015-03-03 | Certicom Corp. | Cryptage authentifie pour signatures numeriques avec recuperation de message |
-
2010
- 2010-12-30 FR FR1005185A patent/FR2970133B1/fr active Active
-
2011
- 2011-12-22 SG SG2013051602A patent/SG191427A1/en unknown
- 2011-12-22 EP EP11811347.1A patent/EP2659615A1/fr not_active Withdrawn
- 2011-12-22 US US13/977,554 patent/US9705675B2/en not_active Expired - Fee Related
- 2011-12-22 WO PCT/EP2011/073873 patent/WO2012089632A1/fr not_active Ceased
-
2013
- 2013-06-30 IL IL227264A patent/IL227264A/en active IP Right Grant
Non-Patent Citations (2)
| Title |
|---|
| None * |
| See also references of WO2012089632A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| IL227264A0 (en) | 2013-09-30 |
| US9705675B2 (en) | 2017-07-11 |
| FR2970133A1 (fr) | 2012-07-06 |
| IL227264A (en) | 2017-08-31 |
| FR2970133B1 (fr) | 2013-01-18 |
| WO2012089632A1 (fr) | 2012-07-05 |
| SG191427A1 (en) | 2013-08-30 |
| US20140052987A1 (en) | 2014-02-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2232765B1 (fr) | Procede et entite de chiffrement symetrique probabiliste | |
| EP2951944A1 (fr) | Procede de chiffrement homomorphe pour le ou exclusif et calcul securise d'une distance de hamming | |
| US8213616B2 (en) | Systems and methods for providing opportunistic security for physical communication channels | |
| EP2537284B1 (fr) | Procede cryptographique de communication d'une information confidentielle | |
| JP2015522998A (ja) | 安全通信方法 | |
| WO2008013008A1 (fr) | Procédé de communication secrète et dispositif de communication secrète de celui-ci | |
| WO2010103677A1 (fr) | Système de communication par chiffrement | |
| Rashwan et al. | Security of the GPT cryptosystem and its applications to cryptography | |
| EP2280511B1 (fr) | Procédé de traitement de données protégé contre les attaques par faute et dispositif associé | |
| WO2011083232A1 (fr) | Procede de chiffrement et de dechiffrement | |
| EP2659615A1 (fr) | Procede et systeme permettant de tester une integrite cryptographique d'une donnee tolerante aux erreurs | |
| RU2295199C1 (ru) | Способ формирования ключа шифрования/дешифрования | |
| RU2183051C2 (ru) | Способ формирования ключа шифрования/дешифрования | |
| WO2024125942A1 (fr) | Procedes de distribution quantique et dispositifs de telecommunication associes | |
| Cederlöf | Authentication in quantum key growing | |
| JP5280518B2 (ja) | 暗号通信システム | |
| RU2171012C1 (ru) | Способ формирования ключа шифрования/дешифрования | |
| Wang et al. | Subliminal channels in the code-based ring signature scheme | |
| Han et al. | Joint encryption and channel coding scheme based on balancing indices and polar codes | |
| Babu et al. | Ortho Linear Feedback Shift Register Cryptographic System | |
| Kamel | Security for wireless communications | |
| Cheriere | Side-channel resistance of cryptographic primitives based on error-correcting codes | |
| FR2935859A1 (fr) | Procede cryptographique de generation d'une clef publique | |
| WO2024194956A1 (fr) | Système de chiffrement, procédé de correction d'erreur et programme de correction d'erreur | |
| FR3158003A1 (fr) | Procédé amélioré d'échange de clés s'appuyant sur un réseau quantique ; infrastructure de communication associée. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20130701 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAX | Request for extension of the european patent (deleted) | ||
| 17Q | First examination report despatched |
Effective date: 20180313 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20180724 |