På onsdag avduket Europakommisjonen en mobilapp(nytt vindu) designet for å la folk bevise alderen sin på nettet uten å dele personopplysninger med plattformer. EU-tjenestepersoner sa at appen var klar, oppfylte de høyeste standardene for personvern, og viste til dens åpne kildekode som bevis på åpenhet.

I løpet av få timer begynte imidlertid sikkerhetsforskere å plukke fra hverandre den åpne kildekoden. Innen torsdag hadde sikkerhetskonsulent Paul Moore omgått appens beskyttelse på under to minutter(nytt vindu).

Et skjermbilde av EUs app for aldersverifisering

Andre bekreftet funnene hans. Appens kontroller for hastighetsbegrensning var lagret i en redigerbar fil, biometrisk autentisering kunne slås av med en enkel konfigurasjonsendring, og sensitiv påloggingsinformasjon var tilgjengelig uten sikker maskinvarebeskyttelse.

Kommisjonen tonet ned funnene og kalte utgivelsen en demoversjon. Både Moore og den franske kryptografen Olivier Blazy slo tilbake og fortalte Politico(nytt vindu) at de testet den nyeste versjonen av koden da de fant feilene.

Senere sa kommisjonen at problemet var løst, men hendelsen viser fortsatt hvor sårbare disse systemene for aldersverifisering er.

Hva EUs app for aldersverifisering gjør og hva som gikk galt

EUs app for aldersverifisering lar folk verifisere alderen sin ved hjelp av pass, nasjonalt ID-kort eller en klarert leverandør som en bank. Plattformer kan deretter be appen sjekke om noen er over en viss alder uten å få tilgang til de underliggende personopplysningene, også kjent som «zero-knowledge proof».

Implementeringen undergravde det designet. EUs app for aldersverifisering lagret en kryptert PIN-kode i en redigerbar konfigurasjonsfil på enheten, separat fra identitetshvelvet som oppbevarer sensitive data. Ved å slette noen få verdier og starte appen på nytt, kan en angriper angi en ny PIN-kode mens man gjenbruker påloggingsinformasjon fra en tidligere profil.

Kontrollene for hastighetsbegrensning som forhindrer gjentatte gjettingsforsøk, ble lagret som en enkel teller i den samme filen, en som kan tilbakestilles til null, noe som sletter alle registreringer av mislykkede forsøk. Biometrisk autentisering ble kontrollert av et enkelt boolsk flagg; ved å endre det fra «true» til «false» ble sjekken hoppet over helt.

Bygget for å sjekke alder, men ikke trygt

Etter at forskere brukte koden til å avdekke feilene dens, omdefinerte tjenestepersoner appen som en demoversjon.

Flere utviklere påpekte at sensitive data burde vært lagret i en sikker enklave, maskinvarebeskyttelse tilgjengelig på moderne smarttelefoner som gjør slike angrep mye vanskeligere.

Men sårbarhetene avslører et problem som går lenger enn denne spesifikke appen. Aldersverifisering er ikke trygt i utformingen, fordi det krever at en ekte identitet kobles til en handling på nettet. Den lenken må være lagret et sted, selv for en kort stund, og uansett hvor den befinner seg, blir den et mål for hackere, myndigheter og alle som får uautorisert tilgang til de underliggende dataene. Jo mer sentralisert og gjenbrukbar den lenken blir, desto større blir målet.

EUs lov om aldersverifisering er ment å være en felles, personvernvennlig standard som erstatter det juridiske lappeteppet som vokser frem i medlemslandene, men kommisjonens tillit til at appen er klar viste seg å være forhastet. Mer enn 400 forskere innen personvern og sikkerhet skrev til kommisjonen i mars(nytt vindu) og ba om et moratorium på utrullingen inntil vitenskapen rundt aldersverifiseringsteknologi er mer etablert.