「ストレッチング」の版間の差分

提供: セキュリティ
移動: 案内検索
(ページの作成:「<!-- 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);
}
?>

関連項目