Brevet FR2866452A1 — publié le 20050819

PROCÉDÉ POUR FAIRE FONCTIONNER UN APPAREIL PÉRIPHÉRIQUE SUR UN SYSTÈME DE BUS D'UN SYSTÈME D'ORDINATEUR La présente invention concerne un procédé pour faire fonctionner un appareil périphérique sur un système de bus d'un système d'ordinateur. Les systèmes d'ordinateur actuels ont, outre des appareils périphériques internes, comme des cartes d'interface ou des disques durs, une pluralité d'appareils périphériques pouvant fonctionner de l'extérieur comme, par exemple, sur un support de données mobiles pouvant être raccordé au système de bus du système d'ordinateur. Comme ils sont très pratiques et très bien adaptables, ces supports de données remplacent de plus en plus des supports de mémoire pouvant être intégrés au système d'ordinateur. Le Bus Universal Serial, USB, prend notamment de l'importance en tant qu'interface simple universelle normalisée ayant une grande aptitude à la normalisation. L'un des grands avantages du système de bus USB est de pouvoir ajouter ou éliminer des appareils périphériques pendant le fonctionnement. Les appareils raccordés sont initialisés sur le système de bus et la charge du pilote d'appareil a lieu. Si des systèmes d'ordinateur ont sur leur disque dur des données sensibles, des supports de mémoire, par exemple des lecteurs de disquettes souples, sont souvent éliminés du système d'ordinateur par un utilisateur pour supprimer un transfert non souhaité des données sensibles. En raison de la mise en service très simplifiée décrite ci- dessus d'appareils périphériques extérieurs sur le système d'ordinateur, il y a toutefois toujours la possibilité d'un échange de données. Un blocage physique de la possibilité de connexion, par exemple un blocage d'un connecteur physique du système d'ordinateur fait, toutefois, que tout échange de donnée est supprimé, de sorte que l'on ne peut plus effectuer non plus des actions souhaitées comme, par exemple, la mise à jour de logiciels. L'invention vise donc une solution qui permet de réglementer d'une façon spécifique à l'utilisation et/ou spécifique à l'appareil, le fonctionnement d'appareils périphériques sur un système d'ordinateur. On y parvient par un procédé caractérisé par les stades suivants: - on se procure un pilote de bus élargi d'une fonction d'authentification pour le système d'ordinateur, - on se procure un pilote d'appareil élargi d'une fonction d'authentification pour l'appareil périphérique, - on raccorde l'appareil périphérique au système de bus du système d'ordinateur, - on monte le pilote d'appareil sur le système d'ordinateur, on authentifie l'appareil périphérique et on associe des droits d'accès d'un utilisateur à l'appareil périphérique raccordé au système d'ordinateur. Suivant l'invention, on commande ainsi un accès d'un utilisateur à l'appareil périphérique en fonction de l'attribution de droits d'accès. Le pilote de bus du système d'ordinateur, tout comme le pilote de l'appareil, sont augmentés d'une fonction d'authentification pour l'exécution d'une authentification. Cette fonction permet, d'une façon avantageuse, une identification de l'appareil périphérique par rapport au système d'ordinateur par lequel il peut être vérifié si un accès en lecture et/ou en écriture à l'appareil périphérique peut être réalisé. Pour mettre en oeuvre l'authentification, le système d'ordinateur envoie, après avoir reconnu l'appareil raccordé et avoir installé son pilote nécessaire au fonctionnement, à l'appareil périphérique un challenge muni de données. Une clé et un algorithme cryptographique sont mémorisés dans une partie d'une mémoire dans l'appareil périphérique. L'appareil périphérique calcule, à partir des données de challenge au moyen de l'algorithme et en utilisant la clé, une réponse qu'il transmet au système d'ordinateur en tant que donnée de réponse. Les données de réponse sont exploitées ensuite par le système d'ordinateur. Cette façon de faire a l'avantage qu'une manipulation de données à transmettre est exclue dans une très grande mesure. Le système d'ordinateur peut éventuellement chiffrer les données elles-mêmes transmises à l'appareil périphérique par une clé identique à l'appareil périphérique et par un algorithme et comparer ce résultat aux données réponses transmises par l'appareil périphérique ou comparer aux données réponses des données établies à partir de diverses clés associées aux appareils périphériques et mémorisées dans une mémoire et donner de droits d'accès associés sur la base du résultat de la comparaison. Suivant un mode de réalisation préféré, les droits d'accès sont classés en droits de lecture et/ou en droits d'écriture d'un utilisateur de 2866452 3 l'appareil périphérique ainsi qu'en une interdiction d'accès. Si l'appareil périphérique n'est, par exemple, pas en mesure, en raison d'un pilote normalisé qui ne met pas en oeuvre la fonction d'authentification, de s'identifier vis-à-vis du système d'ordinateur, un accès à l'appareil périphérique est fondamentalement supprimé. Si l'on ne donne que des droits de lecture, par exemple un logiciel mémorisé sur l'appareil périphérique peut être chargé dans le système d'ordinateur. Des droits de lecture et d'écriture permettent un échange de données bidirectionnelles entre l'appareil périphérique et le système d'ordinateur. L'appareil périphérique peut être réalisé sous la forme d'un support de mémoire, par exemple d'une mémoire Flash en forme d'un Memorystick. Le procédé décrit ci-dessus peut s'effectuer pour n'importe quel appareil périphérique raccordable extérieurement à n'importe quel système de bus du système d'ordinateur. De préférence: - on effectue l'authentification de manière à ce qu'il s'effectue une transmission de données de challenge du système d'ordinateur à l'appareil périphérique, l'appareil périphérique calcule à l'aide d'un algorithme crypté et de données de chiffrement secrètes des paramètres d'authentification, les paramètres d'authentification calculés par l'appareil périphérique sont transmis en tant que données de réponse au système d'ordinateur et le système d'ordinateur traite les données de réponse, - le traitement comporte une exploitation des données de réponse et une comparaison du résultat de la comparaison à des données mémorisées dans une mémoire dans le système d'ordinateur et se rapportant aux droits d'accès à donner, - le stade d'attribution de droits d'accès comprend l'attribution d'un droit de lecture et/ou d'un droit d'écriture ou de pas de droit d'accès. - on effectue l'authentification par les fonctions d'authentification du pilote de bus et du pilote d'appareil, - lors de l'attribution d'un droit de lecture et/ou d'un droit d'écriture, les fonctions d'authentification du pilote de bus permettent, en fonction des droits, d'avoir un échange de données entre le système 35 d'ordinateur et l'appareil périphérique, - on mémorise les données de chiffrement dans une zone sûre d'une mémoire de l'appareil périphérique, - les droits d'accès à l'appareil périphérique sont configurés par l'utilisateur du système d'ordinateur, - on fait fonctionner l'appareil périphérique sur un système de bus USB (Universal Serial Bus) ou SCSI ou FireWire du système d'ordinateur. - l'appareil périphérique est un support de mémoire transportable, par exemple une mémoire Flash. L'invention sera explicitée d'une manière plus précise dans ce qui suit en au moyen des figures représentées aux dessins, dans lesquels: la figure 1 est représentation schématique des composants nécessaires pour la mise en oeuvre du procédé suivant l'invention et la figure 2 est un organigramme expliquant le procédé suivant l'invention. Les composants pour la réalisation de l'invention sont représentés à titre d'exemple à la figure 1. Un système 1 d'ordinateur, par exemple un ordinateur personnel habituel, comporte un système 2 de bus pour le raccordement à un appareil 3 périphérique extérieur. On peut utiliser tant un système de bus sériel que parallèle. L'appareil 3 périphérique est raccordé par une liaison 4 au système 2 de bus de l'ordinateur 1. L'ordinateur 1 représenté utilise un système 5 de fonctionnement, par exemple constitué de la série système de fonctionnement Windows, que l'on peut se procurer chez la société Microsoft. Lors du raccordement de l'appareil 3 périphérique, le système 5 de fonctionnement de l'ordinateur 1 demande automatiquement une caractéristique mémorisée dans une mémoire 6 dans l'appareil 3 périphérique et installe automatiquement un pilote 7 d'appareil disponible dans le système 5 de fonctionnement dans l'appareil 3 périphérique. L'ordinateur a, en outre, une fonction 8 d'authentification qui supprime d'abord par le système 5 de fonctionnement une libération de l'appareil 3 périphérique raccordé et détermine de soi-même si l'appareil 3 périphérique est libre pour un utilisateur ou ne l'est pas. A cet effet, la fonction 8 d'authentification est montée sous la forme d'une interface logique entre le système 2 de bus ou un pilote 9 de bus et le système 5 de fonctionnement. L'appareil 3 périphérique a également une fonction 11 d'authentification disposée logiquement entre le pilote 7 d'appareil et un 2866452 5 système 10 de fonctionnement de l'appareil 3 périphérique, qui a pour mission de chiffrer un jeu de données transmises par l'ordinateur 1 au moyen d'un algorithme de cryptographie en utilisant une clé mémorisée dans une partie 12 sûre de la mémoire 6 et de l'acheminer à l'ordinateur 1. L'ordinateur 1 exploite le jeu de données reçues et détermine au moyen d'un résultat d'exploitation un droit d'accès pour l'utilisateur de l'appareil 3 périphérique. Le déroulement du procédé suivant l'invention est représenté à la figure 2. Une connexion de l'appareil 3 périphérique à l'ordinateur 1 fait que le système 5 de fonctionnement demande, dans un premier stade 13, une caractéristique d'appareil de l'appareil 3 périphérique. Si la caractéristique d'appareil est connue du système 5 de fonctionnement, il est installé un pilote 7 d'appareil qui est disponible dans le système 5 de fonctionnement. Si l'appareil 3 n'est pas enregistré, l'utilisateur est invité par une boîte d'installation manuelle d'installer soi-même le logiciel pour l'appareil 3. L'appareil est prêt à fonctionner après association d'une adresse. La validation d'un accès à l'appareil 3 périphérique est réalisée par la fonction 8 d'authentification. La fonction 8 d'authentification peut faire partie du pilote 9 de bus. A cet effet, la fonction 8 d'authentification du pilote 9 de bus transmet dans un stade 14 un jeu de données à l'appareil 3 périphérique. L'appareil 3 périphérique reconnaître et traite ce qui lui est demandé sur la base de la fonction d'authentification mise en oeuvre, qui peut faire partie également du pilote d'appareil, en chiffrant le jeu de données au moyen de la clé mémorisée dans la partie 12 sûre de la mémoire 6 et transmet dans un stade 15 une réponse à l'ordinateur 1 sous la forme de données de réponse. Dans un autre stade 16, la fonction 8 d'authentification du pilote 9 de bus exploite les données de réponse et les compare à des données mémorisées dans une mémoire du système 1 d'ordinateur, qui se rapporte à une autorisation d'accès à données. On peut configurer les données de façon à ce qu'un administrateur de l'ordinateur puisse fixer à volonté quels droits d'accès aux appareils périphériques munis d'une clé définie doit obtenir un utilisateur de l'ordinateur. Le stade d'attribution des droits d'accès est muni du signe de référence 17. Le procédé suivant l'invention ouvre la possibilité d'une gestion très souple et simple de droits d'accès pour des appareils périphériques raccordés à un ordinateur. Des droits d'accès différents peuvent être associés à des appareils périphériques différents. Enumération des signes de référence 1 Système d'ordinateur 2 Système de bus 3 Appareil périphérique 4 Liaison Système de fonctionnement 6 Mémoire 7 Pilote d'appareil 8 Fonction d'authentification 9 Pilote de bus Système de fonctionnement 11 Fonction d'authentification 12 Partie de mémoire 13 Stade de procédé 14 Stade de procédé Stade de procédé 16 Stade de procédé 17 Stade de procédé REVENDICATIONS 1. Procédé pour faire fonctionner un appareil (3) périphérique sur un système (2) de bus d'un système (1) d'ordinateur, caractérisé par les stades suivants: - on se procure un pilote (9) de bus élargi d'une fonction (8) d'authentification pour le système (1) d'ordinateur, on se procure un pilote (7) d'appareil élargi d'une fonction (11) d'authentification pour l'appareil (3) périphérique, - on raccorde l'appareil (3) périphérique au système (2) de bus du système (1) d'ordinateur, - on monte le pilote (7) d'appareil sur le système (1) d'ordinateur, on authentifie l'appareil (3) périphérique et on associe des droits d'accès d'un utilisateur à l'appareil (3) périphérique raccordé au système (1) d'ordinateur. 2. Procédé suivant la revendication 1, caractérisé en ce que l'on effectue l'authentification de manière à ce que - il s'effectue une transmission de données de challenge du système (1) d'ordinateur à l'appareil (3) périphérique, - l'appareil (3) périphérique calcule à l'aide d'un algorithme crypté et de données de chiffrement secrètes des paramètres d'authentification, - les paramètres d'authentification calculés par l'appareil (3) 25 périphérique sont transmis en tant que données de réponse au système (1) d'ordinateur et - le système (1) d'ordinateur traite les données de réponse. 3. Procédé suivant la revendication 2, caractérisé en ce que le traitement comporte une exploitation des données de réponse et une comparaison du résultat de la comparaison à des données mémorisées dans une mémoire dans le système (1) d'ordinateur et se rapportant aux droits d'accès à donner. 4. Procédé suivant la revendication 1, caractérisé en ce que le stade d'attribution de droits d'accès comprend l'attribution d'un droit de lecture et/ou d'un droit d'écriture ou de pas de droit d'accès. 5. Procédé suivant la revendication 3, caractérisé en ce que l'on effectue l'authentification par les fonctions (8, 11) d'authentification du pilote (9) de bus et du pilote (7) d'appareil. 6. Procédé suivant l'une des revendications 1 à 5, caractérisé en ce que lors de l'attribution d'un droit de lecture et/ou d'un droit d'écriture, les fonctions (8) d'authentification du pilote (9) de bus permettent, en fonction des droits, d'avoir un échange de données entre le système (1) d'ordinateur et l'appareil (3) périphérique. 7. Procédé suivant la revendication 2, caractérisé en ce que l'on 10 mémorise les données de chiffrement dans une zone (12) sûre d'une mémoire (6) de l'appareil (3) périphérique. 8. Procédé suivant l'une des revendications précédentes, caractérisé en ce que les droits d'accès à l'appareil (3) périphérique sont configurés par l'utilisateur du système (1) d'ordinateur. 9. Procédé suivant la revendication 1, caractérisé en ce que l'on fait fonctionner l'appareil (3) périphérique sur un système (2) de bus USB (Universal Serial Bus) ou SCSI ou FireWire du système (1) d'ordinateur. 10. Procédé suivant la revendication 1, caractérisé en ce que l'appareil (3) périphérique est un support de mémoire transportable, par exemple une mémoire Flash.