Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR THE SECURE TRANSMISSION OF MESSAGES OR DATA BETWEEN TWO ENTITIES
Document Type and Number:
WIPO Patent Application WO/2004/040818
Kind Code:
A2
Abstract:
The invention relates to a method for the secure transmission of messages or data between two entities, involving the block coding of messages. According to the invention, a first message is broken down into a whole number N of blocks, each block being applied to an elementary coding unit of a plurality N of cascaded coding units. A second message is generated comprising the N blocks from the first message which are disposed in a different order and the 2N blocks from the first and second messages are applied to 2N cascaded coding units in order to generate the coded value which is associated with the first message.

Inventors:
DAUVOIS JEAN-LUC (FR)
SAGGIORI JAN (FR)
KOZLOV ANDREY (FR)
Application Number:
PCT/FR2003/050104
Publication Date:
May 13, 2004
Filing Date:
October 23, 2003
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CANAL PLUS TECHNOLOGIES (FR)
DAUVOIS JEAN-LUC (FR)
SAGGIORI JAN (FR)
KOZLOV ANDREY (FR)
International Classes:
H04L9/32; (IPC1-7): H04L/
Foreign References:
US5671283A1997-09-23
US5757913A1998-05-26
US4600941A1986-07-15
EP0095923A21983-12-07
FR2837644A12003-09-26
Attorney, Agent or Firm:
Kohrs, Martin (46 Quai Alphonse Le Gallo, Boulogne-Billancourt, FR)
Download PDF:
Claims:
REVENDICATIONS
1. Procédé de transmission sécurisée de messages, ou de données, entre deux entités qui est un procédé de codage par blocs de messages, dans lequel un premier message est décomposé en un nombre entier N de blocs, chaque bloc étant appliqué à une unité élémentaire de codage d'une pluralité N d'unités de codage en cascade, caractérisé en ce qu'on génère un second message comprenant les N blocs du premier message disposés dans un ordre différent, et en ce qu'on applique les 2N blocs desdits premier et second messages à 2N unités de codage en cascade pour générer la valeur codée associée au premier message.
2. Procédé selon la revendication 1, dans lequel les blocs du second message sont les blocs du premier message disposés dans un ordre inverse.
3. Procédé selon la revendication 1, dans lequel les unités de codage sont des unités de chiffrement, ou des unités de génération de signature, ou des unités d'encryptage, ou des unités de codage.
4. Procédé selon la revendication 1, dans lequel les unités de codage appliquent chacune une fonction de Hash et/ou de chiffrement.
Description:
PROCEDE DE TRANSMISSION SECURISEE DE MESSAGES OU DE DONNEES ENTRE DEUX ENTITES DESCRIPTION DOMAINE TECHNIQUE La présente invention concerne un procédé de transmission sécurisée de messages ou de données entre deux entités, à savoir un émetteur et un récepteur.

ETAT DE LA TECHNIQUE ANTERIEURE Pour sécuriser la transmission de messages ou de données entre deux entités, à savoir un émetteur et un récepteur, il est connu de réaliser deux types d'opérations : - une première opération qui concerne l'authentification. Cette première opération vise à offrir au récepteur la capacité d'authentifier les messages qu'il reçoit. Elle lui permet ainsi de s'assurer, d'une part, que les messages reçus proviennent bien d'un émetteur autorisé et, d'autre part, que les messages reçus sont intègres, c'est-à- dire qu'ils n'ont pas été altérés durant la transmission entre l'émetteur et le récepteur. Cette opération peut tre réalisée par une fonction dite « de Hash ». Une telle fonction est mise en oeuvre par un algorithme qui associe au message, ou aux données, à transmettre une signature qui est fonction du contenu du message ou des données. Le message, ou les données, et la signature sont alors émis. Le récepteur, après réception du message, ou des données, et de la

