¿Cómo funcionan las OTP de hardware, desde la perspectiva de un desarrollador?

1

Recientemente he tropezado con la serie de tarjetas inteligentes Gemalto IDPrime MD que ofrecen funcionalidad PKI y OTP (Sé la diferencia en la administración / generación de claves y el uso orientado al usuario).

Ahora busqué un poco y no encontré una respuesta satisfactoria a la pregunta:

  • ¿Los todos tokens OTP de hardware (estándar) requieren que el desarrollador pase el OTP al servidor del fabricante para su verificación?
  • Si un token OTP (por ejemplo, una tarjeta inteligente) no tiene una conexión USB ni una pantalla, ¿cómo suele pasar la contraseña de un solo uso al usuario? ¿A través del acceso directo a la API? ¿A través de una nueva ventana? ¿A través de un lector de tarjetas no conectado al PC?

Como nota al margen: no incluyo tokens OTP hechos específicamente para grandes empresas, porque obviamente se fabricarían con un secreto / personalización de la compañía conocido por la compañía.

Como nota al margen: si el token tiene una pantalla (como RSA SecurID ), el usuario puede simplemente leer la OTP e ingresarla manualmente usando el teclado y si cuenta con una conexión USB directa (como YubiKey ) el token solo puede emular un teclado y escribirlo solo.

    
pregunta SEJPM 04.05.2016 - 22:30
fuente

2 respuestas

2

Te puede interesar leer:

Ambos describen formas estándar de crear una contraseña única.

  

¿Todos los tokens OTP de hardware (estándar) requieren que el desarrollador pase el OTP al servidor del fabricante para su verificación?

Hay dos opciones aquí: * El token OTP es específico para su aplicación, ya sea que fabrique su propio token de hardware, flash con su propio token secreto creado por otros o comprado el token a un fabricante (que le proporcionará un archivo con las claves secretas para su token ( s)), en cuyo caso no se necesita comunicación con el fabricante durante la operación.

Sin embargo, si el fabricante proporciona el token OTP como un servicio para varias entidades (como YubiCloud), entonces sí, la aplicación tendría que preguntar al servidor del fabricante cada vez que el token OTP es válido.

Suponga que tiene una forma de verificar tokens sin un registro central, tal vez porque el token tiene una firma incrustada (puede verificar con una clave pública asociada al dispositivo). Luego, cuando intenta iniciar sesión en el sitio web A, podría copiar su token y hacerse pasar por él en el sitio web B.

(U2F está diseñado para evitar este problema al incluir un desafío, pero ya no es un token OTP simple)

  

Si un token OTP (por ejemplo, una tarjeta inteligente) no tiene una conexión USB ni una pantalla, ¿cómo se transfiere la contraseña única al usuario? ¿A través del acceso directo a la API? ¿A través de una nueva ventana? ¿A través de un lector de tarjetas no conectado al PC?

Por lo general, la tarjeta inteligente se transfiere al usuario a través de un lector de tarjetas USB, aunque cualquier dispositivo que se abra, como el lector de tarjetas con una pantalla independiente que sugiera, realmente funcionará.

    
respondido por el Ángel 04.05.2016 - 23:18
fuente
2

Como se indica en tu otra publicación:

No . No es necesario que pase el valor OTP al sitio de los fabricantes. Por lo general, si está comprando tokens OATH / HOTP puros en China (como Feitian), ni siquiera podrá hacer esto. Debe ejecutar su propio servidor como privacyIDEA .

La tarjeta inteligente generalmente no es un token OTP. Sin embargo, algunas tarjetas inteligentes como las de Gemalto sí tienen una aplicación OTP. En este caso, debe insertar la tarjeta inteligente en un lector de tarjetas inteligentes y necesita tener una aplicación adicional en su cliente. Esta aplicación se comunicará con la tarjeta inteligente para recuperar el valor OTP.

    
respondido por el cornelinux 04.05.2016 - 23:08
fuente

Lea otras preguntas en las etiquetas