Thread View: pl.comp.security
8 messages
8 total messages
Started by Michoo
Mon, 05 Apr 2010 18:53
Request for Comments: generator haseł jednora zowych
Author: 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
Re: Request for Comments: generator hase³ jednora zowych
Author: Szymon Sokół
Date: Mon, 05 Apr 2010 21:33
Date: Mon, 05 Apr 2010 21:33
64 lines
5000 bytes
5000 bytes
On Mon, 05 Apr 2010 20:53:07 +0200, Michoo wrote:
> 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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I tak właśnie mają działać.
> 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.
No więc mnie się cała koncepcja niezbyt podoba, z paru powodów. Jednym z
nich jest to, że wymagany jest specjalny moduł do PAM (podczas gdy moduł do
OPIE zwykle już masz w systemie, przynajmniej w Linuksie). Drugim to, że to
token, a nie serwer, wybiera numer sekwencyjny. Trzecim to, że jeśli PIN
jest opcjonalny, to jeśli się z niego nie korzysta, token może wykorzystać
każdy, kto na chwilę dostanie go w ręce ("jeżeli tylko" w punkcie 2 to jest
VERY BIG IF). Czwartym to, że w razie utraty tokena trzeba będzie
natychmiast zmienić seed (znaczy, ten ciąg losowy) po stronie serwera
(oczywiście rozwiązanie z hasłami na kartce też tę wadę posiada;
software'owy generator, np. w formie aplikacji w komórce, nie, jeśli do
generacji seedu wykorzystuje każdorazowo wprowadzany passphrase).
> 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.
SHA-256 nie jest chyba aż tak dużo bardziej złożone od MD5. MD5 w zasadzie
nie jest już uznawane za bezpieczne.
--
Szymon Sokół (SS316-RIPE) -- Network Manager B
Computer Center, AGH - University of Science and Technology, Cracow, Poland O
http://home.agh.edu.pl/szymon/ PGP key id: RSA: 0x2ABE016B, DSS: 0xF9289982 F
Free speech includes the right not to listen, if not interested -- Heinlein H
Re: Request for Comments: generator haseł jednora z owych
Author: Bartosz Małkowski
Date: Tue, 06 Apr 2010 07:10
Date: Tue, 06 Apr 2010 07:10
12 lines
1863 bytes
1863 bytes
On 5 Kwi, 20:53, Michoo <michoo_n...@vp.pl> wrote: > Szanowni grupowicze, > chciałbym przedstawić "do recenzji" swój pomysł - mile widziane > wszystkie uwagi odnośnie jego bezpieczeństwa jak i "okołoprojektowe". W sumie to podobne do YubiKey http://www.yubico.com/products/yubikey/ Pomysł podobny choć detali implementacji różne. Pozdrawiam! -- Bartosz Małkowski
Re: Request for Comments: generator hase? jednora z owych
Author: Lucjan J.A. Tumim
Date: Tue, 06 Apr 2010 09:24
Date: Tue, 06 Apr 2010 09:24
16 lines
2062 bytes
2062 bytes
Bartosz Ma?kowski wrote: > On 5 Kwi, 20:53, Michoo <michoo_n...@vp.pl> wrote: >> Szanowni grupowicze, >> chciałbym przedstawić "do recenzji" swój pomysł - mile widziane >> wszystkie uwagi odnośnie jego bezpieczeństwa jak i "okołoprojektowe". > > W sumie to podobne do YubiKey http://www.yubico.com/products/yubikey/ > Pomysł podobny choć detali implementacji różne. Jesli mozna bedzie wymienic oprogramowanie. Bedzie mozna jak postulowalem WYPISAC informacje na ekranie (komunikacja w obie strony) 3 przyciski i przelacznik 4 stanowy (sa potrzebne rozne tryby i reset) To masz w mojej osobie dobrego testera lub programiste. Powiedz kiedy zaczynasz.
Re: Request for Comments: generator haseł jednora zowych
Author: Krzysztof Halasa
Date: Tue, 06 Apr 2010 12:44
Date: Tue, 06 Apr 2010 12:44
91 lines
5712 bytes
5712 bytes
Michoo <michoo_news@vp.pl> writes: > Projekt ten to sprzętowy generator haseł jednorazowych służących do > logowania po ssh (a właściwie to każdego via PAM). Ale tak w ogole, wiesz jak to wyglada teoretycznie? Teoretycznie takie urzadzenia sa bezuzyteczne :-) W praktyce nie jest wiele lepiej, IMHO ich jedyne zastosowanie to praca w sytuacji awaryjnej, gdy nie mamy dostepu do "bezpiecznego terminala", i gdy kazdorazowo oceniamy ryzyko i wybieramy "mniejsze zlo". Dlaczego? Bo haslo (logowanie sie itd) nie jest wartoscia sama w sobie, ono tylko i wylacznie ma ograniczac dostep do czegos. Nie ma sensu bardziej chronic hasla (logowania itd) niz samego dostepu (np. sesji). Jesli nie uzywamy bezpiecznego terminala, sesja nie jest chroniona. Jesli jednak uzywamy bezpiecznego terminala (tj. takiego, ktory jest nasza wlasnoscia, o ktorym wiemy, ze np. nikt w nim nie grzebal w czasie naszej nieuwagi itd), to caly ten patent z haslami moze byc czescia terminala, i np. moze to byc po prostu logowanie kluczem asymetrycznym w ssh, np. z jakims haslem na starcie do szyfrowanego systemu plikow, zeby po utracie terminala nie bylo katastrofy. > Ich głównymi > zaletami jest brak dodatkowych urządzeń (generator w komórce albo > lista na kartce). Owszem. Ale biorac pod uwage, ze z tego nie wyjdzie zadne zastosowanie "militarne", to pewnie taki generator i lista sa wystarczajaco bezpieczne. > 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 Czyli staly seed. > 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 Dosc typowe w niektorych zastosowaniach, gdzie ryzyko nie jest wielkie (np. moj pilot do samochodu tak robi). > 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. Ale tez nie interesujemy sie wszystkimi kombinacjami, a tylko interesuje nas sumaryczna szansa na trafienie w ilus tam probach. Przeciez lamacze MD5 albo innego DESa nie musieli sprawdzac 100% kombinacji. Wykladnicze opoznienia to, z drugiej strony, potencjalnie bardzo powazny problem, gdyz umozliwiaja odciecie dostepu prawdziwej uprawnionej osoby (np. mozna uniemozliwic adminowi reakcje na wlasnie przeprowadzany atak). Takie cos moze jest dobre, jesli wiadomo, ze takie odciecie nie spowoduje zadnych powazniejszych skutkow, ale normalnie nie mozna tego zalozyc. > W przypadku propozycji innych algorytmów liczenia hasha proszę > pamiętać o ograniczeniach To nie tak, to procesor dobiera sie do potrzeb. MD5 jest podatny na ataki (a) praktyczna latwosc generowania kolizji oraz b) (mozliwe ze w dalszym ciagu niepotwierdzona w praktyce) mozliwosc znalezienia takiego m' do danego m, by md5() obu byly jednakowe). "a" nie ma tu wielkiego znaczenia, "b" - to zalezy od szczegolow. Tak czy owak MD5 w wielu dziedzinach zycia zostal wycofany, w innych jest wycofywany, i chyba nigdzie nie jest polecany do nowych zastosowan. > 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) Poleganie na dokladnosci takiego RTC to nie jest dobry pomysl. Polegac mozna na monotonicznosci. -- Krzysztof Halasa
Re: Request for Comments: generator haseł jednora zowych
Author: Michoo
Date: Tue, 06 Apr 2010 19:53
Date: Tue, 06 Apr 2010 19:53
139 lines
8134 bytes
8134 bytes
Dzięki za odpowiedź. Krzysztof Halasa pisze: > Michoo <michoo_news@vp.pl> writes: > >> Projekt ten to sprzętowy generator haseł jednorazowych służących do >> logowania po ssh (a właściwie to każdego via PAM). > > Ale tak w ogole, wiesz jak to wyglada teoretycznie? > Teoretycznie takie urzadzenia sa bezuzyteczne :-) > W praktyce nie jest wiele lepiej, IMHO ich jedyne zastosowanie to praca > w sytuacji awaryjnej, gdy nie mamy dostepu do "bezpiecznego terminala", > i gdy kazdorazowo oceniamy ryzyko i wybieramy "mniejsze zlo". > > Dlaczego? Bo haslo (logowanie sie itd) nie jest wartoscia sama w sobie, > ono tylko i wylacznie ma ograniczac dostep do czegos. Nie ma sensu > bardziej chronic hasla (logowania itd) niz samego dostepu (np. sesji). > Jesli nie uzywamy bezpiecznego terminala, sesja nie jest chroniona. Na spreparowany "na miarę" atak nikt nic nie poradzi - mam nawet gdzieś ze "starych dobrych czasów" bardzo prostą łatę na ssh i płytę bootowalną, która pozwalała na jego 'aktualizację' w 20 sec. Na zabezpieczenie się przed czymś takim na moim własnym laptopie nie liczę (zresztą mam na nim logowanie po kluczach). Główny cel to zabezpieczenie przed keyloggerami (np będącymi składnikami jakiś robaków, czy "sprytnych" studentów) - regularnie loguję się z komputerów laboratoryjnych oraz komputerów znajomych (czy na wakacjach z kawiarenki) - nadzianie się tam na takie świństwo wydaje mi się prawdopodobne (ale może to tylko moja 'przeszłość' sprawia, że mam lekką paranoję...). > >> Ich głównymi >> zaletami jest brak dodatkowych urządzeń (generator w komórce albo >> lista na kartce). > > Owszem. Ale biorac pod uwage, ze z tego nie wyjdzie zadne zastosowanie > "militarne", to pewnie taki generator i lista sa wystarczajaco > bezpieczne. Ale mniej wygodne - na zajęciach nawiązuję kilka..kilkanaście połączeń ssh/sftp. Gdybym do każdego z nich miał szukać hasła na kartce, albo przepisywać kod do komórki a potem hasło z powrotem szybko by mi się znudziło. A tak podpinam token, wbijam pin a dalej wystarcza już jedno kliknięcie. > >> 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 > > Czyli staly seed. Tak. Jego główne zadanie to uniemożliwienie ataku brute-force na pin (który nie będzie miał raczej więcej niż 2 bajty). Jeżeli ktoś będzie w stanie odczytać seed to będzie też w stanie przeprogramować tą zabawkę tak, żeby zalogowała pin. A potem zrobić duplikat. >> 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. > > Ale tez nie interesujemy sie wszystkimi kombinacjami, a tylko interesuje > nas sumaryczna szansa na trafienie w ilus tam probach. Przeciez lamacze > MD5 albo innego DESa nie musieli sprawdzac 100% kombinacji. Średnio trzeba sprawdzić połowę. Poza tym dzięki tajnemu seedowi nie mamy tu problemu wygenerowania kolizji, czy ataku urodzinowego, tylko generowanie funkcji odwrotnej do haszującej co wg mojej wiedzy dla md5 nadal ma złożoność 2^n, gdzie n jest liczbą bitów w pierwotnej wiadomości. > > Wykladnicze opoznienia to, z drugiej strony, potencjalnie bardzo powazny > problem, gdyz umozliwiaja odciecie dostepu prawdziwej uprawnionej osoby > (np. mozna uniemozliwic adminowi reakcje na wlasnie przeprowadzany > atak). Takie cos moze jest dobre, jesli wiadomo, ze takie odciecie nie > spowoduje zadnych powazniejszych skutkow, ale normalnie nie mozna tego > zalozyc. Tak, istnieje możliwość DODu, przy czym: a) opóźnienia można generować per ip (tu się osłabia metodę, bo ktoś może użyć choćby neostrady, czy kolejnych komputerów w naszym laboratorium). b) ponieważ będzie to tylko 1 z pluginów do PAMa zostanie cały czas możliwość logowania za pomocą "normalnego" hasła a jeżeli ktoś się będzie właśnie bawił moim tokenem to raczej ja się nim nie będę próbował zalogować. c) w moim przypadku opóźnienie jest nawet szkodliwe i go nie zastosuję - im szybciej się delikwent nadzieje na DenyHosts tym lepiej. > >> W przypadku propozycji innych algorytmów liczenia hasha proszę >> pamiętać o ograniczeniach > > To nie tak, to procesor dobiera sie do potrzeb. Jak będę odczuwał, że mi na nim ciasno to pewnie zmienię na avr32/arm. Tylko to zwiększy cenę 2..3 razy a układ w założeniu ma być prosty i tani. > MD5 jest podatny na ataki (a) praktyczna latwosc generowania kolizji > oraz b) (mozliwe ze w dalszym ciagu niepotwierdzona w praktyce) > mozliwosc znalezienia takiego m' do danego m, by md5() obu byly > jednakowe). > "a" nie ma tu wielkiego znaczenia, "b" - to zalezy od szczegolow. Wydaje mi się, że też nie - wg mnie jedyna słabość algorytmu haszującego wykładająca to rozwiązanie to możliwość (być może na podstawie wielu haszy) odtworzenia seeda i pinu. > Tak czy owak MD5 w wielu dziedzinach zycia zostal wycofany, w innych > jest wycofywany, i chyba nigdzie nie jest polecany do nowych zastosowan. A jakieś inne proste funkcje haszujące dające wynik powyżej 10 bajtów? Mogę od biedy nawet whirpool'a tam wsadzić, ale wydaje mi się to przerostem formy nad treścią tak długo jak długo spełniony jest poprzedni punkt. > >> 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) > > Poleganie na dokladnosci takiego RTC to nie jest dobry pomysl. > Polegac mozna na monotonicznosci. Tokeny RSA jakoś polegają ;) To rtc ma praktyczną dokładność +-2 minuty na rok - przy słabszym pewnie trzeba by aktywnie kompensować niedokładność wskazań po stronie hosta przez odbieranie timestampa. Przy oknie 1.5 minuty myślę, że ewentualna synchronizacja tokena raz na pół roku załatwi sprawę. -- Pozdrawiam Michoo
Re: Request for Comments: generator hase³ jednora zowych
Author: Michoo
Date: Tue, 06 Apr 2010 20:07
Date: Tue, 06 Apr 2010 20:07
51 lines
3635 bytes
3635 bytes
Szymon Sokół pisze: > On Mon, 05 Apr 2010 20:53:07 +0200, Michoo wrote: >> 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. > > No więc mnie się cała koncepcja niezbyt podoba, z paru powodów. Jednym z > nich jest to, że wymagany jest specjalny moduł do PAM (podczas gdy moduł do > OPIE zwykle już masz w systemie, przynajmniej w Linuksie). Opie też jakoś zaczynało. Projekt miałem zamiar zrealizować na własny użytek, ale potem przyszło mi do głowy, że a nóż się komuś jeszcze przyda. > Trzecim to, że jeśli PIN > jest opcjonalny, to jeśli się z niego nie korzysta, token może wykorzystać > każdy, kto na chwilę dostanie go w ręce Tak, ale wg mnie nie należy zabraniać posiadania nożyczek z ostrymi czubkami tylko dlatego, że się ktoś może nimi pociąć. Tokeny RSA działają w taki sposób a są reklamowane jako bardzo bezpieczne rozwiązanie. > Czwartym to, że w razie utraty tokena trzeba będzie > natychmiast zmienić seed (znaczy, ten ciąg losowy) po stronie serwera > (oczywiście rozwiązanie z hasłami na kartce też tę wadę posiada; > software'owy generator, np. w formie aplikacji w komórce, nie, jeśli do > generacji seedu wykorzystuje każdorazowo wprowadzany passphrase). Tak. Pin został pomyślany właśnie na wypadek utraty tokena. Brak mechanizmu challenge-response ma skrócić czas logowania. Gdyby nie zależało mi na czasie i małych rozmiarach to bym dał klawiaturę i wprowadzało by się najpierw hasło a potem challenge. >> 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. > > SHA-256 nie jest chyba aż tak dużo bardziej złożone od MD5. MD5 w zasadzie > nie jest już uznawane za bezpieczne. W tym zastosowaniu chyba jego wady nie będą problemem (OPIE też używa md5), ale fakt, sha wydaję się być ciekawym rozwiązaniem - dzięki za sugestię. -- Pozdrawiam Michoo
Re: Request for Comments: generator haseł jednora zowych
Author: Krzysztof Halasa
Date: Wed, 07 Apr 2010 01:16
Date: Wed, 07 Apr 2010 01:16
97 lines
5874 bytes
5874 bytes
Michoo <michoo_news@vp.pl> writes: > Na spreparowany "na miarę" atak nikt nic nie poradzi - mam nawet > gdzieś ze "starych dobrych czasów" bardzo prostą łatę na ssh i płytę > bootowalną, która pozwalała na jego 'aktualizację' w 20 sec. Na > zabezpieczenie się przed czymś takim na moim własnym laptopie nie > liczę (zresztą mam na nim logowanie po kluczach). Dlaczego nikt nie poradzi? Oczywiscie, nie ma 100% bezpieczenstwa, zawsze np. "sluzby" moga Ci dac np. narkotyki i/lub przerobic w tym czasie laptopa. Ale zakladajac sensowny potrzebny poziom bezpieczenstwa, mozna sie skutecznie zabezpieczyc przed realnymi zagrozeniami. > Główny cel to zabezpieczenie przed keyloggerami (np będącymi > składnikami jakiś robaków, czy "sprytnych" studentów) - regularnie > loguję się z komputerów laboratoryjnych oraz komputerów znajomych (czy > na wakacjach z kawiarenki) - nadzianie się tam na takie świństwo > wydaje mi się prawdopodobne (ale może to tylko moja 'przeszłość' > sprawia, że mam lekką paranoję...). To jest prawdopodobne, zwlaszcza jesli chodzi o cafe. Problem w tym, ze hasla jednorazowe tylko troche zwiekszaja bezpieczenstwo - jak dla mnie, nie jest to wystarczajace do korzystania z nich. Przeciez sa "male" terminale. Kiedys to nieco inaczej wygladalo, ale tez swiadomosc potencjalnych wlamywaczy byla duzo nizsza. Zreszta nawet trywialne rozwiazania moga byc skuteczne - np. zamiana kabli klawiatur (i moze nawet kabli monitorow), albo podpiecie odpowiedniej "przejsciowki" do klawiatury. W cafe mozemy w ogole zapomniec o bezpieczenstwie. > Ale mniej wygodne - na zajęciach nawiązuję kilka..kilkanaście połączeń > ssh/sftp. Robienie tego z pecetow w studenckim labie nie jest po prostu bezpieczne, i tyle. No moze z takich odpalanych z sieci, bezdyskowych - tez ryzyko, ale jednak mniejsze (oczywiscie trzeba zawsze resetowac przed praca). >> Ale tez nie interesujemy sie wszystkimi kombinacjami, a tylko interesuje >> nas sumaryczna szansa na trafienie w ilus tam probach. Przeciez lamacze >> MD5 albo innego DESa nie musieli sprawdzac 100% kombinacji. > Średnio trzeba sprawdzić połowę. No tak, chyba ze interesuje nas mniejsze prawdopodobienstwo sukcesu. Inna sprawa, ze PINy dobre sa wtedy, gdy zakladamy, ze ktos nie moze miec (powtarzalnego) dostepu do naszego urzadzenia, i ze tego nie zauwazymy. Zreszta, jesli ktos bedzie mial dostep, to moze urzadzenie przerobic - przyklejenie w srodku drugiej atmegi to nie problem przeciez (obudowa zalana zywica?). > Poza tym dzięki tajnemu seedowi nie mamy tu problemu wygenerowania > kolizji, czy ataku urodzinowego, tylko generowanie funkcji odwrotnej > do haszującej co wg mojej wiedzy dla md5 nadal ma złożoność 2^n, gdzie > n jest liczbą bitów w pierwotnej wiadomości. Podobno nie, ale chwilowo raczej nie jest to najwazniejszy problem w tym zastosowaniu. > b) ponieważ będzie to tylko 1 z pluginów do PAMa zostanie cały czas > możliwość logowania za pomocą "normalnego" hasła a jeżeli ktoś się > będzie właśnie bawił moim tokenem to raczej ja się nim nie będę > próbował zalogować. Ale ktos nie musi miec wcale tokena by blokowac logowanie. > Jak będę odczuwał, że mi na nim ciasno to pewnie zmienię na avr32/arm. > Tylko to zwiększy cenę 2..3 razy a układ w założeniu ma być prosty i > tani. AVR32 i ARM to moze inna bajka, ale wsrod AVR8 tez sa rozne, np. taki ATmega328 z 32 KB flasha. Taka sama mala obudowa. > A jakieś inne proste funkcje haszujące dające wynik powyżej 10 bajtów? SHA-256 typowo. >> Poleganie na dokladnosci takiego RTC to nie jest dobry pomysl. >> Polegac mozna na monotonicznosci. > Tokeny RSA jakoś polegają ;) Niespecjalnie, wystarczy nie uzywac przez dlugi czas i sie rozjezdzaja. Trzeba jeszcze pamietac, ze ludzie nosza te tokeny np. przy sobie (>30 st.C) oraz np. w zewnetrznej kieszeni kurtki (zima -10 st.C itp). Albo to nie bedzie podatne na niedokladnosc RTC, albo warunkiem poprawnego dzialania bedzie caly czas dzialajace urzadzenie, np. w termostacie albo przynajmniej skompensowane termicznie. > To rtc ma praktyczną dokładność +-2 minuty na rok - przy słabszym > pewnie trzeba by aktywnie kompensować niedokładność wskazań po stronie > hosta przez odbieranie timestampa. Tak sie raczej nie robi, samo uzywanie powoduje synchronizacje. -- Krzysztof Halasa
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads