Esistono rischi per la sicurezza associati all'uso di OpenID come metodo di autenticazione sul mio sito?

StackOverflow https://stackoverflow.com/questions/182258

  •  05-07-2019
  •  | 
  •  

Domanda

OpenID è un metodo sicuro di autenticazione degli utenti su un sito Web?

E, in caso contrario, quali sono i rischi per la sicurezza associati a OpenID?

È stato utile?

Soluzione

In realtà non ho mai apprezzato OpenID per vari motivi.

  • Devo fidarmi del provider OpenID a cui ho fornito i miei dati. Mi fido di certi lati in una certa misura, ma solo perché posso fidarmi di Stack Overflow, non mi fido automaticamente di nessuno dei noti provider OpenID.

    1. Se la mia password OpenID è compromessa, tutti i miei siti in cui utilizzo OpenID sono compromessi. Di solito sceglierei una password diversa per ogni sito che sto usando, ma non posso farlo con OpenID.

    2. Non mi piace per niente il concetto di Persona. Anche se mi viene chiesto prima che vengano inviati dati, non sembra giusto che un fornitore disponga di tali informazioni e che altri servizi possano richiederle. Ok, non devo usarlo se non mi piace, ma il concetto mi sembra imperfetto.

    3. Come già accennato, i dati vengono inviati tra un sito e il provider OpenID e viceversa. Ogni volta che i dati vengono scambiati, possono essere compromessi. Nessun sistema è sicuro al 100%; nemmeno SSL (HTTPS). È una differenza se i dati viaggiano solo da me a un lato e viceversa o se viaggiano anche da quel lato a un altro e viceversa.

    4. Se un provider OpenID viene violato e l'hacker ottiene i dati di accesso di tutti gli utenti (dopotutto sono centralizzati in un unico posto!), pensa all'impatto!

Solo per citarne alcuni. Inoltre non riesco a vedere il grande vantaggio di OpenID. Per l'utente dicono

  1. Più veloce e amp; registrazione e accesso più facili
    • Frustrazione ridotta dal nome utente / password dimenticati
    • Conserva i dati personali correnti sui siti preferiti
    • Riduci al minimo i rischi per la sicurezza delle password

Va ??bene, analizziamolo.

(1) Quanto spesso ti registri per una pagina al giorno? 200 volte? Se mi registro per 2 pagine a settimana, è già un casino. Di solito piuttosto per 2-3 al mese (in realtà Stack Overflow, o il mio provider OpenID per utilizzare Stack Overflow, è stata l'ultima pagina che ho registrato e questa non era del tutto ieri). Quindi, quando ti registri per 2 siti al mese, non hai i 5 minuti necessari per compilare un modulo? Dai, non essere ridicolo.

(2) Come? Perché usa la stessa password ovunque? "Questo non è un futuro, questo è un bug", direbbe la maggior parte degli esperti di sicurezza. O perché mi consente di recuperare la mia password via mail? Bene, in realtà quasi ogni parte che uso mi consente di farlo. Nonostante ciò, il mio Firefox ricorda abbastanza bene le mie password, le memorizza crittografate su disco (usando una password principale) e questo database crittografato viene regolarmente sottoposto a backup per non perdersi mai.

(3) Bene, questo è probabilmente qualcosa di positivo ... tuttavia, il mio nome non è mai cambiato finora, il mio indirizzo e-mail non cambierà in quanto è uno dei domini che utilizzo e inoltrato a un indirizzo reale ( così quello reale può cambiare, aggiorno semplicemente il forward e tutto funziona come prima). Il mio indirizzo? Bene, alcune persone si muovono molto. Finora mi sono trasferito solo una volta in tutta la mia vita. Tuttavia, la maggior parte delle parti non ha bisogno di conoscere il mio indirizzo. I siti in cui non vedo alcun motivo per far conoscere queste informazioni alle persone, ma che mi richiedono di compilarle per la registrazione, ne ottengo solo una falsa. Ci sono pochissimi siti su Internet che conoscono il mio vero indirizzo (in realtà solo quelli che potrebbero mai dovermi spedire una posta ordinaria o dove potrei ordinare merci).

(4) In realtà lo vedo al contrario. Massimizza il rischio per la sicurezza. Come ridurre al minimo il rischio?

Altri suggerimenti

Sono d'accordo con molti dei punti sopra citati da David, quindi sto facendo alcuni punti qui solo per ragioni.

Per l'utente esperto, direi che OpenID è una forma di autenticazione più sicura rispetto a quella fornita da molti siti Web. Ora lasciami sostenere questa affermazione. Innanzitutto cosa intendo per un utente esperto ? Definirei quella persona come qualcuno che è consapevole delle debolezze di OpenID e che adotta misure per mitigarle:

  • Mantiene più persone se non desiderano che i siti Web siano in grado di seguirle in modo efficace.
  • Registra due o più provider OpenID su siti Web in cui l'accesso 24/7 è un problema.
  • Accede sempre direttamente al proprio provider OpenID. Non accedono mai a una pagina a cui un sito Web di terze parti li ha reindirizzati.

Molti siti Web non sanno come conservare in modo sicuro le password degli utenti . La cosa veramente bella con OpenID è che I riesco a scegliere il mio provider OpenID e quindi il livello di autenticazione necessario per accedere a una parte fidata. Ad esempio, posso scegliere di delegare l'autenticazione a Verisign o Trustbearer - entrambi offrono tecniche di autenticazione molto più efficaci della maggior parte dei siti Web sul Web. Preferirei di gran lunga fidarmi di un'organizzazione specializzata in sicurezza con la mia password piuttosto che di un sito Web casuale sul Web. Quindi direi che OpenID può essere più sicuro di ogni sito web che implementa il proprio sistema di autenticazione.

Detto questo, la maggior parte degli utenti non è a conoscenza dei fattori di rischio inerenti a OpenID e non prenderà le misure necessarie per mitigare i rischi.

OpenID è intrinsecamente insicuro. Funziona dal tuo sito reindirizzando l'utente al sito del provider di ID aperto e quindi accettando un ID di ritorno da quel sito. Ciò fornisce insicurezze in entrambe le direzioni. Devi fidarti dell'ID che ritorna (poiché non hai modo di autenticare l'utente da solo) ed è facile utilizzare un proxy per il provider di ID aperto dell'utente, che ti consente di rubare il loro nome utente e password.

OpenID va bene per qualcosa come Stack Overflow, dove non importa davvero se qualcuno ti impersona. Utilizzo di OpenID per i siti con più gravi & # 8211; a livello personale & # 8211; il contenuto è estremamente rischioso. Se ad esempio usi OpenID per la tua e-mail, chiunque ruba il tuo ID può accedere alla tua e-mail. A loro volta potrebbero quindi inviare richieste di promemoria password ad altri siti utilizzati per ottenere password per tali siti. Nel peggiore dei casi, potresti utilizzare OpenID per un conto bancario o avere una banca che invia promemoria password al tuo account e-mail ...

Esistono numerosi altri problemi di sicurezza con OpenID. Puoi trovare ulteriori informazioni in " Privacy su Internet " .

OpenID aggiunge un'altra parte al processo di autenticazione che devi considerare come un componente attendibile. È abbastanza simile al riguardo a qualsiasi applicazione che consente il recupero dell'account tramite e-mail, ma mentre i tuoi messaggi e-mail sono trasmessi in chiaro, puoi scegliere di comunicare con i provider OpenID solo tramite connessioni HTTPS verificate.

Esamina la sezione Considerazioni sulla sicurezza delle specifiche.

Per un'ottima descrizione dei punti deboli di OpenID e una dimostrazione di come un buon provider OpenID possa offrire un'esperienza molto più sicura della tradizionale password facilmente phishing, vedere questo breve video di Kim Cameron dal suo Identity Weblog .

OpenID può essere reso più sicuro se si sceglie di ignorare tutti i provider OpenID che non supportano HTTPS

Penso che il principale punto debole della maggior parte dei provider OpenId sia che offrono il recupero della password via e-mail. Ciò riduce la sicurezza di OpenId alla sicurezza del mio provider di posta elettronica. Se qualcuno ottiene l'accesso al mio account di posta elettronica, può rubare efficacemente la mia identità (con o senza OpenId).

L'uso di OpenId per l'autenticazione semplifica il furto di identità ym. Accedi al mio account e-mail e reimposta la mia password OpenId. Nient'altro da fare (invece di 100 richieste di reimpostazione della password, una per ciascuno dei miei account sul web).

Ancora peggio, se l'attaccante cambia la password del mio account e-mail, sarà molto difficile per me dimostrare che sono il proprietario originale di quell'account OpenId. L'utente malintenzionato potrebbe modificare l'account e-mail associato al suo, quindi non posso reimpostare la password anche se in seguito dovessi recuperare il mio account e-mail.

Potrebbe essere sufficiente accedere all'e-mail di recupero della password inviata dal mio provider OpenId per rubare la mia identità.

I provider OpenId devono offrire la disabilitazione del recupero della password e-mail e fornire un modo più sicuro per recuperare una password persa. Qualcosa basato sull'indirizzo postale, passaporto o conto bancario (cose di cui mi fido più di un account di posta elettronica).

Finché un account OpenId può essere acquisito semplicemente accedendo a una singola e-mail non è altro che un singolo punto di errore aggiuntivo.

Vedi anche: http://danielmiessler.com/blog/from-password-reset-mechanisms-to-openid-a-brief-discussion-of-online-password-security dove " Il link più debole: Email Meccanismi di reimpostazione password " è anche indirizzato.

Mentre questa discussione è vecchia, volevo aggiungere i miei 2 centesimi. Penso che OpenId abbia un difetto di cui nessuno sembra preoccuparsi. Quando eseguo l'autenticazione con Yahoo, in realtà mi accede a Yahoo. Non dovrebbe accedere a Yahoo ma dovrebbe solo autenticare di avere le credenziali appropriate con Yahoo. Quando esci dalla mia app, accedi comunque a yahoo. Se ti allontani da un computer condiviso e un'altra persona va su Yahoo, verrai effettuato l'accesso .. perché quando ti sei autenticato con Yahoo, ti accederanno anche al loro servizio. Dovrebbero semplicemente autenticarti, non collegarti. Ho parlato a più persone di questo e lo ho persino dimostrato con stackoverflow.com (che ha un meccanismo di disconnessione terribile, quando premo il logout mi aspetto di essere disconnesso, per favore clicca un altro pulsante di logout). Prova questo logout di Yahoo o Gmail. Chiudi tutte le schede, quindi accedi a StackOverflow con yahoo / gmail. Quindi disconnettiti dallo stack overflow .. (assicurati di premere due volte il logout) .. ora vai a Yahoo o Gmail, sei loggato. Ora la risposta furba che ottengo è " Non usare un computer condiviso, dovresti accedere su Yahoo / gmail, ecc. " ... Non tutti sono sviluppatori con una laurea in MIS o informatica, mia suocera penserebbe che quando si disconnetterà da StackOverflow, non sarebbe ancora collegata a Yahoo .. Forse Mi manca un po 'di parm o qualcosa che costringerà effettivamente ciò che voglio, ma sicuramente non è nella documentazione che ti dice quanto sia bello OpenId !!!

Ouch. MyOpenID riporta indirizzi e-mail non confermati, ha appena fatto un test per questo. Sembra che le informazioni e-mail dovrebbero essere attendibili solo per alcuni fornitori elencati manualmente come google / yahoo e un paio di altri. Collegherò il codice qui se qualcuno è interessato.

Mi piace l'accesso VIP di Verisign di cui i siti possono usufruire e c'è una piccola applicazione per iPhone che ti permetterà di avere il tuo token generato per entrare, proprio come secureID

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top