Implementieren Sie eine sichere Authentifizierung, ohne ein Experte für Kryptografie zu sein

"Digitale Sicherheit ist eines der bekanntesten Themen in elektronisch gestalten heute. Verschlüsselung ist wahrscheinlich das erste Wort, das Ingenieuren in den Sinn kommt, wenn sie an Sicherheit denken, und nur wenige Ingenieure denken an Authentifizierung. Die Authentifizierung ist jedoch eine wesentliche Funktion eines sicheren Geräts oder einer sicheren Transaktion.

"

Authentifizierung ist wichtig. Dank bestehender siliziumbasierter Lösungen können wir die Authentifizierung ermöglichen, ohne Experten in der Implementierung von Kryptografie sein zu müssen.

einführen

Digitale Sicherheit ist heute eines der bekanntesten Themen im Elektronikdesign. Verschlüsselung ist wahrscheinlich das erste Wort, das Ingenieuren in den Sinn kommt, wenn sie an Sicherheit denken, und nur wenige Ingenieure denken an Authentifizierung. Die Authentifizierung ist jedoch eine wesentliche Funktion eines sicheren Geräts oder einer sicheren Transaktion.

Ziehen Sie die Identitätsprüfung in Bezug auf das Homebanking in Betracht. Offensichtlich möchten Sie vertrauliche Informationen wie Salden und Kontonummern verschlüsseln. Dies geschieht, wenn Ihr Internetbrowser ein grünes Schloss mit https:// anzeigt. Das heißt, das erste, was der Internetbrowser beim Aufbau einer sicheren Verbindung prüft, ist, ob die Website der Bank authentisch ist; Mit anderen Worten, es authentifiziert die Bank-Website. Ohne Authentifizierung könnten Sie Anmelde- und Passwortinformationen an Imitationsseiten senden, was in der Tat sehr schädlich sein kann, da diese Anmeldeinformationen weiterverwendet werden können, um jede Art von nicht autorisierter Aktivität im Namen einer Transaktion eines ahnungslosen Bankkontoinhabers auszuführen. Sicheres Surfen im Internet wird in der Regel durch das TLS/SSL-Protokoll erreicht, das neben der Verschlüsselung auch Authentizität und Vertraulichkeit gewährleistet.

Authentifizierung ist auch für Anwendungen im Internet der Dinge (IoT) wichtig: Nicht vertrauenswürdige Endpunkte können ganze Infrastrukturen gefährden. Betrachten wir einen intelligenten Zähler, der an ein elektrisches Verteilungssystem angeschlossen ist. Eine einfache Möglichkeit für Angreifer, das Netz zu kompromittieren, besteht darin, Viren oder Malware in Smart Meter zu laden. Infizierte Zähler können dann falsche Nachrichten an die Infrastruktur senden, die einen Stromverbrauch widerspiegeln, der erheblich vom tatsächlichen Stromverbrauch abweicht, was wiederum dazu führen kann, dass das Netz aus dem Gleichgewicht gerät. Wenn das Netz zu viel meldet, wird der scheinbar überschüssige Strom an anderer Stelle umgeleitet, aber wenn das Netz zu wenig meldet, führt dies zu einem Leistungsanstieg. Im schlimmsten Fall könnte der Angriff einen totalen Blackout auslösen, indem das Gleichgewicht des Netzes gestört wird. Um dies zu vermeiden, muss überprüft werden, ob die Hardware und die Firmware des Messgeräts echt sind. Der Prozess der Überprüfung der Firmware wird als Secure Boot bezeichnet.

Implementieren Sie eine gültige Authentifizierungsmethode

Nachdem wir nun ihre Bedeutung verstanden haben, wollen wir diskutieren, wie die Authentifizierung implementiert wird. Die einfachste Authentifizierungsmethode ist die Verwendung eines Passworts. In unserem Smart-Meter-Beispiel könnte das Gerät einen Code an das Netzleitsystem senden. Der Server überprüft das Passwort und autorisiert dann weitere Transaktionen. Obwohl dieser Ansatz leicht zu verstehen ist, ist er bei weitem nicht der beste. Ein Angreifer kann die Kommunikation einfach überwachen, das Passwort aufzeichnen und es wiederverwenden, um nicht originale Geräte zu authentifizieren. Daher halten wir die passwortbasierte Authentifizierung für schwach.

