Help us understand the problem. What is going on with this article?

AWS の暗号化サービス

More than 1 year has passed since last update.

1.AWS KMS

概要

データの暗号化に使用される暗号化キーの"作成"と"管理"を容易にするマネージド型サービスです。

CMK

AWSマネージド型 カスタマーマネージド型
作成 AWS ユーザー
ローテーション 3年に1回 1年に1回、又はオンデマンド
削除 削除できない 削除可能
使用範囲 特定のAWSサービス KMS/IAMポリシーで管理
キーアクセスポリシー AWSマネジード カスタマーマネージド
ユーザアクセス管理 IAMポリシー IAMポリシー

注意

  • 対象鍵暗号(共通鍵暗号)にのみ対応しており、非対称鍵暗号(公開鍵暗号)には対応していません。
  • 4KBを超えるデータは直接暗号化することができず、鍵をエクスポートすることもできません。
  • 利用者が独自に設定した外部の鍵をKMSへインポートすることは可能ですが、一度インポートした鍵をエクスポートすることはできません。
  • APIリクエストのスロットリングに注意制限
  • リージョン間の鍵の共有はできない。
  • 不要にになった鍵は削除することはできますが、削除した鍵で暗号化したデータが残っていた場合、そのデータは復号化で気なくなるため、事故に備えて、鍵の削除に猶予期間を設定する必要があります↓↓↓

image.png

キー管理者とキーユーザー

キー管理者 キーユーザー
CMK を管理するためのアクセス権限はありますが、データの暗号化と復号化に CMK を使用するためのアクセス権限はありません。 暗号化と復号化のために CMK を直接使用するアクセス権限があります。

カスタマーキーとカスタマーデーターキー

スクリーンショット 2019-11-03 19.59.06.png

BYOK利用時の考慮点

スクリーンショット 2019-11-03 20.16.20.png

  • 鍵のエクスポートは不可。
  • インポートする鍵は256ビットの対称鍵のみ。
  • 鍵のインポートは2つのRSA PKCS#1スキームのいずれかを使用して保護される。
  • インポートした鍵の自動ローテーションは不可。随時手動でローテーションする。
  • インポート後はAWS KMS生成のCMKと同等の可用性であるが、耐久性は異なり、リージョン障害などの場合に自動復旧されない。
  • 有効期限が過ぎた鍵はKMSによって削除される。AWS KMS生成のCMKは7日〜30日の待機時間があるのに対して、即時に削除。インポートの再実施で復旧可能。
  • 上記の耐久性と削除(特にオペレーションミスによる削除)の対応として、鍵を必ず保管しておくことが運用の前提。
  • 同じ鍵を複数リージョンにインポートすることは可能。但し、あるリージョンのKMSで暗号化したデータ(データキー)を別リージョンのKMSで復号することはキーIDが違うため出来ない。

API

image.png

GenerateDataKey と GenerateDataKeyWithoutPlaintext
GenerateDataKeyWithoutPlaintextは、データキーの暗号化されたコピーのみを返すことを除いて、GenerateDataKeyと同じです。
GenerateDataKeyと同様に、GenerateDataKeyWithoutPlaintextは、リクエストごとに一意のデータキーを返します。
データを暗号化する必要がある場合は、暗号化されたキーのコピーに対して復号化操作を呼び出します。

料金

  • 1USD / key version / 月
  • 0.03USD per 10,000 APIリクエスト

リンク

AWS S3デフォルト暗号化をやってみた

2.CloudHSM

概要

暗号化のための鍵を管理する専用サーバーを、指定したVPC上にAWS側で用意してくれるサービスです。

注意

  • 対象鍵暗号、非対称鍵暗号に対応している。
  • 暗号鍵のインポート、エクスポートが可能です。
  • 規制や法令のために認定を受けた鍵管理モジュールを専用環境で利用する必要がある場合や、公開鍵暗号化方式を利用したい場合に利用します。

料金

東京リージョンで、1.81USDなので、今のところ検証はまだしていない。。。。

AWS CloudHSM の料金

3.AWS Certificate MAnager

概要

AWS上でお手軽にSSL/TLSを利用することのできるサービスです。
SSL/TLS証明書はインターネット越しのネットワーク通信を安全にし、Web サイトの身元を確認するのに使われています。

DNS認証とEメールドメイン認証

アマゾンは証明書を発行する前に、そのドメイン名をあなたが管理している事を検証しなければなりません。

DNS認証とEメールドメイン認証の方法があり、DNS認証が推奨されています。
DNS を使って AWS Certificate Manager の検証を簡単に

パブリック証明書とプライベート証明書

パブリック証明書  プライベート証明書
サーバやクライアントとは関係ない民間機関などがが発行し、第三者的な立場でサーバやクライアントの真正性を証明します。また、パブリックな証明書自体が本物であるか否かはインターネットに接続された環境であれば、どこにいても確認できます。 特定の組織やグループ内だけで有効な証明書です。たとえば、大学内に認証局を設置し、その認証局で発行された証明書は大学内でのみ、サーバやクライアントの真正性を確認できます。

リンク

AWS Certificate Manager - ELB(+ACM発行証明書)→EC2
Amazon CloudFront の代替ドメイン名(CNAMEs)のセキュリティ強化 SSLが必須になった

leomaro7
AWS 認定 ソリューションアーキテクト – アソシエイト AWS 認定 SysOps アドミニストレーター – アソシエイト AWS 認定 デベロッパー – アソシエイト AWS 認定 クラウドプラクティショナー Linuc1
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away