Страница 4 из 5

Re: astersik TLS и srtp

СообщениеДобавлено: 12 сен 2019, 14:03
olegtsss
Вот ответ лог с телефона, когда Астериск передает ему сертификат.
-------------------------------------------
16:01:41,080: R: TLSv1: SSLv3/TLS read server certificate (896)
-------------------------------------------
16:01:41,081: T: TLSv1: Encrypted Alert (896)
-------------------------------------------
16:01:41,081: T: bad certificate (896)
-------------------------------------------
16:01:41,081: R: close TCP port (TCP/TLS connection): 55901

Re: astersik TLS и srtp

СообщениеДобавлено: 12 сен 2019, 14:18
olegtsss
Вообще с этими сертификатами одни вопросы.

Re: astersik TLS и srtp

СообщениеДобавлено: 12 сен 2019, 16:22
ded
olegtsss писал(а):Кто понимает как осуществляется TLS соединение, в плане задействования сертификатов:
1) Ниже указаны рабочие настройки транспорта. Сертификат сервера, ключ сервера и сертификат ЦА - не совсем понимаю где какой используется. Такое ощущение, что сертификат ЦА вообще тут роли не играет, и никакая цифровая подпись не проверяется.

Не надо жить по ощущениям.
Сертификат, который будет использоваться при обмене сообщениями всегда выписывается некоторым СА - Certificat authority. Сам же он при этом не является СА - Certificat authority, то есть не может выписывать сертификаты другим хостам или юзерам. Поэтому СА (самоподписанный))- отдельно. И в такой паре никто не проверяет его валидность, ибо проверка - это только по дате его действия. Он может быть отозван, это проверка CRL (revocation list) или через протокол OCSP - https://ru.wikipedia.org/wiki/OCSP
У самоподписанных СА, как правило, нет CRL и OCSP.

olegtsss писал(а):2) IP телефоны при подключении к АТС получают сертификат сервера. Тут вроде понятно, им они шифруют информацию до него. А сами каким ключём расшифровывают? Такое чувство, что сертификат клиента и его ключ ему не передаются.
Опять про чувства.
Сертификат состоит из публичного ключа, который передаётся свободно (см. свойства зелёного замочка в адресной строке браузера), им только ЗАшифровывается сообщение. А есть на сервере приватный ключ, им РАСшифровывается.

Посмотрите текстовым редактором файлы .crt .key

Re: astersik TLS и srtp

СообщениеДобавлено: 12 сен 2019, 18:27
olegtsss
1) По поводу сертификатов и CA я не согласен. Если в сети есть аутентификация по сертификатам - то именно для этого они подписываются ключем CA. Именно при подписи сертификата клиента запрашивается пароль от ключа CA. По нормальному, с Астериск должны соединяться только те телефоны, у кого есть подписанные сертификаты.
ca_list_file=/etc/asterisk/keys/ca.crt ---> этим сертификатом Астериск должен осуществлять проверку. Но он этого не далает. При конфигурации через sip.conf есть параметр tlsdontverifyserver=no, который означает осуществлять аутентификацию телефона. В pjsip я такого не нашел, может кто знает как там заставить это работать?
2) Анализ трафика в акуле показал, что tls соединение между Астериск и телефоном зашифровано сертификатом сервера (он же Астериск). При этом сам Астериск шифрует сообщения своим ключем, а телефон шифрует его сертификатом.
3) Встает вопрос, зачем тогда нужны сертификаты и ключи для телефонов?

Re: astersik TLS и srtp

СообщениеДобавлено: 12 сен 2019, 18:33
olegtsss
4) Зачем телефон отправлял АТС свой непонятный сертификат:
15:33:55,461: T: TLSv1: SSLv3/TLS write client certificate (2100)
Issuer : /O=Root CA/OU=http://www.cacert.org/CN=CA Cert Signing Authority/emailAddress=support@cacert.org
Not After: Jan 21 11:58:02 2021 GMT
Subject : /CN=Heiko Sommerfeldt/emailAddress=info@phoner.de

Re: astersik TLS и srtp

СообщениеДобавлено: 12 сен 2019, 18:55
ded
ded писал(а):
olegtsss писал(а):2) IP телефоны при подключении к АТС получают сертификат сервера. Тут вроде понятно, им они шифруют информацию до него. А сами каким ключём расшифровывают? Такое чувство, что сертификат клиента и его ключ ему не передаются.

Вы бы почитали теорию несимметричного шифрования? Diffi-Helman
Два респондента, Алиса и Боб (сервер и телефон), у каждого свой сертификат.
Алиса при отправке шифрует сообщение публичным ключом Боба, а Боб расшифровывает свои приватным ключом, и наоборот. Вы вот это и увидели -
olegtsss писал(а):При этом сам Астериск шифрует сообщения своим ключем, а телефон шифрует его сертификатом.

Далее,
olegtsss писал(а):ca_list_file=/etc/asterisk/keys/ca.crt ---> этим сертификатом Астериск должен осуществлять проверку.
Нет, не должен. Этот сертификат вообще может лежать на другом сервере, в другой стране. Чтобы удостоверится, что он есть, делают certificate chain.
olegtsss писал(а):Анализ трафика в акуле показал, что tls соединение между Астериск и телефоном зашифровано сертификатом сервера (он же Астериск).
Соединение между Астериск и телефоном состоит из двух взаимонаправленных потоков, каждый шифруется по модели (выше).

Re: astersik TLS и srtp

СообщениеДобавлено: 12 сен 2019, 21:33
olegtsss
При несимметричном шифровании как раз должно быть по другому. У Алисы есть key_A и crt_A, у Боба есть key_B и crt_B. При диалоге Алиса шифрует информацию для Боба при помощи crt_B, а Боб шифрует информацию для Алисы при помощи crt_A. Ключи обоим нужны для рассшифровки. У нас же не так. У нас есть key и crt только сервера, ключевая информация клиента не задействована. Поэтому я и не понимаю до конца, как там все работает.

Re: astersik TLS и srtp

СообщениеДобавлено: 12 сен 2019, 21:34
olegtsss
Diffi-Helman вообще тут не причем. Это алгоритм, который позволяет передать по открытому каналу общий симметричный ключ.

Re: astersik TLS и srtp

СообщениеДобавлено: 12 сен 2019, 21:37
olegtsss
А зачем тогда в настройках вообще указывать ca_list_file=/etc/asterisk/keys/ca.crt. Вообще он указывается именно для того, чтобы сторона могла убедиться, что тот кто к ней подключается действительно является легитимным пользователем. Т.е. его сертификат подписан CA. И сертификат CA всегда храниться локально. А вот секретный ключ CA как раз берегут как зиницу ока.

Re: astersik TLS и srtp

СообщениеДобавлено: 12 сен 2019, 21:40
olegtsss
"Соединение между Астериск и телефоном состоит из двух взаимонаправленных потоков, каждый шифруется по модели (выше)" . Ну вот в том то и дело, что не так. Я акулой расшифровал двунаправленный трафик: Астериск--->Телефон и Телефон--->Астериск. Я, конечно, предполагаю, что мой key содержит и сертификат одновременно, и cat это не отображает. Может кто в курсе всей этой ситуации с шифрованием?