Non è OpenID su HTTP (non HTTPS) fatalmente imperfetto quando vengono utilizzati i delegati?

7

In primo luogo, ho creato un delegato privato sul mio sito web per OpenID e ho indirizzato il mio account SE all'URL sul mio sito web; SE non è a conoscenza dell'effettivo endpoint del provider OpenID finché la mia risposta delegata non lo dice.

In secondo luogo, quando si autentica su SE e altri, si noti che se non si digita esplicitamente https: // ... rende la richiesta utilizzando HTTP anziché HTTPS.

In terzo luogo, avendo associato il mio account SE al mio endpoint OpenID, sono in grado di utilizzare HTTP o HTTPS per accedere, nonostante l'utilizzo di HTTPS quando l'account è stato associato.

Questo, quindi, non mi apre ad un attacco MITM in cui l'attaccante modifica semplicemente la risposta dal mio server web per delegare al proprio provider OpenID, ottenendo in tal modo l'accesso al mio account SE?

Nota: non sto parlando dell'attuale fase di autenticazione con il provider OpenID, che utilizza HTTPS e reindirizza a HTTPS se vi si accede tramite HTTP, sto parlando della richiesta iniziale da parte di SE al mio delegato, che SE consente di essere fatto usando HTTP perché memorizzano solo l'URL dal dominio di base in poi (omettendo sia il protocollo che il sottodominio) da utilizzare per la corrispondenza fino a un account invece dell'URL completo.

    
posta Lawrence Dol 10.08.2012 - 23:04
fonte

4 risposte

5

Sì, lo è. Quindi dovresti sempre usare https.

Peggio ancora, alcuni fornitori di servizi violano le specifiche:

11.5.2. HTTP and HTTPS URL Identifiers

Relying Parties MUST differentiate between URL Identifiers that have different schemes.

Qualsiasi fornitore di servizi / consumatori che violi questa regola è vulnerabile a un attacco. Questo è particolarmente grave perché un utente non può proteggersi: può usare https ogni volta, ma l'hacker può semplicemente usare http.

Inoltre non è richiesto un uomo nel vettore centrale. È sufficiente che l'autore dell'attacco sia in grado di leggere il traffico verso il provider di identità; in un momento a sua scelta.

When end user input is processed into a URL, it is processed into a HTTP URL.

Quindi il comportamento di StackExchange è conforme per quanto riguarda l'impostazione predefinita per http.

La specifica continua:

[...] it is RECOMMENDED that a redirect be issued from the HTTP URL to the HTTPS URL. Because the HTTP and HTTPS URLs are not equivalent and the Identifier that is used is the URL after following redirects, there is no foreseen reduction in security when using this scheme.

If an attacker could gain control of the HTTP URL, it would have no effect on the HTTPS URL, since the HTTP URL is not ever used as an Identifier except to initiate the discovery process.

Nota: questo approccio è ancora vulnerabile nel primo processo di scoperta.

Specifica: link

    
risposta data 11.08.2012 - 10:53
fonte
2

Sì. Sospetto che chiunque possa MITM StackExchange < - > il tuo sito web (che potrebbe, ad esempio, avere un certificato autofirmato) sarebbe in grado di inserire un delegato OpenID alternativo (nel file index.html) e utilizzarlo per entrare nel tuo account StackExchange.

    
risposta data 11.08.2012 - 02:52
fonte
0

Qual è l'URL del delegato che usi? HTTP o HTTPS?

Quando fai clic sul provider OpenID per Google o su uno qualsiasi dei siti OpenID preconfigurati, verrai reindirizzato a un sito HTTPS.

Solo un fornitore OpenID che conosco si occupa di questo scenario in modo meraviglioso: Symantec Verisign PiP Labs . Una volta effettuato il login, hai la possibilità di DENY tutta l'autenticazione iniziale creata da un reindirizzamento. Invece, ti chiedono di accedere direttamente a pip.verisignlabs.com e poi di passare a StackOverflow e accedere.

    
risposta data 10.08.2012 - 23:19
fonte
-1

Il problema con questo è che ogni accesso avvia la nuova richiesta HTTPS, che è molto lenta. È assolutamente molto lento. Ma se fatto bene con HTTP / 1.1 con persistenza di connessione keep-alive, non lo è, quindi è solo pura pigrizia degli sviluppatori ... "chi ha bisogno di ssl per l'autenticazione"? : -)

    
risposta data 10.08.2012 - 23:17
fonte

Leggi altre domande sui tag