You are here: TUTWiki>Tietoturva>Sisällysluettelo?>PääsyoikeuksienEsittäminen (revision 3)

Pääsyoikeuksien esittäminen

Pääsynvalvonnan tavoite on yksinkertainen: tietyt tiedot vain tietyille henkilöille. Tämän tavoitteen käsittely vaatii kolmenlaista tarkennusta:

  • miten oliot eroavat toisistaan, esim. mikä edustaa henkilöä tietokoneessa;
  • mitä toimintaa on "tiedot jollekulle";
  • mitkä ovat "tietyt"?

Ensinnäkin pohjalla on jako toimijoihin (subjekteihin) ja kohteisiin (objekteihin). Tämä on yksinkertaista ihmisten ja papereiden osalta, mutta tietokoneen muisteissa sijaitsevien bittien osalta voi vaatia päättelyä. Tyypillisesti tiedostot ja hakemistot ovat kohteita ja prosessit subjekteja. Prosessiakin voidaan kuitenkin "kohdella" kommunikoimalla sen kanssa, esim. lähettämällä sille signaali.

Toimintaa voisi olla kaikki se, mitä ihminenkin tekee tiedolle ja tietovälineille, mutta jäljempänä eri malleja esiteltäessä abstrahoidaan samalla tavalla kuin alakoulussa, jossa opittiin lukemaan ja kirjoittamaan. Näiden toimien lisäksihän voisi ajatella Unixin tiedosto-oikeuksien mukaisesti ainakin, että ohjelmatietoa voidaan myös suorittaa. Kyseisessä tiedostossa olevan tiedon kannalta kyseessä on kuitenkin vain lukeminen (muiden resurssien kannalta asiassa tietysti on eroa). Olivatpa pääsylajit mitä tahansa, ne voivat olla erillisiä tai hierarkkisia (esim. jos saa kirjoittaa, niin saa lukeakin, mutta näin ei välttämättä ole).

Harjoitus: Unixin "rwx" sisältävät tulkinnat toiminnan hienommallekin jaottelulle. Pohdi yleisesti, millaista lukemista, kirjoittamista ja suorittamista voi eri yhteyksissä olla.

Kussakin pääsylajissa voidaan soveltaa yhtä tai useampia seuraavista rakenteista:

  • Eräänlainen perusmalli on, että kaikkien toimijoiden oikeudet kaikkiin kohteisiin luetellaan matriisissa, jossa on rivi kutakin toimijaa ja sarake kutakin kohdetta varten. Tämä on teoriassa täydellinen menetelmä, mutta ei kovin käytännöllinen, jos olioita erotellaan vähänkään hienojakoisesti. Suurin osa valtavasta matriisista jäisi tyhjäksi ja toisaalta monet rivit ja sarakkeet olisivat suurelta osalta toistensa kopioita.
  • pääsyluettelo (access list): kuhunkin kohteeseen liittyvä luettelo toimijoista, joille pääsy kohteeseen sallitaan (tai joilta se kielletään). Tässä pääsymatriisin sarake on talletettu kohteen yhteyteen, eikä tyhjiä kohtia ole tarvinnut käsitellä.
  • kykyluettelo (capability list): jokaiseen toimijaan liittyvä luettelo kohteista, joihin toimijalla on pääsy, voidaan toteuttaa myös useampana vaihtoehtoisena (ei-yhtäaikaisena) listana, jolloin kukin edustaa toimijan yhtä roolia. Oleellisesti kuitenkin pääsymatriisin rivi on irrotettu ja kytketty toimijaan. Vaikka tällaiset kykytiedot tyypillisesti ovatkin käyttöjärjestelmän suojissa, ne voivat olla sikäli tosiaan irti taulukosta, että toimija voi luovuttaa (mahdollisesti rajoitetun) kopion niistä toiselle toimijalle, vähän samaan tapaan kuin tavanomaisia avaimia voi kopioida. (Rakentamalla puhtaasti kykyjen perustalle päästäisiin uudentyyppisiin käyttöjärjestelmiin (vrt. yksi johdanto ), joihin ei tässä puututa.)
  • ryhmittely: määritellään ryhmiä ja jokainen olio yhden tai useamman ryhmän jäseneksi. Toimijan pääsy kohteeseen sallitaan, jos toimija kuuluu tarkalleen samoihin ryhmiin kuin kohde, tai edes yhteen kohteen ryhmistä, tai jos kohteen ryhmitys on toimijan ryhmityksen osajoukko (tässä siis 3 erilaista mallia).

On huomattava, että mihinkään näistä rakenteista ei sellaisenaan sisälly autentikointia, eli sen selvittämistä, onko kohteeseen pyrkijä tosiaan se tietty olio, jota sen haluama pääsyoikeus koskee. Koska pääsynvalvonnan ideana on estää asiattomien, myös väärällä nimellä esiintyvien, pääsy, käytännössä sitä edeltää ainakin jonkinlainen autentikointi, esim. salasanojen tai haaste-vaste -menetelmän avulla. Mekanismi, joka ottaa vastaan ja mahdollisesti toteuttaa (ainakin vie eteenpäin) autentikoitujen käyttäjien pääsytoiveet, jätetään tässä abstraktiksi (mutta käyttöjärjestelmän on sekin toteutettava). Tästä mekanismista käytetään nimitystä viitemonitori ('reference monitor').

Harjoitus: Millainen malli kuvaa käyttäjien pääsyä Unixin tiedostojärjestelmään?

Vastaus: ryhmämalli (kolmas mainituista), jossa "ugo"-toimijoille "rwx|rwx|rwx"-pääsyluettelo tiedostojen ja hakemistojen yhteydessä; joissakin unixeissa ACL:t eli access control-listat.

Toimijoiden ryhmittelyä voidaan toteuttaa myös rooleilla, jotka päällisin puolin ovat samanlaisia kuin ryhmät. Rooliperustaisesta pääsynvalvonnasta on kyse esimerkiksi silloin, kun TTY:n Intranetissa opiskelijoiden nimilistoihin (ilmoittautumiset tentteihin tai kursseihin; tenttitulokset) pääsy edellyttää omat Intranet-roolinsa.

-- JukkaKoskinen?

SivuTiedotLaajennettu edit

Vaativuus Perus
Valmius Valmis
Tyyppi Ydin
Luokitus Toimet
Mitä Saatavuus
Miltä Useita
Missä Useita
Kuka Tite-ammattilainen
Milloin Ennakolta
Miksi Hyvä tapa
Print version |  PDF  | History: r3 < r2 < r1 | 
Topic revision: r3 - 22 Apr 2010 - 08:22:44 - MaijuLehtonen?
 

TUTWiki

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TUTWiki? Send feedback