Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wie überträgt MySQL-Connect User/Passwort? (https://www.delphipraxis.net/77004-wie-uebertraegt-mysql-connect-user-passwort.html)

diabox 13. Sep 2006 12:42

Datenbank: MySQL • Version: 5.1 • Zugriff über: MySQL Client API for Borland Delphi (version 4 and above)

Wie überträgt MySQL-Connect User/Passwort?
 
Es gab ja schon oft Diskussionen zum Thema mit FTP-Server verbinden und die Logindaten verschlüsseln. Zwar wurden Möglichkeiten gefunden, es "Neugierigen ^^" schwerer zu machen das Passwort direkt aus der EXE zu holen, aber es wurde darauf hingewiesen, dass die Logindaten unverschlüsselt - also im Klartext - an den FTP-Server gesendet werden.

Ich wüsste jetzt gern, ob ich mir die Mühe sparen sollte die Logindaten für den MySQL-Server in meiner EXE zu verschlüsseln oder ob die Logindaten eh unverschlüsselt übertragen werden.
(Ich weiß, dass die MySQL Logindaten nur als Hash (MD5) auf dem Server liegen, aber verschlüsselt bereits der Client die Logindaten (A) oder werden die Daten erst im Klartext vom Client an den Server gesendet und der Server hasht die Logindaten dann um sie mit den gespeicherten Daten abzugleichen)

A: CLIENT --[hasht die Logindaten]--> --[senden]--> SERVER --> ABGLEICH
B: CLIENT --[senden]--> SERVER --[hasht die Logindaten]--> ABGLEICH

Ich hoffe die Entwickler haben sich für Methode A entschieden :), aber ich wüsste es gern genau.

Zacherl 13. Sep 2006 13:07

Re: Wie überträgt MySQL-Connect User/Passwort?
 
Hi,

herzlich willkommen in der DP :cheers:

Zur Frage: Du könntest ja mal einen Sniffer mitlaufen lassen und die gesendeten Pakete untersuchen ... Ich halte eine Übertragung des Kennworts im Klartext allerdings auch für sehr unwahrscheinlich.

Florian

diabox 13. Sep 2006 13:31

Re: Wie überträgt MySQL-Connect User/Passwort?
 
So hab den Sniffer angeworfen. Und wenn ich das richtig sehe wird der Username zwar nicht verschlüsselt (geht ja auch schlecht, wenn das so MySQL so arbeitet wie ich mir das vorgestellt hab), aber das Passwort wird verschlüsselt. Bin mir nur nicht sicher ob es wirklich ein MD5 ist, sind zwar 16 Zeichen (glaube ich), aber evtl. wird es noch einmal anders verschlüsselt. Aber noch ein Indiz für das Verschlüsseln per MD5 ist die Antwort vom Server:

SQL-Code:
GRANT USAGE ON *.* TO 'user'@'%' IDENTIFIED BY [b]PASSWORD '[i]16 stellige Kombi a-f 0-9: Also MD5[/i]'[/b] WITH MAX_QUERIES_PER_HOUR 1600 MAX_CONNECTIONS_PER_HOUR 400

Zacherl 13. Sep 2006 13:34

Re: Wie überträgt MySQL-Connect User/Passwort?
 
Vermutlich wird ein asynchroner Verschlüsselungs-Algorythmus wie RSA oder SRP verwendet, um das Kennwort auszutauschen ...

Zitat:

16 stellige Kombi a-f 0-9: Also MD5
Auch das ist ja nicht sicher ... die Information wird halt nur hexadezimal übertragen.

Florian

Zacherl 13. Sep 2006 13:36

Re: Wie überträgt MySQL-Connect User/Passwort?
 
Zitat:

Zitat von Florian Bernd
Vermutlich wird ein asynchroner Verschlüsselungs-Algorythmus wie RSA oder SRP verwendet, um das Kennwort auszutauschen ...

Zitat:

16 stellige Kombi a-f 0-9: Also MD5
Auch das ist ja nicht sicher ... die Information wird halt nur hexadezimal übertragen.

Florian


Zacherl 13. Sep 2006 13:37

Re: Wie überträgt MySQL-Connect User/Passwort?
 
Mist ... bitte löschen


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:50 Uhr.

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