SlideShare a Scribd company logo
1 of 49
Download to read offline
Copyright©2018 NTT Corp. All Rights Reserved.
Database Encryption and Key Management for
PostgreSQL - Principles and Considerations
NTT OSSセンタ
文 仁誠・澤田 雅彦
2018/11/22 PostgreSQL Conference Japan 2018
2Copyright©2018 NTT Corp. All Rights Reserved.
自己紹介
文 仁誠 : Moon, Insung
PostgreSQL技術サポート
ツール開発
趣味 : ディズニー行くこと
澤田 雅彦 : Masahiko Sawada
PostgreSQL本体開発
ツール開発
趣味:キーボード設計
3Copyright©2018 NTT Corp. All Rights Reserved.
• データベースを安全に扱う
• データベース暗号化
• 鍵管理
• PostgreSQLコミュニティの最新情報と
OSSセンタの取り組み
INDEX
4Copyright©2018 NTT Corp. All Rights Reserved.
• 本セッションは、PostgreSQLをよりセキュアに使用する
ためのノウハウを解説するものです
• 実際にセキュリティ機能をご検討の際は、セキュリティ
を専門とする会社、組織に必ずご相談ください
はじめに
5Copyright©2018 NTT Corp. All Rights Reserved.
• 権限のあるユーザの不正利用
• SQLインジェクション
• ストレージメディアの盗難
• クライアント⇔サーバ通信の盗聴
• DoS攻撃
など
システム全体におけるデータベースの脅威
DB管理者
システム
管理者
アプリケーション
データベース
通信の盗聴
SQL
インジェク
ション
ディスク
盗難
悪意のある
DB管理者
不正
アクセス
6Copyright©2018 NTT Corp. All Rights Reserved.
データベースの脅威
暗号化
機密性の高いデータ
を保護
アクセス制御
ユーザの適切な権限
を与える
監査
不正な操作を検知/通知
7Copyright©2018 NTT Corp. All Rights Reserved.
• データベース内からの不正参照
• 特権ユーザによる暗号鍵の不正使用
• データベース外からの不正参照
• 共有メモリの不正参照
• 更新ログの不正参照
• バックアップファイルの不正参照
• 物理的な盗難
• DBデータの盗難
• 更新ログの盗難
• バックアップの盗難
暗号化でデータベースを脅威から守る
8Copyright©2018 NTT Corp. All Rights Reserved.
• 暗号化と鍵管理は常にセットで考える必要がある
• ✖「暗号鍵をなくすといけないので、同じディスクに入
れてあります」
• 暗号化を行うときは、暗号鍵を安全かつ堅牢に管理する
必要がある
暗号化と鍵管理
9Copyright©2018 NTT Corp. All Rights Reserved.
データベース暗号化
脅威・性能・アプリケーション対応の要否
10Copyright©2018 NTT Corp. All Rights Reserved.
• 現在PostgreSQLのデータを暗号化する方法は色々ある
PostgreSQLのデータ暗号化
PostgreSQLが提供する暗号化ツール
OSが提供するハードディスクの暗号化
PostgreSQLのデータの暗号化には色々なものあり、
具体的に暗号化する方法が異なる。
PostgreSQLのデータを暗号化において、何を考えなければならないか?
PostgreSQLベンダが提供する暗号化ツール
11Copyright©2018 NTT Corp. All Rights Reserved.
データの暗号化のために考えること
脅威に対応
暗号化による性能のオーバーヘッド
アプリケーションの対応
調査した主な暗号化ツール
pgcrypto
dm-crypt
TDE for PG
PowerGres Plus
12Copyright©2018 NTT Corp. All Rights Reserved.
脅威への対応について
データベース暗号化
13Copyright©2018 NTT Corp. All Rights Reserved.
脅威のモデル化
• データベースの暗号化に関連する脅威は大きく3つ
• データベース内からの不正参照は、暗号鍵を守る必要があり、データベース
暗号化では防げない
• 「鍵管理」のところで説明します
• 暗号化処理を行う”層”で、対応できる脅威が異なる
脅威の種類 想定される脅威
データベース内からの不正参照 特権ユーザによる暗号鍵の不正使用
データベース外からの不正参照 更新ログの不正参照
バックアップファイルの不正参照
共有メモリの不正参照
物理的な盗難
DBサーバ用ディスクの物理的な盗難
更新ログ用ディスクの物理的な盗難
バックアップ用ディスクの物理的な盗難
14Copyright©2018 NTT Corp. All Rights Reserved.
PostgreSQLのデータ処理層
エグゼキューター
共有バッファ
ストレージマネージャ
OS
ディスク
処理 リソース凡例
ファイル
Postgre
SQL
OS
実行計画に従って処理する層。
テーブル等のデータは共有バッ
ファから取得する
共有バッファと、
ファイル間のデータのやりとり
を制御する層
ストレージマネージャから
呼ばれるOS以下のI/O処理の層
・・・・・・
・・・・・・
・・・・・・
15Copyright©2018 NTT Corp. All Rights Reserved.
• 下位の層へは暗号化されたデータが渡される
• 共有バッファ、ファイル、ディスクのデータは暗号化された状態
エグゼキューター層での暗号化処理
処理 リソース凡例
エグゼキューター
共有バッファ
ストレージマネージャ
OS
ディスク
ファイル 暗号化済み
暗号化済み
暗号化済み
pgcrypto
TDE for PG
暗号化ツールの例
暗号化処理 対応する脅威
脅威 対応
データベース外からの不正参照
〇
物理的な盗難 ○
16Copyright©2018 NTT Corp. All Rights Reserved.
• ファイル、ディスクのデータは暗号化された状態
• 共有バッファのデータは暗号化されない(平文)
ストレージマネージャ層での暗号化処理
処理 リソース凡例
エグゼキューター
共有バッファ
ストレージマネージャ
OS
ディスク
ファイル 暗号化済み
暗号化済み
平文
PowerGres Plus
暗号化処理
暗号化ツールの例
脅威 対応
データベース外からの不正参照 △
メモリダンプによる
情報漏洩は防げない
物理的な盗難 ○
対応する脅威
17Copyright©2018 NTT Corp. All Rights Reserved.
• ディスク上のデータのみが暗号化された状態
• ファイルと共有バッファのデータは暗号化されない
OS層での暗号化処理
処理 リソース凡例
エグゼキューター
共有バッファ
ストレージマネージャ
OS
ディスク
ファイル
暗号化状態
平文
平文
dm-crypt暗号化処理
暗号化ツールの例
対応する脅威
脅威 対応
データベース外からの不正参照
✖
物理的な盗難 ○
18Copyright©2018 NTT Corp. All Rights Reserved.
暗号化処理層と脅威に対応するモデル
暗号化ツール
pgcrypto TDEforPG PowerGres Plus dm-crypt
暗号化処理層 エクゼキューター ストレージマ
ネージャ
OS
脅
威
の
種
類
データベース外
からの不正参照
○ ○ △
メモリダンプによる情報
漏洩は防げない
✖
物理的な盗難 ○ ○ ○ ○
• 暗号化処理層によって脅威への対応が異なる
• 上位層で処理するほど脅威への抵抗力がある
19Copyright©2018 NTT Corp. All Rights Reserved.
性能との関係
データベース暗号化
20Copyright©2018 NTT Corp. All Rights Reserved.
• データを取得する際に、最小限の範囲で暗号化処理を
実行すると、無駄な部分の暗号化処理が少なくなる
暗号化と性能の関係 ー 暗号化範囲
user_num user_name card_num card_valid_thru
001 佐藤 1234-2345-3456-4567 02/21
002 鈴木 2345-3456-4567-5678 08/20
003 高橋 3456-4567-5678-6789 12/19
004 田中 4567-5678-6789-7980 09/22
005 渡辺 5678-6789-7890-8901 06/20
暗号化が必要な部分
暗号化が必要ではない部分
クレジットカード番号を持つテーブル
21Copyright©2018 NTT Corp. All Rights Reserved.
• 暗号化が必要なデータだけを暗号化すべき
• なるべく小さい単位で暗号化を指定できると良い
• PostgreSQLでは5つの階層に分けられる
暗号化範囲と性能の関係
データベースクラスタ
データベース
表空間
表
列
22Copyright©2018 NTT Corp. All Rights Reserved.
• PostgreSQLでは、ファイルから読み込んだデータを共有バッファに記
録した後、エグゼキューターが共有バッファのデータを使用する
• 共有バッファにデータがある場合、共有バッファとエグゼキューターの間
のみで処理する
⇒同一の暗号化データに何度もアクセスする場合、共有バッファが復号さ
れていれば復号処理は1度で済む
暗号化の処理層と性能の関係
エグゼキューター
共有バッファ
ストレージマネージャ
OS
ディスク
ファイル
発生頻度多
発生頻度少
23Copyright©2018 NTT Corp. All Rights Reserved.
• 暗号化範囲と暗号化の処理層に応じて、暗号化処理の性
能への影響が異なる
暗号化の処理層と性能の関係
暗号化範囲 暗号化を行う処理層
暗
号
化
/
復
号
処
理
の
回
数
が
少
な
く
な
る
データベースクラスタ
データベース
表空間
表
列
エグゼキューター
共有バッファ
ストレージマネージャ
OS
ディスク
ファイル
24Copyright©2018 NTT Corp. All Rights Reserved.
• オーバーヘッドを最も小さくする組み合わせは、
• 暗号化範囲 = 列
• 暗号化処理層 = OS
である。
• しかし、実現性やPostgreSQLのアーキテクチャを考慮し、既存製品は
• 暗号化範囲 = 列
• 暗号化処理層 = エグゼキューター
あるいは
• 暗号化範囲 = 表・表空間・データベース・データベースクラスタ
• 暗号化処理層 = ストレージマネージャ
で開発されている
暗号化性能の組み合わせ
25Copyright©2018 NTT Corp. All Rights Reserved.
• 暗号化処理層と暗号化範囲によって性能特性が異なる
暗号化処理層と性能のまとめ
暗号化範囲
列 表 表空間 データベース データベース
クラスタ
暗号化の処理層 エグゼキュータ ストレージ
マネージャ
ストレージ
マネージャ
ストレージ
マネージャ
OS
暗号化ツール ・pgcrypto
・TDEforPG
ー
PowerGres Plus
ー
dm-crypt
性能オーバー
ヘッド
大 中 中 中 小
※性能オーバーヘッドは暗号化処理層をベースに相対的に評価しています
暗号化の必要がないデータへアクセスする場合は、評価が逆転します。
26Copyright©2018 NTT Corp. All Rights Reserved.
• 暗号化処理層と暗号化範囲によって性能特性が異なる
• 「性能」と「脅威への対応」のトレードオフがある
性能と脅威
暗号化範囲
列 表 表空間 データベース データベース
クラスタ
暗号化の処理層 エグゼキュータ ストレージ
マネージャ
ストレージ
マネージャ
ストレージ
マネージャ
OS
暗号化ツール ・pgcrypto
・TDEforPG
ー
PowerGres Plus
ー
dm-crypt
性能オーバー
ヘッド
大 中 中 中 小
データベース外
からの不正参照 ○
△
メモリダンプによる
情報漏洩は防げない
△
メモリダンプによる
情報漏洩は防げない
△
メモリダンプによる
情報漏洩は防げない
✖
物理的な盗難 ○ ○ ○ ○ ○
※性能オーバーヘッドは暗号化処理層をベースに相対的に評価しています
暗号化の必要がないデータへアクセスする場合は、評価が逆転します。
27Copyright©2018 NTT Corp. All Rights Reserved.
データベース暗号化
アプリケーション対応の要否
28Copyright©2018 NTT Corp. All Rights Reserved.
• 暗号化に対応するためアプリケーションで対応する必要
がある場合
• 例えばpgcryptoではクエリの修正が必要となる
アプリケーションでの対応
SELECT card_number FROM users;
SELECT pg_decrypt (card_number, ‘secret key’) FROM users;
29Copyright©2018 NTT Corp. All Rights Reserved.
• 既存のアプリケーションコードに記述されたクエリの中で暗
号化対応する必要があるクエリを探す
• 巨大なアプリケーションである場合、暗号化対応する必要があ
るクエリを探すことに時間とコストがかかる
• 暗号化対応する必要があるクエリを探した後、クエリを変更
する
• 多くのクエリを変更することは時間とコストがかかる
• アプリケーションのコードを変更した後、修正による影響を
確認する回帰テストを行う
• テストの実行、確認に時間とコストがかかる
アプリケーション対応の難しさ
これを解決できる方法はTransparent Data Encryption(TDE)
30Copyright©2018 NTT Corp. All Rights Reserved.
• 透過的データ暗号化(TDE)とは?
• ユーザが暗号化を意識せずに暗号化が出来る機能
• アプリケーションの修正を最小限に抑えることができる
透過的データ暗号化(TDE)
データベース
lai1o71;&
61%k17yb
17rkhaai6b
INSERT INTO hoge
VALUES(‘Hello World’);
データベース”内”で
暗号化/復号
31Copyright©2018 NTT Corp. All Rights Reserved.
• 暗号化によるアプリケーション対応は時間とコストがか
かる
• TDEを利用することでコストを削減できる
• 現在使用可能なPostgreSQLのTDEに対応した暗号化
ツールの例
アプリケーション対応の関連まとめ
TDE for PG PowerGres Plus
32Copyright©2018 NTT Corp. All Rights Reserved.
データベース暗号化
まとめ
33Copyright©2018 NTT Corp. All Rights Reserved.
データベース暗号化まとめ
• 暗号化を行う処理層によって対応できる脅威が異なる
• 暗号化の範囲と処理層には関連性がある(実現性など)
• TDEを利用すると、アプリケーションの暗号化対応のコストが小さ
くなる
暗号化範囲
列 表 表空間 データベース データベース
クラスタ
暗号化の処理層 エグゼキュータ ストレージ
マネージャ
ストレージ
マネージャ
ストレージ
マネージャ
OS
暗号化ツール ・pgcrypto
・TDEforPG(TDE) ー
PowerGres Plus
(TDE)
ー
dm-crypt
(TDE)
性能オーバー
ヘッド
大 中 中 中 小
データベース外
からの不正参照 ○
△
メモリダンプによる
情報漏洩は防げない
△
メモリダンプによる
情報漏洩は防げない
△
メモリダンプによる
情報漏洩は防げない
✖
物理的な盗難 ○ ○ ○ ○ ○
※性能オーバーヘッドは暗号化処理層をベースに相対的に評価しています
暗号化の必要がないデータへアクセスする場合は、評価が逆転します。
34Copyright©2018 NTT Corp. All Rights Reserved.
鍵管理
35Copyright©2018 NTT Corp. All Rights Reserved.
• データを暗号化する際に使用する鍵を管理すること
• 鍵が漏れてしまうと、暗号化された情報も一緒に漏れる
• 鍵管理をきちんとしていない場合に発生する脅威は何か
鍵管理とは
脅威 対応策
鍵の漏洩
鍵管理サーバの利用
鍵の紛失
同一の暗号鍵を適切な利用期間を超えて使用し続
ける 鍵ローテーション
漏えい等の問題が疑われる暗号鍵を使い続ける
鍵管理に関する脅威と対応策
36Copyright©2018 NTT Corp. All Rights Reserved.
• PCI-DSS(クレジットカード業者のセキュリティ規約)
では鍵管理についても規定
鍵管理についての要件
3.5(鍵管理について)
・鍵暗号化鍵がデータ暗号化鍵とは別に保存されている
・鍵の保存場所と形式を最小限にし、安全に保存する
3.6.5(鍵の取り換えについて)
・鍵の整合性が脆弱になったときの鍵の破棄または取り替え
・侵害されたことがわかっているまたは疑われる鍵の取り替え
37Copyright©2018 NTT Corp. All Rights Reserved.
• 鍵をデータベースと別の場所で管理
• 鍵を暗号化して同じ場所で保管する場合
→鍵の暗号化に使った鍵も安全に管理する必要がある
鍵の漏洩、紛失を防ぐ
データベース データベース
とは別の場所
鍵のやり取り
38Copyright©2018 NTT Corp. All Rights Reserved.
• データベースとは別の場所で暗号化に使用する鍵を管理するシス
テム
• 鍵の管理、鍵の作成、鍵の有効化、鍵の無効化を担当する
• クラウドサービスやハードウェアの形式で提供される
鍵管理システム(KMS)とは
データベース KMS
39Copyright©2018 NTT Corp. All Rights Reserved.
• ナイーブな鍵ローテーション(取り換え)
• 問題点
データのサイズに応じて時間がかかる→運用上の制約になる
鍵ローテーションの方法
データベース
(暗号化済)
既存の鍵
全てのデータを復号
データ量に応じて時間がかかる
↓
2層の鍵管理で解決
データベース
(平文)
データベース
(平文)
新しい鍵
全てのデータを暗号化
データベース
(新しい鍵で暗号化済)
Step1) 既存の鍵を使用してデータを復号
Step2) 新しい鍵を使用してデータを暗号化
40Copyright©2018 NTT Corp. All Rights Reserved.
• 暗号化に使用する鍵を2つに分離
1)データを暗号化する「データ鍵」
2)データ鍵を暗号化する「マスター鍵」
• マスター鍵でデータ鍵を復号して、そのデータ鍵でデータベースのデータ
を復号する(2層化する)
2層の鍵管理とは
データベース全体を再暗号化することなく、
新しいマスタ鍵でデータ鍵のみを再暗号化することで、鍵ローテーションの時間を短縮できる
データ
マスター鍵
データ鍵(平文)
データ鍵(暗号化)
データ鍵復号
データ暗号化/復号
鍵管理サーバ
データベースサーバ
41Copyright©2018 NTT Corp. All Rights Reserved.
• 鍵に対する脅威に対策する
• DBとは別の場所で厳重に管理→KMSを使用
• 鍵は定期的に交換(ローテーション)する
• 鍵ローテーションを考慮して暗号化方式を選択する
• 1層の暗号化は構造が単純だがローテーションに時間がかかる
• 2層の鍵管理は複雑になるがローテーション時間は短い
鍵管理まとめ
42Copyright©2018 NTT Corp. All Rights Reserved.
PostgreSQLコミュニティの状況と
OSSセンタでの取り組み
43Copyright©2018 NTT Corp. All Rights Reserved.
• PostgreSQL 9.5
• 行レベルセキュリティ(RLS)
• PostgreSQL 9.6
• デフォルトロール
• PostgreSQL 10
• SCRAM
• PostgreSQL 11
• SCRAM、デフォルトロールの強化
暗号化機能については、
データベースクラスタ全体の
透過的暗号化機能が提案されているが、
あまり進展がない
セキュリティ機能強化はトレンドの一つ
44Copyright©2018 NTT Corp. All Rights Reserved.
NTT OSSセンタでは、
透過的暗号化機能のPostgreSQL本体導入に向けて開発を進めています
暗号化機能導入に向けて
PGCon 2018 Unconferenceにて (文)
開発コミュニティへの提案
[Proposal] Transparent Data Encryption
and Key Management Service
45Copyright©2018 NTT Corp. All Rights Reserved.
作成中の透過的暗号化機能
テーブル
スペース単位
の暗号化
ストレージ
マネージャ
での暗号化
×
KMS-A
KMS-B
■暗号化方式
■鍵管理サーバとの連携
×
※
様々な鍵管理サー
ビス/サーバと連
携するために、汎
用的なインタフェ
ースを用意
透過的
暗号化の対応
46Copyright©2018 NTT Corp. All Rights Reserved.
まとめ
47Copyright©2018 NTT Corp. All Rights Reserved.
• ”データベース暗号化”でも様々な方式(製品)がある
• 対応出来る脅威
• 性能特性
• TDE対応の有無
• 特性を見極めた上で方式(製品)を選択する
• 暗号化だけでは全てを守れない
• 暗号化と鍵管理はセットで考える
• 鍵は専用のサーバ、サービスで管理することが理想
暗号化と鍵管理
48Copyright©2018 NTT Corp. All Rights Reserved.
• PowerGres 公式マニュアル
• https://powergres.sraoss.co.jp/manual/V96/linux/
• 富士通の技術者に聞く!PostgreSQL最新技術
情報漏えいに備えよ!PostgreSQLで透過的暗号化を実現
• http://www.fujitsu.com/jp/products/software/resources/feature-
stories/201510encryption/index.html
• tdeforpg (github)
• https://github.com/nec-postgres/tdeforpg
• Transparent Data Encryption for PostgreSQL
• https://jpn.nec.com/tdeforpg/index.html
参考資料
49Copyright©2018 NTT Corp. All Rights Reserved.
THANK YOU

