Ein weiterer Vorteil dieser Authentifizierungsbausteine ist die einfache Anwendung. Man muss hier keine Verschlüsselung ausführen und sich mit der Encryption beschäftigen, sondern man sendet nur den gewünschten Befehl und die Daten zum Baustein. Ein konkretes Beispiel: Um eine MAC-Berechnung auszuführen, schickt man im Prinzip das Kommando "Führe eine MAC-Berechnung über folgende Daten mit Schlüssel Nummer X durch". Als Antwort bekommt man dann die Checksumme. Die Authentifizierungs-ICs von Atmel haben genug Platz, um verschiedene Schlüssel zu speichern, deswegen wird die Schlüsselnummer mit angegeben. Schon der ATSHA204 hat Platz für 16 verschiedene Schlüssel.
Wer oder was soll geschützt werden? Dies ist letztendlich eine der wichtigsten Fragen auf diesem Gebiet. Natürlich ist jedem klar, dass ein Kreditkartenterminal eine ganz andere Sicherheit verlangt als eine Druckerpatrone, die nachgefüllt werden soll. Aber diese Frage ist nicht so trivial, wie sie zuerst erscheint. Es gibt verschiedenste Anwendungsfälle für Security, die man auch unterschiedlich betrachten sollte.
Der wohl einfachste Fall im Bereich Security ist die Verhinderung eines nicht-legitimen Nachbaus (Klonen), beispielsweise von einem Bestücker, der die Produktionsdaten schon vorliegen hat. Ziel ist es, zu verhindern, dass einfach die doppelte Menge an Bauteilen eingekauft und das fertige Produkt unter fremdem Namen verkauft wird. Wenn das Ganze dann auch in einem anderem Markt passiert, ist der Vorgang eventuell schwierig nachzuvollziehen.
Der Lösungsansatz sieht in diesem Fall so aus: Ein Authentifizierungs-IC generiert einen MAC mit einem geheimen Schlüssel und hinterlegt diesen auch im Mikrocontroller. Nur wenn dieser Wert richtig geliefert wird, läuft das Programm korrekt weiter. In Bezug auf das Beispiel bedeutet das: Es wird eine korrekte Anzahl an programmierten Authentifizierungs-Bausteinen, wie der ATSHA204, an den Bestücker geliefert, der dann nur die entsprechende Anzahl an Produkten fertigstellen kann. Entscheidend dabei ist, dass der ATSHA204 zuvor mit den geheimen Schlüsseln programmiert wird. Natürlich verhindert dieser Weg zunächst nur, dass ein Betrüger ein Produkt ohne technischen Aufwand klonen kann. Ausgehend davon kann man dann Szenarien entwerfen, bei denen unterschiedliche Challenge/Response-Paare in die Firmware integriert werden, um einen einfachen Nachbau zu erschweren.
Ein anderer Faktor ist, sicherzustellen, dass ein Firmware-Update korrekt funktioniert. Hacker haben in der Vergangenheit fehlerhafte Firmware auf Produkte übertragen, so dass sich diese durch Überhitzung zerstört und einen erheblichen Schaden angerichtet haben. Auch in diesem Fall bietet der MAC eine Lösung an: Über einen bestimmten Bereich der Firmware wird der MAC mit einem geheimen Schlüssel berechnet und als Teil der neuen Firmware mitgeschickt.
Das Zielsystem berechnet diesen MAC dann auch über den gleichen Bereich mit dem Schlüssel, der im Authentication-IC gespeichert ist. Wenn der Schlüssel und die zu verschlüsselnden Daten identisch sind, dann ist auch das Resultat das gleiche. Damit wird sichergestellt, dass diese Firmware von einem gültigen Sender kommt und auch nicht verändert wurde - sie kann also benutzt werden.
Ein weiteres Einsatzgebiet ist die Authentifizierung von Zusatz-Boards und -Komponenten. In diesem Fall geht es darum, sicherzustellen, dass eine zusätzlich Hardware gültig ist. Damit kann man nicht nur Ersatzteile und zusätzliche Boards authentifizieren, sondern auch zusätzliche Funktionalitäten mithilfe der richtigen Boards freischalten. Gleiches gilt auch für die Deaktivierung bestimmter Funktionen, wenn die falsche Hardware verbunden ist (Dongle-Funktion). Das grundsätzliche Prinzip ist auch hier dasselbe: Man vergleicht, ob die empfangenen Daten gleich den erwarteten Daten sind. Ohne korrekt programmierten Authentication-IC werden keine korrekten Daten gesendet.
Dieses Prinzip der Authentifizierung gilt natürlich auch für die Verbindung zwischen Software und Hardware. Nur die korrekte App darf mit der Hardware kommunizieren, und die Hardware darf keine sensiblen Daten zu einer nicht authentifizierten App senden. Hier bietet es sich an, mit dem ATECC108 oder ATECC508 zu arbeiten, da sich in diesem Fall eine asymmetrische Verschlüsselung anbietet. Bei dieser Art der Verschlüsselung muss man den geheimen Schlüssel nicht austauschen.
Ein durch Industrie 4.0 und IoT sehr stark wachsendes Anwendungsgebiet ist die sichere Datenkommunikation zwischen zwei Geräten. Wenn nun ein Mikrocontroller zur Verschlüsselung mit einem Hardware-Modul verbunden ist, kann man Daten damit schnell ver- und entschlüsseln. Aber den geheimen Schlüssel im Mikrocontroller zu speichern ist, wie schon erwähnt, keine 100 Prozent sichere Lösung. Besser wäre eine Lösung, bei der ein "Session Key" generiert wird. Der ist nur einmal gültig und wird beim nächsten Mal durch einen neuen Session Key ersetzt.
Dazu muss auf beiden Seiten des Systems ein Mikrocontroller und ein Authentifizierungs-IC mit dem gleichen geheimen Schlüssel vorhanden sein. Zu Beginn der sicheren Kommunikation fordert Mikrocontroller A eine Zufallszahl an. Diese Zufallszahl wird nun auf Seite A mit dem geheimen Schlüssel verschlüsselt - das Ergebnis ist nun der Session Key, der zum Verschlüsseln der Daten im Mikrocontroller verwendet wird. Mit den verschlüsselten Daten wird nun auch die Zufallszahl über den Kanal übertragen, der abgehört werden kann. Doch auch jemand, der den Kanal unerlaubt abhört, kann mit der Zufallszahl nichts anfangen, da die Daten ja nicht mit ihr entschlüsselt werden. Mikrocontroller B empfängt die Zufallszahl und verschlüsselt sie über seinen Authentifizierungs-IC zu seinem Session Key. Damit entschlüsselt Mikrocontroller B nun die empfangenen Daten. So lässt sich eine sichere Kommunikation zwischen den beiden Controllern etablieren.
Und auch wenn diese fünf ganz unterschiedlichen Beispiele für Security-Anwendungen nur einen Bruchteil aller vorhandenen Möglichkeiten darstellen, können sie einen ersten Anhaltspunkt geben, welche Anwendungsgebiete man mit leicht einzusetzenden Security-Lösungen abdecken kann. Dabei ist es immer wichtig, sich vor Augen zu führen, was genau man eigentlich schützen möchte. So deckt der Wert eines Stand-alone-Geräts selten den finanziellen Aufwand, es professionell vor Hacker-Angriffe schützen zu lassen - die Relation muss also stimmen. Hier bieten die Produkte von Atmel einen sehr guten Kompromiss zwischen Kosten und Sicherheit. Und die Entwicklung geht weiter: Gerade die asymmetrische Verschlüsselung, die von Atmel unter anderem mit dem ATECC508 unterstützt wird, ist auch für Industriekunden sehr interessant.