Brevet FR2901938A1 — publié le 20071207

PROCEDE ET DISPOSITIF DE TRANSMISSION DE DONNEES EN CLAIR A TRAVERS UNE RESSOURCE CRYPTOGRAPHIQUE SANS CANAL CLAIR L'invention concerne notamment un procédé permettant l'échange 5 de données en clair au sein d'un dispositif de cryptographie. Sous l'expression dispositif de cryptographie , on désigne tout produit matériel ou logiciel qui intègre des fonctions cryptographiques. Les composants matériels et logiciels d'un moyen de cryptographie échangent en clair des données non sensibles, par exemple des données de ro gestion inter zones (configuration, initialisation, supervision, alarmes). La figure 1 schématise un exemple d'échanges de données au sein d'un moyen de cryptographie. Les données sensibles sont (dé)chiffrées par les fonctions cryptographiques 15, placées en coupure entre les composants logiciels 11 et matériels 12 rouges et les composants logiciels 13 et matériels 14 15 noirs. Les données non sensibles transitent entre l'ensemble des composants logiciels et matériels. En particulier, les échanges entre les composants logiciels rouges 11 et noirs 13 et les échanges entre les composants matériels rouges 12 et noirs 14 obligent à contourner les fonctions cryptographiques 15. La possibilité de contourner les fonctions cryptographiques induit une vulnérabilité 20 majeure. Il est en effet difficile de garantir qu'une anomalie de fonctionnement d'un composant n'engendre aucune compromission de données sensibles. Ceci est représenté par exemple sur la figure 2 (un exemple de panne logicielle des composants logiciels rouges 11 dans la partie supérieure, un exemple de panne matérielle dans composants matériels rouges 12 dans la partie inférieure). 25 A la connaissance du demandeur, en règle générale, la ressource cryptographique 18 figure 3 (sous-ensemble matériel ou logiciel qui rassemble toutes les fonctions cryptographiques du moyen de cryptographie) assure au sein du moyen la séparation rouge/noir. Elle est placée en coupure sur l'ensemble des flux de données, échangés entre les composants sensibles (rouges) 16 et les composants non sensibles (noirs) 17, comprenant les don-nées utilisateurs sensibles et les données non sensibles de gestion interzone. Les ressources cryptographiques modernes intègrent en plus de l'ensemble des fonctions cryptographiques 15 du moyen, une fonction canal clair 19. Cette fonction canal clair autorise l'échange en clair de données non sensibles entre les composants matériels ou logiciels sensibles (rouges) 16 et non sensibles (noirs) 17 interconnectés à la ressource cryptographiques (figure 3). i0 La mise en oeuvre de la fonction canal clair 19 est la suivante: le composant source 16 envoie les données en clair à la ressource cryptographique 18, qui les renvoie en clair vers le composant destinataire 17. Cette simplicité rend inefficace la détection d'une mauvaise mise en oeuvre de cette fonction par la ressource cryptographique. 15 Pour obtenir une détection fiable, il est connu de l'art antérieur le dis-positif représenté à la figure 4 : la ressource cryptographique 18 est associée à une fonction de contrôle 20 qui détecte la présence de données non autorisées - potentiellement sensibles - passées à la fonction canal clair 19 (figure 4). La fonction de contrôle supplémentaire 20 est complexe à paramétrer et requiert 20 une capacité de traitement et une quantité de mémoire élevées. Ni la solution basée sur la seule fonction canal clair , ni la solution mettant en oeuvre une fonction canal clair sécurisée à l'aide d'une fonction de contrôle apporte un réel compromis entre niveau de sécurité et niveau de complexité (coût). 25 L'idée de la présente invention consiste notamment à ne pas utiliser la fonction canal clair de la ressource cryptographique et à réaliser les échanges de données en clair sans contourner les fonctions cryptographiques. L'invention concerne un procédé de transmission de données en clair au sein d'une ressource cryptographique caractérisé en ce qu'il comporte au moins les étapes suivantes : o transmettre le message contenant les données à une première étape de 5 cryptographie, o chiffrer le message et émettre le message chiffré, vers un destinataire, o attendre l'acquittement de réception du message par le destinataire, o transmettre à nouveau le message chiffré vers une deuxième étape de cryptographie, ro o déchiffrer le message et le transmettre au destinataire. Le procédé peut comporter au moins les étapes suivantes : La première passe est sur l'initiative du composant source : o le composant source envoie les données en clair à la ressource et de-mande le chiffrement des données avec sa propre clé, 15 o la ressource chiffre les données avec la clé du composant source, puis les envoie au composant destinataire, o le composant destinataire reçoit les données chiffrées. La seconde passe est sur l'initiative du composant destinataire : o le composant destinataire renvoie les données chiffrées à la ressource et 20 demande le chiffrement des données avec sa propre clé, o la ressource surchiffre les données avec la clé du composant destina-taire, puis les envoie au composant source, o le composant source reçoit les données surchiffrées. La troisième passe est sur l'initiative du composant source : o le composant source renvoie les données surchiffrées à la ressource et demande le déchiffrement des données avec sa propre clé, o la ressource déchiffre les données avec la clé du composant source, puis les envoie au composant destinataire, o le composant destinataire reçoit les données chiffrées. La quatrième et dernière passe est à l'initiative du composant destinataire : o le composant destinataire renvoie les données chiffrées à la ressource et demande le déchiffrement des données avec sa propre clé, o la ressource déchiffre les données avec la clé du composant destina-i() taire, puis les renvoie au composant destinataire, o le composant destinataire reçoit les données en clair. Selon une variante de mise en oeuvre, le procédé comporte l'étape suivante : si la ressource cryptographique détecte une demande de chiffrement ou de déchiffrement associée à une clé cryptographique non attribuée au com- as posant demandeur de l'opération cryptographique, alors elle bloque la transmission et remonte une alarme de sécurité au sein du moyen de cryptographie. Selon une autre variante de réalisation, si un composant matériel ou logiciel reçoit une seconde ou une troisième passe sans avoir traité respective-ment la première ou la seconde passe, il bloque la transmission et remonte une 20 alarme de sécurité au sein du moyen de cryptographie. Le procédé peut aussi comporter l'étape suivante : la ressource cryptographique distribue aux composants source et destination un vecteur d'initialisation avant chaque transmission de données en clair. Le procédé selon l'invention offre notamment les avantages sui- 25 vants : o la ressource cryptographique peut contrôler efficacement la bonne mise en oeuvre de la transmission de données en clair (vérification de l'intégrité des quatre passes successives), et elle permet au composant source de valider l'envoie avant transmission effective des données en clair vers le composant destinataire (au moment de générer et d'émettre la troisième passe), o il est simple et s'adapte facilement à tous les systèmes d'information. Son implémentation est faisable aussi bien en logiciel qu'en matériel, o Il nécessite peu de ressource mémoire et peu de puissance de calcul. Il ro exploite des fonctions cryptographiques dans un mode de fonctionne-ment courant, o La solution offre un bon compromis entre coût d'implémentation et ni-veau de sécurité. D'autres caractéristiques et avantages de la présente invention ap- is paraîtront mieux à la lecture de la description qui suit d'un exemple de réalisa-tion, donné à titre illustratif et nullement limitatif, annexé des figures qui repré- sentent : o Les figures 1, 2 et 3 des exemples de moyen de cryptographie selon l'art antérieur, 20 o La figure 4 une variante de moyen de cryptographie selon l'art antérieur incluant une fonction de contrôle, o La figure 5 un moyen de cryptographie selon l'invention et o la figure 6 les différentes étapes mises en oeuvre par ce moyen. La figure 5 schématise l'architecture d'un moyen de cryptographie 25 permettant la mise en oeuvre du procédé selon l'invention. Le moyen cryptographique comprend par exemple un composant source 16, une ressource cryptographique 18 et un composant destination 17. Le procédé s'appuie notamment sur un protocole d'échange de don-nées en quatre passes successives, avec chiffrement et déchiffrement intermé- diaires, inspiré du principe cryptographique de double cadenas, les étapes mi- ses en oeuvre étant détaillées ci-après. La figure 6 schématise les différents échanges exécutés par le pro-cédé selon l'invention. Clés cryptoqraphiques : ro La ressource cryptographique attribue une clé cryptographique différente à chaque composant matériel et logiciel du moyen. La génération, l'attribution et le traitement des clés cryptographiques sont réalisés par la ressource cryptographique : les composants ne manipulent aucune clé cryptographique. 15 La ressource cryptographique autorise le chiffrement et le déchiffre-ment de données avec la clé attribuée au composant demandeur de l'opération cryptographique : un composant ne peut pas déchiffrer des données avec la clé attribuée à un autre composant. Algorithme et mode cryptographiques : 20 La ressource cryptographique implémente un algorithme cryptographique dont le mode de fonctionnement vérifie par exemple la propriété sui-vante : ALGO1K,[ALGO1KB[ALGOK,[ALGOKB[ M] ] ] ] = M Ce mode et cet algorithme cryptographiques sont dédiés à la mise 25 en oeuvre du procédé de transmission de données en clair à travers la ressource cryptographique. Ce mode et cet algorithme ne doivent pas servir à protéger des données sensibles. L'efficacité de ce mode et de cet algorithme cryptographiques doit être d'un niveau comparable à celui des modes et des algorithmes cryptographiques assurant la protection des données sensibles. La figure 6 schématise le protocole d'échange mis en oeuvre par le procédé selon l'invention. La première passe est sur l'initiative du composant source : o le composant source envoie les données en clair à la ressource et de-mande le chiffrement des données avec sa propre clé, 20, o la ressource chiffre les données avec la clé du composant source, puis to les envoie au composant destinataire, 21, o le composant destinataire reçoit les données chiffrées, 22. La seconde passe est sur l'initiative du composant destinataire : o le composant destinataire renvoie les données chiffrées à la ressource et demande le chiffrement des données avec sa propre clé, 23, 15 o la ressource surchiffre les données avec la clé du composant destina-taire, puis les envoie au composant source, 24, o le composant source reçoit les données surchiffrées, 25. La troisième passe est sur l'initiative du composant source : o le composant source renvoie les données surchiffrées à la ressource et 20 demande le déchiffrement des données avec sa propre clé, 26, o la ressource déchiffre les données avec la clé du composant source, puis les envoie au composant destinataire, 27, o le composant destinataire reçoit les données chiffrées, 28. La quatrième et dernière passe est à l'initiative du composant destinataire : o le composant destinataire renvoie les données chiffrées à la ressource et demande le déchiffrement des données avec sa propre clé, 29, o la ressource déchiffre les données avec la clé du composant destina-taire, puis les renvoie au composant destinataire, 30, o le composant destinataire reçoit les données en clair, 31. Contrôle de la mise en oeuvre et traitement des anomalies : Si la ressource cryptographique détecte une demande de chiffrement ou de déchiffrement associée à une clé cryptographique non attribuée au com- posant demandeur de l'opération cryptographique, elle bloque la transmission io et remonte une alarme de sécurité au sein du moyen de cryptographie. Si un composant matériel ou logiciel reçoit une seconde ou une troisième passe sans avoir traité respectivement la première ou la seconde passe, il bloque la transmission et remonte une alarme de sécurité au sein du moyen de cryptographie. 15 Durcissement du procédé : La détection d'une mauvaise mise en oeuvre du procédé peut être renforcée à l'aide des mesures suivantes : o la redondance d'information dans les échanges de données : le format des échanges de données entre les composants source et destination et 20 la ressource cryptographique peut contenir des champs d'informations complémentaires qui sont facilement vérifiables par les composants source et destination et par la ressource. Par exemple : un champ précisant la taille des données échangées, un champ transportant un code détecteur d'erreur sur les données, un champ identifiant la clé de 25 l'opération cryptographique à réaliser, un champ précisant le rang de la passe (1,2,3 ou 4)...etc. o la gestion d'un vecteur d'initialisation aléatoire ou horaire (marquant) et/ou d'un compteur d'anti-rejeu : la ressource cryptographique peut distribuer aux composants source et destination un vecteur d'initialisation avant chaque transmission de données en clair. Une demande de chif- frement ou de déchiffrement associée à un vecteur d'initialisation et/ou à une valeur de compteur d'anti-rejeu non conforme(s) est facilement détectable par la ressource : utilisation d'un marquant différent de celui distribué, réutilisation d'une valeur périmée de compteur anti-rejeu. Le procédé est compatible avec la mise en oeuvre d'une fonction complémentaire de contrôle des données échangées. REVENDICATIONS 1 û Procédé de transmission de données en clair au sein d'une ressource cryptographique caractérisé en ce qu'il comporte au moins les étapes suivantes : o transmettre le message contenant les données à une première étape de cryptographie, o chiffrer le message et émettre le message chiffré, vers un destinataire, o attendre l'acquittement de réception du message par le destinataire, o transmettre à nouveau le message chiffré vers une deuxième étape de io cryptographie, o déchiffrer le message et le transmettre au destinataire. 2 û Procédé selon la revendication 1, caractérisé en ce qu'il comporte au moins les étapes suivantes : La première passe est sur l'initiative du composant source : 15 o le composant source envoie les données en clair à la ressource et de-mande le chiffrement des données avec sa propre clé (20), o la ressource chiffre les données avec la clé du composant source, puis les envoie au composant destinataire (21), o le composant destinataire reçoit les données chiffrées (22). 20 La seconde passe est sur l'initiative du composant destinataire : o le composant destinataire renvoie les données chiffrées à la ressource et demande le chiffrement des données avec sa propre clé (23), o la ressource surchiffre les données avec la clé du composant destina-taire, puis les envoie au composant source (24), o le composant source reçoit les données surchiffrées (25). La troisième passe est sur l'initiative du composant source : o le composant source renvoie les données surchiffrées à la ressource et demande le déchiffrement des données avec sa propre clé (26), o la ressource déchiffre les données avec la clé du composant source, puis les envoie au composant destinataire (27), o le composant destinataire reçoit les données chiffrées (28). io La quatrième et dernière passe est à l'initiative du composant destinataire : o le composant destinataire renvoie les données chiffrées à la ressource et demande le déchiffrement des données avec sa propre clé (29), o la ressource déchiffre les données avec la clé du composant destina-taire, puis les renvoie au composant destinataire (30), 15 o le composant destinataire reçoit les données en clair (31). 3 ù Procédé selon l'une des revendications 1 ou 2, caractérisé en ce qu'il comporte l'étape suivante : si la ressource cryptographique détecte une demande de chiffrement ou de déchiffrement associée à une clé cryptographique non 20 attribuée au composant demandeur de l'opération cryptographique, alors elle bloque la transmission et remonte une alarme de sécurité au sein du moyen de cryptographie. 4 ù Procédé selon la revendication 2, caractérisé en ce qu'il comporte au moins les étapes suivantes : si un composant matériel ou logiciel reçoit une seconde 25 ou une troisième passe sans avoir traité respectivement la première ou la se- conde passe, il bloque la transmission et remonte une alarme de sécurité au sein du moyen de cryptographie. ù Procédé selon la revendication 2, caractérisé en ce qu'il comporte au moins les étapes suivantes : la ressource cryptographique distribue aux composants 5 source et destination un vecteur d'initialisation avant chaque transmission de données en clair.