Cyber Security Academy · Lezione

Rotazione e rilevamento delle chiavi

Ruotare le chiavi e individuare le fughe di dati.

Lezione 4 di 413 passaggi

Rotazione e rilevamento delle chiavi è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.

Perché ruotare le chiavi

La rotazione delle chiavi consiste nel sostituire periodicamente un segreto con uno nuovo e dismettere quello precedente. Anche una chiave conservata perfettamente trae vantaggio dalla rotazione:

  • Limita la finestra di esposizione: se una chiave è trapelata senza essere rilevata, la rotazione la rende inutilizzabile.
  • Riduce l'usura crittografica: diminuisce la quantità di dati cifrati con una singola chiave.
  • Soddisfa i requisiti di conformità: standard come PCI DSS impongono la rotazione periodica.
  • Revoca l'accesso di chi ha lasciato l'organizzazione: le credenziali viste da un ex dipendente diventano inutilizzabili.

L'idea fondamentale è che il valore di un segreto per un attaccante diminuisce quanto più spesso cambia. La rotazione trasforma una fuga di dati da un problema permanente in un problema temporaneo.

Il ciclo di vita della rotazione

La rotazione ingenua, che elimina la vecchia chiave e ne crea una nuova, causa interruzioni, perché i consumer che possiedono ancora la vecchia chiave smettono immediatamente di funzionare. Una rotazione sicura utilizza periodi di validità sovrapposti:

  • 1. Generare una nuova chiave accanto a quella esistente.
  • 2. Distribuire la nuova chiave a tutti i consumer.
  • 3. Attivare la nuova chiave per le nuove operazioni.
  • 4. Periodo di tolleranza: entrambe le chiavi rimangono valide mentre i consumer si aggiornano.
  • 5. Dismettere la vecchia chiave una volta verificato che non venga più utilizzata.

Questa sovrapposizione di due chiavi è il fondamento della rotazione senza downtime.

Rotazione senza interruzioni nella pratica

Per effettuare la rotazione senza interrompere il traffico, i servizi devono accettare sia la chiave precedente sia quella nuova durante il periodo di tolleranza. Un verificatore confronta un token in ingresso con qualsiasi chiave attualmente valida.

Per le chiavi di firma, pubblichi più chiavi pubbliche e indichi quale ha firmato un token tramite un ID della chiave (kid) nell'header. I consumer selezionano automaticamente la chiave corrispondente.

Dismetta la chiave precedente solo dopo che la telemetria ha confermato che non vi è più traffico su di essa.

# A JWKS endpoint publishes multiple valid public keys.
# Tokens carry a 'kid' so verifiers select the right one,
# allowing old and new keys to coexist during rotation.
{
  "keys": [
    { "kid": "2024-q1", "kty": "RSA", "n": "...", "e": "AQAB" },
    { "kid": "2024-q2", "kty": "RSA", "n": "...", "e": "AQAB" }
  ]
}

Automazione della rotazione

La rotazione manuale è rara, soggetta a errori e viene spesso saltata sotto pressione. La automatizzi. Le piattaforme cloud e i vault possono eseguirla secondo una pianificazione senza alcun intervento umano:

  • AWS Secrets Manager esegue una Lambda di rotazione che crea una nuova credenziale, la verifica e la promuove.
  • HashiCorp Vault ruota le credenziali root e rilascia segreti dinamici a breve durata, così la rotazione è continua.
  • Cloud KMS può ruotare automaticamente le chiavi di crittografia a intervalli fissi.

La rotazione automatizzata è anche la risposta più affidabile a una fuga sospetta: un solo comando o una sola pianificazione, applicati ovunque.

# Enable automatic rotation every 30 days in AWS Secrets Manager
aws secretsmanager rotate-secret \
  --secret-id prod/billing/db \
  --rotation-lambda-arn arn:aws:lambda:...:func:rotate-pg \
  --rotation-rules AutomaticallyAfterDays=30

Rotazione delle chiavi di crittografia e delle credenziali

