• Nem Talált Eredményt

Számítógép hálózatok programozóknak

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Számítógép hálózatok programozóknak"

Copied!
227
0
0

Teljes szövegt

(1)

Számítógép hálózatok programozóknak

Dr. Bilicki Vilmos, Szabó Zoltán, Jánki Zoltán Richárd

(2)

azonosító: EFOP-3.4.3-16-2016-00014.

(3)

jelezzük ezt)

1. Az ábra a referencia könyv [1] ppt ábráinak felhasználásával készült "All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved"

(4)
(5)

1 Programozó centrikus rész

9

1 Bevezet˝o 11

1.1 Az információs technológia (IT) jelene 1.2 Az Internet fogalma

1.3 Számítógép hálózatok felépítése 1.4 A jöv˝o

1.5 Kommunikáció

1.6 Számítógép hálózati szolgáltatások teljesítménymutatói 1.7 Számítógép hálózatok gyakorlati felépítése

1.8 Számítógép hálózatok biztonsága 1.9 A számítógép hálózatok elméleti alapjai 1.10 Ellen˝orz˝o kérdések

1.11 Irodalomjegyzék, további olvasnivalók 1.12 Kompetenciák és tanulási eredmények

2 Hálózati biztonság 25

2.1 A kriptográfia alapjai

2.2 Üzenet integritás, digitális aláírás 2.3 Ellen˝orz˝o kérdések

2.4 Irodalomjegyzék, további olvasnivalók 2.5 Kompetenciák és tanulási eredmények

3 Alkalmazás réteg 37

3.1 A hálózati alkalmazások háttere

3.2 WWW

3.2.1 HTTP 1.1 alapok . . . 41 3.2.2 HTTP Gyorsítótárazás, CDN . . . 41 3.2.3 HTTP Biztonság, azonosítás . . . 43

(6)

3.2.5 REST . . . 48

3.3 DNS 3.3.1 DNS architektúra . . . 50

3.3.2 DNS adatbázis . . . 51

3.3.3 DNS protokoll . . . 52

3.3.4 DNS gyorsítótárazás . . . 54

3.3.5 DNS biztonság . . . 55

3.4 Email 3.5 SMTP protokoll 3.5.1 Email biztonságossá tétele - PGP . . . 58

3.6 P2P 3.6.1 BitTorrent . . . 59

3.6.2 Paxos . . . 61

3.7 Videó 3.7.1 Videó tömörítés . . . 65

3.7.2 Videó folyam . . . 65

3.8 Ellen˝orz˝o kérdések 3.9 Irodalomjegyzék, további olvasnivalók 3.10 Kompetenciák és tanulási eredmények

2 Általános rész

69 4 Szállítási réteg 71 4.1 Szállítási réteg szolgáltatások 4.1.1 A szállítási réteg alapelvei . . . 71

4.1.2 A szállítási réteg és más rétegek kapcsolatai . . . 72

4.1.3 A szállítási réteg és az Internet . . . 73

4.2 Multiplexelés/Demultiplexelés 4.2.1 Kapcsolatmentes multiplexelés és demultiplexelés . . . 74

4.2.2 Kapcsolatorientált multiplexelés és demultiplexelés . . . 75

4.3 Kapcsolatmentes átvitel: UDP 4.3.1 UDP szegmens struktúra . . . 76

4.3.2 UDP ellen˝orz˝o összeg . . . 77

4.4 A megbízható átvitel alapjai 4.4.1 Adatátvitel egy tökéletesen megbízható csatornán: rdt1.0 . . . 78

4.4.2 Adatátvitel egy bithibás csatornán: rdt2.0 . . . 79

4.4.3 Adatátvitel egy bithibás és adatveszt˝o csatornán: rdt3.0 . . . 81

4.4.4 Cs˝o szervezés˝u megbízható adatátviteli protokollok . . . 83

4.5 Kapcsolatorientált átvitel: TCP 4.5.1 TCP kapcsolat kiépítés . . . 89

4.5.2 TCP szegmens struktúra . . . 89

4.5.3 Megfordulási id˝o és id˝otúllépés . . . 90

4.5.4 Megbízható adatátvitel . . . 91

4.6 A torlódásvezérlés alapjai 4.7 TCP torlódásvezérlés 4.7.1 Torlódásvezérlés algoritmus . . . 98

4.7.2 TCP igazságosság . . . 99

4.7.3 Explicit torlódás értesítés (ECN) . . . 100 4.8 Ellen˝orz˝o kérdések

4.9 Irodalomjegyzék, további olvasnivalók 4.10 Kompetenciák és tanulási eredmények

(7)

5.2 Hálózati réteg felbontása 5.3 Hálózati réteg: adatsík

5.3.1 A forgalomirányítók felépítése . . . 105

5.3.2 Az IP protokoll . . . 108

5.3.3 IP címzés . . . 109

5.3.4 Hálózati címfordítás, NAT . . . 111

5.3.5 Dinamikus cím kiosztás (DHCP) . . . 112

5.3.6 IPv6 . . . 113

5.3.7 Általánosított továbbítás - Szoftverrel Definiált Hálózat - SDN . . . 114

5.4 Hálózati réteg: vezérl˝osík 5.4.1 Bevezet˝o . . . 115

5.4.2 Forgalomirányító protokollok . . . 115

5.4.3 Autonóm rendszeren belüli protokollok . . . 119

5.4.4 Autonóm rendszerek közötti protokollok . . . 120

5.4.5 Az SDN vezérl˝o síkja . . . 122

5.4.6 Az ICMP protokoll . . . 124

5.4.7 Hálózatmenedzsment - SNMP . . . 125

5.5 Ellen˝orz˝o kérdések 5.6 Irodalomjegyzék, további olvasnivalók 5.7 Kompetenciák és tanulási eredmények 6 Adatkapcsolati réteg 129 6.1 Bevezetés 6.2 Szolgáltatások 6.3 Megvalósítása 6.4 Hibadetektálás 6.5 Többszörös hozzáférési protokollok 6.5.1 Csatorna Partícionáló Protokollok . . . 136

6.5.2 Véletlen hozzáférés˝u protokollok . . . 137

6.5.3 Felváltott protokollok . . . 141

6.5.4 DOCSIS . . . 141

6.6 Helyi hálózatok 6.7 Ethernet 6.8 VLAN 6.9 Vonal virtualizáció, MPLS 6.10 Adatközpont hálózatok 6.11 Egy webkérés életútja 6.11.1 IP cím szerzése . . . 155

6.11.2 Alapértelmezett átjáró MAC címének kiderítése . . . 157

6.11.3 Forgalomirányítás a szerver felé . . . 157

6.11.4 Kliens-szerver kapcsolat . . . 158

6.12 Vezetékmentes hálózatok 6.12.1 Vezetékmentes vonalak . . . 159

6.12.2 PAN . . . 162

6.13 WiFi 6.13.1 WiFi hálózatok biztonsága . . . 166

6.14 Mobilhálózatok 6.14.1 3G . . . 168

6.14.2 4G . . . 169

6.14.3 5G . . . 170

(8)

6.15.1 Mobilitás cella alapú hálózatokban . . . 174 6.16 Ellen˝orz˝o kérdések

6.17 Irodalomjegyzék, további olvasnivalók

7 Hálózati biztonság 179

7.1 Biztonságos TCP kapcsolat: SSL

7.2 Biztonságos hálózati réteg: IPSec és VPN

7.2.1 AH és ESP protokollok . . . 181 7.2.2 Biztonsági Asszociációk (SA - Security Associations) . . . 182 7.2.3 IPSec csomag . . . 183 7.3 Rendszerszint˝u biztonság:T˝uzfal, IDS

7.3.1 Proaktív rendszerek . . . 183 7.3.2 Reaktív rendszerek . . . 185 7.4 Ellen˝orz˝o kérdések

7.5 Irodalomjegyzék, további olvasnivalók 7.6 Kompetenciák és tanulási eredmények

3 Függelékek

189

Bibliográfia 191

Szójegyzék 193

Kompetenciák és tanulási eredmények 215

Ábrajegyzék 218

(9)

1

1 Bevezet˝o 11

1.1 Az információs technológia (IT) jelene 1.2 Az Internet fogalma

1.3 Számítógép hálózatok felépítése 1.4 A jöv˝o

1.5 Kommunikáció

1.6 Számítógép hálózati szolgáltatások

teljesítménymutatói

1.7 Számítógép hálózatok gyakorlati felépítése 1.8 Számítógép hálózatok biztonsága

1.9 A számítógép hálózatok elméleti alapjai 1.10 Ellen˝orz˝o kérdések

1.11 Irodalomjegyzék, további olvasnivalók 1.12 Kompetenciák és tanulási eredmények

2 Hálózati biztonság 25

2.1 A kriptográfia alapjai

2.2 Üzenet integritás, digitális aláírás 2.3 Ellen˝orz˝o kérdések

2.4 Irodalomjegyzék, további olvasnivalók 2.5 Kompetenciák és tanulási eredmények

3 Alkalmazás réteg 37

3.1 A hálózati alkalmazások háttere

3.2 WWW

3.3 DNS

3.4 Email

3.5 SMTP protokoll

3.6 P2P

3.7 Videó

3.8 Ellen˝orz˝o kérdések

3.9 Irodalomjegyzék, további olvasnivalók 3.10 Kompetenciák és tanulási eredmények

Programozó centrikus rész

(10)
(11)

Miért érdekes ez a fejezet egy programozónak?

Nehéz ma olyan alkalmazást fejleszteni amelynek nincs kapcsolata az Internettel.

