- 
 1. Data: 2013-07-22 23:07:01
 Temat: Problem z szyfrowaniem komunikacji między mcu
 Od: Marek <f...@f...com>
 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...
 
 --
 Marek
 
- 
 2. Data: 2013-07-22 23:10:08
 Temat: Re: Problem z szyfrowaniem komunikacji między mcu
 Od: Jakub Rakus <s...@o...pl>
 W dniu 22.07.2013 23:07, Marek pisze: 
 > 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.
 
 Poczytaj o funkcjach haszujących.
 
 --
 Pozdrawiam
 Jakub Rakus
 
- 
 3. Data: 2013-07-22 23:34:47
 Temat: Re: Problem z szyfrowaniem komunikacji między mcu
 Od: Michoo <m...@v...pl>
 On 22.07.2013 23:07, Marek wrote: 
 > 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",
 
 google: replay attack
 
 > 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.
 
 Rozwiązań jest wiele - możesz umieszczać timestamp o ile jest wspólny,
 możesz przesyłać numer sekwencyjny i zapisywać go po obu stronach.
 Możesz zignorować problem bo może go tak naprawdę nie ma...
 
 --
 Pozdrawiam
 Michoo
 
- 
 4. Data: 2013-07-23 00:43:54
 Temat: Re: Problem z szyfrowaniem komunikacji między mcu
 Od: Marek <f...@f...com>
 On Mon, 22 Jul 2013 23:34:47 +0200, Michoo <m...@v...pl> wrote: 
 > google: replay attack
 
 O właśnie tego szukałem, dziękuję.
 
 
 > Rozwiązań jest wiele - możesz umieszczać timestamp o ile jest
 wspólny,
 > możesz przesyłać numer sekwencyjny i zapisywać go po obu stronach.
 
 Czyli nie da się przeprowadzić bezpiecznej komunikacji TYLKO w jedną
 stronę (polecenie -> wykonanie) bez stosowania wzajemnej
 synchronizacji (nr sekwencyjne/jednorazowe kody/timestampy itp),
 
 --
 Marek
 
- 
 5. Data: 2013-07-23 01:39:10
 Temat: Re: Problem z szyfrowaniem komunikacji między mcu
 Od: sundayman <s...@p...onet.pl>
 może coś w tę stronę 
 http://en.wikipedia.org/wiki/KeeLoq
 
 
- 
 6. Data: 2013-07-23 02:00:22
 Temat: Re: Problem z szyfrowaniem komunikacji między mcu
 Od: LeonKame <k...@l...com>
 W dniu 2013-07-22 23:07, Marek pisze: 
 > 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...
 >
 
 
 Szyfrujesz okreslonym ciagiem kluczy, w takim wypadku jesli bylo by
 powtorzenie tego samego ciagu to mcu2 odrzuca jako nieautoryzowane i już.
 
 
 
 
 
 
 
 "Simply the best"
 
- 
 7. Data: 2013-07-23 04:37:43
 Temat: Re: Problem z szyfrowaniem komunikacji między mcu
 Od: JDX <j...@o...pl>
 Tak mi się przypomniało z dawnych czasów walk ze stosem protokołów 
 powiązanych z PPP:
 https://en.wikipedia.org/wiki/Challenge-Handshake_Au
 thentication_Protocol.
 Powinno się nadać po odpowiednim "przycięciu" do danego zastosowania.
 
- 
 8. Data: 2013-07-23 08:33:16
 Temat: Re: Problem z szyfrowaniem komunikacji między mcu
 Od: g...@s...invalid (Adam Wysocki)
 Marek <f...@f...com> wrote: 
 
 > Jak w miarę prosty sposób uniemożliwić taki atak?
 
 Niech razem z poleceniem (przed zaszyfrowaniem) przesyłany będzie numer
 sekwencyjny, powiedzmy seq. Bez szyfrowania wyglądałoby to tak:
 
 seq=1 polecenie
 seq=2 polecenie
 seq=3 polecenie
 
 itd.
 
 MCU2 ma zapisany numer sekwencyjny, którego się spodziewa (o 1 większy, niż
 ostatnio odebrany). Jeżeli dostanie numer mniejszy, to ignoruje polecenie.
 Jeżeli identyczny, to OK. Jeżeli większy... to już zależy od Ciebie, możesz
 zrobić np. okno resynchronizacji, tak żeby umożliwić zgubienie X komunikatów,
 czyli jeżeli MCU2 spodziewa się np. seq=4, a dostanie seq=10, to sprawdza czy
 10-4 mieści się w jakimś założonym zakresie i jeżeli tak, to wykonuje polecenie
 i ustawia spodziewany numer na 11.
 
 Z tego co pamiętam podobnie jest to zrobione w KeeLoq.
 
 --
 "zanim nastala era internetu, kazdy wiejski glupek siedzial w swojej wiosce"
 http://www.chmurka.net/
 
