Securing Sensitive Data in Rails
2018
https://ankane.org/sensitive-data-rails
機密データ
を
Rails
で扱う際の注意点とテクニック
個人情報
(
PII
) の
機密性
が高いものから保護対策を行う
データベース
ストレージ
レベル
ディスク暗号化
により物理的な盗難から保護する
ただし
DB
への接続を奪取された場合は無力
アプリケーション
レベル
データベースに送信する前に
暗号化
する
Symmetric Encryption
や
公開鍵暗号
など
データベース関数による暗号化は不完全、一時的にデータベースに機密データが見えるのでアプリケーションレベルの対応を推奨
キーローテーション
検索
への対処
Blind index
で検索可能にすることもできる
ただしすべての行を同じキーでハッシュする必要がある
ハッシュは元に戻せないが
レインボーテーブル
による攻撃は可能
匿名化
暗号化
せずにデータを保護する
IPアドレス
のマスキングなど