Nok Nok Labs prueba integración de Touch ID
20 June, 2014
category: Huellas digitales
iOS 8 de Apple no se lanza hasta el otoño, pero Nok Nok Labs ya probó e integró su cliente de autenticación multifactor con la API Touch ID. Le tomó dos días a los ingenieros de Nok Nok conectar Touch ID con el cliente de FIDO Alliance, lo que significa que cualquier aplicación integrada con el cliente iOS de FIDO podrá comenzar a utilizar esta función cuando esté disponible.
Un video
muestra cómo configurar la autenticación en línea con Touch ID, y cómo utilizar el sensor de huellas digitales para aprobar una confirmación de transacción.
Aunque la API Touch ID de Apple es un paso en la dirección correcta, la API solo proporciona dos capacidades: la habilidad para determinar si el usuario ha sido autenticado con éxito en el dispositivo mediante el uso del sensor de huellas digitales; y la habilidad para desbloquear los datos de iOS Keychain mediante una autenticación exitosa con las huellas digitales. Aunque ambas capacidades proporcionan autenticación local, no facilitan una vía para que el usuario o la aplicación autentiquen a un servidor remoto. Los desarrolladores de aplicaciones que quieren implementar la autenticación remota tienen que buscar otra solución.
Una posible solución para la autenticación remota es utilizar la API Touch ID Keychain para almacenar contraseñas. Una autenticación exitosa de huellas digitales desbloqueará la contraseña, permitiendo que la aplicación utilice la contraseña para autenticar al servidor. Pese a que este método es sencillo, aún mantiene los problemas de seguridad heredados de las contraseñas, incluyendo la vulnerabilidad respecto a ataques por la parte del servidor contra bases de datos de contraseñas. El usuario también carga con el peso de mantener las contraseñas sincronizadas entre iOS Keychain y el servidor, con la posibilidad de confusión y fricción para el usuario.
Una opción más segura y conveniente para el usuario sería que la aplicación genere un par de claves, privada y pública. La clave privada estaría protegida por la combinación Touch ID/iOS Keychain, mientras que la clave pública estaría almacenada en el servidor. Esta opción requiere que los desarrolladores creen un protocolo criptográfico para utilizar esas claves para autenticación remota. Hacer esto demanda especial pericia en prácticas de seguridad con el fin de evitar vulnerabilidades en la generación de claves, operaciones criptográficas y diseño de protocolos. Además, el sistema extremo-a-extremo tiene que ser diseñado de forma muy cuidadosa para proteger la privacidad del usuario.