Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi wert "sicher" in der registry ablegen (https://www.delphipraxis.net/7914-wert-sicher-der-registry-ablegen.html)

Snoop007 24. Aug 2003 12:22


wert "sicher" in der registry ablegen
 
hi,
wie / wo kann ich einen wert in der registry ablegen der relatiev sicher vor zugriffen des benutzers ist

hintergrund ich will eine kleine verschlüsselung inplementieren und muss das pw ( verschlüssel) hinterlegen wo am besen ?

ich brauche keinen 100%igen schutz, 60% reichen ;)
es soll nur nicht möglich sein relatiev einfach den wert zu finden

danke :)

negaH 24. Aug 2003 14:30

Re: wert "sicher" in der registry ablegen
 
Speichere ihn unter [hKey_Classes_Root]\CLSID\....\ ab. Lege unter diesem Schlüssel die Unterschlüssel auch noch an. Ein überfliegen im RegEdit über diese CLSID Schlüssel würde dann deinen CLSID EIntrag so erscheinen lassen als wäre es ein echter CLSID Eintrag.
Verschlüsseln brauchst du nicht es reicht ihn in ein anderes Textformat zu konvertieren. Sicherer wird er durch eine Verschlüsslung auch nicht.
Dieser Weg verhindert das man ihn schnell findet so lange man kein erfahrender Cracker ist. EIn erfahrener Cracker wird ihn mit den entsprechenden Tools in 30 Minuten knacken, egal ob verschl. oder nicht.

Willst du 60%'tige Sicherheit statt 100% dann sieht es so aus:
100% sicher sind nicht gespeicherte Passwörter die > 128 Bit lang sind. Zum knacken eines solchen Keys würde man rund 2^64 Sekunden sprich 584.942.417 Jahre benötigen. Bei 60%'tiger Sicherheit würde man immer noch 350.965.450 Jahre benötigen. Da aber deine EXE intern ein Passwort speichert um das Userpasswort zu verschlüsseln dürfte ein guter Cracker 1-2 Stunden benötigen. Somit wäre dein Weg falls du ihn nicht grundlegend änderst nur maximal 0,0000000056985 Prozent sicher, sprich annäherend 0%.

Das Problem bei deinem Vorgehen ist es das das Benutzerpasswort NIEMALS irgendwo verschlüsselt gespeichert werden sollte wenn das Verschlüsselungspasswort IN DEINER Anwendung gespeichert wird.

Damit muß deine Fragestellung geändert werden.
"Ich will keine 100% sichere Verschlüsselung, 0% reichen mir auch".

Gruß Hagen

Snoop007 24. Aug 2003 15:34

Re: wert "sicher" in der registry ablegen
 
hi hagen,
danke für deine antwort !
das ist ja eine spitze idee den CLSID - eintrag zu nehmen ! :dancer:

das mit der verschlüsselung habe ich nicht ganz verstanden
ich habe kein passwort in meinem programm,
ich lasse ein passwort durch eingabe der emailadresse generieren

das wenn das passwort gespeichert wurde und es so keinen 100%igen schutz gibt ist klar

grüsse :)

negaH 24. Aug 2003 20:41

Re: wert "sicher" in der registry ablegen
 
Du lässt ein Passwort auf Grund der EMail Adresse erzeugen, richtig. D.h. wenn ich weis WIE du aus der EMail Adresse ein Passwort erzeugst, dann benötige ich nur die EMail Adresse des Users damit ich ein gültiges Passwort erzeugen kann. Das ist ja unsicherer als dem User die Wahl eines eigenen Passwortes zu lassen.

Was ich meinte war aber das solche Aussagen wie

Zitat:

das wenn das passwort gespeichert wurde und es so keinen 100%igen schutz gibt ist klar
suggerieren das es Schutzmechanismen gäbe die 99.99% sicher wären und denoch ein Passwort speichern oder per EXE verschlüsseln.

Das ist absolut FALSCH, der Schutz solcher Systeme ist gleich NULL und nicht fast 100%.

Es gibt sehr wohl 100%'tig sichere Systeme. Jedes System das ein halbwegs gutes Passwort mit einem anerkannt sicheren Verschlüsselungsverfahren kombiniert ist 100%'tig sicher. Denn 500 Millionen Jahre würde man benötigen um dann dieses Passwort per Durchprobieren zu finden. Aus meiner Perspektive wäre dies 100%'tig sicher, aber nur wenn ich keinem dieses Passwort verrate und es noch keine Telepathen gibt.


Gruß Hagen

Chewie 24. Aug 2003 20:44

Re: wert "sicher" in der registry ablegen
 
Aus meiner Perspektive gibt es keinen 100%igen Schutz. Auch wenn du 500 Mio Jahre per Brute Force bräuchtest, das wäre der Worst Case, es könnte ja auch sein, dass zufällig das fünfte eingegebene Passwwot stimmt. Unwahrscheinlich, aber nicht unmöglich.

Lillebrohr 24. Aug 2003 20:45

Re: wert "sicher" in der registry ablegen
 
Guten Tag,


also wegen dem CLSID, wer schonmal mit dem Programm "Regmon" gearbeitet hat weiß das man durch dieses Utility alle Registrierungseinträge nachvollziehen kann die geöffnet wurden, während des Programmablaufes.

Das gleiche gilt für "Filemon", halt für alle Dateien.


Also das ist keine sinnvolle Methode, denke ich.

Mit freundlichen Gruß

LB

Snoop007 24. Aug 2003 20:45

