my sql security (暗号化)

11
MySQL Security (暗号化) Shinya.Sugiyama 2014/10/21

Upload: shinya-sugiyama

Post on 20-Jul-2015

473 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: My sql security (暗号化)

MySQL Security (暗号化) Shinya.Sugiyama

2014/10/21

Page 2: My sql security (暗号化)

本内容は個人の見解であり、

所属組織を代表するものではありません。

免責事項

Page 3: My sql security (暗号化)

自己紹介

杉山真也 (@RDBMS) - MySQL Presales Consultant Before Join MySQL Team

DB Team Manager DB Consultant

Operating Officer Since 2005 - 2013

Section Manager 2013 - 2014

MS SQL, Oracle, DB2 MS SQL, MySQL, Oracle

Page 4: My sql security (暗号化)

足跡

株式会社外為どっとコム

株式会社新生銀行

株式会社カカクコム

「会社の成長」と「自身の成長」を実感できるカカクコム :CodeZine

システム部長の心得 カカクコム 執行役員 システム ... - ITpro

IDEMA JAPAN | 国際ディスクフォーラム

現実に起きた事業継続の必要性と、実際に実現できたBCPの .

Page 5: My sql security (暗号化)

MySQLとの付き合い

その他、運営サイト含む

「国内最大規模」,カカクコムがRuby on Railsで月間380万ユーザーの「食べログ.com」を全面再構築

tabelog.com (現在) 月間利用者数 5,661万人 月間総ページ数:12億9,371万PV

2007年10月22日

2005年

MySQL Server Community Edition…..

Page 6: My sql security (暗号化)

最近までOne of Big GPL ユーザーでしたが、 特定分野でEEの新しい暗号化が使えそうなので、 EEでの新機能含みMySQL暗号化の話を させて頂きます

Page 7: My sql security (暗号化)

共通鍵暗号化 Community and Enterprise Edition共に利用可能

Since: MySQL 4.0.2~

DEMO

AES_ENCRYPT(str,key_str), AES_DECRYPT(crypt_str,key_str) MySQL標準で使用が可能なものの中で、 暗号的に良く使われている暗号化関数です。 標準128 ビットのキーの長さを使用したエンコード 暗号化・復号化文字列は共に同じものを利用

Page 8: My sql security (暗号化)

共通鍵暗号化 Community and Enterprise Edition共に利用可能

Since: MySQL 5.6.17~

標準256 ビットのキーの長さを使用したエンコード 暗号化・復号化文字列は共に同じものを利用

128, 192 or 256 bitの暗号化方法が設定可能 暗号化の必要性と暗号化によるオーバーヘッド により選択

AES_ENCRYPT(str,key_str[,init_vector]) AES_DECRYPT(crypt_str,key_str[,init_vector])

Page 9: My sql security (暗号化)

個人情報保護法、PCIDSS対応、ISMS対応、その他監査 毎年管理部署から対応依頼を受けて、工数かけて、 棚卸やシステムの見直しをしている管理者の方もいるはず。

システムによっては、暗号化の仕組み、アクセス制限方法、履歴に関しても根拠やログを出す必要がある場合もあり。

暗号化する鍵と、暗号化されたデータを復号化する 鍵が別々に管理出来ると、セキュアに機密データなどを 管理する為の選択肢が広がるかもしれない。

色々と方法はあるけれども、既存システムとの親和性があり、 追加コストを殆どかけないで導入出来、運用が楽だと有難い。

Page 10: My sql security (暗号化)

より強固な暗号化をMySQL 5.6.21 Enterprise Edition以降で提供開始(RSA, DSA, and DH 等)

10

こちらの例では、RSA 1024で暗号化しています

The maximum key length (OpenSSLによる制約)

RSA 16,384

DSA 10,000

DH 10,000

参照:12.17.4 Enterprise Encryption Function Descriptions

非対称暗号

create_asymmetric_priv_key ファンクションでPrivate鍵の発行

create_asymmetric_pub_key ファンクションでPublic鍵の発行

DEMO

Page 11: My sql security (暗号化)

ありがとうございました