Accueil Composants L'intelligence intégrée permet l'authentification numérique dans les dispositifs médicaux

L'intelligence intégrée permet l'authentification numérique dans les dispositifs médicaux

L'authentification numérique peut fournir un haut niveau de certitude pour déterminer si un accessoire de dispositif médical est correct et authentique, mais avec un impact minimal sur la conception. Le système peut répondre de la manière prévue par le concepteur du système lors de la détection qu'un accessoire n'a pas d'authentification appropriée. La réponse peut aller de la simple notification à l'utilisateur que l'accessoire n'a pas pu s'authentifier à l'empêchement du système de fonctionner.

 

authentification numérique

 

Des simples systèmes d'identification à l'échange de signatures numériques, toute la gamme des techniques d'authentification numérique est couverte. L'authentification numérique nécessite une intelligence intégrée au système et l'accessoire authentifié au niveau matériel. De nombreux systèmes modernes intègrent déjà un processeur embarqué qui peut être utilisé pour contrôler l'authentification, et dans les accessoires un processeur peut être chargé de vérifier la mise en œuvre de l'authentification. L'ajout d'un petit microcontrôleur à faible coût et à faible consommation est relativement facile si l'accessoire authentifié ne contient aucune intelligence intégrée.

Une autre exigence est un canal de communication bidirectionnel entre le système et l'accessoire pour permettre l'échange de données. Le système et l'accessoire peuvent utiliser un canal de communication existant ou profiter d'un canal inclus dans l'équipement qui pourrait être étendu pour permettre des communications avec l'accessoire. Les protocoles UART, I2C™, SPI et monofilaires (tels que le protocole UNI/O®) peuvent être utilisés si un canal de communication doit être ajouté, en raison du nombre limité de connecteurs, du peu d'exigences pour la mise en œuvre du protocole et de la large gamme d'appareils avec prise en charge matérielle. La RFID pourrait convenir à certaines applications médicales car elle ne nécessite pas de connexions électriques externes. Cela simplifie le nettoyage et la stérilisation car les accessoires et les systèmes peuvent être hermétiques. La transmission de l'identification peut fournir une authentification facile car l'accessoire s'identifie au système lorsqu'il y est invité. Le microcontrôleur accessoire peut être remplacé par une EEPROM série avec une identification mémorisée qui est lue par le système utilisant cette technique. Des problèmes tels que l'utilisation de mauvais accessoires ou une réutilisation accidentelle en stockant des données indiquant que l'accessoire a déjà été utilisé peuvent être évités grâce à la transmission de l'identification. Cependant, le niveau de sécurité est très faible car les contrefacteurs n'ont qu'à reproduire l'identifiant enregistré sur un accessoire valide.

Un système de questions/réponses/authentification et ses dérivés offrent une solution plus sécurisée. Avec cette technique, le système pose une question à laquelle seul un accessoire authentique peut répondre. L'accessoire authentique répond correctement, tandis que la contrefaçon est exposée et correctement gérée par le système.

La figure suivante montre comment le système de questions et réponses/authentification utilise différentes étapes dans une configuration typique.

1. Le système génère un nombre aléatoire ou une question.

2. La question est transmise à l'accessoire.

3. Le plugin modifie la question de manière préconfigurée et non évidente pour créer la réponse.

4. L'accessoire transmet la réponse au système.

5. Le système conserve une copie de la question et la modifie pour déterminer la réponse idéale.

6. Le système compare la réponse idéale à la réponse de l'accessoire. S'ils correspondent, l'accessoire est authentique.

Le système doit permettre à un grand nombre de questions de se défendre contre les falsifications qui génèrent une table de réponse automatique pour une authentification sécurisée. En plus de rendre le coût de stockage de grandes tables peu rentable pour les faussaires, le calcul des réponses à la volée, plutôt que de stocker les réponses dans l'appareil, réduit les besoins de stockage.

