スマートフォン用の表示で見る

salt

1. 塩

2. パスワードハッシュ値を作成する時に、パスワード文字列と共に用いられる任意のデータ。

多くの UNIXOS では、元のパスワード乱数から生成した文字列を付け加えた上で、ハッシュ値等を計算し保存する。例えば MD5 を使った crypt による計算の場合、ランダムな 8 文字のデータを付加する。OpenLDAP の userPassword アトリビュートで、パスワードスキームを SSHA にすると、デフォルトで 4 バイトの乱数を付加している。

ソルトを付加すると、同じパスワードであっても、与えられたソルトが取りえるバリエーションの数だけ、最終的なハッシュ値のバリエーションが増える。このため、Rainbow Table のように、あらかじめ計算しておいたハッシュ値から元のパスワードを検索するような場合、元のパスワード長よりも遥かに多いバリエーションのハッシュ値を準備する必要があるため、充分な長さのソルトを使えば、この手のパスワードクラッキングは事実上、不可能になる。

ただし、ソルト自体は秘密にするものではないので、ブルートフォースアタックに対する防御効果は無い。