Schlagwort-Archive: Verschlüsselung

Quantenkryptographie einfach erklärt: Das BB84 Protokoll

Im dritten Beitrag meiner Reihe "Quantencomputing und Quantenkryptographie einfach erklärt" werde ich ein Hauptthema der Quantenkryptographie näher erläutern: Quantenschlüsselaustauschprotokolle, im Detail das Protokoll BB84. Klingt kompliziert, aber keine Angst - bevor wir uns das Protokoll näher anschauen, werden wir uns vorab erst einmal mit dem Sinn und Zweck von solchen Protokollen im Allgemeinen beschäftigen und dies völlig unabhängig von der Quantenkryptographie. Hierbei werden wir recht schnell erkennen, dass Schlüsselaustauschprotokolle alltäglich im Einsatz sind - auch in den Moment, in dem Du diese Webseite geöffnet hast.

Vorab der übliche Disclaimer: Ich bin weder Mathematiker, noch Physiker. Aus diesem Grund werde ich sicherlich nicht alle Punkte mit mathematisch/ physischer Präzision korrekt formuliert darlegen können. Insofern du Verbesserungsvorschläge für die Beiträge hast, so freue ich mich selbstverständlich über einen Kommentar oder Feedback.

Dieser Artikel ist Teil einer Serie:

- Teil 1: Was ist Spin?
- Teil 2: Die Grundlagen der Quanten-Mathematik
- Teil 3: Das Quantenschlüsselaustauschprotokoll BB84

Kapitel 1: Grundlagen Verschlüsselung

Beginnen werde ich dieses Mal mit einer Problembeschreibung, die völlig unabhängig von der Quantenkryptographie ist: Wie können zwei oder mehr Personen sicher miteinander kommunizieren? In meinen Kursen habe ich zur Darstellung des Problems sehr gerne das folgende Szenario genommen: Wir stellen uns für einen Moment vor, dass wir uns mitten auf einer belebten Kreuzung befinden, beispielsweise hier:

Alice und Bob auf einer Kreuzung
Alice und Bob auf einer Kreuzung [1]

Die Aufgabenstellung: Wie können die beiden rot markierten Person eine Nachricht austauschen, ohne dass diese sich näher kommen dürfen? Natürlich sind wir in einer modernen Welt, Smartphones existieren bereits. Aber wie stellt beispielsweise ein Smartphone sicher, dass eine Nachricht unverändert und vertraulich beim Empfänger ankommt?
Quantenkryptographie einfach erklärt: Das BB84 Protokoll weiterlesen

2FA: Zwei-Faktor-Authentifizierung mit TOTP

Zwei-Faktor-Authentifizierung (2FA) oder allgemein Mehr-Faktor-Authentifizierung (MFA) hat in den letzten Jahren stark an Bekanntheit und Bedeutung zugenommen. In diesem Beiträge möchte ich mich auf das Time-based One-time Password (TOTP) Verfahren beschränken, dass wohl bekannteste Verfahren, welches in unzähligen Anwendungen Einzug gehalten hat. Das TOTP Verfahren wird beispielsweise von der 2FA Google Authenticator App verwendet. Viele werden es auch von den kleinen Hardware-Token kennen, welche alle 60 Sekunden ein neues Einmalpasswort generieren und anzeigen.

2FA: Wie funktioniert das TOTP Verfahren?

Das TOTP Verfahren wurde 2011 im Rahmen der Internet Engineering Task Force (IETF) als RFC 6238 veröffentlicht. Beim TOTP Algorithmus handelt es sich um eine Hashfunktion, in welcher ein geheimes Passwort zusammen mit der aktuellen Uhrzeit gehasht wird.

Hinter steckt der HMAC-based One-time Password Algorithmus nach RFC 4226 - vereinfacht gesagt nichts weiter als ein Standard, der auf bestimmte Weise einen Hash bildet.

2FA: Zwei-Faktor-Authentifizierung mit TOTP weiterlesen

HTTPs: Unverzichtbar in der heutigen Zeit

Sobald Passwörter zum Login für Webseiten verwendet werden, ist HTTPs unverzichtbar. Im Folgenden möchte ich aufzeigen, warum dem so ist! Ich beginne mit einer Übersicht der gängigsten Authentifizierungen für Web-Portale.

(1) Klartext Login

Die einfachste Variante: Der Login im Klartext.

