FR2926149A1 - Dispositif, systemes et procede de demarrage securise d'une installation informatique - Google Patents
Dispositif, systemes et procede de demarrage securise d'une installation informatique Download PDFInfo
- Publication number
- FR2926149A1 FR2926149A1 FR0800076A FR0800076A FR2926149A1 FR 2926149 A1 FR2926149 A1 FR 2926149A1 FR 0800076 A FR0800076 A FR 0800076A FR 0800076 A FR0800076 A FR 0800076A FR 2926149 A1 FR2926149 A1 FR 2926149A1
- Authority
- FR
- France
- Prior art keywords
- computer installation
- data
- secure
- startup
- secure boot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000009434 installation Methods 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims description 32
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000012795 verification Methods 0.000 claims description 11
- 238000010200 validation analysis Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 9
- 238000005192 partition Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
Ce dispositif (30) de démarrage sécurisé d'une installation informatique (10) comporte une première interface (34) de connexion à l'installation informatique (10) et une seconde interface (36) de connexion à un support de données externe (20) distinct de l'installation informatique (10) et comportant des données (22) et codes exécutables (24) d'un programme de démarrage de l'installation informatique (10). Il comporte aussi des moyens (32, 42, 44) de sécurisation d'une utilisation des données (22) et codes exécutables (24) et des moyens (32, 40) de transmission des données (22) et codes exécutables (24) du programme de démarrage, depuis le support de données externe (20) via la seconde interface de connexion (36) vers l'installation informatique (10) via la première interface de connexion (34), après exécution des moyens de sécurisation (32, 42, 44), pour le démarrage de l'installation informatique (10) à l'aide des données (22) et codes exécutables (24) transmis.
Description
La présente invention concerne un dispositif de démarrage sécurisé d'une installation informatique. Elle concerne également un procédé et des systèmes correspondants. Une installation informatique comprend généralement au moins un disque dur interne et une carte mère munie d'un microprocesseur et d'une mémoire vive de type RAM (de l'anglais Read Access Memory ), pour l'exécution de programmes d'ordinateurs stockés notamment dans le disque dur interne. En premier lieu, le microprocesseur est adapté pour exécuter un programme de démarrage de l'installation informatique, incluant notamment des instructions d'exécution d'un système d'exploitation. Le disque dur interne de l'installation stocke un tel programme de démarrage associé à un système d'exploitation prédéterminé. Un programme de démarrage peut aussi être disponible sur un support de données externe, tel qu'un CD-ROM fourni avec l'installation informatique lorsque celle-ci est munie d'un lecteur correspondant, ou un autre type de support pouvant être connecté à l'installation informatique via un port de type USB par exemple. Une stratégie de démarrage appliquée par le microprocesseur peut en outre être définie dans un système élémentaire d'entrée/sortie, appelé communément BIOS (de l'anglais Basic Input Output System ) et contenu dans une mémoire morte de type ROM (de l'anglais Read Only Memory ) de la carte mère. Le BIOS peut ainsi prévoir une hiérarchie au démarrage, donnant priorité au programme de démarrage du CD-ROM, si celui-ci est correctement positionné dans le lecteur de l'installation informatique et si son programme de démarrage est prêt à être exécuté, puis au programme de démarrage d'un autre support, si celui-ci est connecté à un port USB de l'installation informatique et si son programme de démarrage est prêt à être exécuté, puis par défaut au programme de démarrage du disque dur interne. Dans tous les cas, le démarrage de l'installation informatique peut être avantageusement sécurisé. Un procédé de démarrage sécurisé d'une installation informatique est ainsi décrit dans la demande de brevet publiée sous le numéro US 2006/0236122. Ce procédé consiste, dans son principe général, à vérifier l'intégrité d'un programme avant de l'exécuter, à l'aide d'un algorithme de cryptographie. L'algorithme de cryptographie est exécuté par le microprocesseur de la carte mère à l'aide d'un système de clés stocké localement de façon sécurisée, par exemple sur le disque dur interne. En particulier, ce procédé peut être mis en oeuvre pour vérifier l'intégrité du BIOS ou d'une partie du BIOS, d'un programme de démarrage ou d'une partie d'un tel programme, telle que par exemple le noyau du système d'exploitation exécuté au démarrage. Un avantage de ce procédé est de permettre au microprocesseur de la carte mère de l'installation informatique de sécuriser l'exécution de programmes qui parfois ne sont pas certifiés au préalable par une autorité de certification reconnue. En revanche, il impose à l'installation informatique une contrainte consistant à stocker, en local et de façon sécurisée, un système de clés de cryptographie, voire plusieurs systèmes de clés si nécessaire, c'est-à-dire notamment si des sécurités distinctes doivent être prévues pour des programmes distincts.
La question se pose en particulier lorsqu'une même installation informatique est susceptible d'être utilisée par plusieurs personnes. Chaque utilisateur peut vouloir définir lui-même son propre environnement de travail associé à des applications spécifiques. Une autre solution connue, et pouvant être ajoutée à la précédente, est de définir des données d'authentification propres à chaque utilisateur, de les stocker en local de façon sécurisée, et de procéder à une vérification, réalisée par le microprocesseur à l'aide des données d'authentification stockées, au cours d'une étape du démarrage, par exemple juste après le lancement du système d'exploitation. Là encore, de façon contraignante, l'authentification est gérée par l'installation informatique et de plus, par souci de simplicité, les utilisateurs doivent en général utiliser le même système d'exploitation bien qu'ils puissent ensuite personnaliser leur environnement de travail. II peut ainsi être souhaité de prévoir un dispositif et/ou un procédé de démarrage sécurisé d'une installation informatique qui permette de s'affranchir de ces contraintes.
L'invention a donc pour objet un dispositif de démarrage sécurisé d'une installation informatique, caractérisé en ce qu'il comporte : une première interface de connexion à l'installation informatique, une seconde interface de connexion à un support de données externe, ce dernier étant distinct de l'installation informatique et comportant des données et codes exécutables d'un programme de démarrage de l'installation informatique, des moyens de sécurisation d'une utilisation des données et codes exécutables, et - des moyens de transmission des données et codes exécutables du programme de démarrage, depuis le support de données externe via la seconde interface de connexion vers le système informatique via la première interface de connexion, après exécution des moyens de sécurisation, pour le démarrage de l'installation informatique à l'aide des données et codes exécutables transmis.
Ainsi, il suffit que le BIOS de l'installation informatique prévoie, dans sa stratégie de démarrage, de vérifier la connexion du dispositif de démarrage à l'installation informatique pour que ce dernier prenne lui-même en charge la sécurisation d'une utilisation des données et codes exécutables permettant le transfert de données et codes exécutables d'un programme de démarrage spécifique devant être ensuite exécuté par le microprocesseur de la carte mère de l'installation informatique. De façon optionnelle, les moyens de sécurisation comportent des moyens de vérification et de validation de droits d'accès, pour l'exécution d'un procédé d'authentification d'un utilisateur du support de données externe.
Dans ce cas, de façon optionnelle, un dispositif de démarrage sécurisé d'une installation informatique selon l'invention comporte des moyens de stockage sécurisé de données de droits d'accès pour la vérification et la validation des droits d'accès à l'aide des données de droits d'accès stockées. De façon optionnelle, les moyens de sécurisation comportent des moyens cryptographiques de sécurisation des données et codes exécutables du programme de démarrage. De façon optionnelle, les moyens cryptographiques de sécurisation comportent des moyens d'exécution d'un procédé de vérification de l'intégrité des données et codes exécutables du programme de démarrage.
De façon optionnelle, les moyens cryptographiques de sécurisation comportent des moyens d'exécution d'un procédé de déchiffrement des données et codes exécutables du programme de démarrage. L'invention a également pour objet un système informatique à démarrage sécurisé comportant un dispositif de démarrage sécurisé selon l'invention et une installation informatique connectée au dispositif de démarrage sécurisé via la première interface de connexion. De façon optionnelle, la première interface de connexion est un point d'accès à un bus de transmission de données numériques de l'installation informatique. L'invention a également pour objet un système informatique de démarrage sécurisé d'une installation informatique, comportant un dispositif de démarrage sécurisé selon l'invention et un support de données externe, distinct de l'installation informatique et comportant des données et codes exécutables d'un programme de démarrage de l'installation informatique, connecté au dispositif de démarrage sécurisé via la seconde interface de connexion.
De façon optionnelle, la seconde interface de connexion est un point d'accès à un bus de transmission de données numériques du support de données externe. L'invention a également pour objet un système informatique à démarrage sécurisé comportant une installation informatique, un support de données externe, distinct de l'installation informatique et comportant des données et codes exécutables d'un programme de démarrage de l'installation informatique, et un dispositif de démarrage sécurisé selon l'invention, le dispositif de démarrage sécurisé étant : connecté à l'installation informatique via la première interface de connexion et au support de données externe via la seconde interface de connexion, et - disposé en coupure entre l'installation informatique et le support de données externe. L'invention a également pour objet un procédé de démarrage sécurisé d'une installation informatique comportant une étape de sécurisation d'une utilisation de données et codes exécutables, caractérisé en ce qu'il comporte les étapes suivantes : connexion d'un dispositif de démarrage sécurisé à l'installation informatique, connexion d'un support de données externe au dispositif de démarrage sécurisé, ce support de données externe étant distinct de l'installation informatique et comportant des données et codes exécutables d'un programme de démarrage de l'installation informatique, exécution par le dispositif de démarrage sécurisé de l'étape de sécurisation, et après l'exécution de l'étape de sécurisation par le dispositif de démarrage sécurisé, transmission, par le dispositif de démarrage sécurisé, des données et codes exécutables du programme de démarrage, depuis le support de données externe vers l'installation informatique, pour le démarrage de l'installation informatique à l'aide des données et codes exécutables transmis. 30 35 De façon optionnelle, un procédé selon l'invention comporte une étape de suspension du démarrage de l'installation informatique, activée par l'émission, par le dispositif de démarrage sécurisé, d'une instruction de mise en attente adressée à l'installation informatique, tant que l'étape de sécurisation n'a pas été exécutée par le dispositif de démarrage sécurisé. De façon optionnelle, l'étape de sécurisation comporte une étape de vérification et validation de droits d'accès par exécution d'un procédé d'authentification d'un utilisateur du support de données externe. De façon optionnelle, l'étape de sécurisation comporte une étape cryptographique de sécurisation des données et codes exécutables du programme de démarrage. De façon optionnelle, l'étape cryptographique de sécurisation comporte l'exécution d'un procédé de vérification de l'intégrité des données et codes exécutables du programme de démarrage.
De façon optionnelle, l'étape cryptographique de sécurisation comporte l'exécution d'un procédé de déchiffrement des données et codes exécutables du programme de démarrage. L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels : les figures 1, 2 et 3 représentent respectivement les structures générales de premier, deuxième et troisième modes de réalisation d'un système informatique selon l'invention, pour le démarrage sécurisé d'une installation informatique, et - la figure 4 illustre les étapes successives d'un mode de réalisation d'un procédé de démarrage sécurisé d'une installation informatique selon l'invention. Sur la figure 1, une installation informatique est représentée par la référence générale 10. Cette installation comporte notamment une carte mère 12, un disque dur interne 14 et une interface 16 de connexion à un dispositif externe. Ces trois éléments 12, 14 et 16 sont reliés entre eux à l'aide d'un bus 18 de transmission de données classique. De façon classique également, la carte mère 12 comporte un microprocesseur, une mémoire ROM pour le stockage du BIOS de l'installation informatique 10 et une mémoire RAM pour, en combinaison avec le microprocesseur, l'exécution de programmes, parmi lesquels notamment un programme de démarrage de l'installation informatique 10. Un tel programme de démarrage est par exemple par défaut stocké dans le disque dur interne 14 de l'installation informatique. Cette installation est appropriée pour la mise en oeuvre de l'invention, mais d'autres configurations possibles d'installations informatiques conviennent aussi. En effet, l'invention s'applique, de façon non limitative, à des installations informatiques telles que des ordinateurs de type PC fixes ou portables, des serveurs, des installations multiprocesseurs, des réseaux locaux d'ordinateurs, etc. Un support de données externe 20, distinct de l'installation informatique 10 et non directement relié à celle-ci, est également représenté sur la figure 1. Il comporte des données 22 et codes exécutables 24 d'un programme de démarrage de l'installation informatique 10. Chacun de ces données 22 et codes exécutables 24 peut être stocké sous forme chiffrée et associé à une signature, conformément à des procédés de cryptographie classiques. Le support de données externe 20 comporte en outre une interface 26 de connexion à un dispositif externe. Le support de données est par exemple une clé de type USB ou bien un disque dur externe à connexion USB, auquel cas l'interface de connexion 26 est un port ou une prise USB. Enfin, un dispositif 30 de démarrage sécurisé de l'installation informatique 10 est également représenté sur la figure 1. Ce dispositif 30 est par exemple réalisé sous la forme d'un système sur puce électronique, incluant des fonctionnalités de sécurisation d'une utilisation des données et codes exécutables, ainsi que des fonctionnalités de transmission de données. Les fonctionnalités de sécurisation d'une utilisation des données et codes exécutables peuvent inclure des fonctionnalités de vérification et de validation de droits d'accès d'un utilisateur ainsi que des fonctionnalités cryptographiques de sécurisation des données et codes eux-mêmes.
Pour cela, il comporte un microprocesseur 32, deux interfaces 34 et 36 reliées au microprocesseur 32 par deux bus 38a et 38b de transmission de données, des moyens 40 de stockage d'applications exécutables d'émission et de réception de données, des moyens 42 de stockage d'applications exécutables de cryptographie et/ou d'authentification pour la sécurisation des données et codes exécutables et pour la vérification et la validation des droits d'accès, et des moyens 44 de stockage sécurisé de données secrètes de cryptographie et/ou d'authentification. Le microprocesseur 32, doté de son propre système d'exploitation sécurisé, est configuré pour, en association avec les moyens 40, 42 et 44 : - exécuter une étape de sécurisation d'une utilisation des données et codes exécutables comportant au moins l'une des sous étapes suivantes : • vérifier et valider des droits d'accès par authentification d'un utilisateur, à l'aide des moyens 42 et 44, • déchiffrer des données et codes exécutables, si nécessaire, à l'aide des moyens 42 et 44, • vérifier des signatures, si nécessaire, à l'aide des moyens 42 et 44, piloter des échanges de données entre une première interface 34 de connexion à l'installation informatique 10 et une seconde interface 36 de connexion au support de données externe 20, à l'aide des moyens 40, de manière à transmettre les données 22 et codes exécutables 24 du programme de démarrage stockés dans le support de données externe 20, depuis le support de données externe 20 via la seconde interface de connexion 36 vers l'installation informatique 10 via la première interface 34 de connexion, après exécution de l'étape de sécurisation, par vérification et validation de droits d'accès, d'une part, et sécurisation cryptographique des données 22 et codes exécutables 24, d'autre part, pour le démarrage de l'installation informatique 10 à l'aide des données 22 et codes exécutables 24 transmis, et suspendre le démarrage de l'installation informatique 10 tant que l'étape de sécurisation n'a pas été exécutée.
On notera que le microprocesseur 32, associé aux moyens 40, 42 et 44, permet au dispositif de démarrage sécurisé 30 de fonctionner de manière autonome pour réaliser ses fonctionnalités de sécurisation et de transmission de données et codes exécutables du programme de démarrage. Il est notamment complètement indépendant des ressources de l'installation informatique 10. La carte mère 12 n'est en effet sollicitée que pour démarrer l'installation informatique à l'aide des données et codes exécutables du programme de démarrage, après que ceux-ci ont été transmis et éventuellement déchiffrés par le dispositif de démarrage sécurisé 30. Dans le mode de réalisation de la figure 1, l'installation informatique 10, le dispositif de démarrage sécurisé 30 et le support de données externe 20 forment trois composants distincts pouvant être connectés ou déconnectés simplement, via les interfaces 16, 34, 36 et 26. Comme indiqué précédemment, les interfaces 36 et 26 sont par exemple des ports et/ou prises de type USB compatibles. Il peut en être de même pour les interfaces 16 et 34. Après connexion de ces trois dispositifs 10, 20 et 30, le dispositif de démarrage sécurisé 30 s'interpose entre l'installation informatique 10 et le support de données externe 20, et les relie en coupure, pour réaliser le démarrage de l'installation informatique 10. Dans ce mode de réalisation, le dispositif de démarrage sécurisé 30 peut prendre la forme d'un bloc VHDL d'un composant de type ASIC (de l'anglais Application Specific Integrated Circuit ) ou d'un réseau de portes logiques programmable de type FPGA (de l'anglais Field Programmable Gate Array ) indépendant. Dans un autre mode de réalisation représenté sur la figure 2, le dispositif de démarrage sécurisé 30 est intégré, avec l'installation informatique 10, dans un système informatique à démarrage sécurisé 50. Dans ce mode de réalisation, le dispositif de démarrage sécurisé 30 peut prendre la forme d'un bloc VHDL d'un composant de type ASIC ou d'un réseau de portes logiques programmable de type FPGA, disposé en coupure entre la seconde interface 36 de connexion au support de données externe 20 et le bus 18 de transmission de données de l'installation informatique 10. La première interface 34 de connexion du dispositif de démarrage sécurisé 30 à l'installation informatique prend alors la forme d'un point d'accès au bus 18 du microprocesseur 32 du dispositif de démarrage sécurisé 30. Enfin, dans un autre mode de réalisation représenté sur la figure 3, le dispositif de démarrage sécurisé 30 est intégré, avec le support de données externe 20, dans un système informatique de démarrage sécurisé 60. Dans ce mode de réalisation, le support de données externe 20 peut être directement connecté au bus 38b de transmission de données du dispositif de démarrage sécurisé 30, ce dernier pouvant prendre la forme d'un bloc VHDL d'un composant de type ASIC ou d'un réseau de portes logiques programmable de type FPGA, disposé en coupure entre le support de données externe 20 et la première interface 34 de connexion du dispositif de démarrage sécurisé 30 à l'installation informatique. Dans ce cas, les interfaces 16 et 34 peuvent prendre la forme de port et/ou prise USB en correspondance. La seconde interface 36 de connexion du dispositif de démarrage sécurisé 30 au support de données externe 20 prend la forme d'un point d'accès du support de données externe au bus 38b. Les fonctionnalités de sécurisation du dispositif de démarrage sécurisé 30 comportent l'une ou plusieurs des fonctions classiques de la cryptologie, notamment, la confidentialité, l'intégrité et l'authentification. La confidentialité concerne l'échange entre entités de messages chiffrés qui, sans clé de déchiffrement, sont inintelligibles. Cette confidentialité est assurée par l'application d'algorithmes à schéma de chiffrement symétrique (i.e. à clé secrète) ou asymétrique (i.e. à paire de clés publique et privée). Pour assurer cette fonctionnalité, le dispositif de démarrage sécurisé 30 doit stocker la ou les clé(s) nécessaire(s) au chiffrement ou au déchiffrement dans les moyens de stockage sécurisé 44 et le ou les algorithme(s) de chiffrement correspondants dans les moyens 42 de stockage d'applications. Cette fonctionnalité s'applique aux données 22 et codes exécutables 24, éventuellement à l'aide d'algorithmes et clés différents. L'intégrité concerne la vérification qu'un message reçu n'a pas été modifié par une tierce personne ou un système malveillant. Cette intégrité est gérée à l'aide de fonctions de hachage à clé secrète, dites fonctions HMAC (de l'anglais keyed-Hash Message Authentication Code ), ou à l'aide de schémas de signature à clé publique.
De même, pour assurer cette fonctionnalité, le dispositif de démarrage sécurisé 30 doit stocker la ou les clé(s) nécessaire(s) à la vérification d'une signature dans les moyens de stockage sécurisé 44 et le ou les algorithme(s) de génération et/ou vérification de signatures correspondants dans les moyens 42 de stockage d'applications. Cette fonctionnalité s'applique aux données 22 et codes exécutables 24, éventuellement à l'aide d'algorithmes et clés différents. L'authentification concerne la reconnaissance d'une personne à l'aide d'un secret qu'elle seule possède. Le secret peut être un code ou mot de passe, mais peut aussi comporter des données biométriques. Plusieurs protocoles d'authentification existent : certains consistent simplement à comparer un secret saisi à un modèle stocké de façon sécurisée, d'autres combinent authentification et confidentialité ou intégrité, d'autres encore sont à divulgation nulle de connaissance. Pour assurer cette fonctionnalité, le dispositif de démarrage sécurisé 30 doit éventuellement stocker un modèle dans les moyens de stockage sécurisé 44 et le protocole d'authentification utilisé dans les moyens 42 de stockage d'applications. Il doit aussi comporter des moyens de saisie du secret, comme par exemple un clavier de saisie alphanumérique ou un capteur biométrique (non représenté sur les figures 1 à 3). Cette fonctionnalité s'adresse par exemple au propriétaire du support de données externe 20, en tant qu'utilisateur souhaitant réaliser le démarrage de l'installation informatique 10 à l'aide de son propre programme de démarrage et des données 22 et codes exécutables 24 associés. Comme illustré sur les figures 1, 2 et 3, les moyens 42 de stockage d'applications, d'une part, et les moyens de stockage sécurisé 44, d'autre part, sont présentés comme une architecture possible de mise en oeuvre des fonctionnalités de sécurisation d'une utilisation des données 22 et codes exécutables 24, mais d'autres architectures sont également possibles : notamment la fourniture de davantage de média de stockages indépendants et de types différents, adaptés chacun à une ou plusieurs fonction(s) parmi les fonctions de cryptologie précitées, éventuellement partitionnés. En outre, puisque les fonctions précitées mettent en oeuvre des algorithmes à base de clés de cryptographie, des algorithmes de génération de nombres aléatoires, de génération de clés de cryptographie, de conservation de l'intégrité des clés générées et autres peuvent être prévus dans le dispositif de démarrage sécurisé 30 et exécutés par le microprocesseur 32 et les moyens de stockage associés. Enfin, les interfaces 16, 26, 34 et 36 ont été décrites à titre d'exemple comme pouvant être de type USB ou à accès direct à un bus de transmission de données. D'une façon plus générale, ces interfaces peuvent être de type parallèle (bus processeur, PCMCIA, ...), série (USB, PCI-X, ...) ou sans fil (Wireless USB, ...). La mise en oeuvre, par l'un des systèmes présentés précédemment, d'un mode de réalisation d'un procédé de démarrage de l'installation informatique 10 selon l'invention, va maintenant être détaillée, en référence à la figure 4. Lors d'une première étape 100, l'installation informatique 10 est mise sous tension, ce qui provoque l'exécution du BIOS de la carte mère 12. De façon classique, le BIOS commence par tester, déclarer et configurer les différents composants et périphériques de l'installation informatique 10, puis recherche un programme de démarrage et un système d'exploitation associé avant de le lancer, conformément à une stratégie de démarrage prédéfinie. Lors d'une étape suivante 102, le BIOS de la carte mère 12 détecte la connexion du dispositif de démarrage sécurisé 30 à l'interface 16 de l'installation informatique 10. Lors de cette étape, il sollicite la transmission de données et codes exécutables d'un programme de démarrage auprès du dispositif de démarrage sécurisé 30. Ensuite, lors d'une étape 104, le microprocesseur 32 du dispositif de démarrage sécurisé 30, reçoit cette sollicitation et génère une instruction de mise en attente du démarrage de l'installation informatique 10 tant qu'il n'aura pas sécurisé l'utilisation des données 22 et codes exécutables 24 du support de données externe 20 connecté via la seconde interface 36. Cette étape 104 est suive d'une étape 106 lors de laquelle le microprocesseur de la carte mère 12 suspend le démarrage de l'installation informatique 10. L'étape 104 est également suivie d'une étape 108 d'authentification, constituant une première étape de sécurisation de l'utilisation des données 22 et codes exécutables 24, de manière à s'assurer que l'utilisateur souhaitant démarrer l'installation informatique 10 possède effectivement des droits d'accès aux données 22 et codes exécutables 24 stockés dans le support de données externe 20. Cette étape requiert la saisie d'un secret (code, mot de passe ou données biométriques) de la part de l'utilisateur, via une interface dédiée du dispositif de démarrage sécurisé 30. Suite à l'étape 108, on passe à une étape 110, constituant une seconde étape de sécurisation de l'utilisation des données 22 et codes exécutables 24. Lors de cette étape, les données 22 et codes exécutables 24 stockés dans le support de données externe 20 sont traités par le microprocesseur 32, à l'aide des fonctions et données de cryptographie stockées dans les moyens de stockage 42 et 44, pour être déchiffrés et/ou validés en terme d'intégrité, avant d'être transmis au processeur de la carte mère 12 de l'installation informatique 10. La transmission, par le dispositif de démarrage, des données 22 et codes exécutables 24 déchiffrés à l'installation informatique 10 n'est réalisée que si les étapes 108 et 110 s'exécutent avec succès. Une fonction du dispositif de démarrage sécurisé 30 est en effet de s'interposer entre l'installation informatique 10 et le support de données externe 20 pour réaliser la sécurisation de l'utilisation des données 22 et codes exécutables 24 et pour ne transmettre ces derniers (i.e. les données 22 et codes exécutables 24) à l'installation informatique 10 qu'à condition que la sécurisation ait été réalisée par le dispositif de démarrage sécurisé 30, par vérification et validation des droits d'accès de l'utilisateur, d'une part, et par sécurisation cryptographique des données 22 et codes exécutables 24 eux-mêmes, d'autre part.
Lorsque les droits d'accès sont validés, lorsque l'intégrité des données et codes exécutables est vérifiée et qu'ils sont déchiffrés, on passe à une dernière étape 112 de transmission des données 22 et codes exécutables 24 déchiffrés à l'installation informatique 10, et de poursuite du démarrage de l'installation informatique 10 sur la base des données 22 et codes exécutables 24 transmis. Ce démarrage est réalisé par le microprocesseur de la carte mère 12. Le fonctionnement du dispositif de démarrage 30 vient d'être décrit en utilisation courante, pour le démarrage de l'installation informatique 10 par un utilisateur sur la base de données et codes exécutables propres à cet utilisateur. Il peut aussi être prévu un fonctionnement en mode administrateur du dispositif de démarrage 30, en alternative au mode utilisateur précédemment décrit. Un administrateur est un utilisateur particulier possédant des droits supplémentaires et qui doit donc être identifié à l'aide de données spécifiques. Dans le mode administrateur, il est par exemple possible de définir la taille des données d'authentification, les mécanismes cryptographiques utilisés, le nombre de partitions et attributs des moyens de stockage, les diverses autorisations d'un utilisateur, le protocole d'authentification utilisé, le droit pour un utilisateur de modifier la configuration des partitions, etc. Il apparaît clairement que le dispositif ou procédé de démarrage précédemment décrit permet un démarrage personnalisé d'une installation informatique 10, après une sécurisation d'une utilisation des données et codes exécutables réalisée indépendamment des ressources de l'installation informatique. Il suffit que le BIOS de cette installation informatique prévoie prioritairement un démarrage sur la base de données et codes exécutables stockés dans un dispositif externe, ce qui est généralement le cas de tout BIOS correctement paramétré. Le dispositif de démarrage sécurisé se charge ensuite des étapes de vérification et validation des droits d'accès, puis de l'étape de vérification de l'intégrité et de transmission des données et codes exécutables déchiffrés. Ainsi, un utilisateur peut emporter avec lui un support de données qui lui est propre et démarrer toute installation informatique avec l'ensemble de ses données, tout en ayant l'assurance d'une sécurité d'intégrité et de confidentialité dans l'utilisation de ces données et codes exécutables. On notera enfin que l'invention n'est pas limitée aux modes de réalisations décrits précédemment. En effet, diverses variantes peuvent être apportées dans la structure du système informatique mis en oeuvre, que ce soit au niveau de l'installation informatique, du dispositif de démarrage sécurisé ou du support de données externe. Diverses variantes peuvent être apportées également dans le procédé mis en oeuvre, notamment dans le choix et la séquence des algorithmes de cryptologie utilisés.
Claims (17)
1. Dispositif (30) de démarrage sécurisé d'une installation informatique (10), caractérisé en ce qu'il comporte : une première interface (34) de connexion à l'installation informatique (10), une seconde interface (36) de connexion à un support de données externe (20), ce dernier étant distinct de l'installation informatique (10) et comportant des données (22) et codes exécutables (24) d'un programme de démarrage de l'installation informatique (10), des moyens (32, 42, 44) de sécurisation d'une utilisation des données (22) et codes exécutables (24), et des moyens (32, 40) de transmission des données (22) et codes exécutables (24) du programme de démarrage, depuis le support de données externe (20) via la seconde interface de connexion (36) vers l'installation informatique (10) via la première interface de connexion (34), après exécution des moyens de sécurisation (32, 42, 44), pour le démarrage de l'installation informatique (10) à l'aide des données (22) et codes exécutables (24) transmis.
2. Dispositif (30) de démarrage sécurisé d'une installation informatique (10) selon la revendication 1, dans lequel les moyens de sécurisation (32, 42, 44) comportent des moyens de vérification et de validation de droits d'accès, pour l'exécution d'un procédé d'authentification d'un utilisateur du support de données externe (20).
3. Dispositif (30) de démarrage sécurisé d'une installation informatique (10) selon la revendication 2, comportant des moyens (44) de stockage sécurisé de données de droits d'accès pour la vérification et la validation des droits d'accès à l'aide des données de droits d'accès stockées.
4. Dispositif (30) de démarrage sécurisé d'une installation informatique (10) selon l'une quelconque des revendications 1 à 3, dans lequel les moyens de sécurisation (32, 42, 44) comportent des moyens cryptographiques de sécurisation des données (22) et codes exécutables (24) du programme de démarrage.
5. Dispositif (30) de démarrage sécurisé d'une installation informatique (10) selon la revendication 4, dans lequel les moyens cryptographiques de sécurisationcomportent des moyens (32) d'exécution d'un procédé de vérification de l'intégrité des données (22) et codes exécutables (24) du programme de démarrage.
6. Dispositif (30) de démarrage sécurisé d'une installation informatique (10) selon la revendication 4 ou 5, dans lequel les moyens cryptographiques de sécurisation comportent des moyens (32) d'exécution d'un procédé de déchiffrement des données (22) et codes exécutables (24) du programme de démarrage.
7. Système informatique (50) à démarrage sécurisé comportant un dispositif de démarrage sécurisé (30) selon l'une quelconque des revendications 1 à 6 et une installation informatique (10) connectée au dispositif de démarrage sécurisé via la première interface de connexion (34).
8. Système informatique (50) à démarrage sécurisé selon la revendication 7, dans lequel la première interface de connexion (34) est un point d'accès à un bus (18) de transmission de données numériques de l'installation informatique (10).
9. Système informatique (60) de démarrage sécurisé d'une installation informatique (10), comportant un dispositif de démarrage sécurisé (30) selon l'une quelconque des revendications 1 à 6 et un support de données externe (20), distinct de l'installation informatique (10) et comportant des données (22) et codes exécutables (24) d'un programme de démarrage de l'installation informatique, connecté au dispositif de démarrage sécurisé via la seconde interface de connexion (36).
10. Système informatique (60) de démarrage sécurisé d'une installation informatique selon la revendication 9, dans lequel la seconde interface de connexion (36) est un point d'accès à un bus de transmission de données numériques du support de données externe (20).
11. Système informatique à démarrage sécurisé comportant une installation informatique (10), un support de données externe (20), distinct de l'installation informatique et comportant des données (22) et codes exécutables (24) d'un programme de démarrage de l'installation informatique, et un dispositif de démarrage sécurisé (30) selon l'une quelconque des revendications 1 à 6, le dispositif de démarrage sécurisé (30) étant : connecté à l'installation informatique (10) via la première interface de connexion (34) et au support de données externe (20) via la seconde interface de connexion (36), et disposé en coupure entre l'installation informatique (10) et le support de données externe (20).
12. Procédé de démarrage sécurisé d'une installation informatique (10) comportant une étape (108, 110) de sécurisation d'une utilisation de données (22) et codes exécutables (24), caractérisé en ce qu'il comporte les étapes suivantes : connexion (102) d'un dispositif de démarrage sécurisé (30) à l'installation informatique (10), connexion d'un support de données externe (20) au dispositif de démarrage sécurisé (30), ce support de données externe étant distinct de l'installation informatique et comportant des données (22) et codes exécutables (24) d'un programme de démarrage de l'installation informatique, exécution (108, 110) par le dispositif de démarrage sécurisé (30) de l'étape de sécurisation, et après l'exécution de l'étape de sécurisation par le dispositif de démarrage sécurisé (30), transmission, par le dispositif de démarrage sécurisé (30), des données (22) et codes exécutables (24) du programme de démarrage, depuis le support de données externe (20) vers l'installation informatique (10), pour le démarrage (112) de l'installation informatique à l'aide des données et codes exécutables transmis.
13. Procédé de démarrage sécurisé d'une installation informatique (10) selon la revendication 12, comportant une étape (106) de suspension du démarrage de l'installation informatique (10), activée par l'émission (104), par le dispositif de démarrage sécurisé (30), d'une instruction de mise en attente adressée à l'installation informatique (10), tant que l'étape (108, 110) de sécurisation n'a pas été exécutée par le dispositif de démarrage sécurisé (30).
14. Procédé de démarrage sécurisé d'une installation informatique (10) selon la revendication 12 ou 13, dans lequel l'étape (108, 110) de sécurisation comporte une étape de vérification et validation de droits d'accès par exécution d'un procédé d'authentification d'un utilisateur du support de données externe (20).
15. Procédé de démarrage sécurisé d'une installation informatique (10) selon l'une quelconque des revendications 12 à 14, dans lequel l'étape (108, 110) de sécurisation comporte une étape cryptographique de sécurisation des données (22) et codes exécutables (24) du programme de démarrage.
16. Procédé de démarrage sécurisé d'une installation informatique (10) selon la revendication 15, dans lequel l'étape cryptographique de sécurisation comportel'exécution d'un procédé de vérification de l'intégrité des données (22) et codes exécutables (24) du programme de démarrage.
17. Procédé de démarrage sécurisé d'une installation informatique (10) selon la revendication 15 ou 16, dans lequel l'étape cryptographique de sécurisation comporte l'exécution d'un procédé de déchiffrement des données (22) et codes exécutables (24) du programme de démarrage.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0800076A FR2926149B1 (fr) | 2008-01-07 | 2008-01-07 | Dispositif, systemes et procede de demarrage securise d'une installation informatique |
EP08291229.6A EP2077515B1 (fr) | 2008-01-07 | 2008-12-23 | Dispositif, systèmes et procédé de démarrage sécurisé d'une installation informatique |
US12/319,444 US8341389B2 (en) | 2008-01-07 | 2009-01-07 | Device, systems, and method for securely starting up a computer installation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0800076A FR2926149B1 (fr) | 2008-01-07 | 2008-01-07 | Dispositif, systemes et procede de demarrage securise d'une installation informatique |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2926149A1 true FR2926149A1 (fr) | 2009-07-10 |
FR2926149B1 FR2926149B1 (fr) | 2010-01-29 |
Family
ID=39636889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0800076A Active FR2926149B1 (fr) | 2008-01-07 | 2008-01-07 | Dispositif, systemes et procede de demarrage securise d'une installation informatique |
Country Status (3)
Country | Link |
---|---|
US (1) | US8341389B2 (fr) |
EP (1) | EP2077515B1 (fr) |
FR (1) | FR2926149B1 (fr) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8881270B2 (en) | 2002-12-20 | 2014-11-04 | Creative Mines Llc | Method and apparatus for selectively enabling a microprocessor-based system |
FR2930058B1 (fr) * | 2008-04-14 | 2010-06-11 | Bull Sas | Dispositif portable et procede de demarrage externe d'une installation informatique |
US9635034B2 (en) * | 2015-01-01 | 2017-04-25 | Bank Of America Corporation | System for authorizing electronic communication of confidential or proprietary data to external entities |
FR3043228B1 (fr) | 2015-11-03 | 2018-03-30 | Proton World International N.V. | Demarrage controle d'un circuit electronique |
FR3043229B1 (fr) | 2015-11-03 | 2018-03-30 | Proton World International N.V. | Demarrage securise d'un circuit electronique |
US10069958B1 (en) * | 2017-07-20 | 2018-09-04 | Bank Of America Corporation | Dynamic mobile authorization advancement system |
US11714910B2 (en) * | 2018-06-13 | 2023-08-01 | Hewlett Packard Enterprise Development Lp | Measuring integrity of computing system |
FR3111441B1 (fr) | 2020-06-10 | 2022-08-05 | Proton World Int Nv | Démarrage sécurisé d'un circuit électronique |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892902A (en) * | 1996-09-05 | 1999-04-06 | Clark; Paul C. | Intelligent token protected system with network authentication |
US20050055566A1 (en) * | 2003-09-10 | 2005-03-10 | Tsu-Ti Huang | Computer system and method for controlling the same |
EP1850259A2 (fr) * | 2006-04-27 | 2007-10-31 | Bull S.A.S. | Dispositif de protection des données et codes exécutables d'un système informatique |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014636A1 (en) * | 2000-02-01 | 2003-01-16 | Ahlbrand Stephen D | Physical identification and computer security apparatus and method |
US6654797B1 (en) * | 2000-05-25 | 2003-11-25 | International Business Machines Corporation | Apparatus and a methods for server configuration using a removable storage device |
US7260380B2 (en) * | 2003-12-18 | 2007-08-21 | Sap Aktiengesellschaft | Storing and synchronizing data on a removable storage medium |
JP2005227995A (ja) * | 2004-02-12 | 2005-08-25 | Sony Corp | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
US20060236122A1 (en) | 2005-04-15 | 2006-10-19 | Microsoft Corporation | Secure boot |
JP4793628B2 (ja) * | 2005-09-01 | 2011-10-12 | 横河電機株式会社 | Os起動方法及びこれを用いた装置 |
US7738483B2 (en) * | 2005-09-08 | 2010-06-15 | Kabushiki Kaisha Toshiba | Systems and methods for managing communication between master and slave devices |
FR2930058B1 (fr) * | 2008-04-14 | 2010-06-11 | Bull Sas | Dispositif portable et procede de demarrage externe d'une installation informatique |
-
2008
- 2008-01-07 FR FR0800076A patent/FR2926149B1/fr active Active
- 2008-12-23 EP EP08291229.6A patent/EP2077515B1/fr active Active
-
2009
- 2009-01-07 US US12/319,444 patent/US8341389B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892902A (en) * | 1996-09-05 | 1999-04-06 | Clark; Paul C. | Intelligent token protected system with network authentication |
US20050055566A1 (en) * | 2003-09-10 | 2005-03-10 | Tsu-Ti Huang | Computer system and method for controlling the same |
EP1850259A2 (fr) * | 2006-04-27 | 2007-10-31 | Bull S.A.S. | Dispositif de protection des données et codes exécutables d'un système informatique |
Also Published As
Publication number | Publication date |
---|---|
US8341389B2 (en) | 2012-12-25 |
US20090265536A1 (en) | 2009-10-22 |
EP2077515A1 (fr) | 2009-07-08 |
EP2077515B1 (fr) | 2018-03-07 |
FR2926149B1 (fr) | 2010-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2110742B1 (fr) | Dispositif portable et procédé de démarrage externe d'une installation informatique | |
EP2077515B1 (fr) | Dispositif, systèmes et procédé de démarrage sécurisé d'une installation informatique | |
EP1987653B1 (fr) | Procede et dispositif de configuration securisee d'un terminal | |
US8150039B2 (en) | Single security model in booting a computing device | |
US20090259855A1 (en) | Code Image Personalization For A Computing Device | |
EP1687717B1 (fr) | Demarrage securise d'un appareil electronique a architecture smp | |
FR2980285A1 (fr) | Systemes et procedes de gestion de cles cryptographiques dans un microcontroleur securise | |
FR2989197A1 (fr) | Procede de securisation d'acces a un dispositif informatique | |
WO2012031755A2 (fr) | Procede d'authentification pour l'acces a un site web | |
WO2009136080A2 (fr) | Systeme et procede de securisation d'un ordinateur comportant un micronoyau | |
EP3063693B1 (fr) | Système de détection d'intrusion dans un dispositif comprenant un premier système d'exploitation et un deuxième système d'exploitation | |
EP2024798B1 (fr) | Procédé et dispositif de configuration sécurisée d'un terminal au moyen d'un dispositif de stockage de données de démarrage | |
EP2011048B1 (fr) | Systeme et procede securise de traitement de donnees entre un premier dispositif et au moins un second dispositif disposant de moyens de surveillance | |
WO2015000967A1 (fr) | Dispositif, système et procédé de sécurisation de transfert de données entre un dispositif de stockage de données portable source et un système informatique destinataire | |
WO2009138641A1 (fr) | Procede d'utilisation d'un terminal hote par un dispositif externe connecte au terminal | |
FR2913551A1 (fr) | Methode d'authentification mutuelle et recurrente sur internet. | |
WO2020193583A1 (fr) | Procédé d'exécution de code sécurisé, dispositifs, système et programmes correspondants | |
FR2888958A1 (fr) | Procede, systeme et produit de programme d'ordinateur d'execution de programmes d'ordinateurs surs, sur un terminal non sur | |
FR3060807A1 (fr) | Procede de verification de l'integrite d'un programme, entite electronique associee et appareil electronique comprenant une telle entite electronique | |
EP2131526A1 (fr) | Procédé et dispositif de connexion pour entité électronique portable |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 8 |
|
PLFP | Fee payment |
Year of fee payment: 9 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 11 |
|
PLFP | Fee payment |
Year of fee payment: 13 |
|
PLFP | Fee payment |
Year of fee payment: 14 |
|
PLFP | Fee payment |
Year of fee payment: 15 |
|
PLFP | Fee payment |
Year of fee payment: 16 |
|
PLFP | Fee payment |
Year of fee payment: 17 |