tami: beschäftigt(e) sich hier jemand mal mit sockets und tls/ssl?

Beitrag lesen

hi 1UnitedPower,

ziel wäre eine beispielanwendung für eine erstmal minimale (text) datenübermittlung am besten peer-2-peer (vermutlich über eine socketverbindung)

Was macht denn eine Socket-Verbindung für dich aus?

Ja, gute Frage. Erstmal den grundsätzlichen Verbindungsaufbau zwischen zwei über IP-Adressen und einen entsprechend offenen Port definierte Endgeräte (PC, Smartphone, ggfs. "Server"). Um sich dann per TCP oder UDP Pakete zu senden.

Wenn ich an Sockets denke, denke ich an rohe Protokolle wie TCP. Die Arbeit damit möchte ich eigentlich vermeiden, weil sie a) ein sehr tiefes Verständnis erfordert und b) schon tausendfach erledigt wurde und c) die üblichen Anforderungen bereits in darauf aufbauenden Protokollen implementiert sind.

Danke, irgendwie muss ich mal rauskriegen, was es mit diesem "sehr tiefen Verständnis" auf sich hat. Da habe ich offenbar keinen blassen Schimmer. Dass es nicht lohnt, eigene Protokolle zu entwickeln, wenn es da schon genug taugliches gibt, scheint ja klar.

Insbesondere wenn Sicherheit eine wichtige Rolle spielt, rate ich davon ab, das Rad neu zu erfinden. Der einzige legitime Grund für eine solche Grundlagen-Forschung ist imho. ein autodidaktischer.

Ja, in dem Fall ist es beides, das Verständnis (s.o.) aber für eine reale Anwendung "das Rad neu erfinden" halte ich auch für falsch.

Wenn ich eine P2P-Anwendung entwickeln müsste und die nicht-funktionalen Anforderungen es erlauben, würde ich tatsächlich zu WebRTC greifen, weil es mir viel Arbeit erspart: Es kommt von Haus aus mit Verschlüsselung (DTLS ~= SSL). Falls der Verbindungsaufbau erfolglos bleibt stehen automatisierte Ausweich-Möglichkeiten zur Verfügung und solche kleine Gimmiks, die man als Einzelperson unmöglich alle erfassen kann.

Danke. http://de.wikipedia.org/wiki/WebRTC.

Was aber ist mit Smartphones (Messenger-App). Ich habe gehört, dass die (wenn sie nicht im WLAN sind) in Deutschland aus rechtlichen Gründen nicht über eine IP-Adresse verfügen (Angreifbarkeit), finde dazu aber so ohne weiteres nichts bei Google dazu.

Das gibt es leider nicht. Es fängt schon damit an, dass die meisten etablierten Verschlüsselungs-Verfahren eng mit den ungelösten Geheimnissen der Primzahlen verworren sind. Falls morgen jemand einen Polynomialzeit-Algorithmus für einen Primzahlentest entwickelt, sind alle mir bekannten Verschlüsselungs-Algorithmen hinfällig. Unter gewissen Hypthesen (P ≠ NP) gibt es aber tatsächlich sichere™ Verschlüsselungsverfahren.

Gut, dann müsste man sich mit wohl mit der Aussage: "Verschlüsselungsverfahren nach gängigem Standard, die nach heutigem Kenntnisstand nicht knackbar sind" begnügen.

»

so wie ich es verstehe, greift die socketverbindung dabei auf funktionen des betriebssystems zu? macht also einen unterschied, ob eine andwendung zb. auf win läuft, linux, unix, macos oder android etc.pp.???

Fast jede Software greift auf Funktionen des Betriebssystems zurück. Ich verstehe diese Frage deshalb nicht ganz.

Das ging jetzt in die Richtung, wie unkown sie beantwortet hat: https://forum.selfhtml.org/?t=216838&m=1488103. Neben Windows und BSD wäre dann noch meine Frage, wie es mit Android und MacOS steht und was es sonst noch für "relevante" Betriebssysteme gäbe.

und wo entstehen sicherheitslücken, rein theoretisch?

Das ist nicht pauschal zu beantworten. Sicherheit zieht sich durch alle Schichten einer Software, vom Anwender bis hin zum digitalen Verbindungsaufbau zwischen zwei Rechnern.

Ja, da lande ich dann wohl wieder bei dem "tiefen Verständnis" (s.o.). Wobei das WebRTC-Protokoll, wenn es denn zB. auch für eine Messenger-artige Anwendung für Smartphones tauglich wäre, ja offenbar einen großen Teil der kontrollierbaren Sicherheit abdecken sollte, oder?

mfg

tami