Mvn --encrypt-master-password <пароль>: Хорошая практика для выбора <пароль>? Какой уровень конфиденциальности должен быть?
Я научился использовать maven password encryption, и я хотел бы знать, как выбрать параметр <password>
. Есть две вещи, которые я не понимаю:
1) mvn --encrypt-master-password foobar
всегда будет отличаться от encrypted master password
.
Так как encrypted master password
всегда отличается, я вижу только две возможности:
- Локальное свойство хранится где-то, чтобы его можно было использовать для дешифрования
encrypted master password
, чтобы получить master password
. Это означает, что наш encrypted server passwords
можно использовать только локально.
- Ничего не сохраняется, а
master password
бесполезен и не имеет значения.
Итак, мои вопросы здесь:
Что хранится локально? Будет ли мой master password
оставаться в безопасности? Есть ли третья возможность, о которой я не думал?
2) На веб-сайте maven написано:
Также обратите внимание, что зашифрованные пароли могут быть дешифрованы кем-то, у которого есть главный пароль и файл настроек настроек. Храните этот файл в безопасности (или сохранен отдельно), если вы ожидаете, что файл settings.xml может быть найден.
Если settings security file
- это то, что нужно защитить, почему я должен беспокоиться о выборе сильного главного пароля? Не могу ли я использовать foobar и сохранить settings security file
в безопасности?
Кроме того, похоже, что кому-то с двумя файлами (settings security file
и settings file
) не потребуется master password
для подключения к серверам maven. Он мог использовать нашу личность, не зная паролей. master password
является "единственным", необходимым для дешифрования servers passwords
(чтобы получить их обычный текст). Но опять же, защита settings security file
должна быть способом, и master password
останется бесполезным.
Мои вопросы:
Насколько важна master password
? Должен ли я это запомнить? Могу ли я использовать длинную случайную фразу и забыть ее навсегда?
PS: Я не смог найти свой ответ здесь.
Ответы
Ответ 1
Первый пароль используется для генерирования только мастер-пароля, тогда вы можете его забыть. Он генерируется с использованием механизмов шифрования и псевдослучайной составляющей. Вследствие этого не следует расшифровывать его. В вашем файле настроек безопасности ничего не хранится локально, кроме вашего основного пароля, и его больше не будет запрашивать или спрашивать.
Этот главный пароль используется для шифрования и расшифровки паролей в вашем файле настроек. Он имеет такое же значение, как введенный пользователем пароль, но его почти невозможно вывести.
Тогда:
-
В вашем файле настроек безопасности ничего не хранится локально, кроме вашего основного пароля, и он никогда не будет запрашиваться и не запрашиваться. Вся безопасность сохраняется в безопасности файла настроек безопасности.
-
Мастер-пароль не очень важен, и вы можете сразу забыть. Вы можете использовать все, что хотите.
Мне не нравится этот подход для защиты моего пароля, и я хотел бы иметь реальный механизм шифрования паролей с реальным мастер-паролем, который не хранится. Открыто-закрытый ключ с парольной стратегией кажется лучше.