2009-03-04
■[SE雑記]僕にはSALT(暗号化関連)がわからない・・・
まず、SALTって何って人は、下記がいいかも。
で、そのお題のSALTの管理について。
1.DBテーブル
Railsのプラグインであるところのrestful_authenticationなどはDBテーブルにsaltを格納している。ただ、これだと(ブラインド)SQLインジェクションとかに会うと、パスワードと同時にsalt値もわかっちゃう。
2.外部ファイル
どっかのサイトでsaltは外部ファイルとかに持ちましょうとか行ってたんだけど、ユーザーごとに個別のsaltを持つなら外部ファイルはパフォーマンス的にどうなんだろう、と思ってしまう。サイトで1つしか持たないのなら3のソースベタ書きでいいように思う。
3.ソースベタ書き
そもそもこれだとユーザー個別のsaltは保持できず、サイト全体で1つのsaltしか持てない。また、ユーザー登録のタイミングでsalt値を決めるのではなく、あらかじめsalt値を決めることとなるので、salt値を知る者が存在することになる。
・・・・・・・・・
saltをかける意味というのはレインボーテーブルを防ぐことと、同一のパスワードが同一の文字列としてDBに格納されないところにある。だから、saltをどこに格納するかとか、salt値がわかっちゃったらどうだとかは、あんまり考えなくてもいいかな、という気がする。
上記をよんで、あんまり気にしなくても良いのかの〜という気になってきました。
後、WIKI レインボーテーブルの説明読んだけど、よくわかりませんでした。あとで読みなおそっと。
トラックバック - http://d.hatena.ne.jp/T-miura/20090304/1236152193
リンク元
- 5 http://dic.nicovideo.jp/a/nicocache
- 5 http://reader.livedoor.com/reader/
- 3 http://d.hatena.ne.jp/fromdusktildawn/20061208/1165539947
- 3 http://search.nifty.com/websearch/search?cflg=検索&select=2&q=秋元久雄&ck=&ss=mynifty_tp
- 3 http://search.yahoo.co.jp/search?p=Java Oracle更新バッチ&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=
- 2 http://72.14.235.132/search?q=cache:HOodoLzwXSQJ:d.hatena.ne.jp/T-miura/20090116/1232097163+jboss+pageディレクティブ&hl=ja&ct=clnk&cd=4&gl=jp&lr=lang_ja
- 2 http://mixi.jp/view_diary.pl?url=http://d.hatena.ne.jp/T-miura/20090304/1236152193&owner_id=1110480
- 2 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&q=JBoss+チューニング&btnG=検索&lr=lang_ja
- 2 http://www.google.co.jp/search?hl=ja&lr=&q=DateMorpher+json&start=10&sa=N
- 2 http://www.google.co.jp/search?hl=ja&lr=lang_ja&client=firefox-a&rls=org.mozilla:ja:official&q=SE 悲惨&start=10&sa=N