Inwieweit verbessert ein Ablauf von Kennwörtern die Sicherheit?
Dieses Bild zeigt für einige Szenarien die Beziehung zwischen Zeit und Wahrscheinlichkeit, dass ein Brute-Force-Angriff auf einen Kennworttyp erfolgreich war , abhängig von der regelmäßigen Änderung des Passworts. Die absolute Zeitspanne ist von geringem Interesse. Wie lange es dauert - entweder gibt es keinen großen Unterschied oder die Sicherheitsanfälligkeit ist bereits ziemlich hoch.
Wie bereits von anderen erwähnt, gibt es verschiedene Szenarien, in denen das Ändern des Kennworts hilfreich sein kann:
- a) Benutzer A teilt einem Mitarbeiter B in einer besonderen Situation sein Passwort mit. Später wird B gefeuert. Er könnte jetzt darüber nachdenken, das Passwort von A zu missbrauchen (sein eigenes Konto wird gelöscht, nehmen wir an), aber es könnte einige Zeit dauern (z. B. einen Streit gegen das Unternehmen vor Gericht zu verlieren), bevor er seinen Angriff startet. Hier ist es sehr nützlich, das Passwort zu ändern - aber natürlich nicht von secret2010 zu secret2011.
- b) Der Angreifer hat Zugriff auf die Schattendatei und erzwingt mit einer gewissen Menge an CPU-Leistung ( oder GPU).
Im Fall b) sieht die Richtlinie zum Ändern des Kennworts vernünftig aus, aber Sie profitieren nur, wenn das Risiko, anfällig zu sein, bereits sehr hoch ist. Lassen Sie es mich mit Zahlen erklären:
Angenommen, ein Angreifer versucht 250 000 Kennwörter pro Sekunde. Angenommen, das Kennwort läuft nach 183 Tagen (ca. 6 Monaten) ab. Das Kennwort wird aus a-zA- generiert. Z0-9 mit 62 Zeichen. Angenommen, das Kennwort ist 8 Zeichen lang. Überprüfen Sie, wie wahrscheinlich ein Einbruch nach 10 Jahren ist, was 20 Änderungsintervallen entspricht.
Ich habe ein Programm geschrieben a>, um verschiedene Parameter zu testen; Rufen Sie das Programm mit
java PasswordCrackProb 8 62 250000 s auf. 183 20len = 8signs = 62 Angriffe pro Tag = 21 600 000 000 Austausch nach Tagen = 183 Intervalle = 20 Tage = 3660 Jahre = 10M = 218 340 105 584 896attacks = 79 056 000 000 000p (geknackt) = 0,3620773 ohne changep (geknackt) = 0,3060774 mit change
Das Ergebnis bedeutet, dass es mit einer Wahrscheinlichkeit von 36% geknackt wird, wenn das Kennwort nicht geändert wurde, und mit einer Wahrscheinlichkeit von 31%, wenn es geändert wurde (der Angreifer verfügt jedoch über eine neue Schattendatei). Der Unterschied ist signifikant, und noch mehr, wenn wir 40 Intervalle wie 20 Jahre länger dauern:
p (geknackt) = 0,7241546 ohne changep (geknackt) = 0,5184715 mit Änderung
, aber während 52% viel niedriger als 72% sind, sind 52% möglicherweise nicht akzeptabel.
Wenn wir jedoch kleinere Intervalle betrachten, ist der relative Unterschied zwischen geändert und unverändert Passwörter werden immer kleiner.
p (geknackt) = 0,0905193 ohne Änderungp (geknackt) = 0,0873006 mit Änderung
Wenn Sie mehr annehmen CPU-Leistung oder schwächere Passwörter, die Crack-Zeit wird natürlich kürzer, aber die Anzahl der Angriffe pro Tag ist nicht sehr interessant. Wir müssen davon ausgehen: Wir können den Benutzer nicht zwingen, das Passwort täglich zu ändern. Einige Tage - vielleicht eine Woche - sind also das Minimum. Und wir brauchen kein Maximum länger als 20 Jahre. Systeme ändern sich, Menschen wechseln den Arbeitsplatz. Sie können es nicht vermeiden, das Kennwort nach 20 Jahren zu ändern.
Wenn der Angreifer zu viel Macht hat und den gesamten Namespace an einem einzigen Tag brutal erzwingt, hilft Ihnen eine wöchentliche Änderung nicht viel - er gewinnt immer . Und wenn der Angreifer in 50 Jahren nur 1% des Namespace (für eine bestimmte Kennwortlänge) brutal erzwingen kann, hilft es auch nicht, das Kennwort zu ändern - Sie werden (fast) immer gewinnen.
Nur in einem mittelschweren, ausgewogenen Szenario kann die Kennwortänderung einen Unterschied bewirken. Wissen Sie jedoch wirklich, ob der Bösewicht 1, 10 oder 100 Jahre benötigt, um Ihr Kennwort brutal zu erzwingen?
Aber behalten Sie es Denken Sie daran: Wenn der Angreifer nur einmal Zugriff auf Ihre jetzt abgelaufene Schattendatei hatte, passt der Vergleich aus meinem Programm nicht.