要約
認証プロトコルとは、コンピューターシステムが、ユーザーが本人であることを検証するために使用する標準化された方式です。ここでは、KerberosやLightweight Directory Access Protocol(LDAP)から、Open Authorization(OAuth)2.0、Security Assertion Markup Language(SAML)、Remote Authentication Dial-In User Service(RADIUS)まで、10種類の一般的なプロトコルを取り上げます。それぞれに固有の長所とトレードオフがあります。完全に確実なプロトコルというものは存在しないため、適切なプロトコルを選択するには、アプリケーションの機密性、既存のインフラストラクチャ、実装の労力、長期的なスケーラビリティを比較検討する必要があります。
認証プロトコルがシステムを保護する仕組み
認証とは、ユーザーが本人の主張どおりの人物であることを確認するプロセスです。認証プロトコルは、そのタスクを実行するために使用する方法です。
認証プロトコルは複数ありますが、絶対的に確実なものはありません。ハッキングやデータ窃取のリスクを軽減するためには、方法を慎重に選択する必要があります。
認証プロトコルとは?
認証プロトコルを使用すると、受信側(サーバーなど)が別の当事者(モバイルデバイスを使用してログインするユーザーなど)のアイデンティティを検証できます。ほとんどすべてのコンピューターシステムは、ユーザーを検証するために何らかのネットワーク認証を使用しています。
重要な情報が電子的に保存されるようになり、ハッカーの窃取スキルが向上するのに伴って、認証の重要性が増しています。認証がなければ、損失は拡大していくでしょう。たとえば、Deloitteは2017年にデータ侵害を受け、クライアントのメール(政府機関に関連するものを含む)が漏えいしました。認証を使用しても、情報の安全性を完璧に保つことはできないかもしれませんが、窃取を困難にできる可能性があります。ハッカーは、サーバーに侵入するのが難しすぎると判断すれば、別のターゲットに移る可能性があります。
最も一般的な認証プロトコルの種類は何ですか?
IT管理者は、さまざまなオプションを利用できます。
| プロトコル | フルネーム | 仕組み/主なユースケース |
|---|---|---|
| Kerberos | Kerberos | 一元管理された鍵配布センターの共通鍵を使用します。Windows環境で一般的に利用されています。 |
| LDAP | Lightweight Directory Access Protocol | ディレクトリデータ(ユーザー名、パスワード、メールアドレスなど)にアクセスし、維持するための、オープンでベンダーに依存しないプロトコルです。 |
| OAuth 2.0 | Open Authorization 2.0 | アプリケーションが認証情報を共有することなくユーザーに代わってリソースを取得できるようにし、クロスサイトログインを可能にします。 |
| RADIUS | リモート認証ダイヤルインユーザーサービス | データベースと照合して、ユーザー名とパスワードを検証します。 |
| SAML | Security Assertion Markup Language | アイデンティティプロバイダーとサービスプロバイダーの間で認証データを交換するXMLベースのプロトコルです。 |
| CHAP | チャレンジハンドシェイク認証プロトコル | セッション中にユーザーを定期的に再認証します。チャレンジは毎回異なります。 |
| DIAMETER | DIAMETER | 認証メッセージとアカウンティングメッセージのためのフレームワーク。RADIUSを改良したものです。 |
| EAP | 拡張認証プロトコル | 無線ネットワークやポイントツーポイント接続で使用されます。 |
| PAP | パスワード認証プロトコル | ユーザーがユーザー名とパスワードを送信すると、システムがデータベースの情報と照合します。 |
| TACACS | ターミナルアクセスコントローラーアクセス制御システム | IPベースの認証を有効にします。以降のバージョンには暗号化が含まれます。 |
ここではその一部を紹介しますが、他にも多くのオプションがあります。
最も一般的な5つの認証プロトコル
企業が使用する最も一般的な5つの認証方法は次のとおりです。
- Kerberos:Windows環境で作業する場合に使用するプロトコルです。システムは、一元化されたキー配布センターから取得される対称キーに依存します。Kerberosは高いレベルの保護を提供しますが、完璧ではありません。たとえば、2020年には、システムの更新後にKerberosが動作を停止するというイベントが発生しました。
- Lightweight Directory Access Protocol(LDAP):最近のブログで説明したように、企業はユーザー名、パスワード、メールアドレス、プリンター接続、その他の静的データをディレクトリに保存します。LDAPは、そのデータへのアクセスと維持のための、ベンダー中立的なオープンなアプリケーションプロトコルです。
- OAuth 2.0:別のサイト(Facebookなど)からのログインを使用して新しいサイト(The New York Timesなど)にアクセスするときに使用されます。アプリケーションがユーザーに代わってリソースを取得するため、ユーザーは資格情報を共有する必要はありません。GitHubで2020年に発生したように、このシステムもハッキングされる可能性があります。
- RADIUS(リモート認証ダイヤルインユーザーサービス):ユーザー名とパスワードを入力すると、RADIUSシステムはその情報をデータベース内のデータに照合して検証します。
- Security Assertion Markup Language(SAML):このExtensible Markup Language(XML)ベースのプロトコルは、アイデンティティプロバイダー(IdP)とサービスプロバイダー間で認証データを交換します。
知っておくべき5つの追加認証プロトコル
さらに、以下の5タイプも知っておくべき認証プロトコルです。
- CHAP(チャレンジハンドシェイク認証プロトコル):このシステムは、同じセッション内であっても、定期的にユーザーを再認証します。各チャレンジは、前のバージョンとは異なります。
- DIAMETER:認証メッセージとアカウンティングメッセージのフレームワークを提供します。これはRADIUSから派生したプロトコルであり、RADIUSを改善したものと考えられています。
- EAP(拡張認証プロトコル):ワイヤレスネットワークとポイントツーポイント接続は、多くの場合にEAPに依存しています。
- PAP(パスワード認証プロトコル):ユーザーがユーザー名とパスワードを送信し、システムがこれらをデータベースに照合します。
- Terminal Access Controller Access-Control System(TACACS):このシステムを介して、インターネットプロトコル(IP)ベースの認証を実行します。このプロトコルのそれ以降のバージョンには暗号化が含まれています。
認証プロトコルの選択方法
多くのオプションの中から自社に適切なバージョンを選択するには、どうしたらよいのでしょうか。
プロトコルを選択する前に評価すべき重要な要素とは何でしょうか?
自社について、以下の点を考えてください。
- アプリケーションのニーズ。どのシステム/リソースがアクセスを必要とするか?それらの重要度や機密度はどの程度か?
- インフラストラクチャ。既存のシステムをオーバーホールせずに使用開始できるプロトコルはどれか?
- 労力:開始する前に、どのくらいのトレーニングまたはプログラミングが必要か?
- 将来。システムは自社の成長や変化に対応できるか?
よくある質問(FAQ)
完全に安全な認証プロトコルは存在するのでしょうか?
完璧なセキュリティを実現できる認証プロトコルはありません。強力なプロトコルによって不正アクセスのリスクは大幅に軽減されますが、KerberosやOAuth 2.0などが影響を受けた実際の侵害が示すように、強い意志を持つ攻撃者は依然として脆弱性を見つけ出す可能性があります。攻撃者がより容易な標的に移行するほど、不正アクセスを困難にすることが目的です。
RADIUSとDIAMETERの違いは何ですか?
どちらのプロトコルも認証とアカウンティングを処理しますが、DIAMETERはRADIUSを直接改良したものとして開発されました。認証メッセージを管理するためのより堅牢なフレームワークを提供し、一般的に2つの選択肢のうち、より新しいものと見なされています。
組織がOAuth 2.0ではなくSAMLを使用すべきなのはどのような場合ですか?
SAMLは、アイデンティティプロバイダーとサービスプロバイダーの間で認証データを交換するために設計されたXMLベースのプロトコルであり、エンタープライズのシングルサインオン(SSO)シナリオに適しています。これに対し、OAuth 2.0は、アプリケーションがさまざまなプラットフォームにまたがってユーザーの代わりにリソースにアクセスする必要がある場合に一般的に使用されます。たとえば、ソーシャルメディアのログイン情報を使用してサードパーティのWebサイトにアクセスする場合などです。
認証プロトコルを選択する際に考慮すべき要素とは何ですか?
この記事では、4つの重要な考慮事項について概説しています。アクセスを必要とするシステムやリソースの機密性、既存のインフラストラクチャとのプロトコルの互換性、実装に必要なトレーニングやプログラミングの労力のレベル、そして組織の成長に合わせてプロトコルをスケールできるかどうかです。
エンタープライズ環境でKerberosが一般的に選ばれる理由は何ですか?
Kerberosは、一元化された鍵配布センターを通じて配布される共通鍵に依存し、強力な認証保護を提供するため、Windows環境で広く使用されています。ただし、リスクがないわけではありません。2020年のセキュリティアップデートでは、一部のWindowsシステムでKerberosが機能しなくなるという問題が発生し、展開前にアップデートをテストすることの重要性が浮き彫りになりました。
CHAPとは何ですか?また、なぜシンプルなプロトコルよりも強力なセッションセキュリティを提供するのですか?
チャレンジハンドシェイク認証プロトコル(CHAP)は、1回限りのログインチェックにとどまらず、アクティブなセッション中に定期的にユーザーを再認証します。各チャレンジは一意であり、先行するチャレンジとは異なるため、攻撃者が窃取した認証情報をリプレイしてアクセスすることはより困難になります。
参考文献
When Two-Factor Authentication Fails:Rethinking the Approach to Identity Security(2018年2月、Forbes)
Windows Kerberos Authentication Breaks Due to Security Updates(2020年11月、Bleeping Computer)
Hackers Stole GitHub and GitLab OAuth Tokens From Git Analytics Firm Waydev(2020年7月、ZDNet)