SSL desde un microcontrolador

12

Quiero crear un dispositivo integrado que pueda comunicarse con un servidor web de manera segura. Preferiría que use SSL estándar para que el servidor web vea mi dispositivo de forma similar a un navegador web.

  • ¿Hay alguna biblioteca de prebuit para el lado incrustado para hacer esto?
  • ¿Qué pasa con un IC que puede manejar el apretón de manos y el descifrado para mí?
  • Si no, ¿cómo lo haría yo mismo?
Kellenjb
fuente
Si no ha visto esto, puede considerarlo por su tamaño pequeño, capacidades potentes, pero no por su precio económico: phidgets.com/products.php?product_id=1072
gahooa
@gahooa que es interesante. Sin embargo, estoy buscando una opción barata. Mi mercado compraría 10 o 100 de mi dispositivo, por lo que cada centavo que pueda reducir los costos puede ayudar a que el artículo sea más comercializable.
Kellenjb
1
Espero que tengas un BIG micro. SSL es bastante pesado, computacionalmente.
Connor Wolf
@ Nombre falso Estaba pensando en un dsPIC. Según tengo entendido, el apretón de manos inicial puede ser bastante pesado, pero todo lo demás no está tan mal.
Kellenjb

Respuestas:

4

Sugiero la pila TCP Microchip . Microchip ofrece una pila TCP / IP con licencia gratuita optimizada para PIC18, PIC24, dsPIC y PIC32.

La pila TCP / IP de Microchip incluye la función de Capa de sockets seguros (SSL).

Pero no es gratis. Vea abajo:

Para cumplir con las restricciones de control de exportaciones de EE. UU., La parte de cifrado del módulo SSL debe comprarse por separado de Microchip. La biblioteca de rutinas de cifrado de datos (SW300052) está disponible por una tarifa nominal en http://www.microchipdirect.com/productsearch.aspx?Keywords=SW300052 .

Para obtener mejores resultados, puede usar ENCx24J600 que tiene un motor de cifrado / descifrado AES incorporado y otros motores de valores.

Daniel Grillo
fuente
1
No es gratis, pero solo $ 5.
Robert
¡Muy barato! No lo sabia.
Daniel Grillo
1
@Robert y @Daniel Grillo Creo que son $ 5 por el paquete inicial y luego, una vez que salga al por menor, son alrededor de $ 2,500 por 5000 unidades. Al menos eso es lo que es para esto: microchip.com/stellent/…
Kellenjb
Sin embargo, la ENCx24J600 es la parte que más me interesa.
Kellenjb
2

Si el sistema puede ser lo suficientemente complicado como para ejecutar un sistema operativo, hay muchas herramientas y bibliotecas que pueden hacer el trabajo. En un sistema Linux incorporado, puede usar wget con SSL. En cualquier sistema con lenguajes de nivel superior como Python o Ruby, la biblioteca de red ( Python SSL ) admitirá SSL. Si solo tiene acceso a C, puede escribir algo usando la biblioteca OpenSSL .

Si no hay sistema operativo, creo que te espera mucho trabajo. Como mínimo, necesita una pila TCP / IP. Construiría un prototipo con un mbed: hay una publicación en el foro que sugiere que podrían tener una biblioteca SSL por ahora.

pingswept
fuente
1

Esto parece ser compatible con AES SSL también: http://www.lantronix.com/device-networking/embedded-device-servers/xport.html

Powtac
fuente
1
No creo que esto realmente sea compatible con SSL: AES es solo un cifrado simétrico que SSL puede usar, pero, por ejemplo, el protocolo de enlace requiere otros pasos que involucran (generalmente) RSA y SHA-1. Sin embargo, Lantronix ahora tiene el XPort AR que parece admitir alguna versión de SSL lantronix.com/device-networking/embedded-device-servers/…. Sin embargo, no es barato.
thom_nic