Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%)
|
Rozważmy system użytkowników w portalu internetowym. Aby utrudnić wydobycie hasła z zaszyfrowanego ciągu znaków, można dodać ciąg zaburzający (sól). Czy gra jest warta świeczki? W końcu atakujący musi uzyskać zakodowane hasło. Generować osobne sole i zapisywać je w tabeli "users" obok hasła czy wystarczy 1 dla wszystkich (zapisany w pliku konfiguracyjnym)?
1 ciąg dla wszystkich + brak dodatkowego narzutu danych w tabeli z użytkownikami + oddzielony od bazy danych - jeżeli atakujący pozna ciąg, szybciej pozna inne hasła, mając sumy md5/sha1... Osobny ciąg dla każdego + dodatkowe pole w bazie + każdy ma inny ciąg, co utrudnia wydobycie hasła - jeżeli wycieknie baza, nie ma wielkiej różnicy 1. Jeżeli atakujący pozna ciąg zaburzający, czy to mu ułatwi zdobycie hasła? Ciągiem zaburzającym może być również istniejąca wartość w bazie, np. login, e-mail. Mając sól, może sobie wygenerować własną tablicę tęczową dla danej soli, a czy to mu ułatwi szukanie w gotowych tablicach? 2. Czy użycie 2 funkcji sha1( md5(hasło) + ciąg ) zwiększa ryzyko kolizji? W bazie są już zapisane hasła zakodowane md5(haslo), zapiszemy gdzieś ciąg, natomiast md5(haslo + ciag) musielibyśmy wygenerować dodatkowo dla każdego użytkownika. 3. Jaki powinien być skuteczny ciąg zaburzający? Można uniqid(), własną funkcję ze zbioru wartości <0-z>, dane z bazy (login każdy zna, e-mail też łatwo zdobyć). Jeżeli użytkownik kliknie Zapamiętaj mnie przy logowaniu, zapisuję zakodowane hasło w ciastku. Tak samo jest w IPB. Największe ryzyko jest na publicznych komputerach, gdzie ktoś zapomni się wylogować, stąd potrzeba hashowania. Przeciętny użytkownik nie zna funkcji "karta prywatna", używa prostych haseł. Inne zagrożenie to podsłuch, ale przecież przy logowaniu podajesz hasło jawne. Nie piszcie o SSL, bo nie wszędzie to wykonalne. Ten post edytował WebCM 29.07.2012, 00:49:47 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%)
|
Na temat bcrypt(sól+hasło) wszystko znajdziecie w postach powyżej, natomiast zajmijmy się bezpieczniejszą odmianą, czyli losowym ciągiem znaków dla sesji zapamiętaj mnie. Jaki taki unikalny ciąg znaków wygenerować? Wiele serwisów stosuje UUID. Ma 128 b, czyli 16 B. Tekstowo 32 B ze znaków 0-9 i A-F. Jakie stoją przesłanki, aby w tym przypadku go użyć? Jeśli dobrze liczę, przetestowanie wszystkich haszy przy 100 żądaniach na sekundę zajęłoby 1,094*1029 lat. A gdyby losować 32 B ze wszystkich drukowanych znaków ASCII? Wyjdzie 6,23*1053 lat. Trudno mi to sobie wyobrazić. Jednak taki hash w bazie musi być tekstowy i zajmie o połowę więcej miejsca [32 B, nie 16 B]. Poza tym w bazie klucz sesji powinien być zaszyfrowany jednostronnie. Jeśli bcrypt ma 184 bity, jaki jest sens stosować identyfikatory 256-bitowe? Uwzględniając, że złodziej może mieć szczęście, warto zastosować np. filtr IP.
Ten post edytował WebCM 21.02.2016, 16:08:30 |
|
|
|
WebCM Ciąg zaburzający w hasłach - osobny czy wspólny? 29.07.2012, 00:47:41
Crozin Było już o tym wiele razy.
Unikalna sól dla każdeg... 29.07.2012, 01:02:02 
yevaud CytatByło już o tym wiele razy.
Unikalna sól dla k... 30.07.2012, 08:53:33
greycoffey Apropo podwójnego hashowania:
Posiadamy funkcję h... 29.07.2012, 22:18:22
Crozin Cytatbyło już wiele razy o tym, że nie ma to żadne... 30.07.2012, 09:39:47
wNogachSpisz Cytat(Crozin @ 30.07.2012, 10:39:47 )... 30.07.2012, 09:55:55
Crozin CytatKolizje są mega długie. System autoryzacji od... 30.07.2012, 10:26:28
wNogachSpisz Przeprowadź zatem skuteczny atak wykorzystujący ta... 30.07.2012, 13:52:52 
!*! Cytat(wNogachSpisz @ 30.07.2012, 14:52... 30.07.2012, 13:57:23
Crozin Muszę małe sprostowanie do swojego postu napisać. ... 30.07.2012, 15:32:49
WebCM greycoffey: Chodzi mi o zastosowanie 2 różnych fun... 30.07.2012, 21:47:31 
greycoffey Cytat(WebCM @ 30.07.2012, 22:47:31 ) ... 31.07.2012, 10:23:02
yevaud CytatCytatpowinieneś skorzystać z Blowfisha bądź p... 30.07.2012, 22:14:19
Crozin Cytat2. Kod powinien być ściśle tajny. Wtedy ataku... 30.07.2012, 22:20:05
WebCM CytatPo drugie - i co ważniejsze - zamiast generow... 31.07.2012, 00:58:07
Crozin CytatA może hybryda: hasło + kod wspólny + kod oso... 31.07.2012, 01:31:15
WebCM Jeśli wycieknie baza, atakujący pozna wszystkie un... 1.08.2012, 15:11:29
wNogachSpisz Gdzieś czytałem że korzystanie z mało popularnych ... 2.08.2012, 12:26:06
Crozin Wyciek kodów to szybkiej autoryzacji to już rzeczy... 2.08.2012, 15:11:50
hind Do autoryzacji można użyć też GeoIP, Google czasem... 3.08.2012, 07:26:47
WebCM To jakie algorytmy polecacie, które generują krótk... 14.08.2012, 17:37:51
Crozin 1. Odpowiedź już padła wielokrotnie, np. blowfish.... 14.08.2012, 22:14:22
erix Temat: podwojne hashowanie hasel - w tym temacie z... 16.08.2012, 08:28:51
WebCM Powracam do tematu. Piszecie, że przechowywanie ha... 13.02.2016, 19:32:08
com bzdura, dalej nie odrobiłeś zadania domowego, choć... 13.02.2016, 19:55:44
WebCM Przeczytaj mój post w całości. Próbuję ocenić pozi... 13.02.2016, 20:14:10
Comandeer Ale zakodowane = da się odkodować… Czyli z z... 13.02.2016, 20:20:35
com przeczytałem, ale zapomniałeś o ważnym fakcie, a m... 13.02.2016, 20:39:58
WebCM Powiadasz, że znajdzie sobie takie b, że bcrypt(a+... 13.02.2016, 21:36:49
Comandeer Czyli twierdzisz, że to bez znaczenia, że przesyła... 13.02.2016, 22:57:45
com znacznie wiesze niż jak masz samo id usera które w... 14.02.2016, 02:26:30
Comandeer Zaraz, czy ja dobrze rozumiem: chcesz w ciastku um... 14.02.2016, 07:46:08
vokiel Może podzielmy to na 2 przypadki:
1. Utrzymywanie ... 14.02.2016, 12:08:58
WebCM CytatJeśli dajesz komuś na tacy hasło to poco mu b... 14.02.2016, 15:59:06
com powiedz mi ile baz już Ci wyciekło? Dajesz hasło n... 14.02.2016, 16:08:20
WebCM CytatDajesz hasło na tacy, bo zna jego hash a znal... 14.02.2016, 17:05:55
com nic nie musi długo liczyć bo ma próbkę i znajduje ... 14.02.2016, 17:17:10
Comandeer CytatOdkodowanie tego i wycięcie soli jest bardzie... 14.02.2016, 17:19:30
Pyton_000 Zawsze, im silniejsze hashowanie/szyfrowanie tym l... 21.02.2016, 20:51:56
WebCM Zdecydowałem tworzyć unikatowe żetony dla sesji ty... 28.02.2016, 17:39:12
Comandeer CytatTylko co w przypadku, gdy rozszerzenie OpenSS... 28.02.2016, 19:00:54
WebCM Jest jeszcze jeden problem. Mamy prostą tabelkę:[S... 29.02.2016, 00:28:56 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 12:24 |