bernostern wrote:Da könntest du recht haben. Ich will nur nicht, dass Passwörter unverschlüsselt übertragen werden. Das erreiche ich doch auch ohne ein sign. Cert. oder?
Nein, weil das keine Man-In-The-Middle-Attack ausschließt (außer du überprüfst eben selbst den Fingerprint).
Wenn das Zertifikat nicht von einer dem Browser bekannten CA signiert wurde, kann der Browser nicht überprüfen, ob es sich um ein gefälschtes oder ein echtes Zertifikat handelt.
Beispiel: Ich kann einfach ein Zertifikat für die Domain "microsoft.com" erstellen und einen Server einrichten, der dieses verwendet. Das es sich um ein gefälschtes Zertifikat handelt, ist nur daran erkennbar, dass es nicht von einer CA signiert wurde (die das natürlich nicht macht, weil ich ja nicht der Eigner von "microsoft.com" bin).
Jetzt sorge ich dafür, dass du auf meinem Server landest, wenn du auf "microsoft.com" gehst (z.B. über DNS-Spoofing). Da du die Warnung im Browser beim Verbindungsaufbau ignorierst, hast du eine sicher verschlüsselte Verbindung aufgebaut, nur eben nicht zu dem Server den du glaubst. Ich kann jetzt alle Daten, die du mir schickst entschlüsseln, mitlesen und dann an den echten "microsoft.com"-Server weiterleiten (mit der Antwort ist es das gleiche in der umgekehrten Richtung), ohne, dass du davon etwas merkst. Ich kann natürlich die Daten die du schickst, oder empfängst beliebig modifizieren, wie z.B. eine Datei, die du herunterladen willst, durch eine mit einem Trojaner versehene Version ersetzen, etc.
Um es also klar zu sagen: Zertifikate, die nicht von einer CA signiert wurden, sind (fast) wertlos und nur für Testzwecke zu gebrauchen.
Bei Anwendungen, die nur von einer begrenzten Rechnergruppe verwendet werden, kann man durchaus eine eigene CA verwenden. Dann muss man allerdings dafür Sorge tragen, dass das CA-Zertifikat auf all diesen Rechnern auf einem sicheren Weg (z.B. indem man persönlich mit einer Diskette vorbeigeht) installiert wird.
Diese Situation unterscheidet sich dann faktisch nicht mehr von einer öffentlichen CA, da die öffentlichen CAs eben nur den Vorteil haben, dass ihre Zertifikate in so gut wie allen Browsern bereits vorinstalliert sind.