Brevet FR2870019A1 — publié le 20051111

PLATE-FORME ELECTRONIQUE A ACCES SECURISE, ET PROCEDE DE SECURISATION. L'invention concerne, de façon générale, les techniques visant à contrôler l'accès à des informations sensibles ou payantes. Plus précisément, l'invention concerne une plate-forme électronique, comprenant un organe de démarrage, une unité centrale de traitement, une mémoire de programme basique d'entrées-sorties, et des moyens de sécurisation d'accès, l'unité centrale n'adoptant un état opérationnel qu'après une exécution du programme basique d'entrées-sorties, sélectivement déclenchée par une activation de l'organe de démarrage. Aujourd'hui, tous les équipements informatiques intelligents sont démarrés au moyen d'un programme basique d'entrées-sorties, par exemple par un programme appelé BIOS par l'homme du métier (de l'anglais "Basic Input Output System"), ce programme basique constituant la partie du système d'exploitation qui gère les entrées et les sorties, et interface l'unité centrale avec le matériel. Ce programme basique, qui est traditionnellement implanté dans une mémoire non volatile installée sur la carte-mère, et dont l'exécution est lancée par le changement d'état d'un interrupteur ou par l'apparition d'une combinaison de touches sur un clavier équipant la plate-forme, permet à l'unité centrale de traitement de charger un programme d'amorçage qui la rend opérationnelle, et éventuellement d'un système d'exploitation standard qui la rend utilisable par des logiciels d'application non spécifiquement dédiés à cette unité centrale. Cette procédure, qui est celle qu'utilisent notamment les ordinateurs personnels de bureau, les ordinateurs portables, les boîtiers de décodage de télévision, les boîtiers de télévision payante, les consoles de jeux vidéo, les téléphones mobiles, et leurs cartes-mères, est en réalité très vulnérable aux tentatives d'intrusion et d'usurpation, notamment en raison de la facilité avec laquelle la mémoire non volatile allouée au programme basique d'entrées-sorties peut être fraudée ou modifiée, que cette mémoire soit du type ROM, PROM, EPROM, EEPROM ou FLASH. Ainsi, dans le cas de boîtiers de décodage de télévision par exemple, des utilisateurs indélicats peuvent trouver intérêt à développer ou acheter des cartes frauduleuses leur permettant d'avoir gratuitement accès à des services payants. L'invention a pour but de proposer des moyens permettant de combattre ce type de fraude de manière efficace. A cette fin, la plate-forme électronique de l'invention, par ailleurs conforme à la définition générique qu'en donne le préambule ci-dessus, est essentiellement caractérisée en ce que les moyens de sécurisation d'accès comprennent au moins un jeton d'accès et une unité intelligente de contrôle d'accès dans laquelle est implantée une première partie au moins de la mémoire du programme basique d'entrées-sorties, en ce que l'unité de contrôle d'accès est physiquement fixée à la plate-forme par une liaison à mémoire irréversible d'effraction, en ce que l'unité de contrôle d'accès comprend un module d'authentification du jeton d'accès sélectivement activé par une activation de l'organe de démarrage et / ou une présentation du jeton, et en ce que cette unité de contrôle d'accès interdit l'accès à la première partie au moins de la mémoire du programme basique d'entrées-sorties, sauf en réponse à une opération réussie d'authentification, par le module d'authentification, du jeton d'accès qui lui est présenté. Par "mémoire irréversible d'effraction" on entendra, dans la présente description, tout moyen qui, en cas d'effraction, témoigne au moins de cette effraction de manière nécessairement visible, et qui, de préférence, rend définitivement inutilisable l'élément ou le composant ayant subi l'effraction. Le jeton d'accès et l'unité de contrôle d'accès comprennent avantageusement des modules de communication respectifs 20 leur permettant d'échanger des données entre eux. Dans ce cas, le jeton d'accès et l'unité de contrôle d'accès peuvent communiquer l'un avec l'autre, à travers leurs modules de communication respectifs, par échange de données cryptées. De préférence, les données échangées entre le jeton d'accès et l'unité de contrôle d'accès comprennent alors des données d'authentification du jeton par l'unité de contrôle d'accès et éventuellement aussi des données d'authentification de l'unité de contrôle d'accès par le jeton. Le jeton d'accès peut notamment être constitué, par exemple, par un jeton USB, une carte à puce intelligente, un terminal Ethernet, ou une carte mémoire telle que celle connue de l'homme du métier sous l'acronyme MMC (de l'anglais "Multi Media Card"). De façon avantageuse, une deuxième partie au moins de la mémoire du programme basique d'entrées-sorties peut être implantée dans le jeton d'accès. Dans ce cas, l'échange de données entre le jeton d'accès et l'unité de contrôle d'accès comprend notamment la transmission, depuis le jeton vers l'unité de contrôle d'accès, des données mémorisées dans la deuxième partie au moins de la mémoire du programme basique d'entrées-sorties. Le jeton présente avantageusement une structure lui conférant une mémoire irréversible d'effraction, par exemple une mémoire du type connu de l'homme du métier sous les dénominations "Secure MMC" ou "Smart Card". L'invention concerne donc également un procédé de sécurisation d'accès à une plate-forme électronique comprenant une mémoire de programme basique d'entrées- sorties, ce procédé étant caractérisé en ce qu'il comprend une opération consistant à déporter une première partie au moins de la mémoire du programme basique dans une unité intelligente de contrôle d'accès n'autorisant un accès au programme basique que sur présentation, à l'unité de contrôle d'accès, d'un jeton d'accès valide. Dans son mode de réalisation préféré, ce procédé de sécurisation comprend en outre une opération consistant à déporter sur le jeton l'ensemble de la mémoire du programme basique à l'exception de la première partie de cette mémoire. D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui en est faite ci-après, à titre indicatif et nullement limitatif, en référence au dessin annexé dont la figure unique représente de façon schématique et fonctionnelle un mode de réalisation possible de l'invention. Comme annoncé précédemment, l'invention concerne notamment une plateforme électronique, référencée PFE, dont l'invention vise à sécuriser l'accès, et qui est par exemple constituée par un serveur informatique, un ordinateur personnel de bureau, un ordinateur portable, un boîtier de décodage ou de paiement de télévision, une console de jeux vidéo, un téléphone mobile, ou encore une carte-mère destinée à ce type d'équipement. Une telle plate-forme comprend typiquement au moins un organe de démarrage STRT, une unité centrale de traitement CPU, et une mémoire contenant un programme basique d'entrées-sorties, tel qu'un programme BIOS. L'organe de démarrage STRT, qui est par exemple constitué par un interrupteur électrique et / ou par un ensemble de touches d'un clavier, peut être actionné par changement d'état de l'interrupteur et / ou actionnement combiné de ces touches. Ces composants matériels et fonctionnels sont agencés de façon telle que l'unité centrale CPU n'adopte un état opérationnel qu'après une exécution du programme basique d'entrées-sorties BIOS contenu dans la mémoire, cette exécution étant déclenchée par une activation de l'organe de démarrage STRT. Lorsque l'unité centrale CPU est dans son état opérationnel, elle utilise le matériel, noté EQPM, de la plate-forme PFE, sous les instructions de logiciels d'application notés APPLI, mettant eux-mêmes en oeuvre un système d'exploitation noté OS. Bien que certaines plates-formes puissent, de façon connue, être dotées de certains moyens de sécurisation d'accès, l'invention vise à conférer à ces moyens de sécurisation d'accès une efficacité accrue. Pour ce faire, les moyens de sécurisation d'accès de l'invention comprennent essentiellement un jeton d'accès JTN et une unité intelligente de contrôle d'accès UCA dans laquelle est implantée une partie au moins de la mémoire du programme basique d'entrées-sorties. Selon le degré de sophistication de mise en oeuvre de l'invention, toute la mémoire du programme basique d'entrées-sorties peut être implantée dans l'unité UCA, ou une première partie seulement de cette mémoire, notée MBIOS 1, peut être implantée dans cette unité tandis qu'une seconde partie, notée MBIOS 2, est alors implantée dans le jeton JTN. La figure représente le mode de réalisation préféré, dans lequel la mémoire contenant le programme basique d'entrées-sorties comprend une première partie MBIOS l implantée dans l'unité UCA et dans laquelle est stockée une première partie correspondante BIOS _1 du programme basique tel que BIOS, et une deuxième partie MBIOS 2 implantée dans le jeton JTN et dans laquelle est stockée une deuxième partie correspondante BIOS_2 de ce programme basique. L'unité de contrôle d'accès UCA est physiquement fixée à la plate-forme PFE par une liaison à mémoire irréversible d'effraction, et par exemple noyée dans un bloc de résine, de manière à laisser trace de toute tentative d'intrusion et à ne pouvoir être démontée sans être détruite. Au lieu de commander l'exécution du programme basique d'entrées-sorties, l'activation de l'organe de démarrage STRT déclenche, dans la plate-forme PFE de l'invention, l'activation d'un module AUTH 1 de l'unité de contrôle d'accès UCA, qui a pour fonction de vérifier l'authenticité du jeton d'accès JTN présenté à l'unité de contrôle d'accès UCA en tant que requête d'accès à la plate-forme PFE. Eventuellement, la simple présentation de ce jeton peut remplir le rôle de l'organe de démarrage ou remplir un rôle équivalent qui se cumule avec celui de l'organe de démarrage STRT. Dans ce contexte, la fonction que doit remplir l'unité de contrôle d'accès UCA consiste au moins à interdire à l'unité centrale CPU et au matériel EQPM de la plate-forme l'accès à la partie MBIOS1 de la mémoire du programme basique d'entrées-sorties qui est implantée dans cette unité UCA, sauf si le module d'authentification AUTH 1 reconnaît comme authentique le jeton d'accès JTN qui lui est présenté. Dans la mesure où l'unité de contrôle UCA joue un rôle actif d'authentification, le jeton d'accès JTN n'a pas besoin a priori d'être lui-même actif ni intelligent, pourvu qu'il soit constitué par un objet reconnaissable par l'unité de contrôle UCA et idéalement non falsifiable, par exemple doté d'une structure à mémoire irréversible d'effraction. Cependant, il est également possible de prévoir que le jeton d'accès JTN soit actif, et en particulier que ce jeton et l'unité de contrôle d'accès UCA comprennent des modules de communication respectifs, notés DAT TRANS 1 et DAT TRANS 2, qui leur permettent d'échanger des données, et même qu'ils comprennent des modules de cryptage respectifs, notés CRYPTO1 et CRYPTO2, qui leur permettent de crypter les données qu'ils échangent. Le jeton JTN peut par exemple être constitué par un jeton USB, une carte à puce intelligente, un terminal Ethernet, ou encore une carte mémoire telle que MMC (Multi Media Card). Dans le cas où le jeton d'accès JTN est lui-même actif et intelligent, il peut non seulement fournir à l'unité de contrôle d'accès UCA des données DAT AUTH 2 permettant l'authentification de ce jeton JTN par l'unité de contrôle d'accès UCA, mais il peut aussi recevoir de l'unité de contrôle d'accès UCA des données DAT AUTH 1 qui permettent à ce jeton JTN d'authentifier l'unité de contrôle d'accès UCA avec laquelle il communique. Dans ce cas, il est avantageux d'implanter dans le jeton d'accès JTN la partie MBIOS2 de la mémoire du programme basique d'entrées-sorties qui est complémentaire de la partie MBIOS_1 de la mémoire du programme basique d'entrées-sorties implantée dans l'unité de contrôle d'accès UCA. Un mode de fonctionnement possible d'une plate-forme PFE comprenant, comme illustré à la figure, un jeton d'accès 10 JTN actif et intelligent, peut être le suivant. A l'actionnement de l'organe de démarrage STRT, et / ou à la détection de l'approche physique du jeton JTN par rapport à l'unité de contrôle UCA, le microprocesseur PROCESS 1 de l'unité UCA active la transmission, par le module DATTRANS 1 et à destination du jeton JTN, de données d'authentification DAT AUTH 1 élaborées par le module AUTH1 et cryptées par le module CRYPTO 1. Après détection de la réception, par le module DAT TRANS 2, des données d'authentification DATAUTH1 émises par l'unité de contrôle UCA, le microprocesseur PROCESS 2 du jeton JTN déclenche le décryptage de ces données par le module CRYPTO 2 et leur vérification par le module AUTH 2. Dans le cas où le jeton JTN ne reconnaît pas l'unité de contrôle UCA comme authentique, le jeton JTN reste inactif et tout se passe comme s'il n'existait pas. Dans le cas où le jeton JTN reconnaît l'unité de contrôle UCA comme authentique, le microprocesseur PROCESS 2 déclenche la transmission, par le module DAT TRANS 2 et à destination de l'unité de contrôle UCA, de données d'authentification DAT AUTH 2 élaborées par le module AUTH 2 et cryptées par le module CRYPTO 2. Après détection de la réception, par le module DAT TRANS 1, des données d'authentification DATAUTH2 émises par le jeton JTN, le microprocesseur PROCESS 1 de l'unité de contrôle UCA déclenche le décryptage de ces données par le module CRYPTO 1 et leur vérification par le module AUTH 1. Dans le cas où l'unité de contrôle UCA ne reconnaît pas le jeton JTN comme authentique, l'unité de contrôle d'accès UCA continue d'interdire l'accès au programme BIOS 1, de sorte que la plate-forme PFE reste inutilisable. Dans le cas où l'unité de contrôle UCA reconnaît le jeton JTN comme authentique, le microprocesseur PROCESS 1 rend passant le module de filtrage FILT 1 qui bloque normalement l'accès au contenu BIOS 1 de la partie MBIOS 1 de la mémoire de programme basique qui est implantée dans cette unité UCA. La première partie BIOS_1 du programme basique d'entrées-sorties est ainsi rendue disponible à l'unité centrale CPU et au matériel EQPM de la plate-forme PFE. Dans le cas où l'unité de contrôle UCA reconnaît le jeton JTN comme authentique, elle adresse par ailleurs au jeton JTN un accusé de réception d'authentification réussie. Le microprocesseur PROCESS_2 rend alors passant le module de filtrage FILT2 qui bloque normalement l'accès au contenu BIOS 2 de la partie MBIOS 2 de la mémoire de programme basique qui est implantée sur le jeton JTN, et déclenche la transmission, par le module DAT TRANS 2 et à destination de l'unité de contrôle UCA, du contenu BIOS_2 de la mémoire partielle MBIOS 2 crypté par le module CRYPTO 2, et que l'unité de contrôle UCA rend à son tour disponible à l'unité centrale CPU et au matériel EQPM de la plate-forme PFE après réception et décryptage. Comme le comprendra l'homme du métier, plusieurs variantes de ce procédé sont envisageables. En particulier, il serait possible de prévoir que le jeton JTN s'identifie en premier auprès de l'unité de contrôle UCA, ou que le contenu BIOS 2 de la partie MBIOS 2 de la mémoire de programme basique implantée sur le jeton JTN soit transmis à l'unité de contrôle UCA en même temps que les données d'authentification DATAUTH_2, après _ authentification réussie de l'unité de contrôle UCA par le jeton JTN. REVENDICATIONS 1. Plate-forme électronique (PFE), comprenant un organe de démarrage (STRT), une unité centrale de traitement (CPU), une mémoire (MBIOS 1, MBIOS 2) de programme basique d'entrées-sorties (BIOS 1+BIOS2), et des moyens de sécurisation d'accès (UCA, JTN), l'unité centrale (CPU) n'adoptant un état opérationnel qu'après une exécution du programme basique d'entrées-sorties (BIOS), sélectivement déclenchée par une activation de l'organe de démarrage (STRT), caractérisée en ce que les moyens de sécurisation d'accès comprennent au moins un jeton d'accès (JTN) et une unité intelligente de contrôle d'accès (UCA) dans laquelle est implantée une première partie (MBIOS 1) au moins de la mémoire (MBIOS_1, MBIOS2) du programme basique d'entrées-sorties, en ce que l'unité de contrôle d'accès (UCA) est physiquement fixée à la plate-forme (PFE) par une liaison à mémoire irréversible d'effraction, en ce que l'unité de contrôle d'accès (UCA) comprend un module (AUTH 1) d'authentification du jeton d'accès (JTN) sélectivement activé par une activation de l'organe de démarrage (STRT) et / ou une présentation du jeton (JTN), et en ce que cette unité de contrôle d'accès (UCA) interdit l'accès à la première partie (MBIOS 1) au moins de la mémoire du programme basique d'entréessorties, sauf en réponse à une opération réussie d'authentification, par le module d'authentification (AUTH 1), du jeton d'accès (JTN) qui lui est présenté. 2. Plate-forme suivant la revendication 1, caractérisée 30 en ce que le jeton d'accès (JTN) et l'unité de contrôle d'accès (UCA) comprennent des modules de communication respectifs (DAT TRANS 1, DATTRANS 2) leur permettant d'échanger des données entre eux. 3. Plate-forme suivant la revendication 2, caractérisée en ce que le jeton d'accès (JTN) et l'unité de contrôle d'accès (UCA) communiquent l'un avec l'autre, à travers leurs modules de communication respectifs (DAT TRANS 1, DATTRANS 2), par échange de données cryptées. 4. Plate-forme suivant la revendication 2 ou 3, caractérisée en ce que les données échangées entre le jeton d'accès (JTN) et l'unité de contrôle d'accès (UCA) comprennent des données (DAT AUTH 2) d'authentification du jeton (JTN) par l'unité de contrôle d'accès (UCA). 5. Plate-forme suivant l'une quelconque des revendications 2 à 4, caractérisée en ce que les données échangées entre le jeton d'accès (JTN) et l'unité de contrôle d'accès (UCA) comprennent des données (DAT AUTH 1) d'authentification de l'unité de contrôle d'accès (UCA) par le jeton (JTN) . 6. Plate-forme suivant l'une quelconque des revendications précédentes, caractérisée en ce qu'une deuxième partie au moins (MBIOS_2) de la mémoire (MBIOS 1, MBIOS2) du programme basique d'entrées-sorties est implantée dans le jeton d'accès (JTN). 7. Plate-forme suivant l'ensemble des revendications 2 et 6, caractérisée en ce que l'échange de données entre le jeton d'accès (JTN) et l'unité de contrôle d'accès (UCA) comprend la transmission, depuis le jeton (JTN) vers l'unité de contrôle d'accès (UCA), des données (BIOS_2) mémorisées dans la deuxième partie au moins (MBIOS_2) de la mémoire (MBIOS_1, MBIOS_2) du programme basique d'entrées-sorties. 8. Plate-forme suivant l'une quelconque des revendications précédentes, caractérisée en ce que le jeton (JTN) présente une structure à mémoire irréversible d'effraction. 9. Procédé de sécurisation d'accès à une plate-forme électronique comprenant une mémoire (MBIOS_l, MBIOS_2) de programme basique d'entréessorties (BIOS 1 + BIOS 2), caractérisé en ce qu'il comprend une opération consistant à déporter une première partie au moins (MBIOS 1) de la mémoire du programme basique dans une unité intelligente de contrôle d'accès (UCA) n'autorisant un accès au programme basique (BIOS_1+BIOS_2) que sur présentation, à l'unité de contrôle d'accès (UCA), d'un jeton d'accès (JTN) valide. 10. Procédé de sécurisation d'accès suivant la revendication 9, caractérisé en ce qu'il comprend en outre une opération consistant à déporter sur le jeton (JTN) l'ensemble (MBIOS_2) de la mémoire du programme basique à l'exception de la première partie (MBIOS 1) de cette mémoire.