[General] Properties verschlüsseln

03/10/2015 16:51 chrisyou#1
Hey,
ich speichere Programmeinstellungen in einer .properties-Datei.
Derzeit programmiere ich in Java, ist für meine Fragestellung aber nicht weiter relevant.

Ich möchte nun eine Angabe meiner Einstellungsdatei verschlüsseln.
Allerdings kann ich ja wohl schlecht den Key zum Verschlüsseln in Klartext in meinen Quellcode packen.

Welche Methoden bieten sich an, um jenes zu umgehen?

Grüße
03/11/2015 09:15 Dingtax#2
Wenn du eine Datei verschlüsseln möchtest ohne das der Nutze dafür irgendwelche Eingaben machen muss, dann muss dein Programm eigenständig in der Lage sein die Datei zu entschlüsseln. Daraus folgt, dass die Entschlüsselung somit nachvollzogen werden kann. Du kannst nur versuchen den Schlüssel so gut wie möglich zu verstecken und zu hoffen das ihn niemand findet. Ob die Verschlüsselung dann noch sinnvoll ist musst du entscheiden.

LG
03/11/2015 15:48 chrisyou#3
Quote:
Originally Posted by Dingtax View Post
Wenn du eine Datei verschlüsseln möchtest ohne das der Nutze dafür irgendwelche Eingaben machen muss, dann muss dein Programm eigenständig in der Lage sein die Datei zu entschlüsseln. Daraus folgt, dass die Entschlüsselung somit nachvollzogen werden kann. Du kannst nur versuchen den Schlüssel so gut wie möglich zu verstecken und zu hoffen das ihn niemand findet. Ob die Verschlüsselung dann noch sinnvoll ist musst du entscheiden.

LG
Da hast du Recht.
Selbst ein eingebauter Mechanismus zum Generieren eines Schlüssels würde nachvollziehbar sein.

Gibt es also keine Möglichkeit der Verschlüsselung in dem Sinne, dass man auch mit Source-Code den Mechanismus nicht nachvollziehen kann?
03/11/2015 16:04 XxharCs#4
Benutz nen Public&Private key für die Verschlüsselung. Den Privat key bekommst dann übers Netz.

Jedoch stellt sich die Frage wie viel Sinn es macht. Wenn man mit Java SE arbeitet sollte man schon wissen das solche Sachen sowieso nicht sicher sind.
03/12/2015 12:32 xYomix#5
Wichtige Daten speichert man nicht Lokal beim Benutzer.
Sowas kann man immer iwie auslesen.

Falls es sich um nicht allzu wichtige Daten handelt, würde ich einen Schlüssel per HardwareID erzeugen und dann z.B mit AES verschlüsseln.
03/12/2015 16:58 chrisyou#6
Quote:
Originally Posted by xYomix View Post
Wichtige Daten speichert man nicht Lokal beim Benutzer.
Sowas kann man immer iwie auslesen.

Falls es sich um nicht allzu wichtige Daten handelt, würde ich einen Schlüssel per HardwareID erzeugen und dann z.B mit AES verschlüsseln.
Handelt sich um ein Passwort eines Online-Dienstes. Auch die Methode wäre ja nachzuvollziehen, wenn man den Source-Code hat, aber ich gehe mal davon aus, dass sich das nicht umgehen lässt - ohne User-Eingabe.