Számítógép rendszerek 2. óra Alkalmazásrétegi internetes protokollok Egyszerű szabványos adatcsere formátumok Titkosítás, biztonságos adatcsere
Névfeloldás: domain nevek DNS (Domain Name System): domain nevek IP címekhez rendelése Eredetileg: IETF RFC 882, IETF RFC 883 (1983), azóta sok módosítás és kiegészítés született Egy domain név felépítése: www.agt.bme.hu Stb. Harmadik aldomain pl. szolgáltatás megnevezése Második aldomain pl. szervezeti egység megnevezése Első aldomain pl. intézet, cég megnevezése TLD (Top Level Domain): legfelsőbb szintű domain (hu, de, com, org, stb.) pl. ország megjelölése Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 1/39
Névfeloldás: névkiszolgálók A domain név nyilván IP cím hozzárendeléseket a névkiszolgálók (Name Server) tartják A névkiszolgálók hierarchikus rendszert alkotnak: 13 legfelsőbb szintű (root) névkiszolgáló (a.root-servers.net, b.root-servers.net, stb.) nemzeti szintű és egyéb magas szintű névkiszolgálók (pl. ns.nic.hu, a.nic.de, stb.) vállalatok, intézmények, szolgáltatók névkiszolgálói (pl. nic.bme.hu, ns2.pantel.net, stb.) és így tovább, egyre alacsonyabb szinteken A névkiszolgálókon tárolt bejegyzések típusai pédául: A (Address) record: név IP cím hozzárendelés CNAME (Canonical Name) record: alternatív név név hozzárendelés MX (Mail Exchange) record: levelezést bonyolító kiszolgáló megadása Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 2/39
Névfeloldás: példa Péda: kutakodjunk egy kicsit a NASA háza táján! nslookup > set q=cname > www.nasa.gov www.nasa.gov > www.nasa.gov.speedera.net www.nasa.gov.speedera.net > www.nasa.gov.edgesuite.net www.nasa.gov.edgesuite.net canonical name = www.nasa.gov.speedera.net canonical name = www.nasa.gov.edgesuite.net canonical name = a1718.x.akamai.net Elindítjuk az nslookup programot Valójában mi a neve annak a gépnek ami a www.nasa.gov honlapot szolgáltatja? > set q=a > a1718.x.akamai.net És mi az IP címe ennek a gépnek? Name: a1718.x.akamai.net Address: 195.228.246.168 > set q=mx > nasa.gov nasa.gov nasa.gov nasa.gov nasa.gov nasa.gov nasa.gov mail exchanger = 10 ndjsnpf01.ndc.nasa.gov. mail exchanger = 10 ndjsnpf02.ndc.nasa.gov. mail exchanger = 10 ndjsnpf03.ndc.nasa.gov. mail exchanger = 10 ndmsnpf01.ndc.nasa.gov. mail exchanger = 10 ndmsnpf02.ndc.nasa.gov. mail exchanger = 10 ndmsnpf03.ndc.nasa.gov. Az xxxxxx@nasa.gov címre kimenő e-mailek melyik szerveren kötnek ki? Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 3/39
További információk egy domainről: WHOIS További információk tudhatók meg egy domain bejegyzőjéről a WHOIS szolgáltatással Eredetileg: IETF RFC 812 (1982), ma: IETF RFC 3912 (2004) 43-as TCP portra küldött egyszerű lekérdezés Példa: mit tudunk az index.hu bejegyzőiről? A telnet programmal TCP kapcsolatot > telnet hu.whois-servers.net 43 létesítünk a hu.whois-server.net 43-as portjával index.hu Egyszerű lekérdezést küldünk Válaszként a WHOIS szerver infordomain: index.hu mációkat küld a cím tulajdonosáról org: org_name_eng: Index.hu Ltd org: org_name_hun: Index.hu Rt address: Klapka 1-3 address: 1134 Budapest address: HU phone: 06-1-450-5350 fax-no: 06-1-450-5361 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 4/39
Hálózati beállítások automatikus lekérése: DHCP DHCP: Dynamic Host Configuration Protocol Kiszolgáló részéről a 67-es, kliens részéről a 68-as UDP portot használja Tipikus munkamenet: DHCP discovery ( felderítés ) Kliens részéről UDP/IP csomag a 255.255.255.255 broadcast címre Cél: az alhálózaton található DHCP kiszolgáló(k) felderítése, beállítások lekérése DHCP offer ( ajánlat ) Kiszolgáló részéről IP cím és egyéb hálózati beállítások felkínálása Kliens azonosítása MAC címmel (a discovery-ben megadott cím) DHCP request ( kérelem ) Kilens részéről a felkínált beállítások elfogadása DHCP acknowledgement ( elfogadás ) Kiszolgáló részéről a kérelem jóváhagyása Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 5/39
Hálózati beállítások automatikus lekérése: DHCP Tipikusan DHCP-n keresztül kiszolgált információk: Kliens IP címe A kiszolgáló beállításaiban rögzített tartományból Adott időtartamra biztosítva (lease time) Alhálózati maszk Alapértelmezett átjáró DNS kiszolgálók Stb. Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 6/39
Weboldalak lekérése HTTP (Hypertext Transfer Protocol): egyszerű szövegalapú protokoll HTML dokumenumok, képek, egyéb fájlok átvitelére Legújabb elterjedt változata a HTTP/1.1: IETF RFC 2616 (1999) A 80-as TCP portot használja Példa: a http://www.debian.org/index.html dokumentum magyar nyelvű változatának lekérése (a következő oldalon ) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 7/39
> telnet www.debian.org 80 kapcsolat létesítése (80-as TCP port) GET /index.html HTTP/1.1 Host: www.debian.org Accept-Language: hu Connection: close HTTP/1.1 200 OK Date: Thu, 26 Feb 2009 04:58:42 GMT Server: Apache Last-Modified: Thu, 26 Feb 2009 03:29:12 GMT ETag: "3fb4078-38aa-f4b63200" Accept-Ranges: bytes Content-Length: 14506 Cache-Control: max-age=86400 Expires: Fri, 27 Feb 2009 04:58:42 GMT Connection: close Content-Type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <html lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>debian -- The Universal Operating System </title>... index.html lekérése kiegészítő információk a lekéréshez a lekérést egy üres sor zárja le a szerver 200-as kóddal válaszol (OK) kiegészítő információk a válasz fejlécében a válasz fejlécét egy üres sor zárja le végül a kiszolgáló elküldi a kért dokumentumot Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 8/39
Levelezés: SMTP Levelek küldése: pl. SMTP (Simple Mail Transfer Protocol), IETF RFC 821 (1982) IETF RFC 5321 (2008) Használják a levelezőprogramok levelek elküldésére, és a levelezőszerverek az egymás közötti levéltovábbításra Szintén szöveges protokoll, a 25-ös TCP portot használja Példa munkamenet: Bob levelet küld Alice-nak, amit másolatban a főnök is megkap (a következő oldalon ) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 9/39
Levelezés: SMTP példa 220 smtp.example.com ESMTP Postfix HELO relay.example.org 250 Hello relay.example.org, I am glad to meet you MAIL FROM:<bob@example.org> 250 Ok RCPT TO:<alice@example.com> 250 Ok RCPT TO:<theboss@example.com> 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> A kapcsolat létrejötte után a szerver köszönt Megkezdjük a munkamenetet nevünk közlésével Levél feladója Levél címzettje Levél második címzettje Jelezzük, hogy jön a levél maga A szerver utasít, hogy a levelet egy. - al zárjuk majd le Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 10/39
Levelezés: SMTP példa (folytatás) From: "Bob Example" <bob@example.org> To: Alice Example <alice@example.com> Cc: theboss@example.com Date: Tue, 15 Jan 2008 16:02:43-0500 Subject: Test message Hello Alice. This is a test message. Your friend, Bob. 250 Ok: queued as 12345 QUIT Maga a levél (MIME e-mail formátumban) A szerver visszaigazolja hogy a levél készen áll kézbesítésre (várólistára került) Befejezzük a munkamenetet 221 Bye A szerver elköszön Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 11/39
Levelezés: POP3 Levelek fogadása: pl. POP3 (Post Office Protocol version 3), IETF RFC 1939 (1996) A levelezőprogramok levelek letöltésére használják Szintén szöveges protokoll, a 110-es TCP portot használja Példa munkamenet: mrose felhasználó letölti leveleit a dbc.mtview.ca.us kiszolgálóról (a következő oldalon ) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 12/39
+OK POP3 server ready (dbc.mtview.ca.us) USER mrose +OK User accepted PASS xxxxxxxxx +OK Pass accepted +OK mrose's maildrop has 2 messages (320 octets) STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200. RETR 1 +OK 120 octets <a kiszolgáló elküldi az 1. üzenetet>. DELE 1 +OK message 1 deleted RETR 2 +OK 200 octets <a kiszolgáló elküldi a 2. üzenetet>. QUIT +OK dewey POP3 server signing off A kiszolgáló köszönt minket Megadjuk felhasználói nevünket és jelszavunkat Összesített információt kapunk postafiókunkról: 2 levél, összesen 320 byte Részletes listát kapunk postaládánkról: az 1. levél mérete 120 byte, a 2. levélé 200 byte Lekérjük az 1. levelet Töröljük az 1. levelet Lekérjük a 2. levelet Kijelentkezünk a kiszolgálóról Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 13/39
Biztonságos parancssori hozzáférés: SSH SSH: Secure Shell Általában a 22-es TCP portot használja Régebbi, nem titkosított hozzáférési módok (pl. telnet) kiváltása Alrendszerek: SFTP, SCP (titkosított file-átvitel) Egyéb felhasználások: pl. titkosított port-továbbítás, asztali munkamenetek titkosított továbbítása, stb. Azonosítás: felhasználói név és jelszó, nyilvános kulcs, stb. Nem csak a belépő felhasználónak, hanem a kiszolgálónak is azonosítania kell magát! Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 14/39
Erőforrások megosztása hálózaton SMB: Server Message Block / CIFS: Common Internet File System Tipikusan a 445-ös TCP portot használja Állományok és egyéb erőforrások (pl. nyomtatók) megosztása Windows hálózatokon Nyílt forrású, multiplatform implementáció: Samba, minden jelentősebb platformon elérhető NFS: Network File System Eredetileg a Sun Microsystems fejlesztette ki saját UNIX rendszeréhez Mára minden jelentősebb platformon elérhető IPP: Internet Printing Protocol Tipikusan a 631-es TCP portot használja A kommunikáció a HTTP protokollra épít Minden jelentősebb platformon elérhető LPD Line Printer Daemon protocol / LPR: Line Printer Remote protocol Tipikusan az 515-ös TCP portot használja Minden jelentősebb platformon elérhető Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 15/39
Egyszerű szövegfájlok: ASCII (1968) Megnevezések: ANSI_X3.4-1968, ISO-IR-6, ANSI_X3.4-1986, ISO_646.IRV:1991, ASCII, US-ASCII, US, IBM367, CP367 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 16/39
Egyszerű szövegfájlok: ISO 8859-1 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 17/39
Egyszerű szövegfájlok: ISO 8859-2 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 18/39
Egyszerű szövegfájlok: ISO 8859-7 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 19/39
Egyszerű szövegfájlok: ISO 8859-2 vs. UTF-8 Az Unicode az UCS (Universal Character Set, ISO/IEC 10646:2003, a 00 00 00 10 FF FF tartományban 1114112 féle karaktert definiál) megvalósítására vonatkozó szabvány, karbantartója a Unicode Consortium. Megvalósulása pl. az UTF-8 (8-bit UCS/Unicode Transformation Format) kódolás, ami a karaktereket változó hosszon (1-4 byteon) tárolja; az 1 byteos tartomány ASCII kompatibilis. Példa: Karakterkódolási példa (bal oldalon az egyes byteoknak megfelelő hexadecimális számok, jobb oldalon szövegként megjelenítve) ISO 8859-2 kódolással: UTF-8 kódolással: (A megjelenítő program nem ismerte az UTF-8 kódolást, ezért például a C3 A9 kombinációt helytelenül két különálló 1 byteos karakterként mint à jelenítette meg, holott ez UTF-8- ban a 2 byteos é karaktert jelöli.) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 20/39
Miből áll egy MIME e-mail? Return-Path: <xxxxxx@ggki.hu> Delivered-To: aaaaaa@freemail.hu Received: (qmail 6970 invoked from network); 18 Feb 2009 17:12:03 +0100 Received: from fw.ggki.hu (193.224.75.110) by fmx14.freemail.hu with SMTP; 18 Feb 2009 17:11:59 +0100 Received: from localhost (localhost [127.0.0.1]) by fw.ggki.hu (Postfix) with ESMTP id E85F3340E3F6; Wed, 18 Feb 2009 17:06:06 +0100 (CET) Received: from fw.ggki.hu ([127.0.0.1]) by localhost (fw.ggki.hu [127.0.0.1]) (amavisd-new, port 1025) with ESMTP id cqbcyugmgbbr; Wed, 18 Feb 2009 17:06:06 +0100 (CET) Received: from ggki.hu (xxxxxxxx.lan.ggki.hu [10.0.0.117]) by fw.ggki.hu (Postfix) with ESMTP id BA78C340E3F4; Wed, 18 Feb 2009 17:06:05 +0100 (CET) Message-ID: <499C3345.B0611699@ggki.hu> Feladó, végleges címzett (akinek a levél kézbesítésre került) A levél továbbításának útvonala (a továbbításban résztvevő kiszolgálók mind hozzáfűzik magukat) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 21/39
Miből áll egy MIME e-mail? (folytatás) Date: Wed, 18 Feb 2009 17:11:49 +0100 From: Aaaaaa Bbbbbb <xxxxxx@ggki.hu> X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: aaaaaa@freemail.hu Subject: A level targya Content-Type: multipart/mixed; boundary="------------885e77e9a5ccc18589cc393f" X-Freemail: message scanned A feladó által megadott, és a levelezőprogram által hozzáfűzött adatok This is a multi-part message in MIME format. --------------885E77E9A5CCC18589CC393F Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 8bit A levél több részből áll, elsőnek jön a szöveges rész... Kedves Címzett! Ez itt a levél szövetes része. Üdv: xxxxxx Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 22/39
Miből áll egy MIME e-mail? (folytatás) --------------885E77E9A5CCC18589CC393F Content-Type: application/x-zip-compressed; name="csatolmany.zip" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="csatolmany.zip"...másodiknak pedig a csatolmány, esetünkben egy zip fájl UEsDBBQAAgAIACuRUTrEh3EfIGwAAAB2AQAPAAAAYmlyLWZyZXktbHMuZG9j7J0LdFRFmser kw4jkfaiiwlk0wooiyxmeqre9mgbqwiiiwcidjoepdopmpg0cnmvuq+jhhu4ygy5lgdzca96 ZthZlkWMjHAWcF2Mr8A4mmUYZoegssYdXA5wsk6GJfv/vqrbXbf7dtIhacjO3urz63urbt2q R2VvbWF0aWthX21pbnRhLkRPQ1BLBQYAAAAAAwADALkAAADcCxEAAAA= --------------885E77E9A5CCC18589CC393F-- MIME = Multipurpose Internet Mail Extensions Részletes információk a MIME formátumról: IETF RFC 2045, RFC 2046, RFC 2047, RFC 4288, RFC 4289, RFC 2049 Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 23/39
XML: Extensible Markup Language Általános szabályrendszer különböző típusú adatstruktúrák leírására Konkrét felhasználási módok (konkrét formátumok): pl. formázott szöveg, vektoros grafika, adatbázis-tartalom, matematikai képletek, stb. Előnyök: Emberileg olvasható (sok esetben a konkrét formátum leírása nélkül is értelmezhető) Gépileg (programmal) könnyen feldolgozható Széleskörű szoftvertámogatottság (különböző operációs rendszerek és programozási nyelvek) Hátrány: nem kifejezetten tömör formátum (helytakarékosság ill. átviteli sebesség tekintetében) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 24/39
XML: Extensible Markup Language Felépítés: Deklaráció (a dokumentum kezdetén): pl. <?xml version="1.0" encoding="utf-8"?> Jelölő (tag): Nyitó: <jelölő neve> Záró: </jelölő neve> Üres : <jelölő neve /> Elem (element): Egy nyitó és egy záró jelölő, köztes tartalommal, pl. <jelölő>tartalom</jelölő>, vagy Üres jelölő, pl. <jelölő /> Attribútum (attribute): a jelölő tulajdonságait leíró név-érték páros, pl. <jelölő tulajdonság1= érték1 tulajdonság2= érték2 >tartalom</jelölő> <jelölő tulajdonság1= érték1 /> Egy XML dokumentum 1 db gyökér elemmel (root element) rendelkezik Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 25/39
XML: Extensible Markup Language Példa: egy könyvtár tartalmának leírása <?xml version="1.0" encoding="utf-8"?> <könyvtár> <könyv katalógusszám= 324 polc= 1A szerző= Kipling, Rudyard év= 2002 >A dzsungel könyve</könyv> <könyv katalógusszám= 435 polc= 1A szerző= Asimov, Isaac év= 1992 >Én, a robot</könyv> <könyv katalógusszám= 243 polc= 1A szerző= Tolkien, JRR sorozat= A Gyűrűk Ura kötet= 1 év= 1999 > A Gyűrű Szövetsége </könyv> <könyv katalógusszám= 242 polc= 2B szerző= Tolkien, JRR sorozat= A Gyűrűk Ura kötet= 2 év= 2000 > A két torony </könyv> <könyv katalógusszám= 244 polc= 2B szerző= Tolkien, JRR sorozat= A Gyűrűk Ura kötet= 3 év= 2001 > A király visszatér </könyv> </könyvtár> Adatok elérése: pl. XPath lekérdezésekkel A Gyűrűk Ura sorozat összes kötete: /könyvtár/könyv[sorozat= A Gyűrűk Ura ] 2000-nél újabb kiadású könyvek szerzői: /könyvtár/könyv[év>2000]/@szerző Összetett lekérdezés: /könyvtár/könyv[év>2000 and polc= 2B ] Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 26/39
XML példák: SVG dokumentum <?xml version="1.0"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/graphics/svg/1.1/dtd/svg11.dtd"> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"> </svg> <polyline points="100,70 170,30 240,70 310,30 380,70 450,30 520,70" style="fill:none;stroke:red"/> <ellipse cx="300" cy="150" rx="200" ry="80" style="fill:none; stroke:green"/> <polygon points="100,240 520,240 540,260 80,260" style="fill:none;stroke:blue"/> Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 27/39
XML példák: XHTML dokumentum <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu" lang="hu"> <head> <title>xhtml példa dokumentum</title> </head> <body> <h1>gyümölcsválasztó</h1> <p>válasszon az alábbi gyümölcsök közül!</p> <p> <select name="gyumolcs"> <option selected="selected">alma</option> <option>körte</option> <option>barack</option> </select> </p> </body> </html> A böngésző így jeleníti meg Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 28/39
XML példák: GML dokumentum-töredék <gml:polygon> <gml:outerboundaryis> <gml:linearring> <gml:poslist>0,0 100,0 100,100 0,100 0,0</gml:posList> </gml:linearring> </gml:outerboundaryis> </gml:polygon> <gml:point> <gml:poslist>100,200</gml:poslist> </gml:point> <gml:linestring> <gml:poslist>100,200 150,300</gml:posList> </gml:linestring> Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 29/39
XML példák: WFS lekérdezés <wfs:getfeature xmlns:wfs="http://www.opengis.net/wfs" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" xmlns:cgf="http://www.opengis.net/cite/geometry" outputformat="gml2" version="1.0.0" service="wfs"> <wfs:query typename="esri:sc_cities-6" bbox="-71.00,42.00,-72.00,43.00"> </wfs:query> </wfs:getfeature> Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 30/39
Titkosítás Szimmetrikus kulcsú titkosítás: Mind a küldő, mind a feladó ismeri a titkosítás kulcsát Az információ titkosítása és visszafejtése a kulcs segítségével történik Ilyen algoritmusok például: Twofish, AES, Blowfish, 3DES Aszimmetrikus (nyilvános) kulcsú titkosítás: A küldő fél rendelkezik egy privát és egy publikus kulccsal Az egyik kulcs csak az információ titkosítását, a másik pedig csak a visszafejtését teszi lehetővé (az egyik kulcs ismeretében a másik kitalálása csak igen nagy erőforrásokkal és igen hosszú idő alatt lehetséges) Ha a titkosító kulcs nyilvános: lehetséges titkosított üzenet küldése a visszafejtő kulcs tulajdonosának (a titkosított üzenetet csak a címzett tudja elolvasni) Ha a visszafejtő kulcs nyilvános: a titkosító kulcs tulajdonosa a titkosítással egyben hitelesíti is az elküldött üzenetet (a titkosított üzenetet csak a kulcs tulajdonosa adhatta fel) digitális aláírás Ha mindkét fél rendelkezik egy privát és egy publikus kulccsal is, akkor a másik fél nyilvános kulcsa és a saját publikus kulcs, valamint egy közösen ismert véletlen szám alapján mindketten előállíthatnak egy közös kulcsot (Diffie Hellman key exchange) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 31/39
Privát-publikus kulcspárok alkalmazása Felhasználó azonosítása egy távoli rendszeren (pl. SSH kapcsolat) A távoli rendszeren megtalálható a felhasználó publikus kulcsa A privát kulcsot célszerű jelszóval is titkosítani, így a belépési adatok ellopásához meg kell szerezni a privát kulcsot tartalmazó állományt, és az annak titkosítására használt jelszót is Személyazonosság igazolása / távoli rendszerek azonosítása Digitálisan aláírt elektronikus üzenetek (levelek, számlák, stb.) Távoli rendszerek megbízhatóságának ellenőrzése (on-line banki tranzakciók, stb.) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 32/39
Privát-publikus kulcspárok alkalmazása A kérdés: honnan tudjuk, hogy a privát kulcs tulajdonosa valójában az, akinek vallja magát? PKI: Public key infrastructure Megbízható tanúsítvány-kibocsátók (CA: certificate authority) ellenőrzik a kulcs tulajdonosának személyazonosságát / a webhely valódiságát, és saját kulcsukkal aláírják a kérdéses nyilvános kulcsot A tanúsítványok láncolata visszakövethető egy megbízható legfelsőbb szintű CA-ig, amiknek a listája az operációs rendszerbe vagy a kérdéses programba be van építve Web of trust ( a bizalom hálója ) Személyek és nyilvános kulcsok egymáshoz kötődésének személyes megerősítése (key signing party-k) Már megbízhatónak nyilvánított kulcs-tulajdonosok megbízhatónak javasolhatnak még nem megerősített nyilvános kulcsokat Implementációk: PGP (Pretty Good Privacy), GnuPG (vagy GPG: GNU Privacy Guard) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 33/39
PKI-problémák Olykor még a nagy és neves CA-knak is akadhatnak problémáik... Comodo Group: betörés után hamis tanúsítványok kerültek kibocsátásra pl. a GMail, MSN, Google, Yahoo szolgáltatásaihoz (2011 március) DigiNotar: betörés után hamis tanúsítványok kerültek kibocsátásra pl. a Google, Yahoo, WordPress szoláltatásaihoz, valamint több holland kormányzati szolgáltatáshoz (2011 július) Trustwave: tanúsítvány-hitelesítésre alkalmas tanúsítványt adott ki egy magáncégnek, aki saját dolgozóinak titkosított internet-forgalmát akarta lehallgatni (2012 február) Mit lehet tenni ezek észlelése után? Tanúsítvány-visszavonási listák (CRL: certificate revocation list) közzététele: minden CA közzéteszi az általa hitelesített, de visszavont tanúsítványok listáját OCSP (Online Certificate Status Protocol) kiszolgálók használata: központi helyen gyűjtött CRL-ek alapján egyes tanúsítványok státuszának gyors ellenőrzése (pl. Firefox Végső megoldásként CA-k komplett eltávolítása a listából (operációs rendszer vagy szoftver frissítésével) Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 34/39
Adathalászat Ami ellen semmi nem véd: a felhasználók hiszékenysége Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 35/39
Adathalászat Ami ellen semmi nem véd: felhasználók hiszékenysége Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 36/39
Biztonságos kapcsolat létesítése IPsec: Internet Protocol Security Az internet protokollstruktúra 2. rétegében működik Kommunikáló felek azonosítása, teljes IP csomagok titkosítása, vagy csak az adattartalom titkosítása (a fejléc megmarad) Operációs rendszer szintű támogatás SSL: Secure Sockets Layer / TLS: Transport Layer Security Az internet protokollstruktúra 4. rétegében működik (alkalmazásréteg) Kommunikáló felek azonosítása, alkalmazásrétegi üzenetek titkosítása Alkalmazásszintű támogatást igényel Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 37/39
Biztonságos kapcsolat létesítése SSH csatornák Az internet protokollstruktúra 4. rétegében működik (alkalmazásréteg) Ponttól-pontig titkosítás (pl. otthoni számítógép és a munkahelyi hálózat egy konkrét kiszolgálója között) Helyi vagy távoli portok forgalmának továbbítása biztonságos csatornán Dinamikus port-továbbítás SOCKS proxy létesítésével A porttovábbítás nem igényel speciális támogatást, a SOCKS proxy használata alkalmazásszintű (vagy operációs rendszer szintű) támogatást igényel VPN (virtual private network) megoldások Pl. OpenVPN SSL/TLS alkalmazása a titkosított csatorna kiépítésére Az operációs rendszer számára egy titkosított IP csatornát biztosít, vagy egy titkosított csatornán Ethernet kapcsolatot emulál Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 38/39
Források, további olvasnivalók: Wikipedia (információk, péda munkamenetek): http://en.wikipedia.org/wiki/domain_name_system http://en.wikipedia.org/wiki/whois http://en.wikipedia.org/wiki/hypertext_transfer_protocol http://en.wikipedia.org/wiki/simple_mail_transfer_protocol http://en.wikipedia.org/wiki/post_office_protocol http://en.wikipedia.org/wiki/ascii http://en.wikipedia.org/wiki/iso-8859 http://en.wikipedia.org/wiki/unicode http://en.wikipedia.org/wiki/utf-8 stb. W3Schools XHTML referencia http://www.w3schools.com/tags/default.asp Szövegkódolási táblázatok http://dret.net/lectures/publishing-spring07/img/iso-8859-1.gif http://dret.net/lectures/publishing-spring07/img/iso-8859-2.gif http://dret.net/lectures/publishing-spring07/img/iso-8859-7.gif http://www.asahi-net.or.jp/~yw3t-trns/code/iso646-us.jpg Számítógép rendszerek, 2. óra: Alkalmazásrétegi internetes protokollok; egyszerű szabványos adatcsere formátumok 39/39