Go Down

Topic: Arduino und das Internet - wirklich die richtige Mischung? (Read 1 time) previous topic - next topic

jurs


Es geht ja auch gar nicht um großen Datenaustausch. Mal davon abgesehen das viele
diesen betreiben.

Mit übersehen meinte ich: Bedienung von Dingen im Haushalt per Smartphone und eben Daten
upload den andere machen. Wo ist der Zugriffsschutz bei diesen?


Wie schon in meinem letzten Posting erwähnt: HTTP Basic Authentication.
Ist im HTTP-Standard genormt.

Hier mit einigen weiterführenden Links:
http://de.wikipedia.org/wiki/HTTP-Authentifizierung
http://code.google.com/p/easyrobot/wiki/BasicAuthentication
https://github.com/adamvr/arduino-base64
http://ten-fingers-and-a-brain.com/2012/01/webduino-now-with-support-for-http-basic-access-authentication

Und wenn jemand mit HTTP von unterwegs seine Katzenklappe freigibt, dass die Katze auf Freigang raus kann, machen das wohl viele tatsächlich auch einfach mit Klartext-Passwort.

Es soll nämlich auch Leute geben, die kein WiFi im Haushalt verwenden, sondern ihr Home-Lan verkabelt haben, so dass die Nachbarn dann keine Passwörter im Klartext aus der Luft abfischen können, z.B. das Klartext-Passwort der Katzenklappe vom Nachbarn.




MrGlasspoole

Guten Morgen,

wie ich im ersten posting schrieb habe ich basic access authentication ja auf ein Verzeichnis gemacht
und als ichs testen wollte eben dabei festgestellt das https nicht geht.

Ja bei mir ist auch alles Verkabelt da ich von Wlan nicht viel halte.
Lediglich tagsüber ist es an weil mein Vater ein Xoom hat.

Die Katzenklappe geht ja noch - aber Email, Twitter, Flickr account ohne https?
Ich glaub ich besorge mir mal das O'Reilly Buch "Programming Your Home" - vielleicht gibts da
Sicherheitsantworten.

fckw

wo ist das problem wenn ich passwörter im Klartext innerhalb meines lokalen Netzes, selbst Wlan (wpa2), verschicke?

Oder hab ich da jetzt was falsch verstanden?

mkl0815


Mit übersehen meinte ich: Bedienung von Dingen im Haushalt per Smartphone und eben Daten
upload den andere machen. Wo ist der Zugriffsschutz bei diesen?

Da Twittert die Katze und die Heizung wird ein und ausgeschaltet von Unterwegs...
Und jeder mit Tablet vorm Haus kann sämtliche Passwörter mitschreiben?


So einfach ist das mit dem Tablet vorm Haus sicher auch nicht. Falls Du ein WLAN hast, ist das hoffentlich nach WPA2 Standard verschlüsselt, das ist zwar auch nicht 100%ig, aber es ist schon ein wenig Aufwand nötig, um das zu knacken. Ansonsten, wer soll denn einen HTTP-Request von Deinem Arduino zu Deinem Webserver mitloggen? Klar, ein Man in de Middle ist immer möglich, aber nicht mal eben so. Und mal ehrlich wieso sollte jemand so viel kriminelle Energie aufwenden, um Deine Sensordaten zu verfälschen?

Ich gebe Dir recht, unverschlüsslte Kommunikation liefert immer verschiedenste Angriffsvektoren. Aber ein möglicher Angriffspunkt ist erstmal noch keine direkte Gefahr. Es ist immer eine Frage der Risikoabschätzung.
Fakt ist, das SSL mit dem Arduino aufgrund von Speichermangel und fehlender Rechenleistung nicht geht. Wenn Dir das so wichtig ist, würde ich mir mal den Raspberry Pi anschauen, da hast Du ein komplettes Linux mit allen Tools die man sich für sichere Kommunikation wünscht.