More Related Content

What's hot

どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...NTT DATA Technology & Innovation
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021Preferred Networks
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)NTT DATA Technology & Innovation
 
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...Google Cloud Platform - Japan
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話Yuta Shimada
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!Hirotaka Sato
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較beyond Co., Ltd.
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?Kuniyasu Suzaki
 
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKA
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKAマイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKA
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKAMurata Tatsuhiro
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)Masaya Tahara
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すTakaya Saeki
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & AppsGoogle Cloud Platform - Japan
 

What's hot (20)

どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
 
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
 
AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較AlmaLinux と Rocky Linux の誕生経緯&比較
AlmaLinux と Rocky Linux の誕生経緯&比較
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
TEE (Trusted Execution Environment)は第二の仮想化技術になるか?
 
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKA
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKAマイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKA
マイクロサービスの基盤として注目の「NGINX」最新情報 | 20180127 OSC2018 OSAKA
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Appsグリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
 

Similar to Database Encryption and Key Management for PostgreSQL - Principles and Considerations

オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜griddb
 
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーションNTT Software Innovation Center
 
第32回Websig会議「クラウドは○○を共有するサービス」
第32回Websig会議「クラウドは○○を共有するサービス」第32回Websig会議「クラウドは○○を共有するサービス」
第32回Websig会議「クラウドは○○を共有するサービス」Sen Ueno
 
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...WebSig24/7
 
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...Insight Technology, Inc.
 
AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方Shota Suzuki
 
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜griddb
 
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...Insight Technology, Inc.
 
次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとはTrainocate Japan, Ltd.
 
クラウド時代のストレージ機能の利活用とデータセキュリティを実現するアプローチ
クラウド時代のストレージ機能の利活用とデータセキュリティを実現するアプローチクラウド時代のストレージ機能の利活用とデータセキュリティを実現するアプローチ
クラウド時代のストレージ機能の利活用とデータセキュリティを実現するアプローチNetApp Japan
 
PostgreSQL2016合宿成果資料
PostgreSQL2016合宿成果資料PostgreSQL2016合宿成果資料
PostgreSQL2016合宿成果資料Sunao Kiyosue
 
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]DeNA
 
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro YokoyamaInsight Technology, Inc.
 
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性Asuka Nakajima
 
Database Security for PCI DSS
Database Security for PCI DSSDatabase Security for PCI DSS
Database Security for PCI DSSOhyama Masanori
 
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Wataru Fukatsu
 
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜griddb
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)Kuniyasu Suzaki
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化Kazunori Sato
 

Similar to Database Encryption and Key Management for PostgreSQL - Principles and Considerations (20)

オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
オープンソースのビッグデータ・IoT向け スケールアウト型データベースGridDBとPython連携 〜GridDBとPythonと私〜
 
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
次世代の高速メモリストレージ利用に向けたソフトウェアのモダナイゼーション
 
第32回Websig会議「クラウドは○○を共有するサービス」
第32回Websig会議「クラウドは○○を共有するサービス」第32回Websig会議「クラウドは○○を共有するサービス」
第32回Websig会議「クラウドは○○を共有するサービス」
 
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
クラウドは○○を共有するサービス ~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?...
 
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法...
 
AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方AI/MLシステムにおけるビッグデータとの付き合い方
AI/MLシステムにおけるビッグデータとの付き合い方
 
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
 
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
[db tech showcase Tokyo 2017] D35: 何を基準に選定すべきなのか!? ~ビッグデータ×IoT×AI時代のデータベースのアー...
 
次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは次世代の企業ITインフラを支えるエンジニアとは
次世代の企業ITインフラを支えるエンジニアとは
 
クラウド時代のストレージ機能の利活用とデータセキュリティを実現するアプローチ
クラウド時代のストレージ機能の利活用とデータセキュリティを実現するアプローチクラウド時代のストレージ機能の利活用とデータセキュリティを実現するアプローチ
クラウド時代のストレージ機能の利活用とデータセキュリティを実現するアプローチ
 
PostgreSQL2016合宿成果資料
PostgreSQL2016合宿成果資料PostgreSQL2016合宿成果資料
PostgreSQL2016合宿成果資料
 
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
運用中のゲームにAIを導入するには〜プロジェクト推進・ユースケース・運用〜 [DeNA TechCon 2019]
 
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
[C23] 「今」を分析するストリームデータ処理技術とその可能性 by Takahiro Yokoyama
 
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
[JPCERT/CC POC Meeting] 研究紹介 + DLLハイジャックの脆弱性
 
