TTKK / J.Koskinen / Tietoturvallisuuden perusteet, 2002

Fyysinen turvallisuus

Sisältö
Fyysisestä turvallisuudesta yleisesti (mm. kahdennukset)
Turvalliset prosessorit; Tamper-resistance
Toimikorttien turvallisuus

Fyysinen (tieto)turvallisuus yleisesti

Motivointia

Fyysinen tietoturvallisuus sisältää asioita, jotka eivät liity yksinomaan tietoon, vaan yrityksen tai vastaavaan muuhunkin olemiseen ja toimintaan, kuten sijaintiin, toimitiloihin, laitteistoihin ja tarvikkeisiin. Kun tuota muuta "fysiikkaa" laitetaan kuntoon, kannattaa jo ottaa tietokin huomioon, mutta fyysinen ympäristö voi sen lisäksi tarvita erityistoimia tietoturvan näkökulmasta.

Sisältöä ja tavoitetta

Tällä sivulla mainitaan lyhyesti fyysisiä tietoturvaa edistäviä menetelmiä, ja muistutetaan erityisesti kahdennuksen ideasta.

Tavoitekysymyksiä:

  • Mainitse ainakin kuusi erityyppistä fyysistä keinoa, joilla tietokonelaitteistoja ja niissä olevia tietoja voidaan suojata erilaisilta uhkilta.
  • Varmuuskopiointi on jotain enemmän kuin kopiointia. Mitä kaikkea siihen kuuluu? Jos varmistettava aineisto mahtuu yhdelle nauhalle ja sellaisia on käytössä viisi, miten järjestäisit niiden käytön?

Fyysinen turvallisuus yleisesti

Kurssin johdannossa on mainittu fysikaalisia tietoturvauhkia tulesta ja vedestä alkaen (uhkaluetteloiden yhteydessä). Fyysinen turvallisuus tarkoittaa suojautumista muunkinlaisilta uhkilta käyttäen kuitenkin fysikaalisia keinoja, jotka ulottuvat prosessorista rakennuksiin.

Harjoitus: Keksitään ja kirjataan fyysisiä keinoja, joilla tietokonelaitteistoja ja niissä olevia tietoja voidaan suojata erilaisilta uhkilta.

Eräänlaiset perusteet kaikelle tietoturvalle voi luoda työajan jälkeen tehtävällä tarkastuskierroksella, jossa katsotaan ovatko (1) työhuoneiden ovet, (2) laatikot ja kaapit sekä (3) työasemat lukossa, (4) levykkeet turvassa ja (5) tärkeät paperit yms. turvassa. Kaikkia näitä seikkoja pitää muistaa soveltaa myös työaikana, erityisesti puhtaan (työ)pöydän politiikkaa - ainakin ellei työhuone ole lukittavissa ja pelkästään omassa käytössä.

Muita huomioon otettavia seikkoja ovat laitteiston sijoittelu; fyysinen pääsy tiloihin; kaapelointi katonrajassa valekaton yläpuolella: onko sielläkin palovaroittimet; verkon liityntäpisteiden sijainti; virran saatavuus; huollon ja ylläpidon saatavuus; varmuuskopioiden talletuspaikka.

Varmuuskopiointi on keskeinen menetelmä, jolla voidaan toipua fyysisistä vahingoista. Tietojen kopiointi sinänsä ei ole fyysinen menetelmä ja se mainitaankin kurssilla muutamassa aivan muussa yhteydessä (esim. virukset, avaimet ja tietokannat). Nimenomaan fyysisestä näkökulmasta on kyse, kun huomataan seuraava: Jotta kopio olisi varmuuskopio, se pitää toimittaa melko kauas koneesta, vähintään eri huoneeseen, mieluummin johonkin toiseen rakennukseen. Tämä vaiva pitäisi kaiken lisäksi nähdä joka kerta, kun kopioita tehdään, eli säännöllisesti ja melko usein. Tämä pitäisi kohdistaa myös täyskopioiden välissä tehtäviin inkrementaalisiin eli pelkkien muuttuneiden tietojen kopioihin. Eikä kopioita tehtäessä saa unohtaa todennusta, että kopio todella on kopio. Jos (ja kun) aineistosta voi olla useita kopioita yhtä aikaa, kannattaa vielä suunnitella sellainen päällekirjoituksen järjestys, että hitaasti edenneen tai muuten vain myöhään huomatun eheysongelman korjaamiseksi on aina myös melko vanha kopio tallella.

