Ett poängkort, inte en säljpitch
De tio gyllene reglerna för hantering av inloggningsuppgifter
Dessa är reglerna som ett system för inloggningsuppgifter bör byggas på – tekniska, testbara, godkända/underkända. Jämför vilket verktyg som helst med dem, inklusive vårt, och räkna hur många det klarar. Majoriteten av branschen klarar färre än hälften, eftersom sättet hemligheter har lagrats i tjugo år designades för människor som behövde läsa och komma ihåg dem. Ta bort det antagandet och ribban flyttas. Här är var den borde ligga.
Tio regler. Varje regel klarar Clavitor.
Varje regel är en universell princip för god hantering av inloggningsuppgifter. Under varje regel, i klartext, står exakt hur Clavitor följer den.
01 — Slumpmässig nyckel
Nyckeln är slumpmässig, och ingen människa ser den någonsin.
En hemlighet som en person kan läsa kan bli utsatt för nätfiske, gissas, återanvändas eller tvingas fram. Nyckeln bör vara slumpmässigt material som maskinen genererar – aldrig visad, aldrig inmatad, aldrig återvinningsbar från något en människa känner till.
02 — Inget huvudlösenord
Det finns inget huvudlösenord. En hårdvarunyckel är den enda nyckeln.
Ett huvudlösenord är en dörr, och en dörr kan dyrkas. En återställningsfras för ägaren är en återställningsfras för angriparen. Förtroendeankaret bör vara en fysisk nyckel som måste finnas på plats.
03 — Operatör blind
Operatören kan inte dekryptera data den lagrar.
Om företaget som driver servrarna kan läsa dina hemligheter, kan en illvillig anställd, en stämning eller vem som helst som bryter sig in i det företaget också göra det. Konfidentialitet bör vila på matematik, inte på operatörens goda beteende.
04 — Aldrig där kod körs
Hemligheter lever aldrig där kod körs.
En inloggningsuppgift i en .env-fil, en miljövariabel eller en lokal cache väntar på att vad som än körs härnäst ska ta den. Kod bör få användning av en hemlighet, aldrig förvaring av den.
05 — Ingen uppräkning
En agent kan inte räkna upp. Den når bara det den namngavs för.
Om en aktör kan lista, söka eller bläddra i lagringen, blir en enda kompromiss en karta över allt du äger. Oförmågan att räkna upp är starkare än någon gräns som satts för uppräkning.
06 — Maskinbunden
En inloggningsuppgift är bunden till maskinen den utfärdades till.
Anta att en inloggningsuppgift så småningom kommer att stjälas. Det som spelar roll är om den är värd något utanför maskinen den tillhör. En nyckel som fungerar var som helst fungerar från angriparens bärbara dator.
07 — Ingen massutvinning
Ingen enskild aktör kan tömma valvet.
Normal användning rör vid en handfull hemligheter. En stöld försöker ta allt, snabbt. Systemet bör skilja dessa två åt och stoppa den andra utan att ägaren behöver övervaka.
08 — Loggad och attribuerad
Varje åtgärd loggas och attribueras.
Delade konton och tysta läsningar förstör ansvarsskyldighet. När något går fel behöver du veta exakt vem, eller vad, som gjorde det, och varje inloggningsuppgift den rörde vid. Ett register med luckor är inte ett register.
09 — Inget i vila på klienten
Ingen inloggningsuppgift dröjer sig kvar på klienten. Inte på disk, inte i minnet, inte ens krypterad.
En krypterad lokal kopia är fortfarande en kopia, och nyckeln till den finns på samma maskin. Allt som vilar på enheten är något en angripare kan komma tillbaka för. En inloggningsuppgift bör endast existera för det ögonblick den används.
10 — Validerad krypto
Kryptografin är validerad, inte uppfunnen.
Hemmagjord krypto är hur smarta team förlorar. De primitiva metoder som skyddar en hemlighet bör vara sådana som oberoende granskare redan har validerat, och bygget bör göra det omöjligt att leverera utan dem. Tråkigt och granskat slår smart.
Kör listan.
Kör ditt nuvarande verktyg längs de tio. Kör sedan vårt. Vi skrev ner dessa eftersom de flesta i branschen tyst misslyckas med flera – och vi byggde Clavitor för att inte misslyckas med någon.