Комментарии 270
Я хочу свободно заходить на этот сайт не задумываясь над паролем.
Я не введу никогда сюда свои персональные данные или номер банковской карты.
Почему. Мне. Нельзя. Использовать. Простой. Словарный. Пароль?
На самом деле вопрос должен звучать так:
Почему. Мне. Вообще. Нужно. Придумывать. Пароль?
Вход на сайт через социальные сети рулит. Если, конечно же, это не единственный способ входа.
Ну, Google+ — тоже какбысоцсеть. В общем-то, про него в первую очередь и писал.
Было бы неплохо наверно сделать что-то похожее на сервисы, которые выдают сертификаты для HTTPS. Типа стандарт общий (да да я знаю про OAuth). То есть ты заходишь на сайт и говоришь, что вот такой-то провайдер знает меня под ID таким-то. А у провайдера подтверждать свою личность через несколько степеней защиты, типа биометрии. Эх… Мечты мечты…
Но на сколько я знаю G+ не самый популярный способ логина
В случае телефонов на Android приложения используют сервис гугля как основной способ авторизации.
Такой стандарт есть, OpenID называется (не путать с OpenID Connect, который есть дальнейшее развитие OAuth 2), да как-то не получил распространения. Основная проблема — требуется помнить свой URL-идентификатор (например мой — это https://me.yahoo.com/envek для Yahoo (в форму можно вводить просто me.yahoo.com — будет работать), а для гугла его вообще не запомнить никогда)
И как это поможет, если авторизация по гугл-аккаунту?
А в соцсети как входить? Просто перекладываем свои проблемы на них? :)
Да и в целом, по-моему, массовых атак типа фишинговых на популярные соцсети и подобные сервисы больше, чем на какой-то сервис, у которого максимум миллион пользователей. Да и к аккаунтам соцсетей в целом у пользователей менее серьёзное отношение, чем, скажем, к финансовым, где их деньги лежат и очень возмущаются, когда им хотят "пришить" ответственность за действия, совершенные с помощью их аккаунта соцсети, заметно больше, чем за независимый аккаунт с паролем. Так и говорят: "да минимум 10 человек знают мой пароль от контактика, а я этого не делал".
То есть я как раз бы не доверял соцсетям (собственно и не доверяю), если даже индивидуальная разовая ложноположительная аутентификация может стоить заметную для прибыли/оборотов сумму.
Во-первых, если человек использует вход на важный сайт через соцсети — он и к паролю в соцсети отнесется внимательнее.
Во-вторых, напомню — речь шла о случае "Я не введу никогда сюда свои персональные данные или номер банковской карты" и вход через соцсеть я рассматривал как альтернативу простому словарному паролю.
В-третьих, обратите внимание на вот это уточнение:
Вход на сайт через социальные сети рулит. Если, конечно же, это не единственный способ входа.
Во-первых, если человек использует вход на важный сайт через соцсети — он и к паролю в соцсети отнесется внимательнее.Это работает только в том случае, если человек не совсем полный клинический идиот и в состоянии вывести следствие одной сущности из другой. Обычно это слишком уж оптимистичные ожидания. Либо ему нужно об этом постоянно напоминать так, чтобы он это понял, не пропустил, задумался, поработал головой и принял решение, исходя из всего вышеперечисленного. И всё это ещё надо на нескольких уровнях несколько раз проконтролировать. Тогда ещё можно утверждать, что человек, в теории, возможно, если его прямо направить, вероятно, таки сможет оказаться в числе тех 10%, которые лишь чуть-чуть более внимательно обратят внимания на что-то (при этом, не важно на что — на анимированный логотип, гавкающую собачку за углом и на пролитый на брюки горячий чай).
Вход на сайт через социальные сети рулит
"Брелок: маленькая штуковина, которая предоставляет Вам возможность потерять ключи от всех Ваших дверей одновременно."
Уже с полгода ловлю себя на мысли, что на паре параноидальных сайтов, на которые приходится заходить примерно 1 раз в месяц я чаще пользуюсь кнопкой «восстановить пароль», чем обычным входом на сайт с первого раза.
Пользуюсь сто лет уже статическими генераторами (т.е. ни запоминать ни записывать не нужно от слова вовсе).
Не сочтите за рекламу к примеру вот мой самописный плагин под лиса
— Розы.
— Извините, в вашем новом пароле слишком мало символов!
— Розовые розы.
— Извините, пароль должен содержать хотя бы одну цифру!
— 1 розовая роза.
— Извините, не допускается использование пробелов в пароле!
— 1розоваяроза.
— Извините, необходимо использовать, как минимум, 10 различных символов в пароле!
— 1гребанаярозоваяроза.
— Извините, необходимо использовать, как минимум, одну заглавную букву в пароле!
— 1ГРЕБАНАЯрозоваяроза.
— Извините, не допускается использовать несколько заглавных букв, следующих подряд!
— 1ГребанаяРозоваяРоза.
— Извините, пароль должен состоять более чем из 20 символов!
— 1ГребанаяРозоваяРозаБудетТорчатьИзТвоейЗадницыЕслиТыНе ДашьМнеДоступПрямоБлядьСейчас!
— Извините, но этот пароль уже занят!
Почему. Мне. Нельзя. Использовать. Простой. Словарный. Пароль?
Неплохой пароль и Вы его уже запомнили xD
стоит ли считать «верно лошадь батарейка скрепка» примером
Я думаю, в комиксе учтены факторы: "в основе нераспространенное осмысленное слово" и "четыре случайных обычных слова". А KeePass считает энтропию как-будто это бессмысленные наборы символов.
На самом деле, ввести что-то, кроме 7-битного ASCII до сих пор очень сложно на абсолютном большинстве сайтов, устройств и всего остального, и добавлять с свои пароли юникод означает практически гарантированно остаться без возможности входа на любой хоть немного нестандартной/несовременной системе.
Ещё хуже. Автор не представляет себе что такое юникод на самом деле и то, что в его примере получилось, что длина "символа" равна двум — это не проблема юникода, а проблема того языка программирования, которым он воспользовался. Даже если все наши устройства поддерживают юникод и мы придумали способ ввести нужный символ (ну, хоть копипастой из программы управления паролями) остаётся нехилая проблема множественности вариантов представления одинаковых юникодных глифов в отсутствие контроля со стороны пользователя за этим. Мы не знаем в каком из вариантов будет представлен один и тот же юникодный символ в том или ином браузере/устройстве/операционке и не изменится ли эта ситуация со сменой версии.
Ну, зачем изобрели — понятно. Помните времена, когда только общераспространённых кодировок кириллицы было пять штук? ;). И ещё несколько чуть более редких. А половина программ работала при этом так, словно в мире сушествует только 7-и битный ascii. На самом деле в рамках уникода предусмотрено решение всех этих проблем. Проблема, как обычно, в головах разработчиков. Как тогда считали, что все в мире тексты в 7-и битном ascii, так и сейчас считают… Да так же ничего не считают, как-то работает — херак, херак и в продакшн.
Мы не знаем в каком из вариантов будет представлен один и тот же юникодный символ в том или ином браузере/устройстве/операционке и не изменится ли эта ситуация со сменой версии.
Та какая разница? Вы получаете просто массив байт, который сразу же отдаете в хеш-функцию. Пусть они там хоть член анси-артом рисуют. Главное, чтобы ваш сайт не мешал пользователям рисовать все, что они хотят, об этом автор и говорит. Потому что задрали сайты дибилов, которые ставят ограничение «меньше 8 символов» и обязательно большая буква. А я не хочу большую букву, я хочу 20 символов кириллицей.
Так пользователь будет наезжать, что на компе под виндой он вводит "ЁЁЁЁЁЁ" и всё работает, а на айфоне то же самое не работает.
Потому что сегодня глиф "й" ваша версия браузера пошлёт одной двубайтовой последовательностью и у вас будет один хэш, а завтра версия браузера сменится или апдейт операционки произойдёт и этот глиф пошлётся как "и", плюс отдельная кратка. Четыре (или больше) совершенно других байта. И ваш пароль перестанет работать. И вы обвините в этом владельца сервиса. Есть варианты с нормализацией/канонизацией, но там всё сложно и есть куча подводных граблей на которые разработчик обязательно наступит.
Почему про "й" вспомнил, недавно на медузе в некоторых браузерах на некоторых операционных системах в одной из статей кратки отделились от своих "и". Выглядело психоделично. Просто потому, что программа, в которой текст набирали, решила, что именно такой вариант представления буквы "й" будет лучшим. И она была права, так тоже можно. А то, что некоторые растеризаторы в некоторых операционках глупые...
Так можно и именно такова реальность. Правильная работа с юникодом — дело очень не простое, я об этом и говорю. Поэтому, в такой тонкой сфере, как аутентификация, самое разумное — придерживаться проверенных простых решений.
При чём здесь это??? Вы нажимаете на клавиатуре "й", а в файле получаете любой из допустимых способов представления этого глифа. Они все равноправны и все допустимы в рамках спецификации. И этому есть объективные причины. Программа обработки должна обрабатывать все возможные варианты приблизительно одинаковым способом (но, поскольку, тема крайне сложная, а людей, как и вы, совершенно не понимающих как там всё устроено, тоже много, ошибок хватает и будет хватать ещё долго). Давайте вы сначала хоть немного почитаете чего-нибудь на эту тему, тогда мне не придётся отвечать на вопросы не имеющие ничего общего с темой.
Не надо мне читать, я уже это знаю, но со спецификацией не согласен.
И если кто-то сделал для й представление через два раздельных знака, то это не означает что он был прав
С чего вы взяли?
Это примерно как заменять ё на йо — звуки-то одинаковые, или на е — не маленький, должен знать где какой звук.
Вы опять какую-то ересь несёте. Какое отношение звуки имеют к глифам? Мы про глифы говорим, а про звуки. Юникод не предназначен для представления звуков.
Хотя ё вполне себе самостоятельная буква, а не е с умляутом.
Разницы нет.
Не надо мне читать, я уже это знаю
Зачем тогда то ворд с пробелами приплетаете, то звуки?
но со спецификацией не согласен
(пожимая плечами) вы просто не умеете её готовить.
Не стоит забывать про принцип неуловимого Джо. Для хранения паролей можно использовать менеджеры паролей.
А двухфакторная авторизация хороша дома. И очень напрягает при путешествиях по миру.
Это не говоря о том, что в принципе невероятно напрягает необходимость кому-ни-попадя давать номер своего мобильника. Потом спамеры звонят по 8 раз в сутки :(
…
— Пароль у меня такой… мама сшила мне штаны из березовой коры
— Молодой человек, кто вас такие пароли учил делать?.. Набирать также?
— Хакер один знакомый. Да, также… Только вместо символов нижнего
подчеркивания ничего не ставьте.
— Вы ошибаетесь — пробелов в пароле быть не может.
— А пробелы и не надо — все слитно пишется.
...
Напомнило классику:
сорок тысяч обезьян в жопу сунули банан
© Чингиз (из «Фальшивых зеркал»)
Shocking nonsense is unlikely to be duplicated anywhere because it does not describe a matter-of-fact that could be accidentally rediscovered by anyone else and the emotional evocation makes it difficult for the creator to forget. A mild example of such shocking nonsense might be: «mollusks peck my galloping genitals» (...) Even relatively short phrases offer acceptable entropy because the far larger «alphabet» pool of word symbols that may be chosen than the 26 characters that form the Roman alphabet. Even choosing from a vocabulary of a few thousand words a five word phrase might have on the order of 58 to 60 bits of entropy
alt.security.pgp — Passphrase FAQ, Grady Ward, 2/10/1993
Это фраза, первая буква строчная, все остальные прописные. Пробелы значимы. В конце должна стоять точка.
А можно просто генерить случайный пароль, выдавать пользователю и не трахать мозг. Если надо присылать новый пароль на email и ссылку для одноразовой авторизации.
Именно так будто делать для https://DebtsTracker.io
А еще лучше — вход через oauth/openid. Тот же google+...
Ну и для тех у кого нет google+ — "присылать новый пароль на email и ссылку для одноразовой авторизации"
Зачем вам тогда вообще пароль? Просто присылайте одноразовую ссылку при каждом логине. Например, Medium так делает.
не, я не согласная :)
Требование на наличие спецсимволов и букв в разных регистрах я считаю идиотским. Причина простая: удобство набора, особенно на мобильных устройствах.
12-символьный пароль, содержащий только строчные буквы и цифры, набирать быстрее, чем традиционный 8-символьный пароль. При этом надёжность такого 12-символьного пароля все равно будет выше.
Ну и прочий идиотизм: ограничение на максмиальную длину пароля (где-то 8 символов — это максимум), запрет на использование ASCII спецсимволов.
это должно происходить в рамках проверки данных после ввода, а не в соответствии с предварительно разъясненным правилом.
Вот это точно вредный совет. Все ошибки должны подсвечиваться сразу же при вводе пароля, а не после отправки. И если сайт имеет правила (как в статье написано – совсем без правил не получится), то они должны быть доступны пользователю сразу где-нибудь в форме ввода (тултип, whatever).
Ещё одно забавное явление — восстановление пароля часто спасает меня на тех сайтах где в пароле было необходимо придерживаться множества правил. Вводишь новый соблюдая все парвила и, невероятно, оказывается что это и был пароль.
Какого черта до сих пор встречается максимальная длина в 16 или 20 символов?! Они там что, в открытом виде хранятся? В массивах константной длины?
Они там что, в открытом виде хранятся? В массивах константной длины?
Вы не поверите ...
Даже Яндекс хранил пароли в открытом виде. Иначе как объяснить факт, что при запросе забытого пароля от сайта на народе мне его просто прислали.
Иное объяснение: хранят зашифрованным и не теряют ключ дешифрации. Возможно даже ассиметричное шифрование — шифруют публичным ключом автоматически, а дешифруют закрытым вручную. Ну или, по крайней мере на другой машине.
Ого. Что не так?
Нет никакого смысла так извращаться — хранить хеши в базе попросту проще.
Если есть требование иметь возможность получить пароль в чистом виде, то хеши не подходят.
во всех прочих случаях, такая подмена ни на что не повлияет
И эта единственная ситуация является крайне важной.
Люди обычно используют одинаковые логины-пароли для разных сервисов.
Взломали один — взломали все.
Здесь-то как раз объяснение простое — народ не всегда принадлежал яндексу
Вот, скажем, 255 символов — вполне разумный предел.
В Беларусбанке — максимум 12 символов. Разработчики пару лет назад обещали обратить внимание, но воз и ныне там.
Ужас-то какой, жить без юникода на клавиатуре.
Alt-код
1. Юникод? Серьёзно? Автор слышал про понятие «standard by implementation»? Единственный вид паролей, который гарантированно поддерживается всеми системами авторизации, это ASCII — так сложилось исторически. Автору может это не нравиться и он может разглагольствовать про «двинутых американцев», но факт остаётся фактом.
2. У среднестатического пользователя есть аккаунты на 15 и больше ресурсах. Типовые правила безопасности советуют иметь по 1 уникальному паролю на ресурс. И чем же 15+ паролей из скрепок и смайлов лучше, чем то же число нормальных случайных ASCII паролей скажем втрое большей длины, при том, что их запоминанием всё равно займётся скорее всего менеджер паролей?
> Прикиньте, рандомный пароль может и не содержать в себе цифры или символа
Прикиньте, есть генераторы рандомных паролей, от которых можно это условие явно потребовать.
Потребовать-то можно — но запомнить такой пароль это не сильно поможет.
Проблема изначально была в том, что автор говорит «рандомный пароль может не содержать цифры». Ну и чо дальше?)) Автору как будто лень сгенерировать пароль ещё несколько раз до достижения нужного результата (вряд ли многие генераторы паролей создадут пароль без цифр много раз подряд) или использовать/написать другой генератор паролей, который гарантирует наличие нужных ему символов в пароле.
Менеджер паролей это плохо — нужно как минимум дополнительно думать над бекапом, над защитой от утечки данных менеджера.
Лучше забыть пароль, ага
Если вы думаете о безопасности, то вы и так делаете бэкап данных и защищаете их безопасность.
Думать и делать — разные вещи.
Банально может не хватать денег/времени на реализацию нормальной процедуры бекапа. В такой ситуации бекапятся только самые критичные данные исключительно способом избыточного копирования на внешние носители.
Насчёт защиты от утечек — всё ещё печальнее, т.к. существует множество дополнительных точек отказа.
1. Генерирую случайный пароль каким-нибудь pwgen
2. Сохраняю его в Keepass
3. Всегда копирую его с Keepass
Я использую Keepass2Android — прекрасно всё работает.
Синхронизирую через Google.Drive
По поводу статьи — единственный баттхёрт, который по поводу паролей у меня возникает — это когда я пытаюсь зайти на сайт, на котором я регился до начала использования Keepass.
Менеджер паролей хорош только когда пароль применяется локально и только на одном девайсе, а когда авторизацию надо проводить на разношерстных девайсах… начинается ад. Конечно, можно поставить галочку «запомнить авторизацию» и сайты не будут переспрашивать каждый раз пароль, но рано или поздно кукисы протухнут в самый неподходящий момент и потребуется ввести пароль а до компьютера с менеджером паролей 2 часа езды…
К слову сказать, есть ещё и аппаратные менеджеры в виде эмулятора USB-клавиатуры, но и у них есть недостаток — физическое воплощение девайса делает возможным украсть все пароли одним махом поскольку физическая защита носителя как правило страдает, а надёжная защита приводит к значительному неудобству использования. Да и проблема бэкапов, внезапного выхода из строя и т.д.
В том же примере про лошадку всего 4 обычных распространённых слова.
Словарь в 1000 слов — это уже 10 бит энтропии на слово. 4 слова — 40 бит.
"слова являются стандартными единицами языка, которых в лексиконе человека не так уж много".
Не.
Так.
Уж.
Много.
))))))))))
Исключения могут составлять лишь авторы газетных статей, писатели, рерайтеры и т.д. но их мало. В целом, словарный набор типичного пользователя не такой уж большой, не думаю что люди будут заглядывать в энциклопедии чтобы придумать стойкий пароль — слишком уж они ленивы и используют слова из повседневного лексикона.
На всякий случай уточню, что слово из всего четырех букв имеет 16 вариантов написания:
- хабр
- Хабр
- хАбр
- хаБр
- хабР
- ХАбр
- … (продолжите сами) :)
Ведь именно на форумах обычно больше всего абсолютно бесполезных регистраций. Зарегистрируйтесь чтобы посмотреть картинку в сообщении, чтобы скачать вложение, чтобы посмотреть все ответы в теме (очень надеюсь, что всё это осталось в прошлом). И всё это на узкоспециализированных форумах, на которые уже никогда не вернёшься.
Что если я хочу пароль из трёх символов для этого аккаунта? Или вообще не хочу ни пароля ни аккаунта, а «просто спросить»? Что если ваш сайт (о божечки) не центр вселенной?
Раздражающие правила по паролям приходится обходить с помощью браузера, который запоминается все внесенные пароли, которые потом можно посмотреть (maxthon). А кому от этого легче? Это та же бумажка с паролем, приклеенная к монитору.
2. Вывести его в топ поиска гугла.
3. Сохранять все сгенерированные пароли,
4. ????
5. PROFIT
Пока не было нужды проверять, но идея хорошая.
То есть пароль из 12-16 символов, где есть 4 цифры, уже не проходит. Оригинально.
На сбере гораздо более весёлый прикол есть. Потерял листочек с паролем, получил новый, всё ок. Потом нашёл старый листочек и о ужас, пароль с него по-прежнему работал.
Из Сбербанк Онлайна вход по паролям с бумажек выпилили. Совсем. Недавно ломался телефон — без него туда попасть уже нельзя совсем никак.
и установка своего логина и своего пароля из веб версии сбербанк-онлайна.
Господа программисты, вот объясните мне тупому. Почему в 2017 году крупнейший интернет магазин РФ, Юлмарт требует после ввода пароля, 2 раза распознать графическую капчу, а потом ещё и подтвердится по СМС?? но не позволяет использовать кириллические пароли ??
почему практически ни один вебсайт в РФ, от банков до форумов кулхакеров и крутых вебдизайнеров для супер дружелюбной OSX, не позволяют использовать кириллический пароль который сразу вам даёт ДОПОЛНИТЕЛЬНО 33 символа! но требуют цифры и буквы в 2-х регистрах ??
Даю идею которую можете запатентовать — при вводе пароля при вводе кириллических символов звёздочки д.б. красными, а при вводе символов вероятного противника из богомерзкого НАТО — синими, при вводе кракозябров (иероглифов катаканы и т.п.) из Азии — Жёлтыми (хер с ней с полит корректностью).
так почему ?? Почти ВСЕ сайты мира разрешают только латиницу в 2-х регистрах, цифры и спецсимволы, но не позволяют остальных символов Юникод ?? основные библиотеки под лицензией GPL/BSD и т.п. "что мешает ?"(с) продавцов пылесосов Кирби? Или все фрилансеры-программисты агенты АНБ/ЦРУ которые готовы сдать Э.Сноудена как стеклотару за гринкарту ?
А мне интересно: почему ни один из сайтов не принимает пароль, набранный в ошибочной раскладке? Казалось бы: если в паролях запрещена кириллица, а пользователь ввёл кириллицу, да преобразовать раскладку и всё. Но нет, в лучшем случае будет предупреждение о неверной раскладке.
Запрет же на не ASCII символы в паролях имеет давнюю историю, когда был зоопарк кодировок. Да и сейчас этот зоопарк никуда не делся.
Может потому что в основной части мира используется только одна раскладка?
зачем в российским интернет магазине, который настолько печётся о безопасности что насилует пользователей капчёй 2 раза а потом ещё и СМС кой, использовать ä, ü, ö или ß? да и если пользователь из Германии купит чтото своей маме в Ростове, в чём проблема ?? проверяй что всё в уникод, при необходимости конвертируй и бери от пароля хеш. Я честно говоря невижу ТЕХНИЧЕСКОЙ проблемы. 1 кириллическая Ж и Ё и Й по моему автоматически седлают бесполезными 99,9% ботов из КНР.
вы знаете сколькими способами в юникоде можно записать букву "Ё"? И хэши будут разные.
Нормализацию можно делать. Типа ä -> а, й -> и -> i. Правда, не всем такое понравится — некоторые пароли могут стать слишком слабыми.
«Й» вам не «и» краткое! О важности нормализации Unicode
Используется же обычно один какой-то вариант.
При смене устройства могут быть сюрпризы.
Есть прецеденты?
Экранную клавиатуру что, уже запретили? А таблицу символов? :-)
Выдыхайте, идеи не патентуются.
Господа программисты, вот объясните мне тупому. Почему в 2017 году крупнейший интернет магазин РФ, Юлмарт требует после ввода пароля, 2 раза распознать графическую капчу, а потом ещё и подтвердится по СМС?? но не позволяет использовать кириллические пароли ??
Потому что Юлмарт, как и большинство, не понимает принципа «Защита должна быть адекватной секретности, критичности и уровню важности защищаемой информации»
Когда надо иметь тысячу паролей, все эти рассуждения о их длине кажутся ерундой. KeePass и пароли в -дцать символов из случайных букв.
Вспомнился баян "самые надежные пароли — у неграмотныз людей".
(Я про "несловарность", не про простоту)
Есть ли что-то плохое в ограничении попыток ввода пароля в количестве — 1 попытка?
- пользователь знает и вводит свой пароль — ок
- пользователь допустил ошибку при вводе пароля — требуется капча
- пользователь допустил 5 ошибок — извините, только восстановление
- пользователю отправляется рандомный пароль
Ведь если сложность пароля нужна для предотвращения подбора, то
- угадать с одной попытки — лотерея
- распознать капчу — дополнительные ресурсы на атакующе стороне
- 5 неправильных попыток — это точно брутфорс?
- количество попыток храним в базе
- обнуляем при успешной авторизации
- обнуляем через сутки
- количество попыток храним в базе
Был практически уверен, что получу такой контр аргумент..
- По факту, в большинстве сайтов пользователь ВХОДИТ сразу после регистрации
- Стоит провести большое исследование на предмет "повторного входа" пользователя, если сайт для него не является первоочередным (блог/новости/рецепты).
- То есть, я считаю, что вероятность того, что пользователю вообще понадобится входить повторно на "ваш" сайт будет минимальна со стремлением к нулю.
Когда же ему нужен повторный вход?
- Пользователь ВЫШЕЛ с сайта сам
- Теоретически подвержен атаке "восстановите пароль"
- Истекло время жизни куки
- На большинстве известных сайтов это время больше или равно месяцу
- При активном использовании ресурса, время жизни постоянно продлевается
- На большинстве известных сайтов это время больше или равно месяцу
Тогда дальше, как часто пользователи ВЫХОДЯТ сами с вашего сайта?
- Если их процент низкий, например 1-5 человек из 100 — атака "восстановите пароль" будет потенциально успешной в крайне низком количестве учетных записей
- Здесь же, оцените вероятность того, что данный вид атаки будет интересен, когда заведомо не известно, авторизована ли жертва в данный момент
В заключении, существуют системы защиты от атак с одного IP, COOKIE, secret_key — тогда ваш ресурс должен быть очень "интересен" для атакующего чтобы он задействовал распределенную систему "умных" ботов. Также атакующему обязательно должен быть известен ЛОГИН жертвы. И пожалуйста, не упускайте всей той информации о "вероятности" перечисленной выше.
- Противостоять атаке "блокировка авторизации" на много проще чем заставить тысячи и или миллионы пользователей использовать сложные пароли.
- Пожертвовать 5% пользователей, которым ВОЗМОЖНО придется восстановить пароль (сделать на одно действие больше) в угоду НЕВОЗМОЖНОСТИ взломать пароли типа "123q"… вы серьёзно?
Ложная дилемма. На самом деле, неправильны оба варианта.
Для "проходного" сайта — регистрация через соцсети. Для важного сайта — 2FA (только сделанная по уму, а не как обычно). Если сайт может выступать в разных ролях для разных пользователей — предлагать выбор самому пользователю.
При 5 попытках ввода пароля аккаунт блокировался и требовалось физическое посещение банка.
А логин был инкрементальной айдишкой.
Короче говоря пройтись простым скриптом и парализовать работу целого крупного банка это показывает охренительность такого решения, да.
А если забыл пароль и подбираешь потому что не хочешь менять?
— Приоритет ставится как раз словам и числам сграбленным с информации о вас в соц. профилях и.т.д. Начиная с популярных банальных паролей мы далее перебираем все запоминающиеся слова или ассоциации с вашей профессией и.т.д до простого перебора слов из словаря в разном порядке — так проходим по большинству аккаунтов ежедневно делая разрешенные несколько попыток.
Дело в том, что как и раньше у большинства даже очень продвинутых пользователей пароль это все так же просто слова или комбинации слов. Средний словарный запас у вас около 80000 слов. Даже учитывая ваши уловки с нулями и прочими спец.символами которые в большинстве своем предсказуемы, количество вариаций с использованием интеллектуального самообучаемого метода на простенькой нейросети падает минимум в три раза. В этом плане пароль не имеющий под собой заложенных слов более сложен для данного метода. И именно поэтому большие компании вас просят использовать такие сложные пароли для запоминания.
— Для проблем с запоминанием придумали lastpass и им подобные. Самые популярные боты для подбора к ним даже не суются… В основном потому что тот кто хранит свои пароли в lastpass с него как раз взять то и нечего)))
Не знаю написали ли про это среди комментариев, может я пропустил, извиняюсь.
Ну, назовите мне отчество бабушки моего лучшего школьного друга в третьем классе.
Думаю, надо отходить от концепции использования паролей как таковой. Или, по крайней мере, использовать другие методы аутентификации там, где безопасность важнее юзабилити.
А что взамен паролей? Как аутенфицировать человека так, чтобы аутенфицирующая информация с одной стороны была всегда с человеком, а с другой, не могла быть легко воспроизведена другим человеком или программой?
Первая ласточка — Twitter Digits. Он считает что пользователь — это телефон.
В целом нужна аппаратная отвечалка на вопрос сервера, которую нельзя оторвать от пользователя.
Вмонтировать её в жопу и пользователь, садясь на стул, сразу вводит пароль :)
Сканер отпечатков — круть. Прикоснулся и зашел в OS.
Думаю будет удобно использовать это систему для авторизации на сайтах.
Нажимаешь авторизироваться тебе — прикосьнитесь к сенсору.
И все ты зашел на сайт. Все пароли генеряться и хранятся в аппаратном крипто чипе в ноуте или отдельном устройстве.
На телефонах проще. У многих есть сканер. Только надо как-то сделать чтобы эту систему можно использовать на всех сайтах. Как в браузерах которые запоминают пароль.
Вы доверите все свои банковские аккаунты (включая возможность брать кредит) такому сканеру?
До 9 раз можно сменить[/sarcasm]
LastPass умеет использовать сканер отпечатков на Android И автозаполнять в том числе — на сайтах в Chrome и в приложениях. Да, для этого нужно дать ему соответствующие доступы. И вопрос доверия становится еще более критическим.
А ещё есть ресурсы с «памятью», когда хранят данные о предыдущих паролях и не дают менять на ранее использованный, причём порой помнят в неприлично больших количествах.
Уж лучше двух факторная авторизация для таких параноиков.
Мне кажется, в этом контексте просто нужно упомянуть QWERTYCard.
У меня был мой любимый пароль (ну как был — он до сих пор жив и здравствует, просто нигде не используется). Но каждый умный сервис хочет, чтобы этот пароль был сложнее. То я не могу имя использовать в пароле, то спецсимвол нужен, то еще какая-то галиматья. Умножаем это на то, что пароль надо менять каждые три месяца — и вот у него уже итеративно меняются последние цифры. А потом и буквы, потому что пароль не должен быть «похожим» на прошлый…
Я христом богом молил админов убрать это. Я даже сбрасывал пароль своего коллеги по телефону в саппорт центре, чтобы показать, что процесс восстановления пароля — самое опасное, что можно придумать. Ничего не помогло. Аргумент был непобедим: я что, считаю себя умнее разработчиков Active Directory?
Ну я не смог доказать обратного — видимо потому, что я не умнее. Я просто распечатал пароль и повесил на монитор. Все, теперь секьюрно! Теперь сложно!
ставить пароль в 8 символов или короче — все равно что вообще его не ставить
Почему все так зациклены на атаке на хеш? Да, современными вычислительными средствами можно подбирать пароли. Но ведь если злоумышленник заполучил хеш вашего пароля, то скорее всего он получил и все остальные ваши данные, а в такой ситуации стойкость пароля это уже не самая большая проблема.
Я считаю, что стойкий пароль в 8 символов — это нормально. API аутентификации должен предотвращать брут форс.
Резюме: нужно считать сложность и взломостойкость пароля на этапе регистрации в баллах. За определенную узнаваемую последовательность добавлять определенное же количество баллов. Одна буква или цифра — тоже определенное количество баллов. И разрешать к регистрации пароли, набравшие нужное количество баллов. Алгоритм конечно же будет сложнее, зато эффекта больше.
Зачем люди придумывают тысячи реализаций выполняющих одну и ту же функцию. Никого же не парит яндекс uid на всех сайтах. Так почему бы не сделать общую авторизацию, открытую систему. На таких сайтах обычно больше комментирования и опросников, подписонов дальше не идет. Я считаю это неплохой старт для публичных централизованных методов авторизаций.
Кто будет контролировать эту единую авторизацию, вернее аутентификацию? Могу ли я ему доверять как пользователь? А как владелец сервиса?
А если серьёзно, то рано или поздно мы все к этому придём, сейчас больше проблема самого стандарта аутентификации и/или завышенные требования к ним. Для простых сайтов использующих данный виджет не нужно делать регистрацию по паспорту, мобиле. Взгляни на сервис комментирования disqus, встраивается двумя строчками кода, а красота какая. Сделать к примеру, что если в месяц меньше 10 тысяч обращений в систему авторизации, то бесплатно, иначе "… пошли тарифы".
Блокировщик рекламы даже близко не стоит по важности с единым центром(сетью) авторизации. Если вдруг подобный центр появится и все сервисы перейдут на него, то во власти этого центра полностью заблокировать активную сетевую жизнь пользователя. Ни тебе доступа к банковским счетам, ни к госуслугам, ни к социальным сетям со множеством контактов, ни к почте и мессенджерам, ни к играм, в развитии аккаунта которых ты годы положил, вообще ни к чему, где хранится твоя нужная и конфиденциальная информация, обнуление заработанной репутации.
Это даже не касаясь возможности утечек и не авторизованного доступа.
Кто владелец блокировщиков рекламы, могу ли я ему доверять как пользователь и он не будет сливать переписки с соц.сетей к себе?
Блокировщиков — много.
Почти все они — opensource и можно посмотреть код. Или свой написать, того или иного качества, попробовать если паранойя совсем замучила или по каким то другим причинам хочется. И пишут ведь люди — тот же Adhell для Samsung'ов который без рута (и прокси) блокирует во всех приложенияхю (статья на хабре есть).
Сами блокировщики и списки по которым они работают — вполне могут делаться (и делаются) разными людьми.
А (почти) единая аутентификация уже есть как бы — называется 'Войти через Facebook'. Более миллиардов потенциальных пользователей кто уже имеет аккаунт и может войти сайт одной кнопкой.
Вот только всякие нехорошие пользователи жалуются (особенно в Европе) что Facebook сам факт наличия кнопок 'войти' — использует для слежки за пользователями.
1. при регистрации пользователя не даю вводить пароль, но программирую автоматическую генерацию пароля и отправляю данные аутентификации на почту пользователя;
2. в личном кабинете пользователь может изменить пароль на свой, но при этом обязательно привожу несколько предложений о безопасности в виде предупреждения о персональной ответственности.
- Отправляете пароль открытым текстом по почте
- "Может изменить", а не "должен".
Если и отправлять по почте пароль, то исключительно одноразовый. Но тогда проще и удобнее отправлять одноразовую ссылку, по которой пользователь должен задать пароль.
отправляю данные аутентификации на почту пользователя;
Хранить пароль в почте не безопасно по определению, если это не одноразовый пароль/ссылка
в личном кабинете пользователь может изменить пароль на свой
А может и не заменить. А может опять поставить «123упячка321» как и собирался изначально.
Согласен на счёт «одноразовости» как пароля, так и ссылки.
Тогда зачем вы его генерируете при регистрации? и сообщение выше показывает то, что он не одноразовый
Получается, что вы заставляете сделать лишние телодвижения, результатом которых, в лучшем случае, защита останется на том же уровне, а в худшем ещё и сильно уменьшится
Брутфорс ограничивается рейтами сервера и настройками плюшек безопасности, которые там работают, но вот шутка про 550 лет побора при 1000 в секунду… на новых тесла от nvidia там около 9 миллиардов в секунду.
— qwerty1234?
— Да.
Требования к паролям — полная чушь