Vakavan vahingon sattuessa ei riitä, että tiedot ovat tallessa. Toiminnan nopea jatkaminen voi vaatia uusia laitteita ja uusia toimitiloja. Laitteiden hankkiminen ei ole yleensä ratkaiseva ongelma mutta sopivat tilat voivat olla. Tällaisia tilanteita varten voidaan varautua rakentamalla varatila ("cold site"), johon laitteisto voidaan asentaa lyhyessä ajassa. Kriittisemmät sovellukset voidaan joutua varmistamaan valmiilla asennuksilla, jossa voidaan ottaa huomioon myös varahenkilökunnan saanti lyhyellä varoitusajalla ("hot site"). Tällainen kannattaa yleensä tehdä useamman tahon yhteistyössä, jolloin kustannukset ovat kohtuulliset.

Varmuuskopioinnissa ja varatilojen hankkimisessa on yleisesti kysymys kahdennuksesta, eli redundanssin lisäämisestä. Redundanssia voidaan käyttää monella tasolla. RAID-järjestelmä on siitä yksi laitteistollinen esimerkki. RAID eli 'Redundant Array of Inexpensive Disks' tallentaa samanaikaisesti usealle levylle. Vastaavanlainen mekanismi on usean rinnakkaisen palvelimen käyttö. Sovelluksen tasoista redundanssia on vaikkapa EAN-viivakoodin kirjaaminen käsin kassakoneeseen, jos infrapunalukija ei toimi. Sitä muistuttaa, tavallaan, luottokorttitietojen kopiointiin käytetty "höylä", mutta se on esimerkki varajärjestelmästä, joka on heikompi kuin aito kahdennus.

Harjoitus. Kahdennuksella pyritään varmistamaan saatavuutta ja sillä on ilmeisen myönteinen vaikutus myös tietojärjestelmän eheyden säilyttämisessä: varmuuskopioista palautettu päivän vanha tieto (jos se tosiaan on kokonaista) on sentään eheämpää kuin viikon vanha tai täysin puuttuva tieto. Onko kahdennuksessa jotain myönteistä luottamukselllisuuden kannalta?

Turvalliset prosessorit; Tamper-resistance

Motivointia

Vaikka tietoturvallisuudessa on paljon muutakin kuin tietokoneiden turvallisuus, prosessoreiden turvallisuutta voitaneen pitää melko keskeisenä tietoturvan lähtökohtana.

Sisältöä ja tavoitetta

Tässä rajoitutaan esittelemään seikkoja, joita täytyy ottaa huomioon suunniteltaessa turvallisia prosessoreita.

Tavoitekysymys:

  • Millaisia tasoja voidaan erotella tietokonelaitteistoon kohdistuvan peukaloinnin ehkäisyssä?

Turvalliset prosessorit; Tamper-resistance

Hyvin yleisellä tasolla turvalliselle tieto(kone)järjestelmälle voidaan asettaa seuraavat kaksi vaatimusta: (1) Järjestelmän pitää pystyä erottamaan, ovatko siihen kohdistuvat toimet sallittuja vai eivät. (2) Järjestelmän käyttäjän pitää tietää, onko järjestelmä aito vai onko sitä peukaloitu, eli onko jokin ei-sallittu toimenpide päässyt vaikuttamaan järjestelmään.

Kumpikin näistä on pohjimmiltaan hyvin fyysinen vaatimus, sillä järjestelmä voi olla alttiina vihamieliselle ympäristölle muutenkin kuin verkkoyhteyksien ja protokollien yms. kautta. Fyysistä peukalointia voi laitteiston vahingoittamisen, sen osien vaihtamisen tms. lisäksi tapahtua myös poikkeuksellisen lämpötilan, säteilyn tai syöttövirran käytöllä.

Peukaloinnin ('tampering') ehkäisyyn on useita lähestymistapoja tai -tasoja:

Näitä voi verrata esim. laitteisiin, joita kiinnitetään omaisuuteen tai myytäviin tuotteisiin varkauksien estämiseksi.

Harjoitus. Millaisissa ympäristöissä ja missä tietojenkäsittelylaitteissa voitaisiin tarvita em. kaltaisia peukaloinnin torjuntatapoja? Millaiset tiedot näissä laitteissa ovat niin arvokkaita, että kalliitkin suojaukset ovat perusteltuja?

Vastausta. Tärkeimpiä suojattavia tietoja ovat kryptografiset avaimet. Niiden avullahan pitää voida suojata kaikenlaista muuta tietoa, joka tyypillisesti joutuu vihamieliseen ympäristöön.

