株式会社クライム 新福 将也
重要な情報のみ暗号化!
DBのデータ漏えい対策手法を紹介!!
2
バックドア:別の通信経路を作成
4つの攻撃
SQLインジェクション:不正なSQL文による攻撃
パスワード漏洩:パスワードや接続情報を不正入手
物理的にデータを盗難:HDDやバックアップデータを盗難
データの暗号化で対策可能
3
暗号化方式
OS/ストレージの機能:
DBの機能:
アプリ側で暗号化:
OS・ストレージ機器などの機能で暗号化する方法
ファイルシステムレベルで暗号化
データベースの機能を利用して暗号化を行う方法
データベースが内部的にデータを暗号化して格納する
データベース外でデータを暗号化する方法
既に暗号化されたデータをデータベースに書き込む
DB アプリストレージ
4
3つの暗号化方式
OS/ストレージの機能:
DBの機能:
アプリ側で暗号:
RDPなどOS経由でのアクセスでは元データが見える
メモリ上のデータまでは暗号化されない
DBへ直接アクセスされた場合もデータ漏えい対策可
アプリケーション側での開発が手間
DBストレージ アプリ
5
アプリ側で暗号化の導入を簡単に
暗号化するアプリの開発が必要
⇒ 暗号化アプリで代用
暗号化したデータを格納するためDBの構成変更が必要
⇒ この部分も簡単にしたい…
1234
クライム
1000-01-01 00:00:00
Int型
String型
DATETIME型
変更前のテーブル
1234
クライム
H2EgjTGmH2EgJcxL…
Int型
String型
String型
変更後のテーブル
6
参照用DBを追加
元のDBを暗号化した参照用DB(OSSなど)を用意
→参照用DBを追加するので構成変更の手間が少ない
→暗号化されたデータを参照するだけ
→通信を制御し不正アクセス対策も可能
DB
レプリケーション
暗号化
参照用DB
平文 暗号化
アプリ
クライアント
BI
ネットワークを隔離
7
DBMotoとは
DB DB
レプリケーション
リアルタイムレプリケーションツール
柔軟なデータ連携も可能
異種データベース間にも対応
DBMoto使用例
テーブル テーブル
8
xOsDcA2u
61YKU…
レプリケーションについて
3455
クライム
山田太郎
test@
climb.co.jp
1234
クライム
山田太郎
jTGmH2Eg
JcxL…
複製元テーブル 複製先テーブル
レプリケーション
3455
暗号化
xOsDcA2u
61YKU…
9
柔軟性
リアルタイム
複雑なレプリケーション
小規模から大規模環境まで
9
DBMotoの特徴
対応力
多くのDB・DWHをサポート
DBはOS依存なし
物理、仮想、クラウド
使いやすさ
Windowsによる一元管理
エージェントレス
ツールは日本語表示
開発元:HiT Software, Inc.
 1994年からDBアクセスツールの開発・販売
 本社:San Jose, California
 全世界に販売網(日本は株式会社クライムが担当)
http://www.hitsw.com/
10
プラットフォームの組み合わせは自由
オンプレ(物理)⇔クラウド
オンプレ(仮想)⇔クラウド
オンプレ⇔オンプレ
クラウド⇔クラウド
11
サポートするデータベース
IBM DB2 for i(AS/400)
IBM DB2 for z/OS
IBM DB2 for AIX, Linux, Windows
Oracle
MS SQL Server
MS Azure SQL Database
MySQL/Amazon Aurora/MariaDB
PostgreSQL
Gupta SQLBase
IBM Informix
SAP Sybase ASE
SAP Sybase SQL Anywhere
IBM PureData(Netezza)
Amazon Redshift
SAP HANA
SAP Sybase IQ
Actian Vectorwise
HP Vertica
MS Access
Firebird
Ingres
IBM SolidDB
IBM dashDB
Teradata
Hadoop(※リフレッシュのターゲットのみ)
リフレッシュ(全件)
ミラーリング、シンクロナイゼーション(差分)
リフレッシュ(全件)
ミラーリング(差分)のターゲット[複製先]
リフレッシュ
ミラーリング
11
12
3つのレプリケーションモード
リフレッシュ
(全件)
ミラーリング
(片方向差分)
シンクロナイゼーション
(双方向差分)
変更
複製
変更
変更
複製
複製
ソース
(複製元)
ターゲット
(複製先)
12
13
必要なテーブルやカラムのみ連携
カラム1
カラム2
カラム3
カラム5
カラム4
テーブル単位でジョブ作成
ジョブ一括作成も可能
カラム単位でマッピング
カラム1
カラム2
カラム3
カラム5
カラム4
カラム1
カラム2
カラム3
カラム5
カラム4
カラム1
カラム2
カラム3
13
14
データのカスタマイズ・複雑な連携
1234
関数を使用しマッピング可能
クライム
Climb
12
1234
クライム
Climb
00012
2017/6/26
Trim()
ユーザ関数
Now()
スクリプト: VB, C#
・条件付きレプリケーション
例:値が~を満たすとき
例:更新のみ反映、登録は無視
・テーブルの結合
・ユーザ関数の定義
API: VB, C#, C++
・バッチ処理、パラメータ取得
14
デモ
1234
クライム
山田太郎
xxxx@
climb.co.jp
1234
クライム
山田太郎
xOsDcA2u
61YKU…
片方向の差分転送レプリケーション
平文
暗号化
暗号化

重要な情報のみ暗号化!DBのデータ漏えい対策手法を紹介!!