eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingkodowanie haseł › Re: kodowanie haseł
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news1.cyf-kr.edu.pl!news.nas
    k.pl!news.nask.org.pl!news.internetia.pl!not-for-mail
    From: Michoo <m...@v...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: kodowanie haseł
    Date: Tue, 22 Jan 2013 16:38:09 +0100
    Organization: Netia S.A.
    Lines: 87
    Message-ID: <kdmc6s$pm3$1@mx1.internetia.pl>
    References: <kdh7i5$ol5$1@node1.news.atman.pl> <kdh8tg$klt$1@node2.news.atman.pl>
    <kdj1b1$sfk$1@news.task.gda.pl>
    <f...@g...com>
    <kdlvmc$jen$1@node1.news.atman.pl> <kdm942$f6d$1@mx1.internetia.pl>
    <kdma0h$g37$1@node2.news.atman.pl>
    NNTP-Posting-Host: 83.238.197.12
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: mx1.internetia.pl 1358869533 26307 83.238.197.12 (22 Jan 2013 15:45:33 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Tue, 22 Jan 2013 15:45:33 +0000 (UTC)
    In-Reply-To: <kdma0h$g37$1@node2.news.atman.pl>
    X-Tech-Contact: u...@i...pl
    User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.6esrpre) Gecko/20120817
    Icedove/10.0.6
    X-Server-Info: http://www.internetia.pl/
    Xref: news-archive.icm.edu.pl pl.comp.programming:201764
    [ ukryj nagłówki ]

    On 22.01.2013 16:07, bartekltg wrote:
    > W dniu 2013-01-22 15:45, Michoo pisze:
    >> On 22.01.2013 13:11, bartekltg wrote:
    >>> W dniu 2013-01-22 02:53, M.M. pisze:
    >>>> Określenia "posolić" używa się normalnie, czy tak sobie napisałeś?
    >>>> Ja dodaje losowe znaki w kilku miejscach oryginalnego ciągu, potem
    >>>> jakiś standardowy klucz sha, albo md5, albo nawet jakiś własny. Gdzieś
    >>>> czytałem że md5 został rozpracowany - nie wiem znaczy słowo
    >>>> "rozpracowany",
    >>>> ale tak czy inaczej do hashowania w poważnej kryptografii lepiej nie
    >>>> używać.
    >>>
    >>> Zwróć uwagę na to, o czym prawie kulturalnie mówił Stachu
    >>> wczoraj a daniel rzucił linka. Jeśli poza bazą danych o hasłach
    >>> (hash i 'sól')wycieknie też metoda kodowania (a czemu ma nie
    >>> wyciec, skoro baza wyciekła, o ile wręcz nie jest jawna) to
    >>> jesteśmy podatni na atak przez ręczne md5 wszystkich możliwych
    >>> haseł. Jeśli nie są one zbyt długie, jest to robialne.
    >>>
    >>> Sól daje to, że operację trzeba powtórzyć dla każdego użytkownika,
    >>> zamiast za jednym zamachem mieć odkodowanych wszystkich,
    >>> ale to niewielka pociecha, gdy np Ty jesteś celem;)
    >>
    >> Ale z tego co rozumiem on dodawał losowe znaki (nie wiem po co w "kilku
    >> miejscach").
    >
    > Tak jak i w pisywanej metodzie. One siedzą pod nazwą 'salt'.
    > Tylko były zapisywane.
    >
    >
    >> XOR hasła z losowym dwubajtowym (nie zapisywanym) ciągiem jest znaną
    >> metodą na:
    >
    > Nie zapisywanym?
    Koniecznie.

    >
    >> - proste zwiększenie złożoności łamania hasła przy zachowaniu
    >> istniejącej infrastruktury (średnio 32k razy, w praktyce więcej, bo
    >> wynik jest z przedziału 0-255 a nie alfanum)
    >> - uniemożliwienie użycia "złamanego" hasła (po znalezieniu odwzorowania
    >> hash - String nadal ma się ~64k możliwości do zbadania)
    >
    >
    > Nie wiem, nie znam się, więc powiedz mi, jak chcesz użyć losowej
    > wartości nie zapisując jej? Jak wtedy chcesz zweryfikować
    > osobę z hasłem.
    >
    > hash = fhash( hasło OXR rand() )
    >
    > Robimy to przy zakładaniu konta. Zapisujemy hash.
    >
    >
    > Przychodzi teraz użytkownik, chce się zalogować,
    > podaje [haslo]. Jak chcesz je porównać z hashem?
    >
    // rand jest z przedziału <0,2^16-2>
    bool passOk=false;
    for(uint16_t i=0;i<-1;i++){
    hash = fhash( hasło OXR i )?
    if(hash==db.hash){
    passOk = true;
    break;//*
    }
    }


    Jak już pisałem - to jest do użycia gdy masz już jakąś infrastrukturę,
    której nie chcesz zmieniać. Jak sam robisz "funkcję sprawdzającą" to
    wywołanie md5 w pętli było jednym z ładniejszych rozwiązań.

    > A jeśli zapisujesz, to ta losowa liczba może wyciec razem z hashem
    > i wracamy do problemu opisanego iterację wyżej.

    Tak, dlatego nie zapisujesz.


    * uwaga - w teorii powoduje podatność na time-based attacks w przypadku
    MiTM, rozwiązaniem jest trzymanie losowo permutowanej tablicy i XOR z
    tab[i] zamiast z i. Imo to już przkombinowanie, bo atakujący musiałby
    mieć bazę haszy i jednocześnie monitorować ruch. To równie dobrze by
    mógł rootkit podrzucić.


    --
    Pozdrawiam
    Michoo

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: