Знаете, что самое худшее в паролях (а там есть из чего выбирать)? Требования к их сложности.
«Если мы не решим проблему с паролями при моей жизни, я восстану из могилы призраком и буду вас всех преследовать».
Пусть эта клятва будет записана на скрижалях Интернета. Я не в курсе, есть ли жизнь после смерти, но рано или поздно выясню, и тогда уж держитесь — у меня грандиозные планы.
Мир буквально погряз в ужасных правилах создания паролей:
> Тупые требования
> Примеры плохой политики
> Доска позора
Но вам все это и объяснять не нужно. Те, кто пользуется рандомными генераторами паролей, как и положено нам, гикам в последней стадии, на своей шкуре испытывают невыносимые страдания под гнетом этого режима изо дня в день.
Видели этот классический комикс о паролях от XKCD?
Разумеется, можно спорить, стоит ли считать «correct horse battery staple» примером хорошей стратегии для создания паролей, но суть аргумента в том, что длина решает.
Нет, серьезно, решает. Скажу даже больше: зуб даю, что ваш пароль слишком короткий. В наше время, учитывая, насколько развиты облачные вычисления и взлом паролей с помощью GPU, ставить пароль в 8 символов или короче — все равно что вообще его не ставить.
Тогда, получается, одно правило у нас уже есть: пароль не должен быть коротким. Длинный пароль с большей вероятностью окажется надежным, чем короткий… правда же?
А что скажете о таком пароле в 4 символа?
Или о таком, в 8 символов?
Или о таком, гипотетическом, но вполне реалистичном, в 7 символов?
«Извините, но ваш пароль должен содержать не менее одного символа из арабского, китайского, тайского, корейского и клингонского, пиктограмму из Wingdings и смайлик».
Кроме того, вы, наверное, удивитесь, но если вставить вышеприведенные 4 смайлика в поле пароля из вашего любимого окна авторизации (давайте, попробуйте), окажется, что там на самом деле… вовсе не четыре символа.
Господи.
Наш старый друг Юникод опять за свое.
Как выясняется, даже простое правило «ваш пароль должен быть разумной длины» работает с оговорками. Особенно если перестать мыслить, как двинутые на ASCII американцы.
Да и если присмотреться ко всем этим славным длинным паролям… всегда ли они надежны?
aaaaaaaaaaaaaaaaaaa
0123456789012345689
passwordpassword
usernamepassword
Конечно, нет. Вы вообще видели живых пользователей в последнее время?
Они последовательно портят каждую программу, которую я создаю. Да, да, знаю, вы гики в последней стадии и знаете всё о понятии энтропии. Но выражать свою любовь к энтропии через ужасные изощренные требования к паролям вроде:
в мире, где есть Юникод и смайлики, значит не иметь воображения.
Когда мы работали над Discourse, я узнал, что окошко авторизации, оказывается, очень сложный компонент софта, несмотря на внешнюю простоту. Главное требование к паролям, которые мы приняли — длина — также было достаточно простым. Пока я писал эту статью, мы уже успели увеличить минимальную возможную длину пароля с 8 до 10 символов. А для модераторов и администраторов и решили поставить нижнюю границу еще выше, на 15 символах.
Кроме того, я настаивал на том, чтобы проверять, не совпадает ли пароль с каким-нибудь из списка 100 000 самых распространенных. Если проанализировать 10 миллионов паролей, которые попали в общий доступ из-за утечек данных, выясняется, что чаще всего используются следующие 25:
123456
123456789
qwerty
12345678
111111
1234567890
1234567
password
123123
987654321
qwertyuiop
mynoob
123321
666666
18atcskd2w
7777777
1q2w3e4r
654321
555555
3rjs1la7qe
google
1q2w3e4r5t
123qwe
zxcvbnm
1q2w3e
Даже эти данные свидетельствуют об излишней зацикленности на системе ASCII. То есть цифры-то, конечно, везде одинаковые, но мне как-то не верится, что среднестатистическому китайцу придет в голову поставить в качестве пароля «password», «quertyuiop» или «mynoob». Так что такие списки необходимо составлять с учетом локализации и прочих параметров.
(Есть еще интересная мысль: искать популярные короткие пароли в составе длинных, но, как мне кажется, получится слишком много ошибок первого рода)
Представленная статистика также свидетельствует в пользу того, чтобы делать пароли длиннее. Обратите внимание: из 25 самых популярных паролей только 5 имеют длину в 10 символов и больше. Соответственно, если мы установим минимум в 10 символов, то уже одним этим отсечем 80% списка. Впервые я это выяснил, когда собрал несколько миллионов паролей из утечек данных в рамках исследования для Discourse и отфильтровал те, которые соответствуют нашему новому требованию, чтобы длина пароля была не меньше 10 символов.
И внезапно от огромного списка остались рожки да ножки. (Если вы тоже проводили подобные исследования, поделитесь, пожалуйста, результатами в комментариях)
Я хотел бы предложить коллегам-разработчикам следующие рекомендации, продиктованные исключительно здравым смыслом:
Одно правило, по крайней мере, легко запомнить, понять и внедрить. Это то самое пресловутое правило, чтоб править всеми, оно главнее всех, сберёт всех вместе и заключит во тьме.
Как я уже говорил, какие из них считать «распространенными», зависит от вашей аудитории и языка, но в любом случае, позволяя пользователям ставить пароли из списка 10 000, 100 000 или миллиона самых популярных паролей из утечек данных, вы оказываете им медвежью услугу. Нет ни малейшего сомнения, что хакер попробует эти пароли при попытке взлома, и, даже если вы ставите жесткие ограничения на количество попыток ввода, достаточно прогнать первую тысячу, чтобы добиться шокирующе хороших результатов.
Но вам повезло: в Сети можно найти целые миллионы списков «обнародованных» паролей. Производить расследование с опорой на эти данные даже весело — ведь это не какие-то вам абстрактные, искусственные правила, которые насочинял какой-нибудь программист со скуки. Нет, это самые настоящие пароли, которые использовали самые настоящие пользователи.
Проводите исследования. Собирайте данные. Спасайте пользователей от самих себя.
Тут ничего особо заумного, просто выберите ту величину, которая инстинктивно кажется вам подходящей в глубине души. Но не забывайте: вам придется объяснять свою логику пользователям, которые не пройдут проверку.
Я с некоторой грустью осознал, что нас вполне устраивает, чтобы пользователь установил пароль из 10 совершенно одинаковых символов («аааааааааа»). На мой взгляд, самый простой способ избежать такой ситуации — задать минимум в x уникальных символов на общее число y. Так мы и поступаем в последней бета-версии Discourse. Но если у вас есть какие-то другие идеи, будем рады услышать их в комментариях. Чем проще и яснее, тем лучше!
Стыдно признаться, но, реализуя окошко авторизации для Discourse, мы совершенно забыли про два распространенных случая, которые необходимо отслеживать и пресекать (я упоминал об этом в другой статье):
Если у вас стоит Discourse версии 1.3 и ниже — мне очень жаль, пожалуйста, обновите его как можно скорее.
Также, возможно, вам стоит блокировать еще некоторые разновидности:
Если вкратце, старайтесь мыслить, выходя за рамки поля для ввода — совсем как ваши пользователи.
Некоторые читатели восприняли мои слова как «все правила, кроме этих четырех, которые я сейчас распишу — полная чушь». Я имел в виду другое.
Мысль такая: сосредоточьтесь на одном ясном, простом и практичном правиле, который реально работает в любой ситуации — длине. Пользователи могут вводить что угодно (в разумных пределах) на Юникоде с одним условием — чтобы было достаточно символов. Пароль должен быть длинным — это то самое единственное собирательное правило, которому мы должны научить пользователей.
Пункты с третьего по пятый — это просто оговорки для особых случаев (типа как джину нельзя загадывать желание получить неограниченное число желаний). Тут не нужно каких-то предварительных обсуждений, потому что такие вещи должны быть редкими исключениями. Пользователей нужно останавливать, если они пытаются ввести пароль, совпадающий с именем, или 0123456789, или просто «аааааааааааа», но это должно происходить в рамках проверки данных после ввода, а не в соответствии с предварительно разъясненным правилом.
Так что, если в двух словах: правило одно — длина. Вводите что ваша душа пожелает, лишь бы количество символов тянуло на нормальный пароль.
«Если мы не решим проблему с паролями при моей жизни, я восстану из могилы призраком и буду вас всех преследовать».
Пусть эта клятва будет записана на скрижалях Интернета. Я не в курсе, есть ли жизнь после смерти, но рано или поздно выясню, и тогда уж держитесь — у меня грандиозные планы.
Мир буквально погряз в ужасных правилах создания паролей:
> Тупые требования
> Примеры плохой политики
> Доска позора
Но вам все это и объяснять не нужно. Те, кто пользуется рандомными генераторами паролей, как и положено нам, гикам в последней стадии, на своей шкуре испытывают невыносимые страдания под гнетом этого режима изо дня в день.
Видели этот классический комикс о паролях от XKCD?
Разумеется, можно спорить, стоит ли считать «correct horse battery staple» примером хорошей стратегии для создания паролей, но суть аргумента в том, что длина решает.
Нет, серьезно, решает. Скажу даже больше: зуб даю, что ваш пароль слишком короткий. В наше время, учитывая, насколько развиты облачные вычисления и взлом паролей с помощью GPU, ставить пароль в 8 символов или короче — все равно что вообще его не ставить.
Тогда, получается, одно правило у нас уже есть: пароль не должен быть коротким. Длинный пароль с большей вероятностью окажется надежным, чем короткий… правда же?
А что скажете о таком пароле в 4 символа?
Или о таком, в 8 символов?
Или о таком, гипотетическом, но вполне реалистичном, в 7 символов?
«Извините, но ваш пароль должен содержать не менее одного символа из арабского, китайского, тайского, корейского и клингонского, пиктограмму из Wingdings и смайлик».
Кроме того, вы, наверное, удивитесь, но если вставить вышеприведенные 4 смайлика в поле пароля из вашего любимого окна авторизации (давайте, попробуйте), окажется, что там на самом деле… вовсе не четыре символа.
Господи.
Наш старый друг Юникод опять за свое.
Как выясняется, даже простое правило «ваш пароль должен быть разумной длины» работает с оговорками. Особенно если перестать мыслить, как двинутые на ASCII американцы.
Да и если присмотреться ко всем этим славным длинным паролям… всегда ли они надежны?
aaaaaaaaaaaaaaaaaaa
0123456789012345689
passwordpassword
usernamepassword
Конечно, нет. Вы вообще видели живых пользователей в последнее время?
Они последовательно портят каждую программу, которую я создаю. Да, да, знаю, вы гики в последней стадии и знаете всё о понятии энтропии. Но выражать свою любовь к энтропии через ужасные изощренные требования к паролям вроде:
- должны содержать прописные буквы;
- должны содержать строчные буквы;
- должны содержать числа;
- должны содержать специальные символы.
в мире, где есть Юникод и смайлики, значит не иметь воображения.
Когда мы работали над Discourse, я узнал, что окошко авторизации, оказывается, очень сложный компонент софта, несмотря на внешнюю простоту. Главное требование к паролям, которые мы приняли — длина — также было достаточно простым. Пока я писал эту статью, мы уже успели увеличить минимальную возможную длину пароля с 8 до 10 символов. А для модераторов и администраторов и решили поставить нижнюю границу еще выше, на 15 символах.
Кроме того, я настаивал на том, чтобы проверять, не совпадает ли пароль с каким-нибудь из списка 100 000 самых распространенных. Если проанализировать 10 миллионов паролей, которые попали в общий доступ из-за утечек данных, выясняется, что чаще всего используются следующие 25:
123456
123456789
qwerty
12345678
111111
1234567890
1234567
password
123123
987654321
qwertyuiop
mynoob
123321
666666
18atcskd2w
7777777
1q2w3e4r
654321
555555
3rjs1la7qe
1q2w3e4r5t
123qwe
zxcvbnm
1q2w3e
Даже эти данные свидетельствуют об излишней зацикленности на системе ASCII. То есть цифры-то, конечно, везде одинаковые, но мне как-то не верится, что среднестатистическому китайцу придет в голову поставить в качестве пароля «password», «quertyuiop» или «mynoob». Так что такие списки необходимо составлять с учетом локализации и прочих параметров.
(Есть еще интересная мысль: искать популярные короткие пароли в составе длинных, но, как мне кажется, получится слишком много ошибок первого рода)
Представленная статистика также свидетельствует в пользу того, чтобы делать пароли длиннее. Обратите внимание: из 25 самых популярных паролей только 5 имеют длину в 10 символов и больше. Соответственно, если мы установим минимум в 10 символов, то уже одним этим отсечем 80% списка. Впервые я это выяснил, когда собрал несколько миллионов паролей из утечек данных в рамках исследования для Discourse и отфильтровал те, которые соответствуют нашему новому требованию, чтобы длина пароля была не меньше 10 символов.
И внезапно от огромного списка остались рожки да ножки. (Если вы тоже проводили подобные исследования, поделитесь, пожалуйста, результатами в комментариях)
Я хотел бы предложить коллегам-разработчикам следующие рекомендации, продиктованные исключительно здравым смыслом:
1. Требования к паролям — полная чушь
- Они не работают.
- Они наказывают аудиторию, которую вам нужно привлекать в первую очередь, — тех, кто пользуется рандомными генераторами паролей. Прикиньте, рандомный пароль может и не содержать в себе цифры или символа. Я два раза сверился с учебником по математике, и да, вроде бы такое вполне возможно.
- Они раздражают основную массу пользователей, отбивая у них охоту с вами сотрудничать и подстегивая искать всякие «остроумные» лазейки. В результате пароли получаются менее надежными.
- Они часто ошибочны, в том смысле, что предложенный набор правил недостаточен или попросту нелеп. Достаточно посмотреть на любой пример с доски позора, на которую я ссылался выше.
- Нет, правда, ради всего святого, хватит уже этой ерунды с произвольными требованиями к паролям. Если не верите мне, почитайте рекомендации по требованиям к паролям от NSIT. Вот, так и написано: «избегайте устанавливать правила создания паролей». Хотя, на мой взгляд, тут есть одна неточность, надо было написать: «избегайте устанавливать тупые правила».
2. Установите минимальную длину пароля в Юникоде
Одно правило, по крайней мере, легко запомнить, понять и внедрить. Это то самое пресловутое правило, чтоб править всеми, оно главнее всех, сберёт всех вместе и заключит во тьме.
- Это просто. Пользователи умеют считать. Ну, большинство умеет.
- Это работает. Статистика подтверждает, что это работает: просто скачайте любой список популярных паролей на ваш выбор и рассортируйте их по длине.
- Математика не даст соврать. При прочих равных условиях длинный пароль будет более рандомным, чем короткий, а значит, и более надежным.
- Смиритесь с тем, что даже у этого единственного правила будут исключения. Минимальная длина в 6 символов на китайском сайте — это вполне разумно. С другой стороны, пароль в 20 символов может быть до смешного простым для взлома.
- Если в ваше поле пароля нельзя ввести (практически) любой символ из Юникода, вы скорее всего что-то делаете не так.
- Это уже больше относится к частностям реализации, но не забудьте также установить вменяемую максимальную длину пароля.
3. Сверяйтесь со списком самых распространенных паролей
Как я уже говорил, какие из них считать «распространенными», зависит от вашей аудитории и языка, но в любом случае, позволяя пользователям ставить пароли из списка 10 000, 100 000 или миллиона самых популярных паролей из утечек данных, вы оказываете им медвежью услугу. Нет ни малейшего сомнения, что хакер попробует эти пароли при попытке взлома, и, даже если вы ставите жесткие ограничения на количество попыток ввода, достаточно прогнать первую тысячу, чтобы добиться шокирующе хороших результатов.
- у 1.6% пользователей пароль из числа 10 самых популярных;
- у 4.4% пользователей пароль из числа 100 самых популярных;
- у 9.7% пользователей пароль из числа 500 самых популярных;
- у 13.2% пользователей пароль из числа 1000 самых популярных;
- у 30% пользователей пароль из числа 10 000 самых популярных.
Но вам повезло: в Сети можно найти целые миллионы списков «обнародованных» паролей. Производить расследование с опорой на эти данные даже весело — ведь это не какие-то вам абстрактные, искусственные правила, которые насочинял какой-нибудь программист со скуки. Нет, это самые настоящие пароли, которые использовали самые настоящие пользователи.
Проводите исследования. Собирайте данные. Спасайте пользователей от самих себя.
4. Контролируйте количество энтропии
Тут ничего особо заумного, просто выберите ту величину, которая инстинктивно кажется вам подходящей в глубине души. Но не забывайте: вам придется объяснять свою логику пользователям, которые не пройдут проверку.
Я с некоторой грустью осознал, что нас вполне устраивает, чтобы пользователь установил пароль из 10 совершенно одинаковых символов («аааааааааа»). На мой взгляд, самый простой способ избежать такой ситуации — задать минимум в x уникальных символов на общее число y. Так мы и поступаем в последней бета-версии Discourse. Но если у вас есть какие-то другие идеи, будем рады услышать их в комментариях. Чем проще и яснее, тем лучше!
5. Отлавливайте особые типы паролей
Стыдно признаться, но, реализуя окошко авторизации для Discourse, мы совершенно забыли про два распространенных случая, которые необходимо отслеживать и пресекать (я упоминал об этом в другой статье):
- пароль, который совпадает с именем пользователя;
- пароль, который совпадает с e-mail.
Если у вас стоит Discourse версии 1.3 и ниже — мне очень жаль, пожалуйста, обновите его как можно скорее.
Также, возможно, вам стоит блокировать еще некоторые разновидности:
- пароль, который совпадает с URL сайта или именем домена;
- пароль, который совпадает с названием приложения.
Если вкратце, старайтесь мыслить, выходя за рамки поля для ввода — совсем как ваши пользователи.
Пояснение
Некоторые читатели восприняли мои слова как «все правила, кроме этих четырех, которые я сейчас распишу — полная чушь». Я имел в виду другое.
Мысль такая: сосредоточьтесь на одном ясном, простом и практичном правиле, который реально работает в любой ситуации — длине. Пользователи могут вводить что угодно (в разумных пределах) на Юникоде с одним условием — чтобы было достаточно символов. Пароль должен быть длинным — это то самое единственное собирательное правило, которому мы должны научить пользователей.
Пункты с третьего по пятый — это просто оговорки для особых случаев (типа как джину нельзя загадывать желание получить неограниченное число желаний). Тут не нужно каких-то предварительных обсуждений, потому что такие вещи должны быть редкими исключениями. Пользователей нужно останавливать, если они пытаются ввести пароль, совпадающий с именем, или 0123456789, или просто «аааааааааааа», но это должно происходить в рамках проверки данных после ввода, а не в соответствии с предварительно разъясненным правилом.
Так что, если в двух словах: правило одно — длина. Вводите что ваша душа пожелает, лишь бы количество символов тянуло на нормальный пароль.
Поделиться с друзьями
MonkAlex
Я пользователь.
Я хочу свободно заходить на этот сайт не задумываясь над паролем.
Я не введу никогда сюда свои персональные данные или номер банковской карты.
Почему. Мне. Нельзя. Использовать. Простой. Словарный. Пароль?
mayorovp
На самом деле вопрос должен звучать так:
Почему. Мне. Вообще. Нужно. Придумывать. Пароль?
Вход на сайт через социальные сети рулит. Если, конечно же, это не единственный способ входа.
MonkAlex
Не уверен насчет входа через соцсеть. Единый вход для всего — да, я бы обеими руками за. Пока приходится радоваться, если можно прицепить гугл-аккаунт.
mayorovp
Ну, Google+ — тоже какбысоцсеть. В общем-то, про него в первую очередь и писал.
FINTER
Но на сколько я знаю G+ не самый популярный способ логина, практически везде только либо FB. Либо FB + 1 любой альтернативный способ. Либо твитер, либо G+, либо тот же Vk.
Было бы неплохо наверно сделать что-то похожее на сервисы, которые выдают сертификаты для HTTPS. Типа стандарт общий (да да я знаю про OAuth). То есть ты заходишь на сайт и говоришь, что вот такой-то провайдер знает меня под ID таким-то. А у провайдера подтверждать свою личность через несколько степеней защиты, типа биометрии. Эх… Мечты мечты…
DistortNeo
В случае телефонов на Android приложения используют сервис гугля как основной способ авторизации.
FINTER
Ну приложения-то да, а вот с сайтами все не так здорово.
iddqd3
OpenID, же
Раньше почти все его поддерживали например яндекс. Но через какое-то время решили делать свое Яндекс.Паспорт
Envek
Такой стандарт есть, OpenID называется (не путать с OpenID Connect, который есть дальнейшее развитие OAuth 2), да как-то не получил распространения. Основная проблема — требуется помнить свой URL-идентификатор (например мой — это https://me.yahoo.com/envek для Yahoo (в форму можно вводить просто me.yahoo.com — будет работать), а для гугла его вообще не запомнить никогда)
mayorovp
OpenID Connect — это соединение механизма OAuth2 с идеей OpenID
Основное отличие OpenID Connect от OpenID с точки зрения пользователя — вы говорите не "такой-то провайдер знает меня под ID таким-то", а просто "такой-то провайдер знает меня".
saipr
А так и делают, например, при доступе на Госуслуги, именно на сертификатах и токенах/смарткартах PKCS#11
mayorovp
Нет, они так не делают. Они не разрешают использовать любого популярного провайдера.
Попробуйте зайти туда через Google+, Facebook или хотя бы VK.
dmitryrf
С соцсетями есть тонкий момент — если заблокируют ваш аккаунт (facebook) или всю соцсеть (linkedin), вы останетесь без логина. Не страшно для проходного сайта, но есть реальные истории, как люди теряли деньги из-за блокировки того же facebook.
Areso
С тем же успехом могут и почтовый аккаунт заблокировать на gmail из-за левой пятки третьего алгоритма, а у вас на почту подтверждение приходит (2FA).
itforge
Поэтому есть смысл регать свой домен и юзать почтовый ящик на нём, с помощью google mail или yandex mail. При блокировке сервиса, просто делегируем MX записи на другой сервис.
vvzvlad
И как это поможет, если авторизация по гугл-аккаунту?
itforge
Если мы для регистрации использовали email на своём домене, привязанный к gmail и потом этот gmail-акк был забанен, то просто привязываем домен к новому gmail или любому другому почтовому сервису и получаем 2FA-токен на старый майл.
il--ya
Осталось разобраться с паролем для управления доменом… :)
VolCh
А в соцсети как входить? Просто перекладываем свои проблемы на них? :)
Да и в целом, по-моему, массовых атак типа фишинговых на популярные соцсети и подобные сервисы больше, чем на какой-то сервис, у которого максимум миллион пользователей. Да и к аккаунтам соцсетей в целом у пользователей менее серьёзное отношение, чем, скажем, к финансовым, где их деньги лежат и очень возмущаются, когда им хотят "пришить" ответственность за действия, совершенные с помощью их аккаунта соцсети, заметно больше, чем за независимый аккаунт с паролем. Так и говорят: "да минимум 10 человек знают мой пароль от контактика, а я этого не делал".
То есть я как раз бы не доверял соцсетям (собственно и не доверяю), если даже индивидуальная разовая ложноположительная аутентификация может стоить заметную для прибыли/оборотов сумму.
mayorovp
Во-первых, если человек использует вход на важный сайт через соцсети — он и к паролю в соцсети отнесется внимательнее.
Во-вторых, напомню — речь шла о случае "Я не введу никогда сюда свои персональные данные или номер банковской карты" и вход через соцсеть я рассматривал как альтернативу простому словарному паролю.
В-третьих, обратите внимание на вот это уточнение:
Namynnuz
Wesha
"Брелок: маленькая штуковина, которая предоставляет Вам возможность потерять ключи от всех Ваших дверей одновременно."
VolCh
Да ещё с подписью, какой ключ откуда.
mayorovp
Пожалуйста, прочитайте эту ветку комментариев сначала.
saipr
А почему бы не использовать личные сертификаты, хранящиеся на токенах/смарткартах PKCS#11?
mayorovp
Если разрешать любые сертификаты — пропадает смысл регистрации как ограничителя нехороших личностей.
Если ограничивать сертификаты по выдавшему их провайдеру — это будет все тот же вход через внешнего провайдера, только вид сбоку и сложнее.
saipr
Посмотрите:
Что общего между сертификатом x509 и паспортом гражданина?
Что общего между паспортным столом и Удостоверяющим центром?
mayorovp
Зачем мне это смотреть? Там ничего интересного, одни картинки.
VolCh
Для многих сервисов обязательные удостоверенные государством или каким-то сторонним ЦА сертификаты пользователей с их личными данными приведут к потере аудитории как по причине замороченности получения и использования, так и по причине потери даже иллюзии анонимности. Это не касаясь проблем совместимости и не символической стоимости.
saipr
Трудно возразить! Хотя, если хранить личный сертификат с ключевой парой в контейнере PKCS#12 в бронированной сейфе и при «Утрате ключа (без рисков компрометации)» восстанавливать на токене… Да, паранойя!
VolCh
Сейф может оказаться на другой стороне земного шара в тот момент, когда утратил.
Germanets
Дошли бы ваши слова до всех авторов сайтов…
Уже с полгода ловлю себя на мысли, что на паре параноидальных сайтов, на которые приходится заходить примерно 1 раз в месяц я чаще пользуюсь кнопкой «восстановить пароль», чем обычным входом на сайт с первого раза.
mflow42
Как же бесит при этом требование «новый пароль не должен совпадать ни с одним предыдущим». Первые 4-5 раз обязательно высветиться, потом со словами «горите в аду» начинаешь придумывать действительно новый пароль.
TheShock
При чем даже не стараешься запомнить — все-равно в следующий раз новый сгенерировать легче. Они б лучше одноразовый пароль на емейл высылали.
sebres
Пользуюсь сто лет уже статическими генераторами (т.е. ни запоминать ни записывать не нужно от слова вовсе).
Не сочтите за рекламук примеру вот мой самописный плагин под лисаSeregaSA73
Тоже самое, уже не делаю свой пароль, оставляю тот что пришлют, через месяц сброшу, устал заводить кучу разных паролей от всего на свете.
Deosis
— Розы.
— Извините, в вашем новом пароле слишком мало символов!
— Розовые розы.
— Извините, пароль должен содержать хотя бы одну цифру!
— 1 розовая роза.
— Извините, не допускается использование пробелов в пароле!
— 1розоваяроза.
— Извините, необходимо использовать, как минимум, 10 различных символов в пароле!
— 1гребанаярозоваяроза.
— Извините, необходимо использовать, как минимум, одну заглавную букву в пароле!
— 1ГРЕБАНАЯрозоваяроза.
— Извините, не допускается использовать несколько заглавных букв, следующих подряд!
— 1ГребанаяРозоваяРоза.
— Извините, пароль должен состоять более чем из 20 символов!
— 1ГребанаяРозоваяРозаБудетТорчатьИзТвоейЗадницыЕслиТыНе ДашьМнеДоступПрямоБлядьСейчас!
— Извините, но этот пароль уже занят!
Areso
Вы только что описали мой сценарий входа на Пикабу! И вот интересный момент — зачем так параноить сайту со смешными историями?
Areso
Ой, это не Пикабу, это dirty паранойей страдает)
skssxf
Есть сайты, которые не позволяют установить простой пароль или даже вообще придумать свой. Там я просто всегда восстанавливаю пароль для входа.
Source
Неплохой пароль и Вы его уже запомнили xD
mayorovp
Увы, он длиннее 20 символов...
umik
и уже занят :)
mayorovp
… пользователем vasya!
osiraben
Вопрос скорее всего риторический, но если нет, то. Потому что есть куча пользователей, которые введут туда персональные данные или номер банковской карты.
DRDOS
Да какие проблемы, можете вообще не использовать пароль!!!
LoadRunner
Beholder
Кстати, KeePass считает, что в пароле «Tr0ub4dor&3» на самом деле 63 бита энтропии. А в «correcthorsebatterystaple» — 81 бит.
Source
Я думаю, в комиксе учтены факторы: "в основе нераспространенное осмысленное слово" и "четыре случайных обычных слова". А KeePass считает энтропию как-будто это бессмысленные наборы символов.
il--ya
Злоумышленник будет подбирать по словарю, с учётом вероятности слов, начиная с паролей в одно распространённое слово («the», «he» и т.д.), затем комбинация двух распространённых слов, затем одно менее распространённое слово, и т.д. по мере уменьшения вероятности. Если игнорировать регистр, цифры и спецсимволы, то можно узнать, какое минимальное количество паролей потребуется перебрать, чтобы подобрать заданный пароль. Если грубо, то можно перемножить rank всех слов пароля: 1508*1332*5881*14189=1.68e14, или примерно 47 бит.
CodeRush
Автор живет в мире космических единорогов, где юникод поддерживается всеми устройствами и вводится в любые поля прямо из воображения.
На самом деле, ввести что-то, кроме 7-битного ASCII до сих пор очень сложно на абсолютном большинстве сайтов, устройств и всего остального, и добавлять с свои пароли юникод означает практически гарантированно остаться без возможности входа на любой хоть немного нестандартной/несовременной системе.
avost
Ещё хуже. Автор не представляет себе что такое юникод на самом деле и то, что в его примере получилось, что длина "символа" равна двум — это не проблема юникода, а проблема того языка программирования, которым он воспользовался. Даже если все наши устройства поддерживают юникод и мы придумали способ ввести нужный символ (ну, хоть копипастой из программы управления паролями) остаётся нехилая проблема множественности вариантов представления одинаковых юникодных глифов в отсутствие контроля со стороны пользователя за этим. Мы не знаем в каком из вариантов будет представлен один и тот же юникодный символ в том или ином браузере/устройстве/операционке и не изменится ли эта ситуация со сменой версии.
Daimos
А еще веселее, что в некоторых системах кол-во введенных символов не всегда равно кол-ву звездочек, а в консоли Linux так и вообще звездочки не отображаются.
rPman
иногда это фича, специально реализованная, подсматривающий за вводом пароля не узнает количество символов!
WinPooh73
Помнится, в клиенте Лотуса число крестиков в поле пароля было случайным, а для контроля рядом рисовались весёлые иероглифы:
Alexey2005
Потому что под видом кодировки зачем-то изобрели новый язык разметки, по сложности стремительно догоняющий HTML.
avost
Ну, зачем изобрели — понятно. Помните времена, когда только общераспространённых кодировок кириллицы было пять штук? ;). И ещё несколько чуть более редких. А половина программ работала при этом так, словно в мире сушествует только 7-и битный ascii. На самом деле в рамках уникода предусмотрено решение всех этих проблем. Проблема, как обычно, в головах разработчиков. Как тогда считали, что все в мире тексты в 7-и битном ascii, так и сейчас считают… Да так же ничего не считают, как-то работает — херак, херак и в продакшн.
TheShock
Та какая разница? Вы получаете просто массив байт, который сразу же отдаете в хеш-функцию. Пусть они там хоть член анси-артом рисуют. Главное, чтобы ваш сайт не мешал пользователям рисовать все, что они хотят, об этом автор и говорит. Потому что задрали сайты дибилов, которые ставят ограничение «меньше 8 символов» и обязательно большая буква. А я не хочу большую букву, я хочу 20 символов кириллицей.
VolCh
Так пользователь будет наезжать, что на компе под виндой он вводит "ЁЁЁЁЁЁ" и всё работает, а на айфоне то же самое не работает.
TheShock
Вы правы, спасибо.
avost
Потому что сегодня глиф "й" ваша версия браузера пошлёт одной двубайтовой последовательностью и у вас будет один хэш, а завтра версия браузера сменится или апдейт операционки произойдёт и этот глиф пошлётся как "и", плюс отдельная кратка. Четыре (или больше) совершенно других байта. И ваш пароль перестанет работать. И вы обвините в этом владельца сервиса. Есть варианты с нормализацией/канонизацией, но там всё сложно и есть куча подводных граблей на которые разработчик обязательно наступит.
Почему про "й" вспомнил, недавно на медузе в некоторых браузерах на некоторых операционных системах в одной из статей кратки отделились от своих "и". Выглядело психоделично. Просто потому, что программа, в которой текст набирали, решила, что именно такой вариант представления буквы "й" будет лучшим. И она была права, так тоже можно. А то, что некоторые растеризаторы в некоторых операционках глупые...
vlivyur
Так нельзя. У нас есть буква Й и это никак не И с каким-то знаком (как минимум из-за того, что она согласная, а не гласная).
avost
Так можно и именно такова реальность. Правильная работа с юникодом — дело очень не простое, я об этом и говорю. Поэтому, в такой тонкой сфере, как аутентификация, самое разумное — придерживаться проверенных простых решений.
vlivyur
И в ворде выравнивание можно делать пробелами и табами. И новую страницу начинать при помощи пустых строк. И о от o визуально ничем не отличается. Не всё что с перьями, на двух ногах и крякает является уткой.
avost
При чём здесь это??? Вы нажимаете на клавиатуре "й", а в файле получаете любой из допустимых способов представления этого глифа. Они все равноправны и все допустимы в рамках спецификации. И этому есть объективные причины. Программа обработки должна обрабатывать все возможные варианты приблизительно одинаковым способом (но, поскольку, тема крайне сложная, а людей, как и вы, совершенно не понимающих как там всё устроено, тоже много, ошибок хватает и будет хватать ещё долго). Давайте вы сначала хоть немного почитаете чего-нибудь на эту тему, тогда мне не придётся отвечать на вопросы не имеющие ничего общего с темой.
Enverest
У Yahoo запрещено иметь в пароле имя или фамилию пользователя. Т. е. когда я представился Enver O — уже не могу использовать букву О в пароле :(
GH0st3rs
Интересное правило…
Ugrum
Что там про сливы данных, в т.ч. паролей у Яхи?
VaalKIA
Я тоже считаю, что ограничения, когда надо использовать одну заглавную, одну строчную, цифру и ещё какой-нибудь специальный знак — это полная чушь. Если пароль нельзя надёжно запомнить, это резко снижает безопасность, потому что твою бумашку либо текстовый файл, где этот пароль будет записан вместо головы подсмотрят или скачаются с компьютера, причём, без каких-либо проблем. Нужна большая надёжность? Двухфакторная авториазция нас спасёт, а пароль должен запоминаться, и все люди в этом плане уникальны, так что чем меньше ограничений, тем лучше, разьве что длинну надо контролировать.
Carburn
Не стоит забывать про принцип неуловимого Джо. Для хранения паролей можно использовать менеджеры паролей.
ctapnep
если следовать правилу неповторения паролей, то запомнить около сотни длинных паролей (даже если легко запоминающихся по отдельности) в сочетании с сайтами и сервисами к которым они относятся, да еще и с различными логинами туда… В общем, ну его нафик.
А двухфакторная авторизация хороша дома. И очень напрягает при путешествиях по миру.
Это не говоря о том, что в принципе невероятно напрягает необходимость кому-ни-попадя давать номер своего мобильника. Потом спамеры звонят по 8 раз в сутки :(
Clevik
Напомнило:
redmanmale
Напомнило классику:
© Чингиз (из «Фальшивых зеркал»)
Clevik
Точно, точно :) Как я мог забыть…
pansa
А мне до сих пор интересен пароль Падлы. Вроде даже конкрус устраивали на этот счёт, кто-нибудь знает чем дело кончилось? :)
JTG
А как же «гарцующие гениталии»? :)
alt.security.pgp — Passphrase FAQ, Grady Ward, 2/10/1993
ainoneko
Неправильный пароль:
Dee3
[sarcasm]Ага, и на телефоне очень удобно вводить где раскладки надо переключать чтобы увидеть буквы другого языка, а количетство клавиш и соответствие может различаться.[/sarcasm]
astec
А можно просто генерить случайный пароль, выдавать пользователю и не трахать мозг. Если надо присылать новый пароль на email и ссылку для одноразовой авторизации.
Именно так будто делать для https://DebtsTracker.io
mayorovp
А еще лучше — вход через oauth/openid. Тот же google+...
Ну и для тех у кого нет google+ — "присылать новый пароль на email и ссылку для одноразовой авторизации"
dimkss
Пользователь будет ужасно рад набирать этот пароль на мобильном.
А копировать пароль через clipboard на мобильном — это не есть хорошо
astec
Ну кому хочется записать — запишет как захочет. А кто нет может воспользоваться сбросом и одноразовой ссылкой?
norlin
Зачем вам тогда вообще пароль? Просто присылайте одноразовую ссылку при каждом логине. Например, Medium так делает.
astec
Ну почему бы и нет если кому то так удобнее? Одно другому не мешает?
xl0e
Отправлять пароли в e-mail не безопасно.
kolo2012
«просто присылайте одноразовую ссылку»
rraderio
Почему не безопасно?
xl0e
Потому что даже если ваш сервер использует безопасное соединение, то при пересылке адресату могут использоваться промежуточные сервера с нешифрованным протоколом, все равно что выложить его в открытый доступ. Одноразовая и короткоживущая ссылка более безопасна, но опять же не 100% в виду вышесказанного. Еще безопаснее ответ на секретный вопрос (легко забыть или взломать ч-з соц.хак) или же код через смс.
lomalkin
Только не sms.
ctapnep
и таким образом у тебя всё вообще защищено единственным паролем от почты. Потерял почту — потерял вообще всё, мессенджеры, банки, социальные сети, гос. структуры…
не, я не согласная :)
DistortNeo
Требование на наличие спецсимволов и букв в разных регистрах я считаю идиотским. Причина простая: удобство набора, особенно на мобильных устройствах.
12-символьный пароль, содержащий только строчные буквы и цифры, набирать быстрее, чем традиционный 8-символьный пароль. При этом надёжность такого 12-символьного пароля все равно будет выше.
Ну и прочий идиотизм: ограничение на максмиальную длину пароля (где-то 8 символов — это максимум), запрет на использование ASCII спецсимволов.
vlivyur
Бесят сайты, которые требуют букву, БУКВУ, с&мвол, ц1фру, но, блин, зн@к нельзя, а ещё первым символом должна быть буква. И при вводе пароля ведь никак не подсказывают какие же символы тут запрещены. И ты восстанавливаешь пароль, а при смене видишь подсказку и вспоминаешь какой же всё-таки был пароль. Но «введённый пароль совпадает с предыдущим».
Busla
есть каноническая форма записи:
пользователь: пароль@ресурс
кто-то её учитывает, а то потом внезапно окажется, что всё работает, кроме отдельного приложения чата и т.п.
vlivyur
Это не обязательно @, кто-то ещё % _? не любят. Всё зависит от степени кривизны рук разработчиков.
norlin
Вот это точно вредный совет. Все ошибки должны подсвечиваться сразу же при вводе пароля, а не после отправки. И если сайт имеет правила (как в статье написано – совсем без правил не получится), то они должны быть доступны пользователю сразу где-нибудь в форме ввода (тултип, whatever).
Zibx
Только обучение общей грамотности в области безопасности спасёт пользователей. На подавляющем большинстве сайтов я использую пароль qwerty. Это те сайты, компрометация аккаунтов на которых меня вообще не волнует. Сложные пароли нужны для банкинга и сайтов которые представляют хоть какую-то ценность.
Ещё одно забавное явление — восстановление пароля часто спасает меня на тех сайтах где в пароле было необходимо придерживаться множества правил. Вводишь новый соблюдая все парвила и, невероятно, оказывается что это и был пароль.
Amomum
Я могу понять любые правила для паролей, кроме идиотского ограничения максимальной длины.
Какого черта до сих пор встречается максимальная длина в 16 или 20 символов?! Они там что, в открытом виде хранятся? В массивах константной длины?
DistortNeo
Вы не поверите ...
Даже Яндекс хранил пароли в открытом виде. Иначе как объяснить факт, что при запросе забытого пароля от сайта на народе мне его просто прислали.
Amomum
Я вот только что проверил, paypal не дает при регистрации указать пароль длинее 20 символов. Вы же не хотите сказать…
VolCh
Иное объяснение: хранят зашифрованным и не теряют ключ дешифрации. Возможно даже ассиметричное шифрование — шифруют публичным ключом автоматически, а дешифруют закрытым вручную. Ну или, по крайней мере на другой машине.
VolCh
Ого. Что не так?
mayorovp
Нет никакого смысла так извращаться — хранить хеши в базе попросту проще.
VolCh
Если есть требование иметь возможность получить пароль в чистом виде, то хеши не подходят.
DistortNeo
Если есть требование хранения паролей в открытом (или восстановимом) виде, то слать всех куда подальше.
Busla
то, что вы подменили пароль хэшем защищает ДРУГИЕ сервисы от одной единственной ситуации: у вас слили БД
во всех прочих случаях, такая подмена ни на что не повлияет
DistortNeo
И эта единственная ситуация является крайне важной.
Люди обычно используют одинаковые логины-пароли для разных сервисов.
Взломали один — взломали все.
Busla
При таком подходе данные авторизации гуляют внутри организации в явном виде, и их можно собирать используя уязвимости периферийных служб. Если же в БД пароль хранится явно, можно его ещё на клиенте захэшировать с уникальной для сессии солью, и слив транзитных данных ничего не даст злоумышленнику.
konchok
Только тут недавно столкнулся с этим при настройке почтовой системы.
Если нужна поддержка разных типов аутентификации одновременно(например CRAM_MD5 и DIGEST_MD5), то единственный выход хранить пароли в базе без шифрования. На Яндексе-то почта тоже имеется )
VolCh
Почему не хранить зашифрованным? не хэшированным, а именно зашифрованным и расшифровывать когда надо?
konchok
Конечно я хеширование имел ввиду. Зашифровать-то можно поверх как-нибудь, не вопрос. Просто из почтовых программ должен быть доступ к паролю в чистом виде чтобы это работало, и перехватить его конечно можно будет, при желании.
yefrem
Здесь-то как раз объяснение простое — народ не всегда принадлежал яндексу
povargek
LiveInternet до сих пор так делает. На состояние лета 2016 года ничего не изменилось. Хотя статья то аж 2011 года.
kanstantsin
Чем длиннее пароль, тем больше ресурсов нужно, чтобы построить его хэш. При желании, можно сильно нагрузить бэкэнд, заставляя его генерировать хеши для длинных паролей.
Amomum
Конечно, какой-то разумный предел сверху нужен, не надо позволять делать пароли в килобайт длиной, но 20 символов — это, все-таки, перебор. Даже отдельные слова бывают длиннее.
Вот, скажем, 255 символов — вполне разумный предел.
kanstantsin
Зависит от реализации конечно, но подозреваю, что 255 символов будут хешироваться несколько секунд. Нет возможности проверить, но это уже много.
kolo2012
golang + sha512 = 10мс (сугубо ненаучно)
kanstantsin
А кол-во итераций было какое?
Source
Похоже, что много… потому что 1 итерация даже в Ruby около 20 микросекунд занимает.
Вот bcrypt уже гораздо медленнее, аж 70 милисекунд для 255 символов занимает.
Areso
У меня хэш гигабайтного файла за несколько секунд получается))
kanstantsin
Речь шла о чем-то вроде bcrypt, если мы говорим о паролях. А то ведь можно и crc32 в пример поставить :)
Areso
md5 и sha1, но таки для файла, не для пароля.
YourChief
У распространённых хэш-функций размер блока хэширования — 64 байта.
BalinTomsk
В канадском банке BMO.COM не больше 8 символов, никаких спецсимволов.
zenkz
Скорее всего это из-за использования какого-то старого программного обеспечения. В Канаде с этим довольно плохо. (Вернее я бы сказал так, что тут работает то, что создано лет 20 назад. А зачем переделывать и тратить деньги на то, что работает?!).
Chupaka
В Беларусбанке — максимум 12 символов. Разработчики пару лет назад обещали обратить внимание, но воз и ныне там.
funca
Интересно, какие ограничения на длину паролей у самих браузеров (наверняка же есть)?
vvzvlad
Для браузера — пароль это обычное поле, которое надо чуть по особенному показывать пользователю. Так что очень большое.
vadim_ig
В мире, может, и есть юникод и смайлики, а вот на клавиатуре — не всегда
AndrewTishkin
Ужас-то какой, жить без юникода на клавиатуре.
Alt-код
Cheater
Пара советов абсолютно бредовая.
1. Юникод? Серьёзно? Автор слышал про понятие «standard by implementation»? Единственный вид паролей, который гарантированно поддерживается всеми системами авторизации, это ASCII — так сложилось исторически. Автору может это не нравиться и он может разглагольствовать про «двинутых американцев», но факт остаётся фактом.
2. У среднестатического пользователя есть аккаунты на 15 и больше ресурсах. Типовые правила безопасности советуют иметь по 1 уникальному паролю на ресурс. И чем же 15+ паролей из скрепок и смайлов лучше, чем то же число нормальных случайных ASCII паролей скажем втрое большей длины, при том, что их запоминанием всё равно займётся скорее всего менеджер паролей?
> Прикиньте, рандомный пароль может и не содержать в себе цифры или символа
Прикиньте, есть генераторы рандомных паролей, от которых можно это условие явно потребовать.
mayorovp
Потребовать-то можно — но запомнить такой пароль это не сильно поможет.
Cheater
Запоминание — уже другой вопрос. Как я уже написал, его можно решить менеджером паролей.
Проблема изначально была в том, что автор говорит «рандомный пароль может не содержать цифры». Ну и чо дальше?)) Автору как будто лень сгенерировать пароль ещё несколько раз до достижения нужного результата (вряд ли многие генераторы паролей создадут пароль без цифр много раз подряд) или использовать/написать другой генератор паролей, который гарантирует наличие нужных ему символов в пароле.
webkumo
Менеджер паролей это плохо — нужно как минимум дополнительно думать над бекапом, над защитой от утечки данных менеджера.
Carburn
Лучше забыть пароль, ага
Free_ze
Лучше его забыть, чем отдать, очевидно.
Carburn
Если вы думаете о безопасности, то вы и так делаете бэкап данных и защищаете их безопасность.
il--ya
Большинство пользователей ни о чём таком не думают и не хотят думать.
Carburn
Значит их не волнует безопасность и «дополнительно думать над бекапом, над защитой от утечки данных менеджера» они не будут.
webkumo
Думать и делать — разные вещи.
Банально может не хватать денег/времени на реализацию нормальной процедуры бекапа. В такой ситуации бекапятся только самые критичные данные исключительно способом избыточного копирования на внешние носители.
Насчёт защиты от утечек — всё ещё печальнее, т.к. существует множество дополнительных точек отказа.
Ipeacocks
Я для себя решил эту проблему раз и навсегда:
1. Генерирую случайный пароль каким-нибудь pwgen
2. Сохраняю его в Keepass
3. Всегда копирую его с Keepass
dezconnect
Сильно много телодвижений
Andrusha
В чём смысл первого пункта? Во всех более-менее популярных имплементациях KeePass (KeePass 1x и 2x, KeePassX, MacPass, Keepass2Android) есть генераторы паролей.
GeMir
Пользуюсь KeePass под Windows, Android (KeePassDroid) и Linux (KeePassX). Для macOS никому клиента, симпатичнее KeePassX, случаем, не попадалось? Желательно, с поддержкой *.kdbx.
Andrusha
MacPass же. Релизов давненько не было, и текущая версия не поддерживает ChaCha20, недавно добавленный в KeePass и Keepass2Android, а так отлично работает и выглядит более «родным» для macOS.
Ipeacocks
Я на Андроиде пользуюсь этим https://play.google.com/store/apps/details?id=keepass2android.keepass2android&hl=uk, поприятней будет.
AonoFlare
Keeweb от хабраюзера Antelle попробуйте. Пользуюсь на винде, по всем параметрам удовлетворяет.
Ipeacocks
Дело привычки. Но вообще да.
Germanets
Как дела у Keepass с приложениями для смартфонов Андроид\iOS и синхронизацией?
vlivyur
На адроиде точно всё хорошо.
valery1707
Я использую Keepass2Android — прекрасно всё работает.
Синхронизирую через Google.Drive
1eqinfinity
Я тоже его юзаю. Прекрасное приложение, невероятно удобное, особенно если разобраться с клавиатурой и ее специальными функциями.
По поводу статьи — единственный баттхёрт, который по поводу паролей у меня возникает — это когда я пытаюсь зайти на сайт, на котором я регился до начала использования Keepass.
pred8or
п.1: генерировать пароль в keepass
Alexeyslav
А теперь скопируйте пароль для авторизации на мобильном девайсе… как минимум, должен быть компьютер рядом с программой Keepass и базой паролей. При этом компьютер не может быть произвольным по соображениям безопасности.
Менеджер паролей хорош только когда пароль применяется локально и только на одном девайсе, а когда авторизацию надо проводить на разношерстных девайсах… начинается ад. Конечно, можно поставить галочку «запомнить авторизацию» и сайты не будут переспрашивать каждый раз пароль, но рано или поздно кукисы протухнут в самый неподходящий момент и потребуется ввести пароль а до компьютера с менеджером паролей 2 часа езды…
К слову сказать, есть ещё и аппаратные менеджеры в виде эмулятора USB-клавиатуры, но и у них есть недостаток — физическое воплощение девайса делает возможным украсть все пароли одним махом поскольку физическая защита носителя как правило страдает, а надёжная защита приводит к значительному неудобству использования. Да и проблема бэкапов, внезапного выхода из строя и т.д.
Guyverjoke
Если устройство на Android, то синхронизация с Dropbox есть в том же Keepass2Android. Организована достаточно правильно. С проверкой изменения базы данных: это на случай, если вы добавили пароль в базу с компьютера, сохранили ее, а потом проделали ту же операцию с мобильного телефона. При этом также есть поддержка следующих источников: GDrive, OneDrive, SFTP, FTP, WebDav, OwnCloud.
Alexandwer
Однако сами слова являются стандартными единицами языка, которых в лексиконе человека не так уж много и вместо того, чтобы производить только посимвольный перебор программа-подборщик пароля может использовать словарик и производить перебор уже не только символов, но слов и их комбинаций.
В том же примере про лошадку всего 4 обычных распространённых слова.
mayorovp
Словарь в 1000 слов — это уже 10 бит энтропии на слово. 4 слова — 40 бит.
s_suhanov
"слова являются стандартными единицами языка, которых в лексиконе человека не так уж много".
Не.
Так.
Уж.
Много.
))))))))))
Alexeyslav
Подтверждаю. Как-то баловался с анализом частоты использования слов в чатиках… слова с частотой использования больше 2-х(по статистике за 2 недели) встречаются в первой 1000. Причем наиболее частые слова из топ-10 это слова не более 4 символов.
Исключения могут составлять лишь авторы газетных статей, писатели, рерайтеры и т.д. но их мало. В целом, словарный набор типичного пользователя не такой уж большой, не думаю что люди будут заглядывать в энциклопедии чтобы придумать стойкий пароль — слишком уж они ленивы и используют слова из повседневного лексикона.
s_suhanov
На всякий случай уточню, что слово из всего четырех букв имеет 16 вариантов написания:
Alexeyslav
И что же заставит всех пользователей использовать рандомные варианты написания и ЗАПОМИНАТЬ какой именно вариант они выбрали? Так-то вообще стойкий пароль можно придумать из рандомного набора символов. Но попробуй его запомнить.
s_suhanov
"Заставит" — ничто. Но Запомнить, Что Каждое Слово Начинается С Большой Буквы Не Так Уж И Сложно.
или нАпример, человек выбрАл вАриАнт, когдА большие все буквы "А". :)
Alexeyslav
Это всё делает бесполезным остальные варианты, т.к. в реальности чаще всего будет использоваться только один вариант написания.
EviGL
Довольно показательно, что статья именно от разработчика форумного движка.
Ведь именно на форумах обычно больше всего абсолютно бесполезных регистраций. Зарегистрируйтесь чтобы посмотреть картинку в сообщении, чтобы скачать вложение, чтобы посмотреть все ответы в теме (очень надеюсь, что всё это осталось в прошлом). И всё это на узкоспециализированных форумах, на которые уже никогда не вернёшься.
Что если я хочу пароль из трёх символов для этого аккаунта? Или вообще не хочу ни пароля ни аккаунта, а «просто спросить»? Что если ваш сайт (о божечки) не центр вселенной?
Vicking
Полностью согласен. Также раздражает обязательные регистрации для того, чтобы один раз картинку глянуть и больше никогда не возвращаться.
vvzvlad
Не в прошлом.
А "повторите адрес почты"?
max1gu
Привязка к соцсетям относительно безопасна, если там есть двухфакторная авторизация. Однако большинство соцсетей настолько несерьезны по содержанию, что не хочется привязывать их к рабочим или конфиденциальным данным — социальная инженерия и последующий терморектальный криптоанализ рулят.
Раздражающие правила по паролям приходится обходить с помощью браузера, который запоминается все внесенные пароли, которые потом можно посмотреть (maxthon). А кому от этого легче? Это та же бумажка с паролем, приклеенная к монитору.
Carburn
Можно использовать защищенный менеджер паролей.
salabon
1. Сделать красивый сайт с «генератором рандомных паролей».
2. Вывести его в топ поиска гугла.
3. Сохранять все сгенерированные пароли,
4. ????
5. PROFIT
lam0x86
Сегодня обнаружил в «chrome://flags» такую опцию:
Пока не было нужды проверять, но идея хорошая.
ainoneko
Потом в этой штуке будет найдена уязвимость. (Как обычно.)
DonSleza4e
А потом эту фичу Гугл вырежет ввиду её низкой популярности, как он частенько поступает в последнее время)
Spider_Jerusalem
Safari уже давно предлагает генерить пароли, сохраняет в Keychain Mac OS'а.
grey_Fox
Недавно восстанавливал пароль на сайте одного из банков (сбер или банк москвы, не помню), там было очень интересное требование к паролю, помимо прочих. Звучало оно примерно так: «не более 4 символов с одного ряда клавиатуры», при этом, как я понял, порядок этих символов в пароле не имел значения. Все мои «стандартные» пароли не прошли, пришлось придумывать новый, точно его уже не помню…
DistortNeo
То есть пароль из 12-16 символов, где есть 4 цифры, уже не проходит. Оригинально.
heleo
На сбере зато не имеет разницы в каком регистре пароль, всё приводят к одному в итоге. Видать было много обращений из-за капслока)
DistortNeo
На сбере гораздо более весёлый прикол есть. Потерял листочек с паролем, получил новый, всё ок. Потом нашёл старый листочек и о ужас, пароль с него по-прежнему работал.
Envek
Из Сбербанк Онлайна вход по паролям с бумажек выпилили. Совсем. Недавно ломался телефон — без него туда попасть уже нельзя совсем никак.
vlivyur
Речь-то не про одноразовые бумажки с 20 паролями. А про самый главный, который в банкомате получаешь.
heleo
Не знал, спасибо) Надо будет сбертех потроллить, благо есть «засланные казачки» )))
Bergtagen
Сбербанк Онлайн вообще штука занятная. Там нельзя сменить пароль на тот, который тебе нравится, новый пароль генерится сбером и присылается смской. И он всегда состоит из 2 цифр и 6 больших букв)) Сбер заботится о моих сбережениях)
dr_brain
странно, пару месяцев назад все работало…
и установка своего логина и своего пароля из веб версии сбербанк-онлайна.
lizka_dro
Согласна. И даже если ты забыл свой пароль в Сбербанк Онлайн, можно заново зарегистрировать карту даже с тем же логином и паролем. И тащить свои кости в офис для этого не надо. Нужно просто телефон и карту под рукой иметь.
Andrusha
Мне Facebook при логине слал TOTP сразу на оба привязанных номера телефона, при этом я пользуюсь оффлайновым генератором в смартфоне. И любой из трёх подходил. Сейчас вроде больше так не делает.
wikipro
Господа программисты, вот объясните мне тупому. Почему в 2017 году крупнейший интернет магазин РФ, Юлмарт требует после ввода пароля, 2 раза распознать графическую капчу, а потом ещё и подтвердится по СМС?? но не позволяет использовать кириллические пароли ??
почему практически ни один вебсайт в РФ, от банков до форумов кулхакеров и крутых вебдизайнеров для супер дружелюбной OSX, не позволяют использовать кириллический пароль который сразу вам даёт ДОПОЛНИТЕЛЬНО 33 символа! но требуют цифры и буквы в 2-х регистрах ??
Даю идею которую можете запатентовать — при вводе пароля при вводе кириллических символов звёздочки д.б. красными, а при вводе символов вероятного противника из богомерзкого НАТО — синими, при вводе кракозябров (иероглифов катаканы и т.п.) из Азии — Жёлтыми (хер с ней с полит корректностью).
так почему ?? Почти ВСЕ сайты мира разрешают только латиницу в 2-х регистрах, цифры и спецсимволы, но не позволяют остальных символов Юникод ?? основные библиотеки под лицензией GPL/BSD и т.п. "что мешает ?"(с) продавцов пылесосов Кирби? Или все фрилансеры-программисты агенты АНБ/ЦРУ которые готовы сдать Э.Сноудена как стеклотару за гринкарту ?
DistortNeo
А мне интересно: почему ни один из сайтов не принимает пароль, набранный в ошибочной раскладке? Казалось бы: если в паролях запрещена кириллица, а пользователь ввёл кириллицу, да преобразовать раскладку и всё. Но нет, в лучшем случае будет предупреждение о неверной раскладке.
Запрет же на не ASCII символы в паролях имеет давнюю историю, когда был зоопарк кодировок. Да и сейчас этот зоопарк никуда не делся.
funca
Потому, что раскладки разные.
DistortNeo
Если сайт рассчитан на русскоязычную аудиторию, то в 99% случаев у пользователей будет обычная QWERTY/ЙЦУКЕН клавиатура. А оставшийся процент с другими раскладками просто будет, как и раньше, получать ошибку о неверном пароле.
Carburn
Вообще-то ВК принимает.
Carburn
Может потому что в основной части мира используется только одна раскладка?
GeMir
«Почти ВСЕ сайты мира разрешают только латиницу в 2-х регистрах» — не потому ли, что две и более раскладок клавиатуры встречаются не так часто, как некоторым кажется? Попробуйте набрать a, u, o или ? имея лишь стандартную кириллическую и английскую раскладки.
wikipro
зачем в российским интернет магазине, который настолько печётся о безопасности что насилует пользователей капчёй 2 раза а потом ещё и СМС кой, использовать a, u, o или ?? да и если пользователь из Германии купит чтото своей маме в Ростове, в чём проблема ?? проверяй что всё в уникод, при необходимости конвертируй и бери от пароля хеш. Я честно говоря невижу ТЕХНИЧЕСКОЙ проблемы. 1 кириллическая Ж и Ё и Й по моему автоматически седлают бесполезными 99,9% ботов из КНР.
VolCh
вы знаете сколькими способами в юникоде можно записать букву "Ё"? И хэши будут разные.
GeMir
А ещё есть такие «забавные» случаи как альтернативные раскладки, ставшие стандартом (QWERTZ).
DistortNeo
Нормализацию можно делать. Типа a -> а, й -> и -> i. Правда, не всем такое понравится — некоторые пароли могут стать слишком слабыми.
ValdikSS
Нужно сначала сделать декомпозицию или наоборот — конвертировать все в композитные варианты.
«И?» вам не «и» краткое! О важности нормализации Unicode
Carburn
Используется же обычно один какой-то вариант.
mayorovp
При смене устройства могут быть сюрпризы.
Carburn
Есть прецеденты?
EnigMan
Угу. В пароле на Gmail использовал символ подчеркивания до тех пор пока не купил смарт на Андройде. Там такой пароль ну никак не проходил, пришлось менять пароль.
Andrusha
Не один год использую пароли для Google со всякими спецсимволами, в том числе и с подчёркиванием, ни разу не видел претензий андроида по этому поводу.
EnigMan
Столкнулся с этим на Android 1.6 Сам был этим удивлен, причину выявлять не стал, просто сменил пароль
GeMir
«зачем в российским интернет магазине» — Думаю, имеет смысл задать этот вопрос представителям упомянутого магазина :)
andreishe
Вы так говорите про юникод, как будто это что-то хорошее. Юникод, на самом деле — это как регэкспы. Если вы решаете проблему с помощью регэкспов, то на самом деле, вы себе, зачастую, создаете больше проблем. С Юникодом то же самое. Там очень много неочевидных тонкостей.
mayorovp
Экранную клавиатуру что, уже запретили? А таблицу символов? :-)
GeMir
Вы ей сами (не на телефоне) часто пользуетесь? Удобно?
Тоже самое относится к заучиванию кодов Unicode. Да, я знаю как набрать «,»,– и — не пользуясь таблицей символов, уверен многим из читателей знакомы коды символов, необходимых в работе. Но это исключение из правила.
Carburn
Если символы елочек часто используются в работе, то имеет смысл сделать самому или использовать раскладку их содержащую.
GeMir
У меня они на дополнительных кнопках мыши (G700s) «висят» — хоть какая-то польза от оных. Набрать Alt+0171 и Alt+0187 тоже не велика проблема, в общем-то.
andreishe
Выдыхайте, идеи не патентуются.
rockin
Насчёт Юлмарта довольно чёткое замечание, видимо, у них сверху сел человечек крайне параноидальных настроений.
Нафига смс, капча, когда тут всего лишь заказы? Что, злобный хакер закажет товара на 100500 миллионов?!
Капчи даже в инет-банках нет :/ А есть только верификация по смс, ну или токен.
Andrusha
Злобный хакер вполне может заказать на себя что угодно за бонусы, придти и забрать безо всяких проблем — не знаю, как сейчас, давно уже ничего у них не покупал, но раньше бонусами оплачивались любая часть покупки от 1 до 100% и на любую сумму; при этом никакой дополнительной аутентификации не требовалось — напечатать? накладную мог любой человек, знающий пароль от личного кабинета. Видимо, в Юлмарте решили, что так будет проще, чем разбираться с пострадавшими любителями паролей из приведенного в статье ТОП-25 либо самим становиться героями этой статьи и усложнять требования к паролю.
rockin
Всё так, да не совсем так.
Если включить правильного параноика и полностью обезопасить свой аккаунт от левого списания бонов, то абсолютно достаточно верификации заказа по смс, что сейчас и так есть.
Но для чего вход с капчой?! Капча, вообще, применяется в том случае, когда есть опасность автоматизации неких действий. А-ля рассылка спама, например. Куда может написать юзер юлмарта? В отзывы. Вот при отправке отзыва и надо капчу внедрять.
Да ладно бы ещё капча была… так нет… графическая… и в некоторых вариантах ставящая в ступор
vlivyur
Пару месяцев назад покупал у них абсолютно бесплатно.
vlivyur
Это «распределённая высоконагруженная и двукратно кластеризованная веб-платформа», ей можно как угодно унижать пользователя.
lizka_dro
Потому что Юлмарт, как и большинство, не понимает принципа «Защита должна быть адекватной секретности, критичности и уровню важности защищаемой информации»
Pilat
Когда надо иметь тысячу паролей, все эти рассуждения о их длине кажутся ерундой. KeePass и пароли в -дцать символов из случайных букв.
da411d
Вспомнился баян "самые надежные пароли — у неграмотныз людей".
(Я про "несловарность", не про простоту)
ainoneko
Это «метод советских партизан»: намеренные ошибки в словах сделали шифровки очень криптостойкими.
grabbee
Есть ли что-то плохое в ограничении попыток ввода пароля в количестве — 1 попытка?
Ведь если сложность пароля нужна для предотвращения подбора, то
TheShock
Тогда неугодному пользователю можно не давать заходить на сайт, «подбирая» его пароль.
grabbee
Был практически уверен, что получу такой контр аргумент..
Когда же ему нужен повторный вход?
Тогда дальше, как часто пользователи ВЫХОДЯТ сами с вашего сайта?
В заключении, существуют системы защиты от атак с одного IP, COOKIE, secret_key — тогда ваш ресурс должен быть очень "интересен" для атакующего чтобы он задействовал распределенную систему "умных" ботов. Также атакующему обязательно должен быть известен ЛОГИН жертвы. И пожалуйста, не упускайте всей той информации о "вероятности" перечисленной выше.
mayorovp
Ложная дилемма. На самом деле, неправильны оба варианта.
Для "проходного" сайта — регистрация через соцсети. Для важного сайта — 2FA (только сделанная по уму, а не как обычно). Если сайт может выступать в разных ролях для разных пользователей — предлагать выбор самому пользователю.
TheShock
Я вот на Хабру вхожу примерно каждые 2 недели, хотя никогда не выхожу.
Zav
Интересная тема, кстати. Я заметил это когда пользовался рядом интернет банков, в точности и в других странах.
При 5 попытках ввода пароля аккаунт блокировался и требовалось физическое посещение банка.
А логин был инкрементальной айдишкой.
Короче говоря пройтись простым скриптом и парализовать работу целого крупного банка это показывает охренительность такого решения, да.
Alexeyslav
Много где так. Бывает, логин в интернет-банк по номеру телефона, человек ошибается цифрой и не может понять почему пароль неверный, а чей-то чужой логин блокируется по попыткам ввода неверного пароля.
da411d
А если забыл пароль и подбираешь потому что не хочешь менять?
gnedkov
В современных техниках подбора мы давно не используем простой перебор всех символов по очереди.
— Приоритет ставится как раз словам и числам сграбленным с информации о вас в соц. профилях и.т.д. Начиная с популярных банальных паролей мы далее перебираем все запоминающиеся слова или ассоциации с вашей профессией и.т.д до простого перебора слов из словаря в разном порядке — так проходим по большинству аккаунтов ежедневно делая разрешенные несколько попыток.
Дело в том, что как и раньше у большинства даже очень продвинутых пользователей пароль это все так же просто слова или комбинации слов. Средний словарный запас у вас около 80000 слов. Даже учитывая ваши уловки с нулями и прочими спец.символами которые в большинстве своем предсказуемы, количество вариаций с использованием интеллектуального самообучаемого метода на простенькой нейросети падает минимум в три раза. В этом плане пароль не имеющий под собой заложенных слов более сложен для данного метода. И именно поэтому большие компании вас просят использовать такие сложные пароли для запоминания.
— Для проблем с запоминанием придумали lastpass и им подобные. Самые популярные боты для подбора к ним даже не суются… В основном потому что тот кто хранит свои пароли в lastpass с него как раз взять то и нечего)))
Не знаю написали ли про это среди комментариев, может я пропустил, извиняюсь.
mayorovp
80000 слов — это более 16 бит энтропии. Два словарных слова и цифра — это уже 35 бит энтропии, что более чем достаточно для форумов. А 4 словарных слова — это 64 бита энтропии, что достаточно для любых применений.
amedv
Больше всего раздражают не пароли, а наличие секретных вопросов и ответов для восстановления доступа к аккаунту и, часто их бывает сразу ТРИ! Писать правду в них — не лучшая идея, благодаря социальной инженерии и большому количеству информации о нас в открытых источниках ответить на такие вопросы не так уж сложно для постороннего человека, а если писать случайный поток букв и цифр — то их очень сложно запомнить.
WinPooh73
> благодаря социальной инженерии и большому количеству информации о нас в открытых источниках ответить на такие вопросы не так уж сложно
Ну, назовите мне отчество бабушки моего лучшего школьного друга в третьем классе.
SKolotienko
12345678
TheShock
Популярных имен не так много, отчеств — десятки, даже сотни не наберется. Перебрать их все — дело секунд.
vvzvlad
А оно в транслите. Или матом
ATwn
Как по мне, так важна не сколько сложность пароля, сколько политика его использования. Если частоту смены пароля еще можно как-то проконтролировать, то как убедиться в том, что пароль не будет использован для других сервисов или что пользователь не будет хранить его открытым текстом на своем компьютере?
Думаю, надо отходить от концепции использования паролей как таковой. Или, по крайней мере, использовать другие методы аутентификации там, где безопасность важнее юзабилити.
VolCh
А что взамен паролей? Как аутенфицировать человека так, чтобы аутенфицирующая информация с одной стороны была всегда с человеком, а с другой, не могла быть легко воспроизведена другим человеком или программой?
Pilat
Первая ласточка — Twitter Digits. Он считает что пользователь — это телефон.
В целом нужна аппаратная отвечалка на вопрос сервера, которую нельзя оторвать от пользователя.
Вмонтировать её в жопу и пользователь, садясь на стул, сразу вводит пароль :)
VolCh
Моя личная текущая практика показала, что "пользователь — это телефон" не работает, как минимум, в отношении близких людей. Внук берёт у бабушки телефон и аутентифицируется от её имени, а потом бабушку судят.
mayorovp
https://habrahabr.ru/company/everydaytools/blog/323864/#comment_10117116
Arxitektor
Поэтому мне нравиться последний мак про.
Сканер отпечатков — круть. Прикоснулся и зашел в OS.
Думаю будет удобно использовать это систему для авторизации на сайтах.
Нажимаешь авторизироваться тебе — прикосьнитесь к сенсору.
И все ты зашел на сайт. Все пароли генеряться и хранятся в аппаратном крипто чипе в ноуте или отдельном устройстве.
На телефонах проще. У многих есть сканер. Только надо как-то сделать чтобы эту систему можно использовать на всех сайтах. Как в браузерах которые запоминают пароль.
VolCh
Вы доверите все свои банковские аккаунты (включая возможность брать кредит) такому сканеру?
ranquild
Только в случае утечки данных пароль можно сменить, а отпечаток — нет.
Kobalt_x
До 9 раз можно сменить[/sarcasm]
TheShock
Даже до 19 на крайний случай.
Alexeyslav
21, нос и мочки ушей учесть надо. Локти, в принципе, тоже посчитать можно.
ANOmym
9, 19, 21 а можно узнать подробности этих цифр? Левый указательный палец руки имеет другой отпечаток и отличается от правого? Как использовать локти в качестве слепка? Я просто не в курсе ограничений таких сканеров и слабо знаком с их работой.
mayorovp
Можно использовать любой участок кожи где есть, собственно, узор кожи. Да, он у разных пальцев отличается.
alsii
Отличается. Иногда даже выд узора отличается. Например у меня на одном среднем пальце петля, а на другом — завиток.
vlivyur
Тюкнул аккуратно по голове киянкой и даже упрашивать ввести пароль не надо.
Maks_K2
Не обязательно — было уже малая лет 7 пока мама спала разблокировала iPhone отпечатком
и накупила в игрушке себе много всего полезного
пока у мамы деньги на карте не закончились
vikarti
У самсунга в настройках сканера есть опция 'использовать для сайтов' правда непонятно как работающая.
LastPass умеет использовать сканер отпечатков на Android И автозаполнять в том числе — на сайтах в Chrome и в приложениях. Да, для этого нужно дать ему соответствующие доступы. И вопрос доверия становится еще более критическим.
heleo
А как доставляют сайты на которых нельзя использовать в паролях спец символы или длина пароля ограничена. Вроде и пароль сложный и длина хорошая, но «кхе-кхе… звиняйте, этот пароль не подойдёт». Так и живём, через месяц -> «Восстановить пароль».
А ещё есть ресурсы с «памятью», когда хранят данные о предыдущих паролях и не дают менять на ранее использованный, причём порой помнят в неприлично больших количествах.
Уж лучше двух факторная авторизация для таких параноиков.
Lokky777
Взять например QIWI они насильно заставляют менять пароль через некоторый период и ещё не разрешают использовать старый + приходится ещё извращаться с регистром и и цифрами, в следствие чего пароль забывается, и когда нужно что нибудь оплатить всегда приходится восстанавливать.
DemyHallar
Мне кажется, в этом контексте просто нужно упомянуть QWERTYCard.
zevilz
Чем больше ограничений на вводимый пароль, тем проще организовать брутфорс, т.к. заранее известен его формат, поддерживаемые символы и длина)
Singaporian
А я выиграл войну с паролями.
У меня был мой любимый пароль (ну как был — он до сих пор жив и здравствует, просто нигде не используется). Но каждый умный сервис хочет, чтобы этот пароль был сложнее. То я не могу имя использовать в пароле, то спецсимвол нужен, то еще какая-то галиматья. Умножаем это на то, что пароль надо менять каждые три месяца — и вот у него уже итеративно меняются последние цифры. А потом и буквы, потому что пароль не должен быть «похожим» на прошлый…
Я христом богом молил админов убрать это. Я даже сбрасывал пароль своего коллеги по телефону в саппорт центре, чтобы показать, что процесс восстановления пароля — самое опасное, что можно придумать. Ничего не помогло. Аргумент был непобедим: я что, считаю себя умнее разработчиков Active Directory?
Ну я не смог доказать обратного — видимо потому, что я не умнее. Я просто распечатал пароль и повесил на монитор. Все, теперь секьюрно! Теперь сложно!
andreishe
С Active Directory все на самом деле просто решается смарт картами. Я своего пароля не знаю (т.е. он где-то в труднодоступном месте записан и я им никогда не пользуюсь). Вхожу по смарт карте, на которой не надо пароль менять. При наличии TPM на компьютере, можно виртуальную смарт карту сделать.
Singaporian
Я практически не знаю Windows. Не готов изучать целый набор новых технологий только ради пароля :-)
antrew
Почему все так зациклены на атаке на хеш? Да, современными вычислительными средствами можно подбирать пароли. Но ведь если злоумышленник заполучил хеш вашего пароля, то скорее всего он получил и все остальные ваши данные, а в такой ситуации стойкость пароля это уже не самая большая проблема.
Я считаю, что стойкий пароль в 8 символов — это нормально. API аутентификации должен предотвращать брут форс.
webdiez
https://www.stihi.ru/reg.html Зарегистрируйся попробуй здесь!)))
rombolshak
Мне тут ВТБ Онлайн предложил создать пароль от 8 до 20 цифр (да-да, никаких букв и упаси Ктулху спецсимволов), да чтоб не было двух одинаковых подряд. Восхитительная безопасность.
siliniex
В один прекрасный день надоело уже 100500-ый раз создавать регистрацию на очередном сайте и всё это в тетрадь беречь, что решил как-то облегчить себе жизнь. Сделал двух факторную аутентификацию во всех основных сервисах. Где возможно, захожу через соц. сеть. В других местах пользуюсь KeePass, который защищен длинным хорошим паролем и ключ файлом на флешке. Так, теперь во всех сайтах если нужен пароль могу хоть 100 знаков туда сгенерировать, так как запоминать нет надобности, в случае чего с легкостью можно вернуть доступ. И того, из н-того количества сайтов нужно запомнить всего-то штук 5. Всё остальное делается в пару кликов. На этом проблему для себя закрыл. Жду когда можно будет пройти авторизацию путём отпечатка. Хотя подозреваю, что и это может когда-нить подвести.
nioliz
Только вот аффтар пошел по тому же пути, по которому все разработчики до него. Вот я не понимаю, почему меня должны ограничивать по максимальной длине пароля? И зачем ограничивать подряд идущие последовательности? И адрес пользователя? Вот хочется мне в качестве пароля каждый раз набрать весь русский, а потом и весь английский алфавит подряд кроме обеих «а», а потом еще и емейл. Да, символы идут подряд, зато эти 56 символов не подбираются ни перебором, ни словарём просто потому, что никому в голову не придёт что я реально их столько указываю. Ничего надежнее вы все равно не придумаете. А запоминать — легче легкого. И кстати в наш век утилит для хранения паролей 95% времени этот пароль может автоматически вводиться откуда-нибудь с е-токена.
Резюме: нужно считать сложность и взломостойкость пароля на этапе регистрации в баллах. За определенную узнаваемую последовательность добавлять определенное же количество баллов. Одна буква или цифра — тоже определенное количество баллов. И разрешать к регистрации пароли, набравшие нужное количество баллов. Алгоритм конечно же будет сложнее, зато эффекта больше.
Fetur
Пацаны и девчата, я вообще не вкуриваю о чем речь, но мне кажется ВСЕ всё пере усложняют. Неужели нельзя сделать ОПЕН СОРС с авторизацией, тупо одна авторизация. Где ты регистрируешься, а потом как через социалку входишь на любой сайт. Как было в Ucos, как сейчас граватарар через WordPress blog.
Зачем люди придумывают тысячи реализаций выполняющих одну и ту же функцию. Никого же не парит яндекс uid на всех сайтах. Так почему бы не сделать общую авторизацию, открытую систему. На таких сайтах обычно больше комментирования и опросников, подписонов дальше не идет. Я считаю это неплохой старт для публичных централизованных методов авторизаций.
VolCh
Кто будет контролировать эту единую авторизацию, вернее аутентификацию? Могу ли я ему доверять как пользователь? А как владелец сервиса?
Fetur
Кто владелец блокировщиков рекламы, могу ли я ему доверять как пользователь и он не будет сливать переписки с соц.сетей к себе?
А если серьёзно, то рано или поздно мы все к этому придём, сейчас больше проблема самого стандарта аутентификации и/или завышенные требования к ним. Для простых сайтов использующих данный виджет не нужно делать регистрацию по паспорту, мобиле. Взгляни на сервис комментирования disqus, встраивается двумя строчками кода, а красота какая. Сделать к примеру, что если в месяц меньше 10 тысяч обращений в систему авторизации, то бесплатно, иначе "… пошли тарифы".
VolCh
Блокировщик рекламы даже близко не стоит по важности с единым центром(сетью) авторизации. Если вдруг подобный центр появится и все сервисы перейдут на него, то во власти этого центра полностью заблокировать активную сетевую жизнь пользователя. Ни тебе доступа к банковским счетам, ни к госуслугам, ни к социальным сетям со множеством контактов, ни к почте и мессенджерам, ни к играм, в развитии аккаунта которых ты годы положил, вообще ни к чему, где хранится твоя нужная и конфиденциальная информация, обнуление заработанной репутации.
Это даже не касаясь возможности утечек и не авторизованного доступа.
vikarti
Блокировщиков — много.
Почти все они — opensource и можно посмотреть код. Или свой написать, того или иного качества, попробовать если паранойя совсем замучила или по каким то другим причинам хочется. И пишут ведь люди — тот же Adhell для Samsung'ов который без рута (и прокси) блокирует во всех приложенияхю (статья на хабре есть).
Сами блокировщики и списки по которым они работают — вполне могут делаться (и делаются) разными людьми.
А (почти) единая аутентификация уже есть как бы — называется 'Войти через Facebook'. Более миллиардов потенциальных пользователей кто уже имеет аккаунт и может войти сайт одной кнопкой.
Вот только всякие нехорошие пользователи жалуются (особенно в Европе) что Facebook сам факт наличия кнопок 'войти' — использует для слежки за пользователями.
Stepler
Обычно делаю так:
1. при регистрации пользователя не даю вводить пароль, но программирую автоматическую генерацию пароля и отправляю данные аутентификации на почту пользователя;
2. в личном кабинете пользователь может изменить пароль на свой, но при этом обязательно привожу несколько предложений о безопасности в виде предупреждения о персональной ответственности.
jetexe
о да. Ваш котёл уже почищен, разогрет и ожидает вас
Stepler
Благодарю за аргументированный ответ. Хотелось бы конструктивный диалог, но Ваше красноречие выше любой диалектики.
VolCh
Если и отправлять по почте пароль, то исключительно одноразовый. Но тогда проще и удобнее отправлять одноразовую ссылку, по которой пользователь должен задать пароль.
Stepler
Согласен на счёт «одноразовости» как пароля, так и ссылки.
jetexe
Хотите аргументированный? хорошо:
Хранить пароль в почте не безопасно по определению, если это не одноразовый пароль/ссылка
А может и не заменить. А может опять поставить «123упячка321» как и собирался изначально.
Тогда зачем вы его генерируете при регистрации? и сообщение выше показывает то, что он не одноразовый
Получается, что вы заставляете сделать лишние телодвижения, результатом которых, в лучшем случае, защита останется на том же уровне, а в худшем ещё и сильно уменьшится
nikitasius
Сложный пароль это, конечно, хорошо. Но вот беречь систему с этим сложным паролем — это куда важнее.
Брутфорс ограничивается рейтами сервера и настройками плюшек безопасности, которые там работают, но вот шутка про 550 лет побора при 1000 в секунду… на новых тесла от nvidia там около 9 миллиардов в секунду.
DistortNeo
Вам ни один сервер не позволит настолько часто вводить пароль. Ну а если утекла база с хэшами, там уже без разницы становится.
nikitasius
Для этого и указан акцент про сохранность. Читайте внимательно.
А вот факт утечки — его еще надо установить.
abyrkov
— Вы должны поставить пароль. От 8 до 20 символов, с 5ью буквами набранные не в разных раскладках, без спецсимволов. Не совпадающих с предыдущими паролями и паролями от других аккаунтов. Не сопротивляйся, ты же знаешь, что я заставлю тебя сделать э…
— qwerty1234?
— Да.