LINUX.ORG.RU

md5 как пароль

 ,


1

4

Есть такая идея «сохранения» паролей. Берем осмысленное предложение и вычисляем от него md5 сумму, которую используем в качестве пароля. Предложение легко запомнить, а утилита для вычисления есть в любом дистрибутиве. Насколько безопасен такой способ?

★★★★

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

anonymous
()
Ответ на: комментарий от anonymous

используй sha256

Как скажете, Товарищ Майор.

anonymous
()

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

FluffyPillow
()

Результатом будет длинный и неудобный пароль, в котором энтропии кот наплакал => тогда уж лучше длинный и неудобный реально случайный пароль.

t184256 ★★★★★
()

Любое предложение имеет варианты написания: пунктуация (запятая или точка с запятой, двоеточие или тире, точка или многоточие), заглавные буквы, е/ё, разыные чередования -ой/-ою, -ье/-ие. И т. д. Придётся всякий раз перебирать все возможные варианты. Глупо и непрактично.

XVIII_vek
()

Берем осмысленное предложение и вычисляем от него ... сумму

По-моему все так и работают. Сами пароли нигде не хранятся. Хранятся только некие «суммы» от них.

Deleted
()

Ну кроме того что можно не заморачиваться с высчитыванием md5 как тут уже сказали, рассмотри такой кейс - ты логинишься где-то таким способом и у тебя рядом кто-то стоит и пялится в монитор - ты открываешь терминал и пишешь «echo 'мой пароль' | md5sum»? Секьюрно, чо. А еще на другой машине где ты логиниишься все команды будут на какой-нибудь удаленный сервер логироваться или на локальный в обход history, как почистишь? Опять же, представь что к паролю предъявляются требования типа «не больше трех букв подряд» - проще перебрать несколько хэшей или просто запомнить что в этом пароле у тебя после каждого второго символа идет цифра 1 или что-то в этом духе.

micronekodesu ★★★
()
Ответ на: комментарий от micronekodesu

Вопрос еще как он думает запускать md5sum с login screen если (наверняка) забудет пароль.

KennyMinigun ★★★★★
()
Ответ на: комментарий от Deleted

Да, в нормальных системах пара логин+пароль хешируется (используя например sha256) и сверяется с ранее записанной суммой. Отсюда побочный эффект — непрактичность дешифрования пароля в случае если владелец его забыл.

KennyMinigun ★★★★★
()
Последнее исправление: KennyMinigun (всего исправлений: 1)

Я все самописный велосипед хочу заменить на такое:

echo "secret:username@linux.org.ru" | md5sum | cut -d ' ' -f1 | xxd -r -p | base64 | cut -d '=' -f1
Где secret это мастер пароль.

anonymous
()
Ответ на: комментарий от Kuzz

И пароль оседает в открытом виде в истории))

Надо перед командой пробел ставить, тогда в истории не сохраняется.

anonymous
()

Собственно, в /etc/shadow примерно так и делают, с той разницей, что:

  1. Добавляют случайную «соль», чтоб
    1. взломщик не мог использовать словарь готовых хэшей;
    2. хэши одинаковых паролей выглядели по-разному;
    3. пароли нельзя было взломать при помощи радужных таблиц.
  2. md5sum, как уже сказали, на сегодняшний день считается не тру. Лучше использовать scrypt.

Однако все эти хэши не спасают от простых паролей, т. к. если взломщик исходит из того, что пароль является словарным словом либо распространённой комбинацией типа qwerty, abc123 и т. д. и оказывается прав, то простым перебором он сможет за ограниченное время подобрать нужное слово. Аналогично он может перебрать все полностью случайные, но короткие пароли (длиной <= 8 — 10 символов или даже больше, в зависимости от имеющихся аппаратных ресурсов, а это может быть целый ботнет с тысячами компов). Твой md5-хэш в качестве исходной парольной фразы будет эффективен до тех пор, пока кто-то не узнает или не догадается, что фразой может быть хэш. Дальше этот хэш взламывается элементарно при условии, что исходное слово довольно простое или короткое.

Лучший способ защититься — использовать абсолютно случайные буквенно-цифровые пароли длиной 15 символов и более либо использовать длинные фразы, состоящие из нескольких слов и не являющиеся устойчивыми выражениями, желательно с буквами, написанными в разном регистре и с цифрами (лучше где-то посередине). Ну и многое ещё зависит от хостинга, где этот пароль хранится (некоторые могут использовать вместо хэшей обратимое шифрование либо вообще хранить пароли открытым текстом, вот пруф) и от протокола соединения (например, пароли, передаваемые по http без s, как и по любому другому протоколу без шифрования, легко перехватить). На таких ресурсах учётные записи лучше не создавать либо использовать там другие пароли (в идеале пароль вообще на каждом ресурсе должен быть другой). И, конечно же, не забывать про кей-логеры, фальшивые веб-страницы и прочие уловки.