Account anlegen

Der Benutzername und das Passwort werden im Klartext an den Server gesendet.

Plaintext Registration
Plaintext Registration

Anmeldung

Zur Anmeldung wird der Benutzername und das Passwort im Klartext an den Server gesendet.

Plaintext Login
Plaintext Login

Sicherheit

Die folgende Analyse wertet die Sicherheit des Verfahrens aus. Die Liste ist ein Auszug einiger wichtiger Sicherheitsparameter, jedoch nicht abschließend.

Klartextpasswort geschützt Nein
Replay-Angriff verhindert Nein. Wird das Passwort während der Anmeldung mitgeschnitten, kann dieses zum Login genutzt werden.
Login nach Kompromittierung der Datenbank verhindert Nein. Das in der Datenbank gespeicherte Passwort kann zum Login verwendet werden.
Man-in-the-Middle verhindert Nein. Es gibt keine Möglichkeit sicherzustellen, dass der Client direkt mit dem Server kommuniziert.

Fazit: Erhebliche Risiken; bietet über unverschlüsselte Kommunikationskanäle keinerlei Sicherheit.

HTTPs: Unverzichtbar in der heutigen Zeit weiterlesen

Cisco OSPF IPv6 Verschlüsselung/ Authentifizierung

Aktuell arbeite ich am Thema der Absicherung von OSPFv3, speziell im Rahmen von IPv6. Die Topologie die ich heute zur Demonstration verwenden werde ist recht einfach:

OSPFv3-Topologie

Eine größere Topologie ist zur Demonstration nicht notwendig, dass Beispiel lässt sich beliebig skalieren. Die Möglichkeiten der Absicherung von OSPF haben sich im Zuge von IPv6 verändert, OSPFv3 verwendet keine eigene Lösung mehr zur Absicherung, sondern übergibt die Aufgaben der Sicherstellung von Integrität, Vertraulichkeit und Authentizität an die übergeordnete Protokollschicht - IPv6.

Relevant sind hierbei die IPv6 Extension Header vom Typ 50 und 51: Der Authentication Header (AH) sowie der Encapsulating Security Payload (ESP) Header.

In diesem Beitrag werde ich sowohl die "klassische" Variante zum Schutz von OSPF über IPv6 nach RFC 4552 erläutern, als auch die alternative IPSec unabhängige Variante, mit dem OSPFv3 Authentication Trailer nach RFC 7166. Beginnen werde ich mit der erst genannten Variante.

Cisco OSPF IPv6 Verschlüsselung/ Authentifizierung weiterlesen

Rijndael (AES): Sichere Block- und Schlüsselgrößen

Nachdem mir die Frage gestellt wurde, warum ich im BLOG in einigen Beiträgen bestimmte Cipher empfohlen habe, möchte ich in diesem Beitrag auf die Bedeutung

  • der Blockgröße und
  • der Schlüssellänge

unter Berücksichtigung der bisher bekannt gewordenen Angriffsmöglichkeiten am Beispiel von Rijndael näher eingehen.

1 - Was ist die Blockgröße?

Die Blockgröße ist die Anzahl der Bytes, die, durch den Rijndael- Algorithmus, während eines Durchgangs verarbeitet werden können. Der Klartext wird hierbei durch einen Betriebsmodus wie CBC oder GCM in n Bit große Blöcke aufgeteilt und ggf. mit Hilfe von Padding- Verfahren aufgefüllt.

Blocksize bei CBC
Diese Darstellung verdeutlicht die Blocksize des Verschlüsselungsmode Cipher Block Chaining Mode (CBC) [1]

Der Rijndael- Algorithmus unterstützt verschiedene Blockgrößen (128, 160, 192, 224, und 256 Bits), im AES- Standard wird jedoch nur die 128-bit Blockgröße spezifiziert.

1.1 - Je größer die Blockgröße, desto besser?

Kommt drauf an. Für die Sicherheit einiger Betriebsmodi ist es erforderlich, dass keine zwei Cipher-Text Blöcke mit demselben Inhalt generiert werden.

Leicht verdeutlicht werden kann dies mit Hilfe des Code-Book Angriffs:

sei hierbei ein Klartextblock, der vorherige Cipher-Text Block und der Block Cipher.

Rijndael (AES): Sichere Block- und Schlüsselgrößen weiterlesen