Come funzionano gli OTP hardware, dal punto di vista dello sviluppatore?

1

Di recente mi sono imbattuto in Gemalto IDPrime MD serie di smartcard che offrono funzionalità PKI e OTP (Conosco la differenza nella gestione / generazione delle chiavi e nell'uso orientato all'utente)

Ora ho cercato un po 'e non ho trovato risposta soddisfacente alla domanda:

  • I token OTP hardware (standard) tutti (standard) richiedono allo sviluppatore di passare l'OTP al server del produttore per la verifica?
  • Se un token OTP (ad esempio una smartcard), non dispone di una connessione USB o di un display, come si sposta solitamente la password one time all'utente? tramite accesso diretto all'API? Via una nuova finestra? Tramite un lettore di schede non collegato al PC?

Come nota a margine: non includo i token OTP creati appositamente per le grandi aziende, perché ovviamente sarebbero prodotti con un segreto noto dell'azienda / personalizzato dalla società.

Come nota a margine: se il token ha una visualizzazione (come un RSA SecurID ), l'utente può semplicemente leggere l'OTP e inserirlo manualmente utilizzando la tastiera e se dispone di una connessione USB diretta (come un YubiKey ) il token può semplicemente emulare una tastiera e digitarla da sola.

    
posta SEJPM 04.05.2016 - 22:30
fonte

2 risposte

2

Potresti essere interessato a leggere:

Entrambi descrivono i modi standard per creare una password monouso.

Do all (standard) hardware OTP tokens require the developer to pass the OTP to the manufacturer's server for verification?

Ci sono due opzioni qui: * Il token OTP è specifico per la tua applicazione, o produci il tuo token hardware, flash con il tuo segreto un token fatto da altri o hai comprato il token ad un produttore (che ti fornisce un file con le chiavi segrete per il tuo token ( s)), nel qual caso non è necessaria alcuna comunicazione con il produttore durante il funzionamento.

Tuttavia, se il produttore fornisce il token OTP come servizio per più entità (come YubiCloud), allora sì, l'applicazione dovrebbe chiedere ogni volta al server del produttore se il token OTP specificato è valido.

Supponiamo che tu abbia un modo per verificare i token senza un registro centrale, forse perché il token ha una firma incorporata che puoi verificare con una chiave pubblica associata al dispositivo). Quindi, quando si tenta di accedere al sito Web A, è possibile copiare il token e impersonare con esso nel sito Web B.

(U2F è progettato per evitare questo problema includendo una sfida, ma non è più un semplice token OTP)

If an OTP token (e.g. a smartcard), does not feature a USB connection nor a display, how does the one time password move to the user? Via direct API access? Via a new window? Via an non-PC connected card reader?

Di solito la smartcard viene spostata all'utente tramite un lettore di schede USB, sebbene qualsiasi dispositivo che porti il divario, come il lettore di schede con uno schermo indipendente che suggerisci, possa effettivamente funzionare.

    
risposta data 04.05.2016 - 23:18
fonte
2

Come indicato nel tuo altro post:

No . Non è necessario passare il valore OTP al sito del produttore. Di solito, se stai acquistando token di OATH / HOTP a buon mercato in Cina (come Feitian), non sarai nemmeno in grado di farlo. Devi eseguire il tuo server come privacyIDEA .

La smartcard in genere non è un token OTP. Tuttavia, alcune smartcard come Gemalto hanno effettivamente un'applicazione OTP. In questo caso è necessario inserire la smartcard in un lettore di smart card e è necessario disporre di un'applicazione aggiuntiva sul client. Questa applicazione comunicherà con la smartcard per recuperare il valore OTP.

    
risposta data 04.05.2016 - 23:08
fonte

Leggi altre domande sui tag