Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF SECURING A DATA STREAM
Document Type and Number:
WIPO Patent Application WO/2009/034106
Kind Code:
A1
Abstract:
The invention relates to a method of securing a communication interface (4) between a first sender/receiver device (2) and a second sender/receiver device (6) exchanging data via said interface (4). This method comprises the following steps:- defining an integer number N of distinct communication channels Ci, i=1 to N, between said first and second terminals (2, 6), - splitting said data into a number M of data segments Dj, j=1 to M, - assigning each data segment Dj at least one communication channel Ci and a rank rj of transmission of said segment via said channel according to a distribution procedure programmed so as to execute in the first device (2) and in the second device (6), - transferring each data segment Dj from the first (2) (respectively second (6)) device to the second (6) (respectively first (2)) device via said channel Ci and according to said rank rj .

Inventors:
VENRIES, Fabien (21 rue du Château, La Garenne Colombes, F-92250, FR)
Application Number:
EP2008/062002
Publication Date:
March 19, 2009
Filing Date:
September 10, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
VIACCESS (Les Collines de l'Arche, Tour Opéra C, Paris La Defense Cedex, F-92057, FR)
VENRIES, Fabien (21 rue du Château, La Garenne Colombes, F-92250, FR)
International Classes:
G06F21/24
Attorney, Agent or Firm:
ILGART, Jean-Christophe et al. (Brevalex, 3 rue du Docteur Lancereaux, Paris, F-75008, FR)
Download PDF:
Claims:

REVENDICATIONS

1. Procédé de sécurisation d'une interface de communication (4) entre un décodeur (2) et un processeur de sécurité (6) associé audit décodeur (2), le décodeur (2) et le processeur de sécurité (6) échangeant des données via ladite interface (4), caractérisé par les étapes suivantes :

- définir un nombre entier non nul N de canaux de communication distincts Ci, i=l à N, entre ledit décodeur (2) et ledit processeur de sécurité (6),

- découper (9) lesdites données en un nombre M de segments de données Dj, j=l à M,

- affecter à chaque segment de données Dj au moins un canal de communication Ci et un rang r D de transmission via ledit canal selon une procédure de répartition programmée pour s'exécuter dans le décodeur

(2) et dans le processeur de sécurité (6), ladite procédure de répartition étant définie par une loi pseudo-aléatoire construite à partir de générateurs pseudo-aléatoires initialisés avec des paramètres de valeurs égales dans le décodeur (2) et dans le processeur de sécurité (6) .

- transférer chaque segment de données Dj du décodeur (2) vers le processeur de sécurité (6) ou du processeur de sécurité (6) vers le décodeur (2) via ledit canal Ci et selon ledit rang rj .

2. Procédé selon la revendication 1, dans lequel chaque segment de données Dj est transmis via plusieurs canaux distincts C 1 et selon plusieurs rangs distincts r η

3. Procédé selon la revendication 1, dans lequel chaque segment de données Dj est chiffré avec une clé secrète Kj connue à la fois du décodeur (2) et du processeur de sécurité (6) .

4. Procédé selon la revendication 3, dans lequel chaque segment de données Dj est chiffré avec une clé secrète Ki associée à un canal Ci, et connue à la fois du premier décodeur (2) et du processeur de sécurité ( 6) .

5. Procédé selon la revendication 3, dans lequel tous les segments de données Dj sont chiffrés avec une même clé secrète K connue à la fois du décodeur (2) et du processeur de sécurité (6) .

6. Procédé selon la revendication 1, dans lequel la procédure de répartition des segments de données Dj entre les canaux de communication Ci est définie par une loi déterministe.

7. Procédé selon la revendication 1, dans lequel les canaux Ci sont des canaux logiques en nombre supérieur ou égal à deux.

8. Procédé selon la revendication 1, dans lequel les canaux Ci sont ouverts sur au moins deux canaux physiques.

9. Procédé selon l'une des revendications 1 à 8, dans lequel les données échangées entre le décodeur (2) et le processeur de sécurité (6) comportent, en plus des segments de données utiles Dj, au moins un segment de données de leurre.

10. Procédé selon la revendication 9, dans lequel le décodeur (2) et le processeur de sécurité (6) échangent lesdites données via au moins un premier module mandataire agencé dans le décodeur (2) ou un deuxième module mandataire (14) agencé dans le processeur de sécurité (6) .

11. Décodeur (2) apte à transmettre des données à un processeur de sécurité (6) via une interface de communication (4) reliant ledit décodeur (2) et ledit processeur de sécurité (6), caractérisé en ce qu' il comporte :

- des moyens pour déterminer un nombre entier N de canaux de communication distincts Ci via ladite interface (4) de communication,

- des moyens pour découper les données à échanger en un nombre M de segments de données Dj ,

- des moyens pour affecter à chaque segment de données Dj au moins un canal de communication Ci et un rang r D de transmission via ledit canal de communication Ci selon une procédure de répartition programmée pour s'exécuter dans le décodeur (2) et dans le processeur de sécurité (6),

- des moyens pour chiffrer chaque segment de données Dj avec une clé secrète Ki associée au canal Ci,

- des moyens pour transférer chaque segment de données Dj vers le processeur de sécurité (6) via ledit canal Ci et selon ledit rang r D .

12. Processeur de sécurité (6) apte à recevoir des données transmises par le décodeur (2) selon la revendication 11 via une interface de communication (4), caractérisé en ce qu'il comporte :

- des moyens pour déterminer, pour chaque segment de données Dj transmis, son ordre j dans le bloc initial de données résultant du découpage de ce bloc, le canal Ci et le rang r D qui lui ont été affectés par la procédure de répartition, des moyens pour mémoriser la première instance reçue de chaque segment de données Dj en fonction des résultats dudit découpage et de ladite répartition, des moyens pour ré-ordonner lesdites premières instances reçues des segments de données Dj en fonction des résultats dudit découpage et de ladite répartition, - des moyens pour concaténer lesdites premières instances reçues des segments de données Dj pour obtenir ledit bloc de données initial.

13. Programme d'ordinateur enregistré sur un support et destiné à mettre en œuvre le procédé

selon la revendication 1 lorsqu' il est exécuté dans un décodeur (2) ou dans un processeur de sécurité (6) .

14. Module mandataire émetteur (10) agencé dans un décodeur (2) et échangeant des données via une interface (4) avec un module mandataire récepteur (14) agencé dans un processeur de sécurité (6), caractérisé en ce qu' il comporte :

- des moyens pour définir un nombre entier N de canaux de communication distincts Ci via ladite interface (4) de communication,

- des moyens pour découper les données à échanger en un nombre M de segments de données Dj ,

- des moyens pour affecter à chaque segment de données Dj au moins un canal de communication Ci et un rang r D de transmission dudit segment via ledit canal de communication Ci selon une procédure de répartition des segments de données Dj entre les canaux de communication Ci définie par une loi pseudo- aléatoire construite à partir de générateurs pseudoaléatoires initialisés avec des paramètres de valeurs égales dans le décodeur (2) et dans le processeur de sécurité ( 6) ,

- des moyens pour chiffrer chaque segment de données Dj avec une clé secrète Ki associée au canal

Ci,

- des moyens pour transférer chaque segment de données Dj vers le module mandataire récepteur (14) via ledit canal Ci et selon ledit rang r D .

15. Module mandataire récepteur (14) agencé dans un processeur de sécurité (6) et destiné à recevoir des données transmises par un module mandataire émetteur agencé dans un décodeur (2) via une interface de communication (4), caractérisé en ce qu'il comporte :

- des moyens pour déterminer, pour chaque segment Dj de données transmis, son ordre j dans le bloc initial de données, résultant du découpage de ce bloc, le canal Ci et de rang r D qui lui ont été affectés par la procédure de répartition, des moyens pour mémoriser la première instance reçue de chaque segment de données Dj en fonction des résultats dudit découpage et de ladite répartition, des moyens pour ré-ordonner lesdites premières instances reçues des segments de données Dj en fonction des résultats dudit découpage et de ladite répartition, - des moyens pour concaténer lesdites premières instances reçues des segments de données Dj pour obtenir ledit bloc de données initial.

Description:

PROCEDE DE SECURISATION D'UN FLUX DE DONNEES

DESCRIPTION

DOMAINE TECHNIQUE

L'invention concerne la protection d'une interface de communication entre deux dispositifs échangeant des données et se rapporte plus spécifiquement à un procédé de sécurisation d'une interface de communication entre un premier dispositif émetteur/récepteur et un deuxième dispositif émetteur/récepteur échangeant des données via ladite interface .

L' invention concerne également un dispositif émetteur transmettant des données à un dispositif récepteur via l'interface de communication sécurisée par le procédé selon l'invention.

L' invention concerne également un dispositif récepteur recevant des données d'un dispositif émetteur via l'interface de communication sécurisée par le procédé selon l'invention. L'invention concerne également un programme d' ordinateur enregistré sur un support et destiné à mettre en œuvre le procédé selon l'invention lorsqu'il est exécuté dans un dispositif émetteur ou dans un dispositif récepteur. L'invention concerne également un module mandataire ou proxy émetteur destiné à mettre en œuvre le procédé selon l'invention dans un dispositif émetteur transmettant des données à un dispositif récepteur via l'interface de communication sécurisée par le procédé selon l'invention.

L' invention concerne en outre un module mandataire ou proxy récepteur destiné à mettre en œuvre le procédé selon l'invention dans un dispositif récepteur recevant des données d'un dispositif émetteur via l'interface de communication sécurisée par le procédé selon l'invention.

éTAT DE LA TECHNIQUE ANTéRIEURE

De plus en plus, les terminaux de communication (téléphone mobile, ordinateur portable, passerelle domestique, décodeur de télévision, PDA, ...) sont équipés d'applications capables de lire à la volée ou depuis un support d'enregistrement local ou distant, d'enregistrer ou de redistribuer, des contenus numériques de différents types, tels que par exemple des données audio ou des données vidéo préalablement embrouillées au moyen d'une ou de plusieurs clés secrètes avant d'être fournies au terminal.

Pour utiliser un contenu embrouillé, un terminal doit disposer d'un droit d'accès l'autorisant à recevoir la ou les clés de désembrouillage de ce contenu .

Le terminal est à cet effet généralement composé d'un décodeur, dispositif notamment chargé de la réception, du désembrouillage et de l'utilisation voulue du contenu, et d'un processeur de sécurité, dispositif chargé de vérifier, lors d'une demande d'utilisation du contenu, la satisfaction, par le terminal, d'une ou de plusieurs conditions d'accès au contenu, afin, le cas échéant, de fournir au décodeur les clés et les informations nécessaires au désembrouillage dudit contenu. Ce processeur de

sécurité peut être un dispositif externe associé au décodeur, typiquement une carte à puce, ou un dispositif intégré au terminal, typiquement un module matériel et/ou logiciel. Généralement, le décodeur et le processeur de sécurité dialoguent via une interface dédiée selon un protocole de communication particulier.

Un problème technique provient du fait que les informations échangées via cette interface, notamment les clés et les informations utiles au désembrouillage du contenu, peuvent être interceptées et redistribuées frauduleusement à des usagers ne disposant pas des droits d'accès à ces contenus. Cette forme de piratage est connue sous le nom de MacCormac Hack dans le domaine de l'accès conditionnel.

Les solutions de l'art antérieur, telles que par exemple l' appariement du décodeur avec le processeur de sécurité ou le cloisonnement des parcs de décodeurs, décrites respectivement dans les documents FR 2 866 772, FR 2 866 673, et FR 2 871 017 de la demanderesse, ne permettent pas d'empêcher efficacement l'interception des données transitant via l'interface décodeur-processeur de sécurité.

Le but de l'invention est d'assurer la sécurité de l'interface décodeur-processeur de sécurité en obscurcissant cette interface, c'est-à-dire, en rendant les données qui la traversent inintelligibles afin d'en empêcher la reconstitution en cas d'interception frauduleuse.

Ce mécanisme peut être appliqué seul aux flux de données échangés ou en combinaison avec les solutions connues.

EXPOSé DE L'INVENTION A cet effet, l'invention préconise un procédé de sécurisation d'une interface de communication entre un premier dispositif émetteur/récepteur et un deuxième dispositif émetteur/récepteur échangeant des données via ladite interface.

Le procédé selon l'invention comporte les étapes suivantes :

- définir un nombre entier non nul N de canaux de communication distincts Ci, i=l à N, entre ledit décodeur et ledit processeur de sécurité,

- découper lesdites données en un nombre M de segments de données Dj, j=l à M,

- affecter à chaque segment de données Dj au moins un canal de communication Ci et un rang r D de transmission via ledit canal selon une procédure de répartition programmée pour s'exécuter dans le décodeur et dans le processeur de sécurité, ladite procédure de répartition étant définie par une loi pseudo-aléatoire construite à partir de générateurs pseudo-aléatoires initialisés avec des paramètres de valeurs égales dans le décodeur et dans le processeur de sécurité,

- transférer chaque segment de données Dj du décodeur vers le processeur de sécurité ou du processeur de sécurité vers le décodeur via ledit canal Ci et selon ledit rang rj .

Grâce à l'invention, les données interceptées frauduleusement à l'interface des dispositifs émetteur et récepteur sont inutilisables en l'état dans la mesure où les informations nécessaires pour recombiner correctement les blocs de données ne sont pas accessibles via cette interface.

L'étape de définition du nombre entier N de canaux de communication distincts Ci, l'étape de découpage desdites données en un nombre M de segments, et l'étape d'affectation d'un canal et d'un rang de transmission à chaque segment sont basées sur l'utilisation d'une loi déterministe de façon à fournir, le même résultat dans le dispositif émetteur et dans le dispositif récepteur, et à permettre ainsi la reconstitution desdites données par le dispositif récepteur. Dans un mode de réalisation préféré, l'étape de définition du nombre entier N de canaux de communication distincts Ci, l'étape de découpage desdites données en un nombre M et l'étape d'affectation de canal à chaque segment sont basées sur l'utilisation d'une loi pseudo-aléatoire initialisée avec des paramètres de valeurs égales dans le dispositif émetteur et dans le dispositif récepteur, de façon à fournir un résultat imprévisible pour un observateur externe et garantir ainsi la qualité de l'obscurcissement de l'interface à protéger.

Dans une première variante, chaque segment de données Dj est chiffré, lors de chacune de ses transmissions sur le canal Ci, avec une clé secrète Ki associée au canal Ci et connue à la fois du premier dispositif et du deuxième dispositif.

Dans une autre variante, tous les segments de données Dj sont chiffrés avec une même clé secrète K connue à la fois du premier dispositif et du deuxième dispositif . Les canaux Ci sont des canaux logiques ouverts en nombre N non nul, préférentiellement au moins égal à 2, sur au moins un canal physique existant entre les dispositifs émetteur et récepteur. Le concept de canal logique est décrit dans norme ISO 7816 par exemple. De façon connue en soi, un tel canal logique est dynamiquement dédié à la communication d'une application donnée de l'un des dispositifs avec une application donnée de l'autre dispositif.

Les données transmises peuvent optionnellement comporter, en plus des segments de données utiles à transmettre, au moins un segment de données de leurre.

Préférentiellement, les segments de données de leurre sont de longueur arbitraire et comportent des données calculées de façon aléatoire.

Le procédé selon l'invention s'applique pour sécuriser l'interface entre un décodeur apte à transmettre des données à un processeur de sécurité via une interface de communication reliant ledit décodeur et ledit processeur de sécurité, ledit décodeur comportant :

- des moyens pour déterminer un nombre entier N de canaux de communication distincts Ci via ladite interface de communication, - des moyens pour découper les données à échanger en un nombre M de segments de données Dj ,

- des moyens pour affecter à chaque segment de données Dj au moins un canal de communication Ci et un rang r D de transmission via ledit canal de communication Ci selon une procédure de répartition programmée pour s'exécuter dans le décodeur et dans le processeur de sécurité,

- des moyens pour chiffrer chaque segment de données Dj avec une clé secrète Ki associée au canal Ci, - des moyens pour transférer chaque segment de données Dj vers le processeur de sécurité via ledit canal Ci et selon ledit rang r D .

Le processeur de sécurité comporte :

- des moyens pour déterminer, pour chaque segment de données Dj transmis, son ordre j dans le bloc initial de données résultant du découpage de ce bloc, le canal Ci et le rang r D qui lui ont été affectés par la procédure de répartition, des moyens pour mémoriser la première instance reçue de chaque segment de données Dj en fonction des résultats dudit découpage et de ladite répartition, des moyens pour ré-ordonner lesdites premières instances reçues des segments de données Dj en fonction des résultats dudit découpage et de ladite répartition, des moyens pour concaténer lesdites premières instances reçues des segments de données Dj pour obtenir ledit bloc de données initial. Dans un mode de réalisation particulier, le décodeur et le processeur de sécurité échangent les

données via au moins un premier module mandataire (ou proxy) agencé dans le décodeur ou un deuxième module mandataire (ou proxy) agencé dans le processeur de sécurité. Ces modules mandataires (ou proxy) assurent l'ensemble des traitements nécessaires à la mise en œuvre du procédé selon l'invention, pour l'ensemble des applications embarquées dans les dispositifs émetteur et récepteur.

Dans ce contexte le module proxy peut être un module émetteur et comporte dans ce cas :

- des moyens pour définir un nombre entier N de canaux de communication distincts Ci via ladite interface de communication,

- des moyens pour découper les données à échanger en un nombre M de segments de données Dj,

- des moyens pour affecter à chaque segment de données Dj au moins un canal de communication Ci et un rang r D de transmission dudit segment via ledit canal de communication Ci selon une procédure de répartition des segments de données Dj entre les canaux de communication Ci définie par une loi pseudoaléatoire construite à partir de générateurs pseudoaléatoires initialisés avec des paramètres de valeurs égales dans le décodeur et dans le processeur de sécurité,

- des moyens pour chiffrer chaque segment de données Dj avec une clé secrète Ki associée au canal Ci,

- des moyens pour transférer chaque segment de données Dj vers le module mandataire récepteur via ledit canal Ci et selon ledit rang r D .

Le module proxy peut aussi être un dispositif récepteur et comporte à cet effet:

- des moyens pour déterminer, pour chaque segment Dj de données transmis, son ordre j dans le bloc initial de données, résultant du découpage de ce bloc, le canal Ci et de rang r D qui lui ont été affectés par la procédure de répartition, des moyens pour mémoriser la première instance reçue de chaque segment de données Dj en fonction des résultats dudit découpage et de ladite répartition, des moyens pour ré-ordonner lesdites premières instances reçues des segments de données Dj en fonction des résultats dudit découpage et de ladite répartition, des moyens pour concaténer lesdites premières instances reçues des segments de données Dj pour obtenir ledit bloc de données initial.

BRèVE DESCRIPTION DES DESSINS

D'autres caractéristiques et avantages de l'invention ressortiront de la description qui va suivre, prise à titre d'exemple non limitatif, en référence aux figures annexées dans lesquelles : - la figure 1 illustre schématiquement un premier dispositif et un deuxième dispositif susceptibles d'échanger des données via une interface sécurisée par le procédé selon l'invention,

- la figure 2 représente un organigramme illustrant un premier mode de réalisation du procédé pour l'envoi de données selon l'invention ;

la figure 3 représente un organigramme illustrant un deuxième mode de réalisation du procédé pour l'envoi de données selon l'invention ;

- la figure 4 illustre le traitement préalable d'un bloc de données avant transfert via l'interface sécurisée; la figure 5 illustre le traitement dudit bloc de données à la réception via l'interface sécurisée; la figure 6 représente un organigramme illustrant un deuxième mode de réalisation du procédé pour la réception de données selon l'invention.

EXPOSé DéTAILLé DE MODES DE RéALISATION PARTICULIERS

L' invention va maintenant être décrite par référence à la figure 1 dans une application particulière dans laquelle un premier dispositif, constitué par un décodeur 2 de contenus embrouillés, échange, avec un processeur de sécurité, constitué par une carte à puce 6, via une interface de communication 4, des données auxquelles est associée au moins une condition d'accès. Le décodeur 2 et la carte à puce 6 sont susceptibles d' agir soit en émetteur soit en récepteur desdites données.

La carte à puce 6 dispose de moyens et de données spécifiques pour vérifier si le décodeur 2 remplit la ou les conditions d'accès, et de moyens pour générer et fournir audit décodeur 2 les clés secrètes de désembrouillage des contenus.

En fonctionnement, le décodeur 2 envoie à la carte à puce 6 des requêtes de clés secrètes. En réponses à ces requêtes, et après vérification des

conditions d'accès attachées aux contenus, la carte à puce 6 fournit au décodeur 2 les données nécessaires au désembrouillage de ces contenus. Ces échanges se font via l'interface 4 reliant le décodeur 2 et la carte à puce 6.

Dans l'exemple décrit à la figure 1, le décodeur 2 comporte une application AT 10 qui communique avec une application AC 12 embarquée dans la carte à puce 6, via un module mandataire (ou proxy) PAC 14 également embarqué dans la carte à puce 6.

Dans la suite de la description, nous désignerons par D un bloc de données comportant les octets codant les informations de désembrouillage des contenus que cette carte à puce transmet au décodeur 2 en réponse à une requête. Nous désignerons par L la longueur du bloc D.

La figure 2 illustre schématiquement les étapes essentielles du procédé d'obscurcissement de l'interface 4 entre le décodeur 2 et la carte à puce 6. Pour plus de clarté, cet exemple correspond au cas où la carte à puce 6 agit en entité émettrice et le décodeur 2 agit en entité réceptrice. Dans cet exemple, le bloc D représente les octets codant une clé secrète. Bien entendu, le procédé selon l'invention s'applique de façon symétrique lorsque le décodeur 2 agit en entité émettrice et la carte à puce 6 agit en entité réceptrice.

La valeur de la longueur L est préalablement transmise au décodeur 2 par la carte à puce 6 dans un bloc de données de longueur

prédéterminée LO connue à la fois du décodeur 2 et de la carte à puce 6.

En fonctionnement, à l'étape 20, l'application AT 10 et l'application AC 12 ouvrent un nombre entier N de canaux de communication distincts Ci via l'interface ISO 7816, i étant compris entre 1 et N.

L'ouverture de ces canaux est réalisée par un échange de signalisation au moyen du protocole d'échange utilisé . A l'étape 22, l'application PAC 14 exécute un premier module logiciel Gl pour découper le bloc de données D en un nombre M de segments de données Dj .

A cet effet, le module logiciel Gl calcule, à partir de la valeur L et optionnellement de la valeur N, le nombre M de segments à produire, et la suite Ll,

L2, ...Lj , ...LM des longueurs respectives des segments Dl,

D2, ...Dj,...DM.

A l'étape 24, un deuxième et un troisième modules logiciels G3 et G4 sont exécutés pour répartir les M blocs Dj obtenus à l'étape 22 sur les N canaux

Ci.

A cet effet, pour chaque segment Dj, le deuxième module logiciel G3 génère un premier nombre n D représentant le numéro d'un canal C 1 , puis le nombre nj est transmis au troisième module logiciel G4 qui génère à son tour un deuxième nombre r 3 représentant le rang de transmission du segment D D via le canal Cn D .

De façon analogue, des modules logiciels

Gl, G3 et G4 identiques sont exécutés par l'application AT 10 dans le décodeur 2 pour produire, à partir de la valeur L et optionnellement de la valeur N, la suite

Ll, L2, ...Lj , ...LM des longueurs respectives des segments Dl, D2, ...Dj , ...DM et le même couple (n-,, r-, ) pour le segment Dj, j variant de 1 à M.

La génération des nombres Lj , et du couple (n-,, r-, ) est réalisée selon une loi déterministe.

Ainsi, à tout instant, pour chaque segment

Dj, le décodeur 2 et la carte à puce 6 connaissent simultanément le numéro nj du canal Ci auquel est affecté le segment Dj considéré, et le rang rj de transmission dudit segment via ledit canal Ci.

Préférentiellement, la génération des nombres Lj, et du couple (nj, rj ) est réalisée selon une loi pseudo-aléatoire initialisée avec des paramètres de valeurs égales dans le décodeur 2 et dans la carte à puce 6.

Ainsi, ces résultats sont imprévisibles pour un observateur extérieur au terminal .

Optionnellement, chaque segment de données Dj est chiffré par une clé secrète Kj connue à la fois de l'application AT 10 du décodeur 2 et de l'application PAC 14 de la carte à puce 6.

Dans une variante de réalisation particulière, l'application PAC 14 chiffre chaque segment de donnée Dj avec une même clé secrète K connue à la fois de l'application AT 10 du décodeur 2 et de l'application PAC 14 de la carte à puce 6.

La clé K peut être établie au moyen d'un protocole de mise à la clé par les deux applications AT 10 et PAC 14. Dans une autre variante de réalisation, chaque segment Dj est chiffré avec une clé secrète Kn D ,

associée à son canal de transmission, et connue à la fois de l'application AT 10 du décodeur 2 et de l'application PAC 14 de la carte à puce 6.

Les segments obtenus sont ensuite transmis, à l'étape 26, via les canaux Ci à la carte à puce 6.

A la réception, l'application AT 10 effectue un tri des segments reçus en fonction des couples (nj, rj ) , préalablement calculés, et reconstitue le bloc de données initial. Dans une autre variante de réalisation du procédé, chaque segment Dj est transmis Xj fois, Xj étant un nombre entier non nul. Dans ce mode de réalisation, le segment Dj est transmis sur Xj canaux et à chaque transmission est associé un rang rjk. Les différentes transmissions des segments Dj sont donc définies par une suite de couples (njk, rjk), k allant de 1 à Xj .

Ce mode de réalisation offre un mécanisme de redondance permettant d'assurer le transfert des données même si une ou plusieurs ruptures de communication surviennent sur un ou plusieurs canaux de communication .

La figure 3 illustre schématiquement les étapes d'obscurcissement de l'interface 4 dans un cas particulier de réalisation de l'invention comportant en outre une étape supplémentaire 30 consistant à insérer des données de leurre dans le bloc de données utiles échangées entre le décodeur 2 et la carte à puce 6.

Dans ce cas, un quatrième module logiciel G2 permet d'insérer des segments DLj, pour j allant de

1 à M+l, comportant lesdites données de leurre parmi les segments Dj du bloc D.

Cette insertion est réalisée par génération du M+1-uplet constitué des longueurs LLi à LL M+ i, éventuellement nulles, des segments de leurre à insérer avant chacun des segments Dl à DM et après le segment

DM, puis, pour chacune de ces positions j allant de 1 à

M+l, si LLj est non nul, par génération du contenu aléatoire du segment de leurre DL D , puis insertion du segment de leurre DL D .

La génération des M+1-uplets est définie par une loi déterministe, préférentiellement pseudoaléatoire .

A l'étape 30, l'application PAC 14 calcule un nombre M+l de segments de leurre DLi, DL2, ..., DL M , DL M +i et un nombre M+l de longueurs LLi, LL 2 , ..., LL M , LL M+ i pour ces segments, puis insère chacun de ces segments de leurres de longueur non nulle avant le segment de données utiles de même indice. La suite des segments D' 3 résultants est donc constituée de la façon suivante :

D' 2D+I = DL D pour J = O a M ; D' 2D = D D pour j = l à M.

A l'étape 24, le deuxième module logiciel G3 et le troisième module logiciel G4 sont exécutés pour répartir les M' blocs D' j obtenus à l'étape 30 sur les N canaux Ci ouverts.

A cet effet, pour chaque segment D' j , le deuxième module logiciel G3 génère un premier nombre nj , j variant de 1 à M' , représentant le numéro d'un canal Ci, nj étant ensuite transmis au troisième module

logiciel G4 qui génère à son tour un deuxième nombre rj , j allant de 1 à M' , représentant le rang de transmission du segment D' j via le canal Cnj .

De façon analogue, un quatrième module logiciel G2 identique est exécuté par l'application AT

10 dans le décodeur 2, en plus des modules logiciels

Gl, G3 et G4, pour produire, à partir des valeurs L et

M, et optionnellement de la valeur N, la suite LLi, LL2,

..., LL M , LL M+1 représentant les longueurs respectives des segments de leurre DLi, DL 2 ,..., DL M , DL M+ i .

La figure 4 illustre le traitement du bloc de données D de longueur L par l'application PAC 14 avant le transfert.

Le bloc D, de longueur L, représenté à l'étape de départ 40 est découpé, à l'étape 42, en M segments D D de longueurs respectives Li, L 2 , ..., L M calculées par le module logiciel Gl .

A l'étape 44, le module logiciel G3 affecte un canal Ci à chaque segment D-,, A l'étape 46, le module logiciel G4 affecte à chaque segment un rang de transmission via le canal qui lui a été affecté par le module G3. Ainsi, le segment Dl sera le troisième segment transmis, et le sera via le canal C2. Le segment D2 sera le premier segment transmis, et le sera via le canal CN, etc.

A l'étape 48, chaque segment est transmis via le canal qui lui est affecté par le module G3, au rang qui lui a été attribué par le module G4.

La figure 5 illustre la reconstitution, par l'application AT 10, du bloc de données D à partir des segments Dj reçus par le décodeur 2.

A l'étape 50, le module logiciel Gl recalcule le nombre M et les longueurs Ll, L2, ..., LM des segments de données Dl, D2, ..., DM.

A l'étape 52 le module logiciel G3 recalcule l'indice nj du canal de transmission de chaque segment de données Dj .

A l'étape 54 le module G4 recalcule le rang rj de transmission du segment de données Dj sur le canal Cnj . A l'étape 56, le décodeur reçoit les segments de données selon le rang de leurs transmissions, mémorise la première instance reçue de chaque segment de données Dj , réordonne lesdites premières instances reçues en fonction des couples (nj, rj ) , et concatène lesdites premières instances reçues pour obtenir le bloc de données initial D.

La figure 6 est un organigramme illustrant les étapes du procédé exécuté à la réception des segments de données utiles et leurre par le dispositif récepteur.

A l'étape 70, le dispositif récepteur recalcule le nombre N de canaux à partir de la valeur L.

A l'étape 72, le module logiciel Gl recalcule le nombre et la longueur des segments utiles à recevoir.

A l'étape 74, le module logiciel G2 détermine la longueur des segments de leurre.

A l'étape 76, le module logiciel G3 détermine la répartition de tous les segments sur les canaux ouverts.

A l'étape 78, le module logiciel G4 détermine les rangs des transmissions des segments selon ladite répartition aboutissant ainsi à des couples (nj , rj ) , A l'étape 80, le décodeur reçoit les segments aux rangs attendus, mémorise la première instance reçue de chacun des seuls segments de données utiles Dj, et ré-ordonne lesdits segments utiles en fonction des couples (nj , rj ) . A l'étape 82, le décodeur concatène lesdits segments utiles pour obtenir le bloc initial D.

D' autres procédures de répartition des segments de données Dj obtenus par l'étape 22 sur les canaux de communication Ci ouverts à l'étape 20 pourront être utilisées sans sortir du cadre de l'invention. Plus spécifiquement, la procédure de découpage peut être adaptée au type de données à échanger et aux capacités de traitement de la carte à puce et du décodeur.