A magánszféra védelme az internet alapú távközlésben: 2. rész

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:

  1. 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.
  2. Á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.
  3. 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.
  4. 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:

  1. 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.
  2. 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.
  3. 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

Azóta történt

Előzmények