Il ruolo dei certificati nel cryptosystem ibrido semplice

1

Sto cercando di implementare un semplice sistema di licenze per i miei software e c'è qualcosa che non capisco riguardo ai certificati.

Sto usando OpenSSL per generare una chiave pubblica e privata RSA. I miei eseguibili incorporeranno la chiave pubblica per poter negoziare una connessione sicura con il server (scambiando una chiave simmetrica). RSA è limitato ai byte della chiave, quindi dovrò occuparmi, per una chiave 2048, di inviare una chiave simmetrica di circa 256 byte (è corretto?)

Quello che non capisco è il ruolo dei certificati in questo processo .. ne ho bisogno? Esempi come questo fanno uso di certificati (sia firmato da una CA o meno). La mia applicazione non può collegarsi al mio server, inviare la chiave simmetrica crittografata RSA e avviare lo scambio di dati? Qual è il problema con il mio approccio?

    
posta user3834459 21.09.2016 - 20:27
fonte

1 risposta

1

What I don't understand is the role of certificates in this process..

hai già risposto alla tua domanda:

Can't my application just connect to my server

solo se la tua applicazione sapesse che è il tuo server e non il mio ... Qui è dove i certificati iniziano a giocare un ruolo. Sono usati per identificare i peer di comunicazione. Il server si identifica con il certificato del server e il client si identifica con il certificato client (se necessario).

Tutti i certificati sono molto simili e devi essere in grado di distinguerli prima di fidarti di loro. Ciò significa che l'applicazione client deve utilizzare una logica per convalidare il certificato del server per determinare se è quella giusta e attendibile. Esistono varie opzioni, una delle quali include Blocco dei certificati . Anche se sembra una soluzione semplice, presenta alcuni problemi gravi quando devi sostituire il certificato del server, a causa della scadenza o a causa di un compromesso.

    
risposta data 21.09.2016 - 21:21
fonte