Shaun McCance
shaunm@gnome.org 2011
Armazenamento seguro para senhas e outros dados
Enrico Nicoletto
liverig@gmail.com 2009
Rafael Ferreira
rafael.f.f1@gmail.com 2013

# Secret

GNOME uses libsecret as a secure keyring manager, to store users' passwords and other sensitive data. Applications can use the keyring manager library to store and access passwords, and users can manage their passwords using GNOME's Seahorse application.

O gerenciador de chaveiros oferece uma porção de chaveiros, onde cada chaveiro pode conter qualquer quantidade de itens de chaveiro. Os itens em um chaveiro armazenam alguma porção de dados, geralmente uma senha. Cada chaveiro é trancado individualmente e os usuários precisam fornecer uma senha para destrancá-lo. Uma vez que o chaveiro seja destrancado, o usuário possui acesso a todos os itens daquele chaveiro.

O gerenciador de chaveiros oferece acesso à listas de controles para cada item do chaveiro, controlando quais aplicativos possuem permissão para acessar aquele item. Se um aplicativo desconhecido tenta acessar um item do chaveiro, o gerenciador de chaveiros irá avisar ao usuário para permitir ou negar o acesso daquela aplicação. Isto ajuda prevenir programas maliciosos ou mal escritos de acessarem os dados sensíveis dos usuários.

Os dados dos chaveiros armazenados no sistema de arquivos é criptografado com o cifrador de bloco AES e o SHA1 é utilizado para "hashear" os atributos do item. Usando os atributos de hash, o gerenciador de chaveiros é capaz de consultar os itens solicitados pelos aplicativos sem nunca ter que destrancar o chaveiro. O chaveiro tem que ser destrancado quando um item correspondente é encontrado e acessado.

O gerenciador de chaveiros também oferece uma sessão de chaveiro. Itens na sessão de chaveiro nunca são armazenados no disco e são perdidos assim que a sessão do usuário seja encerrada. A sessão de chaveiro pode ser usada para armazenar senhas que serão utilizadas apenas na sessão atual.

If you use GIO to access remote servers, you automatically get the benefits of the keyring manager. Whenever GIO needs to authenticate the user, it provides the option to store the password, either in the default keyring or in the session keyring.

You should use libsecret's keyring manager whenever your application needs to store passwords or other sensitive data for users. Using the keyring manager provides a better user experience while still keeping user data safe and secure.

Gnome used a library called gnome-keyring before version 3.6 was released. In version 3.6 onward, libsecret is used instead. This allows sharing the keyring service between GNOME and other desktop environments and applications.

Libsecret Reference Manual