Tratta un numero di conto segreto come una credenziale: verificalo
Se conoscere il numero fa accedere qualcuno o scarica una configurazione, è una credenziale. Esegui i controlli su autorità, archiviazione, resistenza ai tentativi e rotazione.
Un campo etichettato come numero di conto non è automaticamente un riferimento pubblico, e l’etichetta non è la prova. La prova è ciò che il possesso consente: se conoscere il numero fa accedere qualcuno, scarica un profilo di connessione o autorizza un dispositivo, quel numero è una credenziale con un ciclo di vita. Eseguo i cinque controlli seguenti ogni volta che un servizio rilascia un’identità numerica e la definisce innocua. Ognuno produce una riga in un breve verbale, e il verbale è il risultato, non un verdetto sul prodotto.
Inventaria ciò che il possesso concede davvero
Annota separatamente ogni azione che il numero sblocca. Accedere a un portale, recuperare un file di configurazione, autorizzare un nuovo dispositivo e fornire un accesso tunnel accettato sono autorità diverse, e un servizio può implementarne una senza le altre. Un portale che accetta il numero come unico campo non ti dice nulla su come il tunnel autentica il proprio peer in seguito né su come vengono derivate le chiavi di traffico.
Il modello generale è facile da enunciare: una credenziale bearer è quella che il titolare può usare senza dimostrare il possesso di una chiave crittografica separata, che è la distinzione che RFC 6750 traccia per i token. È un confronto, non l’affermazione che un servizio basato su un numero implementi OAuth. Se il titolare non ha bisogno di altro, tratta il numero come un segreto bearer e classifica il resto del progetto di conseguenza.
Proteggilo come un segreto, non come un riferimento
L’archiviazione deriva dalla classificazione. Un valore che fa accedere appartiene a un gestore di password, non a uno screenshot, alla cronologia degli appunti, a un messaggio di chat o a una nota del browser. Gli screenshot sono la fuga abituale: il numero è breve e sembra innocuo, quindi finisce in un thread di assistenza che sopravvive al dispositivo da cui proviene.
Il phishing è l’altro modo di fallire, e non gli importa quanto sia casuale il numero. Un impostore che vuole il valore ti chiederà di incollarlo in un modulo, e una credenziale che non scade mai e non ha un secondo fattore vale lo sforzo. Raggiungi il percorso di accesso da un segnalibro o da un indirizzo noto, non da un link in un messaggio che chiede anche il numero.
Tratta il materiale di recupero come parte del segreto. Se l’operatore ha emesso anche un codice di recupero, un PIN o un indirizzo e-mail che può reimpostare l’account, sono credenziali separate con lo stesso requisito di protezione. Un solo canale di reimpostazione non protetto trasforma ogni altro controllo in decorazione.
Controlla insieme la resistenza ai tentativi e la limitazione della frequenza
La lunghezza ha senso solo accanto al metodo di generazione. Un numero lungo prodotto da una sequenza prevedibile è più debole di un valore breve prodotto da un generatore crittografico, e un numero impressionante di cifre non stabilisce l’imprevedibilità. Chiedi come viene generato il valore prima di ragionare su quanto sia difficile indovinarlo.
La sola resistenza ai tentativi non sopravvive nemmeno a una frequenza di tentativi illimitata. I controlli che contano sono quelli che l’operatore implementa: contatori dei tentativi falliti, blocchi, limitazione per origine e se un numero errato è distinguibile da uno inesistente. Se il servizio lo supporta, un tentativo fallito ti mostra com’è l’errore e se compare un contatore di nuovi tentativi:
# one attempt, then read the response and any counter or delay
# do not script repeated guesses against a live account
curl -i -X POST https://portal.example.invalid/login -d "account=000000000000"
Registra che cosa rivela la risposta. Un errore distinto per un account sconosciuto è un oracolo di enumerazione anche quando il numero è inimmaginabile, e quel risultato appartiene al verbale, che tu possa correggerlo lato client o no.
Pianifica la rotazione e la revoca prima di averne bisogno
Trova la procedura supportata per un numero perso o esposto e annotala mentre tutto funziona. La credenziale dell’account può essere sostituita? La sostituzione invalida i dispositivi già registrati, le sessioni attive o la configurazione scaricata? Quale materiale di recupero richiede la procedura? Un servizio senza dipendenza dall’e-mail può trasferire più responsabilità di recupero all’utente, il che rende la procedura più importante, non meno.
Separa la sostituzione dell’account dalla revoca della credenziale. Se il numero autorizza il download di una chiave, di un certificato o di un profilo, sostituire il numero può lasciare valido quel materiale scaricato, e revocare il materiale scaricato può essere un’operazione diversa con un proprietario diverso. Non dare per scontato che un campo modificato termini ogni connessione; verifica il modello effettivo dell’operatore e annota dove l’hai verificato.
Documenta la decisione e ricontrollala in seguito
Tieni un verbale di una pagina per servizio: quali autorità concede il numero, dove è archiviato, chi può reimpostarlo, quali prove d’uso esistono e che cosa faresti nella prima ora dopo una divulgazione. Quel verbale è ciò che trasforma una discussione sulla terminologia in una decisione che qualcuno può verificare.
Le affermazioni sulla privacy hanno bisogno di un proprio ambito. Un numero generato casualmente può comunque essere un identificatore stabile che collega eventi dell’account nel tempo; l’imprevedibilità non è la non collegabilità, e nessuna delle due proprietà dice nulla sui metadati di rete conservati. Confronta progetti completi invece di contare i campi su una schermata di accesso.
Prima di archiviarlo:
- Sono elencate tutte le autorità che il numero concede, compresi i download e l’autorizzazione dei dispositivi.
- I canali di archiviazione e recupero sono protetti con lo stesso standard del numero stesso.
- Il metodo di generazione e i limiti di frequenza sono noti, non presunti dalla lunghezza.
- Esistono una procedura di sostituzione e una di revoca, e sai quale annulla quale.
- Il verbale indica chi può reimpostare il valore e quali prove restano dopo l’uso.