「ダイジェスト認証」を含む日記 RSS

はてなキーワード: ダイジェスト認証とは

2022-03-17

そもそもハッシュ化の思想を分かってない

暗号化っていうのは

「鍵を知っている人だけが情報を得ることができる」

っていう技術で、ハッシュ化っていうのは

情報の正しさを照合できる」

っていう技術

なので

パスワード暗号化していたら大丈夫

っていうのは嘘で

パスワード暗号化した鍵を大切に保管しているか大丈夫

が正しい

平文を暗号化してサーバに保存している場合は、結局は鍵をサーバに預けているので、信頼情報ユーザの手を離れてしまっている

「めちゃくちゃ厳重に保管しています!!!

って言われても家の鍵を大家に預けているのと同じ状態で家の中に100億円置いてるような人だと信用に足らない

じゃぁ例えばユーザにその鍵を預けておいて、認証の度に渡すようにしよう!なんていうことをやっても

鍵はデジタル情報から簡単コピー可能(追跡不可能)なので一度でも渡したら信用価値ゼロになる

ちなみにこれはハッシュ化でも同じ話で、ハッシュ値をサーバに保存していても平文を送りつけてハッシュ値をサーバ計算していたら意味が無い

ユーザ側でハッシュ値を計算して送りつける方法なら多少は意味があるけれど、結局は鍵がハッシュ値に変わっただけなので通信傍受されたらダメ

なのでダイジェスト認証っていう仕組みを使うので興味がある人は調べて欲しい

ということで、暗号化をしても結局は鍵の扱いに困ることになる

ログインで知りたいのはパスワードのものではなくて「パスワードを知っているかどうか」だけ

なので、ハッシュ化を使って「パスワードを知っていたらハッシュ値も当然知ってるよね・・・?」っていう感じの認証を行う

ここで大事なのはハッシュ化っていうのは秘匿情報ユーザの側にあってサーバ側に渡していない、ということ

なのでプログラムをこねくり回しても原理的には元のパスワードは分からないしそれが基本

そこに「でも単純なパスワード使ってる人がいるかも?」「使い回している人がいるかも?」っていう悪知恵で攻撃してくる人がいるので

ソルトとかペッパーかい小手先防衛してるっていうだけ

あと、秘匿情報ユーザ側にある、といってもどうせスマホとかPCに保存されているのでそっちをクラックされると漏洩する

なので基本的に鍵は脳内に保存した文字列生体認証、もしくはデバイス認証を使う

この辺はパスワードマネージャーを使っていてもマスターパスワード必要になるのと同じ

ここまでがセキュリティ講習の1日目の午前中の話

 
ログイン ユーザー登録
ようこそ ゲスト さん