だいぶ更新をさぼっていたので多め。今週と言いつつ数か月分。
エンベロープ暗号化
エンベロープ暗号化 | Cloud KMS ドキュメント | Google Cloud
公開鍵は暗号化・復号の処理が重いため、大きいデータの暗号化には共通鍵を使うのが一般的。 しかし、共通鍵をそのまま保管すると流出したときにデータが復号されてしまう。 共通鍵自体も暗号化して保管し、共通鍵の暗号化に使った鍵を別の安全な場所に保管しておくことで、パフォーマンスと安全性の両方を満たせる。 この方法をエンベロープ暗号化という。
それぞれの鍵は以下の特徴を持つ。
- データキー(データ鍵、データ暗号鍵)
- データを暗号化・復号するための鍵
- 暗号化したデータキーはアクセスしやすい場所に保管する
- 流出しないに越したことはないが、鍵が復号できなければデータも復号できないので、流出しても問題ない
- 暗号化していないデータキーは保管しない
- 流出するとデータを復号できてしまうため
- ルートキー(ルート鍵、鍵暗号鍵)
- データキーを暗号化・復号するための鍵
- 安全な場所で管理し、外に出さない
AWS KMS での流れをまとめる。
まず、ルートキーを生成する。
ルートキーのIDまたはaliasは、環境変数や設定ファイルなどに持っておく。
データキーの生成とデータの暗号化を同時に行うときは以下のようになる。
データキーの生成とデータの暗号化が別のタイミングだと以下のようになる。
復号の流れは以下の通り。
なお、似たような方法にハイブリッド暗号方式というものがある。
データの暗号化に共通鍵を使い、その鍵をさらに暗号化するという点は同じ。 しかし、エンベロープ暗号化にはいくつか利点がある。
- データによって暗号化する鍵を変えたいとき、鍵管理サービスで管理する鍵の数が、
- ハイブリッド暗号方式はその分だけ増える
- エンベロープ暗号化はルートキー1つのみ
- ルートキー1つから複数のデータキーを生成できて、データキーはクライアントが管理するため
- クライアント側で扱う鍵の種類が、
- ハイブリッド暗号方式は登場するすべて
- 流出するリスクがある
- エンベロープ暗号化はデータキーのみ
- ルートキーが流出しにくい
- クライアントより鍵管理サービスのほうが流出しにくい前提
- ルートキーが流出しにくい
- ハイブリッド暗号方式は登場するすべて
AWS
Mountpoint for Amazon S3
Mountpoint for Amazon S3 – 一般公開されており、本番環境のワークロードにも対応可能 | Amazon Web Services ブログ
EC2上にS3バケットをマウントする機能。 S3のAPIではなくLinuxのコマンドで操作できて、既存のツールから扱いやすくなる。 Mountpoint for Amazon S3 自体は無料で、S3を使用した分の料金しかかからない。
ファイルの新規作成はできるが、更新はできないなど、すべての操作ができるわけではないので注意。
Amazon S3 Object Lambda
Amazon S3 の機能 | Object Lambda | AWS
S3からデータを取得するときにLambdaの処理を経由させる機能。 主なユースケースは以下の通り。
- 機密情報の削除・マスキング
- フォーマットの変換
- JSONをYAMLにするなど
- 圧縮・解凍
- 画像のリサイズ
- 特定の行のみを抽出
S3のストレージクラス
S3のストレージクラスまとめ。
S3の Cold HDD の最小サイズ
S3の Cold HDD は最小サイズが大きめなので注意すべきということ。
複数リージョンでの冗長化
複数リージョンで冗長化する方法。
NAT
https://github.com/Foo-x/til/blob/4d09aeec57898e36cd5e337d8cd703cc554613d5/service/aws/NAT.md
プライベートサブネットからNATを使ってインターネットにアクセスする方法。
EC2の購入オプション
EC2の購入オプションまとめ。
SQSのユースケース
SQSのユースケースまとめ。
RDSのリードレプリカ
RDSのリードレプリカについて。
ALBのパスベースルーティング
ALBではパスに応じて転送先を変えられること。
Docker
同じタグのイメージをpullしなおす
一度pullしたイメージを再度pullする必要性。
複数Composeファイル
Docker Compose で複数のComposeファイルを指定したときの挙動とユースケース。
WSL + Docker CE でDevcontainerを使う
WSL + Docker CE だとDevcontainerがエラーになることがある。その解決法。
Excel
DOVパターン
エクセルのデータを再利用しやすく、変更に強くする方法。
選択範囲をずらす
同じ大きさのまま選択範囲を隣にずらす方法。
Outlook
遅延送信
Windows版Outlookで遅延送信する方法。
カレンダーに祝日を表示
カレンダーに祝日を表示させる方法。
Gitでファイルを無視する
Gitでファイルを無視する各方法の違い。
ReactのStrictモード
ReactのStrictモードについて。
ブラウザのタブ検索
タブを検索するショートカットキー。