Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Puoi spiegare come TLS e SSH utilizzano i canali bidirezionali


Puoi spiegare come TLS e SSH utilizzano i canali bidirezionali


Sicurezza del livello di trasporto (TLS) e Shell Secure (SSH) sono entrambi protocolli crittografici utilizzati per proteggere la comunicazione sulle reti ed entrambi utilizzano canali bidirezionali per facilitare lo scambio di dati sicuro ed efficiente. Il loro uso di canali bidirezionali consente una comunicazione a due vie simultanee con riservatezza, integrità e autenticazione. Di seguito è riportata una spiegazione dettagliata di come TLS e SSH utilizzano i canali bidirezionali nelle loro operazioni.

canali bidirezionali in TLS

TLS è progettato principalmente per proteggere le comunicazioni tra applicazioni client-server su una rete, come un browser Web che si collega a un server Web. Il protocollo stabilisce un canale sicuro e crittografato che supporta la trasmissione dei dati bidirezionali.

- Quando viene avviata una connessione TLS, il client si collega a un server abilitato per TLS e invia un messaggio "Hello client" che include algoritmi di crittografia supportati, versioni TLS e altre opzioni di comunicazione.
- Il server risponde con un messaggio "Server Hello" che seleziona metodi di crittografia compatibile e quindi invia il suo certificato digitale, che contiene la chiave pubblica del server, emessa da un'autorità di certificazione di fiducia (CA).
- Il client verifica l'autenticità di questo certificato digitale per garantire che il server sia legittimo.
- Entrambe le parti eseguono quindi una stretta di mano per stabilire una chiave di sessione segreta condivisa. Questo viene generalmente fatto usando algoritmi crittografici asimmetrici come RSA o varianti diffie-hellman (DH effimero, curva ellittica DH, ecc.). La stretta di mano assicura che entrambe le parti siano d'accordo su una chiave di sessione univoca per quella sessione di comunicazione.
- Una volta stabilita la chiave di sessione, TLS utilizza algoritmi di crittografia simmetrici per il resto della sessione, consentendo la crittografia e la decrittografia rapidi e sicuri dei dati.
- Il canale bidirezionale formato da TLS consente ai dati crittografati di fluire in modo sicuro sia da client al server che da server a client.
- TLS garantisce anche l'integrità dei dati utilizzando i codici di autenticazione dei messaggi (MAC) in modo da rilevare qualsiasi manomissione dei dati durante la trasmissione.
- Questo canale bidirezionale consente la navigazione Web interattiva, gli invii di moduli sicuri e altre applicazioni che richiedono a entrambe le parti di inviare e ricevere dati crittografati contemporaneamente.

In sintesi, TLS crea un canale crittografato bidirezionale tra client e server in cui entrambi possono inviare e ricevere contemporaneamente dati mantenendo la riservatezza, l'integrità e l'autenticazione. Il processo di handshake prima dello scambio di dati è essenziale per stabilire chiavi condivise sicure e convalidare le identità.

canali bidirezionali in ssh

SSH è un protocollo progettato principalmente per fornire funzionalità di accesso remote e di gestione sicure su una rete non garantita, ma supporta anche una varietà di servizi di rete sicuri oltre l'accesso a Shell, grazie al suo supporto flessibile del canale bidirezionale.

- SSH opera su un modello client-server in cui il client inizia la connessione e si autentica al server utilizzando password, chiavi pubbliche/private o altri meccanismi di autenticazione.
- Una volta autenticato, SSH stabilisce un canale di comunicazione crittografato sicuro che supporta flussi di dati bidirezionali simultanei.
- Internamente, SSH multiplex più canali logici su una singola connessione SSH. Questi canali possono trasportare sessioni di terminale interattive, trasferimenti di file (SCP/SFTP) e porte di rete (tunneling) contemporaneamente.
- La natura bidirezionale di SSH significa che i dati possono fluire liberamente in entrambe le direzioni contemporaneamente da client a server e server a client. Ciò è fondamentale per sessioni interattive in tempo reale come l'esecuzione dei comandi remoti, in cui i comandi vengono inviati dal client e l'output viene restituito dal server.
- SSH supporta anche il tunneling sicuro che reindirizza altri traffico di rete, come inoltrare una porta locale a un servizio remoto o viceversa. Questa funzione di tunneling sfrutta il canale bidirezionale incapsulando il traffico tra le due estremità all'interno della connessione SSH crittografata.
- Ad esempio, l'inoltro della porta locale consente a un client di connettersi a una porta locale che viene inoltrata sulla connessione SSH a una porta del server remoto e l'inoltro della porta remoto consente al server di esporre una porta sulla rete client. Entrambi i tipi di inoltro sono bidirezionali, consentendo ai dati di fluire in modo sicuro su entrambe le estremità del tunnel SSH.
- Il multiplexing di più canali su una singola connessione SSH migliora la flessibilità, consentendo trasferimenti di file simultanei, sessioni terminali e porte in un tunnel crittografato.

Caratteristiche condivise e differenze nella bidirezionalità di TLS e SSH

Sebbene sia i TLS che i SSH formano canali bidirezionali che consentono una comunicazione a due vie sicura, i loro scopi e strutture differiscono:

