Sikkerhet eller bekvemmelighet: Må det være et valg?

Jeg er nettopp ferdig med å skrive om en filsynkroniseringsapp som dramatisk forenkler mitt digitale liv og det til ytterligere 25 millioner mennesker. Hvorfor den artikkelen? Jeg var bekymret. Noterte eksperter sa at den aktuelle applikasjonen kan ha sikkerhetsproblemer.

Å, flott. Det betyr at jeg kan bruke appen og bekymre meg for at dataene mine er trygge. Eller, jeg slutter å bruke appen og mister et veldig praktisk verktøy. Beklager, jeg vil ha et annet alternativ.

Dette er ikke et nytt problem. Hulere som var lei av å sikre hulens dør, tok et valg - akkurat som vi gjør hver dag - mellom sikkerhet og bekvemmelighet? Jeg lurer på om det kan være noe mellomgrunn. Du vet, som en automatisert dør.

Hvorfor kan vi ikke ha begge deler?

Kanskje vi kan det. Jeg støtet (metaforisk) inn i noen som mener det er mulig å ha både sikkerhet og bekvemmelighet, i det minste digitalt.

Mens jeg leste det nye bladet Association for Computing Machinery (ACM), la jeg merke til at ACM tildelte Dr. Bryan Parno, 2010 doktorgradsavhandling for sikkerhetsarbeid for sitt arbeid ved Carnegie-Mellon University.

Sammendraget hektet meg:

"Jeg argumenterer for at vi kan løse spenningen mellom sikkerhet og funksjoner ved å utnytte den tilliten brukerne har på en enhet for å gjøre dem i stand til å bruke en annen vareenhet eller tjeneste uten å ofre ytelsen og funksjonene som forventes av råvaresystemer."

Jeg fortsatte å lese Dr. Parnos papir: Trust Extension as a Mechanism for Secure Code Execution on Commodity Computers. Og ja, tittelen forutsier min kamp med resten av avisen. En ting jeg fikk. Dette er viktig. Det kan være vår "digitale" automatiske dør.

Jeg kontaktet Dr. Parno. Han lyttet slik jeg forklarte. Jeg nevnte at jeg har spørsmål; vel flere, faktisk.

Kassner : Jeg liker ditt eksempel på brukertillit:

"For å stole på en enhet X med sine private data , må brukerne tro at de ikke på noe tidspunkt i fremtiden vil ha grunn til å angre på å ha gitt dataene sine til X."

Essensen i papiret er at det er mulig å ha både bekvemmelighet som leveres av applikasjonsfunksjoner og forsikring om at vår private og sensitive informasjon forblir sikker. Vil du gi oss en oversikt over hvordan du ser det som skjer?

Parno : En av observasjonene som ligger til grunn for mye av arbeidet i avhandlingen min er at det å tilby sikkerhet på forespørsel lar deg glede deg over både sikkerhet og funksjoner / ytelse.

For eksempel bryr du deg sannsynligvis mindre om sikkerhet når du spiller et videospill eller ser på en film enn det du gjør når du legger inn skattene dine. Dette gjelder selv i en enkelt applikasjon; det vil si at du bryr deg mer om sikkerhet når du besøker bankens nettsted, enn når du leser nyhetene.

Ved å designe sikkerhetssystemer som kan påberopes på forespørsel, kan vi beskytte viktige aktiviteter uten å pålegge alt annet du gjør på datamaskinen, i motsetning til tidligere sikkerhetsløsninger som pleide å være alt eller ingenting.

Kassner : Avhandlingen er delt inn i følgende emner:
  • Bootstrapping Trust i en handelsvare
  • On-demand Secure Code Execution on Commodity Computers
  • Bruke pålitelig vertsbasert informasjon i nettverket
  • Verifiserbar databehandling: Sikker utførelse av kode til tross for ikke-pålitelig programvare og maskinvare

Jeg vil gjerne se på hver for seg. Først forstår jeg at "Bootstrapping Trust in a Commodity Computer" er å sikre en persons personlige datamaskin:

"Vi trenger et system som tillater samvittighetsfulle brukere å starte oppstraffen tillit til den lokale Trusted Platform Module (TPM), slik at de kan utnytte den tilliten til å etablere tillit i hele plattformen."

Hvordan planlegger du å oppnå dette?

Parno : For å stole på en datamaskin, må du stole på datamaskinens maskinvare og programvaren. Hvis du eier datamaskinen, kan du ta standard skritt for å sikre at maskinvaren er pålitelig - du kan kjøpe maskinvaren fra en anerkjent leverandør, låse dørene til huset ditt når du reiser, bare la folk du stoler på, tulle med det osv. Heldigvis, mennesker er ganske flinke til å beskytte sin fysiske eiendom.

