Crittografia busta con chiavi asimmetriche vs KMS
Su Febbraio 18, 2021 da adminNella crittografia busta viene utilizzata una chiave segreta simmetrica per firmare i dati e poi unaltra chiave viene utilizzata per crittografare il segreto da produrre una chiave segreta crittografata. I messaggi crittografati vengono 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:
- Crittografia asimmetrica: il produttore crittografa le chiavi segrete con la chiave pubblica del consumatore. Il consumatore utilizza una chiave privata per decrittografare il segreto crittografato
- KMS (come AWS KMS): la chiave segreta viene crittografata dal KMS e il client che necessita di accesso alla chiave segreta deve chiedere al KMS di decrittografalo
Il vantaggio dellapproccio KMS è che la gestione delle chiavi è centralizzata e la revoca delle autorizzazioni a un client può essere eseguita rimuovendo il client dal KMS e ruotando la chiave.
Esistono buoni motivi per utilizzare chiavi asimmetriche invece di KMS?
Commenti
- Oltre al fatto che un KMS è un servizio separato da mantenere, gestire e diventa un singolo punto di errore in un ambiente distribuito? La tua domanda è una " crittografia " domanda o una " logistica " domanda?
Risposta
Se il KMS possiede la chiave, può leggere il messaggio. Se il KMS viene violato, un utente malintenzionato può leggere tutti i messaggi associati a tutte le chiavi che ha rubato. Le chiavi asimmetriche in cui la chiave privata è detenuta solo dal destinatario consentono solo al destinatario di leggere il messaggio, quindi non ci sono preoccupazioni per i sistemi KMS che fanno capolino. Se la chiave privata viene rubata, è solo per le email a quellutente che ha utilizzato quella chiave , non tutti nel sistema.
Rispondi
Dipende tutto da dove memorizzi il segreto e da chi ha accesso ad esso .
Prima una precisazione: sei confuso. KMS non utilizza la crittografia asimmetrica (chiamata anche crittografia a chiave pubblica). Utilizza la crittografia della chiave privata per abilitare la crittografia della busta. Sono due cose diverse.
Nella crittografia asimmetrica il produttore della crittografia non deve mai accedere al segreto, ha solo bisogno della chiave pubblica. Il produttore utilizza la chiave pubblica per crittografare, il consumatore utilizza la corrispondente chiave privata per decrittografare. Per facilitare la rotazione della chiave, il produttore a volte aggiunge la chiave pubblica utilizzata per crittografare in modo che il consumatore sappia quale chiave privata utilizzare per decrittografare. Indipendentemente dalla quantità di dati crittografati, non ci sono suggerimenti per la chiave privata. Lalgoritmo per la decrittografia è solitamente più intensivo di elaborazione rispetto alla crittografia della chiave privata.
Nella crittografia della busta il produttore e il consumatore devono essere lo stesso (o entrambi hanno accesso alla chiave principale). Si utilizza una chiave master per generare una chiave secondaria chiamata 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 dati crittografata ai dati crittografati. Quando decifri, utilizzi la chiave principale per decrittografare la chiave dati aggiunta, quindi utilizza la chiave dati decrittografata per decrittografare i dati.
Il vantaggio di ciò è che puoi archiviare la tua chiave principale in modo conveniente. costruito Hardware Security Module e non esporlo mai a nientaltro senza dover passare tutti i dati crittografati nellHSM. Puoi persino generare la chiave allinterno dellHSM e non estrarla in modo che non ci sia alcuna possibilità che sia mai stata esposta a qualcosa esternamente. KMS ti fornisce un HSM basato su cloud ed è supportato da HSM fisici su Amazon.
Se non ti interessa mantenere la tua chiave master in un HSM, puoi eseguire lo stesso tipo di crittografia utilizzando la tua chiave che cerchi di tenere al sicuro inserendo un server jump o qualcosa del genere in questo modo. Inoltre, finché non stai crittografando più di 250 milioni di TB, puoi saltare la busta.
Se stai cercando un codice di esempio, puoi prendere per implementare la semplice crittografia AES o crittografia della busta che potresti voler controllare il nostro progetto open source. Ha unimplementazione per ognuna che puoi sfruttare …
Lascia un commento