Jeżeli najnowsza aktualizacja dla Google Authenticator, w której dodano synchronizację kodów 2FA w chmurze pomiędzy urządzeniami, skłoniła Cię do przejścia na rozwiązanie Google, to zapoznaj się z wadami i zaletami innych aplikacji 2FA pod względem ich bezpieczeństwa, szyfrowania tokenów i przechowywania kopii zapasowej w chmurze. Niniejszy poradnik skierowany jest dla osób, które chcą dowiedzieć się więcej o technikaliach bezpieczeństwa jednorazowych kodów TOTP/HOTP, które są generowane przez różne aplikacje 2FA/MFA do zabezpieczania kont online.
Oto zestawienie 7 popularnych aplikacji 2FA, które są używane w wieloskładnikowym uwierzytelnianiu.
Porównanie aplikacji 2FA oraz ich wady i zalety:
2FAS
Aplikacja 2FAS służy do generowania kodów w trybie offline, zresztą tak jak wszystkie w tym zestawieniu. W ten sposób choćby jeżeli haker pozna twoje hasło i spróbuje zalogować się na twoje konto, przez cały czas musi złamać twój jednorazowy kod autoryzacyjny. Alternatywnie to ty musisz go przekazać hakerowi w ataku socjotechnicznym, w którym wykorzysta on techniki man in the browser albo man in the middle – zapoznaj się z tymi atakami, aby się dowiedzieć, na czym polegają i tym samym jak je rozpoznawać.
Zalety 2FAS Authenticator
- Aplikacja ma otwarty kod źródłowy na GitHub.
- Teoretycznie nie potrzebuje dostępu do chmury producenta ani do Internetu.
- W praktyce, dzięki połączeniu internetowemu, umożliwia bezpieczną synchronizację kodów, które są zapisywane do pliku i przechowywane na twoim koncie Google Drive w tzw. ukrytym folderze.
- Dostęp do tego pliku, który zawiera kopię zapasową, możesz zabezpieczyć swoim dodatkowym hasłem.
- Co więcej, dostęp do samej aplikacji 2FAS w telefonie możesz zabezpieczyć kodem PIN i/lub uwierzytelnieniem biometrycznym – zabezpieczenie konfigurujesz w aplikacji 2FAS. Dzięki temu nikt postronny nie uzyska wiedzy o tym, do jakich kont masz zastosowane 2FA i nie uzyska tych tokenów, aby się zalogować w twoim imieniu.
- Plik z kopią zapasową kodów w chmurze Google Drive jest zaszyfrowany, co wcale nie jest regułą u innych producentów aplikacji 2FA. Zastosowano tutaj m.in. szyfrowanie end to end. Szyfrowanie odbywa się na twoim urządzeniu, co jest dużą zaletą.
- W dowolnej chwili możesz wyeksportować plik z kodami i użyć go na innym urządzeniu, jeżeli nie chcesz korzystać z automatycznej synchronizacji w Google Drive.
- Aplikacja nie gromadzi, więc nie przechowuje w chmurze żadnych prywatnych danych.
- Możesz korzystać z aplikacji 2FAS w innych systemach niż Android, iOS, instalując rozszerzenie do przeglądarki „2FAS – Two factor authentication”.
- Aplikacja posiada zabezpieczenie przed wykonywaniem zrzutu ekranu (możesz je włączyć w dowolnym momencie).
Wady
Nie stwierdzono.
Aegis
W porównaniu do innych aplikacji 2FA, oprogramowanie Aegis wyróżnia się prostotą i bezpieczeństwem. Kilka bardzo popularnych aplikacji, takich jak Google Authenticator albo FreeOTP, nie posiada zabezpieczenia biometrycznego dostępu do samej aplikacji, przez co strona trzecia, będąc w posiadaniu twojego telefonu, może uzyskać dostęp do kodów.
Zalety Aegis Authenticator
- Aplikacja ma otwarty kod źródłowy na GitHub.
- Możliwe jest tutaj skonfigurowanie opcjonalnego tzw. sejfu dla kodów, który przed dostępem jest chroniony ustalonym przez ciebie wcześniej hasłem albo uwierzytelnieniem biometrycznym odcisku palca.
- Sejf jest szyfrowany na twoim urządzeniu silnym algorytmem AES-256-GCM.
- Możesz włączyć kopię zapasową kodów, która może być zabezpieczona odrębnym hasłem i przechowywana także na zewnętrznej karcie pamięci w telefonie (do wyboru).
- Producent umożliwia włączenie dodatkowego zabezpieczenia aplikacji przed robieniem zrzutów ekranu, aby nie ujawniać jednorazowych kodów.
- Jeżeli twoje urządzenie z Androidem posiada konto root, to możesz spróbować zaimportować kody z kilku zewnętrznych aplikacji m.in. Authy, Duo, FreeOTP, Google i Microsoft Authenticator.
- Ze względów bezpieczeństwa automatyczna kopia zapasowa w chmurze Google dostępna jest wyłącznie dla kodów dodanych do sejfu (dla niektórych może to być wadą).
Wady
Aplikacja dostępna jest na Androida oraz w sklepie F-Droid. Brak jest wersji dla iOS.
Authy
Authy to jedyna w zestawieniu wieloplatformowa aplikacja mobilna do uwierzytelniania. Została stworzona jako alternatywa dla konkurencyjnych programów i ma kilka unikatowych cech.
Authy
- Authy dostępne jest na Androida, iOS, Windows, Linux, macOS oraz jako rozszerzenie dla przeglądarek. Mając ją zainstalowaną w systemie operacyjnym, nie musisz sięgać po telefon. jeżeli nie posiadasz nowoczesnego telefonu, to Authy jest dobrym wyborem.
- Oprogramowanie zapewnia synchronizację pomiędzy urządzeniami z dowolnym systemem operacyjnym.
- Automatyczna kopia zapasowa kodów przechowywana jest w chmurze producenta w postaci zaszyfrowanej, a kody są szyfrowane twoim hasłem i na twoim urządzeniu, co zwiększa bezpieczeństwo i zaufanie do metody szyfrowania, ponieważ nie bierze w nim udziału żadna strona trzecia. Swoje hasło główne awaryjnego odzyskiwania dostępu do kont warto przechowywać w menadżerze haseł.
- Odblokowanie aplikacji możesz zabezpieczyć kodem PIN albo biometrycznym uwierzytelnieniem odcisku palca, co utrudni dostęp do danych osobom postronnym.
Wady
- Brak możliwości eksportu kodów, zatem przesiadka na inną aplikację może być czasochłonna.
- Kod aplikacji Authy nie jest otwarty (nie musi to być istotną wadą).
FreeOTP
FreeOTP to otwarte oprogramowanie stworzone przez Red Hat dla systemów iOS, Android, jest też dostępne w sklepie F-Droid. Podobnie jak inne aplikacje, działanie FreeOTP opiera się na współdzieleniu sekretu (secret key) pomiędzy aplikacją a usługą, z którą chcemy się uwierzytelniać.
FreeOTP
- Aplikacja ma otwarty kod źródłowy na GitHub.
- Kody przechowywane są w bezpiecznym magazynie kluczy Android Keystore (odpowiednik pęku kluczy w iCloud Apple, ang. Apple Keychain), dlatego fizyczny dostęp do danych z pamięci wewnętrznej telefonu jest prawie niemożliwy z powodu odseparowanego od systemu kontenera, który jest zabezpieczony silną kryptografią.
- Klucze szyfrowane są twoim hasłem i nie mogą być odzyskane, jeżeli utracisz to hasło.
- Możesz wyeksportować zapisane tokeny do pliku oraz przywrócić je na innym urządzeniu z Androidem, iOS, iPadOS.
Wady
- Brak możliwości skonfigurowania automatycznych kopii zapasowych. W razie utraty urządzenia albo awarii przeniesienie kodów nie będzie możliwe.
- Aplikacja nie posiada dodatkowego zabezpieczenia PIN-em, biometrią przy uruchamianiu.
Google Authenticator może być używane zamiennie z innymi aplikacjami na Androidzie oraz iOS. Ogromne zasoby dewelopera nie sprawiły, iż aplikacja jest tą najlepszą do uwierzytelniania. Na pewno nie jest najbezpieczniejsza.
Google Authenticator
- Od najnowszej aktualizacji możesz korzystać z pełnoprawnej, automatycznej synchronizacji kodów pomiędzy urządzeniami z podłączonym kontem Google.
- Jeśli nie chcesz korzystać z przechowywania kodów w chmurze Google, to jest tutaj możliwość eksportu kont dzięki zeskanowania kodu QR, który sparuje dwa telefony.
Wady
- Aplikacja ma zamknięty kod, ale nie musi to być zawsze wadą.
- Kopie zapasowe kodów w chmurze nie są szyfrowane i Google może mieć do nich dostęp. Użytkownik nie ma na to wpływu. Nie możesz ustawić dodatkowego hasła zabezpieczającego. Tracąc dostęp do konta Google, tracisz kontrolę nad kodami 2FA.
- Brak dodatkowego zabezpieczenia aplikacji kodem PIN, biometrią przy uruchamianiu.
Microsoft
Microsoft Authenticator to bezpłatna aplikacja mobilna do dwuskładnikowej i wieloskładnikowej autoryzacji (2FA, MFA). Jest dostępna na platformy iOS, Android. Obsługuje powiadomienia PUSH, które umożliwiają uwierzytelnienie się dzięki jednego kliknięcia bez konieczności wpisywania kodu.
Microsoft Authenticator
- Aplikacja posiada zabezpieczenie przed niepowołanym dostępem w postaci dodatkowego uwierzytelnienia biometrycznego.
- Microsoft Authenticator może być także menadżerem haseł i jednocześnie wspiera import haseł z Google Chrome oraz z innych popularnych menadżerów haseł.
- Możliwe jest włączenie przechowywania całej kopii zapasowej w chmurze Microsoft. Dane użytkownika są zabezpieczone jego hasłem do konta Microsoft.
- Dostępna jest ochrona przed wykonywaniem zrzutów ekranu, aby nie ujawniać stronie trzeciej jednorazowych kodów.
- Aplikacja obsługuje powiadomienia typu PUSH np. gdy chcesz zalogować się do konta Microsoft.
- Oprogramowanie wspiera Androida, iOS, iPadOS.
Wady
- Aplikacja ma zamknięty kod (nie musi to być wadą).
- Synchronizacja pomiędzy urządzeniami nie jest wspierana. Zamiast tego należy użyć kopii zapasowej, wyrejestrowując poprzednie urządzenie, aby zaimportować dane na nowym urządzeniu.
Raivo OTP
Aplikacja Raivo OTP ma otwarty kod źródłowy, rozwijana jest przez niezależnych pasjonatów i jest dobrze zabezpieczona, spełnia nowoczesne standardy.
Raivo OTP
- Aplikacja dostępna jest na iOS, macOS.
- Ma otwarty kod źródłowy.
- Automatycznie wykonuje kopię zapasową kodów do chmury Apple iCloud, dzięki czemu możliwa jest synchronizacja pomiędzy urządzeniami Apple.
- Kopia zapasowa kodów jest szyfrowana kodem PIN i przechowywana także na twoim urządzeniu.
- Aplikacja posiada dodatkowe, biometryczne zabezpieczenie przy otwieraniu.
- Możliwy jest eksport haseł do zaszyfrowanego archiwum, które możesz przenieść na inne urządzenie, jeżeli nie chcesz korzystać z synchronizacji lub jeżeli chcesz zaimportować kody do innej aplikacji 2FA.
Wady
Raivo OTP dostępne jest wyłącznie dla systemów Apple.
2FA nie jest skutecznym zabezpieczeniem, wybierz U2F!
Wieloskładnikowe uwierzytelnienie (2FA) nie gwarantuje pełnej ochrony przed atakami typu MITM (man in the middle) czy MITB (man in the browser), ponieważ nie stosuje potwierdzenia logowania niezależnym kanałem komunikacji.
Zanim zorientowano się, iż niektóre z metod 2FA nie są w 100% odporne na ataki, to już pracowano nad ulepszonym, otwartym standardem, czyli FIDO U2F (bazującym na kryptografii klucza publicznego) oraz późniejszego FIDO2 (integrującego dodatkowo lokalne urządzenia uwierzytelniające). Prace nad standardem logowania FIDO U2F zostały rozpoczęte przez Google oraz firmę Yubico — producenta sprzętowych kluczy bezpieczeństwa, a następnie rozwijane przez konsorcjum setek firm z branży technologicznej o nazwie FIDO Alliance (https://fidoalliance.org), stąd właśnie często można znaleźć zapis FIDO U2F albo FIDO2.
Mając zgodny ze standardem FIDO klucz bezpieczeństwa, który np. wspiera technologię bezprzewodowej komunikacji NFC na bliską odległość, można logować się do internetowych usług tak samo, jak na komputerze.
YUBIKEY
HAKERZY NIE MAJĄ SZANS!
Protokół U2F wspierają m.in. Amazon, Microsoft, Apple, Google, giełdy kryptowalut, liczne systemy CMS, dostawcy usług bezpieczeństwa w modelu SaaS, platformy społecznościowe, menadżery haseł i więcej. Pełna lista producentów, którzy zintegrowali swoje rozwiązania z FIDO jest dostępna tutaj.
Korzystaj z 2FA + U2F
Tam, gdzie jest to możliwe, korzystaj z obu metod uwierzytelniania. Nie mając akurat pod ręką klucza U2F, możesz przez cały czas logować się kodem z aplikacji 2FA, alternatywnie mniej bezpiecznym kodem przesłanym nieszyfrowanym kanałem SMS.