È possibile utilizzare TLS nella crittografia P2P?

1

Sto progettando un sistema di crittografia Point2Point. Ho controllato il protocal di WhatsApp. Ma i nostri dispositivi sono Raspberry Pi quindi il protocal di WhatsApp è troppo pesante. Ci piacerebbe utilizzare un metodo PSK (pre-shared key). Ho controllato TLS che fornisce molti ciphersuites e anche uno PSK.

Ma in fase di programmazione, ho bisogno di configurare ogni dispositivo come server e client contemporaneamente * (perché non so quale dispositivo invocherà la comunicazione). È un modo possibile?

O devo farlo a un livello inferiore? Come prima, pubblica la chiave pubblica di Exchange, quindi genera il segreto condiviso, quindi genera la chiave condivisa e così via .......

    
posta TTZ 25.07.2017 - 07:41
fonte

1 risposta

1

TLS è solo un canale protetto tra due peer di comunicazione, solitamente in cima al TCP. Non importa se un simile peer può essere client e server o anche entrambi allo stesso tempo (ma non con lo stesso peer). Inoltre, non ha importanza per i ruoli nell'handshake TLS in quale direzione è stata stabilita la connessione TCP.

Ad esempio in FTPS la connessione TCP per il trasferimento dei dati può essere creata dal client al server FTP (modalità passiva) o dal server FTP al client (modalità attiva) mentre l'handshake TCP sulla parte superiore della connessione TCP viene sempre avviato dal client in modo che il certificato del server possa essere utilizzato per l'autenticazione al fine di proteggere contro l'uomo nel mezzo, cioè a volte nella stessa direzione della connessione TCP (passiva) e talvolta non (modalità attiva).

Un altro esempio è SIPS (VoIP) in cui un dispositivo SIP è sia client (per l'avvio di chiamate) che server (per ricevere chiamate). In caso di SIP, la direzione della connessione TCP e l'handshake TLS corrispondono. L'autenticazione viene generalmente eseguita sia per il client che per il server (cioè reciproco), dove ciascuno fornisce il certificato corrispondente al dispositivo. E, se i ruoli cambiano, verranno utilizzati gli stessi certificati: se A chiama B, il certificato di B viene utilizzato come certificato server e A come certificato client, se B chiama A, allora il certificato A viene utilizzato come certificato server e B come certificato cliente. E, nel caso di un proxy SIP, lo stesso sistema può essere anche sia client SIPS che server SIPS e alcuni server allo stesso tempo.

Pertanto, non è un problema utilizzare le architetture P2P come SIPS insieme a TLS. Inoltre, è possibile utilizzare i certificati in tale configurazione purché ciascun nodo disponga di un indirizzo o altro identificatore libero che può essere utilizzato come oggetto del certificato e quindi verificato durante la convalida del certificato. In questo modo una PKI può essere utilizzata per un modello di trust più scalabile rispetto a PSK o SRP.

    
risposta data 25.07.2017 - 08:04
fonte

Leggi altre domande sui tag