Utilizzo dei certificati lato client per l'autenticazione

8

Perché i certificati lato client non vengono utilizzati per l'autenticazione? Quindi l'utente deve ricordare solo 1 password per sbloccare il suo account Windows che memorizza i certificati. Capisco che se l'utente accede a siti Web da macchine diverse, i certificati devono essere sincronizzati. Ma con una password sicura per l'account Windows, non è conveniente e più sicuro per gli utenti autenticarsi usando i certificati lato client?

Sto assumendo qualcosa di sbagliato qui?

    
posta Curious 11.11.2014 - 05:53
fonte

2 risposte

4

La ragione più pressante è che le persone accedono da più computer : PC domestico, laptop, tablet, PC di lavoro, PC di amici, internet cafè, ecc. Mentre è teoricamente possibile avere un sistema che sincronizza i tuoi certificati - tramite un servizio cloud o un dispositivo fisico che porti con te - questo va oltre la capacità della maggior parte degli utenti.

Ora, qualcuno potrebbe creare un servizio di autenticazione che faccia questo per te? Che si prende cura di tutti i certificati sotto il cofano? Bene, questo è esattamente ciò che fa Mozilla Persona .

Il secondo motivo è che ci sono milioni di siti web che già utilizzano password . Cambiare tutto questo per usare qualche altro schema di autenticazione (sia che si tratti di OAuth, SRP, certificati o altro) sarebbe un'impresa enorme - e perché un sito web dovrebbe preoccuparsi? Qual è l'incentivo per loro?

Per questo motivo, i gestori di password sono una tecnologia molto più pratica per risolvere il problema dell'autenticazione. Ok, non sono abbastanza sicuri come i certificati client, ma le differenze sono piuttosto ridotte. Sistemi come LastPass ti danno un'interfaccia single-sign-on e funzionano con (quasi) qualsiasi sito web.

    
risposta data 11.11.2014 - 10:55
fonte
3

Vedo due motivi principali:

  1. un'autenticazione basata su certificati è complessa da spiegare. Oggi quasi tutti comprendono come utilizzare un'autenticazione basata su password; Anche se tutte le regole di sicurezza (abbastanza lunghe, composte da un mix di cifre, lettere e caratteri speciali, la maggior parte essere cambiate di volta in volta, non devono essere condivise ...) non sono sempre applicate, quasi tutte ne sono consapevoli. Il passaggio a un'autenticazione basata su certificato richiede di rieducare gli utenti per darci spiegazioni su come funziona e usarlo (cos'è un certificato, cos'è una chiave privata, dove è archiviato, perché non funziona dal mio cellulare Telefono...). Inoltre, agli utenti non piace cambiare le loro abitudini.

  2. La gestione dei certificati è complessa e costosa. L'uso delle password, anche se in modo sicuro, richiede solo un paio di righe di codice nell'applicazione e alcune colonne aggiuntive nel database. Se vuoi distribuire i certificati agli utenti della tua applicazione devi configurare una Public Key Infrastructure . Per esperienza, so che creare un PKI è complesso da un punto di vista tecnico e anche organizzativo : devi occuparti della registrazione utente, della distribuzione dei certificati, revoca dei certificati, pubblicazione degli elenchi di revoca dei certificati, certificato politiche ...

Un esempio: alcuni anni fa l'applicazione web del servizio fiscale francese ha deciso di sostituire il sistema di autenticazione del certificato (il certificato è stato utilizzato anche per la firma digitale) con una semplice autenticazione tramite password. Le ragioni: la complessità di spiegare come utilizzare gli utenti (ad esempio il certificato aveva un periodo di validità di 3 anni ma la maggior parte degli utenti ne richiedeva uno ogni anno) ei costi dell'infrastruttura necessaria per gestire migliaia di certificati .

    
risposta data 11.11.2014 - 10:14
fonte

Leggi altre domande sui tag