Pokaż wyniki 1 do 5 z 5

Temat: bezpieczna rejestracja prosze o pomoc

  1. #1

    Domyślnie bezpieczna rejestracja prosze o pomoc

    Witam - probuje stworzyc system rejestracji uzytkownikow na stronie jak najbardziej bezpieczny ale nie wykorzystujac do tego ssl.

    W związku z tym stworzylem sobie taki plan przebiegu rejestracji jednak nie wiem czy napewno on jest bezpieczny te pytanie chcialbym skierowac do kogos kto sie zna tym.

    A wiec :

    Przy rejestracji uzytkownik wpisuje login i haslo. W javascripcie haslo replikuje(aby bylo wieksze niz 9 znaków) i hashuje sha1 i przesylam na server.
    Natomiast przy logowaniu replikuje haslo i hashuje. potem tworze tzw. losowa sol z zakresu powiedzmy 0-99999 i znow hashuje to z sola po stronie klienta. Przesylam haslo w postaci xxxhashxxxxx-sol. Po przesłaniu pobieram sol i dolaczam sol do hasha ktory byl na serverze. Jesli sie hashe zgadzaja logowanie jest prawidlowe.

    Teraz mam pytanie jesli tak w kolko bede dodawala losowa sol natomiast haslo bedzie te same. Po jakims czasie bedzie mozna ustalicz pierwotny hash? Bo w tym przypadku tylko sol sie zmienia.

    Co sadzicie o tym systemie? Moze ktos ma inna propozycje systemu logowania - bezpiecznego bede wdzieczny za prezentacje.

  2. #2
    Zarejestrowany
    Sep 2007
    Skąd
    Różne zakątki sieci.
    Postów
    995

    Domyślnie

    Szczerze? Nic Ci to nie da, a wkurzy użytkownika bo będzie mu hasło "puchło". Jeśli ktoś będzie węszył to i tak zdobędzie hasło wraz z loginem, jeśli ktoś będzie miał normalne hasło to złamanie go metodą słownikową nie będzie możliwe, jeśli ktoś będzie miał dobre hasło, a będzie zwykłym użytkownikiem, nikomu nie będzie się chciało łamać go metodą bruteforce. Po włamaniu się na serwer, hasła będzie można jakoś odtworzyć, ponieważ serwer też to robi, by sprawdzić czy hasło jest poprawne.

  3. #3

    Domyślnie

    a mogl by mi ktos powiedziec na czym polega uwierzytelnianie hmac-sha. W necie znalazlem ze jesli nie mozliwosci uzywania ssl na serwerze to wlasnie mozna wykozystac uwierzytelnianie hmac0sha1 - tylko nie zabardzo jak w praktyce ma to wygladac. Jak by ktos wiedzial prosze o pomoc

  4. #4
    Zarejestrowany
    Dec 2006
    Skąd
    Kielce
    Postów
    1,767

    Domyślnie

    ok jeśli to nie grzech to zapytam czemu nie skorzystasz z ssl
    Skoro aplikacja ma być aż tak bezpieczna - to wynika z twojego postu - to raczej nie jest to logowanie do bloga koleżanki

    HMAC-SHA-1 - szukaj materiałów pod hasłem HMAC bo tak samo istnieje HMAC-MD5 (sposób działania podobny tylko ze z użyciem MD5) - mianowicie HMAC-SHA-1 rozszerza mechanizm SHA-1, pozwalając na użycie klucza w procesie jego generowania.... - co to nam daje...?

    Jak dla mnie to nic poza sprawdzeniem przez odbiorce czy odebrana wiadomość nie została naruszona w trakcie transportu...
    I jak dla mnie nie za bardzo Ci sie to przyda - bo aby korzystać z HMAC zarówno odbiorca jak i nadawca musi znać klucz - którego tak po prostu wysłać nie możesz z serwera do klienta wiec na tym bezpiecznego kanału nie zrobisz...

    Ja bym na twoim miejscu - jeśli nie możesz na bank z SSL skorzystać (jaki to hosting ze ssl nie ma ) to bym wykorzystał klasyczny RSA - do zbudowania bezpiecznego kanału przepływu informacji -

    potem możesz wymienić sie kluczem (serwer-klient) i szyfrowanie symetralne - żeby działało szybciej - chyba ze to ma być tylko jednorazowy kanał użyty tylko podczas rejestracji....

    i jak dla mnie to tutaj jest dopiero miejsce na jakie kol wiek 'solenie' sha-1 - na wypadek wycieku haseł /* tfu.... tfu... tfu... */ będzie je trudniej złamać bo chyba o to chodzi w tych całych solach - przyznaje ze nie korzystałem z tego nigdy.....

    poza tym pamiętaj podczas pisania tego skryptu o wszelkich walidacjach zmiennych nawet SHA-1 nie pomoże jak będziesz mial kod podatny na sql inj...
    Agencja reklamy kielce (mały kilkudniowy case pozycjonerski )

  5. #5
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    1. Walidacje zmiennych robisz po stronie klienta w JS - porazka - zero bepzieczenstwa, byle dzieciak to obejdzie!
    2. hashowanie itd po stronie klienta - brrrrrr - az mi ciarki przeszly po grzbiecie - to powinno byc robione po stronie serwera!
    3. UZYWAJ SSL - po to go wymyslono!

    Nie mozna ufac klientowi - powiedz mi poza tym jaka jest roznica czy przesylasz haslo nie zakodowane/nie-zahaszowane czy przesylasz hash w postaci ktora mozna podsluchac? Jak bym chcial sie wlamac to bym wyslal do serwera ten sam login i ten sam hash i co... no i serwer powie ze OK bo jak niby ma wiedziec co bylo zahashowane?

    Zabrales sie do calosci od dupy strony

    Rozwiazanie problemu:
    1. Uzywaj SSL - to nie boli a daje integralnosc przesylanych danych i ich kodowanie w trakcie transferu
    2. Walidacja wejscia (dlugosc hasla, dowzwolone znaki, itd) po stronie serwera a nie klienta - TO PODSTAWA
    3. Nie przechowywac hasel w postaci nie zakodowanej - trzymac tylko hash'e na serwerze.

    Kazde inne rozwiazanie bedzie w jakis sposob kulawe... Jak uzyjesz tych 3 rad i nie skopiesz kodu aplikacji to bedzie calkiem niezle i powinno byc calkiem OK, zwlaszcza ze mowisz o uzywaniu hasha SHA-1 do przechowywania hasel (dziwi mnie to ze kazdy uzywa MD5 gdy SHA-1 jest tak szeroko zaimplementowane i o wiele wiele 'mocniejsze').
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

Podobne wątki

  1. Prosze o pomoc
    By Melon in forum Newbie - dla początkujących!
    Odpowiedzi: 6
    Autor: 09-01-2007, 09:32
  2. Prosze o pomoc
    By Puma in forum Hacking
    Odpowiedzi: 0
    Autor: 03-24-2007, 15:39
  3. Prosze o pomoc II
    By diler in forum Linux
    Odpowiedzi: 3
    Autor: 03-23-2007, 16:45
  4. prosze o pomoc
    By ironwall in forum HTML/DHTML/XHTML
    Odpowiedzi: 4
    Autor: 02-13-2007, 09:02

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj