ADMIN 11/13 stellt die besten Lösungen vor und klärt, ob Browser-Plugins, Anonymisierer sowie Verschlüsselung wirklich helfen. Weitere Themen: Small ... (mehr)

Verschlüsselungsverfahren

Als Public-Key-Algorithmen werden zumeist RSA, RSA-E, RSA-S, ELG-E und DSA angeboten. Am häufigsten wird RSA verwendet. Sein Hauptvorteil ist, dass es Key-Längen bis 4096 Bits gestattet. RSA-768 ist bereits 2010 ausgelaufen, aber schon seit 2007 empfiehlt das amerikanische National Institute of Standards and Technology (NIST) auch 1024 Bit lange Keys zu meiden. Heute sind 2048 Bit der Standard in GPG. RSA-S dient nur zum Unterzeichnen und RSA-E nur zum Verschlüsseln. ELG-E basiert auf dem Diffie-Hellmann-Verfahren für den Schlüsselaustausch aus dem Jahr 1976. Es ist ein Vorläufer von DSA. Verschiedene Key-Längen sind möglich, aber 2048 Bit sind auch hier der Standard. Vor RSA waren DSA (nur zum Unterschreiben) und ELG-E (nur zum Verschlüsseln) die Standardverfahren.

RSA und die Berechenbarkeit

RSA ist einer der am meisten benutzten Kryptografie-Algorithmen, der 1977 von Rivest, Shamir und Adlerman entwickelt wurde (tatsächlich entstand bereits 1973 eine Version im Gouvernment Communications Headquarter, die jedoch bis 1997 geheim gehalten wurde).

RSA ist im Detail mathematisch recht komplex, aber die Grundidee ist die folgende: Man wähle zwei sehr große Primzahlen p und q (mindestens 100 Stellen). Dann multipliziere man p mit q, was eine weitere, sehr große Zahl N ergibt. N wird nun als Public-Key benutzt. Die Sicherheit beruht darauf, dass die Faktorisierung von N in q und p extrem aufwendig ist und es keinen bekannten Algorithmus gibt, der den Weg verkürzen würde. Ein Brute-Force-Angriff, der alle möglichen Faktoren einfach ausprobieren könnte, würde zu lange dauern.

Die größte Zahl, die nach der Brute-Force-Methode je faktorisiert wurde, war 768 Bit lang – man brauchte dafür vier Jahre. Auch 1024 Bit mögen in naher Zukunft angreifbar sein, aber im Moment muss ein solcher Schlüssel als unberechenbar gelten. Für längere Schlüssel gilt das erst recht.

In der Theorie bleiben derzeit zwei Fragen offen: Ob es überhaupt eine bessere Methode für die Faktorisierung großer Zahlen gibt – bisher wurde lediglich keine gefunden. Und ob die Schwierigkeiten bei der Faktorisierung großer Zahlen dieselben sind wie beim Brechen des RSA-Codes. Dieses sogenannte RSA-Problem ist weiter Gegenstand der Forschung.

Cipher-Algorithmus

Unter Cipher wird der symmetrische Key verstanden, mit dem die eigentliche Nachricht verschlüsselt wird. Zur Auswahl stehen Triple-DES, CAST5, Blowfish/Twofish und AES-Varianten.

DES ist seit vielen Jahren der Standard, unterstützt allerdings nur 56 Bit, sodass es nicht mehr als vollkommen sicher gelten kann. Triple-DES vergrößert den Key durch dreimaliges Anwenden von DES auf 3 x 56 = 168 Bit. Wegen einer bekannten Verwundbarkeit beträgt die kryptografische Sicherheit aber nur 112 Bit.

CAST5 ist ein symmetrisches Verfahren mit Schlüsseln von 40 oder 128 Bits. In den meisten Linux-Distributionen ist dieses Verfahren heute der Standard. Weil es keine bekannten Angriffe (außer Brute Force) gibt, beträgt seine kryptografische Sicherheit auch 128 Bit.

Blowfisch kennt Keylängen zwischen 32 und 448 Bits. Die 32 Bits sind sicher nutzlos, aber darüber hinaus lässt sich eine brauchbare Schlüssellänge wählen. Allerdings braucht Blowfish viel Speicher. Twofish ist ein ähnlicher Algorithmus mit Schlüsseln von bis zu 256 Bits, den der Security-Spezialist Bruce Schneier anstelle von Blowfisch empfiehlt.

AES steht für Advanced Encryption Standard und ist heute die NIST-Technologie der Wahl, die DES ersetzen soll. AES benutzt 128, 192 oder 256 Bit lange Schlüssel. Welchen man benutzen soll, darüber herrscht unter Kryptografen keine Einigkeit. Es gibt Angriffe gegen AES-256 und AES-192, die bei AES-128 nicht benutzbar sind. Trotzdem gelten alle diese Verfahren noch als sicher, weil die Angriffe mit sehr hohen Rechenkosten verbunden und damit praktisch nicht anwendbar sind.

AES-128 ist etwas schneller als AES-256, aber praktisch nicht weniger sicher. AES-128-Schlüssel gelten für die nächsten 10 bis 50 Jahre (je nachdem, wen man fragt) als sicher. AES ist heute der offizielle Standard der US-Regierung (AES-128 für die Klassifikation SECRET, AES-192 oder AES-256 für TOP SECRET).

Fügt man nun die Public-Key- und Cipher-Algorithmen zusammen, dann sollte man für höchste Sicherheitsansprüche auf der Public-Key-Seite nicht weniger als 2048 und auf der Cipher-Seite nicht weniger als 128 Bit lange Schlüssel verwenden ( Abbildung 1 ). Eine gute Wahl wäre dann AES (128 oder 256) zusammen mit RSA 2048. Ein noch längerer RSA-Key würde zusätzliche Sicherheit bringen, aber Performance kosten.

Abbildung 1: Die Präferenzen der Autorin.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023