Qual è lo scopo della crittografia di una chiave simmetrica con una chiave pubblica in XML Encrypted Key?

1

Stavo leggendo lo standard XML Encryption e ho qualche problema a capire lo scopo di crittografia di un testo semplice con una chiave AES o 3DES simmetrica che a sua volta viene crittografata con la chiave RSA pubblica del destinatario.

Se un utente malintenzionato ottiene la chiave privata del destinatario e ha registrato il traffico di rete, può decodificare la chiave AES e quindi il testo in chiaro crittografato con la chiave AES. In TLS o in Signal la chiave simmetrica viene negoziata con DH e non viaggia crittografata sul cavo, fornendo la connessione in segreto.

Perché dovrei crittografare la chiave simmetrica con quella asimmetrica? Aumenta la riservatezza o le prestazioni? Quando dovrei usare questa doppia crittografia?

Grazie

    
posta ddreian 25.01.2017 - 14:28
fonte

3 risposte

3

Why should I encrypt the symmetric key with the asymmetric one? Does increase confidentiality or performance? When should I use this double encryption?

È necessario eseguire la crittografia simmetrica perché la dimensione massima dei dati che RSA può crittografare è limitata dalla dimensione del suo modulo meno un po 'di padding. Ad esempio una chiave RSA a 1024 bit può solo crittografare i dati che sono al massimo 117 byte. Qualunque cosa più grande di quella, avresti avuto bisogno di dividere i dati in blocchi di dimensioni modulari (che aprono anche una serie di altri problemi crittografici) o di usare una chiave ancora più grande (e l'RSA rallenta molto velocemente all'aumentare della dimensione della chiave). / p>

Diffie Hellman è un protocollo accordo chiave , può funzionare solo se entrambe le parti sono connesse l'una con l'altra per scambiare alcuni dati quando il documento viene crittografato. Il caso d'uso nel sistema di crittografia dei documenti come XML Encryption è di solito la creazione di un documento che può essere archiviato e letto in un secondo momento dal destinatario, e una delle due parti potrebbe non essere mai online nello stesso momento durante la generazione / lettura del documento. Questo è anche il motivo per cui Forward Secrecy è irrilevante per la crittografia dei documenti, poiché in genere si desidera poter leggere il documento in un secondo momento, non si può semplicemente scartare la chiave di sessione come nel sistema di crittografia temporaneo come TLS. Devi salvare la chiave di sessione con il documento da qualche parte in modo da poter leggere il documento più tardi.

Se si desidera PFS, suggerirei di trasferire il documento crittografato su TLS / HTTPS e, se non si ha più bisogno del documento, è sufficiente eliminare il documento o almeno la parte crittografata del documento.

    
risposta data 25.01.2017 - 15:36
fonte
0

L'idea principale alla base di questa doppia crittografia è consentire la decifrazione del contenuto da parte di molte persone mentre si controlla chi può decifrare il contenuto. Se si invia la chiave simmetrica, chiunque abbia la chiave sarà in grado di leggere il contenuto finale.

Se si invia una chiave crittografata, che solo il destinatario può decifrare, la chiave è disponibile solo in chiaro con la chiave privata.
Questo è meno contenuto in crypt che crittografia del testo in chiaro con la chiave pubblica per ciascun destinatario.

Se evitassi la chiave simmetrica dovrai crittografare il contenuto per ciascun destinatario con la sua chiave pubblica, questo significa che devi archiviare il contenuto in testo in chiaro da qualche parte, averlo crittografato con una chiave simmetrica per impedire la perdita all'origine mentre mantenendo l'overhead di archiviazione per più destinatari in basso.

Ovviamente questo non impedisce il problema se l'utente malintenzionato ottiene la chiave privata del destinatario, la sicurezza extra deriva dall'archiviazione del contenuto in un formato non leggibile all'origine.

In breve: l'obiettivo non è quello di prevenire l'attacco sulla chiave, ma sul documento sorgente stesso.

    
risposta data 25.01.2017 - 14:45
fonte
0

I was reading the XML Encryption standard and I have some trouble understanding the purpose of encrypting some plain text with a symmetric generated AES or 3DES key that in turn gets encrypted with the public RSA key of the recipient.

Questo è il modo in cui funziona quasi tutta la crittografia a chiave pubblica. Presentano chiavi pubbliche / private come interfaccia esterna , ma internamente utilizzano le primitive della chiave pubblica come meccanismi incapsulamento della chiave attorno a una chiave simmetrica sessione .

I vantaggi:

  1. Prestazioni. Le primitive a chiave pubblica sono di ordine di grandezza più lente di quelle simmetriche.
  2. Sicurezza. Usando le chiavi simmetriche generate casualmente per ogni messaggio, attenua i rischi di attacchi che si verificano perché una singola chiave è stata usata eccessivamente.

In TLS or in Signal the symmetric key gets negotiated with DH and does not travel encrypted over the wire giving the connection forward secrecy.

La segretezza in avanti è pulita, ma TLS / Signal può raggiungerlo facilmente perché sono protocolli online che richiedono che le due parti interagiscano "in diretta" l'una con l'altra. Raggiungere un perfetto segreto in avanti in un ambiente non interattivo come la crittografia XML è molto più complicato .

    
risposta data 25.01.2017 - 21:26
fonte

Leggi altre domande sui tag