認証と承認の違い
2024年6月28日
ブログを読む

認証と承認は、組織のIDおよびアクセス管理(IAM)システムにおいて関連してはいるものの、異なるプロセスです。認証はユーザーの身元を確認します。承認により、ユーザーにシステム・リソースへの適切なレベルのアクセス権が付与されます。

認証プロセスは、ユーザーが本人であることを証明するために提示するパスワードや指紋スキャンなどの資格情報に依存します。

承認プロセスは、特定のリソースまたはネットワーク内で各ユーザーが実行できる操作を概説するユーザー権限に依存します。例えば、ファイル・システムの権限によって、ユーザーがファイルを作成、読み取り、更新、または削除できるかどうかが決まります。

認証および承認プロセスは、デバイス、自動化されたワークロード、Webアプリケーションなど、人間のユーザーと非人間のユーザーの両方に適用されます。単一のIAMシステムが認証と承認の両方を処理する場合もあれば、連携して動作する別々のシステムによってプロセスが処理される場合もあります。

認証は通常、認可の前提条件です。システムは、ユーザーに何かへのアクセスを許可する前に、そのユーザーが誰であるかを認識する必要があります。

ハッカーが有効なユーザー・アカウントを乗っ取り、アクセス権を悪用するIDベースの攻撃が増加しています。IBM® X-Force Threat Intelligence Indexによると、これらの攻撃は 脅威アクターがネットワークに侵入する最も一般的な方法であり、サイバー攻撃全体の30%を占めています。

認証と承認は連携して、安全なアクセス制御を実施し、データ侵害を阻止します。強力な認証プロセスにより、ハッカーがユーザー・アカウントを乗っ取ることが難しくなります。また、強力な認証により、ハッカーがそれらのアカウントを使って及ぼす損害を制限できます。

認証を理解する

認証の仕組み

認証は「authn」と略されることもあり、ユーザー認証情報(認証要素とも呼ばれる)の交換に基づいています。認証要素は、ユーザーの身元を証明する証拠です。

ユーザーがシステムに初めて登録するときに、一連の認証要素を確立します。ユーザーがログインすると、これらの要素が表示されます。システムは、提示された要因をファイル上の要因と照合します。一致する場合、システムはユーザーが本人であると信頼します。

一般的な認証要素の種類は次のとおりです。

  • 知識要素:パスワード、PIN、セキュリティーの質問に対する回答など、ユーザーのみが知っている情報。
  • 所有要素:SMSテキスト・メッセージを通じて個人の携帯電話に送信されるワンタイムPIN(OTP)や物理的なセキュリティー・トークンなど、ユーザーだけが所有するもの。
  • 固有の要素:顔認識や指紋スキャンなどの生体認証。

個々のアプリケーションやリソースには独自の認証システムを設定できます。多くの組織では、シングル・サインオン(SSO)ソリューションなどの1つの統合システムを使用しており、ユーザーは1回の認証で安全なドメイン内の複数のリソースにアクセスできます。

一般的な認証標準には、Security Assertion Markup Language(SAML)OpenID Connect(OIDC)が含まれます。SAMLはXMLメッセージを使用してシステム間で認証情報を共有しますが、OIDCは「IDトークン」と呼ばれるJSON Webトークン(JWT)を使用します。

認証の種類

  • 単一要素認証(SFA)では、ユーザーの身元を証明するために1つの認証要素が必要です。SNSサイトにログインするためにユーザー名とパスワードを入力することは、SFAの典型的な例です。
  • 多要素認証(MFA)では、パスワード(知識要素)と指紋スキャン(固有要素)など、2つの異なるタイプの認証要素が少なくとも2つ必要です。
  • 2要素認証(2FA)は、正確に2つの要素を必要とするMFAの一タイプです。ほとんどのインターネット・ユーザーは、銀行アプリケーションでパスワードとユーザーの携帯電話に送信されるワンタイム・コードの両方が要求される場合など、2FAを経験したことがあります。
  • パスワードレス認証方式では、パスワードや知識要素は使用されません。パスワードレス・システムは、最も盗みやすい知識要素を狙う認証情報窃盗犯に対する防御策として人気が高まっています。
  • 適応型認証システムは、人工知能機械学習を使用して、ユーザーの行動のリスクに基づいて認証要件を調整します。例えば、機密データにアクセスしようとするユーザーは、システムが検証する前に複数の認証要素を入力する必要がある場合があります。

IBMのIDおよびセキュリティーの専門家が、IAMの取り組みを合理化し、ハイブリッド クラウド環境全体でソリューションを管理し、ガバナンス・ワークフローを変革するためにどのように役立つかを説明します。

認証の例

  • 指紋スキャンとPINコードを使ってスマートフォンのロックを解除する。
  • 新しい銀行口座を開設するためのIDを表示する。
  • Webブラウザーは、デジタル証明書をチェックしてWebサイトが正当であることを確認する。
  • アプリケーションは、行うすべての呼び出しに秘密のAPIキーを含めることで、アプリケーション・プログラミング・インターフェース(API)に対して自身を検証します。
承認を理解する

承認の仕組み

承認は「authz」と略されることもあり、ユーザーの権限に基づいて行われます。権限とは、ユーザーがシステム内で何にアクセスでき、そのアクセスを使用して何ができるかを詳細に規定するポリシーです。

通常、管理者とセキュリティー・リーダーがユーザー権限を定義し、それが承認システムによって適用されます。ユーザーがリソースにアクセスし、またはアクションを実行しようとすると、承認システムは続行を許可する前にユーザーの権限を確認します。

顧客記録を含む機密データベースを考えてみましょう。承認により、ユーザーがこのデータベースを表示できるかどうかが決まります。表示できる場合は、承認がデータベース内で実行できる操作、つまり、エントリーの読み取りのみが可能か、それともエントリーの作成、削除、更新も可能かなども決まります。

アクセス・トークンを使用してユーザーに権限を委任するOAuth 2.0は、一般的な認証プロトコルの一例です。「OAuth」を使用すると、アプリケーション間でデータを共有できます。例えば、OAuthを使用すると、SNSサイトはユーザーの同意があれば、ユーザーのEメール連絡先をスキャンして、ユーザーが知っている可能性のある人物を探すことができます。

承認の種類

  • ロールベースのアクセス制御(RBAC)方式では、ユーザーのロールに基づいてアクセス権限が決定されます。例えば、ジュニア・レベルのセキュリティー・アナリストはファイアウォールの構成を表示することはできても変更することはできない一方、ネットワーク・セキュリティーの責任者は完全な管理アクセス権を持つ場合があります。
  • 属性ベースのアクセス制御(ABAC)方式では、ユーザーの名前、リソースの種類、時刻など、ユーザー、オブジェクト、アクションの属性を使用してアクセス・レベルを決定します。ユーザーがリソースにアクセスしようとすると、ABACシステムは関連するすべての属性を分析し、事前に定義された特定の基準を満たす場合にのみアクセスを許可します。例えば、ABACシステムでは、ユーザーは勤務時間中にのみ、また一定の役職に就いている場合にのみ機密データにアクセスできる場合があります。
  • 強制アクセス制御(MAC)システムは、すべてのユーザーに対して集中的に定義されたアクセス制御ポリシーを適用します。MACシステムはRBACやABACよりも粒度が低く、多くの場合アクセス権は設定されたクリアランス・レベルまたは信頼スコアに基づいて付与されています。多くのオペレーティング・システムで、機密性の高いシステム・リソースへのプログラム・アクセスを制御するためにMACが使用されています。
  • 任意アクセス制御(DAC)システムを使用すると、リソースの所有者はそれらのリソースに対して独自のアクセス制御ルールを設定できます。DACは、MACの包括的なポリシーよりも柔軟性があります。

承認の例

  • ユーザーが自分のメール・アカウントにログインすると、自分のメールのみが表示されます。他の人のメッセージを閲覧する権限はありません。
  • 医療記録システムでは、患者のデータは患者が明示的に同意した医療提供者のみが閲覧できます。
  • ユーザーが共有ファイル・システムにドキュメントを作成します。アクセス権限を「読み取り専用」に設定し、他のユーザーがドキュメントを閲覧することはできても編集できないようにします。
  • ノートPCのオペレーティング・システムは、不明なプログラムによるシステム設定の変更を防ぎます。
認証と承認が連携してネットワークを保護する仕組み

ユーザー認証と承認は、機密情報とネットワーク・リソースを 内部脅威や外部の攻撃者から保護する上で補完的な役割を果たします。つまり、認証は組織がユーザー・アカウントを保護するのに役立ち、承認はそれらのアカウントがアクセスできるシステムを保護するのに役立ちます。

 

IDおよびアクセス管理の基盤を提供する

包括的なIDおよびアクセス管理(IAM)システムは、ユーザー・アクティビティーを追跡し、ネットワーク資産への不正アクセスをブロックし、適切なユーザーのみが適切なリソースにアクセスできるようにきめ細かい権限を適用するのに役立ちます。

認証と承認は、意味のあるアクセス制御を実施するために組織が答える必要のある2つの重要な質問に対処します。

  • あなたは誰ですか。(認証)
  • このシステムで何が許可されていますか。(承認)

組織は、適切なレベルのアクセスを有効にする前に、ユーザーが誰であるかを把握する必要があります。例えば、ネットワーク管理者がログインする場合、そのユーザーは適切な認証要素を入力して管理者であることを証明する必要があります。そうして初めて、IAMシステムは、そのユーザーが他のユーザーを追加したり削除したりするなどの管理アクションを実行することを許可します。

高度なサイバー攻撃との戦い

組織のセキュリティー管理がより効果的になるにつれ、ユーザー・アカウントを盗み、権限を悪用して大混乱を引き起こす攻撃者が増えています。IBM X-Force Threat Intelligence Indexによると、IDベースの攻撃の頻度は2022年から2023年の間に71%も増加しました。

サイバー犯罪者には、こうした攻撃を実行するのは簡単です。ハッカーは、ブルートフォース攻撃によってパスワードを解読したり、情報窃盗型マルウェア(マルウェア)を使用したり、他のハッカーから認証情報を購入したりする可能性があります。実際、X-Force Threat Intelligence Indexによると、ダークウェブで販売されているクラウド資産の90%はクラウド・アカウントの認証情報で占められています。

フィッシングは、認証情報の盗難によく使われるもう1つの手口です。また、生成AIツールにより、ハッカーはより短時間でより効果的なフィッシング攻撃を開発できるようになりました。

認証と承認は基本的なセキュリティー対策と考えられているかもしれませんが、AIを利用した攻撃を含む個人情報の盗難やアカウントの不正使用に対する重要な防御策です。

認証では、パスワードを生体認証などの解読が困難な他の要素に置き換えたり強化したりすることで、アカウントの盗難を困難にすることができます。

きめ細かい承認システムでは、ユーザーの権限を必要なリソースとアクションのみに制限することで、攻撃の横移動を抑制できます。これにより、悪意のあるハッカーや内部脅威がアクセス権を悪用して引き起こす可能性のある損害を制限することができます。

IBM® Security Verifyを使用すると、組織は基本的な認証と許可を超えた機能を実現できます。Verifyは、パスワードレスおよび多要素認証オプションを使用してアカウントを保護し、きめ細かなコンテキスト・アクセス・ポリシーを使用してアプリケーションを制御するのに役立ちます。

著者
Matthew Kosinski Enterprise Technology Writer