Hacker News

Ikke bruk passord for å kryptere brukerdata

Kommentarer

13 min read Via blog.timcappalli.me

Mewayz Team

Editorial Team

Hacker News

Passnøkler er den mest spennende autentiseringsutviklingen på mange år. De eliminerer phishing, fjerner byrden med passord og leverer en sømløs påloggingsopplevelse støttet av offentlig nøkkelkryptering. Men en farlig misforståelse sprer seg gjennom utviklermiljøer: hvis passord er kryptografiske, kan de sikkert også kryptere brukerdata. De kan ikke - og forsøk på å bruke dem på den måten vil skape sprø, upålitelige systemer som kan låse brukerne dine ute fra deres egen informasjon permanent. Å forstå hvorfor krever et klart blikk på hva passord faktisk er, hva kryptering krever, og hvor de to skiller seg på måter som betyr enormt for enhver plattform som håndterer sensitive forretningsdata.

Autentisering og kryptering er fundamentalt forskjellige jobber

Autentisering svarer på ett spørsmål: "Er du den du utgir deg for å være?" Kryptering svarer på en helt annen: "Kan disse dataene forbli uleselige for alle unntatt autoriserte parter?" Disse to problemene deler kryptografiske primitiver, men ingeniørkravene divergerer kraftig. Autentisering må skje én gang per økt, kan tolerere sporadisk feil med grasiøse fallbacks, og trenger ikke produsere samme utdata hver gang. Kryptering krever deterministisk, reproduserbar nøkkeltilgang over hele levetiden til dataene – som kan være år eller tiår.

Når du autentiserer med en passord, genererer enheten en kryptografisk signatur som beviser at du har den private nøkkelen knyttet til kontoen din. Serveren bekrefter denne signaturen og gir tilgang. Ikke på noe tidspunkt får serveren – eller til og med applikasjonen din – tilgang til det private nøkkelmaterialet selv. Dette er en funksjon, ikke en begrensning. Hele sikkerhetsmodellen med passord er avhengig av at den private nøkkelen aldri forlater den sikre enklaven på enheten din. Men kryptering krever at du bruker en nøkkel for å transformere data, og senere bruker den samme nøkkelen (eller dens motpart) for å reversere transformasjonen. Hvis du ikke har pålitelig tilgang til nøkkelen, kan du ikke dekryptere pålitelig.

Plattformer som Mewayz som administrerer sensitiv forretningsinformasjon – fakturaer, lønnsposter, CRM-kontakter, HR-dokumenter på tvers av 207 moduler – trenger krypteringsstrategier bygget på nøkler som er holdbare, gjenvinnbare og konsekvent tilgjengelige. Å bygge det på et fundament designet spesielt for å hindre nøkkeltilgang er en arkitektonisk selvmotsigelse.

Hvorfor adgangsnøkler motstår å bli brukt som krypteringsnøkler

WebAuthn-spesifikasjonen, som underbygger adgangsnøkler, ble bevisst utformet med begrensninger som gjør bruk av kryptering upraktisk. Å forstå disse begrensningene avslører hvorfor dette ikke er et gap som smart ingeniørkunst kan bygge bro over – det er en grunnleggende designgrense.

  • Ingen nøkkeleksport: Private nøkler som genereres under registrering av passord, lagres i maskinvarestøttede sikre enklaver (TPM, Secure Enclave eller tilsvarende). Operativsystemet og nettleser-API-ene gir ingen mekanisme for å trekke ut rånøkkelmateriale. Du kan be nøkkelen om å signere noe, men du kan ikke lese selve nøkkelen.
  • Ikke-deterministisk nøkkelgenerering: Å opprette en passordnøkkel for samme bruker på en annen enhet produserer et helt annet nøkkelpar. Det er ingen startfrase, ingen avledningsbane, ingen måte å rekonstruere den samme nøkkelen på en annen enhet. Hver registrering er kryptografisk uavhengig.
  • Enhetsbundet tilgjengelighet: Selv med synkronisering av passord (iCloud Keychain, Google Password Manager), avhenger tilgjengeligheten av økosystemdeltakelse. En bruker som registrerer seg på en iPhone og senere bytter til Android kan miste tilgangen. En bruker hvis enhet er mistet, stjålet eller tilbakestilt til fabrikk, står overfor det samme problemet.
  • Kun utfordring-svar: WebAuthn API avslører navigator.credentials.get() som returnerer en signert påstand, ikke rånøkkelmateriale. Du mottar en signatur over en serverlevert utfordring – nyttig for å bevise identitet, ubrukelig for å utlede en krypteringsnøkkel.
  • Ingen algoritmefleksibilitet: Passnøkler bruker vanligvis ECDSA med P-256-kurven. Selv om du kunne få tilgang til nøkkelen, er ECDSA en signeringsalgoritme, ikke en krypteringsalgoritme. Du trenger ytterligere transformasjoner (ECDH-nøkkelavtale, KDF-avledning) som API-en ikke støtter i denne sammenhengen.

