Table of Contents

Odorik TLS/SRTP

Bez použití šifrování je relativně snadné odposlouchávat hovory, pokud je pro hovor použité Wifi připojení k internetu (útočníkovi se musí dozvědět heslo, to by ale neměl být větší problém), nebo pokud má útočník fyzicky přístup do lokální ethernetové sítě v místě, kudy hovor prochází. Kromě poslechu samotného hovoru bude znát, i komu jste volali. Odposlechnout SIP heslo ale není možné, i když šifrování hovoru není použito, heslo je i v tomto případě chráněno.

Pro šifrování hovorů i signalizace tak, aby nemohlo dojít k odposlechu někde po cestě, je možné použít TLS(SIPS)/SRPT. TLS(SIPS) slouží pro šifrování signalizace, SRTP k šifrování hlasových paketů. Přestože to některé telefony umožňují, nemá smysl použít šifrovaní jen pro samotné hovory (SRTP) v situaci, kdy není šifrována signalizace, protože šifrovací klíče se přenáší samotnou signalizaci a útočník by tak k nim měl přístup.

POZOR! V případě použití TLS nesmí být u proxy definován port.

např: sip.odorik.cz:6688 pouze sip.odorik.cz.

Proxy naslouchá TLS na portech 5061 (standardní) nebo 6689. Na portu 6670 je použit jiný certifikát viz níže.

TLS

TLS je způsob šifrování TCP signalizace SIP protokolu. Signalizace není hovor samotný ale pouze informace o tom, kdo komu volá, jakým hlasovým kodekem a pod. TLS se nejčastěji používá spolu se SRTP, ale může být použito i samostatně. V tomto případě nebude možné odposlechnout, kdo komu volá, půjde však odposlechnout samotný hovor. Pokud vám jde jen o to, aby nebylo možné odposlechnout SIP heslo, nedělejte si starosti, o to je postaráno i při použití nešifrovaného SIP protokolu. Předgenerovaná SIP hesla o osmi znacích obsahující jména a číslice by nemělo být možné lousknout v rozumném čase za rozumnou cenu.

Od 29.12.2021 nepodporuje naše SIP proxy obstarožní verze TLS 1.0 a 1.1. Lze to zkontrolovat např. zde: https://www.cdn77.com/tls-test/result?domain=sip.odorik.cz%3A5061, je takmožné k tomuto datu váš telefon nebo ústředna přestal fungovat. Jestli se k podpoře nevrátíme krátce po novém roce zatím není rozhodnuto, týká se to spíše jednotlivců.

SRTP

RTP jsou vlastní hlasová data. SRTP jsou šifrovaná hlasová data. Tato data proudí na jiném portu než signalizace. Pokud šifrujeme samotný hovor pomocí SRTP, je nutné šifrovat i signalizace pomocí TSL. V signalizaci se totiž předávají klíče šifrování, a pokud signalizace nebyla šifrovaná, šifrovat samotný hovor pak postrádá smysl. Bohužel toto nepochopili např. vývojáři telefonu Grandstream GXP 280, který naprosto nesmyslně podporuje SRTP ale ne TLS. http://en.wikipedia.org/wiki/Secure_Real-time_Transport_Protocol

Veřejný klíč certifikační autority

Od září 2020 jsme nahradili námi podepsané certifikáty na sip.odorik.cz:5061 (standardní port pro tls) a 6689 (alternativní port - možné použít při potížích s routerem či firewalem) certifikátem Let's encrypt. Ověřili jsme, že v podstatě všichni kdo se registrovali dříve se registrovali i po změně.

Námi podepsaný certifikát zůstává jen na portu 6670 a je platný do 17.10.2056. Použijte pokud váš telefon nedůvěřuje Let's Encrypt kvůli jednomu propadlému root certifikátu. Např. telefony telefony yealink) Let's Encrypt nedůvěřují a dávat vyjímku každé dva měsíce je nepohodlné. Pokud váš telefon vyžaduje odkaz ke stažení, můžete použít http://www.odorik.cz/spa112/strong.pem https://www.odorik.cz/spa112/strong.pem .

