Как сделать шифрованный канал между 2 приложениями? Есть 2 приложения (node.js в моем случае), между которыми я хочу установить шифрованный канал и обмениваться сообщениями.
Это почти полностью решается TLS и клиентской аутентификацией. Например как-то так: https://gist.github.com/pcan/e384fcad2a83e3ce20f9a... .
Однако есть проблема:
Такой подход предполагает создание серверного сертификата, который привязан к доменному имени: Specify server Common Name, like 'localhost' or 'server.localhost'. The client will verify this, so make sure you have a vaild DNS name for this.
А мне хотелось бы избежать привязки, так как условный сервер в данном случае не имеет и не может иметь ни доменного имени, ни статического IP.
Таким образом хочется получить схему, где есть 2 хоста у которых может меняться IP и нет доменного имени. И они должны иметь возможность подключиться друг к другу (инициатором-"клиентом" соединения может выступать любой) как-то так например: connectTo('123.123.123.123:8000');
При этом есть возможность заранее обменяться ключами / сертификатами.
Возможно ли это с помощью TLS?
И насколько адекватно и безопасно использовать обычные сокеты и шифровать контент? (примерно так https://stackoverflow.com/questions/22738754/node-...

21 Авг 2019 в 07:11
241 +1
0
Ответы
1

Да, возможно использовать TLS без доменного имени и статического IP. Для этого можно создать самоподписанный сертификат и использовать его для обоих приложений. В этом случае необходимо убедиться, что оба приложения имеют доступ к этому сертификату.

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

Если безопасность вашего соединения критична, рекомендуется использовать TLS для обеспечения шифрования данных и аутентификации приложений.

20 Апр 2024 в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 95 839 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир