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 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ů.
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
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.
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.
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.
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é
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.
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 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.
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.