ZRTP
ZRTPZRTP(Z와 실시간 전송 프로토콜의 합성)는 실시간 전송 프로토콜에 근거한 VoIP(Voice over IP) 전화 통화의 두 엔드 포인트 사이에 암호화를 위한 키를 협상하기 위한 암호 키 합의 프로토콜이다. Diffie-를 사용한다.암호화를 위한 Hellman 키 교환 및 SRTP(Secure Real-Time Transport Protocol) ZRTP는 Bryce Wilcox-O'의 도움을 받아 Phil Zimmermann에 의해 개발되었다.Hearn, Colin Plumb, Jon Callas, Alan Johnston에 의해 2006년 3월 5일 Zimmermann, Callas, Johnston에 의해 인터넷 엔지니어링 태스크포스(IETF)에 제출되어 2011년 4월 11일에 발행되었다. RFC6189.
개요
ZRTP("Z"는 발명가 짐머만을 지칭하는 말이며, "RTP"는 실시간 전송 프로토콜의 약자)[1]는 인터넷 초안에 "Diffie-time-transport Protocol"을 수행하는 핵심 합의 프로토콜로 설명되어 있다.SIP(Session Initiation Protocol)와 같은 일부 다른 신호 프로토콜을 사용하여 설정된 RTP(Real-Time Transport Protocol) 미디어 스트림에서 통화 설정 인밴드 동안 헬만 키 교환. 이렇게 하면 공유 비밀이 생성되는데, 이 비밀은 보안 RTP(Secure RTP) 세션의 키와 소금을 생성하는 데 사용된다." ZRTP의 특징 중 하나는 키 관리를 위한 SIP 신호나 어떤 서버에도 전혀 의존하지 않는다는 것이다. 다른 VoIP 클라이언트가 ZRTP를 지원하는 경우 자동센싱으로 기회주의적 암호화를 지원한다.
이 프로토콜은 이전의 공유 비밀을 요구하거나 PKI(Public Key Infrastructure) 또는 인증 기관에 의존하지 않는다. 사실, 순간적인 Diffie–Hellman 키는 각 세션 설정에서 생성되며, 이를 통해 신뢰할 수 있는 타사 생성 및 유지 관리의 복잡성을 우회할 수 있다.
이러한 키는 SRTP 세션에 대한 세션 키 및 파라미터가 파생되는 세션 비밀 생성에 기여하며, 이전에 공유된 비밀(있는 경우): 이는 두 엔드포인트 사이의 첫 번째 세션에 공격자가 존재하지 않는 한, 중간(MiTM) 공격에 대한 보호를 제공한다.
ZRTP는 SIP, H.323, 징글, 분산 해시 테이블 시스템을 포함한 모든 신호 프로토콜과 함께 사용할 수 있다. ZRTP는 모든 핵심 협상이 RTP 미디어 스트림을 통해 발생하기 때문에 신호 계층과 독립적이다.
ZRTP 프로토콜 확장자인 ZRTP/S는 협대역 비트스트림 지향 프로토콜이며 두 엔드포인트 사이의 비트스트림 내에서 모든 핵심 협상을 수행하기 때문에 GSM, UMTS, ISDN, PSTN, SATCOM, UHF/VHF 라디오를 포함한 모든 종류의 레거시 전화 네트워크에서 실행할 수 있다.
Alan Johnston은 프로토콜 이름을 ZRTP라고 지었다. 왜냐하면 그것의 초기 인터넷 초안에서는 헤더 확장자를 RTP 패킷에 추가하는 것에 기초했기 때문이다. 이것은 ZRTP를 RTP의 변형으로 만들었다. 이후 초안에서는 패킷 형식이 RTP와 구문적으로 구별되도록 변경되었다. 그 변화에 비추어 볼 때, ZRTP는 현재 사이비-아크로니엄이다.
인증
디피-헬만 키 교환만으로는 중간의 공격에 대한 보호를 제공하지 않는다. 첫 번째 세션(공유 비밀이 존재하지 않는 경우)에 공격자가 실제로 존재하지 않도록 하기 위해, 통신 당사자가 양쪽 엔드포인트에 표시되는 공유 값을 구두로 교차 점검하는 SAS(단기 인증 문자열) 방법을 사용한다. 값이 일치하지 않으면 중간 공격의 맨 인더맨이 표시된다. (2006년 말, 미국 NSA는 이러한 보호를 물리치기 위해 실험적인 음성 분석 및 합성 시스템을 개발했지만,[2] 이러한 종류의 공격은 프로토콜의 보안에 심각한 위험이 되지 않을 것으로 생각된다.)[3] SAS는 기본적으로 두 Diffie-의 암호 해시인 키 교환을 인증하는 데 사용된다.헬먼은 가치관을 중시한다. SAS 값은 두 ZRTP 엔드포인트에 모두 렌더링된다. 인증을 수행하기 위해 이 SAS 값은 음성 연결을 통해 통신 파트너에게 큰 소리로 읽힌다. 양쪽 끝의 값이 일치하지 않으면 맨인 중간 공격이 표시되고, 맨인 중간 공격이 일치하면 맨인 중간 공격이 발생할 가능성이 매우 낮다. DH 교환기에서 해시 커밋을 사용하면 공격자가 공격에서 올바른 SAS를 생성하기 위해 단 하나의 추측에만 구속될 수 있으며, 이는 SAS가 상당히 짧을 수 있음을 의미한다. 예를 들어, 16비트 SAS는 공격자에게 65536 중에서 감지되지 않는 단 한 번의 기회만 제공한다.
키 연속성
ZRTP는 키 연속성의 형태에 기초하여 MitM 공격에 대한 두 번째 인증 계층을 제공한다. 이것은 다음 통화에 사용하기 위해 해시된 주요 정보를 캐슁하여 다음 통화의 DH 공유 비밀과 혼합함으로써 SSH와 유사한 키 연속성 속성을 부여한다. 첫 번째 통화에 MitM이 존재하지 않으면, 그는 후속 통화에서 잠기게 된다. 따라서 SAS를 절대 사용하지 않더라도 첫 번째 통화에 MitM이 없었기 때문에 대부분의 MitM 공격은 중지된다.
운영 환경
- ZRTP 프로토콜은 다음 플랫폼에서 구현되어 사용되고 있다. Windows, Linux, Android
- ZRTP 프로토콜은 C, C++, Java 언어로 구현되었다.
- ZRTP 프로토콜은 다음 전송 매체에서 성공적으로 사용되었다. WiFi, UMTS, Edge, GPRS, 위성 IP 모뎀, GSM CSD, ISDN
구현
ZRTP는 다음과 같이 구현되었다.
- Twinkle에[4] 사용되는 GNU ZRTP
- Jitsi(이전의 SIP Communicator)에서 사용되는 GNU ZRTP4J.[5]
- 또는 Linphone에서 사용할 수 있도록 tp.[6]
- freeSwitch에서 사용할 수 있는 libzrtp.[7][8]
- 시그널과 그 전신인 레드폰은 안드로이드와 iOS에서 암호화된 통화에 ZRTP를 사용했다.[9] 2017년 3월 현재 시그널의 음성 및 영상 통화 기능은 ZRTP 대신 앱의 시그널 프로토콜 채널을 인증에 사용한다.[10][11]
- CSipSimple은 ZRTP를[12] 완벽하게 지원하는 Android OS용 무료 애플리케이션이다.
- Windows용 PhonerLite 소프트폰은 ZRTP를[13] 지원한다.
ZRTP의 상용 구현은 로카콤의 [14]로카컴과 프라이빗웨이브의[15] 프라이빗웨이브 프로페셔널에서, 최근에는 짐머만이 설립한 사일런트 서클의 사일런트 폰에서 이용할 수 있다.[16] 아크로빗의 소프트폰도 있다.[17] Draaytek는 일부 VoIP 하드웨어 및 소프트웨어에서 ZRTP를 지원한다.[18][19]
ZRTP 지원을 받는 무료 SIP 제공자 목록이 발표되었다.[12]
참조
- ^ Alan B. Johnston의 블로그: ZRTP 오늘 RFC 6189로 출판됨. 검색된 2013-01-13
- ^ 암호 분기별, 제26권, 제4권
- ^ Zimmermann, Phil (2010-06-17). "Internet-Draft. ZRTP: Media Path Key Agreement for Unicast Secure RTP". Retrieved 2010-06-17.
- ^ "Twinkle - SIP softphone for Linux". Twinklephone.com. 25 February 2009. Retrieved 4 March 2016.
- ^ "Zrtp FAQ". jitsi.org. Retrieved 4 March 2016.
- ^ "oRTP, a Real-time Transport Protocol (RTP,RFC3550) library Linphone, an open-source video sip phone". Linphone.org. Retrieved 2014-06-07.
- ^ "ZRTP - FreeSWITCH Wiki". FreeSWITCH Wiki. 2009-05-21. Retrieved 2016-01-20.
- ^ "FreeSWITCH Now Supports ZRTP!". FreeSWITCH. 21 May 2009. Retrieved 4 March 2016.
- ^ Andy Greenberg (2014-07-29). "Your iPhone Can Finally Make Free, Encrypted Calls". Wired. Retrieved 2015-01-18.
- ^ Marlinspike, Moxie (14 February 2017). "Video calls for Signal now in public beta". Open Whisper Systems. Retrieved 15 February 2017.
- ^ Mott, Nathaniel (14 March 2017). "Signal's Encrypted Video Calling For iOS, Android Leaves Beta". Tom's Hardware. Purch Group, Inc. Retrieved 14 March 2017.
- ^ a b "Free SIP Providers with ZRTP support". The Guardian Project. 22 February 2012. Retrieved 4 March 2016.
- ^ "PhonerLite". Phonerlite.de. Retrieved 4 March 2016.
- ^ "RokaCom". RokaCom. 2014-11-29.
- ^ "PrivateWave". PrivateWave. 1999-02-22. Retrieved 2014-06-07.
- ^ Join us for a Live Webinar. "Silent Circle". Silent Circle. Retrieved 2014-06-07.
- ^ "Softphone". Acrobits. Retrieved 2015-01-21.
- ^ "Specification of Draytek 2820Vn ADSL modem/router/switch". Ipbusinessphones.co.uk. 2013-08-13. Retrieved 2014-06-07.
- ^ "Draytek Softphone (software) description". Draytek.co.uk. Retrieved 2014-06-07.
외부 링크
- RFC 6189 — ZRTP: 유니캐스트 보안 RTP를 위한 미디어 경로 키 계약