Hvorfor de fleste webtjenester ikke bruker end-to-end-kryptering
Nylige åpenbaringer om statlig overvåkning har hevet spørsmålet: Hvorfor krypterer ikke skygtjenester dine data? Vel, de krypterer vanligvis dataene dine, men de har nøkkelen slik at de kan dekryptere det når som helst.
Det virkelige spørsmålet er: Hvorfor krypterer og dekrypterer ikke webtjenestene dine lokalt, slik at de er lagret i kryptert form, ingen kan snike på? LastPass gjør dette med passorddatabasen, tross alt.
Hvordan End-to-End-kryptering ville være annerledes
For å være klar, er dataene dine sannsynligvis kryptert. La oss ta Dropbox for eksempel. Når du kobler til Dropbox, overfører Dropbox alle dataene over en kryptert tilkobling, slik at ingen kan snoop på den i transitt. Dropbox lover også at de lagrer filene dine på serverne i kryptert form.
Kryptering er imidlertid en lås, og om noe er låst, er mindre viktig enn hvem som har nøkkelen. Dropbox har krypteringsnøkkelen for å vise alle filene dine på sine servere, så selv om det er sant at det er kryptert, er det også sant at Dropbox har full tilgang til dem, og at de kunne samarbeide med myndighetsovervåkning eller en skurk mann kan snuse gjennom filene dine.
Ideen om "end-to-end-kryptering" - du kan også referere til det som "lokal kryptering og dekryptering" - er forskjellig. Med end-to-end kryptering blir dataene kun dekryptert ved sluttpunktene. Med andre ord, en e-post som sendes med end-to-end-kryptering, vil bli kryptert ved kilden, ulestelig for tjenesteleverandører som Gmail i transitt, og deretter dekryptert ved sluttpunktet. Det er viktig at e-posten kun dekrypteres for sluttbrukeren på datamaskinen og vil forbli i kryptert, ulestelig form til en e-posttjeneste som Gmail, som ikke vil ha nøklene tilgjengelige for å dekryptere det. Dette er mye vanskeligere.
Last ned og lokal dekryptering
Som nevnt ovenfor bruker LastPass lokal kryptering og dekryptering via nettleseren din. Den laster ned en kryptert blob som inneholder passordene dine, dekrypterer den med passordet ditt, og lar deg få tilgang til passordene dine. Vær oppmerksom på at LastPass må laste ned hele hvelvet av passord og andre data for å dekryptere det. Når det gjelder LastPass, fungerer dette bare bra - det er en ganske liten fil.
Men det ville ikke være noe i nærheten like enkelt å gjøre dette med andre webtjenester. Hvis Gmail for eksempel virket på samme måte, må Gmail laste ned en fil som representerer hele 5 GB-e-postboksen til datamaskinen. Det kan kanskje bruke HTML5s LocalStorage-spesifikasjon for dette hvis LocalStorage kan lagre flere data. Denne filen må da dekrypteres lokalt for å gi tilgang til din e-postboks, noe som vil ta en stund.
Det er mulig at Gmail kan gjøre dette annerledes, med en egen fil som representerer hver ny, kryptert e-post. Men det er så mye mer kompleksitet involvert i å bygge en e-postklient på denne måten.
Dette ville faktisk være mer eller mindre umulig i dag - LocalStorage er ofte begrenset til 5 MB eller mindre per nettside i populære nettlesere. Spesifikasjonen sier at brukerne skal kunne øke denne grensen hvis de vil, men få nettlesere implementerer dette.
Ingen Secure Web Apps
Cloud storage-tjenester som SpiderOak og Wuala er forskjellige fra Dropbox - de gir komplett lokal kryptering og dekryptering. Installer skrivebordsprogrammet for SpiderOak eller Wuala, og de vil kryptere filene dine før du laster opp dem, slik at tjenesten selv ikke vet hva du lagrer, og din krypteringsnøkkel er nødvendig for å få tilgang til dem.
Disse tjenestene er imidlertid forskjellige fra Dropbox på andre måter også - de oppfordrer ikke bruk av et webgrensesnitt for enkel tilgang. Det er enkelt for Dropbox å gi en web-app som lar deg få tilgang til filene dine, fordi det forstår hva disse filene er. SpiderOak og Wuala forstår ikke hva du lagrer, så det er mye lettere for dem å bare tillate deg å laste ned alle de krypterte blokkene med skrivebordsprogrammet ditt og la skrivebordsprogrammet gjøre det harde arbeidet.
Disse tjenestene må tillate deg å dekryptere og forstå de krypterte filnavnene, laste ned den krypterte filen til nettleseren din (kanskje via LocalStorage), bruk en dekrypteringsalgoritme for å dekryptere den lokalt, og be deg om å lagre den på datamaskinen. På grunn av LocalStorage's begrensninger, ville dette være umulig i praksis.
SpiderOak tilbyr faktisk en web-app, selv om de anbefaler å bruke det fordi det må lagre SpiderOak-krypteringsnøkkelen i minnet på sine servere mens du får tilgang til filene dine. De sier at de gir det som et resultat av "overveldende kundenes behov" - selv på en tjeneste som er best kjent for kryptering og sikkerhet, krever kunder overveldende mer praktiske og usikre alternativer.
Ingen søppelpostfilter, søk og andre smarte funksjoner
Tjenester som Gmail er spesielle fordi de gir flere tjenester i stedet for bare å være en boks som inneholder all din e-post. For eksempel undersøker Gmail innkommende e-post og kjører et spamfilter mot det for å avgjøre om det er søppel. Gmail indekserer e-posten din slik at du raskt kan søke gjennom den. Gmail ser på innholdet i en e-post for å avgjøre om det er viktig og lar deg sette opp filtre som automatisk utfører handlinger basert på e-postens innhold.
Alle disse funksjonene stole på Gmail - og Google - å kunne forstå din e-post og ha tilgang. Hvis de ikke hadde tilgang, kunne de ikke utføre spamfiltrering, aktivere filtrering av e-postmeldinger basert på innholdet, eller tillate deg å søke i innboksen din. Så mange av de viktigste funksjonene er avhengig av at tjenesten har tilgang til filene dine.
Ingen passordgjenoppretting
De fleste elektroniske tjenester tilbyr passordgjenvinningsmekanismer. Men for virkelig sikker lokal kryptering kan det ikke være en passordgjenvinningsmekanisme. Du har krypteringsnøkkelen, som dekrypterer filene dine. Hvis du mister tilgang til denne nøkkelen, vil du ikke kunne dekryptere filene dine.
Det ville være umulig å tilby en "Password Reset" -mekanisme, med mindre tjenesten visste innholdet i dataene. Tjenester kan gjøre dette nå fordi passordet ditt bare er en måte å godkjenne med kontoen din - det er ikke en obligatorisk kode som gjør at dataene dine er tilgjengelige. Selv om tjenestene enkelt kunne flytte til end-to-end kryptering, ville dette gi dem pause - mange gjennomsnittlige brukere ville glemme krypteringsnøklene, miste dataene sine, klage og deretter flytte til en ukryptert leverandør. Tjenesten ville bli oppfordret til å slappe av kryptering.
SpiderOak forsøker å hjelpe sine brukere ved å tilby å sende dem et passordtips de oppgav når du opprettet kontoen, men det kan ikke tilbakestille passordet helt. Glem passordet ditt og filene dine er borte, forutsatt at de ikke er lagret på en lokal datamaskin.
De vil selge dine data eller målannonser
Vi kommer ikke til å late som om: Mange tjenester vil også analysere dine personlige data og bruke den til å tjene penger. Google skanner e-postene dine og bruker informasjonen de har om deg til å presentere målrettede annonser, men i det minste selger de ikke den personlige informasjonen til andre selskaper. Facebook selger dine personlige opplysninger direkte til andre selskaper.
Tjenester trenger tilgang til dataene dine slik at de kan gjøre dette, så de er incentivized for ikke å gi sterk, end-to-end-kryptering.
Disse er langt fra de eneste grunnene til at lokal kryptering og dekryptering av dine personlige data er en ikke-startpakke for de aller fleste skyttjenester. Vi håper at det har gitt litt lys på de vanskelige problemene som er involvert og forklart hvorfor så mye av dataene dine er teoretisk lesbare av andre. Det kan være enklere måter å implementere noen krypteringsfunksjoner på, for eksempel ved å la brukerne sende en kryptert e-post via Gmail - men forvent ikke at alt skal bli lokalt kryptert og dekryptert helst snart.
Bildekreditt: Andy Roberts på Flickr