この記事を読むために必要な時間は約3分(1054文字)です。

ハッシュ値の使われ方2 「暗号化」と「認証」での使用例

前回から3回に分けて、既にお話をしたハッシュ関数の使用例のお話をしています。
前回は、「ディジタル署名(電子署名)」についてお話をしましたので、今回は「暗号化・認証」のお話をします。

ハッシュ関数の使用例

使用例は、次の順番でお話をしています。

  1. ディジタル署名(電子署名)
  2. 暗号化・認証
  3. 攻撃検知

暗号化・認証での使われ方

暗号化・認証で使われるハッシュ関数の特徴は、不可逆関数です。

実例を挙げて説明した方がわかりやすいので、パスワードを例にお話をします。

パスワードの場合

一般的にパスワードは認証(ログイン)の時に入力します。
また、パスワードファイルは、攻撃者にとって、売買もできるので、入手したい情報の一つです。
このパスワードファイルが漏えいしてもよいようにしてしまうのです。

漏えい対策手順

漏えい対策としては、暗号化を使った方法もありますが、今回の趣旨から離れますので、省略します。
ハッシュ値を使った対策は、次のような手順で行います。

  • 準備
    1. パスワードをハッシュ関数に入れて、ハッシュ値を得ます
    2. ハッシュ値をパスワードファイルに記録します
  • ログイン時
    1. 入力されたパスワードをハッシュ関数に入れて、ハッシュ値を得ます
    2. ハッシュ値をパスワードファイルに記録されたハッシュ値と比較します
    3. 同じであればパスワードが正しいと判断できます

メリット:漏えい対策になる

パスワードファイルには、ハッシュ値のみが記録されています。
不可逆関数の特徴で、ハッシュ値からは元のパスワードがわかりません。
このため、パスワードファイルが漏えいしても、パスワードの安全を確保できます。
上記の手順どおりにすればログインもできますから、運用上も問題はありません

デメリット:パスワードを忘れても通知できない

漏えい対策のデメリットです。
利用者が、パスワードを忘れたと問い合わせても、運営側もパスワードがわかりません。
パスワードを教えることができないので、「新規のパスワードを設定する方法を用意する」など、別の運用方法を用意しておく必要があります。

この部分は、復号すればパスワードがわかる暗号化した場合のデメリットです。
暗号化の場合、暗号が解読されてしまうと漏えいするので、漏えい対策としては、こちらの方が強固になります。
そのあたりも含めて、導入方法は検討しないといけません。

次回は、最終回の「攻撃検知」のお話です。

タグ:, , , , , , ,


広告枠・・・広告やリンク先の保証はしません

参考記事(一部広告含む)


このページの記事についてちょっと質問!