Чи є поважні причини заборони символів та обмеження довжини паролів?


39

Я натрапив на досить багато сайтів, які або обмежують довжину, на яку вони дозволяють створювати паролі, і / або забороняють певні символи. Це обмежує мене, оскільки я хочу розширити і подовжити простір пошуку свого пароля. Це також дає мені незручне відчуття, що вони можуть не поспішати.

Чи є вагомі причини для встановлення верхньої довжини або для виключення символів у паролях?


26
Звичайно! Це полегшує грубі дії, відгадуючи паролі людей! : P
FrustratedWithFormsDesigner

4
Ми говоримо про дійсні причини "Технічні" чи "Ділові"?
Мартін Йорк

1
@Martin: Я думав про технічне, але я вважаю, що.
chris

11
@JYelton Чому вам все одно, яка довжина пароля? Хеш завжди буде однакового розміру. Я, звичайно, сподіваюся, що ви не зберігаєте їх у
простому

Відповіді:


27

Ні

Там немає хороших причин.

EDIT: Я не можу довести, що немає вагомих причин, тому що не можна довести негатив. Я не можу думати, що для цього немає вагомих причин - як зазначали інші, хеш буде однакового розміру незалежно від розміру вводу, а усунення дійсних символів (з контексту питання) просто зменшує простір стану. Відповідь на її обличчі здається очевидною: немає вагомих причин. Можливо, існує велика кількість причин, які звучать добре або здаються гарними, але вони не є. Якби вони були, хтось уже розмістив би їх тут, або якби не тут, то, звичайно, на security.stackexchange.com, і ця відповідь не була б такою сильною репутацією.


3
Я згоден, але коментар Кіссакі щодо кодування є дійсним. Деякі стеки / програмісти просто не можуть отримати кодування правильним, для них обмеження на ASCII - це дешевий хак, щоб змусити його працювати.
edA-qa mort-ora-y

10
Чи можете ви хоча б спробувати деталізувати? Або ви цього не знаєте фактично, або у вас є підстави вважати, що загальні / існуючі причини не вірні. Надаючи вам користь від сумнівів і припускаючи останнє, ви повинні пояснити, чому ці причини не дійсні.
Aaronaught

8
-1 - Я можу придумати кілька вагомих причин обмеження паролів певним набором символів. Крім того, необхідність підтримувати паролі телефону з сенсорним тоном, а також ті, які ви вводите за допомогою клавіатури - це також ситуація, про яку потрібно пам’ятати.
rjzii

9
-1. Ніякого виправдання, просто думка. Якщо ви збираєтесь зробити ковдру, виберіть його.
Майкл К

4
Зараз це обговорюється на нашому сайті для мета-обговорень : було б корисно зрозуміти, чому односкладова відповідь настільки популярна і що ми можемо зробити, щоб покращити якість відповідей, як це.

25

Обмеження довжини може бути мірою для обмеження часу виконання хешування, а також обмеження пропускної здатності (і обидва вони дійсно граничні). Крім цього, немає вагомих причин, особливо з точки зору безпеки.

Можна сказати: «Люди забудуть довші паролі легше» - але це справді дурне твердження і зовсім не доходить до справи.

Що стосується символів, якщо ви знаєте про можливі проблеми кодування з передачею даних та / або міграцією в майбутньому (наприклад, ви перейдете з ASCII на UTF-8 через 2 роки), що дозволяє більше символів бути корисними лише для надійності паролів.


4
Враховуючи накладні витрати будь-якої сучасної довжини протоколу, абсолютно не може бути вагомою причиною - крім високої межі, як 1K, лише для запобігання певним атакам / дурницям.
edA-qa mort-ora-y

3
Обмеження часу виконання хешування, як правило, погано. Чим довше потрібно обчислити хеш, тим більше часу потрібно, щоб його змусити.
tdammers

Хоча це правильно, це завжди компроміс. Ви не хочете завжди обчислювати найкращий хеш, який займає найдовше. Отже, асиметричне рукостискання проти симетричного потоку даних у VPN тощо.
Кіссакі

17

Так , для особливих персонажів є причина.

