Ich suche nach einer bequemen Möglichkeit, eine einzelne Datei sicher von einem Desktop-Computer A auf einen mobilen Computer B zu übertragen. A läuft mit Linux, B läuft mit Android. Mit "sicher" meine ich:
a) eine Datei darf nicht an Dritte weitergegeben werden und
b) A und B vertrauen einander nicht. Ich frage ausdrücklich, wie man eine einzelne Datei überträgt.
c) Es sollte so einfach sein wie das Auswählen dieser Datei in einem Dateimanager
Ich erwarte unregelmäßige Überweisungen, d. h. eine Überweisung ist in der Regel die erste Überweisung zwischen A und B, und sie wurden vorher nicht für diese Überweisung konfiguriert. A und B sind mit dem Internet verbunden. (Nun, was ist heutzutage nicht mehr mit dem Internet verbunden?) Aber:
d) mindestens ein Computer hat keine globale IP-Adresse oder
e) beide haben keine globale IP-Adresse.
Betrachten Sie die Fälle (d) und (e) getrennt.
Einige Pläne, die ich mir vorstellen kann.
Sie können kleine Textdateien in QR-Code konvertieren, z. B. mit der Python -QR-Code- Bibliothek und der Befehlszeile , auf dem Laptop-Bildschirm und mit einem der vielen Android-Clients auf dem Telefon wie QR Droid einscannen .
Beachten Sie, dass QR-Codes auch zur Eingabe von WLAN-Verbindungsdetails verwendet werden können, sodass Sie ein Skript verwenden könnten , um eine temporäre WLAN-Verbindung mit einem zufälligen Passcode zu erstellen und den QR-Code für diese Verbindung zu generieren – dies würde die Einrichtungszeit eliminieren. Dasselbe Skript könnte möglicherweise einen FTP-Server (z. B.: twistd -n ftp
) so einstellen , dass Up- und Downloads oder Webserver- Downloads (z. B. : python -m SimpleHTTPServer
) nur mit Zugriff auf ein bestimmtes Verzeichnis ausgeführt werden. Dies könnte auch einen QR-Code ausgeben, der gescannt werden muss, um an die richtige Stelle zu gelangen.
Der gesamte in dieser Antwort erwähnte Code mit Ausnahme von QR Driod lautet:
pip
Eine Möglichkeit beinhaltet:
Die Bluetooth-Authentifizierung besteht normalerweise darin, dass ein Gerät zur Eingabe einer PIN auffordert, die zufällig von dem anderen Gerät generiert und auf diesem angezeigt wird. Sie können Geräte koppeln, damit die Verbindungen wiederhergestellt werden können, wenn sich die 2 Geräte in Reichweite voneinander befinden, ohne diesen Schritt durchzuführen, und einige Geräte, z. B. Kopfhörer, überspringen diesen Schritt oder haben eine feste PIN. Sobald die Kommunikation eingerichtet ist, können Sie, normalerweise manchmal optional , freigegebene Ordner angeben, damit das andere Gerät Inhalte über eine Datei-Explorer-Schnittstelle herunter-/hochladen kann.
Dies ist ein nicht triviales Problem, nicht wirklich geeignet für Softwarerecs.SE IMO.
Trotzdem geht es hier weiter. (Wenn die Frage zu Security.SE migriert wird, wird mit etwas Glück diese Antwort mit migriert.)
Es stehen verschiedene Lösungsmöglichkeiten mit sehr unterschiedlichen Implementierungskosten zur Verfügung.
Zunächst einmal müssten die Endpunkte gegen Angriffe gesichert werden, die preisgeben könnten, was gerade übertragen wird. TEMPEST-Angriffe zum Beispiel.
Wenn Sie Fernkommunikation (z. B. drahtlos oder optisch) verwenden, besteht die Gefahr des Abhörens, es sei denn, die beiden Computer befinden sich in einem Behälter (z. B. einem Faraday-Käfig oder einer lichtdichten Box bzw. einem Raum), der für die beteiligten Signale undurchlässig ist.
Wenn Sie drahtgebundene Kommunikation verwenden, müssen Sie sicher sein, dass das Kommunikationsmedium immun gegen Angriffe im TEMPEST-Stil ist. Spezielle USB- und Ethernet-Kabel etc. sind für einen hohen Preis erhältlich, die diese Anforderung angeblich erfüllen. (Oder vielleicht könnten Sie auch einen geeigneten Raum oder eine Box bauen oder kaufen.) Aber Sie sollten auch das Risiko bedenken, dass A oder B den anderen über die Verbindung kompromittieren, zB durch den Versuch, den Netzwerkstapel auszunutzen. Je einfacher also das Protokoll, desto besser, um den TCB zu minimieren. So etwas wie seriell (vielleicht über den JTAG-Port auf B?) könnte an dieser Front die beste Wahl sein.
Wenn Sie schließlich Wechselmedien verwenden, sollten Sie überlegen, wie Sie verhindern können, dass Malware von A nach B übertragen wird. Dies kann über Controller-Chips (z. B. BadUSB) geschehen, falls vorhanden, oder über andere Exploits weiter oben im Stack.
Eine einigermaßen sichere Option wäre:
zondo
beroal
Benutzer416
beroal
Benutzer416
Anzeigename
Anzeigename
beroal
beroal
Benutzer416
Anzeigename