FIPS-standardi 140-1 määrittelee turvallisille prosessoreille neljä tasoa. Korkeimmalle turvatasolle hyväksyttyjä laitteita on erittäin harvassa (vuonna 2001 vain IBM:n kryptoprosessori 4758 [Anderson]). Sillä tasolla laitteen pitää pystyä torjumaan sellaisetkin hyökkäykset, joita tehtävään keskittyvä laaja asiantuntijaryhmä voisi erikoisvälinein saada aikaan. Esimerkiksi prosessorin RAM-muistissa eivät saa samat bitit seistä liian kauan samassa paikassa, jotta siitä ei jäisi mitään pysyvää jälkeä.

Turvaprosessorissa joudutaan ottamaan huomioon itse laitteen lisäksi koodi ja sen lataaminen. Huomioitavia seikkoja ovat

Asiaa käsitellään tarkemmin Smithin ja Weingartin artikkelissa (1999).

Muuan turvallisuutta edistävä mekanismi on "trusted (communication) path"(-näppäin), jollainen esim. IBM:n AIX-unixissa on "secure attention key" (SAK) ja Windows NT:ssä ctrl-alt-del. Tämän painalluksen jälkeen vain luotetut ohjelmat pääsevät käyttäjän päätteelle. Erityisesti tällä torjutaan (teurastetaan) Troijan hevosen tyyppiset ohjelmat, jollaisen joku on voinut asentaa päätteeseen login-ohjelman tilalle (tai eteen) varastaakseen salasanan. Tietenkin verkon ylitse tapahtuvassa sisäänkirjautumisessa tällainen näppäinkoodi menettää merkityksensä, sillä se voidaan väärentää. Sama ongelma voi tulla, jos joku pääsee vaihtamaan näppäimistön tai täydentämään sen liitäntäjohtoa omilla virityksillään

Toimikorttien turvallisuus

Motivointia

Toimikorttien turvallisuudesta lienee syytä tietää jotain, jos kerran tulevaisuus on jopa yhden (HST-)kortin varassa.

Sisältöä ja tavoitetta

Tässä esitellään toimikortilla olevan prosessorin tekniikkaa ja valmistamista sen verran, että syntyy käsitys toimikortin turvallisuudesta.

Tavoitekysymys:

  • Missä mielessä toimikortilla oleva prosessori on turvallinen? Millä valmistusvaiheen menettelyillä turvallisuus saavutetaan?

Toimikorttien turvallisuus

