Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR ENSURING THE INTEGRITY OF BROADCAST CONFIDENTIAL DATA
Document Type and Number:
WIPO Patent Application WO/2019/206949
Kind Code:
A1
Abstract:
The invention relates to a method for ensuring data integrity characterized in that it comprises at least the following steps: To transmit a message xi the sender A adds to the message xi containing the data to be transmitted a label tag, defined by tagi=h(Xi), by using a function h known only to the sender A and to the receiver B, and which is intended to guarantee the authentication and the checking of integrity of the transmitted data (201), The message x*i composed of the message of the useful data xi and of the label tagi is encoded to produce a message C(x*i) which is transmitted to the receiver B, the encoding is carried out in such a way as to guarantee confidentiality with the aid of a secret coding (202), After transmission, the receiver B receives the message X*i to which it applies a secret decoding so as to retrieve a data message Xi and a label Tag, and then it checks the authentication and the integrity of the received useful message Xi by verifying that the relation tagi = hko(Xi) is in fact complied with, guaranteeing Xi = xi.

Inventors:
GARRIDO, Eric (Thales SIX GTS France SAS, 4 avenue des Louvresses, GENNEVILLIERS Cedex, 92622, FR)
PAINCHAULT, Philippe (Thales SIX GTS France SAS, 4 avenue des Louvresses, GENNEVILLIERS Cedex, 92622, FR)
BELAID, Sonia (116 rue de Rivoli, PARIS, 75001, FR)
MARTINELLI, Jean (Thales SIX GTS France SAS, 4 avenue des Louvresses, GENNEVILLIERS Cedex, 92622, FR)
DELAVEAU, François (Thales SIX GTS France SAS, 4 avenue des Louvresses, GENNEVILLIERS Cedex, 92622, FR)
KAMENI, Christiane (511 Central Ave Apt. R, MOUNTAIN VIEW, California, 94043, US)
MOLIERE, Renaud (Thales SIX GTS France SAS, 4 avenue des Louvresses, GENNEVILLIERS Cedex, 92622, FR)
Application Number:
EP2019/060444
Publication Date:
October 31, 2019
Filing Date:
April 24, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
THALES (TOUR CARPE DIEM, Place des CorollesEsplanade Nord, COURBEVOIE, 92400, FR)
International Classes:
H04L29/06; H04K1/00; H04W12/10; H04L9/30; H04L9/32
Foreign References:
US9912479B12018-03-06
FR1701398A2017-12-28
Other References:
MAURER U M: "Secret key agreement by public discussion from common information", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE PRESS, USA, vol. 39, no. 3, May 1993 (1993-05-01), pages 733 - 742, XP011290579, ISSN: 0018-9448
AL-HASSAN SALAH ET AL: "Secrecy coding for the wiretap channel using best known linear codes", GLOBAL INFORMATION INFRASTRUCTURE SYMPOSIUM - GIIS 2013, IEEE, 28 October 2013 (2013-10-28), pages 1 - 6, XP032531241, DOI: 10.1109/GIIS.2013.6684342
WEGMAN M N ET AL: "NEW HASH FUNCTIONS AND THEIR USE IN AUTHENTICATION AND SET EQUALITY", JOURNAL OF COMPUTER AND SYSTEM SCIEN, ACADEMIC PRESS, INC., LONDON, GB, vol. 3, no. 22, June 1981 (1981-06-01), pages 265 - 279, XP008003418, ISSN: 0022-0000, DOI: 10.1016/0022-0000(81)90033-7
Attorney, Agent or Firm:
DUDOUIT, Isabelle et al. (Immeuble Visium, 22 Avenue Aristide Briand, ARCUEIL Cedex, 94117, FR)
Download PDF:
Claims:
REVENDICATIONS

1 - Procédé pour assurer l’intégrité de données en utilisant un protocole de codage secret assurant une confidentialité inconditionnelle des données à transmettre entre au moins un émetteur A et un récepteur B, caractérisé en ce qu’il comporte au moins les étapes suivantes :

Pour transmettre un message xt l’émetteur A ajoute au message x contenant les données à transmettre, une étiquette tag, définie par tag, h(Xj), en utilisant une fonction de hachage h connue uniquement de l’émetteur A et du récepteur B, destinée à garantir l’authentification et le contrôle d’intégrité des données transmises (201 ),