Ruotare una password è semplice: emetterne una nuova e aggiornare i consumer. Ruotare una chiave di crittografia è più complesso, perché i dati esistenti sono stati cifrati con la chiave precedente.

La soluzione standard è la crittografia envelope: i dati vengono cifrati con una chiave dei dati specifica per ogni oggetto, che a sua volta viene cifrata da una chiave master di crittografia delle chiavi (KEK). Per effettuare la rotazione, si ricifrano solo le piccole chiavi dei dati con la nuova KEK, non l'intero dataset.

Il motore Transit di Vault gestisce questo processo tramite chiavi con versione: tiene traccia della versione che ha cifrato ogni ciphertext e consente di ricifrarlo con la versione più recente.

# Rotate a Transit key to a new version
vault write -f transit/keys/orders-key/rotate

# Rewrap old ciphertext under the newest key version
# (cheap - re-encrypts the data key, not the whole payload)
vault write transit/rewrap/orders-key ciphertext='vault:v1:abc...'

Rotazione di emergenza

La rotazione pianificata serve all'igiene operativa; la rotazione di emergenza serve in caso di violazione. Quando una chiave è certamente o probabilmente compromessa, si salta il lento periodo di tolleranza e si effettua subito la rotazione, accettando una breve interruzione se necessario.

La preparazione rende questa situazione gestibile:

  • Mantenga un runbook verificato per ruotare ogni tipo di segreto.
  • Individui in anticipo ogni consumer di ciascun segreto.
  • Predisponga l'automazione, così la rotazione di emergenza richiede un solo comando, non un progetto di ricerca.

La rapidità della rotazione di emergenza determina direttamente l'entità della violazione.

Rilevare le fughe: scansione dei segreti

La rotazione gestisce le fughe note; il rilevamento individua quelle sconosciute. Gli strumenti di scansione dei segreti cercano pattern di credenziali nel codice, nella cronologia, nei log e negli artefatti.

Esegua la scansione a più livelli per una difesa in profondità:

  • Pre-commit bloccare i segreti prima che entrino nel repository.
  • CI pipeline intercettare ciò che ha superato gli hook locali.
  • A livello dell'intero repository eseguire periodicamente scansioni approfondite di tutta la cronologia.
  • Lato piattaforma usare la scansione dei segreti di GitHub/GitLab durante il push.

Strumenti come gitleaks e trufflehog usano regex e analisi dell'entropia per individuare stringhe ad alta casualità che sembrano chiavi.

# CI step: fail the build if a secret is found in the diff
gitleaks detect --source . --redact --exit-code 1

# Verify candidates by testing them live (trufflehog)
trufflehog git file://. --only-verified --json

Entropia e rilevamento dei pattern

Gli strumenti di scansione usano due tecniche complementari:

  • Riconoscimento dei pattern: prefissi e formati noti. Ad esempio, le chiavi AWS iniziano con AKIA, le chiavi live di Stripe con sk_live_ e i token GitHub con ghp_.
  • Analisi dell'entropia: misura della casualità. I segreti reali sono stringhe ad alta entropia; un valore lungo dall'aspetto casuale è sospetto anche senza un prefisso noto.

I pattern offrono precisione (pochi falsi positivi), mentre l'entropia offre recall (intercetta i formati sconosciuti). Gli strumenti validi combinano entrambe le tecniche e consentono di regolare le soglie e le allowlist per gestire il rumore.

# Shannon entropy heuristic: high-randomness strings flag as candidate secrets
# AKIAIOSFODNN7EXAMPLE   -> matches AWS prefix pattern
# 4f8b2c9e1a7d6f3b...    -> flagged by entropy threshold
# 'hello world'          -> low entropy, ignored

Honeytoken: rilevare l'uso, non solo la presenza

La scansione individua i segreti nei luoghi in cui non dovrebbero trovarsi. Un honeytoken (o canary token) rileva quando un segreto viene utilizzato da un attaccante.

Si inserisce una credenziale falsa dall'aspetto realistico, ad esempio una chiave AWS, un token API o una connessione al database, in posizioni allettanti come un file di configurazione o un repository pubblico. La credenziale non è utile per alcuno scopo, ma ogni tentativo di utilizzarla attiva un avviso.

