Passwörter sicher erzeugen – Teil 2

Zeichenvorrat, Entropie und Schlüssellänge verstehen

Im ersten Teil dieser Reihe ging es darum, warum sichere Passwörter möglichst zufällig erzeugt werden sollten. Wenn man sich mit Passwortgeneratoren – etwa meinem kleinen Projekt gwpgen – beschäftigt, stößt man relativ schnell auf Begriffe wie Zeichenvorrat, Entropie und Bitstärke.

Diese Größen beschreiben letztlich alle dasselbe: Wie viele mögliche Passwörter existieren und wie schwer ist es, das richtige zu erraten?

Schauen wir uns an, wie diese Größen zusammenhängen.

Der Zeichenvorrat

Ein Passwortgenerator arbeitet immer mit einem Zeichenvorrat (engl. character set). Das ist einfach die Menge der Zeichen, aus denen ein Passwort aufgebaut werden darf.

Typische Beispiele:

ZeichenvorratGröße
Ziffern10
Kleinbuchstaben26
Groß- und Kleinbuchstaben52
Buchstaben + Ziffern62
Buchstaben + Ziffern + Sonderzeichenz.B. ~95

Wenn ein Passwort aus einem Zeichenvorrat der Größe N besteht und L Zeichen lang ist, dann existierenNLN^Lmögliche Passwörter.

Beispiel:

  • Zeichenvorrat: Kleinbuchstaben (26)
  • Länge: 8 Zeichen

268=20882706457626^8 = 208\,827\,064\,576

Es gibt also über 208 Milliarden mögliche Passwörter.

Von möglichen Passwörtern zur Entropie

In der Kryptographie beschreibt man die Stärke eines Geheimnisses oft in Bit Entropie.

Die Entropie eines Passworts ist definiert als

H=log2(NL)H = \log_2(N^L)

Mit den Logarithmusgesetzen lässt sich das vereinfachen zu:

H=Llog2(N)H = L \cdot \log_2(N)

Das bedeutet:

  • L = Passwortlänge
  • N = Größe des Zeichenvorrats

Je größer einer der beiden Werte ist, desto höher ist die Entropie.

Logarithmus zur Basis 2 mit dem Taschenrechner berechnen

Viele Taschenrechner besitzen keinen Logarithmus zur Basis 2. Stattdessen gibt es meist nur

  • log (Basis 10)
  • ln (natürlicher Logarithmus)

Zum Glück lässt sich jeder Logarithmus umrechnen:

loga(b)=log(b)log(a)\log_a(b) = \frac{\log(b)}{\log(a)}

Für unsere Entropieformel bedeutet das:

log2(N)=log(N)log(2)\log_2(N) = \frac{\log(N)}{\log(2)}

oder alternativlog2(N)=ln(N)ln(2)\log_2(N) = \frac{\ln(N)}{\ln(2)}

Damit kann man Entropiewerte problemlos mit jedem Taschenrechner berechnen.

Beispielrechnung

Nehmen wir ein Passwort mit

  • Zeichenvorrat: 62 Zeichen (Groß-/Kleinbuchstaben + Ziffern)
  • Länge: 12 Zeichen

Zuerst bestimmen wir

log2(62)\log_2(62)Mit dem Taschenrechner:

log2(62)=log(62)log(2)\log_2(62) = \frac{\log(62)}{\log(2)}log2(62)5,95\log_2(62) \approx 5{,}95

Die Entropie des Passworts beträgt also

H=125,95H = 12 \cdot 5{,}95H71,4 BitH \approx 71{,}4 \text{ Bit}

Das bedeutet: Ein Angreifer müsste im Mittel etwa

2712^{71}

Versuche durchführen, um das Passwort durch reines Durchprobieren zu finden.

Warum Bit-Angaben praktisch sind

Die Bit-Darstellung hat einen großen Vorteil:
Sie beschreibt direkt die Größe des Suchraums.

Entropiemögliche Kombinationen
40 Bitca. 1 Billion
64 Bitca. 1,8 × 10¹⁹
80 Bitca. 1,2 × 10²⁴
128 Bitpraktisch unknackbar mit heutiger Technik

Deshalb wird bei kryptographischen Verfahren meist direkt in Bit-Sicherheit gerechnet.

Zusammenhang für Passwortgeneratoren

Für einen Passwortgenerator ergibt sich damit eine einfache Beziehung:

Entropie=Llog2(N)\text{Entropie} = L \cdot \log_2(N)Man kann also gezielt berechnen:

  • Wie lang ein Passwort sein muss, um eine gewünschte Sicherheit zu erreichen
  • Wie sich ein größerer Zeichenvorrat auswirkt

Ein Passwortgeneratpr könnte entsprechend aus Zeichenvorrat und Passwortlänge die resultierende Entropie berechnen und kann so Passwörter erzeugen, die eine definierte Mindeststärke erreichen.

Fazit

Die Stärke eines Passworts hängt im Wesentlichen von zwei Faktoren ab:

  • Größe des Zeichenvorrats
  • Länge des Passworts

Zusammen bestimmen sie die Entropie und damit die tatsächliche Sicherheit gegen Brute-Force-Angriffe.

Die zentrale Formel lautet:

H=Llog2(N)H = L \cdot \log_2(N)

Mit der Logarithmus-Umrechnung

log2(N)=log(N)log(2)\log_2(N) = \frac{\log(N)}{\log(2)}

lässt sich das sogar problemlos mit einem einfachen Taschenrechner nachvollziehen.

Im nächsten Teil schauen wir uns an, welche Entropiewerte in der Praxis sinnvoll sind und wie man daraus konkrete Passwortlängen ableiten kann.

Schreibe einen Kommentar


PHPCo.de
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.