Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Verschlüsselter Dateidownload übers Internet (https://www.delphipraxis.net/186092-verschluesselter-dateidownload-uebers-internet.html)

Sunec 3. Aug 2015 08:39

Delphi-Version: XE8

Verschlüsselter Dateidownload übers Internet
 
Schönen guten Morgen Praxis :)

Ich habe eine Datei auf einem Webserver hinterlegt.

Nun möchte ich von meinem Programm aus auf diese Datei zugreifen und herunterladen.

Allerdings möchte ich, dass die Datei nur über mein Programm heruntergeladen werden kann und nicht über den direkten Aufruf der URL.

Denkbar wäre es Cookies zu setzten und erst dann Zugriff auf die Datei zuzulassen?

Des weiteren Schreiben Programm, wie beispielsweise Wireshark, den Netzwerverkehr mit. Lässt sich dieser Verschlüsseln?


Was wäre hier die optimale Herangehensweise?

vagtler 3. Aug 2015 08:50

AW: Verschlüsselter Dateidownload übers Internet
 
Verschlüsselung über SSL - das ist in den allermeisten Fällen hinreichend sicher. Ein entsprechend hochwertiges Zertifikat vorausgesetzt.

Für die Authentifizierung kommt dann eines der je nach Übertragungsmethode geeigneten Verfahren in Frage. Wir regeln Dateizugriffe meist über spezialisierte Webservices, die mittels OAuth2 abgesichert sind. Für unsere Szenarien ist das hinreichend sicher und vergleichsweise simpel zu realisieren.

Mavarik 3. Aug 2015 09:34

AW: Verschlüsselter Dateidownload übers Internet
 
Leg die Datei einfach auf Deinen Webserver...

Dann mit dem eigenen Programm runter laden und "entpacken"...

Ohne Deine Software kann keiner etwas mit der Datei anfangen, weil keine die Entschlüsselung kennt...

Dann kannst Du die URL auch in Google eintragen... :stupid:

So Einfach...

Brunhilde 3. Aug 2015 11:03

AW: Verschlüsselter Dateidownload übers Internet
 
Leider schreibst Du nicht wo der Webserver steht, LAN oder WAN? Bei einem WAN Standort gehe davon aus das nichts sicher ist was dort gespeichert ist. Es wird nur sicher wenn es verschlüsselt ist.

Ein Packer wie 7z geht mit Verschlüsselung und lässt sich auch in Delphi aufrufen. Des weiteren kannst Du ein FTP oder SFTP Protokoll benutzen um Dateien hoch oder runter zu laden.

Im FTP Server, auf deinem Webserver, kannst Du dann Benutzer einrichten die auf bestimmte Dateien zugriff haben oder nicht. Die Rechte Regeln sind aber schon wieder ein Thema für sich.

Mavarik 3. Aug 2015 11:33

AW: Verschlüsselter Dateidownload übers Internet
 
Zitat:

Zitat von Brunhilde (Beitrag 1310767)
Leider schreibst Du nicht wo der Webserver steht, LAN oder WAN? Bei einem WAN Standort gehe davon aus das nichts sicher ist was dort gespeichert ist. Es wird nur sicher wenn es verschlüsselt ist.

Ein Packer wie 7z geht mit Verschlüsselung und lässt sich auch in Delphi aufrufen. Des weiteren kannst Du ein FTP oder SFTP Protokoll benutzen um Dateien hoch oder runter zu laden.

Im FTP Server, auf deinem Webserver, kannst Du dann Benutzer einrichten die auf bestimmte Dateien zugriff haben oder nicht. Die Rechte Regeln sind aber schon wieder ein Thema für sich.

Ist ja auch alles überhaupt nicht nötig...


Ich nehme mir eine Datei... Packe die mit einem beliebigen Packer... Dann zerhacke ich die Datei in 256 Byte happchen bei großen oder 16 Byte bei kleinen Dateien...

Dann füge ich die Datei per Zufall wieder zusammen und merke mir wo welcher Happen jetzt steht in meinen Programm...

Ich kann natürlich auch AES/RSA nehmen... Aber das andere geht ohne "alles"...

frankyboy1974 3. Aug 2015 11:40

AW: Verschlüsselter Dateidownload übers Internet
 
Hallo,

@Mavarik
Zitat:

Ohne Deine Software kann keiner etwas mit der Datei anfangen, weil keine die Entschlüsselung kennt...

Dann kannst Du die URL auch in Google eintragen...
weil heute eine Verschlüsselung als sicher gilt, muss dies nicht für immer gelten.

Der TE wollte ein Verfahren, dass wie folgt funktioniert

Zitat:

Allerdings möchte ich, dass die Datei nur über mein Programm heruntergeladen werden kann und nicht über den direkten Aufruf der URL.
Dann musst du tatsächlich erstmal eine Authentifizierung durchführen, dies kann über
Zitat:

