En clair: existe-t-il un moyen d'obtenir une connexion HTTPS sur l'Arduino?
Je l'ai regardé et j'ai trouvé que c'était impossible avec la bibliothèque standard et le bouclier Ethernet, mais y a-t-il une bibliothèque personnalisée qui peut le faire?
Qu'en est-il d'un coprocesseur, c'est-à-dire comme le bouclier WiFi? Quelqu'un sait si l'Arduino yún a SSL?
ethernet
arduino-yun
web
Le docteur
la source
la source
Réponses:
Les MCU montés sur Arduinos n'ont pas la puissance nécessaire pour gérer les connexions https.
Yún gère https du côté linux , avec des logiciels comme curl, wget ou python. Votre croquis peut simplement déléguer la tâche au côté Linux.
Bien que curl fonctionne correctement, bien que python soit préinstallé, vous devez installer manuellement python-openssl, car il n'est pas disponible immédiatement (en raison de contraintes d'espace disque)
la source
(Avertissement: je suis en fait l'auteur de l'article evothings.com)
L'Arduino UNO est plus que capable de faire TLS. Je viens de terminer une série d'articles de blog sur le sujet. J'ai un exemple de travail d'un Arduino UNO faisant de la cryptographie à courbe elliptique (sect163r2) pour échanger une clé AES-128 pour une communication continue.
http://ardiri.com/blog/utls_defining_lightweight_security_for_iot_part_1
...
http://ardiri.com/blog/utls_defining_lightweight_security_for_iot_part_8
J'ai adopté une approche alternative pour essayer d'établir une véritable connexion HTTPS - à la place, cela utilise les mêmes protocoles sous le capot mais en utilisant un canal de communication non sécurisé pour le faire. À peu près TLS sur HTTP.
la source
Je ne pense pas que ce soit possible en raison de la taille et de la complexité de la bibliothèque SSL, car l'Arduino serait très probablement sous-alimenté. Cela étant dit, vous pouvez faire les demandes à un serveur normal et utiliser une sorte de script PHP pour proxy la demande au serveur HTTPS. Je ne sais pas si cela fonctionnerait bien.
Vous pouvez être intéressé à regarder ce .
la source
Je liste cela comme une réponse dans le but de l'avoir lié ici. Ce n'est pas encore https complet mais il y travaille et cela pourrait être faisable à l'avenir http://evothings.com/is-it-possible-to-secure-micro-controllers-used-within-iot/
voici une référence qu'il a chiffrée un message à l'aide d'une clé publique 1024 bits
C'est aussi loin qu'il soit allé avec, mais il est en train de mettre en place un serveur de test pour voir à quelle distance d'une implémentation ssl / https complète il peut réussir.
la source
Comme Federico Fissore l'a dit ci-dessus, le Yún ne peut gérer que le HTTPS (ou SSL, peu importe comment vous l'appelez) du côté Linux du Yún.
La première façon de le faire est d'utiliser Python avec Python OpenSSL. Pour ce faire, exécutez les commandes suivantes via SSH ou YunSerialTerminal:
opkg update
s'assurera que la liste des packages est à jour, puisopkg install
installe Python OpenSSL. Et puis vous pouvez parler à l'Arduino en utilisant Python. Cette page sur le site Arduino devrait vous aider à utiliser Python avec Arduino.Vous pouvez également utiliser
curl
l'-k
option avec votre croquis. Par exemple:De plus, si vous souhaitez télécharger un fichier, vous pouvez utiliser
wget
. Cela vous obligerait à mettre à niveauwget
en émettant à nouveau ces commandes via SSH ou YunSerialTerminal:Et puis vous pouvez simplement le faire dans votre croquis:
la source
L'utilisation du bouclier WiFi peut être une solution - il prend en charge HTTPS.
https://www.arduino.cc/en/Reference/WiFi101
la source