티스토리 뷰

SRTP ?

 

실시간 전송 프로토콜 (Real-time Transport Protocol)로 네트워크 상에서 오디오와 비디오를 전달 하기 위한 통신 프로토콜이다. 전화 WebRTC등 화상통화와 미디어 스트리밍 시스템등에서 주로 사용한다.

 

SRTP (Secure Real-time Transport Protocol)는 RTP에 보안기술을 접목하여 실시간으로 전송되는 데이터를 암호화하여 송,수신하는 프로토콜을 의미한다. SRTP는 기본적으로 AES 알고리즘을 사용하고 아래와 같이 구성되어있다.

 

 

V = 2 P X CC M PT Sequence Number
Time Stamp
Synchronization Source Identifier (SSRC)
Contributing Source Identifier (CSRC)
Profile -Specific Information (OPTIONAL) Length (OPTIONAL)
RTP Header Extension (OPTIONAL)
Payload
Payload RTP Padding RTP Pad Count
SRTP MIKI (OPTIONAL)
Authentication Tag (RECOMMENDED)

표1.1

 

V [ Version (2bit) ]

- RTP의 버전을 의미.

 

P  [ Padding (1bit) ]

-패딩 비트가 세팅될 경우 하나 이상의 패딩 바이트가 포함된다. 그리고 페이로드 끝부분에 패딩 바이트를 추가하며 고정 블록 크기의 암호와 알고리즘이나 하위 계층에서 RTP 패킷 운반에 사용할 수 있다. 32bit 단위로 패킷을 맞추기 위해 사용한다. 패딩의 마지막 바이트는 패딩으로 추가한 바이트 수를 의미하는데 해당 길이만큼 바이트를 무시할 수 있다.

 

X [ Extension (1bit) ]

- 확장 비트가 세팅되면 (rfc-1889)에 정의되어 있는 확장 헤더가 고정 헤더 뒤에 더 붙는다.

 

CC  [CSRC Count (4bit) ]

-고정 헤더 뒤에 추가되는 CSRC Identifier의 개수를 의미

 

M [ Marker [1bit] ]

-마커는 프로파일에 해석 방법이 정의되어 있고 페이로드 타입에 의해 사용법이 결정된다. 주로 패킷 스트림에서 프레임 경계와 같은 중요한 이벤트를 표시할 때에 사용한다.

 

PT  [ Payload Type ( 7bit ) ]

 

PT Name Type Clock rate (Hz) Audio channels References
0 PCMU Audio 8000 1 RFC 3551
1 1016 Audio 8000 1 RFC 3551
2 G721 Audio 8000 1 RFC 3551
3 GSM Audio 8000 1 RFC 3551
4 G723 Audio 8000 1  
5 DVI4 Audio 8000 1 RFC 3551
6 DVI4 Audio 16000 1 RFC 3551
7 LPC Audio 8000 1 RFC 3551
8 PCMA Audio 8000 1 RFC 3551
9 G722 Audio 8000 1 RFC 3551
10 L16 Audio 44100 2 RFC 3551
11 L16 Audio 44100 1 RFC 3551
12 QCELP Audio 8000 1  
13 CN Audio 8000 1 RFC 3389
14 MPA Audio 90000   RFC 2250, RFC 3551
15 G728 Audio 8000 1 RFC 3551
16 DVI4 Audio 11025 1  
17 DVI4 Audio 22050 1  
18 G729 Audio 8000 1  
19 reserved Audio      
20-24          
25 CellB Video 90000   RFC 2029
26 JPEG Video 90000   RFC 2435
27          
28 nv Video 90000   RFC 3551
29-30          
31 H261 Video 90000   RFC 2032
32 MPV Video 90000   RFC 2250
33 MP2T Audio/Video 90000   RFC 2250
34 H263 Video 90000    
35-71          
72-76 reserved       RFC 3550
77-95          
96-127 dynamic       RFC 3551
dynamic GSM-HR Audio 8000 1  
dynamic GSM-EFR Audio 8000 1  
dynamic L8 Audio variable variable  
dynamic RED Audio      
dynamic VDVI Audio variable 1  
dynamic BT656 Video 90000    
dynamic H263-1998 Video 90000    
dynamic MP1S Video 90000    
dynamic MP2P Video 90000    
dynamic BMPEG Video 90000    

 

SRTP MKI

 

SDP에 설정된 마스터키가 다수일 경우 사용되는 마스터 인덱스로 표 1.1에 표시된 것처럼 옵션항목이다

 

Authentication Tag 

 

SRTP 패킷 인증 헤더이며 SDP의 a필드에 표시된다. SRTP의 무경설을 보장하기 위해 존재하고, SRTP의 헤더부터 암호화된 Payload까지 무결성을 체크하며 해시 알고리즘이 사용된다.

 

SRTP MIKI와 Authentication Tag 항목이 추가되었고 PayLoad는 암호화되어있다. 따라서 Payload의 길이 계산 방식이 다르다.

댓글