Ich möchte ein eingebettetes Gerät herstellen, das auf sichere Weise mit einem Webserver kommunizieren kann. Ich würde es vorziehen, Standard-SSL zu verwenden, damit der Webserver mein Gerät ähnlich wie einen Webbrowser anzeigt.
- Gibt es Prebuit-Bibliotheken für die eingebettete Seite, um dies zu tun?
- Was ist mit einem IC, der das Handshaking und die Entschlüsselung für mich erledigt?
- Wenn nicht, wie würde ich das selbst machen?
microcontroller
library
tcp-ip
encryption
Kellenjb
quelle
quelle
Antworten:
Ich schlage den Microchip TCP Stack vor . Microchip bietet einen kostenlosen lizenzierten TCP / IP-Stack an, der für PIC18, PIC24, dsPIC und PIC32 optimiert ist.
Der TCP / IP-Stack von Microchip enthält die SSL-Funktion (Secure Sockets Layer).
Aber es ist nicht kostenlos. Siehe unten:
Für bessere Ergebnisse können Sie ENCx24J600 verwenden , das über eine integrierte AES-Verschlüsselungs- / Entschlüsselungs-Engine und andere Sicherheits -Engines verfügt.
quelle
Betrachten Sie diese eingebetteten SSL-Bibliotheken:
http://www.yassl.com/yaSSL/Products-cyassl.html
http://polarssl.org/
http://www.matrixssl.org/
Und vielleicht http://gitorious.org/tropicssl/
Tropicssl und polarssl stammen von http://www.ohloh.net/p/xyssl
Tropicssl und xyssl sind BSD-lizenziert, während alle anderen GPL-Lizenzen eine proprietäre Lizenz für US-Dollar beinhalten.
quelle
Wenn das System so kompliziert sein kann, dass ein Betriebssystem ausgeführt werden kann, gibt es zahlreiche Tools und Bibliotheken, die diese Aufgabe übernehmen können. Auf einem eingebetteten Linux-System können Sie wget mit SSL verwenden. Auf jedem System mit höheren Sprachen wie Python oder Ruby unterstützt die Netzwerkbibliothek ( Python SSL ) SSL. Wenn Sie nur Zugriff auf C haben, können Sie mithilfe der OpenSSL-Bibliothek etwas schreiben .
Wenn es kein Betriebssystem gibt, werden Sie wahrscheinlich viel arbeiten müssen. Sie benötigen mindestens einen TCP / IP-Stack. Ich würde einen Prototyp mit einem mbed bauen - es gibt einen Forumsbeitrag , der darauf hinweist , dass sie möglicherweise bereits eine SSL-Bibliothek haben.
quelle
Dies scheint auch AES SSL zu unterstützen: http://www.lantronix.com/device-networking/embedded-device-servers/xport.html
quelle