-
Data: 2013-07-23 10:25:36
Temat: Re: Problem z szyfrowaniem komunikacji między mcu
Od: Piotr Gałka <p...@c...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Użytkownik "Marek" <f...@f...com> napisał w wiadomości
news:almarsoft.4886869967084930227@news.neostrada.pl
...
> Mam jakieś zaćmienie, problem może nie do końca z tematki grupy ale w
> końcu dotyczy obszaru mikrokontrolerów więc zaryzukuję. Dwa mcu komunikują
> się ze soba (UART), jeden wysyła polecenie (komunikat) drugiemu, ten drugi
> wykonuje robotę w zależności od polecenia, komunikacja jest w jedną stronę
> (mcu1->mcu2) i wg schematu: polecenie -> wykonanie. Chciałbym zaszyfrować
> komunikację między tymi dwoma mcu, aby nie można było podsłuchać
> komunikatu i go później "podrzucić" do mcu2 wpinając się w uart. Założenie
> jest takie, że oba mcu maja "w sobie" klucz, wybieram jakis dowolny
> cipher. I tu pojawia się problem, bo generalnie szyfrownaie nic nie daje,
> bo: mcu 1 szyfruje polecenie X, dajac zaszyfrowany strumień, powiedzmy
> "Gk16w123clh3RZdYbGZc8g", 2 mcu mając ten sam klucz deszyfruje
> "Gk16w123clh3RZdYbGZc8g" dostając polecenie X i je wykonuje. Teraz
> wystarczy "udawać" mcu1 i wysłać do mcu2 po prostu
> "Gk16w123clh3RZdYbGZc8g", które zostanie odszyfrowane i spowoduje
> wykonanie polecenia X. Jak w miarę prosty sposób uniemożliwić taki atak?
> Wyobrażam sobie, że mcu2 może pierwszy nawiązywać komunikację i stowrzyć
> "dialog", który (jeśli będzie prawidłowy) oznaczać będzie, że druga strona
> ma prawidłowy klucz, czyli jest zaufana. Ale można wyobrazić sobie, że
> będzie można całą sekwencje odpowiedzi mcu1 podrzucic na podstawie analizy
> statytycznej (np. wcześniej snifująć komunkację), liczba możliwych
> kombinacji jesty wielka ale skończona, więc nadal problem istnieje...
>
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
poprzedniego, ale prawidłowo podpisane.
Są jakieś teoretyczne wyliczenia do ilu takich ramek podpis bazujący na
kluczu 128 bit można uznać za bezpieczny. Są to ilości chyba rzędu 2^64.
Po wyczerpaniu tej liczby należy wymienić klucze, w żadnym wypadku nie wolno
umożliwić liczenia od początku z tym samym kluczem.
P.G.
Następne wpisy z tego wątku
- 23.07.13 11:13 Piotr Gałka
- 23.07.13 11:46 Zbych
- 23.07.13 12:54 Piotr Gałka
- 23.07.13 15:29 Adam Wysocki
- 23.07.13 22:57 Michoo
- 23.07.13 22:59 Michoo
- 24.07.13 08:50 Piotr Gałka
- 24.07.13 10:28 Piotr Gałka
- 25.07.13 09:57 Marek
- 25.07.13 10:10 Zbych
- 25.07.13 10:15 Marek
- 25.07.13 10:26 Piotr Gałka
- 25.07.13 10:39 Piotr Gałka
- 25.07.13 10:54 Piotr Gałka
- 25.07.13 11:12 Michoo
Najnowsze wątki z tej grupy
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=