Siirry sisältöön
RehtIO
Näin se toimiiHinnoitteluUKKBlogiYhteystiedot
Luo ilmoituskanava

· Lukuaika 3 min

Näin ilmoittajan anonymiteetti toteutuu teknisesti

Lokit, evästeet, pääsykoodi, liitteiden metatiedot ja salaus. Näin RehtIO Whistle suojaa ilmoittajan, ja tämän tekniikka ei pysty ratkaisemaan.

Zacharias Levander

Tekninen asiantuntija

Mustavalkoinen kuva portaissa kulkevista ihmisistä, jotka liike sumentaa tunnistamattomiksi.
Kuva: José Martín / StockSnap · CC0

Kun katsoo suomalaisten ilmoituskanavien verkkosivuja, lähes jokainen lupaa anonymiteettiä. Se, pitääkö lupaus, ratkeaa kuitenkin paljon tylsemmissä paikoissa: palvelimen lokitiedostoissa, selaimen välimuistissa, valokuvan metatiedoissa ja siinä, kenellä on salausavain. Kerromme tässä, mitä valintoja teimme RehtIO Whistleä rakentaessamme ja mitä tekniikka ei pysty ratkaisemaan.

Tapausnumero ja pääsykoodi

Kun ilmoitus on lähetetty, ilmoittaja saa kuusimerkkisen tapausnumeron ja 16-merkkisen pääsykoodin, joilla hän voi myöhemmin seurata tapaustaan ja viestiä käsittelijän kanssa. Koodi muodostetaan satunnaisesti 31 merkin joukosta, josta helposti sekoittuvat merkit on jätetty pois. Mahdollisia koodeja on noin 2⁷⁹, joten arvaaminen ei ole käytännössä mahdollista, ja lisäksi jokainen yritys vaatii selaimelta laskutehtävän ratkaisemisen ja yritysten määrää rajoitetaan.

Pääsykoodia ei tallenneta mihinkään, vaan järjestelmä säilyttää siitä vain tiivisteen. Koodi näytetään ilmoittajalle kerran, eikä sitä voi palauttaa, koska emme tiedä sitä itsekään.

Liitetiedostot

Valokuvaan tallentuu kuvauspaikan koordinaatit ja puhelimen malli, PDF-tiedostoon tekijän nimi ja organisaatio, äänitiedostoon tallentajan tietoja ja videoon sijainti. Siksi palvelin poistaa tällaiset metatiedot jokaisesta liitteestä ennen tallennusta: kuvista sijainti- ja laitetiedot, PDF-tiedostoista tekijätiedot, äänitiedostoista tunnisteet ja videoista sijainti- ja laitetiedot. Lopuksi siivottu tiedosto tarkistetaan virustorjunnalla, ja sama koskee myöhempiä viestejä ja käsittelijän omia liitteitä.

Alihankkijat

Teemme mahdollisimman paljon itse: verkkopalvelin, sovellus, tietokanta, virheseuranta ja robottitunnistus toimivat kaikki omilla palvelimillamme Helsingissä, joten ilmoittajan tietoja ei lähetetä kolmannelle osapuolelle käsiteltäväksi. Ketjussa on silti muutama alihankkija. UpCloud Helsingissä omistaa palvelimet, Hetznerin suomalainen konesali säilyttää varmuuskopiot, ja ranskalainen Scaleway hoitaa avainhallinnan ja sähköpostin lähetyksen. Varmuuskopiot salataan ennen kuin ne lähtevät palvelimiltamme, eikä Scaleway näe koskaan ilmoitusta, vain avaimia. Yksikään alihankkija ei sijaitse Yhdysvalloissa, ja koko luettelo on julkinen.

Salaus

Jokaisella ilmoituksella on oma, satunnainen salausavaimensa, jolla salataan ilmoituksen sisältö, kaikki viestit sekä liitteiden sisältö ja nimet. Avainta ei säilytetä salaamattomana, vaan siitä on tallessa kaksi salattua kopiota. Ensimmäisen saa auki vain ilmoittajan tapausnumerolla ja pääsykoodilla, toisen avaa Scalewayn avainhallintapalvelu, ja se kopio on sidottu ilmoituksen vastaanottaneeseen organisaatioon. Tallennuspalvelu näkee siis vain salattua dataa, eikä avainhallintapalvelu näe ilmoituksia lainkaan.

Käsittelijä pääsee ilmoitukseen vain, jos hänet on nimetty käsittelijäksi omassa organisaatiossaan. Ilmoituksen lukeminen kirjataan tarkastuslokiin, ja jos kirjausta ei saada tallennettua, ilmoitusta ei näytetä.

Lokit

Lähtökohtamme oli, että lokiin tallennettu tieto voidaan myöhemmin lukea, luovuttaa tai vuotaa, joten paras suoja on olla kirjaamatta sitä. Verkkopalvelin ei siksi kirjaa ilmoituskanavan pyyntöjä lainkaan: ei IP-osoitetta, ei selaimen tunnistetta eikä edes merkintää siitä, että kanavalla käytiin. Myös virhelokit on kanavan osalta vaiennettu, koska ne tallentaisivat esimerkiksi hylätyn pyynnön yhteydessä koko IP-osoitteen. Sovelluspalvelimen omat pyyntölokit eivät tallenna IP-osoitetta eivätkä selaimen tietoja.

Kanava ei aseta evästeitä eikä tallenna selaimeen mitään, kielivalinta kulkee osoiterivillä, ja jopa selaimen tavallinen vierityskohdan muistaminen on kanavalla pois päältä. Sivu ei lataa fontteja, skriptejä tai analytiikkaa kolmansilta osapuolilta, koska ne paljastaisivat ilmoittajan IP-osoitteen ulkopuoliselle. Roskapostin torjuntaan emme käytä ulkoista robottitunnistusta, vaan ilmoittajan selain ratkaisee pienen laskutehtävän. Nimeä tai sähköpostiosoitetta ei kysytä.

Mitä tekniikka ei ratkaise

Tekniikka voi varmistaa, ettei kanava itse paljasta ilmoittajaa, mutta se ei voi estää ilmoituksen sisältöä tekemästä sitä. Jos ilmoituksessa kuvataan tilanne, jossa oli paikalla kaksi ihmistä, käsittelijä päättelee ilmoittajan ilman yhtäkään lokimerkintää. Siksi kanavan tietosivu kertoo ilmoittajalle jo ennen ilmoituksen tekemistä, mitä tietoja kerätään ja miten henkilöllisyys suojataan.

Ilmoittajalle muutama käytännön neuvo:

  • Kirjoita tapahtumista, älä itsestäsi, ja nimeä itsesi vain jos haluat.
  • Kerro olennainen, mutta harkitse yksityiskohtia, jotka vain sinä voit tietää.
  • Jos olet huolissasi, käytä omaa laitetta ja omaa verkkoa. Me emme kirjaa käyntejä, mutta työpaikan verkko tai laite voi kirjata.
  • Tallenna tapausnumero ja pääsykoodi turvalliseen paikkaan, älä yhteiselle tietokoneelle.

Jos jokin kohta jäi epäselväksi tai näette siinä aukon, jota emme ole huomanneet, kuulemme siitä mielellämme. Kanavan voi katsoa läpi myös ilmoittajan ja käsittelijän silmin.

Jaa LinkedInissä

Lisää blogista