Come autenticarsi in un sito Web con chiavi pubbliche / private?

7

Ho letto come funziona la chiave pubblica / privata SSH e capito quanto siano a portata di mano (eliminando la sicurezza dall'equazione). E ha iniziato a chiedersi perché i siti web non implementano la stessa cosa?

Lascia che ti spieghi perché sono interessato a questo: quando ti registri su un sito web, non sai cosa succede con la tua password, potrebbe benissimo essere memorizzato come testo normale in un DB. Qualsiasi amministratore può vedere la combinazione di nome utente / password (più e-mail o qualsiasi altra informazione) e semplicemente provarli in altri servizi et voilà , accesso pulito alla tua e-mail, Facebook, StackOverflow, ecc. La password, anche se non è memorizzata, può essere inviata non crittografata via cavo al server e caugtht da un utente nel mezzo. Tutto questo è facilmente risolvibile usando un approccio come quello implementato da SSH, ad esempio (o con una password diversa per ogni servizio, ma la mia memoria ha gravi limitazioni).

Pertanto, come posso implementare una tale strategia per l'accesso a un sito Web? Non sono riuscito a trovare estensioni del browser né istruzioni su come farlo. Per il momento, il mio obiettivo è quello di avere un sito Web in grado di servire ~ 10 persone (colleghi, tutti nella stessa rete) e che posso convincere a fare qualche lavoro extra (come installare un'estensione o generare la coppia di chiavi).

    
posta Aquiles Carattino 14.09.2015 - 16:16
fonte

1 risposta

4

I certificati possono essere utilizzati a tale scopo. L'uso generale dei certificati è per le connessioni TLS / SSL, ma i certificati client possono essere emessi per gestire l'autenticazione bidirezionale. I certificati sono fondamentalmente chiavi pubbliche con un ulteriore livello di "rete di fiducia".

Se vuoi farlo correttamente, devi implementare un PKI per gestire la richiesta, la creazione e la revoca del certificato. In alternativa, puoi semplicemente chiedere a un utente di caricare qualsiasi certificato di chiave pubblica che desidera utilizzare.

Molti browser recenti sono anche in grado di generare al volo la richiesta di certificato (chiave privata / pubblica) quando sono collegati a un sito web. Quindi il certificato è memorizzato nel profilo del browser.

    
risposta data 14.09.2015 - 16:36
fonte

Leggi altre domande sui tag