- COMP.SEC.100
- 6. Yksityisyys ja oikeudet verkossa
- 6.2 Yksityisyys luottamuksellisuutena
Yksityisyys luottamuksellisuutena¶
Kun oikeutta olla rauhassa tulkitaan teknisestä näkökulmasta, yksityisyys on yleensä sitä, että vältetään henkilötietojen päätymistä muiden saataville, erityisesti laajalle yleisölle. Tämän mukaisesti tietosuojateknologioiden tavoitteena on mahdollistaa palvelujen käyttö ja samalla minimoida paljastettavan tiedon määrä. Tieto on tässä sekä palvelun kanssa suoraan vaihdettava että sellainen tietoa, joka on epäsuorasti saatavilla palvelun käyttöön liittyvissä metatiedoissa (esim. käyttäjien identiteetti tai palvelun käyttötiheys). Pyritään siis tiedon luottamuksellisuuden säilyttämiseen.
Datan luottamuksellisuus¶
Lähestymistapoja paljastuvan datan minimoimiseksi ovat esim. kryptoon pohjautuvat pääsyoikeudet (cryptography-based access control) ja tiedon hämärryttäminen (obfuscation-based inference control). Kryptoon pohjautuvat pääsyoikeudet estävät asiattoman pääsyn tietoon, tyypillisesti käyttämällä kehittyneitä kryptoprimitiivejä varmistamaan, ettei dataa voida päätellä. Tiedon hämärryttämiseen perustuvat menetelmät puolestaan varmistavat, että asiattomille tahoille vuotanut tieto on määrältään rajoitettua tai sitä ei voida yhdistää yksittäisiin henkilöihin. Hämärryttämismenetelmät lieventävät samalla luottamuksellisuuden vaatimuksia, koska tietoa ei voida enää yksilöidä.
Kryptoon pohjautuvat pääsyoikeudet (syventävä)¶
Luottamuksellisuuteen tähtäävä kryptografinen suojaus perustuu pääasiassa jompaan kumpaan näistä hyökkääjämalleista:
- Vastaanottaja on luotettava, mutta siirtotie ei ole.
- Vastaanottajaan ei luoteta ja tiedot on pidettävä salassa siirtämisen lisäksi myös käsittelyn aikana.
1. Datan suojaaminen kuljetuksen aikana: Tätä kutsutaan usein päästä päähän salaukseksi (end-to-end encryption, E2EE). Tässä “pää” tarkoittaa sekä viestin alkuperää että kohdetta, esim. sähköpostin lähettäjä ja vastaanottaja tai asiakas ja palvelin (client ja server) asiakas-palvelin -malliin perustuvissa palveluissa. E2EE varmistaa, että tiedot säilyttävät luottamuksellisuutensa molempien päiden välillä eli mikään kolmas osapuoli (esim. reitittimet, viestintään käytetyt sovellukset) ei pääse lukemaan viestiä, kun se on matkalla. Lisäksi E2EE turvaa viestin eheyttä (integrity) estämällä viestin välittäjiä muokkaamasta kuljetettavia tietoja, ja tarjoaa todennuksen (authentication), jolla viestintäosapuolet voivat olla varmoja toistensa identiteetistä.
Laitteet E2EE-viestinnän molemmissa päissä pitävät hallussaan tietojen salaamiseen käytettävää salausavainta (encryption key). Yleensä nämä ovat symmetrisiä salausavaimia ja niistä voidaan sopia käyttämällä avaimen kuljetusta (key transport), tai ne voidaan muodostaa Diffie-Hellmanin avaintenvaihdolla (Diffie-Hellman exchange). Se käy myös istuntokohtaisista avaimista sopimiseen. Eheyden ja todennuksen toteuttamiseen käytetään usein digitaalista allekirjoitusta ja viestin todennuskoodeja (message authentication code, MAC). Esimerkkejä E2EE-salauksesta ovat TLS-protokolla, jota käytetään laajasti asiakas-palvelin -skenaarioissa, tai PGP-protokolla, joka on yleinen sähköpostin salausmekanismi.
E2EE on nykyään vallitseva käytäntö pikaviestintäsovelluksissa (esim. Signal, WhatsApp, Facebook Messenger, Viber). Kaikki nämä perustuvat niin sanottuun Signal-protokollaan. Protokolla tarjoaa todennetut viestit käyttäjien välillä ja päästä-päähän luottamuksellisuuden. Viestit pysyvät salassa, vaikka viestintäpalvelin kaapattaisiin, ja vaikka käyttäjien pääavaimet vaarantuisivat. Nämä ominaisuudet perustuvat todennetun Diffie-Hellmanin avaimenvaihtoprotokollan toistamiseen uusien salausavainten muodostamiseen, ja avainten jatkuvaan päivittämiseen silloinkin kun sama osapuoli lähettää useita viestejä peräkkäin.
Kaikki yllä olevat protokollat takaavat E2EE:n vain niin kauan kuin osapuolten todennusmekanismit toimivat odotetulla tavalla. Esimerkiksi TLS:n luottamuksellisuus perustuu siihen, että palvelut pitävät avaimensa salassa ja että julkisen avaimen infrastruktuuri (public key infrastructure, PKI) toimii viestinnän osapuolten todentamisessa. WhatsAppin luottamuksellisuus puolestaan perustuu siihen, että puhelinnumeroita on vaikea väärentää ja siksi käyttäjät voivat olla varmoja, että he viestivät tarkoittamansa henkilön kanssa.
Voit katsoa Computerphilen E2EE-videon aiheen havainnollistamiseksi. Videon motivaationa toimii Brittiläisen päättäjän kommentti siitä, että rikollisuuden kitkemiseksi tulisi E2EE-viestintään asentaa valtion takaportti. Ota myös videota katsoessasi huomioon videossa ohimennen esitetty “nothing to hide”-argumentti.
2. Datan suojaaminen käsittelyn aikana: Joskus tietojen vastaanottajan on annettava suorittaa jonkin verran käsittelyä, vaikka sitä pidetäänkin mahdollisena hyökkääjänä. Tietojen käsittely voidaan jopa täysin ulkoistaa vastaanottajalle tai lähettäjä voi osallistua käsittelyyn.
Ulkoistetun käsittelyn esimerkkejä ovat pilvipalvelujen käyttö big datan käsittelyyn, tai tietokanta, jossa lähettäjä haluaa tehdä hakuja. Ulkoistetun käsittelyn ongelma on, että pääsy tiettyihin datan osiin voi paljastaa tietoja lähettäjästä käsittelijälle, esim. patenttitietokannassa tietyn tiedon lukeminen voi paljastaa liiketoiminta-aikomuksia, tai tietyn käyttäjän viestin hakeminen viestihakemistosta voi paljastaa käyttäjien väliset suhteet. Ongelmaa voidaan lieventää käyttämällä yksityistä tietojen hakua (private information retrieval), joka mahdollistaa tietokantakyselyt paljastamatta, mihin tietueeseen haku kohdistuu.
Toinen esimerkki ulkoistetusta käsittelystä ovat digitaaliset kaupat tai digitaalinen pankki, jossa palvelin palauttaa tietoja käyttäjälle syötteistä riippuen. Kauppa käsittelee maksuja ja lähettää digitaalisia ostoksia (esim. peli tai elokuva), ja pankki suorittaa maksuja todennuksen yhteydessä. Käyttäjien ostotottumukset voivat kuitenkin paljastaa heistä paljon. Tässä tapauksessa voidaan yksityisyys säilyttää käyttämällä jotain unohtavan tiedonsiirron (oblivious transfer) protokollaa, jossa palvelu voi siirtää kohteen tietämättä mikä kohde on (usean joukosta).
Kun myös tietojen lähettäjä osallistuu niiden käsittelyyn, puhutaan yhteislaskennasta (collaborative computation). Laskennan tulokset voivat kiinnostaa lähettäjää, vastaanottajaa, molempia tai kolmansia osapuolia. Jos osallistujat eivät luota toisiinsa, kuka tahansa voi olla mahdollinen hyökkääjä. Tyypillisiä sovelluksia ovat tietokantojen vertailu tai tilastojen laskeminen tietojoukoista. Kun esimerkiksi etsitään samankaltaisuuksia kahden tietokannan välillä, voidaan käyttää protokollia, jotka sallivat osapuolten laskea tietojoukkojen yhtäläisyydet paljastamatta tietojoukoista mitään muuta. Tällaisiin protokolliin voi tutustua termeillä Multi Party Computation ja Private Set Intersection.
Tiedon hämärryttäminen (syventävä)¶
Edellä käsitellyt kryptoprotokollat takaavat tietojen luottamuksellisuuden. Hintana on tehokkuuden ja joustavuuden väheneminen, koska laskenta vaatii sekä tehoa että kaistanleveyttä. Lisäksi protokollat myös rajoittavat mahdollisuuksia datan käsittelyyn. Hämärryttämiseen (obfuscation) perustuva luottamuksellisuuden säilyttäminen ei pyri täysin kätkemään dataa. Sen sijaan se pyrkii rajoittamaan, missä määrin hyökkääjä voi tehdä päätelmiä käyttäjien arkaluonteisista tiedoista. Hämärryttämistekniikoiden käytön yhteydessä on tärkeää arvioida, kuinka paljon datasta protokollan jäljiltä vielä pystytään päättelemään. Lisäksi on huomioitava, että koska tekniikat perustuvat datamäärän vähentämiseen kaikilta, ei ainoastaan hyökkääjältä, tästä voi seurata rajoituksia tekniikoiden käyttämiseen.
Hämärryttämistekniikat eivät sovi tietojen suojaamiseen kuljetuksen aikana. Sen sijaan ne sopivat yksityisyyttä suojaavaan ulkoistamiseen, yhteislaskentaan ja julkaisuun. Hämärryttämistekniikoita on viittä tyyppiä:
- Anonymisointi (anonymization): Datasta poistetaan tunnisteet, jolloin sitä ei voi yhdistää esim. henkilöön tai ryhmitellä kuulumaan yhteen. On kuitenkin huomioitava, että täyden anonymisoinnin saavuttaminen on äärimmäisen vaikeaa ja on myös vaikea sanoa, milloin data oikeastaan on anonyymia. Datassa itsessään on tietoa, jolla sitä voidaan korreloida eri attribuutteihin tai tietokannan tietueisiin. Näitä voidaan sitten yhdistellä eri tietoihin ja löytää yhteisiä tekijöitä ja “sormenjäkiä”, jotka lopulta voivat johtaa yksilöiden tunnistamiseen.
- Yleistäminen (generalization): Vähennetään datan tarkkuutta, esim. jaetaan vain 2 ensimmäistä numeroa puhelinnumerosta tai ei kerrota tarkkaa ikää vaan ikäryhmä.
- Peittäminen (suppression): Poistetaan osa datasta, esim. puolet tietokannan puhelinnumeroista tai jos sairaustapauksia on alle 5, ei kerrota, mistä kunnista ne ovat.
- Valedata (dummy addition): Lisätään datan sekaan valedataa, jotta hyökkääjän on vaikea erottaa, mikä osa datasta on todellista. Ideaalitapauksessa hyökkääjän näkökulmasta kaikki tietokannan data on valedataa yhtä suurella todennäköisyydellä. Hyvän valedatan luonti on kuitenkin hankalaa, ja usein datasta on helppo suodattaa pois todennäköisin valedata.
- Häiriöiden aiheuttaminen (perturbation): Datan sekaan lisätään kohinaa, jotta siitä olisi vaikeampaa tehdä päätelmiä. Tässä on kuitenkin varottava lisäämästä helposti poissuodatettavaa kohinaa, koska jos hyökkääjä onnistuu suodattamaan datan, se paljastaa liikaa.
Hämärryttämistekniikoita käytettäessä tulee huomata, että mikään näistä harvoin tarjoaa yksinään tehokasta suojaa. Yleistä onkin, että eri tekniikoita yhdistellään, jotta saavutetaan haluttu suojavaikutus.
Metadatan luottamuksellisuus¶
Varsinaisen datan asemasta tai sen lisäksi myös metadataa voidaan käyttää luottamuksellisuuden rikkomiseen ja henkilötietojen kaivelemiseen datasta. Erityisen haavoittuvaa metadataa yksityisyyden kannalta ovat viestiliikenteen metadata (traffic metadata) liittyen kommunikaatioinfrastruktuuriin, laitteen metadata (device metadata) liittyen datan tuottavaan alustaan ja sijainnin metadata (location metadata) liittyen fyysiseen paikkaan, jossa data luodaan.
Viestiliikenteen metadata: Verkkokerroksen tiedot, kuten IP-osoite, datan määrä ja ajoitus tai yhteyden kesto ovat saatavilla tarkkailijoille, vaikka itse data olisi salattua tai hämärrytettyä. Näitä tietoja voidaan käyttää paljastamaan mahdollisesti arkaluonteista tietoa. Esim. etälääkäripalveluissa viestit asiakkaan ja lääkärin välillä on salattu, mutta jo pelkkä tieto, että henkilö asioi jonkin alan erikoislääkärin kanssa, riittää paljastamaan mahdollisen sairauden. Toinen esimerkki on työntekijöiden verkkoselailutavat. Niistä voidaan mahdollisesti tehdä päätelmiä esim. liikesalaisuuksista tai liikekumppaneista.
Laitteen metadata: Optimoiduissa internetpalveluissa käyttäjän laitetiedot lähetetään palveluntarjoajalle palvelupyyntöjen mukana, jotta palveluntarjoaja voi optimoida vastauksensa. Vaikka käyttäjät olisivat anonyymeja verkkokerroksella, laitetiedoissa voi olla tunnisteita, joilla palveluntarjoajat voivat jäljittää käyttäjiä pitkin verkkoa. Tämä johtuu siitä, että laitteen ominaisuuksien yhdistelmä (laite, selain, selainversio, kieli, käytössä olevat pluginit, käyttöjärjestelmä, resoluutio, fontit) on lähes uniikki kaikille verkon käyttäjille. Jäljitystä tehdään lisäksi myös evästeiden (cookie) avulla, mutta se on eri asia kuin laitetietojen metadata.
Sijainnin metadata: Sijaintitietoa voidaan saada esim. kun käyttäjät tekevät kyselyitä erilaisissa sijaintitietoihin perustuvissa palveluissa, valokuvien tai sosiaalisen median sisältöjen GPS-tiedoista, tai verkon liityntäpisteiden (access point) keräämästä tiedosta. Tietoa voidaan klusteroida, yhdistellä ja analysoida eri menetelmin, jolloin se voi paljastaa käytännössä kaiken henkilön elämästä: asuinpaikan, työpaikan, vapaa-ajanviettopaikat, sosiaaliset kontaktit, lääkärikäynnit, lomamatkat, arkipäivän aikataulut, sen onko henkilö kotona jne. Lista on loputon. Lisäksi tiedoista voidaan tehdä päätelmiä esim. iästä ja sukupuolesta ja kaiken huipuksi voidaan ennustaa henkilön tulevia liikkeitä. Yksityisyyden kannalta sijaintitiedon luottamuksellisuuden säilyttäminen on äärimmäisen tärkeää.