Database Security for PCI DSS
Database Security for PCI DSSDatabase Security for PCI DSS
Database Security for PCI DSS
 
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)
 
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
何を基準に選定すべきなのか!? 〜ビッグデータ×IoT×AI時代のデータベースのアーキテクチャとメカニズムの比較〜
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 

More from Masahiko Sawada

PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説Masahiko Sawada
 
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...Masahiko Sawada
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報Masahiko Sawada
 
Transparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQLTransparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQLMasahiko Sawada
 
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -Masahiko Sawada
 
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Masahiko Sawada
 
Bloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQLBloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQLMasahiko Sawada
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説Masahiko Sawada
 
Vacuum more efficient than ever
Vacuum more efficient than everVacuum more efficient than ever
Vacuum more efficient than everMasahiko Sawada
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウトMasahiko Sawada
 
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~Masahiko Sawada
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説Masahiko Sawada
 
FDW-based Sharding Update and Future
FDW-based Sharding Update and FutureFDW-based Sharding Update and Future
FDW-based Sharding Update and FutureMasahiko Sawada
 
What’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorWhat’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorMasahiko Sawada
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介Masahiko Sawada
 

More from Masahiko Sawada (20)

PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
 
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...行ロックと「LOG:  process 12345 still waiting for ShareLock on transaction 710 afte...
行ロックと「LOG: process 12345 still waiting for ShareLock on transaction 710 afte...
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
Transparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQLTransparent Data Encryption in PostgreSQL
Transparent Data Encryption in PostgreSQL
 
PostgreSQL 12の話
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話
 
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
OSS活動のやりがいとそれから得たもの - PostgreSQLコミュニティにて -
 
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Transparent Data Encryption in PostgreSQL and Integration with Key Management...
Transparent Data Encryption in PostgreSQL and Integration with Key Management...
 
Bloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQLBloat and Fragmentation in PostgreSQL
Bloat and Fragmentation in PostgreSQL
 
今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説今秋リリース予定のPostgreSQL11を徹底解説
今秋リリース予定のPostgreSQL11を徹底解説
 
Vacuum more efficient than ever
Vacuum more efficient than everVacuum more efficient than ever
Vacuum more efficient than ever
 
Vacuumとzheap
VacuumとzheapVacuumとzheap
Vacuumとzheap
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
Parallel Vacuum
Parallel VacuumParallel Vacuum
Parallel Vacuum
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
OSS 開発ってどうやっているの? ~ PostgreSQL の現場から~
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説
 
FDW-based Sharding Update and Future
FDW-based Sharding Update and FutureFDW-based Sharding Update and Future
FDW-based Sharding Update and Future
 
What’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributorWhat’s new in 9.6, by PostgreSQL contributor
What’s new in 9.6, by PostgreSQL contributor
 
PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介PostgreSQL 9.6 新機能紹介
PostgreSQL 9.6 新機能紹介
 

