En fremtid uden adgangskode: Bygge mod mere sikre og brugbare autentificeringssystemer

Udskiftning af adgangskoder med private nøgler i en let forståelig metafor

Med introduktionen af ​​EOSIO Labs ™ -initiativet er vi begyndt at innovere i det fri med hensyn til fremtiden for blockchain-teknologier bygget på EOSIO. Vores første udgivelse under dette initiativ udforsker fremtiden for privat nøglestyring og dens konsekvenser for sikkerhed og nøglestyring - Universal Authenticator Library (UAL). Det, der ligger til grund for filosofien om denne udgivelse, er en udforskning af et større problem, der er centreret omkring, hvordan adgangskoder og autentificering er blevet implementeret over internettet, blockchain eller på anden måde. Selvom der ikke er nogen softwareversion, der ledsager dette indlæg, sigter denne artikel til at diskutere problemer, der plager eksisterende godkendelsessystemer, og de moderne forsøg på at bevæge sig ud over adgangskoder, der følger med sådanne problemer. Så vil vi abstrakt foreslå en ny model ved hjælp af metaforen for et "pass", såsom en flybillet eller et bibliotekskort, til at tackle disse problemer på en sikker og anvendelig måde.

Hearsay-problemet

Nuværende metoder til autentificering af brugere lider under det, vi vil kalde “Hearsay-problemet”. Hearsay er enhver information, der modtages fra en part om udsagn eller handlinger fra en anden part, som ikke kan dokumenteres tilstrækkeligt. Vores holdning er, at al information hentet fra systemer, der er afhængige af aktuelle avancerede metoder til autentificering af brugere, kan kvalificeres som blot høresag, hvis nogen af ​​de involverede parter skulle kalde gyldigheden af ​​de pågældende oplysninger.

For at illustrere kan du forestille dig et dårligt modtaget post på sociale medier, som angiveligt er skrevet af en velkendt politiker, der truer med at ødelægge den nævnte politikers karriere. Hvordan ved vi med sikkerhed, at politikeren faktisk forfatter den forbandede post? Mens forfatteren virkelig kunne have været den pågældende politiker, kunne det lige så godt være enhver med adgang til politikernes sociale mediekonto. For at udvide denne ræsonnement kan puljen af ​​mulige ‘forfattere’ omfatte et hvilket som helst antal mennesker tæt på politikeren eller modstanders hackere i et målrettet angreb. Ikke desto mindre ville ingen, inklusive politikeren og udbyderen af ​​sociale medier, være i stand til at fremlægge afgørende, ikke-omstændighedsbevis for, at politikeren var eller ikke endeligt var forfatteren til det aktuelle spørgsmål.

For at bruge juridisk og teknisk terminologi omtales denne egenskab som repoderbarhed, og det er ikke et ønsket træk. To primære faktorer fører til dette kendetegn ved afvisbarhed i vores eksempel på sociale medier; den første faktor er et godkendelsesskema, der kræver afsløring af en hemmelighed for at validere besiddelsen af ​​den hemmelighed. I sikkerhedsordninger (som adgangskoder), der er underlagt denne faktor, er det umuligt at oprette logfiler om brugeraktivitet, der kan verificeres af andre end parten og modparten. Den anden faktor er manglen på midler til at bevise, at dataene i et system, der faktisk repræsenterer brugerens hensigt, hvilket fører os til et andet problem, vi kalder, ”Den tomme check”.

Problemet med tom kontrol

Problemet med tom kontrol er til stede i ethvert system, der kan gribe ind på brugerens vegne uden at have brug for brugerens udtrykkelige samtykke til den specifikke handling. Det er også til stede, hvis midlerne til at fange brugerens samtykke er noget mindre end en bevisloggning for, at brugeren blev informeret om implikationerne af hver enkelt handling og udtrykkeligt samtykket til hver handling.

I eksemplet ovenfor tilføjer dette problem selve social media service såvel som mange af dets medarbejdere til listen over parter, der kunne have placeret den forbandede post. Hvordan kan vi bevise, at den sociale medietjeneste eller en af ​​dens ansatte ikke har kompromitteret adgangen til "post" på politikernes vegne? Et eksempel på dette, der er højere stakes, der viser, hvorvidt navnet “Det tomme checkproblem” er passende, er det for en bankkonto. Teknologisk set er der intet der forhindrer din bank i at afvikle eller låse dine midler, og der ville ikke være nogen måde at bevise noget forkert, da banken kunne fremstille poster over tilsyneladende legitime transaktioner. Dette ville uden tvivl have alvorlige konsekvenser, der berører mange interessenter på en materiel måde.

De to bliver én

En klar observatør har måske bemærket, at disse problemer virkelig er to resultater af det samme underliggende problem: manglen på beviselige revisionslogfiler. Selvom der er teknologier, der adresserer denne grundlæggende mangel i vores nuværende systemer, som certifikatbaserede systemer baseret på asymmetrisk kryptografi, har de endnu ikke opnået et niveau af brugervenlighed, der gør dem tilgængelige for offentligheden. Ved at tackle denne udfordring med letforståelige metaforer for en teoretisk løsning, som vi præsenterer nedenfor, har vi muligheden for at forbedre sikkerheden og anvendeligheden af ​​alle vores systemer, for alle slags brugere, og forbedre brugernes oplevelse i processen .

Passwords

Når man diskuterer cybersikkerhed, skal to grundlæggende termer defineres: ‘autentificering’, som er den proces, hvorpå en bruger beviser, at de er den, de siger, at de er i besiddelse af særlige identificerende legitimationsoplysninger, typisk med et brugernavn og adgangskode; og 'autorisation', som er den proces, hvorpå en brugers handlinger inden for en softwareplatform er tilladt eller begrænset i henhold til deres identitet.

Siden 1960'erne har adgangskoder været de facto-metoden, der tillader en bruger at autentificere sig til en enhed eller en tjeneste. Adgangskodegodkendelse er i øjeblikket en velforstået teknologi for ingeniører. For brugere er adgangskoder blevet et simpelt begreb at forstå; de er komfortable og velkendte, selv for ikke-tekniske brugere. Men selv om deres enkelhed og fortrolighed er en styrke, lider adgangskoder også af mange svagheder.

Sådanne svagheder er både teknologiske og menneskelige. Nogle af dem er blevet drøftet bredt, inklusive udtømmende detaljer i NIST retningslinjerne for digital identitet, så vi vil ikke gentage dem her. Det, der dog er vigtigt at huske, er, at adgangskoder ikke muliggør pålidelige, reviderbare logfiler over de handlinger, som en bruger har godkendt. For at autentificere med en adgangskode skal den afsløres, og for at kontrollere gyldigheden af ​​en brugers adgangskode, skal tjenesteudbydere have gemt dem i en form for centraliseret infrastruktur. Dette betyder, at ingen andre end tjenesteudbyderen kan have tillid til, at alle revisionslogfiler, de opbevarer, er nøjagtige repræsentationer af en brugers handlinger. Af denne grund er systemer, der er afhængige af adgangskoder til godkendelse, underlagt både The Hearsay Problem og The Tom Check Problem som beskrevet ovenfor.

Moderne forsøg på at forbedre eller erstatte adgangskoder

Der har været adskillige forsøg i årenes løb på gradvist at forbedre eller erstatte adgangskoder. Nedenfor gennemgår vi et par af de mest succesrige sager sammen med deres styrker og svagheder.

Adgangskodeadministratorer

Eksistensen af ​​Password Managers repræsenterer en optagelse af flere af de grundlæggende mangler ved adgangskoder. De forsøger at forbedre situationen ved at frigøre brugeren fra at skulle generere og huske tilstrækkeligt komplekse adgangskoder, hvilket giver mulighed for adgangskoder til et enkelt formål, der opfylder et meget højere sikkerhedsniveau.

Brugt korrekt forbedrer Password Managers sikkerheden og i begrænset omfang anvendeligheden af ​​systemer med adgangskodebaseret godkendelse. Alligevel er enhver, der har forsøgt at lære deres forældre, børn eller ikke-tekniske venner at bruge dagens iterationer af password manager-software, smertefuldt opmærksom på, at de hverken er bredt adopterede eller anvendelige nok til at blive det.

Fra et teknisk perspektiv er der ingen standarder for adgangskodeadministratorer. De forsøger at gætte, hvornår en bruger opretter en konto, logger ind eller opdaterer deres adgangskode for at være mere praktisk, men de mislykkes ofte. De giver grundlaget for en forbedret løsning, men i sidste ende er de stadig bare adgangskoder og er stadig underlagt både The Hearsay Problem og The Blank Check Problem.

