「ソルト」の版間の差分

提供: セキュリティ
移動: 案内検索
(関連項目)
 
行30: 行30:
 
* [[レインボーテーブル]]
 
* [[レインボーテーブル]]
 
* [[暗号]]
 
* [[暗号]]
* [[crypt]]
+
<!-- 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文字以上であれば、よいです。

関連項目