Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

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

Re: Rijndael verschlüsselung mit Delphi 7 Pers.

  Alt 16. Mai 2004, 21:16
Es werden auch tatsächlich 2 solche Komponenten installiert. Der THashManager und TCipehrManager. Beide dienen als Designtime-Kontainer zur Auswahl der installierten Hash & Verschlüsselungsalgorithmen.
Allerdings sind diese beiden Kompos. nur entwickelt worden um in der DEMO zum DEC benutzt zu werden und die Registrations-Features der DEC Klassenhierarchie zu demonstrieren.

Mit Nutzung dieser Komponenten entstehen in echten Anwendungen drei gravierende Probleme:

1.) unter Delphi 7 arbeiten sie nicht sauber

2.) sie erstellen das ausgewählte Krypto-Objekt eben zur Erstellungszeit des Formulares und verbleiben bis zur Zerstörung des Forms im Speicher. Dies ist im Vergleich zur realen Nutzungsdauer ein zu langer Zeitraum und gibt einem Angreifer genügend Zeit zur Analyse und Angriff. Kurz gesagt: die Lebenszeit ist überdimensioniert und kann die Sicherheit damit reduzieren.
Sicherheitstechnisch ist es doch so daß die beste Strategie eines Angreifers darin besteht das System so zu patchen das der Anwender glaubt alles wäre noch sicher. Die Sicherheit der Algorithmen anzugreifen ist dazu im Vergleich für einen Angreifer unpraktisch und grenzt an Dummheit. Die Algos. als solche sind anerkannte und kryptoanalysierte Verfahren die mit heutiger Technik nicht gebrochen werden können. Somit wäre es am besten vor oder nach der Verschlüsselung einen Angriff zu starten und den Anwender sozusagen zu täuschen. Dies ist am erfolgsversprechensden. Nun, in diesem Punkt spielt eben die Lebensspanne der Crypto-Objecte eine entscheidende Rolle. Je länger um so besser für den Angreifer auszuhebeln.

3.) damit zur Designzeit viele Algos auswählbar sind müssen diese Algos im System registriert werden. Nun DEC enthält über 50 verschiedene Krypto-Algos und ALLE werden zur Designzeit UND Laufzeit als Code in die Anwendung eingelinkt. Normalerweise selektiert man aber zur Projektierungsphase nur 2-3 der verfügbaren Algos. nach Sicherheitsbedürfnis. D.h. die Komponenten erzwingen einen enormen Überhang an unbenutzten und meist inaktivem Code. Der Überhang kann bis zu 1.5Mb betragen, obwohl nur wenige Kb's benötigt werden.

Wird aber, wie oben, direkt die entsprechende Klasse direkt benutzt entfallen all diese Aspekte.

Gruß Hagen
  Mit Zitat antworten Zitat