Autenticazione strong su collegamenti non sicuri

3

Iniziamo assumendo che stiamo operando in un ambiente aziendale o governativo in cui le intercettazioni SSL man-in-the-middle sono un dato e che * tutto * il traffico sulla rete tra il client e il server vengono intercettati e visualizzati.

Esistono validi schemi di autenticazione che possono convalidare sia il client (sul server) che il server (verso il client). Normalmente questo può essere facilmente realizzato da uno schema di autenticazione Certificato SSL. Dal momento che questi sono attivamente MITM questa soluzione non è adeguata.

Qualche idea su un strong schema di autenticazione che consente ad entrambe le parti di autenticarsi reciprocamente impedendo al tempo stesso gli attacchi di riproduzione?

(Sto pensando più alle linee di un'applicazione web rispetto a un'applicazione desktop)

    
posta Sean Madden 22.10.2012 - 22:11
fonte

4 risposte

2

Se il tuo livello di incapsulamento non è sicuro, puoi adattarlo creando un livello sicuro all'interno se hai un ID di chiave pubblica noto per l'host remoto.

Dato che l'IP non è sicuro, eseguiamo SSL al suo interno. Poiché le tue sessioni SSL vengono forzatamente interrotte a un host indesiderato rendendole insicuri, esegui un altro livello sicuro in esse come SSL. SSL su SSL, SSH su SSL o qualsiasi altra combinazione di tunneling dovrebbero fornire una connessione affidabile purché si verifichi la chiave host.

    
risposta data 22.10.2012 - 22:45
fonte
2

all traffic on the network between the client and the server is being intercepted and viewed

... implica che può anche essere modificato - quindi nessuna sessione, nessun javascript.

along the lines of a web-application

Quindi l'unico modo in cui posso pensare di implementarlo è tramite OTP, e dovresti disabilitare il lato client javascript per impedire le falsificazioni delle richieste di MITB. Ma dal momento che non è possibile fare affidamento sull'integrità della sessione, è necessario aggiungere una nuova password a ciascuna richiesta HTTP per poterla autenticare. Ma se stai parlando di un'applicazione HTML5 installata in modo sicuro, allora questa è una storia diversa: puoi semplicemente implementare la tua incapsulamento del traffico AJAX utilizzando la crittografia simmetrica + PSK o uno dei crescenti numeri di javascript librerie asimmetriche .

Since these are being actively MITM'd

Quindi stai tentando di aggirare la politica di sicurezza locale?

    
risposta data 22.10.2012 - 23:23
fonte
0

Ecco come lo facciamo: link . Fondamentalmente, il token software convalida che il certificato SSL mirato che l'utente ottiene è uguale a quello memorizzato sul server OTP. Se non è valido, l'OTP non viene visualizzato. I token utilizzano chiavi asimmetriche per comunicare con il server, non con SSL. Fammi sapere se vuoi maggiori informazioni.

    
risposta data 22.10.2012 - 22:44
fonte
0

PSK potrebbe, in alcune circostanze, essere una soluzione. Cripta tutti i dati con il PSK. Solo gli host consentiti saranno in grado di comunicare.

    
risposta data 23.10.2012 - 08:02
fonte

Leggi altre domande sui tag