Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Benutzername, Passwort, Salting, Verschlüsselung, Hash – wie funktioniert das alles?

Wenn Sie Captchas ausschließen, Limits, Sperren usw. ausprobieren ... dann ja. Sie müssen nur den Klartext-String brutal erzwingen.

Das dauert jedoch Zeit - Zumindest ist es durch die Rate begrenzt, mit der der Server auf Anmeldeanforderungen antwortet. Selbst wenn der Entwickler keine Maßnahmen zur Verhinderung von Brute Force hinzufügt, kann der Server selbst den Verschlüsselungs- und Verifizierungsprozess nur so schnell durchlaufen und nur eine begrenzte Anzahl paralleler Anfragen verarbeiten.

Aus diesem Grund ist es wichtig,

  • Verwenden Sie als Benutzer ein starkes, schwer zu erzwingendes Passwort
  • Ergreifen Sie als Entwickler geeignete Maßnahmen, um Brute-Force bei Ihrem Anmeldeprozess zu verhindern

Das Hashen und Salten von Passwörtern dient nicht dem Schutz vor Personen, die den natürlichen Anmeldeprozess brutal erzwingen (es gibt andere Dinge, die dagegen schützen). Stattdessen sollen sie vor einer potenziellen Kompromittierung des Passwortspeichers selbst schützen (z. B. wenn jemand den Inhalt der Datenbank ausgibt).

Sowohl Hashing als auch Salting dienen dazu, die Geschwindigkeit zu verringern an dem jemand mit Zugriff auf die gespeicherten Passwörter die Klartextzeichenfolge abrufen kann, die er benötigt, um den natürlichen Anmeldeprozess (Ihrer Website oder anderer Websites) durchlaufen zu können , da Passwörter häufig zwischen Websites geteilt werden), ohne dass Anti-Brute-Force-Sicherheitsmaßnahmen ausgelöst werden.