별표(SRTP)를 사용한 보안 통화 시 SIP 장치에 클라이언트 인증서가 필요한 이유는 무엇입니까?

별표(SRTP)를 사용한 보안 통화 시 SIP 장치에 클라이언트 인증서가 필요한 이유는 무엇입니까?

방금 이 튜토리얼을 따라 Asterisk에 보안을 추가했습니다.

https://wiki.asterisk.org/wiki/display/AST/Secure+Calling+Tutorial#SecureCallingTutorial-Keys

기본적으로 별표는 srtp와 함께 기본적으로 설치되지 않습니다. 해당 튜토리얼을 따르려면 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가 여전히 별표에 연결하고 전화를 걸 수 있었습니다. Phone X는 또한 전화를 걸 때 화면에 잠금 장치를 설치하여 통화가 암호화되었음을 의미합니다. Asterisk는 통화가 SRTP를 통해 진행되고 있음을 보여주었습니다.CLIENT 인증서가 있는 전화기와 전화기 X 사이의 차이점을 알 수 없었습니다. 그래서 제 질문은 튜토리얼에서 클라이언트 인증서를 생성하라고 지시하는 이유는 무엇입니까?

답변1

이전에는 클라이언트 인증서를 요구하지 않고 Asterisk와 함께 SRTP를 사용한 적이 있지만 지적한 대로 이를 통해 인증서 발급자를 기반으로 액세스를 제어하고 SIP 요청의 소스를 보장할 수 있습니다.

이를 통해 SIP 서버를 발견한 무작위 사람이 아닌 사용자가 전화를 설정했는지 확인할 수 있습니다. TLS를 사용할 때 서버가 인증서를 제시하는 것처럼, 유효한 중복 인증서를 생성하기 어렵기 때문에 서버가 임의의 중간자 공격이 아니라는 것을 확인할 수 있습니다. 귀하가 SIP 장치에 대한 인증서를 발급할 수 있는 유일한 사람이라면 귀하의 인증서가 있는 장치만이 실제 장치인 것보다 다른 모든 것은 사기일 뿐입니다.

여기에서 시작하여 상호 인증을 위한 추적을 따르십시오.https://en.wikipedia.org/wiki/Client_certificate또한 이것은:https://en.wikipedia.org/wiki/AAA_(컴퓨터_보안)

SRTP는 개방형 네트워크에서 Wireshark와 같은 것을 사용할 때 다른 사람이 대화를 듣지 못하게 하는 암호화 메커니즘일 뿐입니다. 동네 커피숍에서 개방형 Wi-Fi를 생각해 보세요. 그러나 SRTP 자체만으로는 보안을 보장하기에 충분하지 않습니다. 통신이 암호화되었다고 해서 소스나 대상이 암호화되어 있다는 의미는 아닙니다.유효한.

관련 정보