1.22k likes | 1.38k Views
Számítógép hálózatok. 7/1 Bilicki Vilmos. Az előadók:. Dr. Bohus Mihály bohus@inf.u-szeged.hu Bilicki Vilmos bilickiv@inf.u-szeged.hu. A tantárgy célja . Számítógép hálózatok bemutatása, megismerése: alkalmazások szolgáltatások a hálózat felépítése a hálózat elemei
E N D
Számítógép hálózatok 7/1 Bilicki Vilmos
Az előadók: • Dr. Bohus Mihály bohus@inf.u-szeged.hu • Bilicki Vilmos bilickiv@inf.u-szeged.hu
A tantárgy célja • Számítógép hálózatok bemutatása, megismerése: • alkalmazások • szolgáltatások • a hálózat felépítése • a hálózat elemei • hálózat tervezéssel, működtetéssel kapcsolatos problémák megoldások bemutatása
Az tananyag felépítése • Top – down megközelítés • alkalmazások, magas szintű szolgáltatások • . . . • alacsonyabb szintű szolgáltatások • . . . • fizikai összeköttetés
Ajánlott irodalom: • Könyv: • Andrew Tanebaum: Számítógép Hálózatok • Árpád tér 2. I-em 52. 1 hét múlva • Online: • http://www.inf.u-szeged.hu/informatika/OKTATAS/BM/SZG1.rtf • www.ietf.org
A mai előadás tartalma • Internet (DNS, SMTP,SNMP, HTTP, SHTTP, HTML, XML, Java, e-business) • Elosztott Információs Rendszerek: • Alapok • Címtárak (X500, NIS, AD) • Csoportmunka (Groupware)
A számítógépes hálózatok osztályozása • Méret szerint: • Lokális hálózatok (LAN, helyi hálózatok) • Városi hálózatok (MAN) • Nagy kiterjedésű hálózatok(WAN) • Technológia szerint: • vezetékes (Wired) • vezetékmentes (Wireless)
Megközelítés • Az alkalmazási réteggel foglalkozunk • Feltételezzük egy olyan hálózat meglétét mely transzparens adatátvitelt biztosit
Hálózatok hálózata • Internet • A világ legnagyobb kliens/szerver alkalmazása • A legnagyobb háttértároló • A legnagyobb hiper-hivatkozásos dokumentum
2 millió lappal növekszik naponta Forrás: The Standard
Története • Kezdetben kutató intézetek közötti kapcsolat • Szolgáltatások: E-mail, telnet, ftp • Robosztus rendszer megalkotása volt a cél (katonai irányítási hálózat) • Nem foglakoztak a biztonsággal
Titkosítás • Problémák: • Titkosság – információ védelme illetéktelen felhasználóktól (konkurencia) • Hitelesség – a társ valóban az akinek mondja magát (csaló) • Letagadhatatlanság – aláírások (társ) • Sértetlenség - Az üzenet nem lett módosítva (rosszindulatú „jóakaró”) • Típusok: • gyenge titkosítás (a szomszéd nem tudja elolvasni a tartalmát) • erős titkosítás (a legtöbb hivatalos szerv sem tudja elolvasni)
Hagyományos titkosítás DK(EK(P))=P Visszafejtő függvény Titkosító függvény plaintext ciphertext Helló ^˘°& Helló EK() DK() EK(P) P P Kulcs (key) Kulcs (key) K K
Hagyományos Titkosítás • Az algoritmus nyilvános • A kulcs titkos • A feltörés munkaideje: munkatényező (work factor) • Kódfejtési módszerek: • titkosított szöveg alapú (chipertext only) (nyelvi jelleg) • ismert szöveg alapú (known plaintext) (login) • választott nyílt szöveg alapú (chosen plaintext)
Titkosítási módok • Helyettesítő kódoló (substitution chiper) • minden betű vagy betűcsoport egy másik betűvel vagy betűcsoportal helyettesítődik (nyelvi jellegzetességek alapján viszonylag könnyen megfejthető betűkettősök, betűhármasok) • Keverő kódoló (transposition chiper) • átalakítják az eredeti sorrendet
Mai algoritmusok • Titkos kulcsú algoritmusok (secret key) (szimmetrikus titkosítás) • DES, IDEA, BLOWFISH • Nyilvános kulcsú algoritmusok (public key) (aszimmetrikus titkosítás) • RSA, DSS, . . . • Kluccsere algoritmusok: • Diffie-Hellman, Kerberos, . . . • Kivonatoló függvények (hash) • MD5, SHA1, . . . • Összetett titkosítás, azonosítás: • PGP, PEM,
Szimmetrikus Titkosítás • helyettesítés + keverés • P – doboz (keverő) • S – doboz (helyettesítő) • DES (Data Encryption Standard) • 1977 IBM • ma már nem tekinthető biztonságosnak (56 bites kulcs) • IDEA (International Data Encryption Algorithm) • 1990 Lai, Massey • biztonságosnak tekinthető (128 bites kulcs)
Probléma • a kulcs eljuttatása a másik félhez, közös kulcs előállítása • megoldás nyilvános kulcsú titkosítás
Nyilvános kulcsú titkosítás • A kódoló és dekódoló kulcsok különböznek egymástól és egyikből a másikat nem lehet előállítani • Három követelmény: • D(E(P))=P • D előállítása E alapján rendkívül nehéz feladat legyen • E feltörhetetlen legyen választott nyílt szöveg alapú támadással
RSA algoritmus • 1978 MIT: Rivest Shamir Adleman • Az algoritmus lépései: • Válasszunk két nagy prím számot, p, q (lehetőleg nagyobbak mint 10100) • Számoljuk ki n = p x q és a z = (p-1)x(q-1) • Válasszunk z-hez relatív prímet d • Keressünk egy olyan e számot melyre: e x d = 1 (mod z). • P < n szegmensekre osztás • Kódolt üzenet C = Pe (mod n) • Visszafejtés P = Cd (mod n)
RSA • A titkosító és a visszafejtő algoritmus egymás inverzei. • Titkos kulcs (e,n), nyilvános kulcs (d,n) • Hátrány 100-1000 –szer lassabb mint a szimmetrikus titkosítás • Mai tudásunk szerint biztonságos (egy 200 számjegyű szám faktorizálása 4 millárd év)
Hitelesség vizsgálat • A hitelesség vizsgálat (authetication) egy olyan módszer mely segítségével egy folyamat ellenőrizheti, hogy kommunikációs partnere valóban az akinek mondja magát. • Diffie-Hellman féle kulcscsere algoritmus • Kerberos • Hitelesség vizsgálat nyilvános kulcsú titkosítással
Diffie-Hellman Bob Y Aliz X n, g, gx mod n gy mod n (gx mod n)y=gxy mod n (gy mod n)x=gXY mod n
Kerberos • 1988, MIT • Segítségével a munkaállomások felhasználói biztonságosan hozzáférhetnek a hálózati erőforrásokoz (Windows 2000 native mode) • A jelszó sohasem kerül a hálózaton átvitelre ! • Részei: • Hitelesség vizsgáló szerver (Authentication Server AS) • Jegyadó szerver (Ticket-Granting Server TGS) • Bob a szerver (elvégzi az Aliz által kért munkát)
Kerberos működés Aliz AS 1 A 2 KA(KS,KTGS(A,KS)) KTGS(A,KS), B, KS(t) TGS 3 4 KS(B,KAB), KB(A, KAB) 5 KB(A,KAB), KAB(t) Bob 6 KAB(t+1)
Nyilvános kulcsú hitelességvizsgálat 1 Bob Aliz EB(A,RA) 2 EA(RA,RB,KS) 3 KS(RB)
Digitális aláírás • Feladata: • A fogadó ellenőrizhesse a feladó valódiságát • A küldő később ne tagadhassa le az üzenet tartalmát • A fogadó saját maga ne rakhassa össze az üzenetet • Típusai: • Titkos kulcsú aláírások • Nyilvános Kulcsú aláírások • Üzenet Pecsétek (Message Digest)
Titkos kulcsú aláírások • Szereplők: Big Brother, Aliz, Bob • RA – nagy véletlen szám a visszajátszások elkerülésére Bob A,KA(B,RA,t,P) Big Brother Aliz KB(A,RA,t,P,KBB(A,t,P))
Nyilvános kulcsú aláírások • Feltételezi : D(E(P))=P, E(D(P))=P
Kivonatoló (Digest) • Gyakran csak hitelességvizsgálatra van szükség, titkosításra nem • Feltételek: • Adott P-hez könyen számítható MD(P) • Adott MD(P)-hez gyakorlatilag lehetetlen P-t megtalálni • Senki sem képes két különböző üzenetet generálni, melyekhez ugyanaz az üzenet pecsét tartozik (legalább 128 bites pecsét) • Típusai: • MD5, SHA1
Működése Aliz Bob P,DA(MD(P))
Pretty Good Privacy • Kombinálja a hagyományos és a nyilvános kulcsú titkosítás jó tulajdonságait • Négy fajta RSA kulcs (348,512,1024,2048) • IDEA 128 bites kulcs Bob nyilvános kulcsa Aliz titkos kulcsa KM RSA MD5 RSA ZIP IDEA Base64 P
Az Internet alapvető szolgáltatásai • DNS (Domain Name System) • WWW (World Wide Web) • HTTP, SHTTP • HTML • XML • DTD • XSLT • FTP (File Transfer Protocol) • TELNET (Terminal Emulation …) • E-MAIL (Electronic Mail) • SNMP (Simple Network Management Protocol)
DNS • Feladata: ASCII karakterláncok hálózati címekre és vissza konvertálása (max 255,63) • IP cím <-> Névtér leképezés • Hierarchikus körzetalapú osztott adatbázisrendszer • Elsődleges Körzetek • Általános • Országok • Alkörzetek Országos Általános … jp hu int com edu bme sun u-szeged fortre java
DNS erőforrás nyilvántartás • Minden körzethez tartozhatnak erőforrás bejegyzések (resource record) • Az erőforrás bejegyzések binárisan tárolódnak • Típusok: • SOA – lista kezdete (ehhez a zónához tartozó paraméterek) • A – Egy hoszt IP címe • MX – levél csere • NS – name server • CNAME – körzet név • HINFO – host leírás • TXT - szöveg
Név szerverek • A DNS névtér egymást nem fedő zónákra van osztva • Minden zóna tartalmazza a fa egy részét • Zónánként egy elsődleges név szerver • Egy vagy több másodlagos név szerver • Hiteles bejegyzés – authorative record(eredeti) • Gyorsító táras bejegyzés u-szeged Edu Yale Yale CS 1 2 3 4 cab.u-szeged.hu u-szeged.hu edu-server.net yale.edu cs.yale.edu 5 8 7 6
World Wide Web • Az Internet legnépszerűbb szolgáltatása • Átviteli protokoll: HTTP, HTTPS, SHTTP • Megjelenítés definiáló nyelv: HTML, CSS • Adatleíró nyelv: XML • Dinamikus weboldalak: • Szerver oldali programok (CGI, PHP, JSP, ASP, XSP) • Kliens oldali programok (JavaScript, VisualBasic, JavaApplet)
HTTP(Hyper Text Transfer Protocol) • Kliens-szerver modell • Állapotmentes • Megbízható átviteli közegre épül • Új fogalmak: • Webszerver • Proxy szerver • Kapcsolatorientált • Részletes proxy specifikáció • URI (Universal Resource Identifier) • <protokol>:<protokol specifikus rész> • <protokol>://<azonosítás><elérési-útvonal>?<Lekérdezés> • US-ASCII • Más karaterek: %
HTTP üzenetek • Kérés (request) (GET, OPTIONS, POST, HEAD, TRACE) • Válasz (response) • kezdő sor • fejléc sorok • üres sor • az üzenet tartalma
Példa GET / HTTP/1.1 Host: sirius.cab.u-szeged.hu HTTP/1.1 200 OK Date: Thu, 13 Dec 2001 16:55:37 GMT Server: Apache/1.3.20 (Unix) PHP/4.0.6 Transfer-Encoding: chunked Content-Type: text/html <HTML> <HEAD> <TITLE>Irinyi Kabinet</TITLE> </HEAD> <body... </ADDRESS> </BODY> </HTML>
Adatátvitel • URL - ben kódolva: • GET valami.html?h=12 • POST segítségével: POST /teszt/ HTTP/1.1 Host: wiliam.u-szeged.hu adat: research
Fejléc mezők • Kérés: • Host • If-Modified-Since • User-Agent • Adat: research … • Válasz: • WWW-Authenticate • Age • Cache-Control • Expires • Content-Type
HTTP és a biztonság • Nincs titkosítás ! • Azonosítás: • Basic Authentication: • UID • Password • Realm • HTTP/1.1 401 Authorization Required • Használata mellőzendő, veszélyes • Ha mégis akkor: Csak generált jelszavakkal szabad • Digest Authentication: • MD5, nonce • biztonságos
HTTPS, SHTTP • Titkosítás, azonosítás, adatbiztonság • SHTTP: • Új réteg a HTTP alatt TLS (Transport Layer Security) • SHTTP: • A HTTP kibővítése új utasításokkal melyek segítségével becsomagoljuk az eredeti HTTP csomagot.
HyperText Markup Language • Megjelenítésre koncentrál • ASCII alapú • Gépek számára nehezen értelmezhető • Tag-ek segítségével épül fel a dokumentum (<elem>) • Böngésző elrejti a kódot • Jelenleg HTML 4.01 • Lehetséges nem lineárisan navigálni (hyperlink)
Felépítése • információ a HTML verziójáról • fejrész (header) • törzs (body) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//HU" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <head> <TITLE>Ez a fejléc</TITLE> <META http-equiv="Cache-Control" content="no-cache"> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-2"> </head> <body> <p>Hello világ! </body> </html>