Minimal TLS1.3 Client-Hello

1

Attualmente sto leggendo il Protocollo TLS (Transport Layer Security) versione 1.3 .

Nella sezione 4.2.3 (Algoritmi delle firme) dice

Clients which desire the server to authenticate itself via a certificate MUST send "signature_algorithms".

È possibile stabilire una sessione TLS1.3 senza certificati / autenticazioni? Se sì, come posso istruire un client openssl (tramite riga di comando) a farlo?

    
posta user1511417 08.06.2018 - 13:33
fonte

2 risposte

2

Is it possible to establish a TLS1.3-session without any certificates/authentication?

È possibile eseguire l'autenticazione senza certificati, ma non è possibile eseguire alcuna autenticazione. Utilizzando PSK, l'autenticazione del server non viene eseguita con un certificato ma con una chiave pre-condivisa, ovvero un segreto comune noto tra client e server.

If yes, how can I instruct an openssl client (via commandline) to do so?

Con openssl1.1.1 puoi avviare un server nel seguente modo:

# use a 48 byte PSK
$ PSK=63ef2024b1de6417f856fab7005d38f6df70b6c5e97c220060e2ea122c4fdd054555827ab229457c366b2dd4817ff38b 
$ openssl s_server -psk $PSK -cipher TLS13-AES-256-GCM-SHA384 -nocert -accept 2020

Se poi avvii il client con lo stesso PSK ottieni un handshake TLS 1.3 di successo senza certificati coinvolti:

$ openssl s_client -psk $PSK -connect localhost:2020 
CONNECTED(00000003)
---
no peer certificate available
---
No client certificate CA names sent
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 195 bytes and written 475 bytes
Verification: OK
---
Reused, TLSv1.3, Cipher is TLS13-AES-256-GCM-SHA384
...
    
risposta data 08.06.2018 - 16:59
fonte
0

Questo requisito dice che il client deve specificare quale algoritmi di firma supporta, in modo che il server possa eseguire correttamente l'handshake. Non richiede che il client invii un certificato client - questa è una parte diversa del protocollo.

Un certificato server è assolutamente richiesto come parte del protocollo TLS, almeno per TLS 1.3. I protocolli meno recenti disponevano di pacchetti di cifrari anonimi che non utilizzavano una chiave a lungo termine (cioè la chiave nel certificato) per l'autenticità, il che si traduceva in quelle suite che non avevano alcuna resistenza agli attacchi man-in-the-middle. Quelle vecchie suite non sono più disponibili a causa della loro insicurezza.

    
risposta data 08.06.2018 - 13:42
fonte

Leggi altre domande sui tag