Eine bessere Möglichkeit, die Authentifizierung in der digitalen Welt durchzuführen, ist das Challenge-Response-Verfahren. Sehen wir uns zwei Varianten von Challenge-Response-Methoden an: eine basiert auf symmetrischer Kryptografie und die andere auf asymmetrischer Kryptografie.

Symmetrische Passwortauthentifizierung

Die auf symmetrischer Verschlüsselung basierende Authentifizierung basiert auf einem gemeinsamen Geheimnis. Der Host und das zu authentifizierende Gerät haben denselben Schlüsselcode. Der Host sendet eine Zufallszahl, die Challenge, an das Gerät. Das Gerät berechnet abhängig von Schlüssel und Challenge eine digitale Signatur und sendet diese an den Host zurück. Der Host führt dann dieselbe Berechnung durch und vergleicht die Ergebnisse. Wenn die beiden Berechnungen übereinstimmen, ist das Gerät authentifiziert (Abbildung 1). Damit Ergebnisse nicht nachgeahmt werden können, müssen Funktionen mit ausreichenden mathematischen Eigenschaften verwendet werden. Beispielsweise können Geheimnisse nicht abgerufen werden, ohne die Berechnung des Ergebnisses zu erzwingen. Sichere Hashfunktionen wie SHA-256 unterstützen diese Anforderungen. Beim Challenge-Response-Verfahren beweist das Gerät, dass es das Geheimnis kennt, ohne das Geheimnis preiszugeben. Selbst wenn ein Angreifer die Kommunikation abfängt, kann der Angreifer immer noch nicht auf das gemeinsame Geheimnis zugreifen.


Abbildung 1. Die auf symmetrischer Verschlüsselung basierende Authentifizierung beruht auf Schlüsselnummern, die Host und Gerät gemeinsam nutzen.

Asymmetrische kryptografische Authentifizierung

Die auf asymmetrischer Verschlüsselung basierende Authentifizierung basiert auf zwei Schlüsseln: einem privaten Schlüssel und einem öffentlichen Schlüssel. Der private Schlüssel ist nur dem zu authentifizierenden Gerät bekannt, während der öffentliche Schlüssel jeder Entität offengelegt werden kann, die bereit ist, das Gerät zu authentifizieren. Wie bei dem zuvor besprochenen Verfahren sendet der Host eine Aufforderung an das Gerät. Das Gerät berechnet basierend auf der Abfrage und dem privaten Schlüssel eine Signatur und sendet sie an den Host zurück (Abbildung 2). Aber hier verwendet der Host den öffentlichen Schlüssel, um die Signatur zu verifizieren. Wichtig ist auch, dass die zur Berechnung der Signatur verwendete Funktion bestimmte mathematische Eigenschaften hat. Die am häufigsten verwendeten Funktionen für asymmetrische Schemata sind RSA und ECDSA. Auch hier beweist das Gerät, dass es ein Geheimnis, den Private Key, kennt, ohne es preiszugeben.


Abbildung 2. Die asymmetrische Schlüsselauthentifizierung basiert auf öffentlichen und privaten Schlüsseln.

Warum sichere ICs gut für die Authentifizierung sind

Die Challenge-Response-Authentifizierung erfordert immer, dass das Objekt authentifiziert wird, um das Geheimnis zu bewahren. Bei der symmetrischen Verschlüsselung ist dies ein gemeinsames Geheimnis zwischen dem Host und dem Gerät. Bei asymmetrischer Verschlüsselung ist dies der private Schlüssel. Unabhängig davon bricht die durch Challenge-Response-Authentifizierung bewirkte Sicherheit zusammen, wenn Geheimnisse preisgegeben werden. Hier können Sicherheits-ICs helfen. Eine wesentliche Eigenschaft eines Wertpapiers IC ist ein starker Schutz von Schlüsseln und Geheimnissen.

Maxime bietet drei Familien von authentifizierungsfähigen Lösungen:

Authentifizierungs-ICs: Dies sind konfigurierbare Geräte mit fester Funktion, die zusammen mit einem kompakten Satz kryptografischer Operationen die kostengünstigste Möglichkeit zur Implementierung der Challenge-Response-Authentifizierung bieten.

Sichere Mikrocontroller: Neben der Unterstützung der Challenge-Response-Authentifizierung bieten diese Geräte eine vollständige Suite kryptografischer Funktionen, einschließlich Verschlüsselung.

Low-Power-Mikrocontroller: Obwohl diese Produkte nicht speziell auf Sicherheit ausgerichtet sind, verfügen sie über alle Bausteine, die für eine starke Authentifizierung erforderlich sind.

