eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Problem z szyfrowaniem komunikacji między mcu
Ilość wypowiedzi w tym wątku: 46

  • 21. Data: 2013-07-25 10:10:05
    Temat: Re: Problem z szyfrowaniem komunikacji między mcu
    Od: Zbych <a...@o...pl>

    W dniu 25.07.2013 09:57, Marek pisze:
    > On Tue, 23 Jul 2013 10:25:36 +0200, Piotr
    > Gałka<p...@c...pl> wrote:
    >> Potrzebujesz podpisywania, a nie szyfrowania.
    >> Przed poleceniem (nawet jawnym) umieść kolejny numer i całość
    > podpisz (CMAC,
    >> HMAC).
    >> Odbiornik akceptuje tylko polecenia z dowolnym wyższym numerem od
    > aby
    >> poprzedniego, ale prawidłowo podpisane.
    >
    >
    >
    > Ale to jest sposób komunikacji, w którym:
    >
    > Xb -> Y
    >
    > gdzie Xb polecenie o ilosci bajtow b wysłane z nadajnika
    > Y akcja odbiornika (wykonanie polecania Xb)
    >
    >
    > nie analizujac zupełnie zawartości Xb daje nam
    > ograniczona liczbę możliwych Xb tj. ograniczoną wielkością możliwych
    > kombinacji zbioru b. Jeśli b będzie małe, a założenie jest takie aby
    > komunikacja była jak najkrótsza, to wystarczy wypróbować wszystkie
    > możliwe kombinacje. Model wręcz stworzony do replay attack.
    > Odbiornik musiałby pamiętać ostatni nr sekwencyjny aby nie przyjąć już
    > użytego. Takie rozwiązanie ma kolejne dwa zastrzeżenia:
    > 1. jawna komunikacja, skrót dostępny jak na dłoni, można go użyć jako
    > wsad do analizy krypto w celu wykrycia jego słabości.
    > 2. nr sekwencyjny musiałby być zapisywany w jakieś pamieci nieulotnej,
    > przy kilku tysiącu poleceń na godzinę flash mcu może szybko przekroczyć
    > gwarantowana liczbe zapisów. Trzeba by mieć jakiś zewnętrzny,
    > odpowiednio duży flash. A mając zewnętrzna pamięć ja trzeba by też
    > chronić, by nie można było zewnętrznie zmodyfikować jej zawartość
    > (zmniejszyć numer sekwencyjny).
    > PozostajeStosowanie nr sekwencyjnego "w środku" działa dodatkowo na
    > niekorzyść, bo powoduje, ze dla różnych b istnieje takie samo Y
    > (dokładnie tyle ile jest możliwych nr sekwencyjnych).

    A na końcu okaże się, że taniej jest zlecić chińczykowi wydłubanie
    programu z uC i nie trzeba się bawić w żadne łamanie podpisów/szyfrów.
    (no chyba, że klucze trzymamy w RAMie podtrzymywanym bateryjnie i przy
    próbie otwarcia urządzenia jest on czyszczony)

    Ostatnio taki fajny spam dostałem: http://hack-mcu.com/


  • 22. Data: 2013-07-25 10:15:29
    Temat: Re: Problem z szyfrowaniem komunikacji między mcu
    Od: Marek <f...@f...com>

    On Thu, 25 Jul 2013 09:57:33 +0200, Marek <f...@f...com> wrote:
    > Stosowanie nr sekwencyjnego "w środku" działa dodatkowo na
    > niekorzyść, bo powoduje, ze dla różnych b istnieje takie samo Y
    > (dokładnie tyle ile jest możliwych nr sekwencyjnych).

    Tak naprawdę nie widzę różnicy między podpisywaniem a zwykłym
    cmd+nrsek, gdzie nrsek jest jednorazowy. Bo w przypadku podpisywania
    i bez niego mamy taka sama liczbę możliwych komunikatów
    autoryzujacych dane polecenie. A jeśli polecenie miałoby być jedno to
    w ogóle szał, bo wystarczyłby sam nrsek :-)

    --
    Marek


  • 23. Data: 2013-07-25 10:26:29
    Temat: Re: Problem z szyfrowaniem komunikacji między mcu
    Od: Piotr Gałka <p...@c...pl>


    Użytkownik "Zbych" <a...@o...pl> napisał w wiadomości
    news:51f0dd5d$0$1228$65785112@news.neostrada.pl...
    >
    > A na końcu okaże się, że taniej jest zlecić chińczykowi wydłubanie
    > programu z uC i nie trzeba się bawić w żadne łamanie podpisów/szyfrów.
    > (no chyba, że klucze trzymamy w RAMie podtrzymywanym bateryjnie i przy
    > próbie otwarcia urządzenia jest on czyszczony)
    >
    Jakie oprogramowanie miałby wydłubać chińczyk aby bez łamania podpisów
    zainstalowany na przykład wewnątrz sejfu odbiornik wykonał polecenie
    "otwórz" ?
    P.G.


  • 24. Data: 2013-07-25 10:39:36
    Temat: Re: Problem z szyfrowaniem komunikacji między mcu
    Od: Piotr Gałka <p...@c...pl>


    Użytkownik "Marek" <f...@f...com> napisał w wiadomości
    news:almarsoft.333176445241953322@news.neostrada.pl.
    ..
    > On Thu, 25 Jul 2013 09:57:33 +0200, Marek <f...@f...com> wrote:
    >> Stosowanie nr sekwencyjnego "w środku" działa dodatkowo na niekorzyść,
    >> bo powoduje, ze dla różnych b istnieje takie samo Y (dokładnie tyle ile
    >> jest możliwych nr sekwencyjnych).
    >
    > Tak naprawdę nie widzę różnicy między podpisywaniem a zwykłym cmd+nrsek,
    > gdzie nrsek jest jednorazowy. Bo w przypadku podpisywania i bez niego mamy
    > taka sama liczbę możliwych komunikatów autoryzujacych dane polecenie. A
    > jeśli polecenie miałoby być jedno to w ogóle szał, bo wystarczyłby sam
    > nrsek :-)
    >
    A widzisz różnicę między złożonym w US PITem (nrsek to rok) z podpisem i bez
    podpisu?
    P.G.


  • 25. Data: 2013-07-25 10:54:14
    Temat: Re: Problem z szyfrowaniem komunikacji między mcu
    Od: Piotr Gałka <p...@c...pl>


    Użytkownik "Marek" <f...@f...com> napisał w wiadomości
    news:almarsoft.1189924782676989363@news.neostrada.pl
    ...
    > Ale to jest sposób komunikacji, w którym:
    >
    > Xb -> Y
    >
    > gdzie Xb polecenie o ilosci bajtow b wysłane z nadajnika
    > Y akcja odbiornika (wykonanie polecania Xb)
    >
    >
    > nie analizujac zupełnie zawartości Xb daje nam
    > ograniczona liczbę możliwych Xb tj. ograniczoną wielkością możliwych
    > kombinacji zbioru b. Jeśli b będzie małe, a założenie jest takie aby
    > komunikacja była jak najkrótsza, to wystarczy wypróbować wszystkie możliwe
    > kombinacje. Model wręcz stworzony do replay attack.

    Jeśli znasz chociaż trochę angielski to powinieneś wiedzieć, że replay
    oznacza "ponowne odtworzenie".
    Rozmiar b nie ma nic wspólnego z możliwością lub niemożliwością ponownego
    odtworzenia podsłuchanej komunikacji.

    Natomiast możliwość łatwego wypróbowania wszystkich kombinacji jest
    czynnikiem sprzyjającym atakowi siłowemu właśnie na tym polegającemu.

    > Odbiornik musiałby pamiętać ostatni nr sekwencyjny aby nie przyjąć już
    > użytego. Takie rozwiązanie ma kolejne dwa zastrzeżenia:
    > 1. jawna komunikacja, skrót dostępny jak na dłoni, można go użyć jako wsad
    > do analizy krypto w celu wykrycia jego słabości.

    Podpisy CMAC HMAC nie muszą być ukrywane aby były bezpieczne.

    > 2. nr sekwencyjny musiałby być zapisywany w jakieś pamieci nieulotnej,
    > przy kilku tysiącu poleceń na godzinę flash mcu może szybko przekroczyć
    > gwarantowana liczbe zapisów. Trzeba by mieć jakiś zewnętrzny, odpowiednio
    > duży flash. A mając zewnętrzna pamięć ja trzeba by też chronić, by nie
    > można było zewnętrznie zmodyfikować jej zawartość (zmniejszyć numer
    > sekwencyjny).

    Ten nierozwiązywalny według Ciebie problem da się rozwiązać na co najmniej
    kilka sposobów.

    > PozostajeStosowanie nr sekwencyjnego "w środku" działa dodatkowo na
    > niekorzyść, bo powoduje, ze dla różnych b istnieje takie samo Y (dokładnie
    > tyle ile jest możliwych nr sekwencyjnych).

    Nie rozumiem koncepcji "w środku".
    P.G.


  • 26. Data: 2013-07-25 11:12:30
    Temat: Re: Problem z szyfrowaniem komunikacji między mcu
    Od: Michoo <m...@v...pl>

    On 25.07.2013 10:26, Piotr Gałka wrote:
    >
    > Użytkownik "Zbych" <a...@o...pl> napisał w wiadomości
    > news:51f0dd5d$0$1228$65785112@news.neostrada.pl...
    >>
    >> A na końcu okaże się, że taniej jest zlecić chińczykowi wydłubanie
    >> programu z uC i nie trzeba się bawić w żadne łamanie podpisów/szyfrów.
    >> (no chyba, że klucze trzymamy w RAMie podtrzymywanym bateryjnie i przy
    >> próbie otwarcia urządzenia jest on czyszczony)
    >>
    > Jakie oprogramowanie miałby wydłubać chińczyk aby bez łamania podpisów
    > zainstalowany na przykład wewnątrz sejfu odbiornik wykonał polecenie
    > "otwórz" ?

    Skoro rozpatrujemy atak powtórzeniowy to zakładamy dostęp do urządzenia
    "zewnętrznego".

    Więc po co oprogramowanie? Chińczyk bierze układ i rozpuszcza mu górę
    opakowania, wkłada w mikroskop i robi zdjęcie. Pobiera z bazy informację
    gdzie leżą lockbity i strzela np 3 razy laserem. Podpina układ do
    programatora i odczytuje cały kod i eeprom.

    Teraz można zrobić dokładną kopię układu.


    --
    Pozdrawiam
    Michoo


  • 27. Data: 2013-07-25 11:15:26
    Temat: Re: Problem z szyfrowaniem komunikacji między mcu
    Od: Michoo <m...@v...pl>

    On 24.07.2013 10:28, Piotr Gałka wrote:
    >
    > Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości
    > news:ksmrgi$5rd$1@mx1.internetia.pl...
    >>> Według nich złożoność każdego systemu to wróg bezpieczeństwa i nie
    >>> należy tej złożoności podnosić wprowadzając zależność między
    >>> podpisywaniem wiadomości, a jej szyfrowaniem.
    >>
    >> To nie jest wprowadzanie złożoności a jej redukcja.
    >
    > Redukcja złożoności obliczeniowej, ale wprowadzanie zależności pomiędzy
    > poszczególnymi funkcjami systemu.

    No właśnie redukujesz złożoność programu (jedna funkcja zamiast dwóch)
    kosztem złożoności obliczeń (szyfrowanie jest zazwyczaj droższe od
    liczenia skrótu).

    >
    >>> Złamanie szyfrowania nie powinno oznaczać jednoczesnego złamania
    >>> podpisywania i odwrotnie.
    >>
    >> Odważne słowa biorąc po uwagę popularność kryptografii asymetrycznej.
    >
    > Mówiłem wyłącznie o kryptografii symetrycznej. O asymetrycznej wiem za
    > mało aby się wypowiadać.

    To tylko taka uwaga - całe public-key cryptography, które zajmuje się
    zapewnianiem poufności i/lub autentyczności, opiera się o jedną parę kluczy.

    Szyfrowanie w tym wypadku sprowadza się prawie zawsze (ze względu na
    wydajność) do zaszyfrowania szyfrem symetrycznym i asymetrycznego
    zaszyfrowania klucza.

    >
    >>
    >>> W tym co proponujesz CRC ma być podpisem (rozumiem, że ciąg
    >>> {numer|rozkaz|crc} jest szyfrowany, lub crc po szyfrowaniu). Złamanie
    >>> szyfrowania natychmiast daje dostęp do podpisywania.
    >>
    >> Protokoły szyfrowania zapewniają zazwyczaj też potwierdzenie
    >> autentyczności - tylko posiadacz klucza może dokonać szyfrowania w
    >> sposób zapewniający odszyfrowanie.
    >
    > Oczywiste jest, że nie posiadając klucza nie zaszyfruje się tak, aby
    > dało się odszyfrować i nie ma to związku z autentycznością (cały czas
    > mówię o kryptologii symetrycznej)

    Jak to nie ma? Zazwyczaj protokoły mają różnego rodzaju sumy kontrolne
    aby sprawdzić, czy deszyfrowanie się powiodło - dzięki temu fakt
    zdeszyfrowania wiadomości W kluczem K oznacza, że wiadomość została
    wygenerowana przez posiadacza klucza K.

    Oczywiście wymaga to kontroli integralności i kontrola
    integralności+szyfrowanie w efekcie dają kontrolę autentyczności.


    Replay attack to atak w którym w ogóle nie musisz znać tekstu jawnego i
    klucza a jedynie szyfrogram - możesz mieć idealnie zaszyfrowaną
    wiadomość z podpisami, sumami kontrolnym, etc a jeżeli jakoś nie
    kontrolujesz sekwencji to nadal jesteś podatny.

    Przykład:
    obserwujesz, że po wiadomości W1 sterownik wykonuje akcję A1, nie masz
    zielonego pojęcia co zawiera ta wiadomość, nie umiesz w nią ingerować
    (np zmienić kąta ruchu z 10 na 5 stopni) ale wiesz, że zawsze na
    wysłanie tej wiadomości reakcja będzie taka a taka.

    Gorzej - masz algorytm działający w trybie ECB - widzisz, że zmieniają
    się tylko dwa pierwsze bajty szyfrogramu(numer seryjny) - bez kontroli
    integralności można skopiować numer seryjny z bieżącej wiadomości (np
    "minął termin ważności licencji") i dokleić do starej wiadomości
    ("wykonaj działanie"). A cały czas nie wiesz co jest w tych wiadomościach.



    > Z tych co zapewniają słyszałem tylko o dwu:
    > - OCB - ale są osoby i instytucje roszczące sobie prawa patentowe do
    > tego trybu.
    > - CCM - uważam, że przy krótkich ramkach należało by użyć jakiejś
    > prostszej funkcji formatującej niż przedstawiona w standardzie, ale nie
    > umiem być na 100% pewien, czy wymyślona przeze mnie funkcja rzeczywiście
    > spełnia określone w standardzie wymagania, a nie spełnienie jest jak
    > rozumiem naruszeniem bezpieczeństwa.

    To nadal nie rozwiązuje problemu ataku powtórzeniowego. W tym ataku
    używa się poprawnej, poprawnie podpisanej wiadomości, która została
    przechwycona wcześniej.


    >
    >>
    >>> Jeśli treść rozkazu
    >>> nie musi być ukrywana to można zakładać, że takie działanie to tylko
    >>> podpisywanie.
    >>
    >> Tak i nie - pojawiają się możliwości ataków z tekstem jawnym, więc
    >> kryptografia musi być silniejsza. 32 bitowy klucz szyfrujący nieznany
    >> tekst może spokojnie wystarczać do typowych zastosowań, 32 bitowy
    >> klucz podpisujący jawne polecenie nie nadaje się do niczego o ile nie
    >> ma naprawdę wielu rund.
    >
    > Tu mnie zadziwiasz.
    > Według mnie 32 bitowy podpis może być wystarczający do typowych
    > zastosowań, ale w żadnym przypadku nie oznacza to klucza 32 bitowego.

    Mamy system komputerowy w którym administrator wysyła polecenia z 32
    bitowym podpisem. Ile czasu potrwa wstrzelenie się sekwencyjnym podpisem
    jeżeli łącze ma 10GB/s?

    > Natomiast użycie 32 bitowego klucza do szyfrowania tekstu (w ogóle do
    > czegokolwiek) wydaje mi się śmieszne.

    Możesz w stosunkowo krótkim czasie wygenerować wszystkie 2^32
    potencjalne teksty jawne. Jeżeli tekst jawny wygląda jak losowe słowo to
    który jest prawidłowy?

    Natomiast, oczywiście, security by obscurity nie jest dobrym pomysłem.
    Choćby dlatego, że łatwo je zepsuć - powiedzmy, że zabezpieczamy się
    przed replay attack doklejając do słowa kodowego numer sekwencyjny - nie
    można użyć klasycznej sekwencji bo wyjdzie to w kryptoanalizie, zamiast
    tego musimy zastosować np tajny prng. Itd, etc.


    > Zawsze trzeba zakładać atak z tekstem jawnym.

    Zdziwiłbyś się jak często się go w praktyce nie zakłada. Faktem jest, że
    jest to nierozsądne.

    > Poza tym jeśli szyfrowany jest tekst w znanym języku to komputerowa
    > weryfikacja, czy uzyskany tekst ma sens w tym języku nie zajmuje dużo
    > czasu.

    "Atak z tekstem jawnym" nie znaczy tylko że znasz dokładnie wiadomość
    ale, że znasz jej pewne własności. I np "tekst w języku naturalnym" jest
    bardzo istotną własnością.

    > Zwiększenie liczby rund ma jedynie wpływ na możliwości analitycznego
    > poszukiwania klucza. Dla ataku siłowego ma znikome znaczenie bo wydłuża
    > czas tego ataku tylko wprost proporcjonalnie do liczby rund.

    Jeżeli oryginalnie było 200ns to 14 minut nie jest problemem. Jeżeli
    zrobisz z tego 500ms to nagle koszt wynajęcia chmury do łamania może być
    niewart zysku z łamania.

    Pamiętaj, że zdeterminowany atakujący o odpowiednim zapasie finansowym
    potrafi np zdelaminować czip i po prostu odczytać klucz razem z algorytmem.

    > Poza tym nie znam żadnych algorytmów z kluczem 32 bity, a stosowanie
    > wymyślonych przez siebie algorytmów (nie sprawdzonych dogłębnie przez
    > znających się na rzeczy) jest proszeniem się o kłopoty.

    Zgadza się.

    >
    >>> Numer może być przesyłany jawnie - można zaoszczędzić kodowania.
    >>> Na przykład numer 8 bajtów, rozkaz 8 bajtów, podpis 8 bajtów. Podpis
    >>> obejmuje numer i rozkaz = jeden blok 16 bajtowy. Wysyłany jest numer i
    >>> 16 bajtowy wynik zakodowania rozkazu i podpisu.
    >>
    >> Razem 32 bity - jak myślisz ile czasu zajmie kryptoanaliza wspomagana
    >> metodą brute-force na jakimś i7?
    >>
    > Jak Ci wyszły te 32 bity ?

    Widzę "bajty" czytam "bity"... :-/

    --
    Pozdrawiam
    Michoo


  • 28. Data: 2013-07-25 11:18:22
    Temat: Re: Problem z szyfrowaniem komunikacji między mcu
    Od: Piotr Gałka <p...@c...pl>


    Użytkownik "Piotr Gałka" <p...@c...pl> napisał w
    wiadomości news:ksqnfo$nmp$1@somewhere.invalid...
    >
    > Użytkownik "Zbych" <a...@o...pl> napisał w wiadomości
    > news:51f0dd5d$0$1228$65785112@news.neostrada.pl...
    >>
    >> A na końcu okaże się, że taniej jest zlecić chińczykowi wydłubanie
    >> programu z uC i nie trzeba się bawić w żadne łamanie podpisów/szyfrów.
    >> (no chyba, że klucze trzymamy w RAMie podtrzymywanym bateryjnie i przy
    >> próbie otwarcia urządzenia jest on czyszczony)
    >>
    > Jakie oprogramowanie miałby wydłubać chińczyk aby bez łamania podpisów
    > zainstalowany na przykład wewnątrz sejfu odbiornik wykonał polecenie
    > "otwórz" ?

    Przy pierwszym czytaniu "wydłubanie" mylnie zrozumiałem jako napisanie od
    nowa, a nie reverse engineering.
    Kwestia zarządzania kluczami to oddzielne, bardzo złożone zagadnienie, o
    którym mam zaledwie blade pojęcie.
    Przede wszystkim w każdej instalacji klucze powinny być inne, ustalone
    (wylosowane) przez użytkownika i nie znane producentowi urządzenia.
    Zatem nie da się ich wydłubać z pierwszego lepszego urządzenia tego typu -
    musi to być urządzenie z tego systemu.
    Kradzież urządzenia z tego systemu powinna być zauważona i klucze zmienione
    zanim chińczyk zdąży wydłubać te klucze i je dostarczyć.
    Poza tym stosowane do podpisywania klucze są zazwyczaj wylosowanymi kluczami
    sesji. Istnieją algorytmy (np. DH) pozwalające ustalić wspólny klucz sesji
    tak, że ktoś podglądający całą transmisję i nawet znający całe zawartości
    pamięci flash obu uzgadniających ze sobą klucz urządzeń nie jest w stanie
    ustalić jaki klucz uzgodniono.
    P.G.


  • 29. Data: 2013-07-25 11:59:22
    Temat: Re: Problem z szyfrowaniem komunikacji między mcu
    Od: Marek <f...@f...com>

    On Thu, 25 Jul 2013 10:54:14 +0200, Piotr
    Gałka<p...@c...pl> wrote:
    > Nie rozumiem koncepcji "w środku".

    Kryptografie analizuje jako strumien bajtów dający reakcje Y, nie
    wnikam w sens strumienia (czy jest to szyfrowany komunikaty, czy
    komunikaty z podpisem itp).
    Wiec jeszcze raz:
    Xb -> Y
    Xb to ciąg bajtów o ograniczonej długości b wysłany z nadajnika,
    który odpowiada za reakcje Y u odbiornika (wykonanie polecenia).
    Transmisja jest zawsze jednokierunkowa i każda jedna transmisja
    (prawidłowa) daje prawidłową reakcje Y.

    W Twojej propozycji Xb było komunikatem zawierającym polecenie,
    nrsekw i podpis. Ten nrsekw jest wlaśnie "w środku" strumienia
    komunikatu i ma zapewnić unikalnosc.
    Analizujac strumień Xb jest to nic innego jak jeden wielki nr
    sekwencyjny, ktory może się pojawić tylko raz, ergo liczbę poleceń
    mamy ograniczona liczba kombinacji Xb - liczba prawidłowych Xb.

    Pytanie dodatkowe: czy proponowana przez Ciebie metoda podpisu daje
    ten sam podpis dla tego samego komunikatu, czy ten sam komunikat
    może generowac różne (prawidlowe) podpisy (podobnie jak hash
    ograniczony kombinacja możliwych saltow)

    --
    Marek


  • 30. Data: 2013-07-25 12:37:07
    Temat: Re: Problem z szyfrowaniem komunikacji między mcu
    Od: Piotr Gałka <p...@c...pl>


    Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości
    news:ksqqvl$rli$1@mx1.internetia.pl...
    >>>
    >>>> W tym co proponujesz CRC ma być podpisem (rozumiem, że ciąg
    >>>> {numer|rozkaz|crc} jest szyfrowany, lub crc po szyfrowaniu). Złamanie
    >>>> szyfrowania natychmiast daje dostęp do podpisywania.
    >>>
    >>> Protokoły szyfrowania zapewniają zazwyczaj też potwierdzenie
    >>> autentyczności - tylko posiadacz klucza może dokonać szyfrowania w
    >>> sposób zapewniający odszyfrowanie.
    >>
    >> Oczywiste jest, że nie posiadając klucza nie zaszyfruje się tak, aby
    >> dało się odszyfrować i nie ma to związku z autentycznością (cały czas
    >> mówię o kryptologii symetrycznej)
    >
    > Jak to nie ma? Zazwyczaj protokoły mają różnego rodzaju sumy kontrolne aby
    > sprawdzić, czy deszyfrowanie się powiodło - dzięki temu fakt
    > zdeszyfrowania wiadomości W kluczem K oznacza, że wiadomość została
    > wygenerowana przez posiadacza klucza K.

    OK.
    Poprzednią Twoją wypowiedź interpretowałem trochę w oderwaniu od kontekstu i
    stąd nieporozumienie.

    >
    > Oczywiście wymaga to kontroli integralności i kontrola
    > integralności+szyfrowanie w efekcie dają kontrolę autentyczności.
    >
    Spotkałem się raczej z tezą, że złamanie szyfrowania nie powinno dawać od
    razu dostępu do podpisywania.
    Dlatego algorytmy, pozwalające podpisywać i szyfrować jednym kluczem są
    bardziej złożone niż CRC (nawet 64b) i szyfrowanie.

    >
    > Replay attack to atak w którym w ogóle nie musisz znać tekstu jawnego i
    > klucza a jedynie szyfrogram - możesz mieć idealnie zaszyfrowaną wiadomość
    > z podpisami, sumami kontrolnym, etc a jeżeli jakoś nie kontrolujesz
    > sekwencji to nadal jesteś podatny.
    >
    > Przykład:
    > obserwujesz, że po wiadomości W1 sterownik wykonuje akcję A1, nie masz
    > zielonego pojęcia co zawiera ta wiadomość, nie umiesz w nią ingerować (np
    > zmienić kąta ruchu z 10 na 5 stopni) ale wiesz, że zawsze na wysłanie tej
    > wiadomości reakcja będzie taka a taka.
    >
    Oczywiste, ale nie wiem po co to piszesz. Na tym etapie byliśmy na samym
    początku wątku.

    >
    >> Z tych co zapewniają słyszałem tylko o dwu:
    >> - OCB - ale są osoby i instytucje roszczące sobie prawa patentowe do
    >> tego trybu.
    >> - CCM - uważam, że przy krótkich ramkach należało by użyć jakiejś
    >> prostszej funkcji formatującej niż przedstawiona w standardzie, ale nie
    >> umiem być na 100% pewien, czy wymyślona przeze mnie funkcja rzeczywiście
    >> spełnia określone w standardzie wymagania, a nie spełnienie jest jak
    >> rozumiem naruszeniem bezpieczeństwa.
    >
    > To nadal nie rozwiązuje problemu ataku powtórzeniowego. W tym ataku używa
    > się poprawnej, poprawnie podpisanej wiadomości, która została przechwycona
    > wcześniej.
    >
    Ciężko się z Tobą dyskutuje, bo co rusz wstawisz coś ni z gruszki ni z
    pietruszki. To się chyba nazywa trollowaniem.

    Jeśli dalej będziemy dyskutować będę bez komentowania wycinał takie wstawki.
    Temat algorytmów zapewniających jednocześnie szyfrowanie i podpisywanie jest
    niezależnym tematem powstałym dlatego, że ktoś (może Ty) zasugerował CRC +
    szyfrowanie.
    Przecież konieczność rozróżnienia kolejnych poleceń i nie akceptowania
    powtórzonych poleceń została ustalona już ileś tam wypowiedzi temu wstecz.

    >> Tu mnie zadziwiasz.
    >> Według mnie 32 bitowy podpis może być wystarczający do typowych
    >> zastosowań, ale w żadnym przypadku nie oznacza to klucza 32 bitowego.
    >
    > Mamy system komputerowy w którym administrator wysyła polecenia z 32
    > bitowym podpisem. Ile czasu potrwa wstrzelenie się sekwencyjnym podpisem
    > jeżeli łącze ma 10GB/s?
    >
    Pisałem o typowym zastosowaniu.
    System nie reagujący na błędne podpisy (na przykład obniżeniem pasma) nie
    jest według mnie typowy.
    Obniżenie pasma to na przykład przyjęcie kolejnej ramki dopiero po 1ms jeśli
    wystąpiły 3 kolejne błędne podpisy, po 2 ms gdy 4 błędne, po 4ms gdy 5
    błędnych itd.
    Nie obniża to pasma w przypadku przypadkowego przekłamania jednej ramki, ale
    uniemożliwia atak siłowy na podpis.
    Jak system przyjmuje wszystko jak leci i z pasmem 10GB/s to oczywiście
    podpis powinien być dłuższy. Dla tak głupiego systemu pewnie 128bitów
    minimum.

    >> Natomiast użycie 32 bitowego klucza do szyfrowania tekstu (w ogóle do
    >> czegokolwiek) wydaje mi się śmieszne.
    >
    > Możesz w stosunkowo krótkim czasie wygenerować wszystkie 2^32 potencjalne
    > teksty jawne. Jeżeli tekst jawny wygląda jak losowe słowo to który jest
    > prawidłowy?

    Użyłeś słowa tekst, co zrozumiałem jako tekst w jakimś języku, a nie
    wiadomość wyglądającą losowo.

    >
    >> Poza tym jeśli szyfrowany jest tekst w znanym języku to komputerowa
    >> weryfikacja, czy uzyskany tekst ma sens w tym języku nie zajmuje dużo
    >> czasu.
    >
    > "Atak z tekstem jawnym" nie znaczy tylko że znasz dokładnie wiadomość ale,
    > że znasz jej pewne własności. I np "tekst w języku naturalnym" jest bardzo
    > istotną własnością.
    >
    Być może tak się rozumie atak z tekstem jawnym.
    Ja pisząc o ataku z tekstem jawnym rozumiałem, że znam dokładnie kawałek
    tego tekstu bo wyobrażam sobie zawsze te elektroniczno/mechaniczne maszyny
    co amerykanie skonstruowali do łamania Enigmy, które sprawdzając wszystkie
    kolejne możliwości porównywały (chyba) z konkretnym założonym kawałkiem
    tekstu, a nie sprawdzały czy to co wyszło jest tekstem w języku niemieckim
    (ale może się mylę - nie wiem jak dokładnie one działały).

    >> Zwiększenie liczby rund ma jedynie wpływ na możliwości analitycznego
    >> poszukiwania klucza. Dla ataku siłowego ma znikome znaczenie bo wydłuża
    >> czas tego ataku tylko wprost proporcjonalnie do liczby rund.
    >
    > Jeżeli oryginalnie było 200ns to 14 minut nie jest problemem. Jeżeli
    > zrobisz z tego 500ms to nagle koszt wynajęcia chmury do łamania może być
    > niewart zysku z łamania.

    Wydłużyłeś czas ataku siłowego _zaledwie_ 2 500 000 razy uzyskując przy
    okazji kompletnie nieefektywny algorytm bo _aż_ 2 500 000 razy wolniejszy.
    Odpowiada to wydłużeniu klucza o 21 bitów. Czyli jakby klucz zamiast 32
    bitów (o których była mowa) miał 53 bity.
    To nie ma sensu, gdy dostępne są algorytmy z kluczem 128 bitów (czy 256
    bitów) działające na tym samym sprzęcie 500 000 razy szybciej od Twojego
    rozwiązania z dodaniem całej masy rund.

    Kilka lat temu był jakiś konkurs na łamanie DESa (klucz 56 bitów). Wygrał
    jakiś hacker - już nie pamiętam, ale chyba kilka dni mu wystarczyło.

    >
    > Pamiętaj, że zdeterminowany atakujący o odpowiednim zapasie finansowym
    > potrafi np zdelaminować czip i po prostu odczytać klucz razem z
    > algorytmem.
    >
    Jest to podobno coraz tańsze.
    Klucza sesji nie ma w chipie. Oczywiście jeśli jest on wymieniany między
    urządzeniami za pomocą kluczy symetrycznych to podglądając taką wymianę
    atakujący pozna klucz sesji.
    Ale jeśli urządzenia mają odpowiednio dobre generatory losowe a do ustalenia
    kluczy stosują na przykład algorytm DH to analiza chipa nic nie da.
    P.G.

strony : 1 . 2 . [ 3 ] . 4 . 5


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: