Home Componentes Eingebettete Intelligenz ermöglicht die digitale Authentifizierung in medizinischen Geräten

Eingebettete Intelligenz ermöglicht die digitale Authentifizierung in medizinischen Geräten

Die digitale Authentifizierung kann ein hohes Maß an Sicherheit bei der Bestimmung bieten, ob ein Zubehör für medizinische Geräte korrekt und echt ist, jedoch mit minimalen Auswirkungen auf das Design. Das System kann in der vom Systemdesigner beabsichtigten Weise reagieren, wenn es erkennt, dass ein Zubehör nicht über eine ordnungsgemäße Authentifizierung verfügt. Die Reaktion kann von der einfachen Benachrichtigung des Benutzers, dass das Zubehör nicht authentifiziert werden konnte, bis zur Verhinderung der Funktion des Systems reichen.

 

digitale Authentifizierung

 

Von einfachen Identifikationssystemen bis hin zum Austausch digitaler Signaturen wird die gesamte Bandbreite digitaler Authentifizierungsverfahren abgedeckt. Die digitale Authentifizierung erfordert in das System integrierte Intelligenz und das authentifizierte Zubehör auf Hardwareebene. Viele moderne Systeme enthalten bereits einen eingebetteten Prozessor, der zur Steuerung der Authentifizierung verwendet werden kann, und im Zubehör kann ein Prozessor für die Überprüfung der Authentifizierungsimplementierung zuständig sein. Das Hinzufügen eines kleinen, kostengünstigen Mikrocontrollers mit geringem Stromverbrauch ist relativ einfach, wenn das authentifizierte Zubehör keine eingebettete Intelligenz enthält.

Eine weitere Anforderung ist ein bidirektionaler Kommunikationskanal zwischen dem System und dem Zubehör, um den Datenaustausch zu ermöglichen. Das System und das Zubehör können einen bestehenden Kommunikationskanal verwenden oder einen Vorteil aus einem in der Ausrüstung enthaltenen Kanal ziehen, der erweitert werden könnte, um eine Kommunikation mit dem Zubehör zu ermöglichen. UART-, I2C™-, SPI- und Single-Wire-Protokolle (wie das UNI/O®-Protokoll) können verwendet werden, wenn ein Kommunikationskanal hinzugefügt werden muss, aufgrund der begrenzten Anzahl von Anschlüssen, der geringen Anforderungen an die Protokollimplementierung und der große Auswahl an Geräten mit Hardwareunterstützung. RFID könnte für einige medizinische Anwendungen geeignet sein, da es keine externen elektrischen Verbindungen erfordert. Dies vereinfacht die Reinigung und Sterilisation, da Zubehör und Systeme luftdicht sein können. Die Übertragung der Identifikation kann eine einfache Authentifizierung bereitstellen, da sich das Zubehör dem System gegenüber identifiziert, wenn es dazu aufgefordert wird. Der Zubehör-Mikrocontroller kann durch ein serielles EEPROM mit einer gespeicherten Kennung ersetzt werden, die mit dieser Technik vom System gelesen wird. Probleme wie die Verwendung des falschen Zubehörs oder die versehentliche Wiederverwendung durch Speicherung von Daten, die darauf hindeuten, dass das Zubehör bereits verwendet wurde, können mit der Übermittlung der Identifikation vermieden werden. Das Sicherheitsniveau ist jedoch sehr gering, da Fälscher nur die gespeicherte ID auf einem gültigen Zubehör nachbilden müssen.

Ein Frage-Antwort-/Authentifizierungssystem und seine Derivate bieten eine sicherere Lösung. Bei dieser Technik stellt das System eine Frage, die nur ein authentisches Accessoire beantworten kann. Das authentische Zubehör reagiert korrekt, während das gefälschte Zubehör aufgedeckt und vom System ordnungsgemäß verwaltet wird.

Die folgende Abbildung zeigt, wie das Frage-und-Antwort-/Authentifizierungssystem verschiedene Phasen in einem typischen Setup verwendet.

1. Das System generiert eine Zufallszahl oder Frage.

2. Die Frage wird an das Zubehör übermittelt.

