Chiavi pubbliche su OpenSSL vs PGP?

7

Ho capito che PGP consente più chiavi pubbliche e in SSL è possibile estrarre solo una chiave pubblica? È corretto? C'è qualche breve livello alto tra i due. Non mi sento come se avessi mai veramente capito come funziona SSL, e mi piacerebbe avere una comprensione migliore.

    
posta Evan Carroll 29.07.2013 - 20:53
fonte

2 risposte

14

PGP è il formato per i messaggi crittografati e / o firmati e la gestione asimmetrica delle coppie di chiavi associata, destinata alle e-mail. SSL (ora noto come TLS) è un protocollo per stabilire un tunnel bidirezionale sicuro per i dati binari, su un tunnel bidirezionale esistente non sicuro per dati binari.

Quindi entrambi i sistemi si applicano a situazioni molto diverse e sono difficilmente comparabili. Un punto comune, tuttavia, è che in entrambi i casi un'entità (il mittente dell'e-mail per PGP, il client SSL per SSL) deve ottenere la chiave pubblica di un'altra entità (il destinatario dell'e-mail, il server SSL) e usarla. Chiamiamo A e B , rispettivamente, queste due entità. In entrambi i casi, B può avere diverse coppie di chiavi. Tuttavia, la dinamica differisce:

  • PGP funziona in una situazione di "posta elettronica". L'e-mail è a senso unico e one-shot. Non c'è una finestra di dialogo. A deve essere in grado di ottenere abbastanza informazioni su B e le sue chiavi per produrre l'e-mail, e B deve conoscere abbastanza per elaborare la posta in arrivo senza dover chiedere a A per ulteriori dati. Ciò implica che A deve ottenere una copia della chiave pubblica di B , e se ci sono molte di queste chiavi, A sceglie quale chiave sarà utilizzare.

  • SSL funziona per connessioni bidirezionali. Client A e server B parlano tra loro, seguendo un processo chiamato "handshake", in cui A e B concorda su quali algoritmi crittografici useranno (a seconda di cosa supportano e preferiscono). Nello specifico, il client annuncia quali algoritmi supporta (e in quale ordine di preferenza), e quindi il server risponde con gli identificatori per gli algoritmi crittografici che verranno utilizzati. Quindi B invia la sua chiave pubblica (in un certificato). Se B ha diverse chiavi, allora B sceglie quello che verrà usato (ovviamente compatibile con gli algoritmi negoziati).

Questa è la misura del confronto tra i due protocolli: in PGP, il mittente / cliente sceglie la chiave, che nel destinatario / server SSL può scegliere la chiave. A parte questo, sono troppo diversi nell'uso e nel contesto per essere significativamente confrontati.

Vedi questa risposta per un manuale su come funziona SSL.

    
risposta data 29.07.2013 - 21:22
fonte
6

Per scaricare i tasti:

Entrambi (PGP e SSL) hanno una coppia di chiavi pubblica / privata. Questi tasti sono fondamentalmente gli stessi per entrambe le tecnologie.

La differenza principale è come vengono firmate le chiavi pubbliche (per creare un certificato).

In SSL si usa un certificato X.509 firmato da un'altra entità. È anche possibile firmare autonomamente tale chiave. Quindi la chiave deve essere attendibile in sé. Tutti i certificati radice (dalle CA) sono certificati autofirmati.

In PGP la chiave pubblica è firmata da un altro proprietario di chiavi PGP. Se un numero sufficiente di persone ha firmato la chiave e questo popolo è considerato affidabile dal destinatario, si ha fiducia anche in questa chiave. Questo forma una rete di fiducia senza nessuna entità radice.

Per SSL puoi anche avere un portachiavi come in PGP (e lo avrai se usi i certificati client). Questi portachiavi sono normalmente gestiti dalla tua applicazione (come il browser o un client di posta elettronica).

Quando invii un'email firmata / crittografata con PGP, utilizzerai anche una sola chiave per questa email. È uguale alla singola chiave utilizzata con un server SSL.

Quindi la principale differenza tra entrambe le tecnologie è la gestione dei certificati (firma delle chiavi pubbliche).

    
risposta data 30.07.2013 - 09:10
fonte

Leggi altre domande sui tag