¿Hay alguna alternativa además de enviar One-Time-Password por SMS?

11

Estoy trabajando en un sistema más pequeño en el que se me pedirá que ingrese One-Time-Password (OTP, no se confunda con un One-Time-Pad ) para descargar archivos confidenciales serán entregados al usuario.

La idea principal fue enviar una OTP a través de SMS dentro de un límite de tiempo preestablecido.

Pero como los SMS no son lo suficientemente seguros, comencé a pensar en cualquier otra alternativa para entregar una OTP a mis usuarios.

Puedo sugerir a mis usuarios que utilicen Signal y luego les entreguen información, pero en ese caso me temo que será demasiado complicado para ellos.

¿Alguna idea o debo seguir mi idea principal?

    
pregunta Mirsad 17.06.2016 - 01:41
fuente

5 respuestas

20

¿Por qué no puedes usar TOTP o HOTP, que es estándar y es compatible con la mayoría de las aplicaciones de autenticación?

Cuando las personas se registran para su servicio, deben inscribir su aplicación de autenticación escaneando un código QR que contiene la información secreta utilizada para generar códigos.

En visitas posteriores, el sitio les solicita ingresar los códigos generados por la aplicación, sin ningún acceso a la red, ya que los códigos se generan localmente en el dispositivo.

Como beneficio adicional, ya que está utilizando los protocolos estándar, es posible que sus usuarios ya tengan instalada una aplicación de autenticador compatible y, en caso contrario, podría obligarlos a utilizar la aplicación para más servicios (su cuenta de Google, etc.) Al final, los usuarios están más seguros y todos ganan.

    
respondido por el André Borie 17.06.2016 - 03:26
fuente
6

Dado que la pregunta es sobre ideas:

Llamada de voz automatizada con verificación de código PIN antes de deletrear la OTP.

  • Muy fácil para usuarios inexpertos: no requiere software adicional, instrucciones dadas en tiempo real, por ejemplo:

      

    Hola, este es el sistema de verificación de mirsad. Ingrese su PIN para escuchar la contraseña de su descarga

         

    Gracias, su contraseña es ....., úsela dentro de cinco minutos. Recuerda, ¡no le des esta contraseña a nadie más!

  • Requiere que los usuarios recuerden el código PIN

  • Más seguro que SMS: evita la recuperación de contraseña pasiva (un atacante no puede leer en la pantalla de un dispositivo desatendido)

  • Requiere medidas para evitar el espionaje, por ejemplo:

    • El lado de escucha

      produce tonos audibles aleatorios durante la entrada del PIN y recupera el código proporcionado por el usuario calculando la diferencia (mi banco lo hace)

    • pida al usuario que escriba un conjunto diferente de dígitos aleatorios de un PIN más largo, es decir, "presione el sexto dígito de su PIN, presione el 3er dígito de su PIN" (mi otro banco lo hace)

respondido por el techraf 17.06.2016 - 02:56
fuente
3

Es poco probable que las vulnerabilidades en A5 / 0 y A5 / 1 sean un problema importante para la autenticación de un sistema pequeño con unos pocos cientos de clientes.

Sin embargo, si desea evitar el uso de GSM como un canal de entrega, puede tener una OTP basada en el tiempo -06.html "> TOTP ) utilizando el Autenticador de Google. Necesitará crear un secreto para cada usuario en su servidor, el cual podrá escanear con la aplicación de autenticación de Google. Una muestra de cómo funciona esto es aquí

    
respondido por el Jedi 17.06.2016 - 03:27
fuente
3

Como se mencionó anteriormente, tanto TOTP como HOTP son estándares que existen como alternativas al envío de códigos únicos a través de SMS.

  • Los TOTP son códigos basados en el tiempo y, a menudo, están disponibles con aplicaciones como Google Authenticator , o como RSA SecurID-style fobs o cards .

  • HOTP está basado en HMAC y, a menudo, está disponible a través del software de generación de tokens, incluido Google Authenticator y plataformas similares.

  • También existe el estándar OTP implementado por Yubico en el modelo anterior de Yubikeys, donde el dispositivo de hardware USB emula un teclado para ingresar una contraseña extremadamente larga.

Y, por último, si queremos mostrar opciones que no sean estrictamente OTP, pero que puedan actuar como un segundo factor:

  • U2F, un estándar abierto de segundo factor (significa U niverseal 2 y F actor). Se basa en un mecanismo de desafío-respuesta con un intercambio de claves que se produce en el momento del registro del hardware. Los Yubikeys son probablemente los mandos U2F más populares que hay ahora mismo.

  • Debido a que también se basan en un mecanismo de intercambio de clave y desafío-respuesta, las claves SSH posiblemente podrían usarse como un segundo factor al autenticar. Sin embargo, este método no tiene un uso generalizado.

  • Igualmente, las claves PGP pueden usarse para este propósito, y al igual que las claves SSH, las aplicaciones en las que se utiliza PGP como segundo factor son, según mi conocimiento, actualmente limitadas.

respondido por el Jules 17.06.2016 - 06:58
fuente
2

Estoy de acuerdo con @ André-borie. Pero en caso de que insista en enviar algún código de autenticación al usuario, es posible que desee echar un vistazo a la aplicación pushover. Lo comprobé con Telegram pero creo que Signal es similar. La API de Telegrams no permite iniciar una comunicación con un dispositivo.

Pero puedes echar un vistazo al pushover.

    
respondido por el cornelinux 17.06.2016 - 21:36
fuente

Lea otras preguntas en las etiquetas