Un câmp etichetat număr de cont nu este automat o referință publică, iar eticheta nu este testul. Testul este ceea ce permite deținerea: dacă știrea numărului autentifică pe cineva, descarcă un profil de conexiune sau autorizează un dispozitiv, acel număr este o acreditare cu ciclu de viață. Rulez cele cinci verificări de mai jos ori de câte ori un serviciu emite o identitate numerică și o numește inofensivă. Fiecare produce o linie într-o evidență scurtă, iar evidența este rezultatul, nu un verdict despre produs.

Inventariați ce acordă de fapt deținerea

Notați separat fiecare acțiune pe care o deblochează numărul. Autentificarea într-un portal, obținerea unui fișier de configurare, autorizarea unui dispozitiv nou și furnizarea unei autentificări de tunel acceptate sunt autorități diferite, iar un serviciu poate implementa una fără celelalte. Un portal care acceptă numărul ca singur câmp nu spune nimic despre cum autentifică tunelul partenerul său mai târziu sau despre cum sunt derivate cheile de trafic.

Modelul general este ușor de enunțat: o acreditare bearer este aceea pe care deținătorul o poate folosi fără a dovedi deținerea unei chei criptografice separate, iar aceasta este distincția pe care RFC 6750 o trasează pentru tokenuri. Este o comparație, nu o afirmație că un serviciu bazat pe număr implementează OAuth. Dacă deținătorul nu are nevoie de nimic altceva, tratați numărul ca pe un secret bearer și clasificați restul proiectării în consecință.

Protejați-l ca pe un secret, nu ca pe o referință

Stocarea decurge din clasificare. O valoare care autentifică își are locul într-un manager de parole, nu într-o captură de ecran, un istoric al clipboardului, un mesaj de chat sau o notă a browserului. Capturile de ecran sunt scurgerea obișnuită: numărul este scurt și pare inofensiv, așa că ajunge într-un fir de asistență care supraviețuiește dispozitivului de pe care a venit.

Phishingul este celălalt mod de eșec și nu-i pasă cât de aleatoriu este numărul. Un impostor care vrea valoarea vă va cere să o lipiți într-un formular, iar o acreditare care nu expiră niciodată și nu are un al doilea factor merită efortul. Ajungeți la calea de autentificare dintr-un semn de carte sau o adresă cunoscută, nu dintr-un link dintr-un mesaj care cere și numărul.

Tratați materialul de recuperare ca parte a secretului. Dacă operatorul a emis și un cod de recuperare, un PIN sau o adresă de e-mail care poate reseta contul, acestea sunt acreditări separate cu aceeași cerință de protecție. Un singur canal de resetare neprotejat transformă orice alt control în decor.

Verificați împreună rezistența la ghicire și limitarea ratei

Lungimea are sens doar lângă metoda de generare. Un număr lung produs de o secvență previzibilă este mai slab decât o valoare scurtă produsă de un generator criptografic, iar un număr impresionant de cifre nu stabilește imprevizibilitatea. Întrebați cum este generată valoarea înainte de a raționa despre cât de greu este de ghicit.

Rezistența la ghicire singură nu supraviețuiește nici unei rate nelimitate de încercări. Controalele care contează sunt cele pe care le implementează operatorul: contoare de încercări eșuate, blocări, limitare pe sursă și dacă un număr greșit poate fi distins de unul inexistent. Dacă serviciul acceptă, o încercare eșuată arată cum arată eroarea și dacă apare un contor de reîncercare:

# 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"

Notați ce dezvăluie răspunsul. O eroare distinctă pentru un cont necunoscut este un oracol de enumerare chiar și atunci când numărul nu poate fi ghicit, iar această constatare aparține evidenței, indiferent dacă o puteți remedia din partea clientului sau nu.

Planificați rotația și revocarea înainte de a avea nevoie

Găsiți procedura acceptată pentru un număr pierdut sau expus și notați-o cât timp totul funcționează. Poate fi înlocuită deloc acreditarea contului? Înlocuirea invalidează dispozitivele deja înrolate, sesiunile active sau configurația descărcată? Ce material de recuperare cere procedura? Un serviciu fără dependență de e-mail poate transfera utilizatorului mai multă responsabilitate de recuperare, ceea ce face procedura mai importantă, nu mai puțin.

Separați înlocuirea contului de revocarea acreditării. Dacă numărul autorizează descărcarea unei chei, a unui certificat sau a unui profil, înlocuirea numărului poate lăsa acel material descărcat valid, iar revocarea materialului descărcat poate fi o altă operațiune cu un alt proprietar. Nu presupuneți că un câmp modificat încheie fiecare conexiune; verificați modelul real al operatorului și notați unde l-ați verificat.

Documentați decizia și reverificați-o mai târziu

Păstrați o evidență de o pagină per serviciu: ce autorități acordă numărul, unde este stocat, cine îl poate reseta, ce dovezi de utilizare există și ce ați face în prima oră după divulgare. Acea evidență este ceea ce transformă o dezbatere despre terminologie într-o decizie pe care cineva o poate audita.

Afirmațiile despre confidențialitate au nevoie de propriul domeniu. Un număr generat aleatoriu poate rămâne un identificator stabil care leagă evenimentele contului în timp; imprevizibilitatea nu este neasocierea, iar niciuna dintre proprietăți nu spune nimic despre metadatele de rețea păstrate. Comparați proiectări complete în loc să numărați câmpuri pe un ecran de autentificare.

Înainte de a-l înregistra:

  • Sunt listate toate autoritățile pe care le acordă numărul, inclusiv descărcările și autorizarea dispozitivelor.
  • Canalele de stocare și recuperare sunt protejate la același standard ca numărul însuși.
  • Metoda de generare și limitele de rată sunt cunoscute, nu presupuse din lungime.
  • Există o procedură de înlocuire și una de revocare, și știți care o anulează pe care.
  • Evidența numește cine poate reseta valoarea și ce dovezi rămân după utilizare.

Articole similare