Lo standard U2F può essere utilizzato dai server per imporre una categoria specifica di hardware?

2

Non mi piace che i browser, i client di posta elettronica, ecc. vengano forniti in bundle con CA e che non vi sia enfasi per un meccanismo di autenticazione più decentralizzato. Fortunatamente, non è male, perché almeno, qualunque sia la nostra piattaforma preferita, possiamo creare i nostri clienti, ad esempio un client IMAP, utilizzando qualsiasi linguaggio di programmazione che ci piace, ad esempio Python, con qualsiasi CA in bundle che ci piace.

Sarebbe un peccato perdere questa flessibilità e iniziare a dipendere da nuove piattaforme, nuovi dispositivi USB, ecc. Certo, è uno standard aperto, ma se è parte di questo standard aperto, i server possono accettare solo hardware specifico come dispositivi USB speciali, quindi, in pratica, un programmatore non sarà in grado di programmare un client sulla piattaforma di sua scelta. Certo, qualsiasi grande azienda sarebbe in grado di costruire un dispositivo che rispetti lo standard, ma sarebbe comunque persa molta flessibilità. Non sto dicendo che questa è la situazione con il nuovo standard FIDO U2F, ma ne sono curioso.

Per me, un buon standard deve limitare il meno possibile entrambe le parti. Non appena uno "standard" consente a una parte di imporre vincoli all'attuazione dall'altra parte, anche nel nome della sicurezza, sembra che una nozione fondamentale di libertà, implicita nell'idea originale open source, sia sotto attacco. Questa idea originale era di consentire a qualsiasi programmatore di creare codice pratico con il minor numero possibile di vincoli. Forse la situazione è simile a quella delle CA per i certificati di siti Web o di e-mail ed è solo che l'enfasi attuale su hardware specifico sul lato client - non sarebbe male.

Le mie domande:

  • Come possiamo costruire i nostri clienti, utilizzando la piattaforma e il linguaggio che preferiamo per connetterci con qualsiasi server conforme a U2F?
  • È possibile costruire, ad esempio un client IMAP, sulla piattaforma di nostra scelta, per autenticarsi con qualsiasi server, ad esempio IMAP, che rispetti lo standard U2F?
posta Dominic108 22.02.2017 - 08:03
fonte

2 risposte

1

U2F in sé e per sé non fornisce un protocollo per la comunicazione client-server. Fornisce una serie di requisiti che devono essere soddisfatti affinché lo schema possa essere considerato autenticato. Questi requisiti definiscono un insieme di messaggi, ma non definiscono come vengono passati dal client al server e viceversa. In quanto tale, la risposta a se è possibile creare un client per qualsiasi server generico è: no, perché semplicemente non esiste un protocollo generico. Detto questo, puoi certamente creare un servizio generico in grado di elaborare i messaggi inviati, ma dovrai definire il meccanismo con cui i messaggi vengono inviati.

Data la prima risposta, la seconda risposta è necessariamente no. Questo non significa che non puoi legare U2F sulla parte superiore di IMAP e avere un'estensione, ma ciò significa naturalmente che richiede codice personalizzato su entrambi i lati.

    
risposta data 22.02.2017 - 15:47
fonte
0

la tua domanda sul lato client:

Sicuramente puoi costruire il tuo client F2O U2F che può essere compatibile con molte implementazioni di server FIDO U2F esistenti. La maggior parte del tempo per ora, il client FIDO U2F è:  - un browser Web desktop (Chrome o Firefox)  - un browser mobile (per ora è necessaria anche l'app Chrome for Android / Authenticator, ma questo requisito scomparirà)  - un'app per Android (come link )

Il protocollo / protocollo predefinito è SSL, è sensato dal momento che questa iniziativa FIDO U2F è stata realizzata per fornire una facile autenticazione strong per i servizi cloud / web ... quindi troverai tonnellate di implementazione di server open source, ma purtroppo per ora quasi nulla per - al di fuori di un'implementazione client-browser, ma non dovrebbe essere troppo difficile da implementare. Per quanto riguarda la compatibilità dei server U2F FIDO, ovviamente il lato server non deve essere configurato per discriminare i client (ecco perché alcuni servizi FIDO U2F esistenti non funzionano con Firefox anche se il supporto di Firefox U2F è possibile tramite un plugin di terze parti link ).

integrazione lato server con altri servizi:

È possibile aggiungere l'autenticazione basata su FIDO U2F a servizi esistenti come IMAP, ma sarebbe necessario aggiungere questa funzionalità sia ai client che ai server. Non sei il primo a chiedere un caso d'uso simile a un client di posta ... speriamo che qualcuno possa lavorarci su nel prossimo futuro.

la tua ultima nota che cita le specifiche sull'identificazione di "attestato" e "classe di dispositivo":

sul lato server, è possibile recuperare informazioni sul produttore del dispositivo U2F tramite il certificato di attestazione fornito con la chiave pubblica di identità durante la registrazione. Può essere utile discriminare alcune implementazioni client note per debole ... o semplicemente implementazione sconosciuta. Per ora, sul campo, quasi tutti i server FIDO U2F accettano qualsiasi cosa, qualsiasi implementazione, quasi nessuno sta usando questa funzione e per quanto ne so, anche il recente servizio di metadati non fornisce abbastanza informazioni sulla "classe di dispositivo" (peccato, me lo chiedi). Ricorda che il par è relativo al dispositivo / autenticatore FIDO U2F, dovresti essere in grado di costruire un client FIDO U2F compatibile con qualsiasi dispositivo / autenticatore FIDO U2F, la discriminazione facoltativa sarà effettuata sul lato server.

    
risposta data 23.02.2017 - 14:54
fonte

Leggi altre domande sui tag