Являются ли GUID хорошими паролями?
Плюсы:
- Я не могу запомнить "хорошие" пароли в любом случае, поэтому их запоминание не является проблемой.
- они не похожи на пароли.
- они прокляты почти невозможно угадать (128 бит энтропии)
- легко генерируется (выгружает проблему "хорошего PRNG" )
Минусы:
В частности; как насчет паролей, которые вводят компьютеры, например, для входа в базы данных на некоторых настройках.
Ответы
Ответ 1
Один из основных заключается в том, что у вас не обязательно есть "128 бит энтропии", как указано в исходном вопросе.
Многие алгоритмы GUID содержат информацию, встроенную в них в предсказуемые шаблоны, например MAC-адрес компьютера, дату/время или инкрементную последовательность. Криптоанализ GUID WinAPI показал, что при исходном состоянии можно предсказать до 250 000 GUID, возвращаемых функцией UuidCreate
Например, у меня есть 50% вероятность угадать первую цифру в первой позиции третьей группы цифр, так как она будет либо 1 (для V1-гидов), либо 4 (для V4-гидов)
Источник: http://en.wikipedia.org/wiki/Globally_Unique_Identifier
Ответ 2
Минусы:
- Вы напишете их где-нибудь.
- Вероятно, вы отправите их по электронной почте или напишите снова, если вам нужно рассказать кому-либо еще.
- Они могут быть слишком длинными для определенных систем.
- Их практически невозможно запомнить, поэтому вы можете изменить их чаще, чем пожелаете.
Поэтому, если они не системные пароли, которые редко меняются, я сомневаюсь, что они хорошие пароли.
Ответ 3
Con:
Было бы почти невозможно запомнить 32-байтовую буквенную цифровую строку.
Ответ 4
Con:
- Некоторые системы имеют ограничения на максимальную длину паролей. Если вы используете только шестнадцатеричные цифры, это может ограничить вашу энтропию, возможно, всего 32 бита.
Ответ 5
Если вы действительно хотите получить защищенный пароль, рассмотрите passphrase. Длинная кодовая фраза легко запоминается и очень сложна для грубой силы.
Ответ 6
Кому-нибудь нужно вводить его в качестве пароля? Или вы хотите использовать его как единую вещь? Потому что серьезно, никто не хочет вводить GUID в поле пароля. У людей есть проблемы, как есть, входящие в WEP/WPA2 сетевые ключи Wi-Fi. И большую часть времени это одноразовые.
@Мияги: это самый очевидный вывод. Им придется записать это.
Ответ 7
Технически они были бы хорошими паролями
В реальной жизни они были бы ужасными паролями
В конечном итоге вам придется записывать пароли, использовать диспетчер паролей или какую-либо другую форму для фактического использования пароля... таким образом, чтобы переместить точку отказа из пароля в другой.
Рассмотрим использование фраз. Предложения с заменами для определенных букв или других символов, а также для чисел, набирая их с помощью SHIFT, конвертируя легко запоминаемые цифры в хорошо определенные последовательности символов.
Например bcs19850101bcs будет bcs! (*%)!)! bcs
Ответ 8
Минусы:
- Поля пароля не всегда достаточно длинны.
- Сложнее ввести - вы, вероятно, сохраните пароль в программе, а не в голове. Это немного проблема безопасности...
... профи:
- Никто не сможет вывести ваш пароль из вас.
Пароли с большим числом случайных чисел были выполнены ранее. Они называются OTP s и гораздо более безопасны, чем то, что вы предлагаете, потому что они меняются со временем и, как правило, генерируемых защищенными устройствами. Конечно, это актуально только в том случае, если вы разрабатываете систему паролей.
Ответ 9
Если вам нужен безопасный пароль, который вы хотите оставить менеджеру паролей в UNIX-подобной системе, вам гораздо лучше просто вытащить один из /dev/random и закодировать его на что-то читаемое. для 128 бит энтропии вы можете использовать что-то простое, например
head -c 16 /dev/random | openssl enc -a -e
который дает пароль типа 5eqIviKu4pFTqSPnYosVKg==
не необоснованно долго, безопасно, произвольно, самоубийство, чтобы попытаться запомнить.
Изменить: дополнительные преимущества этого метода над UUID включают дополнительную безопасность в PRNG (/dev/random) и более короткие пароли, аналогичные недостатки
Ответ 10
Недавно я написал код для преобразования первых 64 бит контрольной суммы в последовательность из четырех английских слов. Это делает хорошую контрольную сумму (гораздо легче запомнить, чем шестнадцатеричный беспорядок), но я не уверен, что буду доверять ей как пароль. Если вы защищаете что-то безопасное, вы должны использовать надежный пароль, который вы запоминаете и не записываете. Если нет, тогда будет использоваться любой старый пароль.
Ответ 11
Я думаю, что вы действительно хотите, это криптографически случайное число, а не GUID. GUID и UUID не являются случайными - как сказал JohnFx, они, как правило, включают в себя обнаруженные значения, такие как MAC-адрес или текущую временную метку, чтобы гарантировать уникальность.
Вместо этого вы должны посмотреть на любой доступный вам криптографический API и найти источник случайных чисел с высокой энтропией. Убедитесь, что документация promises подходит для криптографии, а не только для обычного PRNG. Например, /dev/random в Unix-системах - хороший источник. Затем просто разберите столько случайных байтов, сколько хотите.
Лично это кажется слишком хардкорным. Я бы предпочел генерировать строки, которые содержат немного меньше энтропии на каждого персонажа, но легче вводить и запоминать. Например, существует несколько алгоритмов, которые объединяют случайные слоги для создания произносимых бессмысленных слов; пересекайте некоторые цифры и знаки препинания, и у вас есть хороший пароль.
Ответ 12
Мне нравятся мои пароли strong и pronouncable (попробуйте один из сайтов перечисленные здесь для онлайн-демонстрации, обязательно выберите сайт "v2", чтобы получить руководство по прочтению).
Ответ 13
Con: Вы не можете перепечатать его, что означает, что вам придется копировать и вставлять. Если у вас есть ваша программа управления паролями в вашей системе, это не проблема. Но если вы окажетесь в системе, в которой вы этого не сделаете, просто перепечатать вещь будет очень сложно.
И затем после того, как вы попробуете пару раз, вы будете заблокированы....
Жизнь может стать очень раздражающей.
Даже если вы его запишите, хороший пароль - это то, что вы можете вводить последовательно без ошибок.