Toimikortille voidaan tallettaa henkilökohtaisia tietoja, esim. biometrisiä tietoja (siis "elomittoja"), terveystietoja, autentikointiin käytettäviä avaimia (myös esim. GSM:n SIM-kortissa eli Subscriber Identity-Module'ssa), ja toisaalta enemmän tai vähemmän anonyymia rahaa. Kortit voivat suorittaa julkisen avaimen krypto-operaatioita paljastamatta salaista avaintaan, mutta esim. RSA-alkulukujen generointi kestää varsin kauan. Samoin sarjamuotoinen tiedonsiirto on turhan hidas, jotta symmetrisiä salausta kannattaisi soveltaa laajoihin aineistoihin. Useimmat ladattavat bittirahat perustuvat symmetriseen salaukseen, mikä edellyttää luottamusta siihen, että (rahastavassa) lukulaitteessa oleva vastaava avain pysyy turvassa.

Toimikortin tekniikka perustuu ISO:n standardiin 7816. USA:ssa vastaavan standardin nimi on PCMCIA (Personal Computer Media Control Interface Adapter). Suomalaisen Avant-kortin takaa löytyy myös eurooppalainen standardi EN 1546 (Euronorm: Inter-sector Electronic Purse). Standardeista huolimatta eri valmistajien kortit eivät varsinkaan toiminnoiltaan ole yhteensopivia. (CEPS, Common Electronic Purse Specification tuonee aikanaan parannusta tähän ...)

Toimikortti muodostuu, kun tietyn kokoiselle (ja lujuiselle jne.) muovikortille tiettyyn kohtaan liimataan piisiru ja varustetaan tietyillä liityntänastoilla. Sirun täytyy olla varsin pieni, muutaman millin kokoinen, jotta se voisi kestää kortin taipuessa.

Sirun tyypillinen sisältö on

Sirun laitteistomäärityksistä, joihin tyypillisesti kuuluu myös käyttöjärjestelmä (laitelmisto), käytetään englannissa termiä 'mask'.

Sirun liityntänä on 8 nastaa:

VCC GND
RST VOO
CLK I/O
RFU RFU
Näistä 5 tai 6 on nykyään käytössä: VCC: käyttöjännite n. 5V; GND: maadoitus; RST: reset, tällä signaalilla kortinlukija alustaa ja lopettaa yhteytensä korttiin; RFU = reserved for future use; CLK: kello, n. 3.6 tai 4.9 MHz; VPP: ohjelmointijännite E(E)PROM-muistiin kirjoittamiseksi 12.5-21 V, ei yleisesti käytössä EEPROM-muisteilla (koska tarvittava jännite voidaan nykyään "pumpata" sirun sisällä); I/O: sarjamuotoinen luku ja kirjoitus RS232:n tapaan, yleensä tavupohjaisesti.

Kortin elinkaaressa on useita vaiheita, joissa asteittain yhä enemmän kortilla olevaa tietoa jää vaiheen suorittajan ulottumattomiin, joko kokonaan tai kortin oman prosessorin myötävaikutuksen taakse. Tällä saavutetaan yksi kortin turvallisuuden keskeisistä ideoista eli se, että ulkopuolelta voi ainoastaan estää toimintaa, ei väärentää sitä. Lisäksi valmistusvaiheiden aikana toteutetaan useita varotoimia, jotta mikään yksi taho ei saisi täyttä tietoa sirun rakenteesta, salaisista avaimista eikä henkilökohtaisista tiedoista. Velvollisuuksien eriyttäminen "need-to-know"-periaatteella on näissä vaiheissa tyypillistä, samoinkuin yhtä useamman henkilön edellyttäminen tiettyjen avainten käsittelyyn. Elinkaaren vaiheet ovat karkeasti seuraavanlaiset:

  1. Prosessorisirun valmistus: testauksen jälkeen tähän tarkoitukseen käytetyt liitynnät eliminoidaan polttamalla "sulakkeet", sirun ROM:iin tähän mennessä talletettu ohjelmisto on suojattu sirukohtaisella avaimella, jotta tuntematon taho ei voi tehdä muutoksia. Valmistenumerot lisätään.
  2. Kortin toimittaja istuttaa sirun kortille ja liittää siihen ulospäin näkyvät kytkentänastat. Valmistusvaiheen avain korvataan toisella ja sen muuttaminen ehkäistään lukkobitillä. Fyysisen muistiviittauksen käskyt ehkäistään polttamalla sulake, minkä jälkeen vain looginen muistiviittaus on mahdollista (ja lukkobittikin siis tehoaa).
  3. Henkilöinti, jonka tekee kortin myöntävä taho: Loput tiedot kirjoitetaan kortille, erityisesti PIN, PUK ja salaiset avaimet. Lopuksi käyttölukkobitti asetetaan osoittamaan, että käyttövaihe on alkanut.
  4. Käyttö, jossa pääsy tietoihin rajoittuu sovelluksen politiikan mukaiseksi.
  5. Käytöstä poistaminen, joko niin että lukuoikeus säilyy, tai ettei sekään ole mahdollista.
Tiedostojärjestelmä muistuttaa unixia hakemistoineen. Tiedostoon pääsy voi olla: aina sallittua, vain omistajalle mahdollisesti eri tarkoitusten mukaan (vrt. PIN1 ja PIN2 HST-kortissa), hallinnollinen, ei koskaan.

PIN-hallinto: PIN (Personal Identification Number) on talletettuna tiettyyn tiedostoon ja sitä voi muuttaa samaan tapaan kuin salasanaa. Liian monta peräkkäistä väärä PIN-syöttöä lukitsee tiedoston. Pääsy edellyttää tämän jälkeen sekä oikean PIN-arvon että PUK-arvon (PIN Unblocking Key) syöttämistä, mutta myös PUK voi mennä lukkoon, jolloin kortti ainakin tämän PIN-arvon takana olevalta osalta siirtyy pois käytöstä. Tällainen on toiminta kortin kannalta. On eri asia, onko kortin omistajan hallussa oleva PUK-koodi "kokonainen" vai onko se jaettu kortin myöntäjän kanssa, kuten HST:ssä, jolloin tarvitaan yhteistoimia lukon avaamiseen.

Hyökkäyksiä (valmista) korttia vastaan:

Lisätietoa toimikorteista ja turvallisuudesta saa sujuvasti S.Petrin artikkelista. Toinen toimikorttien turvallisuutta käsittelevä artikkeli on S.C. Chanilta. Hyökkäyksiä ja niiden torjuntaa on esitelty kahdessa edellisiä tieteellisemmässä artikkelissa: Anderson & Kuhn ja Schneier & Shostack. Hyvin yksityiskohtaista mutta tiivistä tietoa löytyy raportista "Security of Electronic Money". Lisäksi Andersonin kirja käsittelee hyvin seikkaperäisesti toimikorttien turvallisuutta. Useita erityyppisiä yleisartikkeleita löytyy Smart Card Alliancen sivulta.