Sono uno sviluppatore di software con un interesse e un livello base di conoscenza sulla sicurezza. Mi sono imbattuto in un sistema di autenticazione che mi "odora male", ma mi manca l'esperienza per sapere se qualcosa non va.
Il sistema software prevede servizi Web per scaricare e caricare dati da / a un database tramite Internet pubblica. Tutte le comunicazioni avvengono tramite HTTPS e un numero intero a 32 bit casuale identifica l'utente. Le richieste provenienti da ID utente sconosciuti vengono eliminate.
Qualcosa su questo sembra debole, ma non sono sicuro di quanto sia debole e se valga la pena sostenere il cambiamento. Suppongo che questo sia equivalente a una password numerica di 5 caratteri alfa (maiuscolo / minuscolo) senza nome utente associato (log62 (4 miliardi) ~ 5) e se la guardo in questi termini sembra completamente anemica.
Il mio istinto su cosa fare per l'autenticazione sarebbe stato esporre un'operazione di servizio web per "logging" che richiede un nome utente / password e restituisce un token di autenticazione (ad esempio un hash crittografico basato sulle credenziali e il ora corrente), che va bene per un certo periodo di tempo o finché l'utente non richiede una disconnessione.
Credo che il mio approccio sia più sicuro soprattutto perché lo spazio delle credenziali è enormemente più grande e perché il token di autenticazione cambia nel tempo, mentre nel sistema attuale lo spazio delle credenziali è piccolo e il token di autenticazione non cambia mai. Ma non ho alcun punto di riferimento ... a quale tipo di avversario sarebbe contrario l'attuale sistema? Che tipo di avversario sarebbe la mia idea fallire contro?
L'argomento a sostegno del sistema attuale è che siamo un piccolo giocatore con piccoli clienti in un grande mondo, quindi non ci aspettiamo di essere attaccati, e se siamo attaccati abbiamo un certo livello di sicurezza. Il mio pensiero è che le minacce alla sicurezza stanno diventando più numerose e più sofisticate abbastanza rapidamente, e ci capita di trovarci in un settore in cui la sicurezza è una preoccupazione. Non voglio dare dettagli qui solo perché potrei mettere in evidenza l'esistenza di un sistema live mal protetto, ma forse qualcuno esperto può parlare alle attuali tendenze in termini di minacce alla sicurezza?
Gradirei qualsiasi input su questo argomento, e se per qualche ragione la mia domanda è inadeguata per favore fammelo sapere così posso aggiornarlo di conseguenza piuttosto che contrassegnarlo per essere chiuso!