Le message x\ composé du message des données utiles xt et de l’étiquette tag, est encodé pour produire un message C(x· ) qui est transmis au récepteur B, l’encodage est réalisé de manière à garantir la confidentialité à l’aide d’un codage secret (202),

Après transmission, (203), le récepteur B reçoit le message X- auquel il applique un décodage secret pour retrouver un message de données Xt et une étiquette Tag,, puis il contrôle l’authentification et l’intégrité du message utile reçu Xt en vérifiant que la relation Tag, = h(X,) est bien respectée, garantissant Xt = xt.

2 - Procédé selon la revendication 1 caractérisé en ce que l’étiquette ajoutée au message xt est générée par une fonction de hachage /ifeo(x£), soit tag, = hko (Xi), la fonction de hachage hko dépend d’une clé initiale k0 transmise de manière confidentielle par l’émetteur A au récepteur B, en utilisant le codage secret (202).

3 - Procédé selon l’une des revendications 1 ou 2 caractérisé en ce que la clé initiale secrète k0 est échangée entre l’émetteur A et le récepteur B en utilisant un protocole de Maurer. 4 - Procédé selon l’une des revendications 1 ou 2 caractérisé en ce que la clé initiale secrète k0 est obtenue en utilisant un protocole de génération de clé secrète SKG (Secret Key Génération). 5 - Système pour assurer l’intégrité des données confidentielles entre au moins un émetteur A et un récepteur B, en utilisant la technique de codage secret ou secrecy coding caractérisé en ce que l’émetteur A comporte un processeur (1 1 ) configuré pour ajouter aux messages contenant les données à transmettre une étiquette tag, = h(x£) défini en utilisant une fonction h connue uniquement de l’émetteur A et de l’émetteur B, et garantissant l’authentification et le contrôle d’intégrité des données transmises (201 ), et le récepteur B comprend un processeur (21 ) configuré pour vérifier après décodage secret d’un message reçu Xt et d’une étiquette reçue Tag, l’intégrité dudit message en vérifiant le bon respect de la relation Tag, = h Xi), la transmission du message utilisant un protocole de codage secret.

6 - Système selon la revendication 5 caractérisé en ce que pour la génération de l’étiquette par la fonction h, le processeur est configuré pour exécuter une fonction de hachage /ifeo(x£ ) dépendant d’une clé initiale k0 transmise de manière confidentielle par l’émetteur A au récepteur B, en utilisant le codage secret (202).

7 - Système selon l’une des revendications 5 ou 6 caractérisé en ce qu’un émetteur et/ou un récepteur est un nœud ou un terminal dans un réseau de communication.

Description:
PROCEDE ET SYSTEME POUR ASSURER L’INTEGRITE DE DONNEES CONFIDENTIELLES

DIFFUSEES

L’invention concerne un procédé et un système permettant d’assurer l’intégrité des données confidentielles diffusées au sein d’un système de communication utilisant la technique de codage secret plus connue sous le terme anglo-saxon « secrecy coding ».

Le « secrecy coding » fait référence à un cadre théorique connu dans l’état de l’art de la théorie de l’information qui analyse la possibilité pour un émetteur Alice de transmettre à un destinataire Bob un message sur un canal de communication de manière confidentielle sans utiliser de clé secrète partagée préalablement. Ce cadre repose uniquement sur les caractéristiques supposées distinctes du canal de propagation et du bruit en réception au niveau de Bob d’une part, et au niveau de l’attaquant potentiel d’autre part (attaquant appelé Eve). L’exemple théorique le plus simple est le modèle du canal à jarretière où Bob reçoit les bits transmis par Alice sans erreur et où Eve ne peut les récupérer qu’avec un taux d’erreur non nul. Ce modèle se généralise à des cas de modèles d’erreurs en réception (au niveau de Bob) et en écoute (au niveau d’Eve) plus complexes. Un autre exemple emprunté à la protection de système de radio communications est la sécurité de la couche physique connue sous l’abréviation anglo-saxonne PHYSEC, dont l’un des procédés est l’ajout de bruit artificiel selon le schéma (simplifié) suivant: lorsqu’Alice souhaite envoyer un message m à Bob, elle encode le message et transmet C m ) avec une technique de modulation qui ajoute un bruit artificiel J m pour tout point de l’espace, à l’exception de la zone où se trouve Bob. Ce bruit est modifié à chaque message m . Bob reçoit, après démodulation, l’encodage du message C(m) + h B avec un bruit de transmission h B . Le niveau de bruit h B permet à Bob de décoder correctement le message m. En revanche, Eve située en dehors du point occupé par Bob, seul point où la démodulation est « correcte », reçoit le message encodé C(m) +J m + V E avec un bruit artificiel J m qui s’ajoute à son bruit de réception h E . Avec ce niveau de bruit, Eve ne parvient pas à décoder le message m aussi correctement que Bob.