To-faktorautentisering

Som anerkendelse af passagers svaghed er der gjort forsøg på at lægge yderligere sikkerhed for at sikre, at adgangskoden i sig selv ikke er det eneste mislykkelsespunkt. Denne tilgang kaldes normalt en anden faktor eller to-faktor-godkendelse (2FA). Der er en række implementeringer af 2FA, og selvom alle tilføjer forskellige grader af gradvis sikkerhed til adgangskodebaserede autentificeringssystemer, udgør de det med ekstra kompleksitet med hensyn til opsætning og slutbrugerdrift. En almindelig 2FA-løsning er afhængig af SMS-beskeder for at give tidsbaserede engangskodeord (OTP). Ligesom adgangskoder i sig selv lider to-faktorløsninger af problemet med, at de ikke kan høres og er sårbare over for sikkerhedspraksis hos telefonselskaber, der leverer SMS-beskeder til din enhed.

Denne mangel på beviselig revisionsevne betyder, at 2FA stadig ikke løser The Hearsay Problem eller The Blank Check Problem.

WebAuthn-standarden

WebAuthn er en ny godkendelsesstandard foreslået af World Wide Web Consortium (W3C), et internationalt samfund af medlemsorganisationer, et fuldtidsansat og det offentlige arbejder sammen om at udvikle webstandarder. WebAuthn kommer meget tæt på at løse alle disse problemer til webbaserede transaktioner ved hjælp af asymmetrisk kryptografi i stedet for adgangskoder, hvilket giver en af ​​de nødvendige ingredienser til at overvinde de problemer, vi har skitseret. For at forhindre brugere, der mister deres enheder i at blive låst ud af enhver tjeneste, er WebAuthn designet til at blive brugt sammen med adgangskoder snarere end som en erstatning.

En anden væsentlig vigtig begrænsning af WebAuthn er, at den blev designet som et bevis på tilstedeværelse, ikke som et bevis på samtykke. Det er ikke defineret at tillade anmodninger om tilladelse pr. Transaktion, der kan kontrolleres af peers. Så endnu en gang har systemer, der er afhængige af WebAuthn, ikke beviselige revisionslogfiler og er underlagt både The Hearsay Problem og The Blank Check problemet.

Blockchain som en potentiel løsning

Blockchains har populariseret ideen om at autentificere brugeren til enhver handling, de autoriserer, ved hjælp af kryptografisk signering af transaktioner med offentlig nøgle til at nå dette mål. Dette er en stor forbedring af adgangskoder og et skridt ud over, hvad WebAuthn kan give. Det tilfredsstiller også den første faktor, der er nødvendig for at tackle Hearsay-problemet: beviselig revision.

Desværre definerer dagens blockchain-brugergrænseflader heller ikke en standard til at beskrive autorisationsanmodninger på en menneskelig venlig måde til brugerne, så de kan vises i en pålidelig kontekst til brugergodkendelse. Uden denne menneskelig venlige anmodning om gengivelsesstandard kan brugerne ikke vide, hvad de er enige om. Dette betyder, at selvom blockchains skaber en beviselig hørbar log, mangler de midler til at bevise, at dataene i et system faktisk repræsenterer brugerens intention. Således er de stadig underlagt problemer med Hearsay og Blank Check.

Tilbage til vores eksempel på sociale medier, hvis en social medieplatform blev bygget på en blockchain, ville de være i stand til at bevise, at den pågældende politiker faktisk underskrev handlingen, der resulterede i stillingen, men de ville ikke være i stand til at bevise at de (eller et andet parti) ikke narrede politikeren til at underskrive handlingen ved at forkert repræsentere den.

En teoretisk løsning: “Passes” i stedet for nøgler eller adgangskoder

For at fremme sikkerheden i vores systemer har vi brug for bevis for brugerens samtykke kombineret med et niveau af enkelhed og brugervenlighed, der overstiger endda adgangskoder. Dette betyder, at vi skal kommunikere komplekse teknologier som asymmetrisk kryptografi gennem en metafor, der er umiddelbart forståelig for enhver slags brugere, ikke kun teknologer. Et koncept, der opfylder disse kriterier, er et "pass". Når vi beskriver et koncept med et pass, vil vi vise, hvordan denne teoretiske løsning af et pas, der bruges i en Pass Manager-applikation, kan tilfredsstille både Hearsay-problemet og Det Blanke Check-problem, som vi har skitseret.

For brugere repræsenterer et pass et velkendt og håndgribeligt middel til at bevise besiddelse af en legitimation. Hver dag interagerer vi med fysiske pas som en del af vores daglige rutiner. Som bibliotekbruger du bare vise og præsentere dit bibliotek kort. Som flypassager dukker du bare op og præsenterer din billet. Dette er eksempler på et engangskort, for tjenester, der ikke leverer et enkelt formålskort, kan du muligvis præsentere dit kørekort for at bevise din identitet.

For at understøtte godkendelses- og autorisationsbrugssager introducerer vi konceptet med den digitale "Pass Manager". En Pass Manager er et kodeordfrit paradigme til tilfælde, der er registreret, godkendt og godkendt.

Hvad kunne du gøre med en Pass Manager?

Udstedelse og tilbagekaldelse

  • Tjenesteudbydere kunne anmode Pass Manager om at udstede et nyt pas til en bruger.
  • Brugere kunne organisere deres pas i grupper. (f.eks. mit arbejde bestås og mine personlige pas)
  • Brugere kunne godkende og afautorisere passeringer på tværs af flere enheder.

Godkendelse

  • Tjenesteudbydere kan anmode om bevis for, at en brugers besiddelse af et pas.
  • Brugere kunne fremlægge bevis for, at de havde et pass.

Bemyndigelse

  • Tjenesteudbydere kan anmode om bevis for en brugers tilladelse til at udføre en bestemt handling på autoritet for et pas, som brugeren besidder.
  • Brugere kunne se godkendelsesanmodninger, der er afgivet klart på en menneskelig venlig måde, og vælge, om de ville godkende handlingen, på autoriteten af ​​et pas, de har.

Hvordan fungerer en Pass Manager?

En Pass Manager implementerer en (endnu ikke defineret) standardiseret protokol til udstedelse og tilbagekaldelse af pass, godkendelse og tilladelse med pass. Et pas er en konceptuel abstraktion, der indkapsler legitimationsoplysninger (nøgler).

Oplevelsen af ​​at bruge en digital Pass Manager skal være meget lig den fysiske analog af adgangskort. Brugeren ankommer simpelthen til en tjeneste (uanset om det er en web-app, en indbygget app, et salgsstedssystem eller en kiosk) og præsenterer et pas til at logge ind eller autorisere en handling. Dette er som en universitetsstuderende, der bruger deres college-id for at få adgang til en collegiat-sportsbegivenhed, så en gang inde, og bruge den til at købe mad på et stand med deres campus-spisebalance, og bliver præsenteret for ordrebekræftelse, før de forpligter sig til transaktionerne.

Under hætten kan en blanding af teknologier arbejde sammen med at producere overlegen sikkerhed og brugervenlighed for brugerne, herunder kryptografisk signering, hardwaretaster og biometri til legitimationssikkerhed samt en transport-agnostisk protokol til portabilitet.

Når som helst en brugers samtykke søges af en Pass Manager, skal mennesker-venlige beskrivelser af handlingen vises for brugeren, og denne beskrivelse (eller en kryptografisk verificerbar derivat af den) skal inkluderes i det underskrevne svar fra Pass Manager. Brug af nøgler betyder, at logfiler ikke kan afvises og kan verificeres af tredjepart, og inkluderingen af ​​den menneskelige venlige beskrivelse i det underskrevne svar kan tjene som bevis på brugerens intention. Disse egenskaber løser både problemer med Hearsay og Blank Check.

Denne model kan understøtte både nuværende webteknologi og fremtidige tilfælde af brug af blockchain-teknologi. Det er også i stand til at give en klar brugeroplevelse til både login- og autorisationsbrugssager.

Hvad er nødvendigt for at gøre Pass Managers vellykkede?

interoperabilitet

