SSL à partir d'un microcontrôleur

12

Je veux créer un appareil embarqué qui puisse communiquer avec un serveur Web de manière sécurisée. Je préférerais qu'il utilise SSL standard pour que le serveur Web affiche mon appareil comme un navigateur Web.

  • Existe-t-il des bibliothèques de pré-impression pour le côté embarqué?
  • Qu'en est-il d'un circuit intégré qui peut gérer la négociation et le décryptage pour moi?
  • Sinon, comment pourrais-je procéder moi-même?
Kellenjb
la source
Si vous ne l'avez pas vu, vous pouvez le considérer pour sa petite taille, ses capacités puissantes, mais son prix pas cher: phidgets.com/products.php?product_id=1072
gahooa
@gahooa c'est intéressant. Je cherche cependant une option bon marché. Mon marché achèterait 10 ou 100 de mon appareil afin que chaque centime que je puisse réduire les coûts puisse aider à rendre l'article plus commercialisable.
Kellenjb, le
1
J'espère que vous avez un GRAND micro. SSL est assez lourd, sur le plan informatique.
Connor Wolf
@Fake Name Je pensais à un dsPIC. D'après ce que je comprends, la prise de contact initiale peut être assez lourde, mais tout le reste n'est pas trop mal.
Kellenjb

Réponses:

4

Je suggère la pile TCP Microchip . Microchip propose une pile TCP / IP sous licence gratuite optimisée pour les PIC18, PIC24, dsPIC et PIC32.

La pile TCP / IP de Microchip comprend la fonction SSL (Secure Sockets Layer).

Mais ce n'est pas gratuit. Voir ci-dessous:

Pour se conformer aux restrictions du contrôle des exportations des États-Unis, la partie de chiffrement du module SSL doit être achetée séparément auprès de Microchip. La bibliothèque de routines de chiffrement des données (SW300052) est disponible pour une somme modique sur http://www.microchipdirect.com/productsearch.aspx?Keywords=SW300052 .

Pour de meilleurs résultats, vous pouvez utiliser ENCx24J600 qui dispose d'un moteur de chiffrement / déchiffrement AES intégré et d'autres moteurs de titres.

Daniel Grillo
la source
1
Pas gratuit, mais seulement 5 $.
Robert
Vraiment pas cher! Je ne le savais pas.
Daniel Grillo
1
@Robert et @Daniel Grillo Je pense que c'est 5 $ pour le package de démarrage, puis une fois que vous allez au détail, c'est environ 2500 $ pour 5000 unités.
Du
Cependant, l'ENCx24J600 est la pièce qui m'intéresse beaucoup.
Kellenjb
2

Si le système peut être suffisamment compliqué pour exécuter un système d'exploitation, il existe de nombreux outils et bibliothèques qui peuvent faire le travail. Sur un système Linux embarqué, vous pouvez utiliser wget avec SSL. Sur tout système avec des langages de niveau supérieur comme Python ou Ruby, la bibliothèque de mise en réseau ( Python SSL ) prend en charge SSL. Si vous n'avez accès qu'à C, vous pouvez écrire quelque chose en utilisant la bibliothèque OpenSSL .

S'il n'y a pas de système d'exploitation, je pense que vous avez beaucoup de travail. Au minimum, vous avez besoin d'une pile TCP / IP. Je construirais un prototype avec un mbed - il y a un message sur le forum qui suggère qu'ils pourraient avoir une bibliothèque SSL maintenant.

pingswept
la source
1

Cela semble également prendre en charge AES SSL: http://www.lantronix.com/device-networking/embedded-device-servers/xport.html

powtac
la source
1
Je ne crois pas que cela supporte réellement SSL - AES est juste un chiffrement symétrique qui peut être utilisé par SSL mais par exemple la prise de contact nécessite d'autres étapes qui impliquent (généralement) RSA et SHA-1. Cependant Lantronix a maintenant le XPort AR qui semble prendre en charge une certaine version de SSL lantronix.com/device-networking/embedded-device-servers/… mais ce n'est pas bon marché.
thom_nic