情報処理 セキュリティブログ

情報処理系の話、セキュリティの話など書いていきます。

パスワードの保管方法

こんばんわ!!

koutaです。

 

日が開いてしまいました。

本来であれば、情報の棚卸のフォーマットを作って説明の予定でしたが、

作るってる時間がとれなくて。

別テーマにしてしまいました!!

 

ごめんなさい(´Д⊂ヽ

 

本日はパスワードの保管方法についてです。

端末の話ではなく、webアプリの話です。

 

皆さんはどのようにパスワードを保管してますか?

  1. 平文
  2. 暗号化
  3. ハッシュ化

 

どれが正しいでしょうか?

 

 

 

こんな風に並べたら3.ハッシュ化を選ぶと思いますが、

ハッシュ化だけでは不十分です。

 

平文で保管しているのは良くないです。

イントラでない限りはやめましょう。

 

暗号化とハッシュ化の違いはわかりますか?

 

暗号化は可逆です。

復号化することでもとに戻せてしまいます。

 

 

ハッシュ化は不可逆です。

もとの値を作るのは困難です。

 

困難なだけで、可能なのです。

例えばMD5というハッシュ関数

http://www.kiyori.co.jp/md5reverse/

なんと分かってしまいます。

 

MD5,SHA1については既に脆弱と言われています。

SHA2でも実は結構危ないのです。

 

最近スタンダードやSHA256のハッシュ関数ですが、

技術が発達しすぎて、

200万円くらいの端末で、1億パターン/秒のスピードで解析できるらしいです。

 

8桁の数字と分かっていたら

たった1秒でパスワードが解析されるということです。

 

 

IPAで推奨されているやり方は

パスワード + ソルト

のハッシュ化です。

 

ソルト(SALT)とは、任意の文字列です。

パスワードを解析するのを困難にするためのものです。

 

個人的には下記の条件が満たせると良いです。

  • 20文字以上
  • ユーザーごと異なる

 

 少し長くなってしまったので今日はここまてでです。

次は具体的なハッシュ化の仕方を書きます。

 

ではでは。