Først og fremmest bør der bygges en Pass Manager-protokol, så brugerne får friheden til at vælge en Pass Manager, der bedst passer til deres behov. Dette er vigtigt, fordi det forhindrer indlåsning af leverandører, hvilket skaber det frie marked, der er nødvendigt for at fremme innovation inden for både sikkerhed og brugeroplevelse. På denne måde vinder den bedste brugeroplevelse med acceptabel sikkerhed.

For at give denne valgfrihed skal der være standardprotokoller til tilmelding, login og autorisation. Specielt autorisation er en interessant udfordring, fordi den kræver definition af en standard til beskrivelse af anmodninger om tilladelse til brugere på en måde, der er forståelig, redelig, beviselig og bærbar.

overførselsret

For det andet skal Pass Manager-protokollen bygges til portabilitet; hvilket betyder: 1) support til enhver form for applikation eller service, der kører på en platform, 2) support til begrænset eller ingen netværksforbindelse, 3) support til flere enheder og 4) support til kommunikation på tværs af enheder.

Brugere har stationære computere, bærbare computere, telefoner, tablets, smart-ure og USB-nøgler. Så en enkel og problemfri oplevelse til udstedelse og tilbagekaldelse af adgangsadgang på flere enheder er kritisk. Brugere interagerer også med salgssteder, ikke-betroede offentlige computere, automater og kiosker. Så evnen til at interagere fra en enhed til en anden, med eller uden netværksforbindelse, uden at enhederne skal stole på hinanden, er nødvendig.

Disse krav kan imødekommes ved at definere Pass Manager-protokollen til at være transportagnostisk. Dette betyder, at protokollen skal fokusere på at definere navneord og verb, som implementeringssystemer skal kunne tale flydende, og tillade, at de transporter, gennem hvilke de tales, kan variere. Eksempler på transporter kan omfatte tilpassede protokol-URL'er, Apple Universal Links, Android Intents, serveranmodninger, QR-koder, Bluetooth, NFC og JavaScript API'er. Med denne fleksibilitet kan Pass Managers virkelig bæres.

Anvendelighed

Brugere skal ikke være nødt til at overveje konsekvenserne af, om de bruger en webtjeneste med en database backend eller et blockchain-system. I tilfælde af blockchain skal de ikke være nødt til at vide, hvilken blockchain platform eller netværk den applikation, de bruger, er bygget på. De skulle kun være nødt til at overveje deres brugssag. Ting som…

”Jeg trækker penge tilbage fra en pengeautomat.”

"Jeg logger ind på min e-mail."

”Jeg kan godt lide et indlæg på sociale medier.”

”Jeg køber chips fra en salgsautomat.”

”Jeg overfører 100 tokens fra Dan til Brian.”

Aldrig ting som ...

"Jeg underskriver en transaktion med en R1-nøgle, der er godkendt til min blockchain11-konto, på eksemplet.com dapp, som er bygget på Telos blockchain, som er bygget på EOSIO-platformen."

Sikkerhed

Nuværende implementeringer af både adgangskoder og offentlige nøglesystemer er usikre af forskellige årsager. Pass Managers skal gøre det bedre.

For at beskytte brugere mod angreb på centraliserede honningpunkter med legitimationsoplysninger, bør hemmelige legitimationsdata aldrig gemmes på centraliseret infrastruktur i nogen form (hashing og saltning er ikke godt nok). For at beskytte brugere mod at få deres legitimationsoplysninger stjålet gennem phishing, malware og angreb på midten, bør brugerne aldrig vide, hvad deres legitimationsoplysninger er, og de bør aldrig indtastes manuelt eller automatisk i nogen tjeneste. For at beskytte brugere mod at blive narret til at tilføje ondsindede pass, skal brugerne ikke være i stand til at tilføje eller fjerne pass selv. I stedet skal en betroet Pass Manager håndtere dette automatisk på brugerens vegne som svar på, at brugeren besøger nye tjenester eller får nye enheder.

Fremtiden er vidåben for passchefer

I denne artikel har vi fastlagt problemer, der skal løses for at tackle sikkerheds- og brugervenlighedsspørgsmål med aktuelle avancerede metoder til sikring af brugerkonti. Vi har præsenteret konceptet Passes, der erstatter adgangskoder og den digitale Pass Manager, som et middel til at løse disse problemer. Vi har drøftet de nødvendige attributter for, at en Pass Manager-protokol kan få succes, men vi har ikke udtrykkeligt defineret protokollen. Vi opfordrer initiativrige udviklere til at løse de problemer, der plager både adgangskode og nøglebaserede sikkerhedssystemer og til at betragte Pass-metaforen som en måde at nå dette mål på.

Ansvarsfraskrivelse: Block.one yder sit bidrag på frivillig basis som medlem af EOSIO-samfundet og er ikke ansvarlig for at sikre den generelle ydelse af softwaren eller andre relaterede applikationer. Vi fremsætter ingen repræsentation, garanti, garanti eller tilsagn i forbindelse med de her beskrevne frigivelser, den relaterede GitHub-frigivelse, EOSIO-softwaren eller nogen tilknyttet dokumentation, hvad enten det er udtrykt eller underforstået, herunder, men ikke begrænset til garantier eller salgbarhed, egnethed til en bestemt formål og ikke-krænkelse. Under ingen omstændigheder er vi ansvarlige for ethvert krav, skader eller andet ansvar, hvad enten det drejer sig om en handling, kontrakt eller anden måde, der stammer fra, ud af eller i forbindelse med softwaren eller dokumentationen eller brugen eller anden handel med softwaren eller dokumentation. Eventuelle testresultater eller ydelsestal er vejledende og afspejler ikke ydelsen under alle forhold. Enhver henvisning til tredjepart eller tredjeparts produkt, ressource eller service er ikke en påtegning eller anbefaling fra Block.one. Vi er ikke ansvarlige og fraskriver os ethvert ansvar og ansvar for din brug af eller afhængighed af nogen af ​​disse ressourcer. Tredjepartsressourcer kan opdateres, ændres eller afsluttes når som helst, så oplysningerne her kan være forældede eller unøjagtige. Enhver person, der bruger eller tilbyder denne software i forbindelse med levering af software, varer eller tjenester til tredjepart, skal underrette sådanne tredjeparter om disse licensvilkår, ansvarsfraskrivelser og ansvarsfritagelser. Block.one, EOSIO, EOSIO Labs, EOS, heptahedronen og tilhørende logoer er varemærker tilhørende Block.one. Andre varemærker, der henvises til heri, tilhører deres respektive ejere. Bemærk, at udsagnene heri er et udtryk for Block.ones vision, ikke en garanti for noget, og at alle aspekter heraf kan ændres i alle henseender efter Block.ones eget skøn. Vi kalder disse "fremadrettede udsagn", som inkluderer udsagn i dette dokument, bortset fra udsagn om historiske fakta, såsom udsagn om EOSIOs udvikling, forventede præstationer og fremtidige funktioner eller vores forretningsstrategi, planer, udsigter, udvikling og mål. Disse udsagn er kun forudsigelser og afspejler Block.ones nuværende overbevisning og forventninger med hensyn til fremtidige begivenheder; de er baseret på antagelser og er underlagt risiko, usikkerheder og ændringer til enhver tid. Vi arbejder i et hurtigt skiftende miljø. Nogle risici opstår fra tid til anden. I betragtning af disse risici og usikkerheder bliver du advaret om ikke at stole på disse fremadrettede udsagn. Faktiske resultater, præstation eller begivenheder kan afvige væsentligt fra hvad der er forudsagt i de fremadrettede udsagn. Nogle af de faktorer, der kan medføre, at faktiske resultater, resultater eller begivenheder afviger væsentligt fra de fremadrettede udsagn inkluderer uden begrænsning: markedsvolatilitet; fortsat tilgængelighed af kapital, finansiering og personale; produkt accept; den kommercielle succes for nye produkter eller teknologier; konkurrence; statslige reguleringer og love; og generelle økonomiske, markedsmæssige eller forretningsmæssige forhold. Alle erklæringer er kun gyldige fra datoen for første bogføring, og Block.one er ikke forpligtet til og fraskriver sig udtrykkeligt enhver forpligtelse til, opdatere eller ændre erklæringer, hvad enten det er som et resultat af nye oplysninger, efterfølgende begivenheder eller på anden måde. Intet heri udgør teknologisk, finansiel, investering, juridisk eller anden rådgivning, hverken generelt eller med hensyn til en bestemt situation eller implementering. Rådfør dig med eksperter på passende områder, før du implementerer eller bruger noget, der findes i dette dokument.