En poengoversikt, ikke en salgspitch
De ti gylne reglene for administrasjon av påloggingsinformasjon
Dette er reglene et system for påloggingsinformasjon bør bygges på – tekniske, testbare, bestå/ikke-bestå. Hold ethvert verktøy opp mot dem, inkludert vårt, og tell hvor mange det klarer. Mesteparten av bransjen klarer færre enn halvparten, fordi måten hemmeligheter har blitt lagret på i tjue år var designet for mennesker som måtte lese og huske dem. Fjern den antakelsen, og listen flyttes. Her er hvor den bør ligge.
Ti regler. Hver av dem klarer Clavitor.
Hver regel er et universelt prinsipp for god administrasjon av påloggingsinformasjon. Under hver regel, i klare ordelag, står det nøyaktig hvordan Clavitor følger den.
01 — Tilfeldig nøkkel
Nøkkelen er tilfeldig, og ingen menneske ser den noensinne.
En hemmelighet et menneske kan lese kan bli fisket, gjettet, gjenbrukt eller tvunget ut av dem. Nøkkelen bør være tilfeldig materiale maskinen genererer – aldri vist, aldri tastet inn, aldri gjenopprettbar fra noe et menneske vet.
02 — Ingen hovedpassord
Det finnes ingen hovedpassord. En maskinvarenøkkel er den eneste nøkkelen.
Et hovedpassord er en dør, og en dør kan dirkes opp. En gjenopprettingsfrase for eieren er en gjenopprettingsfrase for angriperen. Roten av tillit bør være en fysisk nøkkel som må være til stede.
03 — Operatør blind
Operatøren kan ikke dekryptere dataene den lagrer.
Hvis selskapet som driver serverne kan lese hemmelighetene dine, kan en skruppelløs ansatt, en stevning, eller hvem som helst som bryter seg inn i det selskapet, også gjøre det. Konfidensialitet bør hvile på matematikk, ikke på operatørens gode oppførsel.
04 — Aldri der koden kjører
Hemmeligheter lever aldri der koden kjører.
En påloggingsinformasjon i en .env-fil, en miljøvariabel, eller en lokal cache venter på at det som kjører neste gang skal ta den. Kode bør få bruksrett til en hemmelighet, aldri eierskap til den.
05 — Ingen opplisting
En agent kan ikke liste opp. Den når bare det den ble navngitt til.
Hvis en aktør kan liste, søke eller bla gjennom lagringen, blir en enkelt kompromittering et kart over alt du eier. Manglende evne til å liste opp er sterkere enn noen grense satt for opplisting.
06 — Maskinbundet
En påloggingsinformasjon er bundet til maskinen den ble utstedt til.
Anta at en påloggingsinformasjon til slutt vil bli stjålet. Det som betyr noe er om den er verdt noe utenfor maskinen den tilhører. En nøkkel som fungerer hvor som helst, fungerer fra angriperens bærbare datamaskin.
07 — Ingen massesuging
Ingen enkelt aktør kan tømme hvelvet.
Normal bruk berører en håndfull hemmeligheter. Et tyveri prøver å ta alt, raskt. Systemet bør skille de to og stoppe det andre uten at eieren må se på.
08 — Logget og attribuert
Hver handling logges og attribueres.
Delte kontoer og stille lesinger ødelegger ansvarlighet. Når noe går galt, må du vite nøyaktig hvem, eller hva, som gjorde det, og hvilken påloggingsinformasjon den berørte. En logg med hull er ikke en logg.
09 — Ingenting i hvile på klienten
Ingen påloggingsinformasjon henger igjen på klienten. Ikke på disk, ikke i minne, ikke engang kryptert.
En kryptert lokal kopi er fortsatt en kopi, og nøkkelen til den er på samme maskin. Alt som hviler på enheten er noe en angriper kan komme tilbake for. En påloggingsinformasjon bør bare eksistere for øyeblikket den brukes.
10 — Validert kryptografi
Kryptografien er validert, ikke oppfunnet.
Hjemmelaget kryptografi er slik smarte team taper. Primitivene som beskytter en hemmelighet bør være de som uavhengige anmeldere allerede har validert, og bygget bør gjøre det umulig å publisere uten dem. Kjedelig og revidert slår smart.
Kjør listen.
Kjør ditt nåværende verktøy gjennom de ti. Deretter kjører du vårt. Vi skrev disse ned fordi mesteparten av bransjen i det stille ikke klarer flere av dem – og vi bygde Clavitor for å klare alle.