При безопасном вызове со звездочкой (SRTP), зачем нужны сертификаты клиента для устройств SIP?

Я просто добавил безопасность в Asterisk, следуя этому руководству:

https://wiki.asterisk.org/wiki/display/AST/Secure+Calling+Tutorial

Обратите внимание, что по умолчанию звездочка не устанавливается с srtp. Чтобы следовать этому руководству, вы должны установить asterisk с помощью libsrtp и pjsip. Вот как я установил звездочку для поддержки srtp:

# (1) make sure everything is up to date
apt-get update
apt-get upgrade

# (2) Install dependencies that will be needed in order to install asterisk pjproject etc...
apt-get install aptitude -y
aptitude install build-essential -y
aptitude install git -y
aptitude install libssl-dev -y
aptitude install zlib1g-dev -y
aptitude install openssl  -y
aptitude install libxml2-dev -y
aptitude install libncurses5-dev -y
aptitude install uuid-dev -y
aptitude install sqlite3 -y
aptitude install libsqlite3-dev -y
aptitude install pkg-config -y
aptitude install libjansson-dev -y

# (3) make sure everything is up to date again
apt-get update
apt-get upgrade

# (4) Install libsrtp  (library used to encrypt rtp)
cd /root    
wget https://github.com/cisco/libsrtp/archive/v1.6.0.tar.gz
tar -xzf v1.6.0.tar.gz
cd libsrtp-1.6.0

./configure CFLAGS=-fPIC --prefix=/usr
make
make runtest
make install
cd ..

# (5) install pjproject 

git clone https://github.com/asterisk/pjproject pjproject
cd pjproject
 ./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr --with-external-srtp
make dep
make

make install
cd ..


# (6) Install Asterisk  WITH SRTP AND PJPROJECT

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-13-current.tar.gz
tar xvf asterisk-13-current.tar.gz
cd  asterisk-13.19.2
./configure --with-pjproject --with-ssl --with-srtp

make
make install
make samples
make config

В любом случае, это не является частью вопроса.

Таким образом, я следовал за учебником, и я был в состоянии сделать зашифрованные звонки.

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

"мы генерируем клиентский сертификат для нашего SIP-устройства"

./ast_tls_cert -m client -c /etc/asterisk/keys/ca.crt -k /etc/asterisk/keys/ca.key -C phone1.mycompany.com -O "My Super Company" -d /etc/asterisk/keys -o malcolm

Поэтому с одним из телефонов я решил пропустить этот шаг просто из любопытства. Я не сгенерировал сертификат клиента для телефона X и по какой-то причине телефон X все же смог подключиться к звездочке и совершать звонки. Телефон X также включил блокировку экрана при совершении звонков, что означает, что звонок был зашифрован. Звездочка показала, что звонок идет через SRTP. Я не смог определить разницу между телефонами, имеющими сертификат CLIENT, и телефоном X. Поэтому у меня такой вопрос: почему в руководстве рассказывается, как создать сертификат клиента?

1 ответ

Ранее я использовал SRTP с Asterisk, не требуя сертификата клиента, но, как уже отмечалось, это позволяет вам контролировать доступ на основе источника сертификата и гарантировать источник запроса SIP.

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

Начните здесь и следуйте по пути взаимной аутентификации: https://en.wikipedia.org/wiki/Client_certificate Также это: https://en.wikipedia.org/wiki/AAA_(computer_security)

SRTP - это просто механизм шифрования, который позволяет запретить другим прослушивать разговор при использовании чего-то вроде Wireshark в открытой сети. Подумайте об открытом Wi-Fi в вашей местной кофейне. Однако одного лишь SRTP недостаточно для обеспечения безопасности; только то, что связь зашифрована, не означает, что источник или назначение допустимы.

Другие вопросы по тегам