Kurz gesagt, nein, aber es kann subtile Fälle geben, je nachdem, wie Sie das System bereitstellen möchten.
HTTPS ist HTTP über SSL / TLS, und Sie können SSL / TLS ohne Zertifikat oder mit Zertifikaten anderer Typen als X.509 verwenden .
- Anonyme Cipher Suites: Sie können Verschlüsselung bereitstellen, jedoch ohne Authentifizierung. In Bezug auf die Sicherheit eher nutzlos ... Um RFC 4346 zu zitieren : " Anonymer Diffie-Hellman wird dringend davon abgeraten, weil er Man-in-the-Middle-Angriffe nicht verhindern kann. "
- Pre-Shared Keys : Es verfügt über einen eigenen Mechanismus zum Überprüfen der Remote-Identität, aber die gemeinsame Natur der Schlüssel bringt seine eigenen Probleme mit sich (insbesondere eine eingeschränkte Bereitstellung).
- Kerberos-Verschlüsselungssuiten : Der Client kann die Identität des Servers anhand des Kerberos-Prinzipalnamens überprüfen.
Genau genommen sagt die HTTP-über-TLS-Spezifikation Folgendes aus:
Im Allgemeinen werden HTTP / TLS-Anforderungen durch Dereferenzieren eines URI generiert. Infolgedessen ist der Hostname für den Server dem Client bekannt. Wenn der Hostname verfügbar ist, MUSS der Client ihn anhand der Serveridentität überprüfen, die in der Zertifikatnachricht des Servers angegeben ist, um Man-in-the-Middle-Angriffe zu verhindern.
Wenn der Client über externe Informationen zur erwarteten Identität des Servers verfügt, kann die Überprüfung des Hostnamens weggelassen werden. (Beispielsweise kann ein Client eine Verbindung zu einem Computer herstellen, dessen Adresse und Hostname dynamisch sind, der Client jedoch das vom Server vorgelegte Zertifikat kennt.) In solchen Fällen ist es wichtig, den Umfang akzeptabler Zertifikate so weit wie möglich einzuschränken um den Menschen in der Mitte Angriffe zu verhindern. In besonderen Fällen kann es angebracht sein, dass der Client die Identität des Servers einfach ignoriert. Es muss jedoch verstanden werden, dass dadurch die Verbindung für aktive Angriffe offen bleibt.
Kurz gesagt, es ist eindeutig für die Verwendung mit einem X.509-Zertifikat vorgesehen (es verweist eindeutig auf RFC 2459, das später durch RFC 3280 und 5280 ersetzt wird: PKIs mit X.509-Zertifikaten).
Wenn Sie Kerberos-Verschlüsselungssuiten verwenden, kann es zu einem Randfall kommen. Es kann sinnvoll sein, das Kerberos-Serviceticket des Servers so zu behandeln, dass es denselben Zweck wie das X.509-Zertifikat in normalem HTTPS hat, um die Identität der Remote-Partei zu überprüfen. Es passt nicht ganz in die Regeln von RFC 2818 (obwohl es möglicherweise unter " Wenn der Client externe Informationen zur erwarteten Identität des Servers hat, kann die Überprüfung des Hostnamens weggelassen werden. "), Aber dies wäre nicht der Fall völlig absurd. Abgesehen davon glaube ich nicht, dass übliche Browser TLS-Kerberos-Verschlüsselungssuiten im Allgemeinen unterstützen (eine Reihe kann Kerberos über die SPNEGO-Authentifizierung unterstützen, aber das hat nichts damit zu tun). Darüber hinaus würde dies auch nur in einer Umgebung funktionieren, in der die Verwendung von Kerberos geeignet ist.
" Den Verbrauchern die Gewissheit geben, dass sie eine Verbindung zur richtigen Website herstellen " ist tatsächlich eine der wichtigsten Voraussetzungen für die Sicherung der Kommunikation zwischen ihnen und Ihrem Server. Verwenden Sie ein Zertifikat, das sie überprüfen können, mit den entsprechenden Namenskonventionen (RFC 2818 oder neuer RFC 6125).