Noen utviklere har foreslått løsninger – ved å bruke PRF (Pseudo-Random Function)-utvidelsen til WebAuthn, for eksempel, for å utlede symmetriske nøkler under autentisering. Selv om denne utvidelsen eksisterer i spesifikasjonen, forblir nettleserstøtten inkonsekvent, den er utilgjengelig på mange mobile plattformer, og den arver fortsatt enhetsbindingsproblemet. En nøkkel utledet via PRF på én enhet kan ikke reproduseres på en annen enhet med en annen passord, selv for den samme brukerkontoen.

Scenarioet for tap av data som ingen vil sende

Vurder hva som skjer når du krypterer en brukers data med en nøkkel hentet fra passordet. Alt fungerer vakkert på dag én. Brukeren logger på, nøkkelen utledes, data krypteres og dekrypteres sømløst. Så tre måneder senere faller telefonen deres i en innsjø.

Med tradisjonell autentisering er det en ulempe å miste en enhet. Brukeren gjenoppretter kontoen sin via e-post, setter opp ny legitimasjon og fortsetter å jobbe. Men hvis dataene deres ble kryptert med en nøkkel bundet til den nå nedsenkede enhetens sikre enklave, er disse dataene borte. Ikke "vanskelig å gjenopprette" borte – kryptografisk irreversibel borte. Ingen kundestøttebillett, ingen kontogjenopprettingsflyt, ingen ledereskalering kan reversere regnestykket. Dataene kan like gjerne ha blitt slettet.

Kardinalregelen for utforming av krypteringssystem: hvis nøkkeladministrasjonsstrategien din har et enkelt feilpunkt som permanent ødelegger tilgangen til brukerdata, har du ikke bygget en sikkerhetsfunksjon – du har bygget en datatapsmekanisme med ekstra trinn.

For en bedrift som driver drift gjennom en plattform – administrere 50 klientforhold i et CRM, behandle månedlig lønn for 30 ansatte, spore en flåte av kjøretøy – er permanent datatap fra en mistet telefon ikke et mindre UX-problem. Det er en forretningskontinuitetskatastrofe. Det er nettopp derfor Mewayz sin arkitektur skiller autentiseringsmekanismer fra databeskyttelseslag, og sikrer at ingen enkelt enhetsfeil kan kompromittere tilgangen til kritisk forretningsinformasjon på tvers av noen av de integrerte modulene.

Hva du bør bruke i stedet

Den gode nyheten er at det eksisterer veletablerte mønstre for å kryptere brukerdata uten å falle i passordfellen. Disse tilnærmingene er kamptestet, bredt støttet og designet spesielt for krypteringsbruk.

Kryptering på serversiden med administrerte nøkler er fortsatt det mest praktiske valget for de aller fleste applikasjoner. Plattformen din krypterer data i hvile ved hjelp av nøkler administrert gjennom en riktig nøkkeladministrasjonstjeneste (KMS) – AWS KMS, Google Cloud KMS, HashiCorp Vault eller tilsvarende. Brukeren autentiserer (med passord, hvis du vil!) og serveren håndterer kryptering og dekryptering transparent. Dette er hvordan de fleste SaaS-plattformer beskytter data, og det fungerer fordi nøklene er holdbare, sikkerhetskopierte, roterbare og uavhengige av enhver brukers enhet.

Passordavledede krypteringsnøkler (bruker Argon2id eller scrypt for nøkkelavledning) er passende når du trenger ekte nullkunnskapskryptering der selv serveren ikke kan lese brukerdata. Avveiningen er at å miste passordet betyr å miste dataene, men passord kan huskes, skrives ned og lagres i passordbehandlere - de er ikke låst inne i en maskinvareenklave. Tjenester som 1Password og Standard Notes bruker denne tilnærmingen effektivt.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →
  1. Bruk adgangsnøkler (eller en hvilken som helst sterk metode) for autentisering – verifiser brukerens identitet.
  2. Etter autentisering, utled eller hent krypteringsnøkler gjennom et separat, spesialbygd nøkkelbehandlingssystem.
  3. Implementer nøkkelescrow eller gjenopprettingsmekanismer – gjenopprettingsnøkler, nøkkelsynkronisering med flere enheter eller organisasjonsnøkkeloppbevaring for bedriftskontoer.
  4. Krypter data i hvile og under overføring med AES-256-GCM eller XChaCha20-Poly1305 med nøkler fra KMS.
  5. Roter nøkler med jevne mellomrom og oppretthold krypterte nøkkelsikkerhetskopier som overlever et enkelt feilpunkt.

Denne separasjonen av bekymringer er ikke bare en beste praksis – det er den eneste arkitekturen som lar deg oppgradere autentiseringsmetoder uavhengig av krypteringsstrategien din. Når passord til slutt utvikler seg eller blir erstattet av noe bedre, forblir de krypterte dataene dine perfekt tilgjengelige.

PRF-utvidelsen: løfte og fallgruver

Utviklere som følger WebAuthn-spesifikasjonen nøye kan peke på utvidelsen prf som en potensiell bro mellom passord og kryptering. Denne utvidelsen lar en pålitelig part be om en pseudo-tilfeldig verdi utledet fra passordets hemmelige materiale under en autentiseringsseremoni. I teorien kan denne verdien fungere som en krypteringsnøkkel eller frø.

I praksis står PRF-utvidelsen overfor betydelige adopsjonsbarrierer. Fra begynnelsen av 2026 varierer støtten dramatisk på tvers av nettlesere og plattformer. Safaris implementering er forskjellig fra Chromes. Mange Android-enheter støtter det ikke i det hele tatt. Maskinvaresikkerhetsnøkler har inkonsekvent støtte. For enhver plattform som betjener en mangfoldig brukerbase – og Mewayz betjener 138 000+ brukere på tvers av alle større operativsystemer og enhetstyper – er det operasjonelt uholdbart å bygge kryptering på en funksjon med ujevn tilgjengelighet.

Mer fundamentalt løser ikke PRF problemet med flere enheter. Den pseudo-tilfeldige utgangen er avledet fra den spesifikke passordnøkkelen på den spesifikke enheten. En bruker som registrerer passord både på den bærbare datamaskinen og telefonen får to forskjellige PRF-utganger for samme konto. Du må kryptere data med en enhets avledede nøkkel og deretter på en eller annen måte omkryptere eller dele den nøkkelen med den andre enheten – noe som bringer deg rett tilbake til å bygge et skikkelig nøkkeladministrasjonssystem uansett. På det tidspunktet legger den passordavledede nøkkelen til kompleksitet uten å legge til sikkerhet.

Leksjoner for byggherrer: Bruk riktig verktøy for riktig lag

Fristelsen til å bruke passord for kryptering kommer fra et godt instinkt – utviklere ønsker å utnytte sterk kryptografi og redusere antallet hemmeligheter brukere trenger å administrere. Men sikkerhetsteknikk handler i bunn og grunn om å bruke rett primitive på rett lag. En lås og en safe beskytter begge verdisakene, men du ville ikke installert en lås i et hvelv eller prøve å ha en safe i lommen.

Passnøkler utmerker seg med sitt utformede formål. De har redusert phishing-relaterte kontoovertakelser med opptil 99,9 % i Googles interne distribusjon. De eliminerer fullstendig fyllingsangrep. De gir en påloggingsopplevelse som samtidig er sikrere og mer praktisk enn passord. Det er en bemerkelsesverdig prestasjon, og det er nok. Å be passord om også å løse kryptering er som å be brannmuren om også å fungere som sikkerhetskopieringssystemet ditt – det misforstår arkitekturen.

