В настоящее время я работаю над клиент-серверным приложением. У меня есть некоторые данные, которые я хочу зашифровать на стороне клиента и быть расшифрованной на стороне сервера.Использование AES-шифрования в среде клиент-сервер
У меня есть часть шифрования/дешифрования, рассчитанная и работающая. Моя проблема связана с ключом и солью. Оба они генерируются случайным образом во время выполнения перед отправкой по сети на сервер.
Мои вопросы:
- Как получить сервер для дешифрования данных, если ключ и соль случайны ??
Мое настоящее решение - отправить ключ и соль с зашифрованными данными.
- Но разве это не сводит на нет мои усилия по защите моих данных?
- Должен ли я «скрывать» ключ и соль среди данных? (Добавить в начале/конце)
Люди на этой должности предлагают связаться с сервером, чтобы дать ему понять, что мы хотим, чтобы послать защищенное сообщение. он затем генерирует ключ и отправляет его обратно вам. Разве это не слишком «слишком много» для игровой сети, где вы хотите, чтобы все было упаковано, насколько это возможно?
Что делается обычно?
Спасибо.
Да; ваше решение бесполезно. Вам необходимо определить модель безопасности, чтобы вы знали, какие секреты живут там, где и где/как должна выполняться аутентификация. Вам необходимо прочитать https://blogs.msdn.microsoft.com/ericlippert/2011/09/27/keep-it-secret-keep-it-safe/ – SLaks
Возможно, вам понадобится асимметричное шифрование (тогда у вас будет другой набор проблем с передачей и проверкой открытых ключей). – SLaks