Проще говоря: есть ли способ получить HTTPS-соединение на Arduino?
Я искал это, и я обнаружил, что это невозможно с помощью стандартной библиотеки и щита Ethernet, но есть ли специальная библиотека, которая может это сделать?
А как насчет сопроцессора, т.е. как у WiFi-щита? Кто-нибудь знает, есть ли у Arduino yún ssl?
ethernet
arduino-yun
web
Доктор
источник
источник
Ответы:
Микроконтроллеры, установленные на Arduinos, не имеют достаточной мощности для обработки соединений https.
Юн обрабатывает https на стороне Linux с помощью таких программ, как curl, wget или python. Ваш эскиз может просто делегировать задачу стороне Linux.
Несмотря на то, что curl работает нормально, несмотря на предустановленный python, вам нужно вручную установить python-openssl, поскольку он недоступен сразу после установки (из-за ограничений дискового пространства)
источник
(Отказ от ответственности: я на самом деле автор статьи evothings.com)
Arduino UNO более чем способна выполнять TLS. Я только что закончил серию постов в блоге на эту тему. У меня есть рабочий пример Arduino UNO, выполняющего криптографию с эллиптическими кривыми (sect163r2) для обмена ключом AES-128 для продолжения связи.
http://ardiri.com/blog/utls_defining_lightweight_security_for_iot_part_1
...
http://ardiri.com/blog/utls_defining_lightweight_security_for_iot_part_8
Я использовал альтернативный подход, пытаясь создать истинное HTTPS-соединение - вместо этого он использует те же протоколы под капотом, но использует для этого небезопасный канал связи. Довольно много TLS по HTTP.
источник
Я не думаю, что это возможно из-за размера и сложности библиотеки SSL, потому что Arduino, скорее всего, будет недостаточно. При этом вы можете отправлять запросы на обычный сервер и использовать какой-то PHP-скрипт для передачи запроса на HTTPS-сервер. Не уверен, насколько хорошо это будет работать, хотя.
Вам может быть интересно посмотреть на это .
источник
Я перечисляю это как ответ ради связывания здесь. Это еще не полный https, но он работает над этим, и это может быть выполнимо в будущем http://evothings.com/is-it-possible-to-secure-micro-controllers-used-within-iot/
вот тест, он сделал шифрование сообщения с использованием 1024-битного открытого ключа
Это все, что он сделал с этим, но находится в процессе настройки тестового сервера, чтобы посмотреть, насколько близка к полной реализации ssl / https, которую он может осуществить.
источник
Как сказал выше Федерико Фиссоре, Yún может обрабатывать только HTTPS (или SSL, как вы хотите это называть) на стороне Linux от Yún.
Первый способ сделать это - использовать Python с Python OpenSSL. Это можно сделать, выполнив следующие команды через SSH или YunSerialTerminal:
opkg update
удостоверится, что список пакетов обновлен, а затемopkg install
установит Python OpenSSL. И тогда вы можете поговорить с Arduino, используя Python. Эта страница на сайте Arduino должна помочь вам в использовании Python с Arduino.Вы также можете использовать
curl
с-k
опцией в вашем эскизе. Например:Также, если вы хотите скачать файл, вы можете использовать
wget
. Это потребует от вас обновленияwget
, снова введя эти команды через SSH или YunSerialTerminal:И тогда вы можете просто сделать это в своем эскизе:
источник
Решением может быть использование WiFi-щита - он поддерживает HTTPS.
https://www.arduino.cc/en/Reference/WiFi101
источник