SQLアンチパターンを読み始めたので、1つ1つ書いてのメモです
目的
アンチパターン
-
パスワードを平文で格納する
- 重大なセキュリティ欠陥
-
通信を傍受、SQLの実行ログなど、パスワードに関するSQLを見つけて、パスワードを取得できるチャンスがある
-
パスワードをメールで送るのも、セキュリティ欠陥
用いてもいいパターン
- 作っているアプリケーションが、クライアントになる場合
- ただし、アプリケーションが解読できる暗号化して保存
解決策
- ソルトをつけてパスワードハッシュを格納する
- ソルトとは、暗号化前のパスワードに連結する無意味な文字列のこと。
- SQLでパスワードを平文として扱わないこと。アプリケーション側でソルトを用いたハッシュを生成して、SQLで扱うこと
- パスワードをリカバリーするのではなく、リセットする
- 一意なtokenを識別子として用いる
まとめ
あなたが読み取れるものは、攻撃者にも読み取れます。
感想
同意。