Hat schon mal jemand HTTPS statt HTTP in einem Embedded System benutzt (egal ob als Client oder Server), wobei ich als Embedded System kein Linux-Board meine, sondern einen Bare-Metal uC? Gibt es vielleicht Beispiel-Open-Source (egal welcher uC), wo man sich die Implementierung mal anschauen kann bzw. ausprobieren kann? Es sollte aber keine "sauteure" (sorry) Lösung sein, egal ob als Lizenz oder bei den Hardware-Kosten. Sollte man es selbst entwickeln, was braucht mal alles, bzw. was gibt es dafür? SSL, wäre vermutlich mal die wichtigste Komponente. Vielleicht OpenSSL? PolarSSL? CyaSSL? MD5? SHA-1, SHA-256? Verschiedenste Crypto-Algos? Ein Webserver, der TCP-Stack, die Ethernet-Anbindung kann als bereits existierend angesehen werden. Ist sowas auf einem uC (in Software) schnell genug oder würde man da für kleine Seiten schon mehrere Sekunden warten, bis die Verschlüsselung durch ist? Muss ich da eigentlich (als Server) mehr wie eine Verschlüsselung supported bzw. als Client alle möglichen Verschlüsselungen unterstützen? Kann man dies als Beispiel zum Verstehen/Lernen nehmen? http://httptea.sourceforge.net/ (scheint aber von 2009 zu sein, gibt es was besseres?) Laut der englischen Wikipedia https://en.wikipedia.org/wiki/Transport_Layer_Security scheinen die bevorzugten Protokolle TLS 1.0 und SSL 3.0 zu sein? Ist das mit einem modernen uC machbar? Sollte man darauf achten, dass eine spezielle Peripherie (AES, Random-Generator, ...) vorhanden ist? Es scheint viele Fallstricke zu geben. Hat man da überhaupt eine Chance ein halbwegs sicheres System zu bekommen oder bleiben nur kommerzielle Lösungen? Oder alles halb so wild?
Herbert schrieb: > Es scheint viele Fallstricke zu geben. Hat man da überhaupt eine > Chance ein halbwegs sicheres System zu bekommen > oder bleiben nur kommerzielle Lösungen? ja warum denn nicht. Die Frage ist doch wie schnell es denn gehen soll? Nur davon hängt es ab ob man eine Hardware Unterstützung brauch oder nicht.
Der Microchip TCP/IP-Stack kann SSL. Dafür empfiehlt sich ein PIC32MX6xx oder 7xx mit eingebautem Ethernet-MAC. Aufgrund irgendwelcher US-amerikanischen Paranoia musste man sich früher die Crypto-Bibliotheken für 5$ einmal kaufen, aber inzwischen sind die frei runterladbar. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en560990 Das ganze ist prinzipiell auch für PIC18 verfügbar, dort aber zu langsam, um irgendwie sinnvoll eingesetzt zu werden. Auf einem PIC32MX läuft das ganze einfach so ohne großen Aufwand und ganz vernünftig. Nachteil: Es ist zwar Open Source, aber keine Freie Software im Debian-Sinne. Dafür ist das Zeugs problemlos in kommerziellen Projekten unbegrenzt kostenfrei einsetzbar, sofern es auf einem PIC(18/24/32/ds) läuft. fchk
Herbert schrieb: > Gibt es vielleicht Beispiel-Open-Source (egal welcher uC), > wo man sich die Implementierung mal anschauen kann bzw. > ausprobieren kann? Na einfach die entsprechenden Implementierungen für Linux anschauen und sinngemäß übernehmen. > was braucht mal alles, Eigentlich nur eins wirklich: genug Rechenpower in der Kiste, sonst mag sich die Sache schreiben und auch übersetzen lassen, aber nicht wirklich sinnvoll benutzen.
c-hater schrieb: > Na einfach die entsprechenden Implementierungen für Linux anschauen und > sinngemäß übernehmen. Das ist absoluter Blödsinn! Entweder der Ziel MC hat genügend Speicher und eine vernünftige Speicherverwaltung, dann kannst du gleich Linux nehmen oder du hast es nicht, dann helfen die Linux Quellen nicht. Die setzten viel zu viel Linux Internas und APIs voraus als dass man das einfach so auf einen kleinen Controller portieren kann. Es geht dabei gar nicht so sehr um die Rechenpower. Bei der Linux-Implementierung wird ausgiebig mit dynamisch angelegtem Speicher gearbeitet und es ist auch nicht auf minimalen Speicherverbrauch ausgelegt. Eine Filesystem-Infrastruktur hat man in der Regel auch nicht. Davon macht die Linux Implementierung aber auch regen Gebrauch.
Hi, guck Dir doch mal Contiki an.. https://www.sics.se/search/content/contiki Verkauft sich zwar besser, als es im Endeffekt ist, aber brauchbar ist es allemal (und kostenlos). Wenn es kein Linux-basiertes Networking sein soll, greifen die meisten zu uIP vom gleichen Autor. Performt zwar mies, aber tut seinen Job, darauf lässt sich auch ein SSL-Layer aufsetzen. Code gibts ne Menge..
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.