In questa pagina viene descritto come utilizzare la funzionalità di rilevamento delle fughe di password di reCAPTCHA per rilevare fughe di password e credenziali violate al fine di prevenire violazioni degli account e attacchi di credential stuffing. Con reCAPTCHA, puoi condurre 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.
reCAPTCHA richiede che la fatturazione sia collegata e abilitata nel progetto per utilizzare la funzionalità di rilevamento della divulgazione di password. Puoi abilitare la fatturazione utilizzando una carta di credito o un ID fatturazione di un progetto Google Cloud esistente. Se hai bisogno di assistenza con la fatturazione, contatta l'assistenza per la fatturazione Cloud.
Controlla le credenziali compromesse e trapelate
Per verificare se un set di credenziali è stato compromesso, utilizza il rilevamento delle fughe di password durante la creazione di valutazioni per azioni come accessi, modifiche delle password e reimpostazione della password.
Per verificare la presenza di fughe di password e credenziali violate, completa i seguenti passaggi:
- Generare i parametri della richiesta.
- Crea una valutazione per rilevare le fughe di password.
- Verifica le credenziali divulgate da una valutazione.
- Interpreta l'esito e intraprendi le azioni necessarie.
Genera parametri della richiesta
Calcola i parametri di richiesta necessari utilizzando le funzioni crittografiche richieste dal protocollo High Privacy. reCAPTCHA fornisce librerie Java e TypeScript per facilitare la generazione di questi campi:
Per creare verifiche dei controlli 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 per 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: credenziali utente criptate Hash di crittografia
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:
curl
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 trapelate da una valutazione
Dalla risposta della 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 necessarie
La risposta della valutazione mostra se le credenziali sono trapelate e ti fornisce informazioni che puoi utilizzare per intraprendere 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 gli utenti |
---|---|
Durante l'accesso |
|
Durante la creazione dell'account o la reimpostazione della password |
|
Se non utilizzi già un provider MFA sul tuo sito, puoi utilizzare la funzionalità MFA di reCAPTCHA.
Esempio di codice
Java
Per eseguire l'autenticazione a reCAPTCHA, configura le 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, configura le 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 reCAPTCHA di reCAPTCHA.