AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Verschlüsselung mit Masterkey

Verschlüsselung mit Masterkey

Offene Frage von "NoGAD"
Ein Thema von NoGAD · begonnen am 11. Feb 2021 · letzter Beitrag vom 13. Feb 2021
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Erfurt
199 Beiträge
 
Delphi 10.4 Sydney
 
#1

Verschlüsselung mit Masterkey

  Alt 11. Feb 2021, 17:09
Datenbank: ABS_Database • Version: 7.92 • Zugriff über: ABSTable
Hallo.

Die benutzte Datenbank ist für meine folgende Frage egal, es geht mir um ein Grundprinzip und ob das tauglich ist. Die hier benutzen Werte sind Beispiele, wenn ich z.B. 1000 für den Grundwert der Anzahl der UUID schreibe, sind dann später vielleicht auch 5000 oder 10.000. Wie geschrieben: Beispiele.


Folgende Idee hatte ich letzte Nacht, als ich nicht schlafen konnte:


Für neue Projekte würde ich gerne Datenbanken verschlüsseln und zwar so, dass ich das Passwort nicht im Code hinterlege, sondern bei der Installation oder dem erstem Aufruf des Programmes einen Schlüssel generiere.

Dies würde theoretisch über UUID ablaufen, indem ich eine Datei mit 1000 Stück davon fülle. Im Anschluss wird diese Datei mit einem Passwort gezippt. Es bleibt vielleicht eine Länge von 2/3 übrig. Nun würde diese gepackte Datei als Schlüssel herhalten.

In der Anwendung selbst bestimme ich nun 100 Offsets, durch welche einzelne Stellen aus der Datei herausgezogen werden. Somit baue ich mir einen Schlüssel zusammen und könnte dennoch im Notfall auf die Datenbank, welche mit diesen Offsets verschlüsselt sind, als Masterkey zugreifen.

Wichtig ist natürlich, dass diese gezippte Datei immer bestehen bleibt, wenn sie denn einmal benutzt worden wäre.


Was haltet ihr von dieser Idee?

LG Mathias
Mathias
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
431 Beiträge
 
Delphi XE5 Professional
 
#2

AW: Verschlüsselung mit Masterkey

  Alt 11. Feb 2021, 18:49
Hallo Mathias,
Du könntest den MasterKey auch über einen Fingerprint der Hard- und/oder Software erstellen: S. dazu z.B. https://www.delphipraxis.net/206768-...alisieren.html. Es wäre vielleicht einfacher.
Gruß, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher.
John C. Cornelius
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Erfurt
199 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Verschlüsselung mit Masterkey

  Alt 11. Feb 2021, 18:58
Hallo Mathias,
Du könntest den MasterKey auch über einen Fingerprint der Hard- und/oder Software erstellen: S. dazu z.B. https://www.delphipraxis.net/206768-...alisieren.html. Es wäre vielleicht einfacher.
Gruß, Andreas


Hallo Andreas,

hatte ich auch überlegt. Aber dann ist die Datenbank nicht mehr auf ein anderes System portierbar.
Mathias
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.293 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Verschlüsselung mit Masterkey

  Alt 12. Feb 2021, 07:27
Hallo,

ich versteh nicht, was die Schlüsseldatei bringen soll.

Wenn die als Passwortersatz herhalten soll, dann muss die letztlich vom eigentlichen System (Programm) getrennt aufbewahrt sein. Sonst kann jeder der Zugriff auf den Rechner hat und das Programm starten kann, auch die Daten entschlüsseln.

Grüße
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
431 Beiträge
 
Delphi XE5 Professional
 
#5

AW: Verschlüsselung mit Masterkey

  Alt 12. Feb 2021, 09:04
Hallo Mathias,
auch ich verstehe nicht genau, was Dein konkretes Ziel ist. Möchtest Du mit dem MasterKey erreichen,
a): daß nur die berechtigten User auf die DB zugreifen können, oder
b): daß nur auf der gegebenen Hardware auf die DB zugegriffen werden kann, oder
c): etwas darüber hinaus.
Gruß, Andreas
[edit]:
d): oder, daß nur mit Deinem Programm & gegebener Version auf die DB zugegriffen werden kann
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher.
John C. Cornelius

Geändert von Andreas13 (12. Feb 2021 um 09:14 Uhr)
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.375 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Verschlüsselung mit Masterkey

  Alt 12. Feb 2021, 13:19
Ich hab nicht verstanden, was du erreichen willst.

Ich habe nur die bedenken, dass du etwas bauen willst, was sich unfreundlich für Kunden auswirken kann.
Was ist wenn der Rechner kaputt geht und der Kunde sein Backup auf einen neuen System einspielt. Verliert er dann die Daten?
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/channel/UCUG...aXLclwO9qA-lzA
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.024 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Verschlüsselung mit Masterkey

  Alt 12. Feb 2021, 17:33
OK, Du erzeugst 1000 UUID's also ich gehe davon aus Du meinst GUID's den UUID's sind eher so iPhone Geräte ID's…
Egal..

Von diesen 1000 die Du gespeichert hast, nimmt die Anwendung 100. OK

Und dann?

Willst Du jeden Datensatz mit einem anderen Key aus den 100 verschlüsseln? Warum dann 1000 erzeugen?
Jeder Datensatz müsste dann den Offset speichern...
Dann kannst Du auch einen Random String erzeugen den Du speicherst und diesen (Salt) mit einem Schlüssel verbinden.

