Dovolím si uvést svou první zkušenost se šifrováním hovorů.
Jsem v situaci, kdy mě (momentálně) netrápí možnost úředního zásahu - odposlechu hovorů, zabezpečení PSTN/GSM sítí, důvěra v operátora, atd.
Spíše řeším, nikoli vzácnou, situaci, kdy volání jde po nezabezpečené síti - např. veřejná WiFi bez zabezpečení, která umožňuje bezproblémový odposlech síťového provozu, tedy i VoIP hovorů.
Konkrétně mi jde o hovory z/do (PSTN/GSM), tedy o zabezpečení trasy můj VoIP adaptér (sw/hw) a Odorik (jeho transparentní RTP proxy). S tím, že spojení Odorik-PSTN/GSM snad není jen tak každému dostupné/napíchnutelné.
Jak jsem si zachytáváním paketů ověřil tak
1. ZRTP (klient Twinkle) - tato volba zdá se nefunguje. Zvuk se přenáší nešifrovaným RTP, jen Twinkle průběžně marně posílá také ZRTP "Hello paket". na nějž však protistrana (kterou je v tomto případě pouze RTP proxy Odoriku) nijak nereaguje.
Je otázkou, zda by měla:
PRO - šifrování alespoň úseku cesty hovoru má smysl, viz výše
PROTI - neinformovanému dává falešný počet bezpečí, kdy očekává, že ZRTP šifrování probíhá opravdu až v koncových bodech hovoru, což však při spojení do PSTN/GSM sítě nepadá v úvahu.
2. jen SRTP (klient SFLPhone) - tuto volbu jsem realizoval ponechání klasické nešifrované SIP UDP komunikace a zatržením SRTP s výměnou klíčů SDES (domnívám se, že je tím myšlena výměna klíčů v SDP v rámci navazování SIP (INVITE, ...)
Kód: Vybrat vše
Media Attribute (a): crypto:1 AES_CM_128_HMAC_SHA1_80 inline:ASd9GdlX4jyC93ah62dz53Rwqwcq6cMk/Q2iDR3a
Tak jsem uviděl v packet snifferu (wireshark), že audio se přenáší jako SRTP.
Předpokládám, že je to důsledek inteligentního pochopení wiresharkem, který viděl do datagramů SIP a tudíž očekával, že následný UDP "stream" je RTP - konkrétně SRTP.
Jak však již zde i jinde bylo upozorněno, tak klíče pro šifru (AES128) jsou otevřeně přístupné v SIP/SDP komunikaci, takže pro znalého je možné audio dešifrovat. Nicméně méně znalého i to odradí.
3. SIPS (= SIP over TLS) + SRTP (SFLPhone)
Toto je už bezpečné (v úvodu uvedeném smyslu slova) - žádný šmírák odposlouchávající data na cestě mezi mnou a Odorikem nemá (snad) šanci audio získat.
Ve wiresharku není vůbec nic k rozpoznání. Jelikož je kódována i komunikace SIP, tak wireshark o ní neví a tudíž i následný tok audia SRTP prezentuje jen jako UDP data.
Pozn.: nicméně si myslím, že by SRTP mohl rozpoznat jako ad 2, neboť snad i SRTP má svou strukturu shodnou s RTP - tedy že šifrován je jen payload RTP paketu, nikoli jeho hlavička, ne ?
Pokud k tomu má nějakou poznámku, budu rád. Nerad bych se totiž opájel pocitem falešného bezpečí.
Také dávám do pranice, zda by RTP proxy odoriku neměla (při volání do PSTN/GSM) reagovat na ZRTP Hello, resp. dle volby ho naopak sama posílat při příchodu hovoru z PSTN/GSM.
Zdravím.