Надёжно ли такое шифрование? Привет, Задача зашифровать трафик игры чтобы предотвратить перехват и подмену пакетов, перехват игровых сессий. Пришел вот к чему, что скажите? это надёжно? 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 Итого: ключ шифрования светится только в момент регистрации, что не абсолютно надёжно, но и не сильно страшно? можно использовать протокол Диффи — Хеллмана для обмена ключами, но возникает другая проблема, алгоритм уязвим для модификации данных в канале связи, в том числе для атаки «Человек посередине». Если выбирать из двух зол, первое представляется более простым и надёжным, или нет?
Шифрование, которое вы описали, имеет некоторые недостатки и уязвимости.
Использование хэша пароля как ключа для шифрования трафика может быть уязвимым, так как хэш можно подобрать с помощью атаки перебором. Рекомендуется использовать специальные ключи для шифрования, которые не могут быть восстановлены из хэша пароля.
Использование симметричного алгоритма шифрования без защиты от атаки "Человек посередине" также создает уязвимость. Рекомендуется использовать протоколы шифрования, которые защищены от таких атак, например, SSL/TLS.
Помимо этого, схема аутентификации клиента может быть улучшена, например, добавлением двухфакторной аутентификации.
Итак, хотя ваше шифрование может предотвратить простые атаки, оно не является достаточно надежным для защиты от более сложных атак. Рекомендуется обратиться к специалистам по безопасности информации для разработки более безопасной схемы шифрования.
Шифрование, которое вы описали, имеет некоторые недостатки и уязвимости.
Использование хэша пароля как ключа для шифрования трафика может быть уязвимым, так как хэш можно подобрать с помощью атаки перебором. Рекомендуется использовать специальные ключи для шифрования, которые не могут быть восстановлены из хэша пароля.
Использование симметричного алгоритма шифрования без защиты от атаки "Человек посередине" также создает уязвимость. Рекомендуется использовать протоколы шифрования, которые защищены от таких атак, например, SSL/TLS.
Помимо этого, схема аутентификации клиента может быть улучшена, например, добавлением двухфакторной аутентификации.
Итак, хотя ваше шифрование может предотвратить простые атаки, оно не является достаточно надежным для защиты от более сложных атак. Рекомендуется обратиться к специалистам по безопасности информации для разработки более безопасной схемы шифрования.