Transferencia directa de archivos entre dispositivos a través de WebRTC



El nuevo servicio WebWormHole funciona como un portal a través del cual los archivos se transfieren de una computadora a otra. Presione el botón Nuevo agujero de gusano y obtenga el código para ingresar. Una persona, por otro lado, ingresa el mismo código o URL, y se establece un túnel efímero entre usted, a través del cual los archivos se transfieren directamente. Muy simple y eficiente. Código fuente de Github .

Para instalar el portal entre dispositivos, no es necesario abrir un navegador. El cliente en Go se inicia desde la línea de comandos y genera un código único en la consola.

Instalación:

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

Transmitir:

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

El destinatario en el otro lado del túnel efímero ingresa un código de una sola vez en la consola y recibe el archivo.

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

El autor del programa, Salman Aljammaz, advierte que el cliente está en desarrollo temprano, utiliza bibliotecas criptográficas experimentales, por lo tanto, puede no funcionar bien en todos los navegadores. El programa tampoco pasó una auditoría de seguridad, por lo que puede no funcionar correctamente y no es seguro.

El autor tomó prestada la idea y el nombre del programa Magic Wormhole , que también establece una conexión de igual a igual y transfiere archivos entre computadoras.


Magic Wormhole

La diferencia es que WebWormHole utiliza WebRTC, que le permite romper los firewalls y NAT, así como iniciar la transmisión desde el navegador.

Cada túnel está protegido por una contraseña de un solo uso y PAKEEste es un intercambio de clave específico con autenticación de contraseña para establecer una conexión cifrada. Sin embargo, la contraseña en sí no se transmite a través de la red de ninguna forma.

La verificación se lleva a cabo aproximadamente como en una prueba con divulgación cero , en la que el destinatario puede verificar la fiabilidad de cualquier declaración, sin tener ninguna otra información del remitente.


SPAKE2

En WebWormHole, para generar una clave de cifrado común, las descripciones de sesión se intercambian con huellas digitales de certificados DTLS, que WebRTC utiliza para cifrar conexiones.

La transferencia de archivos a través de un túnel de igual a igual es más rápida y segura que por correo, FTP u otros métodos. Por conveniencia y seguridad, estos métodos se comparan en una tabla dePresentaciones de Magic Wormhole :

Ingresar por remitenteEntrada del destinatarioProximidad fisicaEscuchas telefónicas
Correo electrónico~ 30 Char.proveedores, autoridades de certificación, internet
Subir a FTP / HTTP~ 60 Char.servidor, proveedores, autoridades de certificación, Internet
Dropbox~ 60 Char.Autoridades de certificación de Dropbox
+ servicio de reducción de enlaces~ 20 Char.servicio de reducción de enlaces, búsqueda aleatoria, Dropbox, autoridades de certificación
memoria USBX
Ssh / scp~ 740 caracteres Llave públicaninguna
agujero de gusano mágico~ 20 Char.ninguna
Nota . Desde la compilación de esta tabla en 2016, se lanzaron servicios convenientes para transferir archivos como Firefox Send (hay un cliente de consola ) y File.pizza

Además del Python Wormhole en Python, hay otros clientes para establecer conexiones WebRTC directas entre computadoras:


Como un bono:

  • rtc-ssh : contenedor WebRTC para conexiones SSH

A través de WebRTC, puede establecer comunicaciones de video entre dispositivos, transferir voz, archivos, etc.

En cuanto al mecanismo de intercambio de claves PAKE, es útil en diferentes áreas. Por ejemplo, permite la autenticación en el sitio sin enviar una contraseña al servidor.

All Articles