WO2009034106A1 - Method of securing a data stream - Google Patents

Method of securing a data stream Download PDF

Info

Publication number
WO2009034106A1
WO2009034106A1 PCT/EP2008/062002 EP2008062002W WO2009034106A1 WO 2009034106 A1 WO2009034106 A1 WO 2009034106A1 EP 2008062002 W EP2008062002 W EP 2008062002W WO 2009034106 A1 WO2009034106 A1 WO 2009034106A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
decoder
security processor
channel
segment
Prior art date
Application number
PCT/EP2008/062002
Other languages
French (fr)
Inventor
Fabien Venries
Original Assignee
Viaccess
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 Viaccess filed Critical Viaccess
Publication of WO2009034106A1 publication Critical patent/WO2009034106A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4367Establishing a secure communication between the client and a peripheral device or smart card
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence

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 .

Description

PROCEDE DE SECURISATION D'UN FLUX DE DONNEES METHOD FOR SECURING A DATA STREAM
DESCRIPTIONDESCRIPTION
DOMAINE TECHNIQUETECHNICAL AREA
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 .The invention relates to the protection of a communication interface between two devices exchanging data and relates more specifically to a method for securing a communication interface between a first transmitter / receiver device and a second transmitter / receiver device exchanging data. data via said 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.The invention also relates to an emitter device transmitting data to a receiving device via the secure communication interface by the method according to the 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.The invention also relates to a receiving device receiving data from a transmitting device via the secure communication interface by the method according to the invention. The invention also relates to a computer program recorded on a medium and intended to implement the method according to the invention when it is executed in a transmitting device or in a receiving device. The invention also relates to a proxy module or transmitter proxy for implementing the method according to the invention in a transmitting device transmitting data to a receiving device via the secure communication interface by the method according to the invention. The invention further relates to a proxy module or proxy receiver for implementing the method according to the invention in a receiving device receiving data from a transmitting device via the secure communication interface by the method according to the invention.
ÉTAT DE LA TECHNIQUE ANTÉRIEURESTATE OF THE PRIOR ART
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.Increasingly, the communication terminals (mobile phone, laptop, home gateway, TV decoder, PDA, ...) are equipped with applications capable of reading on the fly or from a local or remote recording medium , record or redistribute, digital contents of different types, such as for example audio data or video data previously scrambled with one or more secret keys before being provided to the 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 .To use scrambled content, a terminal must have a right of access authorizing it to receive the key or descrambling of this content.
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.The terminal is for this purpose generally composed of a decoder, in particular device responsible for the reception, descrambling and the intended use of the content, and a security processor, device responsible for verifying, when a request is made. use of the content, the satisfaction, by the terminal, of one or more access conditions to the content, in order, if necessary, to provide the decoder with the keys and the information necessary for descrambling said content. This processor security may be an external device associated with the decoder, typically a smart card, or a device integrated in the terminal, typically a hardware and / or software module. Generally, the decoder and the security processor communicate via a dedicated interface according to a particular communication protocol.
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.A technical problem stems from the fact that the information exchanged via this interface, including keys and information useful for descrambling the content, can be intercepted and redistributed fraudulently to users who do not have access rights to these contents. This form of hacking is known as MacCormac Hack in the field of conditional access.
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é.The solutions of the prior art, such as, for example, the pairing of the decoder with the security processor or the partitioning of the sets of decoders, described respectively in the documents FR 2 866 772, FR 2 866 673, and FR 2 871 017. of the applicant, do not effectively prevent the interception of data transiting via the decoder-security processor interface.
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.The purpose of the invention is to ensure the security of the decoder-security processor interface by obscuring this interface, that is to say, by rendering the data that passes through it unintelligible in order to prevent its reconstitution. Fraudulent interception. This mechanism can be applied alone to the data flows exchanged or in combination with the known solutions.
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.SUMMARY OF THE INVENTION To this end, the invention recommends a method of securing a communication interface between a first transmitter / receiver device and a second transmitter / receiver device exchanging data via said interface.
Le procédé selon l'invention comporte les étapes suivantes :The process according to the invention comprises the following steps:
- 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é,defining a nonzero integer N of distinct communication channels Ci, i = 1 to N, between said decoder and said security processor,
- découper lesdites données en un nombre M de segments de données Dj, j=l à M,- cutting said data into a number M of data segments Dj, j = 1 to M,
- affecter à chaque segment de données Dj au moins un canal de communication Ci et un rang rD 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é,assigning to each data segment Dj at least one communication channel Ci and a transmission row R D via said channel according to a distribution procedure programmed to execute in the decoder and in the security processor, said distribution procedure being defined by a pseudo-random law constructed from pseudo-random generators initialized with parameters of equal values in the decoder and in the security processor,
- 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.transfer each data segment Dj from the decoder to the security processor or from the security processor to the decoder via said channel Ci and according to said rank rj. Thanks to the invention, fraudulently intercepted data at the interface of the transmitter and receiver devices are unusable in the state insofar as the information needed to properly recombine the data blocks are not accessible via this 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.The step of defining the integer N of distinct communication channels Ci, the step of splitting said data into an M number of segments, and the step of assigning a channel and a transmission rank to each segment are based on the use of a deterministic law so as to provide the same result in the transmitting device and in the receiving device, and thus enabling the reconstitution of said data by the receiving device. In a preferred embodiment, the step of defining the integer N of distinct communication channels Ci, the step of splitting said data into a number M, and the step of assigning channels to each segment are based on the using a pseudo-randomized law initialized with parameters of equal values in the transmitting device and in the receiving device, so as to provide an unpredictable result for an external observer and thus guarantee the quality of the obscuration of the interface to protect.
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.In a first variant, each data segment Dj is encrypted, during each of its transmissions on the channel Ci, with a secret key Ki associated with the channel Ci and known both of the first device and the second device. In another variant, all the data segments Dj are encrypted with the same secret key K known from both the first device and the second device. The Ci channels are open logical channels in nonzero number N, preferably at least equal to 2, on at least one physical channel existing between the transmitter and receiver devices. The logical channel concept is described in ISO 7816 for example. In a manner known per se, such a logical channel is dynamically dedicated to the communication of a given application of one of the devices with a given application of the other device.
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.The transmitted data may optionally include, in addition to useful data segments to be transmitted, at least one decoy data segment.
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.Preferably, the decoy data segments are of arbitrary length and comprise data computed randomly.
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 :The method according to the invention applies to secure the interface between a decoder capable of transmitting data to a security processor via a communication interface connecting said decoder and said security processor, said decoder comprising:
- 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 rD 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é,means for determining an integer N of distinct communication channels Ci via said communication interface, means for splitting the data to be exchanged into a number M of data segments Dj, means for assigning to each data segment Dj at least one communication channel Ci and a transmission row R D via said communication channel Ci according to a distribution procedure programmed to execute in the decoder and in the security processor ,
- 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 rD .means for encrypting each segment of data Dj with a secret key Ki associated with the channel Ci; means for transferring each segment of data Dj to the security processor via said channel Ci and according to said row r D.
Le processeur de sécurité comporte :The security processor includes:
- 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 rD 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.means for determining, for each data segment Dj transmitted, its order j in the initial block of data resulting from the division of this block, the channel Ci and the rank r D which have been assigned to it by the distribution procedure, means for storing the first received instance of each data segment Dj according to the results of said division and of said distribution, means for re-ordering said first received instances of the data segments Dj according to the results of said division and of said distribution, means for concatenating said first instances received from data segments Dj to obtain said initial data block. In a particular embodiment, the decoder and the security processor exchange the data via at least a first proxy module (or proxy) arranged in the decoder or a second proxy module (or proxy) arranged in the security processor. These proxy modules (or proxies) provide all the necessary processing to implement the method according to the invention, for all embedded applications in the transmitter and receiver devices.
Dans ce contexte le module proxy peut être un module émetteur et comporte dans ce cas :In this context, the proxy module may be an emitter module and in this case:
- des moyens pour définir un nombre entier N de canaux de communication distincts Ci via ladite interface de communication,means for defining an integer number N of distinct communication channels Ci via said communication interface,
- des moyens pour découper les données à échanger en un nombre M de segments de données Dj,means for splitting the data to be exchanged into a number M of data segments Dj,
- des moyens pour affecter à chaque segment de données Dj au moins un canal de communication Ci et un rang rD 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é,means for assigning to each data segment Dj at least one communication channel Ci and a transmission row R D of said segment via said communication channel Ci according to a procedure for dividing the data segments Dj between the communication channels Ci defined by a pseudo-random law constructed from pseudo-random generators initialized with parameters of equal values in the decoder and in the security processor,
- des moyens pour chiffrer chaque segment de données Dj avec une clé secrète Ki associée au canal Ci,means for encrypting each data segment Dj with a secret key Ki associated with the channel 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 rD . Le module proxy peut aussi être un dispositif récepteur et comporte à cet effet:means for transferring each data segment Dj to the receiving proxy module via said channel Ci and according to said row r D. The proxy module can also be a receiver device and comprises for this purpose:
- 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 rD 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.means for determining, for each segment Dj of transmitted data, its order j in the initial block of data, resulting from the division of this block, the channel Ci and of rank r D which have been assigned to it by the distribution procedure, means for storing the first received instance of each data segment Dj according to the results of said division and said distribution, means for re-ordering said first instances received from the data segments Dj as a function of the results of said division and of said distribution means for concatenating said first instances received from data segments Dj to obtain said initial data block.
BRÈVE DESCRIPTION DES DESSINSBRIEF DESCRIPTION OF THE DRAWINGS
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,Other characteristics and advantages of the invention will emerge from the description which follows, taken by way of non-limiting example, with reference to the appended figures in which: FIG. 1 diagrammatically illustrates a first device and a second device capable of exchanging data via a secure interface by the method according to the 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 ;FIG. 2 represents a flowchart illustrating a first embodiment of the method for sending data according to the invention; FIG. 3 represents a flowchart illustrating a second embodiment of the method for sending data according to the 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.FIG. 4 illustrates the prior processing of a block of data before transfer via the secure interface; FIG. 5 illustrates the processing of said data block on reception via the secure interface; FIG. 6 represents a flowchart illustrating a second embodiment of the method for receiving data according to the invention.
EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERSDETAILED PRESENTATION OF PARTICULAR EMBODIMENTS
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.The invention will now be described with reference to FIG. 1 in a particular application in which a first device, constituted by a decoder 2 of scrambled contents, exchanges, with a security processor, constituted by a smart card 6, via a communication interface 4, data which is associated with at least one access condition. The decoder 2 and the smart card 6 are capable of acting either as transmitters or receivers of said data.
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.The smart card 6 has means and specific data for verifying whether the decoder 2 fulfills the access condition or conditions, and means for generating and supplying said decoder 2 with the secret keys for descrambling the contents.
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.In operation, the decoder 2 sends the smart card 6 requests for secret keys. In response to these requests, and after verification of access conditions attached to the contents, the smart card 6 provides the decoder 2 the data necessary for descrambling these contents. These exchanges are done via the interface 4 connecting the decoder 2 and the smart card 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.In the example described in FIG. 1, the decoder 2 comprises an application AT 10 that communicates with an application AC 12 embedded in the smart card 6, via a proxy module (or proxy) PAC 14 also embedded in the smart card. 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.In the remainder of the description, we will denote by D a data block comprising the bytes coding the descrambling information of the contents that this smart card transmits to the decoder 2 in response to a request. We will denote by L the length of block 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.FIG. 2 schematically illustrates the essential steps of the obscuration method of the interface 4 between the decoder 2 and the smart card 6. For the sake of clarity, this example corresponds to the case where the smart card 6 acts as an emitting entity and the decoder 2 acts as a receiver entity. In this example, block D represents the bytes encoding a secret key. Of course, the method according to the invention applies symmetrically when the decoder 2 acts as an emitting entity and the smart card 6 acts as a receiving entity.
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.The value of the length L is previously transmitted to the decoder 2 by the smart card 6 in a data block of length predetermined LO known both of the decoder 2 and the smart card 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.In operation, in step 20, the application AT 10 and the application AC 12 open an integer N of distinct communication channels Ci via the ISO interface 7816, i being between 1 and 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 .The opening of these channels is performed by a signaling exchange using the exchange protocol used. In step 22, the application PAC 14 executes a first software module G1 to cut the data block D into a number M of data segments 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,For this purpose, the software module Gl calculates, from the value L and optionally of the value N, the number M of segments to be produced, and the sequence L1,
L2, ...Lj , ...LM des longueurs respectives des segments Dl,L2, ... Lj, ... LM of the respective lengths of the segments D1,
D2, ...Dj,...DM.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 canauxIn step 24, a second and a third software modules G3 and G4 are executed to distribute the M blocks Dj obtained in step 22 over the N channels.
Ci.This.
A cet effet, pour chaque segment Dj, le deuxième module logiciel G3 génère un premier nombre nD représentant le numéro d'un canal C1, puis le nombre nj est transmis au troisième module logiciel G4 qui génère à son tour un deuxième nombre r3 représentant le rang de transmission du segment DD via le canal CnD .For this purpose, for each segment Dj, the second software module G3 generates a first number n D representing the number of a channel C 1 , then the number nj is transmitted to the third software module G4 which in turn generates a second number r 3 representing the transmission rank of the segment D D via the channel Cn D.
De façon analogue, des modules logicielsSimilarly, software modules
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.Gl, G3 and G4 are executed by the application AT 10 in the decoder 2 to produce, from the value L and optionally the value N, the following L1, L2, ... Lj,... LM of the respective lengths of the segments D1, D2,..., DM, and the same pair (n-, r-) for the segment Dj, j ranging from 1 to M.
La génération des nombres Lj , et du couple (n-,, r-, ) est réalisée selon une loi déterministe.The generation of the numbers Lj, and the pair (n- ,, r-,) is carried out according to a deterministic law.
Ainsi, à tout instant, pour chaque segmentSo, at any moment, for every 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.Dj, the decoder 2 and the smart card 6 simultaneously know the number nj of the channel Ci to which is assigned the segment Dj considered, and the rank rj of transmission of said segment via said channel 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.Preferably, the generation of the numbers Lj, and of the pair (nj, rj) is performed according to a pseudo-random law initialized with parameters of equal values in the decoder 2 and in the smart card 6.
Ainsi, ces résultats sont imprévisibles pour un observateur extérieur au terminal .Thus, these results are unpredictable for an observer outside the 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.Optionally, each data segment Dj is encrypted by a secret key Kj known both from the application AT 10 of the decoder 2 and the application PAC 14 of the smart card 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.In a particular variant embodiment, the application PAC 14 encrypts each segment of data Dj with the same secret key K known from both the AT application 10 of the decoder 2 and the application PAC 14 of the smart card 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 KnD , 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.The key K can be established by means of a keying protocol by the two applications AT 10 and PAC 14. In another variant embodiment, each segment Dj is encrypted with a secret key Kn D , associated with its transmission channel, and known both from the application AT 10 of the decoder 2 and the application PAC 14 of the smart card 6.
Les segments obtenus sont ensuite transmis, à l'étape 26, via les canaux Ci à la carte à puce 6.The segments obtained are then transmitted, in step 26, via the channels Ci to the smart card 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 .On receipt, the AT application 10 sorts the segments received as a function of the pairs (nj, rj), previously calculated, and reconstitutes the initial data block. In another variant embodiment of the method, each segment Dj is transmitted Xj times, Xj being a non-zero integer. In this embodiment, the segment Dj is transmitted on Xj channels and each transmission is associated with a rank rjk. The different transmissions of the segments Dj are therefore defined by a series of pairs (njk, rjk), k ranging from 1 to 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 .This embodiment provides a redundancy mechanism to ensure the transfer of data even if one or more communication failures occur on one or more communication channels.
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.FIG. 3 schematically illustrates the obscuration steps of the interface 4 in a particular embodiment of the invention further comprising an additional step of inserting decoy data into the block of useful data exchanged between the decoder 2 and the smart card 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.In this case, a fourth software module G2 makes it possible to insert segments DLj, for j ranging from 1 to M + 1, including said decoy data among the Dj segments of the D block.
Cette insertion est réalisée par génération du M+1-uplet constitué des longueurs LLi à LLM+i, éventuellement nulles, des segments de leurre à insérer avant chacun des segments Dl à DM et après le segmentThis insertion is carried out by generating the M + 1-tuplet consisting of lengths LLi to LL M + i, possibly zero, of the decoy segments to be inserted before each of the segments D1 to DM and after the segment
DM, puis, pour chacune de ces positions j allant de 1 àDM, then, for each of these positions j ranging from 1 to
M+l, si LLj est non nul, par génération du contenu aléatoire du segment de leurre DLD, puis insertion du segment de leurre DLD .M + 1, if LLj is nonzero, by generating the random content of the decoy segment DL D , then inserting the decoy segment DL D.
La génération des M+1-uplets est définie par une loi déterministe, préférentiellement pseudoaléatoire .The generation of M + 1-tuples is defined by a deterministic law, preferably pseudo-randomly.
A l'étape 30, l'application PAC 14 calcule un nombre M+l de segments de leurre DLi, DL2, ..., DLM, DLM+i et un nombre M+l de longueurs LLi, LL2, ..., LLM, LLM+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 :In step 30, the application PAC 14 calculates a number M + 1 of decoy segments DLi, DL2,..., DL M , DL M + i and a number M + 1 of lengths LLi, LL 2 ,. .., LL M , LL M + i for these segments, then inserts each of these non-zero length decoy segments before the useful data segment of the same index. The sequence of the resulting segments D ' 3 is therefore constituted as follows:
D'2D+I = DLD pour J = O a M ; D'2D = DD pour j = l à M. 2D + I = DL D for J = O to M; 2D = D D for j = 1 to 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.In step 24, the second software module G3 and the third software module G4 are executed to distribute the M 'blocks D' j obtained in step 30 on the N open channels Ci.
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 .For this purpose, for each segment D 'j, the second software module G3 generates a first number nj, j varying from 1 to M', representing the number of a channel Ci, nj being then transmitted to the third module software G4 which in turn generates a second number rj, j ranging from 1 to M ', representing the transmission rank of the segment D' j via the channel Cnj.
De façon analogue, un quatrième module logiciel G2 identique est exécuté par l'application ATSimilarly, a fourth identical software module G2 is executed by the AT application
10 dans le décodeur 2, en plus des modules logiciels10 in the decoder 2, in addition to the software modules
Gl, G3 et G4, pour produire, à partir des valeurs L etGl, G3 and G4, to produce, from the values L and
M, et optionnellement de la valeur N, la suite LLi, LL2,M, and optionally of the value N, the sequence LLi, LL2,
..., LLM, LLM+1 représentant les longueurs respectives des segments de leurre DLi, DL2,..., DLM, DLM+i ...., LL M , LL M + 1 representing the respective lengths of the lure segments 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.FIG. 4 illustrates the processing of the data block D of length L by the PAC application 14 before the transfer.
Le bloc D, de longueur L, représenté à l'étape de départ 40 est découpé, à l'étape 42, en M segments DD de longueurs respectives Li, L2, ..., LM calculées par le module logiciel Gl .Block D, length L, shown in the starting stage 40 is cut at step 42, M D D segments of respective lengths Li, L 2, ..., L M calculated by the software module 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.In step 44, the software module G3 assigns a channel Ci to each segment D-. In step 46, the software module G4 assigns each segment a transmission rank via the channel assigned to it by the module G3. Thus, the segment D1 will be the third segment transmitted, and will be via channel C2. The D2 segment will be the first segment transmitted, and will be via the CN channel, 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.In step 48, each segment is transmitted via the channel allocated to it by the module G3, at the rank assigned to it by the 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.FIG. 5 illustrates the reconstitution, by the AT application 10, of the data block D from the segments Dj received by the decoder 2. In step 50, the software module G1 recalculates the number M and the lengths L1, L2,..., LM of the data segments D1, 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 .In step 52 the software module G3 recalculates the index nj of the transmission channel of each data segment 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.In step 54 the module G4 recalculates the rank rj of transmission of the data segment Dj on the channel Cnj. In step 56, the decoder receives the data segments according to the rank of their transmissions, stores the first received instance of each data segment Dj, reorders the first received instances as a function of the pairs (nj, rj), and concatenates said first instances received to obtain the initial data block 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.Fig. 6 is a flowchart illustrating the steps of the method performed upon receipt of the payload data segments and decoy by the receiving device.
A l'étape 70, le dispositif récepteur recalcule le nombre N de canaux à partir de la valeur L.In step 70, the receiver device recalculates the number N of channels from the value L.
A l'étape 72, le module logiciel Gl recalcule le nombre et la longueur des segments utiles à recevoir.In step 72, the software module Gl recalculates the number and the length of the useful segments to receive.
A l'étape 74, le module logiciel G2 détermine la longueur des segments de leurre.In step 74, the software module G2 determines the length of the decoy segments.
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.In step 76, the software module G3 determines the distribution of all the segments on the open channels. In step 78, the software module G4 determines the ranks of the transmissions of the segments according to said distribution thus resulting in pairs (nj, rj). In step 80, the decoder receives the segments at the expected ranks, stores the first instance received from each of the only useful data segments Dj, and re-orders said useful segments as a function of the pairs (nj, rj). In step 82, the decoder concatenates said useful segments to obtain the initial block 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. Other procedures for dividing the data segments Dj obtained by step 22 on the communication channels Ci open in step 20 may be used without departing from the scope of the invention. More specifically, the clipping procedure can be adapted to the type of data to be exchanged and the processing capabilities of the smart card and the decoder.

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 :A method of securing a communication interface (4) between a decoder (2) and a security processor (6) associated with said decoder (2), the decoder (2) and the security processor (6) exchanging data via said interface (4), characterized by the following steps:
- 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),defining a non-zero integer N of distinct communication channels Ci, i = 1 to N, between said decoder (2) and said security processor (6),
- découper (9) lesdites données en un nombre M de segments de données Dj, j=l à M,- cutting (9) said data into a number M of data segments Dj, j = 1 to M,
- affecter à chaque segment de données Dj au moins un canal de communication Ci et un rang rD de transmission via ledit canal selon une procédure de répartition programmée pour s'exécuter dans le décodeurassigning to each data segment Dj at least one communication channel Ci and a transmission row R D via said channel according to a distribution procedure programmed to execute in the decoder
(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) .(2) and in the security processor (6), said distribution procedure being defined by a pseudo-random law constructed from pseudo-random generators initialized with parameters of equal values in the decoder (2) and in the processor security (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 .transfer each data segment Dj from the decoder (2) to the security processor (6) or from the security processor (6) to the decoder (2) via said channel Ci and according to said rank rj.
2. Procédé selon la revendication 1, dans lequel chaque segment de données Dj est transmis via plusieurs canaux distincts C1 et selon plusieurs rangs distincts rη 2. Method according to claim 1, wherein each data segment Dj is transmitted via several distinct channels C 1 and according to several distinct ranks 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) .3. Method according to claim 1, wherein each data segment Dj is encrypted with a secret key Kj known from both the decoder (2) and the security processor (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) .4. The method of claim 3, wherein each data segment Dj is encrypted with a secret key Ki associated with a channel Ci, and known both of the first decoder (2) and the security processor (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) .5. The method according to claim 3, wherein all the data segments Dj are encrypted with the same secret key K known to both the decoder (2) and the security processor (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.The method of claim 1, wherein the procedure of dividing the data segments Dj between the communication channels Ci is defined by a deterministic law.
7. Procédé selon la revendication 1, dans lequel les canaux Ci sont des canaux logiques en nombre supérieur ou égal à deux.7. The method of claim 1, wherein the channels Ci are logical channels in number greater than or equal to two.
8. Procédé selon la revendication 1, dans lequel les canaux Ci sont ouverts sur au moins deux canaux physiques. The method of claim 1 wherein the Ci channels are open on at least two physical channels.
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.9. Method according to one of claims 1 to 8, wherein the data exchanged between the decoder (2) and the security processor (6) comprise, in addition to useful data segments Dj, at least one data segment of lure.
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) .The method according to claim 9, wherein the decoder (2) and the security processor (6) exchange said data via at least a first proxy module arranged in the decoder (2) or a second proxy module (14) arranged in the security processor (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 :11. Decoder (2) able to transmit data to a security processor (6) via a communication interface (4) connecting said decoder (2) and said security processor (6), characterized in that it comprises:
- des moyens pour déterminer un nombre entier N de canaux de communication distincts Ci via ladite interface (4) de communication,means for determining an integer number N of distinct communication channels Ci via said communication interface (4),
- des moyens pour découper les données à échanger en un nombre M de segments de données Dj ,means for splitting the data to be exchanged into a number M of data segments Dj,
- des moyens pour affecter à chaque segment de données Dj au moins un canal de communication Ci et un rang rD 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,means for allocating to each data segment Dj at least one communication channel Ci and a transmission row R D via said communication channel Ci according to a distribution procedure programmed to execute in the decoder (2) and in the security processor (6), means for encrypting each data segment Dj with a secret key Ki associated with the channel 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 rD .means for transferring each data segment Dj to the security processor (6) via said channel Ci and according to said row 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 :12. Security processor (6) adapted to receive data transmitted by the decoder (2) according to claim 11 via a communication interface (4), characterized in that it comprises:
- 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 rD 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.means for determining, for each data segment Dj transmitted, its order j in the initial block of data resulting from the division of this block, the channel Ci and the rank r D which have been assigned to it by the distribution procedure, means for storing the first received instance of each data segment Dj according to the results of said division and of said distribution, means for re-ordering said first received instances of the data segments Dj according to the results of said division and of said distribution, means for concatenating said first instances received from the data segments Dj to obtain said initial data block.
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) .13. Computer program recorded on a medium and intended to implement the method according to claim 1 when executed in a decoder (2) or in a security processor (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 :Transmitter proxy module (10) arranged in a decoder (2) and exchanging data via an interface (4) with a receiving proxy module (14) arranged in a security processor (6), characterized in that it comprises :
- des moyens pour définir un nombre entier N de canaux de communication distincts Ci via ladite interface (4) de communication,means for defining an integer number N of distinct communication channels Ci via said communication interface (4),
- des moyens pour découper les données à échanger en un nombre M de segments de données Dj ,means for splitting the data to be exchanged into a number M of data segments Dj,
- des moyens pour affecter à chaque segment de données Dj au moins un canal de communication Ci et un rang rD 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) ,means for assigning to each data segment Dj at least one communication channel Ci and a transmission row R D of said segment via said communication channel Ci according to a procedure for dividing the data segments Dj between the communication channels Ci defined by a pseudo-random law constructed from pseudo-random generators initialized with parameters of equal values in the decoder (2) and in the security processor (6),
- des moyens pour chiffrer chaque segment de données Dj avec une clé secrète Ki associée au canalmeans for encrypting each segment of data Dj with a secret key Ki associated with the channel
Ci,This,
- 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 rD . means for transferring each data segment Dj to the receiving proxy module (14) via said channel Ci and according to said row 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 :15. Receiving proxy module (14) arranged in a security processor (6) and intended to receive data transmitted by a transmitter proxy module arranged in a decoder (2) via a communication interface (4), characterized in that it comprises :
- 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 rD 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. means for determining, for each segment Dj of transmitted data, its order j in the initial block of data, resulting from the division of this block, the channel Ci and of rank r D which have been assigned to it by the distribution procedure, means for storing the first received instance of each data segment Dj according to the results of said division and said distribution, means for re-ordering said first instances received from the data segments Dj as a function of the results of said division and of said distribution means for concatenating said first instances received from data segments Dj to obtain said initial data block.
PCT/EP2008/062002 2007-09-13 2008-09-10 Method of securing a data stream WO2009034106A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0757542A FR2921173B1 (en) 2007-09-13 2007-09-13 METHOD FOR SECURING A DATA STREAM
FR0757542 2007-09-13

