楽水

人々の創造が自由に表現できる舞台づくり

IT

認証と認可についてわかりやすく解説

投稿日:2020年10月17日 更新日:


コンピュータやネットワークにおいて、認証と認可は似たような言葉ですが異なる概念です。
ここでは、認証と認可の違いについて以下の観点で解説します。

  • 認証とは
  • 認可とは
  • なぜ認証と認可を分けているのか

認証とは

認証は、通信する相手が正しいことを確認することです。
認証は、その方法によってCertificationとAuthenticationに分類されます。

Certification

Certificationは認証相手が認証場所に直接アクセスして行う認証のことです。
Certificationは主に次の目的で行わわれます。

  • コンピューターなどの利用対象を利用する際、認証相手にアクセスする権限がある事を確認すること
  • 認証相手を公開鍵などの電子データと対応させるなどAuthenticationの事前準備すること

また、コンピュータも含め実世界でのCertificationは主に次の方法で行われます。

知識

パスワードや個人識別番号 (PIN) など認証相手が何を知っているか(WHAT YOU KNOW)によって認証を行う方法です。
そのパスワードやPINを認証相手以外は知らないことが前提となります。

所有物

スマートカードやトークン(電子証明)など認証相手が何を持っているか(WHAT YOU HAVE)によって認証を行う方法です。
認証相手だけが必要なスマートカードやトークンを持っていることが前提となります。

生体

指紋や声など認証相手固有の身体情報(WHAT YOU ARE)によって認証を行う方法です。
バイオメトリック認証とも言われます。

Authentication

認証相手が認証場所に直接アクセスせずに遠隔地から電子的に行う認証の事です。
Authenticationの目的は、Certification同様、コンピューターを利用する際、認証相手にアクセスする権限がある事を確認することです。
しかし、Authenticationは電子的な行為なので、利用される対象もウェブアプリケーションやリモートサーバなど電子的なものになります。
Authenticationの方法ですが、何らかの電子データ(パスワードや公開鍵秘密鍵ペア)を用いて行われます。
したがって、事前に、Certificationを通して、認証相手と電子データとを対応づけておく必要があります。

認可とは

認可(Authorization)とは、コンピューターなどの利用対象(リソース)に対するアクセスを許可することです。
認可ですが、利用対象を所有する相手、あるいは、認可された相手から認可される必要があります。
代表的なものは、2012年にRFC(Request For Comments)により発行されたOAuth2.0です。
実世界でいうと、切符によって電車の利用が許可されるのも認可の一つです。

なぜ認証と認可を分けているのか

以上のように、認証と認可は別の概念として確立されています。
もちろん認証と認可を同時に行うこともできます。
それでは、なぜ、認証と認可を分けているのでしょうか。
先の切符の例で考えてみましょう。
Aさんが、ある電車に乗れる切符を買ってBさんに渡すと、Bさんは、その電車に乗ることができます。
この場合、電車に乗る相手を確認しているわけではありません。
コンピュータの場合でも、認証者のアクセス権限を別の者に委譲した方が便利な場合もあります。
このように、認証と認可を分離して使い分けた方が運用上便利なケースが多々あります。
そこで、認証された者だけがリソースに対するアクセスを認可されるのではなく、認証と認可を分けて運用するという考え方ができたのです。

以上、今回は認証と認可について解説しました。

-IT

執筆者:


  1. […] 、2012年にRFC(Request For Comments)として発行された、リソースに対するアクセス権限の認可(Authorization)を行うためのオープンスタンダードです。 リソースとはサーバーが保持するクセス […]

comment

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

関連記事

OAuth2.0認証の仕組みをわかりやすく解説

ここでは、OAuth2.0の仕組みを解説します。 OAuth2.0は、2012年にRFC(Request For Comments)として発行された、リソースに対するアクセス権限の認可(Authori …

アジャイル開発とは何か【わかりやすく解説】

最近、アジャイル開発という言葉が、大分、定着してきました。 しかし、全体的に、アジャイル開発の手法やツールなど技術的側面がクローズアップしているように思えます。 そのせいか、開発プロジェクトにアジャイ …

ブロックチェーンとは【わかりやすく解説】

2008年、サトシ・ナカモトと名乗るの人物が、Bitcoin: A Peer-to-Peer Electronic Cash Systemという論文をインターネット上に投稿しました。 その論文で、信頼 …

テクノロジーアーキテクチャ(TA)とは

エンタープライズアーキテクチャ(EA)とはという記事で、テクノロジーアーキテクチャ(Technology Architecture)とは、IT基盤の設計思想、および、基本構造を表すと書きました。 また …