Neuer Thread
Ansicht umschalten Baum an
Avatar von /mecki78
  • /mecki78

mehr als 1000 Beiträge seit 03.07.2004

RC4 in Firefox abschalten - so geht's

RC4 lässt sich in Firefox natürlich clientseitig abschalten. So
wird's gemacht:

1. Neues Firefox Fenster öffnen

2. In die Adresszeile about:config eintippen

3. Firefox versprechen, dass man vorsichtig ist ;-)

4. In das Filter/Such-Feld rc4 eintippen.

5. Bei allen gefunden Einträgen, deren Namen mit "security.ssl3."
beginnen den Wert auf "false" ändern (Doppelklick auf den Eintrag
reicht dafür).

Wer jetzt auch noch darauf bestehen will, dass PFS (Perfect Forward
Secrecy) verwendet werden soll, der macht folgendes:

1. Neues Firefox Fenster öffnen

2. In die Adresszeile about:config eintippen

3. Firefox versprechen, dass man vorsichtig ist ;-)

4. In das Filter/Such-Feld rsa eintippen.

5. Bei allen gefunden Einträgen, deren Namen mit "security.ssl3."
beginnen, und bei denen weder "ecdhe" noch "dhe" Bezeichner
auftauchen, den Wert auf "false" ändern (Doppelklick auf den Eintrag
reicht dafür).

Wer nicht weiß was PFS ist, hier eine (ver)einfach(t)e, nicht
technische Erklärung:

Bei einer SSL/TLS Verbindung (also die Verbindungen, die mit HTTPS
anfangen und gesichert sind) wird für die Verbindung ein
Sitzungsschlüssel (Session Key) erzeugt. Mit diesem Schlüssel werden
alle übertragenden Daten gesichert. Dabei funktioniert das System so,
dass ein Seite den Schlüssel erzeugt (wie auch immer, kann einfach
eine Zufallszahl sein) und dann diesen Schlüssel "verschlüsselt"
überträgt; hierbei kommt ein Private/Public-Key Verfahren zum
Einsatz, d.h. der Sitzungsschlüssel wird mit einem Public
(öffentlichen) Key verschlüsselt und dann zur Gegenstelle geschickt,
die den Schlüssel mit dem dazu passenden Private (privaten) Key, den
nur sie kennt (der hat den lokalen Computer nie verlassen!), wieder
entschlüsselt. Jetzt kennen beide Seiten den Sitzungsschlüssel und
alle weitere Verschlüsselung erfolgt nun über den, weil hier
"symmetrisch" verschlüsselt wird (was viel schneller und einfacher
ist als ein Public/Private-Key Verfahren).

Alles schön und gut, aber die Sache hat einen Haken: Nehmen wir mal
an, jemand zeichnet die ganze Sitzung auf, dann nützt ihn das erst
einmal nichts. Er kennt den Sitzungsschlüssel nicht, kann also die
Daten nicht entschlüsseln. Der Sitzungsschlüssel wurde zwar selber
auch übertragen, aber verschlüsselt und er kennt dummerweise den
Private Key nicht, um ihn zu entschlüsseln... d.h., NOCH NICHT! Was
aber, wenn er irgendwie in einem halben Jahr an den privaten
Schlüssel heran kommt (weil er den Server hackt, weil er einen
Gerichtsbeschluss hat, weil er für die NSA arbeitet)? Dann kennt er
den privaten Schlüssel, mit dem kann er jetzt den Sitzungsschlüssel
entschlüsseln und damit kann er dann alle Daten der Sitzung
entschlüsseln. Game Over! Mag sein, dass das ein halbes Jahr oder ein
Jahr gedauert hat, aber am Ende hat er die Daten.

Genau das verhindert PFS: Bei PFS errechnen beide Seiten gemeinsam
einen Sitzungsschlüssel, d.h. ohne dass dieser selber jemals
übertragen wird(!), und dabei senden sie nur Daten hin und her, die
jeder gerne mitlesen darf, weil nur anhand dieser Daten ist es
nämlich nicht möglich, den Sitzungsschlüssel zu errechnen. D.h. auch
wenn jemand ein Jahr später Zugriff auf den privaten Schlüssel eines
Serverzertifikates bekommt, nützt ihn das gar nichts wenn es darum
geht, aufgezeichnete Verbindungen der Vergangenheit zu entschlüsseln,
weil auch damit kommt er nicht an den Sitzungsschlüssel. Nachteil von
PFS ist der, dass das errechnen eines Sitzungsschlüssel natürlich
eine aufwendige und teure Operation ist, was jetzt beim Rechner
daheim kein so großes Problem darstellt, aber ggf. beim Server, der
vielleicht 1000 solcher Keys die Minute errechnen muss, wenn er
entsprechend viele gesicherte Zugriffe die Minute hat! Und das geht
alles zur Lasten der Servergeschwindigkeit (schließlich hat der ja
auch noch eine andere Aufgabe zu erfüllen, als nur solche Keys zu
errechnen).

Aber Vorsicht: Wenn man in Firefox RC4 abschaltet bzw. PFS erzwingt,
dann kann man ggf. zu einigen Servern keine Verbindung mehr
herstellen, wenn die nur RC4 erlauben oder kein PFS beherrschen!
Normalerweise muss man hier nichts umstellen, außer man ist der
Meinung "Lieber gar keine Verbindung als eine unsicherer!" (so was
muss jeder für sich entscheiden - wie Bruce gesagt hat, auch
schlechte Verschlüsselung ist besser als gar keine!)

Natürlich ist Firefox von Haus aus "schlau" und wenn ein Server ein
PFS Verfahren anbietet, wird das immer allen nicht-PFS Verfahren
vorgezogen. Auch zieht Firefox AES immer RC4 vor, wenn ein Server das
anbietet. 

Kleines Update:
Wer genau wissen will, wie sicher eine SSL Verbindung zu einem Server
gerade ist und ob RC4 bzw. PFS genutzt wird oder nicht, der möchte
vielleicht folgendes AddOn installieren:

https://addons.mozilla.org/de/firefox/addon/calomel-ssl-validation

Das erlaubt es auch einige Einstellungen von Firefox zu ändern
(Sicherheit und Performance) ohne über about:config gehen zu müssen.

/Mecki

Bewerten - +
Anzeige