2017-01-16 3 views
-3

Я действительно новичок в этом, поэтому я последовал за некоторыми учебниками и сделал пример шифрования/расшифровки на C++ для пакетов между клиент-сервером с использованием открытого и закрытого ключей.Сетевое шифрование с OpenSSL/AES объяснено.

Результаты довольно многообещающие и работают достаточно хорошо, но я смущен, действительно смущен, и я не могу ошибаться (особенно в коммерческой среде).

Пожалуйста, объясните мне, как я должен использовать шифровать/расшифровывать, на данный момент у меня есть:

  • трафик шифруется с помощью открытого ключа и расшифрованы с закрытым ключом
  • трафик шифруется с закрытым ключом и расшифрованного с Открытый ключ

мне нужно понять и знать, что правильное использование метода, это то, что я понял (не смейтесь):

**

  • SERVER (шифрует трафик с закрытым ключом) -> КЛИЕНТ (расшифровывает трафика с открытым ключом)
  • КЛИЕНТА (шифрует трафик с помощью открытого ключа) -> SERVER (расшифровывает трафика с закрытым ключом)

**

так что мои вопросы следующим образом:

  • Это правильно, что у меня есть?
  • Предоставляет ли открытый ключ клиенту, а закрытый ключ остается на сервере?
  • Существуют ли другие проблемы безопасности, которые могут возникнуть?

Большое спасибо

+0

Клиент, сервер - довольно общие термины. Это больше похоже на: кто-то (независимо от того, являются ли они клиентом или сервером и т. Д.) Генерирует пару ключей - (частный и открытый ключ) и распределяет пульсирующий ключ (как правило, как сертификат) и сохраняет закрытый ключ. Уверен, что чаще всего серверные сертификаты на стороне клиента ... но уверены, что у некоторых клиентов есть клиентские сертификаты ... –

+0

Хорошо, и почему вы изменили мой вопрос? В чем причина? –

+0

Спасибо всем, кто без колебаний отклонил мой вопрос. –

ответ

0

Вы хотите узнать о Асимметричная Encryption (шифрование с открытым ключом). В принципе, каждая сторона генерирует пару ключей - (частный ключ и открытый ключ, которые так или иначе связаны).

Изучение OpenSSL связано с ssl-сертификатами, и вы должны понимать это для работы с ssl. Попробуйте ввести: SSL explained for beginners.

Это не связано с сервером-клиентом.

Например,, у вас есть пара ключей.

Затем ваш открытый ключ отправляется вашему другу, а друг шифрует данные с помощью открытого ключа, который вы ему дали, и отправляет его вам.

Теперь вы можете разблокировать (расшифровать) зашифрованные данные с помощью личного ключа.

Вы можете изучить эту важную тему в следующих ресурсах:

  1. Из вики: Public-key cryptography
  2. Объясняя видео: Encryption types explained
  3. Асимметричная шифрования объясняется: Video
  4. Открытый ключ шифрования видео: With Diffie-Hellman example
  5. Для понимания погружения: RSA algorithem explanation+example
+0

Спасибо, у меня уже есть рабочий пример и проверено шифрование пакетов, что меня пугает, так это то, как я его буду использовать ... –

+0

Вот почему я думаю, что вы должны прочитать ссылки. Если вам нужна конкретная помощь, будьте конкретны в своей проблеме. Прочтите мое объяснение о секретности между вами и вашим другом. –