11 de Enero, 2007

El gestor de contraseñas de Gnome

Una de las cosas que a veces me desanima un poco con Gnome es encontrar aplicaciones integradas en el escritorio que no tienen documentación, y lo hacen todo tan fácil que igual no llegas a aclararte.

Eso me pasó el otro día en el trabajo, que fui a usar el gestor de claves (Keyring Manager) y las cosas no iban como se esperaba, hasta el punto que casi estuve a punto de desistir porque no entendía nada :P.

Tampoco creo que sea un fallo general, y al final me ha gustado mucho la aplicación, así que voy a comentar un poco como funciona.

Es habitual que trabajemos con diferentes contraseñas a lo largo del día. En mi caso conecto a varios servidores vía SFTP y SMB, y resulta un rollo estar metiendo contraseñas cada vez que accedemos a esos contenidos con cualquier aplicación que soporta el protocolo: la abstracción que nos proporcionan se pierde teniendo que teclear una y otra vez la contraseña :(.

Supongamos que accedemos a un servidor vía SFTP empleando Nautilus, el navegador de ficheros de Gnome. Al pedirnos la contraseña (tengo por buena costumbre indicar el usuario al escribir la URL, en la forma sftp://usuario@servidor), aparece el siguiente diálogo:

Introduzca su contraseña
Entrada de contraseña con soporte para anillo de claves

Nos aparecen dos opciones abajo porque Nautilus soporta los servicios de gestor de contraseña (muchas aplicaciones de Gnome lo hacen), y consisten en:

  • Recordar la contraseña para esta sesión: se guarda la contraseña en un anillo de claves desbloqueado para nuestro usuario que solo existe durante la sesión del escritorio que está en marcha. Esta opción la había usado con frecuencia sin saber en realidad cómo funcionaba :P.
  • Guardar la contraseña en el anillo de claves: esto guardará la contraseña en un anillo permanente llamado default que nos pedirá otra contraseña para desbloquearlo. Con una sola contraseña podemos gestionar muchas, además de indicar que se desbloquee el anillo para una aplicación concreta de forma temporal o permanente. Creo que este anillo se bloqueará pasado un tiempo, que es configurable, buscando un equilibrio entre seguridad y comodidad, pero no he sabido hacerlo.

Mi problema fue que el anillo default estaba creado y, aparentemente, sin contraseña, así que no podía desbloquearlo y empezar a usarlo. La solución fue eliminarlo y crear otro con el mismo nombre, pero no fue fácil tener esa idea feliz :(.

Pero veamos el comportamiento normal. Se nos pide una contraseña para el anillo de claves:

Contraseña para el anillo
Nuestro anillo de claves por defecto

El diálogo tiene varias cosas destacables:

  • La aplicación que pide acceso al anillo: en este caso, marcado arriba en amarillo, es Nautilus.
  • Podemos denegar el acceso: siempre se nos preguntará para que tomemos la decisión, como veremos más adelante con Gedit, incluso podemos denegar antes de crear el anillo de claves por defecto.

Ahora, como ya tenemos a ese usuario para ese protocolo y ese servidor en nuestro anillo, al pedir acceso Gedit, solo tenemos que decidir si queremos que la aplicación indicada acceda a la clave:

Una aplicación accede al anillo
Gedit pide acceder a la clave

En este caso no tenemos que introducir la contraseña (ese es el tipo de clave en este ejemplo, hay otros) porque el anillo está ya desbloqueado. Además está desbloqueado durante la sesión, como en el caso del anillo de sesión. Supongo que se puede activar la opción de bloquear en caso de inactividad tras n segundos, pero no he sabido hacerlo (como mucho he conseguido cambiar el nombre a un anillo).

Si miramos en Sistema > Administración > Gestor del depósito de claves (esto es Gnome 2.16.1, puede variar su ubicación), tendremos una aplicación para consultar y modificar los anillos y las claves guardadas.

Resulta curioso que tenemos que autorizar a la aplicación para que acceda al gestor de contraseñas, y es porque esta aplicación no es el gestor sino una herramienta para comunicarnos con él ;).

El funcionamiento es sencillo: podemos ver las claves, su tipo, incluso ver las contraseñas, el protocolo, el tipo de clave, las aplicaciones que tienen permiso para acceder; así como hacer modificaciones y borrados.

Gestor de depósitos :D
Una aplicación gestora de anillos (depósitos)

Igual alguien ya se ha dado cuenta: ¿se pueden ver las contraseñas? ¡Estos romanos están todos locos! Pues tiene cierto sentido.

De alguna forma el gestor tiene que guardar las contraseñas para que se puedan utilizar desde las aplicaciones autorizadas: él las introducirá por nosotros. La seguridad está en la contraseña que guarda el anillo de claves, y ese será el punto débil de todo el invento.

Solo me queda decir que el anillo de claves se guarda en disco cifrado (obviamente) con AES y SHA256, al menos en esta versión, lo que me parece razonable, aunque seguro que siempre hay contaseñas que mejor las tenemos en la cabeza y punto ;).

Me está resultando tremendamente útil en el día a día, aunque es una lástima que la aplicación de escritorio para gestionar los anillos parezca estar sin acabar sin dejarnos configurar algunas cosas de los anillos :(.

Anotación por Juan J. Martínez, clasificada en: security, gnome, software libre.

Hay 2 comentarios

Gravatar

Vaya te aburriste de hacer capturas. Mmm quizás podrías documentar el programita y enviarselo al autor. ;)

por corsaria, en 2007-01-13 10:39:28

Gravatar

Vaya susto me he llevado al clicar en el "leer más" y toparme con la ventanita de contraseña de gnome, sobre todo porque estoy en el curro... con XP...

xD

por jotape, en 2007-01-15 11:25:47

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Algunas anotaciones relacionadas: