Ho iniziato a lavorare in una società i cui ingegneri del software hanno cercato di reinventare tutto. Non hanno utilizzato (o conoscono) gli standard del settore e per l'autenticazione usano la loro soluzione personalizzata. La loro "soluzione" mi sembra molto insicura, ma non posso provarli.
La loro soluzione single sign-on è così. Hanno un'applicazione web (portale), tutti autenticano il portale con username e password. Quando desiderano accedere alle altre applicazioni Web dell'azienda, devono fare clic su URL sul portale che puntano ad altri siti Web. Il portale aggiunge una stringa di query agli URL.
La stringa di query include dati segreti generati da password che si trovano su un database condiviso. Quando la pagina di accesso di altre applicazioni Web accetta quelle stringhe di query, decodifica i dati segreti e li confronta con le password sul database. Se tali valori sono uguali a quelli dell'applicazione inoltrata, l'utente autentica. Utilizzano le proprie regole di autorizzazione per applicazione. Dicono che i link prodotti sono utilizzabili solo una volta e scade tra 24 ore.
Penso che ci siano vulnerabilità di sicurezza.
- Usano password reversibili che possono essere decifrate facilmente.
- La stringa di query prodotta può essere visualizzata facilmente nella cronologia web e può essere usato se il primo utente non riesce a connettersi.
- Sospetto che non abbiano un valore salt-secret, probabilmente i dati segreti possono essere riutilizzati.
Esistono altre vulnerabilità di sicurezza apparenti che non conosco ancora. Devo persuaderli con minacce esatte