Estoy buscando una forma conveniente de transferir de forma segura un solo archivo desde una computadora de escritorio A a una computadora móvil B. A ejecuta Linux, B ejecuta Android. Por "seguro" quiero decir que:
a) un archivo no debe filtrarse a un tercero y
b) A y B no confían el uno en el otro. Pregunto específicamente cómo transferir un solo archivo.
c) Debería ser tan fácil como seleccionar ese archivo en un administrador de archivos
Espero transferencias no regulares, en otras palabras, una transferencia suele ser la primera transferencia entre A y B, y no estaban configurados para esta transferencia antes. A y B están conectados a Internet. (Bueno, ¿qué no está conectado a Internet hoy en día?) Pero:
d) al menos una computadora no tiene una dirección IP global o
e) ninguno de los dos tiene una dirección IP global.
Considere los casos (d) y (e) por separado.
Algunos esquemas que se me ocurren.
Puede usar, para archivos de texto pequeños, convertirlos a código QR, por ejemplo, usando la línea de comando y la biblioteca de códigos QR de python , en la pantalla de la computadora portátil y escanearlos con uno de los muchos clientes de Android en el teléfono, como QR Droid .
Tenga en cuenta que los códigos QR también se pueden usar para ingresar detalles de la conexión WiFi, por lo que podría usar un script para crear una conexión WiFi temporal con un código de acceso aleatorio y generar el código QR para esa conexión; esto eliminaría el tiempo de configuración. La misma secuencia de comandos podría configurar un FTP (p. ej.: twistd -n ftp
) para permitir cargas y descargas o descargas del servidor web (p. ej.: python -m SimpleHTTPServer
) que solo se ejecutan con acceso a un directorio específico solamente. Esto también podría generar un código QR para escanear para llegar a la ubicación correcta.
Todo el código mencionado en esta respuesta con la excepción de QR Driod es:
pip
Una posibilidad incluye:
La autenticación Bluetooth generalmente consiste en que un dispositivo solicita un PIN que se genera aleatoriamente y se muestra en el otro dispositivo. Puede emparejar dispositivos para permitir que se restablezcan las conexiones cuando los 2 dispositivos estén dentro del alcance de cada uno sin pasar por este paso y algunos dispositivos, por ejemplo, auriculares, omiten este paso o tienen un PIN fijo. Una vez que se establece la comunicación, puede, por lo general a veces opcionalmente , especificar carpetas compartidas para permitir que el otro dispositivo descargue/cargue contenido mediante una interfaz de tipo explorador de archivos.
Este es un problema no trivial, no realmente adecuado para Softwarerecs.SE IMO.
Aún así, aquí va. (Con un poco de suerte, si la pregunta se migra a Security.SE, esta respuesta se migrará junto con ella).
Hay varias soluciones potenciales disponibles a costos de implementación muy diferentes.
En primer lugar, los puntos finales deberían protegerse contra cualquier ataque que pudiera revelar lo que se estaba transfiriendo. Ataques TEMPEST, por ejemplo.
Si utiliza comunicaciones a distancia (p. ej., inalámbricas u ópticas), existe el riesgo de escuchas a menos que las dos computadoras estén en un contenedor (p. ej., una jaula de Faraday o una caja o habitación a prueba de luz, respectivamente) impermeable a las señales involucradas.
Si usa comunicaciones por cable, debe asegurarse de que el medio de comunicación sea inmune a los ataques de estilo TEMPEST. Los cables USB y Ethernet especiales, etc. están disponibles a un precio elevado y supuestamente cumplen con este requisito. (O, nuevamente, tal vez podría construir o comprar una habitación o caja adecuada). Pero también debe considerar el riesgo de que A o B comprometan al otro en la conexión, por ejemplo, al intentar explotar la pila de red. Entonces, cuanto más simple sea el protocolo, mejor, para minimizar el TCB. Algo como serial (¿quizás a través del puerto JTAG en B?) podría ser su mejor apuesta en este frente.
Finalmente, si usa medios extraíbles, debe considerar cómo evitar que el malware se transfiera de A a B. Esto podría suceder a través de chips controladores (por ejemplo, BadUSB) si están presentes, o a través de otras vulnerabilidades más arriba en la pila.
Una opción razonablemente segura sería:
zondo
berroal
usuario416
berroal
usuario416
Nombre para mostrar
Nombre para mostrar
berroal
berroal
usuario416
Nombre para mostrar