S3 Encryption for Objects

S3 ์—์„œ Objects ๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” 4๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

  • SSE-S3 : AWS๊ฐ€ ์ฒ˜๋ฆฌ ๋ฐ ๊ด€๋ฆฌํ•˜๋Š” key๋ฅผ ์‚ฌ์šฉํ•ด S3 ๊ฐ์ฒด๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • SSE-KMS : AWS ํ‚ค๊ด€๋ฆฌ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•
  • SSE-C : ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ๋“  ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ ์“ฐ์ด๋Š” ๋ฐฉ์‹
  • Client Side Encryption : ํด๋ผ์ด์–ธํŠธ์ธก ์•”ํ˜ธํ™”

์–ด๋Š ์ƒํ™ฉ์— ์–ด๋Š ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด์ž

S3 ์•”ํ˜ธํ™”1 (SSE-S3)

image-20220726014949590

  • ์ด ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•์€ Amazon S3 ์—์„œ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ํ‚ค๋ฅผ ์•”ํ˜ธํ™”์— ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹
  • ๊ฐ์ฒด๋Š” ์„œ๋ฒ„์ธก์—์„œ ์•”ํ˜ธํ™” ๋œ๋‹ค.
  • SSE ๊ฐ€ ์„œ๋ฒ„ ์ธก ์•”ํ˜ธํ™”๋ฅผ ๋œปํ•œ๋‹ค.
  • ์•”ํ˜ธํ™” ์œ ํ˜•์€ AES-256 ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๊ฐ์ฒด๋ฅผ ์—…๋กœ๋“œํ•˜๊ณ , SSE-S3 ์•”ํ˜ธํ™”๋ฅผ ์„ค์ •ํ•˜๋ ค๋ฉด "x-amz-server-side-encryption": "AES256"
    ์œผ๋กœ ํ—ค๋”๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.
  • S3 ์—์„œ ๋ฐ์ดํ„ฐ ํ‚ค๋ฅผ ์ „๋ถ€ ์†Œ์œ  ๋ฐ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๊ฒŒ ๋œ๋‹ค.

S3 ์•”ํ˜ธํ™”2 (SSE-KMS)

image-20220726015045444

  • KMS ๋Š” ํ‚ค ๊ด€๋ฆฌ ์„œ๋น„์Šค๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์•”ํ˜ธํ™” ์„œ๋น„์Šค๋“ค ์ค‘ ํ•˜๋‚˜
  • SSE-KMS ์—์„œ ์•”ํ˜ธํ™” ํ‚ค๋Š” KMS ์„œ๋น„์Šค์—์„œ ์ฒ˜๋ฆฌ ๋ฐ ๊ด€๋ฆฌ ํ•œ๋‹ค.
  • SSE-S3 ๋Œ€์‹  ์ด ๋ฐฉ๋ฒ•์„ ํƒํ•˜๋Š” ์ด์œ 
    • ๋ˆ„๊ฐ€ ์–ด๋–ค ํ‚ค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ œ์–ด ๊ฐ€๋Šฅ
    • ๊ฐ์‚ฌ ์ถ”์ ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค
  • ๊ฐ๊ฐ ๊ฐ์ฒด๋Š” ์„œ๋ฒ„์ธก์—์„œ ์•”ํ˜ธํ™”๋œ๋‹ค.
  • ํ—ค๋”์„ค์ •ํ• ๋•Œ "x-amz-server-side-encryption": "aws:kms" ๋ผ๊ณ  ์„ค์ • ํ•„์š”
  • ์„œ๋ฒ„ ์ธก ์•”ํ˜ธํ™”์ด๋ฏ€๋กœ ์›๋ฆฌ๋Š” ์ด์ „๊ณผ ๋™์ผ
  • KMS ๊ณ ๊ฐ ๋งˆ์Šคํ„ฐ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ S3 ๋ฒ„ํ‚ท์— ์ €์žฅ๋œ๋‹ค.

S3 ์•”ํ˜ธํ™”3 (SSE-C)

image-20220726015554440

  • ์„œ๋ฒ„ ์ธก ์•”ํ˜ธํ™” ๋ฐฉ์‹
  • AWS๊ฐ€ ์™ธ๋ถ€์—์„œ ๊ณ ๊ฐ์ด ๊ด€๋ฆฌํ•˜๋Š” ํ‚ค๋ฅผ ์‚ฌ์šฉ
  • S3 ๋Š” ๊ณ ๊ฐ์ด ์ œ๊ณตํ•œ ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์•”ํ˜ธํ™”๋ฅผ ์œ„ํ•ด์„œ๋Š” ๋‹น์—ฐํžˆ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ์ง€๋งŒ ๊ทธ ํ›„์—๋Š” ํ‚ค๋ฅผ ํ๊ธฐํ•œ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฅผ AWS๋กœ ์ „์†กํ• ๋•Œ๋Š” HTTPS ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, AWS๋กœ ์•”ํ˜ธ๋ฅผ ์ „๋‹ฌํ•  ํ…Œ๋‹ˆ ์ „์†ก๋˜๋Š”๋™์•ˆ ์•”ํ˜ธํ™” ํ•„์š”
  • ์•”ํ˜ธํ™” ํ‚ค๊ฐ€ HTTP Header์— ์ œ๊ณต๋˜์–ด์•ผ ํ•œ๋‹ค.
    • ๋ชจ๋“  HTTP ์š”์ฒญ๋งˆ๋‹ค ๋งค๋ฒˆ ์ œ๊ณต๋˜์–ด์•ผ ํ•จ
    • ํ•ญ์ƒ ์‚ฌ์šฉํ›„, ํ๊ธฐ ๋˜๊ธฐ ๋•Œ๋ฌธ
  • ๋งŒ์•ฝ, SSE-C๋ฅผํ†ตํ•ด Amazon S3 ๋กœ๋ถ€ํ„ฐ ํŒŒ์ผ์„ ๋‹ค์‹œ ๋‹ค์šด๋ฐ›์œผ๋ ค๊ณ  ํ•˜๋ฉด,
    • ์‚ฌ์šฉ๋œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ํด๋ผ์ด์–ธํŠธ ์ธก ๋ฐ์ดํ„ฐ ํ‚ค๋ฅผ ์ œ๊ณต๋ฐ›์•„์•ผ ํ•œ๋‹ค.
    • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ‚ค๋ฅผ ์ œ๊ณต ๋ฐ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
    • AWS ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ ํ‚ค๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ

S3 ์•”ํ˜ธํ™”4 (Client Side Encryption)

image-20220726015756299

  • ์ด ๋ฐฉ๋ฒ•์€, ๊ฐ์ฒด๋ฅผ ์—…๋กœ๋“œํ•˜๊ธฐ ์ „, ํด๋ผ์ด์–ธํŠธ ์ฆ‰, ์šฐ๋ฆฌ๊ฐ€ ๊ฐ์ฒด๋ฅผ ์•”ํ˜ธํ™” ํ•˜๋Š” ๊ฒƒ
  • ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • Amazon S3 Encryption Client ๋“ฑ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ ์ธก ์•”ํ˜ธํ™”๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ S3 ๋กœ ๋ณด๋‚ด๊ธฐ ์ „์— ์•”ํ˜ธํ™” ํ•ด์•ผ ํ•œ๋‹ค.
  • ์ „๋‹ฌ๋ฐ›์€ ๋ฐ์ดํ„ฐ๊ฐ€ CSE ๋ฅผ ์‚ฌ์šฉํ•ด ์•”ํ˜ธํ™” ๋˜์—ˆ๋‹ค๋ฉฐ๋Š, ๋ฐ์ดํ„ฐ๋ฅผ ๋ณตํ˜ธํ™”ํ•  ์ฑ…์ž„๋„ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ฌ๋ ค์žˆ๊ฒŒ ๋œ๋‹ค.
    • ๋”ฐ๋ผ์„œ ์˜ฌ๋ฐ”๋ฅธ ํ‚ค๊ฐ€ ์ค€๋น„๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. (ํ‚ค ๋ถ„์‹คํ•˜๋ฉด ์•ˆ๋จ)

Encryption in transit (SSL/TLS)

ํ†ต์‹  ์ค‘ ์•”ํ˜ธํ™”

SSL/TLS ์—ฐ๊ฒฐ์ด ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•œ๋‹ค.

image-20220726020045233

  • HTTP
    • ์•”ํ˜ธํ™” ๋˜์ง€ ์•Š์€ ์—”๋“œํฌ์ธํŠธ ๋…ธ์ถœ
  • HTTPS
    • ์•”ํ˜ธํ™”๋œ ์—”๋“œํฌ์ธํŠธ ๋…ธ์ถœํ•˜์—ฌ ์ „์†ก ์ค‘ ์•”ํ˜ธํ™” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต
    • ์ด ๋•Œ, SSL/TLS ์ธ์ฆ์„œ์˜ ๋„์›€์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค.
  • ์›ํ•˜๋Š” ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋ฌด๋ฐฉํ•˜์ง€๋งŒ, HTTPS ๋ฅผ ์ถ”์ฒœํ•˜๊ณ  ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.
  • HTTPS ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด Client ์™€ S3 ์‚ฌ์ด๋ฅผ ์ด๋™ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋‘ ์•”ํ˜ธํ™” ๋œ๋‹ค.

  • SSE-C ์•”ํ˜ธํ™”๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด HTTPS ํ†ต์‹ ๋ฐฉ์‹์ด ํ•„์ˆ˜(์˜๋ฌด)์ด๋‹ค.
  • ์ „์†ก ์ค‘ ์•”ํ˜ธํ™”๋Š” SSL/TLS ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ์šด๋‹ค. (SSL/TLS ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ)

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