Vi trenger imidlertid en måte å koble vår tillit til den fysiske maskinvaren til programvaren som kjører på datamaskinen. Sikkerhetsenheter, for eksempel Trusted Platform Module (TPM), er en måte å opprette forbindelsen mellom maskinvare og programvare på.

Dessverre snakker disse enhetene binært, og de tilbyr forsikringer via kryptografi, to områder mennesker er ganske dårlige til. Dermed foreslår vi å bruke en enhet som du stoler på, som mobiltelefonen din eller en spesialbygget USB-fob, for å snakke med sikkerhetsenheten på datamaskinen din og fortelle deg, basert på sikkerhetsenhetens rapport, om det er trygt å bruke datamaskin.

En del av oppgaven min undersøker måter å sikre forbindelsen mellom den pålitelige enheten din (f.eks. Din mobiltelefon) og sikkerhetsenheten på datamaskinen din. Jeg diskuterer fordeler og ulemper med løsninger som spenner fra å bruke et spesiellt maskinvaregrensesnitt for å koble de to enhetene, til å stemple en 2-D strekkode på utsiden av datamaskinen din og bruke kameraet på mobiltelefonen din til å lese strekkoden.

Kassner : Den neste utfordringen, "On-Demand Secure Code Execution on Commodity Computers", refererer til sikkert å bruke ukjente datamaskiner. Du foreslår en ny tilnærming ved å bruke noe som heter Flicker.

Hva er Flicker kort, og hvordan hjelper det?

Parno : Flicker er en arkitektur som utnytter noen nye funksjoner som AMD og Intel la til CPUer for å gi et sikkert utførelsesmiljø på forespørsel. Målet er å kjøre et lite stykke sikkerhetsfølsom kode i fullstendig isolasjon fra resten av programvaren (og det meste av maskinvaren) på datamaskinen din, slik at skadelig kode du har installert ikke kan forstyrre den.

Vurder for eksempel en VPN-klient som forventer at du skriver inn brukernavnet og passordet ditt for å logge deg på firmaets nettverk. Hvis det er en feil i brukergrensesnittet av klienten, eller i operativsystemet ditt, eller i noen av enhetsdriverne som er installert i operativsystemet ditt, eller i programmer som kjører som administrator, kan en angriper potensielt fange brukernavnet og passordet ditt .

Med Flicker trekker vi ut passordhåndteringskoden fra VPN-programvaren og kjører den i et isolert miljø, slik at feil i all den andre programvaren (til og med operativsystemet) ikke påvirker sikkerheten til passordhåndteringskoden. .

Flimmer kan også vitne om hvilken kode som ble kjørt og det faktum at den kjørte i et beskyttet miljø. Med andre ord, ved hjelp av Flicker, kan du fortelle at passorddialogboksen som nettopp dukket opp faktisk kjører med Flicker-beskyttelse, og / eller selskapet ditt kan sjekke at du skrev inn passordet ditt i riktig passordprogram, ikke i et ondsinnet stykke kode.

Kassner : "Bruke pålitelig vertsbasert informasjon i nettverket" er din betegnelse for å sikre nettverkstrafikk. Du nevner at prosessen må ha disse egenskapene:
  • Merknadsintegritet : Ondsinnede sluttverter eller nettverkselementer skal ikke kunne endre eller forfalske dataene i meldingsnotater.
  • Statsløs prosessering i nettverket : For å sikre skalerbarheten til nettverkselementer som er avhengige av sluttvertsinformasjon, prøver vi å unngå å holde tilstanden per vert eller per flyt på disse enhetene.
  • Personvern : Vi har som mål å ikke lekke mer brukerinformasjon enn det som allerede er lekket i dagens systemer. Med andre ord har vi ikke som mål å beskytte personvernet til en bruker som besøker et nettsted og legger inn personlig informasjon.
  • Trinnvis distribusjonsevne : Selv om vi tror at pålitelig sluttvertsinformasjon vil være nyttig i fremtidige nettverk, streber vi etter et system som kan gi umiddelbar nytte for dem som distribuerer den.
  • Effektivitet : For å bli anvendt, må arkitekturen ikke unødig forringe klient-server nettverksytelse.

Nå som du har endepunktene sikre, vil du kort forklare hvordan egenskapene ovenfor blir implementert?

Parno : Mange nettverksprotokoller, spesielt sikkerhetsrelaterte protokoller, bruker mye ressurser på å prøve å rekonstruere informasjon som allerede er kjent for kilden til nettverkstrafikken.

