Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
内部犯行による漏えいを防ぐ
PostgreSQLの透過的暗号化機能の実装と利用方法
~「PostgreSQLあんしんソリューション」のご提案~
2015年6月11日
日本電気株式会社
Page 2 © NEC Corporation 2015
アジェンダ
1. DBを取り巻く環境
2. 情報漏えい対策と暗号化
3. PostgreSQLのデータ暗号化とアプリケーション開発者の要望
4. Transparent Data En...
DBを取り巻く環境
Page 4 © NEC Corporation 2015
DBを取り巻く環境
DB
各種システムが収集する
個人情報や秘密情報が増大
DBサーバを含む情報システムの
運用を第三者に委託することが
一般化しつつある
個人情報を含む
多くの秘密情...
Page 5 © NEC Corporation 2015
DBを取り巻く環境
「2013年 情報セキュリティインシデントに関する調査報告書 ~個人情報漏えい編~」
NPO日本ネットワークセキュリティ協会
情報漏えいの影響範囲は広範にわたり、
...
情報漏えい対策と暗号化
Page 7 © NEC Corporation 2015
情報漏えい対策と暗号化
DBアクセス権限の所有者や
DBファイル、通信からの情報漏えい対策としては不十分
• 適切なセキュリティフィックスの適用
• SQLインジェクション対策など、
...
Page 8 © NEC Corporation 2015
情報漏えい対策と暗号化
アプリケーション
サーバ DB
通信の傍受
DBファイルの
持ち出し
データベースファイル
DBのアクセス権やアプリケーションでの対策では不十分
バック
アップ...
Page 9 © NEC Corporation 2015
情報漏えい対策と暗号化
アプリケーション
サーバ DB
通信の暗号化
(SSL)
データの暗号化
データベースファイル
ネットワークやOS、HWレベルでのデータ漏えいに対する対策
バッ...
Page 10 © NEC Corporation 2015
情報漏えい対策と暗号化
「「DBA 1,000 人に聞きました」アンケート調査報告書」第1.0 版
2014年9月10日データベース・セキュリティ・コンソーシアム
内部からの情報漏え...
POSTGRESQLのデータ暗号化と
アプリケーション開発者の要望
Page 12 © NEC Corporation 2015
postgres=# create extension pgcrypto;
CREATE EXTENSION
postgres=# create table testtbl (c1 ...
Page 13 © NEC Corporation 2015
アプリケーション開発者の要望
• 関数実行による暗号/復号処理
• 列単位でのデータ暗号化
• 関数実行時に暗号鍵を指定
pgcryptoの
特徴
アプリケーション開発者の要望
• ...
Page 14 © NEC Corporation 2015
アプリケーション開発者の要望
「「DBA 1,000 人に聞きました」アンケート調査報告書」第1.0 版
2014年9月10日 データベース・セキュリティ・コンソーシアム
アプリケー...
Page 15 © NEC Corporation 2015
アプリケーション開発者の要望
▌商用DBMSにおける対応
商用DBMSはアプリケーション開発者に負担をかけない「透過的暗号化」
機能を提供している
DBMS側の設定や準備だけで、ア...
Page 16 © NEC Corporation 2015
Oracle Advanced Security (TDE)
• 表領域、列暗号化の対象
• 二種類の鍵を使用
• Oracle Walletでマスター鍵を管理
• マスター鍵をソフ...
Page 17 © NEC Corporation 2015
SQL Server 透過的暗号化機能
• データベース暗号化の対象
•三種類の鍵を使用
•サービスキーを使用してデータベースマスターキーを暗号化
•データベース暗号化キーは、データ...
TRANSPARENT DATA
ENCRYPTION FOR
POSTGRESQL
Page 19 © NEC Corporation 2015
Transparent Data Encryption for PostgreSQL
▌PostgreSQLの透過的暗号化機能
2015年6月、弊社はTransparent Data...
Page 20 © NEC Corporation 2015
Transparent Data Encryption for PostgreSQL
▌NECが提供するPostgreSQL向け透過的暗号化機能
暗号化列属性をEXTENTIONと...
Page 21 © NEC Corporation 2015
Transparent Data Encryption for PostgreSQL
▌暗号化列属性
暗号化が必要になると想定されるTEXT、BYTEA(バイナリ)、
NUMERIC...
Page 22 © NEC Corporation 2015
Transparent Data Encryption for PostgreSQL
▌PostgreSQLにおける属性追加
暗号化列属性追加
入出力関数の実装
比較用関数の実装
C...
Page 23 © NEC Corporation 2015
Transparent Data Encryption for PostgreSQL
▌TDE for PostgreSQL Free Editionの利用手順
OSS版TDEをコン...
Page 24 © NEC Corporation 2015
Transparent Data Encryption for PostgreSQL
$ cd $PGSRC/contrib/pgcrypto
$ make
$ make insta...
Page 25 © NEC Corporation 2015
Transparent Data Encryption for PostgreSQL
-- CREATE TABLE
CREATE TABLE Employee(
EmployeeI...
Page 26 © NEC Corporation 2015
Transparent Data Encryption for PostgreSQL
▌Free Editionのメリット・デメリット
• 暗号化関数が不要でアプリケーション開発が容...
鍵管理とAWS KMSの利用
Page 28 © NEC Corporation 2015
鍵管理とAWS KMSの利用
アプリケーション
サーバ
鍵管理機能
暗号化した
DB暗号化用の鍵を
提供
復号した鍵で
データを暗号・復号化
機密性確保のため、暗号・復号に使用する鍵...
Page 29 © NEC Corporation 2015
鍵管理とAWS KMSの利用
▌鍵管理の方法
OSS-DBMSと連携する鍵管理機能としては
クラウドサービス上の鍵管理が適している
•導入は容易だが、鍵管理のしくみはつくり込が必要
...
Page 30 © NEC Corporation 2015
鍵管理とAWS KMSの利用
2014年11月
アマゾン ウェブ サービス(AWS)による鍵管理サービスの開始
Page 31 © NEC Corporation 2015
鍵管理とAWS KMSの利用
AWS KMS(Key Management Service)とは
データの暗号化に使用される暗号化キーの作成と管理機能を提供
するサービス。
• キー...
Page 32 © NEC Corporation 2015
鍵管理とAWS KMSの利用
▌TDE for PostgreSQL Enterprise Editionでは3種類の鍵を使用
• データ鍵を暗号化するための鍵
• セキュリティ管理...
Page 33 © NEC Corporation 2015
鍵管理とAWS KMSの利用
▌AWS KMSを利用したTDE for PostgreSQLの登場人物と保有情報
• AWSアクセス用の情報
• 復号権限のあるユーザアカウント
DB...
Page 34 © NEC Corporation 2015
鍵管理とAWS KMSの利用
▌TDE for PostgreSQL Enterprise Editionの鍵バージョン管理
鍵の更新時に全暗号化データの再暗号化は不要/
データ更新...
Page 35 © NEC Corporation 2015
鍵管理とAWS KMSの利用(準備)
▌TDE for PostgreSQL Enterprise EditionからのAWS KMS利用
(準備)
暗号鍵受領
AP開発・運用者 セ...
Page 36 © NEC Corporation 2015
鍵管理とAWS KMSの利用(利用)
▌TDE for PostgreSQL Enterprise EditionからのAWS KMS利用
(利用)
DBアクセス時に暗号鍵提示
クエ...
Page 37 © NEC Corporation 2015
AWS Management Consoleで暗号化キー作成を行う
① IAM
② 暗号化キー作成
画面へ
AWS KMSの機能は、
AWS IAM(Identity &
Acces...
Page 38 © NEC Corporation 2015
CMKを作成する
③ CMK作成
Page 39 © NEC Corporation 2015
KeyIdを確認する
④ KeyIDを確認
KeyIDはCMKを
一意に指定します。
Page 40 © NEC Corporation 2015
データ鍵/暗号鍵生成
⑤ DBサーバで登録用コマンド実行
⑦ AWS接続情報入力
⑧ KeyID入力
⑨ 暗号化アルゴリズム選択
⑥ KMSを使用するか選択
Page 41 © NEC Corporation 2015
psqlでの利用例
⑪ 暗号化鍵をDBに提示
⑩ 暗号化鍵を渡さずテーブル参照
(エラー)
⑫ データの復号に成功
Page 42 © NEC Corporation 2015
Transparent Data Encryption for PostgreSQL
▌Free Edition、Enterprise Edition共通の利用上の注意
一部ではあ...
メンテナンスツール
(POSTGRESQLデータ保全ツール)の機能
Page 44 © NEC Corporation 2015
メンテナンスツール(PostgreSQLデータ保全ツール)の機能
▌データ破壊発生後の復旧作業
バックアップ後のDB更新箇所を復旧するには、膨大な作業が必要となる。
• 破壊箇所の確...
Page 45 © NEC Corporation 2015
▌TDE for PostgreSQL Enterprise Editionは、
TDE機能に加えPostgreSQLのメンテナンスツールを提供します
Verify機能
テーブルの...
FREE・ENTERPRISE EDITION
機能一覧
Page 47 © NEC Corporation 2015
Transparent Data Encryption for PostgreSQL
▌Edition別の比較一覧
機能/サービス Enterprise Edition Free E...
Transparent Data Encryption for PostgreSQL
Free Editionから
PostgreSQLの透過的暗号化機能を
是非ご体験ください
https://github.com/nec-postgres/t...
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法 by 日本電気株式会社 黒澤彰
[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法 by 日本電気株式会社 黒澤彰
Upcoming SlideShare
Loading in …5
×

[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法 by 日本電気株式会社 黒澤彰

8,281 views

Published on

現在、情報システムが保有する秘密情報は多岐にわたり、格納先であるデータベースの安全確保は企業の命運にかかわる重要な課題です。本セッションではNECがOSSとして公開したPostgreSQLの透過的暗号化機能とその利用方法、また内部漏えいを防ぐために重要となる暗号鍵のアクセス管理のポイントとその実現機能についてご紹介します。

Published in: Technology
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

[db tech showcase Tokyo 2015] A26:内部犯行による漏えいを防ぐPostgreSQLの透過的暗号化機能に関する実装と利用方法 by 日本電気株式会社 黒澤彰

  1. 1. 内部犯行による漏えいを防ぐ PostgreSQLの透過的暗号化機能の実装と利用方法 ~「PostgreSQLあんしんソリューション」のご提案~ 2015年6月11日 日本電気株式会社
  2. 2. Page 2 © NEC Corporation 2015 アジェンダ 1. DBを取り巻く環境 2. 情報漏えい対策と暗号化 3. PostgreSQLのデータ暗号化とアプリケーション開発者の要望 4. Transparent Data Encryption for PostgreSQL 5. 鍵管理とAmazon Web Services(以下、AWS) Key Management Service (以下、KMS)の利用 6. メンテナンスツール(PostgreSQLデータ保全ツール)の機能
  3. 3. DBを取り巻く環境
  4. 4. Page 4 © NEC Corporation 2015 DBを取り巻く環境 DB 各種システムが収集する 個人情報や秘密情報が増大 DBサーバを含む情報システムの 運用を第三者に委託することが 一般化しつつある 個人情報を含む 多くの秘密情報を 保持 組織内外からの 不正アクセスに対し データ保全の仕組みが必要 DBMS運用環境は常に危険にさらされています システム開発環境 • 情報システム投資の圧縮 • 開発期間の短縮化 • クラウド環境の利用拡大 社会環境 • 電子商取引、電子マネー • スマートフォン、ICカード/ RFID等電子デバイスの利用拡大 • 各種センサ
  5. 5. Page 5 © NEC Corporation 2015 DBを取り巻く環境 「2013年 情報セキュリティインシデントに関する調査報告書 ~個人情報漏えい編~」 NPO日本ネットワークセキュリティ協会 情報漏えいの影響範囲は広範にわたり、 事業の継続に多大なインパクトを与える
  6. 6. 情報漏えい対策と暗号化
  7. 7. Page 7 © NEC Corporation 2015 情報漏えい対策と暗号化 DBアクセス権限の所有者や DBファイル、通信からの情報漏えい対策としては不十分 • 適切なセキュリティフィックスの適用 • SQLインジェクション対策など、 アプリケーションによる漏えい対策 アプリケーション サーバ • 認証による接続制限 • データベースオブジェクトへの各種アクセス権 設定による参照制限 DBMS DBMSを利用するシステムの情報漏えい対策と問題点
  8. 8. Page 8 © NEC Corporation 2015 情報漏えい対策と暗号化 アプリケーション サーバ DB 通信の傍受 DBファイルの 持ち出し データベースファイル DBのアクセス権やアプリケーションでの対策では不十分 バック アップ ファイル バックアップファイル (物理/論理データ)の 持ち出し 権限所有者による 不正なデータ抽出
  9. 9. Page 9 © NEC Corporation 2015 情報漏えい対策と暗号化 アプリケーション サーバ DB 通信の暗号化 (SSL) データの暗号化 データベースファイル ネットワークやOS、HWレベルでのデータ漏えいに対する対策 バック アップ ファイル バックアップファイルの 暗号化 DB管理者と 復号用の鍵管理者の 分離
  10. 10. Page 10 © NEC Corporation 2015 情報漏えい対策と暗号化 「「DBA 1,000 人に聞きました」アンケート調査報告書」第1.0 版 2014年9月10日データベース・セキュリティ・コンソーシアム 内部からの情報漏えいの可能性は常に存在し、 全データにアクセス可能な権限者の存在はリスクをともなう DBAによる情報売却の 可能性を否定できない
  11. 11. POSTGRESQLのデータ暗号化と アプリケーション開発者の要望
  12. 12. Page 12 © NEC Corporation 2015 postgres=# create extension pgcrypto; CREATE EXTENSION postgres=# create table testtbl (c1 bytea); CREATE TABLE postgres=# insert into testtbl values (pgp_sym_encrypt('testdata', 'password')); INSERT 0 1 postgres=# select * from testtbl; c1 ------------------------------------------------------------------------------------------------------------ -------------------------------------------- ¥xc30d0407030259fe70ee2960fd7665d239015fab8e8ba8c952023ed7a78822f7478f7624b5eb7695ac868e712e8faae05a1d78dfc6 9ef196d69106e45974002b0c8533c3764e41a76ae2 (1 row) postgres=# select pgp_sym_decrypt(c1, 'password') from testtbl; pgp_sym_decrypt ----------------- testdata (1 row) PostgreSQLにおけるデータ暗号化 ▌pgcrypto 貢献パッケージ(contrib)として提供される暗号化関数 列に格納するデータをTEXT、BYTEA型のデータとして出力 pgpを組み合わせた高度な暗号化も可能 データ挿入 pgcrypto導入 検索 関数による暗号化 関数による復号
  13. 13. Page 13 © NEC Corporation 2015 アプリケーション開発者の要望 • 関数実行による暗号/復号処理 • 列単位でのデータ暗号化 • 関数実行時に暗号鍵を指定 pgcryptoの 特徴 アプリケーション開発者の要望 • 移行性が低下するため、PostgreSQL専用の クエリを発行したくない • APサーバ上に暗号鍵を置きたくない • 鍵管理はアプリケーション側で行いたくない 関数による暗号化の 実装は好まれない
  14. 14. Page 14 © NEC Corporation 2015 アプリケーション開発者の要望 「「DBA 1,000 人に聞きました」アンケート調査報告書」第1.0 版 2014年9月10日 データベース・セキュリティ・コンソーシアム アプリケーション開発に負担をかけない暗号化手段が必要 アプリケーション改修が必要な 暗号化手法は、 データ暗号化導入の妨げとなる
  15. 15. Page 15 © NEC Corporation 2015 アプリケーション開発者の要望 ▌商用DBMSにおける対応 商用DBMSはアプリケーション開発者に負担をかけない「透過的暗号化」 機能を提供している DBMS側の設定や準備だけで、アプリケーションの改造が不要 暗号化の対象 • データベース、テーブルスペース、列単位に暗号化を行う • 大小比較を含む一連の検索処理を問題無く行うことができる 暗号鍵管理 • 暗号鍵は各RDBMS製品に固有な鍵管理の仕組みを持つ • データの暗号鍵が流出しないよう暗号鍵は2重、3重に暗号化されている OSS DBMSにも透過的暗号化機能が必要
  16. 16. Page 16 © NEC Corporation 2015 Oracle Advanced Security (TDE) • 表領域、列暗号化の対象 • 二種類の鍵を使用 • Oracle Walletでマスター鍵を管理 • マスター鍵をソフトウェア/ハードウェア・キーストアに格納 暗号鍵の管理方法 •AES(キー長:128,192,256bit) •トリプルDES 暗号アルゴリズム Oracle Wallet マスター鍵 データ暗号化鍵 DB データ暗号化鍵は マスター鍵で暗号化 データは データ暗号化鍵で 暗号化
  17. 17. Page 17 © NEC Corporation 2015 SQL Server 透過的暗号化機能 • データベース暗号化の対象 •三種類の鍵を使用 •サービスキーを使用してデータベースマスターキーを暗号化 •データベース暗号化キーは、データベースマスターキーを使用して暗号化 暗号鍵の管理方法 •AES(キー長:128,192,256bit) •トリプルDES 暗号アルゴリズム サービスマスターキー データベースマスターキー DB サービスマスターキーで 暗号化し、 masterデータベースに 格納される インストール時に生成 データベース暗号化キー データベースマスターキー で暗号化され、 データベースの暗号化に 使用する
  18. 18. TRANSPARENT DATA ENCRYPTION FOR POSTGRESQL
  19. 19. Page 19 © NEC Corporation 2015 Transparent Data Encryption for PostgreSQL ▌PostgreSQLの透過的暗号化機能 2015年6月、弊社はTransparent Data Encryption for PostgreSQL (TDE for PostgreSQL)を公開しました。 http://jpn.nec.com/press/201506/20150605_01.html
  20. 20. Page 20 © NEC Corporation 2015 Transparent Data Encryption for PostgreSQL ▌NECが提供するPostgreSQL向け透過的暗号化機能 暗号化列属性をEXTENTIONとして実装 基本的な機能を提供するFree Edition(OSS版)とデータ保全機能、鍵 管理機能(AWS KMS利用)を加えたEnterprise Editionをリリース •ソースからコンパイル •暗号化列属性追加 •暗号鍵はクライアントAPから 専用関数(ストアドプロシージャ)を使用し平文で通知 • https://github.com/nec-postgres/tdeforpg/ Free Edition (OSS版) •インストーラ •暗号化列属性追加(NUMERIC、TIMESTAMP) •運用コマンド提供 •複数バージョンの暗号鍵に対応 •AWS KMSを利用した鍵管理 Enterprise Editionの 強化項目
  21. 21. Page 21 © NEC Corporation 2015 Transparent Data Encryption for PostgreSQL ▌暗号化列属性 暗号化が必要になると想定されるTEXT、BYTEA(バイナリ)、 NUMERIC、TIMESTAMP属性に対し、暗号化列属性を追加。 TEXT BYTEA NUMERIC TIMESTAMP ENCRYPT_TEXT ENCRYPT_BYTEA ENCRYPT_NUMERIC ※ ENCRYPT_TIMESTAMP ※ 暗号化列属性 ※ NUMERIC、TIMESTAMPの暗号化列属性はEnterprise Editionのみの機能です。
  22. 22. Page 22 © NEC Corporation 2015 Transparent Data Encryption for PostgreSQL ▌PostgreSQLにおける属性追加 暗号化列属性追加 入出力関数の実装 比較用関数の実装 CASTの実装 カタログ登録 属性追加の際、各属性の入出力関数、インデックス検索用の比較関数、 属性変換処理、カタログ情報の追加を行います
  23. 23. Page 23 © NEC Corporation 2015 Transparent Data Encryption for PostgreSQL ▌TDE for PostgreSQL Free Editionの利用手順 OSS版TDEをコンパイル PostgreSQL設定変更(TDEのライブラリ読み込み) セットアップ用スクリプト実行(属性追加) 鍵をDBに登録 暗号化列を使用したテーブル定義 DBに接続 専用関数でセッション開始を宣言 SQL文発行 専用関数でセッション終了を宣言 TDE 利用環境の 準備 TDEの利用
  24. 24. Page 24 © NEC Corporation 2015 Transparent Data Encryption for PostgreSQL $ cd $PGSRC/contrib/pgcrypto $ make $ make install $ psql << EOF > CREATE EXTENSION pgcrypto; > EOF $ $ sudo ln –s$PGHOME/lib/pgcrypto.so /usr/lib64/libpgcrypto.so $ cd $PGSRC $ ./configure $ cd $TDEHOME/SOURCES/data_encryption $ sh makedencryption.sh 93 $PGSRC $ sudo ln -s $TDEHOME/SOURCES/data_encryption/93/data_encryption93.so /usr/lib64/data_encryption.so $ echo “shared_preload_libraries=‘/usr/lib64/data_encryption.so’” >> postgresql.conf $ pg_ctl restart $ cd $TDEHOME/SOURCES $ sh bin/cipher_setup.sh $PGHOME Transparent data encryption feature setup script Please select from the setup menu below Transparent data encryption feature setup menu 1: activate the transparent data encryption feature 2: inactivate the transparent data encryption feature select menu [1 - 2] > 1 Please enter database server port to connect : <port_number> Please enter database user name to connect : <user_name> Please enter password for authentication : <password> Please enter database name to connect : <db_name> pgcryptoのインストール TDE for PostgreSQLのビルド TDE for PostgreSQLの導入 DBへのTDE機能導入 Free Editionの導入
  25. 25. Page 25 © NEC Corporation 2015 Transparent Data Encryption for PostgreSQL -- CREATE TABLE CREATE TABLE Employee( EmployeeID Integer PRIMARY KEY, Name TEXT, Address ENCRYPT_TEXT, TelephoneNumber ENCRYPT_TEXT ); -- START SESSION select pgtde_begin_session('cipherkey'); -- INSERT DATA insert into Employee values(1,'従業員1','滋賀','003-0001-0001'); -- SELECT ALL select * from Employee ; -- END SESSION select pgtde_end_session(); 暗号化列属性を指定したテーブル定義 Free Editionの利用 暗号・復号セッション開始 (データ鍵をDBに通知) データの挿入(通常のSQL文) データの検索(通常のSQL文) 暗号・復号セッション終了
  26. 26. Page 26 © NEC Corporation 2015 Transparent Data Encryption for PostgreSQL ▌Free Editionのメリット・デメリット • 暗号化関数が不要でアプリケーション開発が容易に • 検索、更新を行うためにSQL文を発行するたびに鍵を 送信する必要がなくなる メリット • 鍵をアプリケーション側で管理する必要がある • TDEの利用開始時に鍵を送信しなければならない • 鍵の更新の際にはデータの再暗号化が必要 デメリット Enterprise Editionでは鍵管理と鍵の更新に対する機能を追加
  27. 27. 鍵管理とAWS KMSの利用
  28. 28. Page 28 © NEC Corporation 2015 鍵管理とAWS KMSの利用 アプリケーション サーバ 鍵管理機能 暗号化した DB暗号化用の鍵を 提供 復号した鍵で データを暗号・復号化 機密性確保のため、暗号・復号に使用する鍵は AP、DBサーバから独立して管理されることが望ましい 復号した DB暗号化用の鍵を 提供
  29. 29. Page 29 © NEC Corporation 2015 鍵管理とAWS KMSの利用 ▌鍵管理の方法 OSS-DBMSと連携する鍵管理機能としては クラウドサービス上の鍵管理が適している •導入は容易だが、鍵管理のしくみはつくり込が必要 •鍵を格納したファイルをDBサーバ上に置くため、機密性に 不安がある ファイルによる 暗号鍵管理 •高度な鍵管理の仕組みを提供可能 •導入費が高額であるため、OSS-DBMSを利用するシステム での採用は難しい 専用HW (Hardware Security Module)による暗号鍵管理 •高度な鍵管理の仕組みを提供可能 •ランニングの費用はかかるが、導入費は抑えられる クラウドサービス上の 鍵管理
  30. 30. Page 30 © NEC Corporation 2015 鍵管理とAWS KMSの利用 2014年11月 アマゾン ウェブ サービス(AWS)による鍵管理サービスの開始
  31. 31. Page 31 © NEC Corporation 2015 鍵管理とAWS KMSの利用 AWS KMS(Key Management Service)とは データの暗号化に使用される暗号化キーの作成と管理機能を提供 するサービス。 • キーの作成、説明、リスト表示 • キーの有効化と無効化 • キーの使用ポリシーの設定と取得 • キーエイリアスの作成、削除、リスト表示 • データの暗号化、復号化、再暗号化 • プレーンテキストでサービスからエクスポートできるか、サービスをそのま まにしないキーで暗号化できるデータキーの生成 • 暗号化アプリケーションに適したランダムな数値の生成 参考:http://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/overview.html AWS KMSを利用し、 DB-クライアント外に 暗号鍵生成、暗号化、復号機能を 持つことが可能 TDE for PostgreSQL Enterprise Editionは AWS KMSを利用した鍵管理機能を提供
  32. 32. Page 32 © NEC Corporation 2015 鍵管理とAWS KMSの利用 ▌TDE for PostgreSQL Enterprise Editionでは3種類の鍵を使用 • データ鍵を暗号化するための鍵 • セキュリティ管理者が生成(AWS KMS) CMK (Customer Master Key ) • データを暗号化するための鍵 • 暗号鍵をAWS KMSで復号して取得 データ鍵 • 暗号化されたデータ鍵 • APサーバ上に保有し、透過的暗号化利用時に DBに提示 暗号鍵
  33. 33. Page 33 © NEC Corporation 2015 鍵管理とAWS KMSの利用 ▌AWS KMSを利用したTDE for PostgreSQLの登場人物と保有情報 • AWSアクセス用の情報 • 復号権限のあるユーザアカウント DBA • セキュリティ管理者が発行した暗号化された鍵 (暗号鍵) AP開発・ 運用者 •AWS IAMの利用権 •鍵作成・管理用権限のあるユーザアカウント •CMK(Customer Master Key) → データ鍵および暗号鍵の作成 セキュリティ 管理者 データの復号に必要な情報や権限は分散して管理され、 「データ鍵」を常時保有する登場人物は存在しない
  34. 34. Page 34 © NEC Corporation 2015 鍵管理とAWS KMSの利用 ▌TDE for PostgreSQL Enterprise Editionの鍵バージョン管理 鍵の更新時に全暗号化データの再暗号化は不要/ データ更新時に最新の鍵で暗号化する DB内に暗号化した複数バージョンのデータ鍵を持ち、 利用時に復号しメモリ展開したデータ鍵を使用する バージョン 暗号化データバージョン データ鍵 バージョン データ鍵 バージョン データ鍵 暗号化列の構造鍵管理テーブル メモリ展開した 鍵テーブル 参照時に 過去のバージョンの鍵で復号可能 ※ 鍵のバージョン管理はAWS KMS無しでも利用可能
  35. 35. Page 35 © NEC Corporation 2015 鍵管理とAWS KMSの利用(準備) ▌TDE for PostgreSQL Enterprise EditionからのAWS KMS利用 (準備) 暗号鍵受領 AP開発・運用者 セキュリティ管理者 DBA IAMアクセス(管理者) 復号用ユーザ追加 CMK作成 CMKのキーIDを指定し データ鍵・暗号鍵を生成 TDE導入 AWSアクセス情報作成 (設定ファイル) DB 暗号化したデータ鍵を DBに格納
  36. 36. Page 36 © NEC Corporation 2015 鍵管理とAWS KMSの利用(利用) ▌TDE for PostgreSQL Enterprise EditionからのAWS KMS利用 (利用) DBアクセス時に暗号鍵提示 クエリ発行 AP AWS KMSDB APから暗号鍵取得 AWSに接続し暗号鍵を復号 (データ鍵) 鍵管理テーブルを復号し メモリ展開 データ鍵を利用した暗号・復号 DBセッション内での 暗号・復号に利用 暗号鍵の復号 KeyID、暗号鍵 データ鍵
  37. 37. Page 37 © NEC Corporation 2015 AWS Management Consoleで暗号化キー作成を行う ① IAM ② 暗号化キー作成 画面へ AWS KMSの機能は、 AWS IAM(Identity & Access Management)から 利用します
  38. 38. Page 38 © NEC Corporation 2015 CMKを作成する ③ CMK作成
  39. 39. Page 39 © NEC Corporation 2015 KeyIdを確認する ④ KeyIDを確認 KeyIDはCMKを 一意に指定します。
  40. 40. Page 40 © NEC Corporation 2015 データ鍵/暗号鍵生成 ⑤ DBサーバで登録用コマンド実行 ⑦ AWS接続情報入力 ⑧ KeyID入力 ⑨ 暗号化アルゴリズム選択 ⑥ KMSを使用するか選択
  41. 41. Page 41 © NEC Corporation 2015 psqlでの利用例 ⑪ 暗号化鍵をDBに提示 ⑩ 暗号化鍵を渡さずテーブル参照 (エラー) ⑫ データの復号に成功
  42. 42. Page 42 © NEC Corporation 2015 Transparent Data Encryption for PostgreSQL ▌Free Edition、Enterprise Edition共通の利用上の注意 一部ではありますが、アプリケーション改造 (透過的暗号化セッションの開始/終了宣言)が必要です Hashインデックスにのみ対応しています (B-Treeインデックスには未対応です) 大小比較やソートは可能ですが、全データの復号が必要となるため、 DBサーバに大きな負荷がかかります ▌Enterprise Editionの利用上の注意 AWS KMS利用時に「pgtde_begin_session」関数の応答時間が数秒か かることがあります。
  43. 43. メンテナンスツール (POSTGRESQLデータ保全ツール)の機能
  44. 44. Page 44 © NEC Corporation 2015 メンテナンスツール(PostgreSQLデータ保全ツール)の機能 ▌データ破壊発生後の復旧作業 バックアップ後のDB更新箇所を復旧するには、膨大な作業が必要となる。 • 破壊箇所の確認やデータの救出作業は工数がかかる • エラー発生個所以外にDB壊れていないことを確認するには、 全DBオブジェクトのチェックが必要 •データ破壊が発生しエラーとなる箇所の特定 •アクセス不能なレコードを回避しつつ、参照可能なレ コードを抽出 •救出データのリストア •インデックスの再作成 •他に破壊されたファイルが無いか、全レコードの抽出 および正常性確認 •ファイルをダンプし、破壊箇所の復旧…Etc.Etc. データ破壊からの 復旧作業
  45. 45. Page 45 © NEC Corporation 2015 ▌TDE for PostgreSQL Enterprise Editionは、 TDE機能に加えPostgreSQLのメンテナンスツールを提供します Verify機能 テーブルの構造やデータとインデックスの整合性チェック Salvage/Revive機能 起動しないDBからのデータ救出/リストア メンテナンスツール(PostgreSQLデータ保全ツール)の機能 root branch leaf leaf branch Leaf leaf インデックスとデータの整合性チェック テーブル データの構造チェック データブロック 破損 … 起動不能なDB 破損 データ救出 救出データのリストア 整合性 インデックス
  46. 46. FREE・ENTERPRISE EDITION 機能一覧
  47. 47. Page 47 © NEC Corporation 2015 Transparent Data Encryption for PostgreSQL ▌Edition別の比較一覧 機能/サービス Enterprise Edition Free Edition Transparent Data Encryption機能 列単位の 暗号化機能 テキスト 〇 〇 バイト列(画像など) 〇 〇 数値 〇 × 日付・時刻 〇 × 鍵の更新、バージョン管理機能 〇 △ 暗号鍵のバージョン管理機能なし 一括更新のみ可 Amazon Web Service 鍵管理機能 (Key Management Service)とのシームレスな連携 〇 × Maintenace機能 データベース診断・復旧機能 〇 × サポート・サービス Transparent Data Encryption for PostgreSQLの PPサポートサービス 〇 × PostgreSQL本体のサポートサービス 〇 ×
  48. 48. Transparent Data Encryption for PostgreSQL Free Editionから PostgreSQLの透過的暗号化機能を 是非ご体験ください https://github.com/nec-postgres/tdeforpg/ 鍵管理機能をご要望の皆様には、 Enterprise Editionをご検討ください

×