È sicuro inviare una chiave simmetrica con RSA insieme al payload che è stato usato per crittografare?

0

Dato il tasto K , salt Salt che è 32 byte generati casualmente è usato per derivare le chiavi EKey e AKey usando HKDF-SHA256 .

Un Ciphertext viene prodotto usando AES-256-CBC con la chiave EKey e un casuale 16-byte iv Iv .

Un Hmac viene prodotto utilizzando HMAC-256 con la chiave AKey .

Questo è codificato come segue.

Salt . %codice% . %codice% . Iv

La mia domanda è: posso RSA cifrare la chiave Ciphertext e aggiungerla alla stringa codificata in modo che rimanga sicura?

Modifica 1

Non sono del tutto sicuro di come rispondere al commento di Rory, quindi darò il mio colpo migliore.

Per sicurezza, voglio dire essere in grado di trasportare questo payload sul filo senza avere una terza parte (senza la chiave RSA privata corrispondente) in grado di decifrare o mutare il carico utile.

Questo approccio può anche essere usato per i dati a riposo.

    
posta s.ribich95 02.10.2018 - 17:51
fonte

2 risposte

1

Sì, è possibile inviare una chiave di crittografia con qualsiasi algoritmo di crittografia purché si applichino i requisiti di sicurezza necessari.

Ad esempio; c'è un piccolo problema di esponente di crittografia in RSA, per far fronte a questo devi applicare un po 'di padding come indicato in PKCS # 1

nota: la memorizzazione sicura della chiave privata RSA equivale alla memorizzazione della "K"?

    
risposta data 02.10.2018 - 19:43
fonte
1

By secure, I mean being able to transport this payload over the wire without having a third-party (without the corresponding private RSA key) able to decrypt or mutate the payload.

No. Un utente malintenzionato potrebbe creare il proprio K' e Salt' , ripetere l'intero processo che descrivi da zero, sostituire il tuo messaggio crittografato con il suo e il destinatario non ne sarebbe più saggio. Il tuo Hmac è basato su AKey , che è derivato da K , ma per ipotesi il destinatario non sa KAKey , quindi l'autore dell'attacco può solo generare un% nuovo di zeccaHmac' da il loro AKey' , e apparirà legittimo.

Il modo corretto per risolvere questo problema è che il mittente firmi il messaggio utilizzando una chiave asimmetrica non derivata da K . Ciò significa che il mittente ha bisogno della propria chiave privata oltre alla chiave pubblica del destinatario e che il destinatario deve conoscere e fidarsi della chiave pubblica del mittente.

    
risposta data 01.11.2018 - 23:34
fonte

Leggi altre domande sui tag