Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
VoIP кілт келісім протоколы
VoIP key agreement protocol
ZRTP (Z және Real time Transport Protocol-ден құралған) — Real time Transport Protocol негізінде Voice over IP (VoIP) телефондық қоңырауындағы екі түйін арасында шифрлау кілттерін келісуге арналған криптографиялық кілт келісім протоколы. Ол шифрлау үшін Diffie–Hellman кілт алмасуын және Secure Real time Transport Protocol (SRTP) протоколын пайдаланады. ZRTP-ді Фил Циммерманн, Брайс Уилкокс О’Херн, Колин Пламб, Джон Каллас және Алан Джонстон жасады және 2006 жылдың 5 наурызында Циммерманн, Каллас және Джонстон Интернет-инженерлік тобына (IETF) ұсынды, ал 2011 жылдың 11 сәуірінде жарияланды.
ZRTP (composed of Z and Real time Transport Protocol) is a cryptographic key agreement protocol to negotiate the keys for encryption between two end points in a Voice over IP (VoIP) phone telephony call based on the Real time Transport Protocol. It uses Diffie–Hellman key exchange and the Secure Real time Transport Protocol (SRTP) for encryption. ZRTP was developed by Phil Zimmermann, with help from Bryce Wilcox O'Hearn, Colin Plumb, Jon Callas and Alan Johnston and was submitted to the Internet Engineering Task Force (IETF) by Zimmermann, Callas and Johnston on March 5, 2006 and published on April 11, 2011 as .
Шолу
ZRTP ("Z" - оның ойлап тапқан Циммерманның аты; "RTP" - Нақты уақытты жеткізу протоколы) Интернеттегі жобада «Нақты уақытты жеткізу протоколы (RTP) медиа ағынында Diffie–Hellman кілтін алмасуды жүзеге асыратын кілт келісім протоколы ретінде» сипатталған. Бұл сессияны бастау протоколы (SIP) сияқты басқа сигнал беру протоколын пайдалану арқылы құрылған. Осы арқылы ортақ құпия жасалады, содан кейін ол Secure RTP (SRTP) сессиясы үшін кілттер мен тұзды (salt) құруға қолданылады. ZRTP-нің ерекшеліктерінің бірі – ол кілтті басқару үшін SIP сигналдауына немесе қандай да бір серверлерге тәуелді емес. Егер басқа VoIP клиенті ZRTP-ні қолдаса, ол автоматты түрде анықтап, мүмкіндік туғанда шифрлауды қолдайды. Бұл протоколға бұрыннан ортақ құпиялар қажет емес, сондай-ақ ол ашық кілт инфрақұрылымына (PKI) немесе сертификаттау органдарына сүйенбейді. Шын мәнінде, әрбір сессия құрылғанда уақытша Diffie–Hellman кілттері жасалады: бұл сенімді үшінші тарапты құру және күтудің қиындығын жоюға мүмкіндік береді. Осы кілттер сессия құпиясын құруға көмектеседі, одан SRTP сессияларының сессия кілті мен параметрлері, сондай-ақ бұрын бөліскен құпиялар (бар болса) алынады. Бұл екі нүктенің арасындағы алғашқы сессияда шабуылшы болмаған жағдайда, ортадағы адамға (MiTM) қарсы қорғаныс қамтамасыз етеді. ZRTP кез келген сигнал беру протоколымен, соның ішінде SIP, H.323, Jingle және таратылған хэш-кесте жүйелерімен қолданылуы мүмкін. ZRTP сигналдық қабаттан тәуелсіз, өйткені оның барлық кілт келісімдері RTP медиа ағыны арқылы жүзеге асырылады. ZRTP/S, ZRTP протоколының кеңейтімі, GSM, UMTS, ISDN, PSTN, SATCOM, UHF/VHF радиосы сияқты кез келген ескі телекоммуникациялық желілерде жұмыс істей алады, өйткені бұл тар жолақты биттік ағынға бағытталған протокол және екі нүктенің арасындағы биттік ағын ішінде барлық кілт келісімдерін жүргізеді. Алан Джонстон протоколды ZRTP деп атады, өйткені оның алғашқы Интернеттегі жобалары RTP пакеттеріне қосымша тақырыптарды қосуға негізделген, бұл ZRTP-ні RTP-нің түріне айналдырды. Кейінгі жобаларда пакет форматы өзгеріп, оны синтаксистік тұрғыдан RTP-ден ажыратуға мүмкіндік берді. Осы өзгерісті ескере отырып, ZRTP қазір псевдо-акроним болып табылады.
ZRTP ("Z" is a reference to its inventor, Zimmermann; "RTP" stands for Real time Transport Protocol) is described in the Internet Draft as a "key agreement protocol which performs Diffie–Hellman key exchange during call setup in band in the Real time Transport Protocol (RTP) media stream which has been established using some other signaling protocol such as Session Initiation Protocol (SIP). This generates a shared secret which is then used to generate keys and salt for a Secure RTP (SRTP) session." One of ZRTP's features is that it does not rely on SIP signaling for the key management, or on any servers at all. It supports opportunistic encryption by auto sensing if the other VoIP client supports ZRTP. This protocol does not require prior shared secrets or rely on a Public key infrastructure (PKI) or on certification authorities, in fact ephemeral Diffie–Hellman keys are generated on each session establishment: this allows the complexity of creating and maintaining a trusted third party to be bypassed. These keys contribute to the generation of the session secret, from which the session key and parameters for SRTP sessions are derived, along with previously shared secrets (if any): this gives protection against man in the middle (MiTM) attacks, so long as the attacker was not present in the first session between the two endpoints. ZRTP can be used with any signaling protocol, including SIP, H.323, Jingle, and distributed hash table systems. ZRTP is independent of the signaling layer, because all its key negotiations occur via the RTP media stream. ZRTP/S, a ZRTP protocol extension, can run on any kind of legacy telephony networks including GSM, UMTS, ISDN, PSTN, SATCOM, UHF/VHF radio, because it is a narrow band bitstream oriented protocol and performs all key negotiations inside the bitstream between two endpoints. Alan Johnston named the protocol ZRTP because in its earliest Internet drafts it was based on adding header extensions to RTP packets, which made ZRTP a variant of RTP. In later drafts the packet format changed to make it syntactically distinguishable from RTP. In view of that change, ZRTP is now a pseudo acronym.
Аутентификация
Diffie-Hellman кілт алмасуының өзі ортадағы адам шабуылына қарсы қорғаныс қамтамасыз етпейді. Шабуылшының бірінші сессияда қатыспағанына көз жеткізу үшін (ортақ құпиялар жоқ болғанда) Қысқа аутентификация жолы (SAS) әдісі қолданылады: байланыс жасайтын тараптар екі нүктенің әрқайсысында көрсетілген ортақ мәнді ауызша тексеріп қарастырады. Егер мәндер сәйкес келмесе, ортадағы адам шабуылы байқалады. ZRTP протоколына қарсы теориялық шабуылда екі тараптың синтетикалық дауысын жасау арқылы жалған SAS оқылады, бұл шабуыл "бай кішкентай шабуыл" деп аталады, бірақ бұл сипаттағы шабуыл протоколдың қауіпсіздігіне елеулі қауіп төндірмейді деп саналады. SAS кілт алмасуды растау үшін қолданылады, ол екі Diffie-Hellman мәнінің криптографиялық хэші болып табылады. SAS мәні ZRTP нүктелерінің екеуіне де жіберіледі. Аутентификацияны жүзеге асыру үшін бұл SAS мәні дауыстық байланыс арқылы әріптеске дауыстап оқылады. Егер екі жақтағы мәндер сәйкес келмесе, ортадағы адам шабуылы байқалады; егер сәйкес келсе, ортадағы адам шабуылының болу ықтималдығы төмен. DH алмасуында хэш-келісімді пайдалану шабуылшыны шабуылда дұрыс SAS жасау үшін бір ғана мүмкіндікке шектейді, яғни SAS өте қысқа болуы мүмкін. Мысалы, 16 биттік SAS шабуылшыға 65536-ның біреуі ғана анықталмау мүмкіндігін береді.
The Diffie–Hellman key exchange by itself does not provide protection against a man in the middle attack. To ensure that the attacker is indeed not present in the first session (when no shared secrets exist), the Short Authentication String (SAS) method is used: the communicating parties verbally cross check a shared value displayed at both endpoints. If the values do not match, a man in the middle attack is indicated. A specific attack theorized against the ZRTP protocol involves creating a synthetic voice of both parties to read a bogus SAS which is known as a "Rich little attack", but this class of attack is not believed to be a serious risk to the protocol's security. The SAS is used to authenticate the key exchange, which is essentially a cryptographic hash of the two Diffie–Hellman values. The SAS value is rendered to both ZRTP endpoints. To carry out authentication, this SAS value is read aloud to the communication partner over the voice connection. If the values on both ends do not match, a man in middle attack is indicated; if they do match, a man in the middle attack is highly unlikely. The use of hash commitment in the DH exchange constrains the attacker to only one guess to generate the correct SAS in the attack, which means the SAS may be quite short. A 16 bit SAS, for example, provides the attacker only one chance out of 65536 of not being detected.
Кілт сабақтастығы
ZRTP кілттің сабақтастығы түріне негізделген, MitM шабуылдарына қарсы екінші аутентификация қабатын ұсынады. Ол келесі қосылуда пайдалану үшін бірнеше хэштелген кілт туралы ақпаратты сақтайды, осы ақпаратты келесі қосылудың DH ортақ құпиясымен біріктіріп, SSH-ге ұқсас кілт сабақтастығы қасиеттерін қамтамасыз етеді. Егер MitM алғашқы қосылуда болмаса, ол келесі қосылуларға қатынаса алмайды. Осылайша, SAS ешқашан қолданылмаса да, көптеген MitM шабуылдары тоқтатылады, себебі MitM алғашқы қосылуда қатыспаған.
ZRTP provides a second layer of authentication against a MitM attack, based on a form of key continuity. It does this by caching some hashed key information for use in the next call, to be mixed in with the next call's DH shared secret, giving it key continuity properties analogous to SSH. If the MitM is not present in the first call, he is locked out of subsequent calls. Thus, even if the SAS is never used, most MitM attacks are stopped because the MitM was not present in the first call.