Pole označené ako číslo účtu nie je automaticky verejným odkazom a označenie nie je test. Testom je, čo držanie umožňuje: ak znalosť čísla niekoho prihlási, stiahne profil pripojenia alebo autorizuje zariadenie, je toto číslo poverenie so životným cyklom. Vykonávam nižšie uvedených päť kontrol vždy, keď služba vydá číselnú identitu a označí ju za neškodnú. Každá vytvorí riadok v krátkom zázname a záznam je výstupom, nie rozsudkom o produkte.

Zmapujte, čo držanie skutočne udeľuje

Zapíšte každú akciu, ktorú číslo odomyká, osobitne. Prihlásenie do portálu, stiahnutie konfiguračného súboru, autorizácia nového zariadenia a poskytnutie prijatého tunelového prihlásenia sú rôzne oprávnenia a služba môže jedno implementovať bez ostatných. Portál, ktorý prijíma číslo ako jediné pole, nič nehovorí o tom, ako tunel autentizuje svojho partnera neskôr ani ako sa odvodzujú prevádzkové kľúče.

Všeobecný model sa dá ľahko vysloviť: bearer poverenie je také, ktoré držiteľ môže použiť bez preukázania držby samostatného kryptografického kľúča, čo je rozdiel, ktorý RFC 6750 vytýčuje pre tokeny. Je to porovnanie, nie tvrdenie, že služba založená na čísle implementuje OAuth. Ak držiteľ nepotrebuje nič iné, považujte číslo za bearer tajomstvo a zvyšok návrhu klasifikujte zodpovedajúco.

Chráňte ho ako tajomstvo, nie ako odkaz

Uloženie vyplýva z klasifikácie. Hodnota, ktorá prihlasuje, patrí do správcu hesiel, nie do snímky obrazovky, histórie schránky, správy v chate alebo poznámky v prehliadači. Snímky obrazovky sú obvyklý únik: číslo je krátke a vyzerá neškodne, takže skončí vo vlákne podpory, ktoré prežije zariadenie, z ktorého pochádza.

Phishing je druhý režim zlyhania a nezaujíma ho, aké náhodné číslo je. Podvodník, ktorý chce hodnotu, vás požiada, aby ste ju vložili do formulára, a poverenie, ktoré nikdy nevyprší a nemá druhý faktor, stojí za námahu. K prihlasovacej ceste sa dostávajte cez záložku alebo známu adresu, nie cez odkaz v správe, ktorá tiež žiada číslo.

Považujte obnovovací materiál za súčasť tajomstva. Ak prevádzkovateľ vydal aj obnovovací kód, PIN alebo e-mailovú adresu, ktorá môže účet obnoviť, sú to samostatné poverenia s rovnakou požiadavkou na ochranu. Jeden nechránený kanál na obnovenie premení každú ďalšiu kontrolu na dekoráciu.

Kontrolujte odolnosť proti hádaniu a obmedzenie rýchlosti spoločne

Dĺžka má význam len vedľa metódy generovania. Dlhé číslo z predvídateľnej postupnosti je slabšie než krátka hodnota z kryptografického generátora a pôsobivý počet číslic nepreukazuje nepredvídateľnosť. Pýtajte sa, ako sa hodnota generuje, skôr než začnete uvažovať o tom, aké ťažké je ju uhádnuť.

Samotná odolnosť proti hádaniu tiež neprežije neobmedzenú rýchlosť pokusov. Kontroly, na ktorých záleží, sú tie, ktoré implementuje prevádzkovateľ: počítadlá neúspešných pokusov, uzamknutia, obmedzenie na zdroj a to, či sa dá nesprávne číslo odlíšiť od neexistujúceho. Ak to služba podporuje, jeden neúspešný pokus ukáže, ako chyba vyzerá a či sa objaví počítadlo opakovaní:

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

Zaznamenajte, čo odpoveď prezrádza. Odlišná chyba pre neznámy účet je enumeračné orákulum, aj keď je číslo neuhádnuteľné, a toto zistenie patrí do záznamu, či už ho môžete opraviť na strane klienta alebo nie.

Naplánujte rotáciu a odvolanie skôr, než ich budete potrebovať

Nájdite podporovaný postup pre stratené alebo prezradené číslo a zapíšte ho, kým všetko funguje. Dá sa poverenie účtu vôbec vymeniť? Zneplatní výmena už zapísané zariadenia, aktívne relácie alebo stiahnutú konfiguráciu? Aký obnovovací materiál postup vyžaduje? Služba bez závislosti na e-maile môže preniesť viac zodpovednosti za obnovu na používateľa, čo robí postup dôležitejším, nie menej.

Oddeľte výmenu účtu od odvolania poverenia. Ak číslo autorizuje stiahnutie kľúča, certifikátu alebo profilu, výmena čísla môže ponechať stiahnutý materiál platný a odvolanie stiahnutého materiálu môže byť iná operácia s iným vlastníkom. Nepredpokladajte, že jedno zmenené pole ukončí každé pripojenie; skontrolujte skutočný model prevádzkovateľa a poznamenajte, kde ste ho overili.

Zdokumentujte rozhodnutie a neskôr ho znova skontrolujte

Veďte jednostránkový záznam pre každú službu: aké oprávnenia číslo udeľuje, kde je uložené, kto ho môže obnoviť, aké dôkazy o použití existujú a čo by ste urobili v prvej hodine po prezradení. Práve tento záznam mení spor o terminológiu na rozhodnutie, ktoré môže niekto auditovať.

Tvrdenia o súkromí potrebujú vlastný rozsah. Náhodne vygenerované číslo môže stále byť stabilným identifikátorom, ktorý spája udalosti účtu v čase; nepredvídateľnosť nie je nespojiteľnosť a ani jedna vlastnosť nič nehovorí o uchovávaných sieťových metadátach. Porovnávajte celé návrhy namiesto počítania polí na prihlasovacej obrazovke.

Skôr než to uložíte:

  • Sú uvedené všetky oprávnenia, ktoré číslo udeľuje, vrátane stiahnutí a autorizácie zariadení.
  • Kanály ukladania a obnovy sú chránené rovnakým štandardom ako samotné číslo.
  • Metóda generovania a rýchlostné limity sú známe, nie odvodené z dĺžky.
  • Existuje postup výmeny a postup odvolania a viete, ktorý ruší ktorý.
  • Záznam uvádza, kto môže hodnotu obnoviť a aké dôkazy po použití zostávajú.

Súvisiace články