aureliano15 ★★
()
Ответ на: комментарий от aureliano15

либо вообще хранить пароли открытым текстом, вот пруф

Вкудахте так делает.

EXL ★★★★★
()

log2(10+6) * 32 = 128 бит сложности. Или случайный пароль из 96 символов длиной 19 байт.

anonymous
()
Ответ на: комментарий от vvn_black

Напишу только «радужные таблицы».

Вышла новая версия хешера паролей с защитой от «радужных таблиц»:

echo "$(echo secret | md5sum):username@linux.org.ru" | md5sum | cut -d ' ' -f1 | xxd -r -p | base64 | cut -d '=' -f1

anonymous
()

Берем осмысленное предложение и вычисляем от него md5 сумму, которую используем в качестве пароля.

Просто набери его в английской раскладке.

Zhbert ★★★★★
()
Ответ на: комментарий от anonymous
read -p 'Key: ' key && read -sp 'Passkey: ' passkey && echo "$(echo $passkey | md5sum)$key" | md5sum | cut -d ' ' -f1 | xxd -r -p | base64 | cut -d '=' -f1

Требует bash. Ох, чую перейду.

anonymous
()
Ответ на: комментарий от Zhbert

Кстати хороший способ, я его использую для своих компьютеров и vps(все лучше чем один пароль на все), только на стороннем ресурсе в интернетах его лучше не практиковать, т.к. такой пароль тяжело взломать инструментальным брутфорсом, но вот если пароль хранится в открытом виде(мыж не знаем добросовестность хозяев сервиса), то могут быть последствия. Пароль на стороннем ресурсе это в принципе мусорный пароль, после очередного слива паролей сервис попросить его сменить и осмысленный алгоритм может поломается, плюс в броузере есть менеджеры паролей, так что их надежнее генерировать.

anonymous
()
Ответ на: комментарий от Zhbert

Берем осмысленное предложение

Просто набери его в английской раскладке.

А смысл? Способу сто лет, и любой малолетний кул-хацкер о нём знает. А добавить в переборщик паролей таблицу перекодировки из русской в латинскую раскладку несложно. Как и сгенерить словарь русских слов, набранных таким способом. Зато при вводе такого пароля с виртуальной клавиатуры, где обычно одновременно видно только одну текущую раскладку, могут быть проблемы.

aureliano15 ★★
()
Ответ на: комментарий от Kuzz

Там дальше в моем сообщении есть еще немного текста, про историю в том числе.

micronekodesu ★★★
()
Ответ на: комментарий от boowai

Тогда уж надежнее unset HISTFILE делать )

YAR ★★★★★
()

Посмотри на pwgen -H, может устроит.

Только осмысленное предложение нужно в файл записать.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)

Должно быть труднопробиваемо, если сделать правильно. Например, хеш лучше считать каким-то PBKDFом,scryptом etc. Нужно ещё добавить к нему название сайта и логин, от которого пароль, что обеспечит уникальность результата. И обеспечить, чтобы компоненты(скажем, md5sum) были не специально поддельные, это вообще непонятно как.

У этого способа есть 1 большой недостаток - пароль трудно менять. Компроментация или потеря «основного» будет весьма болезненной. Соответственно, нужно писать скрипт обхода всех твоих серверов для автозамены старого новым способом, подходящим для каждого сервера способом(коих может быть много).

Да, и 1 маленький - войти на «первую» машину так не получится, т.е. уже 2 нужно.

Из готового со свистками и колокольцами есть masterpassword.

DonkeyHot ★★★★★
()
Последнее исправление: DonkeyHot (всего исправлений: 4)

Но нафига? Безопасности это не прибавляет, даже скорее наоборот - оставляешь пароль в открытом виде в bash_history (ну или что ты там используешь). Если так и делать то нужна соль.

StReLoK ☆☆
()
Ответ на: комментарий от Zhbert