Más igényeink lehetnek egy videó folyamnál és egy sima HTTP (nem elegend˝o a klasszikus WWW szoftver veremre koncentrálnunk) kapcsolatnál. Tudunk err˝ol?

Hol helyezkedik el a felh˝o, köd a mai hálózatokban? Ha nem tudjuk, hogy mi az a felh˝o, köd akkor szintén szükségünk van erre a bevezet˝ore.

Kedves olvasó, jelen jegyzet célja a számítógép hálózatok bemutatása szoftverfejleszt˝oknek. A tárgyalás módban és a felépítésben a praktikumot el˝otétbe helyez˝o felülr˝ol lefelé megközelítés módot alkalmazzuk követve a [1] tankönyv felépítését. E felépítést, tartalmat úgy pozicionáljuk, hogy a szoftverfejleszt˝oi tudásépítést helyezzük el˝otérbe. Minden egyes fejezet elején bemutatjuk, konkrét gyakorlati példákra mutató kérdések segítségével, hogy adott fejezet tartalma miért is lehet érdekes, fontos egy szoftverfejleszt˝onk. A jegyzet terjedelmi korlátok miatt nem tud mindent kell˝o mélységben tárgyalni, így javasoljuk a [1] tankönyv olvasását is részletek megismerése, mélyebb megértés érdekében.

1.1 Az információs technológia (IT) jelene

Az IT ma a világ és a gazdaság minden területén megjelenik. Az ipari forradalom 4. lépcs˝ojét éljük meg a mesterséges intelligencia alkalmazásával. Hol helyezkedik el ebben a forradalomban a számítógép hálózat? E fejezetben egy hálózat centrikus áttekintést adunk az aktuális és a közeljöv˝o IT trendjeir˝ol. Történelmi skálában 5 nagy szakaszt különböztetünk meg az alapvet˝o IT képességek, technológiák viszonylatában. Ez látható az 1.1. ábrán. Az IT képességeken túl érdekes hullámzást figyelhetünk meg a megoldásmódok között. Az els˝o a gyakorlatban is alkalmazott IT rendszerek a központosított nagy számítógépek voltak hozzájuk kapcsolódó „buta”

terminálokkal (csupán képerny˝o és billenty˝uzet). Ezt követte a PC (Personal Computer - személyi számítógép) forradalma ahol az adatok feldolgozása, tárolása az irodákban lév˝o PC-ken történt.

Itt a cégek ügyvitele, könyvelés az adott munkatárs gépén történt, igen gyakran táblázatkezel˝o

(12)

eszköztárral (Excel, Access...). A következ˝o nagy lépést az Internet és annak legnépszer˝ubb szolgáltatása, a WWW (Word Wide Web - világháló) készítette el˝o. Ekkor kezdtek az asztalokon futó szoftverek újra a központba költözni, de ezúttal nem egyedi, csak kevesek által elérhet˝o nagy számítógépekbe, hanem olyan adatközpontokba ahol több tízezer gép van egy-egy nagy rendszerbe kötve és ezekb˝ol virtualizált er˝oforrásokat lehet bérelni (pl.: virtuális gépet). Ezt nevezzükfelh˝o (cloud)számítástechnikának. Hasonlóan az elektromos áramhoz, itt is a használat utáni fizetés (meg van mérve, hogy mennyi áramot fogyasztottunk, azt kell kifizetnünk, itt pl.: mennyi ideig futott a virtuális gép) tette lehet˝ové az er˝oforrások ilyen méret˝u központosítását és megosztását. A mobil technológia megjelenése egyrészt er˝osítette a felh˝o alapú megoldásokat (ma minden mobil alkalmazás használ valamilyen felh˝o alapú szolgáltatást, ha mást nem akkor az alkalmazás boltot az alkalmazás terjesztésére és életciklusának kezelésére). A mobil hálózatok, az olcsó és nagy számítás kapacitású hardver magoldások lehet˝ové tették azIoT (Internet of Things - Dolgok Internete)kialakulását. Itt egy új képesség jelent meg: mérni tudjuk a környezetünket és be is tudunk avatkozni (pl.: az üdít˝oitalos automata 3G/4G hálózat segítségével jelzi a központba, hogy egy adott üdít˝o mennyisége egy adott szint alá került). Az IoT esetén fontos lehet a helyi feldolgozás, egy videókamera esetén például amennyiben az úton áthaladó autókat szeretném megszámolni, akkor nem célszer˝u a videó-folyamot beküldeni a központba, hanem ott a helyszínen kell a videót feldolgozni és a központba csak az autók számát kellene elküldeni. Megjelent tehát az igény arra, hogy a felh˝ot mint futtatási, m˝uködtetési környezetet megtartva adott funkciókat visszavigyük a helyszínre, ez aköd (fog)vagyvég rendszer (edge)számítástechnika. A témában történ˝o mélyebb elmerülésre érdemes ezt a könyvet forgatni: [2].

1.1: IT trendek

1.2 Az Internet fogalma

Az Internet, mint szolgáltatás alapjaiban változtatta, változtatja meg napjaink társadalmát, ma már közm˝uként tekintünk rá, elvárjuk hogy bármikor, bárhol és bárhogy el tudjuk érni. A jelent˝oségét nem csak a társadalom megváltoztatásában találhatjuk meg, hanem abban is, hogy az Internet az emberiség által megvalósított legnagyobb rendszer. Több milliárd felhasználó sok százmillió szerver és több milliárd okos eszköz közös játszótere. Az Internet magasból nézve nem más mint számítógépek hálózata, ahol számítógép alatt érthetünk az okos h˝ut˝ot˝ol kezdve minden, a hálózaton

(13)

kommunikálni képes eszközt. Ezen eszközöket egy közös névenvégrendszernek (end system) nevezzük. Amennyiben figyelembe vesszük az er˝oforrással kapcsolatos szerepköröket, akkor szerver (szerver)- er˝oforrás megosztó éskliens (kliens/host)- er˝oforrás felhasználó kategóriákra bonthatjuk tovább az eszközöket. A végrendszerek csomagokat küldenek egymásnak, ezen csomagok jelentik a kommunikáció alapját. Maga a kommunikációkommunikációs vonalakon (communication link)valósul meg, ehhez pedig közegfügg˝o konkrét kommunikációs módszert (pl.:

máshogyan kell vezetéken és rádióhullámokon kommunikálni) alkalmaznak. A kommunikációs módszernek nem csak a közeghez kell illeszkednie, hanem a kommunikáló felek igényeihez is (pl.: szeretném-e titkosítani a tartalmat, szeretnék-e garantált kézbesítést ...). Az Internet szintén madártávlatból nézve ezen igények kielégítésére számos szolgáltatást nyújt a kommunikáló feleknek.

Az eszközök közötti együttm˝uködéstkommunikációs protokollokírják le. A protokollok lehetnek nyílt protokollok(mindenkinek hozzáférhet˝o) észárt protokollok(adott cég saját megoldása és ezt nem publikálja). A nyílt protokollokat különböz˝o szervezetek szabványosítják, a számítógép hálózatok területén a legismertebbek az IETF és az IEEE. A különböz˝o szoftverek ezen protokollok által specifikáltinterfészekenkeresztül férnek hozzá az Internet/számítógép hálózat szolgáltatásaihoz.

Fontos Az Internet tehát fekete dobozként tekintve a végrendszereket összeköt˝o különböz˝o szint˝u szolgáltatásokat nyújtó hálózat.

1.3 Számítógép hálózatok felépítése

A csak “buta” kommunikációs (csak egy csatorna, nincs feldolgozás, döntés, ...., pl.: leveg˝o) vonalakra épít˝o világméret˝u hálózat kiépítése igen nagy kihívás lenne. Gondoljunk bele, hogy a leveg˝on, mint kommunikációs közegen hogyan próbálnánk egy tömeg kell˝os közepén egy adott ismer˝ost üdvözölni, amikor mindenki beszélget. Ezen példától jóval bonyolultabb a problémánk, mivel a rendszer világméret˝u és nincs egy közös kommunikációs közegünk. A tömeges elektronika mentes kommunikáció problémáját már megoldotta az emberiség. Egy jó példa erre a klasszikus levél és a posta rendszerek, mint szolgáltatók. A posta, mint világméret˝u hálózat képes adott feladótól a világ bármely részén lév˝o címzetthez továbbítani a leveleket, csomagokat. Ezen analógia mentén lett kialakítva a számítógép hálózat is. A végrendszereken kívül vannak kiszolgáló, a rendszert üzemeltet˝o „postai munkatársak”, „postások” is akik elvégzik a csomagoktovábbítását amegfelel˝o irány kiderítésével együtt. A feladattól függ˝oen ezen elemeketforgalomirányító (router)vagy kapcsoló (switch)nevezzük. Ahogyan a világméret˝u postai hálózat - a nemzeti posta hálózatok egységes, egymással együttm˝uköd˝o rendszere - képes a világméret˝u lefedettséget megvalósítani, úgy az Internet ishálózatok hálózatakéntalakul ki. A különbség az, hogy az Internet nem feltétlenül nemzeti hálózatok hálózata, hanem egy jóval vegyesebb, sokrét˝ubb együttm˝uködés eredménye. Ide tartoznak az Internet egyfajta gerincét alkotó transzatlanti (óceánok alatti) összeköttetéseket biztosító szolgáltatók, de ide tartoznak a falu templomtornyából WiFi segítségével helyi Internet elérést biztosító szolgáltatók is.

