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 erreurs

Info

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
Application number
EP11811347.1A
Other languages
German (de)
English (en)
Inventor
Philippe Painchault
Eric Garrido
Sandra Marcello
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Publication of EP2659615A1 publication Critical patent/EP2659615A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding 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.
EP11811347.1A 2010-12-30 2011-12-22 Procede et systeme permettant de tester une integrite cryptographique d'une donnee tolerante aux erreurs Withdrawn EP2659615A1 (fr)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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&#39;une distance de hamming
US8213616B2 (en) Systems and methods for providing opportunistic security for physical communication channels
EP2537284B1 (fr) Procede cryptographique de communication d&#39;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&#39;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&#39;une clef publique
WO2024194956A1 (fr) Système de chiffrement, procédé de correction d&#39;erreur et programme de correction d&#39;erreur
FR3158003A1 (fr) Procédé amélioré d&#39;échange de clés s&#39;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