Dans un système numérique déterministe, il n'est pas facile de générer des nombres aléatoires dans le système à utiliser comme questions. Peu de mesures externes sont vraiment aléatoires, imprévisibles et uniformément réparties, et un nombre limité de questions potentielles réduit le nombre de réponses que les faussaires doivent stocker. Un algorithme de génération de nombres pseudo-aléatoires est une méthode plus robuste dans laquelle chaque système a un numéro source unique, éventuellement en utilisant une forme modifiée du numéro de série du système. Les algorithmes de génération de nombres pseudo-aléatoires validés produisent une séquence non répétitive de nombres qui est uniformément répartie sur toute la plage potentielle de valeurs de sortie. La valeur source utilisée pour démarrer l'algorithme détermine la séquence des valeurs de sortie, et chaque système doit avoir une seule valeur source, de sorte qu'il produise une séquence unique de nombres. Les variables d'algorithme doivent être stockées dans une mémoire non volatile afin que leurs valeurs soient conservées lorsque l'alimentation du système est coupée pour empêcher l'algorithme de se réinitialiser et de répéter la même séquence de nombres.

Chiffrer la question ou la faire passer par une fonction mathématique à sens unique, également appelée brassage sécurisé, peut apporter une modification à la question. Dans les deux cas, la modification n'est pas évidente et ne produit aucune tendance identifiable à la sortie pour les entrées séquentielles. La modification ne doit pas être évidente car les questions peuvent être contrôlées par un accès illégal dans le canal de communication. Déterminer la modification par des algorithmes de cryptage et de brassage sécurisé nécessite un nombre excessif de calculs et un grand nombre de couples question-réponse. AES, TDES et XTEA sont des chiffrements de chiffrement symétriques basés sur des blocs pour l'authentification basée sur un microcontrôleur, car ils nécessitent peu de RAM, peu d'espace de programme et sont efficaces en termes de calcul. Ces caractéristiques permettent de recourir à des microcontrôleurs à faible coût et leur efficacité implique que le chiffrement peut être réalisé en exécutant un nombre réduit d'instructions. Cela diminue le courant total en permettant au microcontrôleur de passer dans un état de faible puissance à la fin. Les chiffrements par blocs chiffrent un certain nombre d'octets en même temps et produisent un résultat de même taille. Les trois chiffrements de cryptage sont dans le domaine public, ont fait l'objet d'un examen de sécurité international et leur cryptage fort est estimé être bien connu. Les algorithmes de brassage sécurisé sont similaires à une somme de contrôle de requête, avec une valeur secrète intercalée, fournissant une méthode pour déterminer si les calculs ont été effectués sur un appareil authentique. Les algorithmes de brassage, contrairement au chiffrement, n'ont pas de configuration un à un. L'entrée d'origine ne peut pas être extraite du résultat car elle peut être produite à partir de plusieurs ensembles de données d'entrée. Les algorithmes de réarrangement sûrs tels que HMAC-SHA-1 et HMAC-SHA-256 conviennent mais nécessitent beaucoup plus de RAM et de mémoire programme, ainsi qu'un microcontrôleur plus coûteux.

La méthode de modification des données d'entrée est déterminée au moyen d'une clé pour les algorithmes de brassage sécurisé et de cryptage. La clé, et non les chiffres de chiffrement sélectionnés, détermine la sécurité du système et doit donc être gardée secrète. Cette méthode, appelée principe de Kerchoff, stipule que la connaissance de l'algorithme utilisé n'annule pas la sécurité du système car la clé détermine comment l'entrée est modifiée. Pour s'assurer que la clé ne peut pas être lue facilement et pour maintenir le secret, la mémoire système doit être préservée, par exemple dans une mémoire flash ou une EEPROM intégrée au processeur. Cela peut également être réalisé en stockant la clé dans la mémoire embarquée du microcontrôleur et en activant les fonctions de sécurité pour empêcher le téléchargement de l'identification de la clé. Dans les deux cas, la manipulation des clés et les connaissances lors de la conception du système et des environnements de production doivent être soigneusement gérées pour empêcher la découverte.

Certains algorithmes peuvent fonctionner avec des clés de longueur variable, tandis que des clés plus grandes offrent une plus grande sécurité au prix de plus de calculs et de ressources pour réaliser le chiffrement. Toutes les techniques de chiffrement sont vulnérables à une attaque par force brute. En utilisant une paire connue de données d'entrée et de sortie, l'entrée est cryptée avec une séquence de touches progressive jusqu'à ce que la sortie correspondante soit obtenue. Bien que cela puisse être assez informatique pour des clés encore plus petites, la puissance de calcul toujours croissante disponible signifie qu'il est payant d'inclure la plus grande clé possible pour la bonne gamme de microcontrôleurs à mesure que le nombre de clés augmente de façon exponentielle avec la taille de la clé, donc augmentant le temps nécessaire pour une attaque par force brute. Les clés doivent être choisies au hasard afin qu'une attaque par force brute soit moins susceptible de trouver la clé en peu de temps. Puisqu'il est mathématiquement possible qu'une attaque par force brute trouve la clé lors de son premier essai, c'est vraiment très peu probable en raison du nombre énorme de possibilités.

