Brevet FR2716550A1 — publié le 19950825

MEMOIRE DE MASSE CHIFFRANTE DU TYPE EMBAROUABLE ET PROCEDE DE PROTECTION DES INFORMATIONS ENREGISTREES DANS CETTE MEMOIRE L'invention concerne une mémoire de masse chiffrante du type embarquable, ainsi qu'un procédé de protection des informations enregistrées dans cette mémoire. Les systèmes d'acquisition de données qui sont embarqués à bord d'engins tels que des avions, des fusées, des satellites d'observation comprennent des capteurs de tous types qui fournissent des débits et des quantités d'informations toujours croissants. Les moyens d'enregistrement associés à ces systèmes d'acquisition comprennent en général une mémoire tampon à très haut débit (plusieurs centaines de Mbits/s) raccordée à un enregistreur magnétique ou une mémoire électronique de très forte capacité et à une chaîne de transmission qui permet d'émettre les informations stockées vers des récepteurs au sol, à des moments opportuns et à des débits élevés (les durées de transmission correspondant aux durées de visibilité des stations au sol et étant donc en général fixes). La mémoire tampon a pour fonction d'uniformiser les débits d'informations issus des capteurs et de les stocker plus ou moins temporairement avant de les fournir à l'enregistreur magnétique ou à la mémoire électronique, ou à la chaîne de transmission. Pour des raisons de sécurité et de confidentialité, il est souhaitable que les informations transmises au sol soient chiffrées. Leur chiffrement immédiatement avant leur transmission, en aval de l'enregistreur magnétique ou de la mémoire électronique, pose des problèmes en raison du débit élevé d'informations à transmettre (typiquement 1 Gigabits par seconde ou davantage). Une solution à ces problèmes consisterait à monter en parallèle un nombre suffisant de circuits de chiffrement traitant chacun une petite partie du débit total d'informations. Cette solution présenterait cependant des inconvénients, car les circuits de chiffrement doivent être associés à des circuits d'alimentation, de commande et de multiplexage, et leur multiplication se traduirait par une augmentation non négligeable de la masse embarquée et de la consommation électrique. De plus, quand des codes correcteurs d'erreurs ont été appliqués aux informations dans la mémoire tampon, le chiffrement les prive d'effet et d'autres codes correcteurs d'erreurs doivent être appliqués aux informations chiffrées avant leur transmission. En outre, les premiers codes correcteurs d'erreurs appliqués aux informations non chiffrées présentent par nature une certaine redondance qui est susceptible de faciliter le décryptement des informations transmises. Enfin, les informations qui sont stockées dans l'enregistreur magnétique ou la mémoire électronique sont en clair et ne sont pas protégées. Une autre solution consisterait à chiffrer les informations en amont pour les stocker sous forme chiffrée. Il faudrait alors chiffrer des flux non ordonnés d'informations fournies directement par des sources telles que des caméras ou des capteurs de tous types et donc utiliser un nombre relativement important de circuits de chiffrement en parallèle, de sorte que l'on rencontrerait à peu près les mêmes problèmes et les mêmes inconvénients que précédemment. La présente invention a pour but d'apporter une solution simple et efficace à ces problèmes. Elle a pour objet une mémoire de masse chiffrante du type embarquable et un procédé de protection des informations enregistrées dans cette mémoire, qui permettent d'assurer une protection efficace des informations par chiffrement en utilisant un nombre minimal de circuits de chiffrement en parallèle et en réduisant du même coup les inconvénients liés à leur alimentation et leur commande. L'invention propose à cet effet une mémoire de masse du type embarquable, comprenant des unités de mémoire qui sont reliées par une interface d'adressage et de mise en forme à une interface d'entrée et à une interface de sortie, et une unité de contrôle et de gestion reliée aux interfaces précitées, caractérisée en ce qu'elle comprend une unité de chiffrement montée entre l'interface d'entrée et l'interface d'adressage et de mise en forme et reliée à l'unité de contrôle et de gestion. L'unité de chiffrement est ainsi intégrée à la mémoire de masse, entre l'interface d'entrée et l'interface d'adressage et de mise en forme des informations, ce qui permet de chiffrer des débits ordonnés de mots qui sont beaucoup plus faibles que les flux d'informations en amont ou en aval de la mémoire de masse. Dans un mode de réalisation préféré de l'invention, les algorithmes de chiffrement sont du type "flot" et l'unité de chiffrement comprend un générateur de pseudo-alea fournissant une clé de rang à des circuits de chiffrement agencés en parallèle, qui reçoivent des informations en clair et génèrent des informations chiffrées et des informations auxiliaires appliquées au générateur de pseudo-alea pour le faire évoluer. L'invention propose également un procédé de protection des informations enregistrées dans une mémoire de masse du type qui vient d'être décrit, ce procédé étant caractérisé en ce qu'il consiste à chiffrer ces informations au fur et à mesure de leur transmission par l'interface d'entrée à l'interface d'adressage et de mise en forme et à enregistrer les informations chiffrées dans les unités de mémoire, ou bien à enregistrer dans les unités de mémoire les informations transmises par l'interface d'entrée et à les chiffrer en temps différé par exécution d'un cycle lecture-chiffrement-réenregistrement. Ces deux façons de faire présentent chacune des avantages, la seconde pouvant se révéler plus intéressante par exemple lorsque les informations sont acquises en flux discontinus. Dans ce cas, leur chiffrement en différé permet de faire fonctionner pendant un temps assez long un nombre plus faible de circuits de chiffrement. L'invention sera mieux comprise et d'autres caractéristiques, détails et avantages de celle-ci apparaitront plus clairement à la lecture de la description qui suit, faite à titre d'exemple en référence aux dessins annexés dans lesquels la figure 1 représente schématiquement la structure générale d'une mémoire de masse selon l'invention; la figure 2 représente schématiquement la structure générale de l'unité de chiffrement; les figures 3 et 4 sont des organigrammes des étapes essentielles des deux variantes du procédé selon 1 invention. On se réfère d'abord à la figure 1, qui repré -ente schématiquement l'architecture générale d'une mémoire de masse selon l'invention, destinée par exemple à être installée à bord d'un satellite. Cette mémoire de masse comprend essentiellement une interface entrée 10 reliant un certain nombre de voies d'entrée 12 en parallèle à un certain nombre de voies de sortie 14 en parallèle, une interface 16 d'adressage et de mise en forme des informations, un ensemble 18 d'unités de mémoires proprement dites, une interface de sortie 20, et une unité 22 de contrôle et de gestion reliée à l'interface d'entrée 10, à l'interface 16 d'adressage et de mise en forme et à l'interface de sortie 20. L'interface d'entrée 10 a pour fonction d'adapter les débits d'informations fournis par des capteurs sur des voies d'entrée 12, aux débits des unités de mémoire 18 et comprend pour cela des moyens de multiplexage, ou plus exactement de démultiplexage, de 1 vers 16, 32 ou 64, voire 96 ou même 128, fournissant sur les voies de sortie 14 des mots d'informations formés de bits en parallèle transmis à des fréquences plus basses qu'à l'entrée, qui sont typiquement de quelques dizaines de MHz. Une unité de chiffrement 24 est intégrée à cette mémoire de masse, entre l'interface d'entrée 10 et l'interface 16 d'adressage et de mise en forme, de façon à recevoir les informations générées par l'interface d'entrée 10 et à transmettre des informations chiffrées à l'interface 16 d'adressage et de mise en forme. L'unité de chiffrement 24 est également reliée à l'unité 22 de gestion et de contrôle, qui assure son fonctionnement. Cette unité de chiffrement, dont un mode de réalisation a été représenté en figure 2, comprend des circuits de chiffrement 26 agencés en parallèle et recevant les débits d'informations fournis par les sorties 14 de l'interface d'entrée 10. Ces circuits de chiffrement 26 ont une architecture en "pipe-line" (également connue sous la désignation d'architecture "à chevauchement") qui permet une exécution séquentielle des différents pas de calcul d'une opération de chiffrement. Plus précisément, cette architecture permet par exemple d'effectuer un premier pas de calcul sur un premier groupe de bits arrivants, puis d'effectuer ce premier pas de calcul sur un deuxième groupe de bits qui suivent le premier groupe de bits et simultanément d'effectuer un deuxième pas de calcul sur le premier groupe de bits, et ainsi de suite, jusqu'à ce que tous les pas de calcul aient été effectuées. L'unité de chiffrement 24 comprend également un circuit 28 générateur de pseudo-alea piloté par unité de contrôle et de gestion 22 et qui fournit une suite pseudo-aleatoire 30 appelée clé de rang à chaque circuit de chiffrement 26. Ces circuits calculent les informations chiffrées à partir de la clé de rang et des informations en clair qu'ils reçoivent des sorties 14 de l'interface d'entrée 10, et produisent également à partir des informations chiffrées une information auxiliaire 32 dite "autoclave" qui est appliquée au circuit 28 pour le faire évoluer. Les algorithmes de calcul utilisées dans les circuits de chiffrement 26 sont avantageusement du type "flot" qui chiffrent une suite de bits ou de caractères codés par un petit nombre de bits (de 2 à 8 par exemple). Ces algorithmes sont rapides et de haute sécurité. De façon générale, la mémoire de masse de la figure 1 est utilisée et fonctionne de la façon suivante: des flux plus ou moins continus d'informations numériques sont fournis aux entrées 12 de l'interface denturée 10, qui comporte des moyens de multiplexage permettant de fournir sur ses sorties 14 un débit de mots ordonnés pouvant comprendre par exemple jusqu'à 128 bits, avec une fréquence déterminée de transmission, par exemple de 25 ou de 50 MHz. Ce débit de mots numériques est traité par l'unité de chiffrement 24, sous commande de l'unité 22 de contrôle et de gestion qui, avantageusement, peut gérer également les clés de chiffrement, c'est-à-dire modifier et sélectionner ces clés de la façon voulue, par exemple en fonction de la destination des informations acquises. Les informations chiffrées sont ensuite transmises à l'interface 16 d'adressage et de mise en forme, qui a essentiellement pour fonction d'agencer en pages mémoire les informations reçues, de leur appliquer éventuellement des codes de correction d'erreurs, de leur as signer des adresses dans les unités de mémoire et de les ranger dans ces unités. La lecture des informations stockées dans les unités de mémoire se fait également par l'intermédiaire de interface 16, dans laquelle on peut éventuellement prévoir de supprimer les codes correcteurs d'erreurs des informations lues avant de les transmettre séquentiellement à l'interface de sortie 20. Interface 16 a aussi une fonction de test des unités de mémoire 18, pour repérer les mémoires élémentaires qui seraient défaillantes et adapter en conséquence les adresses des informations. L'interface de sortie 20 qui reçoit séquentiellement les informations chiffrées lues dans la mémoire, a essentiellement pour fonction de les mettre dans un format adapté à leur transmission ultérieure (une transmission à une fréquence pouvant aller jusqu'à 250 MHz dans le cas d'un satellite). Les opérations essentielles de traitement des informations sont représentées schématiquement dans l'organigramme de la figure 3, pour une première forme de réalisation de l'invention dans laquelle les informations sont chiffrées avant leur enregistrement dans les unités de mémoire 18. Dans l'organigramme de la figure 3, la référence 34 désigne l'acquisition des informations qui sont fournies en flux plus ou moins continus par des sources d'informations telles que des caméras et des capteurs d'un type quelconque. Dans le cas d'un satellite, le débit total d'informations ainsi acquises peut atteindre le gigabit par seconde. Ces flux d'informations arrivant en parallèle à l'interface d'entrée 10 sont ordonnés en un débit régulier de mots ayant un format déterminé, qui est transmis à l'unité de chiffrement 24, cette opération étant désignée par la référence 36 en figure 3. La fréquence de transmission de ce débit de mots à l'unité 24 est de 25 ou de 50 MHz, par exemple, et est adaptée à la fréquence de fonctionnement de l'unité de chiffrement 24. Le chiffrement 38 appliqué à ce débit de mots est par exemple du type décrit dans ce qui précède. Les informations chiffrées qui sont produites par l'unité 24 sont transmises à l'interface 16 d'adressage et de mise en forme, où on leur applique éventuellement un code correcteur d'erreurs comme indiqué en 40 avant de les enregistrer dans les unités de mémoire 18 comme indiqué en 42. A des moments déterminés, certaines des informations stockées dans les unités de mémoire 18 sont lues comme indiqué en 44, sont éventuellement traitées pour en supprimer le code correcteur d'erreurs comme indiqué en 46, puis sont transmises à l'interface de sortie 20 où elles subissent un traitement 48 consistant essentiellement à les formater de façon appropriée, préalablement à leur transmission 50 vers des récepteurs autorisés. En variante et comme représenté schématiquement dans l'organigramme de la figure 4, le chiffrement des informations peut être réalisé en temps différé dans la mémoire de masse, par exécution d'un cycle lecturechiffrement-enregistrement. On retrouve donc, dans l'organigramme correspondant à cette variante, l'opération 34 d'acquisition des informations et l'opération 36 de multiplexage réalisée par l'interface d'entrée 10. Les informations sont ensuite transmises à l'interface 16 qui leur applique éventuellement un code correcteur d'erreurs en 40 et les enregistre comme indiqué en 42 dans les unités de mémoire 18. Pour leur chiffrement, les informations stockées dans les unités de mémoire sont lues comme indiqué en 52 par l'interface 16 qui en supprime le code correcteur d'erreurs comme indiqué en 54 et les transmet à l'unité de chiffrement 24 où elles sont chiffrées comme indiqué en 56, après quoi ces informations sont retransmises à l'interface 16 qui leur applique éventuellement un code correcteur d'erreurs comme indiqué en 58 avant de les réenregistrer dans les unités de mémoire 18 comme indiqué en 60. Lorsqu'elles doivent être transmises au sol, les informations enregistrées dans les unités de mémoire sont traitées comme déjà indiqué en référence à la figure 3 par des opérations 44 de lecture, 46 de suppression éventuelle du code correcteur d'erreurs, 48 de formatage et 50 de transmission. De façon générale, la mémoire de masse selon l'invention présente des avantages importants en masse et en volume grâce à l'intégration de la fonction de chiffrement dans la mémoire, et un gain de sécurité du fait que les informations sont enregistrées dans la mémoire non plus en clair, mais sous forme chiffrée, ce qui interdit l'exploitation de ces informations en cas de "piratage". REVENDICATIONS 1. Mémoire de masse chiffrante du type embartuable, comprenant des unités de mémoire (18) qui reliées par une interface (16) d'adressage et de mise en forme à une interface d'entrée (10) et à une interface de sortie (20), et une unité (22) de contrôle et de gestion reliée aux interfaces précitées, caractérisée en ce qu'elle comprend une unité de chiffrement (24) montée entre l'interface d'entrée (10) et l'interface (16) d'adressage et de mise en forme et reliée à l'unité (22) de contrôle et de gestion. 2. Mémoire selon la revendication 1, caractérisée en ce que l'unité de chiffrement (24) comprend des circuits (26) agencés en parallèle pour traiter des mots de plusieurs bits transmis par l'interface d'entrée (10) à une fréquence déterminée adaptée à la fréquence de fonctionnement des circuits de chiffrement. 3. Mémoire selon la revendication 1 ou 2, caractérisée en ce que les circuits de chiffrement (26) ont une architecture en "pipe-line" ou à chevauchement. 4. Mémoire selon la revendication 2 ou 3, caractérisée en ce que l'unité de chiffrement (24) comprend un circuit (28) générateur de pseudo-alea fournissant une clé de rang aux circuits de chiffrement (26) et recevant de ces circuits une information auxiliaire permettant de la faire évoluer. 5. Mémoire selon l'une des revendications précédentes, caractérisée en ce que l'interface d'entrée (10) comprend des voies d'entrée (12) en parallèle recevant des flux continus ou discontinus d'informations, des voies de sortie (14) en parallèle reliées à l'unité de chiffrement (24), et des moyens de multiplexage traitant les informations reçues sur les voies d'entrée (12) pour les agencer en un débit régulier de mots d'un format prédéterminé transmis sur les voies de sortie (14) précitées. 6. Mémoire selon l'une des revendications précédentes, caractérisée en ce que l'unité (22) de contrôle et de gestion comprend des moyens de gestion des clés de chiffrement. 7. Mémoire selon l'une des revendications précédentes, caractérisée en ce que l'interface (16) d'adressage et de mise en forme comprend des moyens de lecture et d'écriture dans les unités de mémoire (18), des moyens d'application d'un code de correction d'erreurs aux informations à enregistrer et des moyens de retrait du code de correction d'erreurs des informations lues dans les unités de mémoire (18). 8. Procédé de protection des informations enregistrées dans une mémoire de masse du type décrit dans l'une des revendications précédentes, caractérisé en ce qu'il consiste à chiffrer les informations au fur et à mesure de leur transmission par l'interface d'entrée (10) à l'interface (16) d'adressage et de mise en forme et à enregistrer les informations chiffrées dans les unités de mémoire (18) ou bien à enregistrer dans les unités de mémoire (18) les informations transmises par l'interface d'entrée (10) et à les chiffrer en temps différé par exécution d'un cycle lecture-chiffrement-réenregistrement. 9. Procédé selon la revendication 8, caractérisé en ce qu'il consiste à appliquer un code de correction d'erreurs aux informations chiffrées avant de les enregistrer dans les unités de mémoire (18). 10. Procédé selon la revendication 8 ou 9, caractérisé en ce que, dans le cas du chiffrement en différé, il consiste à retirer les codes de correction d'erreurs des informations lues en mémoire avant de les transmettre à l'unité de chiffrement (24) pour leur chiffrement.