Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi PasswordChar für TMemo (https://www.delphipraxis.net/7292-passwordchar-fuer-tmemo.html)

mr2 8. Aug 2003 09:58


PasswordChar für TMemo
 
Hallo,

hat jemand von Euch 'nen Tip wie man mehrzeilige "Passwörter" (eigentlich sind es private RSA-Schlüssel) mit '*' tarnen kann, damit sie nicht im Klartext zu lesen sind?

Danke.

negaH 8. Aug 2003 10:03

Re: PasswordChar für TMemo
 
Das musst du mir genauer erklären. Wie kann es sein das man einen privaten RSA Schlüssel vom User eingeben lässt. Du meintest bestimmt das Passwort um den privaten RSA Schlüsel, der natürlich vom Program korrekt berechnet wurde, zu schützen. Zudem besteht der Private RSA Schlüssel meistens aus mehreren Komponenten, z.B. N public Modul, D private Exponent, U inverses, Q and P Primes eg. N = P * Q usw.

Mit TMemo geht das nicht ohne es komplett umzuschreiben.

Gruß Hagen

mr2 8. Aug 2003 10:12

Re: PasswordChar für TMemo
 
Der private RSA-Schlüssel kann vom User nur generiert werden (per Button) und wird bisher Base64-codiert angezeigt (zusammen mit dem öffentlichen Schlüssel). Aber aus Sicherheitsgründen sollen jetzt eben nur noch *'en angezeigt werden.

Stanlay Hanks 8. Aug 2003 10:20

Re: PasswordChar für TMemo
 
Du könntest den zu versteckenden Text in einer Varibalen Speichern und im Memo an sich nur soviele Sternchen anzeigen lassen, wie dieser Text Zeichen hat.

Man liest sich, Stanlay :hi:

mr2 8. Aug 2003 10:28

Re: PasswordChar für TMemo
 
Das ist wahrscheinlich die einfachste Variante :D
Danke.

negaH 8. Aug 2003 10:36

Re: PasswordChar für TMemo
 
Ich würde generell davon absehen den privaten Schlüssel anzuzeigen, es stellt nur ein zusätzliches Sicherheitsrisiko dar, und was soll der Anwender mit dieser Information anfangen können ?
Ich nehme an es ist ein Demo-Projekt oder so, bei einer kommerziellen Anwendung würde ich mich krumlachen, und das Ding in die Tonne kloppen. Sorry, nichts gegen dich, aber der private Schlüssel gehört sofort nach der Erzeugung des RSA Schlüssel, verschlüsselt gespeichert. Die Speicherbereiche die den privaten RSA Schlüssel und die Primzahlen enthalten gehören sofort mit Müll überschrieben. Alles andere ermöglicht es Spyware diesen Schlüssel zu klauen.

Gruß Hagen

mr2 8. Aug 2003 10:43

Re: PasswordChar für TMemo
 
der Anwender soll ja nur sehen, ob ein RSA-Schlüssel hinterlegt ist, oder eben nicht und gegebenenfalls ein neues Schlüsselpaar generieren.

negaH 8. Aug 2003 11:02

Re: PasswordChar für TMemo
 
Ähm, dann reicht ne MessageBox() aus. Der Anwender kann nur Dir als Entwickler vertrauen das alles Rechtens mit deiner Verschlüsselung ist.
Hier im Forum habe ich schonmal darauf hingewiesen das man eine RSA Implementierung OHNE die Sourcen zu kennen eh nie vertrauen darf. Es ist viel zu leicht RSA so zu coden das man als Programmierer jeden Schlüssel direkt knacken kann, ohne das man es ihm nachweisen könnte.

Gruß Hagen

mr2 8. Aug 2003 11:55

Re: PasswordChar für TMemo
 
Das gilt aber doch für jede Chiffrierung, oder?

negaH 8. Aug 2003 13:12

Re: PasswordChar für TMemo
 
Nein, nicht direkt. Zb. die Elliptischen Kurven ermöglichen nicht diesen Weg wie bei RSA, da alle sichheitsrelevanten Parameter öffentlich verifizierbar sind. Man kann also die ECC's so entwickeln das der User die Sicherheit der Implementierung ohne sie zu kennen verifizieren kann. Bei RSA ist genau das Gegenteil der Fall. Man kann RSA so implementieren das es unbeweisbar wird für den Anwender die Implementierung zu verifizieren OBWOHL er alle sicherheitsrelevanten Paramter kennt !!

Natürlich kann man jede Verschlüsselung so implementieren das sie unsicher wird und versteckte Kanäle nutzt die sie knackbar machen. Allerdings werden ALLE Paramter dem Anwender veröffentlich kann man diese entdecken. Aber nicht bei RSA.

Man sollte immer Verfahren nutzen bei denen die eigentlichen Schlüssel aus reinem Zufall bestehen und alle anderen Paramter öffentlich verifizierbar sind. Bei RSA sind aber die beide Primzahlen nicht öffentlich verfügbar udn bilden denoch den privaten Schlüssel.
Bei ECC's sind alle Paramter wie Primzahl bzw. Feld 2^m, 2^m*n des Galoisfeldes und deren Coeffizienten usw. verifizierbar. Der private Schlüssel besteht aus reinem Zufall und kann notfalls durch den Anwender per würfeln erzeugt werden. Sollte die Implementierung versuchen versteckte Kanäle einzurichten so müsste sie diesen Zufall manipulieren. Durch entschlüssung der durch die Implementierung erzeugten Daten kann man dann leicht seinen benutzen Schlüssel verifizieren. Es ist also viel schwerer versteckte Kanäle in ECC's zu implementieren ohne das man sie entdecken kann.

Beim RSA verfahren ist es beweisbar das diese versteckten Kanäle genausso sicher vor Entdeckung sind wie die Sicherheit vom RSA Algo. selber. Wenn also RSA nicht knackbar ist durch Faktorization so kann man, ohne die Sourcen zu kennen, auch den vesteckten Kanal nicht entdecken.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:56 Uhr.
Seite 1 von 2  1 2      

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