А при чём тут это? Всё зависит от длины. Но речь ведь шла о наборе русского текста на английской раскладке. Если вот эту фразу набрать на английской раскладке, её сложно сломать. Но не из-за раскладки, а из-за длины. А сломать вместо «пароль» — «gfhjkm» — легко. Но это слово слишком короткое, его даже без словаря сбрутфорсить можно. Возьмём подлиннее: вместо «синхрофазотрон» — «cby[hjafpjnhjy» подобрать ненамного сложнее, если заранее предполагать возможность создания пароля по такому принципу. Т. е. эта абракадабра практически никакой доп. защиты не даёт, а вот сложностей при вводе с виртуальной клавиатуры добавляет.

aureliano15 ★★
()

Пока злоумышленник не ведёт на тебя целенаправленную атаку - вполне безопасен. Если начнёт вести и поймёт твою схему - способ будет безопасен ровно настолько, насколько безопасно твоё предложение.

Legioner ★★★★★
()

Всё можно сделать гораздо интереснее. Берётся мемас (желательно тупой) или картинка с котиками/сиськами/поняшами. Вычисляется хэш-сумма этого файла. Несколько символов в начале или конце суммы отбрасываются - и вуаля: получается пароль.

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

rmCharge
()
Ответ на: комментарий от rmCharge

Да, вот это звучит заманчиво. Если сделать какой-нибудь sha512, то вообще без шансов взломать, если, конечно не перехватят саму картинку, но это еще надо догадаться, что сумма с нее считается.

hotpil ★★★★
() автор топика
Ответ на: комментарий от hotpil

Вот именно. Такого мусора на любой флешке в избытке, и ответ на вопрос «зачем тут этот файл» как бы очевиден для постороннего.

rmCharge
()
Ответ на: комментарий от hotpil

Но зачем?

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

Усложнение парольной фразы после определенного момента не добавляет защищенности, а только привносит проблемы генерации, ввода и хранения, усложнение клиента и сервера, и т.п.

Куда уж надежнеё, короткий запоминаемый, но часто меняемый пароль. Или вообще автоматизация, читай «сессионные ключи». Всякий раз в подобных темах говорю, что я за токены, за связку короткоживущего сессионного и долго живущего рефреш-токена. В таком подходе тоже есть проблемы, но по крайней мере можно гарантировать, что злоумышленник (если он либо токены угонит, либо получит доступ к auth-серверу) будет иметь доступ к защищаемым ресурсам не больше времени жизни сессионного токена.

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

Я что-то не понимаю. Допустим, я взял картинку и сгенерировал хэш. Получилось что-то вроде 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 Это я использую в качестве пароля. Каким способом такой пароль можно подобрать? Брутфорс явно не сработает. «Словаря» для картинок нет. Допустим, стащат хэш этого пароля. Ну и что? Тут никакие радужные таблицы и словари не помогут.

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

hotpil ★★★★
() автор топика
Ответ на: комментарий от hotpil

Каким способом такой пароль можно подобрать? Допустим, стащат хэш этого пароля. Ну и что?

Его не будут подбирать, его просто «угонят» - троян, кейлогер, социнженерия, перехват при передаче auth-серверу, дырки и баги в реализации на стороне клиента etc. Тут сложность подбираемости пароля не особо и поможет.

А про радужные таблицы я написал, не разобравшись в ОП, неправильно понял идею. Да, при определенном подходе их использование для подбора пароля никак не поможет. Но проблема в том, что пароли как подбирают, так и воруют.

vvn_black ★★★★★
()

Насколько безопасен такой способ?

Видите ли, если есть метод, то есть и контрметод...

Есть аргумент, но есть и контраргумент...

anonymous
()
Ответ на: комментарий от hotpil

6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 Каким способом такой пароль можно подобрать

Например, хранящийся на сервере хеш сопадёт с таковым от слова «password». Просто не повезёт.

DonkeyHot ★★★★★
()
Ответ на: комментарий от DonkeyHot

Просто не повезёт.

Логика, знания, опыт (других людей и особенно - свой опыт), здравый смысл - это сила...

anonymous
()
Ответ на: комментарий от hotpil

Вычислять по файлу может быть дофига неудобно: если перед тобой только 1 комп с приглашением от /bin/login, то хэш считать тяжко. А сольют такой пароль, как и любой другой, ты же не знаешь наверняка, хранят ли в открытом виде базу паролей на отдельно выбранном ресурсе.

lu4nik ★★★
()
28 июля 2018 г.
Ответ на: комментарий от DonkeyHot

Просто не повезёт.

На Бога надейся, а сам не плошай. Бережёного Бог бережет. Бог - он Бог, но и сам не будь плох.

anonymous
()

Берем осмысленное предложение и вычисляем от него md5 сумму, которую используем в качестве пароля.

... И прилично понижаем стойкость пароля.
Алфавит исходного пароля - 26 + 10 и на два ещё помножь, если буквы разного регистра.

Алфавит мд5сум - 10 + 5 символов.
Если знать о твоих за***х, можно проще перебором подобрать твой пароль.

//Тред не читал

aol ★★★★★
()
Ответ на: комментарий от KennyMinigun


Да, в нормальных системах пара логин+пароль хешируется

Плюс добавление «соли».

Deleted
()

Ты придумал brain wallet. Как практика показала, такое ломается быстрее чем кошки рождаются.

beastie ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.