Afin d'empêcher une attaque, il est possible d'augmenter suffisamment le temps nécessaire pour générer des tables de réponses authentiques. La mise en œuvre de délais d'attente, tels que cinq secondes entre les authentifications, et l'ajout de limites au débit de données maximal acceptable pour les communications, ce qui limite la fréquence de réception des questions, permet d'atteindre cet objectif. Avec l'augmentation exponentielle des bits de question dans la table, le stockage devient prohibitif pour les faussaires. Il existe également des méthodes pour les questions plus grandes que la taille du bloc de chiffrement. La réauthentification périodique peut empêcher le système d'être activé avec un accessoire authentique, puis d'être échangé avec un autre lors de la post-authentification. Poser des questions à plusieurs props en parallèle réduira le temps nécessaire pour générer un tableau de bonnes réponses. Cependant, la table nécessitera toujours un volume de stockage important et le temps nécessaire serait toujours important.

Donner à chaque accessoire authentifié une clé de cryptage individuelle est une amélioration qui donne à chaque accessoire sa propre réponse unique à une question, mais nécessite que le système stocke les clés de cryptage pour tous les accessoires authentifiés ou soit capable de dériver la clé nécessaire . Les deux méthodes nécessitent que l'accessoire ait un numéro de série afin d'identifier la clé nécessaire, mais déduire la clé est plus efficace du point de vue du stockage. Le système lui fournit le cryptage du numéro de série de l'accessoire à l'aide d'une clé secrète principale ajoutée, comme illustré à la figure 3. Le résultat de cette opération est utilisé comme clé de cryptage pour l'authentification. Si la clé principale est compromise, cette méthode est incapable de détecter les doublons, des mesures doivent donc être prises pour protéger la clé principale. Seul le système doit conserver la clé, puisque les numéros de série des accessoires sont connus lors de leur fabrication et que la clé maîtresse a déjà été déterminée, établissant ainsi la clé de cryptage pour chaque accessoire. Ainsi, les accessoires n'ont qu'à être programmés avec leur numéro de série et leur clé de cryptage et n'ont pas besoin de la clé principale. L'avantage de cette technique est que plusieurs appareils ne peuvent pas être interrogés en parallèle car chacun aura une réponse différente. Aussi, dans le cas où un accessoire authentifié serait compromis, seuls des clones de cet accessoire avec des numéros de série identiques seront réalisés. Les systèmes pourraient mettre ces numéros de série sur liste noire une fois détectés.

Le système peut stocker automatiquement un numéro de série pour l'accessoire en intégrant une authentification numérique et permet la gestion des rappels et le respect des dates d'expiration si elles ont été intégrées dans les numéros de série. L'authentification numérique utilise le chiffrement comme modificateur et le déchiffrement n'est pas implémenté. Cependant, le déchiffrement peut nécessiter des ressources et des segments de code similaires, permettant ainsi d'intégrer des communications sécurisées entre le système et l'accessoire. Des données supplémentaires peuvent être stockées dans une mémoire non volatile dans le microcontrôleur, ce qui lie étroitement l'étalonnage à l'appareil et permet d'utiliser les données stockées.

 

Conclusion

 

La sécurité des accessoires médicaux peut être améliorée de plusieurs manières grâce à l'authentification numérique, évitant ainsi les accidents, les défaillances dans la réutilisation insalubre des accessoires consommables et la propagation des accessoires contrefaits, tout en protégeant le flux de revenus. Les microcontrôleurs de petite taille, à faible coût et à faible consommation peuvent facilement répondre aux exigences matérielles. Différents canaux de communication peuvent être utilisés. Les chiffrements par blocs pour le chiffrement nécessitent un minimum de RAM et peuvent être facilement implémentés sur un petit microcontrôleur.