0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

パスワードを登録するときに必要なこと

Posted at

DBに入力された生のままのパスワードを保存しない

  • DBのデータが何らかの方法で盗またり、流出してしまうことがある。
    • 標的型攻撃
    • 内部犯
  • 他のサービスでも同じパスワードを使用していた場合に流用できてしまう。

パスワードを保存する際は暗号化、またはハッシュ化する

暗号化

  • 暗号化した内容をもとに戻すことができる(複合できる)
  • 複合化の方法が漏れてしまった場合に内容がわかってしまう

ハッシュ化

  • 一度ハッシュ化したものはもとに戻すことができない(不可逆)
  • 同じ方法でハッシュ化した場合に同じ値になるため、それでパスワードがあっているか確認する。
  • 同じハッシュ関数から辞書を作られていた場合、パスワードがバレてしまうこともある

現在はハッシュ化+別の方法の組み合わせでセキュリティを高めるのが主流

ソルト

  • パスワードをハッシュ化する前に、ランダムな文字列を付与する(20桁程度の長さ)
  • 固定値ではなく、ユーザーごとに異なる値を付与するのが望ましいとされる

ペッパー

  • パスワードをハッシュ化する前に、ランダムではない文字列を付与する
  • ペッパーの値はDB以外に保存する

ストレッチング

  • 何度もハッシュ化する(数千から数万回)
  • 解読に多くの時間がかかる
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?