Relazione tra RSA, scambio chiave Diffie-Hellman, PKI e X.509?

20

Mi sto confondendo con RSA, Diffie-Hellman Key Exchange, PKI e X.509v3.

Ho dato un'occhiata all'algoritmo matematico di RSA, sembra un algoritmo di crittografia, giusto? Generazione di chiave pubblica e chiave privata, utilizzando per la crittografia e la decrittografia ...

Inoltre, ho dato un'occhiata all'algoritmo di matematica di Diffie-Hellman, sembra proprio come uno scambio di chiavi, giusto? Ogni lato può calcolare la stessa chiave usando alcuni tipi di algoritmo. Sembra non una crittografia, vero?

Ho anche dato un'occhiata a PKI, c'è qualcosa di nuovo che è la CA e il certificato digitale. Vengono citate anche la chiave pubblica e la chiave privata.

Quindi, qual è la relazione tra questi concetti? Sono 3 concetti separati? Oppure saranno usati insieme nella realtà?

Inoltre, X.509 è lo standard di PKI? Quindi la stessa PKI non è uno standard?

Queste sono le domande che ho confuso da molto tempo. Grazie a tutti.

    
posta alcohol menthol 04.02.2015 - 12:24
fonte

1 risposta

30

RSA è due algoritmi, uno per la crittografia asimmetrica, l'altro per le firme digitali. Usano lo stesso tipo di chiavi, condividono la stessa operazione di base e sono entrambe chiamate "RSA".

Diffie-Hellman è un algoritmo di scambio chiave; è possibile visualizzarlo come una sorta di algoritmo di crittografia asimmetrica in cui non è possibile scegliere ciò che si crittografa. Questo va bene per lo scambio di chiavi, in cui si desidera ottenere un segreto condiviso essenzialmente casuale tra due persone. Si noti che la maggior parte degli usi della crittografia asimmetrica RSA, in pratica, sono anche lo scambio di chiavi, ad es. in SSL / TLS: il client genera un valore casuale, lo crittografa con la chiave pubblica del server e lo invia al server.

PKI è un concetto . Si basa sulla nozione di certificato : un certificato è un'affermazione della proprietà delle chiavi. Fondamentalmente, un certificato è un oggetto che contiene un'identità (un nome) e una chiave pubblica, e l'oggetto è firmato digitalmente (ad esempio con RSA - l'algoritmo della firma - o ECDSA). Un certificato è convalidato verificando questa firma. L'idea è che se conosco la chiave pubblica di chiunque abbia emesso (firmato) il certificato, posso verificare la firma e quindi acquisire una certa fiducia nel fatto che la chiave pubblica contenuta nel certificato appartenga realmente all'entità designata dal identità contenuta nel certificato.

Quando organizzi i certificati in modo tale che esista una gerarchia rigida, in cui gli emittenti di certificati sono denominati Autorità di certificazione e emettono certificati tra loro, con una manciata di CA principale chiamata "CA radice ", quindi quella struttura generale è chiamata Infrastruttura a chiave pubblica , ovvero una PKI.

X.509 è uno standard per il formato e il contenuto dei certificati. X.509 è piuttosto aperto su quali algoritmi di firma saranno usati per firmare i certificati, ma in pratica, il 99% delle volte, sarà RSA.

    
risposta data 04.02.2015 - 13:21
fonte