my sql security (暗号化)
TRANSCRIPT
MySQL Security (暗号化) Shinya.Sugiyama
2014/10/21
本内容は個人の見解であり、
所属組織を代表するものではありません。
免責事項
自己紹介
杉山真也 (@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
足跡
株式会社外為どっとコム
株式会社新生銀行
株式会社カカクコム
「会社の成長」と「自身の成長」を実感できるカカクコム :CodeZine
システム部長の心得 カカクコム 執行役員 システム ... - ITpro
IDEMA JAPAN | 国際ディスクフォーラム
現実に起きた事業継続の必要性と、実際に実現できたBCPの .
MySQLとの付き合い
その他、運営サイト含む
「国内最大規模」,カカクコムがRuby on Railsで月間380万ユーザーの「食べログ.com」を全面再構築
tabelog.com (現在) 月間利用者数 5,661万人 月間総ページ数:12億9,371万PV
2007年10月22日
2005年
MySQL Server Community Edition…..
最近までOne of Big GPL ユーザーでしたが、 特定分野でEEの新しい暗号化が使えそうなので、 EEでの新機能含みMySQL暗号化の話を させて頂きます
共通鍵暗号化 Community and Enterprise Edition共に利用可能
Since: MySQL 4.0.2~
DEMO
AES_ENCRYPT(str,key_str), AES_DECRYPT(crypt_str,key_str) MySQL標準で使用が可能なものの中で、 暗号的に良く使われている暗号化関数です。 標準128 ビットのキーの長さを使用したエンコード 暗号化・復号化文字列は共に同じものを利用
共通鍵暗号化 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])
個人情報保護法、PCIDSS対応、ISMS対応、その他監査 毎年管理部署から対応依頼を受けて、工数かけて、 棚卸やシステムの見直しをしている管理者の方もいるはず。
システムによっては、暗号化の仕組み、アクセス制限方法、履歴に関しても根拠やログを出す必要がある場合もあり。
暗号化する鍵と、暗号化されたデータを復号化する 鍵が別々に管理出来ると、セキュアに機密データなどを 管理する為の選択肢が広がるかもしれない。
色々と方法はあるけれども、既存システムとの親和性があり、 追加コストを殆どかけないで導入出来、運用が楽だと有難い。
より強固な暗号化を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
ありがとうございました