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


11

Якщо паролі зберігаються хеш-пам'ять, як комп'ютер дізнається, що ваш пароль схожий на останній, якщо ви спробуєте скинути пароль? Чи не будуть два паролі абсолютно різними, оскільки один хеширується і не може бути повернутий назад?


5
Комп'ютер не знав, чи схожі вони . Зрозуміло б, чи були вони однакові (перемішуючи новий пароль і порівнюючи його із збереженим хесом оригінального пароля).
Роберт Харві

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

Якщо вам потрібно порівняти паролі, ви не будете використовувати хеші. Цілком імовірно, ви будете використовувати AES або інші форми
симетричного

Відповіді:


15

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

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


"Скидання пароля", як правило, означає "я забув свій пароль і хочу його скинути", тому вам не запитають старого пароля. Друга половина вашої відповіді точна.
casablanca

3
@casablanca: там багато систем, які ви "скидаєте" свій пароль кожні X днів ....
whatsisname

1
@casablanca: перша половина також точна, "скидання пароля" може мати обоє значення, термінологія не така жорстка. Нам потрібно запитати ОП, що саме вони мали на увазі.
Док Браун

12

Проста відповідь полягає в тому, що захищена система не знає, чи схожі вони.

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

  • Вони можуть зберігати останні N хешів паролів, які ви використовували. Якщо ви введете старий пароль, його очевидно, оскільки новий хеш пароля відповідає старому хешу пароля.
  • Використовуваний хеш-механізм може містити механізм прибивання великого пальця, а поруч із хешем може зберігатися хешований мініатюра. По суті, певні бітові шаблони в хеш-мініатюрі виражають набір вкрай схожих бітових шаблонів базового значення.
  • Точно так само вони можуть відмовлятися від статистики щодо вашого пароля, що дозволить точно визначити схожість.

Взагалі кожна з цих методик знижує безпеку паролів.

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

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

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


7

Якщо паролі зберігаються хеш-пам'ять, як комп'ютер дізнається, що ваш пароль схожий на останній, якщо ви спробуєте скинути пароль? Чи не будуть два паролі абсолютно різними, оскільки один хеширується і не може бути повернутий назад?

Ви генеруєте декілька подібних паролів із того, який ввів користувач, і перевіряєте, чи відповідає один з хешей старого пароля.


Так, люди цілком передбачувані у вигляді різноманітних змін, які вони внесуть, щоб це було гідним способом.
кіборг

Це може підійти дуже швидко з точки зору обробки, необхідної лише для найкоротших паролів. Тож я не вірю, що це реальна практика.
Мартін Маат

Я працював в одному місці досить тривалий час, і коли я покинув свій пароль, було суперзахищеним паролем39. (Вірні лише дві останні цифри). Очевидно, якщо пароль починається чи закінчується цифрою, щоб побачити, чи був використаний попередній номер.
gnasher729

@MartinMaat Хоча це все-таки? Ви можете виявити додавання або збільшення числа, видаляючи символи один за одним з оригінального пароля. Тобто для "пароля", ви маєте хеш "assword" (хі-хе), "pssword", "pasword" і т. Д. Ви можете навіть уникнути використання слабшого для цього через додаткову складність необхідності спробувати 256 перестановок кожного з них якщо у вас трапиться насильницький вторинний хеш. (Більше, якщо ви зберігаєте їх у випадковому порядку, і ви не знаєте, який символ був пропущений в якому, то це 256 * N для кожного.)
milimoose

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

2

Інший зразок - ваша система хешує деякі характерні підмножини вашого пароля і зберігає ці хеші, щоб перевірити, чи підмножини нового пароля відповідають будь-якому із старих, тобто: пароль: "Admin2018" та підмножина: "Admin" = не може ввести "Admin2019" як новий.


1

Одним із способів було б зберігання останніх п'яти хешованих паролів у такій таблиці, як "Історія паролів", і коли користувач намагається встановити новий пароль, хешируйте його та порівняйте з хешованими паролями в таблиці.

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