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

AWS CLIでKMSを試すメモ

前提(用語)

  • カスタマーマスターキー(CMK)
    • AWS側で管理される鍵
    • データの暗号化には直接利用しない
    • マネジメントコンソールであらかじめ作成しておく(持ち込みも可能らしい)
  • カスタマーデータキー(CDK)
    • ユーザーがデータの暗号化に用いる鍵
    • 通常はAWSで暗号化されて保存されており、データの暗号時/複号時に、都度復号化して取得する

概要

データを暗号化/復号化する流れ。暗号化/復号化に用いる鍵(CDK)をKMSで管理する。
CMKはあらかじめ作成しておくこと。

手順メモ

1. カスタマーデータキーを作成する

% aws kms generate-data-key --key-id "[CMKのキーID]" --key-spec "AES_256"
{
    "Plaintext": "[平文のカスタマーデータキー]", 
    "KeyId": "[CMKのARN]", 
    "CiphertextBlob": "[暗号化されたカスタマーデータキー]"
}

2. データの暗号化

お好きなツールで [平文のカスタマーデータキー] を使ってデータを暗号化

3. [平文のカスタマーデータキー] は破棄する

4. [暗号化されたカスタマーデータキー] を保存する

Base64デコードして保存しておく(後に、平文のカスタマーデータキーの取得に必要)

echo [暗号化されたカスタマーデータキー] | base64 -d > enc.txt

5. [平文のカスタマーデータキー] を取得する

暗号化されたカスタマーデータキーを用いて [平文のカスタマーデータキー] を取得して data-key.txt ファイルに保存する。 data-key.txt に保存される内容は前段で取得した [平文のカスタマーデータキー] と同じ文字列が保存される。

aws kms decrypt --ciphertext-blob fileb://enc --query Plaintext --output text > data-key.txt

6. データの復号化

取得した data-key.txt を用いてお好きなツールで復号化する。

参考

AWS Black Belt Online Seminar AWS Key Management Service (KMS) https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-aws-key-management-service-kms

AWS KMSを使って秘密鍵を管理する | DACエンジニアブログ:アドテクゑびす界 http://yebisupress.dac.co.jp/2017/03/30/aws-kms%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%A7%98%E5%AF%86%E9%8D%B5%E3%82%92%E7%AE%A1%E7%90%86%E3%81%99%E3%82%8B/

[JAWS-UG CLI] Amazon KMS 入門 (2) データの暗号化・復号化 - Qiita https://qiita.com/domokun70cm/items/a863ae60d4467fc7a790

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
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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