Как обрабатывать пароли в скрипте: в памяти или в файле

Как обрабатывать пароли в скрипте: в памяти или в файле

У меня есть скрипт, который работает на VPS у дешевого облачного провайдера. Сценарий такой: я доверяю своему провайдеру, но предпочитаю усложнить ему жизнь, если он когда-нибудь захочет украсть мой ключ. Все интересующие папки на жестком диске зашифрованы (truecrypt или что-то подобное), в открытом виде только когда машина включена (всегда, но если они вытащат hhd, они не смогут посмотреть мои данные)

Какое решение является наилучшим для обработки ключа API Dropbox внутри скрипта?

Примечание: скрипт получит файлы с FTP, загрузит их в Dropbox и удалит с диска.

Я думал сохранить зашифрованный файл (openssl/pgp), и когда я запущу скрипт (с ключом дешифрования, введенным вручную), он расшифрует ключ, сохранит его как переменную и будет использовать при необходимости (скрипт останется активным навсегда).

Есть идеи/комментарии?

решение1

Вы могли бы использовать что-то вродеpython-gnupgчтобы файл был зашифрован с помощью gnupg. Для достижения "реальной" безопасности вам нужно поместить парольную фразу в закрытый ключ, в противном случае у вас будет зашифрованный файл, содержащий пароль и закрытый ключ на одном сервере, поэтому расшифровка файла будет тривиальной. Плохо иметь парольную фразу каждый раз, когда вы запускаете свой скрипт, вам нужно будет вводить парольную фразу, но это можно минимизировать, используя gpg-agent и вводя пароль только при загрузке машины.

решение2

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

Связанный контент