- 
 9. Data: 2013-07-23 10:06:31
 Temat: Re: Problem z szyfrowaniem komunikacji między mcu
 Od: Piotr Gałka <p...@c...pl>
 
 Użytkownik "Adam Wysocki" <g...@s...invalid> napisał w wiadomości
 news:gof.pme.1374561196@news.chmurka.net...
 >
 > Niech razem z poleceniem (przed zaszyfrowaniem) przesyłany będzie numer
 > sekwencyjny, powiedzmy seq. Bez szyfrowania wyglądałoby to tak:
 >
 > seq=1 polecenie
 > seq=2 polecenie
 > seq=3 polecenie
 >
 > itd.
 >
 > MCU2 ma zapisany numer sekwencyjny, którego się spodziewa (o 1 większy,
 > niż
 > ostatnio odebrany). Jeżeli dostanie numer mniejszy, to ignoruje polecenie.
 > Jeżeli identyczny, to OK. Jeżeli większy... to już zależy od Ciebie,
 > możesz
 > zrobić np. okno resynchronizacji, tak żeby umożliwić zgubienie X
 > komunikatów,
 > czyli jeżeli MCU2 spodziewa się np. seq=4, a dostanie seq=10, to sprawdza
 > czy
 > 10-4 mieści się w jakimś założonym zakresie i jeżeli tak, to wykonuje
 > polecenie
 > i ustawia spodziewany numer na 11.
 >
 > Z tego co pamiętam podobnie jest to zrobione w KeeLoq.
 >
 Widzisz jakiś problem w tym, że ktoś, kto podsłucha transmisję w której jest
 seq=3 nada następną w której jest seq=4 ?
 P.G.
 
 
- 
 10. Data: 2013-07-23 10:17:26
 Temat: Re: Problem z szyfrowaniem komunikacji między mcu
 Od: Michoo <m...@v...pl>
 On 23.07.2013 00:43, Marek wrote: 
 > On Mon, 22 Jul 2013 23:34:47 +0200, Michoo <m...@v...pl> wrote:
 >
 >> Rozwiązań jest wiele - możesz umieszczać timestamp o ile jest
 > wspólny,
 >> możesz przesyłać numer sekwencyjny i zapisywać go po obu stronach.
 >
 > Czyli nie da się przeprowadzić bezpiecznej komunikacji TYLKO w jedną
 > stronę (polecenie -> wykonanie) bez stosowania wzajemnej synchronizacji
 > (nr sekwencyjne/jednorazowe kody/timestampy itp),
 >
 
 Niestety nie. (Można wprawdzie robić "sec-by-obscurity" np doklejając
 przed szyfrowaniem trochę losowego śmiecia tak aby zaszyfrowany ciąg był
 za każdym razem inny istnieje ryzyko, że atakujący spróbuje wysłać ciąg
 bez odkodowania i ze zdziwieniem stwierdzi, że to działa.)
 
 Zauważ tylko, że numer sekwencyjny jest rozwiązaniem prostym a
 jednocześnie wymaga synchronizacji jedynie na początku(a wtedy
 umieszczasz choćby klucze w obu procesorach). W czasie pracy odbiornik
 musi tylko sprawdzać, czy aktualny serial jest większy od ostatniego i
 jeżeli tak to go sobie zapisywać - komunikacja w jedną stronę wystarcza.
 Musisz oczywiście mieć jakieś sumy kontrolne, żeby odkodowanie śmieci
 (np z powodu zakłóceń) nie spowodowało padu komunikacji.
 
 --
 Pozdrawiam
 Michoo
 


 do góry
 do góry![Ranking najlepszych kont osobistych [© wygenerowane przez AI] Ranking najlepszych kont osobistych](https://s3.egospodarka.pl/grafika2/konto-osobiste/Ranking-najlepszych-kont-osobistych-267141-150x100crop.png) 
![Jak mierzyć i oceniać skuteczność mailingu. 5 najważniejszych wskaźników [© maicasaa - Fotolia.com] Jak mierzyć i oceniać skuteczność mailingu. 5 najważniejszych wskaźników](https://s3.egospodarka.pl/grafika2/mailing/Jak-mierzyc-i-oceniac-skutecznosc-mailingu-5-najwazniejszych-wskaznikow-219695-150x100crop.jpg) 
![Jak temat maila wpływa na open rate i skuteczność mailingu? [© thodonal - Fotolia.com] Jak temat maila wpływa na open rate i skuteczność mailingu?](https://s3.egospodarka.pl/grafika2/mailing/Jak-temat-maila-wplywa-na-open-rate-i-skutecznosc-mailingu-216671-150x100crop.jpg) 
 
 Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei
Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei 
 
 
![Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy [© pixabay] Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy](https://s3.egospodarka.pl/grafika2/rynek-najmu/Wynajem-mieszkania-w-Warszawie-pochlania-44-pensji-Zobacz-jak-wypadamy-na-tle-Europy-269391-150x100crop.jpg) 
![Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie? [© wygenerowane przez AI] Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie?](https://s3.egospodarka.pl/grafika2/prawa-pasazera/Lot-z-niespodzianka-jak-overbooking-zmienia-podroz-i-jakie-prawa-maja-pasazerowie-269384-150x100crop.jpg) 
![Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu [© wygenerowane przez AI] Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu](https://s3.egospodarka.pl/grafika2/lider/Lider-z-sercem-empatia-i-zaufanie-jako-klucz-do-sukcesu-zespolu-269133-150x100crop.png) 
![Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam? [© wygenerowane przez AI] Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam?](https://s3.egospodarka.pl/grafika2/AI/Banka-AI-za-5-bilionow-dolarow-Kiedy-inwestorzy-powiedza-sprawdzam-269382-150x100crop.png) 
 
 
 


