Связь клиент / сервер с использованием TCP / IP под TLS 1.3 - PullRequest
0 голосов
/ 26 мая 2020

Я хочу написать клиента и сервер на C, предпочтительно на простом C ++, если необходимо.

Сервер будет работать на некотором варианте Linux, клиент предназначен для тестирования сервера.

Я хочу гарантировать получение сообщений без ошибок; поэтому я буду использовать TCP.

Я хочу, чтобы они общались безопасно; поэтому я буду использовать последнюю версию TLS (v1.3).

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

  • Активно обновляется уважаемым проектом с открытым исходным кодом
  • Лицензия позволяет продавать продукт

Учитывая вышеизложенное, если оно реализовано и протестировано, я могу утверждать, что взаимодействие клиент / сервер является безопасным, надежным (так называемым гарантированным) и проверено на ошибки. Да?

Я что-то упустил? Есть ли что-нибудь явно ложное?

Изменить: сертификаты ... я думаю, мне что-то не хватает сертификатов для защиты от атак человека в середине ...

1 Ответ

0 голосов
/ 26 мая 2020

TLS - это сложный топи c. В зависимости от вашего кода c соединение TLS может быть успешным, даже если вы не сможете должным образом проверить сертификат. Таким образом, основываясь только на том, что вы указали в своем вопросе, нельзя быть уверенным, что данные передаются с надлежащей сквозной защитой и что ни один человек в середине не может манипулировать данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...