「ソルト」の版間の差分
提供: セキュリティ
(→関連項目) |
|||
行30: | 行30: | ||
* [[レインボーテーブル]] | * [[レインボーテーブル]] | ||
* [[暗号]] | * [[暗号]] | ||
− | + | <!-- vim: filetype=mediawiki | |
− | <!-- | + | |
− | vim: filetype=mediawiki | + | |
--> | --> |
2015年9月21日 (月) 23:37時点における最新版
ソルト(英単語としては塩という意味, salt)は、パスワードと共に使われる短いデータのことです。ユニークなランダムな値が要求されます。
読み方
- ソルト
- そると
- salt
- そると
概要
ソルトは、パスワードを暗号化するときに、同じパスワードを設定しても、暗号化の結果が異なる値になるように、暗号化する前にパスワードに付加する値のことをいいます。
encrypted_password = hash( password + salt )
ユーザが同じパスワードを設定していても、異なるソルトを利用することで、異なるハッシュ値となります。
Passwd Salt b5325989a9149a34e63e2939771ae9f7 = md5 (test + 123456789) 1af3b5af9bfecc67f52227ee6765d878 = md5 (test + ABCDEFGHI)
ソルトのサイズが十分な長さを持たない場合、ソルトのパターンが少ないため、よく使われるパスワードのレインボーテーブルを作ることが容易になります。
ソルトの要件
ソルトの保存
Unixでは、パスワードのハッシュと一緒にソルトがパスワードファイルに格納されます。 ソルトをパスワードのハッシュとは、別のデータベースに保存するほうが安全性は高くなると考えられます。
ソルトの長さ
20文字以上であれば、よいです。