A hiányosságok: a VoIP technológia biztonsági kérdései
Cikksorozatunk első részében már vázoltuk, hogy mely peremfeltételek szükségesek a biztonságos, a magánszférát megőrző kommunikáció megvalósításához; kitértünk az azonosítás, a titkosítás és a hangminőség kérdéseire.
Ebben a cikkben bemutatjuk a két leggyakkrabban használt VoIP protokollt, elemezzük azok biztonsági kérdéseit, majd megpróbáljuk eldönteni: mely megoldás lehet a legmegfelelőbb a célkitűzésünkhöz, a biztonságos telefonáláshoz a nyílt IP hálózatokon.
VoIP protokollok
Jelenleg több szabvány is érvényben van, melyek az IP telefónia implementációival foglalkoznak. Ez a fejezet röviden az alábbi szabványokat tekinti át:
- H.323 az ITU-tól – melynek kialakításán az 1990-es éveke eleje óta dolgoztak, és 1996-ban foglalták szabványba.
- Session Initiation Protocol – SIP - az IETF-től, melyet elsőként RFC-ként (2543) fogadtak el 1999-ben.
A legalapvetőbb különbség ezen megoldások között az információ koncentrálódásának helye. A SIP az információ nagy részét a rendszer végpontjaihoz helyezi. A H.323 az információt mindenhova kihelyezi.
A H.323 egy széleskörű protokoll, mely egy VoIP rendszer minden aspektusát igyekszik kezelni. Ez egy esernyő-rendszer, mely több más specifikációt is magában foglal:
- H.225 – hívásvezérlés jelzés, regisztráció és engedélyezés
- H.235 – biztonsági kérdések, mint pl. azonosítás, integritás, titkosítás
- H.245 – csatornahasználat-egyeztetés
- H.261 – video codec-ek
- G.723 és G729 – audio codecek
H.323
Egy H.323-as rendszer az alábbi négy részből tevődik össze:
- Terminál - Ez egy végfelhasználói eszköz, mely támogatja a kétirányú hang-, adat- és/vagy video átvitelt egy másik terminállal. Végfelhasználói terminál lehet egy IP-telefon, vagy egy VoIP szoftverrel és hardverrel ellátott személyi számítógép.
- Átjáró (Gateway) - Az átjárók más, különböző hálózatokkal történő kommunikációért felelősek. Ha a másik hálózatról csatlakozó eszköz nem egy H.323-as eszköz, akkor az átjáró fordít a két protokoll között. Az átjáró lehetővé teszi a csatlakozást egy PSTN-től IP alapú LAN-ig.
- MCU - Multipont konferencia kiszolgáló (Multipoint Control Unit, MCU) Az MCU néhány végfelhasználói terminál közötti konferenciához nyújt támogatást.
- Gatekeeper - A gatekeeper-ek azonosítási szolgáltatások révén lehetővé teszik a végfelhasználók számára, hogy azok regisztrálhassanak a VoIP hálózaton. Emellett a gatekeeper kezeli a hozzáférési lehetőségeket és a címfordítást is.
SIP
A SIP egy kevésbé bonyolult protokoll, ezért rugalmasabb is. A SIP egy challenge-response alapú rendszer, mely hasonló a HTTP protokollhoz. Egy SIP alapú rendszer főbb összetevői a következők:
- User Call Agent or User Agent Client
Az UAC felelős a hívás kezdeményezéséért, azáltal, hogy URL-es meghívót ( Invite) küld a hívott félnek. - Proxy szerver
A proxy szerverek felelősek az üzenetek irányításáért és kézbesítéséért. Ennek akkor van jelentősége, ha a két végpont nem tud egymással közvetlenül kommunikálni. - Redirect (átirányító) szerver
Az átirányító szerver tárolja a felhasználói adatbázist, mely lehetővé teszi, hogy informálja a proxy szervert a felhasználó helyét illetően.
A SIP egy alkalmazás-réteg vezérlő protokoll, mely arra szolgál, hogy munkafázisokat (session) hozzon létre és menedzselje azokat egy- vagy több végpont között. Ezek a munkafázisok lehetnek internet alapú telefonhívások, multimédia-szétosztások (műsorszórás) és multimédiás konferenciák.
A vonatkozó SIP RFC – 3261 szerint:
A SIP egy könnyűsúlyú, transport-layertől független, szöveges alapú protokoll, és az alábbi tulajdonságokkal rendelkezik:
· Könnyűsúlyú, mivel csupán hat metódusa van, ezáltal csökkentve a bonyolultságot
· Transport layertől független, mert használható UDP-vel és TCP-vel (5060-as porton, ami a SIP számára kijelölt port)
·Szöveges alapú, alacsony overhead-del rendelkezik (kevés járulékos fejléc)
A SIP kliensek (TCP, vagy UDP-t használva) általában az 5060-as portot használják a SIP szerverekhez, illetve egyéb SIP végpontokhoz történő csatlakozásra. A SIP-et elsősorban hang és videohívások létrehozására használják, habár bármely más alkalmazásban is használható, ahol a session-kezdeményezés követelmény.
A SIP esetében cél volt, hogy jelzési (signalling) és hívás-létrehozási protokollt biztosítson azon IP-alapú kommunikációkhoz, melyek képesek támogatni a hívásfeldolgozási tulajdonságoknak a nyilvános távbeszélő hálózatban (PSTN) meglévőknél bővebb halmazát. A SIP önmagában nem definiálja ezen tulajdonságokat, ehelyett a hívás létrehozására és jelölésére fókuszál. Ugyanakkor úgy került megtervezésre és megvalósításra, hogy megengedje az ilyen tulajdonságok beépítését a végpontokba és a proxy szerverekbe. Ezen tulajdonságok lehetővé teszik az olyan telefonszerű műveleteket, mint egy szám tárcsázása, a telefon csengetése, vagy a foglaltság jelzése. Bár a szaknyelv és a hívások megvalósítása jelentősen eltér a SIP és a hagyományos telefónia világában, ám a végfelhasználó számára a viselkedésmód ugyanolyan kell legyen.
A protokollok összehasonlítása
Az elvárásainknak leginkább megfelelő protokoll kiválasztásához az alábbi összehasonlítást kell elvégeznünk:
A H.323 és a SIP protokollok összehasonlítása
|
H.323 |
SIP |
Architektúra
|
A H.323 kezeli majdnem az összes telefonos szolgáltatást, mint pl. az alap jelzéskezelést, a Quality of Service-t, a konferencia-hívás kezelést, regisztrációt, a szerver felfedezést stb. |
A SIP moduláris, és kezeli az alapvető hívásjelzést, a felhasználó helyzetét és a regisztrációt. A többi funkció más elkülönített ortogonális protokollban található. |
Komponensek |
terminál/átjáró |
user agent |
gatekeeper |
szerverek |
|
Protokollok |
RAS/Q.931 |
SIP |
H.245 |
SDP |
|
Híváskezelési feladatkörök |
||
Hívásátvitel |
igen |
igen |
Hívásátirányítás |
igen |
igen |
Hívástartás |
igen |
igen |
Call parking/felvétel |
igen |
igen |
Hívásvárakoztatás |
igen |
igen |
Beérkezett üzenet jelzése |
igen |
nem |
Névazonosítás |
igen |
nem |
Hívás belehallgatás (call intrusion) |
igen |
nem |
További jellemzők |
||
Konferencia |
igen |
igen |
Skálázhatóság |
||
Nagyszámú hívás |
A H.323 hívásvezérlés implementálható állapotfüggetlen módon. A gateway a H.225-ben definiált üzenetekkel segíthet a gatekeeper-öknek a terhelésmegoszlás kialakításában. |
A hívásvezérlés implementálható állapotfüggetlen módon. A SIP támogatja a tetszőleges szintű skázálhatóságot a végpontok és a szerverek között. A SIP-nek kevesebb processzor-ciklusra van szüksége a jelzőüzenetek generálásához, ezért a szerver elméletileg több tranzakciót tud kezelni. A SÍP lehetővé teszi a terhelésmegosztást a DNS SRV recordok használata által. |
Csatlakozási állapot |
állapotőrző vagy állapotmentes |
állapotőrző vagy állapotmentes |
Nemzetközisítés |
Igen, a H.323 Unicode-ot (BMBString az ASN.1-ben) használ néhány szöveges információhoz (h323-id), de alapvetően kevés szöveges paramétere van. |
Igen, a SIP Unicode-ot (ISO 10646-1) használ UTF-8-ként kódolva. |
Biztonság |
A H.235-ön keresztül definiálja a biztonsági mechanizmusokat és a tárgyalási képességeket, emellett képes SSL-t is használni a TLS-hez. |
A SIP támogatja a hívó és a hívott azonosítást HTTP mechanizmusok segítségével. A kriptográfiailag biztonságos azonosítást és titkosítást pontról-pontra támogatja az SSL/TSL-en keresztül, de a SIP képes használni bármilyen szállítási réteget, vagy HTTP-szerű biztonsági mechanizmust, mint pl az SSH-t vagy az S-http-t is. A média titkosításhoz használt kulcsok SDP-t használva kerülnek továbbításra. Az SSL támogatja a szimmetrikus és az asszimetrikus azonosítást is. A SIP szintén definiálja a végponttól végpontig tartó (end-to-end) azonosítást és titkosítást, PGP vagy S/MIME használatával. |
Különböző verziók közötti együttműködő-képesség |
A H.323 teljesen kompatibilis visszafelé. Mindez lehetővé teszi, hogy a H.323 különböző változatai bármikor gond nélkül illeszthetők legyenek. |
A SIP-ben egy újabb változat hatására néhány régebbi funkció elhagyásra kerülhet, melyek implementációjára nem kell számítani a továbbiakban. Ezen megközelítés hatására a kód mérete és a protokoll bonyolultsága csökken, viszont így elvesztünk némi kompatibilitást a különböző változatok között. |
Implementációs együttműködő-képesség |
A H.323-hoz tartozik egy implementációs útmutató, mely tisztázza az alapokat és segíti a az együttműködést a különböző implementációk között. |
A SIP mindezidáig nem adott ki implementációs megállapodást. |
Számlázás |
Még a H.323 közvetlen hívásmodeljével sem veszik el a hívás számlázási lehetősége, mivel a végpont a RAS protokoll segítségével jelenti a gatekeppernek a hívás kezdetét és végét. |
Ha a SIP proxy számlázási információt szeretne gyűjteni, nincs más választása, mint a hívás jelzési útvonalában maradni a hívás teljes időtartama alatt, így képes detektálni, ha a hívás véget ér. Még ezen esetben is előfordulhat, hogy a statisztika elromlik, mivel a hívásjelzés esetlegesen késett. |
Codecek |
A H.323 támogat minden codecet, (nem csak ITU-t codeceket) legyen az szabványosított, vagy szabadalmaztatott. A payload típusok részletezhetőek statikusan vagy dinamikusan. |
A SIP támogat minden IANA-nál regisztrált codec-et vagy más codec-eket, melyek nevében közösen megegyeztek. A payload típusok részletezhetőek statikusan vagy dinamikusan. |
Szállítási protokoll |
Megbízható vagy nem megbízható, pl. TCP vagy UDP. A legtöbb H.323 entitás a megbízható szállítási protokollt használja a jelzéshez. |
Megbízható vagy nem megbízható, pl. TCP vagy UDP. A legtöbb SIP entitás a nem megbízható szállítási protokollt használja a jelzéshez, de a megbízható protokollok is támogatottak. |
Üzenet kódolás |
A H.323 az üzeneteket kompakt bináris formátumban kódolja, mely megfelel mind a keskenysávú, mind a szélessávú kapcsolatokhoz. |
A SIP üzenetek ASCII szöveges formátumban vannak kódolva, mely az emberek számára is olvasható. |
Címzés |
Rugalmas címzési mechanizmusok, melyekbe beletartoznak az URL-ek és az E.164-es számok is. |
A SIP kizárólag az URL jellegű címeket képes értelmezni. |
PSTN Interworking |
A H.323 használ néhányat a hagyományos PSTN protokollokból, pl. a Q.931-et, ebből következően jól megfelel a PSTN integrációnak. Ugyanakkor a H.323 nem alkalmazza a PSTN áramkörkapcsolt technológiáját (mint a SIP), a H.323 teljesen csomagkapcsolt. A szabványon belül tökéletesen definiált, hogy a médiaátjáró-vezérlők hogy illeszkednek a H.323 architektúrájába.
|
A SIP-ben nincs semmi közös a PSTN-nel. A SIP-nek nincs olyan arhitektúrája, amely leírná a gateway megfeleltetését médiaátjáró-vezérlővé és médiaátjáróvá. |
Hurokérzékelés |
igen Az útválasztó átjárók képesek érzékelni a hurkokat a hívásazonosító (call identifier) illetve a destinationAddress mezők segítségével. Hogyha ezek kombinációja megegyezik egy létező hívással, akkor egy hurokról van szó. |
igen A SIP üzenetek VIA és a MAX-Forwards fejléce teszi ezt lehetővé. |
Portok minimális száma VoIP hívások esetében |
5 (hívásjelzés, 2 RTP és 2 RTCP) |
5 (hívásjelzés, 2 RTP és 2 RTCP) |
Video- és adatkonferencia |
A H.323 teljes mértékben támogatja a video- és adatkonferenciát. Rendelkezik konferencia-vezérlő eljárásokkal, melyek lehetővé teszik az ajakszinkron létrejöttét (audio és video szinkonizálása). |
A SIP csak korlátozottan támogatja a videokonferenciát, és nem támogatja az olyan adatkonferencia protokollokat, mint például a T.120 |
A következtetés: a választott protokoll
Kutatásunk célkitűzéséhez a vizsgált jellemzők összevetését követően SIP protokoll került kiválasztásra. A döntés főként a következő tényeken alapul:
Hasonlóságok:
- RTP-t és RTCP-t használnak a médiaszállításhoz
- Mindkét rendszer támogatja a hívások továbbítását proxykon/gatekeepereken keresztül
- Hasonló hiányosságokkal rendelkeznek
Különbségek:
- Kódolás (szöveges kontra ASN.1)
- Szabványos Feature-szettek
- Konferencia vezérlés
- Hívásátadási módok
- Hívó preferenciák
A H.323 előnyei:
- Tömörebb üzenetek
- Néhány területen érettebb és jobban kidolgozott protokoll
A SIP előnyei:
- Könnyebb implementálhatóság
- Rugalmasabb bővíthetőség
- Skálázhatóbb
- Ugyanazon üzeneteket használja végig a hálózatban
- A rétegek tisztább elkülönülése
Cikksorozatunk következő számában a SIP protokollon használható különböző titkosítási lehetőségeket vizsgáljuk meg részletesen.
Jelen publikáció eredményei a GOP-1.1.1-08/1-2008-0015 számú, “Biometrikus azonosításon alapuló titkosított hangátvitelt megvalósító, szolgáltató-független, hordozható távközlési végberendezés prototípusának kifejlesztése” című projekt keretében került kidolgozásra.
Kapcsolat: zoltan.hegyes@bh-bess.com