3. Das Plugin modifiziert die Frage auf eine vorkonfigurierte und nicht offensichtliche Weise, um die Antwort zu erstellen.

4. Das Zubehör übermittelt die Antwort an das System.

5. Das System behält eine Kopie der Frage und modifiziert sie, um die ideale Antwort zu bestimmen.

6. Das System vergleicht die ideale Reaktion mit der Reaktion des Zubehörs. Wenn sie übereinstimmen, ist das Accessoire echt.

Das System muss eine große Anzahl von Fragen zulassen, um sich gegen Fälschungen zu wehren, die eine automatische Antworttabelle zur sicheren Authentifizierung generieren. Zusätzlich dazu, dass die Kosten zum Speichern großer Tabellen für Fälscher unökonomisch werden, reduziert das Berechnen von Antworten im laufenden Betrieb, anstatt Antworten in der Vorrichtung zu speichern, die Speicheranforderungen.

In einem deterministischen digitalen System ist es nicht einfach, Zufallszahlen im System zu erzeugen, um sie als Fragen zu verwenden. Nur wenige externe Maßnahmen sind wirklich zufällig, unvorhersehbar und gleichmäßig verteilt, und eine begrenzte Anzahl möglicher Fragen reduziert die Anzahl der Antworten, die Fälscher speichern müssen. Ein Pseudozufallszahlen-Erzeugungsalgorithmus ist ein robusteres Verfahren, bei dem jedes System eine eindeutige Quellennummer hat, möglicherweise unter Verwendung einer modifizierten Form der Systemseriennummer. Algorithmen zur validierten Pseudozufallszahlengenerierung erzeugen eine sich nicht wiederholende Folge von Zahlen, die gleichmäßig über den gesamten möglichen Bereich von Ausgabewerten verteilt ist. Der zum Starten des Algorithmus verwendete Quellwert bestimmt die Folge der Ausgabewerte, und jedes System sollte einen einzigen Quellwert haben, sodass es eine eindeutige Folge von Zahlen erzeugt. Algorithmusvariablen sollten in einem nichtflüchtigen Speicher gespeichert werden, damit ihre Werte beibehalten werden, wenn die Stromversorgung des Systems unterbrochen wird, um zu verhindern, dass sich der Algorithmus neu initialisiert und dieselbe Zahlenfolge wiederholt.

Das Verschlüsseln der Frage oder das Weiterleiten durch eine mathematische Einwegfunktion, auch als sicheres Mischen bezeichnet, kann eine Änderung der Frage ermöglichen. In beiden Fällen ist die Modifikation nicht offensichtlich und erzeugt bei sequentiellen Eingaben keinen identifizierbaren Trend für die Ausgabe. Die Modifikation sollte nicht offensichtlich sein, da die Fragen durch illegalen Zugriff im Kommunikationskanal überwacht werden können. Um die Modifikation durch Verschlüsselung und sichere Mischalgorithmen zu bestimmen, ist eine übermäßige Anzahl von Berechnungen und eine große Anzahl von Frage-Antwort-Paaren erforderlich. AES, TDES und XTEA sind blockbasierte symmetrische Chiffren für die mikrocontrollerbasierte Authentifizierung, da sie wenig RAM und wenig Programmspeicherplatz benötigen und rechnerisch effizient sind. Diese Eigenschaften ermöglichen es, auf kostengünstige Mikrocontroller zurückzugreifen, und ihre Effizienz impliziert, dass die Verschlüsselung durch die Ausführung einer kleinen Anzahl von Anweisungen durchgeführt werden kann. Dies verringert den Gesamtstrom, indem es dem Mikrocontroller ermöglicht wird, nach Abschluss in einen Niedrigleistungszustand zu wechseln. Blockbasierte Chiffren verschlüsseln eine bestimmte Anzahl von Bytes gleichzeitig und liefern ein gleich großes Ergebnis. Alle drei Verschlüsselungscodes sind gemeinfrei, wurden einer internationalen Sicherheitsprüfung unterzogen, und ihre starke Verschlüsselung wird als gut bekannt eingeschätzt. Safe-Shuffling-Algorithmen ähneln einer Abfrage-Prüfsumme, wobei ein geheimer Wert eingestreut ist, und bieten eine Methode zur Bestimmung, ob die Berechnungen auf einem authentischen Gerät durchgeführt wurden. Mischalgorithmen haben im Gegensatz zur Verschlüsselung keine Eins-zu-eins-Konfiguration. Die ursprüngliche Eingabe kann nicht aus dem Ergebnis abgerufen werden, da sie aus mehr als einem Eingabedatensatz erstellt werden könnte. Sichere Shuffling-Algorithmen wie HMAC-SHA-1 und HMAC-SHA-256 sind geeignet, erfordern jedoch viel mehr RAM und Programmspeicher sowie einen teureren Mikrocontroller.

