eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingKryptografia w całej okazałości.
Ilość wypowiedzi w tym wątku: 86

  • 41. Data: 2014-11-12 17:47:40
    Temat: Re: Kryptografia w całej okazałości.
    Od: "M.M." <m...@g...com>

    > Zakladamy opensource, czyli algorytm jest znany (ale nie znamy kluczy).

    Jakie są wszystkie konieczne warunki, aby w ogóle można było łamać
    stały (nie losowy) ciąg zaburzający (zwany solą w oku):

    1) Nie został zmieniony algorytm kodujący w tym opensource
    2) Nie została wydłużona długość stałego ciągu zaburzającego, ma np. tylko 64bity
    informacji
    3) Wyciekły tablice zakodowanych haseł
    4) Loginy były zapamiętane razem z hasłami i też wyciekły
    5) Chociaż jeden użytkownik powie łamaczowi który jest jego login
    6) Nie ma w systemie słabszych punktów - to jest bardzo ciekawy punkt. W systemie np.
    nie ma
    błędu programisty który umożliwi prostszy atak, nie ma nieuczciwego administratora
    w kadrze, nie
    ma dziury w jakimś innym serwerze. Pamiętajmy, że pomimo iż nie ma takich słabych
    punktów, to
    jakimś cudem był słaby punkt, który umożliwił akurat wyciek haseł i loginów.
    Jednocześnie,
    pomimo braku innych słabych punktów, nie wydłużono soli i nie wprowadzono jakiejś
    zmiany do
    algorytmu kodującego. Ja tutaj widzę lekką sprzeczność, ale powiedzmy że opisywana
    przeze mnie
    sytuacja jest możliwe.
    7) No i oczywiście jest w programie to rozwiązanie, które nie wydaje mi się bardzo
    lamerskie: czyli jest stały ciąg zaburzający.

    Co trzeba zrobić aby odzyskać ten stały ciąg zaburzający? Można
    łamać brutforcem, potrzebujemy:
    1) 1mln jednostek przetwarzających,
    2) szybką implementację
    3) około 1-3 miesięcy czasu
    4) kilka milionów usd na energię elektryczna

    Nie wiem czy można go łamać tęczowymi tablicami, jeśli można, to ile potrzeba
    zasobów? Przypomnę, mamy krótki, 64 bitowy, losowy-stały ciąg zaburzający.

    Pozdrawiam


  • 42. Data: 2014-11-12 19:59:00
    Temat: Re: Kryptografia w całej okazałości.
    Od: Piotr <S...@w...pl>

    Dnia 12.11.2014 M.M. <m...@g...com> napisał/a:
    > Co trzeba zrobić aby odzyskać ten stały ciąg zaburzający? Można
    > łamać brutforcem, potrzebujemy:
    > 1) 1mln jednostek przetwarzających,
    > 2) szybką implementację
    > 3) około 1-3 miesięcy czasu
    > 4) kilka milionów usd na energię elektryczna
    >
    > Nie wiem czy można go łamać tęczowymi tablicami, jeśli można, to ile potrzeba
    > zasobów? Przypomnę, mamy krótki, 64 bitowy, losowy-stały ciąg zaburzający.

    Przy losowych "solach" mozesz userowi udostepnic program hashujacy (moze
    byc nawet zrodlowka czy program napisany w jezyku skryptowym - nie musisz
    ukrywac zarowno kodu jak i jakiejkolwiek stalej w nim zawartej) a plik z
    zakodowanymi haslami mozesz upublicznic a i tak zlamanie hasel (nawet jesli
    to sa proste slowa ze slownika) bedzie trudnym zadaniem. Przy stalej "soli"
    (na twardo zapisanej w kodzie) musisz pilnowac znacznie wiecej elementow,
    miedzy innymi musisz zadbac o nastepujace sytuacje:
    - user nie moze miec dostepu do zakodowanych hasel innych userow (na
    wypadek gdyby ktos inny uzyl takiego samego hasla)
    - user nie moze miec dostepu do kodu zrodlowego programu (odpada
    impelementacja w jezyku skryptowym), bo "sol" jest w nim w postaci jawnej,
    a nawet jesli to jakos "zaczarujesz" i ukryjesz jakos w kodzie, to mozna po
    prostu fragment kodu (tym z "czarami") uzyc bezposrednio do metody
    slownikowej
    - jesli implementacja jest na przyklad w C, to mimo wszystko user moze
    uruchomic ten program pod debuggerem i sledzic jego wykonanie
    (albo zresourcowac kod lub podejrzec "sol" w binarce)
    - jesli masz osobny serwer autoryzujacy i padnie dysk w macierzy na ktorej
    stoi cala autoryzacja hasel, to po prostu go wyciagasz i wyrzucasz do kosza
    a wszystkim userom ustawiasz koniecznosc zmiany hasla przy nastepnym
    zalogowaniu (nie przejmujesz sie tym, ze ktos wyjmie dysk ze smietnika i na
    jego podstawie zlamie hasla w krotkim czasie)

    Po prostu - losowa "sol" moim zdaniem ma bardzo wiele plusow w stosunku do
    zakodowanej na twardo i moim zdaniem sol zakodowana na twardo wynika
    glownie z lenistwa programisty :D Oczywiscie to tylko moje zdanie - nie
    upieram sie, ze jest jedynym slusznym ;)


  • 43. Data: 2014-11-12 20:26:25
    Temat: Re: Kryptografia w całej okazałości.
    Od: Borneq <b...@a...hidden.pl>

    W dniu 2014-11-12 o 19:59, Piotr pisze:
    > Przy losowych "solach" mozesz userowi udostepnic program hashujacy (moze
    > byc nawet zrodlowka czy program napisany w jezyku skryptowym - nie musisz

    Ale losowa sól musi być taka sama przy tworzeniu każdego hasha jak i
    przy sprawdzaniu. Jeśli nie jest zaszyta w kodzie programu, powinna być
    w pliku konfiguracyjnym i nie zmieniana?


  • 44. Data: 2014-11-12 21:57:28
    Temat: Re: Kryptografia w całej okazałości.
    Od: "M.M." <m...@g...com>

    > Przy losowych "solach" mozesz userowi udostepnic program hashujacy (moze
    > byc nawet zrodlowka czy program napisany w jezyku skryptowym - nie musisz
    > ukrywac zarowno kodu jak i jakiejkolwiek stalej w nim zawartej) a plik z
    > zakodowanymi haslami mozesz upublicznic a i tak zlamanie hasel (nawet jesli
    > to sa proste slowa ze slownika) bedzie trudnym zadaniem.
    Ja chyba czegoś nie rozumiem. Moim zdaniem będzie łatwym zadaniem.
    Pokaż mi gdzie popełniam błąd:
    1) Bierzemy słownik.
    2) Bierzemy hasło i jego sól
    3) Każde słowo ze słownika solimy i hashujemy
    4) Wyświeltamy te słowa, które dały taki sam hash, jak w udostępnionych
    plikach.

    > Przy stalej "soli" (na twardo zapisanej w kodzie) musisz pilnowac
    > znacznie wiecej elementow,

    > miedzy innymi musisz zadbac o nastepujace sytuacje:
    > - user nie moze miec dostepu do zakodowanych hasel innych userow (na
    > wypadek gdyby ktos inny uzyl takiego samego hasla)
    Nie moze miec dostepu zarówno do hasel i loginow. Jesli zobaczy, ze dwa hasła
    są takie same, to nie będzie wiedział, jacy użytkownicy mają takie same
    hasła.

    > - user nie moze miec dostepu do kodu zrodlowego programu (odpada
    > impelementacja w jezyku skryptowym), bo "sol" jest w nim w postaci jawnej,
    > a nawet jesli to jakos "zaczarujesz" i ukryjesz jakos w kodzie, to mozna po
    > prostu fragment kodu (tym z "czarami") uzyc bezposrednio do metody
    > slownikowej
    Dlaczego nie można tak zrobić z losową solą?

    > - jesli implementacja jest na przyklad w C, to mimo wszystko user moze
    > uruchomic ten program pod debuggerem i sledzic jego wykonanie
    > (albo zresourcowac kod lub podejrzec "sol" w binarce)
    A w przeciwnym rozwiązaniu ma sól zapisaną razem z hasłem - czyli jeszcze
    łatwiej ją wyciągnąć niż z pliku binarnego. No chyba że losowa sól leży na
    innej maszynie, ale stała sól też może leżeć na innej maszynie.


    > Po prostu - losowa "sol" moim zdaniem ma bardzo wiele plusow w stosunku do
    > zakodowanej na twardo i moim zdaniem sol zakodowana na twardo wynika
    > glownie z lenistwa programisty :D Oczywiscie to tylko moje zdanie - nie
    > upieram sie, ze jest jedynym slusznym ;

    Możliwe że masz rację, ja tego nie widzę. Mamy dwie sytuacje:
    1) wyciekło zakodowane* hasło i losowa sól
    2) wyciekło zakodowane* hasło i stała sól
    I w jednym przypadku i w drugim odzyskujemy samo hasło burtforcem.

    Kolejne dwie sytuacje:
    1) wyciekło zakodowane* hasło, używano stałej soli która nie wyciekła
    2) wyciekło zakodowane* hasło, używano losowje soli która nie wyciekła
    I w jednym przypadku i w drugim odzyskujemy dwie rzeczy: hasło i sól,
    przy pomocy burtforcem.

    Kolejna sytuacja: wyciekło zakodowane* hasło, nie używano solenia:
    1) Łamiemy przy pomocy tęczowych tablic.

    *) znany jest algorytm solenia i kodowania.

    W jakim miejscu popełniam błąd?

    Pozdrawiam







    )


  • 45. Data: 2014-11-12 21:59:13
    Temat: Re: Kryptografia w całej okazałości.
    Od: "M.M." <m...@g...com>

    On Wednesday, November 12, 2014 8:26:31 PM UTC+1, Borneq wrote:
    > W dniu 2014-11-12 o 19:59, Piotr pisze:
    > > Przy losowych "solach" mozesz userowi udostepnic program hashujacy (moze
    > > byc nawet zrodlowka czy program napisany w jezyku skryptowym - nie musisz
    >
    > Ale losowa sól musi być taka sama przy tworzeniu każdego hasha jak i
    > przy sprawdzaniu. Jeśli nie jest zaszyta w kodzie programu, powinna być
    > w pliku konfiguracyjnym i nie zmieniana?
    Jeśli coś z tego wszystkiego rozumiem, to chodzi o porównanie dwóch
    rzeczy:
    1) każde hasło ma tę samą losową sól
    2) każde hasło ma inną losową sól.
    Pozdrawiam


  • 46. Data: 2014-11-12 23:24:19
    Temat: Re: Kryptografia w całej okazałości.
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>

    On 2014-11-12, Borneq <b...@a...hidden.pl> wrote:
    > W dniu 2014-11-12 o 19:59, Piotr pisze:
    >> Przy losowych "solach" mozesz userowi udostepnic program hashujacy (moze
    >> byc nawet zrodlowka czy program napisany w jezyku skryptowym - nie musisz
    >
    > Ale losowa sól musi być taka sama przy tworzeniu każdego hasha jak i
    > przy sprawdzaniu. Jeśli nie jest zaszyta w kodzie programu, powinna być
    > w pliku konfiguracyjnym i nie zmieniana?

    Widziałeś kiedyś zawartość /etc/shadow? Czym jest twoim zdaniem ciąg po
    drugim dolarze w "$1$...$........"? Sól nie musi być nieznana, wystarczy
    że będzie inna dla każdego hasła.

    --
    Secunia non olet.
    Stanislaw Klekot


  • 47. Data: 2014-11-12 23:48:55
    Temat: Re: Kryptografia w całej okazałości.
    Od: "M.M." <m...@g...com>

    On Wednesday, November 12, 2014 11:24:20 PM UTC+1, Stachu 'Dozzie' K. wrote:
    > Widziałeś kiedyś zawartość /etc/shadow? Czym jest twoim zdaniem ciąg po
    > drugim dolarze w "$1$...$........"? Sól nie musi być nieznana, wystarczy
    > że będzie inna dla każdego hasła.
    Wystarczy do czego? Jak wygląda kompletna lista konkretnych zalet względem
    soli takiej samej dla każdego hasła? Może ja zacznę tę listę, a Ty
    ją skorygujesz i rozbudujesz - jeśli mogę prosić.

    1) Nie można ustalić kto ma takie same hasła na podstawie listy
    loginów i zakodowanych haseł.
    2) Nie można łamać wszystkich haseł na raz.

    Co jeszcze? Co dalej?

    Pytanie: czy w obu przypadkach użycie tęczowych tablic mija się z celem?

    Pozdrawiam


  • 48. Data: 2014-11-13 00:12:57
    Temat: Re: Kryptografia w całej okazałości.
    Od: "M.M." <m...@g...com>

    On Wednesday, November 12, 2014 11:48:57 PM UTC+1, M.M. wrote:
    Jeszcze cytat z wiki:
    [
    Biorąc pod uwagę, że złodziej haseł może posłużyć się tęczowymi tablicami, możemy
    powiększyć dane do takiego rozmiaru, przy którym używanie tęczowych tablic przestanie
    mieć sens. Np. gdy tęczowe tablice nadają się do łamania skrótów, które powstały od
    danych mających od 1 do 8 bajtów, wystarczy dodać 8 bajtów soli, aby uniemożliwić ich
    stosowanie. Nawet jeśli złodziej zna sól, nie będzie w stanie jej ominąć.
    ]
    Nic tutaj nie piszą o tym, że dla każdego hasła musi być inna sól, aby
    posłużenie się tęczowymi tablicami było niemożliwe. Piszą tylko, że
    wystarczy powiększyć dane. Albo na wiki jest nieścisłość, albo argument z
    tęczowymi tablicami odpada. Kiedyś czytałem inny artykuł, też nie pisali
    nic o tym, że wszędzie musi być inna sól. Ale nie wiem, może to ogólnie
    panujący błędy pogląd.

    Pozdrawiam


  • 49. Data: 2014-11-13 00:35:18
    Temat: Re: Kryptografia w całej okazałości.
    Od: bartekltg <b...@g...com>

    On 12.11.2014 23:48, M.M. wrote:
    > On Wednesday, November 12, 2014 11:24:20 PM UTC+1, Stachu 'Dozzie' K. wrote:
    >> Widziałeś kiedyś zawartość /etc/shadow? Czym jest twoim zdaniem ciąg po
    >> drugim dolarze w "$1$...$........"? Sól nie musi być nieznana, wystarczy
    >> że będzie inna dla każdego hasła.
    > Wystarczy do czego? Jak wygląda kompletna lista konkretnych zalet względem
    > soli takiej samej dla każdego hasła?

    Trzeba podejść do sprawy paranoicznie. Za zol uzywamuy liczby
    wygenerowanej dla hasła użytkownika i liczby zapisanej w kodzie.
    ;-)


    > Może ja zacznę tę listę, a Ty
    > ją skorygujesz i rozbudujesz - jeśli mogę prosić.
    >
    > 1) Nie można ustalić kto ma takie same hasła na podstawie listy
    > loginów i zakodowanych haseł.
    > 2) Nie można łamać wszystkich haseł na raz.
    >
    > Co jeszcze? Co dalej?

    A nie wystarczy? Raz unikamy ataku statystyką i słownikiem,
    którego koszt jest praktycznie darmowy, za drugim zwiększamy
    koszt obliczeniowy ataku *liczba użytkowników, czyli potencjalnie
    miliony razy.


    pzdr
    bartekltg



  • 50. Data: 2014-11-13 01:00:17
    Temat: Re: Kryptografia w całej okazałości.
    Od: bartekltg <b...@g...com>

    On 13.11.2014 00:12, M.M. wrote:
    > On Wednesday, November 12, 2014 11:48:57 PM UTC+1, M.M. wrote:
    > Jeszcze cytat z wiki:
    > [
    > Biorąc pod uwagę, że złodziej haseł może posłużyć się tęczowymi tablicami, możemy
    powiększyć dane do takiego rozmiaru, przy którym używanie tęczowych tablic przestanie
    mieć sens. Np. gdy tęczowe tablice nadają się do łamania skrótów, które powstały od
    danych mających od 1 do 8 bajtów, wystarczy dodać 8 bajtów soli, aby uniemożliwić ich
    stosowanie. Nawet jeśli złodziej zna sól, nie będzie w stanie jej ominąć.
    > ]
    > Nic tutaj nie piszą o tym, że dla każdego hasła musi być inna sól, aby
    > posłużenie się tęczowymi tablicami było niemożliwe. Piszą tylko, że
    > wystarczy powiększyć dane. Albo na wiki jest nieścisłość, albo argument z
    > tęczowymi tablicami odpada. Kiedyś czytałem inny artykuł, też nie pisali
    > nic o tym, że wszędzie musi być inna sól. Ale nie wiem, może to ogólnie
    > panujący błędy pogląd.

    Wydaje mi się, że autor miał na myśli to, że przygotowanie takiej
    tablicy dla porządnej kryptograficznej funkcji skrótu trochę trwa,
    zakłada więc, że taką tablicę przygotowujemy raz i potem tylko
    chcemy używać. Użycie _jakiejś_ odpowiednio długiej soli uniemożliwia
    atakującemu zbudowanie tablicy dekodującej na zapas. Może ją zacząć
    budować dopiero, gdy sol wycieknie.

    Tele na temat 'co autor miał na myśli'. Klikam na dłuższą wersję:

    The salt value is not secret and may be generated at random and
    stored with the password hash. A large salt value prevents
    precomputation attacks, including rainbow tables, by ensuring that
    each user's password is hashed uniquely. This means that two users
    with the same password will have different password hashes (assuming
    different salts are used). In order to succeed, an attacker needs to
    precompute tables for each possible salt value. The salt must be large
    enough, otherwise an attacker can make a table for each salt value.

    Tu już zalecają różne sole. Przemykają nieco nad uzasadnieniem,
    czyli tym, że nie tylko mamy większy koszt _wcześniejszego_
    przygotowania (co było już przy wspólnej _tajnej_ soli) ale
    i koszt ataku w momencie wypłynięcia jest *liczba użytkowników
    raza mniejszy.

    To ostatnie zdanie musze doprecyzować. Oczekiwany koszt w obu
    przypadkach jest liniowy. Tylko jeśli znamy sol, która jest wspólna
    dla wszystkich haseł, hashując jakąś propozycję hasła mamy
    prawdopodobieństwo

    liczba_haseł_w_bazie/liczba_potencajlnych_haseł

    na trafienie w jakis hash. Zamiast po prostu
    1/liczba_potencajlnych_haseł
    jak będzie przy różnych solach.

    pzdr
    bartekltg





strony : 1 ... 4 . [ 5 ] . 6 ... 9


Szukaj w grupach

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: