Questa pagina descrive come utilizzare la funzionalità di rilevamento di fughe di password di reCAPTCHA Enterprise per rilevare le fughe di password e le credenziali violate per prevenire violazioni degli account (ATO) e attacchi di credential stuffing. Con reCAPTCHA Enterprise, puoi eseguire controlli regolari delle credenziali utente (password) nell'ambito di qualsiasi valutazione per assicurarti che non siano state divulgate o violate. Per eseguire queste valutazioni, Google utilizza la funzionalità Controllo password.
Prima di iniziare
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
Per usare la funzionalità di rilevamento di fughe di password, reCAPTCHA Enterprise richiede che la fatturazione sia collegata e abilitata al progetto. Puoi abilitare la fatturazione utilizzando una carta di credito o un ID fatturazione del progetto Google Cloud esistente. Se hai bisogno di aiuto con la fatturazione, contatta l'assistenza per la fatturazione Cloud.
Controlla la presenza di credenziali violate e divulgate
Per verificare se un set di credenziali è stato compromesso, utilizza il rilevamento di fughe di password durante la creazione di valutazioni per azioni come accessi, modifiche alle password e reimpostazioni delle password.
Per verificare la presenza di fughe di password e credenziali violate, segui questi passaggi:
- Genera i parametri della richiesta.
- Crea una valutazione per rilevare le fughe di password.
- Verificare le credenziali divulgate da una valutazione.
- Interpreta l'esito e intraprendi le azioni.
Genera parametri della richiesta
Calcola i parametri della richiesta necessari utilizzando le funzioni crittografiche richieste dal protocollo con privacy elevata. reCAPTCHA Enterprise fornisce librerie Java e TypeScript per facilitare la generazione di questi campi:
Per creare verifiche del controllo delle password, crea un oggetto
PasswordCheckVerifier
.PasswordCheckVerifier verifier = new PasswordCheckVerifier();
Per avviare una verifica, chiama il numero
PasswordCheckVerifier#createVerification
. Questo metodo utilizza il nome utente e la password per calcolare i parametri ed eseguire il controllo delle password.PasswordCheckVerification verification = verifier.createVerification("username", "password").get();
Crea una valutazione utilizzando i parametri di verifica.
byte[] lookupHashPrefix = verification.getLookupHashPrefix(); byte[] encryptedUserCredentialsHash = verification.getEncryptedUserCredentialsHash();
Gli array di byte
lookupHashPrefix
eencryptedUserCredentialsHash
contengono i parametri necessari per avviare un controllo delle passwordAssessment
.
Crea una valutazione per rilevare le fughe di password
Utilizza il metodo projects.assessments.create
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID del tuo progetto Google Cloud
- LOOKUP_HASH_PREFIX: prefisso del prefisso hash SHA-256 del nome utente
- ENCRYPTED_USER_CREDENTIALS_HASH: hash di crittografia delle credenziali utente criptate
Metodo HTTP e URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/assessments
Corpo JSON della richiesta:
{ "private_password_leak_verification": { "lookup_hash_prefix": "LOOKUP_HASH_PREFIX", "encrypted_user_credentials_hash": "ENCRYPTED_USER_CREDENTIALS_HASH" } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
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
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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="] } }
Verificare le credenziali divulgate da una valutazione
Dalla risposta di valutazione, estrai i campi reEncryptedUserCredentials
e encryptedLeakMatchPrefixes
e passali all'oggetto verificatore per determinare se le credenziali sono trapelate o meno.
PasswordCheckResult result = verifier.verify(verification,
result.getReEncryptedUserCredentials(),
result.getEncryptedLeakMatchPrefixes()
).get();
System.out.println("Credentials leaked: " + result.areCredentialsLeaked());
Interpreta l'esito e intraprendi le azioni
La risposta della valutazione mostra se le credenziali sono state divulgate e fornisce informazioni che puoi utilizzare per intraprendere le azioni appropriate per proteggere i tuoi utenti.
La seguente tabella elenca le azioni consigliate che puoi intraprendere quando viene rilevata una password divulgata:
Password divulgata rilevata | Azioni per proteggere l'utente |
---|---|
Durante l'accesso |
|
Durante la creazione dell'account o la reimpostazione password |
|
Se non utilizzi già un provider MFA sul tuo sito, puoi utilizzare la funzionalità MFA di reCAPTCHA Enterprise.
Esempio di codice
Java
Per eseguire l'autenticazione a reCAPTCHA Enterprise, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js (TypeScript)
Per eseguire l'autenticazione a reCAPTCHA Enterprise, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Passaggi successivi
- Scopri come utilizzare l'autenticazione a più fattori (MFA)
- Scopri come proteggere gli account utente utilizzando Account defender di reCAPTCHA Enterprise