AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Geheime Daten einbinden

Ein Thema von Jelly · begonnen am 30. Sep 2003 · letzter Beitrag vom 7. Aug 2004
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#11

Re: Geheime Daten einbinden

  Alt 30. Sep 2003, 14:14
Sorry ich sehe gerade das da ein Fehler drinnen ist.

Zitat:
In der User-DB stehen alle registrierten Benutzer U, deren gehashtes Password Ph = H(P), und das mit diesem gehashten Ph verschlüsselte Passwort für Daten-DB -> Pd = C(D, Ph) !
Dies ist natürlich schwachsinnig, da ja Ph = H(p) und Pd = C(D, Ph) beide in der User-DB gespeichert sind wird es nun einfach für den Angreifer das D zu berechnen. Denn das Passwort Ph zur Entschlüsselung D = E(Pd, Ph) wird dem Angreifer der die User-DB lesen kann gleich frei Haus geliefert. Man muß dies absolut vermeiden und es sollte so aussehen:

In User-DB stehen U,Pv=H(P),s,Pd=C(D, H(s + P))
wobei
U = Username
Pv = H(P) = Passwordverifier zur Überprüfung des Passwortes
s = ein Zufallssalt, sprich z.b. 20 Bytes Zufallszahlen
Pd = C(D, H(s + P)), das verschlüsselte Data-DB Passwort D das mit H(Salt + Password) verschlüsselt wurde.

Diese sehr einfache Verfahren ermöglicht aber trotzdem bestimmte Angriffe. Um diese zu elimieren muß man dann schon echte mathematische "Public Key" Verfahren benutzen.

Gruß hagen
  Mit Zitat antworten Zitat
czapie

Registriert seit: 17. Nov 2002
Ort: Berlin
384 Beiträge
 
Delphi 5 Standard
 
#12

Re: Geheime Daten einbinden

  Alt 30. Sep 2003, 14:16
@Peter Lustig

Ist absolut richtig, gerade bei einer so "bekannten" Variante, wo ich weiß, dass dort irgendwo das password steckt, ist eine Veränderung tödlich
Mit Veränderung mache ich dan aben ein paar Hundert durchläufe und gucke was immer gleich geblieben, ist dann dauerts nicht mehr lange bis ich das PW habe.

Czapie.
Was man zu verstehen gelernt hat, fürchtet man nicht mehr.
(Marie Curie)
http://www.cafes-in-berlin.com
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#13

Re: Geheime Daten einbinden

  Alt 1. Okt 2003, 13:01
Hi,

aus all dem was ich bis jetzt gelesen hab, werd ich, um einen sichere Lösung zu finden, nicht um ein asymetrisches Verfahren kommen. Das ist aber sicherlich überdimensioniert für mein Problem.

Mir ist die Lösung von Hagen zwar ganz klar, und ist auch umsetzbar. Aber sie hat die gleich Sicherheitslücke, die eben nicht zu umgehen ist, nämlich irgendwo im Quelltext oder sonstwo muss ein unverschlüsseltes Passwort verankert sein. Bei Hagens Lösung ist dies das Passwort für die DB_User Datenbank.

Aber vielen Dank für die Anregung,

Gruss,
Tom
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#14

Re: Geheime Daten einbinden

  Alt 1. Okt 2003, 13:30
Zitat:
Mir ist die Lösung von Hagen zwar ganz klar, und ist auch umsetzbar. Aber sie hat die gleich Sicherheitslücke, die eben nicht zu umgehen ist, nämlich irgendwo im Quelltext oder sonstwo muss ein unverschlüsseltes Passwort verankert sein. Bei Hagens Lösung ist dies das Passwort für die DB_User Datenbank
Dies ist aber nur die leichter knackbare Hürde und bestimmt nicht die Sicherheit meines Vorschlages. Rein theoretisch könnte man die User_DB auch ungeschützt lassen, sie darf eben für normale User nur ReadOnly sein.

Wichtig an meinem Vorschlag ist es das der gültige Benutzer über seinen Benutzernamen und Passwort Zugriff auf die geschützte Daten_DB erlangt. Nur berechtigte Benutzer können diese DB öffenen.
Somit ist die Daten_DB sicher, und kann nur für berechtigte Benutzer mit korrektem Passwort geöffnet werden.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#15

Re: Geheime Daten einbinden

  Alt 2. Okt 2003, 10:55
um ein passwort zu verstecken: sehr sicher ist z.b. hardcoden mit nachträglicher bearbeitung. mach ne funktion, die als result das korrekt passwort liefert. dort speicherst du die ascii-codes des passwortes ab (eventuell noch ascii * 3, beim entschlüsseln dann durch 3), der dann in den string umgewandelt wird. strings werden "offensichtlich" in der exe hinterlegt, irgendwelche byte-variablen-arrays nicht... pass auf, dass die codeoptimierung die funktion nicht optimiert! so kommt man ohne abartigen disassembler-gebrauch nicht an das passwort.

Michael

PS: wenn jemand den traffic mitprotokolliert, könnte man das pw dort abfangen ?!?!
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#16

Re: Geheime Daten einbinden

  Alt 2. Okt 2003, 13:05
Wegen des Traffic mach ich mir keine Sorgen. Die Mühe lohnt sich nicht denk ich.

Gruss,
Tom
  Mit Zitat antworten Zitat
ExZtEd

Registriert seit: 7. Aug 2004
2 Beiträge
 
#17

Re: Geheime Daten einbinden

  Alt 7. Aug 2004, 00:38
Entschuldigung das ich den Thread wieder ausgrabe, aber ich stehe genau vor demselben Problem der Datenverschlüsslung für den Zugriff auf eine DB.
In meinem Fall muss der Zugriff auf die DB sicher sein, da eine große Menge an User darauf zugreifen sollen.

Die Vorschläge hier sind auch von der Sicherheit auf "Datei-Ebene" passabel, aber wie schaut es zur Laufzeit aus?
Während die Anwenung läuft wird ständig das DB-Passowort benötigt und liegt demzufole in einer VAR.
Bei einem Speicherabbild würde dieses dann doch wider UNVERSCHLÜSSELT sein!?

Der Delphi-Komponente die für die Datenbankverbindung benötigt wird, muss ja das Passwort unverschlüsselt übermittelt werden zur Laufzeit.
Wie kann gewährleistet werden das jenes Passwort auch zur Laufzeit noch sicher ist?

Oder sehe ich vor lauter Paranoidität, die vogeschlagene Sicherheit nicht?
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#18

Re: Geheime Daten einbinden

  Alt 7. Aug 2004, 00:50
wie negah schon gesagt hat: entweder du baust eine weitere ebene (den login-server ein), oder du musst mit der tatsache leben, dass das passwort irgendwann mal lokal verfügbar sein muss. (wenn auch nur zur laufzeit im speicher).
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#19

Re: Geheime Daten einbinden

  Alt 7. Aug 2004, 01:14
ich will ja nix sagen.. aber vor lauter password verschlüsselung.. ist euch schonmal in den sinn gekommen das man das password im klartext über einen packetsniffer lesen kann ?

wenn dann müsste man halt das ganze ding in eine sichere kapselung packen die dann so sicher ist das auch z.b. public key verfahren eingesetzt werden

oder einfach nur IPsec/VPN ^^

wobei das dann nur für "hacker" abschreckend wirkt und die user die mit der db arbeiten immernoch sniffen können....
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#20

Re: Geheime Daten einbinden

  Alt 7. Aug 2004, 02:12
ja, wurde schon erwähnt, dass das geht
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 +1. Es ist jetzt 00:27 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