La stessa chiave utilizzata per Autorizzazione e Crittografia? (Tunnel SSH)

2

Sono un po 'confuso su come funziona la crittografia SSH.

Dalla lettura di questa domanda , vedo che puoi utilizzare una chiave privata per autenticarti con il flag -i .

So anche sapere che SSH crittografa i dati utilizzando chiavi private e pubbliche.

Sto creando un'applicazione che verrà configurata e SSH Tunnel e SOCKS5 Proxy per i client. L'autenticazione avviene utilizzando -i e specificando una chiave privata inclusa. L'idea è di garantire che tutto il traffico sia crittografato.

Ho paura che tutti i client che hanno la stessa chiave privata possano essere in grado di decodificare il traffico da altri client, quindi la mia domanda è la seguente:

Cliente A : ssh [email protected] -D 5464 -I /path/to/the/private.key -N

Client A: Effettua richiesta t o link unsecured.com con dati POST contenenti nome utente e password

Attacker B : Ottiene /path/to/the/private.key

In questo scenario, Attacker B può decrittografare il traffico SSH da Client A e visualizzare Username e password in testo semplice?

    
posta JBis 27.08.2018 - 20:08
fonte

1 risposta

3

TL; DR: In SSH la tua chiave privata non viene utilizzata per la crittografia, viene utilizzata solo per dimostrare chi sei. Ogni nuova connessione al server stabilirà una chiave diversa per la sessione di crittografia.

Ecco alcuni consigli su come funziona l'handshake SSH:

I also know think that SSH encrypts data using private and public keys.

In realtà, la chiave pubblica e privata vengono utilizzate solo per la parte di autenticazione dell'handshake SSH, non per la parte di crittografia. Da questi articoli, l'handshake SSH ha due passaggi:

  1. Configura la crittografia: utilizza Diffie-Hellman per stabilire una chiave di crittografia condivisa che sia il client che il server conoscono, ma qualcuno che intercettazioni non può sapere.
  2. Autenticazione: sia il client che il server utilizzano le loro chiavi pubbliche e le chiavi private per dimostrare che sono chi dicono di essere.

Authentication occurs by using the -i and specifying an included private key. The idea of this is to ensure that all traffic is encrypted.

Come sei passato dall'autenticazione alla crittografia? Il tuo traffico verrà crittografato anche se utilizzi l'autenticazione basata su password perché l'autenticazione e la crittografia non sono parti correlate dell'handshake SSH.

I am am afraid that by all clients having the same private key they may be able to decrypt traffic from other clients

Ogni nuova connessione al server stabilirà una chiave di sessione diversa usando il metodo di scambio chiavi Diffie-Hellman. Questo è indipendente dalla tua chiave privata. Per quanto ne so, ogni sessione è totalmente isolata dagli altri, anche se sono per lo stesso utente o utilizzano la stessa chiave privata.

    
risposta data 28.08.2018 - 00:17
fonte

Leggi altre domande sui tag