- TLS in genere protegge una singola connessione a livello di applicazione, ad esempio il traffico Web HTTPS, in cui il client e il server si scambiano messaggi crittografati avanti e indietro su un canale.
- SSH crea un livello di trasporto sicuro che supporta più canali multiplexi all'interno di una connessione, soddisfacendo una gamma più ampia di casi d'uso tra cui accesso remoto, trasferimento di file e tunneling.
- La handshake TLS si concentra sulla verifica dell'identità del server (e facoltativamente dell'identità del client), con l'accettazione dei parametri di crittografia e la generazione di chiavi di sessione, enfatizzando la riservatezza e l'integrità sicure per i dati dell'applicazione.
- La stretta di mano SSH include anche l'autenticazione del client e stabilisce un canale sicuro, ma è oltre supportando le sessioni di multiplexing e interattive del canale.
- Entrambi i protocolli utilizzano meccanismi di scambio chiave asimmetrici per stabilire chiavi di sessione condivisa per la crittografia simmetrica, ma SSH consente metodi di autenticazione più diversi (password, chiavi pubbliche, certificati).
- Sia supportano il controllo del flusso bidirezionale, la gestione degli errori e il controllo dell'integrità garantendo una comunicazione affidabile in varie condizioni di rete.

funzionamento tecnico dei canali bidirezionali in TLS

- I canali TLS funzionano su uno strato di trasporto affidabile (di solito TCP) che fornisce flussi di byte ordinati e senza perdita.
- Dopo che la stretta di mano stabilisce parametri crittografici e chiavi di sessione, crittografia simmetrica come AES o Chacha20 crittografa tutti i messaggi trasmessi.
- La comunicazione bidirezionale è raggiunta dal client crittografando i dati in uscita e il server che decrittono i dati in arrivo e viceversa.
- Ogni record TLS (unità di scambio di dati) è protetto e crittografata integrità, preservando la riservatezza in entrambe le direzioni.
- Il protocollo utilizza numeri di sequenza e Mac su ciascun record per prevenire il replay e la manomissione.
- La connessione TCP sottostante consente il controllo del flusso che consente di inviare e ricevere contemporaneamente i messaggi senza perdita.
- TLS 1.3 Miglioramento dell'efficienza e della sicurezza con meno viaggi rotondi di stretta di mano e scambi di chiavi di segretezza in avanti obbligatori, migliorando lo stabilimento sicuro del canale bidirezionale.

funzionamento tecnico dei canali bidirezionali in SSH

- SSH decostruisce la connessione sicura in più canali logici multiplex su una connessione TCP crittografata.
- Ogni canale ha identificatori indipendenti e finestre di controllo del flusso gestite dal protocollo SSH.
- SSH utilizza il protocollo di livello di trasporto per stabilire un tunnel crittografato tramite una stretta di mano SSH che coinvolge algoritmi di scambio chiave come Diffie-Hellman.
- Il protocollo di connessione SSH funziona su questo tunnel e gestisce l'apertura, l'uso e la chiusura dei canali.
- Il trasferimento di dati bidirezionale si verifica su ciascun canale separatamente, supportando la comunicazione a duplex full duplex per comandi, dati di file o porte inoltrate.
- SSH crea e chiude in modo dinamico i canali all'interno della stessa connessione in base alle esigenze dell'utente, consentendo sessioni di shell interattive, SCP, SFTP e porte per coesistere.
- Il sequenziamento e il riconoscimento dei pacchetti garantiscono una comunicazione affidabile, con ritrasmissioni quando necessario.
- I canali multiplexi di SSH e il controllo del flusso bidirezionale forniscono un meccanismo flessibile e potente per una vasta gamma di operazioni sicure oltre il semplice trasferimento di dati.

Riepilogo dei ruoli del canale bidirezionale

-In TLS, il canale bidirezionale protegge lo scambio di dati a livello di applicazione (contenuto Web, e-mail, ecc.) Garantire la riservatezza, l'integrità e la verifica dell'identità all'inizio, quindi crittografando tutti i successivi dati bidirezionali in modo trasparente all'applicazione.
- In SSH, i canali bidirezionali sono fondamentali per facilitare l'accesso remoto e i servizi di rete sicuri, consentendo più flussi simultanei per vari usi, tutti all'interno di un unico tunnel crittografato sicuro.
- La bidirezionalità in entrambi i protocolli significa che nessuna delle due parti è limitata a inviare o ricevere sia il client che il server si impegnano attivamente e in modo sicuro in una comunicazione a due vie.

Questa capacità di canale sicura bidirezionale è ciò che consente ai moderni servizi Web sicuri di sicurezza Internet attraverso HTTPS (TLS), amministrazione di sistema sicuro tramite SSH e versatili tunneling di rete sicuri si basano su questi robusti canali crittografati bidirezionali per comunicazioni avanzate, affidabili e affidabili.

***

Questa spiegazione dettagliata copre il modo in cui TLS e SSH utilizzano canali bidirezionali rispetto ai loro processi di stretta di mano, metodi di crittografia, multiplexing del canale (in SSH) e controllo del flusso, evidenziando le loro somiglianze e distinzioni in termini di scopo e funzionamento tecnico. Per ulteriori sfumature tecniche, le fonti citate forniscono ulteriori approfondimenti ed esempi.