A hálózatokat szokták méretek és funkcionalitás szempontjából is osztályozni. A hálózat szintek 1.2 ábra fels˝o részén láthatóak a tipikus mérethez, kiterjedéshez kötött kategóriák. WAN- Wide Area Network- nagy kiterjedés˝u hálózatnak szokták nevezni a nagyobb földrajzi területeket lefed˝o hálózatokat. A városi méret˝u és az azzal összevethet˝o méret˝u hálózatokatMAN - Metropolian Area Network - városi hálózatnak nevezik. A helyi néhány épületet vagy helyiséget lefed˝o hálózatot LAN-nakLocal Area Network - helyi hálózatnaknevezik, míg a néhány métert átível˝o hálózatot PAN-nak,Personal Area Network személyi hálózatnaknevezzük. E kategóriáknak azért van jelent˝oségük, mert más-más méret˝u hálózatoknál más-más célok mentén kell technológiát választani. A PAN-ra egy jó példa amikor az okos órát szeretnénk a telefonnal összekapcsolni vezetékmentes közegen keresztül. Itt az energiafelhasználás egy kritikus szempont azaz az óra

(14)

1.2: Hálózati szintek1

és a telefon kapcsolatához olyan megoldást kell választanunk amely energiatakarékos. Egész más kihívások vannak a WAN-ban ahol a sebesség és a megbízhatóság a kritikus szempont.

A felhasználókhoz közeli, azoknak közvetlenül Internet elérést biztosító hálózatokat határ / hozzáférési hálózatoknak nevezzük (access / edge network). Ezen hálózatok agerinc hálózat (core) segítségével kapcsolódnak egymáshoz és ezzel az Internethez. A hozzáférési hálózatok feladata adott fizikai közegek segítségével a felhasználók azonosítása, a szolgáltatás szintjük mérése, biztosítása. A szolgáltatás megvalósítására vezetékes(optikai kábel, kábel TV) vagy vezetékmentes(4G, LTE stb... , vagy WiFi) technológiákat alkalmaznak. Magát a szolgáltatói hálózat és a végfelhasználói végpontPOP (Point of Presence)közötti résztutolsó mérföldnek (last mile),hozzáférési vonalnak (access link)nevezik. Egy kábel TV vagy optikai hálózat esetén a POP egy kihelyezett modem (vagyset-top-box) lehet, amely a szolgáltató hálózatát összeköti ahelyi hálózattal. A helyi hálózat lehet otthoni hálózat, de céges, egyetemi hálózat is. A helyi hálózat célja az adott fizikai helyen lév˝o eszközök közötti kapcsolat megvalósítása és igen gyakran az Internet elérés biztosítása. Technológiát tekintve a helyi hálózatok leggyakrabbanWiFivagy Ethernetmegoldásokat alkalmaznak. Azon cégeket, akik az Internet elérést, mint szolgáltatást biztosítják,ISP-nek(Internet Service Provider)nevezzük. Ezen szolgáltatók lehetnekglobálisak, lokálisakvagyregionálisak. A szolgáltatók a hálózataikat aforgalomkicserél˝o pontokban (IXP - internet exchange point)kötik össze. Ilyen például aBIX (Budapest Internet Exchange point).

Az Internet nem más tehát, mint hálózatok hálózata, melyek egymással a világ különböz˝o részein lév˝o forgalomkicserél˝o központokban találkoznak. Az Internet maganem központilag tervezett, nincs egy olyan hatóság amely megmondaná, hogy ki kivel és hogyan kapcsolódjon össze,nincs központja, nincs egy olyan hely ahol ki lehet kapcsolni, deennek ellenére magán hordozza a mérnöki tervezettség jeleit.

A különböz˝o hálózatok mérete, anyagi lehet˝osége adottság, amely más területekhez hasonlóan kialakítja a nagy, közepes és kis játékos (szervezet/cég) kategóriákat. Az ISP-ket is méretük, képességeik szerint kategóriákba szervezzük: ezek aTier1, Tier2 és Tier3(1.4 ábra). A Tier1-es szolgáltatók globális, gyakran transzatlanti kapcsolatokkal bíró hálózatok (1.3 ábra), ˝ok egymással a kölcsönös forgalomtovábbítás elve mentén gyakran pénzdíj nélkül kötik össze a hálózataikat.

A Tier2-es méret˝u hálózatok nagyobb méret˝u lefedettséggel bírnak de nem globális játékosok,

˝ok fizetnek a Tier1-es hálózatoknak a kapcsolatért és egymással vagy kölcsönösség elvén, vagy ellentételezés mentén kötik össze a hálózataikat. A Tier3-as szolgáltatók érik el közvetlenül a végfelhasználókat. Ok jellemz˝oen a Tier2-es szolgáltatóktól vásárolják az Internet elérést,˝ egymással jellemz˝oen kölcsönösségi alapon kötik össze a hálózataikat. Ez a méretbeli szeparáció ad

(15)

1.3: Óceánok alatti optikai kábelek

egy hierarchikus felépítést az Internetnek, de ezen kategóriák nem ilyen vegytiszták, a mobilszolgáltatók például Tier2 és Tier1-es szerepkörben is jelen vannak. Még tarkábbá teszik a képet a nagy tartalomszolgáltatók (Google, Facebook, ...) akik mindhárom szinten megjelennek, de ide tehetjük a SpaceX és más csapatok (cégek, szervezetek) által tervezett globális m˝uholdas lefedettséget is.

1.4: Szolgáltató szintek1

1.4 A jöv˝o

Az el˝oz˝oekben ismertetett klasszikus hierarchikus elv már a tartalomszolgáltatókkal, azok saját hálózataikkal jelent˝osen átalakult, de ezen átalakulások eltörpülnek a közvetlen m˝uholdas utolsó mérföld és gerinc hálózat okozta változások mellett. A napjainkban kiépül˝o hálózatok (pl.: (1.5 ábra)) több 10.000 m˝uholdat terveznek alacsony (LEO - Low Earth Orbitkb. 300 km) pályára helyezni. Ezek a m˝uholdak nem csak a közvetlen hozzáférést adják a felhasználóknak, hanem a forgalmat egymáson átjátszva, a közvetlen összeköttetést is, azaz gerinc hálózat funkciókat is ellátnak. A hálózat használatához egyenl˝ore egy dedikált vev˝oegységre van szükség. Nem használható közvetlenül a mostani mobil telefonokkal vagy laptopokkal, de jó eséllyel a dedikált

(16)

vev˝ot igényl˝o technikai akadályok elhárulnak és nemsokára új globális szolgáltatók jelennek meg a mobiltelefonok piacán is.

1.5: Starlink m˝uholdas hálózat

1.5 Kommunikáció

Az el˝oz˝o fejezetben láthattuk az Internet felépítését és az alapvet˝o felbontását gerinc hálózatra és hozzáférési hálózatra. Jelen fejezet célja e két rendszer m˝uködésének magasszint˝u áttekintése. A kommunikáció megvalósításához er˝oforrásokra van szükség. Amikor például egy el˝oadó el˝oadást tart a diákoknak, akkor kommunikációs közeg a leveg˝o és 90 percig ˝o birtokolja ezt (azaz ˝O beszél a hallgatók hallgatnak), hogy elmondhassa a mondanivalóját. Itt a kommunikációhoz dedikált er˝oforrást (a leveg˝o az er˝oforrás és csak ˝o befolyásolhatja az állapotát) rendelünk. Számítógép hálózatoknál az ilyen megoldástáramkör-kapcsolt (circuit switched)megoldásnak nevezzük mert a kommunikáló feleknek a kommunikáció idejére garantáljuk a kommunikációhoz szükséges er˝oforrást. Bár ezen megoldás jónak t˝unik, de az adathálózatoknál, ahol az adatcsomós (burst), a lefoglalt er˝oforrások az id˝o nagy részében nem lennének kihasználva. Így a klasszikus telefonhálózatoktól eltér˝oen az adathálózatok (és ezen keresztül ma már gyakorlatilag minden szolgáltatás)csomagkapcsolt (packet switched)éslegjobb szándék szerinti (best effort)továbbításon alapul. A küld˝o tehát elküldi a csomagot az els˝o forgalomirányítónak, amely amennyiben tudja akkor továbbküldi, ha nem, akkorkidobja. Ez els˝o körben meredeknek t˝unik, de erre a megbízhatatlan szolgáltatásra is lehet megbízható szolgáltatásokat építeni (például a TCP segítségével). Itt még érdemes tisztázni azt ,hogy miért nem tudja a csomagot továbbítani. Adott fizikai közegre épített adattovábbítási csatornának megvan a magaátviteli kapacitása(ezt leggyakrabban bit / s-ban mérik), amennyiben azonos id˝oben több csomagot is ugyanarra a csatornára kellene továbbítani, úgy ütközés lép fel, ezt az ütközést a forgalomirányító a beépített memóriája segítségével kezeli, ott egyvárakozási sorban rendezi a csomagokat. Amikor ez betellik, akkor adott algoritmus szerinteldob csomagokat. A várakozási sorral a kapcsolathozkésleltetésis hozzáadódik (1.6 ábra)).

1.6: Csomagkapcsolás várakozási sor1

A helyi döntés meghozatalához globális információra is szüksége van a forgalomirányítónak. Mi

(17)

alegjobb útvonal, kinek küldje tovább a csomagot? Ennek megállapítása szintén leginkább itt történik és a forgalomirányítóforgalomirányító táblájában (routing table)tárolják. Ezen táblák karbantartását végzik aforgalomirányító protokollok.

1.7: Forgalomirányító döntés1

