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

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

Этот главный пароль используется для шифрования и расшифровки паролей в вашем файле настроек. Он имеет такое же значение, как введенный пользователем пароль, но его почти невозможно вывести.

Тогда:

  • В вашем файле настроек безопасности ничего не хранится локально, кроме вашего основного пароля, и он никогда не будет запрашиваться и не запрашиваться. Вся безопасность сохраняется в безопасности файла настроек безопасности.

  • Мастер-пароль не очень важен, и вы можете сразу забыть. Вы можете использовать все, что хотите.

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