![]() |
![]() ![]() |
![]() |
-Gość- |
![]()
Post
#1
|
Goście ![]() |
Czy logowanie zaimplementowane w ten sposób:
można uznać za bezpieczne? Czego tu jeszcze brakuje lub co zrobiłem źle? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
To zalezy co kto rozumie przez bezpieczne.
Na pewno można to zrobić lepiej. 1. Dodać sół. 2. Uzyć bardziej zasobożernego algorytmu hashującego. 3. Korzystanie z natywnycj sesji nie jest nalepszym pomysłem. Istnieje kilka dobrych bibliotek implementujących mechamizm sesji przy użyciu cookie i bazy danych. |
|
|
-Gość- |
![]()
Post
#3
|
Goście ![]() |
1. Co to jest sół? (IMG:style_emoticons/default/smile.gif)
2. Np. jakiego? 3. Jaką bibliotekę mógłbyś polecić? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
1.Unikalny token doklejany do każdego zahashowanego stringa.
2.Np. Sha 512 3.Można zapisywać sesje w jakiejś niedostępnej przestrzeni dyskowej (server mode), lub w bazie danych(sql mode).Implementacje znajdziesz na www.google.pl. Nie korzystaj z soli wystarczy użyć sha256-jeśli już ma być super bezpieczne to skorzystaj z sha 512. Ten post edytował Niktoś 1.08.2012, 12:13:56 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
1. Sól to dodatowy ciąg znaków dopisywany do hasła przed hashowaniem. To utrudnia tworzenie tęczowych tablic i uniemożliwa korzystanie z już istniejących. Innymi słowy odpada jedyna sensowna forma ataku na złamanie hasha. Koniecznie używaj soli.
2. Nie wiem jakiego :-] Spytaj tutaj: Temat: Ciag zaburzajacy w haslach osobny czy wspolny 3. http://codeigniter.com/user_guide/libraries/sessions.html |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Tablice tęczowe na 32 bitowy(Sha256) lub 64 bitowy(Sha512) ciąg znaków-no życzę powodzenia.
Sole raczej stosuje się przy prostych algorytmach hashujących jak md5 lub sha1. Ten post edytował Niktoś 1.08.2012, 12:41:45 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Tablice tęczowe na 32 bitowy(Sha256) lub 64 bitowy(Sha512) ciąg znaków-no życzę powodzenia. Do tęczowej tablicy zapisujesz tylko częśc np. pierwsze 32 bity. W drugiej rundzie kodujesz każde znalezione powtórzenie aby ustalić które z nich jest prawidłowe... Mozliwe że żadne. Ja tak robie i jest OK. Myślenie nie boli. Ten post edytował wNogachSpisz 1.08.2012, 21:09:25 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Popatrz jak generowany jest ciąg znaków dla Sha256 i dla 512:
http://pl.wikipedia.org/wiki/SHA-2 W przypadku md5 lub sha1 aby wygenerować taki ciąg znaków musisz użyć soli-więc po co używać ich w przypadku silnych algorytmów-no chyba żeby utrudnić sobie życie. Ten post edytował Niktoś 1.08.2012, 12:53:43 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Popatrz jak generowany jest ciąg znaków dla Sha256 i dla 512: http://pl.wikipedia.org/wiki/SHA-2 W przypadku md5 lub sha1 aby wygenerować taki ciąg znaków musisz użyć soli-więc po co używać ich w przypadku silnych algorytmów-no chyba żeby utrudnić sobie życie. Na prawde nie kumam. Nie ma różnicy między md5 a sha512 z perspektywy ataku tęczowych tablic. No chyba że czas generowania. Sól jest w obu przypkadkach dokładnie tak samo niezbędna. |
|
|
-Gość- |
![]()
Post
#10
|
Goście ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
1. Wspólny katalog na pliki tymczasowe w prawie każdym low-end'owym współdzielonym hostingu (w tej sytuacji przejęcie sesji to banał).
2. Bujna historia BUGów natywnego mechanizmu sesji w PHP. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Na prawde nie kumam. Nie ma różnicy między md5 a sha512 z perspektywy ataku tęczowych tablic. No chyba że czas generowania. Sól jest w obu przypkadkach dokładnie tak samo niezbędna. Nie twierdzę ,że nie jest możliwe wygenerować tablicę tęczową dla silniejszych algorytmów hashujących, ale potrzebna by była bardzo duża moc obliczeniowa, czyli generowanie tak długiego ciągu za pomocą tablic tęczowych musiałaby być przeprowadzana przez kilka-kilkanaście komputerów.Proces tworzenia takiej tablicy przeprowadzany by musiał być przez grupę hakerów, a i to w przypadku Sha-512 byłoby naprawdę trudne. Po drugie ktoś by musiał najpierw poznać technikę kryptograficzną którą serwis stosuje, czyli musiałby wpierw wbić się do naszej bazy danych i wykraść hashe dla poszczególnych użytkowników.Jak widzisz nie jest to proste. Ten post edytował Niktoś 2.08.2012, 09:11:24 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Nie twierdzę ,że nie jest możliwe wygenerować tablicę tęczową dla silniejszych algorytmów hashujących, ale potrzebna by była bardzo duża moc obliczeniowa, O ile większa niż w przypadku md5? generowanie tak długiego ciągu za pomocą tablic tęczowych musiałaby być przeprowadzana przez kilka-kilkanaście komputerów.Proces tworzenia takiej tablicy przeprowadzany by musiał być przez grupę hakerów, a i to w przypadku Sha-512 byłoby naprawdę trudne. Tak samo trudne vel proste jak w przypadku MD5. Po drugie ktoś by musiał najpierw poznać technikę kryptograficzną którą serwis stosuje, czyli musiałby wpierw wbić się do naszej bazy danych i wykraść hashe dla poszczególnych użytkowników. Tak samo jak w przypadku każdego innego algorytmu hashującego Jak widzisz nie jest to proste. Tak samo proste jak w przypadku MD5 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
To po co używać mocniejszych algorytmów jak według Ciebie nie ma różnicy między md5 a Sha-512. Ty używaj sobie md5+sol ja sha 512 bez soli-ciekawe co będzie bezpieczniejsze.
Ten post edytował Niktoś 2.08.2012, 13:42:14 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Wydaje mi się że md5 + sól będzie bezpieczniejsze.
Nawet na pewno o ile sól będzie inna dla każdego usera. Ten post edytował wNogachSpisz 2.08.2012, 13:51:37 |
|
|
-Gość- |
![]()
Post
#16
|
Goście ![]() |
To zalezy co kto rozumie przez bezpieczne. Na pewno można to zrobić lepiej. 1. Dodać sół. 2. Uzyć bardziej zasobożernego algorytmu hashującego. 3. Korzystanie z natywnycj sesji nie jest nalepszym pomysłem. Istnieje kilka dobrych bibliotek implementujących mechamizm sesji przy użyciu cookie i bazy danych. Czy zakładając, że te wszystkie warunki zostaną spełnione, warto jeszcze zabezpieczać skrypt przed Session Fixation i Session Hijacking w sposób jaki opisane tutaj? Czy te może nie trzeba, bo te trzy powyższe sposoby, już same w sobie chronią przed Session Fixation i Session Hijacking? |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niach... Znowu temat o tym jak "robić bezpieczne logowanie", to już się nudne robi. Użyjcie wyszukiwarki.
Btw. Te przepychanki nie mają sensu. "złamcie" cokolwiek gdzie użyta jest sól, czas start. Ten post edytował !*! 3.08.2012, 12:43:38 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat Te przepychanki nie mają sensu. "złamcie" cokolwiek przy użyciu soli, czas start. Złamcie Sha256 bez soli (IMG:style_emoticons/default/aarambo.gif) . PS.Hashowanie haseł i dodawanie soli nie zabezpieczą cię przed xss, session fixation czy atakami typu injection.Nad tym trzeba dodatkowo popracować. Ten post edytował Niktoś 3.08.2012, 12:46:48 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Złamcie Sha256 bez soli (IMG:style_emoticons/default/aarambo.gif) Jakby tak zlutować kilka PS3 lub spiąć je na krótko, to może (IMG:style_emoticons/default/biggrin.gif) SHA256 nadal jest "nie złamane"? Bo tak na szybkiego wyczytałem tylko newsy z 2011 |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Cytat SHA256 nadal jest "nie złamane"? Bo tak na szybkiego wyczytałem tylko newsy z 2011 Wszystko jest do złamania, ale będzie to wymagało więcej wysiłku potencjalnym hakerom(patrz l.mnoga), jeden nie da rady, chyba że będzie miał "superkomputer" w pokoju. Ten post edytował Niktoś 3.08.2012, 12:56:13 |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak, wiem. Pytałem czy już ktoś coś zrobił w tej kewstii, tak jak ma to miejsce z md5, sha1 itd. Dlatego wspomniałem o PS3 dobra EOT.
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Niktoś: Wcale nie trzeba super komputera. Sam procesor, ram itd. jest mało niestotny. Istotne są GPU (w liczbie mnogiej). Karta graficzna w dobrym sprzęcie do gier komputerowych złamie Ci hasło dużo dużo szybciej niż np. Xeon E5540.
Dla przykładu karta ATI HD 5970 generuje 5 600 000 000 haszy MD5 na sekunde. Dla SHA1 jest to odpowiednio 2 300 000 000. Ten post edytował redeemer 3.08.2012, 13:05:40 |
|
|
-Gość- |
![]()
Post
#23
|
Goście ![]() |
Procesor na karcie graficznej nadaje się lepiej do generowania hashy od procesora głównego bo wynika to chyba z jej architektury (procesor główny jest lepiej przystosowane do wykonywania skomplikowanych operacji, natomiast procesor na karcie graficznej to wykonywania ogromnej liczby prostych operacji)?
|
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Generowanie hashy można porównać do "kopania" bitcoinów. Odpowiedź dlaczego GPU jest szybsze znajdziesz tu https://en.bitcoin.it/wiki/Why_a_GPU_mines_faster_than_a_CPU
|
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Nadal obstaje przy tym, że md5 + sól jest bezpieczniejsze od sha512.
Czas generowania jest w zasadzie pomijany, bo przy tworzeniu rainbow tables bottleneck jest z zupełnie innym miejscu Przy brute-force to ma znaczenie, ale umówmy się, kto przy zdrowych zmysłach młuci brute-forcem dziesiątki czy setki tysięcy hashy z wypłyniętej bazy? Ten post edytował wNogachSpisz 5.08.2012, 12:14:21 |
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 320 Pomógł: 29 Dołączył: 3.04.2010 Ostrzeżenie: (20%) ![]() ![]() |
1. Wspólny katalog na pliki tymczasowe w prawie każdym low-end'owym współdzielonym hostingu (w tej sytuacji przejęcie sesji to banał). 2. Bujna historia BUGów natywnego mechanizmu sesji w PHP. Miejsce przechowywania sesji można zmienić. Podasz przykłady? Po drugie ktoś by musiał najpierw poznać technikę kryptograficzną którą serwis stosuje, czyli musiałby wpierw wbić się do naszej bazy danych i wykraść hashe dla poszczególnych użytkowników.Jak widzisz nie jest to proste. Bezpiecznie jest wtedy, kiedy atakujący znając metodę mieszającą, hash, ewentualną sól, etc. nadal nie potrafi/jest to nieosiągalne by otrzaymać tekst jawny. Nadal obstaje przy tym, że md5 + sól jest bezpieczniejsze od sha512. Czas generowania jest w zasadzie pomijany, bo przy tworzeniu rainbow tables bottleneck jest z zupełnie innym miejscu Przy brute-force to ma znaczenie, ale umówmy się, kto przy zdrowych zmysłach młuci brute-forcem dziesiątki czy setki tysięcy hashy z wypłyniętej bazy? Jeżeli sól jest stała dla wszystkich użytkowników, można wygenerować rainbow table dla całej bazy. czas generowania jest pomijany, a jednak sha512 jest 2,6 razy wolniejszy od md5 (i tak sha512 jest szybkie (IMG:style_emoticons/default/wink.gif) ). Nie rozumiem ostatniego pytania. Im więcej rekordów, tym większa szansa by trafić tekst jawny bruteforcem. |
|
|
-Gość- |
![]()
Post
#27
|
Goście ![]() |
Z chęcią bym użył tego rozwiązania. Trochę się tylko obawiam, czy warto zaprzęgać framework CodeIgniter tylko do tej jednej jedynej rzeczy (czyli do obsługi sesji)? A konkretnie, chodzi mi o to czy nie wpływie to negatywnie na szybkość wczytywania się strony? |
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Nikt Ci nie każe zaprzęgać, możesz ją wyodrębnić i użyć bez frameworka.
Nie daje jednak gwarancji że będzie to zgodne z postanowieniami licencji. (IMG:style_emoticons/default/smile.gif) |
|
|
-Gość- |
![]()
Post
#29
|
Goście ![]() |
|
|
|
-Gość- |
![]()
Post
#30
|
Goście ![]() |
Nikt Ci nie każe zaprzęgać, możesz ją wyodrębnić i użyć bez frameworka. Nie daje jednak gwarancji że będzie to zgodne z postanowieniami licencji. (IMG:style_emoticons/default/smile.gif) To może coś takiego? http://stackoverflow.com/questions/2006064...2819928#2819928 Czy taką implementacje mechanizmu sesji można uznać za bezpieczną? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 16:30 |