Как стать автором
Обновить

Комментарии 39

Почему пароли до сих пор доминируют в качестве основной формы аутентификации?

Потому что пароль хранися в голове, а ключ — на устройстве. Незаметно получить доступ к первому несколько сложнее.

Ключ можно защитить паролем.

Пароль всегда в голове, а защищённый паролем ключ — нет.

(Тонкий намёк: пароль не обязан быть коротким)

У меня ключ всегда с собой, + одно устройство с флеш памятью и можно перевести в режим ro, собственно там и хранится безопасная среда ) а второй раздел отдан под vc тоже в ro там пароли и прочее, а другое устройство это mfa так же для ssh и входа в аккаунты

Это здорово, но к сожалению малоприменимо в госовом энтерпрайзе. Тут политика ИБ проста как две копейки: блокируем просто всё так как нет времени строить нормальные белые списки

А у меня голова всегда с собой. А когда она сломается — тогда мне будует по....рпендикулярно и на пароли, и на ключи, и на весь этот гадский цирк с понями.

В голове сложные пароли (на каждый сервис свой сложный пароль буквы символы цифры регистр и тд)и 2fa сложно хранить, а в наше время без 2fa ни как) единственный сложный пароль у в голове это от хранилища vc но там тоже второй фактор в виде ключевого файла и пин-кода токена. И это всегда с собой. Даже если потеряешь токен это не страшно, он с скзи и поможет только полная очистка т.к. после 3х неверных пин-кодов он заблочится. Пин администратора(сложный пароль) пользователя(пин для доступа к ключам на токене) и гостя(для открытия vc) разные. У меня есть дубликаты дома в сейфе. Там точно не потеряется, и хранится в гермопакете на случай соседей выше.

В голове сложные пароли сложно хранить

correct horse battery staple

на каждый сервис свой сложный пароль буквы символы

Я говорю о своих сервисах. Нормальные люди не занимаются этими идиотскими танцами с буквами-цифрами-спецсимволами, нормальные люди делают длинные пароли.

хранится в гермопакете на случай соседей выше.

А в чём Вы его храните на случай уснувшего курильщика ниже? А на случай рязанского сахара?

correct horse battery staple

К сожалению, это не идеальный подход. Пароль из 4 слов через пробел можно подобрать намного быстрее, чем случайный такой же длины, с помощью словаря. Легко запоминаемые замены (в т.ч. что-то другое вместо пробелов) не особо помогают. Полезнее использовать сложные слова, чтобы они не попадали в короткие списки. См. https://www.youtube.com/watch?v=3NjQ9b3pgIg

Можно дальше заморачиваться, например, насчёт возможности разгадать ваш подбор слов (не идеально случайный) и пытаться обойти с помощью техник вроде Diceware https://www.youtube.com/watch?v=Pe_3cFuSw1E

Боюсь, что практически любая структура пароля, упрощающая запоминание, упрощает и подбор. Хотя не обязательно в той же степени, так что может быть простор для оптимизации.

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

Я говорю о своих сервисах. Нормальные люди не занимаются этими идиотскими танцами с буквами-цифрами-спецсимволами, нормальные люди делают длинные пароли.

Некоторые сайты, особенно банки и прочие финансовые организации, не принимают пароль без символа из каждой категории, вы такие специально стороной обходите? Хотя меня они тоже не радуют. Особенно раздражает, когда ограничивают длину пароля сверху 10-20 символами (обычно тоже банки, зачем?!), тогда действительно трудно придумать сложный и запоминающийся.

Пароль из 4 слов через пробел можно подобрать намного быстрее, чем случайный такой же длины, с помощью словаря.

Я в своё время занимался этим. Несложное предложение ("грустные фиолетовые котята щекотно красят прялку") ничуть не хуже, как в смысле запоминания, так и в смысле энтропии. Смысл в том, что интерфейс нужен другой: юнит здесь — не буква, а слово.

Особенно удобно нет набирать такой парол на мобильном устройстве.

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

Как будто удобнее набирать на мобильном устройстве случайный набор букв, цифр и спецсимволов, пусть и в 2-3 раза меньшей длины. А в базу паролей можно и то, и то сохранить, почему нет?

На Андроид-ТВ приставке.

Несложное предложение ("грустные фиолетовые котята щекотно красят прялку") ничуть не хуже, как в смысле запоминания, так и в смысле энтропии. Смысл в том, что интерфейс нужен другой: юнит здесь — не буква, а слово.

Вы говорите загадками — непонятно, с чем сравниваете.

В вашем предложении, очевидно, меньше энтропии, чем в строке из 48 символов из набора "маленькие русские буквы и пробел", т.к. далеко не всякая строка является предложением (и даже не любой набор букв является словом). С тем, что предложение легче запомнить, мне поспорить сложно, конечно.

Если вы имели в виду, что раз в предложении 6 слов, то надо сравнивать с 6 символами, то, скорее всего, вариантов слов всё же больше, чем букв (особенно английских), цифр и спецсимволов вместе взятых. Но тогда не так очевидно, что предложение легче запомнить.

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

Следите за руками.

В русском языке:

— более 12 000 прилагательных (13+ бит)
— более 16 000 существительных (14 бит)
— более 8 000 наречий (13 бит)
— более 30 000 глаголов (~~15 бит)

При построении предложения по схеме прил+прил+сущ+нар+гл+прил+сущ получается 13+13+14+13+15+13+14 = 95 бит информации, то есть 3.9*10^28 вариантов. Для сравнения, в пароле "{строчные,заглавные,цифры,спецсимволы}*15 — 7*10^27 вариантов, при этом запомнить абсурдное предложение на порядки легче, во-первых, потому что описываемую им ситуацию легко представить (то есть можно использовать визуальную, а не символьную память), а во-вторых, потому что такое предложение легко запомнить именно в силу его абсурдности (помним про лошадь с батареей?).

Ещё возражения?

Я, собственно, не возражал, спасибо за недостававшие детали. Ещё бы поменьше сайтов требовали по одному символу каждого сорта, или вообще ограничивали длину сверху...

Параноик мог бы сказать, что словарный запас отдельного человека более ограничен, выбор не случаен или не равновероятен (например, котята более вероятны, чем какие-нибудь тихоходки). Хотя вряд ли это существенно портит картину с абсурдным предложением.

В KeePassXC есть оценка энтропии пароля, которая вроде учитывает слова. Вряд ли русские на кириллице (не пробовал), но на них и меньше словарей для подбора заготовлено, наверное.

Ещё бы поменьше сайтов требовали по одному символу каждого сорта, или вообще ограничивали длину сверху...

Так о том и говорю, что эта методика — для, к сожалению, своих средств контроля доступа, потому что по всему интернету засели карго-культисты, действующие по принципу "у всех так — ну и мы так же сделаем".

вряд ли русские на кириллице

Ну, если проредить парольные словари от слов, не существующих в других языках — то его можно и мультилингвальным сделать: sad violet kittens paint spinning-wheel itchily тоже позволит Вам войти.

Курильщики и сахар решается третей копией которая хранится где то в другом месте, но чтоб случилось потерять свой комплект, и сгорел дома ,что должно случится то, конечно есть бекапы в облаках они шифрованные

Срались уже по поводу этой картинки -- у первого пароля энтропия вовсе не 23 бита, около сотни, па потому всё остальное - брехня.

Около 100 бит на 11 символов — это около 9 бит на символ, т.е. больше 500 вариантов, откуда, если реально появляются только латинские буквы (строчные и заглавные), цифры и амперсанд?

Не говоря уже о том, что основной посыл про атаку через словарь (хоть и относительно большой), распространённые замены и всего лишь пару дополнительных символов прошёл мимо вас. Можно накинуть ещё несколько бит за неиспользованные замены, типа 'b' на '6', разные схемы для паролей и т.п., но откуда взять ~70? Должен признаться, что я до этого момента упустил, что в этом xkcd это учитывается. Посмотрите, например, https://www.youtube.com/watch?v=3NjQ9b3pgIg, там подробнее это объясняют.

Вы не знаете, что там пользователь в словах на что поменял, это делает словари бесполезными.

Немногочисленные замены, безусловно, делают словари менее полезными, но не совершенно бесполезными.

В этом примере заменили 'o' на '0' и 'a' на '4', подобных визуальных сходств не так много, порядка 10, и их не так сложно перебрать по заготовленному списку, тем более что не для всякой буквы они вообще есть. Можно придумать более оригинальные замены, но их сложнее запомнить.

Там ещё одну букву выбросили (т.к. вообще в словаре troubadour), но такой вариант тоже не особо сложно перебрать. С добавлением лишних букв немного сложнее, но пока их немного, это не меняет энтропию кардинально, а запоминать сложнее опять-таки становится.

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

А ещё пользователь может дублировать букву или вставить символ в середину слова. Tr0b4-do0r В сумме всё начинает приближаться к полному перебору.

Ну, если вы готовы "поставить" ≈50 бит энтропии на то, что вставка и дублирование символов являются совершенно уникальными и непредсказуемыми идеями, то кто ж вам запретит, кроме разработчиков сайтов/сервисов, если они захотят заморочиться подробной проверкой безопасности пользовательских паролей. А если пароль для чего-то маловажного и больше ≈30 бит энтропии не нужно, то вообще практически всё равно.

Потому что если атакующий угадает ваш паттерн, то дублировать одну букву в 9-буквенном слове — это x9 вариантов, ≈+3 бита энтропии, а после этого добавить случайный символ в случайную позицию — это ~x11x64 вариантов (≈+12 бит), а если тот символ не из полного набора, то может быть значительно хуже.

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