Publications (1)

Publication Number Publication Date
WO2009034106A1 true WO2009034106A1 (en) 2009-03-19

Family

ID=39262642

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2008/062002 WO2009034106A1 (en) 2007-09-13 2008-09-10 Method of securing a data stream

Country Status (3)

Country Link
FR (1) FR2921173B1 (en)
TW (1) TW200922158A (en)
WO (1) WO2009034106A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4802220A (en) * 1985-03-20 1989-01-31 American Telephone And Telegraph Company, At&T Bell Laboratories Method and apparatus for multi-channel communication security
WO1999059293A1 (en) * 1998-05-13 1999-11-18 Telefonaktiebolaget Lm Ericsson (Publ) Data transfer method with varying packet transmission time interval security protocol
EP1432261A1 (en) * 2002-12-20 2004-06-23 Matsushita Electric Industrial Co., Ltd. Receiver specific data manipulation in a communication system
US20040190723A1 (en) * 2003-03-28 2004-09-30 Keiichi Fukuda Contents data transmission/reception system, contents data transmitter, contents data receiver and contents data transmission/reception method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4802220A (en) * 1985-03-20 1989-01-31 American Telephone And Telegraph Company, At&T Bell Laboratories Method and apparatus for multi-channel communication security
WO1999059293A1 (en) * 1998-05-13 1999-11-18 Telefonaktiebolaget Lm Ericsson (Publ) Data transfer method with varying packet transmission time interval security protocol
EP1432261A1 (en) * 2002-12-20 2004-06-23 Matsushita Electric Industrial Co., Ltd. Receiver specific data manipulation in a communication system
US20040190723A1 (en) * 2003-03-28 2004-09-30 Keiichi Fukuda Contents data transmission/reception system, contents data transmitter, contents data receiver and contents data transmission/reception method

