Только я и MAX
Телеграм канал - https://t.me/roflemem/7608
Телеграм канал - https://t.me/roflemem/7608
Потому что есть хэш-функции. То же самое при проверке сохраненных паролей. В нормальных системах они не хранятся в открытом или явном виде. Хранятся хэши.
Hash::Salt усложняет атаки, в которых злоумышленники пытаются угадать общие пароли для создания коллизий. Salt это та самая «соль».
Я бы даже начал с того, что банк сохраняет хэш пин-кода, когда этот пин-код устанавливается для карты. Упрощённо хэш - это шифрованный слепок да нных, из которого очень трудно вычислить исходные данные. Поэтому если злоумышленники украдут данные сервера, они Не узнают пин-коды.
Банкомат не сверяет пин-код, а сверяет сервер.
Причём банкомат зашифровывает пин-код с помощью специальных выделяемых отдельно для каждого банкомата криптографических ключей. и отправляет его по защищённому каналу на сервер. А сервер сверяет хэш введенного пин-кода с хэшем хранящимся в базе данных.
Возможно где-то я ошибся потому что я не специалист по безопасности но в целом должно быть верно
Хэш это не "слепок данных" а результат необратимых математических операций, как например банальное умножение. Восстановить данные не сложно, это невозможно. Только брутфорс, ооооочень долгий и упорный. У пин из 4 символов к слову всего 10000 комбинаций, простого хэша тут вообще недостаточно. Сам результат вычислений хранится скорее всего на самой карте, вам когда говорят в банке установите пин он вводится не в магический сервер, а в терминал с картой. Хотя и проверка в онлайне тоже 100% есть.
Я объяснения начинаю со слов: "Представьте себе такое умножение, для которого нет обратной операции.
Т.е мы не можем поделить результат на множитель и получить множимое"
Сам понимаю, что не совсем корректно так говорить. Это вводная часть, потом уточняю
Т.е мы не можем поделить результат на множитель и получить множимое
Не, не можем. Но мы можем из утекшей базы взять результат умножения (хеш) и случайный коэффициент (соль) и перебрать все 10к вариантов пинов, применяя известную хеш-функцию (например SHA-256) к хеш+соль, пока не найдем множимое (наш пин). Делов примерно на секунду. Поэтому не стоит создавать паролей к сайтам из 4 цифр.
С банками все сложнее, там и растяжение ключа (тысячекратное перехеширование) и само обладание пином без остальных данных/пластика много профита не даст.
Представь, взял два охрененно больших числа. Перемножили друг на друга. И ты нихренашеньки не сможешь узнать какие это два больших числа. RSA назвали.
Поэтому если злоумышленники украдут данные сервера, они Не узнают пин-коды.
Смотря что за функция хэша применена и сколько комбинаций 4х значного ПИН кода дают одинаковое хэш значение. Ну и обратка, чтобы не ввести левый ПИН, который даст тот же хэш.
Не в теме как в банке всё устроено, но я бы сделал 2 хэша с разным алгоритмом на физически разные сервера. Ещё и хэш номера карты, тогда реально хер сопоставишь, если даже получишь обе базы.
Блин, помню клиенту сделал магазин в дремучих годах.
А спустя время он такой,
- Дайте наши пароли. Мы там пароли сохраняли, а теперь не помним.
- Не могу. Могу только поменять.
- Нет. Нам надо те "вспомнить". Использовали ещё и в другом месте
- Это не возможно по техническим причинам.
- Вы же делали на нашем сервере и говорили, что он наш и всё на нем наше.
(Наврал или Неумеха?)
- Да. БД у вас и весь полный доступ только у вас и у меня, пока вы не поменяете пароли по инструкции которую...
- Тогда пришлите сохраненные пароли.
- Не могу.
Долгие объяснения про то, как это хранится и почему так вообще делают. Мол, в том числе и когда "Использовали ещё и в другом месте".
Не поверили.
Бля... Ну и чушь ты написал. Ну сохранят они хеш, а на пин. Так перебрать все 10000 комбинаций чтоб узнать к какой пин соответствует этому хешу вообще не проблема.
Поздравляю, Вы только что изобрели брутфорс.
Правда, не совсем понятно зачем это делать на стороне сервера.
"сервер знает пины" и "сервер не знает пины, но по хэшам может их вычислить" - разные утверждения.
Потому что банкомат отправляет запрос в ебаный банк для проверки. Или у него локально есть инфа. С чем ты блять сравнивать собрался результат функции то?
Эта поебень работает так же как и любая авторизация по паролю. Хули тут понимать.
расписано долбаебом. Вариантов проверки пина несколько и сути не меняет.
1) пин через чип и проверяется. (Старая версия)
2) отправка пина в зашифрованном виде в банк для валидации. (Потому что ты дурачек не знаешь что можно пин в банке поменять на любой какой хочешь. А еще что карта может быть виртуальная и у нее в принципе нет чипа.)
Собственно 2 вариант это дефолт для любых секьюрных данных, так не только с пином делают
ps. умники ебаные
Мемы. Лучшее
6.9K пост6.5K подписчика
Правила сообщества
В нашем сообществе царит атмосфера юмора и дружелюбия. Любые попытки оскорблять авторов будут караться недельным баном.