FR 3033966 A1 20160923 FR 1552306 A 20150320 AUTHENTIFICATION CHAINEE PAR L'INTERMEDIAIRE DE DISPOSITIFS CONNECTES Domaine technique L'invention est relative aux techniques d'authentification de dispositifs électroniques 5 interconnectés. Arrière-plan Certains appareils sont conçus pour être équipés de dispositifs amovibles pouvant être des périphériques ou des consommables. Dans certaines situations, pour des raisons de sécurité ou de qualité de prestation, le fabricant de l'appareil peut souhaiter que les 10 dispositifs amovibles soient fournis par une source autorisée, et refuser d'utiliser un dispositif amovible de source inconnue. Une telle situation est, par exemple, celle d'une imprimante et de ses cartouches d'encre. Dans ce cas, l'appareil et les dispositifs amovibles peuvent chacun comprendre un circuit cryptographique utilisant un certificat d'authenticité. L'appareil peut alors 15 procéder à une authentification de chacun des dispositifs amovibles à la mise sous tension, et prendre des mesures palliatives avec les dispositifs dont l'authentification échoue. La figure 1 est un schéma de principe électronique d'un appareil 10 connecté à plusieurs dispositifs périphériques Dl à D3. L'appareil 10 peut être une imprimante et les 20 dispositifs D1-D3 des cartouches d'encre de différentes couleurs utilisables simultanément. L'appareil peut comprendre un processeur CPU connecté à des mémoires et à des interfaces par un bus B. Une mémoire à lecture seule ROM peut contenir une clé K' servant aux opérations d'authentification. Cette clé K' peut être la clé publique d'une clé privée maîtresse K du fabricant. Une interface IF peut être 25 conçue pour communiquer avec les dispositifs Dl à D3. Chaque dispositif périphérique à authentifier peut contenir une clé privée K1 à K3, la clé publique correspondante K1' à K3', et une preuve d'authenticité de la clé publique, ou certificat d'authenticité, sous la forme d'une signature Si à S3 de la clé publique par la clé maîtresse K. Les opérations d'authentification étant relativement complexes, elles peuvent être 30 particulièrement longues si le nombre de dispositifs à authentifier est grand et que les ressources de calcul de l'appareil sont limitées. 3033966 2 Résumé On prévoit de façon générale un procédé d'authentification d'une pluralité de dispositifs esclaves connectés à un dispositif maître, comprenant les étapes consistant à générer et envoyer par le dispositif maître un défi respectif à chaque dispositif esclave ; dans 5 chaque dispositif esclave, générer une réponse au défi respectif et la transmettre au dispositif maître ; vérifier par le dispositif maître la réponse de l'un des dispositifs esclaves ; renvoyer par le dispositif maître les réponses restantes à des dispositifs esclaves respectifs différents de ceux ayant généré les réponses ; et vérifier par chaque dispositif esclave la réponse qui lui a été renvoyée par le dispositif maître et transmettre 10 le résultat de la vérification au dispositif maître. Le procédé peut comprendre les étapes consistant à renvoyer par le dispositif maître la réponse du dispositif esclave de rang i au dispositif esclave de rang i+1, où i varie de 1 à N-1, et N est le nombre de dispositifs esclaves ; vérifier par le dispositif maître la réponse du dispositif esclave de rang N ; si la réponse vérifiée par le dispositif maître 15 est valide, authentifier le dispositif esclave de rang N; et si la réponse vérifiée par un dispositif de rang j est valide, authentifier le dispositif de rang j-1, où j décroît de N à 2. Le dispositif maître peut être une imprimante et les dispositifs esclaves des cartouches d'encre. Pour mettre en oeuvre le procédé, un dispositif esclave authentifiable par un dispositif 20 maître par un mécanisme de défi-réponse peut comprendre un microcircuit conçu pour effectuer des opérations cryptographiques et programmé pour effectuer une vérification d'une réponse générée à un défi par un autre dispositif esclave. Le dispositif esclave peut stocker une clé permettant d'authentifier le dispositif lui-même, et une clé permettant de vérifier la réponse générée par l'autre dispositif esclave. 25 Le dispositif esclave peut être une cartouche d'encre authentifiable par une imprimante. Description sommaire des dessins Des modes de réalisation seront exposés dans la description suivante, faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : - la figure 1, précédemment décrite, est un schéma de principe électronique d'un 30 appareil connecté à plusieurs dispositifs périphériques ; 3033966 3 - la figure 2 est un diagramme temporel illustrant un exemple de séquence d'authentification typique de plusieurs dispositifs périphériques ; et - la figure 3 est un diagramme temporel illustrant un exemple de mise en oeuvre d'une authentification chaînée de plusieurs dispositifs périphériques. Description de modes de réalisation La figure 2 est un diagramme temporel illustrant un exemple de déroulement d'opérations d'authentification pouvant avoir lieu typiquement dans un appareil du type de la figure 1 à la mise sous tension. Les opérations effectuées par le processeur hôte (HOST) de l'appareil et par les dispositifs périphériques D1-D3 à authentifier sont portées sur des axes verticaux respectifs sous la forme de rectangles dont les longueurs sont illustratives des durées des opérations. Les rectangles sont également dessinés avec des traits différents pour reconnaître les opérations associées aux différents dispositifs périphériques. Les communications entre les éléments sont représentées par des flèches horizontales. A partir d'un instant tO, un programme exécuté par l'hôte démarre une procédure d'authentification des dispositifs périphériques. L'hôte génère un défi respectif cl à c3 pour chacun des dispositifs Dl à D3. Les défis peuvent être différents et consister en des nombres aléatoires de taille normalisée. Les défis cl à c3 sont transmis séquentiellement aux dispositifs Dl à D3, puis l'hôte attend la disponibilité des réponses. Chacun des dispositifs Dl à D3 calcule une réponse ri à r3 au défi reçu selon un mécanisme connu pouvant être normalisé. Cette réponse inclut, par exemple, une signature calculée sur le défi reçu, un défi réponse, et un identifiant à l'aide de la clé secrète K1 à K3 contenue dans le dispositif Les réponses calculées peuvent être stockées par les dispositifs en attente de lecture par l'hôte. A partir d'un instant tl, l'hôte lit la réponse ri du dispositif Dl et vérifie sa validité. Cette vérification peut inclure des étapes consistant, par exemple, à authentifier la signature véhiculée dans la réponse par la clé publique K1' du dispositif, à authentifier la clé publique K1' par le certificat Si du dispositif, et à authentifier le certificat Si par la clé publique K' connue de l'hôte. En pratique, l'hôte peut sonder périodiquement le dispositif Dl à partir de l'instant tO pour connaître la disponibilité de la réponse ri. Si la réponse n'est pas prête lors d'un 3033966 4 sondage courant, le sondage est réitéré. Si la réponse est prête, elle est lue et l'hôte procède à la vérification. A partir d'un instant t2, l'hôte a fini la vérification de la réponse ri. Si la réponse ri est valide, l'hôte peut enregistrer que le dispositif Dl est authentique (Dl OK). L'hôte lit 5 alors la réponse r2 produite par le dispositif suivant D2, et procède à la vérification de cette réponse. A partir d'un instant t3, l'hôte a fini la vérification de la réponse r2. Si la réponse r2 est valide, l'hôte peut enregistrer que le dispositif D2 est authentique (D2 OK). L'hôte lit alors la réponse r3 produite par le dernier dispositif D3, et procède à la vérification de 10 cette réponse. Enfin, à un instant t4, l'hôte a fini la vérification de la réponse r3. Si la réponse r3 est valide, l'hôte peut enregistrer que le dernier dispositif D3 est authentique (D3 OK). Si la vérification échoue pour un dispositif quelconque, diverses mesures peuvent être prises selon le contexte et la nature du dispositif incriminé, allant du fonctionnement 15 bridé de l'appareil sans le dispositif incriminé, au refus total de fonctionner. Les calculs de signature utilisés pour générer et vérifier les réponses consistent généralement en des calculs cryptographiques relativement complexes sur des nombres grands pouvant atteindre plusieurs centaines de bits. Le système hôte peut être de type embarqué et de faible coût, disposant de faibles ressources de calcul, comme dans le cas 20 de certaines imprimantes. Dans ce cas, la somme des opérations de vérification, proportionnelle au nombre de dispositifs à authentifier (par exemple huit cartouches pour certaines imprimantes), peut atteindre une durée de plusieurs secondes, ce qui peut être rédhibitoire pour la phase de mise sous tension de l'appareil. Comme le montre la figure 2, chaque dispositif à authentifier est en pratique conçu pour 25 générer des réponses aux défis reçus sur la base d'une clé secrète locale, et met donc en oeuvre des fonctions cryptographiques. Les fonctions cryptographiques peuvent en pratique être offertes par un microcircuit dédié peu coûteux, disposant d'un microcontrôleur associé à un accélérateur matériel, ou coprocesseur, dédié aux fonctions cryptographiques. Les circuits de la famille Vau1tICTM commercialisés par 30 Inside Secure en sont des exemples. Même si le microcontrôleur peut être moins puissant que le processeur hôte, le coprocesseur offre des performances telles que les signatures peuvent être calculées au moins aussi vite que par le processeur hôte. 3033966 5 Pour accélérer la phase d'authentification de plusieurs dispositifs, on propose ci-après d'utiliser les ressources de calcul des microcircuits dédiés des dispositifs périphériques afin de décharger le processeur hôte. Le procédé exposé ci-après implique la distribution d'étapes de vérification sur des dispositifs périphériques pouvant être de 5 source inconnue. Le procédé établit en outre une chaîne de confiance garantissant que les résultats de vérification pris en compte sont produits par des dispositifs ayant eux-mêmes été authentifiés. La figure 3 est un diagramme temporel illustrant un exemple de mise en oeuvre d'une telle phase d'authentification chaînée et distribuée, utilisant le même cadre et notations 10 que la figure 2. A partir d'un instant tO, comme à la figure 2, un programme exécuté par l'hôte démarre une procédure d'authentification des dispositifs périphériques. L'hôte génère un défi respectif cl à c3 pour chacun des dispositifs Dl à D3. Les défis cl à c3 sont transmis séquentiellement aux dispositifs Dl à D3, puis l'hôte attend la disponibilité des 15 réponses. Comme à la figure 2, chacun des dispositifs Dl à D3 calcule une réponse ri à r3 au défi reçu. Ces réponses peuvent être stockées par les dispositifs en attente de lecture par 1 ' hôte. A partir d'un instant tl, l'hôte lit la réponse ri du dispositif Dl. Au lieu de lancer un 20 calcul de vérification de la réponse, la réponse ri est mise en attente de la disponibilité d'un autre des dispositifs, par exemple D2. A un instant t2, l'hôte lit la réponse r2 produite par le dispositif D2. Cette lecture implique que le dispositif D2 est disponible. L'hôte renvoie aussitôt la réponse ri au dispositif D2 pour que celui-ci effectue la vérification. La réponse r2 est mise en attente 25 de la disponibilité d'un autre des dispositifs, ici D3. La vérification dans le dispositif D2 est faite de la même manière que dans l'hôte. Le résultat de la vérification est stocké temporairement dans le dispositif D2 pour être lu par l'hôte le moment venu. Ainsi, le dispositif périphérique est modifié pour contenir la clé publique K' en plus de 30 ses clés K2 et K2', et pour effectuer les opérations de vérification. Les opérations peuvent être mises en oeuvre par une modification du programme du microcircuit. La 3033966 6 réponse renvoyée par l'hôte peut être incluse dans un message identifiant la nature des opérations à effectuer par le dispositif A un instant t3, l'hôte lit la réponse r3 produite par le dispositif D3. Cette lecture implique que le dispositif D3 est disponible. L'hôte renvoie aussitôt la réponse r2 au 5 dispositif D3 pour que celui-ci effectue la vérification. Pour démarrer la chaîne de confiance, l'hôte se charge de vérifier la réponse r3 du dernier dispositif D3. Comme cela est représenté, la vérification de la réponse r3 par l'hôte est effectuée sensiblement en parallèle avec la vérification des réponses ri et r2 par les dispositifs D2 et D3. 10 La durée totale de la phase d'authentification est ainsi réduite sensiblement à la durée la plus longue d'une vérification, augmentée du temps des transferts des réponses et résultats entre l'hôte et les dispositifs. A un instant t4, l'hôte a fini la vérification de la réponse r3 et enregistre en principe que le dispositif D3 est authentique (D3 OK). 15 A un instant t5, l'hôte lit le résultat de vérification D2 OK produit par le dispositif D3. Le dispositif D3 ayant été authentifié, l'hôte peut faire confiance au résultat qu'il produit. Ce résultat authentifie en principe le dispositif D2. Enfin, l'hôte lit le résultat de vérification Dl OK produit par le dispositif D2. Le dispositif D2 ayant été authentifié, l'hôte peut faire confiance au résultat qu'il produit, 20 et ce résultat authentifie en principe le dispositif Dl. Ainsi, chacun des dispositifs D3 à Dl est authentifié à tour de rôle par l'hôte ou par un dispositif ayant lui-même été authentifié selon une chaîne de confiance partant de 1 ' hôte. Un dispositif fraudeur pourrait être conçu pour toujours fournir à l'hôte un résultat de 25 vérification valide. Mais cette tentative est déjouée par le fait que le dispositif fraudeur serait détecté comme non-authentique à la vérification de sa réponse au défi, vérification qui est faite par un autre dispositif authentifié ou l'hôte. Ainsi, le résultat que produirait le dispositif fraudeur ne serait pas pris en compte. De plus, ce résultat concerne un autre dispositif et non le dispositif fraudeur lui-même. 30 Une passe du procédé permet de détecter le premier dispositif non-authentique de la chaîne. La passe est alors arrêtée, puisque l'authentification des dispositifs suivants de 3033966 7 la chaîne peut être compromise. Dans l'exemple de la figure 3, si le dispositif D3 n'est pas authentique, cela est détecté par l'hôte. L'hôte ne peut alors pas faire confiance au dispositif D3 quant au résultat qu'il fournit pour le dispositif D2, et ainsi de suite. Si l'on souhaite détecter tous les dispositifs non-authentiques, on peut effectuer 5 plusieurs passes du procédé, en démarrant la chaîne sur un dispositif différent à chaque fois. D'ailleurs, pour déjouer certains types d'attaques, la première passe peut également être conçue pour démarrer la chaîne sur un dispositif différent à chaque fois, par exemple choisi de manière aléatoire. Le procédé qui vient d'être décrit peut être utilisé avec un nombre quelconque de 10 dispositifs interconnectés. De façon générale un dispositif maître peut être désigné pour authentifier N dispositifs esclaves. Alors, le dispositif maître renvoie la réponse du dispositif esclave de rang i au dispositif esclave de rang i+1, pour i variant de 1 à N-1, et le dispositif maître vérifie la réponse du dispositif esclave de rang N. Si la réponse vérifiée par le dispositif maître est valide, le dispositif esclave de rang N est 15 authentique. Alors, pour j décroissant de N à 2, si la réponse vérifiée par le dispositif de rang j est valide, le dispositif de rang j-1 est authentique. Le procédé peut être utilisé dans de nombreux types d'appareils. On a cité une imprimante et ses cartouches d'encre. D'autres exemples sont la machine à boissons chaudes et ses recharges, la table de traçage et ses stylos, etc. 20 REVENDICATIONS1. Procédé d'authentification d'une pluralité de dispositifs esclaves (D1-D3) connectés à un dispositif maître (CPU), comprenant les étapes suivantes : - générer et envoyer par le dispositif maître un défi respectif (cl -c3) à chaque dispositif esclave ; - dans chaque dispositif esclave, générer une réponse (rl-r3) au défi respectif et la transmettre au dispositif maître ; caractérisé en ce qu'il comprend les étapes suivantes : - vérifier par le dispositif maître la réponse (r3) de l'un des dispositifs esclaves (D3) ; - renvoyer par le dispositif maître les réponses restantes à des dispositifs esclaves respectifs différents de ceux ayant généré les réponses ; et - vérifier par chaque dispositif esclave (D2, D3) la réponse qui lui a été renvoyée par le dispositif maître et transmettre le résultat de la vérification au dispositif maître. 2. Procédé selon la revendication 1, comprenant les étapes suivantes : - renvoyer par le dispositif maître la réponse du dispositif esclave de rang i au dispositif esclave de rang i+1, où i varie de 1 à N-1, et N est le nombre de dispositifs esclaves ; - vérifier par le dispositif maître la réponse du dispositif esclave de rang N; - si la réponse vérifiée par le dispositif maître est valide, authentifier le dispositif esclave de rang N; et - si la réponse vérifiée par un dispositif de rang j est valide, authentifier le dispositif de rang j-1, où j décroît de N à 2. 3. Procédé selon la revendication 1, dans lequel le dispositif maître est une imprimante et les dispositifs esclaves sont des cartouches d'encre. 4. Dispositif esclave authentifiable par un dispositif maître par un mécanisme de défi- réponse, comprenant un microcircuit conçu pour effectuer des opérations 3033966 9 cryptographiques et programmé pour effectuer une vérification d'une réponse générée à un défi par un autre dispositif esclave. 5. Dispositif selon la revendication 4, stockant une clé (K 1 -K2) permettant d'authentifier le dispositif lui-même, et une clé (K') permettant de vérifier la 5 réponse générée par l'autre dispositif esclave. 6. Dispositif esclave selon la revendication 4 sous la forme d'une cartouche d'encre authentifiable par une imprimante.