-----BEGIN CERTIFICATE-----
MIIDvTCCAqWgAwIBAgIJAIVsPyirYWShMA0GCSqGSIb3DQEBCwUAMHUxETAPBgNV
BAMMCE9kb3Jpa0NBMRcwFQYDVQQIDA5DemVjaCBSZXB1YmxpYzELMAkGA1UEBhMC
Q1oxITAfBgkqhkiG9w0BCQEWEmtvbnRha3RAbWluaXRlbC5jejEXMBUGA1UECgwO
bWluaVRFTCBzLnIuby4wIBcNMTcwNTE1MDg0MzE2WhgPMjA1NjEwMTcwODQzMTZa
MHUxETAPBgNVBAMMCE9kb3Jpa0NBMRcwFQYDVQQIDA5DemVjaCBSZXB1YmxpYzEL
MAkGA1UEBhMCQ1oxITAfBgkqhkiG9w0BCQEWEmtvbnRha3RAbWluaXRlbC5jejEX
MBUGA1UECgwObWluaVRFTCBzLnIuby4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDKtbitbShMOOzZ4y1AmoMcA+L8FgtuDahpL/ZSJHvkLM4/1UgZWVNo
nmSbikQ0a306O++7vrVrJf4NInIpNSCBKrp8PoUGk+v1WJSfpg/dWRRLiujh00PQ
r8HbclW+KzGkb8Nj9E7bLWwMNfFqneuvSOMsXBwZypDEtMNb8UApIL/GEWMEyHZQ
SsPyPLzApjnCs6y8ZymTV4UslLDoMQ+s4V+5Vf98kX92FtSbkTXJpmIpFfqVGF7B
PJZxHF8C0UrbPZKXTH103kIwFdm9J37v6kt6XHwzYhxIQq+5rMmTMwpcKWIOy2Aa
/VEVtm1q7E7TujhrfodKUJ+CTpM0fh+nAgMBAAGjTjBMMAwGA1UdEwQFMAMBAf8w
HQYDVR0RBBYwFIESa29udGFrdEBtaW5pdGVsLmN6MB0GA1UdEgQWMBSBEmtvbnRh
a3RAbWluaXRlbC5jejANBgkqhkiG9w0BAQsFAAOCAQEAL2XLfmwX1Ky4tiCTEbYd
X+YFWH+Nz0AWMqYvU6p5b9Ctgxk21UJ3VWspiGfJMOQicgtL/2okggKN3Ud6GgGb
O5hpLQUPhzKHIBb4IIc+DCcLi7qRaVTk0OG/PWtsamadwJf3d5HIs1ZT6TjMj5ez
3kEOQOpMrhq7pK+jOmkpGkqeTBfSwConfQsMtRY3YpvQ0gqSOmUC+yW4swzFIPgo
xLPl7bJj7yqgfYr4MOlkSYiUc0YMw7mJlTBgHZ3yhh8BV7igUXXF+enPDGhx6ozO
paxiwuPwAfN3XM91mqhBnu+pSqXQpoYJJ1TBfbVS5Oxq51rtJ1ZThBEMdT3v8d6b
Jw==
-----END CERTIFICATE-----

Používat certifikáty je nutné, jen pokud si tuto možnost zapnete (nebo ji máte defaultně zapnutou) na svém telefonu.

Nastavení Grandstream GXP1400

Co se týče příchozích šifrovaných hovorů a vůbec hovorů se signalizaci na TCP, jeví se nám telefony Grandstrem GXP 1400 a GXP 1450 problémové. Můžete ale zkusit tento návod. Doporučujeme na jedné lince používat jen jeden telefon. Postup, jak si nahrát nejnovější firmware, naleznete zde http://www.odorik.cz/w/grandstream_gxp1400

Samotná věta “Protokol pro RTP pakety:” UDP/TCP/TLS TCP “ je nehorázná chyba překladatele. RTP totiž nikdy přes TCP nechodí. Vždy jde přes UDP. Zjevně tam mělo být protokol SIP signalizace:. V angličtině je tam “SIP Transport”.

Zde zapnete šifrování pro samotný RTP tok, tedy hovor samotný.

Šifrovaný hovor poznáte tak, že je na displeji telefonu zobrazen zámeček během hovoru.

Restart telefonu Grandstream GXP 1400 do továrního nastavení

Pokud telefon záhadně zlobí, nebo si již nevíte rady, můžete začít úplně od začátku restartováním do továrního nastavení:

České menu telefonu:

menu → konfigurace → tovární reset

Anglické menu telefonu:

menu → config → factory reset

Mějte na paměti, že k datu 01.03.2013 není telefon stále dokonale odladěn ani s nejnovějším firmware. Např. zapomíná ručně vložené kontakty při restartu.

Nastavení Well/Yealink SIP-T20

Pokud si telefon kupujete vyloženě kvůli šifrovaným hovorům, dejte v tomto případě přednost telefonu Well. Chová se korektněji než telefony Grandstream GXP 1400.

Zde zapnete šifrování signalizace.

Zde zapnete šifrování samotného hovoru.

Šifrovaný hovor poznáte tak, že je na displeji telefonu zobrazen zámeček během hovoru.

Buď si kontrolu kontrolu certifikátu vypněte, nebo nahrajte naše certifikáty (viz výše) do telefonu jako důvěryhodné

Nastavení Grandstream 701/702

