24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Я думаю, эта тема достойна отдельного треда в криптаче.
Добро пожаловать в авторизации тред.
Здесь мы рассмотрим, казалось бы, простую задачу - реализацию регистрации-авторизации клиента на сервере.
Но рассмотрим мы её, с точки зрения перехвата снифферами данных,
передающихся по открытому каналу, а также с точки зрения возможности реализации MITM-атак.
Дано:
1. Сервер с базой данных, и таблицей Users внутри.
Данные юзеров - попадают в строчки этой таблицы, при их регистрации.
Структура таблицы - вариативна, и предлагается здесь.
2. Клиент - юзер, который регистрируется, и который заходит в аккаунт.
3. Алгоритмы работы системы.
3.1. Регистрация.
3.2. Вход с данными.
3.3. Вход по кукам.
3.4. Восстановление доступа.
4. Взломщики:
4.1. Сниффер, перехватывающий данные в открытом канале, в том числе и куки, но не могущий подменять данные.
4.2. Митмщик, который стоит между сервером и клиентом. У него могут быть снифферы, и он может ещё и подменять данные.
4.3. Кулхацкер, взломавший сервер, базу данных внутри него, и имеющий доступ к таблице Users и значениям внутри неё.
Задача: Реализовать алгоритмы, чтобы взломщики соснулей.
Моё видение решения:
1. Чтобы соснул кулхацкер, надо хранить хэши паролей в базе, а не пароли, а данные хранимые в базе - шифровать.
Как шифровать, хз правда, но это интересно.
2. Чтобы соснул сниффер, надо юзать временные куки, которые меняются с каждым перелогином юзера,
а также менять их в случае попытки доступа с другого IP/UserAgent.
3. Чтобы соснул митмщик, надо реализовать криптосистему с открытым ключем, и сделать публичный ключ сервера прешаренным, вшить его в исходник скриптов на клиенте, а хэш исходников - опубликовать.
Но митмщик, может подделать и хэш, и выкачиваемый исходник - короче пиздос, хз что делать тут.
К HTTPS, доверия нет, потому что оно митмается, пик2.
Поэтому будем рассматривать, что-нибудь поверх HTTP, то есть работать будем в открытом канале.
Митмается также ssh (пик1), Diffie-Hellman Key Exchange (пик3), и RSA (пик4).
Поэтому, алсо, это тред о митм-защищённых схемах и алгоритмах обмена ключей, в открытых каналах.