Das Modifizierungsverfahren für die Eingabedaten wird mittels eines Schlüssels sowohl für sichere Misch- als auch für Verschlüsselungsalgorithmen bestimmt. Der Schlüssel, und nicht die gewählten Verschlüsselungsschlüssel, bestimmen die Sicherheit des Systems und müssen daher geheim gehalten werden. Diese als Kerchoff-Prinzip bezeichnete Methode besagt, dass die Kenntnis des verwendeten Algorithmus die Sicherheit des Systems nicht negiert, da der Schlüssel bestimmt, wie die Eingabe geändert wird. Um sicherzustellen, dass der Schlüssel nicht einfach gelesen werden kann, und um die Geheimhaltung aufrechtzuerhalten, muss Systemspeicher erhalten bleiben, beispielsweise in einem im Prozessor eingebauten Flash oder EEPROM. Dies kann auch erreicht werden, indem der Schlüssel im integrierten Speicher des Mikrocontrollers gespeichert wird und Sicherheitsfunktionen aktiviert werden, um das Herunterladen der Schlüsselidentifikation zu blockieren. In jedem Fall müssen Schlüsselmanipulationen und Kenntnisse während des Systemdesigns und in Produktionsumgebungen sorgfältig verwaltet werden, um eine Entdeckung zu verhindern.

Einige Algorithmen können mit Schlüsseln variabler Länge arbeiten, während größere Schlüssel größere Sicherheit auf Kosten von mehr Berechnungen und Ressourcen bieten, um eine Verschlüsselung zu erreichen. Alle Verschlüsselungstechniken sind anfällig für einen Brute-Force-Angriff. Unter Verwendung eines bekannten Paars von Eingabe- und Ausgabedaten wird die Eingabe mit einer progressiven Schlüsselsequenz verschlüsselt, bis die entsprechende Ausgabe erreicht wird. Obwohl dies für noch kleinere Schlüssel ziemlich rechenintensiv sein kann, bedeutet die ständig steigende verfügbare Rechenleistung, dass es sich lohnt, den größtmöglichen Schlüssel für die richtige Auswahl an Mikrocontrollern einzubeziehen, da die Anzahl der Schlüssel exponentiell mit der Größe des Schlüssels wächst Erhöhung der Zeit, die für einen Brute-Force-Angriff benötigt wird. Die Schlüssel sollten zufällig ausgewählt werden, damit ein Brute-Force-Angriff den Schlüssel weniger wahrscheinlich in kurzer Zeit findet. Da es einem Brute-Force-Angriff rechnerisch möglich ist, den Schlüssel beim ersten Versuch zu finden, ist dies aufgrund der enormen Anzahl von Möglichkeiten wirklich sehr unwahrscheinlich.

Um einen Angriff zu verhindern, ist es möglich, die Zeit, die benötigt wird, um authentische Antworttabellen zu erzeugen, ausreichend zu erhöhen. Dieses Ziel wird erreicht, indem Zeitüberschreitungen implementiert werden, wie z. B. fünf Sekunden zwischen der Authentifizierung, und Begrenzungen für die maximal akzeptable Datenrate für die Kommunikation hinzugefügt werden, wodurch die Anzahl der empfangenen Fragen begrenzt wird. Da die Fragebits in der Tabelle exponentiell ansteigen, wird die Speicherung für Fälscher unerschwinglich teuer. Es gibt auch Methoden für Fragen, die größer als die Chiffrierblockgröße sind. Eine regelmäßige Neuauthentifizierung kann verhindern, dass das System mit einem authentischen Zubehör aktiviert und dann nach der Authentifizierung gegen ein anderes ausgetauscht wird. Das parallele Stellen von Fragen an mehrere Requisiten reduziert die Zeit, die benötigt wird, um eine Tabelle mit richtigen Antworten zu erstellen. Die Tabelle erfordert jedoch immer noch ein großes Speichervolumen, und die erforderliche Zeit wäre immer noch erheblich.