signature, génère une signature locale en fonction du message, ou des données, reçu et vérifie que la signature reçue est identique a la signature générée localement. Si tel est le cas, le message est accepté pour un traitement ultérieur. Dans le cas contraire, le message n'est pas considéré comme fiable, et n'est donc pas pris en compte pour un tel traitement ultérieur, - une seconde opération qui concerne le chiffrage/cryptage. Cette seconde opération vise à rendre le message, ou les données, illisibles en cas d'interception de celui-ci durant la transmission entre l'émetteur et le récepteur. Une telle opération fait appel à des traitements connus de chiffrage/cryptage.

Une fonction de Hash est une transformation qui reçoit une entrée et délivre une chaine de taille fixée, qui est appelée valeur de Hash h (h = H (m)). La valeur de Hash représente de manière concise un message, ou document, plus long à partir duquel elle a été calculée. Une fonction de Hash peut tre définie en termes de fonction de compression. Une fonction de compression reçoit une entrée de longueur fixée et délivre une sortie de longueur fixée plus courte.

Une fonction de Hash peut tre définie par des applications répétées d'une telle fonction de compression jusqu'à ce que le message entier ait été traité. Dans un tel cas, un message de longueur déterminée est découpé en blocs dont la longueur dépend de la fonction de compression, et complétée, pour des raisons de sécurité, de sorte que la taille du message soit un multiple de la taille d'un bloc. Les blocs sont alors traités séquentiellement, en recevant en entrée

le résultat actuel de la fonction de Hash et le bloc de message courant, la sortie finale étant la valeur de Hash pour le message, comme illustré sur la figure 1.

Les procédés de transmission de l'art connu présentent comme inconvénient un risque de piratage. En effet, dans certains messages, par exemple ceux du type utilisé en télévision numérique (messages EMM ou « entitlement management messages », ou ECM ou « entitlement control messages »), les messages ont des parties importantes identiques. Un message peut, en effet, inclure une grande partie formant l'adresse du terminal destinataire et une petite partie définissant les droits, autorisation, période de validation etc... alloués à un terminal considéré. L'adresse du terminal restant toujours la mme, cette grande partie reste donc identique.

Dans les fonctions de Hash et/ou dans les fonctions de chiffrage par blocs, telles que schématisées sur la figure 1, il est évident que si un grand nombre de premiers blocs restent identiques et que seul changent quelques derniers blocs, le piratage est rendu plus facile. En effet, le résultat du traitement associé à ces fonctions, qui précède le traitement associé aux derniers blocs reste toujours le mme, ce qui réduit la difficulté d'une crypto-analyse.

L'invention a pour objet de pallier un tel inconvénient en proposant un procédé de transmission sécurisée de messages, ou de données, entre deux entités qui rende plus difficile une crypto-analyse.

EXPOSE DE L'INVENTION L'invention concerne un procédé de transmission sécurisée de messages, ou de données, entre deux entités qui est un procédé de codage par blocs de messages, dans lequel un premier message est décomposé en un nombre entier N de blocs, chaque bloc étant appliqué à une unité élémentaire de codage d'une pluralité N d'unités de codage en cascade, caractérisé en ce qu'on génère un second message comprenant les N blocs du premier message disposés dans un ordre différent, et en ce qu'on applique les 2N blocs desdits premier et second messages à 2N unités de codage en cascade pour générer la valeur codée associée au premier message.

Avantageusement, les blocs du second message sont les blocs du premier message disposés dans un ordre inverse.

Les unités de codage peuvent tre des unités de chiffrement, ou des unités de génération de. signature, ou des unités d'encryptage, ou des unités de codage. Elles peuvent ainsi appliquer chacune une fonction de Hash et/ou de chiffrement.

Le procédé de l'invention permet d'éviter un risque de piratage par remplacement ou substitution de plusieurs blocs du. message. Il s'agit d'un procédé de codage à double passe, contrairement aux procédés de l'art connu qui ne sont réalisés que sur une passe.

Un tel procédé se prte tout à fait au chiffrement'des messages EMM et ECM en télévision numérique.