Database Encryption and Key Management for PostgreSQL - Principles and Considerations

  • 1. Copyright©2018 NTT Corp. All Rights Reserved. Database Encryption and Key Management for PostgreSQL - Principles and Considerations NTT OSSセンタ 文 仁誠・澤田 雅彦 2018/11/22 PostgreSQL Conference Japan 2018
  • 2. 2Copyright©2018 NTT Corp. All Rights Reserved. 自己紹介 文 仁誠 : Moon, Insung PostgreSQL技術サポート ツール開発 趣味 : ディズニー行くこと 澤田 雅彦 : Masahiko Sawada PostgreSQL本体開発 ツール開発 趣味:キーボード設計
  • 3. 3Copyright©2018 NTT Corp. All Rights Reserved. • データベースを安全に扱う • データベース暗号化 • 鍵管理 • PostgreSQLコミュニティの最新情報と OSSセンタの取り組み INDEX
  • 4. 4Copyright©2018 NTT Corp. All Rights Reserved. • 本セッションは、PostgreSQLをよりセキュアに使用する ためのノウハウを解説するものです • 実際にセキュリティ機能をご検討の際は、セキュリティ を専門とする会社、組織に必ずご相談ください はじめに
  • 5. 5Copyright©2018 NTT Corp. All Rights Reserved. • 権限のあるユーザの不正利用 • SQLインジェクション • ストレージメディアの盗難 • クライアント⇔サーバ通信の盗聴 • DoS攻撃 など システム全体におけるデータベースの脅威 DB管理者 システム 管理者 アプリケーション データベース 通信の盗聴 SQL インジェク ション ディスク 盗難 悪意のある DB管理者 不正 アクセス
  • 6. 6Copyright©2018 NTT Corp. All Rights Reserved. データベースの脅威 暗号化 機密性の高いデータ を保護 アクセス制御 ユーザの適切な権限 を与える 監査 不正な操作を検知/通知
  • 7. 7Copyright©2018 NTT Corp. All Rights Reserved. • データベース内からの不正参照 • 特権ユーザによる暗号鍵の不正使用 • データベース外からの不正参照 • 共有メモリの不正参照 • 更新ログの不正参照 • バックアップファイルの不正参照 • 物理的な盗難 • DBデータの盗難 • 更新ログの盗難 • バックアップの盗難 暗号化でデータベースを脅威から守る
  • 8. 8Copyright©2018 NTT Corp. All Rights Reserved. • 暗号化と鍵管理は常にセットで考える必要がある • ✖「暗号鍵をなくすといけないので、同じディスクに入 れてあります」 • 暗号化を行うときは、暗号鍵を安全かつ堅牢に管理する 必要がある 暗号化と鍵管理
  • 9. 9Copyright©2018 NTT Corp. All Rights Reserved. データベース暗号化 脅威・性能・アプリケーション対応の要否
  • 10. 10Copyright©2018 NTT Corp. All Rights Reserved. • 現在PostgreSQLのデータを暗号化する方法は色々ある PostgreSQLのデータ暗号化 PostgreSQLが提供する暗号化ツール OSが提供するハードディスクの暗号化 PostgreSQLのデータの暗号化には色々なものあり、 具体的に暗号化する方法が異なる。 PostgreSQLのデータを暗号化において、何を考えなければならないか? PostgreSQLベンダが提供する暗号化ツール
  • 11. 11Copyright©2018 NTT Corp. All Rights Reserved. データの暗号化のために考えること 脅威に対応 暗号化による性能のオーバーヘッド アプリケーションの対応 調査した主な暗号化ツール pgcrypto dm-crypt TDE for PG PowerGres Plus
  • 12. 12Copyright©2018 NTT Corp. All Rights Reserved. 脅威への対応について データベース暗号化
  • 13. 13Copyright©2018 NTT Corp. All Rights Reserved. 脅威のモデル化 • データベースの暗号化に関連する脅威は大きく3つ • データベース内からの不正参照は、暗号鍵を守る必要があり、データベース 暗号化では防げない • 「鍵管理」のところで説明します • 暗号化処理を行う”層”で、対応できる脅威が異なる 脅威の種類 想定される脅威 データベース内からの不正参照 特権ユーザによる暗号鍵の不正使用 データベース外からの不正参照 更新ログの不正参照 バックアップファイルの不正参照 共有メモリの不正参照 物理的な盗難 DBサーバ用ディスクの物理的な盗難 更新ログ用ディスクの物理的な盗難 バックアップ用ディスクの物理的な盗難
  • 14. 14Copyright©2018 NTT Corp. All Rights Reserved. PostgreSQLのデータ処理層 エグゼキューター 共有バッファ ストレージマネージャ OS ディスク 処理 リソース凡例 ファイル Postgre SQL OS 実行計画に従って処理する層。 テーブル等のデータは共有バッ ファから取得する 共有バッファと、 ファイル間のデータのやりとり を制御する層 ストレージマネージャから 呼ばれるOS以下のI/O処理の層 ・・・・・・ ・・・・・・ ・・・・・・
  • 15. 15Copyright©2018 NTT Corp. All Rights Reserved. • 下位の層へは暗号化されたデータが渡される • 共有バッファ、ファイル、ディスクのデータは暗号化された状態 エグゼキューター層での暗号化処理 処理 リソース凡例 エグゼキューター 共有バッファ ストレージマネージャ OS ディスク ファイル 暗号化済み 暗号化済み 暗号化済み pgcrypto TDE for PG 暗号化ツールの例 暗号化処理 対応する脅威 脅威 対応 データベース外からの不正参照 〇 物理的な盗難 ○
  • 16. 16Copyright©2018 NTT Corp. All Rights Reserved. • ファイル、ディスクのデータは暗号化された状態 • 共有バッファのデータは暗号化されない(平文) ストレージマネージャ層での暗号化処理 処理 リソース凡例 エグゼキューター 共有バッファ ストレージマネージャ OS ディスク ファイル 暗号化済み 暗号化済み 平文 PowerGres Plus 暗号化処理 暗号化ツールの例 脅威 対応 データベース外からの不正参照 △ メモリダンプによる 情報漏洩は防げない 物理的な盗難 ○ 対応する脅威
  • 17. 17Copyright©2018 NTT Corp. All Rights Reserved. • ディスク上のデータのみが暗号化された状態 • ファイルと共有バッファのデータは暗号化されない OS層での暗号化処理 処理 リソース凡例 エグゼキューター 共有バッファ ストレージマネージャ OS ディスク ファイル 暗号化状態 平文 平文 dm-crypt暗号化処理 暗号化ツールの例 対応する脅威 脅威 対応 データベース外からの不正参照 ✖ 物理的な盗難 ○
  • 18. 18Copyright©2018 NTT Corp. All Rights Reserved. 暗号化処理層と脅威に対応するモデル 暗号化ツール pgcrypto TDEforPG PowerGres Plus dm-crypt 暗号化処理層 エクゼキューター ストレージマ ネージャ OS 脅 威 の 種 類 データベース外 からの不正参照 ○ ○ △ メモリダンプによる情報 漏洩は防げない ✖ 物理的な盗難 ○ ○ ○ ○ • 暗号化処理層によって脅威への対応が異なる • 上位層で処理するほど脅威への抵抗力がある
  • 19. 19Copyright©2018 NTT Corp. All Rights Reserved. 性能との関係 データベース暗号化
  • 20. 20Copyright©2018 NTT Corp. All Rights Reserved. • データを取得する際に、最小限の範囲で暗号化処理を 実行すると、無駄な部分の暗号化処理が少なくなる 暗号化と性能の関係 ー 暗号化範囲 user_num user_name card_num card_valid_thru 001 佐藤 1234-2345-3456-4567 02/21 002 鈴木 2345-3456-4567-5678 08/20 003 高橋 3456-4567-5678-6789 12/19 004 田中 4567-5678-6789-7980 09/22 005 渡辺 5678-6789-7890-8901 06/20 暗号化が必要な部分 暗号化が必要ではない部分 クレジットカード番号を持つテーブル
  • 21. 21Copyright©2018 NTT Corp. All Rights Reserved. • 暗号化が必要なデータだけを暗号化すべき • なるべく小さい単位で暗号化を指定できると良い • PostgreSQLでは5つの階層に分けられる 暗号化範囲と性能の関係 データベースクラスタ データベース 表空間 表 列
  • 22. 22Copyright©2018 NTT Corp. All Rights Reserved. • PostgreSQLでは、ファイルから読み込んだデータを共有バッファに記 録した後、エグゼキューターが共有バッファのデータを使用する • 共有バッファにデータがある場合、共有バッファとエグゼキューターの間 のみで処理する ⇒同一の暗号化データに何度もアクセスする場合、共有バッファが復号さ れていれば復号処理は1度で済む 暗号化の処理層と性能の関係 エグゼキューター 共有バッファ ストレージマネージャ OS ディスク ファイル 発生頻度多 発生頻度少
  • 23. 23Copyright©2018 NTT Corp. All Rights Reserved. • 暗号化範囲と暗号化の処理層に応じて、暗号化処理の性 能への影響が異なる 暗号化の処理層と性能の関係 暗号化範囲 暗号化を行う処理層 暗 号 化 / 復 号 処 理 の 回 数 が 少 な く な る データベースクラスタ データベース 表空間 表 列 エグゼキューター 共有バッファ ストレージマネージャ OS ディスク ファイル
  • 24. 24Copyright©2018 NTT Corp. All Rights Reserved. • オーバーヘッドを最も小さくする組み合わせは、 • 暗号化範囲 = 列 • 暗号化処理層 = OS である。 • しかし、実現性やPostgreSQLのアーキテクチャを考慮し、既存製品は • 暗号化範囲 = 列 • 暗号化処理層 = エグゼキューター あるいは • 暗号化範囲 = 表・表空間・データベース・データベースクラスタ • 暗号化処理層 = ストレージマネージャ で開発されている 暗号化性能の組み合わせ
  • 25. 25Copyright©2018 NTT Corp. All Rights Reserved. • 暗号化処理層と暗号化範囲によって性能特性が異なる 暗号化処理層と性能のまとめ 暗号化範囲 列 表 表空間 データベース データベース クラスタ 暗号化の処理層 エグゼキュータ ストレージ マネージャ ストレージ マネージャ ストレージ マネージャ OS 暗号化ツール ・pgcrypto ・TDEforPG ー PowerGres Plus ー dm-crypt 性能オーバー ヘッド 大 中 中 中 小 ※性能オーバーヘッドは暗号化処理層をベースに相対的に評価しています 暗号化の必要がないデータへアクセスする場合は、評価が逆転します。
  • 26. 26Copyright©2018 NTT Corp. All Rights Reserved. • 暗号化処理層と暗号化範囲によって性能特性が異なる • 「性能」と「脅威への対応」のトレードオフがある 性能と脅威 暗号化範囲 列 表 表空間 データベース データベース クラスタ 暗号化の処理層 エグゼキュータ ストレージ マネージャ ストレージ マネージャ ストレージ マネージャ OS 暗号化ツール ・pgcrypto ・TDEforPG ー PowerGres Plus ー dm-crypt 性能オーバー ヘッド 大 中 中 中 小 データベース外 からの不正参照 ○ △ メモリダンプによる 情報漏洩は防げない △ メモリダンプによる 情報漏洩は防げない △ メモリダンプによる 情報漏洩は防げない ✖ 物理的な盗難 ○ ○ ○ ○ ○ ※性能オーバーヘッドは暗号化処理層をベースに相対的に評価しています 暗号化の必要がないデータへアクセスする場合は、評価が逆転します。
  • 27. 27Copyright©2018 NTT Corp. All Rights Reserved. データベース暗号化 アプリケーション対応の要否
  • 28. 28Copyright©2018 NTT Corp. All Rights Reserved. • 暗号化に対応するためアプリケーションで対応する必要 がある場合 • 例えばpgcryptoではクエリの修正が必要となる アプリケーションでの対応 SELECT card_number FROM users; SELECT pg_decrypt (card_number, ‘secret key’) FROM users;
  • 29. 29Copyright©2018 NTT Corp. All Rights Reserved. • 既存のアプリケーションコードに記述されたクエリの中で暗 号化対応する必要があるクエリを探す • 巨大なアプリケーションである場合、暗号化対応する必要があ るクエリを探すことに時間とコストがかかる • 暗号化対応する必要があるクエリを探した後、クエリを変更 する • 多くのクエリを変更することは時間とコストがかかる • アプリケーションのコードを変更した後、修正による影響を 確認する回帰テストを行う • テストの実行、確認に時間とコストがかかる アプリケーション対応の難しさ これを解決できる方法はTransparent Data Encryption(TDE)
  • 30. 30Copyright©2018 NTT Corp. All Rights Reserved. • 透過的データ暗号化(TDE)とは? • ユーザが暗号化を意識せずに暗号化が出来る機能 • アプリケーションの修正を最小限に抑えることができる 透過的データ暗号化(TDE) データベース lai1o71;& 61%k17yb 17rkhaai6b INSERT INTO hoge VALUES(‘Hello World’); データベース”内”で 暗号化/復号
  • 31. 31Copyright©2018 NTT Corp. All Rights Reserved. • 暗号化によるアプリケーション対応は時間とコストがか かる • TDEを利用することでコストを削減できる • 現在使用可能なPostgreSQLのTDEに対応した暗号化 ツールの例 アプリケーション対応の関連まとめ TDE for PG PowerGres Plus
  • 32. 32Copyright©2018 NTT Corp. All Rights Reserved. データベース暗号化 まとめ
  • 33. 33Copyright©2018 NTT Corp. All Rights Reserved. データベース暗号化まとめ • 暗号化を行う処理層によって対応できる脅威が異なる • 暗号化の範囲と処理層には関連性がある(実現性など) • TDEを利用すると、アプリケーションの暗号化対応のコストが小さ くなる 暗号化範囲 列 表 表空間 データベース データベース クラスタ 暗号化の処理層 エグゼキュータ ストレージ マネージャ ストレージ マネージャ ストレージ マネージャ OS 暗号化ツール ・pgcrypto ・TDEforPG(TDE) ー PowerGres Plus (TDE) ー dm-crypt (TDE) 性能オーバー ヘッド 大 中 中 中 小 データベース外 からの不正参照 ○ △ メモリダンプによる 情報漏洩は防げない △ メモリダンプによる 情報漏洩は防げない △ メモリダンプによる 情報漏洩は防げない ✖ 物理的な盗難 ○ ○ ○ ○ ○ ※性能オーバーヘッドは暗号化処理層をベースに相対的に評価しています 暗号化の必要がないデータへアクセスする場合は、評価が逆転します。
  • 34. 34Copyright©2018 NTT Corp. All Rights Reserved. 鍵管理
  • 35. 35Copyright©2018 NTT Corp. All Rights Reserved. • データを暗号化する際に使用する鍵を管理すること • 鍵が漏れてしまうと、暗号化された情報も一緒に漏れる • 鍵管理をきちんとしていない場合に発生する脅威は何か 鍵管理とは 脅威 対応策 鍵の漏洩 鍵管理サーバの利用 鍵の紛失 同一の暗号鍵を適切な利用期間を超えて使用し続 ける 鍵ローテーション 漏えい等の問題が疑われる暗号鍵を使い続ける 鍵管理に関する脅威と対応策
  • 36. 36Copyright©2018 NTT Corp. All Rights Reserved. • PCI-DSS(クレジットカード業者のセキュリティ規約) では鍵管理についても規定 鍵管理についての要件 3.5(鍵管理について) ・鍵暗号化鍵がデータ暗号化鍵とは別に保存されている ・鍵の保存場所と形式を最小限にし、安全に保存する 3.6.5(鍵の取り換えについて) ・鍵の整合性が脆弱になったときの鍵の破棄または取り替え ・侵害されたことがわかっているまたは疑われる鍵の取り替え
  • 37. 37Copyright©2018 NTT Corp. All Rights Reserved. • 鍵をデータベースと別の場所で管理 • 鍵を暗号化して同じ場所で保管する場合 →鍵の暗号化に使った鍵も安全に管理する必要がある 鍵の漏洩、紛失を防ぐ データベース データベース とは別の場所 鍵のやり取り
  • 38. 38Copyright©2018 NTT Corp. All Rights Reserved. • データベースとは別の場所で暗号化に使用する鍵を管理するシス テム • 鍵の管理、鍵の作成、鍵の有効化、鍵の無効化を担当する • クラウドサービスやハードウェアの形式で提供される 鍵管理システム(KMS)とは データベース KMS
  • 39. 39Copyright©2018 NTT Corp. All Rights Reserved. • ナイーブな鍵ローテーション(取り換え) • 問題点 データのサイズに応じて時間がかかる→運用上の制約になる 鍵ローテーションの方法 データベース (暗号化済) 既存の鍵 全てのデータを復号 データ量に応じて時間がかかる ↓ 2層の鍵管理で解決 データベース (平文) データベース (平文) 新しい鍵 全てのデータを暗号化 データベース (新しい鍵で暗号化済) Step1) 既存の鍵を使用してデータを復号 Step2) 新しい鍵を使用してデータを暗号化
  • 40. 40Copyright©2018 NTT Corp. All Rights Reserved. • 暗号化に使用する鍵を2つに分離 1)データを暗号化する「データ鍵」 2)データ鍵を暗号化する「マスター鍵」 • マスター鍵でデータ鍵を復号して、そのデータ鍵でデータベースのデータ を復号する(2層化する) 2層の鍵管理とは データベース全体を再暗号化することなく、 新しいマスタ鍵でデータ鍵のみを再暗号化することで、鍵ローテーションの時間を短縮できる データ マスター鍵 データ鍵(平文) データ鍵(暗号化) データ鍵復号 データ暗号化/復号 鍵管理サーバ データベースサーバ
  • 41. 41Copyright©2018 NTT Corp. All Rights Reserved. • 鍵に対する脅威に対策する • DBとは別の場所で厳重に管理→KMSを使用 • 鍵は定期的に交換(ローテーション)する • 鍵ローテーションを考慮して暗号化方式を選択する • 1層の暗号化は構造が単純だがローテーションに時間がかかる • 2層の鍵管理は複雑になるがローテーション時間は短い 鍵管理まとめ
  • 42. 42Copyright©2018 NTT Corp. All Rights Reserved. PostgreSQLコミュニティの状況と OSSセンタでの取り組み
  • 43. 43Copyright©2018 NTT Corp. All Rights Reserved. • PostgreSQL 9.5 • 行レベルセキュリティ(RLS) • PostgreSQL 9.6 • デフォルトロール • PostgreSQL 10 • SCRAM • PostgreSQL 11 • SCRAM、デフォルトロールの強化 暗号化機能については、 データベースクラスタ全体の 透過的暗号化機能が提案されているが、 あまり進展がない セキュリティ機能強化はトレンドの一つ
  • 44. 44Copyright©2018 NTT Corp. All Rights Reserved. NTT OSSセンタでは、 透過的暗号化機能のPostgreSQL本体導入に向けて開発を進めています 暗号化機能導入に向けて PGCon 2018 Unconferenceにて (文) 開発コミュニティへの提案 [Proposal] Transparent Data Encryption and Key Management Service
  • 45. 45Copyright©2018 NTT Corp. All Rights Reserved. 作成中の透過的暗号化機能 テーブル スペース単位 の暗号化 ストレージ マネージャ での暗号化 × KMS-A KMS-B ■暗号化方式 ■鍵管理サーバとの連携 × ※ 様々な鍵管理サー ビス/サーバと連 携するために、汎 用的なインタフェ ースを用意 透過的 暗号化の対応
  • 46. 46Copyright©2018 NTT Corp. All Rights Reserved. まとめ
  • 47. 47Copyright©2018 NTT Corp. All Rights Reserved. • ”データベース暗号化”でも様々な方式(製品)がある • 対応出来る脅威 • 性能特性 • TDE対応の有無 • 特性を見極めた上で方式(製品)を選択する • 暗号化だけでは全てを守れない • 暗号化と鍵管理はセットで考える • 鍵は専用のサーバ、サービスで管理することが理想 暗号化と鍵管理
  • 48. 48Copyright©2018 NTT Corp. All Rights Reserved. • PowerGres 公式マニュアル • https://powergres.sraoss.co.jp/manual/V96/linux/ • 富士通の技術者に聞く!PostgreSQL最新技術 情報漏えいに備えよ!PostgreSQLで透過的暗号化を実現 • http://www.fujitsu.com/jp/products/software/resources/feature- stories/201510encryption/index.html • tdeforpg (github) • https://github.com/nec-postgres/tdeforpg • Transparent Data Encryption for PostgreSQL • https://jpn.nec.com/tdeforpg/index.html 参考資料
  • 49. 49Copyright©2018 NTT Corp. All Rights Reserved. THANK YOU