Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
そのS3暗号化ちょっと待って(SSE-S3とSSE-KMSの違いと注意点)
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
k_sasano
October 25, 2024
1.1k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
そのS3暗号化ちょっと待って(SSE-S3とSSE-KMSの違いと注意点)
k_sasano
October 25, 2024
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Typedesign – Prime Four
hannesfritz
42
3.2k
A Tale of Four Properties
chriscoyier
163
24k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
WENDY [Excerpt]
tessaabrams
14
40k
Building the Perfect Custom Keyboard
takai
2
910
Raft: Consensus for Rubyists
vanstee
142
7.8k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Fireside Chat
paigeccino
43
4.1k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
580
Transcript
そのS3暗号化ちょっと待って (SSE-S3とSSE-KMSの違いと注意点) 氏名:笹野 拳太郎
目次 • 自己紹介 • はじめに • ざっくりサーバサイド暗号化振り返る • S3で利用できる暗号化キーの説明/特徴 •
まとめ
自己紹介 名前:笹野拳太郎 Qiita:https://qiita.com/kaburagi_ 仕事内容:AWS基盤の設計・保守 最近興味:セキュリティ系サービス
• 自己紹介 • はじめに • ざっくりサーバサイド暗号化振り返る • S3で利用できる暗号化キーの説明/特徴 • まとめ
はじめに ◆S3のサーバーサイド暗号化キーは何を使用していますか? • 暗号化キーに対する特別な要件が無い場合、 SSE-S3が第一候補に挙がるかと思います S3 Managed DataKey 暗号化キーの要件ないし、 何となくデフォルトでええやろの精神
Amazon S3 Object
はじめに AWS KMS key 暗号化キーの要件ないし、 何となくデフォルトでええやろ Amazon S3 ◆S3のサーバーサイド暗号化キーは何を使用していますか? •
暗号化キーに対する特別な要件が無い PJ の場合、 SSE-S3が第一候補に挙がるかと思います • ただ、何となくデフォルト設定であるSSE-S3を選択していませんか? 今日はこの何となくを少しでも 解消できたらと思います。
目次 • 自己紹介 • はじめに • ざっくりサーバサイド暗号化振り返る • S3で利用できる暗号化キーの説明/特徴 •
まとめ
ざっくりサーバサイド暗号化振り返る ◆ざっくりサーバサイド暗号化をおさらい • 名前の通りサーバー(ストレージ)側で暗号/復号化される暗号方式 • 利用者側で鍵管理は不要、データ格納時にサーバ側で自動的に暗号化され、 利用時には自動的に復号化 Encrypted data put
object Data key 利用者(クライント)
ざっくりサーバサイド暗号化振り返る Encrypted data put object Data key 利用者(クライント) ストレージに対する盗難や発生不正アクセ スから防御してくれることが目的
攻撃者 通信の暗号化は別途検討が必要 ◆盗難や不正アクセスから防御
目次 • 自己紹介 • はじめに • ざっくりサーバサイド暗号化振り返る • S3で利用できる暗号化キーの説明/特徴 •
まとめ
S3で利用できる暗号化キーの説明/特徴 ◆S3 におけるサーバーサイド暗号化オプションは、 以下 5 パターンに分類できます。 • SSE-S3 • SSE-KMS(AWS
マネージドキー) • SSE-KMS(カスタマーマネージドキー) • SSE-C • DSSE-KMS
S3で利用できる暗号化キーの説明/特徴 ◆今回は利用が限定的な「SSE-C」「DSSE-KMS」は除外した上で、 それぞれの特徴を確認します。 • SSE-S3 • SSE-KMS(AWS マネージドキー) • SSE-KMS(カスタマーマネージドキー)
• SSE-C • DSSE-KMS
S3で利用できる暗号化キーの説明/特徴 ◆SSE-S3 • デフォルトで設定される暗号方式 • Amazon S3がキーの生成・管理・保管を行う • 透過的に暗号化・復号化されるため、S3 へのアクセス権があれば暗号・復号が可能
S3 Managed DataKey Amazon S3 Object Encrypted Object put object 利用者(クライント) Encryot
S3で利用できる暗号化キーの説明/特徴 SSE-S3:監視/明示的な制御はできないけど安価なマネージドキー ◆コスト • 利用料無料 ◆監査 • いつ/誰がキーを利用したのか追跡不可 ◆アクセス制御 •
S3 へのアクセス権限がある場合、 透過的(リクエスト側設定不要)に利用できるため制御不可 ◆拡張性 • 設定追加/変更不可能 ◆運用性 • AWS マネージドにつき運用不要、不定期で自動ローテーション
S3で利用できる暗号化キーの説明/特徴 ◆SSE-KMS(AWS マネージドキー) • RDSなどでもお馴染み「aws/{サービス名}」形式の名前 • AWS KMS がキーの生成・管理・保管を行う •
鍵の利用証跡が確認可能 DataKey Amazon S3 Object Encrypted Object put object 利用者(クライント) AWS KMS) AWS Cloud Encryot オブジェクトごとに異なる 暗号鍵 を生成
S3で利用できる暗号化キーの説明/特徴 SSE-KMS(AWS マネージドキー): 監査ができて明示的な制御ができないマネージドキー ◆コスト • 作成・保管無料だがAPI リクエストごとに料金発生 ◆監査 •
利用時はKMSに関連する API が発行されるため、CloudTrail より確認可能 ◆アクセス制御 • AWS 側がサービス単位で利用を制限するキーポリシーを付与(ポリシー変更不可) ◆拡張性 • 設定追加/変更不可 ◆運用性 • AWS マネージドにつき運用不要、1年単位で自動ローテーション
S3で利用できる暗号化キーの説明/特徴 ◆SSE-KMS(カスタマーマネージド) • 任意のキーを用いて暗号化可能 • リソースポリシーによるアクセス制御可能 • 暗号/復号化の際にはKMSのアクセス権限が必要 DataKey Amazon
S3 Object Encrypted Object put object 利用者(クライント) AWS KMS AWS Cloud Encryot オブジェクトごとに異なる 暗号鍵 を生成 管理者 キー生成/ポリシー等の設定
S3で利用できる暗号化キーの説明/特徴 SSE-KMS(カスタマーマネージドキー): カスタマイズ性が高いマネージドキー ◆コスト • 有料(1$/キー+リクエストごとの課金+オプションごとに別途課金) ◆監査 • 利用時は API
が発行されるため、CloudTrail より確認可能 ◆アクセス制御 • キー自体の管理者設定/キーポリシーを用いて利用元を制限することも可能 ◆拡張性 • 任意のキー/暗号化タイプの変更などの設定可能 ◆運用性 • AWS マネージドにつき運用不要+オプションにより自動ローテーション可能 • キーローテーションで作成されたキーを用いてデータの再暗号化が行われないため、 旧/新キーを持ち続けることになる。そのためコストがバージョンごとに発生
S3で利用できる暗号化キーの説明/特徴 項目 SSE-S3 SSE-KMS(AWS マネージド) SSE-KMS(カスタマーマネージド) コスト 〇(利用料無料) △(リクエストごとに課金) ×
(1$/キー+リクエストごとのに 課金+オプションごとに別途課金) 監査証跡 ×(追跡不可) 〇(CloudTrail から確認可) 〇(CloudTrail から確認可) アクセス制御 ×(S3 へのアクセス権限があ る場合、制御不可) △(AWS 側キーポリシーを付与(ポリシー変更不可)、 ポリシー内容も 同一アカウント内のサービスからリクエス ト可能など、広く設定されている) 〇(キー自体の管理者設定/キーポリ シーを設定して利用元を制限する ことも可能) 拡張性 ×(設定追加/変更不可能) ×(設定追加/変更不可能) 〇(任意のキー/暗号化タイプの変更 などの設定可能) 運用性 〇(AWS マネージドにつき運 用不要、不定期で自動ロー テーション) 〇(AWS マネージドにつき運用不要+1年単位で自動ロー テーション) 〇(AWS マネージドにつき運用不要 +オプションにより自動ローテー ション可能) 特筆すべき注意点 ・監査不可につき、監査要件 がある場合は利用が厳しい - ・キーローテーションで作成され たキーを用いてデータの再暗号化 が行われないため、旧/新キーを持 ち続けることになる(コスト ↑)
S3で利用できる暗号化キーの説明/特徴 以下用途においてサポートされている、 バケット暗号化方式は「S3-SSE」一択となります ◆SSE-KMSが利用できないパターン • ALBアクセスログ出力先バケットとして使用する予定がある • NLBアクセスログ出力先バケットとして使用する予定がある • S3アクセスログの出力先バケットとして使用する予定がある
• S3インベントリの出力先バケットとして使用する予定がある
S3で利用できる暗号化キーの説明/特徴 各AWSサービスからの出力先の暗号化要件はリファレンスを見ること ◆SSE-KMSが利用できないパターン • ALBアクセスログ出力先バケットとして使用する予定がある • NLBアクセスログ出力先バケットとして使用する予定がある • S3アクセスログの出力先バケットとして使用する予定がある •
S3インベントリの出力先バケットとして使用する予定がある
目次 • 自己紹介 • はじめに • ざっくりサーバサイド暗号化振り返る • S3で利用できる暗号化キーの説明/特徴 •
まとめ
まとめ 各キーの特徴を抑えて選択理由を説明できるように整理 暗号化キーに対する要件はなく、 アクセス制御はS3バケットポリシーにて行うので コストに秀でているSSE-S3を選択しました。 暗号化キー利用の監査要件がありますが、暗号化キー自体のアクセ ス制御要件はないためSSE-KMS(AWSマネージド)を選択しました。 ただ、コストが発生することとS3の用途によってはSSE-S3利用も 検討させてください。 暗号化キー監査/アクセス制御/任意のキーを使用する要件があるた
め、SSE-KMS(カスタマーマネージド)を選択しました。 ただ、AWS KMS利用制限が要件的に困難であれば別の暗号化方式を 検討します。 SSE-S3を説明する人 SSE-KMS(AWSマネージド)を説明する人 SSE-KMS(カスタマーマネージド)を説明する人