Вы пытаетесь анализировать энтропию, зная пароль и делая странные предположения. Злоумышленник пароля не знает (можно лишь предполагать, что известна длина, и что он будет осуществлять перебор в сторону увеличения длины) и вынужден делать все возможные предположения. Да, он будет использовать словарь. Но с какого языка и с какими заменами? Всех основных языков со всем возможными заменами? С вашей логикой если вам показать любой пароль, то вы почти всего посчитаете низкую энтропию. Берём "HJuf874-90". Хороший пароль? Но он (совершенно случайно) частично совпадает со словом "рогА" на русской раскладке. Вполне себе слово. А раскладок в мире прилично существует. Можно сказать, что злоумышленник его по словарю подберёт. Или не подберёт. Или отчается подбирать на какой-нибудь грузинской фонетической раскладке со всеми возможными заменами. Или на китайской тоже со всеми возможными заменами.

Вы пытаетесь анализировать энтропию, зная пароль и делая странные предположения.

Да, я предполагал, что злоумышленник может угадать оптимальный метод перебора для получения вашего пароля (вы же его как-то придумали и запомнили), или дойти до него итеративно (в этом случае можно попытаться учесть более простые итерации в подсчёте количества вариантов). Я уже упоминал выше, что это, скорее всего, недооценивает сложность подбора.

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

А вы думаете, что с паролями лучше недобдеть, чем перебдеть?

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

Я двумя руками за длинные и случайные пароли, но меры защиты должны быть адекватны угрозам и учитывать способы использования паролей. И в большинстве случаев длинный пароль, содержащий словарные слова с небольшим количеством случайных символов и слобопредсказумыми заменами, даёт достаточный уровень энтропии. То есть условно говоря лучше такой пароль из 12..14 символов, который можно запомнить, чем заметно более длинный случайный, который обязательно нужно где-то хранить и при каждом использовании извлекать из хранилища. Не нужно забывать, что при серьёзных адресных атаках есть масса способов скомпрометировать практически любое часто используемое хранилище паролей: вектор аптеки просто переносится с самой системы на хранилище паролей, а в случае успеха и ущерб будет больше (вряд ли в хранилище хранится только один пароль). А чтобы понять эти самые разумные требования к безопасности, нужно правильно считать энтропию.

Я думаю, что по вашей логике получается, что если "запретить использование одинаковых подряд идущих символов в пароле", то энтропия повысится

Я не имел в виду ничего запрещать. Аналогично можно было бы сказать, будто из ваших (предыдущих) комментариев следует, что вы за ограничение длины пароля сверху ≈15 символами.

в то время как на самом деле она понизится

Вы имеете в виду за счёт снижения количества вариантов перебора? Кстати, вы оценили, насколько существенно? А то пока в ваших рассуждениях вместо расчётов я видел только "мнемоническое правило", будто после 5-6 модификаций слово превращается в совершенно случайный набор символов, спокойно набирая ≈50 бит энтропии.

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

Так вы начали эту ветку возражением, что "Tr0ub4dor&3" уже имеет энтропию "около сотни бит" и поэтому более длинный набор простых слов без трюков вроде "correct horse battery stable" — это шаг назад. Вы даже не приводили аргумент, что первый вариант проще запоминать или вводить, чем второй (не очевидно, но в принципе возможно). Заметно более длинный случайный пароль, который фактически невозможно запомнить, после этого никто не предлагал использовать.

И про угрозу слива всего парольного менеджера я согласен. Но я не думаю, что лично я смог бы запомнить десятки уникальных паролей вроде "Tr0b4-do0r" и "HJuf874-90", абсурдные предложения кажутся проще. При этом не исключаю, что у некоторых других людей (вас?) память работает иначе.

меры защиты должны быть адекватны угрозам

Да, я ещё выше написал, что если вам ≈30 бит энтропии хватает с запасом и удобно запоминать конструкции вроде "Tr0ub4dor&3", то спорить больше не о чем.

нужно правильно считать энтропию

Да, и я по-прежнему считаю, что если вам жёстко нужно больше ≈80 бит, то "Tr0ub4dor&3" использовать слишком рискованно.

Начинаем перебирать с чистых слов, потом добавляем замены/дополнения по одному в порядке уменьшения частоты использования. Лень считать сколько бит получится, но точно быстрее чем случайным перебором.

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

Совершенно любой набор символов, это "словарное слово с заменами". Причём замен не больше, чем символов в слове. Если не знаете, что на что менялось, то это уже набор символов. А задним числом любое слово можно до десятка бит заменами сократить, а по факту "короб.очка" уже набор символов, так вы не знаете, где и сколько символов вставлено и заменено и потому будет вынуждены подбирать.

Совершенно любой набор символов, это "словарное слово с заменами". Причём замен не больше, чем символов в слове.

Формально вы, конечно, правы, но есть разница в количестве и предсказуемости замен.

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

Речь шла не про "какие попало" замены, а предсказуемые замены, вроде T > 7, A > 4, O > 0, I > 1 и т.п.

Ключ хранится на бумажке, которая прилеплена к монитору 😀

Незаметно получить доступ к первому несколько сложнее.

Используй Силу кейлоггер.

Вы, я так понимаю, пропустили словечко "незаметно"?

Иногда приходится использовать сразу два костыля к ssh: autossh и sshpass. Это немного печалит :)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий