OMEMO

Aus Jungs.WTF Wiki
Wechseln zu: Navigation, Suche

Ein Schlüsselelement für die sichere Kommunikation ist die Ende-zu-Ende-Verschlüsselung. Die zu übertragenden Nachrichten werden zunächst auf Senderseite verschlüsselt und erst beim Empfänger wieder entschlüsselt. Sowohl OpenPGP, als auch OTR unterstützen die E2E-Verschlüsselung. Allerdings sind sie für das Instant-Messaging denkbar ungeeignet:

  • OTR unterstützt keine offline Nachrichten. Beide Chatpartner müssen online sein, damit der Nachrichtenaustausch über OTR funktioniert.
  • OpenPGP unterstützt keine Folgenlosigkeit.

Eine Darstellung fasst die Unterschiede der Protokolle zusammen: OMEMO.jpg

Aufgrund dieser Defizite entwickelte Trevor Perrin und Moxie Marlinspike das Axolotl-Protokoll, welches in Signal eingeführt wurde. Bei diesem kryptographischen Kommunikationsprotokoll müssen dann eben nicht beide Chat-Partner gleichzeitig online sein – dennoch wird die Folgenlosigkeit gewahrt. Das Protokoll eignet sich wunderbar für den Einsatz im Instant-Messaging.

Folgende kryptografischen Komponente nutzt Axolotl:

  • Schlüsselaustausch: Elliptic Curve Diffie–Hellman (ECDH) mit Curve25519
  • Authentifikation der Nachrichten: Keyed-Hash Message Authentication Code (HMAC) auf der Basis von SHA-256
  • Symmetrische Verschlüsselung: Advanced Encryption Standard (AES), teils im Cipher Block Chaining Mode (CBC) mit Füllbits nach PKCS #5 und teils im Counter Mode (CTR) ohne Füllbits
  • Integrität der Nachrichten: HMAC

Übersetzt bedeutet das: Das Axolotl-Protokoll setzt auf standardisierte und aus heutiger Sicht als sicher geltende Verschlüsselungsbausteine.

Und wie kommt es jetzt zu OMEMO? OMEMO ist nichts anderes als die Implementierung des quelloffenen Axolotl-Protokolls in einen XEP-Standard für das XMPP-Universum. Seit Herbst 2015 ist OMEMO Bestandteil von Conversations.