Krypteringslägen och obligatorisk transportkryptering

Använda AWS-säkerhet för utvecklare

Rahul Singh

Technical Product Manager

Två garantier, en standard

En applikation skickar ett objekt till en Amazon S3-bucket. En grön hakparentes märkt under överföring omsluter nätverkshoppet, och en andra grön hakparentes märkt i vila omsluter det lagrade objektet, ovanför en notering om att SSE-S3 gäller om inget annat anges i begäran.

  • I vila: byten på disken
  • Under överföring: byten i nätverket
Använda AWS-säkerhet för utvecklare

Två garantier, en standard

En applikation skickar ett objekt till en Amazon S3-bucket. En grön hakparentes märkt under överföring omsluter nätverkshoppet, och en andra grön hakparentes märkt i vila omsluter det lagrade objektet, ovanför en notering om att SSE-S3 gäller om inget annat anges i begäran.

  • I vila: byten på disken
  • Under överföring: byten i nätverket
  • Redan klart: SSE-S3 på varje nytt objekt
  • Fortfarande ditt ansvar: Vilket läge och vem som har nyckeln gör
Använda AWS-säkerhet för utvecklare

Var klartexten tar slut

Serversidan

  • AWS tar emot läsbara byte
  • S3 krypterar vid skrivning

 

Ett serversidesflöde. Din process har klartext, skickar den över en TLS-anslutning, och Amazon S3 krypterar vid skrivning. En stapel nedanför visar byten, uppdelad av en streckad linje vid S3: delen före är märkt "dina byte: läsbara här" och visas i rött, delen efter är märkt "chiffertext" och visas i grönt.

 

Använda AWS-säkerhet för utvecklare

Var klartexten tar slut

Serversidan

  • AWS tar emot läsbara byte
  • S3 krypterar vid skrivning

Klientsidan

  • Du krypterar innan det skickas
  • AWS lagrar endast chiffertext

Ett serversidesflöde. Din process har klartext, skickar den över en TLS-anslutning, och Amazon S3 krypterar vid skrivning. En stapel nedanför visar byten, uppdelad av en streckad linje vid S3: delen före är märkt "dina byte: läsbara här" och visas i rött, delen efter är märkt "chiffertext" och visas i grönt.

Ett klientsidesflöde. Din process krypterar först, skickar chiffertext över en TLS-anslutning, och Amazon S3 lagrar det den tar emot. En stapel nedanför visar byten, uppdelad av en streckad linje inuti din process: den korta delen före är märkt "dina byte: läsbara här" och visas i rött, allt efter är märkt "chiffertext" och visas i grönt.

Använda AWS-säkerhet för utvecklare

Fyra lägen, en skillnad

Samma algoritm, fyra nyckelägare

  • Läget skickas som en header i PUT-anropet
  • SSE-S3: AWS-nyckel, inget att hantera
  • SSE-KMS: din egen nyckel, CloudTrail, och en nyckelpolicy kopplad till nyckeln som anger vem den svarar för

Fyra staplade kort med namnen SSE-S3, SSE-KMS, DSSE-KMS och SSE-C. En linje till vänster går från AWS-kontroll högst upp till din egen kontroll längst ner, och varje kort visar bara det header-värde i begäran som väljer det läget.

Använda AWS-säkerhet för utvecklare

Fyra lägen, en skillnad

Samma algoritm, fyra nyckelägare

  • Läget skickas som en header i PUT-anropet
  • SSE-S3: AWS-nyckel, inget att hantera
  • SSE-KMS: din egen nyckel, CloudTrail, och en nyckelpolicy kopplad till nyckeln som anger vem den svarar för
  • DSSE-KMS: två oberoende lager
  • SSE-C: din egen nyckel vid varje anrop, ditt ansvar att inte förlora

Fyra staplade kort med namnen SSE-S3, SSE-KMS, DSSE-KMS och SSE-C. En linje till vänster går från AWS-kontroll högst upp till din egen kontroll längst ner, och varje kort visar bara det header-värde i begäran som väljer det läget.

Använda AWS-säkerhet för utvecklare

Kostnadsinvändningen mot SSE-KMS

Två rader. Utan Bucket Keys går sex pilar från Amazon S3 till AWS KMS, en för varje objektförfrågan. Med Bucket Keys går en enda pil från en nyckel på bucket-nivå som finns inuti S3. En notering nedanför anger att Bucket Keys inte är tillgängligt med DSSE-KMS.

  • Utan: ett KMS-anrop per objekt
  • Med Bucket Keys: en kortlivad nyckel, återanvänds
  • Inte tillgängligt med DSSE-KMS
  • Upp till 99% färre KMS-anrop
Använda AWS-säkerhet för utvecklare

Kryptera fältet, inte tabellen

Kryptering i vila är redan aktiverat

  • En fråga returnerar klartext till alla med läsbehörighet

Ett DynamoDB-objekt med fem attribut. Två attribut innehåller chiffertext och har blå markeringar, medan partitionsnyckeln, sorteringsnyckeln och tidsstämpeln förblir i klartext. En grön ruta nedanför anger att hela tabellen är krypterad i vila.

Använda AWS-säkerhet för utvecklare

Kryptera fältet, inte tabellen

Kryptering i vila är redan aktiverat

  • En fråga returnerar klartext till alla med läsbehörighet

AWS Database Encryption SDK

  • Kryptera utvalda attribut i din kod
  • Partitions- och sorteringsnycklar, fälten DynamoDB använder för att hitta objekt, förblir i klartext eftersom de indexeras på dem

Ett DynamoDB-objekt med fem attribut. Två attribut innehåller chiffertext och har blå markeringar, medan partitionsnyckeln, sorteringsnyckeln och tidsstämpeln förblir i klartext. En grön ruta nedanför anger att hela tabellen är krypterad i vila.

Använda AWS-säkerhet för utvecklare

TLS erbjuds, men krävs inte

Erbjuds, men krävs inte

  • S3 svarar på både HTTP och HTTPS

Två scenarier. Utan något villkor på bucketen når både en HTTPS- och en HTTP-klient objektet. Med nekande villkor stoppas HTTP-vägen vid ett rött kors och ansluter aldrig.

Använda AWS-säkerhet för utvecklare

TLS erbjuds, men krävs inte

Erbjuds, men krävs inte

  • S3 svarar på både HTTP och HTTPS

Gör det obligatoriskt

  • Bucket-policy: neka när aws:SecureTransport är false
  • Legitima klienter märker ingenting

Två scenarier. Utan något villkor på bucketen når både en HTTPS- och en HTTP-klient objektet. Med nekande villkor stoppas HTTP-vägen vid ett rött kors och ansluter aldrig.

Använda AWS-säkerhet för utvecklare

Vilken utfärdare går i god för namnet

Publikt namn

  • ACM: allmänt betrott, kostnadsfritt, förnyar sig självt

Namn som bara ditt nätverk löser upp

  • AWS Private CA: en egen certifikatutfärdare
  • Aldrig betrodd på det publika internet

Två staplade kort med rubriken vem som kan utfärda certifikatet. Det övre kortet, publikt namn, visar reports punkt example punkt com som namnet det löser upp och ACM som utfärdare, betrott överallt. Det nedre kortet, internt namn, visar admin punkt example punkt internal, som endast löses upp inom ditt VPC, med AWS Private CA som utfärdare.

Använda AWS-säkerhet för utvecklare

Den privata halvan är ditt ansvar

Vem som innehar den

  • ACM: AWS behåller den
  • EC2-nyckelpar, eller valfri SSH-nyckel: du har den privata halvan, en gång

Två staplade kort med rubriken vem som har vilken halva. Det övre kortet, publik halva, anger att den finns hos AWS eller på instansen. Det nedre orangea kortet, privat halva, ger tre rader: du får en kopia och ingen reserv, förvara den i Secrets Manager med en grön bock, och aldrig i ett repo, en laptop eller chatt, med ett orange kryss.

Använda AWS-säkerhet för utvecklare

Den privata halvan är ditt ansvar

Vem som innehar den

  • ACM: AWS behåller den
  • EC2-nyckelpar, eller valfri SSH-nyckel: du har den privata halvan, en gång

Om den är din

  • Secrets Manager, inte ett repo
  • Byt ut enligt ett schema

Två staplade kort med rubriken vem som har vilken halva. Det övre kortet, publik halva, anger att den finns hos AWS eller på instansen. Det nedre orangea kortet, privat halva, ger tre rader: du får en kopia och ingen reserv, förvara den i Secrets Manager med en grön bock, och aldrig i ett repo, en laptop eller chatt, med ett orange kryss.

Använda AWS-säkerhet för utvecklare

Tre svar, inte ett

Tre numrerade kort för läge, nyckelkontroll och transit, vart och ett med den header eller villkorsnyckel som besvarar det. En rad nedanför anger att endast den tredje kontrollen ligger utanför krypteringsinställningarna.

  1. Läge: vad som skrev objektet
  2. Nyckelkontroll: vem som kan dekryptera det, i det här kontot eller ett annat
  3. Transit: obligatoriskt eller bara erbjudet
Använda AWS-säkerhet för utvecklare

Nu kör vi en övning!

Använda AWS-säkerhet för utvecklare

Preparing Video For Download...