Erstes Problem ist die schlechte Dokumentation. Sicher irgendwie ist
alles Dokumentiert, aber wichtige Dinge muß man sich zusammenreimen,
so z.B. daß man nach der (automatischen) Prüfung des Zertifikats,
manuell testen muß, ob das überhaupt der Server war, zu dem man
wollte. Ohne diese Prüfung, kann man bei irgendeinem Rechner mit
gültigem Zertifikat gelandet sein. Für Diese Prüfung muß man sich
durch schlecht Dokumentierte interne Datenstrukturen mit via
ASN1/OIDs hangeln. Wenn man Glück hat findet man einen Code-Schnipsel
im Internet, aber ob der nun wirklich alles richtig macht, ist dann
auch wieder Glückssache.
Unter diesen Umständen überrascht es mich überhaupt nicht, daß rund
um OpenSSL immer wieder Probleme auftauchen, selbst wenn der Bug
nicht in OpenSSL zu finden sein sollte.
Wenn hier jemand der Sicherheit einen Dienst erweisen will, dann
sollte er darauf achten, daß SSL einfach einzusetzen ist und daß die
Standardfälle mit einfach aufzurufenden Funktionen abgedeckt sind.
Dabei wäre weniger mehr. Lieber wenige einfache Funktionen, die die
Standardfälle abdecken, als zillionen von Features zu unterstützen,
die nachher dazu führen, daß die Sicherheit leidet, weil keiner weiß
wie er sie einsetzen muß, ohne sich in den Fuß zu schießen.
alles Dokumentiert, aber wichtige Dinge muß man sich zusammenreimen,
so z.B. daß man nach der (automatischen) Prüfung des Zertifikats,
manuell testen muß, ob das überhaupt der Server war, zu dem man
wollte. Ohne diese Prüfung, kann man bei irgendeinem Rechner mit
gültigem Zertifikat gelandet sein. Für Diese Prüfung muß man sich
durch schlecht Dokumentierte interne Datenstrukturen mit via
ASN1/OIDs hangeln. Wenn man Glück hat findet man einen Code-Schnipsel
im Internet, aber ob der nun wirklich alles richtig macht, ist dann
auch wieder Glückssache.
Unter diesen Umständen überrascht es mich überhaupt nicht, daß rund
um OpenSSL immer wieder Probleme auftauchen, selbst wenn der Bug
nicht in OpenSSL zu finden sein sollte.
Wenn hier jemand der Sicherheit einen Dienst erweisen will, dann
sollte er darauf achten, daß SSL einfach einzusetzen ist und daß die
Standardfälle mit einfach aufzurufenden Funktionen abgedeckt sind.
Dabei wäre weniger mehr. Lieber wenige einfache Funktionen, die die
Standardfälle abdecken, als zillionen von Features zu unterstützen,
die nachher dazu führen, daß die Sicherheit leidet, weil keiner weiß
wie er sie einsetzen muß, ohne sich in den Fuß zu schießen.