¿Qué tan confiable es usar el sensor de huellas digitales (iPhone / Android) para la aprobación de identidad?

1

Lo que estoy tratando de lograr es una confirmación de la transacción (no del pago) con un sensor de huellas digitales. Al igual que Google lo hace en su Play Store:

  1. Elija un producto, haga clic en pagar
  2. Aprobar su elección con un escaneo de huellas digitales

Lo que siento es que Google usa esto solo en el lado del cliente, sin ninguna confirmación en el back-end de que la aplicación realmente solicitó la huella digital.

En mi caso, es necesario proporcionar una prueba al backend de que realmente se solicitó la huella digital. Para ello yo:

  1. Gen key pair
  2. Inscribir una clave pública en el backend
  3. Escriba una clave privada en el almacenamiento seguro de claves y vincúlela a la huella digital

para que la próxima vez que necesite una aprobación de transacción, yo:

  1. Pídale a un usuario que proporcione una huella digital, reciba una clave privada
  2. Firme la transacción con la clave privada
  3. Valide tx con la clave pública en el backend

Pero aquí vienen dos ideas de por qué puede no ser seguro:

  1. La aplicación cliente (android / ios) se puede modificar a JMP alrededor de la llamada de huellas dactilares y no vincular una clave a la huella dactilar en absoluto.
  2. Huella digital & el almacenamiento de claves se puede emular, p. en Android VD

En ambos casos, el backend no tendrá idea de que la llamada de la huella dactilar fue recorrida ya que solo está validando los datos por firma.

De ninguna manera soy un experto en plataformas móviles (seguridad) y estoy tratando de averiguar si esos ataques son realmente válidos / es probable que ocurran y ¿es posible de alguna manera protegernos contra ellos?

    
pregunta ovnia 10.03.2018 - 22:44
fuente

1 respuesta

1

El cliente puede falsificar todo el proceso, pero no la autenticación. Esto significa que incluso si el dispositivo es robado y la contraseña de la pantalla de bloqueo está comprometida, el atacante no puede recuperar la clave del almacén de claves y no puede realizar una compra a nombre del propietario original (registrado). Lo mismo si el dispositivo está enraizado (con o sin el consentimiento del usuario final).

Sin embargo, en el último caso, el siguiente escenario todavía es posible: el usuario final confirma una transacción con huella digital, pero el atacante podría haber alterado la transacción, por ejemplo. el usuario final cree que aprobó una compra de $ 10, mientras que en realidad es de $ 100. O el usuario final desea que el producto se envíe a la dirección de su casa, pero en realidad la transacción muestra una dirección diferente.

En cuanto a la primera y más realista amenaza: no debería ser una gran preocupación para usted, y si lo es, su modelo debería ser revisado. Si tiene un usuario falso que decide falsificar su autenticación, él puede confirmar una transacción con una huella digital verdadera o con una huella digital falsa.

Probablemente un ataque caso de uso que puede ser mitigado en el lado del servidor: las transacciones de huellas dactilares falsas pueden venir a una frecuencia mucho más alta, y se originan desde diferentes dispositivos. Por lo tanto, si considera este ataque, puede elevar una bandera cuando la misma cuenta de usuario produce compras muy rápidas y / o usa muchos dispositivos simultáneamente.

    
respondido por el Alex Cohn 11.03.2018 - 17:39
fuente

Lea otras preguntas en las etiquetas