Заборона використання спеціальних символів - це скоріше корисність, а не безпека. Перш за все, вони можуть заблукати через проблеми кодування. По-друге, навіть якщо ви гарантуєте, що завжди будете використовувати одне і те ж кодування, все ще існує проблема пристрою введення. Ви б залежали від наявності повної клавіатури (яка виключає більшість мобільних пристроїв) з ​​однаковою компонуванням клавіатури. Пізніше різняться не тільки між мовами, але і між ОС, макети для Windows, Linux та OSX можуть дещо відрізнятися. Так що я бачу хороший привід , щоб не допустити пароль , як: √Ω≈ç∫∞§…¬å∑±.


3
якщо ви не надання пароля для користувачів, тобто, якщо вони є ті , що входять самим паролем , то якщо вони так вирішили використовувати будь - то дивну математику символ дійсно свій бізнес. тепер я згоден з проблемою кодування тут, хоча вважаю, що це більше привід пройти нижче некомпетентності радіолокатора, ніж фактично вагомий привід запобігти певним символам довільно.
Ньютопський

2
@new: це не їхня справа. Якщо вони стрілять собі в ногу, вони все одно сприйматимуть як проблему з вашою заявкою та зателефонують у вашу підтримку.
vartec

7
@Newtopian: Я ненавиджу це, коли я, як користувач, описуюсь через незнання (наприклад, не можу вказати "+" у своїй електронній пошті). Однак іноді гарно не давати користувачам багато мотузок, з якими можна повіситись. Я думаю, що це така нагода. Справа не в тому, що "довільно" запобігати певним персонажам.
Зано

1
Отже, ви виступаєте за те, що греки, араби, китайці та інші користуються США-ASCII?
l0b0

@ l0: ні, я виступаю за те, щоб вони використовували в своїх мовах звичайні, вживані символи, а не якісь спеціальні символи, які можуть бути відсутні у деяких макетах.
vartec

13

Кілька років тому в світі безпеки була суперечка, коли клієнти Chase виявили, що їх паролі не залежать від регістру. Виявилося, що їх веб-сторінка була лише переходом до 30-річної системи резервного копіювання OS / 400, яка мала технічне обмеження, оскільки вона ігнорувала випадок. Виправлення цього, очевидно, коштувало б мільйонів доларів.

Справа в тому, що можуть не бути дорогими застарілими причинами заборони паролів певної довжини.
(Зверніть увагу, що я не вибачаю цього виправдання ...)


1
оскільки це єдиний хороша причина граничного пароля в будь-якому випадку ... тільки якщо основна система буде проводити такі обмеження в першу чергу.
Ньютопський

8

Більшість банків, ІТ-відділи тощо. Хто застосовує максимальні обмеження паролів, цього не роблять з технічних причин. Вони прекрасно знають, як працює хешування паролів та як зберігати складні паролі. Вони встановлюють ці обмеження, оскільки це зменшує кількість дзвінків на підтримку людей, які забули свої паролі. Чи це вагома причина накласти таке обмеження? Ні в якому разі. Але, тим не менше, це головна причина.


1
Я бачу зменшення викликів підтримки як valid Business reason(особисто я не вірю, що існує кореляція)
Мартін Йорк

2
Ну, є й інші способи перевстановлення паролів або навчання користувачів щодо того, як вибрати досить складні паролі, які легко запам’ятати. Останні кілька моїх паролів на роботі були> 25 символів, і я не мав проблем із їх запам'ятовуванням. Також, мабуть, люди, які мають проблеми з запам'ятовуванням своїх довгих паролів, все одно виберуть короткі паролі, хоча я не маю уявлення, як часто це насправді так. Зменшення кількості дзвінків за підтримку здається вагомою діловою причиною на поверхні, але все ж це хитра причина обмеження довжини пароля.
Грег Джексон

