Zaloguj się do klienta VPN, który najpierw prosi o hasło, a potem o sześciocyfrowy kod, i dwa monity wyglądają jak dwie niezależne bariery. Liczone według typu czynnika są nimi: hasło to coś, co wiesz, kod to coś, co posiadasz. Liczone według tego, co ujawnia jeden skompromitowany laptop, mogą się zapaść w jedną granicę, ponieważ to, co posiadasz, to plik na maszynie, w której piszesz. Różnica między tymi dwoma rachunkami jest tematem tego omówienia.

Prześledź jedno logowanie od pola hasła do pola kodu

Patrz na sekwencję, nie na etykiety. Klient wysyła hasło, serwer odpowiada, że potrzebny jest drugi dowód, a klient otwiera pole na sześć lub osiem cyfr. Za tym polem stoi aplikacja generatora, która trzyma wspólny sekret i zegar. Oblicza wartość z sekretu i bieżącego kroku czasu, a serwer przelicza tę samą wartość ze swojej kopii sekretu.

Obie strony trzymają ten sam materiał klucza. Ta symetria to część, którą ludzie pomijają, opisując kod jako sekret: dostawca również może generować twoje kody, dlatego ziarno jest warte więcej niż jakiekolwiek pojedyncze wyjście. Kod, który wycieknie, jest wartością jednorazową; ziarno, które go wytworzyło, jest trwałym poświadczeniem, które produkuje ważne wartości, dopóki nie zostanie wymienione.

Aktywacja to druga połowa przepływu. Generator, który odblokowuje się kodem urządzenia, monitem biometrycznym lub zaszyfrowanym kontenerem, przedstawia dowód posiadania plus coś jeszcze. Ten, który działa bez szyfrowania i odblokowuje się sesją systemu operacyjnego, przedstawia tylko plik. Ta sama aplikacja może oferować oba układy w zależności od tego, jak przeprowadzono rejestrację, więc decyzja o wdrożeniu leży w tym kroku, a nie na stronie marketingowej aplikacji.

Zdecyduj, co kod naprawdę dowodzi

Język standardów jest tu niezwykle jasny i wart bezpośredniej lektury. Wytyczne NIST dotyczące uwierzytelniaczy wymieniają programowe generatory OTP jako uwierzytelniacze, odróżniają OTP jednoskładnikowe od wieloskładnikowego OTP z czynnikiem aktywacji i stwierdzają, że uwierzytelnianie OTP nie jest odporne na phishing. Każda z tych trzech klauzul zmienia to, co można twierdzić o monicie.

Brak odporności na phishing to najostrzejsza krawędź. Kod wpisany w pole można wpisać w cudze pole, w czasie rzeczywistym, przez osobę, którą do tego namówiono. Okno jest krótkie, co zmniejsza liczbę użytecznych prób, ale nie zamyka techniki. Jeśli twoje wymaganie obejmuje odporność na to, OTP jest złym prymitywem, niezależnie od tego, gdzie działa generator.

Jednoskładnikowość kontra wieloskładnikowość to drugie rozróżnienie. Kod, który pojawia się bez kroku aktywacji, dowodzi posiadania pliku i niczego więcej, a plik jest tylko tak silny jak konto, które może go odczytać. Dodaj czynnik aktywacji, a twierdzenie się poprawia, choć nadal opisuje dowód przedstawiony przy logowaniu, nie izolację maszyny, która go wytwarza.

Zobacz, do czego może dotrzeć skompromitowany laptop

Napastnik z wykonaniem kodu na stacji roboczej nie ogranicza się do czytania pola, w którym piszesz. Sesja ustanowiona po udanym logowaniu to zwykle token lub cookie, a token można użyć z innej maszyny bez żadnego kodu. Jeśli to jest zdolność, przed którą się bronisz, dodanie drugiego monitu przy logowaniu zmienia liczbę kroków ataku, a nie wynik.

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

Czytaj trzecią kolumnę jako uczciwą. Każdy układ powyżej zostawia coś w granicy zaufania stacji roboczej, ponieważ tam używa się sesji. Zmienia się to, czy długotrwały sekret podróżuje z tą granicą, czy zostaje poza nią, oraz czy dowód jest związany z konkretnym pochodzeniem, aby podszyta strona nie mogła go przekazać.

Dwa mniejsze szczegóły należą do tego samego obrazu. Kod pozostaje ważny przez swoje okno akceptacji, często trzydzieści sekund plus tolerancja na odchylenie zegara, więc przechwyconą wartość można odtworzyć w tym oknie, chyba że weryfikator odmówi ponownego użycia. A instalacja nowego generatora nie kończy sesji, które zostały już uwierzytelnione, więc stara sesja przeżywa zmianę poświadczeń, która miała opanować incydent.

Przesuń generator tylko tam, gdzie rozdzielenie pomaga

Umieszczenie generatora kodów w telefonie to realna poprawa dla jednej konkretnej awarii: skradziony laptop nie nosi już obu dowodów. Nie robi nic przeciwko przejęciu sesji na laptopie, nic dla użytkownika, który wpisuje kod na stronie phishingowej, i nic dla kodów odzyskiwania, które raz wydrukowano i sfotografowano do aplikacji notatek.

Napisz więc wymaganie, zanim wybierzesz narzędzie. Jeśli celem jest dodatkowy dowód przeciwko wyciekłemu hasłu, powiedz to wprost, a aplikacja na tym samym urządzeniu już go dostarcza. Jeśli celem jest odporność na kompromitację stacji roboczej VPN, nazwij tę zdolność napastnika i wybierz układ oceniony pod jej kątem, a wymaganie dotyczące phishingu podaj osobno, zamiast je zakładać.

Następnie zajmij się połową operacyjną, która decyduje, czy cokolwiek z tego przetrwa kontakt z incydentem. Utrata urządzenia wymaga udokumentowanej ścieżki wymiany, rotacja poświadczeń wymaga unieważnienia aktywnych sesji, a materiał rejestracyjny wymaga takiej samej ochrony jak ziarno, ponieważ niechroniona kopia rejestracji daje napastnikowi te same przyszłe kody krótszą drogą. Wyliczenie tych czterech punktów jest użyteczniejsze niż spieranie się, czy tokeny na tym samym urządzeniu są dobre, czy bezwartościowe.

Powiązane artykuły