De manière générale, dans le cadre de la théorie de l’information, pour un modèle de canal de communication qui fixe les caractéristiques du bruit (au niveau de Bob, et au niveau d’Eve), on montre qu’il est possible de coder effectivement l’information utile avant sa transmission sur le canal de communication de manière à assurer :

- sa confidentialité (l’information d’Eve sur le message reste proche de zéro),

- sa transmission sans erreur (Bob décode l’information avec une très forte probabilité).

Pour assurer simultanément ces deux propriétés, la théorie introduit une borne théorique au débit de transmission possible, appelée « secrecy capacity ». Cette technique de confidentialité est alors dite inconditionnellement sûre (c’est-à-dire qu’elle ne dépend pas des capacités de calcul de l’attaquant), sous réserve bien entendu que le modèle de canal est correct et que l’on a en conséquence respecté la borne de « secrecy capacity » associée.

Tel quel, le « secrecy coding », ou sa variante consolidée objet du brevet FR1701398 du demandeur, a notamment pour objet d’assurer la confidentialité des messages échangés sans qu’il soit nécessaire que l’émetteur et le récepteur partagent des clés ou des secrets préétablis. Dans ce cadre, le secrecy coding est un mécanisme qui garantit uniquement la confidentialité des messages transmis, mais pas nécessairement leur intégrité, ni l’authentification des interlocuteurs. L’objet du brevet est un mécanisme complémentaire au mécanisme de secrecy coding, qui vise à garantir de nouvelles propriétés de sécurité, toujours de manière inconditionnellement sûre et sans utiliser de clés préalablement partagées ou de secrets préétablis par Alice et Bob, ce que ne garantit pas le mécanisme de secrecy coding seul : a) L’intégrité : garantir que les messages reçus et acceptés par le destinataire n’ont pas été altérés (volontairement par l’attaquant Eve ou fortuitement (bruit)),

b) L’authentification de l’émetteur : Bob et Alice ont l’assurance à tout moment qu’ils communiquent toujours avec l’autre et pas avec un tiers Eve qui prendrait momentanément le rôle d’émetteur.

Une solution d’intégrité inconditionnellement sûre et décrite dans l’état de l’art de la cryptographie est le mécanisme dit de Carter&Wegman connu de l’homme du métier. Cette solution de l’état de l’art repose sur les éléments suivants :

Alice et Bob veulent s’échanger des messages x(1 ), x(2), ..., x(i), ...

Alice et Bob sélectionnent selon une clef aléatoire k 0 partagée par Alice et Bob, une fonction de hachage h k o dans une famille de fonctions de hachage dite « universelle » (la famille peut être connue par l’attaquant Eve),

Puis, pour chaque message x(i) transmis, l’intégrité du message x(i) est garantie par la transmission d’un motif d’intégrité tag(i) associé de la forme :