1
Я думаю, що моїм (і багатьом людям) було б точно ввести (не просто запам'ятовуючи) 25 символів, не побачивши вихід майже неможливо. Я поки що зафіксував 5 помилок під час введення цього тексту!
Джеррі

Що ж, запам'ятовування - це не те саме, що друкувати. Запам'ятати довгі паролі дуже просто, якщо ви знаєте, як їх вибрати; просто підберіть рядки з оповідань чи п’єс, або частини віршів чи пісень пісень. Поки ви змінюєте там одну або дві речі (навмисні написання помилок, зміна одного слова на інше, яке звучить так, або це означає те саме, тощо), це досить легко і надзвичайно безпечно. Щоправда, набрати це може бути складніше, але це не привід для банків змушувати вас вводити менше 8/10/12 символів.
Грег Джексон

спробуйте ввести 25-літерний пароль на мобільному пристрої
Lie Ryan

7

Не всі пристрої введення (апаратні) часто мають усі символи, які має повна клавіатура, або аналогічно. Якщо ви не використовуєте диспетчер паролів, ви можете зіткнутися з проблемою введення такого пароля, ні? І Unicode все ще далекий (далекий) шлях від стандарту.


1
Зазвичай люди, що вводять паролі, будуть використовувати одне і те ж обладнання (або апаратний клас) для їх створення та автентифікації. Я не бачу, як це аргумент щодо обмеження наборів символів чи довжини. Що стосується Unicode, то при побудові серверної частини (частини, що підтверджує автентичність) чому ви обмежите розмір чи набір символів? будь-яка система, яка потребує введення пароля, повинна мати можливість контролювати, як цей пароль вводиться в систему, таким чином, якщо вам потрібен унікод для вашого клієнта, то так і буде!
ньютопський

@Newtopian Ви припускаєте, що вам не доведеться взаємодіяти зі застарілими системами або системами, які не є вашими.
grahamparks

1
вони попросили хорошу причину, це не гарна причина

2
@Jarrod - Неможливо ввести пароль - це не вагома причина ?! У будь-якому випадку я не бачив, щоб ти придумав кращий (або взагалі будь-який).
Грак

3
@Rook ви не повинні були використовувати ці символи , якщо ви знали , що ви не могли б забрати їх з пристрою, що робить його хорошим підстав обмежувати їх для всіх, це робить його хорошим підставою для вас особисто не використовувати їх.

7

Чи є вагомі причини для встановлення верхньої довжини або для виключення символів у паролях?

Я збираюся здогадатися і сказати, що деякі з цих обмежень пов’язані з фільтруванням символів на їхньому веб-сайті ( & < > #), щоб уникнути хакерів. У той час як інші - це ідеї, що виходять з костей, які виходять з комітетів гострих волосистих босів.

Я зіткнувся з низкою дійсно дурних (на мою думку) рішень з безпеки. Наприклад, одна велика інвестиційна компанія обробляє мої рахунки IRA, а також мою пенсію. Для того, щоб здійснити будь-який контакт з пенсією, потрібно ввести пароль по телефону (інакше ви не можете їх отримати). Мій обліковий запис посередника / ІРА використовує літери (верхній і нижній регістр), а також деякі пунктуаційні знаки - жоден з цих символів не відображається на телефонній панелі номера телефону. Якщо ви не можете увійти за допомогою пароля по телефону, він дозволяє скинути пароль вашого брокерського рахунку на те, що ви можете ввести по телефону.

Моя система оплати праці (для консалтингової компанії, в якій я працюю) вимагає номери, і лише номери - це дозволяє їм використовувати ту саму базу даних, незважаючи на те, що користувач дзвонив (я ніколи цього не робив) або використовує веб-інтерфейс (я використовую лише це) .

Коли це було сказано, пора змінити свій пароль в офісі. Вони мають такі шалені обмеження, що, на мою думку, знадобиться приблизно півдня на пошук пароля, прийнятного для системи: принаймні 2 великі літери, принаймні 2 малі літери, принаймні 2 цифри (що не може бути +/- 1 з попереднього пароля), принаймні 2 символи, що не містять альфа / нечислових значень, не можуть відповідати жодному з останніх 24 паролів, не можуть містити жодної рядки (вперед або назад), що є словом (довжиною 3 та більше літер) англійською мовою ( також ще пару мов, яких я не маю дозволу знати). Я думаю, що мінімальна довжина приблизно 10-11 символів.


Так, я бачив цих персонажів у списку.
chris

5
Проста атака: знайдіть на клавіатурах наліпки, оскільки ніхто не може запам'ятати їх пароль.
JeffO

@Jeff, це правильно. Якщо я залишу свій ноутбук вдома, паролі занадто складні для запам'ятовування, тому я не можу увійти. А в системі оплати праці я вклав ім’я користувача та пароль як частину закладок.
Тангурена

"не може містити жодної рядки (вперед або назад), що є англійською мовою (довжиною 3 та більше літер)" Це мене отримав цей. Атаки зі словниками не ефективні, якщо пароль містить цілі слова, а швидше, якщо весь пароль складається не з нічого, крім повних слів ... Ну справді одного повного слова або дуже поширених фраз. Найбезпечніші паролі, які практично використовувати без запису, - це парольні фрази, що надходять із книг, віршів, пісень пісень тощо - змінити кілька літер в цифри, щось неправильно написати та використовувати великі літери непередбачувано, і ніхто не збирається зламати цей пароль.
Грег Джексон

1
Фільтрація символів - вірний знак неперевіреного коду сміття на задньому плані. Розробникам потрібно навчитися уникати рядків.
l0b0

5

Однією з причин обмеження символів було б те, як вводиться пароль тоді.

Наприклад, кілька банків зі своїми веб-сайтами Інтернет-банкінгу запитують конкретні символи з пароля, і ви вибираєте відповідні символи через спадне поле.

Вони роблять це, мабуть, так, щоб кейлоггери не могли виявити натискання клавіш, і, таким чином, знати [символи з] вашого пароля. Хоча я знаю, що існує багато інших способів уникнути таких заходів, наприклад, захоплення екрана; він все ще ефективний проти кейлоггерів.

Якби вони мали дозволити всі символи, то довжина випадаючого поля стала б громіздкою, а також дозволила б заплутатися між схожими на вигляд символами.


1
Напевно (технічні) люди все-таки просто вкладуть лист?
Джеррі

@Gerry - це поведінка конкретного браузера, а не абсолютний стандарт, і це також залежить від знань користувачів, щоб зробити це працездатним.
Джон Хопкінс

Мій банк використовував спливаючий аплет клавіатури з аналогічної причини. Але це було надто складно у використанні, і я отримав багато критики за недоступність (не працював для читачів екрану, альтернативного введення тощо)
jqa

1
@Jon - я сказав, що технічні люди, і я не знаю жодного браузера Windows, який не реалізує принаймні відповідність перших символів, як це стандартна поведінка Windows - не можу говорити для Mac та * nix
Джеррі

1
@Gerry Браузер на моєму телефоні Android не дозволяє цього. Я думаю, що це так само для багатьох мобільних пристроїв.
RoundTower

2

Заборона відключення спеціальних символів, таких як вкладка, буде дійсним. Ви можете увійти або змінити свій пароль за допомогою вкладки в текстовому режимі, але не можете використовувати його в GUI або веб-середовищі. Зворотний кут нахилу також відображатиме деякі проблеми на платформі.

btw довгі паролі - не паролі - це паролі. Ваш середній користувач не може запам'ятати 2Z8d!% G # x, але вони можуть запам'ятати "ім'я мого домашнього улюбленця - це собака". Більш довгий текст важче розірвати через грубу силу, і набагато рідше це буде написано на примітці, прикріпленій до екрана.


Дивіться також xkcd.com/936
sergut

0

Коли люди набирають помилки, їх називають "помилками". Зазвичай люди бачать свої помилки і виправляють їх. Для введення пароля, як правило, ви не бачите, що ви ввели, і тому ви не можете виправити помилки. Ви робите помилки, не усвідомлюючи цього, подаєте свій пароль, і він повертається як "недійсний пароль". Потім ви спробуйте ще раз. Потім ви спробуйте ще раз.

Ви можете подумати про це як "3 незначні друкарські помилки, і тоді ви не відрізняєтесь від грубої атаки". Як системи захищаються від жорстоких атак? Явна відповідь " Занадто багато спроб, відійдіть, ви не зможете увійти, навіть якщо ви все зробите правильно "? Експоненціально зростаючі затримки з введенням пароля призводять до тимчасових затримок веб-переглядача, коли затримка занадто довга, що робить неможливим спробувати знову увійти? Підходи різняться, але в добре продуманій системі завжди є наслідки.

Ви можете подумати про це як "3 незначні друкарські помилки, і тоді ви отримаєте якусь відмову в обслуговуванні".

Зі збільшенням довжини пароля збільшується ризик помилок (а отже, і ризик заборонити доступ до уповноваженої особи) збільшується. Що-небудь довше, ніж приблизно 20 символів, буде неправильно вводити помилку (якщо тільки користувач не розумний / ледачий і зберігає свій пароль кудись, щоб вони могли "копіювати та вставляти", не турбуючись про помилки, як приємний звичайний текстовий файл на робочому столі під назвою " паролі" .txt ").

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.