Uzskatiet slepenu konta numuru par akreditācijas datiem: veiciet auditu
Ja numura zināšana kādu piesakā vai lejupielādē konfigurāciju, tas ir akreditācijas dati. Veiciet pilnvaru, glabāšanas, minēšanas ātruma un rotācijas pārbaudes.
Lauks ar apzīmējumu konta numurs nav automātiski publiska atsauce, un apzīmējums nav tests. Tests ir tas, ko īpašumtiesības ļauj: ja numura zināšana kādu piesakā, lejupielādē savienojuma profilu vai autorizē ierīci, šis numurs ir akreditācijas dati ar dzīves ciklu. Es veicu piecas zemāk minētās pārbaudes ikreiz, kad pakalpojums izdod ciparu identitāti un nosauc to par nekaitīgu. Katra rada rindu īsā ierakstā, un ieraksts ir rezultāts, nevis spriedums par produktu.
Uzskaitiet, ko īpašumtiesības patiešām piešķir
Pierakstiet katru darbību, ko numurs atslēdz, atsevišķi. Pieslēgšanās portālam, konfigurācijas faila iegūšana, jaunas ierīces autorizēšana un akceptētas tuneļa pieslēgšanās nodrošināšana ir dažādas pilnvaras, un pakalpojums var ieviest vienu bez pārējām. Portāls, kas pieņem numuru kā vienīgo lauku, neko nepasaka par to, kā tunelis autentificē savu partneri vēlāk vai kā tiek atvasinātas trafika atslēgas.
Vispārīgo modeli ir viegli formulēt: bearer akreditācijas dati ir tādi, ko turētājs var izmantot, nepierādot atsevišķas kriptogrāfiskas atslēgas piederību, un tā ir atšķirība, ko RFC 6750 velk tokeniem. Tas ir salīdzinājums, nevis apgalvojums, ka uz numuru balstīts pakalpojums ievieš OAuth. Ja turētājam nekas cits nav vajadzīgs, uzskatiet numuru par bearer noslēpumu un klasificējiet pārējo dizainu atbilstoši.
Aizsargājiet to kā noslēpumu, nevis kā atsauci
Glabāšana izriet no klasifikācijas. Vērtība, kas piesakā, pieder paroļu pārvaldniekam, nevis ekrānuzņēmumam, starpliktuves vēsturei, čata ziņai vai pārlūkprogrammas piezīmei. Ekrānuzņēmumi ir ierastā noplūde: numurs ir īss un izskatās nekaitīgs, tāpēc tas nonāk atbalsta pavedienā, kas pārdzīvo ierīci, no kuras tas nāca.
Fišings ir otrs atteices veids, un tam nav svarīgi, cik nejaušs ir numurs. Krāpnieks, kurš vēlas vērtību, lūgs to ielīmēt veidlapā, un akreditācijas dati, kas nekad nebeidzas un kuriem nav otrā faktora, ir pūļu vērti. Sasniedziet pieteikšanās ceļu no grāmatzīmes vai zināmas adreses, nevis no saites ziņā, kas arī prasa numuru.
Uzskatiet atkopšanas materiālu par noslēpuma daļu. Ja operators izdeva arī atkopšanas kodu, PIN vai e-pasta adresi, ar kuru var atiestatīt kontu, tie ir atsevišķi akreditācijas dati ar tām pašām aizsardzības prasībām. Viens neaizsargāts atiestatīšanas kanāls pārvērš visas pārējās kontroles par dekorāciju.
Pārbaudiet minēšanas pretestību un ātruma ierobežojumu kopā
Garums ir nozīmīgs tikai blakus ģenerēšanas metodei. Garš numurs no paredzamas secības ir vājāks par īsu vērtību no kriptogrāfiska ģeneratora, un iespaidīgs ciparu skaits nepierāda nepareģojamību. Pajautājiet, kā vērtība tiek ģenerēta, pirms spriežat, cik grūti to uzminēt.
Tikai minēšanas pretestība arī neiztur neierobežotu mēģinājumu ātrumu. Svarīgas ir tās kontroles, ko ievieš operators: neveiksmīgu mēģinājumu skaitītāji, bloķēšana, ierobežošana pēc avota un vai nepareizu numuru var atšķirt no neesoša. Ja pakalpojums to atbalsta, viens neveiksmīgs mēģinājums parāda, kā izskatās kļūda un vai parādās atkārtota mēģinājuma skaitītājs:
# 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"
Pierakstiet, ko atklāj atbilde. Atsevišķa kļūda nezināmam kontam ir uzskaitīšanas orākuls pat tad, ja numuru nav iespējams uzminēt, un šis atradums pieder ierakstam neatkarīgi no tā, vai varat to labot klienta pusē.
Plānojiet rotāciju un atsaukšanu pirms to nepieciešamības
Atrodiet atbalstīto procedūru pazaudētam vai atklātam numuram un pierakstiet to, kamēr viss darbojas. Vai konta akreditācijas datus vispār var aizstāt? Vai aizstāšana anulē jau reģistrētās ierīces, aktīvās sesijas vai lejupielādēto konfigurāciju? Kādu atkopšanas materiālu prasa procedūra? Pakalpojums bez e-pasta atkarības var nodot lietotājam vairāk atkopšanas atbildības, kas padara procedūru svarīgāku, ne mazāk svarīgu.
Nošķiriet konta aizstāšanu no akreditācijas datu atsaukšanas. Ja numurs autorizē atslēgas, sertifikāta vai profila lejupielādi, numura aizstāšana var atstāt šo lejupielādēto materiālu derīgu, un lejupielādētā materiāla atsaukšana var būt cita darbība ar citu īpašnieku. Nepieņemiet, ka viena mainīta lauka dēļ tiek pārtraukts katrs savienojums; pārbaudiet operatora faktisko modeli un pierakstiet, kur to apstiprinājāt.
Dokumentējiet lēmumu un vēlāk to pārbaudiet vēlreiz
Uzturiet vienas lapas ierakstu katram pakalpojumam: kādas pilnvaras piešķir numurs, kur tas tiek glabāts, kas to var atiestatīt, kādi lietošanas pierādījumi pastāv un ko darītu pirmajā stundā pēc atklāšanas. Šis ieraksts pārvērš terminu strīdu lēmumā, ko kāds var audītēt.
Privātuma apgalvojumiem vajadzīga sava tvēruma. Nejauši ģenerēts numurs joprojām var būt stabils identifikators, kas laika gaitā saista konta notikumus; nepareģojamība nav nesaistāmība, un neviena īpašība neko nepasaka par saglabātiem tīkla metadatiem. Salīdziniet pilnus dizainus, nevis skaitiet laukus pieteikšanās ekrānā.
Pirms to ierakstāt:
- Ir uzskaitītas visas pilnvaras, ko piešķir numurs, tostarp lejupielādes un ierīces autorizācija.
- Glabāšanas un atkopšanas kanāli ir aizsargāti ar to pašu standartu kā pats numurs.
- Ģenerēšanas metode un ātruma ierobežojumi ir zināmi, nevis pieņemti no garuma.
- Pastāv aizstāšanas procedūra un atsaukšanas procedūra, un jūs zināt, kura kuru atceļ.
- Ieraksts nosauc, kas var atiestatīt vērtību un kādi pierādījumi paliek pēc lietošanas.