On Sat, Nov 18, 2000 at 04:53:23PM +0100, Ulf Lorenz wrote:
Geht auch, ohne daß man die Namen der Crypto-Funktionen kennt.
Die musste man ja eben in meinem Beispiel nicht kennen. .Das war ja der Witz an der Sache.
Voraussetzung: a) jeder Krypto-Algorithmus hat eine eigene Bibliothek. b) jede Bibliothek hat zusätzlich noch die Funktion getName().
Genauso wie bei mir. (OK, ich habe sie gruppiert)
c) alle Bibliotheken haben bestimmte Funktionen (die, die Reinhard genannt hat, aber ohne dieses komische "_XXX_" :))
Ja. Wenn an die Algos nicht gruppiert wie bei mir, kann man die XXX weglassen. Da meine Funktionaname auch zur Laufzeit ermittelt wurden, ist das genau das gleiche wie bei dir. Eben ein snprintf() mehr.
Vorgehensweise:
- Programm geht nach /opt/supermail/lib (häßlicher Pfad, seit wann
benutzt du Suse?)
Ich glaube /opt/<programmname> ist der generische Pfad für 3rd party software.
- Programm liest alle Dateinamen
- Program behandelt (alle auftretenden Fehler abfangend) alle Dateien
als Krypto-Bibliotheken und ruft jeweils getName() auf. 4. Programm präsentiert Benutzer seine Auswahl. 5. Programm ruft die entsprechenden Funktionen in der ausgewählten Bibliothek auf.
Jetzt frage ich mich, was du ausser dem Weglassen der XXX anders gemacht hast als ich. Ich glaube ich sollte aufhören, umfangreiche Antworten auf irgendwelche Fragen zu geben. Es hat entweder keiner Lust, die Dinger zu lesen, oder ich druecke mich zu beschert aus. In beiden Faellen ist mein Geschreibse sinnlos - OK.
Der einzige Nachteil, den ich in dieser Vorgehensweise sehe, ist die Tatsache, daß jeder Benutzer neue Krypto-Bibliotheken ohne großen Aufwand programmieren und einfügen kann, aber hier heißt ja keiner M$ :).
Ist doch gut, wenn der Nutzer (oder Admin) das kann. Ich halte die Produkte von MS nicht gerade fuer ein Paradebeispiel von Software, die man als Nutzer einfach erweitern kann. Insofern kapiere ich den Verweis auf MS nicht.
Außerdem kann man das durch Hardkodieren der Bibliotheken im Hauptprogramm verhindern.
Als Sicherheitsstrategie???
Reinhard