Zertifizierter IC

Unter den Authentifizierungs-ICs unterstützen SHA-256-basierte Produkte die Authentifizierung mit einem gemeinsamen Geheimnis (Abbildung 3), während ECDSA-basierte ICs private/öffentliche Schlüsselpaare verwenden (Abbildung 4). Neben der Verschlüsselungs-Engine verfügen diese Produkte auch über einen integrierten EEPROM-Speicher. Dieser Speicher ist konfigurierbar und kann verwendet werden, um authentifizierte Benutzerdaten zu speichern, wie z. B. Kalibrierungsinformationen für Sensoren.

Produkte auf Basis von SHA-256 sind die kostengünstigste Lösung. Während sie die gegenseitige Authentifizierung ermöglichen, erfordert die Verteilung des gemeinsam genutzten Schlüssels einige Vorsichtsmaßnahmen, damit der Schlüssel während der Herstellung und Einrichtung des Geräts nicht offengelegt wird. Dieses Geheimnis kann im Werk von Maxim programmiert werden, um diesen Mangel zu umgehen.


Abbildung 3. Die sichere SHA-256-Authentifizierung basiert auf einem gemeinsamen Geheimnis.

Die DS28E15/DS28E22/DS28E25 ICs von Maxim basieren auf SHA-256 Technologie und haben unterschiedliche interne Speichergrößen. Da auf der Host- und der Geräteseite derselbe Schlüssel gespeichert wird, empfiehlt es sich, auf der Host-Seite einen Coprozessor wie den DS2465 zu verwenden.

Produkte, die auf asymmetrischer Verschlüsselung basieren (z. B. DS28C36 und DS28E35), bieten eine flexiblere Lösung, da der Schlüssel nicht vor der Offenlegung durch den Host geschützt werden muss. Um jedoch Public-Key-Mathematik auszulagern und zusätzliche Sicherheitsoperationen bereitzustellen, kann ein hostseitiger Coprozessor wie der DS2476 (ein Begleit-IC zum DS28C36) verwendet werden, um die Entwicklung von Systemlösungen zu vereinfachen.


Abbildung 4. ECDSA-basierte Authentifizierung basiert auf privaten/öffentlichen Schlüsselpaaren.

Sicherer Mikrocontroller, der symmetrische und asymmetrische Verschlüsselung unterstützt

Maxim bietet sichere Mikrocontroller an, die vom MAX32590 (ARM9 mit 384 MHz) Prozessoren der Anwendungsklasse reichen, die High-Level-Betriebssysteme wie Linux ausführen können, bis hin zu Coprozessoren mit kleinem Formfaktor wie dem MAX32555 oder MAXQ1061.

Diese Mikrocontroller unterstützen symmetrische und asymmetrische Verschlüsselung und kryptografische Algorithmen für digitale Signaturen und Authentifizierung. Sie verfügen über Hardwarebeschleuniger für SHA, RSA, ECDSA und AES sowie eine vollständige kryptografische Bibliothek und bieten eine standardkonforme, schlüsselfertige API. Sie haben eine eingebaute Secure-Boot-Funktion, sodass die Authentizität der Firmware immer gewährleistet ist. Sie können aufgrund ihrer umfassenden Verschlüsselungsfunktionen eine Vielzahl von Authentifizierungsschemata verarbeiten.

Der MAXQ1061 ist ein Coprozessor, der nicht nur die Authentifizierung unterstützt, sondern auch die kritischsten Schritte im IP-sicheren Kommunikationsprotokoll des TLS/SSL-Standards handhabt. Die Verarbeitung des TLS-Protokolls on-chip erhöht die Sicherheit und entlastet den Hauptprozessor von rechenintensiven Aufgaben. Dies ist sehr wertvoll für ressourcenbeschränkte eingebettete Systeme.

Low-Power-Mikrocontroller

Low-Power-Mikrocontroller wie der MAX32626 zielen auf tragbare Geräte ab und sind daher keine „sicherheitsorientierten“ ICs. Das Produkt wurde jedoch im Hinblick auf zukünftige Sicherheitsherausforderungen entwickelt, da Angriffe häufiger werden. Daher verfügt der MAX32626 über eine Hardware-Vertrauensschutzeinheit, die Authentifizierung sowie Hardware-AES für die Verschlüsselung und einen integrierten sicheren Start unterstützt.