nw  

Secure IoT mit Programmable Smart Cards - Erläuterung der Schlüsselbegriffe

Secure Internet of Things (IoT)

Das Internet der Dinge ist, wenn Dinge, die nicht von Menschen betrieben werden, mit dem Internet verbunden werden. Durch die allgemeine Konnektivität sind die Dinge im Internet erheblichen Gefahren ausgesetzt. Das Thema Sicherheit im IoT gilt es daher entsprechend zu berücksichtigen.

Smart Card als Secure Element

Ein Secure Element ist eine manipulationssichere Plattform die in der Lage ist, Anwendungen sicher zu betreiben sowie vertrauliche und kryptographische Daten sicher aufzubewahren. Secure Elements sind in verschiedenen Formen verfügbar, aber am häufigsten werden sie als Smart Cards eingesetzt. Eine Smart Card enthält die grundlegenden physikalischen Elemente eines Computers, wie beispielsweise Mikroprozessor, flüchtiger Arbeitsspeicher (RAM), persistenter Speicher (EEPROM) sowie Kommunikationsbus. Der Schutz der Smart Card wird hauptsächlich vom Betriebssystem übernommen. Auf Daten wird über eine logische Struktur von Dateien zugegriffen, die durch Zugriffssteuerungsmechanismen gesichert sind. Smart Cards sind zum Beispiel in Mobilfunknetzen (SIM-Karten) weitverbreitet.
In dieser Projektarbeit wird eine programmierbare Smart Card von Swissbit verwendet (Secure MICRO SD1 Memory Card PS-100u VE).

Java Card

Die Java Card Technologie bietet eine sichere Umgebung für Anwendungen, die auf Geräten mit begrenzten Speicher- und Verarbeitungsmöglichkeiten, zum Beispiel Smart Cards, ausgeführt werden. Die Laufzeitumgebung von Java Card ist mit dem Standard ISO 7816 für Smart Cards konform. Aufgrund des geringen Speicherbedarfs unterstützt Java Card lediglich eine Teilmenge des Sprachumfanges von Java. Strings oder multidimensionale Arrays werden beispielsweise nicht unterstützt. Auch Features wie Threads oder Garbage collection sind kein Bestandteil.
Auf der in dieser Projektarbeit verwendeten Smart Card ist die Version Java Card Classic 3.0.4 verfügbar.

Kryptographische Algorithmen

Dieser Begriff beinhaltet eine bestimmte Art von Berechnungsprozedur die variable Eingaben verwendet und eine Ausgabe erzeugt. Dadurch wird ein spezifischer kryptographischer Vorgang abgedeckt.
Die kryptographischen Algorithmen können in Typen zusammengefasst werden. So sind beispielsweise die Typen Schlüsselerzeugung, Verschlüsselung, digitale Signaturen, hashing Funktionen, Schlüsselverteilung weit verbreitet. Jeder dieser Typen beinhaltet wiederum verschiedene Ausprägungen die sich erheblich unterscheiden können. Zum Beispiel basiert die symmetrische Verschlüsselung auf einem gemeinsamen Schlüssel während in der asymmetrischen Verschlüsselung Schlüsselpaare, bestehend aus einem privaten und einem öffentlichen Schlüssel, zugrunde liegen.
Einzeln angewandte kryptographische Algorithmen führen nicht zu einer sinnvollen kryptographischen Anwendung. Nur im Verbund eingesetzt können sie die Sicherheitsziele gewährleisten. So können Schlüsselpaare von elliptischen Kurven einerseits für die Schlüsselverteilung genutzt werden, wodurch symmetrische Verschlüsselung initialisiert werden kann. Andererseits ermöglichen sie die Initialisierung von digitalen Signatur Algorithmen.

Datagram Transport Layer Security (DTLS)

DTLS ist ein Verschlüsselungsprotokoll für den Datenaustausch im Internet und basiert auf TLS. Im Gegensatz zu TLS kann DTLS auch über unzuverlässige und verbindungslose Protokolle wie User Datagram (UDP) transportiert werden. Durch Verhindern von Abhören, Manipulieren und Nachrichtenverfälschung bietet es gleichwertige Sicherheitsgarantien wie TLS. Im Protokollstapel wird DTLS zwischen der Applikationsschicht und der Transportschicht eingefügt. Dadurch ist es möglich die Sicherheit für das darüberliegende Applikationsprotokoll, wie zum Beispiel CoAP, zu gewährleisten.

Constraint Application Protocol (CoAP)

CoAP ist ein Web Transfer Protokoll speziell für die Verwendung mit leistungsschwachen Nodes und in verlustbehafteten Netzwerken mit hohen Paketfehlerraten. Das Protokoll ist für Machine-to-Machine (M2M) Anwendungen wie zum Beispiel in der Gebäudeautomation ausgelegt. CoAP zeichnet sich durch einen geringen Header Overhead sowie geringer Parse Komplexität aus.

« zurück