Zugriffschutz auf Ordner

SaschaU

Mitglied
Hallo zusammen,

ich schreibe gerade eine Swing-basierte Java-Anwendung, in der unter anderem (grob vereinfacht) eine Liste von Bild-Dateien aus einer DB ausgelesen und in einer JList dargestellt wird. Klickt man einen Eintrag in der Liste an, dann öffnet sich das Bild in einem eigenen Frame.

Mein Problem ist nun, dass ich einen Zugriffsschutz auf den Ordner mit den Bilddateien auf dem Datenträger (wahrscheinlich DVD) integrieren möchte, so dass kein Benutzer die Bilddateien öffnen, kopieren kann etc.
D.h. also, dass nur das Programm selbst Zugriff auf den Ordner haben darf und nichts/niemand anderes. Da es ca. 10.000 Dateien sein werden, ist es wahrscheinlich ziemlich unperformant, wenn diese in ein ZIP/RAR/JAR etc. integriert werden würden.

Also, perfekt wäre, diesen Ordner quasi in einer Sandbox laufen zu lassen, die nur vom Programm genutzt werden dürfte...

Am besten wäre es, wenn ich kein "fremdes" Framework nutzen müsste, denn ich möchte möglichst Lizenz-unabhängig arbeiten (auch wenn es freie Lizenzen sind). Wäre aber auch nicht so wild, wenn es genau das bringt, was ich benötige.

Nach zahlreichen Google-Such-Stunden habe ich noch nicht wirklich das Richtige gefunden (oder auch übersehen), daher wollte ich hier einmal nachfragen, ob jemand so etwas schon einmal gemacht hat oder zumindest weiß, welche Möglichkeit die beste wäre!?

Vielen Dank und beste Grüße,
Sascha

P.S.: Ich bin leider ab morgen bis zum Wochenende auf Dienstreise, daher werde ich erst einmal nicht antworten können. Es wäre aber super, wenn ich ein paar Ideen sammeln könnte, die ich nächstes Wochenende ausprobieren kann...
 

The_S

Top Contributor
Alles, was dein Programm auslesen kann, kann natürlich auch irgendwie anders ausgelesen werden. Einen absoluten Schutz wirst du nicht hinbekommen. Auch wenn du ein passwortgeschütztes Zip oder ähnliches machst: Das Passwort steht entweder im Quelltext deines Programms und kann durch decompilieren in Erfahrung gebracht werden, oder das Passwort wird über das Netzwerk übertragen, wo es durch Sniffing abgefangen werden kann.
 

SaschaU

Mitglied
Alles, was dein Programm auslesen kann, kann natürlich auch irgendwie anders ausgelesen werden. Einen absoluten Schutz wirst du nicht hinbekommen. Auch wenn du ein passwortgeschütztes Zip oder ähnliches machst: Das Passwort steht entweder im Quelltext deines Programms und kann durch decompilieren in Erfahrung gebracht werden, oder das Passwort wird über das Netzwerk übertragen, wo es durch Sniffing abgefangen werden kann.


So, ich danke Dir schonmal für die Antwort! Leider hat sich beruflich ergeben, dass ich in den letzten 4 Wochen gar nicht zuhause war und daher auch nicht an dem Projekt weiterarbeiten konnte.

Da ich jetzt wieder ein bisschen Zeit habe:

