Evaluación de seguridad del Digipass Mobile SDK de Vasco para OTP?

5

¿Alguien ha trabajado o integrado el generador OTP de Vasco Digipass Mobile SDK en una aplicación móvil personalizada para dispositivos iOS?

Actualmente estoy realizando una evaluación de seguridad completa de la solución (de extremo a extremo) y me preguntaba si ya había trabajo realizado por otros en esto.

Estoy interesado en el proceso de activación de un nuevo dispositivo, las implementaciones criptográficas, el almacenamiento de datos locales en el dispositivo móvil, los mecanismos de autenticación, la generación de OTP y otras superficies de ataque.

    
pregunta user20197 30.01.2013 - 14:29
fuente

2 respuestas

3

No conozco en particular el 'Generador de OTP para SDK de Vasco Digipass Mobile', pero he evaluado los generadores de OTP de Software en el pasado y estas son cosas que vería.

  • ¿La aplicación está protegida por un PIN? Si está protegido con un PIN, ¿qué sucede cuando introduce un PIN incorrecto? Todavía genera un OTP o informa un mensaje de error. La relevancia de esta pregunta: un generador de OTP utiliza una clave secreta que se comparte con el servidor de autenticación. Ahora la clave secreta debe almacenarse en algún lugar del dispositivo & Por lo tanto es vulnerable si el dispositivo se pierde. Por lo tanto, es mejor si la aplicación está protegida con un PIN. Ahora la siguiente pregunta es ¿dónde se almacena el PIN? Si el PIN se almacena en el dispositivo, la protección vuelve a perder su significado. Porque al igual que la clave secreta, el PIN también sería vulnerable a los ataques si se pierde el dispositivo. Entonces, ¿cuál es la alternativa? La primera alternativa es usar el PIN para cifrar la clave secreta & No almacena el PIN en el dispositivo. Sin embargo, este no es aún un buen método porque, una vez que se pierde el dispositivo, puede ser forzado. Entonces, ¿cuál es la mejor alternativa? La generación OTP utiliza tanto el PIN como el amp; Clave secreta como entradas al algoritmo de generación OTP. En este caso, si escribe un PIN incorrecto, entonces la OTP sigue siendo un generador porque la aplicación no sabe si el PIN es correcto o incorrecto. Sin embargo, si escribe un PIN incorrecto, la OTP generada sería incorrecta. Porque el servidor generaría la OTP con el PIN correcto y, por lo tanto, no coincidiría con el generado por la aplicación. es decir, el PIN se verifica implícitamente y no se verifica explícitamente. Entonces, ¿cómo sabría si su aplicación almacena el PIN localmente o si utiliza el PIN para cifrar la clave secreta? En general, la aplicación muestra un mensaje de error cuando ingresa el PIN incorrecto. Considerando que, si el PIN no se almacena localmente, entonces la aplicación no muestra un mensaje de error con el PIN incorrecto.

  • ¿Qué algoritmo utiliza el generador de OTP? ¿Utiliza un algoritmo basado en el tiempo o un algoritmo basado en eventos (contador). Los generadores de hardware de OTP siempre usan un algoritmo basado en el tiempo, pero muchas aplicaciones de generación de OTP basadas en software usan el evento porque se supone que el tiempo en el dispositivo móvil puede estar apagado; es posible que no esté sincronizado con el servidor. ¿Cómo es esto relevante? Las OTP basadas en eventos nunca caducan. O en realidad, expiran solo cuando se usan o cuando se usa una OTP más reciente. Si usa su aplicación de generador de OTP para generar una OTP ahora, puede anotar la OTP & Úselo después de cualquier número de días, siempre y cuando no haya realizado ninguna otra autenticación intermedia. es decir, si genera 2 otps & anótelos, luego, si utiliza la 2ª OTP para una autenticación, funcionará, pero la primera caduca automáticamente. Dado que los OTP basados en eventos (contador) no caducan, son un poco más fácilmente atacados fuera de línea que los OTP basados en el tiempo. ¿Hay una mitigación para esto? Hay otro algoritmo OTP basado en eventos llamado OCRA (basado en respuesta de desafío). Aquí el servidor lanza un desafío que debe ser ingresado en la aplicación antes de generar la OTP. En mi humilde opinión, para un dispositivo móvil (donde es posible que no pueda usar OTPS basado en tiempo), un evento basado en eventos que use el mecanismo de Respuesta de desafío puede ser mejor que uno simple basado en eventos. Sin embargo, para los usuarios legos, puede ser un poco confuso.

  • ¿Cómo se realiza la activación? ¿La clave compartida se envía por SMS o algo así? Eso puede hacer que sea un poco inseguro. Algunos generadores de OTP se activan mediante negociación, es decir, el cliente y el servidor negocian la clave compartida utilizando algún estándar como DSKPP. Estos pueden ser más seguros que aquellos en los que la clave se envía por SMS.

respondido por el user93353 26.12.2013 - 17:31
fuente
1
respondido por el Andy Thompson 21.05.2013 - 10:21
fuente

Lea otras preguntas en las etiquetas