認証は、サイバーセキュリティの一要素であり、その最前線を担う重要なプロセスで、ユーザーがその本人自身かどうかを判断します。その後の段階である承認プロセスと混乱しがちですが、認証はデジタルアイデンティティをを確認する手段です。それとは別に、ユーザーは遂行しようとしているタスクやアクセスに必要な権限レベルを所有しています。
パスワードから指紋認証に至るまで、様々な認証テクノロジーを活用して、ユーザーのアクセスを許可する前にそのアイデンティティを確認できます。これにより、セキュリティ対策が強化され、情報漏洩などのセキュリティ侵害を阻止することが可能になります。一般には、いくつかの異なる認証方式を組み合わせ、潜在的な脅威に対応できるよう保護体制をさらに強化することが推奨されます。
認証方式の種類
認証は、権限のないユーザーによるデータベースやネットワークなどのリソースへのアクセスを阻止するための有効な手段です。多くの場合、「要素」と呼ばれる認証情報の検証カテゴリーを利用して、ユーザーのアイデンティティを確認します。ここでは、認証方式の例をいくつか示します。
単一要素(プライマリ)認証
単一要素認証は、最も一般的な従来型の認証手法ですが、セキュリティレベルは最も低く、単一の要素による認証だけでシステムへの完全なアクセスを取得できます。単一要素とは、ユーザー名とパスワード、暗証番号などのシンプルなコードです。単一要素認証システムはユーザーフレンドリーである一方、フィッシング詐欺やキーロギング、推測などによる攻撃を受けやすくなっています。その他の認証措置が講じられていないので、攻撃に対する脆弱性が高い認証手法であると言えます。
二要素認証(2FA)
二要素認証は、もう1つ要素を増やして本人確認を行うことで、セキュリティレベルを向上させます。ログインを試みている人物がユーザー本人であることを2段階で確認するため、セキュリティ強度が高まるのです。ユーザーは、プライマリ認証情報としての資格情報(前述したユーザー名とパスワードなど)を入力をした後に、2つ目の認証情報の入力を求められます。
一般に、2つ目の要素は正当なユーザーのみがアクセスでき、かつ該当システムとは無関係であるため、1つ目の要素よりも難易度が高くなります。例えば、認証アプリを利用したワンタイムパスワード、電話番号、デバイスを利用したプッシュ通知やSMSコード、指紋などの生体認証(Touch ID)、顔認証(Face ID)、音声認識などが挙げられます。
二要素認証の活用において、不正なユーザーが両方の要素情報を把握する可能性は低いので、システムやリソースのセキュリティ侵害リスクを最小限の抑えることができます。そのため、二要素認証の導入が進んでいますが、ユーザーの利便性を確保することが課題となっています。
シングルサインオン(SSO)
シングルサインオン(SSO)を使用すると、1つのアプリケーションにログインするだけで、その他の複数のアプリケーションにもアクセスできます。アプリケーションごとに複数の認証情報を保持する必要がないので、複数のセッションをまたいでシームレスなエクスペリエンスを実現するため、ユーザーの利便性も高まります。
企業は、メインのドメイン(理想的なのはIAMシステム)を決定し、リソース間でセキュアなシングルサインオン(SSO)連携を行うことで、シングルサインオンによる認証を確立できます。これにより、ドメイン監視によるユーザー認証が可能になり、ユーザーは、シングルサインオフを行ってセッションを終了することで、連携されているすべてのリソースやアプリケーションから正常にログアウトすることができます。
多要素認証(MFA)
多要素認証は、ユーザーの本人確認として、さらに追加でシステムとは無関係な要素の提示を要求するため、セキュリティレベルが高い認証方式です。二要素認証と同様に、生体情報、デバイスを活用した確認、追加のパスワード、場合によっては位置情報やユーザー行動情報(キーストロークパターンや入力速度など)といった要素を用いて、ユーザーのアイデンティティを確認します。二要素認証では2つの要素のみを利用するのに対し、多要素認証では、2つか3つの要素を組み合わせることができ、セッション間で要素の組み合わせを変更することも可能なので、推測または窃取しにくい要素を追加して、不正なユーザーによるアクセスを確実に阻止できます。
最も一般的な認証プロトコル
認証プロトコルとは、エンドポイント(ノートパソコン、デスクトップ、モバイルデバイス、サーバーなど)やシステム間の通信を実行したり、通信状況を確認するための規格です。ユーザーがアクセスするアプリケーションの数や種類が増えるほど、こうした規格やプロトコルも増加します。安全な事業運営と互換性の確保のためには、適切な認証プロトコルを選択することが不可欠です。ここでは、最もよく使用される認証プロトコルをいくつか示します。
パスワード認証プロトコル(PAP)
パスワード認証プロトコル(PAP)は一般的な認証プロトコルですが、暗号化通信に対応していないため、セキュリティレベルは最も低くなっています。基本的には定期的なログインプロセスであり、特定のシステムにアクセスしようとするユーザーにユーザー名とパスワードの入力を要求し、これらの認証情報を確認します。現在では、サーバーとデスクトップまたはリモートデバイス間の通信を実行する際の最後のオプションとして使用されています。
チャレンジハンドシェイク認証プロトコル(CHAP)
チャレンジハンドシェイク認証プロトコル(CHAP)は、「秘密情報」を3段階で交換することで、より高度な暗号化基準を使用してネットワークにアクセスしようとするユーザーの本人確認を行う認証プロトコルです。まず、ローカルルーター側がリモートホスト側に「チャレンジ値」を送信します。次に、ホスト側は受け取ったチャンレンジ値にユーザー名とパスワードを合わせて、ハッシュ関数「MD5」によって「レスポンス値」を算出し、返送します。ルーター側は、受け取ったレスポンス値(ハッシュ値)と手元にあるハッシュ値が一致することを確認し、一致すれば認証成功(ハンドシェイク)となり、一致しなければ認証失敗でアクセスを拒否します。PAPの認証は通信開始時のみ行われますが、ルーター側はセッション(通信)中に何度もチャレンジ値が送信されるため、PAPよりも高いセキュリティレベルを実現できます。
拡張認証プロトコル(EAP)
拡張認証プロトコル(EAP)は、ワンタイムパスワードからスマートカードに至るまで、様々な認証方式に対応しています。任意のアクセスポイントやリモートデバイスを使用して、ビルトイン暗号化による相互認証を実行できるため、無線LAN通信において最高水準のセキュリティを実現します。ユーザーをアクセスポイントに接続して、認証情報を要求し、認証サーバーを介してアイデンティティを確認します。その後、別のユーザーアイデンティティ情報を要求し、認証サーバーを介して確認します。認証プロセスで送信されるメッセージは、すべて暗号化されます。