Jedem authentifizierten Zubehör einen individuellen Verschlüsselungsschlüssel zuzuweisen, ist eine Verbesserung, die jedem Zubehör seine eigene eindeutige Antwort auf eine Frage gibt, aber erfordert, dass das System die Verschlüsselungsschlüssel für alle authentifizierten Zubehörteile speichert oder in der Lage ist, den erforderlichen Schlüssel abzuleiten. Beide Methoden erfordern, dass das Zubehör eine Seriennummer hat, um den benötigten Schlüssel zu identifizieren, aber das Ableiten des Schlüssels ist aus Speichersicht effizienter. Das System liefert ihm die Verschlüsselung der Zubehörseriennummer unter Verwendung eines hinzugefügten geheimen Hauptschlüssels, wie in Abbildung 3 gezeigt. Das Ergebnis dieser Operation wird als Verschlüsselungsschlüssel für die Authentifizierung verwendet. Wenn der Hauptschlüssel kompromittiert ist, kann diese Methode keine Duplikate erkennen, daher müssen Maßnahmen ergriffen werden, um den Hauptschlüssel zu schützen. Nur das System sollte den Schlüssel behalten, da die Seriennummern der Zubehörteile während ihrer Herstellung bekannt sind und der Hauptschlüssel bereits bestimmt wurde, wodurch der Verschlüsselungsschlüssel für jedes Zubehörteil erstellt wird. Daher müssen die Zubehörteile nur mit ihrer Seriennummer und ihrem Verschlüsselungsschlüssel programmiert werden und benötigen keinen Hauptschlüssel. Der Vorteil dieser Technik besteht darin, dass mehrere Geräte nicht parallel abgefragt werden können, da jedes eine andere Antwort geben wird. Auch für den Fall, dass ein authentifiziertes Zubehör kompromittiert werden kann, werden nur Klone dieses Zubehörs mit identischen Seriennummern erhalten. Systeme könnten diese Seriennummern nach Erkennung auf die schwarze Liste setzen.

Das System kann automatisch eine Seriennummer für das Zubehör speichern, indem es eine digitale Authentifizierung integriert, und ermöglicht die Verwaltung von Rückrufen und die Einhaltung von Ablaufdaten, wenn diese in die Seriennummern aufgenommen wurden. Die digitale Authentifizierung verwendet die Verschlüsselung als Modifikator und die Entschlüsselung ist nicht implementiert. Die Entschlüsselung kann jedoch ähnliche Ressourcen und Codesegmente erfordern, wodurch es möglich wird, sichere Kommunikationen zwischen dem System und dem Zubehör zu integrieren. Zusätzliche Daten können in einem nichtflüchtigen Speicher innerhalb des Mikrocontrollers gespeichert werden, wodurch die Kalibrierung eng an die Vorrichtung gebunden wird und die Verwendung der gespeicherten Daten ermöglicht wird.

 

Fazit

 

Die Sicherheit von medizinischem Zubehör kann durch digitale Authentifizierung auf verschiedene Weise verbessert werden, wodurch Unfälle, Fehler bei der unhygienischen Wiederverwendung von Verbrauchszubehör und die Verbreitung von gefälschtem Zubehör verhindert und gleichzeitig die Einnahmequelle geschützt werden. Kleine, kostengünstige und stromsparende Mikrocontroller können die Hardwareanforderungen problemlos erfüllen. Es gibt verschiedene Kommunikationskanäle, die genutzt werden können. Blockchiffren zur Verschlüsselung benötigen nur minimalen Arbeitsspeicher und können problemlos auf einem kleinen Mikrocontroller implementiert werden.