Modalità di cifratura e forzare il transito

Uso di AWS Security per sviluppatori

Rahul Singh

Technical Product Manager

Due garanzie, una predefinita

Un'applicazione invia un oggetto a un bucket Amazon S3. Una staffa verde etichettata in transito copre il salto di rete e una seconda staffa verde etichettata a riposo copre l'oggetto memorizzato, con una nota che SSE-S3 si applica salvo diversa indicazione nella richiesta.

  • A riposo: i byte su disco
  • In transito: i byte sulla rete
Uso di AWS Security per sviluppatori

Due garanzie, una predefinita

Un'applicazione invia un oggetto a un bucket Amazon S3. Una staffa verde etichettata in transito copre il salto di rete e una seconda staffa verde etichettata a riposo copre l'oggetto memorizzato, con una nota che SSE-S3 si applica salvo diversa indicazione nella richiesta.

  • A riposo: i byte su disco
  • In transito: i byte sulla rete
  • Già attivo: SSE-S3 su ogni nuovo oggetto
  • Resta a te: quale modalità e chi tiene la chiave, lo decidi tu
Uso di AWS Security per sviluppatori

Dove finisce il plaintext

Lato server

  • AWS riceve byte leggibili
  • S3 cifra in scrittura

 

Flusso lato server. Il tuo processo ha il plaintext, lo invia su TLS e Amazon S3 cifra in scrittura. Una barra sotto traccia i byte, divisa da una linea tratteggiata in corrispondenza di S3: prima "i tuoi byte: leggibili qui" in rosso, dopo "cifrato" in verde.

 

Uso di AWS Security per sviluppatori

Dove finisce il plaintext

Lato server

  • AWS riceve byte leggibili
  • S3 cifra in scrittura

Lato client

  • Cifri prima che esca
  • AWS memorizza solo testo cifrato

Flusso lato server. Il tuo processo ha il plaintext, lo invia su TLS e Amazon S3 cifra in scrittura. Una barra sotto traccia i byte, divisa da una linea tratteggiata in corrispondenza di S3: prima "i tuoi byte: leggibili qui" in rosso, dopo "cifrato" in verde.

Flusso lato client. Il tuo processo cifra per primo, invia testo cifrato su TLS e Amazon S3 archivia ciò che riceve. Una barra sotto traccia i byte, divisa da una linea tratteggiata dentro il tuo processo: il tratto breve prima è "i tuoi byte: leggibili qui" in rosso, tutto il resto è "cifrato" in verde.

Uso di AWS Security per sviluppatori

Quattro modalità, una differenza

Stesso algoritmo, quattro proprietari della chiave

  • La modalità viaggia come header nel PUT
  • SSE-S3: chiave AWS, niente da gestire
  • SSE-KMS: tua chiave, CloudTrail e una key policy collegata alla chiave che definisce a chi risponde

Quattro schede impilate con SSE-S3, SSE-KMS, DSSE-KMS e SSE-C. Una scala a sinistra va dal controllo AWS in alto al tuo controllo in basso; ogni scheda mostra solo il valore dell'header richiesta che seleziona la modalità.

Uso di AWS Security per sviluppatori

Quattro modalità, una differenza

Stesso algoritmo, quattro proprietari della chiave

  • La modalità viaggia come header nel PUT
  • SSE-S3: chiave AWS, niente da gestire
  • SSE-KMS: tua chiave, CloudTrail e una key policy collegata alla chiave che definisce a chi risponde
  • DSSE-KMS: due livelli indipendenti
  • SSE-C: tua chiave a ogni richiesta, la perdi se non la custodisci

Quattro schede impilate con SSE-S3, SSE-KMS, DSSE-KMS e SSE-C. Una scala a sinistra va dal controllo AWS in alto al tuo controllo in basso; ogni scheda mostra solo il valore dell'header richiesta che seleziona la modalità.

Uso di AWS Security per sviluppatori

L'obiezione di costo a SSE-KMS

Due righe. Senza Bucket Keys, sei frecce vanno da Amazon S3 ad AWS KMS, una per ogni richiesta oggetto. Con Bucket Keys, una sola freccia esce da una chiave a livello bucket tenuta in S3. Nota: Bucket Keys non disponibili con DSSE-KMS.

  • Senza: una chiamata KMS per oggetto
  • Con Bucket Keys: una chiave a breve vita, riutilizzata
  • Non disponibile con DSSE-KMS
  • Fino al 99% di richieste KMS in meno
Uso di AWS Security per sviluppatori

Cifra il campo, non la tabella

A riposo è già attivo

  • Una query restituisce plaintext a chi ha accesso in lettura

Un elemento DynamoDB con cinque attributi. Due attributi contengono testo cifrato con barre blu, mentre partition key, sort key e timestamp restano in chiaro. Un riquadro verde sotto indica che l'intera tabella è cifrata a riposo.

Uso di AWS Security per sviluppatori

Cifra il campo, non la tabella

A riposo è già attivo

  • Una query restituisce plaintext a chi ha accesso in lettura

AWS Database Encryption SDK

  • Cifra in codice solo gli attributi scelti
  • Partition e sort key, usate da DynamoDB per cercare gli item, restano in chiaro perché indicizzate

Un elemento DynamoDB con cinque attributi. Due attributi contengono testo cifrato con barre blu, mentre partition key, sort key e timestamp restano in chiaro. Un riquadro verde sotto indica che l'intera tabella è cifrata a riposo.

Uso di AWS Security per sviluppatori

TLS è offerto, non richiesto

Offerto, non imposto

  • S3 risponde sia a HTTP sia a HTTPS

Due scenari. Senza condizione sul bucket, sia un client HTTPS sia uno HTTP raggiungono l'oggetto. Con la condizione di deny, il percorso HTTP si ferma a una X rossa e non si connette.

Uso di AWS Security per sviluppatori

TLS è offerto, non richiesto

Offerto, non imposto

  • S3 risponde sia a HTTP sia a HTTPS

Rendilo obbligatorio

  • Bucket policy: nega quando aws:SecureTransport è false
  • I client legittimi non notano nulla

Due scenari. Senza condizione sul bucket, sia un client HTTPS sia uno HTTP raggiungono l'oggetto. Con la condizione di deny, il percorso HTTP si ferma a una X rossa e non si connette.

Uso di AWS Security per sviluppatori

Quale autorità garantisce il nome

Nome pubblico

  • ACM: trust pubblico, gratis, rinnovo automatico

Nome risolto solo dalla tua rete

  • AWS Private CA: una tua autorità di certificazione
  • Mai trusted su internet pubblico

Due schede impilate su chi può emettere il certificato. In alto, nome pubblico: reports punto example punto com come nome e ACM come emittente, trusted ovunque. In basso, nome interno: admin punto example punto internal, risolto solo nella tua VPC, e AWS Private CA come emittente.

Uso di AWS Security per sviluppatori

La metà privata è tua responsabilità

Chi lo detiene

  • ACM: AWS lo conserva
  • Coppia di chiavi EC2 o qualsiasi chiave SSH: tu detieni la metà privata, una volta sola

Due schede impilate su chi detiene quale metà. La scheda superiore, metà pubblica, indica che vive su AWS o sull'istanza. Quella arancione sotto, metà privata, ha tre righe: ne ottieni una copia senza riserva, conservala in Secrets Manager con spunta verde, mai in repo, laptop o chat con croce arancione.

Uso di AWS Security per sviluppatori

La metà privata è tua responsabilità

Chi lo detiene

  • ACM: AWS lo conserva
  • Coppia di chiavi EC2 o qualsiasi chiave SSH: tu detieni la metà privata, una volta sola

Se è tua

  • Secrets Manager, non un repo
  • Sostituiscila a intervalli regolari

Due schede impilate su chi detiene quale metà. La scheda superiore, metà pubblica, indica che vive su AWS o sull'istanza. Quella arancione sotto, metà privata, ha tre righe: ne ottieni una copia senza riserva, conservala in Secrets Manager con spunta verde, mai in repo, laptop o chat con croce arancione.

Uso di AWS Security per sviluppatori

Tre risposte, non una

Tre schede numerate per modalità, controllo chiave e transito, ognuna mostra l'header o la chiave condizione che risponde. Una riga sotto nota che solo il terzo controllo vive fuori dalle impostazioni di cifratura.

  1. Modalità: cosa ha scritto l'oggetto
  2. Controllo chiave: chi può decifrarlo, in questo account o in un altro
  3. Transito: obbligatorio o solo offerto
Uso di AWS Security per sviluppatori

Esercitiamoci!

Uso di AWS Security per sviluppatori

Preparing Video For Download...