Dass ich keinen 100prozentigen Schutz erwarten kann, ist mir jetzt klar. :(
Jedoch möchte ich es dem Benutzer so schwierig wie möglich machen und würde daher gerne zumindest ein passwortgeschütztes ZIP oder JAR erstellen, in dem meine ganzen Bilder enthalten sind. Ich würde das ZIP gerne mit dem Java-Programm öffnen und solange mit dem geöffneten ZIP-Archiv arbeiten (also Bilder entnehmen, darstellen usw.), bis ich das ZIP wieder "schließe". Im Prinzip also so, wie ich mit einem ZIP-Programm arbeite, wenn ich damit ein Archiv öffne und solange Zugriff auf die Dateien darin habe, bis ich das ZIP-Programm wieder schließe.

Das ich dafür die Passwort-Informationen irgendwo im Code hinterlegen muss, ist mir klar, aber die kann ich zumindest zu verstecken, dass es umständlich und langwierig wird, dieses zu finden (wie auch immer ich das dann implementiere - mache ich mir danach Gedanken drum).

Ich habe auch schon zahlreiche Möglichkeiten untersucht, aber entweder ich habe eine Bibliothek, mit der ich ein passwortgeschütztes ZIP komplett entpacken muss (also nicht nur öffnen, wie z.B. Zip4j) oder es kostet Geld (wie Chilkat). Beides kommt für mich leider nicht in Frage.

Hat einer von Euch vielleicht eine Idee, wie (oder womit) ich mein kleines Problem lösen könnte?

Besten Gruß,
Sascha
 

The_S

Top Contributor
Wenns nicht unbedingt komprimiert sein muss, kannst du die Bilder auch in ein eigenes Datenformat konvertieren, bspw. indem du einfach die Bytes der Bilder mit einem von dir definierten Schlüssel verschlüsselst.
 

SaschaU

Mitglied
Wenns nicht unbedingt komprimiert sein muss, kannst du die Bilder auch in ein eigenes Datenformat konvertieren, bspw. indem du einfach die Bytes der Bilder mit einem von dir definierten Schlüssel verschlüsselst.

Hm, DAS ist vielleicht mal eine Idee. Das werde ich auf jeden Fall mal implementieren und mal schauen, wie ich damit klarkomme...

Ansonsten habe ich mir überlegt, die einzelnen Dateien alle zu Zippen (passwortgeschützt) und die Dateiendung wegzunehmen. Wenn dann auf die Bilder zugegriffen wird, dann wird die Endung wieder angehangen, die Datei entpackt und temporär auf die HD gelegt. Nach dem Gebrauch wird die temporär entpackte Datei wieder gelöscht und die Endung wieder entfernt... Zusätzlich dazu setze ich die Dateien noch auf "isHidden=true" (für die PCs, bei denen das entsprechend eingestellt ist) und verstecke das ZIP-Passwort so tief im Code, dass niemand mehr Bock hat, danach zu suchen. :toll:
Das dann kombiniert mit Deinem Vorschlag dürfte eigentlich "sicher" genug sein.

Mal sehen - vielen Dank auf jeden Fall für die Idee...
 

Wildcard

Top Contributor
Dateiendungen sid Schall und Rauch, das kannst du dir sparen. Du brauchst ein Bild auch nicht erst als Datei abspeichern bevor du es anzeigen kannst, der Stream reicht völlig.
Das einfachste wird tatsächlich eine XOR artige Verunstaltung der Daten. Das hält zwar niemanden mit Ahnung ab, aber Ottonormal Verbraucher (und mehr kannst du auch gar nicht erreichen).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
_user_q Verknüpfung einer .jar-Datei (liegt z. B. auf dem Desktop) im Autostart-Ordner erstellen? Allgemeine Java-Themen 20
Tobero .jar Dateine aus einem Ordner laden (Java 16) Allgemeine Java-Themen 5
G Datei aus Ordner wählen, ohne den Dateinamen im Pfad angeben zu müssen Allgemeine Java-Themen 4
Zrebna FileUtils.cleanDirectory() - aber einen sub-Ordner "verschonen" Allgemeine Java-Themen 1
M Ordner kopieren Allgemeine Java-Themen 5
B Datei/Ordner auf Server zugreifen/erstellen Allgemeine Java-Themen 2
I Klassen aus Jar-Dateien aus anderem Ordner laden Allgemeine Java-Themen 3
B Dateien / Bilder von "webapp" Ordner bekommen? Allgemeine Java-Themen 1
F Registry Ordner durchlaufen Allgemeine Java-Themen 1
Drachenbauer Wie sorge ich dafür, dass mein Spiel die ini-Datei in der Resourcen-ordner des Projektes schreibt? Allgemeine Java-Themen 5
L File beim Kopieren in einen anderen Ordner umbenennen Allgemeine Java-Themen 6
M Key-File im selben Ordner speichern? Allgemeine Java-Themen 18
R Setting Ordner fehlt Allgemeine Java-Themen 1
J Ordner und Datei Struktur einer War Datei Allgemeine Java-Themen 1
K getResource guckt im Target-Ordner...? Allgemeine Java-Themen 2
P Zum src Ordner einen Projektes navigieren Allgemeine Java-Themen 8
D Ordner commiten mit SvnKit Allgemeine Java-Themen 0
U javax.mail.Folder.list() zeigt nicht alle Ordner Allgemeine Java-Themen 5
D Kopieren von Dateien aus einem Ordner in einen anderen Allgemeine Java-Themen 6
I nach Image Load in ListView, kann Ordner nicht mehr gelöscht werden Allgemeine Java-Themen 1
P JDK installieren Kann man die Ordner in C:\Users\*\AppData\LocalLow\Sun\Java\.... löschen? Allgemeine Java-Themen 3
X Dateien von der Jar zum Ordner kopieren. Allgemeine Java-Themen 4
Ananaskirsche Input/Output Dateien im Ordner Allgemeine Java-Themen 8
A Input/Output Liste der Dateien in einem Ordner in einer Jar Datei erhalten Allgemeine Java-Themen 11
D Ordner auf Desktop erstellen(Pc unabhängig) Allgemeine Java-Themen 5
K NetBeans Ordner bei 'Clean&Build' automatisch in dist Verzeichnis kopieren Allgemeine Java-Themen 0
T Ordner samt Dateien kopieren Allgemeine Java-Themen 11
T Datei Ordner in Binär-Zahlenkette umwandeln Allgemeine Java-Themen 11
M JavaMail Spam-Ordner Allgemeine Java-Themen 2
B Dateien verschwinden aus bin Ordner?! Allgemeine Java-Themen 5
Minonos Einem Programm Zugriff auf bestimmte Ordner geben Allgemeine Java-Themen 5
M Pakete in Ordner Kopieren Allgemeine Java-Themen 7
P Ordner und Unterordner rückwärts durchsuchen Allgemeine Java-Themen 3
B Swing In JAR Ordner durchsuchen Allgemeine Java-Themen 2
B Ordner öffnen mittels Java in Linux-Umgebung Allgemeine Java-Themen 7
H Ordner in Zip integrieren Allgemeine Java-Themen 7
P Input/Output Ordner löschen --> geht nicht Datei --> Ja Allgemeine Java-Themen 6
I Java Ordner kopieren [Error] Allgemeine Java-Themen 6
S Dateien aus src-Ordner lesen Allgemeine Java-Themen 3
E nach dem Ordner suchen, wo .jar datei sich befindet Allgemeine Java-Themen 17
Developer_X Java FTP - Ordner auf Server erstellen Allgemeine Java-Themen 7
E ordner rekursiv durchsuchen Allgemeine Java-Themen 6
E Ordner rekursiv kopieren Allgemeine Java-Themen 8
J Ordner im Archiv (jar) auslesen Allgemeine Java-Themen 12
P Datei aus Ordner wird nicht gelesen Allgemeine Java-Themen 2
4 Java Ordner Allgemeine Java-Themen 27
S auf freigebene Ordner zugreifen Allgemeine Java-Themen 6
F Ordner auslesen und in Editor ausgeben Allgemeine Java-Themen 7
L Ordner in ZipDatei erstellen Allgemeine Java-Themen 3
V Der Ordner von Java ist gelöscht und ich kann es nicht neu instalieren! Allgemeine Java-Themen 2
S Ordner wechseln wie bei chdir Allgemeine Java-Themen 6
D Ordner Verpfadung Allgemeine Java-Themen 19
B ProcessBuilder: kann Ordner im home nicht finden Allgemeine Java-Themen 2
N Dateien in Ordner einsortieren Allgemeine Java-Themen 11
G Ordner für Dateien finden Allgemeine Java-Themen 3
G Globalen Programm-Ordner herausfinden Allgemeine Java-Themen 7
K settings.properties in den src-ordner schreiben Allgemeine Java-Themen 2
D Ordner mit *.properties in classpath ? Allgemeine Java-Themen 5
D eclipse: Zugriff auf Ordner per code Allgemeine Java-Themen 4
S Einen Ordner zurück von der JarDatei Allgemeine Java-Themen 6
G Programm ausführen, sobald Ordner geöffnet? Allgemeine Java-Themen 21
MQue Ordner anlegen Allgemeine Java-Themen 7
B ZIP - Problem mit dem ersten Ordner Allgemeine Java-Themen 2
M JFileChooser: Ordner anlegen Allgemeine Java-Themen 3
J Verschieben ganzer Dateien (und Ordner) Allgemeine Java-Themen 3
Q ||| Nur Dateien einlesen ohne Ordner. Allgemeine Java-Themen 6
I Diverse Files aus Ordner auslesen Allgemeine Java-Themen 10
M Ordner nach neuester Datei durchsuchen Allgemeine Java-Themen 4
D Dateien und ordner ausgabe Allgemeine Java-Themen 5
G Subclipse + svn:ignore - Ordner manuel ignorieren? Allgemeine Java-Themen 2
Y Ordner löschen Allgemeine Java-Themen 2
D Auf Laufwerk bzw. Ordner auf einem Server zugreifen Allgemeine Java-Themen 7
T Ordner überwachen Allgemeine Java-Themen 6
TheJavaKid Ordner in Zip laden Allgemeine Java-Themen 21
D Linux Link wird als Ordner interpretiert? Allgemeine Java-Themen 2
A Alle Ordner durchsuchen und Dateien finden Allgemeine Java-Themen 2
F Alle Files im Ordner nach Dateinamen durchsuchen Allgemeine Java-Themen 28
F Dateien in einem Ordner zählen Allgemeine Java-Themen 15
H Klassen aus einem Ordner zur Laufzeit laden. Allgemeine Java-Themen 6
André B. Sucher erfasst nur Ordner Allgemeine Java-Themen 10
M ganzen Ordner mit URL angeben Allgemeine Java-Themen 4
K Ordner/Dateistruktur in Objekten nachbilden Allgemeine Java-Themen 6
N Inhalte aller Txts in einem Ordner Addieren Allgemeine Java-Themen 5
N Alledateien in einem Ordner in ein Vector speichern Allgemeine Java-Themen 19
F Ordner erstellen Allgemeine Java-Themen 3
M Bilder-Ordner kann im JAR-File nicht gefunden werden Allgemeine Java-Themen 15
B dynamisches Laden aller Klassen in einem Ordner ?? Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben