Schlagwort-Archive: Verschlüsselung

© peshkova - Fotolia.com

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ütztNein
Replay-Angriff verhindertNein. Wird das Passwort während der Anmeldung mitgeschnitten, kann dieses zum Login genutzt werden.
Login nach Kompromittierung der Datenbank verhindertNein. Das in der Datenbank gespeicherte Passwort kann zum Login verwendet werden.
Man-in-the-Middle verhindertNein. 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.

Weiterlesen

© vege - Fotolia.com

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.

Weiterlesen

© alphaspirit - Fotolia.com

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:

E(C_{n-1} \oplus P_n) = E(C_{m-1} \oplus P_m)

P_i sei hierbei ein Klartextblock, C_{i-1} der vorherige Cipher-Text Block und E der Block Cipher.

Weiterlesen

© violetkaipa - Fotolia.com

Häufige Schwachstellen in der Verschlüsselung durch Apps

Nachdem kurz nach der WhatsApp Übernahme die Suche nach und Diskussion über einen sicheren Messenger begann, möchte ich im Folgenden kurz auf die häufigsten Fehler aufmerksam machen, die App-Entwickler bei der Implementierung von Verschlüsselung zur Datenübertragung machen.

Schwachstelle 1: Die App nutzt einen gleichbleibenden, symmetrischen Schlüssel

Leider immer noch sehr häufig in Verwendung - gleichbleibendene, symmetrische Schlüssel.

symmetrische Verschlüsselung

Das Risiko liegt klar auf der Hand. Der Schlüssel muss im Client zu irgendeiner Zeit im Klartext vorliegen und kann ausgelesen werden. Ab diesem Punkt ist jede Verschlüsselung hinfällig - die Kommunikation jedes Clients kann entschlüsselt werden.

Weiterlesen

© buchachon - Fotolia.com

Verschlüsselungsmodus im Detail / Empfehlung

Der heutige Beitrag ist eine Fortsetzung des Beitrags "Grundlagen der Verschlüsselung", es geht etwas mehr in die technischen Details: Der Verschlüsselungsmodus. Der letzte Beitrag dieses Blogs ist etwas länger her, leider habe ich momentan relativ wenig Zeit. Aktuell schreibe ich parallel einen Beitrag über die Absicherung des ngnix Webservers, beim Verfassen des Beitrags habe ich jedoch bemerkt, dass vielen die Relevanz der Auswahl des Verschlüsselungsmodus nicht bewusst ist.

Wird beispielsweise der im folgenden erklärte Electronic Codeblock Mode gemeinsam mit der Verschlüsselung AES in bestimmten Anwendungssituationen genutzt, kann die Verschlüsselung trotz sehr gutem Passwort vollkommen unsicher und leicht zu "knacken" sein.

Die symmetrische Verschlüsselung kann in zwei Grundtypen eingeteilt werden:

  • Blockchiffrierungen, hierbei wird der Klar- und der Chiffretext (das verschlüsselte Gegenstück zum Klartext) blockweise verarbeitet. Ein Block hat eine typische Größe von 64, 128, 192 oder auch 256 bit.
  • Stromchiffrierungen, hierbei wird der Text bitweise (manchmal auch byteweise) verarbeitet.

Der kryptographische Modus ist eine Art Erweiterung der Grundchiffrierung (AES, Serpent, Blowfish, ...) mit einer Rückkopplung und einigen einfachen mathematischen Operationen.

In vielen Anwendungen kann der Modus konfiguriert werden, im Artikel "TLS (SSL) Verschlüsselung und Schwachstellen im Detail" habe ich beispielsweise gezeigt, dass zu Beginn einer verschlüsselten Sitzung eine Cipher Suite ausgehandelt werden muss. Innerhalb der Suite wird auch die Verschlüsselung, die Blockgröße und der Modus festgelegt, z.B.:

  • AES_128_GCM (= Grundverschlüsselung AES, Blockgröße 128 bit und Modus GCM), oder
  • AES_128_CBC.

Auch in vielen Verschlüsselungs-Anwendungen wie OpenVPN oder OpenSSL basierten Programmen kann der Nutzer einen Algorithmus frei wählen. Zur Wahl des am Besten passenden ist jedoch einiges an Hintergrundwissen notwendig, welches ich im Folgenden vermitteln möchte.

Weiterlesen