For eksempel viser forskning at å vite hvor mange e-poster datamaskinen din har sendt nylig og til hvor mange forskjellige destinasjoner, er en utmerket prediktor for om e-posten er spam. En mottaker av en hvilken som helst individuell e-post har problemer med å samle statistikken, men selvfølgelig kan avsenderen enkelt beregne dem.

Ved å bruke en arkitektur som Flicker, kan vi ha et pålitelig stykke kode til å samle denne statistikken og legge ved kryptografisk-autentiserte sammendrag til hver utgående e-post eller nettverkspakke. Så vil postservere som mottar e-post fra meg se at jeg bare har sendt to e-poster i løpet av den siste timen, og det er derfor mindre sannsynlig at e-postene mine blir merket som spam.

Du kan bruke en lignende tilnærming for andre protokoller, som forebygging av avslag på tjeneste og forebygging av ormer. Selvfølgelig må vi også være nøye med å bevare brukernes personvern, gjennom en kombinasjon av anonymitetsteknikker, nøye valg av statistikk og bruk av små, isolerte, verifiserbare kodemoduler.

Kassner : Til slutt, "Verifiserbar databehandling: Sikker kodeutførelse til tross for ikke-pålitelig programvare og maskinvare". Som jeg forstår å handle om sikkert samhandling med outsourcede datamaskiner og nettverk. Du har tenkt å oppnå dette ved å bruke noe som heter Yaos Garbled Circuits og homomorfe kryptering.

Jeg får homomorfisk kryptering, men hva er krøllede kretsløp, og hvordan hjelper de det?

Parno : Garbled circuits er en smart teknikk utviklet av professor Andrew Yao på 1980-tallet. De lar to personer beregne et svar på en beregning uten å avsløre innspillene til beregningen.

Anta for eksempel at du og jeg vil lære hvilken av oss som er eldre enn den andre, men vi er for flaue til å si vår tidsaldre direkte. Ved å bruke krøllete kretsløp kunne vi utveksle litt informasjon som vil tillate oss å lære svaret (f.eks. At jeg er yngre enn deg), men jeg ville ikke lære noe annet om din alder, og omvendt.

Som en del av oppgavearbeidet mitt, oppdaget jeg at ved å endre Yaos konstruksjon, kunne jeg lage en protokoll som lar deg outsource beregningen av en funksjon til en annen part og deretter bekrefte at arbeidet var riktig.

For eksempel kan jeg betale deg for å beregne Fourier-transformasjonen av noen data. Når du returnerer svaret, vil jeg forsikre meg om at det virkelig er transformasjonen jeg ba om på dataene jeg leverte, ikke et tilfeldig tall du valgte for å spare penger.

Den endrede versjonen av Yaos protokoll lar meg begrense måten du beregner svaret på, slik at jeg effektivt kan sjekke resultatene når du er ferdig. I motsetning til, beskytter fullstendig homomorfisk kryptering på egen hånd bare hemmeligholdet til dataene dine; den forteller deg ikke noe om hvilken type beregning noen andre har gjort på dataene dine.

Dessverre viser det seg at det bare å endre Yaos protokoll ikke er nok. Å lage den forvirrede kretsen krever mye arbeid, og når du først beregner et enkelt svar for meg, må jeg lage en helt ny forvirret krets. Vi fikser dette ved å bruke et krypteringslag på toppen av protokollen, slik at vi kan gjenbruke kretsen mange ganger, og dermed amortisere startkostnadene over mange beregninger.

Siste tanker

Det virker komplisert, men å ta en matbit fra den eldgamle bekvemmeligheten kontra sikkerhetsdilemmaet ville til og med hule mannen stolt.

Jeg vil takke Dr. Parno for hans innsikt, slik at jeg kunne sitere oppgaven hans og bruke lysbildene hans.

Oppdatering : Jeg har nettopp fått vite at filsynkroniseringsappen jeg refererer til opplevde et annet sikkerhetsproblem:

"I går (19. juni 2011) foretok vi en kodeoppdatering klokken 13:54 på stillehavstiden som introduserte en feil som påvirker autentiseringsmekanismen vår. Vi oppdaget dette klokken 17.41 og en løsning var live kl. 17.46. Et veldig lite antall brukere (mye mindre enn 1 prosent) logget seg på i løpet av den perioden, hvorav noen kunne ha logget seg på en konto uten riktig passord. Som en forsiktighet, avsluttet vi alle påloggede økter. "

Vi vet at dette vil fortsette å skje. Vi gjør feil. Nye tilnærminger som Dr. Parno er nødvendige.

© Copyright 2020 | mobilegn.com