認証と許可

概念として明確に区別できていなかったので備忘録として。

Webなどでアクセスを制御するとき、2つのプロセスが存在する。

  1. 認証(ユーザーが誰かを確認する)
  2. 許可(そのユーザーがアクセスを許可されているかどうかを確認する)

英語でも、「Authentication(認証)」と「Authorization(許可)」とに分かれている。たまにモジュール名やメソッド名で “auth” という省略語を使ってたけど、これじゃどっちを指してるのか明確ではないですね。気をつけよう。

ちなみに、認証と許可は別物だけど、どちらで失敗してもエラーは区別しないほうがいい場合がある。これは、攻撃者に、認証で失敗したのか、あるいは認証は成功した(IDとパスワードはひとまず合っている)けど許可で失敗したのかを悟られないようにするためだそうな。なるほどね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>