OAuth2
erfolgen. Es gibt sicher auch noch andere Verfahren, um sicherzustellen ob jemand die Datei herunterladen darf oder dieser auch imstande ist diese zu entschlüsseln.

mfg

frank

mm1256 3. Aug 2015 12:41

AW: Verschlüsselter Dateidownload übers Internet
 
Hallo,

interessante Lösungsvorschläge. Weil ich OAuth2 noch nicht eingesetzt habe, würde mich interessieren, wie es da mit Wireshark aussieht. Weil...

Zitat:

Zitat von Sunec (Beitrag 1310740)
Des weiteren Schreiben Programm, wie beispielsweise Wireshark, den Netzwerverkehr mit. Lässt sich dieser Verschlüsseln?

Also braucht's dazu noch https, oder?

Lemmy 3. Aug 2015 12:50

AW: Verschlüsselter Dateidownload übers Internet
 
Nur mal so vom Spielfeldrand (ich habe damit einfach keine Erfahrung):

Das Programm läuft auf dem Kundenrechner, d.h. der hat alle Möglichkeiten um einzugreifen: z.B. den Netzwerkverkehr absichtlich über einen eigenen http-Server umlenken und schon ist https umsonst (-> Man in the Middle) - außer der Server und der Client prüfen explizit das Zertifikat des jeweils gegenüber. Oder habe ich an der generellen Arbeitsweise von https was nicht verstanden?

-> wenn das so passt, dann muss die Datei weiter verschlüsselt sein um das abzusichern - und hier haben wir das Problem, dass der Schlüssel zum entschlüsseln dem Clientprogramm bekannt sein muss -> um damit zu arbeiten muss der irgend wann in den Speicher und ist damit potentiell abgreifbar. Und hier spielt es nur eine kleine Rolle wie verschlüsselt wird (AES, PGP,...) wenn der Schlüssel zum entschlüsseln auslesbar ist.

Daher sollte erst klar sein gegen was die Absicherung helfen soll, eine (nahezu) 100% Sicherheit sehe ich bei den Randbedingungen nicht gegeben.

Grüße

mm1256 3. Aug 2015 14:37

AW: Verschlüsselter Dateidownload übers Internet
 
@Lemmy So sehe ich das auch. Denn, bevor ich beschreibe wie ich das Problem bei meinem Lizenz-Server (um so was Ähnliches geht es wohl hier auch) gelöst habe, wäre es zudem wissenswert, wie hoch das monatliche Budget ist. Denn von nix kommt nix. Weil, ein bischen Sicherheit taugt nichts, und kostet nichts, oder nicht viel, und wenn man(n) mehr will, scheitert's meistens schon am Geld.

Valle 3. Aug 2015 14:55

AW: Verschlüsselter Dateidownload übers Internet
 
Hi,

ich bin erstaunt dass das noch keiner geschrieben hat.

Das Vorhaben ist schlichtweg nicht möglich. Der Anwender hat vollen Zugriff auf seinen Computer und kann somit alles Geschehen dort mitlesen und manipulieren. Eine Verschlüsselung bringt nichts, da der Schlüssel auch auf dem PC liegen muss. Eine Authentifizierung bringt ebenso nichts, da der Schlüssel mitgeliefert werden muss.

Es ist allenfalls möglich das Vorhaben zu erschweren. Man sollte sich aber hier im Klaren sein, dass dies keine tatsächliche Sicherheit bietet. Wenn vollständige Sicherheit wirklich nötig ist (und ich vermute dem ist nicht so), dann muss wohl die Strategie überdacht werden. Gerade wenn es um Kopierschutzmaßnahmen geht, würde ich empfehlen mehr Zeit in das Produkt statt in Security through obscurity zu stecken.

Es läuft letztendlich also darauf hinaus, wie schwer man es dem Anwender machen möchte. Es wäre sinnvoll, wenn du uns verrätst, wozu du das brauchst. Dann können wir dir sicherlich besser helfen.

Zitat:

Zitat von mm1256 (Beitrag 1310796)
@Lemmy So sehe ich das auch. Denn, bevor ich beschreibe wie ich das Problem bei meinem Lizenz-Server (um so was Ähnliches geht es wohl hier auch) gelöst habe, wäre es zudem wissenswert, wie hoch das monatliche Budget ist. Denn von nix kommt nix. Weil, ein bischen Sicherheit taugt nichts, und kostet nichts, oder nicht viel, und wenn man(n) mehr will, scheitert's meistens schon am Geld.

Das sehe ich aber anders. Sicherheitslösungen die Geld kosten, sind von Firmen die diese nicht frei zur Verfügung stellen. Und Sicherheitslösungen die nicht frei sind, können nicht von jedermann überprüft werden. Damit sind sie per-se nicht sicher.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz