Auf dieser Seite wird beschrieben, wie Sie mit der Funktion „Password Defense“ von Fraud Defense Passwortlecks und gehackte Anmeldedaten erkennen können, um Kontoübernahmen (Account Takeovers, ATOs) und Credential Stuffing-Angriffe zu verhindern. Mit Fraud Defense können Sie im Rahmen jeder Bewertung regelmäßig Audits von Nutzeranmeldedaten (Passwörtern) ausführen, um sicherzustellen, dass sie nicht manipuliert oder gehackt wurden. Zur Durchführung dieser Bewertungen verwendet Google die Passwortcheck-Funktion.
Hinweis
Bereiten Sie Ihre Umgebung für Google Cloud Fraud Defense vor.
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Für Fraud Defense muss die Abrechnung mit dem Projekt verknüpft und für dieses aktiviert sein, damit die Funktion „Password Defense“ verwendet werden kann. Sie können die Abrechnung entweder mithilfe einer Kreditkarte oder anhand einer vorhandenen Google Cloud Abrechnungs-ID für das Projekt aktivieren. Wenn Sie Hilfe bei der Abrechnung benötigen, wenden Sie sich an den Cloud Billing-Support.
Auf gehackte und geleakte Anmeldedaten prüfen
Sie können prüfen, ob ein Satz Anmeldedaten manipuliert wurde, indem Sie kryptografische Funktionen oder den Docker-Container verwenden.
Der Docker-Container ist ein Open-Source-Client, der die Multi-Party Computation implementiert, die erforderlich ist, um die Privatsphäre von Endnutzern zu schützen und sicher nach Passwortlecks zu suchen. Weitere Informationen finden Sie im GitHub-Repository. Der Docker-Container abstrahiert die Komplexität der Implementierung der kryptografischen Algorithmen und vereinfacht den Installationsprozess. Außerdem können Sie die Container-App in Ihrer Infrastruktur hosten.
Kryptografische Funktion
Wenn Sie prüfen möchten, ob ein Satz Anmeldedaten manipuliert wurde, verwenden Sie Password Defense, wenn Sie Bewertungen für Aktionen wie Anmeldungen, Passwortänderungen und Passwortzurücksetzungen erstellen.
So prüfen Sie auf Passwortlecks und gehackte Anmeldedaten:
- Anfrageparameter generieren.
- Bewertung zum Erkennen von gehackten Passwörtern erstellen.
- In Bewertung erkannte gehackte Anmeldedaten überprüfen.
- Urteil interpretieren und Maßnahmen ergreifen.
Anfrageparameter generieren
Berechnen Sie die erforderlichen Anfrageparameter mit den kryptografischen Funktionen, die für das Protokoll mit hohem Datenschutz erforderlich sind. Password Defense bietet Java- und TypeScript-Bibliotheken, die Sie beim Generieren dieser Felder unterstützen:
Erstellen Sie ein
PasswordCheckVerifier-Objekt, um Passwortprüfungen zu erstellen.PasswordCheckVerifier verifier = new PasswordCheckVerifier();Rufen Sie
PasswordCheckVerifier#createVerificationauf, um eine Überprüfung zu starten. Diese Methode verwendet den Nutzernamen und das Passwort, um die Parameter für die Passwortprüfung zu berechnen.PasswordCheckVerification verification = verifier.createVerification("username", "password").get();Erstellen Sie eine Bewertung mit den Überprüfungsparametern.
byte[] lookupHashPrefix = verification.getLookupHashPrefix(); byte[] encryptedUserCredentialsHash = verification.getEncryptedUserCredentialsHash();Die Byte-Arrays
lookupHashPrefixundencryptedUserCredentialsHashenthalten die Parameter, die zum Starten einer PasswortprüfungAssessmenterforderlich sind.
Bewertung zum Erkennen von gehackten Passwörtern erstellen
Verwenden Sie die
projects.assessments.create
Methode.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud Projekt-ID
- LOOKUP_HASH_PREFIX: Präfix des SHA-256-Hash-Präfixes des Nutzernamens
- ENCRYPTED_USER_CREDENTIALS_HASH: verschlüsselter Scrypt-Hash der Anmeldedaten des Nutzers
HTTP-Methode und URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments
JSON-Text der Anfrage:
{
"private_password_leak_verification": {
"lookup_hash_prefix": "LOOKUP_HASH_PREFIX",
"encrypted_user_credentials_hash": "ENCRYPTED_USER_CREDENTIALS_HASH"
}
}
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"name": "projects/698047609967/assessments/fb22000000000000",
"score": 0,
"reasons": [],
"privatePasswordLeakVerification": {
"lookupHashPrefix": "zoxZwA==",
"encryptedUserCredentialsHash": "AyRihRcKaGLj/FA/r2uqQY/fzfTaDb/nEcIUMeD3Tygp",
"reencryptedUserCredentialsHash": "Aw65yEbLM39ww1ridDEfx5VhkWo11tzn/R1B88Qqwr/+"
"encryptedLeakMatchPrefixes": [
"n/n5fvPD6rmQPFyb4xk=", "IVQqzXsbZenaibID6OI=", ..., "INeMMndrfnlf6osCVvs=",
"MkIpxt2x4mtyBnRODu0=", "AqUyAUWzi+v7Kx03e6o="]
}
}
In Bewertung erkannte gehackte Anmeldedaten überprüfen
Extrahieren Sie aus der Bewertungsantwort die Felder reEncryptedUserCredentials und encryptedLeakMatchPrefixes und übergeben Sie sie an das Verifiziererobjekt, um festzustellen, ob die Anmeldedaten geleakt wurden.
PasswordCheckResult result = verifier.verify(verification,
result.getReEncryptedUserCredentials(),
result.getEncryptedLeakMatchPrefixes()
).get();
System.out.println("Credentials leaked: " + result.areCredentialsLeaked());
Codebeispiel
Node.js (TypeScript)
Informationen zum Implementieren von Password Defense mit Node.js (TypeScript) finden Sie im TypeScript-Codebeispiel auf GitHub.
Java
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Fraud Defense zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.