Direkte Dateiübertragung zwischen Geräten über WebRTC



Der neue WebWormHole- Dienst fungiert als Portal, über das Dateien von einem Computer auf einen anderen übertragen werden. Drücken Sie die Taste Neues Wurmloch - und geben Sie den einzugebenden Code ein. Eine Person hingegen gibt denselben Code oder dieselbe URL ein - und zwischen Ihnen wird ein kurzlebiger Tunnel eingerichtet, über den Dateien direkt übertragen werden. Sehr einfach und effizient. Github-Quellcode .

Um das Portal zwischen Geräten zu installieren, muss kein Browser geöffnet werden. Der Client on Go wird über die Befehlszeile gestartet und generiert einmaligen Code in der Konsole.

Installation:

$ go get -u webwormhole.io/cmd/ww

Übertragung:

$ cat hello.txt
hello, world
$ ww send hello.txt
8-enlist-decadence

Der Empfänger auf der anderen Seite des kurzlebigen Tunnels gibt einen einmaligen Code in die Konsole ein - und empfängt die Datei.

$ ww receive 8-enlist-decadence
$ cat hello.txt
hello, world

Der Autor des Programms, Salman Aljammaz, warnt davor, dass sich der Client in einer frühen Entwicklung befindet und experimentelle kryptografische Bibliotheken verwendet. Daher funktioniert er möglicherweise nicht in allen Browsern ordnungsgemäß. Das Programm hat auch keine Sicherheitsüberprüfung bestanden, daher funktioniert es möglicherweise nicht richtig und ist unsicher.

Der Autor hat die Idee und den Namen aus dem Magic Wormhole- Programm ausgeliehen , das auch eine Peer-to-Peer-Verbindung herstellt und Dateien zwischen Computern überträgt.


Magic Wormhole

Der Unterschied besteht darin, dass WebWormHole WebRTC verwendet, mit dem Sie Firewalls und NAT durchbrechen und die Übertragung über den Browser starten können.

Jeder Tunnel ist durch ein Einmalpasswort und PAKE geschütztDies ist ein spezifischer Schlüsselaustausch mit Kennwortauthentifizierung zum Herstellen einer verschlüsselten Verbindung. Das Passwort selbst wird jedoch in keiner Form über das Netzwerk übertragen.

Die Überprüfung erfolgt ungefähr wie bei einem Beweis ohne Offenlegung , bei dem der Empfänger die Zuverlässigkeit einer Erklärung überprüfen kann, ohne andere Informationen vom Absender zu haben.


SPAKE2

Um in WebWormHole einen gemeinsamen Verschlüsselungsschlüssel zu generieren, werden Sitzungsbeschreibungen mit Fingerabdrücken von DTLS-Zertifikaten ausgetauscht, die WebRTC zum Verschlüsseln von Verbindungen verwendet.

Das Übertragen von Dateien über einen Peer-to-Peer-Tunnel ist schneller und sicherer als per E-Mail, FTP oder anderen Methoden. Zur Vereinfachung und Sicherheit werden diese Methoden in einer Tabelle aus verglichenMagic Wormhole Präsentationen :

Eingabe durch AbsenderEmpfängereintragKörperliche NäheAbhören
E-Mail~ 30 Char.Anbieter, Zertifizierungsstellen, Internet
Auf FTP / HTTP hochladen~ 60 Char.Server, Anbieter, Zertifizierungsstellen, Internet
Dropbox~ 60 Char.Dropbox-Zertifizierungsstellen
+ Linkreduktionsservice~ 20 Char.Link Reduction Service, Zufallssuche, Dropbox, Zertifizierungsstellen
USB-StickX.
Ssh / scp~ 740 Zeichen Öffentlicher Schlüsselkeiner
magisches Wurmloch~ 20 Char.keiner
Hinweis . Seit der Erstellung dieser Tabelle im Jahr 2016 wurden praktische Dienste zum Übertragen von Dateien wie Firefox Send (es gibt einen Konsolenclient ) und File.pizza gestartet.

Neben dem Python-Wurmloch in Python gibt es weitere Clients zum Herstellen direkter WebRTC-Verbindungen zwischen Computern:


Als Bonus:

  • rtc-ssh : WebRTC-Wrapper für SSH-Verbindungen

Über WebRTC können Sie Videokommunikation zwischen Geräten herstellen, Sprache, Dateien usw. übertragen.

Der PAKE-Schlüsselaustauschmechanismus ist in verschiedenen Bereichen nützlich. Beispielsweise ermöglicht es die Authentifizierung auf der Site, ohne ein Kennwort an den Server zu senden.

All Articles