Passwörter, die in einem gut gestalteten und sicheren System gespeichert sind, sollte
immer verschlüsseln (genauer gesagt, * Hashed * mit einer starken Einweg-Funktion). Der Mechanismus und der Zeitpunkt dieser Verschlüsselung variieren jedoch je nach Kontext.
Hier ist ein Zusammenbruch und einige gemeinsame Beispiele:
* Betriebssystemkennwörter (Windows, MacOS, Linux): Wenn Sie Ihr Anmeldekennwort für das Betriebssystem Ihres Computers erstellen oder ändern, hat das Betriebssystem automatisch das Kennwort * vor * gespeichert. Das einfache Textkennwort berührt niemals das Speichermedium.
* Website -Konten (z. B. Google, Facebook, Amazon): Wenn Sie ein Konto auf einer Website erstellen oder Ihr Passwort ändern, sollte die Website * Ihr Passwort sofort auf der serverseitigen Hase vor dem Speichern in ihrer Datenbank. Renommierte Websites folgen dieser Praxis. Der Prozess erfolgt transparent; Du siehst es nicht. Eine * gute * Website speichert Ihr Passwort nie in einfachem Text.
* Datenbanken: Viele Datenbanksysteme bieten Mechanismen zur automatischen Verschlüsselung von Daten, einschließlich Passwörtern, bei der Erstellung oder Änderung. Datenbankadministratoren können diese Einstellungen konfigurieren.
* anwendungsspezifische Passwörter: Wenn eine Anwendung (wie ein Passwort -Manager, ein Softwareprogramm usw.) Passwörter speichert, sollte sie * nach Erstellen/Änderung automatisch verschlüsselt werden.
Wichtige Überlegungen:
* Verschlüsselung vs. Hashing: Der Begriff "Verschlüsselung" wird häufig locker verwendet, aber im Kontext der Kennwortsicherheit Hashing ist der präzisere Begriff. Hashing ist eine * One-Way * -Funktion. Sie können einen Hash nicht leicht umkehren, um das ursprüngliche Passwort zu erhalten. Die Verschlüsselung hingegen ist im Allgemeinen * reversibel * (mit dem richtigen Schlüssel). Das Speichern von Passwörtern als Hashes ist viel sicherer, da die Angreifer auch wenn eine Datenbank beeinträchtigt ist, die ursprünglichen Passwörter nicht leicht wiederherstellen können. Sie werden auf Brute-Force-Angriffe reduziert (probieren Sie viele Passwörter aus und haben sie, um festzustellen, ob sie mit dem gespeicherten Hash übereinstimmen).
* Salzung: Zusätzlich zum Hashing wird ein zufälliger "Salz" -Wert in der Regel zu jedem Passwort vor Hashing hinzugefügt. Dies macht es für Angreifer erheblich schwieriger, vorgefertigte "Regenbogentabellen" oder andere Kennwortverrückungstechniken zu verwenden.
* Die Bedeutung starker Hashes: Nicht alle Hashing -Algorithmen werden gleich geschaffen. Moderne Systeme sollten starke, rechenintensive Hashing -Algorithmen verwenden, wie:
* Argon2
* Bcrypt
* Scrypt
* PBKDF2 (oft in Verbindung mit HMAC-Sha256 oder anderen sicheren Hash-Funktionen verwendet)
* Die Annahme von "sollte": Es ist entscheidend zu verstehen, dass alle oben genannten Systeme *Kennwörter *automatisch verschlüsseln sollten, aber nicht *garantiert *. Sicherheitsverletzungen treten aufgrund schlechter Praktiken auf.
Zusammenfassend: Während nicht alle Passwörter * garantiert * automatisch verschlüsselt werden sollen, sollten ordnungsgemäß gestaltete Systeme bei der Erstellung immer (und normalerweise) Passwörter (HASH) verschlüsseln (normalerweise tun), um die Benutzersicherheit zu schützen. Betriebssystemanmeldungen, Website -Konten und Datenbanksysteme sind Hauptbeispiele für Orte, an denen Sie erwarten, dass automatische Kennworthöhe auftreten.