Я действительно новичок в этом, поэтому я последовал за некоторыми учебниками и сделал пример шифрования/расшифровки на C++ для пакетов между клиент-сервером с использованием открытого и закрытого ключей.Сетевое шифрование с OpenSSL/AES объяснено.
Результаты довольно многообещающие и работают достаточно хорошо, но я смущен, действительно смущен, и я не могу ошибаться (особенно в коммерческой среде).
Пожалуйста, объясните мне, как я должен использовать шифровать/расшифровывать, на данный момент у меня есть:
- трафик шифруется с помощью открытого ключа и расшифрованы с закрытым ключом
- трафик шифруется с закрытым ключом и расшифрованного с Открытый ключ
мне нужно понять и знать, что правильное использование метода, это то, что я понял (не смейтесь):
**
- SERVER (шифрует трафик с закрытым ключом) -> КЛИЕНТ (расшифровывает трафика с открытым ключом)
- КЛИЕНТА (шифрует трафик с помощью открытого ключа) -> SERVER (расшифровывает трафика с закрытым ключом)
**
так что мои вопросы следующим образом:
- Это правильно, что у меня есть?
- Предоставляет ли открытый ключ клиенту, а закрытый ключ остается на сервере?
- Существуют ли другие проблемы безопасности, которые могут возникнуть?
Большое спасибо
Клиент, сервер - довольно общие термины. Это больше похоже на: кто-то (независимо от того, являются ли они клиентом или сервером и т. Д.) Генерирует пару ключей - (частный и открытый ключ) и распределяет пульсирующий ключ (как правило, как сертификат) и сохраняет закрытый ключ. Уверен, что чаще всего серверные сертификаты на стороне клиента ... но уверены, что у некоторых клиентов есть клиентские сертификаты ... –
Хорошо, и почему вы изменили мой вопрос? В чем причина? –
Спасибо всем, кто без колебаний отклонил мой вопрос. –