「ストレッチング」の版間の差分
提供: セキュリティ
(ページの作成:「<!-- vim: filetype=mediawiki --> 読み方 ;ストレッチング:すとれっちんぐ ;stretching:すとれっちんぐ __TOC__ == 概要 == [[ストレッチ...」) |
細 |
||
行13: | 行13: | ||
[[ストレッチング]]の回数を増やすことは、サーバの負荷を増やします。 | [[ストレッチング]]の回数を増やすことは、サーバの負荷を増やします。 | ||
+ | |||
+ | [[GPU]]で7時間かかるクラッキングは、[[ストレッチング]]を1万回すると、7万時間(約8年)程度になります。 | ||
+ | |||
+ | 弱いパスワードを救えるわけではありません。 | ||
+ | |||
+ | 1文字長くすることは、100回程度の[[ストレッチング]]に相当します。 | ||
+ | パスワードを長くすれば、[[ストレッチング]]の必要性は、薄れていきます。 | ||
== 使い方 == | == 使い方 == |
2013年4月21日 (日) 14:26時点における最新版
読み方
- ストレッチング
- すとれっちんぐ
- stretching
- すとれっちんぐ
概要
ストレッチングは、ハッシュ値の計算を何回も(1000 - 10000回程度)を繰り返すことです。総当たり攻撃に対する対策です。ハッシュの回数を増やすことで、計算コストを増やします。
ストレッチングの回数を増やすことは、サーバの負荷を増やします。
GPUで7時間かかるクラッキングは、ストレッチングを1万回すると、7万時間(約8年)程度になります。
弱いパスワードを救えるわけではありません。
1文字長くすることは、100回程度のストレッチングに相当します。 パスワードを長くすれば、ストレッチングの必要性は、薄れていきます。
使い方
プログラミングとしてのイメージは、以下の通りです。 ストレッチングのコーディングは、いろいろあります。
<?php $hash_type = 'sha256'; $hash = hash ($passwd, $salt); for ($i = 0; $i < $max_stretching; ++$i) { $hash = hash ($hash_type, $hash . $passwd, $salt); } ?>