Re: wert "sicher" in der registry ablegen
 
du hast ja recht, nur für ein freeware programm mache ich mir nicht so einen kopf :) und mein informatik studium hat noch nicht angefangen ;)

hab vielen dank :)

edit: dieser beitrag bezog sich auf hagen
aber danke für den hinweis

negaH 25. Aug 2003 00:26

Re: wert "sicher" in der registry ablegen
 
Zitat:

Aus meiner Perspektive gibt es keinen 100%igen Schutz. Auch wenn du 500 Mio Jahre per Brute Force bräuchtest, das wäre der Worst Case, es könnte ja auch sein, dass zufällig das fünfte eingegebene Passwwot stimmt. Unwahrscheinlich, aber nicht unmöglich
Einfach falsch! Es gibt den mathematisch bewiesenen 100%tigen Verschlüsselungsalgo. und er nennt sich OTP = One Time Pad. Dabei wird eine Message mit einem Passwort XOR verknüpft das 1. aus echtem Zufall besteht und 2. exakt so lang ist wie die Message und 3. nur einmal benutzt werden darf. Rein mathematisch kann jedes Kind nun beweisen das jedes Passwort jede mögliche Message mit exakt gleicher Wahrscheinlichkeit generiert. Somit kann jedes Passwort mit der gleichen Wahrscheinlichkeit wie das richtige Passwort eine wahrscheinlich gültige Message erzeugen, aber nur EINES, nämlich das richtige Passwort, erzeugt tatsächlich die rechtige Message. Diese Verschlüsselung ist somit absolut unknackbar da man ohne das richtige Passwort nie wissen kann ob man korrekt entschlüsselt hat.

Als Beispiel: Wir verschlüsseln die Message "Hagen" mit einem Zufallskey. Das Wort Hagen besteht aus 5 Buchstaben aus einem Alphabeth von 2*26 Buchstaben. Somit gibt es insgesammt 52^5 verschiedene Messages. Bei der OTP Verschlüsselung wäre jede dieser Message mit gleicher Wahrscheinlichkeit eine gültige Message aber nur eine die wahre Message. Somit wird die maximal theoretische Sicherheit bei einer 5 Zeichen Message erreicht, da nur mit dem richtigen Key aus dem Set aller möglichen Messages die richtige decodiert wird.

Zitat:

also wegen dem CLSID, wer schonmal mit dem Programm "Regmon" gearbeitet hat weiß das man durch dieses Utility alle Registrierungseinträge nachvollziehen kann die geöffnet wurden, während des Programmablaufes.

Das gleiche gilt für "Filemon", halt für alle Dateien.
Korrekt, deswegen meinte ich ja das man mit den richtigen Tools es viel schneller herausbekommt.
Trotzdem kann man einen Cracker der diese Tools benutzt enorm verärgern mit einem CLSID EIntrag. Die Frage ist WIE man auf diese Infos zugreift so daß der Cracker fast nichts mehr mit RegMon und FileMon anfangen kann. Als Tipp: Reizüberflutung, produziere soviel redudanten Input für den Cracker das er Jahre bracht um diesen auszuwerten. In diesem Kontext ist CLSID ein sehr guter Schutz da es rel. normal ist das man alle CLSID Einträge per Software scannt.


Gruß Hagen

negaH 25. Aug 2003 01:04

Re: wert "sicher" in der registry ablegen
 
Vielleicht sollte ich das mit der 100%'tigen Sicherheit nochmal anders darstellen.

0% wäre das gleiche als wenn man die unverschlüsselte Message vorsich hat. -x% kann es logischerweise nicht geben. 100% ist die maximale Sicherheit die erreichbar ist auf Grund der Messagelänge. Somit haben wir unseren theoretischen Wertebereich exakt festgelegt. Wann wäre eine Verschlüsselung nun 100% sicher ?? Es wäre genau dann der Fall wenn man die Aussage treffen kann das jeder mögliche Schlüssel im Set aller möglichen Messages immer eine wahrscheinlich richtige Message erzeugt und man diese Argumentation nicht durch speziellere Verfahren widerlegen kann.

Rein auf Grund der Wahrscheinlichkeit wäre es demnach sehr wohl möglich das man durch Zufall schon beim ersten Zufallspasswort das korrekte Passwort findet. Aber bei 100% sicheren Verfahren wird dieser Fall exakt zu 1/2^MessageLänge in Bits auftreten. D.h. bei einer 100% sicheren Verschlüsselung ist deren Sicherheit nur noch von der Message Länge abhängig. Dies ist eine mathematische Eigenschaft solch hypothetischer Verfahren. Tatsächlich erreicht natürlich kein heutiges und praktikabeles Verfahren diese 100%. Allerdings sind die heutigen Verfahren so sicher das es praktisch unmöglich wäre sie zu knacken. (mit dem heutigen Wissensstand).
Demnach ist die rein mathematische Aussage "100% sicher" eine ganz andere als aus Sicht des technischen Aspektes. Natürlich kann man so viel Glück haben das man jeden Tag in seinem Leben einen Sechser im Lotto hat, aber wie wahrscheinlich ist das ?


Gruß Hagen

Assarbad 25. Aug 2003 01:44

Re: wert "sicher" in der registry ablegen
 
Hagen, grade da du in Sachen Security ja was drauf zu haben scheinst, finde ich es eigenartig, daß du hier

Security through Obscurity

empfiehlst?! :-/


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.
Seite 1 von 3  1 23      

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