Article View: pl.comp.security
Article #64339Request for Comments: generator haseł jednora zowych
From: Michoo
Date: Mon, 05 Apr 2010 18:53
Date: Mon, 05 Apr 2010 18:53
89 lines
5103 bytes
5103 bytes
Szanowni grupowicze, chciałbym przedstawić "do recenzji" swój pomysł - mile widziane wszystkie uwagi odnośnie jego bezpieczeństwa jak i "okołoprojektowe". Projekt ten to sprzętowy generator haseł jednorazowych służących do logowania po ssh (a właściwie to każdego via PAM). Wiem, że istnieją przynajmniej 2 projekty powiązane z generowaniem haseł jednorazowych (OPIE i OTPW), ale ich główną wadą jest czas potrzebny na zalogowanie - działają one na zasadzie challenge-response przez co każde logowanie składa się z sekwencji - odczytanie numeru - wygenerowanie hasła/odnalezienie hasła na kartce - wpisanie hasła. Ich głównymi zaletami jest brak dodatkowych urządzeń (generator w komórce albo lista na kartce). Mój pomysł opiera się o emulowaną klawiaturę usb - dzięki czemu bez sterowników da się użyć w prawie każdym sprzęcie o ile ma on port usb (co jest zarazem jego największą wadą - nie ma usb - trzeba się logować 'standardowo'). Sprzęt: wymiary około 50x15 mm atmega8 minimum 2 diody led do sygnalizowania stanu 2 przyciski do wprowadzania pinu i wysyłania hasła (ewentualnie) rtc Zasada działania: Po naciśnięciu przycisku urządzenie wyśle hasło zakończone return. Jako hasło generowane będzie md5 z: 1. losowego ciągu kilkudziesięciu znaków zapisanych w pamięci EEPROM - jego zadaniem jest utrudnienie ataków brute-force, wyciągnięcie go z urządzenia jest teoretycznie niemożliwe (zmiana programu wymaga wyczyszczenia EEPROMu), chyba, że znajdzie się na nie (urządzenie) eksploit, no i jest potrzebny fizyczny dostęp 2. numeru sekwencyjnego - system będzie sprawdzał np 100 następnych haseł (albo znacznie mniej aby utrudnić ataki brute-force umożliwiając jednocześnie atak DOS) i po poprawnym zweryfikowaniu nie akceptował wcześniejszych tak więc wygenerowane w chwili nieuwagi właściciela hasło na nic się nie przyda jeżeli tylko się on zaloguje przed jego wykorzystaniem, przypadkowe wygenerowanie hasła też nie będzie problemem 3. (opcjonalnie) kodu pin generowanego za pomocą naciskania 2 przycisków - dodatkowe zabezpieczenie aby ktoś, kto "pożyczy" sobie token nie mógł się zalogować, ani wygenerować zestawu haseł do zużycia przed naszym kolejnym logowaniem. W połączeniu z wykładniczymi opoźnieniami (np 2^n sekund gdzie n jest liczbą błędnych prób) już 4 kliknięcia (16 możliwości) poważnie utrudniają a 6-8 (64-256 możliwości) praktycznie uniemożliwia sprawdzenie wszystkich kombinacji. Pin wystarczy podać raz po podłączeniu urządzenia do komputera. Nie jest on w żaden sposób weryfikowany przez token. Czy są jakieś uwagi co do tej metody? - mile widziane wytknięcie błędów w rozumowaniu jak i miejsc dla możliwych przeoczeń w implementacji. W przypadku propozycji innych algorytmów liczenia hasha proszę pamiętać o ograniczeniach: 1KB RAM 6KB wolnego FLASHa 512B EEPROM 12MHz brak sprzętowego dzielenia (tylko mnożenie) FPU jedynie emulowane. Rozszerzenie: do urządzenia zostaje domontowany RTC (jest to pewien problem, gdyż tanie są niedokładne a dokładne są drogie i prawie niedostępne w Polsce, więc się nim zajmę tylko jeżeli otrzymam sample od Maxima) czas liczony w odcinkach 2..5 minutowych staje się częścią sumy kontrolnej - zabezpiecza to przed wygenerowaniem sobie listy haseł "na później". Dodatkowa funkcjonalność: Generowanie wielu zestawów haseł - urządzenie trzyma wiele zestawów danych potrzebnych do wygenerowania hasła i pozwala się między nimi przełączać sygnalizując aktualny diodą. Cały projekt jeżeli tylko dojdzie do etapu w którym nada się do pokazania skończy jako open hardware/open source. -- Pozdrawiam Michoo
Technical Details
Message-ID:
<hpdbif$a11$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!goblin2!goblin.stu.neva.ru!newsfeed.freenet.de!feeder.news-service.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.246.MISMATCH!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!news.underley.eu.org!moderators!marcinwShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!goblin2!goblin.stu.neva.ru!newsfeed.freenet.de!feeder.news-service.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.246.MISMATCH!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!news.underley.eu.org!moderators!marcinw From: Michoo <michoo_news@vp.pl> Newsgroups: pl.comp.security Subject: Request for Comments: generator haseł jednora zowych Date: Mon, 05 Apr 2010 20:53:07 +0200 Organization: http://onet.pl Lines: 89 Message-ID: <hpdbif$a11$1@news.onet.pl> NNTP-Posting-Host: ghostwheel.underley.eu.org Mime-Version: 1.0 X-Trace: news.onet.pl 1270493583 10273 89.72.132.251 (5 Apr 2010 18:53:03 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Mon, 5 Apr 2010 18:53:03 +0000 (UTC) User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706) X-Moder-Tool: ModerGate.pl v3.0 (c) 2008 Daniel Podlejski X-Orig-NNTP-Posting-Host: chello089072132251.chello.pl X-Orig-Newsgroups: pl.comp.security Approved: marcinw.pcs@gmail.com X-Post-Key: 5cd33efaa390a44632f022a34194bff1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit