Web kliens-szerver struktúra és adatvédelem Előadásvázlat dr. Kovács László
Web struktúra ra elemei kliens Web böng ngész sző HTTP Listener-WS BI modul BI CGI szerver Web szerver ODBC-JDBC szerver adatbázis szerver
Dokumentum kijelölés URI : univerzális (WEB-) erőforr forrás azonosító URI URL URN URL: erőforr forrás megadás protokoll://gazda-gép p : port / filenév? paraméterek URN: erőforr forrás név névt vtér: név
HTTP protokoll - szöveges (ASC) formátum - önáll lló üzenet csomagok - állapotmentes 1. Kliens kapcsolatot kezdeményez 1.bSzerver visszajelez 2. Kliens kérés csomagot küld 2.b Szerver feldolgozza a kérést 3. Szerver válasz csomagot küld 3.b Kliens fogadja a csomagot 4. Szerver bontja a kapcsolatot
HTTP csomagok (kérés) csomag = elemi összetett Elemi csomag = GET URI CrLf Összetett csomag = Method URI ProtocolVersion CrLf [*<HTRQ Header>] [<CrLf CrLf>] [<data>] GET, PUT, POST, DELETE,...
HTTP csomagok (válasz) Összetett csomag = ProtocolVersion Státuszk tuszkód CrLf [*<HTRQ Header>] [<CrLf CrLf>] [<data>] 1xx: informáci ció 2xx. OK 3xx: átir tirány nyítás 4xx: kliens hiba 5xx: szerver hiba
HTTP üzenetv zenetvált ltás Kliens: GET /peter/doksik.html HTTP/1.1 Szerver: HTTP/1.1 400 Bad Request Date: Thu,20.May.2004 21.23 GMT Server: 157.56.23.13 Content-type: text/html <HEAD> Error </HEAD> <BODY> Not found.. </BODY>
Dokumentumok típusai Statikus (LACI.HTML) dokumentum Dinamikus (LACI.PHP) A dinamikus lapot egy WEB-szerver belső (modul) vagy küls lső (CGI) program áll llítja elő kliens WEB szerver modul(dll dll) CGI(exe exe)
WEB szerverek Top Developers Developer January 2004 Percent February 2004 Percent Change Apache 31040922 67.38 31703884 67.21-0.17 Microsoft 9675979 21.00 9849971 20.88-0.12 SunONE 1503855 3.26 1657295 3.51 0.25 Zeus 752053 1.63 755227 1.60-0.03
Apache WEB szerver konfiguráci ció - szolgáltat ltatás - önáll lló indítás Main server parameters Port 80 ServerAdmin kovacs@iit.uni-miskolc.hu ServerName laszlo.iit.uni-miskolc.hu DocumentRoot "C:/Program Files/Apache Gr/Apache/htdocs <Directory "C:/Program Files/Apache Gr/Apache/htdocs"> Options Indexes FollowSymLinks MultiViews Order allow,deny Allow from all </Directory> DefaultType text/plain ErrorLog logs/error.log ScriptAlias /cgi-bin/ "C:/Prog/Apache/cgi Prog/Apache/cgi-bin/ bin/ AddEncoding x-gzip.gz.tgz AddHandler cgi-script.cgi ServerRoot/conf conf/httpd.conf
Apache védelmi mechanizmusai szintek: - what you have - what you know - what you are mód1: - voluntary (jelsz jelszó) - authentication - authorisation - involuntary (IP cím) realm: védett terület : Authname paraméterezhet terezhető kliens kérés hiba: nincs azonosító adat név, jelszó Kérés, név és jelszó realm szerver
Apache védelmi mechanizmusai Adatátvitel tvitel kódol dolása sa: Authtype base64 (basic) digest IP alapú ellenőrz rzés: Allow from IP /domain Deny Kiért rtékel kelés sorrendje: Order Név/jelsz v/jelszó ellenőrz rzés: Require valid-user xx yy group zz yy jogosultsági gi lista: AuthUserFile filenév név:jelszó AuthGroupFile filenév
Apache védelmi mechanizmusai <Directory "C:/Program Files/Apache G/Apache/htdocs/proba htdocs/proba"> Order Deny,Allow Allow from All Authtype Basic Authname Proba Require valid-user Authuserfile "C:/ /Ap Apache/conf/ ache/conf/ulist.txt ulist.txt" </Directory> httpd.conf GABI:gabi Anna:Anna ulist.txt
Kriptográfiai alapok Szteganográfia és kriptográfia: informáci ciók elrejtése A kriptográfia lehet egy vagy kétkulcs tkulcsú A feldolgozott szövegr vegrész lehet: - karakter - blokk - karakterlánc Megvalósítás s lehet: - szoftveres - hardveres Lehet egyirány nyú kódol dolásr sról is beszélni
Kriptográfiai alapok szöveg titkosítás titkos kulcs rejtjelezett szöveg szöveg visszafejtés egykulcsos rendszer szöveg titkosítás nyilvános nos kulcs titkos kulcs rejtjelezett szöveg szöveg visszafejtés kétkulcsos rendszer
DES algoritmus váza egykulcsú blokk kódol dolás bitszintű műveletek XOR, permutáci ció S-BOX egységek gek
RSA algoritmus váza - kétkulcs tkulcsú - számol molásig sigényes - speciális aritmetika p, p 1 2 : prímek q = p *p 1 2 e,d : q-ból származtatott e: nyilvános nos kulcs d: titkos kulcs m = nyílt szöveg c = rejtjelezett szöveg c = m e mod q m = c d mod q kódol dolás/dek s/dekódol dolás A gyakorlatban a q szám kb. 1000 számjegyb mjegyből is állhat
RSA algoritmus váza Kulcs meghatározás menete 1. p1,p2 prímszámok 2. q = p1*p2, f = (p1-1)*(p2-1) 3. e : lnko(e,f) = 1 4. d : e*d = 1 (mod f) 5. nyilvános kulcs: q, e 6. titkos kulcs: d P1 = 5 P2 = 11 Q = 55 F = 40 E = 13 D = 37 M = 5 M = 5 ^ 13 mod 55 = 15 15 ^ 37 mod 55 = 5
Újlenyomat A teljes szöveget jellemző rövid szöveg. Működése egy hasító algoritmuson (hash hash) alapszik. Célja: egy [1..N] intervallum elemeinek leképz pzése egy [1..n] intervallumba, ahol n << N Leggyakoribb hash függv ggvény: h(x) = x mod n nagy szövegekn vegeknél: blokkolás és XOR MD5 : 128 bites lenyomat SHA-1: 160 bites lenyomat Aladár megy a kertbe 5624132563421 652 Char Int n mod m
Digitális aláí áírás Dokumentum eredetiség ellenőrz rzésének eszköze ze szöveg hash újlenyomat titkos kulcs titkosítás aláí áírás szöveg' aláí áírás hash nyilvános nos kulcs visszafejtés újlenyomat jlenyomat ellenőrz rzés újlenyomat jlenyomat
Digitális aláí áírás Elfogadás feltételei: telei: - újlenyomat jlenyomat = újlenyomat jlenyomat - aláí áírás = aláí áírás - szöveg veg = szöveg - nyilvános nos kulcs és titkos kulcs egymáshoz tartoznak Véd a következ vetkező problémák ellen: - szöveg módosul dosulása sa - feladó meghamisítása sa Alapfeltétel: tel: biztosnak kell lennünk, nk, hogy a nyilvános nos kulcs a valóban megadott személyhez tartozik
Kulcsok kezelése Vannak nyilvános nos kulcstárak, amelyek - rendelkezésre bocsátj tják a nyilvános nos kulcsokat - garantálj lják a tulajdonos azonosságát Tanúsítv tvány tartalma: - tulajdonos azonosító adatait (pl. név,..) - nyilvános nos kulcsát - a tanúsítv tványt kiáll llító szervezet digitális aláí áírását - érv rvényess nyességi adatokat - kiáll llító azonosító adatait Tanúsítv tványok, kulcstárak hierarchiája épül ki
Kulcsok kezelése tanúsítv tványt nytár Fő hitelesítő szerver Kibocsátó hitelesítő szerver Kibocsátó hitelesítő szerver Regisztráci ciós egység Regisztráci ciós egység Regisztráci ciós egység ügyfelek ügyfelek ügyfelek ügyfelek
Szabványok, gyakorlati megoldások X.509 szabvány (PKI, PKCS) Legfőbb magyar hitelesítés s szolgáltat ltatók: Netlock Kft (www.netlock.hu www.netlock.hu) MÁV Informatika (www.mavinformatika.hu www.mavinformatika.hu/ca ca) Matáv e-szigno Microsec e-szigno (www.e www.e-szigno.hu szigno.hu) Informáci ciók: e-al aláir irás.lap.hu