FR2889637A1 - Procede et systeme de chiffrement a haut debit - Google Patents

Procede et systeme de chiffrement a haut debit Download PDF

Info

Publication number
FR2889637A1
FR2889637A1 FR0552436A FR0552436A FR2889637A1 FR 2889637 A1 FR2889637 A1 FR 2889637A1 FR 0552436 A FR0552436 A FR 0552436A FR 0552436 A FR0552436 A FR 0552436A FR 2889637 A1 FR2889637 A1 FR 2889637A1
Authority
FR
France
Prior art keywords
block
sector
primary
key
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0552436A
Other languages
English (en)
Other versions
FR2889637B1 (fr
Inventor
Jean Luc Stehle
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Everbee Networks SA
Original Assignee
Everbee Networks SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Everbee Networks SA filed Critical Everbee Networks SA
Priority to FR0552436A priority Critical patent/FR2889637B1/fr
Priority to PCT/FR2006/050787 priority patent/WO2007015034A2/fr
Priority to EP06794528A priority patent/EP1911190A2/fr
Publication of FR2889637A1 publication Critical patent/FR2889637A1/fr
Application granted granted Critical
Publication of FR2889637B1 publication Critical patent/FR2889637B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention se rapporte La présente invention concerne un procédé et un système permettant de chiffrer ou de déchiffrer à la volée un flux d'information à haut débit.L'information se présente sous forme de blocs de bits, eux-mêmes regroupés en secteurs.L'invention met en oeuvre un algorithme de chiffrage par blocs, par exemple l'AES (Advanced Encryption Standard), mais au lieu d'être appliqué à tous les blocs d'un secteur, celui-ci n'est exécuté que deux fois par secteur et sert à construire des clés intermédiaires qui seront utilisées par un algorithme plus rapide (par exemple un masque XOR).La prise en compte d'une numérotation des secteurs permet de chiffrer de façon différente une même information, selon le secteur dans lequel elle est localisée.Le nombre de blocs par secteur peut être ajusté de façon à réaliser le meilleur compromis entre rapidité de calcul et sécurité cryptographique.

Description

PROCEDE ET SYSTEME DE CHIFFREMENT A HAUT DEBIT
La sécurisation des communications par voie électronique prend une importance croissante avec le développement des réseaux informatiques. Ce ne sont plus seulement les communications entre utilisateurs d'Internet qui doivent être sécurisées, mais plus généralement les communications numériques entre des appareils de plus en plus nombreux, à des débits de plus en plus élevés.
On peut citer par exemple les flux audiovisuels, aussi bien à destination d'un utilisateur final (télévision numérique, télévision à péage, téléchargement de films) que dans un environnement professionnel (caméras vidéo communiquant entre elles et/ou avec un serveur en mode numérique). Un cas particulier est celui des données audiovisuelles (musique, vidéo... ) stockées sur des CD ou des DVD chiffrés et qui seront déchiffrées à la volée, au moment de la lecture, sur un dispositif spécial muni de moyens de déchiffrement spécifiques.
D'autres applications concernent les communications entre l'unité centrale d'un ordinateur et divers supports de stockage qui peuvent être des disques internes ou externes, ou des systèmes distants accédés par réseau. Citons aussi les automobiles de l'avenir, dans lesquelles les divers organes communiquent entre eux par voie électronique plutôt que mécanique.
De nombreux algorithmes de chiffrement sont disponibles et sont considérés comme sûrs dans l'état actuel de nos connaissances. Il en est ainsi de l'algorithme de chiffrement AES (Advanced Encryption Standard) tel que défini en 2000 par le NIST américain (National Institute of Standards and Technology). Ces algorithmes nécessitent bien sûr une certaine puissance de calcul. On considère habituellement que l'évolution des technologies aboutit à un doublement de la puissance de calcul des processeurs tous les 18 mois (c'est ce qu'on appelle la loi de Moore). Or, il semble que, actuellement, les débits des réseaux informatiques doublent tous les 6 à 12 mois. Les besoins de chiffrement augmentent donc bien plus vite que les moyens de calcul, ce qui provoque un goulot d'étranglement. Mentionnons aussi la nécessité d'effectuer certaines opérations de chiffrement et/ou de déchiffrement sur des matériels à puissance limitée (téléphones portables, ordinateurs de poche, palm pilots etc.). La prise en compte de la sécurité aboutit alors rapidement à une diminution très significative de la puissance de calcul que le dispositif hôte peut consacrer aux diverses applications. Il est donc impératif de mettre en place des solutions de chiffrement à haut débit offrant une sécurité comparable à celle qu'offrent des algorithmes comme l'AES, tout en réduisant leur impact sur les performances du processeur du dispositif hôte.
Une solution intéressante est enseignée dans le brevet français 2860363 du 30 septembre 2003 (demande internationale, WO 2005/034009). Les fonctionnalités de sécurité, et en particulier le chiffrement/déchiffrement y sont sous-traitées à une petite unité extérieure, ci-après appelée un dongle , possédant son propre processeur de calcul et disposant de la puissance suffisante pour assurer ces fonctionnalités sans impact notable sur les performances du dispositif hôte. Le dongle est connecté sur un port (par exemple un port USB) à travers lequel est reroutée l'intégralité du flux de données à destination ou en provenance d'un réseau ou d'un moyen de stockage, local ou distant. Cette solution a l'avantage supplémentaire que les secrets cryptographiques ne quittent jamais le dongle et ne sont donc jamais accessibles par une attaque logicielle sur le dispositif hôte. Il y a cependant un inconvénient: les performances ne sont plus limitées par la puissance de calcul mais par la vitesse du flux à travers le port utilisé.
Une autre approche peut être l'utilisation d'un algorithme de chiffrement moins puissant mais plus rapide. En effet, parallèlement à des algorithmes similaires à l'AES, sûrs mais exigeants en puissance de calcul (algorithmes ci-après appelés algorithmes forts), il existe de nombreux algorithmes nécessitant une puissance de calcul bien plus faible, mais présentant aussi une sécurité bien plus faible (algorithmes ci- après appelés algorithmes faibles). L'un des plus rapides est l'utilisation d'un masque XOR. On génère une suite de bits, appelée le masque, de même longueur que l'information à chiffrer ou à déchiffrer. Pour chaque bit d'information, on considère alors le bit correspondant du masque, et selon que ce dernier est à 1 ou à 0, on modifie ou non le bit d'information. Cet algorithme offre une sécurité parfaite lorsqu'on utilise une clé de même longueur que l'information à chiffrer ou à déchiffrer, cette clé étant alors prise comme masque. En pratique, c'est généralement irréalisable. Pour construire le masque, on pourra par exemple concaténer des copies successives de la clé de chiffrement. L'algorithme est alors vulnérable, par exemple à des attaques de type statistique, et cette vulnérabilité augmente avec le nombre de copies de la clé initiale qu'il a fallu effectuer pour générer le masque, donc avec le ratio entre nombre de bits de l'information à traiter et nombre de bits de la clé.
L'une des idées à la base de la présente invention 35 consiste à faire coexister un algorithme fort, c'est-à-dire sûr mais exigeant en puissance de calcul et un algorithme moins sûr, mais bien plus rapide. L'algorithme fort sera un algorithme par bloc (par exemple l'AES) pour lequel l'information à chiffrer ou à déchiffrer sera découpée en blocs de longueur fixe (par exemple 128 bits dans le cas de l'AES), chaque bloc étant traité indépendamment des autres. Classiquement, l'algorithme fort était exécuté sur chacun des blocs. Par contre, dans l'invention objet du présent brevet, les blocs sont eux-mêmes regroupés en secteurs, un secteur regroupant plusieurs blocs (ou plusieurs dizaines ou centaines de blocs selon les applications). Le chiffrement et/ou le déchiffrement s'exécutent en deux phases. Pour chaque secteur, on calcule dans une première phase, à l'aide d'un algorithme fort, une clé secondaire de chiffrement dépendant notamment des données contenues dans ce secteur et variant d'un secteur à l'autre. Cette clé secondaire est, dans une seconde phase, utilisée pour chiffrer/déchiffrer tout ou partie des blocs du secteur à l'aide d'un algorithme plus rapide.
Quand bien même un attaquant arriverait à déchiffrer un secteur et/ou à accéder à la clé intermédiaire utilisée lors du chiffrement de ce secteur, cela ne lui serait d'aucune utilité pour déchiffrer les autres secteurs. Le système de chiffrement ainsi réalisé est d'autant plus fort qu'il y a peu de blocs dans un secteur. Ce nombre de secteurs pourra être adapté à l'application. Dans le chiffrement d'un flux vidéo, on peut, dans certains cas, considérer qu'il n'est pas trop pénalisant qu'un attaquant puisse de temps en temps accéder à une fraction de seconde de film, et la taille d'un secteur sera alors de l'ordre de grandeur de ce qui est nécessaire pour cette fraction de seconde. Dans d'autres applications (notamment des transactions financières), le besoin de sécurité est bien plus important et on limitera la taille d'un secteur à quelques dizaines de blocs en vue de diminuer significativement la vulnérabilité de l'algorithme.
L'invention a aussi pour but d'assurer, d'une part, que l'information chiffrée n'occupe pas plus de bits que l'information en clair, et, d'autre part, que les clés intermédiaires peuvent être facilement calculées, tant à partir de l'information en clair que de l'information chiffrée, lorsque l'on connaît les clés de l'algorithme fort, et qu'elles sont impossibles à retrouver dans le cas contraire.
De manière plus détaillée, l'invention concerne un procédé destiné à chiffrer ou à déchiffrer une information se présentant sous forme d'une suite de bits regroupés en blocs, ces blocs étant eux-mêmes regroupés en secteurs. Le procédé utilise une suite de bits appelée clé de chiffrement originelle. Il chiffre ou déchiffre un secteur, ci-après appelé secteur à traiter, en enchaînant les étapes suivantes: une étape de compression qui met en oeuvre une routine de compression qui prend comme argument le secteur à traiter, le résultat de cette routine de compression étant une suite de bits comportant moins de bits que le secteur ayant été pris comme argument, ce résultat étant ci-après appelé clé secondaire de chiffrement, - une étape de traitement consistant à prendre en compte tout ou partie des blocs constituant le secteur à traiter et à appliquer, à chacun des blocs ainsi pris en compte, une routine rapide de chiffrement effectuant un calcul prenant comme argument ce bloc et fournissant comme résultat un nouveau bloc, ce calcul utilisant une suite de bits appelée clé rapide déterminée à partir de ladite clé secondaire de chiffrement calculée lors de l'étape de compression.
Le résultat du procédé est un secteur composé d'autant de blocs que le secteur à traiter, tout ou partie des blocs de ce résultat étant constitué de l'ensemble des résultats de la routine rapide de chiffrement appliquée au cours de l'étape de traitement.
Dans un mode particulier de réalisation du procédé, la clé rapide est variable d'un bloc à l'autre.
Dans un mode particulier de réalisation du procédé, celui-ci met en oeuvre un premier crypteur primaire qui utilise une suite de bits appelée première clé primaire et effectue un calcul prenant comme argument un bloc et fournissant comme résultat un nouveau bloc. Il met aussi en oeuvre un second crypteur primaire, qui utilise une suite de bits appelée seconde clé primaire et effectue un calcul prenant comme argument un bloc et fournissant comme résultat un nouveau bloc. Le procédé comprend une première étape préalable consistant à déterminer la première et la seconde clé primaire à partir de la clé de chiffrement originelle. La routine de compression consiste alors à enchaîner les étapes suivantes: une étape initiale consistant à déterminer, à partir de tout ou partie des blocs formant le secteur à traiter, un bloc appelé bloc intermédiaire, - une étape intermédiaire consistant à appliquer le premier crypteur primaire à ce bloc intermédiaire pour fournir comme résultat un bloc appelé bloc discriminant, - une étape de calcul consistant à appliquer le second crypteur primaire au bloc discriminant et dont le résultat sera 20 la clé secondaire de chiffrement.
Le procédé est en outre tel qu'il soit possible de retrouver ce bloc discriminant à partir du secteur résultat du procédé.
Dans un mode particulier de réalisation du procédé, l'un des blocs du secteur résultat du procédé est égal au bloc discriminant. Dans certaines implémentations, la position occupée dans le secteur résultat par le bloc qui est égal au bloc discriminant est variable d'un secteur à l'autre.
Dans un mode particulier de réalisation du procédé, l'étape initiale de la routine de compression consiste à calculer le bloc intermédiaire en appliquant l'opérateur ou exclusif bit à bit (appelé habituellement opérateur XOR) entre tout ou partie des blocs constituant le secteur à traiter.
Dans un mode particulier de réalisation du procédé, les secteurs composant l'information à chiffrer ou à déchiffrer sont affectés d'un numéro appelé numéro de secteur. L'étape initiale de la routine de compression consiste alors à calculer le bloc intermédiaire en appliquant l'opérateur ou exclusif bit à bit entre, d'une part, tout ou partie des blocs constituant le secteur à traiter et, d'autre part, une valeur dépendant de ce numéro de secteur.
Dans un mode particulier de réalisation du procédé, l'étape initiale de la routine de compression prend en outre en compte, pour la détermination du bloc intermédiaire, une suite de bits appelée clé de mixage.
De préférence, cette clé de mixage est calculée à partir de la clé de chiffrement originelle lors d'une seconde étape préalable du procédé.
Dans un mode particulier de réalisation du procédé, le premier crypteur primaire est réversible, c'est-à-dire qu'il a deux modes de fonctionnement appelés ci-après mode direct et mode inverse. Si, fonctionnant en mode direct à partir d'un argument appelé ci-après argument initial, il fournit un résultat appelé ci-après résultat initial, alors, lorsqu'il fonctionne en mode inverse en prenant comme argument ce résultat initial, il fournit comme résultat l'argument initial. Dans ce mode de réalisation, la routine de compression consiste à enchaîner les étapes suivantes: une étape initiale consistant à déterminer, à partir 25 de tout ou partie des blocs formant le secteur à traiter, un bloc appelé bloc discriminant, - une étape de calcul consistant à appliquer le second crypteur primaire à ce bloc discriminant et dont le résultat sera la clé secondaire de chiffrement.
Le procédé comprend alors en outre une étape intermédiaire consistant à appliquer le premier crypteur primaire, fonctionnant en mode inverse, au bloc discriminant pour fournir comme résultat un bloc appelé bloc intermédiaire.
Le procédé comprend aussi une étape finale consistant à déterminer un ou plusieurs blocs du résultat du procédé à partir du bloc intermédiaire et de tout ou partie des résultats des routines rapides de chiffrement appliquées au cours de l'étape de traitement.
Dans un mode particulier de réalisation du procédé, le premier crypteur primaire fournit le même résultat que celui que donnerait l'algorithme de chiffrement AES si ce dernier fonctionnait sur le même argument, et avec une clé une clé identique à la première clé primaire.
Dans un mode particulier de réalisation du procédé, le second crypteur primaire fournit le même résultat que celui que donnerait l'algorithme de chiffrement AES si ce dernier fonctionnait sur le même argument, et avec une clé une clé identique à la seconde clé primaire.
Dans un mode particulier de réalisation du procédé, la routine rapide de chiffrement revient à appliquer l'opérateur ou exclusif bit à bit entre la clé rapide et le bloc pris comme argument par cette routine.
L'invention concerne aussi un système de traitement d'information comprenant des moyens de calcul et des moyens de stockage d'information permettant de mettre en oeuvre le procédé de chiffrement et/ou de déchiffrement précédemment décrit.
Dans un mode particulier de réalisation du système, celui-ci se compose de deux parties. L'une de ces parties, ci-après appelée dispositif cryptographique spécifique, comprend des moyens de traitement permettant de réaliser l'étape préalable, l'étape intermédiaire et l'étape de calcul. L'autre partie composant le système est appelée ci-après dispositif hôte. Le dispositif cryptographique spécifique est tel que la première clé primaire, la seconde clé primaire et la clé de chiffrement originelle ne sont jamais communiquées en dehors de ce dispositif cryptographique spécifique. Le système comprend des moyens de liaison permettant au dispositif hôte de communiquer au dispositif cryptographique spécifique des informations déterminées à partir du secteur à traiter, ainsi que des moyens de liaison permettant au dispositif cryptographique spécifique de communiquer au dispositif hôte la clé secondaire de chiffrement. Le dispositif hôte comprend des moyens de traitement permettant de réaliser l'étape de traitement.
Dans un mode particulier de réalisation du système, le dispositif cryptographique spécifique est amovible et peut être déconnecté du dispositif hôte. La connexion entre le dispositif cryptographique spécifique et le dispositif hôte peut se faire par un port autoalimenté, notamment un port USB, ou par une connexion sans fil.
L'invention concerne aussi un moyen de stockage de données sous forme numérique, tout ou partie de ces données ayant été chiffrées à l'aide du procédé objet de la présente invention et étant destinées à être déchiffrées à l'aide du système objet de la présente invention.
Dans un mode particulier de réalisation de l'invention, tout ou partie des données stockées dans le moyen de stockage sont des données de nature audiovisuelle, notamment des données sonores, entre autres de la musique et/ou des données vidéo, notamment des films.
Dans un mode particulier de réalisation de l'invention, ce moyen de stockage est destiné à être lu par lecture optique, notamment en utilisant un lecteur de CD, de MD, ou de DVD.
La figure 1 représente un exemple de réalisation de la présente invention, cet exemple étant donné ici à titre illustratif et non limitatif des possibilités de réalisation de la présente invention. Une étape préalable permet de construire, à partir d'une clé originelle K0, d'une part des clés primaires KP1 et KP2 et d'autre part une clé de mixage KM.
Le secteur S à traiter (dans le cas présent, l'information en clair, qu'on se propose de chiffrer) se compose des n blocs (Mo, MI, ..., Mn_1) et est affecté d'un nombre appelé numéro de secteur NS. Le résultat final du calcul sera un secteur T composé de n blocs (Co, Cl, ..., Cn_1) contenant l'information chiffrée. Le détail des opérations à effectuer est alors le suivant: Dans une première étape, un processus de calcul appelé le mixeur détermine, à partir, d'une part, des n blocs (Mo, M1, , Mn_1) composant le secteur S à traiter, ainsi que, d'autre part, du numéro de secteur NS et de la clé de mixage KM, un bloc appelé bloc intermédiaire X. Dans un mode particulier de réalisation de l'invention, ci-après appelé mode mixeur XOR , le mixeur calcule un bloc, ci-après appelé le bloc Y, à partir du numéro de secteur NS et de la clé de mixage KM et effectue ensuite une opération XOR (ou exclusif bit à bit) entre n+ l termes qui sont le bloc Y qui vient d'être calculé et les n blocs (Mo, M1,..., Mn_1) composant le secteur à traiter. Le bloc intermédiaire X est alors le résultat de cette opération XOR.
Dans une seconde étape, le bloc intermédiaire X est chiffré à l'aide d'un algorithme de chiffrement appelé premier crypteur primaire CP1, utilisant la première clé primaire KP1.
Le résultat de ce chiffrement est un bloc appelé bloc discriminant et noté Co. Dans le mode particulier de réalisation représenté sur la figure 1, le bloc discriminant Co est le premier bloc du résultat final c'est-à- dire du secteur T. Dans certaines réalisations de la présente invention, le bloc discriminant peut être l'un quelconque des blocs du résultat final, la position de ce bloc pouvant varier d'un secteur à l'autre. Dans d'autres réalisations, le bloc discriminant est pris en compte dans le calcul du résultat final, c'est-à-dire du secteur T, de façon à pouvoir être facilement retrouvé à partir de ce secteur T, par exemple en appliquant un opérateur XOR à tout ou partie des blocs formant le secteur T. Dans une troisième étape, le bloc discriminant Co est lui-même chiffré à l'aide d'un algorithme de chiffrement appelé second crypteur primaire CP2, utilisant la seconde clé primaire KP2. Le résultat de ce chiffrement sera la clé secondaire de chiffrement KS.
Dans un mode particulier de réalisation de l'invention les crypteurs primaires CP1 et CP2 mettent en oeuvre tous deux l'algorithme AES, avec des clés KP1 et KP2 différentes.
Dans une quatrième étape, les n-1 blocs (MI, M2, ..., Mn-1) , c'est-àdire tous les blocs constituant le secteur à traiter S, à l'exclusion du premier, sont chiffrés à l'aide d'un algorithme de chiffrement rapide CR. Pour ce faire, n-1 suites de bits, appelées clés de chiffrement rapides, et notées respectivement k1r k2, kn_1, sont calculées à partir de la clé secondaire de chiffrement KS.
Dans l'exemple de réalisation représenté dans la figure 1, le calcul des clés de chiffrement rapide se fait en deux temps. D'une part on génère une suite de nombres K1, K2..., Kn-1 le premier étant égal à la clé KS, chacun des suivants étant calculé en appliquant une fonction F au nombre qui le précède dans la suite. Ces nombres K1r K2..., Kn_1, génèrent ensuite les n-1 clés de chiffrement rapide k1r k2, kn_1. Chacun des n-1 blocs (MI, M2, ..., Mn_1) est alors chiffré par l'algorithme de chiffrement rapide à l'aide d'une de ces clés de chiffrement rapide, le résultat de ce chiffrement donnant le bloc correspondant dans le résultat final du calcul T. Dans un autre mode particulier de réalisation de l'invention, les clés de chiffrement rapides sont simplement toutes égales entre elles et égales à la clé secondaire de chiffrement KS.
Dans un mode particulier de réalisation de l'invention, l'algorithme de chiffrement rapide est un simple masque XOR, c'est-à-dire consiste à réaliser une opération XOR bit à bit entre le bloc à chiffrer et la clé de chiffrement rapide.
La figure 2 représente un autre mode de mise en oeuvre de l'invention objet du présent brevet, le but ici étant de réaliser l'opération inverse de celle représentée dans la figure 1. Dans ce mode de mise en oeuvre, le secteur à traiter est un secteur à déchiffrer T, composé des n blocs (Co, Cl,", Cn 1) , l'objectif étant de retrouver comme résultat final le secteur S 35 qui avait été chiffré de la façon représentée dans la figure 1, le numéro de secteur étant le même.
La même étape préalable que dans l'exemple illustré par la figure 1 permet de construire, à partir d'une clé originelle KO, d'une part des clés primaires KP1 et KP2 et, d'autre part, 5 une clé de mixage KM.
Dans le mode de réalisation illustré par la figure 2, le bloc intermédiaire est Co, premier bloc du secteur à déchiffrer. Dans d'autres modes de réalisation de la présente invention, le bloc intermédiaire est l'un quelconque des blocs du secteur à déchiffrer ou encore est déterminé à partir de tout ou partie du secteur à déchiffrer.
Une fois le bloc intermédiaire déterminé, on lui applique directement le second crypteur primaire, à l'aide de la seconde clé primaire KP2, ce qui génère la clé secondaire de chiffrement KS.
Les clés de chiffrement rapide k1r k2, ... kri_1 sont alors calculées à partir de la clé secondaire de chiffrement KS de la même façon que dans l'exemple de réalisation représenté sur la figure 1, et chacun des n-1 blocs (C1r C2, ..., Cri_1) est ensuite déchiffré par l'algorithme réciproque de l'algorithme de chiffrement rapide et à l'aide de la clé de chiffrement rapide correspondante, le résultat de ce chiffrement donnant le bloc correspondant dans le résultat final S. On reconstitue ainsi les blocs (M1r M2, ..., Mn_1) . Le mixeur permet alors de reconstituer le bloc Mo en prenant en compte les blocs (M1, Mer Mr_1) , le numéro de secteur NS, la clé de mixage KM, ainsi qu'un bloc X calculé en appliquant au bloc Co l'algorithme réciproque du premier crypteur primaire avec la première clé primaire KP1.
Dans le mode particulier de réalisation de l'invention dans lequel l'algorithme de chiffrement rapide est un simple masque XOR, cet algorithme de chiffrement rapide est son propre algorithme réciproque.
Dans le mode particulier de réalisation de l'invention qui est le mode mixeur XOR , le mixeur calcule un bloc ci- après appelé bloc Y à partir du numéro de secteur NS et de la clé de mixage KM et détermine le bloc Mo en effectuant alors une opération XOR (ou exclusif bit à bit) entre n+l termes qui sont le bloc Y qui vient d'être calculé, le bloc X calculé en appliquant au bloc Co l'algorithme réciproque du premier crypteur primaire avec la première clé primaire KP1 et les n-1 blocs déjà reconstitués (M1r M2,..., M _1) composant le secteur S. Dans une implémentation particulière de l'invention, donnée ici à titre illustratif et non limitatif des possibilités de réalisation de la présente invention, celle-ci utilise une petite unité extérieure, ci- après appelée un dongle , connectée par exemple à un dispositif hôte, par exemple sur un port USB ou un port en mode sans fil ( wireless ), comme enseigné dans le brevet français 2860363 cité précédemment.
Dans cette implémentation l'invention fonctionne en mode Mixeur XOR et les crypteurs primaires CP1 et CP2 sont réalisés au sein du dongle. La clé originelle KO, les clés primaires KP1 et KP2 et la clé de mixage KM ne sont jamais communiquées au dispositif hôte. Plus généralement, le dispositif hôte ne peut avoir accès à aucune information qui lui permettrait de reconstituer totalement ou partiellement les clés primaires KP1 et KP2 dans l'hypothèse où il n'existe aucune attaque connue sur l'algorithme utilisé dans les crypteurs primaires (celui-ci étant par exemple l'AES).
Dans le mode de réalisation représenté sur la figure 1 et décrit précédemment, le dispositif hôte procède à un premier calcul consistant à effectuer le XOR bit à bit de tous les blocs constituant le secteur à chiffrer S et envoie au dongle le résultat de ce calcul ainsi que le numéro de secteur NS. Les calculs du bloc intermédiaire X, du bloc discriminant Co et de la clé secondaire de chiffrement KS sont alors effectués dans le dongle. Celui-ci renvoie le bloc discriminant Co et la clé secondaire de chiffrement KS au dispositif hôte. Ce dernier effectue alors, si nécessaire, le calcul des diverses clés de chiffrement rapide k1, k2, ... kn_1 et met en uvre l'algorithme de chiffrement rapide CR.
Dans le mode de réalisation représenté sur la figure 2 et décrit précédemment, le dispositif hôte envoie au dongle le bloc Co et le numéro de secteur NS. Comme précédemment le dongle calcule et renvoie au dispositif hôte la clé secondaire de chiffrement KS qui servira au calcul des diverses clés de chiffrement rapide k1r k2, kn_1 et à la mise en oeuvre de l'algorithme de chiffrement rapide CR en vue de reconstituer les blocs (MI, M2, ..., Mn_1) . Le dongle calcule et renvoie, d'autre part, un bloc Y qui permettra, à partir des blocs déjà reconstitués, de reconstituer Mo.
Dans cette implémentation, pour chaque secteur, les communications entre le dispositif hôte et le dongle se limitent, dans un sens, à un bloc et un numéro de secteur, et, dans l'autre sens, à deux blocs, ce qui limite significativement les temps de transferts liés à ces communications. L'algorithme fort (et exigeant en temps de calcul) n'est appliqué qu'à deux blocs. Tous les autres blocs constituant le secteur à chiffrer ou à déchiffrer sont traités dans le dispositif hôte, à l'aide d'algorithmes rapides. Le gain de performances est donc d'autant plus élevé qu'il y a plus de blocs dans le secteur. L'augmentation du nombre de blocs par secteur diminue la sécurité cryptographique du système, c'est-à-dire facilite la tâche d'un attaquant qui souhaiterait retrouver les secteurs clairs à partir des secteurs chiffrés. Mais même en cas d'attaque réussie, cela ne donne à l'attaquant aucune information quant aux secrets cryptographiques contenus dans le dongle. En pratique, on peut faire varier le nombre de blocs par segment de façon à réaliser le meilleur compromis entre rapidité et sécurité, en fonction de l'application, tout en conservant les mêmes secrets cryptographiques dans le dongle.
Une des applications de l'invention est le déchiffrement de flux audio ou vidéo stockés sous forme chiffrée dans un support physique (CD, MD, DVD ou autre). Le déchiffrement se fait à la volée au moment où l'on souhaite écouter ou visionner le contenu du support, et il n'est possible que si un dongle, possédant les clés cryptographiques nécessaires, est connecté au dispositif de lecture de ce support. La connexion entre le dongle et cedispositif hôte peut être de plusieurs types: dongle branché sur une prise présente dans le dispositif hôte, par exemple un port USB, ou dongle connecté au dispositif hôte via un câble de raccordement, ou encore connexion sans fil (dite wireless ), le dongle étant suffisamment voisin du dispositif hôte. L'utilisateur de CD ou de DVD ainsi cryptés pourra lire son support sur divers dispositifs de lecture de même type pour peu qu'il emporte avec lui son dongle en même temps que son support physique.
Dans une autre application de la présente invention, le système de lecture des flux audio ou vidéo comporte en son sein un dispositif cryptographique spécifique qui joue le même rôle que celui du dongle dans la mise en uvre du processus de déchiffrement. Notamment, les secrets cryptographiques sont stockés dans ce dispositif cryptographique spécifique et ne sont jamais communiqués à l'extérieur de celui-ci. Il est alors possible de personnaliser les systèmes de lecture et de distribuer (sur support CD ou DVD ou par téléchargement) des données audiovisuelles chiffrées qui ne seront lisibles que par le système de lecture auxquelles elles sont destinées.
Dans un mode particulier de réalisation, le dispositif cryptographique spécifique utilise un ou plusieurs composants 25 matériels spécifiques réalisés sur silicium (Technologie FPGA ou ASIC).
Qu'elle soit réalisée à l'aide d'un dongle ou d'un dispositif intégré dans le système de lecture, l'invention, objet du présent brevet, apporte ainsi, entre autres, une solution pour éviter les téléchargement illégaux et les copies illégales de contenus audiovisuels protégés par des droits d'auteur.

Claims (22)

REVENDICATIONS
1. Procédé destiné à chiffrer et/ou à déchiffrer une information se présentant sous forme d'une suite de bits regroupés en blocs de bits ciaprès appelés blocs, lesdits blocs étant eux-mêmes regroupés en secteurs; ledit procédé utilisant une suite de bits appelée clé de chiffrement originelle (KO) ; ledit procédé chiffrant ou déchiffrant un secteur ciaprès appelé secteur à traiter (S;T) en enchaînant les étapes suivantes: une étape mettant en oeuvre une routine de compression, ladite routine de compression prenant comme argument ledit secteur à traiter (S; T), et fournissant comme résultat une suite de bits comportant moins de bits que le secteur ayant été pris comme argument, le résultat de ladite routine de compression ainsi mise en oeuvre étant ci-après appelé clé secondaire de chiffrement (KS), - une étape de traitement consistant à prendre en compte tout ou partie des blocs (Mi; Ci) constituant ledit secteur à traiter (S; T) et à appliquer à chacun des blocs ainsi pris en compte une routine rapide de chiffrement (CR), ladite routine rapide de chiffrement (CR) effectuant un calcul prenant comme argument ce bloc (Mi; Ci) et fournissant comme résultat un nouveau bloc (Ci; Mi) ; le calcul effectué par ladite routine rapide de chiffrement (CR) utilisant une suite de bits appelée clé rapide (ki), ladite clé rapide (ki) étant déterminée à partir de ladite clé secondaire de chiffrement (KS) ; le résultat dudit procédé étant un secteur (T; S) composé d'autant de blocs que ledit secteur à traiter (S; T), tout ou partie des blocs dudit résultat dudit procédé étant déterminés à partir des résultats fournis par ladite routine rapide de chiffrement (CR) appliquée au cours de ladite étape de traitement.
2. Procédé selon la revendication 1, ladite clé rapide (ki) étant variable de l'un à l'autre des blocs (Mi; Ci) pris comme argument par ladite routine rapide de chiffrement (CR).
3. Procédé selon l'une quelconque des revendications 1 ou 2, ledit procédé mettant en oeuvre un premier crypteur primaire (CP1), ledit premier crypteur primaire (CP1) utilisant une suite de bits appelée première clé primaire (KP1), et effectuant un calcul prenant comme argument un bloc et fournissant comme résultat un nouveau bloc; ledit procédé mettant en oeuvre un second crypteur primaire (CP2), ledit second crypteur primaire (CP2) utilisant une suite de bits appelée seconde clé primaire (KP2), et effectuant un calcul prenant comme argument un bloc et fournissant comme résultat un nouveau bloc; ledit procédé comprenant une première étape préalable consistant à déterminer ladite première clé primaire (KP1) et ladite seconde clé primaire (KP2) à partir de ladite clé de chiffrement originelle (KO) ; ladite routine de compression consistant à enchaîner les étapes suivantes: - une étape initiale consistant à déterminer, à partir de tout ou partie des blocs formant ledit secteur à traiter (S), un bloc appelé bloc intermédiaire (X), - une étape intermédiaire consistant à appliquer le premier crypteur primaire (CP1) audit bloc intermédiaire (X) pour fournir comme résultat un bloc appelé bloc discriminant (Co), une étape de calcul consistant à appliquer le second crypteur primaire (CP2) audit bloc discriminant (Co) ; ladite clé secondaire de chiffrement (KS) résultat de ladite routine de compression étant alors le résultat de ladite étape de calcul; ledit procédé étant en outre tel qu'il soit possible de retrouver ledit bloc discriminant (Co) à partir dudit secteur (T) résultat dudit procédé.
4. Procédé selon la revendication 3, ledit procédé étant en outre tel que l'un des blocs dudit secteur (T) résultat dudit procédé est égal audit bloc discriminant (Co)
5. Procédé selon la revendication 4, ledit procédé étant en outre tel que la position occupée dans ledit secteur (T) résultat dudit procédé par le bloc qui est égal audit bloc discriminant (Co) est variable d'un secteur à l'autre.
6. Procédé selon l'une quelconque des revendications 3 à 5, ladite étape initiale de ladite routine de compression consistant à calculer ledit bloc intermédiaire (X) en appliquant l'opérateur ou exclusif bit à bit (appelé habituellement opérateur XOR) entre tout ou partie des blocs constituant ledit secteur à traiter (S).
7. Procédé selon l'une quelconque des revendications 3 à 5, les secteurs composant ladite information à chiffrer ou à déchiffrer étant affectés d'un numéro appelé numéro de secteur (NS) ; ladite étape initiale de ladite routine de compression consistant à calculer ledit bloc intermédiaire (X) en appliquant l'opérateur ou exclusif bit à bit (appelé habituellement opérateur XOR) entre, d'une part, tout ou partie des blocs constituant ledit secteur à traiter (S) et, d'autre part, une valeur dépendant dudit numéro de secteur (NS) affecté audit secteur à traiter (S).
8. Procédé selon l'une quelconque des revendication 3, 4, 5 ou 7, ladite étape initiale de ladite routine de compression prenant en outre en compte, pour la détermination de la valeur dudit bloc intermédiaire (X), une suite de bits appelée clé de mixage (KM).
9. Procédé selon la revendication 8, ledit procédé comprenant en outre une seconde étape préalable consistant à calculer ladite clé de mixage (KM) à partir de ladite clé de chiffrement originelle (KO).
10. Procédé selon l'une quelconque des revendications 1 ou 2, ledit procédé mettant en oeuvre un premier crypteur primaire (CP1), ledit premier crypteur primaire (CP1) utilisant une suite de bits appelée première clé primaire (KP1), effectuant un calcul prenant comme argument un bloc et fournissant comme résultat un nouveau bloc; ledit premier crypteur primaire ayant deux modes de fonctionnement appelés ci-après mode direct et mode inverse; ledit premier crypteur primaire (CP1), étant tel que si, fonctionnant en mode direct à partir d'un argument appelé ciaprès argument initial, il fournit un résultat appelé ci-après résultat initial, alors, lorsqu'il fonctionne en mode inverse en prenant comme argument ledit résultat initial, il fournit comme résultat ledit argument initial; ledit procédé mettant en oeuvre un second crypteur primaire (CP2) , ledit second crypteur primaire (CP2) utilisant une suite de bits appelée seconde clé primaire (KP2), effectuant un calcul prenant comme argument un bloc et fournissant comme résultat un nouveau bloc; ledit procédé comprenant une étape préalable consistant à déterminer ladite première clé primaire (KP1) et ladite seconde clé primaire (KP2) à partir de ladite clé de chiffrement originelle (KO) ; ladite routine de compression consistant à enchaîner les étapes suivantes: une étape initiale consistant à déterminer, à partir de tout ou partie des blocs formant ledit secteur à traiter (T), un bloc appelé bloc discriminant (Co) , - une étape de calcul consistant à appliquer le second crypteur primaire (CP2) audit bloc discriminant (Co) ; ladite clé secondaire de chiffrement (KS) résultat de ladite routine de compression étant alors le résultat de ladite étape de calcul; ledit procédé comprenant, en outre, une étape intermédiaire consistant à appliquer ledit premier crypteur primaire (CP1), fonctionnant en mode inverse, audit bloc discriminant (Co) pour fournir comme résultat un bloc appelé bloc intermédiaire (X) ; ledit procédé comprenant, en outre, une étape finale consistant à déterminer un ou plusieurs blocs dudit secteur (S) résultat dudit procédé à partir dudit bloc intermédiaire (X) et de tout ou partie des résultats desdites routines rapides de chiffrement (CR) appliquées au cours de ladite étape de traitement.
11. Procédé selon l'une quelconque des revendications 3 à 10, ledit premier crypteur primaire (CP1) fournissant comme résultat le résultat que donnerait l'algorithme de chiffrement AES si ledit algorithme de chiffrement AES était mis en oeuvre sur un argument identique à l'argument pris par ledit premier crypteur primaire (CP1), et avec une clé identique à ladite première clé primaire (KP1).
12. Procédé selon l'une quelconque des revendications 3 à 10, ledit second crypteur primaire (CP2) fournissant comme résultat le résultat que donnerait l'algorithme de chiffrement AES si ledit algorithme de chiffrement AES était mis en oeuvre sur un argument identique à l'argument pris par ledit second crypteur primaire (CP2), et avec une clé identique à ladite seconde clé primaire (KP2).
13. Procédé selon l'une quelconque des revendications 1 à 12, ladite routine rapide de chiffrement (CR) fournissant comme résultat le résultat de l'opération consistant à appliquer l'opérateur ou exclusif bit à bit (appelé habituellement opérateur XOR) entre ladite clé rapide (ki) et le bloc pris comme argument par ladite routine rapide de chiffrement.
14. Système de traitement d'information comprenant des moyens de calcul et des moyens de stockage d'information permettant de mettre en oeuvre le procédé de chiffrement et/ou de déchiffrement selon l'une quelconque des revendications 1 à 13.
15. Système de traitement d'information comprenant des moyens de calcul et des moyens de stockage d'information permettant de mettre en oeuvre le procédé de chiffrement et/ou de déchiffrement selon l'une quelconque des revendications 3 à 9, ledit système se composant de deux parties; l'une des parties composant ledit système étant ci-après appelée dispositif cryptographique spécifique et comprenant des moyens de traitement permettant de réaliser ladite étape préalable, ladite étape intermédiaire et ladite étape de calcul; l'autre des parties composant ledit système étant ci- après appelée dispositif hôte; ledit dispositif cryptographique spécifique étant tel que ladite première clé primaire (KP1), ladite seconde clé primaire (KP2) et ladite clé de chiffrement originelle (KO) ne sont jamais communiqués en dehors dudit dispositif cryptographique spécifique; ledit système comprenant des moyens de liaison permettant audit dispositif hôte de transmettre audit dispositif cryptographique spécifique des informations déterminées à partir dudit secteur à traiter (S; T) ; ledit système comprenant des moyens de liaison permettant audit dispositif cryptographique spécifique de transmettre audit dispositif hôte ladite clé secondaire de chiffrement (KS) ; ledit dispositif hôte comprenant des moyens de traitement permettant de réaliser ladite étape de traitement.
16. Système selon la revendication 15, ledit dispositif cryptographique spécifique étant amovible et pouvant être déconnecté dudit dispositif hôte.
17. Système selon la revendication 16, ledit dispositif cryptographique spécifique étant connectable audit dispositif hôte par un port autoalimenté, notamment un port USB.
18. Système selon la revendication 16, ledit dispositif cryptographique spécifique étant connectable audit dispositif hôte par une connexion sans fil.
19. Dispositif cryptographique spécifique destiné à un système selon l'une quelconque des revendications 15 à 18.
20. Moyen de stockage de données sous forme numérique, tout ou partie desdites données stockées dans ledit moyen de stockage ayant été chiffrées à l'aide du procédé selon l'une quelconque des revendications 1 à 13.
21. Moyen de stockage selon la revendication 20, tout ou partie desdites données stockées dans ledit moyen de stockage étant des données de nature audiovisuelle.
22. Moyen de stockage selon l'une quelconque des revendications 20 ou 21, ledit moyen de stockage étant destiné à être lu par lecture optique.
FR0552436A 2005-08-04 2005-08-04 Procede et systeme de chiffrement a haut debit Expired - Fee Related FR2889637B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0552436A FR2889637B1 (fr) 2005-08-04 2005-08-04 Procede et systeme de chiffrement a haut debit
PCT/FR2006/050787 WO2007015034A2 (fr) 2005-08-04 2006-08-03 Procede et systeme de chiffrement a haut debit
EP06794528A EP1911190A2 (fr) 2005-08-04 2006-08-03 Procede et systeme de chiffrement a haut debit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0552436A FR2889637B1 (fr) 2005-08-04 2005-08-04 Procede et systeme de chiffrement a haut debit

Publications (2)

Publication Number Publication Date
FR2889637A1 true FR2889637A1 (fr) 2007-02-09
FR2889637B1 FR2889637B1 (fr) 2007-10-19

Family

ID=36360849

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0552436A Expired - Fee Related FR2889637B1 (fr) 2005-08-04 2005-08-04 Procede et systeme de chiffrement a haut debit

Country Status (3)

Country Link
EP (1) EP1911190A2 (fr)
FR (1) FR2889637B1 (fr)
WO (1) WO2007015034A2 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001041357A1 (fr) * 1999-12-03 2001-06-07 Cipheractive Communication Security Ltd. Cryptage de blocs de donnees divises, a l'aide de procedes de cle publique et de nombres aleatoires
US6504931B1 (en) * 1996-02-28 2003-01-07 Hitachi, Ltd. Method and apparatus for encrypting data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6504931B1 (en) * 1996-02-28 2003-01-07 Hitachi, Ltd. Method and apparatus for encrypting data
WO2001041357A1 (fr) * 1999-12-03 2001-06-07 Cipheractive Communication Security Ltd. Cryptage de blocs de donnees divises, a l'aide de procedes de cle publique et de nombres aleatoires

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MENEZES, VANSTONE, OORSCHOT: "Handbook of Applied Cryptography", 1997, CRC PRESS LLC, USA, XP002383085 *

Also Published As

Publication number Publication date
FR2889637B1 (fr) 2007-10-19
WO2007015034A2 (fr) 2007-02-08
WO2007015034A3 (fr) 2007-09-13
EP1911190A2 (fr) 2008-04-16

Similar Documents

Publication Publication Date Title
EP3391585B1 (fr) Procédé de sécurisation d'un enregistrement de contenu multimédia dans un support de stockage
EP2892176A2 (fr) Procédé de conversion d'un contenu a accès conditionnel et récepteur pour la mise en oeuvre de ce procédé
EP1524795B1 (fr) Chiffrement de données dans un appareil électronique à plusieurs processeurs symétriques
EP2643943B1 (fr) Procédé et système d'accès conditionnel à un contenu numérique, terminal et dispositif d'abonné associés
WO2005008951A2 (fr) Procede, systeme et supports d'enregistrement de chiffrement et/ou de dechiffrement traçable
EP3861670A1 (fr) Methode de transchiffrement a faible latence de calcul appliquee au chiffrement homomorphe
FR2948518A1 (fr) Procede de conversion d'un premier chiffre en un deuxieme chiffre
EP1355446B1 (fr) Chiffrement du contenu d'une mémoire externe à un processeur
EP1419640B1 (fr) Reseau numerique local, procedes d'installation de nouveaux dispositifs et procedes de diffusion et de reception de donnees dans un tel reseau
EP1352523A1 (fr) Methode pour stocker des donnees encryptees
FR2922393A1 (fr) Systeme tracable de chiffrement/dechiffrement de donnees numeriques diffusees
FR2889637A1 (fr) Procede et systeme de chiffrement a haut debit
WO2007031894A2 (fr) Procede et systeme cryptographiques ameliores
Arora et al. Performance analysis of cryptography algorithms
EP1723791B1 (fr) Methode de securisation d'un evenement telediffuse
EP2153575B1 (fr) Obtention de valeurs dérivées dépendant d'une valeur maîtresse secrète
EP2652899B1 (fr) Procédé et système d'accès conditionnel à un contenu numérique, terminal et dispositif d'abonné associés
FR2923968A1 (fr) Procede de partage d'un secret fort entre deux parties dont l'une dispose de peu de puissance de traitement.
EP2294750B1 (fr) Procede et systeme tracables de diffusion de donnees numeriques
WO2024175864A1 (fr) Procede et dispositif de stockage en ligne reparti de fichiers dans un contexte zero confiance
FR3072848B1 (fr) Procede de reception et de dechiffrement, par un processeur electronique de securite, d'un cryptogramme d'un mot de controle
WO2015011421A1 (fr) Procédé pour la restitution d'un contenu multimedia chiffré
Park et al. On a Digital-Right-Management system using One-Time-Password
FR2884995A1 (fr) Procede de transmission securisee, processus/modules de chiffrement et de dechiffrement, support d'enregistrement d'informations pour ce procede

Legal Events

Date Code Title Description
TP Transmission of property
ST Notification of lapse

Effective date: 20110502