Nastavení na stránkách Odorik.cz

Aby vám fungovalo vynucení šifrování i u příchozích hovorů, zapněte si tuto volbu.

Z výpisu přihlášených zařízení, je zjevné, že se zařízení hlásí přes TLS (sloupeček protokol) na portu 5061, který je vyhrazen pro SIP signalizaci šifrovanou přes TLS.

Nastavení CSipSimple - android

Začněte tím, aby fungovalo nešifrované volání pomocí wizardu najdete odorik.cz a vyplnít jen jméno a heslo linky a pak si TLS a SRTP dodatečně zapněte v expertním režimu. Přepnutí do expertního režimu provedete následovně: Ve výchozí obrazovce s číselníkem stiskněte menu a vyberte ucty, potom dlouhý stisk na Odorik.cz v menu vyberte 'Vybrat pruvodce' (může být nutné zkrolovat) a projeďte nabízené operátory a zvolte Expert.

Podporu TLS, SRTP a případně ZRTP je nutné nečekaně povolit nejen u daného SIP účtu, ale i v celkovém nastavení programu společném pro všechny SIP účty. Najdete to v “nastavení→síť→zabezpečení přenosu”. Další nastavení se provádí logicky u SIP linky, kterou chcete použít. Tedy Přenos na TLS a SRTP mod na povinné. Netradiční port můžete (ale nemusíte - použije se pak automaticky 5061) nastavit v položce která se jmenuje Proxy URI: např. sip:sip.odorik.cz je můžete změnit na sip:sip.odorik.cz:6670 Pokud máte všechno správně, u probíhajícího hovoru pak svítí na žlutém pozadí, že je použit TLS i SRTP. Celá bíle napsaná věta na žlutém pozadí, která je nejspíš špatným překladem z angličtiny, co je vidět během hovoru, zní: “TLS přenos je využíván k okamžitému hopu SRTP”. Obrázky s nastavením na našem fóru: http://forum.odorik.cz/viewtopic.php?f=32&t=4536#p35501, tam ale zapomněli na nastavení SRTP.

Vypadá to, že v CSIPSimple nelze nastavit vlastní certifikační autoritu ani certifikát a program se zaregistruje a volá i s použitím našeho certifikátu podepsaného vlastní nedůvěryhodnou autoritou. Dobrý kompromis by byl, kdyby CSIPsimple varoval alespoň při prvním hovoru. Ale ani to, zdá se se neděje. A nenašel jsem nikde volbu, kde by se tohle ne úplně bezpečné chování dalo vypnout/zapnout. Možná to někdy opraví a pak TLS přestane fungovat nebo se začne při prvním hovoru ptát.

CSipSimple a ZRTP

CSIPSimple podporuje i šifrování přes ZRTP, které si můžete také povolit. ZRTP lze využít jen pro hovory uvnitř sítě Odorik, ale ZRTP má zásadní výhodu, že se jedná o šifrování end to end s tím, že klíče se nepředávají v signalizaci, ale přímo ve zvuku takovým způsobem, že je není možné získat nikde po cestě ani na SIP a RTP proxy. Tedy není možný odposlech nikde po cestě, ani kdyby servery Odoriku obsadilo novodobé gestapo. I když SRTP v případě vytočení dvou hvězdiček před číslem linky proudí také napřímo, klíče jsou posílány pomocí TLS, které je na odorik sip proxy dešifrováno. Ke klíčům má tak teoreticky přístup ten, kdo má přístup k SIP proxy, tedy teoreticky ono novodobé gestapo.

Pro hovory přes ZRTP je nutné volat jen linky v síti, a to se dvěmi hvězdičkami na začátku. Tedy vytočíte číslo např. **300116. ZRTP je vhodné kombinovat s TLS (aby nešlo odposlechnout, kdo komu volá). Pokud ale necháte povoloné obojí, jak SRTP tak ZRTP bohužel přednost dostane “horší” SRTP. Aby si tedy byly schopny volat dvě linky s využitím ZRTP, je alespoň na jedné z těch linek nutné zakázat SRTP, jinak by bohužel dostalo přednost. Použité šifrování můžete zkontrolovat kdykoli během hovoru ve žlutém pruhu.

Zoiper

U Zoiperu je šifrování jednodušší. Stačí povolit SRTP, čímž bude vyzváni i povolení TLS. Pokud Zoiper používáte na nestandardním portu jako 443 je nutné port smazat, nebo upravit na jeden z portů využívaný pro TLS. Při prvním přihlášení jste varování, že se certifikát na sip.odorik.cz není podepsán důvěryhodnou autoritou, to nechte ignorovat.

Download

port:5061

http://www.odorik.cz/w/_media/ostry.txt

port:6670

http://www.odorik.cz/w/_media/strong.txt