Poiché i sistemi legittimi non accedono mai all'honeytoken, ogni rilevamento è un segnale altamente affidabile di intrusione: un primo avvertimento che l'attaccante ha ottenuto l'accesso all'archivio dei segreti o alla codebase.

# A canary AWS key: looks real, grants nothing, alerts on any API call.
# Plant it in a config file or a fake .env.
# When an attacker tries: aws s3 ls --profile leaked
# the canary service logs the source IP and pages your team.

Monitoraggio degli usi anomali

Oltre agli honeytoken, monitori il modo in cui vengono utilizzati i segreti reali. I log di audit del vault e del provider cloud rivelano pattern di abuso:

  • Nuova area geografica: una chiave viene improvvisamente utilizzata da un Paese imprevisto.
  • Accesso fuori orario: credenziali utilizzate alle 3 di notte, quando non viene eseguito alcun job.
  • Verifica dei privilegi: una chiave di sola lettura tenta operazioni di scrittura o chiamate amministrative.
  • Picchi di volume: un improvviso aumento delle chiamate API.

Invii questi log a un SIEM con sistema di avvisi. Il rilevamento, combinato con una rotazione rapida, è la risposta concreta alle fughe che superano le misure preventive.

Una strategia di rotazione completa

Un programma maturo combina la rotazione proattiva con il rilevamento continuo:

  • Preferisca segreti dinamici a breve durata, così la rotazione è automatica e costante.
  • Automatizzi la rotazione pianificata per tutti i segreti statici inevitabili.
  • Usi la sovrapposizione di due chiavi per ruotare le chiavi di firma senza interruzioni.
  • Esegua scansioni ovunque: pre-commit, CI, cronologia e piattaforma.
  • Distribuisca honeytoken e monitori i log di audit per individuare usi anomali.
  • Mantenga runbook di emergenza, così una fuga confermata può essere gestita in pochi minuti.

L'obiettivo è rendere ogni segreto a breve durata, ogni fuga rilevabile e ogni rotazione rapida e ordinaria.

Verifica rapida

Verifichi la Sua comprensione delle tecniche di rilevamento.

Riepilogo: rotazione delle chiavi e rilevamento

Ha appreso come mantenere aggiornati i segreti e individuare le fughe che superano le misure preventive.

  • La rotazione limita la finestra di esposizione e soddisfa i requisiti di conformità; una rotazione sicura usa una sovrapposizione di due chiavi per evitare interruzioni.
  • Automatizzi la rotazione tramite i gestori cloud, Vault e KMS; preferisca segreti dinamici a breve durata, così la rotazione è continua.
  • La rotazione delle chiavi di crittografia usa la crittografia envelope, così si ricifrano piccole chiavi dei dati, non interi dataset.
  • La rotazione di emergenza dipende dai runbook e dalla conoscenza anticipata di ogni consumer.
  • Il rilevamento combina la scansione dei segreti (pattern ed entropia), gli honeytoken che rivelano l'uso e il monitoraggio delle anomalie tramite log di audit e SIEM.
  • Una strategia matura unisce la rotazione proattiva al rilevamento continuo, così le fughe hanno breve durata, sono visibili e vengono contenute rapidamente.

Questo completa il corso Gestione dei segreti e rotazione delle chiavi.

Gratis per iniziare

Impara Cyber Security Academy con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
76
Lezioni
303

Domande Frequenti

La lezione «Rotazione e rilevamento delle chiavi» è gratuita?

Sì — il testo completo di «Rotazione e rilevamento delle chiavi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.

Cosa imparerò in «Rotazione e rilevamento delle chiavi»?

Ruotare le chiavi e individuare le fughe di dati. Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cyber Security Academy?

Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Rotazione e rilevamento delle chiavi»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?

Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Il problema della proliferazione dei secret
  2. Vault e secret store
  3. Secret dinamici e leasing
  4. Rotazione e rilevamento delle chiavi
← Torna a Cyber Security Academy