Envelope Encryption con chiavi asimmetriche vs KMS

1

Nella crittografia Envelope viene utilizzata una chiave segreta simmetrica per firmare i dati, quindi un'altra chiave viene utilizzata per crittografare il segreto per produrre una chiave segreta crittografata. I messaggi crittografati sono impacchettati con la chiave segreta crittografata e inviati al client / consumatore che ha quindi decrittografato la chiave segreta crittografata per ottenere la chiave segreta, che a sua volta viene utilizzata per decrittografare il messaggio

Ci sono 2 modi per implementarlo:

  1. Crittografia asimmetrica: il produttore crittografa le chiavi segrete con la chiave pubblica dei consumatori. L'utente utilizza una chiave privata per decodificare il segreto crittografato
  2. KMS (come AWS KMS): la chiave segreta è crittografata dal KMS e il client che ha bisogno di accedere alla chiave segreta deve chiedere al KMS di decrittografarlo

Il vantaggio dell'approccio KMS è che la gestione delle chiavi è centralizzata e la revoca delle autorizzazioni da un client può essere eseguita rimuovendo il client dal KMS e ruotando la chiave.

Esistono buoni motivi per utilizzare chiavi asimmetriche al posto di KMS?

    
posta EugeneMi 24.08.2015 - 20:23
fonte

2 risposte

1

Se il KMS detiene la chiave, possono leggere il messaggio. Se il KMS viene violato, un utente malintenzionato può leggere tutti i messaggi associati a tutte le chiavi rubate. Le chiavi asimmetriche in cui la chiave privata è trattenuta solo dal destinatario consentono solo al destinatario di leggere il messaggio, quindi non ci si deve preoccupare dei sistemi KMS che fanno capolino. Se la chiave privata viene rubata, è solo per le e-mail a quell'utente che ha usato quella chiave, non tutti nel sistema.

    
risposta data 24.08.2015 - 22:56
fonte
1

Riguarda il punto in cui memorizzi il segreto e chi può accedervi.

Prima un chiarimento: sei confuso. KMS non usa la crittografia asimmetrica (chiamata anche crittografia a chiave pubblica). Utilizza la crittografia a chiave privata per abilitare la crittografia delle buste. Sono due cose diverse.

Nella crittografia asimmetrica il produttore della crittografia non deve mai accedere al segreto, hanno solo bisogno della chiave pubblica. Il produttore utilizza la chiave pubblica per crittografare, il consumatore utilizza la chiave privata corrispondente per decodificare. Per facilitare la rotazione delle chiavi, il produttore a volte aggiunge la chiave pubblica che è stata utilizzata per crittografare in modo che il consumatore sappia quale chiave privata utilizzare per decodificare. Indipendentemente dalla quantità di dati crittografati, non ci sono suggerimenti sulla chiave privata. L'algoritmo per la decrittografia è solitamente più intensivo di calcolo rispetto alla crittografia a chiave privata.

Nella crittografia delle buste il produttore e il consumatore devono essere uguali (o entrambi hanno accesso alla chiave principale). È possibile utilizzare una chiave master per generare una chiave secondaria denominata chiave dati. Quindi si crittografa la chiave dati utilizzando la chiave master e i dati stessi utilizzando la chiave dati, quindi si aggiunge la chiave crittografata ai dati crittografati. Quando decifri, usi la chiave master per decodificare la chiave dati aggiunta, quindi usa la chiave dati decrittografata per decrittografare i dati.

Il vantaggio di questo è che è possibile archiviare in modo efficace la propria chiave master in un modulo di sicurezza hardware appositamente creato e non esporlo mai a qualcos'altro senza dover passare tutti i dati crittografati nell'HSM. È anche possibile generare la chiave all'interno dell'HSM e non eliminarla in modo che non ci sia la possibilità che sia mai stata esposta a qualcosa all'esterno. KMS ti fornisce un HSM basato su cloud ed è supportato da HSM fisici su Amazon.

Se non ti interessa mantenere la tua chiave principale in un HSM, allora puoi fare lo stesso tipo di crittografia usando la tua chiave che cerchi di tenere al sicuro inserendo un server di salto o qualcosa del genere. Inoltre, se non stai crittografando più di 250 milioni di TB, puoi saltare la busta.

Se stai cercando un codice di esempio che puoi prelevare per implementare la semplice crittografia AES o la crittografia busta, potresti voler controllare il nostro progetto open source. Ha un'implementazione per ciascuno che puoi sfruttare ...

link

    
risposta data 18.11.2016 - 11:36
fonte

Leggi altre domande sui tag