No.37 PPPなどで利用される認証方式の一つ。
パスワードを原文(平文)のまま送るのではなく、ハッシュ化して送ることで伝送路上での盗み見、漏洩を防止する。
(***)ではまずサーバ側からクライアント(ユーザ)側へ「チャレンジ」(challenge)と呼ばれるランダムな短いデータを送信する。
クライアントはパスワードとチャレンジを組み合わせたデータを元に、「ハッシュ関数」(一方向関数)と呼ばれる特殊な算出手順により元のデータに逆算できない「ハッシュ値」(hashed value)と呼ばれるデータを算出、これをID(ユーザ名)と共にサーバに送り返す。
サーバ側ではIDに対応付けられた手元に保管されているパスワードを参照し、同様にハッシュ値を算出する。
これが送られてきたハッシュ値と一致すれば認証成功、一致しなければ認証失敗となる。
悪意の第三者が通信を盗聴しても手に入るのはハッシュ値で、そこからパスワードを効率よく割り出すことはできない。
(***)による認証は通信開始時だけでなく通信中に何度も繰り返し異なるチャレンジによって行われ、クライアント側での「なりすまし」行為を防止する。
パスワードを原文(平文)のまま送るのではなく、ハッシュ化して送ることで伝送路上での盗み見、漏洩を防止する。
(***)ではまずサーバ側からクライアント(ユーザ)側へ「チャレンジ」(challenge)と呼ばれるランダムな短いデータを送信する。
クライアントはパスワードとチャレンジを組み合わせたデータを元に、「ハッシュ関数」(一方向関数)と呼ばれる特殊な算出手順により元のデータに逆算できない「ハッシュ値」(hashed value)と呼ばれるデータを算出、これをID(ユーザ名)と共にサーバに送り返す。
サーバ側ではIDに対応付けられた手元に保管されているパスワードを参照し、同様にハッシュ値を算出する。
これが送られてきたハッシュ値と一致すれば認証成功、一致しなければ認証失敗となる。
悪意の第三者が通信を盗聴しても手に入るのはハッシュ値で、そこからパスワードを効率よく割り出すことはできない。
(***)による認証は通信開始時だけでなく通信中に何度も繰り返し異なるチャレンジによって行われ、クライアント側での「なりすまし」行為を防止する。
⭕️
❌
💾
🖊 | ☑️ |
⭕️ | [[ AnswerCalc[0] ]] % | A | [[ AnswerCalc[1] ]] |
💾
✔️
[[ d.CommentTxt ]] |
< | > |
🥇 |