OK... Ich frage dann lieber auch noch mal, was willst Du damit erreichen?

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Erfurt
199 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Verschlüsselung mit Masterkey

  Alt 12. Feb 2021, 18:09
Ich habe einmal ein Beispiel programmiert.

Vielleicht könnt ihr dazu noch Kommentare abgeben, ob das praktikabel ist.

Code:
Ziel der Übung war, einen Algorithmus zu erstellen, mit welchem ein Schlüssel unabhängig von eingesetzter Hardeware erstellt werden kann.

Im Schritt 1 wird eine Anzahl x an UUID erzeugt und diese in einer Textdatei gespeichert.
Im Schritt 2 wird die Textdatei verschlüsselt. Hier wäre es noch möglich, ein festes Passwort zu benutzen, ist aber nicht nötig.
Im Schritt 3 werden zufällig eine Anzahl von Zahlen erstellt. Diese werden im folgenden Schritt als Offsets für die Positionen in der gezippten Datei herangezogen.
Im Schritt 4 wird die gezippte Datei als String gelesen und über die Offsets ein Zahlenwert des jeweiligen Zeichens erstellt.
Diese Zahlenwerte werden zu einer großen Kette vereint, welches am Ende den Code abbildet.

Für die Nutzung des Codes sind zwei Dinge wichtig.

1. Die gezippte Datei muss permanant verfügbar sein.
2. Die Offsets müssen als Liste/Array vorliegen.

Dieser Algorithmus ist nur eine schematische Darstellung und kann beliebig geändert werden.

Nochmal zur Erklärung:

Ich suche eine Möglichkeit, ein Passwort zu erstellen, welches ich als Programmierer nicht kenne.
Dieses Passwort soll eine Datenbank (in meinem Fall ABSDatabase) verschlüsseln.

Gleichzeitig möchte ich aber im Bedarfsfall eine Möglichkeit haben, Menschen, die eine Datenbank mit meinem Programm benutzen, im Ernstfall Hilfe zu leisten. Hier kommt das generierte Passwort ins Spiel. Durch festgelegte Offsets im Programmcode kann ich aus der erstellten Datei diesen errechnen, um die Datenbank zu öffnen. Aber von Haus aus, ist es eben niemandem so einfach, an die Daten der Datenbank zu gelangen.

Ist das so verständlicher?


LG Mathias
Angehängte Dateien
Dateityp: zip uuid.zip (3,5 KB, 2x aufgerufen)
Mathias

Geändert von NoGAD (12. Feb 2021 um 18:26 Uhr) Grund: Änderung des Quellcodes
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.293 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Verschlüsselung mit Masterkey

  Alt 12. Feb 2021, 19:20
Nochmal zur Erklärung:

Ich suche eine Möglichkeit, ein Passwort zu erstellen, welches ich als Programmierer nicht kenne.
eine gute Verschlüsselung überlässt das Passwort dem Anwender. Wenn der Entwickler ein "Masterpasswort" besitzt, dann stinkt das gewaltig!


Code:
Für die Nutzung des Codes sind zwei Dinge wichtig.

1. Die gezippte Datei muss permanant verfügbar sein.
Und genau das ist auch das Problem: Wie oben von mir beschrieben. Sicherheit funktioniert NUR MIT dem Anwender. Keinesfalls ohne ihn. Überlass dem Anwender ein gutes Passwort einzugeben, versuch ne ausreichende Länge festzulegen und empfiehl den Einsatz eines Passwortmanager.

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von NoGAD
NoGAD

Registriert seit: 31. Jan 2006
Ort: Erfurt
199 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Verschlüsselung mit Masterkey

  Alt 12. Feb 2021, 20:03
eine gute Verschlüsselung überlässt das Passwort dem Anwender. Wenn der Entwickler ein "Masterpasswort" besitzt, dann stinkt das gewaltig!


Und genau das ist auch das Problem: Wie oben von mir beschrieben. Sicherheit funktioniert NUR MIT dem Anwender. Keinesfalls ohne ihn. Überlass dem Anwender ein gutes Passwort einzugeben, versuch ne ausreichende Länge festzulegen und empfiehl den Einsatz eines Passwortmanager.

Grüße
Hallo,

Wie oft beschrieben wird, soll es auch eine gute Idee sein, über die Hardware-ID einen Schlüssel zu erzeugen. Das entspricht dann aber auch nicht Deinem Hinweis. Wie ist das dann zu bewerten?

Einen Masterkey, wie ich ihn vorgestellt habe, erfüllt für meine Bedürfnisse viel mehr, als ein bloßes Passwort.
Eine Datenbank, welche für ein Mehrbenutzersystem bereit gestellt wird, sollte ja eigentlich gerade nicht mit einem Anwenderpasswort versehen werden, da ansonsten hier wieder viel zu viel Daten abgegriffen werden könnten. Mit meiner Idee wäre dem eine Hürde gesetzt.
Am Ende entscheidet in meinem vorgestellten Fall ja der Anwender/Systembetreuer, ob ich Zugriff auf den Schlüssel bekommen dürfte. Für eine reine Programmentwicklung ist der dann aber überhaupt nicht notwendig.

Wie schon geschrieben, es ist eine Idee. Und in meinen Augen, für mein Programm wäre es eine sehr gute Möglichkeit, das ganze Systemunabhängig nutzen zu können.

Lieben Gruß Mathias
Mathias
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf