Webサイトを快適にご利用いただくためには、IE11以降、Chrome、Firefox、またはSafariをご使用ください。

認証と承認

認証と承認は、管理者がシステムや情報を保護するために使用する、2つの重要な情報セキュリティプロセスです。認証は、ユーザまたはサービスのIDを検証し、承認は、それらのアクセス権を決定します。2つの用語は同じように聞こえますが、アプリケーションとデータを保護するために、別個の、しかし等しく重要な役割を果たします。その違いを理解することは重要です。この2つを組み合わせることで、システムのセキュリティが決定します。認証と承認を正しく構成しない限り、安全なソリューションにはなりません。

認証(AuthN)とは?

認証(AuthN)は、誰かまたは何かが、主張する通りのものであることを確認するプロセスです。テクノロジーシステムは一般的に、何らかの形式の認証を使用してアプリケーションやデータへのアクセスを保護しています。例えば、ユーザがオンラインのサイトやサービスにアクセスする必要がある場合、通常、ユーザ名とパスワードの入力が求められます。その舞台裏では、入力されたユーザ名とパスワードが、データベースにあるレコードと比較されます。入力した情報が一致すると、システムは有効なユーザであると見なし、アクセスを許可します。この例でのシステム認証は、正しいユーザ名とパスワードを知っているのが当人だけであることを前提としています。したがって、本人のみが知る情報の原則を使用して、ユーザを認証します。

認証の目的

認証の目的は、誰かまたは何かが、主張する通りの人物または物であるかどうかを検証することです。認証にはさまざまな形式があります。例えば、美術界には、絵画や彫刻が特定の作家の作品であることを確認するためのプロセスや機関があります。同様に、政府は通貨の偽造を防ぐために、さまざまな認証技術を使用しています。通常、認証は価値のあるアイテムを保護します。情報化時代では、システムやデータが保護の対象になります。

ID認証とは?

ID認証はユーザまたはサービスのIDを検証するプロセスです。この情報に基づいて、システムはユーザに適切なアクセスを提供します。例えば、コーヒーショップで働いているLuciaとRahulという2人の人物がいるとします。Luciaはコーヒーショップの店長で、Rahulはバリスタです。コーヒーショップでは、ウェイターやバリスタが準備のため注文を入力できるPOS(販売時点管理)システムを使用しています。この例では、POSは何らかのプロセスを使用して、従業員にシステムへのアクセスを許可する前にそのIDを確認します。例えば、ユーザ名とパスワードの入力を求めたり、指紋認証リーダーで親指を読み取らせたりするなどです。コーヒーショップはPOSへのアクセスを保護する必要があるので、システムを使用する従業員は、認証プロセスを介して本人確認をする必要があります。

一般的な認証の種類

システムは、ユーザを認証するためにさまざまなメカニズムを使用できます。一般的に、認証プロセスは本人確認をするために、本人の知識、所有物、身体的特徴を使用します。

パスワードとセキュリティ質問は、本人の知識のカテゴリに入る認証要素です。パスワードや特定のセキュリティ質問への答えは本人しか知らないはずなので、システムはこの仮定に基づいてアクセスを許可します。

次の一般的な種類の認証要素は、本人の所有物です。USBセキュリティトークンや携帯電話などの物理的なデバイスは、このカテゴリに分類されます。例えば、システムにアクセスすると、システムはSMSまたはアプリを介してワンタイムPIN(OTP)を送信します。それはその人が所有するデバイスであるため、本人であると確認できます。

最後の種類の認証要素は、本人の身体的特徴を使用します。生体認証メカニズムは、このカテゴリに入ります。指紋などの個人の身体的な特徴は固有なので、この要素を使用する本人確認は安全な認証メカニズムです。

承認(AuthZ)とは?

承認は、ユーザまたはサービスのアクセスレベルを決定するセキュリティプロセスです。テクノロジーでは、承認を使用して、ユーザまたはサービスに、データへのアクセスまたは特定の処理の実行を許可します。コーヒーショップの例に戻ると、RahulとLuciaはコーヒーショップで異なる役割を担っています。Rahulはバリスタなので、注文の入力とその表示のみを行います。一方、店長であるLuciaは、1日の売上合計にもアクセスできます。RahulとLuciaのコーヒーショップでの仕事は異なるため、システムは検証済みのIDを使用して、それぞれに個別の許可を与えます。ここで、認証と承認の違いに注意することが重要です。認証はアクセスを許可する前にユーザ(Lucia)を検証し、承認はアクセスを許可された後にユーザができることを決定します(売上情報を見る)。

一般的な承認の種類

承認システムは、一般的なテクノロジー環境においてさまざまな形で存在します。例えば、アクセス制御リスト(ACL)は、どのユーザまたはシステムが特定のデジタル環境にアクセスできるかを決定します。このアクセス制御は、ユーザの承認レベルに基づいて許可/拒否のルールを適用することで実現します。例えば、システムには通常、一般ユーザとスーパーユーザ、または管理者がいます。一般ユーザがセキュリティに影響を与える変更を行おうとすると、ACLはアクセスを拒否する場合があります。一方、管理者にはセキュリティを変更する権限があるので、ACLはそのような変更の実行を許可します。

もう1つの一般的な承認は、データへのアクセスです。どんな企業環境でも、通常、機密レベルの異なるデータがあります。例えば、会社のWebサイトにある公開データや、従業員しかアクセスできない社内データ、少人数しかアクセスできない機密データがあることがあります。この例では、承認によって、どのユーザがさまざまな種類の情報にアクセスできるかが決定されます。

認証と承認の違い

前述したように、認証と承認は同じように聞こえるかもしれませんが、それぞれがシステムとデータを保護するために異なる役割を果たします。残念ながら、どちらもシステムアクセスを指すことから、これらの用語は同じ意味で使用されることがよくあります。しかし、これらは別個のプロセスです。簡単に言うと、1つはアクセスを許可する前にユーザまたはサービスのIDを検証することであり、もう1つはユーザまたはサービスが、アクセスを許可された後に何ができるかを決定することです。

2つの用語の違いを表すために、簡単な例を使ってみましょう。例えば、友人の家を訪ねることにしたとします。到着してドアをノックすると、友人がドアを開けてくれました。友人はあなたを確認して(認証)、挨拶します。友人はあなたを認証したので、安心してあなたを家に招き入れます。ただし、2人の関係に基づいて、あなたができることとできないことがあります(承認)。例えば、あなたはキッチンに入ることはできますが、書斎に入ることはできません。言い換えると、キッチンに入ることは承認されていますが、書斎にアクセスすることは禁じられています。

認証と承認の類似点

認証と承認は、アクセスを提供する、基礎的なプロセスの一部分という意味で類似しています。さらにこの2つの用語には、どちらも「認」という言葉が入っているために、情報セキュリティの世界で混同されることがよくあります。認証と承認は、どちらもIDを利用するという点でも似ています。1つはアクセスを許可する前にIDを検証し、もう1つはこの検証済みのIDを使用してアクセスを制御します。

クラウドコンピューティングにおける認証と承認

セキュリティは、どんなクラウド・コンピューティング・ソリューションにとっても重要なコンポーネントです。これらのサービスはすべてを同じプラットフォームで実行する共有アクセスモデルを提供するので、お客様のシステムとデータを分離して、保護する必要があります。クラウド・サービス・プロバイダは、認証と承認を使用して、このセキュリティ目標を達成します。実際、クラウド・コンピューティング・プラットフォームは、認証と承認なしに、共有リソースモデルを介して規模の経済性を提供することができません。

ユーザが特定のクラウドサービスにアクセスしようとすると、システムは何らかの形式の認証を求めます。例えば、ユーザ名とパスワードの入力を求めたり、アプリで通知を受け取るといった別のID検証要素を使用したりします。ユーザが正常に認証されると、クラウドプラットフォームは承認を使用して、そのユーザが自分のシステムとデータのみにアクセスできるようにします。認証と承認がなければ、同じプラットフォーム上でお客様の環境を分離することは不可能です。

認証が先か、承認が先か?

認証と承認はどちらもIDに依存しています。ユーザまたはサービスを特定する前に承認することはできないので、認証は常に承認の前に行われます。この点を説明するために、もう一度コーヒーショップの例に戻りましょう。

前述の通り、バリスタは注文の入力か表示しかできませんが、店長は1日の売上データにもアクセスできます。どのユーザがシステムにアクセスしているかをPOSシステムが特定できなければ、正しいアクセスレベルを提供できません。認証は、承認がアクセスを制御するために必要な検証済みのIDを提供します。RahulまたはLuciaがシステムにサインインすると、アプリケーションは誰がサインインし、そのIDにどの役割を割り当てる必要があるかを認識します。

アクセス制御と認証

アクセス制御と承認は同じ意味で使用されることがよくあります。多くの承認ポリシーはアクセス制御の一部を形成しますが、アクセス制御は承認のコンポーネントです。アクセス制御は承認プロセスを使用して、システムまたはデータへのアクセスを許可または拒否します。つまり、承認はユーザまたはサービスが何にアクセスできるかに関するポリシーを定義します。アクセス制御はこれらのポリシーを強制します。

認証とアクセス制御の比較には、認証と承認の比較がそのまま適用されます。認証はユーザのIDを検証し、アクセス制御はこのIDを使用してアクセスを許可または拒否します。