Når man bygger plattformer som håndterer sensitiv forretningsdrift, bør arkitekturen reflektere klare grenser. Autentisering bekrefter identitet. Autorisasjon bestemmer tilgang. Kryptering beskytter data i hvile og under overføring. Nøkkeladministrasjon sikrer at krypteringsnøkler overlever enhetstap, ansatteomsetning og infrastrukturendringer. Hvert lag har spesialbygde verktøy, og å blande dem skaper skjørhet som dukker opp på de verst mulige øyeblikkene – når en bruker har mest behov for å få tilgang til dataene sine og ikke kan.

Få riktig sikkerhet uten å overkomplisere den

For de fleste SaaS-applikasjoner og forretningsplattformer er den praktiske anbefalingen grei: ta i bruk passord entusiastisk for autentisering, og håndter kryptering helt på serversiden med en administrert KMS. Dette gir brukerne dine den beste påloggingsopplevelsen som er tilgjengelig i dag, samtidig som de beskytter dataene deres med infrastruktur utviklet spesielt for holdbarhet og gjenoppretting.

Hvis trusselmodellen din virkelig krever ende-til-ende-kryptering der serveren ikke kan få tilgang til klartekstdata, invester i en riktig krypteringsarkitektur på klientsiden med passordavledede nøkler, gjenopprettingskoder og organisasjonsnøkkelescrow – ikke passordavledede snarveier. Ingeniørinvesteringen er større, men alternativet er å sende et system som til slutt vil ødelegge noens data uopprettelig.

Sikkerhetsbeslutninger forverres over tid. En snarvei som tas i dag blir et migrasjonsmareritt om tre år når de underliggende primitive endringene, et enhetsøkosystem endrer sin synkroniseringspolicy, eller en nettleser forakter en utvidelse. Å bygge på de riktige abstraksjonene fra starten – autentisering som autentisering, kryptering som kryptering, hver med sin egen nøkkellivssyklus – er grunnlaget som lar plattformer skalere til hundretusenvis av brukere uten en tikkende bombe begravd i det kryptografiske rørsystemet.

Ofte stilte spørsmål

Hvorfor kan ikke passord brukes til å kryptere brukerdata?

Passnøkler er designet utelukkende for autentisering, ikke kryptering. De er avhengige av offentlig nøkkelkryptering for å bekrefte identiteten din under pålogging, men den private nøkkelen forlater aldri enheten din og er ikke tilgjengelig for applikasjoner. Kryptering krever stabile, reproduserbare nøkler som konsekvent kan dekryptere data over tid. Adgangsnøkler mangler denne funksjonen, noe som gjør dem fundamentalt uegnet for å beskytte lagret brukerinformasjon.

Hva skjer hvis du prøver å kryptere data med passord uansett?

Du risikerer å bygge et sprøtt system der brukere blir permanent utestengt fra sine egne data. Adgangsnøkler kan trekkes tilbake, roteres eller erstattes på tvers av enheter uten forvarsel. Hvis krypterte data er knyttet til en spesifikk adgangsnøkkel som blir slettet eller oppdatert, er det ingen gjenopprettingsbane. Dette skaper et katastrofalt scenario med tap av data som ingen tekniske løsninger på en pålitelig måte kan forhindre.

Hva bør utviklere bruke i stedet for passord for datakryptering?

Utviklere bør bruke spesialbygde krypteringsløsninger som AES-256 med riktig nøkkeladministrasjon, konvoluttkryptering eller etablerte biblioteker som libsodium. Hold autentisering og kryptering som separate bekymringer. Bruk adgangsnøkler for det de utmerker seg med – passordløs pålogging – og dedikerte krypteringsnøkler administrert gjennom sikker nøkkelavledning og lagringssystemer for å beskytte sensitive brukerdata.

Hvordan håndterer Mewayz autentisering og datasikkerhet for bedrifter?

Mewayz tilbyr et forretnings-OS med 207 moduler som starter på $19/md. som skiller autentisering fra databeskyttelse ved å bruke bransjebestemte praksis. I stedet for å misbruke passord, implementerer plattformen på app.mewayz.com riktige krypteringslag sammen med sikre påloggingsflyter, noe som sikrer at bedrifter kan beskytte kundedata pålitelig uten å risikere lockout-scenarioene som kommer av å blande autentisering med kryptering.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime