Decidi l'autenticazione del certificato client in https in base al nome host o all'URL

1

Supponiamo che questo scenario (inventato): installo un server web che reagisce su due nomi host ( anonymousserver.com e authenticatedserver.com )

Vorrei il seguente comportamento:

  • Se il server web è chiamato da anonymousserver.com , deve essere usato ssl ma non deve essere richiesto alcun certificato client.

  • Se il server web è chiamato da authenticatedserver.com , deve essere usato ssl e deve essere richiesto un certificato client.

Quindi, è possibile decidere di eseguire l'autenticazione del certificato client in base al nome host? Il problema che vedo è che l'handshake di ssl e la richiesta di ottenere http avvengono dopo l'altra; l'handshake di ssl è già finito quando il server conosce quale URL deve essere processato

    
posta Marged 06.09.2017 - 18:53
fonte

2 risposte

2

A) Decide on doing client certificate authentication based on the hostname

Questo può essere fatto anche se entrambi i domini sono serviti sullo stesso indirizzo IP purché il browser invii il nome host di destinazione all'interno dell'estensione TLS SNI. Tutti i browser moderni lo fanno per impostazione predefinita e la maggior parte, ma non tutte le app sui recenti sistemi mobili.

B) Decide on doing client certificate authentication based on url

Non è immediatamente possibile poiché l'URL è sconosciuto sull'handshake iniziale di TLS. Può essere fatto con la rinegoziazione all'interno di un handshake TLS esistente.

    
risposta data 06.09.2017 - 19:05
fonte
1

Credo che tu stia cercando l'estensione Server Name Indication (SNI) TLS. Da wikipedia :

Server Name Indication (SNI) is an extension to the TLS computer networking protocol by which a client indicates which hostname it is attempting to connect to at the start of the [TLS] handshaking process. This allows a server to present multiple certificates on the same IP address and TCP port number.

Invece di scegliere quale certificato presentare, dovresti essere in grado di utilizzare ugualmente questo meccanismo per decidere se chiedere o meno l'autorizzazione del client.

    
risposta data 06.09.2017 - 19:01
fonte

Leggi altre domande sui tag