Ich persönlich sehe erstmal kein sehr großes Risiko, wenn ich von drinnen nach draussen kommuniziere. Also der Arduino per HTTP-GET (oder POST) Daten in Richtung Web schickt. Damit ist der Arduino schonmal nicht direkt von aussen erreichbar und auch nicht direkt angreifbar.
Damit ein reelles Risiko besteht, muss also
1.) Jemand in der Lage sein an irgendeiner Stelle die übermittelten Daten mitzusschneiden.

  • auf meinem Webserver? Dann hab ich eh verloren :-), denn dann habe ich ein ganz anderes Problem

  • in meinem Heimnetz? Das kann bei hinreichender Verschlüsselung des WLAN nur jemande innerhalb des Netzes sein (Risiko gering, außer ich wohne in einer WG)

  • auf dem Weg vom Router zum Webserver. Hier kann maximal ein Provider oder ISP an die Daten. Das ist zwar technisch möglich, aber unwahrscheinlich. Warum sollte das jemand machen?


2.) Mal angenommen, jemand schafft es tatsächlich die Daten mitzuschneiden. Dann muss er immer noch:

  • auf den Inhalt der Daten schliessen und verstehen was er damit anfangen kann

  • die Daten manipulieren, um erstmal irgendeinen Effekt zu erreichen

  • verstehen welche gesendeten Daten was bedeuten und was man damit bewirken kann

  • Am Ende gezielt manipulierte Daten senden, um z.B. meine Heizung auszuschalten?


Das Ganze setzt einen nicht geringen Aufwand voraus. Der muss sich ja am Ende irgendwie auszahlen. Das meine ich mit Risikoabschätzung.

Quote

wie ich im ersten posting schrieb habe ich basic access authentication ja auf ein Verzeichnis gemacht
und als ichs testen wollte eben dabei festgestellt das https nicht geht.


HTTP-Auth hat nichts mit HTTPS zutun. Beim HTTP-Auth wird vom Client ein Hashwert über einen Username:Passwort-String übermittelt, den der Webserver mit dem gespeicherten Wert aus Username und Passwort vergleicht. Stimmt der Hash, gewährt er Zugriff, ansonsten nicht. Übermittelt wird als der Hash-Wert im Klartext, nicht das Passwort selbst. Du hast natürlich recht, liest jemand den Haswert mit, hat er Zugriff. Riskobewertung: siehe oben :-)
HTTPS ist am Ende nur HTTP durch eine SSL (Secure Socket Layer) gesicherte Verbindung. Hier einigen sich Client und Server über ein public Key Verfahren auf einen symetrischen Session Schlüssel, mit dem dann die Nutzdaten der Verbindung ver- und entschlüsselt werden. Das geht mit dem Arduino eben nicht.

HTTP-Auth geht mit dem Arduino übrigens ohne Probleme. Das erhöht auf jeden Fall die Sicherheit auf der Webserver-Seite, da jemand nur Zugriff erhält, wenn er es schafft, den Login-Hashwert zu erraten oder zu beschaffen. Jemand der also per Zufall über die URL zum Datenloggen oder was auch immer stolpert, hat damit erstmal keine Chancen Schaden anzurichten. Google und Co. hast Du damit auf jeden Fall auch ausgesperrt.
Mario.

MrGlasspoole

Natürlich hat basic access authentication nichts mit https zu tun.
Aber eben die Passwort Übermittlung nach dem Prinzip: username:passwort@mydomain.de/folder/index.html
Die Regel lautet:
Quote
never ever use Basic HTTP Authentification if the connection isn't HTTPS (SSL)


Na ja, ich komm wohl zu sehr aus der Ecke Webdesign und Server und nehme das wohl zu genau.
Ich weiß wer dafür haftet wenn mit meine Server jemand Schindluder treibt und darum ist
zb FTP Passwörter in plain text ein absolutes no go.

Die Richtung geht in SPDY und Google treibt es voran. Der Tag kommt an dem alles
über https läuft - so sollte es schon immer sein.

Go Up