UL/FRI/UNI-RI/RKO/Informacijski sistem
Iz E-študij, proste zakladnice študentskega znanja
Informacijska plast
Sestavljajo jo storitve, ki obdelujejo uporabniške podatke po uporabnikovih navodilih in pod njegovo kontrolo. Te storitve lahko razdelimo v naslednje sklope:
- nestandardne aplikacije,
- aplikacijska plast - standardne uporabniške storitve ,
- predstavitvena plast - storitve, ki uporabniške podatke preoblikujejo v potreben format in obliko in
- plast seje - funkcije logičnega povezovanja procesov, ki se zgradijo v okviru uporabnikove aplikacije.
Storitve informacijske plasti:
- nestandardne storitve - zanje ne obstaja širše priznan standard, ki bi opredeljeval njihovo funkcionalno vsebino ali način izvedbe,
- standardne storitve - izvedba se mora prilagoditi vsem osnovnim, predvsem pa komunikacijskih standardom,
- podporne storitve - definirane so na prezentacijski in sejni plasti, podpirajo standardne in nestandardne uporabniške storitve s funkcijami, ki jih potrebujejo za delovanje v razpršenem informacijskem okolju. Zagotavljajo kooperativno avtonomijo povezovanja aplikacijskih procesov in čim večjo uporabniško transparentnost sistema. Razdelimo jih lahko na
- prezentacijo podatkov in
- funkcije logičnega povezovanja.
Aplikacijska podatkovna vsebina je za transportni sistem transparentna. Ta lastnost je bistvena za razvrščanje storitev na uporabniško informacijske in na transportno komunikacijske.
stran 435
Aplikacijska plast
Vsebuje standardne in nestandardne aplikacije. V TCP/IP modelu vsebuje še predstavitveno in sejno plast ISO/OSI modela.
ASPT omogoča uporabnikom dostop do storitev sistema. Uporabnikom omogoča preprosto in transparentno povezovanje z aplikacijami in storitvami IKS.
Standardne storitve te plasti so:
- OSI: VT (virtual terminal), FTAM – file transfer access and management, MHS (message handling system), MOTIS (standard X.400), EDI, SMAE,
- TCP/IP: Telnet, FTP (file transfer protocol), SMTP (simple message transfer protocol), SNMP (standard RFC)
Tanki odjemalec - lokalni dostop:
- A: vključitev terminala,
- B: zazna aktivnost prek kontrolnega vodila,
- B: zagon login procedure,
- A: vnos l/p,
- B: zagon uporabniškega profila - običajna interakcija med uporabnikom in računalnikom.
Telnet - oddaljeni dostop:
- A: zagon storitve telnet,
- A: podamo naslov oddaljenega računalnika,
- B: vzpostavitev procesa telnet (ustvarimo entitetni par na 7. plasti),
- B: aktivacija procedure login (preko procesa telnet),
- A: tekstovni prenos l/p proceduri login,
- B: aktivacija procedure za uporabniško kvoto (preko procesa telnet).
Razlika terminalski telnet:
- pri telnetu
- ni kontrolnega kanala - fizična povezava terminala ne opredeljuje enoumno - potreba po fazi vzpostavljanja zveze,
- povezava preko omrežne infrastrukture.
- pri lokalnem dostopu
- terminal je pasiven (sposoben je le pošiljanja in prikazovanja znakov na zaslonu).
HTTP
- na vsaki spletni lokaciji teče strežniški proces, ki čaka na zahteve za povezavo,
- pregledovalniki pošiljajo zahteve,
- ko se zveza vzpostavi, odjemalec pošlje zahtevo, strežnik pošlje odgovor,
- zveza se (TCP) poruši.
Proxy
- most - pregledovalnik s proxyjem komunicira preko http protokola, proxy pa s strežnikom preko ftp, gopher,...
- cache,
- omejevanje dostopa do strani z določeno vsebino.
Omejevanje dostopa (požarni zid)
- filtriranje naslovov (usmerjevalnik)
- filtriranje aplikacij (aplikacijski konverter)
Predstavitvena plast
Storitve povezane s predstavitvijo podatkov:
- storitve, ki zagotavljajo predstavitve različnih binarnih tipov podatkov,
- storitve, ki omogočajo združljivost predstavitve alfanumeričnih znakov (združljivost kodnih strani),
- storitve, ki omogočajo stiskanje podatkov (kompresija),
- storitve, ki zaščitijo podatke med prenosom pred napadalci (enkripcija).
stran 485
Sejna plast
Skrbi za logično povezovanje aplikacijskih procesov. V okviru TCP/IP arhitekture je to prepuščeno aplikacijam.
Seja pomeni potek dialoga med dvema aplikacijama.
SSPT omogoča aplikacijskim storitvam dostop do funkcij, ki omogočajo in nadzorujejo logično povezovanje aplikacijskih procesov oddajnika in sprejemnika ter dostop do komunikacijskega sistema.
Sejna plast izkoriščta storitve transportnega sistema, ki ji zagotavlja idealen prenosni kanal. Njena naloga je vzpostavljanje dialoga med aplikacijskimi procesi in reševanje problematičnih situacij, ki se lahko pojavijo med dialogom.
Povezava s transportnim sistemom:
- vsaka sejna povezava zahteva svojo transportno povezavo,
- dovoljene so prekinitve ene ali druge povezave (prekine se lahko samo ena),
- multipleksiranje povezav se lahko izvede le na nižjih plasteh (ponavadi med transportno in omrežno).
Sejna plast uporabniku omogoči strukturiranje podatkov, ki se prenašajo med procesoma (sejno plast sestavlja ena ali več aktivnosti, aktivnost sestavlja več dialogov. Aktivnost lahko poteka v okviru več sejnih povezav, združuje vsebinsko zaokroženo množico podatkov. Znotraj seje se lahko sočasno izvaja le ena aktivnost, znotraj aktivnosti en dialog. Dialog ne more biti deljen med aktivnostmi).
Žetoni so orodje, ki omogoča uporabniku opredeliti naravo sejne povezave in njeno strukturiranje na aktivnosti in dialoge.
- podatkovni žeton - lastniku omogoča pošiljanje podatkov,
- žeton za sproščanje povezave - lastnik lahko ruši sejno povezavo,
- sinhronizacijski žeton - z njimi lahko opredeljujemo sinhronizacijske točke.
Sinhronizacijske točke so meje med aktivnostmi in dialogi ali pa opredeljujejo podatkovne ali procesne segmente transakcij. Nadzira jih protokol seje, ki razlikuje med dvema tipoma:
- glavne - omejujejo dialoge, zahtevajo eksplicitno potrjevanje in s tem povezano storitev (počasen transportni sistem, zelo počasno zaradi potrjevanja,
- pomožne - omejujejo dele dialoga, ne zahtevajo povezane storitve, so hitrejše.
V sinhronizacijski točki lahko sejo:
- končamo (v primeru težav),
- lahko ponovimo izvajanje od določene sinhronizacijske točke naprej. Seja se lahko ponovi le od glavne sinhronizacijske točke,
- v vsaki je možno dialog ustaviti (zamrzniti),
- prenos velike količine podatkov lahko razsekamo, tako da morebitne napake povzročijo čimmanj prenosov.
Osnovne funkcije sejnih protokolov:
- jedro (osnovna minimalna funkcionalnost povezane storitve in dvosmernega kanal),
- usklajeno sproščanje (kooperaativno sproščanje logičnega kanala),
- izmenično dvosmerni kanal,
- sinhronizacija,
- nadzor in upravljanje aktivnosti,
- sporočanje neregularnosti.
Sejna plast vsebuje mehanizme, ki so podobni mehanizmom OS za medprocesne komunikacije.
stran 489
Naloge sejne plasti (zapisk s predavanj):
- kooperativnost (mehanizem, ki omogoča, da se neodvisni elementi povežejo v neko logično celoto),
- konkurenčnost (več sistemov tekmuje za nek vir),
- transparentnost (veliko sistemskega nadzora).
Varnost
Varnost je sestavljena iz zaščite in zanesljivosti:
- Zaščita sistema je preprečevanje možnih nevarnosti (zaščita virov pred napadalci), onemogoča izvajanje nelegalnih storitev. Zaščita opredeljuje varnost, ki jo določa razmerje med dejansko uporabo sistema in predvideno namembnostjo sistema.
- Zanesljivost sistema je zagotavljanje razmer za delovanje storitev in normalno delo uporabnikov. Zanesljivost opredeljuje varnost, ki jo določa razmerje med uporabniki in sistemom.
Varnost lahko razdelimo na lokalno in razpršeno. Poznati moramo razmere in stanje sistema med delovanjem - nadzor.
Nadzirati sistem pomeni, da poznamo njegove kvalitativne in kvantitativne lastnosti, da nadzorujemo vedenje uporabnikov in da pravočasno zaznamo kritične točke, ki lahko prizadenejo zanesljivost delovanja in grožnje, ki pomenijo nepravilno/nepooblaščeno uporabo sistemskih virov.
Vdiralec
- neregistriran uporabnik,
- uporabnik, ki deluje izven svoje lastne kvote.
Zasebnost omogoča uporabniku, da uporablja podatke oz. se vede brez bojazni, da so ti podatki dostopni tudi nepooblaščenim ljudem – vsakemu je dano na presojo, ali svoje podatke deli ali pa ne deli z drugimi.
Nevarnosti, ki nam pretijo:
- obstoj zveze (komunikacije),
- vdor,
- zaščita vsebine podatkov v omrežju (kriptiranje sporočil),
- zaščita identitete uporabnika (elektronski podpis),
- zaščita verodostojnosti sporočila (z zgoščevalno funkcijo).
Nadzor in upravljanje
Veliko potencialno možnih nevarnosti lahko predvidimo, identificiramo z zanesljivim nadzorom sistema.
Nadzor sistema pomeni zbiranje podatkov o njegovem stanju, delovanju in izkoriščanju (o vseh elementih sistema). Storitve nadzora:
- odkrivanje in odpravljanje napak,
- merjenje in analiza zmogljivosti sistema,
- nadzor varnostnih mehanizmov,
- nadzor sistema za zaračunavanje storitev...
Upravljanje je ukrepanje na osnovi nadzora. Brez nadzora upravljanje ni mogoče.
Ukrepe ločimo na:
- ukrepe v realnem času (posledice alarmov) in
- zakasnjene ukrepe (npr. iz podatkov vidim, da promet narašča. Ne odreagiram takoj).
SNMP (Simple Network Managment Protocol)
- standard za operaterje
- dokumentirajo različni proizvajalci, z istim jezikom zbirajo podatke,
- lahko se komu pritožimo.
Nadzorno-upravni center:
- odkrivanje napak (pred uporabniki),
- odpravljanje napak (transparentno).
stran 513
Zaščita obstoja komuniciranja
- želimo prikriti obstoj komuniciranja,
- zasedenost linije držimo na konstanti - generiramo slepi promet (dummy), ki ima isto statistiko bitov kot običajni promet,
- realizacija je na 2. (najkasneje na 3.) plasti,
- potrebujemo veliko dodatne opreme.
Vdor
- V naše omrežje/računalnik pride nekdo, ki za to nima pooblastil.
- Zaščitimo se lahko na 3. plasti s filtriranjem naslovov in na 7. plasti s filtriranjem aplikacij - požarni zid (filtriranje populacije in filtriranje storitev).
- Vdori so lahko pasivni ali aktivni.
Vdori s strani:
- hekerjev,
- upravljalcev/nadzornikov,
- (ne)pooblaščenih državnih služb,
- sodelavcev,
- neznancev.
Pod poglavje vdor spada tudi zaščita vsebine in enkripcijske metode.
stran 510
Zaščita identitete uporabnika
- Lahko rečemo tudi integriteta uporabnikov.
- Sprejemnik lahko preveri identiteto pošiljatelja. Pošiljatelj se podpiše - elektronski podpis.
Postopek:
- Pošiljatelj zaznamuje sporočilo s svojim tajnim ključem - D_P(P) in ga zakodira z javnim ključem sprejemnika E_S(D_P(P)).
- Sprejemnik sporočilo najprej odkodira s svojim tajnim ključem in dobi D_P(P), potem pa na sporočilu uporabi pošiljateljev javni ključ in dobi P.
- Veljati mora: E(D(P)) = D(E(P)) = P!
Postopek odpove, če začne pošiljatelj tajiti svoj podpis. Ko spremeni podatke o ključu, B nima več dokaza o njegovi identiteti. Zato v sistem uvedemo notarja - certifikatno agencijo. Skupaj s ključem vsebuje podpis še čas začetka in čas konca veljavnosti ključa. Tako lahko sprejemnik dobi ključ, ki je bil veljaven takrat, ko je pošiljatelj poslal sporočilo.
stran 578
Integriteta sporočila
- Zaščita verodstojnosti.
Postopek:
- Oddajnik za sporočilo P izračuna Z(P), kjer je Z zgoščevalna funkcija (npr. kontrolna vsota).
- Oddajnik Z(P) podpiše (D(Z(P)) in ga pošlje sprejemniku.
- Prav tako pošlje P.
- Sprejemnik ponovi izračun Z(P_sprejet) in ga primerja z odkodirano Z(P).
- Če sta enaka, je sporočilo po vsej verjetnosti pravilno.
stran 580
Kriptiranje
Osnovni namen je skrivanje vsebine sporočila pred vdiralci. Vdiralci:
- hekerji,
- upravljalci in nadzorniki,
- sodelavci,
- državne službe,
- neznani vdiralci.
Osnovni pojmi:
- enkripcijski ključ E,
- dekricpijski ključ D,
- sporočilo P = D(E(P)),
- kriptogram E(P).
Kriptiranje je metoda razpršene zaščite, kjer se vdiralec pojavi nekje na prenosni poti od oddajnika k sprejemniku. Vdiralce delimo na:
- pasivne ali prisluškuvalce (zna dekriptirati) in
- aktivne ali ponarejevalce (zna dekriptirati in enkriptirati).
Kriptografske metode delimo:
- Glede na način zakrivanja
- substitucijske (vsak znak, skupino nadomestimo z drugim znakom, skupino),
- transpozicijkse (spreminjamo vrstni red).
- Glede na ključa E in D
- simetrične (E=D) - hitri, problemi s certificiranjem,
- asimetrične (E
D) - boljši, veliko počasnejši.
Za razbitje kriptograma moramo poznati metodo in ključ(a).
stran 551
Klasične substitucijske metode
Cezarjev kriptogram
Ključ pove za koliko znakov je sporočilo zamanknjeno. Konstantnih delov sporočila (recimo pozdravljeni) ne smemo kodirati. Kriptogram lahko razbijemo na več načinov:
- s statistiko jezika (problem: kratka sporočila),
- na osnovi pričakovanega teksta - semnatično razbijanje.
Viegenerjev kriptogram
Matrika 25 X 25 v kateri so vse Cezarjeve abecede. Za ključ vzamemo dolgo besedo. Kar želimo kodirati podpišemo pod ključ. Črke pod ključem kodiramo po Cezarjevi abecedi, ki je v vrstici, ki se začne na to črko.
Oba kriptograma sta bila na nivoju črke.
Porterjev kriptogram
Kriptiramo po dva znaka hkrati. V matriki so znaki s katerimi zamenjamo kombinacijo prvih dveh črk vrstica-stolpec.
stran 554
Razbijanje substitucije
- na osnovi poznanega besedila
- na osnovi statistike jezika - za vsak jezik lahko naredimo statitiko pogostosti pojavljanja posameznih črk, parov ali sklopov več črk. Tako potrebujemo le daljše kriptirano besedilo, da se z zadostno verjetnostjo pojavijo statistične lastnosti jezika.
- na osnovi poznavanja narave ali okvirne vsebine besedila (semantike) - poiščemo vzorce, značilne za korene besed, ki se najverjetneje nahajajo v besedilu (primer v knjigi, strani 556-558)
Transpozicijski kriptogram
Za ključ si izberemo besedo, ki ima vse črke različne. Pod besedo podpišemo sporočilo. Sporočilo zapišemo v takem vrstnem redu kot si sledijo črke ključa v abecedi.
stran 562
DES
- DES (Data Encryption Standard) se je razvil iz vojaškega standarda.
- Uporablja simetričen ključ.
- DES rešuje problem enkripcijske programske opreme - nekdo mora vedeti kje je algoritem, kje je ključ, kako deluje.
- DES je črna škatla - fizično varovan zaklenjen kodirnik.
- DES uporablja tako transpozicije (permutacije) - P škatle, kot tudi substitucije S škatle. P škatle omogočajo tudi ekspanzije in redukcije.
Osnovni gradniki DES-a imajo kaskadno zasnovo P in S škatel. Podatke razbijemo na 64-bitne bloke. 56-bitni osnovni ključ se reducira v 16 48-bitnih ključev od katerih vsak sodeluje v eni od 16 kaskadno povezanih S in P škatel (vse vezave so enake, le da imajo različne tabele). Algoritem je simetričen. Vse preslikave P in S škatel so javne. Obstajajo tudi različice algoritma z neskončnimi bloki.
Metoda enkratnega ključa: kriptogram uporalja XOR. Velja:
.
Kriptiranje:
.
Za kriptiranje uporabljamo ključ, ki je daljši od sporočila. Težave:
- kako generirati poljubno dolge ključe,
- kako generirati enake ključe pri oddajniku in sprejemniku,
- sinhronizacija.
Za generiranje neskončno dolgega ključa lahko uporabimo algoritem DES. Poskrbeti moramo samo še za usklajenost oddajnika in sprejemnika. Sinhronizirana morata biti na 64-bitne bloke.
V praksi se uporablja trojni DES - 64 bitni blok trikrat zakodiramo, pri vsaki ponovitvi uporabimo drug ključ. Obstaja sum, da vojska pozna bližnjico za dekriptiranje sporočil.
stran 563
Slabosti simetričnih algoritmov
Slabost simetričnih algoritmov je distribucija ključa, saj ga moramo menjati ob različnih situacijah:
- rutinska menjava,
- menjava zaradi izrednih razmer (npr. menjava kadra),
- menjava ob sumu.
Rešitev: ne pošiljamo ključa, ampak podatke o ključu.
Hierarhija zaupnosti - princip vaške blagajne: direktor lahko sam sestavi ključ, nižji usležbenci ga lahko sestavijo le skupaj. Do problema pride pri ljudeh, ki niso v sistemu distribucije,
Sistem parov: ko so podatki zaupni le omejen čas. A pošlje B-ju množico ključev. B si enega izbere in ga razbije. B pove A-ju, da si je izbral n-ti ključ. A s tem ključem zakodira sporočilo in ga pošlje B-ju. B ga lahko odkodira takoj, napadalec pa mora še prej razbiti ključ (več ur).
Distribucija ključa
Lahko ga računamo lokalno. Pošiljajo se le podatki o ključu.
MIT-RSA
- RSA je algoritem za kriptiranje z javnim ključem.
- Vsi ti algoritmi so asimetrični.
- Enkripcijski ključ je javen in je dostopen vsakomur, dekripcijski ključ je tajen in ga pozna le lastnik.
- Pogoji:
- D(E(P))=P,
- iz znanih P in E(P) mora biti nemogoče ugotoviti D,
- iz E mora biti zelo težko/nemogoče ugotoviti D.
Postopek RSA:
- izberemo dve veliki praštevili p in q,
- izračunamo n=pq,
- izračunamo z=(p-1)(q-1),
- izberemo D, ki nima skupnih faktorjev s številom z,
- izberem E, da velja DE mod z = 1.
Enkripcija: E(P)=P^E mod n.
Dekripcija: P=E(P)^D mod n.
stran 575