Шифрование трафика в Direct Connect, ч.2

в 18:43, , рубрики: Advanced Direct Connect, Direct Connect, open source, TLS, децентрализованные сети, информационная безопасность

– Ты кто???
– Я новый русский.
– А я тогда кто?!

Предисловие

В первой части статьи мы обустраивали ADCs хаб и рассуждали о Direct Connect в целом.

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

В настройках каждого из них нужно будет обратить внимание на раздел Encryption, он же Security & certificates или Безопасность.

Излишне упоминать, что при использовании активного режима TCP порт для TLS также должен быть проброшен.

AirDC++

Наследник легендарного fulDC++, самого первого мода оригинального клиента. Продвинут, нагляден и адекватен.

Шифрование трафика в Direct Connect, ч.2 - 1
Настройки AirDC++ для работы на ADCs хабе

Ключ и сертификат генерируются при первом запуске клиента (или по требованию) и валидны 360 дней.

Шифрование трафика в Direct Connect, ч.2 - 2

Заметьте, при соединении клиентов друг с другом TLS вообще-то можно использовать и на обычном ADC хабе, но, правда, с непредсказуемым результатом (см. первую часть статьи).

А что для клиента есть hub with trusted certificate?

Как показали тесты, даже если скормить хабу настоящий, подписанный центром авторизации сертификат (да хотя бы от Let's Encrypt), для клиента он доверенным не будет.

Шифрование трафика в Direct Connect, ч.2 - 3
[S] = Secure, [U] = Untrusted

Критерием доверия к ADCs хабу является совпадение самостоятельно полученного клиентом отпечатка сертификата c явно указанным в адресе хаба.

*** Connecting to adcs://babylon.aab21pro.org:412/?kp=SHA256/1QTHF6U3SDQPQKCTCG3ZYK4LQS322MIXI64GMAX7PXLGKYCYTJOQ…
*** TLS error: Keyprint mismatch
*** The keyprint in the address doesn't match the server certificate, use /allow to proceed with untrusted connection

Трогательно, но бесполезно, поскольку keyprint не будет вечно одним и тем же; а значит, для массового использования он не годится.

Кто для клиента есть user with trusted certificate?

Если все клиентские сертификаты по умолчанию самоподписанные, а удостоверить валидность нельзя… Загадка!

Что такое direct encrypted private message channels?

DC++, AirDC++ и, внезапно, SharikDC умеют отправлять личные сообщения друг другу по защищённому каналу, минуя хаб. Привет, Телеграм!..

DC++

Оригинальный NMDC/ADC клиент, самый непритязательный. Впрочем, его разработчики немало внимания уделяют безопасности.

Шифрование трафика в Direct Connect, ч.2 - 4
Настройки DC++ для работы на ADCs хабе

ApexDC++

Шифрование трафика в Direct Connect, ч.2 - 5
Настройки ApexDC++ для работы на ADCs хабе

Работает не вполне внятно. На момент написания статьи добиться с его помощью соединений только по зашифрованному каналу не представляется возможным — проскакивают обычные (например, с FlylinkDC++).

Так или иначе, это лучший вариант для «горячей» замены напрочь устаревшего StrongDC++.

FlylinkDC++

Самый строгий и самый неадекватный. Да и перевод опций выполнен не вполне корректно.

Шифрование трафика в Direct Connect, ч.2 - 6
Настройки FlylinkDC++ для работы на ADCs хабе

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

EiskaltDC++

По всей видимости, этот клиент основан на чересчур старом ядре DC++ и, хотя он может присоединиться к ADCs хабу, работа через TLS для него проблематична.

Шифрование трафика в Direct Connect, ч.2 - 7
AirDC++ vs. EiskaltDC++

Эпилог

В случае успешной установки соединения с использованием TLS (например, при скачивании файллиста) колонка Cipher или Шифр в окошке передач будет заполнена (в AirDC++ иначе, см. ниже)

Шифрование трафика в Direct Connect, ч.2 - 8

Как видите, не без шероховатостей, но TLS в DC имеет место быть и работает; есть и планы по дальнейшей разработке этой темы. Кстати! Десятого февраля сего года в 19:00 CET на офхабе DCNF состоится первая в этом году онлайн-встреча участников DC сообщества; будет публичное обсуждение одной новой идеи… Интересно? Тогда заходите на огонёк!

Автор: Delion

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js