LINUX.ORG.RU

одноранговая сеть на openSSL

 


0

1

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

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

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

вот тут начинается какая-то пурга. сервер принимает от клиента сертификат и гнусно ругается -

The passed certificate is self-signed and the same certificate cannot be found in the list of trusted certificates.

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

то есть первая мысль тут - вообще нельзя так делать, а делать самоподписанный рутовый сертификат, от него городить сертификаты нод, и в качестве доверенного сертификата давать рутовый, а раз сертификаты нод им подписаны, то все проверки будет нормально проходить?

и вообще - можно ли на openssl соединить две ноды, имея только общий ключ и по самоподписанному сертификату на этом ключе у каждой?

★★★

Последнее исправление: alysnix (всего исправлений: 1)

А почему не сделать свой CA-сертификат и просто подписать им все серверные и клиентские?

Oleg_Iu
()
Ответ на: комментарий от Oleg_Iu

ну это как бы понятно… так и будет сделано в конце концов.. вопрос - поддерживается ли на ссл простейшая авторизация между двумя нодами на самоподписанных сертификатах на общем ключе… то есть имеет ли смысл туда копать, или это в принципе ссл не умеет.

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

alysnix ★★★
() автор топика
Ответ на: комментарий от Oleg_Iu

Слова «аутентификация» и «общий ключ» как-то противоречат один другому, как по мне.

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

alysnix ★★★
() автор топика

Никаких TLS!
Никаких SSL!
Никаких сертификатов!

Только обмен открытыми ключами.

Открытые ключи соседи взаимно подписывают и таким образом строят сеть доверия.

Novator ★★★★★
()
Ответ на: комментарий от Novator

Никаких сертификатов! Только обмен открытыми ключами.

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

то есть разница только в том, кто подписывает.

alysnix ★★★
() автор топика
Последнее исправление: alysnix (всего исправлений: 1)
Ответ на: комментарий от alysnix

с инфо полями, и заверением от старшего по званию сертификата, что все тут описанное истинно верно

Вот именно - сертификаты подразумевают Удостоверяющий Центр, а этому централизованному гов-щу нехрен делать в p2p.

Это не считая других бэкдоров, напиханных корпорастами в высокоуровневые (читай, запутанные и переусложненные) крипто-протоколы.

Novator ★★★★★
()
Ответ на: комментарий от t184256

А потом что, шлют все cleartext’ом, потому что доверие же?

Ты путаешь эл. подпись с шифрованием.
Первое служит для верификации, второе - для сокрытия.

Я к тому, что одно может дополнять другое, а не исключать.

Novator ★★★★★
()
Последнее исправление: Novator (всего исправлений: 1)
Ответ на: комментарий от Novator

Вот именно - сертификаты подразумевают Удостоверяющий Центр, а этому централизованному гов-щу нехрен делать в p2p.

это от назначения сети зависит. в сетях типа - «заходи кто хочет, бери что хочешь», централизованная сертификация не нужна.

а сетях типа - «это мой двор, никого не пущу» нужна именно централизованная. и придется там делать такой же по функциональности сертификат как X509.

alysnix ★★★
() автор топика
Ответ на: комментарий от Novator

Ты там TLS/SSL под горячую руку пришиб, я и иронизирую. Потому что над сетями доверия можно либо иронизировать, либо угарать.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Потому что над сетями доверия можно либо иронизировать, либо угарать

Ясно, тов. майор, держите в курсе.

Novator ★★★★★
()
Ответ на: комментарий от t184256

Много сетей доверия за 30 лет построено?

Ну что Вы, это псевдонаучная ересь, тов. майор - разрешите идти?

Novator ★★★★★
()
Ответ на: комментарий от t184256

Нет, товарищ пациент, хотелось бы взглянуть на эту вашу сеть.

Может тебе ещё ключи от квартиры где деньги лежат? :)

Novator ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.