Надёжно ли такое шифрование? Привет,
Задача зашифровать трафик игры чтобы предотвратить перехват и подмену пакетов, перехват игровых сессий. Пришел вот к чему, что скажите? это надёжно?
1. Регистрация клиента
Пароль от клиента хэшируется SHA256 и отправляется по открытому каналу серверу (хэш светится 1 раз при регистрации!)
2. Взаимодействие с зарегистрированным клиентом
Клиент хочет войти в игру, отправляет намерение серверу. Сервер присылает клиенту случайное число по открытому каналу. Клиент шифрует свой пароль используя SHA256 и случайное число от сервера (RN):
CPASSWORD = SHA(RN + SHA(PASSWORD))
отправляет серверу, сервер сравнивает свой сгенерированный хэш на основе хэша пароля и известного случайного числа RN с пришедшим от клиента:
if(SHA(RN + SHA(PASSWORD))client == SHA(RN + SHA(PASSWORD))server)
если совпадают, клиент входит в игру.
3. Шифрование трафика
Теперь весь трафик шифруется с помощью симметричного алгоритма Blowfish, а в качестве ключа используется хэш пароля.
data: 1,0,Login
key: 99c2bb3e7c93dd54a206c77388ee09708e39db1a6f544ff6887612495bce3920
alg: Blowfish
Output: tFoTF0Oms+8Z
Итого: ключ шифрования светится только в момент регистрации, что не абсолютно надёжно, но и не сильно страшно? можно использовать протокол Диффи — Хеллмана для обмена ключами, но возникает другая проблема, алгоритм уязвим для модификации данных в канале связи, в том числе для атаки «Человек посередине». Если выбирать из двух зол, первое представляется более простым и надёжным, или нет?

21 Авг 2019 в 07:13
271 +1
0
Ответы
1

Шифрование, которое вы описали, имеет некоторые недостатки и уязвимости.

Использование хэша пароля как ключа для шифрования трафика может быть уязвимым, так как хэш можно подобрать с помощью атаки перебором. Рекомендуется использовать специальные ключи для шифрования, которые не могут быть восстановлены из хэша пароля.

Использование симметричного алгоритма шифрования без защиты от атаки "Человек посередине" также создает уязвимость. Рекомендуется использовать протоколы шифрования, которые защищены от таких атак, например, SSL/TLS.

Помимо этого, схема аутентификации клиента может быть улучшена, например, добавлением двухфакторной аутентификации.

Итак, хотя ваше шифрование может предотвратить простые атаки, оно не является достаточно надежным для защиты от более сложных атак. Рекомендуется обратиться к специалистам по безопасности информации для разработки более безопасной схемы шифрования.

20 Апр в 13:05
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 94 956 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир