type
status
date
slug
summary
tags
category
icon
password
书籍

理論

1. データ暗号化の基本

データ暗号化は、データが送受信される際に不正アクセスを防ぐための方法です。暗号化により、第三者がデータを傍受しても、内容を理解できないようにします。

対称暗号化 vs 非対称暗号化

  • 対称暗号化:データを暗号化するための鍵(暗号鍵)と復号化するための鍵(復号鍵)が同じです。例えば、AWS KMSの対称キーを使った暗号化がこれに該当します。
  • 非対称暗号化:暗号化用の鍵と復号化用の鍵が異なります。公開鍵で暗号化し、秘密鍵で復号化します。これは、RSA暗号方式のような方式です。

2. AWSの暗号化サービス

AWSは、データの暗号化を管理するためにいくつかのツールを提供しています。

AWS KMS (Key Management Service)

AWS KMSは、対称鍵や非対称鍵の作成、管理、使用を行うサービスです。データの暗号化や復号化を簡単に管理できます。KMSは、AWS内で安全に鍵を保管し、アクセス制御を設定できます。

Lambda@Edge

Lambda@Edgeは、CloudFrontと連携して、エッジロケーションでコードを実行するサービスです。これを使うと、ユーザーのリクエストやレスポンスを動的に処理できます。データの暗号化・復号化など、リクエスト/レスポンスをカスタマイズするために利用されます。

3. CloudFrontと暗号化

CloudFrontは、コンテンツ配信ネットワーク(CDN)サービスで、コンテンツをエンドユーザーに高速に配信します。データがCloudFrontを通過する際に、暗号化を行うためには、公開鍵と秘密鍵のペアを利用することが一般的です。公開鍵を使ってCloudFrontでデータを暗号化し、秘密鍵を使ってデータ処理マイクロサービスで復号化する方法が多く採用されます。

4. セキュリティ要件

  • データの機密性:データが適切に暗号化され、第三者がアクセスできないようにする。
  • アクセス制御:誰が暗号化されたデータにアクセスできるかを制限する。データ処理マイクロサービスだけが復号化できるように鍵を管理します。
  • 暗号鍵の管理:秘密鍵を厳密に管理し、必要なサービスやユーザーだけがアクセスできるようにします。これにより、データのセキュリティを確保します。

5. 最適なアプローチ

  • データを暗号化する際には、最小限のアクセス権限の原則に従い、復号化できるのは特定のサービスやユーザーに限定します。例えば、非対称鍵を使って、CloudFrontでデータを暗号化し、データ処理マイクロサービスが秘密鍵で復号化する方法が最も適切です。
  • Lambda@Edgeなどのツールを使う場合、必要以上に複雑化しないように注意し、シンプルで管理しやすいセキュリティアーキテクチャを設計することが大切です。

まとめ

AWSでのデータ暗号化において、非対称暗号化(RSAキー対など)を使用することで、公開鍵でデータを暗号化し、秘密鍵で復号化する方法が一般的です。CloudFrontRSA暗号方式を組み合わせることで、安全にデータを転送し、復号化は特定のマイクロサービスだけに許可できます。この方法はシンプルで、セキュリティ要件を満たす効果的なアプローチです。
 

実践

一問道場


質問 #303
あるオンラインアンケート会社は、アプリケーションをAWSクラウドで実行しています。アプリケーションは分散型で、Amazon Elastic Container Service(Amazon ECS)クラスターで実行されているマイクロサービスで構成されています。このECSクラスターは、アプリケーションロードバランサー(ALB)のターゲットです。ALBは、Amazon CloudFrontディストリビューションのカスタムオリジンです。
この会社には、機密データを含むアンケートがあります。機密データはアプリケーション内を移動する際に暗号化する必要があります。また、そのデータを復号化できるのは、アプリケーションのデータ処理マイクロサービスだけである必要があります。
この要件を満たすソリューションはどれですか?
A. データ処理マイクロサービス専用の対称AWS Key Management Service(AWS KMS)キーを作成します。フィールドレベルの暗号化プロファイルと構成を作成し、そのKMSキーと構成をCloudFrontのキャッシュ動作に関連付けます。
B. データ処理マイクロサービス専用のRSAキー対を作成します。公開鍵をCloudFrontディストリビューションにアップロードします。フィールドレベルの暗号化プロファイルと構成を作成し、その構成をCloudFrontのキャッシュ動作に追加します。
C. データ処理マイクロサービス専用の対称AWS Key Management Service(AWS KMS)キーを作成します。Lambda@Edge関数を作成し、その関数を使用してKMSキーで機密データを暗号化するようにプログラムします。
D. データ処理マイクロサービス専用のRSAキー対を作成します。Lambda@Edge関数を作成し、その関数を使用してRSAキー対の秘密鍵で機密データを暗号化するようにプログラムします。

解説

質問の要点:

  • アプリケーションは AWSクラウド 上で実行され、Amazon ECS クラスターでマイクロサービスとして動作しています。
  • 機密データはアプリケーション内で移動する際に 暗号化 する必要があります。
  • そして、そのデータを復号化できるのは アプリケーションのデータ処理マイクロサービスだけ である必要があります。
この要件を満たすために最も適切なソリューションはどれかを問う質問です。

各選択肢の解説:

A. データ処理マイクロサービス専用の対称AWS KMSキーを作成します。フィールドレベルの暗号化プロファイルと構成を作成し、そのKMSキーと構成をCloudFrontのキャッシュ動作に関連付けます。

  • AWS KMS(Key Management Service) を使って対称キーを作成し、暗号化と復号化を行う方法です。
  • ただし、この方法ではデータの 暗号化と復号化をKMSが管理 するため、データ処理マイクロサービスだけ が復号化できるという要件を完全には満たせません。
  • KMSキーは複数のリソース(ECS、CloudFrontなど)からアクセス可能 になり、特定のマイクロサービスにのみ復号化を許可することはできません。

B. データ処理マイクロサービス専用のRSAキー対を作成します。公開鍵をCloudFrontディストリビューションにアップロードします。フィールドレベルの暗号化プロファイルと構成を作成し、その構成をCloudFrontのキャッシュ動作に追加します。

  • RSAキー対(公開鍵と秘密鍵)を使用する方法です。
  • 公開鍵はCloudFrontにアップロードされ、データがCloudFrontを通過する際にデータを暗号化します。
  • 秘密鍵はデータ処理マイクロサービス専用にして、これだけがデータを復号化できるようにします。
  • この方法は、要件に完全に適合しています。「データを復号化できるのはデータ処理マイクロサービスだけ」という要件を満たすため、秘密鍵の管理をデータ処理マイクロサービスに限定できます。

C. データ処理マイクロサービス専用の対称AWS KMSキーを作成します。Lambda@Edge関数を作成し、その関数を使用してKMSキーで機密データを暗号化するようにプログラムします。

  • この方法では、Lambda@Edge を使ってデータを暗号化し、AWS KMSを使って暗号化キーを管理します。
  • Lambda@Edgeを使う理由は不明確で、暗号化と復号化の処理が CloudFrontエッジロケーション で行われるため、データの流れが複雑になり、効率的ではない可能性があります。
  • また、Lambda@Edgeを使うことで データ処理マイクロサービス専用の復号化 を実現するのが難しくなります。単純に RSAキー対 を使う方が明確でシンプルです。

D. データ処理マイクロサービス専用のRSAキー対を作成します。Lambda@Edge関数を作成し、その関数を使用してRSAキー対の秘密鍵で機密データを暗号化するようにプログラムします。

  • ここでも RSAキー対 を使用していますが、Lambda@Edge を使って秘密鍵でデータを暗号化しようとしています。
  • 秘密鍵 は復号化専用で、データの暗号化には公開鍵を使うのが正しい方法です。秘密鍵で暗号化するのは誤った使用方法です。
  • さらに、Lambda@Edgeを使う必要がないため、この方法も過剰で複雑です。

結論:

B が最も適切な選択肢です。
  • RSA公開鍵暗号方式を使用し、公開鍵でデータを暗号化し、秘密鍵で復号化するという方法が、要件を満たす最もシンプルで効果的な方法です。
  • データ処理マイクロサービス専用に秘密鍵を管理でき、データの暗号化と復号化の制御が明確に行えます。
これが選択肢 B の正当性の理由です。
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
304-AWS SAP AWS 「理論・実践・一問道場」DHCPオプションセット302-AWS SAP AWS 「理論・実践・一問道場」AWS MGN
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
第1回:イントロダクション
2025-4-21
TOKYO自習島
2025-4-21
第1回:イントロダクション
2025-4-18
第1回:オリエンテーション/意思決定と会計情報
2025-4-18
建物業法の基本と免許-59問
2025-4-10
宅建士过去问速刷:小南小白陪你拿证-001
2025-4-7
公告

🎉 欢迎访问我的博客 🎉

🙏 感谢您的支持 🙏

📅 本站自 2024年9月1日 建立,致力于分享我在 IT・MBA・不动产中介 等领域的学习与实践经验,并推动 线上线下学习会 的自主开展。

📚 主要内容

💻 IT・系统与开发

  • 系统管理:Red Hat 等
  • 容器与编排:Kubernetes、OpenShift
  • 云计算:AWS、IBM Cloud
  • AI 入门:人工智能基础与实践
  • 技术笔记与考证经验

🏠 不动产 × 宅建士

  • 宅建士考试笔记

🎓 MBA 学习笔记

  • 管理学、经济学、财务分析等

🔍 快速查找内容(标签分类)

由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
📌 定期更新,欢迎常来看看!
📬 有任何建议或想法,也欢迎留言交流!