A helyi és a hozzáférési hálózat esetén a konkrétfizikai közegmegfelel˝o használata a legfontosabb kérdés. A közeg megosztása a párhuzamos igények között számos módon megvalósítható. Az ismertebb módszerek, id˝oalapú, frekvencia alapú, kód alapú és tér alapú közeg megosztás. (TDMA, FDMA, CDMA, SDM). A fizikai közeg ma gyakorlatilag az elektromágneses hullámokra korlátozódik.

1.8: TDMA és FDMA közegmegosztás

Amennyiben a hullámok terjedése adott közeg segítségével irányított, akkorvezetett hullámokról beszélünk, egyéb esetbenirányítatlan hullámokról. Az vezetett hullámok esetén fontos szerepe van azoptikai kábelek (optical cable)akoaxiális kábelnek(coaxial cable)és acsavart érpáras kábelnek (twisted pair TP). Míg a koaxiális és a csavart érpár jellemz˝oen a helyi illetve a hozzáférési hálózatban fontos, úgy az optikai kábel a gerincek által használt fizikai médium.

Kedvez˝o tulajdonságai miatt azonban az optikai kábel egyre nagyobb teret hódít a hozzáférési hálózatokban is (FTTH - Fiber To Home). Optikai kábelek segítségével akár 100 km-es távolság is áthidalható ismétl˝o, er˝osít˝o beiktatása nélkül. Az átviteli kapacitása is a terabit / s tartomány felé halad a technológia fejl˝odésével. Optikai kábel nélkül nem létezne Internet. A csavart érpár variációi (UTP Unshielded Twisted Pair) pedig szinte egyeduralkodók a helyi hálózatok kialakításában.

A vezetett hullámú összeköttetésnél nem gond a rádiófrekvenciás médium lefoglalása, mivel ez nem lép ki a közegb˝ol. Ett˝ol eltér˝o problémák lépnek fel irányítatlan közeg esetén, ahol ugyanazt a közeget szeretné mindenki használni és az adás nem áll meg például az épület falánál. Annak érdekében, hogy adott szolgáltatás min˝oséget biztosítani lehessen, az államok

(18)

1.9: Népszer˝u vezetett hullámú megoldások

szabályozzák a különböz˝o elektromágneses frekvencia sávok hozzáférését. Vannak a licenc köteles frekvencia sávokés vannak a szabadon hozzáférhet˝o frekvenciasávok. A szabadon hozzáférhet˝o frekvenciasávok esetében a sávok megfelel˝o használatát adott protokollok valósítják meg, ilyen például a WiFi vagy a BlueTooth. A licenszköteles frekvenciasávok esetén a legfontosabb szolgáltatást nyújtó a 3G, 4G, LTE 5G mobil adathálózat elérést nyújtó rendszerek. Az eddig tárgyalt szabad hullámú kommunikációs rendszereketföldfelszíni rendszerekneknevezzük, mivel a megvalósításukhoz nem szükséges földfelszínt˝ol független elem. A másik nagy kategória a m ˝uholdas kommunikációs rendszerek halmaza ahol a m˝uhold pályájától függ˝oen további kategóriákba lehet még osztályozni (LEO, MEO, . . . .). A m˝uholdas rendszerek jelenleg leginkább m˝uholdas tv adás továbbításban játszanak szerepet, de rövidtávon meg fognak jelenni az olcsó m˝uholdas Internet Szolgáltató rendszerek is (lásd: 1.4 fejezet).

1.6 Számítógép hálózati szolgáltatások teljesítménymutatói

Mint ahogyan az el˝oz˝o fejezetekben láttuk, a számítógép hálózat számos különböz˝o kommunikációs közegre építhet és ezen közegeken számos különböz˝o protokoll segítségével valósíthatja meg az adattovábbítást. A felhasználói alkalmazás oldalon sem homogén a szolgáltatás igények halmaza (szeretnénk videót nézni ahol fontos az, hogy kicsi egyen a késleltetés, de szeretnénk email-t is küldeni, ahol csak annyi az igényünk, hogy érkezzen meg). Fontos tehát, hogy mérni tudjuk a szolgáltatás min˝oségét - QoS (Quality of Service) ezekhez metrikákat rendeljünk. Egy ilyen, a végfelhasználók számára könnyen értékelhet˝o metrika az adattovábbítási képesség, azaz két végpont között adott id˝oegység alatt mennyi bitet, bájtot tud továbbítani a rendszer.

Ezt még szoktáksávszélességnek (bandwidth) is nevezni (a távközlési háttérb˝ol) deátereszt˝o képességnek (network throughput)is nevezik mértékegységebit/s. Mivel a teljes adatút több különböz˝o képesség˝u kommunikációs vonal sorba kapcsolt rendszere, ezért aleggyengébb láncszem határozza meg adott kommunikációs útvonal átereszt˝o képességét. Asávszélesség folyamatosan változó, mivel a fizikai közegek és a felhasználók száma, forgalma is dinamikusan változik. A sávszélességt˝ol jóval mélyebb tartalmú metrika akésleltetés (delay)amelynek a végpontok között mért értéke avég-vég késleltetés (end-to-end delay). Egy adott útvonal mentén a késleltetést az alábbi részekb˝ol tev˝odik össze (jellemz˝oen 300 ms alatt van egy irányban):

terjedési késleltetés (propagation delay): adott közegen az elektromágneses hullám terjedési sebessége, ez vég-vég késleltetésnél csak a transzatlanti kábeleknél és a nagy magasságú m˝uholdas átjátszásnál (GEO, MEO) ad hozzá jelent˝osen (×100ms)

(19)

átküldési késleltetés (transmission delay): ez az adott médium aktuális sávszélességét˝ol és az adatunk méretét˝ol függ. Megállapítási módja (L/R - aktuális kapacitás / átviend˝o adatmennyiség)

várakozási sor késleltetés (queuing delay): a várakozási sorban jelentkezik amikor több csomag is ugyanarra az interfészre megy és meg kell várni míg az el˝otte lév˝oket elküldi. Ez a legváltozékonyabb mivel függ a forgalomtól.

feldolgozási késleltetés (processing delay): az egyes továbbító pontokon jelentkezik ez jellemz˝oen konstans és nem jelent˝os a teljes késleltetéséhez képest (µsecnagyságrend˝u).

1.10: Csomagtovábbítás késleltetések1

Általában a csomagok megérkeznek de több oka is lehet annak, hogy ez mégsem következik be. A csomagvesztés leggyakoribb oka atorlódás. Ilyenkor a forgalomirányító várakozási sora betelik és a beállításától függ˝oen elkezdi a beérkez˝o/várakozási sorban lév˝o csomagokat eldobni. Ez a forgalom intenzitásától (traffic intensity)függ. A beérkez˝o csomagok és a kibocsátó képesség hányadosával szokták megadni (La/R). Amikor ez tartósan nagyobb mint 1, akkor elkezd˝odik a várakozási sor betellése és a csomageldobása. Adott fizikai közegen is lehet akkora zaj, hogy a jel nem érkezik meg, ezért fontos metrika még acsomagvesztési arány (packet loss ratio).

1.7 Számítógép hálózatok gyakorlati felépítése

Az el˝oz˝oekben láthattuk, hogy a számítógép hálózat egy igen komplex rendszer, gondoljunk bele, hogy az okos órától kezdve a szerver farmokig mennyi különböz˝o igény és kényszer jelenik meg. Az ilyen komplex problémákat úgy lehet jól kezelni, ha részekre bontjuk ˝oket. A részekre bontás egyik módja arétegekre bontás. Ekkor a rendszer szolgáltatásai a különböz˝o rétegek együttm˝uködésével valósulnak meg, minden rétegnek jól meghatározott feladata van. Az együttm˝uködés megadott szolgáltatásoksegítségével valósul meg. Az alsóbb rétegek szolgáltatásokat nyújtanak a fels˝obb rétegek részére. Adott rétegben a konkrét szolgáltatásokatprotokolloksegítségével tudjuk leírni.

Egy-egy protokoll (pl.: HTTP, IMAP stb) precízen leírja az együttm˝uköd˝o felek feladatát, nem csak a kicserélhet˝o üzenetek szemantikája, szintaktikája, hanem ezen üzenetváltások hatására létrejött állapottér formális leírásával is, ennek egy jó ábrázolási módja avéges állapot automata FSM alkalmazása. Az egymásra épül˝o protokollok halmazátprotokoll veremnek (protocol stack) nevezzük.

A h˝oskorban a számítógép hálózatot alkotó rétegeket két csapat kezdte kialakítani, megtervezni.

Az egyik az ISO szervezet mely specifikálta azISO-OSI modell-t(7 réteg) míg a másikTCP/IP Internet modellt (5 vagy 4 réteg) kutatócsoportok alakították ki. Ezek nem csak modellek voltak, hanem adott rétegek komplett megvalósításai (konkrét C, C++ kód szinten) is. A végén a praktikusabb TCP/IP modell lett az elterjedtebb (mert ez az implementáció terjedt el). Az egyes rétegek és feladataik (1.11 ábra) :

Alkalmazási réteg (Application Layer): itt találhatóak az alkalmazásokat megvalósító,

(20)

1.11: ISO OSI és TCP/IP referencia modell

vagy azokhoz legközelebb lév˝o protokollok. Ilyen például a HTTP vagy az FTP. Ezen protokollok a legtöbb esetben a végrendszereken futnak. A forgalomirányítók, kapcsolók nem foglalkoznak velük. Az alkalmazás réteg az alatta lév˝o rétegnek (praktikusan a szállítási rétegnek)üzeneteketküld. Az üzenetek tartalma nem az alatta lév˝o rétegnek szól, hanem a kommunikációs vonal másik végén lév˝o alkalmazás rétegnek -társentitásnak.

Megjelenítési réteg (Presentation Layer)(csak ISO-OSI modell): az üzenet tartalmának az értelmezésében játszhat szerepet, ha ezt nem az alkalmazás réteg részeként kezeljük. Ilyen lehet a például a HTTP felett átvitt tartalom MIME kódolása (jpeg, txt, ...).

Viszony réteg (Session Layer)(csak ISO-OSI modell): kapcsolatok kiépítése, nyomonkövetése, határ pontokkal ellátása, azonosítás, jogosultságkezelés lehetne itt megvalósítva. Ilyen lehetne például a HTTP protokoll azonosítással foglalkozó része (HTTP Basic/Digest Authentication).

Szállítási réteg(Transport Layer): Az el˝oz˝o protokollokhoz hasonlóan ez is a végrendszereken érdekes. Az azonos végrendszeren futó processzusokat segít megkülönböztetni egymástól, megcímezni ˝oket (TCP/UDP port). Itt kaphat a kommunikáció kapcsolat orientált jelleg˝u szolgáltatás szintet (TCP). A szállítási rétegszegmensekformájában adja át az információt a másik oldalon lév˝o társentitásnak.

Hálózati réteg (Network Layer): A rétegdatagramoksegítségével kommunikál a társentitással.

E réteg már kevesebb funkcióval bír a végrendszeren és ez az a réteg ahol a hálózati eszközök leginkább érdekeltek. A réteg feladata egy világméret˝u hálózatban eljuttatni a datagramot a kezd˝oponttól a végpontig. Az ehhez szükséges útvonal felderítése is ezen réteg feladata. Itt a legelterjedtebb protokollok: IPv4 és IPv6, valamint az ezeket támogató forgalomirányító protokollok.

Adatkapcsolati réteg (Link Layer): A réteg célja a konkrét fizikai réteg elfedése és azon magasabb szint˝u szolgáltatások megvalósítása. A társentitássalkereteksegítségével kommunikál. Ilyen például az azonosítás, titkosítás, hibajavítás . . . Ismertebb protokollok:

Ethernet, WiFi, BlueTooth stb.

Fizikai réteg (Physical Layer): Feladat a fizikai közeg és a bitfolyam közötti átjárás biztosítása. Olyannal foglalkozik, mint feszültségszintek, frekvencia . . . A WiFi és egyéb (adatkapcsolati és fizikai réteget átölel˝o) protokollok fizikai réteg függ˝o specifikáció tartoznak ide.

(21)

A különböz˝o rétegbeli protokollok a szükséges információt a társentitásnak a fels˝o protokolltól kapott adatstruktúra kiegészítésével küldik el. A fels˝obb rétegbeli adatotbeágyazva, azt kiegészítve hozzák létre a saját adat struktúrájukat (lásd a 1.12 ábrát).

1.12: Egymásra épül˝o rétegek és azonos szinten lév˝o rétegek együttm˝uködése beágyazással1

1.8 Számítógép hálózatok biztonsága

A számítógép hálózat kezdetekben sziget-rendszerek voltak és kés˝obb is a robosztusság volt a f˝o tervezési szempont. Az adat titkossága, a másik oldal azonosítása nem volt els˝orend˝u probléma, tervezési szempont. Ma azonban azzal, hogy az Interneten megjelenik a társadalom egésze, ugyanolyan fontossá válik a számítógépes biztonság, mint a valós életben az ajtók zárása. Amíg a fizikai biztonság a fizikai valóság miatt jól látható, érthet˝o, felmérhet˝o, addig az IT biztonság egy jóval komplexebb kérdés. Az alapvet˝o biztonsági problémák:

Azonosítás:más tud a nevemben eljárni (pl.: banki utalás)

Titkosság: adott információ más is megtudni (pl.: jelszavak)

Szolgáltatás ellehetetlenítés: adott szolgáltatáshoz nem férek hozzá

Ezen alapvet˝o támadás típusok általában komplex m˝uveletsorok eredményei, melyekhez különféle eszközöket lehet használni. A végrendszerek adott szint˝u hozzáférésétkártékony programok (malware)tehetik lehet˝ové. Ezen kártékony programokat a felhasználói közrem˝uködés igénye alapján vírusokra és férgekre tudjuk bontani. Férgek úgy tudnak végrendszereket fert˝ozni, hogy nincs szükségük a felhasználói közrem˝uködésére. A fert˝ozött gép tipikusan újabb fert˝ozés forrása. A kártékony programokat nem csak terjedésük módja, hanem atevékenységükalapján is kategorizálni szokták. A 1.13 ábra egy rövid áttekintést ad a teljesség igénye nélkül. Egy-egy konkrét program persze több tevékenységgel is foglalkozhat, így ezek inkább címkék mind kategóriák. Atrójai programokolyan egyébként ártalmatlannak t˝un˝o programok melyek lefuttatása után a gépen a tudtunk nélkül más programok is lefutnak. Ahátsó ajtóa trójaiak egyik els˝o lépése, mely segítségével a géphez küls˝o fél számára távoli elérést biztosít. Azsaroló programoka gépen található adatokat titkosítják és csak adott összeg kifizetése után állítják vissza. A fert˝ozött gépeket nem csak fert˝ozés forrásként, hanem egy nagy, a kártékony programok m˝uködtet˝oi számára elérhet˝o infrastruktúrábaszokták szervezni. Ezek abotnetek. A botnetbe kapcsolt gépek a felhasználó tudta nélkül olyan tevékenységet folytatnak ami a felhasználóra nézve így vagy úgy kártékony

(22)

(jelszó gy˝ujtés, spam küldés...). Egy-egy nagyobb botnetben a fert˝ozött gépek száma összevethet˝o a Google szerverparkjával (több százezer gép).

1.13: Kártékony programok kategóriái

1.9 A számítógép hálózatok elméleti alapjai

A mai számítógép hálózatok elméleti alapjait az 1960-as években rakták le. Az els˝o elv a csomagkapcsoláskidolgozása (Leonard Kleinrock) volt, mely akkor az id˝oosztással használható számítógépek elérését segítette. Az 1970-es években már létrejöttek az els˝o számítógép hálózatok, Vincent Cerf és Robert Kahn az ARPANET számára kidolgozta a hálózatok hálózata elvet, az internettinget. Ennek alapvet˝o elemei:

minimalizmus, autonómia– a hálózatok összekötéséhez nem kell azok bels˝o struktúráját megváltoztatni

legjobb szándék szerinti szolgáltatásmodell- nincs szolgáltatás lefoglalás, az er˝oforrások sztochasztikus multiplexálással vannak megosztva

állapotmentes forgalomirányítók - a protokollok nem számíthatnak a forgalomirányítók állapotartására, így a forgalomirányítók bármikor újraindulhatnak, ez nem zavarja az utat használó prokotokollokat

decentralizált vezérlés- nincs központosított állapot, minden döntés, információ elosztott algoritmusok eredménye

Jelen fejezet b˝ovebb áttekintése [1] referencia könyv 1. fejezetében (29-107) található meg.

1.10 Ellen˝orz˝o kérdések

1. Írd le az Internet fontosabb épít˝oelemeit, ezek rövid leírását

2. Írd le hálózat határt és az itt lév˝o fogalmakat példákkal: eszközök, hozzáférési hálózat fizikai közeg

3. Írd le hálózat hálózat mag fogalmát és az itt lév˝o fogalmakat: Internet struktúra, csomag vs áramkör kapcsolt

4. Hogyan mérhetjük a hálózati teljesítményt? Melyek a gyakorlati mér˝oszámok?

5. Írd le az Internet struktúráján motivációit, elvi felépítését.

6. Sorold fel az Internet protokoll verem 5 rétegét. Melyek az alapvet˝o szolgáltatásaik?

7. Írd le azt a három alapelvet amelyen a mai Internet alapul (Kleinrock, Cerf és Kahn) 8. Sorolj fel 6 hozzáférési hálózati technológiát és csoportosítsd ezeket otthoni, vállalati, gerinc

osztályokba.

9. Sorold el a legnépszer˝ubb vezetékmentes hozzáférési technológiákat és vesd össze ˝oket.

(23)

10. Milyen el˝onyei vannak a vonalkapcsolt megoldásnak a csomagkapcsolttal szemben?

11. Miért fog két egyforma szinten lév˝o ISP kapcsolódni egymáshoz?

12. Sorold fel azokat a képességeket amiket egy-egy réteg rendelkezhet? Lehet egy képesség több rétegben is?

13. Melyik fert˝ozés önsokszorosító?

14. Mi a különbség a vírus és a féreg között?

15. Írd le a Botnet létrehozásának a módját és a DDos megvalósításának folyamatát 1.11 Irodalomjegyzék, további olvasnivalók