tag(() = h ko (x(i)) 0 fc(i)

où h ko (x(i)) est le haché du message x(i) calculé avec la fonction de hachage précédemment sélectionnée h k o, c’est la même pour tous les messages x(i), 0 est l’opérateur logique OU exclusif, et

k(i) est une « clé unique à usage unique » connue sous l’expression anglo-saxonne « one-time pad ».

Dans cette solution, pour assurer le caractère inconditionnellement sûr de l’intégrité, il est impératif que la clé k 0 et tous les aléas k(i) consommés à chaque nouveau message transmis, soient des clés secrètes parfaitement aléatoires, indépendantes les unes des autres et partagées initialement par Alice et Bob avant la phase de communication des messages. La présente invention peut être vue comme une déclinaison originale du même principe, adapté au cadre d’un canal de communication mettant en oeuvre une technique de « secrecy coding » apportant la confidentialité sans utiliser de clé. Elle repose sur l’ajout d’un tag [tag(i)j dans chaque message x(i) transmis avant son traitement par le mécanisme de secrecy coding. Le tag est calculé également à l’aide d’une fonction de hachage sélectionnée dans une famille, comme c’est le cas pour le principe Carter&Wegman, mais il ne nécessite pas de disposer d’aléas k(i) préalablement partagés entre Alice et Bob.

Dans la suite de la description, les notations suivantes seront utilisées :

Le flux de données utiles qu’Alice veut transmettre à Bob : x 1 ,x 2 , ...

Le flux en sortie: x ,x 2 * ,...,x\,... obtenu par l’ajout d’une étiquette (ou identifiant) tag, à chaque message x

L’encodage des blocs x\ transmis par la technique de « secrecy coding » est désigné par C(x ),C(x 2 ),....,C(x·),... produisant après transmission les flux X ,X 2 ,...,X·,... reçus par Bob,

En réception, après le décodage des flux encodés X-, Bob produit les messages utiles reçus X x ,X 2 ,...,X t ,... et les étiquettes associées Tag 1 ,Tag 2 ,..,Tab^ ,... Dans le cas nominal de transmission avec erreurs corrigées par le décodage selon un procédé connu de l’homme du métier, on retombe sur les flux d’informations utiles, c’est-à-dire que l’on obtient : XI =c{,C 2 * =x 2 ,... ,C· =x ,... puis X x =x 1 ,,X 2 =x 2 ,...,X i =x it ... et

Tccg^ — iag^ , 7ag 2 — ici g 2 ..., T CL g ^ — iag ^

L’invention concerne un procédé pour assurer l’intégrité de données en utilisant un protocole de codage secret assurant une confidentialité inconditionnelle des données à transmettre entre au moins un émetteur A et un récepteur B, caractérisé en ce qu’il comporte au moins les étapes suivantes : Pour transmettre un message x £ l’émetteur A ajoute au message x £ , contenant les données à transmettre, une étiquette tag, définie par tag, h(Xi), en utilisant une fonction de hachage h connue uniquement de l’émetteur A et du récepteur B, destinée à garantir l’authentification et le contrôle d’intégrité des données transmises,

Le message x\ composé du message des données utiles x £ et de l’étiquette tag, est encodé pour produire un message C(x· ) qui est transmis au récepteur B, l’encodage est réalisé de manière à garantir la confidentialité à l’aide d’un codage secret,

Après transmission, le récepteur B reçoit le message X- auquel il applique un décodage secret pour retrouver un message de données X t et une étiquette Tag,, puis le récepteur B contrôle l’authentification et l’intégrité du message utile reçu X t en vérifiant que la relation Tag, = h(X,) est bien respectée, garantissant X t = x t .

L’étiquette ajoutée au message x £ est, par exemple, générée par une fonction de hachage /i feo (x £ ), soit tag, = /i ¾0 (c £ ), la fonction de hachage h ko dépend d’une clé initiale k 0 transmise de manière confidentielle par l’émetteur A au récepteur B, en utilisant le codage secret.

Selon un mode de réalisation, la clé initiale secrète k 0 est, par exemple, échangée entre l’émetteur A et le récepteur B en utilisant un protocole de Maurer.

Selon un mode de réalisation, la clé initiale secrète k 0 est obtenue en utilisant un protocole de génération de clé secrète SKG (Secret Key Génération).

L’invention concerne aussi un système pour assurer l’intégrité des données confidentielles entre au moins un émetteur A et un récepteur B, en utilisant la technique de codage secret ou secrecy coding. Le système est caractérisé en ce que l’émetteur A comporte un processeur configuré pour ajouter aux messages contenant les données à transmettre une étiquette tag, = h(x £ ) définie en utilisant une fonction h connue uniquement de l’émetteur A et de l’émetteur B et garantissant l’authentification et le contrôle d’intégrité des données transmises, et le récepteur B comprend un processeur configuré pour vérifier après décodage secret d’un message reçu X t et d’une étiquette reçue Tag,, l’intégrité dudit message en vérifiant le bon respect de la relation Tag, = h( £ ), la transmission du message utilisant un protocole de codage secret.

Pour la génération de l’étiquette par la fonction h, le processeur peut être configuré pour exécuter une fonction de hachage /i feo (x £ ) dépendant d’une clé initiale k 0 transmise de manière confidentielle par l’émetteur A au récepteur B, en utilisant le codage secret.

L’invention est utilisée pour un émetteur et/ou un récepteur correspondant à un nœud ou un terminal dans un réseau de communication.

D’autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description, d’exemples de réalisation donnés à titre illustratif et nullement limitatif, annexée des figures qui représentent :

• Figure 1 , un schéma global du procédé mis en œuvre par l’invention, et

• Figure 2, un schéma représentant l’ajout d’un tag au niveau des données avant transmission au bloc de codage.

La solution objet de la présente invention repose sur le principe suivant (Alice joue le rôle de l’émetteur, Bob celui du destinataire, le même principe se décline pour les deux sens de la communication):

1 ) Quand l’émetteur Alice initie une session de communication vers le destinataire Bob, il tire au hasard une clé k 0 qu’il transmet au destinataire Bob en toute confidentialité par le procédé de secrecy coding (sans clé) ;

2) Puis, à chaque message x £ qu’Alice veut transmettre à Bob, il utilise le mécanisme de secrecy coding pour transmettre le message (x £ , tag(i)), i.e. x £ complété avec un tag noté tag(i), tel que :

t¾|i = h k( (x £ ) Le tag d’intégrité tag, est plus simple que celui utilisé dans la solution Carter&Wegman.

En réception, Bob décode X suivant le principe du secrecy coding, il récupère le message utile X t et le tag associé Tag, puis vérifie l’authentification et l’intégrité en vérifiant que l’étiquette Tag, = h ko (X j ) est bien respectée.

Afin de mieux faire comprendre le procédé selon l’invention, l’exemple est donné dans le cas d’un échange entre un premier utilisateur émetteur/récepteur A (Alice) et un deuxième utilisateur émetteur/récepteur B (Bob), en présence d’un récepteur tiers E (Eve) non autorisé qui est susceptible d’intercepter les communications et d’accéder au contenu des données échangées entre A et B.

La figure 1 illustre un exemple de système selon l’invention. L’émetteur/récepteur A est, par exemple, un nœud ou un terminal d’un réseau de communication comportant une unité de calcul 11 , un module de codage/décodage 12, un module de modulation/démodulation 13, un module composé d’antennes 14, et des moyens d’émission et réception radio 15e, 15r. L’unité de calcul 1 1 est configurée pour insérer au niveau des données à coder ou des messages à transmettre un « tag » ayant notamment pour objectif d’augmenter la sécurité (authentification, intégrité) dans la transmission du message.

De même, l’émetteur/récepteur B, 20, comporte, par exemple, une unité de calcul 21 , un module de codage/décodage 22, un module de modulation/démodulation 23, un module composé d’antennes 24, des moyens d’émission et de réception radio 25e, 25r. L’unité de calcul 21 est configurée pour lire les tags et exploiter les résultats de lecture aux fins d’authentification de l’émetteur et de contrôle d’intégrité des messages transmis par cet émetteur.

Le bloc de secrecy coding 30 est connu de l’homme du métier et ne sera pas détaillé. Il a pour fonction d’assurer la confidentialité de toutes les données transmises entre A et B. Il est possible d’utiliser un bloc de secrecy coding complété par une fonction de scrambling sans clé, comme décrit dans la demande de brevet FR 1701398.

La figure 2 illustre de manière détaillée les étapes d’une première variante de l’invention ayant notamment pour objectif d’augmenter la sécurité de la transmission de données. Le procédé, dans son fonctionnement normal, ne requiert pas de clé de chiffrement.

Le message transmis peut être composé de blocs de données, de bits, ou se présenter sous un format connu dans le domaine de la sécurisation de transmission des données.

La figure 2 représente de manière détaillée les étapes mises en oeuvre par le procédé selon l’invention qui comprend une étape où un identifiant tag, est ajouté au message (données) avant sa transmission vers le bloc de « secrecy coding » afin d’augmenter l’intégrité de transmission. Lorsque l’émetteur Alice souhaite transmettre un message x il va, 201 , au préalable de la transmission du message x t au bloc de codage, ajouter une « étiquette » tag, au contenu de ce message x t . L’étiquette ou tag est calculée selon la description donnée ci-avant, x\ = (x £ , tag,), i.e. x t complété avec un tag noté tag,, tel que tag, = h kQ (X j ).

Le message x\ comprenant les données initiales à coder et l’étiquette tag, est transmis au bloc de secrecy coding 202. Puis le message encodé et modulé C(x- ) est transmis à Bob, le message effectivement reçu par Bob (entaché d’éventuelles erreurs de transmission) étant noté X· .

Bob, après décodage du message reçu X suivant un principe de décodage secret, produit les données utiles reçues X t et les étiquettes associées reçues Tag,, puis il vérifie l’authentification et l’intégrité dudit message en vérifiant que Tag, = h ko (X j ), ce qui garantit alors que X t = x t et Tag, = tag,, 203.

Lors d’une première étape d’initialisation pour calculer les étiquettes tag,, Alice et Bob vont s’échanger une clé secrète k 0 . Cet échange se fait de façon confidentielle, en employant le bloc de codage secret. Différentes variantes sont ici possibles :

o L’utilisation du protocole de Maurer connu de l’homme du métier, o L’utilisation d’un protocole de génération de clés secrètes (SKG pour Secret Key Génération) connu de l’homme du métier, ou encore o Tout autre protocole d’échange confidentiel sans clé préétablie ou secret partagé.

Lors de l’étape de communication, Alice utilise une fonction de hachage pour calculer l’étiquette tag, associée à chaque message x- , comme indiqué ci- dessus tag, = /i feo (x £ ), Bob sera le seul à accéder à cette information, car les données nécessaires à la restitution de l’étiquette tag, et à son exploitation pour authentifier Alice et contrôler l’intégrité des messages transmis sont enfouies dans le message encodé secrètement et transmis de manière confidentielle. L’étiquette tag, du i th message est ainsi, où k 0 est une clé définie au démarrage du protocole. La clé est transmise de manière confidentielle par le schéma de secrecy coding entre Alice et Bob. Selon la clé k 0 , le procédé choisit une fonction de hachage parmi une famille de fonctions de hachage dite « universelle », terme connu de l’homme du métier. La clé k 0 partagée entre Alice et Bob peut être la même pour tous les messages.

Pour la constitution du tag d’intégrité, toute fonction présentant des caractéristiques similaires à celles de la fonction de hachage dite universelle présentée dans l’exemple ci-dessus (notamment le fait d’être inconnue de l’attaquant) pourra être utilisée, sans sortir du cadre de l’invention.

L’invention présente l’avantage d’augmenter la sécurité dans la transmission des données sans avoir à utiliser de clés secrètes, dans le cadre d’un fonctionnement normal du système. Les coûts d’un tel système sont modestes.

Le procédé selon l’invention présente notamment l’avantage de n’utiliser aucune clé secrète préalablement partagée entre l’émetteur et le récepteur :

a) D’une part, il fait intervenir une unique clé k 0 secrète qui est transmise directement d’Alice vers Bob, dans une phase préliminaire de la session de communication entre Alice et Bob, la transmission étant protégée en confidentialité par l’usage du bloc « secrecy coding » (sans clé) ;

b) D’autre part, ce nouveau mécanisme d’intégrité inconditionnellement sûr est beaucoup plus facile à mettre en œuvre que la solution Carter&Wegman de l’état de l’art, notamment en ce qu’il n’a pas besoin à chaque nouveau message m(i) traité de consommer une nouvelle clé secrète de message k(i) préalablement partagée nécessaire au fonctionnement du principe Carter&Wegman.