Как лучше всего использовать парольную фразу в партии?
Я на сервере Windows 2003 и мне нужно написать командный файл для автоматизации дешифрования с помощью GnuPG. Команда дешифрования требует парольную фразу для использования закрытого ключа.
Вот несколько возможных вариантов, которые меня не полностью удовлетворяют:
echo thisIsMyPassphrase|gpg.exe --passphrase-fd 0 --output %1 --decrypt %2
Такая жестко закодированная фраза не выглядит как безопасный подход! Кроме того, это не удобно для изменения (как непосредственно встраивается в файл.cmd).Сохраните ключевую фразу в отдельном файле и убедитесь, что только пользователь Windows, выполняющий процесс дешифрования, может получить к нему доступ (используя настройки безопасности NTFS).
gpg.exe --passphrase-file X:\passphrase.txt --output %1 --decrypt %2
Что мне здесь не нравится, так это то, что у нас где-то был бы голый файл, содержащий только эту крайне конфиденциальную информацию. странно поддерживать? легко найти?..Я не чувствую, что хранение ключевой фразы в переменной окружения звучит хорошо (выглядит довольно разоблачительно)..
echo %MY_PASSPHRASE%|gpg.exe --passphrase-fd 0 --output %1 --decrypt %2
Что вы думаете о лучшем (или "наименее плохом") решении для достижения этой цели?
1 ответ
Я думаю, что ваш второй вариант (файл паролей) кажется достаточно разумным для большинства случаев использования. А использование зашифрованной файловой системы Windows 2003 может снизить уровень беспокойства по поводу кражи физического сервера. Конечно, вы можете перепрыгивать через обручи, чтобы еще больше запутать пароль, но это будет только запутывание. Ваша истинная безопасность лежит в безопасности файловой системы NTFS.
Это почти смешно упоминать, но с "правильной" реализацией безопасности, являющейся балансом между стоимостью решения и стоимостью данных, если данные достаточно чувствительны и вы готовы потратить немного денег на проблему, есть аппаратные модули безопасности (nCipher приходит на ум), которые могли бы помочь с этим типом проблемы.
Вот ссылка на похожее обсуждение SO, если вы заинтересованы: Хранение паролей для пакетных заданий