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