Events

23.05.2022: Tiefpassfilter

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    Werbung:


    Neue Artikel


    Events

    Der Technik-Blog

    Arduino Ethernet SSL TLS HTTPS POST GET Request

    Arduino HTTPS Request

    Alex @ AEQ-WEB

    Mit dem Ethernet Shield (W5100) kann der Arduino netzwerkfähig gemacht werden. Gängige Protokolle wie TCP, UPD oder auch HTTP werden von diesem Shield problemlos unterstützt. Es gibt dafür auch sehr viele Bibliotheken, die den Programmieraufwand sehr erleichtern. Damit wird es auch Anfängern sehr leicht gemacht, einen Arduino mit dem Internet zu verbinden. Nachdem SSL heutzutage im WWW der Sicherheitsstandard ist, wird der Ruf nach verschlüsselten Datenübertragungen im Internet der Dinge immer lauter. In diesem Artikel geht es um die Kompatibilität von SSL/TLS HTTPS Requests mit dem Arduino und den möglichen Alternativen.

    Werbung:

    Warum überhaupt HTTPS?

    Nachdem HTTPS Standard auf fast jedem Webserver ist, kommt es vermehrt vor, dass der Webserver herkömmliche HTTP-Anfragen gar nicht mehr annimmt. In diesem Fall muss ein Mikrocontroller Datenpakete über HTTPS senden, um den Server damit überhaupt erst erreichen zu können. Oftmals wird das SSL-Zertifikat gar nicht vom Mikrocontroller geprüft, denn es geht ja "nur" um die Datenübertragung. Wird das SSL-Zertifikat wirklich geprüft, könnten damit auch sensible Daten übertragen werden. Außerdem würde HTTPS auch bei einer bidirektionalen Verbindung sinn machen, da hier einen Steuerbefehl vom Server zum Controller schwieriger manipuliert werden kann.

    Wie aufwendig ist HTTPS?

    Was für einen Browser heutzutage absolut keine Herausforderung ist, ist für einen kleinen Mikrocontroller eine extreme Herausforderung. Im Gegensatz zu HTTP müssen neben den Nutzdaten und Headern noch sämtliche Schlüssel erzeugt, geprüft und ausgetauscht werden. Im Hintergrund laufen während der Übertragung viele mathematische Prozesse ab, die sehr viel Prozessorleistung und Zwischenspeicher erfordern.

    Warum der Arduino kein HTTPS kann

    Zum einen ist der Prozessor für TLS sehr langsam, würde es aber mit viel Zeit trotzdem schaffen. Auch das Ethernet-Shield am Arduino wäre theoretisch für einen HTTPS-Request geeignet. Primär scheitert es letztendlich am Arbeitsspeicher vom Arduino, der für die SSL/TLS Verschlüsselung einfach zu klein ist.

    Werbung:

    Welche Alternativen gibt es?

    Neuere Boards mit schnelleren Prozessoren und mehr Arbeitsspeicher sind in der Regel dafür geeignet. Boards die speziell für das Internet der Dinge ausgelegt sind, wie z.B. der ESP8266 oder ESP32 unterstützen SSL/TLS und haben dafür auch genug Ressourcen. Aber auch hier benötigt ein HTTPS-Request einige Sekunden, bis dieser fertig abgearbeitet ist. Aber auch Linux basierende Arduino Boards oder MKR Boards würden die Leistung erbringen.


    122X122

    Über den Autor

    Alex, der Gründer von AEQ-WEB. Seit über 10 Jahren beschäftigt er sich mit Computern und elektronischen Bauteilen aller Art. Neben den Hardware-Projekten entwickelt er auch Webseiten, Apps und Software für Computer.

    Top Artikel in dieser Kategorie:

    Arduino Smartmeter S0 Watt Counter

    Arduino Smartmeter

    • Video

    In diesem Artikel zeigen wir, wie aus einem einfachen Stromzähler und einem Arduino ein Smartmeter gebaut wird, das den Zählerstand im EEPROM speichern kann

    Weiterlesen
    Arduino Anemometer Wind Sensor

    Arduino Anemometer Schaltung

    • Video
    • DE/EN

    Mit einem Mikrocontroller wie dem Arduino, einer kleinen Schaltung und entsprechender Software kann die Windgeschwindigkeit über ein Anemometer gemessen werden

    Weiterlesen

    Social Media

    Werbung:


    Neue Artikel


    Events