「ハッシュ化されたパスワード」の版間の差分
(ページの作成:「<!-- vim: filetype=mediawiki --> ハッシュ化されたパスワード とは、平文 の パスワード を推測不能な状態に ハッシュ ...」) |
|||
行12: | 行12: | ||
[[ハッシュ化されたパスワード]] とは、[[平文]] の [[パスワード]] を推測不能な状態に [[ハッシュ]] アルゴリズムを利用して、[[ハッシュ値]] です。人間にとっては、ただのバイト列です。 | [[ハッシュ化されたパスワード]] とは、[[平文]] の [[パスワード]] を推測不能な状態に [[ハッシュ]] アルゴリズムを利用して、[[ハッシュ値]] です。人間にとっては、ただのバイト列です。 | ||
[[ハッシュ関数]] は、暗号理論にもとづいて開発された、安全なアルゴリズムを利用すべきです。 | [[ハッシュ関数]] は、暗号理論にもとづいて開発された、安全なアルゴリズムを利用すべきです。 | ||
+ | |||
+ | [[ハッシュ化されたパスワード]] は、[[ハッシュ値]] の求め方によって、強度が変わってきます。純粋な[[ハッシュ化]]だけで[[ハッシュ値]]([[ハッシュ化]]した[[パスワード]]) を求めるのか、[[ストレッチング]] を組み込むかによって、強度は変わってきます。 | ||
[[パスワード]] を [[平文]] で[[データベース]]などのシステムに保存すると、[[システム管理者]] は、[[パスワード]] を閲覧できます。 | [[パスワード]] を [[平文]] で[[データベース]]などのシステムに保存すると、[[システム管理者]] は、[[パスワード]] を閲覧できます。 |
2013年7月27日 (土) 09:28時点における版
ハッシュ化されたパスワード とは、平文 の パスワード を推測不能な状態に ハッシュ アルゴリズムを利用して、ハッシュ値 です。人間にとっては、ただのバイト列です。
読み方
- ハッシュ化されたパスワード
- はっしゅか された ぱすわーど
概要
ハッシュ化されたパスワード とは、平文 の パスワード を推測不能な状態に ハッシュ アルゴリズムを利用して、ハッシュ値 です。人間にとっては、ただのバイト列です。 ハッシュ関数 は、暗号理論にもとづいて開発された、安全なアルゴリズムを利用すべきです。
ハッシュ化されたパスワード は、ハッシュ値 の求め方によって、強度が変わってきます。純粋なハッシュ化だけでハッシュ値(ハッシュ化したパスワード) を求めるのか、ストレッチング を組み込むかによって、強度は変わってきます。
パスワード を 平文 でデータベースなどのシステムに保存すると、システム管理者 は、パスワード を閲覧できます。 パスワードが流出した場合、そのまま利用できます。
以下の問題を解決するために、パスワード は、ハッシュ化して保存するのが一般的です。
扱いやすくするために、Base64によるエンコードをされているかもしれません。
ただ単にハッシュ化すればいいわけではない
単純に MD5 で ハッシュ化 した場合、どうなるでしょうか?
hash-value = md5 ( clear-text-password )
MD5 は、すでに推奨されません。 GPU を利用して、簡単にパスワードクラックできます。
上記の手順でハッシュ値 を作成する場合、 同じパスワード を設定しているユーザが容易にわかってしまいます。それは、同じ平文をハッシュすると、常に同じハッシュ値 になるからです。 1つのパスワード がわかれば、ほかの同じパスワード を設定しているユーザのパスワードがわかります。
このような手順では、レインボーテーブル を作成することで、より早く、パスワードクラック が可能です。 レインボーテーブル とは、あらかじめ作成しておくハッシュ化されたパスワード のリストです。
「ハッシュ化されたパスワード」の作り方
正しい ハッシュ化されたパスワード の生成は、以下の通りです。