Поље означено као број рачуна није аутоматски јавна референца, а ознака није тест. Тест је оно што поседовање омогућава: ако познавање броја некога пријави, преузме профил везе или ауторизује уређај, тај број је приступни податак са животним циклусом. Спроводим пет провера у наставку сваки пут када услуга издаје нумерички идентитет и назива га безопасним. Свака ствара ред у кратком запису, а запис је резултат, не пресуда о производу.

Попишите шта поседовање заиста даје

Запишите сваку радњу коју број откључава, одвојено. Пријава на портал, преузимање конфигурационе датотеке, ауторизација новог уређаја и пружање прихваћене пријаве тунела различита су овлашћења, а услуга може применити једно без осталих. Портал који прихвата број као једино поље не говори ништа о томе како тунел аутентификује свог партнера касније ни како се изводе саобраћајни кључеви.

Општи модел је лако изрећи: bearer приступни податак је онај који носилац може користити без доказивања поседовања засебног криптографског кључа, што је разлика коју RFC 6750 одређује за токене. То је поређење, а не тврдња да услуга заснована на броју примењује OAuth. Ако носилац не треба ништа друго, третирајте број као bearer тајну и разврстајте остатак дизајна у складу с тим.

Заштитите га као тајну, не као референцу

Складиштење произлази из класификације. Вредност која пријављује припада менаџеру лозинки, а не снимку екрана, историји оставе, поруци у чету или белешци у прегледачу. Снимци екрана су уобичајено цурење: број је кратак и изгледа безопасно, па заврши у нити подршке која надживи уређај из којег је дошао.

Фишинг је други начин отказа и не занима га колико је број случајан. Преварант који жели вредност замолиће вас да је налепите у образац, а приступни податак који никада не истиче и нема други фактор вредан је труда. До путање пријаве дођите преко обележивача или познате адресе, не преко везе у поруци која такође тражи број.

Третирајте материјал за опоравак као део тајне. Ако је оператер издао и код за опоравак, PIN или адресу е-поште којом се рачун може поништити, то су засебни приступни подаци с истим захтевом за заштиту. Један незаштићен канал за поништавање претвара сваку другу контролу у украс.

Проверавајте отпорност на погађање и ограничење брзине заједно

Дужина има смисла само уз метод генерисања. Дугачак број из предвидљивог низа слабији је од кратке вредности из криптографског генератора, а импресиван број цифара не доказује непредвидљивост. Питајте како се вредност генерише пре него што размишљате о томе колико ју је тешко погодити.

Сама отпорност на погађање такође не преживљава неограничену стопу покушаја. Контроле које су важне су оне које оператер примењује: бројачи неуспелих покушаја, закључавања, ограничење по извору и може ли се погрешан број разликовати од непостојећег. Ако услуга то подржава, један неуспели покушај показује како грешка изгледа и да ли се појављује бројач поновних покушаја:

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

Забележите шта одговор открива. Засебна грешка за непознат рачун је oracle за набрајање чак и када је број немогуће погодити, и тај налаз припада запису, без обзира на то можете ли га исправити на страни клијента.

Планирајте ротацију и опозив пре него што вам затребају

Пронађите подржани поступак за изгубљени или откривени број и запишите га док све ради. Може ли се приступни податак рачуна уопште заменити? Поништава ли замена већ уписане уређаје, активне сесије или преузету конфигурацију? Који материјал за опоравак поступак захтева? Услуга без зависности од е-поште може пренети више одговорности за опоравак на корисника, што поступак чини важнијим, а не мање.

Одвојите замену рачуна од опозива приступног податка. Ако број ауторизује преузимање кључа, сертификата или профила, замена броја може оставити преузети материјал важећим, а опозив преузетог материјала може бити друга операција с другим власником. Не претпостављајте да једно измењено поље прекида сваку везу; проверите стварни модел оператера и забележите где сте га потврдили.

Документујте одлуку и касније је поново проверите

Водите једностанични запис за сваку услугу: која овлашћења број даје, где је сачуван, ко га може поништити, који докази о употреби постоје и шта бисте урадили у првом сату након откривања. Тај запис претвара расправу о терминологији у одлуку коју неко може ревидирати.

Тврдње о приватности требају сопствени обим. Случајно генерисан број може и даље бити стабилан идентификатор који повезује догађаје рачуна кроз време; непредвидљивост није неповезивост и ниједно својство не говори ништа о задржаним мрежним метаподацима. Упоређујте целовите дизајне уместо да бројите поља на екрану за пријаву.

Пре него што га сачувате:

  • Наведена су сва овлашћења која број даје, укључујући преузимања и ауторизацију уређаја.
  • Канали складиштења и опоравка заштићени су истим стандардом као и сам број.
  • Метод генерисања и ограничења брзине су познати, а не претпостављени из дужине.
  • Постоје поступак замене и поступак опозива и знате који укида који.
  • Запис наводи ко може поништити вредност и који докази остају након употребе.

Повезани чланци