Utilizzo della crittografia lato server a doppio livello con chiavi AWS KMS (DSSE-KMS) - Amazon Simple Storage Service

Utilizzo della crittografia lato server a doppio livello con chiavi AWS KMS (DSSE-KMS)

L'utilizzo della crittografia lato server a doppio livello con chiavi AWS Key Management Service (AWS KMS) (DSSE-KMS) applica due livelli di crittografia agli oggetti quando vengono caricati su Amazon S3. DSSE-KMS consente di soddisfare più facilmente gli standard di conformità che richiedono l'applicazione della crittografia a più livelli ai dati e il pieno controllo delle chiavi di crittografia.

Il termine “doppio” in DSSE-KMS si riferisce a due livelli indipendenti di crittografia AES-256 applicati ai dati:

  • Primo livello: i dati vengono crittografati utilizzando una chiave di crittografia dei dati (DEK) univoca generata da AWS KMS

  • Secondo livello: i dati già crittografati vengono crittografati nuovamente utilizzando una chiave di crittografia AES-256 separata gestita da Amazon S3

Questo comportamento differisce dallo standard SSE-KMS, che applica solo un singolo livello di crittografia. L’approccio a doppio livello offre una maggiore sicurezza garantendo che, anche se un livello di crittografia fosse compromesso, i dati rimangano protetti dal secondo livello. Questa sicurezza aggiuntiva comporta un aumento del sovraccarico di elaborazione e delle chiamate API AWS KMS, il che rappresenta un costo più elevato rispetto ai sistemi SSE-KMS standard. Per ulteriori informazioni sui prezzi di DSSE-KMS, consulta Concetti di AWS KMS key nella Guida per gli sviluppatori di AWS Key Management Service e Prezzi di AWS KMS.

Quando utilizzi DSSE-KMS con un bucket Amazon S3, è necessario che le chiavi AWS KMS si trovino nelle stessa regione del bucket. Inoltre, quando per l'oggetto è richiesta la crittografia DSSE-KMS, il checksum S3 come parte dei metadati dell'oggetto viene archiviato in formato crittografato. Per ulteriori informazioni sui checksum, consulta Verifica dell'integrità degli oggetti in Amazon S3.

Nota

Le chiavi bucket S3 non sono supportate per DSSE-KMS.

Le principali differenze tra DSSE-KMS e SSE-KMS standard sono:

  • Livelli di crittografia: DSSE-KMS applica due livelli indipendenti di crittografia AES-256, mentre lo standard SSE-KMS applica un solo livello

  • Sicurezza: DSSE-KMS offre una protezione avanzata contro potenziali vulnerabilità di crittografia

  • Conformità: DSSE-KMS consente di soddisfare i requisiti normativi che impongono la crittografia a più livelli

  • Prestazioni: DSSE-KMS ha una latenza leggermente superiore grazie all’ulteriore elaborazione della crittografia

  • Costo: DSSE-KMS comporta costi più elevati a causa dell’aumento del sovraccarico di calcolo e delle operazioni AWS KMS aggiuntive

Richiesta di crittografia lato server a doppio livello con AWS KMS keys (DSSE-KMS)

Per richiedere la crittografia lato server a doppio livello di tutti gli oggetti in uno specifico bucket Amazon S3, è possibile utilizzare una policy del bucket. Ad esempio, la seguente policy del bucket rifiuta a chiunque l'autorizzazione al caricamento dell'oggetto (s3:PutObject) se la richiesta non include un'intestazione x-amz-server-side-encryption che richiede la crittografia lato server con DSSE-KMS.

JSON
{ "Version":"2012-10-17", "Id": "PutObjectPolicy", "Statement": [{ "Sid": "DenyUnEncryptedObjectUploads", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms:dsse" } } } ] }