SSL da un microcontrollore


12

Voglio creare un dispositivo incorporato in grado di comunicare con un server Web in modo sicuro. La mia preferenza sarebbe quella di utilizzare SSL standard in modo che il server Web visualizzi il mio dispositivo simile a un browser web.

  • Ci sono librerie prebuit per il lato incorporato per fare questo?
  • Che dire di un IC in grado di gestire l'handshaking e la decrittazione per me?
  • In caso contrario, come potrei fare io stesso?

Se non l'hai visto, potresti considerarlo per le sue dimensioni ridotte, le potenti funzionalità, ma non il prezzo economico: phidgets.com/products.php?product_id=1072
gahooa

@gahooa che è interessante. Sto cercando un'opzione economica però. Il mio mercato comprerebbe 10 o 100 del mio dispositivo, quindi ogni centesimo che posso tagliare i costi può aiutare a rendere l'articolo più commerciabile.
Kellenjb,

1
Spero che tu abbia un GRANDE micro. SSL è piuttosto pesante, dal punto di vista computazionale.
Connor Wolf,

@Fake Name Stavo pensando a un dsPIC. Il modo in cui lo capisco è che l'handshaking iniziale può essere piuttosto pesante, ma tutto il resto non è poi così male.
Kellenjb,

Risposte:


4

Suggerisco lo stack Microchip TCP . Microchip offre uno stack TCP / IP con licenza gratuita ottimizzato per PIC18, PIC24, dsPIC e PIC32.

Lo stack TCP / IP di Microchip include la funzione SSL (Secure Sockets Layer).

Ma non è gratuito. Vedi sotto:

Per rispettare le restrizioni del controllo delle esportazioni degli Stati Uniti, la parte di crittografia del modulo SSL deve essere acquistata separatamente da Microchip. La libreria di routine di crittografia dei dati (SW300052) è disponibile a un costo nominale da http://www.microchipdirect.com/productsearch.aspx?Keywords=SW300052 .

Per risultati migliori, è possibile utilizzare ENCx24J600 con motore di crittografia / decrittografia AES incorporato e altri motori di gestione titoli.


1
Non gratuito, ma solo $ 5.
Robert,

Molto a buon mercato! Non lo sapevo.
Daniel Grillo,

1
@Robert e @Daniel Grillo Credo che siano $ 5 per il pacchetto iniziale e poi una volta che vai al dettaglio sono circa $ 2.500 per 5000 unità. Almeno questo è quello che è per questo: microchip.com/stellent/…
Kellenjb

Tuttavia, ENCx24J600 è la parte che mi interessa molto.
Kellenjb,


2

Se il sistema può essere abbastanza complicato da eseguire un sistema operativo, ci sono molti strumenti e librerie che possono fare il lavoro. Su un sistema Linux incorporato, puoi usare wget con SSL. Su qualsiasi sistema con linguaggi di livello superiore come Python o Ruby, la libreria di rete ( Python SSL ) supporterà SSL. Se hai accesso solo a C, puoi scrivere qualcosa usando la libreria OpenSSL .

Se non c'è un sistema operativo, penso che ci sia un sacco di lavoro. Come minimo, è necessario uno stack TCP / IP. Costruirò un prototipo con un mbed: c'è un post sul forum che suggerisce che potrebbero avere una libreria SSL ormai.



1

1
Non credo che questo supporti effettivamente SSL - AES è solo una cifra simmetrica che può essere utilizzata da SSL ma ad esempio l'handshake richiede altri passaggi che coinvolgono (di solito) RSA e SHA-1. Tuttavia Lantronix ora ha XPort AR che sembra supportare alcune versioni di SSL lantronix.com/device-networking/embedded-device-servers/…, tuttavia non è economico.
thom_nic,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.