Brevet FR2834154A1 — publié le 20030627

L'invention se rapporte à une unité électronique comprenant un processeur, des moyens d'entrée-sortie de données et des moyens de cryptographie ; elle concerne plus particulièrement un nouvel agencement de ces différents sous-ensembles permettant d'accélérer le traitement cryptographique de certaines données. Une unité électronique connue incorporant des moyens de cryptographie est agencée autour d'un processeur associé à ses différentes mémoires (de type RAM, ROM et EEPROM, par exemple) et relié à des moyens d'entrée-sortie. Le processeur est couplé aux moyens de cryptographie, par l'intermédiaire d'un registre mémoire. Les moyens de cryptographie sont généralement constitués par des circuits électroniques dédiés aux calculs cryptographiques et spécialement conçus pour réaliser très rapidement ces calculs. Les opérations réalisées sont, par exemple, des opérations de chiffrement et de déchiffrement par un protocole DES. Dans le domaine des cartes à mircocircuit, il existe aujourd'hui des unités cryptographiques très légères, contenant de l'ordre de 5 000 portes logiques, capables de réaliser des calculs DES en 16 coups d'horloge seulement. En comparaison, la copie de 8 octets dans un registre (longueur d'un mot en chiffrement DES) nécessite 48 coups d'horloge. Les moyens d'entréesortie sont par exemple une interface de type UART échangeant des informations avec l'extérieur de ladite unité électronique selon le protocole IS07816 ou USB (Universal Serial Bus, en anglais). L'interface UART comporte un registre. De façon connue, les moyens de cryptographie (on parle généralement d'une unité de calcul cryptographique) sont directement reliés au processeur, qui gère entièrement le transfert des données à encrypter ou décrypter vers les moyens de cryptographie, le déroulement des opérations de cryptage/décryptage et le renvoi des résultats vers les moyens d'entrée-sortie. On conçoit donc que ce mode de fonctionnement, qui monopolise à chaque étape le processeur, soit relativement lent et implique une consommation d'énergie relativement importante. L'invention permet de surmonter ces inconvénients. Plus particulièrement, l'invention concerne une unité électronique comprenant un processeur, des moyens d'entrée-sortie de données et des moyens de cryptographie, caractérisée par une liaison directe de transmission bidirectionnelle de données, établie entre lesdits moyens d'entrée-sortie et lesdits moyens de cryptographie. Pour permettre cette liaison directe, les moyens d'entrée-sortie et les moyens de cryptographie peuvent partager un espace mémoire commun. Celuici peut être le registre-mémoire classiquement associé aux moyens de cryptographie. Avantageusement, les moyens d'entrée-sortie comportent une unité d'émission-réception, par exemple du type UART et la liaison directe est établie entre ladite unité d'émission-réception et le registre mémoire des moyens de cryptographie. Selon un mode de réalisation, l'unité d'émission-réception comporte des moyens de pilotage direct desdits moyens de cryptographie. En d'autres termes, l'unité dite UART peut être complétée de façon simple (à la portée de l'homme du métier) par des"moyens d'aiguillage"transmettant les données au registremémoire, puis à l'unité de calcul cryptographique, dès lors que les informations ont été identifiées comme relevant d'un traitement cryptographique, les moyens d'entrée-sortie comportant aussi des moyens pour identifier de telles informations. Au contraire, si l'unité d'émission-réception du type dit UART n'est pas conçue pour piloter directement les moyens de cryptographie, le processeur, relié à ces moyens de cryptographie, peut être programmé pour valider ladite liaison directe en réponse à un message transmis par lesdits moyens d'entréesortie. Dans ce cas, le rôle du processeur se borne à identifier l'apparition d'une série de données concernées par un traitement cryptographique et à valider ladite liaison directe pour que les informations s'acheminent directement vers les moyens de cryptographie et soient ré-émises vers les moyens d'entrée-sortie après traitement. L'unité électronique définie ci-dessus peut être entièrement intégrée dans une carte à microcircuit. L'invention sera mieux comprise et d'autres avantages apparaîtront plus clairement à la lumière de la description qui va suivre de plusieurs modes de réalisation d'une unité électronique conforme à son principe, donnée uniquement à titre d'exemple et faite en référence aux dessins annexés dans lesquels : - la figure 1 est un schéma-bloc d'une unité électronique conforme à la technique antérieure ; - la figure 2 est un schéma-bloc analogue à la figure 1, illustrant un mode de réalisation possible d'une unité électronique conforme à l'invention ; et - la figure 3 illustre une variante de l'unité électronique conforme à l'invention. L'unité électronique 11 conforme à l'art antérieur, représentée sur la figure 1, comporte principalement un processeur P associé de façon classique à un certain nombre de mémoires (du type RAM, ROM, EEPROM), des moyens de cryptographie 14 comprenant une unité de calcul cryptographique 15 et un registre-mémoire 16, et des moyens d'entrée-sortie 18 reliés, par exemple, à un réseau. Les moyens d'entrée-sortie 18, permettant à l'unité électronique de communiquer avec un réseau ou une entité électronique extérieure, comprennent essentiellement une unité d'émission-réception asynchrone de type dit UART. Les moyens de cryptographie 14 sont également reliés au processeur via le registre-mémoire 16. Les autres mémoires couplées au processeur sont classiques. On distingue par exemple une mémoire à accès direct RAM, une mémoire morte ROM et une mémoire non volatile EEPROM. Lorsque cette unité électronique reçoit via l'UART des données qui doivent être soumises à un traitement cryptographique (cryptage, décryptage...), l'UART transmet un message d'interruption au processeur P. Le processeur P vient alors lire le registre de l'UART et copier les données en RAM. Le processeur initialise alors les moyens de cryptographie, en fournissant notamment à l'unité cryptographique 15 les clés nécessaires. Le processeur P va ensuite lire les données à traiter dans la RAM et les copie dans le registre 16, puis déclenche le calcul de l'unité cryptographique. Afin d'être communiqué au réseau extérieur, le résultat calculé par l'unité cryptographique est ensuite lu dans le registre 16 et copié dans le registre UART par le processeur P. Les résultats sont réinscrits dans le registre 16, relus par le processeur et renvoyés vers le réseau via l'unité UART. Un tel mode de fonctionnement n'est pas favorable au traitement cryptographique de haut débit de données par l'unité électronique. L'opération de copie des données, réalisée par le processeur P, dans une zone mémoire RAM intermédiaire, avant traitement par l'unité cryptographique, est tout particulièrement pénalisante. Or, on souhaite augmenter la puissance de calcul cryptographique d'une telle unité électronique afin de pouvoir traiter des flux importants et continus de données en temps réel. A titre d'exemple, on veut pouvoir actuellement procéder au déchiffrement en temps réel de données numériques représentatives d'un son. De telles données sont compressées selon la norme MP3 et transmises à une vitesse de 128 kbits/s. L'unité électronique chargée du déchiffrement en temps réel nécessite donc de pouvoir absorber et traiter des informations à haut débit. En outre, comme l'unité électronique qui va être décrite ci-dessous peut avantageusement être logée dans une carte à microcircuit, un tel traitement cryptographique voit sa sécurité augmentée du simple fait que la ou les clés de déchiffrement ne sortent jamais de la carte. Pour ce faire, on établit une liaison directe de transmission bidirectionnelle de données entre les moyens d'entrée-sortie (c'est-à-dire typiquement l'unité d'émission-réception du type UART) et les moyens de cryptographie. On peut par exemple adopter l'agencement décrit à la figure 2. L'unité d'émission-réception UART est reliée au processeur, lequel est classiquement associé à ses différentes mémoires (RAM, ROM, EEPROM) comme dans le cas de la figure 1. Par ailleurs, l'unité électronique comprend, comme précédemment, des moyens de cryptographie 14 incluant une unité de calcul cryptographique 15 associée à un registre-mémoire 16. Le processeur est relié à ces moyens de cryptographie via le registre-mémoire. Cependant, une liaison directe de transmission bidirectionnelle de données 20 est aussi établie entre les moyens d'entrée-sortie UART et les moyens de cryptographie, en l'occurrence, ici, ce même registre-mémoire 16. Idéalement, l'unité d'émission-réception comporte des moyens de pilotage direct des moyens de cryptographie. Autrement dit, cette unité est agencée pour analyser les informations transmises par le réseau extérieur et reconnaître celles qui sont destinées à subir un traitement de cryptographie. Cette reconnaissance effectuée, les moyens d'entrée-sortie acheminent directement ces informations vers le registre-mémoire 16 des moyens de cryptographie. Le processeur, quant à lui, transmet les clés aux moyens de cryptographie, définit le mode de fonctionnement (par exemple cryptage ou encryptage) et émet un ordre permettant le déclenchement du traitement cryptographique. Pendant ce temps, c'est-à-dire après le lancement du traitement cryptographique, le processeur n'intervient plus dans le processus cryptographique ni même dans le transfert des résultats vers l'extérieur ; il en résulte donc une moindre consommation d'énergie. La sécurité est également augmentée du fait que les informations ne sont plus stockées dans la mémoire principale liée au processeur. Si l'unité d'émission-réception UART n'est pas conçue pour détecter ellemême une séquence concernée par le traitement de cryptographie, cette fonction peut être assurée par le processeur P sans perte de temps excessive. On peut par exemple imaginer que le premier paquet d'un message destiné à subir le traitement de cryptographie décrive le contenu des paquets suivants. Dans ce cas, le processeur recevant ce premier paquet est capable de commander "l'aiguillage", c'est-à-dire de valider la liaison directe de transmission bidirectionnelle de données 20 qui est établie entre les moyens d'entrée-sortie et les moyens de cryptographie, ceci pour le temps nécessaire à recevoir et/ou renvoyer les informations traitées par les moyens de cryptographie. Dans le dispositif de la figure 3, où les sous-ensembles analogues à ceux de la figure 1 portent les mêmes références numériques, on a séparé les informations concernant la cryptographie des autres données. Les moyens d'entrée-sortie 18HD reliés à un accès haut débit sont cette fois exclusivement et directement reliés aux moyens de cryptographie (liaison directe 20), tandis que les autres informations sont adressées à d'autres moyens d'entrée-sortie 22 et parviennent au processeur via une autre unité d'émission-réception, par exemple du type UART. Le processeur peut ainsi communiquer avec un serveur en parallèle, via un port"standard", les données cryptographiques étant transmises via un port à haut débit, par exemple du type USB. REVENDICATIONS 1. Unité électronique comprenant un processeur, des moyens d'entrée-sortie (18) de données et des moyens de cryptographie (14), caractérisée par une liaison directe de transmission bidirectionnelle de données (20), établie entre lesdits moyens d'entrée-sortie et lesdits moyens de cryptographie. 2. Unité électronique selon la revendication 1, caractérisée en ce que lesdits moyens d'entrée-sortie et lesdits moyens de cryptographie partagent un espace mémoire commun (16). 3. Unité électronique selon la revendication 2, caractérisée en ce que lesdits moyens d'entrée-sortie (18) comportent une unité d'émission-réception du type dit UART, en ce que lesdits moyens de cryptographie comprennent un registre-mémoire (16) et en ce que ladite liaison directe (20) est établie entre ladite unité d'émission-réception et ledit registre mémoire constituant l'espace mémoire commun précité. 4. Unité électronique selon la revendication 3, caractérisée en ce que ladite unité d'émission-réception (18,18HD) comporte des moyens de pilotage direct desdits moyens de cryptographie. 5. Unité électronique selon la revendication 3, caractérisée en ce que ledit processeur P est relié auxdits moyens de cryptographie pour valider ladite liaison directe (20) en réponse à un message transmis par lesdits moyens d'entrée-sortie. 6. Unité électronique selon l'une des revendications précédentes, caractérisée en ce que lesdits moyens d'entrée-sortie (18 HD) sont dédiés à certaines informations destinées à être traitées par lesdits moyens de cryptographie, d'autres moyens d'entrée-sortie (22) étant reliés audit processeur pour le traitement d'autres informations. 7. Unité électronique selon l'une des revendications précédentes, caractérisée en ce qu'elle constitue des moyens de déchiffrement en temps réel de données chiffrées. 8. Unité électronique selon l'une des revendications précédentes, caractérisée en ce qu'elle est agencée dans une carte à microcircuit.