-
1. Data: 2015-02-06 11:23:17
Temat: SSL na mikrokontrolerach
Od: Atlantis <m...@w...pl>
Rozgryzam ostatnio wykorzystanie SSL-a przy komunikacji za pomocą
socketów na Linuksie. Domyślnie ma to służyć do skomunikowania daemona,
pośredniczącego w komunikacji pomiędzy moimi "zabawkami" na
mikrokontrolerach i androidową aplikacją.
Myślę jednak, że dobrze by było, gdyby urządzenie pracujące poza moją
domową siecią (i przesyłające dane przy pomocy publicznego Internetu)
również mogło przesyłać dane w sposób bezpieczny. Mam tutaj na myśli np.
system nadzoru działki, połączony ze stacją pogodową i korzystający z
modułu GSM.
Oczywiście zdaje sobie sprawę, że czegoś takiego nie zrobię na AVR-ach,
ale pewnie na jakimś STM32 już by się dało. W końcu niektóre z tych
układów oferują sprzętową obsługę popularnych standardów szyfrowania.
Istnieje może jakaś w miarę łatwa w obsłudze (i najlepiej darmowa dla
niekomercyjnych zastosowań), która pozwoliłaby mi zastosować ten
standard w swoim projekcie? Ktoś miał kiedyś do czynienia z czymś takim?
Będę potrzebował jakiegoś RTOS-a?
-
2. Data: 2015-02-06 11:50:16
Temat: Re: SSL na mikrokontrolerach
Od: Adam Górski <g...@w...pl>
On 2015-02-06 11:23, Atlantis wrote:
> Rozgryzam ostatnio wykorzystanie SSL-a przy komunikacji za pomocą
> socketów na Linuksie. Domyślnie ma to służyć do skomunikowania daemona,
> pośredniczącego w komunikacji pomiędzy moimi "zabawkami" na
> mikrokontrolerach i androidową aplikacją.
>
> Myślę jednak, że dobrze by było, gdyby urządzenie pracujące poza moją
> domową siecią (i przesyłające dane przy pomocy publicznego Internetu)
> również mogło przesyłać dane w sposób bezpieczny. Mam tutaj na myśli np.
> system nadzoru działki, połączony ze stacją pogodową i korzystający z
> modułu GSM.
>
> Oczywiście zdaje sobie sprawę, że czegoś takiego nie zrobię na AVR-ach,
> ale pewnie na jakimś STM32 już by się dało. W końcu niektóre z tych
> układów oferują sprzętową obsługę popularnych standardów szyfrowania.
> Istnieje może jakaś w miarę łatwa w obsłudze (i najlepiej darmowa dla
> niekomercyjnych zastosowań), która pozwoliłaby mi zastosować ten
> standard w swoim projekcie? Ktoś miał kiedyś do czynienia z czymś takim?
> Będę potrzebował jakiegoś RTOS-a?
>
Byłoby chyba najprościej. IMHO weź dowolną arm - platformę gdzie
dostępny jest port linuxa i zasadniczo tyle w temacie.
Jeżeli się uprzesz na wkompilowany system lub nawet jego brak to też
pewnie znajdziesz biblioteki do SSL, tylko po co ?
Dużo pary psu w d...
Kup za 55 euro
https://www.olimex.com/Products/OLinuXino/A13/A13-OL
inuXino-WIFI/open-source-hardware
Po ethernecie podłącz swoje moduły , dodaj modem GSM lub WiFi na USB,
zaistaluj linuxa, napisz tylko aplikację jak na PC i tyle.
Masz tam dostępne wszystko. Włącznie z projektem tej płyty w Eaglu.
Możesz kupić gotowe lub zrobićsobie samemu PCB i kupić elementy.
Jedyna wada to większy pobór prądu. Ale za to zabawy na 1 dzień.
Adam
-
3. Data: 2015-02-06 11:51:25
Temat: Re: SSL na mikrokontrolerach
Od: Marek <f...@f...com>
On Fri, 06 Feb 2015 11:23:17 +0100, Atlantis <m...@w...pl>
wrote:
> Rozgryzam ostatnio wykorzystanie SSL-a przy komunikacji za pomocą
> socketów na Linuksie. Domyślnie ma to służyć do skomunikowania
daemona,
> pośredniczącego w komunikacji pomiędzy moimi "zabawkami" na
> mikrokontrolerach i androidową aplikacją.
> Oczywiście zdaje sobie sprawę, że czegoś takiego nie zrobię na
AVR-ach,
Ssl jest np. w stosie Microchipa.
Ale czy musisz koniecznie użwac ssl do tak prostej komunikacji?
Stosunek kodu stosu+ssl do Twojego (user) kodu będzie jak 100:1. Ja
używam szyfrowania xtea, algorytm jest prosty i bezpieczny jak na
takie zastosowania, nawet wikipedia podaje go w C. Dla 8 bitowca w
sam raz.
--
Marek
-
4. Data: 2015-02-06 15:38:28
Temat: Re: SSL na mikrokontrolerach
Od: Waldemar <w...@z...fu-berlin.de>
Am 06.02.2015 um 11:23 schrieb Atlantis:
> Rozgryzam ostatnio wykorzystanie SSL-a przy komunikacji za pomocą
> socketów na Linuksie. Domyślnie ma to służyć do skomunikowania daemona,
> pośredniczącego w komunikacji pomiędzy moimi "zabawkami" na
> mikrokontrolerach i androidową aplikacją.
>
> Myślę jednak, że dobrze by było, gdyby urządzenie pracujące poza moją
> domową siecią (i przesyłające dane przy pomocy publicznego Internetu)
> również mogło przesyłać dane w sposób bezpieczny. Mam tutaj na myśli np.
> system nadzoru działki, połączony ze stacją pogodową i korzystający z
> modułu GSM.
>
> Oczywiście zdaje sobie sprawę, że czegoś takiego nie zrobię na AVR-ach,
> ale pewnie na jakimś STM32 już by się dało. W końcu niektóre z tych
> układów oferują sprzętową obsługę popularnych standardów szyfrowania.
> Istnieje może jakaś w miarę łatwa w obsłudze (i najlepiej darmowa dla
> niekomercyjnych zastosowań), która pozwoliłaby mi zastosować ten
> standard w swoim projekcie? Ktoś miał kiedyś do czynienia z czymś takim?
> Będę potrzebował jakiegoś RTOS-a?
Na Raspberry PI powinno odpalić bez problemu.
Waldek
-
5. Data: 2015-02-06 15:45:35
Temat: Re: SSL na mikrokontrolerach
Od: Atlantis <m...@w...pl>
W dniu 2015-02-06 o 15:38, Waldemar pisze:
> Na Raspberry PI powinno odpalić bez problemu.
Na Raspberry Pi pójdzie z całą pewnością, właśnie na nim eksperymentuję
z tym deamonem/serverem mającym pośredniczyć w komunikacji. Docelowo mam
zamiar wykorzystać jakąś mocniejszą platformę - myślę o CubieTruck,
głównie ze względu na możliwość zainstalowania dysku twardego.
Tyle tylko, że ładowanie RasPi do projektu, w którym chodzi na tylko o
odczytanie kilku czujników i wysłanie danych przez sieć będzie lekkim
overkillem.
-
6. Data: 2015-02-06 16:01:08
Temat: Re: SSL na mikrokontrolerach
Od: Waldemar <w...@z...fu-berlin.de>
Am 06.02.2015 um 15:45 schrieb Atlantis:
> W dniu 2015-02-06 o 15:38, Waldemar pisze:
>
>> Na Raspberry PI powinno odpalić bez problemu.
>
> Na Raspberry Pi pójdzie z całą pewnością, właśnie na nim eksperymentuję
> z tym deamonem/serverem mającym pośredniczyć w komunikacji. Docelowo mam
> zamiar wykorzystać jakąś mocniejszą platformę - myślę o CubieTruck,
> głównie ze względu na możliwość zainstalowania dysku twardego.
>
> Tyle tylko, że ładowanie RasPi do projektu, w którym chodzi na tylko o
> odczytanie kilku czujników i wysłanie danych przez sieć będzie lekkim
> overkillem.
Overkill overkillem, ale na małych kontrolerach SSL nie postawisz, a
większe kosztują tyle, co raspi. Poszedłbym za radą Marka i zrobił
jakieś prostsze kodowanie. Nie będziesz przecież przesyłał jakichś
tajnych danych z tych sensorów. A jak ktoś podsłucha, że u ciebie w domu
jest 24C, a nie 20 to ChMuWD ;-).
Waldek
-
7. Data: 2015-02-06 16:54:52
Temat: Re: SSL na mikrokontrolerach
Od: Mario <m...@...pl>
W dniu 2015-02-06 o 15:45, Atlantis pisze:
> W dniu 2015-02-06 o 15:38, Waldemar pisze:
>
>> Na Raspberry PI powinno odpalić bez problemu.
>
> Na Raspberry Pi pójdzie z całą pewnością, właśnie na nim eksperymentuję
> z tym deamonem/serverem mającym pośredniczyć w komunikacji. Docelowo mam
> zamiar wykorzystać jakąś mocniejszą platformę - myślę o CubieTruck,
> głównie ze względu na możliwość zainstalowania dysku twardego.
>
> Tyle tylko, że ładowanie RasPi do projektu, w którym chodzi na tylko o
> odczytanie kilku czujników i wysłanie danych przez sieć będzie lekkim
> overkillem.
Jak zastosowanie małego arma do migania diodą. Tylko, że takie
rozwiązanie może być najszybsze i najtańsze, a więc trudno je nazwać
overkillem.
--
pozdrawiam
MD
-
8. Data: 2015-02-06 17:24:23
Temat: Re: SSL na mikrokontrolerach
Od: jacek pozniak <j...@f...pl>
Atlantis wrote:
> Rozgryzam ostatnio wykorzystanie SSL-a przy komunikacji za pomocą
> socketów na Linuksie. Domyślnie ma to służyć do skomunikowania daemona,
> pośredniczącego w komunikacji pomiędzy moimi "zabawkami" na
> mikrokontrolerach i androidową aplikacją.
>
> Myślę jednak, że dobrze by było, gdyby urządzenie pracujące poza moją
> domową siecią (i przesyłające dane przy pomocy publicznego Internetu)
> również mogło przesyłać dane w sposób bezpieczny. Mam tutaj na myśli np.
> system nadzoru działki, połączony ze stacją pogodową i korzystający z
> modułu GSM.
Może AES128, niektórzy producenci procesorów udostępniają stosowne
biblioteki, stosowane np w transmisji danych z czujników, wodomierzy i
ciepłomierzy a więc nie jest to zbyt zasobożerne, idealne do embeded.
jp
>
> Oczywiście zdaje sobie sprawę, że czegoś takiego nie zrobię na AVR-ach,
> ale pewnie na jakimś STM32 już by się dało. W końcu niektóre z tych
> układów oferują sprzętową obsługę popularnych standardów szyfrowania.
> Istnieje może jakaś w miarę łatwa w obsłudze (i najlepiej darmowa dla
> niekomercyjnych zastosowań), która pozwoliłaby mi zastosować ten
> standard w swoim projekcie? Ktoś miał kiedyś do czynienia z czymś takim?
> Będę potrzebował jakiegoś RTOS-a?
-
9. Data: 2015-02-06 17:57:56
Temat: Re: SSL na mikrokontrolerach
Od: Atlantis <m...@w...pl>
W dniu 2015-02-06 o 16:01, Waldemar pisze:
> Overkill overkillem, ale na małych kontrolerach SSL nie postawisz, a
> większe kosztują tyle, co raspi. Poszedłbym za radą Marka i zrobił
Nie przesadzajmy... Takie STM32 albo PIC32 są niewiele droższe od
ośmiobitowych AVR-ów. Parę sztuk nawet leży u mnie w szufladzie.
Właściwie jaki MCU to należałoby uznać za absolutne minimum do w miarę
znośnej obsługi SSL-a?
> jakieś prostsze kodowanie. Nie będziesz przecież przesyłał jakichś
> tajnych danych z tych sensorów. A jak ktoś podsłucha, że u ciebie w domu
> jest 24C, a nie 20 to ChMuWD ;-).
Bardziej chodzi mi o komunikację w drugą stronę. Ktoś rozgryzie
szyfrowanie, przyjrzy się protokołowi i będzie mógł wysyłać polecenie
zgaszania/zapalenia światła albo podszyć się pod czujnik i wysłać
serwerowi fałszywą informacją o jakimś zdarzeniu.
Tego jednak wolałbym uniknąć. ;)
-
10. Data: 2015-02-06 18:34:35
Temat: Re: SSL na mikrokontrolerach
Od: JDX <j...@o...pl>
On 2015-02-06 17:57, Atlantis wrote:
[...]
> Właściwie jaki MCU to należałoby uznać za absolutne minimum do w miarę
> znośnej obsługi SSL-a?
http://matrixssl.org/
http://www.wolfssl.com/yaSSL/Products-cyassl.html
https://polarssl.org/
Nie używałem, jedynie planowałem użyć. Gdybyś grzebnął w kodzie to
pewnie na jakimś większym AVR-ku by to poszło. Problemem jest tutaj
przede wszystkim wielkość pamięci danych i, w mniejszym stopniu,
programu, a nie ilość MIPS-ów. W każdym razie do znośnego wysyłania
kilkuset bajtów np. co minutę powinien wystarczyć. Aczkolwiek IMO nie ma
co rzeźbić tylko wziąć jakiegoś małego ARM-a czy MIPS-a - nie ze względu
na zalety tych architektur tylko ze względu na to, że MCU oparte na tych
architekturach zazwyczaj będą miały wystarczająco dużo RAM-u i Flash-a
na pokładzie.