Wczoraj Tomasz Kasprzak dał znać o systemie uwierzytelniania PassWindow. Muszę przyznać, że temat nieco mnie zaintrygował, w szczególności to, czy metoda jest rzeczywiście tak bezpieczna, jak twierdzi producent/wynalazca. Oczywiście nie byłbym sobą, gdybym w takim przypadku nie zastanawiał się nad tym, jak taką metodę uwierzytelniania zaatakować.
PassWindow - mam opory
Szczególnie intryguje mnie kwestia ile prób uwierzytelnienia trzeba podsłuchać (screen obrazka wyświetlonego przez system i wpisane przez użytkownika hasło), by odtworzyć układ kresek na karcie użytkownika. Zagadnienie podobne do tego, czym zajmowałem się dla haseł maskowanych oraz Personal Identification Pattern. Na razie mam kilka pomysłów jak się do tematu zabrać, ale jeszcze tego nie uskuteczniłem.
Patrząc na to, jak ta metoda uwierzytelnienia działa, mam wrażenie, że jej twórca tak skupił się na keyloggerach, że zapomniał o innych zagrożeniach, a przynajmniej trochę je zbagatelizował. Zobrazuję to dwoma screenami:

Powyższy obrazek przedstawia typowy(?) przypadek użycia. Użytkownik logując się do aplikacji przykłada do ekranu komputera swoją kartę i poprzez złożenie tego, co jest wyświetlane na stronie w postaci obrazka oraz kresek umieszczonych na posiadanej przez siebie karcie, uzyskiwane jest hasło jednorazowe.
A poniżej sama karta...

Jak to było? Osły warstw nie mają. My swoje lęki nosimy jak odzież wierzchnią. W tym wypadku karta dumnie prezentuje swój tajny układ kresek... To trochę tak jakby na karcie bankomatowej wyskrobać PIN (by nie zapomnieć), albo seed tokenu lub klucz prywatny wyskakiwał na każde skinienie palcem.
Co prawda w PassWindow Core Security temat ten jest poruszony w sekcji Personal key protection, ale mimo wszystko mam wątpliwości, czy prezentowane zabezpieczenie jest skuteczne. To znów zależy w dużej mierze od scenariusza wykorzystania samego nośnika, czyli w tym przypadku karty.
W Bankomat, PIN, covert channel zwracałem uwagę, że klient może utracić "wyłączność" na PIN do swojej karty a dane z paska na niej mogą zostać skopiowane, a użytkownik nie będzie o tym wiedział. Tu mamy dokładnie taką samą sytuację, nie wiadomo, czy ktoś nie zdążył już podejrzeć/skopiować układu kresek. Użytkownik/ofiara może żyć w nieświadomości do czasu, aż intruz postanowi wykorzystać swoją zdobycz.
Z przytoczonych wyżej powodów ten mechanizm uwierzytelnienia nie przemawia do mnie koncepcyjnie. Nad bardziej praktycznymi atakami powoli się zastanawiam.
- token można trzymać dyskretnie ukryty w dłoni, nie mówiąc o tym, że zrobienie mu zdjęcia niewiele da
- token może dodatkowo być zabezpieczany pinem (+reset po n nieudanych próbach wpisania)
Koszta takich tokenów niezależnie od wielkości wdrożenia nie może być istotnie większy od tych magicznych kart.
Muszę przyznać, że sam pomysł jest dość chytry i mogę sobie wyobrazić niektóre scenariusze zastosowania, gdzie może on mieć sens, jednak "po całości" pomysł mnie nie przekonuje, jak zresztą pisałem.
- moim zdaniem nie można uzyskać 10^6 kombinacji, bo niektórych cyfr na niektórych pozycjach nie da się ustawić (ze względu na układ kresek na karcie)
- ciekawe jak producenci mówią o różnych wielkościach i kształtach pikseli w monitorach (nie mówię o rozdzielczości tylko o wielkości fizycznej, tj. monitor o rozdzielczości 1600x1200 może mieć od 15" do 22") - jak zapewnić, że obrazek na monitorze pokryje się z okienkiem w karcie? ręczna kalibracja?
Co do 10^6 kombinacji to tu akurat trudno się mi jeszcze wypowiedzieć. Z tego co widzę na prezentowanych screenach, to miejsc, w których może się pojawić cyfra jest na takiej karcie 16, przy czym cyfry nie mogą występować na sąsiednich pozycjach... Być może jednak te 10^6 uda się jednak wycisnąć.
Istnieje strona bezpieczeństwa, które omawia wiele funkcji, ale po pierwsze dotyczące łatwego fotografowania.
Małe animowane demo jest tylko dla ludzi, aby zrozumieć pojęcie rzeczywistego wdrożenia będzie musiała cieniowanie, aby trudno zdjęcie z większej odległości. http://www.passwindow.com/security.html # personal_key_protection To działa bardzo dobrze z badań, ale także nic nie kosztuje, jak karty się. Oczywiście, jeśli atakujący może uzyskać kartę fizycznie osób i podświetlane ustawienie ich tak można zrobić zdjęcie i odtworzyć później, ale wtedy również potrzebę tajemnicy hasła do normalnego użytkowania i wszystkie urządzenia mają ten sam problem, nawet drogie tokesn sprzętu może otrzymuje szybko złamane martwy dokładnych styl i nikt nie wie, że nie jest tak łatwo z karty.
Post # 2Martin Gryszkalis: token nie jest tak proste lub cienki jak normalna karta, karty wejść portfele, token musi być prowadzona na całym unsecurely. Nie będzie passwindow seaparate kart, ale cechą istniejącej karty więc przyzwyczajenie coś kosztuje, żetony są bardzo, bardzo drogie, nawet jeśli były one rozdawane za darmo, bez licencji dystrybucji jest 10 razy więcej niż zwykłe karty.
Masz rację, nie ma 10 ^ 6 6 cyfr kombinacji dla tej karty, ale nie ma potrzeby, nikt nie odgadnie, i nie ma tam miejsca na stosowanie 7 lub 8-cyfrowy numer, który prawdopodobnie posiada łącznie ponad 10 ^ 6 wyjątkowy numerów, jest to bardzo felxible systemu więcej niż tokeny wierzę.
Wyzwanie obrazu jest łatwa do rozmiaru ręcznie po raz pierwszy i po prostu zapisane w cookie, dzięki czemu użytkownik nie musi robić tego ponownie, można zobaczyć na stronie demo.
Nadzieję, że pomoże jej nie idealne, ale uważam, że jest najlepszy stosunek jakości do ceny i ma kilka funkcji zabezpieczeń, które są znacznie lepsze niż elektroniczne tokeny. Możesz czytać pytania tutaj http://www.passwindow.com/questions.html
Kind regards from Australia
Matt