Хранение паролей с помощью Python Keyring

Я использую библиотеку ключей для хранения паролей в моем приложении на python.

import keyring
keyring.set_password('My namespace', username, password)
keyring.get_password('My namespace', username)

И это работает очень хорошо.

Я предполагаю, что пароли в брелоке безопасны, они зашифрованы. Но, поскольку я могу получить их по имени пользователя, что мешает другим приложениям делать то же самое?

Разве это не угроза безопасности или я что-то упустил?

16
задан 20 December 2011 в 01:31

1 ответ

Библиотека ключей использует стандартный набор ключей вашего рабочего стола, например, брелок GNOME . Этот брелок разблокируется сразу после входа в систему, что означает: да, любое другое приложение, запущенное вами, имеет доступ к паролю, который вы храните вместе с вашим приложением, но - и это идея брелка - другие пользователи и их приложения не иметь.

Цитируя « gnome-keyring Security Philosophy »:

Примером театра безопасности является иллюзия, что каким-то образом одно приложение работает в контексте безопасности (например, ваш пользователь). сеанс) может хранить информацию из другого приложения, работающего в том же контексте безопасности.

Обратите внимание, что username в функциях set_password / get_password не относится к имени пользователя, запускающего приложение (т. Е. Пользователя, чье связывание ключей используется), но может быть, например, электронным письмом. адрес, имя пользователя базы данных и т. д.

0
ответ дан 20 December 2011 в 01:31

Другие вопросы по тегам:

Похожие вопросы: