Behandle eit hemmeleg kontonummer som ein påloggingsinformasjon: revider det
Viss kjennskap til nummeret loggar nokon inn eller hentar ein konfigurasjon, er det ein påloggingsinformasjon. Køyr kontrollane for myndigheit, lagring, gjettetakt og rotasjon.
Eit felt merkt kontonummer er ikkje automatisk ein offentleg referanse, og etiketten er ikkje testen. Testen er kva eigarskapen tillèt: viss kjennskap til nummeret loggar nokon inn, lastar ned ein tilkoplingsprofil eller autoriserer ei eining, er nummeret ein påloggingsinformasjon med ein livssyklus. Eg køyrer dei fem kontrollane nedanfor kvar gong ei teneste gjev ut ein numerisk identitet og kallar han ufarleg. Kvar av dei gjev ei linje i ein kort rapport, og rapporten er leveransen, ikkje ein dom over produktet.
Kartlegg kva eigarskapen faktisk gjev
Skriv ned kvar handling nummeret låser opp, kvar for seg. Å logge på ein portal, hente ei konfigurasjonsfil, autorisere ei ny eining og levere ei godteken tunnelpålogging er ulike myndigheiter, og ei teneste kan implementere éi utan dei andre. Ein portal som godtek nummeret som einaste felt, seier ingenting om korleis tunnelen autentiserer partnaren sin seinare, eller korleis trafikknøklar vert utleidde.
Den generelle modellen er lett å formulere: ein bearer-påloggingsinformasjon er ein der innehavaren kan bruke han utan å prove eigarskap av ein eigen kryptografisk nøkkel, som er skillet RFC 6750 dreg for token. Det er ei samanlikning, ikkje ein påstand om at ei nummerbasert teneste implementerer OAuth. Viss innehavaren ikkje treng noko anna, handsam nummeret som ein bearer-hemmelegheit og klassifiser resten av designet deretter.
Vern det som ei hemmelegheit, ikkje som ein referanse
Lagringa følgjer av klassifiseringa. Ein verdi som loggar på, høyrer heime i ein passordhandsamar, ikkje i eit skjermbilete, ei utklippstavlehistorikk, ei chatmelding eller eit nettlesarnotat. Skjermbilete er den vanlege lekkasjen: nummeret er kort og verkar ufarleg, så det endar i ein støttetråd som overlever eininga det kom frå.
Nettfiske er den andre feilmodusen, og det bryr seg ikkje om kor tilfeldig nummeret er. Ein bedragar som vil ha verdien, vil be deg lime han inn i eit skjema, og ein påloggingsinformasjon som aldri går ut og ikkje har ein andre faktor, er innsatsen verd. Nå påloggingsvegen via eit bokmerke eller ei kjend adresse, ikkje via ei lenkje i ei melding som òg ber om nummeret.
Handsam gjenopprettingsmateriale som ein del av hemmelegheita. Viss operatøren òg gav ut ein gjenopprettingskode, ein PIN eller ei e-postadresse som kan nullstille kontoen, er desse separate påloggingsinformasjonar med same vernskrav. Éin uverna nullstillingskanal gjer kvar annan kontroll til dekorasjon.
Kontroller gjettemotstand og taktgrense saman
Lengd er berre meiningsfull ved sida av genereringsmetoden. Eit langt nummer frå ei føreseieleg rekkje er svakare enn ein kort verdi frå ein kryptografisk generator, og eit imponerande tal på siffer beviser ikkje uføreseielegheit. Spør korleis verdien vert generert før du resonnerer om kor vanskeleg han er å gjette.
Gjettemotstand åleine overlever heller ikkje ein ubegrensa freistnadtakt. Kontrollane som tel, er dei operatøren implementerer: teljarar for mislukka freistnader, låsing, avgrensing per kjelde og om eit feil nummer kan skiljast frå eit som ikkje finst. Viss tenesta støttar det, viser éin mislukka freistnad korleis feilen ser ut og om ein freistnadsteljar dukkar opp:
# one attempt, then read the response and any counter or delay
# do not script repeated guesses against a live account
curl -i -X POST https://portal.example.invalid/login -d "account=000000000000"
Noter kva svaret avdekkjer. Ein eigen feil for ein ukjend konto er eit oppramsingsorakel sjølv når nummeret ikkje kan gjetast, og den funnet høyrer til rapporten, anten du kan rette det på klientsida eller ikkje.
Planlegg rotasjon og tilbakekalling før du treng dei
Finn den støtta prosedyren for eit tapt eller avdekt nummer og skriv han ned medan alt fungerer. Kan påloggingsinformasjonen til kontoen i det heile erstattast? Ugyldiggjer erstatninga allereie registrerte einingar, aktive økter eller nedlasta konfigurasjon? Kva gjenopprettingsmateriale krev prosedyren? Ei teneste utan e-postavhengnad kan overføre meir gjenopprettingsansvar til brukaren, noko som gjer prosedyren viktigare, ikkje mindre.
Skil utskifting av kontoen frå tilbakekalling av påloggingsinformasjonen. Viss nummeret autoriserer nedlasting av ein nøkkel, eit sertifikat eller ein profil, kan utskifting av nummeret la det nedlasta materialet vere gyldig, og tilbakekalling av det nedlasta materialet kan vere ein annan operasjon med ein annan eigar. Ikkje gå ut frå at eitt endra felt avsluttar kvar tilkopling; kontroller den faktiske modellen til operatøren og noter kvar du stadfesta det.
Dokumenter avgjerda og kontroller henne på nytt seinare
Hald ein rapport på éi side per teneste: kva myndigheiter nummeret gjev, kvar det er lagra, kven som kan nullstille det, kva prov på bruk som finst, og kva du ville gjere den første timen etter avdekking. Den rapporten er det som gjer ein diskusjon om terminologi om til ei avgjerd nokon kan revidere.
Personvernpåstandar treng sitt eige omfang. Eit tilfeldig generert nummer kan framleis vere ein stabil identifikator som koplar kontoohendingar over tid; uføreseielegheit er ikkje ikkje-kopling, og ingen av eigenskapane seier noko om lagra nettverksmetadata. Samanlikn komplette design i staden for å telje felt på ein påloggingsskjerm.
Før du registrerer det:
- Kvar myndigheit nummeret gjev, er lista, inkludert nedlastingar og einingautoriasjon.
- Lagrings- og gjenopprettingskanalar er verna etter same standard som nummeret sjølv.
- Genereringsmetoden og taktrensene er kjende, ikkje antatt ut frå lengda.
- Det finst ein utskiftingsprosedyre og ein tilbakekallingsprosedyre, og du veit kva som opphevar kva.
- Rapporten namngjev kven som kan nullstille verdien og kva prov som står att etter bruk.