Los sistemas de contraseña de un único uso [OTP: One-Time Password] son una solución ideal para poder autenticar de forma segura a los usuarios de una conexión minimizando el riesgo de ataques producidos por el robo de contraseñas a los usuarios. Esta contraseña OTP, hay que protegerla durante la fase de comunicación entre el sistema y el usuario, tanto como la misma contraseña del usuario. Es por eso que se buscan canales alternativos de comunicación entre el servidor y el usuario que sean seguros para transmitir dicha contraseña de un sólo uso.
Soluciones OTP: Ventajas e Inconvenientes
Algunas soluciones que se han utilizado para conseguir estas contraseñas de un sólo uso son los tokens RSA, donde cada usuario debe llevar un dispositivo que está sincronizado con un algoritmo en el servidor. En este caso la contraseña OTP no es enviada, sino que cada cierto tiempo el número de sincronismo cambia al mismo tiempo tanto en el servidor como en el cliente. Cuando un usuario quiere conectarse al sistema debe introducir su contraseña y su número de sincronismo, que es el leído en el dispositivo.
El inconveniente de esta solución, claro está, es la de que hay que distribuir una gran cantidad de dispositivos a los empleados. Cada dispositivo debe ser transportado por el usuario y tiene los inconvenientes añadidos que ello conlleva, es decir, la posible pérdida del dispositivo o la sustracción por un atacante.
Debido a estos inconvenientes, se han buscado otros sistemas alternativos, como utilizar los sistemas de mensajería SMS. Esta solución tiene la ventaja de que no hay que llevar un dispositivo extra, ya que todo el mundo lleva un dispositivo móvil y, en caso de pérdida o sustracción, la línea puede ser cancelada, igualmente, en seguida y remoto.
Sin embargo, el problema, con la creciente aparición de dispositivos de última generación entre los usuarios profesionales, y el incremento del ecosistema malware para ellos, es que hoy en día un atacante podría interceptar esa OTP cuando se reciba en el dispositivo móvil igual que una password más.
¿Cuál es el inconveniente? Para entender el inconveniente hay que entender la ventaja de las contraseñas de un sólo uso. Si alguien tuviera un keylogger en el equipo donde el usuario va a a realizar login y capturase la OTP no le valdría para nada, ya que esa contraseña deja de ser útil. Sin embargo, si la clave OTP es enviada por correo, por SMS o a un móvil, esta podrá capturada antes de que el usuario legítimo la haya utilizado.
En el caso de que exista un dispositivo externo sincronizado, entonces al atacante, si ya tienen la contraseña del usuario, le sería posible acceder sustrayendo el dispositivo. Además, al ser un algoritmo estándar conocido, si un atacante fuera capaz de averiguar los parámetros de carga del algoritmo, como en el caso de un dispositivo RSA que usa número de serie y clave, existen herramientas que implementan el comportamiento y permiten predecir el valor mostrado. Una de estas herramientas, RSA Token Calculator, viene incluida dentro de
CAIN, una herramienta de auditoría de seguridad para sistemas Windows.

RSA Token Calculator de Cain
Para evitar los robos de los dispositivos RSA, se añaden nuevos sistemas de protección, como PIN o uso de biometría para acceso al dispositivo que, complican más la infraestructura y generan nuevos costes en administración del sistema.
PinSafe: Soluciones de código de un sólo uso
Como alternativa a las soluciones OTP con contraseñas de un sólo uso, existen las soluciones OTC [One-Time Code] de códigos de un sólo uso. En estos sistemas, como el que ofrece PinSafe, el servidor no envía la contraseña de un único uso sino un código, llamado en este caso
“Cadena de Seguridad” [Security String] en el que va escondida la contraseña OTP. Para saber cuál es la OTP el usuario debe combinar esta cadena con un código que sólo él conoce para extraer de la Security String la contraseña de un único uso, es decir, la OTP.
El transmitir un OTC en lugar de una OTP hace que, aunque la contraseña y la cadena de seguridad fueran interceptadas mediante keyloggers o herramientas de interceptación de comunicaciones, éstas no podrían ser utilizadas para conseguir el acceso. Para ello sería necesario combinar los datos con el algoritmo que sólo conoce el usuario y así se podría generar la OTP. Además, al poder utilizarse el propio dispositivo móvil, o incluso la propia web corporativa de acceso, para la empresa no le supone un coste tan elevado como desplegar dispositivos con tokens sincronizados. Todo son ventajas.
En
Seguros con Forefront vamos a analizar en profundidad el funcionamiento de la solución
MS Forefront Unified Access Gateway UAG 2010, o a su versión anterior MS IAG 2007, de una solución OTC que mejore la seguridad del sistema de acceso.