[1] Keith Ross (Author) James Kurose (Author).Computer Networking: A Top-Down Approach (7th Edition. Pearson, 2016.

[2] Zaigham Mahmood.Fog Computing: Concepts, Frameworks and Technologies. Springer, 2018.

1.12 Kompetenciák és tanulási eredmények

Tudás Képesség Attit ˝ud Autonómia-felel˝osség

Érti a számítógép hálózatok és az Internet felépítését.

Ismeri a hálózati referenciamodelleket (OSI, TCP/IP), azok felépítését és m˝uködési elvét.

Ismeri az Internet felépítését.

Különbséget tesz a referenciamodellek

(OSI, TCP/IP)

között.

Törekszik a

számítógép hálózatokkal kapcsolatos megfelel˝o

fogalomhasználat elsajátítására.

Autonóm módon

alkalmazza a

számítógép hálózatokkal kapcsolatos

fogalmak használatát megnyilatkozásaiban.

(24)
(25)

Miért érdekes ez a fejezet egy programozónak?

A PKI (Nyilvános Kulcsú Titkosítás) ismeret nélkül egy egyszer˝u HTTPs kapcsolatot sem lehet létrehozni.

A biztonság ma már az egyik legfontosabb nem funkcionális követelmény.

Az el˝oz˝o fejezetben láthattuk, hogy a számítógép hálózatok els˝odleges tervezési szempontja a robosztusság és nem a biztonság volt. Jelen fejezet célja, hogy a komplex megoldásokban alkalmazott konkrét technológiákat és azok képességeit megismerjük. A számítógépes hálózatok biztonságának leírásánál leginkább aCIA (Confidentiality, Integrity, Availability) Titoktartás, Integritás, Rendelkezésre állásdimenziók mentén szokták megadni. Ezek kifejtve:

Titoktartás: adott információhoz csak a meghatározott kör férhet hozzá.

Integritás: amennyiben az adatot valaki módosította akkor ezt tudjuk detektálni

Rendelkezésre állás: a szolgáltatás folyamatosan vagy adott keretek között elérhet˝o (pl.:

7x24 = a hét minden napján 24 órában)

A fenti követelmények teljesítése sohasem lehet tökéletes,egy rendszernek annyira kell biztonságosnak lennie, hogy a feltörésére fordított er˝ofeszítés jóval nagyobb legyen mint az elvárható haszon.

Ezt szokták az ábrán látható módon az adott esemény bekövetkeztének valószín˝usége és a hatása

alapján modellezett várható kockázattal jellemezni. Azt is figyelembe kell venni, hogy abiztonság-funkcionalitás-használhatóság háromszögben nem lehet mindhárom tengelyt egy id˝oben maximalizálni. A biztonság növelését

szabályok kidolgozásával és azok gépi vagy humán betartásával lehet növelni. Ilyen szabályok lehetnek (a teljesség igénye nélkül):

Hozzáférés vezérlési szabályok: azonosítja az er˝oforrásokat (pl.: fájl) és azok hozzáférését leíró szabályokat

Információ biztonsági szabályok: A dolgozók számára leírja a használható és tiltott er˝oforrásokat (szoftvereket, gépeket...) és a szabályok megsértésének következményeit.

Információ védelmi szabályok: Megadja az információ szenzitivitás szintjét, megadja hogy kinek van joga adott szinthez hozzáférni. Definiálja azt is, hogy az adat hogyan van tárolva, továbbítva és megsemmisítve.

(26)

2.1: Biztonság-Funkcionalitás-Hasznosság

Jelszó szabályok: leírja a jelszavak struktúráját, életútját és minden egyéb betartandó szabályt a jelszavakkal kapcsolatban.

Email szabályok: az email rendszer használatának szabályait írja le (pl.: mit szabad és mit nem szabad emailben elküldeni)

Információ audit szabályok: az adott szervezet biztonsági auditálási szabályait írja le, ki, mikor, mit, hogyan,...

A fenti szabálylista közel sem teljes, a célunk csak az volt, hogy lássuk a probléma kezelésének módját: a gépi és humán szerepl˝okkel egyaránt foglalkozni kell. Számunkra a szoftverekkel kapcsolatos problémák lesznek érdekesek a továbbiakban. Egy rövid áttekintés a szoftverek/szoftver rendszerek biztonsági problémáiról:

Hibás konfiguráció: adott alkalmazás, vagy szolgáltatás hibásan lett konfigurálva (pl.:

elírtuk a konfigurációt olyan módon, amire a szoftver nem volt felkészítve)

Alapértelmezett telepítés: itt minden konfiguráció ismert a külvilágnak, így a lehetséges gyenge pontok is azonnal elérhet˝oek

Puffer túlcsordulás: A konkrét kód hibája. Olyan memória területre történik írás ahova nem lenne szabad és ezzel befolyásolni lehet a szoftver m˝uködését.

Hiányzó javítások (patch): a feltárt biztonsági és egyéb hibákhoz kiadott javításokat nem telepítették

Tervezési hiba: vannak olyan szoftverkönyvtárak, amelyek a legtöbb operációs rendszerben megtalálhatóak, ezek tervezési hibái (pl.: Intel processzorok sérülékenysége) általános problémát jelentenek

Operációs rendszer tervezési hibák: adott operációs rendszert érint˝o tervezési problémák

Alkalmazás tervezési hibák: adott alkalmazást érint˝o tervezési hibák.

Nyitott szolgáltatások: olyan szolgáltatások (futó programok Internet felé nyitott interfészekkel), amelyekr˝ol esetleg nem is tudunk.

Alapértelmezett jelszavak: a telepített alkalmazások alapértelmezett jelszavakkal jönnek, ezek nem csak a telepít˝o számára ismertek.

A rendszerek biztonsági hiányosságait az alábbi lépések mentén szokták feltárni, rossz esetben kihasználni (etikus hackelés is lehet). A legels˝o lépés a rendszer biztonsági felderítése. Itt a hacker célja a rendszer aktív vagy passzív lenyomatának megismerése (milyen operációs rendszer). A következ˝o lépés a már adott információk alapján a konkrét rendszer hálózati elérhet˝oségeinek, futó szolgáltatásainak feltárása. Ezen szolgáltatások lehetséges azonosítása (pl.: Apache web szerver), ezekr˝ol egy lista készítése. Ezután a lista alapján meg lehet vizsgálni, hogy az azonosított szolgáltatások milyen ismert biztonsági hiányossággal bírnak és ezeket ki lehet próbálni. Amennyiben sikeres volt adott hiányosság kiaknázása akkor a behatoló célja egyrészt a hozzáférés tartós biztosítása (pl.: adott beállítások megváltoztatásával, adott programok telepítésével), majd a nyomok eltüntetése (pl.: napló fájlok törlése, meghamisítása). Mint láthattuk a betörés és a védekezés is egy komplex folyamat, a lehetséges védelmi megoldásokat egyrészt a konkrét technológiákat taglaló fejezetekben ismertetjük , másrészt a jegyzet végén egy dedikált fejezetben foglaljuk össze.

(27)

2.2: IT rendszer feltörés lépései

A következ˝oekben a kriptográfia alapjait tekintjük át egy egyszer˝u modell segítségével. A modell szerepl˝oi Árgyélus királyfi és Tündérszép Ilona akik szeretnének úgy beszélgetni egymással, hogy a harmadik fél (Vénbanya) ezt ne tudja megérteni, illetve ha módosítja a kommunikációt (pl.:

átírja az üzetenet) akkor ezt észreveszik a kommunikáló felek. A Vénbanya az alábbiakat teheti meg:

Lehallgathatja az üzeneteket

Meghamisíthatja az üzeneteket

Beszúrhat üzeneteket

Törölhet üzeneteket

Árgyélus királyfi és Tündérszép Ilona csak ezt a csatornát használhatja kommunikációra, nincs más biztonságos csatornájuk.

2.3: Biztonsági probléma rendszer modell

2.1 A kriptográfia alapjai

Árgyélus királyfi és Tündérszép Ilona problémájával tehát a kriptográfia foglalkozik. Árgyélus királyfi és Tündérszép Ilona feladata egy olyan eljárás alkalmazása amely segítségével úgy alakítják át az üzeneteiket, hogy a folyamatosan figyel˝o Vénbanya ne legyen képes ezeket megérteni. Itt két megközelítésük lehet:

csak ˝ok ismerik az eljárást amit alkalmaznak és ez akadályozza meg Vénbanyát hogy megértse

az eljárás nem titkos, Vénbanya nyugodtan megismerheti, de az eljárásban használt adatok egy része a titok (pl.: a kulcsok)

A 19. században Auguste Kerckhoff, az azóta Kerckhoff elveként ismert tételt fogalmazta meg:

Fontos A titkosító metódust nem szabad titokban tartani, az nyugodtan az ellenség kezébe kerülhet. A titkosság csak a kulcs titkosságán kell, hogy múljon.

Az érvek ezen elv mellett:

A kommunikáló feleknek sokkal egyszer˝ubb egy rövid kulcsot titokban tartani, mint egy jóval nagyobb adatmennyiséggel bíró algoritmust/programot.

(28)

Minden kommunikáló félnek más-más algoritmust kellene alkalmaznia (gondoljuk el egy cégnél, hogy minden kommunikáló fél más algoritmust használ).

Ha mégis kiszivárog az algoritmus akkor egyszer˝ubb egy kulcsot kicserélni mint egy egész programot.

Ma a kriptográfiában azt tekintik biztonságosnak, ha maga az algoritmus és megvalósítás is ismert, mindenki számára elérhet˝o, megnézhet˝o. Azon megoldások, ahol adott cég az algoritmusát nem hozza nyilvánosságra, nem tekinthet˝oek kell˝oen biztonságosnak. Árgyélus királyfi és Tündérszép

2.4: Rejtjelezés alapelemei

Ilona számára tehát a nyilvános algoritmus és titkos kulcs jelenti a járható utat. A probléma amivel szembesültek nem új. Ehhez azonban néhány alapfogalommal meg kell ismerkedniük.

Szabadszövegnek (cleartext)nevezzük (“m” a lenti képletben) a titkosítandó információt.Titkosító eljárás (cipher)az az eljárás, amivel a szabad szövegettitkosított szöveggé (ciphertext)transzformáljuk.

A kulcs (key) az az információ (KÁ és KTI), amely a titkosító eljárásnak meg kell adnunk a titkosításhoz illetve esetenként a visszafejtéshez. A titkosított adat visszafejtését avisszafejt˝o (decrypter)végzi el.

Fontos Amennyiben a titkosító és a visszafejt˝o kulcs azonosKÁ(KÁ(m)) =makkorszimmetrikus kulcsútitkosításról beszélünk egyébkéntaszimmetrikus kulcsútitkosításrólKTI(KÁ(m)) =m..

A különböz˝o algoritmusok bemutatását egy egyszer˝u Julius Cesar-hoz köt˝od˝o algoritmussal kezdjük. A szabad szöveges bemenet minden bet˝ujét cseréljük ki a k kulcs által megadott távolságban lév˝o bet˝ure.

Formális leírása:DecK(c1...cl) =m1...ml,aholmi= [(cik)mod26]

Nehéz ezt feltörni? Elegend˝o az összes kulcsértékre (ez ABC függ˝o, az angol ABC-re ez 26) megvizsgálni a visszafejtett szöveget és ami értelmesnek t˝unik, az a megoldás. Ezt a feltörés megközelítéstnyers er˝o (brute force)támadásnak nevezzük. Ekkor akulcstér szisztematikus végigjárásávalpróbálja a támadó megtalálni a kulcsot. Ez alapján egy fontos alapvetés azelégséges kulcstér elv (sufficient keyspace principle).

Fontos Egy titkosítási eljárásnak elégséges kulcsteret kell biztosítania annak érdekében, hogy a nyers er˝o támadások ne legyenek megvalósíthatóak.

Ma a felh˝o és GPU korszakában ez 1030nagyságrend˝u. Ha úgy módosítjuk Caesar algoritmusát, hogy a K kulcs egy az ABC tetsz˝oleges permutációját jelent˝o bet˝u sorozatot alakít ki, és az egyes helyeken e bet˝usorozat elemeit helyezzük be adott pozícióba, akkor jóval nagyobb kulcsteret kapunk.

26! azaz 1026nagyságrend˝u lehetséges kombinációt kellene végigvizsgálni. A fent leírt algoritmust nevezikmono alfebetikus helyettesít˝o titkosítónak (mono alphabetic substitution cipher). A kulcstér szempontjából ez már biztonságos, de mint algoritmus, még nem az. Amennyiben a szöveg

(29)

2.5: Ceasar titkosítása

például angol nyelv˝u anyag, akkor az angol nyelvben ismert karakter gyakoriságok segítségével megbecsülhetjük az egyes helyettesít˝o karaktereket.

2.6: Az angol nyelv bet˝uinek gyakorisága

A titkosított tartalom elleni támadások az alábbi megközelítéseket alkalmazhatják:

csak a titkosított szöveg áll rendelkezésre (ciphertext only): ekkor a fentiekben is látott információval bír a támadó, azaz csak a titkosított szöveget látja, nincs egyéb támpontja

ismert a titkosított szöveg alapú támadás (known plain text attack): ekkor a támadó ismeri a szabad szöveget, így megpróbálhatja megtalálni a transzformációt, kulcsot

kiválasztott szöveg alapú támadás (chosen plain text attack): ekkor a támadó nem csak tudja, hanem befolyásolni is tudja a titkosítandó szöveget

Az el˝oz˝o algoritmus a gyenge pontja okozta problémákat apoly alfabetikus helyettesít˝o titkosító (polyalphabetic substitution cipher)oldja meg úgy, hogy nem karaktereket, hanem szövegblokkokat helyettesít szövegblokkokkal. Ezzel el is jutottunk a napjainkban is alkalmazott eljárásokhoz. Mi lehet a jó titkosítás ismérve? Elegend˝o, ha nem tudjuk visszafejteni a kulcsot? Nem, mert adott minta transzformációkkal a titkosított tartalom egy része visszafejthet˝o. Elegend˝o ha a támadó nem képes a teljes szabad szöveget visszanyerni? Nem, mert adott esetben a szöveg 10%-ának ismerete sem megengedhet˝o. Elegend˝o ha nem tud karaktereket visszafejteni? Nem, mert a struktúra

(30)

megmarad és például a fizetés rész hossza utalhat a fizetés nagyságára.

Fontos A jó titkosítás ismérve az, hogy attól függetlenül, hogy a támadó milyen információval bír, semmilyen újabb információhoz sem juthat a szabad szöveggel kapcsolatban.

A mai szimmetrikus kulcsú titkosítási eljárásokatblokk alapú titkosítás (block cipher)ésfolyam alapú titkosítás (stream cipher)eljárásokra bonthatjuk. A blokk alapú eljárások, mint láthattuk, blokkokat helyettesítenek blokkokra. Ilyen látható az ábrán. k=3 a kulcshossz, 3 bites blokkokat cserélnek 3 bites blokkokra. Ezen eljárás k=3 értékkel nehezen tekinthet˝o biztonságosnak, hiszen a kulcstér 23 azaz 8 szimbólumból áll, ezek kombinációja 8! azaz 40230 variáció. Egy naiv javítási

2.7: Blokk titkosítás1

megoldás lehetne, hogy 3 bites blokkok helyett például 64 bites blokkokat alkalmazunk, ekkor már 264! a kulcstér. Ezzel a megoldással az a gond, hogy itt a két kommunikáló félnek egy 264 méret˝u táblát kellene kezelnie. Ehelyett a blokk titkosítók olyan funkciókat használnak, amelyek véletlenszer ˝uen permutált táblákat (randomly permuted table)szimulálnak. A 2.8 ábrán egy ilyen látható. A 64 bites bemenetet 8 bites részekre bontják és ezekre alkalmazzák a helyettesítést - külön-külön táblákkal(8 x 28 méret˝u tábla már kezelhet˝o méret˝u). Ezután a 8 bites elemeket összef˝uzik egy 64 bites elembe, ahol ezután az egyes pozíciókat permutálják a 64 bites kimenethez.

Ezzel a kimenettel kezdik a következ˝o kört. N ciklus után el˝oáll a helyettesít˝o 64 bites blokk. A ciklusok célja az, hogy minden bitnek legyen hatása minden kimen˝o bitre. Itt az algoritmus ismert, a kulcs a csak két fél által ismert 8 db táblázat.

2.8: Véletlenszer˝uen permutált tábla1

A fenti elvet alkalmazzák napjaink ismert szimmetrikus titkosítás alapú algoritmusai, ilyen a DES (Data Encryption Standard),3DES,AES (Advanced Encryption Standard). Táblázatok helyett mindhárom algoritmusban ilyen függvényeket alkalmaznak. A DES 64 bites blokkokkal

(31)

és 56 bites kulcsokkal míg az AES 128 bites blokokkal és 128, 192 vagy 256 bites kulcsokkal dolgozik. Az 56 bites kulcsot 2011-ben akkori infrastruktúrával sikerült feltörni (internet szinten összeadott er˝oforrásokkal). Az AES 128 bites és nagyobb kulcster˝u algoritmusait ez a veszély még nem fenyegeti (több milliárd év ezzel a megközelítéssel). Ezen eljárások alkalmasak egy-egy önálló állomány titkosítására. Vannak olyan esetek azonban amikor egy hosszabb adatfolyamatot kellene titkosítani. Ilyenkor a naiv megközelítésmód, hogy bontsuk azt adott hosszúságú részekre és azokat külön-külön titkosítsuk az adatfolyam struktúrájának megismerésének veszélyét rejtheti magában. Ha például két egymást követ˝o adatdarab is csak üres karaktereket tartalmaz, akkor ez a titkosított állományban is megfigyelhet˝o (az, hogy a két egymást követ˝o adat blokk azonos). Ezen a problémán segítenek arejtjeles blokkok láncolása (cipher block chaining)megközelítések. Az ötlete az, hogy adott véletlenszer˝uséget viszünk a bemeneti szövegbe annak érdekében, hogy az identikus bemeneti blokkok ne adjanak identikus kimeneti blokkokat. Egy egyszer˝u algoritmus:

m(i) =Ks(c(i)×r(i)), ahol m(i) az i. jelzi, hogy az adatfolyam melyik elemével foglalkozunk, Ksa szimmetrikus titkosító, c(i) az eredeti szöveg adott blokkja, míg r(i) egy minden blokkhoz külön legyártott véletlen szám. E megoldásnál Tündérszép Ilona az m(i) mellet az r(i)-t is átküldi a Árgyélus királyfinak. Ez már jó megoldásnak t˝unik, de Tündérszép Ilonának még dupla annyi adatot kell átküldenie (m(i), r(i)). Ezt kiküszöbölend˝o egy véletlen számot fog csak átküldeni ez azinicializáló vektor (Initialization Vector) - IV. A két oldal ezenIVszámsorozat segítségével minden egyes blokkhoz kiszámítja az aktuális véletlen számokat. Ezzel az algoritmussal fogunk a WiFi WEP titkosításánál találkozni.

Az eddigiekben áttekintett rejtjelez˝o algoritmusok aszimmetrikus kulcsú rejtjelez˝okosztályába tartoztak. Számos biztonsággal kapcsolatos problémát tudnak megnyugtató módon kezelni, egyet kivéve, ez pedig a két fél között a közöskulcs elosztása. Az 1970-es évekig erre számos fizikai megoldás létezett. Caesar idejében például a fürd˝oben beszélték meg egymással. Belátható, hogy a mi modellünk esetén ez nem igazán megoldható, hiszen a harmadik fél minden üzenetváltást lát. Ezen a problémán segített a Diffie-Hellman kulcscsere algoritmus, amely elvezetett az aszimmetrikus kulcsú (asymmetric key), vagynyilvános kulcsú (public key)titkosításhoz. Itt

2.9: Asszimmetrikus kulcsú titkosítás

egy kulcs helyett kett˝ok alkalmaznak. Az 2.9 látható Árgyélus királyfititkos (private)K

Á és nyilvános (public)kulcsaK+

Á Tündérszép Ilona megkapja Árgyélus királyfi publikus kulcsát, ez mindenkinek hozzáférhet˝o. Ezzel a kulccsal titkosítja az m üzenetetK+

Á(m). Ezt Árgyélus királyfi a saját titkos kulcsával fejti visszaK

Á(K+

Á(m)) =m. Számos algoritmus ismert, amely a fenti képességeket biztosítja, de a legelterjedtebb azRSA(az alkotói után kapta a nevét Ron Rivest, Adi Sharmin, Leonard Adleman).

(32)

Az algoritmus a moduló aritmetikán alapul, alapvet˝o összefüggések:

[(a modn) + (b modn)] modn= (a+b) modn, [(a modn)(b modn)] modn= (ab) modn,

[(a modn)·(b modn)] modn= (a·b) modn

(2.1) Ezekb˝ol levezethet˝o:

(a modn)d modn=ad modn (2.2)

Az RSA algoritmus az alábbi lépésekb˝ol áll:

Válasszunk két nagy pésqprím számot (1024 bites nagyságrend˝ut)

Számítsuk kin=p·qész= (p1)·(q1)számokat

Válasszunk ki egy e számot amelyn-t˝ol kisebb és nincs közös osztójaz-vel.

Keressünk egydszámot úgy hogye·d1 osztható legyenz-vel(e·d modz=1)

A publikus kulcs (K+

Á) az(n,e)számpár, a privát kulcsK

Á az(n,d)számpár.

Tündérszép Ilona titkosítási eljárása: c=m·e modn

Árgyélus királyfi visszafejtési eljárása:m=c·d modn

A fenti eljárás tehát megoldja a kulcselosztás problémáját, de komoly gond vele, hogy szemben aDESés AESegyszer˝u, hardverben jól implementálható m˝uveleteihez itt komoly aritmetikai m˝uveletek vannak. ADESpéldául 100-szor gyorsabb szoftveresen, míg hardverben megvalósítva 10.000-szer gyorsabb. Vegyük észre, hogy itt nem feltétlenül a késleltetés jelenti a gondot, hanem az azonos er˝oforrás igény mellett használható nagyobb kulcs, ami pedig, mint láttuk, az eljárás feltörhet˝oségét jellemezni. Így az aszimmetrikus kulcsú titkosítást aviszonykulcs (session key) KSátvitelére használják. A viszonykulcs egy jellemz˝oen egyszer használatos szimmetrikus kulcs amelyet a két oldal közösen vagy egyik oldal egyedül hoz létre.

2.2 Üzenet integritás, digitális aláírás

Az el˝oz˝o részben áttekintettük azokat az épít˝okockákat, amelyek mentén konkrét szolgáltatásokat lehet létrehozni. Az els˝o ilyen az üzenet integritás (message integrity), amely két konkrét képességet igényel:

Tudjuk validálni, hogy az üzenet valóban a feladótól származott

Tudjuk validálni azt, hogy az üzenet valóban azt tartalmazza amit elküldtek, azaz vegyük észre ha valaki módosította az üzenetet

Egy praktikus, eddig nem említett eljárás akriptográfiai kivonat függvény (cryptographic hash function). Egy ilyen eljárásnak biztosítani kell, hogy adott x és y esetén számítástechnikailag nagyon nehéz legyen ilyen párokat képezni: H(x) = H(y). (Azaz ha ismert egy kivonat, akkor ne tudjunk hozzá egyszer˝uen olyan számot találni, amely ugyanezzel a kivonattal bír) Ilyen eljárás az

2.10: Kivonatoló eljárás

volt sokáig MD5 amely 128 bites kivonatot készített, ma az SHA-1 et tartják biztonságosabbnak (bár ezt is feltörték már), amely 160 bites kivonatot készít. Az üzenet integritásának ellen˝orzésére alkalmas azüzenet azonosító kód (MAC message authentication code). Ez esetben Tündérszép Ilona és Árgyélus királyfi az alábbi lépéseket teszi meg:

(33)

Az üzenetet és egy titkos kulcsot -azonosító kulcs (authentication key)összef˝uzi és ezt kivonatoljaH(m+s)

Tündérszép Ilona átküldi az üzenetet ( m ) és a MAC kódotH(m+s)

Árgyélus királyfi ismeri az azonosító kulcsot, ezért ˝o a megkapott üzenetb˝ol el˝o tudja állítani a H(m+s) kivonatot és amennyiben ez megegyezik a megkapottH(m+s)-sel, akkor az üzenet nem lett megváltoztatva és Tündérszép Ilona küldte (mert csak ˝o ismeris-t).

A fenti eljárás már m˝uköd˝oképes, de az s elosztása továbbra is gond. Ezt a problémát oldja meg adigitális aláírás (digital signature). Az el˝oz˝o eljárás annyiban módosul, hogy a kivonatot

2.11: Kivonatoló eljárás

Árgyélus királyfi a saját privát kulcsával titkosítja és azt mindenki vissza tudja fejteni akinek megvan Árgyélus királyfi nyilvános kulcsa. Itt már csak az lehet a probléma, hogy honnan tudjuk azt biztosan, hogy adott nyilvános kulcs valóban Árgyélus királyfié-e. Ebben viszont segít adigitális tanúsítvány (digital certificate). Ennek a segítségével adott megbízható szervezet, Tanúsító Hatóság (Certification Authority)biztosít bennünket arról, hogy adott publikus kulcs adott személyhez tartozik. Az elv ugyanaz, mint a digitális aláírásnál, csak most a tartalom arról

2.12: Digitális tanúsítvány

szól, hogy adott publikus kulcs adott személyhez tartozik-e és ezt a tartalmat látja-e el digitális aláírással a szervezet. Ennek egyik szabványos formája azX.509-es tanúsítvány. Honnan tudjuk, hogy a tanúsító hatóság nyilvános kulcsa valóban az, amit megkaptunk? Egyrészt, mert az ezeket leíró digitális tanúsítványok fel vannak töltve a használt operációs rendszerekbe, másrészt ezen tanúsítvány biztosító hatóságok egy hierarchia mentén továbbadhatják a tanúsítványikadási jogot.

Ilyen digitális tanúsítványokat alkalmaz a HTTP alatt lév˝o TLS protokoll is, ett˝ol lesz HTTPS. A CA hierarchia a 2.13 ábrán látható. Az els˝o két szinten online nem elérhet˝o hatóság van annak érdekében, hogy a privát kulcsok semmiképpen se szivárogjanak ki. A harmadik szint az operatív (˝o az aki üzemszer˝uen fogad igényeket), ahonnan további tanúsítványkiadó szintek nyílnak, de

(34)

2.13: Tanúsító hierarchia

persze normál tanúsítványokat is kiadnak. A következ˝o táblázat az X.509 tanúsítvány f˝obb mez˝oit foglalja össze. Amennyiben itt saját magunk által aláírt tanúsítványokat használunk, akkor az

2.14: X.509 tanúsítvány fontosabb mez˝oi

közbeékel˝odéses támadásnak (man in the middle)lehet kitéve a kapcsolatunk, mivel ekkor a másik oldalnak nincs lehet˝osége ezt egy független forrással validálni, így azt sem veszi észre, hogy beült valaki a kommunikációs csatornába és kicserélte a tanúsítványt egy olyanra, ami közbeékel˝od˝oé. Ezt a kommunikáló felek nem veszik észre.

2.15: Közbeékel˝odéses támadás (man in the middle)

Fontos A PKI tehát csak a tanúsítvány biztosító hierarchiával együtt nyújt megfelel˝o biztonságot.

Jelen fejezet b˝ovebb áttekintése a referencia könyv [2] 8. fejezetének 621-641 közötti részén található meg. Egy mélyebb áttekintés például a [1] könyvben érhet˝o el

Ábra

ábra alsó részén ahol a WWW tartoményt 3 IP-hez kötjük. Ilyenkor a DNS szerver round-robin elven ad vissza más-más IP címet

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Ennek alapján viszont nem lehet az orosz nemesség egészéről ítéletet mondani, mivel Turgenyev és Tolsztoj a felső réteget ábrá- zolja, a kultúra ritka oázisait.. (…)

tudom, mikor találkozhatunk, esetleg ugorj ki Lingfieldbe, mi már láttuk, jópofa kis Agatha Christie-város, fut ma egy Franny és egy Seymour, és Visage, de akkor engem ne

A problémára való megoldáskeresés és a században általánosan felerősödő nemzeti iden- titástudat nálunk is arra ösztönözte az értelmiségi réteget, hogy minél

UNIVERSITY OF SZEGED Department of Software Engineering ERSITAS SCIENTIARUM SZEGEDIENSIS.. Számítógép hálózatok

Komolyan gondolta, hogy minden társadalmi réteget részeltetni kell a zene jótéteményeiben, áldásos hatása nemcsak az egyes ember számára, hanem össztársadalmi szinten

Minden egyes réteget egy batch normalization (I OFFE - S ZEGEDY 2015) funkció követ, ami a modell túlillesztését segít elkerülni. A hálózat regularizálása L2

A Fiatal Vállalkozók Országos Szövetségének célja, hogy megteremtse azt a vállalkozói réteget, akik vállalkozásaikat hosszútávon sikeresen vezetve

A jelen fejezet második nagyobb részében négy egyenértékű réteget tartalmazó lemezre vonatkozóan kerülnek bemutatásra a harmadrendű elmélet alapján felírható