BREVE DESCRIPTION DES DESSINS La figure 1 illustre un procédé de l'art connu.

La figure 2 illustre le procédé de l'invention.

EXPOSE DETAILLÉ DE L'INVENTION Dans les procédés de 1'art connu le calcul de la valeur de Hash commence à une extrémité du message à authentifier et se termine à l'autre extrémité de celui-ci, la valeur de Hash résultante étant alors disposée comme un supplément au corps de ce message.

La figure 1 illustre un tel procédé de l'art connu, dans lequel chaque bloc d'un message de N blocs est appliqué à une unité de codage F, appliquant une fonction de Hash, d'une pluralité de N unités de codage en cascade. La première de ces unités de codage reçoit une valeur d'amorçage. La sortie délivre la valeur de Hash du message. La sortie de chacune de ces unité de codage correspond à la valeur de bloc de rang i correspondant codée par les données reçues sur son autre entrée.

I1 existe un problème dans de tels procédés lorsque deux messages, ou plus, ont le mme champ de données au début et seulement quelques différences à la fin. I1 est alors possible de mélanger les blocs correspondants et de les interchanger sans entraîner aucune différence dans la fonction de Hash du message, ceci étant dû au fait que la fonction de Hash temporaire est la mme pour les deux messages.

Pour protéger un message à transmettre de ce type d'attaque, le procédé de l'invention a pour objet de préserver ce message de toute modification ; un message codé devant tre totalement différent extérieurement mme si seulement un bit a été modifié.

Le procédé de l'invention propose d'opérer la fonction de codage, par exemple une fonction de Hash et/ou une fonction de chiffrement, non pas seulement dans un sens du message mais dans les deux sens. Ainsi, la partie variable du message est positionnée à différents endroits du traitement par blocs, rendant beaucoup plus difficile une cryptoanalyse.

La figure 2 illustre ainsi le procédé de l'invention. Le premier message correspond au message de la figure l. Les N blocs du second message sont les N blocs du premier message dans un ordre, inverse.

Comme sur la figure 1, chaque bloc et relié à une unité de codage d'une pluralité 2N d'unités de codage en cascade.

Ainsi à partir d'un premier message (10101000011110000111100 0 01111), on génère le message (0101000011110000111100001111. 1111000011110000111100001010), combinaison du premier message initial et d'un second message correspondant à ce premier message inversé. On découpe l'ensemble en blocs : (0101-0000-1111-0000-1111- 0000-1111-1111-0000-1111-0000-1111-0000-1010), et on applique un traitement tel que celui représenté sur la figure 2.

Ainsi dans la mise en oeuvre du procédé de l'invention avec utilisation d'une fonction de Hash, la fonction de Hash du premier message peut tre calculée de la fin au début de ce premier message. En position 0

le résultat temporaire initialise le mécanisme de codage du premier message. Le calcul de la fonction de Hash continue alors, en tant que seconde passe, du début du premier message jusqu'à la fin, attachant alors la valeur de Hash au message traité avec la fonction de Hash.

La fonction de Hash peut tre connectée directement à une fonction de chiffrement et tre traitée au mme moment. Dans ce cas le message doit tre chiffre deux fois : - de la droite à la gauche (première passe) - de la gauche à la droite (seconde passe, exécutée uniquement après la première passe).

La première passe est ici définie comme étant réalisée de la fin au début du message. Mais elle peut également tre réalisée du début à la. fin.

L'important est que la première passe aille dans la direction opposée à celle de la seconde passe.

Dans le procédé de l'invention, l'ordre des N blocs du second message peut également correspondre à un ordre aléatoire ou pseudo-aléatoire des N blocs du premier message.

Les unités de codage peuvent tre des unités appliquant une fonction de Hash et/ou de chiffrement, mais elles peuvent également tre des unités de chiffrement, des unités de génération de signature, des unités d'encryptage ou des unités de cryptage.