Brevet FR2937212A1 — publié le 20100416

La présente invention concerne la conception d'un composant matériel dédié à la sécurité d'un appareil de communication tel que, par exemple, un téléphone mobile. On appelle coeur de confiance la portion restreinte d'un équipement sur laquelle reposent les objectifs de sécurité assignés à cet équipement dans la cible de sécurité. De plus en plus d'appareils permettent d'accéder à des services sécurisés comme, par exemple des services bancaires ou l'accès à des services professionnels sécurisé. Ces appareils doivent être sécurisés et répondre à des normes particulièrement strictes au niveau de la sécurité. Pour pouvoir être utilisés lors des accès à ces services, ces appareils doivent être agréés par une autorité, ils subissent pour ce faire une procédure de certification. Cette procédure de certification permet de vérifier qu'ils répondent bien à un ensemble de critères de sécurité et peuvent donc être utilisés pour faire fonctionner le service sécurisé. Les terminaux de paiement et les cartes à puces bancaires sont des exemples d'appareils soumis à ces certifications de sécurité. Le coeur de confiance est donc le dispositif implémentant dans l'appareil la communication entre un domaine dit rouge et un domaine dit noir. Ce dispositif est un dispositif de communication entre deux zones de niveaux de sécurité différents. Par convention, le domaine rouge traite une information intelligible et sensible protégée par son environnement, on parle aussi d'information rouge. Le domaine noir représente l'environnement hostile qui ne protège pas l'information. Dans ce domaine, l'information doit être protégée. Une architecture de confiance ne permet pas de passages directs d'informations du domaine rouge vers le domaine noir et réciproquement. L'information sensible est ainsi protégée, en confidentialité et/ou en intégrité et/ou en authenticité, par son passage au travers du coeur de confiance dont c'est le rôle. De manière réciproque, l'information protégée provenant du domaine noir est rendue intelligible et/ou vérifiée et/ou authentifiée après être passée par le coeur de confiance. La certification de sécurité de l'appareil revient à certifier le coeur de confiance. Si celui-ci est conforme aux normes de sécurité, la certification du reste de l'appareil n'est pas nécessaire. Les mécanismes mis en oeuvre pour assurer ces fonctions de chiffrement déchiffrement, signature, vérification de signature, calcul d'intégrité et vérification d'intégrité mettent en oeuvre des algorithmes cryptographiques. La robustesse de la protection offerte par le coeur de confiance est obtenue d'une part par la complexité mathématique des algorithmes cryptographiques qu'il intègre, d'autre part par sa capacité à garder secrets les clés ou éléments secrets utilisés par ces algorithmes cryptographiques. La Fig. 1 illustre l'architecture d'un coeur de confiance selon l'art antérieur. Le coeur de confiance 1.1 est composé d'un processeur 1.2 qui est chargé d'exécuter le programme de confiance. Ce processeur communique avec un composant dédié 1.3 chargé des opérations cryptographiques et des entrées-sorties avec l'extérieur. Ce composant est typiquement réalisé sous la forme d'un ASIC (Application-Specific Integrated Circuit en anglais). Ce composant 1.3 permet la communication avec le domaine rouge 1.4 d'une part et avec le domaine noir 1.5 d'autre part. Un lien de communication 1.6 permet l'injection dans le composant cryptographique des clés nécessaires à son fonctionnement. La certification d'un tel coeur de confiance nécessite la certification de toutes les fonctionnalités du coeur tant au niveau du processeur et des programmes qu'il embarque que du composant cryptographique. D'autre part, la conception d'un tel coeur de confiance est un processus long, complexe et coûteux. L'invention propose une architecture de coeur de confiance plus efficace en terme de conception et en terme d'évaluation que les architectures habituelles. Il s'agit de combiner deux composants de conception et d'évaluation simple pour obtenir un coeur de confiance évaluable simplement. Ce coeur de confiance respecte les principes de cloisonnement des recommandations sécuritaires, typiquement le cloisonnement entre les domaines rouge, noir et l'injection des clés. Dans cette approche, l'invention propose de convertir un composant mono-interface existant, nommément un composant de carte à puce évalué, en un composant multi-interface qui respecte les principes de cloisonnement. Le composant réalisant cette conversion d'interface est conçu sur une base minimale et si possible exclusivement matérielle qui ne réalise que le routage sûr des flux. L'invention permet de réduire d'un facteur important le coût de conception. En effet, la base du coeur de confiance constituée d'un composant de carte à puce existe et la fonction complémentaire d'aiguillage est réduite au minimum. L'innovation permet de manière induite de réduire aussi d'un facteur important le coût d'une évaluation, le composant de carte à puce étant déjà évalué et le schéma d'évaluation est maîtrisé. Par ailleurs, la fonction aiguillage par sa conception minimaliste est elle aussi évaluable simplement. La combinaison des conceptions et des évaluations est alors plus efficace que la conception et l'évaluation d'un composant monolithique. L'invention concerne un dispositif de communication sécurisé entre deux zones de niveaux de sécurité différents qui comprend un composant de carte à puce qui garantit la confidentialité de l'information et la mise en oeuvre d'algorithmes cryptographiques sans fuite d'informations et un composant d'aiguillage permettant alternativement la communication entre le composant de carte à puce et chacune des deux zones de niveaux de sécurité différents, ainsi que l'introduction de clés cryptographiques dans le composant de carte à puce. Selon un mode particulier de réalisation de l'invention, le composant d'aiguillage comprend trois voies disposant chacune d'un interrupteur de telle sorte que lorsqu'un des interrupteurs est fermé, les deux autres sont nécessairement ouverts. Selon un mode particulier de réalisation de l'invention, chacune des voies comprend en outre un module d'adaptation de protocole permettant l'éventuelle conversion de protocole si besoin entre l'interface extérieure et le composant de carte à puce. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : La Fig. 1 illustre l'architecture d'un coeur de confiance selon l'art antérieur ; La Fig. 2 illustre l'architecture d'un coeur de confiance selon l'invention ; La Fig. 3 illustre l'architecture d'un exemple de composant de carte à puce utilisé dans l'invention ; La Fig. 4 illustre l'architecture d'un exemple de réalisation du composant d' aiguillage. La Fig. 2 illustre l'architecture d'un coeur de confiance selon l'invention. Il s'architecture autour d'un composant classique de carte à puce 2.2. Ce composant est un micro contrôleur résistant aux agressions physiques, protégé contre la rétro conception (reverse engineering en anglais), contre l'introduction d'erreurs par faisceau de particules. Il garantit la confidentialité de l'information et la mise en oeuvre d'algorithmes cryptographiques sans fuite d'informations. Le composant de carte à puce possède déjà les objectifs de sécurité que l'on désire obtenir du coeur de confiance. Un composant de carte à puce, c'est-à-dire le composant physique et le logiciel qu'il embarque, apporte une réponse aux objectifs habituels d'équipements de protection de l'information : conservation sûre d'éléments secrets, chiffrement déchiffrement, contrôle d'accès à la ressource, etc. C'est un bon exemple de ressource sécuritaire périphérique évaluée. Pour réaliser le coeur de confiance, il faut apporter à ce composant un composant d'aiguillage qui permet de réaliser les chemins de données vers la zone rouge, la zone noire et l'introduction des clés cryptographiques. Ce composant d'aiguillage permet alternativement la communication entre le composant de carte à puce et chacune des deux zones de niveaux de sécurité différents, ainsi que l'introduction de clés cryptographiques dans le composant de carte à puce. C'est le rôle du composant 2.3. Il permet d'établir un chemin sécurisé et unidirectionnel entre le composant de carte à puce et soit la zone rouge, soit la zone noire ou les clés. Ce composant est conçu de manière à ce qu'à un instant donné un seul de ces chemins puisse être actif. Le dispositif est conçu de telle sorte que le chemin par lequel les clés sont introduites dans le composant de carte à puce soit unique. Il assure ainsi qu'aucune fuite d'informations ne puisse avoir lieu à la fois pendant l'introduction et pendant la suite de l'utilisation du coeur de confiance. L'avantage de cette conception est que le composant de carte à puce est déjà 20 certifié. Pour certifier le coeur de confiance selon l'invention, il suffira donc de certifier le composant d'aiguillage 2.3. La Fig. 3 illustre l'architecture typique d'un composant de carte à puce 2.2 pouvant être utilisé dans l'invention. Branché sur le bus de communication 3.11, on trouve un processeur 3.8. Ce processeur est directement connecté à un circuit 25 d'horloge 3.9 et à un composant de gestion de la remise à zéro (Reset Logic en anglais) 3.10, ainsi qu'à un circuit de sécurité 3.1. Un module de gestion des entrées-sorties 3.7 permet la communication avec l'extérieur et en l'occurrence avec le composant d'aiguillage. Un module 3.6 permet la génération de nombres aléatoires utilisés dans les algorithmes cryptographiques. Un module de calcul cryptographique 30 dédié 3.5 assure les fonctions cryptographiques. La mémoire se décompose en un premier module de mémoire E2PROM (Electrically Erasable Programmable Read-Only Memory en anglais) 3.4 qui contient les données et le logiciel embarqué, un second module de RAM (Random Access Memory en anglais) 3.3 qui contient les données et le programme de manière temporaire pendant son exécution. Un troisième module de mémoire ROM (Read Only Memory en anglais) ou FLASH 3.2 qui contient également des logiciels embarqués dédiés carte à puce. La Fig. 4 illustre l'architecture du composant d'aiguillage 2.3. Ce composant comprend un lien 4.1 servant à communiquer avec le coeur de carte à puce. Ce lien permet la communication avec trois voies d'entrées-sorties 4.2, 4.4 et 4.6 via trois mécanismes d'interrupteurs permettant de fermer ou d'ouvrir chaque voie 4.3, 4.5 et 4.7. Chacune des voies est avantageusement pourvue d'un module d'adaptation 4.8, 4.9 et 4.10 permettant l'éventuelle conversion de protocole si besoin entre l'interface extérieure et le composant de carte à puce. Les liens sont bidirectionnels, il s'agit typiquement d'interfaces de type série capables d'être converties de manière très simple dans un protocole géré par un composant de carte à puce, le protocole ISO 7816-3. Le composant est conçu de telle sorte que, quand un interrupteur est passant, les autres sont nécessairement ouverts pour assurer le cloisonnement recherché. Aucune transmission de données ne peut avoir lieu entre les différentes interfaces 4.2, 4.4 et 4.6 sans transiter par le composant de carte à puce qui assure donc la sécurité du dispositif. Ce composant d'aiguillage est au final le seul composant nécessitant une certification de sécurité qui reste simple du fait de la simplicité de conception de ce composant. REVENDICATIONS1/ Dispositif de communication sécurisé entre deux zones de niveaux de sécurité différents caractérisé en ce qu'il comprend : - une ressource sécuritaire périphérique évaluée, telle qu'un composant de carte à puce, qui garantit la confidentialité de l'information et la mise en oeuvre d'algorithmes cryptographiques sans fuite d'informations ; - un composant d'aiguillage permettant alternativement la communication entre le composant de carte à puce et chacune des deux zones de niveau de sécurité différent, ainsi que l'introduction de clés cryptographiques dans le composant de carte à puce. 2/ Dispositif selon la revendication 1, caractérisé en ce que le composant d'aiguillage comprend trois voies disposant chacune d'un interrupteur de telle sorte que lorsqu'un des interrupteurs est fermé, les deux autres sont nécessairement ouverts. 3/ Dispositif selon la revendication 2, caractérisé en ce que chacune des voies comprend en outre un module d'adaptation de protocole permettant l'éventuelle conversion de protocole si besoin entre l'interface extérieure et le composant de carte à puce.