Hallo zusammen, seit einigen Jahren nutze ich kleine Controllersysteme zur Hausüberwachung oder zur Heizungssteuerung, die mir Statusmails senden und auch in der Lage sind, eMails zu empfangen. Als HW nutze ich dazu Arduino-Hardware (Mega oder zunehmend DUE) mit einem Wiznet W5100 oder W5500 Ethernetmodul, die ich über das Atmel-Studio in ANSI-C programmiere. Vor über einem Jahr hat aber auch der letzte meiner eMail Provider den unverschlüsselten POP3-Zugriff abgeschaltet. Und nur noch über SMTP2GO.COM kann ich unverschlüsselt versenden. Ich möchte nun zumindest bei den DUE-Versionen SSL/TLS nachrüsten. Nur, irgendwie bin ich dazu zu blöde. Suchen im Internet führten mich u.a. zu WolfSSL (GITHUB), finde mich da aber nicht zurecht bzw. kann die notwenigen Routinen nicht extrahieren Zu Blöde? Was brauche ich eigentlich? Soweit ich das verstanden habe, sendet mir der Mailserver nach Kontaktierung seiner URL und dem zugehörigen Port seinen Schlüssel. Den muß mein System nun mit einem eigenen Schlüssel „verknautschen“ und zurücksenden. (Die Verifizierung des Serverschlüssels lassen wir mal außen vor.) Dazu brauch ich "eigentlich" nur eine passende Routine. Die weitere Kommunikation findet mit den üblichen SMTP/POP3 Befehlen etc. statt (?). Die jeweilige Übertragung wird dazu verschlüsselt bzw. entschlüsselt. Dazu brauche ich also weitere zwei Routinen. Mehr doch wohl nicht? Was habe ich dabei mißverstanden bzw. übersehen? Wo finde ich die notwendigen Algorithmen oder gar Routinen dazu? Ich kaufe dazu auch gerne ein Buch. Oder stellt eine TLS-Implementierung auf einem Arduino-DUE zu hohe Anforderungen an die Leistungsfähigkeit des Controllers SAM3X8E ? Das Zwischenschalten eines Mailrelays (z.B. RasPI. mit Linux) ist wegen des Stromverbrauchs und der Systemgröße unpassend und wäre wie „mit Kanonen auf Spatzen schießen“. Danke für eure Tips.
Du brauchst AKTUELLE TLS-Standards. Die sind mit den aktuell geforderten Schlüssellängen schon heftig für einen Mikrocontroller, und es ist heftig komplexe Software. Veraltete Implementationen nützen Dir nichts, Du brauchst was aktuelles. Und die Anforderunegn steigen - von Jahr zu Jahr werden größere Schlüssellängen vorgeschrieben. Gehe mal davon aus, dass Du mit Deinem Arduino-Zeugs am Ende bist. Du bräuchtest etwas deutlich stärkeres - so wie ein Teensy 4.1 mit 600 Mhz Cortex M7 oder ein STM32H7 System mit 480 MHz, und dazu ein Komplettpaket mit RTOS und Bibliotheksunterstützung wie NuttX, Zephyr oder etwas anderem in dieser Größenordnung. Da gibts dann auch TLS-Support. Wenn Du Ver/Entschlüsselung aber nicht unbedingt brauchst, dann mach es doch ganz anders. Miete Dir einen kleinen VServer (z.B. bei NetCup ab 3.99€ pro Monat) und installiere Dir dort einen eigenen Mailserver. Oder miete Dir Webspace und lasse da PHP-Skripte laufen, die mit Deinen Systemen über http oder nackte TCP-Verbindungen kommunizieren. Mit einem dieser Ansätze kannst Du bei Deiner bekannten Hard- und Software bleiben, musst dann eben halt zusätzliche Infrastruktur betreiben. Das ist dann halt so. fchk
:
Bearbeitet durch User
Hanns-Jürgen M. schrieb: > Das Zwischenschalten eines Mailrelays (z.B. RasPI. mit Linux) ist wegen > des Stromverbrauchs und der Systemgröße unpassend Wenn Dein Router für OpenWRT geeignet ist, kannst Du darauf stunnel installieren. Dorthin verbindest Du Dich dann unverschlüsselt, und zum Mailprovider setzt es auf TLS um.
Frank K. schrieb: > so wie ein Teensy 4.1 mit 600 Mhz > Cortex M7 oder ein STM32H7 System mit 480 MHz Oder einen ESP32, in deren Software-Framework (ESP-IDF) ist TLS fix und fertig integriert. Spart auch das Kabel und den W5000 dank WiFi (aber die ESP32 haben auch Ethernet integriert). Hanns-Jürgen M. schrieb: > (Die Verifizierung des Serverschlüssels lassen wir mal > außen vor.) Ohne diese Verifikation ist die ganze Verschlüsselung aber vollkommen nutzlos. Oder du lässt das mit der E-Mail ganz bleiben und sendest deinen Status stattdessen per MQTT oder auch Rest-API an einen Server, es dürften sich genug fertige Systeme finden die dir das dann schick präsentieren. MQTT+TLS ist bei den ESP32 fertig integriert, muss man nur aufrufen. Hmmm schrieb: > Wenn Dein Router für OpenWRT geeignet ist, kannst Du darauf stunnel > installieren. Da doch besser direkt einen Mailserver installieren, welcher dann forwardet.
Frank K. schrieb: > Zeugs am Ende bist. Du bräuchtest etwas deutlich stärkeres - so wie ein > Teensy 4.1 mit 600 Mhz Cortex M7 oder ein STM32H7 System mit 480 MHz, Bullshit. Ich kann Dir versichern das ein 100MHz Cortex M4 ausreicht um einen Webserver mit TLS laufen zu lassen. Für ein bischen SMTPS als Client langt der allemal. An den TO: ganz so einfach wie Du Dir das vorstellst ist das mit SSL/TLS nicht. Im Prinzip musst Du deinen Datenverkehr komplett durch den TLS Layer schicken. Eine fertige Implementierung davon für Mikrocontroller wäre zum Beispiel mbedTLS.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.