Also Published As

Publication number Publication date
FR2921173B1 (en) 2011-01-07
TW200922158A (en) 2009-05-16
FR2921173A1 (en) 2009-03-20

Similar Documents

Publication Publication Date Title
EP1305948B1 (en) Method for secure distribution of digital data representing a multimedia content
US7480385B2 (en) Hierarchical encryption key system for securing digital media
CA2423024C (en) Telecommunications system, especially ip-type, and equipment for such a system
EP0528730B1 (en) Method for emitting and receiving personalized programs
EP2052539B1 (en) Method of revocation of security modules used to secure broadcast messages
EP2892176A2 (en) Method for converting a conditional access content and receiver for the implementation for said method
EP1525748B1 (en) Method and electronic module for secure data transmission
EP1072124A2 (en) Method for verifying the use of public keys generated by an on-board system
EP0618736A1 (en) Method and device for scrambling and descrambling of a television transmission
FR2824212A1 (en) METHOD FOR MANAGING A SYMMETRIC KEY IN A COMMUNICATION NETWORK AND DEVICES FOR IMPLEMENTING IT
FR2876520A1 (en) METHOD AND DEVICE FOR PROVIDING ACCESS TO DATA AT A LOCATION OF AN INDIVIDUAL USER
EP1550308B1 (en) Multiple matching control method
FR2836608A1 (en) Encoded data transfer process uses decoding and encoding with secrets specific to sending and receiving domains
EP3185468A1 (en) Data-transmission method, data-receiving method, corresponding devices and programs
EP2827601A1 (en) Method and device for protecting decryption keys of a decoder
CN109218837A (en) A kind of method and apparatus showing virtual present special efficacy
EP1557025B1 (en) Simplified method for renewing symmetrical keys in a digital network
EP1419640B1 (en) Local digital network, methods for installing new devices and data broadcast and reception methods in such a network
EP1479234A1 (en) Method for processing encoded data for a first domain received in a network pertaining to a second domain
EP3035583A1 (en) Communication device and system, data-processing method and method for secure data exchange
EP1723791B1 (en) Method of securing a scrambled content sent by a broadcaster
WO2009034106A1 (en) Method of securing a data stream
EP1032158B1 (en) Method and apparatus for protecting a coprocessor used for encryption
EP1590960B1 (en) Method for storing and transmitting data generated by a security module
EP2253142B1 (en) Method of securing messages transmitted by a sender terminal to a remote receiver terminal

Legal Events

Date Code Title Description
DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08803969

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08803969

Country of ref document: EP

Kind code of ref document: A1