Token oprogramowania - Software token

Token programowy (aka miękkie tokenu ) jest kawałek uwierzytelniania dwuskładnikowego urządzenia zabezpieczającego, które mogą być używane do autoryzacji korzystania z usług komputerowych. Tokeny programowe są przechowywane na urządzeniu elektronicznym ogólnego przeznaczenia, takim jak komputer stacjonarny , laptop , PDA lub telefon komórkowy i mogą być kopiowane. (Kontrastowe tokeny sprzętowe , w przypadku których poświadczenia są przechowywane na dedykowanym urządzeniu sprzętowym i dlatego nie można ich duplikować (brak fizycznej inwazji na urządzenie).)

Ponieważ tokeny programowe są czymś, czego fizycznie nie ma, są one narażone na unikalne zagrożenia wynikające z powielania podstawowego materiału kryptograficznego - na przykład wirusów komputerowych i ataków na oprogramowanie . Zarówno tokeny sprzętowe, jak i programowe są podatne na ataki typu man-in-the-middle oparte na botach lub proste ataki phishingowe, w których wymagane jest jednorazowe hasło dostarczone przez token, a następnie dostarczane do prawdziwej witryny internetowej w odpowiednim czasie . Tokeny programowe mają zalety: nie ma fizycznego tokena do noszenia, nie zawierają baterii, które się wyczerpią i są tańsze niż tokeny sprzętowe.

Architektura bezpieczeństwa

Istnieją dwie podstawowe architektury tokenów programowych: współdzielony sekret i kryptografia z kluczem publicznym .

W przypadku wspólnego hasła administrator zazwyczaj generuje plik konfiguracyjny dla każdego użytkownika końcowego. Plik będzie zawierał nazwę użytkownika, osobisty numer identyfikacyjny i sekret . Ten plik konfiguracyjny jest przekazywany użytkownikowi.

Wspólna tajna architektura jest potencjalnie podatna na zagrożenia w wielu obszarach. Plik konfiguracyjny może zostać naruszony, jeśli zostanie skradziony, a token zostanie skopiowany. Dzięki tokenom programowym opartym na czasie można pożyczyć indywidualny PDA lub laptop, przesunąć zegar do przodu i wygenerować kody, które będą ważne w przyszłości. Każdy token oprogramowania, który używa wspólnych sekretów i przechowuje kod PIN wraz ze wspólnym sekretem w kliencie oprogramowania, może zostać skradziony i poddany atakom offline. Dystrybucja wspólnych tajnych tokenów może być trudna, ponieważ każdy token jest zasadniczo innym oprogramowaniem. Każdy użytkownik musi otrzymać kopię sekretu, co może tworzyć ograniczenia czasowe.

Niektóre nowsze tokeny programowe opierają się na kryptografii klucza publicznego lub kryptografii asymetrycznej. Ta architektura eliminuje niektóre z tradycyjnych słabości tokenów programowych, ale nie wpływa na ich główną słabość (zdolność do duplikowania). Kod PIN może być przechowywany na zdalnym serwerze uwierzytelniania zamiast w kliencie tokenu, co sprawia, że ​​skradziony token programowy nie jest przydatny, chyba że jest on również znany. Jednak w przypadku infekcji wirusowej materiał kryptograficzny może zostać zduplikowany, a następnie kod PIN może zostać przechwycony (za pomocą keyloggera lub w podobny sposób) przy następnym uwierzytelnieniu użytkownika. Jeśli podejmowane są próby odgadnięcia kodu PIN, można go wykryć i zalogować na serwerze uwierzytelniającym, który może wyłączyć token. Korzystanie z kryptografii asymetrycznej również upraszcza implementację, ponieważ klient tokenu może generować własną parę kluczy i wymieniać klucze publiczne z serwerem.

Zobacz też

Bibliografia

Linki zewnętrzne