У меня есть сценарий, который работает на VPS в дешевом облачном провайдере. Сценарий такой: я доверяю своему провайдеру, но предпочитаю усложнять ему жизнь, если он когда-нибудь захочет украсть мой ключ. Все интересующие папки на жестком диске зашифрованы (truecrypt или аналогичные), и становятся понятными только тогда, когда машина включена (каждый раз, но если они вытащат жесткий диск, они не смогут просмотреть мои данные)
Какое решение лучше всего использовать для обработки ключа API Dropbox внутри сценария?
Примечание: скрипт получит файлы с FTP, загрузит их в Dropbox и удалит с диска.
Я думал сохранить зашифрованный файл (openssl / pgp), и когда я запускаю скрипт (с ключом дешифрования, введенным вручную), он расшифрует ключ, сохранит его как переменную и будет использовать при необходимости (скрипт останется живым навсегда)
Есть идеи / комментарии?
Вы можете использовать что-то вроде python-gnupg чтобы файл был зашифрован с помощью gnupg. Для достижения «настоящей» безопасности вам необходимо добавить парольную фразу к закрытому ключу, в противном случае у вас будет зашифрованный файл, содержащий пароль и закрытый ключ, на том же сервере, поэтому расшифровка файла будет тривиальной. Плохо иметь парольную фразу каждый раз, когда вы запускаете свой сценарий, вам нужно будет вводить парольную фразу, но это можно свести к минимуму с помощью gpg-agent и ввода пароля только при загрузке машины.
Это была бы безопасность через неизвестность, но другого выхода нет. Если вы хотите усложнить жизнь потенциальному вору, я бы предложил встроить ключ в скрипт, а затем преобразовать скрипт в исполняемый файл, используя shc. Вы также можете скрыть самого эльфа (Способы обфускации эльфа.) Имейте в виду, что что бы вы ни делали, это все равно можно разобрать и изучить.