Delphi-PRAXiS
Seite 4 von 6   « Erste     234 56      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DB-Zugangsdaten verschlüsseln (https://www.delphipraxis.net/197605-db-zugangsdaten-verschluesseln.html)

ernschd 24. Aug 2018 09:54

AW: DB-Zugangsdaten verschlüsseln
 
Wie wäre es mit einem Zugriff auf die Datenbank per SSH-Tunnel? Dann könnte die Authentifizierung mittels Schlüsselpaar (Private-/Public-Key) erfolgen.
Wir verwenden beispielsweise für so ein System UniDac mit SecureBridge.

mkinzler 24. Aug 2018 10:15

AW: DB-Zugangsdaten verschlüsseln
 
Es geht um die Zugangsdaten zur Datenbank. Da hilft ein Tunnel eher nicht. Zudem ist vermutlich/möglicherweise auch die Datenbank jeweils lokal. Auch bei einem ssh-Tunnel benötigt man zudem Zugangsdaten.

Zitat:

Ihr baut euch eine eigene Benutzerverwaltung! Das ist nicht notwendig.
Könnte man natürlich machen.Man macht sich hierbei aber abhängig vom entsprechenden DBMS. U.U. ist hierfür aber wieder ein Benutzer mit (teilw.) Adminrechten notwendig, dessen Zugangsdaten man u.U. in der Exe oder in Datei ablegen muss.

Zitat:

Das Konzept-Problem ist der direkte Zugriff vom Client auf die Datenbank und das in jeder Hinsicht. Zugriffs-Komponenten, Treiber, Zugangsdaten, etc.
Lokale Installationen mit lokaler Datenhaltung nun per sé schlecht? Cloud verpflichtend?

Bisher hatte er die Zuganngsdaten im Klartext(!) in einer Datei hinterlegt. Ein Ablage verschlüsselt wäre deutlich besser/sicherer. Dies abzulehnen, da knackbar finde ich paradox!

Ykcim 24. Aug 2018 10:25

AW: DB-Zugangsdaten verschlüsseln
 
Hallo Zusammen,

ich muss das Thema noch einmal aufgreifen.

Delphi-Quellcode:
function XORCrypt(Text,Passwort:string):string;
var
   x,y,lg : integer;
begin
   if length(Text)>0 then begin
      y:=1;
      lg:=length(Passwort);
      for x:=1 to length(Text) do begin
         Text[x]:=chr(ord(Text[x]) xor ord(Passwort[y]));
         if y=lg then begin
            y:=1
         end
         else begin
            inc(y);
         end;
      end;
   end;
   Result:=Text;
end;
Das ist die XOR-Verschlüsslungsfunktion.

Aber bei manchen Werten baut sie Mist. Z.B. wenn ich eine IP-Adresse mit 172. klappt das Entschlüsseln nicht mehr.
"17"=1
"1756789456"=1
"2756789456"=2
aber
"22756789456"=22756789456
Die 7 an der zweiten Stelle macht Schwierigkeiten. Ich weiß, aber sicherlich gibt es noch weitere Problemfälle.

Ist das bekannt und wie kann ich damit umgehen?


Vielen Dank
Patrick

KodeZwerg 24. Aug 2018 10:37

AW: DB-Zugangsdaten verschlüsseln
 
Bist Du nur an einer Reparatur Deiner Methode interessiert oder magst Du auch andere Verfahren per Code demonstriert bekommen?

Ykcim 24. Aug 2018 10:43

AW: DB-Zugangsdaten verschlüsseln
 
Ich bin auch für andere Verfahren offen.
Allerdings sollten die angemessen sein und einfach implementierbar. Ich benötige für diese Anwendung keine Hochsicherheit und habe auch zu wenig Ahnung davon, als das ich jetzt mal eben auf die Schnelle umgesetzt bekomme... Bislang kam ich ganz ohne aus, aber langsam muss ich mir meine Gedanken machen.

Hoffe, dass ich nachvollziehbar
Patrick

Schokohase 24. Aug 2018 10:53

AW: DB-Zugangsdaten verschlüsseln
 
Zitat:

Zitat von mkinzler (Beitrag 1411534)
Zitat:

Das Konzept-Problem ist der direkte Zugriff vom Client auf die Datenbank und das in jeder Hinsicht. Zugriffs-Komponenten, Treiber, Zugangsdaten, etc.
Lokale Installationen mit lokaler Datenhaltung nun per sé schlecht? Cloud verpflichtend?

Geht es hier um eine lokale Installation mit lokaler Datenhaltung?

Ich bin davon ausgegangen, dass es mehrere Clients gibt und ein separaten DB-Server. Darauf beziehen sich meine Antworten und darum diese bitte auch in diesem Kontext und keinem anderen Kontext interpretieren.

Und was ist denn jetzt schon wieder mit Cloud? Nur weil REST-API? Die kann man nur in der Cloud haben?

Ja, das kann man Unwissenden evtl. so verkaufen, aber bitte lasst mich dann da raus.

jobo 24. Aug 2018 10:54

AW: DB-Zugangsdaten verschlüsseln
 
Zitat:

Zitat von Schokohase (Beitrag 1411514)
Das Konzept-Problem ist der direkte Zugriff vom Client auf die Datenbank und das in jeder Hinsicht. Zugriffs-Komponenten, Treiber, Zugangsdaten, etc.

Ich würde da widersprechen und sagen, das ist ganz normal und kein Problem. Es gibt verschiedene Architekturkonzepte, die je nach Anwendungsfall ihre Berechtigung haben und ihre Stärken ausspielen (können).

ernschd 24. Aug 2018 10:57

AW: DB-Zugangsdaten verschlüsseln
 
Zitat:

Zitat von mkinzler (Beitrag 1411534)
Es geht um die Zugangsdaten zur Datenbank. Da hilft ein Tunnel eher nicht. Zudem ist vermutlich/möglicherweise auch die Datenbank jeweils lokal. Auch bei einem ssh-Tunnel benötigt man zudem Zugangsdaten.

Natürlich, aber mit der Schlüssel-Authentifizierung wird zumindest das Passwort nicht mehr benötigt.
Die übrigen Zugangsdaten könnten dann mit einer XOR-Verschlüsselung hinterlegt werden.

Ykcim 24. Aug 2018 11:00

AW: DB-Zugangsdaten verschlüsseln
 
Also die Daten liegen auf einem MySQL DB Server, der nur innerhalb des Unternehmen erreichbar ist.
Innerhalb des Unternehmens greifen mehrere User auf das Programm und damit auch auf die Daten zu.

Heute ist es noch so, dass ich das Programm ebenfalls auf einen Server lege und die User eine Verknüpfung auf ihren Rechnern zu diesem Programm haben...

Ich möchte die Zugriffsdaten einfach nicht mehr im Klartext da stehen haben...

Vielen Dank für die rege Diskussion und Hilfestellung!
Patrick

KodeZwerg 24. Aug 2018 11:08

AW: DB-Zugangsdaten verschlüsseln
 
Liste der Anhänge anzeigen (Anzahl: 2)
Anhang 49820
Schau mal ob dir dieses Projekt weiterhelfen kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:27 Uhr.
Seite 4 von 6   « Erste     234 56      

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