HTTPS-Kommunikation ohne Zertifikat anfordern

527
Kaleem Ullah

Gibt es einen Hack oder die Architektur von SSL / TLS ermöglicht die Kommunikation mit einem Server, ohne dass das Zertifikat angefordert werden muss, indem das Zertifikat vorab heruntergeladen und installiert wird.

Der Grund, warum ich dies frage, ist, dass die SNI-Erweiterung während des Handshake-Prozesses die Website, mit der ich kommuniziere, seit SNI den Domänennamen in Klartext sendet ...

Ich habe versucht, ältere Versionen von SSL zu verwenden, wobei kein SNI vorhanden war, die meisten Server jedoch keine ältere Version von SSL unterstützen.

0

1 Antwort auf die Frage

2
grawity

Sie fragen nach zwei verschiedenen Dingen: Hostnamenlecks durch den Client, der SNI sendet, und Hostnamenlecks durch den Server, der ein Zertifikat sendet. Diese sind völlig unabhängig voneinander; SNI erzwingt kein Senden eines Zertifikats. Durch das Deaktivieren von SNI wird das Senden eines Zertifikats nicht verhindert.

Client zu Server

Während des Handshake-Prozesses macht die SNI-Erweiterung die Website verfügbar, mit der ich kommuniziere

Wenn Sie mit Ihren eigenen Servern kommunizieren, senden Sie die SNI-Erweiterung einfach nicht. In den meisten TLS-Clientbibliotheken ist dies optional. (In GnuTLS wird es beispielsweise nicht standardmäßig gesendet, es sei denn, gnutls_server_name_set () wurde aufgerufen.)

Bei zufälligen Websites im Internet ist dies jedoch häufig nicht zu vermeiden.

Server zu Client

Gibt es einen Hack oder die Architektur von SSL / TLS erlaubt die Kommunikation mit einem Server, ohne dessen Zertifikat anzufordern

TLS unterstützt andere Methoden der Serverauthentifizierung - TLS-PSK ist die am häufigsten verwendete Alternative (im Allgemeinen funktioniert dies jedoch nur mit Servern, die Sie mit dem gemeinsam genutzten Schlüssel vorkonfiguriert haben; keine zufälligen Websites im Internet).

Alternativ könnte das Zertifikat einen beliebigen Hostnamen oder gar keinen Hostnamen enthalten, und der Client würde es mit anderen Methoden überprüfen (per Fingerabdruck oder SPKI-Hash) - TLS erfordert überhaupt keinen Hostnamen.