Влезте в VPN клиент, който иска парола и след това шестцифрен код, и двете подкани изглеждат като две независими прегради. По вид фактор те са точно това: паролата е нещо, което знаете, кодът е нещо, което притежавате. По това какво разкрива един компрометиран лаптоп, те могат да се срутят в една граница, защото това, което притежавате, е файл на машината, в която пишете. Разликата между тези две бройки е темата на това ръководство.

Проследете един вход от полето за парола до полето за код

Гледайте последователността, а не етикетите. Клиентът изпраща паролата, сървърът отговаря, че е нужно второ доказателство, и клиентът отваря поле за шест или осем цифри. Зад това поле стои приложение генератор, което държи споделена тайна и часовник. То изчислява стойност от тайната и текущата стъпка на времето, а сървърът преизчислява същата стойност от своето копие на тайната.

Двете страни държат един и същ ключов материал. Тази симетрия е частта, която хората пропускат, когато описват кода като тайна: доставчикът също може да генерира вашите кодове, затова семето струва повече от всеки отделен изход. Изтеклият код е еднократна стойност; семето, което го е създало, е постоянни идентификационни данни, които продължават да произвеждат валидни стойности, докато не бъдат заменени.

Активирането е другата половина на потока. Генератор, който се отключва с PIN на устройството, биометрична подкана или криптиран контейнер, представя доказателство за притежание плюс още нещо. Такъв, който работи без криптиране и се отключва със сесията на операционната система, представя само файла. Същото приложение може да предложи и двете подредби в зависимост от това как е направена регистрацията, така че решението за внедряване е в тази стъпка, а не в маркетинговата страница на приложението.

Решете какво всъщност доказва кодът

Езикът на стандартите е необичайно ясен тук и заслужава пряко четене. Насоките на NIST за удостоверители изброяват софтуерните OTP генератори като удостоверители, разграничават еднофакторен OTP от многофакторен OTP с фактор за активиране и посочват, че OTP удостоверяването не е устойчиво на фишинг. Всяка от тези три клаузи променя това, което можете да твърдите за подканата.

Неустойчивостта на фишинг е най-острият ръб. Код, въведен в поле, може да бъде въведен в чуждо поле, в реално време, от човек, който е бил убеден да го направи. Прозорецът е кратък, което намалява броя на полезните опити, но не затваря техниката. Ако изискването ви включва съпротива срещу това, OTP е грешният примитив, без значение къде работи генераторът.

Еднофакторност срещу многофакторност е второто разграничение. Код, който се появява без стъпка за активиране, доказва притежание на файл и нищо друго, а файлът е толкова силен, колкото акаунта, който може да го чете. Добавете фактор за активиране и твърдението се подобрява, макар то все още да описва доказателството, представено при вход, а не изолацията на машината, която го произвежда.

Вижте какво може да достигне компрометиран лаптоп

Нападател с изпълнение на код на работната станция не е ограничен до четене на полето, в което пишете. Сесията, установена след успешен вход, обикновено е токен или бисквитка, а токен може да се използва от друга машина без никакъв код. Ако това е способността, срещу която се защитавате, добавянето на втора подкана при вход променя броя стъпки в атаката, а не резултата.

ArrangementWhat it adds at loginWhat it leaves inside the laptop boundary
Password plus TOTP app on the same machineA possession proof the password alone does not supplyThe seed, the unlock step and the authenticated session
TOTP app on a separate phoneSeed storage outside the workstationSession cookies, the typed password and any prompt that can be proxied
Hardware key with a signed challengeA per-login signature bound to the originWhatever the browser and the workstation are already trusted to do

Четете третата колона като честната. Всяка подредба по-горе оставя нещо в границата на доверие на работната станция, защото там се използва сесията. Променя се дали дълготрайната тайна пътува с тази граница или остава извън нея, и дали доказателството е обвързано с конкретен произход, така че подобна страница да не може да го препрати.

Два по-малки детайла принадлежат към същата картина. Кодът остава валиден през своя прозорец за приемане, често тридесет секунди плюс допуск за отклонение на часовника, така че прихваната стойност може да бъде повторена в този прозорец, освен ако проверяващият не откаже повторно използване. А инсталирането на нов генератор не прекратява сесии, които вече са удостоверени, така че остаряла сесия надживява смяната на идентификационни данни, която е трябвало да овладее инцидента.

Преместете генератора само там, където разделянето помага

Поставянето на генератора на кодове на телефон е реално подобрение за един конкретен отказ: откраднат лаптоп вече не носи и двете доказателства. То не прави нищо за отвличане на сесия на лаптопа, нищо за потребител, който въвежда код във фишинг страница, и нищо за кодовете за възстановяване, които са били отпечатани веднъж и снимани в приложение за бележки.

Затова напишете изискването, преди да изберете инструмента. Ако целта е допълнително доказателство срещу изтекла парола, кажете го направо, и приложението на същото устройство вече го дава. Ако целта е устойчивост на компрометиране на VPN работната станция, назовете тази способност на нападателя и изберете подредба, оценена за нея, а изискването за фишинг формулирайте отделно, вместо да го предполагате.

След това се заемете с оперативната половина, която решава дали нещо от това оцелява при сблъсък с инцидент. Загубата на устройство изисква документиран път за замяна, ротацията на идентификационни данни изисква отменяне на активните сесии, а материалът за регистрация изисква същата защита като семето, тъй като незащитено копие от регистрацията дава на нападателя същите бъдещи кодове по по-кратък път. Изброяването на тези четири пункта е по-полезно от спор дали токените на същото устройство са добри или безполезни.

Подобни статии