Хранить пароль в зашифрованном файле с доступом для чтения и записи - PullRequest
0 голосов
/ 03 октября 2011

Есть ли способ сохранить в защищенном файле в системе?
Этот файл может быть доступен для чтения и записи с помощью сценария оболочки Unix.

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

Спасибо!

Ответы [ 2 ]

3 голосов
/ 03 октября 2011

Задавая этот вопрос, вы в основном говорите всем, что дизайн вашей системы несовершенен.

Если вы сохраните пароль, есть два варианта использования:

  1. Возможность сравнить введенный пароль с сохраненным
  2. Использование сохраненного пароля для чего-либо (т. Е. Приложению необходимо получить его в виде открытого текста)

Для случая 1 просто сохраните соленый хеш. Это безопасно, и даже если кто-то получит доступ к хешу, он не сможет ничего с этим сделать. Достаточно защитить его с помощью стандартных разрешений файловой системы UNIX - chmod 600 и другие пользователи (кроме root) не могут получить доступ к файлу.

Для случая 2 шифрование не имеет особого смысла. Ваше приложение должно иметь возможность дешифровать его, так что оно дает пользователям, которые смотрят на файл, ложное чувство безопасности (если ваше приложение может расшифровать его, каждый может). Использование разрешений файловой системы обычно достаточно безопасно.
Теперь вы можете сказать, что даже root не сможет получить доступ к паролю - действительный аргумент в многопользовательской системе. Однако root в любом случае может изменить / заменить вашу программу - так что это снова будет ложное чувство безопасности. В любом случае, в этом случае вы можете зашифровать его вторым паролем, который пользователь должен вводить каждый раз, когда пароль должен быть прочитан или записан. Тогда у вас будет что-то похожее на браузер менеджера паролей, где сохраненные пароли защищены мастер-паролем.

0 голосов
/ 03 октября 2011

Тогда вы хотите использовать криптографический API. Взгляните на это: http://www.linuxjournal.com/article/6451?page=0,0

И если вы хотите сделать это с помощью сценария оболочки, вы можете использовать 'md5sum' для шифрования строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...